diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-05 13:40:11 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-05 13:40:11 +0000 |
commit | d462b19eb74d234ec0b98b2e644a57fd0c046a52 (patch) | |
tree | a73e90fd8c1f82065ca825f637c2b9d877d727e0 | |
parent | 73e172c2583ec1ef9c500f36532ab83737adec6d (diff) | |
download | buildroot-novena-d462b19eb74d234ec0b98b2e644a57fd0c046a52.tar.gz buildroot-novena-d462b19eb74d234ec0b98b2e644a57fd0c046a52.zip |
binutils: really remove ancient dirs (missing from r25067, git-svn issue)
-rw-r--r-- | toolchain/binutils/2.15/100-uclibc-conf.patch | 692 | ||||
-rw-r--r-- | toolchain/binutils/2.15/210-cflags.patch | 32 | ||||
-rw-r--r-- | toolchain/binutils/2.15/400-mips-ELF_MAXPAGESIZE-4K.patch | 26 | ||||
-rw-r--r-- | toolchain/binutils/2.15/600-arm-textrel.patch | 63 | ||||
-rw-r--r-- | toolchain/binutils/2.15/700-nios2-2.15.patch | 38957 |
5 files changed, 0 insertions, 39770 deletions
diff --git a/toolchain/binutils/2.15/100-uclibc-conf.patch b/toolchain/binutils/2.15/100-uclibc-conf.patch deleted file mode 100644 index 1c7fa4a40..000000000 --- a/toolchain/binutils/2.15/100-uclibc-conf.patch +++ /dev/null @@ -1,692 +0,0 @@ -diff -urN binutils-2.15-dist/bfd/config.bfd binutils-2.15/bfd/config.bfd ---- binutils-2.15-dist/bfd/config.bfd 2004-05-17 14:35:56.000000000 -0500 -+++ binutils-2.15/bfd/config.bfd 2004-08-04 12:01:44.000000000 -0500 -@@ -126,7 +126,7 @@ - targ_defvec=ecoffalpha_little_vec - targ_selvecs=bfd_elf64_alpha_vec - ;; -- alpha*-*-linux-gnu* | alpha*-*-elf*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*) - targ_defvec=bfd_elf64_alpha_vec - targ_selvecs=ecoffalpha_little_vec - ;; -@@ -136,7 +136,7 @@ - alpha*-*-*) - targ_defvec=ecoffalpha_little_vec - ;; -- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) -+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) - targ_defvec=bfd_elf64_ia64_little_vec - targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" - ;; -@@ -213,7 +213,7 @@ - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec - ;; -- armeb-*-elf | arm*b-*-linux-gnu*) -+ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*) - targ_defvec=bfd_elf32_bigarm_vec - targ_selvecs=bfd_elf32_littlearm_vec - ;; -@@ -221,7 +221,7 @@ - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec - ;; -- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ -+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \ - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks) - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec -@@ -360,7 +360,7 @@ - ;; - - #ifdef BFD64 -- hppa*64*-*-linux-gnu*) -+ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) - targ_defvec=bfd_elf64_hppa_linux_vec - targ_selvecs=bfd_elf64_hppa_vec - ;; -@@ -371,7 +371,7 @@ - ;; - #endif - -- hppa*-*-linux-gnu* | hppa*-*-netbsd*) -+ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc* | hppa*-*-netbsd*) - targ_defvec=bfd_elf32_hppa_linux_vec - targ_selvecs=bfd_elf32_hppa_vec - ;; -@@ -494,7 +494,7 @@ - targ_selvecs=bfd_elf32_i386_vec - targ_underscore=yes - ;; -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - targ_defvec=bfd_elf32_i386_vec - targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" - targ64_selvecs=bfd_elf64_x86_64_vec -@@ -508,7 +508,7 @@ - targ_defvec=bfd_elf64_x86_64_vec - targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" - ;; -- x86_64-*-linux-gnu*) -+ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) - targ_defvec=bfd_elf64_x86_64_vec - targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" - ;; -@@ -683,7 +683,7 @@ - targ_selvecs=bfd_elf32_m68k_vec - targ_underscore=yes - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - targ_defvec=bfd_elf32_m68k_vec - targ_selvecs=m68klinux_vec - ;; -@@ -955,7 +955,8 @@ - ;; - #endif - powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ -- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ -+ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \ -+ powerpc-*-rtems* | \ - powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) - targ_defvec=bfd_elf32_powerpc_vec - targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" -@@ -987,8 +988,8 @@ - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" - ;; - powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ -- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ -- powerpcle-*-rtems*) -+ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\ -+ powerpcle-*-vxworks* | powerpcle-*-rtems*) - targ_defvec=bfd_elf32_powerpcle_vec - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" - targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" -@@ -1149,7 +1150,7 @@ - targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" - targ_underscore=yes - ;; -- sparc-*-linux-gnu*) -+ sparc-*-linux-gnu* | sparc-*-linux-uclibc*) - targ_defvec=bfd_elf32_sparc_vec - targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" - ;; -@@ -1196,7 +1197,7 @@ - targ_defvec=sunos_big_vec - targ_underscore=yes - ;; -- sparc64-*-linux-gnu*) -+ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) - targ_defvec=bfd_elf64_sparc_vec - targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" - ;; -@@ -1265,7 +1266,7 @@ - targ_underscore=yes - ;; - -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - targ_defvec=bfd_elf32_vax_vec - ;; - -diff -urN binutils-2.15-dist/bfd/configure binutils-2.15/bfd/configure ---- binutils-2.15-dist/bfd/configure 2004-05-17 14:35:57.000000000 -0500 -+++ binutils-2.15/bfd/configure 2004-08-04 12:01:44.000000000 -0500 -@@ -1699,6 +1699,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -5278,7 +5283,7 @@ - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - COREFILE='' - ;; -- alpha*-*-linux-gnu*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/alphalinux.h"' - ;; -@@ -5338,7 +5343,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386mach3.h"' - ;; -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386linux.h"' - ;; -@@ -5376,7 +5381,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/hp300bsd.h"' - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/m68klinux.h"' - ;; -@@ -5477,7 +5482,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxult2.h"' - ;; -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxlinux.h"' - ;; -diff -urN binutils-2.15-dist/bfd/configure.in binutils-2.15/bfd/configure.in ---- binutils-2.15-dist/bfd/configure.in 2004-05-17 14:35:57.000000000 -0500 -+++ binutils-2.15/bfd/configure.in 2004-08-04 12:01:44.000000000 -0500 -@@ -178,7 +178,7 @@ - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - COREFILE='' - ;; -- alpha*-*-linux-gnu*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/alphalinux.h"' - ;; -@@ -259,7 +259,7 @@ - TRAD_HEADER='"hosts/i386mach3.h"' - ;; - changequote(,)dnl -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - changequote([,])dnl - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386linux.h"' -@@ -300,7 +300,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/hp300bsd.h"' - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/m68klinux.h"' - ;; -@@ -385,7 +385,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxult2.h"' - ;; -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxlinux.h"' - ;; -diff -urN binutils-2.15-dist/binutils/configure binutils-2.15/binutils/configure ---- binutils-2.15-dist/binutils/configure 2004-01-02 11:08:04.000000000 -0600 -+++ binutils-2.15/binutils/configure 2004-08-04 12:01:44.000000000 -0500 -@@ -1585,6 +1585,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -urN binutils-2.15-dist/configure binutils-2.15/configure ---- binutils-2.15-dist/configure 2004-05-17 14:36:20.000000000 -0500 -+++ binutils-2.15/configure 2004-08-04 12:01:44.000000000 -0500 -@@ -1288,6 +1288,18 @@ - i[3456789]86-*-freebsd* | i[3456789]86-*-kfreebsd*-gnu) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - ;; -+ i[3456789]86-*-linux-uclibc*) -+ # This section makes it possible to build newlib natively on linux. -+ # If we are using a cross compiler then don't configure newlib. -+ if test x${is_cross_compiler} != xno ; then -+ noconfigdirs="$noconfigdirs target-newlib" -+ fi -+ noconfigdirs="$noconfigdirs target-libgloss" -+ # If we are not using a cross compiler, do configure newlib. -+ # Note however, that newlib will only be configured in this situation -+ # if the --with-newlib option has been given, because otherwise -+ # 'target-newlib' will appear in skipdirs. -+ ;; - i[3456789]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. -diff -urN binutils-2.15-dist/configure.in binutils-2.15/configure.in ---- binutils-2.15-dist/configure.in 2004-05-17 14:40:54.000000000 -0500 -+++ binutils-2.15/configure.in 2004-08-04 12:01:44.000000000 -0500 -@@ -521,6 +521,18 @@ - i[[3456789]]86-*-freebsd* | i[[3456789]]86-*-kfreebsd*-gnu) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - ;; -+ i[[3456789]]86-*-linux-uclibc*) -+ # This section makes it possible to build newlib natively on linux. -+ # If we are using a cross compiler then don't configure newlib. -+ if test x${is_cross_compiler} != xno ; then -+ noconfigdirs="$noconfigdirs target-newlib" -+ fi -+ noconfigdirs="$noconfigdirs target-libgloss" -+ # If we are not using a cross compiler, do configure newlib. -+ # Note however, that newlib will only be configured in this situation -+ # if the --with-newlib option has been given, because otherwise -+ # 'target-newlib' will appear in skipdirs. -+ ;; - i[[3456789]]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. -diff -urN binutils-2.15-dist/gas/configure binutils-2.15/gas/configure ---- binutils-2.15-dist/gas/configure 2004-05-17 14:36:07.000000000 -0500 -+++ binutils-2.15/gas/configure 2004-08-04 12:07:50.000000000 -0500 -@@ -3400,6 +3400,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -4224,6 +4229,7 @@ - alpha*-*-osf*) fmt=ecoff ;; - alpha*-*-linuxecoff*) fmt=ecoff ;; - alpha*-*-linux-gnu*) fmt=elf em=linux ;; -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;; - alpha*-*-netbsd*) fmt=elf em=nbsd ;; - alpha*-*-openbsd*) fmt=elf em=obsd ;; - -@@ -4240,6 +4246,7 @@ - arm*-*-conix*) fmt=elf ;; - arm-*-linux*aout*) fmt=aout em=linux ;; - arm*-*-linux-gnu*) fmt=elf em=linux ;; -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;; - arm*-*-uclinux*) fmt=elf em=linux ;; - arm-*-netbsdelf*) fmt=elf em=nbsd ;; - arm-*-*n*bsd*) fmt=aout em=nbsd ;; -@@ -4253,6 +4260,7 @@ - avr-*-*) fmt=elf ;; - - cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;; -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;; - cris-*-*) fmt=multi bfd_gas=yes ;; - - d10v-*-*) fmt=elf ;; -@@ -4310,7 +4318,9 @@ - i386-*-linux*oldld) fmt=aout em=linux ;; - i386-*-linux*coff*) fmt=coff em=linux ;; - i386-*-linux-gnu*) fmt=elf em=linux ;; -+ i386-*-linux-uclibc*) fmt=elf em=linux ;; - x86_64-*-linux-gnu*) fmt=elf em=linux ;; -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;; - i386-*-lynxos*) fmt=coff em=lynx ;; - i386-*-sysv[45]*) fmt=elf ;; - i386-*-solaris*) fmt=elf ;; -@@ -4370,6 +4380,7 @@ - ia64-*-elf*) fmt=elf ;; - ia64-*-aix*) fmt=elf em=ia64aix ;; - ia64-*-linux-gnu*) fmt=elf em=linux ;; -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;; - ia64-*-hpux*) fmt=elf em=hpux ;; - ia64-*-netbsd*) fmt=elf em=nbsd ;; - -@@ -4397,6 +4408,7 @@ - m68k-*-hpux*) fmt=hp300 em=hp300 ;; - m68k-*-linux*aout*) fmt=aout em=linux ;; - m68k-*-linux-gnu*) fmt=elf em=linux ;; -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;; - m68k-*-uclinux*) fmt=elf ;; - m68k-*-gnu*) fmt=elf ;; - m68k-*-lynxos*) fmt=coff em=lynx ;; -@@ -4459,6 +4471,7 @@ - ppc-*-beos*) fmt=coff ;; - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; -+ ppc-*-linux-uclibc* | \ - ppc-*-linux-gnu*) fmt=elf em=linux - case "$endian" in - big) ;; -@@ -4486,7 +4499,9 @@ - ppc-*-kaos*) fmt=elf ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-linux-gnu*) fmt=elf em=linux ;; -+ s390-*-linux-uclibc*) fmt=elf em=linux ;; - - sh*-*-linux*) fmt=elf em=linux - case ${cpu} in -@@ -4519,6 +4534,7 @@ - sparc-*-coff) fmt=coff ;; - sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-gnu*) fmt=elf em=linux ;; -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;; - sparc-*-lynxos*) fmt=coff em=lynx ;; - sparc-fujitsu-none) fmt=aout ;; - sparc-*-elf) fmt=elf ;; -diff -urN binutils-2.15-dist/gas/configure.in binutils-2.15/gas/configure.in ---- binutils-2.15-dist/gas/configure.in 2004-05-17 14:36:07.000000000 -0500 -+++ binutils-2.15/gas/configure.in 2004-08-04 12:07:21.000000000 -0500 -@@ -194,6 +194,7 @@ - alpha*-*-osf*) fmt=ecoff ;; - alpha*-*-linuxecoff*) fmt=ecoff ;; - alpha*-*-linux-gnu*) fmt=elf em=linux ;; -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;; - alpha*-*-netbsd*) fmt=elf em=nbsd ;; - alpha*-*-openbsd*) fmt=elf em=obsd ;; - -@@ -210,6 +211,7 @@ - arm*-*-conix*) fmt=elf ;; - arm-*-linux*aout*) fmt=aout em=linux ;; - arm*-*-linux-gnu*) fmt=elf em=linux ;; -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;; - arm*-*-uclinux*) fmt=elf em=linux ;; - arm-*-netbsdelf*) fmt=elf em=nbsd ;; - arm-*-*n*bsd*) fmt=aout em=nbsd ;; -@@ -223,6 +225,7 @@ - avr-*-*) fmt=elf ;; - - cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;; -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;; - cris-*-*) fmt=multi bfd_gas=yes ;; - - d10v-*-*) fmt=elf ;; -@@ -280,7 +283,9 @@ - i386-*-linux*oldld) fmt=aout em=linux ;; - i386-*-linux*coff*) fmt=coff em=linux ;; - i386-*-linux-gnu*) fmt=elf em=linux ;; -+ i386-*-linux-uclibc*) fmt=elf em=linux ;; - x86_64-*-linux-gnu*) fmt=elf em=linux ;; -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;; - i386-*-lynxos*) fmt=coff em=lynx ;; - changequote(,)dnl - i386-*-sysv[45]*) fmt=elf ;; -@@ -333,6 +338,7 @@ - ia64-*-elf*) fmt=elf ;; - ia64-*-aix*) fmt=elf em=ia64aix ;; - ia64-*-linux-gnu*) fmt=elf em=linux ;; -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;; - ia64-*-hpux*) fmt=elf em=hpux ;; - ia64-*-netbsd*) fmt=elf em=nbsd ;; - -@@ -360,6 +366,7 @@ - m68k-*-hpux*) fmt=hp300 em=hp300 ;; - m68k-*-linux*aout*) fmt=aout em=linux ;; - m68k-*-linux-gnu*) fmt=elf em=linux ;; -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;; - m68k-*-uclinux*) fmt=elf ;; - m68k-*-gnu*) fmt=elf ;; - m68k-*-lynxos*) fmt=coff em=lynx ;; -@@ -419,6 +426,7 @@ - ppc-*-beos*) fmt=coff ;; - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; -+ ppc-*-linux-uclibc* | \ - ppc-*-linux-gnu*) fmt=elf em=linux - case "$endian" in - big) ;; -@@ -439,7 +447,9 @@ - ppc-*-kaos*) fmt=elf ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-linux-gnu*) fmt=elf em=linux ;; -+ s390-*-linux-uclibc*) fmt=elf em=linux ;; - - sh*-*-linux*) fmt=elf em=linux - case ${cpu} in -@@ -472,6 +482,7 @@ - sparc-*-coff) fmt=coff ;; - sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-gnu*) fmt=elf em=linux ;; -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;; - sparc-*-lynxos*) fmt=coff em=lynx ;; - sparc-fujitsu-none) fmt=aout ;; - sparc-*-elf) fmt=elf ;; -diff -urN binutils-2.15-dist/gprof/configure binutils-2.15/gprof/configure ---- binutils-2.15-dist/gprof/configure 2003-08-26 12:19:19.000000000 -0500 -+++ binutils-2.15/gprof/configure 2004-08-04 12:01:45.000000000 -0500 -@@ -1581,6 +1581,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -urN binutils-2.15-dist/ld/configure binutils-2.15/ld/configure ---- binutils-2.15-dist/ld/configure 2003-04-24 07:36:07.000000000 -0500 -+++ binutils-2.15/ld/configure 2004-08-04 12:01:45.000000000 -0500 -@@ -1589,6 +1589,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -urN binutils-2.15-dist/ld/configure.tgt binutils-2.15/ld/configure.tgt ---- binutils-2.15-dist/ld/configure.tgt 2004-05-17 14:36:15.000000000 -0500 -+++ binutils-2.15/ld/configure.tgt 2004-08-04 12:01:45.000000000 -0500 -@@ -30,6 +30,7 @@ - targ_extra_emuls="criself crislinux" - targ_extra_libpath=$targ_extra_emuls ;; - cris-*-linux-gnu*) targ_emul=crislinux ;; -+cris-*-linux-uclibc*) targ_emul=crislinux ;; - cris-*-*) targ_emul=criself - targ_extra_emuls="crisaout crislinux" - targ_extra_libpath=$targ_extra_emuls ;; -@@ -59,14 +60,16 @@ - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` - tdir_sun4=sparc-sun-sunos4 - ;; --sparc64-*-linux-gnu*) targ_emul=elf64_sparc -+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \ -+ targ_emul=elf64_sparc - targ_extra_emuls="elf32_sparc sparclinux sun4" - targ_extra_libpath=elf32_sparc - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` - tdir_sparclinux=${tdir_elf32_sparc}aout - tdir_sun4=sparc-sun-sunos4 - ;; --sparc*-*-linux-gnu*) targ_emul=elf32_sparc -+sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \ -+ targ_emul=elf32_sparc - targ_extra_emuls="sparclinux elf64_sparc sun4" - targ_extra_libpath=elf64_sparc - tdir_sparclinux=${targ_alias}aout -@@ -118,7 +121,9 @@ - m32r*le-*-elf*) targ_emul=m32rlelf ;; - m32r*-*-elf*) targ_emul=m32relf ;; - m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;; -+m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;; - m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;; -+m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;; - m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf - targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; - m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf -@@ -128,7 +133,7 @@ - m68*-ericsson-ose) targ_emul=sun3 ;; - m68*-apple-aux*) targ_emul=m68kaux ;; - *-tandem-none) targ_emul=st2000 ;; --i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; -+i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;; - i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; - i[3-7]86-*-vsta) targ_emul=vsta ;; - i[3-7]86-go32-rtems*) targ_emul=i386go32 ;; -@@ -152,14 +157,16 @@ - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` - ;; - i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; --i[3-7]86-*-linux-gnu*) targ_emul=elf_i386 -+i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \ -+ targ_emul=elf_i386 - targ_extra_emuls=i386linux - if test x${want64} = xtrue; then - targ_extra_emuls="$targ_extra_emuls elf_x86_64" - fi - tdir_i386linux=${targ_alias}aout - ;; --x86_64-*-linux-gnu*) targ_emul=elf_x86_64 -+x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \ -+ targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 i386linux" - targ_extra_libpath=elf_i386 - tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` -@@ -259,10 +266,13 @@ - arm9e-*-elf) targ_emul=armelf ;; - arm-*-oabi) targ_emul=armelf_oabi ;; - arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; -+arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; - arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; -+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - arm*-*-conix*) targ_emul=armelf ;; --thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; -+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \ -+ targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - strongarm-*-coff) targ_emul=armcoff ;; - strongarm-*-elf) targ_emul=armelf ;; - strongarm-*-kaos*) targ_emul=armelf ;; -@@ -364,7 +374,8 @@ - targ_extra_emuls=m68kelf - tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` - ;; --m68k-*-linux-gnu*) targ_emul=m68kelf -+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \ -+ targ_emul=m68kelf - targ_extra_emuls=m68klinux - tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` - ;; -@@ -381,9 +392,9 @@ - m68*-*-psos*) targ_emul=m68kpsos ;; - m68*-*-rtemscoff*) targ_emul=m68kcoff ;; - m68*-*-rtems*) targ_emul=m68kelf ;; --hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; -+hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;; - hppa*64*-*) targ_emul=elf64hppa ;; --hppa*-*-linux-gnu*) targ_emul=hppalinux ;; -+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;; - hppa*-*-*elf*) targ_emul=hppaelf ;; - hppa*-*-lites*) targ_emul=hppaelf ;; - hppa*-*-netbsd*) targ_emul=hppanbsd ;; -@@ -396,6 +407,7 @@ - targ_emul=vaxnbsd - targ_extra_emuls=elf32vax ;; - vax-*-linux-gnu*) targ_emul=elf32vax ;; -+vax-*-linux-uclibc*) targ_emul=elf32vax ;; - mips*-*-pe) targ_emul=mipspe ; - targ_extra_ofiles="deffilep.o pe-dll.o" ;; - mips*-dec-ultrix*) targ_emul=mipslit ;; -@@ -429,16 +441,16 @@ - mips*-*-vxworks*) targ_emul=elf32ebmip - targ_extra_emuls="elf32elmip" ;; - mips*-*-windiss) targ_emul=elf32mipswindiss ;; --mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32 -+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32 - targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" - ;; --mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32 -+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32 - targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" - ;; --mips*el-*-linux-gnu*) targ_emul=elf32ltsmip -+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" - ;; --mips*-*-linux-gnu*) targ_emul=elf32btsmip -+mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip - targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" - ;; - mips*-*-lnews*) targ_emul=mipslnews ;; -@@ -461,6 +473,10 @@ - alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha - tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` - ;; -+alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha -+ # The following needs to be checked... -+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` -+ ;; - alpha*-*-osf*) targ_emul=alpha ;; - alpha*-*-gnu*) targ_emul=elf64alpha ;; - alpha*-*-netware*) targ_emul=alpha ;; -diff -urN binutils-2.15-dist/libtool.m4 binutils-2.15/libtool.m4 ---- binutils-2.15-dist/libtool.m4 2003-04-10 22:58:39.000000000 -0500 -+++ binutils-2.15/libtool.m4 2004-08-04 12:01:45.000000000 -0500 -@@ -645,6 +645,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] -diff -urN binutils-2.15-dist/ltconfig binutils-2.15/ltconfig ---- binutils-2.15-dist/ltconfig 2003-10-03 23:54:47.000000000 -0500 -+++ binutils-2.15/ltconfig 2004-08-04 12:01:45.000000000 -0500 -@@ -603,6 +603,7 @@ - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in - linux-gnu*) ;; -+linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1259,6 +1260,24 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - need_lib_prefix=no - need_version=no -diff -urN binutils-2.15-dist/opcodes/configure binutils-2.15/opcodes/configure ---- binutils-2.15-dist/opcodes/configure 2003-08-05 04:39:31.000000000 -0500 -+++ binutils-2.15/opcodes/configure 2004-08-04 12:01:45.000000000 -0500 -@@ -1700,6 +1700,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' diff --git a/toolchain/binutils/2.15/210-cflags.patch b/toolchain/binutils/2.15/210-cflags.patch deleted file mode 100644 index dc67d3c4e..000000000 --- a/toolchain/binutils/2.15/210-cflags.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -urN binutils-2.14.90.0.6/bfd/doc/Makefile.am binutils-2.14.90.0.6.new/bfd/doc/Makefile.am ---- binutils-2.14.90.0.6/bfd/doc/Makefile.am 2003-07-23 10:08:09.000000000 -0500 -+++ binutils-2.14.90.0.6.new/bfd/doc/Makefile.am 2004-03-01 16:05:16.000000000 -0600 -@@ -55,10 +55,10 @@ - MKDOC = chew$(EXEEXT_FOR_BUILD) - - $(MKDOC): chew.o -- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS) -+ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS) - - chew.o: chew.c -- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c -+ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c - - protos: libbfd.h libcoff.h bfd.h - -diff -urN binutils-2.14.90.0.6/bfd/doc/Makefile.in binutils-2.14.90.0.6.new/bfd/doc/Makefile.in ---- binutils-2.14.90.0.6/bfd/doc/Makefile.in 2003-07-23 10:08:09.000000000 -0500 -+++ binutils-2.14.90.0.6.new/bfd/doc/Makefile.in 2004-03-01 16:05:03.000000000 -0600 -@@ -469,10 +469,10 @@ - - - $(MKDOC): chew.o -- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS) -+ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS) - - chew.o: chew.c -- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c -+ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c - - protos: libbfd.h libcoff.h bfd.h - diff --git a/toolchain/binutils/2.15/400-mips-ELF_MAXPAGESIZE-4K.patch b/toolchain/binutils/2.15/400-mips-ELF_MAXPAGESIZE-4K.patch deleted file mode 100644 index e07a7e8ce..000000000 --- a/toolchain/binutils/2.15/400-mips-ELF_MAXPAGESIZE-4K.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- binutils/bfd/elf32-mips.c~ -+++ binutils/bfd/elf32-mips.c -@@ -1611,7 +1611,9 @@ - - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses - page sizes of up to that limit, so we need to respect it. */ --#define ELF_MAXPAGESIZE 0x10000 -+/*#define ELF_MAXPAGESIZE 0x10000*/ -+/* Use 4K to shrink the elf header. NOT for general use! */ -+#define ELF_MAXPAGESIZE 0x1000 - #define elf32_bed elf32_tradbed - - /* Include the target file again for this target. */ ---- binutils/bfd/elfn32-mips.c~ -+++ binutils/bfd/elfn32-mips.c -@@ -1976,7 +1976,9 @@ - - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses - page sizes of up to that limit, so we need to respect it. */ --#define ELF_MAXPAGESIZE 0x10000 -+/*#define ELF_MAXPAGESIZE 0x10000*/ -+/* Use 4K to shrink the elf header. NOT for general use! */ -+#define ELF_MAXPAGESIZE 0x1000 - #define elf32_bed elf32_tradbed - - /* Include the target file again for this target. */ diff --git a/toolchain/binutils/2.15/600-arm-textrel.patch b/toolchain/binutils/2.15/600-arm-textrel.patch deleted file mode 100644 index 73d5b9df8..000000000 --- a/toolchain/binutils/2.15/600-arm-textrel.patch +++ /dev/null @@ -1,63 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-06/msg00010.html ---- binutils-2.15.90.0.3-old/bfd/elf32-arm.h 2004-04-12 14:56:33.000000000 -0500 -+++ binutils-2.15.90.0.3/bfd/elf32-arm.h 2004-09-03 06:56:40.000000000 -0500 -@@ -87,6 +87,8 @@ - #endif - static bfd_boolean allocate_dynrelocs - PARAMS ((struct elf_link_hash_entry *h, PTR inf)); -+static bfd_boolean elf32_arm_readonly_dynrelocs -+ PARAMS ((struct elf_link_hash_entry *, PTR)); - static bfd_boolean create_got_section - PARAMS ((bfd * dynobj, struct bfd_link_info * info)); - static bfd_boolean elf32_arm_create_dynamic_sections -@@ -3531,6 +3533,37 @@ - return TRUE; - } - -+/* Find any dynamic relocs that apply to read-only sections. */ -+ -+static bfd_boolean -+elf32_arm_readonly_dynrelocs (h, inf) -+ struct elf_link_hash_entry *h; -+ PTR inf; -+{ -+ struct elf32_arm_link_hash_entry *eh; -+ struct elf32_arm_relocs_copied *p; -+ -+ if (h->root.type == bfd_link_hash_warning) -+ h = (struct elf_link_hash_entry *) h->root.u.i.link; -+ -+ eh = (struct elf32_arm_link_hash_entry *) h; -+ for (p = eh->relocs_copied; p != NULL; p = p->next) -+ { -+ asection *s = p->section; -+ -+ if (s != NULL && (s->flags & SEC_READONLY) != 0) -+ { -+ struct bfd_link_info *info = (struct bfd_link_info *) inf; -+ -+ info->flags |= DF_TEXTREL; -+ -+ /* Not an error, just cut short the traversal. */ -+ return FALSE; -+ } -+ } -+ return TRUE; -+} -+ - /* Set the sizes of the dynamic sections. */ - - static bfd_boolean -@@ -3740,6 +3773,12 @@ - return FALSE; - } - -+ /* If any dynamic relocs apply to a read-only section, -+ then we need a DT_TEXTREL entry. */ -+ if ((info->flags & DF_TEXTREL) == 0) -+ elf_link_hash_traverse (&htab->root, elf32_arm_readonly_dynrelocs, -+ (PTR) info); -+ - if ((info->flags & DF_TEXTREL) != 0) - { - if (!add_dynamic_entry (DT_TEXTREL, 0)) diff --git a/toolchain/binutils/2.15/700-nios2-2.15.patch b/toolchain/binutils/2.15/700-nios2-2.15.patch deleted file mode 100644 index 50f0caff6..000000000 --- a/toolchain/binutils/2.15/700-nios2-2.15.patch +++ /dev/null @@ -1,38957 +0,0 @@ -diff --git a/bfd/Makefile.am b/bfd/Makefile.am -index de811af..d55e681 100644 ---- a/bfd/Makefile.am -+++ b/bfd/Makefile.am -@@ -82,6 +82,7 @@ ALL_MACHINES = \ - cpu-mips.lo \ - cpu-mmix.lo \ - cpu-msp430.lo \ -+ cpu-nios2.lo \ - cpu-or32.lo \ - cpu-ns32k.lo \ - cpu-openrisc.lo \ -@@ -139,6 +140,7 @@ ALL_MACHINES_CFILES = \ - cpu-msp430.c \ - cpu-or32.c \ - cpu-ns32k.c \ -+ cpu-nios2.c \ - cpu-openrisc.c \ - cpu-pdp11.c \ - cpu-pj.c \ -@@ -241,6 +243,7 @@ BFD32_BACKENDS = \ - elfxx-mips.lo \ - elf32-mips.lo \ - elf32-msp430.lo \ -+ elf32-nios2.lo \ - elf32-openrisc.lo \ - elf32-or32.lo \ - elf32-pj.lo \ -@@ -405,6 +408,7 @@ BFD32_BACKENDS_CFILES = \ - elfxx-mips.c \ - elf32-mips.c \ - elf32-msp430.c \ -+ elf32-nios2.c \ - elf32-openrisc.c \ - elf32-or32.c \ - elf32-pj.c \ -@@ -943,6 +947,7 @@ cpu-mcore.lo: cpu-mcore.c $(INCDIR)/filenames.h - cpu-mips.lo: cpu-mips.c $(INCDIR)/filenames.h - cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h - cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h -+cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h - cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h - cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h ns32k.h - cpu-openrisc.lo: cpu-openrisc.c $(INCDIR)/filenames.h -@@ -1250,6 +1255,10 @@ elf32-msp430.lo: elf32-msp430.c $(INCDIR)/filenames.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/elf/msp430.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h -+elf32-nios2.lo: elf32-nios2.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ -+ genlink.h elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ -+ $(INCDIR)/elf/external.h $(INCDIR)/elf/nios2.h \ -+ $(INCDIR)/elf/reloc-macros.h elf32-target.h - elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \ - elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/openrisc.h \ -diff --git a/bfd/Makefile.in b/bfd/Makefile.in -index a6685f2..1ea97fe 100644 ---- a/bfd/Makefile.in -+++ b/bfd/Makefile.in -@@ -210,6 +210,7 @@ ALL_MACHINES = \ - cpu-mips.lo \ - cpu-mmix.lo \ - cpu-msp430.lo \ -+ cpu-nios2.lo \ - cpu-or32.lo \ - cpu-ns32k.lo \ - cpu-openrisc.lo \ -@@ -267,6 +268,7 @@ ALL_MACHINES_CFILES = \ - cpu-mmix.c \ - cpu-msp430.c \ - cpu-or32.c \ -+ cpu-nios2.c \ - cpu-ns32k.c \ - cpu-openrisc.c \ - cpu-pdp11.c \ -@@ -371,6 +373,7 @@ BFD32_BACKENDS = \ - elfxx-mips.lo \ - elf32-mips.lo \ - elf32-msp430.lo \ -+ elf32-nios2.lo \ - elf32-openrisc.lo \ - elf32-or32.lo \ - elf32-pj.lo \ -@@ -536,6 +539,7 @@ BFD32_BACKENDS_CFILES = \ - elfxx-mips.c \ - elf32-mips.c \ - elf32-msp430.c \ -+ elf32-nios2.c \ - elf32-openrisc.c \ - elf32-or32.c \ - elf32-pj.c \ -@@ -1482,6 +1486,7 @@ cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h - cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h - cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h - cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h ns32k.h -+cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h - cpu-openrisc.lo: cpu-openrisc.c $(INCDIR)/filenames.h - cpu-pdp11.lo: cpu-pdp11.c $(INCDIR)/filenames.h - cpu-pj.lo: cpu-pj.c $(INCDIR)/filenames.h -@@ -1787,6 +1792,10 @@ elf32-msp430.lo: elf32-msp430.c $(INCDIR)/filenames.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/elf/msp430.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h -+elf32-nios2.lo: elf32-nios2.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ -+ genlink.h elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ -+ $(INCDIR)/elf/external.h $(INCDIR)/elf/nios2.h \ -+ $(INCDIR)/elf/reloc-macros.h elf32-target.h - elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \ - elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/openrisc.h \ -diff --git a/bfd/archures.c b/bfd/archures.c -index f8aeeef..82fe291 100644 ---- a/bfd/archures.c -+++ b/bfd/archures.c -@@ -330,6 +330,8 @@ DESCRIPTION - .#define bfd_mach_msp44 44 - . bfd_arch_xtensa, {* Tensilica's Xtensa cores. *} - .#define bfd_mach_xtensa 1 -+. bfd_arch_nios2, -+.#define bfd_mach_nios2 1 - . bfd_arch_last - . }; - */ -@@ -422,6 +424,7 @@ extern const bfd_arch_info_type bfd_w65_arch; - extern const bfd_arch_info_type bfd_xstormy16_arch; - extern const bfd_arch_info_type bfd_xtensa_arch; - extern const bfd_arch_info_type bfd_z8k_arch; -+extern const bfd_arch_info_type bfd_nios2_arch; - - static const bfd_arch_info_type * const bfd_archures_list[] = - { -@@ -460,6 +463,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] = - &bfd_mn10200_arch, - &bfd_mn10300_arch, - &bfd_msp430_arch, -+ &bfd_nios2_arch, - &bfd_ns32k_arch, - &bfd_openrisc_arch, - &bfd_or32_arch, -diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h -index 2464d27..1938170 100644 ---- a/bfd/bfd-in2.h -+++ b/bfd/bfd-in2.h -@@ -1728,6 +1728,8 @@ enum bfd_architecture - #define bfd_mach_msp44 44 - bfd_arch_xtensa, /* Tensilica's Xtensa cores. */ - #define bfd_mach_xtensa 1 -+ bfd_arch_nios2, -+#define bfd_mach_nios2 1 - bfd_arch_last - }; - -@@ -3439,6 +3441,23 @@ This is the 5 bits of a value. */ - BFD_RELOC_MSP430_16_PCREL_BYTE, - BFD_RELOC_MSP430_16_BYTE, - -+/* Relocations used by the Altera New Jersey core */ -+ BFD_RELOC_NIOS2_S16, -+ BFD_RELOC_NIOS2_U16, -+ BFD_RELOC_NIOS2_CALL26, -+ BFD_RELOC_NIOS2_IMM5, -+ BFD_RELOC_NIOS2_CACHE_OPX, -+ BFD_RELOC_NIOS2_IMM6, -+ BFD_RELOC_NIOS2_IMM8, -+ BFD_RELOC_NIOS2_HI16, -+ BFD_RELOC_NIOS2_LO16, -+ BFD_RELOC_NIOS2_HIADJ16, -+ BFD_RELOC_NIOS2_GPREL, -+ BFD_RELOC_NIOS2_UJMP, -+ BFD_RELOC_NIOS2_CJMP, -+ BFD_RELOC_NIOS2_CALLR, -+ BFD_RELOC_NIOS2_ALIGN, -+ - /* IQ2000 Relocations. */ - BFD_RELOC_IQ2000_OFFSET_16, - BFD_RELOC_IQ2000_OFFSET_21, -diff --git a/bfd/config.bfd b/bfd/config.bfd -index 1428831..caf64b5 100755 ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -59,6 +59,7 @@ m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;; - m68*) targ_archs=bfd_m68k_arch ;; - m88*) targ_archs=bfd_m88k_arch ;; - mips*) targ_archs=bfd_mips_arch ;; -+nios2*) targ_archs=bfd_nios2_arch ;; - or32*) targ_archs=bfd_or32_arch ;; - pdp11*) targ_archs=bfd_pdp11_arch ;; - pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; -@@ -874,6 +875,21 @@ case "${targ}" in - targ_underscore=yes - ;; - -+ nios2eb-*-*) -+ targ_defvec=bfd_elf32_bignios2_vec -+ targ_selvecs=bfd_elf32_littlenios2_vec -+ ;; -+ -+ nios2el-*-*) -+ targ_defvec=bfd_elf32_littlenios2_vec -+ targ_selvecs=bfd_elf32_bignios2_vec -+ ;; -+ -+ nios2-*-*) -+ targ_defvec=bfd_elf32_littlenios2_vec -+ targ_selvecs=bfd_elf32_bignios2_vec -+ ;; -+ - openrisc-*-elf) - targ_defvec=bfd_elf32_openrisc_vec - ;; -diff --git a/bfd/configure b/bfd/configure -index 46c8170..8c35166 100755 ---- a/bfd/configure -+++ b/bfd/configure -@@ -6322,6 +6322,8 @@ do - bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; - bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; - bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; -+ bfd_elf32_littlenios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; -+ bfd_elf32_bignios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; - bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; - bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; -diff --git a/bfd/configure.in b/bfd/configure.in -index 71f41f4..eed3fa0 100644 ---- a/bfd/configure.in -+++ b/bfd/configure.in -@@ -631,6 +631,8 @@ do - bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; - bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; - bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; -+ bfd_elf32_littlenios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; -+ bfd_elf32_bignios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; - bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; - bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; -diff --git a/bfd/cpu-nios2.c b/bfd/cpu-nios2.c -new file mode 100644 -index 0000000..c8f39c9 ---- /dev/null -+++ b/bfd/cpu-nios2.c -@@ -0,0 +1,70 @@ -+/* bfd back-end for Altera Nios II support -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+This file is part of BFD, the Binary File Descriptor library. -+ -+This program is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+ -+This program is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this program; if not, write to the Free Software -+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#include "bfd.h" -+#include "sysdep.h" -+#include "libbfd.h" -+ -+static const bfd_arch_info_type *nios2_compatible -+ (const bfd_arch_info_type *, const bfd_arch_info_type *); -+ -+/* The default routine tests bits_per_word, which is wrong on mips as -+ mips word size doesn't correlate with reloc size. */ -+ -+static const bfd_arch_info_type * -+nios2_compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b) -+{ -+ if (a->arch != b->arch) -+ return NULL; -+ -+ /* Machine compatibility is checked in -+ _bfd_mips_elf_merge_private_bfd_data. */ -+ -+ return a; -+} -+ -+#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \ -+ { \ -+ BITS_WORD, /* bits in a word */ \ -+ BITS_ADDR, /* bits in an address */ \ -+ 8, /* 8 bits in a byte */ \ -+ bfd_arch_nios2, \ -+ NUMBER, \ -+ "nios2", \ -+ PRINT, \ -+ 3, \ -+ DEFAULT, \ -+ nios2_compatible, \ -+ bfd_default_scan, \ -+ NEXT, \ -+ } -+ -+#define NN(index) (&arch_info_struct[(index) + 1]) -+ -+static const bfd_arch_info_type arch_info_struct[] = -+{ -+ N (32, 32, bfd_mach_nios2, "nios2", FALSE, 0), -+}; -+ -+/* There is only one architecture - but we give the default a machine number of 0 -+ so the linker can distinguish it */ -+const bfd_arch_info_type bfd_nios2_arch = -+N (32, 32, 0, "nios2", TRUE, &arch_info_struct[0]); -diff --git a/bfd/elf.c b/bfd/elf.c -index a14fd35..3a061ec 100644 ---- a/bfd/elf.c -+++ b/bfd/elf.c -@@ -3286,9 +3286,14 @@ map_sections_to_segments (bfd *abfd) - phdr_size = elf_tdata (abfd)->program_header_size; - if (phdr_size == 0) - phdr_size = get_elf_backend_data (abfd)->s->sizeof_phdr; -+ -+ /* NG - for standalone embedded applications we don't want the program -+ headers or ELF header in the output memory map (cf CSP) */ - if ((abfd->flags & D_PAGED) == 0 - || sections[0]->lma < phdr_size -- || sections[0]->lma % maxpagesize < phdr_size % maxpagesize) -+ || sections[0]->lma % maxpagesize < phdr_size % maxpagesize -+ || (elf_tdata (abfd)->elf_header[0].e_ident[EI_OSABI] -+ == ELFOSABI_STANDALONE)) - phdr_in_segment = FALSE; - } - -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -new file mode 100644 -index 0000000..045b3a9 ---- /dev/null -+++ b/bfd/elf32-nios2.c -@@ -0,0 +1,2191 @@ -+/* New Jersey-specific support for 32-bit ELF -+ -+ Copyright (C) 2005 -+ by Nigel Gray (ngray@altera.com). -+ -+ -+This file is part of BFD, the Binary File Descriptor library. -+ -+This program is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+ -+This program is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this program; if not, write to the Free Software -+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+/* This file handles Altera New Jersey ELF targets */ -+ -+#include "bfd.h" -+#include "sysdep.h" -+#include "libbfd.h" -+#include "bfdlink.h" -+#include "genlink.h" -+#include "elf-bfd.h" -+#include "elf/nios2.h" -+#include "opcode/nios2.h" -+ -+/* use RELA relocations*/ -+#ifndef USE_RELA -+#define USE_RELA -+#endif -+ -+#ifdef USE_REL -+#undef USE_REL -+#endif -+ -+/* Function prototypes */ -+ -+static reloc_howto_type *nios2_elf32_bfd_reloc_type_lookup -+ (bfd *, bfd_reloc_code_real_type); -+ -+static bfd_boolean nios2_elf32_relax_section -+ (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); -+ -+static bfd_boolean nios2_elf32_relax_delete_bytes -+ (bfd *, asection *, bfd_vma, int); -+ -+static reloc_howto_type *nios2_elf32_rtype_to_howto -+ (unsigned int r_type, bfd_boolean rela_p); -+ -+static void nios2_elf32_info_to_howto -+ (bfd * abfd, arelent * cache_ptr, Elf_Internal_Rela * dst); -+ -+static bfd_boolean nios2_elf32_relocate_section -+ (bfd * output_bfd, struct bfd_link_info * info, bfd * input_bfd, -+ asection * input_section, bfd_byte * contents, -+ Elf_Internal_Rela * relocs, Elf_Internal_Sym * local_syms, -+ asection ** local_sections); -+ -+static reloc_howto_type *lookup_howto (unsigned int rtype); -+ -+static bfd_reloc_status_type nios2_elf_final_gp -+ (bfd *, asymbol *, bfd_boolean, char **, bfd_vma *, -+ struct bfd_link_info *); -+ -+static bfd_boolean nios2_elf_assign_gp -+ (bfd *, bfd_vma *, struct bfd_link_info *); -+ -+static bfd_reloc_status_type nios2_elf32_ignore_reloc -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_hi16_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_lo16_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_hiadj16_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_pcrel16_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_call26_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_gprel_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_ujmp_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_cjmp_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_callr_relocate -+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -+ -+static bfd_reloc_status_type nios2_elf32_do_hi16_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_lo16_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_hiadj16_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_pcrel16_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_call26_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_gprel_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_ujmp_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_cjmp_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+static bfd_reloc_status_type nios2_elf32_do_callr_relocate -+ (bfd *, reloc_howto_type *, asection *, -+ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); -+ -+ -+static void nios2_elf32_post_process_headers -+ (bfd *, struct bfd_link_info *); -+ -+static bfd_boolean nios2_elf32_section_from_shdr -+ (bfd *, Elf_Internal_Shdr *, const char *name); -+ -+static bfd_boolean nios2_elf32_section_flags -+ (flagword *, Elf_Internal_Shdr *); -+ -+static bfd_boolean nios2_elf32_fake_sections -+ (bfd *, Elf_Internal_Shdr *, asection *); -+ -+ -+ -+static bfd_boolean nios2_elf32_check_relocs -+ (bfd *, struct bfd_link_info *, asection *, -+ const Elf_Internal_Rela *); -+ -+static asection *nios2_elf32_gc_mark_hook (asection * sec, -+ struct bfd_link_info * -+ info, -+ Elf_Internal_Rela * rel, -+ struct elf_link_hash_entry -+ * h, -+ Elf_Internal_Sym * sym); -+ -+ -+/* target vector */ -+extern const bfd_target bfd_elf32_littlenios2_vec; -+extern const bfd_target bfd_elf32_bignios2_vec; -+ -+/* The relocation table used for SHT_REL sections. */ -+ -+static reloc_howto_type elf_nios2_howto_table_rel[] = { -+ /* No relocation. */ -+ HOWTO (R_NIOS2_NONE, /* type */ -+ 0, /* rightshift */ -+ 0, /* size (0 = byte, 1 = short, 2 = long) */ -+ 0, /* bitsize */ -+ FALSE, /* pc_relative */ -+ 0, /* bitpos */ -+ complain_overflow_dont, /* complain_on_overflow */ -+ bfd_elf_generic_reloc, /* special_function */ -+ "R_NIOS2_NONE", /* name */ -+ FALSE, /* partial_inplace */ -+ 0, /* src_mask */ -+ 0, /* dst_mask */ -+ FALSE), /* pcrel_offset */ -+ -+ /* 16-bit signed immediate relocation */ -+ HOWTO (R_NIOS2_S16, /* type */ -+ 0, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 16, /* bitsize */ -+ FALSE, /* pc_relative */ -+ 6, /* bitpos */ -+ complain_overflow_signed, /* complain on overflow */ -+ bfd_elf_generic_reloc, /* special function */ -+ "R_NIOS2_S16", /* name */ -+ FALSE, /* partial_inplace */ -+ 0x003fffc0, /* src_mask */ -+ 0x003fffc0, /* dest_mask */ -+ FALSE), /* pcrel_offset */ -+ -+ /* 16-bit unsigned immediate relocation */ -+ HOWTO (R_NIOS2_U16, /* type */ -+ 0, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 16, /* bitsize */ -+ FALSE, /* pc_relative */ -+ 6, /* bitpos */ -+ complain_overflow_unsigned, /* complain on overflow */ -+ bfd_elf_generic_reloc, /* special function */ -+ "R_NIOS2_U16", /* name */ -+ FALSE, /* partial_inplace */ -+ 0x003fffc0, /* src_mask */ -+ 0x003fffc0, /* dest_mask */ -+ FALSE), /* pcrel_offset */ -+ -+ HOWTO (R_NIOS2_PCREL16, /* type */ -+ 0, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 16, /* bitsize */ -+ TRUE, /* pc_relative */ -+ 6, /* bitpos */ -+ complain_overflow_signed, /* complain on overflow */ -+ nios2_elf32_pcrel16_relocate, /* special function */ -+ "R_NIOS2_PCREL16", /* name */ -+ FALSE, /* partial_inplace */ -+ 0x003fffc0, /* src_mask */ -+ 0x003fffc0, /* dest_mask */ -+ TRUE), /* pcrel_offset */ -+ -+ HOWTO (R_NIOS2_CALL26, /* type */ -+ 2, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 26, /* bitsize */ -+ FALSE, /* pc_relative */ -+ 6, /* bitpos */ -+ complain_overflow_dont, /* complain on overflow */ -+ nios2_elf32_call26_relocate, /* special function */ -+ "R_NIOS2_CALL26", /* name */ -+ FALSE, /* partial_inplace */ -+ 0xffffffc0, /* src_mask */ -+ 0xffffffc0, /* dst_mask */ -+ FALSE), /* pcrel_offset */ -+ -+ HOWTO (R_NIOS2_IMM5, -+ 0, -+ 2, -+ 5, -+ FALSE, -+ 6, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_IMM5", -+ FALSE, -+ 0x000007c0, -+ 0x000007c0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_CACHE_OPX, -+ 0, -+ 2, -+ 5, -+ FALSE, -+ 22, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_CACHE_OPX", -+ FALSE, -+ 0x07c00000, -+ 0x07c00000, -+ FALSE), -+ -+ HOWTO (R_NIOS2_IMM6, -+ 0, -+ 2, -+ 6, -+ FALSE, -+ 6, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_IMM6", -+ FALSE, -+ 0x00000fc0, -+ 0x00000fc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_IMM8, -+ 0, -+ 2, -+ 8, -+ FALSE, -+ 6, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_IMM8", -+ FALSE, -+ 0x00003fc0, -+ 0x00003fc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_HI16, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_hi16_relocate, -+ "R_NIOS2_HI16", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_LO16, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_lo16_relocate, -+ "R_NIOS2_LO16", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_HIADJ16, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_hiadj16_relocate, -+ "R_NIOS2_HIADJ16", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_BFD_RELOC_32, -+ 0, -+ 2, /* long */ -+ 32, -+ FALSE, -+ 0, -+ complain_overflow_dont, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_BFD_RELOC32", -+ FALSE, -+ 0xffffffff, -+ 0xffffffff, -+ FALSE), -+ -+ HOWTO (R_NIOS2_BFD_RELOC_16, -+ 0, -+ 1, /* short */ -+ 16, -+ FALSE, -+ 0, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_BFD_RELOC16", -+ FALSE, -+ 0x0000ffff, -+ 0x0000ffff, -+ FALSE), -+ -+ HOWTO (R_NIOS2_BFD_RELOC_8, -+ 0, -+ 0, /* byte */ -+ 8, -+ FALSE, -+ 0, -+ complain_overflow_bitfield, -+ bfd_elf_generic_reloc, -+ "R_NIOS2_BFD_RELOC8", -+ FALSE, -+ 0x000000ff, -+ 0x000000ff, -+ FALSE), -+ -+ HOWTO (R_NIOS2_GPREL, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_gprel_relocate, -+ "R_NIOS2_GPREL", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_GNU_VTINHERIT, -+ 0, -+ 2, /* short */ -+ 0, -+ FALSE, -+ 0, -+ complain_overflow_dont, -+ NULL, -+ "R_NIOS2_GNU_VTINHERIT", -+ FALSE, -+ 0, -+ 0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_GNU_VTENTRY, -+ 0, -+ 2, /* byte */ -+ 0, -+ FALSE, -+ 0, -+ complain_overflow_dont, -+ _bfd_elf_rel_vtable_reloc_fn, -+ "R_NIOS2_GNU_VTENTRY", -+ FALSE, -+ 0, -+ 0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_UJMP, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_ujmp_relocate, -+ "R_NIOS2_UJMP", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_CJMP, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_cjmp_relocate, -+ "R_NIOS2_CJMP", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_CALLR, -+ 0, -+ 2, -+ 32, -+ FALSE, -+ 6, -+ complain_overflow_dont, -+ nios2_elf32_callr_relocate, -+ "R_NIOS2_CALLR", -+ FALSE, -+ 0x003fffc0, -+ 0x003fffc0, -+ FALSE), -+ -+ HOWTO (R_NIOS2_ALIGN, -+ 0, -+ 2, -+ 0, -+ FALSE, -+ 0, -+ complain_overflow_dont, -+ nios2_elf32_ignore_reloc, -+ "R_NIOS2_ALIGN", -+ FALSE, -+ 0, -+ 0, -+ TRUE), -+ -+/* add other relocations here */ -+}; -+ -+static unsigned char elf_code_to_howto_index[R_NIOS2_ILLEGAL + 1]; -+ -+static reloc_howto_type * -+lookup_howto (unsigned int rtype) -+{ -+ static int initialized = 0; -+ int i; -+ int howto_tbl_size = (int) (sizeof (elf_nios2_howto_table_rel) -+ / sizeof (elf_nios2_howto_table_rel[0])); -+ -+ if (!initialized) -+ { -+ initialized = 1; -+ memset (elf_code_to_howto_index, 0xff, -+ sizeof (elf_code_to_howto_index)); -+ for (i = 0; i < howto_tbl_size; i++) -+ elf_code_to_howto_index[elf_nios2_howto_table_rel[i].type] = i; -+ } -+ -+ BFD_ASSERT (rtype <= R_NIOS2_ILLEGAL); -+ i = elf_code_to_howto_index[rtype]; -+ if (i >= howto_tbl_size) -+ return 0; -+ return elf_nios2_howto_table_rel + i; -+} -+ -+/* -+ map for converting BFD reloc types to New Jersey -+ reloc types -+ */ -+struct elf_reloc_map -+{ -+ bfd_reloc_code_real_type bfd_val; -+ enum elf_nios2_reloc_type elf_val; -+}; -+ -+static const struct elf_reloc_map nios2_reloc_map[] = { -+ {BFD_RELOC_NIOS2_S16, R_NIOS2_S16}, -+ {BFD_RELOC_NIOS2_U16, R_NIOS2_U16}, -+ {BFD_RELOC_16_PCREL, R_NIOS2_PCREL16}, -+ {BFD_RELOC_NIOS2_CALL26, R_NIOS2_CALL26}, -+ {BFD_RELOC_NIOS2_IMM5, R_NIOS2_IMM5}, -+ {BFD_RELOC_NIOS2_CACHE_OPX, R_NIOS2_CACHE_OPX}, -+ {BFD_RELOC_NIOS2_IMM6, R_NIOS2_IMM6}, -+ {BFD_RELOC_NIOS2_IMM8, R_NIOS2_IMM8}, -+ {BFD_RELOC_NIOS2_HI16, R_NIOS2_HI16}, -+ {BFD_RELOC_NIOS2_LO16, R_NIOS2_LO16}, -+ {BFD_RELOC_NIOS2_HIADJ16, R_NIOS2_HIADJ16}, -+ {BFD_RELOC_32, R_NIOS2_BFD_RELOC_32}, -+ {BFD_RELOC_16, R_NIOS2_BFD_RELOC_16}, -+ {BFD_RELOC_8, R_NIOS2_BFD_RELOC_8}, -+ {BFD_RELOC_NIOS2_GPREL, R_NIOS2_GPREL}, -+ {BFD_RELOC_VTABLE_INHERIT, R_NIOS2_GNU_VTINHERIT}, -+ {BFD_RELOC_VTABLE_ENTRY, R_NIOS2_GNU_VTENTRY}, -+ {BFD_RELOC_NIOS2_UJMP, R_NIOS2_UJMP}, -+ {BFD_RELOC_NIOS2_CJMP, R_NIOS2_CJMP}, -+ {BFD_RELOC_NIOS2_CALLR, R_NIOS2_CALLR}, -+ {BFD_RELOC_NIOS2_ALIGN, R_NIOS2_ALIGN}, -+}; -+ -+/* Given a BFD reloc type, return a howto structure. */ -+ -+static reloc_howto_type * -+nios2_elf32_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, -+ bfd_reloc_code_real_type code) -+{ -+ int i; -+ for (i = 0; -+ i < (int) (sizeof (nios2_reloc_map) / sizeof (struct elf_reloc_map)); -+ ++i) -+ { -+ if (nios2_reloc_map[i].bfd_val == code) -+ return &elf_nios2_howto_table_rel[(int) nios2_reloc_map[i].elf_val]; -+ } -+ -+ return NULL; -+} -+ -+/* Helper function for nios2_elf32_info_to_howto */ -+ -+static reloc_howto_type * -+nios2_elf32_rtype_to_howto (unsigned int r_type, -+ bfd_boolean rela_p ATTRIBUTE_UNUSED) -+{ -+ BFD_ASSERT (r_type < R_NIOS2_ILLEGAL); -+ return &elf_nios2_howto_table_rel[r_type]; -+} -+ -+/* Given a ELF32 relocation, fill in a arelent structure */ -+ -+static void -+nios2_elf32_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * cache_ptr, -+ Elf_Internal_Rela * dst) -+{ -+ unsigned int r_type; -+ -+ r_type = ELF32_R_TYPE (dst->r_info); -+ cache_ptr->howto = nios2_elf32_rtype_to_howto (r_type, FALSE); -+ -+ // FIXME - do we need to do anything else here??? -+} -+ -+/* The assembler has output long jmp/call sequences for all calls -+ * and pc-relative branches that it cannot guarantee are within -+ * range, so the linker must attempt to "relax" these sequences to -+ * short branches and calls if it can. We avoid having to re-relax by -+ * replacing redundant instructions with nops instead of deleting them. -+ * -+ * -+ **/ -+static bfd_boolean -+nios2_elf32_relax_section (bfd * abfd, -+ asection * sec, -+ struct bfd_link_info *link_info, bfd_boolean * again) -+{ -+ Elf_Internal_Shdr *symtab_hdr; -+ Elf_Internal_Rela *internal_relocs; -+ Elf_Internal_Rela *irel, *irelend; -+ bfd_byte *contents = NULL; -+ Elf_Internal_Sym *isymbuf = NULL; -+ -+#define OP_MATCH_NOP 0x0001883a -+ -+ /* Assume nothing changes. */ -+ *again = FALSE; -+ -+ /* We don't have to do anything for a relocatable link, if -+ this section does not have relocs, or if this is not a -+ code section. */ -+ if (link_info->relocatable -+ || (sec->flags & SEC_RELOC) == 0 -+ || sec->reloc_count == 0 || (sec->flags & SEC_CODE) == 0) -+ return TRUE; -+ -+ /* If this is the first time we have been called for this section, -+ initialize the cooked size. */ -+ if (sec->_cooked_size == 0) -+ sec->_cooked_size = sec->_raw_size; -+ -+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; -+ -+ /* Get a copy of the native relocations. */ -+ internal_relocs = (_bfd_elf_link_read_relocs -+ (abfd, sec, (void *) NULL, (Elf_Internal_Rela *) NULL, -+ link_info->keep_memory)); -+ if (internal_relocs == NULL) -+ goto error_return; -+ -+ /* Walk through them looking for relaxing opportunities. */ -+ irelend = internal_relocs + sec->reloc_count; -+ for (irel = internal_relocs; irel < irelend; irel++) -+ { -+ bfd_vma symval; -+ -+ /* If this isn't something that can be relaxed, then ignore -+ this reloc. */ -+ if (ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_UJMP -+ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CJMP -+ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CALLR) -+ { -+ continue; -+ } -+ -+ /* Get the section contents if we haven't done so already. */ -+ if (contents == NULL) -+ { -+ /* Get cached copy if it exists. */ -+ if (elf_section_data (sec)->this_hdr.contents != NULL) -+ contents = elf_section_data (sec)->this_hdr.contents; -+ else -+ { -+ /* Go get them off disk. */ -+ contents = (bfd_byte *) bfd_malloc (sec->_raw_size); -+ if (contents == NULL) -+ goto error_return; -+ -+ if (!bfd_get_section_contents (abfd, sec, contents, -+ (file_ptr) 0, sec->_raw_size)) -+ goto error_return; -+ } -+ } -+ -+ /* Read this BFD's local symbols if we haven't done so already. */ -+ if (isymbuf == NULL && symtab_hdr->sh_info != 0) -+ { -+ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; -+ if (isymbuf == NULL) -+ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, -+ symtab_hdr->sh_info, 0, -+ NULL, NULL, NULL); -+ if (isymbuf == NULL) -+ goto error_return; -+ } -+ -+ /* Get the value of the symbol referred to by the reloc. */ -+ if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info) -+ { -+ /* A local symbol. */ -+ Elf_Internal_Sym *isym; -+ asection *sym_sec; -+ -+ isym = isymbuf + ELF32_R_SYM (irel->r_info); -+ if (isym->st_shndx == SHN_UNDEF) -+ sym_sec = bfd_und_section_ptr; -+ else if (isym->st_shndx == SHN_ABS) -+ sym_sec = bfd_abs_section_ptr; -+ else if (isym->st_shndx == SHN_COMMON) -+ sym_sec = bfd_com_section_ptr; -+ else -+ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx); -+ symval = (isym->st_value -+ + sym_sec->output_section->vma + sym_sec->output_offset); -+ } -+ else -+ { -+ unsigned long indx; -+ struct elf_link_hash_entry *h; -+ -+ /* An external symbol. */ -+ indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info; -+ h = elf_sym_hashes (abfd)[indx]; -+ BFD_ASSERT (h != NULL); -+ if (h->root.type != bfd_link_hash_defined -+ && h->root.type != bfd_link_hash_defweak) -+ { -+ /* This appears to be a reference to an undefined -+ symbol. Just ignore it--it will be caught by the -+ regular reloc processing. */ -+ continue; -+ } -+ -+ symval = (h->root.u.def.value -+ + h->root.u.def.section->output_section->vma -+ + h->root.u.def.section->output_offset); -+ } -+ -+ /* For simplicity of coding, we are going to modify the section -+ contents, the section relocs, and the BFD symbol table. We -+ must tell the rest of the code not to free up this -+ information. It would be possible to instead create a table -+ of changes which have to be made, as is done in coff-mips.c; -+ that would be more work, but would require less memory when -+ the linker is run. */ -+ -+ /* try to turn : -+ * movhi at, %hi(symbol) -+ * movui at, %lo(symbol) -+ * callr at -+ * into: -+ * call symbol -+ */ -+ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CALLR) -+ { -+ bfd_vma targ_addr = symval + irel->r_addend; -+ bfd_vma curr_addr = (sec->output_section->vma + sec->output_offset); -+ bfd_vma targ_page, curr_page; -+ targ_page = targ_addr & 0xf0000000; -+ curr_page = curr_addr & 0xf0000000; -+ -+ if (targ_page == curr_page) -+ { -+ /* change the opcode to a call */ -+ bfd_put_32 (abfd, OP_MATCH_CALL, contents + irel->r_offset); -+ /* Note that we've changed the relocs, section contents, etc. */ -+ elf_section_data (sec)->relocs = internal_relocs; -+ elf_section_data (sec)->this_hdr.contents = contents; -+ symtab_hdr->contents = (unsigned char *) isymbuf; -+ -+ /* Fix the relocation's type. */ -+ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), -+ R_NIOS2_CALL26); -+ -+ /* replace next two instructions with nops */ -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); -+ } -+ } -+ -+ /* try to turn : -+ * movhi at, %hi(symbol) -+ * movui at, %lo(symbol) -+ * jmp at -+ * into: -+ * br symbol -+ */ -+ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_UJMP) -+ { -+ bfd_vma pcrel_offset; -+ Elf_Internal_Rela *irelalign = NULL; -+ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs; -+ Elf_Internal_Rela *irelend = irel + sec->reloc_count; -+ -+ for (; irela < irelend; irela++) -+ { -+ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN -+ && irela->r_offset > irel->r_offset + 4 -+ && 8 < (1 << irela->r_addend)) -+ { -+ irelalign = irela; -+ break; -+ } -+ } -+ -+ /* calculate the pcrelative offset from current location */ -+ pcrel_offset = symval; -+ pcrel_offset -= (sec->output_section->vma + sec->output_offset); -+ pcrel_offset += irel->r_addend; -+ -+ /* we need to compute the pcrel_offset from the next instruction */ -+ pcrel_offset -= (irel->r_offset + 4); -+ -+ /* does this value fit in 16 bits */ -+ if ((irelalign == NULL && (long) pcrel_offset <= 0x8004 -+ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL -+ && (long) pcrel_offset -+ <= 0x7ffc -+ && (long) pcrel_offset -+ >= -0x8000)) -+ { -+ /* change the opcode to an unconditional branch */ -+ bfd_put_32 (abfd, OP_MATCH_BR, contents + irel->r_offset); -+ /* Note that we've changed the relocs, section contents, etc. */ -+ elf_section_data (sec)->relocs = internal_relocs; -+ elf_section_data (sec)->this_hdr.contents = contents; -+ symtab_hdr->contents = (unsigned char *) isymbuf; -+ -+ /* Fix the relocation's type. */ -+ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), -+ R_NIOS2_PCREL16); -+ -+ /* replace next two instructions with nops */ -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); -+ } -+ } -+ -+ /* try to turn : -+ * b{cond} a, b skip -+ * movhi at, %hi(symbol) -+ * movui at, %lo(symbol) -+ * jmp at -+ * skip: -+ * ... -+ * into: -+ * br{opp_cond} a, b, symbol -+ */ -+ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CJMP) -+ { -+ bfd_vma pcrel_offset; -+ Elf_Internal_Rela *irelalign = NULL; -+ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs; -+ Elf_Internal_Rela *irelend = irel + sec->reloc_count; -+ -+ for (; irela < irelend; irela++) -+ { -+ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN -+ && irela->r_offset > irel->r_offset + 4 -+ && 8 < (1 << irela->r_addend)) -+ { -+ irelalign = irela; -+ break; -+ } -+ } -+ -+ /* calculate the pcrelative offset from current location */ -+ pcrel_offset = symval; -+ pcrel_offset -= (sec->output_section->vma + sec->output_offset); -+ pcrel_offset += irel->r_addend; -+ -+ /* we need to compute the pcrel_offset from this instruction -+ * ie the movhi */ -+ pcrel_offset -= (irel->r_offset); -+ -+ /* does this value fit in 16 bits */ -+ if ((irelalign == NULL && (long) pcrel_offset <= 0x8008 -+ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL -+ && (long) pcrel_offset -+ <= 0x7ffc -+ && (long) pcrel_offset -+ >= -0x8000)) -+ { -+ unsigned long opcode, op_a, op_b; -+ /* get the conditional branch opcode */ -+ opcode = bfd_get_32 (abfd, contents + irel->r_offset - 4); -+ /* reverse the condition */ -+ switch (opcode & OP_MASK_OP) -+ { -+ case OP_MATCH_BEQ: -+ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BNE; -+ break; -+ case OP_MATCH_BNE: -+ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BEQ; -+ break; -+ case OP_MATCH_BGE: -+ case OP_MATCH_BGEU: -+ case OP_MATCH_BLT: -+ case OP_MATCH_BLTU: -+ /* swap the operands */ -+ op_a = (opcode & OP_MASK_RRT) << 5; -+ op_b = (opcode & OP_MASK_RRS) >> 5; -+ opcode = -+ (opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | op_a | op_b; -+ break; -+ default: -+ fprintf (stderr, -+ "relaxation error - expecting conditional branch, aborting\n"); -+ abort (); -+ break; -+ } -+ -+ /* we must set the branch target to zero so that the skip over the jmp doesn't get -+ * added to the jmp */ -+ opcode = opcode & (~OP_MASK_IMM16); -+ -+ /* change the opcode to the reversed conditional branch */ -+ bfd_put_32 (abfd, opcode, contents + irel->r_offset - 4); -+ /* Note that we've changed the relocs, section contents, etc. */ -+ elf_section_data (sec)->relocs = internal_relocs; -+ elf_section_data (sec)->this_hdr.contents = contents; -+ symtab_hdr->contents = (unsigned char *) isymbuf; -+ -+ /* Fix the relocation's type. */ -+ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), -+ R_NIOS2_PCREL16); -+ -+ /* this relocation's offset has also been reduced by 4 bytes */ -+ irel->r_offset -= 4; -+ -+ /* replace next two instructions with nops */ -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4); -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8); -+ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 12); -+ } -+ } -+ -+ /* otherwise, leave alone */ -+ } -+ -+ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) -+ { -+ if (!link_info->keep_memory) -+ free (isymbuf); -+ else -+ { -+ /* Cache the symbols for elf_link_input_bfd. */ -+ symtab_hdr->contents = (unsigned char *) isymbuf; -+ } -+ } -+ -+ if (contents != NULL -+ && elf_section_data (sec)->this_hdr.contents != contents) -+ { -+ if (!link_info->keep_memory) -+ free (contents); -+ else -+ { -+ /* Cache the section contents for elf_link_input_bfd. */ -+ elf_section_data (sec)->this_hdr.contents = contents; -+ } -+ } -+ -+ if (internal_relocs != NULL -+ && elf_section_data (sec)->relocs != internal_relocs) -+ free (internal_relocs); -+ -+ -+ return TRUE; -+ -+error_return: -+ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) -+ free (isymbuf); -+ if (contents != NULL -+ && elf_section_data (sec)->this_hdr.contents != contents) -+ free (contents); -+ if (internal_relocs != NULL -+ && elf_section_data (sec)->relocs != internal_relocs) -+ free (internal_relocs); -+ -+ return FALSE; -+} -+ -+/* Delete some bytes from a section while relaxing. -+ * Copied from mn10200 port */ -+ -+static bfd_boolean -+nios2_elf32_relax_delete_bytes (bfd * abfd, -+ asection * sec, bfd_vma addr, int count) -+{ -+ Elf_Internal_Shdr *symtab_hdr; -+ unsigned int sec_shndx; -+ bfd_byte *contents; -+ Elf_Internal_Rela *irel, *irelend; -+ Elf_Internal_Rela *irelalign; -+ bfd_vma toaddr; -+ Elf_Internal_Sym *isym; -+ Elf_Internal_Sym *isymend; -+ struct elf_link_hash_entry **sym_hashes; -+ struct elf_link_hash_entry **end_hashes; -+ unsigned int symcount; -+ asection *asec; -+ -+ sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); -+ -+ contents = elf_section_data (sec)->this_hdr.contents; -+ -+ /* The deletion must stop at the next ALIGN reloc for an aligment -+ power larger than the number of bytes we are deleting. */ -+ -+ irelalign = NULL; -+ /* +1 because we need to readjust symbols at end of section */ -+ toaddr = sec->_cooked_size + 1; -+ -+ irel = elf_section_data (sec)->relocs; -+ irelend = irel + sec->reloc_count; -+ -+ for (; irel < irelend; irel++) -+ { -+ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_ALIGN -+ && irel->r_offset > addr && count < (1 << irel->r_addend)) -+ { -+ irelalign = irel; -+ /* +1 because we need to readjust symbols at end of section */ -+ toaddr = irel->r_offset + 1; -+ break; -+ } -+ } -+ -+ -+ /* Actually delete the bytes. */ -+ memmove (contents + addr, contents + addr + count, -+ (size_t) ((toaddr - 1) - addr - count)); -+ -+ if (irelalign == NULL) -+ sec->_cooked_size -= count; -+ else -+ { -+ int i; -+ -+#define NOP_OPCODE (0x0001883a) -+ -+ BFD_ASSERT ((count & 3) == 0); -+ for (i = 0; i < count; i += 4) -+ bfd_put_32 (abfd, (bfd_vma) NOP_OPCODE, -+ contents + (toaddr - 1) - count + i); -+ } -+ -+ /* get the symbol table */ -+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; -+ isym = (Elf_Internal_Sym *) symtab_hdr->contents; -+ -+ /* Adjust all the reloc offsets in this section. */ -+ for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++) -+ { -+ /* Get the new reloc address. */ -+ if ((irel->r_offset > addr && irel->r_offset < toaddr)) -+ irel->r_offset -= count; -+ } -+ -+ /* Adjust relocations against targets in this section whose positions -+ * have moved as a result of the relaxation */ -+ -+ for (asec = abfd->sections; asec; asec = asec->next) -+ { -+ irelend = elf_section_data (asec)->relocs + asec->reloc_count; -+ for (irel = elf_section_data (asec)->relocs; irel < irelend; irel++) -+ { -+ Elf_Internal_Sym *sym; -+ /* if the symbol which this reloc is against doesn't change -+ * we need to change the reloc addend */ -+ -+ sym = isym + ELF32_R_SYM (irel->r_info); -+ if (sym->st_shndx == sec_shndx -+ && !(sym->st_value > addr && sym->st_value < toaddr) -+ && sym->st_value + irel->r_addend > addr -+ && sym->st_value + irel->r_addend < toaddr) -+ { -+ irel->r_addend -= count; -+ } -+ -+ } -+ } -+ -+ /* Adjust the local symbols defined in this section. */ -+ for (isymend = isym + symtab_hdr->sh_info; isym < isymend; isym++) -+ { -+ if (isym->st_shndx == sec_shndx -+ && isym->st_value > addr && isym->st_value < toaddr) -+ isym->st_value -= count; -+ -+ -+ } -+ -+ /* Now adjust the global symbols defined in this section. */ -+ symcount = (symtab_hdr->sh_size / sizeof (Elf32_External_Sym) -+ - symtab_hdr->sh_info); -+ sym_hashes = elf_sym_hashes (abfd); -+ end_hashes = sym_hashes + symcount; -+ for (; sym_hashes < end_hashes; sym_hashes++) -+ { -+ struct elf_link_hash_entry *sym_hash = *sym_hashes; -+ if ((sym_hash->root.type == bfd_link_hash_defined -+ || sym_hash->root.type == bfd_link_hash_defweak) -+ && sym_hash->root.u.def.section == sec -+ && sym_hash->root.u.def.value > addr -+ && sym_hash->root.u.def.value < toaddr) -+ { -+ sym_hash->root.u.def.value -= count; -+ } -+ } -+ -+ return TRUE; -+} -+ -+struct bfd_link_info *nios2_link_info = NULL; -+ -+void -+_bfd_set_link_info (info) -+ struct bfd_link_info *info; -+{ -+ nios2_link_info = info; -+} -+ -+bfd_boolean linker_force_make_executable = FALSE; -+ -+void -+_bfd_set_force_make_executable (force) -+ bfd_boolean force; -+{ -+ linker_force_make_executable = force; -+} -+ -+/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a -+ dangerous relocation. */ -+ -+static bfd_boolean -+nios2_elf_assign_gp (bfd *output_bfd, bfd_vma *pgp, struct bfd_link_info *info) -+{ -+ -+ bfd_boolean gp_found; -+ struct bfd_hash_entry *h; -+ struct bfd_link_hash_entry *lh; -+ -+ /* If we've already figured out what GP will be, just return it. */ -+ *pgp = _bfd_get_gp_value (output_bfd); -+ if (*pgp) -+ return TRUE; -+ -+ h = bfd_hash_lookup (&info->hash->table, "_gp", FALSE, FALSE); -+ lh = (struct bfd_link_hash_entry *) h; -+lookup: -+ if (lh) -+ { -+ switch (lh->type) -+ { -+ case bfd_link_hash_undefined: -+ case bfd_link_hash_undefweak: -+ case bfd_link_hash_common: -+ gp_found = FALSE; -+ break; -+ case bfd_link_hash_defined: -+ case bfd_link_hash_defweak: -+ gp_found = TRUE; -+ *pgp = lh->u.def.value; -+ break; -+ case bfd_link_hash_indirect: -+ case bfd_link_hash_warning: -+ lh = lh->u.i.link; -+ /* @@FIXME ignoring warning for now */ -+ goto lookup; -+ case bfd_link_hash_new: -+ default: -+ abort (); -+ } -+ } -+ else -+ gp_found = FALSE; -+ -+ if (!gp_found) -+ { -+ /* Only get the error once. */ -+ *pgp = 4; -+ _bfd_set_gp_value (output_bfd, *pgp); -+ return FALSE; -+ } -+ -+ _bfd_set_gp_value (output_bfd, *pgp); -+ -+ return TRUE; -+} -+ -+/* We have to figure out the gp value, so that we can adjust the -+ symbol value correctly. We look up the symbol _gp in the output -+ BFD. If we can't find it, we're stuck. We cache it in the ELF -+ target data. We don't need to adjust the symbol value for an -+ external symbol if we are producing relocatable output. */ -+ -+static bfd_reloc_status_type -+nios2_elf_final_gp (bfd *output_bfd, asymbol *symbol, bfd_boolean relocatable, -+ char **error_message, bfd_vma *pgp, struct bfd_link_info *info) -+{ -+ if (bfd_is_und_section (symbol->section) && !relocatable) -+ { -+ *pgp = 0; -+ return bfd_reloc_undefined; -+ } -+ -+ *pgp = _bfd_get_gp_value (output_bfd); -+ if (*pgp == 0 && (!relocatable || (symbol->flags & BSF_SECTION_SYM) != 0)) -+ { -+ /* if this is called without link_info, then -+ we cannot be doing a final link */ -+ if (info == NULL) -+ relocatable = TRUE; -+ -+ if (relocatable) -+ { -+ /* Make up a value. */ -+ *pgp = symbol->section->output_section->vma + 0x4000; -+ _bfd_set_gp_value (output_bfd, *pgp); -+ } -+ else if (!nios2_elf_assign_gp (output_bfd, pgp, info)) -+ { -+ *error_message = -+ (char *) -+ _("global pointer relative relocation when _gp not defined"); -+ return bfd_reloc_dangerous; -+ } -+ } -+ -+ return bfd_reloc_ok; -+} -+ -+ -+/* Relocations that require special handling */ -+ -+/* This is for relocations used only when relaxing to ensure -+ * changes in size of section don't screw up .align */ -+static bfd_reloc_status_type -+nios2_elf32_ignore_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry, -+ asymbol *symbol ATTRIBUTE_UNUSED, void *data ATTRIBUTE_UNUSED, -+ asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED) -+{ -+ if (output_bfd != NULL) -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_hi16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, void *data, -+ asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED) -+{ -+ /* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_hi16_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + symbol->section->output_section->vma -+ + symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_lo16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED) -+{ -+/* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_lo16_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + symbol->section->output_section->vma -+ + symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_hiadj16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, -+ char **error_message ATTRIBUTE_UNUSED) -+{ -+/* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_hiadj16_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + -+ symbol->section->output_section-> -+ vma + -+ symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_pcrel16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, -+ char **error_message ATTRIBUTE_UNUSED) -+{ -+/* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_pcrel16_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + -+ symbol->section->output_section-> -+ vma + -+ symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_call26_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED) -+{ -+/* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_call26_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + -+ symbol->section->output_section-> -+ vma + -+ symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_gprel_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **msg) -+{ -+ bfd_vma relocation; -+ bfd_vma gp; -+ bfd_reloc_status_type r; -+ -+ -+/* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ relocation = symbol->value -+ + symbol->section->output_section->vma + symbol->section->output_offset; -+ -+ if ((r = -+ nios2_elf_final_gp (abfd, symbol, FALSE, msg, &gp, -+ nios2_link_info)) == bfd_reloc_ok) -+ { -+ relocation = relocation + reloc_entry->addend - gp; -+ reloc_entry->addend = 0; -+ if ((signed) relocation < -32768 || (signed) relocation > 32767) -+ { -+ *msg = _("global pointer relative address out of range"); -+ r = bfd_reloc_outofrange; -+ } -+ else -+ { -+ r = nios2_elf32_do_gprel_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ relocation, reloc_entry->addend); -+ } -+ } -+ -+ return r; -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_ujmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) -+{ -+ /* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_ujmp_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + symbol->section->output_section->vma -+ + symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_cjmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) -+{ -+ /* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ return nios2_elf32_do_cjmp_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + symbol->section->output_section->vma -+ + symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_callr_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, -+ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED) -+{ -+ /* This part is from bfd_elf_generic_reloc. */ -+ if (output_bfd != (bfd *) NULL -+ && (symbol->flags & BSF_SECTION_SYM) == 0 -+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0)) -+ { -+ reloc_entry->address += input_section->output_offset; -+ return bfd_reloc_ok; -+ } -+ -+ if (output_bfd != NULL) -+ /* FIXME: See bfd_perform_relocation. Is this right? */ -+ return bfd_reloc_ok; -+ -+ -+ return nios2_elf32_do_callr_relocate (abfd, reloc_entry->howto, -+ input_section, -+ data, reloc_entry->address, -+ (symbol->value -+ + -+ symbol->section->output_section-> -+ vma + -+ symbol->section->output_offset), -+ reloc_entry->addend); -+} -+ -+/* Do the relocations which require special handling */ -+ -+static bfd_reloc_status_type -+nios2_elf32_do_hi16_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_value = (symbol_value >> 16) & 0xffff; -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_value, addend); -+} -+ -+ -+static bfd_reloc_status_type -+nios2_elf32_do_lo16_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_value = symbol_value & 0xffff; -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_value, addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_hiadj16_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, bfd_vma offset, -+ bfd_vma symbol_value, bfd_vma addend) -+{ -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_value = -+ ((symbol_value >> 16) & 0xffff) + ((symbol_value >> 15) & 0x01); -+ return _bfd_final_link_relocate (howto, abfd, input_section, data, offset, -+ symbol_value, addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_pcrel16_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ // NIOS2 pc relative relocations are relative to the next 32-bit instruction so we need -+ // to subtract 4 before doing a final_link_relocate -+ symbol_value = symbol_value + addend - 4; -+ addend = 0; -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_value, addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_call26_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ /* check that the relocation is in the same page as the current address */ -+ if (((symbol_value + addend) & 0xf0000000) -+ != ((input_section->output_section->vma + offset) & 0xf0000000)) -+ return bfd_reloc_overflow; -+ -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_value, addend); -+} -+ -+ -+static bfd_reloc_status_type -+nios2_elf32_do_gprel_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ // because we need the output_bfd, the special handling is done -+ // in nios2_elf32_relocate_section or in nios2_elf32_gprel_relocate -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_value, addend); -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_ujmp_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ bfd_vma symbol_lo16, symbol_hi16; -+ bfd_reloc_status_type r; -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_hi16 = (symbol_value >> 16) & 0xffff; -+ symbol_lo16 = symbol_value & 0xffff; -+ -+ r = _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_hi16, addend); -+ -+ if (r == bfd_reloc_ok) -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset + 4, symbol_lo16, addend); -+ -+ return r; -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_cjmp_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ bfd_vma symbol_lo16, symbol_hi16; -+ bfd_reloc_status_type r; -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_hi16 = (symbol_value >> 16) & 0xffff; -+ symbol_lo16 = symbol_value & 0xffff; -+ -+ r = _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_hi16, addend); -+ -+ if (r == bfd_reloc_ok) -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset + 4, symbol_lo16, addend); -+ -+ return r; -+} -+ -+static bfd_reloc_status_type -+nios2_elf32_do_callr_relocate (bfd *abfd, reloc_howto_type *howto, -+ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, -+ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend) -+{ -+ bfd_vma symbol_lo16, symbol_hi16; -+ bfd_reloc_status_type r; -+ symbol_value = symbol_value + addend; -+ addend = 0; -+ symbol_hi16 = (symbol_value >> 16) & 0xffff; -+ symbol_lo16 = symbol_value & 0xffff; -+ -+ r = _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset, symbol_hi16, addend); -+ -+ if (r == bfd_reloc_ok) -+ return _bfd_final_link_relocate (howto, abfd, input_section, -+ data, offset + 4, symbol_lo16, addend); -+ -+ return r; -+} -+ -+/* -+ The function nios2_elf32_relocate_section is used by the linker -+ to perform relocations -+*/ -+static bfd_boolean -+nios2_elf32_relocate_section (bfd * output_bfd, -+ struct bfd_link_info *info, -+ bfd * input_bfd, -+ asection * input_section, -+ bfd_byte * contents, -+ Elf_Internal_Rela * relocs, -+ Elf_Internal_Sym * local_syms, -+ asection ** local_sections) -+{ -+ Elf_Internal_Shdr *symtab_hdr; -+ struct elf_link_hash_entry **sym_hashes; -+ Elf_Internal_Rela *rel; -+ Elf_Internal_Rela *relend; -+ -+ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; -+ sym_hashes = elf_sym_hashes (input_bfd); -+ relend = relocs + input_section->reloc_count; -+ -+// size_t psymalloc = 0; -+// _bfd_generic_link_output_symbols(output_bfd, input_bfd, info, &psymalloc); -+ for (rel = relocs; rel < relend; rel++) -+ { -+ reloc_howto_type *howto; -+ unsigned long r_symndx; -+ Elf_Internal_Sym *sym; -+ asection *sec; -+ struct elf_link_hash_entry *h; -+ bfd_vma relocation; -+ bfd_vma gp; -+ bfd_vma reloc_address; -+ bfd_reloc_status_type r = bfd_reloc_ok; -+ const char *name = NULL; -+ int r_type; -+ const char *format; -+ char msgbuf[256]; -+ const char* msg = (const char*) NULL; -+ -+ -+ -+ r_type = ELF32_R_TYPE (rel->r_info); -+ -+ r_symndx = ELF32_R_SYM (rel->r_info); -+ -+ if (info->relocatable) -+ { -+ /* This is a relocatable link. We don't have to change -+ anything, unless the reloc is against a section symbol, -+ in which case we have to adjust according to where the -+ section symbol winds up in the output section. */ -+ if (r_symndx < symtab_hdr->sh_info) -+ { -+ sym = local_syms + r_symndx; -+ -+ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION) -+ { -+ sec = local_sections[r_symndx]; -+ rel->r_addend += sec->output_offset + sym->st_value; -+ } -+ } -+ continue; -+ } -+ -+ /* This is a final link. */ -+ howto = lookup_howto ((unsigned) ELF32_R_TYPE (rel->r_info)); -+ h = NULL; -+ sym = NULL; -+ sec = NULL; -+ -+ if (r_symndx < symtab_hdr->sh_info) -+ { -+ sym = local_syms + r_symndx; -+ sec = local_sections[r_symndx]; -+ -+ relocation = (sec->output_section->vma -+ + sec->output_offset + sym->st_value); -+ -+ // this ensures that relocations against duplicated symbols -+ // in merged sections that have been removed are fixed up against -+ // the remaining symbol and not the one that has been removed -+ if ((sec->flags & SEC_MERGE) -+ && ELF_ST_TYPE (sym->st_info) == STT_SECTION) -+ { -+ rel->r_addend = -+ _bfd_elf_rel_local_sym (output_bfd, sym, &sec, rel->r_addend); -+ rel->r_addend -= relocation; -+ rel->r_addend += sec->output_section->vma + sec->output_offset; -+ } -+ -+ name = bfd_elf_string_from_elf_section -+ (input_bfd, symtab_hdr->sh_link, sym->st_name); -+ -+ name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name; -+ } -+ else -+ { -+ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; -+ -+ while (h->root.type == bfd_link_hash_indirect -+ || h->root.type == bfd_link_hash_warning) -+ h = (struct elf_link_hash_entry *) h->root.u.i.link; -+ -+ name = h->root.root.string; -+ -+ if (h->root.type == bfd_link_hash_defined -+ || h->root.type == bfd_link_hash_defweak) -+ { -+ sec = h->root.u.def.section; -+ -+ relocation = (h->root.u.def.value -+ + sec->output_section->vma + sec->output_offset); -+ } -+ else if (h->root.type == bfd_link_hash_undefweak) -+ { -+ relocation = 0; -+ } -+ else -+ { -+ if (!((*info->callbacks->undefined_symbol) -+ (info, h->root.root.string, input_bfd, -+ input_section, rel->r_offset, TRUE))) -+ return FALSE; -+ relocation = 0; -+ } -+ } -+ -+ if (sec) -+ reloc_address = sec->output_section->vma + sec->output_offset + rel->r_offset; -+ else -+ reloc_address = 0; -+ -+ if (howto != NULL) -+ { -+ switch (howto->type) -+ { -+ case R_NIOS2_HI16: -+ r = -+ nios2_elf32_do_hi16_relocate (input_bfd, howto, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ break; -+ case R_NIOS2_LO16: -+ r = -+ nios2_elf32_do_lo16_relocate (input_bfd, howto, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ break; -+ case R_NIOS2_HIADJ16: -+ r = -+ nios2_elf32_do_hiadj16_relocate (input_bfd, howto, -+ input_section, contents, -+ rel->r_offset, relocation, -+ rel->r_addend); -+ break; -+ case R_NIOS2_PCREL16: -+ r = -+ nios2_elf32_do_pcrel16_relocate (input_bfd, howto, -+ input_section, contents, -+ rel->r_offset, relocation, -+ rel->r_addend); -+ break; -+ case R_NIOS2_GPREL: -+ // turns an absolute address into a gp-relative address -+ if (!nios2_elf_assign_gp (output_bfd, &gp, info)) -+ { -+ format = _("global pointer relative relocation at address 0x%08x when _gp not defined\n"); -+ sprintf(msgbuf, format, reloc_address); -+ msg = msgbuf; -+ r = bfd_reloc_dangerous; -+ } -+ else -+ { -+ bfd_vma symbol_address = rel->r_addend + relocation; -+ relocation = relocation + rel->r_addend - gp; -+ rel->r_addend = 0; -+ if ((signed) relocation < -32768 -+ || (signed) relocation > 32767) -+ { -+ format = _("Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) " -+ "because the offset (%d) is out of the allowed range, -32678 to 32767.\n" ); -+ sprintf(msgbuf, format, name, symbol_address, gp, (signed)relocation); -+ msg = msgbuf; -+ r = bfd_reloc_outofrange; -+ } -+ else -+ { -+ r = -+ _bfd_final_link_relocate (howto, input_bfd, -+ input_section, contents, -+ rel->r_offset, relocation, -+ rel->r_addend); -+ } -+ } -+ -+ break; -+ case R_NIOS2_UJMP: -+ r = -+ nios2_elf32_do_ujmp_relocate (input_bfd, howto, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ break; -+ case R_NIOS2_CJMP: -+ r = -+ nios2_elf32_do_cjmp_relocate (input_bfd, howto, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ break; -+ case R_NIOS2_CALLR: -+ r = -+ nios2_elf32_do_callr_relocate (input_bfd, howto, -+ input_section, contents, -+ rel->r_offset, relocation, -+ rel->r_addend); -+ break; -+ case R_NIOS2_CALL26: -+ r = -+ nios2_elf32_do_call26_relocate (input_bfd, howto, -+ input_section, contents, -+ rel->r_offset, relocation, -+ rel->r_addend); -+ break; -+ case R_NIOS2_ALIGN: -+ r = bfd_reloc_ok; -+ /* comment - for symmetry this would be -+ r = nios2_elf32_do_ignore_reloc (input_bfd, howto, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ but do_ignore_reloc would do no more than return bfd_reloc_ok */ -+ break; -+ default: -+ r = _bfd_final_link_relocate (howto, input_bfd, input_section, -+ contents, rel->r_offset, -+ relocation, rel->r_addend); -+ break; -+ } -+ } -+ else -+ { -+ r = bfd_reloc_notsupported; -+ } -+ -+ if (r != bfd_reloc_ok) -+ { -+ if (h != NULL) -+ name = h->root.root.string; -+ else -+ { -+ name = (bfd_elf_string_from_elf_section -+ (input_bfd, symtab_hdr->sh_link, sym->st_name)); -+ if (name == NULL || *name == '\0') -+ name = bfd_section_name (input_bfd, sec); -+ } -+ -+ switch (r) -+ { -+ case bfd_reloc_overflow: -+ r = info->callbacks->reloc_overflow -+ (info, name, howto->name, (bfd_vma) 0, -+ input_bfd, input_section, rel->r_offset); -+ break; -+ -+ case bfd_reloc_undefined: -+ r = info->callbacks->undefined_symbol -+ (info, name, input_bfd, input_section, rel->r_offset, TRUE); -+ break; -+ -+ case bfd_reloc_outofrange: -+ if (msg == NULL) -+ msg = _("relocation out of range"); -+ break; -+ -+ case bfd_reloc_notsupported: -+ if (msg == NULL) -+ msg = _("unsupported relocation"); -+ break; -+ -+ case bfd_reloc_dangerous: -+ if (msg == NULL) -+ msg = _("dangerous relocation"); -+ break; -+ -+ default: -+ if (msg == NULL) -+ msg = _("unknown error"); -+ break; -+ } -+ -+ if (msg) -+ { -+ r = info->callbacks->warning -+ (info, msg, name, input_bfd, input_section, rel->r_offset); -+ return linker_force_make_executable; -+ } -+ } -+ } -+ return TRUE; -+} -+ -+ -+ -+/* Handle an NIOS2 specific section when reading an object file. This -+ is called when elfcode.h finds a section with an unknown type. -+ FIXME: We need to handle the SHF_NIOS2_GPREL flag */ -+ -+static bfd_boolean -+nios2_elf32_section_from_shdr (bfd *abfd, -+ Elf_Internal_Shdr *hdr, const char *name) -+{ -+ asection *newsect; -+ -+ /* NG - I'm keeping this code commented out at the moment -+ in case we add a .mdebug section */ -+ -+ /* -+ switch (hdr->sh_type) -+ { -+ case SHT_NIOS2_DEBUG: -+ if (strcmp (name, ".mdebug") != 0) -+ return FALSE; -+ break; -+ default: -+ return FALSE; -+ } -+ */ -+ -+ if (!_bfd_elf_make_section_from_shdr (abfd, hdr, name)) -+ return FALSE; -+ -+ newsect = hdr->bfd_section; -+ -+ /* ditto */ -+ /* -+ if (hdr->sh_type == SHT_NIOS2_DEBUG) -+ { -+ if (! bfd_set_section_flags (abfd, newsect, -+ (bfd_get_section_flags (abfd, newsect) -+ | SEC_DEBUGGING))) -+ return FALSE; -+ } -+ */ -+ return TRUE; -+} -+ -+/* Convert NIOS2 specific section flags to bfd internal section flags. */ -+ -+static bfd_boolean -+nios2_elf32_section_flags (flagword *flags, Elf_Internal_Shdr *hdr) -+{ -+ if (hdr->sh_flags & SHF_NIOS2_GPREL) -+ *flags |= SEC_SMALL_DATA; -+ -+ return TRUE; -+} -+ -+/* Set the correct type for an NIOS2 ELF section. We do this by the -+ section name, which is a hack, but ought to work. */ -+ -+static bfd_boolean -+nios2_elf32_fake_sections (bfd *abfd ATTRIBUTE_UNUSED, -+ Elf_Internal_Shdr *hdr, asection *sec) -+{ -+ register const char *name; -+ -+ name = bfd_get_section_name (abfd, sec); -+ -+ if (strcmp (name, ".mdebug") == 0) -+ { -+ /* we don't yet have an .mdebug section, but I'm leaving this here -+ in case we ever do -+ hdr->sh_type = SHT_NIOS2_DEBUG; -+ -+ if ((abfd->flags & DYNAMIC) != 0 ) -+ hdr->sh_entsize = 0; -+ else -+ hdr->sh_entsize = 1; -+ */ -+ } -+ else if ((sec->flags & SEC_SMALL_DATA) -+ || strcmp (name, ".sdata") == 0 -+ || strcmp (name, ".sbss") == 0 -+ || strcmp (name, ".lit4") == 0 || strcmp (name, ".lit8") == 0) -+ hdr->sh_flags |= SHF_NIOS2_GPREL; -+ -+ return TRUE; -+} -+ -+/* Look through the relocs for a section during the first phase. -+ Since we don't do .gots or .plts, we just need to consider the -+ virtual table relocs for gc. */ -+ -+static bfd_boolean -+nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, -+ asection *sec, const Elf_Internal_Rela *relocs) -+{ -+ Elf_Internal_Shdr *symtab_hdr; -+ struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; -+ const Elf_Internal_Rela *rel; -+ const Elf_Internal_Rela *rel_end; -+ -+ if (info->relocatable) -+ return TRUE; -+ -+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; -+ sym_hashes = elf_sym_hashes (abfd); -+ sym_hashes_end = -+ sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); -+ if (!elf_bad_symtab (abfd)) -+ sym_hashes_end -= symtab_hdr->sh_info; -+ -+ rel_end = relocs + sec->reloc_count; -+ for (rel = relocs; rel < rel_end; rel++) -+ { -+ struct elf_link_hash_entry *h; -+ unsigned long r_symndx; -+ -+ r_symndx = ELF32_R_SYM (rel->r_info); -+ if (r_symndx < symtab_hdr->sh_info) -+ h = NULL; -+ else -+ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; -+ -+ switch (ELF32_R_TYPE (rel->r_info)) -+ { -+ /* This relocation describes the C++ object vtable hierarchy. -+ Reconstruct it for later use during GC. */ -+ case R_NIOS2_GNU_VTINHERIT: -+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) -+ return FALSE; -+ break; -+ -+ /* This relocation describes which C++ vtable entries are actually -+ used. Record for later use during GC. */ -+ case R_NIOS2_GNU_VTENTRY: -+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) -+ return FALSE; -+ break; -+ } -+ } -+ -+ return TRUE; -+} -+ -+ -+/* Return the section that should be marked against GC for a given -+ relocation. */ -+ -+asection * -+nios2_elf32_gc_mark_hook (asection *sec, -+ struct bfd_link_info *info ATTRIBUTE_UNUSED, -+ Elf_Internal_Rela *rel, struct elf_link_hash_entry *h, -+ Elf_Internal_Sym *sym) -+{ -+ if (h != NULL) -+ { -+ switch (ELF32_R_TYPE (rel->r_info)) -+ { -+ case R_NIOS2_GNU_VTINHERIT: -+ case R_NIOS2_GNU_VTENTRY: -+ break; -+ -+ default: -+ switch (h->root.type) -+ { -+ case bfd_link_hash_defined: -+ case bfd_link_hash_defweak: -+ return h->root.u.def.section; -+ -+ case bfd_link_hash_common: -+ return h->root.u.c.p->section; -+ -+ default: -+ break; -+ } -+ } -+ } -+ else -+ return bfd_section_from_elf_index (sec->owner, sym->st_shndx); -+ -+ return NULL; -+} -+ -+/* -+ NG ??? I'm marking the sections as standalone ie. I'm linking for -+ standalone embedded applications, not for UNIX System V or any other -+ OS/ABI - this may need to change when we deal with embedded PIC or -+ dynamic linking -+*/ -+ -+static void -+nios2_elf32_post_process_headers (bfd *abfd, -+ struct bfd_link_info *link_info ATTRIBUTE_UNUSED) -+{ -+ Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */ -+ -+ i_ehdrp = elf_elfheader (abfd); -+ i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_STANDALONE; -+} -+ -+#define ELF_ARCH bfd_arch_nios2 -+#define ELF_MACHINE_CODE EM_ALTERA_NIOS2 -+ -+/* for now we just make this 1, as we have no MMU in New Jersey */ -+ -+#define ELF_MAXPAGESIZE 1 -+ -+/* relocation table lookup macros */ -+ -+#define bfd_elf32_bfd_reloc_type_lookup nios2_elf32_bfd_reloc_type_lookup -+ -+/* JUMP_TABLE_LINK macros */ -+ -+#define bfd_elf32_bfd_relax_section nios2_elf32_relax_section -+ -+/* elf_info_to_howto (using RELA relocations) */ -+ -+#define elf_info_to_howto nios2_elf32_info_to_howto -+ -+/* elf backend functions */ -+ -+#define elf_backend_can_gc_sections 1 -+ -+#define elf_backend_relocate_section nios2_elf32_relocate_section -+#define elf_backend_section_from_shdr nios2_elf32_section_from_shdr -+#define elf_backend_section_flags nios2_elf32_section_flags -+#define elf_backend_fake_sections nios2_elf32_fake_sections -+#define elf_backend_post_process_headers nios2_elf32_post_process_headers -+#define elf_backend_check_relocs nios2_elf32_check_relocs -+ -+#define elf_backend_gc_mark_hook nios2_elf32_gc_mark_hook -+ -+ -+ -+/* Support for SGI-ish mips targets. */ -+#define TARGET_LITTLE_SYM bfd_elf32_littlenios2_vec -+#define TARGET_LITTLE_NAME "elf32-littlenios2" -+#define TARGET_BIG_SYM bfd_elf32_bignios2_vec -+#define TARGET_BIG_NAME "elf32-bignios2" -+ -+#include "elf32-target.h" -diff --git a/bfd/libbfd.h b/bfd/libbfd.h -index 62043f3..3335b04 100644 ---- a/bfd/libbfd.h -+++ b/bfd/libbfd.h -@@ -1504,6 +1504,21 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", - "BFD_RELOC_MSP430_16", - "BFD_RELOC_MSP430_16_PCREL_BYTE", - "BFD_RELOC_MSP430_16_BYTE", -+ "BFD_RELOC_NIOS2_S16", -+ "BFD_RELOC_NIOS2_U16", -+ "BFD_RELOC_NIOS2_CALL26", -+ "BFD_RELOC_NIOS2_IMM5", -+ "BFD_RELOC_NIOS2_CACHE_OPX", -+ "BFD_RELOC_NIOS2_IMM6", -+ "BFD_RELOC_NIOS2_IMM8", -+ "BFD_RELOC_NIOS2_HI16", -+ "BFD_RELOC_NIOS2_LO16", -+ "BFD_RELOC_NIOS2_HIADJ16", -+ "BFD_RELOC_NIOS2_GPREL", -+ "BFD_RELOC_NIOS2_UJMP", -+ "BFD_RELOC_NIOS2_CJMP", -+ "BFD_RELOC_NIOS2_CALLR", -+ "BFD_RELOC_NIOS2_ALIGN", - "BFD_RELOC_IQ2000_OFFSET_16", - "BFD_RELOC_IQ2000_OFFSET_21", - "BFD_RELOC_IQ2000_UHI16", -diff --git a/bfd/reloc.c b/bfd/reloc.c -index 9bffaa3..8807b30 100644 ---- a/bfd/reloc.c -+++ b/bfd/reloc.c -@@ -3943,6 +3943,39 @@ ENUMDOC - msp430 specific relocation codes - - ENUM -+ BFD_RELOC_NIOS2_S16 -+ENUMX -+ BFD_RELOC_NIOS2_U16 -+ENUMX -+ BFD_RELOC_NIOS2_CALL26 -+ENUMX -+ BFD_RELOC_NIOS2_IMM5 -+ENUMX -+ BFD_RELOC_NIOS2_CACHE_OPX -+ENUMX -+ BFD_RELOC_NIOS2_IMM6 -+ENUMX -+ BFD_RELOC_NIOS2_IMM8 -+ENUMX -+ BFD_RELOC_NIOS2_HI16 -+ENUMX -+ BFD_RELOC_NIOS2_LO16 -+ENUMX -+ BFD_RELOC_NIOS2_HIADJ16 -+ENUMX -+ BFD_RELOC_NIOS2_GPREL -+ENUMX -+ BFD_RELOC_NIOS2_UJMP -+ENUMX -+ BFD_RELOC_NIOS2_CJMP -+ENUMX -+ BFD_RELOC_NIOS2_CALLR -+ENUMX -+ BFD_RELOC_NIOS2_ALIGN -+ENUMDOC -+ Relocations used by the Altera New Jersey core -+ -+ENUM - BFD_RELOC_IQ2000_OFFSET_16 - ENUMX - BFD_RELOC_IQ2000_OFFSET_21 -diff --git a/bfd/srec.c b/bfd/srec.c -index c0a3d58..1a1d0ce 100644 ---- a/bfd/srec.c -+++ b/bfd/srec.c -@@ -1009,9 +1009,14 @@ srec_write_header (abfd) - { - unsigned int len = strlen (abfd->filename); - -- /* I'll put an arbitrary 40 char limit on header size. */ -- if (len > 40) -- len = 40; -+ /* validate Chunk for header */ -+ if (Chunk == 0) -+ Chunk = 1; -+ else if (Chunk > MAXCHUNK - 2) /* S0 has 2 address bytes */ -+ Chunk = MAXCHUNK - 2; -+ -+ if (len > Chunk) -+ len = Chunk; - - return srec_write_record (abfd, 0, (bfd_vma) 0, - abfd->filename, abfd->filename + len); -diff --git a/bfd/targets.c b/bfd/targets.c -index cec339c..1833c94 100644 ---- a/bfd/targets.c -+++ b/bfd/targets.c -@@ -559,6 +559,8 @@ extern const bfd_target bfd_elf32_nbigmips_vec; - extern const bfd_target bfd_elf32_nlittlemips_vec; - extern const bfd_target bfd_elf32_ntradbigmips_vec; - extern const bfd_target bfd_elf32_ntradlittlemips_vec; -+extern const bfd_target bfd_elf32_littlenios2_vec; -+extern const bfd_target bfd_elf32_bignios2_vec; - extern const bfd_target bfd_elf32_openrisc_vec; - extern const bfd_target bfd_elf32_or32_big_vec; - extern const bfd_target bfd_elf32_pj_vec; -@@ -746,6 +748,8 @@ extern const bfd_target sco5_core_vec; - extern const bfd_target trad_core_vec; - - extern const bfd_target bfd_elf32_am33lin_vec; -+extern const bfd_target bfd_elf32_littlenios2_vec; -+extern const bfd_target bfd_elf32_bignios2_vec; - static const bfd_target * const _bfd_target_vector[] = { - - #ifdef SELECT_VECS -@@ -854,6 +858,8 @@ static const bfd_target * const _bfd_target_vector[] = { - &bfd_elf32_ntradbigmips_vec, - &bfd_elf32_ntradlittlemips_vec, - #endif -+ &bfd_elf32_littlenios2_vec, -+ &bfd_elf32_bignios2_vec, - &bfd_elf32_openrisc_vec, - &bfd_elf32_or32_big_vec, - &bfd_elf32_pj_vec, -diff --git a/binutils/nios2_binutils_xfail.lst b/binutils/nios2_binutils_xfail.lst -new file mode 100644 -index 0000000..3219223 ---- /dev/null -+++ b/binutils/nios2_binutils_xfail.lst -@@ -0,0 +1 @@ -+No xfails -diff --git a/binutils/objcopy.c b/binutils/objcopy.c -index 9623398..a1b7a05 100644 ---- a/binutils/objcopy.c -+++ b/binutils/objcopy.c -@@ -1705,8 +1705,53 @@ copy_file (const char *input_filename, const char *output_filename, - - delete = ! copy_object (ibfd, obfd); - -+ if (!strcmp (obfd->xvec->name, "srec") -+ && (!strcmp (ibfd->xvec->name, "elf32-bignios2") -+ || !strcmp (ibfd->xvec->name, "elf32-littlenios2"))) -+ { -+ /* -+ * We're copying a big-endian or little-endian elf to an srec. -+ * Tag the elf with a hardcoded S0 record so other tools know -+ * which endianness was in the original elf file. -+ * -+ * This is a hack, as srec files don't really have an -+ * endianness. We just need a way to tell tools like -+ * flash2dat.pl which endianness was originally present. -+ * -+ * At some point in the future, we should stop using srec files -+ * entirely: flash2dat and friends should just read the elf file -+ * directly. -+ */ -+ char *new_filename = NULL; -+ const char *orig_filename = obfd->filename; -+ int result; -+ -+ if (!strcmp (ibfd->xvec->name, "elf32-bignios2")) -+ { -+ new_filename = strdup("-EB"); -+ } -+ else -+ { -+ new_filename = strdup("-EL"); -+ } -+ obfd->filename = new_filename; -+ -+ result = bfd_close (obfd); -+ -+ if ( obfd != NULL && new_filename == obfd->filename ) -+ { -+ free(new_filename); -+ obfd->filename = orig_filename; -+ } -+ -+ if (!result) -+ RETURN_NONFATAL (output_filename); -+ } -+ else -+ { - if (!bfd_close (obfd)) - RETURN_NONFATAL (output_filename); -+ } - - if (!bfd_close (ibfd)) - RETURN_NONFATAL (input_filename); -diff --git a/binutils/readelf.c b/binutils/readelf.c -index e95a501..a436778 100644 ---- a/binutils/readelf.c -+++ b/binutils/readelf.c -@@ -110,6 +110,8 @@ - - #include "aout/ar.h" - -+#include "elf/nios2.h" -+ - #include "bucomm.h" - #include "getopt.h" - #include "libiberty.h" -@@ -668,6 +670,7 @@ guess_is_rela (unsigned long e_machine) - case EM_XTENSA: - case EM_XTENSA_OLD: - case EM_M32R: -+ case EM_ALTERA_NIOS2: - return TRUE; - - case EM_MMA: -@@ -1166,6 +1169,10 @@ dump_relocations (FILE *file, - case EM_XTENSA: - rtype = elf_xtensa_reloc_type (type); - break; -+ -+ case EM_ALTERA_NIOS2: -+ rtype = elf_nios2_reloc_type (type); -+ break; - } - - if (rtype == NULL) -@@ -1649,6 +1656,7 @@ get_machine_name (unsigned e_machine) - case EM_IQ2000: return "Vitesse IQ2000"; - case EM_XTENSA_OLD: - case EM_XTENSA: return "Tensilica Xtensa Processor"; -+ case EM_ALTERA_NIOS2: return "Altera Nios II"; - default: - sprintf (buff, _("<unknown>: %x"), e_machine); - return buff; -diff --git a/binutils/testsuite/binutils-all/bintest.s b/binutils/testsuite/binutils-all/bintest.s -index 9e00650..177b08c 100644 ---- a/binutils/testsuite/binutils-all/bintest.s -+++ b/binutils/testsuite/binutils-all/bintest.s -@@ -1,5 +1,8 @@ - .globl text_symbol - .text -+ # this is needed to get the readelf -s, -S and -r tests to work -+ # with nios2 as it has relaxation on by default -+ .set norelax - text_symbol: - static_text_symbol: - .long 1 -diff --git a/configure b/configure -index d11c49b..41c0c64 100755 ---- a/configure -+++ b/configure -@@ -1434,6 +1434,10 @@ case "${target}" in - mips*-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" - ;; -+ nios2*-*-*) -+ skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` -+ noconfigdirs="$noconfigdirs" -+ ;; - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -diff --git a/configure.in b/configure.in -index 6c0c465..c770956 100644 ---- a/configure.in -+++ b/configure.in -@@ -667,6 +667,10 @@ case "${target}" in - mips*-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" - ;; -+ nios2*-*-*) -+ skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` -+ noconfigdirs="$noconfigdirs" -+ ;; - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -diff --git a/gas/Makefile.in b/gas/Makefile.in -index 67ed432..7870a9e 100644 ---- a/gas/Makefile.in -+++ b/gas/Makefile.in -@@ -299,6 +299,7 @@ CPU_TYPES = \ - mn10200 \ - mn10300 \ - msp430 \ -+ nios2 \ - ns32k \ - openrisc \ - or32 \ -@@ -493,6 +494,7 @@ TARGET_CPU_CFILES = \ - config/tc-mn10200.c \ - config/tc-mn10300.c \ - config/tc-msp430.c \ -+ config/tc-nios2.c \ - config/tc-ns32k.c \ - config/tc-openrisc.c \ - config/tc-or32.c \ -@@ -545,6 +547,7 @@ TARGET_CPU_HFILES = \ - config/tc-mn10200.h \ - config/tc-mn10300.h \ - config/tc-msp430.h \ -+ config/tc-nios2.h \ - config/tc-ns32k.h \ - config/tc-openrisc.h \ - config/tc-or32.h \ -@@ -1171,6 +1174,13 @@ DEPTC_msp430_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/msp430.h \ - $(INCDIR)/safe-ctype.h - -+DEPTC_nios2_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ -+ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ -+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h \ -+ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ -+ $(INCDIR)/opcode/nios2.h itbl-ops.h dwarf2dbg.h $(INCDIR)/elf/nios2.h \ -+ $(INCDIR)/elf/reloc-macros.h -+ - DEPTC_ns32k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-ns32k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/opcode/ns32k.h $(INCDIR)/obstack.h -@@ -1824,6 +1834,12 @@ DEPOBJ_msp430_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ - $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ - struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h - -+DEPOBJ_nios2_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ -+ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ -+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h \ -+ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ -+ $(INCDIR)/elf/nios2.h $(INCDIR)/elf/reloc-macros.h -+ - DEPOBJ_ns32k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-ns32k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h -@@ -2349,6 +2365,10 @@ DEP_msp430_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ - $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-msp430.h - -+DEP_nios2_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ -+ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ -+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h -+ - DEP_ns32k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-ns32k.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h - -diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c -index 14d48f2..6d9639f 100644 ---- a/gas/config/obj-elf.c -+++ b/gas/config/obj-elf.c -@@ -53,6 +53,10 @@ - #include "elf/i370.h" - #endif - -+#ifdef TC_NIOS2 -+#include "elf/nios2.h" -+#endif -+ - static void obj_elf_line (int); - static void obj_elf_size (int); - static void obj_elf_type (int); -diff --git a/gas/config/tc-nios2.c b/gas/config/tc-nios2.c -new file mode 100644 -index 0000000..21f994e ---- /dev/null -+++ b/gas/config/tc-nios2.c -@@ -0,0 +1,3197 @@ -+/* tc-nios2.c -- assemble code for a New Jersey processor. -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+ -+ This file is part of GAS. -+ -+ GAS is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ GAS is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GAS; see the file COPYING. If not, write to the Free -+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+ -+#include <stdio.h> -+#include <limits.h> -+#include <string.h> -+#include <stdlib.h> -+#include "as.h" -+#include "opcode/nios2.h" -+#include "elf/nios2.h" -+#include "tc-nios2.h" -+#include "bfd.h" -+#include "dwarf2dbg.h" -+#include "subsegs.h" -+#include "safe-ctype.h" -+ -+/* We can choose our endianness at run-time, regardless of configuration */ -+extern int target_big_endian; -+ -+#ifndef OBJ_ELF -+ /* we are not supporting any other target -+ so we throw a compile time error */ -+OBJ_ELF not defined -+#endif -+ typedef enum -+{ -+ relax_section = 0, -+ relax_none, -+ relax_all -+} -+relax_optionT; -+ -+ -+/* struct contains all assembler options set with .set */ -+struct -+{ -+ /* -+ .set noat -> noat = 1 allows assembly code to use at without warning -+ and macro expansions will generate a warning. -+ .set at -> noat = 0, assembly code using at will warn -+ macro expansions will not generate warnings -+ */ -+ bfd_boolean noat; -+ -+ /* -+ .set nobreak -> nobreak = 1 allows assembly code to use ba,bt without warning -+ .set break -> nobreak = 0, assembly code using ba,bt will warn -+ */ -+ bfd_boolean nobreak; -+ -+ /* -+ .cmd line option -relax-all allows all branches and calls to be replaced -+ with longer versions -+ -no-relax inhibits branch/call conversion -+ default value is relax_section, which relaxes branches within a section -+ */ -+ relax_optionT relax; -+ -+} -+nios2_as_options = -+{ -+FALSE, FALSE, relax_section}; -+ -+ -+typedef struct nios2_insn_reloc -+{ -+ /* any expression in the instruction is parsed into -+ this field which is passed to fix_new_exp() to -+ generate a fixup */ -+ expressionS reloc_expression; -+ -+ /* the type of the relocation to be applied */ -+ bfd_reloc_code_real_type reloc_type; -+ -+ /* pc relative */ -+ unsigned int reloc_pcrel; -+ -+ /* the next relocation to be applied to the instruction */ -+ struct nios2_insn_reloc *reloc_next; -+} -+nios2_insn_relocS; -+ -+ -+/* ------------------------------------------------------------------ -+ This struct is used by the functions in tc-nios2.c to assemble an -+ instruction -+ ------------------------------------------------------------------*/ -+ -+typedef struct nios2_insn_info -+{ -+ /* assembled instruction */ -+ unsigned long insn_code; -+ /* ptr to the relevant bit of the opcode table */ -+ const struct nios2_opcode *insn_nios2_opcode; -+ /* after parsing ptrs to the tokens in the instruction fill this array -+ it is terminated with a null pointer ( hence the first +1 -+ The second +1 is because in some parts of the code the opcode -+ is not counted as a token, but still placed in this array*/ -+ const char *insn_tokens[NIOS2_MAX_INSN_TOKENS + 1 + 1]; -+ -+ /* this holds information used to generate fixups -+ and eventually relocations if it is not null */ -+ nios2_insn_relocS *insn_reloc; -+} -+nios2_insn_infoS; -+ -+ -+/* -+ This struct associates an argument assemble function with -+ an argument syntax string. Used by the assembler to find out -+ how to parse and assemble a set of instruction operands and return the instruction -+ field values -+*/ -+ -+typedef struct nios2_arg_info -+{ -+ const char *args; -+ void (*assemble_args_func) (nios2_insn_infoS * insn_info); -+} -+nios2_arg_infoS; -+ -+/* -+ This struct is used to convert New Jersey pseudo-ops into the -+ corresponding real op -+ */ -+typedef struct nios2_ps_insn_info -+{ -+ const char *pseudo_insn; -+ const char *insn; -+ const char *arg_modifier; -+ void (*arg_modifer_func) (const char *arg, char **parsedArgs, int numArg, -+ int startIndex); -+ int num; -+ int index; -+} -+nios2_ps_insn_infoS; -+ -+ -+ -+/* function prototypes */ -+static void NIOS2_CHECK_ASSEMBLY (unsigned int opcode, -+ const char *exp_opcode); -+static void s_nios2_sdata (int); -+void nios2_assemble_args_dst (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_tsi (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_tsu (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_o (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_m (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_s (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_tis (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_dc (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_cs (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_ldst (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_none (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_dsj (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_is (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_sto (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_d (nios2_insn_infoS * insn_info); -+void nios2_assemble_args_b (nios2_insn_infoS * insn_info); -+ -+nios2_insn_relocS *nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, -+ unsigned int pcrel); -+void nios2_insn_reloc_destroy (nios2_insn_relocS * reloc); -+unsigned long nios2_assemble_expression (const char *exprstr, -+ nios2_insn_infoS * insn, -+ nios2_insn_relocS * prev_reloc, -+ bfd_reloc_code_real_type reloc_type, -+ unsigned int pcrel); -+char *nios2_consume_separator (char *argStr, const char *separator); -+char *nios2_consume_arg (char *argStr, const char *argType); -+void nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs); -+ -+void nios2_modify_arg (const char *modifier, char **parsedArgs, int unused, -+ int index); -+void nios2_append_arg (const char *append, char **parsedArgs, int numAppend, -+ int startIndex); -+void nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert, -+ int startIndex); -+void nios2_swap_args (const char *unused, char **parsedArgs, int index_1, -+ int index_2); -+void nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED, -+ char **parsedArgs, int unused ATTRIBUTE_UNUSED, -+ int index); -+void nios2_translate_pseudo_insn (nios2_insn_infoS * insn); -+valueT md_chars_to_number (char *buf, int n); -+void md_number_to_imm (char *buf, valueT val, int n); -+void md_number_to_disp (char *buf, valueT val, int n); -+void md_number_to_field (char *buf, valueT val, int n); -+static void nios2_align (int log_size, const char *pfill, symbolS * sym); -+static void s_nios2_ucons (int nbytes); -+static void s_nios2_set (int equiv); -+static void s_nios2_align (int ignore); -+static void s_nios2_text (int); -+static void s_nios2_data (int); -+static void s_nios2_section (int); -+static bfd_boolean nios2_coproc_reg (const char *reg_name); -+static void output_insn (void); -+static void output_ubranch (void); -+static void output_cbranch (void); -+static void output_call (void); -+static void output_movia (void); -+static void output_andi (void); -+static void output_addi (void); -+static void output_ori (void); -+static void output_xori (void); -+static int can_evaluate_expr (void); -+static int get_expr_value (void); -+ -+ -+bfd_boolean nios2_check_overflow (valueT fixup, reloc_howto_type * howto); -+ -+/* The known current alignment of the current section. */ -+static int nios2_current_align; -+static segT nios2_current_align_seg; -+ -+/* The last seen label in the current section. This is used to auto-align -+ labels preceeding instructions. */ -+static symbolS *nios2_last_label; -+ -+ -+static int nios2_auto_align_on = 1; -+ -+/* This array holds the chars that always start a comment. If the -+ pre-processor is disabled, these aren't very useful */ -+const char comment_chars[] = "#"; -+ -+/* This array holds the chars that only start a comment at the beginning of -+ a line. If the line seems to have the form '# 123 filename' -+ .line and .file directives will appear in the pre-processed output */ -+/* Note that input_file.c hand checks for '#' at the beginning of the -+ first line of the input file. This is because the compiler outputs -+ #NO_APP at the beginning of its output. */ -+/* Also note that C style comments are always supported. */ -+const char line_comment_chars[] = "#"; -+ -+/* This array holds machine specific line separator characters. */ -+const char line_separator_chars[] = ";"; -+ -+/* Chars that can be used to separate mant from exp in floating point nums */ -+const char EXP_CHARS[] = "eE"; -+ -+/* Chars that mean this number is a floating point constant */ -+/* As in 0f12.456 */ -+/* or 0d1.2345e12 */ -+const char FLT_CHARS[] = "rRsSfFdDxXpP"; -+ -+/* Also be aware that MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT may have to be -+ changed in read.c . Ideally it shouldn't have to know about it at all, -+ but nothing is ideal around here. -+ */ -+ -+/* handle of the OPCODE hash table */ -+static struct hash_control *nios2_opcode_hash = NULL; -+ -+/* handle of the Register hash table */ -+static struct hash_control *nios2_reg_hash = NULL; -+ -+/* handle of the parse args hash table */ -+static struct hash_control *nios2_arg_hash = NULL; -+ -+/* pseudo-op hash table */ -+static struct hash_control *nios2_ps_hash = NULL; -+ -+/* mode of the assembler */ -+typedef enum -+{ -+ NIOS2_MODE_ASSEMBLE, // ordinary operation -+ NIOS2_MODE_TEST // hidden mode used for self testing -+} -+NIOS2_MODE; -+ -+static NIOS2_MODE nios2_mode = NIOS2_MODE_ASSEMBLE; -+ -+/* this function is used to in self-checking mode -+ to check the assembled instruction -+ opcode should be the assembled opcode, and exp_opcode -+ the parsed string representing the expected opcode */ -+void -+NIOS2_CHECK_ASSEMBLY (unsigned int opcode, const char *exp_opcode) -+{ -+ if (nios2_mode == NIOS2_MODE_TEST) -+ { -+ if ((exp_opcode) == NULL) -+ { -+ as_bad (_("expecting opcode string in self test mode")); -+ } -+ else if ((opcode) != strtoul ((exp_opcode), NULL, 16)) -+ { -+ as_bad (_("assembly 0x%08x, expected %s"), (opcode), (exp_opcode)); -+ } -+ } -+} -+ -+/* Machine-dependent command-line options */ -+ -+const char *md_shortopts = "r"; -+ -+struct option md_longopts[] = { -+#define OPTION_RELAX_ALL (OPTION_MD_BASE + 0) -+ {"relax-all", no_argument, NULL, OPTION_RELAX_ALL}, -+#define OPTION_NORELAX (OPTION_MD_BASE + 1) -+ {"no-relax", no_argument, NULL, OPTION_NORELAX}, -+#define OPTION_RELAX_SECTION (OPTION_MD_BASE + 2) -+ {"relax-section", no_argument, NULL, OPTION_RELAX_SECTION}, -+#define OPTION_EB (OPTION_MD_BASE + 3) -+ {"EB", no_argument, NULL, OPTION_EB}, -+#define OPTION_EL (OPTION_MD_BASE + 4) -+ {"EL", no_argument, NULL, OPTION_EL} -+}; -+ -+size_t md_longopts_size = sizeof (md_longopts); -+ -+/* Machine dependent pseudo-ops -+ These are actually assembler directives -+ format of each entry is -+ -+ { "directive", handler_func, param } -+*/ -+const pseudo_typeS md_pseudo_table[] = { -+ {"align", s_nios2_align, 0}, -+ {"text", s_nios2_text, 0}, -+ {"data", s_nios2_data, 0}, -+ {"section", s_nios2_section, 0}, -+ {"section.s", s_nios2_section, 0}, -+ {"sect", s_nios2_section, 0}, -+ {"sect.s", s_nios2_section, 0}, -+ /* .dword and .half are included for -+ compatibility with MIPS */ -+ {"dword", cons, 8}, -+ {"half", cons, 2}, -+ /* NIOS2 native word size is 4 bytes, so we override -+ the GAS default of 2 */ -+ {"word", cons, 4}, -+ /* explicitly unaligned directives */ -+ {"2byte", s_nios2_ucons, 2}, -+ {"4byte", s_nios2_ucons, 4}, -+ {"8byte", s_nios2_ucons, 8}, -+ {"16byte", s_nios2_ucons, 16}, -+#ifdef OBJ_ELF -+ {"sdata", s_nios2_sdata, 0}, -+#endif -+ {"set", s_nios2_set, 0}, -+ {NULL, NULL, 0} -+}; -+ -+#define BYTE_F 32764 -+#define BYTE_B -32768 -+#define ABS (long)0xffffffff /* special value to indicate non-pc relative jmp */ -+ -+#define UBRANCH 1 -+#define UJMP 2 -+#define CBRANCH 3 -+#define CJMP 4 -+ -+ -+#define RELAX_MAX_SIZE(type) nios2_relax_table[nios2_relax_table[type].rlx_more].rlx_length -+#define RELAX_SIZE(type) nios2_relax_table[type].rlx_length -+#define RELAX_SUBSTATE(type) type -+ -+/* machine dependent relaxations */ -+struct relax_type nios2_relax_table[] = { -+ /* first entry unused (ends relaxation sequence) */ -+ {1, 1, 0, 0}, -+ /* unconditional branch */ -+ {BYTE_F, BYTE_B, 4, 2}, /* br label (label is in range) */ -+ /* unconditional jmp */ -+ {ABS, ABS, 12, 0}, /* movhi at, %hi(label) ; ori at, %lo(label) ; jmp at */ -+ /* conditional branch */ -+ {BYTE_F, BYTE_B, 4, 4}, /* br{cond} label (label is in range) */ -+ /* conditional jmp */ -+ {ABS, ABS, 16, 0}, /* br{opp_cond} skip ; movhi at, %hi(label) ; ori at, %lo(label) ; jmp at ; skip: } */ -+}; -+ -+ -+/* this is just the generic relax_frag function but -+ amended to include absolute jmps in the relax table -+ */ -+ -+long -+nios2_relax_frag (segT segment, fragS * fragP, long stretch) -+{ -+ const relax_typeS *this_type; -+ const relax_typeS *start_type; -+ relax_substateT next_state; -+ relax_substateT this_state; -+ long growth; -+ offsetT aim; -+ addressT target; -+ addressT address; -+ symbolS *symbolP; -+ const relax_typeS *table; -+ -+ target = fragP->fr_offset; -+ address = fragP->fr_address; -+ table = nios2_relax_table; -+ this_state = fragP->fr_subtype; -+ start_type = this_type = table + this_state; -+ symbolP = fragP->fr_symbol; -+ -+ if (symbolP) -+ { -+ fragS *sym_frag; -+ -+ sym_frag = symbol_get_frag (symbolP); -+ -+#ifndef DIFF_EXPR_OK -+#if !defined (MANY_SEGMENTS) && !defined (BFD_ASSEMBLER) -+ know ((S_GET_SEGMENT (symbolP) == SEG_ABSOLUTE) -+ || (S_GET_SEGMENT (symbolP) == SEG_DATA) -+ || (S_GET_SEGMENT (symbolP) == SEG_BSS) -+ || (S_GET_SEGMENT (symbolP) == SEG_TEXT)); -+#endif -+ know (sym_frag != NULL); -+#endif -+ know (!(S_GET_SEGMENT (symbolP) == absolute_section) -+ || sym_frag == &zero_address_frag); -+ target += S_GET_VALUE (symbolP); -+ -+ /* If frag has yet to be reached on this pass, -+ assume it will move by STRETCH just as we did. -+ If this is not so, it will be because some frag -+ between grows, and that will force another pass. */ -+ -+ if (stretch != 0 -+ && sym_frag->relax_marker != fragP->relax_marker -+ && S_GET_SEGMENT (symbolP) == segment) -+ { -+ target += stretch; -+ } -+ } -+ -+ -+ /* NG we subtract 4 because all pc relative branches are -+ from the next instruction */ -+ aim = target - address - fragP->fr_fix - 4; -+ -+ if (aim < 0) -+ { -+ /* Look backwards. */ -+ for (next_state = this_type->rlx_more; next_state;) -+ { -+ if (aim >= this_type->rlx_backward -+ || this_type->rlx_backward == ABS) -+ next_state = 0; -+ else -+ { -+ /* Grow to next state. */ -+ this_state = next_state; -+ this_type = table + this_state; -+ next_state = this_type->rlx_more; -+ } -+ } -+ } -+ else -+ { -+ /* Look forwards. */ -+ -+ for (next_state = this_type->rlx_more; next_state;) -+ { -+ if (aim <= this_type->rlx_forward || this_type->rlx_forward == ABS) -+ next_state = 0; -+ else -+ { -+ /* Grow to next state. */ -+ this_state = next_state; -+ this_type = table + this_state; -+ next_state = this_type->rlx_more; -+ } -+ } -+ } -+ -+ -+ growth = this_type->rlx_length - start_type->rlx_length; -+ -+ if (growth != 0) -+ fragP->fr_subtype = this_state; -+ -+ return growth; -+} -+ -+/*-------------------------------------------------------------------------------- -+ The next table associates pointers to functions which parse the arguments to an -+ instruction and fill in the relevant fields of the instruction -+ --------------------------------------------------------------------------------*/ -+ -+const nios2_arg_infoS nios2_arg_info_structs[] = { -+ /* args assemble_args_func */ -+ {"d,s,t", nios2_assemble_args_dst}, -+ {"d,s,t,E", nios2_assemble_args_dst}, -+ {"t,s,i", nios2_assemble_args_tsi}, -+ {"t,s,i,E", nios2_assemble_args_tsi}, -+ {"t,s,u", nios2_assemble_args_tsu}, -+ {"t,s,u,E", nios2_assemble_args_tsu}, -+ {"s,t,o", nios2_assemble_args_sto}, -+ {"s,t,o,E", nios2_assemble_args_sto}, -+ {"o", nios2_assemble_args_o}, -+ {"o,E", nios2_assemble_args_o}, -+ {"s", nios2_assemble_args_s}, -+ {"s,E", nios2_assemble_args_s}, -+ {"", nios2_assemble_args_none}, -+ {"E", nios2_assemble_args_none}, -+ {"i(s)", nios2_assemble_args_is}, -+ {"i(s)E", nios2_assemble_args_is}, -+ {"m", nios2_assemble_args_m}, -+ {"m,E", nios2_assemble_args_m}, -+ {"t,i(s)", nios2_assemble_args_tis}, -+ {"t,i(s)E", nios2_assemble_args_tis}, -+ {"d,c", nios2_assemble_args_dc}, -+ {"d,c,E", nios2_assemble_args_dc}, -+ {"c,s", nios2_assemble_args_cs}, -+ {"c,s,E", nios2_assemble_args_cs}, -+ {"l,d,s,t", nios2_assemble_args_ldst}, -+ {"l,d,s,t,E", nios2_assemble_args_ldst}, -+ {"d,s,j", nios2_assemble_args_dsj}, -+ {"d,s,j,E", nios2_assemble_args_dsj}, -+ {"d", nios2_assemble_args_d}, -+ {"d,E", nios2_assemble_args_d}, -+ {"b", nios2_assemble_args_b}, -+ {"b,E", nios2_assemble_args_b} -+}; -+ -+#define NIOS2_NUM_ARGS \ -+ ((sizeof(nios2_arg_info_structs)/sizeof(nios2_arg_info_structs[0]))) -+const int nios2_num_arg_info_structs = NIOS2_NUM_ARGS; -+ -+ -+const nios2_ps_insn_infoS nios2_ps_insn_info_structs[] = { -+ /* pseudo-op real-op arg arg_modifier_func num index */ -+ {"mov", "add", "zero", nios2_append_arg, 1, 3}, -+ {"movi", "addi", "zero", nios2_insert_arg, 1, 2}, -+ {"movhi", "orhi", "zero", nios2_insert_arg, 1, 2}, -+ {"movui", "ori", "zero", nios2_insert_arg, 1, 2}, -+ {"movia", "orhi", "zero", nios2_insert_arg, 1, 2}, -+ {"nop", "add", "zero", nios2_append_arg, 3, 1}, -+ {"bgt", "blt", "", nios2_swap_args, 1, 2}, -+ {"bgtu", "bltu", "", nios2_swap_args, 1, 2}, -+ {"ble", "bge", "", nios2_swap_args, 1, 2}, -+ {"bleu", "bgeu", "", nios2_swap_args, 1, 2}, -+ {"cmpgt", "cmplt", "", nios2_swap_args, 2, 3}, -+ {"cmpgtu", "cmpltu", "", nios2_swap_args, 2, 3}, -+ {"cmple", "cmpge", "", nios2_swap_args, 2, 3}, -+ {"cmpleu", "cmpgeu", "", nios2_swap_args, 2, 3}, -+ {"cmpgti", "cmpgei", "+1", nios2_modify_arg, 0, 3}, -+ {"cmpgtui", "cmpgeui", "+1", nios2_modify_arg, 0, 3}, -+ {"cmplei", "cmplti", "+1", nios2_modify_arg, 0, 3}, -+ {"cmpleui", "cmpltui", "+1", nios2_modify_arg, 0, 3}, -+ {"subi", "addi", "", nios2_negate_arg, 0, 3} -+ /* add further pseudo-ops here */ -+}; -+ -+#define NIOS2_NUM_PSEUDO_INSNS \ -+ ((sizeof(nios2_ps_insn_info_structs)/sizeof(nios2_ps_insn_info_structs[0]))) -+const int nios2_num_ps_insn_info_structs = NIOS2_NUM_PSEUDO_INSNS; -+ -+/* special relocation directive strings */ -+ -+struct nios2_special_relocS -+{ -+ const char *string; -+ bfd_reloc_code_real_type reloc_type; -+}; -+ -+struct nios2_special_relocS nios2_special_reloc[] = { -+ {"%hiadj", BFD_RELOC_NIOS2_HIADJ16}, -+ {"%hi", BFD_RELOC_NIOS2_HI16}, -+ {"%lo", BFD_RELOC_NIOS2_LO16}, -+ {"%gprel", BFD_RELOC_NIOS2_GPREL} -+}; -+ -+#define NIOS2_NUM_SPECIAL_RELOCS \ -+ (sizeof(nios2_special_reloc)/sizeof(nios2_special_reloc[0])) -+const int nios2_num_special_relocs = NIOS2_NUM_SPECIAL_RELOCS; -+ -+/* -+ The function nios2_modify_arg appends the string modifier to the string contained -+ in the argument at index in the array parsedArgs[] -+*/ -+void -+nios2_modify_arg (const char *modifier, -+ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index) -+{ -+ assert (index < NIOS2_MAX_INSN_TOKENS); -+ -+/* -+ we can't just strcat here because strcat will free the memory pointed to by the first -+ argument and allocate new memory - but at this stage, parsedArgs[index] may point into -+ the middle of a block of allocated memory, so trying to free it will cause a seg fault. -+ -+ */ -+ char *tmp = parsedArgs[index]; -+ parsedArgs[index] = -+ (char *) malloc (strlen (parsedArgs[index]) + strlen (modifier) + 1); -+ strcpy (parsedArgs[index], tmp); -+ strcat (parsedArgs[index], modifier); -+} -+ -+ -+void -+nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED, -+ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index) -+{ -+ char *tmp = parsedArgs[index]; -+ parsedArgs[index] = -+ (char *) malloc (strlen ("~(") + strlen (parsedArgs[index]) + -+ strlen (")+1") + 1); -+ -+ strcpy (parsedArgs[index], "~("); -+ strcat (parsedArgs[index], tmp); -+ strcat (parsedArgs[index], ")+1"); -+} -+ -+/* -+ The function nios2_swap_args swaps the pointers at indices index_1 and -+ index_2 in the array parsedArgs[] - this is used for operand swapping -+ for comparison operations -+ */ -+void -+nios2_swap_args (const char *unused ATTRIBUTE_UNUSED, -+ char **parsedArgs, int index_1, int index_2) -+{ -+ char *tmp; -+ assert (index_1 < NIOS2_MAX_INSN_TOKENS && index_2 < NIOS2_MAX_INSN_TOKENS); -+ tmp = parsedArgs[index_1]; -+ parsedArgs[index_1] = parsedArgs[index_2]; -+ parsedArgs[index_2] = tmp; -+} -+ -+/* -+ This function appends the string append to the array of strings in -+ parsedArgs numAppend times starting at index startIndex in the array -+*/ -+void -+nios2_append_arg (const char *append, char **parsedArgs, int numAppend, -+ int startIndex) -+{ -+ int i, count; -+ char *tmp; -+ -+ assert ((startIndex + numAppend) < NIOS2_MAX_INSN_TOKENS); -+ i = startIndex; -+ count = numAppend; -+ -+ if (nios2_mode == NIOS2_MODE_TEST) -+ tmp = parsedArgs[startIndex]; -+ else -+ tmp = NULL; -+ -+ while (count > 0) -+ { -+ parsedArgs[i] = (char *) append; -+ ++i; -+ --count; -+ } -+ -+ assert (i == (startIndex + numAppend)); -+ parsedArgs[i] = tmp; -+ parsedArgs[i + 1] = NULL; -+} -+ -+/* This function inserts the string insert numInsert times in the array parsedArgs, -+ starting at the index startIndex -+ */ -+void -+nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert, -+ int startIndex) -+{ -+ int i, count, from, to; -+ -+ assert ((startIndex + numInsert) < NIOS2_MAX_INSN_TOKENS); -+ -+ to = startIndex + numInsert; -+ from = startIndex; -+ -+ /* move the existing arguments up to create space */ -+ i = NIOS2_MAX_INSN_TOKENS; -+ while ((i - numInsert) >= startIndex) -+ { -+ parsedArgs[i] = parsedArgs[i - numInsert]; -+ --i; -+ } -+ -+ i = startIndex; -+ count = numInsert; -+ while (count > 0) -+ { -+ parsedArgs[i] = (char *) insert; -+ ++i; -+ --count; -+ } -+} -+ -+/* -+ This function swaps the pseudo-op for a real op -+ FIXME - only works for 1-to-1 correspondence -+ */ -+void -+nios2_translate_pseudo_insn (nios2_insn_infoS * insn) -+{ -+ -+ nios2_ps_insn_infoS *ps_insn; -+ -+ /* find which real insn the pseudo-op transates to and -+ switch the insn_info ptr to point to it */ -+ ps_insn = -+ (nios2_ps_insn_infoS *) hash_find (nios2_ps_hash, -+ insn->insn_nios2_opcode->name); -+ -+ if (ps_insn != NULL) -+ { -+ insn->insn_nios2_opcode = -+ (struct nios2_opcode *) hash_find (nios2_opcode_hash, ps_insn->insn); -+ insn->insn_tokens[0] = insn->insn_nios2_opcode->name; -+ // modify the args so they work with the real insn -+ ps_insn->arg_modifer_func (ps_insn->arg_modifier, -+ (char **) insn->insn_tokens, ps_insn->num, -+ ps_insn->index); -+ } -+ else -+ { -+ // we cannot recover from this -+ as_fatal (_("unrecognized pseudo-instruction %s"), -+ ps_insn->pseudo_insn); -+ } -+} -+ -+/******************************************************************** -+ The following functions are called by machine-independent parts of -+ the assembler -+ ********************************************************************/ -+ -+/* -+ Function : void md_parse_option -+ (char** option_ptr, int* argc_ptr, char*** argv_ptr) -+ -+ Description : -+ -+ */ -+int -+md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) -+{ -+ switch (c) -+ { -+ case 'r': -+ /* hidden option for self-test mode */ -+ nios2_mode = NIOS2_MODE_TEST; -+ break; -+ case OPTION_RELAX_ALL: -+ nios2_as_options.relax = relax_all; -+ break; -+ case OPTION_NORELAX: -+ nios2_as_options.relax = relax_none; -+ break; -+ case OPTION_RELAX_SECTION: -+ nios2_as_options.relax = relax_section; -+ break; -+ case OPTION_EB: -+ target_big_endian = 1; -+ break; -+ case OPTION_EL: -+ target_big_endian = 0; -+ break; -+ default: -+ return 0; -+ break; -+ } -+ -+ return 1; -+} -+ -+/* -+ * We can choose to be big-endian or little-endian at runtime based -+ * on a switch. -+ */ -+const char * -+nios2_target_format (void) -+{ -+ return target_big_endian ? "elf32-bignios2" : "elf32-littlenios2"; -+} -+ -+/* -+ Function : md_show_usage(FILE* stream) -+ -+ Description : machine-dependent usage message -+*/ -+void -+md_show_usage (FILE * stream) -+{ -+ fprintf (stream, "\ -+ NIOS2 options:\n\ -+ -relax-all replace all branch and call instructions with jmp and callr sequences\n\ -+ -relax-section replace identified out of range branches with jmp sequences (default)\n\ -+ -no-relax do not replace any branches or calls\n\ -+ -EB force big-endian byte ordering\n\ -+ -EL force little-endian byte ordering\n"); -+} -+ -+/* -+ Function : void md_begin() -+ -+ Description : -+ This function is called once, at assembler startup time. -+ It should set up all the tables, etc. that the MD part of the -+ assembler will need. -+*/ -+void -+md_begin () -+{ -+ int i; -+ const char *inserted; -+ -+ /* create and fill a hashtable for the New Jersey opcodes, registers and arguments */ -+ nios2_opcode_hash = hash_new (); -+ nios2_reg_hash = hash_new (); -+ nios2_arg_hash = hash_new (); -+ nios2_ps_hash = hash_new (); -+ -+ for (i = 0; i < NUMOPCODES; ++i) -+ { -+ inserted = -+ hash_insert (nios2_opcode_hash, nios2_opcodes[i].name, -+ (PTR) & nios2_opcodes[i]); -+ if (inserted != NULL) -+ { -+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), -+ nios2_opcodes[i].name, inserted); -+ /* Probably a memory allocation problem? Give up now. */ -+ as_fatal (_("Broken assembler. No assembly attempted.")); -+ } -+ } -+ -+ for (i = 0; i < nios2_num_regs; ++i) -+ { -+ inserted = -+ hash_insert (nios2_reg_hash, nios2_regs[i].name, -+ (PTR) & nios2_regs[i]); -+ if (inserted != NULL) -+ { -+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), -+ nios2_regs[i].name, inserted); -+ /* Probably a memory allocation problem? Give up now. */ -+ as_fatal (_("Broken assembler. No assembly attempted.")); -+ } -+ -+ } -+ -+ for (i = 0; i < nios2_num_arg_info_structs; ++i) -+ { -+ inserted = -+ hash_insert (nios2_arg_hash, nios2_arg_info_structs[i].args, -+ (PTR) & nios2_arg_info_structs[i]); -+ if (inserted != NULL) -+ { -+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), -+ nios2_arg_info_structs[i].args, inserted); -+ /* Probably a memory allocation problem? Give up now. */ -+ as_fatal (_("Broken assembler. No assembly attempted.")); -+ } -+ } -+ -+ for (i = 0; i < nios2_num_ps_insn_info_structs; ++i) -+ { -+ inserted = -+ hash_insert (nios2_ps_hash, nios2_ps_insn_info_structs[i].pseudo_insn, -+ (PTR) & nios2_ps_insn_info_structs[i]); -+ if (inserted != NULL) -+ { -+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"), -+ nios2_ps_insn_info_structs[i].pseudo_insn, inserted); -+ /* Probably a memory allocation problem? Give up now. */ -+ as_fatal (_("Broken assembler. No assembly attempted.")); -+ } -+ } -+ -+ /* assembler option defaults */ -+ nios2_as_options.noat = FALSE; -+ nios2_as_options.nobreak = FALSE; -+ -+ /* debug information is incompatible with relaxation */ -+ if (debug_type != DEBUG_UNSPECIFIED) -+ { -+ nios2_as_options.relax = relax_none; -+ } -+ -+ /* initialize the alignment data */ -+ nios2_current_align_seg = now_seg; -+ nios2_last_label = NULL; -+ nios2_current_align = 0; -+} -+ -+ -+ -+ -+/* made this global to avoid changing one function prototype */ -+nios2_insn_infoS insn; -+ -+/* -+ Function: void md_assemble(char* op_str) -+ -+ Description: assembles a single line of Nios II assembly -+ language -+ */ -+void -+md_assemble (char *op_str) -+{ -+ char *argstr; -+ char *op_strdup; -+ nios2_arg_infoS *arg_info; -+ unsigned long saved_pinfo = 0; -+ -+ /* make sure we are aligned on a 4-byte boundary */ -+ if (nios2_current_align < 2) -+ nios2_align (2, NULL, nios2_last_label); -+ else if (nios2_current_align > 2) -+ nios2_current_align = 2; -+ nios2_last_label = NULL; -+ -+ -+ /* we don't want to clobber to op_str -+ because we want to be able to use it in messages */ -+ op_strdup = strdup (op_str); -+ -+ insn.insn_tokens[0] = strtok (op_strdup, " "); -+ argstr = strtok (NULL, ""); -+ -+ /* assemble the opcode */ -+ insn.insn_nios2_opcode = -+ (struct nios2_opcode *) hash_find (nios2_opcode_hash, -+ insn.insn_tokens[0]); -+ insn.insn_reloc = NULL; -+ -+ if (insn.insn_nios2_opcode != NULL) -+ { -+ /* set the opcode for the instruction */ -+ insn.insn_code = insn.insn_nios2_opcode->match; -+ -+ /* parse the arguments pointed to by argstr */ -+ if (nios2_mode == NIOS2_MODE_ASSEMBLE) -+ { -+ nios2_parse_args (argstr, insn.insn_nios2_opcode->args, -+ (char **) &insn.insn_tokens[1]); -+ } -+ else -+ { -+ nios2_parse_args (argstr, insn.insn_nios2_opcode->args_test, -+ (char **) &insn.insn_tokens[1]); -+ } -+ -+ /* we need to preserve the MOVIA macro as this is clobbered by translate_pseudo_insn */ -+ if (insn.insn_nios2_opcode->pinfo == NIOS2_INSN_MACRO_MOVIA) -+ { -+ saved_pinfo = NIOS2_INSN_MACRO_MOVIA; -+ } -+ /* if the instruction is an pseudo-instruction, we want to replace it with its -+ real equivalent, and then continue */ -+ if ((insn.insn_nios2_opcode->pinfo & NIOS2_INSN_MACRO) == -+ NIOS2_INSN_MACRO) -+ { -+ nios2_translate_pseudo_insn (&insn); -+ } -+ -+ /* find the assemble function, and call it */ -+ arg_info = -+ (nios2_arg_infoS *) hash_find (nios2_arg_hash, -+ insn.insn_nios2_opcode->args); -+ if (arg_info != NULL) -+ { -+ arg_info->assemble_args_func (&insn); -+ -+ if (nios2_as_options.relax != relax_none -+ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_UBRANCH) -+ output_ubranch (); -+ else if (nios2_as_options.relax != relax_none -+ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CBRANCH) -+ output_cbranch (); -+ else if (nios2_as_options.relax == relax_all -+ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CALL) -+ output_call (); -+ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ANDI) -+ output_andi (); -+ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ORI) -+ output_ori (); -+ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_XORI) -+ output_xori (); -+ else if (insn.insn_nios2_opcode->pinfo & NIOS2_INSN_ADDI) -+ output_addi (); -+ else if (saved_pinfo == NIOS2_INSN_MACRO_MOVIA) -+ output_movia (); -+ else -+ output_insn (); -+ } -+ else -+ { -+ /* the assembler is broken */ -+ fprintf (stderr, -+ _("internal error: %s is not a valid argument syntax\n"), -+ insn.insn_nios2_opcode->args); -+ /* Probably a memory allocation problem? Give up now. */ -+ as_fatal (_("Broken assembler. No assembly attempted.")); -+ } -+ } -+ else -+ { -+ /* unrecognised instruction - error */ -+ as_bad (_("unrecognised instruction %s"), insn.insn_tokens[0]); -+ } -+} -+ -+/* output a normal instruction */ -+static void -+output_insn () -+{ -+ char *f; -+ nios2_insn_relocS *reloc; -+ -+ f = frag_more (4); -+ /* this allocates enough space for the instruction -+ and puts it in the current frag */ -+ md_number_to_chars (f, insn.insn_code, 4); -+ /* emit debug info */ -+ dwarf2_emit_insn (4); -+ /* create any fixups */ -+ reloc = insn.insn_reloc; -+ while (reloc != NULL) -+ { -+ /* this creates any fixups to be acted on later */ -+ fix_new_exp (frag_now, f - frag_now->fr_literal, 4, -+ &reloc->reloc_expression, reloc->reloc_pcrel, -+ reloc->reloc_type); -+ reloc = reloc->reloc_next; -+ } -+} -+ -+/* output an unconditional branch */ -+static void -+output_ubranch () -+{ -+ char *f; -+ nios2_insn_relocS *reloc; -+ symbolS *symp; -+ offsetT offset; -+ -+ reloc = insn.insn_reloc; -+ -+ /* if the reloc is NULL, there was an error assembling the branch */ -+ if (reloc != NULL) -+ { -+ -+ symp = reloc->reloc_expression.X_add_symbol; -+ offset = reloc->reloc_expression.X_add_number; -+ -+ /* we must tag debug info here since we can't do it after -+ calling frag_var */ -+ dwarf2_emit_insn (4); -+ -+ /* we create a machine dependent frag which can grow -+ to accommodate the largest possible instruction sequence -+ this may generate */ -+ f = frag_var (rs_machine_dependent, -+ RELAX_MAX_SIZE (UBRANCH), -+ RELAX_SIZE (UBRANCH), -+ RELAX_SUBSTATE (UBRANCH), symp, offset, NULL); -+ -+ md_number_to_chars (f, insn.insn_code, 4); -+ -+ /* we leave fixup generation to md_convert_frag */ -+ } -+} -+ -+/* output a conditional branch */ -+static void -+output_cbranch () -+{ -+ char *f; -+ nios2_insn_relocS *reloc; -+ symbolS *symp; -+ offsetT offset; -+ -+ reloc = insn.insn_reloc; -+ -+ /* if the reloc is NULL, there was an error assembling the branch */ -+ if (reloc != NULL) -+ { -+ -+ symp = reloc->reloc_expression.X_add_symbol; -+ offset = reloc->reloc_expression.X_add_number; -+ -+ /* we must tag debug info here since we can't do it after -+ calling frag_var */ -+ dwarf2_emit_insn (4); -+ -+ /* we create a machine dependent frag which can grow -+ to accommodate the largest possible instruction sequence -+ this may generate */ -+ f = frag_var (rs_machine_dependent, -+ RELAX_MAX_SIZE (CBRANCH), -+ RELAX_SIZE (CBRANCH), -+ RELAX_SUBSTATE (CBRANCH), symp, offset, NULL); -+ -+ md_number_to_chars (f, insn.insn_code, 4); -+ -+ -+ /* we leave fixup generation to md_convert_frag */ -+ } -+} -+ -+/* Output a call sequence. Since calls are not pc-relative for NIOS2, -+ but are page-relative, we cannot tell at any stage in assembly -+ whether a call will be out of range since a section may be linked -+ at any address. So if we are relaxing, we convert all call instructions -+ to long call sequences, and rely on the linker to relax them back to -+ short calls */ -+static void -+output_call () -+{ -+ char *f; -+ nios2_insn_relocS *reloc; -+ f = frag_more (12); -+ /* this allocates enough space for the instruction -+ and puts it in the current frag */ -+ reloc = insn.insn_reloc; -+ -+ /* if the reloc is NULL, there was an error assembling the branch */ -+ if (reloc != NULL) -+ { -+ md_number_to_chars (f, OP_MATCH_ORHI | 0x00400000, 4); -+ dwarf2_emit_insn (4); -+ md_number_to_chars (f + 4, OP_MATCH_ORI | 0x08400000, 4); -+ dwarf2_emit_insn (4); -+ md_number_to_chars (f + 8, OP_MATCH_CALLR | 0x08000000, 4); -+ dwarf2_emit_insn (4); -+ fix_new (frag_now, f - frag_now->fr_literal, 4, -+ reloc->reloc_expression.X_add_symbol, -+ reloc->reloc_expression.X_add_number, 0, -+ BFD_RELOC_NIOS2_CALLR); -+ -+ -+ } -+} -+ -+ -+static int -+can_evaluate_expr () -+{ -+ /* remove this check for null and the invalid insn "ori r9, 1234" seg faults */ -+ if (!insn.insn_reloc) -+ { -+ /* ??? Ideally we should do something other than as_fatal here as we can continue to assemble. -+ However this function (actually the output_* functions) should not have been called -+ in the first place once an illegal instruction had been encountered */ -+ as_fatal (_("Invalid instruction encountered, cannot recover. No assembly attempted.")); -+ } -+ -+ if (insn.insn_reloc->reloc_expression.X_op == O_constant) -+ return 1; -+ -+ return 0; -+} -+ -+static int -+get_expr_value () -+{ -+ int value = 0; -+ if (insn.insn_reloc->reloc_expression.X_op == O_constant) -+ value = insn.insn_reloc->reloc_expression.X_add_number; -+ return value; -+} -+ -+/* output an addi - will silently convert to -+ * orhi if rA = r0 and (expr & 0xffff0000) == 0 */ -+static void -+output_addi () -+{ -+ int expr_val = 0; -+ if (can_evaluate_expr ()) -+ { -+ expr_val = get_expr_value (); -+ if (GET_INSN_FIELD (RRS, insn.insn_code) == 0 && -+ (expr_val & 0xffff) == 0 && expr_val != 0) -+ { -+ -+ /* we really want a movhi (orhi) here */ -+ insn.insn_code = (insn.insn_code & ~OP_MATCH_ADDI) | OP_MATCH_ORHI; -+ insn.insn_reloc->reloc_expression.X_add_number = -+ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; -+ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; -+ } -+ } -+ -+ /* output an instruction */ -+ output_insn (); -+} -+ -+static void -+output_andi () -+{ -+ int expr_val = 0; -+ if (can_evaluate_expr ()) -+ { -+ expr_val = get_expr_value (); -+ if (expr_val != 0 && (expr_val & 0xffff) == 0) -+ { -+ /* we really want a movhi (orhi) here */ -+ insn.insn_code = (insn.insn_code & ~OP_MATCH_ANDI) | OP_MATCH_ANDHI; -+ insn.insn_reloc->reloc_expression.X_add_number = -+ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; -+ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; -+ } -+ } -+ -+ /* output an instruction */ -+ output_insn (); -+} -+ -+static void -+output_ori () -+{ -+ int expr_val = 0; -+ if (can_evaluate_expr ()) -+ { -+ expr_val = get_expr_value (); -+ if (expr_val != 0 && (expr_val & 0xffff) == 0) -+ { -+ /* we really want a movhi (orhi) here */ -+ insn.insn_code = (insn.insn_code & ~OP_MATCH_ORI) | OP_MATCH_ORHI; -+ insn.insn_reloc->reloc_expression.X_add_number = -+ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; -+ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; -+ } -+ } -+ -+ /* output an instruction */ -+ output_insn (); -+} -+ -+static void -+output_xori () -+{ -+ int expr_val = 0; -+ if (can_evaluate_expr ()) -+ { -+ expr_val = get_expr_value (); -+ if (expr_val != 0 && (expr_val & 0xffff) == 0) -+ { -+ /* we really want a movhi (orhi) here */ -+ insn.insn_code = (insn.insn_code & ~OP_MATCH_XORI) | OP_MATCH_XORHI; -+ insn.insn_reloc->reloc_expression.X_add_number = -+ (insn.insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; -+ insn.insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; -+ } -+ } -+ -+ /* output an instruction */ -+ output_insn (); -+} -+ -+ -+/* output a movhi/addi pair for the movia pseudo-op */ -+static void -+output_movia () -+{ -+ char *f; -+ nios2_insn_relocS *reloc; -+ f = frag_more (8); -+ unsigned long reg_index = GET_INSN_FIELD (IRT, insn.insn_code); -+ -+ /* this allocates enough space for the instruction -+ and puts it in the current frag */ -+ reloc = insn.insn_reloc; -+ -+ /* if the reloc is NULL, there was an error assembling the movia */ -+ if (reloc != NULL) -+ { -+ md_number_to_chars (f, insn.insn_code, 4); -+ dwarf2_emit_insn (4); -+ md_number_to_chars (f + 4, -+ OP_MATCH_ADDI | (reg_index << OP_SH_IRT) | -+ (reg_index << OP_SH_IRS), 4); -+ dwarf2_emit_insn (4); -+ fix_new (frag_now, f - frag_now->fr_literal, 4, -+ reloc->reloc_expression.X_add_symbol, -+ reloc->reloc_expression.X_add_number, 0, -+ BFD_RELOC_NIOS2_HIADJ16); -+ fix_new (frag_now, f + 4 - frag_now->fr_literal, 4, -+ reloc->reloc_expression.X_add_symbol, -+ reloc->reloc_expression.X_add_number, 0, BFD_RELOC_NIOS2_LO16); -+ -+ } -+} -+ -+/* -+ Function md_chars_to_number takes the sequence of -+ bytes in buf and returns the corresponding value -+ in an int. n must be 1, 2 or 4. -+ */ -+valueT -+md_chars_to_number (char *buf, int n) -+{ -+ int i; -+ valueT val; -+ -+ assert (n == 1 || n == 2 || n == 4); -+ -+ val = 0; -+ if (target_big_endian) -+ { -+ for (i = 0; i < n; ++i) -+ { -+ val = val | ((buf[i] & 0xff) << 8 * (n - (i + 1))); -+ } -+ } -+ else -+ { -+ for (i = 0; i < n; ++i) -+ { -+ val = val | ((buf[i] & 0xff) << 8 * i); -+ } -+ } -+ return val; -+} -+ -+ -+/* -+ Function : void md_number_to_chars(char *buf, valueT val, int n) -+ -+ Description : this function turns a C long int, short int or char -+ into the series of bytes that represent the number -+ on the target machine -+ */ -+void -+md_number_to_chars (char *buf, valueT val, int n) -+{ -+ assert (n == 1 || n == 2 || n == 4); -+ if (target_big_endian) -+ { -+ number_to_chars_bigendian (buf, val, n); -+ } -+ else -+ { -+ number_to_chars_littleendian (buf, val, n); -+ } -+} -+ -+/* -+ Function : void md_number_to_imm(char *buf, valueT val, int n) -+ -+ Description : this function is identical to md_number_to_chars -+ */ -+void -+md_number_to_imm (char *buf, valueT val, int n) -+{ -+ md_number_to_chars (buf, val, n); -+} -+ -+/* -+ Function : void md_number_to_disp(char *buf, valueT val, int n) -+ -+ Description : this function is identical to md_number_to_chars -+ */ -+void -+md_number_to_disp (char *buf, valueT val, int n) -+{ -+ md_number_to_chars (buf, val, n); -+} -+ -+/* -+ Function : void md_number_to_field(char *buf, valueT val, int n) -+ -+ Description : this function is identical to md_number_to_chars -+ */ -+void -+md_number_to_field (char *buf, valueT val, int n) -+{ -+ md_number_to_chars (buf, val, n); -+} -+ -+/* -+ -+ Function : char * md_atof(int type, char *litP,int *sizeP) -+ -+ Description : -+ Turn a string in input_line_pointer into a floating point constant -+ of type TYPE, and store the appropriate bytes in *LITP. The number -+ of LITTLENUMS emitted is stored in *SIZEP. An error message is -+ returned, or NULL on OK. -+ -+ */ -+ -+char * -+md_atof (int type, char *litP, int *sizeP) -+{ -+ int prec; -+ LITTLENUM_TYPE words[4]; -+ char *t; -+ int i; -+ -+ switch (type) -+ { -+ case 'f': -+ prec = 2; -+ break; -+ case 'd': -+ prec = 4; -+ break; -+ default: -+ *sizeP = 0; -+ return _("bad call to md_atof"); -+ } -+ -+ t = atof_ieee (input_line_pointer, type, words); -+ if (t) -+ input_line_pointer = t; -+ -+ *sizeP = prec * 2; -+ -+ if (! target_big_endian) -+ { -+ for (i = prec - 1; i >= 0; i--) -+ { -+ md_number_to_chars (litP, (valueT) words[i], 2); -+ litP += 2; -+ } -+ } -+ else -+ { -+ for (i = 0; i < prec; i++) -+ { -+ md_number_to_chars (litP, (valueT) words[i], 2); -+ litP += 2; -+ } -+ } -+ -+ return NULL; -+} -+ -+ -+ -+int md_short_jump_size; -+int md_long_jump_size; -+ -+void -+md_create_short_jump (char *result_ptr ATTRIBUTE_UNUSED, -+ addressT from_addr ATTRIBUTE_UNUSED, -+ addressT to_addr ATTRIBUTE_UNUSED, -+ fragS * frag ATTRIBUTE_UNUSED, -+ symbolS * to_symbol ATTRIBUTE_UNUSED) -+{ -+ abort (); -+} -+ -+void -+md_create_long_jump (char *ptr ATTRIBUTE_UNUSED, -+ addressT from_addr ATTRIBUTE_UNUSED, -+ addressT to_addr ATTRIBUTE_UNUSED, -+ fragS * frag ATTRIBUTE_UNUSED, -+ symbolS * to_symbol ATTRIBUTE_UNUSED) -+{ -+ abort (); -+} -+ -+int -+md_estimate_size_before_relax (fragS * fragp, segT segment ATTRIBUTE_UNUSED) -+{ -+ /* we only support ELF targets */ -+ -+ switch (nios2_as_options.relax) -+ { -+ case relax_none: -+ case relax_section: -+ break; -+ case relax_all: -+ /* The NIOS2 linker performs relaxation so the assembler -+ always assumes the worst case, so that the linker can -+ replace with a better case if possible - this way, linker -+ relaxation can never cause a short branch to be out of range -+ */ -+ while (nios2_relax_table[fragp->fr_subtype].rlx_more != 0) -+ fragp->fr_subtype = nios2_relax_table[fragp->fr_subtype].rlx_more; -+ break; -+ default: -+ abort (); -+ break; -+ } -+ -+ /* return the estimated size of the frag */ -+ return nios2_relax_table[fragp->fr_subtype].rlx_length; -+} -+ -+ -+void -+md_convert_frag (bfd * headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED, -+ fragS * fragp) -+{ -+ unsigned char *buffer = fragp->fr_literal + fragp->fr_fix; -+ relax_substateT subtype = fragp->fr_subtype; -+ unsigned int growth = RELAX_SIZE (subtype); -+ unsigned int br_opcode, br_op_a, br_op_b; -+ -+ switch (subtype) -+ { -+ case UBRANCH: -+ /* we just need to generate the fixup for the symbol and offset */ -+ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1, -+ BFD_RELOC_16_PCREL); -+ break; -+ case UJMP: -+ /* replace ubranch at fr_fix with : -+ movhi at, %hi(symbol+offset) -+ ori at, %lo(symbol+offset) -+ jmp at -+ */ -+ md_number_to_chars (buffer, OP_MATCH_ORHI | 0x00400000, 4); -+ md_number_to_chars (buffer + 4, OP_MATCH_ORI | 0x08400000, 4); -+ md_number_to_chars (buffer + 8, OP_MATCH_JMP | 0x08000000, 4); -+ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 0, -+ BFD_RELOC_NIOS2_UJMP); -+ break; -+ case CBRANCH: -+ /* we just need to generate the fixup for the symbol and offset */ -+ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1, -+ BFD_RELOC_16_PCREL); -+ break; -+ case CJMP: -+ /* replace cbranch at fr_fix with : -+ b(opposite condition) r, s, skip -+ movhi at, %hi(symbol+offset) -+ ori at, %lo(symbol+offset) -+ jmp at -+ skip: -+ ... -+ */ -+ br_opcode = md_chars_to_number (buffer, 4); -+ -+ switch (br_opcode & OP_MASK_OP) -+ { -+ case OP_MATCH_BEQ: -+ br_opcode = -+ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BNE | (12 << OP_SH_IMM16); -+ break; -+ case OP_MATCH_BNE: -+ br_opcode = -+ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BEQ | (12 << OP_SH_IMM16); -+ break; -+ case OP_MATCH_BGE: -+ case OP_MATCH_BGEU: -+ case OP_MATCH_BLT: -+ case OP_MATCH_BLTU: -+ /* swap the operands */ -+ br_op_a = (br_opcode & OP_MASK_RRT) << 5; -+ br_op_b = (br_opcode & OP_MASK_RRS) >> 5; -+ br_opcode = -+ (br_opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | br_op_a | br_op_b | -+ (12 << OP_SH_IMM16); -+ break; -+ default: -+ as_bad_where (fragp->fr_file, fragp->fr_line, -+ _("expecting conditional branch for relaxation\n")); -+ abort (); -+ } -+ -+ md_number_to_chars (buffer, br_opcode, 4); -+ md_number_to_chars (buffer + 4, OP_MATCH_ORHI | 0x00400000, 4); -+ md_number_to_chars (buffer + 8, OP_MATCH_ORI | 0x08400000, 4); -+ md_number_to_chars (buffer + 12, OP_MATCH_JMP | 0x08000000, 4); -+ fix_new (fragp, fragp->fr_fix + 4, 4, fragp->fr_symbol, -+ fragp->fr_offset, 0, BFD_RELOC_NIOS2_CJMP); -+ break; -+ default: -+ as_bad_where (fragp->fr_file, fragp->fr_line, -+ _("can't relax instruction\n")); -+ abort (); -+ break; -+ } -+ -+ fragp->fr_fix += growth; -+} -+ -+ -+/* round up section size */ -+valueT -+md_section_align (asection * seg ATTRIBUTE_UNUSED, valueT size) -+{ -+ /* I think byte alignment is fine here */ -+ return size; -+} -+ -+ -+int -+nios2_force_relocation (fixS * fixp) -+{ -+ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT -+ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY -+ || fixp->fx_r_type == BFD_RELOC_NIOS2_ALIGN) -+ return 1; -+ -+ return 0; -+} -+ -+/* nios2_fix_adjustable is called to see whether a reloc against a defined symbol -+ should be converted into a reloc against a section. */ -+ -+int -+nios2_fix_adjustable (fixS * fixp) -+{ -+#ifdef OBJ_ELF -+ /* Prevent all adjustments to global symbols. */ -+ if (OUTPUT_FLAVOR == bfd_target_elf_flavour -+ && (S_IS_EXTERN (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy))) -+ return 0; -+#endif -+ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT -+ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY) -+ return 0; -+ -+ return 1; -+} -+ -+/* -+ nios2_frob_symbol is called in adjust_reloc_syms through the macro -+ tc_frob_symbol - it is used to remove *ABS* references from the -+ symbol table -+ */ -+int -+nios2_frob_symbol (symbolS * symp) -+{ -+ if ((OUTPUT_FLAVOR == bfd_target_elf_flavour -+ && (symp) == section_symbol (absolute_section)) -+ || !S_IS_DEFINED (symp)) -+ return 1; -+ else -+ return 0; -+} -+ -+/* -+ The function tc_gen_reloc creates a relocation structure for the -+ fixup fixp, and returns a pointer to it. This structure is passed -+ to bfd_install_relocation so that it can be written to the object -+ file for linking -+*/ -+arelent * -+tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp) -+{ -+ arelent *reloc; -+ reloc = (arelent *) xmalloc (sizeof (arelent)); -+ reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); -+ *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); -+ -+ reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; -+ reloc->addend = fixp->fx_addnumber; -+ reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type); -+ if (reloc->howto == NULL) -+ { -+ as_bad_where (fixp->fx_file, fixp->fx_line, -+ _("can't represent relocation type %s"), -+ bfd_get_reloc_code_name (fixp->fx_r_type)); -+ -+ /* Set howto to a garbage value so that we can keep going. */ -+ reloc->howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_32); -+ assert (reloc->howto != NULL); -+ } -+ return reloc; -+} -+ -+long -+md_pcrel_from (fixS * fixP ATTRIBUTE_UNUSED) -+{ -+ return 0; -+} -+ -+ -+/* Apply a fixup to the object file. */ -+void -+md_apply_fix3 (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED) -+{ -+ const struct nios2_opcode *opcode; -+ enum overflow_type overflow_msg_type; -+ bfd_boolean overflowed = FALSE; -+ valueT fixup = 0; -+ -+ /* assert that the fixup is one we can handle */ -+ assert (fixP != NULL && valP != NULL && -+ (fixP->fx_r_type == BFD_RELOC_8 || -+ fixP->fx_r_type == BFD_RELOC_16 || -+ fixP->fx_r_type == BFD_RELOC_32 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_S16 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_U16 || -+ fixP->fx_r_type == BFD_RELOC_16_PCREL || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_CALL26 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM5 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_CACHE_OPX || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM6 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM8 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_HI16 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_LO16 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_HIADJ16 || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_GPREL || -+ fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT || -+ fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_UJMP || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_CJMP || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_CALLR || -+ fixP->fx_r_type == BFD_RELOC_NIOS2_ALIGN -+ // add other relocs here as we generate them -+ )); -+ -+ -+ /* The value passed in valP can be the value of a fully -+ resolved expression, or it can be the value of a partially -+ resolved expression. In the former case, both fixP->fx_addsy -+ and fixP->fx_subsy are NULL, and fixP->fx_offset == *valP, and -+ we can fix up the instruction that fixP relates to. -+ In the latter case, one or both of fixP->fx_addsy and -+ fixP->fx_subsy are not NULL, and fixP->fx_offset may or may not -+ equal *valP. We don't need to check for fixP->fx_subsy being null -+ because the generic part of the assembler generates an error if -+ it is not an absolute symbol */ -+ -+ if (fixP->fx_addsy != NULL) -+ { -+ fixP->fx_addnumber = fixP->fx_offset; -+ fixP->fx_done = 0; -+ } -+ else -+ { -+ valueT value; -+ -+ char *buf; -+ reloc_howto_type *howto; -+ howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type); -+ -+ if (howto == NULL) -+ { -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _("relocation is not supported")); -+ } -+ else -+ { -+ fixup += *valP; -+ -+ /* If this is a pc-relative relocation, we need to -+ subtract the current offset within the object file -+ FIXME : for some reason fixP->fx_pcrel isn't 1 when it should be -+ so I'm using the howto structure instead to determine this */ -+ if (howto->pc_relative == 1) -+ fixup = fixup - (fixP->fx_frag->fr_address + fixP->fx_where + 4); -+ -+ -+ -+ /* Get the instruction to be fixed up */ -+ buf = fixP->fx_frag->fr_literal + fixP->fx_where; -+ value = md_chars_to_number (buf, 4); -+ -+ /* What opcode is the instruction? This will determine -+ whether we check for overflow in immediate values -+ and what error message we get */ -+ opcode = nios2_find_opcode_hash (value); -+ overflow_msg_type = opcode->overflow_msg; -+ -+ overflowed = nios2_check_overflow (fixup, howto); -+ -+ -+ if (overflowed) -+ { -+ unsigned int range_min; -+ unsigned int range_max; -+ unsigned int address; -+ switch (overflow_msg_type) -+ { -+ case call_target_overflow: -+ range_min = -+ ((fixP->fx_frag->fr_address + -+ fixP->fx_where) & 0xf0000000); -+ range_max = range_min + 0x0fffffff; -+ address = fixup | range_min; -+ -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[call_target_overflow]), -+ address, range_min, range_max); -+ break; -+ case branch_target_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[branch_target_overflow]), -+ fixup, BYTE_B, BYTE_F); -+ break; -+ case address_offset_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[address_offset_overflow]), -+ opcode->name, fixup, -32768, 32767); -+ break; -+ case signed_immed16_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[signed_immed16_overflow]), -+ fixup, -32768, 32767); -+ break; -+ case unsigned_immed16_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[unsigned_immed16_overflow]), -+ fixup, 0, 65535); -+ break; -+ case unsigned_immed5_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[unsigned_immed5_overflow]), -+ fixup, 0, 31); -+ break; -+ case custom_opcode_overflow: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _(overflow_msgs[custom_opcode_overflow]), -+ fixup, 0, 255); -+ break; -+ default: -+ as_bad_where (fixP->fx_file, fixP->fx_line, -+ _ -+ ("unspecified overflow in immediate argument")); -+ break; -+ } -+ } -+ -+ -+ /* apply the rightshift */ -+ fixup >>= howto->rightshift; -+ -+ /* truncate the fixup to right size */ -+ switch (fixP->fx_r_type) -+ { -+ case BFD_RELOC_NIOS2_HI16: -+ fixup = (fixup >> 16) & 0xFFFF; -+ break; -+ case BFD_RELOC_NIOS2_LO16: -+ fixup = fixup & 0xFFFF; -+ break; -+ case BFD_RELOC_NIOS2_HIADJ16: -+ fixup = ((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01); -+ break; -+ default: -+ fixup = -+ (fixup << (32 - howto->bitsize)) >> (32 - howto->bitsize); -+ break; -+ } -+ -+ /* fixup the instruction */ -+ value = (value & ~howto->dst_mask) | (fixup << howto->bitpos); -+ md_number_to_chars (buf, value, 4); -+ } -+ -+ fixP->fx_done = 1; -+ } -+ -+ if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT) -+ { -+ fixP->fx_done = 0; -+ if (fixP->fx_addsy -+ && !S_IS_DEFINED (fixP->fx_addsy) && !S_IS_WEAK (fixP->fx_addsy)) -+ S_SET_WEAK (fixP->fx_addsy); -+ } -+ else if (fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY) -+ { -+ fixP->fx_done = 0; -+ } -+} -+ -+bfd_boolean -+nios2_check_overflow (valueT fixup, reloc_howto_type * howto) -+{ -+ /* apply the rightshift before checking for overflow */ -+ fixup >>= howto->rightshift; -+ -+ /* check for overflow - return TRUE if overflow, FALSE if not */ -+ switch (howto->complain_on_overflow) -+ { -+ case complain_overflow_dont: -+ break; -+ case complain_overflow_bitfield: -+ if ((fixup >> howto->bitsize) != 0) -+ return TRUE; -+ break; -+ case complain_overflow_signed: -+ if ((fixup & 0x80000000) > 0) -+ { -+ /* check for negative overflow */ -+ if ((signed) fixup < ((signed) 0x80000000 >> howto->bitsize)) -+ return TRUE; -+ } -+ else -+ { -+ /* check for positive overflow */ -+ if (fixup >= ((unsigned) 1 << (howto->bitsize - 1))) -+ return TRUE; -+ } -+ break; -+ case complain_overflow_unsigned: -+ if ((fixup >> howto->bitsize) != 0) -+ return TRUE; -+ break; -+ default: -+ as_bad (_("error checking for overflow - broken assembler")); -+ break; -+ } -+ -+ return FALSE; -+} -+ -+/* -+ Function : void md_end() -+ Description : Called just before the assembler exits -+ */ -+void -+md_end () -+{ -+ /* FIXME - not yet implemented */ -+} -+ -+ -+/* -+ Creates a new nios2_insn_relocS and returns a pointer to it -+*/ -+nios2_insn_relocS * -+nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, unsigned int pcrel) -+{ -+ nios2_insn_relocS *retval; -+ retval = (nios2_insn_relocS *) malloc (sizeof (nios2_insn_relocS)); -+ if (retval == NULL) -+ { -+ as_bad (_("can't create relocation")); -+ abort (); -+ } -+ -+ /* fill out the fields with default values */ -+ retval->reloc_next = NULL; -+ retval->reloc_type = reloc_type; -+ retval->reloc_pcrel = pcrel; -+ return retval; -+} -+ -+/* -+ Frees up memory previously allocated by nios2_insn_reloc_new() -+ */ -+void -+nios2_insn_reloc_destroy (nios2_insn_relocS * reloc) -+{ -+ assert (reloc != NULL); -+ free (reloc); -+} -+ -+/* -+ Function : nios2_assemble_expression(char* exprstr) -+ -+ Description : The various nios2_assemble_* functions call this -+ function to generate an expression from a -+ string representing an expression -+ It then tries to evaluate the expression, and -+ if it can, returns its value. -+ If not, it creates a new nios2_insn_relocS -+ and stores the expression and reloc_type -+ for future use -+ */ -+unsigned long -+nios2_assemble_expression (const char *exprstr, -+ nios2_insn_infoS * insn, -+ nios2_insn_relocS * prev_reloc, -+ bfd_reloc_code_real_type reloc_type, -+ unsigned int pcrel) -+{ -+ nios2_insn_relocS *reloc; -+ char *saved_line_ptr; -+ unsigned short value; -+ int i; -+ -+ assert (exprstr != NULL); -+ assert (insn != NULL); -+ -+ /* check for %gprel, %hi, %lo or %hiadj -+ change the relocation type -+ and advance the ptr to the start of -+ the expression proper */ -+ for (i = 0; i < nios2_num_special_relocs; i++) -+ { -+ if (strstr (exprstr, nios2_special_reloc[i].string) != NULL) -+ { -+ reloc_type = nios2_special_reloc[i].reloc_type; -+ exprstr += strlen (nios2_special_reloc[i].string) + 1; -+ break; -+ } -+ } -+ -+ /* we potentially have a relocation */ -+ reloc = nios2_insn_reloc_new (reloc_type, pcrel); -+ if (prev_reloc != NULL) -+ prev_reloc->reloc_next = reloc; -+ else -+ insn->insn_reloc = reloc; -+ -+ /* parse the expression string */ -+ saved_line_ptr = input_line_pointer; -+ input_line_pointer = (char *) exprstr; -+ expression (&reloc->reloc_expression); -+ input_line_pointer = saved_line_ptr; -+ -+ /* this is redundant as the fixup will put this into -+ the instruction, but it is included here so that -+ self-test mode (-r) works */ -+ value = 0; -+ if (nios2_mode == NIOS2_MODE_TEST) -+ { -+ if (reloc->reloc_expression.X_op == O_constant) -+ value = reloc->reloc_expression.X_add_number; -+ } -+ -+ return (unsigned long) value; -+} -+ -+/* -+ The function consume_separate takes a pointer into a string -+ of instruction tokens (args) and a pointer into a string representing -+ the expected sequence of tokens and separators. It finds the first -+ instance of the character pointed to by separator in argStr, and -+ returns a pointer to the next element of argStr, which is the -+ following token in the sequence. -+ */ -+char * -+nios2_consume_separator (char *argStr, const char *separator) -+{ -+ char *argPtr; -+ -+ /* if we have a opcode reg, expr(reg) type instruction, and -+ * we are separating the expr from the (reg), we find the last -+ * (, just in case the expression has brackets */ -+ -+ if (*separator == '(') -+ argPtr = strrchr (argStr, *separator); -+ else -+ argPtr = strchr (argStr, *separator); -+ -+ if (argPtr != NULL) -+ *argPtr++ = 0; -+ else -+ as_bad (_("expecting %c near %s"), *separator, argStr); -+ return argPtr; -+} -+ -+/* -+ The function consume_arg takes a pointer into a string -+ of instruction tokens (args) and a pointer into a string -+ representing the expected sequence of tokens and separators. -+ It checks whether the first argument in argStr is of the -+ expected type, throwing an error if it is not, and returns -+ the pointer argStr. -+ */ -+char * -+nios2_consume_arg (char *argStr, const char *argType) -+{ -+ char *temp; -+ int regno = -1; -+ -+ switch (*argType) -+ { -+ case 'c': -+ if (strncmp (argStr, "ctl", strlen ("ctl")) != 0 -+ && strncmp (argStr, "cpuid", strlen ("cpuid")) != 0 -+ && strncmp (argStr, "status", strlen ("status")) != 0 -+ && strncmp (argStr, "estatus", strlen ("estatus")) != 0 -+ && strncmp (argStr, "bstatus", strlen ("bstatus")) != 0 -+ && strncmp (argStr, "ienable", strlen ("ienable")) != 0 -+ && strncmp (argStr, "ipending", strlen ("ipending")) != 0 -+ && strncmp (argStr, "pteaddr", strlen ("pteaddr")) != 0 -+ && strncmp (argStr, "tlbacc", strlen ("tlbacc")) != 0 -+ && strncmp (argStr, "tlbmisc", strlen ("tlbmisc")) != 0 -+ && strncmp (argStr, "fstatus", strlen ("fstatus")) != 0) -+ { -+ as_bad (_("expecting control register")); -+ } -+ break; -+ case 'd': -+ case 's': -+ case 't': -+ -+ /* we check to make sure we don't have a control register */ -+ if (strncmp (argStr, "ctl", strlen ("ctl")) == 0 -+ || strncmp (argStr, "cpuid", strlen ("cpuid")) == 0 -+ || strncmp (argStr, "status", strlen ("status")) == 0 -+ || strncmp (argStr, "estatus", strlen ("estatus")) == 0 -+ || strncmp (argStr, "bstatus", strlen ("bstatus")) == 0 -+ || strncmp (argStr, "ienable", strlen ("ienable")) == 0 -+ || strncmp (argStr, "ipending", strlen ("ipending")) == 0 -+ || strncmp (argStr, "pteaddr", strlen ("pteaddr")) == 0 -+ || strncmp (argStr, "tlbacc", strlen ("tlbacc")) == 0 -+ || strncmp (argStr, "tlbmisc", strlen ("tlbmisc")) == 0 -+ || strncmp (argStr, "fstatus", strlen ("fstatus")) == 0) -+ { -+ as_bad (_("illegal use of control register")); -+ } -+ -+ /* and whether coprocessor registers are valid here */ -+ if (nios2_coproc_reg (argStr) -+ && insn.insn_nios2_opcode->match != OP_MATCH_CUSTOM) -+ { -+ as_bad (_("illegal use of coprocessor register\n")); -+ } -+ -+ -+ /* extract a register number if the register is of the -+ form r[0-9]+, if it is a normal register, set -+ regno to its number (0-31), else set regno to -1 */ -+ if (argStr[0] == 'r' && ISDIGIT (argStr[1])) -+ { -+ char *p = argStr; -+ -+ ++p; -+ regno = 0; -+ do -+ { -+ regno *= 10; -+ regno += *p - '0'; -+ ++p; -+ } -+ while (ISDIGIT (*p)); -+ } -+ else -+ { -+ regno = -1; -+ } -+ -+ /* and whether we are using at */ -+ if (!nios2_as_options.noat -+ && (regno == 1 -+ || strncmp (argStr, "at", strlen ("at")) == 0)) -+ { -+ as_warn (_("Register at (r1) can sometimes be corrupted by assembler optimizations.\n" -+ "Use .set noat to turn off those optimizations (and this warning).")); -+ } -+ -+ /* and whether we are using oci registers */ -+ if (!nios2_as_options.nobreak -+ && (regno == 25 -+ || strncmp (argStr, "bt", strlen ("bt")) == 0)) -+ { -+ as_warn (_("The debugger will corrupt bt (r25). If you don't need to debug this\n" -+ "code then use .set nobreak to turn off this warning.")); -+ } -+ -+ if (!nios2_as_options.nobreak -+ && (regno == 30 -+ || strncmp (argStr, "ba", strlen ("ba")) == 0)) -+ { -+ as_warn (_("The debugger will corrupt ba (r30). If you don't need to debug this\n" -+ "code then use .set nobreak to turn off this warning.")); -+ } -+ break; -+ case 'i': -+ case 'u': -+ if (*argStr == '%') -+ { -+ if (strstr (argStr, "%hi(") || strstr (argStr, "%lo(") -+ || strstr (argStr, "%hiadj(") || strstr (argStr, "%gprel(")) -+ { -+ // we zap the brackets because we don't want them confused with separators -+ temp = strchr (argStr, '('); -+ if (temp != NULL) -+ *temp = ' '; -+ temp = strchr (argStr, ')'); -+ if (temp != NULL) -+ *temp = ' '; -+ } -+ else -+ { -+ as_bad (_("badly formed expression near %s"), argStr); -+ } -+ } -+ break; -+ case 'm': -+ case 'j': -+ case 'k': -+ case 'l': -+ case 'b': -+ /* we can't have %hi, %lo or %hiadj here */ -+ if (*argStr == '%') -+ as_bad (_("badly formed expression near %s"), argStr); -+ break; -+ default: -+ break; -+ } -+ -+#if 0 -+/* ??? SPR:173865 This is actually supported by the HW but the documentation is a bit funny. -+ The compiler really want the extra register, so let it have it! */ -+ /* checks for jmp 31 */ -+ /* TODO: move test that insn is jmp to somewhere better.*/ -+ if ((strncmp (insn.insn_nios2_opcode->name, "jmp", strlen ("jmp")) == 0) -+ && (regno == 31 -+ || strncmp (argStr, "ra", strlen ("ra")) == 0)) -+ { -+ as_bad (_("It is illegal to jump to the address contained in register ra (r31). " -+ "To return from subroutines called by call or callr, use ret instead of jmp.")); -+ } -+#endif -+ -+ return argStr; -+} -+ -+/* -+ The principal argument parsing function which takes a string -+ representing the instruction arguments, and extracts the argument -+ tokens -+ */ -+void -+nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs) -+{ -+ char *p; -+ char *end = NULL; -+ int i; -+ p = argStr; -+ i = 0; -+ bfd_boolean terminate = FALSE; -+ -+ /* This rest of this function is it too fragile and it mostly works, -+ therefore special case this one */ -+ if (*parseStr == 0 && argStr != 0) -+ { -+ as_bad (_("too many arguments")); -+ parsedArgs[0] = NULL; -+ return; -+ } -+ -+ -+ while (p != NULL && !terminate && i < NIOS2_MAX_INSN_TOKENS) -+ { -+ parsedArgs[i] = nios2_consume_arg (p, parseStr); -+ ++parseStr; -+ if (*parseStr != '\0') -+ { -+ p = nios2_consume_separator (p, parseStr); -+ ++parseStr; -+ } -+ else -+ { -+ /* check that the argument string has no trailing arguments */ -+ /* if we've got a %lo etc relocation, we've zapped the brackets with spaces */ -+ if (strstr (p, "%lo") == p || strstr (p, "%hi") == p -+ || strstr (p, "%hiadj") == p || strstr (p, "%gprel") == p) -+ end = strpbrk (p, ","); -+ else -+ end = strpbrk (p, " ,"); -+ -+ if (end != NULL) -+ as_bad (_("too many arguments")); -+ } -+ -+ if (*parseStr == '\0' || (p != NULL && *p == '\0')) -+ { -+ terminate = TRUE; -+ } -+ ++i; -+ } -+ -+ parsedArgs[i] = NULL; -+ -+ if (*parseStr != '\0' && insn.insn_nios2_opcode->match != OP_MATCH_BREAK) -+ as_bad (_("missing argument")); -+ -+} -+ -+ -+/* checks whether the register name is a coprocessor -+ register - returns TRUE if it is, FALSE otherwise */ -+ -+static bfd_boolean -+nios2_coproc_reg (const char *reg_name) -+{ -+ assert (reg_name != NULL); -+ -+/* check that we do have a valid register name and that it is a -+ * coprocessor register -+ * it must begin with c, not be a control register, and be a valid -+ * register name */ -+ -+ if (strncmp (reg_name, "c", 1) == 0 && -+ strncmp (reg_name, "ctl", strlen ("ctl")) != 0 && -+ hash_find (nios2_reg_hash, reg_name) != NULL) -+ return TRUE; -+ else -+ return FALSE; -+} -+ -+ -+/********************************************************************* -+ Argument assemble functions -+ -+ Description : All take an instruction argument string, and a pointer -+ to an instruction opcode. Upon return the insn_opcode -+ has the relevant fields filled in to represent the arg -+ string. The return value is NULL if successful, or -+ an error message if an error was detected -+ *********************************************************************/ -+ -+/* assembles register arguments "dst, src1, src2" */ -+void -+nios2_assemble_args_dst (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1, *src2; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ src2 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[3]); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); -+ -+ if (src2 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); -+ else -+ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); -+ -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ } -+} -+ -+ -+/* assembles arguments successfully parsed by nios2_parse_args_tsi */ -+void -+nios2_assemble_args_tsi (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1; -+ unsigned int src2; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ src2 = -+ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, -+ 0); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+/* assembles args successfully parsed by nios2_parse_args_tsu */ -+void -+nios2_assemble_args_tsu (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1; -+ unsigned int src2; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ src2 = -+ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_NIOS2_U16, -+ 0); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+/* assembles args successfully parsed by nios2_parse_args_sti */ -+void -+nios2_assemble_args_sto (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1; -+ unsigned int src2; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ src2 = -+ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_16_PCREL, -+ 1); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (IRS, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (IRT, insn_info->insn_code, src1->index); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+void -+nios2_assemble_args_o (nios2_insn_infoS * insn_info) -+{ -+ unsigned long immed; -+ -+ if (insn_info->insn_tokens[1] != NULL) -+ { -+ immed = -+ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_16_PCREL, -+ 1); -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+void -+nios2_assemble_args_is (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *addr_src; -+ unsigned long immed; -+ -+ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) -+ { -+ addr_src = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ -+ immed = -+ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, -+ 0); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); -+ -+ if (addr_src == NULL) -+ as_bad (_("unknown base register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+void -+nios2_assemble_args_m (nios2_insn_infoS * insn_info) -+{ -+ unsigned long immed; -+ if (insn_info->insn_tokens[1] != NULL) -+ { -+ immed = -+ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, -+ insn_info->insn_reloc, -+ BFD_RELOC_NIOS2_CALL26, 0); -+ -+ SET_INSN_FIELD (IMM26, insn_info->insn_code, immed); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+ -+ SET_INSN_FIELD (IMM26, insn_info->insn_code, 0); -+ } -+} -+ -+ -+void -+nios2_assemble_args_s (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *src; -+ -+ if (insn_info->insn_tokens[1] != NULL) -+ { -+ src = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ -+ if (src == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+ } -+} -+ -+ -+void -+nios2_assemble_args_tis (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *addr_src, *dst; -+ unsigned long immed; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ addr_src = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[3]); -+ immed = -+ nios2_assemble_expression (insn_info->insn_tokens[2], insn_info, -+ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, -+ 0); -+ -+ -+ if (addr_src == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RRT, insn_info->insn_code, dst->index); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); -+ } -+} -+ -+ -+/* assemble rdctl dst, ctl */ -+void -+nios2_assemble_args_dc (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *ctl; -+ -+ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) -+ { -+ ctl = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ -+ if (ctl == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); -+ } -+} -+ -+ -+/* assemble wrctl ctl, src */ -+void -+nios2_assemble_args_cs (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *src, *ctl; -+ -+ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) -+ { -+ ctl = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ -+ if (ctl == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else if (ctl->index == 4) -+ as_bad (_("ipending control register (ctl4) is read-only\n")); -+ else -+ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); -+ -+ if (src == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]); -+ } -+} -+ -+ -+ -+void -+nios2_assemble_args_ldst (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1, *src2; -+ unsigned long custom_n; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && -+ insn_info->insn_tokens[3] != NULL && insn_info->insn_tokens[4] != NULL) -+ { -+#if 0 /* ??? Unused/half commented out code */ -+ char *end_p; -+ /* custom_n = nios2_strtoul(insn_info->insn_tokens[1], &end_p); */ -+#endif -+ custom_n = -+ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, -+ insn_info->insn_reloc, -+ BFD_RELOC_NIOS2_IMM8, 0); -+ -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[3]); -+ src2 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (CUSTOM_N, insn_info->insn_code, custom_n); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); -+ -+ if (src2 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[4]); -+ else -+ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); -+ -+ /* set or clear the bits to indicate whether coprocessor registers are used */ -+ if (nios2_coproc_reg (insn_info->insn_tokens[2])) -+ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 0); -+ else -+ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 1); -+ -+ if (nios2_coproc_reg (insn_info->insn_tokens[3])) -+ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 0); -+ else -+ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 1); -+ -+ if (nios2_coproc_reg (insn_info->insn_tokens[4])) -+ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 0); -+ else -+ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 1); -+ -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[5]); -+ } -+} -+ -+ -+void -+nios2_assemble_args_none (nios2_insn_infoS * insn_info ATTRIBUTE_UNUSED) -+{ -+ // nothing to do -+} -+ -+ -+void -+nios2_assemble_args_dsj (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst, *src1; -+ unsigned int src2; -+ -+ if (insn_info->insn_tokens[1] != NULL && -+ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ src1 = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[2]); -+ -+ // a 5-bit constant expression -+ src2 = -+ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, -+ insn_info->insn_reloc, -+ BFD_RELOC_NIOS2_IMM5, 0); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); -+ -+ if (src1 == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); -+ else -+ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); -+ -+ SET_INSN_FIELD (IMM5, insn_info->insn_code, src2); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]); -+ -+ SET_INSN_FIELD (IMM5, insn_info->insn_code, 0); -+ } -+} -+ -+ -+/* assembles register arguments "dst" */ -+void -+nios2_assemble_args_d (nios2_insn_infoS * insn_info) -+{ -+ struct nios2_reg *dst; -+ -+ if (insn_info->insn_tokens[1] != NULL) -+ { -+ dst = -+ (struct nios2_reg *) hash_find (nios2_reg_hash, -+ insn_info->insn_tokens[1]); -+ -+ if (dst == NULL) -+ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); -+ else -+ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+ } -+} -+ -+/* assemble break op */ -+void -+nios2_assemble_args_b (nios2_insn_infoS * insn_info) -+{ -+ unsigned int imm5 = 0; -+ -+ if (insn_info->insn_tokens[1] != NULL) -+ { -+ // a 5-bit constant expression -+ imm5 = -+ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, -+ insn_info->insn_reloc, -+ BFD_RELOC_NIOS2_IMM5, 0); -+ -+ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+ } -+ -+ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); -+ -+ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]); -+} -+ -+/* Machine-dependent assembler directive handling follows */ -+ -+/* -+ .set sets assembler options eg noat/at and is also used -+ to set symbol values (.equ, .equiv ) -+*/ -+void -+s_nios2_set (int equiv) -+{ -+ char *directive = input_line_pointer; -+ char delim = get_symbol_end (); -+ char *endline; -+ endline = input_line_pointer; -+ *endline = delim; -+ -+ /* we only want to handle ".set XXX" if the -+ user has tried ".set XXX, YYY" they are not -+ trying a directive. This prevents -+ us from polluting the name space */ -+ -+ SKIP_WHITESPACE (); -+ -+ if (is_end_of_line[(unsigned char) *input_line_pointer]) -+ { -+ bfd_boolean done = FALSE; -+ *endline = 0; -+ -+ if (!strcmp (directive, "noat")) -+ { -+ done = TRUE; -+ nios2_as_options.noat = TRUE; -+ } -+ -+ if (!strcmp (directive, "at")) -+ { -+ done = TRUE; -+ nios2_as_options.noat = FALSE; -+ } -+ -+ if (!strcmp (directive, "nobreak")) -+ { -+ done = TRUE; -+ nios2_as_options.nobreak = TRUE; -+ } -+ -+ if (!strcmp (directive, "break")) -+ { -+ done = TRUE; -+ nios2_as_options.nobreak = FALSE; -+ } -+ -+ if (!strcmp (directive, "norelax")) -+ { -+ done = TRUE; -+ nios2_as_options.relax = relax_none; -+ } -+ else if (!strcmp (directive, "relaxsection")) -+ { -+ done = TRUE; -+ nios2_as_options.relax = relax_section; -+ } -+ else if (!strcmp (directive, "relaxall")) -+ { -+ done = TRUE; -+ nios2_as_options.relax = relax_all; -+ } -+ -+ -+ if (done) -+ { -+ *endline = delim; -+ demand_empty_rest_of_line (); -+ return; -+ } -+ } -+ -+ -+ /* If we fall through to here, either we have ".set XXX, YYY" -+ or we have ".set XXX" where XXX is unknown or we have -+ a syntax error */ -+ input_line_pointer = directive; -+ *endline = delim; -+ s_set (equiv); -+} -+ -+/* nop fill pattern for text section */ -+static char const nop[4] = { 0x3a, 0x88, 0x01, 0x00 }; -+ -+/* nios2_frob_label() is called when after a label is recognized. */ -+ -+void -+nios2_frob_label (symbolS * lab) -+{ -+ /* Update the label's address with the current output pointer. */ -+ symbol_set_frag (lab, frag_now); -+ S_SET_VALUE (lab, (valueT) frag_now_fix ()); -+ -+ /* Record this label for future adjustment after we find out what -+ kind of data it references, and the required alignment therewith. */ -+ nios2_last_label = lab; -+} -+ -+ -+ -+/* Hook into cons for auto-alignment. */ -+ -+void -+nios2_cons_align (int size) -+{ -+ int log_size; -+ const char *pfill = NULL; -+ -+ log_size = 0; -+ while ((size >>= 1) != 0) -+ ++log_size; -+ -+ if (subseg_text_p (now_seg)) -+ { -+ pfill = (const char *) &nop; -+ } -+ else -+ pfill = NULL; -+ -+ if (nios2_auto_align_on) -+ nios2_align (log_size, pfill, NULL); -+ -+ nios2_last_label = NULL; -+} -+ -+static void -+s_nios2_sdata (int ignore ATTRIBUTE_UNUSED) -+{ -+ int temp; -+ -+ temp = get_absolute_expression (); -+ subseg_new (".sdata", 0); -+ demand_empty_rest_of_line (); -+} -+ -+/* Map 's' to SHF_NIOS2_GPREL. */ -+/* this is from the Alpha code tc-alpha.c */ -+int -+nios2_elf_section_letter (int letter, char **ptr_msg) -+{ -+ if (letter == 's') -+ return SHF_NIOS2_GPREL; -+ -+ *ptr_msg = _("Bad .section directive: want a,s,w,x,M,S,G,T in string"); -+ return 0; -+} -+ -+/* Map SHF_ALPHA_GPREL to SEC_SMALL_DATA. */ -+/* this is from the Alpha code tc-alpha.c */ -+flagword -+nios2_elf_section_flags (flagword flags, int attr, int type ATTRIBUTE_UNUSED) -+{ -+ if (attr & SHF_NIOS2_GPREL) -+ flags |= SEC_SMALL_DATA; -+ return flags; -+} -+ -+/* explicitly unaligned cons */ -+ -+static void -+s_nios2_ucons (int nbytes) -+{ -+ int hold; -+ hold = nios2_auto_align_on; -+ nios2_auto_align_on = 0; -+ cons (nbytes); -+ nios2_auto_align_on = hold; -+} -+ -+/* Handles all machine-dependent alignment needs */ -+static void -+nios2_align (int log_size, const char *pfill, symbolS * label) -+{ -+ int align; -+ long max_alignment = 15; -+ -+ /* The front end is prone to changing segments out from under us -+ temporarily when -g is in effect. */ -+ int switched_seg_p = (nios2_current_align_seg != now_seg); -+ -+ align = log_size; -+ if (align > max_alignment) -+ { -+ align = max_alignment; -+ as_bad (_("Alignment too large: %d. assumed"), align); -+ } -+ else if (align < 0) -+ { -+ as_warn (_("Alignment negative: 0 assumed")); -+ align = 0; -+ } -+ -+ if (align != 0) -+ { -+ if (subseg_text_p (now_seg) && align >= 2) -+ { -+ /* First, make sure we're on a four-byte boundary, in case -+ someone has been putting .byte values the text section. */ -+ if (nios2_current_align < 2 || switched_seg_p) -+ frag_align (2, 0, 0); -+ -+ /* now fill in the alignment pattern */ -+ if (pfill != NULL) -+ frag_align_pattern (align, pfill, sizeof nop, 0); -+ else -+ frag_align (align, 0, 0); -+ } -+ else -+ { -+ frag_align (align, 0, 0); -+ } -+ -+ if (!switched_seg_p) -+ nios2_current_align = align; -+ -+ /* If the last label was in a different section we can't align it */ -+ if (label != NULL && !switched_seg_p) -+ { -+ symbolS *sym; -+ int label_seen = FALSE; -+ struct frag *old_frag; -+ valueT old_value; -+ valueT new_value; -+ -+ assert (S_GET_SEGMENT (label) == now_seg); -+ -+ old_frag = symbol_get_frag (label); -+ old_value = S_GET_VALUE (label); -+ new_value = (valueT) frag_now_fix (); -+ -+ /* It is possible to have more than one label at a particular -+ address, especially if debugging is enabled, so we must -+ take care to adjust all the labels at this address in this -+ fragment. To save time we search from the end of the symbol -+ list, backwards, since the symbols we are interested in are -+ almost certainly the ones that were most recently added. -+ Also to save time we stop searching once we have seen at least -+ one matching label, and we encounter a label that is no longer -+ in the target fragment. Note, this search is guaranteed to -+ find at least one match when sym == label, so no special case -+ code is necessary. */ -+ for (sym = symbol_lastP; sym != NULL; sym = symbol_previous (sym)) -+ { -+ if (symbol_get_frag (sym) == old_frag -+ && S_GET_VALUE (sym) == old_value) -+ { -+ label_seen = TRUE; -+ symbol_set_frag (sym, frag_now); -+ S_SET_VALUE (sym, new_value); -+ } -+ else if (label_seen && symbol_get_frag (sym) != old_frag) -+ break; -+ } -+ } -+ record_alignment (now_seg, align); -+ } -+} -+ -+/* This is called from HANDLE_ALIGN in tc-nios2.h. */ -+ -+void -+nios2_handle_align (fragS * fragp) -+{ -+ /* If we are expecting to relax in the linker, then we must output a relocation -+ * to tell the linker we are aligning code */ -+ if (nios2_as_options.relax == relax_all -+ && (fragp->fr_type == rs_align -+ || fragp->fr_type == rs_align_code) -+ && fragp->fr_address + fragp->fr_fix > 0 -+ && fragp->fr_offset > 1 && now_seg != bss_section) -+ fix_new (fragp, fragp->fr_fix, 4, &abs_symbol, fragp->fr_offset, 0, -+ BFD_RELOC_NIOS2_ALIGN); -+ -+} -+ -+/* Handle the .align pseudo-op. This aligns to a power of two. It -+ also adjusts any current instruction label. We treat this the same -+ way the MIPS port does: .align 0 turns off auto alignment. */ -+ -+static void -+s_nios2_align (int ignore ATTRIBUTE_UNUSED) -+{ -+ int align; -+ char fill; -+ const char *pfill = NULL; -+ long max_alignment = 15; -+ -+ -+ align = get_absolute_expression (); -+ if (align > max_alignment) -+ { -+ align = max_alignment; -+ as_bad (_("Alignment too large: %d. assumed"), align); -+ } -+ else if (align < 0) -+ { -+ as_warn (_("Alignment negative: 0 assumed")); -+ align = 0; -+ } -+ -+ if (*input_line_pointer == ',') -+ { -+ input_line_pointer++; -+ fill = get_absolute_expression (); -+ pfill = (const char *) &fill; -+ } -+ else if (subseg_text_p (now_seg)) -+ { -+ pfill = (const char *) &nop; -+ } -+ else -+ { -+ pfill = NULL; -+ nios2_last_label = NULL; -+ } -+ -+ if (align != 0) -+ { -+ nios2_auto_align_on = 1; -+ nios2_align (align, pfill, nios2_last_label); -+ nios2_last_label = NULL; -+ } -+ else -+ { -+ nios2_auto_align_on = 0; -+ } -+ -+ demand_empty_rest_of_line (); -+} -+ -+ -+/* Handle the .text pseudo-op. This is like the usual one, but it -+ clears the saved last label and resets known alignment. */ -+ -+static void -+s_nios2_text (int i) -+{ -+ s_text (i); -+ nios2_last_label = NULL; -+ nios2_current_align = 0; -+ nios2_current_align_seg = now_seg; -+} -+ -+/* Handle the .data pseudo-op. This is like the usual one, but it -+ clears the saved last label and resets known alignment. */ -+ -+static void -+s_nios2_data (int i) -+{ -+ s_data (i); -+ nios2_last_label = NULL; -+ nios2_current_align = 0; -+ nios2_current_align_seg = now_seg; -+} -+ -+/* Handle the .section pseudo-op. This is like the usual one, but it -+ clears the saved last label and resets known alignment. */ -+ -+static void -+s_nios2_section (int ignore) -+{ -+ obj_elf_section (ignore); -+ nios2_last_label = NULL; -+ nios2_current_align = 0; -+ nios2_current_align_seg = now_seg; -+} -diff --git a/gas/config/tc-nios2.h b/gas/config/tc-nios2.h -new file mode 100644 -index 0000000..660aaa3 ---- /dev/null -+++ b/gas/config/tc-nios2.h -@@ -0,0 +1,105 @@ -+/* tc-nios2.h -- header file for tc-nios2.c. -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+ This file is part of GAS. -+ -+ GAS is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ GAS is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GAS; see the file COPYING. If not, write to the Free -+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+#ifndef TC_NIOS2 -+#define TC_NIOS2 -+ -+/* -+ * If unspecified, default to little endian. We can explicitly specify -+ * a big-endian default by configuring with --target=nios2eb-elf. We -+ * can override the default with the -EB and -EL options. -+ */ -+#ifndef TARGET_BYTES_BIG_ENDIAN -+#define TARGET_BYTES_BIG_ENDIAN 0 -+#endif -+ -+#ifdef OBJ_ELF -+extern const char *nios2_target_format (void); -+#define TARGET_FORMAT nios2_target_format () -+#define TARGET_ARCH bfd_arch_nios2 -+#endif -+ -+/* An NIOS2 instruction consists of tokens and separator characters -+// the tokens are things like the instruction name (add, or jmp etc), -+// the register indices ($5, $7 etc), and constant expressions. The -+// separator characters are commas, brackets and space. -+// The instruction name is always separated from other tokens by a space -+// The maximum number of tokens in an instruction is 5 (the instruction name, -+// 3 arguments, and a 4th string representing the expected instructin opcode -+// after assembly. The latter is only used when the assemble is running in -+// self test mode, otherwise its presence will generate an error. */ -+#define NIOS2_MAX_INSN_TOKENS 6 -+ -+/* There are no machine-specific operands so we #define this to nothing */ -+#define md_operand(x) -+ -+/* NG this may need to change when we look at implementing symbols */ -+#define md_undefined_symbol(name) (0) -+ -+/* function prototypes exported to rest of GAS */ -+extern void md_assemble (char *op_str); -+extern void md_end (void); -+extern void md_begin (void); -+ -+#define TC_FORCE_RELOCATION(fixp) nios2_force_relocation (fixp) -+extern int nios2_force_relocation (struct fix *); -+ -+#define tc_fix_adjustable(fixp) nios2_fix_adjustable (fixp) -+extern int nios2_fix_adjustable (struct fix *); -+ -+#define tc_frob_label(lab) nios2_frob_label(lab) -+extern void nios2_frob_label (symbolS *); -+ -+#define tc_frob_symbol(symp, punt) punt = nios2_frob_symbol(symp) ? 1 : punt -+extern int nios2_frob_symbol (symbolS * symp); -+ -+#define md_cons_align(nbytes) nios2_cons_align (nbytes) -+extern void nios2_cons_align (int); -+ -+extern void md_convert_frag (bfd * headers, segT sec, fragS * fragP); -+ -+/* When relaxing, we need to generate relocations for alignment -+ directives. */ -+#define HANDLE_ALIGN(frag) nios2_handle_align (frag) -+extern void nios2_handle_align (fragS *); -+ -+ -+#define md_relax_frag nios2_relax_frag -+extern long nios2_relax_frag -+ (segT segment, fragS * fragP, long stretch); -+ -+#ifdef OBJ_ELF -+#define ELF_TC_SPECIAL_SECTIONS \ -+ { ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ -+ { ".sbss", SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ -+ { ".lit4", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \ -+ { ".lit8", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, -+ -+/* Processor specific section directives */ -+#define md_elf_section_letter nios2_elf_section_letter -+extern int nios2_elf_section_letter (int, char **); -+#define md_elf_section_flags nios2_elf_section_flags -+extern flagword nios2_elf_section_flags (flagword, int, int); -+#endif -+ -+ -+#endif // TC_NIOS2 -diff --git a/gas/configure b/gas/configure -index e66abca..cbb3889 100755 ---- a/gas/configure -+++ b/gas/configure -@@ -4173,6 +4173,8 @@ for this_target in $target $canon_targets ; do - m8*) cpu_type=m88k ;; - mips*el) cpu_type=mips endian=little ;; - mips*) cpu_type=mips endian=big ;; -+ nios2eb) cpu_type=nios2 endian=big ;; -+ nios2el|nios2) cpu_type=nios2 endian=little ;; - or32*) cpu_type=or32 endian=big ;; - pjl*) cpu_type=pj endian=little ;; - pj*) cpu_type=pj endian=big ;; -@@ -4439,6 +4441,7 @@ echo "$as_me: error: Unknown vendor for mips-bsd configuration." >&2;} - mn10200-*-*) fmt=elf ;; - mn10300-*-*) fmt=elf ;; - msp430-*-*) fmt=elf ;; -+ nios2*-*-*) fmt=elf ;; - openrisc-*-*) fmt=elf ;; - or32-*-rtems*) fmt=elf ;; - or32-*-coff) fmt=coff ;; -@@ -4589,7 +4592,7 @@ _ACEOF - fi - - case ${cpu_type}-${fmt} in -- alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \ -+ alpha*-* | arm-* | i386-* | ia64*-* | mips-* | nios2*-* | ns32k-* \ - | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \ - | *-elf | *-ecoff | *-som) - bfd_gas=yes ;; -diff --git a/gas/configure.in b/gas/configure.in -index f7d0acb..e20754e 100644 ---- a/gas/configure.in -+++ b/gas/configure.in -@@ -143,6 +143,8 @@ changequote([,])dnl - m8*) cpu_type=m88k ;; - mips*el) cpu_type=mips endian=little ;; - mips*) cpu_type=mips endian=big ;; -+ nios2eb) cpu_type=nios2 endian=big ;; -+ nios2el|nios2) cpu_type=nios2 endian=little ;; - or32*) cpu_type=or32 endian=big ;; - pjl*) cpu_type=pj endian=little ;; - pj*) cpu_type=pj endian=big ;; -@@ -400,6 +402,7 @@ changequote([,])dnl - mn10200-*-*) fmt=elf ;; - mn10300-*-*) fmt=elf ;; - msp430-*-*) fmt=elf ;; -+ nios2*-*-*) fmt=elf ;; - openrisc-*-*) fmt=elf ;; - or32-*-rtems*) fmt=elf ;; - or32-*-coff) fmt=coff ;; -@@ -539,7 +542,7 @@ changequote([,])dnl - fi - - case ${cpu_type}-${fmt} in -- alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \ -+ alpha*-* | arm-* | i386-* | ia64*-* | mips-* | nios2*-* | ns32k-* \ - | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \ - | *-elf | *-ecoff | *-som) - bfd_gas=yes ;; -diff --git a/gas/doc/Makefile.am b/gas/doc/Makefile.am -index 7f0f805..3e6af57 100644 ---- a/gas/doc/Makefile.am -+++ b/gas/doc/Makefile.am -@@ -24,6 +24,7 @@ asconfig.texi: $(CONFIG).texi - || cp $(srcdir)/$(CONFIG).texi ./asconfig.texi - - CPU_DOCS = \ -+ c-nios2.texi \ - c-a29k.texi \ - c-alpha.texi \ - c-arc.texi \ -diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in -index 0c6a1b0..c7472d0 100644 ---- a/gas/doc/Makefile.in -+++ b/gas/doc/Makefile.in -@@ -213,6 +213,7 @@ POD2MAN = pod2man --center="GNU Development Tools" \ - man_MANS = as.1 - info_TEXINFOS = as.texinfo - CPU_DOCS = \ -+ c-nios2.texi \ - c-a29k.texi \ - c-alpha.texi \ - c-arc.texi \ -diff --git a/gas/doc/all.texi b/gas/doc/all.texi -index 4e302ce..3094553 100644 ---- a/gas/doc/all.texi -+++ b/gas/doc/all.texi -@@ -26,6 +26,7 @@ - - @c CPUs of interest - @c ================ -+@set NIOSII - @set A29K - @set ALPHA - @set ARC -diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo -index d9d23df..ab2affa 100644 ---- a/gas/doc/as.texinfo -+++ b/gas/doc/as.texinfo -@@ -238,6 +238,15 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. - @c - @c Target dependent options are listed below. Keep the list sorted. - @c Add an empty line for separation. -+ -+ -+@ifset NIOSII -+@emph{Target Altera Nios II options:} -+ [@b{-relax-all}] -+ [@b{-relax-section}] -+ [@b{-no-relax}] -+@end ifset -+ - @ifset A29K - @c am29k has no machine-dependent assembler options - @end ifset -@@ -577,6 +586,21 @@ Standard input, or source files to assemble. - - @end table - -+@ifset NIOSII -+The following options are available when @value{AS} is configured for -+an Altera Nios II processor. -+ -+@table @gcctabopt -+@item -relax-all -+Replace all branch and call instructions with @code{jmp} and @code{callr} sequences -+@item -relax-section -+Replace identified out of range branches with @code{jmp} sequences (default) -+@item -no-relax -+Do not replace any branches or calls -+@end table -+@end ifset -+ -+ - @ifset ARC - The following options are available when @value{AS} is configured for - an ARC processor. -@@ -2035,6 +2059,9 @@ This means you may not nest these comments. - @cindex line comment character - Anything from the @dfn{line comment} character to the next newline - is considered a comment and is ignored. The line comment character is -+@ifset NIOSII -+@samp{#} for the Altera Nios II family; -+@end ifset - @ifset A29K - @samp{;} for the AMD 29K family; - @end ifset -@@ -3876,7 +3903,7 @@ is already a multiple of 8, no change is needed. For the tic54x, the - first expression is the alignment request in words. - - For other systems, including the i386 using a.out format, and the arm and --strongarm, it is the -+strongarm, and the Altera Nios II, it is the - number of low-order zero bits the location counter must have after - advancement. For example @samp{.align 3} advances the location - counter until it a multiple of 8. If the location counter is already a -@@ -5864,6 +5891,9 @@ include details on any machine's instruction set. For details on that - subject, see the hardware manufacturer's manual. - - @menu -+@ifset NIOSII -+* NiosII-Dependent:: Altera Nios II Dependent Features -+@end ifset - @ifset A29K - * AMD29K-Dependent:: AMD 29K Dependent Features - @end ifset -@@ -5974,6 +6004,11 @@ subject, see the hardware manufacturer's manual. - @c node and sectioning commands; hence the repetition of @chapter BLAH - @c in both conditional blocks. - -+ -+@ifset NIOSII -+@include c-nios2.texi -+@end ifset -+ - @ifset A29K - @include c-a29k.texi - @end ifset -diff --git a/gas/doc/c-nios2.texi b/gas/doc/c-nios2.texi -new file mode 100644 -index 0000000..b2d5d61 ---- /dev/null -+++ b/gas/doc/c-nios2.texi -@@ -0,0 +1,222 @@ -+@c Copyright 2004 -+@c This is part of the GAS manual. -+@c For copying conditions, see the file as.texinfo. -+@ifset GENERIC -+@page -+@node NiosII-Dependent -+@chapter Altera Nios II Dependent Features -+@end ifset -+@ifclear GENERIC -+@node Machine Dependencies -+@chapter ltera Nios II Dependent Features -+@end ifclear -+ -+@cindex Altera Nios II support -+@cindex Nios support -+@cindex Nios II support -+@menu -+* Nios II Options:: Options -+* Nios II Syntax:: Syntax -+* Nios II Relocations:: Relocations -+* Nios II Directives:: Nios II Machine Directives -+* Nios II Opcodes:: Opcodes -+@end menu -+ -+@node Nios II Options -+@section Options -+@cindex Nios II options -+@cindex options for Nios II -+ -+@table @code -+ -+@cindex @code{relax-all} command line option, Nios II -+@item -relax-all -+Replace all branch and call instructions with @code{jmp} and @code{callr} sequences -+ -+@cindex @code{relax-section} command line option, Nios II -+@item -relax-section -+Replace identified out of range branches with @code{jmp} sequences (default) -+ -+@cindex @code{no-relax} command line option, Nios II -+@item -no-relax -+Do not replace any branches or calls -+ -+@cindex @code{EB} command line option, Nios II -+@item -EB -+Generate big-endian output -+ -+@cindex @code{EL} command line option, Nios II -+@item -EL -+Generate little-endian output -+ -+@end table -+ -+ -+@node Nios II Syntax -+@section Syntax -+@menu -+* Nios II Chars:: Special Characters -+@end menu -+ -+ -+@node Nios II Chars -+@subsection Special Characters -+ -+@cindex line comment character, Nios II -+@cindex Nios II line comment character -+@samp{#} is the line comment character. -+ -+@cindex line separator character, Nios II -+@cindex Nios II line separator character -+@samp{;} is the line separator character. -+ -+ -+@node Nios II Relocations -+@section Nios II Machine Relocations -+ -+@cindex machine relocations, Nios II -+@cindex Nios II machine relocations -+ -+@table @code -+@cindex @code{hiadj} directive, Nios II -+@item %hiadj(@var{expression}) -+Extract the upper 16-bits of @var{expression} and add -+one if the 15th bit is set. -+ -+The value of %hiadj is: -+((@var{expression} >> 16) & 0xffff) + ((@var{expression} >> 15) & 0x01). -+ -+The intention of the @code{%hiadj} relocation is to be used with -+an @code{addi}, @code{ld} or @code{st} instructions -+along with a @code{%lo}. -+ -+@smallexample -+movhi r2, %hiadj(symbol) -+addi r2, r2, %lo(symbol) -+@end smallexample -+ -+@cindex @code{hi} directive, Nios II -+@item %hi(@var{expression}) -+Extract the upper 16-bits of @var{expression}. -+ -+ -+@cindex @code{lo} directive, Nios II -+@item %lo(@var{expression}) -+Extract the lower 16-bits of @var{expression}. -+ -+ -+@cindex @code{gprel} directive, Nios II -+@item %gprel(@var{expression}) -+Subtract the value of the symbol @code{_gp} from -+@var{expression}. -+ -+The intention of the @code{%gprel} relocation is -+to have a fast small area of memory which only -+takes a 16-bit immediate to access. -+ -+@smallexample -+ .section .sdata -+fastint: -+ .int 123 -+ .section .text -+ ldw r4, %gprel(fastint)(gp) -+@end smallexample -+ -+ -+@end table -+ -+ -+@node Nios II Directives -+@section Nios II Machine Directives -+ -+@cindex machine directives, Nios II -+@cindex Nios II machine directives -+ -+@table @code -+ -+@cindex @code{align} directive, Nios II -+@item .align @var{expression} [, @var{expression}] -+This is the generic @var{.align} directive, however -+this aligns to a power of two. -+ -+@cindex @code{half} directive, Nios II -+@item .half @var{expression} -+Create an aligned constant 2-bytes in size -+ -+@cindex @code{word} directive, Nios II -+@item .word @var{expression} -+Create an aligned constant 4-bytes in size -+ -+@cindex @code{dword} directive, Nios II -+@item .dword @var{expression} -+Create an aligned constant 8-bytes in size -+ -+@cindex @code{2byte} directive, Nios II -+@item .2byte @var{expression} -+Create an un-aligned constant 2-bytes in size -+ -+@cindex @code{4byte} directive, Nios II -+@item .4byte @var{expression} -+Create an un-aligned constant 4-bytes in size -+ -+@cindex @code{8byte} directive, Nios II -+@item .8byte @var{expression} -+Create an un-aligned constant 8-bytes in size -+ -+@cindex @code{16byte} directive, Nios II -+@item .16byte @var{expression} -+Create an un-aligned constant 16-bytes in size -+ -+@cindex @code{set noat} directive, Nios II -+@item .set noat -+Allows assembly code to use @code{at} register without -+warning and macro or relaxation expansions will -+generate a warning. -+ -+@cindex @code{set at} directive, Nios II -+@item .set at -+Assembly code using @code{at} register will generate -+warnings, and macro expansion and relaxation will be -+enabled. -+ -+@cindex @code{set nobreak} directive, Nios II -+@item .set nobreak -+Allows assembly code to use @code{ba}, @code{bt}, -+registers without warning. -+ -+@cindex @code{set break} directive, Nios II -+@item .set break -+Turns warnings back on for using @code{ba}, @code{bt} -+registers. -+ -+@cindex @code{set norelax} directive, Nios II -+@item .set norelax -+Do not replace any branches or calls. -+ -+@cindex @code{set relaxsection} directive, Nios II -+@item .set relaxsection -+Replace identified out of range branches with -+@code{jmp} sequences (default). -+ -+@cindex @code{set relaxall} directive, Nios II -+@item .set relaxsection -+Replace all branch and call instructions with -+@code{jmp} and @code{callr} sequences. -+ -+@cindex @code{set} directive, Nios II -+@item .set @dots{} -+All other @code{.set} are the normal use. -+ -+@end table -+ -+@node Nios II Opcodes -+@section Opcodes -+ -+@cindex Nios II opcodes -+@cindex opcodes for Nios II -+@code{@value{AS}} implements all the standard Nios II opcodes. No -+additional pseudo-instructions are needed on this family. -+ -+For information on the Nios II machine instruction set, see the @cite{Nios II -+User's Manual} -+ -diff --git a/gas/testsuite/gas/macros/irp.s b/gas/testsuite/gas/macros/irp.s -index f37dd54..95a91e3 100644 ---- a/gas/testsuite/gas/macros/irp.s -+++ b/gas/testsuite/gas/macros/irp.s -@@ -1,3 +1,4 @@ -+ .set norelax - .irp param,1,2,3 - .long foo\param - .endr -diff --git a/gas/testsuite/gas/macros/rept.s b/gas/testsuite/gas/macros/rept.s -index 571b6f8..d6f86c1 100644 ---- a/gas/testsuite/gas/macros/rept.s -+++ b/gas/testsuite/gas/macros/rept.s -@@ -1,3 +1,4 @@ -+ .set norelax - .rept 3 - .long foo1 - .endr -diff --git a/gas/testsuite/gas/macros/test2.s b/gas/testsuite/gas/macros/test2.s -index 0cfca29..ad62adc 100644 ---- a/gas/testsuite/gas/macros/test2.s -+++ b/gas/testsuite/gas/macros/test2.s -@@ -1,3 +1,4 @@ -+ .set norelax - .macro m arg1 arg2 arg3 - .long \arg1 - .ifc ,\arg2\arg3 -diff --git a/gas/testsuite/gas/macros/test3.s b/gas/testsuite/gas/macros/test3.s -index e80aa20..0070527 100644 ---- a/gas/testsuite/gas/macros/test3.s -+++ b/gas/testsuite/gas/macros/test3.s -@@ -1,3 +1,4 @@ -+ .set norelax - .macro m arg1 arg2 - \arg1 - .exitm -diff --git a/gas/testsuite/gas/nios2/add.d b/gas/testsuite/gas/nios2/add.d -new file mode 100644 -index 0000000..ba3d27f ---- /dev/null -+++ b/gas/testsuite/gas/nios2/add.d -@@ -0,0 +1,16 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 add -+ -+# Test the add instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> add r4,r4,r4 -+0+0004 <[^>]*> addi r4,r4,32767 -+0+0008 <[^>]*> addi r4,r4,-32768 -+0+000c <[^>]*> addi r4,r4,0 -+0+0010 <[^>]*> addi r4,r4,-1 -+0+0014 <[^>]*> addi r4,r4,-1 -+0+0018 <[^>]*> addi r4,r4,13398 -+0+001c <[^>]*> nop -diff --git a/gas/testsuite/gas/nios2/add.s b/gas/testsuite/gas/nios2/add.s -new file mode 100644 -index 0000000..5b72a82 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/add.s -@@ -0,0 +1,13 @@ -+# Source file used to test the add and addi instructions. -+ -+foo: -+ add r4,r4,r4 -+ addi r4,r4,0x7fff -+ addi r4,r4,-0x8000 -+ addi r4,r4,0x0 -+ addi r4,r4,-0x01 -+ subi r4,r4,0x01 -+ addi r4,r4,0x3456 -+ -+# should disassemble to add r0,0,r0 -+ nop -diff --git a/gas/testsuite/gas/nios2/align_fill.d b/gas/testsuite/gas/nios2/align_fill.d -new file mode 100644 -index 0000000..90a9e5f ---- /dev/null -+++ b/gas/testsuite/gas/nios2/align_fill.d -@@ -0,0 +1,23 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 align_fill -+ -+# Test the and macro. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> addi sp,sp,-8 -+0+0004 <[^>]*> stw fp,4\(sp\) -+0+0008 <[^>]*> mov fp,sp -+0+000c <[^>]*> mov r3,zero -+0+0010 <[^>]*> nop -+0+0014 <[^>]*> nop -+0+0018 <[^>]*> nop -+0+001c <[^>]*> nop -+0+0020 <[^>]*> addi r3,r3,1 -+0+0024 <[^>]*> cmplti r2,r3,100 -+0+0028 <[^>]*> bne r2,zero,0+0020 <[^>*]*> -+0+002c <[^>]*> ldw fp,4\(sp\) -+0+0030 <[^>]*> addi sp,sp,8 -+0+0034 <[^>]*> ret -+ ... -diff --git a/gas/testsuite/gas/nios2/align_fill.s b/gas/testsuite/gas/nios2/align_fill.s -new file mode 100644 -index 0000000..5683839 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/align_fill.s -@@ -0,0 +1,20 @@ -+ .file "a.c" -+ .section .text -+ .align 3 -+ .global x -+ .type x, @function -+x: -+ addi sp, sp, -8 -+ stw fp, 4(sp) -+ mov fp, sp -+ mov r3, zero -+ .align 5 -+.L6: -+ addi r3, r3, 1 -+ cmplti r2, r3, 100 -+ bne r2, zero, .L6 -+ ldw fp, 4(sp) -+ addi sp, sp, 8 -+ ret -+ .size x, .-x -+ .ident "GCC: (GNU) 3.3.3 (Altera Nios II 1.0 b302)" -diff --git a/gas/testsuite/gas/nios2/align_text.d b/gas/testsuite/gas/nios2/align_text.d -new file mode 100644 -index 0000000..d11e7fc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/align_text.d -@@ -0,0 +1,22 @@ -+#objdump: -dr -+#name: NIOS2 align_test -+ -+# Test alignment in text sections. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+00000000 <label-0x20>: -+ 0: 00000000 call 0 <label-0x20> -+ 4: 0001883a nop -+ 8: 0001883a nop -+ c: 0001883a nop -+ 10: 0001883a nop -+ 14: 0001883a nop -+ 18: 0001883a nop -+ 1c: 0001883a nop -+ -+00000020 <label>: -+ 20: 0001883a nop -+00000024 <label2>: -+ ... -\ No newline at end of file -diff --git a/gas/testsuite/gas/nios2/align_text.s b/gas/testsuite/gas/nios2/align_text.s -new file mode 100644 -index 0000000..d073b6f ---- /dev/null -+++ b/gas/testsuite/gas/nios2/align_text.s -@@ -0,0 +1,15 @@ -+ .asciz "" # empty string -+ .align 2 -+ -+ nop -+ nop -+ label: -+ .align 5 -+ nop -+ label2: -+ .section mysection -+ .align 2 -+ -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/and.d b/gas/testsuite/gas/nios2/and.d -new file mode 100644 -index 0000000..350ca69 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/and.d -@@ -0,0 +1,17 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 and -+ -+# Test the and macro. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> and r4,r4,r4 -+0+0004 <[^>]*> andi r4,r4,32767 -+0+0008 <[^>]*> andi r4,r4,32768 -+0+000c <[^>]*> andi r4,r4,65535 -+0+0010 <[^>]*> andi r4,r4,0 -+0+0014 <[^>]*> andhi r4,r4,32767 -+0+0018 <[^>]*> andhi r4,r4,32768 -+0+001c <[^>]*> andhi r4,r4,65535 -+0+0020 <[^>]*> andhi r4,r4,0 -diff --git a/gas/testsuite/gas/nios2/and.s b/gas/testsuite/gas/nios2/and.s -new file mode 100644 -index 0000000..a7de05f ---- /dev/null -+++ b/gas/testsuite/gas/nios2/and.s -@@ -0,0 +1,13 @@ -+# Source file used to test the and, andhi and andi instructions -+ -+foo: -+ and r4,r4,r4 -+ andi r4,r4,0x7fff -+ andi r4,r4,0x8000 -+ andi r4,r4,0xffff -+ andi r4,r4,0x0 -+ andhi r4,r4,0x7fff -+ andhi r4,r4,0x8000 -+ andhi r4,r4,0xffff -+ andhi r4,r4,0x0 -+ -\ No newline at end of file -diff --git a/gas/testsuite/gas/nios2/blt.d b/gas/testsuite/gas/nios2/blt.d -new file mode 100644 -index 0000000..aed1b26 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/blt.d -@@ -0,0 +1 @@ -+This file is obsolete -\ No newline at end of file -diff --git a/gas/testsuite/gas/nios2/blt.s b/gas/testsuite/gas/nios2/blt.s -new file mode 100644 -index 0000000..aed1b26 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/blt.s -@@ -0,0 +1 @@ -+This file is obsolete -\ No newline at end of file -diff --git a/gas/testsuite/gas/nios2/branch.d b/gas/testsuite/gas/nios2/branch.d -new file mode 100644 -index 0000000..b689dee ---- /dev/null -+++ b/gas/testsuite/gas/nios2/branch.d -@@ -0,0 +1,16 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 branch -+ -+# Test the branch instructions. -+dump.o: file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> beq r4,r5,00000000 <text_label> -+0+0004 <[^>]*> bge r4,r5,00000000 <text_label> -+0+0008 <[^>]*> bgeu r4,r5,00000000 <text_label> -+0+000c <[^>]*> blt r4,r5,00000000 <text_label> -+0+0010 <[^>]*> bltu r4,r5,00000000 <text_label> -+0+0014 <[^>]*> bne r4,r5,00000000 <text_label> -+0+0018 <[^>]*> br 0000001c <text_label\+0x1c> -+[ ]*18: R_NIOS2_PCREL16 external_label -+ -diff --git a/gas/testsuite/gas/nios2/branch.s b/gas/testsuite/gas/nios2/branch.s -new file mode 100644 -index 0000000..0853167 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/branch.s -@@ -0,0 +1,15 @@ -+# Source file used to test the beq macro. -+ .globl text_label -+ .text -+.set norelax -+text_label: -+ beq r4,r5,text_label -+ bge r4,r5,text_label -+ bgeu r4,r5,text_label -+ blt r4,r5,text_label -+ bltu r4,r5,text_label -+ bne r4,r5,text_label -+ -+# Branch to an external label. -+ br external_label -+ -diff --git a/gas/testsuite/gas/nios2/break.d b/gas/testsuite/gas/nios2/break.d -new file mode 100644 -index 0000000..be487bb ---- /dev/null -+++ b/gas/testsuite/gas/nios2/break.d -@@ -0,0 +1,12 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 break -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> break 0 -+0+0004 <[^>]*> break 0 -+0+0008 <[^>]*> break 31 -+0+000c <[^>]*> break 14 -+ -+ -diff --git a/gas/testsuite/gas/nios2/break.s b/gas/testsuite/gas/nios2/break.s -new file mode 100644 -index 0000000..88d3422 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/break.s -@@ -0,0 +1,8 @@ -+# Source file used to test the 20-bit break instructions -+foo: -+ break -+ break 0 -+ break 31 -+ break 14 -+ -+ -diff --git a/gas/testsuite/gas/nios2/bret.d b/gas/testsuite/gas/nios2/bret.d -new file mode 100644 -index 0000000..a12530b ---- /dev/null -+++ b/gas/testsuite/gas/nios2/bret.d -@@ -0,0 +1,8 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 bret -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> bret -+ -diff --git a/gas/testsuite/gas/nios2/bret.s b/gas/testsuite/gas/nios2/bret.s -new file mode 100644 -index 0000000..d368e64 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/bret.s -@@ -0,0 +1,5 @@ -+# Source file used to test the bret instructions -+foo: -+ bret -+ -+ -diff --git a/gas/testsuite/gas/nios2/cache.d b/gas/testsuite/gas/nios2/cache.d -new file mode 100644 -index 0000000..7c278d8 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/cache.d -@@ -0,0 +1,17 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 cache -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> flushd -32768\(r6\) -+0+0004 <[^>]*> flushd 32767\(r6\) -+0+0008 <[^>]*> flushd 0\(r6\) -+0+000c <[^>]*> flushd -1\(r6\) -+0+0010 <[^>]*> flushd 0\(r6\) -+[ ]*10: R_NIOS2_S16 .text -+0+0014 <[^>]*> flushd 0\(r6\) -+[ ]*14: R_NIOS2_S16 external -+0+0018 <[^>]*> flushi r2 -+0+001c <[^>]*> flushp -+ -diff --git a/gas/testsuite/gas/nios2/cache.s b/gas/testsuite/gas/nios2/cache.s -new file mode 100644 -index 0000000..1701c19 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/cache.s -@@ -0,0 +1,21 @@ -+# Source file used to test the cache instruction -+foo: -+ flushd -0x8000(r6) -+ flushd 0x7fff(r6) -+ flushd 0x0(r6) -+ flushd -0x0001(r6) -+ -+# use symbol for offset -+ flushd foo(r6) -+ -+# use external symbol -+ .global external -+ flushd external(r6) -+ -+# flushi -+ flushi r2 -+ -+#flushp -+ flushp -+ -+ -diff --git a/gas/testsuite/gas/nios2/call.d b/gas/testsuite/gas/nios2/call.d -new file mode 100644 -index 0000000..cfa6aec ---- /dev/null -+++ b/gas/testsuite/gas/nios2/call.d -@@ -0,0 +1,11 @@ -+# objdump: -dr --prefix-addresses -+#name: NIOS2 call -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> call 00000000 <foo> -+[ ]*0: R_NIOS2_CALL26 .text\+0xc -+0+0004 <[^>]*> callr r10 -+0+0008 <[^>]*> call 00000000 <foo> -+[ ]*8: R_NIOS2_CALL26 external -diff --git a/gas/testsuite/gas/nios2/call.s b/gas/testsuite/gas/nios2/call.s -new file mode 100644 -index 0000000..39409b7 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/call.s -@@ -0,0 +1,13 @@ -+# Source file used to test the call and callr instructions -+.text -+.set norelax -+foo: -+ call func1 -+ callr r10 -+# use external symbol -+ .global external -+ call external -+func1: -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/cmp.d b/gas/testsuite/gas/nios2/cmp.d -new file mode 100644 -index 0000000..07bf9f5 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/cmp.d -@@ -0,0 +1,24 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 cmp -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> cmpeq r11,r2,r3 -+0+0004 <[^>]*> cmpge r11,r2,r3 -+0+0008 <[^>]*> cmpgeu r11,r2,r3 -+0+000c <[^>]*> cmplt r11,r2,r3 -+0+0010 <[^>]*> cmpltu r11,r2,r3 -+0+0014 <[^>]*> cmpne r11,r2,r3 -+0+0018 <[^>]*> cmpgei r11,r2,0 -+[ ]*18: R_NIOS2_S16 value -+0+001c <[^>]*> cmpgeui r11,r2,0 -+[ ]*1c: R_NIOS2_U16 value\+0x200 -+0+0020 <[^>]*> cmplti r11,r2,0 -+[ ]*20: R_NIOS2_S16 value -+0+0024 <[^>]*> cmpltui r11,r2,0 -+[ ]*24: R_NIOS2_U16 value\+0x200 -+0+0028 <[^>]*> cmpgei r11,r2,32767 -+0+002c <[^>]*> cmpgeui r11,r2,32768 -+0+0030 <[^>]*> cmplti r11,r2,-32768 -+0+0034 <[^>]*> cmpltui r11,r2,65535 -\ No newline at end of file -diff --git a/gas/testsuite/gas/nios2/cmp.s b/gas/testsuite/gas/nios2/cmp.s -new file mode 100644 -index 0000000..6f7c15b ---- /dev/null -+++ b/gas/testsuite/gas/nios2/cmp.s -@@ -0,0 +1,22 @@ -+# Source file used to test the compare instructions -+foo: -+ cmpeq r11,r2,r3 -+ cmpge r11,r2,r3 -+ cmpgeu r11,r2,r3 -+ cmplt r11,r2,r3 -+ cmpltu r11,r2,r3 -+ cmpne r11,r2,r3 -+# test that cmp generates relocations correctly -+ cmpgei r11,r2,value -+ cmpgeui r11,r2,value+0x200 -+ cmplti r11,r2,value -+ cmpltui r11,r2,value+0x200 -+ -+ cmpgei r11,r2,0x7fff -+ cmpgeui r11,r2,0x8000 -+ cmplti r11,r2,-0x8000 -+ cmpltui r11,r2,0xFFFF -+.global value -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/comments.d b/gas/testsuite/gas/nios2/comments.d -new file mode 100644 -index 0000000..890dcc2 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/comments.d -@@ -0,0 +1,26 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 comments -+ -+# Test the add instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> br 0000001c <start> -+0+0004 <[^>]*> br 00000008 <abort> -+0+0008 <[^>]*> movui r3,0 -+0+000c <[^>]*> movui r2,1 -+0+0010 <[^>]*> movui r3,0 -+0+0014 <[^>]*> movui r2,0 -+0+0018 <[^>]*> br 00000044 <exit> -+0+001c <[^>]*> addi r2,r2,-4 -+0+0020 <[^>]*> movui r11,1 -+0+0024 <[^>]*> movui r5,0 -+0+0028 <[^>]*> movui r6,0 -+0+002c <[^>]*> br 00000030 <ldst> -+0+0030 <[^>]*> movui r2,61452 -+0+0034 <[^>]*> movui r20,64206 -+0+0038 <[^>]*> stw r20,0\(r2\) -+0+003c <[^>]*> ldw r21,0\(r2\) -+0+0040 <[^>]*> br 00000010 <end> -+0+0044 <[^>]*> br 00000044 <exit> -diff --git a/gas/testsuite/gas/nios2/comments.s b/gas/testsuite/gas/nios2/comments.s -new file mode 100644 -index 0000000..7ab2027 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/comments.s -@@ -0,0 +1,28 @@ -+.set norelax -+_main: br start -+trap: -+ br abort -+.globl _main -+abort: movui r3, 0x0 -+ movui r2, 0x1 -+ -+end: movui r3, 0x0 -+ movui r2, 0x0 -+ br exit -+ -+start: -+ addi r2, r2, -4 # test for ve numbers -+ movui r11, 0x1 -+ ori r5, r0, %lo(0x0) # r5 = 0x0 -+ ori r6, r0, %lo(0x0) # r6 = 0x0 -+ br ldst -+ -+ldst: -+ movui r2, 0xF00C -+ movui r20, 0xFACE -+ stw r20,(r2) -+ ldw r21, (r2) -+ br end -+ -+ -+exit: br exit -diff --git a/gas/testsuite/gas/nios2/complex.d b/gas/testsuite/gas/nios2/complex.d -new file mode 100644 -index 0000000..d2af6ae ---- /dev/null -+++ b/gas/testsuite/gas/nios2/complex.d -@@ -0,0 +1,12 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 complex -+ -+# Test complex expression parsing -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> ldw r2,-1\(r3\) -+0+0004 <[^>]*> ldw r2,1\(r3\) -+0+0008 <[^>]*> ldw r2,0\(r3\) -+ 8: R_NIOS2_S16 stack_top\+0xffffffff -diff --git a/gas/testsuite/gas/nios2/complex.s b/gas/testsuite/gas/nios2/complex.s -new file mode 100644 -index 0000000..65141f9 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/complex.s -@@ -0,0 +1,5 @@ -+foo: -+ ldw r2, (2-3)(r3) -+ ldw r2, 2 + (2-3)(r3) -+ ldw r2, 2 + (stack_top-3)(r3) -+ -diff --git a/gas/testsuite/gas/nios2/ctl.d b/gas/testsuite/gas/nios2/ctl.d -new file mode 100644 -index 0000000..f698ce6 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ctl.d -@@ -0,0 +1,20 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 ctl -+ -+# Test the ctl instructions -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> rdctl r8,ctl31 -+0+0004 <[^>]*> rdctl r8,ctl30 -+0+0008 <[^>]*> rdctl r8,ctl29 -+0+000c <[^>]*> rdctl r8,status -+0+0010 <[^>]*> rdctl r8,bstatus -+0+0014 <[^>]*> rdctl r8,estatus -+0+0018 <[^>]*> wrctl ctl31,r8 -+0+001c <[^>]*> wrctl ctl30,r8 -+0+0020 <[^>]*> wrctl ctl29,r8 -+0+0024 <[^>]*> wrctl status,r8 -+0+0028 <[^>]*> wrctl bstatus,r8 -+0+002c <[^>]*> wrctl estatus,r8 -diff --git a/gas/testsuite/gas/nios2/ctl.s b/gas/testsuite/gas/nios2/ctl.s -new file mode 100644 -index 0000000..dc6c983 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ctl.s -@@ -0,0 +1,18 @@ -+# Source file used to test the nor instruction -+ -+foo: -+ rdctl r8,ctl31 -+ rdctl r8,ctl30 -+ rdctl r8,ctl29 -+ rdctl r8,status -+ rdctl r8,bstatus -+ rdctl r8,estatus -+ wrctl ctl31,r8 -+ wrctl ctl30,r8 -+ wrctl ctl29,r8 -+ wrctl status,r8 -+ wrctl bstatus,r8 -+ wrctl estatus,r8 -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/custom.d b/gas/testsuite/gas/nios2/custom.d -new file mode 100644 -index 0000000..c1e17be ---- /dev/null -+++ b/gas/testsuite/gas/nios2/custom.d -@@ -0,0 +1,13 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 custom -+ -+# Test the custom instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> custom 0,r11,r2,r3 -+0+0004 <[^>]*> custom 255,r11,r2,r3 -+0+0008 <[^>]*> custom 150,c1,r2,r3 -+0+000c <[^>]*> custom 24,c1,c2,r3 -+0+0010 <[^>]*> custom 56,c1,c2,c3 -diff --git a/gas/testsuite/gas/nios2/custom.s b/gas/testsuite/gas/nios2/custom.s -new file mode 100644 -index 0000000..903122a ---- /dev/null -+++ b/gas/testsuite/gas/nios2/custom.s -@@ -0,0 +1,8 @@ -+# test progam for assembling user instructions -+ -+foo: -+ custom 0, r11, r2, r3 -+ custom 255, r11, r2, r3 -+ custom 150, c1, r2, r3 -+ custom 0x18, c1, c2, r3 -+ custom 070, c1, c2, c3 -diff --git a/gas/testsuite/gas/nios2/etbt.d b/gas/testsuite/gas/nios2/etbt.d -new file mode 100644 -index 0000000..58b8e32 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/etbt.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 etbt -+ -+# Test the et, bt registers -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> add et,bt,r6 -+0+0004 <[^>]*> add et,bt,r6 -diff --git a/gas/testsuite/gas/nios2/etbt.s b/gas/testsuite/gas/nios2/etbt.s -new file mode 100644 -index 0000000..3e5fc24 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/etbt.s -@@ -0,0 +1,4 @@ -+.set nobreak -+foo: -+ add r24, r25, r6 -+ add et, bt, r6 -diff --git a/gas/testsuite/gas/nios2/flushda.d b/gas/testsuite/gas/nios2/flushda.d -new file mode 100644 -index 0000000..f3b5e3e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/flushda.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 flushda -+ -+# Test the jmp instruction. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> flushda 12\(r2\) -+ -diff --git a/gas/testsuite/gas/nios2/flushda.s b/gas/testsuite/gas/nios2/flushda.s -new file mode 100644 -index 0000000..3a32474 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/flushda.s -@@ -0,0 +1,6 @@ -+# Source file used to test the flushda instruction. -+.text -+.set nobreak -+foo: -+ flushda 12(r2) -+ -diff --git a/gas/testsuite/gas/nios2/hilo_symbol.s b/gas/testsuite/gas/nios2/hilo_symbol.s -new file mode 100644 -index 0000000..88fdddc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/hilo_symbol.s -@@ -0,0 +1,3 @@ -+.global long_symbol -+.set long_symbol, 0xDEADBEEF -+ -diff --git a/gas/testsuite/gas/nios2/illegal.l b/gas/testsuite/gas/nios2/illegal.l -new file mode 100644 -index 0000000..6248567 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/illegal.l -@@ -0,0 +1,14 @@ -+.*illegal.s: Assembler messages: -+.*illegal.s:5: Error: unknown register r56 -+.*illegal.s:8: Error: expecting \( near 0x1000 -+.*illegal.s:8: Error: missing argument -+.*illegal.s:9: Error: expecting \) near r5 -+.*illegal.s:10: Error: expecting \( near 0x1000r5\) -+.*illegal.s:10: Error: missing argument -+.*illegal.s:11: Error: expecting \( near 0x1000,r5 -+.*illegal.s:11: Error: missing argument -+.*illegal.s:12: Error: unknown register 0x1000 -+.*illegal.s:14: Error: unrecognised instruction fop -+.*illegal.s:16: Error: too many arguments -+.*illegal.s:17: Error: too many arguments -+.*illegal.s:17: Error: unknown register r2,r4 -diff --git a/gas/testsuite/gas/nios2/illegal.s b/gas/testsuite/gas/nios2/illegal.s -new file mode 100644 -index 0000000..75b6d89 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/illegal.s -@@ -0,0 +1,17 @@ -+# Source file used to test illegal operands. -+ -+foo: -+# Illegal registers -+ add r3,r4,r56 -+ add r4,r0,r2 -+# Illegal syntax -+ ldw r4,0x1000 -+ ldw r4,0x1000(r5 -+ ldw r4,0x1000r5) -+ ldw r4,0x1000,r5 -+ ldw r4,(0x1000)r5 -+# Illegal opcodes -+ fop r3,r4,r5 -+# Extra operands -+ nop Crapola -+ add r2, r2, r2, r4 -diff --git a/gas/testsuite/gas/nios2/imm5_symbol.s b/gas/testsuite/gas/nios2/imm5_symbol.s -new file mode 100644 -index 0000000..d988951 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/imm5_symbol.s -@@ -0,0 +1,4 @@ -+.global imm5 -+.text -+.byte imm5 -+.set imm5, 31 -diff --git a/gas/testsuite/gas/nios2/jmp.d b/gas/testsuite/gas/nios2/jmp.d -new file mode 100644 -index 0000000..b8727b3 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/jmp.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 jmp -+ -+# Test the jmp instruction. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> jmp bt -+ -diff --git a/gas/testsuite/gas/nios2/jmp.s b/gas/testsuite/gas/nios2/jmp.s -new file mode 100644 -index 0000000..8d859f2 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/jmp.s -@@ -0,0 +1,6 @@ -+# Source file used to test the jmp instruction. -+.text -+.set nobreak -+foo: -+ jmp r25 -+ -diff --git a/gas/testsuite/gas/nios2/ldb.d b/gas/testsuite/gas/nios2/ldb.d -new file mode 100644 -index 0000000..10ad705 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldb.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 ldb -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> ldb r4,0\(zero\) -+0+0004 <[^>]*> ldb r4,4\(zero\) -+0+0008 <[^>]*> ldb r4,32764\(zero\) -+0+000c <[^>]*> ldb r4,-32768\(zero\) -+0+0010 <[^>]*> ldb r4,0\(r5\) -+0+0014 <[^>]*> ldb r4,4\(r5\) -+0+0018 <[^>]*> ldb r4,32764\(r5\) -+0+001c <[^>]*> ldb r4,-32768\(r5\) -+0+0020 <[^>]*> ldb r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> ldb r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> ldb r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> ldb r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> ldb r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> ldb r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> ldb r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> ldb r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> ldb r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> ldb r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> ldb r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> ldb r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> ldb r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> ldb r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> ldb r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> ldb r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> ldb r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> ldb r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> ldb r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> ldb r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> ldb r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> ldb r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> ldb r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> ldb r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> ldb r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> ldb r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> ldb r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> ldb r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> ldb r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> ldb r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> ldb r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> ldb r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> ldb r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> ldb r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> ldb r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> ldb r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> ldb r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> ldb r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> ldb r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> ldb r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> ldb r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> ldb r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> ldb r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> ldbio r4,0\(zero\) -+0+00d0 <[^>]*> ldbio r4,4\(zero\) -+0+00d4 <[^>]*> ldbio r4,32764\(zero\) -+0+00d8 <[^>]*> ldbio r4,-32768\(zero\) -+0+00dc <[^>]*> ldbio r4,0\(r5\) -+0+00e0 <[^>]*> ldbio r4,4\(r5\) -+0+00e4 <[^>]*> ldbio r4,32764\(r5\) -+0+00e8 <[^>]*> ldbio r4,-32768\(r5\) -+0+00ec <[^>]*> ldbio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> ldbio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> ldbio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> ldbio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> ldbio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> ldbio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> ldbio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> ldbio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> ldbio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> ldbio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> ldbio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> ldbio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> ldbio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> ldbio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> ldbio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> ldbio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> ldbio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> ldbio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> ldbio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> ldbio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> ldbio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> ldbio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> ldbio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> ldbio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> ldbio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> ldbio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> ldbio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> ldbio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> ldbio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> ldbio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> ldbio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> ldbio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> ldbio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> ldbio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> ldbio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> ldbio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> ldbio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> ldbio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> ldbio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> ldbio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> ldbio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> ldbio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> ldbio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/ldb.s b/gas/testsuite/gas/nios2/ldb.s -new file mode 100644 -index 0000000..71c51f1 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldb.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ ldb r4,0(r0) -+ ldb r4,4(r0) -+ ldb r4,0x7ffc(r0) -+ ldb r4,-0x8000(r0) -+ ldb r4,0(r5) -+ ldb r4,4(r5) -+ ldb r4,0x7ffc(r5) -+ ldb r4,-0x8000(r5) -+ ldb r4,data_label(r0) -+ ldb r4,big_external_data_label(r0) -+ ldb r4,small_external_data_label(r0) -+ ldb r4,big_external_common(r0) -+ ldb r4,small_external_common(r0) -+ ldb r4,big_local_common(r0) -+ ldb r4,small_local_common(r0) -+ ldb r4,data_label+4(r0) -+ ldb r4,big_external_data_label+4(r0) -+ ldb r4,small_external_data_label+4(r0) -+ ldb r4,big_external_common+4(r0) -+ ldb r4,small_external_common+4(r0) -+ ldb r4,big_local_common+4(r0) -+ ldb r4,small_local_common+4(r0) -+ ldb r4,data_label-0x8000(r0) -+ ldb r4,big_external_data_label-0x8000(r0) -+ ldb r4,small_external_data_label-0x8000(r0) -+ ldb r4,big_external_common-0x8000(r0) -+ ldb r4,small_external_common-0x8000(r0) -+ ldb r4,big_local_common-0x8000(r0) -+ ldb r4,small_local_common-0x8000(r0) -+ ldb r4,data_label+0x10000(r0) -+ ldb r4,data_label(r5) -+ ldb r4,big_external_data_label(r5) -+ ldb r4,small_external_data_label(r5) -+ ldb r4,big_external_common(r5) -+ ldb r4,small_external_common(r5) -+ ldb r4,big_local_common(r5) -+ ldb r4,small_local_common(r5) -+ ldb r4,data_label+4(r5) -+ ldb r4,big_external_data_label+4(r5) -+ ldb r4,small_external_data_label+4(r5) -+ ldb r4,big_external_common+4(r5) -+ ldb r4,small_external_common+4(r5) -+ ldb r4,big_local_common+4(r5) -+ ldb r4,small_local_common+4(r5) -+ ldb r4,data_label-0x8000(r5) -+ ldb r4,big_external_data_label-0x8000(r5) -+ ldb r4,small_external_data_label-0x8000(r5) -+ ldb r4,big_external_common-0x8000(r5) -+ ldb r4,small_external_common-0x8000(r5) -+ ldb r4,big_local_common-0x8000(r5) -+ ldb r4,small_local_common-0x8000(r5) -+ -+ ldbio r4,0(r0) -+ ldbio r4,4(r0) -+ ldbio r4,0x7ffc(r0) -+ ldbio r4,-0x8000(r0) -+ ldbio r4,0(r5) -+ ldbio r4,4(r5) -+ ldbio r4,0x7ffc(r5) -+ ldbio r4,-0x8000(r5) -+ ldbio r4,data_label(r0) -+ ldbio r4,big_external_data_label(r0) -+ ldbio r4,small_external_data_label(r0) -+ ldbio r4,big_external_common(r0) -+ ldbio r4,small_external_common(r0) -+ ldbio r4,big_local_common(r0) -+ ldbio r4,small_local_common(r0) -+ ldbio r4,data_label+4(r0) -+ ldbio r4,big_external_data_label+4(r0) -+ ldbio r4,small_external_data_label+4(r0) -+ ldbio r4,big_external_common+4(r0) -+ ldbio r4,small_external_common+4(r0) -+ ldbio r4,big_local_common+4(r0) -+ ldbio r4,small_local_common+4(r0) -+ ldbio r4,data_label-0x8000(r0) -+ ldbio r4,big_external_data_label-0x8000(r0) -+ ldbio r4,small_external_data_label-0x8000(r0) -+ ldbio r4,big_external_common-0x8000(r0) -+ ldbio r4,small_external_common-0x8000(r0) -+ ldbio r4,big_local_common-0x8000(r0) -+ ldbio r4,small_local_common-0x8000(r0) -+ ldbio r4,data_label+0x10000(r0) -+ ldbio r4,data_label(r5) -+ ldbio r4,big_external_data_label(r5) -+ ldbio r4,small_external_data_label(r5) -+ ldbio r4,big_external_common(r5) -+ ldbio r4,small_external_common(r5) -+ ldbio r4,big_local_common(r5) -+ ldbio r4,small_local_common(r5) -+ ldbio r4,data_label+4(r5) -+ ldbio r4,big_external_data_label+4(r5) -+ ldbio r4,small_external_data_label+4(r5) -+ ldbio r4,big_external_common+4(r5) -+ ldbio r4,small_external_common+4(r5) -+ ldbio r4,big_local_common+4(r5) -+ ldbio r4,small_local_common+4(r5) -+ ldbio r4,data_label-0x8000(r5) -+ ldbio r4,big_external_data_label-0x8000(r5) -+ ldbio r4,small_external_data_label-0x8000(r5) -+ ldbio r4,big_external_common-0x8000(r5) -+ ldbio r4,small_external_common-0x8000(r5) -+ ldbio r4,big_local_common-0x8000(r5) -+ ldbio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/ldh.d b/gas/testsuite/gas/nios2/ldh.d -new file mode 100644 -index 0000000..54c2f7e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldh.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 ldh -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> ldh r4,0\(zero\) -+0+0004 <[^>]*> ldh r4,4\(zero\) -+0+0008 <[^>]*> ldh r4,32764\(zero\) -+0+000c <[^>]*> ldh r4,-32768\(zero\) -+0+0010 <[^>]*> ldh r4,0\(r5\) -+0+0014 <[^>]*> ldh r4,4\(r5\) -+0+0018 <[^>]*> ldh r4,32764\(r5\) -+0+001c <[^>]*> ldh r4,-32768\(r5\) -+0+0020 <[^>]*> ldh r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> ldh r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> ldh r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> ldh r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> ldh r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> ldh r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> ldh r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> ldh r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> ldh r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> ldh r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> ldh r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> ldh r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> ldh r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> ldh r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> ldh r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> ldh r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> ldh r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> ldh r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> ldh r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> ldh r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> ldh r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> ldh r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> ldh r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> ldh r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> ldh r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> ldh r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> ldh r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> ldh r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> ldh r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> ldh r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> ldh r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> ldh r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> ldh r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> ldh r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> ldh r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> ldh r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> ldh r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> ldh r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> ldh r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> ldh r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> ldh r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> ldh r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> ldh r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> ldhio r4,0\(zero\) -+0+00d0 <[^>]*> ldhio r4,4\(zero\) -+0+00d4 <[^>]*> ldhio r4,32764\(zero\) -+0+00d8 <[^>]*> ldhio r4,-32768\(zero\) -+0+00dc <[^>]*> ldhio r4,0\(r5\) -+0+00e0 <[^>]*> ldhio r4,4\(r5\) -+0+00e4 <[^>]*> ldhio r4,32764\(r5\) -+0+00e8 <[^>]*> ldhio r4,-32768\(r5\) -+0+00ec <[^>]*> ldhio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> ldhio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> ldhio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> ldhio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> ldhio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> ldhio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> ldhio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> ldhio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> ldhio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> ldhio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> ldhio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> ldhio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> ldhio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> ldhio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> ldhio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> ldhio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> ldhio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> ldhio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> ldhio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> ldhio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> ldhio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> ldhio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> ldhio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> ldhio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> ldhio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> ldhio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> ldhio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> ldhio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> ldhio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> ldhio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> ldhio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> ldhio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> ldhio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> ldhio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> ldhio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> ldhio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> ldhio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> ldhio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> ldhio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> ldhio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> ldhio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> ldhio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> ldhio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/ldh.s b/gas/testsuite/gas/nios2/ldh.s -new file mode 100644 -index 0000000..87040ee ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldh.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ ldh r4,0(r0) -+ ldh r4,4(r0) -+ ldh r4,0x7ffc(r0) -+ ldh r4,-0x8000(r0) -+ ldh r4,0(r5) -+ ldh r4,4(r5) -+ ldh r4,0x7ffc(r5) -+ ldh r4,-0x8000(r5) -+ ldh r4,data_label(r0) -+ ldh r4,big_external_data_label(r0) -+ ldh r4,small_external_data_label(r0) -+ ldh r4,big_external_common(r0) -+ ldh r4,small_external_common(r0) -+ ldh r4,big_local_common(r0) -+ ldh r4,small_local_common(r0) -+ ldh r4,data_label+4(r0) -+ ldh r4,big_external_data_label+4(r0) -+ ldh r4,small_external_data_label+4(r0) -+ ldh r4,big_external_common+4(r0) -+ ldh r4,small_external_common+4(r0) -+ ldh r4,big_local_common+4(r0) -+ ldh r4,small_local_common+4(r0) -+ ldh r4,data_label-0x8000(r0) -+ ldh r4,big_external_data_label-0x8000(r0) -+ ldh r4,small_external_data_label-0x8000(r0) -+ ldh r4,big_external_common-0x8000(r0) -+ ldh r4,small_external_common-0x8000(r0) -+ ldh r4,big_local_common-0x8000(r0) -+ ldh r4,small_local_common-0x8000(r0) -+ ldh r4,data_label+0x10000(r0) -+ ldh r4,data_label(r5) -+ ldh r4,big_external_data_label(r5) -+ ldh r4,small_external_data_label(r5) -+ ldh r4,big_external_common(r5) -+ ldh r4,small_external_common(r5) -+ ldh r4,big_local_common(r5) -+ ldh r4,small_local_common(r5) -+ ldh r4,data_label+4(r5) -+ ldh r4,big_external_data_label+4(r5) -+ ldh r4,small_external_data_label+4(r5) -+ ldh r4,big_external_common+4(r5) -+ ldh r4,small_external_common+4(r5) -+ ldh r4,big_local_common+4(r5) -+ ldh r4,small_local_common+4(r5) -+ ldh r4,data_label-0x8000(r5) -+ ldh r4,big_external_data_label-0x8000(r5) -+ ldh r4,small_external_data_label-0x8000(r5) -+ ldh r4,big_external_common-0x8000(r5) -+ ldh r4,small_external_common-0x8000(r5) -+ ldh r4,big_local_common-0x8000(r5) -+ ldh r4,small_local_common-0x8000(r5) -+ -+ ldhio r4,0(r0) -+ ldhio r4,4(r0) -+ ldhio r4,0x7ffc(r0) -+ ldhio r4,-0x8000(r0) -+ ldhio r4,0(r5) -+ ldhio r4,4(r5) -+ ldhio r4,0x7ffc(r5) -+ ldhio r4,-0x8000(r5) -+ ldhio r4,data_label(r0) -+ ldhio r4,big_external_data_label(r0) -+ ldhio r4,small_external_data_label(r0) -+ ldhio r4,big_external_common(r0) -+ ldhio r4,small_external_common(r0) -+ ldhio r4,big_local_common(r0) -+ ldhio r4,small_local_common(r0) -+ ldhio r4,data_label+4(r0) -+ ldhio r4,big_external_data_label+4(r0) -+ ldhio r4,small_external_data_label+4(r0) -+ ldhio r4,big_external_common+4(r0) -+ ldhio r4,small_external_common+4(r0) -+ ldhio r4,big_local_common+4(r0) -+ ldhio r4,small_local_common+4(r0) -+ ldhio r4,data_label-0x8000(r0) -+ ldhio r4,big_external_data_label-0x8000(r0) -+ ldhio r4,small_external_data_label-0x8000(r0) -+ ldhio r4,big_external_common-0x8000(r0) -+ ldhio r4,small_external_common-0x8000(r0) -+ ldhio r4,big_local_common-0x8000(r0) -+ ldhio r4,small_local_common-0x8000(r0) -+ ldhio r4,data_label+0x10000(r0) -+ ldhio r4,data_label(r5) -+ ldhio r4,big_external_data_label(r5) -+ ldhio r4,small_external_data_label(r5) -+ ldhio r4,big_external_common(r5) -+ ldhio r4,small_external_common(r5) -+ ldhio r4,big_local_common(r5) -+ ldhio r4,small_local_common(r5) -+ ldhio r4,data_label+4(r5) -+ ldhio r4,big_external_data_label+4(r5) -+ ldhio r4,small_external_data_label+4(r5) -+ ldhio r4,big_external_common+4(r5) -+ ldhio r4,small_external_common+4(r5) -+ ldhio r4,big_local_common+4(r5) -+ ldhio r4,small_local_common+4(r5) -+ ldhio r4,data_label-0x8000(r5) -+ ldhio r4,big_external_data_label-0x8000(r5) -+ ldhio r4,small_external_data_label-0x8000(r5) -+ ldhio r4,big_external_common-0x8000(r5) -+ ldhio r4,small_external_common-0x8000(r5) -+ ldhio r4,big_local_common-0x8000(r5) -+ ldhio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/ldw.d b/gas/testsuite/gas/nios2/ldw.d -new file mode 100644 -index 0000000..a9a6905 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldw.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 ldw -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> ldw r4,0\(zero\) -+0+0004 <[^>]*> ldw r4,4\(zero\) -+0+0008 <[^>]*> ldw r4,32764\(zero\) -+0+000c <[^>]*> ldw r4,-32768\(zero\) -+0+0010 <[^>]*> ldw r4,0\(r5\) -+0+0014 <[^>]*> ldw r4,4\(r5\) -+0+0018 <[^>]*> ldw r4,32764\(r5\) -+0+001c <[^>]*> ldw r4,-32768\(r5\) -+0+0020 <[^>]*> ldw r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> ldw r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> ldw r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> ldw r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> ldw r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> ldw r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> ldw r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> ldw r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> ldw r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> ldw r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> ldw r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> ldw r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> ldw r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> ldw r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> ldw r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> ldw r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> ldw r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> ldw r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> ldw r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> ldw r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> ldw r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> ldw r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> ldw r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> ldw r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> ldw r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> ldw r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> ldw r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> ldw r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> ldw r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> ldw r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> ldw r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> ldw r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> ldw r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> ldw r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> ldw r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> ldw r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> ldw r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> ldw r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> ldw r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> ldw r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> ldw r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> ldw r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> ldw r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> ldwio r4,0\(zero\) -+0+00d0 <[^>]*> ldwio r4,4\(zero\) -+0+00d4 <[^>]*> ldwio r4,32764\(zero\) -+0+00d8 <[^>]*> ldwio r4,-32768\(zero\) -+0+00dc <[^>]*> ldwio r4,0\(r5\) -+0+00e0 <[^>]*> ldwio r4,4\(r5\) -+0+00e4 <[^>]*> ldwio r4,32764\(r5\) -+0+00e8 <[^>]*> ldwio r4,-32768\(r5\) -+0+00ec <[^>]*> ldwio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> ldwio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> ldwio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> ldwio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> ldwio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> ldwio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> ldwio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> ldwio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> ldwio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> ldwio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> ldwio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> ldwio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> ldwio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> ldwio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> ldwio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> ldwio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> ldwio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> ldwio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> ldwio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> ldwio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> ldwio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> ldwio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> ldwio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> ldwio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> ldwio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> ldwio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> ldwio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> ldwio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> ldwio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> ldwio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> ldwio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> ldwio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> ldwio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> ldwio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> ldwio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> ldwio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> ldwio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> ldwio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> ldwio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> ldwio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> ldwio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> ldwio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> ldwio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/ldw.s b/gas/testsuite/gas/nios2/ldw.s -new file mode 100644 -index 0000000..cf6de19 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ldw.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ ldw r4,0(r0) -+ ldw r4,4(r0) -+ ldw r4,0x7ffc(r0) -+ ldw r4,-0x8000(r0) -+ ldw r4,0(r5) -+ ldw r4,4(r5) -+ ldw r4,0x7ffc(r5) -+ ldw r4,-0x8000(r5) -+ ldw r4,data_label(r0) -+ ldw r4,big_external_data_label(r0) -+ ldw r4,small_external_data_label(r0) -+ ldw r4,big_external_common(r0) -+ ldw r4,small_external_common(r0) -+ ldw r4,big_local_common(r0) -+ ldw r4,small_local_common(r0) -+ ldw r4,data_label+4(r0) -+ ldw r4,big_external_data_label+4(r0) -+ ldw r4,small_external_data_label+4(r0) -+ ldw r4,big_external_common+4(r0) -+ ldw r4,small_external_common+4(r0) -+ ldw r4,big_local_common+4(r0) -+ ldw r4,small_local_common+4(r0) -+ ldw r4,data_label-0x8000(r0) -+ ldw r4,big_external_data_label-0x8000(r0) -+ ldw r4,small_external_data_label-0x8000(r0) -+ ldw r4,big_external_common-0x8000(r0) -+ ldw r4,small_external_common-0x8000(r0) -+ ldw r4,big_local_common-0x8000(r0) -+ ldw r4,small_local_common-0x8000(r0) -+ ldw r4,data_label+0x10000(r0) -+ ldw r4,data_label(r5) -+ ldw r4,big_external_data_label(r5) -+ ldw r4,small_external_data_label(r5) -+ ldw r4,big_external_common(r5) -+ ldw r4,small_external_common(r5) -+ ldw r4,big_local_common(r5) -+ ldw r4,small_local_common(r5) -+ ldw r4,data_label+4(r5) -+ ldw r4,big_external_data_label+4(r5) -+ ldw r4,small_external_data_label+4(r5) -+ ldw r4,big_external_common+4(r5) -+ ldw r4,small_external_common+4(r5) -+ ldw r4,big_local_common+4(r5) -+ ldw r4,small_local_common+4(r5) -+ ldw r4,data_label-0x8000(r5) -+ ldw r4,big_external_data_label-0x8000(r5) -+ ldw r4,small_external_data_label-0x8000(r5) -+ ldw r4,big_external_common-0x8000(r5) -+ ldw r4,small_external_common-0x8000(r5) -+ ldw r4,big_local_common-0x8000(r5) -+ ldw r4,small_local_common-0x8000(r5) -+ -+ ldwio r4,0(r0) -+ ldwio r4,4(r0) -+ ldwio r4,0x7ffc(r0) -+ ldwio r4,-0x8000(r0) -+ ldwio r4,0(r5) -+ ldwio r4,4(r5) -+ ldwio r4,0x7ffc(r5) -+ ldwio r4,-0x8000(r5) -+ ldwio r4,data_label(r0) -+ ldwio r4,big_external_data_label(r0) -+ ldwio r4,small_external_data_label(r0) -+ ldwio r4,big_external_common(r0) -+ ldwio r4,small_external_common(r0) -+ ldwio r4,big_local_common(r0) -+ ldwio r4,small_local_common(r0) -+ ldwio r4,data_label+4(r0) -+ ldwio r4,big_external_data_label+4(r0) -+ ldwio r4,small_external_data_label+4(r0) -+ ldwio r4,big_external_common+4(r0) -+ ldwio r4,small_external_common+4(r0) -+ ldwio r4,big_local_common+4(r0) -+ ldwio r4,small_local_common+4(r0) -+ ldwio r4,data_label-0x8000(r0) -+ ldwio r4,big_external_data_label-0x8000(r0) -+ ldwio r4,small_external_data_label-0x8000(r0) -+ ldwio r4,big_external_common-0x8000(r0) -+ ldwio r4,small_external_common-0x8000(r0) -+ ldwio r4,big_local_common-0x8000(r0) -+ ldwio r4,small_local_common-0x8000(r0) -+ ldwio r4,data_label+0x10000(r0) -+ ldwio r4,data_label(r5) -+ ldwio r4,big_external_data_label(r5) -+ ldwio r4,small_external_data_label(r5) -+ ldwio r4,big_external_common(r5) -+ ldwio r4,small_external_common(r5) -+ ldwio r4,big_local_common(r5) -+ ldwio r4,small_local_common(r5) -+ ldwio r4,data_label+4(r5) -+ ldwio r4,big_external_data_label+4(r5) -+ ldwio r4,small_external_data_label+4(r5) -+ ldwio r4,big_external_common+4(r5) -+ ldwio r4,small_external_common+4(r5) -+ ldwio r4,big_local_common+4(r5) -+ ldwio r4,small_local_common+4(r5) -+ ldwio r4,data_label-0x8000(r5) -+ ldwio r4,big_external_data_label-0x8000(r5) -+ ldwio r4,small_external_data_label-0x8000(r5) -+ ldwio r4,big_external_common-0x8000(r5) -+ ldwio r4,small_external_common-0x8000(r5) -+ ldwio r4,big_local_common-0x8000(r5) -+ ldwio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/lineseparator.d b/gas/testsuite/gas/nios2/lineseparator.d -new file mode 100644 -index 0000000..09c66ea ---- /dev/null -+++ b/gas/testsuite/gas/nios2/lineseparator.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 lineseparator -+ -+# Test the add instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0x0+0000 mov r5,r4 -+0x0+0004 mov r4,r5 -diff --git a/gas/testsuite/gas/nios2/lineseparator.s b/gas/testsuite/gas/nios2/lineseparator.s -new file mode 100644 -index 0000000..d16efc3 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/lineseparator.s -@@ -0,0 +1,4 @@ -+mov r5, r4 ; mov r4, r5 -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/link1.lds b/gas/testsuite/gas/nios2/link1.lds -new file mode 100644 -index 0000000..df6c220 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/link1.lds -@@ -0,0 +1,11 @@ -+/* Simple script for testing relaxation */ -+ -+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") -+OUTPUT_ARCH(nios2) -+ENTRY(_start) -+SECTIONS -+{ -+ _start = .; -+ text2 0 : { *(text2) } -+ text1 0x8000 : { *(text1) } -+} -diff --git a/gas/testsuite/gas/nios2/link2.lds b/gas/testsuite/gas/nios2/link2.lds -new file mode 100644 -index 0000000..ee46354 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/link2.lds -@@ -0,0 +1,11 @@ -+/* Simple script for testing relaxation */ -+ -+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") -+OUTPUT_ARCH(nios2) -+ENTRY(_start) -+SECTIONS -+{ -+ _start = .; -+ text1 0 : { *(text1) } -+ text2 0x80000000 : { *(text2) } -+} -diff --git a/gas/testsuite/gas/nios2/link3.lds b/gas/testsuite/gas/nios2/link3.lds -new file mode 100644 -index 0000000..bc02d40 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/link3.lds -@@ -0,0 +1,11 @@ -+/* Simple script for testing relaxation */ -+ -+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2") -+OUTPUT_ARCH(nios2) -+ENTRY(_start) -+SECTIONS -+{ -+ _start = .; -+ text1 0 : { *(text1) } -+ text2 0x08000000 : { *(text2) } -+} -diff --git a/gas/testsuite/gas/nios2/mov.d b/gas/testsuite/gas/nios2/mov.d -new file mode 100644 -index 0000000..13bf6db ---- /dev/null -+++ b/gas/testsuite/gas/nios2/mov.d -@@ -0,0 +1,11 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 mov -+ -+# Test the mov instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> movz \$4,\$5,\$6 -+0+0004 <[^>]*> movnz \$4,\$5,\$6 -+ -diff --git a/gas/testsuite/gas/nios2/mov.s b/gas/testsuite/gas/nios2/mov.s -new file mode 100644 -index 0000000..a66aaeb ---- /dev/null -+++ b/gas/testsuite/gas/nios2/mov.s -@@ -0,0 +1,5 @@ -+# Source file used to test the movz and movnz instructions -+ -+foo: -+ movz $4,$5,$6 -+ movnz $4,$5,$6 -diff --git a/gas/testsuite/gas/nios2/movi.d b/gas/testsuite/gas/nios2/movi.d -new file mode 100644 -index 0000000..9e35c7b ---- /dev/null -+++ b/gas/testsuite/gas/nios2/movi.d -@@ -0,0 +1,13 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 movi -+ -+# Test implicit conversion of movi/movhi etc -+.*: file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> movi r2,32 -+0+0004 <[^>]*> movhi r2,8192 -+0+0008 <[^>]*> movhi r2,65535 -+0+000c <[^>]*> orhi r2,r5,65535 -+0+0010 <[^>]*> xorhi r2,r10,65535 -+0+0014 <[^>]*> andhi r2,r15,65535 -diff --git a/gas/testsuite/gas/nios2/movi.s b/gas/testsuite/gas/nios2/movi.s -new file mode 100644 -index 0000000..07d9fed ---- /dev/null -+++ b/gas/testsuite/gas/nios2/movi.s -@@ -0,0 +1,21 @@ -+# Source file used to test silent conversion of -+# movi to orhi etc -+ -+foo: -+# this doesn't get converted -+movi r2, 0x20 -+ -+# this does -+movi r2, 0x20000000 -+ -+# addi should convert only if the source register is r0 -+addi r2, r0, 0xffff0000 -+# but we can't test for non-conversion because the value would -+# be out of range -+ -+# logical ops should convert for any register -+ori r2, r5, 0xffff0000 -+xori r2, r10, 0xffff0000 -+andi r2, r15, 0xffff0000 -+ -+ -diff --git a/gas/testsuite/gas/nios2/movia.d b/gas/testsuite/gas/nios2/movia.d -new file mode 100644 -index 0000000..78a2559 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/movia.d -@@ -0,0 +1,18 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 movia -+ -+# Test the movia instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> movhi r2,32897 -+0+0004 <[^>]*> addi r2,r2,-32640 -+0+0008 <[^>]*> movhi r3,0 -+ 8: R_NIOS2_HIADJ16 sym\+0x80000000 -+0+000c <[^>]*> addi r3,r3,0 -+ c: R_NIOS2_LO16 sym\+0x80000000 -+0+0010 <[^>]*> movhi r4,0 -+ 10: R_NIOS2_HIADJ16 sym\+0x80000001 -+0+0014 <[^>]*> addi r4,r4,0 -+ 14: R_NIOS2_LO16 sym\+0x80000001 -diff --git a/gas/testsuite/gas/nios2/movia.s b/gas/testsuite/gas/nios2/movia.s -new file mode 100644 -index 0000000..fe1d56c ---- /dev/null -+++ b/gas/testsuite/gas/nios2/movia.s -@@ -0,0 +1,6 @@ -+# Test program for movia reg, immed32 macro -+ -+foo: -+ movia r2, 0x80808080 -+ movia r3, sym + 0x80000000 -+ movia r4, sym - 0x7fffffff -diff --git a/gas/testsuite/gas/nios2/mul.d b/gas/testsuite/gas/nios2/mul.d -new file mode 100644 -index 0000000..79e86d1 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/mul.d -@@ -0,0 +1,19 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 mul -+ -+# Test the mul macro. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> mul r4,r5,r6 -+0+0004 <[^>]*> muli r4,r5,0 -+0+0008 <[^>]*> muli r4,r5,1 -+0+000c <[^>]*> muli r4,r5,-32768 -+0+0010 <[^>]*> muli r4,r5,32767 -+0+0014 <[^>]*> muli r4,r5,0 -+[ ]*14: R_NIOS2_S16 undefined_symbol -+0+0018 <[^>]*> muli r4,r5,16448 -+0+001c <[^>]*> mulxss r4,r5,r6 -+0+0020 <[^>]*> mulxsu r4,r5,r6 -+0+0024 <[^>]*> mulxuu r4,r5,r6 -diff --git a/gas/testsuite/gas/nios2/mul.s b/gas/testsuite/gas/nios2/mul.s -new file mode 100644 -index 0000000..3e47bc7 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/mul.s -@@ -0,0 +1,15 @@ -+# Source file used to test the mul macro. -+ -+foo: -+ mul r4,r5,r6 -+ muli r4,r5,0 -+ muli r4,r5,1 -+ muli r4,r5,-0x8000 -+ muli r4,r5,0x7fff -+ muli r4,r5,undefined_symbol -+ muli r4,r5,defined_symbol -+ mulxss r4,r5,r6 -+ mulxsu r4,r5,r6 -+ mulxuu r4,r5,r6 -+.data -+.set defined_symbol, 0x4040 -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d b/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d -new file mode 100644 -index 0000000..21c69e3 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d -@@ -0,0 +1,17 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 reloc against merged strings -+ -+# Test the merged duplicate strings -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> addi r2,r2,32 -+0+0004 <[^>]*> addi r3,r3,63 -+0+0008 <[^>]*> addi r4,r4,70 -+0+000c <[^>]*> call 00000000 <func1> -+0+0010 <[^>]*> addi r2,r2,101 -+0+0014 <[^>]*> addi r3,r3,63 -+0+0018 <[^>]*> addi r4,r4,132 -+0+001c <[^>]*> call 00000000 <func1> -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s b/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s -new file mode 100644 -index 0000000..1e14fdc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s -@@ -0,0 +1,21 @@ -+ .section .rodata.str1.1,"aMS",@progbits,1 -+.LC0: -+ .string "DHRYSTONE PROGRAM, 1'ST STRING" -+.LC1: -+ .string "COMMON" -+.LC2: -+ .string "DHRYSTONE PROGRAM, 2'ND STRING" -+ -+ .section .text -+ .align 3 -+ .global func1 -+ .type func1, @function -+func1: -+ #movhi $2, %hiadj(.LC0) -+ addi r2, r2, .LC0 -+ #movhi $3, %hiadj(.LC1) -+ addi r3, r3, .LC1 -+ #movhi $4, %hiadj(.LC2) -+ addi r4, r4, .LC2 -+ .size func1, .-func1 -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d -new file mode 100644 -index 0000000..047745b ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d -@@ -0,0 +1,8 @@ -+#objdump: -s -+#name: NIOS2 R_NIOS2_BFD_RELOC_XX -+ -+# Test the branch instructions. -+.*: +file format elf32-littlenios2 -+ -+Contents of section .text: -+ 0000 fa00cefa efbeadde facefaef beadde00 ................ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s -new file mode 100644 -index 0000000..fff5ace ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s -@@ -0,0 +1,9 @@ -+# Test for New Jersey 32-bit, 16 and 8-bit relocations -+ -+.global byte_sym -+.global short_sym -+.global long_sym -+ -+.set byte_sym, 0xFA -+.set short_sym, 0xFACE -+.set long_sym, 0xDEADBEEF -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d -new file mode 100644 -index 0000000..2ee02e8 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 R_NIOS2_CACHE_OPX -+ -+# Test the cache opx relocation -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> cache 0x1f,0x1000\(\$1\) -+0+0004 <[^>]*> Address 0x4 is out of bounds. -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s -new file mode 100644 -index 0000000..2c59174 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s -@@ -0,0 +1,6 @@ -+# Test the imm5 relocation -+ -+.text -+ cache imm5, 0x1000($1) -+ -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d -new file mode 100644 -index 0000000..63364ef ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d -@@ -0,0 +1,76 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 nios2-reloc-r-nios2-call26 -+ -+# Test the branch instructions. -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+[ ]*\.\.\. -+[ ]*0: R_NIOS2_CALL26 .text\+0x100 -+[ ]*4: R_NIOS2_CALL26 globalfunc -+0+0008 <[^>]*> nop -+0+000c <[^>]*> nop -+0+0010 <[^>]*> nop -+0+0014 <[^>]*> nop -+0+0018 <[^>]*> nop -+0+001c <[^>]*> nop -+0+0020 <[^>]*> nop -+0+0024 <[^>]*> nop -+0+0028 <[^>]*> nop -+0+002c <[^>]*> nop -+0+0030 <[^>]*> nop -+0+0034 <[^>]*> nop -+0+0038 <[^>]*> nop -+0+003c <[^>]*> nop -+0+0040 <[^>]*> nop -+0+0044 <[^>]*> nop -+0+0048 <[^>]*> nop -+0+004c <[^>]*> nop -+0+0050 <[^>]*> nop -+0+0054 <[^>]*> nop -+0+0058 <[^>]*> nop -+0+005c <[^>]*> nop -+0+0060 <[^>]*> nop -+0+0064 <[^>]*> nop -+0+0068 <[^>]*> nop -+0+006c <[^>]*> nop -+0+0070 <[^>]*> nop -+0+0074 <[^>]*> nop -+0+0078 <[^>]*> nop -+0+007c <[^>]*> nop -+0+0080 <[^>]*> nop -+0+0084 <[^>]*> nop -+0+0088 <[^>]*> nop -+0+008c <[^>]*> nop -+0+0090 <[^>]*> nop -+0+0094 <[^>]*> nop -+0+0098 <[^>]*> nop -+0+009c <[^>]*> nop -+0+00a0 <[^>]*> nop -+0+00a4 <[^>]*> nop -+0+00a8 <[^>]*> nop -+0+00ac <[^>]*> nop -+0+00b0 <[^>]*> nop -+0+00b4 <[^>]*> nop -+0+00b8 <[^>]*> nop -+0+00bc <[^>]*> nop -+0+00c0 <[^>]*> nop -+0+00c4 <[^>]*> nop -+0+00c8 <[^>]*> nop -+0+00cc <[^>]*> nop -+0+00d0 <[^>]*> nop -+0+00d4 <[^>]*> nop -+0+00d8 <[^>]*> nop -+0+00dc <[^>]*> nop -+0+00e0 <[^>]*> nop -+0+00e4 <[^>]*> nop -+0+00e8 <[^>]*> nop -+0+00ec <[^>]*> nop -+0+00f0 <[^>]*> nop -+0+00f4 <[^>]*> nop -+0+00f8 <[^>]*> nop -+0+00fc <[^>]*> nop -+0+0100 <[^>]*> nop -+ ... -+ -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s -new file mode 100644 -index 0000000..b81896d ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s -@@ -0,0 +1,12 @@ -+# Test for New Jersey 32-bit relocations -+ -+.global globalfunc -+.text -+.set norelax -+start: -+ call localfunc -+ call globalfunc -+ -+.align 8 -+localfunc: -+ nop -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d -new file mode 100644 -index 0000000..00c0023 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d -@@ -0,0 +1,15 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 gp-relative relocations -+ -+# Test the %gprel macro. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> movui gp,32784 -+0+0004 <[^>]*> ldw at,-32756\(gp\) -+0+0008 <[^>]*> ldw r2,-32752\(gp\) -+0+000c <[^>]*> ldb r3,-32748\(gp\) -+0+0010 <[^>]*> ldw at,-32744\(gp\) -+0+0014 <[^>]*> ldw r2,-32740\(gp\) -+0+0018 <[^>]*> ldb r3,-32736\(gp\) -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s -new file mode 100644 -index 0000000..5bdcc46 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s -@@ -0,0 +1,24 @@ -+.sdata -+sym1: -+.long 0xdead -+sym2: -+.long 0xbeef -+sym3: -+.byte 0x7f -+ -+.section sdata1, "s" -+sym4: -+.long 0xdead -+sym5: -+.long 0xbeef -+sym6: -+.byte 0x7f -+ -+.text -+ movui gp, _gp -+ ldw r1, %gprel(sym1)(gp) -+ ldw r2, %gprel(sym2)(gp) -+ ldb r3, %gprel(sym3)(gp) -+ ldw r1, %gprel(sym4)(gp) -+ ldw r2, %gprel(sym5)(gp) -+ ldb r3, %gprel(sym6)(gp) -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d -new file mode 100644 -index 0000000..7a9e707 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 R_NIOS2_HI16,LO16,HIADJ16 -+ -+# Test the %hi, %lo and %hiadi relocations -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> addi at,at,-8531 -+0+0004 <[^>]*> addi at,at,-16657 -+0+0008 <[^>]*> addi at,at,-8530 -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s -new file mode 100644 -index 0000000..266f2c7 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s -@@ -0,0 +1,6 @@ -+# Test the %hi, lo and %hiadj relocations -+ -+.text -+ addi r1, r1, %hi(long_symbol) -+ addi r1, r1, %lo(long_symbol) -+ addi r1, r1, %hiadj(long_symbol) -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d -new file mode 100644 -index 0000000..8457747 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 R_NIOS2_IMM5 -+ -+# Test the branch instructions. -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> roli at,at,31 -+0+0004 <.[^>]*> Address 0x4 is out of bounds. -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s -new file mode 100644 -index 0000000..fdec546 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s -@@ -0,0 +1,6 @@ -+# Test the imm5 relocation -+ -+.text -+ roli r1, r1, imm5 -+ -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d -new file mode 100644 -index 0000000..b9f9ae5 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d -@@ -0,0 +1,12 @@ -+#objdump: -s -+#name: NIOS2 R_NIOS2_PCREL16 -+ -+# Test the relative branch relocations. -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+ -+0+0000 <[^>]*> br 00000008 <ext_label> -+0+0004 <[^>]*> br 00000018 <__bss_start\+0x8> -+0+0008 <[^>]*> nop -+0+000c <[^>]*> nop -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s -new file mode 100644 -index 0000000..72970cc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s -@@ -0,0 +1,6 @@ -+# Test for pc-relative relocations -+.set norelax -+.text -+ br ext_label -+ br ext_label + 16 -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d -new file mode 100644 -index 0000000..0230d0e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d -@@ -0,0 +1,8 @@ -+ -+a.exe: file format elf32-littlenios2 -+ -+Contents of section .text: -+ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H. -+ 0010 44004008 D.@. -+Contents of section .data: -+Contents of section .sbss: -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d -new file mode 100644 -index 0000000..0d0f535 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d -@@ -0,0 +1,9 @@ -+#objdump: -s -+#name: NIOS2 R_NIOS2_S16 -+ -+# Test the signed 16-bit relocations. -+.*: +file format elf32-littlenios2 -+ -+Contents of section .text: -+ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H. -+ 0010 44004008 D.@. -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s -new file mode 100644 -index 0000000..11986d1 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s -@@ -0,0 +1,13 @@ -+# Test for New Jersey 32-bit, 16 and 8-bit relocations -+ -+.set some_other_sym, 0x1000 -+.text -+# signed 16-bit relocation -+ addi r1, r1, some_sym -+ addi r1, r1, min -+ addi r1, r1, max -+ addi r1, r1, some_sym + some_other_sym + 1 -+ addi r1, r1, some_sym - some_other_sym + 1 -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d -new file mode 100644 -index 0000000..160dba2 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d -@@ -0,0 +1,9 @@ -+#objdump: -s -+#name: NIOS2 R_NIOS2_U16 -+ -+# Test the unsigned 16-bit relocations. -+.*: +file format elf32-littlenios2 -+ -+Contents of section .text: -+ 0000 0c004408 0c004008 ccff7f08 4c004808 ..D...@.....L.H. -+ 0010 4c004008 L.@. -diff --git a/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s -new file mode 100644 -index 0000000..0d78368 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s -@@ -0,0 +1,13 @@ -+# Test for New Jersey 32-bit, 16 and 8-bit relocations -+ -+.set some_other_sym, 0x1000 -+.text -+# signed 16-bit relocation -+ andi r1, r1, some_sym -+ andi r1, r1, min -+ andi r1, r1, max -+ andi r1, r1, some_sym + some_other_sym + 1 -+ andi r1, r1, some_sym - some_other_sym + 1 -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/nios2.exp b/gas/testsuite/gas/nios2/nios2.exp -new file mode 100644 -index 0000000..475e5e5 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nios2.exp -@@ -0,0 +1,201 @@ -+# -+# Some generic New Jersey tests -+# -+ -+# "LOSE" marks information about tests which fail at a particular point -+# in time, but which are not XFAILed. Either they used to pass -+# and indicate either regressions or the need to tweak the tests to keep -+# up the with code, or they are new tests and it is unknown whether or not -+# they should pass as-is for the given object formats. -+ -+if ![info exists LD] then { -+ set LD [findfile $base_dir/../../ld/ld-new] -+} -+ -+proc run_list_test { name } { -+ global srcdir subdir -+ set testname "NIOS2 $name" -+ set file $srcdir/$subdir/$name -+ gas_run ${name}.s "" ">&dump.out" -+ if { [regexp_diff "dump.out" "${file}.l"] } then { -+ fail $testname -+ verbose "output is [file_contents "dump.out"]" 2 -+ return -+ } -+ pass $testname -+} -+ -+proc ld_run { obj0 obj1 opts } { -+ global LD -+ global comp_output -+ global srcdir -+ global subdir -+ global host_triplet -+ -+ verbose "Executing $srcdir/lib/run $LD $obj0 $obj1 $opts" -+ catch "exec $srcdir/lib/run $LD $obj0 $obj1 $opts" comp_output -+ set comp_output [prune_warnings $comp_output] -+ verbose "output was $comp_output" -+ return [list $comp_output ""]; -+} -+ -+proc objdump_run { prog opts redir } { -+ global OBJDUMP -+ global comp_output -+ global srcdir -+ global subdir -+ global host_triplet -+ -+ verbose "Executing $srcdir/lib/run $OBJDUMP -s $prog" -+ catch "exec $srcdir/lib/run $OBJDUMP $opts $prog $redir" comp_output -+ set comp_output [prune_warnings $comp_output] -+ verbose "output was $comp_output" -+ return [list $comp_output ""]; -+} -+ -+proc run_reloc_test { name other objdump_opts} { -+ global LD OBJDUMP AS -+ global srcdir subdir -+ set testname "NIOS2 $name" -+ set file $srcdir/$subdir/$name -+ set file1 $srcdir/$subdir/$other -+ gas_run ${name}.s "-o ${name}.o" "" -+ gas_run ${other}.s "-o ${other}.o" "" -+ ld_run ${name}.o ${other}.o "-o ${name}.exe" -+ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" -+ if { [regexp_diff "dump.out" "${file}.d"] } then { -+ fail $testname -+ verbose "output is [file_contents "dump.out"]" 2 -+ return -+ } -+ pass $testname -+} -+ -+proc run_gpreloc_test { name objdump_opts} { -+ global LD OBJDUMP AS -+ global srcdir subdir -+ set testname "NIOS2 $name" -+ set file $srcdir/$subdir/$name -+ gas_run ${name}.s "-o ${name}.o" "" -+ ld_run ${name}.o "" "-o ${name}.exe" -+ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" -+ if { [regexp_diff "dump.out" "${file}.d"] } then { -+ fail $testname -+ verbose "output is [file_contents "dump.out"]" 2 -+ return -+ } -+ pass $testname -+} -+ -+proc run_relax_test { name asm_opts link_opts objdump_opts} { -+ global LD OBJDUMP AS -+ global srcdir subdir -+ set testname "NIOS2 $name" -+ set file $srcdir/$subdir/$name -+ gas_run ${name}.s "-o ${name}.o" ${asm_opts} -+ ld_run ${name}.o "" "-o ${name}.exe -T${srcdir}/${subdir}/${link_opts} --relax" -+ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" -+ if { [regexp_diff "dump.out" "${file}.d"] } then { -+ fail $testname -+ verbose "output is [file_contents "dump.out"]" 2 -+ return -+ } -+ pass $testname -+} -+ -+proc run_relax_section_test { name asm_opts objdump_opts} { -+ global LD OBJDUMP AS -+ global srcdir subdir -+ set testname "NIOS2 $name" -+ set file $srcdir/$subdir/$name -+ gas_run ${name}.s "-o ${name}.o" ${asm_opts} -+ ld_run ${name}.o "" "-o ${name}.exe" -+ objdump_run ${name}.exe ${objdump_opts} ">&dump.out" -+ if { [regexp_diff "dump.out" "${file}.d"] } then { -+ fail $testname -+ verbose "output is [file_contents "dump.out"]" 2 -+ return -+ } -+ pass $testname -+} -+ -+if { [istarget nios2-*-elf] } then { -+ set elf 1 -+ -+ run_dump_test "add" -+ run_dump_test "and" -+ run_dump_test "align_fill" -+ run_dump_test "align_text" -+ -+ run_dump_test "branch" -+ -+ -+ run_dump_test "break" -+ run_dump_test "bret" -+ run_dump_test "cache" -+ -+ run_dump_test "call" -+ -+ -+ run_dump_test "cmp" -+ -+ -+ run_dump_test "jmp" -+ run_dump_test "ldw" -+ run_dump_test "ldh" -+ run_dump_test "ldb" -+ -+ run_dump_test "flushda" -+ -+ run_dump_test "mul" -+ -+ run_dump_test "nor" -+ run_dump_test "or" -+ -+ run_dump_test "ctl" -+ run_dump_test "ret" -+ run_dump_test "rotate" -+ -+ run_dump_test "stw" -+ run_dump_test "sth" -+ run_dump_test "stb" -+ -+ run_dump_test "sub" -+ run_dump_test "sync" -+ run_dump_test "trap" -+ run_dump_test "tret" -+ -+ run_dump_test "custom" -+ run_dump_test "xor" -+ run_dump_test "movia" -+ -+ run_dump_test "complex" -+ run_dump_test "comments" -+ run_dump_test "etbt" -+ run_dump_test "lineseparator" -+ run_dump_test "movi" -+ -+ run_list_test "illegal" -+ run_list_test "warn_nobreak" -+ run_list_test "warn_noat" -+ -+ -+# now lets make sure that the assembler generates all the relocations -+# that it should correctly, and that the linker links them correctly -+ -+ run_reloc_test "nios2-reloc-r-nios2-bfd-reloc-xx" "reloc_symbols" "-s" -+ run_reloc_test "nios2-reloc-r-nios2-s16" "s16_symbol" "-s" -+ run_reloc_test "nios2-reloc-r-nios2-u16" "u16_symbol" "-s" -+ run_reloc_test "nios2-reloc-r-nios2-pcrel16" "pcrel_label" "-dr --prefix-addresses" -+ run_reloc_test "nios2-reloc-r-nios2-hilo16" "hilo_symbol" "-dr --prefix-addresses" -+ run_dump_test "nios2-reloc-r-nios2-call26" -+ run_reloc_test "nios2-reloc-r-nios2-imm5" "imm5_symbol" "-dr --prefix-addresses" -+ run_reloc_test "nios2-reloc-merged_strings" "str2" "-dr --prefix-addresses" -+ run_gpreloc_test "nios2-reloc-r-nios2-gprel" "-dr --prefix-addresses" -+ -+# relaxation tests -+ run_relax_test "relax_ujmp" "-relax-all" "link1.lds" "-dr --prefix-addresses" -+ run_relax_test "relax_cjmp" "-relax-all" "link1.lds" "-dr --prefix-addresses" -+ run_relax_test "relax_callr" "-relax-all" "link3.lds" "-dr --prefix-addresses" -+ run_relax_section_test "relax_section" "-relax-section" "-dr --prefix-addresses" -+} -diff --git a/gas/testsuite/gas/nios2/nor.d b/gas/testsuite/gas/nios2/nor.d -new file mode 100644 -index 0000000..fab8e69 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nor.d -@@ -0,0 +1,9 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 nor -+ -+# Test the nor instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> nor r6,r8,r10 -diff --git a/gas/testsuite/gas/nios2/nor.s b/gas/testsuite/gas/nios2/nor.s -new file mode 100644 -index 0000000..da78254 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/nor.s -@@ -0,0 +1,5 @@ -+# Source file used to test the nor instruction -+ -+foo: -+ nor r6,r8,r10 -+ -diff --git a/gas/testsuite/gas/nios2/or.d b/gas/testsuite/gas/nios2/or.d -new file mode 100644 -index 0000000..e5035bc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/or.d -@@ -0,0 +1,11 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 or -+ -+# Test the nor instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> or r6,r8,r10 -+0+0004 <[^>]*> orhi r6,r7,65535 -+0+0008 <[^>]*> ori r6,r7,65535 -diff --git a/gas/testsuite/gas/nios2/or.s b/gas/testsuite/gas/nios2/or.s -new file mode 100644 -index 0000000..675df17 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/or.s -@@ -0,0 +1,7 @@ -+# Source file used to test the nor instruction -+ -+foo: -+ or r6,r8,r10 -+ orhi r6,r7,0xffff -+ ori r6,r7,0xffff -+ -diff --git a/gas/testsuite/gas/nios2/pcrel_label.s b/gas/testsuite/gas/nios2/pcrel_label.s -new file mode 100644 -index 0000000..3a76612 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/pcrel_label.s -@@ -0,0 +1,5 @@ -+.text -+ext_label: -+ nop -+ nop -+.global ext_label -diff --git a/gas/testsuite/gas/nios2/relax_callr.d b/gas/testsuite/gas/nios2/relax_callr.d -new file mode 100644 -index 0000000..6218c6d ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_callr.d -@@ -0,0 +1,22 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 relax_callr -+# Test relaxation of callr -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section text1: -+00000000 <[^>]*> call 08000000 <func> -+00000004 <[^>]*> nop -+00000008 <[^>]*> nop -+0000000c <[^>]*> call 0800001c <func1> -+00000010 <[^>]*> nop -+00000014 <[^>]*> nop -+Disassembly of section text2: -+08000000 <[^>]*> nop -+08000004 <[^>]*> br 0800001c <func1> -+08000008 <[^>]*> nop -+0800000c <[^>]*> nop -+08000010 <[^>]*> nop -+08000014 <[^>]*> nop -+08000018 <[^>]*> nop -+0800001c <[^>]*> nop -diff --git a/gas/testsuite/gas/nios2/relax_callr.s b/gas/testsuite/gas/nios2/relax_callr.s -new file mode 100644 -index 0000000..b4cc2c4 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_callr.s -@@ -0,0 +1,17 @@ -+# relaxation test for callr -+ -+.globl text1 -+.section text1, "ax", @progbits -+ -+ call func -+ call func1 -+ -+.section text2, "ax", @progbits -+func: -+ nop -+ br func1 -+ nop -+ nop -+ nop -+func1: -+ nop -diff --git a/gas/testsuite/gas/nios2/relax_cjmp.d b/gas/testsuite/gas/nios2/relax_cjmp.d -new file mode 100644 -index 0000000..2b6d907 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_cjmp.d -@@ -0,0 +1,8227 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 relax_cjmp -+ -+# Test relaxation of conditional jumps -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section text2: -+00000000 <[^>]*> bge r2,r3,00008000 <[^>]*> -+00000004 <[^>]*> nop -+00000008 <[^>]*> nop -+0000000c <[^>]*> nop -+00000010 <[^>]*> blt r3,r2,00000020 <[^>]*> -+00000014 <[^>]*> movhi at,1 -+00000018 <[^>]*> ori at,at,36 -+0000001c <[^>]*> jmp at -+00000020 <[^>]*> bge r3,r2,00000038 <[^>]*> -+00000024 <[^>]*> nop -+00000028 <[^>]*> nop -+0000002c <[^>]*> nop -+00000030 <[^>]*> nop -+00000034 <[^>]*> nop -+00000038 <[^>]*> nop -+Disassembly of section text1: -+00008000 <[^>]*> beq r2,r3,00010000 <[^>]*> -+00008004 <[^>]*> nop -+00008008 <[^>]*> nop -+0000800c <[^>]*> nop -+00008010 <[^>]*> bne r2,r3,00008020 <[^>]*> -+00008014 <[^>]*> movhi at,1 -+00008018 <[^>]*> ori at,at,36 -+0000801c <[^>]*> jmp at -+00008020 <[^>]*> nop -+00008024 <[^>]*> nop -+00008028 <[^>]*> nop -+0000802c <[^>]*> nop -+00008030 <[^>]*> nop -+00008034 <[^>]*> nop -+00008038 <[^>]*> nop -+0000803c <[^>]*> nop -+00008040 <[^>]*> nop -+00008044 <[^>]*> nop -+00008048 <[^>]*> nop -+0000804c <[^>]*> nop -+00008050 <[^>]*> nop -+00008054 <[^>]*> nop -+00008058 <[^>]*> nop -+0000805c <[^>]*> nop -+00008060 <[^>]*> nop -+00008064 <[^>]*> nop -+00008068 <[^>]*> nop -+0000806c <[^>]*> nop -+00008070 <[^>]*> nop -+00008074 <[^>]*> nop -+00008078 <[^>]*> nop -+0000807c <[^>]*> nop -+00008080 <[^>]*> nop -+00008084 <[^>]*> nop -+00008088 <[^>]*> nop -+0000808c <[^>]*> nop -+00008090 <[^>]*> nop -+00008094 <[^>]*> nop -+00008098 <[^>]*> nop -+0000809c <[^>]*> nop -+000080a0 <[^>]*> nop -+000080a4 <[^>]*> nop -+000080a8 <[^>]*> nop -+000080ac <[^>]*> nop -+000080b0 <[^>]*> nop -+000080b4 <[^>]*> nop -+000080b8 <[^>]*> nop -+000080bc <[^>]*> nop -+000080c0 <[^>]*> nop -+000080c4 <[^>]*> nop -+000080c8 <[^>]*> nop -+000080cc <[^>]*> nop -+000080d0 <[^>]*> nop -+000080d4 <[^>]*> nop -+000080d8 <[^>]*> nop -+000080dc <[^>]*> nop -+000080e0 <[^>]*> nop -+000080e4 <[^>]*> nop -+000080e8 <[^>]*> nop -+000080ec <[^>]*> nop -+000080f0 <[^>]*> nop -+000080f4 <[^>]*> nop -+000080f8 <[^>]*> nop -+000080fc <[^>]*> nop -+00008100 <[^>]*> nop -+00008104 <[^>]*> nop -+00008108 <[^>]*> nop -+0000810c <[^>]*> nop -+00008110 <[^>]*> nop -+00008114 <[^>]*> nop -+00008118 <[^>]*> nop -+0000811c <[^>]*> nop -+00008120 <[^>]*> nop -+00008124 <[^>]*> nop -+00008128 <[^>]*> nop -+0000812c <[^>]*> nop -+00008130 <[^>]*> nop -+00008134 <[^>]*> nop -+00008138 <[^>]*> nop -+0000813c <[^>]*> nop -+00008140 <[^>]*> nop -+00008144 <[^>]*> nop -+00008148 <[^>]*> nop -+0000814c <[^>]*> nop -+00008150 <[^>]*> nop -+00008154 <[^>]*> nop -+00008158 <[^>]*> nop -+0000815c <[^>]*> nop -+00008160 <[^>]*> nop -+00008164 <[^>]*> nop -+00008168 <[^>]*> nop -+0000816c <[^>]*> nop -+00008170 <[^>]*> nop -+00008174 <[^>]*> nop -+00008178 <[^>]*> nop -+0000817c <[^>]*> nop -+00008180 <[^>]*> nop -+00008184 <[^>]*> nop -+00008188 <[^>]*> nop -+0000818c <[^>]*> nop -+00008190 <[^>]*> nop -+00008194 <[^>]*> nop -+00008198 <[^>]*> nop -+0000819c <[^>]*> nop -+000081a0 <[^>]*> nop -+000081a4 <[^>]*> nop -+000081a8 <[^>]*> nop -+000081ac <[^>]*> nop -+000081b0 <[^>]*> nop -+000081b4 <[^>]*> nop -+000081b8 <[^>]*> nop -+000081bc <[^>]*> nop -+000081c0 <[^>]*> nop -+000081c4 <[^>]*> nop -+000081c8 <[^>]*> nop -+000081cc <[^>]*> nop -+000081d0 <[^>]*> nop -+000081d4 <[^>]*> nop -+000081d8 <[^>]*> nop -+000081dc <[^>]*> nop -+000081e0 <[^>]*> nop -+000081e4 <[^>]*> nop -+000081e8 <[^>]*> nop -+000081ec <[^>]*> nop -+000081f0 <[^>]*> nop -+000081f4 <[^>]*> nop -+000081f8 <[^>]*> nop -+000081fc <[^>]*> nop -+00008200 <[^>]*> nop -+00008204 <[^>]*> nop -+00008208 <[^>]*> nop -+0000820c <[^>]*> nop -+00008210 <[^>]*> nop -+00008214 <[^>]*> nop -+00008218 <[^>]*> nop -+0000821c <[^>]*> nop -+00008220 <[^>]*> nop -+00008224 <[^>]*> nop -+00008228 <[^>]*> nop -+0000822c <[^>]*> nop -+00008230 <[^>]*> nop -+00008234 <[^>]*> nop -+00008238 <[^>]*> nop -+0000823c <[^>]*> nop -+00008240 <[^>]*> nop -+00008244 <[^>]*> nop -+00008248 <[^>]*> nop -+0000824c <[^>]*> nop -+00008250 <[^>]*> nop -+00008254 <[^>]*> nop -+00008258 <[^>]*> nop -+0000825c <[^>]*> nop -+00008260 <[^>]*> nop -+00008264 <[^>]*> nop -+00008268 <[^>]*> nop -+0000826c <[^>]*> nop -+00008270 <[^>]*> nop -+00008274 <[^>]*> nop -+00008278 <[^>]*> nop -+0000827c <[^>]*> nop -+00008280 <[^>]*> nop -+00008284 <[^>]*> nop -+00008288 <[^>]*> nop -+0000828c <[^>]*> nop -+00008290 <[^>]*> nop -+00008294 <[^>]*> nop -+00008298 <[^>]*> nop -+0000829c <[^>]*> nop -+000082a0 <[^>]*> nop -+000082a4 <[^>]*> nop -+000082a8 <[^>]*> nop -+000082ac <[^>]*> nop -+000082b0 <[^>]*> nop -+000082b4 <[^>]*> nop -+000082b8 <[^>]*> nop -+000082bc <[^>]*> nop -+000082c0 <[^>]*> nop -+000082c4 <[^>]*> nop -+000082c8 <[^>]*> nop -+000082cc <[^>]*> nop -+000082d0 <[^>]*> nop -+000082d4 <[^>]*> nop -+000082d8 <[^>]*> nop -+000082dc <[^>]*> nop -+000082e0 <[^>]*> nop -+000082e4 <[^>]*> nop -+000082e8 <[^>]*> nop -+000082ec <[^>]*> nop -+000082f0 <[^>]*> nop -+000082f4 <[^>]*> nop -+000082f8 <[^>]*> nop -+000082fc <[^>]*> nop -+00008300 <[^>]*> nop -+00008304 <[^>]*> nop -+00008308 <[^>]*> nop -+0000830c <[^>]*> nop -+00008310 <[^>]*> nop -+00008314 <[^>]*> nop -+00008318 <[^>]*> nop -+0000831c <[^>]*> nop -+00008320 <[^>]*> nop -+00008324 <[^>]*> nop -+00008328 <[^>]*> nop -+0000832c <[^>]*> nop -+00008330 <[^>]*> nop -+00008334 <[^>]*> nop -+00008338 <[^>]*> nop -+0000833c <[^>]*> nop -+00008340 <[^>]*> nop -+00008344 <[^>]*> nop -+00008348 <[^>]*> nop -+0000834c <[^>]*> nop -+00008350 <[^>]*> nop -+00008354 <[^>]*> nop -+00008358 <[^>]*> nop -+0000835c <[^>]*> nop -+00008360 <[^>]*> nop -+00008364 <[^>]*> nop -+00008368 <[^>]*> nop -+0000836c <[^>]*> nop -+00008370 <[^>]*> nop -+00008374 <[^>]*> nop -+00008378 <[^>]*> nop -+0000837c <[^>]*> nop -+00008380 <[^>]*> nop -+00008384 <[^>]*> nop -+00008388 <[^>]*> nop -+0000838c <[^>]*> nop -+00008390 <[^>]*> nop -+00008394 <[^>]*> nop -+00008398 <[^>]*> nop -+0000839c <[^>]*> nop -+000083a0 <[^>]*> nop -+000083a4 <[^>]*> nop -+000083a8 <[^>]*> nop -+000083ac <[^>]*> nop -+000083b0 <[^>]*> nop -+000083b4 <[^>]*> nop -+000083b8 <[^>]*> nop -+000083bc <[^>]*> nop -+000083c0 <[^>]*> nop -+000083c4 <[^>]*> nop -+000083c8 <[^>]*> nop -+000083cc <[^>]*> nop -+000083d0 <[^>]*> nop -+000083d4 <[^>]*> nop -+000083d8 <[^>]*> nop -+000083dc <[^>]*> nop -+000083e0 <[^>]*> nop -+000083e4 <[^>]*> nop -+000083e8 <[^>]*> nop -+000083ec <[^>]*> nop -+000083f0 <[^>]*> nop -+000083f4 <[^>]*> nop -+000083f8 <[^>]*> nop -+000083fc <[^>]*> nop -+00008400 <[^>]*> nop -+00008404 <[^>]*> nop -+00008408 <[^>]*> nop -+0000840c <[^>]*> nop -+00008410 <[^>]*> nop -+00008414 <[^>]*> nop -+00008418 <[^>]*> nop -+0000841c <[^>]*> nop -+00008420 <[^>]*> nop -+00008424 <[^>]*> nop -+00008428 <[^>]*> nop -+0000842c <[^>]*> nop -+00008430 <[^>]*> nop -+00008434 <[^>]*> nop -+00008438 <[^>]*> nop -+0000843c <[^>]*> nop -+00008440 <[^>]*> nop -+00008444 <[^>]*> nop -+00008448 <[^>]*> nop -+0000844c <[^>]*> nop -+00008450 <[^>]*> nop -+00008454 <[^>]*> nop -+00008458 <[^>]*> nop -+0000845c <[^>]*> nop -+00008460 <[^>]*> nop -+00008464 <[^>]*> nop -+00008468 <[^>]*> nop -+0000846c <[^>]*> nop -+00008470 <[^>]*> nop -+00008474 <[^>]*> nop -+00008478 <[^>]*> nop -+0000847c <[^>]*> nop -+00008480 <[^>]*> nop -+00008484 <[^>]*> nop -+00008488 <[^>]*> nop -+0000848c <[^>]*> nop -+00008490 <[^>]*> nop -+00008494 <[^>]*> nop -+00008498 <[^>]*> nop -+0000849c <[^>]*> nop -+000084a0 <[^>]*> nop -+000084a4 <[^>]*> nop -+000084a8 <[^>]*> nop -+000084ac <[^>]*> nop -+000084b0 <[^>]*> nop -+000084b4 <[^>]*> nop -+000084b8 <[^>]*> nop -+000084bc <[^>]*> nop -+000084c0 <[^>]*> nop -+000084c4 <[^>]*> nop -+000084c8 <[^>]*> nop -+000084cc <[^>]*> nop -+000084d0 <[^>]*> nop -+000084d4 <[^>]*> nop -+000084d8 <[^>]*> nop -+000084dc <[^>]*> nop -+000084e0 <[^>]*> nop -+000084e4 <[^>]*> nop -+000084e8 <[^>]*> nop -+000084ec <[^>]*> nop -+000084f0 <[^>]*> nop -+000084f4 <[^>]*> nop -+000084f8 <[^>]*> nop -+000084fc <[^>]*> nop -+00008500 <[^>]*> nop -+00008504 <[^>]*> nop -+00008508 <[^>]*> nop -+0000850c <[^>]*> nop -+00008510 <[^>]*> nop -+00008514 <[^>]*> nop -+00008518 <[^>]*> nop -+0000851c <[^>]*> nop -+00008520 <[^>]*> nop -+00008524 <[^>]*> nop -+00008528 <[^>]*> nop -+0000852c <[^>]*> nop -+00008530 <[^>]*> nop -+00008534 <[^>]*> nop -+00008538 <[^>]*> nop -+0000853c <[^>]*> nop -+00008540 <[^>]*> nop -+00008544 <[^>]*> nop -+00008548 <[^>]*> nop -+0000854c <[^>]*> nop -+00008550 <[^>]*> nop -+00008554 <[^>]*> nop -+00008558 <[^>]*> nop -+0000855c <[^>]*> nop -+00008560 <[^>]*> nop -+00008564 <[^>]*> nop -+00008568 <[^>]*> nop -+0000856c <[^>]*> nop -+00008570 <[^>]*> nop -+00008574 <[^>]*> nop -+00008578 <[^>]*> nop -+0000857c <[^>]*> nop -+00008580 <[^>]*> nop -+00008584 <[^>]*> nop -+00008588 <[^>]*> nop -+0000858c <[^>]*> nop -+00008590 <[^>]*> nop -+00008594 <[^>]*> nop -+00008598 <[^>]*> nop -+0000859c <[^>]*> nop -+000085a0 <[^>]*> nop -+000085a4 <[^>]*> nop -+000085a8 <[^>]*> nop -+000085ac <[^>]*> nop -+000085b0 <[^>]*> nop -+000085b4 <[^>]*> nop -+000085b8 <[^>]*> nop -+000085bc <[^>]*> nop -+000085c0 <[^>]*> nop -+000085c4 <[^>]*> nop -+000085c8 <[^>]*> nop -+000085cc <[^>]*> nop -+000085d0 <[^>]*> nop -+000085d4 <[^>]*> nop -+000085d8 <[^>]*> nop -+000085dc <[^>]*> nop -+000085e0 <[^>]*> nop -+000085e4 <[^>]*> nop -+000085e8 <[^>]*> nop -+000085ec <[^>]*> nop -+000085f0 <[^>]*> nop -+000085f4 <[^>]*> nop -+000085f8 <[^>]*> nop -+000085fc <[^>]*> nop -+00008600 <[^>]*> nop -+00008604 <[^>]*> nop -+00008608 <[^>]*> nop -+0000860c <[^>]*> nop -+00008610 <[^>]*> nop -+00008614 <[^>]*> nop -+00008618 <[^>]*> nop -+0000861c <[^>]*> nop -+00008620 <[^>]*> nop -+00008624 <[^>]*> nop -+00008628 <[^>]*> nop -+0000862c <[^>]*> nop -+00008630 <[^>]*> nop -+00008634 <[^>]*> nop -+00008638 <[^>]*> nop -+0000863c <[^>]*> nop -+00008640 <[^>]*> nop -+00008644 <[^>]*> nop -+00008648 <[^>]*> nop -+0000864c <[^>]*> nop -+00008650 <[^>]*> nop -+00008654 <[^>]*> nop -+00008658 <[^>]*> nop -+0000865c <[^>]*> nop -+00008660 <[^>]*> nop -+00008664 <[^>]*> nop -+00008668 <[^>]*> nop -+0000866c <[^>]*> nop -+00008670 <[^>]*> nop -+00008674 <[^>]*> nop -+00008678 <[^>]*> nop -+0000867c <[^>]*> nop -+00008680 <[^>]*> nop -+00008684 <[^>]*> nop -+00008688 <[^>]*> nop -+0000868c <[^>]*> nop -+00008690 <[^>]*> nop -+00008694 <[^>]*> nop -+00008698 <[^>]*> nop -+0000869c <[^>]*> nop -+000086a0 <[^>]*> nop -+000086a4 <[^>]*> nop -+000086a8 <[^>]*> nop -+000086ac <[^>]*> nop -+000086b0 <[^>]*> nop -+000086b4 <[^>]*> nop -+000086b8 <[^>]*> nop -+000086bc <[^>]*> nop -+000086c0 <[^>]*> nop -+000086c4 <[^>]*> nop -+000086c8 <[^>]*> nop -+000086cc <[^>]*> nop -+000086d0 <[^>]*> nop -+000086d4 <[^>]*> nop -+000086d8 <[^>]*> nop -+000086dc <[^>]*> nop -+000086e0 <[^>]*> nop -+000086e4 <[^>]*> nop -+000086e8 <[^>]*> nop -+000086ec <[^>]*> nop -+000086f0 <[^>]*> nop -+000086f4 <[^>]*> nop -+000086f8 <[^>]*> nop -+000086fc <[^>]*> nop -+00008700 <[^>]*> nop -+00008704 <[^>]*> nop -+00008708 <[^>]*> nop -+0000870c <[^>]*> nop -+00008710 <[^>]*> nop -+00008714 <[^>]*> nop -+00008718 <[^>]*> nop -+0000871c <[^>]*> nop -+00008720 <[^>]*> nop -+00008724 <[^>]*> nop -+00008728 <[^>]*> nop -+0000872c <[^>]*> nop -+00008730 <[^>]*> nop -+00008734 <[^>]*> nop -+00008738 <[^>]*> nop -+0000873c <[^>]*> nop -+00008740 <[^>]*> nop -+00008744 <[^>]*> nop -+00008748 <[^>]*> nop -+0000874c <[^>]*> nop -+00008750 <[^>]*> nop -+00008754 <[^>]*> nop -+00008758 <[^>]*> nop -+0000875c <[^>]*> nop -+00008760 <[^>]*> nop -+00008764 <[^>]*> nop -+00008768 <[^>]*> nop -+0000876c <[^>]*> nop -+00008770 <[^>]*> nop -+00008774 <[^>]*> nop -+00008778 <[^>]*> nop -+0000877c <[^>]*> nop -+00008780 <[^>]*> nop -+00008784 <[^>]*> nop -+00008788 <[^>]*> nop -+0000878c <[^>]*> nop -+00008790 <[^>]*> nop -+00008794 <[^>]*> nop -+00008798 <[^>]*> nop -+0000879c <[^>]*> nop -+000087a0 <[^>]*> nop -+000087a4 <[^>]*> nop -+000087a8 <[^>]*> nop -+000087ac <[^>]*> nop -+000087b0 <[^>]*> nop -+000087b4 <[^>]*> nop -+000087b8 <[^>]*> nop -+000087bc <[^>]*> nop -+000087c0 <[^>]*> nop -+000087c4 <[^>]*> nop -+000087c8 <[^>]*> nop -+000087cc <[^>]*> nop -+000087d0 <[^>]*> nop -+000087d4 <[^>]*> nop -+000087d8 <[^>]*> nop -+000087dc <[^>]*> nop -+000087e0 <[^>]*> nop -+000087e4 <[^>]*> nop -+000087e8 <[^>]*> nop -+000087ec <[^>]*> nop -+000087f0 <[^>]*> nop -+000087f4 <[^>]*> nop -+000087f8 <[^>]*> nop -+000087fc <[^>]*> nop -+00008800 <[^>]*> nop -+00008804 <[^>]*> nop -+00008808 <[^>]*> nop -+0000880c <[^>]*> nop -+00008810 <[^>]*> nop -+00008814 <[^>]*> nop -+00008818 <[^>]*> nop -+0000881c <[^>]*> nop -+00008820 <[^>]*> nop -+00008824 <[^>]*> nop -+00008828 <[^>]*> nop -+0000882c <[^>]*> nop -+00008830 <[^>]*> nop -+00008834 <[^>]*> nop -+00008838 <[^>]*> nop -+0000883c <[^>]*> nop -+00008840 <[^>]*> nop -+00008844 <[^>]*> nop -+00008848 <[^>]*> nop -+0000884c <[^>]*> nop -+00008850 <[^>]*> nop -+00008854 <[^>]*> nop -+00008858 <[^>]*> nop -+0000885c <[^>]*> nop -+00008860 <[^>]*> nop -+00008864 <[^>]*> nop -+00008868 <[^>]*> nop -+0000886c <[^>]*> nop -+00008870 <[^>]*> nop -+00008874 <[^>]*> nop -+00008878 <[^>]*> nop -+0000887c <[^>]*> nop -+00008880 <[^>]*> nop -+00008884 <[^>]*> nop -+00008888 <[^>]*> nop -+0000888c <[^>]*> nop -+00008890 <[^>]*> nop -+00008894 <[^>]*> nop -+00008898 <[^>]*> nop -+0000889c <[^>]*> nop -+000088a0 <[^>]*> nop -+000088a4 <[^>]*> nop -+000088a8 <[^>]*> nop -+000088ac <[^>]*> nop -+000088b0 <[^>]*> nop -+000088b4 <[^>]*> nop -+000088b8 <[^>]*> nop -+000088bc <[^>]*> nop -+000088c0 <[^>]*> nop -+000088c4 <[^>]*> nop -+000088c8 <[^>]*> nop -+000088cc <[^>]*> nop -+000088d0 <[^>]*> nop -+000088d4 <[^>]*> nop -+000088d8 <[^>]*> nop -+000088dc <[^>]*> nop -+000088e0 <[^>]*> nop -+000088e4 <[^>]*> nop -+000088e8 <[^>]*> nop -+000088ec <[^>]*> nop -+000088f0 <[^>]*> nop -+000088f4 <[^>]*> nop -+000088f8 <[^>]*> nop -+000088fc <[^>]*> nop -+00008900 <[^>]*> nop -+00008904 <[^>]*> nop -+00008908 <[^>]*> nop -+0000890c <[^>]*> nop -+00008910 <[^>]*> nop -+00008914 <[^>]*> nop -+00008918 <[^>]*> nop -+0000891c <[^>]*> nop -+00008920 <[^>]*> nop -+00008924 <[^>]*> nop -+00008928 <[^>]*> nop -+0000892c <[^>]*> nop -+00008930 <[^>]*> nop -+00008934 <[^>]*> nop -+00008938 <[^>]*> nop -+0000893c <[^>]*> nop -+00008940 <[^>]*> nop -+00008944 <[^>]*> nop -+00008948 <[^>]*> nop -+0000894c <[^>]*> nop -+00008950 <[^>]*> nop -+00008954 <[^>]*> nop -+00008958 <[^>]*> nop -+0000895c <[^>]*> nop -+00008960 <[^>]*> nop -+00008964 <[^>]*> nop -+00008968 <[^>]*> nop -+0000896c <[^>]*> nop -+00008970 <[^>]*> nop -+00008974 <[^>]*> nop -+00008978 <[^>]*> nop -+0000897c <[^>]*> nop -+00008980 <[^>]*> nop -+00008984 <[^>]*> nop -+00008988 <[^>]*> nop -+0000898c <[^>]*> nop -+00008990 <[^>]*> nop -+00008994 <[^>]*> nop -+00008998 <[^>]*> nop -+0000899c <[^>]*> nop -+000089a0 <[^>]*> nop -+000089a4 <[^>]*> nop -+000089a8 <[^>]*> nop -+000089ac <[^>]*> nop -+000089b0 <[^>]*> nop -+000089b4 <[^>]*> nop -+000089b8 <[^>]*> nop -+000089bc <[^>]*> nop -+000089c0 <[^>]*> nop -+000089c4 <[^>]*> nop -+000089c8 <[^>]*> nop -+000089cc <[^>]*> nop -+000089d0 <[^>]*> nop -+000089d4 <[^>]*> nop -+000089d8 <[^>]*> nop -+000089dc <[^>]*> nop -+000089e0 <[^>]*> nop -+000089e4 <[^>]*> nop -+000089e8 <[^>]*> nop -+000089ec <[^>]*> nop -+000089f0 <[^>]*> nop -+000089f4 <[^>]*> nop -+000089f8 <[^>]*> nop -+000089fc <[^>]*> nop -+00008a00 <[^>]*> nop -+00008a04 <[^>]*> nop -+00008a08 <[^>]*> nop -+00008a0c <[^>]*> nop -+00008a10 <[^>]*> nop -+00008a14 <[^>]*> nop -+00008a18 <[^>]*> nop -+00008a1c <[^>]*> nop -+00008a20 <[^>]*> nop -+00008a24 <[^>]*> nop -+00008a28 <[^>]*> nop -+00008a2c <[^>]*> nop -+00008a30 <[^>]*> nop -+00008a34 <[^>]*> nop -+00008a38 <[^>]*> nop -+00008a3c <[^>]*> nop -+00008a40 <[^>]*> nop -+00008a44 <[^>]*> nop -+00008a48 <[^>]*> nop -+00008a4c <[^>]*> nop -+00008a50 <[^>]*> nop -+00008a54 <[^>]*> nop -+00008a58 <[^>]*> nop -+00008a5c <[^>]*> nop -+00008a60 <[^>]*> nop -+00008a64 <[^>]*> nop -+00008a68 <[^>]*> nop -+00008a6c <[^>]*> nop -+00008a70 <[^>]*> nop -+00008a74 <[^>]*> nop -+00008a78 <[^>]*> nop -+00008a7c <[^>]*> nop -+00008a80 <[^>]*> nop -+00008a84 <[^>]*> nop -+00008a88 <[^>]*> nop -+00008a8c <[^>]*> nop -+00008a90 <[^>]*> nop -+00008a94 <[^>]*> nop -+00008a98 <[^>]*> nop -+00008a9c <[^>]*> nop -+00008aa0 <[^>]*> nop -+00008aa4 <[^>]*> nop -+00008aa8 <[^>]*> nop -+00008aac <[^>]*> nop -+00008ab0 <[^>]*> nop -+00008ab4 <[^>]*> nop -+00008ab8 <[^>]*> nop -+00008abc <[^>]*> nop -+00008ac0 <[^>]*> nop -+00008ac4 <[^>]*> nop -+00008ac8 <[^>]*> nop -+00008acc <[^>]*> nop -+00008ad0 <[^>]*> nop -+00008ad4 <[^>]*> nop -+00008ad8 <[^>]*> nop -+00008adc <[^>]*> nop -+00008ae0 <[^>]*> nop -+00008ae4 <[^>]*> nop -+00008ae8 <[^>]*> nop -+00008aec <[^>]*> nop -+00008af0 <[^>]*> nop -+00008af4 <[^>]*> nop -+00008af8 <[^>]*> nop -+00008afc <[^>]*> nop -+00008b00 <[^>]*> nop -+00008b04 <[^>]*> nop -+00008b08 <[^>]*> nop -+00008b0c <[^>]*> nop -+00008b10 <[^>]*> nop -+00008b14 <[^>]*> nop -+00008b18 <[^>]*> nop -+00008b1c <[^>]*> nop -+00008b20 <[^>]*> nop -+00008b24 <[^>]*> nop -+00008b28 <[^>]*> nop -+00008b2c <[^>]*> nop -+00008b30 <[^>]*> nop -+00008b34 <[^>]*> nop -+00008b38 <[^>]*> nop -+00008b3c <[^>]*> nop -+00008b40 <[^>]*> nop -+00008b44 <[^>]*> nop -+00008b48 <[^>]*> nop -+00008b4c <[^>]*> nop -+00008b50 <[^>]*> nop -+00008b54 <[^>]*> nop -+00008b58 <[^>]*> nop -+00008b5c <[^>]*> nop -+00008b60 <[^>]*> nop -+00008b64 <[^>]*> nop -+00008b68 <[^>]*> nop -+00008b6c <[^>]*> nop -+00008b70 <[^>]*> nop -+00008b74 <[^>]*> nop -+00008b78 <[^>]*> nop -+00008b7c <[^>]*> nop -+00008b80 <[^>]*> nop -+00008b84 <[^>]*> nop -+00008b88 <[^>]*> nop -+00008b8c <[^>]*> nop -+00008b90 <[^>]*> nop -+00008b94 <[^>]*> nop -+00008b98 <[^>]*> nop -+00008b9c <[^>]*> nop -+00008ba0 <[^>]*> nop -+00008ba4 <[^>]*> nop -+00008ba8 <[^>]*> nop -+00008bac <[^>]*> nop -+00008bb0 <[^>]*> nop -+00008bb4 <[^>]*> nop -+00008bb8 <[^>]*> nop -+00008bbc <[^>]*> nop -+00008bc0 <[^>]*> nop -+00008bc4 <[^>]*> nop -+00008bc8 <[^>]*> nop -+00008bcc <[^>]*> nop -+00008bd0 <[^>]*> nop -+00008bd4 <[^>]*> nop -+00008bd8 <[^>]*> nop -+00008bdc <[^>]*> nop -+00008be0 <[^>]*> nop -+00008be4 <[^>]*> nop -+00008be8 <[^>]*> nop -+00008bec <[^>]*> nop -+00008bf0 <[^>]*> nop -+00008bf4 <[^>]*> nop -+00008bf8 <[^>]*> nop -+00008bfc <[^>]*> nop -+00008c00 <[^>]*> nop -+00008c04 <[^>]*> nop -+00008c08 <[^>]*> nop -+00008c0c <[^>]*> nop -+00008c10 <[^>]*> nop -+00008c14 <[^>]*> nop -+00008c18 <[^>]*> nop -+00008c1c <[^>]*> nop -+00008c20 <[^>]*> nop -+00008c24 <[^>]*> nop -+00008c28 <[^>]*> nop -+00008c2c <[^>]*> nop -+00008c30 <[^>]*> nop -+00008c34 <[^>]*> nop -+00008c38 <[^>]*> nop -+00008c3c <[^>]*> nop -+00008c40 <[^>]*> nop -+00008c44 <[^>]*> nop -+00008c48 <[^>]*> nop -+00008c4c <[^>]*> nop -+00008c50 <[^>]*> nop -+00008c54 <[^>]*> nop -+00008c58 <[^>]*> nop -+00008c5c <[^>]*> nop -+00008c60 <[^>]*> nop -+00008c64 <[^>]*> nop -+00008c68 <[^>]*> nop -+00008c6c <[^>]*> nop -+00008c70 <[^>]*> nop -+00008c74 <[^>]*> nop -+00008c78 <[^>]*> nop -+00008c7c <[^>]*> nop -+00008c80 <[^>]*> nop -+00008c84 <[^>]*> nop -+00008c88 <[^>]*> nop -+00008c8c <[^>]*> nop -+00008c90 <[^>]*> nop -+00008c94 <[^>]*> nop -+00008c98 <[^>]*> nop -+00008c9c <[^>]*> nop -+00008ca0 <[^>]*> nop -+00008ca4 <[^>]*> nop -+00008ca8 <[^>]*> nop -+00008cac <[^>]*> nop -+00008cb0 <[^>]*> nop -+00008cb4 <[^>]*> nop -+00008cb8 <[^>]*> nop -+00008cbc <[^>]*> nop -+00008cc0 <[^>]*> nop -+00008cc4 <[^>]*> nop -+00008cc8 <[^>]*> nop -+00008ccc <[^>]*> nop -+00008cd0 <[^>]*> nop -+00008cd4 <[^>]*> nop -+00008cd8 <[^>]*> nop -+00008cdc <[^>]*> nop -+00008ce0 <[^>]*> nop -+00008ce4 <[^>]*> nop -+00008ce8 <[^>]*> nop -+00008cec <[^>]*> nop -+00008cf0 <[^>]*> nop -+00008cf4 <[^>]*> nop -+00008cf8 <[^>]*> nop -+00008cfc <[^>]*> nop -+00008d00 <[^>]*> nop -+00008d04 <[^>]*> nop -+00008d08 <[^>]*> nop -+00008d0c <[^>]*> nop -+00008d10 <[^>]*> nop -+00008d14 <[^>]*> nop -+00008d18 <[^>]*> nop -+00008d1c <[^>]*> nop -+00008d20 <[^>]*> nop -+00008d24 <[^>]*> nop -+00008d28 <[^>]*> nop -+00008d2c <[^>]*> nop -+00008d30 <[^>]*> nop -+00008d34 <[^>]*> nop -+00008d38 <[^>]*> nop -+00008d3c <[^>]*> nop -+00008d40 <[^>]*> nop -+00008d44 <[^>]*> nop -+00008d48 <[^>]*> nop -+00008d4c <[^>]*> nop -+00008d50 <[^>]*> nop -+00008d54 <[^>]*> nop -+00008d58 <[^>]*> nop -+00008d5c <[^>]*> nop -+00008d60 <[^>]*> nop -+00008d64 <[^>]*> nop -+00008d68 <[^>]*> nop -+00008d6c <[^>]*> nop -+00008d70 <[^>]*> nop -+00008d74 <[^>]*> nop -+00008d78 <[^>]*> nop -+00008d7c <[^>]*> nop -+00008d80 <[^>]*> nop -+00008d84 <[^>]*> nop -+00008d88 <[^>]*> nop -+00008d8c <[^>]*> nop -+00008d90 <[^>]*> nop -+00008d94 <[^>]*> nop -+00008d98 <[^>]*> nop -+00008d9c <[^>]*> nop -+00008da0 <[^>]*> nop -+00008da4 <[^>]*> nop -+00008da8 <[^>]*> nop -+00008dac <[^>]*> nop -+00008db0 <[^>]*> nop -+00008db4 <[^>]*> nop -+00008db8 <[^>]*> nop -+00008dbc <[^>]*> nop -+00008dc0 <[^>]*> nop -+00008dc4 <[^>]*> nop -+00008dc8 <[^>]*> nop -+00008dcc <[^>]*> nop -+00008dd0 <[^>]*> nop -+00008dd4 <[^>]*> nop -+00008dd8 <[^>]*> nop -+00008ddc <[^>]*> nop -+00008de0 <[^>]*> nop -+00008de4 <[^>]*> nop -+00008de8 <[^>]*> nop -+00008dec <[^>]*> nop -+00008df0 <[^>]*> nop -+00008df4 <[^>]*> nop -+00008df8 <[^>]*> nop -+00008dfc <[^>]*> nop -+00008e00 <[^>]*> nop -+00008e04 <[^>]*> nop -+00008e08 <[^>]*> nop -+00008e0c <[^>]*> nop -+00008e10 <[^>]*> nop -+00008e14 <[^>]*> nop -+00008e18 <[^>]*> nop -+00008e1c <[^>]*> nop -+00008e20 <[^>]*> nop -+00008e24 <[^>]*> nop -+00008e28 <[^>]*> nop -+00008e2c <[^>]*> nop -+00008e30 <[^>]*> nop -+00008e34 <[^>]*> nop -+00008e38 <[^>]*> nop -+00008e3c <[^>]*> nop -+00008e40 <[^>]*> nop -+00008e44 <[^>]*> nop -+00008e48 <[^>]*> nop -+00008e4c <[^>]*> nop -+00008e50 <[^>]*> nop -+00008e54 <[^>]*> nop -+00008e58 <[^>]*> nop -+00008e5c <[^>]*> nop -+00008e60 <[^>]*> nop -+00008e64 <[^>]*> nop -+00008e68 <[^>]*> nop -+00008e6c <[^>]*> nop -+00008e70 <[^>]*> nop -+00008e74 <[^>]*> nop -+00008e78 <[^>]*> nop -+00008e7c <[^>]*> nop -+00008e80 <[^>]*> nop -+00008e84 <[^>]*> nop -+00008e88 <[^>]*> nop -+00008e8c <[^>]*> nop -+00008e90 <[^>]*> nop -+00008e94 <[^>]*> nop -+00008e98 <[^>]*> nop -+00008e9c <[^>]*> nop -+00008ea0 <[^>]*> nop -+00008ea4 <[^>]*> nop -+00008ea8 <[^>]*> nop -+00008eac <[^>]*> nop -+00008eb0 <[^>]*> nop -+00008eb4 <[^>]*> nop -+00008eb8 <[^>]*> nop -+00008ebc <[^>]*> nop -+00008ec0 <[^>]*> nop -+00008ec4 <[^>]*> nop -+00008ec8 <[^>]*> nop -+00008ecc <[^>]*> nop -+00008ed0 <[^>]*> nop -+00008ed4 <[^>]*> nop -+00008ed8 <[^>]*> nop -+00008edc <[^>]*> nop -+00008ee0 <[^>]*> nop -+00008ee4 <[^>]*> nop -+00008ee8 <[^>]*> nop -+00008eec <[^>]*> nop -+00008ef0 <[^>]*> nop -+00008ef4 <[^>]*> nop -+00008ef8 <[^>]*> nop -+00008efc <[^>]*> nop -+00008f00 <[^>]*> nop -+00008f04 <[^>]*> nop -+00008f08 <[^>]*> nop -+00008f0c <[^>]*> nop -+00008f10 <[^>]*> nop -+00008f14 <[^>]*> nop -+00008f18 <[^>]*> nop -+00008f1c <[^>]*> nop -+00008f20 <[^>]*> nop -+00008f24 <[^>]*> nop -+00008f28 <[^>]*> nop -+00008f2c <[^>]*> nop -+00008f30 <[^>]*> nop -+00008f34 <[^>]*> nop -+00008f38 <[^>]*> nop -+00008f3c <[^>]*> nop -+00008f40 <[^>]*> nop -+00008f44 <[^>]*> nop -+00008f48 <[^>]*> nop -+00008f4c <[^>]*> nop -+00008f50 <[^>]*> nop -+00008f54 <[^>]*> nop -+00008f58 <[^>]*> nop -+00008f5c <[^>]*> nop -+00008f60 <[^>]*> nop -+00008f64 <[^>]*> nop -+00008f68 <[^>]*> nop -+00008f6c <[^>]*> nop -+00008f70 <[^>]*> nop -+00008f74 <[^>]*> nop -+00008f78 <[^>]*> nop -+00008f7c <[^>]*> nop -+00008f80 <[^>]*> nop -+00008f84 <[^>]*> nop -+00008f88 <[^>]*> nop -+00008f8c <[^>]*> nop -+00008f90 <[^>]*> nop -+00008f94 <[^>]*> nop -+00008f98 <[^>]*> nop -+00008f9c <[^>]*> nop -+00008fa0 <[^>]*> nop -+00008fa4 <[^>]*> nop -+00008fa8 <[^>]*> nop -+00008fac <[^>]*> nop -+00008fb0 <[^>]*> nop -+00008fb4 <[^>]*> nop -+00008fb8 <[^>]*> nop -+00008fbc <[^>]*> nop -+00008fc0 <[^>]*> nop -+00008fc4 <[^>]*> nop -+00008fc8 <[^>]*> nop -+00008fcc <[^>]*> nop -+00008fd0 <[^>]*> nop -+00008fd4 <[^>]*> nop -+00008fd8 <[^>]*> nop -+00008fdc <[^>]*> nop -+00008fe0 <[^>]*> nop -+00008fe4 <[^>]*> nop -+00008fe8 <[^>]*> nop -+00008fec <[^>]*> nop -+00008ff0 <[^>]*> nop -+00008ff4 <[^>]*> nop -+00008ff8 <[^>]*> nop -+00008ffc <[^>]*> nop -+00009000 <[^>]*> nop -+00009004 <[^>]*> nop -+00009008 <[^>]*> nop -+0000900c <[^>]*> nop -+00009010 <[^>]*> nop -+00009014 <[^>]*> nop -+00009018 <[^>]*> nop -+0000901c <[^>]*> nop -+00009020 <[^>]*> nop -+00009024 <[^>]*> nop -+00009028 <[^>]*> nop -+0000902c <[^>]*> nop -+00009030 <[^>]*> nop -+00009034 <[^>]*> nop -+00009038 <[^>]*> nop -+0000903c <[^>]*> nop -+00009040 <[^>]*> nop -+00009044 <[^>]*> nop -+00009048 <[^>]*> nop -+0000904c <[^>]*> nop -+00009050 <[^>]*> nop -+00009054 <[^>]*> nop -+00009058 <[^>]*> nop -+0000905c <[^>]*> nop -+00009060 <[^>]*> nop -+00009064 <[^>]*> nop -+00009068 <[^>]*> nop -+0000906c <[^>]*> nop -+00009070 <[^>]*> nop -+00009074 <[^>]*> nop -+00009078 <[^>]*> nop -+0000907c <[^>]*> nop -+00009080 <[^>]*> nop -+00009084 <[^>]*> nop -+00009088 <[^>]*> nop -+0000908c <[^>]*> nop -+00009090 <[^>]*> nop -+00009094 <[^>]*> nop -+00009098 <[^>]*> nop -+0000909c <[^>]*> nop -+000090a0 <[^>]*> nop -+000090a4 <[^>]*> nop -+000090a8 <[^>]*> nop -+000090ac <[^>]*> nop -+000090b0 <[^>]*> nop -+000090b4 <[^>]*> nop -+000090b8 <[^>]*> nop -+000090bc <[^>]*> nop -+000090c0 <[^>]*> nop -+000090c4 <[^>]*> nop -+000090c8 <[^>]*> nop -+000090cc <[^>]*> nop -+000090d0 <[^>]*> nop -+000090d4 <[^>]*> nop -+000090d8 <[^>]*> nop -+000090dc <[^>]*> nop -+000090e0 <[^>]*> nop -+000090e4 <[^>]*> nop -+000090e8 <[^>]*> nop -+000090ec <[^>]*> nop -+000090f0 <[^>]*> nop -+000090f4 <[^>]*> nop -+000090f8 <[^>]*> nop -+000090fc <[^>]*> nop -+00009100 <[^>]*> nop -+00009104 <[^>]*> nop -+00009108 <[^>]*> nop -+0000910c <[^>]*> nop -+00009110 <[^>]*> nop -+00009114 <[^>]*> nop -+00009118 <[^>]*> nop -+0000911c <[^>]*> nop -+00009120 <[^>]*> nop -+00009124 <[^>]*> nop -+00009128 <[^>]*> nop -+0000912c <[^>]*> nop -+00009130 <[^>]*> nop -+00009134 <[^>]*> nop -+00009138 <[^>]*> nop -+0000913c <[^>]*> nop -+00009140 <[^>]*> nop -+00009144 <[^>]*> nop -+00009148 <[^>]*> nop -+0000914c <[^>]*> nop -+00009150 <[^>]*> nop -+00009154 <[^>]*> nop -+00009158 <[^>]*> nop -+0000915c <[^>]*> nop -+00009160 <[^>]*> nop -+00009164 <[^>]*> nop -+00009168 <[^>]*> nop -+0000916c <[^>]*> nop -+00009170 <[^>]*> nop -+00009174 <[^>]*> nop -+00009178 <[^>]*> nop -+0000917c <[^>]*> nop -+00009180 <[^>]*> nop -+00009184 <[^>]*> nop -+00009188 <[^>]*> nop -+0000918c <[^>]*> nop -+00009190 <[^>]*> nop -+00009194 <[^>]*> nop -+00009198 <[^>]*> nop -+0000919c <[^>]*> nop -+000091a0 <[^>]*> nop -+000091a4 <[^>]*> nop -+000091a8 <[^>]*> nop -+000091ac <[^>]*> nop -+000091b0 <[^>]*> nop -+000091b4 <[^>]*> nop -+000091b8 <[^>]*> nop -+000091bc <[^>]*> nop -+000091c0 <[^>]*> nop -+000091c4 <[^>]*> nop -+000091c8 <[^>]*> nop -+000091cc <[^>]*> nop -+000091d0 <[^>]*> nop -+000091d4 <[^>]*> nop -+000091d8 <[^>]*> nop -+000091dc <[^>]*> nop -+000091e0 <[^>]*> nop -+000091e4 <[^>]*> nop -+000091e8 <[^>]*> nop -+000091ec <[^>]*> nop -+000091f0 <[^>]*> nop -+000091f4 <[^>]*> nop -+000091f8 <[^>]*> nop -+000091fc <[^>]*> nop -+00009200 <[^>]*> nop -+00009204 <[^>]*> nop -+00009208 <[^>]*> nop -+0000920c <[^>]*> nop -+00009210 <[^>]*> nop -+00009214 <[^>]*> nop -+00009218 <[^>]*> nop -+0000921c <[^>]*> nop -+00009220 <[^>]*> nop -+00009224 <[^>]*> nop -+00009228 <[^>]*> nop -+0000922c <[^>]*> nop -+00009230 <[^>]*> nop -+00009234 <[^>]*> nop -+00009238 <[^>]*> nop -+0000923c <[^>]*> nop -+00009240 <[^>]*> nop -+00009244 <[^>]*> nop -+00009248 <[^>]*> nop -+0000924c <[^>]*> nop -+00009250 <[^>]*> nop -+00009254 <[^>]*> nop -+00009258 <[^>]*> nop -+0000925c <[^>]*> nop -+00009260 <[^>]*> nop -+00009264 <[^>]*> nop -+00009268 <[^>]*> nop -+0000926c <[^>]*> nop -+00009270 <[^>]*> nop -+00009274 <[^>]*> nop -+00009278 <[^>]*> nop -+0000927c <[^>]*> nop -+00009280 <[^>]*> nop -+00009284 <[^>]*> nop -+00009288 <[^>]*> nop -+0000928c <[^>]*> nop -+00009290 <[^>]*> nop -+00009294 <[^>]*> nop -+00009298 <[^>]*> nop -+0000929c <[^>]*> nop -+000092a0 <[^>]*> nop -+000092a4 <[^>]*> nop -+000092a8 <[^>]*> nop -+000092ac <[^>]*> nop -+000092b0 <[^>]*> nop -+000092b4 <[^>]*> nop -+000092b8 <[^>]*> nop -+000092bc <[^>]*> nop -+000092c0 <[^>]*> nop -+000092c4 <[^>]*> nop -+000092c8 <[^>]*> nop -+000092cc <[^>]*> nop -+000092d0 <[^>]*> nop -+000092d4 <[^>]*> nop -+000092d8 <[^>]*> nop -+000092dc <[^>]*> nop -+000092e0 <[^>]*> nop -+000092e4 <[^>]*> nop -+000092e8 <[^>]*> nop -+000092ec <[^>]*> nop -+000092f0 <[^>]*> nop -+000092f4 <[^>]*> nop -+000092f8 <[^>]*> nop -+000092fc <[^>]*> nop -+00009300 <[^>]*> nop -+00009304 <[^>]*> nop -+00009308 <[^>]*> nop -+0000930c <[^>]*> nop -+00009310 <[^>]*> nop -+00009314 <[^>]*> nop -+00009318 <[^>]*> nop -+0000931c <[^>]*> nop -+00009320 <[^>]*> nop -+00009324 <[^>]*> nop -+00009328 <[^>]*> nop -+0000932c <[^>]*> nop -+00009330 <[^>]*> nop -+00009334 <[^>]*> nop -+00009338 <[^>]*> nop -+0000933c <[^>]*> nop -+00009340 <[^>]*> nop -+00009344 <[^>]*> nop -+00009348 <[^>]*> nop -+0000934c <[^>]*> nop -+00009350 <[^>]*> nop -+00009354 <[^>]*> nop -+00009358 <[^>]*> nop -+0000935c <[^>]*> nop -+00009360 <[^>]*> nop -+00009364 <[^>]*> nop -+00009368 <[^>]*> nop -+0000936c <[^>]*> nop -+00009370 <[^>]*> nop -+00009374 <[^>]*> nop -+00009378 <[^>]*> nop -+0000937c <[^>]*> nop -+00009380 <[^>]*> nop -+00009384 <[^>]*> nop -+00009388 <[^>]*> nop -+0000938c <[^>]*> nop -+00009390 <[^>]*> nop -+00009394 <[^>]*> nop -+00009398 <[^>]*> nop -+0000939c <[^>]*> nop -+000093a0 <[^>]*> nop -+000093a4 <[^>]*> nop -+000093a8 <[^>]*> nop -+000093ac <[^>]*> nop -+000093b0 <[^>]*> nop -+000093b4 <[^>]*> nop -+000093b8 <[^>]*> nop -+000093bc <[^>]*> nop -+000093c0 <[^>]*> nop -+000093c4 <[^>]*> nop -+000093c8 <[^>]*> nop -+000093cc <[^>]*> nop -+000093d0 <[^>]*> nop -+000093d4 <[^>]*> nop -+000093d8 <[^>]*> nop -+000093dc <[^>]*> nop -+000093e0 <[^>]*> nop -+000093e4 <[^>]*> nop -+000093e8 <[^>]*> nop -+000093ec <[^>]*> nop -+000093f0 <[^>]*> nop -+000093f4 <[^>]*> nop -+000093f8 <[^>]*> nop -+000093fc <[^>]*> nop -+00009400 <[^>]*> nop -+00009404 <[^>]*> nop -+00009408 <[^>]*> nop -+0000940c <[^>]*> nop -+00009410 <[^>]*> nop -+00009414 <[^>]*> nop -+00009418 <[^>]*> nop -+0000941c <[^>]*> nop -+00009420 <[^>]*> nop -+00009424 <[^>]*> nop -+00009428 <[^>]*> nop -+0000942c <[^>]*> nop -+00009430 <[^>]*> nop -+00009434 <[^>]*> nop -+00009438 <[^>]*> nop -+0000943c <[^>]*> nop -+00009440 <[^>]*> nop -+00009444 <[^>]*> nop -+00009448 <[^>]*> nop -+0000944c <[^>]*> nop -+00009450 <[^>]*> nop -+00009454 <[^>]*> nop -+00009458 <[^>]*> nop -+0000945c <[^>]*> nop -+00009460 <[^>]*> nop -+00009464 <[^>]*> nop -+00009468 <[^>]*> nop -+0000946c <[^>]*> nop -+00009470 <[^>]*> nop -+00009474 <[^>]*> nop -+00009478 <[^>]*> nop -+0000947c <[^>]*> nop -+00009480 <[^>]*> nop -+00009484 <[^>]*> nop -+00009488 <[^>]*> nop -+0000948c <[^>]*> nop -+00009490 <[^>]*> nop -+00009494 <[^>]*> nop -+00009498 <[^>]*> nop -+0000949c <[^>]*> nop -+000094a0 <[^>]*> nop -+000094a4 <[^>]*> nop -+000094a8 <[^>]*> nop -+000094ac <[^>]*> nop -+000094b0 <[^>]*> nop -+000094b4 <[^>]*> nop -+000094b8 <[^>]*> nop -+000094bc <[^>]*> nop -+000094c0 <[^>]*> nop -+000094c4 <[^>]*> nop -+000094c8 <[^>]*> nop -+000094cc <[^>]*> nop -+000094d0 <[^>]*> nop -+000094d4 <[^>]*> nop -+000094d8 <[^>]*> nop -+000094dc <[^>]*> nop -+000094e0 <[^>]*> nop -+000094e4 <[^>]*> nop -+000094e8 <[^>]*> nop -+000094ec <[^>]*> nop -+000094f0 <[^>]*> nop -+000094f4 <[^>]*> nop -+000094f8 <[^>]*> nop -+000094fc <[^>]*> nop -+00009500 <[^>]*> nop -+00009504 <[^>]*> nop -+00009508 <[^>]*> nop -+0000950c <[^>]*> nop -+00009510 <[^>]*> nop -+00009514 <[^>]*> nop -+00009518 <[^>]*> nop -+0000951c <[^>]*> nop -+00009520 <[^>]*> nop -+00009524 <[^>]*> nop -+00009528 <[^>]*> nop -+0000952c <[^>]*> nop -+00009530 <[^>]*> nop -+00009534 <[^>]*> nop -+00009538 <[^>]*> nop -+0000953c <[^>]*> nop -+00009540 <[^>]*> nop -+00009544 <[^>]*> nop -+00009548 <[^>]*> nop -+0000954c <[^>]*> nop -+00009550 <[^>]*> nop -+00009554 <[^>]*> nop -+00009558 <[^>]*> nop -+0000955c <[^>]*> nop -+00009560 <[^>]*> nop -+00009564 <[^>]*> nop -+00009568 <[^>]*> nop -+0000956c <[^>]*> nop -+00009570 <[^>]*> nop -+00009574 <[^>]*> nop -+00009578 <[^>]*> nop -+0000957c <[^>]*> nop -+00009580 <[^>]*> nop -+00009584 <[^>]*> nop -+00009588 <[^>]*> nop -+0000958c <[^>]*> nop -+00009590 <[^>]*> nop -+00009594 <[^>]*> nop -+00009598 <[^>]*> nop -+0000959c <[^>]*> nop -+000095a0 <[^>]*> nop -+000095a4 <[^>]*> nop -+000095a8 <[^>]*> nop -+000095ac <[^>]*> nop -+000095b0 <[^>]*> nop -+000095b4 <[^>]*> nop -+000095b8 <[^>]*> nop -+000095bc <[^>]*> nop -+000095c0 <[^>]*> nop -+000095c4 <[^>]*> nop -+000095c8 <[^>]*> nop -+000095cc <[^>]*> nop -+000095d0 <[^>]*> nop -+000095d4 <[^>]*> nop -+000095d8 <[^>]*> nop -+000095dc <[^>]*> nop -+000095e0 <[^>]*> nop -+000095e4 <[^>]*> nop -+000095e8 <[^>]*> nop -+000095ec <[^>]*> nop -+000095f0 <[^>]*> nop -+000095f4 <[^>]*> nop -+000095f8 <[^>]*> nop -+000095fc <[^>]*> nop -+00009600 <[^>]*> nop -+00009604 <[^>]*> nop -+00009608 <[^>]*> nop -+0000960c <[^>]*> nop -+00009610 <[^>]*> nop -+00009614 <[^>]*> nop -+00009618 <[^>]*> nop -+0000961c <[^>]*> nop -+00009620 <[^>]*> nop -+00009624 <[^>]*> nop -+00009628 <[^>]*> nop -+0000962c <[^>]*> nop -+00009630 <[^>]*> nop -+00009634 <[^>]*> nop -+00009638 <[^>]*> nop -+0000963c <[^>]*> nop -+00009640 <[^>]*> nop -+00009644 <[^>]*> nop -+00009648 <[^>]*> nop -+0000964c <[^>]*> nop -+00009650 <[^>]*> nop -+00009654 <[^>]*> nop -+00009658 <[^>]*> nop -+0000965c <[^>]*> nop -+00009660 <[^>]*> nop -+00009664 <[^>]*> nop -+00009668 <[^>]*> nop -+0000966c <[^>]*> nop -+00009670 <[^>]*> nop -+00009674 <[^>]*> nop -+00009678 <[^>]*> nop -+0000967c <[^>]*> nop -+00009680 <[^>]*> nop -+00009684 <[^>]*> nop -+00009688 <[^>]*> nop -+0000968c <[^>]*> nop -+00009690 <[^>]*> nop -+00009694 <[^>]*> nop -+00009698 <[^>]*> nop -+0000969c <[^>]*> nop -+000096a0 <[^>]*> nop -+000096a4 <[^>]*> nop -+000096a8 <[^>]*> nop -+000096ac <[^>]*> nop -+000096b0 <[^>]*> nop -+000096b4 <[^>]*> nop -+000096b8 <[^>]*> nop -+000096bc <[^>]*> nop -+000096c0 <[^>]*> nop -+000096c4 <[^>]*> nop -+000096c8 <[^>]*> nop -+000096cc <[^>]*> nop -+000096d0 <[^>]*> nop -+000096d4 <[^>]*> nop -+000096d8 <[^>]*> nop -+000096dc <[^>]*> nop -+000096e0 <[^>]*> nop -+000096e4 <[^>]*> nop -+000096e8 <[^>]*> nop -+000096ec <[^>]*> nop -+000096f0 <[^>]*> nop -+000096f4 <[^>]*> nop -+000096f8 <[^>]*> nop -+000096fc <[^>]*> nop -+00009700 <[^>]*> nop -+00009704 <[^>]*> nop -+00009708 <[^>]*> nop -+0000970c <[^>]*> nop -+00009710 <[^>]*> nop -+00009714 <[^>]*> nop -+00009718 <[^>]*> nop -+0000971c <[^>]*> nop -+00009720 <[^>]*> nop -+00009724 <[^>]*> nop -+00009728 <[^>]*> nop -+0000972c <[^>]*> nop -+00009730 <[^>]*> nop -+00009734 <[^>]*> nop -+00009738 <[^>]*> nop -+0000973c <[^>]*> nop -+00009740 <[^>]*> nop -+00009744 <[^>]*> nop -+00009748 <[^>]*> nop -+0000974c <[^>]*> nop -+00009750 <[^>]*> nop -+00009754 <[^>]*> nop -+00009758 <[^>]*> nop -+0000975c <[^>]*> nop -+00009760 <[^>]*> nop -+00009764 <[^>]*> nop -+00009768 <[^>]*> nop -+0000976c <[^>]*> nop -+00009770 <[^>]*> nop -+00009774 <[^>]*> nop -+00009778 <[^>]*> nop -+0000977c <[^>]*> nop -+00009780 <[^>]*> nop -+00009784 <[^>]*> nop -+00009788 <[^>]*> nop -+0000978c <[^>]*> nop -+00009790 <[^>]*> nop -+00009794 <[^>]*> nop -+00009798 <[^>]*> nop -+0000979c <[^>]*> nop -+000097a0 <[^>]*> nop -+000097a4 <[^>]*> nop -+000097a8 <[^>]*> nop -+000097ac <[^>]*> nop -+000097b0 <[^>]*> nop -+000097b4 <[^>]*> nop -+000097b8 <[^>]*> nop -+000097bc <[^>]*> nop -+000097c0 <[^>]*> nop -+000097c4 <[^>]*> nop -+000097c8 <[^>]*> nop -+000097cc <[^>]*> nop -+000097d0 <[^>]*> nop -+000097d4 <[^>]*> nop -+000097d8 <[^>]*> nop -+000097dc <[^>]*> nop -+000097e0 <[^>]*> nop -+000097e4 <[^>]*> nop -+000097e8 <[^>]*> nop -+000097ec <[^>]*> nop -+000097f0 <[^>]*> nop -+000097f4 <[^>]*> nop -+000097f8 <[^>]*> nop -+000097fc <[^>]*> nop -+00009800 <[^>]*> nop -+00009804 <[^>]*> nop -+00009808 <[^>]*> nop -+0000980c <[^>]*> nop -+00009810 <[^>]*> nop -+00009814 <[^>]*> nop -+00009818 <[^>]*> nop -+0000981c <[^>]*> nop -+00009820 <[^>]*> nop -+00009824 <[^>]*> nop -+00009828 <[^>]*> nop -+0000982c <[^>]*> nop -+00009830 <[^>]*> nop -+00009834 <[^>]*> nop -+00009838 <[^>]*> nop -+0000983c <[^>]*> nop -+00009840 <[^>]*> nop -+00009844 <[^>]*> nop -+00009848 <[^>]*> nop -+0000984c <[^>]*> nop -+00009850 <[^>]*> nop -+00009854 <[^>]*> nop -+00009858 <[^>]*> nop -+0000985c <[^>]*> nop -+00009860 <[^>]*> nop -+00009864 <[^>]*> nop -+00009868 <[^>]*> nop -+0000986c <[^>]*> nop -+00009870 <[^>]*> nop -+00009874 <[^>]*> nop -+00009878 <[^>]*> nop -+0000987c <[^>]*> nop -+00009880 <[^>]*> nop -+00009884 <[^>]*> nop -+00009888 <[^>]*> nop -+0000988c <[^>]*> nop -+00009890 <[^>]*> nop -+00009894 <[^>]*> nop -+00009898 <[^>]*> nop -+0000989c <[^>]*> nop -+000098a0 <[^>]*> nop -+000098a4 <[^>]*> nop -+000098a8 <[^>]*> nop -+000098ac <[^>]*> nop -+000098b0 <[^>]*> nop -+000098b4 <[^>]*> nop -+000098b8 <[^>]*> nop -+000098bc <[^>]*> nop -+000098c0 <[^>]*> nop -+000098c4 <[^>]*> nop -+000098c8 <[^>]*> nop -+000098cc <[^>]*> nop -+000098d0 <[^>]*> nop -+000098d4 <[^>]*> nop -+000098d8 <[^>]*> nop -+000098dc <[^>]*> nop -+000098e0 <[^>]*> nop -+000098e4 <[^>]*> nop -+000098e8 <[^>]*> nop -+000098ec <[^>]*> nop -+000098f0 <[^>]*> nop -+000098f4 <[^>]*> nop -+000098f8 <[^>]*> nop -+000098fc <[^>]*> nop -+00009900 <[^>]*> nop -+00009904 <[^>]*> nop -+00009908 <[^>]*> nop -+0000990c <[^>]*> nop -+00009910 <[^>]*> nop -+00009914 <[^>]*> nop -+00009918 <[^>]*> nop -+0000991c <[^>]*> nop -+00009920 <[^>]*> nop -+00009924 <[^>]*> nop -+00009928 <[^>]*> nop -+0000992c <[^>]*> nop -+00009930 <[^>]*> nop -+00009934 <[^>]*> nop -+00009938 <[^>]*> nop -+0000993c <[^>]*> nop -+00009940 <[^>]*> nop -+00009944 <[^>]*> nop -+00009948 <[^>]*> nop -+0000994c <[^>]*> nop -+00009950 <[^>]*> nop -+00009954 <[^>]*> nop -+00009958 <[^>]*> nop -+0000995c <[^>]*> nop -+00009960 <[^>]*> nop -+00009964 <[^>]*> nop -+00009968 <[^>]*> nop -+0000996c <[^>]*> nop -+00009970 <[^>]*> nop -+00009974 <[^>]*> nop -+00009978 <[^>]*> nop -+0000997c <[^>]*> nop -+00009980 <[^>]*> nop -+00009984 <[^>]*> nop -+00009988 <[^>]*> nop -+0000998c <[^>]*> nop -+00009990 <[^>]*> nop -+00009994 <[^>]*> nop -+00009998 <[^>]*> nop -+0000999c <[^>]*> nop -+000099a0 <[^>]*> nop -+000099a4 <[^>]*> nop -+000099a8 <[^>]*> nop -+000099ac <[^>]*> nop -+000099b0 <[^>]*> nop -+000099b4 <[^>]*> nop -+000099b8 <[^>]*> nop -+000099bc <[^>]*> nop -+000099c0 <[^>]*> nop -+000099c4 <[^>]*> nop -+000099c8 <[^>]*> nop -+000099cc <[^>]*> nop -+000099d0 <[^>]*> nop -+000099d4 <[^>]*> nop -+000099d8 <[^>]*> nop -+000099dc <[^>]*> nop -+000099e0 <[^>]*> nop -+000099e4 <[^>]*> nop -+000099e8 <[^>]*> nop -+000099ec <[^>]*> nop -+000099f0 <[^>]*> nop -+000099f4 <[^>]*> nop -+000099f8 <[^>]*> nop -+000099fc <[^>]*> nop -+00009a00 <[^>]*> nop -+00009a04 <[^>]*> nop -+00009a08 <[^>]*> nop -+00009a0c <[^>]*> nop -+00009a10 <[^>]*> nop -+00009a14 <[^>]*> nop -+00009a18 <[^>]*> nop -+00009a1c <[^>]*> nop -+00009a20 <[^>]*> nop -+00009a24 <[^>]*> nop -+00009a28 <[^>]*> nop -+00009a2c <[^>]*> nop -+00009a30 <[^>]*> nop -+00009a34 <[^>]*> nop -+00009a38 <[^>]*> nop -+00009a3c <[^>]*> nop -+00009a40 <[^>]*> nop -+00009a44 <[^>]*> nop -+00009a48 <[^>]*> nop -+00009a4c <[^>]*> nop -+00009a50 <[^>]*> nop -+00009a54 <[^>]*> nop -+00009a58 <[^>]*> nop -+00009a5c <[^>]*> nop -+00009a60 <[^>]*> nop -+00009a64 <[^>]*> nop -+00009a68 <[^>]*> nop -+00009a6c <[^>]*> nop -+00009a70 <[^>]*> nop -+00009a74 <[^>]*> nop -+00009a78 <[^>]*> nop -+00009a7c <[^>]*> nop -+00009a80 <[^>]*> nop -+00009a84 <[^>]*> nop -+00009a88 <[^>]*> nop -+00009a8c <[^>]*> nop -+00009a90 <[^>]*> nop -+00009a94 <[^>]*> nop -+00009a98 <[^>]*> nop -+00009a9c <[^>]*> nop -+00009aa0 <[^>]*> nop -+00009aa4 <[^>]*> nop -+00009aa8 <[^>]*> nop -+00009aac <[^>]*> nop -+00009ab0 <[^>]*> nop -+00009ab4 <[^>]*> nop -+00009ab8 <[^>]*> nop -+00009abc <[^>]*> nop -+00009ac0 <[^>]*> nop -+00009ac4 <[^>]*> nop -+00009ac8 <[^>]*> nop -+00009acc <[^>]*> nop -+00009ad0 <[^>]*> nop -+00009ad4 <[^>]*> nop -+00009ad8 <[^>]*> nop -+00009adc <[^>]*> nop -+00009ae0 <[^>]*> nop -+00009ae4 <[^>]*> nop -+00009ae8 <[^>]*> nop -+00009aec <[^>]*> nop -+00009af0 <[^>]*> nop -+00009af4 <[^>]*> nop -+00009af8 <[^>]*> nop -+00009afc <[^>]*> nop -+00009b00 <[^>]*> nop -+00009b04 <[^>]*> nop -+00009b08 <[^>]*> nop -+00009b0c <[^>]*> nop -+00009b10 <[^>]*> nop -+00009b14 <[^>]*> nop -+00009b18 <[^>]*> nop -+00009b1c <[^>]*> nop -+00009b20 <[^>]*> nop -+00009b24 <[^>]*> nop -+00009b28 <[^>]*> nop -+00009b2c <[^>]*> nop -+00009b30 <[^>]*> nop -+00009b34 <[^>]*> nop -+00009b38 <[^>]*> nop -+00009b3c <[^>]*> nop -+00009b40 <[^>]*> nop -+00009b44 <[^>]*> nop -+00009b48 <[^>]*> nop -+00009b4c <[^>]*> nop -+00009b50 <[^>]*> nop -+00009b54 <[^>]*> nop -+00009b58 <[^>]*> nop -+00009b5c <[^>]*> nop -+00009b60 <[^>]*> nop -+00009b64 <[^>]*> nop -+00009b68 <[^>]*> nop -+00009b6c <[^>]*> nop -+00009b70 <[^>]*> nop -+00009b74 <[^>]*> nop -+00009b78 <[^>]*> nop -+00009b7c <[^>]*> nop -+00009b80 <[^>]*> nop -+00009b84 <[^>]*> nop -+00009b88 <[^>]*> nop -+00009b8c <[^>]*> nop -+00009b90 <[^>]*> nop -+00009b94 <[^>]*> nop -+00009b98 <[^>]*> nop -+00009b9c <[^>]*> nop -+00009ba0 <[^>]*> nop -+00009ba4 <[^>]*> nop -+00009ba8 <[^>]*> nop -+00009bac <[^>]*> nop -+00009bb0 <[^>]*> nop -+00009bb4 <[^>]*> nop -+00009bb8 <[^>]*> nop -+00009bbc <[^>]*> nop -+00009bc0 <[^>]*> nop -+00009bc4 <[^>]*> nop -+00009bc8 <[^>]*> nop -+00009bcc <[^>]*> nop -+00009bd0 <[^>]*> nop -+00009bd4 <[^>]*> nop -+00009bd8 <[^>]*> nop -+00009bdc <[^>]*> nop -+00009be0 <[^>]*> nop -+00009be4 <[^>]*> nop -+00009be8 <[^>]*> nop -+00009bec <[^>]*> nop -+00009bf0 <[^>]*> nop -+00009bf4 <[^>]*> nop -+00009bf8 <[^>]*> nop -+00009bfc <[^>]*> nop -+00009c00 <[^>]*> nop -+00009c04 <[^>]*> nop -+00009c08 <[^>]*> nop -+00009c0c <[^>]*> nop -+00009c10 <[^>]*> nop -+00009c14 <[^>]*> nop -+00009c18 <[^>]*> nop -+00009c1c <[^>]*> nop -+00009c20 <[^>]*> nop -+00009c24 <[^>]*> nop -+00009c28 <[^>]*> nop -+00009c2c <[^>]*> nop -+00009c30 <[^>]*> nop -+00009c34 <[^>]*> nop -+00009c38 <[^>]*> nop -+00009c3c <[^>]*> nop -+00009c40 <[^>]*> nop -+00009c44 <[^>]*> nop -+00009c48 <[^>]*> nop -+00009c4c <[^>]*> nop -+00009c50 <[^>]*> nop -+00009c54 <[^>]*> nop -+00009c58 <[^>]*> nop -+00009c5c <[^>]*> nop -+00009c60 <[^>]*> nop -+00009c64 <[^>]*> nop -+00009c68 <[^>]*> nop -+00009c6c <[^>]*> nop -+00009c70 <[^>]*> nop -+00009c74 <[^>]*> nop -+00009c78 <[^>]*> nop -+00009c7c <[^>]*> nop -+00009c80 <[^>]*> nop -+00009c84 <[^>]*> nop -+00009c88 <[^>]*> nop -+00009c8c <[^>]*> nop -+00009c90 <[^>]*> nop -+00009c94 <[^>]*> nop -+00009c98 <[^>]*> nop -+00009c9c <[^>]*> nop -+00009ca0 <[^>]*> nop -+00009ca4 <[^>]*> nop -+00009ca8 <[^>]*> nop -+00009cac <[^>]*> nop -+00009cb0 <[^>]*> nop -+00009cb4 <[^>]*> nop -+00009cb8 <[^>]*> nop -+00009cbc <[^>]*> nop -+00009cc0 <[^>]*> nop -+00009cc4 <[^>]*> nop -+00009cc8 <[^>]*> nop -+00009ccc <[^>]*> nop -+00009cd0 <[^>]*> nop -+00009cd4 <[^>]*> nop -+00009cd8 <[^>]*> nop -+00009cdc <[^>]*> nop -+00009ce0 <[^>]*> nop -+00009ce4 <[^>]*> nop -+00009ce8 <[^>]*> nop -+00009cec <[^>]*> nop -+00009cf0 <[^>]*> nop -+00009cf4 <[^>]*> nop -+00009cf8 <[^>]*> nop -+00009cfc <[^>]*> nop -+00009d00 <[^>]*> nop -+00009d04 <[^>]*> nop -+00009d08 <[^>]*> nop -+00009d0c <[^>]*> nop -+00009d10 <[^>]*> nop -+00009d14 <[^>]*> nop -+00009d18 <[^>]*> nop -+00009d1c <[^>]*> nop -+00009d20 <[^>]*> nop -+00009d24 <[^>]*> nop -+00009d28 <[^>]*> nop -+00009d2c <[^>]*> nop -+00009d30 <[^>]*> nop -+00009d34 <[^>]*> nop -+00009d38 <[^>]*> nop -+00009d3c <[^>]*> nop -+00009d40 <[^>]*> nop -+00009d44 <[^>]*> nop -+00009d48 <[^>]*> nop -+00009d4c <[^>]*> nop -+00009d50 <[^>]*> nop -+00009d54 <[^>]*> nop -+00009d58 <[^>]*> nop -+00009d5c <[^>]*> nop -+00009d60 <[^>]*> nop -+00009d64 <[^>]*> nop -+00009d68 <[^>]*> nop -+00009d6c <[^>]*> nop -+00009d70 <[^>]*> nop -+00009d74 <[^>]*> nop -+00009d78 <[^>]*> nop -+00009d7c <[^>]*> nop -+00009d80 <[^>]*> nop -+00009d84 <[^>]*> nop -+00009d88 <[^>]*> nop -+00009d8c <[^>]*> nop -+00009d90 <[^>]*> nop -+00009d94 <[^>]*> nop -+00009d98 <[^>]*> nop -+00009d9c <[^>]*> nop -+00009da0 <[^>]*> nop -+00009da4 <[^>]*> nop -+00009da8 <[^>]*> nop -+00009dac <[^>]*> nop -+00009db0 <[^>]*> nop -+00009db4 <[^>]*> nop -+00009db8 <[^>]*> nop -+00009dbc <[^>]*> nop -+00009dc0 <[^>]*> nop -+00009dc4 <[^>]*> nop -+00009dc8 <[^>]*> nop -+00009dcc <[^>]*> nop -+00009dd0 <[^>]*> nop -+00009dd4 <[^>]*> nop -+00009dd8 <[^>]*> nop -+00009ddc <[^>]*> nop -+00009de0 <[^>]*> nop -+00009de4 <[^>]*> nop -+00009de8 <[^>]*> nop -+00009dec <[^>]*> nop -+00009df0 <[^>]*> nop -+00009df4 <[^>]*> nop -+00009df8 <[^>]*> nop -+00009dfc <[^>]*> nop -+00009e00 <[^>]*> nop -+00009e04 <[^>]*> nop -+00009e08 <[^>]*> nop -+00009e0c <[^>]*> nop -+00009e10 <[^>]*> nop -+00009e14 <[^>]*> nop -+00009e18 <[^>]*> nop -+00009e1c <[^>]*> nop -+00009e20 <[^>]*> nop -+00009e24 <[^>]*> nop -+00009e28 <[^>]*> nop -+00009e2c <[^>]*> nop -+00009e30 <[^>]*> nop -+00009e34 <[^>]*> nop -+00009e38 <[^>]*> nop -+00009e3c <[^>]*> nop -+00009e40 <[^>]*> nop -+00009e44 <[^>]*> nop -+00009e48 <[^>]*> nop -+00009e4c <[^>]*> nop -+00009e50 <[^>]*> nop -+00009e54 <[^>]*> nop -+00009e58 <[^>]*> nop -+00009e5c <[^>]*> nop -+00009e60 <[^>]*> nop -+00009e64 <[^>]*> nop -+00009e68 <[^>]*> nop -+00009e6c <[^>]*> nop -+00009e70 <[^>]*> nop -+00009e74 <[^>]*> nop -+00009e78 <[^>]*> nop -+00009e7c <[^>]*> nop -+00009e80 <[^>]*> nop -+00009e84 <[^>]*> nop -+00009e88 <[^>]*> nop -+00009e8c <[^>]*> nop -+00009e90 <[^>]*> nop -+00009e94 <[^>]*> nop -+00009e98 <[^>]*> nop -+00009e9c <[^>]*> nop -+00009ea0 <[^>]*> nop -+00009ea4 <[^>]*> nop -+00009ea8 <[^>]*> nop -+00009eac <[^>]*> nop -+00009eb0 <[^>]*> nop -+00009eb4 <[^>]*> nop -+00009eb8 <[^>]*> nop -+00009ebc <[^>]*> nop -+00009ec0 <[^>]*> nop -+00009ec4 <[^>]*> nop -+00009ec8 <[^>]*> nop -+00009ecc <[^>]*> nop -+00009ed0 <[^>]*> nop -+00009ed4 <[^>]*> nop -+00009ed8 <[^>]*> nop -+00009edc <[^>]*> nop -+00009ee0 <[^>]*> nop -+00009ee4 <[^>]*> nop -+00009ee8 <[^>]*> nop -+00009eec <[^>]*> nop -+00009ef0 <[^>]*> nop -+00009ef4 <[^>]*> nop -+00009ef8 <[^>]*> nop -+00009efc <[^>]*> nop -+00009f00 <[^>]*> nop -+00009f04 <[^>]*> nop -+00009f08 <[^>]*> nop -+00009f0c <[^>]*> nop -+00009f10 <[^>]*> nop -+00009f14 <[^>]*> nop -+00009f18 <[^>]*> nop -+00009f1c <[^>]*> nop -+00009f20 <[^>]*> nop -+00009f24 <[^>]*> nop -+00009f28 <[^>]*> nop -+00009f2c <[^>]*> nop -+00009f30 <[^>]*> nop -+00009f34 <[^>]*> nop -+00009f38 <[^>]*> nop -+00009f3c <[^>]*> nop -+00009f40 <[^>]*> nop -+00009f44 <[^>]*> nop -+00009f48 <[^>]*> nop -+00009f4c <[^>]*> nop -+00009f50 <[^>]*> nop -+00009f54 <[^>]*> nop -+00009f58 <[^>]*> nop -+00009f5c <[^>]*> nop -+00009f60 <[^>]*> nop -+00009f64 <[^>]*> nop -+00009f68 <[^>]*> nop -+00009f6c <[^>]*> nop -+00009f70 <[^>]*> nop -+00009f74 <[^>]*> nop -+00009f78 <[^>]*> nop -+00009f7c <[^>]*> nop -+00009f80 <[^>]*> nop -+00009f84 <[^>]*> nop -+00009f88 <[^>]*> nop -+00009f8c <[^>]*> nop -+00009f90 <[^>]*> nop -+00009f94 <[^>]*> nop -+00009f98 <[^>]*> nop -+00009f9c <[^>]*> nop -+00009fa0 <[^>]*> nop -+00009fa4 <[^>]*> nop -+00009fa8 <[^>]*> nop -+00009fac <[^>]*> nop -+00009fb0 <[^>]*> nop -+00009fb4 <[^>]*> nop -+00009fb8 <[^>]*> nop -+00009fbc <[^>]*> nop -+00009fc0 <[^>]*> nop -+00009fc4 <[^>]*> nop -+00009fc8 <[^>]*> nop -+00009fcc <[^>]*> nop -+00009fd0 <[^>]*> nop -+00009fd4 <[^>]*> nop -+00009fd8 <[^>]*> nop -+00009fdc <[^>]*> nop -+00009fe0 <[^>]*> nop -+00009fe4 <[^>]*> nop -+00009fe8 <[^>]*> nop -+00009fec <[^>]*> nop -+00009ff0 <[^>]*> nop -+00009ff4 <[^>]*> nop -+00009ff8 <[^>]*> nop -+00009ffc <[^>]*> nop -+0000a000 <[^>]*> nop -+0000a004 <[^>]*> nop -+0000a008 <[^>]*> nop -+0000a00c <[^>]*> nop -+0000a010 <[^>]*> nop -+0000a014 <[^>]*> nop -+0000a018 <[^>]*> nop -+0000a01c <[^>]*> nop -+0000a020 <[^>]*> nop -+0000a024 <[^>]*> nop -+0000a028 <[^>]*> nop -+0000a02c <[^>]*> nop -+0000a030 <[^>]*> nop -+0000a034 <[^>]*> nop -+0000a038 <[^>]*> nop -+0000a03c <[^>]*> nop -+0000a040 <[^>]*> nop -+0000a044 <[^>]*> nop -+0000a048 <[^>]*> nop -+0000a04c <[^>]*> nop -+0000a050 <[^>]*> nop -+0000a054 <[^>]*> nop -+0000a058 <[^>]*> nop -+0000a05c <[^>]*> nop -+0000a060 <[^>]*> nop -+0000a064 <[^>]*> nop -+0000a068 <[^>]*> nop -+0000a06c <[^>]*> nop -+0000a070 <[^>]*> nop -+0000a074 <[^>]*> nop -+0000a078 <[^>]*> nop -+0000a07c <[^>]*> nop -+0000a080 <[^>]*> nop -+0000a084 <[^>]*> nop -+0000a088 <[^>]*> nop -+0000a08c <[^>]*> nop -+0000a090 <[^>]*> nop -+0000a094 <[^>]*> nop -+0000a098 <[^>]*> nop -+0000a09c <[^>]*> nop -+0000a0a0 <[^>]*> nop -+0000a0a4 <[^>]*> nop -+0000a0a8 <[^>]*> nop -+0000a0ac <[^>]*> nop -+0000a0b0 <[^>]*> nop -+0000a0b4 <[^>]*> nop -+0000a0b8 <[^>]*> nop -+0000a0bc <[^>]*> nop -+0000a0c0 <[^>]*> nop -+0000a0c4 <[^>]*> nop -+0000a0c8 <[^>]*> nop -+0000a0cc <[^>]*> nop -+0000a0d0 <[^>]*> nop -+0000a0d4 <[^>]*> nop -+0000a0d8 <[^>]*> nop -+0000a0dc <[^>]*> nop -+0000a0e0 <[^>]*> nop -+0000a0e4 <[^>]*> nop -+0000a0e8 <[^>]*> nop -+0000a0ec <[^>]*> nop -+0000a0f0 <[^>]*> nop -+0000a0f4 <[^>]*> nop -+0000a0f8 <[^>]*> nop -+0000a0fc <[^>]*> nop -+0000a100 <[^>]*> nop -+0000a104 <[^>]*> nop -+0000a108 <[^>]*> nop -+0000a10c <[^>]*> nop -+0000a110 <[^>]*> nop -+0000a114 <[^>]*> nop -+0000a118 <[^>]*> nop -+0000a11c <[^>]*> nop -+0000a120 <[^>]*> nop -+0000a124 <[^>]*> nop -+0000a128 <[^>]*> nop -+0000a12c <[^>]*> nop -+0000a130 <[^>]*> nop -+0000a134 <[^>]*> nop -+0000a138 <[^>]*> nop -+0000a13c <[^>]*> nop -+0000a140 <[^>]*> nop -+0000a144 <[^>]*> nop -+0000a148 <[^>]*> nop -+0000a14c <[^>]*> nop -+0000a150 <[^>]*> nop -+0000a154 <[^>]*> nop -+0000a158 <[^>]*> nop -+0000a15c <[^>]*> nop -+0000a160 <[^>]*> nop -+0000a164 <[^>]*> nop -+0000a168 <[^>]*> nop -+0000a16c <[^>]*> nop -+0000a170 <[^>]*> nop -+0000a174 <[^>]*> nop -+0000a178 <[^>]*> nop -+0000a17c <[^>]*> nop -+0000a180 <[^>]*> nop -+0000a184 <[^>]*> nop -+0000a188 <[^>]*> nop -+0000a18c <[^>]*> nop -+0000a190 <[^>]*> nop -+0000a194 <[^>]*> nop -+0000a198 <[^>]*> nop -+0000a19c <[^>]*> nop -+0000a1a0 <[^>]*> nop -+0000a1a4 <[^>]*> nop -+0000a1a8 <[^>]*> nop -+0000a1ac <[^>]*> nop -+0000a1b0 <[^>]*> nop -+0000a1b4 <[^>]*> nop -+0000a1b8 <[^>]*> nop -+0000a1bc <[^>]*> nop -+0000a1c0 <[^>]*> nop -+0000a1c4 <[^>]*> nop -+0000a1c8 <[^>]*> nop -+0000a1cc <[^>]*> nop -+0000a1d0 <[^>]*> nop -+0000a1d4 <[^>]*> nop -+0000a1d8 <[^>]*> nop -+0000a1dc <[^>]*> nop -+0000a1e0 <[^>]*> nop -+0000a1e4 <[^>]*> nop -+0000a1e8 <[^>]*> nop -+0000a1ec <[^>]*> nop -+0000a1f0 <[^>]*> nop -+0000a1f4 <[^>]*> nop -+0000a1f8 <[^>]*> nop -+0000a1fc <[^>]*> nop -+0000a200 <[^>]*> nop -+0000a204 <[^>]*> nop -+0000a208 <[^>]*> nop -+0000a20c <[^>]*> nop -+0000a210 <[^>]*> nop -+0000a214 <[^>]*> nop -+0000a218 <[^>]*> nop -+0000a21c <[^>]*> nop -+0000a220 <[^>]*> nop -+0000a224 <[^>]*> nop -+0000a228 <[^>]*> nop -+0000a22c <[^>]*> nop -+0000a230 <[^>]*> nop -+0000a234 <[^>]*> nop -+0000a238 <[^>]*> nop -+0000a23c <[^>]*> nop -+0000a240 <[^>]*> nop -+0000a244 <[^>]*> nop -+0000a248 <[^>]*> nop -+0000a24c <[^>]*> nop -+0000a250 <[^>]*> nop -+0000a254 <[^>]*> nop -+0000a258 <[^>]*> nop -+0000a25c <[^>]*> nop -+0000a260 <[^>]*> nop -+0000a264 <[^>]*> nop -+0000a268 <[^>]*> nop -+0000a26c <[^>]*> nop -+0000a270 <[^>]*> nop -+0000a274 <[^>]*> nop -+0000a278 <[^>]*> nop -+0000a27c <[^>]*> nop -+0000a280 <[^>]*> nop -+0000a284 <[^>]*> nop -+0000a288 <[^>]*> nop -+0000a28c <[^>]*> nop -+0000a290 <[^>]*> nop -+0000a294 <[^>]*> nop -+0000a298 <[^>]*> nop -+0000a29c <[^>]*> nop -+0000a2a0 <[^>]*> nop -+0000a2a4 <[^>]*> nop -+0000a2a8 <[^>]*> nop -+0000a2ac <[^>]*> nop -+0000a2b0 <[^>]*> nop -+0000a2b4 <[^>]*> nop -+0000a2b8 <[^>]*> nop -+0000a2bc <[^>]*> nop -+0000a2c0 <[^>]*> nop -+0000a2c4 <[^>]*> nop -+0000a2c8 <[^>]*> nop -+0000a2cc <[^>]*> nop -+0000a2d0 <[^>]*> nop -+0000a2d4 <[^>]*> nop -+0000a2d8 <[^>]*> nop -+0000a2dc <[^>]*> nop -+0000a2e0 <[^>]*> nop -+0000a2e4 <[^>]*> nop -+0000a2e8 <[^>]*> nop -+0000a2ec <[^>]*> nop -+0000a2f0 <[^>]*> nop -+0000a2f4 <[^>]*> nop -+0000a2f8 <[^>]*> nop -+0000a2fc <[^>]*> nop -+0000a300 <[^>]*> nop -+0000a304 <[^>]*> nop -+0000a308 <[^>]*> nop -+0000a30c <[^>]*> nop -+0000a310 <[^>]*> nop -+0000a314 <[^>]*> nop -+0000a318 <[^>]*> nop -+0000a31c <[^>]*> nop -+0000a320 <[^>]*> nop -+0000a324 <[^>]*> nop -+0000a328 <[^>]*> nop -+0000a32c <[^>]*> nop -+0000a330 <[^>]*> nop -+0000a334 <[^>]*> nop -+0000a338 <[^>]*> nop -+0000a33c <[^>]*> nop -+0000a340 <[^>]*> nop -+0000a344 <[^>]*> nop -+0000a348 <[^>]*> nop -+0000a34c <[^>]*> nop -+0000a350 <[^>]*> nop -+0000a354 <[^>]*> nop -+0000a358 <[^>]*> nop -+0000a35c <[^>]*> nop -+0000a360 <[^>]*> nop -+0000a364 <[^>]*> nop -+0000a368 <[^>]*> nop -+0000a36c <[^>]*> nop -+0000a370 <[^>]*> nop -+0000a374 <[^>]*> nop -+0000a378 <[^>]*> nop -+0000a37c <[^>]*> nop -+0000a380 <[^>]*> nop -+0000a384 <[^>]*> nop -+0000a388 <[^>]*> nop -+0000a38c <[^>]*> nop -+0000a390 <[^>]*> nop -+0000a394 <[^>]*> nop -+0000a398 <[^>]*> nop -+0000a39c <[^>]*> nop -+0000a3a0 <[^>]*> nop -+0000a3a4 <[^>]*> nop -+0000a3a8 <[^>]*> nop -+0000a3ac <[^>]*> nop -+0000a3b0 <[^>]*> nop -+0000a3b4 <[^>]*> nop -+0000a3b8 <[^>]*> nop -+0000a3bc <[^>]*> nop -+0000a3c0 <[^>]*> nop -+0000a3c4 <[^>]*> nop -+0000a3c8 <[^>]*> nop -+0000a3cc <[^>]*> nop -+0000a3d0 <[^>]*> nop -+0000a3d4 <[^>]*> nop -+0000a3d8 <[^>]*> nop -+0000a3dc <[^>]*> nop -+0000a3e0 <[^>]*> nop -+0000a3e4 <[^>]*> nop -+0000a3e8 <[^>]*> nop -+0000a3ec <[^>]*> nop -+0000a3f0 <[^>]*> nop -+0000a3f4 <[^>]*> nop -+0000a3f8 <[^>]*> nop -+0000a3fc <[^>]*> nop -+0000a400 <[^>]*> nop -+0000a404 <[^>]*> nop -+0000a408 <[^>]*> nop -+0000a40c <[^>]*> nop -+0000a410 <[^>]*> nop -+0000a414 <[^>]*> nop -+0000a418 <[^>]*> nop -+0000a41c <[^>]*> nop -+0000a420 <[^>]*> nop -+0000a424 <[^>]*> nop -+0000a428 <[^>]*> nop -+0000a42c <[^>]*> nop -+0000a430 <[^>]*> nop -+0000a434 <[^>]*> nop -+0000a438 <[^>]*> nop -+0000a43c <[^>]*> nop -+0000a440 <[^>]*> nop -+0000a444 <[^>]*> nop -+0000a448 <[^>]*> nop -+0000a44c <[^>]*> nop -+0000a450 <[^>]*> nop -+0000a454 <[^>]*> nop -+0000a458 <[^>]*> nop -+0000a45c <[^>]*> nop -+0000a460 <[^>]*> nop -+0000a464 <[^>]*> nop -+0000a468 <[^>]*> nop -+0000a46c <[^>]*> nop -+0000a470 <[^>]*> nop -+0000a474 <[^>]*> nop -+0000a478 <[^>]*> nop -+0000a47c <[^>]*> nop -+0000a480 <[^>]*> nop -+0000a484 <[^>]*> nop -+0000a488 <[^>]*> nop -+0000a48c <[^>]*> nop -+0000a490 <[^>]*> nop -+0000a494 <[^>]*> nop -+0000a498 <[^>]*> nop -+0000a49c <[^>]*> nop -+0000a4a0 <[^>]*> nop -+0000a4a4 <[^>]*> nop -+0000a4a8 <[^>]*> nop -+0000a4ac <[^>]*> nop -+0000a4b0 <[^>]*> nop -+0000a4b4 <[^>]*> nop -+0000a4b8 <[^>]*> nop -+0000a4bc <[^>]*> nop -+0000a4c0 <[^>]*> nop -+0000a4c4 <[^>]*> nop -+0000a4c8 <[^>]*> nop -+0000a4cc <[^>]*> nop -+0000a4d0 <[^>]*> nop -+0000a4d4 <[^>]*> nop -+0000a4d8 <[^>]*> nop -+0000a4dc <[^>]*> nop -+0000a4e0 <[^>]*> nop -+0000a4e4 <[^>]*> nop -+0000a4e8 <[^>]*> nop -+0000a4ec <[^>]*> nop -+0000a4f0 <[^>]*> nop -+0000a4f4 <[^>]*> nop -+0000a4f8 <[^>]*> nop -+0000a4fc <[^>]*> nop -+0000a500 <[^>]*> nop -+0000a504 <[^>]*> nop -+0000a508 <[^>]*> nop -+0000a50c <[^>]*> nop -+0000a510 <[^>]*> nop -+0000a514 <[^>]*> nop -+0000a518 <[^>]*> nop -+0000a51c <[^>]*> nop -+0000a520 <[^>]*> nop -+0000a524 <[^>]*> nop -+0000a528 <[^>]*> nop -+0000a52c <[^>]*> nop -+0000a530 <[^>]*> nop -+0000a534 <[^>]*> nop -+0000a538 <[^>]*> nop -+0000a53c <[^>]*> nop -+0000a540 <[^>]*> nop -+0000a544 <[^>]*> nop -+0000a548 <[^>]*> nop -+0000a54c <[^>]*> nop -+0000a550 <[^>]*> nop -+0000a554 <[^>]*> nop -+0000a558 <[^>]*> nop -+0000a55c <[^>]*> nop -+0000a560 <[^>]*> nop -+0000a564 <[^>]*> nop -+0000a568 <[^>]*> nop -+0000a56c <[^>]*> nop -+0000a570 <[^>]*> nop -+0000a574 <[^>]*> nop -+0000a578 <[^>]*> nop -+0000a57c <[^>]*> nop -+0000a580 <[^>]*> nop -+0000a584 <[^>]*> nop -+0000a588 <[^>]*> nop -+0000a58c <[^>]*> nop -+0000a590 <[^>]*> nop -+0000a594 <[^>]*> nop -+0000a598 <[^>]*> nop -+0000a59c <[^>]*> nop -+0000a5a0 <[^>]*> nop -+0000a5a4 <[^>]*> nop -+0000a5a8 <[^>]*> nop -+0000a5ac <[^>]*> nop -+0000a5b0 <[^>]*> nop -+0000a5b4 <[^>]*> nop -+0000a5b8 <[^>]*> nop -+0000a5bc <[^>]*> nop -+0000a5c0 <[^>]*> nop -+0000a5c4 <[^>]*> nop -+0000a5c8 <[^>]*> nop -+0000a5cc <[^>]*> nop -+0000a5d0 <[^>]*> nop -+0000a5d4 <[^>]*> nop -+0000a5d8 <[^>]*> nop -+0000a5dc <[^>]*> nop -+0000a5e0 <[^>]*> nop -+0000a5e4 <[^>]*> nop -+0000a5e8 <[^>]*> nop -+0000a5ec <[^>]*> nop -+0000a5f0 <[^>]*> nop -+0000a5f4 <[^>]*> nop -+0000a5f8 <[^>]*> nop -+0000a5fc <[^>]*> nop -+0000a600 <[^>]*> nop -+0000a604 <[^>]*> nop -+0000a608 <[^>]*> nop -+0000a60c <[^>]*> nop -+0000a610 <[^>]*> nop -+0000a614 <[^>]*> nop -+0000a618 <[^>]*> nop -+0000a61c <[^>]*> nop -+0000a620 <[^>]*> nop -+0000a624 <[^>]*> nop -+0000a628 <[^>]*> nop -+0000a62c <[^>]*> nop -+0000a630 <[^>]*> nop -+0000a634 <[^>]*> nop -+0000a638 <[^>]*> nop -+0000a63c <[^>]*> nop -+0000a640 <[^>]*> nop -+0000a644 <[^>]*> nop -+0000a648 <[^>]*> nop -+0000a64c <[^>]*> nop -+0000a650 <[^>]*> nop -+0000a654 <[^>]*> nop -+0000a658 <[^>]*> nop -+0000a65c <[^>]*> nop -+0000a660 <[^>]*> nop -+0000a664 <[^>]*> nop -+0000a668 <[^>]*> nop -+0000a66c <[^>]*> nop -+0000a670 <[^>]*> nop -+0000a674 <[^>]*> nop -+0000a678 <[^>]*> nop -+0000a67c <[^>]*> nop -+0000a680 <[^>]*> nop -+0000a684 <[^>]*> nop -+0000a688 <[^>]*> nop -+0000a68c <[^>]*> nop -+0000a690 <[^>]*> nop -+0000a694 <[^>]*> nop -+0000a698 <[^>]*> nop -+0000a69c <[^>]*> nop -+0000a6a0 <[^>]*> nop -+0000a6a4 <[^>]*> nop -+0000a6a8 <[^>]*> nop -+0000a6ac <[^>]*> nop -+0000a6b0 <[^>]*> nop -+0000a6b4 <[^>]*> nop -+0000a6b8 <[^>]*> nop -+0000a6bc <[^>]*> nop -+0000a6c0 <[^>]*> nop -+0000a6c4 <[^>]*> nop -+0000a6c8 <[^>]*> nop -+0000a6cc <[^>]*> nop -+0000a6d0 <[^>]*> nop -+0000a6d4 <[^>]*> nop -+0000a6d8 <[^>]*> nop -+0000a6dc <[^>]*> nop -+0000a6e0 <[^>]*> nop -+0000a6e4 <[^>]*> nop -+0000a6e8 <[^>]*> nop -+0000a6ec <[^>]*> nop -+0000a6f0 <[^>]*> nop -+0000a6f4 <[^>]*> nop -+0000a6f8 <[^>]*> nop -+0000a6fc <[^>]*> nop -+0000a700 <[^>]*> nop -+0000a704 <[^>]*> nop -+0000a708 <[^>]*> nop -+0000a70c <[^>]*> nop -+0000a710 <[^>]*> nop -+0000a714 <[^>]*> nop -+0000a718 <[^>]*> nop -+0000a71c <[^>]*> nop -+0000a720 <[^>]*> nop -+0000a724 <[^>]*> nop -+0000a728 <[^>]*> nop -+0000a72c <[^>]*> nop -+0000a730 <[^>]*> nop -+0000a734 <[^>]*> nop -+0000a738 <[^>]*> nop -+0000a73c <[^>]*> nop -+0000a740 <[^>]*> nop -+0000a744 <[^>]*> nop -+0000a748 <[^>]*> nop -+0000a74c <[^>]*> nop -+0000a750 <[^>]*> nop -+0000a754 <[^>]*> nop -+0000a758 <[^>]*> nop -+0000a75c <[^>]*> nop -+0000a760 <[^>]*> nop -+0000a764 <[^>]*> nop -+0000a768 <[^>]*> nop -+0000a76c <[^>]*> nop -+0000a770 <[^>]*> nop -+0000a774 <[^>]*> nop -+0000a778 <[^>]*> nop -+0000a77c <[^>]*> nop -+0000a780 <[^>]*> nop -+0000a784 <[^>]*> nop -+0000a788 <[^>]*> nop -+0000a78c <[^>]*> nop -+0000a790 <[^>]*> nop -+0000a794 <[^>]*> nop -+0000a798 <[^>]*> nop -+0000a79c <[^>]*> nop -+0000a7a0 <[^>]*> nop -+0000a7a4 <[^>]*> nop -+0000a7a8 <[^>]*> nop -+0000a7ac <[^>]*> nop -+0000a7b0 <[^>]*> nop -+0000a7b4 <[^>]*> nop -+0000a7b8 <[^>]*> nop -+0000a7bc <[^>]*> nop -+0000a7c0 <[^>]*> nop -+0000a7c4 <[^>]*> nop -+0000a7c8 <[^>]*> nop -+0000a7cc <[^>]*> nop -+0000a7d0 <[^>]*> nop -+0000a7d4 <[^>]*> nop -+0000a7d8 <[^>]*> nop -+0000a7dc <[^>]*> nop -+0000a7e0 <[^>]*> nop -+0000a7e4 <[^>]*> nop -+0000a7e8 <[^>]*> nop -+0000a7ec <[^>]*> nop -+0000a7f0 <[^>]*> nop -+0000a7f4 <[^>]*> nop -+0000a7f8 <[^>]*> nop -+0000a7fc <[^>]*> nop -+0000a800 <[^>]*> nop -+0000a804 <[^>]*> nop -+0000a808 <[^>]*> nop -+0000a80c <[^>]*> nop -+0000a810 <[^>]*> nop -+0000a814 <[^>]*> nop -+0000a818 <[^>]*> nop -+0000a81c <[^>]*> nop -+0000a820 <[^>]*> nop -+0000a824 <[^>]*> nop -+0000a828 <[^>]*> nop -+0000a82c <[^>]*> nop -+0000a830 <[^>]*> nop -+0000a834 <[^>]*> nop -+0000a838 <[^>]*> nop -+0000a83c <[^>]*> nop -+0000a840 <[^>]*> nop -+0000a844 <[^>]*> nop -+0000a848 <[^>]*> nop -+0000a84c <[^>]*> nop -+0000a850 <[^>]*> nop -+0000a854 <[^>]*> nop -+0000a858 <[^>]*> nop -+0000a85c <[^>]*> nop -+0000a860 <[^>]*> nop -+0000a864 <[^>]*> nop -+0000a868 <[^>]*> nop -+0000a86c <[^>]*> nop -+0000a870 <[^>]*> nop -+0000a874 <[^>]*> nop -+0000a878 <[^>]*> nop -+0000a87c <[^>]*> nop -+0000a880 <[^>]*> nop -+0000a884 <[^>]*> nop -+0000a888 <[^>]*> nop -+0000a88c <[^>]*> nop -+0000a890 <[^>]*> nop -+0000a894 <[^>]*> nop -+0000a898 <[^>]*> nop -+0000a89c <[^>]*> nop -+0000a8a0 <[^>]*> nop -+0000a8a4 <[^>]*> nop -+0000a8a8 <[^>]*> nop -+0000a8ac <[^>]*> nop -+0000a8b0 <[^>]*> nop -+0000a8b4 <[^>]*> nop -+0000a8b8 <[^>]*> nop -+0000a8bc <[^>]*> nop -+0000a8c0 <[^>]*> nop -+0000a8c4 <[^>]*> nop -+0000a8c8 <[^>]*> nop -+0000a8cc <[^>]*> nop -+0000a8d0 <[^>]*> nop -+0000a8d4 <[^>]*> nop -+0000a8d8 <[^>]*> nop -+0000a8dc <[^>]*> nop -+0000a8e0 <[^>]*> nop -+0000a8e4 <[^>]*> nop -+0000a8e8 <[^>]*> nop -+0000a8ec <[^>]*> nop -+0000a8f0 <[^>]*> nop -+0000a8f4 <[^>]*> nop -+0000a8f8 <[^>]*> nop -+0000a8fc <[^>]*> nop -+0000a900 <[^>]*> nop -+0000a904 <[^>]*> nop -+0000a908 <[^>]*> nop -+0000a90c <[^>]*> nop -+0000a910 <[^>]*> nop -+0000a914 <[^>]*> nop -+0000a918 <[^>]*> nop -+0000a91c <[^>]*> nop -+0000a920 <[^>]*> nop -+0000a924 <[^>]*> nop -+0000a928 <[^>]*> nop -+0000a92c <[^>]*> nop -+0000a930 <[^>]*> nop -+0000a934 <[^>]*> nop -+0000a938 <[^>]*> nop -+0000a93c <[^>]*> nop -+0000a940 <[^>]*> nop -+0000a944 <[^>]*> nop -+0000a948 <[^>]*> nop -+0000a94c <[^>]*> nop -+0000a950 <[^>]*> nop -+0000a954 <[^>]*> nop -+0000a958 <[^>]*> nop -+0000a95c <[^>]*> nop -+0000a960 <[^>]*> nop -+0000a964 <[^>]*> nop -+0000a968 <[^>]*> nop -+0000a96c <[^>]*> nop -+0000a970 <[^>]*> nop -+0000a974 <[^>]*> nop -+0000a978 <[^>]*> nop -+0000a97c <[^>]*> nop -+0000a980 <[^>]*> nop -+0000a984 <[^>]*> nop -+0000a988 <[^>]*> nop -+0000a98c <[^>]*> nop -+0000a990 <[^>]*> nop -+0000a994 <[^>]*> nop -+0000a998 <[^>]*> nop -+0000a99c <[^>]*> nop -+0000a9a0 <[^>]*> nop -+0000a9a4 <[^>]*> nop -+0000a9a8 <[^>]*> nop -+0000a9ac <[^>]*> nop -+0000a9b0 <[^>]*> nop -+0000a9b4 <[^>]*> nop -+0000a9b8 <[^>]*> nop -+0000a9bc <[^>]*> nop -+0000a9c0 <[^>]*> nop -+0000a9c4 <[^>]*> nop -+0000a9c8 <[^>]*> nop -+0000a9cc <[^>]*> nop -+0000a9d0 <[^>]*> nop -+0000a9d4 <[^>]*> nop -+0000a9d8 <[^>]*> nop -+0000a9dc <[^>]*> nop -+0000a9e0 <[^>]*> nop -+0000a9e4 <[^>]*> nop -+0000a9e8 <[^>]*> nop -+0000a9ec <[^>]*> nop -+0000a9f0 <[^>]*> nop -+0000a9f4 <[^>]*> nop -+0000a9f8 <[^>]*> nop -+0000a9fc <[^>]*> nop -+0000aa00 <[^>]*> nop -+0000aa04 <[^>]*> nop -+0000aa08 <[^>]*> nop -+0000aa0c <[^>]*> nop -+0000aa10 <[^>]*> nop -+0000aa14 <[^>]*> nop -+0000aa18 <[^>]*> nop -+0000aa1c <[^>]*> nop -+0000aa20 <[^>]*> nop -+0000aa24 <[^>]*> nop -+0000aa28 <[^>]*> nop -+0000aa2c <[^>]*> nop -+0000aa30 <[^>]*> nop -+0000aa34 <[^>]*> nop -+0000aa38 <[^>]*> nop -+0000aa3c <[^>]*> nop -+0000aa40 <[^>]*> nop -+0000aa44 <[^>]*> nop -+0000aa48 <[^>]*> nop -+0000aa4c <[^>]*> nop -+0000aa50 <[^>]*> nop -+0000aa54 <[^>]*> nop -+0000aa58 <[^>]*> nop -+0000aa5c <[^>]*> nop -+0000aa60 <[^>]*> nop -+0000aa64 <[^>]*> nop -+0000aa68 <[^>]*> nop -+0000aa6c <[^>]*> nop -+0000aa70 <[^>]*> nop -+0000aa74 <[^>]*> nop -+0000aa78 <[^>]*> nop -+0000aa7c <[^>]*> nop -+0000aa80 <[^>]*> nop -+0000aa84 <[^>]*> nop -+0000aa88 <[^>]*> nop -+0000aa8c <[^>]*> nop -+0000aa90 <[^>]*> nop -+0000aa94 <[^>]*> nop -+0000aa98 <[^>]*> nop -+0000aa9c <[^>]*> nop -+0000aaa0 <[^>]*> nop -+0000aaa4 <[^>]*> nop -+0000aaa8 <[^>]*> nop -+0000aaac <[^>]*> nop -+0000aab0 <[^>]*> nop -+0000aab4 <[^>]*> nop -+0000aab8 <[^>]*> nop -+0000aabc <[^>]*> nop -+0000aac0 <[^>]*> nop -+0000aac4 <[^>]*> nop -+0000aac8 <[^>]*> nop -+0000aacc <[^>]*> nop -+0000aad0 <[^>]*> nop -+0000aad4 <[^>]*> nop -+0000aad8 <[^>]*> nop -+0000aadc <[^>]*> nop -+0000aae0 <[^>]*> nop -+0000aae4 <[^>]*> nop -+0000aae8 <[^>]*> nop -+0000aaec <[^>]*> nop -+0000aaf0 <[^>]*> nop -+0000aaf4 <[^>]*> nop -+0000aaf8 <[^>]*> nop -+0000aafc <[^>]*> nop -+0000ab00 <[^>]*> nop -+0000ab04 <[^>]*> nop -+0000ab08 <[^>]*> nop -+0000ab0c <[^>]*> nop -+0000ab10 <[^>]*> nop -+0000ab14 <[^>]*> nop -+0000ab18 <[^>]*> nop -+0000ab1c <[^>]*> nop -+0000ab20 <[^>]*> nop -+0000ab24 <[^>]*> nop -+0000ab28 <[^>]*> nop -+0000ab2c <[^>]*> nop -+0000ab30 <[^>]*> nop -+0000ab34 <[^>]*> nop -+0000ab38 <[^>]*> nop -+0000ab3c <[^>]*> nop -+0000ab40 <[^>]*> nop -+0000ab44 <[^>]*> nop -+0000ab48 <[^>]*> nop -+0000ab4c <[^>]*> nop -+0000ab50 <[^>]*> nop -+0000ab54 <[^>]*> nop -+0000ab58 <[^>]*> nop -+0000ab5c <[^>]*> nop -+0000ab60 <[^>]*> nop -+0000ab64 <[^>]*> nop -+0000ab68 <[^>]*> nop -+0000ab6c <[^>]*> nop -+0000ab70 <[^>]*> nop -+0000ab74 <[^>]*> nop -+0000ab78 <[^>]*> nop -+0000ab7c <[^>]*> nop -+0000ab80 <[^>]*> nop -+0000ab84 <[^>]*> nop -+0000ab88 <[^>]*> nop -+0000ab8c <[^>]*> nop -+0000ab90 <[^>]*> nop -+0000ab94 <[^>]*> nop -+0000ab98 <[^>]*> nop -+0000ab9c <[^>]*> nop -+0000aba0 <[^>]*> nop -+0000aba4 <[^>]*> nop -+0000aba8 <[^>]*> nop -+0000abac <[^>]*> nop -+0000abb0 <[^>]*> nop -+0000abb4 <[^>]*> nop -+0000abb8 <[^>]*> nop -+0000abbc <[^>]*> nop -+0000abc0 <[^>]*> nop -+0000abc4 <[^>]*> nop -+0000abc8 <[^>]*> nop -+0000abcc <[^>]*> nop -+0000abd0 <[^>]*> nop -+0000abd4 <[^>]*> nop -+0000abd8 <[^>]*> nop -+0000abdc <[^>]*> nop -+0000abe0 <[^>]*> nop -+0000abe4 <[^>]*> nop -+0000abe8 <[^>]*> nop -+0000abec <[^>]*> nop -+0000abf0 <[^>]*> nop -+0000abf4 <[^>]*> nop -+0000abf8 <[^>]*> nop -+0000abfc <[^>]*> nop -+0000ac00 <[^>]*> nop -+0000ac04 <[^>]*> nop -+0000ac08 <[^>]*> nop -+0000ac0c <[^>]*> nop -+0000ac10 <[^>]*> nop -+0000ac14 <[^>]*> nop -+0000ac18 <[^>]*> nop -+0000ac1c <[^>]*> nop -+0000ac20 <[^>]*> nop -+0000ac24 <[^>]*> nop -+0000ac28 <[^>]*> nop -+0000ac2c <[^>]*> nop -+0000ac30 <[^>]*> nop -+0000ac34 <[^>]*> nop -+0000ac38 <[^>]*> nop -+0000ac3c <[^>]*> nop -+0000ac40 <[^>]*> nop -+0000ac44 <[^>]*> nop -+0000ac48 <[^>]*> nop -+0000ac4c <[^>]*> nop -+0000ac50 <[^>]*> nop -+0000ac54 <[^>]*> nop -+0000ac58 <[^>]*> nop -+0000ac5c <[^>]*> nop -+0000ac60 <[^>]*> nop -+0000ac64 <[^>]*> nop -+0000ac68 <[^>]*> nop -+0000ac6c <[^>]*> nop -+0000ac70 <[^>]*> nop -+0000ac74 <[^>]*> nop -+0000ac78 <[^>]*> nop -+0000ac7c <[^>]*> nop -+0000ac80 <[^>]*> nop -+0000ac84 <[^>]*> nop -+0000ac88 <[^>]*> nop -+0000ac8c <[^>]*> nop -+0000ac90 <[^>]*> nop -+0000ac94 <[^>]*> nop -+0000ac98 <[^>]*> nop -+0000ac9c <[^>]*> nop -+0000aca0 <[^>]*> nop -+0000aca4 <[^>]*> nop -+0000aca8 <[^>]*> nop -+0000acac <[^>]*> nop -+0000acb0 <[^>]*> nop -+0000acb4 <[^>]*> nop -+0000acb8 <[^>]*> nop -+0000acbc <[^>]*> nop -+0000acc0 <[^>]*> nop -+0000acc4 <[^>]*> nop -+0000acc8 <[^>]*> nop -+0000accc <[^>]*> nop -+0000acd0 <[^>]*> nop -+0000acd4 <[^>]*> nop -+0000acd8 <[^>]*> nop -+0000acdc <[^>]*> nop -+0000ace0 <[^>]*> nop -+0000ace4 <[^>]*> nop -+0000ace8 <[^>]*> nop -+0000acec <[^>]*> nop -+0000acf0 <[^>]*> nop -+0000acf4 <[^>]*> nop -+0000acf8 <[^>]*> nop -+0000acfc <[^>]*> nop -+0000ad00 <[^>]*> nop -+0000ad04 <[^>]*> nop -+0000ad08 <[^>]*> nop -+0000ad0c <[^>]*> nop -+0000ad10 <[^>]*> nop -+0000ad14 <[^>]*> nop -+0000ad18 <[^>]*> nop -+0000ad1c <[^>]*> nop -+0000ad20 <[^>]*> nop -+0000ad24 <[^>]*> nop -+0000ad28 <[^>]*> nop -+0000ad2c <[^>]*> nop -+0000ad30 <[^>]*> nop -+0000ad34 <[^>]*> nop -+0000ad38 <[^>]*> nop -+0000ad3c <[^>]*> nop -+0000ad40 <[^>]*> nop -+0000ad44 <[^>]*> nop -+0000ad48 <[^>]*> nop -+0000ad4c <[^>]*> nop -+0000ad50 <[^>]*> nop -+0000ad54 <[^>]*> nop -+0000ad58 <[^>]*> nop -+0000ad5c <[^>]*> nop -+0000ad60 <[^>]*> nop -+0000ad64 <[^>]*> nop -+0000ad68 <[^>]*> nop -+0000ad6c <[^>]*> nop -+0000ad70 <[^>]*> nop -+0000ad74 <[^>]*> nop -+0000ad78 <[^>]*> nop -+0000ad7c <[^>]*> nop -+0000ad80 <[^>]*> nop -+0000ad84 <[^>]*> nop -+0000ad88 <[^>]*> nop -+0000ad8c <[^>]*> nop -+0000ad90 <[^>]*> nop -+0000ad94 <[^>]*> nop -+0000ad98 <[^>]*> nop -+0000ad9c <[^>]*> nop -+0000ada0 <[^>]*> nop -+0000ada4 <[^>]*> nop -+0000ada8 <[^>]*> nop -+0000adac <[^>]*> nop -+0000adb0 <[^>]*> nop -+0000adb4 <[^>]*> nop -+0000adb8 <[^>]*> nop -+0000adbc <[^>]*> nop -+0000adc0 <[^>]*> nop -+0000adc4 <[^>]*> nop -+0000adc8 <[^>]*> nop -+0000adcc <[^>]*> nop -+0000add0 <[^>]*> nop -+0000add4 <[^>]*> nop -+0000add8 <[^>]*> nop -+0000addc <[^>]*> nop -+0000ade0 <[^>]*> nop -+0000ade4 <[^>]*> nop -+0000ade8 <[^>]*> nop -+0000adec <[^>]*> nop -+0000adf0 <[^>]*> nop -+0000adf4 <[^>]*> nop -+0000adf8 <[^>]*> nop -+0000adfc <[^>]*> nop -+0000ae00 <[^>]*> nop -+0000ae04 <[^>]*> nop -+0000ae08 <[^>]*> nop -+0000ae0c <[^>]*> nop -+0000ae10 <[^>]*> nop -+0000ae14 <[^>]*> nop -+0000ae18 <[^>]*> nop -+0000ae1c <[^>]*> nop -+0000ae20 <[^>]*> nop -+0000ae24 <[^>]*> nop -+0000ae28 <[^>]*> nop -+0000ae2c <[^>]*> nop -+0000ae30 <[^>]*> nop -+0000ae34 <[^>]*> nop -+0000ae38 <[^>]*> nop -+0000ae3c <[^>]*> nop -+0000ae40 <[^>]*> nop -+0000ae44 <[^>]*> nop -+0000ae48 <[^>]*> nop -+0000ae4c <[^>]*> nop -+0000ae50 <[^>]*> nop -+0000ae54 <[^>]*> nop -+0000ae58 <[^>]*> nop -+0000ae5c <[^>]*> nop -+0000ae60 <[^>]*> nop -+0000ae64 <[^>]*> nop -+0000ae68 <[^>]*> nop -+0000ae6c <[^>]*> nop -+0000ae70 <[^>]*> nop -+0000ae74 <[^>]*> nop -+0000ae78 <[^>]*> nop -+0000ae7c <[^>]*> nop -+0000ae80 <[^>]*> nop -+0000ae84 <[^>]*> nop -+0000ae88 <[^>]*> nop -+0000ae8c <[^>]*> nop -+0000ae90 <[^>]*> nop -+0000ae94 <[^>]*> nop -+0000ae98 <[^>]*> nop -+0000ae9c <[^>]*> nop -+0000aea0 <[^>]*> nop -+0000aea4 <[^>]*> nop -+0000aea8 <[^>]*> nop -+0000aeac <[^>]*> nop -+0000aeb0 <[^>]*> nop -+0000aeb4 <[^>]*> nop -+0000aeb8 <[^>]*> nop -+0000aebc <[^>]*> nop -+0000aec0 <[^>]*> nop -+0000aec4 <[^>]*> nop -+0000aec8 <[^>]*> nop -+0000aecc <[^>]*> nop -+0000aed0 <[^>]*> nop -+0000aed4 <[^>]*> nop -+0000aed8 <[^>]*> nop -+0000aedc <[^>]*> nop -+0000aee0 <[^>]*> nop -+0000aee4 <[^>]*> nop -+0000aee8 <[^>]*> nop -+0000aeec <[^>]*> nop -+0000aef0 <[^>]*> nop -+0000aef4 <[^>]*> nop -+0000aef8 <[^>]*> nop -+0000aefc <[^>]*> nop -+0000af00 <[^>]*> nop -+0000af04 <[^>]*> nop -+0000af08 <[^>]*> nop -+0000af0c <[^>]*> nop -+0000af10 <[^>]*> nop -+0000af14 <[^>]*> nop -+0000af18 <[^>]*> nop -+0000af1c <[^>]*> nop -+0000af20 <[^>]*> nop -+0000af24 <[^>]*> nop -+0000af28 <[^>]*> nop -+0000af2c <[^>]*> nop -+0000af30 <[^>]*> nop -+0000af34 <[^>]*> nop -+0000af38 <[^>]*> nop -+0000af3c <[^>]*> nop -+0000af40 <[^>]*> nop -+0000af44 <[^>]*> nop -+0000af48 <[^>]*> nop -+0000af4c <[^>]*> nop -+0000af50 <[^>]*> nop -+0000af54 <[^>]*> nop -+0000af58 <[^>]*> nop -+0000af5c <[^>]*> nop -+0000af60 <[^>]*> nop -+0000af64 <[^>]*> nop -+0000af68 <[^>]*> nop -+0000af6c <[^>]*> nop -+0000af70 <[^>]*> nop -+0000af74 <[^>]*> nop -+0000af78 <[^>]*> nop -+0000af7c <[^>]*> nop -+0000af80 <[^>]*> nop -+0000af84 <[^>]*> nop -+0000af88 <[^>]*> nop -+0000af8c <[^>]*> nop -+0000af90 <[^>]*> nop -+0000af94 <[^>]*> nop -+0000af98 <[^>]*> nop -+0000af9c <[^>]*> nop -+0000afa0 <[^>]*> nop -+0000afa4 <[^>]*> nop -+0000afa8 <[^>]*> nop -+0000afac <[^>]*> nop -+0000afb0 <[^>]*> nop -+0000afb4 <[^>]*> nop -+0000afb8 <[^>]*> nop -+0000afbc <[^>]*> nop -+0000afc0 <[^>]*> nop -+0000afc4 <[^>]*> nop -+0000afc8 <[^>]*> nop -+0000afcc <[^>]*> nop -+0000afd0 <[^>]*> nop -+0000afd4 <[^>]*> nop -+0000afd8 <[^>]*> nop -+0000afdc <[^>]*> nop -+0000afe0 <[^>]*> nop -+0000afe4 <[^>]*> nop -+0000afe8 <[^>]*> nop -+0000afec <[^>]*> nop -+0000aff0 <[^>]*> nop -+0000aff4 <[^>]*> nop -+0000aff8 <[^>]*> nop -+0000affc <[^>]*> nop -+0000b000 <[^>]*> nop -+0000b004 <[^>]*> nop -+0000b008 <[^>]*> nop -+0000b00c <[^>]*> nop -+0000b010 <[^>]*> nop -+0000b014 <[^>]*> nop -+0000b018 <[^>]*> nop -+0000b01c <[^>]*> nop -+0000b020 <[^>]*> nop -+0000b024 <[^>]*> nop -+0000b028 <[^>]*> nop -+0000b02c <[^>]*> nop -+0000b030 <[^>]*> nop -+0000b034 <[^>]*> nop -+0000b038 <[^>]*> nop -+0000b03c <[^>]*> nop -+0000b040 <[^>]*> nop -+0000b044 <[^>]*> nop -+0000b048 <[^>]*> nop -+0000b04c <[^>]*> nop -+0000b050 <[^>]*> nop -+0000b054 <[^>]*> nop -+0000b058 <[^>]*> nop -+0000b05c <[^>]*> nop -+0000b060 <[^>]*> nop -+0000b064 <[^>]*> nop -+0000b068 <[^>]*> nop -+0000b06c <[^>]*> nop -+0000b070 <[^>]*> nop -+0000b074 <[^>]*> nop -+0000b078 <[^>]*> nop -+0000b07c <[^>]*> nop -+0000b080 <[^>]*> nop -+0000b084 <[^>]*> nop -+0000b088 <[^>]*> nop -+0000b08c <[^>]*> nop -+0000b090 <[^>]*> nop -+0000b094 <[^>]*> nop -+0000b098 <[^>]*> nop -+0000b09c <[^>]*> nop -+0000b0a0 <[^>]*> nop -+0000b0a4 <[^>]*> nop -+0000b0a8 <[^>]*> nop -+0000b0ac <[^>]*> nop -+0000b0b0 <[^>]*> nop -+0000b0b4 <[^>]*> nop -+0000b0b8 <[^>]*> nop -+0000b0bc <[^>]*> nop -+0000b0c0 <[^>]*> nop -+0000b0c4 <[^>]*> nop -+0000b0c8 <[^>]*> nop -+0000b0cc <[^>]*> nop -+0000b0d0 <[^>]*> nop -+0000b0d4 <[^>]*> nop -+0000b0d8 <[^>]*> nop -+0000b0dc <[^>]*> nop -+0000b0e0 <[^>]*> nop -+0000b0e4 <[^>]*> nop -+0000b0e8 <[^>]*> nop -+0000b0ec <[^>]*> nop -+0000b0f0 <[^>]*> nop -+0000b0f4 <[^>]*> nop -+0000b0f8 <[^>]*> nop -+0000b0fc <[^>]*> nop -+0000b100 <[^>]*> nop -+0000b104 <[^>]*> nop -+0000b108 <[^>]*> nop -+0000b10c <[^>]*> nop -+0000b110 <[^>]*> nop -+0000b114 <[^>]*> nop -+0000b118 <[^>]*> nop -+0000b11c <[^>]*> nop -+0000b120 <[^>]*> nop -+0000b124 <[^>]*> nop -+0000b128 <[^>]*> nop -+0000b12c <[^>]*> nop -+0000b130 <[^>]*> nop -+0000b134 <[^>]*> nop -+0000b138 <[^>]*> nop -+0000b13c <[^>]*> nop -+0000b140 <[^>]*> nop -+0000b144 <[^>]*> nop -+0000b148 <[^>]*> nop -+0000b14c <[^>]*> nop -+0000b150 <[^>]*> nop -+0000b154 <[^>]*> nop -+0000b158 <[^>]*> nop -+0000b15c <[^>]*> nop -+0000b160 <[^>]*> nop -+0000b164 <[^>]*> nop -+0000b168 <[^>]*> nop -+0000b16c <[^>]*> nop -+0000b170 <[^>]*> nop -+0000b174 <[^>]*> nop -+0000b178 <[^>]*> nop -+0000b17c <[^>]*> nop -+0000b180 <[^>]*> nop -+0000b184 <[^>]*> nop -+0000b188 <[^>]*> nop -+0000b18c <[^>]*> nop -+0000b190 <[^>]*> nop -+0000b194 <[^>]*> nop -+0000b198 <[^>]*> nop -+0000b19c <[^>]*> nop -+0000b1a0 <[^>]*> nop -+0000b1a4 <[^>]*> nop -+0000b1a8 <[^>]*> nop -+0000b1ac <[^>]*> nop -+0000b1b0 <[^>]*> nop -+0000b1b4 <[^>]*> nop -+0000b1b8 <[^>]*> nop -+0000b1bc <[^>]*> nop -+0000b1c0 <[^>]*> nop -+0000b1c4 <[^>]*> nop -+0000b1c8 <[^>]*> nop -+0000b1cc <[^>]*> nop -+0000b1d0 <[^>]*> nop -+0000b1d4 <[^>]*> nop -+0000b1d8 <[^>]*> nop -+0000b1dc <[^>]*> nop -+0000b1e0 <[^>]*> nop -+0000b1e4 <[^>]*> nop -+0000b1e8 <[^>]*> nop -+0000b1ec <[^>]*> nop -+0000b1f0 <[^>]*> nop -+0000b1f4 <[^>]*> nop -+0000b1f8 <[^>]*> nop -+0000b1fc <[^>]*> nop -+0000b200 <[^>]*> nop -+0000b204 <[^>]*> nop -+0000b208 <[^>]*> nop -+0000b20c <[^>]*> nop -+0000b210 <[^>]*> nop -+0000b214 <[^>]*> nop -+0000b218 <[^>]*> nop -+0000b21c <[^>]*> nop -+0000b220 <[^>]*> nop -+0000b224 <[^>]*> nop -+0000b228 <[^>]*> nop -+0000b22c <[^>]*> nop -+0000b230 <[^>]*> nop -+0000b234 <[^>]*> nop -+0000b238 <[^>]*> nop -+0000b23c <[^>]*> nop -+0000b240 <[^>]*> nop -+0000b244 <[^>]*> nop -+0000b248 <[^>]*> nop -+0000b24c <[^>]*> nop -+0000b250 <[^>]*> nop -+0000b254 <[^>]*> nop -+0000b258 <[^>]*> nop -+0000b25c <[^>]*> nop -+0000b260 <[^>]*> nop -+0000b264 <[^>]*> nop -+0000b268 <[^>]*> nop -+0000b26c <[^>]*> nop -+0000b270 <[^>]*> nop -+0000b274 <[^>]*> nop -+0000b278 <[^>]*> nop -+0000b27c <[^>]*> nop -+0000b280 <[^>]*> nop -+0000b284 <[^>]*> nop -+0000b288 <[^>]*> nop -+0000b28c <[^>]*> nop -+0000b290 <[^>]*> nop -+0000b294 <[^>]*> nop -+0000b298 <[^>]*> nop -+0000b29c <[^>]*> nop -+0000b2a0 <[^>]*> nop -+0000b2a4 <[^>]*> nop -+0000b2a8 <[^>]*> nop -+0000b2ac <[^>]*> nop -+0000b2b0 <[^>]*> nop -+0000b2b4 <[^>]*> nop -+0000b2b8 <[^>]*> nop -+0000b2bc <[^>]*> nop -+0000b2c0 <[^>]*> nop -+0000b2c4 <[^>]*> nop -+0000b2c8 <[^>]*> nop -+0000b2cc <[^>]*> nop -+0000b2d0 <[^>]*> nop -+0000b2d4 <[^>]*> nop -+0000b2d8 <[^>]*> nop -+0000b2dc <[^>]*> nop -+0000b2e0 <[^>]*> nop -+0000b2e4 <[^>]*> nop -+0000b2e8 <[^>]*> nop -+0000b2ec <[^>]*> nop -+0000b2f0 <[^>]*> nop -+0000b2f4 <[^>]*> nop -+0000b2f8 <[^>]*> nop -+0000b2fc <[^>]*> nop -+0000b300 <[^>]*> nop -+0000b304 <[^>]*> nop -+0000b308 <[^>]*> nop -+0000b30c <[^>]*> nop -+0000b310 <[^>]*> nop -+0000b314 <[^>]*> nop -+0000b318 <[^>]*> nop -+0000b31c <[^>]*> nop -+0000b320 <[^>]*> nop -+0000b324 <[^>]*> nop -+0000b328 <[^>]*> nop -+0000b32c <[^>]*> nop -+0000b330 <[^>]*> nop -+0000b334 <[^>]*> nop -+0000b338 <[^>]*> nop -+0000b33c <[^>]*> nop -+0000b340 <[^>]*> nop -+0000b344 <[^>]*> nop -+0000b348 <[^>]*> nop -+0000b34c <[^>]*> nop -+0000b350 <[^>]*> nop -+0000b354 <[^>]*> nop -+0000b358 <[^>]*> nop -+0000b35c <[^>]*> nop -+0000b360 <[^>]*> nop -+0000b364 <[^>]*> nop -+0000b368 <[^>]*> nop -+0000b36c <[^>]*> nop -+0000b370 <[^>]*> nop -+0000b374 <[^>]*> nop -+0000b378 <[^>]*> nop -+0000b37c <[^>]*> nop -+0000b380 <[^>]*> nop -+0000b384 <[^>]*> nop -+0000b388 <[^>]*> nop -+0000b38c <[^>]*> nop -+0000b390 <[^>]*> nop -+0000b394 <[^>]*> nop -+0000b398 <[^>]*> nop -+0000b39c <[^>]*> nop -+0000b3a0 <[^>]*> nop -+0000b3a4 <[^>]*> nop -+0000b3a8 <[^>]*> nop -+0000b3ac <[^>]*> nop -+0000b3b0 <[^>]*> nop -+0000b3b4 <[^>]*> nop -+0000b3b8 <[^>]*> nop -+0000b3bc <[^>]*> nop -+0000b3c0 <[^>]*> nop -+0000b3c4 <[^>]*> nop -+0000b3c8 <[^>]*> nop -+0000b3cc <[^>]*> nop -+0000b3d0 <[^>]*> nop -+0000b3d4 <[^>]*> nop -+0000b3d8 <[^>]*> nop -+0000b3dc <[^>]*> nop -+0000b3e0 <[^>]*> nop -+0000b3e4 <[^>]*> nop -+0000b3e8 <[^>]*> nop -+0000b3ec <[^>]*> nop -+0000b3f0 <[^>]*> nop -+0000b3f4 <[^>]*> nop -+0000b3f8 <[^>]*> nop -+0000b3fc <[^>]*> nop -+0000b400 <[^>]*> nop -+0000b404 <[^>]*> nop -+0000b408 <[^>]*> nop -+0000b40c <[^>]*> nop -+0000b410 <[^>]*> nop -+0000b414 <[^>]*> nop -+0000b418 <[^>]*> nop -+0000b41c <[^>]*> nop -+0000b420 <[^>]*> nop -+0000b424 <[^>]*> nop -+0000b428 <[^>]*> nop -+0000b42c <[^>]*> nop -+0000b430 <[^>]*> nop -+0000b434 <[^>]*> nop -+0000b438 <[^>]*> nop -+0000b43c <[^>]*> nop -+0000b440 <[^>]*> nop -+0000b444 <[^>]*> nop -+0000b448 <[^>]*> nop -+0000b44c <[^>]*> nop -+0000b450 <[^>]*> nop -+0000b454 <[^>]*> nop -+0000b458 <[^>]*> nop -+0000b45c <[^>]*> nop -+0000b460 <[^>]*> nop -+0000b464 <[^>]*> nop -+0000b468 <[^>]*> nop -+0000b46c <[^>]*> nop -+0000b470 <[^>]*> nop -+0000b474 <[^>]*> nop -+0000b478 <[^>]*> nop -+0000b47c <[^>]*> nop -+0000b480 <[^>]*> nop -+0000b484 <[^>]*> nop -+0000b488 <[^>]*> nop -+0000b48c <[^>]*> nop -+0000b490 <[^>]*> nop -+0000b494 <[^>]*> nop -+0000b498 <[^>]*> nop -+0000b49c <[^>]*> nop -+0000b4a0 <[^>]*> nop -+0000b4a4 <[^>]*> nop -+0000b4a8 <[^>]*> nop -+0000b4ac <[^>]*> nop -+0000b4b0 <[^>]*> nop -+0000b4b4 <[^>]*> nop -+0000b4b8 <[^>]*> nop -+0000b4bc <[^>]*> nop -+0000b4c0 <[^>]*> nop -+0000b4c4 <[^>]*> nop -+0000b4c8 <[^>]*> nop -+0000b4cc <[^>]*> nop -+0000b4d0 <[^>]*> nop -+0000b4d4 <[^>]*> nop -+0000b4d8 <[^>]*> nop -+0000b4dc <[^>]*> nop -+0000b4e0 <[^>]*> nop -+0000b4e4 <[^>]*> nop -+0000b4e8 <[^>]*> nop -+0000b4ec <[^>]*> nop -+0000b4f0 <[^>]*> nop -+0000b4f4 <[^>]*> nop -+0000b4f8 <[^>]*> nop -+0000b4fc <[^>]*> nop -+0000b500 <[^>]*> nop -+0000b504 <[^>]*> nop -+0000b508 <[^>]*> nop -+0000b50c <[^>]*> nop -+0000b510 <[^>]*> nop -+0000b514 <[^>]*> nop -+0000b518 <[^>]*> nop -+0000b51c <[^>]*> nop -+0000b520 <[^>]*> nop -+0000b524 <[^>]*> nop -+0000b528 <[^>]*> nop -+0000b52c <[^>]*> nop -+0000b530 <[^>]*> nop -+0000b534 <[^>]*> nop -+0000b538 <[^>]*> nop -+0000b53c <[^>]*> nop -+0000b540 <[^>]*> nop -+0000b544 <[^>]*> nop -+0000b548 <[^>]*> nop -+0000b54c <[^>]*> nop -+0000b550 <[^>]*> nop -+0000b554 <[^>]*> nop -+0000b558 <[^>]*> nop -+0000b55c <[^>]*> nop -+0000b560 <[^>]*> nop -+0000b564 <[^>]*> nop -+0000b568 <[^>]*> nop -+0000b56c <[^>]*> nop -+0000b570 <[^>]*> nop -+0000b574 <[^>]*> nop -+0000b578 <[^>]*> nop -+0000b57c <[^>]*> nop -+0000b580 <[^>]*> nop -+0000b584 <[^>]*> nop -+0000b588 <[^>]*> nop -+0000b58c <[^>]*> nop -+0000b590 <[^>]*> nop -+0000b594 <[^>]*> nop -+0000b598 <[^>]*> nop -+0000b59c <[^>]*> nop -+0000b5a0 <[^>]*> nop -+0000b5a4 <[^>]*> nop -+0000b5a8 <[^>]*> nop -+0000b5ac <[^>]*> nop -+0000b5b0 <[^>]*> nop -+0000b5b4 <[^>]*> nop -+0000b5b8 <[^>]*> nop -+0000b5bc <[^>]*> nop -+0000b5c0 <[^>]*> nop -+0000b5c4 <[^>]*> nop -+0000b5c8 <[^>]*> nop -+0000b5cc <[^>]*> nop -+0000b5d0 <[^>]*> nop -+0000b5d4 <[^>]*> nop -+0000b5d8 <[^>]*> nop -+0000b5dc <[^>]*> nop -+0000b5e0 <[^>]*> nop -+0000b5e4 <[^>]*> nop -+0000b5e8 <[^>]*> nop -+0000b5ec <[^>]*> nop -+0000b5f0 <[^>]*> nop -+0000b5f4 <[^>]*> nop -+0000b5f8 <[^>]*> nop -+0000b5fc <[^>]*> nop -+0000b600 <[^>]*> nop -+0000b604 <[^>]*> nop -+0000b608 <[^>]*> nop -+0000b60c <[^>]*> nop -+0000b610 <[^>]*> nop -+0000b614 <[^>]*> nop -+0000b618 <[^>]*> nop -+0000b61c <[^>]*> nop -+0000b620 <[^>]*> nop -+0000b624 <[^>]*> nop -+0000b628 <[^>]*> nop -+0000b62c <[^>]*> nop -+0000b630 <[^>]*> nop -+0000b634 <[^>]*> nop -+0000b638 <[^>]*> nop -+0000b63c <[^>]*> nop -+0000b640 <[^>]*> nop -+0000b644 <[^>]*> nop -+0000b648 <[^>]*> nop -+0000b64c <[^>]*> nop -+0000b650 <[^>]*> nop -+0000b654 <[^>]*> nop -+0000b658 <[^>]*> nop -+0000b65c <[^>]*> nop -+0000b660 <[^>]*> nop -+0000b664 <[^>]*> nop -+0000b668 <[^>]*> nop -+0000b66c <[^>]*> nop -+0000b670 <[^>]*> nop -+0000b674 <[^>]*> nop -+0000b678 <[^>]*> nop -+0000b67c <[^>]*> nop -+0000b680 <[^>]*> nop -+0000b684 <[^>]*> nop -+0000b688 <[^>]*> nop -+0000b68c <[^>]*> nop -+0000b690 <[^>]*> nop -+0000b694 <[^>]*> nop -+0000b698 <[^>]*> nop -+0000b69c <[^>]*> nop -+0000b6a0 <[^>]*> nop -+0000b6a4 <[^>]*> nop -+0000b6a8 <[^>]*> nop -+0000b6ac <[^>]*> nop -+0000b6b0 <[^>]*> nop -+0000b6b4 <[^>]*> nop -+0000b6b8 <[^>]*> nop -+0000b6bc <[^>]*> nop -+0000b6c0 <[^>]*> nop -+0000b6c4 <[^>]*> nop -+0000b6c8 <[^>]*> nop -+0000b6cc <[^>]*> nop -+0000b6d0 <[^>]*> nop -+0000b6d4 <[^>]*> nop -+0000b6d8 <[^>]*> nop -+0000b6dc <[^>]*> nop -+0000b6e0 <[^>]*> nop -+0000b6e4 <[^>]*> nop -+0000b6e8 <[^>]*> nop -+0000b6ec <[^>]*> nop -+0000b6f0 <[^>]*> nop -+0000b6f4 <[^>]*> nop -+0000b6f8 <[^>]*> nop -+0000b6fc <[^>]*> nop -+0000b700 <[^>]*> nop -+0000b704 <[^>]*> nop -+0000b708 <[^>]*> nop -+0000b70c <[^>]*> nop -+0000b710 <[^>]*> nop -+0000b714 <[^>]*> nop -+0000b718 <[^>]*> nop -+0000b71c <[^>]*> nop -+0000b720 <[^>]*> nop -+0000b724 <[^>]*> nop -+0000b728 <[^>]*> nop -+0000b72c <[^>]*> nop -+0000b730 <[^>]*> nop -+0000b734 <[^>]*> nop -+0000b738 <[^>]*> nop -+0000b73c <[^>]*> nop -+0000b740 <[^>]*> nop -+0000b744 <[^>]*> nop -+0000b748 <[^>]*> nop -+0000b74c <[^>]*> nop -+0000b750 <[^>]*> nop -+0000b754 <[^>]*> nop -+0000b758 <[^>]*> nop -+0000b75c <[^>]*> nop -+0000b760 <[^>]*> nop -+0000b764 <[^>]*> nop -+0000b768 <[^>]*> nop -+0000b76c <[^>]*> nop -+0000b770 <[^>]*> nop -+0000b774 <[^>]*> nop -+0000b778 <[^>]*> nop -+0000b77c <[^>]*> nop -+0000b780 <[^>]*> nop -+0000b784 <[^>]*> nop -+0000b788 <[^>]*> nop -+0000b78c <[^>]*> nop -+0000b790 <[^>]*> nop -+0000b794 <[^>]*> nop -+0000b798 <[^>]*> nop -+0000b79c <[^>]*> nop -+0000b7a0 <[^>]*> nop -+0000b7a4 <[^>]*> nop -+0000b7a8 <[^>]*> nop -+0000b7ac <[^>]*> nop -+0000b7b0 <[^>]*> nop -+0000b7b4 <[^>]*> nop -+0000b7b8 <[^>]*> nop -+0000b7bc <[^>]*> nop -+0000b7c0 <[^>]*> nop -+0000b7c4 <[^>]*> nop -+0000b7c8 <[^>]*> nop -+0000b7cc <[^>]*> nop -+0000b7d0 <[^>]*> nop -+0000b7d4 <[^>]*> nop -+0000b7d8 <[^>]*> nop -+0000b7dc <[^>]*> nop -+0000b7e0 <[^>]*> nop -+0000b7e4 <[^>]*> nop -+0000b7e8 <[^>]*> nop -+0000b7ec <[^>]*> nop -+0000b7f0 <[^>]*> nop -+0000b7f4 <[^>]*> nop -+0000b7f8 <[^>]*> nop -+0000b7fc <[^>]*> nop -+0000b800 <[^>]*> nop -+0000b804 <[^>]*> nop -+0000b808 <[^>]*> nop -+0000b80c <[^>]*> nop -+0000b810 <[^>]*> nop -+0000b814 <[^>]*> nop -+0000b818 <[^>]*> nop -+0000b81c <[^>]*> nop -+0000b820 <[^>]*> nop -+0000b824 <[^>]*> nop -+0000b828 <[^>]*> nop -+0000b82c <[^>]*> nop -+0000b830 <[^>]*> nop -+0000b834 <[^>]*> nop -+0000b838 <[^>]*> nop -+0000b83c <[^>]*> nop -+0000b840 <[^>]*> nop -+0000b844 <[^>]*> nop -+0000b848 <[^>]*> nop -+0000b84c <[^>]*> nop -+0000b850 <[^>]*> nop -+0000b854 <[^>]*> nop -+0000b858 <[^>]*> nop -+0000b85c <[^>]*> nop -+0000b860 <[^>]*> nop -+0000b864 <[^>]*> nop -+0000b868 <[^>]*> nop -+0000b86c <[^>]*> nop -+0000b870 <[^>]*> nop -+0000b874 <[^>]*> nop -+0000b878 <[^>]*> nop -+0000b87c <[^>]*> nop -+0000b880 <[^>]*> nop -+0000b884 <[^>]*> nop -+0000b888 <[^>]*> nop -+0000b88c <[^>]*> nop -+0000b890 <[^>]*> nop -+0000b894 <[^>]*> nop -+0000b898 <[^>]*> nop -+0000b89c <[^>]*> nop -+0000b8a0 <[^>]*> nop -+0000b8a4 <[^>]*> nop -+0000b8a8 <[^>]*> nop -+0000b8ac <[^>]*> nop -+0000b8b0 <[^>]*> nop -+0000b8b4 <[^>]*> nop -+0000b8b8 <[^>]*> nop -+0000b8bc <[^>]*> nop -+0000b8c0 <[^>]*> nop -+0000b8c4 <[^>]*> nop -+0000b8c8 <[^>]*> nop -+0000b8cc <[^>]*> nop -+0000b8d0 <[^>]*> nop -+0000b8d4 <[^>]*> nop -+0000b8d8 <[^>]*> nop -+0000b8dc <[^>]*> nop -+0000b8e0 <[^>]*> nop -+0000b8e4 <[^>]*> nop -+0000b8e8 <[^>]*> nop -+0000b8ec <[^>]*> nop -+0000b8f0 <[^>]*> nop -+0000b8f4 <[^>]*> nop -+0000b8f8 <[^>]*> nop -+0000b8fc <[^>]*> nop -+0000b900 <[^>]*> nop -+0000b904 <[^>]*> nop -+0000b908 <[^>]*> nop -+0000b90c <[^>]*> nop -+0000b910 <[^>]*> nop -+0000b914 <[^>]*> nop -+0000b918 <[^>]*> nop -+0000b91c <[^>]*> nop -+0000b920 <[^>]*> nop -+0000b924 <[^>]*> nop -+0000b928 <[^>]*> nop -+0000b92c <[^>]*> nop -+0000b930 <[^>]*> nop -+0000b934 <[^>]*> nop -+0000b938 <[^>]*> nop -+0000b93c <[^>]*> nop -+0000b940 <[^>]*> nop -+0000b944 <[^>]*> nop -+0000b948 <[^>]*> nop -+0000b94c <[^>]*> nop -+0000b950 <[^>]*> nop -+0000b954 <[^>]*> nop -+0000b958 <[^>]*> nop -+0000b95c <[^>]*> nop -+0000b960 <[^>]*> nop -+0000b964 <[^>]*> nop -+0000b968 <[^>]*> nop -+0000b96c <[^>]*> nop -+0000b970 <[^>]*> nop -+0000b974 <[^>]*> nop -+0000b978 <[^>]*> nop -+0000b97c <[^>]*> nop -+0000b980 <[^>]*> nop -+0000b984 <[^>]*> nop -+0000b988 <[^>]*> nop -+0000b98c <[^>]*> nop -+0000b990 <[^>]*> nop -+0000b994 <[^>]*> nop -+0000b998 <[^>]*> nop -+0000b99c <[^>]*> nop -+0000b9a0 <[^>]*> nop -+0000b9a4 <[^>]*> nop -+0000b9a8 <[^>]*> nop -+0000b9ac <[^>]*> nop -+0000b9b0 <[^>]*> nop -+0000b9b4 <[^>]*> nop -+0000b9b8 <[^>]*> nop -+0000b9bc <[^>]*> nop -+0000b9c0 <[^>]*> nop -+0000b9c4 <[^>]*> nop -+0000b9c8 <[^>]*> nop -+0000b9cc <[^>]*> nop -+0000b9d0 <[^>]*> nop -+0000b9d4 <[^>]*> nop -+0000b9d8 <[^>]*> nop -+0000b9dc <[^>]*> nop -+0000b9e0 <[^>]*> nop -+0000b9e4 <[^>]*> nop -+0000b9e8 <[^>]*> nop -+0000b9ec <[^>]*> nop -+0000b9f0 <[^>]*> nop -+0000b9f4 <[^>]*> nop -+0000b9f8 <[^>]*> nop -+0000b9fc <[^>]*> nop -+0000ba00 <[^>]*> nop -+0000ba04 <[^>]*> nop -+0000ba08 <[^>]*> nop -+0000ba0c <[^>]*> nop -+0000ba10 <[^>]*> nop -+0000ba14 <[^>]*> nop -+0000ba18 <[^>]*> nop -+0000ba1c <[^>]*> nop -+0000ba20 <[^>]*> nop -+0000ba24 <[^>]*> nop -+0000ba28 <[^>]*> nop -+0000ba2c <[^>]*> nop -+0000ba30 <[^>]*> nop -+0000ba34 <[^>]*> nop -+0000ba38 <[^>]*> nop -+0000ba3c <[^>]*> nop -+0000ba40 <[^>]*> nop -+0000ba44 <[^>]*> nop -+0000ba48 <[^>]*> nop -+0000ba4c <[^>]*> nop -+0000ba50 <[^>]*> nop -+0000ba54 <[^>]*> nop -+0000ba58 <[^>]*> nop -+0000ba5c <[^>]*> nop -+0000ba60 <[^>]*> nop -+0000ba64 <[^>]*> nop -+0000ba68 <[^>]*> nop -+0000ba6c <[^>]*> nop -+0000ba70 <[^>]*> nop -+0000ba74 <[^>]*> nop -+0000ba78 <[^>]*> nop -+0000ba7c <[^>]*> nop -+0000ba80 <[^>]*> nop -+0000ba84 <[^>]*> nop -+0000ba88 <[^>]*> nop -+0000ba8c <[^>]*> nop -+0000ba90 <[^>]*> nop -+0000ba94 <[^>]*> nop -+0000ba98 <[^>]*> nop -+0000ba9c <[^>]*> nop -+0000baa0 <[^>]*> nop -+0000baa4 <[^>]*> nop -+0000baa8 <[^>]*> nop -+0000baac <[^>]*> nop -+0000bab0 <[^>]*> nop -+0000bab4 <[^>]*> nop -+0000bab8 <[^>]*> nop -+0000babc <[^>]*> nop -+0000bac0 <[^>]*> nop -+0000bac4 <[^>]*> nop -+0000bac8 <[^>]*> nop -+0000bacc <[^>]*> nop -+0000bad0 <[^>]*> nop -+0000bad4 <[^>]*> nop -+0000bad8 <[^>]*> nop -+0000badc <[^>]*> nop -+0000bae0 <[^>]*> nop -+0000bae4 <[^>]*> nop -+0000bae8 <[^>]*> nop -+0000baec <[^>]*> nop -+0000baf0 <[^>]*> nop -+0000baf4 <[^>]*> nop -+0000baf8 <[^>]*> nop -+0000bafc <[^>]*> nop -+0000bb00 <[^>]*> nop -+0000bb04 <[^>]*> nop -+0000bb08 <[^>]*> nop -+0000bb0c <[^>]*> nop -+0000bb10 <[^>]*> nop -+0000bb14 <[^>]*> nop -+0000bb18 <[^>]*> nop -+0000bb1c <[^>]*> nop -+0000bb20 <[^>]*> nop -+0000bb24 <[^>]*> nop -+0000bb28 <[^>]*> nop -+0000bb2c <[^>]*> nop -+0000bb30 <[^>]*> nop -+0000bb34 <[^>]*> nop -+0000bb38 <[^>]*> nop -+0000bb3c <[^>]*> nop -+0000bb40 <[^>]*> nop -+0000bb44 <[^>]*> nop -+0000bb48 <[^>]*> nop -+0000bb4c <[^>]*> nop -+0000bb50 <[^>]*> nop -+0000bb54 <[^>]*> nop -+0000bb58 <[^>]*> nop -+0000bb5c <[^>]*> nop -+0000bb60 <[^>]*> nop -+0000bb64 <[^>]*> nop -+0000bb68 <[^>]*> nop -+0000bb6c <[^>]*> nop -+0000bb70 <[^>]*> nop -+0000bb74 <[^>]*> nop -+0000bb78 <[^>]*> nop -+0000bb7c <[^>]*> nop -+0000bb80 <[^>]*> nop -+0000bb84 <[^>]*> nop -+0000bb88 <[^>]*> nop -+0000bb8c <[^>]*> nop -+0000bb90 <[^>]*> nop -+0000bb94 <[^>]*> nop -+0000bb98 <[^>]*> nop -+0000bb9c <[^>]*> nop -+0000bba0 <[^>]*> nop -+0000bba4 <[^>]*> nop -+0000bba8 <[^>]*> nop -+0000bbac <[^>]*> nop -+0000bbb0 <[^>]*> nop -+0000bbb4 <[^>]*> nop -+0000bbb8 <[^>]*> nop -+0000bbbc <[^>]*> nop -+0000bbc0 <[^>]*> nop -+0000bbc4 <[^>]*> nop -+0000bbc8 <[^>]*> nop -+0000bbcc <[^>]*> nop -+0000bbd0 <[^>]*> nop -+0000bbd4 <[^>]*> nop -+0000bbd8 <[^>]*> nop -+0000bbdc <[^>]*> nop -+0000bbe0 <[^>]*> nop -+0000bbe4 <[^>]*> nop -+0000bbe8 <[^>]*> nop -+0000bbec <[^>]*> nop -+0000bbf0 <[^>]*> nop -+0000bbf4 <[^>]*> nop -+0000bbf8 <[^>]*> nop -+0000bbfc <[^>]*> nop -+0000bc00 <[^>]*> nop -+0000bc04 <[^>]*> nop -+0000bc08 <[^>]*> nop -+0000bc0c <[^>]*> nop -+0000bc10 <[^>]*> nop -+0000bc14 <[^>]*> nop -+0000bc18 <[^>]*> nop -+0000bc1c <[^>]*> nop -+0000bc20 <[^>]*> nop -+0000bc24 <[^>]*> nop -+0000bc28 <[^>]*> nop -+0000bc2c <[^>]*> nop -+0000bc30 <[^>]*> nop -+0000bc34 <[^>]*> nop -+0000bc38 <[^>]*> nop -+0000bc3c <[^>]*> nop -+0000bc40 <[^>]*> nop -+0000bc44 <[^>]*> nop -+0000bc48 <[^>]*> nop -+0000bc4c <[^>]*> nop -+0000bc50 <[^>]*> nop -+0000bc54 <[^>]*> nop -+0000bc58 <[^>]*> nop -+0000bc5c <[^>]*> nop -+0000bc60 <[^>]*> nop -+0000bc64 <[^>]*> nop -+0000bc68 <[^>]*> nop -+0000bc6c <[^>]*> nop -+0000bc70 <[^>]*> nop -+0000bc74 <[^>]*> nop -+0000bc78 <[^>]*> nop -+0000bc7c <[^>]*> nop -+0000bc80 <[^>]*> nop -+0000bc84 <[^>]*> nop -+0000bc88 <[^>]*> nop -+0000bc8c <[^>]*> nop -+0000bc90 <[^>]*> nop -+0000bc94 <[^>]*> nop -+0000bc98 <[^>]*> nop -+0000bc9c <[^>]*> nop -+0000bca0 <[^>]*> nop -+0000bca4 <[^>]*> nop -+0000bca8 <[^>]*> nop -+0000bcac <[^>]*> nop -+0000bcb0 <[^>]*> nop -+0000bcb4 <[^>]*> nop -+0000bcb8 <[^>]*> nop -+0000bcbc <[^>]*> nop -+0000bcc0 <[^>]*> nop -+0000bcc4 <[^>]*> nop -+0000bcc8 <[^>]*> nop -+0000bccc <[^>]*> nop -+0000bcd0 <[^>]*> nop -+0000bcd4 <[^>]*> nop -+0000bcd8 <[^>]*> nop -+0000bcdc <[^>]*> nop -+0000bce0 <[^>]*> nop -+0000bce4 <[^>]*> nop -+0000bce8 <[^>]*> nop -+0000bcec <[^>]*> nop -+0000bcf0 <[^>]*> nop -+0000bcf4 <[^>]*> nop -+0000bcf8 <[^>]*> nop -+0000bcfc <[^>]*> nop -+0000bd00 <[^>]*> nop -+0000bd04 <[^>]*> nop -+0000bd08 <[^>]*> nop -+0000bd0c <[^>]*> nop -+0000bd10 <[^>]*> nop -+0000bd14 <[^>]*> nop -+0000bd18 <[^>]*> nop -+0000bd1c <[^>]*> nop -+0000bd20 <[^>]*> nop -+0000bd24 <[^>]*> nop -+0000bd28 <[^>]*> nop -+0000bd2c <[^>]*> nop -+0000bd30 <[^>]*> nop -+0000bd34 <[^>]*> nop -+0000bd38 <[^>]*> nop -+0000bd3c <[^>]*> nop -+0000bd40 <[^>]*> nop -+0000bd44 <[^>]*> nop -+0000bd48 <[^>]*> nop -+0000bd4c <[^>]*> nop -+0000bd50 <[^>]*> nop -+0000bd54 <[^>]*> nop -+0000bd58 <[^>]*> nop -+0000bd5c <[^>]*> nop -+0000bd60 <[^>]*> nop -+0000bd64 <[^>]*> nop -+0000bd68 <[^>]*> nop -+0000bd6c <[^>]*> nop -+0000bd70 <[^>]*> nop -+0000bd74 <[^>]*> nop -+0000bd78 <[^>]*> nop -+0000bd7c <[^>]*> nop -+0000bd80 <[^>]*> nop -+0000bd84 <[^>]*> nop -+0000bd88 <[^>]*> nop -+0000bd8c <[^>]*> nop -+0000bd90 <[^>]*> nop -+0000bd94 <[^>]*> nop -+0000bd98 <[^>]*> nop -+0000bd9c <[^>]*> nop -+0000bda0 <[^>]*> nop -+0000bda4 <[^>]*> nop -+0000bda8 <[^>]*> nop -+0000bdac <[^>]*> nop -+0000bdb0 <[^>]*> nop -+0000bdb4 <[^>]*> nop -+0000bdb8 <[^>]*> nop -+0000bdbc <[^>]*> nop -+0000bdc0 <[^>]*> nop -+0000bdc4 <[^>]*> nop -+0000bdc8 <[^>]*> nop -+0000bdcc <[^>]*> nop -+0000bdd0 <[^>]*> nop -+0000bdd4 <[^>]*> nop -+0000bdd8 <[^>]*> nop -+0000bddc <[^>]*> nop -+0000bde0 <[^>]*> nop -+0000bde4 <[^>]*> nop -+0000bde8 <[^>]*> nop -+0000bdec <[^>]*> nop -+0000bdf0 <[^>]*> nop -+0000bdf4 <[^>]*> nop -+0000bdf8 <[^>]*> nop -+0000bdfc <[^>]*> nop -+0000be00 <[^>]*> nop -+0000be04 <[^>]*> nop -+0000be08 <[^>]*> nop -+0000be0c <[^>]*> nop -+0000be10 <[^>]*> nop -+0000be14 <[^>]*> nop -+0000be18 <[^>]*> nop -+0000be1c <[^>]*> nop -+0000be20 <[^>]*> nop -+0000be24 <[^>]*> nop -+0000be28 <[^>]*> nop -+0000be2c <[^>]*> nop -+0000be30 <[^>]*> nop -+0000be34 <[^>]*> nop -+0000be38 <[^>]*> nop -+0000be3c <[^>]*> nop -+0000be40 <[^>]*> nop -+0000be44 <[^>]*> nop -+0000be48 <[^>]*> nop -+0000be4c <[^>]*> nop -+0000be50 <[^>]*> nop -+0000be54 <[^>]*> nop -+0000be58 <[^>]*> nop -+0000be5c <[^>]*> nop -+0000be60 <[^>]*> nop -+0000be64 <[^>]*> nop -+0000be68 <[^>]*> nop -+0000be6c <[^>]*> nop -+0000be70 <[^>]*> nop -+0000be74 <[^>]*> nop -+0000be78 <[^>]*> nop -+0000be7c <[^>]*> nop -+0000be80 <[^>]*> nop -+0000be84 <[^>]*> nop -+0000be88 <[^>]*> nop -+0000be8c <[^>]*> nop -+0000be90 <[^>]*> nop -+0000be94 <[^>]*> nop -+0000be98 <[^>]*> nop -+0000be9c <[^>]*> nop -+0000bea0 <[^>]*> nop -+0000bea4 <[^>]*> nop -+0000bea8 <[^>]*> nop -+0000beac <[^>]*> nop -+0000beb0 <[^>]*> nop -+0000beb4 <[^>]*> nop -+0000beb8 <[^>]*> nop -+0000bebc <[^>]*> nop -+0000bec0 <[^>]*> nop -+0000bec4 <[^>]*> nop -+0000bec8 <[^>]*> nop -+0000becc <[^>]*> nop -+0000bed0 <[^>]*> nop -+0000bed4 <[^>]*> nop -+0000bed8 <[^>]*> nop -+0000bedc <[^>]*> nop -+0000bee0 <[^>]*> nop -+0000bee4 <[^>]*> nop -+0000bee8 <[^>]*> nop -+0000beec <[^>]*> nop -+0000bef0 <[^>]*> nop -+0000bef4 <[^>]*> nop -+0000bef8 <[^>]*> nop -+0000befc <[^>]*> nop -+0000bf00 <[^>]*> nop -+0000bf04 <[^>]*> nop -+0000bf08 <[^>]*> nop -+0000bf0c <[^>]*> nop -+0000bf10 <[^>]*> nop -+0000bf14 <[^>]*> nop -+0000bf18 <[^>]*> nop -+0000bf1c <[^>]*> nop -+0000bf20 <[^>]*> nop -+0000bf24 <[^>]*> nop -+0000bf28 <[^>]*> nop -+0000bf2c <[^>]*> nop -+0000bf30 <[^>]*> nop -+0000bf34 <[^>]*> nop -+0000bf38 <[^>]*> nop -+0000bf3c <[^>]*> nop -+0000bf40 <[^>]*> nop -+0000bf44 <[^>]*> nop -+0000bf48 <[^>]*> nop -+0000bf4c <[^>]*> nop -+0000bf50 <[^>]*> nop -+0000bf54 <[^>]*> nop -+0000bf58 <[^>]*> nop -+0000bf5c <[^>]*> nop -+0000bf60 <[^>]*> nop -+0000bf64 <[^>]*> nop -+0000bf68 <[^>]*> nop -+0000bf6c <[^>]*> nop -+0000bf70 <[^>]*> nop -+0000bf74 <[^>]*> nop -+0000bf78 <[^>]*> nop -+0000bf7c <[^>]*> nop -+0000bf80 <[^>]*> nop -+0000bf84 <[^>]*> nop -+0000bf88 <[^>]*> nop -+0000bf8c <[^>]*> nop -+0000bf90 <[^>]*> nop -+0000bf94 <[^>]*> nop -+0000bf98 <[^>]*> nop -+0000bf9c <[^>]*> nop -+0000bfa0 <[^>]*> nop -+0000bfa4 <[^>]*> nop -+0000bfa8 <[^>]*> nop -+0000bfac <[^>]*> nop -+0000bfb0 <[^>]*> nop -+0000bfb4 <[^>]*> nop -+0000bfb8 <[^>]*> nop -+0000bfbc <[^>]*> nop -+0000bfc0 <[^>]*> nop -+0000bfc4 <[^>]*> nop -+0000bfc8 <[^>]*> nop -+0000bfcc <[^>]*> nop -+0000bfd0 <[^>]*> nop -+0000bfd4 <[^>]*> nop -+0000bfd8 <[^>]*> nop -+0000bfdc <[^>]*> nop -+0000bfe0 <[^>]*> nop -+0000bfe4 <[^>]*> nop -+0000bfe8 <[^>]*> nop -+0000bfec <[^>]*> nop -+0000bff0 <[^>]*> nop -+0000bff4 <[^>]*> nop -+0000bff8 <[^>]*> nop -+0000bffc <[^>]*> nop -+0000c000 <[^>]*> nop -+0000c004 <[^>]*> nop -+0000c008 <[^>]*> nop -+0000c00c <[^>]*> nop -+0000c010 <[^>]*> nop -+0000c014 <[^>]*> nop -+0000c018 <[^>]*> nop -+0000c01c <[^>]*> nop -+0000c020 <[^>]*> nop -+0000c024 <[^>]*> nop -+0000c028 <[^>]*> nop -+0000c02c <[^>]*> nop -+0000c030 <[^>]*> nop -+0000c034 <[^>]*> nop -+0000c038 <[^>]*> nop -+0000c03c <[^>]*> nop -+0000c040 <[^>]*> nop -+0000c044 <[^>]*> nop -+0000c048 <[^>]*> nop -+0000c04c <[^>]*> nop -+0000c050 <[^>]*> nop -+0000c054 <[^>]*> nop -+0000c058 <[^>]*> nop -+0000c05c <[^>]*> nop -+0000c060 <[^>]*> nop -+0000c064 <[^>]*> nop -+0000c068 <[^>]*> nop -+0000c06c <[^>]*> nop -+0000c070 <[^>]*> nop -+0000c074 <[^>]*> nop -+0000c078 <[^>]*> nop -+0000c07c <[^>]*> nop -+0000c080 <[^>]*> nop -+0000c084 <[^>]*> nop -+0000c088 <[^>]*> nop -+0000c08c <[^>]*> nop -+0000c090 <[^>]*> nop -+0000c094 <[^>]*> nop -+0000c098 <[^>]*> nop -+0000c09c <[^>]*> nop -+0000c0a0 <[^>]*> nop -+0000c0a4 <[^>]*> nop -+0000c0a8 <[^>]*> nop -+0000c0ac <[^>]*> nop -+0000c0b0 <[^>]*> nop -+0000c0b4 <[^>]*> nop -+0000c0b8 <[^>]*> nop -+0000c0bc <[^>]*> nop -+0000c0c0 <[^>]*> nop -+0000c0c4 <[^>]*> nop -+0000c0c8 <[^>]*> nop -+0000c0cc <[^>]*> nop -+0000c0d0 <[^>]*> nop -+0000c0d4 <[^>]*> nop -+0000c0d8 <[^>]*> nop -+0000c0dc <[^>]*> nop -+0000c0e0 <[^>]*> nop -+0000c0e4 <[^>]*> nop -+0000c0e8 <[^>]*> nop -+0000c0ec <[^>]*> nop -+0000c0f0 <[^>]*> nop -+0000c0f4 <[^>]*> nop -+0000c0f8 <[^>]*> nop -+0000c0fc <[^>]*> nop -+0000c100 <[^>]*> nop -+0000c104 <[^>]*> nop -+0000c108 <[^>]*> nop -+0000c10c <[^>]*> nop -+0000c110 <[^>]*> nop -+0000c114 <[^>]*> nop -+0000c118 <[^>]*> nop -+0000c11c <[^>]*> nop -+0000c120 <[^>]*> nop -+0000c124 <[^>]*> nop -+0000c128 <[^>]*> nop -+0000c12c <[^>]*> nop -+0000c130 <[^>]*> nop -+0000c134 <[^>]*> nop -+0000c138 <[^>]*> nop -+0000c13c <[^>]*> nop -+0000c140 <[^>]*> nop -+0000c144 <[^>]*> nop -+0000c148 <[^>]*> nop -+0000c14c <[^>]*> nop -+0000c150 <[^>]*> nop -+0000c154 <[^>]*> nop -+0000c158 <[^>]*> nop -+0000c15c <[^>]*> nop -+0000c160 <[^>]*> nop -+0000c164 <[^>]*> nop -+0000c168 <[^>]*> nop -+0000c16c <[^>]*> nop -+0000c170 <[^>]*> nop -+0000c174 <[^>]*> nop -+0000c178 <[^>]*> nop -+0000c17c <[^>]*> nop -+0000c180 <[^>]*> nop -+0000c184 <[^>]*> nop -+0000c188 <[^>]*> nop -+0000c18c <[^>]*> nop -+0000c190 <[^>]*> nop -+0000c194 <[^>]*> nop -+0000c198 <[^>]*> nop -+0000c19c <[^>]*> nop -+0000c1a0 <[^>]*> nop -+0000c1a4 <[^>]*> nop -+0000c1a8 <[^>]*> nop -+0000c1ac <[^>]*> nop -+0000c1b0 <[^>]*> nop -+0000c1b4 <[^>]*> nop -+0000c1b8 <[^>]*> nop -+0000c1bc <[^>]*> nop -+0000c1c0 <[^>]*> nop -+0000c1c4 <[^>]*> nop -+0000c1c8 <[^>]*> nop -+0000c1cc <[^>]*> nop -+0000c1d0 <[^>]*> nop -+0000c1d4 <[^>]*> nop -+0000c1d8 <[^>]*> nop -+0000c1dc <[^>]*> nop -+0000c1e0 <[^>]*> nop -+0000c1e4 <[^>]*> nop -+0000c1e8 <[^>]*> nop -+0000c1ec <[^>]*> nop -+0000c1f0 <[^>]*> nop -+0000c1f4 <[^>]*> nop -+0000c1f8 <[^>]*> nop -+0000c1fc <[^>]*> nop -+0000c200 <[^>]*> nop -+0000c204 <[^>]*> nop -+0000c208 <[^>]*> nop -+0000c20c <[^>]*> nop -+0000c210 <[^>]*> nop -+0000c214 <[^>]*> nop -+0000c218 <[^>]*> nop -+0000c21c <[^>]*> nop -+0000c220 <[^>]*> nop -+0000c224 <[^>]*> nop -+0000c228 <[^>]*> nop -+0000c22c <[^>]*> nop -+0000c230 <[^>]*> nop -+0000c234 <[^>]*> nop -+0000c238 <[^>]*> nop -+0000c23c <[^>]*> nop -+0000c240 <[^>]*> nop -+0000c244 <[^>]*> nop -+0000c248 <[^>]*> nop -+0000c24c <[^>]*> nop -+0000c250 <[^>]*> nop -+0000c254 <[^>]*> nop -+0000c258 <[^>]*> nop -+0000c25c <[^>]*> nop -+0000c260 <[^>]*> nop -+0000c264 <[^>]*> nop -+0000c268 <[^>]*> nop -+0000c26c <[^>]*> nop -+0000c270 <[^>]*> nop -+0000c274 <[^>]*> nop -+0000c278 <[^>]*> nop -+0000c27c <[^>]*> nop -+0000c280 <[^>]*> nop -+0000c284 <[^>]*> nop -+0000c288 <[^>]*> nop -+0000c28c <[^>]*> nop -+0000c290 <[^>]*> nop -+0000c294 <[^>]*> nop -+0000c298 <[^>]*> nop -+0000c29c <[^>]*> nop -+0000c2a0 <[^>]*> nop -+0000c2a4 <[^>]*> nop -+0000c2a8 <[^>]*> nop -+0000c2ac <[^>]*> nop -+0000c2b0 <[^>]*> nop -+0000c2b4 <[^>]*> nop -+0000c2b8 <[^>]*> nop -+0000c2bc <[^>]*> nop -+0000c2c0 <[^>]*> nop -+0000c2c4 <[^>]*> nop -+0000c2c8 <[^>]*> nop -+0000c2cc <[^>]*> nop -+0000c2d0 <[^>]*> nop -+0000c2d4 <[^>]*> nop -+0000c2d8 <[^>]*> nop -+0000c2dc <[^>]*> nop -+0000c2e0 <[^>]*> nop -+0000c2e4 <[^>]*> nop -+0000c2e8 <[^>]*> nop -+0000c2ec <[^>]*> nop -+0000c2f0 <[^>]*> nop -+0000c2f4 <[^>]*> nop -+0000c2f8 <[^>]*> nop -+0000c2fc <[^>]*> nop -+0000c300 <[^>]*> nop -+0000c304 <[^>]*> nop -+0000c308 <[^>]*> nop -+0000c30c <[^>]*> nop -+0000c310 <[^>]*> nop -+0000c314 <[^>]*> nop -+0000c318 <[^>]*> nop -+0000c31c <[^>]*> nop -+0000c320 <[^>]*> nop -+0000c324 <[^>]*> nop -+0000c328 <[^>]*> nop -+0000c32c <[^>]*> nop -+0000c330 <[^>]*> nop -+0000c334 <[^>]*> nop -+0000c338 <[^>]*> nop -+0000c33c <[^>]*> nop -+0000c340 <[^>]*> nop -+0000c344 <[^>]*> nop -+0000c348 <[^>]*> nop -+0000c34c <[^>]*> nop -+0000c350 <[^>]*> nop -+0000c354 <[^>]*> nop -+0000c358 <[^>]*> nop -+0000c35c <[^>]*> nop -+0000c360 <[^>]*> nop -+0000c364 <[^>]*> nop -+0000c368 <[^>]*> nop -+0000c36c <[^>]*> nop -+0000c370 <[^>]*> nop -+0000c374 <[^>]*> nop -+0000c378 <[^>]*> nop -+0000c37c <[^>]*> nop -+0000c380 <[^>]*> nop -+0000c384 <[^>]*> nop -+0000c388 <[^>]*> nop -+0000c38c <[^>]*> nop -+0000c390 <[^>]*> nop -+0000c394 <[^>]*> nop -+0000c398 <[^>]*> nop -+0000c39c <[^>]*> nop -+0000c3a0 <[^>]*> nop -+0000c3a4 <[^>]*> nop -+0000c3a8 <[^>]*> nop -+0000c3ac <[^>]*> nop -+0000c3b0 <[^>]*> nop -+0000c3b4 <[^>]*> nop -+0000c3b8 <[^>]*> nop -+0000c3bc <[^>]*> nop -+0000c3c0 <[^>]*> nop -+0000c3c4 <[^>]*> nop -+0000c3c8 <[^>]*> nop -+0000c3cc <[^>]*> nop -+0000c3d0 <[^>]*> nop -+0000c3d4 <[^>]*> nop -+0000c3d8 <[^>]*> nop -+0000c3dc <[^>]*> nop -+0000c3e0 <[^>]*> nop -+0000c3e4 <[^>]*> nop -+0000c3e8 <[^>]*> nop -+0000c3ec <[^>]*> nop -+0000c3f0 <[^>]*> nop -+0000c3f4 <[^>]*> nop -+0000c3f8 <[^>]*> nop -+0000c3fc <[^>]*> nop -+0000c400 <[^>]*> nop -+0000c404 <[^>]*> nop -+0000c408 <[^>]*> nop -+0000c40c <[^>]*> nop -+0000c410 <[^>]*> nop -+0000c414 <[^>]*> nop -+0000c418 <[^>]*> nop -+0000c41c <[^>]*> nop -+0000c420 <[^>]*> nop -+0000c424 <[^>]*> nop -+0000c428 <[^>]*> nop -+0000c42c <[^>]*> nop -+0000c430 <[^>]*> nop -+0000c434 <[^>]*> nop -+0000c438 <[^>]*> nop -+0000c43c <[^>]*> nop -+0000c440 <[^>]*> nop -+0000c444 <[^>]*> nop -+0000c448 <[^>]*> nop -+0000c44c <[^>]*> nop -+0000c450 <[^>]*> nop -+0000c454 <[^>]*> nop -+0000c458 <[^>]*> nop -+0000c45c <[^>]*> nop -+0000c460 <[^>]*> nop -+0000c464 <[^>]*> nop -+0000c468 <[^>]*> nop -+0000c46c <[^>]*> nop -+0000c470 <[^>]*> nop -+0000c474 <[^>]*> nop -+0000c478 <[^>]*> nop -+0000c47c <[^>]*> nop -+0000c480 <[^>]*> nop -+0000c484 <[^>]*> nop -+0000c488 <[^>]*> nop -+0000c48c <[^>]*> nop -+0000c490 <[^>]*> nop -+0000c494 <[^>]*> nop -+0000c498 <[^>]*> nop -+0000c49c <[^>]*> nop -+0000c4a0 <[^>]*> nop -+0000c4a4 <[^>]*> nop -+0000c4a8 <[^>]*> nop -+0000c4ac <[^>]*> nop -+0000c4b0 <[^>]*> nop -+0000c4b4 <[^>]*> nop -+0000c4b8 <[^>]*> nop -+0000c4bc <[^>]*> nop -+0000c4c0 <[^>]*> nop -+0000c4c4 <[^>]*> nop -+0000c4c8 <[^>]*> nop -+0000c4cc <[^>]*> nop -+0000c4d0 <[^>]*> nop -+0000c4d4 <[^>]*> nop -+0000c4d8 <[^>]*> nop -+0000c4dc <[^>]*> nop -+0000c4e0 <[^>]*> nop -+0000c4e4 <[^>]*> nop -+0000c4e8 <[^>]*> nop -+0000c4ec <[^>]*> nop -+0000c4f0 <[^>]*> nop -+0000c4f4 <[^>]*> nop -+0000c4f8 <[^>]*> nop -+0000c4fc <[^>]*> nop -+0000c500 <[^>]*> nop -+0000c504 <[^>]*> nop -+0000c508 <[^>]*> nop -+0000c50c <[^>]*> nop -+0000c510 <[^>]*> nop -+0000c514 <[^>]*> nop -+0000c518 <[^>]*> nop -+0000c51c <[^>]*> nop -+0000c520 <[^>]*> nop -+0000c524 <[^>]*> nop -+0000c528 <[^>]*> nop -+0000c52c <[^>]*> nop -+0000c530 <[^>]*> nop -+0000c534 <[^>]*> nop -+0000c538 <[^>]*> nop -+0000c53c <[^>]*> nop -+0000c540 <[^>]*> nop -+0000c544 <[^>]*> nop -+0000c548 <[^>]*> nop -+0000c54c <[^>]*> nop -+0000c550 <[^>]*> nop -+0000c554 <[^>]*> nop -+0000c558 <[^>]*> nop -+0000c55c <[^>]*> nop -+0000c560 <[^>]*> nop -+0000c564 <[^>]*> nop -+0000c568 <[^>]*> nop -+0000c56c <[^>]*> nop -+0000c570 <[^>]*> nop -+0000c574 <[^>]*> nop -+0000c578 <[^>]*> nop -+0000c57c <[^>]*> nop -+0000c580 <[^>]*> nop -+0000c584 <[^>]*> nop -+0000c588 <[^>]*> nop -+0000c58c <[^>]*> nop -+0000c590 <[^>]*> nop -+0000c594 <[^>]*> nop -+0000c598 <[^>]*> nop -+0000c59c <[^>]*> nop -+0000c5a0 <[^>]*> nop -+0000c5a4 <[^>]*> nop -+0000c5a8 <[^>]*> nop -+0000c5ac <[^>]*> nop -+0000c5b0 <[^>]*> nop -+0000c5b4 <[^>]*> nop -+0000c5b8 <[^>]*> nop -+0000c5bc <[^>]*> nop -+0000c5c0 <[^>]*> nop -+0000c5c4 <[^>]*> nop -+0000c5c8 <[^>]*> nop -+0000c5cc <[^>]*> nop -+0000c5d0 <[^>]*> nop -+0000c5d4 <[^>]*> nop -+0000c5d8 <[^>]*> nop -+0000c5dc <[^>]*> nop -+0000c5e0 <[^>]*> nop -+0000c5e4 <[^>]*> nop -+0000c5e8 <[^>]*> nop -+0000c5ec <[^>]*> nop -+0000c5f0 <[^>]*> nop -+0000c5f4 <[^>]*> nop -+0000c5f8 <[^>]*> nop -+0000c5fc <[^>]*> nop -+0000c600 <[^>]*> nop -+0000c604 <[^>]*> nop -+0000c608 <[^>]*> nop -+0000c60c <[^>]*> nop -+0000c610 <[^>]*> nop -+0000c614 <[^>]*> nop -+0000c618 <[^>]*> nop -+0000c61c <[^>]*> nop -+0000c620 <[^>]*> nop -+0000c624 <[^>]*> nop -+0000c628 <[^>]*> nop -+0000c62c <[^>]*> nop -+0000c630 <[^>]*> nop -+0000c634 <[^>]*> nop -+0000c638 <[^>]*> nop -+0000c63c <[^>]*> nop -+0000c640 <[^>]*> nop -+0000c644 <[^>]*> nop -+0000c648 <[^>]*> nop -+0000c64c <[^>]*> nop -+0000c650 <[^>]*> nop -+0000c654 <[^>]*> nop -+0000c658 <[^>]*> nop -+0000c65c <[^>]*> nop -+0000c660 <[^>]*> nop -+0000c664 <[^>]*> nop -+0000c668 <[^>]*> nop -+0000c66c <[^>]*> nop -+0000c670 <[^>]*> nop -+0000c674 <[^>]*> nop -+0000c678 <[^>]*> nop -+0000c67c <[^>]*> nop -+0000c680 <[^>]*> nop -+0000c684 <[^>]*> nop -+0000c688 <[^>]*> nop -+0000c68c <[^>]*> nop -+0000c690 <[^>]*> nop -+0000c694 <[^>]*> nop -+0000c698 <[^>]*> nop -+0000c69c <[^>]*> nop -+0000c6a0 <[^>]*> nop -+0000c6a4 <[^>]*> nop -+0000c6a8 <[^>]*> nop -+0000c6ac <[^>]*> nop -+0000c6b0 <[^>]*> nop -+0000c6b4 <[^>]*> nop -+0000c6b8 <[^>]*> nop -+0000c6bc <[^>]*> nop -+0000c6c0 <[^>]*> nop -+0000c6c4 <[^>]*> nop -+0000c6c8 <[^>]*> nop -+0000c6cc <[^>]*> nop -+0000c6d0 <[^>]*> nop -+0000c6d4 <[^>]*> nop -+0000c6d8 <[^>]*> nop -+0000c6dc <[^>]*> nop -+0000c6e0 <[^>]*> nop -+0000c6e4 <[^>]*> nop -+0000c6e8 <[^>]*> nop -+0000c6ec <[^>]*> nop -+0000c6f0 <[^>]*> nop -+0000c6f4 <[^>]*> nop -+0000c6f8 <[^>]*> nop -+0000c6fc <[^>]*> nop -+0000c700 <[^>]*> nop -+0000c704 <[^>]*> nop -+0000c708 <[^>]*> nop -+0000c70c <[^>]*> nop -+0000c710 <[^>]*> nop -+0000c714 <[^>]*> nop -+0000c718 <[^>]*> nop -+0000c71c <[^>]*> nop -+0000c720 <[^>]*> nop -+0000c724 <[^>]*> nop -+0000c728 <[^>]*> nop -+0000c72c <[^>]*> nop -+0000c730 <[^>]*> nop -+0000c734 <[^>]*> nop -+0000c738 <[^>]*> nop -+0000c73c <[^>]*> nop -+0000c740 <[^>]*> nop -+0000c744 <[^>]*> nop -+0000c748 <[^>]*> nop -+0000c74c <[^>]*> nop -+0000c750 <[^>]*> nop -+0000c754 <[^>]*> nop -+0000c758 <[^>]*> nop -+0000c75c <[^>]*> nop -+0000c760 <[^>]*> nop -+0000c764 <[^>]*> nop -+0000c768 <[^>]*> nop -+0000c76c <[^>]*> nop -+0000c770 <[^>]*> nop -+0000c774 <[^>]*> nop -+0000c778 <[^>]*> nop -+0000c77c <[^>]*> nop -+0000c780 <[^>]*> nop -+0000c784 <[^>]*> nop -+0000c788 <[^>]*> nop -+0000c78c <[^>]*> nop -+0000c790 <[^>]*> nop -+0000c794 <[^>]*> nop -+0000c798 <[^>]*> nop -+0000c79c <[^>]*> nop -+0000c7a0 <[^>]*> nop -+0000c7a4 <[^>]*> nop -+0000c7a8 <[^>]*> nop -+0000c7ac <[^>]*> nop -+0000c7b0 <[^>]*> nop -+0000c7b4 <[^>]*> nop -+0000c7b8 <[^>]*> nop -+0000c7bc <[^>]*> nop -+0000c7c0 <[^>]*> nop -+0000c7c4 <[^>]*> nop -+0000c7c8 <[^>]*> nop -+0000c7cc <[^>]*> nop -+0000c7d0 <[^>]*> nop -+0000c7d4 <[^>]*> nop -+0000c7d8 <[^>]*> nop -+0000c7dc <[^>]*> nop -+0000c7e0 <[^>]*> nop -+0000c7e4 <[^>]*> nop -+0000c7e8 <[^>]*> nop -+0000c7ec <[^>]*> nop -+0000c7f0 <[^>]*> nop -+0000c7f4 <[^>]*> nop -+0000c7f8 <[^>]*> nop -+0000c7fc <[^>]*> nop -+0000c800 <[^>]*> nop -+0000c804 <[^>]*> nop -+0000c808 <[^>]*> nop -+0000c80c <[^>]*> nop -+0000c810 <[^>]*> nop -+0000c814 <[^>]*> nop -+0000c818 <[^>]*> nop -+0000c81c <[^>]*> nop -+0000c820 <[^>]*> nop -+0000c824 <[^>]*> nop -+0000c828 <[^>]*> nop -+0000c82c <[^>]*> nop -+0000c830 <[^>]*> nop -+0000c834 <[^>]*> nop -+0000c838 <[^>]*> nop -+0000c83c <[^>]*> nop -+0000c840 <[^>]*> nop -+0000c844 <[^>]*> nop -+0000c848 <[^>]*> nop -+0000c84c <[^>]*> nop -+0000c850 <[^>]*> nop -+0000c854 <[^>]*> nop -+0000c858 <[^>]*> nop -+0000c85c <[^>]*> nop -+0000c860 <[^>]*> nop -+0000c864 <[^>]*> nop -+0000c868 <[^>]*> nop -+0000c86c <[^>]*> nop -+0000c870 <[^>]*> nop -+0000c874 <[^>]*> nop -+0000c878 <[^>]*> nop -+0000c87c <[^>]*> nop -+0000c880 <[^>]*> nop -+0000c884 <[^>]*> nop -+0000c888 <[^>]*> nop -+0000c88c <[^>]*> nop -+0000c890 <[^>]*> nop -+0000c894 <[^>]*> nop -+0000c898 <[^>]*> nop -+0000c89c <[^>]*> nop -+0000c8a0 <[^>]*> nop -+0000c8a4 <[^>]*> nop -+0000c8a8 <[^>]*> nop -+0000c8ac <[^>]*> nop -+0000c8b0 <[^>]*> nop -+0000c8b4 <[^>]*> nop -+0000c8b8 <[^>]*> nop -+0000c8bc <[^>]*> nop -+0000c8c0 <[^>]*> nop -+0000c8c4 <[^>]*> nop -+0000c8c8 <[^>]*> nop -+0000c8cc <[^>]*> nop -+0000c8d0 <[^>]*> nop -+0000c8d4 <[^>]*> nop -+0000c8d8 <[^>]*> nop -+0000c8dc <[^>]*> nop -+0000c8e0 <[^>]*> nop -+0000c8e4 <[^>]*> nop -+0000c8e8 <[^>]*> nop -+0000c8ec <[^>]*> nop -+0000c8f0 <[^>]*> nop -+0000c8f4 <[^>]*> nop -+0000c8f8 <[^>]*> nop -+0000c8fc <[^>]*> nop -+0000c900 <[^>]*> nop -+0000c904 <[^>]*> nop -+0000c908 <[^>]*> nop -+0000c90c <[^>]*> nop -+0000c910 <[^>]*> nop -+0000c914 <[^>]*> nop -+0000c918 <[^>]*> nop -+0000c91c <[^>]*> nop -+0000c920 <[^>]*> nop -+0000c924 <[^>]*> nop -+0000c928 <[^>]*> nop -+0000c92c <[^>]*> nop -+0000c930 <[^>]*> nop -+0000c934 <[^>]*> nop -+0000c938 <[^>]*> nop -+0000c93c <[^>]*> nop -+0000c940 <[^>]*> nop -+0000c944 <[^>]*> nop -+0000c948 <[^>]*> nop -+0000c94c <[^>]*> nop -+0000c950 <[^>]*> nop -+0000c954 <[^>]*> nop -+0000c958 <[^>]*> nop -+0000c95c <[^>]*> nop -+0000c960 <[^>]*> nop -+0000c964 <[^>]*> nop -+0000c968 <[^>]*> nop -+0000c96c <[^>]*> nop -+0000c970 <[^>]*> nop -+0000c974 <[^>]*> nop -+0000c978 <[^>]*> nop -+0000c97c <[^>]*> nop -+0000c980 <[^>]*> nop -+0000c984 <[^>]*> nop -+0000c988 <[^>]*> nop -+0000c98c <[^>]*> nop -+0000c990 <[^>]*> nop -+0000c994 <[^>]*> nop -+0000c998 <[^>]*> nop -+0000c99c <[^>]*> nop -+0000c9a0 <[^>]*> nop -+0000c9a4 <[^>]*> nop -+0000c9a8 <[^>]*> nop -+0000c9ac <[^>]*> nop -+0000c9b0 <[^>]*> nop -+0000c9b4 <[^>]*> nop -+0000c9b8 <[^>]*> nop -+0000c9bc <[^>]*> nop -+0000c9c0 <[^>]*> nop -+0000c9c4 <[^>]*> nop -+0000c9c8 <[^>]*> nop -+0000c9cc <[^>]*> nop -+0000c9d0 <[^>]*> nop -+0000c9d4 <[^>]*> nop -+0000c9d8 <[^>]*> nop -+0000c9dc <[^>]*> nop -+0000c9e0 <[^>]*> nop -+0000c9e4 <[^>]*> nop -+0000c9e8 <[^>]*> nop -+0000c9ec <[^>]*> nop -+0000c9f0 <[^>]*> nop -+0000c9f4 <[^>]*> nop -+0000c9f8 <[^>]*> nop -+0000c9fc <[^>]*> nop -+0000ca00 <[^>]*> nop -+0000ca04 <[^>]*> nop -+0000ca08 <[^>]*> nop -+0000ca0c <[^>]*> nop -+0000ca10 <[^>]*> nop -+0000ca14 <[^>]*> nop -+0000ca18 <[^>]*> nop -+0000ca1c <[^>]*> nop -+0000ca20 <[^>]*> nop -+0000ca24 <[^>]*> nop -+0000ca28 <[^>]*> nop -+0000ca2c <[^>]*> nop -+0000ca30 <[^>]*> nop -+0000ca34 <[^>]*> nop -+0000ca38 <[^>]*> nop -+0000ca3c <[^>]*> nop -+0000ca40 <[^>]*> nop -+0000ca44 <[^>]*> nop -+0000ca48 <[^>]*> nop -+0000ca4c <[^>]*> nop -+0000ca50 <[^>]*> nop -+0000ca54 <[^>]*> nop -+0000ca58 <[^>]*> nop -+0000ca5c <[^>]*> nop -+0000ca60 <[^>]*> nop -+0000ca64 <[^>]*> nop -+0000ca68 <[^>]*> nop -+0000ca6c <[^>]*> nop -+0000ca70 <[^>]*> nop -+0000ca74 <[^>]*> nop -+0000ca78 <[^>]*> nop -+0000ca7c <[^>]*> nop -+0000ca80 <[^>]*> nop -+0000ca84 <[^>]*> nop -+0000ca88 <[^>]*> nop -+0000ca8c <[^>]*> nop -+0000ca90 <[^>]*> nop -+0000ca94 <[^>]*> nop -+0000ca98 <[^>]*> nop -+0000ca9c <[^>]*> nop -+0000caa0 <[^>]*> nop -+0000caa4 <[^>]*> nop -+0000caa8 <[^>]*> nop -+0000caac <[^>]*> nop -+0000cab0 <[^>]*> nop -+0000cab4 <[^>]*> nop -+0000cab8 <[^>]*> nop -+0000cabc <[^>]*> nop -+0000cac0 <[^>]*> nop -+0000cac4 <[^>]*> nop -+0000cac8 <[^>]*> nop -+0000cacc <[^>]*> nop -+0000cad0 <[^>]*> nop -+0000cad4 <[^>]*> nop -+0000cad8 <[^>]*> nop -+0000cadc <[^>]*> nop -+0000cae0 <[^>]*> nop -+0000cae4 <[^>]*> nop -+0000cae8 <[^>]*> nop -+0000caec <[^>]*> nop -+0000caf0 <[^>]*> nop -+0000caf4 <[^>]*> nop -+0000caf8 <[^>]*> nop -+0000cafc <[^>]*> nop -+0000cb00 <[^>]*> nop -+0000cb04 <[^>]*> nop -+0000cb08 <[^>]*> nop -+0000cb0c <[^>]*> nop -+0000cb10 <[^>]*> nop -+0000cb14 <[^>]*> nop -+0000cb18 <[^>]*> nop -+0000cb1c <[^>]*> nop -+0000cb20 <[^>]*> nop -+0000cb24 <[^>]*> nop -+0000cb28 <[^>]*> nop -+0000cb2c <[^>]*> nop -+0000cb30 <[^>]*> nop -+0000cb34 <[^>]*> nop -+0000cb38 <[^>]*> nop -+0000cb3c <[^>]*> nop -+0000cb40 <[^>]*> nop -+0000cb44 <[^>]*> nop -+0000cb48 <[^>]*> nop -+0000cb4c <[^>]*> nop -+0000cb50 <[^>]*> nop -+0000cb54 <[^>]*> nop -+0000cb58 <[^>]*> nop -+0000cb5c <[^>]*> nop -+0000cb60 <[^>]*> nop -+0000cb64 <[^>]*> nop -+0000cb68 <[^>]*> nop -+0000cb6c <[^>]*> nop -+0000cb70 <[^>]*> nop -+0000cb74 <[^>]*> nop -+0000cb78 <[^>]*> nop -+0000cb7c <[^>]*> nop -+0000cb80 <[^>]*> nop -+0000cb84 <[^>]*> nop -+0000cb88 <[^>]*> nop -+0000cb8c <[^>]*> nop -+0000cb90 <[^>]*> nop -+0000cb94 <[^>]*> nop -+0000cb98 <[^>]*> nop -+0000cb9c <[^>]*> nop -+0000cba0 <[^>]*> nop -+0000cba4 <[^>]*> nop -+0000cba8 <[^>]*> nop -+0000cbac <[^>]*> nop -+0000cbb0 <[^>]*> nop -+0000cbb4 <[^>]*> nop -+0000cbb8 <[^>]*> nop -+0000cbbc <[^>]*> nop -+0000cbc0 <[^>]*> nop -+0000cbc4 <[^>]*> nop -+0000cbc8 <[^>]*> nop -+0000cbcc <[^>]*> nop -+0000cbd0 <[^>]*> nop -+0000cbd4 <[^>]*> nop -+0000cbd8 <[^>]*> nop -+0000cbdc <[^>]*> nop -+0000cbe0 <[^>]*> nop -+0000cbe4 <[^>]*> nop -+0000cbe8 <[^>]*> nop -+0000cbec <[^>]*> nop -+0000cbf0 <[^>]*> nop -+0000cbf4 <[^>]*> nop -+0000cbf8 <[^>]*> nop -+0000cbfc <[^>]*> nop -+0000cc00 <[^>]*> nop -+0000cc04 <[^>]*> nop -+0000cc08 <[^>]*> nop -+0000cc0c <[^>]*> nop -+0000cc10 <[^>]*> nop -+0000cc14 <[^>]*> nop -+0000cc18 <[^>]*> nop -+0000cc1c <[^>]*> nop -+0000cc20 <[^>]*> nop -+0000cc24 <[^>]*> nop -+0000cc28 <[^>]*> nop -+0000cc2c <[^>]*> nop -+0000cc30 <[^>]*> nop -+0000cc34 <[^>]*> nop -+0000cc38 <[^>]*> nop -+0000cc3c <[^>]*> nop -+0000cc40 <[^>]*> nop -+0000cc44 <[^>]*> nop -+0000cc48 <[^>]*> nop -+0000cc4c <[^>]*> nop -+0000cc50 <[^>]*> nop -+0000cc54 <[^>]*> nop -+0000cc58 <[^>]*> nop -+0000cc5c <[^>]*> nop -+0000cc60 <[^>]*> nop -+0000cc64 <[^>]*> nop -+0000cc68 <[^>]*> nop -+0000cc6c <[^>]*> nop -+0000cc70 <[^>]*> nop -+0000cc74 <[^>]*> nop -+0000cc78 <[^>]*> nop -+0000cc7c <[^>]*> nop -+0000cc80 <[^>]*> nop -+0000cc84 <[^>]*> nop -+0000cc88 <[^>]*> nop -+0000cc8c <[^>]*> nop -+0000cc90 <[^>]*> nop -+0000cc94 <[^>]*> nop -+0000cc98 <[^>]*> nop -+0000cc9c <[^>]*> nop -+0000cca0 <[^>]*> nop -+0000cca4 <[^>]*> nop -+0000cca8 <[^>]*> nop -+0000ccac <[^>]*> nop -+0000ccb0 <[^>]*> nop -+0000ccb4 <[^>]*> nop -+0000ccb8 <[^>]*> nop -+0000ccbc <[^>]*> nop -+0000ccc0 <[^>]*> nop -+0000ccc4 <[^>]*> nop -+0000ccc8 <[^>]*> nop -+0000cccc <[^>]*> nop -+0000ccd0 <[^>]*> nop -+0000ccd4 <[^>]*> nop -+0000ccd8 <[^>]*> nop -+0000ccdc <[^>]*> nop -+0000cce0 <[^>]*> nop -+0000cce4 <[^>]*> nop -+0000cce8 <[^>]*> nop -+0000ccec <[^>]*> nop -+0000ccf0 <[^>]*> nop -+0000ccf4 <[^>]*> nop -+0000ccf8 <[^>]*> nop -+0000ccfc <[^>]*> nop -+0000cd00 <[^>]*> nop -+0000cd04 <[^>]*> nop -+0000cd08 <[^>]*> nop -+0000cd0c <[^>]*> nop -+0000cd10 <[^>]*> nop -+0000cd14 <[^>]*> nop -+0000cd18 <[^>]*> nop -+0000cd1c <[^>]*> nop -+0000cd20 <[^>]*> nop -+0000cd24 <[^>]*> nop -+0000cd28 <[^>]*> nop -+0000cd2c <[^>]*> nop -+0000cd30 <[^>]*> nop -+0000cd34 <[^>]*> nop -+0000cd38 <[^>]*> nop -+0000cd3c <[^>]*> nop -+0000cd40 <[^>]*> nop -+0000cd44 <[^>]*> nop -+0000cd48 <[^>]*> nop -+0000cd4c <[^>]*> nop -+0000cd50 <[^>]*> nop -+0000cd54 <[^>]*> nop -+0000cd58 <[^>]*> nop -+0000cd5c <[^>]*> nop -+0000cd60 <[^>]*> nop -+0000cd64 <[^>]*> nop -+0000cd68 <[^>]*> nop -+0000cd6c <[^>]*> nop -+0000cd70 <[^>]*> nop -+0000cd74 <[^>]*> nop -+0000cd78 <[^>]*> nop -+0000cd7c <[^>]*> nop -+0000cd80 <[^>]*> nop -+0000cd84 <[^>]*> nop -+0000cd88 <[^>]*> nop -+0000cd8c <[^>]*> nop -+0000cd90 <[^>]*> nop -+0000cd94 <[^>]*> nop -+0000cd98 <[^>]*> nop -+0000cd9c <[^>]*> nop -+0000cda0 <[^>]*> nop -+0000cda4 <[^>]*> nop -+0000cda8 <[^>]*> nop -+0000cdac <[^>]*> nop -+0000cdb0 <[^>]*> nop -+0000cdb4 <[^>]*> nop -+0000cdb8 <[^>]*> nop -+0000cdbc <[^>]*> nop -+0000cdc0 <[^>]*> nop -+0000cdc4 <[^>]*> nop -+0000cdc8 <[^>]*> nop -+0000cdcc <[^>]*> nop -+0000cdd0 <[^>]*> nop -+0000cdd4 <[^>]*> nop -+0000cdd8 <[^>]*> nop -+0000cddc <[^>]*> nop -+0000cde0 <[^>]*> nop -+0000cde4 <[^>]*> nop -+0000cde8 <[^>]*> nop -+0000cdec <[^>]*> nop -+0000cdf0 <[^>]*> nop -+0000cdf4 <[^>]*> nop -+0000cdf8 <[^>]*> nop -+0000cdfc <[^>]*> nop -+0000ce00 <[^>]*> nop -+0000ce04 <[^>]*> nop -+0000ce08 <[^>]*> nop -+0000ce0c <[^>]*> nop -+0000ce10 <[^>]*> nop -+0000ce14 <[^>]*> nop -+0000ce18 <[^>]*> nop -+0000ce1c <[^>]*> nop -+0000ce20 <[^>]*> nop -+0000ce24 <[^>]*> nop -+0000ce28 <[^>]*> nop -+0000ce2c <[^>]*> nop -+0000ce30 <[^>]*> nop -+0000ce34 <[^>]*> nop -+0000ce38 <[^>]*> nop -+0000ce3c <[^>]*> nop -+0000ce40 <[^>]*> nop -+0000ce44 <[^>]*> nop -+0000ce48 <[^>]*> nop -+0000ce4c <[^>]*> nop -+0000ce50 <[^>]*> nop -+0000ce54 <[^>]*> nop -+0000ce58 <[^>]*> nop -+0000ce5c <[^>]*> nop -+0000ce60 <[^>]*> nop -+0000ce64 <[^>]*> nop -+0000ce68 <[^>]*> nop -+0000ce6c <[^>]*> nop -+0000ce70 <[^>]*> nop -+0000ce74 <[^>]*> nop -+0000ce78 <[^>]*> nop -+0000ce7c <[^>]*> nop -+0000ce80 <[^>]*> nop -+0000ce84 <[^>]*> nop -+0000ce88 <[^>]*> nop -+0000ce8c <[^>]*> nop -+0000ce90 <[^>]*> nop -+0000ce94 <[^>]*> nop -+0000ce98 <[^>]*> nop -+0000ce9c <[^>]*> nop -+0000cea0 <[^>]*> nop -+0000cea4 <[^>]*> nop -+0000cea8 <[^>]*> nop -+0000ceac <[^>]*> nop -+0000ceb0 <[^>]*> nop -+0000ceb4 <[^>]*> nop -+0000ceb8 <[^>]*> nop -+0000cebc <[^>]*> nop -+0000cec0 <[^>]*> nop -+0000cec4 <[^>]*> nop -+0000cec8 <[^>]*> nop -+0000cecc <[^>]*> nop -+0000ced0 <[^>]*> nop -+0000ced4 <[^>]*> nop -+0000ced8 <[^>]*> nop -+0000cedc <[^>]*> nop -+0000cee0 <[^>]*> nop -+0000cee4 <[^>]*> nop -+0000cee8 <[^>]*> nop -+0000ceec <[^>]*> nop -+0000cef0 <[^>]*> nop -+0000cef4 <[^>]*> nop -+0000cef8 <[^>]*> nop -+0000cefc <[^>]*> nop -+0000cf00 <[^>]*> nop -+0000cf04 <[^>]*> nop -+0000cf08 <[^>]*> nop -+0000cf0c <[^>]*> nop -+0000cf10 <[^>]*> nop -+0000cf14 <[^>]*> nop -+0000cf18 <[^>]*> nop -+0000cf1c <[^>]*> nop -+0000cf20 <[^>]*> nop -+0000cf24 <[^>]*> nop -+0000cf28 <[^>]*> nop -+0000cf2c <[^>]*> nop -+0000cf30 <[^>]*> nop -+0000cf34 <[^>]*> nop -+0000cf38 <[^>]*> nop -+0000cf3c <[^>]*> nop -+0000cf40 <[^>]*> nop -+0000cf44 <[^>]*> nop -+0000cf48 <[^>]*> nop -+0000cf4c <[^>]*> nop -+0000cf50 <[^>]*> nop -+0000cf54 <[^>]*> nop -+0000cf58 <[^>]*> nop -+0000cf5c <[^>]*> nop -+0000cf60 <[^>]*> nop -+0000cf64 <[^>]*> nop -+0000cf68 <[^>]*> nop -+0000cf6c <[^>]*> nop -+0000cf70 <[^>]*> nop -+0000cf74 <[^>]*> nop -+0000cf78 <[^>]*> nop -+0000cf7c <[^>]*> nop -+0000cf80 <[^>]*> nop -+0000cf84 <[^>]*> nop -+0000cf88 <[^>]*> nop -+0000cf8c <[^>]*> nop -+0000cf90 <[^>]*> nop -+0000cf94 <[^>]*> nop -+0000cf98 <[^>]*> nop -+0000cf9c <[^>]*> nop -+0000cfa0 <[^>]*> nop -+0000cfa4 <[^>]*> nop -+0000cfa8 <[^>]*> nop -+0000cfac <[^>]*> nop -+0000cfb0 <[^>]*> nop -+0000cfb4 <[^>]*> nop -+0000cfb8 <[^>]*> nop -+0000cfbc <[^>]*> nop -+0000cfc0 <[^>]*> nop -+0000cfc4 <[^>]*> nop -+0000cfc8 <[^>]*> nop -+0000cfcc <[^>]*> nop -+0000cfd0 <[^>]*> nop -+0000cfd4 <[^>]*> nop -+0000cfd8 <[^>]*> nop -+0000cfdc <[^>]*> nop -+0000cfe0 <[^>]*> nop -+0000cfe4 <[^>]*> nop -+0000cfe8 <[^>]*> nop -+0000cfec <[^>]*> nop -+0000cff0 <[^>]*> nop -+0000cff4 <[^>]*> nop -+0000cff8 <[^>]*> nop -+0000cffc <[^>]*> nop -+0000d000 <[^>]*> nop -+0000d004 <[^>]*> nop -+0000d008 <[^>]*> nop -+0000d00c <[^>]*> nop -+0000d010 <[^>]*> nop -+0000d014 <[^>]*> nop -+0000d018 <[^>]*> nop -+0000d01c <[^>]*> nop -+0000d020 <[^>]*> nop -+0000d024 <[^>]*> nop -+0000d028 <[^>]*> nop -+0000d02c <[^>]*> nop -+0000d030 <[^>]*> nop -+0000d034 <[^>]*> nop -+0000d038 <[^>]*> nop -+0000d03c <[^>]*> nop -+0000d040 <[^>]*> nop -+0000d044 <[^>]*> nop -+0000d048 <[^>]*> nop -+0000d04c <[^>]*> nop -+0000d050 <[^>]*> nop -+0000d054 <[^>]*> nop -+0000d058 <[^>]*> nop -+0000d05c <[^>]*> nop -+0000d060 <[^>]*> nop -+0000d064 <[^>]*> nop -+0000d068 <[^>]*> nop -+0000d06c <[^>]*> nop -+0000d070 <[^>]*> nop -+0000d074 <[^>]*> nop -+0000d078 <[^>]*> nop -+0000d07c <[^>]*> nop -+0000d080 <[^>]*> nop -+0000d084 <[^>]*> nop -+0000d088 <[^>]*> nop -+0000d08c <[^>]*> nop -+0000d090 <[^>]*> nop -+0000d094 <[^>]*> nop -+0000d098 <[^>]*> nop -+0000d09c <[^>]*> nop -+0000d0a0 <[^>]*> nop -+0000d0a4 <[^>]*> nop -+0000d0a8 <[^>]*> nop -+0000d0ac <[^>]*> nop -+0000d0b0 <[^>]*> nop -+0000d0b4 <[^>]*> nop -+0000d0b8 <[^>]*> nop -+0000d0bc <[^>]*> nop -+0000d0c0 <[^>]*> nop -+0000d0c4 <[^>]*> nop -+0000d0c8 <[^>]*> nop -+0000d0cc <[^>]*> nop -+0000d0d0 <[^>]*> nop -+0000d0d4 <[^>]*> nop -+0000d0d8 <[^>]*> nop -+0000d0dc <[^>]*> nop -+0000d0e0 <[^>]*> nop -+0000d0e4 <[^>]*> nop -+0000d0e8 <[^>]*> nop -+0000d0ec <[^>]*> nop -+0000d0f0 <[^>]*> nop -+0000d0f4 <[^>]*> nop -+0000d0f8 <[^>]*> nop -+0000d0fc <[^>]*> nop -+0000d100 <[^>]*> nop -+0000d104 <[^>]*> nop -+0000d108 <[^>]*> nop -+0000d10c <[^>]*> nop -+0000d110 <[^>]*> nop -+0000d114 <[^>]*> nop -+0000d118 <[^>]*> nop -+0000d11c <[^>]*> nop -+0000d120 <[^>]*> nop -+0000d124 <[^>]*> nop -+0000d128 <[^>]*> nop -+0000d12c <[^>]*> nop -+0000d130 <[^>]*> nop -+0000d134 <[^>]*> nop -+0000d138 <[^>]*> nop -+0000d13c <[^>]*> nop -+0000d140 <[^>]*> nop -+0000d144 <[^>]*> nop -+0000d148 <[^>]*> nop -+0000d14c <[^>]*> nop -+0000d150 <[^>]*> nop -+0000d154 <[^>]*> nop -+0000d158 <[^>]*> nop -+0000d15c <[^>]*> nop -+0000d160 <[^>]*> nop -+0000d164 <[^>]*> nop -+0000d168 <[^>]*> nop -+0000d16c <[^>]*> nop -+0000d170 <[^>]*> nop -+0000d174 <[^>]*> nop -+0000d178 <[^>]*> nop -+0000d17c <[^>]*> nop -+0000d180 <[^>]*> nop -+0000d184 <[^>]*> nop -+0000d188 <[^>]*> nop -+0000d18c <[^>]*> nop -+0000d190 <[^>]*> nop -+0000d194 <[^>]*> nop -+0000d198 <[^>]*> nop -+0000d19c <[^>]*> nop -+0000d1a0 <[^>]*> nop -+0000d1a4 <[^>]*> nop -+0000d1a8 <[^>]*> nop -+0000d1ac <[^>]*> nop -+0000d1b0 <[^>]*> nop -+0000d1b4 <[^>]*> nop -+0000d1b8 <[^>]*> nop -+0000d1bc <[^>]*> nop -+0000d1c0 <[^>]*> nop -+0000d1c4 <[^>]*> nop -+0000d1c8 <[^>]*> nop -+0000d1cc <[^>]*> nop -+0000d1d0 <[^>]*> nop -+0000d1d4 <[^>]*> nop -+0000d1d8 <[^>]*> nop -+0000d1dc <[^>]*> nop -+0000d1e0 <[^>]*> nop -+0000d1e4 <[^>]*> nop -+0000d1e8 <[^>]*> nop -+0000d1ec <[^>]*> nop -+0000d1f0 <[^>]*> nop -+0000d1f4 <[^>]*> nop -+0000d1f8 <[^>]*> nop -+0000d1fc <[^>]*> nop -+0000d200 <[^>]*> nop -+0000d204 <[^>]*> nop -+0000d208 <[^>]*> nop -+0000d20c <[^>]*> nop -+0000d210 <[^>]*> nop -+0000d214 <[^>]*> nop -+0000d218 <[^>]*> nop -+0000d21c <[^>]*> nop -+0000d220 <[^>]*> nop -+0000d224 <[^>]*> nop -+0000d228 <[^>]*> nop -+0000d22c <[^>]*> nop -+0000d230 <[^>]*> nop -+0000d234 <[^>]*> nop -+0000d238 <[^>]*> nop -+0000d23c <[^>]*> nop -+0000d240 <[^>]*> nop -+0000d244 <[^>]*> nop -+0000d248 <[^>]*> nop -+0000d24c <[^>]*> nop -+0000d250 <[^>]*> nop -+0000d254 <[^>]*> nop -+0000d258 <[^>]*> nop -+0000d25c <[^>]*> nop -+0000d260 <[^>]*> nop -+0000d264 <[^>]*> nop -+0000d268 <[^>]*> nop -+0000d26c <[^>]*> nop -+0000d270 <[^>]*> nop -+0000d274 <[^>]*> nop -+0000d278 <[^>]*> nop -+0000d27c <[^>]*> nop -+0000d280 <[^>]*> nop -+0000d284 <[^>]*> nop -+0000d288 <[^>]*> nop -+0000d28c <[^>]*> nop -+0000d290 <[^>]*> nop -+0000d294 <[^>]*> nop -+0000d298 <[^>]*> nop -+0000d29c <[^>]*> nop -+0000d2a0 <[^>]*> nop -+0000d2a4 <[^>]*> nop -+0000d2a8 <[^>]*> nop -+0000d2ac <[^>]*> nop -+0000d2b0 <[^>]*> nop -+0000d2b4 <[^>]*> nop -+0000d2b8 <[^>]*> nop -+0000d2bc <[^>]*> nop -+0000d2c0 <[^>]*> nop -+0000d2c4 <[^>]*> nop -+0000d2c8 <[^>]*> nop -+0000d2cc <[^>]*> nop -+0000d2d0 <[^>]*> nop -+0000d2d4 <[^>]*> nop -+0000d2d8 <[^>]*> nop -+0000d2dc <[^>]*> nop -+0000d2e0 <[^>]*> nop -+0000d2e4 <[^>]*> nop -+0000d2e8 <[^>]*> nop -+0000d2ec <[^>]*> nop -+0000d2f0 <[^>]*> nop -+0000d2f4 <[^>]*> nop -+0000d2f8 <[^>]*> nop -+0000d2fc <[^>]*> nop -+0000d300 <[^>]*> nop -+0000d304 <[^>]*> nop -+0000d308 <[^>]*> nop -+0000d30c <[^>]*> nop -+0000d310 <[^>]*> nop -+0000d314 <[^>]*> nop -+0000d318 <[^>]*> nop -+0000d31c <[^>]*> nop -+0000d320 <[^>]*> nop -+0000d324 <[^>]*> nop -+0000d328 <[^>]*> nop -+0000d32c <[^>]*> nop -+0000d330 <[^>]*> nop -+0000d334 <[^>]*> nop -+0000d338 <[^>]*> nop -+0000d33c <[^>]*> nop -+0000d340 <[^>]*> nop -+0000d344 <[^>]*> nop -+0000d348 <[^>]*> nop -+0000d34c <[^>]*> nop -+0000d350 <[^>]*> nop -+0000d354 <[^>]*> nop -+0000d358 <[^>]*> nop -+0000d35c <[^>]*> nop -+0000d360 <[^>]*> nop -+0000d364 <[^>]*> nop -+0000d368 <[^>]*> nop -+0000d36c <[^>]*> nop -+0000d370 <[^>]*> nop -+0000d374 <[^>]*> nop -+0000d378 <[^>]*> nop -+0000d37c <[^>]*> nop -+0000d380 <[^>]*> nop -+0000d384 <[^>]*> nop -+0000d388 <[^>]*> nop -+0000d38c <[^>]*> nop -+0000d390 <[^>]*> nop -+0000d394 <[^>]*> nop -+0000d398 <[^>]*> nop -+0000d39c <[^>]*> nop -+0000d3a0 <[^>]*> nop -+0000d3a4 <[^>]*> nop -+0000d3a8 <[^>]*> nop -+0000d3ac <[^>]*> nop -+0000d3b0 <[^>]*> nop -+0000d3b4 <[^>]*> nop -+0000d3b8 <[^>]*> nop -+0000d3bc <[^>]*> nop -+0000d3c0 <[^>]*> nop -+0000d3c4 <[^>]*> nop -+0000d3c8 <[^>]*> nop -+0000d3cc <[^>]*> nop -+0000d3d0 <[^>]*> nop -+0000d3d4 <[^>]*> nop -+0000d3d8 <[^>]*> nop -+0000d3dc <[^>]*> nop -+0000d3e0 <[^>]*> nop -+0000d3e4 <[^>]*> nop -+0000d3e8 <[^>]*> nop -+0000d3ec <[^>]*> nop -+0000d3f0 <[^>]*> nop -+0000d3f4 <[^>]*> nop -+0000d3f8 <[^>]*> nop -+0000d3fc <[^>]*> nop -+0000d400 <[^>]*> nop -+0000d404 <[^>]*> nop -+0000d408 <[^>]*> nop -+0000d40c <[^>]*> nop -+0000d410 <[^>]*> nop -+0000d414 <[^>]*> nop -+0000d418 <[^>]*> nop -+0000d41c <[^>]*> nop -+0000d420 <[^>]*> nop -+0000d424 <[^>]*> nop -+0000d428 <[^>]*> nop -+0000d42c <[^>]*> nop -+0000d430 <[^>]*> nop -+0000d434 <[^>]*> nop -+0000d438 <[^>]*> nop -+0000d43c <[^>]*> nop -+0000d440 <[^>]*> nop -+0000d444 <[^>]*> nop -+0000d448 <[^>]*> nop -+0000d44c <[^>]*> nop -+0000d450 <[^>]*> nop -+0000d454 <[^>]*> nop -+0000d458 <[^>]*> nop -+0000d45c <[^>]*> nop -+0000d460 <[^>]*> nop -+0000d464 <[^>]*> nop -+0000d468 <[^>]*> nop -+0000d46c <[^>]*> nop -+0000d470 <[^>]*> nop -+0000d474 <[^>]*> nop -+0000d478 <[^>]*> nop -+0000d47c <[^>]*> nop -+0000d480 <[^>]*> nop -+0000d484 <[^>]*> nop -+0000d488 <[^>]*> nop -+0000d48c <[^>]*> nop -+0000d490 <[^>]*> nop -+0000d494 <[^>]*> nop -+0000d498 <[^>]*> nop -+0000d49c <[^>]*> nop -+0000d4a0 <[^>]*> nop -+0000d4a4 <[^>]*> nop -+0000d4a8 <[^>]*> nop -+0000d4ac <[^>]*> nop -+0000d4b0 <[^>]*> nop -+0000d4b4 <[^>]*> nop -+0000d4b8 <[^>]*> nop -+0000d4bc <[^>]*> nop -+0000d4c0 <[^>]*> nop -+0000d4c4 <[^>]*> nop -+0000d4c8 <[^>]*> nop -+0000d4cc <[^>]*> nop -+0000d4d0 <[^>]*> nop -+0000d4d4 <[^>]*> nop -+0000d4d8 <[^>]*> nop -+0000d4dc <[^>]*> nop -+0000d4e0 <[^>]*> nop -+0000d4e4 <[^>]*> nop -+0000d4e8 <[^>]*> nop -+0000d4ec <[^>]*> nop -+0000d4f0 <[^>]*> nop -+0000d4f4 <[^>]*> nop -+0000d4f8 <[^>]*> nop -+0000d4fc <[^>]*> nop -+0000d500 <[^>]*> nop -+0000d504 <[^>]*> nop -+0000d508 <[^>]*> nop -+0000d50c <[^>]*> nop -+0000d510 <[^>]*> nop -+0000d514 <[^>]*> nop -+0000d518 <[^>]*> nop -+0000d51c <[^>]*> nop -+0000d520 <[^>]*> nop -+0000d524 <[^>]*> nop -+0000d528 <[^>]*> nop -+0000d52c <[^>]*> nop -+0000d530 <[^>]*> nop -+0000d534 <[^>]*> nop -+0000d538 <[^>]*> nop -+0000d53c <[^>]*> nop -+0000d540 <[^>]*> nop -+0000d544 <[^>]*> nop -+0000d548 <[^>]*> nop -+0000d54c <[^>]*> nop -+0000d550 <[^>]*> nop -+0000d554 <[^>]*> nop -+0000d558 <[^>]*> nop -+0000d55c <[^>]*> nop -+0000d560 <[^>]*> nop -+0000d564 <[^>]*> nop -+0000d568 <[^>]*> nop -+0000d56c <[^>]*> nop -+0000d570 <[^>]*> nop -+0000d574 <[^>]*> nop -+0000d578 <[^>]*> nop -+0000d57c <[^>]*> nop -+0000d580 <[^>]*> nop -+0000d584 <[^>]*> nop -+0000d588 <[^>]*> nop -+0000d58c <[^>]*> nop -+0000d590 <[^>]*> nop -+0000d594 <[^>]*> nop -+0000d598 <[^>]*> nop -+0000d59c <[^>]*> nop -+0000d5a0 <[^>]*> nop -+0000d5a4 <[^>]*> nop -+0000d5a8 <[^>]*> nop -+0000d5ac <[^>]*> nop -+0000d5b0 <[^>]*> nop -+0000d5b4 <[^>]*> nop -+0000d5b8 <[^>]*> nop -+0000d5bc <[^>]*> nop -+0000d5c0 <[^>]*> nop -+0000d5c4 <[^>]*> nop -+0000d5c8 <[^>]*> nop -+0000d5cc <[^>]*> nop -+0000d5d0 <[^>]*> nop -+0000d5d4 <[^>]*> nop -+0000d5d8 <[^>]*> nop -+0000d5dc <[^>]*> nop -+0000d5e0 <[^>]*> nop -+0000d5e4 <[^>]*> nop -+0000d5e8 <[^>]*> nop -+0000d5ec <[^>]*> nop -+0000d5f0 <[^>]*> nop -+0000d5f4 <[^>]*> nop -+0000d5f8 <[^>]*> nop -+0000d5fc <[^>]*> nop -+0000d600 <[^>]*> nop -+0000d604 <[^>]*> nop -+0000d608 <[^>]*> nop -+0000d60c <[^>]*> nop -+0000d610 <[^>]*> nop -+0000d614 <[^>]*> nop -+0000d618 <[^>]*> nop -+0000d61c <[^>]*> nop -+0000d620 <[^>]*> nop -+0000d624 <[^>]*> nop -+0000d628 <[^>]*> nop -+0000d62c <[^>]*> nop -+0000d630 <[^>]*> nop -+0000d634 <[^>]*> nop -+0000d638 <[^>]*> nop -+0000d63c <[^>]*> nop -+0000d640 <[^>]*> nop -+0000d644 <[^>]*> nop -+0000d648 <[^>]*> nop -+0000d64c <[^>]*> nop -+0000d650 <[^>]*> nop -+0000d654 <[^>]*> nop -+0000d658 <[^>]*> nop -+0000d65c <[^>]*> nop -+0000d660 <[^>]*> nop -+0000d664 <[^>]*> nop -+0000d668 <[^>]*> nop -+0000d66c <[^>]*> nop -+0000d670 <[^>]*> nop -+0000d674 <[^>]*> nop -+0000d678 <[^>]*> nop -+0000d67c <[^>]*> nop -+0000d680 <[^>]*> nop -+0000d684 <[^>]*> nop -+0000d688 <[^>]*> nop -+0000d68c <[^>]*> nop -+0000d690 <[^>]*> nop -+0000d694 <[^>]*> nop -+0000d698 <[^>]*> nop -+0000d69c <[^>]*> nop -+0000d6a0 <[^>]*> nop -+0000d6a4 <[^>]*> nop -+0000d6a8 <[^>]*> nop -+0000d6ac <[^>]*> nop -+0000d6b0 <[^>]*> nop -+0000d6b4 <[^>]*> nop -+0000d6b8 <[^>]*> nop -+0000d6bc <[^>]*> nop -+0000d6c0 <[^>]*> nop -+0000d6c4 <[^>]*> nop -+0000d6c8 <[^>]*> nop -+0000d6cc <[^>]*> nop -+0000d6d0 <[^>]*> nop -+0000d6d4 <[^>]*> nop -+0000d6d8 <[^>]*> nop -+0000d6dc <[^>]*> nop -+0000d6e0 <[^>]*> nop -+0000d6e4 <[^>]*> nop -+0000d6e8 <[^>]*> nop -+0000d6ec <[^>]*> nop -+0000d6f0 <[^>]*> nop -+0000d6f4 <[^>]*> nop -+0000d6f8 <[^>]*> nop -+0000d6fc <[^>]*> nop -+0000d700 <[^>]*> nop -+0000d704 <[^>]*> nop -+0000d708 <[^>]*> nop -+0000d70c <[^>]*> nop -+0000d710 <[^>]*> nop -+0000d714 <[^>]*> nop -+0000d718 <[^>]*> nop -+0000d71c <[^>]*> nop -+0000d720 <[^>]*> nop -+0000d724 <[^>]*> nop -+0000d728 <[^>]*> nop -+0000d72c <[^>]*> nop -+0000d730 <[^>]*> nop -+0000d734 <[^>]*> nop -+0000d738 <[^>]*> nop -+0000d73c <[^>]*> nop -+0000d740 <[^>]*> nop -+0000d744 <[^>]*> nop -+0000d748 <[^>]*> nop -+0000d74c <[^>]*> nop -+0000d750 <[^>]*> nop -+0000d754 <[^>]*> nop -+0000d758 <[^>]*> nop -+0000d75c <[^>]*> nop -+0000d760 <[^>]*> nop -+0000d764 <[^>]*> nop -+0000d768 <[^>]*> nop -+0000d76c <[^>]*> nop -+0000d770 <[^>]*> nop -+0000d774 <[^>]*> nop -+0000d778 <[^>]*> nop -+0000d77c <[^>]*> nop -+0000d780 <[^>]*> nop -+0000d784 <[^>]*> nop -+0000d788 <[^>]*> nop -+0000d78c <[^>]*> nop -+0000d790 <[^>]*> nop -+0000d794 <[^>]*> nop -+0000d798 <[^>]*> nop -+0000d79c <[^>]*> nop -+0000d7a0 <[^>]*> nop -+0000d7a4 <[^>]*> nop -+0000d7a8 <[^>]*> nop -+0000d7ac <[^>]*> nop -+0000d7b0 <[^>]*> nop -+0000d7b4 <[^>]*> nop -+0000d7b8 <[^>]*> nop -+0000d7bc <[^>]*> nop -+0000d7c0 <[^>]*> nop -+0000d7c4 <[^>]*> nop -+0000d7c8 <[^>]*> nop -+0000d7cc <[^>]*> nop -+0000d7d0 <[^>]*> nop -+0000d7d4 <[^>]*> nop -+0000d7d8 <[^>]*> nop -+0000d7dc <[^>]*> nop -+0000d7e0 <[^>]*> nop -+0000d7e4 <[^>]*> nop -+0000d7e8 <[^>]*> nop -+0000d7ec <[^>]*> nop -+0000d7f0 <[^>]*> nop -+0000d7f4 <[^>]*> nop -+0000d7f8 <[^>]*> nop -+0000d7fc <[^>]*> nop -+0000d800 <[^>]*> nop -+0000d804 <[^>]*> nop -+0000d808 <[^>]*> nop -+0000d80c <[^>]*> nop -+0000d810 <[^>]*> nop -+0000d814 <[^>]*> nop -+0000d818 <[^>]*> nop -+0000d81c <[^>]*> nop -+0000d820 <[^>]*> nop -+0000d824 <[^>]*> nop -+0000d828 <[^>]*> nop -+0000d82c <[^>]*> nop -+0000d830 <[^>]*> nop -+0000d834 <[^>]*> nop -+0000d838 <[^>]*> nop -+0000d83c <[^>]*> nop -+0000d840 <[^>]*> nop -+0000d844 <[^>]*> nop -+0000d848 <[^>]*> nop -+0000d84c <[^>]*> nop -+0000d850 <[^>]*> nop -+0000d854 <[^>]*> nop -+0000d858 <[^>]*> nop -+0000d85c <[^>]*> nop -+0000d860 <[^>]*> nop -+0000d864 <[^>]*> nop -+0000d868 <[^>]*> nop -+0000d86c <[^>]*> nop -+0000d870 <[^>]*> nop -+0000d874 <[^>]*> nop -+0000d878 <[^>]*> nop -+0000d87c <[^>]*> nop -+0000d880 <[^>]*> nop -+0000d884 <[^>]*> nop -+0000d888 <[^>]*> nop -+0000d88c <[^>]*> nop -+0000d890 <[^>]*> nop -+0000d894 <[^>]*> nop -+0000d898 <[^>]*> nop -+0000d89c <[^>]*> nop -+0000d8a0 <[^>]*> nop -+0000d8a4 <[^>]*> nop -+0000d8a8 <[^>]*> nop -+0000d8ac <[^>]*> nop -+0000d8b0 <[^>]*> nop -+0000d8b4 <[^>]*> nop -+0000d8b8 <[^>]*> nop -+0000d8bc <[^>]*> nop -+0000d8c0 <[^>]*> nop -+0000d8c4 <[^>]*> nop -+0000d8c8 <[^>]*> nop -+0000d8cc <[^>]*> nop -+0000d8d0 <[^>]*> nop -+0000d8d4 <[^>]*> nop -+0000d8d8 <[^>]*> nop -+0000d8dc <[^>]*> nop -+0000d8e0 <[^>]*> nop -+0000d8e4 <[^>]*> nop -+0000d8e8 <[^>]*> nop -+0000d8ec <[^>]*> nop -+0000d8f0 <[^>]*> nop -+0000d8f4 <[^>]*> nop -+0000d8f8 <[^>]*> nop -+0000d8fc <[^>]*> nop -+0000d900 <[^>]*> nop -+0000d904 <[^>]*> nop -+0000d908 <[^>]*> nop -+0000d90c <[^>]*> nop -+0000d910 <[^>]*> nop -+0000d914 <[^>]*> nop -+0000d918 <[^>]*> nop -+0000d91c <[^>]*> nop -+0000d920 <[^>]*> nop -+0000d924 <[^>]*> nop -+0000d928 <[^>]*> nop -+0000d92c <[^>]*> nop -+0000d930 <[^>]*> nop -+0000d934 <[^>]*> nop -+0000d938 <[^>]*> nop -+0000d93c <[^>]*> nop -+0000d940 <[^>]*> nop -+0000d944 <[^>]*> nop -+0000d948 <[^>]*> nop -+0000d94c <[^>]*> nop -+0000d950 <[^>]*> nop -+0000d954 <[^>]*> nop -+0000d958 <[^>]*> nop -+0000d95c <[^>]*> nop -+0000d960 <[^>]*> nop -+0000d964 <[^>]*> nop -+0000d968 <[^>]*> nop -+0000d96c <[^>]*> nop -+0000d970 <[^>]*> nop -+0000d974 <[^>]*> nop -+0000d978 <[^>]*> nop -+0000d97c <[^>]*> nop -+0000d980 <[^>]*> nop -+0000d984 <[^>]*> nop -+0000d988 <[^>]*> nop -+0000d98c <[^>]*> nop -+0000d990 <[^>]*> nop -+0000d994 <[^>]*> nop -+0000d998 <[^>]*> nop -+0000d99c <[^>]*> nop -+0000d9a0 <[^>]*> nop -+0000d9a4 <[^>]*> nop -+0000d9a8 <[^>]*> nop -+0000d9ac <[^>]*> nop -+0000d9b0 <[^>]*> nop -+0000d9b4 <[^>]*> nop -+0000d9b8 <[^>]*> nop -+0000d9bc <[^>]*> nop -+0000d9c0 <[^>]*> nop -+0000d9c4 <[^>]*> nop -+0000d9c8 <[^>]*> nop -+0000d9cc <[^>]*> nop -+0000d9d0 <[^>]*> nop -+0000d9d4 <[^>]*> nop -+0000d9d8 <[^>]*> nop -+0000d9dc <[^>]*> nop -+0000d9e0 <[^>]*> nop -+0000d9e4 <[^>]*> nop -+0000d9e8 <[^>]*> nop -+0000d9ec <[^>]*> nop -+0000d9f0 <[^>]*> nop -+0000d9f4 <[^>]*> nop -+0000d9f8 <[^>]*> nop -+0000d9fc <[^>]*> nop -+0000da00 <[^>]*> nop -+0000da04 <[^>]*> nop -+0000da08 <[^>]*> nop -+0000da0c <[^>]*> nop -+0000da10 <[^>]*> nop -+0000da14 <[^>]*> nop -+0000da18 <[^>]*> nop -+0000da1c <[^>]*> nop -+0000da20 <[^>]*> nop -+0000da24 <[^>]*> nop -+0000da28 <[^>]*> nop -+0000da2c <[^>]*> nop -+0000da30 <[^>]*> nop -+0000da34 <[^>]*> nop -+0000da38 <[^>]*> nop -+0000da3c <[^>]*> nop -+0000da40 <[^>]*> nop -+0000da44 <[^>]*> nop -+0000da48 <[^>]*> nop -+0000da4c <[^>]*> nop -+0000da50 <[^>]*> nop -+0000da54 <[^>]*> nop -+0000da58 <[^>]*> nop -+0000da5c <[^>]*> nop -+0000da60 <[^>]*> nop -+0000da64 <[^>]*> nop -+0000da68 <[^>]*> nop -+0000da6c <[^>]*> nop -+0000da70 <[^>]*> nop -+0000da74 <[^>]*> nop -+0000da78 <[^>]*> nop -+0000da7c <[^>]*> nop -+0000da80 <[^>]*> nop -+0000da84 <[^>]*> nop -+0000da88 <[^>]*> nop -+0000da8c <[^>]*> nop -+0000da90 <[^>]*> nop -+0000da94 <[^>]*> nop -+0000da98 <[^>]*> nop -+0000da9c <[^>]*> nop -+0000daa0 <[^>]*> nop -+0000daa4 <[^>]*> nop -+0000daa8 <[^>]*> nop -+0000daac <[^>]*> nop -+0000dab0 <[^>]*> nop -+0000dab4 <[^>]*> nop -+0000dab8 <[^>]*> nop -+0000dabc <[^>]*> nop -+0000dac0 <[^>]*> nop -+0000dac4 <[^>]*> nop -+0000dac8 <[^>]*> nop -+0000dacc <[^>]*> nop -+0000dad0 <[^>]*> nop -+0000dad4 <[^>]*> nop -+0000dad8 <[^>]*> nop -+0000dadc <[^>]*> nop -+0000dae0 <[^>]*> nop -+0000dae4 <[^>]*> nop -+0000dae8 <[^>]*> nop -+0000daec <[^>]*> nop -+0000daf0 <[^>]*> nop -+0000daf4 <[^>]*> nop -+0000daf8 <[^>]*> nop -+0000dafc <[^>]*> nop -+0000db00 <[^>]*> nop -+0000db04 <[^>]*> nop -+0000db08 <[^>]*> nop -+0000db0c <[^>]*> nop -+0000db10 <[^>]*> nop -+0000db14 <[^>]*> nop -+0000db18 <[^>]*> nop -+0000db1c <[^>]*> nop -+0000db20 <[^>]*> nop -+0000db24 <[^>]*> nop -+0000db28 <[^>]*> nop -+0000db2c <[^>]*> nop -+0000db30 <[^>]*> nop -+0000db34 <[^>]*> nop -+0000db38 <[^>]*> nop -+0000db3c <[^>]*> nop -+0000db40 <[^>]*> nop -+0000db44 <[^>]*> nop -+0000db48 <[^>]*> nop -+0000db4c <[^>]*> nop -+0000db50 <[^>]*> nop -+0000db54 <[^>]*> nop -+0000db58 <[^>]*> nop -+0000db5c <[^>]*> nop -+0000db60 <[^>]*> nop -+0000db64 <[^>]*> nop -+0000db68 <[^>]*> nop -+0000db6c <[^>]*> nop -+0000db70 <[^>]*> nop -+0000db74 <[^>]*> nop -+0000db78 <[^>]*> nop -+0000db7c <[^>]*> nop -+0000db80 <[^>]*> nop -+0000db84 <[^>]*> nop -+0000db88 <[^>]*> nop -+0000db8c <[^>]*> nop -+0000db90 <[^>]*> nop -+0000db94 <[^>]*> nop -+0000db98 <[^>]*> nop -+0000db9c <[^>]*> nop -+0000dba0 <[^>]*> nop -+0000dba4 <[^>]*> nop -+0000dba8 <[^>]*> nop -+0000dbac <[^>]*> nop -+0000dbb0 <[^>]*> nop -+0000dbb4 <[^>]*> nop -+0000dbb8 <[^>]*> nop -+0000dbbc <[^>]*> nop -+0000dbc0 <[^>]*> nop -+0000dbc4 <[^>]*> nop -+0000dbc8 <[^>]*> nop -+0000dbcc <[^>]*> nop -+0000dbd0 <[^>]*> nop -+0000dbd4 <[^>]*> nop -+0000dbd8 <[^>]*> nop -+0000dbdc <[^>]*> nop -+0000dbe0 <[^>]*> nop -+0000dbe4 <[^>]*> nop -+0000dbe8 <[^>]*> nop -+0000dbec <[^>]*> nop -+0000dbf0 <[^>]*> nop -+0000dbf4 <[^>]*> nop -+0000dbf8 <[^>]*> nop -+0000dbfc <[^>]*> nop -+0000dc00 <[^>]*> nop -+0000dc04 <[^>]*> nop -+0000dc08 <[^>]*> nop -+0000dc0c <[^>]*> nop -+0000dc10 <[^>]*> nop -+0000dc14 <[^>]*> nop -+0000dc18 <[^>]*> nop -+0000dc1c <[^>]*> nop -+0000dc20 <[^>]*> nop -+0000dc24 <[^>]*> nop -+0000dc28 <[^>]*> nop -+0000dc2c <[^>]*> nop -+0000dc30 <[^>]*> nop -+0000dc34 <[^>]*> nop -+0000dc38 <[^>]*> nop -+0000dc3c <[^>]*> nop -+0000dc40 <[^>]*> nop -+0000dc44 <[^>]*> nop -+0000dc48 <[^>]*> nop -+0000dc4c <[^>]*> nop -+0000dc50 <[^>]*> nop -+0000dc54 <[^>]*> nop -+0000dc58 <[^>]*> nop -+0000dc5c <[^>]*> nop -+0000dc60 <[^>]*> nop -+0000dc64 <[^>]*> nop -+0000dc68 <[^>]*> nop -+0000dc6c <[^>]*> nop -+0000dc70 <[^>]*> nop -+0000dc74 <[^>]*> nop -+0000dc78 <[^>]*> nop -+0000dc7c <[^>]*> nop -+0000dc80 <[^>]*> nop -+0000dc84 <[^>]*> nop -+0000dc88 <[^>]*> nop -+0000dc8c <[^>]*> nop -+0000dc90 <[^>]*> nop -+0000dc94 <[^>]*> nop -+0000dc98 <[^>]*> nop -+0000dc9c <[^>]*> nop -+0000dca0 <[^>]*> nop -+0000dca4 <[^>]*> nop -+0000dca8 <[^>]*> nop -+0000dcac <[^>]*> nop -+0000dcb0 <[^>]*> nop -+0000dcb4 <[^>]*> nop -+0000dcb8 <[^>]*> nop -+0000dcbc <[^>]*> nop -+0000dcc0 <[^>]*> nop -+0000dcc4 <[^>]*> nop -+0000dcc8 <[^>]*> nop -+0000dccc <[^>]*> nop -+0000dcd0 <[^>]*> nop -+0000dcd4 <[^>]*> nop -+0000dcd8 <[^>]*> nop -+0000dcdc <[^>]*> nop -+0000dce0 <[^>]*> nop -+0000dce4 <[^>]*> nop -+0000dce8 <[^>]*> nop -+0000dcec <[^>]*> nop -+0000dcf0 <[^>]*> nop -+0000dcf4 <[^>]*> nop -+0000dcf8 <[^>]*> nop -+0000dcfc <[^>]*> nop -+0000dd00 <[^>]*> nop -+0000dd04 <[^>]*> nop -+0000dd08 <[^>]*> nop -+0000dd0c <[^>]*> nop -+0000dd10 <[^>]*> nop -+0000dd14 <[^>]*> nop -+0000dd18 <[^>]*> nop -+0000dd1c <[^>]*> nop -+0000dd20 <[^>]*> nop -+0000dd24 <[^>]*> nop -+0000dd28 <[^>]*> nop -+0000dd2c <[^>]*> nop -+0000dd30 <[^>]*> nop -+0000dd34 <[^>]*> nop -+0000dd38 <[^>]*> nop -+0000dd3c <[^>]*> nop -+0000dd40 <[^>]*> nop -+0000dd44 <[^>]*> nop -+0000dd48 <[^>]*> nop -+0000dd4c <[^>]*> nop -+0000dd50 <[^>]*> nop -+0000dd54 <[^>]*> nop -+0000dd58 <[^>]*> nop -+0000dd5c <[^>]*> nop -+0000dd60 <[^>]*> nop -+0000dd64 <[^>]*> nop -+0000dd68 <[^>]*> nop -+0000dd6c <[^>]*> nop -+0000dd70 <[^>]*> nop -+0000dd74 <[^>]*> nop -+0000dd78 <[^>]*> nop -+0000dd7c <[^>]*> nop -+0000dd80 <[^>]*> nop -+0000dd84 <[^>]*> nop -+0000dd88 <[^>]*> nop -+0000dd8c <[^>]*> nop -+0000dd90 <[^>]*> nop -+0000dd94 <[^>]*> nop -+0000dd98 <[^>]*> nop -+0000dd9c <[^>]*> nop -+0000dda0 <[^>]*> nop -+0000dda4 <[^>]*> nop -+0000dda8 <[^>]*> nop -+0000ddac <[^>]*> nop -+0000ddb0 <[^>]*> nop -+0000ddb4 <[^>]*> nop -+0000ddb8 <[^>]*> nop -+0000ddbc <[^>]*> nop -+0000ddc0 <[^>]*> nop -+0000ddc4 <[^>]*> nop -+0000ddc8 <[^>]*> nop -+0000ddcc <[^>]*> nop -+0000ddd0 <[^>]*> nop -+0000ddd4 <[^>]*> nop -+0000ddd8 <[^>]*> nop -+0000dddc <[^>]*> nop -+0000dde0 <[^>]*> nop -+0000dde4 <[^>]*> nop -+0000dde8 <[^>]*> nop -+0000ddec <[^>]*> nop -+0000ddf0 <[^>]*> nop -+0000ddf4 <[^>]*> nop -+0000ddf8 <[^>]*> nop -+0000ddfc <[^>]*> nop -+0000de00 <[^>]*> nop -+0000de04 <[^>]*> nop -+0000de08 <[^>]*> nop -+0000de0c <[^>]*> nop -+0000de10 <[^>]*> nop -+0000de14 <[^>]*> nop -+0000de18 <[^>]*> nop -+0000de1c <[^>]*> nop -+0000de20 <[^>]*> nop -+0000de24 <[^>]*> nop -+0000de28 <[^>]*> nop -+0000de2c <[^>]*> nop -+0000de30 <[^>]*> nop -+0000de34 <[^>]*> nop -+0000de38 <[^>]*> nop -+0000de3c <[^>]*> nop -+0000de40 <[^>]*> nop -+0000de44 <[^>]*> nop -+0000de48 <[^>]*> nop -+0000de4c <[^>]*> nop -+0000de50 <[^>]*> nop -+0000de54 <[^>]*> nop -+0000de58 <[^>]*> nop -+0000de5c <[^>]*> nop -+0000de60 <[^>]*> nop -+0000de64 <[^>]*> nop -+0000de68 <[^>]*> nop -+0000de6c <[^>]*> nop -+0000de70 <[^>]*> nop -+0000de74 <[^>]*> nop -+0000de78 <[^>]*> nop -+0000de7c <[^>]*> nop -+0000de80 <[^>]*> nop -+0000de84 <[^>]*> nop -+0000de88 <[^>]*> nop -+0000de8c <[^>]*> nop -+0000de90 <[^>]*> nop -+0000de94 <[^>]*> nop -+0000de98 <[^>]*> nop -+0000de9c <[^>]*> nop -+0000dea0 <[^>]*> nop -+0000dea4 <[^>]*> nop -+0000dea8 <[^>]*> nop -+0000deac <[^>]*> nop -+0000deb0 <[^>]*> nop -+0000deb4 <[^>]*> nop -+0000deb8 <[^>]*> nop -+0000debc <[^>]*> nop -+0000dec0 <[^>]*> nop -+0000dec4 <[^>]*> nop -+0000dec8 <[^>]*> nop -+0000decc <[^>]*> nop -+0000ded0 <[^>]*> nop -+0000ded4 <[^>]*> nop -+0000ded8 <[^>]*> nop -+0000dedc <[^>]*> nop -+0000dee0 <[^>]*> nop -+0000dee4 <[^>]*> nop -+0000dee8 <[^>]*> nop -+0000deec <[^>]*> nop -+0000def0 <[^>]*> nop -+0000def4 <[^>]*> nop -+0000def8 <[^>]*> nop -+0000defc <[^>]*> nop -+0000df00 <[^>]*> nop -+0000df04 <[^>]*> nop -+0000df08 <[^>]*> nop -+0000df0c <[^>]*> nop -+0000df10 <[^>]*> nop -+0000df14 <[^>]*> nop -+0000df18 <[^>]*> nop -+0000df1c <[^>]*> nop -+0000df20 <[^>]*> nop -+0000df24 <[^>]*> nop -+0000df28 <[^>]*> nop -+0000df2c <[^>]*> nop -+0000df30 <[^>]*> nop -+0000df34 <[^>]*> nop -+0000df38 <[^>]*> nop -+0000df3c <[^>]*> nop -+0000df40 <[^>]*> nop -+0000df44 <[^>]*> nop -+0000df48 <[^>]*> nop -+0000df4c <[^>]*> nop -+0000df50 <[^>]*> nop -+0000df54 <[^>]*> nop -+0000df58 <[^>]*> nop -+0000df5c <[^>]*> nop -+0000df60 <[^>]*> nop -+0000df64 <[^>]*> nop -+0000df68 <[^>]*> nop -+0000df6c <[^>]*> nop -+0000df70 <[^>]*> nop -+0000df74 <[^>]*> nop -+0000df78 <[^>]*> nop -+0000df7c <[^>]*> nop -+0000df80 <[^>]*> nop -+0000df84 <[^>]*> nop -+0000df88 <[^>]*> nop -+0000df8c <[^>]*> nop -+0000df90 <[^>]*> nop -+0000df94 <[^>]*> nop -+0000df98 <[^>]*> nop -+0000df9c <[^>]*> nop -+0000dfa0 <[^>]*> nop -+0000dfa4 <[^>]*> nop -+0000dfa8 <[^>]*> nop -+0000dfac <[^>]*> nop -+0000dfb0 <[^>]*> nop -+0000dfb4 <[^>]*> nop -+0000dfb8 <[^>]*> nop -+0000dfbc <[^>]*> nop -+0000dfc0 <[^>]*> nop -+0000dfc4 <[^>]*> nop -+0000dfc8 <[^>]*> nop -+0000dfcc <[^>]*> nop -+0000dfd0 <[^>]*> nop -+0000dfd4 <[^>]*> nop -+0000dfd8 <[^>]*> nop -+0000dfdc <[^>]*> nop -+0000dfe0 <[^>]*> nop -+0000dfe4 <[^>]*> nop -+0000dfe8 <[^>]*> nop -+0000dfec <[^>]*> nop -+0000dff0 <[^>]*> nop -+0000dff4 <[^>]*> nop -+0000dff8 <[^>]*> nop -+0000dffc <[^>]*> nop -+0000e000 <[^>]*> nop -+0000e004 <[^>]*> nop -+0000e008 <[^>]*> nop -+0000e00c <[^>]*> nop -+0000e010 <[^>]*> nop -+0000e014 <[^>]*> nop -+0000e018 <[^>]*> nop -+0000e01c <[^>]*> nop -+0000e020 <[^>]*> nop -+0000e024 <[^>]*> nop -+0000e028 <[^>]*> nop -+0000e02c <[^>]*> nop -+0000e030 <[^>]*> nop -+0000e034 <[^>]*> nop -+0000e038 <[^>]*> nop -+0000e03c <[^>]*> nop -+0000e040 <[^>]*> nop -+0000e044 <[^>]*> nop -+0000e048 <[^>]*> nop -+0000e04c <[^>]*> nop -+0000e050 <[^>]*> nop -+0000e054 <[^>]*> nop -+0000e058 <[^>]*> nop -+0000e05c <[^>]*> nop -+0000e060 <[^>]*> nop -+0000e064 <[^>]*> nop -+0000e068 <[^>]*> nop -+0000e06c <[^>]*> nop -+0000e070 <[^>]*> nop -+0000e074 <[^>]*> nop -+0000e078 <[^>]*> nop -+0000e07c <[^>]*> nop -+0000e080 <[^>]*> nop -+0000e084 <[^>]*> nop -+0000e088 <[^>]*> nop -+0000e08c <[^>]*> nop -+0000e090 <[^>]*> nop -+0000e094 <[^>]*> nop -+0000e098 <[^>]*> nop -+0000e09c <[^>]*> nop -+0000e0a0 <[^>]*> nop -+0000e0a4 <[^>]*> nop -+0000e0a8 <[^>]*> nop -+0000e0ac <[^>]*> nop -+0000e0b0 <[^>]*> nop -+0000e0b4 <[^>]*> nop -+0000e0b8 <[^>]*> nop -+0000e0bc <[^>]*> nop -+0000e0c0 <[^>]*> nop -+0000e0c4 <[^>]*> nop -+0000e0c8 <[^>]*> nop -+0000e0cc <[^>]*> nop -+0000e0d0 <[^>]*> nop -+0000e0d4 <[^>]*> nop -+0000e0d8 <[^>]*> nop -+0000e0dc <[^>]*> nop -+0000e0e0 <[^>]*> nop -+0000e0e4 <[^>]*> nop -+0000e0e8 <[^>]*> nop -+0000e0ec <[^>]*> nop -+0000e0f0 <[^>]*> nop -+0000e0f4 <[^>]*> nop -+0000e0f8 <[^>]*> nop -+0000e0fc <[^>]*> nop -+0000e100 <[^>]*> nop -+0000e104 <[^>]*> nop -+0000e108 <[^>]*> nop -+0000e10c <[^>]*> nop -+0000e110 <[^>]*> nop -+0000e114 <[^>]*> nop -+0000e118 <[^>]*> nop -+0000e11c <[^>]*> nop -+0000e120 <[^>]*> nop -+0000e124 <[^>]*> nop -+0000e128 <[^>]*> nop -+0000e12c <[^>]*> nop -+0000e130 <[^>]*> nop -+0000e134 <[^>]*> nop -+0000e138 <[^>]*> nop -+0000e13c <[^>]*> nop -+0000e140 <[^>]*> nop -+0000e144 <[^>]*> nop -+0000e148 <[^>]*> nop -+0000e14c <[^>]*> nop -+0000e150 <[^>]*> nop -+0000e154 <[^>]*> nop -+0000e158 <[^>]*> nop -+0000e15c <[^>]*> nop -+0000e160 <[^>]*> nop -+0000e164 <[^>]*> nop -+0000e168 <[^>]*> nop -+0000e16c <[^>]*> nop -+0000e170 <[^>]*> nop -+0000e174 <[^>]*> nop -+0000e178 <[^>]*> nop -+0000e17c <[^>]*> nop -+0000e180 <[^>]*> nop -+0000e184 <[^>]*> nop -+0000e188 <[^>]*> nop -+0000e18c <[^>]*> nop -+0000e190 <[^>]*> nop -+0000e194 <[^>]*> nop -+0000e198 <[^>]*> nop -+0000e19c <[^>]*> nop -+0000e1a0 <[^>]*> nop -+0000e1a4 <[^>]*> nop -+0000e1a8 <[^>]*> nop -+0000e1ac <[^>]*> nop -+0000e1b0 <[^>]*> nop -+0000e1b4 <[^>]*> nop -+0000e1b8 <[^>]*> nop -+0000e1bc <[^>]*> nop -+0000e1c0 <[^>]*> nop -+0000e1c4 <[^>]*> nop -+0000e1c8 <[^>]*> nop -+0000e1cc <[^>]*> nop -+0000e1d0 <[^>]*> nop -+0000e1d4 <[^>]*> nop -+0000e1d8 <[^>]*> nop -+0000e1dc <[^>]*> nop -+0000e1e0 <[^>]*> nop -+0000e1e4 <[^>]*> nop -+0000e1e8 <[^>]*> nop -+0000e1ec <[^>]*> nop -+0000e1f0 <[^>]*> nop -+0000e1f4 <[^>]*> nop -+0000e1f8 <[^>]*> nop -+0000e1fc <[^>]*> nop -+0000e200 <[^>]*> nop -+0000e204 <[^>]*> nop -+0000e208 <[^>]*> nop -+0000e20c <[^>]*> nop -+0000e210 <[^>]*> nop -+0000e214 <[^>]*> nop -+0000e218 <[^>]*> nop -+0000e21c <[^>]*> nop -+0000e220 <[^>]*> nop -+0000e224 <[^>]*> nop -+0000e228 <[^>]*> nop -+0000e22c <[^>]*> nop -+0000e230 <[^>]*> nop -+0000e234 <[^>]*> nop -+0000e238 <[^>]*> nop -+0000e23c <[^>]*> nop -+0000e240 <[^>]*> nop -+0000e244 <[^>]*> nop -+0000e248 <[^>]*> nop -+0000e24c <[^>]*> nop -+0000e250 <[^>]*> nop -+0000e254 <[^>]*> nop -+0000e258 <[^>]*> nop -+0000e25c <[^>]*> nop -+0000e260 <[^>]*> nop -+0000e264 <[^>]*> nop -+0000e268 <[^>]*> nop -+0000e26c <[^>]*> nop -+0000e270 <[^>]*> nop -+0000e274 <[^>]*> nop -+0000e278 <[^>]*> nop -+0000e27c <[^>]*> nop -+0000e280 <[^>]*> nop -+0000e284 <[^>]*> nop -+0000e288 <[^>]*> nop -+0000e28c <[^>]*> nop -+0000e290 <[^>]*> nop -+0000e294 <[^>]*> nop -+0000e298 <[^>]*> nop -+0000e29c <[^>]*> nop -+0000e2a0 <[^>]*> nop -+0000e2a4 <[^>]*> nop -+0000e2a8 <[^>]*> nop -+0000e2ac <[^>]*> nop -+0000e2b0 <[^>]*> nop -+0000e2b4 <[^>]*> nop -+0000e2b8 <[^>]*> nop -+0000e2bc <[^>]*> nop -+0000e2c0 <[^>]*> nop -+0000e2c4 <[^>]*> nop -+0000e2c8 <[^>]*> nop -+0000e2cc <[^>]*> nop -+0000e2d0 <[^>]*> nop -+0000e2d4 <[^>]*> nop -+0000e2d8 <[^>]*> nop -+0000e2dc <[^>]*> nop -+0000e2e0 <[^>]*> nop -+0000e2e4 <[^>]*> nop -+0000e2e8 <[^>]*> nop -+0000e2ec <[^>]*> nop -+0000e2f0 <[^>]*> nop -+0000e2f4 <[^>]*> nop -+0000e2f8 <[^>]*> nop -+0000e2fc <[^>]*> nop -+0000e300 <[^>]*> nop -+0000e304 <[^>]*> nop -+0000e308 <[^>]*> nop -+0000e30c <[^>]*> nop -+0000e310 <[^>]*> nop -+0000e314 <[^>]*> nop -+0000e318 <[^>]*> nop -+0000e31c <[^>]*> nop -+0000e320 <[^>]*> nop -+0000e324 <[^>]*> nop -+0000e328 <[^>]*> nop -+0000e32c <[^>]*> nop -+0000e330 <[^>]*> nop -+0000e334 <[^>]*> nop -+0000e338 <[^>]*> nop -+0000e33c <[^>]*> nop -+0000e340 <[^>]*> nop -+0000e344 <[^>]*> nop -+0000e348 <[^>]*> nop -+0000e34c <[^>]*> nop -+0000e350 <[^>]*> nop -+0000e354 <[^>]*> nop -+0000e358 <[^>]*> nop -+0000e35c <[^>]*> nop -+0000e360 <[^>]*> nop -+0000e364 <[^>]*> nop -+0000e368 <[^>]*> nop -+0000e36c <[^>]*> nop -+0000e370 <[^>]*> nop -+0000e374 <[^>]*> nop -+0000e378 <[^>]*> nop -+0000e37c <[^>]*> nop -+0000e380 <[^>]*> nop -+0000e384 <[^>]*> nop -+0000e388 <[^>]*> nop -+0000e38c <[^>]*> nop -+0000e390 <[^>]*> nop -+0000e394 <[^>]*> nop -+0000e398 <[^>]*> nop -+0000e39c <[^>]*> nop -+0000e3a0 <[^>]*> nop -+0000e3a4 <[^>]*> nop -+0000e3a8 <[^>]*> nop -+0000e3ac <[^>]*> nop -+0000e3b0 <[^>]*> nop -+0000e3b4 <[^>]*> nop -+0000e3b8 <[^>]*> nop -+0000e3bc <[^>]*> nop -+0000e3c0 <[^>]*> nop -+0000e3c4 <[^>]*> nop -+0000e3c8 <[^>]*> nop -+0000e3cc <[^>]*> nop -+0000e3d0 <[^>]*> nop -+0000e3d4 <[^>]*> nop -+0000e3d8 <[^>]*> nop -+0000e3dc <[^>]*> nop -+0000e3e0 <[^>]*> nop -+0000e3e4 <[^>]*> nop -+0000e3e8 <[^>]*> nop -+0000e3ec <[^>]*> nop -+0000e3f0 <[^>]*> nop -+0000e3f4 <[^>]*> nop -+0000e3f8 <[^>]*> nop -+0000e3fc <[^>]*> nop -+0000e400 <[^>]*> nop -+0000e404 <[^>]*> nop -+0000e408 <[^>]*> nop -+0000e40c <[^>]*> nop -+0000e410 <[^>]*> nop -+0000e414 <[^>]*> nop -+0000e418 <[^>]*> nop -+0000e41c <[^>]*> nop -+0000e420 <[^>]*> nop -+0000e424 <[^>]*> nop -+0000e428 <[^>]*> nop -+0000e42c <[^>]*> nop -+0000e430 <[^>]*> nop -+0000e434 <[^>]*> nop -+0000e438 <[^>]*> nop -+0000e43c <[^>]*> nop -+0000e440 <[^>]*> nop -+0000e444 <[^>]*> nop -+0000e448 <[^>]*> nop -+0000e44c <[^>]*> nop -+0000e450 <[^>]*> nop -+0000e454 <[^>]*> nop -+0000e458 <[^>]*> nop -+0000e45c <[^>]*> nop -+0000e460 <[^>]*> nop -+0000e464 <[^>]*> nop -+0000e468 <[^>]*> nop -+0000e46c <[^>]*> nop -+0000e470 <[^>]*> nop -+0000e474 <[^>]*> nop -+0000e478 <[^>]*> nop -+0000e47c <[^>]*> nop -+0000e480 <[^>]*> nop -+0000e484 <[^>]*> nop -+0000e488 <[^>]*> nop -+0000e48c <[^>]*> nop -+0000e490 <[^>]*> nop -+0000e494 <[^>]*> nop -+0000e498 <[^>]*> nop -+0000e49c <[^>]*> nop -+0000e4a0 <[^>]*> nop -+0000e4a4 <[^>]*> nop -+0000e4a8 <[^>]*> nop -+0000e4ac <[^>]*> nop -+0000e4b0 <[^>]*> nop -+0000e4b4 <[^>]*> nop -+0000e4b8 <[^>]*> nop -+0000e4bc <[^>]*> nop -+0000e4c0 <[^>]*> nop -+0000e4c4 <[^>]*> nop -+0000e4c8 <[^>]*> nop -+0000e4cc <[^>]*> nop -+0000e4d0 <[^>]*> nop -+0000e4d4 <[^>]*> nop -+0000e4d8 <[^>]*> nop -+0000e4dc <[^>]*> nop -+0000e4e0 <[^>]*> nop -+0000e4e4 <[^>]*> nop -+0000e4e8 <[^>]*> nop -+0000e4ec <[^>]*> nop -+0000e4f0 <[^>]*> nop -+0000e4f4 <[^>]*> nop -+0000e4f8 <[^>]*> nop -+0000e4fc <[^>]*> nop -+0000e500 <[^>]*> nop -+0000e504 <[^>]*> nop -+0000e508 <[^>]*> nop -+0000e50c <[^>]*> nop -+0000e510 <[^>]*> nop -+0000e514 <[^>]*> nop -+0000e518 <[^>]*> nop -+0000e51c <[^>]*> nop -+0000e520 <[^>]*> nop -+0000e524 <[^>]*> nop -+0000e528 <[^>]*> nop -+0000e52c <[^>]*> nop -+0000e530 <[^>]*> nop -+0000e534 <[^>]*> nop -+0000e538 <[^>]*> nop -+0000e53c <[^>]*> nop -+0000e540 <[^>]*> nop -+0000e544 <[^>]*> nop -+0000e548 <[^>]*> nop -+0000e54c <[^>]*> nop -+0000e550 <[^>]*> nop -+0000e554 <[^>]*> nop -+0000e558 <[^>]*> nop -+0000e55c <[^>]*> nop -+0000e560 <[^>]*> nop -+0000e564 <[^>]*> nop -+0000e568 <[^>]*> nop -+0000e56c <[^>]*> nop -+0000e570 <[^>]*> nop -+0000e574 <[^>]*> nop -+0000e578 <[^>]*> nop -+0000e57c <[^>]*> nop -+0000e580 <[^>]*> nop -+0000e584 <[^>]*> nop -+0000e588 <[^>]*> nop -+0000e58c <[^>]*> nop -+0000e590 <[^>]*> nop -+0000e594 <[^>]*> nop -+0000e598 <[^>]*> nop -+0000e59c <[^>]*> nop -+0000e5a0 <[^>]*> nop -+0000e5a4 <[^>]*> nop -+0000e5a8 <[^>]*> nop -+0000e5ac <[^>]*> nop -+0000e5b0 <[^>]*> nop -+0000e5b4 <[^>]*> nop -+0000e5b8 <[^>]*> nop -+0000e5bc <[^>]*> nop -+0000e5c0 <[^>]*> nop -+0000e5c4 <[^>]*> nop -+0000e5c8 <[^>]*> nop -+0000e5cc <[^>]*> nop -+0000e5d0 <[^>]*> nop -+0000e5d4 <[^>]*> nop -+0000e5d8 <[^>]*> nop -+0000e5dc <[^>]*> nop -+0000e5e0 <[^>]*> nop -+0000e5e4 <[^>]*> nop -+0000e5e8 <[^>]*> nop -+0000e5ec <[^>]*> nop -+0000e5f0 <[^>]*> nop -+0000e5f4 <[^>]*> nop -+0000e5f8 <[^>]*> nop -+0000e5fc <[^>]*> nop -+0000e600 <[^>]*> nop -+0000e604 <[^>]*> nop -+0000e608 <[^>]*> nop -+0000e60c <[^>]*> nop -+0000e610 <[^>]*> nop -+0000e614 <[^>]*> nop -+0000e618 <[^>]*> nop -+0000e61c <[^>]*> nop -+0000e620 <[^>]*> nop -+0000e624 <[^>]*> nop -+0000e628 <[^>]*> nop -+0000e62c <[^>]*> nop -+0000e630 <[^>]*> nop -+0000e634 <[^>]*> nop -+0000e638 <[^>]*> nop -+0000e63c <[^>]*> nop -+0000e640 <[^>]*> nop -+0000e644 <[^>]*> nop -+0000e648 <[^>]*> nop -+0000e64c <[^>]*> nop -+0000e650 <[^>]*> nop -+0000e654 <[^>]*> nop -+0000e658 <[^>]*> nop -+0000e65c <[^>]*> nop -+0000e660 <[^>]*> nop -+0000e664 <[^>]*> nop -+0000e668 <[^>]*> nop -+0000e66c <[^>]*> nop -+0000e670 <[^>]*> nop -+0000e674 <[^>]*> nop -+0000e678 <[^>]*> nop -+0000e67c <[^>]*> nop -+0000e680 <[^>]*> nop -+0000e684 <[^>]*> nop -+0000e688 <[^>]*> nop -+0000e68c <[^>]*> nop -+0000e690 <[^>]*> nop -+0000e694 <[^>]*> nop -+0000e698 <[^>]*> nop -+0000e69c <[^>]*> nop -+0000e6a0 <[^>]*> nop -+0000e6a4 <[^>]*> nop -+0000e6a8 <[^>]*> nop -+0000e6ac <[^>]*> nop -+0000e6b0 <[^>]*> nop -+0000e6b4 <[^>]*> nop -+0000e6b8 <[^>]*> nop -+0000e6bc <[^>]*> nop -+0000e6c0 <[^>]*> nop -+0000e6c4 <[^>]*> nop -+0000e6c8 <[^>]*> nop -+0000e6cc <[^>]*> nop -+0000e6d0 <[^>]*> nop -+0000e6d4 <[^>]*> nop -+0000e6d8 <[^>]*> nop -+0000e6dc <[^>]*> nop -+0000e6e0 <[^>]*> nop -+0000e6e4 <[^>]*> nop -+0000e6e8 <[^>]*> nop -+0000e6ec <[^>]*> nop -+0000e6f0 <[^>]*> nop -+0000e6f4 <[^>]*> nop -+0000e6f8 <[^>]*> nop -+0000e6fc <[^>]*> nop -+0000e700 <[^>]*> nop -+0000e704 <[^>]*> nop -+0000e708 <[^>]*> nop -+0000e70c <[^>]*> nop -+0000e710 <[^>]*> nop -+0000e714 <[^>]*> nop -+0000e718 <[^>]*> nop -+0000e71c <[^>]*> nop -+0000e720 <[^>]*> nop -+0000e724 <[^>]*> nop -+0000e728 <[^>]*> nop -+0000e72c <[^>]*> nop -+0000e730 <[^>]*> nop -+0000e734 <[^>]*> nop -+0000e738 <[^>]*> nop -+0000e73c <[^>]*> nop -+0000e740 <[^>]*> nop -+0000e744 <[^>]*> nop -+0000e748 <[^>]*> nop -+0000e74c <[^>]*> nop -+0000e750 <[^>]*> nop -+0000e754 <[^>]*> nop -+0000e758 <[^>]*> nop -+0000e75c <[^>]*> nop -+0000e760 <[^>]*> nop -+0000e764 <[^>]*> nop -+0000e768 <[^>]*> nop -+0000e76c <[^>]*> nop -+0000e770 <[^>]*> nop -+0000e774 <[^>]*> nop -+0000e778 <[^>]*> nop -+0000e77c <[^>]*> nop -+0000e780 <[^>]*> nop -+0000e784 <[^>]*> nop -+0000e788 <[^>]*> nop -+0000e78c <[^>]*> nop -+0000e790 <[^>]*> nop -+0000e794 <[^>]*> nop -+0000e798 <[^>]*> nop -+0000e79c <[^>]*> nop -+0000e7a0 <[^>]*> nop -+0000e7a4 <[^>]*> nop -+0000e7a8 <[^>]*> nop -+0000e7ac <[^>]*> nop -+0000e7b0 <[^>]*> nop -+0000e7b4 <[^>]*> nop -+0000e7b8 <[^>]*> nop -+0000e7bc <[^>]*> nop -+0000e7c0 <[^>]*> nop -+0000e7c4 <[^>]*> nop -+0000e7c8 <[^>]*> nop -+0000e7cc <[^>]*> nop -+0000e7d0 <[^>]*> nop -+0000e7d4 <[^>]*> nop -+0000e7d8 <[^>]*> nop -+0000e7dc <[^>]*> nop -+0000e7e0 <[^>]*> nop -+0000e7e4 <[^>]*> nop -+0000e7e8 <[^>]*> nop -+0000e7ec <[^>]*> nop -+0000e7f0 <[^>]*> nop -+0000e7f4 <[^>]*> nop -+0000e7f8 <[^>]*> nop -+0000e7fc <[^>]*> nop -+0000e800 <[^>]*> nop -+0000e804 <[^>]*> nop -+0000e808 <[^>]*> nop -+0000e80c <[^>]*> nop -+0000e810 <[^>]*> nop -+0000e814 <[^>]*> nop -+0000e818 <[^>]*> nop -+0000e81c <[^>]*> nop -+0000e820 <[^>]*> nop -+0000e824 <[^>]*> nop -+0000e828 <[^>]*> nop -+0000e82c <[^>]*> nop -+0000e830 <[^>]*> nop -+0000e834 <[^>]*> nop -+0000e838 <[^>]*> nop -+0000e83c <[^>]*> nop -+0000e840 <[^>]*> nop -+0000e844 <[^>]*> nop -+0000e848 <[^>]*> nop -+0000e84c <[^>]*> nop -+0000e850 <[^>]*> nop -+0000e854 <[^>]*> nop -+0000e858 <[^>]*> nop -+0000e85c <[^>]*> nop -+0000e860 <[^>]*> nop -+0000e864 <[^>]*> nop -+0000e868 <[^>]*> nop -+0000e86c <[^>]*> nop -+0000e870 <[^>]*> nop -+0000e874 <[^>]*> nop -+0000e878 <[^>]*> nop -+0000e87c <[^>]*> nop -+0000e880 <[^>]*> nop -+0000e884 <[^>]*> nop -+0000e888 <[^>]*> nop -+0000e88c <[^>]*> nop -+0000e890 <[^>]*> nop -+0000e894 <[^>]*> nop -+0000e898 <[^>]*> nop -+0000e89c <[^>]*> nop -+0000e8a0 <[^>]*> nop -+0000e8a4 <[^>]*> nop -+0000e8a8 <[^>]*> nop -+0000e8ac <[^>]*> nop -+0000e8b0 <[^>]*> nop -+0000e8b4 <[^>]*> nop -+0000e8b8 <[^>]*> nop -+0000e8bc <[^>]*> nop -+0000e8c0 <[^>]*> nop -+0000e8c4 <[^>]*> nop -+0000e8c8 <[^>]*> nop -+0000e8cc <[^>]*> nop -+0000e8d0 <[^>]*> nop -+0000e8d4 <[^>]*> nop -+0000e8d8 <[^>]*> nop -+0000e8dc <[^>]*> nop -+0000e8e0 <[^>]*> nop -+0000e8e4 <[^>]*> nop -+0000e8e8 <[^>]*> nop -+0000e8ec <[^>]*> nop -+0000e8f0 <[^>]*> nop -+0000e8f4 <[^>]*> nop -+0000e8f8 <[^>]*> nop -+0000e8fc <[^>]*> nop -+0000e900 <[^>]*> nop -+0000e904 <[^>]*> nop -+0000e908 <[^>]*> nop -+0000e90c <[^>]*> nop -+0000e910 <[^>]*> nop -+0000e914 <[^>]*> nop -+0000e918 <[^>]*> nop -+0000e91c <[^>]*> nop -+0000e920 <[^>]*> nop -+0000e924 <[^>]*> nop -+0000e928 <[^>]*> nop -+0000e92c <[^>]*> nop -+0000e930 <[^>]*> nop -+0000e934 <[^>]*> nop -+0000e938 <[^>]*> nop -+0000e93c <[^>]*> nop -+0000e940 <[^>]*> nop -+0000e944 <[^>]*> nop -+0000e948 <[^>]*> nop -+0000e94c <[^>]*> nop -+0000e950 <[^>]*> nop -+0000e954 <[^>]*> nop -+0000e958 <[^>]*> nop -+0000e95c <[^>]*> nop -+0000e960 <[^>]*> nop -+0000e964 <[^>]*> nop -+0000e968 <[^>]*> nop -+0000e96c <[^>]*> nop -+0000e970 <[^>]*> nop -+0000e974 <[^>]*> nop -+0000e978 <[^>]*> nop -+0000e97c <[^>]*> nop -+0000e980 <[^>]*> nop -+0000e984 <[^>]*> nop -+0000e988 <[^>]*> nop -+0000e98c <[^>]*> nop -+0000e990 <[^>]*> nop -+0000e994 <[^>]*> nop -+0000e998 <[^>]*> nop -+0000e99c <[^>]*> nop -+0000e9a0 <[^>]*> nop -+0000e9a4 <[^>]*> nop -+0000e9a8 <[^>]*> nop -+0000e9ac <[^>]*> nop -+0000e9b0 <[^>]*> nop -+0000e9b4 <[^>]*> nop -+0000e9b8 <[^>]*> nop -+0000e9bc <[^>]*> nop -+0000e9c0 <[^>]*> nop -+0000e9c4 <[^>]*> nop -+0000e9c8 <[^>]*> nop -+0000e9cc <[^>]*> nop -+0000e9d0 <[^>]*> nop -+0000e9d4 <[^>]*> nop -+0000e9d8 <[^>]*> nop -+0000e9dc <[^>]*> nop -+0000e9e0 <[^>]*> nop -+0000e9e4 <[^>]*> nop -+0000e9e8 <[^>]*> nop -+0000e9ec <[^>]*> nop -+0000e9f0 <[^>]*> nop -+0000e9f4 <[^>]*> nop -+0000e9f8 <[^>]*> nop -+0000e9fc <[^>]*> nop -+0000ea00 <[^>]*> nop -+0000ea04 <[^>]*> nop -+0000ea08 <[^>]*> nop -+0000ea0c <[^>]*> nop -+0000ea10 <[^>]*> nop -+0000ea14 <[^>]*> nop -+0000ea18 <[^>]*> nop -+0000ea1c <[^>]*> nop -+0000ea20 <[^>]*> nop -+0000ea24 <[^>]*> nop -+0000ea28 <[^>]*> nop -+0000ea2c <[^>]*> nop -+0000ea30 <[^>]*> nop -+0000ea34 <[^>]*> nop -+0000ea38 <[^>]*> nop -+0000ea3c <[^>]*> nop -+0000ea40 <[^>]*> nop -+0000ea44 <[^>]*> nop -+0000ea48 <[^>]*> nop -+0000ea4c <[^>]*> nop -+0000ea50 <[^>]*> nop -+0000ea54 <[^>]*> nop -+0000ea58 <[^>]*> nop -+0000ea5c <[^>]*> nop -+0000ea60 <[^>]*> nop -+0000ea64 <[^>]*> nop -+0000ea68 <[^>]*> nop -+0000ea6c <[^>]*> nop -+0000ea70 <[^>]*> nop -+0000ea74 <[^>]*> nop -+0000ea78 <[^>]*> nop -+0000ea7c <[^>]*> nop -+0000ea80 <[^>]*> nop -+0000ea84 <[^>]*> nop -+0000ea88 <[^>]*> nop -+0000ea8c <[^>]*> nop -+0000ea90 <[^>]*> nop -+0000ea94 <[^>]*> nop -+0000ea98 <[^>]*> nop -+0000ea9c <[^>]*> nop -+0000eaa0 <[^>]*> nop -+0000eaa4 <[^>]*> nop -+0000eaa8 <[^>]*> nop -+0000eaac <[^>]*> nop -+0000eab0 <[^>]*> nop -+0000eab4 <[^>]*> nop -+0000eab8 <[^>]*> nop -+0000eabc <[^>]*> nop -+0000eac0 <[^>]*> nop -+0000eac4 <[^>]*> nop -+0000eac8 <[^>]*> nop -+0000eacc <[^>]*> nop -+0000ead0 <[^>]*> nop -+0000ead4 <[^>]*> nop -+0000ead8 <[^>]*> nop -+0000eadc <[^>]*> nop -+0000eae0 <[^>]*> nop -+0000eae4 <[^>]*> nop -+0000eae8 <[^>]*> nop -+0000eaec <[^>]*> nop -+0000eaf0 <[^>]*> nop -+0000eaf4 <[^>]*> nop -+0000eaf8 <[^>]*> nop -+0000eafc <[^>]*> nop -+0000eb00 <[^>]*> nop -+0000eb04 <[^>]*> nop -+0000eb08 <[^>]*> nop -+0000eb0c <[^>]*> nop -+0000eb10 <[^>]*> nop -+0000eb14 <[^>]*> nop -+0000eb18 <[^>]*> nop -+0000eb1c <[^>]*> nop -+0000eb20 <[^>]*> nop -+0000eb24 <[^>]*> nop -+0000eb28 <[^>]*> nop -+0000eb2c <[^>]*> nop -+0000eb30 <[^>]*> nop -+0000eb34 <[^>]*> nop -+0000eb38 <[^>]*> nop -+0000eb3c <[^>]*> nop -+0000eb40 <[^>]*> nop -+0000eb44 <[^>]*> nop -+0000eb48 <[^>]*> nop -+0000eb4c <[^>]*> nop -+0000eb50 <[^>]*> nop -+0000eb54 <[^>]*> nop -+0000eb58 <[^>]*> nop -+0000eb5c <[^>]*> nop -+0000eb60 <[^>]*> nop -+0000eb64 <[^>]*> nop -+0000eb68 <[^>]*> nop -+0000eb6c <[^>]*> nop -+0000eb70 <[^>]*> nop -+0000eb74 <[^>]*> nop -+0000eb78 <[^>]*> nop -+0000eb7c <[^>]*> nop -+0000eb80 <[^>]*> nop -+0000eb84 <[^>]*> nop -+0000eb88 <[^>]*> nop -+0000eb8c <[^>]*> nop -+0000eb90 <[^>]*> nop -+0000eb94 <[^>]*> nop -+0000eb98 <[^>]*> nop -+0000eb9c <[^>]*> nop -+0000eba0 <[^>]*> nop -+0000eba4 <[^>]*> nop -+0000eba8 <[^>]*> nop -+0000ebac <[^>]*> nop -+0000ebb0 <[^>]*> nop -+0000ebb4 <[^>]*> nop -+0000ebb8 <[^>]*> nop -+0000ebbc <[^>]*> nop -+0000ebc0 <[^>]*> nop -+0000ebc4 <[^>]*> nop -+0000ebc8 <[^>]*> nop -+0000ebcc <[^>]*> nop -+0000ebd0 <[^>]*> nop -+0000ebd4 <[^>]*> nop -+0000ebd8 <[^>]*> nop -+0000ebdc <[^>]*> nop -+0000ebe0 <[^>]*> nop -+0000ebe4 <[^>]*> nop -+0000ebe8 <[^>]*> nop -+0000ebec <[^>]*> nop -+0000ebf0 <[^>]*> nop -+0000ebf4 <[^>]*> nop -+0000ebf8 <[^>]*> nop -+0000ebfc <[^>]*> nop -+0000ec00 <[^>]*> nop -+0000ec04 <[^>]*> nop -+0000ec08 <[^>]*> nop -+0000ec0c <[^>]*> nop -+0000ec10 <[^>]*> nop -+0000ec14 <[^>]*> nop -+0000ec18 <[^>]*> nop -+0000ec1c <[^>]*> nop -+0000ec20 <[^>]*> nop -+0000ec24 <[^>]*> nop -+0000ec28 <[^>]*> nop -+0000ec2c <[^>]*> nop -+0000ec30 <[^>]*> nop -+0000ec34 <[^>]*> nop -+0000ec38 <[^>]*> nop -+0000ec3c <[^>]*> nop -+0000ec40 <[^>]*> nop -+0000ec44 <[^>]*> nop -+0000ec48 <[^>]*> nop -+0000ec4c <[^>]*> nop -+0000ec50 <[^>]*> nop -+0000ec54 <[^>]*> nop -+0000ec58 <[^>]*> nop -+0000ec5c <[^>]*> nop -+0000ec60 <[^>]*> nop -+0000ec64 <[^>]*> nop -+0000ec68 <[^>]*> nop -+0000ec6c <[^>]*> nop -+0000ec70 <[^>]*> nop -+0000ec74 <[^>]*> nop -+0000ec78 <[^>]*> nop -+0000ec7c <[^>]*> nop -+0000ec80 <[^>]*> nop -+0000ec84 <[^>]*> nop -+0000ec88 <[^>]*> nop -+0000ec8c <[^>]*> nop -+0000ec90 <[^>]*> nop -+0000ec94 <[^>]*> nop -+0000ec98 <[^>]*> nop -+0000ec9c <[^>]*> nop -+0000eca0 <[^>]*> nop -+0000eca4 <[^>]*> nop -+0000eca8 <[^>]*> nop -+0000ecac <[^>]*> nop -+0000ecb0 <[^>]*> nop -+0000ecb4 <[^>]*> nop -+0000ecb8 <[^>]*> nop -+0000ecbc <[^>]*> nop -+0000ecc0 <[^>]*> nop -+0000ecc4 <[^>]*> nop -+0000ecc8 <[^>]*> nop -+0000eccc <[^>]*> nop -+0000ecd0 <[^>]*> nop -+0000ecd4 <[^>]*> nop -+0000ecd8 <[^>]*> nop -+0000ecdc <[^>]*> nop -+0000ece0 <[^>]*> nop -+0000ece4 <[^>]*> nop -+0000ece8 <[^>]*> nop -+0000ecec <[^>]*> nop -+0000ecf0 <[^>]*> nop -+0000ecf4 <[^>]*> nop -+0000ecf8 <[^>]*> nop -+0000ecfc <[^>]*> nop -+0000ed00 <[^>]*> nop -+0000ed04 <[^>]*> nop -+0000ed08 <[^>]*> nop -+0000ed0c <[^>]*> nop -+0000ed10 <[^>]*> nop -+0000ed14 <[^>]*> nop -+0000ed18 <[^>]*> nop -+0000ed1c <[^>]*> nop -+0000ed20 <[^>]*> nop -+0000ed24 <[^>]*> nop -+0000ed28 <[^>]*> nop -+0000ed2c <[^>]*> nop -+0000ed30 <[^>]*> nop -+0000ed34 <[^>]*> nop -+0000ed38 <[^>]*> nop -+0000ed3c <[^>]*> nop -+0000ed40 <[^>]*> nop -+0000ed44 <[^>]*> nop -+0000ed48 <[^>]*> nop -+0000ed4c <[^>]*> nop -+0000ed50 <[^>]*> nop -+0000ed54 <[^>]*> nop -+0000ed58 <[^>]*> nop -+0000ed5c <[^>]*> nop -+0000ed60 <[^>]*> nop -+0000ed64 <[^>]*> nop -+0000ed68 <[^>]*> nop -+0000ed6c <[^>]*> nop -+0000ed70 <[^>]*> nop -+0000ed74 <[^>]*> nop -+0000ed78 <[^>]*> nop -+0000ed7c <[^>]*> nop -+0000ed80 <[^>]*> nop -+0000ed84 <[^>]*> nop -+0000ed88 <[^>]*> nop -+0000ed8c <[^>]*> nop -+0000ed90 <[^>]*> nop -+0000ed94 <[^>]*> nop -+0000ed98 <[^>]*> nop -+0000ed9c <[^>]*> nop -+0000eda0 <[^>]*> nop -+0000eda4 <[^>]*> nop -+0000eda8 <[^>]*> nop -+0000edac <[^>]*> nop -+0000edb0 <[^>]*> nop -+0000edb4 <[^>]*> nop -+0000edb8 <[^>]*> nop -+0000edbc <[^>]*> nop -+0000edc0 <[^>]*> nop -+0000edc4 <[^>]*> nop -+0000edc8 <[^>]*> nop -+0000edcc <[^>]*> nop -+0000edd0 <[^>]*> nop -+0000edd4 <[^>]*> nop -+0000edd8 <[^>]*> nop -+0000eddc <[^>]*> nop -+0000ede0 <[^>]*> nop -+0000ede4 <[^>]*> nop -+0000ede8 <[^>]*> nop -+0000edec <[^>]*> nop -+0000edf0 <[^>]*> nop -+0000edf4 <[^>]*> nop -+0000edf8 <[^>]*> nop -+0000edfc <[^>]*> nop -+0000ee00 <[^>]*> nop -+0000ee04 <[^>]*> nop -+0000ee08 <[^>]*> nop -+0000ee0c <[^>]*> nop -+0000ee10 <[^>]*> nop -+0000ee14 <[^>]*> nop -+0000ee18 <[^>]*> nop -+0000ee1c <[^>]*> nop -+0000ee20 <[^>]*> nop -+0000ee24 <[^>]*> nop -+0000ee28 <[^>]*> nop -+0000ee2c <[^>]*> nop -+0000ee30 <[^>]*> nop -+0000ee34 <[^>]*> nop -+0000ee38 <[^>]*> nop -+0000ee3c <[^>]*> nop -+0000ee40 <[^>]*> nop -+0000ee44 <[^>]*> nop -+0000ee48 <[^>]*> nop -+0000ee4c <[^>]*> nop -+0000ee50 <[^>]*> nop -+0000ee54 <[^>]*> nop -+0000ee58 <[^>]*> nop -+0000ee5c <[^>]*> nop -+0000ee60 <[^>]*> nop -+0000ee64 <[^>]*> nop -+0000ee68 <[^>]*> nop -+0000ee6c <[^>]*> nop -+0000ee70 <[^>]*> nop -+0000ee74 <[^>]*> nop -+0000ee78 <[^>]*> nop -+0000ee7c <[^>]*> nop -+0000ee80 <[^>]*> nop -+0000ee84 <[^>]*> nop -+0000ee88 <[^>]*> nop -+0000ee8c <[^>]*> nop -+0000ee90 <[^>]*> nop -+0000ee94 <[^>]*> nop -+0000ee98 <[^>]*> nop -+0000ee9c <[^>]*> nop -+0000eea0 <[^>]*> nop -+0000eea4 <[^>]*> nop -+0000eea8 <[^>]*> nop -+0000eeac <[^>]*> nop -+0000eeb0 <[^>]*> nop -+0000eeb4 <[^>]*> nop -+0000eeb8 <[^>]*> nop -+0000eebc <[^>]*> nop -+0000eec0 <[^>]*> nop -+0000eec4 <[^>]*> nop -+0000eec8 <[^>]*> nop -+0000eecc <[^>]*> nop -+0000eed0 <[^>]*> nop -+0000eed4 <[^>]*> nop -+0000eed8 <[^>]*> nop -+0000eedc <[^>]*> nop -+0000eee0 <[^>]*> nop -+0000eee4 <[^>]*> nop -+0000eee8 <[^>]*> nop -+0000eeec <[^>]*> nop -+0000eef0 <[^>]*> nop -+0000eef4 <[^>]*> nop -+0000eef8 <[^>]*> nop -+0000eefc <[^>]*> nop -+0000ef00 <[^>]*> nop -+0000ef04 <[^>]*> nop -+0000ef08 <[^>]*> nop -+0000ef0c <[^>]*> nop -+0000ef10 <[^>]*> nop -+0000ef14 <[^>]*> nop -+0000ef18 <[^>]*> nop -+0000ef1c <[^>]*> nop -+0000ef20 <[^>]*> nop -+0000ef24 <[^>]*> nop -+0000ef28 <[^>]*> nop -+0000ef2c <[^>]*> nop -+0000ef30 <[^>]*> nop -+0000ef34 <[^>]*> nop -+0000ef38 <[^>]*> nop -+0000ef3c <[^>]*> nop -+0000ef40 <[^>]*> nop -+0000ef44 <[^>]*> nop -+0000ef48 <[^>]*> nop -+0000ef4c <[^>]*> nop -+0000ef50 <[^>]*> nop -+0000ef54 <[^>]*> nop -+0000ef58 <[^>]*> nop -+0000ef5c <[^>]*> nop -+0000ef60 <[^>]*> nop -+0000ef64 <[^>]*> nop -+0000ef68 <[^>]*> nop -+0000ef6c <[^>]*> nop -+0000ef70 <[^>]*> nop -+0000ef74 <[^>]*> nop -+0000ef78 <[^>]*> nop -+0000ef7c <[^>]*> nop -+0000ef80 <[^>]*> nop -+0000ef84 <[^>]*> nop -+0000ef88 <[^>]*> nop -+0000ef8c <[^>]*> nop -+0000ef90 <[^>]*> nop -+0000ef94 <[^>]*> nop -+0000ef98 <[^>]*> nop -+0000ef9c <[^>]*> nop -+0000efa0 <[^>]*> nop -+0000efa4 <[^>]*> nop -+0000efa8 <[^>]*> nop -+0000efac <[^>]*> nop -+0000efb0 <[^>]*> nop -+0000efb4 <[^>]*> nop -+0000efb8 <[^>]*> nop -+0000efbc <[^>]*> nop -+0000efc0 <[^>]*> nop -+0000efc4 <[^>]*> nop -+0000efc8 <[^>]*> nop -+0000efcc <[^>]*> nop -+0000efd0 <[^>]*> nop -+0000efd4 <[^>]*> nop -+0000efd8 <[^>]*> nop -+0000efdc <[^>]*> nop -+0000efe0 <[^>]*> nop -+0000efe4 <[^>]*> nop -+0000efe8 <[^>]*> nop -+0000efec <[^>]*> nop -+0000eff0 <[^>]*> nop -+0000eff4 <[^>]*> nop -+0000eff8 <[^>]*> nop -+0000effc <[^>]*> nop -+0000f000 <[^>]*> nop -+0000f004 <[^>]*> nop -+0000f008 <[^>]*> nop -+0000f00c <[^>]*> nop -+0000f010 <[^>]*> nop -+0000f014 <[^>]*> nop -+0000f018 <[^>]*> nop -+0000f01c <[^>]*> nop -+0000f020 <[^>]*> nop -+0000f024 <[^>]*> nop -+0000f028 <[^>]*> nop -+0000f02c <[^>]*> nop -+0000f030 <[^>]*> nop -+0000f034 <[^>]*> nop -+0000f038 <[^>]*> nop -+0000f03c <[^>]*> nop -+0000f040 <[^>]*> nop -+0000f044 <[^>]*> nop -+0000f048 <[^>]*> nop -+0000f04c <[^>]*> nop -+0000f050 <[^>]*> nop -+0000f054 <[^>]*> nop -+0000f058 <[^>]*> nop -+0000f05c <[^>]*> nop -+0000f060 <[^>]*> nop -+0000f064 <[^>]*> nop -+0000f068 <[^>]*> nop -+0000f06c <[^>]*> nop -+0000f070 <[^>]*> nop -+0000f074 <[^>]*> nop -+0000f078 <[^>]*> nop -+0000f07c <[^>]*> nop -+0000f080 <[^>]*> nop -+0000f084 <[^>]*> nop -+0000f088 <[^>]*> nop -+0000f08c <[^>]*> nop -+0000f090 <[^>]*> nop -+0000f094 <[^>]*> nop -+0000f098 <[^>]*> nop -+0000f09c <[^>]*> nop -+0000f0a0 <[^>]*> nop -+0000f0a4 <[^>]*> nop -+0000f0a8 <[^>]*> nop -+0000f0ac <[^>]*> nop -+0000f0b0 <[^>]*> nop -+0000f0b4 <[^>]*> nop -+0000f0b8 <[^>]*> nop -+0000f0bc <[^>]*> nop -+0000f0c0 <[^>]*> nop -+0000f0c4 <[^>]*> nop -+0000f0c8 <[^>]*> nop -+0000f0cc <[^>]*> nop -+0000f0d0 <[^>]*> nop -+0000f0d4 <[^>]*> nop -+0000f0d8 <[^>]*> nop -+0000f0dc <[^>]*> nop -+0000f0e0 <[^>]*> nop -+0000f0e4 <[^>]*> nop -+0000f0e8 <[^>]*> nop -+0000f0ec <[^>]*> nop -+0000f0f0 <[^>]*> nop -+0000f0f4 <[^>]*> nop -+0000f0f8 <[^>]*> nop -+0000f0fc <[^>]*> nop -+0000f100 <[^>]*> nop -+0000f104 <[^>]*> nop -+0000f108 <[^>]*> nop -+0000f10c <[^>]*> nop -+0000f110 <[^>]*> nop -+0000f114 <[^>]*> nop -+0000f118 <[^>]*> nop -+0000f11c <[^>]*> nop -+0000f120 <[^>]*> nop -+0000f124 <[^>]*> nop -+0000f128 <[^>]*> nop -+0000f12c <[^>]*> nop -+0000f130 <[^>]*> nop -+0000f134 <[^>]*> nop -+0000f138 <[^>]*> nop -+0000f13c <[^>]*> nop -+0000f140 <[^>]*> nop -+0000f144 <[^>]*> nop -+0000f148 <[^>]*> nop -+0000f14c <[^>]*> nop -+0000f150 <[^>]*> nop -+0000f154 <[^>]*> nop -+0000f158 <[^>]*> nop -+0000f15c <[^>]*> nop -+0000f160 <[^>]*> nop -+0000f164 <[^>]*> nop -+0000f168 <[^>]*> nop -+0000f16c <[^>]*> nop -+0000f170 <[^>]*> nop -+0000f174 <[^>]*> nop -+0000f178 <[^>]*> nop -+0000f17c <[^>]*> nop -+0000f180 <[^>]*> nop -+0000f184 <[^>]*> nop -+0000f188 <[^>]*> nop -+0000f18c <[^>]*> nop -+0000f190 <[^>]*> nop -+0000f194 <[^>]*> nop -+0000f198 <[^>]*> nop -+0000f19c <[^>]*> nop -+0000f1a0 <[^>]*> nop -+0000f1a4 <[^>]*> nop -+0000f1a8 <[^>]*> nop -+0000f1ac <[^>]*> nop -+0000f1b0 <[^>]*> nop -+0000f1b4 <[^>]*> nop -+0000f1b8 <[^>]*> nop -+0000f1bc <[^>]*> nop -+0000f1c0 <[^>]*> nop -+0000f1c4 <[^>]*> nop -+0000f1c8 <[^>]*> nop -+0000f1cc <[^>]*> nop -+0000f1d0 <[^>]*> nop -+0000f1d4 <[^>]*> nop -+0000f1d8 <[^>]*> nop -+0000f1dc <[^>]*> nop -+0000f1e0 <[^>]*> nop -+0000f1e4 <[^>]*> nop -+0000f1e8 <[^>]*> nop -+0000f1ec <[^>]*> nop -+0000f1f0 <[^>]*> nop -+0000f1f4 <[^>]*> nop -+0000f1f8 <[^>]*> nop -+0000f1fc <[^>]*> nop -+0000f200 <[^>]*> nop -+0000f204 <[^>]*> nop -+0000f208 <[^>]*> nop -+0000f20c <[^>]*> nop -+0000f210 <[^>]*> nop -+0000f214 <[^>]*> nop -+0000f218 <[^>]*> nop -+0000f21c <[^>]*> nop -+0000f220 <[^>]*> nop -+0000f224 <[^>]*> nop -+0000f228 <[^>]*> nop -+0000f22c <[^>]*> nop -+0000f230 <[^>]*> nop -+0000f234 <[^>]*> nop -+0000f238 <[^>]*> nop -+0000f23c <[^>]*> nop -+0000f240 <[^>]*> nop -+0000f244 <[^>]*> nop -+0000f248 <[^>]*> nop -+0000f24c <[^>]*> nop -+0000f250 <[^>]*> nop -+0000f254 <[^>]*> nop -+0000f258 <[^>]*> nop -+0000f25c <[^>]*> nop -+0000f260 <[^>]*> nop -+0000f264 <[^>]*> nop -+0000f268 <[^>]*> nop -+0000f26c <[^>]*> nop -+0000f270 <[^>]*> nop -+0000f274 <[^>]*> nop -+0000f278 <[^>]*> nop -+0000f27c <[^>]*> nop -+0000f280 <[^>]*> nop -+0000f284 <[^>]*> nop -+0000f288 <[^>]*> nop -+0000f28c <[^>]*> nop -+0000f290 <[^>]*> nop -+0000f294 <[^>]*> nop -+0000f298 <[^>]*> nop -+0000f29c <[^>]*> nop -+0000f2a0 <[^>]*> nop -+0000f2a4 <[^>]*> nop -+0000f2a8 <[^>]*> nop -+0000f2ac <[^>]*> nop -+0000f2b0 <[^>]*> nop -+0000f2b4 <[^>]*> nop -+0000f2b8 <[^>]*> nop -+0000f2bc <[^>]*> nop -+0000f2c0 <[^>]*> nop -+0000f2c4 <[^>]*> nop -+0000f2c8 <[^>]*> nop -+0000f2cc <[^>]*> nop -+0000f2d0 <[^>]*> nop -+0000f2d4 <[^>]*> nop -+0000f2d8 <[^>]*> nop -+0000f2dc <[^>]*> nop -+0000f2e0 <[^>]*> nop -+0000f2e4 <[^>]*> nop -+0000f2e8 <[^>]*> nop -+0000f2ec <[^>]*> nop -+0000f2f0 <[^>]*> nop -+0000f2f4 <[^>]*> nop -+0000f2f8 <[^>]*> nop -+0000f2fc <[^>]*> nop -+0000f300 <[^>]*> nop -+0000f304 <[^>]*> nop -+0000f308 <[^>]*> nop -+0000f30c <[^>]*> nop -+0000f310 <[^>]*> nop -+0000f314 <[^>]*> nop -+0000f318 <[^>]*> nop -+0000f31c <[^>]*> nop -+0000f320 <[^>]*> nop -+0000f324 <[^>]*> nop -+0000f328 <[^>]*> nop -+0000f32c <[^>]*> nop -+0000f330 <[^>]*> nop -+0000f334 <[^>]*> nop -+0000f338 <[^>]*> nop -+0000f33c <[^>]*> nop -+0000f340 <[^>]*> nop -+0000f344 <[^>]*> nop -+0000f348 <[^>]*> nop -+0000f34c <[^>]*> nop -+0000f350 <[^>]*> nop -+0000f354 <[^>]*> nop -+0000f358 <[^>]*> nop -+0000f35c <[^>]*> nop -+0000f360 <[^>]*> nop -+0000f364 <[^>]*> nop -+0000f368 <[^>]*> nop -+0000f36c <[^>]*> nop -+0000f370 <[^>]*> nop -+0000f374 <[^>]*> nop -+0000f378 <[^>]*> nop -+0000f37c <[^>]*> nop -+0000f380 <[^>]*> nop -+0000f384 <[^>]*> nop -+0000f388 <[^>]*> nop -+0000f38c <[^>]*> nop -+0000f390 <[^>]*> nop -+0000f394 <[^>]*> nop -+0000f398 <[^>]*> nop -+0000f39c <[^>]*> nop -+0000f3a0 <[^>]*> nop -+0000f3a4 <[^>]*> nop -+0000f3a8 <[^>]*> nop -+0000f3ac <[^>]*> nop -+0000f3b0 <[^>]*> nop -+0000f3b4 <[^>]*> nop -+0000f3b8 <[^>]*> nop -+0000f3bc <[^>]*> nop -+0000f3c0 <[^>]*> nop -+0000f3c4 <[^>]*> nop -+0000f3c8 <[^>]*> nop -+0000f3cc <[^>]*> nop -+0000f3d0 <[^>]*> nop -+0000f3d4 <[^>]*> nop -+0000f3d8 <[^>]*> nop -+0000f3dc <[^>]*> nop -+0000f3e0 <[^>]*> nop -+0000f3e4 <[^>]*> nop -+0000f3e8 <[^>]*> nop -+0000f3ec <[^>]*> nop -+0000f3f0 <[^>]*> nop -+0000f3f4 <[^>]*> nop -+0000f3f8 <[^>]*> nop -+0000f3fc <[^>]*> nop -+0000f400 <[^>]*> nop -+0000f404 <[^>]*> nop -+0000f408 <[^>]*> nop -+0000f40c <[^>]*> nop -+0000f410 <[^>]*> nop -+0000f414 <[^>]*> nop -+0000f418 <[^>]*> nop -+0000f41c <[^>]*> nop -+0000f420 <[^>]*> nop -+0000f424 <[^>]*> nop -+0000f428 <[^>]*> nop -+0000f42c <[^>]*> nop -+0000f430 <[^>]*> nop -+0000f434 <[^>]*> nop -+0000f438 <[^>]*> nop -+0000f43c <[^>]*> nop -+0000f440 <[^>]*> nop -+0000f444 <[^>]*> nop -+0000f448 <[^>]*> nop -+0000f44c <[^>]*> nop -+0000f450 <[^>]*> nop -+0000f454 <[^>]*> nop -+0000f458 <[^>]*> nop -+0000f45c <[^>]*> nop -+0000f460 <[^>]*> nop -+0000f464 <[^>]*> nop -+0000f468 <[^>]*> nop -+0000f46c <[^>]*> nop -+0000f470 <[^>]*> nop -+0000f474 <[^>]*> nop -+0000f478 <[^>]*> nop -+0000f47c <[^>]*> nop -+0000f480 <[^>]*> nop -+0000f484 <[^>]*> nop -+0000f488 <[^>]*> nop -+0000f48c <[^>]*> nop -+0000f490 <[^>]*> nop -+0000f494 <[^>]*> nop -+0000f498 <[^>]*> nop -+0000f49c <[^>]*> nop -+0000f4a0 <[^>]*> nop -+0000f4a4 <[^>]*> nop -+0000f4a8 <[^>]*> nop -+0000f4ac <[^>]*> nop -+0000f4b0 <[^>]*> nop -+0000f4b4 <[^>]*> nop -+0000f4b8 <[^>]*> nop -+0000f4bc <[^>]*> nop -+0000f4c0 <[^>]*> nop -+0000f4c4 <[^>]*> nop -+0000f4c8 <[^>]*> nop -+0000f4cc <[^>]*> nop -+0000f4d0 <[^>]*> nop -+0000f4d4 <[^>]*> nop -+0000f4d8 <[^>]*> nop -+0000f4dc <[^>]*> nop -+0000f4e0 <[^>]*> nop -+0000f4e4 <[^>]*> nop -+0000f4e8 <[^>]*> nop -+0000f4ec <[^>]*> nop -+0000f4f0 <[^>]*> nop -+0000f4f4 <[^>]*> nop -+0000f4f8 <[^>]*> nop -+0000f4fc <[^>]*> nop -+0000f500 <[^>]*> nop -+0000f504 <[^>]*> nop -+0000f508 <[^>]*> nop -+0000f50c <[^>]*> nop -+0000f510 <[^>]*> nop -+0000f514 <[^>]*> nop -+0000f518 <[^>]*> nop -+0000f51c <[^>]*> nop -+0000f520 <[^>]*> nop -+0000f524 <[^>]*> nop -+0000f528 <[^>]*> nop -+0000f52c <[^>]*> nop -+0000f530 <[^>]*> nop -+0000f534 <[^>]*> nop -+0000f538 <[^>]*> nop -+0000f53c <[^>]*> nop -+0000f540 <[^>]*> nop -+0000f544 <[^>]*> nop -+0000f548 <[^>]*> nop -+0000f54c <[^>]*> nop -+0000f550 <[^>]*> nop -+0000f554 <[^>]*> nop -+0000f558 <[^>]*> nop -+0000f55c <[^>]*> nop -+0000f560 <[^>]*> nop -+0000f564 <[^>]*> nop -+0000f568 <[^>]*> nop -+0000f56c <[^>]*> nop -+0000f570 <[^>]*> nop -+0000f574 <[^>]*> nop -+0000f578 <[^>]*> nop -+0000f57c <[^>]*> nop -+0000f580 <[^>]*> nop -+0000f584 <[^>]*> nop -+0000f588 <[^>]*> nop -+0000f58c <[^>]*> nop -+0000f590 <[^>]*> nop -+0000f594 <[^>]*> nop -+0000f598 <[^>]*> nop -+0000f59c <[^>]*> nop -+0000f5a0 <[^>]*> nop -+0000f5a4 <[^>]*> nop -+0000f5a8 <[^>]*> nop -+0000f5ac <[^>]*> nop -+0000f5b0 <[^>]*> nop -+0000f5b4 <[^>]*> nop -+0000f5b8 <[^>]*> nop -+0000f5bc <[^>]*> nop -+0000f5c0 <[^>]*> nop -+0000f5c4 <[^>]*> nop -+0000f5c8 <[^>]*> nop -+0000f5cc <[^>]*> nop -+0000f5d0 <[^>]*> nop -+0000f5d4 <[^>]*> nop -+0000f5d8 <[^>]*> nop -+0000f5dc <[^>]*> nop -+0000f5e0 <[^>]*> nop -+0000f5e4 <[^>]*> nop -+0000f5e8 <[^>]*> nop -+0000f5ec <[^>]*> nop -+0000f5f0 <[^>]*> nop -+0000f5f4 <[^>]*> nop -+0000f5f8 <[^>]*> nop -+0000f5fc <[^>]*> nop -+0000f600 <[^>]*> nop -+0000f604 <[^>]*> nop -+0000f608 <[^>]*> nop -+0000f60c <[^>]*> nop -+0000f610 <[^>]*> nop -+0000f614 <[^>]*> nop -+0000f618 <[^>]*> nop -+0000f61c <[^>]*> nop -+0000f620 <[^>]*> nop -+0000f624 <[^>]*> nop -+0000f628 <[^>]*> nop -+0000f62c <[^>]*> nop -+0000f630 <[^>]*> nop -+0000f634 <[^>]*> nop -+0000f638 <[^>]*> nop -+0000f63c <[^>]*> nop -+0000f640 <[^>]*> nop -+0000f644 <[^>]*> nop -+0000f648 <[^>]*> nop -+0000f64c <[^>]*> nop -+0000f650 <[^>]*> nop -+0000f654 <[^>]*> nop -+0000f658 <[^>]*> nop -+0000f65c <[^>]*> nop -+0000f660 <[^>]*> nop -+0000f664 <[^>]*> nop -+0000f668 <[^>]*> nop -+0000f66c <[^>]*> nop -+0000f670 <[^>]*> nop -+0000f674 <[^>]*> nop -+0000f678 <[^>]*> nop -+0000f67c <[^>]*> nop -+0000f680 <[^>]*> nop -+0000f684 <[^>]*> nop -+0000f688 <[^>]*> nop -+0000f68c <[^>]*> nop -+0000f690 <[^>]*> nop -+0000f694 <[^>]*> nop -+0000f698 <[^>]*> nop -+0000f69c <[^>]*> nop -+0000f6a0 <[^>]*> nop -+0000f6a4 <[^>]*> nop -+0000f6a8 <[^>]*> nop -+0000f6ac <[^>]*> nop -+0000f6b0 <[^>]*> nop -+0000f6b4 <[^>]*> nop -+0000f6b8 <[^>]*> nop -+0000f6bc <[^>]*> nop -+0000f6c0 <[^>]*> nop -+0000f6c4 <[^>]*> nop -+0000f6c8 <[^>]*> nop -+0000f6cc <[^>]*> nop -+0000f6d0 <[^>]*> nop -+0000f6d4 <[^>]*> nop -+0000f6d8 <[^>]*> nop -+0000f6dc <[^>]*> nop -+0000f6e0 <[^>]*> nop -+0000f6e4 <[^>]*> nop -+0000f6e8 <[^>]*> nop -+0000f6ec <[^>]*> nop -+0000f6f0 <[^>]*> nop -+0000f6f4 <[^>]*> nop -+0000f6f8 <[^>]*> nop -+0000f6fc <[^>]*> nop -+0000f700 <[^>]*> nop -+0000f704 <[^>]*> nop -+0000f708 <[^>]*> nop -+0000f70c <[^>]*> nop -+0000f710 <[^>]*> nop -+0000f714 <[^>]*> nop -+0000f718 <[^>]*> nop -+0000f71c <[^>]*> nop -+0000f720 <[^>]*> nop -+0000f724 <[^>]*> nop -+0000f728 <[^>]*> nop -+0000f72c <[^>]*> nop -+0000f730 <[^>]*> nop -+0000f734 <[^>]*> nop -+0000f738 <[^>]*> nop -+0000f73c <[^>]*> nop -+0000f740 <[^>]*> nop -+0000f744 <[^>]*> nop -+0000f748 <[^>]*> nop -+0000f74c <[^>]*> nop -+0000f750 <[^>]*> nop -+0000f754 <[^>]*> nop -+0000f758 <[^>]*> nop -+0000f75c <[^>]*> nop -+0000f760 <[^>]*> nop -+0000f764 <[^>]*> nop -+0000f768 <[^>]*> nop -+0000f76c <[^>]*> nop -+0000f770 <[^>]*> nop -+0000f774 <[^>]*> nop -+0000f778 <[^>]*> nop -+0000f77c <[^>]*> nop -+0000f780 <[^>]*> nop -+0000f784 <[^>]*> nop -+0000f788 <[^>]*> nop -+0000f78c <[^>]*> nop -+0000f790 <[^>]*> nop -+0000f794 <[^>]*> nop -+0000f798 <[^>]*> nop -+0000f79c <[^>]*> nop -+0000f7a0 <[^>]*> nop -+0000f7a4 <[^>]*> nop -+0000f7a8 <[^>]*> nop -+0000f7ac <[^>]*> nop -+0000f7b0 <[^>]*> nop -+0000f7b4 <[^>]*> nop -+0000f7b8 <[^>]*> nop -+0000f7bc <[^>]*> nop -+0000f7c0 <[^>]*> nop -+0000f7c4 <[^>]*> nop -+0000f7c8 <[^>]*> nop -+0000f7cc <[^>]*> nop -+0000f7d0 <[^>]*> nop -+0000f7d4 <[^>]*> nop -+0000f7d8 <[^>]*> nop -+0000f7dc <[^>]*> nop -+0000f7e0 <[^>]*> nop -+0000f7e4 <[^>]*> nop -+0000f7e8 <[^>]*> nop -+0000f7ec <[^>]*> nop -+0000f7f0 <[^>]*> nop -+0000f7f4 <[^>]*> nop -+0000f7f8 <[^>]*> nop -+0000f7fc <[^>]*> nop -+0000f800 <[^>]*> nop -+0000f804 <[^>]*> nop -+0000f808 <[^>]*> nop -+0000f80c <[^>]*> nop -+0000f810 <[^>]*> nop -+0000f814 <[^>]*> nop -+0000f818 <[^>]*> nop -+0000f81c <[^>]*> nop -+0000f820 <[^>]*> nop -+0000f824 <[^>]*> nop -+0000f828 <[^>]*> nop -+0000f82c <[^>]*> nop -+0000f830 <[^>]*> nop -+0000f834 <[^>]*> nop -+0000f838 <[^>]*> nop -+0000f83c <[^>]*> nop -+0000f840 <[^>]*> nop -+0000f844 <[^>]*> nop -+0000f848 <[^>]*> nop -+0000f84c <[^>]*> nop -+0000f850 <[^>]*> nop -+0000f854 <[^>]*> nop -+0000f858 <[^>]*> nop -+0000f85c <[^>]*> nop -+0000f860 <[^>]*> nop -+0000f864 <[^>]*> nop -+0000f868 <[^>]*> nop -+0000f86c <[^>]*> nop -+0000f870 <[^>]*> nop -+0000f874 <[^>]*> nop -+0000f878 <[^>]*> nop -+0000f87c <[^>]*> nop -+0000f880 <[^>]*> nop -+0000f884 <[^>]*> nop -+0000f888 <[^>]*> nop -+0000f88c <[^>]*> nop -+0000f890 <[^>]*> nop -+0000f894 <[^>]*> nop -+0000f898 <[^>]*> nop -+0000f89c <[^>]*> nop -+0000f8a0 <[^>]*> nop -+0000f8a4 <[^>]*> nop -+0000f8a8 <[^>]*> nop -+0000f8ac <[^>]*> nop -+0000f8b0 <[^>]*> nop -+0000f8b4 <[^>]*> nop -+0000f8b8 <[^>]*> nop -+0000f8bc <[^>]*> nop -+0000f8c0 <[^>]*> nop -+0000f8c4 <[^>]*> nop -+0000f8c8 <[^>]*> nop -+0000f8cc <[^>]*> nop -+0000f8d0 <[^>]*> nop -+0000f8d4 <[^>]*> nop -+0000f8d8 <[^>]*> nop -+0000f8dc <[^>]*> nop -+0000f8e0 <[^>]*> nop -+0000f8e4 <[^>]*> nop -+0000f8e8 <[^>]*> nop -+0000f8ec <[^>]*> nop -+0000f8f0 <[^>]*> nop -+0000f8f4 <[^>]*> nop -+0000f8f8 <[^>]*> nop -+0000f8fc <[^>]*> nop -+0000f900 <[^>]*> nop -+0000f904 <[^>]*> nop -+0000f908 <[^>]*> nop -+0000f90c <[^>]*> nop -+0000f910 <[^>]*> nop -+0000f914 <[^>]*> nop -+0000f918 <[^>]*> nop -+0000f91c <[^>]*> nop -+0000f920 <[^>]*> nop -+0000f924 <[^>]*> nop -+0000f928 <[^>]*> nop -+0000f92c <[^>]*> nop -+0000f930 <[^>]*> nop -+0000f934 <[^>]*> nop -+0000f938 <[^>]*> nop -+0000f93c <[^>]*> nop -+0000f940 <[^>]*> nop -+0000f944 <[^>]*> nop -+0000f948 <[^>]*> nop -+0000f94c <[^>]*> nop -+0000f950 <[^>]*> nop -+0000f954 <[^>]*> nop -+0000f958 <[^>]*> nop -+0000f95c <[^>]*> nop -+0000f960 <[^>]*> nop -+0000f964 <[^>]*> nop -+0000f968 <[^>]*> nop -+0000f96c <[^>]*> nop -+0000f970 <[^>]*> nop -+0000f974 <[^>]*> nop -+0000f978 <[^>]*> nop -+0000f97c <[^>]*> nop -+0000f980 <[^>]*> nop -+0000f984 <[^>]*> nop -+0000f988 <[^>]*> nop -+0000f98c <[^>]*> nop -+0000f990 <[^>]*> nop -+0000f994 <[^>]*> nop -+0000f998 <[^>]*> nop -+0000f99c <[^>]*> nop -+0000f9a0 <[^>]*> nop -+0000f9a4 <[^>]*> nop -+0000f9a8 <[^>]*> nop -+0000f9ac <[^>]*> nop -+0000f9b0 <[^>]*> nop -+0000f9b4 <[^>]*> nop -+0000f9b8 <[^>]*> nop -+0000f9bc <[^>]*> nop -+0000f9c0 <[^>]*> nop -+0000f9c4 <[^>]*> nop -+0000f9c8 <[^>]*> nop -+0000f9cc <[^>]*> nop -+0000f9d0 <[^>]*> nop -+0000f9d4 <[^>]*> nop -+0000f9d8 <[^>]*> nop -+0000f9dc <[^>]*> nop -+0000f9e0 <[^>]*> nop -+0000f9e4 <[^>]*> nop -+0000f9e8 <[^>]*> nop -+0000f9ec <[^>]*> nop -+0000f9f0 <[^>]*> nop -+0000f9f4 <[^>]*> nop -+0000f9f8 <[^>]*> nop -+0000f9fc <[^>]*> nop -+0000fa00 <[^>]*> nop -+0000fa04 <[^>]*> nop -+0000fa08 <[^>]*> nop -+0000fa0c <[^>]*> nop -+0000fa10 <[^>]*> nop -+0000fa14 <[^>]*> nop -+0000fa18 <[^>]*> nop -+0000fa1c <[^>]*> nop -+0000fa20 <[^>]*> nop -+0000fa24 <[^>]*> nop -+0000fa28 <[^>]*> nop -+0000fa2c <[^>]*> nop -+0000fa30 <[^>]*> nop -+0000fa34 <[^>]*> nop -+0000fa38 <[^>]*> nop -+0000fa3c <[^>]*> nop -+0000fa40 <[^>]*> nop -+0000fa44 <[^>]*> nop -+0000fa48 <[^>]*> nop -+0000fa4c <[^>]*> nop -+0000fa50 <[^>]*> nop -+0000fa54 <[^>]*> nop -+0000fa58 <[^>]*> nop -+0000fa5c <[^>]*> nop -+0000fa60 <[^>]*> nop -+0000fa64 <[^>]*> nop -+0000fa68 <[^>]*> nop -+0000fa6c <[^>]*> nop -+0000fa70 <[^>]*> nop -+0000fa74 <[^>]*> nop -+0000fa78 <[^>]*> nop -+0000fa7c <[^>]*> nop -+0000fa80 <[^>]*> nop -+0000fa84 <[^>]*> nop -+0000fa88 <[^>]*> nop -+0000fa8c <[^>]*> nop -+0000fa90 <[^>]*> nop -+0000fa94 <[^>]*> nop -+0000fa98 <[^>]*> nop -+0000fa9c <[^>]*> nop -+0000faa0 <[^>]*> nop -+0000faa4 <[^>]*> nop -+0000faa8 <[^>]*> nop -+0000faac <[^>]*> nop -+0000fab0 <[^>]*> nop -+0000fab4 <[^>]*> nop -+0000fab8 <[^>]*> nop -+0000fabc <[^>]*> nop -+0000fac0 <[^>]*> nop -+0000fac4 <[^>]*> nop -+0000fac8 <[^>]*> nop -+0000facc <[^>]*> nop -+0000fad0 <[^>]*> nop -+0000fad4 <[^>]*> nop -+0000fad8 <[^>]*> nop -+0000fadc <[^>]*> nop -+0000fae0 <[^>]*> nop -+0000fae4 <[^>]*> nop -+0000fae8 <[^>]*> nop -+0000faec <[^>]*> nop -+0000faf0 <[^>]*> nop -+0000faf4 <[^>]*> nop -+0000faf8 <[^>]*> nop -+0000fafc <[^>]*> nop -+0000fb00 <[^>]*> nop -+0000fb04 <[^>]*> nop -+0000fb08 <[^>]*> nop -+0000fb0c <[^>]*> nop -+0000fb10 <[^>]*> nop -+0000fb14 <[^>]*> nop -+0000fb18 <[^>]*> nop -+0000fb1c <[^>]*> nop -+0000fb20 <[^>]*> nop -+0000fb24 <[^>]*> nop -+0000fb28 <[^>]*> nop -+0000fb2c <[^>]*> nop -+0000fb30 <[^>]*> nop -+0000fb34 <[^>]*> nop -+0000fb38 <[^>]*> nop -+0000fb3c <[^>]*> nop -+0000fb40 <[^>]*> nop -+0000fb44 <[^>]*> nop -+0000fb48 <[^>]*> nop -+0000fb4c <[^>]*> nop -+0000fb50 <[^>]*> nop -+0000fb54 <[^>]*> nop -+0000fb58 <[^>]*> nop -+0000fb5c <[^>]*> nop -+0000fb60 <[^>]*> nop -+0000fb64 <[^>]*> nop -+0000fb68 <[^>]*> nop -+0000fb6c <[^>]*> nop -+0000fb70 <[^>]*> nop -+0000fb74 <[^>]*> nop -+0000fb78 <[^>]*> nop -+0000fb7c <[^>]*> nop -+0000fb80 <[^>]*> nop -+0000fb84 <[^>]*> nop -+0000fb88 <[^>]*> nop -+0000fb8c <[^>]*> nop -+0000fb90 <[^>]*> nop -+0000fb94 <[^>]*> nop -+0000fb98 <[^>]*> nop -+0000fb9c <[^>]*> nop -+0000fba0 <[^>]*> nop -+0000fba4 <[^>]*> nop -+0000fba8 <[^>]*> nop -+0000fbac <[^>]*> nop -+0000fbb0 <[^>]*> nop -+0000fbb4 <[^>]*> nop -+0000fbb8 <[^>]*> nop -+0000fbbc <[^>]*> nop -+0000fbc0 <[^>]*> nop -+0000fbc4 <[^>]*> nop -+0000fbc8 <[^>]*> nop -+0000fbcc <[^>]*> nop -+0000fbd0 <[^>]*> nop -+0000fbd4 <[^>]*> nop -+0000fbd8 <[^>]*> nop -+0000fbdc <[^>]*> nop -+0000fbe0 <[^>]*> nop -+0000fbe4 <[^>]*> nop -+0000fbe8 <[^>]*> nop -+0000fbec <[^>]*> nop -+0000fbf0 <[^>]*> nop -+0000fbf4 <[^>]*> nop -+0000fbf8 <[^>]*> nop -+0000fbfc <[^>]*> nop -+0000fc00 <[^>]*> nop -+0000fc04 <[^>]*> nop -+0000fc08 <[^>]*> nop -+0000fc0c <[^>]*> nop -+0000fc10 <[^>]*> nop -+0000fc14 <[^>]*> nop -+0000fc18 <[^>]*> nop -+0000fc1c <[^>]*> nop -+0000fc20 <[^>]*> nop -+0000fc24 <[^>]*> nop -+0000fc28 <[^>]*> nop -+0000fc2c <[^>]*> nop -+0000fc30 <[^>]*> nop -+0000fc34 <[^>]*> nop -+0000fc38 <[^>]*> nop -+0000fc3c <[^>]*> nop -+0000fc40 <[^>]*> nop -+0000fc44 <[^>]*> nop -+0000fc48 <[^>]*> nop -+0000fc4c <[^>]*> nop -+0000fc50 <[^>]*> nop -+0000fc54 <[^>]*> nop -+0000fc58 <[^>]*> nop -+0000fc5c <[^>]*> nop -+0000fc60 <[^>]*> nop -+0000fc64 <[^>]*> nop -+0000fc68 <[^>]*> nop -+0000fc6c <[^>]*> nop -+0000fc70 <[^>]*> nop -+0000fc74 <[^>]*> nop -+0000fc78 <[^>]*> nop -+0000fc7c <[^>]*> nop -+0000fc80 <[^>]*> nop -+0000fc84 <[^>]*> nop -+0000fc88 <[^>]*> nop -+0000fc8c <[^>]*> nop -+0000fc90 <[^>]*> nop -+0000fc94 <[^>]*> nop -+0000fc98 <[^>]*> nop -+0000fc9c <[^>]*> nop -+0000fca0 <[^>]*> nop -+0000fca4 <[^>]*> nop -+0000fca8 <[^>]*> nop -+0000fcac <[^>]*> nop -+0000fcb0 <[^>]*> nop -+0000fcb4 <[^>]*> nop -+0000fcb8 <[^>]*> nop -+0000fcbc <[^>]*> nop -+0000fcc0 <[^>]*> nop -+0000fcc4 <[^>]*> nop -+0000fcc8 <[^>]*> nop -+0000fccc <[^>]*> nop -+0000fcd0 <[^>]*> nop -+0000fcd4 <[^>]*> nop -+0000fcd8 <[^>]*> nop -+0000fcdc <[^>]*> nop -+0000fce0 <[^>]*> nop -+0000fce4 <[^>]*> nop -+0000fce8 <[^>]*> nop -+0000fcec <[^>]*> nop -+0000fcf0 <[^>]*> nop -+0000fcf4 <[^>]*> nop -+0000fcf8 <[^>]*> nop -+0000fcfc <[^>]*> nop -+0000fd00 <[^>]*> nop -+0000fd04 <[^>]*> nop -+0000fd08 <[^>]*> nop -+0000fd0c <[^>]*> nop -+0000fd10 <[^>]*> nop -+0000fd14 <[^>]*> nop -+0000fd18 <[^>]*> nop -+0000fd1c <[^>]*> nop -+0000fd20 <[^>]*> nop -+0000fd24 <[^>]*> nop -+0000fd28 <[^>]*> nop -+0000fd2c <[^>]*> nop -+0000fd30 <[^>]*> nop -+0000fd34 <[^>]*> nop -+0000fd38 <[^>]*> nop -+0000fd3c <[^>]*> nop -+0000fd40 <[^>]*> nop -+0000fd44 <[^>]*> nop -+0000fd48 <[^>]*> nop -+0000fd4c <[^>]*> nop -+0000fd50 <[^>]*> nop -+0000fd54 <[^>]*> nop -+0000fd58 <[^>]*> nop -+0000fd5c <[^>]*> nop -+0000fd60 <[^>]*> nop -+0000fd64 <[^>]*> nop -+0000fd68 <[^>]*> nop -+0000fd6c <[^>]*> nop -+0000fd70 <[^>]*> nop -+0000fd74 <[^>]*> nop -+0000fd78 <[^>]*> nop -+0000fd7c <[^>]*> nop -+0000fd80 <[^>]*> nop -+0000fd84 <[^>]*> nop -+0000fd88 <[^>]*> nop -+0000fd8c <[^>]*> nop -+0000fd90 <[^>]*> nop -+0000fd94 <[^>]*> nop -+0000fd98 <[^>]*> nop -+0000fd9c <[^>]*> nop -+0000fda0 <[^>]*> nop -+0000fda4 <[^>]*> nop -+0000fda8 <[^>]*> nop -+0000fdac <[^>]*> nop -+0000fdb0 <[^>]*> nop -+0000fdb4 <[^>]*> nop -+0000fdb8 <[^>]*> nop -+0000fdbc <[^>]*> nop -+0000fdc0 <[^>]*> nop -+0000fdc4 <[^>]*> nop -+0000fdc8 <[^>]*> nop -+0000fdcc <[^>]*> nop -+0000fdd0 <[^>]*> nop -+0000fdd4 <[^>]*> nop -+0000fdd8 <[^>]*> nop -+0000fddc <[^>]*> nop -+0000fde0 <[^>]*> nop -+0000fde4 <[^>]*> nop -+0000fde8 <[^>]*> nop -+0000fdec <[^>]*> nop -+0000fdf0 <[^>]*> nop -+0000fdf4 <[^>]*> nop -+0000fdf8 <[^>]*> nop -+0000fdfc <[^>]*> nop -+0000fe00 <[^>]*> nop -+0000fe04 <[^>]*> nop -+0000fe08 <[^>]*> nop -+0000fe0c <[^>]*> nop -+0000fe10 <[^>]*> nop -+0000fe14 <[^>]*> nop -+0000fe18 <[^>]*> nop -+0000fe1c <[^>]*> nop -+0000fe20 <[^>]*> nop -+0000fe24 <[^>]*> nop -+0000fe28 <[^>]*> nop -+0000fe2c <[^>]*> nop -+0000fe30 <[^>]*> nop -+0000fe34 <[^>]*> nop -+0000fe38 <[^>]*> nop -+0000fe3c <[^>]*> nop -+0000fe40 <[^>]*> nop -+0000fe44 <[^>]*> nop -+0000fe48 <[^>]*> nop -+0000fe4c <[^>]*> nop -+0000fe50 <[^>]*> nop -+0000fe54 <[^>]*> nop -+0000fe58 <[^>]*> nop -+0000fe5c <[^>]*> nop -+0000fe60 <[^>]*> nop -+0000fe64 <[^>]*> nop -+0000fe68 <[^>]*> nop -+0000fe6c <[^>]*> nop -+0000fe70 <[^>]*> nop -+0000fe74 <[^>]*> nop -+0000fe78 <[^>]*> nop -+0000fe7c <[^>]*> nop -+0000fe80 <[^>]*> nop -+0000fe84 <[^>]*> nop -+0000fe88 <[^>]*> nop -+0000fe8c <[^>]*> nop -+0000fe90 <[^>]*> nop -+0000fe94 <[^>]*> nop -+0000fe98 <[^>]*> nop -+0000fe9c <[^>]*> nop -+0000fea0 <[^>]*> nop -+0000fea4 <[^>]*> nop -+0000fea8 <[^>]*> nop -+0000feac <[^>]*> nop -+0000feb0 <[^>]*> nop -+0000feb4 <[^>]*> nop -+0000feb8 <[^>]*> nop -+0000febc <[^>]*> nop -+0000fec0 <[^>]*> nop -+0000fec4 <[^>]*> nop -+0000fec8 <[^>]*> nop -+0000fecc <[^>]*> nop -+0000fed0 <[^>]*> nop -+0000fed4 <[^>]*> nop -+0000fed8 <[^>]*> nop -+0000fedc <[^>]*> nop -+0000fee0 <[^>]*> nop -+0000fee4 <[^>]*> nop -+0000fee8 <[^>]*> nop -+0000feec <[^>]*> nop -+0000fef0 <[^>]*> nop -+0000fef4 <[^>]*> nop -+0000fef8 <[^>]*> nop -+0000fefc <[^>]*> nop -+0000ff00 <[^>]*> nop -+0000ff04 <[^>]*> nop -+0000ff08 <[^>]*> nop -+0000ff0c <[^>]*> nop -+0000ff10 <[^>]*> nop -+0000ff14 <[^>]*> nop -+0000ff18 <[^>]*> nop -+0000ff1c <[^>]*> nop -+0000ff20 <[^>]*> nop -+0000ff24 <[^>]*> nop -+0000ff28 <[^>]*> nop -+0000ff2c <[^>]*> nop -+0000ff30 <[^>]*> nop -+0000ff34 <[^>]*> nop -+0000ff38 <[^>]*> nop -+0000ff3c <[^>]*> nop -+0000ff40 <[^>]*> nop -+0000ff44 <[^>]*> nop -+0000ff48 <[^>]*> nop -+0000ff4c <[^>]*> nop -+0000ff50 <[^>]*> nop -+0000ff54 <[^>]*> nop -+0000ff58 <[^>]*> nop -+0000ff5c <[^>]*> nop -+0000ff60 <[^>]*> nop -+0000ff64 <[^>]*> nop -+0000ff68 <[^>]*> nop -+0000ff6c <[^>]*> nop -+0000ff70 <[^>]*> nop -+0000ff74 <[^>]*> nop -+0000ff78 <[^>]*> nop -+0000ff7c <[^>]*> nop -+0000ff80 <[^>]*> nop -+0000ff84 <[^>]*> nop -+0000ff88 <[^>]*> nop -+0000ff8c <[^>]*> nop -+0000ff90 <[^>]*> nop -+0000ff94 <[^>]*> nop -+0000ff98 <[^>]*> nop -+0000ff9c <[^>]*> nop -+0000ffa0 <[^>]*> nop -+0000ffa4 <[^>]*> nop -+0000ffa8 <[^>]*> nop -+0000ffac <[^>]*> nop -+0000ffb0 <[^>]*> nop -+0000ffb4 <[^>]*> nop -+0000ffb8 <[^>]*> nop -+0000ffbc <[^>]*> nop -+0000ffc0 <[^>]*> nop -+0000ffc4 <[^>]*> nop -+0000ffc8 <[^>]*> nop -+0000ffcc <[^>]*> nop -+0000ffd0 <[^>]*> nop -+0000ffd4 <[^>]*> nop -+0000ffd8 <[^>]*> nop -+0000ffdc <[^>]*> nop -+0000ffe0 <[^>]*> nop -+0000ffe4 <[^>]*> nop -+0000ffe8 <[^>]*> nop -+0000ffec <[^>]*> nop -+0000fff0 <[^>]*> nop -+0000fff4 <[^>]*> nop -+0000fff8 <[^>]*> nop -+0000fffc <[^>]*> nop -+00010000 <[^>]*> bne r2,r3,00010024 <[^>]*> -+00010004 <[^>]*> nop -+00010008 <[^>]*> nop -+0001000c <[^>]*> nop -+00010010 <[^>]*> nop -+00010014 <[^>]*> nop -+00010018 <[^>]*> nop -+0001001c <[^>]*> nop -+00010020 <[^>]*> nop -+00010024 <[^>]*> nop -+ ... -diff --git a/gas/testsuite/gas/nios2/relax_cjmp.s b/gas/testsuite/gas/nios2/relax_cjmp.s -new file mode 100644 -index 0000000..4cd24a4 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_cjmp.s -@@ -0,0 +1,37 @@ -+# relaxing unconditional jumps -+ -+.globl text1 -+.section text1, "ax", @progbits -+ -+ beq r2, r3, on_border -+ beq r2, r3, out_of_range -+ nop -+ nop -+ -+ -+.align 15 -+ #nop -+ #nop -+ #nop -+on_border: -+ bne r2, r3, in_range -+ nop -+ nop -+ nop -+ nop -+ nop -+out_of_range: -+in_range: -+ nop -+ -+.globl text2 -+.section text2, "ax", @progbits -+ -+ bge r2, r3, text1 -+ blt r2, r3, out_of_range -+ ble r2, r3, sym -+ nop -+ nop -+sym: -+ nop -+ -diff --git a/gas/testsuite/gas/nios2/relax_section.d b/gas/testsuite/gas/nios2/relax_section.d -new file mode 100644 -index 0000000..31cfe42 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_section.d -@@ -0,0 +1,8206 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 relax_section -+ -+# Test relaxation of section -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> bne r2,r3,00000010 <in_range-0xc> -+0+0004 <[^>]*> movhi at,0 -+0+0008 <[^>]*> ori at,at,32780 -+0+000c <[^>]*> jmp at -+0+0010 <[^>]*> bne r2,r3,0000001c <in_range> -+0+0014 <[^>]*> nop -+0+0018 <[^>]*> nop -+0+001c <[^>]*> nop -+0+0020 <[^>]*> nop -+0+0024 <[^>]*> nop -+0+0028 <[^>]*> nop -+0+002c <[^>]*> nop -+0+0030 <[^>]*> nop -+0+0034 <[^>]*> nop -+0+0038 <[^>]*> nop -+0+003c <[^>]*> nop -+0+0040 <[^>]*> nop -+0+0044 <[^>]*> nop -+0+0048 <[^>]*> nop -+0+004c <[^>]*> nop -+0+0050 <[^>]*> nop -+0+0054 <[^>]*> nop -+0+0058 <[^>]*> nop -+0+005c <[^>]*> nop -+0+0060 <[^>]*> nop -+0+0064 <[^>]*> nop -+0+0068 <[^>]*> nop -+0+006c <[^>]*> nop -+0+0070 <[^>]*> nop -+0+0074 <[^>]*> nop -+0+0078 <[^>]*> nop -+0+007c <[^>]*> nop -+0+0080 <[^>]*> nop -+0+0084 <[^>]*> nop -+0+0088 <[^>]*> nop -+0+008c <[^>]*> nop -+0+0090 <[^>]*> nop -+0+0094 <[^>]*> nop -+0+0098 <[^>]*> nop -+0+009c <[^>]*> nop -+0+00a0 <[^>]*> nop -+0+00a4 <[^>]*> nop -+0+00a8 <[^>]*> nop -+0+00ac <[^>]*> nop -+0+00b0 <[^>]*> nop -+0+00b4 <[^>]*> nop -+0+00b8 <[^>]*> nop -+0+00bc <[^>]*> nop -+0+00c0 <[^>]*> nop -+0+00c4 <[^>]*> nop -+0+00c8 <[^>]*> nop -+0+00cc <[^>]*> nop -+0+00d0 <[^>]*> nop -+0+00d4 <[^>]*> nop -+0+00d8 <[^>]*> nop -+0+00dc <[^>]*> nop -+0+00e0 <[^>]*> nop -+0+00e4 <[^>]*> nop -+0+00e8 <[^>]*> nop -+0+00ec <[^>]*> nop -+0+00f0 <[^>]*> nop -+0+00f4 <[^>]*> nop -+0+00f8 <[^>]*> nop -+0+00fc <[^>]*> nop -+0+0100 <[^>]*> nop -+0+0104 <[^>]*> nop -+0+0108 <[^>]*> nop -+0+010c <[^>]*> nop -+0+0110 <[^>]*> nop -+0+0114 <[^>]*> nop -+0+0118 <[^>]*> nop -+0+011c <[^>]*> nop -+0+0120 <[^>]*> nop -+0+0124 <[^>]*> nop -+0+0128 <[^>]*> nop -+0+012c <[^>]*> nop -+0+0130 <[^>]*> nop -+0+0134 <[^>]*> nop -+0+0138 <[^>]*> nop -+0+013c <[^>]*> nop -+0+0140 <[^>]*> nop -+0+0144 <[^>]*> nop -+0+0148 <[^>]*> nop -+0+014c <[^>]*> nop -+0+0150 <[^>]*> nop -+0+0154 <[^>]*> nop -+0+0158 <[^>]*> nop -+0+015c <[^>]*> nop -+0+0160 <[^>]*> nop -+0+0164 <[^>]*> nop -+0+0168 <[^>]*> nop -+0+016c <[^>]*> nop -+0+0170 <[^>]*> nop -+0+0174 <[^>]*> nop -+0+0178 <[^>]*> nop -+0+017c <[^>]*> nop -+0+0180 <[^>]*> nop -+0+0184 <[^>]*> nop -+0+0188 <[^>]*> nop -+0+018c <[^>]*> nop -+0+0190 <[^>]*> nop -+0+0194 <[^>]*> nop -+0+0198 <[^>]*> nop -+0+019c <[^>]*> nop -+0+01a0 <[^>]*> nop -+0+01a4 <[^>]*> nop -+0+01a8 <[^>]*> nop -+0+01ac <[^>]*> nop -+0+01b0 <[^>]*> nop -+0+01b4 <[^>]*> nop -+0+01b8 <[^>]*> nop -+0+01bc <[^>]*> nop -+0+01c0 <[^>]*> nop -+0+01c4 <[^>]*> nop -+0+01c8 <[^>]*> nop -+0+01cc <[^>]*> nop -+0+01d0 <[^>]*> nop -+0+01d4 <[^>]*> nop -+0+01d8 <[^>]*> nop -+0+01dc <[^>]*> nop -+0+01e0 <[^>]*> nop -+0+01e4 <[^>]*> nop -+0+01e8 <[^>]*> nop -+0+01ec <[^>]*> nop -+0+01f0 <[^>]*> nop -+0+01f4 <[^>]*> nop -+0+01f8 <[^>]*> nop -+0+01fc <[^>]*> nop -+0+0200 <[^>]*> nop -+0+0204 <[^>]*> nop -+0+0208 <[^>]*> nop -+0+020c <[^>]*> nop -+0+0210 <[^>]*> nop -+0+0214 <[^>]*> nop -+0+0218 <[^>]*> nop -+0+021c <[^>]*> nop -+0+0220 <[^>]*> nop -+0+0224 <[^>]*> nop -+0+0228 <[^>]*> nop -+0+022c <[^>]*> nop -+0+0230 <[^>]*> nop -+0+0234 <[^>]*> nop -+0+0238 <[^>]*> nop -+0+023c <[^>]*> nop -+0+0240 <[^>]*> nop -+0+0244 <[^>]*> nop -+0+0248 <[^>]*> nop -+0+024c <[^>]*> nop -+0+0250 <[^>]*> nop -+0+0254 <[^>]*> nop -+0+0258 <[^>]*> nop -+0+025c <[^>]*> nop -+0+0260 <[^>]*> nop -+0+0264 <[^>]*> nop -+0+0268 <[^>]*> nop -+0+026c <[^>]*> nop -+0+0270 <[^>]*> nop -+0+0274 <[^>]*> nop -+0+0278 <[^>]*> nop -+0+027c <[^>]*> nop -+0+0280 <[^>]*> nop -+0+0284 <[^>]*> nop -+0+0288 <[^>]*> nop -+0+028c <[^>]*> nop -+0+0290 <[^>]*> nop -+0+0294 <[^>]*> nop -+0+0298 <[^>]*> nop -+0+029c <[^>]*> nop -+0+02a0 <[^>]*> nop -+0+02a4 <[^>]*> nop -+0+02a8 <[^>]*> nop -+0+02ac <[^>]*> nop -+0+02b0 <[^>]*> nop -+0+02b4 <[^>]*> nop -+0+02b8 <[^>]*> nop -+0+02bc <[^>]*> nop -+0+02c0 <[^>]*> nop -+0+02c4 <[^>]*> nop -+0+02c8 <[^>]*> nop -+0+02cc <[^>]*> nop -+0+02d0 <[^>]*> nop -+0+02d4 <[^>]*> nop -+0+02d8 <[^>]*> nop -+0+02dc <[^>]*> nop -+0+02e0 <[^>]*> nop -+0+02e4 <[^>]*> nop -+0+02e8 <[^>]*> nop -+0+02ec <[^>]*> nop -+0+02f0 <[^>]*> nop -+0+02f4 <[^>]*> nop -+0+02f8 <[^>]*> nop -+0+02fc <[^>]*> nop -+0+0300 <[^>]*> nop -+0+0304 <[^>]*> nop -+0+0308 <[^>]*> nop -+0+030c <[^>]*> nop -+0+0310 <[^>]*> nop -+0+0314 <[^>]*> nop -+0+0318 <[^>]*> nop -+0+031c <[^>]*> nop -+0+0320 <[^>]*> nop -+0+0324 <[^>]*> nop -+0+0328 <[^>]*> nop -+0+032c <[^>]*> nop -+0+0330 <[^>]*> nop -+0+0334 <[^>]*> nop -+0+0338 <[^>]*> nop -+0+033c <[^>]*> nop -+0+0340 <[^>]*> nop -+0+0344 <[^>]*> nop -+0+0348 <[^>]*> nop -+0+034c <[^>]*> nop -+0+0350 <[^>]*> nop -+0+0354 <[^>]*> nop -+0+0358 <[^>]*> nop -+0+035c <[^>]*> nop -+0+0360 <[^>]*> nop -+0+0364 <[^>]*> nop -+0+0368 <[^>]*> nop -+0+036c <[^>]*> nop -+0+0370 <[^>]*> nop -+0+0374 <[^>]*> nop -+0+0378 <[^>]*> nop -+0+037c <[^>]*> nop -+0+0380 <[^>]*> nop -+0+0384 <[^>]*> nop -+0+0388 <[^>]*> nop -+0+038c <[^>]*> nop -+0+0390 <[^>]*> nop -+0+0394 <[^>]*> nop -+0+0398 <[^>]*> nop -+0+039c <[^>]*> nop -+0+03a0 <[^>]*> nop -+0+03a4 <[^>]*> nop -+0+03a8 <[^>]*> nop -+0+03ac <[^>]*> nop -+0+03b0 <[^>]*> nop -+0+03b4 <[^>]*> nop -+0+03b8 <[^>]*> nop -+0+03bc <[^>]*> nop -+0+03c0 <[^>]*> nop -+0+03c4 <[^>]*> nop -+0+03c8 <[^>]*> nop -+0+03cc <[^>]*> nop -+0+03d0 <[^>]*> nop -+0+03d4 <[^>]*> nop -+0+03d8 <[^>]*> nop -+0+03dc <[^>]*> nop -+0+03e0 <[^>]*> nop -+0+03e4 <[^>]*> nop -+0+03e8 <[^>]*> nop -+0+03ec <[^>]*> nop -+0+03f0 <[^>]*> nop -+0+03f4 <[^>]*> nop -+0+03f8 <[^>]*> nop -+0+03fc <[^>]*> nop -+0+0400 <[^>]*> nop -+0+0404 <[^>]*> nop -+0+0408 <[^>]*> nop -+0+040c <[^>]*> nop -+0+0410 <[^>]*> nop -+0+0414 <[^>]*> nop -+0+0418 <[^>]*> nop -+0+041c <[^>]*> nop -+0+0420 <[^>]*> nop -+0+0424 <[^>]*> nop -+0+0428 <[^>]*> nop -+0+042c <[^>]*> nop -+0+0430 <[^>]*> nop -+0+0434 <[^>]*> nop -+0+0438 <[^>]*> nop -+0+043c <[^>]*> nop -+0+0440 <[^>]*> nop -+0+0444 <[^>]*> nop -+0+0448 <[^>]*> nop -+0+044c <[^>]*> nop -+0+0450 <[^>]*> nop -+0+0454 <[^>]*> nop -+0+0458 <[^>]*> nop -+0+045c <[^>]*> nop -+0+0460 <[^>]*> nop -+0+0464 <[^>]*> nop -+0+0468 <[^>]*> nop -+0+046c <[^>]*> nop -+0+0470 <[^>]*> nop -+0+0474 <[^>]*> nop -+0+0478 <[^>]*> nop -+0+047c <[^>]*> nop -+0+0480 <[^>]*> nop -+0+0484 <[^>]*> nop -+0+0488 <[^>]*> nop -+0+048c <[^>]*> nop -+0+0490 <[^>]*> nop -+0+0494 <[^>]*> nop -+0+0498 <[^>]*> nop -+0+049c <[^>]*> nop -+0+04a0 <[^>]*> nop -+0+04a4 <[^>]*> nop -+0+04a8 <[^>]*> nop -+0+04ac <[^>]*> nop -+0+04b0 <[^>]*> nop -+0+04b4 <[^>]*> nop -+0+04b8 <[^>]*> nop -+0+04bc <[^>]*> nop -+0+04c0 <[^>]*> nop -+0+04c4 <[^>]*> nop -+0+04c8 <[^>]*> nop -+0+04cc <[^>]*> nop -+0+04d0 <[^>]*> nop -+0+04d4 <[^>]*> nop -+0+04d8 <[^>]*> nop -+0+04dc <[^>]*> nop -+0+04e0 <[^>]*> nop -+0+04e4 <[^>]*> nop -+0+04e8 <[^>]*> nop -+0+04ec <[^>]*> nop -+0+04f0 <[^>]*> nop -+0+04f4 <[^>]*> nop -+0+04f8 <[^>]*> nop -+0+04fc <[^>]*> nop -+0+0500 <[^>]*> nop -+0+0504 <[^>]*> nop -+0+0508 <[^>]*> nop -+0+050c <[^>]*> nop -+0+0510 <[^>]*> nop -+0+0514 <[^>]*> nop -+0+0518 <[^>]*> nop -+0+051c <[^>]*> nop -+0+0520 <[^>]*> nop -+0+0524 <[^>]*> nop -+0+0528 <[^>]*> nop -+0+052c <[^>]*> nop -+0+0530 <[^>]*> nop -+0+0534 <[^>]*> nop -+0+0538 <[^>]*> nop -+0+053c <[^>]*> nop -+0+0540 <[^>]*> nop -+0+0544 <[^>]*> nop -+0+0548 <[^>]*> nop -+0+054c <[^>]*> nop -+0+0550 <[^>]*> nop -+0+0554 <[^>]*> nop -+0+0558 <[^>]*> nop -+0+055c <[^>]*> nop -+0+0560 <[^>]*> nop -+0+0564 <[^>]*> nop -+0+0568 <[^>]*> nop -+0+056c <[^>]*> nop -+0+0570 <[^>]*> nop -+0+0574 <[^>]*> nop -+0+0578 <[^>]*> nop -+0+057c <[^>]*> nop -+0+0580 <[^>]*> nop -+0+0584 <[^>]*> nop -+0+0588 <[^>]*> nop -+0+058c <[^>]*> nop -+0+0590 <[^>]*> nop -+0+0594 <[^>]*> nop -+0+0598 <[^>]*> nop -+0+059c <[^>]*> nop -+0+05a0 <[^>]*> nop -+0+05a4 <[^>]*> nop -+0+05a8 <[^>]*> nop -+0+05ac <[^>]*> nop -+0+05b0 <[^>]*> nop -+0+05b4 <[^>]*> nop -+0+05b8 <[^>]*> nop -+0+05bc <[^>]*> nop -+0+05c0 <[^>]*> nop -+0+05c4 <[^>]*> nop -+0+05c8 <[^>]*> nop -+0+05cc <[^>]*> nop -+0+05d0 <[^>]*> nop -+0+05d4 <[^>]*> nop -+0+05d8 <[^>]*> nop -+0+05dc <[^>]*> nop -+0+05e0 <[^>]*> nop -+0+05e4 <[^>]*> nop -+0+05e8 <[^>]*> nop -+0+05ec <[^>]*> nop -+0+05f0 <[^>]*> nop -+0+05f4 <[^>]*> nop -+0+05f8 <[^>]*> nop -+0+05fc <[^>]*> nop -+0+0600 <[^>]*> nop -+0+0604 <[^>]*> nop -+0+0608 <[^>]*> nop -+0+060c <[^>]*> nop -+0+0610 <[^>]*> nop -+0+0614 <[^>]*> nop -+0+0618 <[^>]*> nop -+0+061c <[^>]*> nop -+0+0620 <[^>]*> nop -+0+0624 <[^>]*> nop -+0+0628 <[^>]*> nop -+0+062c <[^>]*> nop -+0+0630 <[^>]*> nop -+0+0634 <[^>]*> nop -+0+0638 <[^>]*> nop -+0+063c <[^>]*> nop -+0+0640 <[^>]*> nop -+0+0644 <[^>]*> nop -+0+0648 <[^>]*> nop -+0+064c <[^>]*> nop -+0+0650 <[^>]*> nop -+0+0654 <[^>]*> nop -+0+0658 <[^>]*> nop -+0+065c <[^>]*> nop -+0+0660 <[^>]*> nop -+0+0664 <[^>]*> nop -+0+0668 <[^>]*> nop -+0+066c <[^>]*> nop -+0+0670 <[^>]*> nop -+0+0674 <[^>]*> nop -+0+0678 <[^>]*> nop -+0+067c <[^>]*> nop -+0+0680 <[^>]*> nop -+0+0684 <[^>]*> nop -+0+0688 <[^>]*> nop -+0+068c <[^>]*> nop -+0+0690 <[^>]*> nop -+0+0694 <[^>]*> nop -+0+0698 <[^>]*> nop -+0+069c <[^>]*> nop -+0+06a0 <[^>]*> nop -+0+06a4 <[^>]*> nop -+0+06a8 <[^>]*> nop -+0+06ac <[^>]*> nop -+0+06b0 <[^>]*> nop -+0+06b4 <[^>]*> nop -+0+06b8 <[^>]*> nop -+0+06bc <[^>]*> nop -+0+06c0 <[^>]*> nop -+0+06c4 <[^>]*> nop -+0+06c8 <[^>]*> nop -+0+06cc <[^>]*> nop -+0+06d0 <[^>]*> nop -+0+06d4 <[^>]*> nop -+0+06d8 <[^>]*> nop -+0+06dc <[^>]*> nop -+0+06e0 <[^>]*> nop -+0+06e4 <[^>]*> nop -+0+06e8 <[^>]*> nop -+0+06ec <[^>]*> nop -+0+06f0 <[^>]*> nop -+0+06f4 <[^>]*> nop -+0+06f8 <[^>]*> nop -+0+06fc <[^>]*> nop -+0+0700 <[^>]*> nop -+0+0704 <[^>]*> nop -+0+0708 <[^>]*> nop -+0+070c <[^>]*> nop -+0+0710 <[^>]*> nop -+0+0714 <[^>]*> nop -+0+0718 <[^>]*> nop -+0+071c <[^>]*> nop -+0+0720 <[^>]*> nop -+0+0724 <[^>]*> nop -+0+0728 <[^>]*> nop -+0+072c <[^>]*> nop -+0+0730 <[^>]*> nop -+0+0734 <[^>]*> nop -+0+0738 <[^>]*> nop -+0+073c <[^>]*> nop -+0+0740 <[^>]*> nop -+0+0744 <[^>]*> nop -+0+0748 <[^>]*> nop -+0+074c <[^>]*> nop -+0+0750 <[^>]*> nop -+0+0754 <[^>]*> nop -+0+0758 <[^>]*> nop -+0+075c <[^>]*> nop -+0+0760 <[^>]*> nop -+0+0764 <[^>]*> nop -+0+0768 <[^>]*> nop -+0+076c <[^>]*> nop -+0+0770 <[^>]*> nop -+0+0774 <[^>]*> nop -+0+0778 <[^>]*> nop -+0+077c <[^>]*> nop -+0+0780 <[^>]*> nop -+0+0784 <[^>]*> nop -+0+0788 <[^>]*> nop -+0+078c <[^>]*> nop -+0+0790 <[^>]*> nop -+0+0794 <[^>]*> nop -+0+0798 <[^>]*> nop -+0+079c <[^>]*> nop -+0+07a0 <[^>]*> nop -+0+07a4 <[^>]*> nop -+0+07a8 <[^>]*> nop -+0+07ac <[^>]*> nop -+0+07b0 <[^>]*> nop -+0+07b4 <[^>]*> nop -+0+07b8 <[^>]*> nop -+0+07bc <[^>]*> nop -+0+07c0 <[^>]*> nop -+0+07c4 <[^>]*> nop -+0+07c8 <[^>]*> nop -+0+07cc <[^>]*> nop -+0+07d0 <[^>]*> nop -+0+07d4 <[^>]*> nop -+0+07d8 <[^>]*> nop -+0+07dc <[^>]*> nop -+0+07e0 <[^>]*> nop -+0+07e4 <[^>]*> nop -+0+07e8 <[^>]*> nop -+0+07ec <[^>]*> nop -+0+07f0 <[^>]*> nop -+0+07f4 <[^>]*> nop -+0+07f8 <[^>]*> nop -+0+07fc <[^>]*> nop -+0+0800 <[^>]*> nop -+0+0804 <[^>]*> nop -+0+0808 <[^>]*> nop -+0+080c <[^>]*> nop -+0+0810 <[^>]*> nop -+0+0814 <[^>]*> nop -+0+0818 <[^>]*> nop -+0+081c <[^>]*> nop -+0+0820 <[^>]*> nop -+0+0824 <[^>]*> nop -+0+0828 <[^>]*> nop -+0+082c <[^>]*> nop -+0+0830 <[^>]*> nop -+0+0834 <[^>]*> nop -+0+0838 <[^>]*> nop -+0+083c <[^>]*> nop -+0+0840 <[^>]*> nop -+0+0844 <[^>]*> nop -+0+0848 <[^>]*> nop -+0+084c <[^>]*> nop -+0+0850 <[^>]*> nop -+0+0854 <[^>]*> nop -+0+0858 <[^>]*> nop -+0+085c <[^>]*> nop -+0+0860 <[^>]*> nop -+0+0864 <[^>]*> nop -+0+0868 <[^>]*> nop -+0+086c <[^>]*> nop -+0+0870 <[^>]*> nop -+0+0874 <[^>]*> nop -+0+0878 <[^>]*> nop -+0+087c <[^>]*> nop -+0+0880 <[^>]*> nop -+0+0884 <[^>]*> nop -+0+0888 <[^>]*> nop -+0+088c <[^>]*> nop -+0+0890 <[^>]*> nop -+0+0894 <[^>]*> nop -+0+0898 <[^>]*> nop -+0+089c <[^>]*> nop -+0+08a0 <[^>]*> nop -+0+08a4 <[^>]*> nop -+0+08a8 <[^>]*> nop -+0+08ac <[^>]*> nop -+0+08b0 <[^>]*> nop -+0+08b4 <[^>]*> nop -+0+08b8 <[^>]*> nop -+0+08bc <[^>]*> nop -+0+08c0 <[^>]*> nop -+0+08c4 <[^>]*> nop -+0+08c8 <[^>]*> nop -+0+08cc <[^>]*> nop -+0+08d0 <[^>]*> nop -+0+08d4 <[^>]*> nop -+0+08d8 <[^>]*> nop -+0+08dc <[^>]*> nop -+0+08e0 <[^>]*> nop -+0+08e4 <[^>]*> nop -+0+08e8 <[^>]*> nop -+0+08ec <[^>]*> nop -+0+08f0 <[^>]*> nop -+0+08f4 <[^>]*> nop -+0+08f8 <[^>]*> nop -+0+08fc <[^>]*> nop -+0+0900 <[^>]*> nop -+0+0904 <[^>]*> nop -+0+0908 <[^>]*> nop -+0+090c <[^>]*> nop -+0+0910 <[^>]*> nop -+0+0914 <[^>]*> nop -+0+0918 <[^>]*> nop -+0+091c <[^>]*> nop -+0+0920 <[^>]*> nop -+0+0924 <[^>]*> nop -+0+0928 <[^>]*> nop -+0+092c <[^>]*> nop -+0+0930 <[^>]*> nop -+0+0934 <[^>]*> nop -+0+0938 <[^>]*> nop -+0+093c <[^>]*> nop -+0+0940 <[^>]*> nop -+0+0944 <[^>]*> nop -+0+0948 <[^>]*> nop -+0+094c <[^>]*> nop -+0+0950 <[^>]*> nop -+0+0954 <[^>]*> nop -+0+0958 <[^>]*> nop -+0+095c <[^>]*> nop -+0+0960 <[^>]*> nop -+0+0964 <[^>]*> nop -+0+0968 <[^>]*> nop -+0+096c <[^>]*> nop -+0+0970 <[^>]*> nop -+0+0974 <[^>]*> nop -+0+0978 <[^>]*> nop -+0+097c <[^>]*> nop -+0+0980 <[^>]*> nop -+0+0984 <[^>]*> nop -+0+0988 <[^>]*> nop -+0+098c <[^>]*> nop -+0+0990 <[^>]*> nop -+0+0994 <[^>]*> nop -+0+0998 <[^>]*> nop -+0+099c <[^>]*> nop -+0+09a0 <[^>]*> nop -+0+09a4 <[^>]*> nop -+0+09a8 <[^>]*> nop -+0+09ac <[^>]*> nop -+0+09b0 <[^>]*> nop -+0+09b4 <[^>]*> nop -+0+09b8 <[^>]*> nop -+0+09bc <[^>]*> nop -+0+09c0 <[^>]*> nop -+0+09c4 <[^>]*> nop -+0+09c8 <[^>]*> nop -+0+09cc <[^>]*> nop -+0+09d0 <[^>]*> nop -+0+09d4 <[^>]*> nop -+0+09d8 <[^>]*> nop -+0+09dc <[^>]*> nop -+0+09e0 <[^>]*> nop -+0+09e4 <[^>]*> nop -+0+09e8 <[^>]*> nop -+0+09ec <[^>]*> nop -+0+09f0 <[^>]*> nop -+0+09f4 <[^>]*> nop -+0+09f8 <[^>]*> nop -+0+09fc <[^>]*> nop -+0+0a00 <[^>]*> nop -+0+0a04 <[^>]*> nop -+0+0a08 <[^>]*> nop -+0+0a0c <[^>]*> nop -+0+0a10 <[^>]*> nop -+0+0a14 <[^>]*> nop -+0+0a18 <[^>]*> nop -+0+0a1c <[^>]*> nop -+0+0a20 <[^>]*> nop -+0+0a24 <[^>]*> nop -+0+0a28 <[^>]*> nop -+0+0a2c <[^>]*> nop -+0+0a30 <[^>]*> nop -+0+0a34 <[^>]*> nop -+0+0a38 <[^>]*> nop -+0+0a3c <[^>]*> nop -+0+0a40 <[^>]*> nop -+0+0a44 <[^>]*> nop -+0+0a48 <[^>]*> nop -+0+0a4c <[^>]*> nop -+0+0a50 <[^>]*> nop -+0+0a54 <[^>]*> nop -+0+0a58 <[^>]*> nop -+0+0a5c <[^>]*> nop -+0+0a60 <[^>]*> nop -+0+0a64 <[^>]*> nop -+0+0a68 <[^>]*> nop -+0+0a6c <[^>]*> nop -+0+0a70 <[^>]*> nop -+0+0a74 <[^>]*> nop -+0+0a78 <[^>]*> nop -+0+0a7c <[^>]*> nop -+0+0a80 <[^>]*> nop -+0+0a84 <[^>]*> nop -+0+0a88 <[^>]*> nop -+0+0a8c <[^>]*> nop -+0+0a90 <[^>]*> nop -+0+0a94 <[^>]*> nop -+0+0a98 <[^>]*> nop -+0+0a9c <[^>]*> nop -+0+0aa0 <[^>]*> nop -+0+0aa4 <[^>]*> nop -+0+0aa8 <[^>]*> nop -+0+0aac <[^>]*> nop -+0+0ab0 <[^>]*> nop -+0+0ab4 <[^>]*> nop -+0+0ab8 <[^>]*> nop -+0+0abc <[^>]*> nop -+0+0ac0 <[^>]*> nop -+0+0ac4 <[^>]*> nop -+0+0ac8 <[^>]*> nop -+0+0acc <[^>]*> nop -+0+0ad0 <[^>]*> nop -+0+0ad4 <[^>]*> nop -+0+0ad8 <[^>]*> nop -+0+0adc <[^>]*> nop -+0+0ae0 <[^>]*> nop -+0+0ae4 <[^>]*> nop -+0+0ae8 <[^>]*> nop -+0+0aec <[^>]*> nop -+0+0af0 <[^>]*> nop -+0+0af4 <[^>]*> nop -+0+0af8 <[^>]*> nop -+0+0afc <[^>]*> nop -+0+0b00 <[^>]*> nop -+0+0b04 <[^>]*> nop -+0+0b08 <[^>]*> nop -+0+0b0c <[^>]*> nop -+0+0b10 <[^>]*> nop -+0+0b14 <[^>]*> nop -+0+0b18 <[^>]*> nop -+0+0b1c <[^>]*> nop -+0+0b20 <[^>]*> nop -+0+0b24 <[^>]*> nop -+0+0b28 <[^>]*> nop -+0+0b2c <[^>]*> nop -+0+0b30 <[^>]*> nop -+0+0b34 <[^>]*> nop -+0+0b38 <[^>]*> nop -+0+0b3c <[^>]*> nop -+0+0b40 <[^>]*> nop -+0+0b44 <[^>]*> nop -+0+0b48 <[^>]*> nop -+0+0b4c <[^>]*> nop -+0+0b50 <[^>]*> nop -+0+0b54 <[^>]*> nop -+0+0b58 <[^>]*> nop -+0+0b5c <[^>]*> nop -+0+0b60 <[^>]*> nop -+0+0b64 <[^>]*> nop -+0+0b68 <[^>]*> nop -+0+0b6c <[^>]*> nop -+0+0b70 <[^>]*> nop -+0+0b74 <[^>]*> nop -+0+0b78 <[^>]*> nop -+0+0b7c <[^>]*> nop -+0+0b80 <[^>]*> nop -+0+0b84 <[^>]*> nop -+0+0b88 <[^>]*> nop -+0+0b8c <[^>]*> nop -+0+0b90 <[^>]*> nop -+0+0b94 <[^>]*> nop -+0+0b98 <[^>]*> nop -+0+0b9c <[^>]*> nop -+0+0ba0 <[^>]*> nop -+0+0ba4 <[^>]*> nop -+0+0ba8 <[^>]*> nop -+0+0bac <[^>]*> nop -+0+0bb0 <[^>]*> nop -+0+0bb4 <[^>]*> nop -+0+0bb8 <[^>]*> nop -+0+0bbc <[^>]*> nop -+0+0bc0 <[^>]*> nop -+0+0bc4 <[^>]*> nop -+0+0bc8 <[^>]*> nop -+0+0bcc <[^>]*> nop -+0+0bd0 <[^>]*> nop -+0+0bd4 <[^>]*> nop -+0+0bd8 <[^>]*> nop -+0+0bdc <[^>]*> nop -+0+0be0 <[^>]*> nop -+0+0be4 <[^>]*> nop -+0+0be8 <[^>]*> nop -+0+0bec <[^>]*> nop -+0+0bf0 <[^>]*> nop -+0+0bf4 <[^>]*> nop -+0+0bf8 <[^>]*> nop -+0+0bfc <[^>]*> nop -+0+0c00 <[^>]*> nop -+0+0c04 <[^>]*> nop -+0+0c08 <[^>]*> nop -+0+0c0c <[^>]*> nop -+0+0c10 <[^>]*> nop -+0+0c14 <[^>]*> nop -+0+0c18 <[^>]*> nop -+0+0c1c <[^>]*> nop -+0+0c20 <[^>]*> nop -+0+0c24 <[^>]*> nop -+0+0c28 <[^>]*> nop -+0+0c2c <[^>]*> nop -+0+0c30 <[^>]*> nop -+0+0c34 <[^>]*> nop -+0+0c38 <[^>]*> nop -+0+0c3c <[^>]*> nop -+0+0c40 <[^>]*> nop -+0+0c44 <[^>]*> nop -+0+0c48 <[^>]*> nop -+0+0c4c <[^>]*> nop -+0+0c50 <[^>]*> nop -+0+0c54 <[^>]*> nop -+0+0c58 <[^>]*> nop -+0+0c5c <[^>]*> nop -+0+0c60 <[^>]*> nop -+0+0c64 <[^>]*> nop -+0+0c68 <[^>]*> nop -+0+0c6c <[^>]*> nop -+0+0c70 <[^>]*> nop -+0+0c74 <[^>]*> nop -+0+0c78 <[^>]*> nop -+0+0c7c <[^>]*> nop -+0+0c80 <[^>]*> nop -+0+0c84 <[^>]*> nop -+0+0c88 <[^>]*> nop -+0+0c8c <[^>]*> nop -+0+0c90 <[^>]*> nop -+0+0c94 <[^>]*> nop -+0+0c98 <[^>]*> nop -+0+0c9c <[^>]*> nop -+0+0ca0 <[^>]*> nop -+0+0ca4 <[^>]*> nop -+0+0ca8 <[^>]*> nop -+0+0cac <[^>]*> nop -+0+0cb0 <[^>]*> nop -+0+0cb4 <[^>]*> nop -+0+0cb8 <[^>]*> nop -+0+0cbc <[^>]*> nop -+0+0cc0 <[^>]*> nop -+0+0cc4 <[^>]*> nop -+0+0cc8 <[^>]*> nop -+0+0ccc <[^>]*> nop -+0+0cd0 <[^>]*> nop -+0+0cd4 <[^>]*> nop -+0+0cd8 <[^>]*> nop -+0+0cdc <[^>]*> nop -+0+0ce0 <[^>]*> nop -+0+0ce4 <[^>]*> nop -+0+0ce8 <[^>]*> nop -+0+0cec <[^>]*> nop -+0+0cf0 <[^>]*> nop -+0+0cf4 <[^>]*> nop -+0+0cf8 <[^>]*> nop -+0+0cfc <[^>]*> nop -+0+0d00 <[^>]*> nop -+0+0d04 <[^>]*> nop -+0+0d08 <[^>]*> nop -+0+0d0c <[^>]*> nop -+0+0d10 <[^>]*> nop -+0+0d14 <[^>]*> nop -+0+0d18 <[^>]*> nop -+0+0d1c <[^>]*> nop -+0+0d20 <[^>]*> nop -+0+0d24 <[^>]*> nop -+0+0d28 <[^>]*> nop -+0+0d2c <[^>]*> nop -+0+0d30 <[^>]*> nop -+0+0d34 <[^>]*> nop -+0+0d38 <[^>]*> nop -+0+0d3c <[^>]*> nop -+0+0d40 <[^>]*> nop -+0+0d44 <[^>]*> nop -+0+0d48 <[^>]*> nop -+0+0d4c <[^>]*> nop -+0+0d50 <[^>]*> nop -+0+0d54 <[^>]*> nop -+0+0d58 <[^>]*> nop -+0+0d5c <[^>]*> nop -+0+0d60 <[^>]*> nop -+0+0d64 <[^>]*> nop -+0+0d68 <[^>]*> nop -+0+0d6c <[^>]*> nop -+0+0d70 <[^>]*> nop -+0+0d74 <[^>]*> nop -+0+0d78 <[^>]*> nop -+0+0d7c <[^>]*> nop -+0+0d80 <[^>]*> nop -+0+0d84 <[^>]*> nop -+0+0d88 <[^>]*> nop -+0+0d8c <[^>]*> nop -+0+0d90 <[^>]*> nop -+0+0d94 <[^>]*> nop -+0+0d98 <[^>]*> nop -+0+0d9c <[^>]*> nop -+0+0da0 <[^>]*> nop -+0+0da4 <[^>]*> nop -+0+0da8 <[^>]*> nop -+0+0dac <[^>]*> nop -+0+0db0 <[^>]*> nop -+0+0db4 <[^>]*> nop -+0+0db8 <[^>]*> nop -+0+0dbc <[^>]*> nop -+0+0dc0 <[^>]*> nop -+0+0dc4 <[^>]*> nop -+0+0dc8 <[^>]*> nop -+0+0dcc <[^>]*> nop -+0+0dd0 <[^>]*> nop -+0+0dd4 <[^>]*> nop -+0+0dd8 <[^>]*> nop -+0+0ddc <[^>]*> nop -+0+0de0 <[^>]*> nop -+0+0de4 <[^>]*> nop -+0+0de8 <[^>]*> nop -+0+0dec <[^>]*> nop -+0+0df0 <[^>]*> nop -+0+0df4 <[^>]*> nop -+0+0df8 <[^>]*> nop -+0+0dfc <[^>]*> nop -+0+0e00 <[^>]*> nop -+0+0e04 <[^>]*> nop -+0+0e08 <[^>]*> nop -+0+0e0c <[^>]*> nop -+0+0e10 <[^>]*> nop -+0+0e14 <[^>]*> nop -+0+0e18 <[^>]*> nop -+0+0e1c <[^>]*> nop -+0+0e20 <[^>]*> nop -+0+0e24 <[^>]*> nop -+0+0e28 <[^>]*> nop -+0+0e2c <[^>]*> nop -+0+0e30 <[^>]*> nop -+0+0e34 <[^>]*> nop -+0+0e38 <[^>]*> nop -+0+0e3c <[^>]*> nop -+0+0e40 <[^>]*> nop -+0+0e44 <[^>]*> nop -+0+0e48 <[^>]*> nop -+0+0e4c <[^>]*> nop -+0+0e50 <[^>]*> nop -+0+0e54 <[^>]*> nop -+0+0e58 <[^>]*> nop -+0+0e5c <[^>]*> nop -+0+0e60 <[^>]*> nop -+0+0e64 <[^>]*> nop -+0+0e68 <[^>]*> nop -+0+0e6c <[^>]*> nop -+0+0e70 <[^>]*> nop -+0+0e74 <[^>]*> nop -+0+0e78 <[^>]*> nop -+0+0e7c <[^>]*> nop -+0+0e80 <[^>]*> nop -+0+0e84 <[^>]*> nop -+0+0e88 <[^>]*> nop -+0+0e8c <[^>]*> nop -+0+0e90 <[^>]*> nop -+0+0e94 <[^>]*> nop -+0+0e98 <[^>]*> nop -+0+0e9c <[^>]*> nop -+0+0ea0 <[^>]*> nop -+0+0ea4 <[^>]*> nop -+0+0ea8 <[^>]*> nop -+0+0eac <[^>]*> nop -+0+0eb0 <[^>]*> nop -+0+0eb4 <[^>]*> nop -+0+0eb8 <[^>]*> nop -+0+0ebc <[^>]*> nop -+0+0ec0 <[^>]*> nop -+0+0ec4 <[^>]*> nop -+0+0ec8 <[^>]*> nop -+0+0ecc <[^>]*> nop -+0+0ed0 <[^>]*> nop -+0+0ed4 <[^>]*> nop -+0+0ed8 <[^>]*> nop -+0+0edc <[^>]*> nop -+0+0ee0 <[^>]*> nop -+0+0ee4 <[^>]*> nop -+0+0ee8 <[^>]*> nop -+0+0eec <[^>]*> nop -+0+0ef0 <[^>]*> nop -+0+0ef4 <[^>]*> nop -+0+0ef8 <[^>]*> nop -+0+0efc <[^>]*> nop -+0+0f00 <[^>]*> nop -+0+0f04 <[^>]*> nop -+0+0f08 <[^>]*> nop -+0+0f0c <[^>]*> nop -+0+0f10 <[^>]*> nop -+0+0f14 <[^>]*> nop -+0+0f18 <[^>]*> nop -+0+0f1c <[^>]*> nop -+0+0f20 <[^>]*> nop -+0+0f24 <[^>]*> nop -+0+0f28 <[^>]*> nop -+0+0f2c <[^>]*> nop -+0+0f30 <[^>]*> nop -+0+0f34 <[^>]*> nop -+0+0f38 <[^>]*> nop -+0+0f3c <[^>]*> nop -+0+0f40 <[^>]*> nop -+0+0f44 <[^>]*> nop -+0+0f48 <[^>]*> nop -+0+0f4c <[^>]*> nop -+0+0f50 <[^>]*> nop -+0+0f54 <[^>]*> nop -+0+0f58 <[^>]*> nop -+0+0f5c <[^>]*> nop -+0+0f60 <[^>]*> nop -+0+0f64 <[^>]*> nop -+0+0f68 <[^>]*> nop -+0+0f6c <[^>]*> nop -+0+0f70 <[^>]*> nop -+0+0f74 <[^>]*> nop -+0+0f78 <[^>]*> nop -+0+0f7c <[^>]*> nop -+0+0f80 <[^>]*> nop -+0+0f84 <[^>]*> nop -+0+0f88 <[^>]*> nop -+0+0f8c <[^>]*> nop -+0+0f90 <[^>]*> nop -+0+0f94 <[^>]*> nop -+0+0f98 <[^>]*> nop -+0+0f9c <[^>]*> nop -+0+0fa0 <[^>]*> nop -+0+0fa4 <[^>]*> nop -+0+0fa8 <[^>]*> nop -+0+0fac <[^>]*> nop -+0+0fb0 <[^>]*> nop -+0+0fb4 <[^>]*> nop -+0+0fb8 <[^>]*> nop -+0+0fbc <[^>]*> nop -+0+0fc0 <[^>]*> nop -+0+0fc4 <[^>]*> nop -+0+0fc8 <[^>]*> nop -+0+0fcc <[^>]*> nop -+0+0fd0 <[^>]*> nop -+0+0fd4 <[^>]*> nop -+0+0fd8 <[^>]*> nop -+0+0fdc <[^>]*> nop -+0+0fe0 <[^>]*> nop -+0+0fe4 <[^>]*> nop -+0+0fe8 <[^>]*> nop -+0+0fec <[^>]*> nop -+0+0ff0 <[^>]*> nop -+0+0ff4 <[^>]*> nop -+0+0ff8 <[^>]*> nop -+0+0ffc <[^>]*> nop -+0+1000 <[^>]*> nop -+0+1004 <[^>]*> nop -+0+1008 <[^>]*> nop -+0+100c <[^>]*> nop -+0+1010 <[^>]*> nop -+0+1014 <[^>]*> nop -+0+1018 <[^>]*> nop -+0+101c <[^>]*> nop -+0+1020 <[^>]*> nop -+0+1024 <[^>]*> nop -+0+1028 <[^>]*> nop -+0+102c <[^>]*> nop -+0+1030 <[^>]*> nop -+0+1034 <[^>]*> nop -+0+1038 <[^>]*> nop -+0+103c <[^>]*> nop -+0+1040 <[^>]*> nop -+0+1044 <[^>]*> nop -+0+1048 <[^>]*> nop -+0+104c <[^>]*> nop -+0+1050 <[^>]*> nop -+0+1054 <[^>]*> nop -+0+1058 <[^>]*> nop -+0+105c <[^>]*> nop -+0+1060 <[^>]*> nop -+0+1064 <[^>]*> nop -+0+1068 <[^>]*> nop -+0+106c <[^>]*> nop -+0+1070 <[^>]*> nop -+0+1074 <[^>]*> nop -+0+1078 <[^>]*> nop -+0+107c <[^>]*> nop -+0+1080 <[^>]*> nop -+0+1084 <[^>]*> nop -+0+1088 <[^>]*> nop -+0+108c <[^>]*> nop -+0+1090 <[^>]*> nop -+0+1094 <[^>]*> nop -+0+1098 <[^>]*> nop -+0+109c <[^>]*> nop -+0+10a0 <[^>]*> nop -+0+10a4 <[^>]*> nop -+0+10a8 <[^>]*> nop -+0+10ac <[^>]*> nop -+0+10b0 <[^>]*> nop -+0+10b4 <[^>]*> nop -+0+10b8 <[^>]*> nop -+0+10bc <[^>]*> nop -+0+10c0 <[^>]*> nop -+0+10c4 <[^>]*> nop -+0+10c8 <[^>]*> nop -+0+10cc <[^>]*> nop -+0+10d0 <[^>]*> nop -+0+10d4 <[^>]*> nop -+0+10d8 <[^>]*> nop -+0+10dc <[^>]*> nop -+0+10e0 <[^>]*> nop -+0+10e4 <[^>]*> nop -+0+10e8 <[^>]*> nop -+0+10ec <[^>]*> nop -+0+10f0 <[^>]*> nop -+0+10f4 <[^>]*> nop -+0+10f8 <[^>]*> nop -+0+10fc <[^>]*> nop -+0+1100 <[^>]*> nop -+0+1104 <[^>]*> nop -+0+1108 <[^>]*> nop -+0+110c <[^>]*> nop -+0+1110 <[^>]*> nop -+0+1114 <[^>]*> nop -+0+1118 <[^>]*> nop -+0+111c <[^>]*> nop -+0+1120 <[^>]*> nop -+0+1124 <[^>]*> nop -+0+1128 <[^>]*> nop -+0+112c <[^>]*> nop -+0+1130 <[^>]*> nop -+0+1134 <[^>]*> nop -+0+1138 <[^>]*> nop -+0+113c <[^>]*> nop -+0+1140 <[^>]*> nop -+0+1144 <[^>]*> nop -+0+1148 <[^>]*> nop -+0+114c <[^>]*> nop -+0+1150 <[^>]*> nop -+0+1154 <[^>]*> nop -+0+1158 <[^>]*> nop -+0+115c <[^>]*> nop -+0+1160 <[^>]*> nop -+0+1164 <[^>]*> nop -+0+1168 <[^>]*> nop -+0+116c <[^>]*> nop -+0+1170 <[^>]*> nop -+0+1174 <[^>]*> nop -+0+1178 <[^>]*> nop -+0+117c <[^>]*> nop -+0+1180 <[^>]*> nop -+0+1184 <[^>]*> nop -+0+1188 <[^>]*> nop -+0+118c <[^>]*> nop -+0+1190 <[^>]*> nop -+0+1194 <[^>]*> nop -+0+1198 <[^>]*> nop -+0+119c <[^>]*> nop -+0+11a0 <[^>]*> nop -+0+11a4 <[^>]*> nop -+0+11a8 <[^>]*> nop -+0+11ac <[^>]*> nop -+0+11b0 <[^>]*> nop -+0+11b4 <[^>]*> nop -+0+11b8 <[^>]*> nop -+0+11bc <[^>]*> nop -+0+11c0 <[^>]*> nop -+0+11c4 <[^>]*> nop -+0+11c8 <[^>]*> nop -+0+11cc <[^>]*> nop -+0+11d0 <[^>]*> nop -+0+11d4 <[^>]*> nop -+0+11d8 <[^>]*> nop -+0+11dc <[^>]*> nop -+0+11e0 <[^>]*> nop -+0+11e4 <[^>]*> nop -+0+11e8 <[^>]*> nop -+0+11ec <[^>]*> nop -+0+11f0 <[^>]*> nop -+0+11f4 <[^>]*> nop -+0+11f8 <[^>]*> nop -+0+11fc <[^>]*> nop -+0+1200 <[^>]*> nop -+0+1204 <[^>]*> nop -+0+1208 <[^>]*> nop -+0+120c <[^>]*> nop -+0+1210 <[^>]*> nop -+0+1214 <[^>]*> nop -+0+1218 <[^>]*> nop -+0+121c <[^>]*> nop -+0+1220 <[^>]*> nop -+0+1224 <[^>]*> nop -+0+1228 <[^>]*> nop -+0+122c <[^>]*> nop -+0+1230 <[^>]*> nop -+0+1234 <[^>]*> nop -+0+1238 <[^>]*> nop -+0+123c <[^>]*> nop -+0+1240 <[^>]*> nop -+0+1244 <[^>]*> nop -+0+1248 <[^>]*> nop -+0+124c <[^>]*> nop -+0+1250 <[^>]*> nop -+0+1254 <[^>]*> nop -+0+1258 <[^>]*> nop -+0+125c <[^>]*> nop -+0+1260 <[^>]*> nop -+0+1264 <[^>]*> nop -+0+1268 <[^>]*> nop -+0+126c <[^>]*> nop -+0+1270 <[^>]*> nop -+0+1274 <[^>]*> nop -+0+1278 <[^>]*> nop -+0+127c <[^>]*> nop -+0+1280 <[^>]*> nop -+0+1284 <[^>]*> nop -+0+1288 <[^>]*> nop -+0+128c <[^>]*> nop -+0+1290 <[^>]*> nop -+0+1294 <[^>]*> nop -+0+1298 <[^>]*> nop -+0+129c <[^>]*> nop -+0+12a0 <[^>]*> nop -+0+12a4 <[^>]*> nop -+0+12a8 <[^>]*> nop -+0+12ac <[^>]*> nop -+0+12b0 <[^>]*> nop -+0+12b4 <[^>]*> nop -+0+12b8 <[^>]*> nop -+0+12bc <[^>]*> nop -+0+12c0 <[^>]*> nop -+0+12c4 <[^>]*> nop -+0+12c8 <[^>]*> nop -+0+12cc <[^>]*> nop -+0+12d0 <[^>]*> nop -+0+12d4 <[^>]*> nop -+0+12d8 <[^>]*> nop -+0+12dc <[^>]*> nop -+0+12e0 <[^>]*> nop -+0+12e4 <[^>]*> nop -+0+12e8 <[^>]*> nop -+0+12ec <[^>]*> nop -+0+12f0 <[^>]*> nop -+0+12f4 <[^>]*> nop -+0+12f8 <[^>]*> nop -+0+12fc <[^>]*> nop -+0+1300 <[^>]*> nop -+0+1304 <[^>]*> nop -+0+1308 <[^>]*> nop -+0+130c <[^>]*> nop -+0+1310 <[^>]*> nop -+0+1314 <[^>]*> nop -+0+1318 <[^>]*> nop -+0+131c <[^>]*> nop -+0+1320 <[^>]*> nop -+0+1324 <[^>]*> nop -+0+1328 <[^>]*> nop -+0+132c <[^>]*> nop -+0+1330 <[^>]*> nop -+0+1334 <[^>]*> nop -+0+1338 <[^>]*> nop -+0+133c <[^>]*> nop -+0+1340 <[^>]*> nop -+0+1344 <[^>]*> nop -+0+1348 <[^>]*> nop -+0+134c <[^>]*> nop -+0+1350 <[^>]*> nop -+0+1354 <[^>]*> nop -+0+1358 <[^>]*> nop -+0+135c <[^>]*> nop -+0+1360 <[^>]*> nop -+0+1364 <[^>]*> nop -+0+1368 <[^>]*> nop -+0+136c <[^>]*> nop -+0+1370 <[^>]*> nop -+0+1374 <[^>]*> nop -+0+1378 <[^>]*> nop -+0+137c <[^>]*> nop -+0+1380 <[^>]*> nop -+0+1384 <[^>]*> nop -+0+1388 <[^>]*> nop -+0+138c <[^>]*> nop -+0+1390 <[^>]*> nop -+0+1394 <[^>]*> nop -+0+1398 <[^>]*> nop -+0+139c <[^>]*> nop -+0+13a0 <[^>]*> nop -+0+13a4 <[^>]*> nop -+0+13a8 <[^>]*> nop -+0+13ac <[^>]*> nop -+0+13b0 <[^>]*> nop -+0+13b4 <[^>]*> nop -+0+13b8 <[^>]*> nop -+0+13bc <[^>]*> nop -+0+13c0 <[^>]*> nop -+0+13c4 <[^>]*> nop -+0+13c8 <[^>]*> nop -+0+13cc <[^>]*> nop -+0+13d0 <[^>]*> nop -+0+13d4 <[^>]*> nop -+0+13d8 <[^>]*> nop -+0+13dc <[^>]*> nop -+0+13e0 <[^>]*> nop -+0+13e4 <[^>]*> nop -+0+13e8 <[^>]*> nop -+0+13ec <[^>]*> nop -+0+13f0 <[^>]*> nop -+0+13f4 <[^>]*> nop -+0+13f8 <[^>]*> nop -+0+13fc <[^>]*> nop -+0+1400 <[^>]*> nop -+0+1404 <[^>]*> nop -+0+1408 <[^>]*> nop -+0+140c <[^>]*> nop -+0+1410 <[^>]*> nop -+0+1414 <[^>]*> nop -+0+1418 <[^>]*> nop -+0+141c <[^>]*> nop -+0+1420 <[^>]*> nop -+0+1424 <[^>]*> nop -+0+1428 <[^>]*> nop -+0+142c <[^>]*> nop -+0+1430 <[^>]*> nop -+0+1434 <[^>]*> nop -+0+1438 <[^>]*> nop -+0+143c <[^>]*> nop -+0+1440 <[^>]*> nop -+0+1444 <[^>]*> nop -+0+1448 <[^>]*> nop -+0+144c <[^>]*> nop -+0+1450 <[^>]*> nop -+0+1454 <[^>]*> nop -+0+1458 <[^>]*> nop -+0+145c <[^>]*> nop -+0+1460 <[^>]*> nop -+0+1464 <[^>]*> nop -+0+1468 <[^>]*> nop -+0+146c <[^>]*> nop -+0+1470 <[^>]*> nop -+0+1474 <[^>]*> nop -+0+1478 <[^>]*> nop -+0+147c <[^>]*> nop -+0+1480 <[^>]*> nop -+0+1484 <[^>]*> nop -+0+1488 <[^>]*> nop -+0+148c <[^>]*> nop -+0+1490 <[^>]*> nop -+0+1494 <[^>]*> nop -+0+1498 <[^>]*> nop -+0+149c <[^>]*> nop -+0+14a0 <[^>]*> nop -+0+14a4 <[^>]*> nop -+0+14a8 <[^>]*> nop -+0+14ac <[^>]*> nop -+0+14b0 <[^>]*> nop -+0+14b4 <[^>]*> nop -+0+14b8 <[^>]*> nop -+0+14bc <[^>]*> nop -+0+14c0 <[^>]*> nop -+0+14c4 <[^>]*> nop -+0+14c8 <[^>]*> nop -+0+14cc <[^>]*> nop -+0+14d0 <[^>]*> nop -+0+14d4 <[^>]*> nop -+0+14d8 <[^>]*> nop -+0+14dc <[^>]*> nop -+0+14e0 <[^>]*> nop -+0+14e4 <[^>]*> nop -+0+14e8 <[^>]*> nop -+0+14ec <[^>]*> nop -+0+14f0 <[^>]*> nop -+0+14f4 <[^>]*> nop -+0+14f8 <[^>]*> nop -+0+14fc <[^>]*> nop -+0+1500 <[^>]*> nop -+0+1504 <[^>]*> nop -+0+1508 <[^>]*> nop -+0+150c <[^>]*> nop -+0+1510 <[^>]*> nop -+0+1514 <[^>]*> nop -+0+1518 <[^>]*> nop -+0+151c <[^>]*> nop -+0+1520 <[^>]*> nop -+0+1524 <[^>]*> nop -+0+1528 <[^>]*> nop -+0+152c <[^>]*> nop -+0+1530 <[^>]*> nop -+0+1534 <[^>]*> nop -+0+1538 <[^>]*> nop -+0+153c <[^>]*> nop -+0+1540 <[^>]*> nop -+0+1544 <[^>]*> nop -+0+1548 <[^>]*> nop -+0+154c <[^>]*> nop -+0+1550 <[^>]*> nop -+0+1554 <[^>]*> nop -+0+1558 <[^>]*> nop -+0+155c <[^>]*> nop -+0+1560 <[^>]*> nop -+0+1564 <[^>]*> nop -+0+1568 <[^>]*> nop -+0+156c <[^>]*> nop -+0+1570 <[^>]*> nop -+0+1574 <[^>]*> nop -+0+1578 <[^>]*> nop -+0+157c <[^>]*> nop -+0+1580 <[^>]*> nop -+0+1584 <[^>]*> nop -+0+1588 <[^>]*> nop -+0+158c <[^>]*> nop -+0+1590 <[^>]*> nop -+0+1594 <[^>]*> nop -+0+1598 <[^>]*> nop -+0+159c <[^>]*> nop -+0+15a0 <[^>]*> nop -+0+15a4 <[^>]*> nop -+0+15a8 <[^>]*> nop -+0+15ac <[^>]*> nop -+0+15b0 <[^>]*> nop -+0+15b4 <[^>]*> nop -+0+15b8 <[^>]*> nop -+0+15bc <[^>]*> nop -+0+15c0 <[^>]*> nop -+0+15c4 <[^>]*> nop -+0+15c8 <[^>]*> nop -+0+15cc <[^>]*> nop -+0+15d0 <[^>]*> nop -+0+15d4 <[^>]*> nop -+0+15d8 <[^>]*> nop -+0+15dc <[^>]*> nop -+0+15e0 <[^>]*> nop -+0+15e4 <[^>]*> nop -+0+15e8 <[^>]*> nop -+0+15ec <[^>]*> nop -+0+15f0 <[^>]*> nop -+0+15f4 <[^>]*> nop -+0+15f8 <[^>]*> nop -+0+15fc <[^>]*> nop -+0+1600 <[^>]*> nop -+0+1604 <[^>]*> nop -+0+1608 <[^>]*> nop -+0+160c <[^>]*> nop -+0+1610 <[^>]*> nop -+0+1614 <[^>]*> nop -+0+1618 <[^>]*> nop -+0+161c <[^>]*> nop -+0+1620 <[^>]*> nop -+0+1624 <[^>]*> nop -+0+1628 <[^>]*> nop -+0+162c <[^>]*> nop -+0+1630 <[^>]*> nop -+0+1634 <[^>]*> nop -+0+1638 <[^>]*> nop -+0+163c <[^>]*> nop -+0+1640 <[^>]*> nop -+0+1644 <[^>]*> nop -+0+1648 <[^>]*> nop -+0+164c <[^>]*> nop -+0+1650 <[^>]*> nop -+0+1654 <[^>]*> nop -+0+1658 <[^>]*> nop -+0+165c <[^>]*> nop -+0+1660 <[^>]*> nop -+0+1664 <[^>]*> nop -+0+1668 <[^>]*> nop -+0+166c <[^>]*> nop -+0+1670 <[^>]*> nop -+0+1674 <[^>]*> nop -+0+1678 <[^>]*> nop -+0+167c <[^>]*> nop -+0+1680 <[^>]*> nop -+0+1684 <[^>]*> nop -+0+1688 <[^>]*> nop -+0+168c <[^>]*> nop -+0+1690 <[^>]*> nop -+0+1694 <[^>]*> nop -+0+1698 <[^>]*> nop -+0+169c <[^>]*> nop -+0+16a0 <[^>]*> nop -+0+16a4 <[^>]*> nop -+0+16a8 <[^>]*> nop -+0+16ac <[^>]*> nop -+0+16b0 <[^>]*> nop -+0+16b4 <[^>]*> nop -+0+16b8 <[^>]*> nop -+0+16bc <[^>]*> nop -+0+16c0 <[^>]*> nop -+0+16c4 <[^>]*> nop -+0+16c8 <[^>]*> nop -+0+16cc <[^>]*> nop -+0+16d0 <[^>]*> nop -+0+16d4 <[^>]*> nop -+0+16d8 <[^>]*> nop -+0+16dc <[^>]*> nop -+0+16e0 <[^>]*> nop -+0+16e4 <[^>]*> nop -+0+16e8 <[^>]*> nop -+0+16ec <[^>]*> nop -+0+16f0 <[^>]*> nop -+0+16f4 <[^>]*> nop -+0+16f8 <[^>]*> nop -+0+16fc <[^>]*> nop -+0+1700 <[^>]*> nop -+0+1704 <[^>]*> nop -+0+1708 <[^>]*> nop -+0+170c <[^>]*> nop -+0+1710 <[^>]*> nop -+0+1714 <[^>]*> nop -+0+1718 <[^>]*> nop -+0+171c <[^>]*> nop -+0+1720 <[^>]*> nop -+0+1724 <[^>]*> nop -+0+1728 <[^>]*> nop -+0+172c <[^>]*> nop -+0+1730 <[^>]*> nop -+0+1734 <[^>]*> nop -+0+1738 <[^>]*> nop -+0+173c <[^>]*> nop -+0+1740 <[^>]*> nop -+0+1744 <[^>]*> nop -+0+1748 <[^>]*> nop -+0+174c <[^>]*> nop -+0+1750 <[^>]*> nop -+0+1754 <[^>]*> nop -+0+1758 <[^>]*> nop -+0+175c <[^>]*> nop -+0+1760 <[^>]*> nop -+0+1764 <[^>]*> nop -+0+1768 <[^>]*> nop -+0+176c <[^>]*> nop -+0+1770 <[^>]*> nop -+0+1774 <[^>]*> nop -+0+1778 <[^>]*> nop -+0+177c <[^>]*> nop -+0+1780 <[^>]*> nop -+0+1784 <[^>]*> nop -+0+1788 <[^>]*> nop -+0+178c <[^>]*> nop -+0+1790 <[^>]*> nop -+0+1794 <[^>]*> nop -+0+1798 <[^>]*> nop -+0+179c <[^>]*> nop -+0+17a0 <[^>]*> nop -+0+17a4 <[^>]*> nop -+0+17a8 <[^>]*> nop -+0+17ac <[^>]*> nop -+0+17b0 <[^>]*> nop -+0+17b4 <[^>]*> nop -+0+17b8 <[^>]*> nop -+0+17bc <[^>]*> nop -+0+17c0 <[^>]*> nop -+0+17c4 <[^>]*> nop -+0+17c8 <[^>]*> nop -+0+17cc <[^>]*> nop -+0+17d0 <[^>]*> nop -+0+17d4 <[^>]*> nop -+0+17d8 <[^>]*> nop -+0+17dc <[^>]*> nop -+0+17e0 <[^>]*> nop -+0+17e4 <[^>]*> nop -+0+17e8 <[^>]*> nop -+0+17ec <[^>]*> nop -+0+17f0 <[^>]*> nop -+0+17f4 <[^>]*> nop -+0+17f8 <[^>]*> nop -+0+17fc <[^>]*> nop -+0+1800 <[^>]*> nop -+0+1804 <[^>]*> nop -+0+1808 <[^>]*> nop -+0+180c <[^>]*> nop -+0+1810 <[^>]*> nop -+0+1814 <[^>]*> nop -+0+1818 <[^>]*> nop -+0+181c <[^>]*> nop -+0+1820 <[^>]*> nop -+0+1824 <[^>]*> nop -+0+1828 <[^>]*> nop -+0+182c <[^>]*> nop -+0+1830 <[^>]*> nop -+0+1834 <[^>]*> nop -+0+1838 <[^>]*> nop -+0+183c <[^>]*> nop -+0+1840 <[^>]*> nop -+0+1844 <[^>]*> nop -+0+1848 <[^>]*> nop -+0+184c <[^>]*> nop -+0+1850 <[^>]*> nop -+0+1854 <[^>]*> nop -+0+1858 <[^>]*> nop -+0+185c <[^>]*> nop -+0+1860 <[^>]*> nop -+0+1864 <[^>]*> nop -+0+1868 <[^>]*> nop -+0+186c <[^>]*> nop -+0+1870 <[^>]*> nop -+0+1874 <[^>]*> nop -+0+1878 <[^>]*> nop -+0+187c <[^>]*> nop -+0+1880 <[^>]*> nop -+0+1884 <[^>]*> nop -+0+1888 <[^>]*> nop -+0+188c <[^>]*> nop -+0+1890 <[^>]*> nop -+0+1894 <[^>]*> nop -+0+1898 <[^>]*> nop -+0+189c <[^>]*> nop -+0+18a0 <[^>]*> nop -+0+18a4 <[^>]*> nop -+0+18a8 <[^>]*> nop -+0+18ac <[^>]*> nop -+0+18b0 <[^>]*> nop -+0+18b4 <[^>]*> nop -+0+18b8 <[^>]*> nop -+0+18bc <[^>]*> nop -+0+18c0 <[^>]*> nop -+0+18c4 <[^>]*> nop -+0+18c8 <[^>]*> nop -+0+18cc <[^>]*> nop -+0+18d0 <[^>]*> nop -+0+18d4 <[^>]*> nop -+0+18d8 <[^>]*> nop -+0+18dc <[^>]*> nop -+0+18e0 <[^>]*> nop -+0+18e4 <[^>]*> nop -+0+18e8 <[^>]*> nop -+0+18ec <[^>]*> nop -+0+18f0 <[^>]*> nop -+0+18f4 <[^>]*> nop -+0+18f8 <[^>]*> nop -+0+18fc <[^>]*> nop -+0+1900 <[^>]*> nop -+0+1904 <[^>]*> nop -+0+1908 <[^>]*> nop -+0+190c <[^>]*> nop -+0+1910 <[^>]*> nop -+0+1914 <[^>]*> nop -+0+1918 <[^>]*> nop -+0+191c <[^>]*> nop -+0+1920 <[^>]*> nop -+0+1924 <[^>]*> nop -+0+1928 <[^>]*> nop -+0+192c <[^>]*> nop -+0+1930 <[^>]*> nop -+0+1934 <[^>]*> nop -+0+1938 <[^>]*> nop -+0+193c <[^>]*> nop -+0+1940 <[^>]*> nop -+0+1944 <[^>]*> nop -+0+1948 <[^>]*> nop -+0+194c <[^>]*> nop -+0+1950 <[^>]*> nop -+0+1954 <[^>]*> nop -+0+1958 <[^>]*> nop -+0+195c <[^>]*> nop -+0+1960 <[^>]*> nop -+0+1964 <[^>]*> nop -+0+1968 <[^>]*> nop -+0+196c <[^>]*> nop -+0+1970 <[^>]*> nop -+0+1974 <[^>]*> nop -+0+1978 <[^>]*> nop -+0+197c <[^>]*> nop -+0+1980 <[^>]*> nop -+0+1984 <[^>]*> nop -+0+1988 <[^>]*> nop -+0+198c <[^>]*> nop -+0+1990 <[^>]*> nop -+0+1994 <[^>]*> nop -+0+1998 <[^>]*> nop -+0+199c <[^>]*> nop -+0+19a0 <[^>]*> nop -+0+19a4 <[^>]*> nop -+0+19a8 <[^>]*> nop -+0+19ac <[^>]*> nop -+0+19b0 <[^>]*> nop -+0+19b4 <[^>]*> nop -+0+19b8 <[^>]*> nop -+0+19bc <[^>]*> nop -+0+19c0 <[^>]*> nop -+0+19c4 <[^>]*> nop -+0+19c8 <[^>]*> nop -+0+19cc <[^>]*> nop -+0+19d0 <[^>]*> nop -+0+19d4 <[^>]*> nop -+0+19d8 <[^>]*> nop -+0+19dc <[^>]*> nop -+0+19e0 <[^>]*> nop -+0+19e4 <[^>]*> nop -+0+19e8 <[^>]*> nop -+0+19ec <[^>]*> nop -+0+19f0 <[^>]*> nop -+0+19f4 <[^>]*> nop -+0+19f8 <[^>]*> nop -+0+19fc <[^>]*> nop -+0+1a00 <[^>]*> nop -+0+1a04 <[^>]*> nop -+0+1a08 <[^>]*> nop -+0+1a0c <[^>]*> nop -+0+1a10 <[^>]*> nop -+0+1a14 <[^>]*> nop -+0+1a18 <[^>]*> nop -+0+1a1c <[^>]*> nop -+0+1a20 <[^>]*> nop -+0+1a24 <[^>]*> nop -+0+1a28 <[^>]*> nop -+0+1a2c <[^>]*> nop -+0+1a30 <[^>]*> nop -+0+1a34 <[^>]*> nop -+0+1a38 <[^>]*> nop -+0+1a3c <[^>]*> nop -+0+1a40 <[^>]*> nop -+0+1a44 <[^>]*> nop -+0+1a48 <[^>]*> nop -+0+1a4c <[^>]*> nop -+0+1a50 <[^>]*> nop -+0+1a54 <[^>]*> nop -+0+1a58 <[^>]*> nop -+0+1a5c <[^>]*> nop -+0+1a60 <[^>]*> nop -+0+1a64 <[^>]*> nop -+0+1a68 <[^>]*> nop -+0+1a6c <[^>]*> nop -+0+1a70 <[^>]*> nop -+0+1a74 <[^>]*> nop -+0+1a78 <[^>]*> nop -+0+1a7c <[^>]*> nop -+0+1a80 <[^>]*> nop -+0+1a84 <[^>]*> nop -+0+1a88 <[^>]*> nop -+0+1a8c <[^>]*> nop -+0+1a90 <[^>]*> nop -+0+1a94 <[^>]*> nop -+0+1a98 <[^>]*> nop -+0+1a9c <[^>]*> nop -+0+1aa0 <[^>]*> nop -+0+1aa4 <[^>]*> nop -+0+1aa8 <[^>]*> nop -+0+1aac <[^>]*> nop -+0+1ab0 <[^>]*> nop -+0+1ab4 <[^>]*> nop -+0+1ab8 <[^>]*> nop -+0+1abc <[^>]*> nop -+0+1ac0 <[^>]*> nop -+0+1ac4 <[^>]*> nop -+0+1ac8 <[^>]*> nop -+0+1acc <[^>]*> nop -+0+1ad0 <[^>]*> nop -+0+1ad4 <[^>]*> nop -+0+1ad8 <[^>]*> nop -+0+1adc <[^>]*> nop -+0+1ae0 <[^>]*> nop -+0+1ae4 <[^>]*> nop -+0+1ae8 <[^>]*> nop -+0+1aec <[^>]*> nop -+0+1af0 <[^>]*> nop -+0+1af4 <[^>]*> nop -+0+1af8 <[^>]*> nop -+0+1afc <[^>]*> nop -+0+1b00 <[^>]*> nop -+0+1b04 <[^>]*> nop -+0+1b08 <[^>]*> nop -+0+1b0c <[^>]*> nop -+0+1b10 <[^>]*> nop -+0+1b14 <[^>]*> nop -+0+1b18 <[^>]*> nop -+0+1b1c <[^>]*> nop -+0+1b20 <[^>]*> nop -+0+1b24 <[^>]*> nop -+0+1b28 <[^>]*> nop -+0+1b2c <[^>]*> nop -+0+1b30 <[^>]*> nop -+0+1b34 <[^>]*> nop -+0+1b38 <[^>]*> nop -+0+1b3c <[^>]*> nop -+0+1b40 <[^>]*> nop -+0+1b44 <[^>]*> nop -+0+1b48 <[^>]*> nop -+0+1b4c <[^>]*> nop -+0+1b50 <[^>]*> nop -+0+1b54 <[^>]*> nop -+0+1b58 <[^>]*> nop -+0+1b5c <[^>]*> nop -+0+1b60 <[^>]*> nop -+0+1b64 <[^>]*> nop -+0+1b68 <[^>]*> nop -+0+1b6c <[^>]*> nop -+0+1b70 <[^>]*> nop -+0+1b74 <[^>]*> nop -+0+1b78 <[^>]*> nop -+0+1b7c <[^>]*> nop -+0+1b80 <[^>]*> nop -+0+1b84 <[^>]*> nop -+0+1b88 <[^>]*> nop -+0+1b8c <[^>]*> nop -+0+1b90 <[^>]*> nop -+0+1b94 <[^>]*> nop -+0+1b98 <[^>]*> nop -+0+1b9c <[^>]*> nop -+0+1ba0 <[^>]*> nop -+0+1ba4 <[^>]*> nop -+0+1ba8 <[^>]*> nop -+0+1bac <[^>]*> nop -+0+1bb0 <[^>]*> nop -+0+1bb4 <[^>]*> nop -+0+1bb8 <[^>]*> nop -+0+1bbc <[^>]*> nop -+0+1bc0 <[^>]*> nop -+0+1bc4 <[^>]*> nop -+0+1bc8 <[^>]*> nop -+0+1bcc <[^>]*> nop -+0+1bd0 <[^>]*> nop -+0+1bd4 <[^>]*> nop -+0+1bd8 <[^>]*> nop -+0+1bdc <[^>]*> nop -+0+1be0 <[^>]*> nop -+0+1be4 <[^>]*> nop -+0+1be8 <[^>]*> nop -+0+1bec <[^>]*> nop -+0+1bf0 <[^>]*> nop -+0+1bf4 <[^>]*> nop -+0+1bf8 <[^>]*> nop -+0+1bfc <[^>]*> nop -+0+1c00 <[^>]*> nop -+0+1c04 <[^>]*> nop -+0+1c08 <[^>]*> nop -+0+1c0c <[^>]*> nop -+0+1c10 <[^>]*> nop -+0+1c14 <[^>]*> nop -+0+1c18 <[^>]*> nop -+0+1c1c <[^>]*> nop -+0+1c20 <[^>]*> nop -+0+1c24 <[^>]*> nop -+0+1c28 <[^>]*> nop -+0+1c2c <[^>]*> nop -+0+1c30 <[^>]*> nop -+0+1c34 <[^>]*> nop -+0+1c38 <[^>]*> nop -+0+1c3c <[^>]*> nop -+0+1c40 <[^>]*> nop -+0+1c44 <[^>]*> nop -+0+1c48 <[^>]*> nop -+0+1c4c <[^>]*> nop -+0+1c50 <[^>]*> nop -+0+1c54 <[^>]*> nop -+0+1c58 <[^>]*> nop -+0+1c5c <[^>]*> nop -+0+1c60 <[^>]*> nop -+0+1c64 <[^>]*> nop -+0+1c68 <[^>]*> nop -+0+1c6c <[^>]*> nop -+0+1c70 <[^>]*> nop -+0+1c74 <[^>]*> nop -+0+1c78 <[^>]*> nop -+0+1c7c <[^>]*> nop -+0+1c80 <[^>]*> nop -+0+1c84 <[^>]*> nop -+0+1c88 <[^>]*> nop -+0+1c8c <[^>]*> nop -+0+1c90 <[^>]*> nop -+0+1c94 <[^>]*> nop -+0+1c98 <[^>]*> nop -+0+1c9c <[^>]*> nop -+0+1ca0 <[^>]*> nop -+0+1ca4 <[^>]*> nop -+0+1ca8 <[^>]*> nop -+0+1cac <[^>]*> nop -+0+1cb0 <[^>]*> nop -+0+1cb4 <[^>]*> nop -+0+1cb8 <[^>]*> nop -+0+1cbc <[^>]*> nop -+0+1cc0 <[^>]*> nop -+0+1cc4 <[^>]*> nop -+0+1cc8 <[^>]*> nop -+0+1ccc <[^>]*> nop -+0+1cd0 <[^>]*> nop -+0+1cd4 <[^>]*> nop -+0+1cd8 <[^>]*> nop -+0+1cdc <[^>]*> nop -+0+1ce0 <[^>]*> nop -+0+1ce4 <[^>]*> nop -+0+1ce8 <[^>]*> nop -+0+1cec <[^>]*> nop -+0+1cf0 <[^>]*> nop -+0+1cf4 <[^>]*> nop -+0+1cf8 <[^>]*> nop -+0+1cfc <[^>]*> nop -+0+1d00 <[^>]*> nop -+0+1d04 <[^>]*> nop -+0+1d08 <[^>]*> nop -+0+1d0c <[^>]*> nop -+0+1d10 <[^>]*> nop -+0+1d14 <[^>]*> nop -+0+1d18 <[^>]*> nop -+0+1d1c <[^>]*> nop -+0+1d20 <[^>]*> nop -+0+1d24 <[^>]*> nop -+0+1d28 <[^>]*> nop -+0+1d2c <[^>]*> nop -+0+1d30 <[^>]*> nop -+0+1d34 <[^>]*> nop -+0+1d38 <[^>]*> nop -+0+1d3c <[^>]*> nop -+0+1d40 <[^>]*> nop -+0+1d44 <[^>]*> nop -+0+1d48 <[^>]*> nop -+0+1d4c <[^>]*> nop -+0+1d50 <[^>]*> nop -+0+1d54 <[^>]*> nop -+0+1d58 <[^>]*> nop -+0+1d5c <[^>]*> nop -+0+1d60 <[^>]*> nop -+0+1d64 <[^>]*> nop -+0+1d68 <[^>]*> nop -+0+1d6c <[^>]*> nop -+0+1d70 <[^>]*> nop -+0+1d74 <[^>]*> nop -+0+1d78 <[^>]*> nop -+0+1d7c <[^>]*> nop -+0+1d80 <[^>]*> nop -+0+1d84 <[^>]*> nop -+0+1d88 <[^>]*> nop -+0+1d8c <[^>]*> nop -+0+1d90 <[^>]*> nop -+0+1d94 <[^>]*> nop -+0+1d98 <[^>]*> nop -+0+1d9c <[^>]*> nop -+0+1da0 <[^>]*> nop -+0+1da4 <[^>]*> nop -+0+1da8 <[^>]*> nop -+0+1dac <[^>]*> nop -+0+1db0 <[^>]*> nop -+0+1db4 <[^>]*> nop -+0+1db8 <[^>]*> nop -+0+1dbc <[^>]*> nop -+0+1dc0 <[^>]*> nop -+0+1dc4 <[^>]*> nop -+0+1dc8 <[^>]*> nop -+0+1dcc <[^>]*> nop -+0+1dd0 <[^>]*> nop -+0+1dd4 <[^>]*> nop -+0+1dd8 <[^>]*> nop -+0+1ddc <[^>]*> nop -+0+1de0 <[^>]*> nop -+0+1de4 <[^>]*> nop -+0+1de8 <[^>]*> nop -+0+1dec <[^>]*> nop -+0+1df0 <[^>]*> nop -+0+1df4 <[^>]*> nop -+0+1df8 <[^>]*> nop -+0+1dfc <[^>]*> nop -+0+1e00 <[^>]*> nop -+0+1e04 <[^>]*> nop -+0+1e08 <[^>]*> nop -+0+1e0c <[^>]*> nop -+0+1e10 <[^>]*> nop -+0+1e14 <[^>]*> nop -+0+1e18 <[^>]*> nop -+0+1e1c <[^>]*> nop -+0+1e20 <[^>]*> nop -+0+1e24 <[^>]*> nop -+0+1e28 <[^>]*> nop -+0+1e2c <[^>]*> nop -+0+1e30 <[^>]*> nop -+0+1e34 <[^>]*> nop -+0+1e38 <[^>]*> nop -+0+1e3c <[^>]*> nop -+0+1e40 <[^>]*> nop -+0+1e44 <[^>]*> nop -+0+1e48 <[^>]*> nop -+0+1e4c <[^>]*> nop -+0+1e50 <[^>]*> nop -+0+1e54 <[^>]*> nop -+0+1e58 <[^>]*> nop -+0+1e5c <[^>]*> nop -+0+1e60 <[^>]*> nop -+0+1e64 <[^>]*> nop -+0+1e68 <[^>]*> nop -+0+1e6c <[^>]*> nop -+0+1e70 <[^>]*> nop -+0+1e74 <[^>]*> nop -+0+1e78 <[^>]*> nop -+0+1e7c <[^>]*> nop -+0+1e80 <[^>]*> nop -+0+1e84 <[^>]*> nop -+0+1e88 <[^>]*> nop -+0+1e8c <[^>]*> nop -+0+1e90 <[^>]*> nop -+0+1e94 <[^>]*> nop -+0+1e98 <[^>]*> nop -+0+1e9c <[^>]*> nop -+0+1ea0 <[^>]*> nop -+0+1ea4 <[^>]*> nop -+0+1ea8 <[^>]*> nop -+0+1eac <[^>]*> nop -+0+1eb0 <[^>]*> nop -+0+1eb4 <[^>]*> nop -+0+1eb8 <[^>]*> nop -+0+1ebc <[^>]*> nop -+0+1ec0 <[^>]*> nop -+0+1ec4 <[^>]*> nop -+0+1ec8 <[^>]*> nop -+0+1ecc <[^>]*> nop -+0+1ed0 <[^>]*> nop -+0+1ed4 <[^>]*> nop -+0+1ed8 <[^>]*> nop -+0+1edc <[^>]*> nop -+0+1ee0 <[^>]*> nop -+0+1ee4 <[^>]*> nop -+0+1ee8 <[^>]*> nop -+0+1eec <[^>]*> nop -+0+1ef0 <[^>]*> nop -+0+1ef4 <[^>]*> nop -+0+1ef8 <[^>]*> nop -+0+1efc <[^>]*> nop -+0+1f00 <[^>]*> nop -+0+1f04 <[^>]*> nop -+0+1f08 <[^>]*> nop -+0+1f0c <[^>]*> nop -+0+1f10 <[^>]*> nop -+0+1f14 <[^>]*> nop -+0+1f18 <[^>]*> nop -+0+1f1c <[^>]*> nop -+0+1f20 <[^>]*> nop -+0+1f24 <[^>]*> nop -+0+1f28 <[^>]*> nop -+0+1f2c <[^>]*> nop -+0+1f30 <[^>]*> nop -+0+1f34 <[^>]*> nop -+0+1f38 <[^>]*> nop -+0+1f3c <[^>]*> nop -+0+1f40 <[^>]*> nop -+0+1f44 <[^>]*> nop -+0+1f48 <[^>]*> nop -+0+1f4c <[^>]*> nop -+0+1f50 <[^>]*> nop -+0+1f54 <[^>]*> nop -+0+1f58 <[^>]*> nop -+0+1f5c <[^>]*> nop -+0+1f60 <[^>]*> nop -+0+1f64 <[^>]*> nop -+0+1f68 <[^>]*> nop -+0+1f6c <[^>]*> nop -+0+1f70 <[^>]*> nop -+0+1f74 <[^>]*> nop -+0+1f78 <[^>]*> nop -+0+1f7c <[^>]*> nop -+0+1f80 <[^>]*> nop -+0+1f84 <[^>]*> nop -+0+1f88 <[^>]*> nop -+0+1f8c <[^>]*> nop -+0+1f90 <[^>]*> nop -+0+1f94 <[^>]*> nop -+0+1f98 <[^>]*> nop -+0+1f9c <[^>]*> nop -+0+1fa0 <[^>]*> nop -+0+1fa4 <[^>]*> nop -+0+1fa8 <[^>]*> nop -+0+1fac <[^>]*> nop -+0+1fb0 <[^>]*> nop -+0+1fb4 <[^>]*> nop -+0+1fb8 <[^>]*> nop -+0+1fbc <[^>]*> nop -+0+1fc0 <[^>]*> nop -+0+1fc4 <[^>]*> nop -+0+1fc8 <[^>]*> nop -+0+1fcc <[^>]*> nop -+0+1fd0 <[^>]*> nop -+0+1fd4 <[^>]*> nop -+0+1fd8 <[^>]*> nop -+0+1fdc <[^>]*> nop -+0+1fe0 <[^>]*> nop -+0+1fe4 <[^>]*> nop -+0+1fe8 <[^>]*> nop -+0+1fec <[^>]*> nop -+0+1ff0 <[^>]*> nop -+0+1ff4 <[^>]*> nop -+0+1ff8 <[^>]*> nop -+0+1ffc <[^>]*> nop -+0+2000 <[^>]*> nop -+0+2004 <[^>]*> nop -+0+2008 <[^>]*> nop -+0+200c <[^>]*> nop -+0+2010 <[^>]*> nop -+0+2014 <[^>]*> nop -+0+2018 <[^>]*> nop -+0+201c <[^>]*> nop -+0+2020 <[^>]*> nop -+0+2024 <[^>]*> nop -+0+2028 <[^>]*> nop -+0+202c <[^>]*> nop -+0+2030 <[^>]*> nop -+0+2034 <[^>]*> nop -+0+2038 <[^>]*> nop -+0+203c <[^>]*> nop -+0+2040 <[^>]*> nop -+0+2044 <[^>]*> nop -+0+2048 <[^>]*> nop -+0+204c <[^>]*> nop -+0+2050 <[^>]*> nop -+0+2054 <[^>]*> nop -+0+2058 <[^>]*> nop -+0+205c <[^>]*> nop -+0+2060 <[^>]*> nop -+0+2064 <[^>]*> nop -+0+2068 <[^>]*> nop -+0+206c <[^>]*> nop -+0+2070 <[^>]*> nop -+0+2074 <[^>]*> nop -+0+2078 <[^>]*> nop -+0+207c <[^>]*> nop -+0+2080 <[^>]*> nop -+0+2084 <[^>]*> nop -+0+2088 <[^>]*> nop -+0+208c <[^>]*> nop -+0+2090 <[^>]*> nop -+0+2094 <[^>]*> nop -+0+2098 <[^>]*> nop -+0+209c <[^>]*> nop -+0+20a0 <[^>]*> nop -+0+20a4 <[^>]*> nop -+0+20a8 <[^>]*> nop -+0+20ac <[^>]*> nop -+0+20b0 <[^>]*> nop -+0+20b4 <[^>]*> nop -+0+20b8 <[^>]*> nop -+0+20bc <[^>]*> nop -+0+20c0 <[^>]*> nop -+0+20c4 <[^>]*> nop -+0+20c8 <[^>]*> nop -+0+20cc <[^>]*> nop -+0+20d0 <[^>]*> nop -+0+20d4 <[^>]*> nop -+0+20d8 <[^>]*> nop -+0+20dc <[^>]*> nop -+0+20e0 <[^>]*> nop -+0+20e4 <[^>]*> nop -+0+20e8 <[^>]*> nop -+0+20ec <[^>]*> nop -+0+20f0 <[^>]*> nop -+0+20f4 <[^>]*> nop -+0+20f8 <[^>]*> nop -+0+20fc <[^>]*> nop -+0+2100 <[^>]*> nop -+0+2104 <[^>]*> nop -+0+2108 <[^>]*> nop -+0+210c <[^>]*> nop -+0+2110 <[^>]*> nop -+0+2114 <[^>]*> nop -+0+2118 <[^>]*> nop -+0+211c <[^>]*> nop -+0+2120 <[^>]*> nop -+0+2124 <[^>]*> nop -+0+2128 <[^>]*> nop -+0+212c <[^>]*> nop -+0+2130 <[^>]*> nop -+0+2134 <[^>]*> nop -+0+2138 <[^>]*> nop -+0+213c <[^>]*> nop -+0+2140 <[^>]*> nop -+0+2144 <[^>]*> nop -+0+2148 <[^>]*> nop -+0+214c <[^>]*> nop -+0+2150 <[^>]*> nop -+0+2154 <[^>]*> nop -+0+2158 <[^>]*> nop -+0+215c <[^>]*> nop -+0+2160 <[^>]*> nop -+0+2164 <[^>]*> nop -+0+2168 <[^>]*> nop -+0+216c <[^>]*> nop -+0+2170 <[^>]*> nop -+0+2174 <[^>]*> nop -+0+2178 <[^>]*> nop -+0+217c <[^>]*> nop -+0+2180 <[^>]*> nop -+0+2184 <[^>]*> nop -+0+2188 <[^>]*> nop -+0+218c <[^>]*> nop -+0+2190 <[^>]*> nop -+0+2194 <[^>]*> nop -+0+2198 <[^>]*> nop -+0+219c <[^>]*> nop -+0+21a0 <[^>]*> nop -+0+21a4 <[^>]*> nop -+0+21a8 <[^>]*> nop -+0+21ac <[^>]*> nop -+0+21b0 <[^>]*> nop -+0+21b4 <[^>]*> nop -+0+21b8 <[^>]*> nop -+0+21bc <[^>]*> nop -+0+21c0 <[^>]*> nop -+0+21c4 <[^>]*> nop -+0+21c8 <[^>]*> nop -+0+21cc <[^>]*> nop -+0+21d0 <[^>]*> nop -+0+21d4 <[^>]*> nop -+0+21d8 <[^>]*> nop -+0+21dc <[^>]*> nop -+0+21e0 <[^>]*> nop -+0+21e4 <[^>]*> nop -+0+21e8 <[^>]*> nop -+0+21ec <[^>]*> nop -+0+21f0 <[^>]*> nop -+0+21f4 <[^>]*> nop -+0+21f8 <[^>]*> nop -+0+21fc <[^>]*> nop -+0+2200 <[^>]*> nop -+0+2204 <[^>]*> nop -+0+2208 <[^>]*> nop -+0+220c <[^>]*> nop -+0+2210 <[^>]*> nop -+0+2214 <[^>]*> nop -+0+2218 <[^>]*> nop -+0+221c <[^>]*> nop -+0+2220 <[^>]*> nop -+0+2224 <[^>]*> nop -+0+2228 <[^>]*> nop -+0+222c <[^>]*> nop -+0+2230 <[^>]*> nop -+0+2234 <[^>]*> nop -+0+2238 <[^>]*> nop -+0+223c <[^>]*> nop -+0+2240 <[^>]*> nop -+0+2244 <[^>]*> nop -+0+2248 <[^>]*> nop -+0+224c <[^>]*> nop -+0+2250 <[^>]*> nop -+0+2254 <[^>]*> nop -+0+2258 <[^>]*> nop -+0+225c <[^>]*> nop -+0+2260 <[^>]*> nop -+0+2264 <[^>]*> nop -+0+2268 <[^>]*> nop -+0+226c <[^>]*> nop -+0+2270 <[^>]*> nop -+0+2274 <[^>]*> nop -+0+2278 <[^>]*> nop -+0+227c <[^>]*> nop -+0+2280 <[^>]*> nop -+0+2284 <[^>]*> nop -+0+2288 <[^>]*> nop -+0+228c <[^>]*> nop -+0+2290 <[^>]*> nop -+0+2294 <[^>]*> nop -+0+2298 <[^>]*> nop -+0+229c <[^>]*> nop -+0+22a0 <[^>]*> nop -+0+22a4 <[^>]*> nop -+0+22a8 <[^>]*> nop -+0+22ac <[^>]*> nop -+0+22b0 <[^>]*> nop -+0+22b4 <[^>]*> nop -+0+22b8 <[^>]*> nop -+0+22bc <[^>]*> nop -+0+22c0 <[^>]*> nop -+0+22c4 <[^>]*> nop -+0+22c8 <[^>]*> nop -+0+22cc <[^>]*> nop -+0+22d0 <[^>]*> nop -+0+22d4 <[^>]*> nop -+0+22d8 <[^>]*> nop -+0+22dc <[^>]*> nop -+0+22e0 <[^>]*> nop -+0+22e4 <[^>]*> nop -+0+22e8 <[^>]*> nop -+0+22ec <[^>]*> nop -+0+22f0 <[^>]*> nop -+0+22f4 <[^>]*> nop -+0+22f8 <[^>]*> nop -+0+22fc <[^>]*> nop -+0+2300 <[^>]*> nop -+0+2304 <[^>]*> nop -+0+2308 <[^>]*> nop -+0+230c <[^>]*> nop -+0+2310 <[^>]*> nop -+0+2314 <[^>]*> nop -+0+2318 <[^>]*> nop -+0+231c <[^>]*> nop -+0+2320 <[^>]*> nop -+0+2324 <[^>]*> nop -+0+2328 <[^>]*> nop -+0+232c <[^>]*> nop -+0+2330 <[^>]*> nop -+0+2334 <[^>]*> nop -+0+2338 <[^>]*> nop -+0+233c <[^>]*> nop -+0+2340 <[^>]*> nop -+0+2344 <[^>]*> nop -+0+2348 <[^>]*> nop -+0+234c <[^>]*> nop -+0+2350 <[^>]*> nop -+0+2354 <[^>]*> nop -+0+2358 <[^>]*> nop -+0+235c <[^>]*> nop -+0+2360 <[^>]*> nop -+0+2364 <[^>]*> nop -+0+2368 <[^>]*> nop -+0+236c <[^>]*> nop -+0+2370 <[^>]*> nop -+0+2374 <[^>]*> nop -+0+2378 <[^>]*> nop -+0+237c <[^>]*> nop -+0+2380 <[^>]*> nop -+0+2384 <[^>]*> nop -+0+2388 <[^>]*> nop -+0+238c <[^>]*> nop -+0+2390 <[^>]*> nop -+0+2394 <[^>]*> nop -+0+2398 <[^>]*> nop -+0+239c <[^>]*> nop -+0+23a0 <[^>]*> nop -+0+23a4 <[^>]*> nop -+0+23a8 <[^>]*> nop -+0+23ac <[^>]*> nop -+0+23b0 <[^>]*> nop -+0+23b4 <[^>]*> nop -+0+23b8 <[^>]*> nop -+0+23bc <[^>]*> nop -+0+23c0 <[^>]*> nop -+0+23c4 <[^>]*> nop -+0+23c8 <[^>]*> nop -+0+23cc <[^>]*> nop -+0+23d0 <[^>]*> nop -+0+23d4 <[^>]*> nop -+0+23d8 <[^>]*> nop -+0+23dc <[^>]*> nop -+0+23e0 <[^>]*> nop -+0+23e4 <[^>]*> nop -+0+23e8 <[^>]*> nop -+0+23ec <[^>]*> nop -+0+23f0 <[^>]*> nop -+0+23f4 <[^>]*> nop -+0+23f8 <[^>]*> nop -+0+23fc <[^>]*> nop -+0+2400 <[^>]*> nop -+0+2404 <[^>]*> nop -+0+2408 <[^>]*> nop -+0+240c <[^>]*> nop -+0+2410 <[^>]*> nop -+0+2414 <[^>]*> nop -+0+2418 <[^>]*> nop -+0+241c <[^>]*> nop -+0+2420 <[^>]*> nop -+0+2424 <[^>]*> nop -+0+2428 <[^>]*> nop -+0+242c <[^>]*> nop -+0+2430 <[^>]*> nop -+0+2434 <[^>]*> nop -+0+2438 <[^>]*> nop -+0+243c <[^>]*> nop -+0+2440 <[^>]*> nop -+0+2444 <[^>]*> nop -+0+2448 <[^>]*> nop -+0+244c <[^>]*> nop -+0+2450 <[^>]*> nop -+0+2454 <[^>]*> nop -+0+2458 <[^>]*> nop -+0+245c <[^>]*> nop -+0+2460 <[^>]*> nop -+0+2464 <[^>]*> nop -+0+2468 <[^>]*> nop -+0+246c <[^>]*> nop -+0+2470 <[^>]*> nop -+0+2474 <[^>]*> nop -+0+2478 <[^>]*> nop -+0+247c <[^>]*> nop -+0+2480 <[^>]*> nop -+0+2484 <[^>]*> nop -+0+2488 <[^>]*> nop -+0+248c <[^>]*> nop -+0+2490 <[^>]*> nop -+0+2494 <[^>]*> nop -+0+2498 <[^>]*> nop -+0+249c <[^>]*> nop -+0+24a0 <[^>]*> nop -+0+24a4 <[^>]*> nop -+0+24a8 <[^>]*> nop -+0+24ac <[^>]*> nop -+0+24b0 <[^>]*> nop -+0+24b4 <[^>]*> nop -+0+24b8 <[^>]*> nop -+0+24bc <[^>]*> nop -+0+24c0 <[^>]*> nop -+0+24c4 <[^>]*> nop -+0+24c8 <[^>]*> nop -+0+24cc <[^>]*> nop -+0+24d0 <[^>]*> nop -+0+24d4 <[^>]*> nop -+0+24d8 <[^>]*> nop -+0+24dc <[^>]*> nop -+0+24e0 <[^>]*> nop -+0+24e4 <[^>]*> nop -+0+24e8 <[^>]*> nop -+0+24ec <[^>]*> nop -+0+24f0 <[^>]*> nop -+0+24f4 <[^>]*> nop -+0+24f8 <[^>]*> nop -+0+24fc <[^>]*> nop -+0+2500 <[^>]*> nop -+0+2504 <[^>]*> nop -+0+2508 <[^>]*> nop -+0+250c <[^>]*> nop -+0+2510 <[^>]*> nop -+0+2514 <[^>]*> nop -+0+2518 <[^>]*> nop -+0+251c <[^>]*> nop -+0+2520 <[^>]*> nop -+0+2524 <[^>]*> nop -+0+2528 <[^>]*> nop -+0+252c <[^>]*> nop -+0+2530 <[^>]*> nop -+0+2534 <[^>]*> nop -+0+2538 <[^>]*> nop -+0+253c <[^>]*> nop -+0+2540 <[^>]*> nop -+0+2544 <[^>]*> nop -+0+2548 <[^>]*> nop -+0+254c <[^>]*> nop -+0+2550 <[^>]*> nop -+0+2554 <[^>]*> nop -+0+2558 <[^>]*> nop -+0+255c <[^>]*> nop -+0+2560 <[^>]*> nop -+0+2564 <[^>]*> nop -+0+2568 <[^>]*> nop -+0+256c <[^>]*> nop -+0+2570 <[^>]*> nop -+0+2574 <[^>]*> nop -+0+2578 <[^>]*> nop -+0+257c <[^>]*> nop -+0+2580 <[^>]*> nop -+0+2584 <[^>]*> nop -+0+2588 <[^>]*> nop -+0+258c <[^>]*> nop -+0+2590 <[^>]*> nop -+0+2594 <[^>]*> nop -+0+2598 <[^>]*> nop -+0+259c <[^>]*> nop -+0+25a0 <[^>]*> nop -+0+25a4 <[^>]*> nop -+0+25a8 <[^>]*> nop -+0+25ac <[^>]*> nop -+0+25b0 <[^>]*> nop -+0+25b4 <[^>]*> nop -+0+25b8 <[^>]*> nop -+0+25bc <[^>]*> nop -+0+25c0 <[^>]*> nop -+0+25c4 <[^>]*> nop -+0+25c8 <[^>]*> nop -+0+25cc <[^>]*> nop -+0+25d0 <[^>]*> nop -+0+25d4 <[^>]*> nop -+0+25d8 <[^>]*> nop -+0+25dc <[^>]*> nop -+0+25e0 <[^>]*> nop -+0+25e4 <[^>]*> nop -+0+25e8 <[^>]*> nop -+0+25ec <[^>]*> nop -+0+25f0 <[^>]*> nop -+0+25f4 <[^>]*> nop -+0+25f8 <[^>]*> nop -+0+25fc <[^>]*> nop -+0+2600 <[^>]*> nop -+0+2604 <[^>]*> nop -+0+2608 <[^>]*> nop -+0+260c <[^>]*> nop -+0+2610 <[^>]*> nop -+0+2614 <[^>]*> nop -+0+2618 <[^>]*> nop -+0+261c <[^>]*> nop -+0+2620 <[^>]*> nop -+0+2624 <[^>]*> nop -+0+2628 <[^>]*> nop -+0+262c <[^>]*> nop -+0+2630 <[^>]*> nop -+0+2634 <[^>]*> nop -+0+2638 <[^>]*> nop -+0+263c <[^>]*> nop -+0+2640 <[^>]*> nop -+0+2644 <[^>]*> nop -+0+2648 <[^>]*> nop -+0+264c <[^>]*> nop -+0+2650 <[^>]*> nop -+0+2654 <[^>]*> nop -+0+2658 <[^>]*> nop -+0+265c <[^>]*> nop -+0+2660 <[^>]*> nop -+0+2664 <[^>]*> nop -+0+2668 <[^>]*> nop -+0+266c <[^>]*> nop -+0+2670 <[^>]*> nop -+0+2674 <[^>]*> nop -+0+2678 <[^>]*> nop -+0+267c <[^>]*> nop -+0+2680 <[^>]*> nop -+0+2684 <[^>]*> nop -+0+2688 <[^>]*> nop -+0+268c <[^>]*> nop -+0+2690 <[^>]*> nop -+0+2694 <[^>]*> nop -+0+2698 <[^>]*> nop -+0+269c <[^>]*> nop -+0+26a0 <[^>]*> nop -+0+26a4 <[^>]*> nop -+0+26a8 <[^>]*> nop -+0+26ac <[^>]*> nop -+0+26b0 <[^>]*> nop -+0+26b4 <[^>]*> nop -+0+26b8 <[^>]*> nop -+0+26bc <[^>]*> nop -+0+26c0 <[^>]*> nop -+0+26c4 <[^>]*> nop -+0+26c8 <[^>]*> nop -+0+26cc <[^>]*> nop -+0+26d0 <[^>]*> nop -+0+26d4 <[^>]*> nop -+0+26d8 <[^>]*> nop -+0+26dc <[^>]*> nop -+0+26e0 <[^>]*> nop -+0+26e4 <[^>]*> nop -+0+26e8 <[^>]*> nop -+0+26ec <[^>]*> nop -+0+26f0 <[^>]*> nop -+0+26f4 <[^>]*> nop -+0+26f8 <[^>]*> nop -+0+26fc <[^>]*> nop -+0+2700 <[^>]*> nop -+0+2704 <[^>]*> nop -+0+2708 <[^>]*> nop -+0+270c <[^>]*> nop -+0+2710 <[^>]*> nop -+0+2714 <[^>]*> nop -+0+2718 <[^>]*> nop -+0+271c <[^>]*> nop -+0+2720 <[^>]*> nop -+0+2724 <[^>]*> nop -+0+2728 <[^>]*> nop -+0+272c <[^>]*> nop -+0+2730 <[^>]*> nop -+0+2734 <[^>]*> nop -+0+2738 <[^>]*> nop -+0+273c <[^>]*> nop -+0+2740 <[^>]*> nop -+0+2744 <[^>]*> nop -+0+2748 <[^>]*> nop -+0+274c <[^>]*> nop -+0+2750 <[^>]*> nop -+0+2754 <[^>]*> nop -+0+2758 <[^>]*> nop -+0+275c <[^>]*> nop -+0+2760 <[^>]*> nop -+0+2764 <[^>]*> nop -+0+2768 <[^>]*> nop -+0+276c <[^>]*> nop -+0+2770 <[^>]*> nop -+0+2774 <[^>]*> nop -+0+2778 <[^>]*> nop -+0+277c <[^>]*> nop -+0+2780 <[^>]*> nop -+0+2784 <[^>]*> nop -+0+2788 <[^>]*> nop -+0+278c <[^>]*> nop -+0+2790 <[^>]*> nop -+0+2794 <[^>]*> nop -+0+2798 <[^>]*> nop -+0+279c <[^>]*> nop -+0+27a0 <[^>]*> nop -+0+27a4 <[^>]*> nop -+0+27a8 <[^>]*> nop -+0+27ac <[^>]*> nop -+0+27b0 <[^>]*> nop -+0+27b4 <[^>]*> nop -+0+27b8 <[^>]*> nop -+0+27bc <[^>]*> nop -+0+27c0 <[^>]*> nop -+0+27c4 <[^>]*> nop -+0+27c8 <[^>]*> nop -+0+27cc <[^>]*> nop -+0+27d0 <[^>]*> nop -+0+27d4 <[^>]*> nop -+0+27d8 <[^>]*> nop -+0+27dc <[^>]*> nop -+0+27e0 <[^>]*> nop -+0+27e4 <[^>]*> nop -+0+27e8 <[^>]*> nop -+0+27ec <[^>]*> nop -+0+27f0 <[^>]*> nop -+0+27f4 <[^>]*> nop -+0+27f8 <[^>]*> nop -+0+27fc <[^>]*> nop -+0+2800 <[^>]*> nop -+0+2804 <[^>]*> nop -+0+2808 <[^>]*> nop -+0+280c <[^>]*> nop -+0+2810 <[^>]*> nop -+0+2814 <[^>]*> nop -+0+2818 <[^>]*> nop -+0+281c <[^>]*> nop -+0+2820 <[^>]*> nop -+0+2824 <[^>]*> nop -+0+2828 <[^>]*> nop -+0+282c <[^>]*> nop -+0+2830 <[^>]*> nop -+0+2834 <[^>]*> nop -+0+2838 <[^>]*> nop -+0+283c <[^>]*> nop -+0+2840 <[^>]*> nop -+0+2844 <[^>]*> nop -+0+2848 <[^>]*> nop -+0+284c <[^>]*> nop -+0+2850 <[^>]*> nop -+0+2854 <[^>]*> nop -+0+2858 <[^>]*> nop -+0+285c <[^>]*> nop -+0+2860 <[^>]*> nop -+0+2864 <[^>]*> nop -+0+2868 <[^>]*> nop -+0+286c <[^>]*> nop -+0+2870 <[^>]*> nop -+0+2874 <[^>]*> nop -+0+2878 <[^>]*> nop -+0+287c <[^>]*> nop -+0+2880 <[^>]*> nop -+0+2884 <[^>]*> nop -+0+2888 <[^>]*> nop -+0+288c <[^>]*> nop -+0+2890 <[^>]*> nop -+0+2894 <[^>]*> nop -+0+2898 <[^>]*> nop -+0+289c <[^>]*> nop -+0+28a0 <[^>]*> nop -+0+28a4 <[^>]*> nop -+0+28a8 <[^>]*> nop -+0+28ac <[^>]*> nop -+0+28b0 <[^>]*> nop -+0+28b4 <[^>]*> nop -+0+28b8 <[^>]*> nop -+0+28bc <[^>]*> nop -+0+28c0 <[^>]*> nop -+0+28c4 <[^>]*> nop -+0+28c8 <[^>]*> nop -+0+28cc <[^>]*> nop -+0+28d0 <[^>]*> nop -+0+28d4 <[^>]*> nop -+0+28d8 <[^>]*> nop -+0+28dc <[^>]*> nop -+0+28e0 <[^>]*> nop -+0+28e4 <[^>]*> nop -+0+28e8 <[^>]*> nop -+0+28ec <[^>]*> nop -+0+28f0 <[^>]*> nop -+0+28f4 <[^>]*> nop -+0+28f8 <[^>]*> nop -+0+28fc <[^>]*> nop -+0+2900 <[^>]*> nop -+0+2904 <[^>]*> nop -+0+2908 <[^>]*> nop -+0+290c <[^>]*> nop -+0+2910 <[^>]*> nop -+0+2914 <[^>]*> nop -+0+2918 <[^>]*> nop -+0+291c <[^>]*> nop -+0+2920 <[^>]*> nop -+0+2924 <[^>]*> nop -+0+2928 <[^>]*> nop -+0+292c <[^>]*> nop -+0+2930 <[^>]*> nop -+0+2934 <[^>]*> nop -+0+2938 <[^>]*> nop -+0+293c <[^>]*> nop -+0+2940 <[^>]*> nop -+0+2944 <[^>]*> nop -+0+2948 <[^>]*> nop -+0+294c <[^>]*> nop -+0+2950 <[^>]*> nop -+0+2954 <[^>]*> nop -+0+2958 <[^>]*> nop -+0+295c <[^>]*> nop -+0+2960 <[^>]*> nop -+0+2964 <[^>]*> nop -+0+2968 <[^>]*> nop -+0+296c <[^>]*> nop -+0+2970 <[^>]*> nop -+0+2974 <[^>]*> nop -+0+2978 <[^>]*> nop -+0+297c <[^>]*> nop -+0+2980 <[^>]*> nop -+0+2984 <[^>]*> nop -+0+2988 <[^>]*> nop -+0+298c <[^>]*> nop -+0+2990 <[^>]*> nop -+0+2994 <[^>]*> nop -+0+2998 <[^>]*> nop -+0+299c <[^>]*> nop -+0+29a0 <[^>]*> nop -+0+29a4 <[^>]*> nop -+0+29a8 <[^>]*> nop -+0+29ac <[^>]*> nop -+0+29b0 <[^>]*> nop -+0+29b4 <[^>]*> nop -+0+29b8 <[^>]*> nop -+0+29bc <[^>]*> nop -+0+29c0 <[^>]*> nop -+0+29c4 <[^>]*> nop -+0+29c8 <[^>]*> nop -+0+29cc <[^>]*> nop -+0+29d0 <[^>]*> nop -+0+29d4 <[^>]*> nop -+0+29d8 <[^>]*> nop -+0+29dc <[^>]*> nop -+0+29e0 <[^>]*> nop -+0+29e4 <[^>]*> nop -+0+29e8 <[^>]*> nop -+0+29ec <[^>]*> nop -+0+29f0 <[^>]*> nop -+0+29f4 <[^>]*> nop -+0+29f8 <[^>]*> nop -+0+29fc <[^>]*> nop -+0+2a00 <[^>]*> nop -+0+2a04 <[^>]*> nop -+0+2a08 <[^>]*> nop -+0+2a0c <[^>]*> nop -+0+2a10 <[^>]*> nop -+0+2a14 <[^>]*> nop -+0+2a18 <[^>]*> nop -+0+2a1c <[^>]*> nop -+0+2a20 <[^>]*> nop -+0+2a24 <[^>]*> nop -+0+2a28 <[^>]*> nop -+0+2a2c <[^>]*> nop -+0+2a30 <[^>]*> nop -+0+2a34 <[^>]*> nop -+0+2a38 <[^>]*> nop -+0+2a3c <[^>]*> nop -+0+2a40 <[^>]*> nop -+0+2a44 <[^>]*> nop -+0+2a48 <[^>]*> nop -+0+2a4c <[^>]*> nop -+0+2a50 <[^>]*> nop -+0+2a54 <[^>]*> nop -+0+2a58 <[^>]*> nop -+0+2a5c <[^>]*> nop -+0+2a60 <[^>]*> nop -+0+2a64 <[^>]*> nop -+0+2a68 <[^>]*> nop -+0+2a6c <[^>]*> nop -+0+2a70 <[^>]*> nop -+0+2a74 <[^>]*> nop -+0+2a78 <[^>]*> nop -+0+2a7c <[^>]*> nop -+0+2a80 <[^>]*> nop -+0+2a84 <[^>]*> nop -+0+2a88 <[^>]*> nop -+0+2a8c <[^>]*> nop -+0+2a90 <[^>]*> nop -+0+2a94 <[^>]*> nop -+0+2a98 <[^>]*> nop -+0+2a9c <[^>]*> nop -+0+2aa0 <[^>]*> nop -+0+2aa4 <[^>]*> nop -+0+2aa8 <[^>]*> nop -+0+2aac <[^>]*> nop -+0+2ab0 <[^>]*> nop -+0+2ab4 <[^>]*> nop -+0+2ab8 <[^>]*> nop -+0+2abc <[^>]*> nop -+0+2ac0 <[^>]*> nop -+0+2ac4 <[^>]*> nop -+0+2ac8 <[^>]*> nop -+0+2acc <[^>]*> nop -+0+2ad0 <[^>]*> nop -+0+2ad4 <[^>]*> nop -+0+2ad8 <[^>]*> nop -+0+2adc <[^>]*> nop -+0+2ae0 <[^>]*> nop -+0+2ae4 <[^>]*> nop -+0+2ae8 <[^>]*> nop -+0+2aec <[^>]*> nop -+0+2af0 <[^>]*> nop -+0+2af4 <[^>]*> nop -+0+2af8 <[^>]*> nop -+0+2afc <[^>]*> nop -+0+2b00 <[^>]*> nop -+0+2b04 <[^>]*> nop -+0+2b08 <[^>]*> nop -+0+2b0c <[^>]*> nop -+0+2b10 <[^>]*> nop -+0+2b14 <[^>]*> nop -+0+2b18 <[^>]*> nop -+0+2b1c <[^>]*> nop -+0+2b20 <[^>]*> nop -+0+2b24 <[^>]*> nop -+0+2b28 <[^>]*> nop -+0+2b2c <[^>]*> nop -+0+2b30 <[^>]*> nop -+0+2b34 <[^>]*> nop -+0+2b38 <[^>]*> nop -+0+2b3c <[^>]*> nop -+0+2b40 <[^>]*> nop -+0+2b44 <[^>]*> nop -+0+2b48 <[^>]*> nop -+0+2b4c <[^>]*> nop -+0+2b50 <[^>]*> nop -+0+2b54 <[^>]*> nop -+0+2b58 <[^>]*> nop -+0+2b5c <[^>]*> nop -+0+2b60 <[^>]*> nop -+0+2b64 <[^>]*> nop -+0+2b68 <[^>]*> nop -+0+2b6c <[^>]*> nop -+0+2b70 <[^>]*> nop -+0+2b74 <[^>]*> nop -+0+2b78 <[^>]*> nop -+0+2b7c <[^>]*> nop -+0+2b80 <[^>]*> nop -+0+2b84 <[^>]*> nop -+0+2b88 <[^>]*> nop -+0+2b8c <[^>]*> nop -+0+2b90 <[^>]*> nop -+0+2b94 <[^>]*> nop -+0+2b98 <[^>]*> nop -+0+2b9c <[^>]*> nop -+0+2ba0 <[^>]*> nop -+0+2ba4 <[^>]*> nop -+0+2ba8 <[^>]*> nop -+0+2bac <[^>]*> nop -+0+2bb0 <[^>]*> nop -+0+2bb4 <[^>]*> nop -+0+2bb8 <[^>]*> nop -+0+2bbc <[^>]*> nop -+0+2bc0 <[^>]*> nop -+0+2bc4 <[^>]*> nop -+0+2bc8 <[^>]*> nop -+0+2bcc <[^>]*> nop -+0+2bd0 <[^>]*> nop -+0+2bd4 <[^>]*> nop -+0+2bd8 <[^>]*> nop -+0+2bdc <[^>]*> nop -+0+2be0 <[^>]*> nop -+0+2be4 <[^>]*> nop -+0+2be8 <[^>]*> nop -+0+2bec <[^>]*> nop -+0+2bf0 <[^>]*> nop -+0+2bf4 <[^>]*> nop -+0+2bf8 <[^>]*> nop -+0+2bfc <[^>]*> nop -+0+2c00 <[^>]*> nop -+0+2c04 <[^>]*> nop -+0+2c08 <[^>]*> nop -+0+2c0c <[^>]*> nop -+0+2c10 <[^>]*> nop -+0+2c14 <[^>]*> nop -+0+2c18 <[^>]*> nop -+0+2c1c <[^>]*> nop -+0+2c20 <[^>]*> nop -+0+2c24 <[^>]*> nop -+0+2c28 <[^>]*> nop -+0+2c2c <[^>]*> nop -+0+2c30 <[^>]*> nop -+0+2c34 <[^>]*> nop -+0+2c38 <[^>]*> nop -+0+2c3c <[^>]*> nop -+0+2c40 <[^>]*> nop -+0+2c44 <[^>]*> nop -+0+2c48 <[^>]*> nop -+0+2c4c <[^>]*> nop -+0+2c50 <[^>]*> nop -+0+2c54 <[^>]*> nop -+0+2c58 <[^>]*> nop -+0+2c5c <[^>]*> nop -+0+2c60 <[^>]*> nop -+0+2c64 <[^>]*> nop -+0+2c68 <[^>]*> nop -+0+2c6c <[^>]*> nop -+0+2c70 <[^>]*> nop -+0+2c74 <[^>]*> nop -+0+2c78 <[^>]*> nop -+0+2c7c <[^>]*> nop -+0+2c80 <[^>]*> nop -+0+2c84 <[^>]*> nop -+0+2c88 <[^>]*> nop -+0+2c8c <[^>]*> nop -+0+2c90 <[^>]*> nop -+0+2c94 <[^>]*> nop -+0+2c98 <[^>]*> nop -+0+2c9c <[^>]*> nop -+0+2ca0 <[^>]*> nop -+0+2ca4 <[^>]*> nop -+0+2ca8 <[^>]*> nop -+0+2cac <[^>]*> nop -+0+2cb0 <[^>]*> nop -+0+2cb4 <[^>]*> nop -+0+2cb8 <[^>]*> nop -+0+2cbc <[^>]*> nop -+0+2cc0 <[^>]*> nop -+0+2cc4 <[^>]*> nop -+0+2cc8 <[^>]*> nop -+0+2ccc <[^>]*> nop -+0+2cd0 <[^>]*> nop -+0+2cd4 <[^>]*> nop -+0+2cd8 <[^>]*> nop -+0+2cdc <[^>]*> nop -+0+2ce0 <[^>]*> nop -+0+2ce4 <[^>]*> nop -+0+2ce8 <[^>]*> nop -+0+2cec <[^>]*> nop -+0+2cf0 <[^>]*> nop -+0+2cf4 <[^>]*> nop -+0+2cf8 <[^>]*> nop -+0+2cfc <[^>]*> nop -+0+2d00 <[^>]*> nop -+0+2d04 <[^>]*> nop -+0+2d08 <[^>]*> nop -+0+2d0c <[^>]*> nop -+0+2d10 <[^>]*> nop -+0+2d14 <[^>]*> nop -+0+2d18 <[^>]*> nop -+0+2d1c <[^>]*> nop -+0+2d20 <[^>]*> nop -+0+2d24 <[^>]*> nop -+0+2d28 <[^>]*> nop -+0+2d2c <[^>]*> nop -+0+2d30 <[^>]*> nop -+0+2d34 <[^>]*> nop -+0+2d38 <[^>]*> nop -+0+2d3c <[^>]*> nop -+0+2d40 <[^>]*> nop -+0+2d44 <[^>]*> nop -+0+2d48 <[^>]*> nop -+0+2d4c <[^>]*> nop -+0+2d50 <[^>]*> nop -+0+2d54 <[^>]*> nop -+0+2d58 <[^>]*> nop -+0+2d5c <[^>]*> nop -+0+2d60 <[^>]*> nop -+0+2d64 <[^>]*> nop -+0+2d68 <[^>]*> nop -+0+2d6c <[^>]*> nop -+0+2d70 <[^>]*> nop -+0+2d74 <[^>]*> nop -+0+2d78 <[^>]*> nop -+0+2d7c <[^>]*> nop -+0+2d80 <[^>]*> nop -+0+2d84 <[^>]*> nop -+0+2d88 <[^>]*> nop -+0+2d8c <[^>]*> nop -+0+2d90 <[^>]*> nop -+0+2d94 <[^>]*> nop -+0+2d98 <[^>]*> nop -+0+2d9c <[^>]*> nop -+0+2da0 <[^>]*> nop -+0+2da4 <[^>]*> nop -+0+2da8 <[^>]*> nop -+0+2dac <[^>]*> nop -+0+2db0 <[^>]*> nop -+0+2db4 <[^>]*> nop -+0+2db8 <[^>]*> nop -+0+2dbc <[^>]*> nop -+0+2dc0 <[^>]*> nop -+0+2dc4 <[^>]*> nop -+0+2dc8 <[^>]*> nop -+0+2dcc <[^>]*> nop -+0+2dd0 <[^>]*> nop -+0+2dd4 <[^>]*> nop -+0+2dd8 <[^>]*> nop -+0+2ddc <[^>]*> nop -+0+2de0 <[^>]*> nop -+0+2de4 <[^>]*> nop -+0+2de8 <[^>]*> nop -+0+2dec <[^>]*> nop -+0+2df0 <[^>]*> nop -+0+2df4 <[^>]*> nop -+0+2df8 <[^>]*> nop -+0+2dfc <[^>]*> nop -+0+2e00 <[^>]*> nop -+0+2e04 <[^>]*> nop -+0+2e08 <[^>]*> nop -+0+2e0c <[^>]*> nop -+0+2e10 <[^>]*> nop -+0+2e14 <[^>]*> nop -+0+2e18 <[^>]*> nop -+0+2e1c <[^>]*> nop -+0+2e20 <[^>]*> nop -+0+2e24 <[^>]*> nop -+0+2e28 <[^>]*> nop -+0+2e2c <[^>]*> nop -+0+2e30 <[^>]*> nop -+0+2e34 <[^>]*> nop -+0+2e38 <[^>]*> nop -+0+2e3c <[^>]*> nop -+0+2e40 <[^>]*> nop -+0+2e44 <[^>]*> nop -+0+2e48 <[^>]*> nop -+0+2e4c <[^>]*> nop -+0+2e50 <[^>]*> nop -+0+2e54 <[^>]*> nop -+0+2e58 <[^>]*> nop -+0+2e5c <[^>]*> nop -+0+2e60 <[^>]*> nop -+0+2e64 <[^>]*> nop -+0+2e68 <[^>]*> nop -+0+2e6c <[^>]*> nop -+0+2e70 <[^>]*> nop -+0+2e74 <[^>]*> nop -+0+2e78 <[^>]*> nop -+0+2e7c <[^>]*> nop -+0+2e80 <[^>]*> nop -+0+2e84 <[^>]*> nop -+0+2e88 <[^>]*> nop -+0+2e8c <[^>]*> nop -+0+2e90 <[^>]*> nop -+0+2e94 <[^>]*> nop -+0+2e98 <[^>]*> nop -+0+2e9c <[^>]*> nop -+0+2ea0 <[^>]*> nop -+0+2ea4 <[^>]*> nop -+0+2ea8 <[^>]*> nop -+0+2eac <[^>]*> nop -+0+2eb0 <[^>]*> nop -+0+2eb4 <[^>]*> nop -+0+2eb8 <[^>]*> nop -+0+2ebc <[^>]*> nop -+0+2ec0 <[^>]*> nop -+0+2ec4 <[^>]*> nop -+0+2ec8 <[^>]*> nop -+0+2ecc <[^>]*> nop -+0+2ed0 <[^>]*> nop -+0+2ed4 <[^>]*> nop -+0+2ed8 <[^>]*> nop -+0+2edc <[^>]*> nop -+0+2ee0 <[^>]*> nop -+0+2ee4 <[^>]*> nop -+0+2ee8 <[^>]*> nop -+0+2eec <[^>]*> nop -+0+2ef0 <[^>]*> nop -+0+2ef4 <[^>]*> nop -+0+2ef8 <[^>]*> nop -+0+2efc <[^>]*> nop -+0+2f00 <[^>]*> nop -+0+2f04 <[^>]*> nop -+0+2f08 <[^>]*> nop -+0+2f0c <[^>]*> nop -+0+2f10 <[^>]*> nop -+0+2f14 <[^>]*> nop -+0+2f18 <[^>]*> nop -+0+2f1c <[^>]*> nop -+0+2f20 <[^>]*> nop -+0+2f24 <[^>]*> nop -+0+2f28 <[^>]*> nop -+0+2f2c <[^>]*> nop -+0+2f30 <[^>]*> nop -+0+2f34 <[^>]*> nop -+0+2f38 <[^>]*> nop -+0+2f3c <[^>]*> nop -+0+2f40 <[^>]*> nop -+0+2f44 <[^>]*> nop -+0+2f48 <[^>]*> nop -+0+2f4c <[^>]*> nop -+0+2f50 <[^>]*> nop -+0+2f54 <[^>]*> nop -+0+2f58 <[^>]*> nop -+0+2f5c <[^>]*> nop -+0+2f60 <[^>]*> nop -+0+2f64 <[^>]*> nop -+0+2f68 <[^>]*> nop -+0+2f6c <[^>]*> nop -+0+2f70 <[^>]*> nop -+0+2f74 <[^>]*> nop -+0+2f78 <[^>]*> nop -+0+2f7c <[^>]*> nop -+0+2f80 <[^>]*> nop -+0+2f84 <[^>]*> nop -+0+2f88 <[^>]*> nop -+0+2f8c <[^>]*> nop -+0+2f90 <[^>]*> nop -+0+2f94 <[^>]*> nop -+0+2f98 <[^>]*> nop -+0+2f9c <[^>]*> nop -+0+2fa0 <[^>]*> nop -+0+2fa4 <[^>]*> nop -+0+2fa8 <[^>]*> nop -+0+2fac <[^>]*> nop -+0+2fb0 <[^>]*> nop -+0+2fb4 <[^>]*> nop -+0+2fb8 <[^>]*> nop -+0+2fbc <[^>]*> nop -+0+2fc0 <[^>]*> nop -+0+2fc4 <[^>]*> nop -+0+2fc8 <[^>]*> nop -+0+2fcc <[^>]*> nop -+0+2fd0 <[^>]*> nop -+0+2fd4 <[^>]*> nop -+0+2fd8 <[^>]*> nop -+0+2fdc <[^>]*> nop -+0+2fe0 <[^>]*> nop -+0+2fe4 <[^>]*> nop -+0+2fe8 <[^>]*> nop -+0+2fec <[^>]*> nop -+0+2ff0 <[^>]*> nop -+0+2ff4 <[^>]*> nop -+0+2ff8 <[^>]*> nop -+0+2ffc <[^>]*> nop -+0+3000 <[^>]*> nop -+0+3004 <[^>]*> nop -+0+3008 <[^>]*> nop -+0+300c <[^>]*> nop -+0+3010 <[^>]*> nop -+0+3014 <[^>]*> nop -+0+3018 <[^>]*> nop -+0+301c <[^>]*> nop -+0+3020 <[^>]*> nop -+0+3024 <[^>]*> nop -+0+3028 <[^>]*> nop -+0+302c <[^>]*> nop -+0+3030 <[^>]*> nop -+0+3034 <[^>]*> nop -+0+3038 <[^>]*> nop -+0+303c <[^>]*> nop -+0+3040 <[^>]*> nop -+0+3044 <[^>]*> nop -+0+3048 <[^>]*> nop -+0+304c <[^>]*> nop -+0+3050 <[^>]*> nop -+0+3054 <[^>]*> nop -+0+3058 <[^>]*> nop -+0+305c <[^>]*> nop -+0+3060 <[^>]*> nop -+0+3064 <[^>]*> nop -+0+3068 <[^>]*> nop -+0+306c <[^>]*> nop -+0+3070 <[^>]*> nop -+0+3074 <[^>]*> nop -+0+3078 <[^>]*> nop -+0+307c <[^>]*> nop -+0+3080 <[^>]*> nop -+0+3084 <[^>]*> nop -+0+3088 <[^>]*> nop -+0+308c <[^>]*> nop -+0+3090 <[^>]*> nop -+0+3094 <[^>]*> nop -+0+3098 <[^>]*> nop -+0+309c <[^>]*> nop -+0+30a0 <[^>]*> nop -+0+30a4 <[^>]*> nop -+0+30a8 <[^>]*> nop -+0+30ac <[^>]*> nop -+0+30b0 <[^>]*> nop -+0+30b4 <[^>]*> nop -+0+30b8 <[^>]*> nop -+0+30bc <[^>]*> nop -+0+30c0 <[^>]*> nop -+0+30c4 <[^>]*> nop -+0+30c8 <[^>]*> nop -+0+30cc <[^>]*> nop -+0+30d0 <[^>]*> nop -+0+30d4 <[^>]*> nop -+0+30d8 <[^>]*> nop -+0+30dc <[^>]*> nop -+0+30e0 <[^>]*> nop -+0+30e4 <[^>]*> nop -+0+30e8 <[^>]*> nop -+0+30ec <[^>]*> nop -+0+30f0 <[^>]*> nop -+0+30f4 <[^>]*> nop -+0+30f8 <[^>]*> nop -+0+30fc <[^>]*> nop -+0+3100 <[^>]*> nop -+0+3104 <[^>]*> nop -+0+3108 <[^>]*> nop -+0+310c <[^>]*> nop -+0+3110 <[^>]*> nop -+0+3114 <[^>]*> nop -+0+3118 <[^>]*> nop -+0+311c <[^>]*> nop -+0+3120 <[^>]*> nop -+0+3124 <[^>]*> nop -+0+3128 <[^>]*> nop -+0+312c <[^>]*> nop -+0+3130 <[^>]*> nop -+0+3134 <[^>]*> nop -+0+3138 <[^>]*> nop -+0+313c <[^>]*> nop -+0+3140 <[^>]*> nop -+0+3144 <[^>]*> nop -+0+3148 <[^>]*> nop -+0+314c <[^>]*> nop -+0+3150 <[^>]*> nop -+0+3154 <[^>]*> nop -+0+3158 <[^>]*> nop -+0+315c <[^>]*> nop -+0+3160 <[^>]*> nop -+0+3164 <[^>]*> nop -+0+3168 <[^>]*> nop -+0+316c <[^>]*> nop -+0+3170 <[^>]*> nop -+0+3174 <[^>]*> nop -+0+3178 <[^>]*> nop -+0+317c <[^>]*> nop -+0+3180 <[^>]*> nop -+0+3184 <[^>]*> nop -+0+3188 <[^>]*> nop -+0+318c <[^>]*> nop -+0+3190 <[^>]*> nop -+0+3194 <[^>]*> nop -+0+3198 <[^>]*> nop -+0+319c <[^>]*> nop -+0+31a0 <[^>]*> nop -+0+31a4 <[^>]*> nop -+0+31a8 <[^>]*> nop -+0+31ac <[^>]*> nop -+0+31b0 <[^>]*> nop -+0+31b4 <[^>]*> nop -+0+31b8 <[^>]*> nop -+0+31bc <[^>]*> nop -+0+31c0 <[^>]*> nop -+0+31c4 <[^>]*> nop -+0+31c8 <[^>]*> nop -+0+31cc <[^>]*> nop -+0+31d0 <[^>]*> nop -+0+31d4 <[^>]*> nop -+0+31d8 <[^>]*> nop -+0+31dc <[^>]*> nop -+0+31e0 <[^>]*> nop -+0+31e4 <[^>]*> nop -+0+31e8 <[^>]*> nop -+0+31ec <[^>]*> nop -+0+31f0 <[^>]*> nop -+0+31f4 <[^>]*> nop -+0+31f8 <[^>]*> nop -+0+31fc <[^>]*> nop -+0+3200 <[^>]*> nop -+0+3204 <[^>]*> nop -+0+3208 <[^>]*> nop -+0+320c <[^>]*> nop -+0+3210 <[^>]*> nop -+0+3214 <[^>]*> nop -+0+3218 <[^>]*> nop -+0+321c <[^>]*> nop -+0+3220 <[^>]*> nop -+0+3224 <[^>]*> nop -+0+3228 <[^>]*> nop -+0+322c <[^>]*> nop -+0+3230 <[^>]*> nop -+0+3234 <[^>]*> nop -+0+3238 <[^>]*> nop -+0+323c <[^>]*> nop -+0+3240 <[^>]*> nop -+0+3244 <[^>]*> nop -+0+3248 <[^>]*> nop -+0+324c <[^>]*> nop -+0+3250 <[^>]*> nop -+0+3254 <[^>]*> nop -+0+3258 <[^>]*> nop -+0+325c <[^>]*> nop -+0+3260 <[^>]*> nop -+0+3264 <[^>]*> nop -+0+3268 <[^>]*> nop -+0+326c <[^>]*> nop -+0+3270 <[^>]*> nop -+0+3274 <[^>]*> nop -+0+3278 <[^>]*> nop -+0+327c <[^>]*> nop -+0+3280 <[^>]*> nop -+0+3284 <[^>]*> nop -+0+3288 <[^>]*> nop -+0+328c <[^>]*> nop -+0+3290 <[^>]*> nop -+0+3294 <[^>]*> nop -+0+3298 <[^>]*> nop -+0+329c <[^>]*> nop -+0+32a0 <[^>]*> nop -+0+32a4 <[^>]*> nop -+0+32a8 <[^>]*> nop -+0+32ac <[^>]*> nop -+0+32b0 <[^>]*> nop -+0+32b4 <[^>]*> nop -+0+32b8 <[^>]*> nop -+0+32bc <[^>]*> nop -+0+32c0 <[^>]*> nop -+0+32c4 <[^>]*> nop -+0+32c8 <[^>]*> nop -+0+32cc <[^>]*> nop -+0+32d0 <[^>]*> nop -+0+32d4 <[^>]*> nop -+0+32d8 <[^>]*> nop -+0+32dc <[^>]*> nop -+0+32e0 <[^>]*> nop -+0+32e4 <[^>]*> nop -+0+32e8 <[^>]*> nop -+0+32ec <[^>]*> nop -+0+32f0 <[^>]*> nop -+0+32f4 <[^>]*> nop -+0+32f8 <[^>]*> nop -+0+32fc <[^>]*> nop -+0+3300 <[^>]*> nop -+0+3304 <[^>]*> nop -+0+3308 <[^>]*> nop -+0+330c <[^>]*> nop -+0+3310 <[^>]*> nop -+0+3314 <[^>]*> nop -+0+3318 <[^>]*> nop -+0+331c <[^>]*> nop -+0+3320 <[^>]*> nop -+0+3324 <[^>]*> nop -+0+3328 <[^>]*> nop -+0+332c <[^>]*> nop -+0+3330 <[^>]*> nop -+0+3334 <[^>]*> nop -+0+3338 <[^>]*> nop -+0+333c <[^>]*> nop -+0+3340 <[^>]*> nop -+0+3344 <[^>]*> nop -+0+3348 <[^>]*> nop -+0+334c <[^>]*> nop -+0+3350 <[^>]*> nop -+0+3354 <[^>]*> nop -+0+3358 <[^>]*> nop -+0+335c <[^>]*> nop -+0+3360 <[^>]*> nop -+0+3364 <[^>]*> nop -+0+3368 <[^>]*> nop -+0+336c <[^>]*> nop -+0+3370 <[^>]*> nop -+0+3374 <[^>]*> nop -+0+3378 <[^>]*> nop -+0+337c <[^>]*> nop -+0+3380 <[^>]*> nop -+0+3384 <[^>]*> nop -+0+3388 <[^>]*> nop -+0+338c <[^>]*> nop -+0+3390 <[^>]*> nop -+0+3394 <[^>]*> nop -+0+3398 <[^>]*> nop -+0+339c <[^>]*> nop -+0+33a0 <[^>]*> nop -+0+33a4 <[^>]*> nop -+0+33a8 <[^>]*> nop -+0+33ac <[^>]*> nop -+0+33b0 <[^>]*> nop -+0+33b4 <[^>]*> nop -+0+33b8 <[^>]*> nop -+0+33bc <[^>]*> nop -+0+33c0 <[^>]*> nop -+0+33c4 <[^>]*> nop -+0+33c8 <[^>]*> nop -+0+33cc <[^>]*> nop -+0+33d0 <[^>]*> nop -+0+33d4 <[^>]*> nop -+0+33d8 <[^>]*> nop -+0+33dc <[^>]*> nop -+0+33e0 <[^>]*> nop -+0+33e4 <[^>]*> nop -+0+33e8 <[^>]*> nop -+0+33ec <[^>]*> nop -+0+33f0 <[^>]*> nop -+0+33f4 <[^>]*> nop -+0+33f8 <[^>]*> nop -+0+33fc <[^>]*> nop -+0+3400 <[^>]*> nop -+0+3404 <[^>]*> nop -+0+3408 <[^>]*> nop -+0+340c <[^>]*> nop -+0+3410 <[^>]*> nop -+0+3414 <[^>]*> nop -+0+3418 <[^>]*> nop -+0+341c <[^>]*> nop -+0+3420 <[^>]*> nop -+0+3424 <[^>]*> nop -+0+3428 <[^>]*> nop -+0+342c <[^>]*> nop -+0+3430 <[^>]*> nop -+0+3434 <[^>]*> nop -+0+3438 <[^>]*> nop -+0+343c <[^>]*> nop -+0+3440 <[^>]*> nop -+0+3444 <[^>]*> nop -+0+3448 <[^>]*> nop -+0+344c <[^>]*> nop -+0+3450 <[^>]*> nop -+0+3454 <[^>]*> nop -+0+3458 <[^>]*> nop -+0+345c <[^>]*> nop -+0+3460 <[^>]*> nop -+0+3464 <[^>]*> nop -+0+3468 <[^>]*> nop -+0+346c <[^>]*> nop -+0+3470 <[^>]*> nop -+0+3474 <[^>]*> nop -+0+3478 <[^>]*> nop -+0+347c <[^>]*> nop -+0+3480 <[^>]*> nop -+0+3484 <[^>]*> nop -+0+3488 <[^>]*> nop -+0+348c <[^>]*> nop -+0+3490 <[^>]*> nop -+0+3494 <[^>]*> nop -+0+3498 <[^>]*> nop -+0+349c <[^>]*> nop -+0+34a0 <[^>]*> nop -+0+34a4 <[^>]*> nop -+0+34a8 <[^>]*> nop -+0+34ac <[^>]*> nop -+0+34b0 <[^>]*> nop -+0+34b4 <[^>]*> nop -+0+34b8 <[^>]*> nop -+0+34bc <[^>]*> nop -+0+34c0 <[^>]*> nop -+0+34c4 <[^>]*> nop -+0+34c8 <[^>]*> nop -+0+34cc <[^>]*> nop -+0+34d0 <[^>]*> nop -+0+34d4 <[^>]*> nop -+0+34d8 <[^>]*> nop -+0+34dc <[^>]*> nop -+0+34e0 <[^>]*> nop -+0+34e4 <[^>]*> nop -+0+34e8 <[^>]*> nop -+0+34ec <[^>]*> nop -+0+34f0 <[^>]*> nop -+0+34f4 <[^>]*> nop -+0+34f8 <[^>]*> nop -+0+34fc <[^>]*> nop -+0+3500 <[^>]*> nop -+0+3504 <[^>]*> nop -+0+3508 <[^>]*> nop -+0+350c <[^>]*> nop -+0+3510 <[^>]*> nop -+0+3514 <[^>]*> nop -+0+3518 <[^>]*> nop -+0+351c <[^>]*> nop -+0+3520 <[^>]*> nop -+0+3524 <[^>]*> nop -+0+3528 <[^>]*> nop -+0+352c <[^>]*> nop -+0+3530 <[^>]*> nop -+0+3534 <[^>]*> nop -+0+3538 <[^>]*> nop -+0+353c <[^>]*> nop -+0+3540 <[^>]*> nop -+0+3544 <[^>]*> nop -+0+3548 <[^>]*> nop -+0+354c <[^>]*> nop -+0+3550 <[^>]*> nop -+0+3554 <[^>]*> nop -+0+3558 <[^>]*> nop -+0+355c <[^>]*> nop -+0+3560 <[^>]*> nop -+0+3564 <[^>]*> nop -+0+3568 <[^>]*> nop -+0+356c <[^>]*> nop -+0+3570 <[^>]*> nop -+0+3574 <[^>]*> nop -+0+3578 <[^>]*> nop -+0+357c <[^>]*> nop -+0+3580 <[^>]*> nop -+0+3584 <[^>]*> nop -+0+3588 <[^>]*> nop -+0+358c <[^>]*> nop -+0+3590 <[^>]*> nop -+0+3594 <[^>]*> nop -+0+3598 <[^>]*> nop -+0+359c <[^>]*> nop -+0+35a0 <[^>]*> nop -+0+35a4 <[^>]*> nop -+0+35a8 <[^>]*> nop -+0+35ac <[^>]*> nop -+0+35b0 <[^>]*> nop -+0+35b4 <[^>]*> nop -+0+35b8 <[^>]*> nop -+0+35bc <[^>]*> nop -+0+35c0 <[^>]*> nop -+0+35c4 <[^>]*> nop -+0+35c8 <[^>]*> nop -+0+35cc <[^>]*> nop -+0+35d0 <[^>]*> nop -+0+35d4 <[^>]*> nop -+0+35d8 <[^>]*> nop -+0+35dc <[^>]*> nop -+0+35e0 <[^>]*> nop -+0+35e4 <[^>]*> nop -+0+35e8 <[^>]*> nop -+0+35ec <[^>]*> nop -+0+35f0 <[^>]*> nop -+0+35f4 <[^>]*> nop -+0+35f8 <[^>]*> nop -+0+35fc <[^>]*> nop -+0+3600 <[^>]*> nop -+0+3604 <[^>]*> nop -+0+3608 <[^>]*> nop -+0+360c <[^>]*> nop -+0+3610 <[^>]*> nop -+0+3614 <[^>]*> nop -+0+3618 <[^>]*> nop -+0+361c <[^>]*> nop -+0+3620 <[^>]*> nop -+0+3624 <[^>]*> nop -+0+3628 <[^>]*> nop -+0+362c <[^>]*> nop -+0+3630 <[^>]*> nop -+0+3634 <[^>]*> nop -+0+3638 <[^>]*> nop -+0+363c <[^>]*> nop -+0+3640 <[^>]*> nop -+0+3644 <[^>]*> nop -+0+3648 <[^>]*> nop -+0+364c <[^>]*> nop -+0+3650 <[^>]*> nop -+0+3654 <[^>]*> nop -+0+3658 <[^>]*> nop -+0+365c <[^>]*> nop -+0+3660 <[^>]*> nop -+0+3664 <[^>]*> nop -+0+3668 <[^>]*> nop -+0+366c <[^>]*> nop -+0+3670 <[^>]*> nop -+0+3674 <[^>]*> nop -+0+3678 <[^>]*> nop -+0+367c <[^>]*> nop -+0+3680 <[^>]*> nop -+0+3684 <[^>]*> nop -+0+3688 <[^>]*> nop -+0+368c <[^>]*> nop -+0+3690 <[^>]*> nop -+0+3694 <[^>]*> nop -+0+3698 <[^>]*> nop -+0+369c <[^>]*> nop -+0+36a0 <[^>]*> nop -+0+36a4 <[^>]*> nop -+0+36a8 <[^>]*> nop -+0+36ac <[^>]*> nop -+0+36b0 <[^>]*> nop -+0+36b4 <[^>]*> nop -+0+36b8 <[^>]*> nop -+0+36bc <[^>]*> nop -+0+36c0 <[^>]*> nop -+0+36c4 <[^>]*> nop -+0+36c8 <[^>]*> nop -+0+36cc <[^>]*> nop -+0+36d0 <[^>]*> nop -+0+36d4 <[^>]*> nop -+0+36d8 <[^>]*> nop -+0+36dc <[^>]*> nop -+0+36e0 <[^>]*> nop -+0+36e4 <[^>]*> nop -+0+36e8 <[^>]*> nop -+0+36ec <[^>]*> nop -+0+36f0 <[^>]*> nop -+0+36f4 <[^>]*> nop -+0+36f8 <[^>]*> nop -+0+36fc <[^>]*> nop -+0+3700 <[^>]*> nop -+0+3704 <[^>]*> nop -+0+3708 <[^>]*> nop -+0+370c <[^>]*> nop -+0+3710 <[^>]*> nop -+0+3714 <[^>]*> nop -+0+3718 <[^>]*> nop -+0+371c <[^>]*> nop -+0+3720 <[^>]*> nop -+0+3724 <[^>]*> nop -+0+3728 <[^>]*> nop -+0+372c <[^>]*> nop -+0+3730 <[^>]*> nop -+0+3734 <[^>]*> nop -+0+3738 <[^>]*> nop -+0+373c <[^>]*> nop -+0+3740 <[^>]*> nop -+0+3744 <[^>]*> nop -+0+3748 <[^>]*> nop -+0+374c <[^>]*> nop -+0+3750 <[^>]*> nop -+0+3754 <[^>]*> nop -+0+3758 <[^>]*> nop -+0+375c <[^>]*> nop -+0+3760 <[^>]*> nop -+0+3764 <[^>]*> nop -+0+3768 <[^>]*> nop -+0+376c <[^>]*> nop -+0+3770 <[^>]*> nop -+0+3774 <[^>]*> nop -+0+3778 <[^>]*> nop -+0+377c <[^>]*> nop -+0+3780 <[^>]*> nop -+0+3784 <[^>]*> nop -+0+3788 <[^>]*> nop -+0+378c <[^>]*> nop -+0+3790 <[^>]*> nop -+0+3794 <[^>]*> nop -+0+3798 <[^>]*> nop -+0+379c <[^>]*> nop -+0+37a0 <[^>]*> nop -+0+37a4 <[^>]*> nop -+0+37a8 <[^>]*> nop -+0+37ac <[^>]*> nop -+0+37b0 <[^>]*> nop -+0+37b4 <[^>]*> nop -+0+37b8 <[^>]*> nop -+0+37bc <[^>]*> nop -+0+37c0 <[^>]*> nop -+0+37c4 <[^>]*> nop -+0+37c8 <[^>]*> nop -+0+37cc <[^>]*> nop -+0+37d0 <[^>]*> nop -+0+37d4 <[^>]*> nop -+0+37d8 <[^>]*> nop -+0+37dc <[^>]*> nop -+0+37e0 <[^>]*> nop -+0+37e4 <[^>]*> nop -+0+37e8 <[^>]*> nop -+0+37ec <[^>]*> nop -+0+37f0 <[^>]*> nop -+0+37f4 <[^>]*> nop -+0+37f8 <[^>]*> nop -+0+37fc <[^>]*> nop -+0+3800 <[^>]*> nop -+0+3804 <[^>]*> nop -+0+3808 <[^>]*> nop -+0+380c <[^>]*> nop -+0+3810 <[^>]*> nop -+0+3814 <[^>]*> nop -+0+3818 <[^>]*> nop -+0+381c <[^>]*> nop -+0+3820 <[^>]*> nop -+0+3824 <[^>]*> nop -+0+3828 <[^>]*> nop -+0+382c <[^>]*> nop -+0+3830 <[^>]*> nop -+0+3834 <[^>]*> nop -+0+3838 <[^>]*> nop -+0+383c <[^>]*> nop -+0+3840 <[^>]*> nop -+0+3844 <[^>]*> nop -+0+3848 <[^>]*> nop -+0+384c <[^>]*> nop -+0+3850 <[^>]*> nop -+0+3854 <[^>]*> nop -+0+3858 <[^>]*> nop -+0+385c <[^>]*> nop -+0+3860 <[^>]*> nop -+0+3864 <[^>]*> nop -+0+3868 <[^>]*> nop -+0+386c <[^>]*> nop -+0+3870 <[^>]*> nop -+0+3874 <[^>]*> nop -+0+3878 <[^>]*> nop -+0+387c <[^>]*> nop -+0+3880 <[^>]*> nop -+0+3884 <[^>]*> nop -+0+3888 <[^>]*> nop -+0+388c <[^>]*> nop -+0+3890 <[^>]*> nop -+0+3894 <[^>]*> nop -+0+3898 <[^>]*> nop -+0+389c <[^>]*> nop -+0+38a0 <[^>]*> nop -+0+38a4 <[^>]*> nop -+0+38a8 <[^>]*> nop -+0+38ac <[^>]*> nop -+0+38b0 <[^>]*> nop -+0+38b4 <[^>]*> nop -+0+38b8 <[^>]*> nop -+0+38bc <[^>]*> nop -+0+38c0 <[^>]*> nop -+0+38c4 <[^>]*> nop -+0+38c8 <[^>]*> nop -+0+38cc <[^>]*> nop -+0+38d0 <[^>]*> nop -+0+38d4 <[^>]*> nop -+0+38d8 <[^>]*> nop -+0+38dc <[^>]*> nop -+0+38e0 <[^>]*> nop -+0+38e4 <[^>]*> nop -+0+38e8 <[^>]*> nop -+0+38ec <[^>]*> nop -+0+38f0 <[^>]*> nop -+0+38f4 <[^>]*> nop -+0+38f8 <[^>]*> nop -+0+38fc <[^>]*> nop -+0+3900 <[^>]*> nop -+0+3904 <[^>]*> nop -+0+3908 <[^>]*> nop -+0+390c <[^>]*> nop -+0+3910 <[^>]*> nop -+0+3914 <[^>]*> nop -+0+3918 <[^>]*> nop -+0+391c <[^>]*> nop -+0+3920 <[^>]*> nop -+0+3924 <[^>]*> nop -+0+3928 <[^>]*> nop -+0+392c <[^>]*> nop -+0+3930 <[^>]*> nop -+0+3934 <[^>]*> nop -+0+3938 <[^>]*> nop -+0+393c <[^>]*> nop -+0+3940 <[^>]*> nop -+0+3944 <[^>]*> nop -+0+3948 <[^>]*> nop -+0+394c <[^>]*> nop -+0+3950 <[^>]*> nop -+0+3954 <[^>]*> nop -+0+3958 <[^>]*> nop -+0+395c <[^>]*> nop -+0+3960 <[^>]*> nop -+0+3964 <[^>]*> nop -+0+3968 <[^>]*> nop -+0+396c <[^>]*> nop -+0+3970 <[^>]*> nop -+0+3974 <[^>]*> nop -+0+3978 <[^>]*> nop -+0+397c <[^>]*> nop -+0+3980 <[^>]*> nop -+0+3984 <[^>]*> nop -+0+3988 <[^>]*> nop -+0+398c <[^>]*> nop -+0+3990 <[^>]*> nop -+0+3994 <[^>]*> nop -+0+3998 <[^>]*> nop -+0+399c <[^>]*> nop -+0+39a0 <[^>]*> nop -+0+39a4 <[^>]*> nop -+0+39a8 <[^>]*> nop -+0+39ac <[^>]*> nop -+0+39b0 <[^>]*> nop -+0+39b4 <[^>]*> nop -+0+39b8 <[^>]*> nop -+0+39bc <[^>]*> nop -+0+39c0 <[^>]*> nop -+0+39c4 <[^>]*> nop -+0+39c8 <[^>]*> nop -+0+39cc <[^>]*> nop -+0+39d0 <[^>]*> nop -+0+39d4 <[^>]*> nop -+0+39d8 <[^>]*> nop -+0+39dc <[^>]*> nop -+0+39e0 <[^>]*> nop -+0+39e4 <[^>]*> nop -+0+39e8 <[^>]*> nop -+0+39ec <[^>]*> nop -+0+39f0 <[^>]*> nop -+0+39f4 <[^>]*> nop -+0+39f8 <[^>]*> nop -+0+39fc <[^>]*> nop -+0+3a00 <[^>]*> nop -+0+3a04 <[^>]*> nop -+0+3a08 <[^>]*> nop -+0+3a0c <[^>]*> nop -+0+3a10 <[^>]*> nop -+0+3a14 <[^>]*> nop -+0+3a18 <[^>]*> nop -+0+3a1c <[^>]*> nop -+0+3a20 <[^>]*> nop -+0+3a24 <[^>]*> nop -+0+3a28 <[^>]*> nop -+0+3a2c <[^>]*> nop -+0+3a30 <[^>]*> nop -+0+3a34 <[^>]*> nop -+0+3a38 <[^>]*> nop -+0+3a3c <[^>]*> nop -+0+3a40 <[^>]*> nop -+0+3a44 <[^>]*> nop -+0+3a48 <[^>]*> nop -+0+3a4c <[^>]*> nop -+0+3a50 <[^>]*> nop -+0+3a54 <[^>]*> nop -+0+3a58 <[^>]*> nop -+0+3a5c <[^>]*> nop -+0+3a60 <[^>]*> nop -+0+3a64 <[^>]*> nop -+0+3a68 <[^>]*> nop -+0+3a6c <[^>]*> nop -+0+3a70 <[^>]*> nop -+0+3a74 <[^>]*> nop -+0+3a78 <[^>]*> nop -+0+3a7c <[^>]*> nop -+0+3a80 <[^>]*> nop -+0+3a84 <[^>]*> nop -+0+3a88 <[^>]*> nop -+0+3a8c <[^>]*> nop -+0+3a90 <[^>]*> nop -+0+3a94 <[^>]*> nop -+0+3a98 <[^>]*> nop -+0+3a9c <[^>]*> nop -+0+3aa0 <[^>]*> nop -+0+3aa4 <[^>]*> nop -+0+3aa8 <[^>]*> nop -+0+3aac <[^>]*> nop -+0+3ab0 <[^>]*> nop -+0+3ab4 <[^>]*> nop -+0+3ab8 <[^>]*> nop -+0+3abc <[^>]*> nop -+0+3ac0 <[^>]*> nop -+0+3ac4 <[^>]*> nop -+0+3ac8 <[^>]*> nop -+0+3acc <[^>]*> nop -+0+3ad0 <[^>]*> nop -+0+3ad4 <[^>]*> nop -+0+3ad8 <[^>]*> nop -+0+3adc <[^>]*> nop -+0+3ae0 <[^>]*> nop -+0+3ae4 <[^>]*> nop -+0+3ae8 <[^>]*> nop -+0+3aec <[^>]*> nop -+0+3af0 <[^>]*> nop -+0+3af4 <[^>]*> nop -+0+3af8 <[^>]*> nop -+0+3afc <[^>]*> nop -+0+3b00 <[^>]*> nop -+0+3b04 <[^>]*> nop -+0+3b08 <[^>]*> nop -+0+3b0c <[^>]*> nop -+0+3b10 <[^>]*> nop -+0+3b14 <[^>]*> nop -+0+3b18 <[^>]*> nop -+0+3b1c <[^>]*> nop -+0+3b20 <[^>]*> nop -+0+3b24 <[^>]*> nop -+0+3b28 <[^>]*> nop -+0+3b2c <[^>]*> nop -+0+3b30 <[^>]*> nop -+0+3b34 <[^>]*> nop -+0+3b38 <[^>]*> nop -+0+3b3c <[^>]*> nop -+0+3b40 <[^>]*> nop -+0+3b44 <[^>]*> nop -+0+3b48 <[^>]*> nop -+0+3b4c <[^>]*> nop -+0+3b50 <[^>]*> nop -+0+3b54 <[^>]*> nop -+0+3b58 <[^>]*> nop -+0+3b5c <[^>]*> nop -+0+3b60 <[^>]*> nop -+0+3b64 <[^>]*> nop -+0+3b68 <[^>]*> nop -+0+3b6c <[^>]*> nop -+0+3b70 <[^>]*> nop -+0+3b74 <[^>]*> nop -+0+3b78 <[^>]*> nop -+0+3b7c <[^>]*> nop -+0+3b80 <[^>]*> nop -+0+3b84 <[^>]*> nop -+0+3b88 <[^>]*> nop -+0+3b8c <[^>]*> nop -+0+3b90 <[^>]*> nop -+0+3b94 <[^>]*> nop -+0+3b98 <[^>]*> nop -+0+3b9c <[^>]*> nop -+0+3ba0 <[^>]*> nop -+0+3ba4 <[^>]*> nop -+0+3ba8 <[^>]*> nop -+0+3bac <[^>]*> nop -+0+3bb0 <[^>]*> nop -+0+3bb4 <[^>]*> nop -+0+3bb8 <[^>]*> nop -+0+3bbc <[^>]*> nop -+0+3bc0 <[^>]*> nop -+0+3bc4 <[^>]*> nop -+0+3bc8 <[^>]*> nop -+0+3bcc <[^>]*> nop -+0+3bd0 <[^>]*> nop -+0+3bd4 <[^>]*> nop -+0+3bd8 <[^>]*> nop -+0+3bdc <[^>]*> nop -+0+3be0 <[^>]*> nop -+0+3be4 <[^>]*> nop -+0+3be8 <[^>]*> nop -+0+3bec <[^>]*> nop -+0+3bf0 <[^>]*> nop -+0+3bf4 <[^>]*> nop -+0+3bf8 <[^>]*> nop -+0+3bfc <[^>]*> nop -+0+3c00 <[^>]*> nop -+0+3c04 <[^>]*> nop -+0+3c08 <[^>]*> nop -+0+3c0c <[^>]*> nop -+0+3c10 <[^>]*> nop -+0+3c14 <[^>]*> nop -+0+3c18 <[^>]*> nop -+0+3c1c <[^>]*> nop -+0+3c20 <[^>]*> nop -+0+3c24 <[^>]*> nop -+0+3c28 <[^>]*> nop -+0+3c2c <[^>]*> nop -+0+3c30 <[^>]*> nop -+0+3c34 <[^>]*> nop -+0+3c38 <[^>]*> nop -+0+3c3c <[^>]*> nop -+0+3c40 <[^>]*> nop -+0+3c44 <[^>]*> nop -+0+3c48 <[^>]*> nop -+0+3c4c <[^>]*> nop -+0+3c50 <[^>]*> nop -+0+3c54 <[^>]*> nop -+0+3c58 <[^>]*> nop -+0+3c5c <[^>]*> nop -+0+3c60 <[^>]*> nop -+0+3c64 <[^>]*> nop -+0+3c68 <[^>]*> nop -+0+3c6c <[^>]*> nop -+0+3c70 <[^>]*> nop -+0+3c74 <[^>]*> nop -+0+3c78 <[^>]*> nop -+0+3c7c <[^>]*> nop -+0+3c80 <[^>]*> nop -+0+3c84 <[^>]*> nop -+0+3c88 <[^>]*> nop -+0+3c8c <[^>]*> nop -+0+3c90 <[^>]*> nop -+0+3c94 <[^>]*> nop -+0+3c98 <[^>]*> nop -+0+3c9c <[^>]*> nop -+0+3ca0 <[^>]*> nop -+0+3ca4 <[^>]*> nop -+0+3ca8 <[^>]*> nop -+0+3cac <[^>]*> nop -+0+3cb0 <[^>]*> nop -+0+3cb4 <[^>]*> nop -+0+3cb8 <[^>]*> nop -+0+3cbc <[^>]*> nop -+0+3cc0 <[^>]*> nop -+0+3cc4 <[^>]*> nop -+0+3cc8 <[^>]*> nop -+0+3ccc <[^>]*> nop -+0+3cd0 <[^>]*> nop -+0+3cd4 <[^>]*> nop -+0+3cd8 <[^>]*> nop -+0+3cdc <[^>]*> nop -+0+3ce0 <[^>]*> nop -+0+3ce4 <[^>]*> nop -+0+3ce8 <[^>]*> nop -+0+3cec <[^>]*> nop -+0+3cf0 <[^>]*> nop -+0+3cf4 <[^>]*> nop -+0+3cf8 <[^>]*> nop -+0+3cfc <[^>]*> nop -+0+3d00 <[^>]*> nop -+0+3d04 <[^>]*> nop -+0+3d08 <[^>]*> nop -+0+3d0c <[^>]*> nop -+0+3d10 <[^>]*> nop -+0+3d14 <[^>]*> nop -+0+3d18 <[^>]*> nop -+0+3d1c <[^>]*> nop -+0+3d20 <[^>]*> nop -+0+3d24 <[^>]*> nop -+0+3d28 <[^>]*> nop -+0+3d2c <[^>]*> nop -+0+3d30 <[^>]*> nop -+0+3d34 <[^>]*> nop -+0+3d38 <[^>]*> nop -+0+3d3c <[^>]*> nop -+0+3d40 <[^>]*> nop -+0+3d44 <[^>]*> nop -+0+3d48 <[^>]*> nop -+0+3d4c <[^>]*> nop -+0+3d50 <[^>]*> nop -+0+3d54 <[^>]*> nop -+0+3d58 <[^>]*> nop -+0+3d5c <[^>]*> nop -+0+3d60 <[^>]*> nop -+0+3d64 <[^>]*> nop -+0+3d68 <[^>]*> nop -+0+3d6c <[^>]*> nop -+0+3d70 <[^>]*> nop -+0+3d74 <[^>]*> nop -+0+3d78 <[^>]*> nop -+0+3d7c <[^>]*> nop -+0+3d80 <[^>]*> nop -+0+3d84 <[^>]*> nop -+0+3d88 <[^>]*> nop -+0+3d8c <[^>]*> nop -+0+3d90 <[^>]*> nop -+0+3d94 <[^>]*> nop -+0+3d98 <[^>]*> nop -+0+3d9c <[^>]*> nop -+0+3da0 <[^>]*> nop -+0+3da4 <[^>]*> nop -+0+3da8 <[^>]*> nop -+0+3dac <[^>]*> nop -+0+3db0 <[^>]*> nop -+0+3db4 <[^>]*> nop -+0+3db8 <[^>]*> nop -+0+3dbc <[^>]*> nop -+0+3dc0 <[^>]*> nop -+0+3dc4 <[^>]*> nop -+0+3dc8 <[^>]*> nop -+0+3dcc <[^>]*> nop -+0+3dd0 <[^>]*> nop -+0+3dd4 <[^>]*> nop -+0+3dd8 <[^>]*> nop -+0+3ddc <[^>]*> nop -+0+3de0 <[^>]*> nop -+0+3de4 <[^>]*> nop -+0+3de8 <[^>]*> nop -+0+3dec <[^>]*> nop -+0+3df0 <[^>]*> nop -+0+3df4 <[^>]*> nop -+0+3df8 <[^>]*> nop -+0+3dfc <[^>]*> nop -+0+3e00 <[^>]*> nop -+0+3e04 <[^>]*> nop -+0+3e08 <[^>]*> nop -+0+3e0c <[^>]*> nop -+0+3e10 <[^>]*> nop -+0+3e14 <[^>]*> nop -+0+3e18 <[^>]*> nop -+0+3e1c <[^>]*> nop -+0+3e20 <[^>]*> nop -+0+3e24 <[^>]*> nop -+0+3e28 <[^>]*> nop -+0+3e2c <[^>]*> nop -+0+3e30 <[^>]*> nop -+0+3e34 <[^>]*> nop -+0+3e38 <[^>]*> nop -+0+3e3c <[^>]*> nop -+0+3e40 <[^>]*> nop -+0+3e44 <[^>]*> nop -+0+3e48 <[^>]*> nop -+0+3e4c <[^>]*> nop -+0+3e50 <[^>]*> nop -+0+3e54 <[^>]*> nop -+0+3e58 <[^>]*> nop -+0+3e5c <[^>]*> nop -+0+3e60 <[^>]*> nop -+0+3e64 <[^>]*> nop -+0+3e68 <[^>]*> nop -+0+3e6c <[^>]*> nop -+0+3e70 <[^>]*> nop -+0+3e74 <[^>]*> nop -+0+3e78 <[^>]*> nop -+0+3e7c <[^>]*> nop -+0+3e80 <[^>]*> nop -+0+3e84 <[^>]*> nop -+0+3e88 <[^>]*> nop -+0+3e8c <[^>]*> nop -+0+3e90 <[^>]*> nop -+0+3e94 <[^>]*> nop -+0+3e98 <[^>]*> nop -+0+3e9c <[^>]*> nop -+0+3ea0 <[^>]*> nop -+0+3ea4 <[^>]*> nop -+0+3ea8 <[^>]*> nop -+0+3eac <[^>]*> nop -+0+3eb0 <[^>]*> nop -+0+3eb4 <[^>]*> nop -+0+3eb8 <[^>]*> nop -+0+3ebc <[^>]*> nop -+0+3ec0 <[^>]*> nop -+0+3ec4 <[^>]*> nop -+0+3ec8 <[^>]*> nop -+0+3ecc <[^>]*> nop -+0+3ed0 <[^>]*> nop -+0+3ed4 <[^>]*> nop -+0+3ed8 <[^>]*> nop -+0+3edc <[^>]*> nop -+0+3ee0 <[^>]*> nop -+0+3ee4 <[^>]*> nop -+0+3ee8 <[^>]*> nop -+0+3eec <[^>]*> nop -+0+3ef0 <[^>]*> nop -+0+3ef4 <[^>]*> nop -+0+3ef8 <[^>]*> nop -+0+3efc <[^>]*> nop -+0+3f00 <[^>]*> nop -+0+3f04 <[^>]*> nop -+0+3f08 <[^>]*> nop -+0+3f0c <[^>]*> nop -+0+3f10 <[^>]*> nop -+0+3f14 <[^>]*> nop -+0+3f18 <[^>]*> nop -+0+3f1c <[^>]*> nop -+0+3f20 <[^>]*> nop -+0+3f24 <[^>]*> nop -+0+3f28 <[^>]*> nop -+0+3f2c <[^>]*> nop -+0+3f30 <[^>]*> nop -+0+3f34 <[^>]*> nop -+0+3f38 <[^>]*> nop -+0+3f3c <[^>]*> nop -+0+3f40 <[^>]*> nop -+0+3f44 <[^>]*> nop -+0+3f48 <[^>]*> nop -+0+3f4c <[^>]*> nop -+0+3f50 <[^>]*> nop -+0+3f54 <[^>]*> nop -+0+3f58 <[^>]*> nop -+0+3f5c <[^>]*> nop -+0+3f60 <[^>]*> nop -+0+3f64 <[^>]*> nop -+0+3f68 <[^>]*> nop -+0+3f6c <[^>]*> nop -+0+3f70 <[^>]*> nop -+0+3f74 <[^>]*> nop -+0+3f78 <[^>]*> nop -+0+3f7c <[^>]*> nop -+0+3f80 <[^>]*> nop -+0+3f84 <[^>]*> nop -+0+3f88 <[^>]*> nop -+0+3f8c <[^>]*> nop -+0+3f90 <[^>]*> nop -+0+3f94 <[^>]*> nop -+0+3f98 <[^>]*> nop -+0+3f9c <[^>]*> nop -+0+3fa0 <[^>]*> nop -+0+3fa4 <[^>]*> nop -+0+3fa8 <[^>]*> nop -+0+3fac <[^>]*> nop -+0+3fb0 <[^>]*> nop -+0+3fb4 <[^>]*> nop -+0+3fb8 <[^>]*> nop -+0+3fbc <[^>]*> nop -+0+3fc0 <[^>]*> nop -+0+3fc4 <[^>]*> nop -+0+3fc8 <[^>]*> nop -+0+3fcc <[^>]*> nop -+0+3fd0 <[^>]*> nop -+0+3fd4 <[^>]*> nop -+0+3fd8 <[^>]*> nop -+0+3fdc <[^>]*> nop -+0+3fe0 <[^>]*> nop -+0+3fe4 <[^>]*> nop -+0+3fe8 <[^>]*> nop -+0+3fec <[^>]*> nop -+0+3ff0 <[^>]*> nop -+0+3ff4 <[^>]*> nop -+0+3ff8 <[^>]*> nop -+0+3ffc <[^>]*> nop -+0+4000 <[^>]*> nop -+0+4004 <[^>]*> nop -+0+4008 <[^>]*> nop -+0+400c <[^>]*> nop -+0+4010 <[^>]*> nop -+0+4014 <[^>]*> nop -+0+4018 <[^>]*> nop -+0+401c <[^>]*> nop -+0+4020 <[^>]*> nop -+0+4024 <[^>]*> nop -+0+4028 <[^>]*> nop -+0+402c <[^>]*> nop -+0+4030 <[^>]*> nop -+0+4034 <[^>]*> nop -+0+4038 <[^>]*> nop -+0+403c <[^>]*> nop -+0+4040 <[^>]*> nop -+0+4044 <[^>]*> nop -+0+4048 <[^>]*> nop -+0+404c <[^>]*> nop -+0+4050 <[^>]*> nop -+0+4054 <[^>]*> nop -+0+4058 <[^>]*> nop -+0+405c <[^>]*> nop -+0+4060 <[^>]*> nop -+0+4064 <[^>]*> nop -+0+4068 <[^>]*> nop -+0+406c <[^>]*> nop -+0+4070 <[^>]*> nop -+0+4074 <[^>]*> nop -+0+4078 <[^>]*> nop -+0+407c <[^>]*> nop -+0+4080 <[^>]*> nop -+0+4084 <[^>]*> nop -+0+4088 <[^>]*> nop -+0+408c <[^>]*> nop -+0+4090 <[^>]*> nop -+0+4094 <[^>]*> nop -+0+4098 <[^>]*> nop -+0+409c <[^>]*> nop -+0+40a0 <[^>]*> nop -+0+40a4 <[^>]*> nop -+0+40a8 <[^>]*> nop -+0+40ac <[^>]*> nop -+0+40b0 <[^>]*> nop -+0+40b4 <[^>]*> nop -+0+40b8 <[^>]*> nop -+0+40bc <[^>]*> nop -+0+40c0 <[^>]*> nop -+0+40c4 <[^>]*> nop -+0+40c8 <[^>]*> nop -+0+40cc <[^>]*> nop -+0+40d0 <[^>]*> nop -+0+40d4 <[^>]*> nop -+0+40d8 <[^>]*> nop -+0+40dc <[^>]*> nop -+0+40e0 <[^>]*> nop -+0+40e4 <[^>]*> nop -+0+40e8 <[^>]*> nop -+0+40ec <[^>]*> nop -+0+40f0 <[^>]*> nop -+0+40f4 <[^>]*> nop -+0+40f8 <[^>]*> nop -+0+40fc <[^>]*> nop -+0+4100 <[^>]*> nop -+0+4104 <[^>]*> nop -+0+4108 <[^>]*> nop -+0+410c <[^>]*> nop -+0+4110 <[^>]*> nop -+0+4114 <[^>]*> nop -+0+4118 <[^>]*> nop -+0+411c <[^>]*> nop -+0+4120 <[^>]*> nop -+0+4124 <[^>]*> nop -+0+4128 <[^>]*> nop -+0+412c <[^>]*> nop -+0+4130 <[^>]*> nop -+0+4134 <[^>]*> nop -+0+4138 <[^>]*> nop -+0+413c <[^>]*> nop -+0+4140 <[^>]*> nop -+0+4144 <[^>]*> nop -+0+4148 <[^>]*> nop -+0+414c <[^>]*> nop -+0+4150 <[^>]*> nop -+0+4154 <[^>]*> nop -+0+4158 <[^>]*> nop -+0+415c <[^>]*> nop -+0+4160 <[^>]*> nop -+0+4164 <[^>]*> nop -+0+4168 <[^>]*> nop -+0+416c <[^>]*> nop -+0+4170 <[^>]*> nop -+0+4174 <[^>]*> nop -+0+4178 <[^>]*> nop -+0+417c <[^>]*> nop -+0+4180 <[^>]*> nop -+0+4184 <[^>]*> nop -+0+4188 <[^>]*> nop -+0+418c <[^>]*> nop -+0+4190 <[^>]*> nop -+0+4194 <[^>]*> nop -+0+4198 <[^>]*> nop -+0+419c <[^>]*> nop -+0+41a0 <[^>]*> nop -+0+41a4 <[^>]*> nop -+0+41a8 <[^>]*> nop -+0+41ac <[^>]*> nop -+0+41b0 <[^>]*> nop -+0+41b4 <[^>]*> nop -+0+41b8 <[^>]*> nop -+0+41bc <[^>]*> nop -+0+41c0 <[^>]*> nop -+0+41c4 <[^>]*> nop -+0+41c8 <[^>]*> nop -+0+41cc <[^>]*> nop -+0+41d0 <[^>]*> nop -+0+41d4 <[^>]*> nop -+0+41d8 <[^>]*> nop -+0+41dc <[^>]*> nop -+0+41e0 <[^>]*> nop -+0+41e4 <[^>]*> nop -+0+41e8 <[^>]*> nop -+0+41ec <[^>]*> nop -+0+41f0 <[^>]*> nop -+0+41f4 <[^>]*> nop -+0+41f8 <[^>]*> nop -+0+41fc <[^>]*> nop -+0+4200 <[^>]*> nop -+0+4204 <[^>]*> nop -+0+4208 <[^>]*> nop -+0+420c <[^>]*> nop -+0+4210 <[^>]*> nop -+0+4214 <[^>]*> nop -+0+4218 <[^>]*> nop -+0+421c <[^>]*> nop -+0+4220 <[^>]*> nop -+0+4224 <[^>]*> nop -+0+4228 <[^>]*> nop -+0+422c <[^>]*> nop -+0+4230 <[^>]*> nop -+0+4234 <[^>]*> nop -+0+4238 <[^>]*> nop -+0+423c <[^>]*> nop -+0+4240 <[^>]*> nop -+0+4244 <[^>]*> nop -+0+4248 <[^>]*> nop -+0+424c <[^>]*> nop -+0+4250 <[^>]*> nop -+0+4254 <[^>]*> nop -+0+4258 <[^>]*> nop -+0+425c <[^>]*> nop -+0+4260 <[^>]*> nop -+0+4264 <[^>]*> nop -+0+4268 <[^>]*> nop -+0+426c <[^>]*> nop -+0+4270 <[^>]*> nop -+0+4274 <[^>]*> nop -+0+4278 <[^>]*> nop -+0+427c <[^>]*> nop -+0+4280 <[^>]*> nop -+0+4284 <[^>]*> nop -+0+4288 <[^>]*> nop -+0+428c <[^>]*> nop -+0+4290 <[^>]*> nop -+0+4294 <[^>]*> nop -+0+4298 <[^>]*> nop -+0+429c <[^>]*> nop -+0+42a0 <[^>]*> nop -+0+42a4 <[^>]*> nop -+0+42a8 <[^>]*> nop -+0+42ac <[^>]*> nop -+0+42b0 <[^>]*> nop -+0+42b4 <[^>]*> nop -+0+42b8 <[^>]*> nop -+0+42bc <[^>]*> nop -+0+42c0 <[^>]*> nop -+0+42c4 <[^>]*> nop -+0+42c8 <[^>]*> nop -+0+42cc <[^>]*> nop -+0+42d0 <[^>]*> nop -+0+42d4 <[^>]*> nop -+0+42d8 <[^>]*> nop -+0+42dc <[^>]*> nop -+0+42e0 <[^>]*> nop -+0+42e4 <[^>]*> nop -+0+42e8 <[^>]*> nop -+0+42ec <[^>]*> nop -+0+42f0 <[^>]*> nop -+0+42f4 <[^>]*> nop -+0+42f8 <[^>]*> nop -+0+42fc <[^>]*> nop -+0+4300 <[^>]*> nop -+0+4304 <[^>]*> nop -+0+4308 <[^>]*> nop -+0+430c <[^>]*> nop -+0+4310 <[^>]*> nop -+0+4314 <[^>]*> nop -+0+4318 <[^>]*> nop -+0+431c <[^>]*> nop -+0+4320 <[^>]*> nop -+0+4324 <[^>]*> nop -+0+4328 <[^>]*> nop -+0+432c <[^>]*> nop -+0+4330 <[^>]*> nop -+0+4334 <[^>]*> nop -+0+4338 <[^>]*> nop -+0+433c <[^>]*> nop -+0+4340 <[^>]*> nop -+0+4344 <[^>]*> nop -+0+4348 <[^>]*> nop -+0+434c <[^>]*> nop -+0+4350 <[^>]*> nop -+0+4354 <[^>]*> nop -+0+4358 <[^>]*> nop -+0+435c <[^>]*> nop -+0+4360 <[^>]*> nop -+0+4364 <[^>]*> nop -+0+4368 <[^>]*> nop -+0+436c <[^>]*> nop -+0+4370 <[^>]*> nop -+0+4374 <[^>]*> nop -+0+4378 <[^>]*> nop -+0+437c <[^>]*> nop -+0+4380 <[^>]*> nop -+0+4384 <[^>]*> nop -+0+4388 <[^>]*> nop -+0+438c <[^>]*> nop -+0+4390 <[^>]*> nop -+0+4394 <[^>]*> nop -+0+4398 <[^>]*> nop -+0+439c <[^>]*> nop -+0+43a0 <[^>]*> nop -+0+43a4 <[^>]*> nop -+0+43a8 <[^>]*> nop -+0+43ac <[^>]*> nop -+0+43b0 <[^>]*> nop -+0+43b4 <[^>]*> nop -+0+43b8 <[^>]*> nop -+0+43bc <[^>]*> nop -+0+43c0 <[^>]*> nop -+0+43c4 <[^>]*> nop -+0+43c8 <[^>]*> nop -+0+43cc <[^>]*> nop -+0+43d0 <[^>]*> nop -+0+43d4 <[^>]*> nop -+0+43d8 <[^>]*> nop -+0+43dc <[^>]*> nop -+0+43e0 <[^>]*> nop -+0+43e4 <[^>]*> nop -+0+43e8 <[^>]*> nop -+0+43ec <[^>]*> nop -+0+43f0 <[^>]*> nop -+0+43f4 <[^>]*> nop -+0+43f8 <[^>]*> nop -+0+43fc <[^>]*> nop -+0+4400 <[^>]*> nop -+0+4404 <[^>]*> nop -+0+4408 <[^>]*> nop -+0+440c <[^>]*> nop -+0+4410 <[^>]*> nop -+0+4414 <[^>]*> nop -+0+4418 <[^>]*> nop -+0+441c <[^>]*> nop -+0+4420 <[^>]*> nop -+0+4424 <[^>]*> nop -+0+4428 <[^>]*> nop -+0+442c <[^>]*> nop -+0+4430 <[^>]*> nop -+0+4434 <[^>]*> nop -+0+4438 <[^>]*> nop -+0+443c <[^>]*> nop -+0+4440 <[^>]*> nop -+0+4444 <[^>]*> nop -+0+4448 <[^>]*> nop -+0+444c <[^>]*> nop -+0+4450 <[^>]*> nop -+0+4454 <[^>]*> nop -+0+4458 <[^>]*> nop -+0+445c <[^>]*> nop -+0+4460 <[^>]*> nop -+0+4464 <[^>]*> nop -+0+4468 <[^>]*> nop -+0+446c <[^>]*> nop -+0+4470 <[^>]*> nop -+0+4474 <[^>]*> nop -+0+4478 <[^>]*> nop -+0+447c <[^>]*> nop -+0+4480 <[^>]*> nop -+0+4484 <[^>]*> nop -+0+4488 <[^>]*> nop -+0+448c <[^>]*> nop -+0+4490 <[^>]*> nop -+0+4494 <[^>]*> nop -+0+4498 <[^>]*> nop -+0+449c <[^>]*> nop -+0+44a0 <[^>]*> nop -+0+44a4 <[^>]*> nop -+0+44a8 <[^>]*> nop -+0+44ac <[^>]*> nop -+0+44b0 <[^>]*> nop -+0+44b4 <[^>]*> nop -+0+44b8 <[^>]*> nop -+0+44bc <[^>]*> nop -+0+44c0 <[^>]*> nop -+0+44c4 <[^>]*> nop -+0+44c8 <[^>]*> nop -+0+44cc <[^>]*> nop -+0+44d0 <[^>]*> nop -+0+44d4 <[^>]*> nop -+0+44d8 <[^>]*> nop -+0+44dc <[^>]*> nop -+0+44e0 <[^>]*> nop -+0+44e4 <[^>]*> nop -+0+44e8 <[^>]*> nop -+0+44ec <[^>]*> nop -+0+44f0 <[^>]*> nop -+0+44f4 <[^>]*> nop -+0+44f8 <[^>]*> nop -+0+44fc <[^>]*> nop -+0+4500 <[^>]*> nop -+0+4504 <[^>]*> nop -+0+4508 <[^>]*> nop -+0+450c <[^>]*> nop -+0+4510 <[^>]*> nop -+0+4514 <[^>]*> nop -+0+4518 <[^>]*> nop -+0+451c <[^>]*> nop -+0+4520 <[^>]*> nop -+0+4524 <[^>]*> nop -+0+4528 <[^>]*> nop -+0+452c <[^>]*> nop -+0+4530 <[^>]*> nop -+0+4534 <[^>]*> nop -+0+4538 <[^>]*> nop -+0+453c <[^>]*> nop -+0+4540 <[^>]*> nop -+0+4544 <[^>]*> nop -+0+4548 <[^>]*> nop -+0+454c <[^>]*> nop -+0+4550 <[^>]*> nop -+0+4554 <[^>]*> nop -+0+4558 <[^>]*> nop -+0+455c <[^>]*> nop -+0+4560 <[^>]*> nop -+0+4564 <[^>]*> nop -+0+4568 <[^>]*> nop -+0+456c <[^>]*> nop -+0+4570 <[^>]*> nop -+0+4574 <[^>]*> nop -+0+4578 <[^>]*> nop -+0+457c <[^>]*> nop -+0+4580 <[^>]*> nop -+0+4584 <[^>]*> nop -+0+4588 <[^>]*> nop -+0+458c <[^>]*> nop -+0+4590 <[^>]*> nop -+0+4594 <[^>]*> nop -+0+4598 <[^>]*> nop -+0+459c <[^>]*> nop -+0+45a0 <[^>]*> nop -+0+45a4 <[^>]*> nop -+0+45a8 <[^>]*> nop -+0+45ac <[^>]*> nop -+0+45b0 <[^>]*> nop -+0+45b4 <[^>]*> nop -+0+45b8 <[^>]*> nop -+0+45bc <[^>]*> nop -+0+45c0 <[^>]*> nop -+0+45c4 <[^>]*> nop -+0+45c8 <[^>]*> nop -+0+45cc <[^>]*> nop -+0+45d0 <[^>]*> nop -+0+45d4 <[^>]*> nop -+0+45d8 <[^>]*> nop -+0+45dc <[^>]*> nop -+0+45e0 <[^>]*> nop -+0+45e4 <[^>]*> nop -+0+45e8 <[^>]*> nop -+0+45ec <[^>]*> nop -+0+45f0 <[^>]*> nop -+0+45f4 <[^>]*> nop -+0+45f8 <[^>]*> nop -+0+45fc <[^>]*> nop -+0+4600 <[^>]*> nop -+0+4604 <[^>]*> nop -+0+4608 <[^>]*> nop -+0+460c <[^>]*> nop -+0+4610 <[^>]*> nop -+0+4614 <[^>]*> nop -+0+4618 <[^>]*> nop -+0+461c <[^>]*> nop -+0+4620 <[^>]*> nop -+0+4624 <[^>]*> nop -+0+4628 <[^>]*> nop -+0+462c <[^>]*> nop -+0+4630 <[^>]*> nop -+0+4634 <[^>]*> nop -+0+4638 <[^>]*> nop -+0+463c <[^>]*> nop -+0+4640 <[^>]*> nop -+0+4644 <[^>]*> nop -+0+4648 <[^>]*> nop -+0+464c <[^>]*> nop -+0+4650 <[^>]*> nop -+0+4654 <[^>]*> nop -+0+4658 <[^>]*> nop -+0+465c <[^>]*> nop -+0+4660 <[^>]*> nop -+0+4664 <[^>]*> nop -+0+4668 <[^>]*> nop -+0+466c <[^>]*> nop -+0+4670 <[^>]*> nop -+0+4674 <[^>]*> nop -+0+4678 <[^>]*> nop -+0+467c <[^>]*> nop -+0+4680 <[^>]*> nop -+0+4684 <[^>]*> nop -+0+4688 <[^>]*> nop -+0+468c <[^>]*> nop -+0+4690 <[^>]*> nop -+0+4694 <[^>]*> nop -+0+4698 <[^>]*> nop -+0+469c <[^>]*> nop -+0+46a0 <[^>]*> nop -+0+46a4 <[^>]*> nop -+0+46a8 <[^>]*> nop -+0+46ac <[^>]*> nop -+0+46b0 <[^>]*> nop -+0+46b4 <[^>]*> nop -+0+46b8 <[^>]*> nop -+0+46bc <[^>]*> nop -+0+46c0 <[^>]*> nop -+0+46c4 <[^>]*> nop -+0+46c8 <[^>]*> nop -+0+46cc <[^>]*> nop -+0+46d0 <[^>]*> nop -+0+46d4 <[^>]*> nop -+0+46d8 <[^>]*> nop -+0+46dc <[^>]*> nop -+0+46e0 <[^>]*> nop -+0+46e4 <[^>]*> nop -+0+46e8 <[^>]*> nop -+0+46ec <[^>]*> nop -+0+46f0 <[^>]*> nop -+0+46f4 <[^>]*> nop -+0+46f8 <[^>]*> nop -+0+46fc <[^>]*> nop -+0+4700 <[^>]*> nop -+0+4704 <[^>]*> nop -+0+4708 <[^>]*> nop -+0+470c <[^>]*> nop -+0+4710 <[^>]*> nop -+0+4714 <[^>]*> nop -+0+4718 <[^>]*> nop -+0+471c <[^>]*> nop -+0+4720 <[^>]*> nop -+0+4724 <[^>]*> nop -+0+4728 <[^>]*> nop -+0+472c <[^>]*> nop -+0+4730 <[^>]*> nop -+0+4734 <[^>]*> nop -+0+4738 <[^>]*> nop -+0+473c <[^>]*> nop -+0+4740 <[^>]*> nop -+0+4744 <[^>]*> nop -+0+4748 <[^>]*> nop -+0+474c <[^>]*> nop -+0+4750 <[^>]*> nop -+0+4754 <[^>]*> nop -+0+4758 <[^>]*> nop -+0+475c <[^>]*> nop -+0+4760 <[^>]*> nop -+0+4764 <[^>]*> nop -+0+4768 <[^>]*> nop -+0+476c <[^>]*> nop -+0+4770 <[^>]*> nop -+0+4774 <[^>]*> nop -+0+4778 <[^>]*> nop -+0+477c <[^>]*> nop -+0+4780 <[^>]*> nop -+0+4784 <[^>]*> nop -+0+4788 <[^>]*> nop -+0+478c <[^>]*> nop -+0+4790 <[^>]*> nop -+0+4794 <[^>]*> nop -+0+4798 <[^>]*> nop -+0+479c <[^>]*> nop -+0+47a0 <[^>]*> nop -+0+47a4 <[^>]*> nop -+0+47a8 <[^>]*> nop -+0+47ac <[^>]*> nop -+0+47b0 <[^>]*> nop -+0+47b4 <[^>]*> nop -+0+47b8 <[^>]*> nop -+0+47bc <[^>]*> nop -+0+47c0 <[^>]*> nop -+0+47c4 <[^>]*> nop -+0+47c8 <[^>]*> nop -+0+47cc <[^>]*> nop -+0+47d0 <[^>]*> nop -+0+47d4 <[^>]*> nop -+0+47d8 <[^>]*> nop -+0+47dc <[^>]*> nop -+0+47e0 <[^>]*> nop -+0+47e4 <[^>]*> nop -+0+47e8 <[^>]*> nop -+0+47ec <[^>]*> nop -+0+47f0 <[^>]*> nop -+0+47f4 <[^>]*> nop -+0+47f8 <[^>]*> nop -+0+47fc <[^>]*> nop -+0+4800 <[^>]*> nop -+0+4804 <[^>]*> nop -+0+4808 <[^>]*> nop -+0+480c <[^>]*> nop -+0+4810 <[^>]*> nop -+0+4814 <[^>]*> nop -+0+4818 <[^>]*> nop -+0+481c <[^>]*> nop -+0+4820 <[^>]*> nop -+0+4824 <[^>]*> nop -+0+4828 <[^>]*> nop -+0+482c <[^>]*> nop -+0+4830 <[^>]*> nop -+0+4834 <[^>]*> nop -+0+4838 <[^>]*> nop -+0+483c <[^>]*> nop -+0+4840 <[^>]*> nop -+0+4844 <[^>]*> nop -+0+4848 <[^>]*> nop -+0+484c <[^>]*> nop -+0+4850 <[^>]*> nop -+0+4854 <[^>]*> nop -+0+4858 <[^>]*> nop -+0+485c <[^>]*> nop -+0+4860 <[^>]*> nop -+0+4864 <[^>]*> nop -+0+4868 <[^>]*> nop -+0+486c <[^>]*> nop -+0+4870 <[^>]*> nop -+0+4874 <[^>]*> nop -+0+4878 <[^>]*> nop -+0+487c <[^>]*> nop -+0+4880 <[^>]*> nop -+0+4884 <[^>]*> nop -+0+4888 <[^>]*> nop -+0+488c <[^>]*> nop -+0+4890 <[^>]*> nop -+0+4894 <[^>]*> nop -+0+4898 <[^>]*> nop -+0+489c <[^>]*> nop -+0+48a0 <[^>]*> nop -+0+48a4 <[^>]*> nop -+0+48a8 <[^>]*> nop -+0+48ac <[^>]*> nop -+0+48b0 <[^>]*> nop -+0+48b4 <[^>]*> nop -+0+48b8 <[^>]*> nop -+0+48bc <[^>]*> nop -+0+48c0 <[^>]*> nop -+0+48c4 <[^>]*> nop -+0+48c8 <[^>]*> nop -+0+48cc <[^>]*> nop -+0+48d0 <[^>]*> nop -+0+48d4 <[^>]*> nop -+0+48d8 <[^>]*> nop -+0+48dc <[^>]*> nop -+0+48e0 <[^>]*> nop -+0+48e4 <[^>]*> nop -+0+48e8 <[^>]*> nop -+0+48ec <[^>]*> nop -+0+48f0 <[^>]*> nop -+0+48f4 <[^>]*> nop -+0+48f8 <[^>]*> nop -+0+48fc <[^>]*> nop -+0+4900 <[^>]*> nop -+0+4904 <[^>]*> nop -+0+4908 <[^>]*> nop -+0+490c <[^>]*> nop -+0+4910 <[^>]*> nop -+0+4914 <[^>]*> nop -+0+4918 <[^>]*> nop -+0+491c <[^>]*> nop -+0+4920 <[^>]*> nop -+0+4924 <[^>]*> nop -+0+4928 <[^>]*> nop -+0+492c <[^>]*> nop -+0+4930 <[^>]*> nop -+0+4934 <[^>]*> nop -+0+4938 <[^>]*> nop -+0+493c <[^>]*> nop -+0+4940 <[^>]*> nop -+0+4944 <[^>]*> nop -+0+4948 <[^>]*> nop -+0+494c <[^>]*> nop -+0+4950 <[^>]*> nop -+0+4954 <[^>]*> nop -+0+4958 <[^>]*> nop -+0+495c <[^>]*> nop -+0+4960 <[^>]*> nop -+0+4964 <[^>]*> nop -+0+4968 <[^>]*> nop -+0+496c <[^>]*> nop -+0+4970 <[^>]*> nop -+0+4974 <[^>]*> nop -+0+4978 <[^>]*> nop -+0+497c <[^>]*> nop -+0+4980 <[^>]*> nop -+0+4984 <[^>]*> nop -+0+4988 <[^>]*> nop -+0+498c <[^>]*> nop -+0+4990 <[^>]*> nop -+0+4994 <[^>]*> nop -+0+4998 <[^>]*> nop -+0+499c <[^>]*> nop -+0+49a0 <[^>]*> nop -+0+49a4 <[^>]*> nop -+0+49a8 <[^>]*> nop -+0+49ac <[^>]*> nop -+0+49b0 <[^>]*> nop -+0+49b4 <[^>]*> nop -+0+49b8 <[^>]*> nop -+0+49bc <[^>]*> nop -+0+49c0 <[^>]*> nop -+0+49c4 <[^>]*> nop -+0+49c8 <[^>]*> nop -+0+49cc <[^>]*> nop -+0+49d0 <[^>]*> nop -+0+49d4 <[^>]*> nop -+0+49d8 <[^>]*> nop -+0+49dc <[^>]*> nop -+0+49e0 <[^>]*> nop -+0+49e4 <[^>]*> nop -+0+49e8 <[^>]*> nop -+0+49ec <[^>]*> nop -+0+49f0 <[^>]*> nop -+0+49f4 <[^>]*> nop -+0+49f8 <[^>]*> nop -+0+49fc <[^>]*> nop -+0+4a00 <[^>]*> nop -+0+4a04 <[^>]*> nop -+0+4a08 <[^>]*> nop -+0+4a0c <[^>]*> nop -+0+4a10 <[^>]*> nop -+0+4a14 <[^>]*> nop -+0+4a18 <[^>]*> nop -+0+4a1c <[^>]*> nop -+0+4a20 <[^>]*> nop -+0+4a24 <[^>]*> nop -+0+4a28 <[^>]*> nop -+0+4a2c <[^>]*> nop -+0+4a30 <[^>]*> nop -+0+4a34 <[^>]*> nop -+0+4a38 <[^>]*> nop -+0+4a3c <[^>]*> nop -+0+4a40 <[^>]*> nop -+0+4a44 <[^>]*> nop -+0+4a48 <[^>]*> nop -+0+4a4c <[^>]*> nop -+0+4a50 <[^>]*> nop -+0+4a54 <[^>]*> nop -+0+4a58 <[^>]*> nop -+0+4a5c <[^>]*> nop -+0+4a60 <[^>]*> nop -+0+4a64 <[^>]*> nop -+0+4a68 <[^>]*> nop -+0+4a6c <[^>]*> nop -+0+4a70 <[^>]*> nop -+0+4a74 <[^>]*> nop -+0+4a78 <[^>]*> nop -+0+4a7c <[^>]*> nop -+0+4a80 <[^>]*> nop -+0+4a84 <[^>]*> nop -+0+4a88 <[^>]*> nop -+0+4a8c <[^>]*> nop -+0+4a90 <[^>]*> nop -+0+4a94 <[^>]*> nop -+0+4a98 <[^>]*> nop -+0+4a9c <[^>]*> nop -+0+4aa0 <[^>]*> nop -+0+4aa4 <[^>]*> nop -+0+4aa8 <[^>]*> nop -+0+4aac <[^>]*> nop -+0+4ab0 <[^>]*> nop -+0+4ab4 <[^>]*> nop -+0+4ab8 <[^>]*> nop -+0+4abc <[^>]*> nop -+0+4ac0 <[^>]*> nop -+0+4ac4 <[^>]*> nop -+0+4ac8 <[^>]*> nop -+0+4acc <[^>]*> nop -+0+4ad0 <[^>]*> nop -+0+4ad4 <[^>]*> nop -+0+4ad8 <[^>]*> nop -+0+4adc <[^>]*> nop -+0+4ae0 <[^>]*> nop -+0+4ae4 <[^>]*> nop -+0+4ae8 <[^>]*> nop -+0+4aec <[^>]*> nop -+0+4af0 <[^>]*> nop -+0+4af4 <[^>]*> nop -+0+4af8 <[^>]*> nop -+0+4afc <[^>]*> nop -+0+4b00 <[^>]*> nop -+0+4b04 <[^>]*> nop -+0+4b08 <[^>]*> nop -+0+4b0c <[^>]*> nop -+0+4b10 <[^>]*> nop -+0+4b14 <[^>]*> nop -+0+4b18 <[^>]*> nop -+0+4b1c <[^>]*> nop -+0+4b20 <[^>]*> nop -+0+4b24 <[^>]*> nop -+0+4b28 <[^>]*> nop -+0+4b2c <[^>]*> nop -+0+4b30 <[^>]*> nop -+0+4b34 <[^>]*> nop -+0+4b38 <[^>]*> nop -+0+4b3c <[^>]*> nop -+0+4b40 <[^>]*> nop -+0+4b44 <[^>]*> nop -+0+4b48 <[^>]*> nop -+0+4b4c <[^>]*> nop -+0+4b50 <[^>]*> nop -+0+4b54 <[^>]*> nop -+0+4b58 <[^>]*> nop -+0+4b5c <[^>]*> nop -+0+4b60 <[^>]*> nop -+0+4b64 <[^>]*> nop -+0+4b68 <[^>]*> nop -+0+4b6c <[^>]*> nop -+0+4b70 <[^>]*> nop -+0+4b74 <[^>]*> nop -+0+4b78 <[^>]*> nop -+0+4b7c <[^>]*> nop -+0+4b80 <[^>]*> nop -+0+4b84 <[^>]*> nop -+0+4b88 <[^>]*> nop -+0+4b8c <[^>]*> nop -+0+4b90 <[^>]*> nop -+0+4b94 <[^>]*> nop -+0+4b98 <[^>]*> nop -+0+4b9c <[^>]*> nop -+0+4ba0 <[^>]*> nop -+0+4ba4 <[^>]*> nop -+0+4ba8 <[^>]*> nop -+0+4bac <[^>]*> nop -+0+4bb0 <[^>]*> nop -+0+4bb4 <[^>]*> nop -+0+4bb8 <[^>]*> nop -+0+4bbc <[^>]*> nop -+0+4bc0 <[^>]*> nop -+0+4bc4 <[^>]*> nop -+0+4bc8 <[^>]*> nop -+0+4bcc <[^>]*> nop -+0+4bd0 <[^>]*> nop -+0+4bd4 <[^>]*> nop -+0+4bd8 <[^>]*> nop -+0+4bdc <[^>]*> nop -+0+4be0 <[^>]*> nop -+0+4be4 <[^>]*> nop -+0+4be8 <[^>]*> nop -+0+4bec <[^>]*> nop -+0+4bf0 <[^>]*> nop -+0+4bf4 <[^>]*> nop -+0+4bf8 <[^>]*> nop -+0+4bfc <[^>]*> nop -+0+4c00 <[^>]*> nop -+0+4c04 <[^>]*> nop -+0+4c08 <[^>]*> nop -+0+4c0c <[^>]*> nop -+0+4c10 <[^>]*> nop -+0+4c14 <[^>]*> nop -+0+4c18 <[^>]*> nop -+0+4c1c <[^>]*> nop -+0+4c20 <[^>]*> nop -+0+4c24 <[^>]*> nop -+0+4c28 <[^>]*> nop -+0+4c2c <[^>]*> nop -+0+4c30 <[^>]*> nop -+0+4c34 <[^>]*> nop -+0+4c38 <[^>]*> nop -+0+4c3c <[^>]*> nop -+0+4c40 <[^>]*> nop -+0+4c44 <[^>]*> nop -+0+4c48 <[^>]*> nop -+0+4c4c <[^>]*> nop -+0+4c50 <[^>]*> nop -+0+4c54 <[^>]*> nop -+0+4c58 <[^>]*> nop -+0+4c5c <[^>]*> nop -+0+4c60 <[^>]*> nop -+0+4c64 <[^>]*> nop -+0+4c68 <[^>]*> nop -+0+4c6c <[^>]*> nop -+0+4c70 <[^>]*> nop -+0+4c74 <[^>]*> nop -+0+4c78 <[^>]*> nop -+0+4c7c <[^>]*> nop -+0+4c80 <[^>]*> nop -+0+4c84 <[^>]*> nop -+0+4c88 <[^>]*> nop -+0+4c8c <[^>]*> nop -+0+4c90 <[^>]*> nop -+0+4c94 <[^>]*> nop -+0+4c98 <[^>]*> nop -+0+4c9c <[^>]*> nop -+0+4ca0 <[^>]*> nop -+0+4ca4 <[^>]*> nop -+0+4ca8 <[^>]*> nop -+0+4cac <[^>]*> nop -+0+4cb0 <[^>]*> nop -+0+4cb4 <[^>]*> nop -+0+4cb8 <[^>]*> nop -+0+4cbc <[^>]*> nop -+0+4cc0 <[^>]*> nop -+0+4cc4 <[^>]*> nop -+0+4cc8 <[^>]*> nop -+0+4ccc <[^>]*> nop -+0+4cd0 <[^>]*> nop -+0+4cd4 <[^>]*> nop -+0+4cd8 <[^>]*> nop -+0+4cdc <[^>]*> nop -+0+4ce0 <[^>]*> nop -+0+4ce4 <[^>]*> nop -+0+4ce8 <[^>]*> nop -+0+4cec <[^>]*> nop -+0+4cf0 <[^>]*> nop -+0+4cf4 <[^>]*> nop -+0+4cf8 <[^>]*> nop -+0+4cfc <[^>]*> nop -+0+4d00 <[^>]*> nop -+0+4d04 <[^>]*> nop -+0+4d08 <[^>]*> nop -+0+4d0c <[^>]*> nop -+0+4d10 <[^>]*> nop -+0+4d14 <[^>]*> nop -+0+4d18 <[^>]*> nop -+0+4d1c <[^>]*> nop -+0+4d20 <[^>]*> nop -+0+4d24 <[^>]*> nop -+0+4d28 <[^>]*> nop -+0+4d2c <[^>]*> nop -+0+4d30 <[^>]*> nop -+0+4d34 <[^>]*> nop -+0+4d38 <[^>]*> nop -+0+4d3c <[^>]*> nop -+0+4d40 <[^>]*> nop -+0+4d44 <[^>]*> nop -+0+4d48 <[^>]*> nop -+0+4d4c <[^>]*> nop -+0+4d50 <[^>]*> nop -+0+4d54 <[^>]*> nop -+0+4d58 <[^>]*> nop -+0+4d5c <[^>]*> nop -+0+4d60 <[^>]*> nop -+0+4d64 <[^>]*> nop -+0+4d68 <[^>]*> nop -+0+4d6c <[^>]*> nop -+0+4d70 <[^>]*> nop -+0+4d74 <[^>]*> nop -+0+4d78 <[^>]*> nop -+0+4d7c <[^>]*> nop -+0+4d80 <[^>]*> nop -+0+4d84 <[^>]*> nop -+0+4d88 <[^>]*> nop -+0+4d8c <[^>]*> nop -+0+4d90 <[^>]*> nop -+0+4d94 <[^>]*> nop -+0+4d98 <[^>]*> nop -+0+4d9c <[^>]*> nop -+0+4da0 <[^>]*> nop -+0+4da4 <[^>]*> nop -+0+4da8 <[^>]*> nop -+0+4dac <[^>]*> nop -+0+4db0 <[^>]*> nop -+0+4db4 <[^>]*> nop -+0+4db8 <[^>]*> nop -+0+4dbc <[^>]*> nop -+0+4dc0 <[^>]*> nop -+0+4dc4 <[^>]*> nop -+0+4dc8 <[^>]*> nop -+0+4dcc <[^>]*> nop -+0+4dd0 <[^>]*> nop -+0+4dd4 <[^>]*> nop -+0+4dd8 <[^>]*> nop -+0+4ddc <[^>]*> nop -+0+4de0 <[^>]*> nop -+0+4de4 <[^>]*> nop -+0+4de8 <[^>]*> nop -+0+4dec <[^>]*> nop -+0+4df0 <[^>]*> nop -+0+4df4 <[^>]*> nop -+0+4df8 <[^>]*> nop -+0+4dfc <[^>]*> nop -+0+4e00 <[^>]*> nop -+0+4e04 <[^>]*> nop -+0+4e08 <[^>]*> nop -+0+4e0c <[^>]*> nop -+0+4e10 <[^>]*> nop -+0+4e14 <[^>]*> nop -+0+4e18 <[^>]*> nop -+0+4e1c <[^>]*> nop -+0+4e20 <[^>]*> nop -+0+4e24 <[^>]*> nop -+0+4e28 <[^>]*> nop -+0+4e2c <[^>]*> nop -+0+4e30 <[^>]*> nop -+0+4e34 <[^>]*> nop -+0+4e38 <[^>]*> nop -+0+4e3c <[^>]*> nop -+0+4e40 <[^>]*> nop -+0+4e44 <[^>]*> nop -+0+4e48 <[^>]*> nop -+0+4e4c <[^>]*> nop -+0+4e50 <[^>]*> nop -+0+4e54 <[^>]*> nop -+0+4e58 <[^>]*> nop -+0+4e5c <[^>]*> nop -+0+4e60 <[^>]*> nop -+0+4e64 <[^>]*> nop -+0+4e68 <[^>]*> nop -+0+4e6c <[^>]*> nop -+0+4e70 <[^>]*> nop -+0+4e74 <[^>]*> nop -+0+4e78 <[^>]*> nop -+0+4e7c <[^>]*> nop -+0+4e80 <[^>]*> nop -+0+4e84 <[^>]*> nop -+0+4e88 <[^>]*> nop -+0+4e8c <[^>]*> nop -+0+4e90 <[^>]*> nop -+0+4e94 <[^>]*> nop -+0+4e98 <[^>]*> nop -+0+4e9c <[^>]*> nop -+0+4ea0 <[^>]*> nop -+0+4ea4 <[^>]*> nop -+0+4ea8 <[^>]*> nop -+0+4eac <[^>]*> nop -+0+4eb0 <[^>]*> nop -+0+4eb4 <[^>]*> nop -+0+4eb8 <[^>]*> nop -+0+4ebc <[^>]*> nop -+0+4ec0 <[^>]*> nop -+0+4ec4 <[^>]*> nop -+0+4ec8 <[^>]*> nop -+0+4ecc <[^>]*> nop -+0+4ed0 <[^>]*> nop -+0+4ed4 <[^>]*> nop -+0+4ed8 <[^>]*> nop -+0+4edc <[^>]*> nop -+0+4ee0 <[^>]*> nop -+0+4ee4 <[^>]*> nop -+0+4ee8 <[^>]*> nop -+0+4eec <[^>]*> nop -+0+4ef0 <[^>]*> nop -+0+4ef4 <[^>]*> nop -+0+4ef8 <[^>]*> nop -+0+4efc <[^>]*> nop -+0+4f00 <[^>]*> nop -+0+4f04 <[^>]*> nop -+0+4f08 <[^>]*> nop -+0+4f0c <[^>]*> nop -+0+4f10 <[^>]*> nop -+0+4f14 <[^>]*> nop -+0+4f18 <[^>]*> nop -+0+4f1c <[^>]*> nop -+0+4f20 <[^>]*> nop -+0+4f24 <[^>]*> nop -+0+4f28 <[^>]*> nop -+0+4f2c <[^>]*> nop -+0+4f30 <[^>]*> nop -+0+4f34 <[^>]*> nop -+0+4f38 <[^>]*> nop -+0+4f3c <[^>]*> nop -+0+4f40 <[^>]*> nop -+0+4f44 <[^>]*> nop -+0+4f48 <[^>]*> nop -+0+4f4c <[^>]*> nop -+0+4f50 <[^>]*> nop -+0+4f54 <[^>]*> nop -+0+4f58 <[^>]*> nop -+0+4f5c <[^>]*> nop -+0+4f60 <[^>]*> nop -+0+4f64 <[^>]*> nop -+0+4f68 <[^>]*> nop -+0+4f6c <[^>]*> nop -+0+4f70 <[^>]*> nop -+0+4f74 <[^>]*> nop -+0+4f78 <[^>]*> nop -+0+4f7c <[^>]*> nop -+0+4f80 <[^>]*> nop -+0+4f84 <[^>]*> nop -+0+4f88 <[^>]*> nop -+0+4f8c <[^>]*> nop -+0+4f90 <[^>]*> nop -+0+4f94 <[^>]*> nop -+0+4f98 <[^>]*> nop -+0+4f9c <[^>]*> nop -+0+4fa0 <[^>]*> nop -+0+4fa4 <[^>]*> nop -+0+4fa8 <[^>]*> nop -+0+4fac <[^>]*> nop -+0+4fb0 <[^>]*> nop -+0+4fb4 <[^>]*> nop -+0+4fb8 <[^>]*> nop -+0+4fbc <[^>]*> nop -+0+4fc0 <[^>]*> nop -+0+4fc4 <[^>]*> nop -+0+4fc8 <[^>]*> nop -+0+4fcc <[^>]*> nop -+0+4fd0 <[^>]*> nop -+0+4fd4 <[^>]*> nop -+0+4fd8 <[^>]*> nop -+0+4fdc <[^>]*> nop -+0+4fe0 <[^>]*> nop -+0+4fe4 <[^>]*> nop -+0+4fe8 <[^>]*> nop -+0+4fec <[^>]*> nop -+0+4ff0 <[^>]*> nop -+0+4ff4 <[^>]*> nop -+0+4ff8 <[^>]*> nop -+0+4ffc <[^>]*> nop -+0+5000 <[^>]*> nop -+0+5004 <[^>]*> nop -+0+5008 <[^>]*> nop -+0+500c <[^>]*> nop -+0+5010 <[^>]*> nop -+0+5014 <[^>]*> nop -+0+5018 <[^>]*> nop -+0+501c <[^>]*> nop -+0+5020 <[^>]*> nop -+0+5024 <[^>]*> nop -+0+5028 <[^>]*> nop -+0+502c <[^>]*> nop -+0+5030 <[^>]*> nop -+0+5034 <[^>]*> nop -+0+5038 <[^>]*> nop -+0+503c <[^>]*> nop -+0+5040 <[^>]*> nop -+0+5044 <[^>]*> nop -+0+5048 <[^>]*> nop -+0+504c <[^>]*> nop -+0+5050 <[^>]*> nop -+0+5054 <[^>]*> nop -+0+5058 <[^>]*> nop -+0+505c <[^>]*> nop -+0+5060 <[^>]*> nop -+0+5064 <[^>]*> nop -+0+5068 <[^>]*> nop -+0+506c <[^>]*> nop -+0+5070 <[^>]*> nop -+0+5074 <[^>]*> nop -+0+5078 <[^>]*> nop -+0+507c <[^>]*> nop -+0+5080 <[^>]*> nop -+0+5084 <[^>]*> nop -+0+5088 <[^>]*> nop -+0+508c <[^>]*> nop -+0+5090 <[^>]*> nop -+0+5094 <[^>]*> nop -+0+5098 <[^>]*> nop -+0+509c <[^>]*> nop -+0+50a0 <[^>]*> nop -+0+50a4 <[^>]*> nop -+0+50a8 <[^>]*> nop -+0+50ac <[^>]*> nop -+0+50b0 <[^>]*> nop -+0+50b4 <[^>]*> nop -+0+50b8 <[^>]*> nop -+0+50bc <[^>]*> nop -+0+50c0 <[^>]*> nop -+0+50c4 <[^>]*> nop -+0+50c8 <[^>]*> nop -+0+50cc <[^>]*> nop -+0+50d0 <[^>]*> nop -+0+50d4 <[^>]*> nop -+0+50d8 <[^>]*> nop -+0+50dc <[^>]*> nop -+0+50e0 <[^>]*> nop -+0+50e4 <[^>]*> nop -+0+50e8 <[^>]*> nop -+0+50ec <[^>]*> nop -+0+50f0 <[^>]*> nop -+0+50f4 <[^>]*> nop -+0+50f8 <[^>]*> nop -+0+50fc <[^>]*> nop -+0+5100 <[^>]*> nop -+0+5104 <[^>]*> nop -+0+5108 <[^>]*> nop -+0+510c <[^>]*> nop -+0+5110 <[^>]*> nop -+0+5114 <[^>]*> nop -+0+5118 <[^>]*> nop -+0+511c <[^>]*> nop -+0+5120 <[^>]*> nop -+0+5124 <[^>]*> nop -+0+5128 <[^>]*> nop -+0+512c <[^>]*> nop -+0+5130 <[^>]*> nop -+0+5134 <[^>]*> nop -+0+5138 <[^>]*> nop -+0+513c <[^>]*> nop -+0+5140 <[^>]*> nop -+0+5144 <[^>]*> nop -+0+5148 <[^>]*> nop -+0+514c <[^>]*> nop -+0+5150 <[^>]*> nop -+0+5154 <[^>]*> nop -+0+5158 <[^>]*> nop -+0+515c <[^>]*> nop -+0+5160 <[^>]*> nop -+0+5164 <[^>]*> nop -+0+5168 <[^>]*> nop -+0+516c <[^>]*> nop -+0+5170 <[^>]*> nop -+0+5174 <[^>]*> nop -+0+5178 <[^>]*> nop -+0+517c <[^>]*> nop -+0+5180 <[^>]*> nop -+0+5184 <[^>]*> nop -+0+5188 <[^>]*> nop -+0+518c <[^>]*> nop -+0+5190 <[^>]*> nop -+0+5194 <[^>]*> nop -+0+5198 <[^>]*> nop -+0+519c <[^>]*> nop -+0+51a0 <[^>]*> nop -+0+51a4 <[^>]*> nop -+0+51a8 <[^>]*> nop -+0+51ac <[^>]*> nop -+0+51b0 <[^>]*> nop -+0+51b4 <[^>]*> nop -+0+51b8 <[^>]*> nop -+0+51bc <[^>]*> nop -+0+51c0 <[^>]*> nop -+0+51c4 <[^>]*> nop -+0+51c8 <[^>]*> nop -+0+51cc <[^>]*> nop -+0+51d0 <[^>]*> nop -+0+51d4 <[^>]*> nop -+0+51d8 <[^>]*> nop -+0+51dc <[^>]*> nop -+0+51e0 <[^>]*> nop -+0+51e4 <[^>]*> nop -+0+51e8 <[^>]*> nop -+0+51ec <[^>]*> nop -+0+51f0 <[^>]*> nop -+0+51f4 <[^>]*> nop -+0+51f8 <[^>]*> nop -+0+51fc <[^>]*> nop -+0+5200 <[^>]*> nop -+0+5204 <[^>]*> nop -+0+5208 <[^>]*> nop -+0+520c <[^>]*> nop -+0+5210 <[^>]*> nop -+0+5214 <[^>]*> nop -+0+5218 <[^>]*> nop -+0+521c <[^>]*> nop -+0+5220 <[^>]*> nop -+0+5224 <[^>]*> nop -+0+5228 <[^>]*> nop -+0+522c <[^>]*> nop -+0+5230 <[^>]*> nop -+0+5234 <[^>]*> nop -+0+5238 <[^>]*> nop -+0+523c <[^>]*> nop -+0+5240 <[^>]*> nop -+0+5244 <[^>]*> nop -+0+5248 <[^>]*> nop -+0+524c <[^>]*> nop -+0+5250 <[^>]*> nop -+0+5254 <[^>]*> nop -+0+5258 <[^>]*> nop -+0+525c <[^>]*> nop -+0+5260 <[^>]*> nop -+0+5264 <[^>]*> nop -+0+5268 <[^>]*> nop -+0+526c <[^>]*> nop -+0+5270 <[^>]*> nop -+0+5274 <[^>]*> nop -+0+5278 <[^>]*> nop -+0+527c <[^>]*> nop -+0+5280 <[^>]*> nop -+0+5284 <[^>]*> nop -+0+5288 <[^>]*> nop -+0+528c <[^>]*> nop -+0+5290 <[^>]*> nop -+0+5294 <[^>]*> nop -+0+5298 <[^>]*> nop -+0+529c <[^>]*> nop -+0+52a0 <[^>]*> nop -+0+52a4 <[^>]*> nop -+0+52a8 <[^>]*> nop -+0+52ac <[^>]*> nop -+0+52b0 <[^>]*> nop -+0+52b4 <[^>]*> nop -+0+52b8 <[^>]*> nop -+0+52bc <[^>]*> nop -+0+52c0 <[^>]*> nop -+0+52c4 <[^>]*> nop -+0+52c8 <[^>]*> nop -+0+52cc <[^>]*> nop -+0+52d0 <[^>]*> nop -+0+52d4 <[^>]*> nop -+0+52d8 <[^>]*> nop -+0+52dc <[^>]*> nop -+0+52e0 <[^>]*> nop -+0+52e4 <[^>]*> nop -+0+52e8 <[^>]*> nop -+0+52ec <[^>]*> nop -+0+52f0 <[^>]*> nop -+0+52f4 <[^>]*> nop -+0+52f8 <[^>]*> nop -+0+52fc <[^>]*> nop -+0+5300 <[^>]*> nop -+0+5304 <[^>]*> nop -+0+5308 <[^>]*> nop -+0+530c <[^>]*> nop -+0+5310 <[^>]*> nop -+0+5314 <[^>]*> nop -+0+5318 <[^>]*> nop -+0+531c <[^>]*> nop -+0+5320 <[^>]*> nop -+0+5324 <[^>]*> nop -+0+5328 <[^>]*> nop -+0+532c <[^>]*> nop -+0+5330 <[^>]*> nop -+0+5334 <[^>]*> nop -+0+5338 <[^>]*> nop -+0+533c <[^>]*> nop -+0+5340 <[^>]*> nop -+0+5344 <[^>]*> nop -+0+5348 <[^>]*> nop -+0+534c <[^>]*> nop -+0+5350 <[^>]*> nop -+0+5354 <[^>]*> nop -+0+5358 <[^>]*> nop -+0+535c <[^>]*> nop -+0+5360 <[^>]*> nop -+0+5364 <[^>]*> nop -+0+5368 <[^>]*> nop -+0+536c <[^>]*> nop -+0+5370 <[^>]*> nop -+0+5374 <[^>]*> nop -+0+5378 <[^>]*> nop -+0+537c <[^>]*> nop -+0+5380 <[^>]*> nop -+0+5384 <[^>]*> nop -+0+5388 <[^>]*> nop -+0+538c <[^>]*> nop -+0+5390 <[^>]*> nop -+0+5394 <[^>]*> nop -+0+5398 <[^>]*> nop -+0+539c <[^>]*> nop -+0+53a0 <[^>]*> nop -+0+53a4 <[^>]*> nop -+0+53a8 <[^>]*> nop -+0+53ac <[^>]*> nop -+0+53b0 <[^>]*> nop -+0+53b4 <[^>]*> nop -+0+53b8 <[^>]*> nop -+0+53bc <[^>]*> nop -+0+53c0 <[^>]*> nop -+0+53c4 <[^>]*> nop -+0+53c8 <[^>]*> nop -+0+53cc <[^>]*> nop -+0+53d0 <[^>]*> nop -+0+53d4 <[^>]*> nop -+0+53d8 <[^>]*> nop -+0+53dc <[^>]*> nop -+0+53e0 <[^>]*> nop -+0+53e4 <[^>]*> nop -+0+53e8 <[^>]*> nop -+0+53ec <[^>]*> nop -+0+53f0 <[^>]*> nop -+0+53f4 <[^>]*> nop -+0+53f8 <[^>]*> nop -+0+53fc <[^>]*> nop -+0+5400 <[^>]*> nop -+0+5404 <[^>]*> nop -+0+5408 <[^>]*> nop -+0+540c <[^>]*> nop -+0+5410 <[^>]*> nop -+0+5414 <[^>]*> nop -+0+5418 <[^>]*> nop -+0+541c <[^>]*> nop -+0+5420 <[^>]*> nop -+0+5424 <[^>]*> nop -+0+5428 <[^>]*> nop -+0+542c <[^>]*> nop -+0+5430 <[^>]*> nop -+0+5434 <[^>]*> nop -+0+5438 <[^>]*> nop -+0+543c <[^>]*> nop -+0+5440 <[^>]*> nop -+0+5444 <[^>]*> nop -+0+5448 <[^>]*> nop -+0+544c <[^>]*> nop -+0+5450 <[^>]*> nop -+0+5454 <[^>]*> nop -+0+5458 <[^>]*> nop -+0+545c <[^>]*> nop -+0+5460 <[^>]*> nop -+0+5464 <[^>]*> nop -+0+5468 <[^>]*> nop -+0+546c <[^>]*> nop -+0+5470 <[^>]*> nop -+0+5474 <[^>]*> nop -+0+5478 <[^>]*> nop -+0+547c <[^>]*> nop -+0+5480 <[^>]*> nop -+0+5484 <[^>]*> nop -+0+5488 <[^>]*> nop -+0+548c <[^>]*> nop -+0+5490 <[^>]*> nop -+0+5494 <[^>]*> nop -+0+5498 <[^>]*> nop -+0+549c <[^>]*> nop -+0+54a0 <[^>]*> nop -+0+54a4 <[^>]*> nop -+0+54a8 <[^>]*> nop -+0+54ac <[^>]*> nop -+0+54b0 <[^>]*> nop -+0+54b4 <[^>]*> nop -+0+54b8 <[^>]*> nop -+0+54bc <[^>]*> nop -+0+54c0 <[^>]*> nop -+0+54c4 <[^>]*> nop -+0+54c8 <[^>]*> nop -+0+54cc <[^>]*> nop -+0+54d0 <[^>]*> nop -+0+54d4 <[^>]*> nop -+0+54d8 <[^>]*> nop -+0+54dc <[^>]*> nop -+0+54e0 <[^>]*> nop -+0+54e4 <[^>]*> nop -+0+54e8 <[^>]*> nop -+0+54ec <[^>]*> nop -+0+54f0 <[^>]*> nop -+0+54f4 <[^>]*> nop -+0+54f8 <[^>]*> nop -+0+54fc <[^>]*> nop -+0+5500 <[^>]*> nop -+0+5504 <[^>]*> nop -+0+5508 <[^>]*> nop -+0+550c <[^>]*> nop -+0+5510 <[^>]*> nop -+0+5514 <[^>]*> nop -+0+5518 <[^>]*> nop -+0+551c <[^>]*> nop -+0+5520 <[^>]*> nop -+0+5524 <[^>]*> nop -+0+5528 <[^>]*> nop -+0+552c <[^>]*> nop -+0+5530 <[^>]*> nop -+0+5534 <[^>]*> nop -+0+5538 <[^>]*> nop -+0+553c <[^>]*> nop -+0+5540 <[^>]*> nop -+0+5544 <[^>]*> nop -+0+5548 <[^>]*> nop -+0+554c <[^>]*> nop -+0+5550 <[^>]*> nop -+0+5554 <[^>]*> nop -+0+5558 <[^>]*> nop -+0+555c <[^>]*> nop -+0+5560 <[^>]*> nop -+0+5564 <[^>]*> nop -+0+5568 <[^>]*> nop -+0+556c <[^>]*> nop -+0+5570 <[^>]*> nop -+0+5574 <[^>]*> nop -+0+5578 <[^>]*> nop -+0+557c <[^>]*> nop -+0+5580 <[^>]*> nop -+0+5584 <[^>]*> nop -+0+5588 <[^>]*> nop -+0+558c <[^>]*> nop -+0+5590 <[^>]*> nop -+0+5594 <[^>]*> nop -+0+5598 <[^>]*> nop -+0+559c <[^>]*> nop -+0+55a0 <[^>]*> nop -+0+55a4 <[^>]*> nop -+0+55a8 <[^>]*> nop -+0+55ac <[^>]*> nop -+0+55b0 <[^>]*> nop -+0+55b4 <[^>]*> nop -+0+55b8 <[^>]*> nop -+0+55bc <[^>]*> nop -+0+55c0 <[^>]*> nop -+0+55c4 <[^>]*> nop -+0+55c8 <[^>]*> nop -+0+55cc <[^>]*> nop -+0+55d0 <[^>]*> nop -+0+55d4 <[^>]*> nop -+0+55d8 <[^>]*> nop -+0+55dc <[^>]*> nop -+0+55e0 <[^>]*> nop -+0+55e4 <[^>]*> nop -+0+55e8 <[^>]*> nop -+0+55ec <[^>]*> nop -+0+55f0 <[^>]*> nop -+0+55f4 <[^>]*> nop -+0+55f8 <[^>]*> nop -+0+55fc <[^>]*> nop -+0+5600 <[^>]*> nop -+0+5604 <[^>]*> nop -+0+5608 <[^>]*> nop -+0+560c <[^>]*> nop -+0+5610 <[^>]*> nop -+0+5614 <[^>]*> nop -+0+5618 <[^>]*> nop -+0+561c <[^>]*> nop -+0+5620 <[^>]*> nop -+0+5624 <[^>]*> nop -+0+5628 <[^>]*> nop -+0+562c <[^>]*> nop -+0+5630 <[^>]*> nop -+0+5634 <[^>]*> nop -+0+5638 <[^>]*> nop -+0+563c <[^>]*> nop -+0+5640 <[^>]*> nop -+0+5644 <[^>]*> nop -+0+5648 <[^>]*> nop -+0+564c <[^>]*> nop -+0+5650 <[^>]*> nop -+0+5654 <[^>]*> nop -+0+5658 <[^>]*> nop -+0+565c <[^>]*> nop -+0+5660 <[^>]*> nop -+0+5664 <[^>]*> nop -+0+5668 <[^>]*> nop -+0+566c <[^>]*> nop -+0+5670 <[^>]*> nop -+0+5674 <[^>]*> nop -+0+5678 <[^>]*> nop -+0+567c <[^>]*> nop -+0+5680 <[^>]*> nop -+0+5684 <[^>]*> nop -+0+5688 <[^>]*> nop -+0+568c <[^>]*> nop -+0+5690 <[^>]*> nop -+0+5694 <[^>]*> nop -+0+5698 <[^>]*> nop -+0+569c <[^>]*> nop -+0+56a0 <[^>]*> nop -+0+56a4 <[^>]*> nop -+0+56a8 <[^>]*> nop -+0+56ac <[^>]*> nop -+0+56b0 <[^>]*> nop -+0+56b4 <[^>]*> nop -+0+56b8 <[^>]*> nop -+0+56bc <[^>]*> nop -+0+56c0 <[^>]*> nop -+0+56c4 <[^>]*> nop -+0+56c8 <[^>]*> nop -+0+56cc <[^>]*> nop -+0+56d0 <[^>]*> nop -+0+56d4 <[^>]*> nop -+0+56d8 <[^>]*> nop -+0+56dc <[^>]*> nop -+0+56e0 <[^>]*> nop -+0+56e4 <[^>]*> nop -+0+56e8 <[^>]*> nop -+0+56ec <[^>]*> nop -+0+56f0 <[^>]*> nop -+0+56f4 <[^>]*> nop -+0+56f8 <[^>]*> nop -+0+56fc <[^>]*> nop -+0+5700 <[^>]*> nop -+0+5704 <[^>]*> nop -+0+5708 <[^>]*> nop -+0+570c <[^>]*> nop -+0+5710 <[^>]*> nop -+0+5714 <[^>]*> nop -+0+5718 <[^>]*> nop -+0+571c <[^>]*> nop -+0+5720 <[^>]*> nop -+0+5724 <[^>]*> nop -+0+5728 <[^>]*> nop -+0+572c <[^>]*> nop -+0+5730 <[^>]*> nop -+0+5734 <[^>]*> nop -+0+5738 <[^>]*> nop -+0+573c <[^>]*> nop -+0+5740 <[^>]*> nop -+0+5744 <[^>]*> nop -+0+5748 <[^>]*> nop -+0+574c <[^>]*> nop -+0+5750 <[^>]*> nop -+0+5754 <[^>]*> nop -+0+5758 <[^>]*> nop -+0+575c <[^>]*> nop -+0+5760 <[^>]*> nop -+0+5764 <[^>]*> nop -+0+5768 <[^>]*> nop -+0+576c <[^>]*> nop -+0+5770 <[^>]*> nop -+0+5774 <[^>]*> nop -+0+5778 <[^>]*> nop -+0+577c <[^>]*> nop -+0+5780 <[^>]*> nop -+0+5784 <[^>]*> nop -+0+5788 <[^>]*> nop -+0+578c <[^>]*> nop -+0+5790 <[^>]*> nop -+0+5794 <[^>]*> nop -+0+5798 <[^>]*> nop -+0+579c <[^>]*> nop -+0+57a0 <[^>]*> nop -+0+57a4 <[^>]*> nop -+0+57a8 <[^>]*> nop -+0+57ac <[^>]*> nop -+0+57b0 <[^>]*> nop -+0+57b4 <[^>]*> nop -+0+57b8 <[^>]*> nop -+0+57bc <[^>]*> nop -+0+57c0 <[^>]*> nop -+0+57c4 <[^>]*> nop -+0+57c8 <[^>]*> nop -+0+57cc <[^>]*> nop -+0+57d0 <[^>]*> nop -+0+57d4 <[^>]*> nop -+0+57d8 <[^>]*> nop -+0+57dc <[^>]*> nop -+0+57e0 <[^>]*> nop -+0+57e4 <[^>]*> nop -+0+57e8 <[^>]*> nop -+0+57ec <[^>]*> nop -+0+57f0 <[^>]*> nop -+0+57f4 <[^>]*> nop -+0+57f8 <[^>]*> nop -+0+57fc <[^>]*> nop -+0+5800 <[^>]*> nop -+0+5804 <[^>]*> nop -+0+5808 <[^>]*> nop -+0+580c <[^>]*> nop -+0+5810 <[^>]*> nop -+0+5814 <[^>]*> nop -+0+5818 <[^>]*> nop -+0+581c <[^>]*> nop -+0+5820 <[^>]*> nop -+0+5824 <[^>]*> nop -+0+5828 <[^>]*> nop -+0+582c <[^>]*> nop -+0+5830 <[^>]*> nop -+0+5834 <[^>]*> nop -+0+5838 <[^>]*> nop -+0+583c <[^>]*> nop -+0+5840 <[^>]*> nop -+0+5844 <[^>]*> nop -+0+5848 <[^>]*> nop -+0+584c <[^>]*> nop -+0+5850 <[^>]*> nop -+0+5854 <[^>]*> nop -+0+5858 <[^>]*> nop -+0+585c <[^>]*> nop -+0+5860 <[^>]*> nop -+0+5864 <[^>]*> nop -+0+5868 <[^>]*> nop -+0+586c <[^>]*> nop -+0+5870 <[^>]*> nop -+0+5874 <[^>]*> nop -+0+5878 <[^>]*> nop -+0+587c <[^>]*> nop -+0+5880 <[^>]*> nop -+0+5884 <[^>]*> nop -+0+5888 <[^>]*> nop -+0+588c <[^>]*> nop -+0+5890 <[^>]*> nop -+0+5894 <[^>]*> nop -+0+5898 <[^>]*> nop -+0+589c <[^>]*> nop -+0+58a0 <[^>]*> nop -+0+58a4 <[^>]*> nop -+0+58a8 <[^>]*> nop -+0+58ac <[^>]*> nop -+0+58b0 <[^>]*> nop -+0+58b4 <[^>]*> nop -+0+58b8 <[^>]*> nop -+0+58bc <[^>]*> nop -+0+58c0 <[^>]*> nop -+0+58c4 <[^>]*> nop -+0+58c8 <[^>]*> nop -+0+58cc <[^>]*> nop -+0+58d0 <[^>]*> nop -+0+58d4 <[^>]*> nop -+0+58d8 <[^>]*> nop -+0+58dc <[^>]*> nop -+0+58e0 <[^>]*> nop -+0+58e4 <[^>]*> nop -+0+58e8 <[^>]*> nop -+0+58ec <[^>]*> nop -+0+58f0 <[^>]*> nop -+0+58f4 <[^>]*> nop -+0+58f8 <[^>]*> nop -+0+58fc <[^>]*> nop -+0+5900 <[^>]*> nop -+0+5904 <[^>]*> nop -+0+5908 <[^>]*> nop -+0+590c <[^>]*> nop -+0+5910 <[^>]*> nop -+0+5914 <[^>]*> nop -+0+5918 <[^>]*> nop -+0+591c <[^>]*> nop -+0+5920 <[^>]*> nop -+0+5924 <[^>]*> nop -+0+5928 <[^>]*> nop -+0+592c <[^>]*> nop -+0+5930 <[^>]*> nop -+0+5934 <[^>]*> nop -+0+5938 <[^>]*> nop -+0+593c <[^>]*> nop -+0+5940 <[^>]*> nop -+0+5944 <[^>]*> nop -+0+5948 <[^>]*> nop -+0+594c <[^>]*> nop -+0+5950 <[^>]*> nop -+0+5954 <[^>]*> nop -+0+5958 <[^>]*> nop -+0+595c <[^>]*> nop -+0+5960 <[^>]*> nop -+0+5964 <[^>]*> nop -+0+5968 <[^>]*> nop -+0+596c <[^>]*> nop -+0+5970 <[^>]*> nop -+0+5974 <[^>]*> nop -+0+5978 <[^>]*> nop -+0+597c <[^>]*> nop -+0+5980 <[^>]*> nop -+0+5984 <[^>]*> nop -+0+5988 <[^>]*> nop -+0+598c <[^>]*> nop -+0+5990 <[^>]*> nop -+0+5994 <[^>]*> nop -+0+5998 <[^>]*> nop -+0+599c <[^>]*> nop -+0+59a0 <[^>]*> nop -+0+59a4 <[^>]*> nop -+0+59a8 <[^>]*> nop -+0+59ac <[^>]*> nop -+0+59b0 <[^>]*> nop -+0+59b4 <[^>]*> nop -+0+59b8 <[^>]*> nop -+0+59bc <[^>]*> nop -+0+59c0 <[^>]*> nop -+0+59c4 <[^>]*> nop -+0+59c8 <[^>]*> nop -+0+59cc <[^>]*> nop -+0+59d0 <[^>]*> nop -+0+59d4 <[^>]*> nop -+0+59d8 <[^>]*> nop -+0+59dc <[^>]*> nop -+0+59e0 <[^>]*> nop -+0+59e4 <[^>]*> nop -+0+59e8 <[^>]*> nop -+0+59ec <[^>]*> nop -+0+59f0 <[^>]*> nop -+0+59f4 <[^>]*> nop -+0+59f8 <[^>]*> nop -+0+59fc <[^>]*> nop -+0+5a00 <[^>]*> nop -+0+5a04 <[^>]*> nop -+0+5a08 <[^>]*> nop -+0+5a0c <[^>]*> nop -+0+5a10 <[^>]*> nop -+0+5a14 <[^>]*> nop -+0+5a18 <[^>]*> nop -+0+5a1c <[^>]*> nop -+0+5a20 <[^>]*> nop -+0+5a24 <[^>]*> nop -+0+5a28 <[^>]*> nop -+0+5a2c <[^>]*> nop -+0+5a30 <[^>]*> nop -+0+5a34 <[^>]*> nop -+0+5a38 <[^>]*> nop -+0+5a3c <[^>]*> nop -+0+5a40 <[^>]*> nop -+0+5a44 <[^>]*> nop -+0+5a48 <[^>]*> nop -+0+5a4c <[^>]*> nop -+0+5a50 <[^>]*> nop -+0+5a54 <[^>]*> nop -+0+5a58 <[^>]*> nop -+0+5a5c <[^>]*> nop -+0+5a60 <[^>]*> nop -+0+5a64 <[^>]*> nop -+0+5a68 <[^>]*> nop -+0+5a6c <[^>]*> nop -+0+5a70 <[^>]*> nop -+0+5a74 <[^>]*> nop -+0+5a78 <[^>]*> nop -+0+5a7c <[^>]*> nop -+0+5a80 <[^>]*> nop -+0+5a84 <[^>]*> nop -+0+5a88 <[^>]*> nop -+0+5a8c <[^>]*> nop -+0+5a90 <[^>]*> nop -+0+5a94 <[^>]*> nop -+0+5a98 <[^>]*> nop -+0+5a9c <[^>]*> nop -+0+5aa0 <[^>]*> nop -+0+5aa4 <[^>]*> nop -+0+5aa8 <[^>]*> nop -+0+5aac <[^>]*> nop -+0+5ab0 <[^>]*> nop -+0+5ab4 <[^>]*> nop -+0+5ab8 <[^>]*> nop -+0+5abc <[^>]*> nop -+0+5ac0 <[^>]*> nop -+0+5ac4 <[^>]*> nop -+0+5ac8 <[^>]*> nop -+0+5acc <[^>]*> nop -+0+5ad0 <[^>]*> nop -+0+5ad4 <[^>]*> nop -+0+5ad8 <[^>]*> nop -+0+5adc <[^>]*> nop -+0+5ae0 <[^>]*> nop -+0+5ae4 <[^>]*> nop -+0+5ae8 <[^>]*> nop -+0+5aec <[^>]*> nop -+0+5af0 <[^>]*> nop -+0+5af4 <[^>]*> nop -+0+5af8 <[^>]*> nop -+0+5afc <[^>]*> nop -+0+5b00 <[^>]*> nop -+0+5b04 <[^>]*> nop -+0+5b08 <[^>]*> nop -+0+5b0c <[^>]*> nop -+0+5b10 <[^>]*> nop -+0+5b14 <[^>]*> nop -+0+5b18 <[^>]*> nop -+0+5b1c <[^>]*> nop -+0+5b20 <[^>]*> nop -+0+5b24 <[^>]*> nop -+0+5b28 <[^>]*> nop -+0+5b2c <[^>]*> nop -+0+5b30 <[^>]*> nop -+0+5b34 <[^>]*> nop -+0+5b38 <[^>]*> nop -+0+5b3c <[^>]*> nop -+0+5b40 <[^>]*> nop -+0+5b44 <[^>]*> nop -+0+5b48 <[^>]*> nop -+0+5b4c <[^>]*> nop -+0+5b50 <[^>]*> nop -+0+5b54 <[^>]*> nop -+0+5b58 <[^>]*> nop -+0+5b5c <[^>]*> nop -+0+5b60 <[^>]*> nop -+0+5b64 <[^>]*> nop -+0+5b68 <[^>]*> nop -+0+5b6c <[^>]*> nop -+0+5b70 <[^>]*> nop -+0+5b74 <[^>]*> nop -+0+5b78 <[^>]*> nop -+0+5b7c <[^>]*> nop -+0+5b80 <[^>]*> nop -+0+5b84 <[^>]*> nop -+0+5b88 <[^>]*> nop -+0+5b8c <[^>]*> nop -+0+5b90 <[^>]*> nop -+0+5b94 <[^>]*> nop -+0+5b98 <[^>]*> nop -+0+5b9c <[^>]*> nop -+0+5ba0 <[^>]*> nop -+0+5ba4 <[^>]*> nop -+0+5ba8 <[^>]*> nop -+0+5bac <[^>]*> nop -+0+5bb0 <[^>]*> nop -+0+5bb4 <[^>]*> nop -+0+5bb8 <[^>]*> nop -+0+5bbc <[^>]*> nop -+0+5bc0 <[^>]*> nop -+0+5bc4 <[^>]*> nop -+0+5bc8 <[^>]*> nop -+0+5bcc <[^>]*> nop -+0+5bd0 <[^>]*> nop -+0+5bd4 <[^>]*> nop -+0+5bd8 <[^>]*> nop -+0+5bdc <[^>]*> nop -+0+5be0 <[^>]*> nop -+0+5be4 <[^>]*> nop -+0+5be8 <[^>]*> nop -+0+5bec <[^>]*> nop -+0+5bf0 <[^>]*> nop -+0+5bf4 <[^>]*> nop -+0+5bf8 <[^>]*> nop -+0+5bfc <[^>]*> nop -+0+5c00 <[^>]*> nop -+0+5c04 <[^>]*> nop -+0+5c08 <[^>]*> nop -+0+5c0c <[^>]*> nop -+0+5c10 <[^>]*> nop -+0+5c14 <[^>]*> nop -+0+5c18 <[^>]*> nop -+0+5c1c <[^>]*> nop -+0+5c20 <[^>]*> nop -+0+5c24 <[^>]*> nop -+0+5c28 <[^>]*> nop -+0+5c2c <[^>]*> nop -+0+5c30 <[^>]*> nop -+0+5c34 <[^>]*> nop -+0+5c38 <[^>]*> nop -+0+5c3c <[^>]*> nop -+0+5c40 <[^>]*> nop -+0+5c44 <[^>]*> nop -+0+5c48 <[^>]*> nop -+0+5c4c <[^>]*> nop -+0+5c50 <[^>]*> nop -+0+5c54 <[^>]*> nop -+0+5c58 <[^>]*> nop -+0+5c5c <[^>]*> nop -+0+5c60 <[^>]*> nop -+0+5c64 <[^>]*> nop -+0+5c68 <[^>]*> nop -+0+5c6c <[^>]*> nop -+0+5c70 <[^>]*> nop -+0+5c74 <[^>]*> nop -+0+5c78 <[^>]*> nop -+0+5c7c <[^>]*> nop -+0+5c80 <[^>]*> nop -+0+5c84 <[^>]*> nop -+0+5c88 <[^>]*> nop -+0+5c8c <[^>]*> nop -+0+5c90 <[^>]*> nop -+0+5c94 <[^>]*> nop -+0+5c98 <[^>]*> nop -+0+5c9c <[^>]*> nop -+0+5ca0 <[^>]*> nop -+0+5ca4 <[^>]*> nop -+0+5ca8 <[^>]*> nop -+0+5cac <[^>]*> nop -+0+5cb0 <[^>]*> nop -+0+5cb4 <[^>]*> nop -+0+5cb8 <[^>]*> nop -+0+5cbc <[^>]*> nop -+0+5cc0 <[^>]*> nop -+0+5cc4 <[^>]*> nop -+0+5cc8 <[^>]*> nop -+0+5ccc <[^>]*> nop -+0+5cd0 <[^>]*> nop -+0+5cd4 <[^>]*> nop -+0+5cd8 <[^>]*> nop -+0+5cdc <[^>]*> nop -+0+5ce0 <[^>]*> nop -+0+5ce4 <[^>]*> nop -+0+5ce8 <[^>]*> nop -+0+5cec <[^>]*> nop -+0+5cf0 <[^>]*> nop -+0+5cf4 <[^>]*> nop -+0+5cf8 <[^>]*> nop -+0+5cfc <[^>]*> nop -+0+5d00 <[^>]*> nop -+0+5d04 <[^>]*> nop -+0+5d08 <[^>]*> nop -+0+5d0c <[^>]*> nop -+0+5d10 <[^>]*> nop -+0+5d14 <[^>]*> nop -+0+5d18 <[^>]*> nop -+0+5d1c <[^>]*> nop -+0+5d20 <[^>]*> nop -+0+5d24 <[^>]*> nop -+0+5d28 <[^>]*> nop -+0+5d2c <[^>]*> nop -+0+5d30 <[^>]*> nop -+0+5d34 <[^>]*> nop -+0+5d38 <[^>]*> nop -+0+5d3c <[^>]*> nop -+0+5d40 <[^>]*> nop -+0+5d44 <[^>]*> nop -+0+5d48 <[^>]*> nop -+0+5d4c <[^>]*> nop -+0+5d50 <[^>]*> nop -+0+5d54 <[^>]*> nop -+0+5d58 <[^>]*> nop -+0+5d5c <[^>]*> nop -+0+5d60 <[^>]*> nop -+0+5d64 <[^>]*> nop -+0+5d68 <[^>]*> nop -+0+5d6c <[^>]*> nop -+0+5d70 <[^>]*> nop -+0+5d74 <[^>]*> nop -+0+5d78 <[^>]*> nop -+0+5d7c <[^>]*> nop -+0+5d80 <[^>]*> nop -+0+5d84 <[^>]*> nop -+0+5d88 <[^>]*> nop -+0+5d8c <[^>]*> nop -+0+5d90 <[^>]*> nop -+0+5d94 <[^>]*> nop -+0+5d98 <[^>]*> nop -+0+5d9c <[^>]*> nop -+0+5da0 <[^>]*> nop -+0+5da4 <[^>]*> nop -+0+5da8 <[^>]*> nop -+0+5dac <[^>]*> nop -+0+5db0 <[^>]*> nop -+0+5db4 <[^>]*> nop -+0+5db8 <[^>]*> nop -+0+5dbc <[^>]*> nop -+0+5dc0 <[^>]*> nop -+0+5dc4 <[^>]*> nop -+0+5dc8 <[^>]*> nop -+0+5dcc <[^>]*> nop -+0+5dd0 <[^>]*> nop -+0+5dd4 <[^>]*> nop -+0+5dd8 <[^>]*> nop -+0+5ddc <[^>]*> nop -+0+5de0 <[^>]*> nop -+0+5de4 <[^>]*> nop -+0+5de8 <[^>]*> nop -+0+5dec <[^>]*> nop -+0+5df0 <[^>]*> nop -+0+5df4 <[^>]*> nop -+0+5df8 <[^>]*> nop -+0+5dfc <[^>]*> nop -+0+5e00 <[^>]*> nop -+0+5e04 <[^>]*> nop -+0+5e08 <[^>]*> nop -+0+5e0c <[^>]*> nop -+0+5e10 <[^>]*> nop -+0+5e14 <[^>]*> nop -+0+5e18 <[^>]*> nop -+0+5e1c <[^>]*> nop -+0+5e20 <[^>]*> nop -+0+5e24 <[^>]*> nop -+0+5e28 <[^>]*> nop -+0+5e2c <[^>]*> nop -+0+5e30 <[^>]*> nop -+0+5e34 <[^>]*> nop -+0+5e38 <[^>]*> nop -+0+5e3c <[^>]*> nop -+0+5e40 <[^>]*> nop -+0+5e44 <[^>]*> nop -+0+5e48 <[^>]*> nop -+0+5e4c <[^>]*> nop -+0+5e50 <[^>]*> nop -+0+5e54 <[^>]*> nop -+0+5e58 <[^>]*> nop -+0+5e5c <[^>]*> nop -+0+5e60 <[^>]*> nop -+0+5e64 <[^>]*> nop -+0+5e68 <[^>]*> nop -+0+5e6c <[^>]*> nop -+0+5e70 <[^>]*> nop -+0+5e74 <[^>]*> nop -+0+5e78 <[^>]*> nop -+0+5e7c <[^>]*> nop -+0+5e80 <[^>]*> nop -+0+5e84 <[^>]*> nop -+0+5e88 <[^>]*> nop -+0+5e8c <[^>]*> nop -+0+5e90 <[^>]*> nop -+0+5e94 <[^>]*> nop -+0+5e98 <[^>]*> nop -+0+5e9c <[^>]*> nop -+0+5ea0 <[^>]*> nop -+0+5ea4 <[^>]*> nop -+0+5ea8 <[^>]*> nop -+0+5eac <[^>]*> nop -+0+5eb0 <[^>]*> nop -+0+5eb4 <[^>]*> nop -+0+5eb8 <[^>]*> nop -+0+5ebc <[^>]*> nop -+0+5ec0 <[^>]*> nop -+0+5ec4 <[^>]*> nop -+0+5ec8 <[^>]*> nop -+0+5ecc <[^>]*> nop -+0+5ed0 <[^>]*> nop -+0+5ed4 <[^>]*> nop -+0+5ed8 <[^>]*> nop -+0+5edc <[^>]*> nop -+0+5ee0 <[^>]*> nop -+0+5ee4 <[^>]*> nop -+0+5ee8 <[^>]*> nop -+0+5eec <[^>]*> nop -+0+5ef0 <[^>]*> nop -+0+5ef4 <[^>]*> nop -+0+5ef8 <[^>]*> nop -+0+5efc <[^>]*> nop -+0+5f00 <[^>]*> nop -+0+5f04 <[^>]*> nop -+0+5f08 <[^>]*> nop -+0+5f0c <[^>]*> nop -+0+5f10 <[^>]*> nop -+0+5f14 <[^>]*> nop -+0+5f18 <[^>]*> nop -+0+5f1c <[^>]*> nop -+0+5f20 <[^>]*> nop -+0+5f24 <[^>]*> nop -+0+5f28 <[^>]*> nop -+0+5f2c <[^>]*> nop -+0+5f30 <[^>]*> nop -+0+5f34 <[^>]*> nop -+0+5f38 <[^>]*> nop -+0+5f3c <[^>]*> nop -+0+5f40 <[^>]*> nop -+0+5f44 <[^>]*> nop -+0+5f48 <[^>]*> nop -+0+5f4c <[^>]*> nop -+0+5f50 <[^>]*> nop -+0+5f54 <[^>]*> nop -+0+5f58 <[^>]*> nop -+0+5f5c <[^>]*> nop -+0+5f60 <[^>]*> nop -+0+5f64 <[^>]*> nop -+0+5f68 <[^>]*> nop -+0+5f6c <[^>]*> nop -+0+5f70 <[^>]*> nop -+0+5f74 <[^>]*> nop -+0+5f78 <[^>]*> nop -+0+5f7c <[^>]*> nop -+0+5f80 <[^>]*> nop -+0+5f84 <[^>]*> nop -+0+5f88 <[^>]*> nop -+0+5f8c <[^>]*> nop -+0+5f90 <[^>]*> nop -+0+5f94 <[^>]*> nop -+0+5f98 <[^>]*> nop -+0+5f9c <[^>]*> nop -+0+5fa0 <[^>]*> nop -+0+5fa4 <[^>]*> nop -+0+5fa8 <[^>]*> nop -+0+5fac <[^>]*> nop -+0+5fb0 <[^>]*> nop -+0+5fb4 <[^>]*> nop -+0+5fb8 <[^>]*> nop -+0+5fbc <[^>]*> nop -+0+5fc0 <[^>]*> nop -+0+5fc4 <[^>]*> nop -+0+5fc8 <[^>]*> nop -+0+5fcc <[^>]*> nop -+0+5fd0 <[^>]*> nop -+0+5fd4 <[^>]*> nop -+0+5fd8 <[^>]*> nop -+0+5fdc <[^>]*> nop -+0+5fe0 <[^>]*> nop -+0+5fe4 <[^>]*> nop -+0+5fe8 <[^>]*> nop -+0+5fec <[^>]*> nop -+0+5ff0 <[^>]*> nop -+0+5ff4 <[^>]*> nop -+0+5ff8 <[^>]*> nop -+0+5ffc <[^>]*> nop -+0+6000 <[^>]*> nop -+0+6004 <[^>]*> nop -+0+6008 <[^>]*> nop -+0+600c <[^>]*> nop -+0+6010 <[^>]*> nop -+0+6014 <[^>]*> nop -+0+6018 <[^>]*> nop -+0+601c <[^>]*> nop -+0+6020 <[^>]*> nop -+0+6024 <[^>]*> nop -+0+6028 <[^>]*> nop -+0+602c <[^>]*> nop -+0+6030 <[^>]*> nop -+0+6034 <[^>]*> nop -+0+6038 <[^>]*> nop -+0+603c <[^>]*> nop -+0+6040 <[^>]*> nop -+0+6044 <[^>]*> nop -+0+6048 <[^>]*> nop -+0+604c <[^>]*> nop -+0+6050 <[^>]*> nop -+0+6054 <[^>]*> nop -+0+6058 <[^>]*> nop -+0+605c <[^>]*> nop -+0+6060 <[^>]*> nop -+0+6064 <[^>]*> nop -+0+6068 <[^>]*> nop -+0+606c <[^>]*> nop -+0+6070 <[^>]*> nop -+0+6074 <[^>]*> nop -+0+6078 <[^>]*> nop -+0+607c <[^>]*> nop -+0+6080 <[^>]*> nop -+0+6084 <[^>]*> nop -+0+6088 <[^>]*> nop -+0+608c <[^>]*> nop -+0+6090 <[^>]*> nop -+0+6094 <[^>]*> nop -+0+6098 <[^>]*> nop -+0+609c <[^>]*> nop -+0+60a0 <[^>]*> nop -+0+60a4 <[^>]*> nop -+0+60a8 <[^>]*> nop -+0+60ac <[^>]*> nop -+0+60b0 <[^>]*> nop -+0+60b4 <[^>]*> nop -+0+60b8 <[^>]*> nop -+0+60bc <[^>]*> nop -+0+60c0 <[^>]*> nop -+0+60c4 <[^>]*> nop -+0+60c8 <[^>]*> nop -+0+60cc <[^>]*> nop -+0+60d0 <[^>]*> nop -+0+60d4 <[^>]*> nop -+0+60d8 <[^>]*> nop -+0+60dc <[^>]*> nop -+0+60e0 <[^>]*> nop -+0+60e4 <[^>]*> nop -+0+60e8 <[^>]*> nop -+0+60ec <[^>]*> nop -+0+60f0 <[^>]*> nop -+0+60f4 <[^>]*> nop -+0+60f8 <[^>]*> nop -+0+60fc <[^>]*> nop -+0+6100 <[^>]*> nop -+0+6104 <[^>]*> nop -+0+6108 <[^>]*> nop -+0+610c <[^>]*> nop -+0+6110 <[^>]*> nop -+0+6114 <[^>]*> nop -+0+6118 <[^>]*> nop -+0+611c <[^>]*> nop -+0+6120 <[^>]*> nop -+0+6124 <[^>]*> nop -+0+6128 <[^>]*> nop -+0+612c <[^>]*> nop -+0+6130 <[^>]*> nop -+0+6134 <[^>]*> nop -+0+6138 <[^>]*> nop -+0+613c <[^>]*> nop -+0+6140 <[^>]*> nop -+0+6144 <[^>]*> nop -+0+6148 <[^>]*> nop -+0+614c <[^>]*> nop -+0+6150 <[^>]*> nop -+0+6154 <[^>]*> nop -+0+6158 <[^>]*> nop -+0+615c <[^>]*> nop -+0+6160 <[^>]*> nop -+0+6164 <[^>]*> nop -+0+6168 <[^>]*> nop -+0+616c <[^>]*> nop -+0+6170 <[^>]*> nop -+0+6174 <[^>]*> nop -+0+6178 <[^>]*> nop -+0+617c <[^>]*> nop -+0+6180 <[^>]*> nop -+0+6184 <[^>]*> nop -+0+6188 <[^>]*> nop -+0+618c <[^>]*> nop -+0+6190 <[^>]*> nop -+0+6194 <[^>]*> nop -+0+6198 <[^>]*> nop -+0+619c <[^>]*> nop -+0+61a0 <[^>]*> nop -+0+61a4 <[^>]*> nop -+0+61a8 <[^>]*> nop -+0+61ac <[^>]*> nop -+0+61b0 <[^>]*> nop -+0+61b4 <[^>]*> nop -+0+61b8 <[^>]*> nop -+0+61bc <[^>]*> nop -+0+61c0 <[^>]*> nop -+0+61c4 <[^>]*> nop -+0+61c8 <[^>]*> nop -+0+61cc <[^>]*> nop -+0+61d0 <[^>]*> nop -+0+61d4 <[^>]*> nop -+0+61d8 <[^>]*> nop -+0+61dc <[^>]*> nop -+0+61e0 <[^>]*> nop -+0+61e4 <[^>]*> nop -+0+61e8 <[^>]*> nop -+0+61ec <[^>]*> nop -+0+61f0 <[^>]*> nop -+0+61f4 <[^>]*> nop -+0+61f8 <[^>]*> nop -+0+61fc <[^>]*> nop -+0+6200 <[^>]*> nop -+0+6204 <[^>]*> nop -+0+6208 <[^>]*> nop -+0+620c <[^>]*> nop -+0+6210 <[^>]*> nop -+0+6214 <[^>]*> nop -+0+6218 <[^>]*> nop -+0+621c <[^>]*> nop -+0+6220 <[^>]*> nop -+0+6224 <[^>]*> nop -+0+6228 <[^>]*> nop -+0+622c <[^>]*> nop -+0+6230 <[^>]*> nop -+0+6234 <[^>]*> nop -+0+6238 <[^>]*> nop -+0+623c <[^>]*> nop -+0+6240 <[^>]*> nop -+0+6244 <[^>]*> nop -+0+6248 <[^>]*> nop -+0+624c <[^>]*> nop -+0+6250 <[^>]*> nop -+0+6254 <[^>]*> nop -+0+6258 <[^>]*> nop -+0+625c <[^>]*> nop -+0+6260 <[^>]*> nop -+0+6264 <[^>]*> nop -+0+6268 <[^>]*> nop -+0+626c <[^>]*> nop -+0+6270 <[^>]*> nop -+0+6274 <[^>]*> nop -+0+6278 <[^>]*> nop -+0+627c <[^>]*> nop -+0+6280 <[^>]*> nop -+0+6284 <[^>]*> nop -+0+6288 <[^>]*> nop -+0+628c <[^>]*> nop -+0+6290 <[^>]*> nop -+0+6294 <[^>]*> nop -+0+6298 <[^>]*> nop -+0+629c <[^>]*> nop -+0+62a0 <[^>]*> nop -+0+62a4 <[^>]*> nop -+0+62a8 <[^>]*> nop -+0+62ac <[^>]*> nop -+0+62b0 <[^>]*> nop -+0+62b4 <[^>]*> nop -+0+62b8 <[^>]*> nop -+0+62bc <[^>]*> nop -+0+62c0 <[^>]*> nop -+0+62c4 <[^>]*> nop -+0+62c8 <[^>]*> nop -+0+62cc <[^>]*> nop -+0+62d0 <[^>]*> nop -+0+62d4 <[^>]*> nop -+0+62d8 <[^>]*> nop -+0+62dc <[^>]*> nop -+0+62e0 <[^>]*> nop -+0+62e4 <[^>]*> nop -+0+62e8 <[^>]*> nop -+0+62ec <[^>]*> nop -+0+62f0 <[^>]*> nop -+0+62f4 <[^>]*> nop -+0+62f8 <[^>]*> nop -+0+62fc <[^>]*> nop -+0+6300 <[^>]*> nop -+0+6304 <[^>]*> nop -+0+6308 <[^>]*> nop -+0+630c <[^>]*> nop -+0+6310 <[^>]*> nop -+0+6314 <[^>]*> nop -+0+6318 <[^>]*> nop -+0+631c <[^>]*> nop -+0+6320 <[^>]*> nop -+0+6324 <[^>]*> nop -+0+6328 <[^>]*> nop -+0+632c <[^>]*> nop -+0+6330 <[^>]*> nop -+0+6334 <[^>]*> nop -+0+6338 <[^>]*> nop -+0+633c <[^>]*> nop -+0+6340 <[^>]*> nop -+0+6344 <[^>]*> nop -+0+6348 <[^>]*> nop -+0+634c <[^>]*> nop -+0+6350 <[^>]*> nop -+0+6354 <[^>]*> nop -+0+6358 <[^>]*> nop -+0+635c <[^>]*> nop -+0+6360 <[^>]*> nop -+0+6364 <[^>]*> nop -+0+6368 <[^>]*> nop -+0+636c <[^>]*> nop -+0+6370 <[^>]*> nop -+0+6374 <[^>]*> nop -+0+6378 <[^>]*> nop -+0+637c <[^>]*> nop -+0+6380 <[^>]*> nop -+0+6384 <[^>]*> nop -+0+6388 <[^>]*> nop -+0+638c <[^>]*> nop -+0+6390 <[^>]*> nop -+0+6394 <[^>]*> nop -+0+6398 <[^>]*> nop -+0+639c <[^>]*> nop -+0+63a0 <[^>]*> nop -+0+63a4 <[^>]*> nop -+0+63a8 <[^>]*> nop -+0+63ac <[^>]*> nop -+0+63b0 <[^>]*> nop -+0+63b4 <[^>]*> nop -+0+63b8 <[^>]*> nop -+0+63bc <[^>]*> nop -+0+63c0 <[^>]*> nop -+0+63c4 <[^>]*> nop -+0+63c8 <[^>]*> nop -+0+63cc <[^>]*> nop -+0+63d0 <[^>]*> nop -+0+63d4 <[^>]*> nop -+0+63d8 <[^>]*> nop -+0+63dc <[^>]*> nop -+0+63e0 <[^>]*> nop -+0+63e4 <[^>]*> nop -+0+63e8 <[^>]*> nop -+0+63ec <[^>]*> nop -+0+63f0 <[^>]*> nop -+0+63f4 <[^>]*> nop -+0+63f8 <[^>]*> nop -+0+63fc <[^>]*> nop -+0+6400 <[^>]*> nop -+0+6404 <[^>]*> nop -+0+6408 <[^>]*> nop -+0+640c <[^>]*> nop -+0+6410 <[^>]*> nop -+0+6414 <[^>]*> nop -+0+6418 <[^>]*> nop -+0+641c <[^>]*> nop -+0+6420 <[^>]*> nop -+0+6424 <[^>]*> nop -+0+6428 <[^>]*> nop -+0+642c <[^>]*> nop -+0+6430 <[^>]*> nop -+0+6434 <[^>]*> nop -+0+6438 <[^>]*> nop -+0+643c <[^>]*> nop -+0+6440 <[^>]*> nop -+0+6444 <[^>]*> nop -+0+6448 <[^>]*> nop -+0+644c <[^>]*> nop -+0+6450 <[^>]*> nop -+0+6454 <[^>]*> nop -+0+6458 <[^>]*> nop -+0+645c <[^>]*> nop -+0+6460 <[^>]*> nop -+0+6464 <[^>]*> nop -+0+6468 <[^>]*> nop -+0+646c <[^>]*> nop -+0+6470 <[^>]*> nop -+0+6474 <[^>]*> nop -+0+6478 <[^>]*> nop -+0+647c <[^>]*> nop -+0+6480 <[^>]*> nop -+0+6484 <[^>]*> nop -+0+6488 <[^>]*> nop -+0+648c <[^>]*> nop -+0+6490 <[^>]*> nop -+0+6494 <[^>]*> nop -+0+6498 <[^>]*> nop -+0+649c <[^>]*> nop -+0+64a0 <[^>]*> nop -+0+64a4 <[^>]*> nop -+0+64a8 <[^>]*> nop -+0+64ac <[^>]*> nop -+0+64b0 <[^>]*> nop -+0+64b4 <[^>]*> nop -+0+64b8 <[^>]*> nop -+0+64bc <[^>]*> nop -+0+64c0 <[^>]*> nop -+0+64c4 <[^>]*> nop -+0+64c8 <[^>]*> nop -+0+64cc <[^>]*> nop -+0+64d0 <[^>]*> nop -+0+64d4 <[^>]*> nop -+0+64d8 <[^>]*> nop -+0+64dc <[^>]*> nop -+0+64e0 <[^>]*> nop -+0+64e4 <[^>]*> nop -+0+64e8 <[^>]*> nop -+0+64ec <[^>]*> nop -+0+64f0 <[^>]*> nop -+0+64f4 <[^>]*> nop -+0+64f8 <[^>]*> nop -+0+64fc <[^>]*> nop -+0+6500 <[^>]*> nop -+0+6504 <[^>]*> nop -+0+6508 <[^>]*> nop -+0+650c <[^>]*> nop -+0+6510 <[^>]*> nop -+0+6514 <[^>]*> nop -+0+6518 <[^>]*> nop -+0+651c <[^>]*> nop -+0+6520 <[^>]*> nop -+0+6524 <[^>]*> nop -+0+6528 <[^>]*> nop -+0+652c <[^>]*> nop -+0+6530 <[^>]*> nop -+0+6534 <[^>]*> nop -+0+6538 <[^>]*> nop -+0+653c <[^>]*> nop -+0+6540 <[^>]*> nop -+0+6544 <[^>]*> nop -+0+6548 <[^>]*> nop -+0+654c <[^>]*> nop -+0+6550 <[^>]*> nop -+0+6554 <[^>]*> nop -+0+6558 <[^>]*> nop -+0+655c <[^>]*> nop -+0+6560 <[^>]*> nop -+0+6564 <[^>]*> nop -+0+6568 <[^>]*> nop -+0+656c <[^>]*> nop -+0+6570 <[^>]*> nop -+0+6574 <[^>]*> nop -+0+6578 <[^>]*> nop -+0+657c <[^>]*> nop -+0+6580 <[^>]*> nop -+0+6584 <[^>]*> nop -+0+6588 <[^>]*> nop -+0+658c <[^>]*> nop -+0+6590 <[^>]*> nop -+0+6594 <[^>]*> nop -+0+6598 <[^>]*> nop -+0+659c <[^>]*> nop -+0+65a0 <[^>]*> nop -+0+65a4 <[^>]*> nop -+0+65a8 <[^>]*> nop -+0+65ac <[^>]*> nop -+0+65b0 <[^>]*> nop -+0+65b4 <[^>]*> nop -+0+65b8 <[^>]*> nop -+0+65bc <[^>]*> nop -+0+65c0 <[^>]*> nop -+0+65c4 <[^>]*> nop -+0+65c8 <[^>]*> nop -+0+65cc <[^>]*> nop -+0+65d0 <[^>]*> nop -+0+65d4 <[^>]*> nop -+0+65d8 <[^>]*> nop -+0+65dc <[^>]*> nop -+0+65e0 <[^>]*> nop -+0+65e4 <[^>]*> nop -+0+65e8 <[^>]*> nop -+0+65ec <[^>]*> nop -+0+65f0 <[^>]*> nop -+0+65f4 <[^>]*> nop -+0+65f8 <[^>]*> nop -+0+65fc <[^>]*> nop -+0+6600 <[^>]*> nop -+0+6604 <[^>]*> nop -+0+6608 <[^>]*> nop -+0+660c <[^>]*> nop -+0+6610 <[^>]*> nop -+0+6614 <[^>]*> nop -+0+6618 <[^>]*> nop -+0+661c <[^>]*> nop -+0+6620 <[^>]*> nop -+0+6624 <[^>]*> nop -+0+6628 <[^>]*> nop -+0+662c <[^>]*> nop -+0+6630 <[^>]*> nop -+0+6634 <[^>]*> nop -+0+6638 <[^>]*> nop -+0+663c <[^>]*> nop -+0+6640 <[^>]*> nop -+0+6644 <[^>]*> nop -+0+6648 <[^>]*> nop -+0+664c <[^>]*> nop -+0+6650 <[^>]*> nop -+0+6654 <[^>]*> nop -+0+6658 <[^>]*> nop -+0+665c <[^>]*> nop -+0+6660 <[^>]*> nop -+0+6664 <[^>]*> nop -+0+6668 <[^>]*> nop -+0+666c <[^>]*> nop -+0+6670 <[^>]*> nop -+0+6674 <[^>]*> nop -+0+6678 <[^>]*> nop -+0+667c <[^>]*> nop -+0+6680 <[^>]*> nop -+0+6684 <[^>]*> nop -+0+6688 <[^>]*> nop -+0+668c <[^>]*> nop -+0+6690 <[^>]*> nop -+0+6694 <[^>]*> nop -+0+6698 <[^>]*> nop -+0+669c <[^>]*> nop -+0+66a0 <[^>]*> nop -+0+66a4 <[^>]*> nop -+0+66a8 <[^>]*> nop -+0+66ac <[^>]*> nop -+0+66b0 <[^>]*> nop -+0+66b4 <[^>]*> nop -+0+66b8 <[^>]*> nop -+0+66bc <[^>]*> nop -+0+66c0 <[^>]*> nop -+0+66c4 <[^>]*> nop -+0+66c8 <[^>]*> nop -+0+66cc <[^>]*> nop -+0+66d0 <[^>]*> nop -+0+66d4 <[^>]*> nop -+0+66d8 <[^>]*> nop -+0+66dc <[^>]*> nop -+0+66e0 <[^>]*> nop -+0+66e4 <[^>]*> nop -+0+66e8 <[^>]*> nop -+0+66ec <[^>]*> nop -+0+66f0 <[^>]*> nop -+0+66f4 <[^>]*> nop -+0+66f8 <[^>]*> nop -+0+66fc <[^>]*> nop -+0+6700 <[^>]*> nop -+0+6704 <[^>]*> nop -+0+6708 <[^>]*> nop -+0+670c <[^>]*> nop -+0+6710 <[^>]*> nop -+0+6714 <[^>]*> nop -+0+6718 <[^>]*> nop -+0+671c <[^>]*> nop -+0+6720 <[^>]*> nop -+0+6724 <[^>]*> nop -+0+6728 <[^>]*> nop -+0+672c <[^>]*> nop -+0+6730 <[^>]*> nop -+0+6734 <[^>]*> nop -+0+6738 <[^>]*> nop -+0+673c <[^>]*> nop -+0+6740 <[^>]*> nop -+0+6744 <[^>]*> nop -+0+6748 <[^>]*> nop -+0+674c <[^>]*> nop -+0+6750 <[^>]*> nop -+0+6754 <[^>]*> nop -+0+6758 <[^>]*> nop -+0+675c <[^>]*> nop -+0+6760 <[^>]*> nop -+0+6764 <[^>]*> nop -+0+6768 <[^>]*> nop -+0+676c <[^>]*> nop -+0+6770 <[^>]*> nop -+0+6774 <[^>]*> nop -+0+6778 <[^>]*> nop -+0+677c <[^>]*> nop -+0+6780 <[^>]*> nop -+0+6784 <[^>]*> nop -+0+6788 <[^>]*> nop -+0+678c <[^>]*> nop -+0+6790 <[^>]*> nop -+0+6794 <[^>]*> nop -+0+6798 <[^>]*> nop -+0+679c <[^>]*> nop -+0+67a0 <[^>]*> nop -+0+67a4 <[^>]*> nop -+0+67a8 <[^>]*> nop -+0+67ac <[^>]*> nop -+0+67b0 <[^>]*> nop -+0+67b4 <[^>]*> nop -+0+67b8 <[^>]*> nop -+0+67bc <[^>]*> nop -+0+67c0 <[^>]*> nop -+0+67c4 <[^>]*> nop -+0+67c8 <[^>]*> nop -+0+67cc <[^>]*> nop -+0+67d0 <[^>]*> nop -+0+67d4 <[^>]*> nop -+0+67d8 <[^>]*> nop -+0+67dc <[^>]*> nop -+0+67e0 <[^>]*> nop -+0+67e4 <[^>]*> nop -+0+67e8 <[^>]*> nop -+0+67ec <[^>]*> nop -+0+67f0 <[^>]*> nop -+0+67f4 <[^>]*> nop -+0+67f8 <[^>]*> nop -+0+67fc <[^>]*> nop -+0+6800 <[^>]*> nop -+0+6804 <[^>]*> nop -+0+6808 <[^>]*> nop -+0+680c <[^>]*> nop -+0+6810 <[^>]*> nop -+0+6814 <[^>]*> nop -+0+6818 <[^>]*> nop -+0+681c <[^>]*> nop -+0+6820 <[^>]*> nop -+0+6824 <[^>]*> nop -+0+6828 <[^>]*> nop -+0+682c <[^>]*> nop -+0+6830 <[^>]*> nop -+0+6834 <[^>]*> nop -+0+6838 <[^>]*> nop -+0+683c <[^>]*> nop -+0+6840 <[^>]*> nop -+0+6844 <[^>]*> nop -+0+6848 <[^>]*> nop -+0+684c <[^>]*> nop -+0+6850 <[^>]*> nop -+0+6854 <[^>]*> nop -+0+6858 <[^>]*> nop -+0+685c <[^>]*> nop -+0+6860 <[^>]*> nop -+0+6864 <[^>]*> nop -+0+6868 <[^>]*> nop -+0+686c <[^>]*> nop -+0+6870 <[^>]*> nop -+0+6874 <[^>]*> nop -+0+6878 <[^>]*> nop -+0+687c <[^>]*> nop -+0+6880 <[^>]*> nop -+0+6884 <[^>]*> nop -+0+6888 <[^>]*> nop -+0+688c <[^>]*> nop -+0+6890 <[^>]*> nop -+0+6894 <[^>]*> nop -+0+6898 <[^>]*> nop -+0+689c <[^>]*> nop -+0+68a0 <[^>]*> nop -+0+68a4 <[^>]*> nop -+0+68a8 <[^>]*> nop -+0+68ac <[^>]*> nop -+0+68b0 <[^>]*> nop -+0+68b4 <[^>]*> nop -+0+68b8 <[^>]*> nop -+0+68bc <[^>]*> nop -+0+68c0 <[^>]*> nop -+0+68c4 <[^>]*> nop -+0+68c8 <[^>]*> nop -+0+68cc <[^>]*> nop -+0+68d0 <[^>]*> nop -+0+68d4 <[^>]*> nop -+0+68d8 <[^>]*> nop -+0+68dc <[^>]*> nop -+0+68e0 <[^>]*> nop -+0+68e4 <[^>]*> nop -+0+68e8 <[^>]*> nop -+0+68ec <[^>]*> nop -+0+68f0 <[^>]*> nop -+0+68f4 <[^>]*> nop -+0+68f8 <[^>]*> nop -+0+68fc <[^>]*> nop -+0+6900 <[^>]*> nop -+0+6904 <[^>]*> nop -+0+6908 <[^>]*> nop -+0+690c <[^>]*> nop -+0+6910 <[^>]*> nop -+0+6914 <[^>]*> nop -+0+6918 <[^>]*> nop -+0+691c <[^>]*> nop -+0+6920 <[^>]*> nop -+0+6924 <[^>]*> nop -+0+6928 <[^>]*> nop -+0+692c <[^>]*> nop -+0+6930 <[^>]*> nop -+0+6934 <[^>]*> nop -+0+6938 <[^>]*> nop -+0+693c <[^>]*> nop -+0+6940 <[^>]*> nop -+0+6944 <[^>]*> nop -+0+6948 <[^>]*> nop -+0+694c <[^>]*> nop -+0+6950 <[^>]*> nop -+0+6954 <[^>]*> nop -+0+6958 <[^>]*> nop -+0+695c <[^>]*> nop -+0+6960 <[^>]*> nop -+0+6964 <[^>]*> nop -+0+6968 <[^>]*> nop -+0+696c <[^>]*> nop -+0+6970 <[^>]*> nop -+0+6974 <[^>]*> nop -+0+6978 <[^>]*> nop -+0+697c <[^>]*> nop -+0+6980 <[^>]*> nop -+0+6984 <[^>]*> nop -+0+6988 <[^>]*> nop -+0+698c <[^>]*> nop -+0+6990 <[^>]*> nop -+0+6994 <[^>]*> nop -+0+6998 <[^>]*> nop -+0+699c <[^>]*> nop -+0+69a0 <[^>]*> nop -+0+69a4 <[^>]*> nop -+0+69a8 <[^>]*> nop -+0+69ac <[^>]*> nop -+0+69b0 <[^>]*> nop -+0+69b4 <[^>]*> nop -+0+69b8 <[^>]*> nop -+0+69bc <[^>]*> nop -+0+69c0 <[^>]*> nop -+0+69c4 <[^>]*> nop -+0+69c8 <[^>]*> nop -+0+69cc <[^>]*> nop -+0+69d0 <[^>]*> nop -+0+69d4 <[^>]*> nop -+0+69d8 <[^>]*> nop -+0+69dc <[^>]*> nop -+0+69e0 <[^>]*> nop -+0+69e4 <[^>]*> nop -+0+69e8 <[^>]*> nop -+0+69ec <[^>]*> nop -+0+69f0 <[^>]*> nop -+0+69f4 <[^>]*> nop -+0+69f8 <[^>]*> nop -+0+69fc <[^>]*> nop -+0+6a00 <[^>]*> nop -+0+6a04 <[^>]*> nop -+0+6a08 <[^>]*> nop -+0+6a0c <[^>]*> nop -+0+6a10 <[^>]*> nop -+0+6a14 <[^>]*> nop -+0+6a18 <[^>]*> nop -+0+6a1c <[^>]*> nop -+0+6a20 <[^>]*> nop -+0+6a24 <[^>]*> nop -+0+6a28 <[^>]*> nop -+0+6a2c <[^>]*> nop -+0+6a30 <[^>]*> nop -+0+6a34 <[^>]*> nop -+0+6a38 <[^>]*> nop -+0+6a3c <[^>]*> nop -+0+6a40 <[^>]*> nop -+0+6a44 <[^>]*> nop -+0+6a48 <[^>]*> nop -+0+6a4c <[^>]*> nop -+0+6a50 <[^>]*> nop -+0+6a54 <[^>]*> nop -+0+6a58 <[^>]*> nop -+0+6a5c <[^>]*> nop -+0+6a60 <[^>]*> nop -+0+6a64 <[^>]*> nop -+0+6a68 <[^>]*> nop -+0+6a6c <[^>]*> nop -+0+6a70 <[^>]*> nop -+0+6a74 <[^>]*> nop -+0+6a78 <[^>]*> nop -+0+6a7c <[^>]*> nop -+0+6a80 <[^>]*> nop -+0+6a84 <[^>]*> nop -+0+6a88 <[^>]*> nop -+0+6a8c <[^>]*> nop -+0+6a90 <[^>]*> nop -+0+6a94 <[^>]*> nop -+0+6a98 <[^>]*> nop -+0+6a9c <[^>]*> nop -+0+6aa0 <[^>]*> nop -+0+6aa4 <[^>]*> nop -+0+6aa8 <[^>]*> nop -+0+6aac <[^>]*> nop -+0+6ab0 <[^>]*> nop -+0+6ab4 <[^>]*> nop -+0+6ab8 <[^>]*> nop -+0+6abc <[^>]*> nop -+0+6ac0 <[^>]*> nop -+0+6ac4 <[^>]*> nop -+0+6ac8 <[^>]*> nop -+0+6acc <[^>]*> nop -+0+6ad0 <[^>]*> nop -+0+6ad4 <[^>]*> nop -+0+6ad8 <[^>]*> nop -+0+6adc <[^>]*> nop -+0+6ae0 <[^>]*> nop -+0+6ae4 <[^>]*> nop -+0+6ae8 <[^>]*> nop -+0+6aec <[^>]*> nop -+0+6af0 <[^>]*> nop -+0+6af4 <[^>]*> nop -+0+6af8 <[^>]*> nop -+0+6afc <[^>]*> nop -+0+6b00 <[^>]*> nop -+0+6b04 <[^>]*> nop -+0+6b08 <[^>]*> nop -+0+6b0c <[^>]*> nop -+0+6b10 <[^>]*> nop -+0+6b14 <[^>]*> nop -+0+6b18 <[^>]*> nop -+0+6b1c <[^>]*> nop -+0+6b20 <[^>]*> nop -+0+6b24 <[^>]*> nop -+0+6b28 <[^>]*> nop -+0+6b2c <[^>]*> nop -+0+6b30 <[^>]*> nop -+0+6b34 <[^>]*> nop -+0+6b38 <[^>]*> nop -+0+6b3c <[^>]*> nop -+0+6b40 <[^>]*> nop -+0+6b44 <[^>]*> nop -+0+6b48 <[^>]*> nop -+0+6b4c <[^>]*> nop -+0+6b50 <[^>]*> nop -+0+6b54 <[^>]*> nop -+0+6b58 <[^>]*> nop -+0+6b5c <[^>]*> nop -+0+6b60 <[^>]*> nop -+0+6b64 <[^>]*> nop -+0+6b68 <[^>]*> nop -+0+6b6c <[^>]*> nop -+0+6b70 <[^>]*> nop -+0+6b74 <[^>]*> nop -+0+6b78 <[^>]*> nop -+0+6b7c <[^>]*> nop -+0+6b80 <[^>]*> nop -+0+6b84 <[^>]*> nop -+0+6b88 <[^>]*> nop -+0+6b8c <[^>]*> nop -+0+6b90 <[^>]*> nop -+0+6b94 <[^>]*> nop -+0+6b98 <[^>]*> nop -+0+6b9c <[^>]*> nop -+0+6ba0 <[^>]*> nop -+0+6ba4 <[^>]*> nop -+0+6ba8 <[^>]*> nop -+0+6bac <[^>]*> nop -+0+6bb0 <[^>]*> nop -+0+6bb4 <[^>]*> nop -+0+6bb8 <[^>]*> nop -+0+6bbc <[^>]*> nop -+0+6bc0 <[^>]*> nop -+0+6bc4 <[^>]*> nop -+0+6bc8 <[^>]*> nop -+0+6bcc <[^>]*> nop -+0+6bd0 <[^>]*> nop -+0+6bd4 <[^>]*> nop -+0+6bd8 <[^>]*> nop -+0+6bdc <[^>]*> nop -+0+6be0 <[^>]*> nop -+0+6be4 <[^>]*> nop -+0+6be8 <[^>]*> nop -+0+6bec <[^>]*> nop -+0+6bf0 <[^>]*> nop -+0+6bf4 <[^>]*> nop -+0+6bf8 <[^>]*> nop -+0+6bfc <[^>]*> nop -+0+6c00 <[^>]*> nop -+0+6c04 <[^>]*> nop -+0+6c08 <[^>]*> nop -+0+6c0c <[^>]*> nop -+0+6c10 <[^>]*> nop -+0+6c14 <[^>]*> nop -+0+6c18 <[^>]*> nop -+0+6c1c <[^>]*> nop -+0+6c20 <[^>]*> nop -+0+6c24 <[^>]*> nop -+0+6c28 <[^>]*> nop -+0+6c2c <[^>]*> nop -+0+6c30 <[^>]*> nop -+0+6c34 <[^>]*> nop -+0+6c38 <[^>]*> nop -+0+6c3c <[^>]*> nop -+0+6c40 <[^>]*> nop -+0+6c44 <[^>]*> nop -+0+6c48 <[^>]*> nop -+0+6c4c <[^>]*> nop -+0+6c50 <[^>]*> nop -+0+6c54 <[^>]*> nop -+0+6c58 <[^>]*> nop -+0+6c5c <[^>]*> nop -+0+6c60 <[^>]*> nop -+0+6c64 <[^>]*> nop -+0+6c68 <[^>]*> nop -+0+6c6c <[^>]*> nop -+0+6c70 <[^>]*> nop -+0+6c74 <[^>]*> nop -+0+6c78 <[^>]*> nop -+0+6c7c <[^>]*> nop -+0+6c80 <[^>]*> nop -+0+6c84 <[^>]*> nop -+0+6c88 <[^>]*> nop -+0+6c8c <[^>]*> nop -+0+6c90 <[^>]*> nop -+0+6c94 <[^>]*> nop -+0+6c98 <[^>]*> nop -+0+6c9c <[^>]*> nop -+0+6ca0 <[^>]*> nop -+0+6ca4 <[^>]*> nop -+0+6ca8 <[^>]*> nop -+0+6cac <[^>]*> nop -+0+6cb0 <[^>]*> nop -+0+6cb4 <[^>]*> nop -+0+6cb8 <[^>]*> nop -+0+6cbc <[^>]*> nop -+0+6cc0 <[^>]*> nop -+0+6cc4 <[^>]*> nop -+0+6cc8 <[^>]*> nop -+0+6ccc <[^>]*> nop -+0+6cd0 <[^>]*> nop -+0+6cd4 <[^>]*> nop -+0+6cd8 <[^>]*> nop -+0+6cdc <[^>]*> nop -+0+6ce0 <[^>]*> nop -+0+6ce4 <[^>]*> nop -+0+6ce8 <[^>]*> nop -+0+6cec <[^>]*> nop -+0+6cf0 <[^>]*> nop -+0+6cf4 <[^>]*> nop -+0+6cf8 <[^>]*> nop -+0+6cfc <[^>]*> nop -+0+6d00 <[^>]*> nop -+0+6d04 <[^>]*> nop -+0+6d08 <[^>]*> nop -+0+6d0c <[^>]*> nop -+0+6d10 <[^>]*> nop -+0+6d14 <[^>]*> nop -+0+6d18 <[^>]*> nop -+0+6d1c <[^>]*> nop -+0+6d20 <[^>]*> nop -+0+6d24 <[^>]*> nop -+0+6d28 <[^>]*> nop -+0+6d2c <[^>]*> nop -+0+6d30 <[^>]*> nop -+0+6d34 <[^>]*> nop -+0+6d38 <[^>]*> nop -+0+6d3c <[^>]*> nop -+0+6d40 <[^>]*> nop -+0+6d44 <[^>]*> nop -+0+6d48 <[^>]*> nop -+0+6d4c <[^>]*> nop -+0+6d50 <[^>]*> nop -+0+6d54 <[^>]*> nop -+0+6d58 <[^>]*> nop -+0+6d5c <[^>]*> nop -+0+6d60 <[^>]*> nop -+0+6d64 <[^>]*> nop -+0+6d68 <[^>]*> nop -+0+6d6c <[^>]*> nop -+0+6d70 <[^>]*> nop -+0+6d74 <[^>]*> nop -+0+6d78 <[^>]*> nop -+0+6d7c <[^>]*> nop -+0+6d80 <[^>]*> nop -+0+6d84 <[^>]*> nop -+0+6d88 <[^>]*> nop -+0+6d8c <[^>]*> nop -+0+6d90 <[^>]*> nop -+0+6d94 <[^>]*> nop -+0+6d98 <[^>]*> nop -+0+6d9c <[^>]*> nop -+0+6da0 <[^>]*> nop -+0+6da4 <[^>]*> nop -+0+6da8 <[^>]*> nop -+0+6dac <[^>]*> nop -+0+6db0 <[^>]*> nop -+0+6db4 <[^>]*> nop -+0+6db8 <[^>]*> nop -+0+6dbc <[^>]*> nop -+0+6dc0 <[^>]*> nop -+0+6dc4 <[^>]*> nop -+0+6dc8 <[^>]*> nop -+0+6dcc <[^>]*> nop -+0+6dd0 <[^>]*> nop -+0+6dd4 <[^>]*> nop -+0+6dd8 <[^>]*> nop -+0+6ddc <[^>]*> nop -+0+6de0 <[^>]*> nop -+0+6de4 <[^>]*> nop -+0+6de8 <[^>]*> nop -+0+6dec <[^>]*> nop -+0+6df0 <[^>]*> nop -+0+6df4 <[^>]*> nop -+0+6df8 <[^>]*> nop -+0+6dfc <[^>]*> nop -+0+6e00 <[^>]*> nop -+0+6e04 <[^>]*> nop -+0+6e08 <[^>]*> nop -+0+6e0c <[^>]*> nop -+0+6e10 <[^>]*> nop -+0+6e14 <[^>]*> nop -+0+6e18 <[^>]*> nop -+0+6e1c <[^>]*> nop -+0+6e20 <[^>]*> nop -+0+6e24 <[^>]*> nop -+0+6e28 <[^>]*> nop -+0+6e2c <[^>]*> nop -+0+6e30 <[^>]*> nop -+0+6e34 <[^>]*> nop -+0+6e38 <[^>]*> nop -+0+6e3c <[^>]*> nop -+0+6e40 <[^>]*> nop -+0+6e44 <[^>]*> nop -+0+6e48 <[^>]*> nop -+0+6e4c <[^>]*> nop -+0+6e50 <[^>]*> nop -+0+6e54 <[^>]*> nop -+0+6e58 <[^>]*> nop -+0+6e5c <[^>]*> nop -+0+6e60 <[^>]*> nop -+0+6e64 <[^>]*> nop -+0+6e68 <[^>]*> nop -+0+6e6c <[^>]*> nop -+0+6e70 <[^>]*> nop -+0+6e74 <[^>]*> nop -+0+6e78 <[^>]*> nop -+0+6e7c <[^>]*> nop -+0+6e80 <[^>]*> nop -+0+6e84 <[^>]*> nop -+0+6e88 <[^>]*> nop -+0+6e8c <[^>]*> nop -+0+6e90 <[^>]*> nop -+0+6e94 <[^>]*> nop -+0+6e98 <[^>]*> nop -+0+6e9c <[^>]*> nop -+0+6ea0 <[^>]*> nop -+0+6ea4 <[^>]*> nop -+0+6ea8 <[^>]*> nop -+0+6eac <[^>]*> nop -+0+6eb0 <[^>]*> nop -+0+6eb4 <[^>]*> nop -+0+6eb8 <[^>]*> nop -+0+6ebc <[^>]*> nop -+0+6ec0 <[^>]*> nop -+0+6ec4 <[^>]*> nop -+0+6ec8 <[^>]*> nop -+0+6ecc <[^>]*> nop -+0+6ed0 <[^>]*> nop -+0+6ed4 <[^>]*> nop -+0+6ed8 <[^>]*> nop -+0+6edc <[^>]*> nop -+0+6ee0 <[^>]*> nop -+0+6ee4 <[^>]*> nop -+0+6ee8 <[^>]*> nop -+0+6eec <[^>]*> nop -+0+6ef0 <[^>]*> nop -+0+6ef4 <[^>]*> nop -+0+6ef8 <[^>]*> nop -+0+6efc <[^>]*> nop -+0+6f00 <[^>]*> nop -+0+6f04 <[^>]*> nop -+0+6f08 <[^>]*> nop -+0+6f0c <[^>]*> nop -+0+6f10 <[^>]*> nop -+0+6f14 <[^>]*> nop -+0+6f18 <[^>]*> nop -+0+6f1c <[^>]*> nop -+0+6f20 <[^>]*> nop -+0+6f24 <[^>]*> nop -+0+6f28 <[^>]*> nop -+0+6f2c <[^>]*> nop -+0+6f30 <[^>]*> nop -+0+6f34 <[^>]*> nop -+0+6f38 <[^>]*> nop -+0+6f3c <[^>]*> nop -+0+6f40 <[^>]*> nop -+0+6f44 <[^>]*> nop -+0+6f48 <[^>]*> nop -+0+6f4c <[^>]*> nop -+0+6f50 <[^>]*> nop -+0+6f54 <[^>]*> nop -+0+6f58 <[^>]*> nop -+0+6f5c <[^>]*> nop -+0+6f60 <[^>]*> nop -+0+6f64 <[^>]*> nop -+0+6f68 <[^>]*> nop -+0+6f6c <[^>]*> nop -+0+6f70 <[^>]*> nop -+0+6f74 <[^>]*> nop -+0+6f78 <[^>]*> nop -+0+6f7c <[^>]*> nop -+0+6f80 <[^>]*> nop -+0+6f84 <[^>]*> nop -+0+6f88 <[^>]*> nop -+0+6f8c <[^>]*> nop -+0+6f90 <[^>]*> nop -+0+6f94 <[^>]*> nop -+0+6f98 <[^>]*> nop -+0+6f9c <[^>]*> nop -+0+6fa0 <[^>]*> nop -+0+6fa4 <[^>]*> nop -+0+6fa8 <[^>]*> nop -+0+6fac <[^>]*> nop -+0+6fb0 <[^>]*> nop -+0+6fb4 <[^>]*> nop -+0+6fb8 <[^>]*> nop -+0+6fbc <[^>]*> nop -+0+6fc0 <[^>]*> nop -+0+6fc4 <[^>]*> nop -+0+6fc8 <[^>]*> nop -+0+6fcc <[^>]*> nop -+0+6fd0 <[^>]*> nop -+0+6fd4 <[^>]*> nop -+0+6fd8 <[^>]*> nop -+0+6fdc <[^>]*> nop -+0+6fe0 <[^>]*> nop -+0+6fe4 <[^>]*> nop -+0+6fe8 <[^>]*> nop -+0+6fec <[^>]*> nop -+0+6ff0 <[^>]*> nop -+0+6ff4 <[^>]*> nop -+0+6ff8 <[^>]*> nop -+0+6ffc <[^>]*> nop -+0+7000 <[^>]*> nop -+0+7004 <[^>]*> nop -+0+7008 <[^>]*> nop -+0+700c <[^>]*> nop -+0+7010 <[^>]*> nop -+0+7014 <[^>]*> nop -+0+7018 <[^>]*> nop -+0+701c <[^>]*> nop -+0+7020 <[^>]*> nop -+0+7024 <[^>]*> nop -+0+7028 <[^>]*> nop -+0+702c <[^>]*> nop -+0+7030 <[^>]*> nop -+0+7034 <[^>]*> nop -+0+7038 <[^>]*> nop -+0+703c <[^>]*> nop -+0+7040 <[^>]*> nop -+0+7044 <[^>]*> nop -+0+7048 <[^>]*> nop -+0+704c <[^>]*> nop -+0+7050 <[^>]*> nop -+0+7054 <[^>]*> nop -+0+7058 <[^>]*> nop -+0+705c <[^>]*> nop -+0+7060 <[^>]*> nop -+0+7064 <[^>]*> nop -+0+7068 <[^>]*> nop -+0+706c <[^>]*> nop -+0+7070 <[^>]*> nop -+0+7074 <[^>]*> nop -+0+7078 <[^>]*> nop -+0+707c <[^>]*> nop -+0+7080 <[^>]*> nop -+0+7084 <[^>]*> nop -+0+7088 <[^>]*> nop -+0+708c <[^>]*> nop -+0+7090 <[^>]*> nop -+0+7094 <[^>]*> nop -+0+7098 <[^>]*> nop -+0+709c <[^>]*> nop -+0+70a0 <[^>]*> nop -+0+70a4 <[^>]*> nop -+0+70a8 <[^>]*> nop -+0+70ac <[^>]*> nop -+0+70b0 <[^>]*> nop -+0+70b4 <[^>]*> nop -+0+70b8 <[^>]*> nop -+0+70bc <[^>]*> nop -+0+70c0 <[^>]*> nop -+0+70c4 <[^>]*> nop -+0+70c8 <[^>]*> nop -+0+70cc <[^>]*> nop -+0+70d0 <[^>]*> nop -+0+70d4 <[^>]*> nop -+0+70d8 <[^>]*> nop -+0+70dc <[^>]*> nop -+0+70e0 <[^>]*> nop -+0+70e4 <[^>]*> nop -+0+70e8 <[^>]*> nop -+0+70ec <[^>]*> nop -+0+70f0 <[^>]*> nop -+0+70f4 <[^>]*> nop -+0+70f8 <[^>]*> nop -+0+70fc <[^>]*> nop -+0+7100 <[^>]*> nop -+0+7104 <[^>]*> nop -+0+7108 <[^>]*> nop -+0+710c <[^>]*> nop -+0+7110 <[^>]*> nop -+0+7114 <[^>]*> nop -+0+7118 <[^>]*> nop -+0+711c <[^>]*> nop -+0+7120 <[^>]*> nop -+0+7124 <[^>]*> nop -+0+7128 <[^>]*> nop -+0+712c <[^>]*> nop -+0+7130 <[^>]*> nop -+0+7134 <[^>]*> nop -+0+7138 <[^>]*> nop -+0+713c <[^>]*> nop -+0+7140 <[^>]*> nop -+0+7144 <[^>]*> nop -+0+7148 <[^>]*> nop -+0+714c <[^>]*> nop -+0+7150 <[^>]*> nop -+0+7154 <[^>]*> nop -+0+7158 <[^>]*> nop -+0+715c <[^>]*> nop -+0+7160 <[^>]*> nop -+0+7164 <[^>]*> nop -+0+7168 <[^>]*> nop -+0+716c <[^>]*> nop -+0+7170 <[^>]*> nop -+0+7174 <[^>]*> nop -+0+7178 <[^>]*> nop -+0+717c <[^>]*> nop -+0+7180 <[^>]*> nop -+0+7184 <[^>]*> nop -+0+7188 <[^>]*> nop -+0+718c <[^>]*> nop -+0+7190 <[^>]*> nop -+0+7194 <[^>]*> nop -+0+7198 <[^>]*> nop -+0+719c <[^>]*> nop -+0+71a0 <[^>]*> nop -+0+71a4 <[^>]*> nop -+0+71a8 <[^>]*> nop -+0+71ac <[^>]*> nop -+0+71b0 <[^>]*> nop -+0+71b4 <[^>]*> nop -+0+71b8 <[^>]*> nop -+0+71bc <[^>]*> nop -+0+71c0 <[^>]*> nop -+0+71c4 <[^>]*> nop -+0+71c8 <[^>]*> nop -+0+71cc <[^>]*> nop -+0+71d0 <[^>]*> nop -+0+71d4 <[^>]*> nop -+0+71d8 <[^>]*> nop -+0+71dc <[^>]*> nop -+0+71e0 <[^>]*> nop -+0+71e4 <[^>]*> nop -+0+71e8 <[^>]*> nop -+0+71ec <[^>]*> nop -+0+71f0 <[^>]*> nop -+0+71f4 <[^>]*> nop -+0+71f8 <[^>]*> nop -+0+71fc <[^>]*> nop -+0+7200 <[^>]*> nop -+0+7204 <[^>]*> nop -+0+7208 <[^>]*> nop -+0+720c <[^>]*> nop -+0+7210 <[^>]*> nop -+0+7214 <[^>]*> nop -+0+7218 <[^>]*> nop -+0+721c <[^>]*> nop -+0+7220 <[^>]*> nop -+0+7224 <[^>]*> nop -+0+7228 <[^>]*> nop -+0+722c <[^>]*> nop -+0+7230 <[^>]*> nop -+0+7234 <[^>]*> nop -+0+7238 <[^>]*> nop -+0+723c <[^>]*> nop -+0+7240 <[^>]*> nop -+0+7244 <[^>]*> nop -+0+7248 <[^>]*> nop -+0+724c <[^>]*> nop -+0+7250 <[^>]*> nop -+0+7254 <[^>]*> nop -+0+7258 <[^>]*> nop -+0+725c <[^>]*> nop -+0+7260 <[^>]*> nop -+0+7264 <[^>]*> nop -+0+7268 <[^>]*> nop -+0+726c <[^>]*> nop -+0+7270 <[^>]*> nop -+0+7274 <[^>]*> nop -+0+7278 <[^>]*> nop -+0+727c <[^>]*> nop -+0+7280 <[^>]*> nop -+0+7284 <[^>]*> nop -+0+7288 <[^>]*> nop -+0+728c <[^>]*> nop -+0+7290 <[^>]*> nop -+0+7294 <[^>]*> nop -+0+7298 <[^>]*> nop -+0+729c <[^>]*> nop -+0+72a0 <[^>]*> nop -+0+72a4 <[^>]*> nop -+0+72a8 <[^>]*> nop -+0+72ac <[^>]*> nop -+0+72b0 <[^>]*> nop -+0+72b4 <[^>]*> nop -+0+72b8 <[^>]*> nop -+0+72bc <[^>]*> nop -+0+72c0 <[^>]*> nop -+0+72c4 <[^>]*> nop -+0+72c8 <[^>]*> nop -+0+72cc <[^>]*> nop -+0+72d0 <[^>]*> nop -+0+72d4 <[^>]*> nop -+0+72d8 <[^>]*> nop -+0+72dc <[^>]*> nop -+0+72e0 <[^>]*> nop -+0+72e4 <[^>]*> nop -+0+72e8 <[^>]*> nop -+0+72ec <[^>]*> nop -+0+72f0 <[^>]*> nop -+0+72f4 <[^>]*> nop -+0+72f8 <[^>]*> nop -+0+72fc <[^>]*> nop -+0+7300 <[^>]*> nop -+0+7304 <[^>]*> nop -+0+7308 <[^>]*> nop -+0+730c <[^>]*> nop -+0+7310 <[^>]*> nop -+0+7314 <[^>]*> nop -+0+7318 <[^>]*> nop -+0+731c <[^>]*> nop -+0+7320 <[^>]*> nop -+0+7324 <[^>]*> nop -+0+7328 <[^>]*> nop -+0+732c <[^>]*> nop -+0+7330 <[^>]*> nop -+0+7334 <[^>]*> nop -+0+7338 <[^>]*> nop -+0+733c <[^>]*> nop -+0+7340 <[^>]*> nop -+0+7344 <[^>]*> nop -+0+7348 <[^>]*> nop -+0+734c <[^>]*> nop -+0+7350 <[^>]*> nop -+0+7354 <[^>]*> nop -+0+7358 <[^>]*> nop -+0+735c <[^>]*> nop -+0+7360 <[^>]*> nop -+0+7364 <[^>]*> nop -+0+7368 <[^>]*> nop -+0+736c <[^>]*> nop -+0+7370 <[^>]*> nop -+0+7374 <[^>]*> nop -+0+7378 <[^>]*> nop -+0+737c <[^>]*> nop -+0+7380 <[^>]*> nop -+0+7384 <[^>]*> nop -+0+7388 <[^>]*> nop -+0+738c <[^>]*> nop -+0+7390 <[^>]*> nop -+0+7394 <[^>]*> nop -+0+7398 <[^>]*> nop -+0+739c <[^>]*> nop -+0+73a0 <[^>]*> nop -+0+73a4 <[^>]*> nop -+0+73a8 <[^>]*> nop -+0+73ac <[^>]*> nop -+0+73b0 <[^>]*> nop -+0+73b4 <[^>]*> nop -+0+73b8 <[^>]*> nop -+0+73bc <[^>]*> nop -+0+73c0 <[^>]*> nop -+0+73c4 <[^>]*> nop -+0+73c8 <[^>]*> nop -+0+73cc <[^>]*> nop -+0+73d0 <[^>]*> nop -+0+73d4 <[^>]*> nop -+0+73d8 <[^>]*> nop -+0+73dc <[^>]*> nop -+0+73e0 <[^>]*> nop -+0+73e4 <[^>]*> nop -+0+73e8 <[^>]*> nop -+0+73ec <[^>]*> nop -+0+73f0 <[^>]*> nop -+0+73f4 <[^>]*> nop -+0+73f8 <[^>]*> nop -+0+73fc <[^>]*> nop -+0+7400 <[^>]*> nop -+0+7404 <[^>]*> nop -+0+7408 <[^>]*> nop -+0+740c <[^>]*> nop -+0+7410 <[^>]*> nop -+0+7414 <[^>]*> nop -+0+7418 <[^>]*> nop -+0+741c <[^>]*> nop -+0+7420 <[^>]*> nop -+0+7424 <[^>]*> nop -+0+7428 <[^>]*> nop -+0+742c <[^>]*> nop -+0+7430 <[^>]*> nop -+0+7434 <[^>]*> nop -+0+7438 <[^>]*> nop -+0+743c <[^>]*> nop -+0+7440 <[^>]*> nop -+0+7444 <[^>]*> nop -+0+7448 <[^>]*> nop -+0+744c <[^>]*> nop -+0+7450 <[^>]*> nop -+0+7454 <[^>]*> nop -+0+7458 <[^>]*> nop -+0+745c <[^>]*> nop -+0+7460 <[^>]*> nop -+0+7464 <[^>]*> nop -+0+7468 <[^>]*> nop -+0+746c <[^>]*> nop -+0+7470 <[^>]*> nop -+0+7474 <[^>]*> nop -+0+7478 <[^>]*> nop -+0+747c <[^>]*> nop -+0+7480 <[^>]*> nop -+0+7484 <[^>]*> nop -+0+7488 <[^>]*> nop -+0+748c <[^>]*> nop -+0+7490 <[^>]*> nop -+0+7494 <[^>]*> nop -+0+7498 <[^>]*> nop -+0+749c <[^>]*> nop -+0+74a0 <[^>]*> nop -+0+74a4 <[^>]*> nop -+0+74a8 <[^>]*> nop -+0+74ac <[^>]*> nop -+0+74b0 <[^>]*> nop -+0+74b4 <[^>]*> nop -+0+74b8 <[^>]*> nop -+0+74bc <[^>]*> nop -+0+74c0 <[^>]*> nop -+0+74c4 <[^>]*> nop -+0+74c8 <[^>]*> nop -+0+74cc <[^>]*> nop -+0+74d0 <[^>]*> nop -+0+74d4 <[^>]*> nop -+0+74d8 <[^>]*> nop -+0+74dc <[^>]*> nop -+0+74e0 <[^>]*> nop -+0+74e4 <[^>]*> nop -+0+74e8 <[^>]*> nop -+0+74ec <[^>]*> nop -+0+74f0 <[^>]*> nop -+0+74f4 <[^>]*> nop -+0+74f8 <[^>]*> nop -+0+74fc <[^>]*> nop -+0+7500 <[^>]*> nop -+0+7504 <[^>]*> nop -+0+7508 <[^>]*> nop -+0+750c <[^>]*> nop -+0+7510 <[^>]*> nop -+0+7514 <[^>]*> nop -+0+7518 <[^>]*> nop -+0+751c <[^>]*> nop -+0+7520 <[^>]*> nop -+0+7524 <[^>]*> nop -+0+7528 <[^>]*> nop -+0+752c <[^>]*> nop -+0+7530 <[^>]*> nop -+0+7534 <[^>]*> nop -+0+7538 <[^>]*> nop -+0+753c <[^>]*> nop -+0+7540 <[^>]*> nop -+0+7544 <[^>]*> nop -+0+7548 <[^>]*> nop -+0+754c <[^>]*> nop -+0+7550 <[^>]*> nop -+0+7554 <[^>]*> nop -+0+7558 <[^>]*> nop -+0+755c <[^>]*> nop -+0+7560 <[^>]*> nop -+0+7564 <[^>]*> nop -+0+7568 <[^>]*> nop -+0+756c <[^>]*> nop -+0+7570 <[^>]*> nop -+0+7574 <[^>]*> nop -+0+7578 <[^>]*> nop -+0+757c <[^>]*> nop -+0+7580 <[^>]*> nop -+0+7584 <[^>]*> nop -+0+7588 <[^>]*> nop -+0+758c <[^>]*> nop -+0+7590 <[^>]*> nop -+0+7594 <[^>]*> nop -+0+7598 <[^>]*> nop -+0+759c <[^>]*> nop -+0+75a0 <[^>]*> nop -+0+75a4 <[^>]*> nop -+0+75a8 <[^>]*> nop -+0+75ac <[^>]*> nop -+0+75b0 <[^>]*> nop -+0+75b4 <[^>]*> nop -+0+75b8 <[^>]*> nop -+0+75bc <[^>]*> nop -+0+75c0 <[^>]*> nop -+0+75c4 <[^>]*> nop -+0+75c8 <[^>]*> nop -+0+75cc <[^>]*> nop -+0+75d0 <[^>]*> nop -+0+75d4 <[^>]*> nop -+0+75d8 <[^>]*> nop -+0+75dc <[^>]*> nop -+0+75e0 <[^>]*> nop -+0+75e4 <[^>]*> nop -+0+75e8 <[^>]*> nop -+0+75ec <[^>]*> nop -+0+75f0 <[^>]*> nop -+0+75f4 <[^>]*> nop -+0+75f8 <[^>]*> nop -+0+75fc <[^>]*> nop -+0+7600 <[^>]*> nop -+0+7604 <[^>]*> nop -+0+7608 <[^>]*> nop -+0+760c <[^>]*> nop -+0+7610 <[^>]*> nop -+0+7614 <[^>]*> nop -+0+7618 <[^>]*> nop -+0+761c <[^>]*> nop -+0+7620 <[^>]*> nop -+0+7624 <[^>]*> nop -+0+7628 <[^>]*> nop -+0+762c <[^>]*> nop -+0+7630 <[^>]*> nop -+0+7634 <[^>]*> nop -+0+7638 <[^>]*> nop -+0+763c <[^>]*> nop -+0+7640 <[^>]*> nop -+0+7644 <[^>]*> nop -+0+7648 <[^>]*> nop -+0+764c <[^>]*> nop -+0+7650 <[^>]*> nop -+0+7654 <[^>]*> nop -+0+7658 <[^>]*> nop -+0+765c <[^>]*> nop -+0+7660 <[^>]*> nop -+0+7664 <[^>]*> nop -+0+7668 <[^>]*> nop -+0+766c <[^>]*> nop -+0+7670 <[^>]*> nop -+0+7674 <[^>]*> nop -+0+7678 <[^>]*> nop -+0+767c <[^>]*> nop -+0+7680 <[^>]*> nop -+0+7684 <[^>]*> nop -+0+7688 <[^>]*> nop -+0+768c <[^>]*> nop -+0+7690 <[^>]*> nop -+0+7694 <[^>]*> nop -+0+7698 <[^>]*> nop -+0+769c <[^>]*> nop -+0+76a0 <[^>]*> nop -+0+76a4 <[^>]*> nop -+0+76a8 <[^>]*> nop -+0+76ac <[^>]*> nop -+0+76b0 <[^>]*> nop -+0+76b4 <[^>]*> nop -+0+76b8 <[^>]*> nop -+0+76bc <[^>]*> nop -+0+76c0 <[^>]*> nop -+0+76c4 <[^>]*> nop -+0+76c8 <[^>]*> nop -+0+76cc <[^>]*> nop -+0+76d0 <[^>]*> nop -+0+76d4 <[^>]*> nop -+0+76d8 <[^>]*> nop -+0+76dc <[^>]*> nop -+0+76e0 <[^>]*> nop -+0+76e4 <[^>]*> nop -+0+76e8 <[^>]*> nop -+0+76ec <[^>]*> nop -+0+76f0 <[^>]*> nop -+0+76f4 <[^>]*> nop -+0+76f8 <[^>]*> nop -+0+76fc <[^>]*> nop -+0+7700 <[^>]*> nop -+0+7704 <[^>]*> nop -+0+7708 <[^>]*> nop -+0+770c <[^>]*> nop -+0+7710 <[^>]*> nop -+0+7714 <[^>]*> nop -+0+7718 <[^>]*> nop -+0+771c <[^>]*> nop -+0+7720 <[^>]*> nop -+0+7724 <[^>]*> nop -+0+7728 <[^>]*> nop -+0+772c <[^>]*> nop -+0+7730 <[^>]*> nop -+0+7734 <[^>]*> nop -+0+7738 <[^>]*> nop -+0+773c <[^>]*> nop -+0+7740 <[^>]*> nop -+0+7744 <[^>]*> nop -+0+7748 <[^>]*> nop -+0+774c <[^>]*> nop -+0+7750 <[^>]*> nop -+0+7754 <[^>]*> nop -+0+7758 <[^>]*> nop -+0+775c <[^>]*> nop -+0+7760 <[^>]*> nop -+0+7764 <[^>]*> nop -+0+7768 <[^>]*> nop -+0+776c <[^>]*> nop -+0+7770 <[^>]*> nop -+0+7774 <[^>]*> nop -+0+7778 <[^>]*> nop -+0+777c <[^>]*> nop -+0+7780 <[^>]*> nop -+0+7784 <[^>]*> nop -+0+7788 <[^>]*> nop -+0+778c <[^>]*> nop -+0+7790 <[^>]*> nop -+0+7794 <[^>]*> nop -+0+7798 <[^>]*> nop -+0+779c <[^>]*> nop -+0+77a0 <[^>]*> nop -+0+77a4 <[^>]*> nop -+0+77a8 <[^>]*> nop -+0+77ac <[^>]*> nop -+0+77b0 <[^>]*> nop -+0+77b4 <[^>]*> nop -+0+77b8 <[^>]*> nop -+0+77bc <[^>]*> nop -+0+77c0 <[^>]*> nop -+0+77c4 <[^>]*> nop -+0+77c8 <[^>]*> nop -+0+77cc <[^>]*> nop -+0+77d0 <[^>]*> nop -+0+77d4 <[^>]*> nop -+0+77d8 <[^>]*> nop -+0+77dc <[^>]*> nop -+0+77e0 <[^>]*> nop -+0+77e4 <[^>]*> nop -+0+77e8 <[^>]*> nop -+0+77ec <[^>]*> nop -+0+77f0 <[^>]*> nop -+0+77f4 <[^>]*> nop -+0+77f8 <[^>]*> nop -+0+77fc <[^>]*> nop -+0+7800 <[^>]*> nop -+0+7804 <[^>]*> nop -+0+7808 <[^>]*> nop -+0+780c <[^>]*> nop -+0+7810 <[^>]*> nop -+0+7814 <[^>]*> nop -+0+7818 <[^>]*> nop -+0+781c <[^>]*> nop -+0+7820 <[^>]*> nop -+0+7824 <[^>]*> nop -+0+7828 <[^>]*> nop -+0+782c <[^>]*> nop -+0+7830 <[^>]*> nop -+0+7834 <[^>]*> nop -+0+7838 <[^>]*> nop -+0+783c <[^>]*> nop -+0+7840 <[^>]*> nop -+0+7844 <[^>]*> nop -+0+7848 <[^>]*> nop -+0+784c <[^>]*> nop -+0+7850 <[^>]*> nop -+0+7854 <[^>]*> nop -+0+7858 <[^>]*> nop -+0+785c <[^>]*> nop -+0+7860 <[^>]*> nop -+0+7864 <[^>]*> nop -+0+7868 <[^>]*> nop -+0+786c <[^>]*> nop -+0+7870 <[^>]*> nop -+0+7874 <[^>]*> nop -+0+7878 <[^>]*> nop -+0+787c <[^>]*> nop -+0+7880 <[^>]*> nop -+0+7884 <[^>]*> nop -+0+7888 <[^>]*> nop -+0+788c <[^>]*> nop -+0+7890 <[^>]*> nop -+0+7894 <[^>]*> nop -+0+7898 <[^>]*> nop -+0+789c <[^>]*> nop -+0+78a0 <[^>]*> nop -+0+78a4 <[^>]*> nop -+0+78a8 <[^>]*> nop -+0+78ac <[^>]*> nop -+0+78b0 <[^>]*> nop -+0+78b4 <[^>]*> nop -+0+78b8 <[^>]*> nop -+0+78bc <[^>]*> nop -+0+78c0 <[^>]*> nop -+0+78c4 <[^>]*> nop -+0+78c8 <[^>]*> nop -+0+78cc <[^>]*> nop -+0+78d0 <[^>]*> nop -+0+78d4 <[^>]*> nop -+0+78d8 <[^>]*> nop -+0+78dc <[^>]*> nop -+0+78e0 <[^>]*> nop -+0+78e4 <[^>]*> nop -+0+78e8 <[^>]*> nop -+0+78ec <[^>]*> nop -+0+78f0 <[^>]*> nop -+0+78f4 <[^>]*> nop -+0+78f8 <[^>]*> nop -+0+78fc <[^>]*> nop -+0+7900 <[^>]*> nop -+0+7904 <[^>]*> nop -+0+7908 <[^>]*> nop -+0+790c <[^>]*> nop -+0+7910 <[^>]*> nop -+0+7914 <[^>]*> nop -+0+7918 <[^>]*> nop -+0+791c <[^>]*> nop -+0+7920 <[^>]*> nop -+0+7924 <[^>]*> nop -+0+7928 <[^>]*> nop -+0+792c <[^>]*> nop -+0+7930 <[^>]*> nop -+0+7934 <[^>]*> nop -+0+7938 <[^>]*> nop -+0+793c <[^>]*> nop -+0+7940 <[^>]*> nop -+0+7944 <[^>]*> nop -+0+7948 <[^>]*> nop -+0+794c <[^>]*> nop -+0+7950 <[^>]*> nop -+0+7954 <[^>]*> nop -+0+7958 <[^>]*> nop -+0+795c <[^>]*> nop -+0+7960 <[^>]*> nop -+0+7964 <[^>]*> nop -+0+7968 <[^>]*> nop -+0+796c <[^>]*> nop -+0+7970 <[^>]*> nop -+0+7974 <[^>]*> nop -+0+7978 <[^>]*> nop -+0+797c <[^>]*> nop -+0+7980 <[^>]*> nop -+0+7984 <[^>]*> nop -+0+7988 <[^>]*> nop -+0+798c <[^>]*> nop -+0+7990 <[^>]*> nop -+0+7994 <[^>]*> nop -+0+7998 <[^>]*> nop -+0+799c <[^>]*> nop -+0+79a0 <[^>]*> nop -+0+79a4 <[^>]*> nop -+0+79a8 <[^>]*> nop -+0+79ac <[^>]*> nop -+0+79b0 <[^>]*> nop -+0+79b4 <[^>]*> nop -+0+79b8 <[^>]*> nop -+0+79bc <[^>]*> nop -+0+79c0 <[^>]*> nop -+0+79c4 <[^>]*> nop -+0+79c8 <[^>]*> nop -+0+79cc <[^>]*> nop -+0+79d0 <[^>]*> nop -+0+79d4 <[^>]*> nop -+0+79d8 <[^>]*> nop -+0+79dc <[^>]*> nop -+0+79e0 <[^>]*> nop -+0+79e4 <[^>]*> nop -+0+79e8 <[^>]*> nop -+0+79ec <[^>]*> nop -+0+79f0 <[^>]*> nop -+0+79f4 <[^>]*> nop -+0+79f8 <[^>]*> nop -+0+79fc <[^>]*> nop -+0+7a00 <[^>]*> nop -+0+7a04 <[^>]*> nop -+0+7a08 <[^>]*> nop -+0+7a0c <[^>]*> nop -+0+7a10 <[^>]*> nop -+0+7a14 <[^>]*> nop -+0+7a18 <[^>]*> nop -+0+7a1c <[^>]*> nop -+0+7a20 <[^>]*> nop -+0+7a24 <[^>]*> nop -+0+7a28 <[^>]*> nop -+0+7a2c <[^>]*> nop -+0+7a30 <[^>]*> nop -+0+7a34 <[^>]*> nop -+0+7a38 <[^>]*> nop -+0+7a3c <[^>]*> nop -+0+7a40 <[^>]*> nop -+0+7a44 <[^>]*> nop -+0+7a48 <[^>]*> nop -+0+7a4c <[^>]*> nop -+0+7a50 <[^>]*> nop -+0+7a54 <[^>]*> nop -+0+7a58 <[^>]*> nop -+0+7a5c <[^>]*> nop -+0+7a60 <[^>]*> nop -+0+7a64 <[^>]*> nop -+0+7a68 <[^>]*> nop -+0+7a6c <[^>]*> nop -+0+7a70 <[^>]*> nop -+0+7a74 <[^>]*> nop -+0+7a78 <[^>]*> nop -+0+7a7c <[^>]*> nop -+0+7a80 <[^>]*> nop -+0+7a84 <[^>]*> nop -+0+7a88 <[^>]*> nop -+0+7a8c <[^>]*> nop -+0+7a90 <[^>]*> nop -+0+7a94 <[^>]*> nop -+0+7a98 <[^>]*> nop -+0+7a9c <[^>]*> nop -+0+7aa0 <[^>]*> nop -+0+7aa4 <[^>]*> nop -+0+7aa8 <[^>]*> nop -+0+7aac <[^>]*> nop -+0+7ab0 <[^>]*> nop -+0+7ab4 <[^>]*> nop -+0+7ab8 <[^>]*> nop -+0+7abc <[^>]*> nop -+0+7ac0 <[^>]*> nop -+0+7ac4 <[^>]*> nop -+0+7ac8 <[^>]*> nop -+0+7acc <[^>]*> nop -+0+7ad0 <[^>]*> nop -+0+7ad4 <[^>]*> nop -+0+7ad8 <[^>]*> nop -+0+7adc <[^>]*> nop -+0+7ae0 <[^>]*> nop -+0+7ae4 <[^>]*> nop -+0+7ae8 <[^>]*> nop -+0+7aec <[^>]*> nop -+0+7af0 <[^>]*> nop -+0+7af4 <[^>]*> nop -+0+7af8 <[^>]*> nop -+0+7afc <[^>]*> nop -+0+7b00 <[^>]*> nop -+0+7b04 <[^>]*> nop -+0+7b08 <[^>]*> nop -+0+7b0c <[^>]*> nop -+0+7b10 <[^>]*> nop -+0+7b14 <[^>]*> nop -+0+7b18 <[^>]*> nop -+0+7b1c <[^>]*> nop -+0+7b20 <[^>]*> nop -+0+7b24 <[^>]*> nop -+0+7b28 <[^>]*> nop -+0+7b2c <[^>]*> nop -+0+7b30 <[^>]*> nop -+0+7b34 <[^>]*> nop -+0+7b38 <[^>]*> nop -+0+7b3c <[^>]*> nop -+0+7b40 <[^>]*> nop -+0+7b44 <[^>]*> nop -+0+7b48 <[^>]*> nop -+0+7b4c <[^>]*> nop -+0+7b50 <[^>]*> nop -+0+7b54 <[^>]*> nop -+0+7b58 <[^>]*> nop -+0+7b5c <[^>]*> nop -+0+7b60 <[^>]*> nop -+0+7b64 <[^>]*> nop -+0+7b68 <[^>]*> nop -+0+7b6c <[^>]*> nop -+0+7b70 <[^>]*> nop -+0+7b74 <[^>]*> nop -+0+7b78 <[^>]*> nop -+0+7b7c <[^>]*> nop -+0+7b80 <[^>]*> nop -+0+7b84 <[^>]*> nop -+0+7b88 <[^>]*> nop -+0+7b8c <[^>]*> nop -+0+7b90 <[^>]*> nop -+0+7b94 <[^>]*> nop -+0+7b98 <[^>]*> nop -+0+7b9c <[^>]*> nop -+0+7ba0 <[^>]*> nop -+0+7ba4 <[^>]*> nop -+0+7ba8 <[^>]*> nop -+0+7bac <[^>]*> nop -+0+7bb0 <[^>]*> nop -+0+7bb4 <[^>]*> nop -+0+7bb8 <[^>]*> nop -+0+7bbc <[^>]*> nop -+0+7bc0 <[^>]*> nop -+0+7bc4 <[^>]*> nop -+0+7bc8 <[^>]*> nop -+0+7bcc <[^>]*> nop -+0+7bd0 <[^>]*> nop -+0+7bd4 <[^>]*> nop -+0+7bd8 <[^>]*> nop -+0+7bdc <[^>]*> nop -+0+7be0 <[^>]*> nop -+0+7be4 <[^>]*> nop -+0+7be8 <[^>]*> nop -+0+7bec <[^>]*> nop -+0+7bf0 <[^>]*> nop -+0+7bf4 <[^>]*> nop -+0+7bf8 <[^>]*> nop -+0+7bfc <[^>]*> nop -+0+7c00 <[^>]*> nop -+0+7c04 <[^>]*> nop -+0+7c08 <[^>]*> nop -+0+7c0c <[^>]*> nop -+0+7c10 <[^>]*> nop -+0+7c14 <[^>]*> nop -+0+7c18 <[^>]*> nop -+0+7c1c <[^>]*> nop -+0+7c20 <[^>]*> nop -+0+7c24 <[^>]*> nop -+0+7c28 <[^>]*> nop -+0+7c2c <[^>]*> nop -+0+7c30 <[^>]*> nop -+0+7c34 <[^>]*> nop -+0+7c38 <[^>]*> nop -+0+7c3c <[^>]*> nop -+0+7c40 <[^>]*> nop -+0+7c44 <[^>]*> nop -+0+7c48 <[^>]*> nop -+0+7c4c <[^>]*> nop -+0+7c50 <[^>]*> nop -+0+7c54 <[^>]*> nop -+0+7c58 <[^>]*> nop -+0+7c5c <[^>]*> nop -+0+7c60 <[^>]*> nop -+0+7c64 <[^>]*> nop -+0+7c68 <[^>]*> nop -+0+7c6c <[^>]*> nop -+0+7c70 <[^>]*> nop -+0+7c74 <[^>]*> nop -+0+7c78 <[^>]*> nop -+0+7c7c <[^>]*> nop -+0+7c80 <[^>]*> nop -+0+7c84 <[^>]*> nop -+0+7c88 <[^>]*> nop -+0+7c8c <[^>]*> nop -+0+7c90 <[^>]*> nop -+0+7c94 <[^>]*> nop -+0+7c98 <[^>]*> nop -+0+7c9c <[^>]*> nop -+0+7ca0 <[^>]*> nop -+0+7ca4 <[^>]*> nop -+0+7ca8 <[^>]*> nop -+0+7cac <[^>]*> nop -+0+7cb0 <[^>]*> nop -+0+7cb4 <[^>]*> nop -+0+7cb8 <[^>]*> nop -+0+7cbc <[^>]*> nop -+0+7cc0 <[^>]*> nop -+0+7cc4 <[^>]*> nop -+0+7cc8 <[^>]*> nop -+0+7ccc <[^>]*> nop -+0+7cd0 <[^>]*> nop -+0+7cd4 <[^>]*> nop -+0+7cd8 <[^>]*> nop -+0+7cdc <[^>]*> nop -+0+7ce0 <[^>]*> nop -+0+7ce4 <[^>]*> nop -+0+7ce8 <[^>]*> nop -+0+7cec <[^>]*> nop -+0+7cf0 <[^>]*> nop -+0+7cf4 <[^>]*> nop -+0+7cf8 <[^>]*> nop -+0+7cfc <[^>]*> nop -+0+7d00 <[^>]*> nop -+0+7d04 <[^>]*> nop -+0+7d08 <[^>]*> nop -+0+7d0c <[^>]*> nop -+0+7d10 <[^>]*> nop -+0+7d14 <[^>]*> nop -+0+7d18 <[^>]*> nop -+0+7d1c <[^>]*> nop -+0+7d20 <[^>]*> nop -+0+7d24 <[^>]*> nop -+0+7d28 <[^>]*> nop -+0+7d2c <[^>]*> nop -+0+7d30 <[^>]*> nop -+0+7d34 <[^>]*> nop -+0+7d38 <[^>]*> nop -+0+7d3c <[^>]*> nop -+0+7d40 <[^>]*> nop -+0+7d44 <[^>]*> nop -+0+7d48 <[^>]*> nop -+0+7d4c <[^>]*> nop -+0+7d50 <[^>]*> nop -+0+7d54 <[^>]*> nop -+0+7d58 <[^>]*> nop -+0+7d5c <[^>]*> nop -+0+7d60 <[^>]*> nop -+0+7d64 <[^>]*> nop -+0+7d68 <[^>]*> nop -+0+7d6c <[^>]*> nop -+0+7d70 <[^>]*> nop -+0+7d74 <[^>]*> nop -+0+7d78 <[^>]*> nop -+0+7d7c <[^>]*> nop -+0+7d80 <[^>]*> nop -+0+7d84 <[^>]*> nop -+0+7d88 <[^>]*> nop -+0+7d8c <[^>]*> nop -+0+7d90 <[^>]*> nop -+0+7d94 <[^>]*> nop -+0+7d98 <[^>]*> nop -+0+7d9c <[^>]*> nop -+0+7da0 <[^>]*> nop -+0+7da4 <[^>]*> nop -+0+7da8 <[^>]*> nop -+0+7dac <[^>]*> nop -+0+7db0 <[^>]*> nop -+0+7db4 <[^>]*> nop -+0+7db8 <[^>]*> nop -+0+7dbc <[^>]*> nop -+0+7dc0 <[^>]*> nop -+0+7dc4 <[^>]*> nop -+0+7dc8 <[^>]*> nop -+0+7dcc <[^>]*> nop -+0+7dd0 <[^>]*> nop -+0+7dd4 <[^>]*> nop -+0+7dd8 <[^>]*> nop -+0+7ddc <[^>]*> nop -+0+7de0 <[^>]*> nop -+0+7de4 <[^>]*> nop -+0+7de8 <[^>]*> nop -+0+7dec <[^>]*> nop -+0+7df0 <[^>]*> nop -+0+7df4 <[^>]*> nop -+0+7df8 <[^>]*> nop -+0+7dfc <[^>]*> nop -+0+7e00 <[^>]*> nop -+0+7e04 <[^>]*> nop -+0+7e08 <[^>]*> nop -+0+7e0c <[^>]*> nop -+0+7e10 <[^>]*> nop -+0+7e14 <[^>]*> nop -+0+7e18 <[^>]*> nop -+0+7e1c <[^>]*> nop -+0+7e20 <[^>]*> nop -+0+7e24 <[^>]*> nop -+0+7e28 <[^>]*> nop -+0+7e2c <[^>]*> nop -+0+7e30 <[^>]*> nop -+0+7e34 <[^>]*> nop -+0+7e38 <[^>]*> nop -+0+7e3c <[^>]*> nop -+0+7e40 <[^>]*> nop -+0+7e44 <[^>]*> nop -+0+7e48 <[^>]*> nop -+0+7e4c <[^>]*> nop -+0+7e50 <[^>]*> nop -+0+7e54 <[^>]*> nop -+0+7e58 <[^>]*> nop -+0+7e5c <[^>]*> nop -+0+7e60 <[^>]*> nop -+0+7e64 <[^>]*> nop -+0+7e68 <[^>]*> nop -+0+7e6c <[^>]*> nop -+0+7e70 <[^>]*> nop -+0+7e74 <[^>]*> nop -+0+7e78 <[^>]*> nop -+0+7e7c <[^>]*> nop -+0+7e80 <[^>]*> nop -+0+7e84 <[^>]*> nop -+0+7e88 <[^>]*> nop -+0+7e8c <[^>]*> nop -+0+7e90 <[^>]*> nop -+0+7e94 <[^>]*> nop -+0+7e98 <[^>]*> nop -+0+7e9c <[^>]*> nop -+0+7ea0 <[^>]*> nop -+0+7ea4 <[^>]*> nop -+0+7ea8 <[^>]*> nop -+0+7eac <[^>]*> nop -+0+7eb0 <[^>]*> nop -+0+7eb4 <[^>]*> nop -+0+7eb8 <[^>]*> nop -+0+7ebc <[^>]*> nop -+0+7ec0 <[^>]*> nop -+0+7ec4 <[^>]*> nop -+0+7ec8 <[^>]*> nop -+0+7ecc <[^>]*> nop -+0+7ed0 <[^>]*> nop -+0+7ed4 <[^>]*> nop -+0+7ed8 <[^>]*> nop -+0+7edc <[^>]*> nop -+0+7ee0 <[^>]*> nop -+0+7ee4 <[^>]*> nop -+0+7ee8 <[^>]*> nop -+0+7eec <[^>]*> nop -+0+7ef0 <[^>]*> nop -+0+7ef4 <[^>]*> nop -+0+7ef8 <[^>]*> nop -+0+7efc <[^>]*> nop -+0+7f00 <[^>]*> nop -+0+7f04 <[^>]*> nop -+0+7f08 <[^>]*> nop -+0+7f0c <[^>]*> nop -+0+7f10 <[^>]*> nop -+0+7f14 <[^>]*> nop -+0+7f18 <[^>]*> nop -+0+7f1c <[^>]*> nop -+0+7f20 <[^>]*> nop -+0+7f24 <[^>]*> nop -+0+7f28 <[^>]*> nop -+0+7f2c <[^>]*> nop -+0+7f30 <[^>]*> nop -+0+7f34 <[^>]*> nop -+0+7f38 <[^>]*> nop -+0+7f3c <[^>]*> nop -+0+7f40 <[^>]*> nop -+0+7f44 <[^>]*> nop -+0+7f48 <[^>]*> nop -+0+7f4c <[^>]*> nop -+0+7f50 <[^>]*> nop -+0+7f54 <[^>]*> nop -+0+7f58 <[^>]*> nop -+0+7f5c <[^>]*> nop -+0+7f60 <[^>]*> nop -+0+7f64 <[^>]*> nop -+0+7f68 <[^>]*> nop -+0+7f6c <[^>]*> nop -+0+7f70 <[^>]*> nop -+0+7f74 <[^>]*> nop -+0+7f78 <[^>]*> nop -+0+7f7c <[^>]*> nop -+0+7f80 <[^>]*> nop -+0+7f84 <[^>]*> nop -+0+7f88 <[^>]*> nop -+0+7f8c <[^>]*> nop -+0+7f90 <[^>]*> nop -+0+7f94 <[^>]*> nop -+0+7f98 <[^>]*> nop -+0+7f9c <[^>]*> nop -+0+7fa0 <[^>]*> nop -+0+7fa4 <[^>]*> nop -+0+7fa8 <[^>]*> nop -+0+7fac <[^>]*> nop -+0+7fb0 <[^>]*> nop -+0+7fb4 <[^>]*> nop -+0+7fb8 <[^>]*> nop -+0+7fbc <[^>]*> nop -+0+7fc0 <[^>]*> nop -+0+7fc4 <[^>]*> nop -+0+7fc8 <[^>]*> nop -+0+7fcc <[^>]*> nop -+0+7fd0 <[^>]*> nop -+0+7fd4 <[^>]*> nop -+0+7fd8 <[^>]*> nop -+0+7fdc <[^>]*> nop -+0+7fe0 <[^>]*> nop -+0+7fe4 <[^>]*> nop -+0+7fe8 <[^>]*> nop -+0+7fec <[^>]*> nop -+0+7ff0 <[^>]*> nop -+0+7ff4 <[^>]*> nop -+0+7ff8 <[^>]*> nop -+0+7ffc <[^>]*> nop -+0+8000 <[^>]*> movhi at,0 -+0+8004 <[^>]*> ori at,at,0 -+0+8008 <[^>]*> jmp at -+0+800c <out_of_range> nop -+ ... -+ -diff --git a/gas/testsuite/gas/nios2/relax_section.s b/gas/testsuite/gas/nios2/relax_section.s -new file mode 100644 -index 0000000..85c8e1d ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_section.s -@@ -0,0 +1,10 @@ -+ beq r2, r3, out_of_range -+ bne r2, r3, in_range -+ nop -+ nop -+in_range: -+ nop -+.align 15 -+ br 0 -+out_of_range: -+ nop -diff --git a/gas/testsuite/gas/nios2/relax_ujmp.d b/gas/testsuite/gas/nios2/relax_ujmp.d -new file mode 100644 -index 0000000..6c9269e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_ujmp.d -@@ -0,0 +1,8221 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 relax_ujmp -+ -+# Test relaxation of unconditional jumps -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section text2: -+00000000 <[^>]*> br 00008000 <[^>]*> -+00000004 <[^>]*> nop -+00000008 <[^>]*> nop -+0000000c <[^>]*> movhi at,1 -+00000010 <[^>]*> ori at,at,24 -+00000014 <[^>]*> jmp at -+00000018 <[^>]*> br 0000002c <[^>]*> -+0000001c <[^>]*> nop -+00000020 <[^>]*> nop -+00000024 <[^>]*> nop -+00000028 <[^>]*> nop -+0000002c <[^>]*> nop -+Disassembly of section text1: -+00008000 <[^>]*> br 00010000 <[^>]*> -+00008004 <[^>]*> nop -+00008008 <[^>]*> nop -+0000800c <[^>]*> movhi at,1 -+00008010 <[^>]*> ori at,at,24 -+00008014 <[^>]*> jmp at -+00008018 <[^>]*> nop -+0000801c <[^>]*> nop -+00008020 <[^>]*> nop -+00008024 <[^>]*> nop -+00008028 <[^>]*> nop -+0000802c <[^>]*> nop -+00008030 <[^>]*> nop -+00008034 <[^>]*> nop -+00008038 <[^>]*> nop -+0000803c <[^>]*> nop -+00008040 <[^>]*> nop -+00008044 <[^>]*> nop -+00008048 <[^>]*> nop -+0000804c <[^>]*> nop -+00008050 <[^>]*> nop -+00008054 <[^>]*> nop -+00008058 <[^>]*> nop -+0000805c <[^>]*> nop -+00008060 <[^>]*> nop -+00008064 <[^>]*> nop -+00008068 <[^>]*> nop -+0000806c <[^>]*> nop -+00008070 <[^>]*> nop -+00008074 <[^>]*> nop -+00008078 <[^>]*> nop -+0000807c <[^>]*> nop -+00008080 <[^>]*> nop -+00008084 <[^>]*> nop -+00008088 <[^>]*> nop -+0000808c <[^>]*> nop -+00008090 <[^>]*> nop -+00008094 <[^>]*> nop -+00008098 <[^>]*> nop -+0000809c <[^>]*> nop -+000080a0 <[^>]*> nop -+000080a4 <[^>]*> nop -+000080a8 <[^>]*> nop -+000080ac <[^>]*> nop -+000080b0 <[^>]*> nop -+000080b4 <[^>]*> nop -+000080b8 <[^>]*> nop -+000080bc <[^>]*> nop -+000080c0 <[^>]*> nop -+000080c4 <[^>]*> nop -+000080c8 <[^>]*> nop -+000080cc <[^>]*> nop -+000080d0 <[^>]*> nop -+000080d4 <[^>]*> nop -+000080d8 <[^>]*> nop -+000080dc <[^>]*> nop -+000080e0 <[^>]*> nop -+000080e4 <[^>]*> nop -+000080e8 <[^>]*> nop -+000080ec <[^>]*> nop -+000080f0 <[^>]*> nop -+000080f4 <[^>]*> nop -+000080f8 <[^>]*> nop -+000080fc <[^>]*> nop -+00008100 <[^>]*> nop -+00008104 <[^>]*> nop -+00008108 <[^>]*> nop -+0000810c <[^>]*> nop -+00008110 <[^>]*> nop -+00008114 <[^>]*> nop -+00008118 <[^>]*> nop -+0000811c <[^>]*> nop -+00008120 <[^>]*> nop -+00008124 <[^>]*> nop -+00008128 <[^>]*> nop -+0000812c <[^>]*> nop -+00008130 <[^>]*> nop -+00008134 <[^>]*> nop -+00008138 <[^>]*> nop -+0000813c <[^>]*> nop -+00008140 <[^>]*> nop -+00008144 <[^>]*> nop -+00008148 <[^>]*> nop -+0000814c <[^>]*> nop -+00008150 <[^>]*> nop -+00008154 <[^>]*> nop -+00008158 <[^>]*> nop -+0000815c <[^>]*> nop -+00008160 <[^>]*> nop -+00008164 <[^>]*> nop -+00008168 <[^>]*> nop -+0000816c <[^>]*> nop -+00008170 <[^>]*> nop -+00008174 <[^>]*> nop -+00008178 <[^>]*> nop -+0000817c <[^>]*> nop -+00008180 <[^>]*> nop -+00008184 <[^>]*> nop -+00008188 <[^>]*> nop -+0000818c <[^>]*> nop -+00008190 <[^>]*> nop -+00008194 <[^>]*> nop -+00008198 <[^>]*> nop -+0000819c <[^>]*> nop -+000081a0 <[^>]*> nop -+000081a4 <[^>]*> nop -+000081a8 <[^>]*> nop -+000081ac <[^>]*> nop -+000081b0 <[^>]*> nop -+000081b4 <[^>]*> nop -+000081b8 <[^>]*> nop -+000081bc <[^>]*> nop -+000081c0 <[^>]*> nop -+000081c4 <[^>]*> nop -+000081c8 <[^>]*> nop -+000081cc <[^>]*> nop -+000081d0 <[^>]*> nop -+000081d4 <[^>]*> nop -+000081d8 <[^>]*> nop -+000081dc <[^>]*> nop -+000081e0 <[^>]*> nop -+000081e4 <[^>]*> nop -+000081e8 <[^>]*> nop -+000081ec <[^>]*> nop -+000081f0 <[^>]*> nop -+000081f4 <[^>]*> nop -+000081f8 <[^>]*> nop -+000081fc <[^>]*> nop -+00008200 <[^>]*> nop -+00008204 <[^>]*> nop -+00008208 <[^>]*> nop -+0000820c <[^>]*> nop -+00008210 <[^>]*> nop -+00008214 <[^>]*> nop -+00008218 <[^>]*> nop -+0000821c <[^>]*> nop -+00008220 <[^>]*> nop -+00008224 <[^>]*> nop -+00008228 <[^>]*> nop -+0000822c <[^>]*> nop -+00008230 <[^>]*> nop -+00008234 <[^>]*> nop -+00008238 <[^>]*> nop -+0000823c <[^>]*> nop -+00008240 <[^>]*> nop -+00008244 <[^>]*> nop -+00008248 <[^>]*> nop -+0000824c <[^>]*> nop -+00008250 <[^>]*> nop -+00008254 <[^>]*> nop -+00008258 <[^>]*> nop -+0000825c <[^>]*> nop -+00008260 <[^>]*> nop -+00008264 <[^>]*> nop -+00008268 <[^>]*> nop -+0000826c <[^>]*> nop -+00008270 <[^>]*> nop -+00008274 <[^>]*> nop -+00008278 <[^>]*> nop -+0000827c <[^>]*> nop -+00008280 <[^>]*> nop -+00008284 <[^>]*> nop -+00008288 <[^>]*> nop -+0000828c <[^>]*> nop -+00008290 <[^>]*> nop -+00008294 <[^>]*> nop -+00008298 <[^>]*> nop -+0000829c <[^>]*> nop -+000082a0 <[^>]*> nop -+000082a4 <[^>]*> nop -+000082a8 <[^>]*> nop -+000082ac <[^>]*> nop -+000082b0 <[^>]*> nop -+000082b4 <[^>]*> nop -+000082b8 <[^>]*> nop -+000082bc <[^>]*> nop -+000082c0 <[^>]*> nop -+000082c4 <[^>]*> nop -+000082c8 <[^>]*> nop -+000082cc <[^>]*> nop -+000082d0 <[^>]*> nop -+000082d4 <[^>]*> nop -+000082d8 <[^>]*> nop -+000082dc <[^>]*> nop -+000082e0 <[^>]*> nop -+000082e4 <[^>]*> nop -+000082e8 <[^>]*> nop -+000082ec <[^>]*> nop -+000082f0 <[^>]*> nop -+000082f4 <[^>]*> nop -+000082f8 <[^>]*> nop -+000082fc <[^>]*> nop -+00008300 <[^>]*> nop -+00008304 <[^>]*> nop -+00008308 <[^>]*> nop -+0000830c <[^>]*> nop -+00008310 <[^>]*> nop -+00008314 <[^>]*> nop -+00008318 <[^>]*> nop -+0000831c <[^>]*> nop -+00008320 <[^>]*> nop -+00008324 <[^>]*> nop -+00008328 <[^>]*> nop -+0000832c <[^>]*> nop -+00008330 <[^>]*> nop -+00008334 <[^>]*> nop -+00008338 <[^>]*> nop -+0000833c <[^>]*> nop -+00008340 <[^>]*> nop -+00008344 <[^>]*> nop -+00008348 <[^>]*> nop -+0000834c <[^>]*> nop -+00008350 <[^>]*> nop -+00008354 <[^>]*> nop -+00008358 <[^>]*> nop -+0000835c <[^>]*> nop -+00008360 <[^>]*> nop -+00008364 <[^>]*> nop -+00008368 <[^>]*> nop -+0000836c <[^>]*> nop -+00008370 <[^>]*> nop -+00008374 <[^>]*> nop -+00008378 <[^>]*> nop -+0000837c <[^>]*> nop -+00008380 <[^>]*> nop -+00008384 <[^>]*> nop -+00008388 <[^>]*> nop -+0000838c <[^>]*> nop -+00008390 <[^>]*> nop -+00008394 <[^>]*> nop -+00008398 <[^>]*> nop -+0000839c <[^>]*> nop -+000083a0 <[^>]*> nop -+000083a4 <[^>]*> nop -+000083a8 <[^>]*> nop -+000083ac <[^>]*> nop -+000083b0 <[^>]*> nop -+000083b4 <[^>]*> nop -+000083b8 <[^>]*> nop -+000083bc <[^>]*> nop -+000083c0 <[^>]*> nop -+000083c4 <[^>]*> nop -+000083c8 <[^>]*> nop -+000083cc <[^>]*> nop -+000083d0 <[^>]*> nop -+000083d4 <[^>]*> nop -+000083d8 <[^>]*> nop -+000083dc <[^>]*> nop -+000083e0 <[^>]*> nop -+000083e4 <[^>]*> nop -+000083e8 <[^>]*> nop -+000083ec <[^>]*> nop -+000083f0 <[^>]*> nop -+000083f4 <[^>]*> nop -+000083f8 <[^>]*> nop -+000083fc <[^>]*> nop -+00008400 <[^>]*> nop -+00008404 <[^>]*> nop -+00008408 <[^>]*> nop -+0000840c <[^>]*> nop -+00008410 <[^>]*> nop -+00008414 <[^>]*> nop -+00008418 <[^>]*> nop -+0000841c <[^>]*> nop -+00008420 <[^>]*> nop -+00008424 <[^>]*> nop -+00008428 <[^>]*> nop -+0000842c <[^>]*> nop -+00008430 <[^>]*> nop -+00008434 <[^>]*> nop -+00008438 <[^>]*> nop -+0000843c <[^>]*> nop -+00008440 <[^>]*> nop -+00008444 <[^>]*> nop -+00008448 <[^>]*> nop -+0000844c <[^>]*> nop -+00008450 <[^>]*> nop -+00008454 <[^>]*> nop -+00008458 <[^>]*> nop -+0000845c <[^>]*> nop -+00008460 <[^>]*> nop -+00008464 <[^>]*> nop -+00008468 <[^>]*> nop -+0000846c <[^>]*> nop -+00008470 <[^>]*> nop -+00008474 <[^>]*> nop -+00008478 <[^>]*> nop -+0000847c <[^>]*> nop -+00008480 <[^>]*> nop -+00008484 <[^>]*> nop -+00008488 <[^>]*> nop -+0000848c <[^>]*> nop -+00008490 <[^>]*> nop -+00008494 <[^>]*> nop -+00008498 <[^>]*> nop -+0000849c <[^>]*> nop -+000084a0 <[^>]*> nop -+000084a4 <[^>]*> nop -+000084a8 <[^>]*> nop -+000084ac <[^>]*> nop -+000084b0 <[^>]*> nop -+000084b4 <[^>]*> nop -+000084b8 <[^>]*> nop -+000084bc <[^>]*> nop -+000084c0 <[^>]*> nop -+000084c4 <[^>]*> nop -+000084c8 <[^>]*> nop -+000084cc <[^>]*> nop -+000084d0 <[^>]*> nop -+000084d4 <[^>]*> nop -+000084d8 <[^>]*> nop -+000084dc <[^>]*> nop -+000084e0 <[^>]*> nop -+000084e4 <[^>]*> nop -+000084e8 <[^>]*> nop -+000084ec <[^>]*> nop -+000084f0 <[^>]*> nop -+000084f4 <[^>]*> nop -+000084f8 <[^>]*> nop -+000084fc <[^>]*> nop -+00008500 <[^>]*> nop -+00008504 <[^>]*> nop -+00008508 <[^>]*> nop -+0000850c <[^>]*> nop -+00008510 <[^>]*> nop -+00008514 <[^>]*> nop -+00008518 <[^>]*> nop -+0000851c <[^>]*> nop -+00008520 <[^>]*> nop -+00008524 <[^>]*> nop -+00008528 <[^>]*> nop -+0000852c <[^>]*> nop -+00008530 <[^>]*> nop -+00008534 <[^>]*> nop -+00008538 <[^>]*> nop -+0000853c <[^>]*> nop -+00008540 <[^>]*> nop -+00008544 <[^>]*> nop -+00008548 <[^>]*> nop -+0000854c <[^>]*> nop -+00008550 <[^>]*> nop -+00008554 <[^>]*> nop -+00008558 <[^>]*> nop -+0000855c <[^>]*> nop -+00008560 <[^>]*> nop -+00008564 <[^>]*> nop -+00008568 <[^>]*> nop -+0000856c <[^>]*> nop -+00008570 <[^>]*> nop -+00008574 <[^>]*> nop -+00008578 <[^>]*> nop -+0000857c <[^>]*> nop -+00008580 <[^>]*> nop -+00008584 <[^>]*> nop -+00008588 <[^>]*> nop -+0000858c <[^>]*> nop -+00008590 <[^>]*> nop -+00008594 <[^>]*> nop -+00008598 <[^>]*> nop -+0000859c <[^>]*> nop -+000085a0 <[^>]*> nop -+000085a4 <[^>]*> nop -+000085a8 <[^>]*> nop -+000085ac <[^>]*> nop -+000085b0 <[^>]*> nop -+000085b4 <[^>]*> nop -+000085b8 <[^>]*> nop -+000085bc <[^>]*> nop -+000085c0 <[^>]*> nop -+000085c4 <[^>]*> nop -+000085c8 <[^>]*> nop -+000085cc <[^>]*> nop -+000085d0 <[^>]*> nop -+000085d4 <[^>]*> nop -+000085d8 <[^>]*> nop -+000085dc <[^>]*> nop -+000085e0 <[^>]*> nop -+000085e4 <[^>]*> nop -+000085e8 <[^>]*> nop -+000085ec <[^>]*> nop -+000085f0 <[^>]*> nop -+000085f4 <[^>]*> nop -+000085f8 <[^>]*> nop -+000085fc <[^>]*> nop -+00008600 <[^>]*> nop -+00008604 <[^>]*> nop -+00008608 <[^>]*> nop -+0000860c <[^>]*> nop -+00008610 <[^>]*> nop -+00008614 <[^>]*> nop -+00008618 <[^>]*> nop -+0000861c <[^>]*> nop -+00008620 <[^>]*> nop -+00008624 <[^>]*> nop -+00008628 <[^>]*> nop -+0000862c <[^>]*> nop -+00008630 <[^>]*> nop -+00008634 <[^>]*> nop -+00008638 <[^>]*> nop -+0000863c <[^>]*> nop -+00008640 <[^>]*> nop -+00008644 <[^>]*> nop -+00008648 <[^>]*> nop -+0000864c <[^>]*> nop -+00008650 <[^>]*> nop -+00008654 <[^>]*> nop -+00008658 <[^>]*> nop -+0000865c <[^>]*> nop -+00008660 <[^>]*> nop -+00008664 <[^>]*> nop -+00008668 <[^>]*> nop -+0000866c <[^>]*> nop -+00008670 <[^>]*> nop -+00008674 <[^>]*> nop -+00008678 <[^>]*> nop -+0000867c <[^>]*> nop -+00008680 <[^>]*> nop -+00008684 <[^>]*> nop -+00008688 <[^>]*> nop -+0000868c <[^>]*> nop -+00008690 <[^>]*> nop -+00008694 <[^>]*> nop -+00008698 <[^>]*> nop -+0000869c <[^>]*> nop -+000086a0 <[^>]*> nop -+000086a4 <[^>]*> nop -+000086a8 <[^>]*> nop -+000086ac <[^>]*> nop -+000086b0 <[^>]*> nop -+000086b4 <[^>]*> nop -+000086b8 <[^>]*> nop -+000086bc <[^>]*> nop -+000086c0 <[^>]*> nop -+000086c4 <[^>]*> nop -+000086c8 <[^>]*> nop -+000086cc <[^>]*> nop -+000086d0 <[^>]*> nop -+000086d4 <[^>]*> nop -+000086d8 <[^>]*> nop -+000086dc <[^>]*> nop -+000086e0 <[^>]*> nop -+000086e4 <[^>]*> nop -+000086e8 <[^>]*> nop -+000086ec <[^>]*> nop -+000086f0 <[^>]*> nop -+000086f4 <[^>]*> nop -+000086f8 <[^>]*> nop -+000086fc <[^>]*> nop -+00008700 <[^>]*> nop -+00008704 <[^>]*> nop -+00008708 <[^>]*> nop -+0000870c <[^>]*> nop -+00008710 <[^>]*> nop -+00008714 <[^>]*> nop -+00008718 <[^>]*> nop -+0000871c <[^>]*> nop -+00008720 <[^>]*> nop -+00008724 <[^>]*> nop -+00008728 <[^>]*> nop -+0000872c <[^>]*> nop -+00008730 <[^>]*> nop -+00008734 <[^>]*> nop -+00008738 <[^>]*> nop -+0000873c <[^>]*> nop -+00008740 <[^>]*> nop -+00008744 <[^>]*> nop -+00008748 <[^>]*> nop -+0000874c <[^>]*> nop -+00008750 <[^>]*> nop -+00008754 <[^>]*> nop -+00008758 <[^>]*> nop -+0000875c <[^>]*> nop -+00008760 <[^>]*> nop -+00008764 <[^>]*> nop -+00008768 <[^>]*> nop -+0000876c <[^>]*> nop -+00008770 <[^>]*> nop -+00008774 <[^>]*> nop -+00008778 <[^>]*> nop -+0000877c <[^>]*> nop -+00008780 <[^>]*> nop -+00008784 <[^>]*> nop -+00008788 <[^>]*> nop -+0000878c <[^>]*> nop -+00008790 <[^>]*> nop -+00008794 <[^>]*> nop -+00008798 <[^>]*> nop -+0000879c <[^>]*> nop -+000087a0 <[^>]*> nop -+000087a4 <[^>]*> nop -+000087a8 <[^>]*> nop -+000087ac <[^>]*> nop -+000087b0 <[^>]*> nop -+000087b4 <[^>]*> nop -+000087b8 <[^>]*> nop -+000087bc <[^>]*> nop -+000087c0 <[^>]*> nop -+000087c4 <[^>]*> nop -+000087c8 <[^>]*> nop -+000087cc <[^>]*> nop -+000087d0 <[^>]*> nop -+000087d4 <[^>]*> nop -+000087d8 <[^>]*> nop -+000087dc <[^>]*> nop -+000087e0 <[^>]*> nop -+000087e4 <[^>]*> nop -+000087e8 <[^>]*> nop -+000087ec <[^>]*> nop -+000087f0 <[^>]*> nop -+000087f4 <[^>]*> nop -+000087f8 <[^>]*> nop -+000087fc <[^>]*> nop -+00008800 <[^>]*> nop -+00008804 <[^>]*> nop -+00008808 <[^>]*> nop -+0000880c <[^>]*> nop -+00008810 <[^>]*> nop -+00008814 <[^>]*> nop -+00008818 <[^>]*> nop -+0000881c <[^>]*> nop -+00008820 <[^>]*> nop -+00008824 <[^>]*> nop -+00008828 <[^>]*> nop -+0000882c <[^>]*> nop -+00008830 <[^>]*> nop -+00008834 <[^>]*> nop -+00008838 <[^>]*> nop -+0000883c <[^>]*> nop -+00008840 <[^>]*> nop -+00008844 <[^>]*> nop -+00008848 <[^>]*> nop -+0000884c <[^>]*> nop -+00008850 <[^>]*> nop -+00008854 <[^>]*> nop -+00008858 <[^>]*> nop -+0000885c <[^>]*> nop -+00008860 <[^>]*> nop -+00008864 <[^>]*> nop -+00008868 <[^>]*> nop -+0000886c <[^>]*> nop -+00008870 <[^>]*> nop -+00008874 <[^>]*> nop -+00008878 <[^>]*> nop -+0000887c <[^>]*> nop -+00008880 <[^>]*> nop -+00008884 <[^>]*> nop -+00008888 <[^>]*> nop -+0000888c <[^>]*> nop -+00008890 <[^>]*> nop -+00008894 <[^>]*> nop -+00008898 <[^>]*> nop -+0000889c <[^>]*> nop -+000088a0 <[^>]*> nop -+000088a4 <[^>]*> nop -+000088a8 <[^>]*> nop -+000088ac <[^>]*> nop -+000088b0 <[^>]*> nop -+000088b4 <[^>]*> nop -+000088b8 <[^>]*> nop -+000088bc <[^>]*> nop -+000088c0 <[^>]*> nop -+000088c4 <[^>]*> nop -+000088c8 <[^>]*> nop -+000088cc <[^>]*> nop -+000088d0 <[^>]*> nop -+000088d4 <[^>]*> nop -+000088d8 <[^>]*> nop -+000088dc <[^>]*> nop -+000088e0 <[^>]*> nop -+000088e4 <[^>]*> nop -+000088e8 <[^>]*> nop -+000088ec <[^>]*> nop -+000088f0 <[^>]*> nop -+000088f4 <[^>]*> nop -+000088f8 <[^>]*> nop -+000088fc <[^>]*> nop -+00008900 <[^>]*> nop -+00008904 <[^>]*> nop -+00008908 <[^>]*> nop -+0000890c <[^>]*> nop -+00008910 <[^>]*> nop -+00008914 <[^>]*> nop -+00008918 <[^>]*> nop -+0000891c <[^>]*> nop -+00008920 <[^>]*> nop -+00008924 <[^>]*> nop -+00008928 <[^>]*> nop -+0000892c <[^>]*> nop -+00008930 <[^>]*> nop -+00008934 <[^>]*> nop -+00008938 <[^>]*> nop -+0000893c <[^>]*> nop -+00008940 <[^>]*> nop -+00008944 <[^>]*> nop -+00008948 <[^>]*> nop -+0000894c <[^>]*> nop -+00008950 <[^>]*> nop -+00008954 <[^>]*> nop -+00008958 <[^>]*> nop -+0000895c <[^>]*> nop -+00008960 <[^>]*> nop -+00008964 <[^>]*> nop -+00008968 <[^>]*> nop -+0000896c <[^>]*> nop -+00008970 <[^>]*> nop -+00008974 <[^>]*> nop -+00008978 <[^>]*> nop -+0000897c <[^>]*> nop -+00008980 <[^>]*> nop -+00008984 <[^>]*> nop -+00008988 <[^>]*> nop -+0000898c <[^>]*> nop -+00008990 <[^>]*> nop -+00008994 <[^>]*> nop -+00008998 <[^>]*> nop -+0000899c <[^>]*> nop -+000089a0 <[^>]*> nop -+000089a4 <[^>]*> nop -+000089a8 <[^>]*> nop -+000089ac <[^>]*> nop -+000089b0 <[^>]*> nop -+000089b4 <[^>]*> nop -+000089b8 <[^>]*> nop -+000089bc <[^>]*> nop -+000089c0 <[^>]*> nop -+000089c4 <[^>]*> nop -+000089c8 <[^>]*> nop -+000089cc <[^>]*> nop -+000089d0 <[^>]*> nop -+000089d4 <[^>]*> nop -+000089d8 <[^>]*> nop -+000089dc <[^>]*> nop -+000089e0 <[^>]*> nop -+000089e4 <[^>]*> nop -+000089e8 <[^>]*> nop -+000089ec <[^>]*> nop -+000089f0 <[^>]*> nop -+000089f4 <[^>]*> nop -+000089f8 <[^>]*> nop -+000089fc <[^>]*> nop -+00008a00 <[^>]*> nop -+00008a04 <[^>]*> nop -+00008a08 <[^>]*> nop -+00008a0c <[^>]*> nop -+00008a10 <[^>]*> nop -+00008a14 <[^>]*> nop -+00008a18 <[^>]*> nop -+00008a1c <[^>]*> nop -+00008a20 <[^>]*> nop -+00008a24 <[^>]*> nop -+00008a28 <[^>]*> nop -+00008a2c <[^>]*> nop -+00008a30 <[^>]*> nop -+00008a34 <[^>]*> nop -+00008a38 <[^>]*> nop -+00008a3c <[^>]*> nop -+00008a40 <[^>]*> nop -+00008a44 <[^>]*> nop -+00008a48 <[^>]*> nop -+00008a4c <[^>]*> nop -+00008a50 <[^>]*> nop -+00008a54 <[^>]*> nop -+00008a58 <[^>]*> nop -+00008a5c <[^>]*> nop -+00008a60 <[^>]*> nop -+00008a64 <[^>]*> nop -+00008a68 <[^>]*> nop -+00008a6c <[^>]*> nop -+00008a70 <[^>]*> nop -+00008a74 <[^>]*> nop -+00008a78 <[^>]*> nop -+00008a7c <[^>]*> nop -+00008a80 <[^>]*> nop -+00008a84 <[^>]*> nop -+00008a88 <[^>]*> nop -+00008a8c <[^>]*> nop -+00008a90 <[^>]*> nop -+00008a94 <[^>]*> nop -+00008a98 <[^>]*> nop -+00008a9c <[^>]*> nop -+00008aa0 <[^>]*> nop -+00008aa4 <[^>]*> nop -+00008aa8 <[^>]*> nop -+00008aac <[^>]*> nop -+00008ab0 <[^>]*> nop -+00008ab4 <[^>]*> nop -+00008ab8 <[^>]*> nop -+00008abc <[^>]*> nop -+00008ac0 <[^>]*> nop -+00008ac4 <[^>]*> nop -+00008ac8 <[^>]*> nop -+00008acc <[^>]*> nop -+00008ad0 <[^>]*> nop -+00008ad4 <[^>]*> nop -+00008ad8 <[^>]*> nop -+00008adc <[^>]*> nop -+00008ae0 <[^>]*> nop -+00008ae4 <[^>]*> nop -+00008ae8 <[^>]*> nop -+00008aec <[^>]*> nop -+00008af0 <[^>]*> nop -+00008af4 <[^>]*> nop -+00008af8 <[^>]*> nop -+00008afc <[^>]*> nop -+00008b00 <[^>]*> nop -+00008b04 <[^>]*> nop -+00008b08 <[^>]*> nop -+00008b0c <[^>]*> nop -+00008b10 <[^>]*> nop -+00008b14 <[^>]*> nop -+00008b18 <[^>]*> nop -+00008b1c <[^>]*> nop -+00008b20 <[^>]*> nop -+00008b24 <[^>]*> nop -+00008b28 <[^>]*> nop -+00008b2c <[^>]*> nop -+00008b30 <[^>]*> nop -+00008b34 <[^>]*> nop -+00008b38 <[^>]*> nop -+00008b3c <[^>]*> nop -+00008b40 <[^>]*> nop -+00008b44 <[^>]*> nop -+00008b48 <[^>]*> nop -+00008b4c <[^>]*> nop -+00008b50 <[^>]*> nop -+00008b54 <[^>]*> nop -+00008b58 <[^>]*> nop -+00008b5c <[^>]*> nop -+00008b60 <[^>]*> nop -+00008b64 <[^>]*> nop -+00008b68 <[^>]*> nop -+00008b6c <[^>]*> nop -+00008b70 <[^>]*> nop -+00008b74 <[^>]*> nop -+00008b78 <[^>]*> nop -+00008b7c <[^>]*> nop -+00008b80 <[^>]*> nop -+00008b84 <[^>]*> nop -+00008b88 <[^>]*> nop -+00008b8c <[^>]*> nop -+00008b90 <[^>]*> nop -+00008b94 <[^>]*> nop -+00008b98 <[^>]*> nop -+00008b9c <[^>]*> nop -+00008ba0 <[^>]*> nop -+00008ba4 <[^>]*> nop -+00008ba8 <[^>]*> nop -+00008bac <[^>]*> nop -+00008bb0 <[^>]*> nop -+00008bb4 <[^>]*> nop -+00008bb8 <[^>]*> nop -+00008bbc <[^>]*> nop -+00008bc0 <[^>]*> nop -+00008bc4 <[^>]*> nop -+00008bc8 <[^>]*> nop -+00008bcc <[^>]*> nop -+00008bd0 <[^>]*> nop -+00008bd4 <[^>]*> nop -+00008bd8 <[^>]*> nop -+00008bdc <[^>]*> nop -+00008be0 <[^>]*> nop -+00008be4 <[^>]*> nop -+00008be8 <[^>]*> nop -+00008bec <[^>]*> nop -+00008bf0 <[^>]*> nop -+00008bf4 <[^>]*> nop -+00008bf8 <[^>]*> nop -+00008bfc <[^>]*> nop -+00008c00 <[^>]*> nop -+00008c04 <[^>]*> nop -+00008c08 <[^>]*> nop -+00008c0c <[^>]*> nop -+00008c10 <[^>]*> nop -+00008c14 <[^>]*> nop -+00008c18 <[^>]*> nop -+00008c1c <[^>]*> nop -+00008c20 <[^>]*> nop -+00008c24 <[^>]*> nop -+00008c28 <[^>]*> nop -+00008c2c <[^>]*> nop -+00008c30 <[^>]*> nop -+00008c34 <[^>]*> nop -+00008c38 <[^>]*> nop -+00008c3c <[^>]*> nop -+00008c40 <[^>]*> nop -+00008c44 <[^>]*> nop -+00008c48 <[^>]*> nop -+00008c4c <[^>]*> nop -+00008c50 <[^>]*> nop -+00008c54 <[^>]*> nop -+00008c58 <[^>]*> nop -+00008c5c <[^>]*> nop -+00008c60 <[^>]*> nop -+00008c64 <[^>]*> nop -+00008c68 <[^>]*> nop -+00008c6c <[^>]*> nop -+00008c70 <[^>]*> nop -+00008c74 <[^>]*> nop -+00008c78 <[^>]*> nop -+00008c7c <[^>]*> nop -+00008c80 <[^>]*> nop -+00008c84 <[^>]*> nop -+00008c88 <[^>]*> nop -+00008c8c <[^>]*> nop -+00008c90 <[^>]*> nop -+00008c94 <[^>]*> nop -+00008c98 <[^>]*> nop -+00008c9c <[^>]*> nop -+00008ca0 <[^>]*> nop -+00008ca4 <[^>]*> nop -+00008ca8 <[^>]*> nop -+00008cac <[^>]*> nop -+00008cb0 <[^>]*> nop -+00008cb4 <[^>]*> nop -+00008cb8 <[^>]*> nop -+00008cbc <[^>]*> nop -+00008cc0 <[^>]*> nop -+00008cc4 <[^>]*> nop -+00008cc8 <[^>]*> nop -+00008ccc <[^>]*> nop -+00008cd0 <[^>]*> nop -+00008cd4 <[^>]*> nop -+00008cd8 <[^>]*> nop -+00008cdc <[^>]*> nop -+00008ce0 <[^>]*> nop -+00008ce4 <[^>]*> nop -+00008ce8 <[^>]*> nop -+00008cec <[^>]*> nop -+00008cf0 <[^>]*> nop -+00008cf4 <[^>]*> nop -+00008cf8 <[^>]*> nop -+00008cfc <[^>]*> nop -+00008d00 <[^>]*> nop -+00008d04 <[^>]*> nop -+00008d08 <[^>]*> nop -+00008d0c <[^>]*> nop -+00008d10 <[^>]*> nop -+00008d14 <[^>]*> nop -+00008d18 <[^>]*> nop -+00008d1c <[^>]*> nop -+00008d20 <[^>]*> nop -+00008d24 <[^>]*> nop -+00008d28 <[^>]*> nop -+00008d2c <[^>]*> nop -+00008d30 <[^>]*> nop -+00008d34 <[^>]*> nop -+00008d38 <[^>]*> nop -+00008d3c <[^>]*> nop -+00008d40 <[^>]*> nop -+00008d44 <[^>]*> nop -+00008d48 <[^>]*> nop -+00008d4c <[^>]*> nop -+00008d50 <[^>]*> nop -+00008d54 <[^>]*> nop -+00008d58 <[^>]*> nop -+00008d5c <[^>]*> nop -+00008d60 <[^>]*> nop -+00008d64 <[^>]*> nop -+00008d68 <[^>]*> nop -+00008d6c <[^>]*> nop -+00008d70 <[^>]*> nop -+00008d74 <[^>]*> nop -+00008d78 <[^>]*> nop -+00008d7c <[^>]*> nop -+00008d80 <[^>]*> nop -+00008d84 <[^>]*> nop -+00008d88 <[^>]*> nop -+00008d8c <[^>]*> nop -+00008d90 <[^>]*> nop -+00008d94 <[^>]*> nop -+00008d98 <[^>]*> nop -+00008d9c <[^>]*> nop -+00008da0 <[^>]*> nop -+00008da4 <[^>]*> nop -+00008da8 <[^>]*> nop -+00008dac <[^>]*> nop -+00008db0 <[^>]*> nop -+00008db4 <[^>]*> nop -+00008db8 <[^>]*> nop -+00008dbc <[^>]*> nop -+00008dc0 <[^>]*> nop -+00008dc4 <[^>]*> nop -+00008dc8 <[^>]*> nop -+00008dcc <[^>]*> nop -+00008dd0 <[^>]*> nop -+00008dd4 <[^>]*> nop -+00008dd8 <[^>]*> nop -+00008ddc <[^>]*> nop -+00008de0 <[^>]*> nop -+00008de4 <[^>]*> nop -+00008de8 <[^>]*> nop -+00008dec <[^>]*> nop -+00008df0 <[^>]*> nop -+00008df4 <[^>]*> nop -+00008df8 <[^>]*> nop -+00008dfc <[^>]*> nop -+00008e00 <[^>]*> nop -+00008e04 <[^>]*> nop -+00008e08 <[^>]*> nop -+00008e0c <[^>]*> nop -+00008e10 <[^>]*> nop -+00008e14 <[^>]*> nop -+00008e18 <[^>]*> nop -+00008e1c <[^>]*> nop -+00008e20 <[^>]*> nop -+00008e24 <[^>]*> nop -+00008e28 <[^>]*> nop -+00008e2c <[^>]*> nop -+00008e30 <[^>]*> nop -+00008e34 <[^>]*> nop -+00008e38 <[^>]*> nop -+00008e3c <[^>]*> nop -+00008e40 <[^>]*> nop -+00008e44 <[^>]*> nop -+00008e48 <[^>]*> nop -+00008e4c <[^>]*> nop -+00008e50 <[^>]*> nop -+00008e54 <[^>]*> nop -+00008e58 <[^>]*> nop -+00008e5c <[^>]*> nop -+00008e60 <[^>]*> nop -+00008e64 <[^>]*> nop -+00008e68 <[^>]*> nop -+00008e6c <[^>]*> nop -+00008e70 <[^>]*> nop -+00008e74 <[^>]*> nop -+00008e78 <[^>]*> nop -+00008e7c <[^>]*> nop -+00008e80 <[^>]*> nop -+00008e84 <[^>]*> nop -+00008e88 <[^>]*> nop -+00008e8c <[^>]*> nop -+00008e90 <[^>]*> nop -+00008e94 <[^>]*> nop -+00008e98 <[^>]*> nop -+00008e9c <[^>]*> nop -+00008ea0 <[^>]*> nop -+00008ea4 <[^>]*> nop -+00008ea8 <[^>]*> nop -+00008eac <[^>]*> nop -+00008eb0 <[^>]*> nop -+00008eb4 <[^>]*> nop -+00008eb8 <[^>]*> nop -+00008ebc <[^>]*> nop -+00008ec0 <[^>]*> nop -+00008ec4 <[^>]*> nop -+00008ec8 <[^>]*> nop -+00008ecc <[^>]*> nop -+00008ed0 <[^>]*> nop -+00008ed4 <[^>]*> nop -+00008ed8 <[^>]*> nop -+00008edc <[^>]*> nop -+00008ee0 <[^>]*> nop -+00008ee4 <[^>]*> nop -+00008ee8 <[^>]*> nop -+00008eec <[^>]*> nop -+00008ef0 <[^>]*> nop -+00008ef4 <[^>]*> nop -+00008ef8 <[^>]*> nop -+00008efc <[^>]*> nop -+00008f00 <[^>]*> nop -+00008f04 <[^>]*> nop -+00008f08 <[^>]*> nop -+00008f0c <[^>]*> nop -+00008f10 <[^>]*> nop -+00008f14 <[^>]*> nop -+00008f18 <[^>]*> nop -+00008f1c <[^>]*> nop -+00008f20 <[^>]*> nop -+00008f24 <[^>]*> nop -+00008f28 <[^>]*> nop -+00008f2c <[^>]*> nop -+00008f30 <[^>]*> nop -+00008f34 <[^>]*> nop -+00008f38 <[^>]*> nop -+00008f3c <[^>]*> nop -+00008f40 <[^>]*> nop -+00008f44 <[^>]*> nop -+00008f48 <[^>]*> nop -+00008f4c <[^>]*> nop -+00008f50 <[^>]*> nop -+00008f54 <[^>]*> nop -+00008f58 <[^>]*> nop -+00008f5c <[^>]*> nop -+00008f60 <[^>]*> nop -+00008f64 <[^>]*> nop -+00008f68 <[^>]*> nop -+00008f6c <[^>]*> nop -+00008f70 <[^>]*> nop -+00008f74 <[^>]*> nop -+00008f78 <[^>]*> nop -+00008f7c <[^>]*> nop -+00008f80 <[^>]*> nop -+00008f84 <[^>]*> nop -+00008f88 <[^>]*> nop -+00008f8c <[^>]*> nop -+00008f90 <[^>]*> nop -+00008f94 <[^>]*> nop -+00008f98 <[^>]*> nop -+00008f9c <[^>]*> nop -+00008fa0 <[^>]*> nop -+00008fa4 <[^>]*> nop -+00008fa8 <[^>]*> nop -+00008fac <[^>]*> nop -+00008fb0 <[^>]*> nop -+00008fb4 <[^>]*> nop -+00008fb8 <[^>]*> nop -+00008fbc <[^>]*> nop -+00008fc0 <[^>]*> nop -+00008fc4 <[^>]*> nop -+00008fc8 <[^>]*> nop -+00008fcc <[^>]*> nop -+00008fd0 <[^>]*> nop -+00008fd4 <[^>]*> nop -+00008fd8 <[^>]*> nop -+00008fdc <[^>]*> nop -+00008fe0 <[^>]*> nop -+00008fe4 <[^>]*> nop -+00008fe8 <[^>]*> nop -+00008fec <[^>]*> nop -+00008ff0 <[^>]*> nop -+00008ff4 <[^>]*> nop -+00008ff8 <[^>]*> nop -+00008ffc <[^>]*> nop -+00009000 <[^>]*> nop -+00009004 <[^>]*> nop -+00009008 <[^>]*> nop -+0000900c <[^>]*> nop -+00009010 <[^>]*> nop -+00009014 <[^>]*> nop -+00009018 <[^>]*> nop -+0000901c <[^>]*> nop -+00009020 <[^>]*> nop -+00009024 <[^>]*> nop -+00009028 <[^>]*> nop -+0000902c <[^>]*> nop -+00009030 <[^>]*> nop -+00009034 <[^>]*> nop -+00009038 <[^>]*> nop -+0000903c <[^>]*> nop -+00009040 <[^>]*> nop -+00009044 <[^>]*> nop -+00009048 <[^>]*> nop -+0000904c <[^>]*> nop -+00009050 <[^>]*> nop -+00009054 <[^>]*> nop -+00009058 <[^>]*> nop -+0000905c <[^>]*> nop -+00009060 <[^>]*> nop -+00009064 <[^>]*> nop -+00009068 <[^>]*> nop -+0000906c <[^>]*> nop -+00009070 <[^>]*> nop -+00009074 <[^>]*> nop -+00009078 <[^>]*> nop -+0000907c <[^>]*> nop -+00009080 <[^>]*> nop -+00009084 <[^>]*> nop -+00009088 <[^>]*> nop -+0000908c <[^>]*> nop -+00009090 <[^>]*> nop -+00009094 <[^>]*> nop -+00009098 <[^>]*> nop -+0000909c <[^>]*> nop -+000090a0 <[^>]*> nop -+000090a4 <[^>]*> nop -+000090a8 <[^>]*> nop -+000090ac <[^>]*> nop -+000090b0 <[^>]*> nop -+000090b4 <[^>]*> nop -+000090b8 <[^>]*> nop -+000090bc <[^>]*> nop -+000090c0 <[^>]*> nop -+000090c4 <[^>]*> nop -+000090c8 <[^>]*> nop -+000090cc <[^>]*> nop -+000090d0 <[^>]*> nop -+000090d4 <[^>]*> nop -+000090d8 <[^>]*> nop -+000090dc <[^>]*> nop -+000090e0 <[^>]*> nop -+000090e4 <[^>]*> nop -+000090e8 <[^>]*> nop -+000090ec <[^>]*> nop -+000090f0 <[^>]*> nop -+000090f4 <[^>]*> nop -+000090f8 <[^>]*> nop -+000090fc <[^>]*> nop -+00009100 <[^>]*> nop -+00009104 <[^>]*> nop -+00009108 <[^>]*> nop -+0000910c <[^>]*> nop -+00009110 <[^>]*> nop -+00009114 <[^>]*> nop -+00009118 <[^>]*> nop -+0000911c <[^>]*> nop -+00009120 <[^>]*> nop -+00009124 <[^>]*> nop -+00009128 <[^>]*> nop -+0000912c <[^>]*> nop -+00009130 <[^>]*> nop -+00009134 <[^>]*> nop -+00009138 <[^>]*> nop -+0000913c <[^>]*> nop -+00009140 <[^>]*> nop -+00009144 <[^>]*> nop -+00009148 <[^>]*> nop -+0000914c <[^>]*> nop -+00009150 <[^>]*> nop -+00009154 <[^>]*> nop -+00009158 <[^>]*> nop -+0000915c <[^>]*> nop -+00009160 <[^>]*> nop -+00009164 <[^>]*> nop -+00009168 <[^>]*> nop -+0000916c <[^>]*> nop -+00009170 <[^>]*> nop -+00009174 <[^>]*> nop -+00009178 <[^>]*> nop -+0000917c <[^>]*> nop -+00009180 <[^>]*> nop -+00009184 <[^>]*> nop -+00009188 <[^>]*> nop -+0000918c <[^>]*> nop -+00009190 <[^>]*> nop -+00009194 <[^>]*> nop -+00009198 <[^>]*> nop -+0000919c <[^>]*> nop -+000091a0 <[^>]*> nop -+000091a4 <[^>]*> nop -+000091a8 <[^>]*> nop -+000091ac <[^>]*> nop -+000091b0 <[^>]*> nop -+000091b4 <[^>]*> nop -+000091b8 <[^>]*> nop -+000091bc <[^>]*> nop -+000091c0 <[^>]*> nop -+000091c4 <[^>]*> nop -+000091c8 <[^>]*> nop -+000091cc <[^>]*> nop -+000091d0 <[^>]*> nop -+000091d4 <[^>]*> nop -+000091d8 <[^>]*> nop -+000091dc <[^>]*> nop -+000091e0 <[^>]*> nop -+000091e4 <[^>]*> nop -+000091e8 <[^>]*> nop -+000091ec <[^>]*> nop -+000091f0 <[^>]*> nop -+000091f4 <[^>]*> nop -+000091f8 <[^>]*> nop -+000091fc <[^>]*> nop -+00009200 <[^>]*> nop -+00009204 <[^>]*> nop -+00009208 <[^>]*> nop -+0000920c <[^>]*> nop -+00009210 <[^>]*> nop -+00009214 <[^>]*> nop -+00009218 <[^>]*> nop -+0000921c <[^>]*> nop -+00009220 <[^>]*> nop -+00009224 <[^>]*> nop -+00009228 <[^>]*> nop -+0000922c <[^>]*> nop -+00009230 <[^>]*> nop -+00009234 <[^>]*> nop -+00009238 <[^>]*> nop -+0000923c <[^>]*> nop -+00009240 <[^>]*> nop -+00009244 <[^>]*> nop -+00009248 <[^>]*> nop -+0000924c <[^>]*> nop -+00009250 <[^>]*> nop -+00009254 <[^>]*> nop -+00009258 <[^>]*> nop -+0000925c <[^>]*> nop -+00009260 <[^>]*> nop -+00009264 <[^>]*> nop -+00009268 <[^>]*> nop -+0000926c <[^>]*> nop -+00009270 <[^>]*> nop -+00009274 <[^>]*> nop -+00009278 <[^>]*> nop -+0000927c <[^>]*> nop -+00009280 <[^>]*> nop -+00009284 <[^>]*> nop -+00009288 <[^>]*> nop -+0000928c <[^>]*> nop -+00009290 <[^>]*> nop -+00009294 <[^>]*> nop -+00009298 <[^>]*> nop -+0000929c <[^>]*> nop -+000092a0 <[^>]*> nop -+000092a4 <[^>]*> nop -+000092a8 <[^>]*> nop -+000092ac <[^>]*> nop -+000092b0 <[^>]*> nop -+000092b4 <[^>]*> nop -+000092b8 <[^>]*> nop -+000092bc <[^>]*> nop -+000092c0 <[^>]*> nop -+000092c4 <[^>]*> nop -+000092c8 <[^>]*> nop -+000092cc <[^>]*> nop -+000092d0 <[^>]*> nop -+000092d4 <[^>]*> nop -+000092d8 <[^>]*> nop -+000092dc <[^>]*> nop -+000092e0 <[^>]*> nop -+000092e4 <[^>]*> nop -+000092e8 <[^>]*> nop -+000092ec <[^>]*> nop -+000092f0 <[^>]*> nop -+000092f4 <[^>]*> nop -+000092f8 <[^>]*> nop -+000092fc <[^>]*> nop -+00009300 <[^>]*> nop -+00009304 <[^>]*> nop -+00009308 <[^>]*> nop -+0000930c <[^>]*> nop -+00009310 <[^>]*> nop -+00009314 <[^>]*> nop -+00009318 <[^>]*> nop -+0000931c <[^>]*> nop -+00009320 <[^>]*> nop -+00009324 <[^>]*> nop -+00009328 <[^>]*> nop -+0000932c <[^>]*> nop -+00009330 <[^>]*> nop -+00009334 <[^>]*> nop -+00009338 <[^>]*> nop -+0000933c <[^>]*> nop -+00009340 <[^>]*> nop -+00009344 <[^>]*> nop -+00009348 <[^>]*> nop -+0000934c <[^>]*> nop -+00009350 <[^>]*> nop -+00009354 <[^>]*> nop -+00009358 <[^>]*> nop -+0000935c <[^>]*> nop -+00009360 <[^>]*> nop -+00009364 <[^>]*> nop -+00009368 <[^>]*> nop -+0000936c <[^>]*> nop -+00009370 <[^>]*> nop -+00009374 <[^>]*> nop -+00009378 <[^>]*> nop -+0000937c <[^>]*> nop -+00009380 <[^>]*> nop -+00009384 <[^>]*> nop -+00009388 <[^>]*> nop -+0000938c <[^>]*> nop -+00009390 <[^>]*> nop -+00009394 <[^>]*> nop -+00009398 <[^>]*> nop -+0000939c <[^>]*> nop -+000093a0 <[^>]*> nop -+000093a4 <[^>]*> nop -+000093a8 <[^>]*> nop -+000093ac <[^>]*> nop -+000093b0 <[^>]*> nop -+000093b4 <[^>]*> nop -+000093b8 <[^>]*> nop -+000093bc <[^>]*> nop -+000093c0 <[^>]*> nop -+000093c4 <[^>]*> nop -+000093c8 <[^>]*> nop -+000093cc <[^>]*> nop -+000093d0 <[^>]*> nop -+000093d4 <[^>]*> nop -+000093d8 <[^>]*> nop -+000093dc <[^>]*> nop -+000093e0 <[^>]*> nop -+000093e4 <[^>]*> nop -+000093e8 <[^>]*> nop -+000093ec <[^>]*> nop -+000093f0 <[^>]*> nop -+000093f4 <[^>]*> nop -+000093f8 <[^>]*> nop -+000093fc <[^>]*> nop -+00009400 <[^>]*> nop -+00009404 <[^>]*> nop -+00009408 <[^>]*> nop -+0000940c <[^>]*> nop -+00009410 <[^>]*> nop -+00009414 <[^>]*> nop -+00009418 <[^>]*> nop -+0000941c <[^>]*> nop -+00009420 <[^>]*> nop -+00009424 <[^>]*> nop -+00009428 <[^>]*> nop -+0000942c <[^>]*> nop -+00009430 <[^>]*> nop -+00009434 <[^>]*> nop -+00009438 <[^>]*> nop -+0000943c <[^>]*> nop -+00009440 <[^>]*> nop -+00009444 <[^>]*> nop -+00009448 <[^>]*> nop -+0000944c <[^>]*> nop -+00009450 <[^>]*> nop -+00009454 <[^>]*> nop -+00009458 <[^>]*> nop -+0000945c <[^>]*> nop -+00009460 <[^>]*> nop -+00009464 <[^>]*> nop -+00009468 <[^>]*> nop -+0000946c <[^>]*> nop -+00009470 <[^>]*> nop -+00009474 <[^>]*> nop -+00009478 <[^>]*> nop -+0000947c <[^>]*> nop -+00009480 <[^>]*> nop -+00009484 <[^>]*> nop -+00009488 <[^>]*> nop -+0000948c <[^>]*> nop -+00009490 <[^>]*> nop -+00009494 <[^>]*> nop -+00009498 <[^>]*> nop -+0000949c <[^>]*> nop -+000094a0 <[^>]*> nop -+000094a4 <[^>]*> nop -+000094a8 <[^>]*> nop -+000094ac <[^>]*> nop -+000094b0 <[^>]*> nop -+000094b4 <[^>]*> nop -+000094b8 <[^>]*> nop -+000094bc <[^>]*> nop -+000094c0 <[^>]*> nop -+000094c4 <[^>]*> nop -+000094c8 <[^>]*> nop -+000094cc <[^>]*> nop -+000094d0 <[^>]*> nop -+000094d4 <[^>]*> nop -+000094d8 <[^>]*> nop -+000094dc <[^>]*> nop -+000094e0 <[^>]*> nop -+000094e4 <[^>]*> nop -+000094e8 <[^>]*> nop -+000094ec <[^>]*> nop -+000094f0 <[^>]*> nop -+000094f4 <[^>]*> nop -+000094f8 <[^>]*> nop -+000094fc <[^>]*> nop -+00009500 <[^>]*> nop -+00009504 <[^>]*> nop -+00009508 <[^>]*> nop -+0000950c <[^>]*> nop -+00009510 <[^>]*> nop -+00009514 <[^>]*> nop -+00009518 <[^>]*> nop -+0000951c <[^>]*> nop -+00009520 <[^>]*> nop -+00009524 <[^>]*> nop -+00009528 <[^>]*> nop -+0000952c <[^>]*> nop -+00009530 <[^>]*> nop -+00009534 <[^>]*> nop -+00009538 <[^>]*> nop -+0000953c <[^>]*> nop -+00009540 <[^>]*> nop -+00009544 <[^>]*> nop -+00009548 <[^>]*> nop -+0000954c <[^>]*> nop -+00009550 <[^>]*> nop -+00009554 <[^>]*> nop -+00009558 <[^>]*> nop -+0000955c <[^>]*> nop -+00009560 <[^>]*> nop -+00009564 <[^>]*> nop -+00009568 <[^>]*> nop -+0000956c <[^>]*> nop -+00009570 <[^>]*> nop -+00009574 <[^>]*> nop -+00009578 <[^>]*> nop -+0000957c <[^>]*> nop -+00009580 <[^>]*> nop -+00009584 <[^>]*> nop -+00009588 <[^>]*> nop -+0000958c <[^>]*> nop -+00009590 <[^>]*> nop -+00009594 <[^>]*> nop -+00009598 <[^>]*> nop -+0000959c <[^>]*> nop -+000095a0 <[^>]*> nop -+000095a4 <[^>]*> nop -+000095a8 <[^>]*> nop -+000095ac <[^>]*> nop -+000095b0 <[^>]*> nop -+000095b4 <[^>]*> nop -+000095b8 <[^>]*> nop -+000095bc <[^>]*> nop -+000095c0 <[^>]*> nop -+000095c4 <[^>]*> nop -+000095c8 <[^>]*> nop -+000095cc <[^>]*> nop -+000095d0 <[^>]*> nop -+000095d4 <[^>]*> nop -+000095d8 <[^>]*> nop -+000095dc <[^>]*> nop -+000095e0 <[^>]*> nop -+000095e4 <[^>]*> nop -+000095e8 <[^>]*> nop -+000095ec <[^>]*> nop -+000095f0 <[^>]*> nop -+000095f4 <[^>]*> nop -+000095f8 <[^>]*> nop -+000095fc <[^>]*> nop -+00009600 <[^>]*> nop -+00009604 <[^>]*> nop -+00009608 <[^>]*> nop -+0000960c <[^>]*> nop -+00009610 <[^>]*> nop -+00009614 <[^>]*> nop -+00009618 <[^>]*> nop -+0000961c <[^>]*> nop -+00009620 <[^>]*> nop -+00009624 <[^>]*> nop -+00009628 <[^>]*> nop -+0000962c <[^>]*> nop -+00009630 <[^>]*> nop -+00009634 <[^>]*> nop -+00009638 <[^>]*> nop -+0000963c <[^>]*> nop -+00009640 <[^>]*> nop -+00009644 <[^>]*> nop -+00009648 <[^>]*> nop -+0000964c <[^>]*> nop -+00009650 <[^>]*> nop -+00009654 <[^>]*> nop -+00009658 <[^>]*> nop -+0000965c <[^>]*> nop -+00009660 <[^>]*> nop -+00009664 <[^>]*> nop -+00009668 <[^>]*> nop -+0000966c <[^>]*> nop -+00009670 <[^>]*> nop -+00009674 <[^>]*> nop -+00009678 <[^>]*> nop -+0000967c <[^>]*> nop -+00009680 <[^>]*> nop -+00009684 <[^>]*> nop -+00009688 <[^>]*> nop -+0000968c <[^>]*> nop -+00009690 <[^>]*> nop -+00009694 <[^>]*> nop -+00009698 <[^>]*> nop -+0000969c <[^>]*> nop -+000096a0 <[^>]*> nop -+000096a4 <[^>]*> nop -+000096a8 <[^>]*> nop -+000096ac <[^>]*> nop -+000096b0 <[^>]*> nop -+000096b4 <[^>]*> nop -+000096b8 <[^>]*> nop -+000096bc <[^>]*> nop -+000096c0 <[^>]*> nop -+000096c4 <[^>]*> nop -+000096c8 <[^>]*> nop -+000096cc <[^>]*> nop -+000096d0 <[^>]*> nop -+000096d4 <[^>]*> nop -+000096d8 <[^>]*> nop -+000096dc <[^>]*> nop -+000096e0 <[^>]*> nop -+000096e4 <[^>]*> nop -+000096e8 <[^>]*> nop -+000096ec <[^>]*> nop -+000096f0 <[^>]*> nop -+000096f4 <[^>]*> nop -+000096f8 <[^>]*> nop -+000096fc <[^>]*> nop -+00009700 <[^>]*> nop -+00009704 <[^>]*> nop -+00009708 <[^>]*> nop -+0000970c <[^>]*> nop -+00009710 <[^>]*> nop -+00009714 <[^>]*> nop -+00009718 <[^>]*> nop -+0000971c <[^>]*> nop -+00009720 <[^>]*> nop -+00009724 <[^>]*> nop -+00009728 <[^>]*> nop -+0000972c <[^>]*> nop -+00009730 <[^>]*> nop -+00009734 <[^>]*> nop -+00009738 <[^>]*> nop -+0000973c <[^>]*> nop -+00009740 <[^>]*> nop -+00009744 <[^>]*> nop -+00009748 <[^>]*> nop -+0000974c <[^>]*> nop -+00009750 <[^>]*> nop -+00009754 <[^>]*> nop -+00009758 <[^>]*> nop -+0000975c <[^>]*> nop -+00009760 <[^>]*> nop -+00009764 <[^>]*> nop -+00009768 <[^>]*> nop -+0000976c <[^>]*> nop -+00009770 <[^>]*> nop -+00009774 <[^>]*> nop -+00009778 <[^>]*> nop -+0000977c <[^>]*> nop -+00009780 <[^>]*> nop -+00009784 <[^>]*> nop -+00009788 <[^>]*> nop -+0000978c <[^>]*> nop -+00009790 <[^>]*> nop -+00009794 <[^>]*> nop -+00009798 <[^>]*> nop -+0000979c <[^>]*> nop -+000097a0 <[^>]*> nop -+000097a4 <[^>]*> nop -+000097a8 <[^>]*> nop -+000097ac <[^>]*> nop -+000097b0 <[^>]*> nop -+000097b4 <[^>]*> nop -+000097b8 <[^>]*> nop -+000097bc <[^>]*> nop -+000097c0 <[^>]*> nop -+000097c4 <[^>]*> nop -+000097c8 <[^>]*> nop -+000097cc <[^>]*> nop -+000097d0 <[^>]*> nop -+000097d4 <[^>]*> nop -+000097d8 <[^>]*> nop -+000097dc <[^>]*> nop -+000097e0 <[^>]*> nop -+000097e4 <[^>]*> nop -+000097e8 <[^>]*> nop -+000097ec <[^>]*> nop -+000097f0 <[^>]*> nop -+000097f4 <[^>]*> nop -+000097f8 <[^>]*> nop -+000097fc <[^>]*> nop -+00009800 <[^>]*> nop -+00009804 <[^>]*> nop -+00009808 <[^>]*> nop -+0000980c <[^>]*> nop -+00009810 <[^>]*> nop -+00009814 <[^>]*> nop -+00009818 <[^>]*> nop -+0000981c <[^>]*> nop -+00009820 <[^>]*> nop -+00009824 <[^>]*> nop -+00009828 <[^>]*> nop -+0000982c <[^>]*> nop -+00009830 <[^>]*> nop -+00009834 <[^>]*> nop -+00009838 <[^>]*> nop -+0000983c <[^>]*> nop -+00009840 <[^>]*> nop -+00009844 <[^>]*> nop -+00009848 <[^>]*> nop -+0000984c <[^>]*> nop -+00009850 <[^>]*> nop -+00009854 <[^>]*> nop -+00009858 <[^>]*> nop -+0000985c <[^>]*> nop -+00009860 <[^>]*> nop -+00009864 <[^>]*> nop -+00009868 <[^>]*> nop -+0000986c <[^>]*> nop -+00009870 <[^>]*> nop -+00009874 <[^>]*> nop -+00009878 <[^>]*> nop -+0000987c <[^>]*> nop -+00009880 <[^>]*> nop -+00009884 <[^>]*> nop -+00009888 <[^>]*> nop -+0000988c <[^>]*> nop -+00009890 <[^>]*> nop -+00009894 <[^>]*> nop -+00009898 <[^>]*> nop -+0000989c <[^>]*> nop -+000098a0 <[^>]*> nop -+000098a4 <[^>]*> nop -+000098a8 <[^>]*> nop -+000098ac <[^>]*> nop -+000098b0 <[^>]*> nop -+000098b4 <[^>]*> nop -+000098b8 <[^>]*> nop -+000098bc <[^>]*> nop -+000098c0 <[^>]*> nop -+000098c4 <[^>]*> nop -+000098c8 <[^>]*> nop -+000098cc <[^>]*> nop -+000098d0 <[^>]*> nop -+000098d4 <[^>]*> nop -+000098d8 <[^>]*> nop -+000098dc <[^>]*> nop -+000098e0 <[^>]*> nop -+000098e4 <[^>]*> nop -+000098e8 <[^>]*> nop -+000098ec <[^>]*> nop -+000098f0 <[^>]*> nop -+000098f4 <[^>]*> nop -+000098f8 <[^>]*> nop -+000098fc <[^>]*> nop -+00009900 <[^>]*> nop -+00009904 <[^>]*> nop -+00009908 <[^>]*> nop -+0000990c <[^>]*> nop -+00009910 <[^>]*> nop -+00009914 <[^>]*> nop -+00009918 <[^>]*> nop -+0000991c <[^>]*> nop -+00009920 <[^>]*> nop -+00009924 <[^>]*> nop -+00009928 <[^>]*> nop -+0000992c <[^>]*> nop -+00009930 <[^>]*> nop -+00009934 <[^>]*> nop -+00009938 <[^>]*> nop -+0000993c <[^>]*> nop -+00009940 <[^>]*> nop -+00009944 <[^>]*> nop -+00009948 <[^>]*> nop -+0000994c <[^>]*> nop -+00009950 <[^>]*> nop -+00009954 <[^>]*> nop -+00009958 <[^>]*> nop -+0000995c <[^>]*> nop -+00009960 <[^>]*> nop -+00009964 <[^>]*> nop -+00009968 <[^>]*> nop -+0000996c <[^>]*> nop -+00009970 <[^>]*> nop -+00009974 <[^>]*> nop -+00009978 <[^>]*> nop -+0000997c <[^>]*> nop -+00009980 <[^>]*> nop -+00009984 <[^>]*> nop -+00009988 <[^>]*> nop -+0000998c <[^>]*> nop -+00009990 <[^>]*> nop -+00009994 <[^>]*> nop -+00009998 <[^>]*> nop -+0000999c <[^>]*> nop -+000099a0 <[^>]*> nop -+000099a4 <[^>]*> nop -+000099a8 <[^>]*> nop -+000099ac <[^>]*> nop -+000099b0 <[^>]*> nop -+000099b4 <[^>]*> nop -+000099b8 <[^>]*> nop -+000099bc <[^>]*> nop -+000099c0 <[^>]*> nop -+000099c4 <[^>]*> nop -+000099c8 <[^>]*> nop -+000099cc <[^>]*> nop -+000099d0 <[^>]*> nop -+000099d4 <[^>]*> nop -+000099d8 <[^>]*> nop -+000099dc <[^>]*> nop -+000099e0 <[^>]*> nop -+000099e4 <[^>]*> nop -+000099e8 <[^>]*> nop -+000099ec <[^>]*> nop -+000099f0 <[^>]*> nop -+000099f4 <[^>]*> nop -+000099f8 <[^>]*> nop -+000099fc <[^>]*> nop -+00009a00 <[^>]*> nop -+00009a04 <[^>]*> nop -+00009a08 <[^>]*> nop -+00009a0c <[^>]*> nop -+00009a10 <[^>]*> nop -+00009a14 <[^>]*> nop -+00009a18 <[^>]*> nop -+00009a1c <[^>]*> nop -+00009a20 <[^>]*> nop -+00009a24 <[^>]*> nop -+00009a28 <[^>]*> nop -+00009a2c <[^>]*> nop -+00009a30 <[^>]*> nop -+00009a34 <[^>]*> nop -+00009a38 <[^>]*> nop -+00009a3c <[^>]*> nop -+00009a40 <[^>]*> nop -+00009a44 <[^>]*> nop -+00009a48 <[^>]*> nop -+00009a4c <[^>]*> nop -+00009a50 <[^>]*> nop -+00009a54 <[^>]*> nop -+00009a58 <[^>]*> nop -+00009a5c <[^>]*> nop -+00009a60 <[^>]*> nop -+00009a64 <[^>]*> nop -+00009a68 <[^>]*> nop -+00009a6c <[^>]*> nop -+00009a70 <[^>]*> nop -+00009a74 <[^>]*> nop -+00009a78 <[^>]*> nop -+00009a7c <[^>]*> nop -+00009a80 <[^>]*> nop -+00009a84 <[^>]*> nop -+00009a88 <[^>]*> nop -+00009a8c <[^>]*> nop -+00009a90 <[^>]*> nop -+00009a94 <[^>]*> nop -+00009a98 <[^>]*> nop -+00009a9c <[^>]*> nop -+00009aa0 <[^>]*> nop -+00009aa4 <[^>]*> nop -+00009aa8 <[^>]*> nop -+00009aac <[^>]*> nop -+00009ab0 <[^>]*> nop -+00009ab4 <[^>]*> nop -+00009ab8 <[^>]*> nop -+00009abc <[^>]*> nop -+00009ac0 <[^>]*> nop -+00009ac4 <[^>]*> nop -+00009ac8 <[^>]*> nop -+00009acc <[^>]*> nop -+00009ad0 <[^>]*> nop -+00009ad4 <[^>]*> nop -+00009ad8 <[^>]*> nop -+00009adc <[^>]*> nop -+00009ae0 <[^>]*> nop -+00009ae4 <[^>]*> nop -+00009ae8 <[^>]*> nop -+00009aec <[^>]*> nop -+00009af0 <[^>]*> nop -+00009af4 <[^>]*> nop -+00009af8 <[^>]*> nop -+00009afc <[^>]*> nop -+00009b00 <[^>]*> nop -+00009b04 <[^>]*> nop -+00009b08 <[^>]*> nop -+00009b0c <[^>]*> nop -+00009b10 <[^>]*> nop -+00009b14 <[^>]*> nop -+00009b18 <[^>]*> nop -+00009b1c <[^>]*> nop -+00009b20 <[^>]*> nop -+00009b24 <[^>]*> nop -+00009b28 <[^>]*> nop -+00009b2c <[^>]*> nop -+00009b30 <[^>]*> nop -+00009b34 <[^>]*> nop -+00009b38 <[^>]*> nop -+00009b3c <[^>]*> nop -+00009b40 <[^>]*> nop -+00009b44 <[^>]*> nop -+00009b48 <[^>]*> nop -+00009b4c <[^>]*> nop -+00009b50 <[^>]*> nop -+00009b54 <[^>]*> nop -+00009b58 <[^>]*> nop -+00009b5c <[^>]*> nop -+00009b60 <[^>]*> nop -+00009b64 <[^>]*> nop -+00009b68 <[^>]*> nop -+00009b6c <[^>]*> nop -+00009b70 <[^>]*> nop -+00009b74 <[^>]*> nop -+00009b78 <[^>]*> nop -+00009b7c <[^>]*> nop -+00009b80 <[^>]*> nop -+00009b84 <[^>]*> nop -+00009b88 <[^>]*> nop -+00009b8c <[^>]*> nop -+00009b90 <[^>]*> nop -+00009b94 <[^>]*> nop -+00009b98 <[^>]*> nop -+00009b9c <[^>]*> nop -+00009ba0 <[^>]*> nop -+00009ba4 <[^>]*> nop -+00009ba8 <[^>]*> nop -+00009bac <[^>]*> nop -+00009bb0 <[^>]*> nop -+00009bb4 <[^>]*> nop -+00009bb8 <[^>]*> nop -+00009bbc <[^>]*> nop -+00009bc0 <[^>]*> nop -+00009bc4 <[^>]*> nop -+00009bc8 <[^>]*> nop -+00009bcc <[^>]*> nop -+00009bd0 <[^>]*> nop -+00009bd4 <[^>]*> nop -+00009bd8 <[^>]*> nop -+00009bdc <[^>]*> nop -+00009be0 <[^>]*> nop -+00009be4 <[^>]*> nop -+00009be8 <[^>]*> nop -+00009bec <[^>]*> nop -+00009bf0 <[^>]*> nop -+00009bf4 <[^>]*> nop -+00009bf8 <[^>]*> nop -+00009bfc <[^>]*> nop -+00009c00 <[^>]*> nop -+00009c04 <[^>]*> nop -+00009c08 <[^>]*> nop -+00009c0c <[^>]*> nop -+00009c10 <[^>]*> nop -+00009c14 <[^>]*> nop -+00009c18 <[^>]*> nop -+00009c1c <[^>]*> nop -+00009c20 <[^>]*> nop -+00009c24 <[^>]*> nop -+00009c28 <[^>]*> nop -+00009c2c <[^>]*> nop -+00009c30 <[^>]*> nop -+00009c34 <[^>]*> nop -+00009c38 <[^>]*> nop -+00009c3c <[^>]*> nop -+00009c40 <[^>]*> nop -+00009c44 <[^>]*> nop -+00009c48 <[^>]*> nop -+00009c4c <[^>]*> nop -+00009c50 <[^>]*> nop -+00009c54 <[^>]*> nop -+00009c58 <[^>]*> nop -+00009c5c <[^>]*> nop -+00009c60 <[^>]*> nop -+00009c64 <[^>]*> nop -+00009c68 <[^>]*> nop -+00009c6c <[^>]*> nop -+00009c70 <[^>]*> nop -+00009c74 <[^>]*> nop -+00009c78 <[^>]*> nop -+00009c7c <[^>]*> nop -+00009c80 <[^>]*> nop -+00009c84 <[^>]*> nop -+00009c88 <[^>]*> nop -+00009c8c <[^>]*> nop -+00009c90 <[^>]*> nop -+00009c94 <[^>]*> nop -+00009c98 <[^>]*> nop -+00009c9c <[^>]*> nop -+00009ca0 <[^>]*> nop -+00009ca4 <[^>]*> nop -+00009ca8 <[^>]*> nop -+00009cac <[^>]*> nop -+00009cb0 <[^>]*> nop -+00009cb4 <[^>]*> nop -+00009cb8 <[^>]*> nop -+00009cbc <[^>]*> nop -+00009cc0 <[^>]*> nop -+00009cc4 <[^>]*> nop -+00009cc8 <[^>]*> nop -+00009ccc <[^>]*> nop -+00009cd0 <[^>]*> nop -+00009cd4 <[^>]*> nop -+00009cd8 <[^>]*> nop -+00009cdc <[^>]*> nop -+00009ce0 <[^>]*> nop -+00009ce4 <[^>]*> nop -+00009ce8 <[^>]*> nop -+00009cec <[^>]*> nop -+00009cf0 <[^>]*> nop -+00009cf4 <[^>]*> nop -+00009cf8 <[^>]*> nop -+00009cfc <[^>]*> nop -+00009d00 <[^>]*> nop -+00009d04 <[^>]*> nop -+00009d08 <[^>]*> nop -+00009d0c <[^>]*> nop -+00009d10 <[^>]*> nop -+00009d14 <[^>]*> nop -+00009d18 <[^>]*> nop -+00009d1c <[^>]*> nop -+00009d20 <[^>]*> nop -+00009d24 <[^>]*> nop -+00009d28 <[^>]*> nop -+00009d2c <[^>]*> nop -+00009d30 <[^>]*> nop -+00009d34 <[^>]*> nop -+00009d38 <[^>]*> nop -+00009d3c <[^>]*> nop -+00009d40 <[^>]*> nop -+00009d44 <[^>]*> nop -+00009d48 <[^>]*> nop -+00009d4c <[^>]*> nop -+00009d50 <[^>]*> nop -+00009d54 <[^>]*> nop -+00009d58 <[^>]*> nop -+00009d5c <[^>]*> nop -+00009d60 <[^>]*> nop -+00009d64 <[^>]*> nop -+00009d68 <[^>]*> nop -+00009d6c <[^>]*> nop -+00009d70 <[^>]*> nop -+00009d74 <[^>]*> nop -+00009d78 <[^>]*> nop -+00009d7c <[^>]*> nop -+00009d80 <[^>]*> nop -+00009d84 <[^>]*> nop -+00009d88 <[^>]*> nop -+00009d8c <[^>]*> nop -+00009d90 <[^>]*> nop -+00009d94 <[^>]*> nop -+00009d98 <[^>]*> nop -+00009d9c <[^>]*> nop -+00009da0 <[^>]*> nop -+00009da4 <[^>]*> nop -+00009da8 <[^>]*> nop -+00009dac <[^>]*> nop -+00009db0 <[^>]*> nop -+00009db4 <[^>]*> nop -+00009db8 <[^>]*> nop -+00009dbc <[^>]*> nop -+00009dc0 <[^>]*> nop -+00009dc4 <[^>]*> nop -+00009dc8 <[^>]*> nop -+00009dcc <[^>]*> nop -+00009dd0 <[^>]*> nop -+00009dd4 <[^>]*> nop -+00009dd8 <[^>]*> nop -+00009ddc <[^>]*> nop -+00009de0 <[^>]*> nop -+00009de4 <[^>]*> nop -+00009de8 <[^>]*> nop -+00009dec <[^>]*> nop -+00009df0 <[^>]*> nop -+00009df4 <[^>]*> nop -+00009df8 <[^>]*> nop -+00009dfc <[^>]*> nop -+00009e00 <[^>]*> nop -+00009e04 <[^>]*> nop -+00009e08 <[^>]*> nop -+00009e0c <[^>]*> nop -+00009e10 <[^>]*> nop -+00009e14 <[^>]*> nop -+00009e18 <[^>]*> nop -+00009e1c <[^>]*> nop -+00009e20 <[^>]*> nop -+00009e24 <[^>]*> nop -+00009e28 <[^>]*> nop -+00009e2c <[^>]*> nop -+00009e30 <[^>]*> nop -+00009e34 <[^>]*> nop -+00009e38 <[^>]*> nop -+00009e3c <[^>]*> nop -+00009e40 <[^>]*> nop -+00009e44 <[^>]*> nop -+00009e48 <[^>]*> nop -+00009e4c <[^>]*> nop -+00009e50 <[^>]*> nop -+00009e54 <[^>]*> nop -+00009e58 <[^>]*> nop -+00009e5c <[^>]*> nop -+00009e60 <[^>]*> nop -+00009e64 <[^>]*> nop -+00009e68 <[^>]*> nop -+00009e6c <[^>]*> nop -+00009e70 <[^>]*> nop -+00009e74 <[^>]*> nop -+00009e78 <[^>]*> nop -+00009e7c <[^>]*> nop -+00009e80 <[^>]*> nop -+00009e84 <[^>]*> nop -+00009e88 <[^>]*> nop -+00009e8c <[^>]*> nop -+00009e90 <[^>]*> nop -+00009e94 <[^>]*> nop -+00009e98 <[^>]*> nop -+00009e9c <[^>]*> nop -+00009ea0 <[^>]*> nop -+00009ea4 <[^>]*> nop -+00009ea8 <[^>]*> nop -+00009eac <[^>]*> nop -+00009eb0 <[^>]*> nop -+00009eb4 <[^>]*> nop -+00009eb8 <[^>]*> nop -+00009ebc <[^>]*> nop -+00009ec0 <[^>]*> nop -+00009ec4 <[^>]*> nop -+00009ec8 <[^>]*> nop -+00009ecc <[^>]*> nop -+00009ed0 <[^>]*> nop -+00009ed4 <[^>]*> nop -+00009ed8 <[^>]*> nop -+00009edc <[^>]*> nop -+00009ee0 <[^>]*> nop -+00009ee4 <[^>]*> nop -+00009ee8 <[^>]*> nop -+00009eec <[^>]*> nop -+00009ef0 <[^>]*> nop -+00009ef4 <[^>]*> nop -+00009ef8 <[^>]*> nop -+00009efc <[^>]*> nop -+00009f00 <[^>]*> nop -+00009f04 <[^>]*> nop -+00009f08 <[^>]*> nop -+00009f0c <[^>]*> nop -+00009f10 <[^>]*> nop -+00009f14 <[^>]*> nop -+00009f18 <[^>]*> nop -+00009f1c <[^>]*> nop -+00009f20 <[^>]*> nop -+00009f24 <[^>]*> nop -+00009f28 <[^>]*> nop -+00009f2c <[^>]*> nop -+00009f30 <[^>]*> nop -+00009f34 <[^>]*> nop -+00009f38 <[^>]*> nop -+00009f3c <[^>]*> nop -+00009f40 <[^>]*> nop -+00009f44 <[^>]*> nop -+00009f48 <[^>]*> nop -+00009f4c <[^>]*> nop -+00009f50 <[^>]*> nop -+00009f54 <[^>]*> nop -+00009f58 <[^>]*> nop -+00009f5c <[^>]*> nop -+00009f60 <[^>]*> nop -+00009f64 <[^>]*> nop -+00009f68 <[^>]*> nop -+00009f6c <[^>]*> nop -+00009f70 <[^>]*> nop -+00009f74 <[^>]*> nop -+00009f78 <[^>]*> nop -+00009f7c <[^>]*> nop -+00009f80 <[^>]*> nop -+00009f84 <[^>]*> nop -+00009f88 <[^>]*> nop -+00009f8c <[^>]*> nop -+00009f90 <[^>]*> nop -+00009f94 <[^>]*> nop -+00009f98 <[^>]*> nop -+00009f9c <[^>]*> nop -+00009fa0 <[^>]*> nop -+00009fa4 <[^>]*> nop -+00009fa8 <[^>]*> nop -+00009fac <[^>]*> nop -+00009fb0 <[^>]*> nop -+00009fb4 <[^>]*> nop -+00009fb8 <[^>]*> nop -+00009fbc <[^>]*> nop -+00009fc0 <[^>]*> nop -+00009fc4 <[^>]*> nop -+00009fc8 <[^>]*> nop -+00009fcc <[^>]*> nop -+00009fd0 <[^>]*> nop -+00009fd4 <[^>]*> nop -+00009fd8 <[^>]*> nop -+00009fdc <[^>]*> nop -+00009fe0 <[^>]*> nop -+00009fe4 <[^>]*> nop -+00009fe8 <[^>]*> nop -+00009fec <[^>]*> nop -+00009ff0 <[^>]*> nop -+00009ff4 <[^>]*> nop -+00009ff8 <[^>]*> nop -+00009ffc <[^>]*> nop -+0000a000 <[^>]*> nop -+0000a004 <[^>]*> nop -+0000a008 <[^>]*> nop -+0000a00c <[^>]*> nop -+0000a010 <[^>]*> nop -+0000a014 <[^>]*> nop -+0000a018 <[^>]*> nop -+0000a01c <[^>]*> nop -+0000a020 <[^>]*> nop -+0000a024 <[^>]*> nop -+0000a028 <[^>]*> nop -+0000a02c <[^>]*> nop -+0000a030 <[^>]*> nop -+0000a034 <[^>]*> nop -+0000a038 <[^>]*> nop -+0000a03c <[^>]*> nop -+0000a040 <[^>]*> nop -+0000a044 <[^>]*> nop -+0000a048 <[^>]*> nop -+0000a04c <[^>]*> nop -+0000a050 <[^>]*> nop -+0000a054 <[^>]*> nop -+0000a058 <[^>]*> nop -+0000a05c <[^>]*> nop -+0000a060 <[^>]*> nop -+0000a064 <[^>]*> nop -+0000a068 <[^>]*> nop -+0000a06c <[^>]*> nop -+0000a070 <[^>]*> nop -+0000a074 <[^>]*> nop -+0000a078 <[^>]*> nop -+0000a07c <[^>]*> nop -+0000a080 <[^>]*> nop -+0000a084 <[^>]*> nop -+0000a088 <[^>]*> nop -+0000a08c <[^>]*> nop -+0000a090 <[^>]*> nop -+0000a094 <[^>]*> nop -+0000a098 <[^>]*> nop -+0000a09c <[^>]*> nop -+0000a0a0 <[^>]*> nop -+0000a0a4 <[^>]*> nop -+0000a0a8 <[^>]*> nop -+0000a0ac <[^>]*> nop -+0000a0b0 <[^>]*> nop -+0000a0b4 <[^>]*> nop -+0000a0b8 <[^>]*> nop -+0000a0bc <[^>]*> nop -+0000a0c0 <[^>]*> nop -+0000a0c4 <[^>]*> nop -+0000a0c8 <[^>]*> nop -+0000a0cc <[^>]*> nop -+0000a0d0 <[^>]*> nop -+0000a0d4 <[^>]*> nop -+0000a0d8 <[^>]*> nop -+0000a0dc <[^>]*> nop -+0000a0e0 <[^>]*> nop -+0000a0e4 <[^>]*> nop -+0000a0e8 <[^>]*> nop -+0000a0ec <[^>]*> nop -+0000a0f0 <[^>]*> nop -+0000a0f4 <[^>]*> nop -+0000a0f8 <[^>]*> nop -+0000a0fc <[^>]*> nop -+0000a100 <[^>]*> nop -+0000a104 <[^>]*> nop -+0000a108 <[^>]*> nop -+0000a10c <[^>]*> nop -+0000a110 <[^>]*> nop -+0000a114 <[^>]*> nop -+0000a118 <[^>]*> nop -+0000a11c <[^>]*> nop -+0000a120 <[^>]*> nop -+0000a124 <[^>]*> nop -+0000a128 <[^>]*> nop -+0000a12c <[^>]*> nop -+0000a130 <[^>]*> nop -+0000a134 <[^>]*> nop -+0000a138 <[^>]*> nop -+0000a13c <[^>]*> nop -+0000a140 <[^>]*> nop -+0000a144 <[^>]*> nop -+0000a148 <[^>]*> nop -+0000a14c <[^>]*> nop -+0000a150 <[^>]*> nop -+0000a154 <[^>]*> nop -+0000a158 <[^>]*> nop -+0000a15c <[^>]*> nop -+0000a160 <[^>]*> nop -+0000a164 <[^>]*> nop -+0000a168 <[^>]*> nop -+0000a16c <[^>]*> nop -+0000a170 <[^>]*> nop -+0000a174 <[^>]*> nop -+0000a178 <[^>]*> nop -+0000a17c <[^>]*> nop -+0000a180 <[^>]*> nop -+0000a184 <[^>]*> nop -+0000a188 <[^>]*> nop -+0000a18c <[^>]*> nop -+0000a190 <[^>]*> nop -+0000a194 <[^>]*> nop -+0000a198 <[^>]*> nop -+0000a19c <[^>]*> nop -+0000a1a0 <[^>]*> nop -+0000a1a4 <[^>]*> nop -+0000a1a8 <[^>]*> nop -+0000a1ac <[^>]*> nop -+0000a1b0 <[^>]*> nop -+0000a1b4 <[^>]*> nop -+0000a1b8 <[^>]*> nop -+0000a1bc <[^>]*> nop -+0000a1c0 <[^>]*> nop -+0000a1c4 <[^>]*> nop -+0000a1c8 <[^>]*> nop -+0000a1cc <[^>]*> nop -+0000a1d0 <[^>]*> nop -+0000a1d4 <[^>]*> nop -+0000a1d8 <[^>]*> nop -+0000a1dc <[^>]*> nop -+0000a1e0 <[^>]*> nop -+0000a1e4 <[^>]*> nop -+0000a1e8 <[^>]*> nop -+0000a1ec <[^>]*> nop -+0000a1f0 <[^>]*> nop -+0000a1f4 <[^>]*> nop -+0000a1f8 <[^>]*> nop -+0000a1fc <[^>]*> nop -+0000a200 <[^>]*> nop -+0000a204 <[^>]*> nop -+0000a208 <[^>]*> nop -+0000a20c <[^>]*> nop -+0000a210 <[^>]*> nop -+0000a214 <[^>]*> nop -+0000a218 <[^>]*> nop -+0000a21c <[^>]*> nop -+0000a220 <[^>]*> nop -+0000a224 <[^>]*> nop -+0000a228 <[^>]*> nop -+0000a22c <[^>]*> nop -+0000a230 <[^>]*> nop -+0000a234 <[^>]*> nop -+0000a238 <[^>]*> nop -+0000a23c <[^>]*> nop -+0000a240 <[^>]*> nop -+0000a244 <[^>]*> nop -+0000a248 <[^>]*> nop -+0000a24c <[^>]*> nop -+0000a250 <[^>]*> nop -+0000a254 <[^>]*> nop -+0000a258 <[^>]*> nop -+0000a25c <[^>]*> nop -+0000a260 <[^>]*> nop -+0000a264 <[^>]*> nop -+0000a268 <[^>]*> nop -+0000a26c <[^>]*> nop -+0000a270 <[^>]*> nop -+0000a274 <[^>]*> nop -+0000a278 <[^>]*> nop -+0000a27c <[^>]*> nop -+0000a280 <[^>]*> nop -+0000a284 <[^>]*> nop -+0000a288 <[^>]*> nop -+0000a28c <[^>]*> nop -+0000a290 <[^>]*> nop -+0000a294 <[^>]*> nop -+0000a298 <[^>]*> nop -+0000a29c <[^>]*> nop -+0000a2a0 <[^>]*> nop -+0000a2a4 <[^>]*> nop -+0000a2a8 <[^>]*> nop -+0000a2ac <[^>]*> nop -+0000a2b0 <[^>]*> nop -+0000a2b4 <[^>]*> nop -+0000a2b8 <[^>]*> nop -+0000a2bc <[^>]*> nop -+0000a2c0 <[^>]*> nop -+0000a2c4 <[^>]*> nop -+0000a2c8 <[^>]*> nop -+0000a2cc <[^>]*> nop -+0000a2d0 <[^>]*> nop -+0000a2d4 <[^>]*> nop -+0000a2d8 <[^>]*> nop -+0000a2dc <[^>]*> nop -+0000a2e0 <[^>]*> nop -+0000a2e4 <[^>]*> nop -+0000a2e8 <[^>]*> nop -+0000a2ec <[^>]*> nop -+0000a2f0 <[^>]*> nop -+0000a2f4 <[^>]*> nop -+0000a2f8 <[^>]*> nop -+0000a2fc <[^>]*> nop -+0000a300 <[^>]*> nop -+0000a304 <[^>]*> nop -+0000a308 <[^>]*> nop -+0000a30c <[^>]*> nop -+0000a310 <[^>]*> nop -+0000a314 <[^>]*> nop -+0000a318 <[^>]*> nop -+0000a31c <[^>]*> nop -+0000a320 <[^>]*> nop -+0000a324 <[^>]*> nop -+0000a328 <[^>]*> nop -+0000a32c <[^>]*> nop -+0000a330 <[^>]*> nop -+0000a334 <[^>]*> nop -+0000a338 <[^>]*> nop -+0000a33c <[^>]*> nop -+0000a340 <[^>]*> nop -+0000a344 <[^>]*> nop -+0000a348 <[^>]*> nop -+0000a34c <[^>]*> nop -+0000a350 <[^>]*> nop -+0000a354 <[^>]*> nop -+0000a358 <[^>]*> nop -+0000a35c <[^>]*> nop -+0000a360 <[^>]*> nop -+0000a364 <[^>]*> nop -+0000a368 <[^>]*> nop -+0000a36c <[^>]*> nop -+0000a370 <[^>]*> nop -+0000a374 <[^>]*> nop -+0000a378 <[^>]*> nop -+0000a37c <[^>]*> nop -+0000a380 <[^>]*> nop -+0000a384 <[^>]*> nop -+0000a388 <[^>]*> nop -+0000a38c <[^>]*> nop -+0000a390 <[^>]*> nop -+0000a394 <[^>]*> nop -+0000a398 <[^>]*> nop -+0000a39c <[^>]*> nop -+0000a3a0 <[^>]*> nop -+0000a3a4 <[^>]*> nop -+0000a3a8 <[^>]*> nop -+0000a3ac <[^>]*> nop -+0000a3b0 <[^>]*> nop -+0000a3b4 <[^>]*> nop -+0000a3b8 <[^>]*> nop -+0000a3bc <[^>]*> nop -+0000a3c0 <[^>]*> nop -+0000a3c4 <[^>]*> nop -+0000a3c8 <[^>]*> nop -+0000a3cc <[^>]*> nop -+0000a3d0 <[^>]*> nop -+0000a3d4 <[^>]*> nop -+0000a3d8 <[^>]*> nop -+0000a3dc <[^>]*> nop -+0000a3e0 <[^>]*> nop -+0000a3e4 <[^>]*> nop -+0000a3e8 <[^>]*> nop -+0000a3ec <[^>]*> nop -+0000a3f0 <[^>]*> nop -+0000a3f4 <[^>]*> nop -+0000a3f8 <[^>]*> nop -+0000a3fc <[^>]*> nop -+0000a400 <[^>]*> nop -+0000a404 <[^>]*> nop -+0000a408 <[^>]*> nop -+0000a40c <[^>]*> nop -+0000a410 <[^>]*> nop -+0000a414 <[^>]*> nop -+0000a418 <[^>]*> nop -+0000a41c <[^>]*> nop -+0000a420 <[^>]*> nop -+0000a424 <[^>]*> nop -+0000a428 <[^>]*> nop -+0000a42c <[^>]*> nop -+0000a430 <[^>]*> nop -+0000a434 <[^>]*> nop -+0000a438 <[^>]*> nop -+0000a43c <[^>]*> nop -+0000a440 <[^>]*> nop -+0000a444 <[^>]*> nop -+0000a448 <[^>]*> nop -+0000a44c <[^>]*> nop -+0000a450 <[^>]*> nop -+0000a454 <[^>]*> nop -+0000a458 <[^>]*> nop -+0000a45c <[^>]*> nop -+0000a460 <[^>]*> nop -+0000a464 <[^>]*> nop -+0000a468 <[^>]*> nop -+0000a46c <[^>]*> nop -+0000a470 <[^>]*> nop -+0000a474 <[^>]*> nop -+0000a478 <[^>]*> nop -+0000a47c <[^>]*> nop -+0000a480 <[^>]*> nop -+0000a484 <[^>]*> nop -+0000a488 <[^>]*> nop -+0000a48c <[^>]*> nop -+0000a490 <[^>]*> nop -+0000a494 <[^>]*> nop -+0000a498 <[^>]*> nop -+0000a49c <[^>]*> nop -+0000a4a0 <[^>]*> nop -+0000a4a4 <[^>]*> nop -+0000a4a8 <[^>]*> nop -+0000a4ac <[^>]*> nop -+0000a4b0 <[^>]*> nop -+0000a4b4 <[^>]*> nop -+0000a4b8 <[^>]*> nop -+0000a4bc <[^>]*> nop -+0000a4c0 <[^>]*> nop -+0000a4c4 <[^>]*> nop -+0000a4c8 <[^>]*> nop -+0000a4cc <[^>]*> nop -+0000a4d0 <[^>]*> nop -+0000a4d4 <[^>]*> nop -+0000a4d8 <[^>]*> nop -+0000a4dc <[^>]*> nop -+0000a4e0 <[^>]*> nop -+0000a4e4 <[^>]*> nop -+0000a4e8 <[^>]*> nop -+0000a4ec <[^>]*> nop -+0000a4f0 <[^>]*> nop -+0000a4f4 <[^>]*> nop -+0000a4f8 <[^>]*> nop -+0000a4fc <[^>]*> nop -+0000a500 <[^>]*> nop -+0000a504 <[^>]*> nop -+0000a508 <[^>]*> nop -+0000a50c <[^>]*> nop -+0000a510 <[^>]*> nop -+0000a514 <[^>]*> nop -+0000a518 <[^>]*> nop -+0000a51c <[^>]*> nop -+0000a520 <[^>]*> nop -+0000a524 <[^>]*> nop -+0000a528 <[^>]*> nop -+0000a52c <[^>]*> nop -+0000a530 <[^>]*> nop -+0000a534 <[^>]*> nop -+0000a538 <[^>]*> nop -+0000a53c <[^>]*> nop -+0000a540 <[^>]*> nop -+0000a544 <[^>]*> nop -+0000a548 <[^>]*> nop -+0000a54c <[^>]*> nop -+0000a550 <[^>]*> nop -+0000a554 <[^>]*> nop -+0000a558 <[^>]*> nop -+0000a55c <[^>]*> nop -+0000a560 <[^>]*> nop -+0000a564 <[^>]*> nop -+0000a568 <[^>]*> nop -+0000a56c <[^>]*> nop -+0000a570 <[^>]*> nop -+0000a574 <[^>]*> nop -+0000a578 <[^>]*> nop -+0000a57c <[^>]*> nop -+0000a580 <[^>]*> nop -+0000a584 <[^>]*> nop -+0000a588 <[^>]*> nop -+0000a58c <[^>]*> nop -+0000a590 <[^>]*> nop -+0000a594 <[^>]*> nop -+0000a598 <[^>]*> nop -+0000a59c <[^>]*> nop -+0000a5a0 <[^>]*> nop -+0000a5a4 <[^>]*> nop -+0000a5a8 <[^>]*> nop -+0000a5ac <[^>]*> nop -+0000a5b0 <[^>]*> nop -+0000a5b4 <[^>]*> nop -+0000a5b8 <[^>]*> nop -+0000a5bc <[^>]*> nop -+0000a5c0 <[^>]*> nop -+0000a5c4 <[^>]*> nop -+0000a5c8 <[^>]*> nop -+0000a5cc <[^>]*> nop -+0000a5d0 <[^>]*> nop -+0000a5d4 <[^>]*> nop -+0000a5d8 <[^>]*> nop -+0000a5dc <[^>]*> nop -+0000a5e0 <[^>]*> nop -+0000a5e4 <[^>]*> nop -+0000a5e8 <[^>]*> nop -+0000a5ec <[^>]*> nop -+0000a5f0 <[^>]*> nop -+0000a5f4 <[^>]*> nop -+0000a5f8 <[^>]*> nop -+0000a5fc <[^>]*> nop -+0000a600 <[^>]*> nop -+0000a604 <[^>]*> nop -+0000a608 <[^>]*> nop -+0000a60c <[^>]*> nop -+0000a610 <[^>]*> nop -+0000a614 <[^>]*> nop -+0000a618 <[^>]*> nop -+0000a61c <[^>]*> nop -+0000a620 <[^>]*> nop -+0000a624 <[^>]*> nop -+0000a628 <[^>]*> nop -+0000a62c <[^>]*> nop -+0000a630 <[^>]*> nop -+0000a634 <[^>]*> nop -+0000a638 <[^>]*> nop -+0000a63c <[^>]*> nop -+0000a640 <[^>]*> nop -+0000a644 <[^>]*> nop -+0000a648 <[^>]*> nop -+0000a64c <[^>]*> nop -+0000a650 <[^>]*> nop -+0000a654 <[^>]*> nop -+0000a658 <[^>]*> nop -+0000a65c <[^>]*> nop -+0000a660 <[^>]*> nop -+0000a664 <[^>]*> nop -+0000a668 <[^>]*> nop -+0000a66c <[^>]*> nop -+0000a670 <[^>]*> nop -+0000a674 <[^>]*> nop -+0000a678 <[^>]*> nop -+0000a67c <[^>]*> nop -+0000a680 <[^>]*> nop -+0000a684 <[^>]*> nop -+0000a688 <[^>]*> nop -+0000a68c <[^>]*> nop -+0000a690 <[^>]*> nop -+0000a694 <[^>]*> nop -+0000a698 <[^>]*> nop -+0000a69c <[^>]*> nop -+0000a6a0 <[^>]*> nop -+0000a6a4 <[^>]*> nop -+0000a6a8 <[^>]*> nop -+0000a6ac <[^>]*> nop -+0000a6b0 <[^>]*> nop -+0000a6b4 <[^>]*> nop -+0000a6b8 <[^>]*> nop -+0000a6bc <[^>]*> nop -+0000a6c0 <[^>]*> nop -+0000a6c4 <[^>]*> nop -+0000a6c8 <[^>]*> nop -+0000a6cc <[^>]*> nop -+0000a6d0 <[^>]*> nop -+0000a6d4 <[^>]*> nop -+0000a6d8 <[^>]*> nop -+0000a6dc <[^>]*> nop -+0000a6e0 <[^>]*> nop -+0000a6e4 <[^>]*> nop -+0000a6e8 <[^>]*> nop -+0000a6ec <[^>]*> nop -+0000a6f0 <[^>]*> nop -+0000a6f4 <[^>]*> nop -+0000a6f8 <[^>]*> nop -+0000a6fc <[^>]*> nop -+0000a700 <[^>]*> nop -+0000a704 <[^>]*> nop -+0000a708 <[^>]*> nop -+0000a70c <[^>]*> nop -+0000a710 <[^>]*> nop -+0000a714 <[^>]*> nop -+0000a718 <[^>]*> nop -+0000a71c <[^>]*> nop -+0000a720 <[^>]*> nop -+0000a724 <[^>]*> nop -+0000a728 <[^>]*> nop -+0000a72c <[^>]*> nop -+0000a730 <[^>]*> nop -+0000a734 <[^>]*> nop -+0000a738 <[^>]*> nop -+0000a73c <[^>]*> nop -+0000a740 <[^>]*> nop -+0000a744 <[^>]*> nop -+0000a748 <[^>]*> nop -+0000a74c <[^>]*> nop -+0000a750 <[^>]*> nop -+0000a754 <[^>]*> nop -+0000a758 <[^>]*> nop -+0000a75c <[^>]*> nop -+0000a760 <[^>]*> nop -+0000a764 <[^>]*> nop -+0000a768 <[^>]*> nop -+0000a76c <[^>]*> nop -+0000a770 <[^>]*> nop -+0000a774 <[^>]*> nop -+0000a778 <[^>]*> nop -+0000a77c <[^>]*> nop -+0000a780 <[^>]*> nop -+0000a784 <[^>]*> nop -+0000a788 <[^>]*> nop -+0000a78c <[^>]*> nop -+0000a790 <[^>]*> nop -+0000a794 <[^>]*> nop -+0000a798 <[^>]*> nop -+0000a79c <[^>]*> nop -+0000a7a0 <[^>]*> nop -+0000a7a4 <[^>]*> nop -+0000a7a8 <[^>]*> nop -+0000a7ac <[^>]*> nop -+0000a7b0 <[^>]*> nop -+0000a7b4 <[^>]*> nop -+0000a7b8 <[^>]*> nop -+0000a7bc <[^>]*> nop -+0000a7c0 <[^>]*> nop -+0000a7c4 <[^>]*> nop -+0000a7c8 <[^>]*> nop -+0000a7cc <[^>]*> nop -+0000a7d0 <[^>]*> nop -+0000a7d4 <[^>]*> nop -+0000a7d8 <[^>]*> nop -+0000a7dc <[^>]*> nop -+0000a7e0 <[^>]*> nop -+0000a7e4 <[^>]*> nop -+0000a7e8 <[^>]*> nop -+0000a7ec <[^>]*> nop -+0000a7f0 <[^>]*> nop -+0000a7f4 <[^>]*> nop -+0000a7f8 <[^>]*> nop -+0000a7fc <[^>]*> nop -+0000a800 <[^>]*> nop -+0000a804 <[^>]*> nop -+0000a808 <[^>]*> nop -+0000a80c <[^>]*> nop -+0000a810 <[^>]*> nop -+0000a814 <[^>]*> nop -+0000a818 <[^>]*> nop -+0000a81c <[^>]*> nop -+0000a820 <[^>]*> nop -+0000a824 <[^>]*> nop -+0000a828 <[^>]*> nop -+0000a82c <[^>]*> nop -+0000a830 <[^>]*> nop -+0000a834 <[^>]*> nop -+0000a838 <[^>]*> nop -+0000a83c <[^>]*> nop -+0000a840 <[^>]*> nop -+0000a844 <[^>]*> nop -+0000a848 <[^>]*> nop -+0000a84c <[^>]*> nop -+0000a850 <[^>]*> nop -+0000a854 <[^>]*> nop -+0000a858 <[^>]*> nop -+0000a85c <[^>]*> nop -+0000a860 <[^>]*> nop -+0000a864 <[^>]*> nop -+0000a868 <[^>]*> nop -+0000a86c <[^>]*> nop -+0000a870 <[^>]*> nop -+0000a874 <[^>]*> nop -+0000a878 <[^>]*> nop -+0000a87c <[^>]*> nop -+0000a880 <[^>]*> nop -+0000a884 <[^>]*> nop -+0000a888 <[^>]*> nop -+0000a88c <[^>]*> nop -+0000a890 <[^>]*> nop -+0000a894 <[^>]*> nop -+0000a898 <[^>]*> nop -+0000a89c <[^>]*> nop -+0000a8a0 <[^>]*> nop -+0000a8a4 <[^>]*> nop -+0000a8a8 <[^>]*> nop -+0000a8ac <[^>]*> nop -+0000a8b0 <[^>]*> nop -+0000a8b4 <[^>]*> nop -+0000a8b8 <[^>]*> nop -+0000a8bc <[^>]*> nop -+0000a8c0 <[^>]*> nop -+0000a8c4 <[^>]*> nop -+0000a8c8 <[^>]*> nop -+0000a8cc <[^>]*> nop -+0000a8d0 <[^>]*> nop -+0000a8d4 <[^>]*> nop -+0000a8d8 <[^>]*> nop -+0000a8dc <[^>]*> nop -+0000a8e0 <[^>]*> nop -+0000a8e4 <[^>]*> nop -+0000a8e8 <[^>]*> nop -+0000a8ec <[^>]*> nop -+0000a8f0 <[^>]*> nop -+0000a8f4 <[^>]*> nop -+0000a8f8 <[^>]*> nop -+0000a8fc <[^>]*> nop -+0000a900 <[^>]*> nop -+0000a904 <[^>]*> nop -+0000a908 <[^>]*> nop -+0000a90c <[^>]*> nop -+0000a910 <[^>]*> nop -+0000a914 <[^>]*> nop -+0000a918 <[^>]*> nop -+0000a91c <[^>]*> nop -+0000a920 <[^>]*> nop -+0000a924 <[^>]*> nop -+0000a928 <[^>]*> nop -+0000a92c <[^>]*> nop -+0000a930 <[^>]*> nop -+0000a934 <[^>]*> nop -+0000a938 <[^>]*> nop -+0000a93c <[^>]*> nop -+0000a940 <[^>]*> nop -+0000a944 <[^>]*> nop -+0000a948 <[^>]*> nop -+0000a94c <[^>]*> nop -+0000a950 <[^>]*> nop -+0000a954 <[^>]*> nop -+0000a958 <[^>]*> nop -+0000a95c <[^>]*> nop -+0000a960 <[^>]*> nop -+0000a964 <[^>]*> nop -+0000a968 <[^>]*> nop -+0000a96c <[^>]*> nop -+0000a970 <[^>]*> nop -+0000a974 <[^>]*> nop -+0000a978 <[^>]*> nop -+0000a97c <[^>]*> nop -+0000a980 <[^>]*> nop -+0000a984 <[^>]*> nop -+0000a988 <[^>]*> nop -+0000a98c <[^>]*> nop -+0000a990 <[^>]*> nop -+0000a994 <[^>]*> nop -+0000a998 <[^>]*> nop -+0000a99c <[^>]*> nop -+0000a9a0 <[^>]*> nop -+0000a9a4 <[^>]*> nop -+0000a9a8 <[^>]*> nop -+0000a9ac <[^>]*> nop -+0000a9b0 <[^>]*> nop -+0000a9b4 <[^>]*> nop -+0000a9b8 <[^>]*> nop -+0000a9bc <[^>]*> nop -+0000a9c0 <[^>]*> nop -+0000a9c4 <[^>]*> nop -+0000a9c8 <[^>]*> nop -+0000a9cc <[^>]*> nop -+0000a9d0 <[^>]*> nop -+0000a9d4 <[^>]*> nop -+0000a9d8 <[^>]*> nop -+0000a9dc <[^>]*> nop -+0000a9e0 <[^>]*> nop -+0000a9e4 <[^>]*> nop -+0000a9e8 <[^>]*> nop -+0000a9ec <[^>]*> nop -+0000a9f0 <[^>]*> nop -+0000a9f4 <[^>]*> nop -+0000a9f8 <[^>]*> nop -+0000a9fc <[^>]*> nop -+0000aa00 <[^>]*> nop -+0000aa04 <[^>]*> nop -+0000aa08 <[^>]*> nop -+0000aa0c <[^>]*> nop -+0000aa10 <[^>]*> nop -+0000aa14 <[^>]*> nop -+0000aa18 <[^>]*> nop -+0000aa1c <[^>]*> nop -+0000aa20 <[^>]*> nop -+0000aa24 <[^>]*> nop -+0000aa28 <[^>]*> nop -+0000aa2c <[^>]*> nop -+0000aa30 <[^>]*> nop -+0000aa34 <[^>]*> nop -+0000aa38 <[^>]*> nop -+0000aa3c <[^>]*> nop -+0000aa40 <[^>]*> nop -+0000aa44 <[^>]*> nop -+0000aa48 <[^>]*> nop -+0000aa4c <[^>]*> nop -+0000aa50 <[^>]*> nop -+0000aa54 <[^>]*> nop -+0000aa58 <[^>]*> nop -+0000aa5c <[^>]*> nop -+0000aa60 <[^>]*> nop -+0000aa64 <[^>]*> nop -+0000aa68 <[^>]*> nop -+0000aa6c <[^>]*> nop -+0000aa70 <[^>]*> nop -+0000aa74 <[^>]*> nop -+0000aa78 <[^>]*> nop -+0000aa7c <[^>]*> nop -+0000aa80 <[^>]*> nop -+0000aa84 <[^>]*> nop -+0000aa88 <[^>]*> nop -+0000aa8c <[^>]*> nop -+0000aa90 <[^>]*> nop -+0000aa94 <[^>]*> nop -+0000aa98 <[^>]*> nop -+0000aa9c <[^>]*> nop -+0000aaa0 <[^>]*> nop -+0000aaa4 <[^>]*> nop -+0000aaa8 <[^>]*> nop -+0000aaac <[^>]*> nop -+0000aab0 <[^>]*> nop -+0000aab4 <[^>]*> nop -+0000aab8 <[^>]*> nop -+0000aabc <[^>]*> nop -+0000aac0 <[^>]*> nop -+0000aac4 <[^>]*> nop -+0000aac8 <[^>]*> nop -+0000aacc <[^>]*> nop -+0000aad0 <[^>]*> nop -+0000aad4 <[^>]*> nop -+0000aad8 <[^>]*> nop -+0000aadc <[^>]*> nop -+0000aae0 <[^>]*> nop -+0000aae4 <[^>]*> nop -+0000aae8 <[^>]*> nop -+0000aaec <[^>]*> nop -+0000aaf0 <[^>]*> nop -+0000aaf4 <[^>]*> nop -+0000aaf8 <[^>]*> nop -+0000aafc <[^>]*> nop -+0000ab00 <[^>]*> nop -+0000ab04 <[^>]*> nop -+0000ab08 <[^>]*> nop -+0000ab0c <[^>]*> nop -+0000ab10 <[^>]*> nop -+0000ab14 <[^>]*> nop -+0000ab18 <[^>]*> nop -+0000ab1c <[^>]*> nop -+0000ab20 <[^>]*> nop -+0000ab24 <[^>]*> nop -+0000ab28 <[^>]*> nop -+0000ab2c <[^>]*> nop -+0000ab30 <[^>]*> nop -+0000ab34 <[^>]*> nop -+0000ab38 <[^>]*> nop -+0000ab3c <[^>]*> nop -+0000ab40 <[^>]*> nop -+0000ab44 <[^>]*> nop -+0000ab48 <[^>]*> nop -+0000ab4c <[^>]*> nop -+0000ab50 <[^>]*> nop -+0000ab54 <[^>]*> nop -+0000ab58 <[^>]*> nop -+0000ab5c <[^>]*> nop -+0000ab60 <[^>]*> nop -+0000ab64 <[^>]*> nop -+0000ab68 <[^>]*> nop -+0000ab6c <[^>]*> nop -+0000ab70 <[^>]*> nop -+0000ab74 <[^>]*> nop -+0000ab78 <[^>]*> nop -+0000ab7c <[^>]*> nop -+0000ab80 <[^>]*> nop -+0000ab84 <[^>]*> nop -+0000ab88 <[^>]*> nop -+0000ab8c <[^>]*> nop -+0000ab90 <[^>]*> nop -+0000ab94 <[^>]*> nop -+0000ab98 <[^>]*> nop -+0000ab9c <[^>]*> nop -+0000aba0 <[^>]*> nop -+0000aba4 <[^>]*> nop -+0000aba8 <[^>]*> nop -+0000abac <[^>]*> nop -+0000abb0 <[^>]*> nop -+0000abb4 <[^>]*> nop -+0000abb8 <[^>]*> nop -+0000abbc <[^>]*> nop -+0000abc0 <[^>]*> nop -+0000abc4 <[^>]*> nop -+0000abc8 <[^>]*> nop -+0000abcc <[^>]*> nop -+0000abd0 <[^>]*> nop -+0000abd4 <[^>]*> nop -+0000abd8 <[^>]*> nop -+0000abdc <[^>]*> nop -+0000abe0 <[^>]*> nop -+0000abe4 <[^>]*> nop -+0000abe8 <[^>]*> nop -+0000abec <[^>]*> nop -+0000abf0 <[^>]*> nop -+0000abf4 <[^>]*> nop -+0000abf8 <[^>]*> nop -+0000abfc <[^>]*> nop -+0000ac00 <[^>]*> nop -+0000ac04 <[^>]*> nop -+0000ac08 <[^>]*> nop -+0000ac0c <[^>]*> nop -+0000ac10 <[^>]*> nop -+0000ac14 <[^>]*> nop -+0000ac18 <[^>]*> nop -+0000ac1c <[^>]*> nop -+0000ac20 <[^>]*> nop -+0000ac24 <[^>]*> nop -+0000ac28 <[^>]*> nop -+0000ac2c <[^>]*> nop -+0000ac30 <[^>]*> nop -+0000ac34 <[^>]*> nop -+0000ac38 <[^>]*> nop -+0000ac3c <[^>]*> nop -+0000ac40 <[^>]*> nop -+0000ac44 <[^>]*> nop -+0000ac48 <[^>]*> nop -+0000ac4c <[^>]*> nop -+0000ac50 <[^>]*> nop -+0000ac54 <[^>]*> nop -+0000ac58 <[^>]*> nop -+0000ac5c <[^>]*> nop -+0000ac60 <[^>]*> nop -+0000ac64 <[^>]*> nop -+0000ac68 <[^>]*> nop -+0000ac6c <[^>]*> nop -+0000ac70 <[^>]*> nop -+0000ac74 <[^>]*> nop -+0000ac78 <[^>]*> nop -+0000ac7c <[^>]*> nop -+0000ac80 <[^>]*> nop -+0000ac84 <[^>]*> nop -+0000ac88 <[^>]*> nop -+0000ac8c <[^>]*> nop -+0000ac90 <[^>]*> nop -+0000ac94 <[^>]*> nop -+0000ac98 <[^>]*> nop -+0000ac9c <[^>]*> nop -+0000aca0 <[^>]*> nop -+0000aca4 <[^>]*> nop -+0000aca8 <[^>]*> nop -+0000acac <[^>]*> nop -+0000acb0 <[^>]*> nop -+0000acb4 <[^>]*> nop -+0000acb8 <[^>]*> nop -+0000acbc <[^>]*> nop -+0000acc0 <[^>]*> nop -+0000acc4 <[^>]*> nop -+0000acc8 <[^>]*> nop -+0000accc <[^>]*> nop -+0000acd0 <[^>]*> nop -+0000acd4 <[^>]*> nop -+0000acd8 <[^>]*> nop -+0000acdc <[^>]*> nop -+0000ace0 <[^>]*> nop -+0000ace4 <[^>]*> nop -+0000ace8 <[^>]*> nop -+0000acec <[^>]*> nop -+0000acf0 <[^>]*> nop -+0000acf4 <[^>]*> nop -+0000acf8 <[^>]*> nop -+0000acfc <[^>]*> nop -+0000ad00 <[^>]*> nop -+0000ad04 <[^>]*> nop -+0000ad08 <[^>]*> nop -+0000ad0c <[^>]*> nop -+0000ad10 <[^>]*> nop -+0000ad14 <[^>]*> nop -+0000ad18 <[^>]*> nop -+0000ad1c <[^>]*> nop -+0000ad20 <[^>]*> nop -+0000ad24 <[^>]*> nop -+0000ad28 <[^>]*> nop -+0000ad2c <[^>]*> nop -+0000ad30 <[^>]*> nop -+0000ad34 <[^>]*> nop -+0000ad38 <[^>]*> nop -+0000ad3c <[^>]*> nop -+0000ad40 <[^>]*> nop -+0000ad44 <[^>]*> nop -+0000ad48 <[^>]*> nop -+0000ad4c <[^>]*> nop -+0000ad50 <[^>]*> nop -+0000ad54 <[^>]*> nop -+0000ad58 <[^>]*> nop -+0000ad5c <[^>]*> nop -+0000ad60 <[^>]*> nop -+0000ad64 <[^>]*> nop -+0000ad68 <[^>]*> nop -+0000ad6c <[^>]*> nop -+0000ad70 <[^>]*> nop -+0000ad74 <[^>]*> nop -+0000ad78 <[^>]*> nop -+0000ad7c <[^>]*> nop -+0000ad80 <[^>]*> nop -+0000ad84 <[^>]*> nop -+0000ad88 <[^>]*> nop -+0000ad8c <[^>]*> nop -+0000ad90 <[^>]*> nop -+0000ad94 <[^>]*> nop -+0000ad98 <[^>]*> nop -+0000ad9c <[^>]*> nop -+0000ada0 <[^>]*> nop -+0000ada4 <[^>]*> nop -+0000ada8 <[^>]*> nop -+0000adac <[^>]*> nop -+0000adb0 <[^>]*> nop -+0000adb4 <[^>]*> nop -+0000adb8 <[^>]*> nop -+0000adbc <[^>]*> nop -+0000adc0 <[^>]*> nop -+0000adc4 <[^>]*> nop -+0000adc8 <[^>]*> nop -+0000adcc <[^>]*> nop -+0000add0 <[^>]*> nop -+0000add4 <[^>]*> nop -+0000add8 <[^>]*> nop -+0000addc <[^>]*> nop -+0000ade0 <[^>]*> nop -+0000ade4 <[^>]*> nop -+0000ade8 <[^>]*> nop -+0000adec <[^>]*> nop -+0000adf0 <[^>]*> nop -+0000adf4 <[^>]*> nop -+0000adf8 <[^>]*> nop -+0000adfc <[^>]*> nop -+0000ae00 <[^>]*> nop -+0000ae04 <[^>]*> nop -+0000ae08 <[^>]*> nop -+0000ae0c <[^>]*> nop -+0000ae10 <[^>]*> nop -+0000ae14 <[^>]*> nop -+0000ae18 <[^>]*> nop -+0000ae1c <[^>]*> nop -+0000ae20 <[^>]*> nop -+0000ae24 <[^>]*> nop -+0000ae28 <[^>]*> nop -+0000ae2c <[^>]*> nop -+0000ae30 <[^>]*> nop -+0000ae34 <[^>]*> nop -+0000ae38 <[^>]*> nop -+0000ae3c <[^>]*> nop -+0000ae40 <[^>]*> nop -+0000ae44 <[^>]*> nop -+0000ae48 <[^>]*> nop -+0000ae4c <[^>]*> nop -+0000ae50 <[^>]*> nop -+0000ae54 <[^>]*> nop -+0000ae58 <[^>]*> nop -+0000ae5c <[^>]*> nop -+0000ae60 <[^>]*> nop -+0000ae64 <[^>]*> nop -+0000ae68 <[^>]*> nop -+0000ae6c <[^>]*> nop -+0000ae70 <[^>]*> nop -+0000ae74 <[^>]*> nop -+0000ae78 <[^>]*> nop -+0000ae7c <[^>]*> nop -+0000ae80 <[^>]*> nop -+0000ae84 <[^>]*> nop -+0000ae88 <[^>]*> nop -+0000ae8c <[^>]*> nop -+0000ae90 <[^>]*> nop -+0000ae94 <[^>]*> nop -+0000ae98 <[^>]*> nop -+0000ae9c <[^>]*> nop -+0000aea0 <[^>]*> nop -+0000aea4 <[^>]*> nop -+0000aea8 <[^>]*> nop -+0000aeac <[^>]*> nop -+0000aeb0 <[^>]*> nop -+0000aeb4 <[^>]*> nop -+0000aeb8 <[^>]*> nop -+0000aebc <[^>]*> nop -+0000aec0 <[^>]*> nop -+0000aec4 <[^>]*> nop -+0000aec8 <[^>]*> nop -+0000aecc <[^>]*> nop -+0000aed0 <[^>]*> nop -+0000aed4 <[^>]*> nop -+0000aed8 <[^>]*> nop -+0000aedc <[^>]*> nop -+0000aee0 <[^>]*> nop -+0000aee4 <[^>]*> nop -+0000aee8 <[^>]*> nop -+0000aeec <[^>]*> nop -+0000aef0 <[^>]*> nop -+0000aef4 <[^>]*> nop -+0000aef8 <[^>]*> nop -+0000aefc <[^>]*> nop -+0000af00 <[^>]*> nop -+0000af04 <[^>]*> nop -+0000af08 <[^>]*> nop -+0000af0c <[^>]*> nop -+0000af10 <[^>]*> nop -+0000af14 <[^>]*> nop -+0000af18 <[^>]*> nop -+0000af1c <[^>]*> nop -+0000af20 <[^>]*> nop -+0000af24 <[^>]*> nop -+0000af28 <[^>]*> nop -+0000af2c <[^>]*> nop -+0000af30 <[^>]*> nop -+0000af34 <[^>]*> nop -+0000af38 <[^>]*> nop -+0000af3c <[^>]*> nop -+0000af40 <[^>]*> nop -+0000af44 <[^>]*> nop -+0000af48 <[^>]*> nop -+0000af4c <[^>]*> nop -+0000af50 <[^>]*> nop -+0000af54 <[^>]*> nop -+0000af58 <[^>]*> nop -+0000af5c <[^>]*> nop -+0000af60 <[^>]*> nop -+0000af64 <[^>]*> nop -+0000af68 <[^>]*> nop -+0000af6c <[^>]*> nop -+0000af70 <[^>]*> nop -+0000af74 <[^>]*> nop -+0000af78 <[^>]*> nop -+0000af7c <[^>]*> nop -+0000af80 <[^>]*> nop -+0000af84 <[^>]*> nop -+0000af88 <[^>]*> nop -+0000af8c <[^>]*> nop -+0000af90 <[^>]*> nop -+0000af94 <[^>]*> nop -+0000af98 <[^>]*> nop -+0000af9c <[^>]*> nop -+0000afa0 <[^>]*> nop -+0000afa4 <[^>]*> nop -+0000afa8 <[^>]*> nop -+0000afac <[^>]*> nop -+0000afb0 <[^>]*> nop -+0000afb4 <[^>]*> nop -+0000afb8 <[^>]*> nop -+0000afbc <[^>]*> nop -+0000afc0 <[^>]*> nop -+0000afc4 <[^>]*> nop -+0000afc8 <[^>]*> nop -+0000afcc <[^>]*> nop -+0000afd0 <[^>]*> nop -+0000afd4 <[^>]*> nop -+0000afd8 <[^>]*> nop -+0000afdc <[^>]*> nop -+0000afe0 <[^>]*> nop -+0000afe4 <[^>]*> nop -+0000afe8 <[^>]*> nop -+0000afec <[^>]*> nop -+0000aff0 <[^>]*> nop -+0000aff4 <[^>]*> nop -+0000aff8 <[^>]*> nop -+0000affc <[^>]*> nop -+0000b000 <[^>]*> nop -+0000b004 <[^>]*> nop -+0000b008 <[^>]*> nop -+0000b00c <[^>]*> nop -+0000b010 <[^>]*> nop -+0000b014 <[^>]*> nop -+0000b018 <[^>]*> nop -+0000b01c <[^>]*> nop -+0000b020 <[^>]*> nop -+0000b024 <[^>]*> nop -+0000b028 <[^>]*> nop -+0000b02c <[^>]*> nop -+0000b030 <[^>]*> nop -+0000b034 <[^>]*> nop -+0000b038 <[^>]*> nop -+0000b03c <[^>]*> nop -+0000b040 <[^>]*> nop -+0000b044 <[^>]*> nop -+0000b048 <[^>]*> nop -+0000b04c <[^>]*> nop -+0000b050 <[^>]*> nop -+0000b054 <[^>]*> nop -+0000b058 <[^>]*> nop -+0000b05c <[^>]*> nop -+0000b060 <[^>]*> nop -+0000b064 <[^>]*> nop -+0000b068 <[^>]*> nop -+0000b06c <[^>]*> nop -+0000b070 <[^>]*> nop -+0000b074 <[^>]*> nop -+0000b078 <[^>]*> nop -+0000b07c <[^>]*> nop -+0000b080 <[^>]*> nop -+0000b084 <[^>]*> nop -+0000b088 <[^>]*> nop -+0000b08c <[^>]*> nop -+0000b090 <[^>]*> nop -+0000b094 <[^>]*> nop -+0000b098 <[^>]*> nop -+0000b09c <[^>]*> nop -+0000b0a0 <[^>]*> nop -+0000b0a4 <[^>]*> nop -+0000b0a8 <[^>]*> nop -+0000b0ac <[^>]*> nop -+0000b0b0 <[^>]*> nop -+0000b0b4 <[^>]*> nop -+0000b0b8 <[^>]*> nop -+0000b0bc <[^>]*> nop -+0000b0c0 <[^>]*> nop -+0000b0c4 <[^>]*> nop -+0000b0c8 <[^>]*> nop -+0000b0cc <[^>]*> nop -+0000b0d0 <[^>]*> nop -+0000b0d4 <[^>]*> nop -+0000b0d8 <[^>]*> nop -+0000b0dc <[^>]*> nop -+0000b0e0 <[^>]*> nop -+0000b0e4 <[^>]*> nop -+0000b0e8 <[^>]*> nop -+0000b0ec <[^>]*> nop -+0000b0f0 <[^>]*> nop -+0000b0f4 <[^>]*> nop -+0000b0f8 <[^>]*> nop -+0000b0fc <[^>]*> nop -+0000b100 <[^>]*> nop -+0000b104 <[^>]*> nop -+0000b108 <[^>]*> nop -+0000b10c <[^>]*> nop -+0000b110 <[^>]*> nop -+0000b114 <[^>]*> nop -+0000b118 <[^>]*> nop -+0000b11c <[^>]*> nop -+0000b120 <[^>]*> nop -+0000b124 <[^>]*> nop -+0000b128 <[^>]*> nop -+0000b12c <[^>]*> nop -+0000b130 <[^>]*> nop -+0000b134 <[^>]*> nop -+0000b138 <[^>]*> nop -+0000b13c <[^>]*> nop -+0000b140 <[^>]*> nop -+0000b144 <[^>]*> nop -+0000b148 <[^>]*> nop -+0000b14c <[^>]*> nop -+0000b150 <[^>]*> nop -+0000b154 <[^>]*> nop -+0000b158 <[^>]*> nop -+0000b15c <[^>]*> nop -+0000b160 <[^>]*> nop -+0000b164 <[^>]*> nop -+0000b168 <[^>]*> nop -+0000b16c <[^>]*> nop -+0000b170 <[^>]*> nop -+0000b174 <[^>]*> nop -+0000b178 <[^>]*> nop -+0000b17c <[^>]*> nop -+0000b180 <[^>]*> nop -+0000b184 <[^>]*> nop -+0000b188 <[^>]*> nop -+0000b18c <[^>]*> nop -+0000b190 <[^>]*> nop -+0000b194 <[^>]*> nop -+0000b198 <[^>]*> nop -+0000b19c <[^>]*> nop -+0000b1a0 <[^>]*> nop -+0000b1a4 <[^>]*> nop -+0000b1a8 <[^>]*> nop -+0000b1ac <[^>]*> nop -+0000b1b0 <[^>]*> nop -+0000b1b4 <[^>]*> nop -+0000b1b8 <[^>]*> nop -+0000b1bc <[^>]*> nop -+0000b1c0 <[^>]*> nop -+0000b1c4 <[^>]*> nop -+0000b1c8 <[^>]*> nop -+0000b1cc <[^>]*> nop -+0000b1d0 <[^>]*> nop -+0000b1d4 <[^>]*> nop -+0000b1d8 <[^>]*> nop -+0000b1dc <[^>]*> nop -+0000b1e0 <[^>]*> nop -+0000b1e4 <[^>]*> nop -+0000b1e8 <[^>]*> nop -+0000b1ec <[^>]*> nop -+0000b1f0 <[^>]*> nop -+0000b1f4 <[^>]*> nop -+0000b1f8 <[^>]*> nop -+0000b1fc <[^>]*> nop -+0000b200 <[^>]*> nop -+0000b204 <[^>]*> nop -+0000b208 <[^>]*> nop -+0000b20c <[^>]*> nop -+0000b210 <[^>]*> nop -+0000b214 <[^>]*> nop -+0000b218 <[^>]*> nop -+0000b21c <[^>]*> nop -+0000b220 <[^>]*> nop -+0000b224 <[^>]*> nop -+0000b228 <[^>]*> nop -+0000b22c <[^>]*> nop -+0000b230 <[^>]*> nop -+0000b234 <[^>]*> nop -+0000b238 <[^>]*> nop -+0000b23c <[^>]*> nop -+0000b240 <[^>]*> nop -+0000b244 <[^>]*> nop -+0000b248 <[^>]*> nop -+0000b24c <[^>]*> nop -+0000b250 <[^>]*> nop -+0000b254 <[^>]*> nop -+0000b258 <[^>]*> nop -+0000b25c <[^>]*> nop -+0000b260 <[^>]*> nop -+0000b264 <[^>]*> nop -+0000b268 <[^>]*> nop -+0000b26c <[^>]*> nop -+0000b270 <[^>]*> nop -+0000b274 <[^>]*> nop -+0000b278 <[^>]*> nop -+0000b27c <[^>]*> nop -+0000b280 <[^>]*> nop -+0000b284 <[^>]*> nop -+0000b288 <[^>]*> nop -+0000b28c <[^>]*> nop -+0000b290 <[^>]*> nop -+0000b294 <[^>]*> nop -+0000b298 <[^>]*> nop -+0000b29c <[^>]*> nop -+0000b2a0 <[^>]*> nop -+0000b2a4 <[^>]*> nop -+0000b2a8 <[^>]*> nop -+0000b2ac <[^>]*> nop -+0000b2b0 <[^>]*> nop -+0000b2b4 <[^>]*> nop -+0000b2b8 <[^>]*> nop -+0000b2bc <[^>]*> nop -+0000b2c0 <[^>]*> nop -+0000b2c4 <[^>]*> nop -+0000b2c8 <[^>]*> nop -+0000b2cc <[^>]*> nop -+0000b2d0 <[^>]*> nop -+0000b2d4 <[^>]*> nop -+0000b2d8 <[^>]*> nop -+0000b2dc <[^>]*> nop -+0000b2e0 <[^>]*> nop -+0000b2e4 <[^>]*> nop -+0000b2e8 <[^>]*> nop -+0000b2ec <[^>]*> nop -+0000b2f0 <[^>]*> nop -+0000b2f4 <[^>]*> nop -+0000b2f8 <[^>]*> nop -+0000b2fc <[^>]*> nop -+0000b300 <[^>]*> nop -+0000b304 <[^>]*> nop -+0000b308 <[^>]*> nop -+0000b30c <[^>]*> nop -+0000b310 <[^>]*> nop -+0000b314 <[^>]*> nop -+0000b318 <[^>]*> nop -+0000b31c <[^>]*> nop -+0000b320 <[^>]*> nop -+0000b324 <[^>]*> nop -+0000b328 <[^>]*> nop -+0000b32c <[^>]*> nop -+0000b330 <[^>]*> nop -+0000b334 <[^>]*> nop -+0000b338 <[^>]*> nop -+0000b33c <[^>]*> nop -+0000b340 <[^>]*> nop -+0000b344 <[^>]*> nop -+0000b348 <[^>]*> nop -+0000b34c <[^>]*> nop -+0000b350 <[^>]*> nop -+0000b354 <[^>]*> nop -+0000b358 <[^>]*> nop -+0000b35c <[^>]*> nop -+0000b360 <[^>]*> nop -+0000b364 <[^>]*> nop -+0000b368 <[^>]*> nop -+0000b36c <[^>]*> nop -+0000b370 <[^>]*> nop -+0000b374 <[^>]*> nop -+0000b378 <[^>]*> nop -+0000b37c <[^>]*> nop -+0000b380 <[^>]*> nop -+0000b384 <[^>]*> nop -+0000b388 <[^>]*> nop -+0000b38c <[^>]*> nop -+0000b390 <[^>]*> nop -+0000b394 <[^>]*> nop -+0000b398 <[^>]*> nop -+0000b39c <[^>]*> nop -+0000b3a0 <[^>]*> nop -+0000b3a4 <[^>]*> nop -+0000b3a8 <[^>]*> nop -+0000b3ac <[^>]*> nop -+0000b3b0 <[^>]*> nop -+0000b3b4 <[^>]*> nop -+0000b3b8 <[^>]*> nop -+0000b3bc <[^>]*> nop -+0000b3c0 <[^>]*> nop -+0000b3c4 <[^>]*> nop -+0000b3c8 <[^>]*> nop -+0000b3cc <[^>]*> nop -+0000b3d0 <[^>]*> nop -+0000b3d4 <[^>]*> nop -+0000b3d8 <[^>]*> nop -+0000b3dc <[^>]*> nop -+0000b3e0 <[^>]*> nop -+0000b3e4 <[^>]*> nop -+0000b3e8 <[^>]*> nop -+0000b3ec <[^>]*> nop -+0000b3f0 <[^>]*> nop -+0000b3f4 <[^>]*> nop -+0000b3f8 <[^>]*> nop -+0000b3fc <[^>]*> nop -+0000b400 <[^>]*> nop -+0000b404 <[^>]*> nop -+0000b408 <[^>]*> nop -+0000b40c <[^>]*> nop -+0000b410 <[^>]*> nop -+0000b414 <[^>]*> nop -+0000b418 <[^>]*> nop -+0000b41c <[^>]*> nop -+0000b420 <[^>]*> nop -+0000b424 <[^>]*> nop -+0000b428 <[^>]*> nop -+0000b42c <[^>]*> nop -+0000b430 <[^>]*> nop -+0000b434 <[^>]*> nop -+0000b438 <[^>]*> nop -+0000b43c <[^>]*> nop -+0000b440 <[^>]*> nop -+0000b444 <[^>]*> nop -+0000b448 <[^>]*> nop -+0000b44c <[^>]*> nop -+0000b450 <[^>]*> nop -+0000b454 <[^>]*> nop -+0000b458 <[^>]*> nop -+0000b45c <[^>]*> nop -+0000b460 <[^>]*> nop -+0000b464 <[^>]*> nop -+0000b468 <[^>]*> nop -+0000b46c <[^>]*> nop -+0000b470 <[^>]*> nop -+0000b474 <[^>]*> nop -+0000b478 <[^>]*> nop -+0000b47c <[^>]*> nop -+0000b480 <[^>]*> nop -+0000b484 <[^>]*> nop -+0000b488 <[^>]*> nop -+0000b48c <[^>]*> nop -+0000b490 <[^>]*> nop -+0000b494 <[^>]*> nop -+0000b498 <[^>]*> nop -+0000b49c <[^>]*> nop -+0000b4a0 <[^>]*> nop -+0000b4a4 <[^>]*> nop -+0000b4a8 <[^>]*> nop -+0000b4ac <[^>]*> nop -+0000b4b0 <[^>]*> nop -+0000b4b4 <[^>]*> nop -+0000b4b8 <[^>]*> nop -+0000b4bc <[^>]*> nop -+0000b4c0 <[^>]*> nop -+0000b4c4 <[^>]*> nop -+0000b4c8 <[^>]*> nop -+0000b4cc <[^>]*> nop -+0000b4d0 <[^>]*> nop -+0000b4d4 <[^>]*> nop -+0000b4d8 <[^>]*> nop -+0000b4dc <[^>]*> nop -+0000b4e0 <[^>]*> nop -+0000b4e4 <[^>]*> nop -+0000b4e8 <[^>]*> nop -+0000b4ec <[^>]*> nop -+0000b4f0 <[^>]*> nop -+0000b4f4 <[^>]*> nop -+0000b4f8 <[^>]*> nop -+0000b4fc <[^>]*> nop -+0000b500 <[^>]*> nop -+0000b504 <[^>]*> nop -+0000b508 <[^>]*> nop -+0000b50c <[^>]*> nop -+0000b510 <[^>]*> nop -+0000b514 <[^>]*> nop -+0000b518 <[^>]*> nop -+0000b51c <[^>]*> nop -+0000b520 <[^>]*> nop -+0000b524 <[^>]*> nop -+0000b528 <[^>]*> nop -+0000b52c <[^>]*> nop -+0000b530 <[^>]*> nop -+0000b534 <[^>]*> nop -+0000b538 <[^>]*> nop -+0000b53c <[^>]*> nop -+0000b540 <[^>]*> nop -+0000b544 <[^>]*> nop -+0000b548 <[^>]*> nop -+0000b54c <[^>]*> nop -+0000b550 <[^>]*> nop -+0000b554 <[^>]*> nop -+0000b558 <[^>]*> nop -+0000b55c <[^>]*> nop -+0000b560 <[^>]*> nop -+0000b564 <[^>]*> nop -+0000b568 <[^>]*> nop -+0000b56c <[^>]*> nop -+0000b570 <[^>]*> nop -+0000b574 <[^>]*> nop -+0000b578 <[^>]*> nop -+0000b57c <[^>]*> nop -+0000b580 <[^>]*> nop -+0000b584 <[^>]*> nop -+0000b588 <[^>]*> nop -+0000b58c <[^>]*> nop -+0000b590 <[^>]*> nop -+0000b594 <[^>]*> nop -+0000b598 <[^>]*> nop -+0000b59c <[^>]*> nop -+0000b5a0 <[^>]*> nop -+0000b5a4 <[^>]*> nop -+0000b5a8 <[^>]*> nop -+0000b5ac <[^>]*> nop -+0000b5b0 <[^>]*> nop -+0000b5b4 <[^>]*> nop -+0000b5b8 <[^>]*> nop -+0000b5bc <[^>]*> nop -+0000b5c0 <[^>]*> nop -+0000b5c4 <[^>]*> nop -+0000b5c8 <[^>]*> nop -+0000b5cc <[^>]*> nop -+0000b5d0 <[^>]*> nop -+0000b5d4 <[^>]*> nop -+0000b5d8 <[^>]*> nop -+0000b5dc <[^>]*> nop -+0000b5e0 <[^>]*> nop -+0000b5e4 <[^>]*> nop -+0000b5e8 <[^>]*> nop -+0000b5ec <[^>]*> nop -+0000b5f0 <[^>]*> nop -+0000b5f4 <[^>]*> nop -+0000b5f8 <[^>]*> nop -+0000b5fc <[^>]*> nop -+0000b600 <[^>]*> nop -+0000b604 <[^>]*> nop -+0000b608 <[^>]*> nop -+0000b60c <[^>]*> nop -+0000b610 <[^>]*> nop -+0000b614 <[^>]*> nop -+0000b618 <[^>]*> nop -+0000b61c <[^>]*> nop -+0000b620 <[^>]*> nop -+0000b624 <[^>]*> nop -+0000b628 <[^>]*> nop -+0000b62c <[^>]*> nop -+0000b630 <[^>]*> nop -+0000b634 <[^>]*> nop -+0000b638 <[^>]*> nop -+0000b63c <[^>]*> nop -+0000b640 <[^>]*> nop -+0000b644 <[^>]*> nop -+0000b648 <[^>]*> nop -+0000b64c <[^>]*> nop -+0000b650 <[^>]*> nop -+0000b654 <[^>]*> nop -+0000b658 <[^>]*> nop -+0000b65c <[^>]*> nop -+0000b660 <[^>]*> nop -+0000b664 <[^>]*> nop -+0000b668 <[^>]*> nop -+0000b66c <[^>]*> nop -+0000b670 <[^>]*> nop -+0000b674 <[^>]*> nop -+0000b678 <[^>]*> nop -+0000b67c <[^>]*> nop -+0000b680 <[^>]*> nop -+0000b684 <[^>]*> nop -+0000b688 <[^>]*> nop -+0000b68c <[^>]*> nop -+0000b690 <[^>]*> nop -+0000b694 <[^>]*> nop -+0000b698 <[^>]*> nop -+0000b69c <[^>]*> nop -+0000b6a0 <[^>]*> nop -+0000b6a4 <[^>]*> nop -+0000b6a8 <[^>]*> nop -+0000b6ac <[^>]*> nop -+0000b6b0 <[^>]*> nop -+0000b6b4 <[^>]*> nop -+0000b6b8 <[^>]*> nop -+0000b6bc <[^>]*> nop -+0000b6c0 <[^>]*> nop -+0000b6c4 <[^>]*> nop -+0000b6c8 <[^>]*> nop -+0000b6cc <[^>]*> nop -+0000b6d0 <[^>]*> nop -+0000b6d4 <[^>]*> nop -+0000b6d8 <[^>]*> nop -+0000b6dc <[^>]*> nop -+0000b6e0 <[^>]*> nop -+0000b6e4 <[^>]*> nop -+0000b6e8 <[^>]*> nop -+0000b6ec <[^>]*> nop -+0000b6f0 <[^>]*> nop -+0000b6f4 <[^>]*> nop -+0000b6f8 <[^>]*> nop -+0000b6fc <[^>]*> nop -+0000b700 <[^>]*> nop -+0000b704 <[^>]*> nop -+0000b708 <[^>]*> nop -+0000b70c <[^>]*> nop -+0000b710 <[^>]*> nop -+0000b714 <[^>]*> nop -+0000b718 <[^>]*> nop -+0000b71c <[^>]*> nop -+0000b720 <[^>]*> nop -+0000b724 <[^>]*> nop -+0000b728 <[^>]*> nop -+0000b72c <[^>]*> nop -+0000b730 <[^>]*> nop -+0000b734 <[^>]*> nop -+0000b738 <[^>]*> nop -+0000b73c <[^>]*> nop -+0000b740 <[^>]*> nop -+0000b744 <[^>]*> nop -+0000b748 <[^>]*> nop -+0000b74c <[^>]*> nop -+0000b750 <[^>]*> nop -+0000b754 <[^>]*> nop -+0000b758 <[^>]*> nop -+0000b75c <[^>]*> nop -+0000b760 <[^>]*> nop -+0000b764 <[^>]*> nop -+0000b768 <[^>]*> nop -+0000b76c <[^>]*> nop -+0000b770 <[^>]*> nop -+0000b774 <[^>]*> nop -+0000b778 <[^>]*> nop -+0000b77c <[^>]*> nop -+0000b780 <[^>]*> nop -+0000b784 <[^>]*> nop -+0000b788 <[^>]*> nop -+0000b78c <[^>]*> nop -+0000b790 <[^>]*> nop -+0000b794 <[^>]*> nop -+0000b798 <[^>]*> nop -+0000b79c <[^>]*> nop -+0000b7a0 <[^>]*> nop -+0000b7a4 <[^>]*> nop -+0000b7a8 <[^>]*> nop -+0000b7ac <[^>]*> nop -+0000b7b0 <[^>]*> nop -+0000b7b4 <[^>]*> nop -+0000b7b8 <[^>]*> nop -+0000b7bc <[^>]*> nop -+0000b7c0 <[^>]*> nop -+0000b7c4 <[^>]*> nop -+0000b7c8 <[^>]*> nop -+0000b7cc <[^>]*> nop -+0000b7d0 <[^>]*> nop -+0000b7d4 <[^>]*> nop -+0000b7d8 <[^>]*> nop -+0000b7dc <[^>]*> nop -+0000b7e0 <[^>]*> nop -+0000b7e4 <[^>]*> nop -+0000b7e8 <[^>]*> nop -+0000b7ec <[^>]*> nop -+0000b7f0 <[^>]*> nop -+0000b7f4 <[^>]*> nop -+0000b7f8 <[^>]*> nop -+0000b7fc <[^>]*> nop -+0000b800 <[^>]*> nop -+0000b804 <[^>]*> nop -+0000b808 <[^>]*> nop -+0000b80c <[^>]*> nop -+0000b810 <[^>]*> nop -+0000b814 <[^>]*> nop -+0000b818 <[^>]*> nop -+0000b81c <[^>]*> nop -+0000b820 <[^>]*> nop -+0000b824 <[^>]*> nop -+0000b828 <[^>]*> nop -+0000b82c <[^>]*> nop -+0000b830 <[^>]*> nop -+0000b834 <[^>]*> nop -+0000b838 <[^>]*> nop -+0000b83c <[^>]*> nop -+0000b840 <[^>]*> nop -+0000b844 <[^>]*> nop -+0000b848 <[^>]*> nop -+0000b84c <[^>]*> nop -+0000b850 <[^>]*> nop -+0000b854 <[^>]*> nop -+0000b858 <[^>]*> nop -+0000b85c <[^>]*> nop -+0000b860 <[^>]*> nop -+0000b864 <[^>]*> nop -+0000b868 <[^>]*> nop -+0000b86c <[^>]*> nop -+0000b870 <[^>]*> nop -+0000b874 <[^>]*> nop -+0000b878 <[^>]*> nop -+0000b87c <[^>]*> nop -+0000b880 <[^>]*> nop -+0000b884 <[^>]*> nop -+0000b888 <[^>]*> nop -+0000b88c <[^>]*> nop -+0000b890 <[^>]*> nop -+0000b894 <[^>]*> nop -+0000b898 <[^>]*> nop -+0000b89c <[^>]*> nop -+0000b8a0 <[^>]*> nop -+0000b8a4 <[^>]*> nop -+0000b8a8 <[^>]*> nop -+0000b8ac <[^>]*> nop -+0000b8b0 <[^>]*> nop -+0000b8b4 <[^>]*> nop -+0000b8b8 <[^>]*> nop -+0000b8bc <[^>]*> nop -+0000b8c0 <[^>]*> nop -+0000b8c4 <[^>]*> nop -+0000b8c8 <[^>]*> nop -+0000b8cc <[^>]*> nop -+0000b8d0 <[^>]*> nop -+0000b8d4 <[^>]*> nop -+0000b8d8 <[^>]*> nop -+0000b8dc <[^>]*> nop -+0000b8e0 <[^>]*> nop -+0000b8e4 <[^>]*> nop -+0000b8e8 <[^>]*> nop -+0000b8ec <[^>]*> nop -+0000b8f0 <[^>]*> nop -+0000b8f4 <[^>]*> nop -+0000b8f8 <[^>]*> nop -+0000b8fc <[^>]*> nop -+0000b900 <[^>]*> nop -+0000b904 <[^>]*> nop -+0000b908 <[^>]*> nop -+0000b90c <[^>]*> nop -+0000b910 <[^>]*> nop -+0000b914 <[^>]*> nop -+0000b918 <[^>]*> nop -+0000b91c <[^>]*> nop -+0000b920 <[^>]*> nop -+0000b924 <[^>]*> nop -+0000b928 <[^>]*> nop -+0000b92c <[^>]*> nop -+0000b930 <[^>]*> nop -+0000b934 <[^>]*> nop -+0000b938 <[^>]*> nop -+0000b93c <[^>]*> nop -+0000b940 <[^>]*> nop -+0000b944 <[^>]*> nop -+0000b948 <[^>]*> nop -+0000b94c <[^>]*> nop -+0000b950 <[^>]*> nop -+0000b954 <[^>]*> nop -+0000b958 <[^>]*> nop -+0000b95c <[^>]*> nop -+0000b960 <[^>]*> nop -+0000b964 <[^>]*> nop -+0000b968 <[^>]*> nop -+0000b96c <[^>]*> nop -+0000b970 <[^>]*> nop -+0000b974 <[^>]*> nop -+0000b978 <[^>]*> nop -+0000b97c <[^>]*> nop -+0000b980 <[^>]*> nop -+0000b984 <[^>]*> nop -+0000b988 <[^>]*> nop -+0000b98c <[^>]*> nop -+0000b990 <[^>]*> nop -+0000b994 <[^>]*> nop -+0000b998 <[^>]*> nop -+0000b99c <[^>]*> nop -+0000b9a0 <[^>]*> nop -+0000b9a4 <[^>]*> nop -+0000b9a8 <[^>]*> nop -+0000b9ac <[^>]*> nop -+0000b9b0 <[^>]*> nop -+0000b9b4 <[^>]*> nop -+0000b9b8 <[^>]*> nop -+0000b9bc <[^>]*> nop -+0000b9c0 <[^>]*> nop -+0000b9c4 <[^>]*> nop -+0000b9c8 <[^>]*> nop -+0000b9cc <[^>]*> nop -+0000b9d0 <[^>]*> nop -+0000b9d4 <[^>]*> nop -+0000b9d8 <[^>]*> nop -+0000b9dc <[^>]*> nop -+0000b9e0 <[^>]*> nop -+0000b9e4 <[^>]*> nop -+0000b9e8 <[^>]*> nop -+0000b9ec <[^>]*> nop -+0000b9f0 <[^>]*> nop -+0000b9f4 <[^>]*> nop -+0000b9f8 <[^>]*> nop -+0000b9fc <[^>]*> nop -+0000ba00 <[^>]*> nop -+0000ba04 <[^>]*> nop -+0000ba08 <[^>]*> nop -+0000ba0c <[^>]*> nop -+0000ba10 <[^>]*> nop -+0000ba14 <[^>]*> nop -+0000ba18 <[^>]*> nop -+0000ba1c <[^>]*> nop -+0000ba20 <[^>]*> nop -+0000ba24 <[^>]*> nop -+0000ba28 <[^>]*> nop -+0000ba2c <[^>]*> nop -+0000ba30 <[^>]*> nop -+0000ba34 <[^>]*> nop -+0000ba38 <[^>]*> nop -+0000ba3c <[^>]*> nop -+0000ba40 <[^>]*> nop -+0000ba44 <[^>]*> nop -+0000ba48 <[^>]*> nop -+0000ba4c <[^>]*> nop -+0000ba50 <[^>]*> nop -+0000ba54 <[^>]*> nop -+0000ba58 <[^>]*> nop -+0000ba5c <[^>]*> nop -+0000ba60 <[^>]*> nop -+0000ba64 <[^>]*> nop -+0000ba68 <[^>]*> nop -+0000ba6c <[^>]*> nop -+0000ba70 <[^>]*> nop -+0000ba74 <[^>]*> nop -+0000ba78 <[^>]*> nop -+0000ba7c <[^>]*> nop -+0000ba80 <[^>]*> nop -+0000ba84 <[^>]*> nop -+0000ba88 <[^>]*> nop -+0000ba8c <[^>]*> nop -+0000ba90 <[^>]*> nop -+0000ba94 <[^>]*> nop -+0000ba98 <[^>]*> nop -+0000ba9c <[^>]*> nop -+0000baa0 <[^>]*> nop -+0000baa4 <[^>]*> nop -+0000baa8 <[^>]*> nop -+0000baac <[^>]*> nop -+0000bab0 <[^>]*> nop -+0000bab4 <[^>]*> nop -+0000bab8 <[^>]*> nop -+0000babc <[^>]*> nop -+0000bac0 <[^>]*> nop -+0000bac4 <[^>]*> nop -+0000bac8 <[^>]*> nop -+0000bacc <[^>]*> nop -+0000bad0 <[^>]*> nop -+0000bad4 <[^>]*> nop -+0000bad8 <[^>]*> nop -+0000badc <[^>]*> nop -+0000bae0 <[^>]*> nop -+0000bae4 <[^>]*> nop -+0000bae8 <[^>]*> nop -+0000baec <[^>]*> nop -+0000baf0 <[^>]*> nop -+0000baf4 <[^>]*> nop -+0000baf8 <[^>]*> nop -+0000bafc <[^>]*> nop -+0000bb00 <[^>]*> nop -+0000bb04 <[^>]*> nop -+0000bb08 <[^>]*> nop -+0000bb0c <[^>]*> nop -+0000bb10 <[^>]*> nop -+0000bb14 <[^>]*> nop -+0000bb18 <[^>]*> nop -+0000bb1c <[^>]*> nop -+0000bb20 <[^>]*> nop -+0000bb24 <[^>]*> nop -+0000bb28 <[^>]*> nop -+0000bb2c <[^>]*> nop -+0000bb30 <[^>]*> nop -+0000bb34 <[^>]*> nop -+0000bb38 <[^>]*> nop -+0000bb3c <[^>]*> nop -+0000bb40 <[^>]*> nop -+0000bb44 <[^>]*> nop -+0000bb48 <[^>]*> nop -+0000bb4c <[^>]*> nop -+0000bb50 <[^>]*> nop -+0000bb54 <[^>]*> nop -+0000bb58 <[^>]*> nop -+0000bb5c <[^>]*> nop -+0000bb60 <[^>]*> nop -+0000bb64 <[^>]*> nop -+0000bb68 <[^>]*> nop -+0000bb6c <[^>]*> nop -+0000bb70 <[^>]*> nop -+0000bb74 <[^>]*> nop -+0000bb78 <[^>]*> nop -+0000bb7c <[^>]*> nop -+0000bb80 <[^>]*> nop -+0000bb84 <[^>]*> nop -+0000bb88 <[^>]*> nop -+0000bb8c <[^>]*> nop -+0000bb90 <[^>]*> nop -+0000bb94 <[^>]*> nop -+0000bb98 <[^>]*> nop -+0000bb9c <[^>]*> nop -+0000bba0 <[^>]*> nop -+0000bba4 <[^>]*> nop -+0000bba8 <[^>]*> nop -+0000bbac <[^>]*> nop -+0000bbb0 <[^>]*> nop -+0000bbb4 <[^>]*> nop -+0000bbb8 <[^>]*> nop -+0000bbbc <[^>]*> nop -+0000bbc0 <[^>]*> nop -+0000bbc4 <[^>]*> nop -+0000bbc8 <[^>]*> nop -+0000bbcc <[^>]*> nop -+0000bbd0 <[^>]*> nop -+0000bbd4 <[^>]*> nop -+0000bbd8 <[^>]*> nop -+0000bbdc <[^>]*> nop -+0000bbe0 <[^>]*> nop -+0000bbe4 <[^>]*> nop -+0000bbe8 <[^>]*> nop -+0000bbec <[^>]*> nop -+0000bbf0 <[^>]*> nop -+0000bbf4 <[^>]*> nop -+0000bbf8 <[^>]*> nop -+0000bbfc <[^>]*> nop -+0000bc00 <[^>]*> nop -+0000bc04 <[^>]*> nop -+0000bc08 <[^>]*> nop -+0000bc0c <[^>]*> nop -+0000bc10 <[^>]*> nop -+0000bc14 <[^>]*> nop -+0000bc18 <[^>]*> nop -+0000bc1c <[^>]*> nop -+0000bc20 <[^>]*> nop -+0000bc24 <[^>]*> nop -+0000bc28 <[^>]*> nop -+0000bc2c <[^>]*> nop -+0000bc30 <[^>]*> nop -+0000bc34 <[^>]*> nop -+0000bc38 <[^>]*> nop -+0000bc3c <[^>]*> nop -+0000bc40 <[^>]*> nop -+0000bc44 <[^>]*> nop -+0000bc48 <[^>]*> nop -+0000bc4c <[^>]*> nop -+0000bc50 <[^>]*> nop -+0000bc54 <[^>]*> nop -+0000bc58 <[^>]*> nop -+0000bc5c <[^>]*> nop -+0000bc60 <[^>]*> nop -+0000bc64 <[^>]*> nop -+0000bc68 <[^>]*> nop -+0000bc6c <[^>]*> nop -+0000bc70 <[^>]*> nop -+0000bc74 <[^>]*> nop -+0000bc78 <[^>]*> nop -+0000bc7c <[^>]*> nop -+0000bc80 <[^>]*> nop -+0000bc84 <[^>]*> nop -+0000bc88 <[^>]*> nop -+0000bc8c <[^>]*> nop -+0000bc90 <[^>]*> nop -+0000bc94 <[^>]*> nop -+0000bc98 <[^>]*> nop -+0000bc9c <[^>]*> nop -+0000bca0 <[^>]*> nop -+0000bca4 <[^>]*> nop -+0000bca8 <[^>]*> nop -+0000bcac <[^>]*> nop -+0000bcb0 <[^>]*> nop -+0000bcb4 <[^>]*> nop -+0000bcb8 <[^>]*> nop -+0000bcbc <[^>]*> nop -+0000bcc0 <[^>]*> nop -+0000bcc4 <[^>]*> nop -+0000bcc8 <[^>]*> nop -+0000bccc <[^>]*> nop -+0000bcd0 <[^>]*> nop -+0000bcd4 <[^>]*> nop -+0000bcd8 <[^>]*> nop -+0000bcdc <[^>]*> nop -+0000bce0 <[^>]*> nop -+0000bce4 <[^>]*> nop -+0000bce8 <[^>]*> nop -+0000bcec <[^>]*> nop -+0000bcf0 <[^>]*> nop -+0000bcf4 <[^>]*> nop -+0000bcf8 <[^>]*> nop -+0000bcfc <[^>]*> nop -+0000bd00 <[^>]*> nop -+0000bd04 <[^>]*> nop -+0000bd08 <[^>]*> nop -+0000bd0c <[^>]*> nop -+0000bd10 <[^>]*> nop -+0000bd14 <[^>]*> nop -+0000bd18 <[^>]*> nop -+0000bd1c <[^>]*> nop -+0000bd20 <[^>]*> nop -+0000bd24 <[^>]*> nop -+0000bd28 <[^>]*> nop -+0000bd2c <[^>]*> nop -+0000bd30 <[^>]*> nop -+0000bd34 <[^>]*> nop -+0000bd38 <[^>]*> nop -+0000bd3c <[^>]*> nop -+0000bd40 <[^>]*> nop -+0000bd44 <[^>]*> nop -+0000bd48 <[^>]*> nop -+0000bd4c <[^>]*> nop -+0000bd50 <[^>]*> nop -+0000bd54 <[^>]*> nop -+0000bd58 <[^>]*> nop -+0000bd5c <[^>]*> nop -+0000bd60 <[^>]*> nop -+0000bd64 <[^>]*> nop -+0000bd68 <[^>]*> nop -+0000bd6c <[^>]*> nop -+0000bd70 <[^>]*> nop -+0000bd74 <[^>]*> nop -+0000bd78 <[^>]*> nop -+0000bd7c <[^>]*> nop -+0000bd80 <[^>]*> nop -+0000bd84 <[^>]*> nop -+0000bd88 <[^>]*> nop -+0000bd8c <[^>]*> nop -+0000bd90 <[^>]*> nop -+0000bd94 <[^>]*> nop -+0000bd98 <[^>]*> nop -+0000bd9c <[^>]*> nop -+0000bda0 <[^>]*> nop -+0000bda4 <[^>]*> nop -+0000bda8 <[^>]*> nop -+0000bdac <[^>]*> nop -+0000bdb0 <[^>]*> nop -+0000bdb4 <[^>]*> nop -+0000bdb8 <[^>]*> nop -+0000bdbc <[^>]*> nop -+0000bdc0 <[^>]*> nop -+0000bdc4 <[^>]*> nop -+0000bdc8 <[^>]*> nop -+0000bdcc <[^>]*> nop -+0000bdd0 <[^>]*> nop -+0000bdd4 <[^>]*> nop -+0000bdd8 <[^>]*> nop -+0000bddc <[^>]*> nop -+0000bde0 <[^>]*> nop -+0000bde4 <[^>]*> nop -+0000bde8 <[^>]*> nop -+0000bdec <[^>]*> nop -+0000bdf0 <[^>]*> nop -+0000bdf4 <[^>]*> nop -+0000bdf8 <[^>]*> nop -+0000bdfc <[^>]*> nop -+0000be00 <[^>]*> nop -+0000be04 <[^>]*> nop -+0000be08 <[^>]*> nop -+0000be0c <[^>]*> nop -+0000be10 <[^>]*> nop -+0000be14 <[^>]*> nop -+0000be18 <[^>]*> nop -+0000be1c <[^>]*> nop -+0000be20 <[^>]*> nop -+0000be24 <[^>]*> nop -+0000be28 <[^>]*> nop -+0000be2c <[^>]*> nop -+0000be30 <[^>]*> nop -+0000be34 <[^>]*> nop -+0000be38 <[^>]*> nop -+0000be3c <[^>]*> nop -+0000be40 <[^>]*> nop -+0000be44 <[^>]*> nop -+0000be48 <[^>]*> nop -+0000be4c <[^>]*> nop -+0000be50 <[^>]*> nop -+0000be54 <[^>]*> nop -+0000be58 <[^>]*> nop -+0000be5c <[^>]*> nop -+0000be60 <[^>]*> nop -+0000be64 <[^>]*> nop -+0000be68 <[^>]*> nop -+0000be6c <[^>]*> nop -+0000be70 <[^>]*> nop -+0000be74 <[^>]*> nop -+0000be78 <[^>]*> nop -+0000be7c <[^>]*> nop -+0000be80 <[^>]*> nop -+0000be84 <[^>]*> nop -+0000be88 <[^>]*> nop -+0000be8c <[^>]*> nop -+0000be90 <[^>]*> nop -+0000be94 <[^>]*> nop -+0000be98 <[^>]*> nop -+0000be9c <[^>]*> nop -+0000bea0 <[^>]*> nop -+0000bea4 <[^>]*> nop -+0000bea8 <[^>]*> nop -+0000beac <[^>]*> nop -+0000beb0 <[^>]*> nop -+0000beb4 <[^>]*> nop -+0000beb8 <[^>]*> nop -+0000bebc <[^>]*> nop -+0000bec0 <[^>]*> nop -+0000bec4 <[^>]*> nop -+0000bec8 <[^>]*> nop -+0000becc <[^>]*> nop -+0000bed0 <[^>]*> nop -+0000bed4 <[^>]*> nop -+0000bed8 <[^>]*> nop -+0000bedc <[^>]*> nop -+0000bee0 <[^>]*> nop -+0000bee4 <[^>]*> nop -+0000bee8 <[^>]*> nop -+0000beec <[^>]*> nop -+0000bef0 <[^>]*> nop -+0000bef4 <[^>]*> nop -+0000bef8 <[^>]*> nop -+0000befc <[^>]*> nop -+0000bf00 <[^>]*> nop -+0000bf04 <[^>]*> nop -+0000bf08 <[^>]*> nop -+0000bf0c <[^>]*> nop -+0000bf10 <[^>]*> nop -+0000bf14 <[^>]*> nop -+0000bf18 <[^>]*> nop -+0000bf1c <[^>]*> nop -+0000bf20 <[^>]*> nop -+0000bf24 <[^>]*> nop -+0000bf28 <[^>]*> nop -+0000bf2c <[^>]*> nop -+0000bf30 <[^>]*> nop -+0000bf34 <[^>]*> nop -+0000bf38 <[^>]*> nop -+0000bf3c <[^>]*> nop -+0000bf40 <[^>]*> nop -+0000bf44 <[^>]*> nop -+0000bf48 <[^>]*> nop -+0000bf4c <[^>]*> nop -+0000bf50 <[^>]*> nop -+0000bf54 <[^>]*> nop -+0000bf58 <[^>]*> nop -+0000bf5c <[^>]*> nop -+0000bf60 <[^>]*> nop -+0000bf64 <[^>]*> nop -+0000bf68 <[^>]*> nop -+0000bf6c <[^>]*> nop -+0000bf70 <[^>]*> nop -+0000bf74 <[^>]*> nop -+0000bf78 <[^>]*> nop -+0000bf7c <[^>]*> nop -+0000bf80 <[^>]*> nop -+0000bf84 <[^>]*> nop -+0000bf88 <[^>]*> nop -+0000bf8c <[^>]*> nop -+0000bf90 <[^>]*> nop -+0000bf94 <[^>]*> nop -+0000bf98 <[^>]*> nop -+0000bf9c <[^>]*> nop -+0000bfa0 <[^>]*> nop -+0000bfa4 <[^>]*> nop -+0000bfa8 <[^>]*> nop -+0000bfac <[^>]*> nop -+0000bfb0 <[^>]*> nop -+0000bfb4 <[^>]*> nop -+0000bfb8 <[^>]*> nop -+0000bfbc <[^>]*> nop -+0000bfc0 <[^>]*> nop -+0000bfc4 <[^>]*> nop -+0000bfc8 <[^>]*> nop -+0000bfcc <[^>]*> nop -+0000bfd0 <[^>]*> nop -+0000bfd4 <[^>]*> nop -+0000bfd8 <[^>]*> nop -+0000bfdc <[^>]*> nop -+0000bfe0 <[^>]*> nop -+0000bfe4 <[^>]*> nop -+0000bfe8 <[^>]*> nop -+0000bfec <[^>]*> nop -+0000bff0 <[^>]*> nop -+0000bff4 <[^>]*> nop -+0000bff8 <[^>]*> nop -+0000bffc <[^>]*> nop -+0000c000 <[^>]*> nop -+0000c004 <[^>]*> nop -+0000c008 <[^>]*> nop -+0000c00c <[^>]*> nop -+0000c010 <[^>]*> nop -+0000c014 <[^>]*> nop -+0000c018 <[^>]*> nop -+0000c01c <[^>]*> nop -+0000c020 <[^>]*> nop -+0000c024 <[^>]*> nop -+0000c028 <[^>]*> nop -+0000c02c <[^>]*> nop -+0000c030 <[^>]*> nop -+0000c034 <[^>]*> nop -+0000c038 <[^>]*> nop -+0000c03c <[^>]*> nop -+0000c040 <[^>]*> nop -+0000c044 <[^>]*> nop -+0000c048 <[^>]*> nop -+0000c04c <[^>]*> nop -+0000c050 <[^>]*> nop -+0000c054 <[^>]*> nop -+0000c058 <[^>]*> nop -+0000c05c <[^>]*> nop -+0000c060 <[^>]*> nop -+0000c064 <[^>]*> nop -+0000c068 <[^>]*> nop -+0000c06c <[^>]*> nop -+0000c070 <[^>]*> nop -+0000c074 <[^>]*> nop -+0000c078 <[^>]*> nop -+0000c07c <[^>]*> nop -+0000c080 <[^>]*> nop -+0000c084 <[^>]*> nop -+0000c088 <[^>]*> nop -+0000c08c <[^>]*> nop -+0000c090 <[^>]*> nop -+0000c094 <[^>]*> nop -+0000c098 <[^>]*> nop -+0000c09c <[^>]*> nop -+0000c0a0 <[^>]*> nop -+0000c0a4 <[^>]*> nop -+0000c0a8 <[^>]*> nop -+0000c0ac <[^>]*> nop -+0000c0b0 <[^>]*> nop -+0000c0b4 <[^>]*> nop -+0000c0b8 <[^>]*> nop -+0000c0bc <[^>]*> nop -+0000c0c0 <[^>]*> nop -+0000c0c4 <[^>]*> nop -+0000c0c8 <[^>]*> nop -+0000c0cc <[^>]*> nop -+0000c0d0 <[^>]*> nop -+0000c0d4 <[^>]*> nop -+0000c0d8 <[^>]*> nop -+0000c0dc <[^>]*> nop -+0000c0e0 <[^>]*> nop -+0000c0e4 <[^>]*> nop -+0000c0e8 <[^>]*> nop -+0000c0ec <[^>]*> nop -+0000c0f0 <[^>]*> nop -+0000c0f4 <[^>]*> nop -+0000c0f8 <[^>]*> nop -+0000c0fc <[^>]*> nop -+0000c100 <[^>]*> nop -+0000c104 <[^>]*> nop -+0000c108 <[^>]*> nop -+0000c10c <[^>]*> nop -+0000c110 <[^>]*> nop -+0000c114 <[^>]*> nop -+0000c118 <[^>]*> nop -+0000c11c <[^>]*> nop -+0000c120 <[^>]*> nop -+0000c124 <[^>]*> nop -+0000c128 <[^>]*> nop -+0000c12c <[^>]*> nop -+0000c130 <[^>]*> nop -+0000c134 <[^>]*> nop -+0000c138 <[^>]*> nop -+0000c13c <[^>]*> nop -+0000c140 <[^>]*> nop -+0000c144 <[^>]*> nop -+0000c148 <[^>]*> nop -+0000c14c <[^>]*> nop -+0000c150 <[^>]*> nop -+0000c154 <[^>]*> nop -+0000c158 <[^>]*> nop -+0000c15c <[^>]*> nop -+0000c160 <[^>]*> nop -+0000c164 <[^>]*> nop -+0000c168 <[^>]*> nop -+0000c16c <[^>]*> nop -+0000c170 <[^>]*> nop -+0000c174 <[^>]*> nop -+0000c178 <[^>]*> nop -+0000c17c <[^>]*> nop -+0000c180 <[^>]*> nop -+0000c184 <[^>]*> nop -+0000c188 <[^>]*> nop -+0000c18c <[^>]*> nop -+0000c190 <[^>]*> nop -+0000c194 <[^>]*> nop -+0000c198 <[^>]*> nop -+0000c19c <[^>]*> nop -+0000c1a0 <[^>]*> nop -+0000c1a4 <[^>]*> nop -+0000c1a8 <[^>]*> nop -+0000c1ac <[^>]*> nop -+0000c1b0 <[^>]*> nop -+0000c1b4 <[^>]*> nop -+0000c1b8 <[^>]*> nop -+0000c1bc <[^>]*> nop -+0000c1c0 <[^>]*> nop -+0000c1c4 <[^>]*> nop -+0000c1c8 <[^>]*> nop -+0000c1cc <[^>]*> nop -+0000c1d0 <[^>]*> nop -+0000c1d4 <[^>]*> nop -+0000c1d8 <[^>]*> nop -+0000c1dc <[^>]*> nop -+0000c1e0 <[^>]*> nop -+0000c1e4 <[^>]*> nop -+0000c1e8 <[^>]*> nop -+0000c1ec <[^>]*> nop -+0000c1f0 <[^>]*> nop -+0000c1f4 <[^>]*> nop -+0000c1f8 <[^>]*> nop -+0000c1fc <[^>]*> nop -+0000c200 <[^>]*> nop -+0000c204 <[^>]*> nop -+0000c208 <[^>]*> nop -+0000c20c <[^>]*> nop -+0000c210 <[^>]*> nop -+0000c214 <[^>]*> nop -+0000c218 <[^>]*> nop -+0000c21c <[^>]*> nop -+0000c220 <[^>]*> nop -+0000c224 <[^>]*> nop -+0000c228 <[^>]*> nop -+0000c22c <[^>]*> nop -+0000c230 <[^>]*> nop -+0000c234 <[^>]*> nop -+0000c238 <[^>]*> nop -+0000c23c <[^>]*> nop -+0000c240 <[^>]*> nop -+0000c244 <[^>]*> nop -+0000c248 <[^>]*> nop -+0000c24c <[^>]*> nop -+0000c250 <[^>]*> nop -+0000c254 <[^>]*> nop -+0000c258 <[^>]*> nop -+0000c25c <[^>]*> nop -+0000c260 <[^>]*> nop -+0000c264 <[^>]*> nop -+0000c268 <[^>]*> nop -+0000c26c <[^>]*> nop -+0000c270 <[^>]*> nop -+0000c274 <[^>]*> nop -+0000c278 <[^>]*> nop -+0000c27c <[^>]*> nop -+0000c280 <[^>]*> nop -+0000c284 <[^>]*> nop -+0000c288 <[^>]*> nop -+0000c28c <[^>]*> nop -+0000c290 <[^>]*> nop -+0000c294 <[^>]*> nop -+0000c298 <[^>]*> nop -+0000c29c <[^>]*> nop -+0000c2a0 <[^>]*> nop -+0000c2a4 <[^>]*> nop -+0000c2a8 <[^>]*> nop -+0000c2ac <[^>]*> nop -+0000c2b0 <[^>]*> nop -+0000c2b4 <[^>]*> nop -+0000c2b8 <[^>]*> nop -+0000c2bc <[^>]*> nop -+0000c2c0 <[^>]*> nop -+0000c2c4 <[^>]*> nop -+0000c2c8 <[^>]*> nop -+0000c2cc <[^>]*> nop -+0000c2d0 <[^>]*> nop -+0000c2d4 <[^>]*> nop -+0000c2d8 <[^>]*> nop -+0000c2dc <[^>]*> nop -+0000c2e0 <[^>]*> nop -+0000c2e4 <[^>]*> nop -+0000c2e8 <[^>]*> nop -+0000c2ec <[^>]*> nop -+0000c2f0 <[^>]*> nop -+0000c2f4 <[^>]*> nop -+0000c2f8 <[^>]*> nop -+0000c2fc <[^>]*> nop -+0000c300 <[^>]*> nop -+0000c304 <[^>]*> nop -+0000c308 <[^>]*> nop -+0000c30c <[^>]*> nop -+0000c310 <[^>]*> nop -+0000c314 <[^>]*> nop -+0000c318 <[^>]*> nop -+0000c31c <[^>]*> nop -+0000c320 <[^>]*> nop -+0000c324 <[^>]*> nop -+0000c328 <[^>]*> nop -+0000c32c <[^>]*> nop -+0000c330 <[^>]*> nop -+0000c334 <[^>]*> nop -+0000c338 <[^>]*> nop -+0000c33c <[^>]*> nop -+0000c340 <[^>]*> nop -+0000c344 <[^>]*> nop -+0000c348 <[^>]*> nop -+0000c34c <[^>]*> nop -+0000c350 <[^>]*> nop -+0000c354 <[^>]*> nop -+0000c358 <[^>]*> nop -+0000c35c <[^>]*> nop -+0000c360 <[^>]*> nop -+0000c364 <[^>]*> nop -+0000c368 <[^>]*> nop -+0000c36c <[^>]*> nop -+0000c370 <[^>]*> nop -+0000c374 <[^>]*> nop -+0000c378 <[^>]*> nop -+0000c37c <[^>]*> nop -+0000c380 <[^>]*> nop -+0000c384 <[^>]*> nop -+0000c388 <[^>]*> nop -+0000c38c <[^>]*> nop -+0000c390 <[^>]*> nop -+0000c394 <[^>]*> nop -+0000c398 <[^>]*> nop -+0000c39c <[^>]*> nop -+0000c3a0 <[^>]*> nop -+0000c3a4 <[^>]*> nop -+0000c3a8 <[^>]*> nop -+0000c3ac <[^>]*> nop -+0000c3b0 <[^>]*> nop -+0000c3b4 <[^>]*> nop -+0000c3b8 <[^>]*> nop -+0000c3bc <[^>]*> nop -+0000c3c0 <[^>]*> nop -+0000c3c4 <[^>]*> nop -+0000c3c8 <[^>]*> nop -+0000c3cc <[^>]*> nop -+0000c3d0 <[^>]*> nop -+0000c3d4 <[^>]*> nop -+0000c3d8 <[^>]*> nop -+0000c3dc <[^>]*> nop -+0000c3e0 <[^>]*> nop -+0000c3e4 <[^>]*> nop -+0000c3e8 <[^>]*> nop -+0000c3ec <[^>]*> nop -+0000c3f0 <[^>]*> nop -+0000c3f4 <[^>]*> nop -+0000c3f8 <[^>]*> nop -+0000c3fc <[^>]*> nop -+0000c400 <[^>]*> nop -+0000c404 <[^>]*> nop -+0000c408 <[^>]*> nop -+0000c40c <[^>]*> nop -+0000c410 <[^>]*> nop -+0000c414 <[^>]*> nop -+0000c418 <[^>]*> nop -+0000c41c <[^>]*> nop -+0000c420 <[^>]*> nop -+0000c424 <[^>]*> nop -+0000c428 <[^>]*> nop -+0000c42c <[^>]*> nop -+0000c430 <[^>]*> nop -+0000c434 <[^>]*> nop -+0000c438 <[^>]*> nop -+0000c43c <[^>]*> nop -+0000c440 <[^>]*> nop -+0000c444 <[^>]*> nop -+0000c448 <[^>]*> nop -+0000c44c <[^>]*> nop -+0000c450 <[^>]*> nop -+0000c454 <[^>]*> nop -+0000c458 <[^>]*> nop -+0000c45c <[^>]*> nop -+0000c460 <[^>]*> nop -+0000c464 <[^>]*> nop -+0000c468 <[^>]*> nop -+0000c46c <[^>]*> nop -+0000c470 <[^>]*> nop -+0000c474 <[^>]*> nop -+0000c478 <[^>]*> nop -+0000c47c <[^>]*> nop -+0000c480 <[^>]*> nop -+0000c484 <[^>]*> nop -+0000c488 <[^>]*> nop -+0000c48c <[^>]*> nop -+0000c490 <[^>]*> nop -+0000c494 <[^>]*> nop -+0000c498 <[^>]*> nop -+0000c49c <[^>]*> nop -+0000c4a0 <[^>]*> nop -+0000c4a4 <[^>]*> nop -+0000c4a8 <[^>]*> nop -+0000c4ac <[^>]*> nop -+0000c4b0 <[^>]*> nop -+0000c4b4 <[^>]*> nop -+0000c4b8 <[^>]*> nop -+0000c4bc <[^>]*> nop -+0000c4c0 <[^>]*> nop -+0000c4c4 <[^>]*> nop -+0000c4c8 <[^>]*> nop -+0000c4cc <[^>]*> nop -+0000c4d0 <[^>]*> nop -+0000c4d4 <[^>]*> nop -+0000c4d8 <[^>]*> nop -+0000c4dc <[^>]*> nop -+0000c4e0 <[^>]*> nop -+0000c4e4 <[^>]*> nop -+0000c4e8 <[^>]*> nop -+0000c4ec <[^>]*> nop -+0000c4f0 <[^>]*> nop -+0000c4f4 <[^>]*> nop -+0000c4f8 <[^>]*> nop -+0000c4fc <[^>]*> nop -+0000c500 <[^>]*> nop -+0000c504 <[^>]*> nop -+0000c508 <[^>]*> nop -+0000c50c <[^>]*> nop -+0000c510 <[^>]*> nop -+0000c514 <[^>]*> nop -+0000c518 <[^>]*> nop -+0000c51c <[^>]*> nop -+0000c520 <[^>]*> nop -+0000c524 <[^>]*> nop -+0000c528 <[^>]*> nop -+0000c52c <[^>]*> nop -+0000c530 <[^>]*> nop -+0000c534 <[^>]*> nop -+0000c538 <[^>]*> nop -+0000c53c <[^>]*> nop -+0000c540 <[^>]*> nop -+0000c544 <[^>]*> nop -+0000c548 <[^>]*> nop -+0000c54c <[^>]*> nop -+0000c550 <[^>]*> nop -+0000c554 <[^>]*> nop -+0000c558 <[^>]*> nop -+0000c55c <[^>]*> nop -+0000c560 <[^>]*> nop -+0000c564 <[^>]*> nop -+0000c568 <[^>]*> nop -+0000c56c <[^>]*> nop -+0000c570 <[^>]*> nop -+0000c574 <[^>]*> nop -+0000c578 <[^>]*> nop -+0000c57c <[^>]*> nop -+0000c580 <[^>]*> nop -+0000c584 <[^>]*> nop -+0000c588 <[^>]*> nop -+0000c58c <[^>]*> nop -+0000c590 <[^>]*> nop -+0000c594 <[^>]*> nop -+0000c598 <[^>]*> nop -+0000c59c <[^>]*> nop -+0000c5a0 <[^>]*> nop -+0000c5a4 <[^>]*> nop -+0000c5a8 <[^>]*> nop -+0000c5ac <[^>]*> nop -+0000c5b0 <[^>]*> nop -+0000c5b4 <[^>]*> nop -+0000c5b8 <[^>]*> nop -+0000c5bc <[^>]*> nop -+0000c5c0 <[^>]*> nop -+0000c5c4 <[^>]*> nop -+0000c5c8 <[^>]*> nop -+0000c5cc <[^>]*> nop -+0000c5d0 <[^>]*> nop -+0000c5d4 <[^>]*> nop -+0000c5d8 <[^>]*> nop -+0000c5dc <[^>]*> nop -+0000c5e0 <[^>]*> nop -+0000c5e4 <[^>]*> nop -+0000c5e8 <[^>]*> nop -+0000c5ec <[^>]*> nop -+0000c5f0 <[^>]*> nop -+0000c5f4 <[^>]*> nop -+0000c5f8 <[^>]*> nop -+0000c5fc <[^>]*> nop -+0000c600 <[^>]*> nop -+0000c604 <[^>]*> nop -+0000c608 <[^>]*> nop -+0000c60c <[^>]*> nop -+0000c610 <[^>]*> nop -+0000c614 <[^>]*> nop -+0000c618 <[^>]*> nop -+0000c61c <[^>]*> nop -+0000c620 <[^>]*> nop -+0000c624 <[^>]*> nop -+0000c628 <[^>]*> nop -+0000c62c <[^>]*> nop -+0000c630 <[^>]*> nop -+0000c634 <[^>]*> nop -+0000c638 <[^>]*> nop -+0000c63c <[^>]*> nop -+0000c640 <[^>]*> nop -+0000c644 <[^>]*> nop -+0000c648 <[^>]*> nop -+0000c64c <[^>]*> nop -+0000c650 <[^>]*> nop -+0000c654 <[^>]*> nop -+0000c658 <[^>]*> nop -+0000c65c <[^>]*> nop -+0000c660 <[^>]*> nop -+0000c664 <[^>]*> nop -+0000c668 <[^>]*> nop -+0000c66c <[^>]*> nop -+0000c670 <[^>]*> nop -+0000c674 <[^>]*> nop -+0000c678 <[^>]*> nop -+0000c67c <[^>]*> nop -+0000c680 <[^>]*> nop -+0000c684 <[^>]*> nop -+0000c688 <[^>]*> nop -+0000c68c <[^>]*> nop -+0000c690 <[^>]*> nop -+0000c694 <[^>]*> nop -+0000c698 <[^>]*> nop -+0000c69c <[^>]*> nop -+0000c6a0 <[^>]*> nop -+0000c6a4 <[^>]*> nop -+0000c6a8 <[^>]*> nop -+0000c6ac <[^>]*> nop -+0000c6b0 <[^>]*> nop -+0000c6b4 <[^>]*> nop -+0000c6b8 <[^>]*> nop -+0000c6bc <[^>]*> nop -+0000c6c0 <[^>]*> nop -+0000c6c4 <[^>]*> nop -+0000c6c8 <[^>]*> nop -+0000c6cc <[^>]*> nop -+0000c6d0 <[^>]*> nop -+0000c6d4 <[^>]*> nop -+0000c6d8 <[^>]*> nop -+0000c6dc <[^>]*> nop -+0000c6e0 <[^>]*> nop -+0000c6e4 <[^>]*> nop -+0000c6e8 <[^>]*> nop -+0000c6ec <[^>]*> nop -+0000c6f0 <[^>]*> nop -+0000c6f4 <[^>]*> nop -+0000c6f8 <[^>]*> nop -+0000c6fc <[^>]*> nop -+0000c700 <[^>]*> nop -+0000c704 <[^>]*> nop -+0000c708 <[^>]*> nop -+0000c70c <[^>]*> nop -+0000c710 <[^>]*> nop -+0000c714 <[^>]*> nop -+0000c718 <[^>]*> nop -+0000c71c <[^>]*> nop -+0000c720 <[^>]*> nop -+0000c724 <[^>]*> nop -+0000c728 <[^>]*> nop -+0000c72c <[^>]*> nop -+0000c730 <[^>]*> nop -+0000c734 <[^>]*> nop -+0000c738 <[^>]*> nop -+0000c73c <[^>]*> nop -+0000c740 <[^>]*> nop -+0000c744 <[^>]*> nop -+0000c748 <[^>]*> nop -+0000c74c <[^>]*> nop -+0000c750 <[^>]*> nop -+0000c754 <[^>]*> nop -+0000c758 <[^>]*> nop -+0000c75c <[^>]*> nop -+0000c760 <[^>]*> nop -+0000c764 <[^>]*> nop -+0000c768 <[^>]*> nop -+0000c76c <[^>]*> nop -+0000c770 <[^>]*> nop -+0000c774 <[^>]*> nop -+0000c778 <[^>]*> nop -+0000c77c <[^>]*> nop -+0000c780 <[^>]*> nop -+0000c784 <[^>]*> nop -+0000c788 <[^>]*> nop -+0000c78c <[^>]*> nop -+0000c790 <[^>]*> nop -+0000c794 <[^>]*> nop -+0000c798 <[^>]*> nop -+0000c79c <[^>]*> nop -+0000c7a0 <[^>]*> nop -+0000c7a4 <[^>]*> nop -+0000c7a8 <[^>]*> nop -+0000c7ac <[^>]*> nop -+0000c7b0 <[^>]*> nop -+0000c7b4 <[^>]*> nop -+0000c7b8 <[^>]*> nop -+0000c7bc <[^>]*> nop -+0000c7c0 <[^>]*> nop -+0000c7c4 <[^>]*> nop -+0000c7c8 <[^>]*> nop -+0000c7cc <[^>]*> nop -+0000c7d0 <[^>]*> nop -+0000c7d4 <[^>]*> nop -+0000c7d8 <[^>]*> nop -+0000c7dc <[^>]*> nop -+0000c7e0 <[^>]*> nop -+0000c7e4 <[^>]*> nop -+0000c7e8 <[^>]*> nop -+0000c7ec <[^>]*> nop -+0000c7f0 <[^>]*> nop -+0000c7f4 <[^>]*> nop -+0000c7f8 <[^>]*> nop -+0000c7fc <[^>]*> nop -+0000c800 <[^>]*> nop -+0000c804 <[^>]*> nop -+0000c808 <[^>]*> nop -+0000c80c <[^>]*> nop -+0000c810 <[^>]*> nop -+0000c814 <[^>]*> nop -+0000c818 <[^>]*> nop -+0000c81c <[^>]*> nop -+0000c820 <[^>]*> nop -+0000c824 <[^>]*> nop -+0000c828 <[^>]*> nop -+0000c82c <[^>]*> nop -+0000c830 <[^>]*> nop -+0000c834 <[^>]*> nop -+0000c838 <[^>]*> nop -+0000c83c <[^>]*> nop -+0000c840 <[^>]*> nop -+0000c844 <[^>]*> nop -+0000c848 <[^>]*> nop -+0000c84c <[^>]*> nop -+0000c850 <[^>]*> nop -+0000c854 <[^>]*> nop -+0000c858 <[^>]*> nop -+0000c85c <[^>]*> nop -+0000c860 <[^>]*> nop -+0000c864 <[^>]*> nop -+0000c868 <[^>]*> nop -+0000c86c <[^>]*> nop -+0000c870 <[^>]*> nop -+0000c874 <[^>]*> nop -+0000c878 <[^>]*> nop -+0000c87c <[^>]*> nop -+0000c880 <[^>]*> nop -+0000c884 <[^>]*> nop -+0000c888 <[^>]*> nop -+0000c88c <[^>]*> nop -+0000c890 <[^>]*> nop -+0000c894 <[^>]*> nop -+0000c898 <[^>]*> nop -+0000c89c <[^>]*> nop -+0000c8a0 <[^>]*> nop -+0000c8a4 <[^>]*> nop -+0000c8a8 <[^>]*> nop -+0000c8ac <[^>]*> nop -+0000c8b0 <[^>]*> nop -+0000c8b4 <[^>]*> nop -+0000c8b8 <[^>]*> nop -+0000c8bc <[^>]*> nop -+0000c8c0 <[^>]*> nop -+0000c8c4 <[^>]*> nop -+0000c8c8 <[^>]*> nop -+0000c8cc <[^>]*> nop -+0000c8d0 <[^>]*> nop -+0000c8d4 <[^>]*> nop -+0000c8d8 <[^>]*> nop -+0000c8dc <[^>]*> nop -+0000c8e0 <[^>]*> nop -+0000c8e4 <[^>]*> nop -+0000c8e8 <[^>]*> nop -+0000c8ec <[^>]*> nop -+0000c8f0 <[^>]*> nop -+0000c8f4 <[^>]*> nop -+0000c8f8 <[^>]*> nop -+0000c8fc <[^>]*> nop -+0000c900 <[^>]*> nop -+0000c904 <[^>]*> nop -+0000c908 <[^>]*> nop -+0000c90c <[^>]*> nop -+0000c910 <[^>]*> nop -+0000c914 <[^>]*> nop -+0000c918 <[^>]*> nop -+0000c91c <[^>]*> nop -+0000c920 <[^>]*> nop -+0000c924 <[^>]*> nop -+0000c928 <[^>]*> nop -+0000c92c <[^>]*> nop -+0000c930 <[^>]*> nop -+0000c934 <[^>]*> nop -+0000c938 <[^>]*> nop -+0000c93c <[^>]*> nop -+0000c940 <[^>]*> nop -+0000c944 <[^>]*> nop -+0000c948 <[^>]*> nop -+0000c94c <[^>]*> nop -+0000c950 <[^>]*> nop -+0000c954 <[^>]*> nop -+0000c958 <[^>]*> nop -+0000c95c <[^>]*> nop -+0000c960 <[^>]*> nop -+0000c964 <[^>]*> nop -+0000c968 <[^>]*> nop -+0000c96c <[^>]*> nop -+0000c970 <[^>]*> nop -+0000c974 <[^>]*> nop -+0000c978 <[^>]*> nop -+0000c97c <[^>]*> nop -+0000c980 <[^>]*> nop -+0000c984 <[^>]*> nop -+0000c988 <[^>]*> nop -+0000c98c <[^>]*> nop -+0000c990 <[^>]*> nop -+0000c994 <[^>]*> nop -+0000c998 <[^>]*> nop -+0000c99c <[^>]*> nop -+0000c9a0 <[^>]*> nop -+0000c9a4 <[^>]*> nop -+0000c9a8 <[^>]*> nop -+0000c9ac <[^>]*> nop -+0000c9b0 <[^>]*> nop -+0000c9b4 <[^>]*> nop -+0000c9b8 <[^>]*> nop -+0000c9bc <[^>]*> nop -+0000c9c0 <[^>]*> nop -+0000c9c4 <[^>]*> nop -+0000c9c8 <[^>]*> nop -+0000c9cc <[^>]*> nop -+0000c9d0 <[^>]*> nop -+0000c9d4 <[^>]*> nop -+0000c9d8 <[^>]*> nop -+0000c9dc <[^>]*> nop -+0000c9e0 <[^>]*> nop -+0000c9e4 <[^>]*> nop -+0000c9e8 <[^>]*> nop -+0000c9ec <[^>]*> nop -+0000c9f0 <[^>]*> nop -+0000c9f4 <[^>]*> nop -+0000c9f8 <[^>]*> nop -+0000c9fc <[^>]*> nop -+0000ca00 <[^>]*> nop -+0000ca04 <[^>]*> nop -+0000ca08 <[^>]*> nop -+0000ca0c <[^>]*> nop -+0000ca10 <[^>]*> nop -+0000ca14 <[^>]*> nop -+0000ca18 <[^>]*> nop -+0000ca1c <[^>]*> nop -+0000ca20 <[^>]*> nop -+0000ca24 <[^>]*> nop -+0000ca28 <[^>]*> nop -+0000ca2c <[^>]*> nop -+0000ca30 <[^>]*> nop -+0000ca34 <[^>]*> nop -+0000ca38 <[^>]*> nop -+0000ca3c <[^>]*> nop -+0000ca40 <[^>]*> nop -+0000ca44 <[^>]*> nop -+0000ca48 <[^>]*> nop -+0000ca4c <[^>]*> nop -+0000ca50 <[^>]*> nop -+0000ca54 <[^>]*> nop -+0000ca58 <[^>]*> nop -+0000ca5c <[^>]*> nop -+0000ca60 <[^>]*> nop -+0000ca64 <[^>]*> nop -+0000ca68 <[^>]*> nop -+0000ca6c <[^>]*> nop -+0000ca70 <[^>]*> nop -+0000ca74 <[^>]*> nop -+0000ca78 <[^>]*> nop -+0000ca7c <[^>]*> nop -+0000ca80 <[^>]*> nop -+0000ca84 <[^>]*> nop -+0000ca88 <[^>]*> nop -+0000ca8c <[^>]*> nop -+0000ca90 <[^>]*> nop -+0000ca94 <[^>]*> nop -+0000ca98 <[^>]*> nop -+0000ca9c <[^>]*> nop -+0000caa0 <[^>]*> nop -+0000caa4 <[^>]*> nop -+0000caa8 <[^>]*> nop -+0000caac <[^>]*> nop -+0000cab0 <[^>]*> nop -+0000cab4 <[^>]*> nop -+0000cab8 <[^>]*> nop -+0000cabc <[^>]*> nop -+0000cac0 <[^>]*> nop -+0000cac4 <[^>]*> nop -+0000cac8 <[^>]*> nop -+0000cacc <[^>]*> nop -+0000cad0 <[^>]*> nop -+0000cad4 <[^>]*> nop -+0000cad8 <[^>]*> nop -+0000cadc <[^>]*> nop -+0000cae0 <[^>]*> nop -+0000cae4 <[^>]*> nop -+0000cae8 <[^>]*> nop -+0000caec <[^>]*> nop -+0000caf0 <[^>]*> nop -+0000caf4 <[^>]*> nop -+0000caf8 <[^>]*> nop -+0000cafc <[^>]*> nop -+0000cb00 <[^>]*> nop -+0000cb04 <[^>]*> nop -+0000cb08 <[^>]*> nop -+0000cb0c <[^>]*> nop -+0000cb10 <[^>]*> nop -+0000cb14 <[^>]*> nop -+0000cb18 <[^>]*> nop -+0000cb1c <[^>]*> nop -+0000cb20 <[^>]*> nop -+0000cb24 <[^>]*> nop -+0000cb28 <[^>]*> nop -+0000cb2c <[^>]*> nop -+0000cb30 <[^>]*> nop -+0000cb34 <[^>]*> nop -+0000cb38 <[^>]*> nop -+0000cb3c <[^>]*> nop -+0000cb40 <[^>]*> nop -+0000cb44 <[^>]*> nop -+0000cb48 <[^>]*> nop -+0000cb4c <[^>]*> nop -+0000cb50 <[^>]*> nop -+0000cb54 <[^>]*> nop -+0000cb58 <[^>]*> nop -+0000cb5c <[^>]*> nop -+0000cb60 <[^>]*> nop -+0000cb64 <[^>]*> nop -+0000cb68 <[^>]*> nop -+0000cb6c <[^>]*> nop -+0000cb70 <[^>]*> nop -+0000cb74 <[^>]*> nop -+0000cb78 <[^>]*> nop -+0000cb7c <[^>]*> nop -+0000cb80 <[^>]*> nop -+0000cb84 <[^>]*> nop -+0000cb88 <[^>]*> nop -+0000cb8c <[^>]*> nop -+0000cb90 <[^>]*> nop -+0000cb94 <[^>]*> nop -+0000cb98 <[^>]*> nop -+0000cb9c <[^>]*> nop -+0000cba0 <[^>]*> nop -+0000cba4 <[^>]*> nop -+0000cba8 <[^>]*> nop -+0000cbac <[^>]*> nop -+0000cbb0 <[^>]*> nop -+0000cbb4 <[^>]*> nop -+0000cbb8 <[^>]*> nop -+0000cbbc <[^>]*> nop -+0000cbc0 <[^>]*> nop -+0000cbc4 <[^>]*> nop -+0000cbc8 <[^>]*> nop -+0000cbcc <[^>]*> nop -+0000cbd0 <[^>]*> nop -+0000cbd4 <[^>]*> nop -+0000cbd8 <[^>]*> nop -+0000cbdc <[^>]*> nop -+0000cbe0 <[^>]*> nop -+0000cbe4 <[^>]*> nop -+0000cbe8 <[^>]*> nop -+0000cbec <[^>]*> nop -+0000cbf0 <[^>]*> nop -+0000cbf4 <[^>]*> nop -+0000cbf8 <[^>]*> nop -+0000cbfc <[^>]*> nop -+0000cc00 <[^>]*> nop -+0000cc04 <[^>]*> nop -+0000cc08 <[^>]*> nop -+0000cc0c <[^>]*> nop -+0000cc10 <[^>]*> nop -+0000cc14 <[^>]*> nop -+0000cc18 <[^>]*> nop -+0000cc1c <[^>]*> nop -+0000cc20 <[^>]*> nop -+0000cc24 <[^>]*> nop -+0000cc28 <[^>]*> nop -+0000cc2c <[^>]*> nop -+0000cc30 <[^>]*> nop -+0000cc34 <[^>]*> nop -+0000cc38 <[^>]*> nop -+0000cc3c <[^>]*> nop -+0000cc40 <[^>]*> nop -+0000cc44 <[^>]*> nop -+0000cc48 <[^>]*> nop -+0000cc4c <[^>]*> nop -+0000cc50 <[^>]*> nop -+0000cc54 <[^>]*> nop -+0000cc58 <[^>]*> nop -+0000cc5c <[^>]*> nop -+0000cc60 <[^>]*> nop -+0000cc64 <[^>]*> nop -+0000cc68 <[^>]*> nop -+0000cc6c <[^>]*> nop -+0000cc70 <[^>]*> nop -+0000cc74 <[^>]*> nop -+0000cc78 <[^>]*> nop -+0000cc7c <[^>]*> nop -+0000cc80 <[^>]*> nop -+0000cc84 <[^>]*> nop -+0000cc88 <[^>]*> nop -+0000cc8c <[^>]*> nop -+0000cc90 <[^>]*> nop -+0000cc94 <[^>]*> nop -+0000cc98 <[^>]*> nop -+0000cc9c <[^>]*> nop -+0000cca0 <[^>]*> nop -+0000cca4 <[^>]*> nop -+0000cca8 <[^>]*> nop -+0000ccac <[^>]*> nop -+0000ccb0 <[^>]*> nop -+0000ccb4 <[^>]*> nop -+0000ccb8 <[^>]*> nop -+0000ccbc <[^>]*> nop -+0000ccc0 <[^>]*> nop -+0000ccc4 <[^>]*> nop -+0000ccc8 <[^>]*> nop -+0000cccc <[^>]*> nop -+0000ccd0 <[^>]*> nop -+0000ccd4 <[^>]*> nop -+0000ccd8 <[^>]*> nop -+0000ccdc <[^>]*> nop -+0000cce0 <[^>]*> nop -+0000cce4 <[^>]*> nop -+0000cce8 <[^>]*> nop -+0000ccec <[^>]*> nop -+0000ccf0 <[^>]*> nop -+0000ccf4 <[^>]*> nop -+0000ccf8 <[^>]*> nop -+0000ccfc <[^>]*> nop -+0000cd00 <[^>]*> nop -+0000cd04 <[^>]*> nop -+0000cd08 <[^>]*> nop -+0000cd0c <[^>]*> nop -+0000cd10 <[^>]*> nop -+0000cd14 <[^>]*> nop -+0000cd18 <[^>]*> nop -+0000cd1c <[^>]*> nop -+0000cd20 <[^>]*> nop -+0000cd24 <[^>]*> nop -+0000cd28 <[^>]*> nop -+0000cd2c <[^>]*> nop -+0000cd30 <[^>]*> nop -+0000cd34 <[^>]*> nop -+0000cd38 <[^>]*> nop -+0000cd3c <[^>]*> nop -+0000cd40 <[^>]*> nop -+0000cd44 <[^>]*> nop -+0000cd48 <[^>]*> nop -+0000cd4c <[^>]*> nop -+0000cd50 <[^>]*> nop -+0000cd54 <[^>]*> nop -+0000cd58 <[^>]*> nop -+0000cd5c <[^>]*> nop -+0000cd60 <[^>]*> nop -+0000cd64 <[^>]*> nop -+0000cd68 <[^>]*> nop -+0000cd6c <[^>]*> nop -+0000cd70 <[^>]*> nop -+0000cd74 <[^>]*> nop -+0000cd78 <[^>]*> nop -+0000cd7c <[^>]*> nop -+0000cd80 <[^>]*> nop -+0000cd84 <[^>]*> nop -+0000cd88 <[^>]*> nop -+0000cd8c <[^>]*> nop -+0000cd90 <[^>]*> nop -+0000cd94 <[^>]*> nop -+0000cd98 <[^>]*> nop -+0000cd9c <[^>]*> nop -+0000cda0 <[^>]*> nop -+0000cda4 <[^>]*> nop -+0000cda8 <[^>]*> nop -+0000cdac <[^>]*> nop -+0000cdb0 <[^>]*> nop -+0000cdb4 <[^>]*> nop -+0000cdb8 <[^>]*> nop -+0000cdbc <[^>]*> nop -+0000cdc0 <[^>]*> nop -+0000cdc4 <[^>]*> nop -+0000cdc8 <[^>]*> nop -+0000cdcc <[^>]*> nop -+0000cdd0 <[^>]*> nop -+0000cdd4 <[^>]*> nop -+0000cdd8 <[^>]*> nop -+0000cddc <[^>]*> nop -+0000cde0 <[^>]*> nop -+0000cde4 <[^>]*> nop -+0000cde8 <[^>]*> nop -+0000cdec <[^>]*> nop -+0000cdf0 <[^>]*> nop -+0000cdf4 <[^>]*> nop -+0000cdf8 <[^>]*> nop -+0000cdfc <[^>]*> nop -+0000ce00 <[^>]*> nop -+0000ce04 <[^>]*> nop -+0000ce08 <[^>]*> nop -+0000ce0c <[^>]*> nop -+0000ce10 <[^>]*> nop -+0000ce14 <[^>]*> nop -+0000ce18 <[^>]*> nop -+0000ce1c <[^>]*> nop -+0000ce20 <[^>]*> nop -+0000ce24 <[^>]*> nop -+0000ce28 <[^>]*> nop -+0000ce2c <[^>]*> nop -+0000ce30 <[^>]*> nop -+0000ce34 <[^>]*> nop -+0000ce38 <[^>]*> nop -+0000ce3c <[^>]*> nop -+0000ce40 <[^>]*> nop -+0000ce44 <[^>]*> nop -+0000ce48 <[^>]*> nop -+0000ce4c <[^>]*> nop -+0000ce50 <[^>]*> nop -+0000ce54 <[^>]*> nop -+0000ce58 <[^>]*> nop -+0000ce5c <[^>]*> nop -+0000ce60 <[^>]*> nop -+0000ce64 <[^>]*> nop -+0000ce68 <[^>]*> nop -+0000ce6c <[^>]*> nop -+0000ce70 <[^>]*> nop -+0000ce74 <[^>]*> nop -+0000ce78 <[^>]*> nop -+0000ce7c <[^>]*> nop -+0000ce80 <[^>]*> nop -+0000ce84 <[^>]*> nop -+0000ce88 <[^>]*> nop -+0000ce8c <[^>]*> nop -+0000ce90 <[^>]*> nop -+0000ce94 <[^>]*> nop -+0000ce98 <[^>]*> nop -+0000ce9c <[^>]*> nop -+0000cea0 <[^>]*> nop -+0000cea4 <[^>]*> nop -+0000cea8 <[^>]*> nop -+0000ceac <[^>]*> nop -+0000ceb0 <[^>]*> nop -+0000ceb4 <[^>]*> nop -+0000ceb8 <[^>]*> nop -+0000cebc <[^>]*> nop -+0000cec0 <[^>]*> nop -+0000cec4 <[^>]*> nop -+0000cec8 <[^>]*> nop -+0000cecc <[^>]*> nop -+0000ced0 <[^>]*> nop -+0000ced4 <[^>]*> nop -+0000ced8 <[^>]*> nop -+0000cedc <[^>]*> nop -+0000cee0 <[^>]*> nop -+0000cee4 <[^>]*> nop -+0000cee8 <[^>]*> nop -+0000ceec <[^>]*> nop -+0000cef0 <[^>]*> nop -+0000cef4 <[^>]*> nop -+0000cef8 <[^>]*> nop -+0000cefc <[^>]*> nop -+0000cf00 <[^>]*> nop -+0000cf04 <[^>]*> nop -+0000cf08 <[^>]*> nop -+0000cf0c <[^>]*> nop -+0000cf10 <[^>]*> nop -+0000cf14 <[^>]*> nop -+0000cf18 <[^>]*> nop -+0000cf1c <[^>]*> nop -+0000cf20 <[^>]*> nop -+0000cf24 <[^>]*> nop -+0000cf28 <[^>]*> nop -+0000cf2c <[^>]*> nop -+0000cf30 <[^>]*> nop -+0000cf34 <[^>]*> nop -+0000cf38 <[^>]*> nop -+0000cf3c <[^>]*> nop -+0000cf40 <[^>]*> nop -+0000cf44 <[^>]*> nop -+0000cf48 <[^>]*> nop -+0000cf4c <[^>]*> nop -+0000cf50 <[^>]*> nop -+0000cf54 <[^>]*> nop -+0000cf58 <[^>]*> nop -+0000cf5c <[^>]*> nop -+0000cf60 <[^>]*> nop -+0000cf64 <[^>]*> nop -+0000cf68 <[^>]*> nop -+0000cf6c <[^>]*> nop -+0000cf70 <[^>]*> nop -+0000cf74 <[^>]*> nop -+0000cf78 <[^>]*> nop -+0000cf7c <[^>]*> nop -+0000cf80 <[^>]*> nop -+0000cf84 <[^>]*> nop -+0000cf88 <[^>]*> nop -+0000cf8c <[^>]*> nop -+0000cf90 <[^>]*> nop -+0000cf94 <[^>]*> nop -+0000cf98 <[^>]*> nop -+0000cf9c <[^>]*> nop -+0000cfa0 <[^>]*> nop -+0000cfa4 <[^>]*> nop -+0000cfa8 <[^>]*> nop -+0000cfac <[^>]*> nop -+0000cfb0 <[^>]*> nop -+0000cfb4 <[^>]*> nop -+0000cfb8 <[^>]*> nop -+0000cfbc <[^>]*> nop -+0000cfc0 <[^>]*> nop -+0000cfc4 <[^>]*> nop -+0000cfc8 <[^>]*> nop -+0000cfcc <[^>]*> nop -+0000cfd0 <[^>]*> nop -+0000cfd4 <[^>]*> nop -+0000cfd8 <[^>]*> nop -+0000cfdc <[^>]*> nop -+0000cfe0 <[^>]*> nop -+0000cfe4 <[^>]*> nop -+0000cfe8 <[^>]*> nop -+0000cfec <[^>]*> nop -+0000cff0 <[^>]*> nop -+0000cff4 <[^>]*> nop -+0000cff8 <[^>]*> nop -+0000cffc <[^>]*> nop -+0000d000 <[^>]*> nop -+0000d004 <[^>]*> nop -+0000d008 <[^>]*> nop -+0000d00c <[^>]*> nop -+0000d010 <[^>]*> nop -+0000d014 <[^>]*> nop -+0000d018 <[^>]*> nop -+0000d01c <[^>]*> nop -+0000d020 <[^>]*> nop -+0000d024 <[^>]*> nop -+0000d028 <[^>]*> nop -+0000d02c <[^>]*> nop -+0000d030 <[^>]*> nop -+0000d034 <[^>]*> nop -+0000d038 <[^>]*> nop -+0000d03c <[^>]*> nop -+0000d040 <[^>]*> nop -+0000d044 <[^>]*> nop -+0000d048 <[^>]*> nop -+0000d04c <[^>]*> nop -+0000d050 <[^>]*> nop -+0000d054 <[^>]*> nop -+0000d058 <[^>]*> nop -+0000d05c <[^>]*> nop -+0000d060 <[^>]*> nop -+0000d064 <[^>]*> nop -+0000d068 <[^>]*> nop -+0000d06c <[^>]*> nop -+0000d070 <[^>]*> nop -+0000d074 <[^>]*> nop -+0000d078 <[^>]*> nop -+0000d07c <[^>]*> nop -+0000d080 <[^>]*> nop -+0000d084 <[^>]*> nop -+0000d088 <[^>]*> nop -+0000d08c <[^>]*> nop -+0000d090 <[^>]*> nop -+0000d094 <[^>]*> nop -+0000d098 <[^>]*> nop -+0000d09c <[^>]*> nop -+0000d0a0 <[^>]*> nop -+0000d0a4 <[^>]*> nop -+0000d0a8 <[^>]*> nop -+0000d0ac <[^>]*> nop -+0000d0b0 <[^>]*> nop -+0000d0b4 <[^>]*> nop -+0000d0b8 <[^>]*> nop -+0000d0bc <[^>]*> nop -+0000d0c0 <[^>]*> nop -+0000d0c4 <[^>]*> nop -+0000d0c8 <[^>]*> nop -+0000d0cc <[^>]*> nop -+0000d0d0 <[^>]*> nop -+0000d0d4 <[^>]*> nop -+0000d0d8 <[^>]*> nop -+0000d0dc <[^>]*> nop -+0000d0e0 <[^>]*> nop -+0000d0e4 <[^>]*> nop -+0000d0e8 <[^>]*> nop -+0000d0ec <[^>]*> nop -+0000d0f0 <[^>]*> nop -+0000d0f4 <[^>]*> nop -+0000d0f8 <[^>]*> nop -+0000d0fc <[^>]*> nop -+0000d100 <[^>]*> nop -+0000d104 <[^>]*> nop -+0000d108 <[^>]*> nop -+0000d10c <[^>]*> nop -+0000d110 <[^>]*> nop -+0000d114 <[^>]*> nop -+0000d118 <[^>]*> nop -+0000d11c <[^>]*> nop -+0000d120 <[^>]*> nop -+0000d124 <[^>]*> nop -+0000d128 <[^>]*> nop -+0000d12c <[^>]*> nop -+0000d130 <[^>]*> nop -+0000d134 <[^>]*> nop -+0000d138 <[^>]*> nop -+0000d13c <[^>]*> nop -+0000d140 <[^>]*> nop -+0000d144 <[^>]*> nop -+0000d148 <[^>]*> nop -+0000d14c <[^>]*> nop -+0000d150 <[^>]*> nop -+0000d154 <[^>]*> nop -+0000d158 <[^>]*> nop -+0000d15c <[^>]*> nop -+0000d160 <[^>]*> nop -+0000d164 <[^>]*> nop -+0000d168 <[^>]*> nop -+0000d16c <[^>]*> nop -+0000d170 <[^>]*> nop -+0000d174 <[^>]*> nop -+0000d178 <[^>]*> nop -+0000d17c <[^>]*> nop -+0000d180 <[^>]*> nop -+0000d184 <[^>]*> nop -+0000d188 <[^>]*> nop -+0000d18c <[^>]*> nop -+0000d190 <[^>]*> nop -+0000d194 <[^>]*> nop -+0000d198 <[^>]*> nop -+0000d19c <[^>]*> nop -+0000d1a0 <[^>]*> nop -+0000d1a4 <[^>]*> nop -+0000d1a8 <[^>]*> nop -+0000d1ac <[^>]*> nop -+0000d1b0 <[^>]*> nop -+0000d1b4 <[^>]*> nop -+0000d1b8 <[^>]*> nop -+0000d1bc <[^>]*> nop -+0000d1c0 <[^>]*> nop -+0000d1c4 <[^>]*> nop -+0000d1c8 <[^>]*> nop -+0000d1cc <[^>]*> nop -+0000d1d0 <[^>]*> nop -+0000d1d4 <[^>]*> nop -+0000d1d8 <[^>]*> nop -+0000d1dc <[^>]*> nop -+0000d1e0 <[^>]*> nop -+0000d1e4 <[^>]*> nop -+0000d1e8 <[^>]*> nop -+0000d1ec <[^>]*> nop -+0000d1f0 <[^>]*> nop -+0000d1f4 <[^>]*> nop -+0000d1f8 <[^>]*> nop -+0000d1fc <[^>]*> nop -+0000d200 <[^>]*> nop -+0000d204 <[^>]*> nop -+0000d208 <[^>]*> nop -+0000d20c <[^>]*> nop -+0000d210 <[^>]*> nop -+0000d214 <[^>]*> nop -+0000d218 <[^>]*> nop -+0000d21c <[^>]*> nop -+0000d220 <[^>]*> nop -+0000d224 <[^>]*> nop -+0000d228 <[^>]*> nop -+0000d22c <[^>]*> nop -+0000d230 <[^>]*> nop -+0000d234 <[^>]*> nop -+0000d238 <[^>]*> nop -+0000d23c <[^>]*> nop -+0000d240 <[^>]*> nop -+0000d244 <[^>]*> nop -+0000d248 <[^>]*> nop -+0000d24c <[^>]*> nop -+0000d250 <[^>]*> nop -+0000d254 <[^>]*> nop -+0000d258 <[^>]*> nop -+0000d25c <[^>]*> nop -+0000d260 <[^>]*> nop -+0000d264 <[^>]*> nop -+0000d268 <[^>]*> nop -+0000d26c <[^>]*> nop -+0000d270 <[^>]*> nop -+0000d274 <[^>]*> nop -+0000d278 <[^>]*> nop -+0000d27c <[^>]*> nop -+0000d280 <[^>]*> nop -+0000d284 <[^>]*> nop -+0000d288 <[^>]*> nop -+0000d28c <[^>]*> nop -+0000d290 <[^>]*> nop -+0000d294 <[^>]*> nop -+0000d298 <[^>]*> nop -+0000d29c <[^>]*> nop -+0000d2a0 <[^>]*> nop -+0000d2a4 <[^>]*> nop -+0000d2a8 <[^>]*> nop -+0000d2ac <[^>]*> nop -+0000d2b0 <[^>]*> nop -+0000d2b4 <[^>]*> nop -+0000d2b8 <[^>]*> nop -+0000d2bc <[^>]*> nop -+0000d2c0 <[^>]*> nop -+0000d2c4 <[^>]*> nop -+0000d2c8 <[^>]*> nop -+0000d2cc <[^>]*> nop -+0000d2d0 <[^>]*> nop -+0000d2d4 <[^>]*> nop -+0000d2d8 <[^>]*> nop -+0000d2dc <[^>]*> nop -+0000d2e0 <[^>]*> nop -+0000d2e4 <[^>]*> nop -+0000d2e8 <[^>]*> nop -+0000d2ec <[^>]*> nop -+0000d2f0 <[^>]*> nop -+0000d2f4 <[^>]*> nop -+0000d2f8 <[^>]*> nop -+0000d2fc <[^>]*> nop -+0000d300 <[^>]*> nop -+0000d304 <[^>]*> nop -+0000d308 <[^>]*> nop -+0000d30c <[^>]*> nop -+0000d310 <[^>]*> nop -+0000d314 <[^>]*> nop -+0000d318 <[^>]*> nop -+0000d31c <[^>]*> nop -+0000d320 <[^>]*> nop -+0000d324 <[^>]*> nop -+0000d328 <[^>]*> nop -+0000d32c <[^>]*> nop -+0000d330 <[^>]*> nop -+0000d334 <[^>]*> nop -+0000d338 <[^>]*> nop -+0000d33c <[^>]*> nop -+0000d340 <[^>]*> nop -+0000d344 <[^>]*> nop -+0000d348 <[^>]*> nop -+0000d34c <[^>]*> nop -+0000d350 <[^>]*> nop -+0000d354 <[^>]*> nop -+0000d358 <[^>]*> nop -+0000d35c <[^>]*> nop -+0000d360 <[^>]*> nop -+0000d364 <[^>]*> nop -+0000d368 <[^>]*> nop -+0000d36c <[^>]*> nop -+0000d370 <[^>]*> nop -+0000d374 <[^>]*> nop -+0000d378 <[^>]*> nop -+0000d37c <[^>]*> nop -+0000d380 <[^>]*> nop -+0000d384 <[^>]*> nop -+0000d388 <[^>]*> nop -+0000d38c <[^>]*> nop -+0000d390 <[^>]*> nop -+0000d394 <[^>]*> nop -+0000d398 <[^>]*> nop -+0000d39c <[^>]*> nop -+0000d3a0 <[^>]*> nop -+0000d3a4 <[^>]*> nop -+0000d3a8 <[^>]*> nop -+0000d3ac <[^>]*> nop -+0000d3b0 <[^>]*> nop -+0000d3b4 <[^>]*> nop -+0000d3b8 <[^>]*> nop -+0000d3bc <[^>]*> nop -+0000d3c0 <[^>]*> nop -+0000d3c4 <[^>]*> nop -+0000d3c8 <[^>]*> nop -+0000d3cc <[^>]*> nop -+0000d3d0 <[^>]*> nop -+0000d3d4 <[^>]*> nop -+0000d3d8 <[^>]*> nop -+0000d3dc <[^>]*> nop -+0000d3e0 <[^>]*> nop -+0000d3e4 <[^>]*> nop -+0000d3e8 <[^>]*> nop -+0000d3ec <[^>]*> nop -+0000d3f0 <[^>]*> nop -+0000d3f4 <[^>]*> nop -+0000d3f8 <[^>]*> nop -+0000d3fc <[^>]*> nop -+0000d400 <[^>]*> nop -+0000d404 <[^>]*> nop -+0000d408 <[^>]*> nop -+0000d40c <[^>]*> nop -+0000d410 <[^>]*> nop -+0000d414 <[^>]*> nop -+0000d418 <[^>]*> nop -+0000d41c <[^>]*> nop -+0000d420 <[^>]*> nop -+0000d424 <[^>]*> nop -+0000d428 <[^>]*> nop -+0000d42c <[^>]*> nop -+0000d430 <[^>]*> nop -+0000d434 <[^>]*> nop -+0000d438 <[^>]*> nop -+0000d43c <[^>]*> nop -+0000d440 <[^>]*> nop -+0000d444 <[^>]*> nop -+0000d448 <[^>]*> nop -+0000d44c <[^>]*> nop -+0000d450 <[^>]*> nop -+0000d454 <[^>]*> nop -+0000d458 <[^>]*> nop -+0000d45c <[^>]*> nop -+0000d460 <[^>]*> nop -+0000d464 <[^>]*> nop -+0000d468 <[^>]*> nop -+0000d46c <[^>]*> nop -+0000d470 <[^>]*> nop -+0000d474 <[^>]*> nop -+0000d478 <[^>]*> nop -+0000d47c <[^>]*> nop -+0000d480 <[^>]*> nop -+0000d484 <[^>]*> nop -+0000d488 <[^>]*> nop -+0000d48c <[^>]*> nop -+0000d490 <[^>]*> nop -+0000d494 <[^>]*> nop -+0000d498 <[^>]*> nop -+0000d49c <[^>]*> nop -+0000d4a0 <[^>]*> nop -+0000d4a4 <[^>]*> nop -+0000d4a8 <[^>]*> nop -+0000d4ac <[^>]*> nop -+0000d4b0 <[^>]*> nop -+0000d4b4 <[^>]*> nop -+0000d4b8 <[^>]*> nop -+0000d4bc <[^>]*> nop -+0000d4c0 <[^>]*> nop -+0000d4c4 <[^>]*> nop -+0000d4c8 <[^>]*> nop -+0000d4cc <[^>]*> nop -+0000d4d0 <[^>]*> nop -+0000d4d4 <[^>]*> nop -+0000d4d8 <[^>]*> nop -+0000d4dc <[^>]*> nop -+0000d4e0 <[^>]*> nop -+0000d4e4 <[^>]*> nop -+0000d4e8 <[^>]*> nop -+0000d4ec <[^>]*> nop -+0000d4f0 <[^>]*> nop -+0000d4f4 <[^>]*> nop -+0000d4f8 <[^>]*> nop -+0000d4fc <[^>]*> nop -+0000d500 <[^>]*> nop -+0000d504 <[^>]*> nop -+0000d508 <[^>]*> nop -+0000d50c <[^>]*> nop -+0000d510 <[^>]*> nop -+0000d514 <[^>]*> nop -+0000d518 <[^>]*> nop -+0000d51c <[^>]*> nop -+0000d520 <[^>]*> nop -+0000d524 <[^>]*> nop -+0000d528 <[^>]*> nop -+0000d52c <[^>]*> nop -+0000d530 <[^>]*> nop -+0000d534 <[^>]*> nop -+0000d538 <[^>]*> nop -+0000d53c <[^>]*> nop -+0000d540 <[^>]*> nop -+0000d544 <[^>]*> nop -+0000d548 <[^>]*> nop -+0000d54c <[^>]*> nop -+0000d550 <[^>]*> nop -+0000d554 <[^>]*> nop -+0000d558 <[^>]*> nop -+0000d55c <[^>]*> nop -+0000d560 <[^>]*> nop -+0000d564 <[^>]*> nop -+0000d568 <[^>]*> nop -+0000d56c <[^>]*> nop -+0000d570 <[^>]*> nop -+0000d574 <[^>]*> nop -+0000d578 <[^>]*> nop -+0000d57c <[^>]*> nop -+0000d580 <[^>]*> nop -+0000d584 <[^>]*> nop -+0000d588 <[^>]*> nop -+0000d58c <[^>]*> nop -+0000d590 <[^>]*> nop -+0000d594 <[^>]*> nop -+0000d598 <[^>]*> nop -+0000d59c <[^>]*> nop -+0000d5a0 <[^>]*> nop -+0000d5a4 <[^>]*> nop -+0000d5a8 <[^>]*> nop -+0000d5ac <[^>]*> nop -+0000d5b0 <[^>]*> nop -+0000d5b4 <[^>]*> nop -+0000d5b8 <[^>]*> nop -+0000d5bc <[^>]*> nop -+0000d5c0 <[^>]*> nop -+0000d5c4 <[^>]*> nop -+0000d5c8 <[^>]*> nop -+0000d5cc <[^>]*> nop -+0000d5d0 <[^>]*> nop -+0000d5d4 <[^>]*> nop -+0000d5d8 <[^>]*> nop -+0000d5dc <[^>]*> nop -+0000d5e0 <[^>]*> nop -+0000d5e4 <[^>]*> nop -+0000d5e8 <[^>]*> nop -+0000d5ec <[^>]*> nop -+0000d5f0 <[^>]*> nop -+0000d5f4 <[^>]*> nop -+0000d5f8 <[^>]*> nop -+0000d5fc <[^>]*> nop -+0000d600 <[^>]*> nop -+0000d604 <[^>]*> nop -+0000d608 <[^>]*> nop -+0000d60c <[^>]*> nop -+0000d610 <[^>]*> nop -+0000d614 <[^>]*> nop -+0000d618 <[^>]*> nop -+0000d61c <[^>]*> nop -+0000d620 <[^>]*> nop -+0000d624 <[^>]*> nop -+0000d628 <[^>]*> nop -+0000d62c <[^>]*> nop -+0000d630 <[^>]*> nop -+0000d634 <[^>]*> nop -+0000d638 <[^>]*> nop -+0000d63c <[^>]*> nop -+0000d640 <[^>]*> nop -+0000d644 <[^>]*> nop -+0000d648 <[^>]*> nop -+0000d64c <[^>]*> nop -+0000d650 <[^>]*> nop -+0000d654 <[^>]*> nop -+0000d658 <[^>]*> nop -+0000d65c <[^>]*> nop -+0000d660 <[^>]*> nop -+0000d664 <[^>]*> nop -+0000d668 <[^>]*> nop -+0000d66c <[^>]*> nop -+0000d670 <[^>]*> nop -+0000d674 <[^>]*> nop -+0000d678 <[^>]*> nop -+0000d67c <[^>]*> nop -+0000d680 <[^>]*> nop -+0000d684 <[^>]*> nop -+0000d688 <[^>]*> nop -+0000d68c <[^>]*> nop -+0000d690 <[^>]*> nop -+0000d694 <[^>]*> nop -+0000d698 <[^>]*> nop -+0000d69c <[^>]*> nop -+0000d6a0 <[^>]*> nop -+0000d6a4 <[^>]*> nop -+0000d6a8 <[^>]*> nop -+0000d6ac <[^>]*> nop -+0000d6b0 <[^>]*> nop -+0000d6b4 <[^>]*> nop -+0000d6b8 <[^>]*> nop -+0000d6bc <[^>]*> nop -+0000d6c0 <[^>]*> nop -+0000d6c4 <[^>]*> nop -+0000d6c8 <[^>]*> nop -+0000d6cc <[^>]*> nop -+0000d6d0 <[^>]*> nop -+0000d6d4 <[^>]*> nop -+0000d6d8 <[^>]*> nop -+0000d6dc <[^>]*> nop -+0000d6e0 <[^>]*> nop -+0000d6e4 <[^>]*> nop -+0000d6e8 <[^>]*> nop -+0000d6ec <[^>]*> nop -+0000d6f0 <[^>]*> nop -+0000d6f4 <[^>]*> nop -+0000d6f8 <[^>]*> nop -+0000d6fc <[^>]*> nop -+0000d700 <[^>]*> nop -+0000d704 <[^>]*> nop -+0000d708 <[^>]*> nop -+0000d70c <[^>]*> nop -+0000d710 <[^>]*> nop -+0000d714 <[^>]*> nop -+0000d718 <[^>]*> nop -+0000d71c <[^>]*> nop -+0000d720 <[^>]*> nop -+0000d724 <[^>]*> nop -+0000d728 <[^>]*> nop -+0000d72c <[^>]*> nop -+0000d730 <[^>]*> nop -+0000d734 <[^>]*> nop -+0000d738 <[^>]*> nop -+0000d73c <[^>]*> nop -+0000d740 <[^>]*> nop -+0000d744 <[^>]*> nop -+0000d748 <[^>]*> nop -+0000d74c <[^>]*> nop -+0000d750 <[^>]*> nop -+0000d754 <[^>]*> nop -+0000d758 <[^>]*> nop -+0000d75c <[^>]*> nop -+0000d760 <[^>]*> nop -+0000d764 <[^>]*> nop -+0000d768 <[^>]*> nop -+0000d76c <[^>]*> nop -+0000d770 <[^>]*> nop -+0000d774 <[^>]*> nop -+0000d778 <[^>]*> nop -+0000d77c <[^>]*> nop -+0000d780 <[^>]*> nop -+0000d784 <[^>]*> nop -+0000d788 <[^>]*> nop -+0000d78c <[^>]*> nop -+0000d790 <[^>]*> nop -+0000d794 <[^>]*> nop -+0000d798 <[^>]*> nop -+0000d79c <[^>]*> nop -+0000d7a0 <[^>]*> nop -+0000d7a4 <[^>]*> nop -+0000d7a8 <[^>]*> nop -+0000d7ac <[^>]*> nop -+0000d7b0 <[^>]*> nop -+0000d7b4 <[^>]*> nop -+0000d7b8 <[^>]*> nop -+0000d7bc <[^>]*> nop -+0000d7c0 <[^>]*> nop -+0000d7c4 <[^>]*> nop -+0000d7c8 <[^>]*> nop -+0000d7cc <[^>]*> nop -+0000d7d0 <[^>]*> nop -+0000d7d4 <[^>]*> nop -+0000d7d8 <[^>]*> nop -+0000d7dc <[^>]*> nop -+0000d7e0 <[^>]*> nop -+0000d7e4 <[^>]*> nop -+0000d7e8 <[^>]*> nop -+0000d7ec <[^>]*> nop -+0000d7f0 <[^>]*> nop -+0000d7f4 <[^>]*> nop -+0000d7f8 <[^>]*> nop -+0000d7fc <[^>]*> nop -+0000d800 <[^>]*> nop -+0000d804 <[^>]*> nop -+0000d808 <[^>]*> nop -+0000d80c <[^>]*> nop -+0000d810 <[^>]*> nop -+0000d814 <[^>]*> nop -+0000d818 <[^>]*> nop -+0000d81c <[^>]*> nop -+0000d820 <[^>]*> nop -+0000d824 <[^>]*> nop -+0000d828 <[^>]*> nop -+0000d82c <[^>]*> nop -+0000d830 <[^>]*> nop -+0000d834 <[^>]*> nop -+0000d838 <[^>]*> nop -+0000d83c <[^>]*> nop -+0000d840 <[^>]*> nop -+0000d844 <[^>]*> nop -+0000d848 <[^>]*> nop -+0000d84c <[^>]*> nop -+0000d850 <[^>]*> nop -+0000d854 <[^>]*> nop -+0000d858 <[^>]*> nop -+0000d85c <[^>]*> nop -+0000d860 <[^>]*> nop -+0000d864 <[^>]*> nop -+0000d868 <[^>]*> nop -+0000d86c <[^>]*> nop -+0000d870 <[^>]*> nop -+0000d874 <[^>]*> nop -+0000d878 <[^>]*> nop -+0000d87c <[^>]*> nop -+0000d880 <[^>]*> nop -+0000d884 <[^>]*> nop -+0000d888 <[^>]*> nop -+0000d88c <[^>]*> nop -+0000d890 <[^>]*> nop -+0000d894 <[^>]*> nop -+0000d898 <[^>]*> nop -+0000d89c <[^>]*> nop -+0000d8a0 <[^>]*> nop -+0000d8a4 <[^>]*> nop -+0000d8a8 <[^>]*> nop -+0000d8ac <[^>]*> nop -+0000d8b0 <[^>]*> nop -+0000d8b4 <[^>]*> nop -+0000d8b8 <[^>]*> nop -+0000d8bc <[^>]*> nop -+0000d8c0 <[^>]*> nop -+0000d8c4 <[^>]*> nop -+0000d8c8 <[^>]*> nop -+0000d8cc <[^>]*> nop -+0000d8d0 <[^>]*> nop -+0000d8d4 <[^>]*> nop -+0000d8d8 <[^>]*> nop -+0000d8dc <[^>]*> nop -+0000d8e0 <[^>]*> nop -+0000d8e4 <[^>]*> nop -+0000d8e8 <[^>]*> nop -+0000d8ec <[^>]*> nop -+0000d8f0 <[^>]*> nop -+0000d8f4 <[^>]*> nop -+0000d8f8 <[^>]*> nop -+0000d8fc <[^>]*> nop -+0000d900 <[^>]*> nop -+0000d904 <[^>]*> nop -+0000d908 <[^>]*> nop -+0000d90c <[^>]*> nop -+0000d910 <[^>]*> nop -+0000d914 <[^>]*> nop -+0000d918 <[^>]*> nop -+0000d91c <[^>]*> nop -+0000d920 <[^>]*> nop -+0000d924 <[^>]*> nop -+0000d928 <[^>]*> nop -+0000d92c <[^>]*> nop -+0000d930 <[^>]*> nop -+0000d934 <[^>]*> nop -+0000d938 <[^>]*> nop -+0000d93c <[^>]*> nop -+0000d940 <[^>]*> nop -+0000d944 <[^>]*> nop -+0000d948 <[^>]*> nop -+0000d94c <[^>]*> nop -+0000d950 <[^>]*> nop -+0000d954 <[^>]*> nop -+0000d958 <[^>]*> nop -+0000d95c <[^>]*> nop -+0000d960 <[^>]*> nop -+0000d964 <[^>]*> nop -+0000d968 <[^>]*> nop -+0000d96c <[^>]*> nop -+0000d970 <[^>]*> nop -+0000d974 <[^>]*> nop -+0000d978 <[^>]*> nop -+0000d97c <[^>]*> nop -+0000d980 <[^>]*> nop -+0000d984 <[^>]*> nop -+0000d988 <[^>]*> nop -+0000d98c <[^>]*> nop -+0000d990 <[^>]*> nop -+0000d994 <[^>]*> nop -+0000d998 <[^>]*> nop -+0000d99c <[^>]*> nop -+0000d9a0 <[^>]*> nop -+0000d9a4 <[^>]*> nop -+0000d9a8 <[^>]*> nop -+0000d9ac <[^>]*> nop -+0000d9b0 <[^>]*> nop -+0000d9b4 <[^>]*> nop -+0000d9b8 <[^>]*> nop -+0000d9bc <[^>]*> nop -+0000d9c0 <[^>]*> nop -+0000d9c4 <[^>]*> nop -+0000d9c8 <[^>]*> nop -+0000d9cc <[^>]*> nop -+0000d9d0 <[^>]*> nop -+0000d9d4 <[^>]*> nop -+0000d9d8 <[^>]*> nop -+0000d9dc <[^>]*> nop -+0000d9e0 <[^>]*> nop -+0000d9e4 <[^>]*> nop -+0000d9e8 <[^>]*> nop -+0000d9ec <[^>]*> nop -+0000d9f0 <[^>]*> nop -+0000d9f4 <[^>]*> nop -+0000d9f8 <[^>]*> nop -+0000d9fc <[^>]*> nop -+0000da00 <[^>]*> nop -+0000da04 <[^>]*> nop -+0000da08 <[^>]*> nop -+0000da0c <[^>]*> nop -+0000da10 <[^>]*> nop -+0000da14 <[^>]*> nop -+0000da18 <[^>]*> nop -+0000da1c <[^>]*> nop -+0000da20 <[^>]*> nop -+0000da24 <[^>]*> nop -+0000da28 <[^>]*> nop -+0000da2c <[^>]*> nop -+0000da30 <[^>]*> nop -+0000da34 <[^>]*> nop -+0000da38 <[^>]*> nop -+0000da3c <[^>]*> nop -+0000da40 <[^>]*> nop -+0000da44 <[^>]*> nop -+0000da48 <[^>]*> nop -+0000da4c <[^>]*> nop -+0000da50 <[^>]*> nop -+0000da54 <[^>]*> nop -+0000da58 <[^>]*> nop -+0000da5c <[^>]*> nop -+0000da60 <[^>]*> nop -+0000da64 <[^>]*> nop -+0000da68 <[^>]*> nop -+0000da6c <[^>]*> nop -+0000da70 <[^>]*> nop -+0000da74 <[^>]*> nop -+0000da78 <[^>]*> nop -+0000da7c <[^>]*> nop -+0000da80 <[^>]*> nop -+0000da84 <[^>]*> nop -+0000da88 <[^>]*> nop -+0000da8c <[^>]*> nop -+0000da90 <[^>]*> nop -+0000da94 <[^>]*> nop -+0000da98 <[^>]*> nop -+0000da9c <[^>]*> nop -+0000daa0 <[^>]*> nop -+0000daa4 <[^>]*> nop -+0000daa8 <[^>]*> nop -+0000daac <[^>]*> nop -+0000dab0 <[^>]*> nop -+0000dab4 <[^>]*> nop -+0000dab8 <[^>]*> nop -+0000dabc <[^>]*> nop -+0000dac0 <[^>]*> nop -+0000dac4 <[^>]*> nop -+0000dac8 <[^>]*> nop -+0000dacc <[^>]*> nop -+0000dad0 <[^>]*> nop -+0000dad4 <[^>]*> nop -+0000dad8 <[^>]*> nop -+0000dadc <[^>]*> nop -+0000dae0 <[^>]*> nop -+0000dae4 <[^>]*> nop -+0000dae8 <[^>]*> nop -+0000daec <[^>]*> nop -+0000daf0 <[^>]*> nop -+0000daf4 <[^>]*> nop -+0000daf8 <[^>]*> nop -+0000dafc <[^>]*> nop -+0000db00 <[^>]*> nop -+0000db04 <[^>]*> nop -+0000db08 <[^>]*> nop -+0000db0c <[^>]*> nop -+0000db10 <[^>]*> nop -+0000db14 <[^>]*> nop -+0000db18 <[^>]*> nop -+0000db1c <[^>]*> nop -+0000db20 <[^>]*> nop -+0000db24 <[^>]*> nop -+0000db28 <[^>]*> nop -+0000db2c <[^>]*> nop -+0000db30 <[^>]*> nop -+0000db34 <[^>]*> nop -+0000db38 <[^>]*> nop -+0000db3c <[^>]*> nop -+0000db40 <[^>]*> nop -+0000db44 <[^>]*> nop -+0000db48 <[^>]*> nop -+0000db4c <[^>]*> nop -+0000db50 <[^>]*> nop -+0000db54 <[^>]*> nop -+0000db58 <[^>]*> nop -+0000db5c <[^>]*> nop -+0000db60 <[^>]*> nop -+0000db64 <[^>]*> nop -+0000db68 <[^>]*> nop -+0000db6c <[^>]*> nop -+0000db70 <[^>]*> nop -+0000db74 <[^>]*> nop -+0000db78 <[^>]*> nop -+0000db7c <[^>]*> nop -+0000db80 <[^>]*> nop -+0000db84 <[^>]*> nop -+0000db88 <[^>]*> nop -+0000db8c <[^>]*> nop -+0000db90 <[^>]*> nop -+0000db94 <[^>]*> nop -+0000db98 <[^>]*> nop -+0000db9c <[^>]*> nop -+0000dba0 <[^>]*> nop -+0000dba4 <[^>]*> nop -+0000dba8 <[^>]*> nop -+0000dbac <[^>]*> nop -+0000dbb0 <[^>]*> nop -+0000dbb4 <[^>]*> nop -+0000dbb8 <[^>]*> nop -+0000dbbc <[^>]*> nop -+0000dbc0 <[^>]*> nop -+0000dbc4 <[^>]*> nop -+0000dbc8 <[^>]*> nop -+0000dbcc <[^>]*> nop -+0000dbd0 <[^>]*> nop -+0000dbd4 <[^>]*> nop -+0000dbd8 <[^>]*> nop -+0000dbdc <[^>]*> nop -+0000dbe0 <[^>]*> nop -+0000dbe4 <[^>]*> nop -+0000dbe8 <[^>]*> nop -+0000dbec <[^>]*> nop -+0000dbf0 <[^>]*> nop -+0000dbf4 <[^>]*> nop -+0000dbf8 <[^>]*> nop -+0000dbfc <[^>]*> nop -+0000dc00 <[^>]*> nop -+0000dc04 <[^>]*> nop -+0000dc08 <[^>]*> nop -+0000dc0c <[^>]*> nop -+0000dc10 <[^>]*> nop -+0000dc14 <[^>]*> nop -+0000dc18 <[^>]*> nop -+0000dc1c <[^>]*> nop -+0000dc20 <[^>]*> nop -+0000dc24 <[^>]*> nop -+0000dc28 <[^>]*> nop -+0000dc2c <[^>]*> nop -+0000dc30 <[^>]*> nop -+0000dc34 <[^>]*> nop -+0000dc38 <[^>]*> nop -+0000dc3c <[^>]*> nop -+0000dc40 <[^>]*> nop -+0000dc44 <[^>]*> nop -+0000dc48 <[^>]*> nop -+0000dc4c <[^>]*> nop -+0000dc50 <[^>]*> nop -+0000dc54 <[^>]*> nop -+0000dc58 <[^>]*> nop -+0000dc5c <[^>]*> nop -+0000dc60 <[^>]*> nop -+0000dc64 <[^>]*> nop -+0000dc68 <[^>]*> nop -+0000dc6c <[^>]*> nop -+0000dc70 <[^>]*> nop -+0000dc74 <[^>]*> nop -+0000dc78 <[^>]*> nop -+0000dc7c <[^>]*> nop -+0000dc80 <[^>]*> nop -+0000dc84 <[^>]*> nop -+0000dc88 <[^>]*> nop -+0000dc8c <[^>]*> nop -+0000dc90 <[^>]*> nop -+0000dc94 <[^>]*> nop -+0000dc98 <[^>]*> nop -+0000dc9c <[^>]*> nop -+0000dca0 <[^>]*> nop -+0000dca4 <[^>]*> nop -+0000dca8 <[^>]*> nop -+0000dcac <[^>]*> nop -+0000dcb0 <[^>]*> nop -+0000dcb4 <[^>]*> nop -+0000dcb8 <[^>]*> nop -+0000dcbc <[^>]*> nop -+0000dcc0 <[^>]*> nop -+0000dcc4 <[^>]*> nop -+0000dcc8 <[^>]*> nop -+0000dccc <[^>]*> nop -+0000dcd0 <[^>]*> nop -+0000dcd4 <[^>]*> nop -+0000dcd8 <[^>]*> nop -+0000dcdc <[^>]*> nop -+0000dce0 <[^>]*> nop -+0000dce4 <[^>]*> nop -+0000dce8 <[^>]*> nop -+0000dcec <[^>]*> nop -+0000dcf0 <[^>]*> nop -+0000dcf4 <[^>]*> nop -+0000dcf8 <[^>]*> nop -+0000dcfc <[^>]*> nop -+0000dd00 <[^>]*> nop -+0000dd04 <[^>]*> nop -+0000dd08 <[^>]*> nop -+0000dd0c <[^>]*> nop -+0000dd10 <[^>]*> nop -+0000dd14 <[^>]*> nop -+0000dd18 <[^>]*> nop -+0000dd1c <[^>]*> nop -+0000dd20 <[^>]*> nop -+0000dd24 <[^>]*> nop -+0000dd28 <[^>]*> nop -+0000dd2c <[^>]*> nop -+0000dd30 <[^>]*> nop -+0000dd34 <[^>]*> nop -+0000dd38 <[^>]*> nop -+0000dd3c <[^>]*> nop -+0000dd40 <[^>]*> nop -+0000dd44 <[^>]*> nop -+0000dd48 <[^>]*> nop -+0000dd4c <[^>]*> nop -+0000dd50 <[^>]*> nop -+0000dd54 <[^>]*> nop -+0000dd58 <[^>]*> nop -+0000dd5c <[^>]*> nop -+0000dd60 <[^>]*> nop -+0000dd64 <[^>]*> nop -+0000dd68 <[^>]*> nop -+0000dd6c <[^>]*> nop -+0000dd70 <[^>]*> nop -+0000dd74 <[^>]*> nop -+0000dd78 <[^>]*> nop -+0000dd7c <[^>]*> nop -+0000dd80 <[^>]*> nop -+0000dd84 <[^>]*> nop -+0000dd88 <[^>]*> nop -+0000dd8c <[^>]*> nop -+0000dd90 <[^>]*> nop -+0000dd94 <[^>]*> nop -+0000dd98 <[^>]*> nop -+0000dd9c <[^>]*> nop -+0000dda0 <[^>]*> nop -+0000dda4 <[^>]*> nop -+0000dda8 <[^>]*> nop -+0000ddac <[^>]*> nop -+0000ddb0 <[^>]*> nop -+0000ddb4 <[^>]*> nop -+0000ddb8 <[^>]*> nop -+0000ddbc <[^>]*> nop -+0000ddc0 <[^>]*> nop -+0000ddc4 <[^>]*> nop -+0000ddc8 <[^>]*> nop -+0000ddcc <[^>]*> nop -+0000ddd0 <[^>]*> nop -+0000ddd4 <[^>]*> nop -+0000ddd8 <[^>]*> nop -+0000dddc <[^>]*> nop -+0000dde0 <[^>]*> nop -+0000dde4 <[^>]*> nop -+0000dde8 <[^>]*> nop -+0000ddec <[^>]*> nop -+0000ddf0 <[^>]*> nop -+0000ddf4 <[^>]*> nop -+0000ddf8 <[^>]*> nop -+0000ddfc <[^>]*> nop -+0000de00 <[^>]*> nop -+0000de04 <[^>]*> nop -+0000de08 <[^>]*> nop -+0000de0c <[^>]*> nop -+0000de10 <[^>]*> nop -+0000de14 <[^>]*> nop -+0000de18 <[^>]*> nop -+0000de1c <[^>]*> nop -+0000de20 <[^>]*> nop -+0000de24 <[^>]*> nop -+0000de28 <[^>]*> nop -+0000de2c <[^>]*> nop -+0000de30 <[^>]*> nop -+0000de34 <[^>]*> nop -+0000de38 <[^>]*> nop -+0000de3c <[^>]*> nop -+0000de40 <[^>]*> nop -+0000de44 <[^>]*> nop -+0000de48 <[^>]*> nop -+0000de4c <[^>]*> nop -+0000de50 <[^>]*> nop -+0000de54 <[^>]*> nop -+0000de58 <[^>]*> nop -+0000de5c <[^>]*> nop -+0000de60 <[^>]*> nop -+0000de64 <[^>]*> nop -+0000de68 <[^>]*> nop -+0000de6c <[^>]*> nop -+0000de70 <[^>]*> nop -+0000de74 <[^>]*> nop -+0000de78 <[^>]*> nop -+0000de7c <[^>]*> nop -+0000de80 <[^>]*> nop -+0000de84 <[^>]*> nop -+0000de88 <[^>]*> nop -+0000de8c <[^>]*> nop -+0000de90 <[^>]*> nop -+0000de94 <[^>]*> nop -+0000de98 <[^>]*> nop -+0000de9c <[^>]*> nop -+0000dea0 <[^>]*> nop -+0000dea4 <[^>]*> nop -+0000dea8 <[^>]*> nop -+0000deac <[^>]*> nop -+0000deb0 <[^>]*> nop -+0000deb4 <[^>]*> nop -+0000deb8 <[^>]*> nop -+0000debc <[^>]*> nop -+0000dec0 <[^>]*> nop -+0000dec4 <[^>]*> nop -+0000dec8 <[^>]*> nop -+0000decc <[^>]*> nop -+0000ded0 <[^>]*> nop -+0000ded4 <[^>]*> nop -+0000ded8 <[^>]*> nop -+0000dedc <[^>]*> nop -+0000dee0 <[^>]*> nop -+0000dee4 <[^>]*> nop -+0000dee8 <[^>]*> nop -+0000deec <[^>]*> nop -+0000def0 <[^>]*> nop -+0000def4 <[^>]*> nop -+0000def8 <[^>]*> nop -+0000defc <[^>]*> nop -+0000df00 <[^>]*> nop -+0000df04 <[^>]*> nop -+0000df08 <[^>]*> nop -+0000df0c <[^>]*> nop -+0000df10 <[^>]*> nop -+0000df14 <[^>]*> nop -+0000df18 <[^>]*> nop -+0000df1c <[^>]*> nop -+0000df20 <[^>]*> nop -+0000df24 <[^>]*> nop -+0000df28 <[^>]*> nop -+0000df2c <[^>]*> nop -+0000df30 <[^>]*> nop -+0000df34 <[^>]*> nop -+0000df38 <[^>]*> nop -+0000df3c <[^>]*> nop -+0000df40 <[^>]*> nop -+0000df44 <[^>]*> nop -+0000df48 <[^>]*> nop -+0000df4c <[^>]*> nop -+0000df50 <[^>]*> nop -+0000df54 <[^>]*> nop -+0000df58 <[^>]*> nop -+0000df5c <[^>]*> nop -+0000df60 <[^>]*> nop -+0000df64 <[^>]*> nop -+0000df68 <[^>]*> nop -+0000df6c <[^>]*> nop -+0000df70 <[^>]*> nop -+0000df74 <[^>]*> nop -+0000df78 <[^>]*> nop -+0000df7c <[^>]*> nop -+0000df80 <[^>]*> nop -+0000df84 <[^>]*> nop -+0000df88 <[^>]*> nop -+0000df8c <[^>]*> nop -+0000df90 <[^>]*> nop -+0000df94 <[^>]*> nop -+0000df98 <[^>]*> nop -+0000df9c <[^>]*> nop -+0000dfa0 <[^>]*> nop -+0000dfa4 <[^>]*> nop -+0000dfa8 <[^>]*> nop -+0000dfac <[^>]*> nop -+0000dfb0 <[^>]*> nop -+0000dfb4 <[^>]*> nop -+0000dfb8 <[^>]*> nop -+0000dfbc <[^>]*> nop -+0000dfc0 <[^>]*> nop -+0000dfc4 <[^>]*> nop -+0000dfc8 <[^>]*> nop -+0000dfcc <[^>]*> nop -+0000dfd0 <[^>]*> nop -+0000dfd4 <[^>]*> nop -+0000dfd8 <[^>]*> nop -+0000dfdc <[^>]*> nop -+0000dfe0 <[^>]*> nop -+0000dfe4 <[^>]*> nop -+0000dfe8 <[^>]*> nop -+0000dfec <[^>]*> nop -+0000dff0 <[^>]*> nop -+0000dff4 <[^>]*> nop -+0000dff8 <[^>]*> nop -+0000dffc <[^>]*> nop -+0000e000 <[^>]*> nop -+0000e004 <[^>]*> nop -+0000e008 <[^>]*> nop -+0000e00c <[^>]*> nop -+0000e010 <[^>]*> nop -+0000e014 <[^>]*> nop -+0000e018 <[^>]*> nop -+0000e01c <[^>]*> nop -+0000e020 <[^>]*> nop -+0000e024 <[^>]*> nop -+0000e028 <[^>]*> nop -+0000e02c <[^>]*> nop -+0000e030 <[^>]*> nop -+0000e034 <[^>]*> nop -+0000e038 <[^>]*> nop -+0000e03c <[^>]*> nop -+0000e040 <[^>]*> nop -+0000e044 <[^>]*> nop -+0000e048 <[^>]*> nop -+0000e04c <[^>]*> nop -+0000e050 <[^>]*> nop -+0000e054 <[^>]*> nop -+0000e058 <[^>]*> nop -+0000e05c <[^>]*> nop -+0000e060 <[^>]*> nop -+0000e064 <[^>]*> nop -+0000e068 <[^>]*> nop -+0000e06c <[^>]*> nop -+0000e070 <[^>]*> nop -+0000e074 <[^>]*> nop -+0000e078 <[^>]*> nop -+0000e07c <[^>]*> nop -+0000e080 <[^>]*> nop -+0000e084 <[^>]*> nop -+0000e088 <[^>]*> nop -+0000e08c <[^>]*> nop -+0000e090 <[^>]*> nop -+0000e094 <[^>]*> nop -+0000e098 <[^>]*> nop -+0000e09c <[^>]*> nop -+0000e0a0 <[^>]*> nop -+0000e0a4 <[^>]*> nop -+0000e0a8 <[^>]*> nop -+0000e0ac <[^>]*> nop -+0000e0b0 <[^>]*> nop -+0000e0b4 <[^>]*> nop -+0000e0b8 <[^>]*> nop -+0000e0bc <[^>]*> nop -+0000e0c0 <[^>]*> nop -+0000e0c4 <[^>]*> nop -+0000e0c8 <[^>]*> nop -+0000e0cc <[^>]*> nop -+0000e0d0 <[^>]*> nop -+0000e0d4 <[^>]*> nop -+0000e0d8 <[^>]*> nop -+0000e0dc <[^>]*> nop -+0000e0e0 <[^>]*> nop -+0000e0e4 <[^>]*> nop -+0000e0e8 <[^>]*> nop -+0000e0ec <[^>]*> nop -+0000e0f0 <[^>]*> nop -+0000e0f4 <[^>]*> nop -+0000e0f8 <[^>]*> nop -+0000e0fc <[^>]*> nop -+0000e100 <[^>]*> nop -+0000e104 <[^>]*> nop -+0000e108 <[^>]*> nop -+0000e10c <[^>]*> nop -+0000e110 <[^>]*> nop -+0000e114 <[^>]*> nop -+0000e118 <[^>]*> nop -+0000e11c <[^>]*> nop -+0000e120 <[^>]*> nop -+0000e124 <[^>]*> nop -+0000e128 <[^>]*> nop -+0000e12c <[^>]*> nop -+0000e130 <[^>]*> nop -+0000e134 <[^>]*> nop -+0000e138 <[^>]*> nop -+0000e13c <[^>]*> nop -+0000e140 <[^>]*> nop -+0000e144 <[^>]*> nop -+0000e148 <[^>]*> nop -+0000e14c <[^>]*> nop -+0000e150 <[^>]*> nop -+0000e154 <[^>]*> nop -+0000e158 <[^>]*> nop -+0000e15c <[^>]*> nop -+0000e160 <[^>]*> nop -+0000e164 <[^>]*> nop -+0000e168 <[^>]*> nop -+0000e16c <[^>]*> nop -+0000e170 <[^>]*> nop -+0000e174 <[^>]*> nop -+0000e178 <[^>]*> nop -+0000e17c <[^>]*> nop -+0000e180 <[^>]*> nop -+0000e184 <[^>]*> nop -+0000e188 <[^>]*> nop -+0000e18c <[^>]*> nop -+0000e190 <[^>]*> nop -+0000e194 <[^>]*> nop -+0000e198 <[^>]*> nop -+0000e19c <[^>]*> nop -+0000e1a0 <[^>]*> nop -+0000e1a4 <[^>]*> nop -+0000e1a8 <[^>]*> nop -+0000e1ac <[^>]*> nop -+0000e1b0 <[^>]*> nop -+0000e1b4 <[^>]*> nop -+0000e1b8 <[^>]*> nop -+0000e1bc <[^>]*> nop -+0000e1c0 <[^>]*> nop -+0000e1c4 <[^>]*> nop -+0000e1c8 <[^>]*> nop -+0000e1cc <[^>]*> nop -+0000e1d0 <[^>]*> nop -+0000e1d4 <[^>]*> nop -+0000e1d8 <[^>]*> nop -+0000e1dc <[^>]*> nop -+0000e1e0 <[^>]*> nop -+0000e1e4 <[^>]*> nop -+0000e1e8 <[^>]*> nop -+0000e1ec <[^>]*> nop -+0000e1f0 <[^>]*> nop -+0000e1f4 <[^>]*> nop -+0000e1f8 <[^>]*> nop -+0000e1fc <[^>]*> nop -+0000e200 <[^>]*> nop -+0000e204 <[^>]*> nop -+0000e208 <[^>]*> nop -+0000e20c <[^>]*> nop -+0000e210 <[^>]*> nop -+0000e214 <[^>]*> nop -+0000e218 <[^>]*> nop -+0000e21c <[^>]*> nop -+0000e220 <[^>]*> nop -+0000e224 <[^>]*> nop -+0000e228 <[^>]*> nop -+0000e22c <[^>]*> nop -+0000e230 <[^>]*> nop -+0000e234 <[^>]*> nop -+0000e238 <[^>]*> nop -+0000e23c <[^>]*> nop -+0000e240 <[^>]*> nop -+0000e244 <[^>]*> nop -+0000e248 <[^>]*> nop -+0000e24c <[^>]*> nop -+0000e250 <[^>]*> nop -+0000e254 <[^>]*> nop -+0000e258 <[^>]*> nop -+0000e25c <[^>]*> nop -+0000e260 <[^>]*> nop -+0000e264 <[^>]*> nop -+0000e268 <[^>]*> nop -+0000e26c <[^>]*> nop -+0000e270 <[^>]*> nop -+0000e274 <[^>]*> nop -+0000e278 <[^>]*> nop -+0000e27c <[^>]*> nop -+0000e280 <[^>]*> nop -+0000e284 <[^>]*> nop -+0000e288 <[^>]*> nop -+0000e28c <[^>]*> nop -+0000e290 <[^>]*> nop -+0000e294 <[^>]*> nop -+0000e298 <[^>]*> nop -+0000e29c <[^>]*> nop -+0000e2a0 <[^>]*> nop -+0000e2a4 <[^>]*> nop -+0000e2a8 <[^>]*> nop -+0000e2ac <[^>]*> nop -+0000e2b0 <[^>]*> nop -+0000e2b4 <[^>]*> nop -+0000e2b8 <[^>]*> nop -+0000e2bc <[^>]*> nop -+0000e2c0 <[^>]*> nop -+0000e2c4 <[^>]*> nop -+0000e2c8 <[^>]*> nop -+0000e2cc <[^>]*> nop -+0000e2d0 <[^>]*> nop -+0000e2d4 <[^>]*> nop -+0000e2d8 <[^>]*> nop -+0000e2dc <[^>]*> nop -+0000e2e0 <[^>]*> nop -+0000e2e4 <[^>]*> nop -+0000e2e8 <[^>]*> nop -+0000e2ec <[^>]*> nop -+0000e2f0 <[^>]*> nop -+0000e2f4 <[^>]*> nop -+0000e2f8 <[^>]*> nop -+0000e2fc <[^>]*> nop -+0000e300 <[^>]*> nop -+0000e304 <[^>]*> nop -+0000e308 <[^>]*> nop -+0000e30c <[^>]*> nop -+0000e310 <[^>]*> nop -+0000e314 <[^>]*> nop -+0000e318 <[^>]*> nop -+0000e31c <[^>]*> nop -+0000e320 <[^>]*> nop -+0000e324 <[^>]*> nop -+0000e328 <[^>]*> nop -+0000e32c <[^>]*> nop -+0000e330 <[^>]*> nop -+0000e334 <[^>]*> nop -+0000e338 <[^>]*> nop -+0000e33c <[^>]*> nop -+0000e340 <[^>]*> nop -+0000e344 <[^>]*> nop -+0000e348 <[^>]*> nop -+0000e34c <[^>]*> nop -+0000e350 <[^>]*> nop -+0000e354 <[^>]*> nop -+0000e358 <[^>]*> nop -+0000e35c <[^>]*> nop -+0000e360 <[^>]*> nop -+0000e364 <[^>]*> nop -+0000e368 <[^>]*> nop -+0000e36c <[^>]*> nop -+0000e370 <[^>]*> nop -+0000e374 <[^>]*> nop -+0000e378 <[^>]*> nop -+0000e37c <[^>]*> nop -+0000e380 <[^>]*> nop -+0000e384 <[^>]*> nop -+0000e388 <[^>]*> nop -+0000e38c <[^>]*> nop -+0000e390 <[^>]*> nop -+0000e394 <[^>]*> nop -+0000e398 <[^>]*> nop -+0000e39c <[^>]*> nop -+0000e3a0 <[^>]*> nop -+0000e3a4 <[^>]*> nop -+0000e3a8 <[^>]*> nop -+0000e3ac <[^>]*> nop -+0000e3b0 <[^>]*> nop -+0000e3b4 <[^>]*> nop -+0000e3b8 <[^>]*> nop -+0000e3bc <[^>]*> nop -+0000e3c0 <[^>]*> nop -+0000e3c4 <[^>]*> nop -+0000e3c8 <[^>]*> nop -+0000e3cc <[^>]*> nop -+0000e3d0 <[^>]*> nop -+0000e3d4 <[^>]*> nop -+0000e3d8 <[^>]*> nop -+0000e3dc <[^>]*> nop -+0000e3e0 <[^>]*> nop -+0000e3e4 <[^>]*> nop -+0000e3e8 <[^>]*> nop -+0000e3ec <[^>]*> nop -+0000e3f0 <[^>]*> nop -+0000e3f4 <[^>]*> nop -+0000e3f8 <[^>]*> nop -+0000e3fc <[^>]*> nop -+0000e400 <[^>]*> nop -+0000e404 <[^>]*> nop -+0000e408 <[^>]*> nop -+0000e40c <[^>]*> nop -+0000e410 <[^>]*> nop -+0000e414 <[^>]*> nop -+0000e418 <[^>]*> nop -+0000e41c <[^>]*> nop -+0000e420 <[^>]*> nop -+0000e424 <[^>]*> nop -+0000e428 <[^>]*> nop -+0000e42c <[^>]*> nop -+0000e430 <[^>]*> nop -+0000e434 <[^>]*> nop -+0000e438 <[^>]*> nop -+0000e43c <[^>]*> nop -+0000e440 <[^>]*> nop -+0000e444 <[^>]*> nop -+0000e448 <[^>]*> nop -+0000e44c <[^>]*> nop -+0000e450 <[^>]*> nop -+0000e454 <[^>]*> nop -+0000e458 <[^>]*> nop -+0000e45c <[^>]*> nop -+0000e460 <[^>]*> nop -+0000e464 <[^>]*> nop -+0000e468 <[^>]*> nop -+0000e46c <[^>]*> nop -+0000e470 <[^>]*> nop -+0000e474 <[^>]*> nop -+0000e478 <[^>]*> nop -+0000e47c <[^>]*> nop -+0000e480 <[^>]*> nop -+0000e484 <[^>]*> nop -+0000e488 <[^>]*> nop -+0000e48c <[^>]*> nop -+0000e490 <[^>]*> nop -+0000e494 <[^>]*> nop -+0000e498 <[^>]*> nop -+0000e49c <[^>]*> nop -+0000e4a0 <[^>]*> nop -+0000e4a4 <[^>]*> nop -+0000e4a8 <[^>]*> nop -+0000e4ac <[^>]*> nop -+0000e4b0 <[^>]*> nop -+0000e4b4 <[^>]*> nop -+0000e4b8 <[^>]*> nop -+0000e4bc <[^>]*> nop -+0000e4c0 <[^>]*> nop -+0000e4c4 <[^>]*> nop -+0000e4c8 <[^>]*> nop -+0000e4cc <[^>]*> nop -+0000e4d0 <[^>]*> nop -+0000e4d4 <[^>]*> nop -+0000e4d8 <[^>]*> nop -+0000e4dc <[^>]*> nop -+0000e4e0 <[^>]*> nop -+0000e4e4 <[^>]*> nop -+0000e4e8 <[^>]*> nop -+0000e4ec <[^>]*> nop -+0000e4f0 <[^>]*> nop -+0000e4f4 <[^>]*> nop -+0000e4f8 <[^>]*> nop -+0000e4fc <[^>]*> nop -+0000e500 <[^>]*> nop -+0000e504 <[^>]*> nop -+0000e508 <[^>]*> nop -+0000e50c <[^>]*> nop -+0000e510 <[^>]*> nop -+0000e514 <[^>]*> nop -+0000e518 <[^>]*> nop -+0000e51c <[^>]*> nop -+0000e520 <[^>]*> nop -+0000e524 <[^>]*> nop -+0000e528 <[^>]*> nop -+0000e52c <[^>]*> nop -+0000e530 <[^>]*> nop -+0000e534 <[^>]*> nop -+0000e538 <[^>]*> nop -+0000e53c <[^>]*> nop -+0000e540 <[^>]*> nop -+0000e544 <[^>]*> nop -+0000e548 <[^>]*> nop -+0000e54c <[^>]*> nop -+0000e550 <[^>]*> nop -+0000e554 <[^>]*> nop -+0000e558 <[^>]*> nop -+0000e55c <[^>]*> nop -+0000e560 <[^>]*> nop -+0000e564 <[^>]*> nop -+0000e568 <[^>]*> nop -+0000e56c <[^>]*> nop -+0000e570 <[^>]*> nop -+0000e574 <[^>]*> nop -+0000e578 <[^>]*> nop -+0000e57c <[^>]*> nop -+0000e580 <[^>]*> nop -+0000e584 <[^>]*> nop -+0000e588 <[^>]*> nop -+0000e58c <[^>]*> nop -+0000e590 <[^>]*> nop -+0000e594 <[^>]*> nop -+0000e598 <[^>]*> nop -+0000e59c <[^>]*> nop -+0000e5a0 <[^>]*> nop -+0000e5a4 <[^>]*> nop -+0000e5a8 <[^>]*> nop -+0000e5ac <[^>]*> nop -+0000e5b0 <[^>]*> nop -+0000e5b4 <[^>]*> nop -+0000e5b8 <[^>]*> nop -+0000e5bc <[^>]*> nop -+0000e5c0 <[^>]*> nop -+0000e5c4 <[^>]*> nop -+0000e5c8 <[^>]*> nop -+0000e5cc <[^>]*> nop -+0000e5d0 <[^>]*> nop -+0000e5d4 <[^>]*> nop -+0000e5d8 <[^>]*> nop -+0000e5dc <[^>]*> nop -+0000e5e0 <[^>]*> nop -+0000e5e4 <[^>]*> nop -+0000e5e8 <[^>]*> nop -+0000e5ec <[^>]*> nop -+0000e5f0 <[^>]*> nop -+0000e5f4 <[^>]*> nop -+0000e5f8 <[^>]*> nop -+0000e5fc <[^>]*> nop -+0000e600 <[^>]*> nop -+0000e604 <[^>]*> nop -+0000e608 <[^>]*> nop -+0000e60c <[^>]*> nop -+0000e610 <[^>]*> nop -+0000e614 <[^>]*> nop -+0000e618 <[^>]*> nop -+0000e61c <[^>]*> nop -+0000e620 <[^>]*> nop -+0000e624 <[^>]*> nop -+0000e628 <[^>]*> nop -+0000e62c <[^>]*> nop -+0000e630 <[^>]*> nop -+0000e634 <[^>]*> nop -+0000e638 <[^>]*> nop -+0000e63c <[^>]*> nop -+0000e640 <[^>]*> nop -+0000e644 <[^>]*> nop -+0000e648 <[^>]*> nop -+0000e64c <[^>]*> nop -+0000e650 <[^>]*> nop -+0000e654 <[^>]*> nop -+0000e658 <[^>]*> nop -+0000e65c <[^>]*> nop -+0000e660 <[^>]*> nop -+0000e664 <[^>]*> nop -+0000e668 <[^>]*> nop -+0000e66c <[^>]*> nop -+0000e670 <[^>]*> nop -+0000e674 <[^>]*> nop -+0000e678 <[^>]*> nop -+0000e67c <[^>]*> nop -+0000e680 <[^>]*> nop -+0000e684 <[^>]*> nop -+0000e688 <[^>]*> nop -+0000e68c <[^>]*> nop -+0000e690 <[^>]*> nop -+0000e694 <[^>]*> nop -+0000e698 <[^>]*> nop -+0000e69c <[^>]*> nop -+0000e6a0 <[^>]*> nop -+0000e6a4 <[^>]*> nop -+0000e6a8 <[^>]*> nop -+0000e6ac <[^>]*> nop -+0000e6b0 <[^>]*> nop -+0000e6b4 <[^>]*> nop -+0000e6b8 <[^>]*> nop -+0000e6bc <[^>]*> nop -+0000e6c0 <[^>]*> nop -+0000e6c4 <[^>]*> nop -+0000e6c8 <[^>]*> nop -+0000e6cc <[^>]*> nop -+0000e6d0 <[^>]*> nop -+0000e6d4 <[^>]*> nop -+0000e6d8 <[^>]*> nop -+0000e6dc <[^>]*> nop -+0000e6e0 <[^>]*> nop -+0000e6e4 <[^>]*> nop -+0000e6e8 <[^>]*> nop -+0000e6ec <[^>]*> nop -+0000e6f0 <[^>]*> nop -+0000e6f4 <[^>]*> nop -+0000e6f8 <[^>]*> nop -+0000e6fc <[^>]*> nop -+0000e700 <[^>]*> nop -+0000e704 <[^>]*> nop -+0000e708 <[^>]*> nop -+0000e70c <[^>]*> nop -+0000e710 <[^>]*> nop -+0000e714 <[^>]*> nop -+0000e718 <[^>]*> nop -+0000e71c <[^>]*> nop -+0000e720 <[^>]*> nop -+0000e724 <[^>]*> nop -+0000e728 <[^>]*> nop -+0000e72c <[^>]*> nop -+0000e730 <[^>]*> nop -+0000e734 <[^>]*> nop -+0000e738 <[^>]*> nop -+0000e73c <[^>]*> nop -+0000e740 <[^>]*> nop -+0000e744 <[^>]*> nop -+0000e748 <[^>]*> nop -+0000e74c <[^>]*> nop -+0000e750 <[^>]*> nop -+0000e754 <[^>]*> nop -+0000e758 <[^>]*> nop -+0000e75c <[^>]*> nop -+0000e760 <[^>]*> nop -+0000e764 <[^>]*> nop -+0000e768 <[^>]*> nop -+0000e76c <[^>]*> nop -+0000e770 <[^>]*> nop -+0000e774 <[^>]*> nop -+0000e778 <[^>]*> nop -+0000e77c <[^>]*> nop -+0000e780 <[^>]*> nop -+0000e784 <[^>]*> nop -+0000e788 <[^>]*> nop -+0000e78c <[^>]*> nop -+0000e790 <[^>]*> nop -+0000e794 <[^>]*> nop -+0000e798 <[^>]*> nop -+0000e79c <[^>]*> nop -+0000e7a0 <[^>]*> nop -+0000e7a4 <[^>]*> nop -+0000e7a8 <[^>]*> nop -+0000e7ac <[^>]*> nop -+0000e7b0 <[^>]*> nop -+0000e7b4 <[^>]*> nop -+0000e7b8 <[^>]*> nop -+0000e7bc <[^>]*> nop -+0000e7c0 <[^>]*> nop -+0000e7c4 <[^>]*> nop -+0000e7c8 <[^>]*> nop -+0000e7cc <[^>]*> nop -+0000e7d0 <[^>]*> nop -+0000e7d4 <[^>]*> nop -+0000e7d8 <[^>]*> nop -+0000e7dc <[^>]*> nop -+0000e7e0 <[^>]*> nop -+0000e7e4 <[^>]*> nop -+0000e7e8 <[^>]*> nop -+0000e7ec <[^>]*> nop -+0000e7f0 <[^>]*> nop -+0000e7f4 <[^>]*> nop -+0000e7f8 <[^>]*> nop -+0000e7fc <[^>]*> nop -+0000e800 <[^>]*> nop -+0000e804 <[^>]*> nop -+0000e808 <[^>]*> nop -+0000e80c <[^>]*> nop -+0000e810 <[^>]*> nop -+0000e814 <[^>]*> nop -+0000e818 <[^>]*> nop -+0000e81c <[^>]*> nop -+0000e820 <[^>]*> nop -+0000e824 <[^>]*> nop -+0000e828 <[^>]*> nop -+0000e82c <[^>]*> nop -+0000e830 <[^>]*> nop -+0000e834 <[^>]*> nop -+0000e838 <[^>]*> nop -+0000e83c <[^>]*> nop -+0000e840 <[^>]*> nop -+0000e844 <[^>]*> nop -+0000e848 <[^>]*> nop -+0000e84c <[^>]*> nop -+0000e850 <[^>]*> nop -+0000e854 <[^>]*> nop -+0000e858 <[^>]*> nop -+0000e85c <[^>]*> nop -+0000e860 <[^>]*> nop -+0000e864 <[^>]*> nop -+0000e868 <[^>]*> nop -+0000e86c <[^>]*> nop -+0000e870 <[^>]*> nop -+0000e874 <[^>]*> nop -+0000e878 <[^>]*> nop -+0000e87c <[^>]*> nop -+0000e880 <[^>]*> nop -+0000e884 <[^>]*> nop -+0000e888 <[^>]*> nop -+0000e88c <[^>]*> nop -+0000e890 <[^>]*> nop -+0000e894 <[^>]*> nop -+0000e898 <[^>]*> nop -+0000e89c <[^>]*> nop -+0000e8a0 <[^>]*> nop -+0000e8a4 <[^>]*> nop -+0000e8a8 <[^>]*> nop -+0000e8ac <[^>]*> nop -+0000e8b0 <[^>]*> nop -+0000e8b4 <[^>]*> nop -+0000e8b8 <[^>]*> nop -+0000e8bc <[^>]*> nop -+0000e8c0 <[^>]*> nop -+0000e8c4 <[^>]*> nop -+0000e8c8 <[^>]*> nop -+0000e8cc <[^>]*> nop -+0000e8d0 <[^>]*> nop -+0000e8d4 <[^>]*> nop -+0000e8d8 <[^>]*> nop -+0000e8dc <[^>]*> nop -+0000e8e0 <[^>]*> nop -+0000e8e4 <[^>]*> nop -+0000e8e8 <[^>]*> nop -+0000e8ec <[^>]*> nop -+0000e8f0 <[^>]*> nop -+0000e8f4 <[^>]*> nop -+0000e8f8 <[^>]*> nop -+0000e8fc <[^>]*> nop -+0000e900 <[^>]*> nop -+0000e904 <[^>]*> nop -+0000e908 <[^>]*> nop -+0000e90c <[^>]*> nop -+0000e910 <[^>]*> nop -+0000e914 <[^>]*> nop -+0000e918 <[^>]*> nop -+0000e91c <[^>]*> nop -+0000e920 <[^>]*> nop -+0000e924 <[^>]*> nop -+0000e928 <[^>]*> nop -+0000e92c <[^>]*> nop -+0000e930 <[^>]*> nop -+0000e934 <[^>]*> nop -+0000e938 <[^>]*> nop -+0000e93c <[^>]*> nop -+0000e940 <[^>]*> nop -+0000e944 <[^>]*> nop -+0000e948 <[^>]*> nop -+0000e94c <[^>]*> nop -+0000e950 <[^>]*> nop -+0000e954 <[^>]*> nop -+0000e958 <[^>]*> nop -+0000e95c <[^>]*> nop -+0000e960 <[^>]*> nop -+0000e964 <[^>]*> nop -+0000e968 <[^>]*> nop -+0000e96c <[^>]*> nop -+0000e970 <[^>]*> nop -+0000e974 <[^>]*> nop -+0000e978 <[^>]*> nop -+0000e97c <[^>]*> nop -+0000e980 <[^>]*> nop -+0000e984 <[^>]*> nop -+0000e988 <[^>]*> nop -+0000e98c <[^>]*> nop -+0000e990 <[^>]*> nop -+0000e994 <[^>]*> nop -+0000e998 <[^>]*> nop -+0000e99c <[^>]*> nop -+0000e9a0 <[^>]*> nop -+0000e9a4 <[^>]*> nop -+0000e9a8 <[^>]*> nop -+0000e9ac <[^>]*> nop -+0000e9b0 <[^>]*> nop -+0000e9b4 <[^>]*> nop -+0000e9b8 <[^>]*> nop -+0000e9bc <[^>]*> nop -+0000e9c0 <[^>]*> nop -+0000e9c4 <[^>]*> nop -+0000e9c8 <[^>]*> nop -+0000e9cc <[^>]*> nop -+0000e9d0 <[^>]*> nop -+0000e9d4 <[^>]*> nop -+0000e9d8 <[^>]*> nop -+0000e9dc <[^>]*> nop -+0000e9e0 <[^>]*> nop -+0000e9e4 <[^>]*> nop -+0000e9e8 <[^>]*> nop -+0000e9ec <[^>]*> nop -+0000e9f0 <[^>]*> nop -+0000e9f4 <[^>]*> nop -+0000e9f8 <[^>]*> nop -+0000e9fc <[^>]*> nop -+0000ea00 <[^>]*> nop -+0000ea04 <[^>]*> nop -+0000ea08 <[^>]*> nop -+0000ea0c <[^>]*> nop -+0000ea10 <[^>]*> nop -+0000ea14 <[^>]*> nop -+0000ea18 <[^>]*> nop -+0000ea1c <[^>]*> nop -+0000ea20 <[^>]*> nop -+0000ea24 <[^>]*> nop -+0000ea28 <[^>]*> nop -+0000ea2c <[^>]*> nop -+0000ea30 <[^>]*> nop -+0000ea34 <[^>]*> nop -+0000ea38 <[^>]*> nop -+0000ea3c <[^>]*> nop -+0000ea40 <[^>]*> nop -+0000ea44 <[^>]*> nop -+0000ea48 <[^>]*> nop -+0000ea4c <[^>]*> nop -+0000ea50 <[^>]*> nop -+0000ea54 <[^>]*> nop -+0000ea58 <[^>]*> nop -+0000ea5c <[^>]*> nop -+0000ea60 <[^>]*> nop -+0000ea64 <[^>]*> nop -+0000ea68 <[^>]*> nop -+0000ea6c <[^>]*> nop -+0000ea70 <[^>]*> nop -+0000ea74 <[^>]*> nop -+0000ea78 <[^>]*> nop -+0000ea7c <[^>]*> nop -+0000ea80 <[^>]*> nop -+0000ea84 <[^>]*> nop -+0000ea88 <[^>]*> nop -+0000ea8c <[^>]*> nop -+0000ea90 <[^>]*> nop -+0000ea94 <[^>]*> nop -+0000ea98 <[^>]*> nop -+0000ea9c <[^>]*> nop -+0000eaa0 <[^>]*> nop -+0000eaa4 <[^>]*> nop -+0000eaa8 <[^>]*> nop -+0000eaac <[^>]*> nop -+0000eab0 <[^>]*> nop -+0000eab4 <[^>]*> nop -+0000eab8 <[^>]*> nop -+0000eabc <[^>]*> nop -+0000eac0 <[^>]*> nop -+0000eac4 <[^>]*> nop -+0000eac8 <[^>]*> nop -+0000eacc <[^>]*> nop -+0000ead0 <[^>]*> nop -+0000ead4 <[^>]*> nop -+0000ead8 <[^>]*> nop -+0000eadc <[^>]*> nop -+0000eae0 <[^>]*> nop -+0000eae4 <[^>]*> nop -+0000eae8 <[^>]*> nop -+0000eaec <[^>]*> nop -+0000eaf0 <[^>]*> nop -+0000eaf4 <[^>]*> nop -+0000eaf8 <[^>]*> nop -+0000eafc <[^>]*> nop -+0000eb00 <[^>]*> nop -+0000eb04 <[^>]*> nop -+0000eb08 <[^>]*> nop -+0000eb0c <[^>]*> nop -+0000eb10 <[^>]*> nop -+0000eb14 <[^>]*> nop -+0000eb18 <[^>]*> nop -+0000eb1c <[^>]*> nop -+0000eb20 <[^>]*> nop -+0000eb24 <[^>]*> nop -+0000eb28 <[^>]*> nop -+0000eb2c <[^>]*> nop -+0000eb30 <[^>]*> nop -+0000eb34 <[^>]*> nop -+0000eb38 <[^>]*> nop -+0000eb3c <[^>]*> nop -+0000eb40 <[^>]*> nop -+0000eb44 <[^>]*> nop -+0000eb48 <[^>]*> nop -+0000eb4c <[^>]*> nop -+0000eb50 <[^>]*> nop -+0000eb54 <[^>]*> nop -+0000eb58 <[^>]*> nop -+0000eb5c <[^>]*> nop -+0000eb60 <[^>]*> nop -+0000eb64 <[^>]*> nop -+0000eb68 <[^>]*> nop -+0000eb6c <[^>]*> nop -+0000eb70 <[^>]*> nop -+0000eb74 <[^>]*> nop -+0000eb78 <[^>]*> nop -+0000eb7c <[^>]*> nop -+0000eb80 <[^>]*> nop -+0000eb84 <[^>]*> nop -+0000eb88 <[^>]*> nop -+0000eb8c <[^>]*> nop -+0000eb90 <[^>]*> nop -+0000eb94 <[^>]*> nop -+0000eb98 <[^>]*> nop -+0000eb9c <[^>]*> nop -+0000eba0 <[^>]*> nop -+0000eba4 <[^>]*> nop -+0000eba8 <[^>]*> nop -+0000ebac <[^>]*> nop -+0000ebb0 <[^>]*> nop -+0000ebb4 <[^>]*> nop -+0000ebb8 <[^>]*> nop -+0000ebbc <[^>]*> nop -+0000ebc0 <[^>]*> nop -+0000ebc4 <[^>]*> nop -+0000ebc8 <[^>]*> nop -+0000ebcc <[^>]*> nop -+0000ebd0 <[^>]*> nop -+0000ebd4 <[^>]*> nop -+0000ebd8 <[^>]*> nop -+0000ebdc <[^>]*> nop -+0000ebe0 <[^>]*> nop -+0000ebe4 <[^>]*> nop -+0000ebe8 <[^>]*> nop -+0000ebec <[^>]*> nop -+0000ebf0 <[^>]*> nop -+0000ebf4 <[^>]*> nop -+0000ebf8 <[^>]*> nop -+0000ebfc <[^>]*> nop -+0000ec00 <[^>]*> nop -+0000ec04 <[^>]*> nop -+0000ec08 <[^>]*> nop -+0000ec0c <[^>]*> nop -+0000ec10 <[^>]*> nop -+0000ec14 <[^>]*> nop -+0000ec18 <[^>]*> nop -+0000ec1c <[^>]*> nop -+0000ec20 <[^>]*> nop -+0000ec24 <[^>]*> nop -+0000ec28 <[^>]*> nop -+0000ec2c <[^>]*> nop -+0000ec30 <[^>]*> nop -+0000ec34 <[^>]*> nop -+0000ec38 <[^>]*> nop -+0000ec3c <[^>]*> nop -+0000ec40 <[^>]*> nop -+0000ec44 <[^>]*> nop -+0000ec48 <[^>]*> nop -+0000ec4c <[^>]*> nop -+0000ec50 <[^>]*> nop -+0000ec54 <[^>]*> nop -+0000ec58 <[^>]*> nop -+0000ec5c <[^>]*> nop -+0000ec60 <[^>]*> nop -+0000ec64 <[^>]*> nop -+0000ec68 <[^>]*> nop -+0000ec6c <[^>]*> nop -+0000ec70 <[^>]*> nop -+0000ec74 <[^>]*> nop -+0000ec78 <[^>]*> nop -+0000ec7c <[^>]*> nop -+0000ec80 <[^>]*> nop -+0000ec84 <[^>]*> nop -+0000ec88 <[^>]*> nop -+0000ec8c <[^>]*> nop -+0000ec90 <[^>]*> nop -+0000ec94 <[^>]*> nop -+0000ec98 <[^>]*> nop -+0000ec9c <[^>]*> nop -+0000eca0 <[^>]*> nop -+0000eca4 <[^>]*> nop -+0000eca8 <[^>]*> nop -+0000ecac <[^>]*> nop -+0000ecb0 <[^>]*> nop -+0000ecb4 <[^>]*> nop -+0000ecb8 <[^>]*> nop -+0000ecbc <[^>]*> nop -+0000ecc0 <[^>]*> nop -+0000ecc4 <[^>]*> nop -+0000ecc8 <[^>]*> nop -+0000eccc <[^>]*> nop -+0000ecd0 <[^>]*> nop -+0000ecd4 <[^>]*> nop -+0000ecd8 <[^>]*> nop -+0000ecdc <[^>]*> nop -+0000ece0 <[^>]*> nop -+0000ece4 <[^>]*> nop -+0000ece8 <[^>]*> nop -+0000ecec <[^>]*> nop -+0000ecf0 <[^>]*> nop -+0000ecf4 <[^>]*> nop -+0000ecf8 <[^>]*> nop -+0000ecfc <[^>]*> nop -+0000ed00 <[^>]*> nop -+0000ed04 <[^>]*> nop -+0000ed08 <[^>]*> nop -+0000ed0c <[^>]*> nop -+0000ed10 <[^>]*> nop -+0000ed14 <[^>]*> nop -+0000ed18 <[^>]*> nop -+0000ed1c <[^>]*> nop -+0000ed20 <[^>]*> nop -+0000ed24 <[^>]*> nop -+0000ed28 <[^>]*> nop -+0000ed2c <[^>]*> nop -+0000ed30 <[^>]*> nop -+0000ed34 <[^>]*> nop -+0000ed38 <[^>]*> nop -+0000ed3c <[^>]*> nop -+0000ed40 <[^>]*> nop -+0000ed44 <[^>]*> nop -+0000ed48 <[^>]*> nop -+0000ed4c <[^>]*> nop -+0000ed50 <[^>]*> nop -+0000ed54 <[^>]*> nop -+0000ed58 <[^>]*> nop -+0000ed5c <[^>]*> nop -+0000ed60 <[^>]*> nop -+0000ed64 <[^>]*> nop -+0000ed68 <[^>]*> nop -+0000ed6c <[^>]*> nop -+0000ed70 <[^>]*> nop -+0000ed74 <[^>]*> nop -+0000ed78 <[^>]*> nop -+0000ed7c <[^>]*> nop -+0000ed80 <[^>]*> nop -+0000ed84 <[^>]*> nop -+0000ed88 <[^>]*> nop -+0000ed8c <[^>]*> nop -+0000ed90 <[^>]*> nop -+0000ed94 <[^>]*> nop -+0000ed98 <[^>]*> nop -+0000ed9c <[^>]*> nop -+0000eda0 <[^>]*> nop -+0000eda4 <[^>]*> nop -+0000eda8 <[^>]*> nop -+0000edac <[^>]*> nop -+0000edb0 <[^>]*> nop -+0000edb4 <[^>]*> nop -+0000edb8 <[^>]*> nop -+0000edbc <[^>]*> nop -+0000edc0 <[^>]*> nop -+0000edc4 <[^>]*> nop -+0000edc8 <[^>]*> nop -+0000edcc <[^>]*> nop -+0000edd0 <[^>]*> nop -+0000edd4 <[^>]*> nop -+0000edd8 <[^>]*> nop -+0000eddc <[^>]*> nop -+0000ede0 <[^>]*> nop -+0000ede4 <[^>]*> nop -+0000ede8 <[^>]*> nop -+0000edec <[^>]*> nop -+0000edf0 <[^>]*> nop -+0000edf4 <[^>]*> nop -+0000edf8 <[^>]*> nop -+0000edfc <[^>]*> nop -+0000ee00 <[^>]*> nop -+0000ee04 <[^>]*> nop -+0000ee08 <[^>]*> nop -+0000ee0c <[^>]*> nop -+0000ee10 <[^>]*> nop -+0000ee14 <[^>]*> nop -+0000ee18 <[^>]*> nop -+0000ee1c <[^>]*> nop -+0000ee20 <[^>]*> nop -+0000ee24 <[^>]*> nop -+0000ee28 <[^>]*> nop -+0000ee2c <[^>]*> nop -+0000ee30 <[^>]*> nop -+0000ee34 <[^>]*> nop -+0000ee38 <[^>]*> nop -+0000ee3c <[^>]*> nop -+0000ee40 <[^>]*> nop -+0000ee44 <[^>]*> nop -+0000ee48 <[^>]*> nop -+0000ee4c <[^>]*> nop -+0000ee50 <[^>]*> nop -+0000ee54 <[^>]*> nop -+0000ee58 <[^>]*> nop -+0000ee5c <[^>]*> nop -+0000ee60 <[^>]*> nop -+0000ee64 <[^>]*> nop -+0000ee68 <[^>]*> nop -+0000ee6c <[^>]*> nop -+0000ee70 <[^>]*> nop -+0000ee74 <[^>]*> nop -+0000ee78 <[^>]*> nop -+0000ee7c <[^>]*> nop -+0000ee80 <[^>]*> nop -+0000ee84 <[^>]*> nop -+0000ee88 <[^>]*> nop -+0000ee8c <[^>]*> nop -+0000ee90 <[^>]*> nop -+0000ee94 <[^>]*> nop -+0000ee98 <[^>]*> nop -+0000ee9c <[^>]*> nop -+0000eea0 <[^>]*> nop -+0000eea4 <[^>]*> nop -+0000eea8 <[^>]*> nop -+0000eeac <[^>]*> nop -+0000eeb0 <[^>]*> nop -+0000eeb4 <[^>]*> nop -+0000eeb8 <[^>]*> nop -+0000eebc <[^>]*> nop -+0000eec0 <[^>]*> nop -+0000eec4 <[^>]*> nop -+0000eec8 <[^>]*> nop -+0000eecc <[^>]*> nop -+0000eed0 <[^>]*> nop -+0000eed4 <[^>]*> nop -+0000eed8 <[^>]*> nop -+0000eedc <[^>]*> nop -+0000eee0 <[^>]*> nop -+0000eee4 <[^>]*> nop -+0000eee8 <[^>]*> nop -+0000eeec <[^>]*> nop -+0000eef0 <[^>]*> nop -+0000eef4 <[^>]*> nop -+0000eef8 <[^>]*> nop -+0000eefc <[^>]*> nop -+0000ef00 <[^>]*> nop -+0000ef04 <[^>]*> nop -+0000ef08 <[^>]*> nop -+0000ef0c <[^>]*> nop -+0000ef10 <[^>]*> nop -+0000ef14 <[^>]*> nop -+0000ef18 <[^>]*> nop -+0000ef1c <[^>]*> nop -+0000ef20 <[^>]*> nop -+0000ef24 <[^>]*> nop -+0000ef28 <[^>]*> nop -+0000ef2c <[^>]*> nop -+0000ef30 <[^>]*> nop -+0000ef34 <[^>]*> nop -+0000ef38 <[^>]*> nop -+0000ef3c <[^>]*> nop -+0000ef40 <[^>]*> nop -+0000ef44 <[^>]*> nop -+0000ef48 <[^>]*> nop -+0000ef4c <[^>]*> nop -+0000ef50 <[^>]*> nop -+0000ef54 <[^>]*> nop -+0000ef58 <[^>]*> nop -+0000ef5c <[^>]*> nop -+0000ef60 <[^>]*> nop -+0000ef64 <[^>]*> nop -+0000ef68 <[^>]*> nop -+0000ef6c <[^>]*> nop -+0000ef70 <[^>]*> nop -+0000ef74 <[^>]*> nop -+0000ef78 <[^>]*> nop -+0000ef7c <[^>]*> nop -+0000ef80 <[^>]*> nop -+0000ef84 <[^>]*> nop -+0000ef88 <[^>]*> nop -+0000ef8c <[^>]*> nop -+0000ef90 <[^>]*> nop -+0000ef94 <[^>]*> nop -+0000ef98 <[^>]*> nop -+0000ef9c <[^>]*> nop -+0000efa0 <[^>]*> nop -+0000efa4 <[^>]*> nop -+0000efa8 <[^>]*> nop -+0000efac <[^>]*> nop -+0000efb0 <[^>]*> nop -+0000efb4 <[^>]*> nop -+0000efb8 <[^>]*> nop -+0000efbc <[^>]*> nop -+0000efc0 <[^>]*> nop -+0000efc4 <[^>]*> nop -+0000efc8 <[^>]*> nop -+0000efcc <[^>]*> nop -+0000efd0 <[^>]*> nop -+0000efd4 <[^>]*> nop -+0000efd8 <[^>]*> nop -+0000efdc <[^>]*> nop -+0000efe0 <[^>]*> nop -+0000efe4 <[^>]*> nop -+0000efe8 <[^>]*> nop -+0000efec <[^>]*> nop -+0000eff0 <[^>]*> nop -+0000eff4 <[^>]*> nop -+0000eff8 <[^>]*> nop -+0000effc <[^>]*> nop -+0000f000 <[^>]*> nop -+0000f004 <[^>]*> nop -+0000f008 <[^>]*> nop -+0000f00c <[^>]*> nop -+0000f010 <[^>]*> nop -+0000f014 <[^>]*> nop -+0000f018 <[^>]*> nop -+0000f01c <[^>]*> nop -+0000f020 <[^>]*> nop -+0000f024 <[^>]*> nop -+0000f028 <[^>]*> nop -+0000f02c <[^>]*> nop -+0000f030 <[^>]*> nop -+0000f034 <[^>]*> nop -+0000f038 <[^>]*> nop -+0000f03c <[^>]*> nop -+0000f040 <[^>]*> nop -+0000f044 <[^>]*> nop -+0000f048 <[^>]*> nop -+0000f04c <[^>]*> nop -+0000f050 <[^>]*> nop -+0000f054 <[^>]*> nop -+0000f058 <[^>]*> nop -+0000f05c <[^>]*> nop -+0000f060 <[^>]*> nop -+0000f064 <[^>]*> nop -+0000f068 <[^>]*> nop -+0000f06c <[^>]*> nop -+0000f070 <[^>]*> nop -+0000f074 <[^>]*> nop -+0000f078 <[^>]*> nop -+0000f07c <[^>]*> nop -+0000f080 <[^>]*> nop -+0000f084 <[^>]*> nop -+0000f088 <[^>]*> nop -+0000f08c <[^>]*> nop -+0000f090 <[^>]*> nop -+0000f094 <[^>]*> nop -+0000f098 <[^>]*> nop -+0000f09c <[^>]*> nop -+0000f0a0 <[^>]*> nop -+0000f0a4 <[^>]*> nop -+0000f0a8 <[^>]*> nop -+0000f0ac <[^>]*> nop -+0000f0b0 <[^>]*> nop -+0000f0b4 <[^>]*> nop -+0000f0b8 <[^>]*> nop -+0000f0bc <[^>]*> nop -+0000f0c0 <[^>]*> nop -+0000f0c4 <[^>]*> nop -+0000f0c8 <[^>]*> nop -+0000f0cc <[^>]*> nop -+0000f0d0 <[^>]*> nop -+0000f0d4 <[^>]*> nop -+0000f0d8 <[^>]*> nop -+0000f0dc <[^>]*> nop -+0000f0e0 <[^>]*> nop -+0000f0e4 <[^>]*> nop -+0000f0e8 <[^>]*> nop -+0000f0ec <[^>]*> nop -+0000f0f0 <[^>]*> nop -+0000f0f4 <[^>]*> nop -+0000f0f8 <[^>]*> nop -+0000f0fc <[^>]*> nop -+0000f100 <[^>]*> nop -+0000f104 <[^>]*> nop -+0000f108 <[^>]*> nop -+0000f10c <[^>]*> nop -+0000f110 <[^>]*> nop -+0000f114 <[^>]*> nop -+0000f118 <[^>]*> nop -+0000f11c <[^>]*> nop -+0000f120 <[^>]*> nop -+0000f124 <[^>]*> nop -+0000f128 <[^>]*> nop -+0000f12c <[^>]*> nop -+0000f130 <[^>]*> nop -+0000f134 <[^>]*> nop -+0000f138 <[^>]*> nop -+0000f13c <[^>]*> nop -+0000f140 <[^>]*> nop -+0000f144 <[^>]*> nop -+0000f148 <[^>]*> nop -+0000f14c <[^>]*> nop -+0000f150 <[^>]*> nop -+0000f154 <[^>]*> nop -+0000f158 <[^>]*> nop -+0000f15c <[^>]*> nop -+0000f160 <[^>]*> nop -+0000f164 <[^>]*> nop -+0000f168 <[^>]*> nop -+0000f16c <[^>]*> nop -+0000f170 <[^>]*> nop -+0000f174 <[^>]*> nop -+0000f178 <[^>]*> nop -+0000f17c <[^>]*> nop -+0000f180 <[^>]*> nop -+0000f184 <[^>]*> nop -+0000f188 <[^>]*> nop -+0000f18c <[^>]*> nop -+0000f190 <[^>]*> nop -+0000f194 <[^>]*> nop -+0000f198 <[^>]*> nop -+0000f19c <[^>]*> nop -+0000f1a0 <[^>]*> nop -+0000f1a4 <[^>]*> nop -+0000f1a8 <[^>]*> nop -+0000f1ac <[^>]*> nop -+0000f1b0 <[^>]*> nop -+0000f1b4 <[^>]*> nop -+0000f1b8 <[^>]*> nop -+0000f1bc <[^>]*> nop -+0000f1c0 <[^>]*> nop -+0000f1c4 <[^>]*> nop -+0000f1c8 <[^>]*> nop -+0000f1cc <[^>]*> nop -+0000f1d0 <[^>]*> nop -+0000f1d4 <[^>]*> nop -+0000f1d8 <[^>]*> nop -+0000f1dc <[^>]*> nop -+0000f1e0 <[^>]*> nop -+0000f1e4 <[^>]*> nop -+0000f1e8 <[^>]*> nop -+0000f1ec <[^>]*> nop -+0000f1f0 <[^>]*> nop -+0000f1f4 <[^>]*> nop -+0000f1f8 <[^>]*> nop -+0000f1fc <[^>]*> nop -+0000f200 <[^>]*> nop -+0000f204 <[^>]*> nop -+0000f208 <[^>]*> nop -+0000f20c <[^>]*> nop -+0000f210 <[^>]*> nop -+0000f214 <[^>]*> nop -+0000f218 <[^>]*> nop -+0000f21c <[^>]*> nop -+0000f220 <[^>]*> nop -+0000f224 <[^>]*> nop -+0000f228 <[^>]*> nop -+0000f22c <[^>]*> nop -+0000f230 <[^>]*> nop -+0000f234 <[^>]*> nop -+0000f238 <[^>]*> nop -+0000f23c <[^>]*> nop -+0000f240 <[^>]*> nop -+0000f244 <[^>]*> nop -+0000f248 <[^>]*> nop -+0000f24c <[^>]*> nop -+0000f250 <[^>]*> nop -+0000f254 <[^>]*> nop -+0000f258 <[^>]*> nop -+0000f25c <[^>]*> nop -+0000f260 <[^>]*> nop -+0000f264 <[^>]*> nop -+0000f268 <[^>]*> nop -+0000f26c <[^>]*> nop -+0000f270 <[^>]*> nop -+0000f274 <[^>]*> nop -+0000f278 <[^>]*> nop -+0000f27c <[^>]*> nop -+0000f280 <[^>]*> nop -+0000f284 <[^>]*> nop -+0000f288 <[^>]*> nop -+0000f28c <[^>]*> nop -+0000f290 <[^>]*> nop -+0000f294 <[^>]*> nop -+0000f298 <[^>]*> nop -+0000f29c <[^>]*> nop -+0000f2a0 <[^>]*> nop -+0000f2a4 <[^>]*> nop -+0000f2a8 <[^>]*> nop -+0000f2ac <[^>]*> nop -+0000f2b0 <[^>]*> nop -+0000f2b4 <[^>]*> nop -+0000f2b8 <[^>]*> nop -+0000f2bc <[^>]*> nop -+0000f2c0 <[^>]*> nop -+0000f2c4 <[^>]*> nop -+0000f2c8 <[^>]*> nop -+0000f2cc <[^>]*> nop -+0000f2d0 <[^>]*> nop -+0000f2d4 <[^>]*> nop -+0000f2d8 <[^>]*> nop -+0000f2dc <[^>]*> nop -+0000f2e0 <[^>]*> nop -+0000f2e4 <[^>]*> nop -+0000f2e8 <[^>]*> nop -+0000f2ec <[^>]*> nop -+0000f2f0 <[^>]*> nop -+0000f2f4 <[^>]*> nop -+0000f2f8 <[^>]*> nop -+0000f2fc <[^>]*> nop -+0000f300 <[^>]*> nop -+0000f304 <[^>]*> nop -+0000f308 <[^>]*> nop -+0000f30c <[^>]*> nop -+0000f310 <[^>]*> nop -+0000f314 <[^>]*> nop -+0000f318 <[^>]*> nop -+0000f31c <[^>]*> nop -+0000f320 <[^>]*> nop -+0000f324 <[^>]*> nop -+0000f328 <[^>]*> nop -+0000f32c <[^>]*> nop -+0000f330 <[^>]*> nop -+0000f334 <[^>]*> nop -+0000f338 <[^>]*> nop -+0000f33c <[^>]*> nop -+0000f340 <[^>]*> nop -+0000f344 <[^>]*> nop -+0000f348 <[^>]*> nop -+0000f34c <[^>]*> nop -+0000f350 <[^>]*> nop -+0000f354 <[^>]*> nop -+0000f358 <[^>]*> nop -+0000f35c <[^>]*> nop -+0000f360 <[^>]*> nop -+0000f364 <[^>]*> nop -+0000f368 <[^>]*> nop -+0000f36c <[^>]*> nop -+0000f370 <[^>]*> nop -+0000f374 <[^>]*> nop -+0000f378 <[^>]*> nop -+0000f37c <[^>]*> nop -+0000f380 <[^>]*> nop -+0000f384 <[^>]*> nop -+0000f388 <[^>]*> nop -+0000f38c <[^>]*> nop -+0000f390 <[^>]*> nop -+0000f394 <[^>]*> nop -+0000f398 <[^>]*> nop -+0000f39c <[^>]*> nop -+0000f3a0 <[^>]*> nop -+0000f3a4 <[^>]*> nop -+0000f3a8 <[^>]*> nop -+0000f3ac <[^>]*> nop -+0000f3b0 <[^>]*> nop -+0000f3b4 <[^>]*> nop -+0000f3b8 <[^>]*> nop -+0000f3bc <[^>]*> nop -+0000f3c0 <[^>]*> nop -+0000f3c4 <[^>]*> nop -+0000f3c8 <[^>]*> nop -+0000f3cc <[^>]*> nop -+0000f3d0 <[^>]*> nop -+0000f3d4 <[^>]*> nop -+0000f3d8 <[^>]*> nop -+0000f3dc <[^>]*> nop -+0000f3e0 <[^>]*> nop -+0000f3e4 <[^>]*> nop -+0000f3e8 <[^>]*> nop -+0000f3ec <[^>]*> nop -+0000f3f0 <[^>]*> nop -+0000f3f4 <[^>]*> nop -+0000f3f8 <[^>]*> nop -+0000f3fc <[^>]*> nop -+0000f400 <[^>]*> nop -+0000f404 <[^>]*> nop -+0000f408 <[^>]*> nop -+0000f40c <[^>]*> nop -+0000f410 <[^>]*> nop -+0000f414 <[^>]*> nop -+0000f418 <[^>]*> nop -+0000f41c <[^>]*> nop -+0000f420 <[^>]*> nop -+0000f424 <[^>]*> nop -+0000f428 <[^>]*> nop -+0000f42c <[^>]*> nop -+0000f430 <[^>]*> nop -+0000f434 <[^>]*> nop -+0000f438 <[^>]*> nop -+0000f43c <[^>]*> nop -+0000f440 <[^>]*> nop -+0000f444 <[^>]*> nop -+0000f448 <[^>]*> nop -+0000f44c <[^>]*> nop -+0000f450 <[^>]*> nop -+0000f454 <[^>]*> nop -+0000f458 <[^>]*> nop -+0000f45c <[^>]*> nop -+0000f460 <[^>]*> nop -+0000f464 <[^>]*> nop -+0000f468 <[^>]*> nop -+0000f46c <[^>]*> nop -+0000f470 <[^>]*> nop -+0000f474 <[^>]*> nop -+0000f478 <[^>]*> nop -+0000f47c <[^>]*> nop -+0000f480 <[^>]*> nop -+0000f484 <[^>]*> nop -+0000f488 <[^>]*> nop -+0000f48c <[^>]*> nop -+0000f490 <[^>]*> nop -+0000f494 <[^>]*> nop -+0000f498 <[^>]*> nop -+0000f49c <[^>]*> nop -+0000f4a0 <[^>]*> nop -+0000f4a4 <[^>]*> nop -+0000f4a8 <[^>]*> nop -+0000f4ac <[^>]*> nop -+0000f4b0 <[^>]*> nop -+0000f4b4 <[^>]*> nop -+0000f4b8 <[^>]*> nop -+0000f4bc <[^>]*> nop -+0000f4c0 <[^>]*> nop -+0000f4c4 <[^>]*> nop -+0000f4c8 <[^>]*> nop -+0000f4cc <[^>]*> nop -+0000f4d0 <[^>]*> nop -+0000f4d4 <[^>]*> nop -+0000f4d8 <[^>]*> nop -+0000f4dc <[^>]*> nop -+0000f4e0 <[^>]*> nop -+0000f4e4 <[^>]*> nop -+0000f4e8 <[^>]*> nop -+0000f4ec <[^>]*> nop -+0000f4f0 <[^>]*> nop -+0000f4f4 <[^>]*> nop -+0000f4f8 <[^>]*> nop -+0000f4fc <[^>]*> nop -+0000f500 <[^>]*> nop -+0000f504 <[^>]*> nop -+0000f508 <[^>]*> nop -+0000f50c <[^>]*> nop -+0000f510 <[^>]*> nop -+0000f514 <[^>]*> nop -+0000f518 <[^>]*> nop -+0000f51c <[^>]*> nop -+0000f520 <[^>]*> nop -+0000f524 <[^>]*> nop -+0000f528 <[^>]*> nop -+0000f52c <[^>]*> nop -+0000f530 <[^>]*> nop -+0000f534 <[^>]*> nop -+0000f538 <[^>]*> nop -+0000f53c <[^>]*> nop -+0000f540 <[^>]*> nop -+0000f544 <[^>]*> nop -+0000f548 <[^>]*> nop -+0000f54c <[^>]*> nop -+0000f550 <[^>]*> nop -+0000f554 <[^>]*> nop -+0000f558 <[^>]*> nop -+0000f55c <[^>]*> nop -+0000f560 <[^>]*> nop -+0000f564 <[^>]*> nop -+0000f568 <[^>]*> nop -+0000f56c <[^>]*> nop -+0000f570 <[^>]*> nop -+0000f574 <[^>]*> nop -+0000f578 <[^>]*> nop -+0000f57c <[^>]*> nop -+0000f580 <[^>]*> nop -+0000f584 <[^>]*> nop -+0000f588 <[^>]*> nop -+0000f58c <[^>]*> nop -+0000f590 <[^>]*> nop -+0000f594 <[^>]*> nop -+0000f598 <[^>]*> nop -+0000f59c <[^>]*> nop -+0000f5a0 <[^>]*> nop -+0000f5a4 <[^>]*> nop -+0000f5a8 <[^>]*> nop -+0000f5ac <[^>]*> nop -+0000f5b0 <[^>]*> nop -+0000f5b4 <[^>]*> nop -+0000f5b8 <[^>]*> nop -+0000f5bc <[^>]*> nop -+0000f5c0 <[^>]*> nop -+0000f5c4 <[^>]*> nop -+0000f5c8 <[^>]*> nop -+0000f5cc <[^>]*> nop -+0000f5d0 <[^>]*> nop -+0000f5d4 <[^>]*> nop -+0000f5d8 <[^>]*> nop -+0000f5dc <[^>]*> nop -+0000f5e0 <[^>]*> nop -+0000f5e4 <[^>]*> nop -+0000f5e8 <[^>]*> nop -+0000f5ec <[^>]*> nop -+0000f5f0 <[^>]*> nop -+0000f5f4 <[^>]*> nop -+0000f5f8 <[^>]*> nop -+0000f5fc <[^>]*> nop -+0000f600 <[^>]*> nop -+0000f604 <[^>]*> nop -+0000f608 <[^>]*> nop -+0000f60c <[^>]*> nop -+0000f610 <[^>]*> nop -+0000f614 <[^>]*> nop -+0000f618 <[^>]*> nop -+0000f61c <[^>]*> nop -+0000f620 <[^>]*> nop -+0000f624 <[^>]*> nop -+0000f628 <[^>]*> nop -+0000f62c <[^>]*> nop -+0000f630 <[^>]*> nop -+0000f634 <[^>]*> nop -+0000f638 <[^>]*> nop -+0000f63c <[^>]*> nop -+0000f640 <[^>]*> nop -+0000f644 <[^>]*> nop -+0000f648 <[^>]*> nop -+0000f64c <[^>]*> nop -+0000f650 <[^>]*> nop -+0000f654 <[^>]*> nop -+0000f658 <[^>]*> nop -+0000f65c <[^>]*> nop -+0000f660 <[^>]*> nop -+0000f664 <[^>]*> nop -+0000f668 <[^>]*> nop -+0000f66c <[^>]*> nop -+0000f670 <[^>]*> nop -+0000f674 <[^>]*> nop -+0000f678 <[^>]*> nop -+0000f67c <[^>]*> nop -+0000f680 <[^>]*> nop -+0000f684 <[^>]*> nop -+0000f688 <[^>]*> nop -+0000f68c <[^>]*> nop -+0000f690 <[^>]*> nop -+0000f694 <[^>]*> nop -+0000f698 <[^>]*> nop -+0000f69c <[^>]*> nop -+0000f6a0 <[^>]*> nop -+0000f6a4 <[^>]*> nop -+0000f6a8 <[^>]*> nop -+0000f6ac <[^>]*> nop -+0000f6b0 <[^>]*> nop -+0000f6b4 <[^>]*> nop -+0000f6b8 <[^>]*> nop -+0000f6bc <[^>]*> nop -+0000f6c0 <[^>]*> nop -+0000f6c4 <[^>]*> nop -+0000f6c8 <[^>]*> nop -+0000f6cc <[^>]*> nop -+0000f6d0 <[^>]*> nop -+0000f6d4 <[^>]*> nop -+0000f6d8 <[^>]*> nop -+0000f6dc <[^>]*> nop -+0000f6e0 <[^>]*> nop -+0000f6e4 <[^>]*> nop -+0000f6e8 <[^>]*> nop -+0000f6ec <[^>]*> nop -+0000f6f0 <[^>]*> nop -+0000f6f4 <[^>]*> nop -+0000f6f8 <[^>]*> nop -+0000f6fc <[^>]*> nop -+0000f700 <[^>]*> nop -+0000f704 <[^>]*> nop -+0000f708 <[^>]*> nop -+0000f70c <[^>]*> nop -+0000f710 <[^>]*> nop -+0000f714 <[^>]*> nop -+0000f718 <[^>]*> nop -+0000f71c <[^>]*> nop -+0000f720 <[^>]*> nop -+0000f724 <[^>]*> nop -+0000f728 <[^>]*> nop -+0000f72c <[^>]*> nop -+0000f730 <[^>]*> nop -+0000f734 <[^>]*> nop -+0000f738 <[^>]*> nop -+0000f73c <[^>]*> nop -+0000f740 <[^>]*> nop -+0000f744 <[^>]*> nop -+0000f748 <[^>]*> nop -+0000f74c <[^>]*> nop -+0000f750 <[^>]*> nop -+0000f754 <[^>]*> nop -+0000f758 <[^>]*> nop -+0000f75c <[^>]*> nop -+0000f760 <[^>]*> nop -+0000f764 <[^>]*> nop -+0000f768 <[^>]*> nop -+0000f76c <[^>]*> nop -+0000f770 <[^>]*> nop -+0000f774 <[^>]*> nop -+0000f778 <[^>]*> nop -+0000f77c <[^>]*> nop -+0000f780 <[^>]*> nop -+0000f784 <[^>]*> nop -+0000f788 <[^>]*> nop -+0000f78c <[^>]*> nop -+0000f790 <[^>]*> nop -+0000f794 <[^>]*> nop -+0000f798 <[^>]*> nop -+0000f79c <[^>]*> nop -+0000f7a0 <[^>]*> nop -+0000f7a4 <[^>]*> nop -+0000f7a8 <[^>]*> nop -+0000f7ac <[^>]*> nop -+0000f7b0 <[^>]*> nop -+0000f7b4 <[^>]*> nop -+0000f7b8 <[^>]*> nop -+0000f7bc <[^>]*> nop -+0000f7c0 <[^>]*> nop -+0000f7c4 <[^>]*> nop -+0000f7c8 <[^>]*> nop -+0000f7cc <[^>]*> nop -+0000f7d0 <[^>]*> nop -+0000f7d4 <[^>]*> nop -+0000f7d8 <[^>]*> nop -+0000f7dc <[^>]*> nop -+0000f7e0 <[^>]*> nop -+0000f7e4 <[^>]*> nop -+0000f7e8 <[^>]*> nop -+0000f7ec <[^>]*> nop -+0000f7f0 <[^>]*> nop -+0000f7f4 <[^>]*> nop -+0000f7f8 <[^>]*> nop -+0000f7fc <[^>]*> nop -+0000f800 <[^>]*> nop -+0000f804 <[^>]*> nop -+0000f808 <[^>]*> nop -+0000f80c <[^>]*> nop -+0000f810 <[^>]*> nop -+0000f814 <[^>]*> nop -+0000f818 <[^>]*> nop -+0000f81c <[^>]*> nop -+0000f820 <[^>]*> nop -+0000f824 <[^>]*> nop -+0000f828 <[^>]*> nop -+0000f82c <[^>]*> nop -+0000f830 <[^>]*> nop -+0000f834 <[^>]*> nop -+0000f838 <[^>]*> nop -+0000f83c <[^>]*> nop -+0000f840 <[^>]*> nop -+0000f844 <[^>]*> nop -+0000f848 <[^>]*> nop -+0000f84c <[^>]*> nop -+0000f850 <[^>]*> nop -+0000f854 <[^>]*> nop -+0000f858 <[^>]*> nop -+0000f85c <[^>]*> nop -+0000f860 <[^>]*> nop -+0000f864 <[^>]*> nop -+0000f868 <[^>]*> nop -+0000f86c <[^>]*> nop -+0000f870 <[^>]*> nop -+0000f874 <[^>]*> nop -+0000f878 <[^>]*> nop -+0000f87c <[^>]*> nop -+0000f880 <[^>]*> nop -+0000f884 <[^>]*> nop -+0000f888 <[^>]*> nop -+0000f88c <[^>]*> nop -+0000f890 <[^>]*> nop -+0000f894 <[^>]*> nop -+0000f898 <[^>]*> nop -+0000f89c <[^>]*> nop -+0000f8a0 <[^>]*> nop -+0000f8a4 <[^>]*> nop -+0000f8a8 <[^>]*> nop -+0000f8ac <[^>]*> nop -+0000f8b0 <[^>]*> nop -+0000f8b4 <[^>]*> nop -+0000f8b8 <[^>]*> nop -+0000f8bc <[^>]*> nop -+0000f8c0 <[^>]*> nop -+0000f8c4 <[^>]*> nop -+0000f8c8 <[^>]*> nop -+0000f8cc <[^>]*> nop -+0000f8d0 <[^>]*> nop -+0000f8d4 <[^>]*> nop -+0000f8d8 <[^>]*> nop -+0000f8dc <[^>]*> nop -+0000f8e0 <[^>]*> nop -+0000f8e4 <[^>]*> nop -+0000f8e8 <[^>]*> nop -+0000f8ec <[^>]*> nop -+0000f8f0 <[^>]*> nop -+0000f8f4 <[^>]*> nop -+0000f8f8 <[^>]*> nop -+0000f8fc <[^>]*> nop -+0000f900 <[^>]*> nop -+0000f904 <[^>]*> nop -+0000f908 <[^>]*> nop -+0000f90c <[^>]*> nop -+0000f910 <[^>]*> nop -+0000f914 <[^>]*> nop -+0000f918 <[^>]*> nop -+0000f91c <[^>]*> nop -+0000f920 <[^>]*> nop -+0000f924 <[^>]*> nop -+0000f928 <[^>]*> nop -+0000f92c <[^>]*> nop -+0000f930 <[^>]*> nop -+0000f934 <[^>]*> nop -+0000f938 <[^>]*> nop -+0000f93c <[^>]*> nop -+0000f940 <[^>]*> nop -+0000f944 <[^>]*> nop -+0000f948 <[^>]*> nop -+0000f94c <[^>]*> nop -+0000f950 <[^>]*> nop -+0000f954 <[^>]*> nop -+0000f958 <[^>]*> nop -+0000f95c <[^>]*> nop -+0000f960 <[^>]*> nop -+0000f964 <[^>]*> nop -+0000f968 <[^>]*> nop -+0000f96c <[^>]*> nop -+0000f970 <[^>]*> nop -+0000f974 <[^>]*> nop -+0000f978 <[^>]*> nop -+0000f97c <[^>]*> nop -+0000f980 <[^>]*> nop -+0000f984 <[^>]*> nop -+0000f988 <[^>]*> nop -+0000f98c <[^>]*> nop -+0000f990 <[^>]*> nop -+0000f994 <[^>]*> nop -+0000f998 <[^>]*> nop -+0000f99c <[^>]*> nop -+0000f9a0 <[^>]*> nop -+0000f9a4 <[^>]*> nop -+0000f9a8 <[^>]*> nop -+0000f9ac <[^>]*> nop -+0000f9b0 <[^>]*> nop -+0000f9b4 <[^>]*> nop -+0000f9b8 <[^>]*> nop -+0000f9bc <[^>]*> nop -+0000f9c0 <[^>]*> nop -+0000f9c4 <[^>]*> nop -+0000f9c8 <[^>]*> nop -+0000f9cc <[^>]*> nop -+0000f9d0 <[^>]*> nop -+0000f9d4 <[^>]*> nop -+0000f9d8 <[^>]*> nop -+0000f9dc <[^>]*> nop -+0000f9e0 <[^>]*> nop -+0000f9e4 <[^>]*> nop -+0000f9e8 <[^>]*> nop -+0000f9ec <[^>]*> nop -+0000f9f0 <[^>]*> nop -+0000f9f4 <[^>]*> nop -+0000f9f8 <[^>]*> nop -+0000f9fc <[^>]*> nop -+0000fa00 <[^>]*> nop -+0000fa04 <[^>]*> nop -+0000fa08 <[^>]*> nop -+0000fa0c <[^>]*> nop -+0000fa10 <[^>]*> nop -+0000fa14 <[^>]*> nop -+0000fa18 <[^>]*> nop -+0000fa1c <[^>]*> nop -+0000fa20 <[^>]*> nop -+0000fa24 <[^>]*> nop -+0000fa28 <[^>]*> nop -+0000fa2c <[^>]*> nop -+0000fa30 <[^>]*> nop -+0000fa34 <[^>]*> nop -+0000fa38 <[^>]*> nop -+0000fa3c <[^>]*> nop -+0000fa40 <[^>]*> nop -+0000fa44 <[^>]*> nop -+0000fa48 <[^>]*> nop -+0000fa4c <[^>]*> nop -+0000fa50 <[^>]*> nop -+0000fa54 <[^>]*> nop -+0000fa58 <[^>]*> nop -+0000fa5c <[^>]*> nop -+0000fa60 <[^>]*> nop -+0000fa64 <[^>]*> nop -+0000fa68 <[^>]*> nop -+0000fa6c <[^>]*> nop -+0000fa70 <[^>]*> nop -+0000fa74 <[^>]*> nop -+0000fa78 <[^>]*> nop -+0000fa7c <[^>]*> nop -+0000fa80 <[^>]*> nop -+0000fa84 <[^>]*> nop -+0000fa88 <[^>]*> nop -+0000fa8c <[^>]*> nop -+0000fa90 <[^>]*> nop -+0000fa94 <[^>]*> nop -+0000fa98 <[^>]*> nop -+0000fa9c <[^>]*> nop -+0000faa0 <[^>]*> nop -+0000faa4 <[^>]*> nop -+0000faa8 <[^>]*> nop -+0000faac <[^>]*> nop -+0000fab0 <[^>]*> nop -+0000fab4 <[^>]*> nop -+0000fab8 <[^>]*> nop -+0000fabc <[^>]*> nop -+0000fac0 <[^>]*> nop -+0000fac4 <[^>]*> nop -+0000fac8 <[^>]*> nop -+0000facc <[^>]*> nop -+0000fad0 <[^>]*> nop -+0000fad4 <[^>]*> nop -+0000fad8 <[^>]*> nop -+0000fadc <[^>]*> nop -+0000fae0 <[^>]*> nop -+0000fae4 <[^>]*> nop -+0000fae8 <[^>]*> nop -+0000faec <[^>]*> nop -+0000faf0 <[^>]*> nop -+0000faf4 <[^>]*> nop -+0000faf8 <[^>]*> nop -+0000fafc <[^>]*> nop -+0000fb00 <[^>]*> nop -+0000fb04 <[^>]*> nop -+0000fb08 <[^>]*> nop -+0000fb0c <[^>]*> nop -+0000fb10 <[^>]*> nop -+0000fb14 <[^>]*> nop -+0000fb18 <[^>]*> nop -+0000fb1c <[^>]*> nop -+0000fb20 <[^>]*> nop -+0000fb24 <[^>]*> nop -+0000fb28 <[^>]*> nop -+0000fb2c <[^>]*> nop -+0000fb30 <[^>]*> nop -+0000fb34 <[^>]*> nop -+0000fb38 <[^>]*> nop -+0000fb3c <[^>]*> nop -+0000fb40 <[^>]*> nop -+0000fb44 <[^>]*> nop -+0000fb48 <[^>]*> nop -+0000fb4c <[^>]*> nop -+0000fb50 <[^>]*> nop -+0000fb54 <[^>]*> nop -+0000fb58 <[^>]*> nop -+0000fb5c <[^>]*> nop -+0000fb60 <[^>]*> nop -+0000fb64 <[^>]*> nop -+0000fb68 <[^>]*> nop -+0000fb6c <[^>]*> nop -+0000fb70 <[^>]*> nop -+0000fb74 <[^>]*> nop -+0000fb78 <[^>]*> nop -+0000fb7c <[^>]*> nop -+0000fb80 <[^>]*> nop -+0000fb84 <[^>]*> nop -+0000fb88 <[^>]*> nop -+0000fb8c <[^>]*> nop -+0000fb90 <[^>]*> nop -+0000fb94 <[^>]*> nop -+0000fb98 <[^>]*> nop -+0000fb9c <[^>]*> nop -+0000fba0 <[^>]*> nop -+0000fba4 <[^>]*> nop -+0000fba8 <[^>]*> nop -+0000fbac <[^>]*> nop -+0000fbb0 <[^>]*> nop -+0000fbb4 <[^>]*> nop -+0000fbb8 <[^>]*> nop -+0000fbbc <[^>]*> nop -+0000fbc0 <[^>]*> nop -+0000fbc4 <[^>]*> nop -+0000fbc8 <[^>]*> nop -+0000fbcc <[^>]*> nop -+0000fbd0 <[^>]*> nop -+0000fbd4 <[^>]*> nop -+0000fbd8 <[^>]*> nop -+0000fbdc <[^>]*> nop -+0000fbe0 <[^>]*> nop -+0000fbe4 <[^>]*> nop -+0000fbe8 <[^>]*> nop -+0000fbec <[^>]*> nop -+0000fbf0 <[^>]*> nop -+0000fbf4 <[^>]*> nop -+0000fbf8 <[^>]*> nop -+0000fbfc <[^>]*> nop -+0000fc00 <[^>]*> nop -+0000fc04 <[^>]*> nop -+0000fc08 <[^>]*> nop -+0000fc0c <[^>]*> nop -+0000fc10 <[^>]*> nop -+0000fc14 <[^>]*> nop -+0000fc18 <[^>]*> nop -+0000fc1c <[^>]*> nop -+0000fc20 <[^>]*> nop -+0000fc24 <[^>]*> nop -+0000fc28 <[^>]*> nop -+0000fc2c <[^>]*> nop -+0000fc30 <[^>]*> nop -+0000fc34 <[^>]*> nop -+0000fc38 <[^>]*> nop -+0000fc3c <[^>]*> nop -+0000fc40 <[^>]*> nop -+0000fc44 <[^>]*> nop -+0000fc48 <[^>]*> nop -+0000fc4c <[^>]*> nop -+0000fc50 <[^>]*> nop -+0000fc54 <[^>]*> nop -+0000fc58 <[^>]*> nop -+0000fc5c <[^>]*> nop -+0000fc60 <[^>]*> nop -+0000fc64 <[^>]*> nop -+0000fc68 <[^>]*> nop -+0000fc6c <[^>]*> nop -+0000fc70 <[^>]*> nop -+0000fc74 <[^>]*> nop -+0000fc78 <[^>]*> nop -+0000fc7c <[^>]*> nop -+0000fc80 <[^>]*> nop -+0000fc84 <[^>]*> nop -+0000fc88 <[^>]*> nop -+0000fc8c <[^>]*> nop -+0000fc90 <[^>]*> nop -+0000fc94 <[^>]*> nop -+0000fc98 <[^>]*> nop -+0000fc9c <[^>]*> nop -+0000fca0 <[^>]*> nop -+0000fca4 <[^>]*> nop -+0000fca8 <[^>]*> nop -+0000fcac <[^>]*> nop -+0000fcb0 <[^>]*> nop -+0000fcb4 <[^>]*> nop -+0000fcb8 <[^>]*> nop -+0000fcbc <[^>]*> nop -+0000fcc0 <[^>]*> nop -+0000fcc4 <[^>]*> nop -+0000fcc8 <[^>]*> nop -+0000fccc <[^>]*> nop -+0000fcd0 <[^>]*> nop -+0000fcd4 <[^>]*> nop -+0000fcd8 <[^>]*> nop -+0000fcdc <[^>]*> nop -+0000fce0 <[^>]*> nop -+0000fce4 <[^>]*> nop -+0000fce8 <[^>]*> nop -+0000fcec <[^>]*> nop -+0000fcf0 <[^>]*> nop -+0000fcf4 <[^>]*> nop -+0000fcf8 <[^>]*> nop -+0000fcfc <[^>]*> nop -+0000fd00 <[^>]*> nop -+0000fd04 <[^>]*> nop -+0000fd08 <[^>]*> nop -+0000fd0c <[^>]*> nop -+0000fd10 <[^>]*> nop -+0000fd14 <[^>]*> nop -+0000fd18 <[^>]*> nop -+0000fd1c <[^>]*> nop -+0000fd20 <[^>]*> nop -+0000fd24 <[^>]*> nop -+0000fd28 <[^>]*> nop -+0000fd2c <[^>]*> nop -+0000fd30 <[^>]*> nop -+0000fd34 <[^>]*> nop -+0000fd38 <[^>]*> nop -+0000fd3c <[^>]*> nop -+0000fd40 <[^>]*> nop -+0000fd44 <[^>]*> nop -+0000fd48 <[^>]*> nop -+0000fd4c <[^>]*> nop -+0000fd50 <[^>]*> nop -+0000fd54 <[^>]*> nop -+0000fd58 <[^>]*> nop -+0000fd5c <[^>]*> nop -+0000fd60 <[^>]*> nop -+0000fd64 <[^>]*> nop -+0000fd68 <[^>]*> nop -+0000fd6c <[^>]*> nop -+0000fd70 <[^>]*> nop -+0000fd74 <[^>]*> nop -+0000fd78 <[^>]*> nop -+0000fd7c <[^>]*> nop -+0000fd80 <[^>]*> nop -+0000fd84 <[^>]*> nop -+0000fd88 <[^>]*> nop -+0000fd8c <[^>]*> nop -+0000fd90 <[^>]*> nop -+0000fd94 <[^>]*> nop -+0000fd98 <[^>]*> nop -+0000fd9c <[^>]*> nop -+0000fda0 <[^>]*> nop -+0000fda4 <[^>]*> nop -+0000fda8 <[^>]*> nop -+0000fdac <[^>]*> nop -+0000fdb0 <[^>]*> nop -+0000fdb4 <[^>]*> nop -+0000fdb8 <[^>]*> nop -+0000fdbc <[^>]*> nop -+0000fdc0 <[^>]*> nop -+0000fdc4 <[^>]*> nop -+0000fdc8 <[^>]*> nop -+0000fdcc <[^>]*> nop -+0000fdd0 <[^>]*> nop -+0000fdd4 <[^>]*> nop -+0000fdd8 <[^>]*> nop -+0000fddc <[^>]*> nop -+0000fde0 <[^>]*> nop -+0000fde4 <[^>]*> nop -+0000fde8 <[^>]*> nop -+0000fdec <[^>]*> nop -+0000fdf0 <[^>]*> nop -+0000fdf4 <[^>]*> nop -+0000fdf8 <[^>]*> nop -+0000fdfc <[^>]*> nop -+0000fe00 <[^>]*> nop -+0000fe04 <[^>]*> nop -+0000fe08 <[^>]*> nop -+0000fe0c <[^>]*> nop -+0000fe10 <[^>]*> nop -+0000fe14 <[^>]*> nop -+0000fe18 <[^>]*> nop -+0000fe1c <[^>]*> nop -+0000fe20 <[^>]*> nop -+0000fe24 <[^>]*> nop -+0000fe28 <[^>]*> nop -+0000fe2c <[^>]*> nop -+0000fe30 <[^>]*> nop -+0000fe34 <[^>]*> nop -+0000fe38 <[^>]*> nop -+0000fe3c <[^>]*> nop -+0000fe40 <[^>]*> nop -+0000fe44 <[^>]*> nop -+0000fe48 <[^>]*> nop -+0000fe4c <[^>]*> nop -+0000fe50 <[^>]*> nop -+0000fe54 <[^>]*> nop -+0000fe58 <[^>]*> nop -+0000fe5c <[^>]*> nop -+0000fe60 <[^>]*> nop -+0000fe64 <[^>]*> nop -+0000fe68 <[^>]*> nop -+0000fe6c <[^>]*> nop -+0000fe70 <[^>]*> nop -+0000fe74 <[^>]*> nop -+0000fe78 <[^>]*> nop -+0000fe7c <[^>]*> nop -+0000fe80 <[^>]*> nop -+0000fe84 <[^>]*> nop -+0000fe88 <[^>]*> nop -+0000fe8c <[^>]*> nop -+0000fe90 <[^>]*> nop -+0000fe94 <[^>]*> nop -+0000fe98 <[^>]*> nop -+0000fe9c <[^>]*> nop -+0000fea0 <[^>]*> nop -+0000fea4 <[^>]*> nop -+0000fea8 <[^>]*> nop -+0000feac <[^>]*> nop -+0000feb0 <[^>]*> nop -+0000feb4 <[^>]*> nop -+0000feb8 <[^>]*> nop -+0000febc <[^>]*> nop -+0000fec0 <[^>]*> nop -+0000fec4 <[^>]*> nop -+0000fec8 <[^>]*> nop -+0000fecc <[^>]*> nop -+0000fed0 <[^>]*> nop -+0000fed4 <[^>]*> nop -+0000fed8 <[^>]*> nop -+0000fedc <[^>]*> nop -+0000fee0 <[^>]*> nop -+0000fee4 <[^>]*> nop -+0000fee8 <[^>]*> nop -+0000feec <[^>]*> nop -+0000fef0 <[^>]*> nop -+0000fef4 <[^>]*> nop -+0000fef8 <[^>]*> nop -+0000fefc <[^>]*> nop -+0000ff00 <[^>]*> nop -+0000ff04 <[^>]*> nop -+0000ff08 <[^>]*> nop -+0000ff0c <[^>]*> nop -+0000ff10 <[^>]*> nop -+0000ff14 <[^>]*> nop -+0000ff18 <[^>]*> nop -+0000ff1c <[^>]*> nop -+0000ff20 <[^>]*> nop -+0000ff24 <[^>]*> nop -+0000ff28 <[^>]*> nop -+0000ff2c <[^>]*> nop -+0000ff30 <[^>]*> nop -+0000ff34 <[^>]*> nop -+0000ff38 <[^>]*> nop -+0000ff3c <[^>]*> nop -+0000ff40 <[^>]*> nop -+0000ff44 <[^>]*> nop -+0000ff48 <[^>]*> nop -+0000ff4c <[^>]*> nop -+0000ff50 <[^>]*> nop -+0000ff54 <[^>]*> nop -+0000ff58 <[^>]*> nop -+0000ff5c <[^>]*> nop -+0000ff60 <[^>]*> nop -+0000ff64 <[^>]*> nop -+0000ff68 <[^>]*> nop -+0000ff6c <[^>]*> nop -+0000ff70 <[^>]*> nop -+0000ff74 <[^>]*> nop -+0000ff78 <[^>]*> nop -+0000ff7c <[^>]*> nop -+0000ff80 <[^>]*> nop -+0000ff84 <[^>]*> nop -+0000ff88 <[^>]*> nop -+0000ff8c <[^>]*> nop -+0000ff90 <[^>]*> nop -+0000ff94 <[^>]*> nop -+0000ff98 <[^>]*> nop -+0000ff9c <[^>]*> nop -+0000ffa0 <[^>]*> nop -+0000ffa4 <[^>]*> nop -+0000ffa8 <[^>]*> nop -+0000ffac <[^>]*> nop -+0000ffb0 <[^>]*> nop -+0000ffb4 <[^>]*> nop -+0000ffb8 <[^>]*> nop -+0000ffbc <[^>]*> nop -+0000ffc0 <[^>]*> nop -+0000ffc4 <[^>]*> nop -+0000ffc8 <[^>]*> nop -+0000ffcc <[^>]*> nop -+0000ffd0 <[^>]*> nop -+0000ffd4 <[^>]*> nop -+0000ffd8 <[^>]*> nop -+0000ffdc <[^>]*> nop -+0000ffe0 <[^>]*> nop -+0000ffe4 <[^>]*> nop -+0000ffe8 <[^>]*> nop -+0000ffec <[^>]*> nop -+0000fff0 <[^>]*> nop -+0000fff4 <[^>]*> nop -+0000fff8 <[^>]*> nop -+0000fffc <[^>]*> nop -+00010000 <[^>]*> br 00010018 <[^>]*> -+00010004 <[^>]*> nop -+00010008 <[^>]*> nop -+0001000c <[^>]*> nop -+00010010 <[^>]*> nop -+00010014 <[^>]*> nop -+00010018 <[^>]*> nop -+ ... -diff --git a/gas/testsuite/gas/nios2/relax_ujmp.s b/gas/testsuite/gas/nios2/relax_ujmp.s -new file mode 100644 -index 0000000..8982d73 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/relax_ujmp.s -@@ -0,0 +1,37 @@ -+# relaxing unconditional jumps -+ -+.globl text1 -+.section text1, "ax", @progbits -+ -+ br on_border -+ br out_of_range -+ nop -+ nop -+ -+ -+.align 15 -+# nop -+# nop -+on_border: -+ br in_range -+ nop -+ nop -+ nop -+out_of_range: -+in_range: -+ nop -+ -+.globl text2 -+.section text2, "ax", @progbits -+ -+ br text1 -+ br out_of_range -+ br sym -+ nop -+ nop -+sym: -+ nop -+ -+ -+ -+ -diff --git a/gas/testsuite/gas/nios2/reloc_symbols.s b/gas/testsuite/gas/nios2/reloc_symbols.s -new file mode 100644 -index 0000000..532acf3 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/reloc_symbols.s -@@ -0,0 +1,21 @@ -+.text -+# byte aligned -+.align 0 -+.byte byte_sym -+ -+# short aligned -+.align 1 -+.short short_sym -+ -+# word aligned -+.align 2 -+.long long_sym -+ -+# now lets try some unaligned words and halfwords -+.byte byte_sym -+.2byte short_sym -+.4byte long_sym -+ -+#.align 2 -+#nop -+ -diff --git a/gas/testsuite/gas/nios2/ret.d b/gas/testsuite/gas/nios2/ret.d -new file mode 100644 -index 0000000..b071931 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ret.d -@@ -0,0 +1,8 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 ret -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> ret -+ -diff --git a/gas/testsuite/gas/nios2/ret.s b/gas/testsuite/gas/nios2/ret.s -new file mode 100644 -index 0000000..69b76bc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/ret.s -@@ -0,0 +1,5 @@ -+# Source file used to test the ret instructions -+foo: -+ ret -+ -+ -diff --git a/gas/testsuite/gas/nios2/rol.d b/gas/testsuite/gas/nios2/rol.d -new file mode 100644 -index 0000000..2128dd5 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/rol.d -@@ -0,0 +1,40 @@ -+#objdump: -dr --prefix-addresses -mmips:3000 -+#as: -march=r3000 -mtune=r3000 -+#name: MIPS R3000 rol -+ -+# Test the rol and ror macros. -+ -+.*: +file format .*mips.* -+ -+Disassembly of section .text: -+0+0000 <[^>]*> negu at,a1 -+0+0004 <[^>]*> srlv at,a0,at -+0+0008 <[^>]*> sllv a0,a0,a1 -+0+000c <[^>]*> or a0,a0,at -+0+0010 <[^>]*> negu at,a2 -+0+0014 <[^>]*> srlv at,a1,at -+0+0018 <[^>]*> sllv a0,a1,a2 -+0+001c <[^>]*> or a0,a0,at -+0+0020 <[^>]*> sll at,a0,0x1 -+0+0024 <[^>]*> srl a0,a0,0x1f -+0+0028 <[^>]*> or a0,a0,at -+0+002c <[^>]*> sll at,a1,0x1 -+0+0030 <[^>]*> srl a0,a1,0x1f -+0+0034 <[^>]*> or a0,a0,at -+0+0038 <[^>]*> srl a0,a1,0x0 -+0+003c <[^>]*> negu at,a1 -+0+0040 <[^>]*> sllv at,a0,at -+0+0044 <[^>]*> srlv a0,a0,a1 -+0+0048 <[^>]*> or a0,a0,at -+0+004c <[^>]*> negu at,a2 -+0+0050 <[^>]*> sllv at,a1,at -+0+0054 <[^>]*> srlv a0,a1,a2 -+0+0058 <[^>]*> or a0,a0,at -+0+005c <[^>]*> srl at,a0,0x1 -+0+0060 <[^>]*> sll a0,a0,0x1f -+0+0064 <[^>]*> or a0,a0,at -+0+0068 <[^>]*> srl at,a1,0x1 -+0+006c <[^>]*> sll a0,a1,0x1f -+0+0070 <[^>]*> or a0,a0,at -+0+0074 <[^>]*> srl a0,a1,0x0 -+ ... -diff --git a/gas/testsuite/gas/nios2/rol.s b/gas/testsuite/gas/nios2/rol.s -new file mode 100644 -index 0000000..988d702 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/rol.s -@@ -0,0 +1,15 @@ -+# Source file used to test the rol and ror macros. -+ -+foo: -+ rol $4,$5 -+ rol $4,$5,$6 -+ rol $4,1 -+ rol $4,$5,1 -+ rol $4,$5,0 -+ -+ ror $4,$5 -+ ror $4,$5,$6 -+ ror $4,1 -+ ror $4,$5,1 -+ ror $4,$5,0 -+ .space 8 -diff --git a/gas/testsuite/gas/nios2/rotate.d b/gas/testsuite/gas/nios2/rotate.d -new file mode 100644 -index 0000000..0f54f43 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/rotate.d -@@ -0,0 +1,17 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 rotate -+ -+# Test the and macro. -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> rol r4,r4,r4 -+0+0004 <[^>]*> roli r4,r4,31 -+0+0008 <[^>]*> ror r4,r4,r4 -+0+000c <[^>]*> sll r4,r4,r4 -+0+0010 <[^>]*> slli r4,r4,24 -+0+0014 <[^>]*> sra r4,r4,r4 -+0+0018 <[^>]*> srai r4,r4,10 -+0+001c <[^>]*> srl r4,r4,r4 -+0+0020 <[^>]*> srli r4,r4,5 -diff --git a/gas/testsuite/gas/nios2/rotate.s b/gas/testsuite/gas/nios2/rotate.s -new file mode 100644 -index 0000000..81c4ee1 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/rotate.s -@@ -0,0 +1,13 @@ -+# test New Jersey rotate instructions -+ -+.text -+foo: -+ rol r4,r4,r4 -+ roli r4,r4,31 -+ ror r4,r4,r4 -+ sll r4,r4,r4 -+ slli r4,r4,24 -+ sra r4,r4,r4 -+ srai r4,r4,10 -+ srl r4,r4,r4 -+ srli r4,r4,5 -diff --git a/gas/testsuite/gas/nios2/s16_symbol.s b/gas/testsuite/gas/nios2/s16_symbol.s -new file mode 100644 -index 0000000..3902177 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/s16_symbol.s -@@ -0,0 +1,10 @@ -+.global some_sym -+.global some_other_sym -+.global min -+.global max -+ -+.set max, 0x7fff -+.set min, -0x8000 -+.set some_sym, 0x1000 -+ -+ -diff --git a/gas/testsuite/gas/nios2/stb.d b/gas/testsuite/gas/nios2/stb.d -new file mode 100644 -index 0000000..82f04ca ---- /dev/null -+++ b/gas/testsuite/gas/nios2/stb.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 stb -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> stb r4,0\(zero\) -+0+0004 <[^>]*> stb r4,4\(zero\) -+0+0008 <[^>]*> stb r4,32764\(zero\) -+0+000c <[^>]*> stb r4,-32768\(zero\) -+0+0010 <[^>]*> stb r4,0\(r5\) -+0+0014 <[^>]*> stb r4,4\(r5\) -+0+0018 <[^>]*> stb r4,32764\(r5\) -+0+001c <[^>]*> stb r4,-32768\(r5\) -+0+0020 <[^>]*> stb r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> stb r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> stb r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> stb r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> stb r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> stb r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> stb r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> stb r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> stb r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> stb r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> stb r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> stb r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> stb r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> stb r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> stb r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> stb r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> stb r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> stb r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> stb r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> stb r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> stb r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> stb r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> stb r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> stb r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> stb r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> stb r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> stb r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> stb r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> stb r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> stb r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> stb r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> stb r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> stb r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> stb r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> stb r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> stb r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> stb r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> stb r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> stb r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> stb r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> stb r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> stb r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> stb r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> stbio r4,0\(zero\) -+0+00d0 <[^>]*> stbio r4,4\(zero\) -+0+00d4 <[^>]*> stbio r4,32764\(zero\) -+0+00d8 <[^>]*> stbio r4,-32768\(zero\) -+0+00dc <[^>]*> stbio r4,0\(r5\) -+0+00e0 <[^>]*> stbio r4,4\(r5\) -+0+00e4 <[^>]*> stbio r4,32764\(r5\) -+0+00e8 <[^>]*> stbio r4,-32768\(r5\) -+0+00ec <[^>]*> stbio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> stbio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> stbio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> stbio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> stbio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> stbio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> stbio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> stbio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> stbio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> stbio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> stbio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> stbio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> stbio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> stbio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> stbio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> stbio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> stbio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> stbio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> stbio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> stbio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> stbio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> stbio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> stbio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> stbio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> stbio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> stbio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> stbio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> stbio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> stbio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> stbio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> stbio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> stbio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> stbio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> stbio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> stbio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> stbio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> stbio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> stbio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> stbio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> stbio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> stbio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> stbio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> stbio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/stb.s b/gas/testsuite/gas/nios2/stb.s -new file mode 100644 -index 0000000..8078e94 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/stb.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ stb r4,0(r0) -+ stb r4,4(r0) -+ stb r4,0x7ffc(r0) -+ stb r4,-0x8000(r0) -+ stb r4,0(r5) -+ stb r4,4(r5) -+ stb r4,0x7ffc(r5) -+ stb r4,-0x8000(r5) -+ stb r4,data_label(r0) -+ stb r4,big_external_data_label(r0) -+ stb r4,small_external_data_label(r0) -+ stb r4,big_external_common(r0) -+ stb r4,small_external_common(r0) -+ stb r4,big_local_common(r0) -+ stb r4,small_local_common(r0) -+ stb r4,data_label+4(r0) -+ stb r4,big_external_data_label+4(r0) -+ stb r4,small_external_data_label+4(r0) -+ stb r4,big_external_common+4(r0) -+ stb r4,small_external_common+4(r0) -+ stb r4,big_local_common+4(r0) -+ stb r4,small_local_common+4(r0) -+ stb r4,data_label-0x8000(r0) -+ stb r4,big_external_data_label-0x8000(r0) -+ stb r4,small_external_data_label-0x8000(r0) -+ stb r4,big_external_common-0x8000(r0) -+ stb r4,small_external_common-0x8000(r0) -+ stb r4,big_local_common-0x8000(r0) -+ stb r4,small_local_common-0x8000(r0) -+ stb r4,data_label+0x10000(r0) -+ stb r4,data_label(r5) -+ stb r4,big_external_data_label(r5) -+ stb r4,small_external_data_label(r5) -+ stb r4,big_external_common(r5) -+ stb r4,small_external_common(r5) -+ stb r4,big_local_common(r5) -+ stb r4,small_local_common(r5) -+ stb r4,data_label+4(r5) -+ stb r4,big_external_data_label+4(r5) -+ stb r4,small_external_data_label+4(r5) -+ stb r4,big_external_common+4(r5) -+ stb r4,small_external_common+4(r5) -+ stb r4,big_local_common+4(r5) -+ stb r4,small_local_common+4(r5) -+ stb r4,data_label-0x8000(r5) -+ stb r4,big_external_data_label-0x8000(r5) -+ stb r4,small_external_data_label-0x8000(r5) -+ stb r4,big_external_common-0x8000(r5) -+ stb r4,small_external_common-0x8000(r5) -+ stb r4,big_local_common-0x8000(r5) -+ stb r4,small_local_common-0x8000(r5) -+ -+ stbio r4,0(r0) -+ stbio r4,4(r0) -+ stbio r4,0x7ffc(r0) -+ stbio r4,-0x8000(r0) -+ stbio r4,0(r5) -+ stbio r4,4(r5) -+ stbio r4,0x7ffc(r5) -+ stbio r4,-0x8000(r5) -+ stbio r4,data_label(r0) -+ stbio r4,big_external_data_label(r0) -+ stbio r4,small_external_data_label(r0) -+ stbio r4,big_external_common(r0) -+ stbio r4,small_external_common(r0) -+ stbio r4,big_local_common(r0) -+ stbio r4,small_local_common(r0) -+ stbio r4,data_label+4(r0) -+ stbio r4,big_external_data_label+4(r0) -+ stbio r4,small_external_data_label+4(r0) -+ stbio r4,big_external_common+4(r0) -+ stbio r4,small_external_common+4(r0) -+ stbio r4,big_local_common+4(r0) -+ stbio r4,small_local_common+4(r0) -+ stbio r4,data_label-0x8000(r0) -+ stbio r4,big_external_data_label-0x8000(r0) -+ stbio r4,small_external_data_label-0x8000(r0) -+ stbio r4,big_external_common-0x8000(r0) -+ stbio r4,small_external_common-0x8000(r0) -+ stbio r4,big_local_common-0x8000(r0) -+ stbio r4,small_local_common-0x8000(r0) -+ stbio r4,data_label+0x10000(r0) -+ stbio r4,data_label(r5) -+ stbio r4,big_external_data_label(r5) -+ stbio r4,small_external_data_label(r5) -+ stbio r4,big_external_common(r5) -+ stbio r4,small_external_common(r5) -+ stbio r4,big_local_common(r5) -+ stbio r4,small_local_common(r5) -+ stbio r4,data_label+4(r5) -+ stbio r4,big_external_data_label+4(r5) -+ stbio r4,small_external_data_label+4(r5) -+ stbio r4,big_external_common+4(r5) -+ stbio r4,small_external_common+4(r5) -+ stbio r4,big_local_common+4(r5) -+ stbio r4,small_local_common+4(r5) -+ stbio r4,data_label-0x8000(r5) -+ stbio r4,big_external_data_label-0x8000(r5) -+ stbio r4,small_external_data_label-0x8000(r5) -+ stbio r4,big_external_common-0x8000(r5) -+ stbio r4,small_external_common-0x8000(r5) -+ stbio r4,big_local_common-0x8000(r5) -+ stbio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/sth.d b/gas/testsuite/gas/nios2/sth.d -new file mode 100644 -index 0000000..dd9ec69 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sth.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 sth -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> sth r4,0\(zero\) -+0+0004 <[^>]*> sth r4,4\(zero\) -+0+0008 <[^>]*> sth r4,32764\(zero\) -+0+000c <[^>]*> sth r4,-32768\(zero\) -+0+0010 <[^>]*> sth r4,0\(r5\) -+0+0014 <[^>]*> sth r4,4\(r5\) -+0+0018 <[^>]*> sth r4,32764\(r5\) -+0+001c <[^>]*> sth r4,-32768\(r5\) -+0+0020 <[^>]*> sth r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> sth r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> sth r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> sth r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> sth r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> sth r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> sth r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> sth r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> sth r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> sth r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> sth r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> sth r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> sth r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> sth r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> sth r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> sth r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> sth r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> sth r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> sth r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> sth r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> sth r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> sth r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> sth r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> sth r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> sth r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> sth r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> sth r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> sth r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> sth r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> sth r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> sth r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> sth r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> sth r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> sth r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> sth r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> sth r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> sth r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> sth r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> sth r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> sth r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> sth r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> sth r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> sth r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> sthio r4,0\(zero\) -+0+00d0 <[^>]*> sthio r4,4\(zero\) -+0+00d4 <[^>]*> sthio r4,32764\(zero\) -+0+00d8 <[^>]*> sthio r4,-32768\(zero\) -+0+00dc <[^>]*> sthio r4,0\(r5\) -+0+00e0 <[^>]*> sthio r4,4\(r5\) -+0+00e4 <[^>]*> sthio r4,32764\(r5\) -+0+00e8 <[^>]*> sthio r4,-32768\(r5\) -+0+00ec <[^>]*> sthio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> sthio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> sthio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> sthio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> sthio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> sthio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> sthio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> sthio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> sthio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> sthio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> sthio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> sthio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> sthio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> sthio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> sthio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> sthio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> sthio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> sthio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> sthio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> sthio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> sthio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> sthio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> sthio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> sthio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> sthio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> sthio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> sthio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> sthio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> sthio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> sthio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> sthio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> sthio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> sthio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> sthio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> sthio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> sthio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> sthio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> sthio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> sthio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> sthio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> sthio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> sthio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> sthio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/sth.s b/gas/testsuite/gas/nios2/sth.s -new file mode 100644 -index 0000000..4b9390b ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sth.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ sth r4,0(r0) -+ sth r4,4(r0) -+ sth r4,0x7ffc(r0) -+ sth r4,-0x8000(r0) -+ sth r4,0(r5) -+ sth r4,4(r5) -+ sth r4,0x7ffc(r5) -+ sth r4,-0x8000(r5) -+ sth r4,data_label(r0) -+ sth r4,big_external_data_label(r0) -+ sth r4,small_external_data_label(r0) -+ sth r4,big_external_common(r0) -+ sth r4,small_external_common(r0) -+ sth r4,big_local_common(r0) -+ sth r4,small_local_common(r0) -+ sth r4,data_label+4(r0) -+ sth r4,big_external_data_label+4(r0) -+ sth r4,small_external_data_label+4(r0) -+ sth r4,big_external_common+4(r0) -+ sth r4,small_external_common+4(r0) -+ sth r4,big_local_common+4(r0) -+ sth r4,small_local_common+4(r0) -+ sth r4,data_label-0x8000(r0) -+ sth r4,big_external_data_label-0x8000(r0) -+ sth r4,small_external_data_label-0x8000(r0) -+ sth r4,big_external_common-0x8000(r0) -+ sth r4,small_external_common-0x8000(r0) -+ sth r4,big_local_common-0x8000(r0) -+ sth r4,small_local_common-0x8000(r0) -+ sth r4,data_label+0x10000(r0) -+ sth r4,data_label(r5) -+ sth r4,big_external_data_label(r5) -+ sth r4,small_external_data_label(r5) -+ sth r4,big_external_common(r5) -+ sth r4,small_external_common(r5) -+ sth r4,big_local_common(r5) -+ sth r4,small_local_common(r5) -+ sth r4,data_label+4(r5) -+ sth r4,big_external_data_label+4(r5) -+ sth r4,small_external_data_label+4(r5) -+ sth r4,big_external_common+4(r5) -+ sth r4,small_external_common+4(r5) -+ sth r4,big_local_common+4(r5) -+ sth r4,small_local_common+4(r5) -+ sth r4,data_label-0x8000(r5) -+ sth r4,big_external_data_label-0x8000(r5) -+ sth r4,small_external_data_label-0x8000(r5) -+ sth r4,big_external_common-0x8000(r5) -+ sth r4,small_external_common-0x8000(r5) -+ sth r4,big_local_common-0x8000(r5) -+ sth r4,small_local_common-0x8000(r5) -+ -+ sthio r4,0(r0) -+ sthio r4,4(r0) -+ sthio r4,0x7ffc(r0) -+ sthio r4,-0x8000(r0) -+ sthio r4,0(r5) -+ sthio r4,4(r5) -+ sthio r4,0x7ffc(r5) -+ sthio r4,-0x8000(r5) -+ sthio r4,data_label(r0) -+ sthio r4,big_external_data_label(r0) -+ sthio r4,small_external_data_label(r0) -+ sthio r4,big_external_common(r0) -+ sthio r4,small_external_common(r0) -+ sthio r4,big_local_common(r0) -+ sthio r4,small_local_common(r0) -+ sthio r4,data_label+4(r0) -+ sthio r4,big_external_data_label+4(r0) -+ sthio r4,small_external_data_label+4(r0) -+ sthio r4,big_external_common+4(r0) -+ sthio r4,small_external_common+4(r0) -+ sthio r4,big_local_common+4(r0) -+ sthio r4,small_local_common+4(r0) -+ sthio r4,data_label-0x8000(r0) -+ sthio r4,big_external_data_label-0x8000(r0) -+ sthio r4,small_external_data_label-0x8000(r0) -+ sthio r4,big_external_common-0x8000(r0) -+ sthio r4,small_external_common-0x8000(r0) -+ sthio r4,big_local_common-0x8000(r0) -+ sthio r4,small_local_common-0x8000(r0) -+ sthio r4,data_label+0x10000(r0) -+ sthio r4,data_label(r5) -+ sthio r4,big_external_data_label(r5) -+ sthio r4,small_external_data_label(r5) -+ sthio r4,big_external_common(r5) -+ sthio r4,small_external_common(r5) -+ sthio r4,big_local_common(r5) -+ sthio r4,small_local_common(r5) -+ sthio r4,data_label+4(r5) -+ sthio r4,big_external_data_label+4(r5) -+ sthio r4,small_external_data_label+4(r5) -+ sthio r4,big_external_common+4(r5) -+ sthio r4,small_external_common+4(r5) -+ sthio r4,big_local_common+4(r5) -+ sthio r4,small_local_common+4(r5) -+ sthio r4,data_label-0x8000(r5) -+ sthio r4,big_external_data_label-0x8000(r5) -+ sthio r4,small_external_data_label-0x8000(r5) -+ sthio r4,big_external_common-0x8000(r5) -+ sthio r4,small_external_common-0x8000(r5) -+ sthio r4,big_local_common-0x8000(r5) -+ sthio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/str2.s b/gas/testsuite/gas/nios2/str2.s -new file mode 100644 -index 0000000..5310d4e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/str2.s -@@ -0,0 +1,21 @@ -+ .section .rodata.str1.1,"aMS",@progbits,1 -+.LC0: -+ .string "DHRYSTONE PROGRAM, 3'RD STRING" -+.LC1: -+ .string "COMMON" -+.LC2: -+ .string "DHRYSTONE PROGRAM, 4'TH STRING" -+ -+ .section .text -+ .align 3 -+ .global func2 -+ .type func2, @function -+func2: -+ #movhi r2, %hiadj(.LC0) -+ addi r2, r2, .LC0 -+ #movhi r3, %hiadj(.LC1) -+ addi r3, r3, .LC1 -+ #movhi r4, %hiadj(.LC2) -+ addi r4, r4, .LC2 -+ .size func2, .-func2 -+ -diff --git a/gas/testsuite/gas/nios2/stw.d b/gas/testsuite/gas/nios2/stw.d -new file mode 100644 -index 0000000..e291bda ---- /dev/null -+++ b/gas/testsuite/gas/nios2/stw.d -@@ -0,0 +1,196 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 stw -+ -+# Test the ld instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> stw r4,0\(zero\) -+0+0004 <[^>]*> stw r4,4\(zero\) -+0+0008 <[^>]*> stw r4,32764\(zero\) -+0+000c <[^>]*> stw r4,-32768\(zero\) -+0+0010 <[^>]*> stw r4,0\(r5\) -+0+0014 <[^>]*> stw r4,4\(r5\) -+0+0018 <[^>]*> stw r4,32764\(r5\) -+0+001c <[^>]*> stw r4,-32768\(r5\) -+0+0020 <[^>]*> stw r4,0\(zero\) -+[ ]*20: R_NIOS2_S16 .data -+0+0024 <[^>]*> stw r4,0\(zero\) -+[ ]*24: R_NIOS2_S16 big_external_data_label -+0+0028 <[^>]*> stw r4,0\(zero\) -+[ ]*28: R_NIOS2_S16 small_external_data_label -+0+002c <[^>]*> stw r4,0\(zero\) -+[ ]*2c: R_NIOS2_S16 big_external_common -+0+0030 <[^>]*> stw r4,0\(zero\) -+[ ]*30: R_NIOS2_S16 small_external_common -+0+0034 <[^>]*> stw r4,0\(zero\) -+[ ]*34: R_NIOS2_S16 .bss -+0+0038 <[^>]*> stw r4,0\(zero\) -+[ ]*38: R_NIOS2_S16 .bss\+0x4000 -+0+003c <[^>]*> stw r4,0\(zero\) -+[ ]*3c: R_NIOS2_S16 .data\+0x4 -+0+0040 <[^>]*> stw r4,0\(zero\) -+[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0044 <[^>]*> stw r4,0\(zero\) -+[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0048 <[^>]*> stw r4,0\(zero\) -+[ ]*48: R_NIOS2_S16 big_external_common\+0x4 -+0+004c <[^>]*> stw r4,0\(zero\) -+[ ]*4c: R_NIOS2_S16 small_external_common\+0x4 -+0+0050 <[^>]*> stw r4,0\(zero\) -+[ ]*50: R_NIOS2_S16 .bss\+0x4 -+0+0054 <[^>]*> stw r4,0\(zero\) -+[ ]*54: R_NIOS2_S16 .bss\+0x4004 -+0+0058 <[^>]*> stw r4,0\(zero\) -+[ ]*58: R_NIOS2_S16 .data\+0xffff8000 -+0+005c <[^>]*> stw r4,0\(zero\) -+[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0060 <[^>]*> stw r4,0\(zero\) -+[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0064 <[^>]*> stw r4,0\(zero\) -+[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0068 <[^>]*> stw r4,0\(zero\) -+[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+006c <[^>]*> stw r4,0\(zero\) -+[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000 -+0+0070 <[^>]*> stw r4,0\(zero\) -+[ ]*70: R_NIOS2_S16 .bss\+0xffffc000 -+0+0074 <[^>]*> stw r4,0\(zero\) -+[ ]*74: R_NIOS2_S16 .data\+0x10000 -+0+0078 <[^>]*> stw r4,0\(r5\) -+[ ]*78: R_NIOS2_S16 .data -+0+007c <[^>]*> stw r4,0\(r5\) -+[ ]*7c: R_NIOS2_S16 big_external_data_label -+0+0080 <[^>]*> stw r4,0\(r5\) -+[ ]*80: R_NIOS2_S16 small_external_data_label -+0+0084 <[^>]*> stw r4,0\(r5\) -+[ ]*84: R_NIOS2_S16 big_external_common -+0+0088 <[^>]*> stw r4,0\(r5\) -+[ ]*88: R_NIOS2_S16 small_external_common -+0+008c <[^>]*> stw r4,0\(r5\) -+[ ]*8c: R_NIOS2_S16 .bss -+0+0090 <[^>]*> stw r4,0\(r5\) -+[ ]*90: R_NIOS2_S16 .bss\+0x4000 -+0+0094 <[^>]*> stw r4,0\(r5\) -+[ ]*94: R_NIOS2_S16 .data\+0x4 -+0+0098 <[^>]*> stw r4,0\(r5\) -+[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4 -+0+009c <[^>]*> stw r4,0\(r5\) -+[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4 -+0+00a0 <[^>]*> stw r4,0\(r5\) -+[ ]*a0: R_NIOS2_S16 big_external_common\+0x4 -+0+00a4 <[^>]*> stw r4,0\(r5\) -+[ ]*a4: R_NIOS2_S16 small_external_common\+0x4 -+0+00a8 <[^>]*> stw r4,0\(r5\) -+[ ]*a8: R_NIOS2_S16 .bss\+0x4 -+0+00ac <[^>]*> stw r4,0\(r5\) -+[ ]*ac: R_NIOS2_S16 .bss\+0x4004 -+0+00b0 <[^>]*> stw r4,0\(r5\) -+[ ]*b0: R_NIOS2_S16 .data\+0xffff8000 -+0+00b4 <[^>]*> stw r4,0\(r5\) -+[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+00b8 <[^>]*> stw r4,0\(r5\) -+[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+00bc <[^>]*> stw r4,0\(r5\) -+[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+00c0 <[^>]*> stw r4,0\(r5\) -+[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+00c4 <[^>]*> stw r4,0\(r5\) -+[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000 -+0+00c8 <[^>]*> stw r4,0\(r5\) -+[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000 -+0+00cc <[^>]*> stwio r4,0\(zero\) -+0+00d0 <[^>]*> stwio r4,4\(zero\) -+0+00d4 <[^>]*> stwio r4,32764\(zero\) -+0+00d8 <[^>]*> stwio r4,-32768\(zero\) -+0+00dc <[^>]*> stwio r4,0\(r5\) -+0+00e0 <[^>]*> stwio r4,4\(r5\) -+0+00e4 <[^>]*> stwio r4,32764\(r5\) -+0+00e8 <[^>]*> stwio r4,-32768\(r5\) -+0+00ec <[^>]*> stwio r4,0\(zero\) -+[ ]*ec: R_NIOS2_S16 .data -+0+00f0 <[^>]*> stwio r4,0\(zero\) -+[ ]*f0: R_NIOS2_S16 big_external_data_label -+0+00f4 <[^>]*> stwio r4,0\(zero\) -+[ ]*f4: R_NIOS2_S16 small_external_data_label -+0+00f8 <[^>]*> stwio r4,0\(zero\) -+[ ]*f8: R_NIOS2_S16 big_external_common -+0+00fc <[^>]*> stwio r4,0\(zero\) -+[ ]*fc: R_NIOS2_S16 small_external_common -+0+0100 <[^>]*> stwio r4,0\(zero\) -+[ ]*100: R_NIOS2_S16 .bss -+0+0104 <[^>]*> stwio r4,0\(zero\) -+[ ]*104: R_NIOS2_S16 .bss\+0x4000 -+0+0108 <[^>]*> stwio r4,0\(zero\) -+[ ]*108: R_NIOS2_S16 .data\+0x4 -+0+010c <[^>]*> stwio r4,0\(zero\) -+[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0110 <[^>]*> stwio r4,0\(zero\) -+[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4 -+0+0114 <[^>]*> stwio r4,0\(zero\) -+[ ]*114: R_NIOS2_S16 big_external_common\+0x4 -+0+0118 <[^>]*> stwio r4,0\(zero\) -+[ ]*118: R_NIOS2_S16 small_external_common\+0x4 -+0+011c <[^>]*> stwio r4,0\(zero\) -+[ ]*11c: R_NIOS2_S16 .bss\+0x4 -+0+0120 <[^>]*> stwio r4,0\(zero\) -+[ ]*120: R_NIOS2_S16 .bss\+0x4004 -+0+0124 <[^>]*> stwio r4,0\(zero\) -+[ ]*124: R_NIOS2_S16 .data\+0xffff8000 -+0+0128 <[^>]*> stwio r4,0\(zero\) -+[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+012c <[^>]*> stwio r4,0\(zero\) -+[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0130 <[^>]*> stwio r4,0\(zero\) -+[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+0134 <[^>]*> stwio r4,0\(zero\) -+[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0138 <[^>]*> stwio r4,0\(zero\) -+[ ]*138: R_NIOS2_S16 .bss\+0xffff8000 -+0+013c <[^>]*> stwio r4,0\(zero\) -+[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000 -+0+0140 <[^>]*> stwio r4,0\(zero\) -+[ ]*140: R_NIOS2_S16 .data\+0x10000 -+0+0144 <[^>]*> stwio r4,0\(r5\) -+[ ]*144: R_NIOS2_S16 .data -+0+0148 <[^>]*> stwio r4,0\(r5\) -+[ ]*148: R_NIOS2_S16 big_external_data_label -+0+014c <[^>]*> stwio r4,0\(r5\) -+[ ]*14c: R_NIOS2_S16 small_external_data_label -+0+0150 <[^>]*> stwio r4,0\(r5\) -+[ ]*150: R_NIOS2_S16 big_external_common -+0+0154 <[^>]*> stwio r4,0\(r5\) -+[ ]*154: R_NIOS2_S16 small_external_common -+0+0158 <[^>]*> stwio r4,0\(r5\) -+[ ]*158: R_NIOS2_S16 .bss -+0+015c <[^>]*> stwio r4,0\(r5\) -+[ ]*15c: R_NIOS2_S16 .bss\+0x4000 -+0+0160 <[^>]*> stwio r4,0\(r5\) -+[ ]*160: R_NIOS2_S16 .data\+0x4 -+0+0164 <[^>]*> stwio r4,0\(r5\) -+[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4 -+0+0168 <[^>]*> stwio r4,0\(r5\) -+[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4 -+0+016c <[^>]*> stwio r4,0\(r5\) -+[ ]*16c: R_NIOS2_S16 big_external_common\+0x4 -+0+0170 <[^>]*> stwio r4,0\(r5\) -+[ ]*170: R_NIOS2_S16 small_external_common\+0x4 -+0+0174 <[^>]*> stwio r4,0\(r5\) -+[ ]*174: R_NIOS2_S16 .bss\+0x4 -+0+0178 <[^>]*> stwio r4,0\(r5\) -+[ ]*178: R_NIOS2_S16 .bss\+0x4004 -+0+017c <[^>]*> stwio r4,0\(r5\) -+[ ]*17c: R_NIOS2_S16 .data\+0xffff8000 -+0+0180 <[^>]*> stwio r4,0\(r5\) -+[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000 -+0+0184 <[^>]*> stwio r4,0\(r5\) -+[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000 -+0+0188 <[^>]*> stwio r4,0\(r5\) -+[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000 -+0+018c <[^>]*> stwio r4,0\(r5\) -+[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000 -+0+0190 <[^>]*> stwio r4,0\(r5\) -+[ ]*190: R_NIOS2_S16 .bss\+0xffff8000 -+0+0194 <[^>]*> stwio r4,0\(r5\) -+[ ]*194: R_NIOS2_S16 .bss\+0xffffc000 -diff --git a/gas/testsuite/gas/nios2/stw.s b/gas/testsuite/gas/nios2/stw.s -new file mode 100644 -index 0000000..fa5c72f ---- /dev/null -+++ b/gas/testsuite/gas/nios2/stw.s -@@ -0,0 +1,117 @@ -+ .data -+data_label: -+ .extern big_external_data_label,0x4000 -+ .extern small_external_data_label,4 -+ .comm big_external_common,0x4000 -+ .comm small_external_common,4 -+ .lcomm big_local_common,0x4000 -+ .lcomm small_local_common,4 -+ -+# the small symbols should have space allocated in the sbss section -+# but this is not yet supported in the assembler, so space is allocated -+# in the .bss section and the relocations are not gp-relative. this will -+# be updated when gp-relative relocations are added -+ .text -+ stw r4,0(r0) -+ stw r4,4(r0) -+ stw r4,0x7ffc(r0) -+ stw r4,-0x8000(r0) -+ stw r4,0(r5) -+ stw r4,4(r5) -+ stw r4,0x7ffc(r5) -+ stw r4,-0x8000(r5) -+ stw r4,data_label(r0) -+ stw r4,big_external_data_label(r0) -+ stw r4,small_external_data_label(r0) -+ stw r4,big_external_common(r0) -+ stw r4,small_external_common(r0) -+ stw r4,big_local_common(r0) -+ stw r4,small_local_common(r0) -+ stw r4,data_label+4(r0) -+ stw r4,big_external_data_label+4(r0) -+ stw r4,small_external_data_label+4(r0) -+ stw r4,big_external_common+4(r0) -+ stw r4,small_external_common+4(r0) -+ stw r4,big_local_common+4(r0) -+ stw r4,small_local_common+4(r0) -+ stw r4,data_label-0x8000(r0) -+ stw r4,big_external_data_label-0x8000(r0) -+ stw r4,small_external_data_label-0x8000(r0) -+ stw r4,big_external_common-0x8000(r0) -+ stw r4,small_external_common-0x8000(r0) -+ stw r4,big_local_common-0x8000(r0) -+ stw r4,small_local_common-0x8000(r0) -+ stw r4,data_label+0x10000(r0) -+ stw r4,data_label(r5) -+ stw r4,big_external_data_label(r5) -+ stw r4,small_external_data_label(r5) -+ stw r4,big_external_common(r5) -+ stw r4,small_external_common(r5) -+ stw r4,big_local_common(r5) -+ stw r4,small_local_common(r5) -+ stw r4,data_label+4(r5) -+ stw r4,big_external_data_label+4(r5) -+ stw r4,small_external_data_label+4(r5) -+ stw r4,big_external_common+4(r5) -+ stw r4,small_external_common+4(r5) -+ stw r4,big_local_common+4(r5) -+ stw r4,small_local_common+4(r5) -+ stw r4,data_label-0x8000(r5) -+ stw r4,big_external_data_label-0x8000(r5) -+ stw r4,small_external_data_label-0x8000(r5) -+ stw r4,big_external_common-0x8000(r5) -+ stw r4,small_external_common-0x8000(r5) -+ stw r4,big_local_common-0x8000(r5) -+ stw r4,small_local_common-0x8000(r5) -+ -+ stwio r4,0(r0) -+ stwio r4,4(r0) -+ stwio r4,0x7ffc(r0) -+ stwio r4,-0x8000(r0) -+ stwio r4,0(r5) -+ stwio r4,4(r5) -+ stwio r4,0x7ffc(r5) -+ stwio r4,-0x8000(r5) -+ stwio r4,data_label(r0) -+ stwio r4,big_external_data_label(r0) -+ stwio r4,small_external_data_label(r0) -+ stwio r4,big_external_common(r0) -+ stwio r4,small_external_common(r0) -+ stwio r4,big_local_common(r0) -+ stwio r4,small_local_common(r0) -+ stwio r4,data_label+4(r0) -+ stwio r4,big_external_data_label+4(r0) -+ stwio r4,small_external_data_label+4(r0) -+ stwio r4,big_external_common+4(r0) -+ stwio r4,small_external_common+4(r0) -+ stwio r4,big_local_common+4(r0) -+ stwio r4,small_local_common+4(r0) -+ stwio r4,data_label-0x8000(r0) -+ stwio r4,big_external_data_label-0x8000(r0) -+ stwio r4,small_external_data_label-0x8000(r0) -+ stwio r4,big_external_common-0x8000(r0) -+ stwio r4,small_external_common-0x8000(r0) -+ stwio r4,big_local_common-0x8000(r0) -+ stwio r4,small_local_common-0x8000(r0) -+ stwio r4,data_label+0x10000(r0) -+ stwio r4,data_label(r5) -+ stwio r4,big_external_data_label(r5) -+ stwio r4,small_external_data_label(r5) -+ stwio r4,big_external_common(r5) -+ stwio r4,small_external_common(r5) -+ stwio r4,big_local_common(r5) -+ stwio r4,small_local_common(r5) -+ stwio r4,data_label+4(r5) -+ stwio r4,big_external_data_label+4(r5) -+ stwio r4,small_external_data_label+4(r5) -+ stwio r4,big_external_common+4(r5) -+ stwio r4,small_external_common+4(r5) -+ stwio r4,big_local_common+4(r5) -+ stwio r4,small_local_common+4(r5) -+ stwio r4,data_label-0x8000(r5) -+ stwio r4,big_external_data_label-0x8000(r5) -+ stwio r4,small_external_data_label-0x8000(r5) -+ stwio r4,big_external_common-0x8000(r5) -+ stwio r4,small_external_common-0x8000(r5) -+ stwio r4,big_local_common-0x8000(r5) -+ stwio r4,small_local_common-0x8000(r5) -diff --git a/gas/testsuite/gas/nios2/sub.d b/gas/testsuite/gas/nios2/sub.d -new file mode 100644 -index 0000000..69b0285 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sub.d -@@ -0,0 +1,10 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 sub -+ -+# Test the add instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> sub r4,r4,r4 -+ -diff --git a/gas/testsuite/gas/nios2/sub.s b/gas/testsuite/gas/nios2/sub.s -new file mode 100644 -index 0000000..34f00da ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sub.s -@@ -0,0 +1,4 @@ -+# Source file used to test the add and addi instructions. -+ -+foo: -+ sub r4,r4,r4 -diff --git a/gas/testsuite/gas/nios2/sync.d b/gas/testsuite/gas/nios2/sync.d -new file mode 100644 -index 0000000..f0949e2 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sync.d -@@ -0,0 +1,8 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 sync -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section \.text: -+0+0000 <foo> sync -+ -diff --git a/gas/testsuite/gas/nios2/sync.s b/gas/testsuite/gas/nios2/sync.s -new file mode 100644 -index 0000000..fe05d47 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/sync.s -@@ -0,0 +1,5 @@ -+# Source file used to test the sync instructions -+foo: -+ sync -+ -+ -diff --git a/gas/testsuite/gas/nios2/trap.d b/gas/testsuite/gas/nios2/trap.d -new file mode 100644 -index 0000000..003ff69 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/trap.d -@@ -0,0 +1,7 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 trap -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> trap -diff --git a/gas/testsuite/gas/nios2/trap.s b/gas/testsuite/gas/nios2/trap.s -new file mode 100644 -index 0000000..1eb3c7e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/trap.s -@@ -0,0 +1,3 @@ -+# Source file used to test the ret instructions -+foo: -+ trap -diff --git a/gas/testsuite/gas/nios2/tret.d b/gas/testsuite/gas/nios2/tret.d -new file mode 100644 -index 0000000..48e2b51 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/tret.d -@@ -0,0 +1,8 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 tret -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> eret -+ -diff --git a/gas/testsuite/gas/nios2/tret.s b/gas/testsuite/gas/nios2/tret.s -new file mode 100644 -index 0000000..42179f1 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/tret.s -@@ -0,0 +1,5 @@ -+# Source file used to test the ret instructions -+foo: -+ eret -+ -+ -diff --git a/gas/testsuite/gas/nios2/u16_symbol.s b/gas/testsuite/gas/nios2/u16_symbol.s -new file mode 100644 -index 0000000..518b4de ---- /dev/null -+++ b/gas/testsuite/gas/nios2/u16_symbol.s -@@ -0,0 +1,9 @@ -+.global some_sym -+.global min -+.global max -+ -+.set max, 0xffff -+.set min, 0 -+.set some_sym, 0x1000 -+ -+ -diff --git a/gas/testsuite/gas/nios2/warn_noat.l b/gas/testsuite/gas/nios2/warn_noat.l -new file mode 100644 -index 0000000..6bc5150 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/warn_noat.l -@@ -0,0 +1,5 @@ -+.*warn_noat.s: Assembler messages: -+.*warn_noat.s:2: Warning: Register at \(r1\) can sometimes be corrupted by assembler optimizations. -+Use .set noat to turn off those optimizations \(and this warning\). -+.*warn_noat.s:8: Warning: Register at \(r1\) can sometimes be corrupted by assembler optimizations. -+Use .set noat to turn off those optimizations \(and this warning\). -diff --git a/gas/testsuite/gas/nios2/warn_noat.s b/gas/testsuite/gas/nios2/warn_noat.s -new file mode 100644 -index 0000000..e99126e ---- /dev/null -+++ b/gas/testsuite/gas/nios2/warn_noat.s -@@ -0,0 +1,8 @@ -+.set noat, 2 # This should not cause warning for at to be turned off -+add at, r2, r2 -+.set noat # this should turn the warnings off -+add at, r2, r2 -+.set at, 3 # this should not turn the warnings on -+add at, r2, r2 -+.set at # this should turn the warnings on -+add at, r2, r2 -diff --git a/gas/testsuite/gas/nios2/warn_nobreak.l b/gas/testsuite/gas/nios2/warn_nobreak.l -new file mode 100644 -index 0000000..539813d ---- /dev/null -+++ b/gas/testsuite/gas/nios2/warn_nobreak.l -@@ -0,0 +1,9 @@ -+.*warn_nobreak.s: Assembler messages: -+.*warn_nobreak.s:2: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this -+code then use .set nobreak to turn off this warning. -+.*warn_nobreak.s:3: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this -+code then use .set nobreak to turn off this warning. -+.*warn_nobreak.s:11: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this -+code then use .set nobreak to turn off this warning. -+.*warn_nobreak.s:12: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this -+code then use .set nobreak to turn off this warning. -diff --git a/gas/testsuite/gas/nios2/warn_nobreak.s b/gas/testsuite/gas/nios2/warn_nobreak.s -new file mode 100644 -index 0000000..8e495c0 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/warn_nobreak.s -@@ -0,0 +1,12 @@ -+.set nobreak , 2 # This should not cause warning for ba, bt to be turned off -+add ba, r2, r2 -+add bt, r2, r2 -+.set nobreak # this should turn the warnings off -+add ba, r3, r4 -+add bt, r3, r4 -+.set break, 3 # this should not turn the warnings on -+add ba, r3, r4 -+add bt, r3, r4 -+.set break # this should turn the warnings on -+add ba, r3, r4 -+add bt, r3, r4 -diff --git a/gas/testsuite/gas/nios2/xor.d b/gas/testsuite/gas/nios2/xor.d -new file mode 100644 -index 0000000..de137dc ---- /dev/null -+++ b/gas/testsuite/gas/nios2/xor.d -@@ -0,0 +1,11 @@ -+#objdump: -dr --prefix-addresses -+#name: NIOS2 xor -+ -+# Test the nor instruction -+ -+.*: +file format elf32-littlenios2 -+ -+Disassembly of section .text: -+0+0000 <[^>]*> xor r6,r8,r10 -+0+0004 <[^>]*> xorhi r6,r7,65535 -+0+0008 <[^>]*> xori r6,r7,65535 -diff --git a/gas/testsuite/gas/nios2/xor.s b/gas/testsuite/gas/nios2/xor.s -new file mode 100644 -index 0000000..2c558f7 ---- /dev/null -+++ b/gas/testsuite/gas/nios2/xor.s -@@ -0,0 +1,7 @@ -+# Source file used to test the nor instruction -+ -+foo: -+ xor r6,r8,r10 -+ xorhi r6,r7,0xffff -+ xori r6,r7,0xffff -+ -diff --git a/gas/testsuite/nios2_as_xfail.lst b/gas/testsuite/nios2_as_xfail.lst -new file mode 100644 -index 0000000..27a4cd5 ---- /dev/null -+++ b/gas/testsuite/nios2_as_xfail.lst -@@ -0,0 +1,4 @@ -+FAIL: vtable inherit0 -+FAIL: vtable entry1 -+ -+ -diff --git a/include/bfdlink.h b/include/bfdlink.h -index cc2043e..ee821bf 100644 ---- a/include/bfdlink.h -+++ b/include/bfdlink.h -@@ -688,4 +688,14 @@ struct bfd_elf_version_tree - struct bfd_elf_version_expr *prev, const char *sym); - }; - -+/* NG - There seems to be no way of getting link_info from the linker into -+ * bfd so that functions which aren't passed it can use it, and I need -+ * it so that gprel relocations work properly when generating srecs. This isn't -+ * right, but it works, and for the amount of work...*/ -+#define bfd_set_link_info _bfd_set_link_info -+extern void _bfd_set_link_info (struct bfd_link_info *info); -+ -+#define bfd_set_force_make_executable _bfd_set_force_make_executable -+extern void _bfd_set_force_make_executable (bfd_boolean force); -+ - #endif -diff --git a/include/dis-asm.h b/include/dis-asm.h -index 3670c51..202c511 100644 ---- a/include/dis-asm.h -+++ b/include/dis-asm.h -@@ -247,6 +247,8 @@ extern int print_insn_sh64 (bfd_vma, disassemble_info *); - extern int print_insn_sh64x_media (bfd_vma, disassemble_info *); - extern int print_insn_frv (bfd_vma, disassemble_info *); - extern int print_insn_iq2000 (bfd_vma, disassemble_info *); -+extern int print_insn_big_nios2 (bfd_vma, disassemble_info *); -+extern int print_insn_little_nios2 (bfd_vma, disassemble_info *); - - extern disassembler_ftype arc_get_disassembler (void *); - extern disassembler_ftype cris_get_disassembler (bfd *); -diff --git a/include/elf/common.h b/include/elf/common.h -index bf233f6..8c758ca 100644 ---- a/include/elf/common.h -+++ b/include/elf/common.h -@@ -182,6 +182,8 @@ - #define EM_IP2K 101 /* Ubicom IP2022 micro controller */ - #define EM_MSP430 105 /* TI msp430 micro controller */ - -+#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ -+ - /* If it is necessary to assign new unofficial EM_* values, please pick large - random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision - with official or non-GNU unofficial values. -diff --git a/include/elf/nios2.h b/include/elf/nios2.h -new file mode 100644 -index 0000000..ef810c5 ---- /dev/null -+++ b/include/elf/nios2.h -@@ -0,0 +1,65 @@ -+/* Altera New Jersey ELF support for BFD -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+This file is part of BFD, the Binary File Descriptor library. -+ -+This program is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+ -+This program is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this program; if not, write to the Free Software -+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+/* This file holds definitions specific to the Altera New Jersey ELF ABI. Note -+ that most of this is not actually implemented by BFD. */ -+ -+#ifndef _ELF_NIOS2_H -+#define _ELF_NIOS2_H -+ -+#include "elf/reloc-macros.h" -+ -+/* the order of these numbers must match the order in -+ the elf_nios2_howto_table_rel table for the lookup -+ function to work properly */ -+ -+START_RELOC_NUMBERS (elf_nios2_reloc_type) -+ RELOC_NUMBER (R_NIOS2_NONE, 0) -+ RELOC_NUMBER (R_NIOS2_S16, 1) -+ RELOC_NUMBER (R_NIOS2_U16, 2) -+ RELOC_NUMBER (R_NIOS2_PCREL16, 3) -+ RELOC_NUMBER (R_NIOS2_CALL26, 4) -+ RELOC_NUMBER (R_NIOS2_IMM5, 5) -+ RELOC_NUMBER (R_NIOS2_CACHE_OPX, 6) -+ RELOC_NUMBER (R_NIOS2_IMM6, 7) -+ RELOC_NUMBER (R_NIOS2_IMM8, 8) -+ RELOC_NUMBER (R_NIOS2_HI16, 9) -+ RELOC_NUMBER (R_NIOS2_LO16, 10) -+ RELOC_NUMBER (R_NIOS2_HIADJ16, 11) -+ RELOC_NUMBER (R_NIOS2_BFD_RELOC_32, 12) -+ RELOC_NUMBER (R_NIOS2_BFD_RELOC_16, 13) -+ RELOC_NUMBER (R_NIOS2_BFD_RELOC_8, 14) -+ RELOC_NUMBER (R_NIOS2_GPREL, 15) -+ RELOC_NUMBER (R_NIOS2_GNU_VTINHERIT, 16) -+ RELOC_NUMBER (R_NIOS2_GNU_VTENTRY, 17) -+ RELOC_NUMBER (R_NIOS2_UJMP, 18) -+ RELOC_NUMBER (R_NIOS2_CJMP, 19) -+ RELOC_NUMBER (R_NIOS2_CALLR, 20) -+ RELOC_NUMBER (R_NIOS2_ALIGN, 21) -+ RELOC_NUMBER (R_NIOS2_ILLEGAL, 22) -+END_RELOC_NUMBERS (R_NIOS2_maxext) -+ -+/* Processor specific section flags */ -+ -+/* This is used to mark gp-relative sections */ -+#define SHF_NIOS2_GPREL 0x10000000 -+ -+#endif //_ELF_NIOS2_H -diff --git a/include/opcode/nios2-isa.h b/include/opcode/nios2-isa.h -new file mode 100644 -index 0000000..0023880 ---- /dev/null -+++ b/include/opcode/nios2-isa.h -@@ -0,0 +1,1860 @@ -+/* -+ * This file defines Nios II instruction set constants. -+ * To include it in assembly code (.S file), define ALT_ASM_SRC -+ * before including this file. -+ * -+ * This file is automatically generated by gen_isa.pl - do not edit -+ */ -+ -+#ifndef _NIOS2_ISA_H_ -+#define _NIOS2_ISA_H_ -+ -+/* OP instruction opcode values (index is OP field) */ -+#define NUM_OP_INSTS 64 -+ -+#ifndef ALT_ASM_SRC -+extern const char* op_names[NUM_OP_INSTS]; -+#endif /* ALT_ASM_SRC */ -+ -+/* OPX instruction opcode values (index is OPX field) */ -+#define NUM_OPX_INSTS 64 -+ -+#ifndef ALT_ASM_SRC -+extern const char* opx_names[NUM_OPX_INSTS]; -+#endif /* ALT_ASM_SRC */ -+ -+/* Constants for instruction fields and ISA */ -+#define CPU_RESET_EXC_ID 1 -+#define DIV_ERROR_EXC_ID 9 -+#define DTLB_MISS_EXC_ID 15 -+#define DTLB_PERM_EXC_ID 16 -+#define FAST_INTR_EXC_ID 3 -+#define HBREAK_EXC_ID 0 -+#define ITLB_MISS_EXC_ID 13 -+#define ITLB_PERM_EXC_ID 14 -+#define MISALIGNED_DATA_ADDR_EXC_ID 7 -+#define MISALIGNED_TARGET_PC_EXC_ID 8 -+#define NMI_EXC_ID 2 -+#define NORM_INTR_EXC_ID 4 -+#define SBREAK_EXC_ID 6 -+#define SLAVE_DATA_ACCESS_ERROR_EXC_ID 18 -+#define SLAVE_INST_ACCESS_ERROR_EXC_ID 17 -+#define SUPERVISOR_DATA_ADDR_EXC_ID 12 -+#define SUPERVISOR_INST_ADDR_EXC_ID 10 -+#define SUPERVISOR_INST_EXC_ID 11 -+#define TRAP_EXC_ID 5 -+#define AT_REGNUM 1 -+#define BRETADDR_REGNUM 30 -+#define BSTATUS_REG_LSB 2 -+#define BSTATUS_REG_MMU_LSB 0 -+#define BSTATUS_REG_MMU_MSB 2 -+#define BSTATUS_REG_MMU_SZ 3 -+#define BSTATUS_REG_MMU_MASK 0x7 -+#define BSTATUS_REG_NO_MMU_LSB 0 -+#define BSTATUS_REG_NO_MMU_MSB 0 -+#define BSTATUS_REG_NO_MMU_SZ 1 -+#define BSTATUS_REG_NO_MMU_MASK 0x1 -+#define BSTATUS_REG_REGNUM 2 -+#define BSTATUS_REG_SZ 3 -+#define BSTATUS_REG_MASK 0x7 -+#define BT_REGNUM 25 -+#define CACHE_MAX_BYTES 65536 -+#define CACHE_MAX_LINE_BYTES 32 -+#define CACHE_MIN_LINE_BYTES 4 -+#define COMPARE_OP_EQ 0x0 -+#define COMPARE_OP_GE 0x1 -+#define COMPARE_OP_LSB 3 -+#define COMPARE_OP_LT 0x2 -+#define COMPARE_OP_MSB 4 -+#define COMPARE_OP_NE 0x3 -+#define COMPARE_OP_SZ 2 -+#define COMPARE_OP_MASK 0x3 -+#define CPUID_REG_LSB 0 -+#define CPUID_REG_MSB 31 -+#define CPUID_REG_REGNUM 5 -+#define CPUID_REG_SZ 32 -+#define CPUID_REG_MASK 0xffffffff -+#define DATAPATH_LOG2_SZ 5 -+#define DATAPATH_LOG2_MASK 0x1f -+#define DATAPATH_LSB 0 -+#define DATAPATH_MSB 31 -+#define DATAPATH_SZ 32 -+#define DATAPATH_MASK 0xffffffff -+#define EMPTY_CRST_IW 127034 -+#define EMPTY_HBREAK_IW 4040762 -+#define EMPTY_INTR_IW 3926074 -+#define EMPTY_NOP_IW 100410 -+#define EMPTY_RET_IW 4160759866 -+#define ERETADDR_REGNUM 29 -+#define ESTATUS_REG_LSB 0 -+#define ESTATUS_REG_MMU_LSB 0 -+#define ESTATUS_REG_MMU_MSB 2 -+#define ESTATUS_REG_MMU_SZ 3 -+#define ESTATUS_REG_MMU_MASK 0x7 -+#define ESTATUS_REG_MSB 2 -+#define ESTATUS_REG_NO_MMU_LSB 0 -+#define ESTATUS_REG_NO_MMU_MSB 0 -+#define ESTATUS_REG_NO_MMU_SZ 1 -+#define ESTATUS_REG_NO_MMU_MASK 0x1 -+#define ESTATUS_REG_REGNUM 1 -+#define ESTATUS_REG_SZ 3 -+#define ESTATUS_REG_MASK 0x7 -+#define ET_REGNUM 24 -+#define EXCEPTION_REG_LSB 0 -+#define EXCEPTION_REG_MEA_LSB 0 -+#define EXCEPTION_REG_MEA_MSB 0 -+#define EXCEPTION_REG_MEA_SZ 1 -+#define EXCEPTION_REG_MEA_MASK 0x1 -+#define EXCEPTION_REG_MEE_LSB 1 -+#define EXCEPTION_REG_MEE_MSB 1 -+#define EXCEPTION_REG_MEE_SZ 1 -+#define EXCEPTION_REG_MEE_MASK 0x1 -+#define EXCEPTION_REG_MSB 1 -+#define EXCEPTION_REG_REGNUM 7 -+#define EXCEPTION_REG_SZ 2 -+#define EXCEPTION_REG_MASK 0x3 -+#define FP_REGNUM 28 -+#define FSTATUS_REG_REGNUM 11 -+#define GP_REGNUM 26 -+#define IENABLE_REG_LSB 0 -+#define IENABLE_REG_MSB 31 -+#define IENABLE_REG_REGNUM 3 -+#define IENABLE_REG_SZ 32 -+#define IENABLE_REG_MASK 0xffffffff -+#define IPENDING_REG_LSB 0 -+#define IPENDING_REG_MSB 31 -+#define IPENDING_REG_REGNUM 4 -+#define IPENDING_REG_SZ 32 -+#define IPENDING_REG_MASK 0xffffffff -+#define IW_A_LSB 27 -+#define IW_A_MSB 31 -+#define IW_A_SZ 5 -+#define IW_A_MASK 0x1f -+#define IW_B_LSB 22 -+#define IW_B_MSB 26 -+#define IW_B_SZ 5 -+#define IW_B_MASK 0x1f -+#define IW_C_LSB 17 -+#define IW_C_MSB 21 -+#define IW_C_SZ 5 -+#define IW_C_MASK 0x1f -+#define IW_CONTROL_REGNUM_BASE 0 -+#define IW_CONTROL_REGNUM_LSB 6 -+#define IW_CONTROL_REGNUM_MSB 9 -+#define IW_CONTROL_REGNUM_SZ 4 -+#define IW_CONTROL_REGNUM_MASK 0xf -+#define IW_CUSTOM_N_LSB 6 -+#define IW_CUSTOM_N_MSB 13 -+#define IW_CUSTOM_N_SZ 8 -+#define IW_CUSTOM_N_MASK 0xff -+#define IW_CUSTOM_READRA_LSB 16 -+#define IW_CUSTOM_READRA_MSB 16 -+#define IW_CUSTOM_READRA_SZ 1 -+#define IW_CUSTOM_READRA_MASK 0x1 -+#define IW_CUSTOM_READRB_LSB 15 -+#define IW_CUSTOM_READRB_MSB 15 -+#define IW_CUSTOM_READRB_SZ 1 -+#define IW_CUSTOM_READRB_MASK 0x1 -+#define IW_CUSTOM_WRITERC_LSB 14 -+#define IW_CUSTOM_WRITERC_MSB 14 -+#define IW_CUSTOM_WRITERC_SZ 1 -+#define IW_CUSTOM_WRITERC_MASK 0x1 -+#define IW_IMM16_LSB 6 -+#define IW_IMM16_MSB 21 -+#define IW_IMM16_SZ 16 -+#define IW_IMM16_MASK 0xffff -+#define IW_IMM26_LSB 6 -+#define IW_IMM26_MSB 31 -+#define IW_IMM26_SZ 26 -+#define IW_IMM26_MASK 0x3ffffff -+#define IW_MEMSZ_BYTE 0x0 -+#define IW_MEMSZ_HWORD 0x1 -+#define IW_MEMSZ_LSB 3 -+#define IW_MEMSZ_MSB 4 -+#define IW_MEMSZ_SZ 2 -+#define IW_MEMSZ_MASK 0x3 -+#define IW_MEMSZ_WORD 0x2 -+#define IW_MEMSZ_WORD_MSB 0x1 -+#define IW_OP_LSB 0 -+#define IW_OP_MSB 5 -+#define IW_OP_SZ 6 -+#define IW_OP_MASK 0x3f -+#define IW_OPX_LSB 11 -+#define IW_OPX_MSB 16 -+#define IW_OPX_SZ 6 -+#define IW_OPX_MASK 0x3f -+#define IW_SHIFT_IMM5_LSB 6 -+#define IW_SHIFT_IMM5_MSB 10 -+#define IW_SHIFT_IMM5_SZ 5 -+#define IW_SHIFT_IMM5_MASK 0x1f -+#define IW_SZ 32 -+#define IW_MASK 0xffffffff -+#define IW_TRAP_BREAK_IMM5_LSB 6 -+#define IW_TRAP_BREAK_IMM5_MSB 10 -+#define IW_TRAP_BREAK_IMM5_SZ 5 -+#define IW_TRAP_BREAK_IMM5_MASK 0x1f -+#define JMP_CALLR_VS_RET_IS_RET 0 -+#define JMP_CALLR_VS_RET_OPX_BIT 3 -+#define LOGIC_OP_AND 0x1 -+#define LOGIC_OP_LSB 3 -+#define LOGIC_OP_MSB 4 -+#define LOGIC_OP_NOR 0x0 -+#define LOGIC_OP_OR 0x2 -+#define LOGIC_OP_SZ 2 -+#define LOGIC_OP_MASK 0x3 -+#define LOGIC_OP_XOR 0x3 -+#define MMU_ADDR_BYPASS_TLB 0x3 -+#define MMU_ADDR_BYPASS_TLB_CACHEABLE 0x0 -+#define MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB 29 -+#define MMU_ADDR_BYPASS_TLB_CACHEABLE_MSB 29 -+#define MMU_ADDR_BYPASS_TLB_CACHEABLE_SZ 1 -+#define MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK 0x1 -+#define MMU_ADDR_BYPASS_TLB_LSB 30 -+#define MMU_ADDR_BYPASS_TLB_MSB 31 -+#define MMU_ADDR_BYPASS_TLB_PADDR_LSB 0 -+#define MMU_ADDR_BYPASS_TLB_PADDR_MSB 28 -+#define MMU_ADDR_BYPASS_TLB_PADDR_SZ 29 -+#define MMU_ADDR_BYPASS_TLB_PADDR_MASK 0x1fffffff -+#define MMU_ADDR_BYPASS_TLB_SZ 2 -+#define MMU_ADDR_BYPASS_TLB_MASK 0x3 -+#define MMU_ADDR_IO_REGION 0x7 -+#define MMU_ADDR_IO_REGION_LSB 29 -+#define MMU_ADDR_IO_REGION_MSB 31 -+#define MMU_ADDR_IO_REGION_SZ 3 -+#define MMU_ADDR_IO_REGION_MASK 0x7 -+#define MMU_ADDR_IO_REGION_VPN 0xe0000 -+#define MMU_ADDR_KERNEL_MMU_REGION 0x2 -+#define MMU_ADDR_KERNEL_MMU_REGION_LSB 30 -+#define MMU_ADDR_KERNEL_MMU_REGION_MSB 31 -+#define MMU_ADDR_KERNEL_MMU_REGION_SZ 2 -+#define MMU_ADDR_KERNEL_MMU_REGION_MASK 0x3 -+#define MMU_ADDR_KERNEL_REGION 0x6 -+#define MMU_ADDR_KERNEL_REGION_INT 6 -+#define MMU_ADDR_KERNEL_REGION_LSB 29 -+#define MMU_ADDR_KERNEL_REGION_MSB 31 -+#define MMU_ADDR_KERNEL_REGION_SZ 3 -+#define MMU_ADDR_KERNEL_REGION_MASK 0x7 -+#define MMU_ADDR_PAGE_OFFSET_LSB 0 -+#define MMU_ADDR_PAGE_OFFSET_MSB 11 -+#define MMU_ADDR_PAGE_OFFSET_SZ 12 -+#define MMU_ADDR_PAGE_OFFSET_MASK 0xfff -+#define MMU_ADDR_PFN_LSB 12 -+#define MMU_ADDR_PFN_MSB 31 -+#define MMU_ADDR_PFN_SZ 20 -+#define MMU_ADDR_PFN_MASK 0xfffff -+#define MMU_ADDR_USER_REGION 0x0 -+#define MMU_ADDR_USER_REGION_LSB 31 -+#define MMU_ADDR_USER_REGION_MSB 31 -+#define MMU_ADDR_USER_REGION_SZ 1 -+#define MMU_ADDR_USER_REGION_MASK 0x1 -+#define MMU_ADDR_VPN_LSB 12 -+#define MMU_ADDR_VPN_MSB 31 -+#define MMU_ADDR_VPN_SZ 20 -+#define MMU_ADDR_VPN_MASK 0xfffff -+#define PTEADDR_REG_LSB 0 -+#define PTEADDR_REG_MSB 31 -+#define PTEADDR_REG_PTBASE_LSB 22 -+#define PTEADDR_REG_PTBASE_MSB 31 -+#define PTEADDR_REG_PTBASE_SZ 10 -+#define PTEADDR_REG_PTBASE_MASK 0x3ff -+#define PTEADDR_REG_REGNUM 8 -+#define PTEADDR_REG_RSV_LSB 0 -+#define PTEADDR_REG_RSV_MSB 1 -+#define PTEADDR_REG_RSV_SZ 2 -+#define PTEADDR_REG_RSV_MASK 0x3 -+#define PTEADDR_REG_SZ 32 -+#define PTEADDR_REG_MASK 0xffffffff -+#define PTEADDR_REG_VPN_LSB 2 -+#define PTEADDR_REG_VPN_MSB 21 -+#define PTEADDR_REG_VPN_SZ 20 -+#define PTEADDR_REG_VPN_MASK 0xfffff -+#define REGNUM_SZ 5 -+#define REGNUM_MASK 0x1f -+#define RETADDR_REGNUM 31 -+#define RF_ADDR_SZ 5 -+#define RF_ADDR_MASK 0x1f -+#define RF_NUM_REG 32 -+#define SIM_REG_LSB 0 -+#define SIM_REG_MSB 3 -+#define SIM_REG_PERF_CNT_CLR_LSB 2 -+#define SIM_REG_PERF_CNT_CLR_MSB 2 -+#define SIM_REG_PERF_CNT_CLR_SZ 1 -+#define SIM_REG_PERF_CNT_CLR_MASK 0x1 -+#define SIM_REG_PERF_CNT_EN_LSB 1 -+#define SIM_REG_PERF_CNT_EN_MSB 1 -+#define SIM_REG_PERF_CNT_EN_SZ 1 -+#define SIM_REG_PERF_CNT_EN_MASK 0x1 -+#define SIM_REG_REGNUM 6 -+#define SIM_REG_SHOW_DTLB_LSB 4 -+#define SIM_REG_SHOW_DTLB_MSB 4 -+#define SIM_REG_SHOW_DTLB_SZ 1 -+#define SIM_REG_SHOW_DTLB_MASK 0x1 -+#define SIM_REG_SHOW_ITLB_LSB 3 -+#define SIM_REG_SHOW_ITLB_MSB 3 -+#define SIM_REG_SHOW_ITLB_SZ 1 -+#define SIM_REG_SHOW_ITLB_MASK 0x1 -+#define SIM_REG_SHOW_MMU_REGS_LSB 5 -+#define SIM_REG_SHOW_MMU_REGS_MSB 5 -+#define SIM_REG_SHOW_MMU_REGS_SZ 1 -+#define SIM_REG_SHOW_MMU_REGS_MASK 0x1 -+#define SIM_REG_STOP_LSB 0 -+#define SIM_REG_STOP_MSB 0 -+#define SIM_REG_STOP_SZ 1 -+#define SIM_REG_STOP_MASK 0x1 -+#define SIM_REG_SZ 4 -+#define SIM_REG_MASK 0xf -+#define SP_REGNUM 27 -+#define STATUS_REG_EH_LSB 2 -+#define STATUS_REG_EH_MSB 2 -+#define STATUS_REG_EH_SZ 1 -+#define STATUS_REG_EH_MASK 0x1 -+#define STATUS_REG_LSB 0 -+#define STATUS_REG_MMU_LSB 0 -+#define STATUS_REG_MMU_MSB 2 -+#define STATUS_REG_MMU_RSV_LSB 3 -+#define STATUS_REG_MMU_RSV_MSB 31 -+#define STATUS_REG_MMU_RSV_SZ 29 -+#define STATUS_REG_MMU_RSV_MASK 0x1fffffff -+#define STATUS_REG_MMU_SZ 3 -+#define STATUS_REG_MMU_MASK 0x7 -+#define STATUS_REG_MSB 2 -+#define STATUS_REG_NO_MMU_LSB 0 -+#define STATUS_REG_NO_MMU_MSB 0 -+#define STATUS_REG_NO_MMU_RSV_LSB 1 -+#define STATUS_REG_NO_MMU_RSV_MSB 31 -+#define STATUS_REG_NO_MMU_RSV_SZ 31 -+#define STATUS_REG_NO_MMU_RSV_MASK 0x7fffffff -+#define STATUS_REG_NO_MMU_SZ 1 -+#define STATUS_REG_NO_MMU_MASK 0x1 -+#define STATUS_REG_PIE_LSB 0 -+#define STATUS_REG_PIE_MSB 0 -+#define STATUS_REG_PIE_SZ 1 -+#define STATUS_REG_PIE_MASK 0x1 -+#define STATUS_REG_REGNUM 0 -+#define STATUS_REG_SZ 3 -+#define STATUS_REG_MASK 0x7 -+#define STATUS_REG_U_LSB 1 -+#define STATUS_REG_U_MSB 1 -+#define STATUS_REG_U_SZ 1 -+#define STATUS_REG_U_MASK 0x1 -+#define TLB_MAX_ENTRIES 1024 -+#define TLB_MAX_LINES 512 -+#define TLB_MAX_PID_SZ 14 -+#define TLB_MAX_PID_MASK 0x3fff -+#define TLB_MAX_PTR_SZ 10 -+#define TLB_MAX_PTR_MASK 0x3ff -+#define TLB_MAX_WAYS 8 -+#define TLB_MIN_PID_SZ 1 -+#define TLB_MIN_PID_MASK 0x1 -+#define TLB_MIN_PTR_SZ 7 -+#define TLB_MIN_PTR_MASK 0x7f -+#define TLB_MIN_WAYS 2 -+#define TLBACC_REG_C_LSB 24 -+#define TLBACC_REG_C_MSB 24 -+#define TLBACC_REG_C_SZ 1 -+#define TLBACC_REG_C_MASK 0x1 -+#define TLBACC_REG_G_LSB 20 -+#define TLBACC_REG_G_MSB 20 -+#define TLBACC_REG_G_SZ 1 -+#define TLBACC_REG_G_MASK 0x1 -+#define TLBACC_REG_IG_LSB 25 -+#define TLBACC_REG_IG_MSB 31 -+#define TLBACC_REG_IG_SZ 7 -+#define TLBACC_REG_IG_MASK 0x7f -+#define TLBACC_REG_LSB 0 -+#define TLBACC_REG_MSB 24 -+#define TLBACC_REG_PFN_LSB 0 -+#define TLBACC_REG_PFN_MSB 19 -+#define TLBACC_REG_PFN_SZ 20 -+#define TLBACC_REG_PFN_MASK 0xfffff -+#define TLBACC_REG_R_LSB 23 -+#define TLBACC_REG_R_MSB 23 -+#define TLBACC_REG_R_SZ 1 -+#define TLBACC_REG_R_MASK 0x1 -+#define TLBACC_REG_REGNUM 9 -+#define TLBACC_REG_SZ 25 -+#define TLBACC_REG_MASK 0x1ffffff -+#define TLBACC_REG_W_LSB 22 -+#define TLBACC_REG_W_MSB 22 -+#define TLBACC_REG_W_SZ 1 -+#define TLBACC_REG_W_MASK 0x1 -+#define TLBACC_REG_X_LSB 21 -+#define TLBACC_REG_X_MSB 21 -+#define TLBACC_REG_X_SZ 1 -+#define TLBACC_REG_X_MASK 0x1 -+#define TLBMISC_REG_BAD_LSB 2 -+#define TLBMISC_REG_BAD_MSB 2 -+#define TLBMISC_REG_BAD_SZ 1 -+#define TLBMISC_REG_BAD_MASK 0x1 -+#define TLBMISC_REG_D_LSB 0 -+#define TLBMISC_REG_D_MSB 0 -+#define TLBMISC_REG_D_SZ 1 -+#define TLBMISC_REG_D_MASK 0x1 -+#define TLBMISC_REG_DBL_LSB 3 -+#define TLBMISC_REG_DBL_MSB 3 -+#define TLBMISC_REG_DBL_SZ 1 -+#define TLBMISC_REG_DBL_MASK 0x1 -+#define TLBMISC_REG_LSB 0 -+#define TLBMISC_REG_MSB 23 -+#define TLBMISC_REG_PERM_LSB 1 -+#define TLBMISC_REG_PERM_MSB 1 -+#define TLBMISC_REG_PERM_SZ 1 -+#define TLBMISC_REG_PERM_MASK 0x1 -+#define TLBMISC_REG_PID_LSB 4 -+#define TLBMISC_REG_PID_MSB 17 -+#define TLBMISC_REG_PID_SZ 14 -+#define TLBMISC_REG_PID_MASK 0x3fff -+#define TLBMISC_REG_RD_LSB 24 -+#define TLBMISC_REG_RD_MSB 24 -+#define TLBMISC_REG_RD_SZ 1 -+#define TLBMISC_REG_RD_MASK 0x1 -+#define TLBMISC_REG_REGNUM 10 -+#define TLBMISC_REG_RSV0_LSB 18 -+#define TLBMISC_REG_RSV0_MSB 19 -+#define TLBMISC_REG_RSV0_SZ 2 -+#define TLBMISC_REG_RSV0_MASK 0x3 -+#define TLBMISC_REG_RSV1_LSB 25 -+#define TLBMISC_REG_RSV1_MSB 31 -+#define TLBMISC_REG_RSV1_SZ 7 -+#define TLBMISC_REG_RSV1_MASK 0x7f -+#define TLBMISC_REG_SZ 24 -+#define TLBMISC_REG_MASK 0xffffff -+#define TLBMISC_REG_WAY_LSB 20 -+#define TLBMISC_REG_WAY_MSB 22 -+#define TLBMISC_REG_WAY_SZ 3 -+#define TLBMISC_REG_WAY_MASK 0x7 -+#define TLBMISC_REG_WE_LSB 23 -+#define TLBMISC_REG_WE_MSB 23 -+#define TLBMISC_REG_WE_SZ 1 -+#define TLBMISC_REG_WE_MASK 0x1 -+ -+/* Macros to extract instruction fields */ -+#define GET_IW_A(Iw) \ -+ (((Iw) >> IW_A_LSB) & IW_A_MASK) -+#define SET_IW_A(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_A_MASK << IW_A_LSB))) | \ -+ (((Val) & IW_A_MASK) << IW_A_LSB)) -+#define GET_IW_B(Iw) \ -+ (((Iw) >> IW_B_LSB) & IW_B_MASK) -+#define SET_IW_B(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_B_MASK << IW_B_LSB))) | \ -+ (((Val) & IW_B_MASK) << IW_B_LSB)) -+#define GET_IW_C(Iw) \ -+ (((Iw) >> IW_C_LSB) & IW_C_MASK) -+#define SET_IW_C(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_C_MASK << IW_C_LSB))) | \ -+ (((Val) & IW_C_MASK) << IW_C_LSB)) -+#define GET_IW_CONTROL_REGNUM(Iw) \ -+ (((Iw) >> IW_CONTROL_REGNUM_LSB) & IW_CONTROL_REGNUM_MASK) -+#define SET_IW_CONTROL_REGNUM(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_CONTROL_REGNUM_MASK << IW_CONTROL_REGNUM_LSB))) | \ -+ (((Val) & IW_CONTROL_REGNUM_MASK) << IW_CONTROL_REGNUM_LSB)) -+#define GET_IW_CUSTOM_N(Iw) \ -+ (((Iw) >> IW_CUSTOM_N_LSB) & IW_CUSTOM_N_MASK) -+#define SET_IW_CUSTOM_N(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_CUSTOM_N_MASK << IW_CUSTOM_N_LSB))) | \ -+ (((Val) & IW_CUSTOM_N_MASK) << IW_CUSTOM_N_LSB)) -+#define GET_IW_CUSTOM_READRA(Iw) \ -+ (((Iw) >> IW_CUSTOM_READRA_LSB) & IW_CUSTOM_READRA_MASK) -+#define SET_IW_CUSTOM_READRA(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_CUSTOM_READRA_MASK << IW_CUSTOM_READRA_LSB))) | \ -+ (((Val) & IW_CUSTOM_READRA_MASK) << IW_CUSTOM_READRA_LSB)) -+#define GET_IW_CUSTOM_READRB(Iw) \ -+ (((Iw) >> IW_CUSTOM_READRB_LSB) & IW_CUSTOM_READRB_MASK) -+#define SET_IW_CUSTOM_READRB(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_CUSTOM_READRB_MASK << IW_CUSTOM_READRB_LSB))) | \ -+ (((Val) & IW_CUSTOM_READRB_MASK) << IW_CUSTOM_READRB_LSB)) -+#define GET_IW_CUSTOM_WRITERC(Iw) \ -+ (((Iw) >> IW_CUSTOM_WRITERC_LSB) & IW_CUSTOM_WRITERC_MASK) -+#define SET_IW_CUSTOM_WRITERC(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_CUSTOM_WRITERC_MASK << IW_CUSTOM_WRITERC_LSB))) | \ -+ (((Val) & IW_CUSTOM_WRITERC_MASK) << IW_CUSTOM_WRITERC_LSB)) -+#define GET_IW_IMM16(Iw) \ -+ (((Iw) >> IW_IMM16_LSB) & IW_IMM16_MASK) -+#define SET_IW_IMM16(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_IMM16_MASK << IW_IMM16_LSB))) | \ -+ (((Val) & IW_IMM16_MASK) << IW_IMM16_LSB)) -+#define GET_IW_IMM26(Iw) \ -+ (((Iw) >> IW_IMM26_LSB) & IW_IMM26_MASK) -+#define SET_IW_IMM26(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_IMM26_MASK << IW_IMM26_LSB))) | \ -+ (((Val) & IW_IMM26_MASK) << IW_IMM26_LSB)) -+#define GET_IW_MEMSZ(Iw) \ -+ (((Iw) >> IW_MEMSZ_LSB) & IW_MEMSZ_MASK) -+#define SET_IW_MEMSZ(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_MEMSZ_MASK << IW_MEMSZ_LSB))) | \ -+ (((Val) & IW_MEMSZ_MASK) << IW_MEMSZ_LSB)) -+#define GET_IW_OP(Iw) \ -+ (((Iw) >> IW_OP_LSB) & IW_OP_MASK) -+#define SET_IW_OP(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_OP_MASK << IW_OP_LSB))) | \ -+ (((Val) & IW_OP_MASK) << IW_OP_LSB)) -+#define GET_IW_OPX(Iw) \ -+ (((Iw) >> IW_OPX_LSB) & IW_OPX_MASK) -+#define SET_IW_OPX(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_OPX_MASK << IW_OPX_LSB))) | \ -+ (((Val) & IW_OPX_MASK) << IW_OPX_LSB)) -+#define GET_IW_SHIFT_IMM5(Iw) \ -+ (((Iw) >> IW_SHIFT_IMM5_LSB) & IW_SHIFT_IMM5_MASK) -+#define SET_IW_SHIFT_IMM5(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB))) | \ -+ (((Val) & IW_SHIFT_IMM5_MASK) << IW_SHIFT_IMM5_LSB)) -+#define GET_IW_TRAP_BREAK_IMM5(Iw) \ -+ (((Iw) >> IW_TRAP_BREAK_IMM5_LSB) & IW_TRAP_BREAK_IMM5_MASK) -+#define SET_IW_TRAP_BREAK_IMM5(Iw, Val) \ -+ Iw = (((Iw) & (~(IW_TRAP_BREAK_IMM5_MASK << IW_TRAP_BREAK_IMM5_LSB))) | \ -+ (((Val) & IW_TRAP_BREAK_IMM5_MASK) << IW_TRAP_BREAK_IMM5_LSB)) -+ -+/* Macros to extract control register fields */ -+#define GET_BSTATUS_REG_MMU(Reg) \ -+ (((Reg) >> BSTATUS_REG_MMU_LSB) & BSTATUS_REG_MMU_MASK) -+#define SET_BSTATUS_REG_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(BSTATUS_REG_MMU_MASK << BSTATUS_REG_MMU_LSB))) | \ -+ (((Val) & BSTATUS_REG_MMU_MASK) << BSTATUS_REG_MMU_LSB)) -+#define GET_BSTATUS_REG_NO_MMU(Reg) \ -+ (((Reg) >> BSTATUS_REG_NO_MMU_LSB) & BSTATUS_REG_NO_MMU_MASK) -+#define SET_BSTATUS_REG_NO_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(BSTATUS_REG_NO_MMU_MASK << BSTATUS_REG_NO_MMU_LSB))) | \ -+ (((Val) & BSTATUS_REG_NO_MMU_MASK) << BSTATUS_REG_NO_MMU_LSB)) -+#define GET_ESTATUS_REG_MMU(Reg) \ -+ (((Reg) >> ESTATUS_REG_MMU_LSB) & ESTATUS_REG_MMU_MASK) -+#define SET_ESTATUS_REG_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(ESTATUS_REG_MMU_MASK << ESTATUS_REG_MMU_LSB))) | \ -+ (((Val) & ESTATUS_REG_MMU_MASK) << ESTATUS_REG_MMU_LSB)) -+#define GET_ESTATUS_REG_NO_MMU(Reg) \ -+ (((Reg) >> ESTATUS_REG_NO_MMU_LSB) & ESTATUS_REG_NO_MMU_MASK) -+#define SET_ESTATUS_REG_NO_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(ESTATUS_REG_NO_MMU_MASK << ESTATUS_REG_NO_MMU_LSB))) | \ -+ (((Val) & ESTATUS_REG_NO_MMU_MASK) << ESTATUS_REG_NO_MMU_LSB)) -+#define GET_EXCEPTION_REG_MEA(Reg) \ -+ (((Reg) >> EXCEPTION_REG_MEA_LSB) & EXCEPTION_REG_MEA_MASK) -+#define SET_EXCEPTION_REG_MEA(Reg, Val) \ -+ Reg = (((Reg) & (~(EXCEPTION_REG_MEA_MASK << EXCEPTION_REG_MEA_LSB))) | \ -+ (((Val) & EXCEPTION_REG_MEA_MASK) << EXCEPTION_REG_MEA_LSB)) -+#define GET_EXCEPTION_REG_MEE(Reg) \ -+ (((Reg) >> EXCEPTION_REG_MEE_LSB) & EXCEPTION_REG_MEE_MASK) -+#define SET_EXCEPTION_REG_MEE(Reg, Val) \ -+ Reg = (((Reg) & (~(EXCEPTION_REG_MEE_MASK << EXCEPTION_REG_MEE_LSB))) | \ -+ (((Val) & EXCEPTION_REG_MEE_MASK) << EXCEPTION_REG_MEE_LSB)) -+#define GET_PTEADDR_REG_PTBASE(Reg) \ -+ (((Reg) >> PTEADDR_REG_PTBASE_LSB) & PTEADDR_REG_PTBASE_MASK) -+#define SET_PTEADDR_REG_PTBASE(Reg, Val) \ -+ Reg = (((Reg) & (~(PTEADDR_REG_PTBASE_MASK << PTEADDR_REG_PTBASE_LSB))) | \ -+ (((Val) & PTEADDR_REG_PTBASE_MASK) << PTEADDR_REG_PTBASE_LSB)) -+#define GET_PTEADDR_REG_RSV(Reg) \ -+ (((Reg) >> PTEADDR_REG_RSV_LSB) & PTEADDR_REG_RSV_MASK) -+#define SET_PTEADDR_REG_RSV(Reg, Val) \ -+ Reg = (((Reg) & (~(PTEADDR_REG_RSV_MASK << PTEADDR_REG_RSV_LSB))) | \ -+ (((Val) & PTEADDR_REG_RSV_MASK) << PTEADDR_REG_RSV_LSB)) -+#define GET_PTEADDR_REG_VPN(Reg) \ -+ (((Reg) >> PTEADDR_REG_VPN_LSB) & PTEADDR_REG_VPN_MASK) -+#define SET_PTEADDR_REG_VPN(Reg, Val) \ -+ Reg = (((Reg) & (~(PTEADDR_REG_VPN_MASK << PTEADDR_REG_VPN_LSB))) | \ -+ (((Val) & PTEADDR_REG_VPN_MASK) << PTEADDR_REG_VPN_LSB)) -+#define GET_SIM_REG_PERF_CNT_CLR(Reg) \ -+ (((Reg) >> SIM_REG_PERF_CNT_CLR_LSB) & SIM_REG_PERF_CNT_CLR_MASK) -+#define SET_SIM_REG_PERF_CNT_CLR(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_PERF_CNT_CLR_MASK << SIM_REG_PERF_CNT_CLR_LSB))) | \ -+ (((Val) & SIM_REG_PERF_CNT_CLR_MASK) << SIM_REG_PERF_CNT_CLR_LSB)) -+#define GET_SIM_REG_PERF_CNT_EN(Reg) \ -+ (((Reg) >> SIM_REG_PERF_CNT_EN_LSB) & SIM_REG_PERF_CNT_EN_MASK) -+#define SET_SIM_REG_PERF_CNT_EN(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_PERF_CNT_EN_MASK << SIM_REG_PERF_CNT_EN_LSB))) | \ -+ (((Val) & SIM_REG_PERF_CNT_EN_MASK) << SIM_REG_PERF_CNT_EN_LSB)) -+#define GET_SIM_REG_SHOW_DTLB(Reg) \ -+ (((Reg) >> SIM_REG_SHOW_DTLB_LSB) & SIM_REG_SHOW_DTLB_MASK) -+#define SET_SIM_REG_SHOW_DTLB(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_SHOW_DTLB_MASK << SIM_REG_SHOW_DTLB_LSB))) | \ -+ (((Val) & SIM_REG_SHOW_DTLB_MASK) << SIM_REG_SHOW_DTLB_LSB)) -+#define GET_SIM_REG_SHOW_ITLB(Reg) \ -+ (((Reg) >> SIM_REG_SHOW_ITLB_LSB) & SIM_REG_SHOW_ITLB_MASK) -+#define SET_SIM_REG_SHOW_ITLB(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_SHOW_ITLB_MASK << SIM_REG_SHOW_ITLB_LSB))) | \ -+ (((Val) & SIM_REG_SHOW_ITLB_MASK) << SIM_REG_SHOW_ITLB_LSB)) -+#define GET_SIM_REG_SHOW_MMU_REGS(Reg) \ -+ (((Reg) >> SIM_REG_SHOW_MMU_REGS_LSB) & SIM_REG_SHOW_MMU_REGS_MASK) -+#define SET_SIM_REG_SHOW_MMU_REGS(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_SHOW_MMU_REGS_MASK << SIM_REG_SHOW_MMU_REGS_LSB))) | \ -+ (((Val) & SIM_REG_SHOW_MMU_REGS_MASK) << SIM_REG_SHOW_MMU_REGS_LSB)) -+#define GET_SIM_REG_STOP(Reg) \ -+ (((Reg) >> SIM_REG_STOP_LSB) & SIM_REG_STOP_MASK) -+#define SET_SIM_REG_STOP(Reg, Val) \ -+ Reg = (((Reg) & (~(SIM_REG_STOP_MASK << SIM_REG_STOP_LSB))) | \ -+ (((Val) & SIM_REG_STOP_MASK) << SIM_REG_STOP_LSB)) -+#define GET_STATUS_REG_EH(Reg) \ -+ (((Reg) >> STATUS_REG_EH_LSB) & STATUS_REG_EH_MASK) -+#define SET_STATUS_REG_EH(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_EH_MASK << STATUS_REG_EH_LSB))) | \ -+ (((Val) & STATUS_REG_EH_MASK) << STATUS_REG_EH_LSB)) -+#define GET_STATUS_REG_MMU(Reg) \ -+ (((Reg) >> STATUS_REG_MMU_LSB) & STATUS_REG_MMU_MASK) -+#define SET_STATUS_REG_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_MMU_MASK << STATUS_REG_MMU_LSB))) | \ -+ (((Val) & STATUS_REG_MMU_MASK) << STATUS_REG_MMU_LSB)) -+#define GET_STATUS_REG_MMU_RSV(Reg) \ -+ (((Reg) >> STATUS_REG_MMU_RSV_LSB) & STATUS_REG_MMU_RSV_MASK) -+#define SET_STATUS_REG_MMU_RSV(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_MMU_RSV_MASK << STATUS_REG_MMU_RSV_LSB))) | \ -+ (((Val) & STATUS_REG_MMU_RSV_MASK) << STATUS_REG_MMU_RSV_LSB)) -+#define GET_STATUS_REG_NO_MMU(Reg) \ -+ (((Reg) >> STATUS_REG_NO_MMU_LSB) & STATUS_REG_NO_MMU_MASK) -+#define SET_STATUS_REG_NO_MMU(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_NO_MMU_MASK << STATUS_REG_NO_MMU_LSB))) | \ -+ (((Val) & STATUS_REG_NO_MMU_MASK) << STATUS_REG_NO_MMU_LSB)) -+#define GET_STATUS_REG_NO_MMU_RSV(Reg) \ -+ (((Reg) >> STATUS_REG_NO_MMU_RSV_LSB) & STATUS_REG_NO_MMU_RSV_MASK) -+#define SET_STATUS_REG_NO_MMU_RSV(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_NO_MMU_RSV_MASK << STATUS_REG_NO_MMU_RSV_LSB))) | \ -+ (((Val) & STATUS_REG_NO_MMU_RSV_MASK) << STATUS_REG_NO_MMU_RSV_LSB)) -+#define GET_STATUS_REG_PIE(Reg) \ -+ (((Reg) >> STATUS_REG_PIE_LSB) & STATUS_REG_PIE_MASK) -+#define SET_STATUS_REG_PIE(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_PIE_MASK << STATUS_REG_PIE_LSB))) | \ -+ (((Val) & STATUS_REG_PIE_MASK) << STATUS_REG_PIE_LSB)) -+#define GET_STATUS_REG_U(Reg) \ -+ (((Reg) >> STATUS_REG_U_LSB) & STATUS_REG_U_MASK) -+#define SET_STATUS_REG_U(Reg, Val) \ -+ Reg = (((Reg) & (~(STATUS_REG_U_MASK << STATUS_REG_U_LSB))) | \ -+ (((Val) & STATUS_REG_U_MASK) << STATUS_REG_U_LSB)) -+#define GET_TLBACC_REG_C(Reg) \ -+ (((Reg) >> TLBACC_REG_C_LSB) & TLBACC_REG_C_MASK) -+#define SET_TLBACC_REG_C(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_C_MASK << TLBACC_REG_C_LSB))) | \ -+ (((Val) & TLBACC_REG_C_MASK) << TLBACC_REG_C_LSB)) -+#define GET_TLBACC_REG_G(Reg) \ -+ (((Reg) >> TLBACC_REG_G_LSB) & TLBACC_REG_G_MASK) -+#define SET_TLBACC_REG_G(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_G_MASK << TLBACC_REG_G_LSB))) | \ -+ (((Val) & TLBACC_REG_G_MASK) << TLBACC_REG_G_LSB)) -+#define GET_TLBACC_REG_IG(Reg) \ -+ (((Reg) >> TLBACC_REG_IG_LSB) & TLBACC_REG_IG_MASK) -+#define SET_TLBACC_REG_IG(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_IG_MASK << TLBACC_REG_IG_LSB))) | \ -+ (((Val) & TLBACC_REG_IG_MASK) << TLBACC_REG_IG_LSB)) -+#define GET_TLBACC_REG_PFN(Reg) \ -+ (((Reg) >> TLBACC_REG_PFN_LSB) & TLBACC_REG_PFN_MASK) -+#define SET_TLBACC_REG_PFN(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_PFN_MASK << TLBACC_REG_PFN_LSB))) | \ -+ (((Val) & TLBACC_REG_PFN_MASK) << TLBACC_REG_PFN_LSB)) -+#define GET_TLBACC_REG_R(Reg) \ -+ (((Reg) >> TLBACC_REG_R_LSB) & TLBACC_REG_R_MASK) -+#define SET_TLBACC_REG_R(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_R_MASK << TLBACC_REG_R_LSB))) | \ -+ (((Val) & TLBACC_REG_R_MASK) << TLBACC_REG_R_LSB)) -+#define GET_TLBACC_REG_W(Reg) \ -+ (((Reg) >> TLBACC_REG_W_LSB) & TLBACC_REG_W_MASK) -+#define SET_TLBACC_REG_W(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_W_MASK << TLBACC_REG_W_LSB))) | \ -+ (((Val) & TLBACC_REG_W_MASK) << TLBACC_REG_W_LSB)) -+#define GET_TLBACC_REG_X(Reg) \ -+ (((Reg) >> TLBACC_REG_X_LSB) & TLBACC_REG_X_MASK) -+#define SET_TLBACC_REG_X(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBACC_REG_X_MASK << TLBACC_REG_X_LSB))) | \ -+ (((Val) & TLBACC_REG_X_MASK) << TLBACC_REG_X_LSB)) -+#define GET_TLBMISC_REG_BAD(Reg) \ -+ (((Reg) >> TLBMISC_REG_BAD_LSB) & TLBMISC_REG_BAD_MASK) -+#define SET_TLBMISC_REG_BAD(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_BAD_MASK << TLBMISC_REG_BAD_LSB))) | \ -+ (((Val) & TLBMISC_REG_BAD_MASK) << TLBMISC_REG_BAD_LSB)) -+#define GET_TLBMISC_REG_D(Reg) \ -+ (((Reg) >> TLBMISC_REG_D_LSB) & TLBMISC_REG_D_MASK) -+#define SET_TLBMISC_REG_D(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_D_MASK << TLBMISC_REG_D_LSB))) | \ -+ (((Val) & TLBMISC_REG_D_MASK) << TLBMISC_REG_D_LSB)) -+#define GET_TLBMISC_REG_DBL(Reg) \ -+ (((Reg) >> TLBMISC_REG_DBL_LSB) & TLBMISC_REG_DBL_MASK) -+#define SET_TLBMISC_REG_DBL(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_DBL_MASK << TLBMISC_REG_DBL_LSB))) | \ -+ (((Val) & TLBMISC_REG_DBL_MASK) << TLBMISC_REG_DBL_LSB)) -+#define GET_TLBMISC_REG_PERM(Reg) \ -+ (((Reg) >> TLBMISC_REG_PERM_LSB) & TLBMISC_REG_PERM_MASK) -+#define SET_TLBMISC_REG_PERM(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_PERM_MASK << TLBMISC_REG_PERM_LSB))) | \ -+ (((Val) & TLBMISC_REG_PERM_MASK) << TLBMISC_REG_PERM_LSB)) -+#define GET_TLBMISC_REG_PID(Reg) \ -+ (((Reg) >> TLBMISC_REG_PID_LSB) & TLBMISC_REG_PID_MASK) -+#define SET_TLBMISC_REG_PID(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_PID_MASK << TLBMISC_REG_PID_LSB))) | \ -+ (((Val) & TLBMISC_REG_PID_MASK) << TLBMISC_REG_PID_LSB)) -+#define GET_TLBMISC_REG_RD(Reg) \ -+ (((Reg) >> TLBMISC_REG_RD_LSB) & TLBMISC_REG_RD_MASK) -+#define SET_TLBMISC_REG_RD(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_RD_MASK << TLBMISC_REG_RD_LSB))) | \ -+ (((Val) & TLBMISC_REG_RD_MASK) << TLBMISC_REG_RD_LSB)) -+#define GET_TLBMISC_REG_RSV0(Reg) \ -+ (((Reg) >> TLBMISC_REG_RSV0_LSB) & TLBMISC_REG_RSV0_MASK) -+#define SET_TLBMISC_REG_RSV0(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_RSV0_MASK << TLBMISC_REG_RSV0_LSB))) | \ -+ (((Val) & TLBMISC_REG_RSV0_MASK) << TLBMISC_REG_RSV0_LSB)) -+#define GET_TLBMISC_REG_RSV1(Reg) \ -+ (((Reg) >> TLBMISC_REG_RSV1_LSB) & TLBMISC_REG_RSV1_MASK) -+#define SET_TLBMISC_REG_RSV1(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_RSV1_MASK << TLBMISC_REG_RSV1_LSB))) | \ -+ (((Val) & TLBMISC_REG_RSV1_MASK) << TLBMISC_REG_RSV1_LSB)) -+#define GET_TLBMISC_REG_WAY(Reg) \ -+ (((Reg) >> TLBMISC_REG_WAY_LSB) & TLBMISC_REG_WAY_MASK) -+#define SET_TLBMISC_REG_WAY(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_WAY_MASK << TLBMISC_REG_WAY_LSB))) | \ -+ (((Val) & TLBMISC_REG_WAY_MASK) << TLBMISC_REG_WAY_LSB)) -+#define GET_TLBMISC_REG_WE(Reg) \ -+ (((Reg) >> TLBMISC_REG_WE_LSB) & TLBMISC_REG_WE_MASK) -+#define SET_TLBMISC_REG_WE(Reg, Val) \ -+ Reg = (((Reg) & (~(TLBMISC_REG_WE_MASK << TLBMISC_REG_WE_LSB))) | \ -+ (((Val) & TLBMISC_REG_WE_MASK) << TLBMISC_REG_WE_LSB)) -+ -+/* Macros to extract MMU fields */ -+#define GET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Addr) \ -+ (((Addr) >> MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB) & MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK) -+#define SET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK << MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB))) | \ -+ (((Val) & MMU_ADDR_BYPASS_TLB_CACHEABLE_MASK) << MMU_ADDR_BYPASS_TLB_CACHEABLE_LSB)) -+#define GET_MMU_ADDR_BYPASS_TLB(Addr) \ -+ (((Addr) >> MMU_ADDR_BYPASS_TLB_LSB) & MMU_ADDR_BYPASS_TLB_MASK) -+#define SET_MMU_ADDR_BYPASS_TLB(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_MASK << MMU_ADDR_BYPASS_TLB_LSB))) | \ -+ (((Val) & MMU_ADDR_BYPASS_TLB_MASK) << MMU_ADDR_BYPASS_TLB_LSB)) -+#define GET_MMU_ADDR_BYPASS_TLB_PADDR(Addr) \ -+ (((Addr) >> MMU_ADDR_BYPASS_TLB_PADDR_LSB) & MMU_ADDR_BYPASS_TLB_PADDR_MASK) -+#define SET_MMU_ADDR_BYPASS_TLB_PADDR(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_BYPASS_TLB_PADDR_MASK << MMU_ADDR_BYPASS_TLB_PADDR_LSB))) | \ -+ (((Val) & MMU_ADDR_BYPASS_TLB_PADDR_MASK) << MMU_ADDR_BYPASS_TLB_PADDR_LSB)) -+#define GET_MMU_ADDR_IO_REGION(Addr) \ -+ (((Addr) >> MMU_ADDR_IO_REGION_LSB) & MMU_ADDR_IO_REGION_MASK) -+#define SET_MMU_ADDR_IO_REGION(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_IO_REGION_MASK << MMU_ADDR_IO_REGION_LSB))) | \ -+ (((Val) & MMU_ADDR_IO_REGION_MASK) << MMU_ADDR_IO_REGION_LSB)) -+#define GET_MMU_ADDR_KERNEL_MMU_REGION(Addr) \ -+ (((Addr) >> MMU_ADDR_KERNEL_MMU_REGION_LSB) & MMU_ADDR_KERNEL_MMU_REGION_MASK) -+#define SET_MMU_ADDR_KERNEL_MMU_REGION(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_KERNEL_MMU_REGION_MASK << MMU_ADDR_KERNEL_MMU_REGION_LSB))) | \ -+ (((Val) & MMU_ADDR_KERNEL_MMU_REGION_MASK) << MMU_ADDR_KERNEL_MMU_REGION_LSB)) -+#define GET_MMU_ADDR_KERNEL_REGION(Addr) \ -+ (((Addr) >> MMU_ADDR_KERNEL_REGION_LSB) & MMU_ADDR_KERNEL_REGION_MASK) -+#define SET_MMU_ADDR_KERNEL_REGION(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_KERNEL_REGION_MASK << MMU_ADDR_KERNEL_REGION_LSB))) | \ -+ (((Val) & MMU_ADDR_KERNEL_REGION_MASK) << MMU_ADDR_KERNEL_REGION_LSB)) -+#define GET_MMU_ADDR_PAGE_OFFSET(Addr) \ -+ (((Addr) >> MMU_ADDR_PAGE_OFFSET_LSB) & MMU_ADDR_PAGE_OFFSET_MASK) -+#define SET_MMU_ADDR_PAGE_OFFSET(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_PAGE_OFFSET_MASK << MMU_ADDR_PAGE_OFFSET_LSB))) | \ -+ (((Val) & MMU_ADDR_PAGE_OFFSET_MASK) << MMU_ADDR_PAGE_OFFSET_LSB)) -+#define GET_MMU_ADDR_PFN(Addr) \ -+ (((Addr) >> MMU_ADDR_PFN_LSB) & MMU_ADDR_PFN_MASK) -+#define SET_MMU_ADDR_PFN(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_PFN_MASK << MMU_ADDR_PFN_LSB))) | \ -+ (((Val) & MMU_ADDR_PFN_MASK) << MMU_ADDR_PFN_LSB)) -+#define GET_MMU_ADDR_USER_REGION(Addr) \ -+ (((Addr) >> MMU_ADDR_USER_REGION_LSB) & MMU_ADDR_USER_REGION_MASK) -+#define SET_MMU_ADDR_USER_REGION(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_USER_REGION_MASK << MMU_ADDR_USER_REGION_LSB))) | \ -+ (((Val) & MMU_ADDR_USER_REGION_MASK) << MMU_ADDR_USER_REGION_LSB)) -+#define GET_MMU_ADDR_VPN(Addr) \ -+ (((Addr) >> MMU_ADDR_VPN_LSB) & MMU_ADDR_VPN_MASK) -+#define SET_MMU_ADDR_VPN(Addr, Val) \ -+ Addr = (((Addr) & (~(MMU_ADDR_VPN_MASK << MMU_ADDR_VPN_LSB))) | \ -+ (((Val) & MMU_ADDR_VPN_MASK) << MMU_ADDR_VPN_LSB)) -+ -+/* OP instruction values */ -+#define OP_ADDI 4 -+#define OP_ANDHI 44 -+#define OP_ANDI 12 -+#define OP_BEQ 38 -+#define OP_BGE 14 -+#define OP_BGEU 46 -+#define OP_BLT 22 -+#define OP_BLTU 54 -+#define OP_BNE 30 -+#define OP_BR 6 -+#define OP_CALL 0 -+#define OP_CMPEQI 32 -+#define OP_CMPGEI 8 -+#define OP_CMPGEUI 40 -+#define OP_CMPLTI 16 -+#define OP_CMPLTUI 48 -+#define OP_CMPNEI 24 -+#define OP_CUSTOM 50 -+#define OP_FLUSHD 59 -+#define OP_FLUSHDA 27 -+#define OP_INITD 51 -+#define OP_JMPI 1 -+#define OP_LDB 7 -+#define OP_LDBIO 39 -+#define OP_LDBU 3 -+#define OP_LDBUIO 35 -+#define OP_LDH 15 -+#define OP_LDHIO 47 -+#define OP_LDHU 11 -+#define OP_LDHUIO 43 -+#define OP_LDW 23 -+#define OP_LDWIO 55 -+#define OP_MULI 36 -+#define OP_OPX 58 -+#define OP_ORHI 52 -+#define OP_ORI 20 -+#define OP_STB 5 -+#define OP_STBIO 37 -+#define OP_STH 13 -+#define OP_STHIO 45 -+#define OP_STW 21 -+#define OP_STWIO 53 -+#define OP_XORHI 60 -+#define OP_XORI 28 -+ -+/* OPX instruction values */ -+#define OPX_ADD 49 -+#define OPX_AND 14 -+#define OPX_BREAK 52 -+#define OPX_BRET 9 -+#define OPX_CALLR 29 -+#define OPX_CMPEQ 32 -+#define OPX_CMPGE 8 -+#define OPX_CMPGEU 40 -+#define OPX_CMPLT 16 -+#define OPX_CMPLTU 48 -+#define OPX_CMPNE 24 -+#define OPX_CRST 62 -+#define OPX_DIV 37 -+#define OPX_DIVU 36 -+#define OPX_ERET 1 -+#define OPX_FLUSHI 12 -+#define OPX_FLUSHP 4 -+#define OPX_HBREAK 53 -+#define OPX_INITI 41 -+#define OPX_INTR 61 -+#define OPX_JMP 13 -+#define OPX_MUL 39 -+#define OPX_MULXSS 31 -+#define OPX_MULXSU 23 -+#define OPX_MULXUU 7 -+#define OPX_NEXTPC 28 -+#define OPX_NOR 6 -+#define OPX_OR 22 -+#define OPX_RDCTL 38 -+#define OPX_RET 5 -+#define OPX_ROL 3 -+#define OPX_ROLI 2 -+#define OPX_ROR 11 -+#define OPX_SLL 19 -+#define OPX_SLLI 18 -+#define OPX_SRA 59 -+#define OPX_SRAI 58 -+#define OPX_SRL 27 -+#define OPX_SRLI 26 -+#define OPX_SUB 57 -+#define OPX_SYNC 54 -+#define OPX_TRAP 45 -+#define OPX_WRCTL 46 -+#define OPX_XOR 30 -+ -+/* Macros to detect sub-opcode instructions */ -+#define IS_OPX_INST(Iw) (GET_IW_OP(Iw) == OP_OPX) -+#define IS_CUSTOM_INST(Iw) (GET_IW_OP(Iw) == OP_CUSTOM) -+ -+/* Instruction property macros */ -+#define IW_PROP_RESERVED_OP(Iw) (0) -+ -+#define IW_PROP_RESERVED_OPX(Iw) (0) -+ -+#define IW_PROP_RESERVED(Iw) (0) -+ -+#define IW_PROP_SUPERVISOR_ONLY(Iw) ( \ -+ (op_prop_supervisor_only[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_supervisor_only[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_supervisor_only[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_supervisor_only[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_INITI_FLUSHI(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_INITI) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_FLUSHI) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_FLUSH_PIPE(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_flush_pipe[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_flush_pipe[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_JMP_INDIRECT_NON_TRAP(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_jmp_indirect_non_trap[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_jmp_indirect_non_trap[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_JMP_INDIRECT(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_jmp_indirect[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_jmp_indirect[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_JMP_DIRECT(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_CALL)) || \ -+ ((GET_IW_OP((Iw)) == OP_JMPI)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_MUL_LSW(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_MULI)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_MUL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_MULX(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_mulx[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_mulx[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_MUL(Iw) ( \ -+ (op_prop_mul[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_mul[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_mul[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_mul[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_DIV_UNSIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_DIVU) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_DIV_SIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_DIV) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_DIV(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_DIVU) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_DIV) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_UNIMPLEMENTED(Iw) (0) -+ -+#define IW_PROP_IMPLICIT_DST_RETADDR(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_CALL)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_IMPLICIT_DST_ERETADDR(Iw) (0) -+ -+#define IW_PROP_EXCEPTION(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_TRAP) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_INTR) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BREAK(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_BREAK) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_HBREAK) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_CRST(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_CRST) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_WR_CTL_REG(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_wr_ctl_reg[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_wr_ctl_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_UNCOND_CTI_NON_BR(Iw) ( \ -+ (op_prop_uncond_cti_non_br[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_uncond_cti_non_br[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_uncond_cti_non_br[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_uncond_cti_non_br[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_RETADDR(Iw) ( \ -+ (op_prop_retaddr[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_retaddr[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_retaddr[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_retaddr[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SHIFT_LEFT(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_SLLI) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_SLL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_SHIFT_LOGICAL(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_logical[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_logical[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ROT_LEFT(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_ROLI) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_ROL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_SHIFT_ROT_LEFT(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_rot_left[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_rot_left[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SHIFT_RIGHT_LOGICAL(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_SRLI) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_SRL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_SHIFT_RIGHT_ARITH(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_SRAI) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_SRA) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_SHIFT_RIGHT(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_right[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_right[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ROT_RIGHT(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_ROR) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_SHIFT_ROT_RIGHT(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_rot_right[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_rot_right[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SHIFT_ROT(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_rot[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_rot[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SHIFT_ROT_IMM(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_shift_rot_imm[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_shift_rot_imm[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ROTATE(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_rotate[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_rotate[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOGIC_REG(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_logic_reg[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_logic_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOGIC_HI_IMM16(Iw) ( \ -+ (op_prop_logic_hi_imm16[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_logic_hi_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOGIC_LO_IMM16(Iw) ( \ -+ (op_prop_logic_lo_imm16[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_logic_lo_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOGIC_IMM16(Iw) ( \ -+ (op_prop_logic_imm16[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_logic_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOGIC(Iw) ( \ -+ (op_prop_logic[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_logic[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_logic[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_logic[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_UNSIGNED_LO_IMM16(Iw) ( \ -+ (op_prop_unsigned_lo_imm16[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_unsigned_lo_imm16[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_unsigned_lo_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_unsigned_lo_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ARITH_IMM16(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_ADDI)) || \ -+ ((GET_IW_OP((Iw)) == OP_MULI)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_CMP_IMM16(Iw) ( \ -+ (op_prop_cmp_imm16[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_imm16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_JMPI(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_JMPI)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_CMP_IMM16_WITH_CALL_JMPI(Iw) ( \ -+ (op_prop_cmp_imm16_with_call_jmpi[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_imm16_with_call_jmpi[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP_REG(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp_reg[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SRC_IMM5(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_src_imm5[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_src_imm5[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP_WITH_LT(Iw) ( \ -+ (op_prop_cmp_with_lt[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp_with_lt[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_with_lt[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp_with_lt[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP_WITH_EQ(Iw) ( \ -+ (op_prop_cmp_with_eq[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp_with_eq[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_with_eq[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp_with_eq[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP_WITH_GE(Iw) ( \ -+ (op_prop_cmp_with_ge[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp_with_ge[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_with_ge[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp_with_ge[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP_WITH_NE(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_CMPNEI)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_CMPNE) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_CMP_ALU_SIGNED(Iw) ( \ -+ (op_prop_cmp_alu_signed[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp_alu_signed[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp_alu_signed[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp_alu_signed[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_CMP(Iw) ( \ -+ (op_prop_cmp[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_cmp[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_cmp[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_cmp[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_BR_WITH_LT(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_BLT)) || \ -+ ((GET_IW_OP((Iw)) == OP_BLTU)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BR_WITH_GE(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_BGE)) || \ -+ ((GET_IW_OP((Iw)) == OP_BGEU)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BR_WITH_EQ(Iw) ( \ -+ (op_prop_br_with_eq[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_br_with_eq[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_BR_WITH_NE(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_BNE)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BR_ALU_SIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_BGE)) || \ -+ ((GET_IW_OP((Iw)) == OP_BLT)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BR_COND(Iw) ( \ -+ (op_prop_br_cond[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_br_cond[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_BR_UNCOND(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_BR)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_BR(Iw) ( \ -+ (op_prop_br[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_br[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ALU_SUB(Iw) ( \ -+ (op_prop_alu_sub[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_alu_sub[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_alu_sub[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_alu_sub[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_FORCE_XOR(Iw) ( \ -+ (op_prop_force_xor[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_force_xor[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_force_xor[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_force_xor[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD8(Iw) ( \ -+ (op_prop_load8[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load8[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD16(Iw) ( \ -+ (op_prop_load16[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load16[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD32(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_LDW)) || \ -+ ((GET_IW_OP((Iw)) == OP_LDWIO)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_LOAD_SIGNED(Iw) ( \ -+ (op_prop_load_signed[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load_signed[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD_UNSIGNED(Iw) ( \ -+ (op_prop_load_unsigned[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load_unsigned[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD(Iw) ( \ -+ (op_prop_load[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD_INITD_FLUSHD_FLUSHDA(Iw) ( \ -+ (op_prop_load_initd_flushd_flushda[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load_initd_flushd_flushda[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD_NON_IO(Iw) ( \ -+ (op_prop_load_non_io[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load_non_io[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_STORE8(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_STB)) || \ -+ ((GET_IW_OP((Iw)) == OP_STBIO)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_STORE16(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_STH)) || \ -+ ((GET_IW_OP((Iw)) == OP_STHIO)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_STORE32(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_STW)) || \ -+ ((GET_IW_OP((Iw)) == OP_STWIO)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_STORE(Iw) ( \ -+ (op_prop_store[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_store[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_STORE_NON_IO(Iw) ( \ -+ (op_prop_store_non_io[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_store_non_io[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_MEM(Iw) ( \ -+ (op_prop_mem[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_mem[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_INITD(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_INITD)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_FLUSHD(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_INITD_FLUSHD(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_INITD)) || \ -+ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_FLUSHDA(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_FLUSHD_FLUSHDA(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_FLUSHD)) || \ -+ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_INITD_FLUSHD_FLUSHDA(Iw) ( \ -+ (op_prop_initd_flushd_flushda[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_initd_flushd_flushda[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_LOAD_IO(Iw) ( \ -+ (op_prop_load_io[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_load_io[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_STORE_IO(Iw) ( \ -+ (op_prop_store_io[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_store_io[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_MEM_IO(Iw) ( \ -+ (op_prop_mem_io[GET_IW_OP(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_mem_io[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_ARITH(Iw) ( \ -+ (op_prop_arith[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_arith[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_arith[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_arith[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_A_NOT_SRC(Iw) ( \ -+ ( \ -+ ((GET_IW_OP((Iw)) == OP_CALL)) || \ -+ ((GET_IW_OP((Iw)) == OP_JMPI)) \ -+ ) \ -+ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_READRA(Iw)) \ -+) -+ -+#define IW_PROP_B_NOT_SRC(Iw) ( \ -+ (op_prop_b_not_src[GET_IW_OP(Iw)]) \ -+ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_READRB(Iw))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_b_not_src[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_IGNORE_DST(Iw) ( \ -+ (op_prop_ignore_dst[GET_IW_OP(Iw)]) \ -+ || (IS_CUSTOM_INST(Iw) && !GET_IW_CUSTOM_WRITERC(Iw))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_ignore_dst[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SRC2_CHOOSE_IMM(Iw) ( \ -+ (op_prop_src2_choose_imm[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_src2_choose_imm[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_src2_choose_imm[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_src2_choose_imm[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_WRCTL_INST(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_WRCTL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_RDCTL_INST(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_RDCTL) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_MUL_SRC1_SIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) || \ -+ ((GET_IW_OPX((Iw)) == OPX_MULXSU) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_MUL_SRC2_SIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_MUL_SHIFT_SRC1_SIGNED(Iw) ( \ -+ (IS_OPX_INST(Iw) && opx_prop_mul_shift_src1_signed[GET_IW_OPX(Iw)])) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_mul_shift_src1_signed[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_MUL_SHIFT_SRC2_SIGNED(Iw) ( \ -+ ( \ -+ ((GET_IW_OPX((Iw)) == OPX_MULXSS) && IS_OPX_INST(Iw)) \ -+ ) \ -+ \ -+) -+ -+#define IW_PROP_DONT_DISPLAY_DST_REG(Iw) ( \ -+ (op_prop_dont_display_dst_reg[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_dont_display_dst_reg[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_dont_display_dst_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_dont_display_dst_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_DONT_DISPLAY_SRC1_REG(Iw) ( \ -+ (op_prop_dont_display_src1_reg[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_dont_display_src1_reg[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_dont_display_src1_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_dont_display_src1_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_DONT_DISPLAY_SRC2_REG(Iw) ( \ -+ (op_prop_dont_display_src2_reg[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_dont_display_src2_reg[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_dont_display_src2_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_dont_display_src2_reg[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SRC1_NO_X(Iw) ( \ -+ (op_prop_src1_no_x[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_src1_no_x[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_src1_no_x[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_src1_no_x[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#define IW_PROP_SRC2_NO_X(Iw) ( \ -+ (op_prop_src2_no_x[GET_IW_OP(Iw)] || \ -+ (IS_OPX_INST(Iw) && opx_prop_src2_no_x[GET_IW_OPX(Iw)]))) -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char op_prop_src2_no_x[64]; -+#endif /* ALT_ASM_SRC */ -+ -+#ifndef ALT_ASM_SRC -+extern unsigned char opx_prop_src2_no_x[64]; -+#endif /* ALT_ASM_SRC */ -+ -+/* Instruction types */ -+#define INST_TYPE_OP 0 -+#define INST_TYPE_OPX 1 -+ -+/* Canonical instruction codes independent of encoding */ -+#define CALL_INST_CODE 0 -+#define JMPI_INST_CODE 1 -+#define LDBU_INST_CODE 2 -+#define ADDI_INST_CODE 3 -+#define STB_INST_CODE 4 -+#define BR_INST_CODE 5 -+#define LDB_INST_CODE 6 -+#define CMPGEI_INST_CODE 7 -+#define LDHU_INST_CODE 8 -+#define ANDI_INST_CODE 9 -+#define STH_INST_CODE 10 -+#define BGE_INST_CODE 11 -+#define LDH_INST_CODE 12 -+#define CMPLTI_INST_CODE 13 -+#define ORI_INST_CODE 14 -+#define STW_INST_CODE 15 -+#define BLT_INST_CODE 16 -+#define LDW_INST_CODE 17 -+#define CMPNEI_INST_CODE 18 -+#define FLUSHDA_INST_CODE 19 -+#define XORI_INST_CODE 20 -+#define BNE_INST_CODE 21 -+#define CMPEQI_INST_CODE 22 -+#define LDBUIO_INST_CODE 23 -+#define MULI_INST_CODE 24 -+#define STBIO_INST_CODE 25 -+#define BEQ_INST_CODE 26 -+#define LDBIO_INST_CODE 27 -+#define CMPGEUI_INST_CODE 28 -+#define LDHUIO_INST_CODE 29 -+#define ANDHI_INST_CODE 30 -+#define STHIO_INST_CODE 31 -+#define BGEU_INST_CODE 32 -+#define LDHIO_INST_CODE 33 -+#define CMPLTUI_INST_CODE 34 -+#define CUSTOM_INST_CODE 35 -+#define INITD_INST_CODE 36 -+#define ORHI_INST_CODE 37 -+#define STWIO_INST_CODE 38 -+#define BLTU_INST_CODE 39 -+#define LDWIO_INST_CODE 40 -+#define FLUSHD_INST_CODE 41 -+#define XORHI_INST_CODE 42 -+#define ERET_INST_CODE 43 -+#define ROLI_INST_CODE 44 -+#define ROL_INST_CODE 45 -+#define FLUSHP_INST_CODE 46 -+#define RET_INST_CODE 47 -+#define NOR_INST_CODE 48 -+#define MULXUU_INST_CODE 49 -+#define CMPGE_INST_CODE 50 -+#define BRET_INST_CODE 51 -+#define ROR_INST_CODE 52 -+#define FLUSHI_INST_CODE 53 -+#define JMP_INST_CODE 54 -+#define AND_INST_CODE 55 -+#define CMPLT_INST_CODE 56 -+#define SLLI_INST_CODE 57 -+#define SLL_INST_CODE 58 -+#define OR_INST_CODE 59 -+#define MULXSU_INST_CODE 60 -+#define CMPNE_INST_CODE 61 -+#define SRLI_INST_CODE 62 -+#define SRL_INST_CODE 63 -+#define NEXTPC_INST_CODE 64 -+#define CALLR_INST_CODE 65 -+#define XOR_INST_CODE 66 -+#define MULXSS_INST_CODE 67 -+#define CMPEQ_INST_CODE 68 -+#define DIVU_INST_CODE 69 -+#define DIV_INST_CODE 70 -+#define RDCTL_INST_CODE 71 -+#define MUL_INST_CODE 72 -+#define CMPGEU_INST_CODE 73 -+#define INITI_INST_CODE 74 -+#define TRAP_INST_CODE 75 -+#define WRCTL_INST_CODE 76 -+#define CMPLTU_INST_CODE 77 -+#define ADD_INST_CODE 78 -+#define BREAK_INST_CODE 79 -+#define HBREAK_INST_CODE 80 -+#define SYNC_INST_CODE 81 -+#define SUB_INST_CODE 82 -+#define SRAI_INST_CODE 83 -+#define SRA_INST_CODE 84 -+#define INTR_INST_CODE 85 -+#define CRST_INST_CODE 86 -+#define RSV_INST_CODE 87 -+#define NUM_NIOS2_INST_CODES 88 -+ -+#ifndef ALT_ASM_SRC -+/* Instruction information entry */ -+typedef struct { -+ const char* name; /* Assembly-language instruction name */ -+ int instType; /* INST_TYPE_OP or INST_TYPE_OPX */ -+ unsigned opcode; /* Value of instruction word OP/OPX field */ -+} Nios2InstInfo; -+ -+extern Nios2InstInfo nios2InstInfo[NUM_NIOS2_INST_CODES]; -+#endif /* ALT_ASM_SRC */ -+ -+/* Returns the instruction code given the 32-bit instruction word */ -+#define GET_INST_CODE(Iw) \ -+ (IS_OPX_INST(Iw) ? opxToInstCode[GET_IW_OPX(Iw)] : opToInstCode[GET_IW_OP(Iw)]) -+ -+#ifndef ALT_ASM_SRC -+extern int opToInstCode[64]; -+extern int opxToInstCode[64]; -+#endif /* ALT_ASM_SRC */ -+ -+/* -+ * MMU Memory Region Macros -+ */ -+#define USER_REGION_MIN_VADDR 0x00000000 -+#define USER_REGION_MAX_VADDR 0x7fffffff -+#define KERNEL_MMU_REGION_MIN_VADDR 0x80000000 -+#define KERNEL_MMU_REGION_MAX_VADDR 0xbfffffff -+#define KERNEL_REGION_MIN_VADDR 0xc0000000 -+#define KERNEL_REGION_MAX_VADDR 0xdfffffff -+#define IO_REGION_MIN_VADDR 0xe0000000 -+#define IO_REGION_MAX_VADDR 0xffffffff -+ -+#define MMU_PAGE_SIZE (0x1 << (MMU_ADDR_PAGE_OFFSET_SZ)) -+ -+#define isMmuUserRegion(Vaddr) \ -+ (GET_MMU_ADDR_USER_REGION(Vaddr) == MMU_ADDR_USER_REGION) -+#define isMmuKernelMmuRegion(Vaddr) \ -+ (GET_MMU_ADDR_KERNEL_MMU_REGION(Vaddr) == MMU_ADDR_KERNEL_MMU_REGION) -+#define isMmuKernelRegion(Vaddr) \ -+ (GET_MMU_ADDR_KERNEL_REGION(Vaddr) == MMU_ADDR_KERNEL_REGION) -+#define isMmuIORegion(Vaddr) \ -+ (GET_MMU_ADDR_IO_REGION(Vaddr) == MMU_ADDR_IO_REGION) -+ -+/* Does this virtual address bypass the TLB? */ -+#define vaddrBypassTlb(Vaddr) \ -+ (GET_MMU_ADDR_BYPASS_TLB(Vaddr) == MMU_ADDR_BYPASS_TLB) -+ -+/* If TLB is bypassed, is the address cacheable or uncachable. */ -+#define vaddrBypassTlbCacheable(Vaddr) \ -+ (GET_MMU_ADDR_BYPASS_TLB_CACHEABLE(Vaddr) == MMU_ADDR_BYPASS_TLB_CACHEABLE) -+ -+/* -+ * Compute physical address for regions that bypass the TLB. -+ * Just need to clear some top bits. -+ */ -+#define bypassTlbVaddrToPaddr(Vaddr) \ -+ ((Vaddr) & (MMU_ADDR_BYPASS_TLB_PADDR_MASK << MMU_ADDR_BYPASS_TLB_PADDR_LSB)) -+ -+/* -+ * Will the physical address fit in the Kernel/IO region virtual address space? -+ */ -+#define fitsInKernelRegion(Paddr) \ -+ (GET_MMU_ADDR_KERNEL_REGION(Paddr) == 0) -+#define fitsInIORegion(Paddr) \ -+ (GET_MMU_ADDR_IO_REGION(Paddr) == 0) -+ -+/* Convert a physical address to a Kernel/IO region virtual address. */ -+#define paddrToKernelRegionVaddr(Paddr) \ -+ ((Paddr) | (MMU_ADDR_KERNEL_REGION << MMU_ADDR_KERNEL_REGION_LSB)) -+#define paddrToIORegionVaddr(Paddr) \ -+ ((Paddr) | (MMU_ADDR_IO_REGION << MMU_ADDR_IO_REGION_LSB)) -+ -+/* -+ * Convert a virtual address to a Kernel/IO region virtual address. -+ * Uses bypassTlbVaddrToPaddr to clear top bits. -+ */ -+#define vaddrToKernelRegionVaddr(Vaddr) \ -+ paddrToKernelRegionVaddr(bypassTlbVaddrToPaddr(Vaddr)) -+#define vaddrToIORegionVaddr(Vaddr) \ -+ paddrToIORegionVaddr(bypassTlbVaddrToPaddr(Vaddr)) -+ -+/* Convert between VPN/PFN and virtual/physical addresses. */ -+#define vpnToVaddr(Vpn) ((Vpn) << MMU_ADDR_VPN_LSB) -+#define pfnToPaddr(Pfn) ((Pfn) << MMU_ADDR_PFN_LSB) -+#define vaddrToVpn(Vaddr) GET_MMU_ADDR_VPN(Vaddr) -+#define paddrToPfn(Paddr) GET_MMU_ADDR_PFN(Paddr) -+ -+/* Bitwise OR with a KERNEL region address to make it an IO region address */ -+#define KERNEL_TO_IO_REGION 0x20000000 -+ -+#endif /* _NIOS2_ISA_H_ */ -diff --git a/include/opcode/nios2.h b/include/opcode/nios2.h -new file mode 100644 -index 0000000..992bb80 ---- /dev/null -+++ b/include/opcode/nios2.h -@@ -0,0 +1,361 @@ -+/* nios2.h. Altera New Jersey opcode list for GAS, the GNU assembler. -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+This file is part of GDB, GAS, and the GNU binutils. -+ -+GDB, GAS, and the GNU binutils are free software; you can redistribute -+them and/or modify them under the terms of the GNU General Public -+License as published by the Free Software Foundation; either version -+1, or (at your option) any later version. -+ -+GDB, GAS, and the GNU binutils are distributed in the hope that they -+will be useful, but WITHOUT ANY WARRANTY; without even the implied -+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -+the GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this file; see the file COPYING. If not, write to the Free -+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#ifndef _NIOS2_H_ -+#define _NIOS2_H_ -+ -+ -+/**************************************************************************** -+ * This file contains structures, bit masks and shift counts used -+ * by the GNU toolchain to define the New Jersey instruction set and -+ * access various opcode fields. -+ ****************************************************************************/ -+ -+enum overflow_type -+{ -+ call_target_overflow = 0, -+ branch_target_overflow, -+ address_offset_overflow, -+ signed_immed16_overflow, -+ unsigned_immed16_overflow, -+ unsigned_immed5_overflow, -+ custom_opcode_overflow, -+ no_overflow -+}; -+ -+/*--------------------------------------------------------------------------- -+ This structure holds information for a particular instruction -+ ---------------------------------------------------------------------------*/ -+ -+/* match When assembling, this -+ opcode is modified by the arguments to produce the actual opcode -+ that is used. If pinfo is INSN_MACRO, then this is 0. */ -+ -+/* mask If pinfo is not INSN_MACRO, then this is a bit mask for the -+ relevant portions of the opcode when disassembling. If the -+ actual opcode anded with the match field equals the opcode field, -+ then we have found the correct instruction. If pinfo is -+ INSN_MACRO, then this field is the macro identifier. */ -+ -+/* For a macro, this is INSN_MACRO. Otherwise, it is a collection -+ of bits describing the instruction, notably any relevant hazard -+ information. */ -+ -+struct nios2_opcode -+{ -+ const char *name; /* The name of the instruction. */ -+ const char *args; /* A string describing the arguments for this instruction. */ -+ const char *args_test; /* Like args, but with an extra argument for the expected opcode */ -+ unsigned long num_args; /* the number of arguments the instruction takes */ -+ unsigned long match; /* The basic opcode for the instruction. */ -+ unsigned long mask; /* mask for the opcode field of the instruction */ -+ unsigned long pinfo; /* is this a real instruction or instruction macro */ -+ enum overflow_type overflow_msg; /* msg template used to generate informative message when fixup overflows */ -+}; -+ -+/* This value is used in the nios2_opcode.pinfo field to indicate that the instruction -+ is a macro or pseudo-op. This requires special treatment by the assembler, and is -+ used by the disassembler to determine whether to check for a nop */ -+#define NIOS2_INSN_MACRO 0x80000000 -+#define NIOS2_INSN_MACRO_MOV 0x80000001 -+#define NIOS2_INSN_MACRO_MOVI 0x80000002 -+#define NIOS2_INSN_MACRO_MOVIA 0x80000004 -+ -+#define NIOS2_INSN_RELAXABLE 0x40000000 -+#define NIOS2_INSN_UBRANCH 0x00000010 -+#define NIOS2_INSN_CBRANCH 0x00000020 -+#define NIOS2_INSN_CALL 0x00000040 -+ -+#define NIOS2_INSN_ADDI 0x00000080 -+#define NIOS2_INSN_ANDI 0x00000100 -+#define NIOS2_INSN_ORI 0x00000200 -+#define NIOS2_INSN_XORI 0x00000400 -+ -+ -+ -+/* Associates a register name ($6) with a 5-bit index (eg 6) */ -+struct nios2_reg -+{ -+ const char *name; -+ const int index; -+}; -+ -+ -+/* ------------------------------------------------------------------------- -+ Bitfield masks for New Jersey instructions -+ -------------------------------------------------------------------------*/ -+ -+/* These are bit masks and shift counts to use to access the various -+ fields of an instruction. */ -+ -+/* Macros for getting and setting an instruction field */ -+#define GET_INSN_FIELD(X, i) ((i) & OP_MASK_##X) >> OP_SH_##X -+#define SET_INSN_FIELD(X, i, j) (i) = ((i) &~ (OP_MASK_##X)) | ((j) << OP_SH_##X) -+ -+ -+/* -+ We include the auto-generated file nios2-isa.h and define the mask -+ and shifts below in terms of those in nios2-isa.h. This ensures -+ that the binutils and hardware are always in sync -+*/ -+ -+#include "nios2-isa.h" -+ -+#define OP_MASK_OP (IW_OP_MASK << IW_OP_LSB) -+#define OP_SH_OP IW_OP_LSB -+ -+ -+/* Masks and shifts for I-type instructions */ -+ -+#define OP_MASK_IOP (IW_OP_MASK << IW_OP_LSB) -+#define OP_SH_IOP IW_OP_LSB -+ -+#define OP_MASK_IMM16 (IW_IMM16_MASK << IW_IMM16_LSB) -+#define OP_SH_IMM16 IW_IMM16_LSB -+ -+#define OP_MASK_IRD (IW_B_MASK << IW_B_LSB) // the same as T for I-type -+#define OP_SH_IRD IW_B_LSB -+ -+#define OP_MASK_IRT (IW_B_MASK << IW_B_LSB) -+#define OP_SH_IRT IW_B_LSB -+ -+#define OP_MASK_IRS (IW_A_MASK << IW_A_LSB) -+#define OP_SH_IRS IW_A_LSB -+ -+/* Masks and shifts for R-type instructions */ -+ -+#define OP_MASK_ROP (IW_OP_MASK << IW_OP_LSB) -+#define OP_SH_ROP IW_OP_LSB -+ -+#define OP_MASK_ROPX (IW_OPX_MASK << IW_OPX_LSB) -+#define OP_SH_ROPX IW_OPX_LSB -+ -+#define OP_MASK_RRD (IW_C_MASK << IW_C_LSB) -+#define OP_SH_RRD IW_C_LSB -+ -+#define OP_MASK_RRT (IW_B_MASK << IW_B_LSB) -+#define OP_SH_RRT IW_B_LSB -+ -+#define OP_MASK_RRS (IW_A_MASK << IW_A_LSB) -+#define OP_SH_RRS IW_A_LSB -+ -+/* Masks and shifts for J-type instructions */ -+ -+#define OP_MASK_JOP (IW_OP_MASK << IW_OP_LSB) -+#define OP_SH_JOP IW_OP_LSB -+ -+#define OP_MASK_IMM26 (IW_IMM26_MASK << IW_IMM26_LSB) -+#define OP_SH_IMM26 IW_IMM26_LSB -+ -+/* Masks and shifts for CTL instructions */ -+ -+#define OP_MASK_RCTL 0x000007c0 -+#define OP_SH_RCTL 6 -+ -+/* break instruction imm5 field */ -+#define OP_MASK_TRAP_IMM5 0x000007c0 -+#define OP_SH_TRAP_IMM5 6 -+ -+/* instruction imm5 field */ -+#define OP_MASK_IMM5 (IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB) -+#define OP_SH_IMM5 IW_SHIFT_IMM5_LSB -+ -+/* cache operation fields (type j,i(s)) */ -+#define OP_MASK_CACHE_OPX (IW_B_MASK << IW_B_LSB) -+#define OP_SH_CACHE_OPX IW_B_LSB -+#define OP_MASK_CACHE_RRS (IW_A_MASK << IW_A_LSB) -+#define OP_SH_CACHE_RRS IW_A_LSB -+ -+/* custom instruction masks */ -+#define OP_MASK_CUSTOM_A 0x00010000 -+#define OP_SH_CUSTOM_A 16 -+ -+#define OP_MASK_CUSTOM_B 0x00008000 -+#define OP_SH_CUSTOM_B 15 -+ -+#define OP_MASK_CUSTOM_C 0x00004000 -+#define OP_SH_CUSTOM_C 14 -+ -+#define OP_MASK_CUSTOM_N 0x00003fc0 -+#define OP_SH_CUSTOM_N 6 -+#define OP_MAX_CUSTOM_N 255 -+ -+/* -+ The following macros define the opcode matches for each -+ instruction -+ code & OP_MASK_INST == OP_MATCH_INST -+ */ -+ -+/* OP instruction matches */ -+#define OP_MATCH_ADDI OP_ADDI -+#define OP_MATCH_ANDHI OP_ANDHI -+#define OP_MATCH_ANDI OP_ANDI -+#define OP_MATCH_BEQ OP_BEQ -+#define OP_MATCH_BGE OP_BGE -+#define OP_MATCH_BGEU OP_BGEU -+#define OP_MATCH_BLT OP_BLT -+#define OP_MATCH_BLTU OP_BLTU -+#define OP_MATCH_BNE OP_BNE -+#define OP_MATCH_BR OP_BR -+#define OP_MATCH_FLUSHD OP_FLUSHD -+#define OP_MATCH_FLUSHDA OP_FLUSHDA -+#define OP_MATCH_INITD OP_INITD -+#define OP_MATCH_CALL OP_CALL -+#define OP_MATCH_CMPEQI OP_CMPEQI -+#define OP_MATCH_CMPGEI OP_CMPGEI -+#define OP_MATCH_CMPGEUI OP_CMPGEUI -+#define OP_MATCH_CMPLTI OP_CMPLTI -+#define OP_MATCH_CMPLTUI OP_CMPLTUI -+#define OP_MATCH_CMPNEI OP_CMPNEI -+#define OP_MATCH_JMPI OP_JMPI -+#define OP_MATCH_LDB OP_LDB -+#define OP_MATCH_LDBIO OP_LDBIO -+#define OP_MATCH_LDBU OP_LDBU -+#define OP_MATCH_LDBUIO OP_LDBUIO -+#define OP_MATCH_LDH OP_LDH -+#define OP_MATCH_LDHIO OP_LDHIO -+#define OP_MATCH_LDHU OP_LDHU -+#define OP_MATCH_LDHUIO OP_LDHUIO -+#define OP_MATCH_LDW OP_LDW -+#define OP_MATCH_LDWIO OP_LDWIO -+#define OP_MATCH_MULI OP_MULI -+#define OP_MATCH_OPX OP_OPX -+#define OP_MATCH_ORHI OP_ORHI -+#define OP_MATCH_ORI OP_ORI -+#define OP_MATCH_STB OP_STB -+#define OP_MATCH_STBIO OP_STBIO -+#define OP_MATCH_STH OP_STH -+#define OP_MATCH_STHIO OP_STHIO -+#define OP_MATCH_STW OP_STW -+#define OP_MATCH_STWIO OP_STWIO -+#define OP_MATCH_CUSTOM OP_CUSTOM -+#define OP_MATCH_XORHI OP_XORHI -+#define OP_MATCH_XORI OP_XORI -+#define OP_MATCH_OPX OP_OPX -+ -+ -+ -+/* OPX instruction values */ -+#define OP_MATCH_ADD ((OPX_ADD << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_AND ((OPX_AND << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_BREAK ((0x1e << 17) | (OPX_BREAK << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_BRET ((0xf0000000) | (OPX_BRET << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CALLR ((0x1f << 17) | (OPX_CALLR << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPEQ ((OPX_CMPEQ << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPGE ((OPX_CMPGE << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPGEU ((OPX_CMPGEU << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPLT ((OPX_CMPLT << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPLTU ((OPX_CMPLTU << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_CMPNE ((OPX_CMPNE << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_DIV ((OPX_DIV << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_DIVU ((OPX_DIVU << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_JMP ((OPX_JMP << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_MUL ((OPX_MUL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_MULXSS ((OPX_MULXSS << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_MULXSU ((OPX_MULXSU << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_MULXUU ((OPX_MULXUU << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_NEXTPC ((OPX_NEXTPC << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_NOR ((OPX_NOR << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_OR ((OPX_OR << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_RDCTL ((OPX_RDCTL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_RET ((0xf8000000) | (OPX_RET << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_ROL ((OPX_ROL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_ROLI ((OPX_ROLI << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_ROR ((OPX_ROR << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SLL ((OPX_SLL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SLLI ((OPX_SLLI << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SRA ((OPX_SRA << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SRAI ((OPX_SRAI << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SRL ((OPX_SRL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SRLI ((OPX_SRLI << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SUB ((OPX_SUB << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_SYNC ((OPX_SYNC << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_TRAP ((0x1d << 17) | (OPX_TRAP << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_ERET ((0xe8000000) | (OPX_ERET << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_WRCTL ((OPX_WRCTL << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_XOR ((OPX_XOR << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_FLUSHI ((OPX_FLUSHI << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_FLUSHP ((OPX_FLUSHP << IW_OPX_LSB) | (OP_OPX)) -+#define OP_MATCH_INITI ((OPX_INITI << IW_OPX_LSB) | (OP_OPX)) -+ -+/* -+ Some unusual op masks -+*/ -+#define OP_MASK_BREAK ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP) & 0xfffff03f) -+#define OP_MASK_CALLR ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_JMP ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_SYNC ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_TRAP ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP) & 0xfffff83f) -+#define OP_MASK_WRCTL ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) /*& 0xfffff83f */ -+#define OP_MASK_NEXTPC ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_FLUSHI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_INITI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX | OP_MASK_OP)) -+ -+#define OP_MASK_ROLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_SLLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_SRAI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_SRLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -+#define OP_MASK_RDCTL ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) /*& 0xfffff83f */ -+ -+#ifndef OP_MASK -+#define OP_MASK 0xffffffff -+#endif -+ -+/* These are the data structures we use to hold the instruction information */ -+ -+extern const struct nios2_opcode nios2_builtin_opcodes[]; -+extern const int bfd_nios2_num_builtin_opcodes; -+extern struct nios2_opcode *nios2_opcodes; -+extern int bfd_nios2_num_opcodes; -+ -+/* These are the data structures used to hold the operand parsing information */ -+//extern const struct nios2_arg_parser nios2_arg_parsers[]; -+//extern struct nios2_arg_parser* nios2_arg_parsers; -+//extern const int nios2_num_builtin_arg_parsers; -+//extern int nios2_num_arg_parsers; -+ -+/* These are the data structures used to hold the register information */ -+extern const struct nios2_reg nios2_builtin_regs[]; -+extern struct nios2_reg *nios2_regs; -+extern const int nios2_num_builtin_regs; -+extern int nios2_num_regs; -+ -+/* Machine-independent macro for number of opcodes */ -+ -+#define NUMOPCODES bfd_nios2_num_opcodes -+#define NUMREGISTERS nios2_num_regs; -+ -+/* these are used in disassembly to get the correct register names */ -+#define NUMREGNAMES 32 -+#define NUMCTLREGNAMES 32 -+#define CTLREGBASE 42 -+#define COPROCREGBASE 83 -+#define NUMCOPROCREGNAMES 32 -+ -+ -+/* this is made extern so that the assembler can use it to find out -+ what instruction caused an error */ -+extern const struct nios2_opcode *nios2_find_opcode_hash (unsigned long); -+ -+/* overflow message strings used in the assembler */ -+extern char *overflow_msgs[]; -+ -+#endif // _NIOS2_H -diff --git a/include/opcode/s-nios2-isa b/include/opcode/s-nios2-isa -new file mode 100644 -index 0000000..9788f70 ---- /dev/null -+++ b/include/opcode/s-nios2-isa -@@ -0,0 +1 @@ -+timestamp -diff --git a/ld/Makefile.am b/ld/Makefile.am -index a2f1ac1..665db8b 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -1440,6 +1440,9 @@ eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \ - $(srcdir)/emulparams/elf32frv.sh \ - $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf32frvfd "$(tdir_frv)" -+enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \ -+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} -+ ${GENSCRIPTS} nios2elf "$(tdir_nios2)" - - # We need this for automake to use YLWRAP. - EXTRA_ld_new_SOURCES = deffilep.y -diff --git a/ld/Makefile.in b/ld/Makefile.in -index 976d5db..1be09a3 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -2166,6 +2166,9 @@ eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \ - $(srcdir)/emulparams/elf32frv.sh \ - $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf32frvfd "$(tdir_frv)" -+enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \ -+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} -+ ${GENSCRIPTS} nios2elf "$(tdir_nios2)" - - # The generated emulation files mostly have the same dependencies. - $(EMULATION_OFILES): ../bfd/bfd.h sysdep.h config.h $(INCDIR)/bfdlink.h \ -diff --git a/ld/configure.tgt b/ld/configure.tgt -index 9b29291..3064c1d 100644 ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -450,6 +450,7 @@ mn10200-*-*) targ_emul=mn10200 ;; - mn10300-*-*) targ_emul=mn10300 ;; - msp430-*-*) targ_emul=msp430x110 - targ_extra_emuls="msp430x112 msp430x1101 msp430x1111 msp430x1121 msp430x1122 msp430x1132 msp430x122 msp430x123 msp430x1222 msp430x1232 msp430x133 msp430x135 msp430x1331 msp430x1351 msp430x147 msp430x148 msp430x149 msp430x155 msp430x156 msp430x157 msp430x167 msp430x168 msp430x169 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449" ;; -+nios2*-*-*) targ_emul=nios2elf ;; - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - targ_emul=elf64alpha_fbsd - targ_extra_emuls="elf64alpha alpha" -diff --git a/ld/emulparams/nios2elf.sh b/ld/emulparams/nios2elf.sh -new file mode 100644 -index 0000000..9c9e588 ---- /dev/null -+++ b/ld/emulparams/nios2elf.sh -@@ -0,0 +1,17 @@ -+SCRIPT_NAME=elf -+OUTPUT_FORMAT="elf32-littlenios2" -+LITTLE_OUTPUT_FORMAT="elf32-littlenios2" -+BIG_OUTPUT_FORMAT="elf32-bignios2" -+TEXT_START_ADDR=0x0 -+OTHER_GOT_SYMBOLS=' -+ _gp = ALIGN(16) + 0x7ff0; -+ PROVIDE(gp = _gp); -+' -+ARCH=nios2 -+MACHINE= -+MAXPAGESIZE=256 -+ENTRY=_start -+EMBEDDED=yes -+DATA_ADDR=. -+NOP=0x0001883a -+ -diff --git a/ld/ldlang.c b/ld/ldlang.c -index 0c08601..78a2dfe 100644 ---- a/ld/ldlang.c -+++ b/ld/ldlang.c -@@ -2855,10 +2855,11 @@ os_region_check (lang_output_section_statement_type *os, - } - else - { -- einfo (_("%X%P: region %s is full (%B section %s)\n"), -+ einfo (_("%X%P: region %s is full (%B section %s). Region needs to be %d bytes larger.\n"), - region->name, - os->bfd_section->owner, -- os->bfd_section->name); -+ os->bfd_section->name, -+ region->current - (region->origin + region->length)); - } - /* Reset the region pointer. */ - region->current = region->origin; -diff --git a/ld/ldmain.c b/ld/ldmain.c -index d0e0b12..fe24494 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -397,6 +397,14 @@ main (int argc, char **argv) - yyparse (); - lex_string = NULL; - } -+/* NG horrible hack, but it works and I haven't the time to do this properly */ -+#ifdef bfd_set_link_info -+ bfd_set_link_info(&link_info); -+#endif -+#ifdef bfd_set_force_make_executable -+ bfd_set_force_make_executable(force_make_executable); -+#endif -+ - - if (trace_file_tries) - { -diff --git a/ld/nios2_ld_xfail.lst b/ld/nios2_ld_xfail.lst -new file mode 100644 -index 0000000..b28b04f ---- /dev/null -+++ b/ld/nios2_ld_xfail.lst -@@ -0,0 +1,3 @@ -+ -+ -+ -diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d -index 4038cc8..13c9e00 100644 ---- a/ld/testsuite/ld-elf/merge.d -+++ b/ld/testsuite/ld-elf/merge.d -@@ -5,6 +5,7 @@ - #xfail: "hppa*-*-*" "h8300-*-*" "i960-*-*" "ip2k-*-*" "m32r-*-*" "mcore-*-*" - #xfail: "mn10*-*-*" "mips64*-*-linux*" "openrisc-*-*" "pj-*-*" "sparc*-*-*" - #xfail: "xtensa-*-*" -+#xfail: "nios2-*-*" - - .*: file format .*elf.* - -diff --git a/ld/testsuite/ld-elfcomm/elfcomm.exp b/ld/testsuite/ld-elfcomm/elfcomm.exp -index e5bd29b..cbeb00e 100644 ---- a/ld/testsuite/ld-elfcomm/elfcomm.exp -+++ b/ld/testsuite/ld-elfcomm/elfcomm.exp -@@ -56,6 +56,10 @@ proc dump_common1 { testname } { - return 1 - } - -+if [istarget nios2*-*-*] { -+ set CFLAGS "$CFLAGS -G0" -+} -+ - if { ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/common1a.c tmpdir/common1a.o] - || ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/common1b.c tmpdir/common1b.o] } { - unresolved $test1 -diff --git a/ld/testsuite/ld-scripts/cross2.t b/ld/testsuite/ld-scripts/cross2.t -index a0cdcbb..7cb7d6b 100644 ---- a/ld/testsuite/ld-scripts/cross2.t -+++ b/ld/testsuite/ld-scripts/cross2.t -@@ -2,5 +2,9 @@ NOCROSSREFS ( .text .data ) - SECTIONS - { - .text : { *(.text) *(.text.*) *(.pr) } -- .data : { *(.data) *(.data.*) *(.sdata) *(.rw) *(.tc0) *(.tc) *(.toc) } -+ .data : -+ { *(.data) *(.data.*) -+ _gp = ABSOLUTE(. + 0x7ff0); -+ *(.sdata) *(.rw) *(.tc0) *(.tc) *(.toc) -+ } - } -diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am -index ea621f2..1fe2456 100644 ---- a/opcodes/Makefile.am -+++ b/opcodes/Makefile.am -@@ -125,6 +125,8 @@ CFILES = \ - mmix-dis.c \ - mmix-opc.c \ - ns32k-dis.c \ -+ nios2-opc.c \ -+ nios2-dis.c \ - openrisc-asm.c \ - openrisc-desc.c \ - openrisc-dis.c \ -@@ -237,6 +239,8 @@ ALL_MACHINES = \ - mmix-opc.lo \ - msp430-dis.lo \ - ns32k-dis.lo \ -+ nios2-opc.lo \ -+ nios2-dis.lo \ - openrisc-asm.lo \ - openrisc-desc.lo \ - openrisc-dis.lo \ -@@ -739,6 +743,13 @@ mmix-opc.lo: mmix-opc.c $(INCDIR)/opcode/mmix.h $(INCDIR)/symcat.h - ns32k-dis.lo: ns32k-dis.c $(BFD_H) $(INCDIR)/ansidecl.h \ - $(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/dis-asm.h \ - $(INCDIR)/opcode/ns32k.h opintl.h -+nios2-opc.lo: nios2-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \ -+ $(INCDIR)/opcode/nios2.h -+nios2-dis.lo: nios2-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ -+ $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/opcode/nios2.h \ -+ opintl.h $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h \ -+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ -+ $(INCDIR)/elf/nios2.h $(INCDIR)/elf/reloc-macros.h - openrisc-asm.lo: openrisc-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \ - $(BFD_H) $(INCDIR)/symcat.h openrisc-desc.h $(INCDIR)/opcode/cgen.h \ - openrisc-opc.h opintl.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h \ -diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in -index 559194d..dc31a88 100644 ---- a/opcodes/Makefile.in -+++ b/opcodes/Makefile.in -@@ -236,6 +236,8 @@ CFILES = \ - mmix-dis.c \ - mmix-opc.c \ - ns32k-dis.c \ -+ nios2-opc.c \ -+ nios2-dis.c \ - openrisc-asm.c \ - openrisc-desc.c \ - openrisc-dis.c \ -@@ -348,6 +350,8 @@ ALL_MACHINES = \ - mmix-dis.lo \ - mmix-opc.lo \ - msp430-dis.lo \ -+ nios2-opc.lo \ -+ nios2-dis.lo \ - ns32k-dis.lo \ - openrisc-asm.lo \ - openrisc-desc.lo \ -@@ -1232,6 +1236,13 @@ mmix-dis.lo: mmix-dis.c $(INCDIR)/opcode/mmix.h $(INCDIR)/dis-asm.h \ - $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/libiberty.h \ - opintl.h - mmix-opc.lo: mmix-opc.c $(INCDIR)/opcode/mmix.h $(INCDIR)/symcat.h -+nios2-opc.lo: nios2-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \ -+ $(INCDIR)/opcode/nios2.h -+nios2-dis.lo: nios2-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ -+ $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/opcode/nios2.h \ -+ opintl.h $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h \ -+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ -+ $(INCDIR)/elf/nios2.h $(INCDIR)/elf/reloc-macros.h - ns32k-dis.lo: ns32k-dis.c $(BFD_H) $(INCDIR)/ansidecl.h \ - $(INCDIR)/symcat.h sysdep.h config.h $(INCDIR)/dis-asm.h \ - $(INCDIR)/opcode/ns32k.h opintl.h -diff --git a/opcodes/configure b/opcodes/configure -index 4a95a9a..561f1e0 100755 ---- a/opcodes/configure -+++ b/opcodes/configure -@@ -4661,6 +4661,7 @@ if test x${all_targets} = xfalse ; then - bfd_mn10200_arch) ta="$ta m10200-dis.lo m10200-opc.lo" ;; - bfd_mn10300_arch) ta="$ta m10300-dis.lo m10300-opc.lo" ;; - bfd_msp430_arch) ta="$ta msp430-dis.lo" ;; -+ bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.lo" ;; - bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;; - bfd_openrisc_arch) ta="$ta openrisc-asm.lo openrisc-desc.lo openrisc-dis.lo openrisc-ibld.lo openrisc-opc.lo" using_cgen=yes ;; - bfd_or32_arch) ta="$ta or32-dis.lo or32-opc.lo" using_cgen=yes ;; -diff --git a/opcodes/configure.in b/opcodes/configure.in -index 8919924..bfdcabc 100644 ---- a/opcodes/configure.in -+++ b/opcodes/configure.in -@@ -202,6 +202,7 @@ if test x${all_targets} = xfalse ; then - bfd_mn10200_arch) ta="$ta m10200-dis.lo m10200-opc.lo" ;; - bfd_mn10300_arch) ta="$ta m10300-dis.lo m10300-opc.lo" ;; - bfd_msp430_arch) ta="$ta msp430-dis.lo" ;; -+ bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.lo" ;; - bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;; - bfd_openrisc_arch) ta="$ta openrisc-asm.lo openrisc-desc.lo openrisc-dis.lo openrisc-ibld.lo openrisc-opc.lo" using_cgen=yes ;; - bfd_or32_arch) ta="$ta or32-dis.lo or32-opc.lo" using_cgen=yes ;; -diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c -index d5b17be..877e582 100644 ---- a/opcodes/disassemble.c -+++ b/opcodes/disassemble.c -@@ -72,6 +72,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - #define ARCH_z8k - #define ARCH_frv - #define ARCH_iq2000 -+#define ARCH_nios2 - #define INCLUDE_SHMEDIA - #endif - -@@ -375,6 +376,14 @@ disassembler (abfd) - disassemble = print_insn_iq2000; - break; - #endif -+#ifdef ARCH_nios2 -+ case bfd_arch_nios2: -+ if (bfd_big_endian (abfd)) -+ disassemble = print_insn_big_nios2; -+ else -+ disassemble = print_insn_little_nios2; -+ break; -+#endif - default: - return 0; - } -diff --git a/opcodes/nios2-dis.c b/opcodes/nios2-dis.c -new file mode 100644 -index 0000000..c164436 ---- /dev/null -+++ b/opcodes/nios2-dis.c -@@ -0,0 +1,462 @@ -+/* nios2-dis.c -- Altera New Jersey disassemble routines. -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+This file is part of GDB, GAS, and the GNU binutils. -+ -+GDB, GAS, and the GNU binutils are free software; you can redistribute -+them and/or modify them under the terms of the GNU General Public -+License as published by the Free Software Foundation; either version -+1, or (at your option) any later version. -+ -+GDB, GAS, and the GNU binutils are distributed in the hope that they -+will be useful, but WITHOUT ANY WARRANTY; without even the implied -+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -+the GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this file; see the file COPYING. If not, write to the Free -+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#include <stdlib.h> -+#include <assert.h> -+#include <string.h> -+#include "dis-asm.h" -+#include "opcode/nios2.h" -+ -+/* No symbol table is available when this code runs out in an embedded -+ system as when it is used for disassembler support in a monitor. */ -+ -+#if !defined(EMBEDDED_ENV) -+#define SYMTAB_AVAILABLE 1 -+#include "elf-bfd.h" -+#include "elf/nios2.h" -+#endif -+ -+/* length of New Jersey instruction in bytes */ -+#define INSNLEN 4 -+ -+/* helper function prototypes */ -+static int nios2_disassemble (bfd_vma, unsigned long, disassemble_info *); -+static void nios2_init_opcode_hash (void); -+ -+ -+static int nios2_print_insn_arg (const char *argptr, unsigned long opcode, -+ bfd_vma address, disassemble_info * info); -+ -+ -+/* print_insn_nios2 is the main disassemble function for New Jersey. -+ The function diassembler(abfd) (source in disassemble.c) returns a -+ pointer to this either print_insn_big_nios2 or -+ print_insn_little_nios2, which in turn call this function, when the -+ bfd machine type is New Jersey. print_insn_nios2 reads the -+ instruction word at the address given, and prints the disassembled -+ instruction on the stream info->stream using info->fprintf_func. */ -+ -+static int -+print_insn_nios2 (bfd_vma address, disassemble_info * info, -+ enum bfd_endian endianness) -+{ -+ /* buffer into which the instruction bytes are written */ -+ bfd_byte buffer[INSNLEN]; -+ /* used to indicate return status from function calls */ -+ int status; -+ -+ assert (info != NULL); -+ -+ status = (*info->read_memory_func) (address, buffer, INSNLEN, info); -+ if (status == 0) -+ { -+ unsigned long insn; -+ if (endianness == BFD_ENDIAN_BIG) -+ insn = (unsigned long) bfd_getb32 (buffer); -+ else -+ insn = (unsigned long) bfd_getl32 (buffer); -+ status = nios2_disassemble (address, insn, info); -+ } -+ else -+ { -+ (*info->memory_error_func) (status, address, info); -+ status = -1; -+ } -+ return status; -+} -+ -+int -+print_insn_big_nios2 (bfd_vma address, disassemble_info * info) -+{ -+ return print_insn_nios2 (address, info, BFD_ENDIAN_BIG); -+} -+ -+int -+print_insn_little_nios2 (bfd_vma address, disassemble_info * info) -+{ -+ return print_insn_nios2 (address, info, BFD_ENDIAN_LITTLE); -+} -+ -+/* Data structures used by the opcode hash table */ -+ -+typedef struct _nios2_opcode_hash -+{ -+ const struct nios2_opcode *opcode; -+ struct _nios2_opcode_hash *next; -+} nios2_opcode_hash; -+ -+static bfd_boolean nios2_hash_init = 0; -+static nios2_opcode_hash *nios2_hash[(OP_MASK_OP) + 1]; -+ -+/* separate hash table for pseudo-ops */ -+static nios2_opcode_hash *nios2_ps_hash[(OP_MASK_OP) + 1]; -+ -+/* Function to initialize the opcode hash table */ -+ -+void -+nios2_init_opcode_hash () -+{ -+ unsigned int i; -+ register const struct nios2_opcode *op; -+ nios2_opcode_hash *tmp_hash; -+ -+ for (i = 0; i <= OP_MASK_OP; ++i) -+ { -+ nios2_hash[0] = NULL; -+ } -+ for (i = 0; i <= OP_MASK_OP; i++) -+ { -+ for (op = nios2_opcodes; op < &nios2_opcodes[NUMOPCODES]; op++) -+ { -+ if ((op->pinfo & NIOS2_INSN_MACRO) == NIOS2_INSN_MACRO) -+ { -+ if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP) && -+ (op-> -+ pinfo & (NIOS2_INSN_MACRO_MOV | NIOS2_INSN_MACRO_MOVI) & -+ 0x7fffffff) != 0) -+ { -+ tmp_hash = nios2_ps_hash[i]; -+ if (tmp_hash == NULL) -+ { -+ tmp_hash = -+ (nios2_opcode_hash *) -+ malloc (sizeof (nios2_opcode_hash)); -+ nios2_ps_hash[i] = tmp_hash; -+ } -+ else -+ { -+ while (tmp_hash->next != NULL) -+ tmp_hash = tmp_hash->next; -+ tmp_hash->next = -+ (nios2_opcode_hash *) -+ malloc (sizeof (nios2_opcode_hash)); -+ tmp_hash = tmp_hash->next; -+ } -+ if (tmp_hash == NULL) -+ { -+ fprintf (stderr, -+ "error allocating memory...broken disassembler\n"); -+ abort (); -+ } -+ tmp_hash->opcode = op; -+ tmp_hash->next = NULL; -+ } -+ } -+ else if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP)) -+ { -+ tmp_hash = nios2_hash[i]; -+ if (tmp_hash == NULL) -+ { -+ tmp_hash = -+ (nios2_opcode_hash *) malloc (sizeof (nios2_opcode_hash)); -+ nios2_hash[i] = tmp_hash; -+ } -+ else -+ { -+ while (tmp_hash->next != NULL) -+ tmp_hash = tmp_hash->next; -+ tmp_hash->next = -+ (nios2_opcode_hash *) malloc (sizeof (nios2_opcode_hash)); -+ tmp_hash = tmp_hash->next; -+ } -+ if (tmp_hash == NULL) -+ { -+ fprintf (stderr, -+ "error allocating memory...broken disassembler\n"); -+ abort (); -+ } -+ tmp_hash->opcode = op; -+ tmp_hash->next = NULL; -+ } -+ } -+ } -+ nios2_hash_init = 1; -+#ifdef DEBUG_HASHTABLE -+ for (i = 0; i <= OP_MASK_OP; ++i) -+ { -+ printf ("index: 0x%02X ops: ", i); -+ tmp_hash = nios2_hash[i]; -+ if (tmp_hash != NULL) -+ { -+ while (tmp_hash != NULL) -+ { -+ printf ("%s ", tmp_hash->opcode->name); -+ tmp_hash = tmp_hash->next; -+ } -+ } -+ printf ("\n"); -+ } -+ -+ for (i = 0; i <= OP_MASK_OP; ++i) -+ { -+ printf ("index: 0x%02X ops: ", i); -+ tmp_hash = nios2_ps_hash[i]; -+ if (tmp_hash != NULL) -+ { -+ while (tmp_hash != NULL) -+ { -+ printf ("%s ", tmp_hash->opcode->name); -+ tmp_hash = tmp_hash->next; -+ } -+ } -+ printf ("\n"); -+ } -+#endif -+} -+ -+/* Function which returns a pointer to an nios2_opcode struct for -+ a given instruction opcode, or NULL if there is an error */ -+ -+const struct nios2_opcode * -+nios2_find_opcode_hash (unsigned long opcode) -+{ -+ nios2_opcode_hash *entry; -+ -+ /* Build a hash table to shorten the search time. */ -+ if (!nios2_hash_init) -+ { -+ nios2_init_opcode_hash (); -+ } -+ -+ /* first look in the pseudo-op hashtable */ -+ entry = nios2_ps_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; -+ -+ /* look for a match and if we get one, this is the instruction we decode */ -+ while (entry != NULL) -+ { -+ if ((entry->opcode->match) == (opcode & entry->opcode->mask)) -+ return entry->opcode; -+ else -+ entry = entry->next; -+ } -+ -+ /* if we haven't yet returned, then we need to look in the main -+ hashtable */ -+ entry = nios2_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; -+ -+ if (entry == NULL) -+ return NULL; -+ -+ -+ while (entry != NULL) -+ { -+ if ((entry->opcode->match) == (opcode & entry->opcode->mask)) -+ return entry->opcode; -+ else -+ entry = entry->next; -+ } -+ -+ return NULL; -+} -+ -+/* nios2_disassemble does all the work of disassembling a New Jersey -+ instruction opcode */ -+ -+int -+nios2_disassemble (bfd_vma address, unsigned long opcode, -+ disassemble_info * info) -+{ -+ const struct nios2_opcode *op; -+ const char *argstr; -+ -+ info->bytes_per_line = INSNLEN; -+ info->bytes_per_chunk = INSNLEN; -+ info->display_endian = info->endian; -+ info->insn_info_valid = 1; -+ info->branch_delay_insns = 0; -+ info->data_size = 0; -+ info->insn_type = dis_nonbranch; -+ info->target = 0; -+ info->target2 = 0; -+ -+ /* Find the major opcode and use this to disassemble -+ the instruction and its arguments */ -+ op = nios2_find_opcode_hash (opcode); -+ -+ if (op != NULL) -+ { -+ bfd_boolean is_nop = FALSE; -+ if (op->pinfo == NIOS2_INSN_MACRO_MOV) -+ { -+ /* check for mov r0, r0 and if it is -+ change to nop */ -+ int dst, src; -+ dst = GET_INSN_FIELD (RRD, opcode); -+ src = GET_INSN_FIELD (RRS, opcode); -+ if (dst == 0 && src == 0) -+ { -+ (*info->fprintf_func) (info->stream, "nop"); -+ is_nop = TRUE; -+ } -+ else -+ { -+ (*info->fprintf_func) (info->stream, "%s", op->name); -+ } -+ } -+ else -+ { -+ (*info->fprintf_func) (info->stream, "%s", op->name); -+ } -+ -+ if (!is_nop) -+ { -+ argstr = op->args; -+ if (argstr != NULL && *argstr != '\0') -+ { -+ (*info->fprintf_func) (info->stream, "\t"); -+ while (*argstr != '\0') -+ { -+ nios2_print_insn_arg (argstr, opcode, address, info); -+ ++argstr; -+ } -+ } -+ } -+ } -+ else -+ { -+ /* Handle undefined instructions. */ -+ info->insn_type = dis_noninsn; -+ (*info->fprintf_func) (info->stream, "0x%x", opcode); -+ } -+ // this tells the caller how far to advance the program counter -+ return INSNLEN; -+} -+ -+/* The function nios2_print_insn_arg uses the character pointed -+ to by argptr to determine how it print the next token or separator -+ character in the arguments to an instruction */ -+int -+nios2_print_insn_arg (const char *argptr, -+ unsigned long opcode, bfd_vma address, -+ disassemble_info * info) -+{ -+ unsigned long i = 0; -+ unsigned long reg_base; -+ -+ assert (argptr != NULL); -+ assert (info != NULL); -+ -+ switch (*argptr) -+ { -+ case ',': -+ case '(': -+ case ')': -+ (*info->fprintf_func) (info->stream, "%c", *argptr); -+ break; -+ case 'd': -+ i = GET_INSN_FIELD (RRD, opcode); -+ -+ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM -+ && GET_INSN_FIELD (CUSTOM_C, opcode) == 0) -+ reg_base = COPROCREGBASE; -+ else -+ reg_base = 0; -+ -+ if (i < NUMREGNAMES) -+ (*info->fprintf_func) (info->stream, "%s", -+ nios2_regs[i + reg_base].name); -+ else -+ (*info->fprintf_func) (info->stream, "unknown"); -+ break; -+ case 's': -+ i = GET_INSN_FIELD (RRS, opcode); -+ -+ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM -+ && GET_INSN_FIELD (CUSTOM_A, opcode) == 0) -+ reg_base = COPROCREGBASE; -+ else -+ reg_base = 0; -+ -+ if (i < NUMREGNAMES) -+ (*info->fprintf_func) (info->stream, "%s", -+ nios2_regs[i + reg_base].name); -+ else -+ (*info->fprintf_func) (info->stream, "unknown"); -+ break; -+ case 't': -+ i = GET_INSN_FIELD (RRT, opcode); -+ -+ if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM -+ && GET_INSN_FIELD (CUSTOM_B, opcode) == 0) -+ reg_base = COPROCREGBASE; -+ else -+ reg_base = 0; -+ -+ if (i < NUMREGNAMES) -+ (*info->fprintf_func) (info->stream, "%s", -+ nios2_regs[i + reg_base].name); -+ else -+ (*info->fprintf_func) (info->stream, "unknown"); -+ break; -+ case 'i': -+ /* 16-bit signed immediate */ -+ i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; -+ (*info->fprintf_func) (info->stream, "%d", i); -+ break; -+ case 'u': -+ /* 16-bit unsigned immediate */ -+ i = GET_INSN_FIELD (IMM16, opcode); -+ (*info->fprintf_func) (info->stream, "%d", i); -+ break; -+ case 'o': -+ /* 16-bit signed immediate address offset */ -+ i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; -+ address = address + 4 + i; /* NG changed to byte offset 1/9/03 */ -+ (*info->print_address_func) (address, info); -+ break; -+ case 'p': -+ /* 5-bit unsigned immediate */ -+ i = GET_INSN_FIELD (CACHE_OPX, opcode); -+ (*info->fprintf_func) (info->stream, "%d", i); -+ break; -+ case 'j': -+ /* 5-bit unsigned immediate */ -+ i = GET_INSN_FIELD (IMM5, opcode); -+ (*info->fprintf_func) (info->stream, "%d", i); -+ break; -+ case 'l': -+ /* 8-bit unsigned immediate */ -+ /* FIXME - not yet implemented */ -+ i = GET_INSN_FIELD (CUSTOM_N, opcode); -+ (*info->fprintf_func) (info->stream, "%u", i); -+ break; -+ case 'm': -+ /* 26-bit unsigned immediate */ -+ i = GET_INSN_FIELD (IMM26, opcode); -+ /* this translates to an address because its only used in call instructions */ -+ address = (address & 0xf0000000) | (i << 2); -+ (*info->print_address_func) (address, info); -+ break; -+ case 'c': -+ i = GET_INSN_FIELD (IMM5, opcode); /* ctrl register index */ -+ (*info->fprintf_func) (info->stream, "%s", -+ nios2_regs[CTLREGBASE + i].name); -+ break; -+ case 'b': -+ i = GET_INSN_FIELD (IMM5, opcode); -+ (*info->fprintf_func) (info->stream, "%d", i); -+ break; -+ default: -+ (*info->fprintf_func) (info->stream, "unknown"); -+ break; -+ } -+ return 0; -+} -diff --git a/opcodes/nios2-opc.c b/opcodes/nios2-opc.c -new file mode 100644 -index 0000000..c860207 ---- /dev/null -+++ b/opcodes/nios2-opc.c -@@ -0,0 +1,320 @@ -+/* nios2-opc.c -- Altera New Jersey opcode list. -+ -+ Copyright (C) 2003 -+ by Nigel Gray (ngray@altera.com). -+ -+This file is part of GDB, GAS, and the GNU binutils. -+ -+GDB, GAS, and the GNU binutils are free software; you can redistribute -+them and/or modify them under the terms of the GNU General Public -+License as published by the Free Software Foundation; either version -+1, or (at your option) any later version. -+ -+GDB, GAS, and the GNU binutils are distributed in the hope that they -+will be useful, but WITHOUT ANY WARRANTY; without even the implied -+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -+the GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this file; see the file COPYING. If not, write to the Free -+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#include <stdio.h> -+#include "opcode/nios2.h" -+ -+/* Register string table */ -+ -+const struct nios2_reg nios2_builtin_regs[] = { -+ {"zero", 0}, -+ {"at", 1}, // assembler temporary -+ {"r2", 2}, -+ {"r3", 3}, -+ {"r4", 4}, -+ {"r5", 5}, -+ {"r6", 6}, -+ {"r7", 7}, -+ {"r8", 8}, -+ {"r9", 9}, -+ {"r10", 10}, -+ {"r11", 11}, -+ {"r12", 12}, -+ {"r13", 13}, -+ {"r14", 14}, -+ {"r15", 15}, -+ {"r16", 16}, -+ {"r17", 17}, -+ {"r18", 18}, -+ {"r19", 19}, -+ {"r20", 20}, -+ {"r21", 21}, -+ {"r22", 22}, -+ {"r23", 23}, -+ {"et", 24}, -+ {"bt", 25}, -+ {"gp", 26}, /* global pointer */ -+ {"sp", 27}, /* stack pointer */ -+ {"fp", 28}, /* frame pointer */ -+ {"ea", 29}, /* exception return address */ -+ {"ba", 30}, /* breakpoint return address */ -+ {"ra", 31}, /* return address */ -+ -+ /* alternative names for special registers */ -+ {"r0", 0}, -+ {"r1", 1}, -+ {"r24", 24}, -+ {"r25", 25}, -+ {"r26", 26}, -+ {"r27", 27}, -+ {"r28", 28}, -+ {"r29", 29}, -+ {"r30", 30}, -+ {"r31", 31}, -+ -+ /* control register names */ -+ {"status", 0}, -+ {"estatus", 1}, -+ {"bstatus", 2}, -+ {"ienable", 3}, -+ {"ipending", 4}, -+ {"cpuid", 5}, -+ {"ctl6", 6}, -+ {"ctl7", 7}, -+ {"pteaddr", 8}, -+ {"tlbacc", 9}, -+ {"tlbmisc", 10}, -+ {"fstatus", 11}, -+ {"ctl12", 12}, -+ {"ctl13", 13}, -+ {"ctl14", 14}, -+ {"ctl15", 15}, -+ {"ctl16", 16}, -+ {"ctl17", 17}, -+ {"ctl18", 18}, -+ {"ctl19", 19}, -+ {"ctl20", 20}, -+ {"ctl21", 21}, -+ {"ctl22", 22}, -+ {"ctl23", 23}, -+ {"ctl24", 24}, -+ {"ctl25", 25}, -+ {"ctl26", 26}, -+ {"ctl27", 27}, -+ {"ctl28", 28}, -+ {"ctl29", 29}, -+ {"ctl30", 30}, -+ {"ctl31", 31}, -+ -+ /* alternative names for special control registers */ -+ {"ctl0", 0}, -+ {"ctl1", 1}, -+ {"ctl2", 2}, -+ {"ctl3", 3}, -+ {"ctl4", 4}, -+ {"ctl5", 5}, -+ {"ctl8", 8}, -+ {"ctl9", 9}, -+ {"ctl10", 10}, -+ {"ctl11", 11}, -+ -+ /* coprocessor register names */ -+ {"c0", 0}, -+ {"c1", 1}, -+ {"c2", 2}, -+ {"c3", 3}, -+ {"c4", 4}, -+ {"c5", 5}, -+ {"c6", 6}, -+ {"c7", 7}, -+ {"c8", 8}, -+ {"c9", 9}, -+ {"c10", 10}, -+ {"c11", 11}, -+ {"c12", 12}, -+ {"c13", 13}, -+ {"c14", 14}, -+ {"c15", 15}, -+ {"c16", 16}, -+ {"c17", 17}, -+ {"c18", 18}, -+ {"c19", 19}, -+ {"c20", 20}, -+ {"c21", 21}, -+ {"c22", 22}, -+ {"c23", 23}, -+ {"c24", 24}, -+ {"c25", 25}, -+ {"c26", 26}, -+ {"c27", 27}, -+ {"c28", 28}, -+ {"c29", 29}, -+ {"c30", 30}, -+ {"c31", 31}, -+}; -+ -+#define NIOS2_NUM_REGS \ -+ ((sizeof nios2_builtin_regs) / (sizeof (nios2_builtin_regs[0]))) -+const int nios2_num_builtin_regs = NIOS2_NUM_REGS; -+ -+/* const removed from the following to allow for dynamic extensions to the -+ * built-in instruction set. */ -+struct nios2_reg *nios2_regs = (struct nios2_reg *) nios2_builtin_regs; -+int nios2_num_regs = NIOS2_NUM_REGS; -+#undef NIOS2_NUM_REGS -+ -+/* overflow message string templates */ -+ -+char *overflow_msgs[] = { -+ "call target address 0x%08x out of range 0x%08x to 0x%08x", -+ "branch offset %d out of range %d to %d", -+ "%s offset %d out of range %d to %d", -+ "immediate value %d out of range %d to %d", -+ "immediate value %u out of range %u to %u", -+ "immediate value %u out of range %u to %u", -+ "custom instruction opcode %u out of range %u to %u", -+}; -+ -+ -+ -+/*-------------------------------------------------------------------------------- -+ This is the opcode table used by the New Jersey GNU as, disassembler and GDB -+ --------------------------------------------------------------------------------*/ -+ -+/* -+ The following letters can appear in the args field of the nios2_opcode -+ structure: -+ -+ c - a 5-bit control register index or break opcode -+ d - a 5-bit destination register index -+ s - a 5-bit left source register index -+ t - a 5-bit right source register index -+ i - a 16-bit signed immediate -+ u - a 16-bit unsigned immediate -+ -+ j - a 5-bit unsigned immediate -+ k - a 6-bit unsigned immediate -+ l - an 8-bit unsigned immediate -+ m - a 26-bit unsigned immediate -+*/ -+ -+/* *INDENT-OFF* */ -+/* FIXME: Re-format for GNU standards */ -+const struct nios2_opcode nios2_builtin_opcodes[] = -+{ -+ /* name, args, args_test num_args, match, mask, pinfo */ -+ {"add", "d,s,t", "d,s,t,E", 3, OP_MATCH_ADD, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"addi", "t,s,i", "t,s,i,E", 3, OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_ADDI, signed_immed16_overflow }, -+ {"subi", "t,s,i", "t,s,i,E", 3, OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, -+ {"and", "d,s,t", "d,s,t,E", 3, OP_MATCH_AND, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"andhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ANDHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, -+ {"andi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ANDI, OP_MASK_IOP, NIOS2_INSN_ANDI, unsigned_immed16_overflow }, -+ {"beq", "s,t,o", "s,t,o,E", 3, OP_MATCH_BEQ, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bge", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bgeu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bgt", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bgtu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"ble", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bleu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"blt", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bltu", "s,t,o", "s,t,o,E", 3, OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"bne", "s,t,o", "s,t,o,E", 3, OP_MATCH_BNE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow }, -+ {"br", "o", "o,E", 1, OP_MATCH_BR, OP_MASK_IOP, NIOS2_INSN_UBRANCH, branch_target_overflow }, -+ {"break", "b", "b,E", 1, OP_MATCH_BREAK, OP_MASK_BREAK, 0, no_overflow }, -+ {"bret", "", "E", 0, OP_MATCH_BRET, OP_MASK, 0, no_overflow }, -+ {"flushd", "i(s)", "i(s)E", 2, OP_MATCH_FLUSHD, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"flushda", "i(s)", "i(s)E", 2, OP_MATCH_FLUSHDA, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"flushi", "s", "s,E", 1, OP_MATCH_FLUSHI, OP_MASK_FLUSHI, 0, no_overflow }, -+ {"flushp", "", "E", 0, OP_MATCH_FLUSHP, OP_MASK, 0, no_overflow }, -+ {"initd", "i(s)", "i(s)E", 2, OP_MATCH_INITD, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"initi", "s", "s,E", 1, OP_MATCH_INITI, OP_MASK_INITI, 0, no_overflow }, -+ {"call", "m", "m,E", 1, OP_MATCH_CALL, OP_MASK_IOP, NIOS2_INSN_CALL, call_target_overflow }, -+ {"callr", "s", "s,E", 1, OP_MATCH_CALLR, OP_MASK_CALLR, 0, no_overflow }, -+ {"cmpeq", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPEQ, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmpeqi", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPEQI, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"cmpge", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmpgei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPGEI, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"cmpgeu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmpgeui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPGEUI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, -+ {"cmpgt", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, -+ {"cmpgti", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPGEI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, -+ {"cmpgtu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, -+ {"cmpgtui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPGEUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow }, -+ {"cmple", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, -+ {"cmplei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPLTI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow }, -+ {"cmpleu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow }, -+ {"cmpleui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPLTUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow }, -+ {"cmplt", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmplti", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPLTI, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"cmpltu", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmpltui", "t,s,u", "t,s,u,E", 3, OP_MATCH_CMPLTUI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, -+ {"cmpne", "d,s,t", "d,s,t,E", 3, OP_MATCH_CMPNE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"cmpnei", "t,s,i", "t,s,i,E", 3, OP_MATCH_CMPNEI, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"div", "d,s,t", "d,s,t,E", 3, OP_MATCH_DIV, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"divu", "d,s,t", "d,s,t,E", 3, OP_MATCH_DIVU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"jmp", "s", "s,E", 1, OP_MATCH_JMP, OP_MASK_JMP, 0, no_overflow }, -+ {"jmpi", "m", "m,E", 1, OP_MATCH_JMPI, OP_MASK_IOP, 0, no_overflow }, -+ {"ldb", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDB, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldbio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldbu", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBU, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldbuio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDBUIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldh", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDH, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldhio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldhu", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHU, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldhuio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDHUIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldw", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDW, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"ldwio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDWIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"mov", "d,s", "d,s,E", 2, OP_MATCH_ADD, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, NIOS2_INSN_MACRO_MOV, no_overflow }, -+ {"movhi", "t,u", "t,u,E", 2, OP_MATCH_ORHI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow }, -+ {"movui", "t,u", "t,u,E", 2, OP_MATCH_ORI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow }, -+ {"movi", "t,i", "t,i,E", 2, OP_MATCH_ADDI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, signed_immed16_overflow }, -+ /* movia expands to two instructions so there is no mask or match */ -+ {"movia", "t,o", "t,o,E", 2, OP_MATCH_ORHI, OP_MASK_IOP, NIOS2_INSN_MACRO_MOVIA, no_overflow }, -+ {"mul", "d,s,t", "d,s,t,E", 3, OP_MATCH_MUL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"muli", "t,s,i", "t,s,i,E", 3, OP_MATCH_MULI, OP_MASK_IOP, 0, signed_immed16_overflow }, -+ {"mulxss", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXSS, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"mulxsu", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXSU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"mulxuu", "d,s,t", "d,s,t,E", 3, OP_MATCH_MULXUU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"nextpc", "d", "d,E", 1, OP_MATCH_NEXTPC, OP_MASK_NEXTPC, 0, no_overflow }, -+ {"nop", "", "E", 0, OP_MATCH_ADD, OP_MASK, NIOS2_INSN_MACRO_MOV, no_overflow }, -+ {"nor", "d,s,t", "d,s,t,E", 3, OP_MATCH_NOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"or", "d,s,t", "d,s,t,E", 3, OP_MATCH_OR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"orhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_ORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, -+ {"ori", "t,s,u", "t,s,u,E", 3, OP_MATCH_ORI, OP_MASK_IOP, NIOS2_INSN_ORI, unsigned_immed16_overflow }, -+ {"rdctl", "d,c", "d,c,E", 2, OP_MATCH_RDCTL, OP_MASK_RDCTL, 0, no_overflow }, -+ {"ret", "", "E", 0, OP_MATCH_RET, OP_MASK, 0, no_overflow }, -+ {"rol", "d,s,t", "d,s,t,E", 3, OP_MATCH_ROL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"roli", "d,s,j", "d,s,j,E", 3, OP_MATCH_ROLI, OP_MASK_ROLI, 0, unsigned_immed5_overflow }, -+ {"ror", "d,s,t", "d,s,t,E", 3, OP_MATCH_ROR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"sll", "d,s,t", "d,s,t,E", 3, OP_MATCH_SLL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"slli", "d,s,j", "d,s,j,E", 3, OP_MATCH_SLLI, OP_MASK_SLLI, 0, unsigned_immed5_overflow }, -+ {"sra", "d,s,t", "d,s,t,E", 3, OP_MATCH_SRA, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"srai", "d,s,j", "d,s,j,E", 3, OP_MATCH_SRAI, OP_MASK_SRAI, 0, unsigned_immed5_overflow }, -+ {"srl", "d,s,t", "d,s,t,E", 3, OP_MATCH_SRL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"srli", "d,s,j", "d,s,j,E", 3, OP_MATCH_SRLI, OP_MASK_SRLI, 0, unsigned_immed5_overflow }, -+ {"stb", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STB, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"stbio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STBIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"sth", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STH, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"sthio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STHIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"stw", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STW, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"stwio", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STWIO, OP_MASK_IOP, 0, address_offset_overflow }, -+ {"sub", "d,s,t", "d,s,t,E", 3, OP_MATCH_SUB, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"sync", "", "E", 0, OP_MATCH_SYNC, OP_MASK_SYNC, 0, no_overflow }, -+ {"trap", "", "E", 0, OP_MATCH_TRAP, OP_MASK_TRAP, 0, no_overflow }, -+ {"eret", "", "E", 0, OP_MATCH_ERET, OP_MASK, 0, no_overflow }, -+ {"custom", "l,d,s,t", "l,d,s,t,E", 4, OP_MATCH_CUSTOM, OP_MASK_ROP, 0, custom_opcode_overflow }, -+ {"wrctl", "c,s", "c,s,E", 2, OP_MATCH_WRCTL, OP_MASK_WRCTL, 0, no_overflow }, -+ {"xor", "d,s,t", "d,s,t,E", 3, OP_MATCH_XOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow }, -+ {"xorhi", "t,s,u", "t,s,u,E", 3, OP_MATCH_XORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow }, -+ {"xori", "t,s,u", "t,s,u,E", 3, OP_MATCH_XORI, OP_MASK_IOP, NIOS2_INSN_XORI, unsigned_immed16_overflow } -+}; -+/* *INDENT-ON* */ -+ -+#define NIOS2_NUM_OPCODES \ -+ ((sizeof nios2_builtin_opcodes) / (sizeof (nios2_builtin_opcodes[0]))) -+const int bfd_nios2_num_builtin_opcodes = NIOS2_NUM_OPCODES; -+ -+/* const removed from the following to allow for dynamic extensions to the -+ * built-in instruction set. */ -+struct nios2_opcode *nios2_opcodes = -+ (struct nios2_opcode *) nios2_builtin_opcodes; -+int bfd_nios2_num_opcodes = NIOS2_NUM_OPCODES; -+#undef NIOS2_NUM_OPCODES |