From d14bbc24f93665639beb0341bfb2403c9789b710 Mon Sep 17 00:00:00 2001 From: "Terry A. Davis" Date: Thu, 20 Jul 2006 00:24:52 +0200 Subject: [PATCH] LTCD_060720.ISO --- 0000BOOT/BOOT.BIC | Bin 176192 -> 176192 bytes LT/ADAM/ADAMASM.BIZ | Bin 1443 -> 1443 bytes LT/ADAM/COMM.CPZ | 62 +- LT/ADAM/DISK10.CPZ | 9 +- LT/ADAM/WINDOW.CPZ | 3 +- LT/COMPILE/CMP.BIZ | Bin 244199 -> 244199 bytes LT/DOC/News.TXZ | 3 + LT/OSMain/ADAMK.HPZ | 14 +- LT/OSMain/CMD.CPZ | 1 - LT/OSMain/DISK3.CPZ | 9 +- LT/OSMain/DISK4.CPZ | 1 + LT/OSMain/OS.MPZ | 1728 ++++++++++++++++++++--------------------- LT/OSMain/OSINC.ASZ | 1 + LT/OSMain/SYSTEXT.CPZ | Bin 4285 -> 4289 bytes LT/UTILS/GREP.CPZ | 204 ++++- 15 files changed, 1095 insertions(+), 940 deletions(-) diff --git a/0000BOOT/BOOT.BIC b/0000BOOT/BOOT.BIC index aec64fcceaf8a026c6b298c03874764ba2acd652..067e17aa080987b856c6b29889a329efd4f7c883 100644 GIT binary patch delta 16802 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 Xu7x8qCinEy>zPzQRMT_RQST_MAX) { + if (b1>=RMT_RQST_MAX) { if (b1==RMT_PKT_REQUEST && !esc) goto rr_cont; else @@ -563,6 +563,8 @@ public U8 RmtGetMsg(LTChnl *chnl,I8 *p1,I8 *p2) *p2=b[16]><(U8); if (!cmd) chnl->null_msg_jiffy=jiffies+JIFFY_FREQ/50; + else + chnl->null_msg_jiffy=0; } return cmd; } @@ -576,8 +578,10 @@ public void RmtSendMsg(LTChnl *chnl,U8 cmd,I8 p1,I8 p2) b[8]><(U8)=p1; b[16]><(U8)=p2; RmtTxPkt(chnl,b,sizeof(U8)*3); - } else + } else { RmtTxPkt(chnl,b,1); + chnl->null_msg_cnt++; + } } public void RmtPutCharSC(LTChnl *chnl,I8 ch,U8 sc) @@ -614,11 +618,15 @@ public void RmtTxFile(LTChnl *chnl,I1 *filename, { U8 size; U1 *buf; + LTDirEntry de; if (!chnl || !chnl->type) return; - buf=ReadFile(filename,&size,NULL,raw); - if (buf) { - RmtTxBuf(chnl,buf,size); - Free(buf); + if (FindFile(filename,&de)) { + buf=ReadFile(filename,&size,NULL,raw); + if (buf) { + RmtTxBuf(chnl,&de.start,LT_DIR_ENTRY_SIZE); + RmtTxBuf(chnl,buf,size); + Free(buf); + } } } @@ -626,12 +634,16 @@ public U8 RmtRxFile(LTChnl *chnl,I1 *filename, BoolU4 raw=TRUE) { U8 size; - U1 *buf; + U1 *buf,*buf1; + LTDirEntry *de; if (!chnl || !chnl->type) return 0; + buf1=RmtRxBuf(chnl); + de=buf1-offset(LTDirEntry.start); if (buf=RmtRxBuf(chnl,&size)) { - WriteFile(filename,buf,size,0,0,raw); + WriteFile(filename,buf,size,de->datetime,de->attr,raw); Free(buf); } + Free(buf1); return size; } @@ -676,23 +688,23 @@ public I1 *RmtRxPutS(LTChnl *chnl,U8 *rqst=NULL) return buf; } -/*************** -public U1 *RmtRqstTxBuf(U8 *size=NULL) +public U1 *RmtRqstTxBuf() { +//Remote must fill-in remote's chnl->tx_buf +//and remote's chnl->tx_size before calling. LTChnl *chnl=Fs->rmt_chnl; if (!chnl || !chnl->type) return NULL; RmtTxPkt(chnl,NULL,0,RMT_RQST_TX_BUF); - return RmtRxBuf(chnl,size); + return RmtRxBuf(chnl); } -public void RmtRqstRxBuf(U1 *buf,U8 size) -{ +public void RmtRqstRxBuf(U1 *src_local_buf,U8 size) +{ //Dst buf address is placed in remote's chnl->rx_buf LTChnl *chnl=Fs->rmt_chnl; if (!chnl || !chnl->type) return; RmtTxPkt(chnl,NULL,0,RMT_RQST_RX_BUF); - RmtTxBuf(chnl,buf,size); + RmtTxBuf(chnl,src_local_buf,size); } -*************/ public void RmtRqstTxFile(I1 *dst_local_filename,I1 *src_remote_filename) { @@ -736,7 +748,8 @@ void TelnetGuestOpen(LTChnl *chnl) U8 i,cmd,p1,p2,rqst; U1 *st,*st2; if (!chnl || !chnl->type) return; - coutln "CTRL-ALT-C to exit"; + Fs->local_chnl=chnl; + coutln "CTRL-ALT-B to break"; try while (TRUE) { if (st2=RmtRxPutS(chnl,&rqst)) { @@ -749,6 +762,12 @@ void TelnetGuestOpen(LTChnl *chnl) 1<tx_buf,chnl->tx_size); break; case RMT_RQST_RX_BUF: - RmtRxBuf(chnl); + chnl->rx_buf=RmtRxBuf(chnl); break; -************/ case RMT_RQST_EXE_LOCAL: st=RmtRxBuf(chnl); ExecuteString(st); @@ -786,11 +804,15 @@ void TelnetGuestOpen(LTChnl *chnl) } catch Fs->catch_except=TRUE; +tel_exit: +/****** for (i=0;i<5;i++) { chnl->PutChar(chnl,RMT_PKT_CLOSE); chnl->PutChar(chnl,RMT_PKT_CLOSE); Sleep(50); } +******/ + Fs->local_chnl=NULL; } ext[EXT_RMT_PUTCHAR]=&RmtTxPutChar; diff --git a/LT/ADAM/DISK10.CPZ b/LT/ADAM/DISK10.CPZ index fb981b6..e842638 100644 --- a/LT/ADAM/DISK10.CPZ +++ b/LT/ADAM/DISK10.CPZ @@ -756,7 +756,7 @@ U8 SizeFlattenLTDirTree(LTDirEntry *tempm) { U8 result=0; while (tempm) { - result+=sizeof(LTDirEntry)-offset(LTDirEntry.start)+1; + result+=LT_DIR_ENTRY_SIZE+1; if (tempm->attr & LT_ATTR_DIR) result+=SizeFlattenLTDirTree(tempm->sub); tempm=tempm->next; @@ -770,7 +770,7 @@ U8 FillFlattenLTDirTree(LTDirEntry *tempm,U1 *dst) while (tempm) { *dst++=1; result++; - i=sizeof(LTDirEntry)-offset(LTDirEntry.start); + i=LT_DIR_ENTRY_SIZE; MemCpy(dst,&tempm->start,i); dst+=i; result+=i; @@ -790,7 +790,7 @@ public U1 *FlattenLTDirTree(LTDirEntry *tempm,U8 *size=NULL) U8 i=SizeFlattenLTDirTree(tempm); U1 *buf=MAlloc(i); FillFlattenLTDirTree(tempm,buf); - if (*size) *size=i; + if (size) *size=i; return buf; } @@ -801,7 +801,7 @@ U1 *DoUnflattenLTDirTree(U1 *src,LTDirEntry **tempm) if (*src++) { tempm1=MAllocZ(sizeof(LTDirEntry)); *tempm=tempm1; - i=sizeof(LTDirEntry)-offset(LTDirEntry.start); + i=LT_DIR_ENTRY_SIZE; MemCpy(&tempm1->start,src,i); src+=i; if (tempm1->attr & LT_ATTR_DIR) @@ -818,4 +818,3 @@ public LTDirEntry *UnflattenLTDirTree(U1 *src) DoUnflattenLTDirTree(src,&tempm); return tempm; } - \ No newline at end of file diff --git a/LT/ADAM/WINDOW.CPZ b/LT/ADAM/WINDOW.CPZ index a93a8f0..04682a8 100644 --- a/LT/ADAM/WINDOW.CPZ +++ b/LT/ADAM/WINDOW.CPZ @@ -413,8 +413,8 @@ void InputFilterTask() I1 *st; TssCmdStruct *tempc,*tempc1; BoolU4 old_filter; - InitUserTask; Preempt(OFF); + InitUserTask; Bts(&Fs->task_flags,TSSf_INPUT_FILTER_TASK); old_filter=Bts(&Fs->parent_tss->task_flags,TSSf_FILTER_INPUT); while (TRUE) { @@ -1040,4 +1040,3 @@ public void PressAKey() PutSysText("ST_PRESS_A_KEY"); GetKey; } - \ No newline at end of file diff --git a/LT/COMPILE/CMP.BIZ b/LT/COMPILE/CMP.BIZ index f0cb1382cc9e395b0abbf94c27904c8c6936439e..b90c5fe06b0e6e33b165302363f3d551d185c63e 100644 GIT binary patch delta 43 zcmaF=W9P9(fmQ*=Rsp810?Ze8vNfs; } - \ No newline at end of file diff --git a/LT/OSMain/DISK3.CPZ b/LT/OSMain/DISK3.CPZ index bead55f..1c876c6 100644 --- a/LT/OSMain/DISK3.CPZ +++ b/LT/OSMain/DISK3.CPZ @@ -1499,7 +1499,7 @@ BoolU4 NewLTDirEntry2(LTPartition *p,I1 *cur_dir,LTDirEntry *de,BoolU4 free_old_ ch=ptr->name[0]; if (!ch) { if (written) break; - MemCpy(&ptr->attr,&de->attr,LT_DIR_ENTRY_SIZE); + MemCpy(&ptr->start,&de->start,LT_DIR_ENTRY_SIZE); if ((i+1)*LT_DIR_ENTRY_SIZE+j*BLK_SIZEdata+cur_dir_cluster*p->spc+j,1,FALSE); @@ -1545,7 +1545,7 @@ BoolU4 NewLTDirEntry2(LTPartition *p,I1 *cur_dir,LTDirEntry *de,BoolU4 free_old_ break; } else if (ptr->attr & LT_ATTR_DELETED) { if (!written) { - MemCpy(&ptr->attr,&de->attr,LT_DIR_ENTRY_SIZE); + MemCpy(&ptr->start,&de->start,LT_DIR_ENTRY_SIZE); WBlks(p,buf+j*BLK_SIZE, p->data+cur_dir_cluster*p->spc+j,1,FALSE); written=TRUE; @@ -1556,7 +1556,7 @@ BoolU4 NewLTDirEntry2(LTPartition *p,I1 *cur_dir,LTDirEntry *de,BoolU4 free_old_ FreeLTClusters(p,ptr->cluster, (ptr->size+p->spc*BLK_SIZE-1)/(p->spc*BLK_SIZE),FALSE); if (!written) { - MemCpy(&ptr->attr,&de->attr,LT_DIR_ENTRY_SIZE); + MemCpy(&ptr->start,&de->start,LT_DIR_ENTRY_SIZE); WBlks(p,buf+j*BLK_SIZE, p->data+cur_dir_cluster*p->spc+j,1,FALSE); break; @@ -1742,7 +1742,7 @@ LTDirEntry *FindLTFiles(I1 *wild,U8 *fuf_flags) break; else if (!(ptr->attr & LT_ATTR_DELETED)) { tempm=MAllocZ(sizeof(LTDirEntry)); - MemCpy(&tempm->attr,&ptr->attr,LT_DIR_ENTRY_SIZE); + MemCpy(&tempm->start,&ptr->start,LT_DIR_ENTRY_SIZE); if (Bt(fuf_flags,FUf_RECURSE) && tempm->attr & LT_ATTR_DIR && tempm->name[0]!='.') { tempm->next=result; result=tempm; @@ -1981,4 +1981,3 @@ void DirLT(I1 *wild,BoolU4 full) } } - \ No newline at end of file diff --git a/LT/OSMain/DISK4.CPZ b/LT/OSMain/DISK4.CPZ index 6405864..4eaa0d7 100644 --- a/LT/OSMain/DISK4.CPZ +++ b/LT/OSMain/DISK4.CPZ @@ -1012,3 +1012,4 @@ void WriteCDImage(I1 drive,I1 *in_name) Free(in_name3); } + \ No newline at end of file diff --git a/LT/OSMain/OS.MPZ b/LT/OSMain/OS.MPZ index 503d756..815b638 100644 --- a/LT/OSMain/OS.MPZ +++ b/LT/OSMain/OS.MPZ @@ -1,26 +1,26 @@ $LK "ACSF_IN_STRUCT ","FL:::/LT/OSMain/ADAMK.HPZ,1095"$1 0000 StrConst -$LK "ACS_COMPRESS ","FL:::/LT/OSMain/OSINC.ASZ,283"$0000005C 0002 SysSym Lit -$LK "ACS_CUR_BITS_IN_USE ","FL:::/LT/OSMain/OSINC.ASZ,273"$00000034 0001 SysSym Lit -$LK "ACS_CUR_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,272"$00000030 0001 SysSym Lit -$LK "ACS_DST_BUF ","FL:::/LT/OSMain/OSINC.ASZ,269"$00000024 0000 SysSym Lit -$LK "ACS_DST_POS ","FL:::/LT/OSMain/OSINC.ASZ,268"$0000001C 0000 SysSym Lit -$LK "ACS_DST_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,267"$00000014 0000 SysSym Lit -$LK "ACS_ENTRY_USED ","FL:::/LT/OSMain/OSINC.ASZ,281"$00000054 0001 SysSym Lit -$LK "ACS_FREE_INDEX ","FL:::/LT/OSMain/OSINC.ASZ,278"$00000048 0002 SysSym Lit -$LK "ACS_FREE_LIMIT ","FL:::/LT/OSMain/OSINC.ASZ,279"$0000004C 0003 SysSym Lit -$LK "ACS_HASH ","FL:::/LT/OSMain/OSINC.ASZ,284"$0000805C 0002 SysSym Lit -$LK "ACS_LAST_CH ","FL:::/LT/OSMain/OSINC.ASZ,282"$00000058 0000 SysSym Lit -$LK "ACS_MIN_BITS ","FL:::/LT/OSMain/OSINC.ASZ,270"$00000028 0000 SysSym Lit -$LK "ACS_MIN_TABLE_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,271"$0000002C 0001 SysSym Lit -$LK "ACS_NEXT_BITS_IN_USE ","FL:::/LT/OSMain/OSINC.ASZ,275"$0000003C 0002 SysSym Lit -$LK "ACS_NEXT_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,274"$00000038 0003 SysSym Lit -$LK "ACS_SAVED_BASECODE ","FL:::/LT/OSMain/OSINC.ASZ,280"$00000050 0000 SysSym Lit -$LK "ACS_SRC_BUF ","FL:::/LT/OSMain/OSINC.ASZ,266"$00000010 0000 SysSym Lit -$LK "ACS_SRC_POS ","FL:::/LT/OSMain/OSINC.ASZ,265"$00000008 0000 SysSym Lit -$LK "ACS_SRC_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,264"$00000000 0000 SysSym Lit -$LK "ACS_STACK_BASE ","FL:::/LT/OSMain/OSINC.ASZ,277"$00000044 0000 SysSym Lit -$LK "ACS_STACK_PTR ","FL:::/LT/OSMain/OSINC.ASZ,276"$00000040 0000 SysSym Lit -$LK "ACS_STRUCT_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,285"$0000C05C 0000 SysSym Lit +$LK "ACS_COMPRESS ","FL:::/LT/OSMain/OSINC.ASZ,284"$0000005C 0002 SysSym Lit +$LK "ACS_CUR_BITS_IN_USE ","FL:::/LT/OSMain/OSINC.ASZ,274"$00000034 0001 SysSym Lit +$LK "ACS_CUR_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,273"$00000030 0001 SysSym Lit +$LK "ACS_DST_BUF ","FL:::/LT/OSMain/OSINC.ASZ,270"$00000024 0000 SysSym Lit +$LK "ACS_DST_POS ","FL:::/LT/OSMain/OSINC.ASZ,269"$0000001C 0000 SysSym Lit +$LK "ACS_DST_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,268"$00000014 0000 SysSym Lit +$LK "ACS_ENTRY_USED ","FL:::/LT/OSMain/OSINC.ASZ,282"$00000054 0001 SysSym Lit +$LK "ACS_FREE_INDEX ","FL:::/LT/OSMain/OSINC.ASZ,279"$00000048 0002 SysSym Lit +$LK "ACS_FREE_LIMIT ","FL:::/LT/OSMain/OSINC.ASZ,280"$0000004C 0003 SysSym Lit +$LK "ACS_HASH ","FL:::/LT/OSMain/OSINC.ASZ,285"$0000805C 0002 SysSym Lit +$LK "ACS_LAST_CH ","FL:::/LT/OSMain/OSINC.ASZ,283"$00000058 0000 SysSym Lit +$LK "ACS_MIN_BITS ","FL:::/LT/OSMain/OSINC.ASZ,271"$00000028 0000 SysSym Lit +$LK "ACS_MIN_TABLE_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,272"$0000002C 0001 SysSym Lit +$LK "ACS_NEXT_BITS_IN_USE ","FL:::/LT/OSMain/OSINC.ASZ,276"$0000003C 0002 SysSym Lit +$LK "ACS_NEXT_ENTRY ","FL:::/LT/OSMain/OSINC.ASZ,275"$00000038 0003 SysSym Lit +$LK "ACS_SAVED_BASECODE ","FL:::/LT/OSMain/OSINC.ASZ,281"$00000050 0000 SysSym Lit +$LK "ACS_SRC_BUF ","FL:::/LT/OSMain/OSINC.ASZ,267"$00000010 0000 SysSym Lit +$LK "ACS_SRC_POS ","FL:::/LT/OSMain/OSINC.ASZ,266"$00000008 0000 SysSym Lit +$LK "ACS_SRC_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,265"$00000000 0000 SysSym Lit +$LK "ACS_STACK_BASE ","FL:::/LT/OSMain/OSINC.ASZ,278"$00000044 0000 SysSym Lit +$LK "ACS_STACK_PTR ","FL:::/LT/OSMain/OSINC.ASZ,277"$00000040 0000 SysSym Lit +$LK "ACS_STRUCT_SIZE ","FL:::/LT/OSMain/OSINC.ASZ,286"$0000C05C 0000 SysSym Lit $LK "ACTIVATE_NEXT_USER ","FL:::/LT/OSMain/SCHED.ASZ,157"$000044A8 0002 SysSym $LK "ADAM_TSS ","FL:::/LT/OSMain/OSMAIN.ASZ,15"$0000101C 0002 SysSym Export $LK +BI,"AFree ","FL:::/LT/OSMain/MEM.CPZ,7",1$00004B24 001B Funct Export @@ -53,8 +53,8 @@ $LK +BI,"AMAlloc ","FL:::/LT/OSMain/MEM.CPZ,1",2$00004ADD 0009 Funct $LK +BI,"AMAllocIdentical ","FL:::/LT/OSMain/MEM.CPZ,12",3$00004B5A 0004 Funct Export $LK +BI,"AMAllocZ ","FL:::/LT/OSMain/MEM.CPZ,40",4$00004D8E 0008 Funct Export $LK +BI,"ANewString ","FL:::/LT/OSMain/MEM.CPZ,26",5$00004C6C 0007 Funct Export -$LK "ARC_MAX_BITS ","FL:::/LT/OSMain/ADAMK.HPZ,1869"$12 0006 StrConst -$LK "ARC_MAX_TABLE_ENTRY ","FL:::/LT/OSMain/ADAMK.HPZ,1870"$((1<ans 0000 StrConst -$LK "ans0 ","FL:::/LT/OSMain/ADAMK.HPZ,1621"$(Fs->ans 0000 StrConst -$LK "ans1 ","FL:::/LT/OSMain/ADAMK.HPZ,1622"$(Fs->ans 0000 StrConst -$LK "ans2 ","FL:::/LT/OSMain/ADAMK.HPZ,1623"$(Fs->ans 0000 StrConst -$LK "ans3 ","FL:::/LT/OSMain/ADAMK.HPZ,1624"$(Fs->ans 0000 StrConst -$LK "ans4 ","FL:::/LT/OSMain/ADAMK.HPZ,1625"$(Fs->ans 0000 StrConst -$LK "ans5 ","FL:::/LT/OSMain/ADAMK.HPZ,1626"$(Fs->ans 0000 StrConst -$LK "ans6 ","FL:::/LT/OSMain/ADAMK.HPZ,1627"$(Fs->ans 0000 StrConst -$LK "ans7 ","FL:::/LT/OSMain/ADAMK.HPZ,1628"$(Fs->ans 0000 StrConst -$LK "ansd ","FL:::/LT/OSMain/ADAMK.HPZ,1630"$(Fs->dou 0000 StrConst -$LK "ansd0 ","FL:::/LT/OSMain/ADAMK.HPZ,1631"$(Fs->dou 0000 StrConst -$LK "ansd1 ","FL:::/LT/OSMain/ADAMK.HPZ,1632"$(Fs->dou 0000 StrConst -$LK "ansd2 ","FL:::/LT/OSMain/ADAMK.HPZ,1633"$(Fs->dou 0000 StrConst -$LK "ansd3 ","FL:::/LT/OSMain/ADAMK.HPZ,1634"$(Fs->dou 0000 StrConst -$LK "ansd4 ","FL:::/LT/OSMain/ADAMK.HPZ,1635"$(Fs->dou 0000 StrConst -$LK "ansd5 ","FL:::/LT/OSMain/ADAMK.HPZ,1636"$(Fs->dou 0000 StrConst -$LK "ansd6 ","FL:::/LT/OSMain/ADAMK.HPZ,1637"$(Fs->dou 0000 StrConst -$LK "ansd7 ","FL:::/LT/OSMain/ADAMK.HPZ,1638"$(Fs->dou 0000 StrConst +$LK "ans ","FL:::/LT/OSMain/ADAMK.HPZ,1625"$(Fs->ans 0000 StrConst +$LK "ans0 ","FL:::/LT/OSMain/ADAMK.HPZ,1626"$(Fs->ans 0000 StrConst +$LK "ans1 ","FL:::/LT/OSMain/ADAMK.HPZ,1627"$(Fs->ans 0000 StrConst +$LK "ans2 ","FL:::/LT/OSMain/ADAMK.HPZ,1628"$(Fs->ans 0000 StrConst +$LK "ans3 ","FL:::/LT/OSMain/ADAMK.HPZ,1629"$(Fs->ans 0000 StrConst +$LK "ans4 ","FL:::/LT/OSMain/ADAMK.HPZ,1630"$(Fs->ans 0000 StrConst +$LK "ans5 ","FL:::/LT/OSMain/ADAMK.HPZ,1631"$(Fs->ans 0000 StrConst +$LK "ans6 ","FL:::/LT/OSMain/ADAMK.HPZ,1632"$(Fs->ans 0000 StrConst +$LK "ans7 ","FL:::/LT/OSMain/ADAMK.HPZ,1633"$(Fs->ans 0000 StrConst +$LK "ansd ","FL:::/LT/OSMain/ADAMK.HPZ,1635"$(Fs->dou 0000 StrConst +$LK "ansd0 ","FL:::/LT/OSMain/ADAMK.HPZ,1636"$(Fs->dou 0000 StrConst +$LK "ansd1 ","FL:::/LT/OSMain/ADAMK.HPZ,1637"$(Fs->dou 0000 StrConst +$LK "ansd2 ","FL:::/LT/OSMain/ADAMK.HPZ,1638"$(Fs->dou 0000 StrConst +$LK "ansd3 ","FL:::/LT/OSMain/ADAMK.HPZ,1639"$(Fs->dou 0000 StrConst +$LK "ansd4 ","FL:::/LT/OSMain/ADAMK.HPZ,1640"$(Fs->dou 0000 StrConst +$LK "ansd5 ","FL:::/LT/OSMain/ADAMK.HPZ,1641"$(Fs->dou 0000 StrConst +$LK "ansd6 ","FL:::/LT/OSMain/ADAMK.HPZ,1642"$(Fs->dou 0000 StrConst +$LK "ansd7 ","FL:::/LT/OSMain/ADAMK.HPZ,1643"$(Fs->dou 0000 StrConst $LK "boot_blkdev ","FL:::/LT/OSMain/START.CPZ,67"$00004A30 0004 GlbVar Export $LK "compiled_lines ","FL:::/LT/OSMain/START.CPZ,66"$00004A24 0001 GlbVar Export $LK "dc_col ","FL:::/LT/OSMain/START.CPZ,62"$000049F8 0009 GlbVar Export @@ -2312,58 +2316,52 @@ $LK "textbase ","FL:::/LT/OSMain/ADAMK2.HPZ,52"$00001CF0 0004 GlbVar E $LK +BI,"throw ","FL:::/LT/OSMain/MISC.CPZ,113",326$00006493 001C Funct Export $LK "vga_image ","FL:::/LT/OSMain/START.CPZ,76"$00004AD5 0001 GlbVar Export $LK "wordstat_mask ","FL:::/LT/OSMain/START.CPZ,73"$00004AC9 0001 GlbVar Export - $K4KMK ÝJíJ KK$ ZKqKŽK¬KØK$)/ŽMžM¼MçMóM$!lLƒL¨LÆLòLHìûµLÅLÛLõLM(äë0L@LmLƒL›L¨LH%4z`Š`š`Ç`à`aa*a>aQadawaŠa—a `Ñæ"Y9YWY|Y¯YÖYçYôYZ]Z„Z¾ZüZ0[B[y[å[ø[ -œ¬ÐV.VYVtV|VŠV—V¤V´VáVúVW0WDWcWxW—W¬W¿WÔWóWüWTXtX¥XÁXÕXçXYY H%#N3NCNpN‰N«N¿NÓNñNOO,O?OLO H&5YOiO–OªO¾OÑOÖOîOPP,P?PLP H$Q_a_q_ž_·_Ù_í_``'`:`M```m`hg~�RŸR³RÀRÈRÑRÞRS*S…S–S§S¬S¹SÔSæSùSTØ5h¤a»aÐaæaÿa!bNbgb{bšb¯bÎbãböbcc(cUcnc�c¤c¸c×cìc d d3d`dud›dªdÕdäd3eSe„e�e¬eÀeÒe(üM.MMMVM“M¯M4¡«RUiU„U‘U®UÂUÜUúU V� +TBTSTyTˆT¢TÇTãT÷TU&UDUtÃÝøJKK2KLKnK’K×Khýˆ]Ÿ]º]Ç]ä]ø] ^/^>^i^x^’^·^Ó^ç^__4_C_$)o’æ©æ°æÒæÝæÿæç!ç2çMçcçzç´çÃçåçÿçè/èMèfèyè’èžè¿èéé=éOé`é}é…éŸé¿éÛéâéüéê2êRêeêwê©êÂêÖêîêóê ë#ë6ëNëwë‹ëŸë³ëÇëÚëîëûë€p�#ì:ì?ì\ìmìƒì“ìÁìÇìÒìúìíIíií„í˜íÝíðíî=îOîbîvîŠî—îHBQRi�¬µºã÷ -@^kÓê<Pt†™¬8R]&=`t˜ª½LÚêùàáSápá áÕáâ$â7â<âAâdâqâ܌Ŕܔ•/•U•|•••§•¹•˕ە÷•P––Å–á–æ–,—H—M—\—|—¤—¸—Ì—à—ó—ø— ˜ ˜4˜G˜L˜]˜q˜‡˜•˜¸˜Θû˜A™g™Ž™§™¹™Ë™Ý™í™ššfš§šæšôš››<›V›y›•›°›è› -œ"œFœSœŠœ™œµœöœ�d�n�€�”�¨�½�Ð�Õ�ü�ž1žEžYžmž€ž…ž­žt�çÛžëžðžùž ŸŸAŸFŸ�Ÿ Ÿ»ŸÀŸéŸ  . ? T e Æ × ê  -¡¡6¡;¡L¡g¡l¡{¢®¢Ç¢Ü¢£2£H£U£u£Œ£ £¶£Ï£4¤c¤v¤™¤«¤Ф줥¥)¥E¥Y¥m¥¥›¥¯¥Ã¥Õ¥ð¥¦¦<¦Q¦^¦s¦‰¦Ò¦@)6!^8^L^`^q^†^—^¸^Ñ^â^ð^˜7Zþ^_0_I_V_†_–_œ_´_Ä_ß_ø_ ``/`R`c`„`¨`º`É`ã`ÿ`a/a4a @kx ™7™K™L™`™t™‹™ž™²™Å™Ï™ @]jf˜}˜‘˜¢˜£˜·˜Î˜á˜õ˜™™!4¹ÃìÚüÚÛ ÛÛ+Û9ÛhÛ"¬�¸Ž×—׍׾ׯ×Ù×ØØØ4ØNØlØÊØÛØúØÙÙ*ÙIÙyÙŸÙãÙýÙ*ÚLÚrÚwÚ…Ú“Ú˜Ú°ÚÓÚäÚ#<%1j-j:jHjVjkj—jÃj×jk$Ä3ï'HV�›¥òÿ4X\tž£¬Êäöü%Qcrˆ�¢Å%ð<uLcyš£Îó:V[ƒ¦ºÇÜöÿL Q y “ ¿ Ù ñ  ' b ™ º Ï á ò  !%!Q!d!t!�!µ!Ú!÷!"3"&(4;Óã%?'( h`x`€`¨`Ñ`(Èîh}}�}¸} ~x~†~£~§~¹~Õ~ý~+e¦ìø€(€G€X€w€�€‹€©€ã€(�v�Å�Ï�Ô�‚b‚l‚Œ‚Ê‚)8v�› ² Ö ò  -( -; -*0¯¸q ˆ   º Í +$¨®ó  - - P c ,4oy¢»«»¿»ì»2¼`¼ˆ¼-0@Ḯքæ„þ„… …8…L….„çm�v�£�Ñ�è� Ž-ŽRŽrނދލ޻ŽÏŽÔŽñŽ��&�+�>�R�j�/ÒÖp{y{�{0$�� �$�1�1œa…o&o:o¢oÊoØoåoýop5pQpep‘p·pûpqq2qKqhq…q¨qÉqÓqëqrr2$$؂Ⴀƒƒ*ƒ3Y]H†Q†x†4$Š�Òˆâˆèˆ÷ˆ‰5(‘˜‰ ‰&‰+‰:‰J‰6<)u© À Ò æ  9 L z  † š È Ó ð  6 B G d « à Û ñ *1Kj…Œ¦ÅÚù -@r‹Ÿ¤¸ßö"<h~¥¼ç&@Rn™¬ÀÓâ7DBP_ÑoчѢѧÑÞÑìÑ9ÒFÒ8D3AKÐ[ÐuÐ�ЕÐÌÐÚÐ'Ñ4Ñ90Úã��'�Y�€���­�:<Žš«îÂîôî9ïKï\ï|ï’ï¥ï¹ïÆï;<¶Âêñòòò4òPòhò°òÞòåò -óó<,-ä=ä[äÆäääå2å= ëðâ�âã6ã>H2A kkek’k®kl-lvl£l¿l&m>m?`{�ÙWéW X9X‰XçX Y7YŽYóYZNZ‡Z·ZÊZÐZóZ [@ –›Ü­ì­ù­#®Ad!7Dþ[þƒþ¡þºþØþñþÿ.ÿ3ÿPÿmÿŒÿ«ÿÑÿçÿBˆ•´ø#$H$_$u$†$±$Ý$ô$%%,%Q%i%–%Ë%á%æ% &;&M&o&‡&�&±&¾&Ë&C0ˆ‘¿©È©Ñ©î©ó©ªªªDôÒ µDÌDE E7EKE]EmE•E·EÌEïEF Fë\ëwë}ë†ëîë8ì[ì`ì¡ìÀì@íÈíÝíîî)îBîVîyî†î[(7>tN‹N’N›N®N³N\LÙé�˜œ¹Ôíô )]´’¼ßö -$;GNSw•ºØë÷ -Lož£×êý"/5?P^€‚Ÿêtótuu-uLubuvu•u´uÌuùuvCvVv‰v·vÏvìvÿvSw_To�NsWsƒs°sÌsús t@tnt†t£t¶tÞt`5Eaˆ6ÆNÝNôNOO+OLOcOpO‡O§O´OüO P$P.PoP†P‹PÓPyQ©QÒQæQüQ)RbŒ(X o € œ ¤ µ à Ú ì  - - -$ -1 -? -Q -r -� -Å -à -÷ -& ` y Œ c, •å¥å¶åÈåÙåìåd(?åVågåmåzå‡åe<ù‰ã™ãžã«ã¼ãÒãää äfeiü†‡,‡gâ! ®"®-®J®g®ƒ®•®–®´®Ç®Ú®à®¯¯)¯>¯G¯Z¯u¯‰¯�¯º¯Ã¯Ö¯é¯÷¯° + $K4KMK ÝJíJ KK$ ZKqKŽK¬KØK$)/ŽMžM¼MçMóM$!lLƒL¨LÆLòLHìû·LÇLÝL÷LM(äë2LBLoL…L�LªLH%4|`Œ`œ`É`â`aa,a@aSafayaŒa™a `Ñæ$Y;YYY~Y±YØYéYöYZ_Z†ZÀZþZ2[D[{[ç[ú[ +œ¬ÐV0V[VvV~VŒV™V¦V¶VãVüVW2WFWeWzW™W®WÁWÖWõWþWVXvX§XÃX×XéXYY H%%N5NENrN‹N­NÁNÕNóNOO.OAONO H&5[OkO˜O¬OÀOÓOØOðOPP.PAPNP H$S_c_s_ _¹_Û_ï_``)`<`O`b`o`hg~‘R¡RµRÂRÊRÓRàRS,S‡S˜S©S®S»SÖSèSûS TØ5h¦a½aÒaèab#bPbib}bœb±bÐbåbøbcc*cWcpc’c¦cºcÙcîc d"d5dbdwd�d¬d×dæd5eUe†e’e®eÂeÔe(ü M0MOMXM•M±M4¡«TUkU†U“U°UÄUÞUüU V� -TDTUT{TŠT¤TÉTåTùTU(UFUtÃÝúJ +KK4KNKpK”KÙKhýŠ]¡]¼]É]æ]ú] ^1^@^k^z^”^¹^Õ^é^__6_E_$)o’æ©æ°æÒæÝæÿæç!ç2çMçcçzç´çÃçåçÿçè/èMèfèyè’èžè¿èéé=éOé`é}é…éŸé¿éÛéâéüéê2êRêeêwê©êÂêÖêîêóê ë#ë6ëNëwë‹ëŸë³ëÇëÚëîëûë€p�#ì:ì?ì\ìmìƒì“ìÁìÇìÒìúìíIíií„í˜íÝíðíî=îOîbîvîŠî—îHBQTk�®·¼åù @^kÕì>Rvˆ›®8R](?bvš¬¿LÚêùàáSápá áÕáâ$â7â<âAâdâqâ܌ǔޔ𔕕1•W•~•—•©•»•͕ݕù•R–�–Ç–ã–è–.—J—O—^—~—¦—º—Ηâ—õ—ú—˜"˜6˜I˜N˜_˜s˜‰˜—˜º˜Иý˜C™i™�™©™»™Í™ß™ï™ššhš©šèšöš››>›X›{›—›²›ê› œ$œHœUœŒœ›œ·œøœ�f�p�‚�–�ª�¿�Ò�×�þ�ž3žGž[žož‚ž‡ž¯žt�çÝžížòžûž ŸŸCŸHŸ‘Ÿ¢Ÿ½ŸŸëŸ  0 A V g È Ù ì  ¡¡8¡=¡N¡i¡n¡}¢°¢É¢Þ¢£4£J£W£w£Ž£¢£¸£Ñ£6¤e¤x¤›¤­¤Ò¤î¤¥¥+¥G¥[¥o¥�¥�¥±¥Å¥×¥ò¥¦¦>¦S¦`¦u¦‹¦Ô¦@)6#^:^N^b^s^ˆ^™^º^Ó^ä^ò^˜7Z__2_K_X_ˆ_˜_ž_¶_Æ_á_ú_` `1`T`e`†`ª`¼`Ë`å`aa1a6a @kx ™7™K™L™`™t™‹™ž™²™Å™Ï™ @]jf˜}˜‘˜¢˜£˜·˜Î˜á˜õ˜™™!4¹ÃîÚþÚÛ Û Û-Û;ÛjÛ"¬�¸�ית×À×È×Û×ØØØ6ØPØnØÌØÝØüØÙÙ,ÙKÙ{Ù¡ÙåÙÿÙ,ÚNÚtÚyÚ‡Ú•ÚšÚ²ÚÕÚæÚ#<%1 j/j�R�j�/ÒÖp{y{�{0$�� �$�1�1œa… o(oj€§¾é(BTp›®ÂÕä7DBPaÑqщѤѩÑàÑîÑ;ÒHÒ8D3AMÐ]ÐwВЗÐÎÐÜÐ)Ñ6Ñ90Úã��)�[�‚�’�¯�:<Žš«îÂîôî9ïKï\ï|ï’ï¥ï¹ïÆï;<¶Âêñòòò4òPòhò°òÞòåò +óó<,-ä=ä[äÆäääå2å= ëðâ�âã6ã>H2Ak kgk”k°kl/lxl¥lÁl(m@m?`{�ÙWéW X9X‰XçX Y7YŽYóYZNZ‡Z·ZÊZÐZóZ [@ –›Þ­î­û­%®Ad!7Fþ]þ…þ£þ¼þÚþóþÿ0ÿ5ÿRÿoÿŽÿ­ÿÓÿéÿ Bˆ•´ú#$J$a$w$ˆ$³$ß$ö$%%.%S%k%˜%Í%ã%è%&=&O&q&‰&Ÿ&³&À&Í&C0ˆ‘¿©È©Ñ©î©ó©ªªªDôÒ ·DÎDE"E9EME_EoE—E¹EÎEñEF!F>FuFŠF¯FÕFáF/GGGXGoG†G«G°GÈGàGH-HOHlH–HªHÔHîH IICIaI‡I»IÈIÕIéIøIJJ1JEJSJEX¾ÑàB÷BýBC>CaC‡C“CàCD.D=DSDiDwDFPK\M—d—x—y—“—¬——ɗۗí—ô—˜<˜F˜X˜G, (ùå æ6æOæaæyæ…æH(sz|W…WŠW©WÈWÍWI8[fFVVVwV€VŠV½VÔVJ8gráVñVWW%WXWoWKHKZ\SeS‰SµSTcT‡T³T +UoU€U£UÙU:VLtø*AFW\šËIŠ·ÕE °½×ô#Mƒ´Œ´¨´N8½Èv‹†‹—‹˜‹±‹Ì‹å‹ì‹û‹O8ÉÔŒ Œ0Œ1ŒJŒdŒ}Œ„Œ“ŒP<Õᜌ¬Œ½Œ¾Œ×ŒíŒ� ��Q8±¼ŊΊߊàŠùŠ:‹S‹Z‹f‹R8¥°ŠŠ(Š)ŠBŠƒŠœŠ£Š¯ŠS8™¤S‰c‰t‰u‰Ž‰Ì‰å‰ì‰û‰T4›¥Øïïï4ðFð[ðqð„ð‘ðU0êó;Rmt‹¿ÌV$�“¶#Æ#Ú#í#W( §Yóiópó„ó—óX8¨³¤ó»óÂóÊóÎóáóîóóóøóYXv‰ +!2C[c}‘–´Ëú"5ZÌ9i ééOéwéŸé­éåéê(êTê¶êÊêáêë&ë@ë^ëyëëˆëðë:ì]ìbì£ìÂìBíÊíßíîî+îDîXî{îˆî[(7>tN‹N’N›N®N³N\LÙ郚ž»Öïö +]´’¼áø &=IPUy—¼Úíù Nq ¥Ùìÿ $17AR^€‚Ÿêtótuu-uLubuvu•u´uÌuùuvCvVv‰v·vÏvìvÿvSw_To�NsWsƒs°sÌsús t@tnt†t£t¶tÞt`7Gaˆ6ÆNÝNôNOO+OLOcOpO‡O§O´OüO P$P.PoP†P‹PÓPyQ©QÒQæQüQ)RbŒ(Z q ‚ ž ¦ · Å Ü î  + + + +& +3 +A +S +t +� +Ç +â +ù +( b { Ž c, •å¥å¶åÈåÙåìåd(?åVågåmåzå‡åe<ù‰ã™ãžã«ã¼ãÒãää äfeiü†‡,‡gâ! ®"®-®J®g®ƒ®•®–®´®Ç®Ú®à®¯¯)¯>¯G¯Z¯u¯‰¯�¯º¯Ã¯Ö¯é¯÷¯° °,°5°H°[°i°v°|°Š°ž°µ°É°Ò°æ°ý°±%±*±B±T±x±“±­±h<4@¥b¼bÐbábêbccc0ci$a -a'a,a5a:ajtµÏÙ&ð&ö& '?'h'~'­'²'Ç'ä'û' (#(4(H(U(b(k(ˆ(kIMX…a…ˆ…l@Ž›_'v'|'­' (6(\(d(�(�(²(mhí?.V.b.o.Œ.².¾.Ò.ñ./+/T/a/z/ˆ/ /­/n`9Nå5õ5616J6i6‚6•6Ò6Ü6á6ó6757Q7omq}8�8«8ph‰ Ù9é9ö9::@:Q:m:…:‘:§:´:Ì:Ý:ñ:;; ;3;@;q¸Ûö? @ @.@;@S@n@@¢@¯@á@ö@AA A$A5AMAZAwA�AèAB:BvB‹BïBCCYCsC�C­CÜCðCrÈ«ÚÖ;æ;</<<<o<Œ<œ<¬<¾<Î<à<=7=Y=k==›=«=»=Ì=è=ý=>#>6>P>a>u>‚>š>Ê>.?;?@?O?]?¤?³?À?s0¡ªM;];j;z;Š;ž;¼;É;t(el8!828N8c8p8u _dÍ7Ý7ê78vÄ8¦XHoH�H�H�HµHÍHÚH÷HIhI’IºIìIJJ8JUJ„J˜JwHO^^7n77€7¢7§7³7À7xÌ7þCD=DXD‹D¨DâDòDEE$E6E^E�E¯EÁEÕEñEFF%FAFVFkF€F“F­F¾FÒFßFýF'G‹G˜G�G¬G»GHH Hy®ìŽ)¥)³)Ò)å)ö)**.*F*Y*t*„*˜*¶*Ä*Ø*ù*+4+h+ƒ+¯+Ê+÷+ ,,T,a,y,�,£,É,Ö,ú,--0-L-c-h-•-«-°-ò-ÿ- ..'.5.zÜHâ0ù0 -1H1ƒ1’1±1Ô1ê1232P2—2´2¹2á2ö2 3%3-3c3�3ž3Ï3I4¢4¼4Ù4ö45C55™5¶5Ó5é56V6p6�6¢6¼6Ë6{D»/Ë/è/0'0G0\0‡0Œ0È0Ù0|(œ£¼(Ì(Ï(ì(þ(}0¤­))/)V)k)…)~lI¡Õ6ì6ò6'7a7p7�7²7È7Ü7î7 8?8\8¢8¿8Ä8Õ899,9J9^9†9›9°9Ê9Û9ó9 :<:s:€:Á:Æ:à:; ;A;»;<)<N<k<ˆ<™<±<Þ<ì<)=E=h=¥=¹=Þ=û=>)>A>n>|>¹>Ï>ð>-?A?f?ƒ?ª?Ý?@7@L@f@u@,Øàš­ª­¯­À­Ó­ã­€H¦µ¡ð¸ðÎðôðññ\ñhñŽñ®ñÊñÜñ�8^4u4{4ˆ4Œ4¤4É4á4ð4ÿ4‚\2 5$5*575;5S5x5�5Ÿ5®5ƒdÞôL´c´Š´­´´×´ú´ µ)µHµfµžµ˵êµþµ¶*¶„�>_ˆ Ÿ ° Ì Ø !!)!f!€!�!Ì!Ú!"-"X"o"~"»"Õ"ä"!#&#3#=#q#€#…<½Éê&@NUu‚�†ð4m» »0»>»S»n»s»›»©»á»¼i¼Ô¼½O½c½h½y½޽½½νæ½ó½ÿ½¾¾4¾B¾`¾�¾’¾ä¾<¿K¿a¿¿˜¿�¿±¿¶¿οñ¿ò¿ÿ¿‡Üì  ù$ù8ùcùtù¬ùÙù2ú�úÚú -ûû#û)û>ûmû…û‘û•ûªû¯ûÃûëûOü^ünüŠü üÂüÚüÿücý„ý“ý£ý¿ýÑýãýþ þ%þ3þˆüö28¶A¶R¶c¶‹¶™¶°¶˶å¶ú¶ÿ¶'·5·m·™·°·Ü·>¸R¸i¸—¸®¸ȸ渹¹¹<¹l¹‡¹¯¹ʹṺYºkºpº…ºŠºžº£º»ºÞºߺ캉è´ëôô/ô\ômô{ô³ôßôëôõgõ{õ‡õ¬õ¾õÓõÙõö ö*ö<öBöKönö‚ö³ö÷&÷6÷R÷f÷|÷ž÷¶÷Ä÷é÷Mønø}ø�ø©ø»øÁøÚøîøüøŠâæ)�9�`�‹Œ$D¡�¸�É�Ò�é�õ�"‘C‘O‘g‘w‘”‘®‘בï‘’ ’/’4’9’V’r’€’Œ4:Df¸o¸ƒ¸š¸±¸É¸è¸þ¸�8U`ºº/ºFº]ºuº�º¬ºÂºŽ\L`ÂNÒNäNíN OOO$O5O>OWOgO~OœO¬O�4ö@_{h{Š{¦{Î{Ü{ï{|"|:|Z|w|—|´|Ô|ñ|}.}N}k}„} }Ä}ò}9~S~j~ƒ~ˆ~¨~Ì~ù~)=bœÌ€€5€L€p€¢€Æ€à€õ€ �'�A�e��Ü�ð�‚'‚<‚M‚�Àb�ÍÓÖÓçÓõÓ Ô Ô;Ô@ÔhÔvÔƒÔ›ÔµÔöÔ0ÕRÕdÕšÕ¼ÕÙÕëÕÿÕÖ+ÖHÖeÖˆÖ¦Ö¼ÖðÖ -××7×<×T×w×xבXM` nn´“$Ÿ¥¿%¿4¿H¿”œzž”¼«¼¿¼Ä¼ë¼ì¼ü¼½-½F½V½o½½˜½¨½Á½Ñ½ê½ú½¾#¾<¾F¾V¾x¾¢¾ß¾÷¾¿•%)û2–˜Áä\s¥¸ÓîþVd…‰™Ÿ[y�½Éí"(äFR|�—@Öí*SXr�˜d5K‹¥¢¥¶¥·¥Ô¥Ý¥ô¥)¦6¦9¦S¦a¦n¦x¦‡¦Œ¦›¦©¦™ EjŽ’¥’¹’ø’“*“?“R“{“¯“Ô“ë“ ” ”$”2”G”^”n”s”Š”ž”³”ÔȔ攕$•H•šˆï�lŸl³lÆlÛlmm*m?mPmem�m¶mßmäm -n,n1nEnWnvn�nªnÇnÓn›(CJS"S%S=SOSœ87B7RGRqR°RµRôRùR�ÐV‡j§�§•§–§³§¼§Ó§æ§¨¨¨?¨O¨e¨f¨‚¨Œ¨ž¨µ¨Ñ¨ã¨ü¨©©©*©7©<©A©W©e©r©w©|©Š©—©œ©¢©±©ž<’ž&ª=ªTª]ªsªvªŽª©ªÉªÖªŸÌ6fYPiP€P›P¨P±PÏPÜP÷P$Q5QBQaQ{Q¨Q¼QÉQäQøQR -RR.RLRQRsR‚R `çü\\,\9\Q\i\v\“\Ÿ\Ë\ò\ ])]F]u]z]¡pi‚àe÷eff8fNf[fhf€f˜f¥fÂfÎf8g_gyg–g³gâgýg -h¢P¼MÌMêMóMN£ ÞãäKôKLL#L¤4³½WÀgÀ€À™À¼ÀÝÀöÀÁ(ÁAÁ¥4ùƒ\¨l¨‚¨•¨³¨ƨڨ©\©r©‘©°©Ï©í©ª`ªL¬Q¬¦ A�U‚l‚‚«‚Ƃقô‚ƒNƒbƒyƒ~ƒŒƒȃåƒ÷ƒ „„3„8„L„^„s„ˆ„™„ž„²„Æ„Û„ð„……#…P…T…l…�…†…±…µ…Í…†,†@†E†W†p†�†¢†±†À†§@‘ž[![>[][|[Ë[\h\…\¢\ð\õ\¨”1ìnõn o"o8oeo{o‘o–o¬oÂoÇoúopZpwp©pÆpøpq[q«q¿qÄqÖqèq2r©ˆš¹tt0tRtztˆtŸt¶tÐtÞt'u7uFu]u}u•u³uÌuïu1vEvJvbv…v†vªTÜî·kÀkÐkâkçk÷k lll0l5lElWl\lll~lƒl«$ÕÛèjñjkk&k¬X†™r$rLrZrsr‡r»ràr;scs‹s³sÅsÊsâstt­<©µr«{«€«�«¢«Á«à«ý«¬¬)¬®¤(V\_\u\‹\¤\»\Î\ä\] ]5]Q]d]w]Š]ë]¯0Ÿ¨ùª«« «+«J«a«f«°$ÕÛikrk‚k—k«k±ìz²Ý™ô™š0šBšTšfšyšŒšŸš²šÆš×šìšþš›$›.›A›T›^›q›„›Ž›¡›´›¾›Ñ›ä›î›œœœ1œDœ^œoœ“œªœ½œÒœâœòœ��$�6�H�Z�Œ�¡�¯�²$¶¼:¬C¬`¬e¬³\ÅÙ‡���ª�¸�à�î�ŽŽ/ŽDŽbކޡ޹޾ŽÖŽùŽúŽ´ 38¼5Å5Ù5µ¹½¦J¯JÃJ¶¾ÂÏJØJìJ·DÊØžµÆãü0=P_n¸…‰¥ˆ®ˆÊˆ¹y}ˆ"ˆ>ˆº8¨³h#hNhkhwh‹h•h­h»8œ§gˆg«gÄgÜgægh¼8�›ÍfÖfífg gAg\gsg½¨n2mBmkm‡m›m´mÎm×mn*nBn[n…nžn£nÍnænýnoo7oRoWonoŠo�o¨oÃoÈoßoûopp4p9pFpUpnpŠpšpŸp¬p»pØpôpq qq%qBq^qnqsq­qÄqØqÝqôqr r$r8r=rTrhrmr„r˜r�r¹rÞrss-sAs¾XÁÔ¢i«iÀiÒiïij*j>jPj_jzj¦j¼jÆjÜj¿<´À¹hÂhÖhçhi;idieixiŒi–iÀMQ”…�…Ä…ÁFaVakaÂd_u„.›.¶.Ä.Ó.á.ÿ.//)/6/d/t/—/¤/»/Ï/Ã\J^c-z-•-§-µ-Ä-Ò-Ø-î-2.A.N.T.h.v.Ä %*V+_+„+³+Å”$¤(´(Ï(ã(÷()!)4)C)L)k)�)—)Ì)ü)%*D*T*d*x*®*Ù*++"+I+ÆP8Ie,|,—,¥,´,¾,Ý,ï,--!-1-F-U-Çhv�Ý/ô/00)080F0`0q0ˆ0•0¦0º0Ê0Ú0ù0ÿ01!1È<+7¿+Ï+ê+ø+,,,3,I,X,É<¦²T¿d¿{¿œ¿¹¿Ö¿ó¿À-ÀJÀÊ]a„†�†´†ËHET -¹¹'¹>¹U¹i¹Š¹¡¹³¹Ë¹ê¹ºÌ@anκ׺뺻»1»I»[»z»–»Íð[ÔPagaxaœaÊaÖaýab2bFbgbˆb¥bòbc)c=cYc†c–cœc´cÄcßcøcd=dTdjdŒd¼dÜdùde*eRee’e¢eÀeÈeîeòe-f2fRfrf’f¸fÉfÜfýf-gVgggzgœgÍgÒgågh8hEhph‚h®hÀhêh -ii'i,iDiti„iŠiªi½iÕiöi#j3j9jQjaj|j‘j«jÇjâjþjk+k9kÎ`œ±ëÉÊÊ:ÊNÊ`ÊoʃʤʪʵÊÁÊÙÊËLËaËnËÏ@Ž›ÉÉ4ÉHÉYÉgÉ{ɜɽÉÐÉÝÉÐhY>óGóaó{ó•ó¯óÉóãóýóô1ôKôeôô™ô³ôÍôçôõõ5õOõiõƒõ�õ·õÑõëõö ö9öSömö‡ö¡ö»öÕöïö ÷#÷=÷W÷q÷Ñ<6hMhSh`hyh‹h”h¥h¼hÑhÒ$æKýKL2L^LÓ$06NN.NYNfNÔ08AÔë$7DÕ@O\wَ٤ٹÙÒÙìÙÿÙÚÚ-Ú:ÚÖ ïÿ5 O ×ô"\.ÃEÃoÀâåÿÃÏÃçÃüÃÄÄ$ÄuÄ�Ä…ÄÃÄÏÄÓÄ ÅÅ(Å+ÅAÅYÅkÅpňŋšŦÅÀÅÅÅØÅôÅùÅ&ÆLÆSÆ[ÆdÆwƞƺÆÌÆØ �†{È’ÈÆÈÙÜ A—J®J¿JãJõJKK+K@KEKJKgK”K·KâKLLOLdLyL‘L©LÁLÖLÜLñLMM0MHM\MpM…M¯MÃM×MéMöMNÚ€³Ðûxyy,y>y]ysy‡y¦yÅyÝy -z&zTzgzšzÈzàzýz{d{ÛT ²_whw”wÁwÝw xxQxx—x´xÇxïxÜdrˆ¸8È8Ö8à8í8û8"939Y9r9‰9¡9µ9Â9Ç9Ì9Ý0LU³¦¼¦Ý¦!§^§Þ˜n‘À#À5ÀwÀ…À­À»ÀÚÀ÷ÀÁ%Á<ÁKÁ†Á Á¯ÁêÁ Â.Âw‹Â�¨ÂËÂàÂôÂÃߤ’¸&Ã/ÃAÃÑùÃÇÃæÃÄ"Ä:ÄWÄhÄÄŽÄÉÄãÄòÄ-ÅCÅcÅqźÅÎÅÓÅëÅÆ#Æ7ÆGÆàdvŒA"Q"h"q"“"¤"©"¿"Ö"##*#V#j#|#‰#›#§#á¼JÚ–ñ–—2—?—â$17�è¦è´èëèùèã¼Ä0uÛ~Û¼ÛÐÛþÛ&ÜEÜS܋ܺÜÑÜýÜb݄ݵÝÒÝæÝÞ%Þ7ÞHÞƒÞÆÞÒÞUßZߥßÖß'à\à¼àÐàáàøàá8áUá¯á×áùá(âEâtâˆâ¥âªâÎâòâã>ã—ãµãÖã÷ã"ä6äMädäiä•ä¦äáädåyå~å§å¬åµå=æNæ‰æ ççç5ç¸çÍçòçèè2è7èOèrèèäÔмCZl€—§ËÝ %U[uŠ ´Ââ2f‡�¨½× 9Mq€”¨±¾ÄÑå$"(MM]\]z]”]�]¢]¨]¼]Á]Þ]^^ ^,^s^~^–^Á^ó0ˆ‘H_pž±ôdq‡ÇÞïþ GLkpx|«°Ïâõ 27¤­ÇöX¾ÑÏ^æ^÷^_'_<_O_Y_z_�_³_½_Õ_á_ ``7`÷ ˆ�ÐÈàÈ÷Èølmá„£Æ×èúY}¯Ü 5btŒÈù|4e£|£Š£ž£¯£Ä£Ü£ô£ ¤¤1¤B¤Œ¤¦¤Ì¤Í¤â¤¥¥2¥H¥a¥f¥p¥}¥ú\Ýñ - ! 5 F T e w ‰ ¡ » ¼ à ö ¡¡¡+¡û˜ó9¡P¡d¡¡‘¡Ÿ¡°¡Â¡Ú¡õ¡¢1¢>¢C¢t¢�¢£¢¤¢È¢Þ¢÷¢ü¢£ £££-£:£ü( 33393F3 3¯3ý( -½3Ô3Ú3ç3A4P4þŒ‚¢ô†ý†‡)‡7‡_‡m‡�‡ˆ:ˆ^ˆyˆ ˆ±ˆňâˆúˆ=‰^‰r‰†‰˜‰³‰Û‰à‰ø‰Š)Šÿpާ/1F1a1o1~1Œ1�1¸1Ä1õ122.282N22‹2ß2ð2ú2xœ·0®9®G®c®‹®™®ó®b¯¯„¯Ô¯3°`°�°¥°ª°ŰÒ°å°ê°±%±6±$×Ý©{²{Ç{W|k|(Þåw|€|”|§|À|Ð|,}…FˆOˆXˆjˆ|ˆ�ˆœa…ØOïOPP3PWP�P•P¦P²PÐPõPLQ]QlQ‹Q¨QµQÒQæQúQ(RPR–R¬RÀRÒRõRS/SBSUSiSô6Øï(9=To¿ëý#'Sns™Çäè!-D”®þ9Pj¾Ø(1~‹�ª®É  ) = N _ z � Á Ó â ö  -  ôºôiÆrƃƮÆÖÆäÆèÆÿÆÇÇÇ2ÇGÇbÇgÇ�Ç�ÇÙÇÝÇÈHÈȟȽÈûÈÉaÉrÉvɩɭÉÏÉ×ÉçÉÊÊ"Ê6Ê;ÊcÊgÊŠÊŽÊÁÊÕÊøÊùÊËüö2 Ë)Ë:ËeË�˛˟˶˺ËÎËÒËéËÌÌ ÌHÌV̖̹̒ÌÍ8ÍXÍvÍ´ÍÎÍæÍ&Î@ÎŒÎ�ΡÎÔÎØÎúÎÏÏ-Ï2ÏMÏaÏfώϒϵϹÏìÏÐ#Ð$Ð0Ð<'3Öaßaóaôab"bJbb‰b™b  7<; R z  +a'a,a5a:ajtµÏÛ&ò&ø&!'A'j'€'¯'´'É'æ'ý' (%(6(J(W(d(m(Š(kIMX…a…ˆ…l@Ž›a'x'~'¯' (8(^(f(‘(Ÿ(´(mhíA.X.d.q.Ž.´.À.Ô.ó./-/V/c/|/Š/¢/¯/n`9Nç5÷5 636L6k6„6—6Ô6Þ6ã6õ6777S7omq8�8­8ph‰ Û9ë9ø9: :B:S:o:‡:“:©:¶:Î:ß:ó:;;";5;B;q¸Ûø?@!@0@=@U@p@�@¤@±@ã@ø@AA!A&A7AOA\AyA‘AêAB<q<Ž<ž<®<À<Ð<â< +=9=[=m=�=�=­=½=Î=ê=ÿ=>%>8>R>c>w>„>œ>Ì>0?=?B?Q?_?¦?µ?Â?s0¡ªO;_;l;|;Œ; ;¾;Ë;t(el8#848P8e8r8u _dÏ7ß7ì78vÄ8¦ZHqHƒH’HŸH·HÏHÜHùHIjI”I¼IîIJJ:JWJ†JšJwHO^`7p7�7‚7¤7©7µ7Â7xÌ7DD?DZD�DªDäDôDEE&E8E`E�E±EÃE×EóEFF'FCFXFmF‚F•F¯FÀFÔFáFÿF)G�GšGŸG®G½GHH!Hy®ì�)§)µ)Ô)ç)ø) **0*H*[*v*†*š*¸*Æ*Ú*û*+6+j+…+±+Ì+ù+,,V,c,{,‘,¥,Ë,Ø,ü, +--2-N-e-j-—-­-²-ô-...).7.zÜHä0û0 1J1…1”1³1Ö1ì1252R2™2¶2»2ã2ø2 3'3/3e3�3 3Ñ3K4¤4¾4Û4ø45E5�5›5¸5Õ5ë56X6r6�6¤6¾6Í6{D½/Í/ê/0)0I0^0‰0Ž0Ê0Û0|(œ£¾(Î(Ñ(î()}0¤­ ))1)X)m)‡)~lI¡×6î6ô6)7c7r7‘7´7Ê7Þ7ð7 8A8^8¤8Á8Æ8×899.9L9`9ˆ9�9²9Ì9Ý9õ9":>:u:‚:Ã:È:â:;";C;½;<+<P<m<Š<›<³<à<î<+=G=j=§=»=à=ý=>+>C>p>~>»>Ñ>ò>/?C?h?…?¬?ß?@9@N@h@w@,Øàš­ª­¯­À­Ó­ã­€H¦µ¡ð¸ðÎðôðññ\ñhñŽñ®ñÊñÜñ�8`4w4}4Š4Ž4¦4Ë4ã4ò45‚\25&5,595=5U5z5’5¡5°5ƒdÞôN´e´Œ´¯´Ä´Ù´ü´µ+µJµhµ µ͵ìµ¶¶,¶„�>_Š ¡ ² Î Ú !!+!h!‚!‘!Î!Ü!"/"Z"q"€"½"×"æ"##(#5#?#s#‚#…<½Éì(BPWw„’†ð4m»!»2»@»U»p»u»�»«»ã»¼k¼Ö¼½Q½e½j½{½�½¿½нè½õ½¾¾¾6¾D¾b¾�¾”¾æ¾>¿M¿c¿�¿š¿Ÿ¿³¿¸¿пó¿ô¿À‡Üì ù&ù:ùeùvù®ùÛù4úŸúÜú û û%û+û@ûoû‡û“û—û¬û±ûÅûíûQü`üpüŒü¢üÄüÜüýeý†ý•ý¥ýÁýÓýåýþþ'þ5þˆüö2:¶C¶T¶e¶�¶›¶²¶Ͷç¶ü¶·)·7·o·›·²·Þ·@¸T¸k¸™¸°¸ʸ踹 ¹¹>¹n¹‰¹±¹̹ã¹ º[ºmºrº‡ºŒº º¥º½ºàºáºîº‰è´ëôô1ô^ôoô}ôµôáôíôõiõ}õ‰õ®õÀõÕõÛõöö,ö>öDöMöpö„öµö÷(÷8÷T÷h÷~÷ ÷¸÷Æ÷ë÷Oøpøø�ø«ø½øÃøÜøðøþøŠâæ)�9�`�‹Œ$D¡�¸�É�Ò�é�õ�"‘C‘O‘g‘w‘”‘®‘בï‘’ ’/’4’9’V’r’€’Œ4:Df¸o¸ƒ¸š¸±¸É¸è¸þ¸�8U`ºº/ºFº]ºuº�º¬ºÂºŽ\L`ÄNÔNæNïN OO O&O7O@OYOiO€OžO®O�4ö@a{j{Œ{¨{Ð{Þ{ñ{ +|$|<|\|y|™|¶|Ö|ó|}0}P}m}†}¢}Æ}ô};~U~l~…~Š~ª~Î~û~+?džÎ€€7€N€r€¤€È€â€÷€�)�C�g���Þ�ò�‚)‚>‚O‚�Àb�ÏÓØÓéÓ÷Ó Ô"Ô=ÔBÔjÔxÔ…Ô�Ô·ÔøÔ2ÕTÕf՜վÕÛÕíÕÖÖ-ÖJÖgÖŠÖ¨Ö¾ÖòÖ × ×9×>×V×y×zבXM` nn>nLnjn„n˜n¦n·n¼nÒn×nïnoo’|ÁÝÕ±ì±þ±*²C²€²�²Û²ë²ý²³!³5³e³i³x³‡³¬³¹³ϳþ³´)´@´“$Ÿ¥¿%¿4¿H¿”œzž”¼«¼¿¼Ä¼ë¼ì¼ü¼½-½F½V½o½½˜½¨½Á½Ñ½ê½ú½¾#¾<¾F¾V¾x¾¢¾ß¾÷¾¿•%)ý4–˜Áä^u§ºÕðXf‡‹›¡]{�¿Ëï$*æHT~ƒ—@Øï ,UZt’˜d5K‹¥¢¥¶¥·¥Ô¥Ý¥ô¥)¦6¦9¦S¦a¦n¦x¦‡¦Œ¦›¦©¦™ EjŽ’¥’¹’ø’“*“?“R“{“¯“Ô“ë“ ” ”$”2”G”^”n”s”Š”ž”³”ÔȔ攕$•H•šˆï‘l¡lµlÈlÝlmm,mAmRmgm’m¸mámæm n.n3nGnYnxn�n¬nÉnÕn›(CJS"S%S=SOSœ87B7RGRqR°RµRôRùR�ÐV‡j§�§•§–§³§¼§Ó§æ§¨¨¨?¨O¨e¨f¨‚¨Œ¨ž¨µ¨Ñ¨ã¨ü¨©©©*©7©<©A©W©e©r©w©|©Š©—©œ©¢©±©ž<’ž&ª=ªTª]ªsªvªŽª©ªÉªÖªŸÌ6f[PkP‚P�PªP³PÑPÞPùP&Q7QDQcQ}QªQ¾QËQæQúQR RR0RNRSRuR„R `çü\ \.\;\S\k\x\•\¡\Í\ô\]+]H]w]|]¡pi‚âeùeff:fPf]fjf‚fšf§fÄfÐf:gag{g˜gµgägÿg h¢P¾MÎMìMõMN£ ÞãæKöKL L%L¤4³½WÀgÀ€À™À¼ÀÝÀöÀÁ(ÁAÁ¥4ùƒ^¨n¨„¨—¨µ¨Ȩܨ𨩩^©t©“©²©Ñ©ï©ªbªN¬S¬¦ A�W‚n‚�‚­‚Ȃۂö‚ƒPƒdƒ{ƒ€ƒŽƒʃçƒùƒ „ „5„:„N„`„u„Š„›„ „´„Ȅ݄ò„……%…R…V…n…ƒ…ˆ…³…·…Ï…†.†B†G†Y†r†’†¤†³††§@‘ž[![>[][|[Ë[\h\…\¢\ð\õ\¨”1în÷n o$o:ogo}o“o˜o®oÄoÉoüop\pyp«pÈpúpq]q­qÁqÆqØqêq4r©ˆš¹tt2tTt|tŠt¡t¸tÒtàt)u9uHu_uu—uµuÎuñu3vGvLvdv‡vˆvªTÜî¹kÂkÒkäkékùk ll l2l7lGlYl^lnl€l…l«$ÕÛèjñjkk&k¬X†™r&rNr\rur‰r½râr=ses�sµsÇsÌsästt­<©µr«{«€«�«¢«Á«à«ý«¬¬)¬®¤(X\a\w\�\¦\½\Ð\æ\]!]7]S]f]y]Œ]í]¯0Ÿ¨ùª«« «+«J«a«f«°$ÕÛkktk„k™k­k±ìz²Ý™ô™š0šBšTšfšyšŒšŸš²šÆš×šìšþš›$›.›A›T›^›q›„›Ž›¡›´›¾›Ñ›ä›î›œœœ1œDœ^œoœ“œªœ½œÒœâœòœ��$�6�H�Z�Œ�¡�¯�²$¶¼:¬C¬`¬e¬³\ÅÙ‰�’�¬�º�â�ð�Ž Ž1ŽFŽdŽˆŽ£Ž»ŽÀŽØŽûŽüŽ´ 38¾5Ç5Û5µ¹½¨J±JÅJ¶¾ÂÑJÚJîJ·DÊØ ·Èåþ 2?Rap¸…‰¥ˆ®ˆÊˆ¹y}ˆ"ˆ>ˆº8¨³h#hNhkhwh‹h•h­h»8œ§gˆg«gÄgÜgægh¼8�›ÍfÖfífg gAg\gsg½¨n2mBmkm‡m›m´mÎm×mn*nBn[n…nžn£nÍnænýnoo7oRoWonoŠo�o¨oÃoÈoßoûopp4p9pFpUpnpŠpšpŸp¬p»pØpôpq qq%qBq^qnqsq­qÄqØqÝqôqr r$r8r=rTrhrmr„r˜r�r¹rÞrss-sAs¾XÁÔ¢i«iÀiÒiïij*j>jPj_jzj¦j¼jÆjÜj¿<´À¹hÂhÖhçhi;idieixiŒi–iÀMQ”…�…Ä…ÁFaVakaÂd_u†.�.¸.Æ.Õ.ã.///+/8/f/v/™/¦/½/Ñ/Ã\J^e-|-—-©-·-Æ-Ô-Ú-ð-4.C.P.V.j.x.Ä %*X+a+†+µ+Å”$¦(¶(Ñ(å(ù()#)6)E)N)m)ƒ)™)Î)þ)'*F*V*f*z*°*Û*++$+K+ÆP8Ig,~,™,§,¶,À,ß,ñ,--#-3-H-W-Çhv�ß/ö/00+0:0H0b0s0Š0—0¨0¼0Ì0Ü0û011#1È<+7Á+Ñ+ì+ú+ ,, ,5,K,Z,É<¦²T¿d¿{¿œ¿¹¿Ö¿ó¿À-ÀJÀÊ]a„†�†´†ËHET +¹¹'¹>¹U¹i¹Š¹¡¹³¹Ë¹ê¹ºÌ@anκ׺뺻»1»I»[»z»–»Íð[ÔRaiazažaÌaØaÿab4bHbibŠb§bôbc+c?c[cˆc˜cžc¶cÆcácúcd?dVdldŽd¾dÞdûde,eTe�e”e¤eÂeÊeðeôe/f4fTftf”fºfËfÞfÿf/gXgig|gžgÏgÔgçg h:hGhrh„h°hÂhìh ii)i.iFivi†iŒi¬i¿i×iøi%j5j;jSjcj~j“j­jÉjäjkk-k;kÎ`œ±ëÉÊÊ:ÊNÊ`ÊoʃʤʪʵÊÁÊÙÊËLËaËnËÏ@Ž›ÉÉ4ÉHÉYÉgÉ{ɜɽÉÐÉÝÉÐhY>óGóaó{ó•ó¯óÉóãóýóô1ôKôeôô™ô³ôÍôçôõõ5õOõiõƒõ�õ·õÑõëõö ö9öSömö‡ö¡ö»öÕöïö ÷#÷=÷W÷q÷Ñ<8hOhUhbh{h�h–h§h¾hÓhÒ$æKýKL2L^LÓ$06NN.NYNfNÔ08AÖí&9FÕ@O\wَ٤ٹÙÒÙìÙÿÙÚÚ-Ú:ÚÖ ñ 7 Q ×ô"\.ÃEÃoÀâåÿÃÏÃçÃüÃÄÄ$ÄuÄ�Ä…ÄÃÄÏÄÓÄ ÅÅ(Å+ÅAÅYÅkÅpňŋšŦÅÀÅÅÅØÅôÅùÅ&ÆLÆSÆ[ÆdÆwƞƺÆÌÆØ �†{È’ÈÆÈÙÜ A™J°JÁJåJ÷JK K-KBKGKLKiK–K¹KäK LLQLfL{L“L«LÃLØLÞLóLMM2MJM^MrM‡M±MÅMÙMëMøMNÚ€³Ðûxyy,y>y]ysy‡y¦yÅyÝy +z&zTzgzšzÈzàzýz{d{ÛT ²_whw”wÁwÝw xxQxx—x´xÇxïxÜdrˆº8Ê8Ø8â8ï8ý8$959[9t9‹9£9·9Ä9É9Î9Ý0LU³¦¼¦Ý¦!§^§Þ˜n‘À%À7ÀyÀ‡À¯À½ÀÜÀùÀÁ'Á>ÁMÁˆÁ¢Á±ÁìÁÂ"Â0ÂyÂ�’ªÂÍÂâÂöÂÃߤ’¸(Ã1ÃCÅÓûÃÉÃèÃÄ$Ä<ÄYÄjÄ�Ä�ÄËÄåÄôÄ/ÅEÅeÅsżÅÐÅÕÅíÅÆ%Æ9ÆIÆàdvŒC"S"j"s"•"¦"«"Á"Ø"##,#X#l#~#‹#�#©#á¼JÚ–ñ–—2—?—â$17‘è¨è¶èíèûèã¼Ä0wÛ€Û¾ÛÒÛÜ(ÜGÜUÜ�ܼÜÓÜÿÜd݆ݷÝÔÝèÝ Þ'Þ9ÞJÞ…ÞÈÞÔÞWß\ߧߨß)à^à¾àÒàãàúàá:áWá±áÙáûá*âGâvâŠâ§â¬âÐâôâã@ã™ã·ãØãùã$ä8äOäfäkä—ä¨äãäfå{å€å©å®å·å?æPæ‹æççç7çºçÏçôçèè4è9èQètè�èäÔмE\n‚™©Íß 'W]wŒ¢¶Ää4h‰‘ª¿Ù ";Os‚–ª³ÀÆÓå$"(MMUx…˜ò| ¼]]>]\]z]”]�]¢]¨]¼]Á]Þ]^^ ^,^s^~^–^Á^ó0ˆ‘Jar� ³ôdq‡ÉàñINmrz~­²Ñäõ 27¦¯ÉöX¾ÑÏ^æ^÷^_'_<_O_Y_z_�_³_½_Õ_á_ ``7`÷ ˆ�ÐÈàÈ÷ÈøloㆥÈÙêü +[±Þ 7dvŽÊù|4e£|£Š£ž£¯£Ä£Ü£ô£ ¤¤1¤B¤Œ¤¦¤Ì¤Í¤â¤¥¥2¥H¥a¥f¥p¥}¥ú\Ýñ + ! 5 F T e w ‰ ¡ » ¼ à ö ¡¡¡+¡û˜ó9¡P¡d¡¡‘¡Ÿ¡°¡Â¡Ú¡õ¡¢1¢>¢C¢t¢�¢£¢¤¢È¢Þ¢÷¢ü¢£ £££-£:£ü( 353;3H3¢3±3ý( +¿3Ö3Ü3é3C4R4þŒ‚¢ö†ÿ†‡+‡9‡a‡o‡ƒ‡ˆ<ˆ`ˆ{ˆ¢ˆ³ˆLjäˆüˆ?‰`‰t‰ˆ‰š‰µ‰݉â‰ú‰Š+Šÿpާ11H1c1q1€1Ž1Ÿ1º1Æ1÷12202:2P2�2�2á2ò2ü2xœ·2®;®I®e®�®›®õ®d¯�¯†¯Ö¯5°b°’°§°¬°ǰÔ°ç°ì°±'±8±$×Ý©{²{Ç{W|k|(Þåw|€|”|§|À|Ð|,}…FˆOˆXˆjˆ|ˆ�ˆœa…ÚOñOPP5PYPƒP—P¨P´PÒP÷PNQ_QnQ�QªQ·QÔQèQüQ*RRR˜R®RÂRÔR÷RS1SDSWSkSô6Úñ*;?VqÁíÿ%)Upu›Éæê#/F–°;RlÀÚ*3€�‘¬°Ë  + ? P a | ‘ à Õ ä ø   ôºôkÆtÆ…Æ°ÆØÆæÆêÆÇÇÇÇ4ÇIÇdÇiǑǟÇÛÇßÇÈJÈ�ȡȿÈýÈÉcÉtÉxɫɯÉÑÉÙÉéÉÊ Ê$Ê8Ê=ÊeÊiÊŒÊ�ÊÃÊ×ÊúÊûÊËüö2"Ë+Ë<ËgË�Ë�ˡ˸˼ËÐËÔËëËÌÌ"ÌJÌX̘̻̔ÌÍ:ÍZÍxͶÍÐÍèÍ(ÎBΎΟΣÎÖÎÚÎüÎÏÏ/Ï4ÏOÏcÏhÏ�ϔϷϻÏîÏÐ%Ð&Ð2Ð<'3Öaßaóaôab"bJbb‰b™b  7<= T |  @ -í“ý“*”P”i”z”Ž” ”¸” P]nHÚ_ÚoÚÚ¸ÚÓÚçÚìÚÛÛ&Û Lo4ÛKÛiÛ§ÛµÛÕÛêÛùÛþÛÜ Ü.Ü !¶ÍíTå÷�¦µÅò)M’³Éõ<Ûò /bg�Ÿ­œ€¤<ÜSÜcÜ…Ü–Ü©ÜÂÜÜÜÝÝ<Ý@ÝGÝ]ÝhÝmÝ„Ý�ݴݸݿÝÕÝàÝîÝûÝx¢½ƒ@“@ž@°@Ä@â@ó@ø@aAA„A‰A¨A¼AêAB)BGBvB‚BX”§ˆ Ÿ à ×  -  ( H M u Š ¦ ³ Æ Ø $ÐÖ^­g­l­}­‚­´Ëõ¦w¶wÇwäw x x6xDxgx}xªxìxýx7yYy^y�y¾yáyïyz&z3zjzyz•zÖzîzD{N{4BLKm[m‚mœm°mÈmþmLèøV§f§§š§±§Ö§ê§þ§¨¨)¨=¨O¨mqt‡}‡§‡,&xa�a•a–a«aÀaÊa0%.6ƒ?ƒSƒ�ƒžƒ£ƒÁƒËƒœ8\0DXekr…аÄÊÑ-@P†¥Ñ*07;OTYL/?׃àƒôƒ„„%„L„M„`„t„�„ „ª„Á„´ºäýËÌÌBÌRÌbÌvÌ�̢̮ÌÌÌÚÌøÌýÌÍÍ;ÍOÍTÍ}ͯ͢ÍÊÍÏÍàÍ Î5ÎIÎz΋ΞμÎÑÎãΜ·Û½�Ô�è�ù� ž!ž2ž=žPžcžyž•žÃžåžòžŸ,ŸPŸhŸiŸ›Ÿ®Ÿ»ŸÏŸÙŸæŸ(N+ÒBÒHÒ[ÒÐÒÞÒéÒ -Ó�Ó�Ó¹ÓÊÓuÔ~Ô—ÔœÔÛÔùÔ Õ+Õ1Õ7ÕGÕeÕ‹Õ©Õ¼ÕÊÕÞÕóÕºÖÔÖìÖ××;×W×v×�×É×ìר'Ø>ØzØ�Ø»ØÚØñØÙ%ÙCÙ[ÙiÙ $kqOdXdldzd‹d (ÈÏ­­­,­=­B­!uyç‡ð‡ˆ"0BK'N>NZNaNxN§N´N#im8‡A‡h‡$X]pg~’£·ÅÓê.X]nŽœ%,em@ÇWÇmÇpǃǕÇ&,nv£ÇºÇÐÇÓÇøÇ -È',wÈ/ÈEÈHÈ[ÈmÈ(8_jyc‚c“c²cÈcÞcþcd&dCd)P‚“U -l -� -¤ -× -ì -õ -ÿ -' < I \ n *�åñÎÏKÏcωϣÏÏÏÐ#ÐEÐfИЫÐÙÐÞÐÑÑ3ÑUÑvѨѻÑÔÑÙÑìÑÒÒ+=�M�b�, #o��”�-D ß²ï² -³)³E³†³Â³í³e´v´.|9´´Ä´ß´ú´-µHµ\µ”µ¥µýµ¶I¶N¶_¶·¶Î¶··.·\·›·Ù·¸9¸Y¸/,¸ÀB±Y±…±’±¤±¶±ű0(æíÜ|å|!}G}\}1(]dÚÆêÆüÆ ÇÇ2`$ßhöhüh(i5iRi[iriwi™iªi¶iÍißiñijj34v��€�‰���©�Ø�ç�ì�40¾Çq¬�¬†¬«¬¼¬Ï¬ß¬5�£Ä1Š:ŠTŠbŠŠŠ˜Š¬ŠÇŠñŠ‹¬‹Ê‹î‹ÿ‹Œ0ŒPŒ“Œ´ŒÈŒÜŒîŒ �1�6�N�q��6LQavÒÒ�Ò’ÒºÒÈÒíÒ\ÓpÓuÓ�Ó°ÓÁÓ7LºÊ’v©vÀvÑvévøvwAw^w{w€w˜w8x¥À Þ Þ.ÞJÞQÞcÞwÞ|Þ”Þ¦Þ«ÞÆÞÞÞñÞß#ß5ß:ßLßfß~߃ß9lÁÙ‘ߨ߹ßÏß÷ßà à0àHàaàràwà|à�à¥à¯àÇàÚàéà:(­ôúUV%VIVdVxV”V£VÍVÕVèVòV.W ˆ�''Q'?0luåü < [ n � @(¹Àâ ù ;NA$ʱӱ걂²Ó²BHfÁoÁ�Á›ÁºÁÑÁïÁüÁÂ6ÂBÂGÂC, +ï“ÿ“,”R”k”|”�”¢”º” P]nHÚ_ÚoÚÚ¸ÚÓÚçÚìÚÛÛ&Û Lo4ÛKÛiÛ§ÛµÛÕÛêÛùÛþÛÜ Ü.Ü !¸ÏïTå÷‘¨·Çô+O”µË÷<Ýô1diƒ¡¯œ€¤<ÜSÜcÜ…Ü–Ü©ÜÂÜÜÜÝÝ<Ý@ÝGÝ]ÝhÝmÝ„Ý�ݴݸݿÝÕÝàÝîÝûÝx¢½…@•@ @²@Æ@ä@õ@ú@cA�A†A‹AªA¾AìAB+BIBxB„BX”§Š ¡ Å Ù  ! * J O w Œ ¨ µ È Ú $ÐÖ^­g­l­}­‚­´Ëõ¨w¸wÉwæwx"x8xFxixx¬xîxÿx9y[y`yƒyÀyãyñyz(z5zlz{z—zØzðzF{P{4BLMm]m„mžm²mÊmnLèøX§h§�§œ§³§ا짨¨¨+¨?¨Q¨mqt‡}‡§‡,&xa�a•a–a«aÀaÊa0%.6ƒ?ƒSƒ�ƒžƒ£ƒÁƒËƒœ8\2FZgmt‡Œ²ÆÌÓ/BRˆ§Ó +,29=QV[L/?׃àƒôƒ„„%„L„M„`„t„�„ „ª„Á„´ºäýËÌÌBÌRÌbÌvÌ�̢̮ÌÌÌÚÌøÌýÌÍÍ;ÍOÍTÍ}ͯ͢ÍÊÍÏÍàÍ Î5ÎIÎz΋ΞμÎÑÎãΜ·Û½�Ô�è�ù� ž!ž2ž=žPžcžyž•žÃžåžòžŸ,ŸPŸhŸiŸ›Ÿ®Ÿ»ŸÏŸÙŸæŸ(N+ÒBÒHÒ[ÒÐÒÞÒéÒ +Ó�Ó�Ó¹ÓÊÓuÔ~Ô—ÔœÔÛÔùÔ Õ+Õ1Õ7ÕGÕeÕ‹Õ©Õ¼ÕÊÕÞÕóÕºÖÔÖìÖ××;×W×v×�×É×ìר'Ø>ØzØ�Ø»ØÚØñØÙ%ÙCÙ[ÙiÙ $kqOdXdldzd‹d (ÈÏ­­­,­=­B­!uyç‡ð‡ˆ"0BK)N@N\NcNzN©N¶N#im8‡A‡h‡$X]pi€”¥¹ÇÕì0Z_p��ž%,em@ÇWÇmÇpǃǕÇ&,nv£ÇºÇÐÇÓÇøÇ +È',wÈ/ÈEÈHÈ[ÈmÈ(8_jyc‚c“c²cÈcÞcþcd&dCd)P‚“W +n +’ +¦ +Ù +î +÷ + ) > K ^ p *�åñÎÏKÏcωϣÏÏÏÐ#ÐEÐfИЫÐÙÐÞÐÑÑ3ÑUÑvѨѻÑÔÑÙÑìÑÒÒ+=�M�b�, #o��”�-D ß²ï² +³)³E³†³Â³í³e´v´.|9´´Ä´ß´ú´-µHµ\µ”µ¥µýµ¶I¶N¶_¶·¶Î¶··.·\·›·Ù·¸9¸Y¸/,¸ÀD±[±‡±”±¦±¸±DZ0(æíÜ|å|!}G}\}1(]dÚÆêÆüÆ ÇÇ2`$áhøhþh*i7iTi]itiyi›i¬i¸iÏiáióijj34v��€�‰���©�Ø�ç�ì�40¾Çq¬�¬†¬«¬¼¬Ï¬ß¬5�£Ä3Š<ŠVŠdŠŒŠšŠ®ŠÉŠóŠ‹®‹Ì‹ð‹ŒŒ2ŒRŒ•Œ¶ŒÊŒÞŒðŒ �3�8�P�s���6LQaxÒ�Ò�Ò”Ò¼ÒÊÒïÒ^ÓrÓwÓ�Ó²ÓÃÓ7LºÊ”v«vÂvÓvëvúvwCw`w}w‚wšw8x¥À Þ Þ.ÞJÞQÞcÞwÞ|Þ”Þ¦Þ«ÞÆÞÞÞñÞß#ß5ß:ßLßfß~߃ß9lÁÙ‘ߨ߹ßÏß÷ßà à0àHàaàràwà|à�à¥à¯àÇàÚàéà:(­ôüUV'VKVfVzV–V¥VÏV×VêVôV0W>WJWhW~W�W´WÍWòWXX3XUXmXˆXÂXÙXèXøXYY2Y?YLY]YlY‹Y¨YµYÒYZ$Z1ZlZœZùZ["[?[\[n[{[�[¡[¸[Ö[ì[\\'\;€�¬S–S SÌSïST6TGTVTuT’T¨TÎTU$U1UYUmUŠU�UºU×UéU<¤a‡•#¬#À#Ü#í#$$+$:$Ž$Å$Ô$ %;%P%U%f%w%Ì%Ú%õ% &&+&F&[&�&Ÿ&®&Â&Ï&ã&õ&=ØlŸžîµîÉîÝîÿîï,ïUïmïuïŽïœï·ï×ïìïñïðCð_ðqð�ðÂðâðúð +ñ(ñ`ñžñ¦ñàñûñò5òSòyò�ò°òÊòìòðòóó-ó> ˆ�''S'?0luçþ" > ] p ƒ @(¹Àä û  =PA$ʱӱ걂²Ó²BHfÁoÁ�Á›ÁºÁÑÁïÁüÁÂ6ÂBÂGÂC, p•‡•Ÿ••ՕD, ã•ú•–F–Y–E0g–~–––¹–Ì–Fxr�“dœd°däd eDete‘e®eÊeæef fff&f4fHf\fsfxf�f†f \ No newline at end of file diff --git a/LT/OSMain/OSINC.ASZ b/LT/OSMain/OSINC.ASZ index 89a3e7e..1d9d7af 100644 --- a/LT/OSMain/OSINC.ASZ +++ b/LT/OSMain/OSINC.ASZ @@ -181,6 +181,7 @@ TSS_ANSWERS_TYPES: DU4 8 DUP(?); TSS_ANSWERS_DISPLAYED: DU4 ?; TSS_DBG: DU4 ?; TSS_POPUP: DU4 ?; +TSS_LOCALCHNL: DU4 ?; TSS_RMTCHNL: DU4 ?; TSS_USER_AUX0: DU4 ?; TSS_USER_AUX1: DU4 ?; diff --git a/LT/OSMain/SYSTEXT.CPZ b/LT/OSMain/SYSTEXT.CPZ index 8b23a8fe02e5c9239d509a84bc30f7a11fd17aa8..71e1f0b4d3bdbb84c4bf7c0d45cda494898d03d3 100644 GIT binary patch delta 20 ccmdn1cu;Y}5l+UE$p^T^Hs9cU%Erh509q;srT_o{ delta 16 YcmX@8xL0w*5zfhiEFzn4b3SDQ06H}Wd;kCd diff --git a/LT/UTILS/GREP.CPZ b/LT/UTILS/GREP.CPZ index 15f0a0e..cbdb74f 100644 --- a/LT/UTILS/GREP.CPZ +++ b/LT/UTILS/GREP.CPZ @@ -173,7 +173,9 @@ public U8 FileOccurrences(I1 *pattern,I1 *wild=TEXT_FILE_MASK,I1 *flags="+r+i+l" LTDirEntry MCFindMatch(LTDirEntry *pattern,LTDirEntry *list) { while (list) { - if (!StrCmp(pattern->name,list->name) && pattern->attr==list->attr) + if (!StrCmp(pattern->name,list->name) && + (pattern->attr&~LT_ATTR_RESIDENT)== + list->attr&~LT_ATTR_RESIDENT) return list; list=list->next; } @@ -185,19 +187,23 @@ void MergeChkList(LTDirEntry *m1,LTDirEntry *m2,U8 *fuf_flags,U8 *df_flags) I8 i; LTDirEntry *tempm2; while (m1 && !(*df_flags & DF_ABORT_ALL_FILES)) { - tempm2=MCFindMatch(m1,m2); - if (!tempm2) - coutln "Does Not Exist:",m1->full_name; - else { - if (m1->attr & LT_ATTR_DIR) - MergeChkList(m1->sub,tempm2->sub,fuf_flags,df_flags); + if (!Bt(fuf_flags,FUf_JUST_TEXT_FILES) || + IsTextFile(m1->name) || + m1->attr & LT_ATTR_DIR) { + tempm2=MCFindMatch(m1,m2); + if (!tempm2) + coutln "Does Not Exist:",m1->full_name; else { - i=m1->datetime-tempm2->datetime; - if (AbsI8(i)>LTDATE_FREQ*2) { //Filedates can shift due to conversion - coutln m1->full_name; - if (Bt(fuf_flags,FUf_DIFF)) { - if (IsTextFile(m1->full_name)) - *df_flags=Diff(tempm2->full_name,m1->full_name,*df_flags); + if (m1->attr & LT_ATTR_DIR) + MergeChkList(m1->sub,tempm2->sub,fuf_flags,df_flags); + else { + i=m1->datetime-tempm2->datetime; + if (AbsI8(i)>LTDATE_FREQ*2) { //Filedates can shift due to conversion + coutln m1->full_name; + if (Bt(fuf_flags,FUf_DIFF)) { + if (IsTextFile(m1->full_name)) + *df_flags=Diff(tempm2->full_name,m1->full_name,*df_flags); + } } } } @@ -206,9 +212,13 @@ void MergeChkList(LTDirEntry *m1,LTDirEntry *m2,U8 *fuf_flags,U8 *df_flags) } } -public void MergeChk(I1 *dst_mask,I1 *src_mask,I1 *flags="+r") -//r=recurse -//d=diff +public void MergeChk( + I1 *dst_mask="/LT/*", + I1 *src_mask="/LT/*", + I1 *flags="+r") +//+r=recurse +//+d=diff +//+t=just text files { U8 df_flags=0; LTDirEntry *tempm1=NULL,*tempm2=NULL; @@ -223,48 +233,164 @@ public void MergeChk(I1 *dst_mask,I1 *src_mask,I1 *flags="+r") } +I1 *red_st="$$FG RED$$",*green_st="$$FG GREEN$$"; -void CommMergeChkList(U8 port,LTDirEntry *m1,LTDirEntry *m2,U8 *fuf_flags,U8 *df_flags) +void RmtMergeChkList(TssStruct *tss,LTChnl *chnl,LTDirEntry *m1,LTDirEntry *m2,U8 *fuf_flags,U8 *df_flags,I1 *cur_dir) { I8 i; LTDirEntry *tempm2; + I1 *full_name,*c1,*c2; while (m1 && !(*df_flags & DF_ABORT_ALL_FILES)) { - tempm2=MCFindMatch(m1,m2); - if (!tempm2) - coutln "Does Not Exist:",m1->name; - else { - if (m1->attr & LT_ATTR_DIR) - CommMergeChkList(port,m1->sub,tempm2->sub,fuf_flags,df_flags); - else { - i=m1->datetime-tempm2->datetime; - if (AbsI8(i)>LTDATE_FREQ*2) { //Filedates can shift due to conversion - coutln m1->name; - if (Bt(fuf_flags,FUf_DIFF)) { - if (IsTextFile(m1->name)) - *df_flags=Diff(tempm2->name,m1->name,*df_flags); + if (!Bt(fuf_flags,FUf_JUST_TEXT_FILES) || + IsTextFile(m1->name) || + m1->attr & LT_ATTR_DIR) { + tempm2=MCFindMatch(m1,m2); + if (!tempm2) { + coutln "Does Not Exist on Remote:",m1->name; + full_name=MAlloc(StrLen(cur_dir)+1+StrLen(m1->name)+1+1); + StrCpy(full_name,cur_dir); + StrCat(full_name,m1->name); + } else { + full_name=MAlloc(StrLen(cur_dir)+1+StrLen(tempm2->name)+1+1); + StrCpy(full_name,cur_dir); + StrCat(full_name,tempm2->name); + } + if (m1->attr & LT_ATTR_DIR) { + if (!tempm2) { + if (PopUpNoYes("MkDir on Remote?")) { + XTalk(tss,"MkDir(\"%s\");\r",full_name); + chnl->null_msg_cnt=0; + while (chnl->null_msg_cnt<2) + SwapInNext; + } + } + StrCat(full_name,"/"); + RmtMergeChkList(tss,chnl,m1->sub,tempm2->sub,fuf_flags,df_flags,full_name); + } else { + if (tempm2) { + i=m1->datetime-tempm2->datetime; + if (AbsI8(i)>LTDATE_FREQ*2) { //Filedates can shift due to conversion + if (i<0) { + c1=red_st; + c2=green_st; + } else { + c1=green_st; + c2=red_st; + } + PrintF("%s%h2D %h4T$$FG$$ %s%h2D %h4T$$FG$$\r\n %s\r\n\r\n", + c1,m1->datetime.date,m1->datetime.time, + c2,tempm2->datetime.date,tempm2->datetime.time, + m1->full_name); + if (PopUpNoYes("Sync?")) { + if (i<0) + XTalk(tss,"RmtRqstRxFile(\"%s\",\"%s\");\r", + full_name,m1->full_name); + else + XTalk(tss,"RmtRqstTxFile(\"%s\",\"%s\");\r", + full_name,m1->full_name); + chnl->null_msg_cnt=0; + while (chnl->null_msg_cnt<2) + SwapInNext; + } + } + } else { + if (PopUpNoYes("Sync?")) { + XTalk(tss,"RmtRqstTxFile(\"%s\",\"%s\");\r", + full_name,m1->full_name); + chnl->null_msg_cnt=0; + while (chnl->null_msg_cnt<2) + SwapInNext; } } } + Free(full_name); } m1=m1->next; } } +public void RmtMergeChkHost(I1 *dst_mask="/LT/*",I1 *flags="+r") +{ + LTDirEntry *tempm; + U8 size; + U1 *buf; + FlagsStruct f; + GetFFlags(&f,"ST_FILE_UTIL_FLAGS",flags); + tempm=FindFiles(dst_mask,&f.on); + buf=FlattenLTDirTree(tempm,&size); + RmtRqstRxBuf(buf,size); + Free(buf); + DelLTDirList(tempm); +} -//$BK,1$Not Done$BK,0$ -public void CommMergeChk(U8 port,I1 *dst_mask,I1 *src_mask,I1 *flags="+r") -//r=recurse -//d=diff +I1 *Progress1CB(Ltf *l,Ltf *user_data,LtfEntry *ll,TssStruct *mem_tss) +{ + I1 *st=MAlloc(16,mem_tss); + SPrintF(st,"%08X",progress1); + return st; +} + +public void RmtMergeChk(LTChnl *chnl, + I1 *dst_mask="/LT/*", + I1 *src_mask="/LT/*", + I1 *flags="+r+t") +//+r=recurse +//+d=diff +//+t=Just text files { U8 df_flags=0; LTDirEntry *tempm1=NULL,*tempm2=NULL; FlagsStruct f; + TssStruct *tss; + I1 *st,*st2; + Ltf *aux; + LtfEntry *ll; + + if (!chnl || !chnl->type) return; GetFFlags(&f,"ST_FILE_UTIL_FLAGS",flags); coutln "WARNING:This is based strictly on file dates."; - tempm1=FindFiles(src_mask,&f.on); - tempm2=FindFiles(dst_mask,&f.on); - CommMergeChkList(port,tempm1,tempm2,&f.on,&df_flags); - DelLTDirList(tempm1); - DelLTDirList(tempm2); + if (tempm1=FindFiles(src_mask,&f.on)) { + tss=Spawn(&UserCmdLine); + while (!Bt(&tss->task_flags,TSSf_IDLE)) + SwapInNext; + tss->window_top=Fs->window_top; + tss->window_bottom=(Fs->window_top+Fs->window_bottom)>>1-1; + Fs-> window_top=tss->window_bottom+3; + tss->window_right=Fs->window_right; + tss->window_left=Fs->window_left; + WindowToTop(Fs); + XTalk(tss,"TelnetGuestOpen(0x%08X);\r",chnl); + + aux=tss->aux_ltf; + LtfPutS(aux,"$$CM+BY,0,0$$"); + ll=LtfPutS(aux,"$$TX+DC+RD+LX+IV,\"00000000\"$$"); + ll->display_cb=&Progress1CB; + + XTalk(tss,"RmtMergeChkHost(\"%s\",\"%s\");\r",dst_mask,flags); + chnl->null_msg_cnt=0; + while (chnl->null_msg_cnt<2) + SwapInNext; + tempm2=UnflattenLTDirTree(chnl->rx_buf); + st =MAlloc(StrLen(dst_mask)+3); + st2=MAlloc(StrLen(dst_mask)+3); + StrCpy(st,dst_mask); + RemoveLastSeg(st,"/",st2); + if (!*st) { + Free(st); + st=NewString("./"); + } else + StrCat(st,"/"); + + RmtMergeChkList(tss,chnl,tempm1,tempm2,&f.on,&df_flags,st); + Free(st); + Free(st2); + DelLTDirList(tempm1); + DelLTDirList(tempm2); + XTalkString(tss,"Msg(MSG_KEY_DOWN,CH_CTRLB,SCF_CTRL+SCF_ALT);"); + Fs->window_top=tss->window_top; + Sleep(250); //allow shutdown of Guest channel + Kill(tss); + } } + \ No newline at end of file