From 7b475b0f908770dd5d7a535251b1a1ad61f39665 Mon Sep 17 00:00:00 2001 From: xmm15 Date: Sat, 15 Feb 2020 23:24:10 -0600 Subject: [PATCH] SCRN -> Screen, HolyC -> CosmiC --- src/0000Boot/0000Kernel.BIN.C | Bin 190432 -> 190448 bytes src/Apps/Psalmody/Help.DD | 4 +- src/Apps/Psalmody/Psalmody.CC | 2 +- src/Apps/Psalmody/PsalmodyDraw.CC | 6 +- src/Apps/Psalmody/PsalmodyMain.CC | 14 +- src/Compiler/CMain.CC | 2 +- src/Compiler/CMisc.CC | 4 +- src/Compiler/Compiler.BIN | Bin 194048 -> 194048 bytes src/Demo/AcctExample/PersonalNotes.DD | 6 +- src/Demo/AcctExample/TOS/TOSTheme.CC | Bin 30691 -> 30697 bytes src/Demo/Asm/AsmAndC1.CC | 2 +- src/Demo/Disk/BlkDevRep.CC | 2 +- src/Demo/Games/BigGuns.CC | Bin 6310 -> 6312 bytes src/Demo/Games/BlackDiamond.CC | Bin 62075 -> 62109 bytes src/Demo/Games/CastleFrankenstein.CC | 142 +++++++++---------- src/Demo/Games/CharDemo.CC | 18 +-- src/Demo/Games/DunGen.CC | 102 +++++++------- src/Demo/Games/Stadium/StadiumGen.CC | 6 +- src/Demo/Games/ZoneOut.CC | Bin 111752 -> 111774 bytes src/Demo/Graphics/SpritePlot.CC | Bin 1469 -> 1471 bytes src/Demo/Lectures/FixedPoint.CC | 4 +- src/Demo/Lectures/ScreenMemory.CC | 2 +- src/Demo/RegistryDemo.CC | 4 +- src/Doc/Asm.DD | 2 +- src/Doc/Charter.DD | 2 +- src/Doc/CmdLineOverview.DD | 2 +- src/Doc/{HolyC.DD => CosmiC.DD} | 4 +- src/Doc/D3.DD | 2 +- src/Doc/DebugOverview.DD | 4 +- src/Doc/DolDocOverview.DD | 16 +-- src/Doc/FAQ.DD | 4 +- src/Doc/Features.DD | 2 +- src/Doc/Glossary.DD | 16 +-- src/Doc/GuideLines.DD | 8 +- src/Doc/HelpIndex.DD | Bin 7072 -> 7077 bytes src/Doc/InFile.DD | 2 +- src/Doc/Quirks.DD | 2 +- src/Doc/Resource.DD | 2 +- src/Doc/ScopingLinkage.DD | 4 +- src/Doc/Strategy.DD | 2 +- src/Doc/Tips.DD | 4 +- src/Doc/Welcome.DD | 4 +- src/Doc/Widget.DD | 2 +- src/Downloads/ReadMe.TXT | 2 +- src/Kernel.BIN.C | Bin 190352 -> 190368 bytes src/Kernel/Display.CC | 10 +- src/Kernel/FunSeg.CC | 16 +-- src/Kernel/KGlobals.CC | 2 +- src/Kernel/KMain.CC | 2 +- src/Kernel/KStart16.CC | 2 +- src/Kernel/KTask.CC | 2 +- src/Kernel/Kernel.MAP | 190 ++++++++++++++------------ src/Kernel/KernelA.HH | 40 +++--- src/Kernel/KernelC.HH | 2 +- src/Kernel/KeyDev.CC | 4 +- src/Kernel/SerialDev/Keyboard.CC | 4 +- src/Kernel/StrPrint.CC | 128 ++++++++--------- src/Tmp/MyDistro.iso | Bin 38928384 -> 38930432 bytes src/Zenith/Ctrls/CtrlsA.CC | 20 +-- src/Zenith/DolDoc/DocCodeTools.CC | 2 +- src/Zenith/DolDoc/DocRecalc.CC | 38 +++--- src/Zenith/DolDoc/DocRecalcLib.CC | 4 +- src/Zenith/Gr/GrBitMap.CC | 72 +++++----- src/Zenith/Gr/GrDC.CC | 4 +- src/Zenith/Gr/GrGlobals.CC | 10 +- src/Zenith/Gr/GrInitB.CC | 18 +-- src/Zenith/Gr/GrPrimatives.CC | 18 +-- src/Zenith/Gr/GrScreen.CC | 50 +++---- src/Zenith/Gr/SpriteMain.CC | 24 ++-- src/Zenith/InFile.CC | 2 +- src/Zenith/Utils/MemRep.CC | 8 +- src/Zenith/Win.CC | 8 +- src/Zenith/ZBlkDev/FileMgr.CC | 12 +- 73 files changed, 554 insertions(+), 544 deletions(-) rename src/Doc/{HolyC.DD => CosmiC.DD} (98%) diff --git a/src/0000Boot/0000Kernel.BIN.C b/src/0000Boot/0000Kernel.BIN.C index 8575b2675afdb42c7fc8ac019e1ea9ae65247637..ee24f1fd81c1c3986dc416bcc8a586b3ae2c4a46 100755 GIT binary patch delta 30482 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%0A8z4KLtZj( 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 b!^~=&z9-kUS2F(kkGSAIFeTc9xj+906JfGn diff --git a/src/Apps/Psalmody/Help.DD b/src/Apps/Psalmody/Help.DD index 460503b0..6185dd3c 100755 --- a/src/Apps/Psalmody/Help.DD +++ b/src/Apps/Psalmody/Help.DD @@ -4,9 +4,9 @@ $WW,1$$FG,5$$TX+CX,"Psalmody Help"$$FG$ * The clip can be used to cut and paste. -* $FG,2$Psalmody$FG$ uses $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ files as the song format! See $LK,"::/Apps/Psalmody/Examples/prosper.CC"$. The $FG,2$Psalmody$FG$ program does not fully parse the songs when loading them back in, so changes made outside $FG,2$Psalmody$FG$ will be lost, like if you add graphics. +* $FG,2$Psalmody$FG$ uses $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ files as the song format! See $LK,"::/Apps/Psalmody/Examples/prosper.CC"$. The $FG,2$Psalmody$FG$ program does not fully parse the songs when loading them back in, so changes made outside $FG,2$Psalmody$FG$ will be lost, like if you add graphics. -* The first line of the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ song files is a comment with a category recognized by $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). The categories are $FG,2$"no nothing"$FG$, $FG,2$"has words"$FG$, $FG,2$"has graphics"$FG$, or $FG,2$"special"$FG$. The third character in the song comment is a digit rating number, shown in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). You can set the song rating in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$() by pressing $FG,2$0$FG$-$FG,2$9$FG$. You can request your reward from God by pressing $FG,2$r$FG$. You can press $FG,2$$FG$ to delete songs. +* The first line of the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ song files is a comment with a category recognized by $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). The categories are $FG,2$"no nothing"$FG$, $FG,2$"has words"$FG$, $FG,2$"has graphics"$FG$, or $FG,2$"special"$FG$. The third character in the song comment is a digit rating number, shown in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). You can set the song rating in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$() by pressing $FG,2$0$FG$-$FG,2$9$FG$. You can request your reward from God by pressing $FG,2$r$FG$. You can press $FG,2$$FG$ to delete songs. * You can take the $LK,"Play",A="MN:Play"$() statements out of a song file and place them in your programs. You can also add a song to a document with $FG,2$$FG$, but you should do it after pressing $FG,2$$FG$ because the clip-insert in $FG,2$$FG$ is screwy. See this $SO,"",A="4qG5EC4BeGG5qCeFD4sB5G4B5G4qG5EC4BeGG5qCeFD4sB5G4B5GqEeEFqE4BeG5FetC4A5GqFCEeEFqE4BeG5FetC4A5GqFC"$ after pressing $FG,2$$FG$, now. diff --git a/src/Apps/Psalmody/Psalmody.CC b/src/Apps/Psalmody/Psalmody.CC index 807c7e98..a30f94fb 100755 --- a/src/Apps/Psalmody/Psalmody.CC +++ b/src/Apps/Psalmody/Psalmody.CC @@ -52,7 +52,7 @@ class PsmCtrl PsmNote head; PsmNote clip; CMenuEntry *incomplete_entry,*record_entry; - I64 scrn_x,tool; + I64 screen_x,tool; PsmNote *cur_note; CDC *dc2; Bool playing; diff --git a/src/Apps/Psalmody/PsalmodyDraw.CC b/src/Apps/Psalmody/PsalmodyDraw.CC index 442cc191..02968e26 100755 --- a/src/Apps/Psalmody/PsalmodyDraw.CC +++ b/src/Apps/Psalmody/PsalmodyDraw.CC @@ -146,7 +146,7 @@ U0 PsmRecalcNoteXY() { F64 measure_len=4,measure_left=measure_len; PsmNote *tmpn=psm.head.next; - I64 x=8-psm.scrn_x,ona,note,octave; + I64 x=8-psm.screen_x,ona,note,octave; while (TRUE) { tmpn->x=x; tmpn->y=50; @@ -198,11 +198,11 @@ U0 DrawIt(CTask *task,CDC *dc) PsmRecalcNoteXY; if (psm.cur_note->x<64) { - psm.scrn_x-=128; + psm.screen_x-=128; PsmRecalcNoteXY; } if (psm.cur_note->x>=GR_WIDTH-64) { - psm.scrn_x+=128; + psm.screen_x+=128; PsmRecalcNoteXY; } diff --git a/src/Apps/Psalmody/PsalmodyMain.CC b/src/Apps/Psalmody/PsalmodyMain.CC index aa5c97cd..9ff737e3 100755 --- a/src/Apps/Psalmody/PsalmodyMain.CC +++ b/src/Apps/Psalmody/PsalmodyMain.CC @@ -367,7 +367,7 @@ U0 Psalmody(U8 *dirname="~/Psalmody") if (DocPut) DocPut->flags|=DOCF_FORM; MemSet(&psm,0,sizeof(PsmCtrl)); - psm.scrn_x=0; + psm.screen_x=0; psm.head.next=psm.head.last=&psm.head; psm.clip.next=psm.clip.last=&psm.clip; psm.cur_note=&psm.head; @@ -586,12 +586,12 @@ mo_got_message: "$$GREEN$$$$FG$$ to load it into Psalmody.\n\n" ST_WARN_ST " Graphics and other embelishments\n" "will be lost because Psalmody can't\n" - "parse HolyC programs completely.\n"); + "parse CosmiC programs completely.\n"); Free(filename); filename=NULL; JukeBox(dirname,&filename); if (filename) { - psm.scrn_x=0; + psm.screen_x=0; psm_duration=1.0; psm_octave=4; PsmSongDel(&psm.head); @@ -626,7 +626,7 @@ mo_got_message: psm_octave=4; PsmSongDel(&psm.head); psm.cur_note=&psm.head; - psm.scrn_x=0; + psm.screen_x=0; break; case '\n': if (psm.cur_note!=&psm.head) @@ -659,7 +659,7 @@ mo_got_message: goto mo_got_message; } psm.cur_note=tmpn; - psm.scrn_x+=tmpn->x-0.33*GR_WIDTH; + psm.screen_x+=tmpn->x-0.33*GR_WIDTH; if (PsmHasWords(tmpn->word)) "%s",tmpn->word; Sound(tmpn->ona); @@ -683,7 +683,7 @@ mo_got_message: tmpn=tmpn->next; } psm.cur_note=&psm.head; - psm.scrn_x+=psm.cur_note->x-GR_WIDTH/2; + psm.screen_x+=psm.cur_note->x-GR_WIDTH/2; psm.playing=FALSE; PsmMenu(psm_octave); col=0; @@ -707,7 +707,7 @@ mo_got_message: psm.record_entry->checked=TRUE; psm_duration=1.0; psm_octave=4; - psm.scrn_x=0; + psm.screen_x=0; } PsmMenu(psm_octave); col=0; diff --git a/src/Compiler/CMain.CC b/src/Compiler/CMain.CC index 4c467d6a..d93876c6 100755 --- a/src/Compiler/CMain.CC +++ b/src/Compiler/CMain.CC @@ -72,7 +72,7 @@ CAOT *CompJoin(CCompCtrl *cc,I64 comp_flags,U8 *map_name=NULL,U8 mapfile_drive_l cc->htc.glbl_hash_table->next=Fs->hash_table; cc->htc.hash_table_list=cc->htc.local_hash_table=HashTableNew(16); cc->htc.local_hash_table->next=cc->htc.glbl_hash_table; - cc->htc.local_var_list=cc->htc.fun; //HolyC local vars + cc->htc.local_var_list=cc->htc.fun; //CosmiC local vars cc->htc.fun=NULL; try { if (comp_flags&CMPF_LEX_FIRST) diff --git a/src/Compiler/CMisc.CC b/src/Compiler/CMisc.CC index 786242bd..ec8fcdac 100755 --- a/src/Compiler/CMisc.CC +++ b/src/Compiler/CMisc.CC @@ -89,7 +89,7 @@ U0 StreamDir() } CD2I32 *LexD2I32(CCompCtrl *cc,CD2I32 *p) -{//Not HolyC. Sprite-like lex 2D point. +{//Not CosmiC. Sprite-like lex 2D point. if (cc->token!='(') LexExcept(cc,"Expecting '(' at "); Lex(cc); //Skip ( @@ -105,7 +105,7 @@ CD2I32 *LexD2I32(CCompCtrl *cc,CD2I32 *p) } CD3I32 *LexD3I32(CCompCtrl *cc,CD3I32 *p) -{//Not HolyC. Sprite-like lex 3D point. +{//Not CosmiC. Sprite-like lex 3D point. if (cc->token!='(') LexExcept(cc,"Expecting '(' at "); Lex(cc); //Skip ( diff --git a/src/Compiler/Compiler.BIN b/src/Compiler/Compiler.BIN index e2f81e958edb57db52bed5832ea949d4ee91d53b..b34d605cb5c093099b17e6099342462efd301157 100755 GIT binary patch delta 109 zcmZp8!`<+PdxKRcJ?WUn$iOgtUjU=jb_IXN07jN;K#|GO zcO1~9fr@^ymb8A3g}-*_~>IWRfFOKiJo7Nbr*W8U_pmyGpkjM>{C`7`ZgXUQ*8 M$lN|ZoGEc005<0-`2YX_ diff --git a/src/Demo/AcctExample/PersonalNotes.DD b/src/Demo/AcctExample/PersonalNotes.DD index 1a91b1eb..8ac82558 100755 --- a/src/Demo/AcctExample/PersonalNotes.DD +++ b/src/Demo/AcctExample/PersonalNotes.DD @@ -251,7 +251,7 @@ $ID,-5$ $FG,5$$TX+CX,"Committee Needed"$$FG$ -* Make binary tree look-up using FUN_SEG symbol addresses, so we can eliminate fun_seg cache and wall-paper kludge? All HolyC functions and glbl vars would have left-right for address search. +* Make binary tree look-up using FUN_SEG symbol addresses, so we can eliminate fun_seg cache and wall-paper kludge? All CosmiC functions and glbl vars would have left-right for address search. * Should we get rid of drive mapping. It's ugly. @@ -336,7 +336,7 @@ $FG,5$$TX+CX,"Inspirational Ideas"$$FG$ * Make use of flag potential in $LK,"FilesFind",A="MN:FilesFind"$() and possibly $LK,"DirContextNew",A="MN:DirContextNew"$(). * Sort options for $LK,"FilesFind",A="MN:FilesFind"$()? -* New $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ language features? +* New $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ language features? * Better $LK,"Debugging",A="HI:Debugging"$? @@ -406,7 +406,7 @@ $FG,5$$TX+CX,"Uncategorized"$$FG$ * MOV U8 [RSP+RCX],DL -* $LK,"gr.scrn_image",A="MN:CGrGlobals"$ +* $LK,"gr.screen_image",A="MN:CGrGlobals"$ >Might want to do ZOOM in U8 graphics and convert screen capture to U8 >Might want to rev bit order diff --git a/src/Demo/AcctExample/TOS/TOSTheme.CC b/src/Demo/AcctExample/TOS/TOSTheme.CC index 8e21a69655f7f4975fcc9e56810e11edcbb04494..84a5eaedf28ecbca28dbab6cf95e933a6a3dfa93 100755 GIT binary patch delta 32 kcmaF-p7G^-#tnJAOsT1p^LV9!)aFiJW@ZrGBM_br0NaWS!2kdN delta 23 fcmaF)p7HT}#tnJAlM8sIH}~=~GjE`DwN$BM9pBo1f(`+aZClNo&2Ax z8N_YkzQPFMDsC?4eZUG53m2XYR`N>JSRyqwFTNzdAimPpH?hLg%tXULr#QI?sNYcR qg*04JTicq8Q$Zm!O+lkl7b0&U?glc~KwNBckGLSn*tz2OZUF!}aXxhb delta 127 zcmbRHl==4)<_$}jHZNm($UM1|&2REewx-Fk?9P)Hv0vI;#xa#?GB0=Y=1JUF7=aAM z&7HgtST|=2PiC4VW-O8yUy@%CUuo-`Sm9}AqG6y@oLn^7TkM56R6<+Znu}9GAu~-u Yqf!?n=O^w4#A1`zhzoAsFMjV90AENi6#xJL diff --git a/src/Demo/Games/CastleFrankenstein.CC b/src/Demo/Games/CastleFrankenstein.CC index 1f1f6161..5338f767 100755 --- a/src/Demo/Games/CastleFrankenstein.CC +++ b/src/Demo/Games/CastleFrankenstein.CC @@ -83,7 +83,7 @@ $SP,"<1>",BI=1$ -#define SCRN_SCALE 512 +#define SCREEN_SCALE 512 #define PLOT_GRID_WIDTH 24 #define PLOT_GRID_HEIGHT 24 #define MAN_HEIGHT 125 @@ -110,10 +110,10 @@ U0 CFTransform(CDC *dc,I64 *x,I64 *y,I64 *z) { I64 zz; Mat4x4MulXYZ(dc->r,x,y,z); - zz=SCRN_SCALE/3+*z; + zz=SCREEN_SCALE/3+*z; if (zz<1) zz=1; - *x=SCRN_SCALE/2* *x/zz; - *y=SCRN_SCALE/2* (*y+MAN_HEIGHT)/zz; + *x=SCREEN_SCALE/2* *x/zz; + *y=SCREEN_SCALE/2* (*y+MAN_HEIGHT)/zz; *x+=dc->x; *y+=dc->y; *z+=dc->z; @@ -131,8 +131,8 @@ Bool LOSPlot(U8 *,I64 x,I64 y,I64) Bool LOS(I64 x1,I64 y1,I64 x2,I64 y2) {//Line of sight - return Line(NULL,x1*LOS_SCALE/SCRN_SCALE,y1*LOS_SCALE/SCRN_SCALE,0, - x2*LOS_SCALE/SCRN_SCALE,y2*LOS_SCALE/SCRN_SCALE,0,&LOSPlot); + return Line(NULL,x1*LOS_SCALE/SCREEN_SCALE,y1*LOS_SCALE/SCREEN_SCALE,0, + x2*LOS_SCALE/SCREEN_SCALE,y2*LOS_SCALE/SCREEN_SCALE,0,&LOSPlot); } U0 DrawIt(CTask *task,CDC *dc) @@ -154,7 +154,7 @@ U0 DrawIt(CTask *task,CDC *dc) Mat4x4RotX(dc->r,ã/2); DCMat4x4Set(dc,dc->r); - xh=-man_xx/SCRN_SCALE; yh=-man_yy/SCRN_SCALE; zh=0; + xh=-man_xx/SCREEN_SCALE; yh=-man_yy/SCREEN_SCALE; zh=0; Mat4x4MulXYZ(dc->r,&xh,&yh,&zh); Mat4x4TranslationEqu(dc->r,xh,yh,zh); @@ -162,7 +162,7 @@ U0 DrawIt(CTask *task,CDC *dc) s2w=Mat4x4IdentNew(task); Mat4x4RotX(s2w,-ã/2); Mat4x4RotZ(s2w,-man_é-ã/2); - xh=0; yh=0; zh=SCRN_SCALE; + xh=0; yh=0; zh=SCREEN_SCALE; Mat4x4MulXYZ(s2w,&xh,&yh,&zh); //Rotate light source @@ -194,12 +194,12 @@ U0 DrawIt(CTask *task,CDC *dc) x1w=x1h; y1w=y1h; for (i=0;icolor=DKGRAY; @@ -208,62 +208,62 @@ U0 DrawIt(CTask *task,CDC *dc) poly[0].x=x; poly[0].y=y; poly[0].z=0; - poly[1].x=x+SCRN_SCALE; + poly[1].x=x+SCREEN_SCALE; poly[1].y=y; poly[1].z=0; - poly[2].x=x+SCRN_SCALE; - poly[2].y=y+SCRN_SCALE; + poly[2].x=x+SCREEN_SCALE; + poly[2].y=y+SCREEN_SCALE; poly[2].z=0; poly[3].x=x; - poly[3].y=y+SCRN_SCALE; + poly[3].y=y+SCREEN_SCALE; poly[3].z=0; GrFillPoly3(dc,4,poly); if (c==GREEN) { - x1=x+SCRN_SCALE/2; - y1=y+SCRN_SCALE/2; + x1=x+SCREEN_SCALE/2; + y1=y+SCREEN_SCALE/2; z1=0; DCTransform(dc,&x1,&y1,&z1); if (z1>0) - Sprite3Mat4x4B(dc,x+SCRN_SCALE/2,y+SCRN_SCALE/2,0,$IB,"<5>",BI=5$,r3); + Sprite3Mat4x4B(dc,x+SCREEN_SCALE/2,y+SCREEN_SCALE/2,0,$IB,"<5>",BI=5$,r3); } else if (c==YELLOW) { - x1=x+SCRN_SCALE/2; - y1=y+SCRN_SCALE/2; + x1=x+SCREEN_SCALE/2; + y1=y+SCREEN_SCALE/2; z1=0; DCTransform(dc,&x1,&y1,&z1); if (z1>0) - Sprite3Mat4x4B(dc,x+SCRN_SCALE/2,y+SCRN_SCALE/2,0,$IB,"<6>",BI=6$,r3); + Sprite3Mat4x4B(dc,x+SCREEN_SCALE/2,y+SCREEN_SCALE/2,0,$IB,"<6>",BI=6$,r3); } if (!map[(yy+1)*map_width+xx]) { dc->color=LTGRAY; poly[0].x=x; - poly[0].y=y+SCRN_SCALE; + poly[0].y=y+SCREEN_SCALE; poly[0].z=0; - poly[1].x=x+SCRN_SCALE; - poly[1].y=y+SCRN_SCALE; + poly[1].x=x+SCREEN_SCALE; + poly[1].y=y+SCREEN_SCALE; poly[1].z=0; - poly[2].x=x+SCRN_SCALE; - poly[2].y=y+SCRN_SCALE; - poly[2].z=SCRN_SCALE; + poly[2].x=x+SCREEN_SCALE; + poly[2].y=y+SCREEN_SCALE; + poly[2].z=SCREEN_SCALE; poly[3].x=x; - poly[3].y=y+SCRN_SCALE; - poly[3].z=SCRN_SCALE; + poly[3].y=y+SCREEN_SCALE; + poly[3].z=SCREEN_SCALE; GrFillPoly3(dc,4,poly); } if (!map[yy*map_width+xx+1]) { dc->color=WHITE; - poly[0].x=x+SCRN_SCALE; + poly[0].x=x+SCREEN_SCALE; poly[0].y=y; poly[0].z=0; - poly[1].x=x+SCRN_SCALE; - poly[1].y=y+SCRN_SCALE; + poly[1].x=x+SCREEN_SCALE; + poly[1].y=y+SCREEN_SCALE; poly[1].z=0; - poly[2].x=x+SCRN_SCALE; - poly[2].y=y+SCRN_SCALE; - poly[2].z=SCRN_SCALE; - poly[3].x=x+SCRN_SCALE; + poly[2].x=x+SCREEN_SCALE; + poly[2].y=y+SCREEN_SCALE; + poly[2].z=SCREEN_SCALE; + poly[3].x=x+SCREEN_SCALE; poly[3].y=y; - poly[3].z=SCRN_SCALE; + poly[3].z=SCREEN_SCALE; GrFillPoly3(dc,4,poly); } if (!map[(yy-1)*map_width+xx]) { @@ -271,15 +271,15 @@ U0 DrawIt(CTask *task,CDC *dc) poly[0].x=x; poly[0].y=y; poly[0].z=0; - poly[1].x=x+SCRN_SCALE; + poly[1].x=x+SCREEN_SCALE; poly[1].y=y; poly[1].z=0; - poly[2].x=x+SCRN_SCALE; + poly[2].x=x+SCREEN_SCALE; poly[2].y=y; - poly[2].z=SCRN_SCALE; + poly[2].z=SCREEN_SCALE; poly[3].x=x; poly[3].y=y; - poly[3].z=SCRN_SCALE; + poly[3].z=SCREEN_SCALE; GrFillPoly3(dc,4,poly); } if (!map[yy*map_width+xx-1]) { @@ -288,14 +288,14 @@ U0 DrawIt(CTask *task,CDC *dc) poly[0].y=y; poly[0].z=0; poly[1].x=x; - poly[1].y=y+SCRN_SCALE; + poly[1].y=y+SCREEN_SCALE; poly[1].z=0; poly[2].x=x; - poly[2].y=y+SCRN_SCALE; - poly[2].z=SCRN_SCALE; + poly[2].y=y+SCREEN_SCALE; + poly[2].z=SCREEN_SCALE; poly[3].x=x; poly[3].y=y; - poly[3].z=SCRN_SCALE; + poly[3].z=SCREEN_SCALE; GrFillPoly3(dc,4,poly); } } @@ -352,10 +352,10 @@ U0 DrawIt(CTask *task,CDC *dc) dc->color=LTPURPLE; for (i=0,tmpm=monsters;idead) - GrPlot3(dc,2*(tmpm->x/SCRN_SCALE), - 2*(map_height-1-tmpm->y/SCRN_SCALE),0); + GrPlot3(dc,2*(tmpm->x/SCREEN_SCALE), + 2*(map_height-1-tmpm->y/SCREEN_SCALE),0); dc->color=LTCYAN; - GrPlot3(dc,2*(man_xx/SCRN_SCALE),2*(map_height-1-man_yy/SCRN_SCALE),0); + GrPlot3(dc,2*(man_xx/SCREEN_SCALE),2*(map_height-1-man_yy/SCREEN_SCALE),0); if (tf) { dc->color=LTRED; @@ -424,16 +424,16 @@ U0 Init() for (x=0;xdead=FALSE; do { - tmpm->x=RandU64%((map_width-2)*SCRN_SCALE)+SCRN_SCALE; - tmpm->y=RandU64%((map_height-2)*SCRN_SCALE)+SCRN_SCALE; - } while (!map[(tmpm->y/SCRN_SCALE)*map_width+tmpm->x/SCRN_SCALE]); + tmpm->x=RandU64%((map_width-2)*SCREEN_SCALE)+SCREEN_SCALE; + tmpm->y=RandU64%((map_height-2)*SCREEN_SCALE)+SCREEN_SCALE; + } while (!map[(tmpm->y/SCREEN_SCALE)*map_width+tmpm->x/SCREEN_SCALE]); } monsters_left=MONSTERS_NUM; tf=0; @@ -446,7 +446,7 @@ U0 AnimateTask(I64) Monster *tmpm; while (TRUE) { - dd=0.25*SCRN_SCALE*Sin(tS/2); + dd=0.25*SCREEN_SCALE*Sin(tS/2); for (i=0,tmpm=monsters;idead) { x=tmpm->x; @@ -455,19 +455,19 @@ U0 AnimateTask(I64) x+=dd; else y+=dd; - if (0<=x<=map_width*SCRN_SCALE && - 0<=y<=map_height*SCRN_SCALE && - map[(y/SCRN_SCALE)*map_width+x/SCRN_SCALE]) { - if (!map[(y/SCRN_SCALE)*map_width+x/SCRN_SCALE+1] && - x-RoundI64(x,SCRN_SCALE)>SCRN_SCALE/2 || - !map[(y/SCRN_SCALE)*map_width+x/SCRN_SCALE-1] && - x-RoundI64(x,SCRN_SCALE)SCRN_SCALE/2 || - !map[(y/SCRN_SCALE-1)*map_width+x/SCRN_SCALE] && - y-RoundI64(y,SCRN_SCALE)SCREEN_SCALE/2 || + !map[(y/SCREEN_SCALE)*map_width+x/SCREEN_SCALE-1] && + x-RoundI64(x,SCREEN_SCALE)SCREEN_SCALE/2 || + !map[(y/SCREEN_SCALE-1)*map_width+x/SCREEN_SCALE] && + y-RoundI64(y,SCREEN_SCALE)x=x; tmpm->y=y; } @@ -497,13 +497,13 @@ U0 SongTask(I64) U0 MoveMan(F64 é) { - I64 x,y,color,step=SCRN_SCALE/2; + I64 x,y,color,step=SCREEN_SCALE/2; do { x=man_xx+step*Cos(é); y=man_yy-step*Sin(é); - x=Clamp(x,0,map_width*SCRN_SCALE); - y=Clamp(y,0,map_height*SCRN_SCALE); - color=map[y/SCRN_SCALE*map_width+x/SCRN_SCALE]; + x=Clamp(x,0,map_width*SCREEN_SCALE); + y=Clamp(y,0,map_height*SCREEN_SCALE); + color=map[y/SCREEN_SCALE*map_width+x/SCREEN_SCALE]; if (color==DKGRAY || color==GREEN) { man_xx=x; man_yy=y; diff --git a/src/Demo/Games/CharDemo.CC b/src/Demo/Games/CharDemo.CC index c367c8df..cc8416f1 100755 --- a/src/Demo/Games/CharDemo.CC +++ b/src/Demo/Games/CharDemo.CC @@ -17,17 +17,17 @@ The nice thing about character graphics are the animations. U16 map[MAP_HEIGHT][MAP_WIDTH]; -I64 scrn_pix_x,scrn_pix_y; +I64 screen_pix_x,screen_pix_y; U0 DrawIt(CTask *task,CDC *) { U16 *ptr; - I64 i,j,y=scrn_pix_y>>3; + I64 i,j,y=screen_pix_y>>3; gr.hide_col=gr.hide_row=TRUE; - gr.pan_text_x=7-scrn_pix_x&7; - gr.pan_text_y=7-scrn_pix_y&7; + gr.pan_text_x=7-screen_pix_x&7; + gr.pan_text_y=7-screen_pix_y&7; for (i=0;iwin_height;i++) { - ptr=&map[y++][scrn_pix_x>>3]; + ptr=&map[y++][screen_pix_x>>3]; for (j=0;jwin_width;j++) //By the time you clip to window and handle Fs->scroll_x,Fs->scroll_y, //it is too much trouble to do raw access to gr.text_base like we do @@ -66,7 +66,7 @@ U0 ScrollTaskX(I64 sign) { I64 i; for (i=0;i<32;i++) { - scrn_pix_x=ClampI64(scrn_pix_x+sign,0, + screen_pix_x=ClampI64(screen_pix_x+sign,0, (MAP_WIDTH-TEXT_COLS+1)*FONT_WIDTH); Refresh; } @@ -76,7 +76,7 @@ U0 ScrollTaskY(I64 sign) { I64 i; for (i=0;i<32;i++) { - scrn_pix_y=ClampI64(scrn_pix_y+sign,0, + screen_pix_y=ClampI64(screen_pix_y+sign,0, (MAP_HEIGHT-TEXT_ROWS+2)*FONT_HEIGHT); Refresh; } @@ -85,8 +85,8 @@ U0 ScrollTaskY(I64 sign) U0 Init() { I64 i,j,x,y; - scrn_pix_x=(MAP_WIDTH-TEXT_COLS)>>1*FONT_WIDTH; - scrn_pix_y=(MAP_HEIGHT-TEXT_ROWS)>>1*FONT_HEIGHT; + screen_pix_x=(MAP_WIDTH-TEXT_COLS)>>1*FONT_WIDTH; + screen_pix_y=(MAP_HEIGHT-TEXT_ROWS)>>1*FONT_HEIGHT; MemSetU16(map,CH_WATER+(BLUE<<4+LTBLUE)<<8,MAP_WIDTH*MAP_HEIGHT); for (i=1;i",BI=7$ ,$IB,"<5>",BI=5$ ,NULL,NULL,NULL,NULL,NULL, U8 *tiles2[16]={NULL,$IB,"<8>",BI=8$ ,$IB,"<5>",BI=5$ ,NULL,NULL,NULL,NULL,NULL, $IB,"<6>",BI=6$ ,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; -#define SCRN_SCALE 24 -#define SCRN_WIDTH 24 -#define SCRN_HEIGHT 24 -I64 scrn_x,scrn_y; +#define SCREEN_SCALE 24 +#define SCREEN_WIDTH 24 +#define SCREEN_HEIGHT 24 +I64 screen_x,screen_y; #define MAP_SCALE 4 I64 map_width,map_height; @@ -115,32 +115,32 @@ U0 DrawIt(CTask *task,CDC *dc) //if you did it like $LK,"::/Demo/Games/BigGuns.CC"$ //with a $LK,"CDC",A="MN:CDC"$. - for (y=-SCRN_HEIGHT/2;ycolor=color; GrFillPoly3(dc_t,4,poly); @@ -150,23 +150,23 @@ U0 DrawIt(CTask *task,CDC *dc) } } - for (y=-SCRN_HEIGHT/2;y",BI=9$); } if (xx+1",BI=10$); @@ -178,8 +178,8 @@ U0 DrawIt(CTask *task,CDC *dc) for (i=0,tmpm=monsters;idead && LOS(tmpm->x,tmpm->y,man_x,man_y)) { - x1=(tmpm->x-scrn_x)*SCRN_SCALE+SCRN_SCALE/2; - y1=(tmpm->y-scrn_y)*SCRN_SCALE+SCRN_SCALE/2; + x1=(tmpm->x-screen_x)*SCREEN_SCALE+SCREEN_SCALE/2; + y1=(tmpm->y-screen_y)*SCREEN_SCALE+SCREEN_SCALE/2; z1=0; DCTransform(dc_t,&x1,&y1,&z1); if (tmpm->dx<0) { @@ -190,14 +190,14 @@ U0 DrawIt(CTask *task,CDC *dc) Sprite3(dc,x1,y1,z1,$IB,"<4>",BI=4$); } - x1=(man_x-scrn_x)*SCRN_SCALE+SCRN_SCALE/2; - y1=(man_y-scrn_y)*SCRN_SCALE+SCRN_SCALE/2; + x1=(man_x-screen_x)*SCREEN_SCALE+SCREEN_SCALE/2; + y1=(man_y-screen_y)*SCREEN_SCALE+SCREEN_SCALE/2; z1=0; if (tS-man_attack_t0<0.2) { - x1+=Tri(tS-man_attack_t0,0.2)*SCRN_SCALE*man_dx; - y1+=Tri(tS-man_attack_t0,0.2)*SCRN_SCALE*man_dy; + x1+=Tri(tS-man_attack_t0,0.2)*SCREEN_SCALE*man_dx; + y1+=Tri(tS-man_attack_t0,0.2)*SCREEN_SCALE*man_dy; if (man_dy!=1) - y1-=Saw(tS-man_attack_t0,0.2)*SCRN_SCALE; + y1-=Saw(tS-man_attack_t0,0.2)*SCREEN_SCALE; } DCTransform(dc_t,&x1,&y1,&z1); if (man_dx<0) { @@ -268,8 +268,8 @@ U0 Init() man_y=4; man_dx=0; man_dy=0; - scrn_x=0; - scrn_y=0; + screen_x=0; + screen_y=0; for (i=0,tmpm=monsters;idead=FALSE; tmpm->dx=0; @@ -368,10 +368,10 @@ U0 DunGen() if (man_x+1SCRN_WIDTH/2-3) { - scrn_x+=SCRN_WIDTH/2; - if (scrn_x+SCRN_WIDTH/2>map_width) - scrn_x=map_width-SCRN_WIDTH/2; + if (man_x-screen_x>SCREEN_WIDTH/2-3) { + screen_x+=SCREEN_WIDTH/2; + if (screen_x+SCREEN_WIDTH/2>map_width) + screen_x=map_width-SCREEN_WIDTH/2; } } break; @@ -384,10 +384,10 @@ U0 DunGen() if (man_x-1>=0 && map[man_y*map_width+(man_x-1)]==DKGRAY) { man_x--; - if (man_x-scrn_x<-SCRN_WIDTH/2+3) { - scrn_x-=SCRN_WIDTH/2; - if (scrn_x-SCRN_WIDTH/2<0) - scrn_x=SCRN_WIDTH/2; + if (man_x-screen_x<-SCREEN_WIDTH/2+3) { + screen_x-=SCREEN_WIDTH/2; + if (screen_x-SCREEN_WIDTH/2<0) + screen_x=SCREEN_WIDTH/2; } } break; @@ -400,10 +400,10 @@ U0 DunGen() if (man_y-1>=0 && map[(man_y-1)*map_width+man_x]==DKGRAY) { man_y--; - if (man_y-scrn_y<-SCRN_HEIGHT/2+3) { - scrn_y-=SCRN_HEIGHT/2; - if (scrn_y-SCRN_HEIGHT/2<0) - scrn_y=SCRN_HEIGHT/2; + if (man_y-screen_y<-SCREEN_HEIGHT/2+3) { + screen_y-=SCREEN_HEIGHT/2; + if (screen_y-SCREEN_HEIGHT/2<0) + screen_y=SCREEN_HEIGHT/2; } } break; @@ -416,10 +416,10 @@ U0 DunGen() if (man_y+1SCRN_HEIGHT/2-3) { - scrn_y+=SCRN_HEIGHT/2; - if (scrn_y+SCRN_HEIGHT/2>map_height) - scrn_y=map_height-SCRN_HEIGHT/2; + if (man_y-screen_y>SCREEN_HEIGHT/2-3) { + screen_y+=SCREEN_HEIGHT/2; + if (screen_y+SCREEN_HEIGHT/2>map_height) + screen_y=map_height-SCREEN_HEIGHT/2; } } break; diff --git a/src/Demo/Games/Stadium/StadiumGen.CC b/src/Demo/Games/Stadium/StadiumGen.CC index bfe61a6d..564355a1 100755 --- a/src/Demo/Games/Stadium/StadiumGen.CC +++ b/src/Demo/Games/Stadium/StadiumGen.CC @@ -13,8 +13,8 @@ U0 StadiumGen() DocClear; Type("StadiumBG.DD"); "$$CM,0,%d$$",TEXT_ROWS-3; - fp_old_update=gr.fp_final_scrn_update; //hide mouse cursor - gr.fp_final_scrn_update=NULL; + fp_old_update=gr.fp_final_screen_update; //hide mouse cursor + gr.fp_final_screen_update=NULL; Refresh(2,TRUE); dc2=DCScreenCapture; @@ -25,7 +25,7 @@ U0 StadiumGen() DCDel(dc); DocCursor(ON); - gr.fp_final_scrn_update=fp_old_update; + gr.fp_final_screen_update=fp_old_update; DocClear; } diff --git a/src/Demo/Games/ZoneOut.CC b/src/Demo/Games/ZoneOut.CC index 7ba84c66654dcfe82ac623ade1008a582b9a27fa..5075c7a680469cce1f6a08952ae3f991a2110db2 100755 GIT binary patch delta 122 zcmeBp$u{pL+lEp`CRf+VrHpgsTwVR*gPk3HT=k8#6tpVztE#NI6cn^7ZG)YITwOQo zFnwSWL{GCW08-5j+}j(t897!00OI8% A+W-In delta 93 zcmbRDlC9$<+lErc$>of5rTpT9ogIB#^^LR?v?}zgs;s#b6tpUBgPnsm8!>%g;zh`V ogp65>SSBy$l%ITpvukn)m;U5duBVf8xHX!mac`f-&B(D50GR9^WdHyG diff --git a/src/Demo/Graphics/SpritePlot.CC b/src/Demo/Graphics/SpritePlot.CC index f727fb66cd41688998f76e00ceb17f38a91f2246..3effab0ef9ae3d830f84a475c091f5b3e5338030 100755 GIT binary patch delta 39 rcmdnXy`OtSG?SEbesON5vyzUZt&*Fkm6esgOMbFGSa5SOlNU1p_frf9 delta 37 qcmdnby_b7KG?Ro!eom#cl8&RTlAEWMm6g6rezHDDY;!4-7c&6d-U~?p diff --git a/src/Demo/Lectures/FixedPoint.CC b/src/Demo/Lectures/FixedPoint.CC index 4c3d1819..44501b93 100755 --- a/src/Demo/Lectures/FixedPoint.CC +++ b/src/Demo/Lectures/FixedPoint.CC @@ -15,7 +15,7 @@ See $LK,"::/Demo/SubIntAccess.CC"$ for how to access upper or lower 32-bits. For a complete list of nonstandard compiler -features, see $LK,"::/Doc/HolyC.DD"$. +features, see $LK,"::/Doc/CosmiC.DD"$. */ U0 Main() @@ -69,7 +69,7 @@ place i into a reg, so there is a penalty. For a complete list of nonstandard compiler -features, see $LK,"::/Doc/HolyC.DD"$. +features, see $LK,"::/Doc/CosmiC.DD"$. */ "i.u32[0]\t=%X\n",i.u32[0]; diff --git a/src/Demo/Lectures/ScreenMemory.CC b/src/Demo/Lectures/ScreenMemory.CC index 97492037..cd6016c4 100755 --- a/src/Demo/Lectures/ScreenMemory.CC +++ b/src/Demo/Lectures/ScreenMemory.CC @@ -37,7 +37,7 @@ That means no read-modify-writes, too. */ Busy(4000000); - //ZenithOS has a 4 plane memory duplicate of the screen, $LK,"gr.scrn_image",A="MN:CGrGlobals"$, + //ZenithOS has a 4 plane memory duplicate of the screen, $LK,"gr.screen_image",A="MN:CGrGlobals"$, //and only writes actual changes.See $LK,"GrUpdateVGAGraphics",A="MN:GrUpdateVGAGraphics"$(). // will flush screen VGA cache. VGAFlush; diff --git a/src/Demo/RegistryDemo.CC b/src/Demo/RegistryDemo.CC index 482bee09..e9805051 100755 --- a/src/Demo/RegistryDemo.CC +++ b/src/Demo/RegistryDemo.CC @@ -1,9 +1,9 @@ -/*The ~/Registry.CC file is HolyC code. +/*The ~/Registry.CC file is CosmiC code. You can execute a tree branch of it.The Zenith branch is executed in the Zenith task boot phase. Normally, you will place var declarations in the branch you make, but since an arthmetic expression -is valid in HolyC you can place simple expressions +is valid in CosmiC you can place simple expressions without vars. */ diff --git a/src/Doc/Asm.DD b/src/Doc/Asm.DD index aa80c223..704e398d 100755 --- a/src/Doc/Asm.DD +++ b/src/Doc/Asm.DD @@ -6,7 +6,7 @@ Here are example inst formats: $HL,1$ ADD RAX,I64 FS:DISP[RSI+RDI*8] $HL,0$$HL,1$ ADD RAX,I64 [DISP] $HL,0$ -$FG,2$$$$FG$ Current compiler output pos (inst ptr). Even works in HolyC expressions. +$FG,2$$$$FG$ Current compiler output pos (inst ptr). Even works in CosmiC expressions. $FG,2$$$$FG$ works in $FG,2$class$FG$es. $FG,2$class MyFun diff --git a/src/Doc/Charter.DD b/src/Doc/Charter.DD index 610903c5..0e92ab0e 100755 --- a/src/Doc/Charter.DD +++ b/src/Doc/Charter.DD @@ -33,7 +33,7 @@ $ID,-5$ * There is a limit of 100,000 lines of code for all time, not including applications and demos. $FG,4$Code comments count$FG$, however. Currently, there are $TX,"81,494",D="DD_TEMPLEOS_LOC"$ lines of code. $FG,4$3rd party libraries are banned$FG$ because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful. -* The metric for resolving all ZenithOS code governance issues is how fast the compiler compiles itself and the kernel with $LK,"BootHDIns",A="MN:BootHDIns"$(). The $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ language should be changed to optimize this metric, as I did when I changed type casting from prefix standard C to postfix $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$, but we need a rule to prevent degenerating into a brainfuck language. +* The metric for resolving all ZenithOS code governance issues is how fast the compiler compiles itself and the kernel with $LK,"BootHDIns",A="MN:BootHDIns"$(). The $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ language should be changed to optimize this metric, as I did when I changed type casting from prefix standard C to postfix $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$, but we need a rule to prevent degenerating into a brainfuck language. * Minimal abstraction is a goal. Sheep are fools. They always respect a design that is more complicated than another. Any genius can make it complicated. Like in physics, it takes a supra-genius to make it simple. diff --git a/src/Doc/CmdLineOverview.DD b/src/Doc/CmdLineOverview.DD index f7beef7f..8575d40a 100755 --- a/src/Doc/CmdLineOverview.DD +++ b/src/Doc/CmdLineOverview.DD @@ -1,6 +1,6 @@ $WW,1$$FG,5$$TX+CX,"Command Line Overview"$$FG$ -The cmd line feeds into the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ compiler line-by-line as you type. A stmt outside a function executes immediately. Remember to add a semicolon.$WW,1$ +The cmd line feeds into the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ compiler line-by-line as you type. A stmt outside a function executes immediately. Remember to add a semicolon.$WW,1$ Look-up the function headers with $FG,2$AutoComplete$FG$ by hitting $FG,2$$FG$ after typing the first few letters. diff --git a/src/Doc/HolyC.DD b/src/Doc/CosmiC.DD similarity index 98% rename from src/Doc/HolyC.DD rename to src/Doc/CosmiC.DD index aba646ba..51eb7123 100755 --- a/src/Doc/HolyC.DD +++ b/src/Doc/CosmiC.DD @@ -78,7 +78,7 @@ $ID,2$$WW,0$ $FG,2$I64 AddNums(...) { I64 i,res=0; - for (i=0;i$FG$ with $FG,2$#include$FG$, use $FG,2$""$FG$. -* "$FG,2$$$$FG$" is an escape character. Two dollar signs signify an ordinary $$. See $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.DD"$. In $FG,2$asm$FG$ or $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ code, it also refers to the inst's address or the offset in a $FG,2$class$FG$ definition. +* "$FG,2$$$$FG$" is an escape character. Two dollar signs signify an ordinary $$. See $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.DD"$. In $FG,2$asm$FG$ or $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ code, it also refers to the inst's address or the offset in a $FG,2$class$FG$ definition. * $FG,2$union$FG$ is more like a class, so you don't reference it with a $FG,2$union$FG$ label after you define it. Some common unions are declared in $LK,"KernelA.HH",A="MN:U16"$ for 1,2,4 and 8 byte objects. If you place a type in front of a union declaration, that is the type when used by itself. See $LK,"::/Demo/SubIntAccess.CC"$. diff --git a/src/Doc/D3.DD b/src/Doc/D3.DD index 5d65ae85..cc5f6e1c 100755 --- a/src/Doc/D3.DD +++ b/src/Doc/D3.DD @@ -1,3 +1,3 @@ -$WW,1$ZenithOS has a class for 3 dimensional points consisting of F64s. HolyC is not C++ -- it does not support passing or returning values from functions which are not 64-bits, therefore, it can't be implemented with operator overloading. Making all function args and returns 64-bit is a core prinicple of ZenithOS. +$WW,1$ZenithOS has a class for 3 dimensional points consisting of F64s. CosmiC is not C++ -- it does not support passing or returning values from functions which are not 64-bits, therefore, it can't be implemented with operator overloading. Making all function args and returns 64-bit is a core prinicple of ZenithOS. As a courtesy, most of the CD3 functions return the addr of the destination vect, so you can nestle calls. They do not alloc new space for the destination vect. diff --git a/src/Doc/DebugOverview.DD b/src/Doc/DebugOverview.DD index 147be0b9..8fb71a00 100755 --- a/src/Doc/DebugOverview.DD +++ b/src/Doc/DebugOverview.DD @@ -4,7 +4,7 @@ $WW,1$$FG,5$$TX+CX,"Debugging Overview"$$FG$ * $LK,"U",A="MN:U"$(&FunName+offset) to unassemble mem or $LK,"Uf",A="MN:Uf"$("FunName") to unassemble a function. $LK,"U",A="MN:U"$($LK,"_RIP",A="MN:_RIP"$-16); -* While debugging, you specify addresses of assembly routines with just the label, as in $FG,2$_MALLOC+0x20$FG$. You specify $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ function names with $FG,2$&$FG$ before functions as in $FG,2$&Print+0x10$FG$. +* While debugging, you specify addresses of assembly routines with just the label, as in $FG,2$_MALLOC+0x20$FG$. You specify $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ function names with $FG,2$&$FG$ before functions as in $FG,2$&Print+0x10$FG$. * I use $LK,"progress1",A="MN:progress1"$-$LK,"progress4",A="MN:progress4"$ for debugging because they show on the wallpaper. They're just global int vars. @@ -30,7 +30,7 @@ $WW,1$$FG,5$$TX+CX,"Debugging Overview"$$FG$ $ID,2$ $LK,"Echo",A="MN:Echo"$() turns on or off raw data going into the lexical analyzer. -$LK,"Trace",A="MN:Trace"$() unassembles code generated from the HolyC compiler. +$LK,"Trace",A="MN:Trace"$() unassembles code generated from the CosmiC compiler. $LK,"PassTrace",A="MN:PassTrace"$() shows intermediate code coming-out after optimization. The bits ctrl which passes are displayed. $ID,-2$ diff --git a/src/Doc/DolDocOverview.DD b/src/Doc/DolDocOverview.DD index 58cbf829..5fc65616 100755 --- a/src/Doc/DolDocOverview.DD +++ b/src/Doc/DolDocOverview.DD @@ -123,29 +123,29 @@ Examples: to see $ID,-2$$TR,"BT Bttn"$ $ID,2$See $LK,"::/Demo/DolDoc/MenuBttn.CC"$. $ID,-2$$TR,"DA Data"$ -$ID,2$Used for forms that prompt for data or just displaying a value. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$, $LK,"::/Demo/Disk/DataBase.CC"$, and $LK,"::/Zenith/DolDoc/DocWidgetWiz.CC"$. +$ID,2$Used for forms that prompt for data or just displaying a value. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$, $LK,"::/Demo/Disk/DataBase.CC"$, and $LK,"::/Zenith/DolDoc/DocWidgetWiz.CC"$. If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$DA...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the $FG,2$->data$FG$ addr. See $LK,"task_title",A="FF:::/Zenith/DolDoc/DocEd.CC,&Fs->task_title"$. -The default raw data type for the $FG,2$$$DA...$$$FG$ command is $FG,2$RT=I64$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). +The default raw data type for the $FG,2$$$DA...$$$FG$ command is $FG,2$RT=I64$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). The $LK,"CDocEntry",A="MN:CDocEntry"$.aux_str arg $FG,2$A=""$FG$ is used for the print/scan format string. -The default field length is $FG,2$LEN=64$FG$ characters. For U8 arrays[], $LK,"DocForm",A="MN:DocForm"$() will automatically reset the field length to the string length from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition. The length measures starting after the ':' in the $FG,2$A=""$FG$ format string. +The default field length is $FG,2$LEN=64$FG$ characters. For U8 arrays[], $LK,"DocForm",A="MN:DocForm"$() will automatically reset the field length to the string length from the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's definition. The length measures starting after the ':' in the $FG,2$A=""$FG$ format string. The space after the first ':' in the format string marks the first valid cursor pos. See $LK,"Data Tag Width",A="FA:::/Zenith/DolDoc/DocPlain.CC,DataTagWidth"$. $ID,-2$$TR,"CB Check Box"$ -$ID,2$Used for forms. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$$FG$ and $LK,"CEdFindText",A="MN:CEdFindText"$. +$ID,2$Used for forms. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$$FG$ and $LK,"CEdFindText",A="MN:CEdFindText"$. If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$CB...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the $FG,2$->data$FG$ addr. See $LK,"task_title",A="FF:::/Zenith/DolDoc/DocEd.CC,&Fs->task_title"$. -The default raw data type for the $FG,2$$$CB...$$$FG$ command is $FG,2$RT=I8$FG$ which is $FG,2$Bool$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). +The default raw data type for the $FG,2$$$CB...$$$FG$ command is $FG,2$RT=I8$FG$ which is $FG,2$Bool$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). $ID,-2$$TR,"LS List Widget"$ -$ID,2$Used for forms that prompt for data. You must specify a define list, $FG,2$D=""$FG$. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$. +$ID,2$Used for forms that prompt for data. You must specify a define list, $FG,2$D=""$FG$. Use $FG,2$$FG$ to help you generate the DolDoc command text you need in your $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.CC"$. If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$LS...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the data addr. See $LK,"task_title",A="FF:::/Zenith/DolDoc/DocEd.CC,&Fs->task_title"$. -The default raw data type for the $FG,2$$$LS...$$$FG$ command is $FG,2$RT=I64$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). +The default raw data type for the $FG,2$$$LS...$$$FG$ command is $FG,2$RT=I64$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFormat",A="MN:DocDataFormat"$() and $LK,"DocDataScan",A="MN:DocDataScan"$(). $ID,-2$$TR,"MA Macro"$ $ID,2$A left macro arg, $FG,2$LM=""$FG$, will send text when the left mouse is clicked. @@ -224,7 +224,7 @@ $ID,-2$ $TR,"T=\"\" Tag Str"$ $ID,2$Some cmds have a tag by default. See $LK,"TX+T",A="FF:::/Zenith/DolDoc/DocInit.CC,TX+T"$. You can code $FG,2$T="tag_text"$FG$ as just $FG,2$"tag_text"$FG$ with no $FG,2$T=$FG$. $ID,-2$$TR,"LEN=\"\" Field Length"$ -$ID,2$The default field length for $FG,2$$$DA...$$$FG$ commands is $FG,2$LEN=64$FG$ characters. For U8 arrays[], $LK,"DocForm",A="MN:DocForm"$() will automatically reset the field length to the string length from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition. The length measures starting after the ':' in the $FG,2$A=""$FG$ format string. +$ID,2$The default field length for $FG,2$$$DA...$$$FG$ commands is $FG,2$LEN=64$FG$ characters. For U8 arrays[], $LK,"DocForm",A="MN:DocForm"$() will automatically reset the field length to the string length from the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ $FG,2$class$FG$ member's definition. The length measures starting after the ':' in the $FG,2$A=""$FG$ format string. The space after the first ':' in the format string marks the first valid cursor pos. See $LK,"Data Tag Width",A="FA:::/Zenith/DolDoc/DocPlain.CC,DataTagWidth"$. $ID,-2$$TR,"A=\"\" Auxilliary Str"$ diff --git a/src/Doc/FAQ.DD b/src/Doc/FAQ.DD index 242fc505..1659b31e 100755 --- a/src/Doc/FAQ.DD +++ b/src/Doc/FAQ.DD @@ -21,7 +21,7 @@ $ID,2$$LK,"Bt",A="MN:Bt"$() is $FG,2$bit test$FG$, like the $FG,2$x86$FG$ inst, $ID,-2$$TR,"Is 'Fs->' in the code file system?"$ $ID,2$$LK,"Fs",A="MN:Fs"$ is a segment reg, not $FG,2$file system$FG$. ($LK,"Fs",A="MN:Fs"$ is kept pointing to the current task's record.) There is no memory segmentation. It is 64-bit and flat. FS and GS are used as general purpose regs, more or less. $ID,-2$$TR,"Is it Pascal?"$ -$ID,2$ZenithOS uses a dialect of C/C++ called $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$. It is not $FG,2$Pascal$FG$. I altered the syntax making parenthesis optional on function calls with no paramaters. +$ID,2$ZenithOS uses a dialect of C/C++ called $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$. It is not $FG,2$Pascal$FG$. I altered the syntax making parenthesis optional on function calls with no paramaters. $ID,-2$$TR,"Why doesn't Sleep() make my laptop hibernate?"$ $ID,2$$LK,"Sleep",A="MN:Sleep"$() makes a program pause. It is not hibernation for a laptop. $ID,-2$$TR,"What is Yield() for in loops?"$ @@ -73,7 +73,7 @@ $ID,2$Binary executable files have export syms which are loaded into the sym tab $ID,-2$$TR,"Why doesn't assert work?"$ $ID,2$$FG,2$#assert$FG$ might print a message at COMPILE time, not run time. $ID,-2$$TR,"Why doesn't C++ public work?"$ -$ID,2$The word $FG,2$public$FG$ in $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ does very little except allow the $LK,"Help & Index",A="FI:::/Doc/HelpIndex.DD"$ and $LK,"Who",A="MN:Who"$() to exclude meaningless syms. If you wish a full report of public and nonpublic syms $MA-X+PU,"Click Here",LM="DocMax(1000000);Who;View;\n"$. +$ID,2$The word $FG,2$public$FG$ in $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ does very little except allow the $LK,"Help & Index",A="FI:::/Doc/HelpIndex.DD"$ and $LK,"Who",A="MN:Who"$() to exclude meaningless syms. If you wish a full report of public and nonpublic syms $MA-X+PU,"Click Here",LM="DocMax(1000000);Who;View;\n"$. $ID,-2$$TR,"How does the debugger do source debugging?"$ $ID,2$When compilation takes place, the structures used by the compiler stick around. Data on classes can be accessed. See $LK,"ClassRep",A="MN:ClassRep"$(). $ID,-2$$TR,"What are the ASCII 5 and ASCII 31 chars doing in my text files?"$ diff --git a/src/Doc/Features.DD b/src/Doc/Features.DD index 4eb0841e..e640c7f6 100755 --- a/src/Doc/Features.DD +++ b/src/Doc/Features.DD @@ -8,7 +8,7 @@ * Free, $FG,2$public domain$FG$, $FG,2$100% open source$FG$. -* 64-bit $FG,2$compiler/assembler$FG$ for $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$. Truly compiles, doesn't interpret. $FG,2$Just-in-Time$FG$ and $FG,2$Ahead-of-Time$FG$ compilation. With $FG,2$JIT$FG$, no need for object or exe files. +* 64-bit $FG,2$compiler/assembler$FG$ for $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$. Truly compiles, doesn't interpret. $FG,2$Just-in-Time$FG$ and $FG,2$Ahead-of-Time$FG$ compilation. With $FG,2$JIT$FG$, no need for object or exe files. * No 32-bit krufty code. diff --git a/src/Doc/Glossary.DD b/src/Doc/Glossary.DD index 49e75a64..16ef8c89 100755 --- a/src/Doc/Glossary.DD +++ b/src/Doc/Glossary.DD @@ -169,8 +169,8 @@ $ID,-2$$TR,"Code and Data Heaps"$ $ID,2$ZenithOS uses the asm $FG,2$CALL$FG$ inst, exclusively, and that inst is limited to calling routines $FG,2$+/-2Gig$FG$ from the current code location. To prevent out-of-range issues, I decided to separate code and data, placing all code within the lowest $FG,2$2Gig$FG$ of memory, addresses $FG,2$00000000$FG$-$FG,2$7FFFFFFF$FG$. The compiler and $LK,"Load",A="MN:Load"$()er alloc memory from the code heap to store code and glbl vars, unless the compiler option $LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$ is used. When programs call $LK,"MAlloc",A="MN:MAlloc"$() is from the data heap, which in not limited in size, except by physical RAM memory. You can alloc from any heap in any task at any time on any core, even making $LK,"independent",A="MN:MemPagAlloc"$ heaps. $ID,-2$$TR,"Parent, Child and PopUp Tasks"$ $ID,2$Often a task will $LK,"Spawn",A="MN:Spawn"$() or $LK,"PopUp",A="MN:PopUp"$() a task as a helper. The helper is known as a child Task, though you can $LK,"Spawn",A="MN:Spawn"$ a task and assign it a different parent... like $FG,2$Zenith$FG$. Links are kept as to who's whose child, so when one task is $LK,"Kill",A="MN:Kill"$()ed the child helper tasks die, too. You can get a report of current system tasks with $LK,"TaskRep",A="MN:TaskRep"$(). There is just one window per task, so child tasks are needed for pop-ups. -$ID,-2$$TR,"HolyC"$ -$ID,2$$LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ is more than $FG,2$C$FG$ and less than $FG,2$C++$FG$. It has the default args of $FG,2$C++$FG$ and uses $FG,2$class$FG$ in place of $FG,2$struct$FG$. It uses $FG,2$U0,U8,U16,U32,I64$FG$ and $FG,2$I0,I8,I16,I32,I64$FG$ for signed and unsigned ints. It has different $LK,"operator precedence",A="FF:::/Doc/HolyC.DD,operator precedence"$. It has $FG,2$PASCAL$FG$-like function calls with no parens, but requires an $FG,2$&$FG,2$$FG$ when referring to function addresses. +$ID,-2$$TR,"CosmiC"$ +$ID,2$$LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ is more than $FG,2$C$FG$ and less than $FG,2$C++$FG$. It has the default args of $FG,2$C++$FG$ and uses $FG,2$class$FG$ in place of $FG,2$struct$FG$. It uses $FG,2$U0,U8,U16,U32,I64$FG$ and $FG,2$I0,I8,I16,I32,I64$FG$ for signed and unsigned ints. It has different $LK,"operator precedence",A="FF:::/Doc/CosmiC.DD,operator precedence"$. It has $FG,2$PASCAL$FG$-like function calls with no parens, but requires an $FG,2$&$FG,2$$FG$ when referring to function addresses. $ID,-2$$TR,"AOT Compile Mode"$ $ID,2$$FG,2$Ahead-of-Time$FG$ compiling is conventional compilation mode. Do not use $FG,2$AOT$FG$, use $FG,2$JIT$FG$ compiling. @@ -223,11 +223,11 @@ $FG,5$*.???.C$FG$ $FG,5$*.DD;*.DD$FG$ Text Files $FG,5$*.CC;*.CC$FG$ - HolyC src files. The default HolyC compiler type is $FG,2$.CC$FG$. + CosmiC src files. The default CosmiC compiler type is $FG,2$.CC$FG$. $FG,5$*.PRJ.Z;*.PRJ$FG$ - HolyC src files to be compiled $FG,2$AOT$FG$. + CosmiC src files to be compiled $FG,2$AOT$FG$. $FG,5$*.HH.Z;*.HH$FG$ - HolyC src header files. + CosmiC src header files. $FG,5$*.MAP;*.MAP$FG$ Compiler "map" files $FG,5$*.BIN;*.BIN.C;*.BIN$FG$ @@ -237,7 +237,7 @@ $FG,5$*.DATA.Z;*.DATA$FG$ $FG,5$*.ISO$FG$ CD/DVD image file. $FG,5$*.IN.Z;*.IN$FG$ - $FG,2$InFile$FG$ Basically a HolyC program whose stdout goes to the input of a task when $LK,"InFile",A="MN:InFile"$() is called. + $FG,2$InFile$FG$ Basically a CosmiC program whose stdout goes to the input of a task when $LK,"InFile",A="MN:InFile"$() is called. $FG,5$*.GR;*.GR$FG$ Graphics file @@ -253,10 +253,10 @@ $FG,5$ALL_CAPS$FG$ Assembly Language labels are capitalized with underscores between words. So are $FG,2$#define$FG$'s. $FG,5$_ALL_CAPS$FG$ - Asm routines which are $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ callable must have a leading underscore. + Asm routines which are $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ callable must have a leading underscore. $FG,5$MixedCaps$FG$ - $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ Functions and class names are MixedCaps. + $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ Functions and class names are MixedCaps. $FG,5$lower_case$FG$ Local function vars and glbl vars are lower case. Class member names are also lower_case. diff --git a/src/Doc/GuideLines.DD b/src/Doc/GuideLines.DD index 67996417..118325f6 100755 --- a/src/Doc/GuideLines.DD +++ b/src/Doc/GuideLines.DD @@ -60,7 +60,7 @@ $FG,5$$TX+CX,"Programming Guidelines"$$FG$ * There are two modes of compiling, $LK,"AOT Compile Mode",A="FF:::/Doc/Glossary.DD,AOT Compile Mode"$ and $LK,"JIT Compile Mode",A="FF:::/Doc/Glossary.DD,JIT Compile Mode"$. Compilation is done in both -- neither is "interpreted". Use $FG,2$$LK,"JIT Mode",A="FF:::/Doc/Glossary.DD,JIT Compile Mode"$$FG$. -* $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ +* $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ * Use $FG,2$I64$FG$ instead of smaller int sizes because the compiler converts everything to 64-bit. Don't use unsigned$FG$ unless it actually breaks. A policy of signed keeps it simple so you don't have to agonize over choices. @@ -96,9 +96,9 @@ $FG,5$$TX+CX,"Hash Sym Tables"$$FG$ * See $LK,"::/Zenith/ZHash.CC"$ for examples of how the hash tables are set-up. Basically, syms are placed into hash tables and child process hash tables are chained to parents. This provides scopes for vars and functions. -* $FG,2$zenith_task->hash_table$FG$ holds the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ syms loaded in on start-up. +* $FG,2$zenith_task->hash_table$FG$ holds the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ syms loaded in on start-up. -* $FG,2$Fs->hash_table$FG$ holds user HolyC syms and if a sym is not found, it checks parents. When a duplicate sym is added to the table, it overshadows the prev sym. When developing software, typically you include the file at the cmd prompt, make changes and reinclude it. Old syms are overshadowed but they are still there. Periodically, kill the TASK and start fresh when mem is low. If you wish your applications to free themselves instead of staying in mem, spawn or $LK,"PopUp",A="MN:PopUp"$() a task to run the application and kill it when it's done. +* $FG,2$Fs->hash_table$FG$ holds user CosmiC syms and if a sym is not found, it checks parents. When a duplicate sym is added to the table, it overshadows the prev sym. When developing software, typically you include the file at the cmd prompt, make changes and reinclude it. Old syms are overshadowed but they are still there. Periodically, kill the TASK and start fresh when mem is low. If you wish your applications to free themselves instead of staying in mem, spawn or $LK,"PopUp",A="MN:PopUp"$() a task to run the application and kill it when it's done. * To display the contents of a hash table, use the $LK,"Who",A="MN:Who"$() routine or the varients. $LK,"HashDepthRep",A="MN:HashDepthRep"$() gives a histogram of how long the chains are, in case you wish to make hash table sizes bigger. @@ -114,7 +114,7 @@ See $LK,"::/Doc/Asm.DD"$. * Don't change the segment regs unless interrupts are off. It's hard to do, anyway. $LK,"SET_FS_BASE",A="MN:SET_FS_BASE"$ and $LK,"SET_GS_BASE",A="MN:SET_GS_BASE"$. -* When interacting with $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ compiled code, preserve $FG,2$RBP, RSI, RDI, R10-R15$FG$ because the compiler uses these for reg vars. You are free to clobber $FG,2$RAX, RBX, RCX, RDX$FG$, $FG,2$R8$FG$ and $FG,2$R9$FG$. See $LK,"Compiler Reg Masks",A="MN:REGG_LOCAL_VARS"$, $LK,"PUSH_C_REGS",A="MN:PUSH_C_REGS"$ and $LK,"POP_C_REGS",A="MN:POP_C_REGS"$ +* When interacting with $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ compiled code, preserve $FG,2$RBP, RSI, RDI, R10-R15$FG$ because the compiler uses these for reg vars. You are free to clobber $FG,2$RAX, RBX, RCX, RDX$FG$, $FG,2$R8$FG$ and $FG,2$R9$FG$. See $LK,"Compiler Reg Masks",A="MN:REGG_LOCAL_VARS"$, $LK,"PUSH_C_REGS",A="MN:PUSH_C_REGS"$ and $LK,"POP_C_REGS",A="MN:POP_C_REGS"$ * I recommend using the standard stack frame for functions because $LK,"Caller",A="MN:Caller"$() is used to display the call stack, such as for the wallpaper. $FG,2$ PUSH RBP diff --git a/src/Doc/HelpIndex.DD b/src/Doc/HelpIndex.DD index dfd81229585dfea2e91d5fea86636f6c79d929e8..a8d7881802837cf91939d719bf3b737f92c688f8 100755 GIT binary patch delta 98 zcmZ2rzSMj}GApZdesON*=5$tOb}2B^SxLvyR>{rN%F0ULB|ljoBHzR_gA<>;kysKF Q)TkK}=NLDqOIb1k0P8Lux&QzG delta 94 zcmZ2#zQBA#GAoNmeop1)3|3}#2@uO!NypJv$<5Qs%1YlQKUp6v+sZS86Su6nSP~P& Rlz9^87#UeN=SW#H0svl=9Fzb6 diff --git a/src/Doc/InFile.DD b/src/Doc/InFile.DD index 2e1d4d1c..32d56509 100755 --- a/src/Doc/InFile.DD +++ b/src/Doc/InFile.DD @@ -1,6 +1,6 @@ $WW,1$$FG,2$InFiles$FG$ are used to generate user input to automate operations. The ZenithOS tour is done with an $FG,2$InFile$FG$. It reminds me of a Unix pipe because $FG,2$StdOut$FG$ of one gets chained into $FG,2$StdIn$FG$ of another. -When an $FG,2$InFile$FG$ runs, a child task is $LK,"Spawn",A="MN:Spawn"$()ed which intercepts real user input and generates fake input. InFiles are $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ programs run by the child whose stdout goes to the parent's input buffer. $LK,"Message",A="MN:Message"$() can be included in an $FG,2$InFile$FG$ to send special keys or mouse cmds to the parent. While an $FG,2$InFile$FG$ is running, the normal input gets diverted to the InFile task and can be filtered and sent back to the parent task. Unless you are driving functions which prompt for data, you can probably use an $FG,2$#include$FG$ file in place of an $FG,2$InFile$FG$. +When an $FG,2$InFile$FG$ runs, a child task is $LK,"Spawn",A="MN:Spawn"$()ed which intercepts real user input and generates fake input. InFiles are $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ programs run by the child whose stdout goes to the parent's input buffer. $LK,"Message",A="MN:Message"$() can be included in an $FG,2$InFile$FG$ to send special keys or mouse cmds to the parent. While an $FG,2$InFile$FG$ is running, the normal input gets diverted to the InFile task and can be filtered and sent back to the parent task. Unless you are driving functions which prompt for data, you can probably use an $FG,2$#include$FG$ file in place of an $FG,2$InFile$FG$. See $LK,"::/Demo/InFile/InDir.IN"$. diff --git a/src/Doc/Quirks.DD b/src/Doc/Quirks.DD index 9964bdd6..ad54a565 100755 --- a/src/Doc/Quirks.DD +++ b/src/Doc/Quirks.DD @@ -12,7 +12,7 @@ $WW,1$* You run a risk of problems if you do file operations on the same files s * Accessing CD/DVD's is flacky. Try $LK,"Drive",A="MN:Drive"$() or $LK,"DiskChange",A="MN:DiskChange"$() twice. -* You can only $FG,2$extern$FG$ something once. There is a varient called $FG,2$_extern$FG$ which binds a HolyC definition to a asm sym. This, too, can only be done once. +* You can only $FG,2$extern$FG$ something once. There is a varient called $FG,2$_extern$FG$ which binds a CosmiC definition to a asm sym. This, too, can only be done once. * A terminal task has a $LK,"CDoc",A="MN:CDoc"$ document structure that remains active even when you change $FG,4$Fs->draw_it$FG$. To prevent links in the $LK,"CDoc",A="MN:CDoc"$ from being activated when the user clicks in the window, do one of three things: $ID,2$ diff --git a/src/Doc/Resource.DD b/src/Doc/Resource.DD index 6796aaf8..0a4907d1 100755 --- a/src/Doc/Resource.DD +++ b/src/Doc/Resource.DD @@ -2,4 +2,4 @@ $WW,1$$FG,5$$TX+CX,"Graphic Sprite Resource Help"$$FG$ A sprite is an ordered list of elements such as lines, rectangles, bitmaps and color changes. In a program's source code, you first $FG,2$make a sprite$FG$ somewhere outside a function. Then, you $FG,2$insert a pointer$FG$ to the sprite as an "*elems" arg when calling $LK,"Sprite",A="MN:Sprite"$() or $LK,"Sprite3",A="MN:Sprite3"$(). See $LK,"Sprites",A="HI:Sprites"$. -You can create a $FG,2$sprite macro$FG$ on your $LK,"PersonalMenu",A="FI:~/PersonalMenu.DD"$ with a payload of $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ source code to execute when it ESC's back to the cmd line. If you check "Pop-Up", it will spawn a new task and run the payload. A pop-up macro can be placed in any document. +You can create a $FG,2$sprite macro$FG$ on your $LK,"PersonalMenu",A="FI:~/PersonalMenu.DD"$ with a payload of $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ source code to execute when it ESC's back to the cmd line. If you check "Pop-Up", it will spawn a new task and run the payload. A pop-up macro can be placed in any document. diff --git a/src/Doc/ScopingLinkage.DD b/src/Doc/ScopingLinkage.DD index 8e7fedba..2f1c1678 100755 --- a/src/Doc/ScopingLinkage.DD +++ b/src/Doc/ScopingLinkage.DD @@ -107,9 +107,9 @@ $WW,1$ * All offspring tasks of a task inherit syms. -* The $FG,2$sizeof()$FG$ and HolyC structure members can be used in asm blks. +* The $FG,2$sizeof()$FG$ and CosmiC structure members can be used in asm blks. -* Using $FG,2$&i$FG$ in $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ or $FG,2$i.u8[2]$FG$ on a local var, $FG,2$i$FG$, will force it to $FG,2$noreg$FG$. +* Using $FG,2$&i$FG$ in $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ or $FG,2$i.u8[2]$FG$ on a local var, $FG,2$i$FG$, will force it to $FG,2$noreg$FG$. * Using $FG,2$try$FG$/$FG,2$catch$FG$ in a function will force all local vars to $FG,2$noreg$FG$. diff --git a/src/Doc/Strategy.DD b/src/Doc/Strategy.DD index 61a7a6b8..3c049a7e 100755 --- a/src/Doc/Strategy.DD +++ b/src/Doc/Strategy.DD @@ -42,7 +42,7 @@ A three bttn mouse is like a leg you cannot put weight on. ZenithOS just does h * Whole files are processed almost exclusively, allowing compression. -* $LK,"One language",A="FI:::/Doc/HolyC.DD"$ and compiler for command-line, scripts, songs, automations and code. +* $LK,"One language",A="FI:::/Doc/CosmiC.DD"$ and compiler for command-line, scripts, songs, automations and code. * One editor/word processor/browser for the command-line window, source code, documentation browser, dialog forms. diff --git a/src/Doc/Tips.DD b/src/Doc/Tips.DD index 1ad3ad68..29ebdffd 100755 --- a/src/Doc/Tips.DD +++ b/src/Doc/Tips.DD @@ -25,7 +25,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes. * You can set your local time zone by setting the $LK,"local_time_offset",A="MN:local_time_offset"$ global var in a start-up file. It's units are $LK,"CDATE_FREQ",A="MN:CDATE_FREQ"$. See $LK,"local time",A="FF:~/HomeLocalize.CC,local_time"$. -* $FG,2$$FG$ in the editor to reindent a $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ function or renumber an asm routine's local labels. +* $FG,2$$FG$ in the editor to reindent a $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ function or renumber an asm routine's local labels. * You can use $FG,2$filter_lines$FG$ in the editor text search form ($FG,2$$FG$) to temporarily display just lines near each match. A value of $FG,2$filter lines$FG$ set to $FG,2$5$FG$ will display lines within 5 lines of matches. Then, you can do another find to a different string and achieve a $FG,2$AND$FG$ search. When finished, press $FG,2$$FG$. @@ -145,7 +145,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes. * With $FG,2$start$FG$/$FG,2$end$FG$, common trailing code is fast. Common leading code is slow.$FG$ -* The first line of the $MA-X+PU,"Psalmody",LM="#include \"::/Apps/Psalmody/Run\"\n"$ $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ song files is a comment with a category recognized by $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). The categories are $FG,2$"no nothing"$FG$, $FG,2$"has words"$FG$, $FG,2$"has graphics"$FG$, or $FG,2$"special"$FG$. The third character in the song comment is a digit rating number, shown in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). You can set the song rating in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$() by pressing $FG,2$0$FG$-$FG,2$9$FG$. You can press $FG,2$$FG$ to delete songs. +* The first line of the $MA-X+PU,"Psalmody",LM="#include \"::/Apps/Psalmody/Run\"\n"$ $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ song files is a comment with a category recognized by $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). The categories are $FG,2$"no nothing"$FG$, $FG,2$"has words"$FG$, $FG,2$"has graphics"$FG$, or $FG,2$"special"$FG$. The third character in the song comment is a digit rating number, shown in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$(). You can set the song rating in $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.CC,JukeBox"$() by pressing $FG,2$0$FG$-$FG,2$9$FG$. You can press $FG,2$$FG$ to delete songs. $FG,8$ * "Linux" is a trademark owned by Linus Torvalds. diff --git a/src/Doc/Welcome.DD b/src/Doc/Welcome.DD index f1667b50..b7663a0a 100755 --- a/src/Doc/Welcome.DD +++ b/src/Doc/Welcome.DD @@ -49,7 +49,7 @@ $LK,"/Apps/Psalmody/Examples/prosper.CC",A="FI:::/Apps/Psalmody/Examples/prosper Two things to know about ZenithOS are that $UL,1$tasks$UL,0$ have $LK,"MAlloc",A="MN:MAlloc"$/$LK,"Free",A="MN:Free"$ heap memory, not applications, and tasks have compiler symbol tables that persist at a scope like environment variables in other operating systems, and the symbols can include functions. -For other operating systems, I hated learning one language for command line scripts and another for programming. With $FG,2$ZenithOS$FG$, the command line feeds right into the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ compiler, line by line, and it places code into memory it $LK,"MAlloc",A="MN:MAlloc"$()s. The compiler is paused at the command line, waiting for input. Naturally, you $FG,2$#include$FG$ a program to load it into memory and, usually, start it. +For other operating systems, I hated learning one language for command line scripts and another for programming. With $FG,2$ZenithOS$FG$, the command line feeds right into the $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ compiler, line by line, and it places code into memory it $LK,"MAlloc",A="MN:MAlloc"$()s. The compiler is paused at the command line, waiting for input. Naturally, you $FG,2$#include$FG$ a program to load it into memory and, usually, start it. During the boot process, many files get $LK,"compiled",A="FI:::/StartOS.CC"$ before you have access to the command line. (Don't worry, booting takes only two seconds.) All the header declarations for the operating system are compiled and are available for use in your programs without needing to $FG,2$#include $FG$them. Everything is truly compiled to native $FG,2$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ machine code, nothing is $FG,2$interpreted$FG$ and there is no $FG,2$byte code$FG$. @@ -69,7 +69,7 @@ $FG$I didn't like that, so I made parentheses optional on calls with no args and The syntax change created an ambiguity when specifying function addresses, like for calling $LK,"QuickSort",A="MN:QuickSort"$(). To resolve it, I made a '$FG,2$&$FG$' required in front of function names when specifying an address of a function, which is better anyway. -Once I was no longer using standard C/C++ syntax, I decided to change everything I didn't like and call it $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$. Here are the new $LK,"operator precedence",A="FF:::/Doc/HolyC.DD,operator precedence"$ rules. It's Biblical! See $LK,"Luke,5:37",A="BF:Luke,5:37"$. +Once I was no longer using standard C/C++ syntax, I decided to change everything I didn't like and call it $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$. Here are the new $LK,"operator precedence",A="FF:::/Doc/CosmiC.DD,operator precedence"$ rules. It's Biblical! See $LK,"Luke,5:37",A="BF:Luke,5:37"$. There are no object files in ZenithOS and, normally, you don't make executable files either, but you can. That's known as $LK,"Ahead-of-Time",A="FF:::/Doc/Glossary.DD,AOT Compile Mode"$ compilation. Instead, you $LK,"Just in Time",A="FF:::/Doc/Glossary.DD,JIT Compile Mode"$ compile. diff --git a/src/Doc/Widget.DD b/src/Doc/Widget.DD index 8c27351a..532b087c 100755 --- a/src/Doc/Widget.DD +++ b/src/Doc/Widget.DD @@ -2,7 +2,7 @@ $WW,1$$FG,5$$TX+CX,"DolDoc Widget Help"$$FG$ $LK,"DolDoc",A="::/Doc/DolDocOverview.DD"$ is a ZenithOS document type. -$FG,2$"Expression"$FG$ a num or HolyC algebraic term with operators and HolyC syms can be entered. +$FG,2$"Expression"$FG$ a num or CosmiC algebraic term with operators and CosmiC syms can be entered. $FG,2$"Macro"$FG$ Most entries can behave like macro entries if you assign them macro strs. $FG,2$"InStr"$FG$ Like a macro except it is an $LK,"InFile",A="FF:::/Doc/Glossary.DD,InFile"$. You can't have both an in_str and macro text defined. diff --git a/src/Downloads/ReadMe.TXT b/src/Downloads/ReadMe.TXT index 7fe5810b..d4f628a6 100755 --- a/src/Downloads/ReadMe.TXT +++ b/src/Downloads/ReadMe.TXT @@ -9,7 +9,7 @@ ZenithOS is 64-bit and will not run on 32-bit hardware. ZenithOS requires 512 Meg of RAM minimum and can have 256 Gig of RAM or more! ZenithOS files are compressed with a nonstandard LZW format and the source -code can only be compiled by the ZenithOS compiler because it is HolyC, a +code can only be compiled by the ZenithOS compiler because it is CosmiC, a nonstandard C/C++ dialect. You must boot ZenithOS. Then, you can compile it because it is 100% open source and all source present on the distro. diff --git a/src/Kernel.BIN.C b/src/Kernel.BIN.C index f0b1cdc51988e7192d2b75b93eb6c495d7982b51..ce23048bca02a8b9427bf2a5411e911b687314ac 100755 GIT binary patch delta 31069 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 delta 30678 zcmZr(2V7Lg^MAW=bOcnSE2tKcCOMw>vvK+h=BH_Z{oc+b=n9?@?CMTI$|4 zvAtRS%ZmSkOZ2y7sfU;KI_9;Tg$3b0+Zw=x&7<3U>9>&)Jd#5 zCIpCic9Ntutq)+5R602CZ5?laX3j0tR?lm!8*Ih8|V}to3`@Ejh}VELRub_XES>!v)Bscg+;!2wYIbEnfGApE*sW5FLz%b3s#)_>_9wA&x<@bw}xf+y_J=@{o_2# zB#K0}anH*+yV721Ptf((+`?h$^4x|uCtB$mCq(tM%iD7Eouws>RNj`m6Kv3d9*@VN z)cKFQGxva8RM=cx_Bf<)kMD23{ZAdYkrJYj>1A0GW6ScoJUyfFT8`0@dT32gLJFM@ z`(F+;nWBq=xaMP0sqd2a6)zD&xU_QKzL`@gAwtownwX}Fa8?TZ*j#Gbj{ ze>$_&+`vEU_-y-k2JZ$RGBk;fuAMvj&pQ8QdDH&`MFS~3Z^xg{8S~9u_i__!o7?`? zUbZ0b&sSes@CM}=z@>TUCXbz&2^2J=c~T|nNK#pNNa0YeNs3(<>8vZE5s^|P z`DQ0ck`Eri<9UICc-uICkvCguiFql42eRtht*Utz{T&d}BQAwI{|EWjiRo4`#L59C0t06~t6^2F7X@-g&-`? z(3{OpO|{4F`D!hWYmJ&JK!y}P7&tG+tSv}HHR&&2ThLkDZpu8eo>WDiUdV$QrN?NU z4)!x^6T#~;;dMRC=ExZt<~wO4&~$S=@ZS7&Y81dZ_61(@%#p}AgQx{UP<_plU=$9Hh^pH8twpcTd z5M^#!(+_Cp2}HCxns3F)X3V#T14N^t8p+4Czk##w6SLXyHO-Epa%dUCyVP(1h07^C zQ1(VRg(FZ60km|f3o^DqM)?g`l)1?_L_`SlavajEvJX@Ip(aZx zZVo$!m;91SF>4kg49Ss>m(7GW$U2H>j6S33RdB7c66j#pM8Y_2ch(lX{s%Tn#fmwh z%*D-LiRAr<-YETQ41EVxRAN4> zm6*>0dX;Fl;zjfzQ__u^T$K#zJ*W>dC|b$1yd4mqE9shr^fGEPRq9Df%*TLNv8EB8 zlGf>{rVax0G+vbEbkwIB#eAv==jJRlYaSxEyzBOizhznXmP6g1v8F<-zurV@)P&=u z)8B4f_ogFp{9n4(DjjjwB`9>-|Ci2FrF-jOHe;#}!OQG4>kOKkbvy7XV%nT1HaEk1 zAcQjdB+9YRE6k{gj%sz&F+#=bda7|v48>7b)G!6X+ktEFR9Secq+ntDFBV+Ie`H}t zaj?h&k069^2M)qh<#F5oLp6%a|5=R^75|aPd5Wvm_!GghhM2JS#Kq`y8F9okYV4dE zGtL=MA`xlS%vUiv z^a|H(#?+hM1Vye!0ELVqwAnFPC7MG>lGGSdH6c_@2+N|k%CNnPQV7B|u^$+AP#M-$ z^ZBSmO+GPvVW*Vz1h2?>VN}7$c@dL{3{!0ky%STg20uy=dCMPYE7B4vt!`q9%Rdw6 zBT?61*GJcTK>vQn187A+dERfyLOps=L9@-19b!!-y6o3?&`r~^>LOx9a4Y88q6L!U zX1|$!d)WV)zDC#DEo)cTj38#mjYo#+o+Req7Uo z5Jc}M(97i0S&8|yq1Qi`bfS{1iB*y{5lYObxf1iKPp=Zq1DlULZ`t%zn4SX)OiSnm zS%X)xhFD9*noztLa+xc0{Zoa$BKjl4htc29?U3_#AmqMpNQQ}Q(xNl1K%pw+t{AKj z3b_x$a(V2(6><|GNggu;ak@}qO(c@UCB<2( zHyPm%imlu`i z?w?arb569Bb1R_V?F=udNG@lHoCsFGPLIk|G?AtFqK?z=ApbKwU@xT%1Y)E(8^LN? z#S*?9@%8pLQ;}9}QRL(sXhfwgQJpBPm6GGp_oFdK)KM5pp)^NKu2u-qzM;$>k;aHv zAQJsD=8-u))G!PT4Wo&x3vsQqR(9S7*Y#paTh_AWpVnwfBTX{BUdgehlaO<=itDA~ zbQZ^G0b-6MAZ>w~=D4CAtF4>QF)!n9I@E>U(Dfu$g?>f!`HsxnW?&h~;jm1xxE*uL+CuZ6G?U|ggp?90HPYu6A4UHN zB;5|o`AE9-KcwS7k#YKpGfN29=x-O&)TWy1|79uke%i9O(w*$Y_d}w6ge~L)|Sj5nO718fg z5%&=Me~UPUgfe$+c7-CQoeD^)X&V)5nPxXqFp9pKCU}QyHlX-)Um)D69^sl*6n944 zS&c8nE3HbgW~_*g!tSH7m>b2~x}LW*n=|~h3!}qslEArusC-5I62*LL>_Zr~HHS2b zyQ!^nOndS5Jk2`c+@84x8r3vsO1n*I$6i~`)1;|b-+y2=^E3lQ0yaBNx#*Nw=0gLn zWf9B8$@Z*WRt92n=XYp(A{jklasTPLK*ZovHA*4aJ&`NF;;O=L-bp z`7FaTrK*%tMO$DB#{lCmKBcidOtgw--Rg0qqPDg1qAZ?D7FRrrHBNXchN%@7d!kv* zmcOAo<}^F`G{kV}Zt#Jq>4nM??f@iQ>1yD#vtOn)LPCK;?1#`EVHLw#g}*}=nbWN0 zo_Li-p)b||A+ruB7&60J4)`5-8TdBT7p3i0ygL}Q7E@zb%ZTF-D$FTTij7<+3TZ}7 zZRAgp43aY>v$KkF`v>X=;$VbvSAn*45zk^EE5>|aaXwN>oP*kbVDYVrng-Mdb$_QF zq*25FBK-b=P;7j6AZ}?)X#CAEYURzaxzrIDs!GH2Jdn3EQze)lH^c5L6vO^aaS+Js zzuycyhxb1+eofI5O&VU2v^GmL=V z+E;&LRzsb!Ls) z&%vbsS5mM=DXdVleD!No4CCw)H~UhW15FZZjO5Z2WDeedg2Fxy@LIkt`o=Q7)#g}K z{H-X6Wm<=QnaGOzL)=^!4sp!G`#}|AhG~}~CCN8vW9NcVY!rt)XGK&To6o$(k8#Z1 z()V74Su9=4T-!pj>JnuuWGw3|FWF)?$73o<@(@f$(pouYyL6i*IsZ7)TOekW?gEQM z%Dk*KpG$%c4DZ5fu^IV&y0H12^IycHc-E!*zU%0+?)oHos}j)Z_41cO*Ny$+<_-M{ zwn@4~y)Hqgm;0iaB>949oxuETHvCXwP7jt_iXjQiKdJRzESz7_&6wz#6QE0rPqCIQ zH&YF*DFj! z6QN0DpD}+CpUAveJuxbg&1Cz;vqa`<0SP0lyR&92T(s`ae3(x3?9RGIuPi~`CeidU zhUtnh6$>WUKn#C0=nz1ASXn=9c-Vo`3UgXQ2sA@PGmvFKQr{MhHh zu?HK-%EXu+Y$O{de(Ax2SiZ2+v%1V7KSsrECfwN(r_$!Ic zV=F~wPv-3qcd5dxH%Lg5Pm3)*(VQ0Ic~3NFy>RTs+#1gKo$~e{sLkm(umbbN1}c$e zU3+ao&q$@>l480zJ`-JfF`s~oR8~$QkC#`HA~SXzSLUQQOzDM*G`A9=N7uC$xxH9# zuMGk4bJwSJXwpoBB*7x{HGD&r=_qV^v(}+0->St`gB0tJFy(Eh@*(A!SefjKukkf+oDL^P+N4&|%lolj zQzX6YEo$^(3Dx&4q#38lc%s(81>x~xdLQP^Mv7H^SZCHiJnX{`Sv&S8XJL-`sxRx! zd@j zE%ylbfh@vy)nE{e5L~;? z;?F^>b=8|oQ6Q#>M!qx$p;lqviO9jMdaYjxU!qwH#YPhc{kh_y+P7r)%onMHSr4~k zm~U7L2Vavhjle{A5c(Vyw+Ax=>mjs5SUB?#vxcyU`ZsPNcXr`P5bBJK%v*9b!mx!M zWu6!*2fU_+)XtZOu&Rui#M_}*hy8>{GRtB%VpTF5Su6V$*^n3FjJ*xIlJ@RuwfY6< zjJR+w2@Q*_1JpRrg2bUE*MdhI0H z7t<)#bnT7SEtH$^9L+wnA3GYU z6Y-G!1j26B&w<59ebq~A#3b9H((fJ3wz7?)&luK@Tiq3F#;{`RF=MH~PGZDZ*4s8} zoZ9YG@#9!_%KJcDnn&d+lG=iJy^P&H%`Cm#OY9xTLhC216l%J<@11@YlGz`tsxlMS z=?LL4o_V{)B1Jy@8rA~)M`Cl)Zamx!`$W(2tl4LU5lWH&WO(&QFs!DBCO$Bp=6-Kb zK$Deu$(v>(2+8b1i3OC1flw0la&vKcJZt3=q40a11cL4pKyX&noWN>CM1JI%PS~-% zKJs+07QI^U) zFts&l%&*&h2x=X?NvDeZQ$H+X8-0@2l;LdXnZ}^z*EOI;Sg!QGdE7YaW%D?L9AqGK z*22&SL~ zFVpQyG+DxGBCBPSMRXJkoXECiIZi}&9~XK$y3*6tgPvhN^o;Psvqa;MC;fdvk6>xd zVg<8_vKp1FMkT9J$!b)x8kMZ*3<$WBJE*b#4(N@ZvR{4$o=x#ws~e!}FZ7dGl--jp zkZP&cGP@==Ok%y5QM{eR+StZcq6dk{$*eao{Yt!>#KLWNe5Fz!6L%)Fo~*NIHHEdc zb*RMpi5XK^ER^}#DXg{a^vx>mQsF!m*!l|A?#ZUg@~(&tQ=yE6csi9eu{BhpGeq5K zY#I*c)=$IXSK&0)h#eD8ra><*5)Gy^KmWq7E6g|U!?`DW@1wSLY)K;fmDafD8}yXy z17xX5jGc~*#bWhz)*xc(9c93Wm2@0tz#hR@k`#xJc3~GoH+l6=b>{#>Lhem+**M1l z3a$Adz2uXEWw07;gVmIAY6`vNb+6 zOy*xJGaD9sT63~FD`iWH*>F9RL>6p>%i?AxYteB#&aoxc=|NLJ-5q<~3}=XJd1Zxp zx*yJ5tiZ;8f~IsD$WkQjk+}3xX&uH+NKTY}SDVdiAjLILM6WDp{qtgC7HbTNxhab^ zVW}!oFP>#VCo~eCGgvLZs{$$kjN~6NQ4G%Y5gIdw{EDQQz^P31p231W4j-#9AM%y% zRA?=Z;qdU7>>f3bAsMV^z+xOLexAWX*`LBbn>F;{_sr%OOP~qI_(~IAYFjl=tD;}i zGhX%-U9wS+#v&t|eby*$1=>^f-wpVDC4}oZdHW4z+-Or^57Dzg{E-b~;-Ltb$$TL* zbTipbzVAnIYy_(&>~mN(Heb}rL3`JTHaV=hyk{PH$-_$oqH5D$T%6ZIm4l%;gJN%IKKJYQ?UqtASLm1ySTMH$fV>%YTzjI&V2L-oTg68W>3KQoA1vzV97@ew4t zG%+h?Bl4vhsf|dDdh2nsLY@vx$V>QqXuvb7V5kBwEdz6EWhr{+s2DJt)vEH>Y=&zO z3k{eW-Q@4Zg4wKQgN8Y3GvnpAKas2Wnyw_rS4BZhkn3Hw`CE&hW}`mU#ox#U1H^p} zYnJ7KC5(oAzw~1Z3lKyL57Dbca}Y0TVM>7Pew7k5^N!E}IsOgNrOQ4>3tiVu75lyh zX$EF%0W29EtOU(4Vqww@zzen&wDu3kgI5!CgBbf$f7 z2^C5^YfBJQW8f3c8%4^&F{7};Yze-<9wu(%$nN_|4ccf;jwh91Q|O+!x#-uiu;1uwfwdVSTth|Mb1Ljmz@=N7P2o|6jD`E$>xIf1Hk~R+*zIpyH9JL z>4$OdXwd7ANB6 z0P*`G>^ZKA=8IXl)eltEbTMf$3#dH-=A2T(2n1q{NhqPF)};SXf?n<>jxA=P*4{`? zl52=}i&?O<*J&yM=854nvHC@{S;8V*&Ye;vT6e0tE&(pS`Ab*`wsA+7Fi+M>Tweku z`$F_s%G$EN;`61f9t#skmcj~)5LcG6sI0eOkR<wlqu z)6umwE3}F7tU-7oO7j9y|G{chnHh=l&q$5h`!>$$=&9H`jt#MqqIsdM6Eja|e++ZO z9hkMquFN>aHd(%mEeS7II*;1cDVJe`djo=lHoDi;PE9iC6!hkA2%Tb=B-e$Jhw)01 z_lbeItY6jcC#n9$iaB}QS=y;yvC^4(IAc=?`_JZcbQx=jx~gU_i9pjLOi&m^>meP= zeuwC=*ad_CZ3*qk22sIA&2tzHAPpNR8h_3j2ZdDT&?-5g%gkY0K_P#o4h>N{6A8Jx zYD16B{TwbdgV^>t_H*||!{yA&0@_~SHd_wb_u5K#E&?{an7TCy+5IgBLU7VrUJW(o`pQ|<8 zU6`g4y|A-D6_ex_qSi|GOLgyJtf#f=da_1)on>}gIIe;o>4$Nj*YD3VpU4^QGU*J$ z@dZ`P>7WN;tr4h&fOcUPM_sa3W2iU(KwWu_e1xj{7$+}PQD702?txy&I8KwvkWJ+2 zY8qrFc^8K(v2uuEt?9yicdat?5IZQt zX2T*igLiRdjtP2sCCoF-K9lD7SKtC)R_>s0s)@B5C$2HS=vrS_{)zyD;w0ZW!w|u)XxUg!bbCW% z1-(NITEnVau0dzyj-BK#7OiEz4l776kxN)F$BXaQutrUqfLJfjYVyz4OstHdN_NPO z=2*}xNq#44tcCQvA|lqZ@%F38uV*TU$Ev$Hw3c~UA69s+6gSqgA^x@>Q%}IcNRkaN zQ3OW28iWxu#H^!YoyCxKtOs{omVbC18_leLCv9vh&mFkBhKOFzs#!&@$IM(I`mJXX zR#PaPDAuoM!&#)T*#OTp?BfkAE{jYt%aDrUqJlB+$eli4SP}e48pqXw~{Z6<9e`M-mIy#TuL;LJ_Vmt21|d3 z983w8UC78YYAynenrx>^88t@`gIi7WExlEX2PJMnO!g5wHbD-q7N<8cPg{dRs2QH8X^fsVz#-mLW*DALVNKJTI~O zHA&6XdaKfJCe1CPFpaaphV+ui*}_8k+Eq%8ZB4JrwvobXCVtt%LOk1jU{zen>ghz4 z)l5`JC3|p>1?cYxF4FM|^_wZ+^|zG1f#(+sZuo=xAZy zjytM5wz4jK*H>ctR_4K1zAec=N!8@4VrEXiYA_`4OzBmON_Dmj?FLtoMILGcXZOI&^UrtP%P#XOrOjb;8@Z`p zIjp0b;#D3LVq4+9pIx%A5344`Tm}o$NBp%PE|KH;Q3u#$hNG9m2U%p*^dV+5dAeUc z!|}H*PUHs(hkVw71&a85Eco2~arq2)y1x=93mC4cZ4kOc*xC0IX@}SV79=hoVoU5y z<1if)_d+ami1hMxB zi(uK}*%4NU+m6q#{w+Id;h`H%<4*@WT*t7HKLV}Pwv{o@bT>~F{%NFjV?B|b?$gK16MG3DADU9FEFJ0VT< zInD(7_Qi1)=y>)7GAy@I3Jew%Cz-qLxC4m6j;p@n6sy6yiR28uNb-gt(4rpx}3K>9WD|>JYk(wtg}+x@q~F#$4a=dix z*6s{>%5>dzJ>+F?Q5BV@vsizM)w6xJOJ%9_rq=}}rm}3IuxwgMp0wgLI3|l4r&&F> z)K465<1$?(Nw!El%|hH3e@a~bDRH$}dm8fcYwjXOwan@I~KhFZOtjC?l^{0(_nDNGl=i>A8kTqw;>$5PKshLu*ues zFVk*!y*P7$HTG(|pu$XtC|cU3=M=VyR|4j7v2wnsdXb&5zkLzsFTddd#NCU`!|f%q zR}yuXW0p&jat2dhxLkr&^EVP@+czTQ5?gK+a0QXk;@l+`;I?H9tw`*wLV<+S2-hLt zG-@jxe}a}t67_$=kzz+N_$M~mN=Mo1i#tEzFu1OWx(vx_H!8pHWoQLDLKE|^z?YXP zzP`d5Tjn3E{A5CuU19#t1IWPwp);~@I+UMPitzmz{(7wl`ld6qIbLNg;0TSm$`-+lyL^=mW#dGvYtRSP zM9MX0sJ%8yEp9~NdQ=Q0t{M(@rg8&CiI-9Qd5!g~s$52a>+2(3Ez$ov*xVJ1ufqv; zL>#!zTDbYoRO&KL_D0|%i>bom7x+$NM9W`Txcxe4D}#hRk6e(S`3rXJo>!rhv`+c@ zD%zYk7O4#}QND1$Ne!JR_T9jQSR(G+U>n&}k#m!caNaW%+K#R*WRgF|Q77KrWbfHT z@#Yqr#45yuUs+50YPT`so_NUj#erY(y~vCFnA2uuU2YZDDEM3?)lo>fQ65hbSHXI`x)P}o<^ z?GD8_3T6>Da4GL;m0log$wRTpvx)BYBc&9gix%hZvl>=Q2z^mJzRx@xucPo@mBd$P zF4krj)4V7>1p5<4o?lo~ZH& z=N9`!w?{Amwu;4%*g*ThQsfN9LtZD|P;!WfkXcuLzo|I-8>?jAG`!C@pG@~`4>DXV8a2jT3Z@5G~0sL$sj>oK(BMzP{C`^@^$ zhor~YVht8m%2-qTgeS<~3lF)A_^gc8vq?iZyC|+qL_TF+BDakF(AW*TwKC;YA$r1y ziOCoa?AL&UfAp0(4Z97+k1(zbw~_XXSx;Dwz5VatS``m@j;Q(+wF*QyyU10vdx}G` zt76qtw!rw+(%ezK0rBT zO=sa)&it((0+(InBwCfT-u^cmkf`bh`?+6vX(-6hV%*R4rcy8qW#W}13d-St>L+fL zGv6vTMxrw215~tZH&WO>XOW>ll6hxT{Ig0|xyy%DjNwxS?>> z94dbO1H(V&1!dKUpckwuj$;SCU{|bLz9L-J{D?o0AH<}0FJv#_eA z@H#@=I79zXv%0~PH19QQY32Dh3jIqIzh?ff@ox}5eF;TEe1Mp2nHekoW^R6G+~^u) zrq7IyJ{R=zG2DB?jZ>|Y`8PJ^UV8>pCut_fDE^{Ix_Y=)MSUj<-{3fG zzIgElcOfRfr3$wfqu#PQR?`rXw}|C$na(9-AZ=#@@l@`s>|ZXPy=89I?16x;@|C%g z{%!#D)cRX+1_r)kMK0bU5L630H^ZHvxIMTK6e1wloBD8|p^->%Y2ffIb5fG=xYkYn zO>}*a+d9w1uJ_m?W{T7ASzzeg3aZuR_lgwP7Nov|mkNLJFa;Cjk?~kQ)wKm7NdAQF zAsSUcrGAw^x`NrUpw)k(NR-!%uHU&O(Q*1vs4ThBkHEv7TKWW8$@wsfu&!c@nFacf zrSLuSqUM|kF5LtQ9K%|mF?fK1iIR)NYcp$}^d*JoR+5%Q!=(g*BZQowB7Mt()S`6> zDBaR75AeZ@(CPK2aybp(VWZcC%oxB};UxHB(Gl*Y zxXU3KJb*Iz5`K*{sW$Lgc8L+B$i1hN7)m(UV)rmEbF#`{|IqV{2>?%gM@F+M-w!82!e9(K> zh3nWO(Woj9$8LRiRX)aZ#%HKKoNy4nk(FJF5h|CtyLeWWcVU-B+iE-=dUby_-iLFo zaH-CHdp}Te%??10N_O0v^IhBcI4>qA;@Cq)wO zpo*J>sXEW_7*1PEv%*Gx-w|0W**q71uBdyi=;z8~al>t!D^J3r;x+hGj0u|VZxx4q zuDnEiQ-jyXg1JzGx2by59sP124>_AF{qlvV>Ba*%?x1PicvE&xOm*W8*=X^V8~@Hq z;{n1%VQ}YjS#447&fTpZS%7ClQN@FM)+s?4j{KNwr;Z0p(aEEH{Zs9vVF4YYCJa%0 zBH2%7h#6Y$CI)-(T0U=`A$D`#OBoh%Ay0?pWL9Bmv|^fhqKvg-od>UN6;0vv{9+HT zVa}W3eKbV-puU~)kiQc*Jb3_%7M5NR8!n=S7wWl34EEw#HPfP$k-Lx*iQ3%3<}8>t zXBU)!{9Ks5_+BHnI{k)dR+BfvhNpi`tdJAphnl=r-M|QC^THH!)bQ$2-TT*~s|eX6*8 zEq~J-h0-edQl$FxW^J!pl14r<1qESZTZa^u{y@^DXFZNh-UK@k1MOUF-K4k^YeHL} z(yu7JkCL8{f8U?`aySt!19%WDzt8~Q*!_F}hn|hVlXgolu_bfNn5r#UEhY!>&hYx4 z2;eW_uRYQL(>y`kZ@_!9DAA@N*COq^hP5Y^k~F`ft=F_;^3J0 zwh^C&-EUN5o*T3JDaQJP#9#gXy&73KI~c1sUY<_~RRwf|zlBERg9_lvgdQA(Zmlgm z0(rffsT6*>4y`5?(2@qW9Z-gjgbx?}0(mWdrm^T24aZ?_AV2Q>#k=?BGRKdlyNl!| zylcn|ruLg{ag3RjE<%SX6d$Uz^(`{F{0p^0JZi#6_%%j~GCBo~mC1>_svj)(oNqAu zOT_pfzPzSoQ&cC2T#cj-s*~_84MsJ~@sQI*-C(GL{o?arK8N`TuclB3^C?I17o-k+ zL~c`F)oL|imWb_5c?-U1xp>f&$NTRI0gjRHocOLFzO#Tbm?Fk;e)IqiP9y1TMU*;^_%zpXTF>g`#bT`9m=aIrI*W(5Kv^H zvwUc=vIW|r%C#MrQJ-fQAq#Lijfy(UtNxX~Kn&ILE^bHmZq+_KH zXy=5!FhZS}`rXkQ*BVHVSL=!zdg37ufjx}bJ6*Kt0!f8m{^-JMvp3>-7w#wabb-9d z6Q{fIdic}=sECI59ccZ{9u6jIKkhk;etdBn{aE#1_?4n(SDw+L4e0;lK>Ce}4M3%I zy_9QNxKC39RM_XZ%Z>=>WorlF5YIaYRuG!*vwS$9--!m}K*w3(7-`TNt*}{BF9I0F zta!dEtD!Ard5vv={NPszIOXnx@+pTir5HQn%dwaM{8oq7)Wsb>?y?Cf;Ys*K4)hrI z0Cce#cO?}1J2vX^Wde2ztH3JBFeQQ0-H0WnB#S1x8>S(St3Ho0LlRS%Ap_A?N-Hi- zK~dN=fH)bN0y{7w&sNAoKpr)t^{3_GSYIudz=8#H!T>(Kdm5 zHavv-BWW%r?WK-ETj2WZR{?!^Zap1<3Q*uQbcvXmz*|_j?_DmwP2g><2PKl)xhhy9 zZ)80b5!rT%2ub8ST$bQEMU>Owd$y^#-Huz9Jw9$zfolk+aZr_79 zaIFIAUuqB0heAKx^m!w6NV0B=FH^FMx{4`1c!!2jh{#jmfFfBLH~T@_1gI8w>fI5B zzDWBpmhr!c?Md9L%JMn%Et7?zKjnKMob=q!YB+_z6V3Io2n$7y9>uSKR4?uM@8V~Q zV|woEGv*&$J6%^s(rMP`q+BG!I8mYJO{`Nvl3ipgLXxO->&ZRuH(uA`fR`k;(Zez8EFt5eiB;LaRyG!rk#fx#*;lsB$WAI1C=Pm~$ z1=8h?{H=xXT?r2}Dw`ax2p_VNln*^{nW-HqU>NLSNsr!}NA z%6nYqu)xg}+UTGcaFUMz?oNCOMwq@+?ht`;MP&mpdU+^vl>KPfM9B$qCSqg<`J$({ zDCq%^m&z5DZw%iki25OvW3^$Mnj=ol;WQh+Nd zP>*>K--oxf*`YG{N-XKaTUhTxEW2p4IM)ZdWiKLfd+~Q4UeomrSSaEFzrdt=to8C^ z(YPE#DMDRoxvs+?0W&g5}}U4t&dT@_v#D}{ZeaKdK=@`C?|>vVL#BEraL zjC5M7J`ttbdG5t`v%XAikBIwMI;ksU6KiH7%v@W)-nInb1WkDq0oy=mbkQ z*BcZ_)(+g9a)>^cl=+Rz3F$8EK`apVVP6^m4K=4d$sf6+@}i z8-vB0A-tCG9|GqBOGeRmMeiZJUwdzaKM20@KPnT@Y1TqjMAam^(7!6bkc~8aYEN%! zj~|k=i_VL`hwucexMMS=ltn@ri z;y?6@{k2bhmmp6TGlp@u0aO1{xDBB0F?Mo~H4gACYnwusp3hwUNS-9iHJ}dbLFYWM zO|1oSw+o3_c8RD+U1a@OZPo;Gf$8OmGOkJ_;A_U0!?@leL<$$I5LZ5i4(HV!Z=pyM zY(p@Dqr~jte7Ar2K2@A_oUAoP#?$$KyzEG1#yRV$vnPRcrRZhgb@A;(rh(UjGijZH zCv)2pp&0>{H(M+m!Gj!o`~iJ0cf}L;pTwyVd;*ITZBlrbx(|1wJIn`(n>_6~wG7_b z2?*%rQFzk+*G9x2WbXOJ@Hlep$bv>=XFE?AMq|Gno48i~*KAKGy zlgIJTIlio@GM)z|rjAFqPwuUByDx?mAHSzx1C-;VVY%U-bSiaCFYkgKfzKhFmKS1E zTv%3*4*X|R&ZBBh_c9kkts&HQv1B~YZ~F8*)E9Hy1I%8_-zsJdHoSQVV0-&DNgPVp z^daF3F?j;7Q*Q?p5LO4Sa-OtLt%e2sM=Asdj3QKp?vK%>zrRw&u?f7n>nlo1kh>^J z%fcaz=UH2%(>z@xiqm)}D=S2BmAYCwU+Dhz0~+m^YsE3=u=kq;E4LgE z`Hm<^=a=I~PKHZhVO(K1xmh7Ks*wDhPC1Q9#$u_ZAQ`8q6O|1*em&+|Ec{ydxgrVa zPB{U1DtE_MC}g|D^@%*X+KQ=)mjNeug{?slFIycF!ISvfE*m#us@F!}YypKlpnK&q z!sj`k&Y?0vqcz9KrSRGykbX_Bg8IWkJ^yKcdwl>bd+b&x^8rlcPn*p5a360-U39%6 zV>$|_L!*7Qksmfbipv(-X*|sL58AA&hL>^=|H~89G5y@()HhFZhpD%A8c*U?CWx2Q z_)5DRVn}AnRIze8Pp&a0gBasO+KxEdp#HbA3(l>3;fT5K)hQ`r% zwOGWsh@sQt>Iq#GStd?o@F2TZ$JJsDzlir4*yH{xYGra)csIi`vC+iwb0&}QzB2hr&HCl zVUgn}sn9L-7cXc00;a~8m0D9Ld@~RkK0%{9~~;*E8il- z8vTGQghJEH?dY?~63s?ns89sIM38D= zXz))a;Bi`Xm;u?-PZ(zKwp}AA2gp4?EM^`ke*$%1kB;c zLf3vcvF7Q`VBL&I0qB*!isT-O2wkT=v=+S$fnFe< z;nk|lTS}|@n$9$>Ws+PWmd)X3y?!|S-VD91`3`T$9<#2_aVQ8Y*f5*K)VVy}QQGw0 z+`c%vhPx!&3={9>@<4nQ(QqEG!w%$knTOfxzt@Bs4Qa2`+Fj|x2kCZXGmhATIn^Hb zm3Ufx<%cCAAY0;E-N{f=+fb@2R!DcKgahEAmxq(17ZQIVQwTwkV&JY zuKbY6v6`X|>=bN{IBDYP76XQj5|In|3#J#L3;D39X%}hj#1z1uFi*hOHi+VGxh~0Y zW}zY_3*^vUWNoC_!P>|J=UCGn)UiNrdrq-kTIAnY$UT{_F9d{YU$e!EHnZD7*$ftH z?51#C%+u-$#N?rEl*al(7Qg7kmWhrl9 z)p{xT0r!t%y0VHz}0g;Y>5yVCca$CU9+a=BHM|x)MJ`a z=oZ65LgcB4A%s{@h>a?uHxR{|gS+3GS+Qm(ULA@xU*pvsOLzKU#V912AwI)pqF=iR}NIZ91 zVODb%UIo7rGszg^yu-ho`u+&YO#-$=(*w`Klh?m38v$N55UFHqkte?XoYxMvpuD@5 zs|{a)hEF>QK1NN^K4Ql$EHzfvHnw2*1c(yNWAXRrIJbBtf|heH{3c1~<#0lt7SopV z_S|WQ_k4DE~c$aP8BAv(ktWj02F0@s89(4)NKf!_!K-= z8KmD4pj3&>mN(j*i2K=?(3u+fWod|Yq(n{BW+D#shIQuWmz)q&uigCgbl zP&6B|M24C(%NeK?nX=ih@neuRGf0821C?RDQx^KaAFls_)?MBsD}!=^7&xm8oR#yn zwT270qbt8dU&`An>o5+5+RCLcTIECdd=D%yQNC+*wS+WwYk7Ppbie~b-YQh=pZQzg zo5x|1qVMM-Nc~*9ShIkFA%)4H2D;ON>0%`$V0Z&(Q>1RMO-~eDM;HBWw zallSMI-n0A46tAYmr5Yb4+0_pua|LYC}0az$8x|dKpMaf@H^DnH9#-Gtwmfq56D@_ zv!tca;?n{B0i6Ir00+Q<`CM89m<9+0I0AMWxzrm_Iu91&TvQmA+)uC;jes1$5P<7U zE;#`f!bF}6u)!XH1KMYCsSV(DCYPQAvH-us@|J$YmgF7``?CPIXcw=U?z5j8Gu{ZLM{g^2Aodi(jLI;30(RGPy$#Cm=5SY9t{IH0vf{e@hjXb z*8sYqT=IgGMLIbI-3!RNDZpNU1i0P~;9LB8zq{V=W0Sg*(se40=e{KNA2hbc44A|k1M8MZ|xRmF| zrCoqOYjNor;E)fO_5)^kbLlHjbT43u2U-Pa=FX+NHMn#W(4#t+>H!+NpaK9JC(J9r zaR)Aa2iOJ(2E56#=h7)VE}a1E1r*z$^?+S~nE;c9OLG7}T3}KE(m9vL0k$$OZ3gH8 zjRDaTx*AXoK))++9Iy#64$vF$1h?#d2AlIE|HY(l z0SnMoOd6Syw?Js|HlChY{g!#(9! zfB-;kz?=I_x(wJ4SO`c4L<4*P)d0)xF)0>MAF$&Nlhy!M0Hy$r+|EK_zcOhm;L0uB zR=mNaX@C~E-`^Cl?I*ke=Pxm7CE(pfCY=Us2W$a+ae+yn12&&#(jvepfF4jA-~f1d z3V8uz0lffWfLef~Cz-@bFeF(&FsTsm1z;XvB48k(9Nz+21D+jY(k(y3RaNi_iGWyrsTN!M|v5C!;b5tAGj zpaFnV6O--(%8j6%i=Lj%q%MHgvzSzG7RKKd0UJR39E|x4Cba|TF)SN1nRGFONkaho z>1Z*aY#NvWZUTM+90Ax&!sG+Io5-Y>fO5cNz(c@KfU|%Sz%jrPzyZK+fF3FXjPYes4^gUQBWWEbY!D z7eM_)tds3BWZ7>m0DD3FHhw2dD*j*bohG$nvjj8w(=qP;lhJk`C$I$gz(&kD|CBumcII-n;84~-j}o|>GHoSK{_20rBOeq#otj~hBD zEqSQqTn$$d)YL)4LF*}M z@8qM{GO>6kvgC-fJ9!VMW!Ecv5El?7XD`uo7w=tFHx*es=#)D32x%rc9};VK@$fpU zG5>m`CQs--D0O6qv13rkdg$hkQQbqD#f^*}F+p-J6K{9%n*7Zf;k6rAhC7Ii-MqkQ z+3gR*G-#aU{F8{@!|T@=0`2&z{iz*Cj6tV_i0nPslBME1R^Fn?>21n@bV^P`7fR0a zx2mHxXhd3cLO01dJc&tE72TK-sLEi$_oC~1i_pC|zwaQj_rmeJL~PoN6Od`*_Fn!6 zZYy2d2glkB@p2z7v)YT6c{mO!5{sgc<9^<#R!*{7c=zPVD172u{ATJP$@vaOpaW=aM2!P{f9T=OX!rHpW%wFgykUh(BP6YogXRirU06nsVSO~wYbqr!4g5b=gpOC$|hmKD&;-JAQUP}1U~ zlcwm5R;$OxB-J<_opgpVI#J?V@CgzHd>|?!51WvV)0VVNB{BVdyBC3fE_d0x_dI{U zbG|+MVFZmd4-~0FWx7Q37p4Y1s!?ETzDg1{lH^1D>@ylOVmm4$5f_$S;DKk2BQ9JtoYG;8kaLjScURH3%ary&ZT90EY zROi7}G<%qy4sCVKv(zX>GH_}Y#S9A%AS*pW5=nk~i33#>Pfw5WzA7Zqcy6mg8y(I+ z{+y!2vX9UCoRly;9aVY)%~d*oaDrYB>*oKQply*;QLXel+t#>@H(tkd>!&9P|2T-- z@G`U)62RM*01A&ig_{o@Ty_d$UN^Y@6eY$_0J=F#guC~6VQJG_sup<)+{S82-tsrl zgnL~mk$QOMX_^t$xC34?h4>jo9;mQs7u4~mm;pt^>aR}IPs2XpPfyc}kw-qWg3Fcm zbA(rxq2=&)}aNv>c( z_303I9U>fzkZ$H>1wG4!^kU2Gw5-=GP+6k+5NB)QVGG$3goF9l|f{@K3j(Dmhr>&R1cVLHrFi?!Z9cd*^BPNF8M# zR7%$T#!4&CKIXdfG;ze*O$ZjRw%%ifwIsLit|liQI7qEVNR;tA)fntkxwD#Ho!N^l zQZ%<)4QTqh#XfUA!WqmakVKOA+7a#a1bn5IbQPRlLmLxLf>JC+EifDOPZS1Pv60}? ze1<206j0njWK#EUaF#1gK+#hEz6NU`9UOgu-b8Qz>kF88i{Z)(6f>*#x)mF^yR*{c zHg#C`$h#u01It{B4~Zzr$?w1!s+t`1!|yxz*#*FF3CCT8-xu++i!^a~2Qndhg$8mE z-aWz_F5-^TEZ%*QQYRkGwbfCI^X)jhYa^)Q*8Cx4tKNNyW{(+SBU+{j9NY;T2>7zJ zF5#t@FvltJflIXTrJ62FUJ-_pTrdRq1MH=kEu#-i3MTydEUxdxTUY6I>obowBC1^;jv!s{G)g;JHWd|M7@2|{cqm|O6c zO&b1?bF&Q_jY7$lAn;tkTA}6<%rb;Oxs2g=hx5U!v^uf+Ly_)*6l0Bs%>^Y{-i&iiU$KVY zN28Uqs7HkNmTrU?A|e5omgG-(ZY@nM_s53L==(@S2;d+$tgz{~*w9#DvSJ2B0C}hN zoesDN(b0DU;Wj~%yK>-*)GVhHvTP;EPE^AxJf5Bk0f^!@{V>W0+)*pQ@*^HzN9p4h zVIjcsjIP?|?kDjM4%T6=J)RHM(YQ#gsY`09f3e%l)7*ZW+lKJnI+{Aig?`u{TlCB(Q!H*te6bZ_+j+qqjOFHW_8o+g%E3D{PhR)Lj=dx|Kvj|_@!31H8273NH&a36Ki-A+ ztpdlYev8t!gJLA8fpxJwy{;`TYnF|8QIs)aKmIDjJP{KT%J zNiM`hp{ZTR4?|3Afqp|duZ2>liY7rp$KXuPwmSmrje<8VzmpL8 zYs{62F2lg(U*e_~ibG}ieG8SrfTj0P62$Z2d#D8!ZoNmNVWj`w!!S)0&$^GtPQK)W z_i1M26)Y}U`C{oFA|w9#J}nySN1Nv|y(Wc@+Tb+9zpwv?Nl~yZ@vs+QS!|ScE-&AgFh3r}UT`P@`>qco~ z=PD}cWm-T-kgdMe$9w)P!)<`WMa!`GA*IV@J$-+&JadTmKLlUIal=EX+|1n%!KIrx zybTYp?BMlnco)xm+Gt_aW;C1@@k?^b3=B&+SL7~MbCZ))U}6n_(?%J?%R-oBBTyAD ze?)J~I#$R)R|ytzN%Bd)@rXu&pt>Hx;(K{qJ1rba8w8y%(FE4}xv(8}sO5w06idBx zxwf66kh5Rn#0Wn+*uM74j)}EAuY+Po{Jz9$UBowAoy%A3?x1~e?9fiAkjFDR$%WFU zyc7BFBaFr3Y3Aib!2nXW13$6$S)|-aQTYBSq>e`2$JJ0`g_R{4dQU-OOCC;X360N z#7mB-a1pbiTd#VDf^l8Zbz3M|G^$ua*3nix}8H9W8Gn23@_ lF^j!Qz~>gc<*3AIiaEhPl4-1$9CQAJFDwC7qB$7&^MC4vw1@xz diff --git a/src/Kernel/Display.CC b/src/Kernel/Display.CC index 1b2e2ab8..6d4e6b18 100755 --- a/src/Kernel/Display.CC +++ b/src/Kernel/Display.CC @@ -58,13 +58,13 @@ See also $LK,"GrUpdateScreen",A="MN:GrUpdateScreen"$(). OutU8(VGAP_DATA,0x0F); //All planes -- WHITE if (text.raw_flags&RWF_SCROLL && text.raw_col && !row && !col) { //Scroll cached image - MemCopy(text.raw_scrn_image, - text.raw_scrn_image+GR_WIDTH*FONT_HEIGHT>>3, + MemCopy(text.raw_screen_image, + text.raw_screen_image+GR_WIDTH*FONT_HEIGHT>>3, GR_WIDTH*(GR_HEIGHT-FONT_HEIGHT)>>3); - MemSet(text.raw_scrn_image+GR_WIDTH*(GR_HEIGHT-FONT_HEIGHT)>>3,0, + MemSet(text.raw_screen_image+GR_WIDTH*(GR_HEIGHT-FONT_HEIGHT)>>3,0, GR_WIDTH*FONT_HEIGHT>>3); - MemCopy(text.vga_alias,text.raw_scrn_image,GR_WIDTH*GR_HEIGHT>>3); + MemCopy(text.vga_alias,text.raw_screen_image,GR_WIDTH*GR_HEIGHT>>3); text.raw_col-=text.cols; row=text.rows-1; } @@ -72,7 +72,7 @@ See also $LK,"GrUpdateScreen",A="MN:GrUpdateScreen"$(). CLI ptr=ptr1=col+row*GR_WIDTH*FONT_HEIGHT>>3; ptr+=text.vga_alias; - ptr1+=text.raw_scrn_image; //Write to cached image as well + ptr1+=text.raw_screen_image; //Write to cached image as well ptr2=&text.font[ch&255]; for (i=0;i0xFFFF) offset=0xFFFF; - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { if (is_fun) { str2=MStrPrint("&%s",str); if (!field_len) StrCopy(buf,str2); - else if (flags&PRTF_LEFT_JUSTIFY && StrLen(str2)7) { - if (flags&PRTF_LEFT_JUSTIFY && StrLen(str2)7) { - if (flags&PRTF_LEFT_JUSTIFY && StrLen(str)>3); - text.raw_scrn_image=CAlloc(GR_WIDTH*GR_HEIGHT/8); + text.raw_screen_image=CAlloc(GR_WIDTH*GR_HEIGHT/8); text.border_chars[2] (I64)=0x0908070605040302; text.border_chars[10](U32)=0x0D0C0B0A; } diff --git a/src/Kernel/KStart16.CC b/src/Kernel/KStart16.CC index 287461d0..082f71ba 100755 --- a/src/Kernel/KStart16.CC +++ b/src/Kernel/KStart16.CC @@ -1,7 +1,7 @@ asm {/* See $LK,"::/Doc/Boot.DD"$. ZenithOS starts in real, calls some BIOS routines, switches to 32 bit, and 64 bit mode -and continues in $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ at $LK,"KMain",A="MN:KMain"$(). +and continues in $LK,"CosmiC",A="FI:::/Doc/CosmiC.DD"$ at $LK,"KMain",A="MN:KMain"$(). The boot loader jumps here in real-mode (16-bit). It actually jumps to the $LK,"CBinFile",A="MN:CBinFile"$ header which is diff --git a/src/Kernel/KTask.CC b/src/Kernel/KTask.CC index 18fa78f8..9c774450 100755 --- a/src/Kernel/KTask.CC +++ b/src/Kernel/KTask.CC @@ -445,7 +445,7 @@ U0 TaskDel(CTask *task) I64 TaskEnd() {//Called with irq's off. CTask *task=Fs,*tmpt,*tmpt1; - if (task==sys_task_being_scrn_updated) { + if (task==sys_task_being_screen_updated) { LBts(&task->task_flags,TASKf_KILL_TASK); return task->next_task; } diff --git a/src/Kernel/Kernel.MAP b/src/Kernel/Kernel.MAP index 143253a5..70ea142e 100755 --- a/src/Kernel/Kernel.MAP +++ b/src/Kernel/Kernel.MAP @@ -53,7 +53,6 @@ $LK,"DOCT_FOREGROUND",A="FL:::/Kernel/KernelA.HH,920"$ $LK,"CGDT",A="FL:::/Kernel/KernelA.HH,349"$ $LK,"TSF_SAME_SONG",A="FL:::/Kernel/KernelA.HH,3196"$ $LK,"CDevGlobals",A="FL:::/Kernel/KernelA.HH,2877"$ -$LK,"PRTF_NEG_AUX_FMT_NUM",A="FL:::/Kernel/KernelA.HH,3880"$ $LK,"SCF_MS_L_DOWN",A="FL:::/Kernel/KernelA.HH,3487"$ $LK,"SCf_MS_L_DOWN",A="FL:::/Kernel/KernelA.HH,3472"$ $LK,"ICF_PUSH_CMP",A="FL:::/Kernel/KernelA.HH,1620"$ @@ -76,6 +75,7 @@ $LK,"DOCEF_RIGHT_IN_STR",A="FL:::/Kernel/KernelA.HH,991"$ $LK,"LDF_JUST_LOAD",A="FL:::/Kernel/KernelA.HH,381"$ $LK,"DiskCacheInvalidate2",A="FL:::/Kernel/BlkDev/DiskCache.CC,97",BI=11$ $LK,"SYS_CACHE_LINE_WIDTH",A="FL:::/Kernel/KStart32.CC,70"$ +$LK,"PRINTF_COMMA",A="FL:::/Kernel/KernelA.HH,3872"$ $LK,"MEM_DEFAULT_STACK",A="FL:::/Kernel/KernelA.HH,2843"$ $LK,"CMF_I16_JMP_TABLE",A="FL:::/Kernel/KernelA.HH,1710"$ $LK,"FramePtrSet",A="FL:::/Kernel/KHashB.CC,230",BI=12$ @@ -167,7 +167,6 @@ $LK,"ARGT_ST0",A="FL:::/Kernel/KernelA.HH,1945"$ $LK,"RT_I64",A="FL:::/Kernel/KernelA.HH,1572"$ $LK,"SEMA_REFRESH_IN_PROGRESS",A="FL:::/Kernel/KernelA.HH,619"$ $LK,"KbdMouseReset",A="FL:::/Kernel/SerialDev/Mouse.CC,284",BI=28$ -$LK,"sys_task_being_scrn_updated",A="FL:::/Kernel/KGlobals.CC,11"$ $LK,"SUF_SAFE_DOLLAR",A="FL:::/Kernel/KernelA.HH,3740"$ $LK,"RWF_SHOW_DOLLAR",A="FL:::/Kernel/KernelA.HH,3538"$ $LK,"HTt_INTERNAL_TYPE",A="FL:::/Kernel/KernelA.HH,662"$ @@ -193,6 +192,7 @@ $LK,"MEM_PAG_BITS",A="FL:::/Kernel/KernelA.HH,2832"$ $LK,"WINMGR_FPS",A="FL:::/Kernel/KernelA.HH,1479"$ $LK,"DOC_COLOR_CHAR_CONST",A="FL:::/Kernel/KernelA.HH,1149"$ $LK,"E",A="FL:::/Kernel/FunSeg.CC,332",BI=36$ +$LK,"PRINTF_AUX_FMT_NUM",A="FL:::/Kernel/KernelA.HH,3876"$ $LK,"CEdFileName",A="FL:::/Kernel/KernelA.HH,1251"$ $LK,"DOCT_LEFT_MARGIN",A="FL:::/Kernel/KernelA.HH,915"$ $LK,"CCF_NO_CHAR_CONST",A="FL:::/Kernel/KernelA.HH,2149"$ @@ -253,7 +253,6 @@ $LK,"CH_CTRLH",A="FL:::/Kernel/KernelA.HH,3433"$ $LK,"CPalindromeU32",A="FL:::/Kernel/KernelA.HH,2428"$ $LK,"CPalindromeU16",A="FL:::/Kernel/KernelA.HH,2423"$ $LK,"DOCT_CHECK_BOX",A="FL:::/Kernel/KernelA.HH,936"$ -$LK,"DCF_SCRN_BITMAP",A="FL:::/Kernel/KernelA.HH,3581"$ $LK,"CH_CTRLI",A="FL:::/Kernel/KernelA.HH,3434"$ $LK,"FileNameTmpTxt",A="FL:::/Kernel/BlkDev/DiskStrA.CC,276",BI=50$ $LK,"FifoI64New",A="FL:::/Kernel/KDataTypes.CC,240",BI=51$ @@ -289,7 +288,6 @@ $LK,"_D3_DIV",A="FL:::/Kernel/KMathA.CC,184"$ $LK,"CH_CTRLP",A="FL:::/Kernel/KernelA.HH,3441"$ $LK,"ICF_ARG2_TO_INT",A="FL:::/Kernel/KernelA.HH,1607"$ $LK,"SysDebug",A="FL:::/Kernel/KMisc.CC,280",BI=57$ -$LK,"PRTF_NEG",A="FL:::/Kernel/KernelA.HH,3878"$ $LK,"CH_CTRLQ",A="FL:::/Kernel/KernelA.HH,3442"$ $LK,"CTSS",A="FL:::/Kernel/KernelA.HH,3355"$ $LK,"HomeSet",A="FL:::/Kernel/BlkDev/DiskDirB.CC,1",BI=58$ @@ -359,7 +357,9 @@ $LK,"CCF_ASM_EXPRESSIONS",A="FL:::/Kernel/KernelA.HH,2157"$ $LK,"D3Sub",A="FL:::/Kernel/KernelB.HH,160"$ $LK,"SC_CURSOR_RIGHT",A="FL:::/Kernel/KernelA.HH,3510"$ $LK,"KeyDevAdd",A="FL:::/Kernel/KeyDev.CC,70",BI=74$ +$LK,"SC_PRINTSCREEN1",A="FL:::/Kernel/KernelA.HH,3531"$ $LK,"CTRLF_BORDER",A="FL:::/Kernel/KernelA.HH,3044"$ +$LK,"SC_PRINTSCREEN2",A="FL:::/Kernel/KernelA.HH,3532"$ $LK,"_D3_EQU",A="FL:::/Kernel/KMathA.CC,226"$ $LK,"VGAP_ATTR_DATA_READ",A="FL:::/Kernel/KernelA.HH,3669"$ $LK,"ATA_PACKET",A="FL:::/Kernel/KernelA.HH,2271"$ @@ -425,6 +425,7 @@ $LK,"LAPIC_LVT_ERR",A="FL:::/Kernel/KernelA.HH,524"$ $LK,"Scale2Mem",A="FL:::/Kernel/Memory/MemPhysical.CC,169",BI=89$ $LK,"RandU32",A="FL:::/Kernel/KMathB.CC,107",BI=90$ $LK,"RandU16",A="FL:::/Kernel/KMathB.CC,87",BI=91$ +$LK,"PRINTF_NEG_E",A="FL:::/Kernel/KernelA.HH,3879"$ $LK,"F64_MIN",A="FL:::/Kernel/KernelA.HH,48"$ $LK,"_FLDCW",A="FL:::/Kernel/KMathA.CC,625"$ $LK,"__DIR__",A="FL:::/Kernel/KernelA.HH,2043"$ @@ -455,7 +456,6 @@ $LK,"DOCEF_RIGHT_CB",A="FL:::/Kernel/KernelA.HH,990"$ $LK,"HTT_DICT_WORD",A="FL:::/Kernel/KernelA.HH,695"$ $LK,"HTt_DICT_WORD",A="FL:::/Kernel/KernelA.HH,665"$ $LK,"RLf_MP",A="FL:::/Kernel/KernelA.HH,464"$ -$LK,"PRTF_DOLLAR",A="FL:::/Kernel/KernelA.HH,3873"$ $LK,"CSpring",A="FL:::/Kernel/KernelA.HH,228"$ $LK,"CDebugGlobals",A="FL:::/Kernel/KernelA.HH,3820"$ $LK,"CBGR24",A="FL:::/Kernel/KernelA.HH,2946"$ @@ -467,6 +467,7 @@ $LK,"LastDayOfYear",A="FL:::/Kernel/KDate.CC,110",BI=103$ $LK,"SYS_IDLE_PT",A="FL:::/Kernel/Sched.CC,204"$ $LK,"CWinMgrTimingGlobals",A="FL:::/Kernel/KernelA.HH,1470"$ $LK,"OS_WINDOWS",A="FL:::/Kernel/KernelA.HH,3887"$ +$LK,"PRINTF_DOLLAR",A="FL:::/Kernel/KernelA.HH,3873"$ $LK,"Core0StartMP",A="FL:::/Kernel/MultiProc.CC,283",BI=104$ $LK,"MESSAGE_MS_L_DOWN",A="FL:::/Kernel/KernelA.HH,3179"$ $LK,"_D3_SUB",A="FL:::/Kernel/KMathA.CC,149"$ @@ -644,6 +645,7 @@ $LK,"_STRNCOMPARE",A="FL:::/Kernel/StrA.CC,154"$ $LK,"QueueInsRev",A="FL:::/Kernel/KernelB.HH,70"$ $LK,"CMemUnused",A="FL:::/Kernel/KernelA.HH,2792"$ $LK,"IEF_48_REX",A="FL:::/Kernel/KernelA.HH,1743"$ +$LK,"RECALCt_TO_SCREEN",A="FL:::/Kernel/KernelA.HH,1361"$ $LK,"ã",A="FL:::/Kernel/KernelA.HH,52"$ $LK,"Suspend",A="FL:::/Kernel/KTask.CC,77",BI=127$ $LK,"ClampU64",A="FL:::/Kernel/KernelB.HH,127"$ @@ -656,6 +658,7 @@ $LK,"ICF_ARG2_WAS_STACK",A="FL:::/Kernel/KernelA.HH,1619"$ $LK,"ICF_ARG1_WAS_STACK",A="FL:::/Kernel/KernelA.HH,1618"$ $LK,"DOCT_INDENT",A="FL:::/Kernel/KernelA.HH,919"$ $LK,"_ARG",A="FL:::/Kernel/KMathA.CC,366"$ +$LK,"PRINTF_SLASH",A="FL:::/Kernel/KernelA.HH,3874"$ $LK,"COLORROP_NO_ROP0_MASK",A="FL:::/Kernel/KernelA.HH,2944"$ $LK,"CDualBuf",A="FL:::/Kernel/BlkDev/DiskCDDVD.CC,105"$ $LK,"TaskText",A="FL:::/Kernel/Job.CC,75",BI=132$ @@ -710,6 +713,7 @@ $LK,"char_bmp_alpha_numeric_no_at",A="FL:::/Kernel/StrA.CC,335"$ $LK,"IEF_STI_LIKE",A="FL:::/Kernel/KernelA.HH,1746"$ $LK,"HTf_PRIVATE",A="FL:::/Kernel/KernelA.HH,676"$ $LK,"Dm",A="FL:::/Kernel/KDebug.CC,204",BI=137$ +$LK,"PRINTF_LEFT_JUSTIFY",A="FL:::/Kernel/KernelA.HH,3870"$ $LK,"CCF_EXE_BLK",A="FL:::/Kernel/KernelA.HH,2154"$ $LK,"BDf_REMOVABLE",A="FL:::/Kernel/KernelA.HH,2619"$ $LK,"BDF_REMOVABLE",A="FL:::/Kernel/KernelA.HH,2609"$ @@ -785,7 +789,6 @@ $LK,"InFile",A="FL:::/Kernel/Job.CC,474",BI=160$ $LK,"D3DistSqr",A="FL:::/Kernel/KernelB.HH,150"$ $LK,"_RDI",A="FL:::/Kernel/KernelA.HH,3374"$ $LK,"SV_R_REG",A="FL:::/Kernel/KernelA.HH,1750"$ -$LK,"PRTF_TRUNCATE",A="FL:::/Kernel/KernelA.HH,3871"$ $LK,"ATARepExitAllApplications",A="FL:::/Kernel/BlkDev/DiskATAId.CC,123",BI=161$ $LK,"CeilI64",A="FL:::/Kernel/KMathB.CC,62",BI=162$ $LK,"_RBP",A="FL:::/Kernel/KernelA.HH,3375"$ @@ -866,6 +869,7 @@ $LK,"WIf_FOCUS_TASK_GRAB_SCROLL",A="FL:::/Kernel/KernelA.HH,1468"$ $LK,"WIF_FOCUS_TASK_GRAB_SCROLL",A="FL:::/Kernel/KernelA.HH,1441"$ $LK,"CIntermediateCode",A="FL:::/Kernel/KernelA.HH,1666"$ $LK,"progress2_tf",A="FL:::/Kernel/KernelB.HH,220"$ +$LK,"PRINTF_TRUNCATE",A="FL:::/Kernel/KernelA.HH,3871"$ $LK,"MDF_REG",A="FL:::/Kernel/KernelA.HH,1593"$ $LK,"DOC_COLOR_ANCHOR",A="FL:::/Kernel/KernelA.HH,1143"$ $LK,"Str2ColorU32",A="FL:::/Kernel/KDefine.CC,202",BI=175$ @@ -1016,11 +1020,9 @@ $LK,"ATAPIWaitReady",A="FL:::/Kernel/BlkDev/DiskATA.CC,337",BI=216$ $LK,"Message",A="FL:::/Kernel/Job.CC,259",BI=217$ $LK,"MESSAGE_MS_R_DOWN",A="FL:::/Kernel/KernelA.HH,3183"$ $LK,"_MEMCOMPARE",A="FL:::/Kernel/KUtils.CC,70"$ -$LK,"SC_PRTSCRN1",A="FL:::/Kernel/KernelA.HH,3531"$ $LK,"FUF_ALL",A="FL:::/Kernel/KernelA.HH,2569"$ $LK,"SEMA_DISK_CACHE",A="FL:::/Kernel/KernelA.HH,622"$ $LK,"STR_LEN",A="FL:::/Kernel/KernelA.HH,42"$ -$LK,"SC_PRTSCRN2",A="FL:::/Kernel/KernelA.HH,3532"$ $LK,"DebugMode",A="FL:::/Kernel/KMisc.CC,312",BI=218$ $LK,"IsSysDebug",A="FL:::/Kernel/KMisc.CC,285",BI=219$ $LK,"RedSeaAllocClus",A="FL:::/Kernel/BlkDev/FileSysRedSea.CC,300",BI=220$ @@ -1403,6 +1405,7 @@ $LK,"TakeExcept",A="FL:::/Kernel/KExcept.CC,42"$ $LK,"_MALLOC",A="FL:::/Kernel/Memory/MAllocFree.CC,5"$ $LK,"CHashDefineStr",A="FL:::/Kernel/KernelA.HH,829"$ $LK,"MemSet",A="FL:::/Kernel/KernelB.HH,171"$ +$LK,"PRINTF_NEG",A="FL:::/Kernel/KernelA.HH,3878"$ $LK,"_TRUNC",A="FL:::/Kernel/KMathA.CC,400"$ $LK,"WIG_NO_FOCUS_TASK_DEFAULT",A="FL:::/Kernel/KernelA.HH,1446"$ $LK,"HTF_IMM",A="FL:::/Kernel/KernelA.HH,710"$ @@ -1534,7 +1537,6 @@ $LK,"ZenithLog",A="FL:::/Kernel/Job.CC,423",BI=329$ $LK,"RED",A="FL:::/Kernel/KernelA.HH,2918"$ $LK,"RT_U0",A="FL:::/Kernel/KernelA.HH,1565"$ $LK,"VGAR_MAP_MASK",A="FL:::/Kernel/KernelA.HH,3682"$ -$LK,"PRTF_COMMA",A="FL:::/Kernel/KernelA.HH,3872"$ $LK,"CAOTCtrl",A="FL:::/Kernel/KernelA.HH,2061"$ $LK,"DOC_COLOR_DEFINE_STR",A="FL:::/Kernel/KernelA.HH,1151"$ $LK,"DriveFATBlkAlloc",A="FL:::/Kernel/BlkDev/DiskDrive.CC,89",BI=330$ @@ -1815,7 +1817,6 @@ $LK,"PUT_HEX_U16",A="FL:::/Kernel/StrA.CC,37"$ $LK,"PUT_HEX_U32",A="FL:::/Kernel/StrA.CC,30"$ $LK,"ATAPIStartStop",A="FL:::/Kernel/BlkDev/DiskATA.CC,144",BI=399$ $LK,"_SIGN",A="FL:::/Kernel/KMathA.CC,347"$ -$LK,"PRTF_NEG_E",A="FL:::/Kernel/KernelA.HH,3879"$ $LK,"REGT_R8",A="FL:::/Kernel/KernelA.HH,744"$ $LK,"SEMA_DEV_MEM",A="FL:::/Kernel/KernelA.HH,624"$ $LK,"log10_2",A="FL:::/Kernel/KernelA.HH,56"$ @@ -1849,7 +1850,6 @@ $LK,"RFLAGf_PARITY",A="FL:::/Kernel/KernelA.HH,322"$ $LK,"DriveEnable",A="FL:::/Kernel/BlkDev/DiskAddDev.CC,170",BI=405$ $LK,"SYS_PROGRESS4_MAX",A="FL:::/Kernel/KStart32.CC,57"$ $LK,"StrLastRemove",A="FL:::/Kernel/StrA.CC,604",BI=406$ -$LK,"PRTF_PAD_ZERO",A="FL:::/Kernel/KernelA.HH,3869"$ $LK,"SUF_TO_UPPER",A="FL:::/Kernel/KernelA.HH,3735"$ $LK,"MBR_PT_REDSEA",A="FL:::/Kernel/KernelA.HH,2677"$ $LK,"MBR_PT_NTFS",A="FL:::/Kernel/KernelA.HH,2676"$ @@ -1935,6 +1935,7 @@ $LK,"CHashClass",A="FL:::/Kernel/KernelA.HH,838"$ $LK,"ZERO_BUF_SIZE",A="FL:::/Kernel/BlkDev/DiskBlk.CC,1"$ $LK,"DiskCacheFind",A="FL:::/Kernel/BlkDev/DiskCache.CC,64",BI=423$ $LK,"LoadKernel",A="FL:::/Kernel/KLoad.CC,240",BI=424$ +$LK,"PRINTF_PAD_ZERO",A="FL:::/Kernel/KernelA.HH,3869"$ $LK,"SCF_KEY_UP",A="FL:::/Kernel/KernelA.HH,3479"$ $LK,"SCf_KEY_UP",A="FL:::/Kernel/KernelA.HH,3464"$ $LK,"ICF_BY_VAL",A="FL:::/Kernel/KernelA.HH,1613"$ @@ -2070,7 +2071,6 @@ $LK,"SYS_INIT_16MEG_SYS_CODE_BP",A="FL:::/Kernel/Memory/PageTables.CC,157"$ $LK,"CExcept",A="FL:::/Kernel/KernelA.HH,3116"$ $LK,"DiskCacheInit",A="FL:::/Kernel/BlkDev/DiskCache.CC,1",BI=453$ $LK,"SYS_EXTERN_TABLE",A="FL:::/Kernel/KStart32.CC,35"$ -$LK,"PRTF_SLASH",A="FL:::/Kernel/KernelA.HH,3874"$ $LK,"DOCT_HTML_CODE",A="FL:::/Kernel/KernelA.HH,946"$ $LK,"LAPIC_IRR",A="FL:::/Kernel/KernelA.HH,515"$ $LK,"char_bmp_hex_numeric",A="FL:::/Kernel/StrA.CC,353"$ @@ -2098,6 +2098,7 @@ $LK,"zenith_task",A="FL:::/Kernel/KGlobals.CC,8"$ $LK,"MEM_E801",A="FL:::/Kernel/KStart16.CC,31"$ $LK,"__TIME__",A="FL:::/Kernel/KernelA.HH,2036"$ $LK,"RLf_PATCHED",A="FL:::/Kernel/KernelA.HH,456"$ +$LK,"PRINTF_NEG_AUX_FMT_NUM",A="FL:::/Kernel/KernelA.HH,3880"$ $LK,"MEM_E820_ENTRIES_NUM",A="FL:::/Kernel/KernelA.HH,370"$ $LK,"MEM_E820",A="FL:::/Kernel/KStart16.CC,32"$ $LK,"ACD_WORD_FILENAME",A="FL:::/Kernel/KernelA.HH,1510"$ @@ -2196,7 +2197,6 @@ $LK,"MESSAGE_MS_L_UP",A="FL:::/Kernel/KernelA.HH,3180"$ $LK,"LTCYAN",A="FL:::/Kernel/KernelA.HH,2925"$ $LK,"FUF_WHOLE_LABELS_AFTER",A="FL:::/Kernel/KernelA.HH,2591"$ $LK,"CCF_PREINC",A="FL:::/Kernel/KernelA.HH,2164"$ -$LK,"RECALCt_TO_SCRN",A="FL:::/Kernel/KernelA.HH,1361"$ $LK,"HTT_IMPORT_SYS_SYM",A="FL:::/Kernel/KernelA.HH,688"$ $LK,"HTT_EXPORT_SYS_SYM",A="FL:::/Kernel/KernelA.HH,687"$ $LK,"char_bmp_filename",A="FL:::/Kernel/StrA.CC,345"$ @@ -2232,7 +2232,6 @@ $LK,"ARGT_MOFFS32",A="FL:::/Kernel/KernelA.HH,1926"$ $LK,"ARGT_MOFFS16",A="FL:::/Kernel/KernelA.HH,1925"$ $LK,"WIG_TASK_DEFAULT",A="FL:::/Kernel/KernelA.HH,1444"$ $LK,"BEqual",A="FL:::/Kernel/KernelB.HH,28"$ -$LK,"PRTF_LEFT_JUSTIFY",A="FL:::/Kernel/KernelA.HH,3870"$ $LK,"FUF_SINGLE",A="FL:::/Kernel/KernelA.HH,2576"$ $LK,"FUf_SINGLE",A="FL:::/Kernel/KernelA.HH,2548"$ $LK,"DVDImageWriteTask",A="FL:::/Kernel/BlkDev/DiskCDDVD.CC,113",BI=479$ @@ -2366,7 +2365,6 @@ $LK,"ATAR0_NSECT",A="FL:::/Kernel/KernelA.HH,2290"$ $LK,"DOCEf_RIGHT_MACRO",A="FL:::/Kernel/KernelA.HH,1066"$ $LK,"RLF_DOC",A="FL:::/Kernel/KernelA.HH,488"$ $LK,"OutU8",A="FL:::/Kernel/KernelB.HH,80"$ -$LK,"PRTF_QUESTION",A="FL:::/Kernel/KernelA.HH,3875"$ $LK,"DCF_ALIAS",A="FL:::/Kernel/KernelA.HH,3580"$ $LK,"CoreAPSethTask",A="FL:::/Kernel/MultiProc.CC,194",BI=506$ $LK,"Ff_HASERRCODE",A="FL:::/Kernel/KernelA.HH,853"$ @@ -2404,7 +2402,6 @@ $LK,"StrLastOcc",A="FL:::/Kernel/StrA.CC,594",BI=511$ $LK,"WIf_SELF_FOCUS",A="FL:::/Kernel/KernelA.HH,1450"$ $LK,"FClose",A="FL:::/Kernel/BlkDev/DiskCFile.CC,73",BI=512$ $LK,"DriveTypeSet",A="FL:::/Kernel/BlkDev/DiskFormat.CC,1",BI=513$ -$LK,"PRTF_AUX_FMT_NUM",A="FL:::/Kernel/KernelA.HH,3876"$ $LK,"COLORS_NUM",A="FL:::/Kernel/KernelA.HH,2931"$ $LK,"IEF_GOTO_LABEL",A="FL:::/Kernel/KernelA.HH,1968"$ $LK,"CMT_GOTO_LABEL",A="FL:::/Kernel/KernelA.HH,1699"$ @@ -2446,6 +2443,7 @@ $LK,"SC_PAUSE",A="FL:::/Kernel/KernelA.HH,3529"$ $LK,"TRANSPARENT",A="FL:::/Kernel/KernelA.HH,2913"$ $LK,"XTalkStrWait",A="FL:::/Kernel/Job.CC,496",BI=525$ $LK,"mem_physical_space",A="FL:::/Kernel/KernelB.HH,197"$ +$LK,"PRINTF_QUESTION",A="FL:::/Kernel/KernelA.HH,3875"$ $LK,"CArcCtrl",A="FL:::/Kernel/KernelA.HH,3698"$ $LK,"SC_CTRL",A="FL:::/Kernel/KernelA.HH,3502"$ $LK,"RS_ATTR_LONG_NAME_MASK",A="FL:::/Kernel/KernelA.HH,2505"$ @@ -2608,7 +2606,6 @@ $LK,"sys_mem_init_flag",A="FL:::/Kernel/KernelB.HH,183"$ $LK,"RWF_IN_DOLLAR",A="FL:::/Kernel/KernelA.HH,3536"$ $LK,"DISPLAYf_CHILDREN_NOT_ON_TOP",A="FL:::/Kernel/KernelA.HH,3252"$ $LK,"sys_var_init_flag",A="FL:::/Kernel/KernelB.HH,186"$ -$LK,"PRTF_DECIMAL",A="FL:::/Kernel/KernelA.HH,3877"$ $LK,"IOAPIC_DATA",A="FL:::/Kernel/KernelA.HH,531"$ $LK,"SysGetStr2",A="FL:::/Kernel/KDebug.CC,337",BI=555$ $LK,"fp_getstr2",A="FL:::/Kernel/KGlobals.CC,32"$ @@ -2638,6 +2635,7 @@ $LK,"HTT_HELP_FILE",A="FL:::/Kernel/KernelA.HH,702"$ $LK,"HTt_HELP_FILE",A="FL:::/Kernel/KernelA.HH,672"$ $LK,"Round",A="FL:::/Kernel/KernelB.HH,139"$ $LK,"VM_OTHER",A="FL:::/Kernel/KernelA.HH,3889"$ +$LK,"PRINTF_DECIMAL",A="FL:::/Kernel/KernelA.HH,3877"$ $LK,"ISOT_TERMINATOR",A="FL:::/Kernel/KernelA.HH,2466"$ $LK,"ATAR0_STAT",A="FL:::/Kernel/KernelA.HH,2295"$ $LK,"HPET_GEN_CONF",A="FL:::/Kernel/KernelA.HH,555"$ @@ -2685,6 +2683,7 @@ $LK,"REG_UNDEF",A="FL:::/Kernel/KernelA.HH,1799"$ $LK,"VGAFlush",A="FL:::/Kernel/Display.CC,88",BI=577$ $LK,"FILEMASK_AOT",A="FL:::/Kernel/KernelA.HH,2301"$ $LK,"FramePtrAdd",A="FL:::/Kernel/KHashB.CC,225",BI=578$ +$LK,"DCF_SCREEN_BITMAP",A="FL:::/Kernel/KernelA.HH,3581"$ $LK,"FF_NEEDS_WRITE",A="FL:::/Kernel/KernelA.HH,2759"$ $LK,"DOCF_DBL_DOLLARS",A="FL:::/Kernel/KernelA.HH,1275"$ $LK,"LAPIC_APIC_ID",A="FL:::/Kernel/KernelA.HH,500"$ @@ -2759,6 +2758,7 @@ $LK,"ICF_ARG1_TO_INT",A="FL:::/Kernel/KernelA.HH,1605"$ $LK,"I_USER",A="FL:::/Kernel/KernelA.HH,315"$ $LK,"FAT32CDirFill",A="FL:::/Kernel/BlkDev/FileSysFAT.CC,214",BI=589$ $LK,"BlkPoolAdd",A="FL:::/Kernel/Memory/BlkPool.CC,1",BI=590$ +$LK,"sys_task_being_screen_updated",A="FL:::/Kernel/KGlobals.CC,11"$ $LK,"TK_NORMALSCRIPT",A="FL:::/Kernel/KernelA.HH,2082"$ $LK,"PTR_STARS_NUM",A="FL:::/Kernel/KernelA.HH,776"$ $LK,"TaskMessage",A="FL:::/Kernel/Job.CC,119",BI=591$ @@ -2835,88 +2835,98 @@ $LK,"PURPLE",A="FL:::/Kernel/KernelA.HH,2919"$ $LK,"TASKf_BREAK_LOCKED",A="FL:::/Kernel/KernelA.HH,3239"$ $LK,"DriveNextFreeLet",A="FL:::/Kernel/BlkDev/DiskDrive.CC,51",BI=599$ $LK,"FILEMASK_SRC",A="FL:::/Kernel/KernelA.HH,2302"$ -DVc“ “ — ¦ ² ¾ Ê Ø ä ë ð !!!@4@CCKOf}”£¯½ÄÕÖÚH/=rárá‡á“á–áŸá«á³áÐáßáåáèáôáT¼ÍzÝzÝݜݞݧݶÝÍÝÓÝÓÝîÝöÝþÝ<#&@Yfmoox†D‰–ÃÃÑßíõû!„3Pâ´â´ò´ý´µµµ2µ>µMµZµgµlµrµµ‡µ޵޵’µ’µ’µ’µŸµ¢µ²µÌ699,929L9O9[9p9v9|9‚9¡9¦9®9®9¼9Â9Ç9ì9ò9ô9:::::!:0:4:C:I:L:N:^:b:v:y:|:~:::œ: ˆFdÒ¿Ò¿ø¿ü¿À -ÀÀÀ!À$À0À0À^ÀkÀuÀxÀ{À‚ÀŠÀÀÀÀ³À -h§§˧Ù§è§ó§¨¨#¨3¨B¨Q¨a¨q¨’¨”¨£¨²¨¨Ò¨þ¨þ¨© dav¦¦"¦2¦=¦B¦O¦X¦\¦b¦h¦p¦x¦„¦ ¦£¦®¦®¦¶¦ 4æïÛ—Û—õ—˜˜.˜0˜0˜:˜ 44= I I.IJIJIMIgIgImI(-3óóû24>HÜê)y)yIyVy[ygy‡yy“y y©yªy¶y(Z`>Ü>ÜXÜjÜrÜxÜ€Ü$üêˆêˆóˆûˆ‰‰8‰dddd!d&d(d?d?dHdNdP[kùbùbcccc'c6cŠFŠXŠ[ŠiŠxŠ‰ŠŠ•СаŠÈŠÌŠÑŠäŠ‹‹‹!‹!‹(‹0‹=‹?‹Q‹Y‹[‹e‹l‹l‹l‹s‹{‹…‹‹œ‹ª‹À‹ï‹ï‹ŒŒŒ$Œ:Œ\ŒaŒaŒhŒpŒ†Œ¨Œ­Œ­Œ°ŒÏŒÒŒÞŒáŒäŒ(+DDII\cmƒ¡¤¦¦¹ÀÈÞüÿŽŽŽŽ?ŽZŽcŽlŽpŽ~ބބޡޡޡަަަ޲ŽÅŽÐŽáŽäŽçŽìŽìŽñŽ  26Qjs|€Ž”—œœ¬¯²ÀÉÏÒ××ë÷+P]aw‘£¬°³³ÃÉÛàèïû‘‘‘.‘5‘A‘Z‘g‘j‘q‘t‘v‘Ž‘¡‘¨‘¶‘¶‘¶‘½‘ɑӑá‘ê‘ð‘÷‘’ ’’)’8’X’a’Ë’4×à[—[—o—}—•— —¢—¢—ª—@@Lkksz‡–¥ºÎÝæ `ããëú+6?GI[mtt†‡‹`ˆœS"S"a"n"x"x"‹"“"¦"¨"»"»"¿"É"Î"Î"Ô"„ *†Ù†Ù Ù£Ù¶ÙÃÙßÙâÙèÙñÙýÙÿÙÚ+Ú/ÚJÚMÚSÚ`ÚlÚnÚnÚ~ÚÚ—Ú|w’º¦º¦Ú¦ê¦õ¦ú¦ü¦§§&§6§G§W§Y§Y§Y§_§x§•§¥§§§§§°§¼§4%{C{CC„CCœC¨C³CºC¼C|ý[[Œ¦¦½Îåêý%.>FVeh¥¬Ah{{&{7{;{J{\{p{{{{™{™{­{»{Å{Ô{Ù{Ù{å{å{ë{ë{U|Z|Z|‚|‚||“|–|¤|ª|³|Û|H—¥¾¾ÙÛìøý    HÖôÖôßôôôýô õ õ õõõ+õ-õ-õ2õ!4AJââ ââ%âCâqâuâuâzâ"Œ¬Ë6ú6úWúZúcúú’ú’úú¢úªúÄúÌúßúéúîúúúûûûû û#û&û+ûRû# lpËË2Ë@ËFË$DLYˆˆ¤¦¹¾ÎÛáäð%p¼Ôžž¬ºÐßäôöü 2BQQXXXK&h#9èvèvþvww#w%w.w0w0w3wOwwœw¦w¶wÀwËwÎwÜw'$gl`y`ydytyyšy(œd‡ ! !!!*!7!D!Q!i!}!!“!“!›!°!½!½!Ê!Ò!á!ó!û!"!")"="D"D"N")|9IaIaSa`aqa{a‚a‰a’aša²a¹aÀaÊaÒaÙaàaèaîaùaýaÿaÿab*X„§„§£§¦§«§®§·§Â§Õ§ß§ç§ë§î§î§ô§÷§¨+0ÎÖ———5—H—J—J—T—,D, Q Q!Q1Q8QMQTQ[Q\QdQ-Xßñ®¼ÊÊâèñù---445;.P +DVc“ “ — ¦ ² ¾ Ê Ø ä ë ð !!!@4@CCKOf}”£¯½ÄÕÖÚH/=‚á‚á—á£á¦á¯á»áÃáàáïáõáøáâT¼ÍŠÝŠÝ Ý¬Ý®Ý·ÝÆÝÝÝãÝãÝþÝÞÞ<#&@Yfmoox†D‰–ÃÃÑßíõû!„3Pò´ò´µ µµµµBµNµ]µjµwµ|µ‚µ‘µ—µžµžµ¢µ¢µ¢µ¢µ¯µ²µµÌ699,929L9O9[9p9v9|9‚9¡9¦9®9®9¼9Â9Ç9ì9ò9ô9:::::!:0:4:C:I:L:N:^:b:v:y:|:~:::œ: ˆFdâ¿â¿À ÀÀÀ#À+À1À4À@À@ÀnÀ{À…ÀˆÀ‹À’ÀšÀ À­À­ÀÃÀ +hÒ§Ò§Û§é§ø§¨¨#¨3¨C¨R¨a¨q¨¨¢¨¤¨³¨¨Ò¨â¨©©© dav"¦"¦2¦B¦M¦R¦_¦h¦l¦r¦x¦€¦ˆ¦”¦°¦³¦¾¦¾¦Ʀ 4æïÛ—Û—õ—˜˜.˜0˜0˜:˜ 44= I I.IJIJIMIgIgImI(-3óóû24>HÜê1y1yQy^ycyoyy•y›y¨y±y²y¾y(Z`>Ü>ÜXÜjÜrÜxÜ€Ü$üêˆêˆóˆûˆ‰‰8‰dddd!d&d(d?d?dHdNdP[kùbùbcccc'c6c‘E‘Q‘j‘w‘z‘‘„‘†‘ž‘±‘¸‘ƑƑƑّ͑ã‘ñ‘ú‘’’’’*’9’H’h’q’Û’4×à[—[—o—}—•— —¢—¢—ª—@@Lkksz‡–¥ºÎÝæ `óóû +*;FOWYk}„„–—›`ˆœS"S"a"n"x"x"‹"“"¦"¨"»"»"¿"É"Î"Î"Ô"„ *†Ù†Ù Ù£Ù¶ÙÃÙßÙâÙèÙñÙýÙÿÙÚ+Ú/ÚJÚMÚSÚ`ÚlÚnÚnÚ~ÚÚ—Ú|w’ʦʦê¦ú¦§ +§ §§$§6§F§W§g§i§i§i§o§ˆ§¥§µ§·§·§À§̧4%ƒCƒC‡CŒC˜C¤C°C»CÂCÄC|ýkkœŸ­¶¶ÍÞõú "5>NVfuxµ¬Ah { {6{G{K{Z{l{€{‹{‘{©{©{½{Ë{Õ{ä{é{é{õ{õ{û{û{e|j|j|’|’| |£|¦|´|º|Ã|ë|H—¥¾¾ÙÛìøý    HÖôÖôßôôôýô õ õ õõõ+õ-õ-õ2õ!4AJâââ&â5âSââ…â…âŠâ"Œ¬Ë6ú6úWúZúcúú’ú’úú¢úªúÄúÌúßúéúîúúúûûûû û#û&û+ûRû# lpËË2Ë@ËFË$DLY˜˜´¶ÉÎÞëñô‘%p¼Ôžž¬ºÐßäôöü 2BQQXXXK&h#9èvèvþvww#w%w.w0w0w3wOwwœw¦w¶wÀwËwÎwÜw'$gl`y`ydytyyšy(œd‡ ! !!!*!7!D!Q!i!}!!“!“!›!°!½!½!Ê!Ò!á!ó!û!"!")"="D"D"N")|9IaIaSa`aqa{a‚a‰a’aša²a¹aÀaÊaÒaÙaàaèaîaùaýaÿaÿab*X„§„§£§¦§«§®§·§Â§Õ§ß§ç§ë§î§î§ô§÷§¨+0ÎÖ———5—H—J—J—T—,D, Q Q!Q1Q8QMQTQ[Q\QdQ-Xßñ®¼ÊÊâèñù---445;.P ‰ -‰‰.‰4‰9‰9‰J‰N‰S‰S‰[‰/ $( H H®HÂHÈH0Œ«Êš›š›¹›µ›È›Ø›å›é›í›œœ)œ4œ@œIœˆœœ¯œÆœÔœÛœâœéœ -01<R];;M]}•——2 J J N w ‡ 3<ðû‚ˆ‚ˆ–ˆ¤ˆ¯ˆÀˆÈˆÐˆØˆÛˆãˆ44ajèJèJðJþJ=KMKZKnKrKtK54MVÈIÈIÐIÞIJ-J:JNJSJUJ6  Äcÿcÿ„ÿŽÿ˜ÿ¯ÿÅÿÊÿ×ÿÜÿøÿ/49Shj„™™   G7$ƒˆ‹‹”¢·¼8 PT^ì^ìbìtìvì9 ^ó^óhó{ó€ó:,ðXðXùXYYY!Y&Y;8òüKjKjkjvj„j|j—j¨j¨j¨j´j<8%ØØ$Ø,Ø@ØUØ]Ø`ØbØfØ= …‰¾¾ÂÑÕ>\˜«ŽùŽù¢ù°ùµù»ùÆùÏùÏùßùëùïùúúúú6ú?4Š“ÖÖÚäô***.@4u~LLLLULeLqLL„L‡LA ”˜..2UYB4•ž’’œž°·×ØÝC@:FQQ­QºQÁQÖQÝQäQíQDXl~YcYckcncyc~c‹ccc¦cºcÄcÎcäcïcöcdE:Z b b#b.b3bó>óBóXóZóMHúIzIzizvz{z‡z§z­z³zÀzÉzÊzÖzNHëù¹y¹yÙyæyëy÷yzz#z0z9z:zFzO ¨¬®®²·»P ­±¾¾ÂÑÕQd€•›^›^£^§^§^¶^Õ^ä^í^ö^ __(_/_S_\_c_o_q_R´—ÀèMèMóMN'N6NANPN]NvNN‘N•NN¥N®NÌNÔNëNïNóN÷NÿNOO.OAOJO[ObObOsO|OS ,Pëêëêóêþêëë)ëMëMëbëjëoëoë–ëžë¦ë¸ëåëñëì ìì,ì.ì.ì@ì@ìRìYìYìkìpìwìT°Ï÷úËúËÌ!Ì.Ì:ÌAÌJÌ]ÌwÌ}̷̢̨̨̅̾ÌÃÌáÌäÌíÌ÷ÌÍÍÍÍ$ÍEÍJÍMÍSÍSÍVÍkÍsÍv͈ÍU0&T¢T¢]¢]¢t¢—¢—¢œ¢VdÇÜCiCiQiVifikiziii‡i–i›ii¬i·i»iÁiW8 Ž.Ž.¨.¬.¯.º.×.Û.à.û.X sTsT|T‰T˜TYD©¶IeIeceze‡e‡e‘e±e»eZ4ktxKxK€KŽKÍKÝKêKþKLL[4W`XJXJ`JnJ­J½JÊJÞJãJåJ\8ü’ߒߡߪ߹ß×ßÛßáßãßãßéß]x]wÓnÓnénðnþnþn -ooGoGoJoLoLoQoQoSoSoSoUoUoUo^oaodoqo^Y««³¾Æçöÿ#6CVt}Š–¢§ÄÉÉÖàô)<Ydl‡’§ÅÑÚßü!6P[cnnnsŒ“ž£ª_ {3î3îMî_îiî`ŒËês?s?|?§?Ò?ý?L@Y@[@s@s@Â@Ï@Ñ@é@é@ù@A A%A/A\AcAeAjAmAa4ˆˆLˆL‘L›LÕLåLñLMMMb$+0žÚžÚ§Ú¸ÚÊÚÛc¨Ciʪʪóªøª« ««"«"«*«S«\«a«j«m«r«r«Š«Ÿ«¢«¥«««²«¶«å«é«ñ«ó«þ«þ«¬¬¬"¬d<$/ЩЩ˜© ©¨©¸©Ä©Ωý©ÿ©ªeü¶ñ;W;WOW^WmWwW†W•W•W»WÐWÛWâWXX X.X¥B¥P¥T¥Y¥lLš©C•C•_•f•m•y•‚•œ•§•¬•µ•˕ڕä•ä•ù•m8SXSXiXvXˆX¢X°X¹XÃXn Ko{â{ââŸâ³âÀâÄâÍâÔâÚâÜâïâ÷âAãããQã`ãrãyãˆãšã¡ã­ãÁãáãëãÅäoPZjƒ“ƒ“•“œ“¥“³“¸“»“Á“ēɓԓړä“pˆ3Ö +‰‰.‰4‰9‰9‰J‰N‰S‰S‰[‰/ $( H H®HÂHÈH0Œ«Êª›ª›É›Å›Ø›è›õ›ù›ý› œ-œ9œDœPœYœ˜œ œ¿œÖœäœëœòœùœ '*@1<R]KK]mŸ¥§§­2 Z Z ^ ‡ — 3<ðû‚ˆ‚ˆ–ˆ¤ˆ¯ˆÀˆÈˆÐˆØˆÛˆãˆ44ajèJèJðJþJ=KMKZKnKrKtK54MVÈIÈIÐIÞIJ-J:JNJSJUJ6  Äsÿsÿ”ÿžÿ¨ÿ¿ÿÕÿÚÿçÿìÿ',?DIcxz”©©°°°W7$ƒˆ‹‹”¢·¼8 PT^ì^ìbìtìvì9 ^ó^óhó{ó€ó:,YY YYY+Y1Y6Y;8òüSjSjsj~jŒj„jŸj°j°j°j¼j<8%*Ø*Ø4Ø<ØPØeØmØpØrØvØ= …‰¾¾ÂÑÕ>\˜«ŽùŽù¢ù°ùµù»ùÆùÏùÏùßùëùïùúúúú6ú?4Š“ÖÖÚäô***.@4u~LLLLULeLqLL„L‡LA ”˜..2UYB4•ž¢¢¬®ÀÇçèíC@:FQQ­QºQÁQÖQÝQäQíQDXl~YcYckcncyc~c‹ccc¦cºcÄcÎcäcïcöcdE:Z b b#b.b3bó>óBóXóZóMHúQzQzqz~zƒzz¯zµz»zÈzÑzÒzÞzNHëùÁyÁyáyîyóyÿyz%z+z8zAzBzNzO ¨¬®®²·»P ­±¾¾ÂÑÕQd€•£^£^«^¯^¯^¾^Ý^ì^õ^þ^_'_0_7_[_d_k_w_y_R´—ÀøMøMNN7NFNQN`NmN†NN¡N¥N­NµN¾NÜNäNûNÿNOOOO O>OQOZOkOrOrOƒOŒOS ,Pûêûêëëë-ë9ë]ë]ërëzëëë¦ë®ë¶ëÈëõëììì!ì<ì>ì>ìPìPìbìiìiì{ì€ì‡ìT°Ï÷ +Ì +Ì$Ì1Ì>ÌJÌQÌZÌṁÌ̸̸̲̕ÌÇÌÎÌÓÌñÌôÌýÌÍ%Í(Í(Í(Í4ÍUÍZÍ]ÍcÍcÍfÍ{̓͆͘ÍU0&T¢T¢]¢]¢t¢—¢—¢œ¢VdÇÜKiKiYi^inisi‚i‡i‰iiži£i¥i´i¿iÃiÉiW8 Ž.Ž.¨.¬.¯.º.×.Û.à.û.X sTsT|T‰T˜TYD©¶IeIeceze‡e‡e‘e±e»eZ4ktxKxK€KŽKÍKÝKêKþKLL[4W`XJXJ`JnJ­J½JÊJÞJãJåJ\8ü¢ß¢ß±ßºßÉßçßëßñßóßóßùß]x]wÛnÛnñnønooooOoOoRoToToYoYo[o[o[o]o]o]ofoioloyo^Y»»ÃÎÖ÷#3FSf„𦲷ÔÙÙæð*9Lit|—¢·Õáêï "1F`ks~~~ƒ‘œ£®³º_ {CîCî]îoîyî`ŒËê{?{?„?¯?Ú?@T@a@c@{@{@Ê@×@Ù@ñ@ñ@A!A(A-A7AdAkAmArAuAa4ˆˆLˆL‘L›LÕLåLñLMMMb$+0žÚžÚ§Ú¸ÚÊÚÛc¨CiÚªÚª««««&«2«2«:«c«l«q«z«}«‚«‚«š«¯«²«µ«»««Æ«õ«ù«¬¬¬¬¬¬"¬2¬d<$/š©š©¨©°©¸©È©Ô©Þ© ªªªeü¶ñCWCWWWfWuWWŽWWWÃWØWãWêW XX(X6XDXRXrXhX~XX›X­X¿XÆXÍXÚXáXéXùXYYYGY]YnYnYvYyY‡Yf”Õörrœ­¿ÉÙáåéíõý‚‚'‚,‚<‚E‚Z‚`‚d‚v‚g@nz\¥\¥i¥q¥t¥‚¥†¥Š¥¥›¥¢¥§¥h(ajƒjƒ}ƒƒƒ’ƒœƒ¡ƒ¡ƒ­ƒ´ƒ¹ƒÃÔƒåƒùƒûƒ„F„]„v„„“„·„¹„Ò„Ü„õ„ÿ„…"…-…;…B…P…P…Z…s…›…¦…½…Â…Ä…Î…ê…ó…û…†iD/<nënëwëŒë˜ë£ë¬ëºëÅëÍëÒëj,K5K5O5|5£5Ð5ó5õ5k<bm¥¥!¥)¥,¥:¥>¥B¥P¥T¥Y¥lLš©C•C•_•f•m•y•‚•œ•§•¬•µ•˕ڕä•ä•ù•m8SXSXiXvXˆX¢X°X¹XÃXn Ko‹â‹âŸâ¯âÃâÐâÔâÝâäâêâìâÿâãQã,ããaãpã‚ã‰ã˜ãªã±ã½ãÑãñãûãÕäoPZjƒ“ƒ“•“œ“¥“³“¸“»“Á“ēɓԓړä“pˆ3Ö Ö ç ñ û - ! 9 N N W q x ‰ – ¡ ¨ ¹ à à Ô Ü á è õ   qd¦»7:HHQ\adt…ˆ‹‘rH<J~ö~öŽö”öŸö¨ö«ö¸öÁöÁöÅöÈöÐös4ÕÞNN\jr}–›¢¨t¬Lsz|z|Œ|›|¡|µ|È|ß|ò| }}3}J}a}|}€}‡}}‘}£}¼}É}Ï}ê}î}õ}û}ÿ}~*~7~=~@~J~u„c€ÈjÈjëjïjüjkkk9kCkCkYkeklkk„kˆk›k¼kÆkÆkÚkÚkÝkëkv( d ddd)d1d6dw0lt&&4CNTVV\x<KV`x`xixsxƒx…x¸x¿x¿x¿xÂxy4ŠÓnÑnцюќѧѫѱѷÑÅÑÚÑßÑåÑüÑÒÒÒ#Ò)Ò@ÒEÒKÒYÒ]ÒyҌҟҤҳÒÀÒÐÒßÒìÒÿÒÓ ÓÓ!Ó;ÓBÓPÓbÓbÓuÓwӊӌӟӡӴӴÓÐÓçÓíÓóÓþÓ"Ôz`ÝñÃiÃiÚièióiõiüijj'j2j4j9j;jê@ê@êRêRêdêkêkê}ê‚ê‰ê}DíúNòNò^òdòsòò†ò•ò¡ò¡ò§ò~tÛòÛòëòóóóóóóóóó&ó7ó@óQó\ó_óaódófófófótóDMZ U U U.U.U6ULUPUPUTU\U€¤6[0†0†J†R†V†^†j†q†x†}†’†£†§†§†´†»†À†׆Ú†ã†é†ì†î†ø†ý†‡‡‡ ‡$‡2‡81;ÛÛÛ+Û6Û6ÛAÛEÛEÛKÛ‚,–s_s_w_ˆ_˜__¬_ƒ02:K’K’_’j’|’„’‡’’„¼KvƒeƒeŸeÀeÒeÙeãeïe÷ef -ff"fFfUf\fcftfvf~f‰f”f£fªf­f¯fµf»fÓfÜfÜfàfùf…,ÑØvûvû„ûû§û«û­ûÁû†D V(Y(YBYEYKYWYYYhYoYuYžY¥YÒYÙYÝYõYZZ'Z'Z'Z4ZmZyZ…Z’Z¥Z³ZÄZ×ZäZõZ [[Y[k[˜[Ÿ[¾[Å[Ð[ì[ì[ø[ú[ú[\\\\\\'\3\L\X\a\l\‚\\\\¡\º\Á\È\Î\Ñ\]‡P,<PPpƒ›±·ÂÈÍÏèˆ4#XHXHaHvHvHƒH˜H˜HH‰ ÌÐVûVûdûmûsûŠ85?º¤º¤ʤæ¤ò¤ö¤ú¤þ¤ -¥¥‹¼ -5………"…)…0…=…K…T…W…]…c…j…q…s…}…‚…Œ…š… …¯…»…¾…Á…É…Î…ä…ð…ó…ö…ö…ö…ö…ù…† †††)†Œ0HPVVdrz¶ÞÜ´ðkðkll*l?l?lUl]lml|l|llŸl¢l§lµlÉlÐlÚlÚlïlïlmmm!m,mJmTmWmZm_mmmƒmmm“m›m©m¿mÉmÌmÌmÓm×mémŽtØRØRìRóRûRSSS-S/S/S?SASASQSYSYSbSnS‹S‹SSS¡SÇSX" c cc)c:cEcacdcrcxc{cŒc§c«c@Š–Qd[dcd{d{d„d˜džd¨dÄdÈd‘@!-;ü;üIüNüQücüiülünütü’L¬»òÜòÜüÜÝÝÝ)Ý/Ý>ÝDÝSÝYÝhÝnÝpÝuÝ“(âè{t{t‘t­t¿tÅtàt”ä{° z z>zGzjztz†z‰z‘z”zšzz©z»zÈzÎzÛzæzëzñz{{{{{"{.{@{M{S{`{k{p{v{ˆ{ˆ{ˆ{ˆ{“{“{¡{•8¡«’ܒܜܰܲÜÀÜÂÜÓÜæÜëÜ– Ñõ3M3MRMTMeMjMxM™M§MµMÀMØMßMáMáMóMùMÿMNN NNNN!N0N6N6N6N=NNN—@%Š Š ž ¬ ¬ ¹ Þ é í û þ ¡˜T…–66Z]kkš «««¯½™$@E%+0š`p„žž»ÁÏÏãîòùü !!!%1›HøŠÍŠÍ±ÍÏÍÝÍèÍìÍðÍôÍ ÎÎÎÎ#ΜD"/²‰²‰À‰Ì‰Ñ‰Ñ‰â‰ç‰ç‰í‰t¹Òc3c3k3|3 3§3¸3Ü3ê3ø3444%434I4_4a4w44444žX{cJcJ|JŒJ¤J°J¼J¼JÎJÔJÔJàJìJîJîJöJŸ@Â×Â×Ñ×Ù×í×÷×ÿר ØØØØØ ,Úá t ttHpIpI~I„I‹I¡I¡I¨IÂIÈI£<xƒú¶ú¶·#·*·.·1·5·<·`·p·¤`«¿"€"€&€=€o€¢€»€Ê€Ù€Þ€ä€æ€¥@ SûSûnûŠûŠû—û—û¤û¤û´û¶û¶ûÞû¦d2Ç 9 9«9Á9È9æ9÷9::":6:N:f:y::š:Ä:ß:ü:!;&;?;T;t;‹;›;;Ó;*<û;ù;I<Z<a<<–<°<°<×<×<ö<ý<9=G=§=x=v=Æ=Í=Ò=è=ð=ð=>%>F>Œ>Y>a>L>µ>ç>ï>ï>?$?E?O?f?n?Y?Â?Â?Â?Ç?Ç?Ø?ó?@@2@K@f@~@”@¬@º@Å@Å@Ø@ñ@AA8AeFe©4 *ƒ*ƒ>ƒMƒRƒ`ƒcƒiƒqƒªH6õ6õ?õTõ]õiõkõmõ|õ|õ‹õõõ’õ«ÈÉ÷Û$Û$ó$ý$%% %%%%%7%<%<%N%S%S%e%j%j%|%%%%%ˆ%%%Ÿ%¤%¤%¶%»%»%Ò%ÿ%&&&&-&4&=&L&¯&¬„a~†Ü†ÜŠÜ™Ü™Ü¨Ü¨Ü·Ü·ÜÆÜÕÜÕÜéÜäÜøÜóÜÝÝÝÝ Ý‚á­˜ò>>DBRÓ -®LtƒJ~J~^~k~n~r~€~‹~”~³~À~Ê~Î~Ñ~ã~¯TÊÛååå#å.åQå_åiåoåyå~åŒå’å•å›å°¼žÉ6ã6ãHãNã\ã\ãyãƒã›ãŸã·ã»ãÕãÕãèãñãüãäää0ä:äGäPäRäXäaägäŒää§ä·äÈäÌäÐäÛäÛäßäßäßäå±”"ÈuÈuâuv v v&v7v?vCvOv`vmvsvvvyv|vvƒv‡v“v¤v³v¹v¼v¿vÂvÂvÌvÏváv²H .êàêàÿà ááá#á+áHáWá]á`álá³P]möèöèÿè é é%é;éJécééŽé§éÃéÄéÉé´L–¥ª€ª€¸€Ä€Ï€à€ô€ø€-6;McµˆSqVV1V6VBVBVNVVV^ViVrVzVVV…V”VŸV§V¯V°V°VºV¶Ü›Îss{ ­¸Á×ê  # 3 F S f „  š ¦ ² ² ¿ É Ù ï  - -6 -: -< -A + ! 9 N N W q x ‰ – ¡ ¨ ¹ à à Ô Ü á è õ   qd¦»7:HHQ\adt…ˆ‹‘rH<J~ö~öŽö”öŸö¨ö«ö¸öÁöÁöÅöÈöÐös4ÕÞNN\jr}–›¢¨t¬LsŠ|Š|œ|«|±|Å|Ø|ï|}},}C}Z}q}Œ}}—}}¡}³}Ì}Ù}ß}ú}þ}~ ~~!~:~G~M~P~Z~u„c€ØjØjûjÿj kkk(kIkSkSkikuk|kk”k˜k«kÌkÖkÖkêkêkíkûkv(ddd&d1d9d>dw0lt&&4CNTVV\x<KV`x`xixsxƒx…x¸x¿x¿x¿xÂxy4ŠÓnÑnцюќѧѫѱѷÑÅÑÚÑßÑåÑüÑÒÒÒ#Ò)Ò@ÒEÒKÒYÒ]ÒyҌҟҤҳÒÀÒÐÒßÒìÒÿÒÓ ÓÓ!Ó;ÓBÓPÓbÓbÓuÓwӊӌӟӡӴӴÓÐÓçÓíÓóÓþÓ"Ôz`ÝñËiËiâiðiûiýijj$j/j:jUTUXUXU\UdU€¤6[@†@†Z†b†f†n†z††ˆ††¢†³†·†·†ĆˆІç†ê†ó†ù†ü†þ†‡ ‡$‡'‡)‡0‡4‡B‡81;ÛÛÛ+Û6Û6ÛAÛEÛEÛKÛ‚,–{_{___ _¥_´_ƒ02:K’K’_’j’|’„’‡’’„¼Kv‹e‹e§eÈeÚeáeëe÷eÿe +fff*fNf]fdfkf|f~f†f‘fœf«f²fµf·f½fÃfÛfäfäfèfg…,ÑØvûvû„ûû§û«û­ûÁû†D V8Y8YRYUY[YgYiYxYY…Y®YµYâYéYíYZZ.Z7Z7Z7ZDZ}Z‰Z•Z¢ZµZÃZÔZçZôZ[["[i[{[¨[¯[Î[Õ[à[ü[ü[\ +\ +\\\\(\+\+\7\C\\\h\q\|\’\ \ \ \±\Ê\Ñ\Ø\Þ\á\(]‡P,<``€“Ÿ«ÁÇÒØÝßøˆ4#XHXHaHvHvHƒH˜H˜HH‰ ÌÐVûVûdûmûsûŠ85?ʤʤÚ¤ö¤¥¥ +¥¥¥"¥‹¼ +5…….…2…9…@…M…[…d…g…m…s…z……ƒ……’…œ…ª…°…¿…Ë…Î…Ñ…Ù…Þ…ô…†††††† ††† †'†9†Œ0HPVVdrz¶ÞÜ´ll&l.l:lOlOlelml}lŒlŒl‘l¯l²l·lÅlÙlàlêlêlÿlÿlm#m)m1mzGzjztz†z‰z‘z”zšzz©z»zÈzÎzÛzæzëzñz{{{{{"{.{@{M{S{`{k{p{v{ˆ{ˆ{ˆ{ˆ{“{“{¡{•8¡«¢Ü¢Ü¬ÜÀÜÂÜÐÜÒÜãÜöÜûÜ– Ñõ;M;MZM\MmMrM€M¡M¯M½MÈMàMçMéMéMûMNN NNNNN N)N8N>N>N>NENVN—@%š š ® ¼ ¼ É î ù ý  ¡¡¡˜T…–66Z]kkš «««¯½™$@E%+0š`p„žž»ÁÏÏãîòùü !!!%1›HøšÍšÍÁÍßÍíÍøÍüÍÎÎÎ#Î#Î%Î3ΜD"/²‰²‰À‰Ì‰Ñ‰Ñ‰â‰ç‰ç‰í‰t¹Òk3k3s3„3¨3¯3À3ä3ò34 44#4-4;4Q4g4i44•4•4•4—4žX{kJkJ„J”J¬J¸JÄJÄJÖJÜJÜJèJôJöJöJþJŸ@Ò×Ò×á×é×ý×ØØØØ"Ø$Ø$Ø*Ø ,Úátt!tDt/tTtZt~t¡8{… +Ç +ÇÇÇÇ<ÇHÇJÇJÇÎÇ¢8>HpIpI~I„I‹I¡I¡I¨IÂIÈI£<xƒ +· +·%·3·:·>·A·E·L·p·€·¤`«¿2€2€6€M€€²€Ë€Ú€é€î€ô€ö€¥@ cûcû~ûšûšû§û§û´û´ûÄûÆûÆûîû¦d2ǰ9°9»9Ñ9Ø9ö9::#:2:F:^:v:‰:Ÿ:ª:Ô:ï: ;1;6;O;d;„;›;«;­;ã;:< < <Y<j<q<‘<¦<À<À<ç<ç<= =I=W=·=ˆ=†=Ö=Ý=â=ø=>>%>5>V>œ>i>q>\>Å>÷>ÿ>ÿ>?4?U?_?v?~?i?Ò?Ò?Ò?×?×?è?@@)@B@[@v@Ž@¤@¼@Ê@Õ@Õ@è@AA*AHALAJAšA¨A¸AÆAÞAùABB2B2B‰BZBXB¨B¶BÆBáBùBCC[C,C*CzCzCƒCŒC¡C¡C²C¹CÎCÎCßCßCâCæC§,szÐyÐyÔyÙyãyóyóyz¨T—¨ÉdÉd×dädñdeee e.e2e4e>eFe©4 *ƒ*ƒ>ƒMƒRƒ`ƒcƒiƒqƒªH6õ6õ?õTõ]õiõkõmõ|õ|õ‹õõõ’õ«ÈÉ÷Û$Û$ó$ý$%% %%%%%7%<%<%N%S%S%e%j%j%|%%%%%ˆ%%%Ÿ%¤%¤%¶%»%»%Ò%ÿ%&&&&-&4&=&L&¯&¬„a~†Ü†ÜŠÜ™Ü™Ü¨Ü¨Ü·Ü·ÜÆÜÕÜÕÜéÜäÜøÜóÜÝÝÝÝ Ý‚á­˜ò>>DBRÓ +®LtƒZ~Z~n~{~~~‚~~›~¤~Ã~Ð~Ú~Þ~á~ó~¯TÊÛååå#å.åQå_åiåoåyå~åŒå’å•å›å°¼žÉ6ã6ãHãNã\ã\ãyãƒã›ãŸã·ã»ãÕãÕãèãñãüãäää0ä:äGäPäRäXäaägäŒää§ä·äÈäÌäÐäÛäÛäßäßäßäå±”"ÈuÈuâuv v v&v7v?vCvOv`vmvsvvvyv|vvƒv‡v“v¤v³v¹v¼v¿vÂvÂvÌvÏváv²H .úàúàááá'á3á;áXágámápá|á³P]möèöèÿè é é%é;éJécééŽé§éÃéÄéÉé´L–¥ª€ª€¸€Ä€Ï€à€ô€ø€-6;McµˆSqVV1V6VBVBVNVVV^ViVrVzVVV…V”VŸV§V¯V°V°VºV¶Ü›Îƒƒ‹°½ÈÑçú ' 3 C V c v ”  ª ¶   Ï Ù é ÿ  +- F -O -a -h -h -z -€ -¯ -·,zÖíÖíÚíî(î(î2î¸,fm#‹#‹1‹7‹C‹O‹S‹Y‹¹,W^kIkIyI{II•IšI IºH´ÂÒÒÛçú‚‚‚%‚0‚4‚8‚;‚»dÃØB‚B‚K‚c‚n‚Š‚Œ‚¢‚¸‚Ë‚á‚û‚ÿ‚¼¬޵ûJûJKK3KBKoKyK~K­K´K¶K¶KÅKÏKÚKßKâKñKöKLL%L%L7LCLGLQL½€0LCTCT_TnTsTyTƒTˆTTžT¤T¤T­T¸TÊTÓTÞTãTèTùTÿTÿTÿTU U¾ .2ôôô+ô0ô¿Œ'Fœ¢œ¢¬¢°¢¹¢Ô¢â¢ç¢ê¢ø¢ý¢£$£N£R£r£t£|£¦£ª£Ê£Ô£Û£ñ£ ¤(¤D¤`¤g¤o¤À ’–a]a]j]w]|]Á´T}– – ´ » Å Ê Ý è þ ",6@>Nl†|– ºÞäëÿ "):??·Âøµï{ž{ž™žªž¿žÅžÌžÌžÚžéžðžöžŸŸŸ+Ÿ2ŸAŸTŸ`ŸwŸyŸ‘Ÿ“Ÿ–Ÿ˜Ÿ˜ŸœŸœŸ¨Ÿ¯Ÿ¯Ÿ³Ÿ¾ŸÄŸÐŸØŸýŸ $ ; B H K a Ã4&/ãSãSòSTT!T)T3T5TBTÄŒ4S   A L ] q ‰ ž ³ ¼ Á Á Ñ Ú à ì  & 6 6 6 I N O “ Å8ˆ’ŽîŽîœî¨îÓîàîâîéîñîóîùîÆ€5{{›§³·»ÊÞæì‘‘‘'‘+‘.‘0‘B‘P‘T‘^‘b‘k‘q‘„‘Ç$).ÈHÈHÖHÝHñH÷HÈ,‚‰ÆËÆËÜËïËúËÌÌ Ìɨ+ŽŽ2Ž5ŽMŽXŽhŽzŽ~ŽŒŽ•Ž·Ž½Ž½ŽÉŽÔŽâŽìŽôŽøŽøŽøŽûŽýŽ"0577MÊLêùnünüŠü–ü°ü»üÈüÜüâüîüË 376ô6ô:ôGôIôÌ`#R#R'RCRRRdRiRsRÃRÙRàRòRSS2SBSGSGS\SÍ`àpùpûpqq(q;qJqOqbqyqq‹qœqœq¯qûqάGn‹ç‹ç“ç—ç£ç³ç¾çÍçÙçâçþçè%èNè`èkèŠèŠè±è³è³è³èÌèÎèÎèÎèæèæèøèéééé-é4é4éFéVéÏ )ó5ó56=6e66›6Þ6!7d7f7t7‚777ª7Ä7Ö7æ7û78&868K8d8k8r8Ž8ª8¶8Ð4‰’MMMMUMeMqMMM¨MÑÀnš[‹[‹s‹z‹‚‹—‹ ‹ ‹»‹Á‹Á‹Ë‹Ò‹Ý‹â‹ì‹ŒŒ Œ ŒŒ$Œ/Œ3Œ8Œ<ŒGŒMŒPŒSŒXŒ_ŒiŒyŒÒ@/;Ò’Ò’ð’ü’ ““ “-“3“6“9“K“Ó0'‚•‚••¨•Û•á•ã•ã•é•Ô<NYë:ë:ó:;";2;C;R;l;„;†;ˆ;Õk‹ë“ë“””””””-”2”5”@”C”H”^”p”{”‡”‘”””–”™”›”ž”£”¨”¬”º”Ö<“ž¨M¨M¶MÄMÉMÏMßMßMåMNN×”}žªÕªÕÁÕÃÕÍÕäÕäÕõÕþÕÖ ÖÖÖÖ'Ö>Ö>ÖCÖEÖEÖIÖKÖKÖOÖVÖVÖ[ÖkÖ}ÖÖÖØLQ`²µ²µ»µ»µʵÙµêµîµþµ¶¶¶¶Ù$kkk9kÚ 8<NôNôXôkôpôÛ !†ó†óŠó—ó™óÜÔ,]#1JYcozˆ—¨ÄÌØàèèóõ.Bt…’­ÊÌÞççùù  ..37Ýœ$ãFãFëFñFGG/GHGHGTGeGpG|G|G‰G›G GÇGÎGßGéGîGîGîGH.HHHMHRHÞxv£%£%·%Á%Ç%Ó%ã%æ%ê%ó%&&&&$&J&R&[&[&a&&’&˜&¥&ßD&ÞêÞêæêîêöêþêëëëë&ë*ë.ëà ësAsAA†AŽA–A£AµA¿AÄAÖAëABB-B?BFBFB\BiBiBBŽBŽB•BœB£B¨B°Bá@nzÎéÎéèéöéê êê$êWê]ê]êiêâ0••(•@•s•y•{•{••ãDŒ™»”»”ç”õ”••• •••)•,•<•ä€Ïë³ -³ -¾ -Æ -Ñ -Ü -ç -ð -  # 7 ^ t Ž – ² ¾ É á ì ó þ   åLÁгL³LÍLàLõLûLMMMM!M,Mæˆú““©½ÊÜÜîù!!!2=DHPT\bhhkyç|ºÀºÀÌÀÛÀÞÀÿÀ"Á2Á[ÁkÁxÁ¨Á·ÁÄÁÔÁÚÁêÁêÁüÁÿÁÂÂÂÂÂÂè8 ÚŸÚŸèŸóŸþŸ! 7 : C éH=Kèè.CIOOWY…êL \;k;kCkNk`kfknkxk›k›k­kºkÇkÏkÝkl&l^lclclul‚ll”l£lØlßlðlölûlûl mm'm,m;momvm‡mmmm—m—m¤m¹m¿mÒmömnnnn+n6nNl†|– ºÞäëÿ "):??·Âøµï{ž{ž™žªž¿žÅžÌžÌžÚžéžðžöžŸŸŸ+Ÿ2ŸAŸTŸ`ŸwŸyŸ‘Ÿ“Ÿ–Ÿ˜Ÿ˜ŸœŸœŸ¨Ÿ¯Ÿ¯Ÿ³Ÿ¾ŸÄŸÐŸØŸýŸ $ ; B H K a Ã4&/ëSëSúS TT)T1T;T=TJTÄŒ4S   A L ] q ‰ ž ³ ¼ Á Á Ñ Ú à ì  & 6 6 6 I N O “ Å8ˆ’ŽîŽîœî¨îÓîàîâîéîñîóîùîÆ€5{{›§³·»ÊÞæì‘‘‘'‘+‘.‘0‘B‘P‘T‘^‘b‘k‘q‘„‘Ç$).ÈHÈHÖHÝHñH÷HÈ,‚‰ÆËÆËÜËïËúËÌÌ Ìɨ+(Ž(ŽBŽEŽ]ŽhŽxŽŠŽŽŽœŽ¥ŽÇŽÍŽÍŽÙŽäŽòŽüŽ  $2@EGG]ÊLêùnünüŠü–ü°ü»üÈüÜüâüîüË 376ô6ô:ôGôIôÌ`+R+R/RKRZRlRqR{RËRáRèRúR S S:SJSOSOSdSÍ`ðp q qq/q8qKqZq_qrq‰qq›q¬q¬q¿q rάGn›ç›ç£ç§ç³çÃçÎçÝçéçòçè è5è^èpè{èšèšèÁèÃèÃèÃèÜèÞèÞèÞèöèöèéé+é+é+é=éDéDéVéféÏ )û5û56E6m6•6£6æ6)7l7n7|7Š7˜7˜7²7Ì7Þ7î788.8>8S8l8s8z8–8²8¾8Ð4‰’MMMMUMeMqMMM¨MÑÀnš[‹[‹s‹z‹‚‹—‹ ‹ ‹»‹Á‹Á‹Ë‹Ò‹Ý‹â‹ì‹ŒŒ Œ ŒŒ$Œ/Œ3Œ8Œ<ŒGŒMŒPŒSŒXŒ_ŒiŒyŒÒ@/;â’â’“ ““$“0“=“C“F“I“[“Ó0'’•’• •¸•ë•ñ•ó•ó•ù•Ô<NYó:ó:û:;*;:;K;Z;t;Œ;Ž;;Õk‹ë“ë“””””””-”2”5”@”C”H”^”p”{”‡”‘”””–”™”›”ž”£”¨”¬”º”Ö<“ž¨M¨M¶MÄMÉMÏMßMßMåMNN×”}žºÕºÕÑÕÓÕÝÕôÕôÕÖÖÖÖ Ö'Ö.Ö7ÖNÖNÖSÖUÖUÖYÖ[Ö[Ö_ÖfÖfÖkÖ{ÖÖÖŸÖØLQ`µµ˵˵Úµéµúµþµ¶%¶)¶)¶.¶Ù$ k k%kAkÚ 8<NôNôXôkôpôÛ !†ó†óŠó—ó™óÜÔ,]##+3AZisŠ˜§¸ÔÜèðøø ,>R„•¢½ÚÜî÷÷  00>>CGÝœ$ëFëFóFùF +GG7GPGPG\GmGxG„G„G‘G£G¨GÏGÖGçGñGöGöGöGH6HPHUHZHÞxv³%³%Ç%Ñ%×%ã%ó%ö%ú%&&&&"&4&Z&b&k&k&q&&¢&¨&µ&ßD&ÞêÞêæêîêöêþêëëëë&ë*ë.ëà ë{A{A‰AŽA–AžA«A½AÇAÌAÞAóA BB5BGBNBNBdBqBqB‡B–B–BB¤B«B°B¸Bá@nzÎéÎéèéöéê êê$êWê]ê]êiêâ0*•*•8•P•ƒ•‰•‹•‹•‘•ãDŒ™»”»”ç”õ”••• •••)•,•<•ä€Ïëà +à +Î +Ö +á +ì +÷ +  * 3 G n „ ž ¦  Î Ù ñ ü    ) åLÁлL»LÕLèLýLM MM&M&M)M4Mæˆú““©½ÊÜÜîù!!!2=DHPT\bhhkyç|ÊÀÊÀÜÀëÀîÀÁ2ÁBÁkÁ{ÁˆÁ¸ÁÇÁÔÁäÁêÁúÁúÁ ÂÂÂÂ$Â*Â-‘Âè8 êŸêŸøŸ  1 G J S éH=Køø%>SY__gi•êL \CkCkKkVkhknkvk€k£k£kµkÂkÏk×kåk l.lflklkl}lŠl—lœl«làlçlølþlmmm"m/m4mCmwm~mm•m—m—mŸmŸm¬mÁmÇmÚmþm nn n&n3n>nDnOnOnUn^ninyn~nnªn·n¼n¼nÀnÙnë@Zf“;“;¡;¨;®;µ;É;Ð;Ò;×;ä;ì,™ zÜz܃ÜܗܜܡÜí(%£S£S±SÍSÒSÞSäSî<ì÷+ + = I _ y „ • — Æ ï$³c³c¼cÅcËcÐcðlAX”” ””.”G”`”i”t””¢”³”½”¿”ʔՔޔç”ú” ••(•(•*•ñ$ôùss|…‹ò  +›T›T¤T±TÂTóXŸ<6<6J6S6_6e6h6m6s6v6{6{6ˆ6Œ666•6ôDû®ò®ò½òÂòËòÜòÝòðòóòùòõh-ƒ{-{-£-¥-®-Â-Å-Ê-Î-í-....%.D.M.O.n.w.w.w.|.².¼.Æ.Ð.Ú.á.í.ù.///$/$/-/////8/:/:/C/E/E/J/L/L/Q/Q/Q/U/p/†/‘/¨/±/¶/À/Ì/Ø/ä/÷/0 0$0/0E0U0w0”0²0²0²0²0²0¼0Å0Ì0L1öLÅÔ[[ov{‘“¤¨»Áî÷4(šƒšƒ¨ƒªƒ¯ƒ¸ƒ»ƒÀƒÆƒø4¦ê¦ê®ê¶ê¾êÆêÎêÖêÚêÞêù,~ê~ê†êŽê–êžê¢ê¦êúL™¨‹W‹W™WžW W¯W±W¿WÊWÓWÓWÔWÚWûx7ÞÞò÷44CYbqxx{…›¢¤§©©µü| Ðk&¯&¯G¯I¯`¯i¯t¯¯¯”¯¢¯­¯¸¯Ì¯×¯Ú¯à¯ä¯ç¯í¯ñ¯ô¯÷¯ °°'°*°B°R°U°[°^°q°†°Ž°‘°©°¹°¾°¾°Æ°Æ°é°é°é°í°ï°ï°ó°õ°õ°ù°û°û°ÿ°ÿ°ÿ°±±±± ±±±±±!±$±<±P±U±[±^±c±v±‘±“±©±©±©±®±®±°±°±µ±¸±Þ±Þ±Þ±ö±ü±²"²1²F²X²}²‚²‚²š²¸²½²½²Õ²ó²õ²õ² ³)³+³+³C³_³_³}³‰³Ž³Ž³¦³½³Â³Â³Ú³ö³û³û³ÿ³´5´9´;´;´?´W´u´y´y´—´œ´œ´´´Ë´Ò´×´×´ï´µ µµ+µOµVµXµXµfµnµ—µ™µ™µ±µÒµñµöµöµ¶#¶E¶9¶]¶|¶¶ ¶¥¶¥¶½¶Ô¶Þ¶ã¶ô¶ô¶ú¶···)·9·9·o·}·ƒ·š·¢·«·«···»·»·Ä·Ó·Ü·Ü·å·ï· ¸)¸F¸U¸[¸p¸x¸„¸Ž¸Ž¸¦¸¨¸³¸Ë¸Í¸í¸í¸ò¸ò¸(¹6¹?¹?¹K¹O¹O¹X¹g¹p¹p¹y¹¹›¹¦¹¾¹À¹Ë¹ã¹å¹ºººº2º4º4ºLºcºhºhº€º—º¡º¦º¼º¼ºÓºÓºßºãºéºòº» » -»»»6»8»T»_»z»|»|»…»»¨»¾»Ë»Ó»ô»ö»þ»¼¼$¼)¼J¼T¼T¼o¼y¼„¼ ¼³¼Ê¼Ò¼Ü¼Ü¼å¼é¼½8½C½C½C½W½`½d½{½³½³½µ½µ½Ñ½Û½ã½ã½ì½ð½¾?¾P¾V¾m¾u¾‚¾‡¾‡¾¾”¾«¾ã¾ô¾ý¾¿¿ ¿¿)¿@¿J¿O¿e¿}¿}¿§¿±¿±¿Î¿Ò¿å¿í¿ô¿ÿ¿À À ÀÀCÀWÀuÀŒÀ–À À À°ÀÚÀêÀüÀÁ Á&Á8ÁDÁHÁHÁHÁHÁLÁQÁQÁ\Á`ÁxÁÁ™ÁžÁ´ÁÌÁÌÁöÁÂ%Â*Â*Â*Â5Â9ÂQÂhÂrÂwÂÂ¥¥Â×ÂáÂþÂÃÃÃ:Ã@Ã`ÃrÃzÃ|ÕãÃÀÃÐÃÐÃýÃÿÃ)Ä+ÄGÄRÄ\ÄfÄmĊēēÄÀÄØÄÛÄöÄöÄöÄûÄÅ3ÅGÅeÅ|ÅŋŕÅÂÅÖÅÙÅðÅðÅðÅðÅúÅÆ'Æ1Æ6Æ6ÆNÆeÆoÆÆƛƯƲÆÄÆÎÆÔÆëÆóÆüÆÇÇÇÇ1Ç4ÇFÇXÇ]Ç]ÇunjǖǦǦÇÂÇÖÇÙÇëÇõÇûÇÈÈ#È(È(È(ÈDÈXÈ[ÈmÈȄȄȄȜȳȽÈÍÈÍÈòÈÉ ÉÉ*É2É;É@É@É@ÉeÉvɈÉÉɢɢɢɾɾɨÉßÉËý|„Ÿr·r··‘·Ÿ·Ÿ·­·À·è· ¸¸)¸L¸4¸f¸†¸›¸ ¸ ¸ ¸²¸µ¸Á¸þ¨ºàcøcøyøøøø¥ø¬ø°ø¸øÈøÖøåøëøóøÿøùù ùùùùaúÿ4GP¢“¢“¶“Ì“דÜ“ê“÷“””D¦³jjv˜ž¤ªÀÇÌÒ|÷j‚j‚ ‚”‚°‚¶‚łʂۂ߂ã‚í‚ò‚ƒƒƒƒ$ƒ8NXâÙâÙòÙúÙÚÚÚÚ'ÚPAQä:ä:;; ;);/;4;R;T;b;h;k;y;ˆTrCC\fv~¬ÁÒ ä×Qmr}‡”ž¬²¾ÅÓ@ j×j×s×{ׄטעק׳׹׻׻×À×0-5››Ÿà¹1h˜¤Æ{h{h“h¢h°hÀhÆhÆhÑhÜhßhähîhühiiiiii(i)i)i5i7iCiX7‰6Ï6ÏTÏZÏaÏqÏxπφÏϣϱϵϺÏÀÏÎÏÑÏÖÏÙÏÙÏéÏúÏüÏÐÐÐ"Ð)Ð+Ð8Ð:Ð:ÐJÐ[Ð^Ð`ÐlÐnЎГКУЩЯжййÐÉÐÚÐÜÐÑ)Ñ+Ñ2Ñ4Ñ@Ñ@ÑTÑXÑXÑnÑ ˆSNSNsN}N€NˆN˜N˜N¬N¶NÌNÖNØN÷NüN OO&O7OEOOOOOOO_O -$n³ûUûUVV"V'V;VXVqVŽV–VµVÈVäV2W4W8W @¨´ ` `!`F`N`S`f`s`y`|`` 0ãûãûìûñûúûüüü ,;BŠªŠª™ª¥ª³ª¼ªÁªǪä6NÍNÍlÍoÍr͎͕͆ͩͬͮÍÑÍÑÍÔÍäÍæÍæÍéÍëÍëÍîÍÎÎ5Î?ÎIÎQÎQÎQÎSÎSÎXÎwÎ}ΌΜΰÎÀÎÂÎÔÎäÎéÎéÎõÎõÎÏÏÏ0Ïô…¾ô¥ô¥¦ ¦¦ ¦$¦*¦*¦1¦7¦;¦?¦F¦L¦S¦Y¦`¦f¦m¦s¦z¦€¦‡¦¦”¦š¦§¦­¦´¦½¦Å¦Å¦Î¦Ï¦à¦ó¦õ¦§ §§"§-§8§C§N§N§X§LWfÈxÈxÑxáxáxÿxyyy!y1y3y3y3yZyhÝ󳎳ŽÈŽ×ŽÜŽìŽôŽôŽ #/>JU[fiqD<INÛNÛbÛ~یۜ۞۠۫ۯۯ۷Û`*>»8»8Û8ì8ó89 9 9!9!9/979E9M9M9x9£9Î9Û9è9ô9°2Zññññ6ñAñPñ\ñpññ—ñ¯ñ¿ñßñßñòòò)ò+ò+ò=ò=òEòEòQòeòmòmòò†ò†ò˜ò¥ò±òÕòP„”ê~ê~ù~ ###%7>o‹Œ’0•KpKpaptp†pŒpp—p<al22@QY]inrx8gqã;ã;ì;ü;<<< < <#<\ÉÜööú  3>Rc…§ÂÝø.Id X£µIwIwiwvw{w‡w§w­wºwÇwÎw×wÛwçw,’™®Ì®ÌÂÌÔÌÙÌ -ÍGÍä6£˜£˜½˜À˜Ã˜É˜Ý˜ä˜ç˜™ ™™™™™.™ ™<™S™_™s™|™„™•™•™•™ž™¥™³™µ™À™Æ™å™õ™ý™šš)š1šCšFšFšFšFšRš•š  Hhghgˆg—g£g®g¹gÍgàgëg÷gh hhh"h+hDhPhPhkh}hhžh³h¹hÝhåhåhñhõhùhiiJi%iYidi{iiˆiii¢i¨iÇiÌiÌiØiÞiäiæiöiLÊÏÊÏÙÏáÏáÏîÏÐ ÐÐÐÐ%Ð'Ð'Ð-Ð<{†²†²†À†Ù†ä†ë†‡ó†#‡p‡  GKB|B|Q|n|t|!lª’˜’˜¦˜˜Ò˜Ò˜æ˜ð˜ô˜ø˜™™™,™5™9™H™[™a™h™w™z™…™º™Æ™Ò™Ú™ä™ò™šš#š4šGšMš”š¦š´šÊšÙšäšúš›››8›D›O›V›\›c›l›o›–›" ‹¯===$=$=3=?=F=L=L=V=_=_=e=i=l=v====™=™=¤=©=¬=¯=²=µ=¼=¼=¼=¼=¼=Ê=#   þòþòóóó$¤ôÀ}À}Ö}â}ê}û}ÿ}~%~3~E~J~P~U~l~u~~~~ª~¸~Ä~Ô~æ~æ~ê~ð~ø~ -)-RRaciqƒ˜¢±¶¶ÂÂÐÙÙ耀€!€(€3€I€^€m€|€‡€‰€€œ€¢€©€¶€¼€¼€ÀÜ€á€é€ñ€ú€ -y%,‹‘‹‘”‘¯‘µ‘µ‘º‘&„‡äˆ–ˆ––¨–µ–º–¿–Ä–É–ΖÓ–ë– ——7—D—M—R—W—\—z—e—Š————µ—µ—º—Ê—ЗÚ—ß—è—í—ò—˜0˜e˜j˜t˜˜‹˜™˜§˜¶˜¶˜ݘâ˜ç˜ì˜ ™ ™™'™>™G™N™Z™f™ˆ™ˆ™™–™›™¢™«™¬™µ™º™uš'(éïãtãtýtuu!u)u(²¯²¯À¯ȯͯÓ¯û¯°&°.°9°>°T°a°j°o°ž°¥°­°»°°è°è°ñ°±±8±@±S±c±s±ƒ±’±¢±²±±ܱá±é±é±î±ü± ²,²7²F²V²f²v²²²²œ²¢²)4ž§³_³_·_È_Ø_é_ò_÷_`*p !ÙzÙzízúzÿz {{{4{j{s{|{ˆ{+†ÄÂÇÂÇæÇùÇÈÈÈÈÈ#È5È>È^ÈcÈ|ȃȃȘȤȤÈËÈÎÈíÈ ÉÉ.ÉDÉFÉRÉhÉ~ÉɼÉÈÉÞÉôÉùÉÊÊ1Ê1Ê9ÊCÊOÊeÊ{ʇÊʳʽÊÅÊÌÊâÊëÊÃË,8u^^l{…–ž  ¦-80: -ª -ªª;ª^ªjªwªª†ª.,µ¼“`“`œ`¥`¸`¾`Ã`/0 À„À„΄Ø„ì„ò„ô„ú„0,8?¶¶ÊÜíû1@-9eQeQuQ~Q…QŒQ“Q”QœQ2,HgHgQg\g^g^gcg3\m€zzœ ¬½ÉÒñý€ €€€4€1`1`A`H`[`g`Ž`˜`¢`ª`²`º`Æ`Ø`ê`aaa'a-a3a6a=aEa5¬FÃåÃåËåÏåÛåëåöåæææ/æXæjærææ›æºæºæáæãæãæãæüæþæþæþæçç(ç0çKçKçKç]çdçdçvç|ç†ç6X½Ã`Ã`Ï`Ø`á`ç`ó`ÿ`a aaa)a4a0¶¶¿ÄÓ×ÙÞ?<±¼ÃqÃqÙqìqr r#r*r@rFrLr‚r@TctŠÚŠÚ˜ÚªÚ´Ú¾ÚÙÚßÚáÚìÚÛÛ.Û4Û4Û4Û4Û:ÛAPáñcúcúmú€ú“ú›úOûB(MS  !3<>CH!b‰b‰p‰|‰‰‰’‰¤‰©‰©‰¯‰Dœ'J{d{d•d¶dÈdÏdÙdådídødeee(e/e3e3e9e?eWe`efeoetetetexe‚eEXÓå“4“4Ÿ4¡4°4Æ4Ò4Ù4ð4ò4 5 5 555F”Op e eÆeÉe×eòef f-f-fLfNfNfmfofofff£fªf³f¾fÂfÚfÜfg -ggDgGHíû2ß2ßCßOßSß_ßgßsßy߀߆ߎßH<# -© -©© ©(©8©D©N©}©©…©I4§°CqCqWqiqrqŒq“q©q¯qÂqJ4Yb*Ú*Ú3Ú;ÚGÚXÚcÚkÚ~ÚƒÚKZ‚‚–­´´ÂÊÂÖÂýÂÃ;ÃGÃ[Ã_ÃeÃsÃwÃ}ËËËêÃÉÃÝÃõÃùÃÿà ÄÄÄ)Ä)Ä)Ä)Ä,Ä1Ä6Ä<ÄPÄTÄZÄeÄiÄoÄzÄzÄzÄÄ…Ä™ÄģĮIJĸÄÁÄÁÄÁÄöÄL¬Ð÷âºâº» »»»»-»:»>»H»^»^»n»z»»»˜»£»«»°»»»»Ê»Ø»æ»ð»ó»ø»¼¼¼$¼M?HH½HÀHÎH×H×HîHÿHII.I;I@IDIUII‡I‹II˜IªI¹I¼IøIN`¹Í{–{–—–š–Ÿ–¥–®–³–¿–Ç–Ó–×–ß–ë–í–í–ð–ü–O˜6˜hThT‰TŒTT¬TÐT×TâTñTûTUUU,U%U%^%i%p%{%…%Ž%ž%Y@nzJJJ“O“[“g“|“ƒ“”“¢“µ“Á“ñ“gØ&X -¡ -¡ ¡/¡:¡L¡c¡c¡t¡Œ¡™¡¬¡¸¡áÓ¡õ¡÷¡¢!¢!¢!¢2¢^¢e¢n¢t¢{¢¢†¢Œ¢¢—¢¢¢¨¢Ò¢h@8DŠŠ Š"ŠDŠQŠQŠ[Ši UyŽìŽì—ì§ìµìÙìëìíìí í í5í7íMíeílílímímí{í†í’í”í í«í»íÃíÖíjüf¡˜]˜]·]¹]È]Ô]à]õ]ú]^ -^^&^<^<^?^D^N^N^X^[^q^‰^…^—^œ^º^Ó^Ü^ß^â^ç^ _ _)_#_U_U_i_}_„_Š__’_¢_©_¬_~`k”¢Ã€`€`˜`š`¨`´`Í`Þ`ç`aaaa'aGaGa^a`a`awayaya‰a‰aaa˜añal Vz³ì³ì»ìÆìÖìåìñìíí*í2í7í7íDíZílítí|íŽí»íÇíÚíâíçíçíùíùí îîî$î)î0îmDNøaøa bbb,b6bZb~b†b˜b¦b±bÂbÇbÝbåbêbc#c#cDcFcFcgcicicycycc„c‰cŸc§c¬cÅcècôcdd8d:d:d[d`d`dpdpd}d€d…dždªdÊdÊdÖdÚdædôdýde%e,e3e6ežen`AUÛÛãù    $ ? H O T e v ˆ Œ ‘ “ oðå¨)¨)Æ)É)Ì)Ö)ä)ï)***?*L*W*i*~**š*Ç*Ì*Ò*ü*+ +++'+9+N+b+j++•+›+¾+Ã+×+ï+,,8,N,`,`,Œ,¢,¥,·,p0 àGàGäGøGøG HHHqH_m£I£IÃIÑI×IëIñIöIþIJ Jr\Qd””"”$”/”4”G”P”U”Z”j”w”w”}”ˆ”sŒc‚Ø/Ø/ã/ë/ö/0 00+0?0H0\0ƒ0™0³0»0Ñ0Ù0÷011&11181C1H1]1tx…ŸÓþÓþïþôþ÷þÿ -ÿ ÿÿÿ-ÿ5ÿ5ÿ@ÿ@ÿHÿJÿJÿQÿTÿ`ÿu0 ДД˜”¢”¹”¿”Á”Ç”vLZiðð‘ -‘‘=‘K‘M‘b‘m‘s‘ˆ‘wx5ÈSÈSÞSûSTTT#T'T«B«´«›ÈØ 8 8(8.888;8;8D8O8Y8c8o8q8w8~88„8Œ8˜8ž8£8©8¬8®8¹8¿8Å8Î8Î8Ö8ß8å8î8î8î8î8ô8ü8ÿ89œLù:Ÿ:ŸHŸKŸWŸaŸgŸtŸˆŸˆŸªŸªŸÇŸËŸÏŸÕŸ8akææôþ#ž,Û∈ˆ%ˆ&ˆ+ˆŸ4ÐÙ£s£s·sÉsØsésüst t  )-æóæóêó -ô ô¡t2Ò³Ò³â³î³÷³´0´S´b´o´ƒ´z´¤´¸´¾´À´´È´Ê´×´Ú´â´¢Ìh—ž÷ž÷¹÷Ã÷Ñ÷×÷á÷á÷î÷ô÷ø÷û÷ý÷ø øø!ø*ø>øVøsøcøˆøˆø–ø¾øÀøÍøÔøëø÷øÿøùù6ùBùRùˆù£Üø+» » à Ç Ò à é ÿ   ) 4 B Q q Ž ¦ ª à Û ê î ù .N\k—¤¨µÇÇÕÜîîüüý¤haw"¶"¶D¶J¶S¶S¶\¶k¶x¶§¶²¶º¶¼¶ζζζß¶ì¶ì¶ú¶¥$(-J¤J¤X¤`¤r¤x¤¦@z†@–@–D–E–T–]–c–g–k––†–ˆ–§<@K¥¥(¥2¥6¥;¥G¥L¥P¥T¥^¥¨<ðûc c x g ‡ ¯ ©€ ¼¸¸à¸ñ¸ù¸ ¹¹)¹4¹J¹V¹l¹‚¹ййÙ¹Þ¹Þ¹ººº8º?ºaºª˜9[“D“D£D­D²D·D·DÆDËDäDíDøDúDûDûDEEE#E%E1E;EIENE]EdEfEfEfElE«€›†á†áá’á©á©áÀáÔáòáôá ââ*â;âRâRâiâ}â›ââµâÈâÈâËâ$ã¬8—¡]]—] ]ª]µ]¾]Á]Ë]­l 7cOcOO„OŒO O OµO¿OÖOàOâOPPP%P0PAPOPYPYPgP®47@œ:œ:°:Ì:Î:Ù:Û:Û:ã:¯ˆ7UkPkP‘P•P˜P¨PÁPÁPÔPÝPòPûPQQQQ$Q'Q*Q/QGQUQfQ€QŽQžQžQ°Q°hqÇ´«´«Ò«â«é«ñ«ø«¬¬7¬7¬Y¬Y¬Y¬b¬d¬d¬m¬o¬o¬x¬z¬z¬ƒ¬…¬…¬Ž¬¬¬™¬›¬›¬¤¬¦¬¦¬¯¬±¬±¬º¬º¬½¬Â¬Â¬Â¬Å¬È¬Ñ¬ë¬û¬­%­'­*­,­/­:­?­?­H­H­M­M­V­c­h­h­q­…­ˆ­­­–­–­¤­¨­ƒ®±4rƒrƒ€ƒ‚ƒ‡ƒŠƒƒ’ƒ˜ƒ² ¢¦Ñ]Ñ]Ú]ç]ì]³0[ccUcUlUzU€U‘U“U“U˜U´(‹‘)])]=]H]Q]T]\]µpêßêßûßàà!à-à9à9àKàQàQà^àjà‡à£à£à£à©à©à¹à»à»àãà¶ €„¦¦ª¹½·Dq_q_…_—_ž_¢_¥_°_¸_Ì_Ï_×_¸€ËäËäéäøäå!å6å<åAåGåJåXådågåjåvå{å„å‰åå©å©å¿å¹h²ÈÖÖø-Cg—ºÔÔççóºX=OÖëÖëàëâë÷ëÿë ì'ì4ì4ìKìTìXì\ì»\r…(ˆ(ˆ>ˆEˆTˆ[ˆdˆdˆ~ˆ‰ˆ‘ˆ¥ˆ®ˆ´ˆ¿ˆ¿ˆ݈¼0ËÓ22F…Œ’Ÿ²¾½lXo7:HHT[`ciltyy~ƒ‡—¾<áìòòò#ò*ò3ò:òCòCòJòLò¿4ºÃ“>“>>>Í>ã>?-?1?Àˆ;Y“’“’œ’¦’¦’¶’Ã’Ì’Õ’Þ’ç’û’û’“ “““%“4“=“F“f“f“h“x“~“ƒ“Á @pupuxu„u¬uÀuÄuÓußuíuüuAvAvmvŠv”v£v¡vÐvÐvövövûvwww4wOw]ww—w²w»wÑwÕw×w×wéwéwëwëwûw x xxxx1x8xFxUxx–x¨x¨x®x {Â8Ž˜"Ü"Ü1Ü?ÜVÜZÜZÜ_Ü_ÜeÜÃ<5@„„2„A„H„M„X„m„p„u„„Ä´^Ç;;Fgn}Š—¦ºÊàí!0=FF_‚£ÖÛõ %0PYaj|Ž®ÃÖð+=BTf~Žš­­àëö$0<<AQ_x¢©®ÎÕúú,VXX]xŠŠ˜­­¾ÅÚÚëëîöŨ'Ò¢Ò¢ä¢ï¢ô¢£££#£.£9£D£I£W£e£s£’££¤£¸£Ô£à£è£ó£õ£¤¤¤&¤5¤7¤@¤J¤Æh - nýný|ý—ý£ý¯ý»ýÄýÍýÖýßýèýñýúýþ þþþ'þ0þ0þHþÇ0½Åƒrƒr¡r½rÔràrærìr sÈL-[["[0[0[:[D[a[l[u[{[|[‚[É,r¹#<#<+</<6<=<H<P<W<W<f<k<w<ƒ<“<­<¼<Á<É<Ð<á<û<=='=(=K=P=b=g=Š=Ž=—=Ÿ=¨=Ç=Î=ß=à=ä=>>,>7>D>D>K>m>~>„>Ž>Ê8~ˆ¾¾ÓÜãêíõËDŽ"€"€&€,€2€8€>€D€J€P€V€\€b€d€ÌhÈØCØCãCûC DD%D.D?DWDoDD’DšD»DÐDæDðDEE$E5EGE^E^E‚E EªEªEÉEÜEäEäEFF1FqFDFLF7F—F°F¸F¸FÒFçFGG"G*GGuGuGuG«G«G¼G¼GÏGáGéGüGH'H/H/H=HFHQH_HfHqHHH„HHÍ4{„¬¥¬¥¼¥¾¥Æ¥Ú¥á¥æ¥î¥Î<²½i^i^^‘^ª^Á^Ë^Õ^Ø^è^Ï8§±ñ]ñ]^^2^I^S^V^f^ÐLú îüîü -ýý0ý9ýFýZý`ýlýÑ Ÿ£ââæÿ€Ò`L`b¥b¥‚¥Ž¥™¥ž¥¬¥·¥Æ¥Ì¥Ý¥á¥å¥ë¥î¥õ¥¦¦ ¦Ó #GNþNþcþjþtþ‚þ‚þŠþ£þÆþÈþçþþþÿCÿbÿlÿvÿ„ÿœÿ´ÿ½ÿ½ÿÖÿàÿùÿ PÔ¼Y„›ý›ý·ýºýÃýÌýÖýèýëýîýóýþ þþþ0þ2þ2þFþFþIþLþZþ^þtþzþþˆþ‹þþ¥þ¨þªþªþ¿þ¿þ¿þÑþÕX€’kîkî†îŽî™îµîµî¾î¾îÃîÔîÝîèîèîúîïÖ\"Ù_Ù_é_î_ø_` ` ````%`-`×,'..ë.ë8ë:ëBë\ëaëgëØd\q8‡8‡P‡Y‡t‡ƒ‡˜‡ž‡¦‡ɇׇû‡ ˆˆˆˆ&ˆÙ< -ʔʔޔí”ý”•• -• ••Úd€O€O•OŸO¤O«O±OºOÈOÓOÕOåOñOPPP P&P0PÛ<±¼¨{¨{¼{¿{È{Ø{Ý{ñ{|ÜX&8ÃCÌCÓCéCþCDD3D=DZD_DfD{D‚DŠDDÝ,†Íàˆàˆ‰ ‰‰‰/‰9‰D‰F‰Z‰g‰p‰t‰t‰}‰‰™‰ž‰²‰¿‰ä‰ì‰Š -ŠŠŠCŠJŠcŠcŠhŠqŠ…ŠŠºŠÑŠòŠòŠ ‹‹‹"‹L‹b‹…‹…‹‹‹‹Ÿ‹Ÿ‹Ÿ‹°‹½‹Ò‹ç‹ç‹UŒÞ° 1»‘»‘đߑߑå‘å‘ë‘ë‘ë‘ë‘ë‘ë‘ë‘ë‘ð‘ð‘ü‘’’’ ’’’)’)’)’)’)’)’/’/’/’/’1’1’I’ß„qŽà|à|ö|ý| }%}:}@}N}S}Z}f}f}p}u}|}‡}•}™}œ}Ÿ}¨}»}à,*ƒ*ƒ.ƒ3ƒMƒRƒTƒá@›§c2c2q2x22‰22’2¤2©2¶2â4›¤{Œ{Œ„Œ’Œ¦Œ®Œ´Œ¶Œ¶Œ»Œã<)4ʃʃáƒäƒéƒìƒÿƒ„„ -„„ä8ËcËcÛcÞcãcæcôcúcýcÿcdå /3øHøHII Iæ$nênêrêvêxêçDÍÚÚ‡Ú‡è‡ô‡ù‡ù‡ˆ ˆ ˆˆèhC™ûšûš››0›<›@›\›w›w›w›w›w›ƒ››–›¤›¨›³›Ã›Í›Ò›Ò›Û›ë›ð›ð›œœ œœ&œ6œ8œ8œ8œUœWœWœtœtœzœ†œ’œ™œœ­œ°œ¼œÍœÞœàœàœöœøœøœ ,37GJVgy{{{€Äé(.4z¤z¤ƒ¤‘¤ ¤¯¤´¤êxš´ËËãòøûž1ž1ž;ž=ž=žGžIžIžIžTžVžVžVžažažažfžxžë¨r˜»V»VÕVíVW WWWWW$W/W3W8W>WKWQWTWVWYW\W\WaWpWsW…Wì,„‹*†*†3†8†@†F†F†K†í@ƒ2­2­@­h­‹­˜­¥­°­Ò­Ú­à­î(17\©\©i©~©ª©¾©ï0´¼*×*×@×K×\×^×f×ð óó ó3ó8óñ$§¬‡‡#‡+‡1‡6‡ò”9‹‹“·ÆÒÝëý !5hjnny„“¢ÂÍÒäëëýþó<¨³ÒÖÒÖáÖæÖ××××!×!×'×ô,«²îïîïòï0ð2ð2ðFðõÄJÃXÃX×XäXêXòXÿXYYYY)YBYPYYYdYoYrYyY~Y†Y‹Y˜YY¯Y¶YÜYßYúYúYúYþYZZöHŒšR†R†f†m††‚†‚†‰†£†¦†«†­†µ†÷X0P0PKPQPjPvPˆP’P¢P¥P²PßPâPæPQQQ*QRQR[RkRtR„RRRR–RR¢RªR¬RÑRø8LV²„²„„ńDŽ̄Մ؄݄å„ùôºó4444$454D4N4Z4•4§4¹4¹4½4Ì4Ö4ï4÷4û4 -5'5,5,5B5J5]5l5‘5ž5¦5«5¾5Í5ò5ÿ5 -6 666Q6X6j6j6x6x6y6‹6‹6™66¡6úXÂÔê€ê€ó€  &6<KP_aaûhWžåžå¶å¿åÅåÎåÖåßåçåìåìåôåùåùåææææææ2æ:æAæHæOæZæaæwæ‡æ‰ææÅæÛæèæ/ççMç~çŒç–ç³ç¶çºç¿çÈçÑçèùçôçèè/èGèUè_è_ètè~èˆèè¦è½èÁèÈèÊèËèÒèÒèâèü, þ.þ.//./C/L/ý`xŒsosoo´o¹oÈoÐoÔoÔoäoóoûopp%p1p5p5pIpþdµ -ðmðmnnn/n/nEnNn^n^njnyn~nšnn¢n§n·nÂnÉnÍnÑnßnónúno -o oo!o1oHoJoMoMoOoiouo{o„oo±oµoÁoÈoÏoÕoØoæoüoüoüop p%p)p4p7p:p@pCpQpgpgpgpop{p“p—p¢p¥p¬p½p½pÄpÚpÿ4R[|;|;’;”;ž;«;´;¹;Ã;tIbøiøijjj-j1j6jMj[j[jwjj˜j¦j¦j²j»jÁjÁjÇjä6€€ž¨´½ÛÛÝääõü ‚‚%‚1‚4‚9‚I‚d‚d‚z‚|‚|‚’‚”‚”‚¦‚¦‚»‚̂҂ՂՂ؂݂å‚ö‚ý‚ƒƒƒ4ƒ4ƒ9ƒ9ƒ9ƒTƒ<ÎÙÞÞÞ.ÞEÞIÞIÞNÞNÞVÞ<ju"¬"¬6¬=¬G¬P¬e¬q¬w¬}¬,›¢VïVï_ïiïïï”ï˜Z|««³Äßîû --;M\k}‚œ¨´ÃÒä÷#,X*4;Jcctƒ¤¦©«««³0W_ê„ê„ø„………"…%…+…Ô%VSHSHsHH†HHH—H¥H¨H¯H¯H¶HÄHÇHËH×H×HãHéHöHIIII IIII&I?IBIUIUIXI[IkI ô1¨6¨6°6¸6É6Ø6â6î6î6ò6ú6þ67Q7i7}7¡7ª7³7³7¸7Ë7Ð7Û7ñ78 8>8q8‚8’8¨8¼8Ã8õ8(999I9I9P9b9b9p9p9q9ƒ9ƒ9‘9•9™9 -P­½:‡:‡O‡_‡e‡j‡j‡t‡x‡}‡}‡…‡  =Avôvôzô‡ô‰ô Hœª''+'.'C'L'c'z'ˆ'˜'¢'¹'Ë'Ò'Þ' ,ð÷+u+uEuXucuiuyu8<FR“R“f“v“ˆ“‘“”“œ“<›¦º†º†Î†Ü†ç†ò†ú†‡ -‡ ‡‡(kê•ê•–6–Z–]–h–u–†–—–Ÿ–­–¯–²–µ–µ––Ô–×–Ü–æ–ì–ý–—————+—.—3—:—L—O—T—[—m—p—r—y—‹—Ž————©—¬—®—µ—Ç—Ê—Ì—Ò—Ò—Ò—Ò—×—×—Þ—å—ì—ò—õ—Ž˜8r|ZÕZÕdÕlÕ}Õ’ÕšÕÕŸÕ£ÕPÝíJžJž^žgž€ž‘ž¶ž¹žÓžÝžêžêžìžôž8JT¾Û¾ÛÌÛãÛîÛîÛùÛÜÜÜ$BGŽôŽô—ô¨ôÖôH©{ó{óœó¢ó©ó¿óÖóÚóâóôóôôôôô#ô)ô1ô=ôBôBôIôOô[ô`ôgônôuôyô‚ô”ô¦ô«ô®ô¶ôÅô×ôçôîô -õ)õAõZõ^õ}õ•õÉõÉõÐõÔõÝõãõèõèõèõèõèõèõèõüõöö -öö ö(ö.ö0ö0ö7ö;öDöFöFöFöIöKöKöRöVöYö_ö_öböeö{öˆöˆö“ö§ö®öµöÊöÎöïöïöôöôöôöûöÿö÷÷÷÷÷#÷&÷Ñ÷x»Õð'ð' (((('(D(O(V(](…(…((³(¾(Ã(Ã(Ë(÷())) )),£ª–ï–ï ï©ïÔïÔïéïŒkŠ$<$<B<E<]<]<_<p<}<‚<ˆ<¥<¨<³<·<·<¼<×<Ú<å<é<é<ò<õ<=d) ¨ ¨4¨<¨V¨a¨d¨j¨r¨†¨–¨£¨¥¨³¨À¨Ð¨ä¨æ¨æ¨ö¨Yy • •*•0•7•=•V•{•••¡•¨•À•Ù•ò•––––!–,–7–7–;– UYÜÜ"Ü1Ü9Ü@v‚‚¬‚¬‹¬³¬Ö¬ã¬ð¬û¬­&­+­ì¥Ü»Œ»ŒÕŒÝŒåŒôŒ0,?OU[bk‰…˜¨¿ÐÓØÞþŽ!Ž(Ž3Ž7Ž<ŽGŽRŽXŽ[ŽaŽpŽŽ†Ž’ŽŽ¯ŽL&5NNNN$N0N7N7N=NDNTNVN]NbNfN,zŽËŽË¢Ë´ËºËÀËÆË œ`ƒ2…2…M…T…_…e…h…h…o…u…‰…Ž…‘…–…Ÿ…Ÿ…Ÿ…£…­…¼…Ä…Ù…ä…ú…þ…†††††#†!0Ÿ§’Ö’Ö›Ö¡ÖªÖ³Ö¼ÖÆÖËÖ"H-–õ–õªõ¬õ³õÁõéõîõö +»»»6»8»T»_»z»|»|»…»»¨»¾»Ë»Ó»ô»ö»þ»¼¼$¼)¼J¼T¼T¼o¼y¼„¼ ¼³¼Ê¼Ò¼Ü¼Ü¼å¼é¼½8½C½C½C½W½`½d½{½³½³½µ½µ½Ñ½Û½ã½ã½ì½ð½¾?¾P¾V¾m¾u¾‚¾‡¾‡¾¾”¾«¾ã¾ô¾ý¾¿¿ ¿¿)¿@¿J¿O¿e¿}¿}¿§¿±¿±¿Î¿Ò¿å¿í¿ô¿ÿ¿À À ÀÀCÀWÀuÀŒÀ–À À À°ÀÚÀêÀüÀÁ Á&Á8ÁDÁHÁHÁHÁHÁLÁQÁQÁ\Á`ÁxÁÁ™ÁžÁ´ÁÌÁÌÁöÁÂ%Â*Â*Â*Â5Â9ÂQÂhÂrÂwÂÂ¥¥Â×ÂáÂþÂÃÃÃ:Ã@Ã`ÃrÃzÃ|ÕãÃÀÃÐÃÐÃýÃÿÃ)Ä+ÄGÄRÄ\ÄfÄmĊēēÄÀÄØÄÛÄöÄöÄöÄûÄÅ3ÅGÅeÅ|ÅŋŕÅÂÅÖÅÙÅðÅðÅðÅðÅúÅÆ'Æ1Æ6Æ6ÆNÆeÆoÆÆƛƯƲÆÄÆÎÆÔÆëÆóÆüÆÇÇÇÇ1Ç4ÇFÇXÇ]Ç]ÇunjǖǦǦÇÂÇÖÇÙÇëÇõÇûÇÈÈ#È(È(È(ÈDÈXÈ[ÈmÈȄȄȄȜȳȽÈÍÈÍÈòÈÉ ÉÉ*É2É;É@É@É@ÉeÉvɈÉÉɢɢɢɾɾɨÉßÉËý|„Ÿ‚·‚·Ÿ·¡·¯·¯·½·зø·¸)¸9¸\¸D¸v¸–¸«¸°¸°¸°¸¸ŸѸþ¨ºàsøsø‰øŸøø­øµø¼øÀøÈøØøæøõøûøùùùùù ù ù"ùqúÿ4GP²“²“Ɠܓç“ì“ú“””!”D¦³jjv˜ž¤ªÀÇÌÒ|÷z‚z‚°‚¤‚À‚ƂՂڂë‚ï‚ó‚ý‚ƒƒƒƒ"ƒ4ƒ8NXòÙòÙÚ +ÚÚ*Ú-Ú/Ú7ÚPAQä:ä:;; ;);/;4;R;T;b;h;k;y;ˆTrCC\fv~¬ÁÒ ä×Qmr}‡”ž¬²¾ÅÓ@ z×z׃׋הרײ׷×Ã×É×Ë×Ë×Ð×0-5››Ÿà¹1h˜¤Æƒhƒh›hªh¸hÈhÎhÎhÙhähçhìhöhi i iii$i'i0i1i1i=i?iKiX7‰6Ï6ÏTÏZÏaÏqÏxπφÏϣϱϵϺÏÀÏÎÏÑÏÖÏÙÏÙÏéÏúÏüÏÐÐÐ"Ð)Ð+Ð8Ð:Ð:ÐJÐ[Ð^Ð`ÐlÐnЎГКУЩЯжййÐÉÐÚÐÜÐÑ)Ñ+Ñ2Ñ4Ñ@Ñ@ÑTÑXÑXÑnÑ ˆ[N[N{N…NˆNN N N´N¾NÔNÞNàNÿNOO#O.O?OMOWOWOWOgO +$n³VV VV*V/VCV`VyV–VžV½VÐVìV:WJU[fiqD<INÛNÛbÛ~یۜ۞۠۫ۯۯ۷Û`*>Ã8Ã8ã8ô8û8 999)9)979?9M9U9U9€9«9Ö9ã9ð9ü9°2Zñññ"ñFñQñ`ñlñ€ñŸñ§ñ¿ñÏñïñïñòòò9ò;ò;òMòMòUòUòaòuò}ò}òò–ò–ò¨òµòÁòåòP„”ú~ú~ !3335GN›œ¢0•SpSpip|pŽp”p—pŸp<al22@QY]inrx8gqë;ë;ô;< <<<(<(<+<\ÉÜööú  3>Rc…§ÂÝø.Id X£µQwQwqw~wƒww¯wµwÂwÏwÖwßwãwïw,’™®Ì®ÌÂÌÔÌÙÌ +ÍGÍä6£˜£˜½˜À˜Ã˜É˜Ý˜ä˜ç˜™ ™™™™™.™ ™<™S™_™s™|™„™•™•™•™ž™¥™³™µ™À™Æ™å™õ™ý™šš)š1šCšFšFšFšFšRš•š  Hxgxg˜g§g³g¾gÉgÝgðgûghhh)h.h2h;hTh`h`h{hh h®hÃhÉhíhõhõhii i!i/iZi5iiiti‹ii˜iii²i¸i×iÜiÜièiîiôiöijLÚÏÚÏéÏñÏñÏþÏÐÐ$Ð*Ð/Ð5Ð7Ð7Ð=Ð<{†††Іé†ô†û†%‡‡3‡€‡  GKR|R|a|~|„|!lª¢˜¢˜¶˜Ò˜â˜â˜ö˜™™™™&™(™<™E™I™X™k™q™x™‡™Š™•™Ê™Ö™â™ê™ô™šš&š3šDšWš]š¤š¶šÄšÚšéšôš +›››$›H›T›_›f›l›s›|››¦›" ‹¯===$=$=3=?=F=L=L=V=_=_=e=i=l=v====™=™=¤=©=¬=¯=²=µ=¼=¼=¼=¼=¼=Ê=#   þòþòóóó$¤ôÐ}Ð}æ}ò}ú} ~~#~5~C~U~Z~`~e~|~…~~­~­~º~È~Ô~ä~ö~ö~ú~)9=bbqsy“¨²ÁÆÆÒÒàééø&€*€-€1€8€C€Y€n€}€Œ€—€™€Ÿ€¬€²€¹€Æ€Ì€Ì€Ó€ì€ñ€ù€ +‰%,‹‘‹‘”‘¯‘µ‘µ‘º‘&„‡ä˜–˜– –¸–Å–Ê–Ï–Ô–Ù–Þ–ã–û–—-—G—T—]—b—g—l—Š—u—š—Ÿ—§—Å—Å—Ê—Ú—à—ê—ï—ø—ý—˜˜@˜u˜z˜„˜‘˜›˜©˜·˜ƘƘí˜ò˜÷˜ü˜™™+™7™N™W™^™j™v™˜™˜™Ÿ™¦™«™²™»™¼™Å™Ê™…š'(éïëtëtuu#u)u1u(¯¯Яدݯ㯠°.°6°>°I°N°d°q°z°°®°µ°½°˰Ò°ø°ø°±±'±H±P±c±s±ƒ±“±¢±²±±Ò±ì±ñ±ù±ù±þ± ²²<²G²V²f²v²†² ² ² ²¬²²²)4ž§»_»_¿_Ð_à_ñ_ú_ÿ_`*p !ázázõz{{{{ {<{r{{{„{{+†ÄÒÇÒÇöÇ ÈÈÈ$È+È+È3ÈEÈNÈnÈsȌȓȓȨȴȴÈÛÈÞÈýÈÉ(É>ÉTÉVÉbÉxÉŽÉ­ÉÌÉØÉîÉÊ ÊÊ+ÊAÊAÊIÊSÊ_ÊuʋʗʭÊÃÊÍÊÕÊÜÊòÊûÊÓË,8u^^l{…–ž  ¦-80:ªª#ªKªnªzª‡ª‘ª–ª.,µ¼›`›`¤`­`À`Æ`Ë`/0 ЄЄÞ„è„ü„…… +…0,8?¶¶ÊÜíû1@-9eQeQuQ~Q…QŒQ“Q”QœQ2,XgXgaglgngngsg3\m€zzœ ¬½ÉÒñý€ €€€4€1`1`A`H`[`g`Ž`˜`¢`ª`²`º`Æ`Ø`ê`aaa'a-a3a6a=aEa5¬FÓåÓåÛåßåëåûåææ!æ*æ?æhæzæ‚æ æ«æÊæÊæñæóæóæóæ çççç&ç&ç8ç@ç[ç[ç[çmçtçtç†çŒç–ç6X½Ë`Ë`×`à`é`ï`û`aaaa#a1a0¶¶¿ÄÓ×ÙÞ?<±¼ËqËqáqôqrr+r2rHrNrTrŠr@TctšÚšÚ¨ÚºÚÄÚÎÚéÚïÚñÚüÚÛ#Û>ÛDÛDÛDÛDÛJÛAPáñsúsú}úú£ú«ú_ûB(MS  !3<>CH!b‰b‰p‰|‰‰‰’‰¤‰©‰©‰¯‰Dœ'Jƒdƒdd¾dÐd×dádídõde ee'e0e7e;e;eAeGe_ehenewe|e|e|e€eŠeEXÓå›4›4§4©4¸4Î4Ú4á4ø4ú455555F”Op°e°eÖeÙeçefff=f=f\f^f^f}fffff³fºfÃfÎfÒfêfìfgg!gTgGHíûBßBßSß_ßcßoßw߃߉ßß–ßžßH<#©©(©0©8©H©T©^©©©•©I4§°KqKq_qqqzq”q›q±q·qÊqJ4Yb:Ú:ÚCÚKÚWÚhÚsÚ{ÚŽÚ“ÚKZ’’¦­½ÂÄÂÄÂÚÂæÂ Ã,ÃKÃWÃkÃoÃuÃÇÃÛÛÛúÃÙÃíÃÄ ÄÄÄ!Ä'Ä9Ä9Ä9Ä9Ä<ÄAÄFÄLÄ`ÄdÄjÄuÄyÄÄŠÄŠÄŠÄĕĩĭijľÄÂÄÈÄÑÄÑÄÑÄÅL¬Ð÷òºòº»»"»"».»=»J»N»X»n»n»~»Š»»»¨»³»»»À»Ò»Ò»Ò»Ú»è»ö»¼¼¼¼"¼"¼4¼M? H HÍHÐHÞHçHçHþHI&I+I>IKIPITIeII—I›I I¨IºIÉIÌIJN`¹Í{–{–—–š–Ÿ–¥–®–³–¿–Ç–Ó–×–ß–ë–í–í–ð–ü–O˜6˜xTxT™TœTŸT¼TàTçTòTU U!U)U/U2O2g2i2i2k2ƒLp^^$^)^0^0^O^r^y^ˆ^—^œ^ž^ ^ ^„puJÛJÛdÛ|Û˜Û˜ÛŸÛ¡Û¡Û¯Û±Û±ÛÃÛÃÛÌÛÔÛÛÛæÛÜÜÜÜ+Ü…ˆ£Áª®ª®Á®Ä®Æ®Ô®ã®ã® ¯.¯9¯H¯X¯d¯f¯s¯Н•¯—¯¯Ÿ¯Ÿ¯Ÿ¯¤¯­¯±¯´¯¾¯†øQr.rHrbrfrxrrŠr‘ršr£r»rÊrârõrþrss-s@sIs]sasgspsvssƒs†sŽs£s¸s»sÆsÌsÔsØsêsðsösýsttt/t6t8t”t‡l²²²²Ʋϲಳ+³:³G³R³o³‚³›³›³±³±³¾³гڳⳈHWe(](]<]Q][]o]x]}]]‡]Ž]‘]¢]‰`Ui»Q»QÛQæQìQ÷QùQ +RRRR)RŠàø,³&³&Æ&Í&ë&ë& ' '''''E'Z'f''–'›'Â'ß'ü'(6(S(p((ª(Ç(ä());)X)u)’)¯)Ì)é)*#*@*]*z*”*®*È*â*ú*ú*ú* +y-‹("(žóžó¨ó²óÜóáóŒ †Š ] ]]]$], RÃTÃTÛTÝTéTéTõTUUUU"U$U(U8UFUVUaUfUfUmUmUxUxU—U¥U°U²U¸UºU¼U¾U¾UÉUËUÓUÙUÛUÛUçUñUôUôUôUôUÿUÿUV VVŽP¨¸Ã2Ã2Ç2Ö2Û2ç2ó2ÿ2333 313H3`3b3X¢ò­ò­®®®®=®`®k®‰®š®œ®œ®¤®,Š‘ÌÌ"Ì4Ì9ÌjÌp̧̑H¾ÌЇЇ˜‡¤‡©‡©‡¶‡È‡Í‡Í‡Ó‡’8¶À[L[LwL„L‰LŸL¢L·L“(¿Å\§\§d§n§„§”@ãï2ˆ2ˆ@ˆBˆdˆqˆqˆuˆ{ˆ•0ª²ã÷ã÷ù÷ø0ø2ø2ø:ø–H\jÄ;Ä;Þ;ï;ÿ;<<<<<"<—8‘›»&»&É&Ñ&Ù&ú&'''˜P:Jàwàwøwx xxx"x%x%x9xFxLxOx[x™Ä Íœ6œ6¾6È6Ë6Û6ó6ý677 7 7H7K7N7P7c7f7i7q7w7|7|7‚7Ž77™7™7™7™7Ÿ7¢7§7ª7²7Ä7šð8pĩĩީî©õ©ý©ª ª;ª;ªAªJªSªUª^ªgªiªiªrªªƒªƒªŒª•ªšªšª£ª¬ª±ª±ªºªÃªÈªÈªÈªÑªÚªßªßªëªôªùª«««.«0«0«>«B«´«›ÈØ 8 8(8.888;8;8D8O8Y8c8o8q8w8~88„8Œ8˜8ž8£8©8¬8®8¹8¿8Å8Î8Î8Ö8ß8å8î8î8î8î8ô8ü8ÿ89œLùJŸJŸXŸ[ŸgŸqŸwŸ„Ÿ˜Ÿ˜ŸºŸºŸןÛŸߟåŸ8akææôþ#ž,Û∈ˆ%ˆ&ˆ+ˆŸ4ÐÙ«s«s¿sÑsàsñst +tt  )-æóæóêó +ô ô¡t2â³â³ò³þ³´´@´c´r´´“´Š´´´È´δдÒ´Ø´Ú´ç´ê´ò´¢Ìh—ž÷ž÷¹÷Ã÷Ñ÷×÷á÷á÷î÷ô÷ø÷û÷ý÷ø øø!ø*ø>øVøsøcøˆøˆø–ø¾øÀøÍøÔøëø÷øÿøùù6ùBùRùˆù£Üø+Ë Ë Ó × â ð ù  # - 9 D R a  ž ¶ º Ó ë ú þ   />^l{§´¸Å××åìþþ   #¤haw2¶2¶T¶Z¶c¶c¶l¶{¶ˆ¶·¶¶ʶ̶Þ¶Þ¶Þ¶ï¶ü¶ü¶ +·¥$(-Z¤Z¤h¤p¤‚¤ˆ¤¦@z†P–P–T–U–d–m–s–w–{–‘–––˜–§<@K"¥"¥8¥B¥F¥K¥W¥\¥`¥d¥n¥¨<ðûc c x g ‡ ¯ ©€ ¼Ò¸Ò¸ð¸¹ ¹¹.¹9¹D¹Z¹f¹|¹’¹š¹š¹é¹î¹î¹ºº(ºHºOºqºª˜9[›D›D«DµDºD¿D¿DÎDÓDìDõDEEEEEEE+E-E9ECEQEVEeElEnEnEnEtE«€›†á†áá’á©á©áÀáÔáòáôá ââ*â;âRâRâiâ}â›ââµâÈâÈâËâ$ã¬8—¡]]—] ]ª]µ]¾]Á]Ë]­l 7kOkO‰OŒO”O¨O¨O½OÇOÞOèOêO PPP-P8PIPWPaPaPoP®47@œ:œ:°:Ì:Î:Ù:Û:Û:ã:¯ˆ7UsPsP™PP P°PÉPÉPÜPåPúPQ +QQQ"Q,Q/Q2Q7QOQ]QnQˆQ–Q¦Q¦Q¸Q°hqÇ´«´«Ò«â«é«ñ«ø«¬¬7¬7¬Y¬Y¬Y¬b¬d¬d¬m¬o¬o¬x¬z¬z¬ƒ¬…¬…¬Ž¬¬¬™¬›¬›¬¤¬¦¬¦¬¯¬±¬±¬º¬º¬½¬Â¬Â¬Â¬Å¬È¬Ñ¬ë¬û¬­%­'­*­,­/­:­?­?­H­H­M­M­V­c­h­h­q­…­ˆ­­­–­–­¤­¨­ƒ®±4rƒrƒ€ƒ‚ƒ‡ƒŠƒƒ’ƒ˜ƒ² ¢¦Ñ]Ñ]Ú]ç]ì]³0[ckUkUtU‚UˆU™U›U›U U´(‹‘)])]=]H]Q]T]\]µpúßúß àà%à1à=àIàIà[àaàaànàzà—à³à³à³à¹à¹àÉàËàËàóà¶ €„¦¦ª¹½·Dq_q_…_—_ž_¢_¥_°_¸_Ì_Ï_×_¸€ÛäÛäùäåå1åFåLåQåWåZåhåtåwåzå†å‹å”å™å å¹å¹åÏå¹h²ÈÖÖø-Cg—ºÔÔççóºX=OÖëÖëàëâë÷ëÿë ì'ì4ì4ìKìTìXì\ì»\r…8ˆ8ˆNˆUˆdˆkˆtˆtˆŽˆ™ˆ¡ˆµˆ¾ˆĈψψ툼0ËÓBBV•œ¢¯ÂνlXo7:HHT[`ciltyy~ƒ‡—¾<áìòòò#ò*ò3ò:òCòCòJòLò¿4ºÃ›>›>¥>¥>Õ>ë>'?5?9?Àˆ;Y“’“’œ’¦’¦’¶’Ã’Ì’Õ’Þ’ç’û’û’“ “““%“4“=“F“f“f“h“x“~“ƒ“Á @€u€uˆu”u¼uÐuÔuãuïuýu vQvQv}všv¤v³v±vàvàvww wwwwDw_wmww§wÂwËwáwåwçwçwùwùwûwûw xxx!x&x/xAxHxVxexx¦x¸x¸x¾x{Â8Ž˜2Ü2ÜAÜOÜfÜjÜjÜoÜoÜuÜÃ<5@„„2„A„H„M„X„m„p„u„„Ä´^ÇKKVw~š§¶ÊÚðý1@MVVo’³æë5@`iqzŒž¾Óæ/;MRdvŽžª½½ðû 4@LLQaoˆ²¹¾Þå + +-<fhhmˆšš¨½½ÎÕêêûûþŨ'â¢â¢ô¢ÿ¢£££*£3£>£I£T£Y£g£u£ƒ£¢£­£´£È£ä£ð£ø£¤¤¤!¤(¤6¤E¤G¤P¤Z¤Æh + nýný|ý—ý£ý¯ý»ýÄýÍýÖýßýèýñýúýþ þþþ'þ0þ0þHþÇ0½Å‹r‹r©rÅrÜrèrîrôrsÈL-[[*[8[8[B[L[i[t[}[ƒ[„[Š[É,r¹+<+<3<7<><E<P<X<_<_<n<s<<‹<›<µ<Ä<É<Ñ<Ø<é<===/=0=S=X=j=o=’=–=Ÿ=§=°=Ï=Ö=ç=è=ì=>>4>?>L>L>S>u>†>Œ>–>Ê8~ˆ¾¾ÓÜãêíõËDŽ"€"€&€,€2€8€>€D€J€P€V€\€b€d€ÌhÈèCèCóC DD+D5D>DODgDDD¢DªDËDàDöDE%E*E4EEEWEnEnE’E°EºEºEÙEìEôEôEF#FAFFTF\FGF§FÀFÈFÈFâF÷FGG2G:G%G…G…G…G»G»GÌGÌGßGñGùG H$H7H?H?HMHVHaHoHvHHHH”H HÍ4{„¬¥¬¥¼¥¾¥Æ¥Ú¥á¥æ¥î¥Î<²½i^i^^‘^ª^Á^Ë^Õ^Ø^è^Ï8§±ñ]ñ]^^2^I^S^V^f^ÐLú îüîü +ýý0ý9ýFýZý`ýlýÑ Ÿ£òòö€€Ò`L`r¥r¥’¥ž¥©¥®¥¼¥Ç¥Ö¥Ü¥í¥ñ¥õ¥û¥þ¥¦¦¦¦Ó #GNþNþcþjþtþ‚þ‚þŠþ£þÆþÈþçþþþÿCÿbÿlÿvÿ„ÿœÿ´ÿ½ÿ½ÿÖÿàÿùÿ PÔ¼Y„«ý«ýÇýÊýÓýÜýæýøýûýþýþþþ,þ,þ@þBþBþVþVþYþ\þjþnþ„þŠþ‘þ˜þ›þ þµþ¸þºþºþÏþÏþÏþáþÕX€’{î{î–îžî©îÅîÅîÎîÎîÓîäîíîøîøî +ïïÖ\"Ù_Ù_é_î_ø_` ` ````%`-`×,'..ë.ë8ë:ëBë\ëaëgëØd\qH‡H‡`‡i‡„‡“‡¨‡®‡¶‡Ù‡ç‡ ˆˆ!ˆ*ˆ*ˆ6ˆÙ< +Ú”Ú”î”ý” •••••%•ÚdOO¥O¯O´O»OÁOÊOØOãOåOõOPPP'P0P6P@PÛ<±¼¨{¨{¼{¿{È{Ø{Ý{ñ{|ÜX&8ËCÔCÛCñCDD$D;DEDbDgDnDƒDŠD’D—DÝ,†Íðˆðˆ‰‰"‰+‰?‰I‰T‰V‰j‰w‰€‰„‰„‰‰Ÿ‰©‰®‰‰ωô‰ü‰ŠŠŠ+ŠSŠZŠsŠsŠxŠŠ•Š ŠÊŠáŠ‹‹‹"‹'‹2‹\‹r‹•‹•‹­‹­‹­‹¯‹¯‹¯‹À‹Í‹â‹÷‹÷‹eŒÞ° 1»‘»‘đߑߑå‘å‘ë‘ë‘ë‘ë‘ë‘ë‘ë‘ë‘ð‘ð‘ü‘’’’ ’’’)’)’)’)’)’)’/’/’/’/’1’1’I’ß„qŽð|ð|} }}5}J}P}^}c}j}v}v}€}…}Œ}—}¥}©}¬}¯}¸}Ë}à,:ƒ:ƒ>ƒCƒ]ƒbƒdƒá@›§k2k2y2€2‡2‘2˜2š2¬2±2¾2â4›¤{Œ{Œ„Œ’Œ¦Œ®Œ´Œ¶Œ¶Œ»Œã<)4ʃʃáƒäƒéƒìƒÿƒ„„ +„„ä8ÓcÓcãcæcëcîcücddddå /3øHøHII Iæ$nênêrêvêxêçDÍÚÚ‡Ú‡è‡ô‡ù‡ù‡ˆ ˆ ˆˆèhC™ûšûš››0›<›@›\›w›w›w›w›w›ƒ››–›¤›¨›³›Ã›Í›Ò›Ò›Û›ë›ð›ð›œœ œœ&œ6œ8œ8œ8œUœWœWœtœtœzœ†œ’œ™œœ­œ°œ¼œÍœÞœàœàœöœøœøœ ,37GJVgy{{{€Äé(.4ФФ“¤¡¤°¤¿¤Ĥêxš´ËËãòøûž1ž1ž;ž=ž=žGžIžIžIžTžVžVžVžažažažfžxžë¨r˜»V»VÕVíVW WWWWW$W/W3W8W>WKWQWTWVWYW\W\WaWpWsW…Wì,„‹*†*†3†8†@†F†F†K†í@ƒB­B­P­x­›­¨­µ­À­â­ê­ð­î(17\©\©i©~©ª©¾©ï0´¼:×:×P×[×l×n×v×ð óó ó3ó8óñ$§¬‡‡#‡+‡1‡6‡ò”9››£ÇÖâíû #1Exz~~‰”£²ÒÝâôûû ó<¨³âÖâÖñÖöÖ×(×,×,×1×1×7×ô,«²îïîïòï0ð2ð2ðFðõÄJÃXÃX×XäXêXòXÿXYYYY)YBYPYYYdYoYrYyY~Y†Y‹Y˜YY¯Y¶YÜYßYúYúYúYþYZZöHŒšR†R†f†m††‚†‚†‰†£†¦†«†­†µ†÷X@P@P[PaPzP†P˜P¢P²PµPÂPïPòPöP!Q$Q/Q:QLQTQgQuQ„Q–QŸQ¬Q»QÑQØQéQéQõQRRRR&R3RÞUÞYÞYÞ^Þ^ÞfÞ<ju2¬2¬F¬M¬W¬`¬u¬¬‡¬¬,›¢VïVï_ïiïïï”ï˜Z|»»ÃÔïþ $=K]l{’ ¬¸ÄÓâô%%3<X*4;Jcctƒ¤¦©«««³0W_ê„ê„ø„………"…%…+…Ô%V[H[H{H‰HŽH˜H˜HŸH­H°H·H·H¾HÌHÏHÓHßHßHëHñHþH IIIIII"I"I.IGIJI]I]I`IcIsI ô1¸6¸6À6È6Ù6è6ò6þ6þ67 +77'7a7y77±7º7Ã7Ã7È7Û7à7ë7888N88’8¢8¸8Ì8Ó8989I9Y9Y9`9r9r9€9€99“9“9¡9¥9©9 +P­½:‡:‡O‡_‡e‡j‡j‡t‡x‡}‡}‡…‡  =Avôvôzô‡ô‰ô Hœª#'#';'>'S'\'s'Š'˜'¨'²'É'Û'â'î' ,ð÷3u3uMu`ukuquu8<Fb“b“v“†“˜“¡“¤“¬“<›¦º†º†Î†Ü†ç†ò†ú†‡ +‡ ‡‡(kú•ú•–F–j–m–x–…–––§–¯–½–¿––Å–Å–Ò–ä–ç–ì–ö–ü– ————"—)—;—>—C—J—\—_—d—k—}—€—‚—‰—›—ž— —§—¹—¼—¾—Å—×—Ú—Ü—â—â—â—â—ç—ç—î—õ—ü—˜˜ž˜8r|jÕjÕtÕ|ÕÕ¢ÕªÕ­Õ¯Õ³ÕPÝíZžZžnžwžž¡žÆžÉžãžížúžúžüžŸ8JT¾Û¾ÛÌÛãÛîÛîÛùÛÜÜÜ$BGŽôŽô—ô¨ôÖôH©‹ó‹ó¬ó²ó¹óÏóæóêóòóô"ô"ô"ô"ô)ô3ô9ôAôMôRôRôYô_ôkôpôwô~ô…ô‰ô’ô¤ô¶ô»ô¾ôÆôÕôçô÷ôþôõ9õQõjõnõõ¥õÙõÙõàõäõíõóõøõøõøõøõøõøõøõ öööö*ö0ö8ö>ö@ö@öGöKöTöVöVöVöYö[ö[öböföiöoöoöröuö‹ö˜ö˜ö£ö·ö¾öÅöÚöÞöÿöÿö÷÷÷ ÷÷÷ ÷ ÷ ÷+÷3÷6÷á÷x»Õ(((($(/(7(T(_(f(m(•(•((Ã(Î(Ó(Ó(Û()))))*),£ª–ï–ï ï©ïÔïÔïéïŒkŠ$<$<B<E<]<]<_<p<}<‚<ˆ<¥<¨<³<·<·<¼<×<Ú<å<é<é<ò<õ<=d) ¨ ¨4¨<¨V¨a¨d¨j¨r¨†¨–¨£¨¥¨³¨À¨Ð¨ä¨æ¨æ¨ö¨Yy0•0•:•@•G•M•f•‹•Ÿ•Ÿ•±•¸•Еé•–––$–&–1–<–G–G–K– UYÜÜ"Ü1Ü9Ü@v‚’¬’¬›¬ìæ¬ó¬­ ­.­6­;­ì¥Ü»Œ»ŒÕŒÝŒåŒôŒ0,?OU[bk‰…˜¨¿ÐÓØÞþŽ!Ž(Ž3Ž7Ž<ŽGŽRŽXŽ[ŽaŽpŽŽ†Ž’ŽŽ¯ŽL&5NNNN$N0N7N7N=NDNTNVN]NbNfN,zŽËŽË¢Ë´ËºËÀËÆË œ`ƒ2…2…M…T…_…e…h…h…o…u…‰…Ž…‘…–…Ÿ…Ÿ…Ÿ…£…­…¼…Ä…Ù…ä…ú…þ…†††††#†!0Ÿ§¢Ö¢Ö«Ö±ÖºÖÃÖÌÖÖÖÛÖ"H-–õ–õªõ¬õ³õÁõéõîõö ö -ööö#\ø *¼*¼8¼=¼E¼L¼Q¼y¼œ¼©¼¶¼Á¼Þ¼æ¼í¼í¼ð¼ö¼$,“šþîþî ï&ï3ï8ïKïQï%¼òƒYƒY¯YµYÎYæYíYùYZ ZZ6Z6ZUZ_ZgZnZvZ€ZˆZœZ­Z¾ZÓZÚZãZéZñZñZõZ[&4 ü üüü"ü+ü1ü1ü6ü'< þØþØÙ%Ù2Ù>ÙFÙbÙrÙuÙ…Ù(4Î×Ä7Ä7Ø7Ú7ã7ã7ð7ø7ý78) QU{ì{ì•ì§ì±ì*¸¹22222:2C2Y2m2w2ƒ2Ž2Ž22¾2ã2ð2ø233!3!303Q3v3ƒ3‹3¡3¬3¾3¾3Ì3Ó3å3å3ó3ó3ô3 4+(QWÞÞéý ,0X`¾¾ÇÑ×Ýßßä-@ ««¿ÍÛåö   % + .$ý»j»jÛjèjðjüj/ QU{ý{ý‰ý—ý0PÙéÆûÆûäû÷ûüü.ü;üOüVü\ükü1$mr y y¤y´y¹yÉy20dl›U›U£U¹UÄUÓUíUõU3H¾Ìé^é^ÿ^__(_1_3_?_B_E_O_4(¤ª€€€€€ €"€5d;P»ü»üÔüØüäüäüðüðüýüýü ýý*ý<ýQý[ýjýjýtý6ÔT&Ô&ÔDÔHÔKÔ\ÔoÔyÔÔƒÔ†ÔˆÔŽÔ’Ô•Ô›ÔžÔ±ÔÉÔÑÔÔÔåÔùÔÕ +ööö#\ø :¼:¼H¼M¼U¼\¼a¼‰¼¬¼¹¼ƼѼî¼ö¼ý¼ý¼½½$,“šþîþî ï&ï3ï8ïKïQï%¼ò‹Y‹Y·Y½YÖYîYõYZ ZZZ>Z>Z]ZgZoZvZ~ZˆZZ¤ZµZÆZÛZâZëZñZùZùZýZ[&4 üü$ü)ü2ü;üAüAüFü'< þØþØÙ%Ù2Ù>ÙFÙbÙrÙuÙ…Ù(4Î×Ä7Ä7Ø7Ú7ã7ã7ð7ø7ý78) QU‹ì‹ì¥ì·ìÁì*¸¹222 2+2J2S2i2}2‡2“2ž2ž2­2Î2ó2333)31313@3a3†3“3›3±3¼3Î3Î3Ü3ã3õ3õ34444+(QWÞÞéý ,0X`¾¾ÇÑ×Ýßßä-@ »»ÏÝëõ  ! + 5 ; .$ýÃjÃjãjðjøjk/ QU‹ý‹ý™ý§ý0PÙéÆûÆûäû÷ûüü.ü;üOüVü\ükü1$mr y y¤y´y¹yÉy20dl£U£U«UÁUÌUÛUõUýU3H¾Ìé^é^ÿ^__(_1_3_?_B_E_O_4(¤ª€€€!€&€0€2€5d;PËüËüäüèüôüôüýý ý ýý+ý:ýLýaýkýzýzý„ý6ÔT&Ô&ÔDÔHÔKÔ\ÔoÔyÔÔƒÔ†ÔˆÔŽÔ’Ô•Ô›ÔžÔ±ÔÉÔÑÔÔÔåÔùÔÕ ÕÕ!Õ$Õ0Õ5Õ;ÕCÕVÕpÕxÕ{ՌդիիպÕÈÕâÕïÕÖÖÖ7ÖDÖIÖIÖZÖnÖuÖzÖzÖ‹ÖŸÖ¶Ö»Ö»ÖÁÖÒÖæÖ× × -××!×5×T×Y×Y×j×~׋××ס׵×Â×Ç×Çר×ì×ù×û×û×û×û×û× Ø$Ø3Ø5Ø5ØFØZØcØcØiØiØrØrØûØ74ÅÎÊËÊËØËÝËèËëËïËõË8H?Mû9û9ÿ9:-:T::¨:¯:¶:Á:Ñ:â:ç:é:9XÎàVñVñrñyñ~ñ”ñ ñ­ñ¹ñÓñáñêñêñýñòòò:l:Q,GYky‚‘£ÂÔù348;`\psEsEwEŽEžE±EÄEËEâEòEFF'F8FYFzF‘FœF§FáF<@&2jØjØ{؆ؔئغØÇØÎØÑØÙØ=x³ÍFðFðUðbðqðvð}ð•ð¤ð«ðÐðÖðÜðãðöð -ñññ!ñ9ñBñBñPñ>XÉÛ‰x‰x©x¶x»xÇxçxíxúxy yyy%y?X¶Èéwéw xxx'xGxMxZxgxnxwx{x‡x@$ ä ä ú 4¡S¡a¡A X\æèæèêèóèõèB áå«—«—¿—Ñ—Ù—C(*0ü¨ü¨ ©©C©W©D0qyFËFË`ËcËcËlË}ˀˈËEHª¸û•û•–3–=–D–D–c–h–j–j–t–FXq2Ð2Ð=ÐVÐ]ÐpÐ}РРЭÐÏÐðÐÑ,Ñ<ÑMÑaÑhÑmÑmÑÑ¥ÑßÑæÑðÑ ÒÒ,Ò=ÒhÒ}Ò‰ÒÒ¥Ò¥Ò¥ÒªÒªÒÌÒ·ÒäÒþÒÓÓFÓWÓ‚Ó”Ó·Ó¾ÓÃÓÃÓÒÓáÓðÓõÓõÓÔÔ>ÔFÔ^ÔmÔ„Ô¤Ô¤Ô¤Ô¼ÔÈÔÕÔÞÔæÔWÕGD.;öö$ö2ö2ö:öYösösöwö}öHX½Ïbºbº„ºˆºŽº‘ºœºœº­ºººĺǺʺкÞºIDrÏrÏ{σσÏϢϪϯϻÏÁÏÃÏÃÏÈÏJLd¡d¡t¡‚¡’¡˜¡Ã¡ç¡ø¡C¢G¢O¢KØ9r‡r‡Œ‡“‡—‡›‡¦‡·‡ŇÙ‡å‡è‡ñ‡ü‡ˆˆ!ˆ$ˆ.ˆ6ˆ9ˆ<ˆPˆgˆoˆ†ˆˆ–ˆ™ˆ›ˆ«ˆ®ˆ°ˆ·ˆLjˈÒˆÕˆûˆ‰‰L<ðû;˜;˜Q˜S˜a˜~˜‚˜’˜Ÿ˜MHÖä ) ):)G)W)l)s)|)™)œ)¦)NPÛWÛWïWXXX(X,X3X>XBXJXKXSXOÀw£ûfûf%g(gDgVg]gggsg‚g†gŠg’gœg«g´gÍgÍgÔgÚgágîgùghhhhhh6h?h?hFhahdhvhPpbz -† -†††7†B†P†^†„†™†ž†¥†ª†ª†¬†Q0$,‹‹“­µÍÙâìR^𣣫»ÍÜåó 3H_nް¾Óêó;Rfs¢·ÉÎÚæô 4=HOZdmqS4ÆÏ s s)sEs\shsnsts}sœsT,ÇÎ3T3TÙKÙbÙjÙjÙvويْ٠\ No newline at end of file +××!×5×T×Y×Y×j×~׋××ס׵×Â×Ç×Çר×ì×ù×û×û×û×û×û× Ø$Ø3Ø5Ø5ØFØZØcØcØiØiØrØrØûØ74ÅÎÚËÚËèËíËøËûËÿËÌ8H?M::::5:\:‰:°:·:¾:É:Ù:ê:ï:ñ:9XÎàVñVñrñyñ~ñ”ñ ñ­ñ¹ñÓñáñêñêñýñòòò:l:Q-<Wi{‰’¡³Òä '..CDH;`\p{E{EE–E¦E¹EÌEÓEêEúE FF/F@FaF‚F™F¤F¯FéF<@&2zØz؋ؖؤضØÊØרÞØáØéØ=x³ÍFðFðUðbðqðvð}ð•ð¤ð«ðÐðÖðÜðãðöð +ñññ!ñ9ñBñBñPñ>XÉÛ‘x‘x±x¾xÃxÏxïxõxy yyy!y-y?X¶Èñwñwxx#x/xOxUxbxoxvxxƒxx@$ ä ä ú 4¡S¡a¡A X\æèæèêèóèõèB áå«—«—¿—Ñ—Ù—C(*0ü¨ü¨ ©©C©W©D0qyFËFË`ËcËcËlË}ˀˈËEHª¸û•û•–3–=–D–D–c–h–j–j–t–FXqBÐBÐMÐfÐmЀÐаанÐßÐÑÑ<ÑLÑ]ÑqÑxÑ}Ñ}ÑѵÑïÑöÑÒÒ*Ò<ÒMÒxÒÒ™Ò ÒµÒµÒµÒºÒºÒÜÒÇÒôÒÓÓ+ÓVÓgÓ’Ó¤ÓÇÓÎÓÓÓÓÓâÓñÓÔÔÔÔ(ÔNÔVÔnÔ}Ô”Ô´Ô´Ô´ÔÌÔØÔåÔîÔöÔgÕGD.;öö$ö2ö2ö:öYösösöwö}öHX½Ïrºrº”º˜ºžº¡º¬º¬º½ºʺÔº׺ÚºàºîºID‚ςϋϓϓϠϲϺϿÏËÏÑÏÓÏÓÏØÏJLd¡d¡t¡‚¡’¡˜¡Ã¡ç¡ø¡C¢G¢O¢KØ9‚‡‚‡œ‡£‡§‡«‡¶‡LJÕ‡é‡õ‡ø‡ˆ ˆ#ˆ(ˆ1ˆ4ˆ>ˆFˆIˆLˆ`ˆwˆˆ–ˆˆ¦ˆ©ˆ«ˆ»ˆ¾ˆÀˆLj׈Ûˆâˆåˆ ‰‰$‰L<ðû;˜;˜Q˜S˜a˜~˜‚˜’˜Ÿ˜MHÖä0)0)J)W)g)|)ƒ)Œ)©)¬)¶)NPÛWÛWïWXXX(X,X3X>XBXJXKXSXOÀw£gg-g0gLg^gegog{gŠgŽg’gšg¤g³g¼gÕgÕgÜgâgégöghhhhh h&h>hGhGhNhihlh~hPpbz††"†.†G†R†`†n†”†©†®†µ†º†º†¼†Q0$,‹‹“­µÍÙâìR^š³³»ËÝìõ.CXo~ž­ÀÎãú-Kbvƒ‘²ÇÙÞêö+DMX_jt}S4ÆÏss1sMsdspsvs|s…s¤sT,ÇÎ3T3T>=8; @@ -28,7 +28,7 @@ U0 PutChars(U64 ch) U0 PutS(U8 *st) {//Use $LK,"Print",A="MN:Print"$(). See $LK,"Keyboard Devices",A="HI:Keyboard Devices/System"$. -//Don't use this. $LK,"See Print() shortcut.",A="FF:::/Doc/HolyC.DD,DemoHolyC"$ +//Don't use this. $LK,"See Print() shortcut.",A="FF:::/Doc/CosmiC.DD,DemoCosmiC"$ I64 ch; U8 *ptr; Bool cont=TRUE; diff --git a/src/Kernel/SerialDev/Keyboard.CC b/src/Kernel/SerialDev/Keyboard.CC index 948fc049..184d3ffe 100755 --- a/src/Kernel/SerialDev/Keyboard.CC +++ b/src/Kernel/SerialDev/Keyboard.CC @@ -291,8 +291,8 @@ U8 *ScanCode2KeyName(I64 sc) case SC_F11: CatPrint(buf,"F11"); break; case SC_F12: CatPrint(buf,"F12"); break; case SC_GUI: CatPrint(buf,"WINDOWS"); break; - case SC_PRTSCRN1: CatPrint(buf,"PRTSCRN1"); break; - case SC_PRTSCRN2: CatPrint(buf,"PRTSCRN2"); break; + case SC_PRINTSCREEN1: CatPrint(buf,"PRINTSCREEN1"); break; + case SC_PRINTSCREEN2: CatPrint(buf,"PRINTSCREEN2"); break; } } return StrNew(buf); diff --git a/src/Kernel/StrPrint.CC b/src/Kernel/StrPrint.CC index 59b79d93..cdfe04d6 100755 --- a/src/Kernel/StrPrint.CC +++ b/src/Kernel/StrPrint.CC @@ -24,9 +24,9 @@ U0 OutStr(U8 *ptr,U8 **_buf,U8 **_dst,I64 len,I64 flags) i=0; else i=StrLen(ptr); - if (flags&PRTF_TRUNCATE && i>len) + if (flags&PRINTF_TRUNCATE && i>len) i=len; - if (flags&PRTF_LEFT_JUSTIFY) { + if (flags&PRINTF_LEFT_JUSTIFY) { for (j=0;j=argc) throw('StrPrint'); - if (flags&PRTF_DOLLAR) { + if (flags&PRINTF_DOLLAR) { doc=argv[cur_arg++]; old_flags=doc->flags; doc->flags|=DOCF_NO_CURSOR; @@ -405,7 +405,7 @@ to avoid this. } break; end: - if (!(flags&PRTF_AUX_FMT_NUM)) + if (!(flags&PRINTF_AUX_FMT_NUM)) aux_format_num=1; while (aux_format_num-->0) OutStr(tmp_buf,_buf,_dst,len,flags); @@ -434,16 +434,16 @@ to avoid this. throw('StrPrint'); m=argv[cur_arg++]; if (m(I64)<0) { - flags|=PRTF_NEG; + flags|=PRINTF_NEG; m=-m; } sp_out_dec: - if (flags&PRTF_AUX_FMT_NUM) { + if (flags&PRINTF_AUX_FMT_NUM) { if (!len) len=12; d=m; goto sp_out_eng; } - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_format_count=comma_count=3; do { tmp_buf[k++]=ModU64(&m,10)+'0'; @@ -454,18 +454,18 @@ sp_out_dec: } } while (klen) + if (flags&PRINTF_TRUNCATE && k+i>len) k=len-i; if (k<0) k=0; - if (flags&PRTF_PAD_ZERO) { - if (flags&PRTF_NEG) + if (flags&PRINTF_PAD_ZERO) { + if (flags&PRINTF_NEG) SPutChar(_dst,'-',_buf); comma_count=(len-k-i+comma_format_count-comma_count+1) %(comma_format_count+1)+1; @@ -481,7 +481,7 @@ sp_out_comma_num: } else { for (;ilen) + if (flags&PRINTF_TRUNCATE && k+i>len) k=len-i; if (k<0) k=0; - if (flags&PRTF_PAD_ZERO) { - if (flags&PRTF_NEG) + if (flags&PRINTF_PAD_ZERO) { + if (flags&PRINTF_NEG) SPutChar(_dst,'-',_buf); for (;ilen) + if (flags&PRINTF_TRUNCATE && k+i>len) k=len-i; if (k<0) k=0; for (;i17) { n+=i-17; @@ -573,7 +573,7 @@ sp_out_inf: n=0; m=Round(d); - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_count=i&3; while (i-- && k2 && !comma_count--) { @@ -599,7 +599,7 @@ sp_out_inf: } if (dec_len) tmp_buf[k++]='.'; - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_count=3; do { if (n) { @@ -626,13 +626,13 @@ sp_out_inf: goto sp_out_num; case 'e': if (!len) len=12; - flags|=PRTF_TRUNCATE; + flags|=PRINTF_TRUNCATE; if (cur_arg>=argc) throw('StrPrint'); d=argv[cur_arg++](F64); if (d<0) { - flags|=PRTF_NEG; + flags|=PRINTF_NEG; d=-d; } if (d==ì) goto sp_out_inf; @@ -649,18 +649,18 @@ sp_out_e: n0=n; if (n<0) { n=-n; - flags|=PRTF_NEG_E; + flags|=PRINTF_NEG_E; } else - flags&=~PRTF_NEG_E; + flags&=~PRINTF_NEG_E; i=3; do tmp_buf[k++]=ModU64(&n,10)+'0'; while (n && i--); - if (flags&PRTF_NEG_E) + if (flags&PRINTF_NEG_E) tmp_buf[k++]='-'; tmp_buf[k++]='e'; dec_len=len-k-2; - if (flags&PRTF_NEG) + if (flags&PRINTF_NEG) dec_len--; if (d) { @@ -682,12 +682,12 @@ sp_out_e: goto sp_out_f; case 'g': if (!len) len=12; - flags|=PRTF_TRUNCATE; + flags|=PRINTF_TRUNCATE; if (cur_arg>=argc) throw('StrPrint'); d=argv[cur_arg++](F64); if (d<0) { - flags|=PRTF_NEG; + flags|=PRINTF_NEG; d=-d; } if (d==ì) goto sp_out_inf; @@ -701,12 +701,12 @@ sp_out_e: goto sp_out_f; case 'n': if (!len) len=12; - flags|=PRTF_TRUNCATE; + flags|=PRINTF_TRUNCATE; if (cur_arg>=argc) throw('StrPrint'); d=argv[cur_arg++](F64); if (d<0) { - flags|=PRTF_NEG; + flags|=PRINTF_NEG; d=-d; } sp_out_eng: //Engineering notation @@ -719,17 +719,17 @@ sp_out_eng: //Engineering notation if (n<0) { n=-n; - flags|=PRTF_NEG_E; + flags|=PRINTF_NEG_E; } - if (flags&PRTF_AUX_FMT_NUM && -24<=n<=24) { - if (flags&PRTF_QUESTION) { - if (flags&PRTF_NEG_E) + if (flags&PRINTF_AUX_FMT_NUM && -24<=n<=24) { + if (flags&PRINTF_QUESTION) { + if (flags&PRINTF_NEG_E) i=-n/3; else i=n/3; j=0; } else { - if (flags&PRTF_NEG_E) + if (flags&PRINTF_NEG_E) j=-n-aux_format_num; else j=n-aux_format_num; @@ -742,12 +742,12 @@ sp_out_eng: //Engineering notation tmp_buf[k++]=sys_pos_pows_lets[i]; else if (len!=0) tmp_buf[k++]=CH_SPACE; - if (!(flags&PRTF_DECIMAL)) { + if (!(flags&PRINTF_DECIMAL)) { dec_len=len-k-2; - if (flags&PRTF_NEG) + if (flags&PRINTF_NEG) dec_len--; if (j>0) { - if (flags&PRTF_COMMA) + if (flags&PRINTF_COMMA) dec_len-=4*j/3; else dec_len-=j; @@ -763,12 +763,12 @@ sp_out_eng: //Engineering notation i=3; do tmp_buf[k++]=ModU64(&n,10)+'0'; while (n && i--); - if (flags&PRTF_NEG_E) + if (flags&PRINTF_NEG_E) tmp_buf[k++]='-'; tmp_buf[k++]='e'; if (!dec_len) { dec_len=len-k-2; - if (flags&PRTF_NEG) + if (flags&PRINTF_NEG) dec_len--; d1=d+Pow10I64(-dec_len+1)/2; if (d1>=10) { @@ -778,7 +778,7 @@ sp_out_eng: //Engineering notation } } } - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { if (len && dec_len>0 && !(dec_len&3)) tmp_buf[k++]=','; dec_len-=dec_len/4; @@ -788,7 +788,7 @@ sp_out_eng: //Engineering notation if (cur_arg>=argc) throw('StrPrint'); m=argv[cur_arg++]; - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_format_count=comma_count=4; do { tmp_buf[k]= m&15 +'0'; @@ -815,7 +815,7 @@ sp_out_eng: //Engineering notation if (cur_arg>=argc) throw('StrPrint'); m=argv[cur_arg++]; - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_format_count=comma_count=4; do { tmp_buf[k]= m&15 +'0'; @@ -843,7 +843,7 @@ sp_out_eng: //Engineering notation if (cur_arg>=argc) throw('StrPrint'); m=argv[cur_arg++]; - if (flags&PRTF_COMMA) { + if (flags&PRINTF_COMMA) { comma_format_count=comma_count=4; do { tmp_buf[k++]= m&1 +'0'; @@ -889,9 +889,9 @@ U8 *CatPrint(U8 *_dst,U8 *format,...) U0 Print(U8 *format,...) {//$LK,"Print(\"\") Format Strings",A="FI:::/Doc/Print.DD"$.See $LK,"StrPrintJoin",A="MN:StrPrintJoin"$(). -//Don't use this. $LK,"See Print() shortcut.",A="FF:::/Doc/HolyC.DD,DemoHolyC"$ +//Don't use this. $LK,"See Print() shortcut.",A="FF:::/Doc/CosmiC.DD,DemoCosmiC"$ U8 *buf=StrPrintJoin(NULL,format,argc,argv); - PutS(buf);//Don't use PutS(). $LK,"See Print() shortcut.",A="FF:::/Doc/HolyC.DD,DemoHolyC"$ + PutS(buf);//Don't use PutS(). $LK,"See Print() shortcut.",A="FF:::/Doc/CosmiC.DD,DemoCosmiC"$ Free(buf); } diff --git a/src/Tmp/MyDistro.iso b/src/Tmp/MyDistro.iso index 0e5afd37c8eef21503dbd01f97fe805d6e0840aa..9f22977cbf11db1ac4a2a006dc3d1f5327774296 100755 GIT binary patch delta 92573 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 Y!|3`Nt%2tFFxsXiAGl#$U#r{y1Cth(jQ{`u delta 88983 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 N%vzd3tK0NX`9B0n=->bV diff --git a/src/Zenith/Ctrls/CtrlsA.CC b/src/Zenith/Ctrls/CtrlsA.CC index 34524823..f7e70f78 100755 --- a/src/Zenith/Ctrls/CtrlsA.CC +++ b/src/Zenith/Ctrls/CtrlsA.CC @@ -18,15 +18,15 @@ U0 CtrlsUpdate(CTask *task) if (c->update_derived_vals) (*c->update_derived_vals)(c); if (c->flags&CTRLF_BORDER) { - c->scrn_left =gr.pan_text_x+task->pix_left+c->left-FONT_WIDTH; - c->scrn_right =gr.pan_text_x+task->pix_left+c->right-FONT_WIDTH; - c->scrn_top =gr.pan_text_y+task->pix_top+c->top-FONT_HEIGHT; - c->scrn_bottom=gr.pan_text_y+task->pix_top+c->bottom-FONT_HEIGHT; + c->screen_left =gr.pan_text_x+task->pix_left+c->left-FONT_WIDTH; + c->screen_right =gr.pan_text_x+task->pix_left+c->right-FONT_WIDTH; + c->screen_top =gr.pan_text_y+task->pix_top+c->top-FONT_HEIGHT; + c->screen_bottom=gr.pan_text_y+task->pix_top+c->bottom-FONT_HEIGHT; } else { - c->scrn_left =gr.pan_text_x+task->pix_left+c->left; - c->scrn_right =gr.pan_text_x+task->pix_left+c->right; - c->scrn_top =gr.pan_text_y+task->pix_top+c->top; - c->scrn_bottom=gr.pan_text_y+task->pix_top+c->bottom; + c->screen_left =gr.pan_text_x+task->pix_left+c->left; + c->screen_right =gr.pan_text_x+task->pix_left+c->right; + c->screen_top =gr.pan_text_y+task->pix_top+c->top; + c->screen_bottom=gr.pan_text_y+task->pix_top+c->bottom; } c=c->next; } @@ -36,8 +36,8 @@ fp_update_ctrls=&CtrlsUpdate; Bool CtrlInsideRect(CCtrl *c,I64 x,I64 y) {//screen coordinates - if (c->scrn_left<=x<=c->scrn_right && - c->scrn_top<=y<=c->scrn_bottom) + if (c->screen_left<=x<=c->screen_right && + c->screen_top<=y<=c->screen_bottom) return TRUE; else return FALSE; diff --git a/src/Zenith/DolDoc/DocCodeTools.CC b/src/Zenith/DolDoc/DocCodeTools.CC index c6871068..f9c3b65f 100755 --- a/src/Zenith/DolDoc/DocCodeTools.CC +++ b/src/Zenith/DolDoc/DocCodeTools.CC @@ -40,7 +40,7 @@ I64 PopUpEdFormat() I64 i; CDoc *doc=DocNew; DocPrint(doc,"$$LTBLUE$$$$MU,\"Compile Check\",LE=EF_CMP_CHK$$\n" - "$$MU,\"Reindent HolyC Fun (Beware braces in strings.)\"," + "$$MU,\"Reindent CosmiC Fun (Beware braces in strings.)\"," "LE=EF_REINDENT$$\n" "$$MU,\"Renum Asm Local @@ Labels for Fun\",LE=EF_RENUM_ASM$$\n" "$$MU,\"Insert Template Code: Ctrl Slider\",LE=EF_CTRL_SLIDER$$\n" diff --git a/src/Zenith/DolDoc/DocRecalc.CC b/src/Zenith/DolDoc/DocRecalc.CC index c9f009ef..0e2e99f6 100755 --- a/src/Zenith/DolDoc/DocRecalc.CC +++ b/src/Zenith/DolDoc/DocRecalc.CC @@ -277,7 +277,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) if (!doc || doc->doc_signature!=DOC_SIGNATURE_VAL) return FALSE; //WinMgr updates all wins $TX,"30",D="WINMGR_FPS"$, 33.33333mS - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && doc->owning_task!=Fs) { + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && doc->owning_task!=Fs) { i_jif=counts.jiffies+JIFFY_FREQ/250; //4 mouse while (Bt(&doc->locked_flags,DOClf_LOCKED)) { if (counts.jiffies>=i_jif) @@ -302,7 +302,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) if (win_task) dc=DCAlias(gr.dc2,win_task); //Necessary for sprites break; - case RECALCt_TO_SCRN: + case RECALCt_TO_SCREEN: if (doc->updates_count++%(ToI64(winmgr.fps/10)+1) && !Bt(&doc->flags,DOCf_DO_FULL_REFRESH) && !(doc->flags&DOCF_BWD_MOVEMENT)) @@ -352,7 +352,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) doc->top_line_num=0; doc->line_start_col=0; recalc_flags&=~RECALCF_HAS_CURSOR; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN) + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN) doc->settings_head.cur_text_attr= doc->settings_head.default_text_attr=win_task->border_attr; } else { @@ -373,7 +373,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) find_cursor=TRUE; } } - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN) + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN) doc->settings_head.cur_text_attr= doc->settings_head.default_text_attr=win_task->text_attr; } @@ -385,7 +385,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) right ==doc->old_win_right && doc->cur_entry==doc->old_cur_entry && doc->cur_col==doc->old_cur_col; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN) { + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN) { y_plot_top=y0-scroll_y/FONT_HEIGHT; y_plot_bottom=y0+height-1-scroll_y/FONT_HEIGHT; if (!(doc->flags&DOCF_BORDER_DOC) && @@ -406,7 +406,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) cur_u8_attr=s->cur_text_attr; if (doc_e==doc->head.next) { doc->flags&=~DOCF_BWD_MOVEMENT; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && full_refresh) + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && full_refresh) doc->flags&=~DOCF_HAS_SONG; } else doc->flags=doc_e->de_flags& DOCEF_HIGHLIGHT | @@ -554,7 +554,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) for (k=0;kscroll_len;k++) { ch=ptr[(i_jif+k)%j]; if (!Bt(char_bmp_displayable,ch)) ch='.'; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) @@ -574,7 +574,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) { while (ch=*ptr++) { - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) TextChar(win_task,TRUE,x-x0,y-y0,tmp_u32_attr+ch); else @@ -593,7 +593,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) hl=DocHighlight(doc_e,ptr,k,tmp_u32_attr); else hl=NULL; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { //Technically we should do this for scrolling_x, too. if (y>y_plot_bottom) @@ -647,7 +647,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) StrPrint(buf,"%08tX ",bptr); ptr=buf; while (ch=*ptr++) { - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) @@ -669,7 +669,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) StrPrint(buf,"%02tX",*bptr++); ptr=buf; while (ch=*ptr++) { - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) @@ -694,7 +694,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) for (j=0;jde_flags&DOCEF_DONT_DRAW)) { if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) @@ -718,7 +718,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL) break; case DOCT_NEW_LINE: case DOCT_SOFT_NEW_LINE: - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)&& y_plot_top<=y<=y_plot_bottom) TextLenAttr(win_task,x-x0,y-y0,width-(x-x0),cur_u8_attr<<8); @@ -779,7 +779,7 @@ rc_adjust_xy: if (doc_e->de_flags & DOCEF_BORDER_PLOT && !Bt(&win_task->display_flags,DISPLAYf_NO_BORDER)) { while (xde_flags&DOCEF_DONT_DRAW)) TextChar(win_task,TRUE,x-x0,y-y0,tmp_u32_attr+CH_SPACE); if (find_cursor) { @@ -791,7 +791,7 @@ rc_adjust_xy: } } else { k-=x; - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { if (y_plot_top<=y<=y_plot_bottom) TextLenStr(win_task,x-x0,y-y0,k,tmp_u32_attr,""); @@ -962,7 +962,7 @@ rc_adjust_xy: if (tmpb && dc) { DCReset(dc); dc->flags&=~(DCF_DONT_DRAW|DCF_LOCATE_NEAREST); - if (recalc_flags&RECALCG_MASK!=RECALCt_TO_SCRN || + if (recalc_flags&RECALCG_MASK!=RECALCt_TO_SCREEN || doc_e->de_flags&DOCEF_DONT_DRAW) dc->flags|=DCF_DONT_DRAW; bptr=tmpb->data; @@ -1026,7 +1026,7 @@ rc_adjust_xy: break; case DOCT_SONG: if (sys_focus_task==win_task && - recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && !(doc_e->de_flags&DOCEF_DONT_DRAW)) { if (doc_e->aux_str && (!music.cur_song || StrCompare(music.cur_song,doc_e->aux_str))) { @@ -1235,7 +1235,7 @@ rc_skip: doc->col=doc->x+1; if (recalc_flags&RECALCF_HAS_CURSOR) { - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN) { + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN) { x=0; y=0; } else { @@ -1263,7 +1263,7 @@ rc_skip: doc->line_start_col=doc->x+x; } } - if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCRN && + if (recalc_flags&RECALCG_MASK==RECALCt_TO_SCREEN && recalc_flags&RECALCF_HAS_CURSOR) { x=doc->x-doc->line_start_col+left +scroll_x/FONT_WIDTH; y=doc->y-doc->top_line_num+top+scroll_y/FONT_HEIGHT; diff --git a/src/Zenith/DolDoc/DocRecalcLib.CC b/src/Zenith/DolDoc/DocRecalcLib.CC index 6353a12a..c8ecde76 100755 --- a/src/Zenith/DolDoc/DocRecalcLib.CC +++ b/src/Zenith/DolDoc/DocRecalcLib.CC @@ -203,11 +203,11 @@ U0 DocUpdateTaskDocs(CTask *task) task->border_attr=DriveTextAttrGet(*doc->filename.name); if (task->title_src==TTS_ED_FILENAME) MemCopy(task->task_title,doc->filename.name,STR_LEN-1); - DocRecalc(doc,RECALCt_TO_SCRN|RECALCF_HAS_CURSOR); + DocRecalc(doc,RECALCt_TO_SCREEN|RECALCF_HAS_CURSOR); } if ((doc=DocBorder(task)) && !(doc->flags&DOCF_DONT_SHOW)) { WinScrollNull(task,&saved_scroll); - DocRecalc(doc,RECALCt_TO_SCRN); + DocRecalc(doc,RECALCt_TO_SCREEN); WinScrollRestore(task,&saved_scroll); } } diff --git a/src/Zenith/Gr/GrBitMap.CC b/src/Zenith/Gr/GrBitMap.CC index d2a69b15..396400aa 100755 --- a/src/Zenith/Gr/GrBitMap.CC +++ b/src/Zenith/Gr/GrBitMap.CC @@ -81,7 +81,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) CColorROPU32 color,c,old_color; CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->scroll_x; y+=win_task->scroll_y; @@ -96,7 +96,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) h1=0; w2=img->width; h2=img->height; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x+=win_task->pix_left; y+=win_task->pix_top; } @@ -105,7 +105,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) if (dist<=dc->nearest_dist) dc->nearest_dist=dist; } - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x+w1<0) w1=-x; if (x+w2>win_task->pix_right+1) w2=win_task->pix_right+1-x; @@ -161,7 +161,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) case ROPB_MONO: color_mask=gr.to_8_colors[color.c0.color]; if (img->flags&DCF_NO_TRANSPARENTS) { - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) win_z_buf_ptr=NULL; else { win_z_num=win_task->win_z_num; @@ -269,7 +269,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) } } else { k=h1*img->width_internal; - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) { + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) { for (j=h1;jbody[k+i]) @@ -314,7 +314,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) break; case ROPB_EQU: if (img->flags&DCF_NO_TRANSPARENTS) { - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) win_z_buf_ptr=NULL; else { win_z_num=win_task->win_z_num; @@ -419,7 +419,7 @@ public I64 GrBlot(CDC *dc=gr.dc,I64 x,I64 y,CDC *img) } else { here1a: k=h1*img->width_internal; - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) { + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) { for (j=h1;jbody[k+i]; @@ -473,7 +473,7 @@ here1a: break; case ROPB_XOR: if (img->flags&DCF_NO_TRANSPARENTS) { - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) win_z_buf_ptr=NULL; else { win_z_num=win_task->win_z_num; @@ -621,7 +621,7 @@ public CDC *DCExt(CDC *dc=gr.dc,I64 x1,I64 y1,I64 x2,I64 y2, CTask *win_task; if (x1>x2) SwapI64(&x1,&x2); if (y1>y2) SwapI64(&y1,&y2); - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x1+=win_task->pix_left+win_task->scroll_x; y1+=win_task->pix_top +win_task->scroll_y; @@ -698,7 +698,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch) CColorROPU32 color,c; CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->scroll_x; y+=win_task->scroll_y; @@ -715,7 +715,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch) w2=FONT_WIDTH; h2=FONT_HEIGHT; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x+=win_task->pix_left; y+=win_task->pix_top; } @@ -724,7 +724,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch) if (dist<=dc->nearest_dist) dc->nearest_dist=dist; } - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x+w1<0) w1=-x; if (x+w2>win_task->pix_right+1) w2=win_task->pix_right+1-x; @@ -777,7 +777,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch) color_mask=gr.to_8_colors[color.c0.color]; k1=x+w1; kk1=(h1+y)*dc->width_internal+k1; - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) { + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) { if (leading_pixels) { dst=dc->body+kk1&~7; src=font_ptr; @@ -1018,7 +1018,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h) Bool dither,probability_dither; CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->scroll_x; y+=win_task->scroll_y; @@ -1035,7 +1035,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h) w2=w; h2=h; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x+=win_task->pix_left; y+=win_task->pix_top; } @@ -1047,7 +1047,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h) if (dist<=dc->nearest_dist) dc->nearest_dist=dist; } - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x+w1<0) w1=-x; if (x+w2>win_task->pix_right+1) w2=win_task->pix_right+1-x; @@ -1107,7 +1107,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h) } res+=dc->collision_count; } else { - if (!(dc->flags & DCF_SCRN_BITMAP) || dc->flags&DCF_ON_TOP) + if (!(dc->flags & DCF_SCREEN_BITMAP) || dc->flags&DCF_ON_TOP) win_z_buf_ptr=NULL; else { win_z_num=win_task->win_z_num; @@ -1459,7 +1459,7 @@ I64 GrRayLenMinus(CDC *dc,I64 x,I64 y) Bool not_color=ToBool(dc->flags&DCF_FILL_NOT_COLOR); CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->scroll_x; y+=win_task->scroll_y; @@ -1468,7 +1468,7 @@ I64 GrRayLenMinus(CDC *dc,I64 x,I64 y) y3=y; if (x3<0 || y3<0) goto gr_done; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x3+=win_task->pix_left; y3+=win_task->pix_top; if (!(0<=x3<=win_task->pix_right) || !(0<=y3<=win_task->pix_bottom) || @@ -1483,7 +1483,7 @@ I64 GrRayLenMinus(CDC *dc,I64 x,I64 y) while (TRUE) { x3=x; if (x3&(FONT_WIDTH-1)==FONT_WIDTH-1) { - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x3<0) break; x3+=win_task->pix_left; if (!(0<=x3<=win_task->pix_right) || x3>=dc->width || @@ -1492,7 +1492,7 @@ I64 GrRayLenMinus(CDC *dc,I64 x,I64 y) } else if (!(0<=x3width)) break; - } else if (dc->flags & DCF_SCRN_BITMAP) + } else if (dc->flags & DCF_SCREEN_BITMAP) x3+=win_task->pix_left; dst=dst2+x3; c=*dst; @@ -1526,7 +1526,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) I32 *db2; CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->scroll_x; y+=win_task->scroll_y; @@ -1537,7 +1537,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) y3=y; if (x3<0 || y3<0) goto gr_done; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x3+=win_task->pix_left; y3+=win_task->pix_top; if (!(0<=x3<=win_task->pix_right) || !(0<=y3<=win_task->pix_bottom) || @@ -1566,7 +1566,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) while (TRUE) { x3=x; if (!(x3&(FONT_WIDTH-1))) { - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x3<0) break; x3+=win_task->pix_left; if (!(0<=x3<=win_task->pix_right) || x3>=dc->width || @@ -1576,7 +1576,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) if (!(0<=x3width)) break; } - } else if (dc->flags & DCF_SCRN_BITMAP) + } else if (dc->flags & DCF_SCREEN_BITMAP) x3+=win_task->pix_left; dst=dst2+x3; @@ -1635,7 +1635,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) } else break; } - if (dc->flags & DCF_SCRN_BITMAP) + if (dc->flags & DCF_SCREEN_BITMAP) *x1=x-1-win_task->scroll_x; else *x1=x-1; @@ -1643,7 +1643,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) while (TRUE) { x3=x; if (x3&(FONT_WIDTH-1)==FONT_WIDTH-1) { - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { if (x3<0) break; x3+=win_task->pix_left; if (!(0<=x3<=win_task->pix_right) || x3>=dc->width || @@ -1652,7 +1652,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL) } else if (!(0<=x3width)) break; - } else if (dc->flags & DCF_SCRN_BITMAP) + } else if (dc->flags & DCF_SCREEN_BITMAP) x3+=win_task->pix_left; dst=dst2+x3; @@ -1731,7 +1731,7 @@ public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0) return GrRect(dc,x1,y,x2-x1+1,1); } - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x1+=win_task->scroll_x; x2+=win_task->scroll_x; @@ -1760,7 +1760,7 @@ public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0) } else i=0; j=0; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { x1+=win_task->pix_left; x2+=win_task->pix_left; if (x1>win_task->pix_right) @@ -1804,7 +1804,7 @@ public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0) if (dc->flags & DCF_DONT_DRAW) goto gr_done; - if (!(dc->flags & DCF_SCRN_BITMAP) || + if (!(dc->flags & DCF_SCREEN_BITMAP) || win_task->next_task==sys_winmgr_task || dc->flags&DCF_ON_TOP || !IsPixCovered0(win_task,x1,y)) char_clear=TRUE; @@ -1872,7 +1872,7 @@ public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0) db++; z+=dz; if (!(x1&(FONT_WIDTH-1)) && x1<=x2) { - if (!(dc->flags & DCF_SCRN_BITMAP)|| + if (!(dc->flags & DCF_SCREEN_BITMAP)|| win_task->next_task==sys_winmgr_task || dc->flags&DCF_ON_TOP || !IsPixCovered0(win_task,x1,y)) char_clear=TRUE; @@ -1900,7 +1900,7 @@ public I64 GrVLine(CDC *dc=gr.dc,I64 x,I64 y1,I64 y2,I64 z1=0,I64 z2=0) return GrRect(dc,x,y1,1,y2-y1+1); } - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x +=win_task->scroll_x; y1+=win_task->scroll_y; @@ -1929,7 +1929,7 @@ public I64 GrVLine(CDC *dc=gr.dc,I64 x,I64 y1,I64 y2,I64 z1=0,I64 z2=0) } else i=0; j=0; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { y1+=win_task->pix_top; y2+=win_task->pix_top; if (y1>win_task->pix_bottom) @@ -1973,7 +1973,7 @@ public I64 GrVLine(CDC *dc=gr.dc,I64 x,I64 y1,I64 y2,I64 z1=0,I64 z2=0) if (dc->flags & DCF_DONT_DRAW) goto gr_done; - if (!(dc->flags & DCF_SCRN_BITMAP) || + if (!(dc->flags & DCF_SCREEN_BITMAP) || win_task->next_task==sys_winmgr_task || dc->flags&DCF_ON_TOP || !IsPixCovered0(win_task,x,y1)) char_clear=TRUE; @@ -2041,7 +2041,7 @@ public I64 GrVLine(CDC *dc=gr.dc,I64 x,I64 y1,I64 y2,I64 z1=0,I64 z2=0) db+=dc->width_internal; z+=dz; if (!(y1&(FONT_HEIGHT-1)) && y1<=y2) { - if (!(dc->flags & DCF_SCRN_BITMAP)|| + if (!(dc->flags & DCF_SCREEN_BITMAP)|| win_task->next_task==sys_winmgr_task || dc->flags&DCF_ON_TOP || !IsPixCovered0(win_task,x,y1)) char_clear=TRUE; diff --git a/src/Zenith/Gr/GrDC.CC b/src/Zenith/Gr/GrDC.CC index 110bf6bf..9d0dec3b 100755 --- a/src/Zenith/Gr/GrDC.CC +++ b/src/Zenith/Gr/GrDC.CC @@ -420,10 +420,10 @@ public CDC *DCScreenCapture(Bool include_zoom=TRUE,CTask *task=NULL) U8 *dst; Refresh(0,FALSE); if (include_zoom) - dc=DCCopy(gr.scrn_image,task); + dc=DCCopy(gr.screen_image,task); else dc=DCCopy(gr.dc1,task); - dc->flags&=~DCF_SCRN_BITMAP; + dc->flags&=~DCF_SCREEN_BITMAP; dst=MAlloc(dc->width_internal*dc->height,task); //Pick background color that never occurs. COLOR_INVALID GrBitMap4ToBitMap8(dst,dc->body, diff --git a/src/Zenith/Gr/GrGlobals.CC b/src/Zenith/Gr/GrGlobals.CC index bb4e7d9f..ece48b2a 100755 --- a/src/Zenith/Gr/GrGlobals.CC +++ b/src/Zenith/Gr/GrGlobals.CC @@ -3,7 +3,7 @@ public class CGrGlobals { I64 *to_8_bits,*to_8_colors; - CDC *scrn_image, //Read only. + CDC *screen_image, //Read only. *dc, //Persistent *dc1, *dc2, //Updated every refresh @@ -19,7 +19,7 @@ public class CGrGlobals I64 highest_uncovered; U16 *vga_text_cache; I64 pan_text_x,pan_text_y; //[-7,7] - U0 (*fp_final_scrn_update)(CDC *dc);//Mouse cursor is handled here. + U0 (*fp_final_screen_update)(CDC *dc);//Mouse cursor is handled here. U0 (*fp_wall_paper)(CTask *task); U0 (*fp_draw_mouse)(CDC *dc,I64 x,I64 y); U0 (*fp_draw_grab_mouse)(CDC *dc,I64 x,I64 y,Bool closed); @@ -33,9 +33,9 @@ public class CGrGlobals I8 circle_lo[GR_PEN_BRUSHES_NUM][GR_PEN_BRUSHES_NUM], circle_hi[GR_PEN_BRUSHES_NUM][GR_PEN_BRUSHES_NUM]; - #define GR_SCRN_ZOOM_MAX 8 - U8 *scrn_zoom_tables[GR_SCRN_ZOOM_MAX+1]; - I64 scrn_zoom,sx,sy; + #define GR_SCREEN_ZOOM_MAX 8 + U8 *screen_zoom_tables[GR_SCREEN_ZOOM_MAX+1]; + I64 screen_zoom,sx,sy; //When zoomed, this keeps the mouse centered. Bool continuous_scroll, diff --git a/src/Zenith/Gr/GrInitB.CC b/src/Zenith/Gr/GrInitB.CC index 001fe7e3..a3cbb8d6 100755 --- a/src/Zenith/Gr/GrInitB.CC +++ b/src/Zenith/Gr/GrInitB.CC @@ -75,10 +75,10 @@ U0 GrSetUpTables() OutU8(VGAP_DATA,0x0F); //Virtual Box crashes on the following for some reason. // MemSet(text.vga_alias,0,GR_HEIGHT*GR_WIDTH>>3); - MemSet(gr.scrn_image->body,0,GR_WIDTH*GR_HEIGHT>>1); + MemSet(gr.screen_image->body,0,GR_WIDTH*GR_HEIGHT>>1); } - for (i=1;i<=GR_SCRN_ZOOM_MAX;i++) { - dst=gr.scrn_zoom_tables[i]=MAlloc(256*i); + for (i=1;i<=GR_SCREEN_ZOOM_MAX;i++) { + dst=gr.screen_zoom_tables[i]=MAlloc(256*i); for (j=0;j<256;j++) { m=0; for (k=0;k<8;k++) { @@ -175,7 +175,7 @@ U0 GrInit2() MemSet(&gr,0,sizeof(CGrGlobals)); gr.sprite_hash=HashTableNew(512); HashDefineListAdd("ST_SPRITE_ELEM_CODES",SPHT_ELEM_CODE,gr.sprite_hash); - gr.scrn_zoom=1; + gr.screen_zoom=1; PaletteSetStd; fp_set_std_palette=&PaletteSetStd; @@ -191,19 +191,19 @@ U0 GrInit2() gr.win_z_buf=MAlloc(TEXT_ROWS*TEXT_COLS*sizeof(U16)); gr.dc2=DCNew(GR_WIDTH,GR_HEIGHT); - gr.dc2->flags|=DCF_SCRN_BITMAP; + gr.dc2->flags|=DCF_SCREEN_BITMAP; gr.dc_cache=DCNew(GR_WIDTH,GR_HEIGHT); gr.dc=DCNew(GR_WIDTH,GR_HEIGHT); - gr.dc->flags|=DCF_SCRN_BITMAP|DCF_ON_TOP; + gr.dc->flags|=DCF_SCREEN_BITMAP|DCF_ON_TOP; DCFill; gr.dc1=DCNew(GR_WIDTH,GR_HEIGHT); - gr.dc1->flags|=DCF_SCRN_BITMAP; + gr.dc1->flags|=DCF_SCREEN_BITMAP; - gr.scrn_image=DCNew(GR_WIDTH,GR_HEIGHT); //4-bit + gr.screen_image=DCNew(GR_WIDTH,GR_HEIGHT); //4-bit gr.zoomed_dc =DCNew(GR_WIDTH,GR_HEIGHT); //4-bit - gr.zoomed_dc->flags|=DCF_SCRN_BITMAP; + gr.zoomed_dc->flags|=DCF_SCREEN_BITMAP; } GrInit2; diff --git a/src/Zenith/Gr/GrPrimatives.CC b/src/Zenith/Gr/GrPrimatives.CC index 72456c85..0a16d0c9 100755 --- a/src/Zenith/Gr/GrPrimatives.CC +++ b/src/Zenith/Gr/GrPrimatives.CC @@ -8,7 +8,7 @@ public Bool GrClamp(CDC *dc=gr.dc,I64 *left,I64 *top,I64 *right,I64 *bottom, *top=0; *right=dc->width-1; *bottom=dc->height-1; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; if (GR_WIDTH-1<*right) *right=GR_WIDTH-1; @@ -36,7 +36,7 @@ Bool DCClipLine(CDC *dc=gr.dc,I64 *x1,I64 *y1,I64 *x2,I64 *y2, I64 left,top,right,bottom; CTask *win_task; if (GrClamp(dc,&left,&top,&right,&bottom,width,height)) { - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; *x1+=win_task->pix_left+win_task->scroll_x; *y1+=win_task->pix_top+win_task->scroll_y; @@ -60,7 +60,7 @@ public Bool GrPlot(CDC *dc=gr.dc,I64 x,I64 y) dc->color.c0.rop=ROPB_MONO; GrBlot(dc,x,y,dc->brush); dc->color=old_color; - } else if (dc->flags & DCF_SCRN_BITMAP) { + } else if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->pix_left+win_task->scroll_x; y+=win_task->pix_top+win_task->scroll_y; @@ -91,7 +91,7 @@ Bool GrPlot1(CDC *dc=gr.dc,I64 x,I64 y) else GrBlot(dc,x,y,dc->brush); dc->color=old_color; - } else if (dc->flags & DCF_SCRN_BITMAP) { + } else if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->pix_left+win_task->scroll_x; y+=win_task->pix_top+win_task->scroll_y; @@ -112,7 +112,7 @@ public I64 GrPeek(CDC *dc=gr.dc,I64 x,I64 y) {//2D. Clipping but no transformation. //Returns pix color or -1 if off-screen or covered. CTask *win_task; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->pix_left+win_task->scroll_x; y+=win_task->pix_top+win_task->scroll_y; @@ -512,7 +512,7 @@ public Bool GrPlot3(CDC *dc=gr.dc,I64 x,I64 y,I64 z) } } if (record) { - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; x+=win_task->pix_left+win_task->scroll_x; y+=win_task->pix_top+win_task->scroll_y; @@ -548,7 +548,7 @@ gr_done: Bool GrLinePlot0(CDC *dc,I64 x,I64 y,I64 z) {//This is a callback. CTask *win_task=dc->win_task; - if (!(dc->flags & DCF_SCRN_BITMAP) || + if (!(dc->flags & DCF_SCREEN_BITMAP) || win_task->next_task==sys_winmgr_task || dc->flags&DCF_ON_TOP || !IsPixCovered0(win_task,x,y)) { @@ -1413,7 +1413,7 @@ public I64 GrFillTri0(CDC *dc=gr.dc,CD3I32 *p1,CD3I32 *p2,CD3I32 *p4) min=0; max=dc->height; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; min-=win_task->scroll_y+win_task->pix_top; max-=win_task->scroll_y+win_task->pix_top; @@ -1621,7 +1621,7 @@ public I64 GrFillTri0(CDC *dc=gr.dc,CD3I32 *p1,CD3I32 *p2,CD3I32 *p4) min=0; max=dc->width; - if (dc->flags & DCF_SCRN_BITMAP) { + if (dc->flags & DCF_SCREEN_BITMAP) { win_task=dc->win_task; min-=win_task->scroll_x+win_task->pix_left; max-=win_task->scroll_x+win_task->pix_left; diff --git a/src/Zenith/Gr/GrScreen.CC b/src/Zenith/Gr/GrScreen.CC index a0c25e72..4c68b066 100755 --- a/src/Zenith/Gr/GrScreen.CC +++ b/src/Zenith/Gr/GrScreen.CC @@ -2,7 +2,7 @@ U0 GrUpdateTaskODEs(CTask *task) { - sys_task_being_scrn_updated=task; + sys_task_being_screen_updated=task; try ODEsUpdate(task); catch { @@ -12,14 +12,14 @@ U0 GrUpdateTaskODEs(CTask *task) Sleep(3000); VGAFlush; } - sys_task_being_scrn_updated=NULL; + sys_task_being_screen_updated=NULL; } U0 GrUpdateTaskWin(CTask *task) { //Draw a win. Only Core0 tasks have a win. CDC *dc; CD3I64 saved_scroll; - sys_task_being_scrn_updated=task; + sys_task_being_screen_updated=task; try { if (!Bt(&task->display_flags,DISPLAYf_NO_BORDER)) TextBorder(Fs,task->win_left,task->win_right,task->win_top, @@ -52,7 +52,7 @@ U0 GrUpdateTaskWin(CTask *task) VGAFlush; } } - sys_task_being_scrn_updated=NULL; + sys_task_being_screen_updated=NULL; } U0 GrUpdateTasks() @@ -89,35 +89,35 @@ U0 GrUpdateTasks() winmgr.last_ode_time=winmgr.ode_time; ode_alloced_factor=LowPass1(0.1,ode_alloced_factor, Clamp(Gs->idle_factor-0.1,0.2,0.8),1/winmgr.fps); - sys_task_being_scrn_updated=NULL; + sys_task_being_screen_updated=NULL; } U0 GrFixZoomScale() { - gr.scrn_zoom=ClampI64(gr.scrn_zoom,1,GR_SCRN_ZOOM_MAX); - if (gr.scrn_zoom==1) { + gr.screen_zoom=ClampI64(gr.screen_zoom,1,GR_SCREEN_ZOOM_MAX); + if (gr.screen_zoom==1) { gr.sx=0; gr.sy=0; } else { - gr.sx=ClampI64(gr.sx,0,GR_WIDTH-GR_WIDTH/gr.scrn_zoom)&~7; - gr.sy=ClampI64(gr.sy,0,GR_HEIGHT-GR_HEIGHT/gr.scrn_zoom); + gr.sx=ClampI64(gr.sx,0,GR_WIDTH-GR_WIDTH/gr.screen_zoom)&~7; + gr.sy=ClampI64(gr.sy,0,GR_HEIGHT-GR_HEIGHT/gr.screen_zoom); } } public U0 GrScaleZoom(F64 scale) {//Multiply zoom factor larger or smaller. - F64 s=gr.scrn_zoom; - gr.scrn_zoom=gr.scrn_zoom*scale; + F64 s=gr.screen_zoom; + gr.screen_zoom=gr.screen_zoom*scale; GrFixZoomScale; - s/=gr.scrn_zoom; + s/=gr.screen_zoom; mouse.scale.x*=s; mouse.scale.y*=s; mouse.scale.z*=s; mouse.offset.x=mouse.pos.x-(mouse.pos.x-mouse.offset.x)*s; mouse.offset.y=mouse.pos.y-(mouse.pos.y-mouse.offset.y)*s; mouse.offset.z=mouse.pos.z-(mouse.pos.z-mouse.offset.z)*s; - gr.sx=mouse.pos.x-gr.zoomed_dc->width >>1/gr.scrn_zoom; - gr.sy=mouse.pos.y-gr.zoomed_dc->height>>1/gr.scrn_zoom; + gr.sx=mouse.pos.x-gr.zoomed_dc->width >>1/gr.screen_zoom; + gr.sy=mouse.pos.y-gr.zoomed_dc->height>>1/gr.screen_zoom; GrFixZoomScale; } @@ -125,26 +125,26 @@ U0 GrZoomInScreen() { GrFixZoomScale; I64 plane,row,col,k,l, - d2=gr.zoomed_dc->width>>3/gr.scrn_zoom, + d2=gr.zoomed_dc->width>>3/gr.screen_zoom, d4=gr.zoomed_dc->width_internal>>3, - d5=d4-d2*gr.scrn_zoom, - d3=gr.zoomed_dc->height/gr.scrn_zoom, + d5=d4-d2*gr.screen_zoom, + d3=gr.zoomed_dc->height/gr.screen_zoom, d6=(gr.zoomed_dc->height-d3)*gr.dc1->width_internal>>3, - d7=gr.zoomed_dc->height%gr.scrn_zoom*d4; - U8 *src,*src2,*dst,*src3,*map=gr.scrn_zoom_tables[gr.scrn_zoom]; + d7=gr.zoomed_dc->height%gr.screen_zoom*d4; + U8 *src,*src2,*dst,*src3,*map=gr.screen_zoom_tables[gr.screen_zoom]; src=gr.dc1->body+gr.sx>>3+gr.sy*gr.dc1->width_internal>>3; dst=gr.zoomed_dc->body; for (plane=1;plane<0x10;plane<<=1) { row=d3; while (row--) { - k=gr.scrn_zoom; + k=gr.screen_zoom; while (k--) { src2=src; col=d2; while (col--) { src3=&map[*src2++]; - l=gr.scrn_zoom; + l=gr.screen_zoom; while (l--) { *dst++=*src3; src3+=256; @@ -367,13 +367,13 @@ U0 GrUpdateVGAGraphics() {//Update Graphic Card I64 row,plane,d=gr.zoomed_dc->width_internal>>6; U32 *src,*vga,*dst; - if (gr.scrn_zoom==1) + if (gr.screen_zoom==1) src=gr.dc1->body; else { GrZoomInScreen; src=gr.zoomed_dc->body; } - dst=gr.scrn_image->body; + dst=gr.screen_image->body; if (LBtr(&sys_semas[SEMA_FLUSH_VGA_IMAGE],0)) { for (plane=1;plane<0x10;plane<<=1) { OutU8(VGAP_IDX,VGAR_MAP_MASK); @@ -409,8 +409,8 @@ U0 GrUpdateScreen() dc=DCAlias(gr.dc2,Fs); dc->flags|=DCF_ON_TOP; - if (gr.fp_final_scrn_update) - (*gr.fp_final_scrn_update)(dc); + if (gr.fp_final_screen_update) + (*gr.fp_final_screen_update)(dc); DCDel(dc); if (!Bt(&sys_run_level,RLf_VGA)) //if text mode diff --git a/src/Zenith/Gr/SpriteMain.CC b/src/Zenith/Gr/SpriteMain.CC index f2994e96..a6d00453 100755 --- a/src/Zenith/Gr/SpriteMain.CC +++ b/src/Zenith/Gr/SpriteMain.CC @@ -1,8 +1,8 @@ #help_index "Graphics/Sprite;Sprites" #define SPT_MENU -2 -#define SPT_INS_SCRN_BITMAP -3 -#define SPT_INS_TRANSPARENT_SCRN_BITMAP -4 +#define SPT_INS_SCREEN_BITMAP -3 +#define SPT_INS_TRANSPARENT_SCREEN_BITMAP -4 #define SPT_ED_MENU -5 #define SPT_EXIT -6 @@ -43,9 +43,9 @@ I64 PopUpSpriteMain(CSprite **_head,I64 *_cur_elem_num, "$$MU-UL,\"BSpline3\",LE=SPT_BSPLINE3$$\n" "$$MU-UL,\"BSpline2 Closed\",LE=SPT_BSPLINE2_CLOSED$$\n" "$$MU-UL,\"BSpline3 Closed\",LE=SPT_BSPLINE3_CLOSED$$\n" - "$$MU-UL,\"Insert Screen-Captured BitMap\",LE=SPT_INS_SCRN_BITMAP$$\n" + "$$MU-UL,\"Insert Screen-Captured BitMap\",LE=SPT_INS_SCREEN_BITMAP$$\n" "$$MU-UL,\"Insert Transparent Screen-Captured BitMap\"," - "LE=SPT_INS_TRANSPARENT_SCRN_BITMAP$$\n" + "LE=SPT_INS_TRANSPARENT_SCREEN_BITMAP$$\n" "$$PURPLE$$$$MU-UL,\"+] Create or Edit 3D Mesh\",LE=SPT_MESH$$\n" "$$MU-UL,\"+] Create or Edit Shiftable 3D Mesh\"," "LE=SPT_SHIFTABLE_MESH$$\n" @@ -266,14 +266,14 @@ CSprite *SMScreenBitMap(I64 eletype,CDC *dc,CDC *dc2,I64 x,I64 y, res->pwhu.x1=0; res->pwhu.y1=0; SpriteScreenInit(dc,x,y); - i=gr.scrn_zoom; + i=gr.screen_zoom; GrScaleZoom(1.0/i); Refresh(2,TRUE); dc3=DCScreenCapture; img=DCExt(dc3,Fs->pix_left+Fs->scroll_x+xx1,Fs->pix_top+Fs->scroll_y+yy1, Fs->pix_left+Fs->scroll_x+xx2-1,Fs->pix_top+Fs->scroll_y+yy2-1); - if (eletype==SPT_INS_TRANSPARENT_SCRN_BITMAP) + if (eletype==SPT_INS_TRANSPARENT_SCREEN_BITMAP) DCColorChange(img,bm_bkcolor); GrScaleZoom(i); MemCopy(&res->pwhu.u,img->body,((xx2-xx1+7)&~7)*(yy2-yy1)); @@ -796,10 +796,10 @@ U0 SMTaskTitleSet(I64 eletype) { Fs->title_src=TTS_CONST; //Violates TTS_LOCKED_CONST switch (eletype) { - case SPT_INS_SCRN_BITMAP: + case SPT_INS_SCREEN_BITMAP: StrCopy(Fs->task_title,"Insert Screen BitMap"); break; - case SPT_INS_TRANSPARENT_SCRN_BITMAP: + case SPT_INS_TRANSPARENT_SCREEN_BITMAP: StrCopy(Fs->task_title,"Insert Transparent Screen BitMap"); break; default: @@ -937,7 +937,7 @@ I64 SpriteMainEd(CDoc *doc) PopUpOk("Select Origin.\n"); doc_ce->de_flags=old_de_flags; break; - case SPT_INS_SCRN_BITMAP: + case SPT_INS_SCREEN_BITMAP: doc_ce->de_flags|=DOCEF_DONT_DRAW; PopUpOk("Drag-out a rect for the extents of the\nbitmap.\n"); doc_ce->de_flags=old_de_flags; @@ -969,7 +969,7 @@ I64 SpriteMainEd(CDoc *doc) } doc_ce->de_flags=old_de_flags; break; - case SPT_INS_TRANSPARENT_SCRN_BITMAP: + case SPT_INS_TRANSPARENT_SCREEN_BITMAP: doc_ce->de_flags|=DOCEF_DONT_DRAW; i=PopUpColor("Color to Become Transparent\n\n",,FALSE); if (i<0) @@ -1095,8 +1095,8 @@ I64 SpriteMainEd(CDoc *doc) case SPT_RECT: tmpg=SMRect(dc,x,y,arg1,arg2,color); break; - case SPT_INS_SCRN_BITMAP: - case SPT_INS_TRANSPARENT_SCRN_BITMAP: + case SPT_INS_SCREEN_BITMAP: + case SPT_INS_TRANSPARENT_SCREEN_BITMAP: tmpg=SMScreenBitMap(eletype,dc,dc2,x,y,arg1,arg2,bm_bkcolor); eletype=SPT_MENU; break; diff --git a/src/Zenith/InFile.CC b/src/Zenith/InFile.CC index e4af05b8..597e6659 100755 --- a/src/Zenith/InFile.CC +++ b/src/Zenith/InFile.CC @@ -40,7 +40,7 @@ public U0 InGetKey(I64 scan_code,I64 sc_mask=0xFF|SCF_SHIFT|SCF_CTRL|SCF_ALT) U8 buf[STR_LEN],*st; do { ch=GetKey(&sc); - if (sc.u8[0]!=SC_PRTSCRN1 && + if (sc.u8[0]!=SC_PRINTSCREEN1 && !(sc.u8[0]==SC_SHIFT && scan_code&SCF_SHIFT) && !(sc.u8[0]==SC_CTRL && scan_code&SCF_CTRL) && !(sc.u8[0]==SC_ALT && scan_code&SCF_ALT) ) { diff --git a/src/Zenith/Utils/MemRep.CC b/src/Zenith/Utils/MemRep.CC index 52a91fc1..ef686c43 100755 --- a/src/Zenith/Utils/MemRep.CC +++ b/src/Zenith/Utils/MemRep.CC @@ -17,8 +17,8 @@ I64 PenBrushesSize() I64 ScreenZoomTablesSize() { I64 res=0,i; - for (i=1;i<=GR_SCRN_ZOOM_MAX;i++) - res+=MSize2(gr.scrn_zoom_tables[i]); + for (i=1;i<=GR_SCREEN_ZOOM_MAX;i++) + res+=MSize2(gr.screen_zoom_tables[i]); return res; } @@ -135,7 +135,7 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE) if (task==sys_winmgr_task) { "gr.pen_brushes\t:%010X\n",PenBrushesSize; - "gr.scrn_zoom_tbles\t:%010X\n",ScreenZoomTablesSize; + "gr.screen_zoom_tbles\t:%010X\n",ScreenZoomTablesSize; "screencast.dc\t:%010X\n",DCSize(screencast.dc); "screencast.dc2_alias\t:%010X\n",DCSize(screencast.dc2_alias); } else if (task==zenith_task) { @@ -183,7 +183,7 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE) "gr.dc1\t\t:%010X\n",DCSize(gr.dc1); "gr.dc2\t\t:%010X\n",DCSize(gr.dc2); "gr.dc_cache\t\t:%010X\n",DCSize(gr.dc_cache); - "gr.scrn_image\t:%010X\n",DCSize(gr.scrn_image); + "gr.screen_image\t:%010X\n",DCSize(gr.screen_image); "gr.zoomed_dc\t:%010X\n",DCSize(gr.zoomed_dc); } "$$ID,-2$$"; diff --git a/src/Zenith/Win.CC b/src/Zenith/Win.CC index d8e9f7fe..cfa9bc12 100755 --- a/src/Zenith/Win.CC +++ b/src/Zenith/Win.CC @@ -214,7 +214,7 @@ U0 WinFinalUpdate(CDC *dc) DrawMouse(dc); } -gr.fp_final_scrn_update=&WinFinalUpdate; +gr.fp_final_screen_update=&WinFinalUpdate; U0 WinMouseUpdate() { @@ -237,15 +237,15 @@ U0 WinMouseUpdate() } } else mouse.speed*=0.95; - if (gr.scrn_zoom!=1) { + if (gr.screen_zoom!=1) { if (gr.continuous_scroll) GrScaleZoom(1.0); else { - dd=(mouse.pos.x-gr.sx)*gr.scrn_zoom; + dd=(mouse.pos.x-gr.sx)*gr.screen_zoom; if (!(8<=ddcolor=LTRED; GrPrint(dc,mouse.pos.x,mouse.pos.y,"%s",fm_mouse_str); } - (*fp_old_final_scrn_update)(dc); + (*fp_old_final_screen_update)(dc); } public U8 *FileMgr(I64 mode=FM_NORMAL,CTask *mem_task=NULL) @@ -586,7 +586,7 @@ public U8 *FileMgr(I64 mode=FM_NORMAL,CTask *mem_task=NULL) Bool okay; SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$ - fp_old_final_scrn_update=gr.fp_final_scrn_update; + fp_old_final_screen_update=gr.fp_final_screen_update; MenuFilePush("::/Doc/FileMgrPullDown.DD"); FMRebuildDoc(&doc,&head,mode); if (tmpde1=Cd2DirEntry(head,old_cur_dir)) @@ -611,11 +611,11 @@ public U8 *FileMgr(I64 mode=FM_NORMAL,CTask *mem_task=NULL) case MESSAGE_MS_L_DOWN: doc_ce=doc->cur_entry; fm_mouse_str=doc_ce->tag; - gr.fp_final_scrn_update=&FMFinalScreenUpdate; + gr.fp_final_screen_update=&FMFinalScreenUpdate; break; case MESSAGE_MS_L_UP: if (doc_ce) { - gr.fp_final_scrn_update=fp_old_final_scrn_update; + gr.fp_final_screen_update=fp_old_final_screen_update; if (WinCursorPosSet(Fs,arg1+Fs->pix_left+Fs->scroll_x, arg2+Fs->pix_top+Fs->scroll_y,TRUE)) { doc_e=doc->cur_entry; @@ -776,7 +776,7 @@ fm_regular_key: break; } } while (ch!=CH_ESC && ch!=CH_SHIFT_ESC); - gr.fp_final_scrn_update=fp_old_final_scrn_update; + gr.fp_final_screen_update=fp_old_final_screen_update; Fs->put_doc =old_put_doc; Fs->display_doc=old_display_doc; SettingsPop;