[Top] [Prev] [Next] [Contents] [Index]

Index


A B C D E F G H I J K L M
N O P Q R S T U V W X Z

Symbols

! command (Boot Monitor) 11-10
? command (Boot Monitor) 11-10

Numerics

3270 terminal emulation, configuration parameters for 9-42

A

Acceleration Ratio (Change User Preferences) 9-51
access control
configuration parameters for 9-9 to 9-13
font server 7-22
local clients, disabling 6-34
parallel port 15-10
serial ports 15-10
SNMP 16-3 to 16-7
terminal configuration data 6-30 to 6-34
XDM (X Display Manager) 8-15 to 8-16
see also passwords
Activate Alpha Buffer for RGBA Visuals (Change User Preferences) 9-49
Add Domain to Unit Name as Filename (Change Setup Parameters) 9-19
Add Timestamps (Change Setup Parameters) 9-20
Additional Escape Chars (Change Setup Parameters) 9-41
address discovery
addresses in NVRAM 3-11
BOOTP/DHCP 3-3 to 3-10
broadcast address 3-12
configuring in Boot Monitor Setup 11-15
protocols
order of use 3-2
overview 3-1 to 3-2
RARP 3-10
subnet mask 3-13
address resolution 5-5
addresses, see Ethernet; IP (Internet Protocol); Token-Ring
Administrative Contact (Change Setup Parameters) 9-38
Administrative Status (Change Setup Parameters) 9-38
Allow Alpha Test (Change User Preferences) 9-48
Allow Blending (Change User Preferences) 9-48
Allow Depth Test (Change User Preferences) 9-48
Allow Dithering (Change User Preferences) 9-48
Allow Exposures After Screen Saver (Change User Preferences) 9-53
Allow Logical Operations (Change User Preferences) 9-49
Allow MOP Reset (Change Setup Parameters) 9-31
Allow Polygon Stipple (Change User Preferences) 9-49
Allow Scissor Test (Change User Preferences) 9-48
Allow SNMP Reset (Change Setup Parameters) 9-11
Allow Stencil Test (Change User Preferences) 9-48
Allow XRemote TCP Connection (Change Setup Parameters) 9-41
AppletViewer Command (Change Setup Parameters) 9-27
apply command (Configuration language) 6-34 to 6-37
Arc Cache Maximum Size (Change Setup Parameters) 9-40
arc caching, memory used for 9-40
ARP (Address Resolution Protocol)
ARP cache 5-5 to 5-6
configuration parameters for 9-13
proxy ARP 5-29
ARP Cache (Change Setup Parameters) 9-13
Audio Enabled (Change Setup Parameters) 9-40
Authorize XRemote Clients (Change Setup Parameters) 9-41
Auto Save (Change Setup Parameters) 9-8
Auto Save File (Change Setup Parameters) 9-20
Auto Save File Name (Change Setup Parameters) 9-20
Auto Save NVRAM (Change Setup Menus) 9-19
Auto Saved Info (Change Setup Parameters) 9-20
Automatic Lock Screen After (Change User Preferences) 9-46
Automatic Logout After (Change User Preferences) 9-46
Automatic Logout Cancel Delay (Change User Preferences) 9-46
Automatically load images (Change Setup Parameters) 9-16
Autorepeat Begin After (Change User Preferences) 9-47
Autorepeat Rate (Change User Preferences) 9-48
auto-save
configuring 6-34 to 6-37
disabling 6-35
extent of data saved 6-37
protocols for 6-35
saving parameters to a file 6-35 to 6-36
saving parameters to NVRAM 6-35

B

backing store, configuring 9-54
Backup File Server Address (Change Quick Setup) 9-4
Backup File Service Protocol (Change Quick Setup) 9-3
backward compatibility, parameters for 9-45
bd command (Boot Monitor) 11-7
Be Compatible With Old DECwindows Images (Change User Preferences) 9-45
Be Compatible With Old DECwindows Keyboards (Change User Preferences) 9-45
Be Compatible With Old DECwindows Vendor String (Change User Preferences) 9-45
Begin Sending Keepalives after (Change Setup Parameters) 9-30
Bell Base Volume (Change User Preferences) 9-45
Bell Duration (Change User Preferences) 9-45
Bell Pitch (Change User Preferences) 9-45
bell, configuration parameters for 9-45
Bitmap Background Color (Change User Preferences) 9-53
Bitmap File (Change User Preferences) 9-52
Bitmap Foreground Color (Change User Preferences) 9-53
bl command (Boot Monitor) 11-7
Black Pixel (Change Setup Parameters) 9-41
bn command (Boot Monitor) 11-7
Boot automatically at power-up (Change Setup Parameters) 9-13
Boot From (Change Quick Setup) 9-3
boot host
backup hosts 4-16
first host to try 4-15
Boot Host IP Address (Change Quick Setup) 9-3
Boot Monitor
accessing 4-18, 11-6
booting from 4-17
commands 11-7 to 11-10
displaying 11-2
functions of 11-2 to 11-5
NVRAM utility
commands 11-20
sample sessions 11-21
starting 11-20
Setup
Boot window 11-16
exiting 11-17
keyboard type, setting 11-13
keymapper for 11-18
monitor dpi and resolution 11-13
navigating in 11-13
Network window 11-14 to 11-16
rebooting from 11-17
saving changes 11-17
starting 11-12
submenus 11-12
updating (Explora 400/450 and 700) 11-11
version, displaying 16-8
versions 11-1
Boot Monitor Inverse Video (Change Setup Parameters) 9-14
boot-automatically 9-13, 11-7
boot-custom-file 9-14
boot-default-server-when-prom-booting 9-14
boot-desired-source 4-8, 9-3, 9-14
booting
absolute pathname requests 4-2, 4-6
automatic boot, disabling 4-4
boot hosts 4-15, 4-16
booting sequence, default 2-1, 4-8
BOOTP/DHCP 3-3 to 3-10
broadcast requests, disabling 4-4
color database file, loading 2-5
configuration files, loading 6-21 to 6-27
configuration parameters for 9-3, 9-13 to 9-15
configuring in Boot Monitor Setup 11-16
default actions 2-1 to 2-5
from PCMCIA
manual boot 4-18
order of 4-8
manual
from PCMCIA 4-18
overview 4-17
using MOP 11-7
using NFS 4-18, 11-7
using TFTP 4-18, 11-8
modules, load policy 4-10
MOP requests
default 4-3
disabling 4-5
manual boot 11-7
order of 4-8
NFS requests
default 4-3
disabling 4-5
location of X servers 4-13
manual boot 4-18
order of 4-8
persistent, enabling 4-7
protocols
backup choices 4-9
first choice 4-9
order of 4-2, 4-8 to 4-10
RARP 3-10
relative pathname requests 4-2, 4-6
remote reset 16-10 to 16-13
using ncdreset 16-11 to 16-12
using unit-administrative-status 16-12
reverse name request 3-15, 5-12
TFTP requests
default 4-2
disabling 4-5
location of X servers 4-12
manual boot 4-18
order of 4-8
through a gateway 3-8 to 3-10, 11-7, 11-8
X server loading 4-1 to 4-15
see also address discovery; X server
boot-monitor-inverse-video 9-14
boot-mop 4-5, 9-15
boot-mop-with-file-name 9-15
boot-nfs-directory 9-15
BOOTP/DHCP
/etc/bootptab file 3-5 to 3-10
diagnostic messages 18-38
enabling 3-4
entry, example 3-7, 3-9
option tags supported 3-6
bootpd (8)
backup boot host, specifying 4-16
enabling 3-4
boot-persistent-loading 9-14
boot-previous-server 9-14
boot-previous-source 9-14
boot-second-source 9-14
boot-send-broadcast-icmp-for-subnet-mask 3-14, 9-15
boot-tcpip-broadcast-boot-request 4-4, 9-15
boot-tcpip-desired-server 9-3, 9-14
boot-tcpip-product-name-and-memory-size-file 4-6, 9-15
boot-tcpip-product-name-and-memory-size-with-path-file 4-6, 9-15
boot-tcpip-product-name-file 4-6, 9-15
boot-tcpip-product-name-with-path-file 4-6, 9-15
boot-tcpip-second-server 9-14
boot-tcpip-third-server 9-14
boot-tcpip-unit-address-file 4-6, 9-15
boot-tcpip-unit-address-with-path-file 4-6, 9-15
boot-test-ram 9-13
boot-tftp-directory 9-15
boot-third-source 9-14
broadcast address 3-12
Broadcast Address (Change Setup Parameters) 9-25
Broadcast IP Address (Change Quick Setup) 9-5
Browser Module (Change Setup Parameters) 9-16
Browser Printer Table (Change Setup Parameters) 9-17
bt command (Boot Monitor) 11-8
Buffer Size (Change Setup Parameters) 9-20
Button Arrangement (Change User Preferences) 9-51
Button Press Threshold (Change User Preferences) 9-51
Button Release Threshold (Change User Preferences) 9-51

C

Cache Class File (Change Setup Parameters) 9-27
Cache Size Limit (Change Setup Parameters) 9-16
CALIBLIGHTPEN messages 18-16
Calibrate Light Pen (Change Setup Parameters) 9-25
Calibrate Touch Screen (Change Setup Parameters) 9-25
CALIBTOUCH messages 18-17
Change Quick Setup, see Setup menus (Console)
Change Screen Saver After (Change User Preferences) 9-53
Change Setup Parameters, see Setup menus (Console)
Change User Preferences, see Setup menus (Console)
Circuit Flush Timeout (Change Setup Parameters) 9-27
Clear Messages command (Console) 18-5
clients
font requests 7-4, 7-6
old X clients, error checks 9-45
X resources, loading 8-7
see also local clients
color
color text in Terminal Emulator 12-31
colormap, default 9-41
database file for 2-5, 5-15, 9-40
screen background 9-52, 9-53
with WinCenter 9-40
Color Clipping Method (Change User Preferences) 9-50
Command Menu (Change Setup Parameters) 9-18
Complete Entry Timeout (minutes) (Change Setup Parameters) 9-13
Config Access Control List (Change Setup Parameters) 9-10
Config File (Change Quick Setup) 9-4
config file (font server) 7-23
Config Read-Only Password (Change Setup Parameters) 9-9
Config Read-Write Password (Change Setup Parameters) 9-9
config-access-control-enabled 6-30, 6-31, 9-10, 9-19
config-access-control-list 6-31, 9-10
config-add-domain-to-unit-name-as-filename 6-23, 9-20
config-auto-saved-info 6-37, 9-20
config-auto-save-file 6-36, 9-20
config-auto-save-file-name 6-36, 9-20
config-auto-save-nvram 6-35, 9-19
config-custom-file 6-23, 9-18
CONFIGD messages 18-18
config-default-file 9-2, 9-4, 9-7, 9-8, 9-19, 9-44
config-enforce-passwords-locally 9-9
config-generic-file 6-24, 9-19
config-load-initial-file 6-27, 9-18
config-ncdnet-object-name 9-19
config-persistent-loading 6-22, 9-18
config-pref-enforce-passwords-locally 9-10
config-pref-ncdnet-object-name 9-20
config-pref-read-only-password 9-10
config-pref-read-write-password 9-10
config-pref-tcp-port 6-29, 9-20
config-pref-telnet-port 6-29, 9-20
config-read-only-password 9-7, 9-9, 9-43
config-read-write-password 9-7, 9-9, 9-43
config-tcp-port 6-28, 9-19
config-telnet-port 6-27, 6-28, 9-19
config-unit-ethernet-address-file 6-23, 9-19
config-unit-ip-address-file 6-24, 9-19
config-unit-name-file 6-23, 9-19
config-unit-ncdnet-address-file 6-24, 9-19
config-unix-directory 6-26, 9-4, 9-18
Configuration daemon
configuration parameters for 9-19
defined 6-2
diagnostic messages 18-18
ports for accessing 6-28
starting from Terminal Emulator 12-2
configuration file directory 6-26
configuring terminals, see terminal configuration; remote configuration; remote configuration files; Setup menus (Console); Setup (Boot Monitor); NVRAM utility
config-use-decimal-ip-address-notation-as-filename 6-24, 9-19
config-vms-directory 9-4, 9-18
CONFUI messages 18-31
Connect Timeout (Change Setup Parameters) 9-27, 9-31, 9-36
Console
configuration parameters for 9-10, 9-46
diagnostic messages 18-34
disabling 6-34
key sequence for displaying 9-46
Console Display Password (Change Setup Parameters) 9-10
Console Key Sequence (Change User Preferences) 9-46
CONSOLE messages 18-34
copyright statement i
CTERM
Terminal Host Chooser, automatic display of hosts 12-3
see also Terminal Emulator
Current Font Path (Change User Preferences) 9-47
Current Pointing Device (Change User Preferences) 9-51
Custom File (Change Setup Parameters)
remote configuration file 9-18
X server file 9-14

D

da command (Boot Monitor) 11-8
Data Compression Mode (Change Setup Parameters) 9-41
DECnet
configuration parameters for 9-31 to 9-32
statistics 10-9 to 10-11
DECwindows
configuration parameters for 9-30, 9-45
Default Colormap (Change Setup Parameters) 9-41
Default File (Change Setup Parameters) 9-19
Default Font Path at Reset (Change Quick Setup) 9-4
Default for Enable X Access Control (Change Setup Parameters) 9-9
Default home page (Change Setup Parameters) 9-16
Default Hosts (Change Setup Parameters)
for 3270 Host Chooser 9-42
for Login Chooser 9-29
for login through the Terminal Emulator 9-39
Default Linger Time (Change Setup Parameters) 9-36
Default Packet Time-to-Live (Change Setup Parameters) 9-26
Default Router (Change Setup Parameters) 9-31
Default Server when PROM Booting (Change Setup Parameters) 9-14
Default Visual (Change Setup Parameters) 9-41
Default VMS File Name Extension (Change Setup Parameters) 9-23
Delay LAT Display after Boot (Change Setup Parameters) 9-39
Delay When Blanking Screen (Change User Preferences) 9-46
DESKTOP messages 18-37
DHCP
messages 18-38
see also BOOTP/DHCP
diag-access-control-enabled 9-11
diag-access-control-list 9-11
diag-add-timestamps 9-20
diag-buffer-size 9-20, 18-7
diag-log-file 9-20, 18-6
diag-ncdnet-object-name 9-21
Diagnostic Access Control List (Change Setup Parameters) 9-11
Diagnostic daemon
configuration parameters for 9-20
messages about 18-39
starting from Terminal Emulator 12-2
TELNET connection to 18-5
diagnostic messages, see messages
diag-tcp-port 9-20
diag-telnet-port 9-20
diag-timestamp-frequency 9-20, 18-6
Disabled Commands (Change Setup Parameters) 9-18
Disabled Networks (Change Setup Parameters) 9-29
Disabled X Extensions (Change Setup Parameters) 9-40
display background, configuration parameters for 9-52
DISPLAY environment variable
set by XDM 8-4
Dither Flat Shaded Surface (Change User Preferences) 9-50
Dither Interpolated Surface (Change User Preferences) 9-50
dm command (Boot Monitor) 11-8
DNS (Domain Name System)
configuration parameters for 9-37
domain suffix, default 5-9
enabling 5-7
name server hosts, specifying 5-8
name space, widening searches of 9-37
reverse name request 3-15, 5-12
selecting 5-8
DNS Default Domain (Change Setup Parameters) 9-37
DNS Domain Search (Change Setup Parameters) 9-37
documentation
conventions 1-5
copyright statement i
how to comment on 1-6
intended audience 1-1
license server 1-4
NCDware manuals 1-4
part number i
revision number i
trademarks i
WinCenter 1-5
Domain Channel (Change Setup Parameters) 9-33
DOS messages 18-39
DPS (Display PostScript)
cache, freeing 13-12
CIE-dict19c.dat file 13-7
configuration parameter for 9-21
file access protocols 13-2
fonts
adding 13-11
client access, configuring 13-11
directories 13-9
included in NCDware distribution 13-8
InitProc.dat file 13-7
licensing 13-2
PSres.upr file 13-3 to 13-6
resource path 13-10
Solaris systems, running applications on 13-13
support files 13-3 to 13-7, 13-10
terminals supported 13-1
troubleshooting 13-12
VM_3_2.SNF file 13-7
dps-resource-path 9-21, 13-10
dr command (Boot Monitor) 11-8
ds command (Boot Monitor) 11-8
DTR messages 18-41

E

EHLLAPI A Default tcp Port (Change Setup Parameters) 9-42
Enable 24-bit RGBA (Change User Preferences) 9-49
Enable 3270 Terminal Emulation (Change Setup Parameters) 9-42
Enable 8-bit Color-Index (Change User Preferences) 9-49
Enable 8-bit RGBA (Change User Preferences) 9-49
Enable Bell (Change User Preferences) 9-45
Enable Benchmark Optimizations (Change User Preferences) 9-54
Enable Config Access Control (Change Setup Parameters) 9-10
Enable Diagnostic Access Control (Change Setup Parameters) 9-11
Enable Execution Host Access Control (Change Setup Parameters) 9-12
Enable Execution User Access Control (Change Setup Parameters) 9-12
Enable File Manager Access Control List (Change Setup Parameters) 9-12
Enable Floppy Filesystem (Change Setup Parameters) 9-23
Enable Graphics Optimizations (Change User Preferences) 9-54
Enable Keyboard Autorepeat (Change User Preferences) 9-47
Enable NFS Server (Change Setup Parameters) 9-23
Enable Screen Saver (Change User Preferences) 9-53
Enable Serial and Parallel Access Control (Change Setup Parameters) 9-13
Enable SNMP Read-Only Access Control (Change Setup Parameters) 9-11
Enable SNMP Read-Write Access Control (Change Setup Parameters) 9-11
Enable VESA Monitor Power Management 9-52
Enable X Access Control (Change Setup Parameters) 9-9
enet-interfaces-table 10-2
Enforce Config Passwords Locally (Change Setup Parameters) 9-9
Enforce Console Password Locally (Change Setup Parameters) 9-10
Enforce User Preferences Passwords Locally (Change Setup Parameters) 9-10
Environment Variables (Change Setup Parameters), for the NCD Mosaic Browser 9-16
Environment Variables (Change User Preferences), for local clients 9-47
Equivalent IP Addresses (Change Setup Parameters) 9-26
/etc/bootptab file 3-5 to 3-10
/etc/bootptab.cfg file 3-3
/etc/ethers file 3-11
/etc/services file 3-4
Ethernet
address
displaying 3-11
on terminal base 3-11
restoring 11-21 to 11-22
interfaces
configuration parameters for 9-32
statistics 10-13
ex command (Boot Monitor) 11-8
exec-access-control-enabled 9-12
exec-access-control-list 9-12
exec-command-menu 9-18
EXECD messages 18-41
exec-disabled-commands 6-34, 9-18
exec-startup-commands 9-6, 9-18
exec-user-access-control 9-12
Execution Access Control List (Change Setup Parameters) 9-12
Export Directory List (Change Setup Parameters) 9-23
Extended Diagnostics (Change Setup Parameters) 9-22
Extended File Diagnostics (Change Quick Setup) 9-4
Extended Routing Diagnostics (Change Setup Parameters) 9-26

F

Failed Server Ignore Timeout (Change Setup Parameters) 9-22
Fast MPEG decoder (Change Setup Parameters) 9-39
Fast Perspective Rendering (Change User Preferences) 9-49
File Manager Access Control List (Change Setup Parameters) 9-12
File Server Address (Change Quick Setup) 9-3
file service
configuration parameters for 9-3, 9-22
diagnostic messages 18-88
diagnostic messages, extended 5-24
file server hosts 5-13 to 5-20
boot host 5-13
in file service table 5-15
initial file servers 5-13
file service table 5-15 to 5-20
locations of files, default 5-15
matching filenames to file service table entries 5-18 to 5-20
NFS
configuring 5-22 to 5-23
statistics 10-13
TFTP
configuring 5-20 to 5-22
statistics 10-25
timeouts, configuring 5-24
File Service Protocol (Change Quick Setup) 9-3
File Service Table (Change Setup Parameters) 9-22
FILED messages 18-45
file-default-vms-file-name-extension 9-23
file-enable-floppy-filesystem 9-23
file-enable-nfs-server 9-23
file-export-directory-list 9-23
file-extended-diagnostics 5-24, 9-4, 9-22, 13-12, 18-7
file-failed-server-ignore-timeout 5-24, 9-22
file-initial-protocol-1 9-3, 9-22
file-initial-protocol-2 9-3, 9-22
file-initial-server-1 9-3, 9-22
file-initial-server-2 9-4, 9-22
file-manager-access-control-enabled 9-12
file-manager-access-control-list 9-12
file-manager-ncdnet-object-name 9-21
file-manager-password 9-12
file-manager-tcp-port 9-21
file-manager-telnet-port 9-21
file-name-type-for-initial-tftp-servers 9-4, 9-22
file-nfs-access-control list 9-12
file-nfs-access-control-default 9-12
file-nfs-gid 5-23
file-nfs-uid 5-23
file-nfs-unmount-timeout 5-23, 9-22
file-service-table 5-16, 9-22
file-try-all-matches-on-open 5-19, 9-22
floppy drive, diagnostic messages 18-39
FONT messages 18-49
Font Name Table (Change Setup Parameters) 9-24
font server
access control for 7-22
architecture (illustration) 7-20
backup font servers 7-21
bitmap font format 7-21
Bitstream Speedo outline fonts 7-21
compressed font files 7-21
configuration file, example 7-23
configuration parameters for 9-24
defined 7-19 to 7-20
diagnostic messages
explanations of 18-49
displaying fonts 7-27
error logging 7-23
font formats 7-20 to 7-21
host load, configuring 7-22
IBM Type 1 (Adobe) outline fonts 7-21
installation 7-21
listing fonts 7-27
ncdfsinfo(1) 7-26
ncdfslsfonts 7-27
outline fonts 7-20, 7-21
point size, default 7-23
resolution, default 7-23
SNF fonts 7-21
timeouts, configuring 7-25 to 7-26
font-cache-hits 10-3
font-cache-size 10-3
font-cache-used 10-3
font-extended-diagnostics 18-7
font-number-of-fonts-in-cache 10-3
font-object-count 10-3
font-objects-currently-in-use 10-3
fonts
access sequence 7-2
available fonts, listing 7-18
BDF format
converting to PCF 7-10
defined 7-7
built-in 7-11
cache 7-14
characters in a font, displaying 7-18
client font requests 7-4, 7-6
configuration parameters for 9-4, 9-23, 9-47
default font 7-13
diagnostic messages
displaying 7-17
explanations of 18-49
logging 7-17
directories for 7-8
downloading, protocols for 7-6
DPS fonts 13-8, 13-11
DWF format 7-7
files 7-8 to 7-10
font information, displaying 7-17 to 7-19
font names 7-2 to 7-5
font path
aliases for, creating 7-16
current 7-11 to 7-13
defined 7-6
displaying 7-17
xset(1), setting current font path 7-13
fonts.alias file
defined 7-9
name, changing 7-15
fonts.dir file
creating 7-10
defined 7-9
name, changing 7-15
formats 7-7
initial file server hosts 5-13
NCDware distribution, fonts included 7-8
outline fonts, see font server
PCF fonts 7-7
PEX fonts 14-2
samples of a font, displaying 7-18
SNF format 7-7
statistics 10-3
XLFD (X Logical Font Description) 7-2, 7-18
see also font server
fonts.alias file 7-9 to 7-10, 7-15
fonts.dir file 7-9, 7-10, 7-15
font-total-fonts-loaded 10-3
FTP Proxy Overrides (Change Setup Parameters) 9-17
FTP Proxy Host (Change Setup Parameters) 9-17
FTP Proxy Host Port (Change Setup Parameters) 9-17
Function Key Style (Change User Preferences) 9-47

G

gateway
booting through flags & _F_ERR) #define feof(f) ((f)->flags & _F_EOF) #define fileno(f) ((f)->fd) #define remove(path) unlink(path) #define getc(f) \ ((--((f)->level) >= 0) ? (unsigned char)(++(f)->curp)[-1] : \ _fgetc (f)) #define putc(c,f) \ ((++((f)->level) < 0) ? (unsigned char)((++(f)->curp)[-1]=(c)) : \ _fputc ((c),f)) #define getchar() getc(stdin) #define putchar(c) putc((c), stdout) #define ungetc(c,f) ungetc((c),f) /* traditionally a macro */ #endif pn&,H$4*pH$DjB ~>(2pVb ^&D<2|f, @V  FR JF6JDZphP&<b("HZ6 lT(R20J6h zb"j< pLB"FBN^j  ,V$x.l\FD~Dhh~>f2 LZ d~nlT\lz^Z<44 4b  @(|T6@R,vJR jj t jZHD PF(@xv8d x^XR ^HD*t $^b,*b2.@>fjjN  JJt* FhHj ^hDbtbv.6N`T D^XLVFBvt$l@n@pn T (RJf hnT:dDVdP&(xT8p$ r PR n &6 jHJ, F*Np^ d$ R ~B@ h4J2$. v  6zrz d(XbN*Dj~tX @ l Z r4|8B  >n*T6 X VB~z&@8,  ^vX(D^Fb:4d L$Lv| tn"T8`tvf "2 LF P jJJ`,j$jr  ~ >H4>$*HBbvb< t HpF P nfH vPVVRhZj"bB @JV 2^JR:.H.tLf( n^NLVTh^ .bTNLzXvJL v Xn^ r Rrtx8h 4@F \" B j~VD<V TN< Z @&&f`xpP(p * FF.n \ j,(2RJB"&,pv xB* : "rP hX2 N(|l| Tp@N>v j$ l^^ J` 2| hT fvHT`>b\$ rD  BnBnpTv*H( f04(& *.Ft6pH,Lz\6 * z*2 lR""*$@0 J6  ,L8>JlJ^.xD4 pRr* Z* `L|lP*Vvt640 |d 2F.*d:D 4*.6T T DFF b|. `\ d*Z8~8 Rh  &D >x$Np&JF: B2@. F(R8\j^Z>|(j(ZH.^2v" 2(4b| TP,2`.(,`~p t xRz@ ,|z"~r"^>J(PB 0 LxR4<N<z F*@H:TxZ,$  & RzBvP   :~ZX80\H28X z ` H ,PH &B"*\F"djX.R Z H ` pv N ~(`r0r$*d6XN.H h P,~ >Z z~$.,lXHJZ x : |.( *dj,B\ ^RdVTRbZ  2 . < <*^ 8PJj8bP$\hT" ( :  @DX:2Lb<f0~x& Z hN, T x<.4HFj|`n 4 ^ ~:rh Z0f,.rjpF@j$ :  Z ",j@F 0b~R LF>X r n :L2p< Z<6VR N H lLH *LDrXjnR&\0h<r FLP$rx (`\VhBvTPb:~j^tv& vDr TRjX ddXLRN > 0 z0dN*z`NrDHn"B|  P0b Hr<\h~V:@2 LDB \ N V (RLxXjb fBx@f :>p`@ p4:"* Dl>"2"r@NXPxt< j8\@ VLR<*J^jVD rjX:r. t<vX  djN |*l4Tz6d@d4l \   hJXx*XL84:BP4R>N<\\8 < H N r@tZB$FFfZ zR * .:L\L~~l lh2 l :d xN2hp|f~Z^X H f6^f \"XHbzjf ,j. JTv0V`<"Hdfp\ <2 j$4v|`T<^ |*zP*z4vd j ` \H .6ZtNj8N>F*X r @2~ fDDR H~B vPP vR :n"R2~Z8rH2&jVl`x .(`$`& RN^``V26Dl  *VHz HjrH\ ZZ>~~BlR 4 $4& l.H\zRNlf\:`j Z 0 (lF`b ~XRB nL< & d:P *d`..V28> T&J4HZH  Xvb~ .&"Vr4bBFL:\  ~H @l6t $r.D 2\(h&nNh 0H0lD ^ bHtn.VnH>x<* x@l  rnl^RzRb\hV:$<4zp FF  \ |0vJ8pFhn>bPT  .:`4 b|f4VpR(x  dzbl(FFV D H<Z v v:Z"B(z``X0B~.j: > v. F (p( T 0nn|8vNV  8rn$ &X8vFHTx( 8 Bt6 `f8$86x2l4>\nFln j   T|t D  6z P4,r n&>t,X && 2F. 2 0bb 4 hJJf*V(fVr N * b6V <8>P`V@XnFvH8h,j  &t $ Rn*Vfl2H( P @ >:~2*<$"v(002BR 2 f 2 Ll4p`l\>&BNjr,p,  `(Rl  <4~h0(z.@Xf$Tr2 hp  8z\"0\F ,  V  n4.v$hjvV lXtDz6n |( "" ,r*"rTRFdv|$P>Z  \8* * FBbjB<P>bHJHRV ~ T*$ 8 0,Z6r6J> l &>>*>p 60> JPdBVX$bpf,6( @x>t  ^\(z\Vv4Zn^F |dD  >|LbN~|Fz~b . ^ B VpJ<Z>$0LT@$D@ X  Z D8v|R42f0 X  :HX :D$`2TPjF2hz D J BJj4\ 0N` 0 N jR`,Dr8p|B>x T2* Vn <LHfT d B  PF0P`d0^(H2l Z :6D" d@"`@t v8(4 @ t (lF,N\.:`*4 ((~X  f ^ZT:Zzx 2  L h$TNhpdZf8f8>Rh \B( H D4VjVzzl ~L":\Xd ^Z$ fD.&"`@Fx$P~:l<\ RV8  dlJJlp Df@pLz0v Z^:$p0rLr8b RD" $ DZ@>Bn F x^$nX^`  0: ZtrJ^Nfh|b4 , J |P4L:zx\d|N*R*4V J x Z::\pFXHjz `  r ..n426R<`@lD(4T" t zp NH:~L6XD,r,~LDh P(2$ hrx2ZL0^~tt&~& B&2l j. J \,jVR\&Xh z (>p 2Jt0, zB6.rjBL& Z 2 < 808Z(@&:dVZFz R, v8B@V6F$ F$ j D ` P$@6Ll(j>`8&l n f $"j&D2`t^:v6p H f <  h *xFT(n>\vf b  h n <v*rfZVP0J ^ZX XL F ~px"4(T8,hP L`.p0`` t Tf~FdLfNX,pd~^v t X p ~6N( 6N(:>>@~t2F<V.~l$H$"PD \ < H *X2JX4j B`Vnv\Rt  4 ^ 6 ,:HD,D,L:H"^ \ZZzzx & $ ^ pv(fx N|:Nv( N v F |,lRZN\P  J DxDz0z6.lbvVHL*tpxh r @ 62bdzRN P*\XD V 0 PRbptflPL0:.l , p B X(F:hr~T`,:0h$48x L ` NN`F.24 L@&NR8b2* vX R  \ B 60"h2H8L8r`jt8  ( :R0.d~Rb2< NX>z ` P R  fHhNh: j.2NT6n|B , v <l\ |<z. hZXXT,D ..P2F~>PVx N brtjn$(.^zBdfn0p  H \\B Bl "*^0@  D j~&,,:6:d2>^@XVD4^|  6zd^:lN:<^F > Z & <dhj ,n,tzVD( x :hrf``"84&JrBH2 " ( v t`nVx~dnX . $2 `h~*zp<,v ,lR$ |>~h(&n>j 2 R rbnTZ"8bv.0~@HB r L8< <LFb\2 n * < TP4.J:vR 4r2F  :zV68N~J^,0ztVp*L>(vx N 6n(bl&4^`|H(D   "BD>l& $@b60dnXfTBD"  `vxz0>@F"J@4r2<h jj(  <@T$h: n  bj R4DNh8Nx>4F>LDV V"" zrf$.@<@&njB nLllxPn ln.BNF,&r6>vH^@,J`|4<t(JljX^&fL\rn.6:"zzP,0jhzt`f(p*l\@pf* <4:b z6h(p2^n*\JZZpx* l4@(~|0 ZTv62$lDJpR"xrD 60xDJn Bx0B.$fD|   4|rh. FNrV:6f"lnJb8$D|hx6 &\xLX r`<8JJ\@Vtzd": :HRdD*V8 6 NBV &0F>$dZ4^f&FBrf*~.p NBR j$6\>L8vz0,F.*v\D^T(B2<^HfN@\t`B8jd< r6hz@ pvv0 @(dz`4zlL`Fplft0PBZ|8v|"6" Jv6 (L||"BbVj.2Nt2hZ.vBDb.8`V"&@llv  26H*ZR>pH8480d8JXjtnP>F(Hjlr4r@rF@j\ NvFJb Rh2*tT@<j.\LF(,hh.t&^R " hZVj>nT&j"4tZ2P^rJX.>tLb,VBVB*zJJP ` j p"N^XfN$:t8HvhHnp\x^XXLL"Tx$jj^v&B HlRz062"T2<^J :p&,2HVP`\Jv8D|\.P dh0pV .z.J<| \v|6Z>J48`.j.f lDlrbDVHD\"\,V42"t@LH|x,Br~t~p6P\f6n.<\LH:6Xf@<vRp, :vjP8HV^24Hnp,dn|l \4TX6JBhJfX~, t$j ^zdtL|Bl|L~.\D&thz&Nfh:fJTR\jFR(`P Fjr6N6pdp|TZx.FZN@FNtPr"TljpF*b.\rjv,RT@.` ^"p04r L~0p(bz>Phh\(6:JNF |.lj4B TF vP vdR~6|jFtH6*Z6|d*`hLdR" J4d&`n2(hVPfX`t(6<P(.R(V<0t z N8pn^\$\ 6v"0LH\`nV64j tX6vdx$J<jRr$ 6( 2L">Z &p8:<bLlrz*@*J>JH\l >(>LPdT 0D .x`(~P t  :d42~T&6(&NNvfRFb0N2<bJT,>~D(fN6JD :<NvN*::>r~& 4,r^jr6ZPTX ,> <j:@Dx^f2LHFN<,v$R ~| ~ LFL"`~JZzjHr.PT,LnRBxZ:B.*>br xJxLh~lF8Z6^\,x0^&"dZVj$.4 rV8T20RNRJ,FzP N\ HpB>V0@xLdpN\ Z"|fd4x4\4$xT.@(> DX>,HbT :z2F4"|RTZ \Tn Nfp.z@ ~pTR Fh\dp,bZFpXL:8L<F>0d:L8H"6$ xX .L\Dt*l~>8(.Br ND@J(|0PP2n0v\^.^pzRf8BRt <^X`Jh4r4$l$x&lZb0V\l>X0D4v 0nxx r>b F0rX::^NB ZJT``,vh26LTp,*P@vHL(@`f.:h "TV|f,^F0FF"H^ HHfx4"d@ht`XhPV"2 lF@40*`Pbdx"`vN.LfV0$XD$H2N<& dV$@rn:|J*xPTL.0/* string.h Definitions for memory and string functions. Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif #ifndef _SIZE_T #define _SIZE_T typedef unsigned size_t; #endif void *_Cdecl memccpy (void *dest, const void *src, int c, size_t n); void *_Cdecl memchr (const void *s, int c, size_t n); int _Cdecl memcmp (const void *s1, const void *s2, size_t n); void *_Cdecl memcpy (void *dest, const void *src, size_t n); int _Cdecl memicmp (const void *s1, const void *s2, size_t n); void *_Cdecl memmove (void *dest, const void *src, size_t n); void *_Cdecl memset (void *s, int c, size_t n); void _Cdecl movedata(unsigned srcseg, unsigned srcoff, unsigned dstseg, unsigned dstoff, size_t n); char *_Cdecl stpcpy (char *dest, const char *src); char *_Cdecl strcat (char *dest, const char *src); char *_Cdecl strchr (const char *s, int c); int _Cdecl strcmp (const char *s1, const char *s2); char *_Cdecl strcpy (char *dest, const char *src); size_t _Cdecl strcspn (const char *s1, const char *s2); char *_Cdecl strdup (const char *s); char *_Cdecl strerror(int errnum); int _Cdecl stricmp (const char *s1, const char *s2); size_t _Cdecl strlen (const char *s); char *_Cdecl strlwr (char *s); char *_Cdecl strncat (char *dest, const char *src, size_t maxlen); int _Cdecl strncmp (const char *s1, const char *s2, size_t maxlen); char *_Cdecl strncpy (char *dest, const char *src, size_t maxlen); int _Cdecl strnicmp(const char *s1, const char *s2, size_t maxlen); char *_Cdecl strnset (char *s, int ch, size_t n); char *_Cdecl strpbrk (const char *s1, const char *s2); char *_Cdecl strrchr (const char *s, int c); char *_Cdecl strrev (char *s); char *_Cdecl strset (char *s, int ch); size_t _Cdecl strspn (const char *s1, const char *s2); char *_Cdecl strstr (const char *s1, const char *s2); char *_Cdecl strtok (char *s1, const char *s2); char *_Cdecl strupr (char *s); /* compatibility with other compilers */ #define strcmpi(s1,s2) stricmp(s1,s2) #define strncmpi(s1,s2,n) strnicmp(s1,s2,n) #if !__STDC__ char *_Cdecl _strerror (const char *s); #endif nHH 4$6R(*XLb<0 $8\D,~v \2v@H<6B"F^><jX@zhn\p\*.R:xN0PxJd&B*Hz"Thp0vlz*p<Vn\~jPX~PLBRL(nR~j>X~.v`x>D  ,x(R@*$v(Bv$\V8~&<|vzN0Nx<6z>@PlN|$<Rnv fvX`z:8LT*|:FB&H&DH hp6HPrT@bzxldl8~<|p8Vhrf"@4(.\F dpp@^xF\*8<:&zpZl LT.0 pZN|TF\*x rXJ* 6(l,$Fxbz*x`@n4xx\>\0fT6N ^|TjJJ.,6nz(N:$|@nr&>Ht>4(T6Pp2:.,"V6~L|Nz0&V>|b44J4Vz>"l$>$Xd "2*BNV&Nx*>.$:x0 b~:,RL6ZzrR&:,>*T0hBNHdt(t |XxNfHFp< <bDBZddPt2HF "" `j"nr$R0d.B: B n`LHDDfNpvN8,D:L zP:.L> b@:h2@Bxr`b6P"J@.2<Z2bj4pxN."``@HFTr*Zr (:Bh>6|>p\l,Zj0$t$~J8*r2rt<^d,2:@.l"r4\N" :rzLL|\":pJ,H &p :vljNr*DtZRhLD,bRpnN46^$Vtz<@l2BND *d4v`lZ (~d^,x4"Nv Jn<,ZPF04nj<BfVV8$ZrJt0B,rh$df*FPD&Vl"LLDJ*^> r8@VJ& \L.l 8~8"ZB8VT(V,xD"Tt<$^ht BN4VL,\TlFl TBL<Z .V^$^p\Z2HvD*l&2l`TJ:ZTlhtlD|hh> >`FLLZ$*FZV@nX8x\.f:l&DtLRxH|T JRrl\Z r\d\X\@&t8*dz ""`Lb`&8NR `VL$vrp v ~JN4`h F~l&rt,2~p vBZd6:xj.z4 * ^fjn`x0pxd6LrVhZ. Zz\d$t>XXJ*HV l P XVv 8PdZ2B^6.$L^N@xf8bh8$6\bTR&2vF0<<@P^xtHN8 RB\ ,0.@Xpzb PzZ> ,XjLF*BDHHPjt0:Rrz^":02rxN" 4:@Vp&<|l8 $ z$$F6h0H60>t8&(:h`^P ZtZ*(.~4,j>:F2("z0 6`T2r>ZB <\j@0& >N `$tLH^ \|XF2(:,4NfDJTR, Rv \xT6*0BJ`4V&,f*dj* `dJ,8bf"2 ` TD(zz@Dpz\$2BB< .0$trLlnd86lZ40*BvtB<\xnR,PvBz" x4JrzTB^&(f0@TFvr|N,@d6nzL^f`0p>.,x\&\j*6NnH2p~pTH:8 \D.Lpzvn4,Hr*x f$tN`NHVnzTz6vh&nV,v\ZlFDB>`vlL@ r>^ TT ^nhT>Tnt|~B, Xdv<V4&jnPN^^p^NVXTd~\JDHxf^fX^~ v *Vh&r>~vtJ,pzfZVLN>L(R(~.,:L6^ppdhjN,Vv$\Jdd*T^"4Zj`lzpB.b44>\lf bxf&.RP^r>.lfz$V4FvXx8&24NzLf^@Tzhp(2v> &*&VF&.Xn$.X,d.jH&&lzP.*\v& $0zZ<<: &(dT..TtZDV@F6bXx$6F86PrjN>p`6p~~v&8vP^z\VB&"JrXXPff(,NPp<hhN HD bT $8@ hDBb`jhH*P|8$bh,Vzt~2ZrXbvZB0,.@|r: <H F~ "2~r RH RdRBB(8~|6>ht`2V\*HV ~J LRJL8 RZ2bll6XB (BJHjhR0>J`T:N^$H|(4:b( ><fN.$ 2TdbP&LP>nzBp(|@<4~nP82FZfR"L^`zl* F|2p||L0~rP0*(>VhZB~RPdrrf2,vb(p<TplX:*0<ZnLfbbnL<\BN,<lh\J2 (jvNzdhl.z&b<LVN& *p\N|xfrf Zv @NN,\|p20xD4nr\\dntt( 4r0lB*Jr$ F|><lvjjndbZnJr(BLj RvrB @htprZj" ::8L2pL $Pnd4 Ddjf|jLf8D~(tXz&lX:Bbnd<4JR`vzL(T<h :Z.VjBDD<D^vh48DJhx@*hXHVdvF B8Jl|b0(62JxB2nt,@JJt 2RnvZ"$ Jd*,tX T6D6\Z JP"$Vv,vF$ nrD0"bT(",X~V* XD$"ZB(Nb|H,:6 \Z*"ZnP XN^\VrfrDBF(JzzX  TT ,J8nRRjdX`R0@r~N \^^2 |6j(Rj^Zh\4 <|@2ft( @Jj\RJ"FH\j`BBvd<4FfnxJH8V4NdljN>XF8BVRF`Tnl(0 D"D\~X<@.<\Z@4JxZ**z>"jhD0,bT$2$(NnbH0<tp:, $d:"T\F (0"VxtL,2jzfTX@X\$RtftB<>&HtrR V~T*J6lU>%z]'  S- $OPv =VЪ?yQ "t\ܴC.+En'(S/( : :ư*[j$!P z9@~E 8?/i?a7W a'"{ݶڔc M fGa;dq*ޚKtqp˔ȯ-x)iH;G%'NlsbC*pQ18d" Ud]ȸVCws1a$RŲ 5 SWg8*:4AD2 u rA*@wOdT= H+o>??OĘ0K:S!#Q59CŬ{*NtSAFE>~L[oEI <C0 l 3W k?c6ǧT,=8Tbo1vnkI*1g61"J<dn-" SňƄZ&3/p4BSSy!`IN?I#B:$!(#R [֫;&~^gX X'$4I`tNnW?OK>.!42k"غߵy-_ %±2Twa 8\ h?VqRI&G; #/1)˳ ;,h  %HZdQQ\ZE1%&3:&/?Yܔê˸*| db;1\$L|ZGPDUi[BWD%2(#-B?k ٓU[Po/0ǰӛi7NQKUZL^YTEq%&8>C>[a촸T9>!\+H8PITT\kW:+d+B0R1Iz˱Dm* ܜ=hv0Qb8GFUd`S.C81qEbGtgc*3~ʽ ueѦљѴۧ'6@LWFkeRJ+$aCJ;bO# 3pij #ʥ<%A>>/45I\pe;-8fGQg8P GГȶ+.y,tx 0(.GiiS:. B]U^N#-O+ [Ǟ6sK>\̭}ٶI og3UQe>dPH/Y6(N2VC*zwyйUk ز U̵i4TfdY6.yAM#R81B0PSN?[15* X-]"8Ė^8צA1G_"QdQ>d@RDW1QK<0%n 07J[_fᲦ͵Պ\T)PS=;(DK=SJb@t;)B贱B`t~R<ԈV4G*Ev=:sHP NMEH8~(i Wc@ۮ8-RgCԾɭ% =/ B83>3EAJKOC:2~(#!ܑ5ʙly)֞]; ˲/S<+1949'AAMQo t>*1U:6q.&*1~"C("?cYlj:TVQ *;0/>2(3Szzػ)ҳ^ wJ,0/9CTjZ@=/19@5"׼vF[b[Sd[ij l!)[0/6aO[PF=1,5>H3+ |BjЫ'ҭiܮu_)"(J=SWrJ pwJ)CUXN>l26pKO< N0ҙŢ;NXY~,_&S;<=81FUK6w2@PJ4$ ]fʶCOֶ˟}#C 3LXRA/I9IJMcGc4Q%x̌i]Aܥ;;r 99ZQ+He75A=>M-N?6.7It7N:!է yIv#u> HK@15:CJCE<<4}*˞C!;*] (AMD 93w=7JDbBB>d:RmPzTVWjǝ.q4,A-;1N;AF:F=5CJ9-'޴ z>^\ȓP903427DD:?NM2 $6un/*1 NB}ضd9,S2-s2@DZ:8JSFK0 Lq߁.W?ƿʪѥњԘU P*)*;%D:H6>PN1X-G+tPac*G2l_/Bvr#=3<>Q63EfTTF+M ">oDZ<}mǣ o#&]7>7z28JU2UGI)| lxf}WRˁ߾#Y +7/9.00;vI)XWB;* Q7TDH{2XNdٞ.31$0-9; NUS2C& 84E۔Tv ¸ ܭ`)^2.(.0">"NWvS@\&K?|D'o vǺǽ @A5&+4-*N(0?PYP0Bo*t } "#.lg67t :)i)O(P&O/COUES@g% aqޱӘ Or2knԟ F(("4'%4MBOP|XwT^>#?|ZHϞ- $#"y))4ZBSZR>" 0)B?ƿ,Q J !#&3ET]vS\::! l;vh$6)x69 C1&m1wDU[Q5jJ|hͷ4ػ1~ #V#0dBZVK[[JA-#!R8D+ID~9Rf.N LUͥޣ3, 'FP?HB@@;)4VߴZ;  [ 0EJHEyBDD=m'"*Er_zmHܑ~6  2yADcAAGF9%)k8$m@h@ۀ ƶXN yM3l?=>EIFw7$u'4J#?_ļkt/% }2K9:=FHJBCz7(&vW3wp͕L]R "1399BJKC9'PiF79a=ҴAЇ/LPf!+0Y8CGAJE7&Xr> $O,>֙ڰiէ0L  '08ArJ(K&DD8'*Cb:8K/OקWڲVV&.]7,CJHC\:)4C!6f1ouXh3R0$,a:EIbJnE-<,Y1]Dz?I qkh0s8 !,8 DSG6HH>)\jj9L7* # ,8@2EJK;#d,<2_=y;&⽌6֔ؒA S,E7)"f8sR=Dh3Ϭ{e ,"(3DKH[C7<-Auk# =d<إB`t ?"@5DVGGG1G=)XCtTE &p.KϞL-ۻ"q]F#5~>DH)H=&pv(; ;sQcΆuڕ/.H$$296 1( @& /kkJ̪гӬ݄^r#1V>d@<:k7_2g&LR /X, D<ҍ#СϑA0;=;;:`1<%?j O.kF #QЖ̫>ͽD`$/h89=>*9"1p'a   "mKҢ#/Шsysd+3#:==8=2) { P ?H_' tAec8L$(2:p=<8/3Q+|O  0Iaܾհλ`gI_,'42m:#=::6 ) P2W D,s ely צܰ])%2X8w9<=5(JBH d pˍǝڷQڿ8K3&D/3:=q<6L),R uBB9mۘ=ۅ۝:<#+486$'>- 9ܑ3Rեܺ؀ )6!v+29B??.6%_Z b4Su ,Λȕڹ;T4e(,1:G@-@4#  G  K@ŢIۧCkQ &09;B|>k2$c   Y~ػ$h{QH2F#01=A< 2;$)sM74 ،Шvڰ9ԧ؟l( 0#1U<@;0%,_l _9 rfhҭ҈spo 1״ m#1=?d91y&C0.r N 8rxڬXٹ"L#3;t>:40'h t & $مRׯڇoRN?#1HYZHN#3e:L9852* C  3  :)[۳J-۴$05S9:5(o^ c   7   9P"ڮi'ҨIԨچd"O-49<_5% L  q>d"^ګӫԟS !*3;<62% i  ^sl$ ~܉:Rau~^}v)k6s<{;2#}}p 84 ^ F%Uޏyj (0HݎS-)`51=;0u"lZ ' ]D ,UߜH\VTt y("7=8.# #   CGO"1MӾՀYg *7;79-b# wT ( #m < 0gqla "75wH*6:4z,%  [ 7ٻDӹ|*`673- %) $ V@ Q)FI36;ZV݄[v*3263x++%L 3L ?@;WEOֶוح~Ԛ!Q!)++q->+#w5 P $l Z 22 lV3q !Y&),-+$| Zo /@۫ڀky@~$z(+/,+!  1W;'}'܌d٤ԻҊk؞C<"'g.1+B>y 5lC X=7 qg>؂B(j01*q 9"]+E:ҳ5T)_2P1&}$>&lY+E+ԧfL֚b> i,1-]&$Jgxp1.*ـջС!+//-%~lug 5W|ڄΗ| +a/Y+$|1<S 1#| ]ޯ1`ٚJ!_*,-*#,/$ tO(fN:۞+lў`pkd ),1)#.P P iV1Ae͹Ҧ@LJ ;)L*%(${p 5 ,mqUN^϶\f?n &})X)$`6 71J`? F|`T՗tKNe>&)m)%O;p3 \3k&nDիщ>֪cs$6))$}inU ULz9.-P{|Xӏ֌٦ޣA~$&)'#vSE %ST_:h?6wxӶ= .O#''"sJjya U 8t+ b} "l(x&HFN u \ 6|jܩjӾܙ[ # '#De} y 0a2hLփU? r"$E">?3Hsb3I ||-مֈJ f $"'!~ eUnyP+ p;5lV,sTӌFrE sE#!"T 2`O_ X[ e9N׀ӪӭzL fZ!l"BlLoCR).h-װdס 4!k":m v?;+ \xؒTj  Ii+ R/l+\ ץ 'VXe }4"pig~ҧCl   4 g)'HֱNl']yuW* D `,&7۬na"؏L~0r-qOv 0,Xz]ٟ<qa2v| 30NN5q`3ԡ}?@ZW`" f]y'P3KZR(P6K[wD*4|M"a @?CBڮaw)7v%]eAP! $A.i:` [zP _q-+ a2 ֌ݤan 2F=d- '@C7Nݴԏқ; [YpQz Z L;AlwEtSԨ-m05I&,b> + kQ5؊Eѝ!R[~m"#)n v upkxNٽҩVHtu~:J#;(vQ yuKwPt&3SM)K TwLFvJ{fISCe0 w 7o$fSԻo}% Bx \(xX%WՏ:ݎ@* |F]QA# A *Zؓ\sܢi @Yyc]7 VR=HX^Rٹ%}D 6 C}]%FP a ]vץՑ#%h- * R/Ty [ e"d4U;sܯ(5 )px"+@Y@ j n.vܦׯռ_S.T TQ* t "ZdGdh.ܽ. X! H u  T0l Cjۄ   m2d,-:5b? 6HJP٣Oc&B$ q sNM ]!;{Tړpخ+M ux_f\d w)^@FB2U  :Mui/6. l'>4<[ُLwB Pa6.{^9 A s~]\c؇ְZ+'CJ}q^` * j&b֐e%B P #7kH:0g ~ W,LXVoa{w2}H crG'8 , / musݮ׭֨u,[ 3 }k4e`1b   M;$lܺdNۊM9 "]y]$K ? 9!f;ܠ,5H8 U +uv.#$ S  6 j 1iSY|kP]5P_ LvFl,#u b i.ݡf:Yq xtIw  m lu_k ޽54x 0> ?} = i U D٠ڽz#Xo YQ B  ~n'wLU0z J A ^"Y f # G/d #i  MQL5  {nPڻ$S 2 [Q,- D D r"  rSN: v-߹ ~; y $ y g H +J4ړ܃'4z 5^bT  96 { c X| -T^2 O ' WX=7OtI^+W5l ?GR rI  X'ܡݼߤd{&tU Q ]& X 8 'yl&N2j Gm2J O Z # zTwz7  j - s 0 | vg}VwA(2 Kgo/ P [ +' 0݆eo$8I 6Saob N Z s - wc,SNVm5IKsP \ 7nx "   <H 8 } o G *M  s/N! 9 g cu N Zaq~3* !kr BS i  { / (=Mt8 ,jYQE j d  f & lByH) z mfP D p ] 6s i >WxIC Jr  -_ P #*u?)$ ^  r D Q L] 9 * Yh) KC F f t (n, ! g<{M,Vr x [   k U|vixkl c 2  0 u@[ T .aqe$}O2Z i d f a l, =8V34`?2P= E d  z & [Ln, .|7e~$y 3 H x )9WJ Kid$c  i b z L +'z *je;W rUj'- { 7 m F Sk h{o.K~b " fJ 8 g/X~HK(Z%|ZM 7 H B 3  UA k8#k P '  P  fp JejK6,u O f m ] mRLie] b 0  5 ^  - (  ov6[ G 8  $  2 bRV';2\\3V \ 1 W V   k KJ lqfSfcka ( " B u    YB)@!$G Z  R X k0$T1:R  / / / G xA  ejq+!RR" D ` ~ K X   u4qfQwt* ( f   | / f QB 656iL(  n F?  r7RcC" >{&- h 1  v  % >AJ@ r ! q lE . Q _ (wLZTY!R]PTz 9   " Blg T>b?.^ l  O Pdp & .p>$N0l[ H    C *6 [a}2') h S < 9 l/U >5@sA> t + j f w 7;ZcNyKKfe $ Tm a\ 0'Y @I] 2  N ui&\,Ls}6 2 CJ zrFjm#2gZxIK-l  XRot )=xZIHWGm H ^w }q@C3+.P/* values.h Symbolic names for important constants, including machine dependencies. A System V compatible header. Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif #ifndef _VALUES_H #define _VALUES_H #define BITSPERBYTE 8 #define MAXSHORT 0x7FFF #define MAXINT 0x7FFF #define MAXLONG 0x7FFFFFFFL #define HIBITS 0x8000 #define HIBITI 0x8000 #define HIBITL 0x80000000 #define DMAXEXP 308 #define FMAXEXP 38 #define DMINEXP -307 #define FMINEXP -37 #define MAXDOUBLE 1.797693E+308 #define MAXFLOAT 3.37E+38 #define MINDOUBLE 2.225074E-308 #define MINFLOAT 8.43E-37 #define DSIGNIF 53 #define FSIGNIF 24 #define DMAXPOWTWO 0x3FF #define FMAXPOWTWO 0x7F #define _DEXPLEN 11 #define _FEXPLEN 8 #define _EXPBASE 2 #define _IEEE 1 #define _LENBASE 1 #define HIDDENBIT 1 #define LN_MAXDOUBLE 7.0978E+2 #define LN_MINDOUBLE -7.0840E+2 #endif 3r pFDrD@`B _ 3+333K 39332r2 \ [ ]8 (33I3J3T PHM  V33G 33333T 33cZF33-c3U D\3{ >W S 3n3(b3'3~3 3 3!3!3K"3- $3$33*3%3*3633&333a3\ Z3/333333- 333W 33e 3,3X33H 3)333 33C33[333`3313326X33333V233535333;36 3G3H3Q I3y 6 K 'Q33A33, ?EW3P] -363@9m3I3bd. 94343x7393 j{336ȶ)*0xrc ]@L < 69өD6]96?6    `A B;9;9;9A??@ 23 3;93333g:63 39*3  3Nȶ)r%6?))1b ?¶DE?@0]?? @?A0A B0u33?B@A?u?]??L> @ s2`((U:#pO2jj2"QQU{! Y!Y\14223`3Op~L~ L:VkJ++{*C6gqgV#4#GsH3G6qS||FSooF43Hs..,,ȶ) 506c6@p0$ 6`c6@p0$6c6@p0$@ppG@p9@paTEMPq@q@p63@p9?,?,@p8?,?,@p a@F'6c6@p0$6`c6@pLight377 zv HPalette94@hLight292lCPolys1124pv@/Garf2T_1k0 Polys1598Av@YVenm1T_0@jvRfwar1T_1 Avsboss4T_3Bvxuboss1T_0`BvTTboss3T_1@Av\boss3T_0 KvpOboss2T_0Av@uboss1T_3Av$uboss1T_2@BvPVenm4TaraAv5boss1T_1 Light317DvArmy5SaraBvSEboss3T_2`TvRboss3T_3@mvEvpock2575>vzvcv Venm2T_0Cv,vVenm1T_3Light424vypock2526Light415Light409Fhorizon50|vpsRazor348 v@]Light403HMetalr02@aLight408Wvpock2489{vpock2536Gv8FVenm5Tara@EDaveJump bvSv@TRazor339BvBotAccuracy[10]bv EvtRazor338@Vv nboss2T_2Evhvripper118p{Polys698(J Light300~Light236H Light301`-Light325dELight206 yvP$sPolys5766Light213Light208X7Light2945FLight214v_vPolys614@v@ffwar1T_0 vlanPad01@Light478vurse][.unrvtpbolt141Light232gEPolys804E\Pavmtcr2Light248cLight401 vLight477gLight241Light463xLight359vLight465`Polys690 sLight240VLight352kLight2733`rClfLit2x:HzLight474pLight360FvPolys607(Polys413HLight427 hLight480uLight259Ev|<boss2T_1Mv Venm2T_3b@DPolys1622@Kv'vArmy4SaraLight247ELight204@Light324 Light242cXhLight481 Light365Light296Light2127Light331~Polys543Light313HzLight380xOLight375OLight361mcLight271 Cv vVenm1T_2@Light432]v0[pock2579ۇMvxgVenm1T_1BotAccuracy[24]hLight234Light431fPolys1614x@Light473yLight472 Light442FLight290(Light395`Light394Light433@w[Light3939# Light467vOLight391w[Light392Я,VHh[>, Я,+naH,h[>,  H,#+na,_9,ComboBox #32770&Options...Act&ualiser Barre d'&tat&Barre d'outils &Affichage&Editiontrl #32768 zna@,t,+>wV+@,w na,,_t_tPw`X+Pw( +na,Nh[>,H+,+na8,Ĺh[>,з, p&ar date,par tai&lle par &type@+par &nom na8,7<,  #32771  U$+A`r8,(,p,p`, p@, p , !,AListBox h,+na, X,MDIClient ,+nap,[ w@wwh[>, Static +na,twwp,DDEMLMom ,+na,2w4w,DDEMLAnsiClient ,+na,2w4w, DDEMLUnicodeClient , +na,4ww(,DDEMLAnsiServer ,!+na@,4ww,DDEMLUnicodeServerAar,br, A Racco&urcil&Dossierr lNo&uveau p,0+naH,@wwh[>,ToolbarWindow32 H,1+naؾ,H>wwh[>P,tooltips_class32 ؾ,2+nap, @|6wwh[>, msctls_statusbar32HF??0?? @?AAB?@Hm  ## |-P|-  m m |- H^s?pD`nKC\ npGp9FF33333BB3BB333933|3333p9333933\ \ [ 3333B333333333333333333333|33}333B3~33~333333333333333333333333333333333333333333333333333333333333333333333333333333B3333333333333333333333333@93339B33{332ȶ)gCCJJ.n 50HU??0?? @?AAB?BX))0 &&`*[ HظmX  0+L.>+@,J,T,)˓4`m tm P m {-m *[^nm<=? BCHCCECA33>@E>AA@GBdA  ` =???>>33>fff?@        `   `   @ zR0Q0ature. This is set in the Input Options menu.f}sification: Heav ?-{MLoĹ&EW<s }?0F?? @?A A B0u@D33?B @A@ @F@y?F?F?@0? @0sE? A PK>>zDzD DCL>@@?>> `@@=?D92(K:83)!9I9hen you release the fire button. If you prefer, it can be configured to fire a rocket as soon as you press fire button down, at the expense of the multiple rocket load-up feature. This is set in the Input Options menu.}sification: Heavy Ballistic\n\nPrimary Fire: Slow moving but deadly rockets are fired at opponents. Trigger can be held down to load up to six rockets at a time, which can be fired at once.\n\nSecondary Fire: Grenades are lobbed from the barrel. Secondary trigger can be held as well to load up to six grenades.\n\nTechniques: Keeping this weapon pointed at an opponent will cause it to lock on, and while the gun is locked the next rocket fired will be a homing rocket. Because the Rocket Launcher can load up multiple rockets, it fires when you release the fire button. If you prefer, it can be configured to fire a rocket as soon as you press fire button down, at the expense of the multiple rocket load-up feature. This is set in the Input Options menu.= H0{pz~bg8OGniM{|/~-/۞_yGGl W ?n (ww;z{wNSLOK  ʆVN=/'b aL> )xM' H/Q CwOPK&cpqOH ,'|!G;7l?η t6%PG @Gw@+wJGԮDDFn+7@ԇnp?*? W[z ƆݯMWK7~VA̧ #7S/7Џ Wկl&?7ϖ}4N 믋ǎKG <7 UሯSt';wy?   ݮ9wE?w u?FoOMy ~,B7?&N6gN7XגGBOsFvXGT/\nx-8@J.L%OI^Kb>o<(H8{x:>bo8Wnj z D{/y>*7K۞gytF  }O?p 0wwz;vF쥇KTNO ϊ7IvFVBN=0'Bg_㦷 ?h)xW G JO oDv ߁ L'cXvgH ,'|"OB/;7n'η t6$@IHwPDfwN߲펹)pׇ,7F`pmʞmS'F.G ~/ ʧ~FH7\}w *+MҧX'7#-XNN Ww9O2ϐIW"_ wmUZy E5}w Og PSHG$|t&o2G p.V>+JG|xg4倿,blo  HO5H َpl6[/I.oѧ nfxOD gHO;6lF7O=߷ H[`g  XGG/}{>ݻ2HЧ; uhGQ/N\n55zx.07@N.GFH$AG~ @' b>o<0I8xbgxOnmM| DŽ|/1/۟g GGlf  O?k@xw{{yN S;/HJOJφFVN}/'^e'B * BW WQ 7vPA' )gxpo  , /;7kR t6@+P嗯 !H7@_LxBhw@I.(h ֏-(?F=_mʞmH/F ~7˧V H7[I%E* ЧNX'wG%28 @CWwiCw1 $_ߋ!f!׊TZ' "4|Ǎ #ٿ/NʿF%vo/gE-Or6EN+JGxg4倿bloKLj=p؆0l6:d'I+oΧ ndzOgO6lG;w?wAMNܾH@ǃROG/ O ZGF/=?<޸:hJҧO㷶wEG7HTGVAG.uh?NL/[f5uh2-w(xT>< $?Is'b>o;(I {X:>aW?fq ~J~/8;'ܟ_9)^ WI GNb @yw}{~^wSCW|ϊ߈VN,'BP m' G*80W OWQ xsPA+lfW N,x </;7hR7t@63p H#8  z'koἇ96Hower1E*KurganA*@I_Tran=*Testing;*Abelt16*eRedSkin.*I_Scuba-*`sScubal2,*@Scubal1**`1suitsnd'* KevSuit#* mAsuit1!*EI_Suit*Flashl*Jfire1*$Effect8*HFlareM*I_Flare*flares1*@Mflarel1*Jband1*bandage*ܢHealthM*0,Jarmor1*,ArmorM)AmpAct)HEALTH1)pbShellsM)Jclip1)I_ASMD)AmmoSnd)بEndFire) JSting2)_Sting1)EightB)@DPistol)0auto3rd) Automa1)WTargets)TransA3^)PHalfHud])MDeath1L)`LeftMaxE)ArrowURC)ArrowULA)XArrowDR?)ArrowDL2)p[DrawRot1)DrawLoc,)8YBotNum))sSkinNum)2resNum)\`NewGame)MDeath4)HMInjur3(bBegun( 0MDrown1(Female1(dyell2tn(D_DMGame(nSvMenu(;bNoLogo( yell1tn( ?side1b(1Updown3(;smlmet(`Hswim1sl(@=dive2sl(surf1sl(MenuGfx(Slide3(Slide2(roam1sl(Slide1(кyell3sl(zJTree91(8~Tree9M(JTree81(PTree8M(JTree71(Tree7M(h~JTree61(fTree4M(ASlith1(JTree31(`$Tree3M( JTree21(Tree2M(ȩTree12M(Tree11M(Tree10M(4JTree11(\Tree1M(X0JBird11(JWire1(DQJSign11~(Sign1M}(pAcall1mv(@sconceMl(%Jvase1j((Plant7Mg(`Plant6Mf(hPlant5Mc( Plant4Ma( Plant3M_(Plant2M\(Plant1MZ(IPanelN([KnifeML(JFan21J( call2bG(`dJChest1F(mChestMD(Candl2C(cflame@(x CandleM<(06JBook4;(8JBook3:(JBook29(JBook16(BarrelM5(Endpush3(@ThighM2( Jmisc1.(QJleg11*(JArm11"(lJgtent!(TentArm(thumpmt(8Jgfish1(@JBody11'JMale31'JMale1'JMale21' bCircle'Pthumpn'_NaliLeg'Jgnali1'@Jgnali2'x#thumpC' CowTail'0CowLeg'JGCow2' LCowHead'CowFoot'Jparts1'JGCow1/* timeb.h Struct and function declarations for ftime(). Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif #ifndef __TIMEB_DEFINED #define __TIMEB_DEFINED struct timeb { long time; short millitm; short timezone; short dstflag; }; #endif void _Cdecl ftime(struct timeb *); LHP9> = D`(4<* LGP J = D`)4<*  `KAP g9 > D`.F*L?P*t` > D`<*L>P.Y > D`<*    `K=PBW > D`.F*  L;PfA ? D`<*L:P]@ ? D`<*@ @ `K9P@.? ? D`.F*  `K7P@.C ? D`.F*L2P@h.| @ D`<*L1P@V]~ @ D`<*  `K/Pvh@ D` F*    L,Pp,A D`6:A* L+PF+A D`:A*   L*P .A D`:A*O(PNGB D`:(* @ L'PBB D`A*  O$P B D`(*  @  O#PIgB D` ;(*  @  O"P`B D` ;(*0  @(0 `K!P`tB D`N:F*    OP`tB D`= (*  @  OPLh D`(*  @ OPTF D` ;(*  @   *%w * a * OPU D D`:(* @ LP_D D`A*   LPu~D D`>:A* LPo  D`>:A* <  LPLtD D`5:A*   LP-u D`6:A* <  LP LtD D`6:A*@ @ `K P h D`6F*  `K P[_ D`6F* t LPFE D`A* LP " D`5:A* <  LP,N|F D`se743@ zvActorChannel13161pActorChannel13162iBladeHopper138sx(ActorChannel13163ActorChannel131640NActorChannel13165`tActorChannel13166 UT_ShellCase744h UT_BloodHit9533UT_BloodPuff1443 rBloodSplat20861P)ActorChannel13167@8ActorChannel13168lUT_BloodHit964sActorChannel13056jActorChannel13055}UT_ShellCase771p:ActorChannel13169ActorChannel13170>ActorChannel13171ActorChannel131750pOActorChannel13176`pUT_BloodBurst1138XOActorChannel13177ActorChannel13178POActorChannel13179  mActorChannel13190P mActorChannel13191ActorChannel13192PmActorChannel131938mActorChannel13194`mActorChannel13195Э>ActorChannel13196pTActorChannel13201TActorChannel13202xActorChannel13203`ActorChannel13204ȼActorChannel13477UT_BloodPuff14530pUT_BloodHit963.`@` UT_ShellCase766ActorChannel13476 ActorChannel13205P<ActorChannel13206wHActorChannel13207ActorChannel13208UT_BloodBurst1139 ActorChannel13209@< UT_BloodBurst1140pP9 UT_BloodBurst1141ActorChannel13210ActorChannel13211@D UT_BloodBurst11420PActorChannel13212`P@ UT_BloodBurst1143pActorChannel13213@ActorChannel13214mUT_ShellCase745 . UT_BloodBurst1144ActorChannel13215 UTBloodPool1901@ptActorChannel13578ActorChannel13216ActorChannel13217pActorChannel13218``UTTeleEffect703@UTTeleEffect702pP^ImpactHammer311"ut_maletorso902жut_headmale1033@ActorChannel13220MActorChannel13512pActorChannel13221`ActorChannel13222 ActorChannel13223PActorChannel13224UT_ShellCase746P+ UT_BloodBurst1145YUT_BloodHit9549UT_BloodPuff1444@ActorChannel13225p@UT_ShellCase747dActorChannel13226HActorChannel13227BloodSplat2090s߾ʱ #iŧY0s`0]B )߭˕0,,L\B,= b6883=k`88886o< i d۩a "0(0 52#/A"0(0(rL Y@86;(YnkO+;6;@b< ir+8@60kwww`08@6&"d ,3((eʪk +85z  U&3;0"-nJsssX`'%3;0"Y 1m$L AXqqk5 VJq &&kn"%% ڌ033 YsmxxfU%330ښ " (,N:X`X?J' ( " ɚ|TWTW;TY`Jf_N`YO@WT]Gzɚ  ,UY]uu]A52'B'25Au|jb]U&  ZYrG(@TiRXbT@(M{{j9i  9obj{orub|Xwo|r{ojOb0  Pu+FFuKOA03RO30AOKw==+x!  -& &0( X 5O&3030%* qx*r88``Y2`wX;;bCx_! ! AOoJjX,  ::iwn?++?esek`ek7++Jski:1 !RNJRJJ?JW:K?8NJJJRJRJ# **$ ++0Xe`R0+&**$ # &%&3.8TjOAYM;8;03.B BJ:&< ##' 9H?itB-JJNJJRR?$T9-JRN?JJJJ!L&GoO#,2FA( 3AF2dd'Yh@\ ??4-*:JJXn0R(wRJJ:*4:??9ۓ &Drhhab=%Fba{o@+&w'  -> d  93% %.69" Y %369 44(93&  d  A&"   \#e%,=071(+32( 2` : +.+%3&"+.+ $1  ON 9033+".+.FA& k2 P:5 +6+AKF" U9 CH  2'w 5+....;..&& r  : ,.;j0==0GUA& 4  : (+%+.%.+&&0 ?  +=2+DD]YdYDD%5;+  e 907(70"-((F R  "+ +...O=JXNRXJ956..+ "+  'KKJXNN4JX}nsnwNR?NJJR4 =6;@;+%77*$75%+@@;6=2      '2&5J4C__C7B2(255   (((   1?44CqPZq?4-  ' %(3" 3FAF7" "70 *CՒտqC! A%..gS("(">UWU>&0 ""Wg+"++ "  fP__  KO %E;GS>76GWhhhWG6 >>SG;E6]T0+,1Pqm̯mZ*, +0W]>K(Ecar{gc@#6aa6# Mcg{racE0&>~[@( ?xɒx4&(E[~ISUScphr{l[6<[llQ5 6[crrhpgS7T;[Q0#f_mxf_f'( [Q@T">O>70 ""6   6(77   PffqmfmH   ,d\dzzzzzttidd\LLLLVVVVVLB*   !++-$!!$*$<nj9;@34R>7-:-'"0wwkwz%425AO`:+@@(3JX(" n%RB0+e+(wO(@D@"J"&:&+.;=K;F++?&&5;MG+0`0+R+("RwRb=suOGM8&J...66"X6666;=6Y66X&6+%.3-,;MT=0 s>wNn`"&5A0weJNXn(|0@@0F;MMD;67O;;@D89D]b;0X.&( .;0>;DAj&eJ`?X"%A95RXnn(+00;MTTM@. @;;;83@]j@"+')58M@&70(i3NNR-2K(:nJ%A0RR'F6MWWM@+&;@;68=6G@;.&BFGW@UXXFY%s?`J,&=!??&&09`26MWWD.&w3866;AA;8686k0+"@TW@Ue2F(??*",07kJ`wk%(,B7LOTTT;.FX6.66;KO;66.6,n.8TTT@O#X0F(kjX`R779 XA-JX>O"k-09@TTD3%3.6.6YY6.633+;MTTD+"w%F(e747X"9JX-"eO&w%+=DD6% w%.+++.UY...+.+w3@DMD0"w&(R7 kJ5J'J5'X&"X +666.e"++++.OU.++++"` +66;8& R0(7>A'5J2 JƔ(54$F..+"-7&+%+.Yj.+%+&J"+...+X5e?","4``XR-O!NJU+%`"%"%%u%%"""`%+K:J-'"'RJXJJ",- J'-7+%%"u""%&(7-FBB9-99-R-:''- -'-4J7FJNJUX`XJi`57XL % z" $?-JU7JFAA55-2-- #22252/2//#)g3R ,  2 "C<]@^>g @<])  % -S3^:`HgFp1IKj@^3   3ZFp5O{^^JWJiD{'L-BKq:W{^}\SFk8VFpWt!JT8L+G )IBd:WD{D{3^/P8 6 ;@578/25aefaW ZZPktW[^578$*&''rrt@5#&49(7>+;@?BCJ! B- B-&E8(7>bhkEIJPTVG^hIMO#&/25?BCIbm+/(-BEG!))'&? \iq[i\i \ir[i@\i\ix]ilc 8hUh=  0   h  8   p  ?f  @BC 1apQQQ/qcU7r1 1)dUq?QapQ?ccGG7)d1%X7UU/Qpa?qU7r7r)d L ?)rUq?QQ//7r % ?7cq/QpQ?/7r L7c/apaa?a?U???U?  L7c/Q?QQ?QQapaQU7d/q//U 1 1X7c/?Q/?//QapQ)d///q7r7d?  ?XGUq/?Q?G/?QQq7d/Gr7d 1 %? 1 L)rGc?aQ??cqU?/q?  1X)rGUq?appa/q?cL 1 ?L 17r?QapaQ?/G G?QQ?/qcGL?c/qqGG7XLGG)rL L 1 % 1   %X7U7rq/ULG??QQ?Qpc 7?p/q?Q/)X cQ?)LQaUL UQpaa/U? %GQp/G7r ?Xc/p/? )dq?QQpac?U  ?7??/qQQUc)X? LGpQQ// % % 1/aQ/G UG)X   G  555 '''!    ( +  2 J0E* / 9%+~U+rM;% ( E*.X(wPA* + ! 1R5L02 +  - % !  ! # !))'&? \iq[i\i \ir[i@\i\ix]ip  TVDVD N xN N HO O P P P PQ Q R  0hINTERRUPTS SEGMENT AT 0H ;This is where the keyboard interrupt ORG 9H*4 ;holds the address of its service routine KEYBOARD_INT LABEL WORD ORG 21H*4 ;holds the address of its service routine DOS_INT LABEL WORD INTERRUPTS ENDS SCREEN SEGMENT AT 0B000H ;A dummy segment to use as the SCREEN ENDS ;Extra Segment ROM_BIOS_DATA SEGMENT AT 40H ;BIOS statuses held here, also keyboard buffer ORG 1AH HEAD DW ? ;Unread chars go from Head to Tail TAIL DW ? BUFFER DW 16 DUP (?) ;The buffer itself BUFFER_END LABEL WORD ROM_BIOS_DATA ENDS CODE_SEG SEGMENT ASSUME CS:CODE_SEG ORG 100H ;ORG = 100H to make this into a .COM file FIRST: JMP LOAD_PAD ;First time through jump to initialize routine COPY_RIGHT DB '(C)1987 S Holzner' INT21 LABEL DWORD ;Point to next two words for jump. OLD_DOS_INT DW 2 DUP(?) ;Store original DOS INT21 address here. FIRST_FLAG DB 1 ;First time through? Get COMMAND address COMMAND_ADDR DW ? ;Store IP of calling routine in COMMAND. OLD_DS DW 1 ;Keep DS:DX of old keyboard buffer. OLD_DX DW 1001H KEY1 DB 'SAVE', 0DH KEY2 DB 'save', 0DH KEY3 DB 'Save' CR DB 0DH,0AH,'$' ;Use this to send to DOS. FILE_DONE DB 0DH,0AH,'PAD.TXT created.',0DH,0AH,'$' CNTRL_N_FLAG DW 0 ;Cntrl-N on or off FILENAME DB 'PAD.TXT',0 PAD_CURSOR DW 0 ;Current position in pad CURSOR_STORAGE DW 0,600,1200,1800,2400 ;Hold cursor each page. PAD_OFFSET DW 0 ;Chooses 1st 250 bytes or 2nd PAD_BEGIN DW 0 ;Beginning of current page. PAD_END DW 599 ;End of current page. PAGE_NUMBER DW 0 ;Page Number 0-4. FIRST_POSITION DW ? ;Position of 1st char on screen ATTRIBUTE DB 112 ;Pad Attribute: 1EH better for color screens FORE_ATTR DB 0 BACK_ATTR DB 0 SCREEN_SEG_OFFSET DW 0 ;0 for mono, 8000H for graphics IO_CHAR DW ? ;Holds addr of Put or Get_Char STATUS_PORT DW ? ;Video controller status port OLD_KEY_INT LABEL WORD OLD_KEYBOARD_INT DD ? ;Location of old kbd interrupt NEWPAD PROC NEAR ;The keyboard interrupt will now come here. ASSUME CS:CODE_SEG PUSH AX ;Save the used registers for good form PUSH BX PUSH CX PUSH DX PUSH DI PUSH SI PUSH DS PUSH ES PUSHF ;First, call old keyboard interrupt CALL OLD_KEYBOARD_INT ASSUME DS:ROM_BIOS_DATA ;Examine the char just put in MOV BX,ROM_BIOS_DATA MOV DS,BX MOV BX,TAIL ;Point to current tail CMP BX,HEAD ;If at head, kbd int has deleted char JE IN ;So leave SUB BX,2 ;Point to just read in character CMP BX,OFFSET BUFFER ;Did we undershoot buffer? JAE NO_WRAP ;Nope MOV BX,OFFSET BUFFER_END ;Yes -- move to buffer top SUB BX,2 ;Point to just read in characterqqq NO_WRAP:MOV DX,[BX] ;Char in DX now CMP DX,310EH ;Is the char a Cntrl-N? JNE NOT_CNTRL_N ;No MOV TAIL,BX ;Yes -- delete it from buffer NOT CNTRL_N_FLAG ;Switch Modes CMP CNTRL_N_FLAG,0 ;Cntrl-N off? JNE CNTRL_N_ON ;No, only other choice is on CNTRL_N_OFF: LEA DX,PAD MOV PAD_OFFSET,DX ADD PAD_OFFSET,3000 LEA AX,PUT_CHAR ;Make IO call Put_Char as it scans MOV IO_CHAR,AX ;over all locations in pad on screen CALL IO ;Restore screen IN: JMP OUT ;Done CNTRL_N_ON: LEA DX,PAD MOV PAD_OFFSET,DX ADD PAD_OFFSET,3000 LEA AX,GET_CHAR ;Make IO use Get_char so current screen MOV IO_CHAR,AX ;is stored CALL IO ;Store Screen CALL DISPLAY ;And put up the pad JMP OUT ;Done here. NOT_CNTRL_N: TEST CNTRL_N_FLAG,1 ;Is Cntrl-N on? JZ IN ;No -- leave MOV TAIL,BX ;Yes, delete this char from buffer CMP DX,5300H ;Decide what to do -- is it a Delete? JNE RUBOUT_TEST ;No -- try Rubout PUSH DS PUSH CS POP DS MOV BX,PAD_END DEC BX DEL_LOOP: MOV BYTE PTR [BX],' ' ;Move space to current pad position DEC BX ;and go back one CMP BX,PAD_BEGIN JNZ DEL_LOOP ;until done. MOV BYTE PTR [BX],'_' ;Put the cursor at the beginning MOV DX,PAD_BEGIN MOV PAD_CURSOR,dx ;qq ;And start cursor over POP DS CALL DISPLAY ;Put up the new pad on screen JMP OUT ;And take our leave RUBOUT_TEST: CMP DX,0E08H ;Is it a Rubout? JNE CRLF_TEST ;No -- try carriage return-line feed PUSH DS PUSH CS POP DS MOV BX,PAD_CURSOR ;Yes -- get current pad location CMP BX,PAD_BEGIN ;Are we at beginning? JLE NEVER_MIND ;Yes -- can't rubout past beginning MOV BYTE PTR [BX-1],'_' ;And move cursor back one DEC PAD_CURSOR ;Set the pad location straight CMP BX,PAD_END ;Save page number. JE NEVER_MIND MOV BYTE PTR [BX],' ' ;No -- move space to current position NEVER_MIND: POP DS CALL DISPLAY ;And put the result on the screen JMP OUT ;Done here. CRLF_TEST: CMP DX,1C0DH ;Is it a carriage return-line feed? JNE PGUP_TEST ;No PUSH DS PUSH CS POP DS CALL CRLF ;Yes -- move to next line POP DS CALL DISPLAY ;And display result on screen JMP OUT ;Done. PGUP_TEST: CMP DX,4900H JNE PGDN_TEST CMP PAGE_NUMBER,0 JNE DEC_PAGE JMP OUT DEC_PAGE: MOV BX,PAGE_NUMBER ;STORE PAD CURSOR ADD BX,BX MOV CX,PAD_CURSOR MOV CURSOR_STORAGE[BX],CX DEC PAGE_NUMBER SUB BX,2 MOV CX,CURSOR_STORAGE[BX] MOV PAD_CURSOR,CX MOV AX,PAGE_NUMBER MOV BX,600 MUL BX LEA DX,PAD ADD AX,DX MOV PAD_BEGIN,AX ADD AX,599 MOV PAD_END,AX CALL DISPLAY JMP OUT PGDN_TEST: CMP DX,5100H JNE F1_TEST CMP PAGE_NUMBER,4 JNE INC_PAGE JMP OUT INC_PAGE: MOV BX,PAGE_NUMBER ;Store pad cursor. ADD BX,BX MOV CX,PAD_CURSOR MOV CURSOR_STORAGE[BX],CX INC PAGE_NUMBER ADD BX,2 MOV CX,CURSOR_STORAGE[BX] MOV PAD_CURSOR,CX MOV AX,PAGE_NUMBER MOV BX,600 MUL BX LEA DX,PAD ADD AX,DX MOV PAD_BEGIN,AX ADD AX,599 MOV PAD_END,AX CALL DISPLAY JMP OUT F1_TEST:CMP DX,3B00H JNE F2_TEST MOV AH,FORE_ATTR INC AH CMP AH,16 JL OKFORE MOV AH,0 OKFORE: MOV FORE_ATTR,AH AND ATTRIBUTE,240 ;Clear fore color OR ATTRIBUTE,AH CALL DISPLAY JMP OUT F2_TEST:CMP DX,3C00H JNE CHAR_TEST MOV AH,BACK_ATTR ADD AH,16 CMP AH,120 JB OKBACK MOV AH,0 OKBACK: MOV BACK_ATTR,AH AND ATTRIBUTE,15 ;Clear back color OR ATTRIBUTE,AH CALL DISPLAY JMP OUT CHAR_TEST: PUSH DS PUSH CS POP DS MOV BX,PAD_CURSOR ;Get current pad location CMP BX,PAD_END ;Are we past the end of the pad? JGE PAST_END ;Yes -- throw away char MOV byte ptr [bx],DL ;No -- move ASCII code into pad INC PAD_CURSOR ;Increment pad location INC BX CMP BX,PAD_END JE PAST_END MOV BYTE PTR [BX],'_' ;Advance cursor PAST_END: POP DS CALL DISPLAY ;Put result on screen OUT: POP ES ;Having done Pushes, here are the Pops POP DS POP SI POP DI POP DX POP CX POP BX POP AX IRET ;An interrupt needs an IRET NEWPAD ENDP DISPLAY PROC NEAR ;Puts the whole pad on the screen PUSH AX PUSH PAD_BEGIN POP PAD_OFFSET LEA AX,PUT_CHAR ;Make IO use Put-Char so it does MOV IO_CHAR,AX CALL IO ;Put result on screen POP AX RET ;Leave DISPLAY ENDP CRLF PROC NEAR ;This handles carriage returns MOV DI,PAD_END ;Are we on last line? SUB DI,40 CMP PAD_CURSOR,DI JGE DONE ;Yes, can't do a carriage return, exit NEXT_CHAR: MOV BX,PAD_CURSOR ;Get pad location MOV AX,BX ;Get another copy for destructive tests SUB AX,PAD_BEGIN EDGE_TEST: CMP AX,39 ;Are we at the edge of the pad display? JE AT_EDGE ;Yes -- fill pad with new cursor JL ADD_SPACE ;No -- Advance another space SUB AX,40 ;Subtract another line-width JMP EDGE_TEST ;Check if at edge now ADD_SPACE: MOV BYTE PTR [BX],' ' ;Add a space INC PAD_CURSOR ;Update pad location JMP NEXT_CHAR ;Check if at edge now AT_EDGE: MOV BYTE PTR [BX],' ' MOV BYTE PTR [BX+1],'_' ;Put cursor in next location INC PAD_CURSOR ;Update pad location to new cursor DONE: RET ;And out. CRLF ENDP GET_CHAR PROC NEAR ;Gets a char from screen and advances position PUSH DS PUSH DX PUSH CS POP DS MOV SI,2 ;Loop twice, once for char, once for attribute MOV DX,STATUS_PORT ;Get ready to read video controller status G_WAIT_LOW: ;Start waiting for a new horizontal scan - IN AL,DX ;Make sure the video controller scan status TEST AL,1 ;is low JNZ G_WAIT_LOW G_WAIT_HIGH: ;After port has gone low, it must go high IN AL,DX ;before it is safe to read directly from TEST AL,1 ;the screen buffer in memory JZ G_WAIT_HIGH MOV AH,ES:[DI] ;Do the move from the screen, one byte at a time INC DI ;Move to next screen location DEC SI ;Decrement loop counter CMP SI,0 ;Are we done? JE LEAVE ;Yes MOV BYTE PTR [BX],AH ;No -- put char we got into the pad JMP G_WAIT_LOW ;Do it again LEAVE: INC BX MOV BYTE PTR [BX],AH INC BX ;Update pad location POP DX POP DS RET GET_CHAR ENDP PUT_CHAR PROC NEAR ;Puts one char on screen and advances position PUSH DS PUSH CX PUSH DX PUSH CS POP DS MOV AH,BYTE PTR [BX] ;Get the char to be put onto the screen MOV SI,2 ;Loop twice, once for char, once for attribute MOV DX,STATUS_PORT ;Get ready to read video controller status P_WAIT_LOW: ;Start waiting for a new horizontal scan - IN AL,DX ;Make sure the video controller scan status TEST AL,1 ;is low JNZ P_WAIT_LOW P_WAIT_HIGH: ;After port has gone low, it must go high IN AL,DX ;before it is safe to write directly to TEST AL,1 ;the screen buffer in memory JZ P_WAIT_HIGH MOV ES:[DI],AH ;Move to screen, one byte at a time LEA CX,PAD ADD CX,3000 CMP PAD_OFFSET,CX JNE GET_ATT ;We are restoring pad here. MOV AH,BYTE PTR [BX+1] JMP SHORT INCDI GET_ATT:MOV AH,ATTRIBUTE ;Load attribute byte for second pass INCDI: INC DI ;Point to next screen postion DEC SI ;Decrement loop counter JNZ P_WAIT_LOW ;If not zero, do it one more time INC BX ;Point to next char in pad LEA CX,PAD ADD CX,3000 CMP PAD_OFFSET,CX JNE RETRN INC BX RETRN: POP DX POP CX POP DS RET ;Exeunt PUT_CHAR ENDP IO PROC NEAR ;This scans over all screen positions of the pad ASSUME ES:SCREEN ;Use screen as extra segment MOV BX,SCREEN MOV ES,BX MOV DI,SCREEN_SEG_OFFSET ;DI will be pointer to screen postion ADD DI,FIRST_POSITION ;Add width of screen minus pad width MOV BX,PAD_OFFSET ;BX will be pad location pointer MOV CX,15 ;There will be 10 lines LINE_LOOP: MOV DX,40 ;And 25 spaces across CHAR_LOOP: CALL IO_CHAR ;Call Put-Char or Get-Char DEC DX ;Decrement character loop counter JNZ CHAR_LOOP ;If not zero, scan over next character ADD DI,FIRST_POSITION ;Add width of screen minus pad width LOOP LINE_LOOP ;And now go back to do next line RET ;Finished IO ENDP DOS_WATCH PROC FAR ;The DOS interrupt will now come here. PUSH ES ;Save all used registers. PUSH DS PUSH BP PUSH AX PUSH BX PUSH CX CMP AH,0AH ;Is this the DOS Service we want to JE GO ; intercept? JMP OUT2 ;No. GO: MOV BX,DX ;Yes. Get length of original buffer. MOV CL,BYTE PTR DS:[BX] PUSH DS ;Save DS:DX, address of original buffer. ASSUME DS:CODE_SEG PUSH CS ;Make DS=CS to use local labels. POP DS POP OLD_DS PUSH DX POP OLD_DX MOV BX,80H ;We will use DS:80H for our buffer. MOV BYTE PTR DS:[BX],CL ;Store legal length from original buff. MOV BP,SP ;Prepare to get IP of return address. CMP FIRST_FLAG,1 ;First time through? JNE NOT_FIRST ;No -- check if COMMAND.COM is calling. MOV BX,SS:[BP+4] ;Yes, SHORTHND.COM must have just ended, MOV COMMAND_ADDR,BX ; so we are at monitor level -- get MOV FIRST_FLAG,0 ; calling addr in COMMAND.COM from stack PUSH AX PUSH CX PUSH DI PUSH ES PUSH CS POP ES LEA DI,PAD MOV CX,3000 MOV AL,' ' REP STOSB LEA DI,PAD MOV AL,'1' MOV CX,5 LLOOP: MOV BYTE PTR [DI],'_' MOV [DI+599],AL INC AL ADD DI,600 LOOP LLOOP POP ES POP DI POP CX POP AX JMP INTERCEPT ;Since we are at monitor level, intercept. NOT_FIRST: ;Not the first time through, check COMMAND addr. MOV BX,SS:[BP+4] ;Get ret addr from stack. CMP BX,COMMAND_ADDR ;Compare to what we know is COMMAND.COM JE INTERCEPT ;If not equal, not at monitor level. JMP OUT2 ;If not equal, not at monitor level. INTERCEPT: ;We are at monitor level, check for keys being typed. MOV DX,80H ;Get typein to OUR buffer instead of COMMAND's. MOV AH,0AH ;Use Service 0AH. PUSHF ;CALL INT 21 (we would intercept and INT 21 instruction) CALL INT21 PUSHF ;Save flags. CLD ;Set upward flag for string commands. PUSH CS ;Set ES to CODE_SEG. POP ES LEA DI,KEY1 ;Start by checking for KEY1. MOV BP,DI ;BP will hold address of current KEY. MOV AX,3 ;Loop over 3 keys. CMPLOOP:MOV SI,82H ;Point to the read-in string. MOV BX,81H ;Get its length. XOR CX,CX ;Use CX as counted for REPE. MOV CL,BYTE PTR [BX] CMP CL,0 ;If nothing typed, skip the checking. JNG QIK CMP CL,4 ;If more than 4 characters typed, skip also. JG QIK REPE CMPSB ;Compare type-in to key. JNZ NEXT ;If zero flag not set, last char didn't match. JCXZ MAYBE ;All chars matched. Was it the right length? JMP SHORT NEXT MAYBE: CMP BYTE PTR [DI],0DH ;If next char in key is , end of key, so JE FOUND ;typed-in string was the right length. NEXT: ADD BP,5 ;Point to next key. MOV DI,BP ;Fill DI, which changes in REPE CMPSB, from BP. DEC AX ;BP, unlike DI, will always hold key addr. JNZ CMPLOOP ;If AX is 0, have checked all keys. JMP SHORT QIK ;SEND AND WRITE FILE - 40 BYTES, THEN AT A TIME. FOUND: MOV AH,9 LEA DX,CR ;First send a to monitor. PUSHF CALL INT21 LEA BP,CR MOV AH,3CH LEA DX,FILENAME MOV CX,0 PUSHF CALL INT21 MOV CX,75 MOV BX,AX ;Get file handle in BX. LEA DX,PAD FILE_LOOP: MOV AH,40H PUSH CX MOV CX,40 PUSHF CALL INT21 ;Write one line. PUSH DX LEA DX,CR MOV CX,2 MOV AH,40H PUSHF CALL INT21 ;Write POP DX ADD DX,40 POP CX LOOP FILE_LOOP MOV AH,3EH PUSHF CALL INT21 MOV AH,9 LEA DX,FILE_DONE PUSHF CALL INT21 POPF JMP SHORT SENDCR QIK: MOV BP,82H-5 ;No match, point to typed in command. ;FOUND: POPF ;If there was a match, add 5 to BP to get command addr. POPF ;If there was a match, add 5 to BP to get command addr. ADD BP,5 SENDCR: PUSH OLD_DS ;Now use MOVSB to move command to COMMAND buffer POP ES MOV DI,OLD_DX ;Get DX of DS:DX. ADD DI,2 ;Point to where type-in is to go. MOV SI,BP MOV AL,0 ;AL will hold char count. FILL: MOVSB ;Move char to COMMAND. CMP BYTE PTR [SI-1],0DH ;Reached the command's end? JE FINFIL ;Yes. INC AL ;No, inc char count. JMP FILL ;Loop again. FINFIL: MOV DI,OLD_DX ;Done will string move. INC DI ;Give COMMAND char count in its buffer. MOV BYTE PTR ES:[DI],AL POP CX ;The POPs. POP BX POP AX POP BP POP DS POP ES IRET ;Finish with IRET. OUT2: POP CX ;The POPs for the case where we don't POP BX ; handle Service 0AH. POP AX POP BP POP DS POP ES ASSUME DS:NOTHING JMP INT21 ;Let INT 21H take over. DOS_WATCH ENDP PAD LABEL BYTE LOAD_PAD PROC NEAR ;This procedure intializes everything ASSUME DS:ROM_BIOS_DATA ;Examine the char just put in MOV BX,ROM_BIOS_DATA MOV DS,BX LEA DX,PAD MOV PAD_BEGIN,DX MOV PAD_CURSOR,DX MOV PAD_OFFSET,DX MOV CX,DX ADD CX,599 MOV PAD_END,CX MOV CX,5 MOV BX,0 CLOOP: MOV CURSOR_STORAGE[BX],DX ADD DX,600 ADD BX,2 LOOP CLOOP ASSUME DS:INTERRUPTS ;The data segment will be the Interrupt area MOV AX,INTERRUPTS MOV DS,AX MOV AX,KEYBOARD_INT ;Get the old interrupt service routine MOV OLD_KEY_INT,AX ;address and put it into our location MOV AX,KEYBOARD_INT[2] ;OLD_KEYBOARD_INT so we can call it. MOV OLD_KEY_INT[2],AX MOV KEYBOARD_INT,OFFSET NEWPAD ;Now load the address of our notepad MOV KEYBOARD_INT[2],CS ;routine into the keyboard interrupt MOV AX,DOS_INT ;Get the old interrupt service routine MOV OLD_DOS_INT,AX ;address and put it into our location MOV AX,DOS_INT[2] ;OLD_DOS_INT so we can call it. MOV OLD_DOS_INT[2],AX MOV DOS_INT,OFFSET DOS_WATCH ;Now load the address of DOS_Watch MOV DOS_INT[2],CS ;routine into the interrupt vector. MOV AH,15 ;Ask for service 15 of INT 10H INT 10H ;This tells us how display is set up SUB AH,40 ;Move to twenty places before edge SHL AH,1 ;Mult by two (char & attribute bytes) MOV BYTE PTR FIRST_POSITION,AH ;Set screen cursor MOV STATUS_PORT,03BAH ;Assume this is a monochrome display TEST AL,4 ;Is it? JNZ EXIT ;Yes - jump out MOV SCREEN_SEG_OFFSET,8000H ;No - set up for graphics display MOV STATUS_PORT,03DAH EXIT: MOV DX,OFFSET LOAD_PAD ;Set up everything but LOAD_PAD to add dx,4200 INT 27H ;stay and attach itself to DOS LOAD_PAD ENDP CODE_SEG ENDS END FIRST ;END "FIRST" so 8088 will go to FIRST first. /* stat.h Definitions used for file status functions Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif #ifndef _STAT_H #define _STAT_H 1 #define S_IFMT 0xF000 /* file type mask */ #define S_IFDIR 0x4000 /* directory */ #define S_IFIFO 0x1000 /* FIFO special */ #define S_IFCHR 0x2000 /* character special */ #define S_IFBLK 0x3000 /* block special */ #define S_IFREG 0x8000 /* or just 0x0000, regular */ #define S_IREAD 0x0100 /* owner may read */ #define S_IWRITE 0x0080 /* owner may write */ #define S_IEXEC 0x0040 /* owner may execute */ struct stat { short st_dev; short st_ino; short st_mode; short st_nlink; int st_uid; int st_gid; short st_rdev; long st_size; long st_atime; long st_mtime; long st_ctime; }; int _Cdecl fstat (int handle, struct stat *statbuf); int _Cdecl stat (char *path, struct stat *statbuf); #endif /* _STAT_H */ ?+x{' ~W!~Fzmm|mz|zz|zĤ¤z|z5vmz|°t$ݡeYFelnnѧtnmnloeeehe/iennzš¥zlznneelcecltntnttztleZieelin!llillleeltzttzrEMYllneZeljeeYYNYEYMMYMEM===MEMYYYZZYYelmnlle`ecE++88+-=8EXbZbcecccYNccZccfccZYNYE==98++-KYMMXZ^t۠ztYcfnilcZZcZc^MK)BBKB>B>BKBKBKBK<<8-$$)%)2-&))#####")#)2&8B>>B8<>8<38<<8>8K<<=<8 38-2-888><>BKLK\kntڐťv~lMlttnljjijccZMKKB=B=<883-2))2))8)388)&&))$)#)#   "$#)2)-))<)=>K<>8=BKKMXXXMXXYXMXKMXKLMLK\\nniԡrclDonnljjcKMEXMK=88(###"##++#####"#(8#()()+##(8=88)8+=YKM==KM9<==K=M=MYYYMYjniŧzPm=beeelmlneYcccYMKKKMM==)##8===8=8MccMM9M==YeccZZXNK=K=M=M=MMXYcbcccicYMEKMMYN=YheK8#=XYYMMKMK===Yehhioizi=))+<=KEK=<8)88<8--88>8))=ZhilneeillliblfntnznnrlllncelemlnlznzrccM===88#8McfiliX--=Ncfjhiehiefhehfetԡl򠥡ze9"##$)-8<<>=>=K=B=BMYXKYceYefnlKMNYZYmlll=8+((# -jniiiY&(KMZjihljjihifjlfnѥit쐥ŧznc&$#)989=KMKKMEXMiYZceleellicechjMeEblMEcYl=cY+##E#/ #++###etec=88LNZeijehieellnnnzlѥԠzzglK-KcjlllnliijlljljlnlollnleieecYZYcM==beYl8+Zc==#9(+e(`c989B9bcl=KftM=8=NZcccfeeflttڥёrel89tztnlccecccZcZYbcYZE==E8=<88=Ml9l88beEEebemelzemlztzztcYebl=EYcchfilnntzѥڐԐѥerzl-=n젠riilhcE889=OKNYZYNM=KKYXcftlnencizmlmtlnzmtmnztrrtbb99YbtMYYcfhlnlntrmttrnlnmnmlljoiiҧtneglE8N=YnztjcchecXcYZZceeelelnnllmtzeleieclnclllYM==l==ZMaetZfchccZXKK>>=>=<8>>8))&&>8Ztcclb-K==#99=MYYbeechcZZjlcZYNcinnnzontneemleenbYrclccl8Ncb==89=n=YeMYeeK88-)$)-)##$)#$#&)#""8BKjtnrnZi9=-K8)8=-)(=ZcccZ=8KZXKKKYfiljhcXK-=BYNnMMittlMcnljiiec=BK==-KYMK8))#))c-)YMEeeml###+(99=MEXYbceeilliihhnhhoءzotY8-#$)))#)=KMM8))$))-+8=KEMKM8-))-==i=XZNcrteinjeZMKM=ZXZYMMMYM=ZMXZcMYbcncYYcljentt nomz lM+"#")""#$#""#&8KMYXMcehehlh=9KYcfecehcjnttttnehleСЧtnoootooh\Zn쐑zf=#"#&#"#)2)"&))-+)##(-(+8+8=+-+8==K=MXYYYZY*ZcYZYNYMMZMcYZYYM==MYbZMMYYcYbcbYYYMYMM==K=<8-2)2-8\ۥlzb-##8)# )()###()#)-)#$$()$()))-)-)#&)#)-)8)+)#-)88=+-))"&#)-8)-)# )-28+8+8)o점!ߠmM8)##"##$)))--888-+))###)")(&#)"##)-8--)-)-))###"##))-8)=KMMKKB>#"#8M<)8<8MKKMK BKKKBKKKMMYYc hhZhzzb=-##)+)#))++-+++##((#  "$#$#&#&#"(#$&28>>=<)"$")(++8+#8cYcccjolieeljiecfeijjjljo^fnArE-)###      $$&)28BKMXMK>-"    "==ccjintnnlilhihihihihhjhj ưt=(" d     ()---8<R]\_h^\V?125<"+=Yzrmztzmzrzzz0M2\]V%3RL]hR !"  ""   2   3HR\\J>J222HV\\B8Yz Z)2\^kR%"%11%  !!!01115110%%%" ""%%" !  "%%% "1RR2%)3>R\]XKBK9 \)!%2LRH1   !!0%011515/253555261551511%1%25>QB% %15SK>\LJJ<3JYhn *ِ9#   !016155H55H?HJRL?I?6?PTP#65655QR5 %%% #89+-9Yet/쑐X>   "00165H5JJRJ?LRRRQJPPVUW____VQIPJQI1!!2HK @i)  !0055HHJLRLQSVQRRJLPRV___WIPPJI0 13\ 1و8   !0555HJRRXRV\RVRJRRV]___VRIJ1%!)HtXc !%001H?HRRXRVVRVQPJRR___WRJH0 %2fY>  %1165HJQRSVSRVVQQRRR_kkWRJ?%%%M] R=  !%055H?HRRXR\V\VVVTW_i=ֹVTH0>^ GD %%0555IJJRSV\VV\TVUWֵֺֽR645V D= %%0555JJRVV\\^VVVWWֺպUP61V D/"%%0555JRR\V\V\VVWW_ֺ_U51R G* "!%0555?JRS\V\VV]W__׺WP1R ( "%059?LRV\V\V^U_ֺ_T5Rz A*  !%1115HJLVV\\VW__ֺ_IRz  G:  "010125JRXVVV]^U_ֵ_VVz!CE  %0%05HHLR\V\VWW_ֵWV~ He  "%%0155JJRR\VWVW_ֺ^V%-K &E "!0%02HJRLSV]VWW_ֺ_] -^(z  "%%015JRVR\V]^U_ֺ_^&eK/  %!%05HRV\V\V]W_ֺk_$Hg /  "%%05HJ\V\V]VWWֵ'W!& /  !%015JR\V\VVWUUֺ$M % P: *  %015JRXVV\TVU_ H <Fb  %%155JRLS\TVU!cRz * !%015JLRRRVRTWabO.   "0%3>JJRRRQTU  5aa.Gg  *#  "015HHIRRRQVU}`aaF`a}}a`aFa`Ȥ~}~||}}F```a`aaz  !* Y-  !%255HRRRPTU  Ea`}`ab`aF}}~~}~F~I`Fa|aFa}aF`}~F}~a`}~va`aF|v`aF``|}||Fa`aF`}}FaG*  * *Y# "1155IQRQRTU FF}Ͱ}`F}v`a}}|}Fa}}}aFF}aD}aF`a`FF~Fa}|FF~|}~F`Fa}}aF|F|Fa~~Fa~}|`aF~}}~}}`=a * *m  %0%5HRRVQTURȤ`F}v}vEDv}D|v|v|DD~vD/~}DDv}DFD}|DD|NFDD~Dv|vEDD}vv~vDDFvv|FD}vDDvvDv}||vDDFvvv}v }v|Uz ***ctX  "%005JRRRTU}vDFvvv/.v././rvvrv./vmvv.vvv./vv./.vm|r//r/v./vr/.vv/.vrwvr/vv/..v/r|.v.vv/.v//..vvqvmvv..rvsv rm:qv3. **/.*  !%%01HJRPPTU$}}|E:}vr//vv/:.:.zvvvr:vvv:.vv//v/vk//.vvvv////vv///svrv:/vvv////vvv.v/.v//vv/.:/./vvvr|:svsvrvsvrv.:v|}Vm  **+.( &5LH& !%0%5H?IPPU~}FF|vDD}DE:DDDvv|v|DD|E;vzDDvDDvvDDz|D:v|zDDDDvzDDDv}vv:D|vv|DvD:v|DD:}D:v:D:D}v|v|:Dvv}v}vvFFFS/  **E:"=SLRH<3 %0%55H?IPTU}}aF}v}FFDvE`v|`DFEFDFFEFFF|FD}|z`|FF`vFFEEE~FDFF}}}EF~vDF}FF|vFD`}`D|FE}|FEv~|Dv}v}}}v}}aaOb  +*9)>8"13XtK"!%1555I?PT_}ƤE`FaF`v`FaF`}``F}`FaF|~Fa`Fv}F`E``FE`FF}}`FF`F}`FFaFF`}`FF`av||v}}}`aR  .(#$=J"1\# %1555??PPW|&F}}aF`r|F`a`F}`FD|}v}aE``FF`FF~|v`FF`Fav}}vvva}|}`a3E :*))XK%#nc  %1655JH5PT_)ް;|b||`aatv}`|~|Ƥ||`a}~}~v~}Fv|``F}}|`vİv}FF`a_   **// #KX>"+" !0555H?55PU_=En|a`F`vɤ}Ƥa`}|}|}}v}}|`F|F~}|}|}}||}|}~a`a/; .**;; %LL%)B  0155JJ?>IPW%c"%3Kna`aĤ~`a}}}z}}|||FavFa}|}}|}}}}~~|}~~}v}Ĥ~}|a2   .*.;/** 2X>.c  "065HJJJ?6PU_&Y1>XKc L}~}}|v}}}~|}}|}}v}~}~}~}}|. N*.*//*+# 5J2>n"055I?RRLP?R]L0HVVRZ[~~}v}}v}}~~}~vv}}}}}Ȥ}}|}~Z  ***././++""5319  %1I5IQRQRR?VWR %5VVHIYjd }v}5}|Ĥ}~~}}}~}}}vv}v}|}}~v/ U */:*::/D/+=)52")c%  %65HHRSXR\RJ\k<88=#)<&UJ !IQR2%5Xh}~}|}}}|~}}}}}v}}~}|}}}v}}v}}vZ   .::*:;+`/*=c %5%"  %%15HHRSVVJV>\X=ech0R!0H?R5%15XXb}~}}}v}|}}}|}}v}}}}}|}v}%|}v}}v}}v}~}}Ĥ_`   .:;*/:.*D:*Ei# 52"  !%15?IJRV\S5Rj8mmmHQ 45IXHX\55LHz|}}v}|}v|}}|}}}v}+v~}|v}}v}}v|}v}vv}X   /;;+.://:.E2 %%)% %165IHIRVJS>SZ)mg5_W6!6I?R\Xh11R3e}}}F``a}|}|}|`F`F}~ĤF`}~}vFw}}|}}}v}}v}}}`Fv`F`F_ **//.*;9.:*DM "2%1%!%1655?IJRRV?5S88mmL_UU0!6PQX^bŢh51R5B}}F`}}v`FF}v~F}w}F}}vFF}v}~}~|aF|F}Fav_D  ***/::*::/D`h""11156H?5IJJRVR?5I-ZmmR^_U_T4!4?RV\Zl5%RI8HA[d}}|DDv}|DFvvDvvvDvvwDvv}vvv~v}:DF|_ *.*;:D:/DDa١3 %%155IRJJRSXVQ5>HmmZXUVWV4!0IV\Kbn52RI)k1" A~}}vvs.gvgvgv**s*sgv*srg*msmqmqgmgvsm:v~  X***:/;*./E`a\ !1%1IIRVLR\\J5J2#mgh8UUWWI006]VXKސ>1IR2\2G\CCOqAvEmmgrrgrmgq*g*gqgggrvgggrm**mmgvvvv}~`  *.*:::/*/E``z(1%5HPRQVVR?5>%+vgn+VW^J5>RV^XYX2PV5<2HkO{~v1rvvv/mvv.vrvmvvm.vvv.vvv/vvv..//vvE~_m  .:*::/:/D`bK"1HQJRVJ?55>%bmgt8VVVJ>V\VLSh35RH11hT_[q}|}}}D:v}|}DD}vD}|Dvv}Fv~}D|E`}`F~_E  **:/.:::**``ef$ %5???5?51>&lmg8LLSRJRKX=l=6JR1r fTٲ'GƤ}}}|`FaF``aa`F}`}}`F|`* :::*;::**`D*g҈K "%"%%%13)ltmg9>RRJ>>>KZY1?R1c$i77A@``aa`aFa``b`a``  *:::::/..a;/zګk\SQ>5#  "2hnmb=5XP555=ce55?5M!g77'a}aaaa"  **:/D/*:/:*/m;/ߡlc2  -)Zltzm`zE5K?155c>15H>#-T7T[vvdaa4aa_  **/:;:*::/+:a.;ۯ^2    "\khjlZttZ&><32ZV55?<&#V5T   ~baab  *V://::/:EE*aM  " "" 2\eiebejMK52Z^25?H$ ?PѤ,'[q   *.*//:*/;/:b/*mc" %"%%" "   +"\MMkhL2%3>BZj3155>252% "")"" % eHHYXe#]򨒅k___츹@  Z*//*::/*.`e;:t""" %2525JRR\\^]\]\]SVSJH1"&8& ""%"%% %""$jXRRL\  c߹dNm 9  *;:+.///*`g`:b$ "%1&3>JJRVV\V]\VVR\VV]\^?2<$"#"""22>>>22 %""Nt!]٫d ;:**/.;EggE**<"!%55>JJR\VXK>KL>8883>BXh^9115RSVKSKKJ2%!%%jj8UVR^K\'Aa'ҜָׯbE .::./Eemd.mo&" 15LHJLVX>3238<>K>L>L>Mj- *m >QS]^\X\KXJ2%11cglo)1PHV\Bzlzғ_׸f.:/.:b|v:*/M"%%5QJJQRH>)(=blzeED9QQJRRSVSLXRQ2150MLBk00X\RHZ'O w&؅Q7ۘf` ***;+*Db`H&%H?RQRJJ)8te`:#9+Yb?JQ5H5SS\RR2111M\Bhk60\XJ\KZ"{'9Q4T['rcD *.*.:*.`g.n8)$55J>K>=zMlZBIVI5=-"-)$3LSJH>?2%YzhBRJ0H\KJVHR'ړ'3J47OG) .+::E:g:*QB$%%51B$nt#LB1110)jj)2LJJ55"2ݑ3)H=-4m8><% b)K>53")h|eJ\_%5R\VQ5sdA@@Ads~ђu,&c47hC @dqw)db*Dg.kZhfMZk2h8]32Lo\J^>5JJRV?|0r A|󤓓p X47kp3A,Agw  '`:bzm/bbD/mmzza|MHSB^j=VRef@GNR^ֵu'Az` z.`**mcJRMiSenjZjAp=XjkC 2?Q]_ָr3p5Fdqd@O a:D* gl5]Mnxј@euyjs𓒘,OiyG82?]G@aq8fsAFr* gm .:g5\\\OgۘУf٭Xj'V1QWUkk_WWW_t@GqҚ[p-O=BfkS; a; *:g\H^X𨒫Cm۰hۯ󰒫kdը[𭩋d,ҨpP7P,AQQkpCqѝ\d鵒 d󵨴kp;  g.bz MEmhp𤣦[A񙓙pݩk@ьB77TA]Qkۭ@Ѯ[Oqd򜜸k 8*.쥫\sѦuْO،T7T{w\Qhj@GѮ\p𜺙[:ڙ\d 8|* 쨒B𬭌^,y,OkU7T9g7Q_{Aa{ѫZO𭖙O9tҮ=5`E ڨ3򬬌,z(x q,𓒨OWTTA,67fCѫ^p𮭴p:bi9g{,ѧj@qsy9-3chs@ˉ QWײN@{k47tCa먮Zsq9vNB :zauDҒx8rKqpqyvZaQU_raq|X4GNZsq:di9z * E pEدfL'Bx2dxdsrBtKjUuB @CsL?՘@'E𺫮3O򭸫p a[3j ;bga*g pe֪<@uA>>ڐm[GsspG@~ A  𙒒Gۯ뉋ڥ򸫮Ъ[ / Z ْ@|Ҧ򯣐Բҫѯk%  '1\Zx \ Cْ,|cֹ_WWyԩM۪ԩq` Y Mݙ@MSQ7UsGfڨҨҮ [  Fݒ@|4R67۵q,q쯨 ڮX @𒙓vbc77Wu$O Z6ݫ,|l67Uy< YqdA@@Adq} 𒫒@(P76Tަ[|@ m* A} 𒙓@p&_P77_jv 2G@@ApF<^hhZ< @j @wO@GpAAqC@qG@OJPצ@bE2E  ,mgui@y'@Am֣lv/ Gsgm>7W۵C:E2t,cnkSOyj&SAi'SxfpANikBpތgKB^^wY7U@E2nlԨu@sԓӸksgiAg@AѐO,ؙOeatի@TUp~E2 OA쨯f鐦֪ڸLGj@鸣֪SwۧCZֺ֪'pTqGE1ߣu@9љhֵBN˯ӫ@ek@ԯӯqpԖO9غӓvTTp'FE5ҹӸk{֣gd۫u^ڪըk,@֩ة, qŮOA󺫜ԭHaUUfN{qE1-ҨӮq{񯯖3ѫqۮOk@VۯӸCwіp,𫫮ؖ@ATTO,E0ګlѰ(D٫h󯫜pfѩqx@ҮbҨC@ҩqӜ[Fӎ }*qF0ҸMԯtū"F󫫜{ ڮuFjۨy˫G[-C0Sh _TEXTCODE(8 _DATADATA˜hZ_EMUSEGDATAX_CRTSEGDATAX _CVTSEGDATA H _SCNSEGDATAH  _BSSBSS*H_BSSENDSTACK(_STACKSTACKtGDGROUP&:_main __setargv __setenvp_exit __heaplen__stklen__ScanTodVectorg__RealCvtVectorc ___brklvl emws_initialSPn3emws_nmiVector~__envseg emws_control __heaptop ___heaptop __envSize$ _abort emws_adjust! emws_status __osminor __pspemws_TOS emws_version __restorezero& __exit! __Int4VectorxF __Int0VectortN __Int5Vector|A __Int6Vector< __heapbase ___heapbase^DGROUP@P__envLng emws_fixSegD emws_BPsafew emws_stamp__brklvle_environnemws_saveVectorz __argvf __argc{ _errnoA __StartTime] __8087/ emws_limitSPÐ __osmajor  __version.0!.,ڣ.4>Njع&=87u&U=uYuaC&8uր̀ى+>s>r(>r"G;r>t>u;w!ډ+؎JW!_ҋ3.+666P.|3/F-7 t /LF!H5!tv5!xz5!|~5!%ʎںX!%t!%x!%|!%!ô@!ùV.P)œ T#'0NWjyĒT UāVĎVĘVħVĮVşT$T,J]jnw{ńňőŕūŶTܢGTurbo-C - Copyright (c) 1988 Borland Intl.Null pointer assignment Divide error Abnormal program termination nĘĚĜ TT'|TFԯ֕ C!M0kp E0 ~>𜜹^w" I0Vvb``FFa}}~}ߵS E0`aa`aFaF`FFFa{}~}ܫ)FEA`F6|`F`}}}}}}İ zASz~:vv}vv|}DFa}}}}}}}יjADD}v|v:v |z|EF})}}}}ШA~DDvvv|7|:::/::vvzvvD}}v}}v}}}|A!~}ED}v}D:D.v*zEFv}v}v}}}}~AN|vFF}}vv|DDvvE:vv|Fv}vvv}v}}}@2}|F}v}vDDDFD~v|}v}}v}~"@0|D}vvv}v|}vDFEF`F}}}}  <"~FF}}}}|}|}av}}9?`F}}|}}|}=aa}}@}"@2: 9B9DRIFF WAVEfmt ++dataufA<778 OZ&"FjBv0d=-  Ry^0/01kk״iTxQFS`achnkhWG`VMYertjnrt~rrrbSVZQPPez{|xtB]yV31/@Q7>ITWZhvvvy|ʞмλԾzm`ircUSRE9976=E=6*/?QSVH:* *5# $# 2;DIOW`kwz}۸¼m|hECB# *6>Gv{vlgc~vʫwneTaoje}ͼ~rtwhdaabUIQY`ga\Y\_WPW_^]K91,'$"-8/'1;:<>PccdccYPQRe\Sh}|͵rV:# 036 !$"!7MV`oZbjaXOF7)8H8! -,,-.>HSUWfuaNV_PA+AWY\jyuq͸i{gTI?AD! $'* .38*.28?Xqrtκ|l\K:4.("$ !#IEBJRdvrcVI   ,:B6*&")0+&0:87/7@CF@:FSH>GEDA>-$+'322BRZc[jy϶jTH=EMYfvyk]]]XTQNF?FNBEIPXMBO\UOGQ[txs_J4)1:MaI\pZDUfild\yȺîpbehjlnq̱|wk`WOID99:0'.6+!#&$"-%$,($$  $9P?/?P9#',3:AHOKH^tssrrw|}}z~z~{dMPTNI8I[^brxrnkUdtjajt˾`tmg[Pcvrotzuqu{~zqhggnuqļ{gr}oaWNOPXMB;4=GB=L[nZFKQW^^_o}||xttuqv|rid`WOE;?7/*%*/9CFIUbqϼth`X[^@5+  $964CS\fYgvƾ~xrbRUXaYQar¼{upVCNZRJQYSMKIEA=84BQ\h_WY\P[ga\`da_sz}{tmiehkotrpha[YXTQD72.:BKQXUROMV_i]R^kfb`_`aQ[ejpkgr}kZ`fsmgjmjhb][Y>=BA@3&9ERYadglrxùwz~{yl`ZTPJD?;4-% %5FR_fmu~ʾ{stuh[XVLF@HQ@0+'  !!"""(.CCCScjqnks||ŵ}r|sjhgikkt~|s~{zzz{rj{{|´xoha_]Ybligkpswz~eefdbcdXMV_][SKD7+182-%!   ''(4@BFJPV[`bdo{wýǾƽҾźy~{x{~wxzzzwu||{~wld]/130-*'9KGDTcraPTXTQONQF>DKbymbsþźԽ~ssskcdep|wrhc^ZVLBCD?:@FNHCO\RHZmaUMOQMJE@HQJCJPWUTX]gqibywuwy|ȿ|||wrrrstldnpsrrmhijZK]_aYRQQLHC?<:-5>CHKN[hebekqv{}{pfeecb^[Zah_VX[WTRQ\OB@>DJNLKPV\ca`n|}ȿzulc^ZRJFC7530-*'%$&)'%*"*8527=<>A:310007?RVZ_d_[XUNHMLKOSKD=7AKKLV\bdgpy~ƿɽ|q~ux|peoyxusmhiknqf[e_YXWXZWUTSPKGGGC?FNLKRPNNOLIKNMLOSNOQV\gsnjqyyvzlZX`iwclvut`M_rRkysqonmegjs|}|zx|}wrlfsokt}}}sjc]a[V^fa]enkilp}xs{Ǿǿyrlf[YXVTQOJFA<33445316<:9@>=BH?74148,/39?>>DJIHLPNRVY\ZY\`gnurpqrz~}w||zxtpwqlkkkke`_^ROLLMMMIEIM]_agnqtuw{}|xvuvx||y{zz|}}|ǻ|okgqcUdsh^[XXXXYQLHIJPWMDOZdTD?;-   "#$'*/;HLPXa]Zbkʻ{xĿy~uf~tvyxw|xqcUX\[Z`fjnhtui_beb_cgu|ugZiYJYiloic]XE?9,#(!,>BNZ^cVIZk_SLFAIRMIIJKLWbpx}zvsz}xpUWZRJ\VPX`dhlqnkv~yof^ZVSQTWne\^`kv}~xwvrke\SY`SGTbtrppqrstuuv~ǿƷþ~qnoptxl`XQKECA:GTUV\c\VY\OLJD?>=:778#$%/:@GVe{rommnnnv~wnvzuz~wwxz|iebmx|{wlaDHMV___lz{}||}wrm^OXabdjgegjc\`dgkr{~}zxus{vxz{xutth\RH?9345CRZbjihc_aca`gnq¿ţpruldef`[VRIA-391)-2469;>BRLGQ[YW\akusgnvwxhq{{|vp^LIGC@-03($+.100,4<85ANKIHGPPQSVQMT[\]hd`ab[UUUX\`ddegfeeefhebmmn|ŹĿ|ztohgf\SOKGDB@F=5;BJSTVNFRKESaejgegihgqmijkklrxxy}zxy{vqrtvxкǴmgb\VTSF9BK99:4/9C?;62IOUWZcmbWfvquyvt}vqmllV[alwy{s}~{w}~pywlifedmnoru{}uufyw{~xmszoljgd`]WRIABGLMNQTVY[^\[XWVUUUU\c[TUVWMD=6:>8366.03/+181*)*,%!%" &-3940.-16+/40,+*4?4*UG9BKIHC>DKRY]`dtwjusgegintsrqpv|{yxyzs~{zyurrsuxsoxhy}ozvuuh\ocWY\WSZbZSVY=BH<1*# "!  $ "#$"!#%#""&*(&-4327<8:>>AEOYRLPB55HD@ABIQLGKPPPOU\`egihhhi]XTH<:987?GLQVX[aheb_]_borv|zwukosrrpnpromlksqpqsx}~Ƽ~{y~yuqnpslfedhlmjg`ZWTKB;46(    $).7@?>DJLO\biloru{žº}}}wtqlg`ZXWVVIMQLGA;;<4-"5,$&).3*"#$*'%&(%#'+06AFLKKHELTRPT[cgkigjnv~|urorqpnljigekr^[YWUX[\^`brmhfecbfjih\_cmwsopqqrpozz{}~~xmwxohbjsoopuzvsolaVdXMNOLJB;2)'&+-049:;BJQYdfhmssskddd^^_difdegedVY]WQV\eonmsz}~wsooplhc^^_bejc][ZYX\a]ZRPNKIR[ckfavsq}xmZYYZ[]_[WOKGOXZ]ivwxsnqnks|}yr|y~{xsopq}rqppprt{{|wsqprukbkmpqrmipxwwusqqqw~ulsz|}vpjgdmwvk`__][_dmw{|{z~}ymyxjid`cgmsrrolhggc`[WWXYZLIFR_][^aVLF@INSPM[jkmoruz~}zxz|oqspngacet}xszgowu|zv|~|yv~}~xz|wla`_[XWVglrlfp{peb`[V``aflptpmmmkotw{r{ymnp{zzyyur`abaa_]SJD?HFDEGLQUZ\_TW[^adgdb[TSRUUUTSTV\bgm~yqdX`hplhkoyyuromjhhhijpmjt~~zslSKDEGMSX^`bq{xv|~yy}{tmu~~voikmnp~yy·y||yvqlhlph`\X`int~uligdb_\hhic]SIMQSU]_aqueXLWWW[`ek\N\jY\_]\XTQOTZ]PD<4;CJR^jfb`cfkpzptxxso}wxywusrstusrv{~yqhlpuzwtw{}|xywxyur~ȼ}wvu~ó~fL?2AQQQKE[rjcc\VVWVUTT^hjhfim|}zukbJ2.+/3586-$&(5BN[clryrmh_VUT]fjnmt{wsrrv{~{wȾúuqppqs}n^ND;@EB?EK@6LT\WR_mnoruZYYbkqwxzoeuroprnkvĹtssjbs~wqkgdaejtctj`TIKM>05;%2?828>KX\a\XNLKJJQXPHTaU`lkjnr|»~p{xmc```dhhha[fqrt{vqrtrpf]ZXPC7@IIIOV_iaab[UZ_PBEIKMLXdegnvz~{x~{~xzp}yz~¼ywvvvv~zoqt~vx{wtz~|gfekquyl```][\YVRNT[WTX]x|}tkORUJ@9358<@JT\YWRNJFA=71FPZahhhov|unga\VQUYfszvspmqvy|tmtw{~~xrmi]RMIIJT^kgdefnvwxusjs}zzz{oc\UQNMLGBUWY[]cipwxq{}yd^X^dr|x{~Ž¬ýunh^TPMD;5/39@93H^XS^ikm^m}~~}tlpuzmabc]X]bVKB;5447;61.,29HHHGFDC:135>=<@EGIOVgx~ytwzĿ¾|vpjc\TMLKOTZSMMNYecbjr^djklorv{}{y~ysy|zxvttuuuusry~}{slaWMU]ZXSOG?@AZ[\[[XVUU_ijjjfcfiaZl~pbhntldnypgow^YU[afkgca`^bgnvx{{|ywwwt~yxqrtuvwx~}{{~~|y~xvvvruy~|{vflslfil}yvrnwzxvsqsvoh_VFB?ADA>:7>DJNSUW]chmv{|xy{zzz|~|{xvusrpojecbhnhlqqrtvvwxz}||}~yukkkmoty}{vspnmorst}~}|vquyz{~}|{{x|~}}}ytuv}zpmjmpy~ytqolqvwy}}xtgb^WQTWVUX\Z\_YTSSVZahfmuuvtrpnkhqzxy{{|~|{{{ws|xvuqnkiournkjgdoz~tw{yphb]emjhda``hZMU]bhnuwyywuqmlklnrworvmeee^X\a`_gilw~wpklnnnqtqnqux|svyyyuquyz|~{vqv}{vrv{tnjfcaXWWUSW\YVOHOQSLEHKNQUYaikosvz}wvurooponqu{vy}zvy}}{zyxyz|}|{~wvwxtqnkjjloruuvxtpoopqsvv{~|vqlhlkkigiklmor|{zyxqklnnnkhedd]VK@:58;KLMORZbgmoqrstsrrsw{tnmlqg]dklmqvy}}x{{yw{~~qe[\]cjnspmnphfe`[YXTQSVWVUTTY_][]_^^dfhlqpppprtzyy|}}~zyyz{{|}|zuqlhebghilppqqrpo|{z~~yoz~|~}wrqqtwww|||xu{~}zwuqnkifdfhfhjjjjjfcbaljhhiouy}zxvuuvwuttuuurkedchmkjd__`ghjkljhfdfhkd^]\_bdgghlptsspmllkkkllkkmptyz|~~{wtojdba^\agghkopppjddeimmnb`_[WXYZ[_clu~s|~vofeda_^^`bcenmligmsrrstnnnhb`_fmoqsu^adefhklnljrw|}~~|{xuuttx|~yuuutt{~~}zxwxy{{{ywqklms|}yz{|xyzxwusssxtpnlfabdeghimmnqtmgc`beigfdb`_`bdfdcc_[[\[[YXWVUVXXYXXXY\`hkotz}|{xuwy~~~~}||zxvuqnlllgc`^_abcefgghfea^[XSQONNOQUY]akpuwzz{vrrstuzzz{|~~}zwlf`\YURRRQQMILKKIGDA=963001-*'%&'*.2469<@DHMQVYXXXY]abdcbcejloprstwz}wvurphiklnqtvxwwvutsrrsrqmifa\WRPOPRSUVXZ]`begiloqtvvvwxz}~zvsoljhjlkjijlnpnmnooorrrpnmljieabeilpuz~}plijkmppquy~|wrkdYVTTTOKE@?>?AJOUWYVSPNNNWY\_beikmmnmjgggghhijkkjjkmptwz}{trqrsvy{~~zvx|{wvvx{zsmhd]VVVTSQLHGFCA@@CFGJNMLSZ^bcedda^\[Z[]bgkostvvvx{~~~~~~~}|{zxwvz~ypv|{uld^XUSTUbiqxvspqruyyz{|~~~{xustux|||}~{xsojklpuy}||yvsqrsty~~}|{}zuojln|}|}~|ysrrrrvz}zxyz|~zwmkjihhiijkmsvz{}{uomkhfghoswxy|~~~{yyyyzyy{}~yspmhda^\[[ZZZZYXXX[_ba`_^`baa_]W\a_]WROLLMKLNPSUX]cglnsxtqrsw|{{{|vy}~{uqma``ejqx}yvsqsvvtrolnpnmkifc\]^YTQNG@<8666;@ABAA@@CFIGEHLIGHJLOLNPONQTSSX^kosw|{zxvwyxxxxy{~}yvxyzyy|~}}}~|{xuv|}|{wsqpopqomllmnljhgba`bdbaZTRPIFCBBEIMQV[_beeffged`]^`]^`bddegjklpqrtvronnnoz~~}}zxusokihecbdfimmnnosrrrrpoooqt{~{zyyy|}yuoib[PLIHHKOPRSTTUZ[]ZWTRNJFC951/.158<=?ILOOPNMOQSUTSRQQRT[cglptwy{~yqj`WTQMLKIGIKLNRVWVUUURPPQOMKI>94459>CIKNNPRTVVVWY_fv||{z~~xwwz~|vnf```ekry|~~wz~~|{pnljilplic]]^hlprtuwz~xpjea]YVTRUZ_gpv}{upje`\XTOKHFHKOSWZ]^`cfquyz|{{zzyxy|~vnmlqvxvuroopw~{xuqnmlos|{z~|tljiqqrmijkjiiifdhhiiid_]\WSKMOTZahjmorux{|}~|yvtrwwxurnjiheccgkotssrqrtxz}}}|||}|{{{|{z{|{zwtrqqommmorv{~}zxyz|zupnlqsvy}|{{|~~}yvqmhccd`_^`bbcgknqrole^^^adioprxxy||ykfaabglsz|xuqnkigfegiknrv}}}~ytplry~}xtrquy~}~zwutstuvxy{|zrmhd`\YYY[^adklnquuvrng`]^`bddedddehijkloruxy{|}{zyvsoknr{{zxqlgffedcbkosrqonnnmlmonljihiklmif_][ZZ[\[[ZY]ZXSOPQTWZ]\XTSRSTTTPLGB678;?ADKRX_kjifdefgihggghd`]ZZ[\]ZXXZ]bhnt{~}{{{~z{|~}zyxxxyzzvpkkknqxxyyy{~~zsmga]ZUQQRSVYZ\`ekqusqkf_YRLKKNQRPONMNOSX[^c_\SKC<859>KNQONKHGFFFJMQSUVXYZXVVV[]__`^\YWXZ\\][ZZZ[\\]_`bcdccbaaafkttuuuvwz~yrmhba`dhlprtw{xtpje_YURPNNJGGGJNPRTWY\fgigfdb^[YXQONSX\adhjlgc___adefeeb`YZ\`einmmjhkihfefgikjjca`acegfea^UROLJJJJKLNMLV\cfilppqnla\WVVX[^abcdccdejotz~zvuuvxww||}|{|~}}}}zusqqrqpqsuwyz||}}}~|{{zyxxxxz|}|||}~}}}}~{yvsqqqnlifdbaa``bbca_[XURPNRTWXYZ\\\ZXNID?;:9=BIPVXZZZ\_addd_ZTVYYZUQPPRT_adb`\YTPNLNNNPRSTWZ^behjihda^\[[[\bipv|vspqrtwy||y{{xwwwz}{uuuz}xtrppprtvy~~|xtokhf^\[YXXYZ\\\YVTVX[_`aaa_^XUSRRPOLIFCBCEFHIJIHGFCCCDEIMPTUVVV\`dfijllligdeghjjkpuz|xusrtvx{yurpoqsvyxwtqf_XTQPPUZcl{~zvqmc`]\[\^`behijijlnpqstuuvvsqlhggedba]^_`abdegggfilmnljgeb_adjihfeb`][\]ejpswwwxz}}|yvwyyyxwutxz}~~~}~|xtqnnnqtvx{|}ztnkhfda_]\]_bdghjklptwusnjfb`_^]ZWUSQPOOPONKHB?===<<=>AEIKMPSUX[^`bcdegjloqtvxyz|yuqmmnoppqsu{{vroopruz}{zz{}{ywuttuuuuuwy~}zwuuvxz|~ztnljhiknquy{~~}tpljhgfdca`^^_`a``behkqrsstrqomkjhgfeeeeefffdb[XVVVVWXYZ[^]]\\[ZYYZ\`^]\\\\\][ZYYY\_beefdba``cgkpsvvwwwwvvuuvx{~yupljhhhhihfefhikihijhfdb`\XURPOMPSW\afilnqyz||||}}~~~~}||||}~~~}|ywtrpnljihkmprttuqnkiihhhhgfeefgjkmoqqrqpooljfdb`^[XVUTTUVWXZ\^_`bdghiiihgecbbbcddeddcbaabccbbbbcdgjmquvwxyxxvuvwvwxxyyy{~~~~}}{zz{|~~~}}||||}~~}}||zywuttrsuvxwwxy{}}}uqnjfc```abiknnoopoooonnonmkjhfedcca_]_afkosvyzxvtsokgdfilnpppnlnquy|xuvw|}zxyz{|}~|zy{~}wustuz}zyx{|tdcbehntx}wwwtqqrtwxytttqnljihggd_[\]aeimmnmmlnqtxxyxxyz~}{z|~tj`VMMNQTW[^behkihaZPF@;:9AGMPTRQONNNKIB?<<9767668:?DIOSW[YXUSOLJHHHGFFGIKNPSVZ]`gilllkkigedbcdfimquz~~{tsrrstuuuvx{~~xvtrqsuwz{}~{ywvuutsstz|~}zwspnljjjkmptuvxyzyyxwxz{{|{zwtojfb\[ZXWWX[_adfinnnmlnpruuuplhda``begilortvxzyxwvsqrtwxzzzvrolhijlnrwy{~~|{{zzzzyyutsstuvutpmijlorqqppoomlfa]YVUUX[]`_]\\]]^]]ZXRQPQRSTSSTVXZZYYZ[[[YWTRTTUX[^beijkllmmmllkjjkjhggghjkmoqrsrnjihikjjjkkmoqtuwy||||~~}{yrnkjihhhhikpqrqqonkifda``^]ZXWVXZ^`cehijihec`]WUTUVX[_chmrrrrspnjfa\YZ[]__`bdfijlpsw{}zxwwyyyvtsssstvC0Lh _TEXTCODE(i _DATADATA˜h\_EMUSEGDATAX_CRTSEGDATAX _CVTSEGDATA H _SCNSEGDATAH  _BSSBSS*H_BSSENDSTACK(_STACKSTACKtDGROUP&/_main __setargv __setenvp_exit__stklen8__ScanTodVectorg__RealCvtVectorc emws_initialSPܐ emws_nmiVector__envsegw emuTop@ emws_controlV __heaptop __envSizey9 _abort5 emws_adjustʐ emws_status __osminor~ __psp{А emws_TOSg emws_versionC __restorezerorY __exit ֐ __Int4Vector__ __Int0Vector[g __Int5VectorcZ __Int6VectorgU __heapbaseԐDGROUP@__envLngu emws_fixSeg emws_BPsafe  emws_stamp,__brklvl_environq emws_saveVector9 __argvm __argck _errnoV __StartTimer __8087D emws_limitSPk __osmajor} __version}.0!.,ڣ}{w.>uNjع&=87u&U=uYus>G;sډ{+؎JW!_ҋ3.+6s6q6o6m6kP.rLF!/5![]5!_a5!ce5!gi%ʎں%!%[!%_!%c!%g!˴@!ù=.P T#'0NWjyĢĦĩTTT*7;DHQU^bxŃŎřšŴŹTUāVĎVVVV VlTTkGTurbo-C - Copyright (c) 1988 Borland Intl.Divide error Abnormal program termination  TT'TF