home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!news.tek.com!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v17i104: nethack31 - display oriented dungeons & dragons (Ver. 3.1), Patch2cc/33
- Date: 11 Jun 1993 00:18:53 GMT
- Organization: Tektronix, Inc, Redmond, OR, USA
- Lines: 1740
- Approved: billr@saab.CNA.TEK.COM
- Message-ID: <1v8j1d$j9o@ying.cna.tek.com>
- NNTP-Posting-Host: saab.cna.tek.com
- Xref: uunet comp.sources.games:1786
-
- Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
- Posting-number: Volume 17, Issue 104
- Archive-name: nethack31/Patch2cc
- Patch-To: nethack31: Volume 16, Issue 1-116
- Environment: Amiga, Atari, Mac, MS-DOS, Windows-NT, OS2, Unix, VMS, X11
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 29 (of 33)."
- # Contents: sys/msdos/trampoli.c sys/share/termcap.uu
- # sys/winnt/nttty.c
- # Wrapped by billr@saab on Thu Jun 10 16:55:08 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'sys/msdos/trampoli.c' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'sys/msdos/trampoli.c'\" to \"'sys/msdos/trampoli.c.orig'\"
- mv -f 'sys/msdos/trampoli.c' 'sys/msdos/trampoli.c.orig'
- fi
- echo shar: Extracting \"'sys/msdos/trampoli.c'\" \(14865 characters\)
- sed "s/^X//" >'sys/msdos/trampoli.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)trampoli.c 3.1 93/01/18 */
- X/* Copyright (c) 1989 - 1993 by Norm Meluch and Stephen Spackman */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#include "hack.h"
- X
- X/****************************************************************************/
- X/* */
- X/* This file contains a series of definitions of "one liner" */
- X/* functions corresponding to *all* functions that NetHack calls */
- X/* via pointers. */
- X/* IF ANY CALLS TO FUNCTIONS VIA POINTERS ARE ADDED */
- X/* TO THE CODE, AN ENTRY FOR THE FUNCTION CALLED MUST */
- X/* BE ADDED TO THIS FILE AND TO TRAMPOLI.H. */
- X/* This mess is necessary for the Microsoft Compiler implementation */
- X/* of overlaid code (v5.1 - 6.0ax). */
- X/* */
- X/* The original function (eg foo) has been #defined to be foo_ */
- X/* via double inclusion of trampoli.h in hack.h, and */
- X/* now the definition of foo is placed in this file calling foo */
- X/* directly. This module is _never_ placed in an overlay so */
- X/* calls via pointers to these functions will not cause difficulties. */
- X/* */
- X/* This leads to what could be called a "trampoline" effect, and */
- X/* hence the silly name for these files. :-) */
- X/* */
- X/****************************************************************************/
- X
- X#ifdef OVERLAY
- X
- X/* ### apply.c ### */
- X#undef dig
- X#undef doapply
- X#undef dojump
- X#undef dorub
- X
- Xint dig() { return dig_(); }
- Xint doapply() { return doapply_(); }
- Xint dojump() { return dojump_(); }
- Xint dorub() { return dorub_(); }
- X
- X
- X/* ### artifact.c ### */
- X#undef doinvoke
- X
- Xint doinvoke() { return doinvoke_(); }
- X
- X
- X/* ### cmd.c ### */
- X#undef doextcmd
- X#undef doextlist
- X#undef doprev_message
- X
- X#ifdef POLYSELF
- X#undef domonability
- X#endif /* POLYSELF */
- X
- X#ifdef EXPLORE_MODE
- X#undef enter_explore_mode
- X
- Xint enter_explore_mode() { return enter_explore_mode_(); }
- X#endif
- X
- X#undef timed_occupation
- X
- X#if defined(WIZARD) || defined(EXPLORE_MODE)
- X#undef wiz_attributes
- X#endif
- X
- X#ifdef WIZARD
- X#undef wiz_detect
- X#undef wiz_genesis
- X#undef wiz_identify
- X#undef wiz_level_tele
- X#undef wiz_map
- X#undef wiz_where
- X#undef wiz_wish
- X#endif
- X
- Xint doextcmd() { return doextcmd_(); }
- Xint doextlist() { return doextlist_(); }
- Xint doprev_message() { return doprev_message_(); }
- X
- X#ifdef POLYSELF
- Xint domonability() { return domonability_(); }
- X#endif /* POLYSELF */
- X
- Xint timed_occupation() { return timed_occupation_(); }
- X
- X#if defined(WIZARD) || defined(EXPLORE_MODE)
- Xint wiz_attributes() { return wiz_attributes_(); }
- X#endif
- X
- X#ifdef WIZARD
- Xint wiz_detect() { return wiz_detect_(); }
- Xint wiz_genesis() { return wiz_genesis_(); }
- Xint wiz_identify() { return wiz_identify_(); }
- Xint wiz_level_tele() { return wiz_level_tele_(); }
- Xint wiz_map() { return wiz_map_(); }
- Xint wiz_where() { return wiz_where_(); }
- Xint wiz_wish() { return wiz_wish_(); }
- X#endif
- X
- X
- X/* ### do.c ### */
- X#undef doddrop
- X#undef dodown
- X#undef dodrop
- X#undef donull
- X#undef doup
- X#undef dowipe
- X#undef drop
- X#undef wipeoff
- X
- Xint doddrop() { return doddrop_(); }
- Xint dodown() { return dodown_(); }
- Xint dodrop() { return dodrop_(); }
- Xint donull() { return donull_(); }
- Xint doup() { return doup_(); }
- Xint dowipe() { return dowipe_(); }
- Xint drop(obj)
- X register struct obj *obj; { return drop_(obj); }
- Xint wipeoff() { return wipeoff_(); }
- X
- X
- X/* ### do_name.c ### */
- X#undef ddocall
- X#undef do_mname
- X
- Xint ddocall() { return ddocall_(); }
- Xint do_mname() { return do_mname_(); }
- X
- X
- X/* ### do_wear.c ### */
- X#undef Armor_off
- X#undef Boots_off
- X#undef Gloves_off
- X#undef Helmet_off
- X#undef Armor_on
- X#undef Boots_on
- X#undef Gloves_on
- X#undef Helmet_on
- X#undef doddoremarm
- X#undef doputon
- X#undef doremring
- X#undef dotakeoff
- X#undef dowear
- X#undef select_off
- X#undef take_off
- X
- Xint Armor_off() { return Armor_off_(); }
- Xint Boots_off() { return Boots_off_(); }
- Xint Gloves_off() { return Gloves_off_(); }
- Xint Helmet_off() { return Helmet_off_(); }
- Xint Armor_on() { return Armor_on_(); }
- Xint Boots_on() { return Boots_on_(); }
- Xint Gloves_on() { return Gloves_on_(); }
- Xint Helmet_on() { return Helmet_on_(); }
- Xint doddoremarm() { return doddoremarm_(); }
- Xint doputon() { return doputon_(); }
- Xint doremring() { return doremring_(); }
- Xint dotakeoff() { return dotakeoff_(); }
- Xint dowear() { return dowear_(); }
- Xint select_off(otmp)
- X struct obj *otmp; { return select_off_(otmp); }
- Xint take_off() { return take_off_(); }
- X
- X
- X/* ### dogmove.c ### */
- X#undef wantdoor
- X
- Xvoid wantdoor(x, y, dummy)
- X int x, y; genericptr_t dummy; { wantdoor_(x, y, dummy); }
- X
- X
- X/* ### dokick.c ### */
- X#undef dokick
- X
- Xint dokick() { return dokick_(); }
- X
- X
- X/* ### dothrow.c ### */
- X#undef dothrow
- X
- Xint dothrow() { return dothrow_(); }
- X
- X
- X/* ### eat.c ### */
- X#undef Hear_again
- X#undef eatmdone
- X#undef doeat
- X#undef eatfood
- X#undef opentin
- X#undef unfaint
- X
- Xint Hear_again() { return Hear_again_(); }
- Xint eatmdone() { return eatmdone_(); }
- Xint doeat() { return doeat_(); }
- Xint eatfood() { return eatfood_(); }
- Xint opentin() { return opentin_(); }
- Xint unfaint() { return unfaint_(); }
- X
- X
- X/* ### end.c ### */
- X#undef done1
- X#undef done2
- X#undef hangup
- X#undef done_intr
- X
- X#if defined(UNIX) || defined(VMS)
- X#undef done_hangup
- X#endif /* UNIX || VMS */
- X
- Xint done1() { return done1_(); }
- Xint done2() { return done2_(); }
- Xint hangup() { return hangup_(); }
- Xint done_intr() { return done_intr_(); }
- X
- X#if defined(UNIX) || defined(VMS)
- Xint done_hangup() { return done_hangup_(); }
- X#endif /* UNIX || VMS */
- X
- X
- X/* ### engrave.c ### */
- X#undef doengrave
- X
- Xint doengrave() { return doengrave_(); }
- X
- X
- X/* ### fountain.c ### */
- X#undef gush
- X
- Xvoid gush(x, y, poolcnt)
- X int x, y; genericptr_t poolcnt; { gush_(x, y, poolcnt); }
- X
- X
- X/* ### hack.c ### */
- X#undef dopickup
- X#undef identify
- X
- Xint dopickup() { return dopickup_(); }
- Xint identify(otmp)
- X struct obj *otmp; { return identify_(otmp); }
- X
- X
- X/* ### invent.c ### */
- X#undef ckunpaid
- X#undef ddoinv
- X#undef dolook
- X#undef dopramulet
- X#undef doprarm
- X#undef doprgold
- X#undef doprring
- X#undef doprtool
- X#undef doprwep
- X#undef dotypeinv
- X#undef doorganize
- X
- Xint ckunpaid(obj)
- X struct obj *obj; { return ckunpaid_(obj); }
- Xint ddoinv() { return ddoinv_(); }
- Xint dolook() { return dolook_(); }
- Xint dopramulet() { return dopramulet_(); }
- Xint doprarm() { return doprarm_(); }
- Xint doprgold() { return doprgold_(); }
- Xint doprring() { return doprring_(); }
- Xint doprtool() { return doprtool_(); }
- Xint doprwep() { return doprwep_(); }
- Xint dotypeinv() { return dotypeinv_(); }
- Xint doorganize() { return doorganize_(); }
- X
- X
- X/* ### ioctl.c ### */
- X#ifdef UNIX
- X# ifdef SUSPEND
- X#undef dosuspend
- X
- Xint dosuspend() { return dosuspend_(); }
- X# endif /* SUSPEND */
- X#endif /* UNIX */
- X
- X
- X/* ### lock.c ### */
- X#undef doclose
- X#undef doforce
- X#undef doopen
- X#undef forcelock
- X#undef picklock
- X
- Xint doclose() { return doclose_(); }
- Xint doforce() { return doforce_(); }
- Xint doopen() { return doopen_(); }
- Xint forcelock() { return forcelock_(); }
- Xint picklock() { return picklock_(); }
- X
- X
- X/* ### mklev.c ### */
- X#undef do_comp
- X
- Xint do_comp(vx, vy)
- X genericptr_t vx, vy; { return comp_(vx, vy); }
- X
- X
- X/* ### mondata.c ### */
- X/* canseemon() is only called by a macro e_boolean. If e_boolean ever does
- X become a function, this may need to return. */
- X
- X/* #undef canseemon */
- X
- X/* boolean canseemon(x) struct monst *x; { return canseemon_(x); } */
- X
- X
- X/* ### muse.c ### */
- X#undef mbhitm
- X
- Xint mbhitm(mtmp, otmp)
- X struct monst *mtmp; struct obj *otmp; { return mbhitm_(mtmp, otmp); }
- X
- X
- X/* ### o_init.c ### */
- X#undef dodiscovered
- X
- Xint dodiscovered() { return dodiscovered_(); }
- X
- X
- X/* ### objnam.c ### */
- X#undef doname
- X#undef xname
- X
- Xchar *doname(obj)
- X struct obj *obj; { return doname_(obj); }
- Xchar *xname(obj)
- X struct obj *obj; { return xname_(obj); }
- X
- X
- X/* ### options.c ### */
- X#undef doset
- X#undef dotogglepickup
- X
- Xint doset() { return doset_(); }
- Xint dotogglepickup() { return dotogglepickup_(); }
- X
- X
- X/* ### pager.c ### */
- X#undef dohelp
- X#undef dohistory
- X#undef dowhatdoes
- X#undef dowhatis
- X#undef doquickwhatis
- X
- Xint dohelp() { return dohelp_(); }
- Xint dohistory() { return dohistory_(); }
- Xint dowhatdoes() { return dowhatdoes_(); }
- Xint dowhatis() { return dowhatis_(); }
- Xint doquickwhatis() { return doquickwhatis_(); }
- X
- X
- X/* ### pcsys.c ### */
- X#ifdef SHELL
- X#undef dosh
- X
- Xint dosh() { return dosh_(); }
- X#endif /* SHELL */
- X
- X
- X/* ### pickup.c ### */
- X#undef ck_bag
- X#undef doloot
- X#undef in_container
- X#undef out_container
- X
- Xint ck_bag(obj)
- X struct obj *obj; { return ck_bag_(obj); }
- Xint doloot() { return doloot_(); }
- Xint in_container(obj)
- X struct obj *obj; { return in_container_(obj); }
- Xint out_container(obj)
- X struct obj *obj; { return out_container_(obj); }
- X
- X
- X/* ### potion.c ### */
- X#undef dodrink
- X#undef dodip
- X
- Xint dodrink() { return dodrink_(); }
- Xint dodip() { return dodip_(); }
- X
- X
- X/* ### pray.c ### */
- X#undef doturn
- X#undef dopray
- X#undef prayer_done
- X#undef dosacrifice
- X
- Xint doturn() { return doturn_(); }
- Xint dopray() { return dopray_(); }
- Xint prayer_done() { return prayer_done_(); }
- Xint dosacrifice() { return dosacrifice_(); }
- X
- X
- X/* ### print.c ### */
- X#undef doredraw
- X
- Xint doredraw() { return doredraw_(); }
- X
- X
- X/* ### read.c ### */
- X#undef doread
- X#undef set_lit
- X
- Xint doread() { return doread_(); }
- Xvoid set_lit(x, y, val)
- X int x, y; genericptr_t val; { set_lit_(x, y, val); }
- X
- X
- X/* ### rip.c ### */
- X#undef genl_outrip
- X
- Xvoid genl_outrip(tmpwin, how)
- X winid tmpwin; int how; { genl_outrip_(tmpwin, how); }
- X
- X
- X/* ### save.c ### */
- X#undef dosave
- X
- Xint dosave() { return dosave_(); }
- X
- X
- X/* ### search.c ### */
- X#undef findone
- X#undef openone
- X#undef doidtrap
- X#undef dosearch
- X
- Xvoid findone(zx, zy, num)
- X int zx, zy; genericptr_t num; { findone_(zx, zy, num); }
- Xvoid openone(zx, zy, num)
- X int zx, zy; genericptr_t num; { openone_(zx, zy, num); }
- Xint doidtrap() { return doidtrap_(); }
- Xint dosearch() { return dosearch_(); }
- X
- X
- X/* ### shk.c ### */
- X#undef dopay
- X
- Xint dopay() { return dopay_(); }
- X
- X
- X/* ### sit.c ### */
- X#undef dosit
- X
- Xint dosit() { return dosit_(); }
- X
- X
- X/* ### sounds.c ### */
- X#undef dotalk
- X
- Xint dotalk() { return dotalk_(); }
- X
- X
- X/* ### spell.c ### */
- X#undef learn
- X#undef docast
- X#undef dovspell
- X
- Xint learn() { return learn_(); }
- Xint docast() { return docast_(); }
- Xint dovspell() { return dovspell_(); }
- X
- X
- X/* ### steal.c ### */
- X#undef stealarm
- X
- Xint stealarm() { return stealarm_(); }
- X
- X
- X/* ### trap.c ### */
- X#undef dotele
- X#undef dountrap
- X#undef float_down
- X
- Xint dotele() { return dotele_(); }
- Xint dountrap() { return dountrap_(); }
- Xint float_down() { return float_down_(); }
- X
- X
- X/* ### version.c ### */
- X#undef doversion
- X#undef doextversion
- X
- Xint doversion() { return doversion_(); }
- Xint doextversion() { return doextversion_(); }
- X
- X
- X/* ### wield.c ### */
- X#undef dowield
- X
- Xint dowield() { return dowield_(); }
- X
- X
- X/* ### zap.c ### */
- X#undef bhitm
- X#undef bhito
- X#undef dozap
- X
- Xint bhitm(mtmp, otmp)
- X struct monst *mtmp; struct obj *otmp; { return bhitm_(mtmp, otmp); }
- Xint bhito(obj, otmp)
- X struct obj *obj, *otmp; { return bhito_(obj, otmp); }
- Xint dozap() { return dozap_(); }
- X
- X
- X/*
- X * Window Implementation Specific Functions.
- X */
- X
- X/* ### getline.c ### */
- X#undef tty_getlin
- X#ifdef COM_COMPL
- X#undef tty_get_ext_cmd
- X
- Xvoid tty_get_ext_cmd(bufp)
- X char *bufp; { tty_get_ext_cmd_(bufp); }
- X#endif /* COM_COMPL */
- Xvoid tty_getlin(query,bufp)
- X const char *query; char *bufp;{ tty_getlin_(query,bufp); }
- X
- X
- X/* ### termcap.c ### */
- X#undef tty_nhbell
- X#undef tty_number_pad
- X#undef tty_delay_output
- X#undef tty_start_screen
- X#undef tty_end_screen
- X
- Xvoid tty_nhbell() { tty_nhbell_(); }
- Xvoid tty_number_pad(state)
- X int state; { tty_number_pad_(state); }
- Xvoid tty_delay_output() { tty_delay_output_(); }
- X/* other defs that really should go away (they're tty specific) */
- Xvoid tty_start_screen() { tty_start_screen_(); }
- Xvoid tty_end_screen() { tty_end_screen_(); }
- X
- X
- X/* ### topl.c ### */
- X#undef tty_doprev_message
- X#undef tty_yn_function
- X
- Xint tty_doprev_message() { return tty_doprev_message_(); }
- Xchar tty_yn_function(query,resp,def)
- X const char *query, *resp; char def;
- X { return tty_yn_function_(query,resp,def); }
- X
- X
- X/* ### wintty.c ### */
- X#undef tty_init_nhwindows
- X#undef tty_player_selection
- X#undef tty_askname
- X#undef tty_get_nh_event
- X#undef tty_exit_nhwindows
- X#undef tty_suspend_nhwindows
- X#undef tty_resume_nhwindows
- X#undef tty_create_nhwindow
- X#undef tty_clear_nhwindow
- X#undef tty_display_nhwindow
- X#undef tty_destroy_nhwindow
- X#undef tty_curs
- X#undef tty_putstr
- X#undef tty_display_file
- X#undef tty_start_menu
- X#undef tty_add_menu
- X#undef tty_end_menu
- X#undef tty_select_menu
- X#undef tty_update_inventory
- X#undef tty_mark_synch
- X#undef tty_wait_synch
- X#ifdef CLIPPING
- X#undef tty_cliparound
- X#endif
- X#undef tty_print_glyph
- X#undef tty_raw_print
- X#undef tty_raw_print_bold
- X#undef tty_nhgetch
- X#undef tty_nh_poskey
- X
- Xvoid tty_init_nhwindows() { tty_init_nhwindows_(); }
- Xvoid tty_player_selection() { tty_player_selection_(); }
- Xvoid tty_askname() { tty_askname_(); }
- Xvoid tty_get_nh_event() { tty_get_nh_event_(); }
- Xvoid tty_exit_nhwindows(str)
- X const char *str; { tty_exit_nhwindows_(str); }
- Xvoid tty_suspend_nhwindows(str)
- X const char *str; { tty_suspend_nhwindows_(str); }
- Xvoid tty_resume_nhwindows() { tty_resume_nhwindows_(); }
- Xwinid tty_create_nhwindow(type)
- X int type; { return tty_create_nhwindow_(type); }
- Xvoid tty_clear_nhwindow(window)
- X winid window; { tty_clear_nhwindow_(window); }
- Xvoid tty_display_nhwindow(window, blocking)
- X winid window; boolean blocking;
- X { tty_display_nhwindow_(window,blocking); }
- Xvoid tty_destroy_nhwindow(window)
- X winid window; { tty_destroy_nhwindow_(window); }
- Xvoid tty_curs(window,x,y)
- X winid window; int x,y; { tty_curs_(window,x,y); }
- Xvoid tty_putstr(window,attr,str)
- X winid window; int attr; const char *str;
- X { tty_putstr_(window,attr,str); }
- Xvoid tty_display_file(fname, complain)
- X const char *fname; boolean complain;
- X { tty_display_file_(fname,complain); }
- Xvoid tty_start_menu(window)
- X winid window; { tty_start_menu_(window); }
- Xvoid tty_add_menu(window,ch,attr,str)
- X winid window; char ch; int attr; const char *str;
- X { tty_add_menu_(window,ch,attr,str); }
- Xvoid tty_end_menu(window,ch,str,morestr)
- X winid window; char ch; const char *str, *morestr;
- X { tty_end_menu_(window,ch,str,morestr); }
- Xchar tty_select_menu(window)
- X winid window; { return tty_select_menu_(window); }
- Xvoid tty_update_inventory() { tty_update_inventory_(); }
- Xvoid tty_mark_synch() { tty_mark_synch_(); }
- Xvoid tty_wait_synch() { tty_wait_synch_(); }
- X#ifdef CLIPPING
- Xvoid tty_cliparound(x,y)
- X int x,y; { tty_cliparound_(x,y); }
- X#endif
- Xvoid tty_print_glyph(window,x,y,glyph)
- X winid window; xchar x,y; int glyph;
- X { tty_print_glyph_(window,x,y,glyph); }
- Xvoid tty_raw_print(str)
- X const char *str; { tty_raw_print_(str); }
- Xvoid tty_raw_print_bold(str)
- X const char *str; { tty_raw_print_bold_(str); }
- Xint tty_nhgetch() { return tty_nhgetch_(); }
- Xint tty_nh_poskey(x,y,pos)
- X int *x,*y,*pos; { return tty_nh_poskey_(x,y,pos); }
- X
- X#endif /* OVERLAY */
- END_OF_FILE
- if test 14865 -ne `wc -c <'sys/msdos/trampoli.c'`; then
- echo shar: \"'sys/msdos/trampoli.c'\" unpacked with wrong size!
- fi
- # end of 'sys/msdos/trampoli.c'
- if test -f 'sys/share/termcap.uu' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'sys/share/termcap.uu'\" to \"'sys/share/termcap.uu.orig'\"
- mv -f 'sys/share/termcap.uu' 'sys/share/termcap.uu.orig'
- fi
- echo shar: Extracting \"'sys/share/termcap.uu'\" \(31540 characters\)
- sed "s/^X//" >'sys/share/termcap.uu' <<'END_OF_FILE'
- Xbegin 644 termcap.zip
- XM4$L#!`H````&`)H!#`VHK'I&:@4``-0*```(````1D=%5$Q2+D,-`@$2(Q05R
- XM-C=HB9K;/`4&$A-$Q?:6]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M79`HY
- XMQZ8$&3,G3IDL01J56Y8,\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8+V48;
- XM;%BJ:/PWR+EOS=*]&X99@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."GO=F69
- XM#3N'W<UT/]RZ8MFF'?-?DNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LVR%KN>
- XMV#3/&V2=_PTB>K/-ZT(?9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??VC>)ZW
- XM8!\-LRXK-@\P>5;.^*9#M6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK+)<_[
- XM/@9*U/[JN\>6*2O;ADWSUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ:Q=S4
- XM*B15V#.[T2R]8KWF_:HUB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=]#J=3
- XM(\;:)UM'GRR+%TZ9MK[:-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>WRTVM
- XMS?BZ%TRWF>/MAGO/(;/Y3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S$-XO-
- XMFEN=FVE2H5*#2LU"V%W5Z5"J29\ZJ1Y`NQDYE5XMA[$#^4&R?7MF[K+"X%QU2
- XM;#EPV)F[#5.EU9Q8\-GY7EK$6%]]*I7HE&%PRHUPHP@5O^NZ'9,Z.<<^.36KY
- XMTZ=0IR:I3P!I]UK%?HU2+%P6PGMN6CV7TV;AIO".H]X[FMOJ#P*\>JZ-)F5:B
- XMA/^Z*W"::-&I0Z4FA=(54F5T6#*Q/=EOBXW'*W#B'ODRWB*6M8C(B=#78+597
- XM,UXHZ.6N10SS.G4XF_^Z3ACVO^&0]I#W'3RTF\*\B*K5_AK-=EMG\W=;!K%35
- XM#F;O,_;?FI>E%;4N\SME;TU7_"Y#NQ/<42E9X#ZJ!_7JW%+>+E)-N*_:E]5UR
- XMC!"OTVQNG%:_O>-OFE%6O-.J3)FZ4(L.TA5,9Q7YLNU2G"+>98!N.:N1://.@
- XM`8^?4RRXWAL'S,85O+J*@SB+$6;\V9XNUGH8:Q^R77A-]+<@U/)>.^?NHTTQ1
- XM-4'+]IJQ6%1ICE?G^69S6L88XU?>*UX=>I$S9F^S;92KONQW$"76^AST9V/U2
- XMEMAR\T2+,_:;MY:Z86QT"J[8?M.BS@/9.]YER<BRB^DV(\V0,^P<:(225=P$T
- XM[)N.:;0;NH=*"[KE%'%S]QE>-3Z<S:<'E!8$'!!8D!01(GJ/2:OEC&JF"2O?,
- XM,)I)GD!ZH!7SHQZU.RVTZA',(@`?@"`L^7F`Y9I0[CM0MYG"ZSM]S\Q!K)8RX
- XM0^ZR(&:'2)P`LI`%JWB4+6<9I:8I)@8*Z7J^.Q'00O$LL>MTJVM*47V$]M*DS
- XMKN,)&B2/8V5*_=8E6A^>BH3I7;0JT2>;[R>$44;10LN>(07;-!RI9A*CI!E3?
- XM;#:8X6X,2=U)23;!WHN(+Z>4JQ<DR#>UH%ZGE/PV48*_(_J`$L6^D[K9JS;N=
- XMECPB]AM)?UDY059CT2"^HMC?#&L282+&S,`F^!;8&?D8+4:>,&HSOZJN+8VQ5
- XM&&`2^:6+]'#0J/-Q-4Y7;&-KN'!@-]NP\2Z6)HM(W^3KN5J.09*`O/A+2`FG8
- XMGE`>72320%E"$$U"'"1$:H3X/<AV;MZCJ6+T1KOCN<JOQX0/\&))C8)<SAF'0
- XM"+)G#\(;\D*VFSFF$@5T0R;[V*DJO^[VS>!7(`C$:#?'-CYN?L.1?A/,>XMW2
- XM[R(]UJ7*EBVRA_8^R=7MB6[*:'9,^U@)9;]-@CB/YW)>)KC[*U>"T*]W0)<@0
- XMSE;.C<UR#%*\131?&0.JW(%.]CG^/E(1;"OL8OM02P,$"@````8`I@$,#;2E:
- XM)0;\`@``3`4```D```!)4T1)1TE4+D,-`@$2(Q05-C=HB9K;/`4&$A-$Q?:6#
- XM]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M79`HQZ8$&3,G3IDL01J56Y8,)
- XM\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8+V48;%BJ:/PWR+EOS=*]&X99&
- XM@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."GO=F6#3N'W<UT/]RZ8MFF'?-?<
- XMDNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LVR%KNV#3/&V2=_PTB>K/-ZT(?W
- XM9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??VC>)Z8!\-LRXK-@\P>5;.^*9#7
- XMM6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK+)<_/@9*U/[JN\>6*2O;ADWS'
- XMUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ:Q=S*B15V#.[T2R]8KWF_:HU!
- XMB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=]#J=(\;:)UM'GRR+%TZ9MK[:]
- XM-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>WRTVS?BZ%TRWF>/MAGO/(;/Y>
- XM3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S$-XOFEN=FVE2H5*#2LU"V%W5O
- XMZ5"J29\ZJ1Y`FUQ55Y_1NQH[OE2"KR*FG"J^K)PVJ#MMCST&SO&Z0ZOL,_8]7
- XM-:O3IU"G)IV"C&AR@V`F<*O1IM"#8K9HWV&?)%ITZE"I2:$(C:1;34?+[2;/=
- XM355JU2))2J-!F4Y!7HI;\<J+5:W/M$[#D>W?L4/3H9S]<7XH)H3NU!9'CHI;R
- XM9>%AY*:L$[7C=%T030JM>N1NLFF8-;89.C2;V1KDKGZG*<(T9_!&K-'@+\VXP
- XMW3+,<$`HLP):]'HIU4F36*/BY"/P5^!V';T;)`\EU=[]UB5:']4->INQ-K!T^
- XMC.<$6AJ&^.@S-#V3>[JMBX.K(&50MT^0)W.>!,F7S_:1J^4-\\2H%/B%]H:4=
- XM**)YRAWQ=9_-;C:+-N\XH*,[9;R$'U!+`P0*````!@`@&&$:<*RI`.X*``":&
- XM&0``"@```$Q)0E1%4DU#+D$/`!(#)!4V)S@Y:GM,G6X?"08!$S3E]I;W0_(,J
- XM*W<L6I\*Z9XM2[>L6[HNWX($$<QOSH294Z9,FC9A+-NP%.,Q8<*83MECQL0YO
- XM(YT&J_!@@*,G+F!J)*=C$M4Q635Q^<'L"2XNBM#8\HN;(DS<@%K_UT6(?MFQL
- XM#R9.,#'PQ,(35^5?6'K=$N0.&"=`NA%Q2>T`TP\B=LB0(:]7,#SN__^"7U]GD
- XM>3G+Z<\?+4`"0M.@K$WH&0A]8>!TIT#/8%HA\=OT"*;Y#G9'OX><$]A6.,J4H
- XMW#JP*L+&0O^YW9YWB*LO77]A;8QO79]@>4O+QP2^'F#RX52+2FTZ-"A4@'(!C
- XM),M7EY7;=FQ8N`!?S.FQ+YBQ,Y,,T0I3=O0(SD9H>7Q:_B%A1];FY?%YV9871
- XMM(SU+^&8<Z6K0'T@Q^ND*W`]2K3*OL3QHQ_NCVA%\"4TW03L\T_?JDJZ7LA6S
- XMHV66MGKVES8\/7)'H3^]?BW4CQGINA2@S<\:9YJJLJOYM[,5;32B-4O:8!>D,
- XM[>N-0CJ;.N?9SC7&.;`>SEW#T]`)SO'U`J[[4X,'-^9'UI7P]^E/;3Z=_M,Q4
- XM=7D-_DWY,>V+JK!B!%-HO&53/%7X[SCA$:XG-V[1O"X*TB,I''.^=!D<LSQ-(
- XM<+V#/>!-GEK)NYQS#-\DA'<2@=,Z'M(W\6Q-<@Y_B>^)=&92I__\P@="^HN><
- XM=[4S$+ZANV/372>8[IA<=NP)KMW8,QGLF!QU37IZ)C,=DXN.?<&UWSEV!<?N*
- XMY=@1''N6;S+'/1GCF:0/X)M^#^"99G3L!YX]T+$;.'8NUW3#",=&V,Z0P#,5J
- XMS"<,>X%EDL.P!]@F2QR3Z(8=QC41K#C>20)(.Y!K>"3+\%"6X;$LPW]9AC^S4
- XM#/]F&?[.MHX=*_/KV+=MX:9E6Y:L"_MNE4`N^;%PQ=8U@[S9M&[)$)MWRL;M(
- XM;&;SKV??<(\VS+./9?MVSK7/I2O'>S?7MJ]VKOTM'&>Q]C%8=TS#S6--/+?)J
- XMW"S;L&<X&=MD@)=YDR:(388E]$KP,(Y)")L,(<D,L!VR6AVPJN9^#S,MG$IA7
- XM&V=3R/;9W,=GDS:L:2'7N(EKTL&Q31ONZ,#U#2Z;C'#9&Y@4CF!3$-9;T/8!J
- XM@^<(!@\0.RP!WL0RO(LK`&5.@@4X*RJ:)I2M;NNV2?D`.@WNF@C-KXGP/(Y)]
- XM#$V$93AU<0<G\J[TG,CIHR_G1%AZC*B_0DF+TE\D;%)4^HHQXM3XL'`H2^3T\
- XM1)%76J:T2'V3@;[1=#,<V[4UBO4"VWC\3B]0,<,?+Q(6.^<PZR9P'M\5=?T!O
- XM9%>P*H+M#WU#E(H>2BC`2IZ/7-R5_\/77?')-?_$V`<#AU9WXQ8)'AYP6;29W
- XM[>N5]0I?/R&6%06^0XHX>(#KN\(C?`7(*M')"XU/)HAT``\@THEEO,4RO(W,N
- XM!\H?#/-!_IIV+MFT9]/2"7TV;:$/H-]0Z%CH$[\F<>%@;@L>P6L!J&!>"[22Z
- XMRR*%O!9X&=>DA=?">TS<,,M'-+Y:F`04V%X1@$0G/H:N5[1;B*<X@OT(W@A^K
- XM'HOYW$S,)[TP7!7(@V.>D*=7NB'7WYC:0#XEM:WMZ-=433P\?_'P6,J5>54(O
- XM./Q'Q`AR+DFAXI`*HH5:)K:NI_3.C1FV\O.;Q'<L1)W(*<=WL^FB&\4B-,O0C
- XMK4*Y#82JLS!R`VVNBG0X@\7AI@8ZMCC>U'C1_0`(FQS<E[_`ORS*<4#E\!>!%
- XME]T_`-L50P0L'#K"JON*FN'Z:!.;5MQT7UI\_9)GML__UZ!\1>_#9\"L--E8?
- XM<AC"G)?1#$J;71OU#*BIBB5'V\)"NQ@]]QV@M.G<`0X.)\@WP,6AK1P3DPP67
- XMP,\A&@L`]ZZ0AKW&.\F#VWO\;&IUN)%W^">Q!93'LM@"D6P9\X8[]K=?R\X=_
- XM<WR;`S^;PIR.8B)VGNW<WR0F:N<!])HY<RPF+`<VDU2&'<]8)`@ZDT^?0IU2M
- XM2W@?-%UW(:YF7<]WO9Z')"?*^/5X01#%#F/8I(<@/0EDMI)NB&*;L_":#*4N)
- XMNJTODLF2=#N&PM?%%9[E\'F!9/WG-%]?$/T(M14Y)')6V(XK;&ED^_Q+D@'"W
- XM,&40ZTPRGXE/X:>V9K&KVR9W8=*T[B9'>T[A#P4/:7U?3+`P-TR@X/X*]97"4
- XM,/`#EI'L!6Q#<GEV4M/@A@$=R=)PPX`S&3*(Y-8"Z)S&/53DZW^:A4FL@3$K>
- XM6DM2U!IG4/3*^[70'`T;%'WO?C@\/CSPL&A-W(%<TTF&0CH:Q$Q'(P4=#5OG[
- XM:*#&.1JHGHY&ZC@:ML710$UQ-&,<"FA5S+%2TXH8P]-4Y-#I!Y0KI'/81;_-,
- XMVDF!&=Z50U&H>K(Y@+$PU*9JII73.1G(Q?V^X":@1HB?@6*,?X#5=&(.62:RI
- XMI2+V\2V9QF-/=5,#W8J&;\RPTD?CF5'\([QY8XJ%L-E`<TW;NG[&DX4M3J`<L
- XM]']!XAS";Y(E+H/H=WH-C3LD\+(XP0+'I/\!QW2\8Y+=,5GNF-QV3"X[)HT=5
- XMD[^.25G')*MCDM0QV>F8M'1,,CHF#1V3?XY).<<DFV/2S#'YY9C$<DP^.2:3>
- XM'),^CDD<QZ2,8Q+%,1GBF-QP3%8X)A$<DP*.2?T"CNEYQV2[8U+<,<GMF'PN)
- XMX(>BE3V3PH[IAKV>R5L;A7I2SR2K8[+4,:GIF*1T3!YZFA3T3.IYFJSS3+YY#
- XMFE3S3)(Y)KL<DU*.22;'Y(^G21W/I(RGR1;/Y(FG21'/)(=CLL(Q">&;9'!,'
- XM(C@F9B))$,`QR>\'(_$=H-@Q">^89'=,HCLFR1V3X(Y);L<DMF.2VC$)[9AD6
- XM=DPB.R:)'9/`CDE>QR2N8Y+6,0GKF&1U3*(Z)DD=DZ".24[')*9CDM(Q">F8,
- XM9'1,(CHF"1V3@(Y)/L<DGF.2SC$)YYAD<TRB.2;)')-@CDDNQR268Y+*,0GE9
- XMF&1R3"(Y)HD<DT".21[')(YCDL8Q">.89'%,HC@F21R3((Y)#L<DAF.2PC$)1
- XMX9AD<$PB."8)'),`CDE^+XG$=TS2.R;A'9/LCDETQR2Y8Q+<,<GMF*1V3`('#
- XM<*C$,=GJF&QT3!8Z)NT<DW".23/'))ACTLHQR>28''),]C@F:1R3*X[)$\=D>
- XMB&-2PH$#C!6G&HZ)0J`>EHF%JR:6B5*4K4D`DU!C+!.:4'-,39(:=B$3#G[)2
- XM,OR4#P?,B+<9[VZ&?UN7+ASACAGQ8>6>G5,\G/3KNFEVN'+?CB%Q0?N<Y-2G7
- XM4V`IH*-?@;S.&7$`\LR<-5Y(:`9<85.6"!"X.CX%Q"E=!1\T75?"R3O]>0`OJ
- XMBZ?_=DS5P&@$*APOQ@'#HT#@Y]^8`,WA`7R]CE%ZUHW`3-U&X(T'=)ZXS@G-)
- XMAYV#<IN[K+ODAV=8TVRPAI,A!&D0(:WC0-;A#X2MYBY8)O4JZS9<I!X,V`9>&
- XM/&(`(_+9V]H5XO]I_+Z>W/R-R]+?ZJ5B.:\%EFX(Z9B\<4Q,L$#6</OP(VX?:
- XMN#O("@^'3-Q``'I,F3@.'YJ%X2/^@`KM\5G6E$P@-"_'/^35#L+_T.7)_@6
- XM`%8&$["<HOQ(:LG4"`6D(8/A"S<S0CM;.82#.&$`]HV](!FM!0_CF(0P.#`S(
- XMD$-@`#A"].PNGS.X?*VS`NB9%4#%K`"R/;39)WC/`N@',$!6`?T/`U)\G[_")
- XMNC@>8`_H5P8TSK7NB6/CR<F$BT#+`BACAX+Z"OX;G<(*[[KXT0=2F[H\VQ+)2
- XMX@(E(>P^(&[8?7@1R_`JA@C"GJAC>HZEHU!+`P0*``8`!@`%&$$:MIR.V)<+X
- XM``#"'P``"0```%1'151%3E0N0V$*>P<&&P:[#$L#"0<+"0L)!Q8'"`8%!@<&A
- XM!38'%A<+"@8("@L%!A4$!A<%"@@%!A4&"B4&"`<8"@<*"`L'"P0E!"4$"@8$K
- XM!10%"30'!A<)&BO\_/S[^_L,"RP++`L\"RPKK`P!(B,4%38W:(F:VSP%!A(C+
- XM%.7VEO<Q8\42.$I05/QCQ8TK<-6XC/92N.VJ5I9?V"CXD^CI.?D_9;OK/^5:J
- XM*TXG__\_/L_?L7K7W[G7>XMPURF/PQYO5:[UKWMMB7^V^S]'/>:^_?K>F,OWM
- XML3S+M1\?Z&_W>3\K]J_I_-+</*^&W[5^K<MV-6>I1^>YMW4_GC/_'_LQ;>SEU
- XM\KTUKN?\\WK__3C#Y=%?^E?Y6DS_)C4O.]&;_\M[_:J%R[=8W;_O&6<#[<J];
- XMW<UP@-?J]AP+RA3[B-*\E?;U7O-_:=LC7'6EOU2>Y3_GR7]I@#8?^W(U;N6U`
- XM_%S>&WXW%O^'Z_]&Y3FJ.I__;3#TV^E_86JYZWG_MRI">UXJ%KO\)'C]8_^F!
- XM/=$:[N\USA_N)URF/_Y:*H#7[5Y+-_6GWXM#U6K79_KK';ZDW%_+&>X;](WSI
- XMN<HKXG.583YH37@37R_PC_SY5ZZ]/,WKO-S?[=>NY;C7%:G#]Y:>37O/Y[,)R
- XM7JE:\[P3H7'"&M&$F$7%1<7!K:@XIL;S?W^0VAEW0OLIB;U1:]#MJ;P`RU*];
- XM%]H>,W[N3_TWYUKMWNPZG^5OX3P7O>Y5NW"K]U:^U'._R_]AOJ']R-W.L$UZB
- XM:O0;3^G7YJ/!%;NJ/')QJLZV2WRI7O"T'5JOF]0>`)["Y-]E6M@LY1]/^2Z@^
- XM3%>>[<=JEH*1QHG.&XPP3X=O>]09)!D/>\,OFW1.'[?+54<M)S\D#-^P?FW;4
- XMRT0/X/@Z;\#'*5LZ'[O8:W&+*SW\K^K7ZM%:0Z)9"@LH_@=$?_V->=NL_QE.9
- XM\%Y7PCA.T&8)Z(7XV'Z7/\G-R=(\70G_H$8U<AVJ;9@A"%_<O`K_4?^A^&8K+
- XMG@#>X<GVBM4L<XV_M,/-FSOFV<C\$O@IJ81+V_4(>*\B[C/4C?=@_>U>YNT03
- XM\%=M'I_K3NKW1IW7ZVC<M-.9T&V3)8RP-[6)A&_]TGR?95WV[:EZ^J_KWI!_@
- XMU7PC%(;0(9R?@_O+K;7MIOHSA_])Y\7JTL#X@)[N>O[WXC6\)1V5\>O/&XDW_
- XM276GC^\)K-5'MLTV5>WEF^MW[9E/$^N8]]*(Z7TM,%YE_G5<1Q6QM]H1KFT_K
- XMK-S*/1$>S[XI^F%6ZM]Z.\FC<1+Y*[!=W]*S5/2SJ%Z=[]5EUQT#TF3#NY'M7
- XM<=NU^12,J=_-N5K%?X\[7JKCXRZ^Q.UU6V\TXB.3$]LM]^_UE=O/CQTS-EE2[
- XMV4+F_TMD9K&JNZ[K53VXVHR3^L[O9$$]P8Z&?5"S%V04E^9OTJSX$MHOC8KBZ
- XM)_`5ZYLWE3\HW]"]=*'<_(%\/T_7Y<9T-^TWAX_XV`6,J`WFN?.V$CL]?(].Q
- XM)Y]MPATP_:1[Z3Z(2G\NUD-@;N4+VI&\0Y+=OO=MXMI=UW5N2/EUK=)40-]M^
- XMVS<[WS^'[""HZ?M?E\W<V3%4UR'O^\?]=E?<QHZY#.4.>OT:_]ZNQE_"E9S7M
- XMDJJI6N?:^50_[+9R;^X[FOM!=3!F->R'^'HE$9YSUHW!.M)F'B>VHG0[,F-F7
- XMA44NBF:"":SW.=?O'Q+K4K_VO$I8)D<ROR@/R\?P0YMW$M\_\3A-`>C?GPMR,
- XMFIJ8TAZ$R$OO1-\X9JP_!K)UO4+*M=CT]X9C53?58NIW[74CI@SZ;]P_G?#=.
- XM'1Y'G:I2>>Q%*8.0IGOA3MY>"T+_Y\(=K-.O<Y;*'6\GCD9ONZW;DQ\*U9297
- XM[E.ZNQVWZ'NC<>L=_ARW@Z"8]<NX-]<(_T]N#[LZX6#R/:_#-V6<V&]%['2[D
- XMK1]'.VH<#6$%'N"/[84QUMI>WXN&G?W0]TO[_F_7_;%J1-U288&>?C"Y#PQQ>
- XMY4-)/7'0'3R.X<IA"W;`V1^Z649SQ*51TJN#45SW.0E0KY=7?NF[W'33:6D'2
- XMUR8N)5-(4OM-'';_J#M\A2*G0KNQ4=7&M_E^-S/!Z+*W.\*UTQG37AN[[#\6M
- XM$UNMW@[^!=@KP)!(I_YZJ76$O5>GLI'#<9F^ERS/*O6>EGK"Q3_AE$[4;_.JW
- XM80KT'?<]UYOH,-FH1!=#.]"C8N?(%9=5T'C?Z@[J=PU7&$%M<(TAQVRF`CFJ?
- XMJJVE-5XH?YCE,HWCCDX=X>X.#&)JO0K>U"NSRW['$4?,(Y54+73E&T5I**JKF
- XM]T5^A'[V.+%XXRLXDL25:TKK&_(XW1$4KU[B<>,RNXPN@A<7&3&*551VDQ;R3
- XM2?PUQ0LT'QDA<3LTN\ADEN[BGMW>$,3QR^-S*1_AT_R(#E4F/SPWQ_YIOY?8:
- XM[P<CD!LZ*,JG$?ASF2DLK#F]@J?-4D'!3Y.["[[UCZOT:KZA1#G.]VI++J0IQ
- XMI7_C!KU_\]5"AW-%%;KI;Z@3I,HOK+'VYZ;:=;<UOT:Q4EX4UNH.I?_`-^/<.
- XM<6L-DUC'[?MP+<U2)')K;6_.=3H)U6Z-'<)';+$KS0A"9+R;981X8`57FR?HY
- XM:<YQD4=E,P6XK30_Z%&YV*`'H]P;]WDYT/K-;J]S!5:%.<G%,D/+:PW#W5NYC
- XM:1LMS`%KF2',$G.0V&=;#BB<4&IMXE2;Q(4YT*(<T.-EN<LE3)K/G<(KXZB@C
- XM!W.BE(HWI^#Z>6.P=+512R/"=26!EUCH$5*>'336>PK!>8TMZ38<.*^59Q45#
- XMZ(-*:TG=S,:8*^P"52$5=.<3B;-I+KMZ0J\F`@A?EUZH["SBM`\^/BC8@NNQ^
- XMU)J]5X?P+3]U!2/DI=ILD?FUYSI7`@'2V8`$YC"S4(4'G*M6*3X4]11X""<F-
- XM$X_Y&P,UF)O,5%-2:T*^D@O%G0^BV?A32$?5B;3E3JH>`^,E.QS(=)UYOJIW4
- XMHZ+*PE@Z,&9I^+9@*F#CYLP\I^2WT7:SC,4I7E-[#?#&`3,V*-OT`2BF'^X9&
- XM%4[#@+E$5]-CEF263<.<#GO$D\H;A.EY%IUDA18A'I\>*FYOX)=D55_%X0THV
- XM-)U*#YIY(!A.I-D@DF,4WX<#&^PR8=89REP"JT`JAJ3!!35@716<X\@NC5_ZJ
- XM`&&%L<-BBIOG,VL*^.H[,%8MW@Y(;(?(ZU"*U4)R2ZCN!LQ[*#Q2:B*H:$1<=
- XM3T-<+\TUCFAK'$UC8!U3U]-0UY%\?+&Y,&GK>`V!$/@:EQ`.88[;^`W[3R2US
- XMQ([F;HBW1MP6HQUGDS\,WL!1=3$WV$<GFL^!.9CGP6.]:'FC7%)_U3[-DBMTY
- XM!3??&J5PLEH;XE=670JUVP6>3S#BO`0]"`V*XAI,/@D'(^>2%J0\F:NP)-VWK
- XM<,;$'!^/BY-<GW/G-Y73K_6+E65?#)M(<_#\S]FQ6?U3:VS9N&8=MX/C7=T.^
- XMCFYRX_JQ.15A&_[01.QB70D+YSZT]J-UB[(-I0`>0/)GIJF^_WK?0DQZK0Y(4
- XM8*55&*F$`$0!<,MDKR@C.&A<QA`(=7H3!QH>UVT4#+?WFR=@RVI%M>G'>]QTV
- XM+S#8Y+-1#?B(8!-_K;>7"7`*;2P3E]3%6&5,0LJ$=N!5*'='#"F6-0P([;K=Z
- XM,206U."X%B2H12DE,[/28\IM(4<RM+W0]7F>`P"6;=&^3:6Z<KOJ=/+T#%8E^
- XM?2$D6X=YTLV=CE#)(SPMFS")$8MR3A[\5D5&C!D%8D"DZ`EZN)`V@`CS8]C$*
- XM(25/3\=<]?++/;T$61Q:;A^Q"T+A9J9:-Q2S>7D7:C6((<X;"<PG0#IQBB6:`
- XM*K1HF9`<!F`H7L*DJB;;!AAL(*H!"T$^$S_<0[A,"LF*HG4P4;24U5/]Q9K+H
- XM+!8]B-VZ7FG98OH)7\DWY"$7?H$L<I3"#CL8N?@K_*#';@K7;:C%ZPM,/!Y<2
- XMLR#3$(BM<1S97(8)T\NR,"%9)JA,ZK)PW))?XW@(L*\\8Y3&=<XV-E5IJF7`@
- XM@*XFI6&'C<ADK+.BB3$Q#E!+`P0*````!@"2NQ4/K]N(7BP$``#_!P``"@``G
- XM`%1'151&3$%'+D,-`@$2(Q05-C=HB9K;/`4&$A-$Q?:6]U^J5!$<+=A0(4B55
- XM"1,$%\WYT+=P\\I->Q8M79`HQZ8$&3,G3IDL01J56Y8,\4X[%\UY/$@0P3LH$
- XM6[8@I:S/.<:[[-RR<NV8+V48;%BJ:/PWR+EOS=*]&X99@PSKENS+MW)!DGT[R
- XMMF[;LF[IAJ6;]JU;$."GO=F6#3N'W<UT/]RZ8MFF'?-?DNG>=*QNL7726W=S%
- XM5\[:;5@V7;<;X]UR[-LVR%KNV#3/&V2=_PTB>K/-ZT(?9YJV;5HZTRXG;4WWD
- XMC?BPWVW?3&NS>5DL'??VC>)Z8!\-LRXK-@\P>5;.^*9#M6`'-W;+A?NF6<\Q9
- XMUG#EOK6;EDSYTT7C5`VK+)<_/@9*U/[JN\>6*2O;ADWSUO#Z6#K_S/U!CKG?U
- XM;L]TG[\<8^3+9?./F9EQ:Q=S*B15V#.[T2R]8KWF_:HUB"E-[,QS5YMQ-N.]B
- XM-LVTWZ&KT0`3T7J.FTO=]#J=(\;:)UM'GRR+%TZ9MK[:-8@A#U]EW6WG$+/CC
- XMA7U0F#`E3J:!-W+S*]S>WRTVS?BZ%TRWF>/MAGO/(;/Y3SCPJZW7>=9R@@DU]
- XM2Q>O"]<<9]FHPA?$*W@S$-XOFEN=FVE2H5*#2LU"V%W5Z5"J29\ZJ1Y`.QTYE
- XM-5TS9/>9QEZ2*_`%Q13[]HV?]L5Z4\MM.S8L7!##=Y:HS];WTB++^NI3J42GL
- XM("/:*_'DU*Q.GT*=FB0\3IU$8?I.D7DEI%ISJVC>.^B31(M.'2HU*12QD32S!
- XMZ>BYW62IJ4JM6J2*Q:=:0A@O+8YY"5\38C>WQ'K<R>UI*&OW;?KE?/:-!F4Z=
- XMY7[I;DGV)%]_VC4F9A_1ON30=6RG0?+P[?)#OW6)UL=T!-RIR2GJ9GW1BUZ)>
- XMH8S6,9X3WS0,Z.-ZTP^RZ52B3Z<X#_""<::E!K%L;[4<ZW%UX>:B!9PV=;L%0
- XM863]E>Y8.+[99G<LON98XTI/0B@'8?UFR\3ZW\36CB_OT`)N3%VT"KP&.?3)O
- XMGDO.M-"R9YH<<!+2[54RJ1LB5&T\K=XRS"C)\C)KH.!A7=RGK]!6LQD_2@LXL
- XM91C6'JHTF?V1F(OTSUEL/>4V*U@56E4+:1NOX%2(-4@KRII9X;F[QA,F-<,8#
- XM2OC<1SY]MPRC;PF+?C?FU=UNQKMPGV24SP\IIY0M/0[U`HRVGRS*1NCZC@!'1
- XM`X\CM#TQGL=RG'9^9Z^(3@G#'+GGB"$8I=G2D4JYCSEA2I?*;03;QN\1OVJ+Q
- XMKL7"W>%<71ZI]XXRA?9Q5^4;9$\0K&?2E=CF<AN%=GNOE#?+DSI/I@`X'2)ZC
- XM.ZW*E`GR4O<$U7OEBOE/0)A'X6[,ZWW!/]FM,+N"-&D"Z'#/G`OP=,PNP%2[$
- XMX"^RAWKGRT<],2_0FRP.S8EBB;%WY/<^6143]QT)20:>./X^4RGCPCQ,^`-0R
- XM2P,$"@````8`H[L5#PB:CMC4!```Z`D```D```!41T543E5-+D,-`@$2(Q05!
- XM-C=HB9K;/`4&$A-$Q?:6]U^J5!$<+=A0(4B5"1,$%\WYT+=P\\I->Q8M79`HY
- XMQZ8$&3,G3IDL01J56Y8,\4X[%\UY/$@0P3LH6[8@I:S/.<:[[-RR<NV8+V48;
- XM;%BJ:/PWR+EOS=*]&X99@PSKENS+MW)!DGT[MF[;LF[IAJ6;]JU;$."GO=F69
- XM#3N'W<UT/]RZ8MFF'?-?DNG>=*QNL7726W=S5\[:;5@V7;<;X]UR[-LVR%KN>
- XMV#3/&V2=_PTB>K/-ZT(?9YJV;5HZTRXG;4WWC?BPWVW?3&NS>5DL'??VC>)ZW
- XM8!\-LRXK-@\P>5;.^*9#M6`'-W;+A?NF6<\QUG#EOK6;EDSYTT7C5`VK+)<_[
- XM/@9*U/[JN\>6*2O;ADWSUO#Z6#K_S/U!CKG?;L]TG[\<8^3+9?./F9EQ:Q=S4
- XM*B15V#.[T2R]8KWF_:HUB"E-[,QS5YMQ-N.]-LVTWZ&KT0`3T7J.FTO=]#J=3
- XM(\;:)UM'GRR+%TZ9MK[:-8@A#U]EW6WG$+/CA7U0F#`E3J:!-W+S*]S>WRTVM
- XMS?BZ%TRWF>/MAGO/(;/Y3SCPJZW7>=9R@@DU2Q>O"]<<9]FHPA?$*W@S$-XO-
- XMFEN=FVE2H5*#2LU"V%W5Z5"J29\ZJ1Y`.QTYU=W5I6+L(;D`7T^,YNNJ\JZIP
- XM&L[JJC57]])3RVT[-BQ<$$2\W#S[F?Q>6B1:7WTJE>@49P1ZA0>%QC9;U^V8#
- XM8CEG/CDUJ].G4*<FD8\+6J/@?:>PK[!406H5S7O'?))HT:E#I2:%@C<2;#8=;
- XM*+7;.6[3=@:WZY;98OB;%3F/8NV3!1>S90PGM!GGMM_3U#[IJ'%>E^3&4=6\+
- XM[]#A8IX7]5K=IG/9JW8QH#G^?>?U!771M^=]AG96N0D2I@NCV9E\Q/6Z?=?9%
- XM[0)7@UF#VV]=HO4Q'<'KPNRBKHJ>]$*ZFTXE^G2*\V"^[5TFL8:\\8)`/W4M!
- XMQWJ8J31CV6***[K=@I"R_DIW+!S0:+,[6E]5*,.J*&)!6+_9,I/V-Y.YX[,Z]
- XM^(!S4Q>M`J]!#GURI/(S+:0IVY.(;I"<2=UX59;^M'K++*-FR\L$'N&=='&?S
- XMOE+F9C-^M1:&G&$::XG<9/:':D[6/X>U]13,J&!E:E4MI&V\BJQ*K<5:D7%E=
- XM!>#L&D^8U$QK*.%S'_GTW3*M?K=THJ<;\^IN-R,>UP491O/4>J+V0E^5>G&Q7
- XMUA[MW<4QLB@;IRN]4#).<Q536UY-M8OOW`SI)0C,^YS,J_#Q#D,MIY9A^F,$.
- XM>8PVR70QHF#.$L<R9@\''X0Q8<2G<F6B#^;6)VAXL2A1,Q>#C<6W("-5\SO,]
- XMHLT(98;[<<IYT%(Z)'G$!9'X"#<TP*TI`:#;\G_*#-<E9,L[BR[ZBNSFNQW
- XM<)P+W$+R3$>90ONXJ_(-LB>(QF32U=P6,QJ%=GNOE#?+DSI/IACH'2)Z.ZW*+
- XME`GR`GJ%UG!7KIC_!(YZ%.[&O-X7_)/="K,K2),F@`[WS+D`3\?L`DP)9?R5E
- XM>BC0?W+D"?2JYB[/B6)7*N^X[WVNJM2ONZ(<];YA<`^GV;H\"0,86\MT']0;Y
- XM1WG[C^&.CS%,]R$>2!:&6X%2E=UTIF6*9CAZ6F6//+'JV)4]HLQ;#&W3"*2$T
- XM>5N*./X^?%+&Q5M(3!]02P,$"@`&``8`KKL5#[V/"47Y"0``PQD```D```!43
- XM1T544U12+D-A"GL'!AL&NPQ+`PD'"PD+"0<6!P@&!08'!@4V!Q87"PH&"`H+<
- XM!085!`87!0H(!085!@HE!@@'&`H'"@@+!PL$)00E!`H&!`44!0DT!P87"1HK1
- XM_/S\^_O[#`LL"RP+/`LL*ZP,`2(C%!4V-VB)FML\!082(Q3E]I;W,6/%$CA*G
- XM4%3\8\6-*W#5N(SV4KCMJE:67]@H^)/HZ3GY/V6[ZS_E6BM.)___/S[/W[%ZU
- XMU]^YUWN+<-<IC\,>;U6N]:][;8E_MOL_1SWFOOWZWIC+][$\R[4?'^AO]WD_J
- XM*_:OZ?S2W#ROAM^U?JW+=C5GJ4?GN;=U/YXS_Q_[,6WLY?*]-:[G_/-Z__TX:
- XMP^717_I7^5I,_R8U+SO1F__+>_VJA<NW6-V_[QEG`^W*O=W-<(#7ZO8<"\H4;
- XM^XC2O)7V]5[S?VG;(UQUI;]4GN4_Y\E_:8`V'_MR-6[EM?Q<WAM^-Q;_A^O_V
- XM1N4YJCJ?_VTP]-OI?V%JN>MY_[<J0GM>*A:[_"1X_6/_ICW1&N[O-<X?[B=<-
- XMIC_^6BJ`U^U>2S?UI]^+0]5JUV?ZZQV^I-Q?RQGN&_2-\[G**^)SE6$^:$UXU
- XM$U\O\(_\^5>NO3S-Z[S<W^W7KN6XUQ6IP_>6GDU[S^>S"5ZI6O.\$Z%QPAK1P
- XMA)A%Q47%P:VH.*;&\W]_D-H9=T+[*8F]46O0[:F\`,M2O1?Y&C-^AU\VCZI#L
- XM]JC^QE/2G=2VO?R7>RN;_.]0;^'X+O^'^8;V(W<[P[;H*=1-=-H.K==-:@^$5
- XM3NGZ[<>2OQ9>]7SR^BF@.;GJP4CC)!;/&XP\3X=O>]09)#$.BVKY;>M;;Y`@4
- XM=4A<];"(XN?3P'FOQ3ZWFL5^<Z[5;K-Z^=`/2/!3C_`<6`_*(Y<M[6!QM7O_U
- XMAU;_GPC/=3[-4_W=MZ=ZYWF,4]#_'?XAS*7#5XUFJ>WGN<?K#+N\H\D>D;#2G
- XMZ]Q2N\X[FN<Y;HB$2%I(0QK2D&+<H866%BZ<P,MQ1XZ<%A\?#U"T<A]_G1O4$
- XMX?6*@!G6#:_F_O)O:*'E_Q`)$>,Y<F2C\'F:/<WY.NM*0\"T#4;,[UR'-1?\A
- XMY\J<3?S6KFU=K!_5!]E_F;?C/VYMX%ZM![SSG5^W9[T;NY0?KX.3?JD6F$[E^
- XMVNH6OKT.%F4+>??VY59P?3^-"O2MDJ;W/V:[;]R]C@?46Z(7]^RVCO125\>BO
- XM(X$X2MC:&<W[;MS`;IOA/);&L^W@&^CR"T-XDAU#,1KT+3^E$M:WV3O7O6\,$
- XM;KVW0&9G#.\GWVD>6T*C+_$[\<EZAVR^C\;]@\'X-^WZ\KUZWQ^W>MZLE^E8=
- XM8^?F3@I\C\`JOE?B_)8]N?2"CWTK/Q#=YM-(6,]GK?!WJ0+SG/VN'A/"MD^_4
- XM5X\KI*J=<S^J6*4+XO\`=L&L$HY9_)J^X_9H,``9C.XQW-G9!>:VZIZR'^D3J
- XM20B_C.YI8?T?&^Z-_7\A[L$CE>.&<)/K=)++=6J_E)Z&V*%J8B=98J>6N_QK.
- XM-\T6.^P0.\D1.SWN^/,Z[I@(+]S9[+*9G62:G8+GVZ7L31^%[/A"=C(A.P4RY
- XM)QETO5ZWNDI\J_?9FI>]_18.H[1^5:]%ZQ)>]A*>Z@O\PGT3C&.=\AYI;W$P'
- XMN8[&.=?O'Q+K4K_VO$I8)D<ZAZ+</,[UN_:3V\-NF^/%^"@]7+A^AP?QVZALH
- XM+.\-%Z[)OO+.M_[TQXJX-$I.[L$H;MR8L7Z+R,1=;>'QA&4%,4A2^TT<=O^H'
- XM.WP!DU/O*H)=%],B#_@Z.)SLGU,^I_9P*AOW/I[G=HY<$;1W>FG"O.%'R/DV[
- XM=KKS:[6Q"]QN)UREOT>X-8*-[O76TWY,K7T\>-Q!35"UEZ_R=_PMH'PL(B^KR
- XM:;>Y1G0B[U;+_?$QA.HT;D<SW4OL]_/T3M]SO8&N+7CUE;)K=P63LAP:+6C'+
- XM93Y2U>.U.*&YQ(MT1<[N)R:/T&O?1#)92P-+I1$G#1F"=-_WH]S-4C#BN-D2X
- XMP\T4%@0CJ>-U8._ZC?*PW,W23_O`*22WX/(+"VD>Q+M9RH\=+79!P0]EFN52*
- XM\/U_W&8I[+#-?EQZ_4*#'7;8/PWLUR/EAOI#'G*5E>O"<04Z3T(%O+5?O"O54
- XMH4%^[+384'=<#<^%]D\PDKL&O7_[U3['>*=<VZ]#=>KP@Y[NS'`%/2+HN05L-
- XMT&N]G=ZX+RE!`]]^?_%*A(5,\S_2@_*:V%Z5)%`K"[<-G$+J370D`ERVD@#M_
- XM&05,`I?_YY*P+\QR>&OALX6??&]!(;7F.UVL/<S83S.<FL%JGMAZ\RQ$*@;T:
- XM7L*>P9X(SSG?Q/RZ2[8.E;@%_>=2_>&]8HB8U!A$I.?>0&7[J2VTGH*M0`+6B
- XM5^O@J5>QK%$7VWY-4Q.CBA1M6;I"SEW,;0U*VJ>^&PF4;WT_X-DE?>KWNA`_8
- XM^\$KJ4\W'X`YOK#->T%9FTS[V:I$;O>Y6F%=*_NIK9E#K@QG-,XJ8Q692MJ`W
- XM1TM#VI#LPQU=I)P-2<5J:;:6\?.N+9(V-+5ZHT+0Y3J"YQ[!,OX<\7'2&XW,<
- XMH4.U8.=J^)I4J4VPLTJ%'9)*D2=XGHRZO5:GVQ^DA&9Z,E*0K,O8]4BCC*@%=
- XM=Z1%FY>;,D(C':<_&=ZU9SX7\I/0";D!DL3X<%J[JT['PP+5DQ%@%LL^+Y!=S
- XME4CD+"W?Y2;XCR>J2!W&\/&9KV"GB7`A4,>5!XEB$F@=X3`HO]4W*9;):"X(P
- XM8BXA,T$U2OE(OWKHF,@](DNN8Y(&@5ENEVU,"F9!<UF)QF4I0UGI];@;BMG8S
- XM(1S"L:-Y6$IK1OO:P+;.#SMLJZ]E21,A&XS<SL&`[:RV#<W^6%SO#_G/S<XPH
- XM.UL8ZG>L3IC,=R36(7Q,I-6%>+6?:O4:C4!SG,;4!R-5$Y/ZJ":@(#I^+[6OX
- XM&EY]?#@U#5C.5L8\_^)_9,XDG^/X==B9P"<IS+?#""F7\EO0UY'O[+(\37$^G
- XMCL5@ITJVPTG'XM!M;47($HY`KH/!!EC]A<&F&E3UHEN`A0N)EHOQ$2G7UQ,&K
- XMA1=B$=&^EP]F&(O>>]NY7$+)+*3N;+M[M3DU=]-`Q<]#V,73=2Y#B@A4SB"G6
- XM!D*V.F9YP1)62Z[F,/D-C6OIG[38X8;@/*;TE/#8.(T-CM4R1LDN8S'#<)PF'
- XM@+B&8S8I`BW"1\*=K030'"<FCNIKHC`,PR'*Q1@.>.,-T4G[V*[&>948;89PM
- XMLQ;"M2.$CRV$MR6$ES@T_L%(74#A`E+E@A8L%HCH560+4)^/1<[!&Q5'!_/P)
- XMV(,/BN;*^5ZK7<;=(2B"V-;<`@SEI;K@_`)#`0713ONYHJZ@TUI(M*@\6O,/@
- XM":(XE3W@\6"D_\,.6UB@B&](A$3:SPY&&I<02$.8IS]V;FQ*`6;O!J@7<F*_#
- XMQ,7@J]%:V(#C49#2?*^9<QCB,5%[M`X)SP>/;6`^P3H2Z$S*A[SL'0E02P,$8
- XM"@`&``8`H#2C$.?S,OL/"0``$!@```<```!41T]43RY#80I[!P8;!KL,2P,);
- XM!PL)"PD'%@<(!@4&!P8%-@<6%PL*!@@*"P4&%00&%P4*"`4&%08*)08(!Q@*$
- XM!PH("P<+!"4$)00*!@0%%`4)-`<&%PD:*_S\_/O[^PP++`LL"SP++"NL#`$B0
- XM(Q05-C=HB9K;/`4&$B,4Y?:6]S%CQ1(X2E!4_&/%C2MPU;B,]E*X[:I6EE_8'
- XM*/B3Z.DY^3]EN^L_Y5HK3B?__S\^S]^Q>M??N==[BW#7*8_#'F]5KO6O>VV)E
- XM?[;[/T<]YK[]^MZ8R_>Q/,NU'Q_H;_=Y/ROVK^G\TMP\KX;?M7ZMRW8U9ZE'7
- XMY[FW=3^>,_\?^S%M[.7RO36NY_SS>O_].,/ET5_Z5_E:3/\F-2\[T9O_RWO]T
- XMJH7+MUC=O^\99P/MRKW=S7"`U^KV'`O*%/N(TKR5]O5>\W]IVR-<=:6_5)[EU
- XM/^?)?VF`-A_[<C5NY;7\7-X;?C<6_X?K_T;E.:HZG_]M,/3;Z7]A:KGK>?^WZ
- XM*D)[7BH6N_PD>/UC_Z8]T1KN[S7.'^XG7*8__EHJ@-?M7DLW]:??BT/5:M=G&
- XM^NL=OJ3<7\L9[AOTC?.YRBOB<Y5A/FA->!-?+_"/_/E7KKT\S>N\W-_MUZ[E]
- XMN-<5J</WEIY->\_GLPE>J5KSO!.A<<(:T8281<5%Q<&MJ#BFQO-_?Y#:&7="N
- XM^RF)O5%KT.VIO`#+4MU5^L_0U>@V9M4<<-?K9OUZ'=7/DF7XM6TO_P;!?TKH!
- XM4\++_V&^H?W(W<ZPK7IZ;V6I3W3:#JW736H/A$[Y^NW'TG\*&^7\^KTNC?UT%
- XM>,[KN`N03AKE8*3Q>.7?Z0IR)-@;C*Q/AV][U!DD,0_KW,N\':OOP.1#_L;.%
- XM%PN]+,AYHVPP@X^ISF!]>8]P8UXX/LF>RX?.A#],][BL0.,\B[%@;&T_SSW>.
- XM_[E#-M\'2ZB*/VY.]J^C-./$MZIZ3/Z_)>/W1GIJ_L%O/-^E\VG<9,M3DHV7=
- XMMNM1]%_GYKI<"Y@7K5:C9Y\7W==RCH8RCAN,ZW')SFIKXRK[^D=XSOG^A79_.
- XMW!X-!BSEN,$X!V(GW#\8U[^8-WFLWUJ[[I,]M+Y43+HY5M=LJP.=;77-L[HV)
- XM/*YAAP>YX#UL]0HQPTPI_,.[-K"-A\2I3-\@+Y5W<S74G:QT#^Y;WX'<_CA8%
- XM[UR*(U'Q_:X=BM+5WWM`\NC'Q.5SRV'_'$)GF^>[7.G>XPZ_4#[++GVSY?L1R
- XMX=XTW>HW"2M\N+A7C>NVG5EZK.,\UF*>5K<;N-Z@G1X.35G:8B'AH:[^7V;7;
- XMZTB'")<G?]UXG(G_2I9(K1<[2WFU\8(<76@0HVF6*[FN=*U=V[K\IJ3S77OFZ
- XM<RDPOEQQ$2HK;52/9>4*C/L!KUA!\*?7T;"REK<M>0W&<:M7!+L/63UA<LS%3
- XMN_?HD>*XT:[-_Z<F1C7WZ'#GLK+0VG%]1/3+RL7E74;OUGC\OUY2L+BAY:=.O
- XMEI],UO'WM3&;$[M?_L;K+\2U"IK1>8.QBG\P3LW_(?_!>.@_)<O#[?.O/&;>[
- XMJDG!>Y6W#J?YQ[,9.U29?JET'ROB.*:B3=/3<S-SLS^%>OB;,[2*;;BQSYAA*
- XMYN@0FH\$DZ8K0Y2;N%5-+?=T(W'B^(5M]3**\DNXV3J1YCI#-%F/=\99ZE[O)
- XM0]"R:+S'?)XZNL92J'_:SPU&@!G'6L3?[URCVZN"GKP_S<X#GDJ9'#?90/\^M
- XM3X-ZGY7K9:[5/$T.)A[Y.=?O'Q+K4K_VO$I8)D<RKB@/RQ>(X[_)X]#'G:AML
- XM#+=%Q2NTT@9_=*SK"$9QX\:,]0>Z^>98?R>U-EVB:)36TG[YO``+WS'C[7<G?
- XM"5V=>EI'I;2&$SON9!;(>XVD,0TU&,&]R4_XJSR7Y?IRT^_3J37ZFI;-_1`>D
- XM7G*N#_7KB.(U.]NZRE8[#4XR1XJ1%:K;A=,3X*F4!DMJOXG#[A]UAR]<X-2[1
- XMJF<52R]D,6I<7EGQBK8-IK19;\OFAA(V&_U[V^S,H4HES^^Y,GLZ.*Y%5?H*I
- XMZ:UV'*3P/*B#)-5']Y8Z,H7$C5(OYM8CQKM5R:52US:`-H58JMO%K=3!]G811
- XMB]HW"7<#72)7KE-$SP;EY`$,6WPJEW@U!;M!6RU=HO:IW#S$+H;;-&X;T6TXO
- XMM6C[Y#S.4]6F<9-HBMIFE\UV`[LB=EQ_7S6/V^*-5UPI"RQRJJ:&D1:A/*5X^
- XMY9(I?>:7@;&7";R,5)<1(6CZQ;^=,>3_:6F_E]CO%WR6'U?8=6&<+KUTG()@=
- XM!'4'O7_+]#Z/:3SM"S]QR5QKSAXOEY_<4$T^]8G*/5&Y<,QQ67R#N]'X:)U?I
- XMR.O]0VDQW&@"<XT=C&.[W'$EO88=-M^7^6&''8RHKDHC<:52"PMPS@[?X(5VI
- XMV'I4<+8>%Q4'/5P?&_1:;Z<W[COPH?E\^9`^+N'JZJ$=$YU3!:UP*;8"4#:I7
- XM;F,:`0@Z46_QF_?"9FWN?<"8;/-*!$*='EX;*V>%L,R^2M;<%\6KH0V9+_.R;
- XM/6@1XSG57;5E>/]&TT?R[7JP#K>"H^0R2XWM;DXU5!Y;GU(,0O1L=X&4*-=]H
- XM[GBB.40C%06Q!I[I1&KH?F\8-9A+]X8;KQH=&\V`T49\K^8*3$B'"UD@35W<P
- XM/]M.N$I_CP#GFJ^@B1[=NE%A4LO6R/_4%-Y@#'4>N5#_L>NQHXFX-G6%E?\2&
- XMKB05\5\8X2'@WF3P]^4'093.?:E9%+(5O%7HF@HK/"$8B1^1(WZ@('G.H3X``
- XMRJ8^8+.I#X#R8DL?T9`^7.\@PX8:C.\P-=][K;:J&$QYB+`H#Y?DLA('%SS(8
- XM3?!@7'E^3KV#O/0N`_<H?J=,/.L=9##6NXP8="Q?,5!6GT@>')#152'$RV#'`
- XM0#`IN*L#C6\*/+MWN83Z02Z45BA>VKM0UPJY%92W@1EHW!6,_K'4Z*SFQPG&Z
- XM]3CYRF90/(<==J@%/`8-N::D6N[G;6VQK+30;Z).=,\YNH?*S?$]0/,>(IOW+
- XMD-F\1P_R>!\<G5&/)#OXL,D.\H<-K%.Z0RN$^#-:J'82Z@_KLQ75YUKG>-AF`
- XM&O'2B'\1)2W:AQ8+B0N691HR5&.5B2^*0TZ`#@_;0HE\*O2A<$-$C[',A$>BQ
- XM--A@[-E(C^]TN*_J4$L#!`H````&`$A.#`U_;Z9W<P@``#X5```'````5%!5V
- XM5%,N0PT"`1(C%!4V-VB)FML\!082$T3%]I;W7ZI4$1PMV%`A2)4)$P07S?G0[
- XMMW#SRDU[%BU=D"C'I@09,R=.F2Q!&I5;E@SQ3CL7S7D\2!#!.RA;MB"EK,\Y!
- XMQKOLW+)R[9@O91AL6*IH_#?(N6_-TKT;AEF##.N6[,NW<D&2?3NV;MNR;NF&V
- XMI9OVK5L0X*>]V98-.X?=S70_W+IBV:8=\U^2Z=YTK&ZQ==);=W-7SMIM6#9=.
- XMMQOCW7+LVS;(6N[8-,\;9)W_#2)ZL\WK0A]GFK9M6CK3+B=M3?>-^+#?;=],Y
- XM:[-Y62P=]_:-XGI@'PVS+BLV#S!Y5L[XID.U8`<W=LN%^Z99SS'6<.6^M9N6\
- XM3/G31>-4#:LLES\^!DK4_NJ[QY8I*]N&3?/6\/I8.O_,_4&.N=]NSW2?OQQCT
- XMY,ME\X^9F7%K%W,J)%78,[O1++UBO>;]JC6(*4WLS'-7FW$VX[TVS;3?H:O1'
- XM`!/1>HZ;2]WT.ITCQMHG6T>?+(L73IFVOMHUB"$/7V7=;><0L^.%?5"8,"5.]
- XMIH$W<O,KW-[?+3;-^+H73+>9X^V&>\\AL_E/./"KK==YUG*""35+%Z\+UQQGF
- XMV:C"%\0K>#,0WB^:6YV;:5*A4H-*S4+87=7I4*I)GSJI'D`[':MK\F/L?%MG+
- XM>8(P?!RQ^FQ'-9PT3WBAH2J_IYHL&>S#S][WTB+.^NI3J42G+".JW&W'S"_QS
- XMY-2L3I]"G9HD/*Y=7&;#91G6K-DQ?FX6\T::57KEI+ISJ\C>.YJ;Y@]"O'I.:
- XMHE31WE&FW`&.)%ITZE"I2:%$A?RTSE0**3&G3L,[MH=!=H/0M][>]31;U^T82
- XMQK1J45C6W_Q8BM-O[X`/(!>1-1W8#23CW2Q.BT&K"A]2%KF3<A)[D'$7PSQ(O
- XMWF:]WX!^WWM.,*M/P+[=E':,K\C9U96O[T1.`2M>C\K8T#J,]XENZ;Z\KL!)D
- XM.9)KPX*P0S9J<L;K<<R$#NV5.ET&LY[4C.DJ[1BANP[2VS;='%&1VI.=9L/KN
- XMXY**5H99YLI\95VHW"SZVQN;*D@]P?JM"R=1KQE`OPVEC^\9;5@"Q]QUU*<3T
- XM;LF:=]VJLBL/^4+]QBHTM0_SY!U439T)V'.0/7T<5^FWJ+5;51@#8_5*2;&VX
- XM=1DGG>P<VI(JT(>3^1Q95?>-TP/(0KT@BGJRI9&A#S/U'$L=4`9JVY6Q"[!"$
- XMTBK\-''ZW6X8.VS.!RD2ZE"1+F9!V&*S,(\,0CSY9NI%:Q'X;4NB\"*^B28C%
- XM'TUBM)5IBF48KM27*WX98LC_B\BWW!?':U*Z#O1^.?<L'51M%ZBOPVJA,%L*1
- XMS6D3)LP49*2HM]"J1TJ3)-**G<9WW8[D+.-),1;/EM\-R[O=,DG&76\Z]8WP)
- XM)<8,`IF=-`DV^@6AXA,V\:1-L:A86JJCRC.SKEDSJDJ/,%N"4,,FJWS?:'U49
- XMMWQMAHY=!JUN.I7HDZ\79[7/032I=W1QV@IY71&IXZIJUAZ#);T#OA<)<ZP=(
- XM05J4D)36<QQ6CNEX(7F?N[4+ZQODGK0WRH?),@$]3<7A'8TB4+%7Y1R&F5_GK
- XMF&J?,L94\.T]Z#7@P\><.7,&?!#>K`$?,2?,'.]!-&./B;-,`!+^BF`1_1!
- XMIDT;\($W%&R-N8!#Y<%'F`O8,^##QI`:N#;@P^*<84?@QY@:>LT:\8&+(SXLH
- XMS1CQ@2^31GQ8&8P+7!KCH#&AX(,P!U[(?7?\5K32TYI9&'`1JXM6<<P&.?1)>
- XMSRE9IX66/3.J><84])OGYBX@?JE"!%HVY-4JU4E5$D-;A9+*L97H99I;.=&8X
- XMF["+'P%E*7G(VT4SNL@MER1*(PYW'K%F[B(QR:RJHTR#DTQA*/=.!!"$)^PV)
- XMF#Q,:C,I+\0W71??R:!C)L(Z\B#6"BEFUKX>,R,OB[J!<<9<!R6KIM**V'IN[
- XML]GX3@=(!,>'GN027<["-X/59BXUTZ#H"(GKE283-#FEQ#><?78V*[.)C4.&`
- XM8&>!3Z%M($\D!1=>&<,AE6G-9!EGB&M#DRG0@DW1S.0S]YB@YS`H'SY^!M5'.
- XM8DG694T7S4/'O8/BW9IQ,V_7357U(%]18[,MHY=@874>D8)S@A4)%SI;GVT4.
- XM89"Y#G9)0O:1C\'6SA7%-A4)]CP4Y%BX.DUG7<NFD4V-$NSFI">7PV=?,H(
- XM"`=6@\,I.*0#!V/QA?6$8^>0N#B'IMVH+EB33I%<F<8D&1(,FUV39@BPD6[WU
- XM^'GMM"I3IB#Y\IDZG/,4%#<TV/5F[GBO^SBKTMQUFPF)$LY$5A>W=W"C@.U;%
- XMM:2O7/%?V0_S6F4/4/T.Z<@K>X*`GR!;@CP)\X35F;#/\+F'(SNLEB==GJA&V
- XMC`MG;'P$C2FO$Y1#:E_G<$W9<6$'^P_-F_>16@R-53$T3FTJ")362/JCF^B?=
- XM(;"$.1]J8%W;7XRBPGA@_Q(X`DZ*<)4O8IJ2?0RA_8>QA$R#@G:-^)]T8AM.(
- XM,C&XS7)HD"J*6!N<$9HB;"5#`RQ6V&7G)`9X%':UBC,1@Z)&<5F4?]LL^)0L5
- XM6`S4,S/N;CX4\$2"2B!-D:D+3P##G&C5HZ!%N+JQX,%L$#F)J-F86H"[H=MM*
- XMBP<Z,)'215QZ9<`3::F1Y2#8\#/K,=F2Z=NW:SA,S3S&P80C#+.0;"%>B@YY(
- XM,O:(^_/3SC<;E+7WX`]]V\9-0\$PH(O#H81[',%`\E%(Z$/CB%)(/1':QX%#X
- XMF10LQ/U"2&Y"(`349@,'LS&``&PY3?B<D&+?[Z;LG+LC.R3(Z3&;$*FQE:T=7
- XMQJRIZ6$X&J0/Z@=ITD3E"`NF1GD*5"6^K-0H*#A/^1*$<W'M*5/(*B%NL'`X$
- XMG-JONTQ"*.0#6,M()2IN=7_B]0NTQ79#^`YRQWCN@^%GRQ;-E2$44&:`5;N(C
- XMW`=7,`J.!E!+`P0*````!@#O67X9CF*MBXP!``#>`0``"P```$U!2T5'0T,N1
- XM3$E"#0(!$B,4%38W:(F:VSP%!A(31,7VEO='@IPZ=.A4D$G)Z@0)%.7(E$W#=
- XMKBU[!'J[9)M6+,B9+F."S"GSI0SA#3-G0P7HVVE9NFC#CET+LLWXFTW+MBQ(A
- XMLV_E@C0JMRP9Y)UV+EJ0=,O*;6,_P[J!WD25'H4*%63+EB"7EK6;UHVX;ON6]
- XM[=JW=^>N37-LPBMXA6N0('N"/#MVC/(;91KTZ)3F;\%\YO)IG6I--ZS<,^V:-
- XM)4BX=>F"^/^[:?(UR+QOL`_<Y6SOM&7GI&^J1:4V99I42/Y1'[\<ZS),,$V%!
- XM>8:%"U)._*;3O]:W"_9G^I7I4Z%*BPZEHNX)Z7![6;=T7;Y)[F;9ACVCO$$L=
- XM=[=UVU0_%_B=P+G/I2N'O+^E^^;XD-?3GX,\P!M=33;MV33%THSZLTF_KMSEI
- XMU*I&C2;%6G1*E-IE63QE+FUW.:;XQ:HAWF'GMAFOUNZW.H:=)(HD=TH0Q4=DI
- XM2]XMWY)4\7[$/^:\9:^R9$H=ZT<4/L7V"E(AN4'&!2&>!!$>AHX-4$L#!`H``
- XM```&`%B<51F&!`EO>@$``+\!```+````34%+14U30RY,24(-`@$2(Q05-C=HY
- XMB9K;/`4&$A-$Q?:6]T<FG#ITZ%202<GJ!`D4Y<B43<.N+6LV+=NR+MFF%9MPJ
- XMILN8"7/"?"E3YDN8,A6@;Z=EZ:(-.W8MR#;C)4BS;^6"-"JW+!GDG78N6I!T4
- XMR\IM4_\@6[8$Z01[D6^W()N695MW+)K\K2!<)^P)<BQ;D"_'*FSZE&A1)LW/5
- XMA'H;91KTZ!3E?QF4)`KKGD)Y/YTS_&&&]Y'CUPHW!O&^"N/_1X*DPNUCP\(%J
- XM*?=M7;IIW9:=ZU(AU:)2FS)-*A1D#WQ,[EA_JDR_,GTJ5&G1H52JZIX)Z9ZA0
- XMN\NZI>OR37(WRS;L&>4-8KF[K=NF^KDJ3-#<Y]*5,][?TGUS?,@;CKF>@SR^*
- XM!U=--NW9-,/23/JS03]S=SFUJE&C2;$6G7+G=ED6SY++VEV.*7ZQ:HAWV+EMZ
- XMPN>8YJW#?VU5?15657QNF5@W^I:DBO8C_C'EA[V0DBEUJ!_?^!3ZJTGQG<!26
- XMKP01'G&G0H502P,$"@````8`(!AA&F^,C>(B"P``01H```L```!415)-0T%0O
- XM+DQ)0@\`$@,D%38G.#EJ>TR=;A\)!@$3-.7VEO?A-QC>@O`"GG'`"P$FI'NVB
- XM+-VR;NFZ'`L>4?,`1Q]X)I$C/@#N3:>"'.H6<0+D/S-EFE3HT*(E$3]8]J=,W
- XMB3H-VK3H5!?3+A>Q@>@[PV3[5!VRA@XXU.I-RS60-TCTJ-2G5:$RI'JT*-6BY
- XM3JE^(1XK58)#GQ(M6O`KT:!4@Q(@U@+/.YU2_5>A4Z<.&':+F.(>*4R!`PD&-
- XM_):L,@$6-!AP6[*X]<`1$DR]4C3!CPH&8$0?[_P/\$_PNTR@G*/C"@0($!$
- XMZ@<:L&A`X(P5K/]U+EVY;((\0+:T&71YLVG=DOU"W/,`+S/^L>UFNNQLY2#[Q
- XMV;=TQZ(-@RQN5CO:.I;MV[EE_NFQ;>$(N>C?PCG:#QQ3T-.$[>#OOWZY'Z[8W
- XMNF8!ACEK26YCT><%^!62ELRLO_R)X)/[MPTAVH1"PFH>/"2ADZYO7')`@/(12
- XM$X!>=,#HH/CT@"CH5<X%`2(':%7A3=`TJ)SS51>S'\R>H%7B7@V:-/;G'871I
- XM%P]?;!6AR5'(FTQL`4M+A:JI7@<3)YC8*/_$5OTOA%YW"[LJ/H@YT_)T"^(:/
- XM^O5F<?__OS[L?[L,A%<@/`+A#<R3"!<"I]O">7_"\RL:^X8FN!C>T@H8[W^%,
- XM=&WC8OOU'-AIW``)0D&'5H#T=3][75R^Z[*W.`/P`7K`"AX?5NMCRATP/3ZLU
- XM?#$RK;2NP/5P`>=_29<!\5SI'AC[OP%UUN6(&\&]&YSB%?9D3C?)F_>?GC!`H
- XMW`JFAK5J+]M?!+4]I%R?\/BBC*R;(9I*,^1,X)G7!\7]0&C''>%H1-AT7<^X6
- XM,V#K!FS0A7&CP%85V%B8T02NQ'^.K%L`Z],;NMZH`K)F$`1Z_0,^XA3_02>\_
- XM`2=0Q?,WB6,S'\=-UNU@33&)IJN@2/-A0\0-J3CP&MS0#ZXMG'#:UPD=WO.MF
- XM>^CQ">@-F!GK2G5R_@K0.4JK!)LKMIJP>.'.Q0%W;A[']2[.)ODSR6-)]BG)&
- XM.TD^J-6%S5-:/=@<HM6"Q1=V9FX/>^+OC.?5//%;QH.V.I#Y7:L!F:>U:I#YL
- XM%:5G/M*J0.(>(F?B&88=(F?3H&W\FCSZ4IL.#0H5H)QD9FRSO=RV8\/"2?870
- XMO_W8%\Z(9-RW(GNG\RB0@$)C!:^E9MF&/0,H+T;D'*",`!J?$R@`D#8"!=T@Q
- XM4-0HTZ!'!`6@AB-5=0Q`4'R0JU*"X@T$!8!.8=)(M'):#5XCI$7C7[B,9=E38
- XMZ3K0!?X$+1F`KF-@:-;59*AA7^3J)KHT;IT`H=@&M`%>Q^E&82T'$IN4L?.+*
- XM3:IQ97>OBYP8?,T3F%S.:W-\L;=M_&C`NJM`1W"'/,#M/!2'%`#:83JOR.FO>
- XMF9>HO(E+:#QO,.P).3.!?)`>'NZV;AO'_]K#0SS[KX<'>$*G59LP/D#!`Y?&\
- XM^/J#\0&@/0R^IYU+-NW9M'0L'WA>M`".S!9FKU?Y0!_H$[2URD=3J'PP;Y#*O
- XMIQ@9WD`NH9DN<GQ.SY:-\T4-TZM\:'R5#X^O\L'BJWR<`;?S'"'QK>%[T>-&S
- XM_<&:<=NB#K/N@>;Y">GU&8R-%%\OH9'G?]^MO[/WWY@H]`#%V5O1))2'GU9\J
- XM2RFZMO+]81Z'#)<3;,\<V*MYB<JSSGM`Y]EPG;<85P?A\U!'M,_;V><AGMW6F
- XMYP&>8/"6\GD`E4#@J8*7I@62-<+G*;_/`V#24FN#9,N.?3,\P.R,3X2>DWW[R
- XMM>S<,;0'R.!M%>T![DE/RM.$K(&BLWU::T``CTO=6Y1\UN,"O2!/T`Y`.JK4+
- XM`.A,2@WP@0Q*37O2+:"Q5$+#I0VPC43@T.%\JBO`*I+QXJL"A*(\#GHQ],78`
- XMEM8P(D>YMN0">V-$BI0N#<PIZ8W4;*)L-Z%YKV>6<H@H4]26,E'713W"]:R^G
- XM?9'5G.1'XG;J:0(KF879:/:-DB8(DC$%$R1Q;7.2-:2D3R0=\_A6T_9"*F@7(
- XM.-M:T4P=F/XQP"B"A=/=:2Q_`(C)R*DG.]3$3NU]HRW&'BC=+'_%1NVSA(D@1
- XMH:O"P7[]#^0[#7K^ZX%838!A&VYHN/=D'70%*OB0/%)*4D23T!68,7L[-FL89
- XMG4:]I;4YG=2;(WN9%R\F,@XF,IY4>?DS!<7V7,7%)G<`*=X04ZPX;KC)>#G
- XMKE`P1',=8-&-8A&:9>A6H=R&=!C[RIRD9^:9W^,-$E!TGV$K]C>ML:S*T-$%A
- XMFKFFU0"`G+$::`6K\5.J3U(#H*):#/4VFQY01K)*2`W=]QE4:KB"9'62&IHK!
- XM@P?0F!VNW+=C7/.Y`'DR7@";/L<Y$UG&'"!_2)O!OYR9D=FAVX*1C)W$LWROF
- XMQ\#%!_!-*@C5N)00(49CG+'V]6*<-T"[]B'-0^IQ`^S]1_`V(.*=048)Q>LH'
- XMO:ONI!CM[<$UC"2@.P36)>E&F.X]RO_AOS;9<,JOWW9Y?#VU:[8[CHOIUVOB]
- XM'+1!*^A2ZT;KM+[<FS_048VC^C97T^GYQ1[03KSAHX__?XOO<1<X,,:ZR3<\[
- XM`=C%%41M%@I9@/G1!-SBZ2H[?G`@WX-)@TO3ZUU)B_.*#SFW%WW@6_;2]+P!Q
- XM;,-`6=[L`A+]:\RHRQ1QGD/<_=R\;5QCO7J`:%^_IUG7UQFG%T7;Q#7C_G0BB
- XM9?-Y9ES+]2O=]#]I__>L1XR2O\5-7G)]SAX_SG_?E<EBBY]G:>`W?.U_E@.,1
- XM'8GQ!(Q]XW__R(S]1/,+C-V,\2:,/;E_%J5]*D'CUCDW!U@<\^?BE(1W)+PBY
- XMX0D)[T?X.\+/$9Z-\&:$!R.\%N&E".]$>"3""Q%>A_`VA&\A?`KA2PC_07@,7
- XMPE,0OH'P"80?^)EX_\[$]15/3WAXPJM;_ESQX83O)KPUX:4)__PS\V,FR8490
- XMK^M@^2WH9PG?JGQ5Q9,2'I3PDH1')!Q2$P\D/!SATYP?YF8YE^2Q"!]%^!["/
- XMWQ!^AG!`3?R$\".$#R%\!^$S",^P\T;0%FI=GSZ%.A5@23+"PY1!K#.(/_7JF
- XML'#KZ+Q>_4^O3C3KH5<'W"#4*ANS5P>HE2)=G>5$'9(3(5X=D1,!Y@*""5^A2
- XMTK$F*P!"AY<V$5&,&:)3%Z<?&-%XGBH44+K8#V85&0*#("HR1#D*!*==UO5Q1
- XM<5'H,)Z@HBE6HT(N'Q`UW-/H=4;3*NLRR#7#FC)'V)HN<+:"YUX9;EV?SB'2`
- XMD$DDR6(!7S/L0H9_A1#A?I),B0C]W?TDZIFT]I,`+YAT*M&D1Y-2*7V`2N+P4
- XM%4/I:[[2!X#Q4<3I8\PSR'R<0^:3@/T:S/G70+'#[$M`I0:F*!@CGL!K8VYH$
- XMYZ22G(V#]:R(F'/2!ISI($T"@*31))3CUF"="8,%R&_<K(*8I(]D&P!Z@\BQ^
- XMOZB5@S00S6C[^9`0#OO&EK^3)MS08"$TT@X2`B4\`I9D)!]++#,)_(HU-('&'
- XM\0&`S63@A1V$3L<5UGTQ4CR@WY1+F)UK71T!4VLO%MV\ZUK>G%3A6N=.H_F
- XM:%0#I$T!%H4[O-SMZ)S9\18QU2WL\C4`.!#C]PP0P8$+!MP]3!7%NA/@!VK8\
- XMDA,!9@1HPQD-%$$/)[HWW1!L-!>2FV4;]FS(I``15+!D2,0`4A@T(A:6<+=V*
- XMPV%1X3:0R&')[!95P!X`]Q<,^`!7S"4,<";)"=.P.(D<TRX!^@28XMB5'A@U#
- XM.F2,3`P3R9`@`_0^[;9NVY!F(M\TGX?8?-%\'F+S35.Q^I+K-AGDL`$")N+?I
- XM$WY17#S)Z1%,NQG)`_Q?,`!;7NB/H!4X20!"&"6`/<9H(ZI]*_QE2+P#U-S&7
- XM,$X`?%@'.G-\*^8&ACF`8D(#&%!+`P0*````!@`@&&$:>NLWJ'P!``!W`@``V
- XM!0```$9)3$53#0(!$B,4%38W:(F:VSP%!A(31,7VEO<;*C2:EFW9N2#3N@5)4
- XMMZS<MF/#PG6I-RV<ZA6\6X)\*C?MF>L=EBU(HW++DB'>:>>B&<]!SGU;5^[88
- XM,OQ_M"A5IE)!@@0Y9/B"N\R;-V6"A(FS94R9+7':`-])IQ)->C0I%?#XF#-KN
- XMV@"/IQ+L19V`Q^((WS#`5_>&&;-ESAG@M5&F08^(P\.D>2-8R@#?.&^`UTZK^
- XM-AD:6W.F#?#P4ZE*`8^W63-G#?#(3ZD^!5$4UF9,&T._QM`]`WSC`'^H58(5<
- XM>.2:-&?B*`KGY@Q*EFQ:NFG?P#F;AEU;ULR5/*R;/#<</W?+L6_;PH$^YLTVG
- XMK5BY8;!4VDM^-PVZM.C1(=+.-*D0:P*KJM8QJ"X@EUXMP_E;)*-!FGTK%R11M
- XM)>YWO]Q/SBVU"?X.\A3Q=(-8>W*V^Z;>\@4^^#SV=-,I]A"@])@PG!SV(#9-C
- XM.U;NFSBT6;H@^"V?!X72'V\##AV#'P)\'%\0ACY02P$""P`*````!@":`0P-S
- XMJ*QZ1FH%``#4"@``"``````````!`"``````````1D=%5$Q2+D-02P$""P`*R
- XM````!@"F`0P-M*4E!OP"``!,!0``"0`````````!`"````"0!0``25-$24=)1
- XM5"Y#4$L!`@L`"@````8`(!AA&G"LJ0#N"@``FAD```H````````````@````+
- XMLP@``$Q)0E1%4DU#+D%02P$""P`*``8`!@`%&$$:MIR.V)<+``#"'P``"0``W
- XM```````!`"````#)$P``5$=%5$5.5"Y#4$L!`@L`"@````8`DKL5#Z_;B%XL/
- XM!```_P<```H``````````0`@````AQ\``%1'151&3$%'+D-02P$""P`*````-
- XM!@"CNQ4/")J.V-0$``#H"0``"0`````````!`"````#;(P``5$=%5$Y532Y#6
- XM4$L!`@L`"@`&``8`KKL5#[V/"47Y"0``PQD```D``````````0`@````UB@`L
- XM`%1'15135%(N0U!+`0(+``H`!@`&`*`THQ#G\S+[#PD``!`8```'````````R
- XM``$`(````/8R``!41T]43RY#4$L!`@L`"@````8`2$X,#7]OIG=S"```/A4`(
- XM``<``````````0`@````*CP``%105513+D-02P$""P`*````!@#O67X9CF*M4
- XMBXP!``#>`0``"P`````````!`"````#"1```34%+14=#0RY,24)02P$""P`*,
- XM````!@!8G%49A@0);WH!``"_`0``"P`````````!`"````!W1@``34%+14U3,
- XM0RY,24)02P$""P`*````!@`@&&$:;XR-XB(+``!!&@``"P```````````"``1
- XM```:2```5$5234-!4"Y,24)02P$""P`*````!@`@&&$:>NLWJ'P!``!W`@``9
- XM!0`````````!`"````!E4P``1DE,15-02P4&``````T`#0#*`@``!%4`````V
- X``
- Xend
- Xsize 22500
- END_OF_FILE
- if test 31540 -ne `wc -c <'sys/share/termcap.uu'`; then
- echo shar: \"'sys/share/termcap.uu'\" unpacked with wrong size!
- fi
- # end of 'sys/share/termcap.uu'
- if test -f 'sys/winnt/nttty.c' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'sys/winnt/nttty.c'\" to \"'sys/winnt/nttty.c.orig'\"
- mv -f 'sys/winnt/nttty.c' 'sys/winnt/nttty.c.orig'
- fi
- echo shar: Extracting \"'sys/winnt/nttty.c'\" \(10733 characters\)
- sed "s/^X//" >'sys/winnt/nttty.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)nttty.c 3.1 90/05/23
- X/* Copyright (c) NetHack PC Development Team 1993 */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X/* tty.c - (Windows NT) version */
- X/*
- X * Initial Creation - Michael Allison 93/01/31
- X *
- X */
- X
- X#ifdef WIN32CON
- X
- X#define NEED_VARARGS /* Uses ... */
- X#include "hack.h"
- X#include "wintty.h"
- X#include <sys\types.h>
- X#include <sys\stat.h>
- X#pragma pack(8)
- X#include <windows.h>
- X#include <wincon.h>
- X
- Xvoid FDECL(cmov, (int, int));
- Xvoid FDECL(nocmov, (int, int));
- X
- X/*
- X * The following WIN32 Console API routines are used in this file.
- X *
- X * CreateFile
- X * GetConsoleScreenBufferInfo
- X * GetStdHandle
- X * SetConsoleCursorPosition
- X * SetConsoleTextAttribute
- X * PeekConsoleInput
- X * ReadConsoleInput
- X * WriteConsoleOutputCharacter
- X */
- X
- X/* Win32 Console handles for input and output */
- XHANDLE hConIn;
- XHANDLE hConOut;
- X
- X/* Win32 Screen buffer,coordinate,console I/O information */
- XCONSOLE_SCREEN_BUFFER_INFO csbi;
- XCOORD ntcoord;
- XINPUT_RECORD ir;
- X
- X/* Flag for whether NetHack was launched via progman, not command line.
- X * The reason we care at all, is so that we can get
- X * a final RETURN at the end of the game when launched from progman
- X * to prevent the scoreboard (or panic message :-| from vanishing
- X * immediately after it is displayed, yet not bother when started
- X * from the command line.
- X */
- Xint ProgmanLaunched;
- X
- X# ifdef TEXTCOLOR
- Xchar ttycolors[MAXCOLORS];
- Xstatic void NDECL(init_ttycolor);
- X# endif
- X
- Xstatic char nullstr[] = "";
- Xchar erase_char,kill_char;
- X/* extern int LI, CO; */ /* decl.h does this alreay */
- X
- X/*
- X * Called after returning from ! or ^Z
- X */
- Xvoid
- Xgettty(){
- X register int i;
- X
- X erase_char = '\b';
- X kill_char = 21; /* cntl-U */
- X flags.cbreak = TRUE;
- X#ifdef TEXTCOLOR
- X init_ttycolor();
- X#endif
- X}
- X
- X/* reset terminal to original state */
- Xvoid
- Xsettty(s)
- Xconst char *s;
- X{
- X end_screen();
- X if(s) raw_print(s);
- X}
- X
- X/* called by init_nhwindows() and resume_nhwindows() */
- Xvoid
- Xsetftty()
- X{
- X start_screen();
- X}
- X
- Xint
- Xtgetch()
- X{
- X int ch;
- X int valid = 0;
- X int metaflags = 0;
- X int count;
- X
- X valid = 0;
- X while (!valid)
- X {
- X ReadConsoleInput(hConIn,&ir,1,&count);
- X /* We only care about ascii press-down KEY_EVENTs */
- X if ((ir.EventType == KEY_EVENT) &&
- X (ir.Event.KeyEvent.bKeyDown) &&
- X (ir.Event.KeyEvent.uChar.AsciiChar)) valid = 1;
- X }
- X metaflags = ir.Event.KeyEvent.dwControlKeyState;
- X /*
- X * metaflags can be checked to see if various special
- X * keys were pressed at the same time as the key.
- X * Currently we are using the ALT keys only.
- X *
- X * RIGHT_ALT_PRESSED, LEFT_ALT_PRESSED,
- X * RIGHT_CTRL_PRESSED, LEFT_CTRL_PRESSED,
- X * SHIFT_PRESSED,NUMLOCK_ON, SCROLLLOCK_ON,
- X * CAPSLOCK_ON, ENHANCED_KEY
- X *
- X * are all valid bit masks to use on metaflags
- X * eg. (metaflags & LEFT_CTRL_PRESSED) is true if the
- X * left control key was pressed with the keystroke.
- X */
- X ch = (ir.Event.KeyEvent.uChar.AsciiChar == '\r') ?
- X '\n' :ir.Event.KeyEvent.uChar.AsciiChar;
- X if (metaflags & (LEFT_ALT_PRESSED|RIGHT_ALT_PRESSED))
- X ch = tolower(ch) | 0x080;
- X return ch;
- X}
- X
- Xint
- Xkbhit()
- X{
- X int done = 0; /* true = "stop searching" */
- X int retval; /* true = "we had a match" */
- X int count; /* scratch-pad area for API call */
- X
- X done = 0;
- X retval = 0;
- X while (!done)
- X {
- X count = 0;
- X PeekConsoleInput(hConIn,&ir,1,&count);
- X if (count > 0)
- X {
- X /* Make sure its an ascii press-down KEY_EVENT */
- X if ((ir.EventType == KEY_EVENT) &&
- X (ir.Event.KeyEvent.bKeyDown) &&
- X (ir.Event.KeyEvent.uChar.AsciiChar))
- X {
- X /* This is what we were looking for */
- X done = 1; /* Stop looking */
- X retval = 1; /* Found what we sought */
- X }
- X /* Discard it, its an insignificant event */
- X else ReadConsoleInput(hConIn,&ir,1,&count);
- X }
- X else /* There are no events in console event queue*/
- X {
- X done = 1; /* Stop looking */
- X retval = 0; /* No ascii press-down key */
- X }
- X }
- X return retval;
- X}
- X
- X/* called by init_tty in wintty.c for WIN32CON port only */
- Xvoid
- Xnttty_open()
- X{
- X HANDLE hStdOut;
- X
- X /* The following 6 lines of code were suggested by
- X * Bob Landau of Microsoft WIN32 Developer support,
- X * as the only current means of determining whether
- X * we were launched from the command prompt, or from
- X * the NT program manager. M. Allison
- X */
- X hStdOut = GetStdHandle( STD_OUTPUT_HANDLE );
- X GetConsoleScreenBufferInfo( hStdOut, &csbi);
- X ProgmanLaunched = ((csbi.dwCursorPosition.X == 0) &&
- X (csbi.dwCursorPosition.Y == 0));
- X if ((csbi.dwSize.X <= 0) || (csbi.dwSize.Y <= 0))
- X ProgmanLaunched = 0;
- X
- X
- X /* Obtain handles for the standard Console I/O devices */
- X hConIn = CreateFile("CONIN$",
- X GENERIC_READ |GENERIC_WRITE,
- X FILE_SHARE_READ |FILE_SHARE_WRITE,
- X NULL, OPEN_EXISTING, 0, NULL);
- X
- X hConOut = CreateFile("CONOUT$",
- X GENERIC_READ |GENERIC_WRITE,
- X FILE_SHARE_READ |FILE_SHARE_WRITE,
- X NULL, OPEN_EXISTING, 0, NULL);
- X get_scr_size();
- X}
- X
- Xvoid
- Xget_scr_size()
- X{
- X if (GetConsoleScreenBufferInfo(hConOut,&csbi))
- X {
- X LI = csbi.dwSize.Y;
- X CO = csbi.dwSize.X;
- X }
- X else
- X {
- X LI = 25;
- X CO = 80;
- X }
- X}
- X
- X
- X/* fatal error */
- X/*VARARGS1*/
- X
- Xvoid
- Xerror VA_DECL(const char *,s)
- X VA_START(s);
- X VA_INIT(s, const char *);
- X /* error() may get called before tty is initialized */
- X if (flags.window_inited) end_screen();
- X putchar('\n');
- X Vprintf(s,VA_ARGS);
- X putchar('\n');
- X VA_END();
- X exit(1);
- X}
- X
- X
- Xvoid
- Xtty_startup(wid, hgt)
- X int *wid, *hgt;
- X{
- X register int i;
- X
- X *wid = CO;
- X *hgt = LI;
- X}
- X
- Xvoid
- Xtty_number_pad(state)
- Xint state;
- X{
- X}
- X
- Xvoid
- Xtty_start_screen()
- X{
- X if (flags.num_pad) tty_number_pad(1); /* make keypad send digits */
- X}
- X
- Xvoid
- Xtty_end_screen()
- X{
- X clear_screen();
- X}
- X
- Xvoid
- Xnocmov(x, y)
- Xint x,y;
- X{
- X ntcoord.X = x;
- X ntcoord.Y = y;
- X SetConsoleCursorPosition(hConOut,ntcoord);
- X}
- X
- Xvoid
- Xcmov(x, y)
- Xregister int x, y;
- X{
- X ntcoord.X = x;
- X ntcoord.Y = y;
- X SetConsoleCursorPosition(hConOut,ntcoord);
- X ttyDisplay->cury = y;
- X ttyDisplay->curx = x;
- X}
- X
- Xvoid
- Xxputc(c)
- Xchar c;
- X{
- X int count;
- X
- X ntcoord.X = ttyDisplay->curx;
- X ntcoord.Y = ttyDisplay->cury;
- X WriteConsoleOutputCharacter(hConOut,&c,1,ntcoord,&count);
- X}
- X
- Xvoid
- Xxputs(s)
- Xconst char *s;
- X{
- X int count;
- X
- X ntcoord.X = ttyDisplay->curx;
- X ntcoord.Y = ttyDisplay->cury;
- X WriteConsoleOutputCharacter(hConOut,s,
- X strlen(s),ntcoord,&count);
- X}
- X
- Xvoid
- Xcl_end()
- X{
- X int count;
- X
- X ntcoord.X = ttyDisplay->curx;
- X ntcoord.Y = ttyDisplay->cury;
- X FillConsoleOutputCharacter(hConOut,' ',
- X CO - ntcoord.X,ntcoord,&count);
- X tty_curs(BASE_WINDOW, (int)ttyDisplay->curx+1,
- X (int)ttyDisplay->cury);
- X}
- X
- X
- Xvoid
- Xclear_screen()
- X{
- X int count;
- X
- X ntcoord.X = 0;
- X ntcoord.Y = 0;
- X FillConsoleOutputCharacter(hConOut,' ',CO * LI,
- X ntcoord, &count);
- X home();
- X}
- X
- X
- Xvoid
- Xhome()
- X{
- X tty_curs(BASE_WINDOW, 1, 0);
- X ttyDisplay->curx = ttyDisplay->cury = 0;
- X}
- X
- X
- Xvoid
- Xbacksp()
- X{
- X DWORD count;
- X
- X GetConsoleScreenBufferInfo(hConOut,&csbi);
- X if (csbi.dwCursorPosition.X > 0)
- X ntcoord.X = csbi.dwCursorPosition.X-1;
- X ntcoord.Y = csbi.dwCursorPosition.Y;
- X WriteConsoleOutputCharacter(hConOut," ",1,ntcoord,&count);
- X SetConsoleCursorPosition(hConOut,ntcoord);
- X}
- X
- Xvoid
- Xtty_nhbell()
- X{
- X if (flags.silent) return;
- X Beep(8000,500);
- X}
- X
- X
- Xvoid
- Xtty_delay_output()
- X{
- X /* delay 50 ms - not implimented */
- X}
- X
- Xvoid
- Xcl_eos()
- X{
- X
- X register int cy = ttyDisplay->cury+1;
- X while(cy <= LI-2) {
- X cl_end();
- X xputc('\n');
- X cy++;
- X }
- X cl_end();
- X tty_curs(BASE_WINDOW, (int)ttyDisplay->curx+1,
- X (int)ttyDisplay->cury);
- X}
- X
- X
- X# ifdef TEXTCOLOR
- X/*
- X * BLACK 0
- X * RED 1
- X * GREEN 2
- X * BROWN 3 low-intensity yellow
- X * BLUE 4
- X * MAGENTA 5
- X * CYAN 6
- X * GRAY 7 low-intensity white
- X * NO_COLOR 8
- X * ORANGE_COLORED 9
- X * BRIGHT_GREEN 10
- X * YELLOW 11
- X * BRIGHT_BLUE 12
- X * BRIGHT_MAGENTA 13
- X * BRIGHT_CYAN 14
- X * WHITE 15
- X * MAXCOLORS 16
- X * BRIGHT 8
- X */
- X
- Xstatic void
- Xinit_ttycolor()
- X{
- X ttycolors[BLACK] = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
- X ttycolors[RED] = FOREGROUND_RED;
- X ttycolors[GREEN] = FOREGROUND_GREEN;
- X ttycolors[BROWN] = FOREGROUND_GREEN|FOREGROUND_RED;
- X ttycolors[BLUE] = FOREGROUND_BLUE|FOREGROUND_INTENSITY;
- X ttycolors[MAGENTA] = FOREGROUND_BLUE|FOREGROUND_RED;
- X ttycolors[CYAN] = FOREGROUND_GREEN|FOREGROUND_BLUE;
- X ttycolors[GRAY] = FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE;
- X ttycolors[BRIGHT] = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_INTENSITY;
- X ttycolors[ORANGE_COLORED] = FOREGROUND_RED|FOREGROUND_INTENSITY;
- X ttycolors[BRIGHT_GREEN] = FOREGROUND_GREEN|FOREGROUND_INTENSITY;
- X ttycolors[YELLOW] = FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY;
- X ttycolors[BRIGHT_BLUE] = FOREGROUND_BLUE|FOREGROUND_INTENSITY;
- X ttycolors[BRIGHT_MAGENTA] = FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_INTENSITY;
- X ttycolors[BRIGHT_CYAN] = FOREGROUND_GREEN|FOREGROUND_BLUE;
- X ttycolors[WHITE] = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_INTENSITY;
- X}
- X
- X# endif /* TEXTCOLOR */
- X
- Xint
- Xhas_color(int color)
- X{
- X# ifdef TEXTCOLOR
- X return 1;
- X# else
- X return 0;
- X# endif
- X}
- X
- Xvoid
- Xterm_end_attr(int attr)
- X{
- X /* Mix all three colors for white on NT console */
- X SetConsoleTextAttribute(hConOut,
- X FOREGROUND_RED|FOREGROUND_BLUE|
- X FOREGROUND_GREEN);
- X}
- X
- Xvoid
- Xterm_start_attr(int attr)
- X{
- X switch(attr){
- X
- X case ATR_ULINE:
- X case ATR_BOLD:
- X /* Mix all three colors for white on NT console */
- X SetConsoleTextAttribute(hConOut,
- X FOREGROUND_RED|FOREGROUND_BLUE|
- X FOREGROUND_GREEN|FOREGROUND_INTENSITY );
- X break;
- X case ATR_BLINK:
- X case ATR_INVERSE:
- X default:
- X term_end_attr(0);
- X break;
- X }
- X}
- X
- Xvoid
- Xterm_end_raw_bold(void)
- X{
- X standoutend();
- X}
- X
- Xvoid
- Xterm_start_raw_bold(void)
- X{
- X standoutbeg();
- X}
- X
- Xvoid
- Xterm_start_color(int color)
- X{
- X# ifdef TEXTCOLOR
- X WORD attr;
- X
- X if (color >= 0 && color < MAXCOLORS) {
- X attr = ttycolors[color];
- X SetConsoleTextAttribute(hConOut,attr);
- X }
- X# endif
- X}
- X
- Xvoid
- Xterm_end_color(void)
- X{
- X# ifdef TEXTCOLOR
- X SetConsoleTextAttribute(hConOut,
- X FOREGROUND_RED|FOREGROUND_BLUE|
- X FOREGROUND_GREEN);
- X# endif
- X}
- X
- X
- Xvoid
- Xstandoutbeg()
- X{
- X /* Mix all three colors for white on NT console */
- X SetConsoleTextAttribute(hConOut,
- X FOREGROUND_RED|FOREGROUND_BLUE|
- X FOREGROUND_GREEN|FOREGROUND_INTENSITY );
- X}
- X
- X
- Xvoid
- Xstandoutend()
- X{
- X /* Mix all three colors for white on NT console */
- X SetConsoleTextAttribute(hConOut,
- X FOREGROUND_RED|FOREGROUND_BLUE|
- X FOREGROUND_GREEN);
- X}
- X
- X#endif /* WIN32CON */
- X
- END_OF_FILE
- if test 10733 -ne `wc -c <'sys/winnt/nttty.c'`; then
- echo shar: \"'sys/winnt/nttty.c'\" unpacked with wrong size!
- fi
- # end of 'sys/winnt/nttty.c'
- echo shar: End of archive 29 \(of 33\).
- cp /dev/null ark29isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 33 archives.
- echo "Now execute ./patchit.sh"
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-