u} [<t@S>tƀr[>t6rRushOS x86 aug 201416/32bitASM Power!Loading ERR# @U` ` RUSH ,8UNREAL COM a}8}8A_g8BOOT2 COM UB ,8,8 ,8 INFO COM  ,8,8 ,8 CPUZ COM f.8.8f.8 EXT COM Gu9898i.8CPUTEMP COM L<8<8i.8 Init.com؎$@HT  H0$@g@HP)$P $Ph$PP `$`@o$ `P0d)d5`fPdfX ` d'fdtfduô&f3ff @"ێH"@yWl&p&rprv(00f`f`ؾ>|`ظ faf3pq$0$0&&:&f3pq$0$0&&ع <tIFufaOfaX[ PS  <tø|؎>t<r>t$6rþþz@øSPSSSSYSSError reseting controller Error loading sector(s) Bootloader stage 2 Loading data... Enabling Gate-A20 line Entering flat-real mode Done,4Gb limits set. Hooking interrupt 1ch vector Enabling power management Starting prompt... Prompt.com؎# & c$N#<8tR<2tt<6<4<!# GËt!tGtX%tw1oZW1 Xdlrx|}tkbYPG>5,>t K&&&p&r#|&&&p&r#00 7&&&p&r" #|#|RushOS is now booting HDD0([#! #0<tø|؎@ظS$>$t$#r[$>$l$" #ry gZ SSSRushOS is now shutting down... SSSEntering suspended mode... [RushOS is now restarting... Rush x86 Prompt v0.89c loaded FAT12 and i386 optimized CPU COM port VGA VGA Others CPUZ.com Server.com Bitmap.com Draw2.com Led.com Controls EXT.com Client.com Bitmap2.com Draw3.com Cmosclr.com 8 CPUext.com VGAtest.com Draw4.com Mem_map.com 4 6 CpuTemp.com Fillrate.comLoadbar.com Pmode.com 2 Test.com Draw.com Textread.com Cpuidle h - help r - restart d - disable debug mode i - info u - suspend q - quick boot b - boot hdd s - shutdown w - writedsk RushOS x86 is a collection of programs written in assembly. It is not a real operating system but more like a diagnostic tool. For maximum compatibility the code is optimized for 16bit i386. Select which program you want to run using the numeric pad and press ENTER.Use ESCape to switch betwen applications. Use the letters for the special commands. Rush OS can be run on virtual platforms like VMware,Qemu or VPC, but it is not recomended for some anomalies tend to apear. For suggestions and bugs e-mail me at zael26@yahoo.com.Loading error Task.com؎D&  "N[Ed o1zjZJؾ>- ؾ!0ؾؾEIa<6t<4t2GIGEGGƱG>GIGH )[RushOS is now restarting...<tø|؎TASK Manager16/32bitRushOS x86ESC key capturedSwitch toReboot System MEMORY PROGRAM0000:7C00 -> Boot sector1000:0100 -> 2000:0100 -> 3000:0100 -> 8000:0100 ->  Info.com؎x?y*2%mx00<tø|؎ Rush OS x86 memory model 0000:7c00h -> Boot.com (MBR) 1000:0100h -> Init.com (bootloader stage 2) 2000:0100h -> Task.com (Task Manager) 3000:0100h -> Prompt.com 4000:0000h -> 256KB FDD image containing programs and data up to 7000:FFFFh 8000:0100h -> Programs loaded by Prompt.com from the FDD image 9000:0000h -> 64KB stack up to 9000:FFFF - Total mem used by Rush OS : 512 KB - How it works Boot.com -> loads first 18 KB of the fdd(disk) image at 4000:0000, sets up at 1000:0100 init.com and starts executing it Init.com -> loads the next 238 KB of the fdd(disk) image starting at 4000:4800 up to 7000:FFFF, sets up in memory prompt.com and task.com, enables Gate-A20 line,switches the CPU to Flat REAL Mode, hooks interrupt vector 1ch and enables APM, then jumps at 3000:0100 and starts executing prompt.com Task.com -> is the tash manager,switches betwen applications Prompt.com -> moves the selected program from segment 4000 to 8000:0100 and jumps there,starting the execution of the program *Note : Because the programs are all .com they must be loaded to memory locations like xxxx:0100 - ASM Power ! - Rush OS is fully programmed in ASM Used assembler : TASM 5.3 Instruction set : 16/32 bit x86 Supported CPU(s) : i386 or newer *Rush OS is Open-Source* CPU history (1978) 8086 and 8088 Processor 16 bit (1982) Intel 286 Processor 16bit (1985) Intel 386 Processor 32 bit (1989) Intel 486 Processor 32 bit (1993) Intel Pentium Processor 32 bit (1995) Pentium PRO/II/III Processors 32 bit (2000) Intel Pentium 4 Processor 32 bit (2006) Core and Core Duo Processors 32 bit (2007) Core 2 Solo, Duo and Quad Processors 64 bit (2010) Core i3, i5 and i7 Processors 64 bit **NEWS** 27.08.2014 v0.89c, Added Cpuidle 01.07.2014 Changed the MBR code, added partition table entries 15.04.2014 v0.89b, added more VGA tests 06.02.2014 v0.88b, changed memory layout, added cpuext and a memory debugger 08.01.2014 v0.87b, included VGAtest2 and Loadbar 25.04.2008 BMP implementation in Bitmap and Bitmap2 08.04.2008 VESA SVGA implemented in VGAtest 25.02.2008 Task Manager implemented 10.02.2008 Changed bootloader + starting work on Task Manager 28.01.2008 Rush OS 0.85b released!Partiall FAT implementation successfull (33%) 19.12.2007 Added some fixes to CPUZ + decreased requirements of CPU from i586 to i386 12.11.2007 Trying to implement VESA SVGA 06.11.2007 Rush OS 0.84b released! added info about the internal structure of Rush OS alies tend to apear. For suggestions and bugs e-mail me at zael26@yahoo.com.Loading error CPUZ.com؎ffXff5 fPfffXf;u ffpffxpxffPfhfpfxfh^pXxRLfXf@f=~fff%%%%0 ffAuthtfGenut%%%% f32f3uf3Dcf3#Qf3uf3ftJU2>t>t> td{ ffAuthtfGenuf1ff.f633۠ãffvf3df3 Rf3v!@f3d4.%7[00<tø|؎ff ffP0fXftݾ6<t CPU info v0.74b dec 2007 for i586 Vendor ID string: Processor Name string: CPU Info Family : Model : Stepping : EXT_Family : EXT_Model : CPU type : Original OEM processorOverDrive processorDual processorUnknown or Intel reserved Number of cores : Cahe Info L1 Data Cache : KB L1 Cache : KB L1 Instr Cache : KB L2 Cache : KB *NOT supported yet on Intel CPUs Family AMD Intel 4 Am486,Am586 Intel486 DX/SX 5 K5,K6,K6-2,K6-III Pentium,Pentium MMX 6 K7(Athlon,Duron) Pentium Pro/II/III,Core1/2 7 Intel Itanium (IA-64) F K8(Athlon64,Opteron) Pentium 4,Intel Xeon,Intel Celeron *Designed for AMD processors* CPUID not supported by microprocessor EXT.com؎ ffXff5 fPfffXf;u ffffffffPfrfzffrzfXf@f=~žyf@ffffSf fv@f fc-ffPff=#ff*,f@f8ffEf@fUff^ffhffrff}off\ffIffl6ffY#f fF00<tø|؎ft   CPU features v0.41b feb 2014 IA-64 : Intel VMX : AMD64/EM64T : AMD SecureVM : HTT : NX/XD : FPU : MMX : MMX(+) : 3D Now! : 3D Now!(+) : SSE : SSE2 : SSE3 : SSSE3 : SSE4.1 : SSE4.2 : CMPXCHG8 : CMPXCHG16B : Yes No *Designed for AMD processors*CPUID not supported by microprocessor o Family : Model : Stepping : EXT_Family : EXT_Model : CPU type : Original OEM processorOverDrive processorDual processorUnknown or Intel reserved Number of cores : Cahe Info L1 Data Cache : KB L1 Cache : KB L1 Instr Cache : KB L2 Cache : KB *NOT supported yet on Intel CPUs Family AMD Intel 4 Am486,Am586 Intel486 DX/SX 5 K5,K6,K6-2,K6-III Pentium,Pentium MMX 6 K Cpuext.com؎#bffXff5 fPfffXf;u ff^ff^ff^nff^u[ff^bHff^O5f f^<"f@f^)ff^ff^ff^ff^ ff^ff^f f^&f@f^/mff^t9Zff^aBGff^NN4ff^;W!ff^(cff^qf f^yf@f^ff^ff^ff^ff^ff^lff^sYf f^`Ff@f^M3ff^: K00<tôft Ø P0X0ø|؎ CPU Extension Viewer v0.2b nov 2005 i586 /32 Extensionsbit 0 FPU 1 VME 2 DE 3 PSE 4 TSC 5 MSR 6 PAE 7 MCE 8 CMPXCHG8 9 APIC 10 Reserved 11 SEP 12 MTRR 13 PGE 14 MCA 15 CMOV 16 PAT 17 PSE-36 18 PSN 19 CLFSH 20 Reserved 21 DS 22 ACPI 23 MMX 24 FXSR 25 SSE 26 SSE2 27 SS 28 HTT 29 TM 30 IA-64 31 SBF Yes No  CPUID not supportedL1 Cache : KB L1 Instr Cache : KB L2 Cache : KB *NOT supported yet on Intel CPUs Family AMD Intel 4 Am486,Am586 Intel486 DX/SX 5 K5,K6,K6-2,K6-III Pentium,Pentium MMX 6 KCPUtemp.com؎>ffXff5 fPfffXf;u %ff:?aff:yff:off:\f f:Iff:l6ff:Y#f@f:FK>00<tø|؎ft   CPU Power Management Features Temperture sensor TermalTrip control Hardware thermal monitor Software thermal control Frequncy ID control Voltage ID control 100 Mhz multiplier Control Yes No CPUID not supported by microprocessor *Designed only for AMD processors* 3 PSE 4 TSC 5 MSR 6 PAE 7 MCE 8 CMPXCHG8 9 APIC 10 Test.com؎z<1t <2t4f{ffff1f{ffff!=f3f{f@f;uf3f3ۋ‹+HGfff;uf3f3ۋ‹+ mgffnn~f;uDf3f3ۋ‹+*ffff@f;uf3f3ۋ‹+Rffff@f;uf3f3ۋ‹+Kz00<tø|؎ôÙRPf3X.f3Xsff ffP0fXftݾ6<tô CPU tester v0.5b for i586 nov 2007 1 - quick test for slow cpu(s) 2 - normal test for cpu(s) faster that 2GHZ TEST 1 - CPU ADDitions Testing... TEST 2 - FPU ADDitions Testing... TEST 3 - MMX ADDitions Testing... TEST 4 - FPU Square Root Testing... TEST 5 - FPU MULtiplications Testing... Processor TEST1 TEST2 TEST3 TEST4 TEST5 Athlon64X2 @ 4,2+ 3.17s 3.80s 4.16s 3.17s 3.17s Sempron64 @ 2,8+ 5.70s 4.13s 6.14s 5.70s 5.80s Pentium3E @ 550 15.14s 13.10s 15.14s 120.1s 567.1s *Celeron @ 366 23.15s 19.11s ?????s 164.3s ?????s *AMD K6-2 @ 300 43.00s ?????s ?????s ?????s ?????s *Note:The frequency is in Mhz,not Ghz Intel 4 Am486,Am586 Intel486 DX/SX 5 K5,K6,K6-2,K6-III Pentium,Pentium MMX 6 KCpuidle.com؎`$a`00<tø|؎ CPU Idle Low power state C1 activated through hlt loop Stops CPU main internal clocks Bus interface unit and APIC are kept running at full speed Supported CPU(s) : 486DX4 and above Press esc key to quit*ffff@f;uf3f3ۋ‹+Rffff@f;uf3f3ۋ‹+Kz00<tø| Server.com؎<1|<92.1'U<t3Ātiq2c>gq>quV^c>kq2c>gq>quVk^c>mkq2c>gZq>qu `00|؎OPظ Error reciving info Server has left Quitting... Quitting...z00<tø|Bitmap3.com؎<OP& =P&AAP&C+AEG6=A>GKeA>EK>Ku>E+G?Vn^A+?kK4A>EZK>Ku <00|؎OPظPظ Error reciving info Server has left Quitting... Quitting...z00<tø|VGAtest.com؎yk}OCb}cOE@.p)` P0q@l@[ID 20-p| w`fTO=8 &0!Oq zhcQL:5 #b@   SOkl>uHI>u%&>uO>u>u>u> ude>(u 00<tø|؎Oÿ TEST 1 - 320x200 8 bits (256 colours) 32.000 Bytes 32KB TEST 2 - 320x200 8 bits (256 colours) 32.000 Bytes 32KB TEST 3 - 640x480 16 bits (65k colours) 614.400 Bytes 614KB TEST 4 - 640x480 16 bits (65k colours) 614.400 Bytes 614KB TEST 5 - 800x600 16 bits (65k colours) 960.000 Bytes 960KB TEST 6 - 1024x768 16 bits (65k colours) 1.572.864 Bytes 1.572KB TEST 7 - 1280x1024 16 bits (65k colours) 2.621.440 Bytes 2.621KB Press any key to start tests...Fillrate.com؎Olp0q0p&qp &qr.stlf3&~<1t<2t%<3t.<4t7<5t@= .(OOU9u׊00<tø|؎ff ffP0fXftݾ6<t 64KB mem blocks : Fillrate test using VESA 2.0 1 320x200 16 bit CGA 2 640x480 16 bit VGA 3 800x600 16 bit SVGA 4 1024x768 16 bit XGA 5 1280x1024 16 bit SXGAO=8 &0!Oq zhcQL:5 #b@    Draw.com؎X$"YX00OàY&~<1t<2t%<3t.<4t7<5t@= .(OOU9u׊00<tø|؎ff ffP0fXftݾ6<t 64KB mem blocks : Fillrate test using VESA 2.0 1 320x200 16 bi Draw2.com؎n9p i 1 p>puo״n00Oào1t<2t%<3t.<4t7<5t@= .(OOU9u׊00<tø|؎ff ffP0fXftݾ6<t 64KB mem blocks : Fillrate test using VESA 2.0 1 320x200 16 bi Draw3.com؎j5 3   j00Oàk1t<2t%<3t.<4t7<5t@= .(OOU9u׊00<tø|؎ff ffP0fXftݾ6<t 64KB mem blocks : Fillrate test using VESA 2.0 1 320x200 16 bi Draw4.com؎i R>@D>ǀ6>(>>@ >ǀ>4u{>>@>ǀ>>>2u {>f>@X>ǀJ><>.>2u00Oàocks : Fillrate test using VESA 2.0 1 320x200 16 bi Led.com؎0wof^`VNPF>눊00<tø|؎Ü< t  @ LED tester This is a test program for the KBD LEDs. It writes directly to BIOS memory location 0000:0417h activating the Num Lock,Caps Lock,and Scroll Lock LEDs. Space to quit.àocks : Fillrate test using VESA 2.0 1 320x200 16 biCmosclr.com؎* Bpqtezweenb\ Note:Designed for AWARD BIOSes Examining CMOS password bit ... Indicated values : -> CMOS supervisor password already Disabled ->CMOS supervisor password Enabled Reset password (y/n) Password bit cleared Reset aborted. Press any key to continue0 16 bit SVGA 4 1024x768 16 bit XGA 5 1280x1024 16 bit SXGAO=8 &0!Oq zhcQL:5 #b@   Mem_map.com؎<W<0td<1tg<2tj<3tm<4tp<5ts<6tv<7ty<8t|<9ttt<tort>tt$trp6sorþvþ<t Error reseting controller Error writing sector(s) Experimental disk writer 0.1 july 2014 ! WARNING ! sectors will be written to the disk ! Data could be lost ! Press 'y' if you understand and agree, or 'n' if you do not want to continue : Select where you want to write the image : 0 - FDD 1 - HDD q - abort Select FDD 0 - FDD0, 1 - FDD1, q - abort Select HDD 0 - HDD0, 1 - HDD1, q - abort If no error code was given, write was a success.zhcQL:5 #b@    BMF8ev`` !!!!!!!#!!#)$)$)#)#)$)$)D)D)D)D)D1D1d)d1d1d1d1d1d1d111e111119911991999999199999999999999999A999999999999999999A9999999999999999999991991191199111111d1d1d1d1d1e1d1d)d1d1D1D1d1d1D1D1D1D)D)D)D)D)D)D1$)$)$)$)#)$)$)$)))))!!!!!!!!   !!!!!!#)#)#)$)$)$)D)D)D)D)D)D1D1D1d1d1d1d1d1d1d1d111111999999999999999999999999999999A99AAA9AAAAAAA9AAA9AAAAAAAAA9AA999999999A99999999999991919919111111e11e1e1e1d1d1e1d1d1d1d1d1d1D1D1D1D1D)D1D1D1D)D)$)$)$)$)$)$)$)#)#)#))))!!!!!! ! !   !!!!!)))#)$)$)$)$)D)D)D)D)D)D1d1d1d1d1d1d1d1d111119119999999999999A99A9AA99AA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAA9AAA9999999999999999999999991111e9e1d1d1e1d1d1d1d1d1d1D)D1D1D)D)D)D)D)D)$)$)$)$)$)#)$)#))#))!!!!!!!!!   !!!!#!#!$)$)$)#)$)D)D)D)D1D1D1d1d1d)d1d1d11d11111999919999999999A99AAAAA9AAAAAAAAAAAAAAAAAAAAIAAAIIAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAA9AAA99A999A999999999999919999e99e111e1e11d1d1d1d1d1d1d1d)d)D1D1D)D1D1D)D)D)$)$)$)$)#)#)!)))!!!!!!!  !!!!!)$)$)$)$)$)C)D)D)D)D1d1d)d1d11d1d11d111119119999999999AA99AAAAAAAAAAAAAAAAAAAIAIIAIIIIJJIIBJJJJJJIJJJJIIIIIIIJJAIIIIAAAIIAAAAAAAAAAAAAAAAA9A999999999999999999999119e11111d1d1e1d1d1d1d1d1d1D1D1D)D1D1D)D)$)D)$)$)$)$)#)#)#))#)))!!!! !!!!!)#!)$)$)$)$)$)D)D)D1D1d1d1d1d1d1d111911119999999999AA9AAAAAAAAAAAAAAAJIIAIJBIJJJJIJJJJJJ'JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJIIIBAIAAAAAAAAAAAAAAAA99999999999999999999991991e1e1e1d9d1d1d1d1d1D1D1D1D)D)D1D)$)$)$)$)$)$)#))))#)))!!! ! !!!!!#)#)#)$)$)D)D1D1D)D1d1d1d1d1d1d1119199999999999AAAAAAAAAAAAAAAIAIJAIJJJJJIJJJJJJJJJJJ'J'JJJJ'J'J'J'J'J'JJ'J'R'J'J'J'J'J'J'J'J'J'J'J'JJJJJJ'JJJJJJJJJJJJJIJJJIIIAIAAAAAAAAAAAAAAAA99A9A999999999999999999111d1d1d1d1d1d1d1d1D1D1D)D)D)D)D1$)$)$)$)$)#)#)))))))!!!!! !!)#)$)$)$)$)$)D)D1D)D1D1d1d1d11d111999199999999AAAAAAAAAAABAIBIIJIJJJJJJJJJJJJ'J'J'J'J'J'J'J'J'J'J'J'J'J'R'R'JGRGRGRGRGRGRGRGR'J'R'R'R'R'R'R'R'R(R'R'R'R'R'J'J'J'R'R'R'J'J'J'J'JJJ'J'J'JJJJJJJJJJJIIIIIAAAIAAAAAAAAAAAAAAAAA99A999999999991191e9e1d11d1d1d1d1D1D1D1D1D)D)$)D)D)D)#)$)$)$))$)))#)!!!!! !#)$)$)$)D)D)D1D1d1d1d1d1e1e1111999999999A9AAAAAAAAAAAAAIIJJJJJJJJ'JJJ'J'J'J'J'J'J'J'J'R'J'RHR'R'R'RGRGRHRHRHRHRHRHRHRHRHRHRHRHRHRHRHRhRHRHRHRHRHRHRHRHRHRHRHRHRHRHRHRHRHRHRGRHRGRGRGRHR'R'R'R'J'R'R'J'J'J'JJ'JJJJJJJJJJJJIIIAAAIAAAAAAAAAAAAAAAA9999999999999991191d1d1d1d1d1d1d1D1D1D)D)D)D1D)D)D)$)$)$)$)#)#)))!!!! $)#)$)$)D)D1D1D1d1d1d1d1d11999999999999AAAAAAAAAAAIIJJJJJJJJJ'J'J'J'J'J'R'J'J'R'R(RGRGRHRHRHRHRHRHRHRHRhRHRHRHRhRHRhRhRhRhZhRhRhZHZhRhZhZhRhRhZhRhRhRhRhRhRhRhRhRhRhRhRhRHRhRhRHRHRHRHRHRHRHRHRHRHRHRHR(RGRGR(R'J'R'J'J'J'J'JJJJJJJJJJJJIIJAAIIIAAAAAAAAAAAAAAAAA99999999999999991d1d1d1d1d1D1D1d1D1D1D1D)D)$)$)$)$)$)$)#)$))!))D)$)D1D1d)d1d1d111119999999999AAAAAAAAIIIJJJJJJJ'JJJ'J'J'R'JGR'RGR'R'RGRHRHRHRHRHRHRHRHRHRHZHRhRhRhRhZhZhZhZhRhRhZhZhZZhZhZZhZhZZiZhZZZZZhZhZhZZhZhZhZZhZhZhRhZhZhZhZhZhZhZhZhRhRhRhZhRhRHRHRHRhRHRGRHRHRHRHR'R'RGR'J'R'J'J'J'J'JJ'J'J'JJJJJJ'JJJIJJJBAIIAAAAAAAAAA9AAA999999999999911e11d1d1d1d1d1D1D1D1D1D)D)D1D)$)$)#)$)$))!)D)D)d1d1d1e1e111999999999AAAAAAAAAJJIJB'J'JJJ'J'J'J'JGRGR'R'RHRHRHRHRHRHRHRHRHRHRHRHZhRhRhRhZhZhRhZhZhZhZhZhZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZhZiZhZhZhZhZhZhRhRhRHRHRhRHRHRHRHRHRHRHRHRGRHR'J'R'J'J'R'J'J'JJJJJJJJJJJIIIAIIIAAAAAAAAAAAAAA9999999999199d1e1d1d1d1d1d1d1D1D1D)D)D1D)D)$)$)$)$)#)#)d1d1d111119999999AAAAAAABBJIIJJJJ'J'J'J'J'J'R'R'JGRHRHRHRHRHRHRhRhRhRhZhZhZhZhZhZhZhZhZhZZZZZZZZZZZZZZbZZZbbbbbbbZbbbbZbbbbbZZbbZZbbbZZZZZZZZZZZZZZZZhZhZhZhZhZhZhZhZhRhRHRHRHRHRHRHRHRGRHR'R'R'R'R'R'J'J'J'RJJJJJJJJJJJIIJIIAAAAAAAAAAAAA999999999999d9d9d1d1d1d1d1d1d1d1D1D1D1D)D)D)$)$)$)e19119999999AAAAAAABBBJJJJJ'J'J'J'J'R'R(RGRGRHRHRHRHRHRhRhRhZhRhZhZhZZhZZZZZZZZZZZZZbbZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZbbbbbbbbbZZZZbZZZZZZZZZZZZhZZZhZhRhZHZHRHZHRHRHRHRHRHRHRHR'RHRHR'R'R'R'J'J'J'RJ'JJJJJJJJJIIAAIAAAAAAAAAAA9A99999999919e11e1d1d1d1d1d1D1D1D1D1D)D)$)999999AAAAAAAABBIIJJJJ'J'J'J'R'RGRGR(RHRHR(RHRhRhRhRhRhRhZhZhZiZZZZZZZZbbbZZbbbbbbbbbbbbbbbbjjbbbjjjjbbjbbbbbbbbjjbjbjbbbbbbbbbbbbbbbbbbbbbbbZbZZZZZZZZZiZhZhZhZhZhRhRhRhRHRHRHRHRHRHRHRHRGR'R'R'R'R'R'J'J'J'J'JJJJJJJJIJIAAAAAAAAAAA99A99999999991e9e9e1d1d1d1d1d1D1D1D1D19999AAAAAAABIJJJJJJ'R'R'JHRHRHRHRHRhRhRhRhRhRhZhZhRhZZiZZZZZZZZbbbbbbbbbbbbbbbbbbjjbbjjjjjjjjjjjjjjj kjjjjjjjjjjjjjjjjjbjjbbjjbbbbbbbbbbbbbZbbbbbZZZZZZZZZZhZhZhZhZhZhRhRhRhRhRHRHRHRHRHRHRHRGJGRGR'R'J'J'J'J'JJJJJJJJJIIIIAAAAAAAAAAA9999999999e99e1d1d1d1d1d1D1D1d1999AAAAAAJJ'J'JJJ'J'J'R'RHRHRHRhRhRhRhRhZhZhRhZZZZZZZZZbbbbbbbbbbbjbbjjbbjjjjjjjjjj kj k k k kj k k k k k k k k k k k k k k k k k k k k k k k k k k k kjjj kjjjjjjjjjbjjbbbbbbbbbbbbZbZZZZZZZZZhZZhZhZhZhZhRhZhRhRhRhRHRHRHRHRHRGR'RHRGR'R'J'J'J'JJJJJJJJIIIIAAAAAAAA999A9999999999d9d1d1e1d1d1d1AAAAAIIJJJJ'J'J'J(RHRHRHRhRhRhRhZhZhZZZZZZZZZZbbbbbbjbbbbbbjjbjjjjjjjjjj k k k k k k k k k*k k k*k s+s+k*k+s+s*s*s*s*s+s+s*s*s+s+s+s+s*k+k*s*s k k*s*s*k+s k k s s k*k k k k k kj kjjjjjjjjjbbjbbjbbbbbbZbbbZZZbZZZZZZhZZZRhZHZhRhZHRhRHRHRHRHRHR'R'R'R'J'J'JJ'JJJJJJJJIIAAAAAAAAAAAA999999999e91d1d1d1AAAJJJJ'J'J'J'JHRhRHRHRhRhRhRhZhZhZZZZZZbbZbbbbbbjjjjjjjjj cj k k k k k k k k k k k+k k k*k*s*s*s+s+s+s*s+s+s+s+sKsKs+sKsKs+sKsKsKsKsKsKsKsKsKs+s+s+sKsKs+s+sKs+s+s+sKs+s+sKs+s+s+s+s*k+s+k s s k k k k k k k kjjjjjjjjjjjjjbbbbbbbbbbZZbbZZZZZZZhZhZhZhZhZhZHZhRhRHRHRHRHR(R(R'R'J'J'J'J'JJJJJJJIIIAAAAAAAAAA9999999999e9e9d1AJJJJ'J'J'RHRHRHRhRhRhZhZhZZZZZZZZbbbbbbjjjbjjjjjj k k k k k k*k k*k*s*s*k+k+s+s+s+s+sKs*s+sKsKs+sKsKsKsKsKsKsKsKsKsKsksK{K{K{ksLsKsL{L{KsksK{k{ksLsK{L{L{K{LsKsL{K{LsLsKsKsKsK{KsKsLsKs+sKs+sKsKs+s+s+s*s+k k*k*k k k k k k kj k kjjjjjjjbjbbbbbbbbbbbbbbZbbZZZZhZhZhZhZhZhZhRHRHRHRHRHRGRGR'R'J'J'RJJJJJJJIIAAAAAAAAAAAA99999999e9JJJ'J'JGJHRHRhRhRhZhZhZZZZZZbbbbbbjjbbjjjj k k k k k k*k*k*k*k+s+s+s+sKs+s+sKsKsKsKsKsKsKsKsKsKsK{ksksL{L{l{l{l{l{l{l{k{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{l{k{l{l{k{l{l{K{L{k{lsKsK{ksKsKsKsKsKsKs+s*s*s*s*s*k s*k*k+k*k k k k kjjj kjjjbjjbjjbbbbbbbbbbbbbZZZiZZZZhZhZhZhRHRHRHRHRGRGRGR'R'J'RJJJJJJJJIIAAAAAAAAAAAA999999J'JGRHRHRHRhRhRZZZZZZbbbbbbbjbjj kjj k k k k s*s+s+s+s+s+sKsKs+sKsKsKsKsksK{Ksksk{ksk{k{k{l{l{l{l{l{l{{{{l{{{{l{{{{{{{{{{{{{{{{{{{{{{l{l{l{l{{l{l{l{l{k{lsl{K{K{K{KsKsKsKs+s+sKsKs+s+s*s+s+s s s+k k k k k k kjjjjjjjjjbbbbbbbbbbbbbZbbZZZhZhZhZhZhZHRHRHRHR'R'R'RGR'R'J'JRJJJJJIIIIAAAAAAAAA9999GJHRHRHRhRhZZZZZbZbbbbbbbjjj k k k k*k s+k*kKs+s+sKsKsKsKsLsK{k{K{L{ksk{k{k{l{l{l{{{l{l{{{{{{{{{{{{{{{{{l{l{l{l{l{l{ksK{ksK{KsKsKsKs+s+s+s+s+s*s+s+s s s s k k kj k kjjjjjjjbjjbbbbbbbbbbZZZZZiZhZhZhZhRHRHRGRGRHRHRGR'R'R'J'JJJJJJJJIAAAAAAAAAA99HRhRhZhRZZZZZbbbbjbbjjj k k k+s+s+s+s+sKsKsKsKsKsksl{l{l{k{l{{l{{{{{{{{{{{̓̓͋̓̓͋͋͋̓̓̓̓͋̓̓͋̓̓̓͋͋͋͋̓͋͋̓̓͋͋̓̓̓̓{{{{l{l{l{l{l{l{l{l{k{K{LsKsKsKsKs+sKsKs+s+s+s+s*s*s s k k k k k k kjjjjjbjjbbbbbbbbbZbZZZZZhZhZHR'RGRHRHRHRGRGR'R'R'R'J'JJJJJJIIJAAAAAAA9hZhZZZbbbbbbbbjjj k k k*k*k+s+s+sKs+sKsLsKsKsl{l{k{k{{{{{{{̓̓̓͋̓̓͋̓̓͋͋͋͋͋͋͋͋͋̓̓̓̓{{l{l{l{{l{l{l{l{l{L{l{ksL{KsKsKsKsKs+s+s+s*s*s+s+s*s k s k k kjjjjjjjjjbbbbbbbZZZZZZhZhZhZhRhZHZHRHRGRGR'R'R'J'J'J'J'JJJJJIIAAAAAAZZZbbbbjjjj k k k s+k+k+sKsKsKsKsKsksl{k{l{l{{{{{{̓̓̓̓̓͋͋͋͋͋͋.͋̓͋̓̓̓{{{{{l{l{l{l{l{l{l{K{K{L{K{KsKsKs+s+s+s+s+s*s*s s k k k kjjjjjjjbbbbbbbbbZZZZZhZhZhZHRHZHRHRHRHRHR'R'R'R'R'J'JJJJJIIIIAAZbbbjbjj k k k+k+k+s+sKsKsKsKslsl{l{{l{{{{{{{̓̓̓͋͋̓͋틌틌.......................͋͋͋̓̓{{{l{{l{l{l{l{l{k{L{l{L{KsKsKsKs+sKs*s+s+s*s*s+s k k kjjjjjjjjbbbbbbbbbbZZhZhZhZhZhZHRHRHRHRGR'R'R'R'J'JJJJJIIIIbbjjjj k k k+k+sKsKsLsKsksl{l{l{l{{{{{̓̓̓̓̓͋..........N...N//./OOOO/OO///OOOOO//NNO//NN..........͋͋̓͋{{{l{l{l{l{l{l{L{L{K{K{K{KsKs+s+s+s+s*s*s k k k kjjjjjjjbbbbbbbZZbZZhZhZhZhZHZHZHRHRHR'RGRGR'J'JJJJJJIbjj k k k*k+k+sKsKsKsL{l{l{{{{{{̓̓̓̓͋͋͋............./O//OO/OOOOOOOOOOoOOooOoOooOOoOOoOOOOOOoOOOOOOO////......͋͋͋͋͋{ll{l{l{l{l{l{L{KsKsKsKsKs+s+s+s+s*s k k k kjjjjjbjjbbbbbbZZZZhZhZhZhZhZhRHRHRHRHR'R'R'J'J'JJJj k k s+s+s+sKsKsk{k{l{l{{{̓͋͋.......O/.OOO/OoOOOOooOoooooooooooooooooooopoopooopoooooopooooOOOOOOOOOOO........͋͋͋͋̓̓{ll{{l{l{l{L{K{KsKsKs+s+s+s+s+s s s k kjjjjbbjbjbbbbbZZZZZhZhRhZHZHRHRHRHR(R'R'J'R'J k+k+s+sKsKsKslsl{l{l{{̓̓͋....././//OOOOOOoooOoooopoooppoooooOOoOOOOOOOO......͋͋͋͋͋͋{l{l{l{l{l{K{KsKsKsKs+s+s+s s*s s k k kjjjjjbbbbbbbZZbbZZhZhZhRHRHRHRHRGRGR'RKkKsKsksK{lsl{{{{̓̓̓͋틌...../OOOOOOooooopoppopppooooOOOOOOO.......͋͋͋͋͋͋{{l{l{l{l{K{K{K{K{KsKs*s*s*s*s s s k k kjjjjbjbbbbZZbZZZZhZhZhRHZHRHR'RKslsl{l{l{{̓̓̓͋.....//OOOOOOoooopppФѤФѤѤѬѤѤѬѬѤѤѬѬѤѤѬѤѤѬѤѬѬѤѤѤѤѤѤѬpoppooOooOOOOO/./....͋͋͋͋͋̓͋{{k{l{l{k{k{KsKsKs+s*s*s+s*s s sjjjjjbjbbbbbbbbZZZhZhZhZHRHRls{{̓̓̓...OOOOOOoooopoѤФѤѤѤѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѬѤѤѬѤѤppoOOoOOOOOOO./...틌͋͋͋{{l{l{l{k{K{KsKsKsKs+s*s*s k k k kjjjjjbbbbbbbbbZZZZhZ{{̓̓....OOOOoOpooѤѬѬѤѬѬѤѤѬѬѬѬѬѬѬѬѬѬѤѤѤppooooOOOOOOO./.....͋͋̓̓{{ll{k{ksk{K{KsKsKs+s*s*s s s kjjjjjjbjbbbbbZZZZ̓̓͋..OOOOOooooФѤѤѤѤѤѬѬѬѬѬѬ2222SѬѬѬѬѬѬѤѤѤѤpooooooOOOOO///...͋͋͋{l{l{l{k{k{K{K{KsKs+s+s+s s k s kjjjjjjbbbbbbZ̓̓..///OOoopppѤѤѤѤѤѤ22222222222222222322322222222222222222222222SpSѬѬѬѤѬѤpppooooOOOOOO/.....͋͋͋͋̓l{{l{k{k{K{KsKsKs+s*s*s s k s kjjjjjjbbbb͋./OOOOoopѤѤѤѤѬѬ222222222223R222SSSSSSSSSSSSSSSSSSSSS3SSSSSSSSSSSSS3R32SsRAL{S222ѬѬѬѬѬѬѤѤoOoooOOOO/....̓͋͋͋{{{l{l{l{Ksk{k{KsKs+s+s+s*s k k k kjjjjjb///OOOooѤѤѬѬѬ222222222S2SSSSSSSSSSSSSSSSSSSSssSSSSSSSSssSsSSSssSSSsSsSSSSSsOiZAQQf9HRO͔2222222ѬѬѬѬѬѤpopooooOOOOO/..͋͋͋̓̓{{{k{l{k{K{K{KsKs+s+s+s k s kjjjj///OOOppѤѬѬ222222SSSSSSSSSSSSSSSsSSSssstsstttsttttttsttttttttssttsttttss͐jAI)Z)Z(R)ZIA sRs2SSSS22222ѬѬѬѬѬѬѤѬѤoooooOOO/.....͋͋͋{ll{l{k{k{KsKsKs+s+s+s s k k kj//OopppѤѤѬѬѤ222233SSSSSSSSSssssSsssstttŔŔŔŔŔŔŔŔŴŔŔŔŴŴŔŔŴŴŴŴŔŔŔŔѬrII)Z)Z)ZIZ)Z)Z)Z(RARSSSSSSSS2222332ѬѬѬѬѬѤooooOOOOO.....͋̓̓̓{{{l{k{k{K{KsKs+s+s+s+s k kOOoѤѤѬ2223SSSSSSSSStTsststŔŔŔŔŔŔŔŴŔŴŴŴŴŴŴŴŴŴŴŵŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴŴ6V2L{IIJbiZIbIZIbIZIZIZIZ)ZIZQAb6ִSssssSSSSSSS332222ѬѬѬѤѬѬѤpoooOOOOO/.....͋͋͋̓{{{k{k{K{KsKsKs+s spѬѬѤ22233SSSSSSssstttŔŔŔŔŔŔŔŴŴŴŴŴŴŴŴŴŴŵ6wsRQjbbibiZibibibibIZIZIZIZIZIbIZII̓6֔sssssssSSSSSSS3S2222ѬѬѬѬѬpoooOOOOO/....͋̓̓̃{{{l{k{K{Ks+sѤѤ2223SSSSSSSsttstŔŔŴŔŴŵŴŵŵŴŴ6ָ޴IbQbjbbjbjbjbjbibjbIbIbjbibibjbibjb)ZAbѤVœsssssSSSSSSS2232222232ѬѬѬѤѤѤoooooOOO/....͋̓͋̓{{{k{l{l{ѤѤѤ2223SSSSSsStttŔŴŴŴŵŵŵŵŵιObQjjjjjjjbbbjbjbjbjbbjbjbjbibibibJbQI{ԽwִsssssssSSSSS3323S2222ѬѬѬѬѤoooOOOO/....͋͋͋̓̓{lФѤ233SSSSssstttŔŔŴŴŵŵŵŵ6ֹwֱbQjrjrjjjjjjjjjbbbbbbjbjbjbjbbib)ZIIZw6δŴssssssSSSSSSS222222ѬѤѤѤooooOOO/N/..͋͋̓̓Ѥ2323SSStsttŴŴŴŴŵ66666677777777777777767766767ι޸3rFA ZrrrrrjjjjjjjjjjjjjjjbjjbjbbjbjbjbRIl{ŵŵŵŴssssssSSSSSS22322ѬѤѬѤѤФppooOOOO....͋͋͋̓22S3SSssŴŴŴŴŵ666666666677677W77777W77W777WW7777777777ָ攽IbJbσjj srrrrrrrrjjjjjjjjjjjjjjjjjbjbjbjbQIZwWֵŵŵŵսŵttstsssSSSSS2222222ѬѬѤѤoooOOOO/...͋̓23SSSStttŴŴŵŵ6666666VWWWWW7WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW7ָjbIbju\綽m{JbrsrrrrrrrrjjjjjjjjjbjjbbbbjjjbjJbQKsսԽttsssSSSSS3S232ѬѬѤѤѤooooOOO....33SSSsstŴ6666WVVWWWWWWWWWWWXXwwwWxwxxwxxwwwwxxwwwwwwwWֹ:6PjJbr sruyqjj { sr srrrjrrjjjjjjjjjjjjjjbbbbbQIZpw֘ŵսŴsssssSSSSS2222ѬѬѤѤѤФpooOOOO....223SSssŵŵ666667VWWWWWWwwwWwwxxxxxxxxxxxޘxxxޘޘޘxxޘޘޘxޘޘxxxw[ޱrIbr{,{ {{jjq;u-{jbr { srrrrrrjrjjjjjjjjjjjjjjjjjjjbQ st7ԽŴttssSSSSSS3222ѬѬѬoooOOOOO..2RSssstŔŔŴ677766WWWWWWwwwwwwwwޘޗޘޘޘޘޘޘޘޘޘޘޘޘޘޘޘޘޘ޸ޘޘޘޘޘޘ޸ޘޘx޸[r ZrM-{-{-{-{-{-{ {jjM{uX0jr-{ srrrrrrrrrjjjjjjjjjjjjjjjjjj ZHZP6ΘŴtsssSSSRR222ѬѤѬѤpoooOOONSSssttŴŵŵ6667WWWWWWwwwwޗޗޗޘޘޘޘޘޘޘޘޘޘޘޘޘޘ޸޸ޘ޹޸޹ޘ޸޹޹޹޹޹޸޸޸޸޸[Tm{QJbr {--{M{-{-{MzjM{ {-{Ӥ8ƺU s-{ { s s {rr sjrjjrjjjjjjrjjjjjjjjjb Zj3WŵŴŔŔssssSSSS3332ѤѤѬѤѤooooOOSstŴŴŵŵ6667WWWwwwwwޗޗޘޘޘޘޘޘޘޘ޸޸޸޸޹޹޹޹޹{[ŮjjjQ4rr {M{MNr-{u8u;r,{-{-{ {z sjr1-{jrrrrrrrjjjjjjjjjrrjbIZ67սŵŴstssSSS332222ѬѬѤѤpootsŵŵŵ7667WWWWWwwwޘޘޘޘޘޘ޸޸޸޸޸[jrMzuŲrM{M{Xν-{\|uϋ s-{-{-{-{-{rr{ sm{n{rrrrrrrrrjjrrjrrrrrj)Zj26սŴtssSSSSSSS332ѤѤѤѬpŴŵŴ66667WWWWWwwwޘޗޘޘ޸޸{W0jrMM,{rQ1;;\4jjzrj4\08ΒrM{M{-rM1M{Qr)bQrjjrrrrrrrrrrrrrrrrrrjbZw6776667ŵŴŴttttssSSSSR3322ѬѤФŵŵ667VWWWwWwwޘޘޘޘޘ[ޑrjMNz{Q׽u1;u sY;Xߒ)bjjMz{QjrMrQjrr s {r srrrrrrrrrrrjj)Zb7WW7777767ŴsttsSSSSSS233ѬѤŴ6666WWwWwwxwwޘޘ;:3j bzMn {jjXnXϋӤ||ϋ-{ {{1,{jj󤯃 ZIbmϋ-{j {rrrrrrrrrrrr srrrrj Z,s:7WWWWW77776677ŴŴŔtsssSSSSS32222ѬѬѤѤѤ66V7Wwwwxxޗޘޘ;;|unjj8Mr[ﲤЋ|4-{|4Qy;XҤrrϋ00n {rm|ֽjm48Ưjjr{ srzrrrrrrrrrrrrrr*b)ZPWWwWWWWWW7W77777ŵŵŴŔsstSSSSSS3222ѬѬѬѤ666WWWwwxxޘޘޘ޸::;;;;;;:::;;;;ͯr{-Ư)Zrzx1RӤrrrnNrIjnrjjrrvuQT88Ύ1rj{ s { {rr s srrrrrrrrrrrZrs:WxxWWWWWWWWW77777ŴŴŴŴttttSSSSSS222Ѭ66VWWwwwxޘޘޘޘޘ::::::;;;;;;;[;;;[;[8r {n-{N{Ћ;Ӥ|v-{ {zNrr {nnm--{zNn{u11XιַX-{rU|Q0uz s {{rrrrrrrrrrrrrrrrjb)Zw{xxwwxwWwWWW7WW7777ŴŴŔŔttssSSSSS322266VWWwWwޗwޘޘޘޘ޸:::::ZZ;;;[[[[[[[[;ޑrz-vRyyϋ{M{-{RMnnnn-NRn{Ӥy\rY8ΜjNЋu-{z { {{ { { srrrrrrrrrrrrrr Zj2Z:xxxxxxxxxwWWWWW777777ŴŴŴŴŴŔtttsssSSS322676WWwwwxޘޘޘ޸::::ZZZZ[[[[[[[[[[[Ҥ {znz22v {n {NMMRr֬rnr-{rޒ\v-{nӜ5Q-{{-{-{ {{ { { {{{rrrrrrrjrrrrrjZW֛xޘޘޘxޘޘwwxwwWWWW77777ŴŴŴttssSSSS23666WWwWwwwޘޘޘޘ;::::[[[[[[[[[[{\[;4-{zϋϋzo\UvnnMЋϋ-{ jjЋrMz֙x4ř;׽UXζ45ӜrzM{-{-{-{{{{nrrMrrrrrrrrjjrrrr)ZibҤ[[ޘޘޘޘޘޘޘxxxwxwWWWWW777777ŴŴŴŴŔŔttsSSSS332WWwwwwxxޗޘޘ޸޸޹::;:::[[[[{{{{{||[UnrГϋϋϋϋϋϋϋMz5\׽{rnϋMϋRrNUu|XyӤ4XxκvU1{zM-{-M{-{-{Mn {bb(J s-zzrzrrrrrrrrrrjQ,{μ޹ޘޘޘޘޘޘޘޘxxxxwWWWW777777ŵŴŔŔŔtttSSSS3Wwwޗޘޘޘ޸޸޹;:;;;;;[[[[[[[{{{{{|rГϓϓϋMЋ-{nQRN{<\|YU-{y5׽oy8ЋrNzMM--{M--{MjIRnjjHRAM{ { { { {rrrrrrrrjrr Z(Z:޹޸ޘ޸ޘޘޘޘޘxxxxWWWWW7W7777ŵŴŴŔŔŔtttsSSwxޘޘޘޘ޹:;;;;;[;[\[{{{{{{||8rmϓϓϓϓϓϓГϋϓГϓϓϓЋϋn1z\vYYn{Ӭ֯N{𓒜Ћ;璜Uz-{nM--MM{-{-NjIRIRM,{j s{{ { { {zrrrrrrrrjjrjQ s޹޸޸޸޸ޘޘޘޘޘxwxxwWWWWWW77776ŴŵŴŴŔŔŔttSxxޘ޸޹;;;;;;;;;;[[[[\[{{|||{|yQ {MϓϓϓϋϓϓϋϓϓГϋϓГϋϓϋϋϓϓГϓϓϓϓ𓯓n-{-Г5RrrU;׽|8oRrRvYvU1-{znnNMMM{MnM-{nrAbMN-{{ s { { { { srrrrrjjrjjjr)bZq:޹޹޸޸ޘޘޘޘޘޘxxxwwXWWWWW7776ŵŵŴŔŔŔs޸;:;;;;;;[;[[[[[\[{[\|||||r {nϓϓГϋϓϓϓϓϓГЋГϓГГЋϓϋϓ1<4zRr-{y8Ʒ\8yyvU5n-mnnnNMn-{jnn-{-{-nr s-{{{,{ s { { {z {zrrrrjrjjrrjjYrZ޸ޘޘޘޘޘޘޘwxxXXWWW7777666ŵŵŵŔŔŔ޹;[;;;[[[[[[[[[{{|{||||||箋nϓ𓯓ϓГГГГГГГГГГГГϓГϓГ𓯓׽}