From mboxrd@z Thu Jan 1 00:00:00 1970 From: gaius@glam.ac.uk To: raeburn@cygnus.com, gas2@cygnus.com Subject: Re: {Many thanks for the binutils package} Date: Mon, 11 Jan 1999 08:47:00 -0000 Message-id: References: <95091916021341@glam.ac.uk> X-SW-Source: 1999/msg00005.html re: an email conversation from 5 Oct 1995 !! Hi Ken, it has been over three years since we last communicated about binutils. > From: Ken Raeburn > Date: Thu, 5 Oct 1995 20:42:53 -0400 > I'd rather wait on including new non-public machines (abstract or real) > until the machine is publicly available. Having a gcc port incorporated > and released would also be a big argument in favor of including the > binutils port. (Is your Modula-2 compiler based on the gcc back end?) The Modula-2 compiler has been publically available for over three years now, sadly the back end is not based on gcc though. The Modula-2 compiler, ismene simulator (abstract machine) is all GPL'd. The compiler generates ismene code, and i*86 code with pentium optimizations. I've signed the GNU copyright assignment form and posted them three years ago. Would you like me to do this again as some of the file names might have changed? I've uploaded the compiler and abstract machine to tsx-11.mit.edu, redhat.com and also made them publically available from my machine. (Well this will be done by 15:00 GMT) Basically I have (carefully) ported the binutils to my abstract machine, it was called "smp" which you rightly suggested was rather too generic. I've now called it "is32" (ismene processor 32 bit). I've did the port for binutils 2.5.2 and binutils-2.9.1.0.4 and the equivalent GDB releases. But as Computer Scientists hate repeating work (!) I took your advice and have integrated my very minor additions to the snapshot of 01 04 99 (last Monday the 4th Jan 99) and offer the changes to be included in the official binutils release. The ismene abstract machine is actually a multiprocessor discrete event simulator which I wrote for my PhD 10 years ago. I've been working on it since and it now operates with GDB and has a lesstif GUI. What is rather fun is that the abstract machine can be told to run backwards.. so one can find out where you came from (I confess I got quite a buz from seeing the source line pointer go in reverse, and printing out old variable values). Ismene is really meant to model software costs, runtime prediction of multiprocessor microkernels etc, an ongoing research project - and we also use it for teaching at the Univ. of Glamorgan. So what I'm trying to say is that quite a few people might use it. (Although I accept tiny compared to the i*86 ports..) > Does it have any more specific name than "smp"? That sounds very > generic.... > The diffs in your message look straightforward and reasonable, though I > haven't looked at the contents of the tar file. hopefully this is still the case :-) > The configuration handling of some directories has changed, so > integrating your changes into a snapshot would help us quite a bit. thats ok. > Ken many thanks for all your efforts at GNU and Cygnus Support, you are changing the software world for the better of mankind. I'm a great fan of GPL. Below here are two sections: (i) diffs which allow is32 to be configured (ii) extra files required by is32 configuration cheers Gaius --- Gaius Mulley University of Glamorgan gaius@glam.ac.uk Tel: 01443 482279 "I previously had IE4/NT4 on the same box and by comparison the combination of Linux/Nagivator ran at least 30-40% faster when rendering simple HTML + graphics", Josh Cohen, Microsoft (8/98) Here are the diffs generated with diff -r -c diff -r -c gas-990104.orig/bfd/aoutx.h gas-990104/bfd/aoutx.h *** gas-990104.orig/bfd/aoutx.h Mon Jan 4 09:12:39 1999 --- gas-990104/bfd/aoutx.h Wed Jan 6 20:56:18 1999 *************** *** 764,769 **** --- 764,770 ---- /* FIXME: These should be MIPS3 or MIPS4. */ arch_flags = M_MIPS2; break; + default: arch_flags = M_UNKNOWN; break; *************** *** 778,783 **** --- 779,787 ---- default: arch_flags = M_UNKNOWN; break; } break; + + case bfd_arch_is32: + if (machine == 0) arch_flags = M_IS32; break; case bfd_arch_vax: *unknown = false; diff -r -c gas-990104.orig/bfd/archures.c gas-990104/bfd/archures.c *** gas-990104.orig/bfd/archures.c Mon Jan 4 09:17:06 1999 --- gas-990104/bfd/archures.c Wed Jan 6 18:29:22 1999 *************** *** 231,236 **** --- 231,237 ---- extern const bfd_arch_info_type bfd_i386_arch; extern const bfd_arch_info_type bfd_i860_arch; extern const bfd_arch_info_type bfd_i960_arch; + extern const bfd_arch_info_type bfd_is32_arch; extern const bfd_arch_info_type bfd_m32r_arch; extern const bfd_arch_info_type bfd_m68k_arch; extern const bfd_arch_info_type bfd_m88k_arch; *************** *** 267,272 **** --- 268,274 ---- &bfd_i386_arch, &bfd_i860_arch, &bfd_i960_arch, + &bfd_is32_arch, &bfd_m32r_arch, &bfd_m68k_arch, &bfd_m88k_arch, diff -r -c gas-990104.orig/bfd/bfd-in2.h gas-990104/bfd/bfd-in2.h *** gas-990104.orig/bfd/bfd-in2.h Mon Jan 4 09:17:10 1999 --- gas-990104/bfd/bfd-in2.h Wed Jan 6 18:32:22 1999 *************** *** 1270,1275 **** --- 1270,1276 ---- bfd_arch_we32k, /* AT&T WE32xxx */ bfd_arch_tahoe, /* CCI/Harris Tahoe */ bfd_arch_i860, /* Intel 860 */ + bfd_arch_is32, /* Ismene abstract machine */ bfd_arch_romp, /* IBM ROMP PC/RT */ bfd_arch_alliant, /* Alliant */ bfd_arch_convex, /* Convex */ Only in gas-990104/bfd: bfd-in3.h diff -r -c gas-990104.orig/bfd/coffcode.h gas-990104/bfd/coffcode.h *** gas-990104.orig/bfd/coffcode.h Mon Jan 4 09:16:55 1999 --- gas-990104/bfd/coffcode.h Wed Jan 6 18:33:22 1999 *************** *** 1620,1625 **** --- 1620,1631 ---- break; #endif + #ifdef IS32MAGIC + case bfd_arch_is32: + arch = bfd_arch_is32; + break; + #endif + default: /* Unreadable input file type */ arch = bfd_arch_obscure; diff -r -c gas-990104.orig/bfd/config.bfd gas-990104/bfd/config.bfd *** gas-990104.orig/bfd/config.bfd Mon Jan 4 09:17:11 1999 --- gas-990104/bfd/config.bfd Wed Jan 6 18:34:28 1999 *************** *** 288,293 **** --- 288,298 ---- targ_underscore=yes ;; + is32-*-*) + targ_defvec=is32_aout_vec + targ_underscore=yes + ;; + m32r-*-*) targ_defvec=bfd_elf32_m32r_vec ;; Only in gas-990104/bfd: config.h diff -r -c gas-990104.orig/bfd/configure gas-990104/bfd/configure *** gas-990104.orig/bfd/configure Mon Jan 4 09:27:11 1999 --- gas-990104/bfd/configure Wed Jan 6 18:37:44 1999 *************** *** 5093,5098 **** --- 5093,5099 ---- icoff_big_vec) tb="$tb coff-i960.lo cofflink.lo" ;; icoff_little_vec) tb="$tb coff-i960.lo cofflink.lo" ;; ieee_vec) tb="$tb ieee.lo" ;; + is32_aout_vec) tb="$tb is32aout.lo aout32.lo stab-syms.lo" ;; m68kcoff_vec) tb="$tb coff-m68k.lo cofflink.lo" ;; m68kcoffun_vec) tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;; m68klinux_vec) tb="$tb m68klinux.lo aout32.lo" ;; diff -r -c gas-990104.orig/bfd/configure.in gas-990104/bfd/configure.in *** gas-990104.orig/bfd/configure.in Mon Jan 4 09:27:11 1999 --- gas-990104/bfd/configure.in Wed Jan 6 18:38:18 1999 *************** *** 494,499 **** --- 494,500 ---- icoff_big_vec) tb="$tb coff-i960.lo cofflink.lo" ;; icoff_little_vec) tb="$tb coff-i960.lo cofflink.lo" ;; ieee_vec) tb="$tb ieee.lo" ;; + is32_aout_vec) tb="$tb is32aout.lo aout32.lo stab-syms.lo" ;; m68kcoff_vec) tb="$tb coff-m68k.lo cofflink.lo" ;; m68kcoffun_vec) tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;; m68klinux_vec) tb="$tb m68klinux.lo aout32.lo" ;; Only in gas-990104/bfd: cpu-is32.c Only in gas-990104/bfd: is32aout.c diff -r -c gas-990104.orig/bfd/libaout.h gas-990104/bfd/libaout.h *** gas-990104.orig/bfd/libaout.h Mon Jan 4 09:12:59 1999 --- gas-990104/bfd/libaout.h Wed Jan 6 18:39:44 1999 *************** *** 243,248 **** --- 243,249 ---- M_HPUX = (0x20c % 256), /* HP 200/300 HPUX binary */ M_SPARCLET_5 = 211, /* 0xd3, reserved */ M_SPARCLET_6 = 227, /* 0xe3, reserved */ + M_IS32 = 240, /* Ismene processor */ /* M_SPARCLET_7 = 243 / * 0xf3, reserved */ M_SPARCLITE_LE = 243 }; diff -r -c gas-990104.orig/bfd/targets.c gas-990104/bfd/targets.c *** gas-990104.orig/bfd/targets.c Mon Jan 4 09:16:54 1999 --- gas-990104/bfd/targets.c Wed Jan 6 18:40:40 1999 *************** *** 554,559 **** --- 554,560 ---- extern const bfd_target icoff_big_vec; extern const bfd_target icoff_little_vec; extern const bfd_target ieee_vec; + extern const bfd_target is32_aout_vec; extern const bfd_target m68kaux_coff_vec; extern const bfd_target m68kcoff_vec; extern const bfd_target m68kcoffun_vec; Only in gas-990104/config: mh-is32 diff -r -c gas-990104.orig/config.sub gas-990104/config.sub *** gas-990104.orig/config.sub Mon Jan 4 09:26:51 1999 --- gas-990104/config.sub Wed Jan 6 18:41:40 1999 *************** *** 187,193 **** basic_machine=$basic_machine-unknown ;; m88110 | m680[012346]0 | m683?2 | m68360 | m5200 | z8k | v70 \ ! | h8500 | w65 | fr30) # CYGNUS LOCAL basic_machine=$basic_machine-unknown ;; thumb) --- 187,193 ---- basic_machine=$basic_machine-unknown ;; m88110 | m680[012346]0 | m683?2 | m68360 | m5200 | z8k | v70 \ ! | h8500 | w65 | fr30 | is32) # CYGNUS LOCAL basic_machine=$basic_machine-unknown ;; thumb) Only in gas-990104/gas/config: tc-is32.c Only in gas-990104/gas/config: tc-is32.h diff -r -c gas-990104.orig/gas/configure gas-990104/gas/configure *** gas-990104.orig/gas/configure Mon Jan 4 09:27:14 1999 --- gas-990104/gas/configure Wed Jan 6 20:46:30 1999 *************** *** 1707,1712 **** --- 1707,1714 ---- i960-*-vxworks5.*) fmt=coff em=ic960 ;; i960-*-vxworks*) fmt=bout ;; + is32-*-*) fmt=aout bfd_gas=yes ;; + m32r-*-*) fmt=elf bfd_gas=yes ;; m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*) diff -r -c gas-990104.orig/gas/configure.in gas-990104/gas/configure.in *** gas-990104.orig/gas/configure.in Mon Jan 4 09:27:13 1999 --- gas-990104/gas/configure.in Wed Jan 6 20:41:23 1999 *************** *** 195,200 **** --- 195,202 ---- i960-*-vxworks5.*) fmt=coff em=ic960 ;; i960-*-vxworks*) fmt=bout ;; + is32-*-*) fmt=aout em=is32 bfd_gas=yes ;; + m32r-*-*) fmt=elf bfd_gas=yes ;; m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*) diff -r -c gas-990104.orig/include/dis-asm.h gas-990104/include/dis-asm.h *** gas-990104.orig/include/dis-asm.h Mon Jan 4 09:23:21 1999 --- gas-990104/include/dis-asm.h Wed Jan 6 19:37:08 1999 *************** *** 144,149 **** --- 144,150 ---- extern int print_insn_big_mips PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_little_mips PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_i386 PARAMS ((bfd_vma, disassemble_info*)); + extern int print_insn_is32 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_m68k PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_z8001 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_z8002 PARAMS ((bfd_vma, disassemble_info*)); diff -r -c gas-990104.orig/include/elf/common.h gas-990104/include/elf/common.h *** gas-990104.orig/include/elf/common.h Mon Jan 4 09:13:35 1999 --- gas-990104/include/elf/common.h Wed Jan 6 18:54:01 1999 *************** *** 97,102 **** --- 97,103 ---- #define EM_OLD_ALPHA 41 /* Digital Alpha */ #define EM_SH 42 /* Hitachi SH */ #define EM_SPARCV9 43 /* SPARC v9 64-bit */ + #define EM_IS32 0x8253 /* IS32 ismene abstract machine (followed note below) */ /* If it is necessary to assign new unofficial EM_* values, please pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision Only in gas-990104/include/opcode: is32.h diff -r -c gas-990104.orig/intl/config.h gas-990104/intl/config.h *** gas-990104.orig/intl/config.h Mon Jan 4 09:29:49 1999 --- gas-990104/intl/config.h Wed Jan 6 19:05:38 1999 *************** *** 42,48 **** /* #undef STACK_DIRECTION */ /* Define if you have the ANSI C header files. */ ! /* #undef STDC_HEADERS */ /* Define to 1 if NLS is requested. */ #define ENABLE_NLS 1 --- 42,48 ---- /* #undef STACK_DIRECTION */ /* Define if you have the ANSI C header files. */ ! #define STDC_HEADERS 1 /* Define to 1 if NLS is requested. */ #define ENABLE_NLS 1 *************** *** 51,72 **** /* #undef HAVE_CATGETS */ /* Define as 1 if you have gettext and don't want to use GNU gettext. */ ! /* #undef HAVE_GETTEXT */ /* Define as 1 if you have the stpcpy function. */ ! /* #undef HAVE_STPCPY */ /* Define if your locale.h file contains LC_MESSAGES. */ #define HAVE_LC_MESSAGES 1 /* Define if you have the __argz_count function. */ ! /* #undef HAVE___ARGZ_COUNT */ /* Define if you have the __argz_next function. */ ! /* #undef HAVE___ARGZ_NEXT */ /* Define if you have the __argz_stringify function. */ ! /* #undef HAVE___ARGZ_STRINGIFY */ /* Define if you have the dcgettext function. */ /* #undef HAVE_DCGETTEXT */ --- 51,72 ---- /* #undef HAVE_CATGETS */ /* Define as 1 if you have gettext and don't want to use GNU gettext. */ ! #define HAVE_GETTEXT 1 /* Define as 1 if you have the stpcpy function. */ ! #define HAVE_STPCPY 1 /* Define if your locale.h file contains LC_MESSAGES. */ #define HAVE_LC_MESSAGES 1 /* Define if you have the __argz_count function. */ ! #define HAVE___ARGZ_COUNT 1 /* Define if you have the __argz_next function. */ ! #define HAVE___ARGZ_NEXT 1 /* Define if you have the __argz_stringify function. */ ! #define HAVE___ARGZ_STRINGIFY 1 /* Define if you have the dcgettext function. */ /* #undef HAVE_DCGETTEXT */ *************** *** 84,96 **** #define HAVE_PUTENV 1 /* Define if you have the setenv function. */ ! /* #undef HAVE_SETENV */ /* Define if you have the setlocale function. */ #define HAVE_SETLOCALE 1 /* Define if you have the stpcpy function. */ ! /* #undef HAVE_STPCPY */ /* Define if you have the strcasecmp function. */ #define HAVE_STRCASECMP 1 --- 84,96 ---- #define HAVE_PUTENV 1 /* Define if you have the setenv function. */ ! #define HAVE_SETENV 1 /* Define if you have the setlocale function. */ #define HAVE_SETLOCALE 1 /* Define if you have the stpcpy function. */ ! #define HAVE_STPCPY 1 /* Define if you have the strcasecmp function. */ #define HAVE_STRCASECMP 1 *************** *** 99,105 **** #define HAVE_STRCHR 1 /* Define if you have the header file. */ ! /* #undef HAVE_ARGZ_H */ /* Define if you have the header file. */ #define HAVE_LIMITS_H 1 --- 99,105 ---- #define HAVE_STRCHR 1 /* Define if you have the header file. */ ! #define HAVE_ARGZ_H 1 /* Define if you have the header file. */ #define HAVE_LIMITS_H 1 *************** *** 111,117 **** #define HAVE_MALLOC_H 1 /* Define if you have the header file. */ ! /* #undef HAVE_NL_TYPES_H */ /* Define if you have the header file. */ #define HAVE_STRING_H 1 --- 111,117 ---- #define HAVE_MALLOC_H 1 /* Define if you have the header file. */ ! #define HAVE_NL_TYPES_H 1 /* Define if you have the header file. */ #define HAVE_STRING_H 1 diff -r -c gas-990104.orig/intl/config.status gas-990104/intl/config.status *** gas-990104.orig/intl/config.status Mon Jan 4 09:29:44 1999 --- gas-990104/intl/config.status Wed Jan 6 20:57:09 1999 *************** *** 2,10 **** # Generated automatically by configure. # Run this file to recreate the current configuration. # This directory was configured as follows, ! # on host andros.cygnus.com: # ! # ./configure --host=sun4 --target=sun4 --with-gnu-as --cache-file=../config.cache # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. --- 2,10 ---- # Generated automatically by configure. # Run this file to recreate the current configuration. # This directory was configured as follows, ! # on host merlin: # ! # ./configure --host=i686-pc-linux-gnu --target=is32 --exec-prefix=/usr/local/is32 --program-suffix=-is32 --with-gnu-as --with-gnu-ld --cache-file=../config.cache # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. *************** *** 14,21 **** do case "$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ! echo "running ${CONFIG_SHELL-/bin/sh} ./configure --host=sun4 --target=sun4 --with-gnu-as --cache-file=../config.cache --no-create --no-recursion" ! exec ${CONFIG_SHELL-/bin/sh} ./configure --host=sun4 --target=sun4 --with-gnu-as --cache-file=../config.cache --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "./config.status generated by autoconf version 2.12.1" exit 0 ;; --- 14,21 ---- do case "$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ! echo "running ${CONFIG_SHELL-/bin/sh} ./configure --host=i686-pc-linux-gnu --target=is32 --exec-prefix=/usr/local/is32 --program-suffix=-is32 --with-gnu-as --with-gnu-ld --cache-file=../config.cache --no-create --no-recursion" ! exec ${CONFIG_SHELL-/bin/sh} ./configure --host=i686-pc-linux-gnu --target=is32 --exec-prefix=/usr/local/is32 --program-suffix=-is32 --with-gnu-as --with-gnu-ld --cache-file=../config.cache --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "./config.status generated by autoconf version 2.12.1" exit 0 ;; *************** *** 26,32 **** done ac_given_srcdir=. ! ac_given_INSTALL="/usr/unsupported/bin/install -c" trap 'rm -fr Makefile config.h conftest*; exit 1' 1 2 15 --- 26,32 ---- done ac_given_srcdir=. ! ac_given_INSTALL="/usr/bin/ginstall -c" trap 'rm -fr Makefile config.h conftest*; exit 1' 1 2 15 *************** *** 42,48 **** s%@DEFS@%-DHAVE_CONFIG_H%g s%@LDFLAGS@%%g s%@LIBS@%%g ! s%@exec_prefix@%${prefix}%g s%@prefix@%/usr/local%g s%@program_transform_name@%s,x,x,%g s%@bindir@%${exec_prefix}/bin%g --- 42,48 ---- s%@DEFS@%-DHAVE_CONFIG_H%g s%@LDFLAGS@%%g s%@LIBS@%%g ! s%@exec_prefix@%/usr/local/is32%g s%@prefix@%/usr/local%g s%@program_transform_name@%s,x,x,%g s%@bindir@%${exec_prefix}/bin%g *************** *** 66,74 **** s%@CPP@%gcc -E%g s%@ALLOCA@%%g s%@USE_NLS@%yes%g ! s%@MSGFMT@%/usr/unsupported/bin/msgfmt%g ! s%@GMSGFMT@%/usr/unsupported/bin/msgfmt%g ! s%@XGETTEXT@%/usr/unsupported/bin/xgettext%g s%@USE_INCLUDED_LIBINTL@%yes%g s%@CATALOGS@%%g s%@CATOBJEXT@%.gmo%g --- 66,74 ---- s%@CPP@%gcc -E%g s%@ALLOCA@%%g s%@USE_NLS@%yes%g ! s%@MSGFMT@%no%g ! s%@GMSGFMT@%no%g ! s%@XGETTEXT@%:%g s%@USE_INCLUDED_LIBINTL@%yes%g s%@CATALOGS@%%g s%@CATOBJEXT@%.gmo%g *************** *** 214,219 **** --- 214,222 ---- cat $ac_file_inputs > conftest.in cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out + rm -f conftest.in + mv conftest.out conftest.in + + cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out rm -f conftest.in mv conftest.out conftest.in cat > conftest.frag < conftest.out + rm -f conftest.in + mv conftest.out conftest.in + + cat > conftest.frag < conftest.frag < conftest.out diff -r -c gas-990104.orig/ld/Makefile.in gas-990104/ld/Makefile.in *** gas-990104.orig/ld/Makefile.in Mon Jan 4 09:24:33 1999 --- gas-990104/ld/Makefile.in Wed Jan 6 18:57:00 1999 *************** *** 248,253 **** --- 248,254 ---- ei386nbsd.o \ ei386nw.o \ ei386pe.o \ + eis32aout.o \ elnk960.o \ em68k4knbsd.o \ em68kaout.o \ *************** *** 1070,1075 **** --- 1071,1079 ---- ei386pe.c: $(srcdir)/emulparams/i386pe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} ${GENSCRIPTS} i386pe "$(tdir_i386pe)" + eis32aout.c: $(srcdir)/emulparams/is32aout.sh \ + $(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} is32aout "$(tdir_is32aout)" elnk960.c: $(srcdir)/emulparams/lnk960.sh \ $(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS} ${GENSCRIPTS} lnk960 "$(tdir_lnk960)" diff -r -c gas-990104.orig/ld/configure.tgt gas-990104/ld/configure.tgt *** gas-990104.orig/ld/configure.tgt Mon Jan 4 09:24:33 1999 --- gas-990104/ld/configure.tgt Wed Jan 6 18:59:31 1999 *************** *** 105,110 **** --- 105,111 ---- targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3456]86-*-mingw32*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; + is32-*-*) targ_emul=is32aout ;; m8*-*-*) targ_emul=m88kbcs ;; a29k-*-udi) targ_emul=sa29200 ;; a29k-*-ebmon) targ_emul=ebmon29k ;; Only in gas-990104/ld/emulparams: is32aout.sh diff -r -c gas-990104.orig/opcodes/configure gas-990104/opcodes/configure *** gas-990104.orig/opcodes/configure Mon Jan 4 09:25:52 1999 --- gas-990104/opcodes/configure Wed Jan 6 19:02:43 1999 *************** *** 3809,3814 **** --- 3809,3815 ---- bfd_i386_arch) ta="$ta i386-dis.lo" ;; bfd_i860_arch) ;; bfd_i960_arch) ta="$ta $cgen_files i960-dis.lo i960c-opc.lo i960c-asm.lo i960c-dis.lo" ;; + bfd_is32_arch) ta="$ta is32-dis.lo" ;; bfd_m32r_arch) ta="$ta $cgen_files m32r-opc.lo m32r-asm.lo m32r-dis.lo" ;; bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;; bfd_m88k_arch) ta="$ta m88k-dis.lo" ;; diff -r -c gas-990104.orig/opcodes/configure.in gas-990104/opcodes/configure.in *** gas-990104.orig/opcodes/configure.in Mon Jan 4 09:25:51 1999 --- gas-990104/opcodes/configure.in Wed Jan 6 19:03:27 1999 *************** *** 141,146 **** --- 141,147 ---- bfd_i386_arch) ta="$ta i386-dis.lo" ;; bfd_i860_arch) ;; bfd_i960_arch) ta="$ta $cgen_files i960-dis.lo i960c-opc.lo i960c-asm.lo i960c-dis.lo" ;; + bfd_is32_arch) ta="$ta is32-dis.lo" ;; bfd_m32r_arch) ta="$ta $cgen_files m32r-opc.lo m32r-asm.lo m32r-dis.lo" ;; bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;; bfd_m88k_arch) ta="$ta m88k-dis.lo" ;; diff -r -c gas-990104.orig/opcodes/disassemble.c gas-990104/opcodes/disassemble.c *** gas-990104.orig/opcodes/disassemble.c Mon Jan 4 09:25:52 1999 --- gas-990104/opcodes/disassemble.c Wed Jan 6 19:04:09 1999 *************** *** 127,132 **** --- 127,137 ---- disassemble = print_insn_i960; break; #endif + #ifdef ARCH_is32 + case bfd_arch_is32: + disassemble = print_insn_is32; + break; + #endif #ifdef ARCH_m32r case bfd_arch_m32r: disassemble = print_insn_m32r; Only in gas-990104/opcodes: is32-dis.c Here follows the uuencode for binutils begin 644 gas.is32.extra.tar M8F9D+V)F9"UI;C,N:``````````````````````````````````````````` M```````````````````````````````````````````````````````````` M`````````````#$P,#8T-"``("`@,30T(``@("`Q-#0@`"`@("`@,S$Q-S(T M("`V-C0T-S0W,#7)I9VAT(#$Y.3`L(#DQ+"`Y,BP@.3,L(#DT+"`Y-2P@.38L M(#DW+"`Q.3DX"B`@($9R964@4V]F='=A2!#>6=N=7,@4W5P<&]R="X*"BHJ($Y/5$4Z(&)F M9"YH(&%N9"!B9F0M:6XR+F@@87)E($=%3D52051%1"!F:6QE2!O M9@I-15)#2$%.5$%"24Q)5%D@;W(@1DE43D534R!&3U(@02!005)424-53$%2 M(%!54E!/4T4N("!3964@=&AE"D=.52!'96YE2`*"E1H92!B9F0N:"!F:6QE(&ES M(&=E;F5R871E9"!F2!B92!L;W-T+@H*06QL('1H92!P2P@86YD(&UA9VEC86QL>2!T:&ES(&9I;&4*=VEL;"!C:&%N M9V4@=&\@2!C;VUM86YD6]U7!E7!E9&5F(&5N=6T@8F9D7V)O;VQE86X@>V)F9%]F9F9A;'-E+"!B M9F1?='1T7-T96US('=I=&@@-C0M8FET(&9I;&4@;V9F2!T:&4@8F5S="!L;VYG+71E7!E(&!L;VYG)R!I7!E.PIT>7!E9&5F($)&1%](3U-47U5?-C1?0DE4('-Y;79A;'5E.PH* M(VEF;F1E9B!F<')I;G1F7W9M80HC:68@0D9$7TA/4U1?-C1"251?3$].1PHC M9&5F:6YE('-P"D@"(L M('@I"B-D969I;F4@9G!R:6YT9E]V;6$H9BQX*2!F<')I;G1F("AF+"`B)3`Q M-FQX(BP@>"D*(V5L"D@7`H@ M(&9P"DI"B-D969I;F4@"(L(%]B9F1?:6YT M-C1?:&EG:"`H>"DL(%]B9F1?:6YT-C1?;&]W("AX*2D*(V5N9&EF"B-E;F1I M9@H*(V5L7!E9&5F('5N7!E2!T:&%T('-I9VYE9"!A;F0@=6YS:6=N960@:6YT6UV86QU93L*='EP961E9B!U;G-I9VYE9"!L;VYG(&)F9%]S M:7IE7W1Y<&4["@HO*B!0"!O;B!S=')E86T@"(L('@I"B-D969I;F4@"(L('@I"@HC96YD:68@+RH@;F]T($)&1#8T("`J+PH*(V1E9FEN92!P M2!A<'!E87(@:6X@=&AE(&9L86=S(&9I96QD(&]F(&$@0D9$+B`@ M5&AE#`P"@HO*B!"1D0@8V]N=&%I M;G,@#`R"@HO*B!"1D0@:&%S(&QI;F4@;G5M M8F5R(&EN9F]R;6%T:6]N("AB87-I8V%L;'D@=7-E9"!F;W(@1E],3DY/(&EN M(&$*("`@0T]&1B!H96%D97(I+B`@*B\*(V1E9FEN92!(05-?3$E.14Y/("`) M,'@P-`H*+RH@0D9$(&AA#`X"@HO*B!"1D0@:&%S('-Y;6)O;',N M("`J+PHC9&5F:6YE($A!4U]364U3("`@(`DP>#$P"@HO*B!"1D0@:&%S(&QO M8V%L('-Y;6)O;',@*&)A2!U#0P"@HO*B!497AT('-E8W1I;VX@:7,@=W)I=&4@<')O M=&5C=&5D("AI9B!$7U!!1T5$(&ES(&YO="!S970L('1H:7,@:7,*("`@;&EK M92!A;B!A+F]U="!.34%'24,@9FEL92D@*'1H92!L:6YK97(@6YA M;6EC86QL>2!P86=E9"`H=&AI&%B;&4@*'1H:7,@ M;65A;G,@=&AA="!B9F1?&%M<&QE M+"!T:&ES(&ES('5S960@=&\@6UB;VQS(&YO="!B92!H87-H M960@=&\@96QI;6EN871E"B`@(&1U<&QI8V%T97,N("`J+PHC9&5F:6YE($)& M1%]44D%$251)3TY!3%]&3U)-050@,'@T,#`*"B\J(%1H:7,@9FQA9R!I;F1I M8V%T97,@=&AA="!T:&4@0D9$(&-O;G1E;G1S(&%R92!A8W1U86QL>2!C86-H M960@:6X*("`@;65M;W)Y+B`@268@=&AI6UB;VQS*2X@("HO"G1Y<&5D968@=6YS:6=N960@;&]N9R!S>6UI;F1E M>#L*"B\J($AO=R!T;R!P97)F;W)M(&$@7!E.PH*(V1E9FEN92!"1D1?3D]?34]215]364U"3TQ3("@H6UB;VP@ M6#L*("`@=&%R9V5T('-P96-I9FEC('!A"DM/G-E8W1I;VXI"B-D969I;F4@8F9D7V=E=%]O=71P=71?"QY*2`H*'@I+3YS96-T:6]N*2`]("AY*0HC M9&5F:6YE(&)F9%]A"D@*"AX*2T^"DM/FYA;64I"B\J4&5R:&%P6UB;VQ?8F9D*'@I("@H>"DM/G-E8W1I;VXM/F]W;F5R*2HO"B-D969I M;F4@8F9D7V%S>6UB;VQ?8F9D*'@I("@H>"DM/G1H95]B9F0I"B-D969I;F4@ M8F9D7V%S>6UB;VQ?9FQA=F]U6UB;VQ?8F9D*'@I+3YX M=F5C+3YF;&%V;W5R*0H*+RH@02!C86YO;FEC86P@87)C:&EV92!S>6UB;VPN M("`J+PHO*B!4:&ES(&ES(&$@='EP92!P=6X@=VET:"!S=')U8W0@6]U(&-A;&P@82!C87)S>6UO9V5N("HO"@H@(`HO*B!56T[("\J($9U;F-T M:6]N(&YA;64@*B\*("`@('5N7!E9&5F('-T6UB;VP*>R`*("!B M9F1?<')I;G1?6UB;VQ?86QL"GT@8F9D7W!R:6YT7W-Y;6)O;%]T M>7!E.PH@("`@"B\J($EN9F]R;6%T:6]N(&%B;W5T(&$@6UV86QU92!V86QU93L*("!C:&%R('1Y<&4["B`@0T].4U0@8VAA6UB;VP@;F%M92X@("HO"B`@=6YS:6=N M960@8VAA7!E(&-O9&4N("`J+PH*97AT97)N(&-O;G-T M(&-H87(@*F)F9%]G971?0I["B`@+RH@3F5X="!E;G1R>2!F;W(@=&AI2!I9B!T:&4@87)G=6UE;G0@:7,@3E5, M3"X@("HO"B`@6EN9R!A('-I>F4N("`J+PIE>'1EF4I*3L*"B\J($9R964@=7`@82!H87-H('1A M8FQE+B`@*B\*97AT97)N('9O:60@8F9D7VAA2!E>&ES="X@(%1H90H@("!#3U!9 M(&%R9W5M96YT(&UU'1E2DI.PH*+RH@4F5P;&%C92!A;B!E;G1R M>2!I;B!A(&AA'1E'1EF5?='EP92!B M9F1?F5?='EP92!S:7IE+"!B M9F1?7!E(&YI=&5M7!E(&)F9%]WF5?='EP92!S:7IE+"!B9F1?7!E(&YI=&5M'1E71E;W)D97(@/3T@ M0D9$7T5.1$E!3E]"247!E7!E6UB M;VQS*0HC9&5F:6YE(&)F9%]C;W5N=%]S96-T:6]N'9E8RT^'1E'1E'1E'1R*2`H2`J+`H)"0D)2`J+`H) M"0D@("`@("!B9F1?7!E*2DI.PIE>'1E7!E(&)F9%]E8V]F9E]D96)U9U]S:7IE"B`@4$%204U3("@H8F9D M("IA8F9D+"!S=')U8W0@96-O9F9?9&5B=6=?:6YF;R`J9&5B=6'1E'1E'1E'1EF5?9'EN86UI8U]S96-T:6]N'1E6YA M;6EC7W-E8W1I;VYS"B`@4$%204U3("@H8F9D("HL('-T6YA;6EC7W-E8W1I;VYS"B`@4$%2 M04U3("@H8F9D("HL('-T%]S:7IE7V1Y;F%M:6-?'1E%]S:7IE7V1Y;F%M:6-?7!E9&5F('-TPH@("\J(%=H870@=&AE('5S97(@87-K960@9F]R+B`@*B\*("!05%(@ M9&%T83L*("!B9F1?7!E('-I>F4["B`@+RH@5&AE(&%C='5A;"!W M:6YD;W<@=7-E9"!B>2!"1D0N("!3;6%L;"!U2!S:&%R92!A M('-I;F=L92!W:6YD;W<@:6YT;R!T:&4@;V)J96-T"B`@("`@9FEL92X@(%)E M860M=W)I=&4@=F5R2!T:&4*("`@("!A<'!L:6-A=&EO;CL@9&]N M)W0@=V%N="!T;R!G:79E('1H92!S86UE(')E9VEO;B!B86-K('=H96X@=&AE M"B`@("`@87!P;&EC871I;VX@=V%N=',@='=O('=R:71A8FQE(&-O<&EE'1EF5?='EP92P@8F9D7W=I;F1O=R`J+"!B;V]L96%N*2D["@HO*B!80T]& M1B!S=7!P;W)T(')O=71I;F5S(&9O6UB;VP*("!005)!35,@*"AB M9F0@*BP@6UB;VP*("!005)!35,@*"AB9F0@*BP@'1E&-O9F9?6YA;6EC7W-E8W1I;VYS M"B`@4$%204U3("@H8F9D("HL('-T&5N=#L*(V5N9&EF M"@IE>'1E'1E'1E(#!X.#`I("T@,'@X,"D*"B-D M969I;F4@8F9D7W!U=%\Q-BAA8F9D+"!V86PL('!T#,R+"`H<'1R*2D*(V1E9FEN92!B9F1?9V5T7W-I9VYE9%\S M,BAA8F9D+"!P='(I(%P*("`@("`@("`@("`@("`@($)&1%]314Y$*&%B9F0L M(&)F9%]G971X7W-I9VYE9%\S,BP@*'!T%]S:6=N961?-C0L("AP='(I*0H* M"B`O*B!">71E('-W87!P:6YG(&UA8W)O#,R M+"AP='(I*0HC9&5F:6YE(&)F9%]H7V=E=%]S:6=N961?,S(H86)F9"P@<'1R M*2!<"B`@("`@("`@("`@("`@("!"1D1?4T5.1"AA8F9D+"!B9F1?:%]G971X M7W-I9VYE9%\S,BP@*'!T#8T+"AV86PL('!T6YT:&5S:7IE M9"!F2X@*B\*(V1E9FEN92!3 M14-?0T]$12`@("`@("`P>#`R,`H*("`@("`@("`@+RH@5&AE('-E8W1I;VX@ M8V]N=&%I;G,@9&%T82!O;FQY+B`J+PHC9&5F:6YE(%-%0U]$051!("`@("`@ M(#!X,#0P"@H@("`@("`@("`O*B!4:&4@7!E(&ES('5S960@ M8GD@=&AE(&QI;FME6UB;VP*("`@("`@("`@("!W:&EC M:"!S:&]U;&0@8F4@=7-E9"!I;B!A(&-O;G-T#$Q,#`*(V1E9FEN92!314-?0T].4U1254-43U)?1$%402`P>#(Q,#`* M(V1E9FEN92!314-?0T].4U1254-43U)?0E-3("`P>#,Q,#`*"B`@("`@("`@ M("\J(%1H92!S96-T:6]N(&AA2!S96-T:6]N+B`@5&AI2!F;W(@=&AE(&QI;FMEF4N("!&25A-13H@ M06QT:&]U9V@@=&AI2!I#@P,`H*("`@("`@("`@+RH@ M5&AE('-E8W1I;VX@8V]N=&%I;G,@8V]M;6]N('-Y;6)O;',@*'-Y;6)O;',@ M;6%Y(&)E(&1E9FEN960*("`@("`@("`@("!M=6QT:7!L92!T:6UE#$P,#`P"@H@("`@("`@("`O*B!4:&4@8V]N M=&5N=',@;V8@=&AI2!P;VEN M=&5D('1O"B`@("`@("`@("`@8GD@=&AE(&-O;G1E;G1S(&9I96QD+B`@5&AI M&5C=71A8FQE(&%N9"!S:&%R960@;V)J96-T M#@P,#`P"@H@("`@("`@("\J(%=H96X@;&EN:VEN9RP@9'5P;&EC871E M('-E8W1I;VYS(&]F('1H92!S86UE(&YA;64@2!D;VYE M+B`@5&AI#$P,#`P,`H*("`@ M("`@("`O*B!)9B!314-?3$E.2U]/3D-%(&ES('-E="P@=&AI2!D=7!L:6-A=&4@ MF4N("`J+PHC9&5F:6YE(%-% M0U],24Y+7T154$Q)0T%415-?4T%-15]325I%(#!X-#`P,#`P"@H@("`@("`@ M("\J(%1H:7,@=F%L=64@9F]R(%-%0U],24Y+7T154$Q)0T%415,@;65A;G,@ M=&AA="!T:&4@;&EN:V5R"B`@("`@("`@("!S:&]U;&0@=V%R;B!I9B!A;GD@ M9'5P;&EC871E('-E8W1I;VYS(&-O;G1A:6X@9&EF9F5R96YT"B`@("`@("`@ M("!C;VYT96YT2!T:&4@;&EN:V5R(&%S('!A#$P,#`P,#`*"B`@("`@("`@+RH@($5N9"!O9B!S96-T M:6]N(&9L86=S+B`@*B\*"B`@("`@("`@+RH@4V]M92!I;G1E2!S;VUE M(&]F('1H92!L:6YK97(@8F%C:V5N9',N("`J+PH@("`@("`@=6YS:6=N960@ M:6YT(&QI;FME2!S;VUE(&QI;FME2!B9F0[(&EF(&ET)W,@;F]T('-E="P@=&AE M"B`@("`@("`@("`@8F%C:V5N9"!C86X@87-S:6=N(&%D9')E71EF5?='EP92!?8V]O:V5D M7W-I>F4["@H@("`@("`@("`O*B!4:&4@;W)I9VEN86P@71EF5? M='EP92!?F4["@H@("`@("`@("`O*B!)9B!T:&ES('-E8W1I;VX@ M:7,@9V]I;F<@=&\@8F4@;W5T<'5T+"!T:&5N('1H:7,@=F%L=64@:7,@=&AE M"B`@("`@("`@("`@;V9F71E(&EN"B`@("`@("`@("`@=&AE(&]U='!U="!S96-T:6]N+"!T M:&ES('9A;'5E('=O=6QD(&)E(#$P,"X@*B\*"B`@(&)F9%]V;6$@;W5T<'5T M7V]F9G-E=#L*"B`@("`@("`@("\J(%1H92!O=71P=70@,R`H;W(@."DN M("HO"@H@("!U;G-I9VYE9"!I;G0@86QI9VYM96YT7W!O=V5R.PH*("`@("`@ M("`@+RH@268@86X@:6YP=70@#L*"B`@(%!44B!U2`J'1E6UB;VP["F5X=&5R;B!C;VYS="!S=')U8W0@7=A M>2!005)!35,@*"AB9F0@*F%B9F0L($-/3E-4(&-H87(@*FYA;64I*3L*"F%S M96-T:6]N("H*8F9D7VUA:V5?F5?='EP92!V86PI*3L* M"F)O;VQE86X@"F)F9%]S971?PH@(&)F M9%]A'@@*B\*(V1E9FEN92!B9F1?;6%C:%]M-C@P,#`@,0HC9&5F:6YE M(&)F9%]M86-H7VTV.#`P."`R"B-D969I;F4@8F9D7VUA8VA?;38X,#$P(#,* M(V1E9FEN92!B9F1?;6%C:%]M-C@P,C`@-`HC9&5F:6YE(&)F9%]M86-H7VTV M.#`S,"`U"B-D969I;F4@8F9D7VUA8VA?;38X,#0P(#8*(V1E9FEN92!B9F1? M;6%C:%]M-C@P-C`@-PHC9&5F:6YE(&)F9%]M86-H7V-P=3,R("`X"B`@8F9D M7V%R8VA?=F%X+"`@("`@("`@+RH@1$5#(%9A>"`J+R`@(`H@(&)F9%]A&-E<'1I;VX@:7,@=&AE(")C82(L('=H:6-H(&ES M"B`@("`@("!I;F-O;7!A=&EB;&4@=VET:"!A;&P@;W1H97(@;6%C:&EN97,@ M97AC97!T(`H@("`@("`@(F-O"`@("`@("`@.`H*("!B9F1?87)C:%]A,CEK M+"`@("`@("`O*B!!340@,CDP,#`@*B\*("!B9F1?87)C:%]S<&%R8RP@("`@ M("`O*B!34$%20R`J+PHC9&5F:6YE(&)F9%]M86-H7W-P87)C("`@("`@("`@ M("`@("`@("`Q"B`O*B!4:&4@9&EF9F5R96YC92!B971W965N('8X<&QU'AX("HO M"B-D969I;F4@8F9D7VUA8VA?;6EP'@@*B\*("!B9F1?87)C:%]T M86AO92P@("`@("`O*B!#0TDO2&%R"`J+PH@(&)F9%]A2`J+PH@(&)F9%]A2`J+PH@(&)F9%]APH@(&EN M="!B:71S7W!E2!S<&5C:6%L(&9U;F-T:6]N M6UB;VP@=&\@2!W:&5N(&QI;FMI;F<@:3DV,"!C;V9F(&9I;&5S('=I M=&@@:3DV,"!B+F]U=`H@("`@("`@("`@7!E9&5F('-T0I[ M"B`@("`@("`@+RH@02!P;VEN=&5R(&EN=&\@=&AE(&-A;F]N:6-A;"!T86)L M92!O9B!P;VEN=&5R7!E(&9I96QD(&AA2!U'1E2X@5&AI7!E(&]F M(')E;&]C871I;VXL('5S92!B9F1?9V5T7W)E;&]C7W-I>F4N("`J+PH@(&EN M="!S:7IE.PH*("`@("`@("`O*B`@5&AE(&YU;6)E0H@("`@("`@("`@7!E("@J2`J'1E;F1E9"!R96QO8W,L('1H92!V86QU92!I;B!T:&4@;V9F M#`P,#`P,#`P+B`J+PH@(&)F9%]V M;6$@#`P,#`P,&9F+"!A;F0@R!<"B`@("`@(')E;&]C871I;VX@/2`P.R`@("`@("`@("`@("`@ M("`@("`@("`@("`@7`H@("`@?2`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@(%P*("`@(&5LR`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("!<"B`@("`@(')E;&]C871I;VX@/2!S>6UB M;VPM/G9A;'5E.R`@("`@("`@("`@("`@7`H@("`@?2`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@(%P*("!]("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!<"GT*=6YS:6=N960@ M:6YT(`IB9F1?9V5T7W)E;&]C7W-I>F4@(%!!4D%-4R`H*')E;&]C7VAO=W1O M7W1Y<&4@*BDI.PH*='EP961E9B!S=')U8W0@'0[ M"GT@87)E;&5N=%]C:&%I;CL*8F9D7W)E;&]C7W-T871U7!E"@IB9F1? M8VAE8VM?;W9EF4L"B`@("!U;G-I9VYE M9"!I;G0@7!E"@IB9F1?<&5R9F]R;5]R96QO8V%T:6]N M"B!005)!35,@*"AB9F0@*F%B9F0L"B`@("!A2P*("`@(%!44B!D871A+`H@("`@87-E8W1I;VX@*FEN<'5T7W-E8W1I;VXL M"B`@("!B9F0@*F]U='!U=%]B9F0L"B`@("!C:&%R("HJ97)R;W)?;65S7!E"@IB9F1?:6YS=&%L;%]R96QO M8V%T:6]N"B!005)!35,@*"AB9F0@*F%B9F0L"B`@("!A2P*("`@(%!44B!D871A+"!B9F1?=FUA(&1A=&%?PH@(%]D=6UM M>5]F:7)S=%]B9F1?71E(&1I2!R969E7!E7!E7!E6UB M;VP@;W(*(F%D9&5N9"(@:6X@2X*1F]R($=01$E3 M4%](23$V("@B9W!D:7-P(BD@6UB;VP@:7,@ M:6=N;W)E9"!W:&5N"G=R:71I;F<[('=H96X@6UB;VPN("!4:&4*861D96YD(&ES M('1H92!D:7-P;&%C96UE;G0@:6X@8GET97,@;V8@=&AE(")L9&$B(&EN6UB;VP@:7,@:&%N9&QE9"!A2!T:&4@&-E M<'0@=&AA="!T:&5R92!I6UB;VP@6UB;VPN("!4:&4@861D96YD(&ES(&EG;F]R960@=VAE;B!W6UB;VP@ M:7,@:6=N;W)E9"`H6UB M;VPI+"!A;F0@=&AE(")A9&1E;F0B(&EN9&EC871E2!D;V5S;B=T(&1O(&%N>2!O9B!T:&ES(&]P=&EM:7II;F7!E(&]F(')E;&]C('5S960@=&\@8G5I;&0@ M82!C;VYT2!A M(#,R(&)I="!W:61E(&%B2!D;V5S(&UA<"!T;R!O;F4@ M;V8@=&AE(&]T:&5R(')E;&]C871I;VX@='EP97,N("HO"B`@0D9$7U)%3$]# M7T-43U(L"@HO*B!!4DT@,C8@8FET('!C+7)E;&%T:79E(&)R86YC:"X@(%1H M92!L;W=EF5R;R!A;F0@:7,@;F]T('-T;W)E9"!I;B!T:&4@:6YS=')U8W1I;VXN("HO M"B`@0D9$7U)%3$]#7U1(54U"7U!#4D5,7T)204Y#2#DL"B`@0D9$7U)%3$]# M7U1(54U"7U!#4D5,7T)204Y#2#$R+`H@($)&1%]214Q/0U]42%5-0E]00U)% M3%]"4D%.0T@R,RP*"B\J($%R9V]N875T(%))4T,@0V]R92`H05)#*2!R96QO M8W,N"D%20R`R,B!B:70@<&,M2!D M871A(&%R96$@<&]I;G1E2!D871A(&%R96$@<&]I;G1E2!T=V\@8GET97,@:6X@ M=&AE"FEN71EF5R;RUS<&%C92!R96QO8V%T:6]N('5S960@=&\@ M9&5S8W)I8F4@=&\@=&AE"FQI;FME6UB;VP@6UB;VP@ M7!E9&5F M(&5N=6T@8F9D7W)E;&]C7V-O9&5?6UB;VPN(%1H:7,@:6YF;W)M871I;VX*("`@("`@("`@(&ES(&YE8V5S2!S;R!T:&%T(&$@8F%C:R!E;F0@8V%N('=O6UB;VPN"@H@("`@("`@("`@5&AI&-E<'0@=&AA="!S;VUE('-Y;6)O;',@ M<&]I;G0@=&\@=&AE(&=L;V)A;"!S96-T:6]N'0@;V8@ M=&AE('-Y;6)O;"X@5&AE(&YA;64@:7,@;&5F="!A;&]N92P@86YD(&YO="!C M;W!I960[('1H90H@("`@("`@("`@87!P;&EC871I;VX@;6%Y(&YO="!A;'1E M6UV86QU92!V86QU93L*"B`@("`@("`@+RH@071T#`R"@H@("`@("`@("\J(%1H92!S>6UB;VP@:&%S(&=L;V)A;"!S8V]P M92!A;F0@:7,@97AP;W)T960N(%1H92!V86QU92!I0H@ M("`@("`@("`@;65A;FEN9RX@*B\*(V1E9FEN92!"4T9?1$5"54='24Y'("`P M>#`X"@H@("`@("`@("\J(%1H92!S>6UB;VP@9&5N;W1E0H@("`@("`@("`@82!R96=U M;&%R(&=L;V)A;"!S>6UB;VP@;V8@=&AE('-A;64@;F%M92X@("HO"B-D969I M;F4@0E-&7U=%04L@("`@("`@(#!X.#`*"B`@("`@("`@+RH@5&AI6UB M;VP@=V%S(&-R96%T960@=&\@<&]I;G0@=&\@82!S96-T:6]N+"!E+F6UB;VQS+B`@*B\*(V1E9FEN M92!"4T9?4T5#5$E/3E]364T@,'@Q,#`*"B`@("`@("`@+RH@5&AE('-Y;6)O M;"!U#(P,`H*("`@("`@("`O*B!4:&4@9&5F875L="!V86QU92!F;W(@8V]M M;6]N(&1A=&$N("HO"B-D969I;F4@0D9$7T9/4E1?0T]-35]$149!54Q47U9! M3%5%(#`*"B`@("`@("`@+RH@26X@2!T:&4@=&%R9V5T($)&1"!P87)T('1O(&-O;G9E M>2!T:&ES(&EN9F]R;6%T:6]N+B`J+PH*(V1E9FEN92!"4T9?3D]47T%47T5. M1"`@("`P>#0P,`H*("`@("`@("`O*B!3:6=N86P@=&AA="!T:&4@6UB;VP@:7,@82!W87)N:6YG('-Y;6)O;"X@(%1H92!N M86UE(&ES(&$*("`@("`@("`@('=A'0*("`@("`@("`@('-Y;6)O;"P@82!W M87)N:6YG(&ES(&ES2!T:&4@;&EN:V5R+B`J+PHC9&5F:6YE($)3 M1E]705).24Y'("`@("`@(#!X,3`P,`H*("`@("`@("`O*B!3:6=N86P@=&AA M="!T:&4@6UB;VP@:7,@86X@ M:6YD:7)E8W0*("`@("`@("`@('!O:6YT97(@=&\@=&AE('-Y;6)O;"!W:71H M('1H92!S86UE(&YA;64@87,@=&AE(&YE>'0@6UB;VQS('1H870@8V]N=&%I;B!A(&9I;&4@;F%M92X@(%1H M:7,@:7,@=7-E9`H@("`@("`@("`@9F]R($5,1B!35%1?1DE,12!S>6UB;VQS M+B`@*B\*(V1E9FEN92!"4T9?1DE,12`@("`@("`@("`P>#0P,#`*"B`@("`@ M("`@+RH@4WEM8F]L(&ES(&9R;VT@9'EN86UI8R!L:6YK:6YG(&EN9F]R;6%T M:6]N+B`@*B\*(V1E9FEN92!"4T9?1%E.04U)0R`@("`@("`P>#@P,#`*"B`@ M("`@("`@+RH@5&AE('-Y;6)O;"!D96YO=&5S(&$@9&%T82!O8FIE8W0N("!5 M#$P,#`P"@H@ M(&9L86=W;W)D(&9L86=S.PH*("`@("`@("`O*B!!('!O:6YT97(@=&\@=&AE M('-E8W1I;VX@=&\@=VAI8V@@=&AI6UB;VP@:7,*("`@("`@("`@(')E M;&%T:79E+B`@5&AI6UB;VP["B-D969I;F4@8F9D7V=E=%]S>6UT86)? M=7!P97)?8F]U;F0H86)F9"D@7`H@("`@($)&1%]314Y$("AA8F9D+"!?8F9D M7V=E=%]S>6UT86)?=7!P97)?8F]U;F0L("AA8F9D*2D*8F]O;&5A;B`*8F9D M7VES7VQO8V%L7VQA8F5L(%!!4D%-4R`H*&)F9"`J86)F9"P@87-Y;6)O;"`J M6UT86(L7`H@("`@("`@("`@("`@("`@("`H86)F9"P@;&]C M871I;VXI*0IB;V]L96%N(`IB9F1?5]S>6UB;VPL("AA8F9D*2D*(V1E9FEN92!B9F1?;6%K M95]D96)U9U]S>6UB;VPH86)F9"QP='(L6UB;VP@*G-Y;6)O;"DI.PH*=F]I9"`*8F9D7W-Y;6)O;%]I;F9O(%!!4D%- M4R`H*&%S>6UB;VP@*G-Y;6)O;"P@6UB;VQ?9&%T82!005)!35,@*"AB M9F0@*FEB9F0L(&%S>6UB;VP@*FES>6TL(&)F9"`J;V)F9"P@87-Y;6)O;"`J M;W-Y;2DI.PH*(V1E9FEN92!B9F1?8V]P>5]P6UB;VPL(&]B9F0L(&]S>6UB;VPI(%P*("`@("!"1D1?4T5. M1"`H;V)F9"P@7V)F9%]C;W!Y7W!R:79A=&5?6UB;VPL(&]B9F0L(&]S>6UB;VPI*0IS M=')U8W0@7V)F9"`*>PH@("`@("\J(%1H92!F:6QE;F%M92!T:&4@87!P;&EC M871I;VX@;W!E;F5D('1H92!"1D0@=VET:"X@("HO"B`@("!#3TY35"!C:&%R M("IF:6QE;F%M93L@("`@("`@("`@("`@("`@"@H@("`@("\J($$@<&]I;G1E M'9E8SL*"B`@("`@+RH@5&\@ M879O:60@9')A9V=I;F<@=&]O(&UA;GD@:&5A9&5R(&9I;&5S(&EN=&\@979E M2!S=')U8W0N("`J+PH@("`@4%12(&EO M71H:6YG+B!)(&)E;&EE=F4@=&AA M="!T:&ES(&-A;B!B96-O;64@86QW87ES(&%N(&%D9"!O9@H@("`@("`@;W)I M9VEN+"!W:71H(&]R:6=I;B!S970@=&\@,"!F;W(@;F]N(&%R8VAI=F4@9FEL M97,N("`@*B\*"B`@("!F:6QE7W!T6UB;VP@=&%B;&4@9F]R M(&]U='!U="!"1D0@*'=I=&@@7-?9&%T82`J;V%S M>7-?;V)J7V1A=&$["B`@("`@('-T7-?87)?9&%T82`J;V%S M>7-?87)?9&%T83L*("`@("`@%]C;W)E7W-T%]C;W)E7V1A=&$["B`@("`@('-T2!T:&4@87!P;&EC871I;VX@=&\@:&]L9"!P5]R96-O9VYI>F5D+`H@(&)F9%]E7!E.PH*8F9D7V5R7!E(&5R7!E(&5RF5?F4@4$%204U3("@H8F9D("IA8F9D*2D["@IV M;VED(`IB9F1?F4@4$%204U3("@H8F9D("IA8F9D+"!I;G0@ M:2DI.PH*8F9D7W9M82`*8F9D7W-C86Y?=FUA(%!!4D%-4R`H*$-/3E-4(&-H M87(@*G-T5]PF5O9E]H96%D97)S+"`H86)F M9"P@6US+"!O9F8L(&9I;&4L(&9U;F,L(&QI;F4I(%P*("`@("!" M1D1?4T5.1"`H86)F9"P@7V)F9%]F:6YD7VYE87)E71H:6YG('5S969U;"!A="!A;&PL M(&9O%]S96-T:6]N*&%B9F0L('-E M8W1I;VXL(&QI;FM?:6YF;RP@86=A:6XI(%P*("`@("`@($)&1%]314Y$("AA M8F9D+"!?8F9D7W)E;&%X7W-E8W1I;VXL("AA8F9D+"!S96-T:6]N+"!L:6YK M7VEN9F\L(&%G86EN*2D*"B-D969I;F4@8F9D7V=C7W-E8W1I;VYS*&%B9F0L M(&QI;FM?:6YF;RD@7`H@("`@("`@0D9$7U-%3D0@*&%B9F0L(%]B9F1?9V-? M6UB;VQS*&%B9F0L(&EN9F\I(%P*("`@ M("`@($)&1%]314Y$("AA8F9D+"!?8F9D7VQI;FM?861D7W-Y;6)O;',L("AA M8F9D+"!I;F9O*2D*"B-D969I;F4@8F9D7V9I;F%L7VQI;FLH86)F9"P@:6YF M;RD@7`H@("`@("`@0D9$7U-%3D0@*&%B9F0L(%]B9F1?9FEN86Q?;&EN:RP@ M*&%B9F0L(&EN9F\I*0H*(V1E9FEN92!B9F1?9G)E95]C86-H961?:6YF;RAA M8F9D*2!<"B`@("`@("!"1D1?4T5.1"`H86)F9"P@7V)F9%]F6UT M86)?=7!P97)?8F]U;F0H86)F9"D@7`H@("`@("`@0D9$7U-%3D0@*&%B9F0L M(%]B9F1?9V5T7V1Y;F%M:6-?6UB;VQS*2!<"B`@("`@ M("!"1D1?4T5.1"`H86)F9"P@7V)F9%]C86YO;FEC86QI>F5?9'EN86UI8U]S M>6UT86(L("AA8F9D+"!A6US*2!<"B`@("`@("!"1D1?4T5.1"`H86)F M9"P@7V)F9%]C86YO;FEC86QI>F5?9'EN86UI8U]R96QO8RP@*&%B9F0L(&%R M96QS+"!A'1E6UB;VP@*BHI*3L*"G-Y;6EN9&5X(`IB9F1?9V5T M7VYE>'1?;6%P96YT(%!!4D%-4R`H*&)F9"`J86)F9"P@&5C=71A8FQE7W`*(%!!4D%-4R`H*&)F9"`J8V]R95]B9F0L(&)F M9"`J97AE8U]B9F0I*3L*"B-D969I;F4@0D9$7U-%3D0H8F9D+"!M97-S86=E M+"!A'9E8RT^ M;65S'9E8R`F)B`H8F9D*2T^ M>'9E8RT^;65S'9E8R`F)B`H8F9D*2T^>'9E8RT^;65S M7-?9FQA=F]U%]F;&%V;W5R+`H@(&)F9%]T87)G971?%]F;&%V;W5R+`H@(&)F9%]T M87)G971?PH@(&-H87(@*FYA;64["B`@96YU M;2!B9F1?9FQA=F]U71E M;W)D97(["B`@96YU;2!B9F1?96YD:6%N(&AE861E71E;W)D97(["B`@ M9FQA9W=O%]N86UE;&5N.PH@(&)F9%]V;6$@("`@("`H*F)F9%]G971X-C0I(%!! M4D%-4R`H*&-O;G-T(&)F9%]B>71E("HI*3L*("!B9F1?71E("HI*3L*("!B9F1?=FUA("`@("`@*"IB9F1?9V5T M>#,R*2!005)!35,@*"AC;VYS="!B9F1?8GET92`J*2D["B`@8F9D7W-I9VYE M9%]V;6$@*"IB9F1?9V5T>%]S:6=N961?,S(I(%!!4D%-4R`H*&-O;G-T(&)F M9%]B>71E("HI*3L*("!V;VED("`@("`@("`@*"IB9F1?<'5T>#,R*2!005)! M35,@*"AB9F1?=FUA+"!B9F1?8GET92`J*2D["B`@8F9D7W9M82`@("`@("@J M8F9D7V=E='@Q-BD@4$%204U3("@H8V]N%]S:6=N961?-C0I M(%!!4D%-4R`H*&-O;G-T(&)F9%]B>71E("HI*3L*("!V;VED("`@("`@("`@ M*"IB9F1?:%]P=71X-C0I(%!!4D%-4R`H*&)F9%]V;6$L(&)F9%]B>71E("HI M*3L*("!B9F1?=FUA("`@("`@*"IB9F1?:%]G971X,S(I(%!!4D%-4R`H*&-O M;G-T(&)F9%]B>71E("HI*3L*("!B9F1?#,R*2!005)!35,@*"AB9F1?=FUA M+"!B9F1?8GET92`J*2D["B`@8F9D7W9M82`@("`@("@J8F9D7VA?9V5T>#$V M*2!005)!35,@*"AC;VYS="!B9F1?8GET92`J*2D["B`@8F9D7W-I9VYE9%]V M;6$@*"IB9F1?:%]G971X7W-I9VYE9%\Q-BD@4$%204U3("@H8V]N7!E7V5N9%TI M(%!!4D%-4R`H*&)F9"`J*2D["B`@8F]O;&5A;B`@("`@("`@("`@("`H*E]B M9F1?7!E7V5N9%TI(%!!4D%-4R`H*&)F9"`J*2D["@H@("`O*B!'96YE M2!N96-E5]P5]P6UB;VQ? M9&%T82D@4$%204U3("@H8F9D("HL(&%S>6UB;VP@*BP*("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M(&)F9"`J+"!A2!P;VEN=',N("`J+PHC9&5F:6YE($)&1%]*54U07U1!0DQ%7T-/4D4H3D%- M12E<"D-!5"A.04U%+%]C;W)E7V9I;&5?9F%I;&EN9U]C;VUM86YD*2Q<"D-! M5"A.04U%+%]C;W)E7V9I;&5?9F%I;&EN9U]S:6=N86PI+%P*0T%4*$Y!344L M7V-O&5C=71A8FQE7W`I(%!!4D%-4R`H*&)F9"`J+"!B9F0@*BDI.PH*("`@ M+RH@07)C:&EV92!E;G1R>2!P;VEN=',N("`J+PHC9&5F:6YE($)&1%]*54U0 M7U1!0DQ%7T%20TA)5D4H3D%-12E<"D-!5"A.04U%+%]S;'5R<%]A'1E;F1E9%]N M86UE7W1A8FQE*0H@("`@("`@("`@("`@4$%204U3("@H8F9D("HL(&-H87(@ M*BHL(&)F9%]S:7IE7W1Y<&4@*BP@8V]N'1?87)C:&EV961?9FEL92D@4$%204U3 M("@H8F9D("IA"AB+&DI($)&1%]314Y$*&(L(%]B9F1?9V5T7V5L=%]A=%]I M;F1E>"P@*&(L:2DI"B`@8F9D("H@("`@*"I?8F9D7V=E=%]E;'1?871?:6YD M97@I(%!!4D%-4R`H*&)F9"`J+"!S>6UI;F1E>"DI.PH@(&EN="`@("`@("@J M7V)F9%]S=&%T7V%R8VA?96QT*2!005)!35,@*"AB9F0@*BP@6UB;VQS*2Q< M"D-!5"A.04U%+%]M:6YI5]S>6UB;VPI(%!!4D%-4R`H*&)F9"`J*2D["B`@=F]I M9"`@("`@("`@("`H*E]B9F1?<')I;G1?2`J*2D["B`@8F]O;&5A M;B`@("`H*E]B9F1?9FEN9%]N96%R97-T7VQI;F4I(%!!4D%-4R`H*&)F9"`J M86)F9"P*("`@("`@("`@("`@("`@("`@("!S=')U8W0@6UB M;VQS"B`@("!W:&EL92!U2!U6UB;VPI(%!!4D%-4R`H*`H@("`@("`@8F9D("IA8F9D+`H@ M("`@("`@=F]I9"`J<'1R+`H@("`@("`@=6YS:6=N960@;&]N9R!S:7IE*2D[ M"B-D969I;F4@8F9D7W)E861?;6EN:7-Y;6)O;',H8BP@9"P@;2P@6UB M;VP@*B@J7VUI;FES>6UB;VQ?=&]?7!E M7VQO;VMU<"D@4$%204U3("@H8F9D("IA8F9D+`H@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@8F9D7W)E;&]C7V-O9&5?7!E M(&-O9&4I*3L*"B`@("\J(%)O=71I;F5S('5S960@=VAE;B!W7!E*2D["@H@("`O*B!2;W5T:6YE71E M("ID871A+"!B;V]L96%N(')E;&]C871E86)L92P*("`@("`@("`@("`@("`@ M("`@("!S=')U8W0@F5?9'EN M86UI8U]S>6UT86(I+%P*0T%4*$Y!344L7V=E=%]D>6YA;6EC7W)E;&]C7W5P M<&5R7V)O=6YD*2Q<"D-!5"A.04U%+%]C86YO;FEC86QI>F5?9'EN86UI8U]R M96QO8RD*("`@+RH@1V5T('1H92!A;6]U;G0@;V8@;65M;W)Y(')E<75I6YA;6EC('-Y;6)O;',N("`J M+PH@(&QO;F<@("@J7V)F9%]C86YO;FEC86QI>F5?9'EN86UI8U]S>6UT86(I M"B`@("!005)!35,@*"AB9F0@*BP@2`J*BDI.PH@("`O*B!'970@=&AE(&%M;W5N="!O9B!M96UOF5?9'EN86UI8U]R96QO8RD* M("`@(%!!4D%-4R`H*&)F9"`J+"!A2!O9@I-15)#2$%.5$%"24Q)5%D@;W(@1DE43D534R!&3U(@02!0 M05)424-53$%2(%!54E!/4T4N("!3964@=&AE"D=.52!'96YE7-D97`N:"(*(VEN8VQU9&4@(FQI8F)F M9"YH(@H*"F-O;G-T(&)F9%]A"D@,0HC9&5F:6YE($)95$537TE.7U=/4D0@-`HC9&5F:6YE($5. M5%)97T-!3E]"15]:15)/"B-D969I;F4@3E]32$%2141?3$E"*'@I(#`*(V1E M9FEN92!415A47U-405)47T%$1%(@,`HC9&5F:6YE(%1!4D=%5%]004=%7U-) M6D4@-#`Y-@HC9&5F:6YE(%-%1TU%3E1?4TE:12!405)'151?4$%'15]325I% M"B-D969I;F4@1$5&055,5%]!4D-((&)F9%]A7-D97`N:"(*(VEN8VQU9&4@(FQI8F)F9"YH(@HC:6YC;'5D92`B86]U M="]A;W5T-C0N:"(*(VEN8VQU9&4@(F%O=70O7,@9V5N97)A=&4@44U!1TE#(&9I;&5S(&EN('!R969EPH@(&]B:E]A;W5T M7W-U8F9O7!E(&-O2X@("HO"@IS=&%T:6,@8F]O;&5A;@IIPH@('-T'1E&5C(&5X96-?8GET97,["B`@&5C<"D["@H@(')E='5R;B!T2!O9@H@("!-15)# M2$%.5$%"24Q)5%D@;W(@1DE43D534R!&3U(@02!005)424-53$%2(%!54E!/ M4T4N("!3964@=&AE"B`@($=.52!'96YER)I;2(L(#-]+`H@('LB96TB+"`T?2P*("![(G-T(BP@-7TL"B`@ M>R)R82(L(#9]+`H@('LBR)R9"(L M(#E]+`H*("![3E5,3"P@+3%]+`I].PHC9&5F:6YE($Y/7U)%1TE35$52("`@ M,`HC9&5F:6YE(%)%1U].04U%7U-)6D4@,@H*='EP961E9B!E;G5M('L@:6YT M97)N86PL(&1I&-E<'0@:6YS:61E"B`@(&%N;W1H M97(@8V]M;65N="`J+PIC;VYS="!C:&%R(&-O;6UE;G1?8VAA'`@:6X@9FQO871I;F<@<&]I;G0@;G5M M'`@8VAA7!E4R!M M9%]PR)S M=')I;F6UB;VP]*'-Y;6)O;%,@*BE.54Q,.PDO*B!0 MF4L('-I>F5S("ID97-T4VEZ92P@8VAA"DI.PIS=&%T:6,@:6YT("`@ M9V5T4F5G("`@("`@(%!!4D%-4R`H*&-H87(@*G!;72DI.PIS=&%T:6,@8VAA MPH@ M("`@("!I;G!U=%]L:6YE7W!O:6YT97(@*ST@-3L*("`@("`@PH@('M.54Q,+"!N;U]AF4@/2!S M:7IE;V8H;61?;&]N9V]P=',I.PH*:6YT"FUD7W!APH@(')E='5R;B`P M.PI]"@IV;VED"FUD7W-H;W=?=7-A9V4@*'-T5]F:7@@*&9I>%`L('9A;'5E*0H@("`@(&9I>%,@*F9I M>%`["B`@("`@=F%L=654("IV86QU93L*>PH@(&-H87(@*F)U9B`](&9I>%`M M/F9X7W=H97)E("L@9FEX4"T^9GA?9G)A9RT^9G)?;&ET97)A;#L*("!O9F9S M9714('9A;#L*"B`@=F%L(#T@*G9A;'5E.PH@(&%S7!E(#P@0D9$7U)%3$]#7U5.55-%1"D["B`@9FEX4"T^9GA?861D;G5M M8F5R(#T@=F%L.PDO*B!296UE;6)E%`M/F9X7W)?='EP92D*("`@('L*("`@(&-A7!E.B`P>"4P,G@B+"!F M:7A0+3YF>%]R7W1Y<&4I.PH@("`@("!B%QN(BP@:6YS;BT^;W!C;V1E*3L*("!F<')I;G1F("AS=&1E6UB;VP@/2`E'`N6%]A9&1?'`N6%]O<%]S>6UB;VP@ M(3T@3E5,3"D*"2`@("`_("A37T=%5%].04U%("AI;G-N+3YE>'`N6%]O<%]S M>6UB;VPI"@D@("`@("`@/R!37T=%5%].04U%("AI;G-N+3YE>'`N6%]O<%]S M>6UB;VPI"@D@("`@("`@.B`B/S\_(BD*"2`@("`Z("(P(BDI.PH@(&9P2!B965N(&AA;F1L960*("`@8GD@=&AE(&=E;F5R:6,@9G)O M;G0@96YD+B`@5V4@:G5S="!P87)S92!O<&-O9&4@86YD(&]P97)A;F1S+"!A M;F0*("`@<')O9'5C92!T:&4@8GET97,@;V8@9&%T82!A;F0@71E(&]P8V]D92`M(&YO('!APH@("`@ M("!D96UA;F1?96UP='E?F4@=&\@ M=&AE(&%P<')O<')I871E(&)O=6YD87)Y+B`@*B\*=F%L=654"FUD7W-E8W1I M;VY?86QI9VX@*'-E9VUE;G0L('-I>F4I"B`@("`@F4["0D)+RH@0GET92!A M;&EG;FUE;G0@:7,@9FEN92`J+PI]"@H*+RH@17AA8W1L>2!W:&%T('!O:6YT M(&ES(&$@4$,M%,@*F9I>%`["GL*("!A%]F'`M/F9X7W-I M>F4L(&9I>'`M/F9X7W!C'`M/F9X7W!C&UA;&QO8R`H6U?<'1R7W!T M%]A9&1S>2T^8G-Y;3L*("!R96PM/F%D9')E%]F'`M/F9X7W!C%]A9&1N=6UB97(["B`@96QS90H@("`@7!E7VQO;VMU<"`H'`I"B`@("`@87-E8W1I;VX@*G-E8W1I;VX["B`@("`@9FEX4R`J M9FEX<#L*>PH@(&%R96QE;G0@*G)E;&]C.PH@(&)F9%]R96QO8U]C;V1E7W)E M86Q?='EP92!C;V1E.PH*(V1E9FEN92!&*%-:+%!#4D5,*0D)*"@H4UHI(#P\ M(#$I("L@*%!#4D5,*2D*("!S=VET8V@@*$8@*&9I>'`M/F9X7W-I>F4L(&9I M>'`M/F9X7W!C5]S:7IE7W0@*'-T9&]U='!U="P@ M%]F'`M/F9X7W!C'`M/F9X7V%D9&YU;6)E6UB;VQ3("H*;61?=6YD969I;F5D7W-Y;6)O;"`H;F%M92D*("`@("!C:&%R M("IN86UE.PI["B`@PH)("!I9BAS>6UB;VQ?9FEN9"AN86UE*2D@"@D@ M("`@87-?8F%D*")'3U0@86QR96%D>2!I;B!S>6UB;VP@=&%B;&4B*3L*"2`@ M1T]47W-Y;6)O;"`]('-Y;6)O;%]N97<@*&YA;64L('5N9&5F:6YE9%]S96-T M:6]N+"`*"0D)"2`@("AV86QU950I(#`L("9Z97)O7V%D9')EF5S*'-I>F53 M='(L("9T:&5?:6YS;BYS;W5R8V53:7IE+"`F=&AE7VENF4L M(")L;V%D(BD["B`@<&%RF53='(I"F-H87(@*F]P M97)A;F13=&%R=#L*8VAAPH@(&-O;&QE8W13:7IE"D*8VAA'!R97-S:6]N M4R!T:&5?;W!E'!R97-S:6]N4R`J;W!EPH@("`@+RH@ M9F]U;F0@:6UM961I871E(&UO9&4@*B\*("`@('1H95]I;G-N+FUO9&4@/2!I M;6UE9&EA=&4["B`@("!I9B`H:6YS;DEN9&5X(#T]($Q/041?24Y$15@I('L* M("`@("`@;W!EPH@("`@ M("!A'!E8W1I;F<@*2!A M="!T:&4@96YD(&]F(&EN9&ER96-T(&UO9&4@;W!E&5D.PH@("`@("!T:&5?:6YS;BYR96<@(#T@9V5T4F5G*"9O<&5R86YD4W1A MPH)87-? M8F%D*")E>'!E8W1I;F<@*2!A="!T:&4@96YD(&]F(&EN9&5X960@;6]D92!O M<&5R86YD(BD["B`@("`@('T*("`@('T@96QS92!["B`@("`@('1H95]I;G-N M+FUO9&4@/2!D:7)E8W0["B`@("!]"B`@?0I]"@H*PH@('=H:6QE("AIPH@("`@PH@(&-H87(@*G-A=F4@/2!I;G!U=%]L M:6YE7W!O:6YT97(["B`@8VAA'`@/2`J;W!E M"D*:6YT(&EN#L*>PH@ M('-W:71C:"`H=&AE7VENPH*("!C87-E(&EN=&5R;F%L.@H@ M("`@96YC;V1E26YS;BAIF4L('1H95]I;G-N+F1E71E M+"!T:&5?:6YS;BYR96'`N6%]A9&1?;G5M M8F5R(#P@,'@X,"D@)B8@*'1H95]I;G-N+F5X<"Y87V%D9%]N=6UB97(@/CT@ M+3!X.#`I*2!["@EE;F-O9&5);G-N*&ES,S)?;W!C;V1EF4L(&)Y=&4L('1H95]I;G-N+G)E9RP@=&AE7VEN71E*3L*("`@ M("`@?2!E;'-E(&EF("@H=&AE7VEN%TN;W!C M;V1E+"!T:&5?:6YS;BYS;W5R8V53:7IE+"!T:&5?:6YS;BYD97-T4VEZ92P@ M=V]R9"P@=&AE7VENPH)96YC;V1E26YS;BAIF4L('1H95]I;G-N+F1EF4L(&1W;W)D+"!T:&5?:6YS;BYR96'`H-"D["B`@("!]"B`@("!B'`@ M*&9R86=?;F]W+`H)"2`H:6YT*2`H=&]0("T@9G)A9U]N;W'!R97-S:6]N4R`J M*2`F=&AE7VEN%]N97=?97AP("AFF4@*B\*"0D@*&5X<')E'`L M"@D)($9!3%-%+`H)"2!"1D1?4D5,3T-?."D["B`@9&5F875L=#H*("`@(&%S M7V9A=&%L*")I;F-OF5S('-I>F4["GL*("!C:&%R M("IT:&ES9G)A9SL*"B`@71E.@H@ M("`@=&AIF4@=F%L=64B*3L*("!]"GT*"@IS=&%T:6,@=F]I9`IE;F-O M9&5);G-N("AO<&-O9&4L('-O=7)C95-I>F4L(&1EF5S('-O=7)C95-I>F4["G-I M>F5S(&1EF4@/#P@-"D@?"!R96'0@8GET92`J+PH@(&UD7VYU;6)EF53 M='(L('-O=7)C95-I>F4L(&1EF53='(["G-I>F5S("IS;W5R8V53:7IE.PIS:7IEF4["F-H M87(@*F5RPH@(&EF("AS=')N8VUP*'-I>F53='(L("(N8B(L M(#(I(#T](#`I('L*("`@("IS;W5R8V53:7IE(#T@8GET93L*("!](&5LPH@("`@*G-O M=7)C95-I>F4@/2!W;W)D.PH@('T@96QS92!I9B`HF4@;VX@ M)R5S)R(L(&5RF53='(@ M*ST@,CL*("!I9B`HF4@/2!B>71E.PH@('T@96QS92!I9B`HF4@/2!W;W)D M.PH@('T@96QS92!I9B`HF4@/2!D=V]R9#L*("!](&5LPH@("`@87-? M8F%D*")I;G9A;&ED(&1EF4@;VX@)R5S)R(L(&5R71EPH@(&%S7V9A=&%L("@B;61? M;G5M8F5R7W1O7V9I96QD(&YO="!D969I;F5D(BD["B`@;61?;G5M8F5R7W1O M7V-H87)S("AB=68L('9A;"P@;F)Y=&5S*3L*?0H*+RH@5'5R;B!A('-T71E7!E+"!L:710+"!S:7IE4"D*("`@("!C:&%R('1Y M<&4["B`@("`@8VAAF50.PI["B`@87-? M9F%T86P@*")M9%]A=&]F(&YO="!N965D960@:6X@=&AE(&ES,S(B*3L*("!R M971U2!N965D('1O(&5N8V]D92!M9%]C6UB;VPI"B`@("`@8VAA6UB;VQ3("IT;U]S>6UB;VP["GL*("!A&,P M.PH@('!T#`P.PH@(&9I>%]N97<@*&9R86F5?8F5F;W)E7W)E;&%X("AF7!E M*0H@("`@(&9R86=3("IFPH@(&%S7V9A=&%L("@B4F5L87AA=&EO;B!S:&]U;&0@;F5V97(@;V-C=7(B M*3L*("!R971U2!A(&UO6=N=7,@4W5P M<&]R="P@,3,@2G5L>2`Q.3DS+B`@*B\*"B\J($=I=F5N(&$@9FEX4R!S=')U M8W1U%]N977!E('1O('5S92!F;W(@ M:70N("`J+PH*'`I"B`@("`@ M9FEX4R`J9FEX<#L*>PH@('-W:71C:"`H9FEX<"T^9GA?7!E*0H@("`@ M>PH@("`@8V%S92!214Q/0U],3S$V.@H@("`@("!R971U2!I;B!T:&4@;V)J96-T"B`@(&9I;&4@:71S96QF M+B`@*B\*"G9O:60*;61?87!P;'E?9FEX("AF:7AP+"!V86PI"B`@("`@9FEX M4R`J9FEX<#L*("`@("!L;VYG('9A;#L*>PH@(&-H87(@*F)U9CL*"B`@8G5F M(#T@9FEX<"T^9GA?9G)A9RT^9G)?;&ET97)A;"`K(&9I>'`M/F9X7W=H97)E M.PH@(&9I>'`M/F9X7V]F9G-E="`](#`["@H@('-W:71C:"`H9FEX<"T^9GA? M7!E*0H@("`@>PH@("`@8V%S92!214Q/0U])5S$V.@H@("`@("!F:7AP M+3YF>%]O9F9S970@/2!V86P@/CX@,38["B`@("`@(&)U9ELR72`]('9A;"`^ M/B`X.PH@("`@("!B=69;,UT@/2!V86P["B`@("`@(&)R96%K.PH*("`@(&-A M'`M/F9X7V]F9G-E="`]('9A;"`^/B`Q-CL*("`@("`@8G5F6S!=(#T@ M=F%L(#X^(#@["B`@("`@(&)U9ELQ72`]('9A;#L*("`@("`@8G)E86L["@H@ M("`@8V%S92!214Q/0U]00S$V.@H@("`@("!B=69;,%T@/2!V86P@/CX@,3`[ M"B`@("`@(&)U9ELQ72`]('9A;"`^/B`R.PH@("`@("!B%,@*F9I>'`["GL*("!S=VET8V@@*&9I>'`M M/F9X7W)?='EP92D*("`@('L*("`@(&-A'`M/F9X7V9R86%]W M:&5R92`M(#(["B`@("!C87-E(%)%3$]#7U!#,C8Z"B`@("`@(')E='5R;B!F M:7AP+3YF>%]F"(*```````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M`````````````````````&EN8VQU9&4O;W!C;V1E+VES,S(N:``````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````Q,#`V-#0@`"`@(#$T-"``("`@ M,30T(``@("`@("`@-C`V,2`@-C8T-#7)I9VAT("A#*2`Q M.3@Y+"`Q.3DR($9R964@4V]F='=A6]U(&-A;B!R961I0H@("!I="!U;F1E0H@("!T M:&4@1G)E92!3;V9T=V%R92!&;W5N9&%T:6]N.R!E:71H97(@=F5R6]U2!L871EPH@("\J"2`@($]P8V]D90D@("!-;F5M;VYI8R`J+PH* M("`@("`@("`@("`Q,C@L("`@("`@("`@("`@(FQO860B+`H@("`@("`@("`@ M(#$Y,BP@("`@("`@("`@("`B2(L"B`@ M("`@("`@("`@,SF5O9B!I"(*5$%21T54 M7U!!1T5?4TE:13TP>#(P"E1%6%1?4U1!4E1?041$4CTP>#$P,#`*3D].4$%' M141?5$585%]35$%25%]!1$12/3!X,3`P,`I!4D-(/6ES,S(*```````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M````````;W!C;V1E6]U(&-A;B!R961I0II="!U M;F1E0IT:&4@1G)E92!3;V9T=V%R92!&;W5N9&%T M:6]N.R!E:71H97(@=F5R6]U2!L871EF5S(',I*3L*2`@4$%204U3*"AD M:7-A&EM=6T@;&5N9W1H M(&]F(&%N(&EN&-L=7-I=F4I M(&%R92!V86QI9"X@(%)E='5R;G,@,2!F;W(@71E("IA9&1R.PI["B`@:68@*&%D9'(@/B`H*'-TPH@("`@:6YT('-T871U%]F971C:&5D(#T@861DF4@*&EN9F\L(',I"B`@ M("`@9&ES87-S96UB;&5?:6YF;R`J:6YF;SL*("`@("!S:7IE71E(#H@("@J:6YF;RT^9G!R:6YT9E]F=6YC*2`HR)I;2(L(#-]+`H@('LB96TB+"`T?2P*("![(G-T(BP@-7TL M"B`@>R)R82(L(#9]+`H@('LBR)R M9"(L(#E]+`H*("![3E5,3"P@+3%]+`I].PH*"G-T871I8R!V;VED"G!R:6YT M4F5G("`H:6YF;RP@2AI;F9O+"!I;G13:7IE+"!B M=69F97(I"B`@("`@9&ES87-S96UB;&5?:6YF;R`J:6YF;SL*("`@("!S:7IE M71E("IB=69F97(["GL*("!&24Q%("IS M=')E86T@/2!I;F9O+3YS=')E86T["B`@:6YT("!V86P@("`@(#T@,#L*"B`@ MF4R:6YT("AS*0H@("`@('-I>F5S(',["GL*("!S=VET8V@@ M*',I('L*"B`@8V%S92!B>71E(#H@PH@($9)3$4@*G-TF5S(&EN=%-I>F4L M('-I>F4Q+"!S:7IE,CL*("!I;G0@(')E9SL*("!M;V1E%]F M971C:&5D(#T@<')I=BYT:&5?8G5F9F5R.PH@('!R:78N:6YS;E]S=&%R="`] M(&UE;6%D9'(["B`@:68@*'-E=&IM<"`H<')I=BYB86EL;W5T*2`A/2`P*0H@ M("`@+RH@17)R;W(@71E(&]P8V]D92`J+PH@("`@:68@ M*&)U9F9EPH@("`@("`H*FEN9F\M/F9PPH@("`@("`H*FEN9F\M/F9P%TB+"`H:6YT*6)U9F9EPH@("`@:68@*&)U9F9EF4Q(#T@*&)U9F9EF4Q*3L*("`@('!R:6YT4VEZ92AI;F9O+"!S:7IE,BD["B`@("`H M*FEN9F\M/F9PPH*("`@(&-AF4L(&)U9F9E