diff options
author | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-07-06 21:17:14 +0200 |
---|---|---|
committer | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-07-06 21:21:00 +0200 |
commit | efaed573357cafd2cd54c700ae2eab18014882e7 (patch) | |
tree | 597e009583c6f8e1f094b022992ad376f39f4d4f /recipes | |
parent | 9101746564c9d3b9a9c6fec8020bd6d304634543 (diff) |
binutils 2.17.50.0.12: added nios2 support
added nios2 support
this is based upon the windriver toolchain
(see http://www.nioswiki.com/Build_the_gcc4_toolchain for details).
The nios2 changes are lifted from the wrs toolchain and
ported to 2.17.50.0.12.
Also solved a few bugs
As there is no functional change for other platforms no PR bump is needed
(the patches are only applied for nios2 machines)
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes')
3 files changed, 41596 insertions, 0 deletions
diff --git a/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2-files.patch b/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2-files.patch new file mode 100644 index 0000000000..fc77ca2fea --- /dev/null +++ b/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2-files.patch @@ -0,0 +1,41015 @@ +Index: binutils-2.17.50.0.12/bfd/cpu-nios2.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/bfd/cpu-nios2.c 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,71 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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]); +Index: binutils-2.17.50.0.12/bfd/elf32-nios2.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/bfd/elf32-nios2.c 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,4992 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* New Jersey-specific support for 32-bit ELF ++ ++ Copyright (C) 2005 ++ by Nigel Gray (ngray@altera.com). ++ ++ Copyright (C) 2008, CodeSourcery Inc. ++ ++ ++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 *); ++#if 0 ++static bfd_boolean nios2_elf32_relax_delete_bytes ++ (bfd *, asection *, bfd_vma, int); ++#endif ++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_pcrel_lo16_relocate ++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); ++ ++static bfd_reloc_status_type nios2_elf32_pcrel_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_pcrel_lo16_relocate ++ (bfd *, reloc_howto_type *, asection *, ++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma); ++ ++static bfd_reloc_status_type nios2_elf32_do_pcrel_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 bfd_boolean nios2_elf32_section_from_shdr ++ (bfd *, Elf_Internal_Shdr *, const char *name, int shindex); ++ ++static bfd_boolean nios2_elf32_section_flags ++ (flagword *, const 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); ++ ++void ++_bfd_set_link_info (struct bfd_link_info *info); ++ ++void ++_bfd_set_force_make_executable (bfd_boolean force); ++ ++ ++/* Target vector. */ ++extern const bfd_target bfd_elf32_littlenios2_vec; ++extern const bfd_target bfd_elf32_bignios2_vec; ++ ++/* Offset of tp and dtp pointers from start of TLS block. */ ++#define TP_OFFSET 0x7000 ++#define DTP_OFFSET 0x8000 ++ ++/* 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), ++ ++ ++ HOWTO (R_NIOS2_GOT16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOT16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_CALL16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_CALL16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF_LO, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF_LO", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF_HA, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF_HA", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_PCREL_LO, ++ 0, ++ 2, ++ 16, ++ TRUE, ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_pcrel_lo16_relocate, ++ "R_NIOS2_PCREL_LO", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ TRUE), ++ ++ HOWTO (R_NIOS2_PCREL_HA, ++ 0, ++ 2, ++ 16, ++ FALSE, /* This is a PC-relative relocation, but we need to subtract ++ PC ourselves before the HIADJ. */ ++ 6, ++ complain_overflow_dont, ++ nios2_elf32_pcrel_hiadj16_relocate, ++ "R_NIOS2_PCREL_HA", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ TRUE), ++ ++ HOWTO (R_NIOS2_TLS_GD16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_GD16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LDM16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LDM16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LDO16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LDO16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_IE16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_IE16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_LE16, ++ 0, ++ 2, ++ 16, ++ FALSE, ++ 6, ++ complain_overflow_bitfield, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_LE16", ++ FALSE, ++ 0x003fffc0, ++ 0x003fffc0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_DTPMOD, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_DTPMOD", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_DTPREL, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_DTPREL", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_TLS_TPREL, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_TLS_TPREL", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_COPY, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_COPY", ++ FALSE, ++ 0, ++ 0, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GLOB_DAT, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GLOB_DAT", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_JUMP_SLOT, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_JUMP_SLOT", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_RELATIVE, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_RELATIVE", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++ HOWTO (R_NIOS2_GOTOFF, ++ 0, ++ 2, ++ 32, ++ FALSE, ++ 0, ++ complain_overflow_dont, ++ bfd_elf_generic_reloc, ++ "R_NIOS2_GOTOFF", ++ FALSE, ++ 0xffffffff, ++ 0xffffffff, ++ FALSE), ++ ++/* 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}, ++ {BFD_RELOC_NIOS2_GOT16, R_NIOS2_GOT16}, ++ {BFD_RELOC_NIOS2_CALL16, R_NIOS2_CALL16}, ++ {BFD_RELOC_NIOS2_GOTOFF_LO, R_NIOS2_GOTOFF_LO}, ++ {BFD_RELOC_NIOS2_GOTOFF_HA, R_NIOS2_GOTOFF_HA}, ++ {BFD_RELOC_NIOS2_PCREL_LO, R_NIOS2_PCREL_LO}, ++ {BFD_RELOC_NIOS2_PCREL_HA, R_NIOS2_PCREL_HA}, ++ {BFD_RELOC_NIOS2_TLS_GD16, R_NIOS2_TLS_GD16}, ++ {BFD_RELOC_NIOS2_TLS_LDM16, R_NIOS2_TLS_LDM16}, ++ {BFD_RELOC_NIOS2_TLS_LDO16, R_NIOS2_TLS_LDO16}, ++ {BFD_RELOC_NIOS2_TLS_IE16, R_NIOS2_TLS_IE16}, ++ {BFD_RELOC_NIOS2_TLS_LE16, R_NIOS2_TLS_LE16}, ++ {BFD_RELOC_NIOS2_TLS_DTPMOD, R_NIOS2_TLS_DTPMOD}, ++ {BFD_RELOC_NIOS2_TLS_DTPREL, R_NIOS2_TLS_DTPREL}, ++ {BFD_RELOC_NIOS2_TLS_TPREL, R_NIOS2_TLS_TPREL}, ++ {BFD_RELOC_NIOS2_COPY, R_NIOS2_COPY}, ++ {BFD_RELOC_NIOS2_GLOB_DAT, R_NIOS2_GLOB_DAT}, ++ {BFD_RELOC_NIOS2_JUMP_SLOT, R_NIOS2_JUMP_SLOT}, ++ {BFD_RELOC_NIOS2_RELATIVE, R_NIOS2_RELATIVE}, ++ {BFD_RELOC_NIOS2_GOTOFF, R_NIOS2_GOTOFF} ++}; ++ ++/* The Nios II linker needs to keep track of the number of relocs that it ++ decides to copy as dynamic relocs in check_relocs for each symbol. ++ This is so that it can later discard them if they are found to be ++ unnecessary. We store the information in a field extending the ++ regular ELF linker hash table. */ ++ ++struct elf32_nios2_dyn_relocs ++{ ++ struct elf32_nios2_dyn_relocs *next; ++ ++ /* The input section of the reloc. */ ++ asection *sec; ++ ++ /* Total number of relocs copied for the input section. */ ++ bfd_size_type count; ++ ++ /* Number of pc-relative relocs copied for the input section. */ ++ bfd_size_type pc_count; ++}; ++ ++/* Nios II ELF linker hash entry. */ ++ ++struct elf32_nios2_link_hash_entry ++{ ++ struct elf_link_hash_entry root; ++ ++ /* Track dynamic relocs copied for this symbol. */ ++ struct elf32_nios2_dyn_relocs *dyn_relocs; ++ ++#define GOT_UNKNOWN 0 ++#define GOT_NORMAL 1 ++#define GOT_TLS_GD 2 ++#define GOT_TLS_IE 4 ++ unsigned char tls_type; ++ ++ /* We need to detect and take special action for symbols which are only ++ referenced with %call() and not with %got(). Such symbols do not need ++ a dynamic GOT reloc in shared objects, only a dynamic PLT reloc. Lazy ++ linking will not work if the dynamic GOT reloc exists. ++ To check for this condition efficiently, we compare got_types_used against ++ CALL16_USED, meaning ++ (got_types_used & (GOT16_USED | CALL16_USED)) == CALL16_USED. */ ++#define GOT16_USED 1 ++#define CALL16_USED 2 ++ unsigned char got_types_used; ++}; ++ ++#define elf32_nios2_hash_entry(ent) \ ++ ((struct elf32_nios2_link_hash_entry *) (ent)) ++ ++/* Get the Nios II elf linker hash table from a link_info structure. */ ++#define elf32_nios2_hash_table(info) \ ++ ((struct elf32_nios2_link_hash_table *) ((info)->hash)) ++ ++/* Nios II ELF linker hash table. */ ++struct elf32_nios2_link_hash_table ++ { ++ /* The main hash table. */ ++ struct elf_link_hash_table root; ++ ++ /* Short-cuts to get to dynamic linker sections. */ ++ asection *sgot; ++ asection *sgotplt; ++ asection *srelgot; ++ asection *splt; ++ asection *srelplt; ++ asection *sdynbss; ++ asection *srelbss; ++ asection *sbss; ++ ++ union { ++ bfd_signed_vma refcount; ++ bfd_vma offset; ++ } tls_ldm_got; ++ ++ /* Small local sym to section mapping cache. */ ++ struct sym_sec_cache sym_sec; ++ ++ bfd_vma res_n_size; ++ }; ++ ++struct nios2_elf32_obj_tdata ++{ ++ struct elf_obj_tdata root; ++ ++ /* tls_type for each local got entry. */ ++ char *local_got_tls_type; ++ ++ /* TRUE if TLS GD relocs have been seen for this object. */ ++ bfd_boolean has_tlsgd; ++}; ++ ++#define elf32_nios2_tdata(abfd) \ ++ ((struct nios2_elf32_obj_tdata *) (abfd)->tdata.any) ++ ++#define elf32_nios2_local_got_tls_type(abfd) \ ++ (elf32_nios2_tdata (abfd)->local_got_tls_type) ++ ++/* The name of the dynamic interpreter. This is put in the .interp ++ section. */ ++ ++#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1" ++ ++/* PLT implementation for position-dependent code. */ ++ ++static const bfd_vma nios2_plt_entry[] = { /* .PLTn: */ ++ 0x03c00034, /* movhi r15, %hiadj(plt_got_slot_address) */ ++ 0x7bc00017, /* ldw r15, %lo(plt_got_slot_address)(r15) */ ++ 0x7800683a /* jmp r15 */ ++}; ++ ++static const bfd_vma nios2_plt0_entry[] = { /* .PLTresolve */ ++ 0x03800034, /* movhi r14, %hiadj(res_0) */ ++ 0x73800004, /* addi r14, r14, %lo(res_0) */ ++ 0x7b9fc83a, /* sub r15, r15, r14 */ ++ 0x03400034, /* movhi r13, %hiadj(_GLOBAL_OFFSET_TABLE_) */ ++ 0x6b800017, /* ldw r14, %lo(_GLOBAL_OFFSET_TABLE_+4)(r13) */ ++ 0x6b400017, /* ldw r13, %lo(_GLOBAL_OFFSET_TABLE_+8)(r13) */ ++ 0x6800683a /* jmp r13 */ ++}; ++ ++/* PLT implementation for position-independent code. */ ++ ++static const bfd_vma nios2_so_plt_entry[] = { /* .PLTn */ ++ 0x03c00034, /* movhi r15, %hiadj(index * 4) */ ++ 0x7bc00004, /* addi r15, r15, %lo(index * 4) */ ++ 0x00000006 /* br .PLTresolve */ ++}; ++ ++static const bfd_vma nios2_so_plt0_entry[] = { /* .PLTresolve */ ++ 0x001ce03a, /* nextpc r14 */ ++ 0x03400034, /* movhi r13, %hiadj(_GLOBAL_OFFSET_TABLE_) */ ++ 0x6b9b883a, /* add r13, r13, r14 */ ++ 0x6b800017, /* ldw r14, %lo(_GLOBAL_OFFSET_TABLE_+4)(r13) */ ++ 0x6b400017, /* ldw r13, %lo(_GLOBAL_OFFSET_TABLE_+8)(r13) */ ++ 0x6800683a /* jmp r13 */ ++}; ++ ++/* Support for core dump NOTE sections */ ++static bfd_boolean ++nios2_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) ++{ ++ int offset; ++ size_t size; ++ ++ switch (note->descsz) ++ { ++ default: ++ return FALSE; ++ ++ case 212: /* Linux/Nios II */ ++ /* pr_cursig */ ++ elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); ++ ++ /* pr_pid */ ++ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24); ++ ++ /* pr_reg */ ++ offset = 72; ++ size = 136; ++ ++ break; ++ } ++ ++ /* Make a ".reg/999" section. */ ++ return _bfd_elfcore_make_pseudosection (abfd, ".reg", ++ size, note->descpos + offset); ++} ++ ++static bfd_boolean ++nios2_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) ++{ ++ switch (note->descsz) ++ { ++ default: ++ return FALSE; ++ ++ case 124: /* Linux/Nios II elf_prpsinfo */ ++ elf_tdata (abfd)->core_program ++ = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); ++ elf_tdata (abfd)->core_command ++ = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); ++ } ++ ++ /* Note that for some reason, a spurious space is tacked ++ onto the end of the args in some (at least one anyway) ++ implementations, so strip it off if it exists. */ ++ ++ { ++ char *command = elf_tdata (abfd)->core_command; ++ int n = strlen (command); ++ ++ if (0 < n && command[n - 1] == ' ') ++ command[n - 1] = '\0'; ++ } ++ ++ return TRUE; ++} ++ ++/* Create an entry in a Nios II ELF linker hash table. */ ++ ++static struct bfd_hash_entry * ++link_hash_newfunc (struct bfd_hash_entry *entry, ++ struct bfd_hash_table *table, const char *string) ++{ ++ /* Allocate the structure if it has not already been allocated by a ++ subclass. */ ++ if (entry == NULL) ++ { ++ entry = bfd_hash_allocate (table, ++ sizeof (struct elf32_nios2_link_hash_entry)); ++ if (entry == NULL) ++ return entry; ++ } ++ ++ /* Call the allocation method of the superclass. */ ++ entry = _bfd_elf_link_hash_newfunc (entry, table, string); ++ if (entry != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh; ++ ++ eh = (struct elf32_nios2_link_hash_entry *) entry; ++ eh->dyn_relocs = NULL; ++ eh->tls_type = GOT_UNKNOWN; ++ eh->got_types_used = 0; ++ } ++ ++ return entry; ++} ++ ++/* 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; ++} ++ ++/* Given a reloc name, return a howto structure. */ ++ ++static reloc_howto_type * ++nios2_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, ++ const char *r_name) ++{ ++ unsigned int i; ++ for (i = 0; ++ i < (sizeof (elf_nios2_howto_table_rel) ++ / sizeof (elf_nios2_howto_table_rel[0])); ++ i++) ++ if (elf_nios2_howto_table_rel[i].name != NULL ++ && strcasecmp (elf_nios2_howto_table_rel[i].name, r_name) == 0) ++ return &elf_nios2_howto_table_rel[i]; ++ ++ 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??? */ ++} ++ ++/* Return the base VMA address which should be subtracted from real addresses ++ when resolving @dtpoff relocation. ++ This is PT_TLS segment p_vaddr. */ ++ ++static bfd_vma ++dtpoff_base (struct bfd_link_info *info) ++{ ++ /* If tls_sec is NULL, we should have signalled an error already. */ ++ if (elf_hash_table (info)->tls_sec == NULL) ++ return 0; ++ return elf_hash_table (info)->tls_sec->vma; ++} ++ ++/* Return the relocation value for @tpoff relocation ++ if STT_TLS virtual address is ADDRESS. */ ++ ++static bfd_vma ++tpoff (struct bfd_link_info *info, bfd_vma address) ++{ ++ struct elf_link_hash_table *htab = elf_hash_table (info); ++ ++ /* If tls_sec is NULL, we should have signalled an error already. */ ++ if (htab->tls_sec == NULL) ++ return 0; ++ return address - htab->tls_sec->vma; ++} ++ ++/* 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->size == 0) ++ sec->size = sec->rawsize; ++ ++ 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->rawsize); ++ if (contents == NULL) ++ goto error_return; ++ ++ if (!bfd_get_section_contents (abfd, sec, contents, ++ (file_ptr) 0, sec->rawsize)) ++ 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; ++} ++#if 0 ++/* 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->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->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; ++} ++#endif ++struct bfd_link_info *nios2_link_info = NULL; ++ ++void ++_bfd_set_link_info (struct bfd_link_info *info) ++{ ++ nios2_link_info = info; ++} ++ ++bfd_boolean linker_force_make_executable = FALSE; ++ ++void ++_bfd_set_force_make_executable (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_pcrel_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_pcrel_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_pcrel_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_pcrel_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); ++} ++ ++/* The usual way of loading a 32-bit constant into a Nios II register is to ++ load the high 16 bits in one instruction and then add the low 16 bits with ++ a signed add. This means that the high halfword needs to be adjusted to ++ compensate for the sign bit of the low halfword. This function returns the ++ adjusted high halfword for a given 32-bit constant. */ ++ ++static bfd_vma hiadj(bfd_vma symbol_value) ++{ ++ return ++ (((symbol_value >> 16) & 0xffff) + ((symbol_value >> 15) & 0x01)) & 0xffff; ++} ++ ++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 = hiadj(symbol_value); ++ return _bfd_final_link_relocate (howto, abfd, input_section, data, offset, ++ symbol_value, addend); ++} ++ ++static bfd_reloc_status_type ++nios2_elf32_do_pcrel_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_pcrel_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; ++ symbol_value -= (input_section->output_section->vma + ++ input_section->output_offset); ++ symbol_value -= offset; ++ addend = 0; ++ symbol_value = hiadj(symbol_value); ++ 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; ++ struct elf32_nios2_link_hash_table *htab; ++ asection *sgot; ++ asection *splt; ++ asection *sreloc = NULL; ++ bfd_vma *local_got_offsets; ++ bfd *dynobj = NULL; ++ ++ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; ++ sym_hashes = elf_sym_hashes (input_bfd); ++ relend = relocs + input_section->reloc_count; ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ splt = htab->splt; ++ local_got_offsets = elf_local_got_offsets (input_bfd); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++#if 0 ++ size_t psymalloc = 0; ++ _bfd_generic_link_output_symbols(output_bfd, input_bfd, info, &psymalloc); ++#endif ++ 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; ++ struct elf32_nios2_link_hash_entry *eh; ++ 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; ++ bfd_boolean unresolved_reloc; ++ bfd_vma off; ++ int use_plt; ++ ++ ++ ++ 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 = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); ++ } ++ else ++ { ++ bfd_boolean warned; ++ ++ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, ++ r_symndx, symtab_hdr, sym_hashes, ++ h, sec, relocation, ++ unresolved_reloc, warned); ++ } ++ ++ if (sec != NULL && elf_discarded_section (sec)) ++ { ++ /* For relocs against symbols from removed linkonce sections, ++ or sections discarded by a linker script, we just want the ++ section contents zeroed. Avoid any special processing. */ ++ _bfd_clear_contents (howto, input_bfd, contents + rel->r_offset); ++ rel->r_info = 0; ++ rel->r_addend = 0; ++ continue; ++ } ++ ++ if (sec && sec->output_section != NULL) ++ 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_PCREL_LO: ++ r = ++ nios2_elf32_do_pcrel_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_PCREL_HA: ++ r = ++ nios2_elf32_do_pcrel_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: ++ /* Handle relocations which should use the PLT entry. ++ NIOS2_BFD_RELOC_32 relocations will use the symbol's value, ++ which may point to a PLT entry, but we don't need to handle ++ that here. If we created a PLT entry, all branches in this ++ object should go to it. */ ++ if (h != NULL && splt != NULL && h->plt.offset != (bfd_vma) -1) ++ { ++ /* If we've created a .plt section, and assigned a PLT entry ++ to this function, it should not be known to bind locally. ++ If it were, we would have cleared the PLT entry. */ ++ BFD_ASSERT (!SYMBOL_CALLS_LOCAL (info, h)); ++ ++ relocation = (splt->output_section->vma ++ + splt->output_offset ++ + h->plt.offset); ++ ++ unresolved_reloc = FALSE; ++ } ++ 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; ++ /* 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; ++ ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ /* Relocation is to the entry for this symbol in the ++ global offset table. */ ++ if (sgot == NULL) ++ { ++ r = bfd_reloc_notsupported; ++ break; ++ } ++ ++ use_plt = 0; ++ ++ if (h != NULL) ++ { ++ bfd_boolean dyn; ++ ++ eh = (struct elf32_nios2_link_hash_entry *)h; ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ off = h->got.offset; ++ BFD_ASSERT (off != (bfd_vma) -1); ++ dyn = elf_hash_table (info)->dynamic_sections_created; ++ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ || (info->shared ++ && SYMBOL_REFERENCES_LOCAL (info, h)) ++ || (ELF_ST_VISIBILITY (h->other) ++ && h->root.type == bfd_link_hash_undefweak)) ++ { ++ /* This is actually a static link, or it is a -Bsymbolic ++ link and the symbol is defined locally. We must ++ initialize this entry in the global offset table. ++ Since the offset must always be a multiple of 4, we ++ use the least significant bit to record whether we ++ have initialized it already. ++ ++ When doing a dynamic link, we create a .rela.got ++ relocation entry to initialize the value. This is ++ done in the finish_dynamic_symbol routine. */ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_put_32 (output_bfd, relocation, ++ sgot->contents + off); ++ h->got.offset |= 1; ++ } ++ } ++ else ++ unresolved_reloc = FALSE; ++ } ++ else ++ { ++ BFD_ASSERT (local_got_offsets != NULL && ++ local_got_offsets[r_symndx] != (bfd_vma) -1); ++ ++ off = local_got_offsets[r_symndx]; ++ ++ /* The offset must always be a multiple of 4. We use the ++ least significant bit to record whether we have already ++ generated the necessary reloc. */ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_put_32 (output_bfd, relocation, ++ sgot->contents + off); ++ ++ if (info->shared) ++ { ++ asection * srelgot; ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ ++ srelgot = htab->srelgot; ++ BFD_ASSERT (srelgot != NULL); ++ ++ outrel.r_addend = relocation; ++ outrel.r_offset = (sgot->output_section->vma ++ + sgot->output_offset ++ + off); ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ loc = srelgot->contents; ++ loc += (srelgot->reloc_count++ * ++ sizeof (Elf32_External_Rela)); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ } ++ ++ local_got_offsets[r_symndx] |= 1; ++ } ++ } ++ ++ if (use_plt && info->shared) ++ { ++ off = ((h->plt.offset - 24) / 12 + 3) * 4; ++ relocation = htab->sgotplt->output_offset + off; ++ } ++ else ++ relocation = sgot->output_offset + off; ++ ++ /* This relocation does not use the addend. */ ++ rel->r_addend = 0; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ ++ case R_NIOS2_GOTOFF_LO: ++ case R_NIOS2_GOTOFF_HA: ++ case R_NIOS2_GOTOFF: ++ /* Relocation is relative to the start of the ++ global offset table. */ ++ ++ BFD_ASSERT (sgot != NULL); ++ if (sgot == NULL) ++ { ++ r = bfd_reloc_notsupported; ++ break; ++ } ++ ++ /* Note that sgot->output_offset is not involved in this ++ calculation. We always want the start of .got. If we ++ define _GLOBAL_OFFSET_TABLE in a different way, as is ++ permitted by the ABI, we might have to change this ++ calculation. */ ++ relocation -= sgot->output_section->vma; ++ switch (howto->type) ++ { ++ case R_NIOS2_GOTOFF_LO: ++ r = nios2_elf32_do_lo16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ case R_NIOS2_GOTOFF_HA: ++ r = nios2_elf32_do_hiadj16_relocate (input_bfd, howto, ++ input_section, contents, ++ rel->r_offset, ++ relocation, ++ rel->r_addend); ++ break; ++ default: ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ } ++ break; ++ ++ case R_NIOS2_TLS_LDO16: ++ relocation -= dtpoff_base (info) + DTP_OFFSET; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ case R_NIOS2_TLS_LDM16: ++ { ++ bfd_vma off; ++ ++ if (htab->sgot == NULL) ++ abort (); ++ ++ off = htab->tls_ldm_got.offset; ++ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ /* If we don't know the module number, create a relocation ++ for it. */ ++ if (info->shared) ++ { ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ ++ if (htab->srelgot == NULL) ++ abort (); ++ ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + off); ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_TLS_DTPMOD); ++ ++ loc = htab->srelgot->contents; ++ loc += (htab->srelgot->reloc_count++ ++ * sizeof (Elf32_External_Rela)); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ } ++ else ++ bfd_put_32 (output_bfd, 1, ++ htab->sgot->contents + off); ++ ++ htab->tls_ldm_got.offset |= 1; ++ } ++ ++ relocation = (htab->sgot->output_offset + off); ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ } ++ ++ break; ++ case R_NIOS2_TLS_GD16: ++ case R_NIOS2_TLS_IE16: ++ { ++ bfd_vma off; ++ int indx; ++ char tls_type; ++ ++ if (htab->sgot == NULL) ++ abort (); ++ ++ indx = 0; ++ if (h != NULL) ++ { ++ bfd_boolean dyn; ++ dyn = htab->root.dynamic_sections_created; ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ && (!info->shared ++ || !SYMBOL_REFERENCES_LOCAL (info, h))) ++ { ++ unresolved_reloc = FALSE; ++ indx = h->dynindx; ++ } ++ off = h->got.offset; ++ tls_type = (((struct elf32_nios2_link_hash_entry *) h) ++ ->tls_type); ++ } ++ else ++ { ++ if (local_got_offsets == NULL) ++ abort (); ++ off = local_got_offsets[r_symndx]; ++ tls_type = (elf32_nios2_local_got_tls_type (input_bfd) ++ [r_symndx]); ++ } ++ ++ if (tls_type == GOT_UNKNOWN) ++ abort (); ++ ++ if ((off & 1) != 0) ++ off &= ~1; ++ else ++ { ++ bfd_boolean need_relocs = FALSE; ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc = NULL; ++ int cur_off = off; ++ ++ /* The GOT entries have not been initialized yet. Do it ++ now, and emit any relocations. If both an IE GOT and a ++ GD GOT are necessary, we emit the GD first. */ ++ ++ if ((info->shared || indx != 0) ++ && (h == NULL ++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ need_relocs = TRUE; ++ if (htab->srelgot == NULL) ++ abort (); ++ loc = htab->srelgot->contents; ++ loc += (htab->srelgot->reloc_count * ++ sizeof (Elf32_External_Rela)); ++ } ++ ++ if (tls_type & GOT_TLS_GD) ++ { ++ if (need_relocs) ++ { ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + cur_off); ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_DTPMOD); ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ ++ if (indx == 0) ++ bfd_put_32 (output_bfd, ++ (relocation - dtpoff_base (info) - ++ DTP_OFFSET), ++ htab->sgot->contents + cur_off + 4); ++ else ++ { ++ outrel.r_addend = 0; ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_DTPREL); ++ outrel.r_offset += 4; ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ } ++ } ++ else ++ { ++ /* If we are not emitting relocations for a ++ general dynamic reference, then we must be in a ++ static link or an executable link with the ++ symbol binding locally. Mark it as belonging ++ to module 1, the executable. */ ++ bfd_put_32 (output_bfd, 1, ++ htab->sgot->contents + cur_off); ++ bfd_put_32 (output_bfd, (relocation - ++ dtpoff_base (info) - ++ DTP_OFFSET), ++ htab->sgot->contents + cur_off + 4); ++ } ++ ++ cur_off += 8; ++ } ++ ++ if (tls_type & GOT_TLS_IE) ++ { ++ if (need_relocs) ++ { ++ if (indx == 0) ++ outrel.r_addend = (relocation - ++ dtpoff_base (info)); ++ else ++ outrel.r_addend = 0; ++ outrel.r_offset = (htab->sgot->output_section->vma ++ + htab->sgot->output_offset ++ + cur_off); ++ outrel.r_info = ELF32_R_INFO (indx, ++ R_NIOS2_TLS_TPREL); ++ ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, ++ loc); ++ htab->srelgot->reloc_count++; ++ loc += sizeof (Elf32_External_Rela); ++ } ++ else ++ bfd_put_32 (output_bfd, (tpoff (info, relocation) ++ - TP_OFFSET), ++ htab->sgot->contents + cur_off); ++ cur_off += 4; ++ } ++ ++ if (h != NULL) ++ h->got.offset |= 1; ++ else ++ local_got_offsets[r_symndx] |= 1; ++ } ++ ++ if ((tls_type & GOT_TLS_GD) && r_type != R_NIOS2_TLS_GD16) ++ off += 8; ++ relocation = (htab->sgot->output_offset + off); ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ } ++ ++ break; ++ case R_NIOS2_TLS_LE16: ++ if (info->shared) ++ { ++ (*_bfd_error_handler) ++ (_("%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not " ++ "permitted in shared object"), ++ input_bfd, input_section, ++ (long) rel->r_offset, howto->name); ++ return FALSE; ++ } ++ else ++ relocation = tpoff (info, relocation) - TP_OFFSET; ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, input_section, ++ contents, rel->r_offset, ++ relocation, rel->r_addend); ++ break; ++ ++ case R_NIOS2_BFD_RELOC_32: ++ if (info->shared ++ && (input_section->flags & SEC_ALLOC) != 0 ++ && (h == NULL ++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ Elf_Internal_Rela outrel; ++ bfd_byte *loc; ++ bfd_boolean skip, relocate; ++ ++ /* When generating a shared object, these relocations ++ are copied into the output file to be resolved at run ++ time. */ ++ ++ skip = FALSE; ++ relocate = FALSE; ++ ++ outrel.r_offset = ++ _bfd_elf_section_offset (output_bfd, info, input_section, ++ rel->r_offset); ++ if (outrel.r_offset == (bfd_vma) -1) ++ skip = TRUE; ++ else if (outrel.r_offset == (bfd_vma) -2) ++ skip = TRUE, relocate = TRUE; ++ outrel.r_offset += (input_section->output_section->vma ++ + input_section->output_offset); ++ ++ if (skip) ++ memset (&outrel, 0, sizeof outrel); ++ else if (h != NULL ++ && h->dynindx != -1 ++ && (!info->shared ++ || !info->symbolic ++ || !h->def_regular)) ++ { ++ outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); ++ outrel.r_addend = rel->r_addend; ++ } ++ else ++ { ++ /* This symbol is local, or marked to become local. */ ++ outrel.r_addend = relocation + rel->r_addend; ++ relocate = TRUE; ++ outrel.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ } ++ ++ sreloc = elf_section_data (input_section)->sreloc; ++ if (sreloc == NULL) ++ abort (); ++ ++ loc = sreloc->contents; ++ loc += sreloc->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); ++ ++ /* This reloc will be computed at runtime, so there's no ++ need to do anything now, except for R_NIOS2_BFD_RELOC_32 ++ relocations that have been turned into ++ R_NIOS2_RELATIVE. */ ++ if (!relocate) ++ break; ++ } ++ ++ r = _bfd_final_link_relocate (howto, input_bfd, ++ input_section, contents, ++ rel->r_offset, relocation, ++ rel->r_addend); ++ break; ++ ++ case R_NIOS2_TLS_DTPREL: ++ relocation -= dtpoff_base (info); ++ /* Fall through. */ ++ ++ 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, NULL, 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, int shindex) ++{ ++ 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, shindex)) ++ 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, const 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; ++} ++ ++/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up ++ shortcuts to them in our hash table. */ ++ ++static bfd_boolean ++create_got_section (bfd *dynobj, struct bfd_link_info *info) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ if (! _bfd_elf_create_got_section (dynobj, info)) ++ return FALSE; ++ ++ htab->sgot = bfd_get_section_by_name (dynobj, ".got"); ++ htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt"); ++ if (!htab->sgot || !htab->sgotplt) ++ abort (); ++ ++ /* In order for the two loads in .PLTresolve to share the same %hiadj, ++ _GLOBAL_OFFSET_TABLE_ must be aligned to a 16-byte boundary. */ ++ if (!bfd_set_section_alignment (dynobj, htab->sgotplt, 4)) ++ return FALSE; ++ ++ htab->srelgot = bfd_make_section_with_flags (dynobj, ++ ".rela.got", ++ (SEC_ALLOC | SEC_LOAD ++ | SEC_HAS_CONTENTS ++ | SEC_IN_MEMORY ++ | SEC_LINKER_CREATED ++ | SEC_READONLY)); ++ if (htab->srelgot == NULL ++ || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2)) ++ return FALSE; ++ return TRUE; ++} ++ ++/* Create .plt, .rela.plt, .got, .got.plt, .rela.got, .dynbss, and ++ .rela.bss sections in DYNOBJ, and set up shortcuts to them in our ++ hash table. */ ++ ++static bfd_boolean ++nios2_elf32_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ if (!htab->sgot && !create_got_section (dynobj, info)) ++ return FALSE; ++ ++ _bfd_elf_create_dynamic_sections (dynobj, info); ++ ++ htab->splt = bfd_get_section_by_name (dynobj, ".plt"); ++ ++ /* In order for the two loads in a shared object .PLTresolve to share the ++ same %hiadj, the start of the PLT (as well as the GOT) must be aligned ++ to a 16-byte boundary. This is because the addresses for these loads ++ include the -(.plt+4) PIC correction. */ ++ if (!bfd_set_section_alignment (dynobj, htab->splt, 4)) ++ return FALSE; ++ ++ htab->srelplt = bfd_get_section_by_name (dynobj, ".rela.plt"); ++ htab->sdynbss = bfd_get_section_by_name (dynobj, ".dynbss"); ++ if (!htab->splt || !htab->srelplt || !htab->sdynbss) ++ return FALSE; ++ if (!info->shared) ++ { ++ htab->srelbss = bfd_get_section_by_name (dynobj, ".rela.bss"); ++ if (!htab->srelbss) ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++/* Copy the extra info we tack onto an elf_link_hash_entry. */ ++ ++static void ++nios2_elf32_copy_indirect_symbol (struct bfd_link_info *info, ++ struct elf_link_hash_entry *dir, ++ struct elf_link_hash_entry *ind) ++{ ++ struct elf32_nios2_link_hash_entry *edir, *eind; ++ ++ edir = (struct elf32_nios2_link_hash_entry *) dir; ++ eind = (struct elf32_nios2_link_hash_entry *) ind; ++ ++ if (eind->dyn_relocs != NULL) ++ { ++ if (edir->dyn_relocs != NULL) ++ { ++ struct elf32_nios2_dyn_relocs **pp; ++ struct elf32_nios2_dyn_relocs *p; ++ ++ /* Add reloc counts against the indirect sym to the direct sym ++ list. Merge any entries against the same section. */ ++ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) ++ { ++ struct elf32_nios2_dyn_relocs *q; ++ ++ for (q = edir->dyn_relocs; q != NULL; q = q->next) ++ if (q->sec == p->sec) ++ { ++ q->pc_count += p->pc_count; ++ q->count += p->count; ++ *pp = p->next; ++ break; ++ } ++ if (q == NULL) ++ pp = &p->next; ++ } ++ *pp = edir->dyn_relocs; ++ } ++ ++ edir->dyn_relocs = eind->dyn_relocs; ++ eind->dyn_relocs = NULL; ++ } ++ ++ if (ind->root.type == bfd_link_hash_indirect ++ && dir->got.refcount <= 0) ++ { ++ edir->tls_type = eind->tls_type; ++ eind->tls_type = GOT_UNKNOWN; ++ } ++ ++ edir->got_types_used |= eind->got_types_used; ++ ++ _bfd_elf_link_hash_copy_indirect (info, dir, ind); ++} ++ ++/* Look through the relocs for a section during the first phase. */ ++ ++static bfd_boolean ++nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, ++ asection *sec, const Elf_Internal_Rela *relocs) ++{ ++ bfd *dynobj; ++ 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; ++ struct elf32_nios2_link_hash_table *htab; ++ asection *sgot; ++ asection *srelgot; ++ asection *sreloc = NULL; ++ bfd_signed_vma *local_got_refcounts; ++ ++ if (info->relocatable) ++ return TRUE; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ 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; ++ local_got_refcounts = elf_local_got_refcounts (abfd); ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ srelgot = htab->srelgot; ++ ++ rel_end = relocs + sec->reloc_count; ++ for (rel = relocs; rel < rel_end; rel++) ++ { ++ unsigned int r_type; ++ 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]; ++ 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; ++ } ++ ++ r_type = ELF32_R_TYPE (rel->r_info); ++ ++ switch (r_type) ++ { ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ case R_NIOS2_TLS_GD16: ++ case R_NIOS2_TLS_IE16: ++ /* This symbol requires a global offset table entry. */ ++ { ++ int tls_type, old_tls_type; ++ ++ switch (r_type) ++ { ++ default: ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ tls_type = GOT_NORMAL; ++ break; ++ case R_NIOS2_TLS_GD16: ++ tls_type = GOT_TLS_GD; ++ break; ++ case R_NIOS2_TLS_IE16: ++ tls_type = GOT_TLS_IE; ++ break; ++ } ++ ++ if (dynobj == NULL) ++ { ++ /* Create the .got section. */ ++ elf_hash_table (info)->dynobj = dynobj = abfd; ++ nios2_elf32_create_dynamic_sections (dynobj, info); ++ } ++ ++ if (sgot == NULL) ++ { ++ sgot = htab->sgot; ++ BFD_ASSERT (sgot != NULL); ++ } ++ ++ if (srelgot == NULL ++ && (h != NULL || info->shared)) ++ { ++ srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); ++ BFD_ASSERT (srelgot != NULL); ++ } ++ ++ if (h != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh = ++ (struct elf32_nios2_link_hash_entry *)h; ++ h->got.refcount++; ++ old_tls_type = elf32_nios2_hash_entry(h)->tls_type; ++ if (r_type == R_NIOS2_CALL16) ++ { ++ /* Make sure a plt entry is created for this symbol if it ++ turns out to be a function defined by a dynamic object. ++ */ ++ h->plt.refcount++; ++ ++ h->needs_plt = 1; ++ ++ h->type = STT_FUNC; ++ ++ eh->got_types_used |= CALL16_USED; ++ } ++ else ++ eh->got_types_used |= GOT16_USED; ++ } ++ else ++ { ++ /* This is a global offset table entry for a local symbol. */ ++ if (local_got_refcounts == NULL) ++ { ++ bfd_size_type size; ++ ++ size = symtab_hdr->sh_info; ++ size *= (sizeof (bfd_signed_vma) + sizeof(char)); ++ local_got_refcounts = ((bfd_signed_vma *) ++ bfd_zalloc (abfd, size)); ++ if (local_got_refcounts == NULL) ++ return FALSE; ++ elf_local_got_refcounts (abfd) = local_got_refcounts; ++ elf32_nios2_local_got_tls_type (abfd) = ++ (char *) (local_got_refcounts + symtab_hdr->sh_info); ++ } ++ local_got_refcounts[r_symndx]++; ++ old_tls_type = ++ elf32_nios2_local_got_tls_type (abfd) [r_symndx]; ++ } ++ ++ /* We will already have issued an error message if there is a ++ TLS / non-TLS mismatch, based on the symbol type. We don't ++ support any linker relaxations. So just combine any TLS ++ types needed. */ ++ if (old_tls_type != GOT_UNKNOWN && old_tls_type != GOT_NORMAL ++ && tls_type != GOT_NORMAL) ++ tls_type |= old_tls_type; ++ ++ if (old_tls_type != tls_type) ++ { ++ if (h != NULL) ++ elf32_nios2_hash_entry (h)->tls_type = tls_type; ++ else ++ elf32_nios2_local_got_tls_type (abfd) [r_symndx] = tls_type; ++ } ++ } ++ /* Fall through */ ++ case R_NIOS2_TLS_LDM16: ++ if (r_type == R_NIOS2_TLS_LDM16) ++ htab->tls_ldm_got.refcount++; ++ ++ if (htab->sgot == NULL) ++ { ++ if (htab->root.dynobj == NULL) ++ htab->root.dynobj = abfd; ++ if (!create_got_section (htab->root.dynobj, info)) ++ return FALSE; ++ } ++ break; ++ ++ /* 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; ++ ++ case R_NIOS2_BFD_RELOC_32: ++ case R_NIOS2_CALL26: ++ case R_NIOS2_HIADJ16: ++ case R_NIOS2_LO16: ++ ++ if (h != NULL) ++ { ++ /* If this reloc is in a read-only section, we might ++ need a copy reloc. We can't check reliably at this ++ stage whether the section is read-only, as input ++ sections have not yet been mapped to output sections. ++ Tentatively set the flag for now, and correct in ++ adjust_dynamic_symbol. */ ++ if (!info->shared) ++ h->non_got_ref = 1; ++ ++ /* Make sure a plt entry is created for this symbol if it ++ turns out to be a function defined by a dynamic object. */ ++ h->plt.refcount++; ++ ++ if (r_type == R_NIOS2_CALL26) ++ h->needs_plt = 1; ++ } ++ ++ /* If we are creating a shared library, we need to copy the ++ reloc into the shared library. */ ++ if (info->shared ++ && (sec->flags & SEC_ALLOC) != 0 ++ && (r_type == R_NIOS2_BFD_RELOC_32 ++ || (h != NULL && ! h->needs_plt ++ && (! info->symbolic || ! h->def_regular)))) ++ { ++ struct elf32_nios2_dyn_relocs *p; ++ struct elf32_nios2_dyn_relocs **head; ++ ++ /* When creating a shared object, we must copy these ++ reloc types into the output file. We create a reloc ++ section in dynobj and make room for this reloc. */ ++ if (sreloc == NULL) ++ { ++ const char *name; ++ ++ name = (bfd_elf_string_from_elf_section ++ (abfd, ++ elf_elfheader (abfd)->e_shstrndx, ++ elf_section_data (sec)->rel_hdr.sh_name)); ++ if (name == NULL) ++ return FALSE; ++ ++ BFD_ASSERT (CONST_STRNEQ (name, ".rela") ++ && strcmp (bfd_get_section_name (abfd, sec), ++ name + 5) == 0); ++ ++ sreloc = bfd_get_section_by_name (dynobj, name); ++ if (sreloc == NULL) ++ { ++ sreloc = bfd_make_section_with_flags ( ++ dynobj, ++ name, ++ (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | ++ SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_READONLY)); ++ if (sreloc == NULL || ++ !bfd_set_section_alignment (dynobj, sreloc, 2)) ++ return FALSE; ++ } ++ elf_section_data (sec)->sreloc = sreloc; ++ } ++ ++ /* If this is a global symbol, we count the number of ++ relocations we need for this symbol. */ ++ if (h != NULL) ++ head = &((struct elf32_nios2_link_hash_entry *) h)->dyn_relocs; ++ else ++ { ++ /* Track dynamic relocs needed for local syms too. ++ We really need local syms available to do this ++ easily. Oh well. */ ++ ++ asection *s; ++ void *vpp; ++ ++ s = bfd_section_from_r_symndx (abfd, &htab->sym_sec, ++ sec, r_symndx); ++ if (s == NULL) ++ return FALSE; ++ ++ vpp = &elf_section_data (s)->local_dynrel; ++ head = (struct elf32_nios2_dyn_relocs **) vpp; ++ } ++ ++ p = *head; ++ if (p == NULL || p->sec != sec) ++ { ++ bfd_size_type amt = sizeof *p; ++ p = ((struct elf32_nios2_dyn_relocs *) ++ bfd_alloc (htab->root.dynobj, amt)); ++ if (p == NULL) ++ return FALSE; ++ p->next = *head; ++ *head = p; ++ p->sec = sec; ++ p->count = 0; ++ p->pc_count = 0; ++ } ++ ++ p->count += 1; ++ ++ } ++ 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: ++ return NULL; ++ } ++ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym); ++} ++ ++/* Update the got entry reference counts for the section being removed. */ ++ ++static bfd_boolean ++nios2_elf32_gc_sweep_hook (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; ++ bfd_signed_vma *local_got_refcounts; ++ const Elf_Internal_Rela *rel, *relend; ++ bfd *dynobj; ++ asection *sgot; ++ asection *srelgot; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ sgot = htab->sgot; ++ srelgot = htab->srelgot; ++ ++ elf_section_data (sec)->local_dynrel = NULL; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ if (dynobj == NULL) ++ return TRUE; ++ ++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr; ++ sym_hashes = elf_sym_hashes (abfd); ++ local_got_refcounts = elf_local_got_refcounts (abfd); ++ ++ relend = relocs + sec->reloc_count; ++ for (rel = relocs; rel < relend; rel++) ++ { ++ unsigned long r_symndx; ++ struct elf_link_hash_entry *h = NULL; ++ int r_type; ++ ++ r_symndx = ELF32_R_SYM (rel->r_info); ++ if (r_symndx >= symtab_hdr->sh_info) ++ { ++ 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; ++ } ++ ++ r_type = ELF32_R_TYPE (rel->r_info); ++ switch (r_type) ++ { ++ case R_NIOS2_GOT16: ++ case R_NIOS2_CALL16: ++ if (h != NULL) ++ { ++ if (h->got.refcount > 0) ++ --h->got.refcount; ++ } ++ else if (local_got_refcounts != NULL) ++ { ++ if (local_got_refcounts[r_symndx] > 0) ++ --local_got_refcounts[r_symndx]; ++ } ++ break; ++ ++ case R_NIOS2_PCREL_LO: ++ case R_NIOS2_PCREL_HA: ++ case R_NIOS2_BFD_RELOC_32: ++ case R_NIOS2_CALL26: ++ if (h != NULL) ++ { ++ struct elf32_nios2_link_hash_entry *eh; ++ struct elf32_nios2_dyn_relocs **pp; ++ struct elf32_nios2_dyn_relocs *p; ++ ++ eh = (struct elf32_nios2_link_hash_entry *) h; ++ ++ if (h->plt.refcount > 0) ++ --h->plt.refcount; ++ ++ if (r_type == R_NIOS2_PCREL_LO || r_type == R_NIOS2_PCREL_HA || ++ r_type == R_NIOS2_BFD_RELOC_32) ++ { ++ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ++ pp = &p->next) ++ if (p->sec == sec) ++ { ++ p->count -= 1; ++ if (p->count == 0) ++ *pp = p->next; ++ break; ++ } ++ } ++ } ++ break; ++ ++ default: ++ break; ++ } ++ } ++ ++ return TRUE; ++} ++ ++/* Install 16-bit immediate value VALUE at offset OFFSET into section SEC. */ ++ ++static void ++nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value) ++{ ++ bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset); ++ ++ BFD_ASSERT(value <= 0xffff); ++ ++ bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6), ++ sec->contents + offset); ++} ++ ++/* Install COUNT 32-bit values DATA starting at offset OFFSET into section SEC. ++ */ ++ ++static void ++nios2_elf32_install_data (asection *sec, const bfd_vma *data, bfd_vma offset, ++ int count) ++{ ++ while (count--) ++ { ++ bfd_put_32 (sec->owner, *data, sec->contents + offset); ++ offset += 4; ++ ++data; ++ } ++} ++ ++ ++/* Finish up dynamic symbol handling. We set the contents of various ++ dynamic sections here. */ ++ ++static bfd_boolean ++nios2_elf32_finish_dynamic_symbol (bfd * output_bfd, ++ struct bfd_link_info * info, ++ struct elf_link_hash_entry * h, ++ Elf_Internal_Sym * sym) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ struct elf32_nios2_link_hash_entry *eh = ++ (struct elf32_nios2_link_hash_entry *)h; ++ bfd *dynobj; ++ int use_plt; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ if (h->plt.offset != (bfd_vma) -1) ++ { ++ asection *splt; ++ asection *sgotplt; ++ asection *srela; ++ bfd_vma plt_index; ++ bfd_vma got_offset; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ bfd_vma got_address; ++ ++ /* This symbol has an entry in the procedure linkage table. Set ++ it up. */ ++ ++ BFD_ASSERT (h->dynindx != -1); ++ ++ splt = htab->splt; ++ sgotplt = htab->sgotplt; ++ srela = htab->srelplt; ++ BFD_ASSERT (splt != NULL && sgotplt != NULL && srela != NULL); ++ ++ /* Emit the PLT entry. */ ++ if (info->shared) ++ { ++ nios2_elf32_install_data (splt, nios2_so_plt_entry, h->plt.offset, ++ 3); ++ plt_index = (h->plt.offset - 24) / 12; ++ got_offset = (plt_index + 3) * 4; ++ nios2_elf32_install_imm16 (splt, h->plt.offset, ++ hiadj(plt_index * 4)); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 4, ++ (plt_index * 4) & 0xffff); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 8, ++ 0xfff4 - h->plt.offset); ++ got_address = (sgotplt->output_section->vma + sgotplt->output_offset ++ + got_offset); ++ ++ /* Fill in the entry in the global offset table. There are no ++ res_n slots for a shared object PLT, instead the .got.plt entries ++ point to the PLT entries. */ ++ bfd_put_32 (output_bfd, ++ splt->output_section->vma + splt->output_offset ++ + h->plt.offset, sgotplt->contents + got_offset); ++ } ++ else ++ { ++ plt_index = (h->plt.offset - 28 - htab->res_n_size) / 12; ++ got_offset = (plt_index + 3) * 4; ++ ++ nios2_elf32_install_data (splt, nios2_plt_entry, h->plt.offset, 3); ++ got_address = (sgotplt->output_section->vma + sgotplt->output_offset ++ + got_offset); ++ nios2_elf32_install_imm16 (splt, h->plt.offset, hiadj(got_address)); ++ nios2_elf32_install_imm16 (splt, h->plt.offset + 4, ++ got_address & 0xffff); ++ ++ /* Fill in the entry in the global offset table. */ ++ bfd_put_32 (output_bfd, ++ splt->output_section->vma + splt->output_offset ++ + plt_index * 4, sgotplt->contents + got_offset); ++ } ++ ++ /* Fill in the entry in the .rela.plt section. */ ++ rela.r_offset = got_address; ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_JUMP_SLOT); ++ rela.r_addend = 0; ++ loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ ++ if (!h->def_regular) ++ { ++ /* Mark the symbol as undefined, rather than as defined in ++ the .plt section. Leave the value alone. */ ++ sym->st_shndx = SHN_UNDEF; ++ /* If the symbol is weak, we do need to clear the value. ++ Otherwise, the PLT entry would provide a definition for ++ the symbol even if the symbol wasn't defined anywhere, ++ and so the symbol would never be NULL. */ ++ if (!h->ref_regular_nonweak) ++ sym->st_value = 0; ++ } ++ } ++ ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ if (!use_plt && h->got.offset != (bfd_vma) -1 ++ && (elf32_nios2_hash_entry (h)->tls_type & GOT_TLS_GD) == 0 ++ && (elf32_nios2_hash_entry (h)->tls_type & GOT_TLS_IE) == 0) ++ { ++ asection *sgot; ++ asection *srela; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ bfd_vma offset; ++ ++ /* This symbol has an entry in the global offset table. Set it ++ up. */ ++ ++ sgot = htab->sgot; ++ srela = htab->srelgot; ++ BFD_ASSERT (sgot != NULL && srela != NULL); ++ ++ offset = (h->got.offset & ~(bfd_vma) 1); ++ rela.r_offset = (sgot->output_section->vma ++ + sgot->output_offset + offset); ++ ++ /* If this is a -Bsymbolic link, and the symbol is defined ++ locally, we just want to emit a RELATIVE reloc. Likewise if ++ the symbol was forced to be local because of a version file. ++ The entry in the global offset table will already have been ++ initialized in the relocate_section function. */ ++ ++ if (info->shared && SYMBOL_REFERENCES_LOCAL (info, h)) ++ { ++ rela.r_info = ELF32_R_INFO (0, R_NIOS2_RELATIVE); ++ rela.r_addend = bfd_get_signed_32 (output_bfd, ++ (sgot->contents + offset)); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + offset); ++ } ++ else ++ { ++ bfd_put_32 (output_bfd, (bfd_vma) 0, ++ sgot->contents + offset); ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_GLOB_DAT); ++ rela.r_addend = 0; ++ } ++ ++ loc = srela->contents; ++ loc += srela->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ } ++ ++ if (use_plt && h->got.offset != (bfd_vma) -1) ++ { ++ bfd_vma offset = (h->got.offset & ~(bfd_vma) 1); ++ asection *sgot = htab->sgot; ++ asection *splt = htab->splt; ++ bfd_put_32 (output_bfd, (splt->output_section->vma + splt->output_offset ++ + h->plt.offset), sgot->contents + offset); ++ } ++ ++ if (h->needs_copy) ++ { ++ asection *s; ++ Elf_Internal_Rela rela; ++ bfd_byte *loc; ++ ++ /* This symbol needs a copy reloc. Set it up. */ ++ ++ BFD_ASSERT (h->dynindx != -1 ++ && (h->root.type == bfd_link_hash_defined ++ || h->root.type == bfd_link_hash_defweak)); ++ ++ s = bfd_get_section_by_name (h->root.u.def.section->owner, ++ ".rela.bss"); ++ BFD_ASSERT (s != NULL); ++ ++ rela.r_offset = (h->root.u.def.value ++ + h->root.u.def.section->output_section->vma ++ + h->root.u.def.section->output_offset); ++ rela.r_info = ELF32_R_INFO (h->dynindx, R_NIOS2_COPY); ++ rela.r_addend = 0; ++ loc = s->contents + s->reloc_count++ * sizeof (Elf32_External_Rela); ++ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++ } ++ ++ /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute. */ ++ if (strcmp (h->root.root.string, "_DYNAMIC") == 0 ++ || h == elf_hash_table (info)->hgot) ++ sym->st_shndx = SHN_ABS; ++ ++ return TRUE; ++} ++ ++/* Finish up the dynamic sections. */ ++ ++static bfd_boolean ++nios2_elf32_finish_dynamic_sections (bfd * output_bfd, ++ struct bfd_link_info * info) ++{ ++ bfd *dynobj; ++ asection *sgotplt; ++ asection *sdyn; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ sgotplt = htab->sgotplt; ++ BFD_ASSERT (sgotplt != NULL); ++ sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); ++ ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ asection *splt; ++ Elf32_External_Dyn *dyncon, *dynconend; ++ ++ splt = htab->splt; ++ BFD_ASSERT (splt != NULL && sdyn != NULL); ++ ++ dyncon = (Elf32_External_Dyn *) sdyn->contents; ++ dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->size); ++ for (; dyncon < dynconend; dyncon++) ++ { ++ Elf_Internal_Dyn dyn; ++ const char *name; ++ asection *s; ++ ++ bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); ++ ++ switch (dyn.d_tag) ++ { ++ default: ++ break; ++ ++ case DT_PLTGOT: ++ name = ".got"; ++ goto get_vma; ++ case DT_JMPREL: ++ name = ".rela.plt"; ++ get_vma: ++ s = bfd_get_section_by_name (output_bfd, name); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_ptr = s->vma; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_PLTRELSZ: ++ s = bfd_get_section_by_name (output_bfd, ".rela.plt"); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_val = s->size; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_RELASZ: ++ /* The procedure linkage table relocs (DT_JMPREL) should ++ not be included in the overall relocs (DT_RELA). ++ Therefore, we override the DT_RELASZ entry here to ++ make it not include the JMPREL relocs. Since the ++ linker script arranges for .rela.plt to follow all ++ other relocation sections, we don't have to worry ++ about changing the DT_RELA entry. */ ++ s = bfd_get_section_by_name (output_bfd, ".rela.plt"); ++ if (s != NULL) ++ dyn.d_un.d_val -= s->size; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ ++ case DT_NIOS2_GP: ++ s = bfd_get_section_by_name (output_bfd, ".got"); ++ BFD_ASSERT (s != NULL); ++ dyn.d_un.d_ptr = s->vma + 0x7ff0; ++ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); ++ break; ++ } ++ } ++ ++ /* Fill in the first entry in the procedure linkage table. */ ++ if (splt->size > 0) ++ { ++ bfd_vma got_address = (sgotplt->output_section->vma + ++ sgotplt->output_offset); ++ if (info->shared) ++ { ++ bfd_vma corrected = got_address - (splt->output_section->vma + ++ splt->output_offset + 4); ++ nios2_elf32_install_data (splt, nios2_so_plt0_entry, 0, 6); ++ nios2_elf32_install_imm16 (splt, 4, hiadj (corrected)); ++ nios2_elf32_install_imm16 (splt, 12, (corrected & 0xffff) + 4); ++ nios2_elf32_install_imm16 (splt, 16, (corrected & 0xffff) + 8); ++ ++ elf_section_data (splt->output_section)->this_hdr.sh_entsize ++ = 24; ++ } ++ else ++ { ++ /* Divide by 4 here, not 3 because we already corrected for the ++ res_N branches. */ ++ bfd_vma res_size = (splt->size - 28) / 4; ++ bfd_vma res_start = (splt->output_section->vma + ++ splt->output_offset); ++ bfd_vma res_offset; ++ ++ for (res_offset = 0; res_offset < res_size; res_offset += 4) ++ bfd_put_32 (output_bfd, ++ 6 | ((res_size - (res_offset + 4)) << 6), ++ splt->contents + res_offset); ++ ++ nios2_elf32_install_data (splt, nios2_plt0_entry, res_size, 7); ++ nios2_elf32_install_imm16 (splt, res_size, hiadj (res_start)); ++ nios2_elf32_install_imm16 (splt, res_size + 4, ++ res_start & 0xffff); ++ nios2_elf32_install_imm16 (splt, res_size + 12, ++ hiadj (got_address)); ++ nios2_elf32_install_imm16 (splt, res_size + 16, ++ (got_address & 0xffff) + 4); ++ nios2_elf32_install_imm16 (splt, res_size + 20, ++ (got_address & 0xffff) + 8); ++ ++ elf_section_data (splt->output_section)->this_hdr.sh_entsize ++ = 28 + res_size; ++ } ++ } ++ } ++ /* Fill in the first three entries in the global offset table. */ ++ if (sgotplt->size > 0) ++ { ++ if (sdyn == NULL) ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents); ++ else ++ bfd_put_32 (output_bfd, ++ sdyn->output_section->vma + sdyn->output_offset, ++ sgotplt->contents); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents + 4); ++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgotplt->contents + 8); ++ } ++ ++ elf_section_data (sgotplt->output_section)->this_hdr.sh_entsize = 4; ++ ++ return TRUE; ++} ++ ++/* Adjust a symbol defined by a dynamic object and referenced by a ++ regular object. The current definition is in some section of the ++ dynamic object, but we're not including those sections. We have to ++ change the definition to something the rest of the link can ++ understand. */ ++ ++static bfd_boolean ++nios2_elf32_adjust_dynamic_symbol (struct bfd_link_info * info, ++ struct elf_link_hash_entry * h) ++{ ++ struct elf32_nios2_link_hash_table *htab; ++ bfd *dynobj; ++ asection *s; ++ unsigned align2; ++ ++ htab = elf32_nios2_hash_table (info); ++ dynobj = elf_hash_table (info)->dynobj; ++ ++ /* Make sure we know what is going on here. */ ++ BFD_ASSERT (dynobj != NULL ++ && (h->needs_plt ++ || h->u.weakdef != NULL ++ || (h->def_dynamic ++ && h->ref_regular ++ && !h->def_regular))); ++ ++ /* If this is a function, put it in the procedure linkage table. We ++ will fill in the contents of the procedure linkage table later, ++ when we know the address of the .got section. */ ++ if (h->type == STT_FUNC ++ || h->needs_plt) ++ { ++ if (h->plt.refcount <= 0 ++ || SYMBOL_CALLS_LOCAL (info, h) ++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT ++ && h->root.type == bfd_link_hash_undefweak)) ++ { ++ /* This case can occur if we saw a PLT reloc in an input ++ file, but the symbol was never referred to by a dynamic ++ object, or if all references were garbage collected. In ++ such a case, we don't actually need to build a procedure ++ linkage table, and we can just do a PCREL reloc instead. */ ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ ++ return TRUE; ++ } ++ ++ /* Reinitialize the plt offset now that it is not used as a reference ++ count any more. */ ++ h->plt.offset = (bfd_vma) -1; ++ ++ /* If this is a weak symbol, and there is a real definition, the ++ processor independent code will have arranged for us to see the ++ real definition first, and we can just use the same value. */ ++ if (h->u.weakdef != NULL) ++ { ++ BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined ++ || h->u.weakdef->root.type == bfd_link_hash_defweak); ++ h->root.u.def.section = h->u.weakdef->root.u.def.section; ++ h->root.u.def.value = h->u.weakdef->root.u.def.value; ++ return TRUE; ++ } ++ ++ /* If there are no non-GOT references, we do not need a copy ++ relocation. */ ++ if (!h->non_got_ref) ++ return TRUE; ++ ++ /* This is a reference to a symbol defined by a dynamic object which ++ is not a function. */ ++ ++ /* If we are creating a shared library, we must presume that the ++ only references to the symbol are via the global offset table. ++ For such cases we need not do anything here; the relocations will ++ be handled correctly by relocate_section. */ ++ if (info->shared) ++ return TRUE; ++ ++ if (h->size == 0) ++ { ++ (*_bfd_error_handler) (_("dynamic variable `%s' is zero size"), ++ h->root.root.string); ++ return TRUE; ++ } ++ ++ /* We must allocate the symbol in our .dynbss section, which will ++ become part of the .bss section of the executable. There will be ++ an entry for this symbol in the .dynsym section. The dynamic ++ object will contain position independent code, so all references ++ from the dynamic object to this symbol will go through the global ++ offset table. The dynamic linker will use the .dynsym entry to ++ determine the address it must put in the global offset table, so ++ both the dynamic object and the regular object will refer to the ++ same memory location for the variable. */ ++ ++ s = htab->sdynbss; ++ BFD_ASSERT (s != NULL); ++ ++ /* We must generate a R_NIOS2_COPY reloc to tell the dynamic linker to ++ copy the initial value out of the dynamic object and into the ++ runtime process image. We need to remember the offset into the ++ .rela.bss section we are going to use. */ ++ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) ++ { ++ asection *srel; ++ ++ srel = htab->srelbss; ++ BFD_ASSERT (srel != NULL); ++ srel->size += sizeof (Elf32_External_Rela); ++ h->needs_copy = 1; ++ } ++ ++ align2 = bfd_log2 (h->size); ++ if (align2 > h->root.u.def.section->alignment_power) ++ align2 = h->root.u.def.section->alignment_power; ++ ++ /* align dynbss */ ++ s->size = BFD_ALIGN (s->size, (bfd_size_type)1 << align2); ++ if (align2 > bfd_get_section_alignment (dynobj, s) ++ && !bfd_set_section_alignment (dynobj, s, align2)) ++ return FALSE; ++ ++ /* Define the symbol as being at this point in the section. */ ++ h->root.u.def.section = s; ++ h->root.u.def.value = s->size; ++ ++ /* Increment the section size to make room for the symbol. */ ++ s->size += h->size; ++ ++ return TRUE; ++} ++ ++static bfd_boolean ++adjust_dynrelocs (struct elf_link_hash_entry *h, PTR inf) ++{ ++ struct bfd_link_info *info; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ if (h->root.type == bfd_link_hash_indirect) ++ return TRUE; ++ ++ if (h->root.type == bfd_link_hash_warning) ++ /* When warning symbols are created, they **replace** the "real" ++ entry in the hash table, thus we never get to see the real ++ symbol in a hash traversal. So look at it now. */ ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ ++ info = (struct bfd_link_info *) inf; ++ htab = elf32_nios2_hash_table (info); ++ ++ if (h->plt.offset != (bfd_vma)-1) ++ h->plt.offset += htab->res_n_size; ++ if (htab->splt == h->root.u.def.section) ++ h->root.u.def.value += htab->res_n_size; ++ ++ return TRUE; ++} ++ ++/* Allocate space in .plt, .got and associated reloc sections for ++ dynamic relocs. */ ++ ++static bfd_boolean ++allocate_dynrelocs (struct elf_link_hash_entry *h, PTR inf) ++{ ++ struct bfd_link_info *info; ++ struct elf32_nios2_link_hash_table *htab; ++ struct elf32_nios2_link_hash_entry *eh; ++ struct elf32_nios2_dyn_relocs *p; ++ int use_plt; ++ ++ if (h->root.type == bfd_link_hash_indirect) ++ return TRUE; ++ ++ if (h->root.type == bfd_link_hash_warning) ++ /* When warning symbols are created, they **replace** the "real" ++ entry in the hash table, thus we never get to see the real ++ symbol in a hash traversal. So look at it now. */ ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ ++ info = (struct bfd_link_info *) inf; ++ htab = elf32_nios2_hash_table (info); ++ ++ if (htab->root.dynamic_sections_created ++ && h->plt.refcount > 0) ++ { ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h)) ++ { ++ asection *s = htab->splt; ++ ++ /* Allocate room for the header. */ ++ if (s->size == 0) ++ { ++ if (info->shared) ++ s->size = 24; ++ else ++ s->size = 28; ++ } ++ ++ h->plt.offset = s->size; ++ ++ /* If this symbol is not defined in a regular file, and we are ++ not generating a shared library, then set the symbol to this ++ location in the .plt. This is required to make function ++ pointers compare as equal between the normal executable and ++ the shared library. */ ++ if (! info->shared ++ && !h->def_regular) ++ { ++ h->root.u.def.section = s; ++ h->root.u.def.value = h->plt.offset; ++ } ++ ++ /* Make room for this entry. */ ++ s->size += 12; ++ ++ /* We also need to make an entry in the .rela.plt section. */ ++ htab->srelplt->size += sizeof (Elf32_External_Rela); ++ ++ /* And the .got.plt section. */ ++ htab->sgotplt->size += 4; ++ } ++ else ++ { ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ } ++ else ++ { ++ h->plt.offset = (bfd_vma) -1; ++ h->needs_plt = 0; ++ } ++ ++ eh = (struct elf32_nios2_link_hash_entry *) h; ++ use_plt = (eh->got_types_used == CALL16_USED && ++ h->plt.offset != (bfd_vma) -1); ++ ++ if (h->got.refcount > 0) ++ { ++ asection *s; ++ bfd_boolean dyn; ++ int tls_type = eh->tls_type; ++ int indx; ++ ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ s = htab->sgot; ++ h->got.offset = s->size; ++ ++ if (tls_type == GOT_UNKNOWN) ++ abort (); ++ ++ if (tls_type == GOT_NORMAL) ++ /* Non-TLS symbols need one GOT slot. */ ++ s->size += 4; ++ else ++ { ++ if (tls_type & GOT_TLS_GD) ++ /* R_NIOS2_TLS_GD16 needs 2 consecutive GOT slots. */ ++ s->size += 8; ++ if (tls_type & GOT_TLS_IE) ++ /* R_NIOS2_TLS_IE16 needs one GOT slot. */ ++ s->size += 4; ++ } ++ ++ dyn = htab->root.dynamic_sections_created; ++ ++ indx = 0; ++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) ++ && (!info->shared ++ || !SYMBOL_REFERENCES_LOCAL (info, h))) ++ indx = h->dynindx; ++ ++ if (tls_type != GOT_NORMAL ++ && (info->shared || indx != 0) ++ && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak)) ++ { ++ if (tls_type & GOT_TLS_IE) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ ++ if (tls_type & GOT_TLS_GD) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ ++ if ((tls_type & GOT_TLS_GD) && indx != 0) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT ++ || h->root.type != bfd_link_hash_undefweak) ++ && !use_plt && (info->shared ++ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ h->got.offset = (bfd_vma) -1; ++ ++ if (eh->dyn_relocs == NULL) ++ return TRUE; ++ ++ /* In the shared -Bsymbolic case, discard space allocated for ++ dynamic pc-relative relocs against symbols which turn out to be ++ defined in regular objects. For the normal shared case, discard ++ space for pc-relative relocs that have become local due to symbol ++ visibility changes. */ ++ ++ if (info->shared) ++ { ++ if (h->def_regular ++ && (h->forced_local ++ || info->symbolic)) ++ { ++ struct elf32_nios2_dyn_relocs **pp; ++ ++ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; ) ++ { ++ p->count -= p->pc_count; ++ p->pc_count = 0; ++ if (p->count == 0) ++ *pp = p->next; ++ else ++ pp = &p->next; ++ } ++ } ++ ++ /* Also discard relocs on undefined weak syms with non-default ++ visibility. */ ++ if (eh->dyn_relocs != NULL ++ && h->root.type == bfd_link_hash_undefweak) ++ { ++ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) ++ eh->dyn_relocs = NULL; ++ ++ /* Make sure undefined weak symbols are output as a dynamic ++ symbol in PIEs. */ ++ else if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ } ++ } ++ else ++ { ++ /* For the non-shared case, discard space for relocs against ++ symbols which turn out to need copy relocs or are not ++ dynamic. */ ++ ++ if (!h->non_got_ref ++ && ((h->def_dynamic ++ && !h->def_regular) ++ || (htab->root.dynamic_sections_created ++ && (h->root.type == bfd_link_hash_undefweak ++ || h->root.type == bfd_link_hash_undefined)))) ++ { ++ /* Make sure this symbol is output as a dynamic symbol. ++ Undefined weak syms won't yet be marked as dynamic. */ ++ if (h->dynindx == -1 ++ && !h->forced_local) ++ { ++ if (! bfd_elf_link_record_dynamic_symbol (info, h)) ++ return FALSE; ++ } ++ ++ /* If that succeeded, we know we'll be keeping all the ++ relocs. */ ++ if (h->dynindx != -1) ++ goto keep; ++ } ++ ++ eh->dyn_relocs = NULL; ++ ++ keep: ; ++ } ++ ++ /* Finally, allocate space. */ ++ for (p = eh->dyn_relocs; p != NULL; p = p->next) ++ { ++ asection *sreloc = elf_section_data (p->sec)->sreloc; ++ sreloc->size += p->count * sizeof (Elf32_External_Rela); ++ } ++ ++ return TRUE; ++} ++ ++/* Set the sizes of the dynamic sections. */ ++ ++static bfd_boolean ++nios2_elf32_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, ++ struct bfd_link_info *info) ++{ ++ bfd *dynobj; ++ asection *s; ++ bfd_boolean plt; ++ bfd_boolean got; ++ bfd_boolean relocs; ++ bfd *ibfd; ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ dynobj = elf_hash_table (info)->dynobj; ++ BFD_ASSERT (dynobj != NULL); ++ ++ htab->res_n_size = 0; ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ /* Set the contents of the .interp section to the interpreter. */ ++ if (info->executable) ++ { ++ s = bfd_get_section_by_name (dynobj, ".interp"); ++ BFD_ASSERT (s != NULL); ++ s->size = sizeof ELF_DYNAMIC_INTERPRETER; ++ s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; ++ } ++ } ++ else ++ { ++ /* We may have created entries in the .rela.got section. ++ However, if we are not creating the dynamic sections, we will ++ not actually use these entries. Reset the size of .rela.got, ++ which will cause it to get stripped from the output file ++ below. */ ++ s = htab->srelgot; ++ if (s != NULL) ++ s->size = 0; ++ } ++ ++ /* Set up .got offsets for local syms, and space for local dynamic ++ relocs. */ ++ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next) ++ { ++ bfd_signed_vma *local_got; ++ bfd_signed_vma *end_local_got; ++ char *local_tls_type; ++ bfd_size_type locsymcount; ++ Elf_Internal_Shdr *symtab_hdr; ++ asection *srel; ++ ++ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour) ++ continue; ++ ++ for (s = ibfd->sections; s != NULL; s = s->next) ++ { ++ struct elf32_nios2_dyn_relocs *p; ++ ++ for (p = elf_section_data (s)->local_dynrel; p != NULL; p = p->next) ++ { ++ if (!bfd_is_abs_section (p->sec) ++ && bfd_is_abs_section (p->sec->output_section)) ++ { ++ /* Input section has been discarded, either because ++ it is a copy of a linkonce section or due to ++ linker script /DISCARD/, so we'll be discarding ++ the relocs too. */ ++ } ++ else if (p->count != 0) ++ { ++ srel = elf_section_data (p->sec)->sreloc; ++ srel->size += p->count * sizeof (Elf32_External_Rela); ++ if ((p->sec->output_section->flags & SEC_READONLY) != 0) ++ info->flags |= DF_TEXTREL; ++ } ++ } ++ } ++ ++ local_got = elf_local_got_refcounts (ibfd); ++ if (!local_got) ++ continue; ++ ++ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr; ++ locsymcount = symtab_hdr->sh_info; ++ end_local_got = local_got + locsymcount; ++ local_tls_type = elf32_nios2_local_got_tls_type (ibfd); ++ s = htab->sgot; ++ srel = htab->srelgot; ++ for (; local_got < end_local_got; ++local_got, ++local_tls_type) ++ { ++ if (*local_got > 0) ++ { ++ *local_got = s->size; ++ if (*local_tls_type & GOT_TLS_GD) ++ /* TLS_GD relocs need an 8-byte structure in the GOT. */ ++ s->size += 8; ++ if (*local_tls_type & GOT_TLS_IE) ++ s->size += 4; ++ if (*local_tls_type == GOT_NORMAL) ++ s->size += 4; ++ ++ if (info->shared || *local_tls_type == GOT_TLS_GD) ++ srel->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ *local_got = (bfd_vma) -1; ++ } ++ } ++ ++ if (htab->tls_ldm_got.refcount > 0) ++ { ++ /* Allocate two GOT entries and one dynamic relocation (if necessary) ++ for R_NIOS2_TLS_LDM16 relocations. */ ++ htab->tls_ldm_got.offset = htab->sgot->size; ++ htab->sgot->size += 8; ++ if (info->shared) ++ htab->srelgot->size += sizeof (Elf32_External_Rela); ++ } ++ else ++ htab->tls_ldm_got.offset = -1; ++ ++ /* Allocate global sym .plt and .got entries, and space for global ++ sym dynamic relocs. */ ++ elf_link_hash_traverse (& htab->root, allocate_dynrelocs, info); ++ ++ /* The check_relocs and adjust_dynamic_symbol entry points have ++ determined the sizes of the various dynamic sections. Allocate ++ memory for them. */ ++ plt = FALSE; ++ got = FALSE; ++ relocs = FALSE; ++ for (s = dynobj->sections; s != NULL; s = s->next) ++ { ++ const char *name; ++ ++ if ((s->flags & SEC_LINKER_CREATED) == 0) ++ continue; ++ ++ /* It's OK to base decisions on the section name, because none ++ of the dynobj section names depend upon the input files. */ ++ name = bfd_get_section_name (dynobj, s); ++ ++ if (strcmp (name, ".plt") == 0) ++ { ++ /* Remember whether there is a PLT. */ ++ plt = s->size != 0; ++ ++ /* Correct for the number of res_N branches. */ ++ if (plt && !info->shared) ++ { ++ htab->res_n_size = (s->size-28) / 3; ++ s->size += htab->res_n_size; ++ } ++ } ++ else if (CONST_STRNEQ (name, ".rela")) ++ { ++ if (s->size != 0) ++ { ++ relocs = TRUE; ++ ++ /* We use the reloc_count field as a counter if we need ++ to copy relocs into the output file. */ ++ s->reloc_count = 0; ++ } ++ } ++ else if (CONST_STRNEQ (name, ".got")) ++ got = s->size != 0; ++ else if (strcmp (name, ".dynbss") != 0) ++ { ++ /* It's not one of our sections, so don't allocate space. */ ++ continue; ++ } ++ ++ if (s->size == 0) ++ { ++ /* If we don't need this section, strip it from the ++ output file. This is mostly to handle .rela.bss and ++ .rela.plt. We must create both sections in ++ create_dynamic_sections, because they must be created ++ before the linker maps input sections to output ++ sections. The linker does that before ++ adjust_dynamic_symbol is called, and it is that ++ function which decides whether anything needs to go ++ into these sections. */ ++ s->flags |= SEC_EXCLUDE; ++ continue; ++ } ++ ++ if ((s->flags & SEC_HAS_CONTENTS) == 0) ++ continue; ++ ++ /* Allocate memory for the section contents. */ ++ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc. ++ Unused entries should be reclaimed before the section's contents ++ are written out, but at the moment this does not happen. Thus in ++ order to prevent writing out garbage, we initialise the section's ++ contents to zero. */ ++ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size); ++ if (s->contents == NULL) ++ return FALSE; ++ } ++ ++ /* Adjust dynamic symbols that point to the plt to account for the ++ now-known number of resN slots. */ ++ if (htab->res_n_size) ++ elf_link_hash_traverse (& htab->root, adjust_dynrelocs, info); ++ ++ if (elf_hash_table (info)->dynamic_sections_created) ++ { ++ /* Add some entries to the .dynamic section. We fill in the ++ values later, in elf_nios2_finish_dynamic_sections, but we ++ must add the entries now so that we get the correct size for ++ the .dynamic section. The DT_DEBUG entry is filled in by the ++ dynamic linker and used by the debugger. */ ++#define add_dynamic_entry(TAG, VAL) \ ++ _bfd_elf_add_dynamic_entry (info, TAG, VAL) ++ ++ if (!info->shared) ++ { ++ if (!add_dynamic_entry (DT_DEBUG, 0)) ++ return FALSE; ++ } ++ ++ if (got) ++ if (!add_dynamic_entry (DT_PLTGOT, 0)) ++ return FALSE; ++ ++ if (plt) ++ if (!add_dynamic_entry (DT_PLTRELSZ, 0) ++ || !add_dynamic_entry (DT_PLTREL, DT_RELA) ++ || !add_dynamic_entry (DT_JMPREL, 0)) ++ return FALSE; ++ ++ if (relocs) ++ { ++ if (!add_dynamic_entry (DT_RELA, 0) ++ || !add_dynamic_entry (DT_RELASZ, 0) ++ || !add_dynamic_entry (DT_RELAENT, sizeof (Elf32_External_Rela))) ++ return FALSE; ++ } ++ ++ if (!info->shared) ++ { ++ if (!add_dynamic_entry (DT_NIOS2_GP, 0)) ++ return FALSE; ++ } ++ ++ if ((info->flags & DF_TEXTREL) != 0) ++ { ++ if (!add_dynamic_entry (DT_TEXTREL, 0)) ++ return FALSE; ++ } ++ } ++#undef add_dynamic_entry ++ ++ return TRUE; ++} ++ ++/* Create a Nios II elf linker hash table. */ ++ ++static struct bfd_link_hash_table * ++nios2_elf32_link_hash_table_create (bfd *abfd) ++{ ++ struct elf32_nios2_link_hash_table *ret; ++ bfd_size_type amt = sizeof (struct elf32_nios2_link_hash_table); ++ ++ ret = bfd_malloc (amt); ++ if (ret == NULL) ++ return NULL; ++ ++ if (!_bfd_elf_link_hash_table_init (& ret->root, abfd, ++ link_hash_newfunc, ++ sizeof (struct ++ elf32_nios2_link_hash_entry))) ++ { ++ free (ret); ++ return NULL; ++ } ++ ++ ret->sgot = NULL; ++ ret->sgotplt = NULL; ++ ret->srelgot = NULL; ++ ret->splt = NULL; ++ ret->srelplt = NULL; ++ ret->sdynbss = NULL; ++ ret->srelbss = NULL; ++ ret->sbss = NULL; ++ ret->tls_ldm_got.refcount = 0; ++ ret->sym_sec.abfd = NULL; ++ return &ret->root.root; ++} ++ ++static enum elf_reloc_type_class ++nios2_elf32_reloc_type_class (const Elf_Internal_Rela *rela) ++{ ++ switch ((int) ELF32_R_TYPE (rela->r_info)) ++ { ++ case R_NIOS2_RELATIVE: ++ return reloc_class_relative; ++ case R_NIOS2_JUMP_SLOT: ++ return reloc_class_plt; ++ case R_NIOS2_COPY: ++ return reloc_class_copy; ++ default: ++ return reloc_class_normal; ++ } ++} ++ ++/* Return 1 if target is one of ours. */ ++ ++static bfd_boolean ++is_nios2_elf_target (const struct bfd_target *targ) ++{ ++ return (targ == &bfd_elf32_littlenios2_vec ++ || targ == &bfd_elf32_bignios2_vec); ++} ++ ++/* Hook called by the linker routine which adds symbols from an object ++ file. We use it to put .comm items in .sbss, and not .bss. */ ++ ++static bfd_boolean ++nios2_elf_add_symbol_hook (bfd *abfd, ++ struct bfd_link_info *info, ++ Elf_Internal_Sym *sym, ++ const char **namep ATTRIBUTE_UNUSED, ++ flagword *flagsp ATTRIBUTE_UNUSED, ++ asection **secp, ++ bfd_vma *valp) ++{ ++ bfd *dynobj; ++ ++ if (sym->st_shndx == SHN_COMMON ++ && !info->relocatable ++ && sym->st_size <= elf_gp_size (abfd) ++ && is_nios2_elf_target (info->hash->creator)) ++ { ++ /* Common symbols less than or equal to -G nn bytes are automatically ++ put into .sbss. */ ++ struct elf32_nios2_link_hash_table *htab; ++ ++ htab = elf32_nios2_hash_table (info); ++ if (htab->sbss == NULL) ++ { ++ flagword flags = SEC_IS_COMMON | SEC_LINKER_CREATED; ++ ++ dynobj = elf_hash_table (info)->dynobj; ++ if (!dynobj) ++ dynobj = abfd; ++ ++ htab->sbss = bfd_make_section_anyway_with_flags (dynobj, ".sbss", ++ flags); ++ if (htab->sbss == NULL) ++ return FALSE; ++ } ++ ++ *secp = htab->sbss; ++ *valp = sym->st_size; ++ } ++ ++ return TRUE; ++} ++ ++/* Decide whether to attempt to turn absptr or lsda encodings in ++ shared libraries into pcrel within the given input section. */ ++ ++static bfd_boolean ++nios2_elf32_can_make_relative_eh_frame(bfd *input_bfd ATTRIBUTE_UNUSED, ++ struct bfd_link_info *info ++ ATTRIBUTE_UNUSED, ++ asection *eh_frame_section ++ ATTRIBUTE_UNUSED) ++{ ++ /* We can't use PC-relative encodings in the .eh_frame section. */ ++ return FALSE; ++} ++ ++#define ELF_ARCH bfd_arch_nios2 ++#define ELF_MACHINE_CODE EM_ALTERA_NIOS2 ++ ++/* The Nios II MMU uses a 4K page size. */ ++ ++#define ELF_MAXPAGESIZE 0x1000 ++ ++#define bfd_elf32_bfd_link_hash_table_create \ ++ nios2_elf32_link_hash_table_create ++ ++/* Relocation table lookup macros. */ ++ ++#define bfd_elf32_bfd_reloc_type_lookup nios2_elf32_bfd_reloc_type_lookup ++#define bfd_elf32_bfd_reloc_name_lookup nios2_elf32_bfd_reloc_name_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_can_refcount 1 ++#define elf_backend_plt_readonly 1 ++#define elf_backend_want_got_plt 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_check_relocs nios2_elf32_check_relocs ++ ++#define elf_backend_gc_mark_hook nios2_elf32_gc_mark_hook ++#define elf_backend_gc_sweep_hook nios2_elf32_gc_sweep_hook ++#define elf_backend_create_dynamic_sections \ ++ nios2_elf32_create_dynamic_sections ++#define elf_backend_finish_dynamic_symbol nios2_elf32_finish_dynamic_symbol ++#define elf_backend_finish_dynamic_sections \ ++ nios2_elf32_finish_dynamic_sections ++#define elf_backend_adjust_dynamic_symbol nios2_elf32_adjust_dynamic_symbol ++#define elf_backend_reloc_type_class nios2_elf32_reloc_type_class ++#define elf_backend_size_dynamic_sections nios2_elf32_size_dynamic_sections ++#define elf_backend_add_symbol_hook nios2_elf_add_symbol_hook ++#define elf_backend_copy_indirect_symbol nios2_elf32_copy_indirect_symbol ++ ++#define elf_backend_grok_prstatus nios2_grok_prstatus ++#define elf_backend_grok_psinfo nios2_grok_psinfo ++ ++#undef elf_backend_can_make_relative_eh_frame ++#define elf_backend_can_make_relative_eh_frame \ ++ nios2_elf32_can_make_relative_eh_frame ++ ++/* 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" ++ ++#define elf_backend_got_header_size 12 ++ ++#include "elf32-target.h" +Index: binutils-2.17.50.0.12/gas/config/tc-nios2.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/config/tc-nios2.c 2010-07-05 14:50:39.000000000 +0200 +@@ -0,0 +1,3361 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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" ++#include "dw2gencfi.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; ++ /* Pointer 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); ++void md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED); ++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; ++ ++#ifdef OBJ_ELF ++/* Pre-defined "_GLOBAL_OFFSET_TABLE_" */ ++symbolS * GOT_symbol; ++#endif ++ ++#define streq(a, b) (strcmp (a, b) == 0) ++ ++/* 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 0 ++#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 ++#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}, ++ {"%call", BFD_RELOC_NIOS2_CALL16}, ++ {"%gotoff_lo", BFD_RELOC_NIOS2_GOTOFF_LO}, ++ {"%gotoff_hiadj", BFD_RELOC_NIOS2_GOTOFF_HA}, ++ {"%tls_gd", BFD_RELOC_NIOS2_TLS_GD16}, ++ {"%tls_ldm", BFD_RELOC_NIOS2_TLS_LDM16}, ++ {"%tls_ldo", BFD_RELOC_NIOS2_TLS_LDO16}, ++ {"%tls_ie", BFD_RELOC_NIOS2_TLS_IE16}, ++ {"%tls_le", BFD_RELOC_NIOS2_TLS_LE16}, ++ {"%gotoff", BFD_RELOC_NIOS2_GOTOFF}, ++ {"%got", BFD_RELOC_NIOS2_GOT16} ++}; ++ ++#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 ++ ********************************************************************/ ++ ++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"; ++} ++ ++/* 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"); ++} ++ ++/* 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 (void) ++{ ++ 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; ++ ++/* 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ /* 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ 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 (void) ++{ ++ 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; ++} ++ ++ ++/* This function turns a C long int, short int or char ++ into the series of bytes that represent the number ++ on the target machine. ++ The function is also used to convert .byte8 and .byte16 directives ++*/ ++void ++md_number_to_chars (char *buf, valueT val, int n) ++{ ++ if (target_big_endian) ++ { ++ number_to_chars_bigendian (buf, val, n); ++ } ++ else ++ { ++ number_to_chars_littleendian (buf, val, n); ++ } ++} ++ ++/* 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); ++} ++ ++/* 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); ++} ++ ++/* 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); ++} ++ ++/* 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 generic_force_reloc (fixp); ++} ++ ++/* 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) ++{ ++ if (fixp->fx_addsy == NULL) ++ return 1; ++ ++#ifdef OBJ_ELF ++ /* Prevent all adjustments to global symbols. */ ++ if (OUTPUT_FLAVOR == bfd_target_elf_flavour ++ && (S_IS_EXTERNAL (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; ++ ++ /* Preserve relocations against symbols with function type. */ ++ if (symbol_get_bfdsym (fixp->fx_addsy)->flags & BSF_FUNCTION) ++ return 0; ++ ++ /* Don't allow symbols to be discarded on GOT related relocs. */ ++ if (fixp->fx_r_type == BFD_RELOC_NIOS2_GOT16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_CALL16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16 ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPMOD ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_TPREL ++ || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF) ++ 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_offset; // fixp->fx_addnumber; ++ ++ if (fixp->fx_pcrel) ++ { ++ switch (fixp->fx_r_type) ++ { ++ case BFD_RELOC_16: ++ fixp->fx_r_type = BFD_RELOC_16_PCREL; ++ break; ++ case BFD_RELOC_NIOS2_LO16: ++ fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_LO; ++ break; ++ case BFD_RELOC_NIOS2_HIADJ16: ++ fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_HA; ++ break; ++ default: ++ break; ++ } ++ } ++ ++ 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_fix (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 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOT16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALL16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16 || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF || ++ fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL ++ /* 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; ++ ++ switch (fixP->fx_r_type) ++ { ++ case BFD_RELOC_NIOS2_TLS_GD16: ++ case BFD_RELOC_NIOS2_TLS_LDM16: ++ case BFD_RELOC_NIOS2_TLS_LDO16: ++ case BFD_RELOC_NIOS2_TLS_IE16: ++ case BFD_RELOC_NIOS2_TLS_LE16: ++ case BFD_RELOC_NIOS2_TLS_DTPMOD: ++ case BFD_RELOC_NIOS2_TLS_DTPREL: ++ case BFD_RELOC_NIOS2_TLS_TPREL: ++ S_SET_THREAD_LOCAL (fixP->fx_addsy); ++ break; ++ default: ++ break; ++ } ++ } ++ 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 = ((signed)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 & (howto->dst_mask >> howto->bitpos); ++ 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 = ((signed)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; ++} ++ ++/* Called just before the assembler exits. */ ++void ++md_end () ++{ ++ /* FIXME - not yet implemented */ ++} ++ ++/* Under ELF we need to default _GLOBAL_OFFSET_TABLE. ++ Otherwise we have no need to default values of symbols. */ ++ ++symbolS * ++md_undefined_symbol (char * name ATTRIBUTE_UNUSED) ++{ ++#ifdef OBJ_ELF ++ if (name[0] == '_' && name[1] == 'G' ++ && streq (name, GLOBAL_OFFSET_TABLE_NAME)) ++ { ++ if (!GOT_symbol) ++ { ++ if (symbol_find (name)) ++ as_bad ("GOT already in the symbol table"); ++ ++ GOT_symbol = symbol_new (name, undefined_section, ++ (valueT) 0, & zero_address_frag); ++ } ++ ++ return GOT_symbol; ++ } ++#endif ++ ++ return 0; ++} ++ ++ ++/* 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); ++} ++ ++/* 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 relocation operators. ++ 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; ++ ++ /* %lo and %hiadj have different meanings for PC-relative ++ expressions. */ ++ if (pcrel) ++ { ++ if (reloc_type == BFD_RELOC_NIOS2_LO16) ++ reloc_type = BFD_RELOC_NIOS2_PCREL_LO; ++ if (reloc_type == BFD_RELOC_NIOS2_HIADJ16) ++ reloc_type = BFD_RELOC_NIOS2_PCREL_HA; ++ } ++ ++ 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, "exception", strlen ("exception")) != 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 ++ && strncmp (argStr, "config", strlen ("config")) != 0 ++ && strncmp (argStr, "mpubase", strlen ("mpubase")) != 0 ++ && strncmp (argStr, "mpuacc", strlen ("mpuacc")) != 0 ++ && strncmp (argStr, "badaddr", strlen ("badaddr")) != 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, "exception", strlen ("exception")) == 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 ++ || strncmp (argStr, "config", strlen ("config")) == 0 ++ || strncmp (argStr, "mpubase", strlen ("mpubase")) == 0 ++ || strncmp (argStr, "mpuacc", strlen ("mpuacc")) == 0 ++ || strncmp (argStr, "badaddr", strlen ("badaddr")) == 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(") ++ || strstr (argStr, "%got(") || strstr (argStr, "%call(") ++ || strstr (argStr, "%gotoff_lo(") ++ || strstr (argStr, "%gotoff_hiadj(") ++ || strstr (argStr, "%tls_gd(") || strstr (argStr, "%tls_ldm(") ++ || strstr (argStr, "%tls_ldo(") || strstr (argStr, "%tls_ie(") ++ || strstr (argStr, "%tls_le(") || strstr (argStr, "%gotoff(")) ++ { ++ /* 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 ++ || strstr (p, "%got") == p || strstr (argStr, "%call") ++ || strstr (p, "%gotoff_lo") == p ++ || strstr (p, "%gotoff_hiadj") == p ++ || strstr (p, "%tls_gd") == p || strstr (p, "%tls_ldm") == p ++ || strstr (p, "%tls_ldo") == p || strstr (p, "%tls_ie") == p ++ || strstr (p, "%tls_le") == p || strstr (p, "%gotoff") == 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; ++} ++ ++static int nios2_tls_ldo_reloc; ++ ++void ++nios2_cons (expressionS *exp, int size) ++{ ++ /* Handle %tls_ldo(...) */ ++ ++ nios2_tls_ldo_reloc = 0; ++ ++ SKIP_WHITESPACE (); ++ if (input_line_pointer[0] == '%') ++ { ++ if (strncmp (input_line_pointer + 1, "tls_ldo", 7) == 0) ++ { ++ if (size != 4) ++ as_bad (_("Illegal operands: %%tls_ldo in %d-byte data field"), ++ size); ++ else ++ { ++ input_line_pointer += 8; ++ nios2_tls_ldo_reloc = 1; ++ } ++ } ++ if (nios2_tls_ldo_reloc) ++ { ++ SKIP_WHITESPACE (); ++ if (input_line_pointer[0] != '(') ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ int c; ++ char *end = ++input_line_pointer; ++ int npar = 0; ++ ++ while (! is_end_of_line[(c = *end)]) ++ { ++ if (c == '(') ++ npar++; ++ else if (c == ')') ++ { ++ if (!npar) ++ break; ++ npar--; ++ } ++ end++; ++ } ++ ++ if (c != ')') ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ *end = '\0'; ++ expression (exp); ++ *end = c; ++ if (input_line_pointer != end) ++ as_bad (_("Illegal operands: %%tls_ldo requires arguments in ()")); ++ else ++ { ++ input_line_pointer++; ++ SKIP_WHITESPACE (); ++ c = *input_line_pointer; ++ if (! is_end_of_line[c] && c != ',') ++ as_bad (_("Illegal operands: garbage after %%tls_ldo()")); ++ } ++ } ++ } ++ } ++ } ++ if (!nios2_tls_ldo_reloc) ++ expression (exp); ++} ++ ++void ++nios2_cons_fix_new (fragS *frag, int where, unsigned int nbytes, ++ expressionS *exp) ++{ ++ bfd_reloc_code_real_type r; ++ ++ r = (nbytes == 1 ? BFD_RELOC_8 : ++ (nbytes == 2 ? BFD_RELOC_16 : ++ (nbytes == 4 ? BFD_RELOC_32 : BFD_RELOC_64))); ++ ++ if (nios2_tls_ldo_reloc) ++ r = BFD_RELOC_NIOS2_TLS_DTPREL; ++ ++ fix_new_exp (frag, where, (int) nbytes, exp, 0, r); ++ nios2_tls_ldo_reloc = 0; ++} ++ ++/* 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; ++} ++ ++/* Convert REGNAME to a DWARF-2 register number. */ ++ ++int ++tc_nios2_regname_to_dw2regnum (char *regname) ++{ ++ struct nios2_reg *r = (struct nios2_reg *) hash_find (nios2_reg_hash, ++ regname); ++ if (r == NULL) ++ return -1; ++ return r->index; ++} ++ ++/* Initialize the DWARF-2 unwind information for this procedure. */ ++ ++void ++tc_nios2_frame_initial_instructions (void) ++{ ++ cfi_add_CFA_def_cfa (27, 0); ++} +Index: binutils-2.17.50.0.12/gas/config/tc-nios2.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/config/tc-nios2.h 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,124 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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) ++ ++/* 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 *); ++ ++extern int tc_nios2_regname_to_dw2regnum (char *regname); ++ ++extern void tc_nios2_frame_initial_instructions (void); ++ ++#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 ++ ++#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_" ++ ++#define DIFF_EXPR_OK ++ ++#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) nios2_cons (EXP, NBYTES) ++extern void nios2_cons (expressionS *exp, int size); ++ ++#define TC_CONS_FIX_NEW nios2_cons_fix_new ++extern void nios2_cons_fix_new(struct frag *frag, int where, ++ unsigned int nbytes, struct expressionS *exp); ++ ++/* We want .cfi_* pseudo-ops for generating unwind info. */ ++#define TARGET_USE_CFIPOP 1 ++#define DWARF2_DEFAULT_RETURN_COLUMN 31 ++#define DWARF2_CIE_DATA_ALIGNMENT (-4) ++#define tc_regname_to_dw2regnum tc_nios2_regname_to_dw2regnum ++#define tc_cfi_frame_initial_instructions tc_nios2_frame_initial_instructions ++#define tc_cfi_no_pcrel_expr 1 ++ ++#endif // TC_NIOS2 +Index: binutils-2.17.50.0.12/gas/doc/c-nios2.texi +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/doc/c-nios2.texi 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,223 @@ ++@c NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. ++@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} ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/add.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/add.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/add.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/add.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_fill.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_fill.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_fill.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_fill.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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)" +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_text.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_text.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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>: ++ ... +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_text.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/align_text.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,15 @@ ++ .asciz "" # empty string ++ .align 2 ++ ++ nop ++ nop ++ label: ++ .align 5 ++ nop ++ label2: ++ .section mysection ++ .align 2 ++ ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/and.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/and.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/and.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/and.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/blt.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/blt.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1 @@ ++This file is obsolete +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/blt.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/blt.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1 @@ ++This file is obsolete +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/branch.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/branch.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/branch.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/branch.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/break.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/break.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/break.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/break.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,8 @@ ++# Source file used to test the 20-bit break instructions ++foo: ++ break ++ break 0 ++ break 31 ++ break 14 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/bret.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/bret.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 bret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> bret ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/bret.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/bret.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the bret instructions ++foo: ++ bret ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cache.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cache.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cache.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cache.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/call.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/call.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/call.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/call.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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: ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cmp.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cmp.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cmp.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/cmp.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/comments.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/comments.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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> +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/comments.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/comments.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/complex.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/complex.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/complex.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/complex.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++foo: ++ ldw r2, (2-3)(r3) ++ ldw r2, 2 + (2-3)(r3) ++ ldw r2, 2 + (stack_top-3)(r3) ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ctl.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ctl.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ctl.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ctl.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/custom.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/custom.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/custom.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/custom.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/etbt.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/etbt.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/etbt.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/etbt.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,4 @@ ++.set nobreak ++foo: ++ add r24, r25, r6 ++ add et, bt, r6 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/flushda.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/flushda.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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\) ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/flushda.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/flushda.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Source file used to test the flushda instruction. ++.text ++.set nobreak ++foo: ++ flushda 12(r2) ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/hilo_symbol.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/hilo_symbol.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,3 @@ ++.global long_symbol ++.set long_symbol, 0xDEADBEEF ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/illegal.l +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/illegal.l 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/illegal.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/illegal.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/imm5_symbol.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/imm5_symbol.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,4 @@ ++.global imm5 ++.text ++.byte imm5 ++.set imm5, 31 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/jmp.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/jmp.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/jmp.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/jmp.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Source file used to test the jmp instruction. ++.text ++.set nobreak ++foo: ++ jmp r25 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldb.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldb.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldb.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldb.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldh.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldh.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldh.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldh.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldw.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldw.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldw.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ldw.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/lineseparator.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/lineseparator.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/lineseparator.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/lineseparator.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,4 @@ ++mov r5, r4 ; mov r4, r5 ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link1.lds +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link1.lds 2010-06-30 15:06:08.000000000 +0200 +@@ -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) } ++} +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link2.lds +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link2.lds 2010-06-30 15:06:08.000000000 +0200 +@@ -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) } ++} +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link3.lds +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/link3.lds 2010-06-30 15:06:08.000000000 +0200 +@@ -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) } ++} +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mov.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mov.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mov.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mov.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the movz and movnz instructions ++ ++foo: ++ movz $4,$5,$6 ++ movnz $4,$5,$6 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movi.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movi.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movi.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movi.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movia.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movia.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movia.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/movia.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Test program for movia reg, immed32 macro ++ ++foo: ++ movia r2, 0x80808080 ++ movia r3, sym + 0x80000000 ++ movia r4, sym - 0x7fffffff +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mul.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mul.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mul.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/mul.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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> ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ................ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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. ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Test the imm5 relocation ++ ++.text ++ cache imm5, 0x1000($1) ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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\) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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. ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Test the imm5 relocation ++ ++.text ++ roli r1, r1, imm5 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Test for pc-relative relocations ++.set norelax ++.text ++ br ext_label ++ br ext_label + 16 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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: +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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.@. +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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.@. +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nios2.exp 2010-06-30 15:06:08.000000000 +0200 +@@ -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" ++} +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nor.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nor.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nor.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/nor.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the nor instruction ++ ++foo: ++ nor r6,r8,r10 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/or.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/or.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/or.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/or.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/pcrel_label.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/pcrel_label.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++.text ++ext_label: ++ nop ++ nop ++.global ext_label +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_callr.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_callr.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_callr.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_callr.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_cjmp.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_cjmp.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_cjmp.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_cjmp.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_section.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_section.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_section.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_section.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_ujmp.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_ujmp.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_ujmp.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/relax_ujmp.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/reloc_symbols.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/reloc_symbols.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ret.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ret.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 ret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> ret ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ret.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/ret.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the ret instructions ++foo: ++ ret ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rol.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rol.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ... +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rol.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rol.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rotate.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rotate.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rotate.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/rotate.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/s16_symbol.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/s16_symbol.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stb.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stb.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stb.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stb.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sth.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sth.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sth.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sth.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/str2.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/str2.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stw.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stw.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stw.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/stw.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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) +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sub.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sub.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sub.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sub.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,4 @@ ++# Source file used to test the add and addi instructions. ++ ++foo: ++ sub r4,r4,r4 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sync.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sync.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 sync ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section \.text: ++0+0000 <foo> sync ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sync.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/sync.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the sync instructions ++foo: ++ sync ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/trap.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/trap.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,7 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 trap ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> trap +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/trap.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/trap.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,3 @@ ++# Source file used to test the ret instructions ++foo: ++ trap +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/tret.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/tret.d 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,8 @@ ++#objdump: -dr --prefix-addresses ++#name: NIOS2 tret ++ ++.*: +file format elf32-littlenios2 ++ ++Disassembly of section .text: ++0+0000 <[^>]*> eret ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/tret.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/tret.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,5 @@ ++# Source file used to test the ret instructions ++foo: ++ eret ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/u16_symbol.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/u16_symbol.s 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,9 @@ ++.global some_sym ++.global min ++.global max ++ ++.set max, 0xffff ++.set min, 0 ++.set some_sym, 0x1000 ++ ++ +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_noat.l +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_noat.l 2010-06-30 15:06:08.000000000 +0200 +@@ -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\). +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_noat.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_noat.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_nobreak.l +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_nobreak.l 2010-06-30 15:06:08.000000000 +0200 +@@ -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. +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_nobreak.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/warn_nobreak.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/xor.d +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/xor.d 2010-06-30 15:06:08.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/gas/testsuite/gas/nios2/xor.s +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/gas/testsuite/gas/nios2/xor.s 2010-06-30 15:06:08.000000000 +0200 +@@ -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 ++ +Index: binutils-2.17.50.0.12/include/elf/nios2.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/include/elf/nios2.h 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,90 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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_GOT16, 22) ++ RELOC_NUMBER (R_NIOS2_CALL16, 23) ++ RELOC_NUMBER (R_NIOS2_GOTOFF_LO, 24) ++ RELOC_NUMBER (R_NIOS2_GOTOFF_HA, 25) ++ RELOC_NUMBER (R_NIOS2_PCREL_LO, 26) ++ RELOC_NUMBER (R_NIOS2_PCREL_HA, 27) ++ RELOC_NUMBER (R_NIOS2_TLS_GD16, 28) ++ RELOC_NUMBER (R_NIOS2_TLS_LDM16, 29) ++ RELOC_NUMBER (R_NIOS2_TLS_LDO16, 30) ++ RELOC_NUMBER (R_NIOS2_TLS_IE16, 31) ++ RELOC_NUMBER (R_NIOS2_TLS_LE16, 32) ++ RELOC_NUMBER (R_NIOS2_TLS_DTPMOD, 33) ++ RELOC_NUMBER (R_NIOS2_TLS_DTPREL, 34) ++ RELOC_NUMBER (R_NIOS2_TLS_TPREL, 35) ++ RELOC_NUMBER (R_NIOS2_COPY, 36) ++ RELOC_NUMBER (R_NIOS2_GLOB_DAT, 37) ++ RELOC_NUMBER (R_NIOS2_JUMP_SLOT, 38) ++ RELOC_NUMBER (R_NIOS2_RELATIVE, 39) ++ RELOC_NUMBER (R_NIOS2_GOTOFF, 40) ++ RELOC_NUMBER (R_NIOS2_ILLEGAL, 41) ++END_RELOC_NUMBERS (R_NIOS2_maxext) ++ ++/* Processor specific section flags */ ++ ++/* This is used to mark gp-relative sections */ ++#define SHF_NIOS2_GPREL 0x10000000 ++ ++/* Processor specific dynamic array tags. */ ++ ++/* Address of _gp. */ ++#define DT_NIOS2_GP 0x70000002 ++ ++#endif //_ELF_NIOS2_H +Index: binutils-2.17.50.0.12/include/opcode/nios2-isa.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/include/opcode/nios2-isa.h 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,2144 @@ ++/* ++ * 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 BREAK_INST_EXC_ID 7 ++#define CPU_RESET_CAUSE_ID 1 ++#define CPU_RESET_EXC_ID 1 ++#define DIV_ERROR_CAUSE_ID 8 ++#define DIV_ERROR_EXC_ID 10 ++#define EMPTY_SLAVE_DATA_ACCESS_ERROR_CAUSE_ID 30 ++#define EMPTY_SLAVE_DATA_ACCESS_ERROR_EXC_ID 22 ++#define EMPTY_SLAVE_INST_ACCESS_ERROR_CAUSE_ID 29 ++#define EMPTY_SLAVE_INST_ACCESS_ERROR_EXC_ID 21 ++#define HBREAK_EXC_ID 2 ++#define ILLEGAL_INST_CAUSE_ID 5 ++#define ILLEGAL_INST_EXC_ID 6 ++#define MAX_CAUSE_ID 31 ++#define MISALIGNED_DATA_ADDR_CAUSE_ID 6 ++#define MISALIGNED_DATA_ADDR_EXC_ID 8 ++#define MISALIGNED_TARGET_PC_CAUSE_ID 7 ++#define MISALIGNED_TARGET_PC_EXC_ID 9 ++#define MPU_DATA_REGION_VIOLATION_CAUSE_ID 17 ++#define MPU_DATA_REGION_VIOLATION_EXC_ID 20 ++#define MPU_INST_REGION_VIOLATION_CAUSE_ID 16 ++#define MPU_INST_REGION_VIOLATION_EXC_ID 19 ++#define NIOS2_DISPLAY_INST_TRACE 1 ++#define NIOS2_DISPLAY_MEM_TRAFFIC 2 ++#define NONE_EXC_ID 0 ++#define NORM_INTR_CAUSE_ID 2 ++#define NORM_INTR_EXC_ID 3 ++#define NUM_EXC_IDS 24 ++#define READONLY_SLAVE_DATA_ACCESS_ERROR_CAUSE_ID 31 ++#define READONLY_SLAVE_DATA_ACCESS_ERROR_EXC_ID 23 ++#define RECORD_DATA_ADDR 2 ++#define RECORD_NOTHING 0 ++#define RECORD_TARGET_PCB 1 ++#define RESET_CAUSE_ID 0 ++#define SUPERVISOR_DATA_ADDR_CAUSE_ID 11 ++#define SUPERVISOR_DATA_ADDR_EXC_ID 13 ++#define SUPERVISOR_INST_ADDR_CAUSE_ID 9 ++#define SUPERVISOR_INST_ADDR_EXC_ID 11 ++#define SUPERVISOR_INST_CAUSE_ID 10 ++#define SUPERVISOR_INST_EXC_ID 12 ++#define TLB_DATA_MISS_EXC_ID 15 ++#define TLB_INST_MISS_EXC_ID 14 ++#define TLB_MISS_CAUSE_ID 12 ++#define TLB_R_PERM_CAUSE_ID 14 ++#define TLB_R_PERM_EXC_ID 17 ++#define TLB_W_PERM_CAUSE_ID 15 ++#define TLB_W_PERM_EXC_ID 18 ++#define TLB_X_PERM_CAUSE_ID 13 ++#define TLB_X_PERM_EXC_ID 16 ++#define TRAP_INST_CAUSE_ID 3 ++#define TRAP_INST_EXC_ID 4 ++#define UNIMP_INST_CAUSE_ID 4 ++#define UNIMP_INST_EXC_ID 5 ++#define AT_REGNUM 1 ++#define BADADDR_REG_BADDR_LSB 0 ++#define BADADDR_REG_BADDR_MSB 31 ++#define BADADDR_REG_BADDR_SZ 32 ++#define BADADDR_REG_BADDR_MASK 0xffffffff ++#define BADADDR_REG_LSB 0 ++#define BADADDR_REG_MSB 31 ++#define BADADDR_REG_REGNUM 12 ++#define BADADDR_REG_SZ 32 ++#define BADADDR_REG_MASK 0xffffffff ++#define BRETADDR_REGNUM 30 ++#define BSTATUS_REG_LSB 0 ++#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_MPU_LSB 0 ++#define BSTATUS_REG_MPU_MSB 1 ++#define BSTATUS_REG_MPU_SZ 2 ++#define BSTATUS_REG_MPU_MASK 0x3 ++#define BSTATUS_REG_MSB 2 ++#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 CONFIG_REG_LSB 0 ++#define CONFIG_REG_MSB 0 ++#define CONFIG_REG_PE_LSB 0 ++#define CONFIG_REG_PE_MSB 0 ++#define CONFIG_REG_PE_SZ 1 ++#define CONFIG_REG_PE_MASK 0x1 ++#define CONFIG_REG_REGNUM 13 ++#define CONFIG_REG_SZ 1 ++#define CONFIG_REG_MASK 0x1 ++#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_MPU_LSB 0 ++#define ESTATUS_REG_MPU_MSB 1 ++#define ESTATUS_REG_MPU_SZ 2 ++#define ESTATUS_REG_MPU_MASK 0x3 ++#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_CAUSE_LSB 2 ++#define EXCEPTION_REG_CAUSE_MSB 6 ++#define EXCEPTION_REG_CAUSE_SZ 5 ++#define EXCEPTION_REG_CAUSE_MASK 0x1f ++#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 6 ++#define EXCEPTION_REG_REGNUM 7 ++#define EXCEPTION_REG_SZ 7 ++#define EXCEPTION_REG_MASK 0x7f ++#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_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 MPU_DATA_PERM_SUPER_NONE_USER_NONE 0 ++#define MPU_DATA_PERM_SUPER_RD_USER_NONE 1 ++#define MPU_DATA_PERM_SUPER_RD_USER_RD 2 ++#define MPU_DATA_PERM_SUPER_RW_USER_NONE 4 ++#define MPU_DATA_PERM_SUPER_RW_USER_RD 5 ++#define MPU_DATA_PERM_SUPER_RW_USER_RW 6 ++#define MPU_DATA_PERM_SZ 3 ++#define MPU_DATA_PERM_MASK 0x7 ++#define MPU_INST_PERM_SUPER_EXEC_USER_EXEC 2 ++#define MPU_INST_PERM_SUPER_EXEC_USER_NONE 1 ++#define MPU_INST_PERM_SUPER_NONE_USER_NONE 0 ++#define MPU_INST_PERM_SZ 2 ++#define MPU_INST_PERM_MASK 0x3 ++#define MPU_MAX_REGION_SIZE_LOG2 20 ++#define MPU_MAX_REGIONS 32 ++#define MPU_MIN_REGION_SIZE_LOG2 6 ++#define MPU_MIN_REGIONS 1 ++#define MPUACC_REG_C_LSB 5 ++#define MPUACC_REG_C_MSB 5 ++#define MPUACC_REG_C_SZ 1 ++#define MPUACC_REG_C_MASK 0x1 ++#define MPUACC_REG_LIMIT_LSB 6 ++#define MPUACC_REG_LIMIT_MSB 31 ++#define MPUACC_REG_LIMIT_SZ 26 ++#define MPUACC_REG_LIMIT_MASK 0x3ffffff ++#define MPUACC_REG_LSB 0 ++#define MPUACC_REG_MASK_LSB 6 ++#define MPUACC_REG_MASK_MSB 30 ++#define MPUACC_REG_MASK_SZ 25 ++#define MPUACC_REG_MASK_MASK 0x1ffffff ++#define MPUACC_REG_MSB 31 ++#define MPUACC_REG_PERM_LSB 2 ++#define MPUACC_REG_PERM_MSB 4 ++#define MPUACC_REG_PERM_SZ 3 ++#define MPUACC_REG_PERM_MASK 0x7 ++#define MPUACC_REG_RD_LSB 1 ++#define MPUACC_REG_RD_MSB 1 ++#define MPUACC_REG_RD_SZ 1 ++#define MPUACC_REG_RD_MASK 0x1 ++#define MPUACC_REG_REGNUM 15 ++#define MPUACC_REG_RSV1_LSB 31 ++#define MPUACC_REG_RSV1_MSB 31 ++#define MPUACC_REG_RSV1_SZ 1 ++#define MPUACC_REG_RSV1_MASK 0x1 ++#define MPUACC_REG_SZ 32 ++#define MPUACC_REG_MASK 0xffffffff ++#define MPUACC_REG_WR_LSB 0 ++#define MPUACC_REG_WR_MSB 0 ++#define MPUACC_REG_WR_SZ 1 ++#define MPUACC_REG_WR_MASK 0x1 ++#define MPUBASE_REG_BASE_LSB 6 ++#define MPUBASE_REG_BASE_MSB 30 ++#define MPUBASE_REG_BASE_SZ 25 ++#define MPUBASE_REG_BASE_MASK 0x1ffffff ++#define MPUBASE_REG_D_LSB 0 ++#define MPUBASE_REG_D_MSB 0 ++#define MPUBASE_REG_D_SZ 1 ++#define MPUBASE_REG_D_MASK 0x1 ++#define MPUBASE_REG_INDEX_LSB 1 ++#define MPUBASE_REG_INDEX_MSB 5 ++#define MPUBASE_REG_INDEX_SZ 5 ++#define MPUBASE_REG_INDEX_MASK 0x1f ++#define MPUBASE_REG_LSB 0 ++#define MPUBASE_REG_MSB 31 ++#define MPUBASE_REG_REGNUM 14 ++#define MPUBASE_REG_RSV1_LSB 31 ++#define MPUBASE_REG_RSV1_MSB 31 ++#define MPUBASE_REG_RSV1_SZ 1 ++#define MPUBASE_REG_RSV1_MASK 0x1 ++#define MPUBASE_REG_SZ 32 ++#define MPUBASE_REG_MASK 0xffffffff ++#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 2 ++#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_MMU_REGS_LSB 4 ++#define SIM_REG_SHOW_MMU_REGS_MSB 4 ++#define SIM_REG_SHOW_MMU_REGS_SZ 1 ++#define SIM_REG_SHOW_MMU_REGS_MASK 0x1 ++#define SIM_REG_SHOW_TLB_LSB 3 ++#define SIM_REG_SHOW_TLB_MSB 3 ++#define SIM_REG_SHOW_TLB_SZ 1 ++#define SIM_REG_SHOW_TLB_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 3 ++#define SIM_REG_MASK 0x7 ++#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_MPU_LSB 0 ++#define STATUS_REG_MPU_MSB 1 ++#define STATUS_REG_MPU_RSV_LSB 2 ++#define STATUS_REG_MPU_RSV_MSB 31 ++#define STATUS_REG_MPU_RSV_SZ 30 ++#define STATUS_REG_MPU_RSV_MASK 0x3fffffff ++#define STATUS_REG_MPU_SZ 2 ++#define STATUS_REG_MPU_MASK 0x3 ++#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 128 ++#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 16 ++#define TLB_MIN_PID_SZ 8 ++#define TLB_MIN_PID_MASK 0xff ++#define TLB_MIN_PTR_SZ 7 ++#define TLB_MIN_PTR_MASK 0x7f ++#define TLB_MIN_WAYS 8 ++#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 19 ++#define TLBMISC_REG_RD_MSB 19 ++#define TLBMISC_REG_RD_SZ 1 ++#define TLBMISC_REG_RD_MASK 0x1 ++#define TLBMISC_REG_REGNUM 10 ++#define TLBMISC_REG_RSV1_LSB 24 ++#define TLBMISC_REG_RSV1_MSB 31 ++#define TLBMISC_REG_RSV1_SZ 8 ++#define TLBMISC_REG_RSV1_MASK 0xff ++#define TLBMISC_REG_SZ 24 ++#define TLBMISC_REG_MASK 0xffffff ++#define TLBMISC_REG_WAY_LSB 20 ++#define TLBMISC_REG_WAY_MSB 23 ++#define TLBMISC_REG_WAY_SZ 4 ++#define TLBMISC_REG_WAY_MASK 0xf ++#define TLBMISC_REG_WE_LSB 18 ++#define TLBMISC_REG_WE_MSB 18 ++#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_BADADDR_REG_BADDR(Reg) \ ++ (((Reg) >> BADADDR_REG_BADDR_LSB) & BADADDR_REG_BADDR_MASK) ++#define SET_BADADDR_REG_BADDR(Reg, Val) \ ++ Reg = (((Reg) & (~(BADADDR_REG_BADDR_MASK << BADADDR_REG_BADDR_LSB))) | \ ++ (((Val) & BADADDR_REG_BADDR_MASK) << BADADDR_REG_BADDR_LSB)) ++#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_MPU(Reg) \ ++ (((Reg) >> BSTATUS_REG_MPU_LSB) & BSTATUS_REG_MPU_MASK) ++#define SET_BSTATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(BSTATUS_REG_MPU_MASK << BSTATUS_REG_MPU_LSB))) | \ ++ (((Val) & BSTATUS_REG_MPU_MASK) << BSTATUS_REG_MPU_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_CONFIG_REG_PE(Reg) \ ++ (((Reg) >> CONFIG_REG_PE_LSB) & CONFIG_REG_PE_MASK) ++#define SET_CONFIG_REG_PE(Reg, Val) \ ++ Reg = (((Reg) & (~(CONFIG_REG_PE_MASK << CONFIG_REG_PE_LSB))) | \ ++ (((Val) & CONFIG_REG_PE_MASK) << CONFIG_REG_PE_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_MPU(Reg) \ ++ (((Reg) >> ESTATUS_REG_MPU_LSB) & ESTATUS_REG_MPU_MASK) ++#define SET_ESTATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(ESTATUS_REG_MPU_MASK << ESTATUS_REG_MPU_LSB))) | \ ++ (((Val) & ESTATUS_REG_MPU_MASK) << ESTATUS_REG_MPU_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_CAUSE(Reg) \ ++ (((Reg) >> EXCEPTION_REG_CAUSE_LSB) & EXCEPTION_REG_CAUSE_MASK) ++#define SET_EXCEPTION_REG_CAUSE(Reg, Val) \ ++ Reg = (((Reg) & (~(EXCEPTION_REG_CAUSE_MASK << EXCEPTION_REG_CAUSE_LSB))) | \ ++ (((Val) & EXCEPTION_REG_CAUSE_MASK) << EXCEPTION_REG_CAUSE_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_MPUACC_REG_C(Reg) \ ++ (((Reg) >> MPUACC_REG_C_LSB) & MPUACC_REG_C_MASK) ++#define SET_MPUACC_REG_C(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_C_MASK << MPUACC_REG_C_LSB))) | \ ++ (((Val) & MPUACC_REG_C_MASK) << MPUACC_REG_C_LSB)) ++#define GET_MPUACC_REG_LIMIT(Reg) \ ++ (((Reg) >> MPUACC_REG_LIMIT_LSB) & MPUACC_REG_LIMIT_MASK) ++#define SET_MPUACC_REG_LIMIT(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_LIMIT_MASK << MPUACC_REG_LIMIT_LSB))) | \ ++ (((Val) & MPUACC_REG_LIMIT_MASK) << MPUACC_REG_LIMIT_LSB)) ++#define GET_MPUACC_REG_MASK(Reg) \ ++ (((Reg) >> MPUACC_REG_MASK_LSB) & MPUACC_REG_MASK_MASK) ++#define SET_MPUACC_REG_MASK(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_MASK_MASK << MPUACC_REG_MASK_LSB))) | \ ++ (((Val) & MPUACC_REG_MASK_MASK) << MPUACC_REG_MASK_LSB)) ++#define GET_MPUACC_REG_PERM(Reg) \ ++ (((Reg) >> MPUACC_REG_PERM_LSB) & MPUACC_REG_PERM_MASK) ++#define SET_MPUACC_REG_PERM(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_PERM_MASK << MPUACC_REG_PERM_LSB))) | \ ++ (((Val) & MPUACC_REG_PERM_MASK) << MPUACC_REG_PERM_LSB)) ++#define GET_MPUACC_REG_RD(Reg) \ ++ (((Reg) >> MPUACC_REG_RD_LSB) & MPUACC_REG_RD_MASK) ++#define SET_MPUACC_REG_RD(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_RD_MASK << MPUACC_REG_RD_LSB))) | \ ++ (((Val) & MPUACC_REG_RD_MASK) << MPUACC_REG_RD_LSB)) ++#define GET_MPUACC_REG_RSV1(Reg) \ ++ (((Reg) >> MPUACC_REG_RSV1_LSB) & MPUACC_REG_RSV1_MASK) ++#define SET_MPUACC_REG_RSV1(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_RSV1_MASK << MPUACC_REG_RSV1_LSB))) | \ ++ (((Val) & MPUACC_REG_RSV1_MASK) << MPUACC_REG_RSV1_LSB)) ++#define GET_MPUACC_REG_WR(Reg) \ ++ (((Reg) >> MPUACC_REG_WR_LSB) & MPUACC_REG_WR_MASK) ++#define SET_MPUACC_REG_WR(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUACC_REG_WR_MASK << MPUACC_REG_WR_LSB))) | \ ++ (((Val) & MPUACC_REG_WR_MASK) << MPUACC_REG_WR_LSB)) ++#define GET_MPUBASE_REG_BASE(Reg) \ ++ (((Reg) >> MPUBASE_REG_BASE_LSB) & MPUBASE_REG_BASE_MASK) ++#define SET_MPUBASE_REG_BASE(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_BASE_MASK << MPUBASE_REG_BASE_LSB))) | \ ++ (((Val) & MPUBASE_REG_BASE_MASK) << MPUBASE_REG_BASE_LSB)) ++#define GET_MPUBASE_REG_D(Reg) \ ++ (((Reg) >> MPUBASE_REG_D_LSB) & MPUBASE_REG_D_MASK) ++#define SET_MPUBASE_REG_D(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_D_MASK << MPUBASE_REG_D_LSB))) | \ ++ (((Val) & MPUBASE_REG_D_MASK) << MPUBASE_REG_D_LSB)) ++#define GET_MPUBASE_REG_INDEX(Reg) \ ++ (((Reg) >> MPUBASE_REG_INDEX_LSB) & MPUBASE_REG_INDEX_MASK) ++#define SET_MPUBASE_REG_INDEX(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_INDEX_MASK << MPUBASE_REG_INDEX_LSB))) | \ ++ (((Val) & MPUBASE_REG_INDEX_MASK) << MPUBASE_REG_INDEX_LSB)) ++#define GET_MPUBASE_REG_RSV1(Reg) \ ++ (((Reg) >> MPUBASE_REG_RSV1_LSB) & MPUBASE_REG_RSV1_MASK) ++#define SET_MPUBASE_REG_RSV1(Reg, Val) \ ++ Reg = (((Reg) & (~(MPUBASE_REG_RSV1_MASK << MPUBASE_REG_RSV1_LSB))) | \ ++ (((Val) & MPUBASE_REG_RSV1_MASK) << MPUBASE_REG_RSV1_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_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_SHOW_TLB(Reg) \ ++ (((Reg) >> SIM_REG_SHOW_TLB_LSB) & SIM_REG_SHOW_TLB_MASK) ++#define SET_SIM_REG_SHOW_TLB(Reg, Val) \ ++ Reg = (((Reg) & (~(SIM_REG_SHOW_TLB_MASK << SIM_REG_SHOW_TLB_LSB))) | \ ++ (((Val) & SIM_REG_SHOW_TLB_MASK) << SIM_REG_SHOW_TLB_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_MPU(Reg) \ ++ (((Reg) >> STATUS_REG_MPU_LSB) & STATUS_REG_MPU_MASK) ++#define SET_STATUS_REG_MPU(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MPU_MASK << STATUS_REG_MPU_LSB))) | \ ++ (((Val) & STATUS_REG_MPU_MASK) << STATUS_REG_MPU_LSB)) ++#define GET_STATUS_REG_MPU_RSV(Reg) \ ++ (((Reg) >> STATUS_REG_MPU_RSV_LSB) & STATUS_REG_MPU_RSV_MASK) ++#define SET_STATUS_REG_MPU_RSV(Reg, Val) \ ++ Reg = (((Reg) & (~(STATUS_REG_MPU_RSV_MASK << STATUS_REG_MPU_RSV_LSB))) | \ ++ (((Val) & STATUS_REG_MPU_RSV_MASK) << STATUS_REG_MPU_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_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_INITDA 19 ++#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_LDL 31 ++#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_STC 29 ++#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_ILLEGAL(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_INTR(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_INTR) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_EXCEPTION(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_TRAP) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_BREAK(Iw) ( \ ++ ( \ ++ ((GET_IW_OPX((Iw)) == OPX_BREAK) && IS_OPX_INST(Iw)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_CRST(Iw) (0) ++ ++#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) ( \ ++ (op_prop_load32[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load32[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#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_DCACHE_MANAGEMENT_NOP(Iw) ( \ ++ (op_prop_dcache_management_nop[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dcache_management_nop[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#define IW_PROP_LOAD_DCACHE_MANAGEMENT(Iw) ( \ ++ (op_prop_load_dcache_management[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_load_dcache_management[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) ( \ ++ (op_prop_store32[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_store32[64]; ++#endif /* ALT_ASM_SRC */ ++ ++#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_INITDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSHD(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_FLUSHDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITD_FLUSHD(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITD)) || \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHD)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITDA_FLUSHDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) || \ ++ ((GET_IW_OP((Iw)) == OP_FLUSHDA)) \ ++ ) \ ++ \ ++) ++ ++#define IW_PROP_INITD_INITDA(Iw) ( \ ++ ( \ ++ ((GET_IW_OP((Iw)) == OP_INITD)) || \ ++ ((GET_IW_OP((Iw)) == OP_INITDA)) \ ++ ) \ ++ \ ++) ++ ++#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_DCACHE_MANAGEMENT(Iw) ( \ ++ (op_prop_dcache_management[GET_IW_OP(Iw)])) ++ ++#ifndef ALT_ASM_SRC ++extern unsigned char op_prop_dcache_management[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 INITDA_INST_CODE 14 ++#define ORI_INST_CODE 15 ++#define STW_INST_CODE 16 ++#define BLT_INST_CODE 17 ++#define LDW_INST_CODE 18 ++#define CMPNEI_INST_CODE 19 ++#define FLUSHDA_INST_CODE 20 ++#define XORI_INST_CODE 21 ++#define STC_INST_CODE 22 ++#define BNE_INST_CODE 23 ++#define LDL_INST_CODE 24 ++#define CMPEQI_INST_CODE 25 ++#define LDBUIO_INST_CODE 26 ++#define MULI_INST_CODE 27 ++#define STBIO_INST_CODE 28 ++#define BEQ_INST_CODE 29 ++#define LDBIO_INST_CODE 30 ++#define CMPGEUI_INST_CODE 31 ++#define LDHUIO_INST_CODE 32 ++#define ANDHI_INST_CODE 33 ++#define STHIO_INST_CODE 34 ++#define BGEU_INST_CODE 35 ++#define LDHIO_INST_CODE 36 ++#define CMPLTUI_INST_CODE 37 ++#define CUSTOM_INST_CODE 38 ++#define INITD_INST_CODE 39 ++#define ORHI_INST_CODE 40 ++#define STWIO_INST_CODE 41 ++#define BLTU_INST_CODE 42 ++#define LDWIO_INST_CODE 43 ++#define FLUSHD_INST_CODE 44 ++#define XORHI_INST_CODE 45 ++#define ERET_INST_CODE 46 ++#define ROLI_INST_CODE 47 ++#define ROL_INST_CODE 48 ++#define FLUSHP_INST_CODE 49 ++#define RET_INST_CODE 50 ++#define NOR_INST_CODE 51 ++#define MULXUU_INST_CODE 52 ++#define CMPGE_INST_CODE 53 ++#define BRET_INST_CODE 54 ++#define ROR_INST_CODE 55 ++#define FLUSHI_INST_CODE 56 ++#define JMP_INST_CODE 57 ++#define AND_INST_CODE 58 ++#define CMPLT_INST_CODE 59 ++#define SLLI_INST_CODE 60 ++#define SLL_INST_CODE 61 ++#define OR_INST_CODE 62 ++#define MULXSU_INST_CODE 63 ++#define CMPNE_INST_CODE 64 ++#define SRLI_INST_CODE 65 ++#define SRL_INST_CODE 66 ++#define NEXTPC_INST_CODE 67 ++#define CALLR_INST_CODE 68 ++#define XOR_INST_CODE 69 ++#define MULXSS_INST_CODE 70 ++#define CMPEQ_INST_CODE 71 ++#define DIVU_INST_CODE 72 ++#define DIV_INST_CODE 73 ++#define RDCTL_INST_CODE 74 ++#define MUL_INST_CODE 75 ++#define CMPGEU_INST_CODE 76 ++#define INITI_INST_CODE 77 ++#define TRAP_INST_CODE 78 ++#define WRCTL_INST_CODE 79 ++#define CMPLTU_INST_CODE 80 ++#define ADD_INST_CODE 81 ++#define BREAK_INST_CODE 82 ++#define HBREAK_INST_CODE 83 ++#define SYNC_INST_CODE 84 ++#define SUB_INST_CODE 85 ++#define SRAI_INST_CODE 86 ++#define SRA_INST_CODE 87 ++#define INTR_INST_CODE 88 ++#define CRST_INST_CODE 89 ++#define RSV_INST_CODE 90 ++#define NUM_NIOS2_INST_CODES 91 ++ ++#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 ++ ++/* Exception information. */ ++#ifndef ALT_ASM_SRC ++typedef struct { ++ const char* name; ++ int priority; ++ int subPriority; /* -1 if none */ ++ int causeId; /* -1 if none */ ++ int recordAddr; ++} ExcInfo; ++ ++extern ExcInfo excInfo[NUM_EXC_IDS]; ++#endif /* ALT_ASM_SRC */ ++ ++#endif /* _NIOS2_ISA_H_ */ +Index: binutils-2.17.50.0.12/include/opcode/nios2.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/include/opcode/nios2.h 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,386 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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_INITDA OP_INITDA ++#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_LDL OP_LDL ++#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_STC OP_STC ++#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. */ ++#if 0 ++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; ++#endif ++ ++/* 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 */ +Index: binutils-2.17.50.0.12/ld/emulparams/nios2elf.sh +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/ld/emulparams/nios2elf.sh 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,20 @@ ++SCRIPT_NAME=elf ++TEMPLATE_NAME=elf32 ++EXTRA_EM_FILE= ++OUTPUT_FORMAT="elf32-littlenios2" ++LITTLE_OUTPUT_FORMAT="elf32-littlenios2" ++BIG_OUTPUT_FORMAT="elf32-bignios2" ++TEXT_START_ADDR=0x1000 ++OTHER_GOT_SYMBOLS=' ++ _gp = ALIGN(16) + 0x7ff0; ++ PROVIDE(gp = _gp); ++' ++ARCH=nios2 ++MACHINE= ++MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ++ENTRY=_start ++NOP=0x0001883a ++ ++GENERATE_SHLIB_SCRIPT=yes ++GENERATE_PIE_SCRIPT=yes +Index: binutils-2.17.50.0.12/opcodes/nios2-dis.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/opcodes/nios2-dis.c 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,463 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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; ++} +Index: binutils-2.17.50.0.12/opcodes/nios2-opc.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ binutils-2.17.50.0.12/opcodes/nios2-opc.c 2010-06-30 15:06:08.000000000 +0200 +@@ -0,0 +1,330 @@ ++/* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */ ++/* 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}, ++ {"exception", 7}, ++ {"pteaddr", 8}, ++ {"tlbacc", 9}, ++ {"tlbmisc", 10}, ++ {"fstatus", 11}, ++ {"badaddr", 12}, ++ {"config", 13}, ++ {"mpubase", 14}, ++ {"mpuacc", 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}, ++ {"ctl7", 7}, ++ {"ctl8", 8}, ++ {"ctl9", 9}, ++ {"ctl10", 10}, ++ {"ctl11", 11}, ++ {"ctl12", 12}, ++ {"ctl13", 13}, ++ {"ctl14", 14}, ++ {"ctl15", 15}, ++ ++ ++ /* 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 }, ++ {"initda", "i(s)", "i(s)E", 2, OP_MATCH_INITDA, 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 }, ++ {"ldl", "t,i(s)", "t,i(s)E", 3, OP_MATCH_LDL, 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 }, ++ {"stc", "t,i(s)", "t,i(s)E", 3, OP_MATCH_STC, 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 diff --git a/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2.patch b/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2.patch new file mode 100644 index 0000000000..06d9e85f6d --- /dev/null +++ b/recipes/binutils/binutils-2.17.50.0.12/binutils-nios2.patch @@ -0,0 +1,576 @@ +Only in .: .pc +Index: binutils-2.17.50.0.12/bfd/Makefile.am +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/Makefile.am 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/Makefile.am 2010-06-09 15:04:03.000000000 +0200 +@@ -95,6 +95,7 @@ + cpu-mmix.lo \ + cpu-mt.lo \ + cpu-msp430.lo \ ++ cpu-nios2.lo \ + cpu-or32.lo \ + cpu-ns32k.lo \ + cpu-openrisc.lo \ +@@ -161,6 +162,7 @@ + cpu-msp430.c \ + cpu-or32.c \ + cpu-ns32k.c \ ++ cpu-nios2.c \ + cpu-openrisc.c \ + cpu-pdp11.c \ + cpu-pj.c \ +@@ -270,6 +272,7 @@ + elf32-mips.lo \ + elf32-mt.lo \ + elf32-msp430.lo \ ++ elf32-nios2.lo \ + elf32-openrisc.lo \ + elf32-or32.lo \ + elf32-pj.lo \ +@@ -446,6 +449,7 @@ + elf32-mips.c \ + elf32-mt.c \ + elf32-msp430.c \ ++ elf32-nios2.c \ + elf32-openrisc.c \ + elf32-or32.c \ + elf32-pj.c \ +@@ -1071,6 +1075,7 @@ + cpu-mt.lo: cpu-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h ++cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ + ns32k.h + cpu-openrisc.lo: cpu-openrisc.c $(INCDIR)/filenames.h \ +@@ -1430,6 +1435,11 @@ + $(INCDIR)/elf/common.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)/libiberty.h $(INCDIR)/hashtab.h elf-bfd.h \ ++ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ ++ $(INCDIR)/bfdlink.h $(INCDIR)/elf/reloc-macros.h \ ++ elf32-target.h + elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \ + $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ +Index: binutils-2.17.50.0.12/bfd/Makefile.in +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/Makefile.in 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/Makefile.in 2010-06-09 15:04:03.000000000 +0200 +@@ -328,6 +328,7 @@ + cpu-mt.lo \ + cpu-msp430.lo \ + cpu-or32.lo \ ++ cpu-nios2.lo \ + cpu-ns32k.lo \ + cpu-openrisc.lo \ + cpu-pdp11.lo \ +@@ -392,6 +393,7 @@ + cpu-mt.c \ + cpu-msp430.c \ + cpu-or32.c \ ++ cpu-nio2.c \ + cpu-ns32k.c \ + cpu-openrisc.c \ + cpu-pdp11.c \ +@@ -503,6 +505,7 @@ + elf32-mips.lo \ + elf32-mt.lo \ + elf32-msp430.lo \ ++ elf32-nios2.lo \ + elf32-openrisc.lo \ + elf32-or32.lo \ + elf32-pj.lo \ +@@ -679,6 +682,7 @@ + elf32-mips.c \ + elf32-mt.c \ + elf32-msp430.c \ ++ elf32-nios2.c \ + elf32-openrisc.c \ + elf32-or32.c \ + elf32-pj.c \ +@@ -1633,6 +1637,7 @@ + cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-mt.lo: cpu-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h ++cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h + cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ + ns32k.h +@@ -1993,6 +1998,11 @@ + $(INCDIR)/elf/common.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)/libiberty.h $(INCDIR)/hashtab.h elf-bfd.h \ ++ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ ++ $(INCDIR)/bfdlink.h $(INCDIR)/elf/reloc-macros.h \ ++ elf32-target.h + elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \ + $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ +Index: binutils-2.17.50.0.12/bfd/archures.c +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/archures.c 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/archures.c 2010-06-09 15:04:03.000000000 +0200 +@@ -387,6 +387,8 @@ + .#define bfd_mach_z80 3 {* With ixl, ixh, iyl, and iyh. *} + .#define bfd_mach_z80full 7 {* All undocumented instructions. *} + .#define bfd_mach_r800 11 {* R800: successor with multiplication. *} ++. bfd_arch_nios2, ++.#define bfd_mach_nios2 1 + . bfd_arch_last + . }; + */ +@@ -488,6 +490,7 @@ + extern const bfd_arch_info_type bfd_xc16x_arch; + extern const bfd_arch_info_type bfd_z80_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[] = + { +@@ -531,6 +534,7 @@ + &bfd_mn10300_arch, + &bfd_mt_arch, + &bfd_msp430_arch, ++ &bfd_nios2_arch, + &bfd_ns32k_arch, + &bfd_openrisc_arch, + &bfd_or32_arch, +Index: binutils-2.17.50.0.12/bfd/bfd-in2.h +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/bfd-in2.h 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/bfd-in2.h 2010-06-09 15:04:03.000000000 +0200 +@@ -2022,6 +2022,8 @@ + #define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ + #define bfd_mach_z80full 7 /* All undocumented instructions. */ + #define bfd_mach_r800 11 /* R800: successor with multiplication. */ ++ bfd_arch_nios2, ++#define bfd_mach_nios2 1 + bfd_arch_last + }; + +@@ -4199,6 +4201,42 @@ + BFD_RELOC_IQ2000_OFFSET_21, + BFD_RELOC_IQ2000_UHI16, + ++/* 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, ++ BFD_RELOC_NIOS2_GOT16, ++ BFD_RELOC_NIOS2_CALL16, ++ BFD_RELOC_NIOS2_GOTOFF_LO, ++ BFD_RELOC_NIOS2_GOTOFF_HA, ++ BFD_RELOC_NIOS2_PCREL_LO, ++ BFD_RELOC_NIOS2_PCREL_HA, ++ BFD_RELOC_NIOS2_TLS_GD16, ++ BFD_RELOC_NIOS2_TLS_LDM16, ++ BFD_RELOC_NIOS2_TLS_LDO16, ++ BFD_RELOC_NIOS2_TLS_IE16, ++ BFD_RELOC_NIOS2_TLS_LE16, ++ BFD_RELOC_NIOS2_TLS_DTPMOD, ++ BFD_RELOC_NIOS2_TLS_DTPREL, ++ BFD_RELOC_NIOS2_TLS_TPREL, ++ BFD_RELOC_NIOS2_COPY, ++ BFD_RELOC_NIOS2_GLOB_DAT, ++ BFD_RELOC_NIOS2_JUMP_SLOT, ++ BFD_RELOC_NIOS2_RELATIVE, ++ BFD_RELOC_NIOS2_GOTOFF, ++ + /* Special Xtensa relocation used only by PLT entries in ELF shared + objects to indicate that the runtime linker should set the value + to one of its own internal functions or data structures. */ +Index: binutils-2.17.50.0.12/bfd/config.bfd +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/config.bfd 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/config.bfd 2010-06-09 15:04:03.000000000 +0200 +@@ -89,6 +89,7 @@ + m88*) targ_archs=bfd_m88k_arch ;; + maxq*) targ_archs=bfd_maxq_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";; +@@ -991,6 +992,21 @@ + 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 + ;; +Index: binutils-2.17.50.0.12/bfd/configure +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/configure 2010-06-09 15:04:02.000000000 +0200 ++++ binutils-2.17.50.0.12/bfd/configure 2010-06-09 15:04:03.000000000 +0200 +@@ -10871,6 +10871,8 @@ + 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_mt_vec) tb="$tb elf32-mt.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 elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; +Index: binutils-2.17.50.0.12/bfd/configure.in +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/configure.in 2007-01-28 17:48:46.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/configure.in 2010-06-09 15:04:03.000000000 +0200 +@@ -652,6 +652,8 @@ + 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_mt_vec) tb="$tb elf32-mt.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 elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; +Index: binutils-2.17.50.0.12/bfd/targets.c +=================================================================== +--- binutils-2.17.50.0.12.orig/bfd/targets.c 2006-11-27 23:21:04.000000000 +0100 ++++ binutils-2.17.50.0.12/bfd/targets.c 2010-06-09 15:04:03.000000000 +0200 +@@ -617,6 +617,8 @@ + 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; +@@ -944,6 +946,8 @@ + &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, +Index: binutils-2.17.50.0.12/ld/Makefile.am +=================================================================== +--- binutils-2.17.50.0.12.orig/ld/Makefile.am 2010-06-09 15:04:02.000000000 +0200 ++++ binutils-2.17.50.0.12/ld/Makefile.am 2010-06-09 15:04:03.000000000 +0200 +@@ -331,6 +331,7 @@ + emsp430x448.o \ + emsp430x449.o \ + enews.o \ ++ enios2elf.o \ + ens32knbsd.o \ + eor32.o \ + eor32elf.o \ +@@ -1450,6 +1451,9 @@ + enews.c: $(srcdir)/emulparams/news.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} news "$(tdir_news)" ++enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \ ++ $(ELFDEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} nios2elf "$(tdir_nios2)" + ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \ + $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} +Index: binutils-2.17.50.0.12/ld/Makefile.in +=================================================================== +--- binutils-2.17.50.0.12.orig/ld/Makefile.in 2010-06-09 15:04:02.000000000 +0200 ++++ binutils-2.17.50.0.12/ld/Makefile.in 2010-06-09 15:04:03.000000000 +0200 +@@ -566,6 +566,7 @@ + emsp430x448.o \ + emsp430x449.o \ + enews.o \ ++ enios2elf.o \ + ens32knbsd.o \ + eor32.o \ + eor32elf.o \ +@@ -2264,6 +2265,9 @@ + enews.c: $(srcdir)/emulparams/news.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} + ${GENSCRIPTS} news "$(tdir_news)" ++enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \ ++ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} nios2elf "$(tdir_nios2)" + ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \ + $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} +Index: binutils-2.17.50.0.12/ld/configure.tgt +=================================================================== +--- binutils-2.17.50.0.12.orig/ld/configure.tgt 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/ld/configure.tgt 2010-06-09 15:04:03.000000000 +0200 +@@ -382,6 +382,7 @@ + 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 msp430x1610 msp430x1611 msp430x1612 msp430x2101 msp430x2111 msp430x2121 msp430x2131 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430x415 msp430x417 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430xG437 msp430xG438 msp430xG439 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449" + ;; ++nios2*-*-*) targ_emul=nios2elf ;; + ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; + ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd + ;; +Index: binutils-2.17.50.0.12/ld/testsuite/ld-elfcomm/elfcomm.exp +=================================================================== +--- binutils-2.17.50.0.12.orig/ld/testsuite/ld-elfcomm/elfcomm.exp 2006-09-24 17:19:59.000000000 +0200 ++++ binutils-2.17.50.0.12/ld/testsuite/ld-elfcomm/elfcomm.exp 2010-06-09 15:04:03.000000000 +0200 +@@ -63,6 +63,10 @@ + 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 +Index: binutils-2.17.50.0.12/opcodes/configure +=================================================================== +--- binutils-2.17.50.0.12.orig/opcodes/configure 2010-06-09 15:04:02.000000000 +0200 ++++ binutils-2.17.50.0.12/opcodes/configure 2010-06-09 15:04:03.000000000 +0200 +@@ -6562,6 +6562,7 @@ + bfd_mt_arch) ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;; + bfd_msp430_arch) ta="$ta msp430-dis.lo" ;; + bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;; ++ bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.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 ;; + bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;; +Index: binutils-2.17.50.0.12/opcodes/configure.in +=================================================================== +--- binutils-2.17.50.0.12.orig/opcodes/configure.in 2006-11-27 23:21:04.000000000 +0100 ++++ binutils-2.17.50.0.12/opcodes/configure.in 2010-06-09 15:04:03.000000000 +0200 +@@ -191,6 +191,7 @@ + bfd_mt_arch) ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;; + bfd_msp430_arch) ta="$ta msp430-dis.lo" ;; + bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;; ++ bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.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 ;; + bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;; +Index: binutils-2.17.50.0.12/binutils/readelf.c +=================================================================== +--- binutils-2.17.50.0.12.orig/binutils/readelf.c 2007-01-28 17:49:30.000000000 +0100 ++++ binutils-2.17.50.0.12/binutils/readelf.c 2010-06-09 15:04:03.000000000 +0200 +@@ -118,6 +118,7 @@ + #include "elf/mn10300.h" + #include "elf/mt.h" + #include "elf/msp430.h" ++#include "elf/nios2.h" + #include "elf/or32.h" + #include "elf/pj.h" + #include "elf/ppc.h" +@@ -1480,6 +1481,17 @@ + } + } + ++static const char * ++get_nios2_dynamic_type (unsigned long type) ++{ ++ switch (type) ++ { ++ case DT_NIOS2_GP: return "NIOS2_GP"; ++ default: ++ return NULL; ++ } ++} ++ + + static const char * + get_dynamic_type (unsigned long type) +@@ -1592,6 +1604,9 @@ + case EM_SCORE: + result = get_score_dynamic_type (type); + break; ++ case EM_ALTERA_NIOS2: ++ result = get_nios2_dynamic_type (type); ++ break; + default: + result = NULL; + break; +Index: binutils-2.17.50.0.12/binutils/testsuite/binutils-all/bintest.s +=================================================================== +--- binutils-2.17.50.0.12.orig/binutils/testsuite/binutils-all/bintest.s 1999-06-03 20:01:56.000000000 +0200 ++++ binutils-2.17.50.0.12/binutils/testsuite/binutils-all/bintest.s 2010-06-09 15:04:03.000000000 +0200 +@@ -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 +Index: binutils-2.17.50.0.12/configure +=================================================================== +--- binutils-2.17.50.0.12.orig/configure 2010-06-09 15:04:02.000000000 +0200 ++++ binutils-2.17.50.0.12/configure 2010-06-09 15:05:56.000000000 +0200 +@@ -1591,6 +1591,10 @@ + 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}" + ;; +@@ -3838,7 +3842,7 @@ + # For an installed makeinfo, we require it to be from texinfo 4.4 or + # higher, else we use the "missing" dummy. + if ${MAKEINFO} --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then ++ | egrep 'texinfo[^0-9]*([1-3][0-9]|4.[4-9]|4.[1-9][0-9]+|[5-9])' >/dev/null 2>&1; then + : + else + MAKEINFO="$MISSING makeinfo" +Index: binutils-2.17.50.0.12/gas/config/obj-elf.c +=================================================================== +--- binutils-2.17.50.0.12.orig/gas/config/obj-elf.c 2007-01-28 17:49:30.000000000 +0100 ++++ binutils-2.17.50.0.12/gas/config/obj-elf.c 2010-06-09 15:04:03.000000000 +0200 +@@ -57,6 +57,10 @@ + #include "elf/x86-64.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); +Index: binutils-2.17.50.0.12/gas/configure.tgt +=================================================================== +--- binutils-2.17.50.0.12.orig/gas/configure.tgt 2007-01-23 22:37:00.000000000 +0100 ++++ binutils-2.17.50.0.12/gas/configure.tgt 2010-06-09 15:04:03.000000000 +0200 +@@ -291,6 +291,8 @@ + + msp430-*-*) fmt=elf ;; + ++ nios2*-linux*) fmt=elf em=linux ;; ++ + ns32k-pc532-mach*) fmt=aout em=pc532mach ;; + ns32k-pc532-ux*) fmt=aout em=pc532mach ;; + ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; +Index: binutils-2.17.50.0.12/gas/doc/Makefile.am +=================================================================== +--- binutils-2.17.50.0.12.orig/gas/doc/Makefile.am 2007-01-03 20:49:13.000000000 +0100 ++++ binutils-2.17.50.0.12/gas/doc/Makefile.am 2010-06-09 15:04:03.000000000 +0200 +@@ -49,6 +49,7 @@ + c-mmix.texi \ + c-mt.texi \ + c-msp430.texi \ ++ c-nios2.texi \ + c-ns32k.texi \ + c-pdp11.texi \ + c-pj.texi \ +Index: binutils-2.17.50.0.12/gas/doc/as.texinfo +=================================================================== +--- binutils-2.17.50.0.12.orig/gas/doc/as.texinfo 2006-11-27 23:21:04.000000000 +0100 ++++ binutils-2.17.50.0.12/gas/doc/as.texinfo 2010-06-09 15:04:03.000000000 +0200 +@@ -802,6 +802,21 @@ + @end table + @end ifset + ++@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 PDP11 + + For details about the PDP-11 machine dependent features options, +@@ -6508,6 +6523,10 @@ + @include c-msp430.texi + @end ifset + ++@ifset NIOSII ++@include c-nios2.texi ++@end ifset ++ + @ifset NS32K + @include c-ns32k.texi + @end ifset +Index: binutils-2.17.50.0.12/include/dis-asm.h +=================================================================== +--- binutils-2.17.50.0.12.orig/include/dis-asm.h 2006-11-27 23:21:04.000000000 +0100 ++++ binutils-2.17.50.0.12/include/dis-asm.h 2010-06-09 15:04:03.000000000 +0200 +@@ -214,6 +214,7 @@ + extern int print_insn_bfin (bfd_vma, disassemble_info *); + extern int print_insn_big_arm (bfd_vma, disassemble_info *); + extern int print_insn_big_mips (bfd_vma, disassemble_info *); ++extern int print_insn_big_nios2 (bfd_vma, disassemble_info *); + extern int print_insn_big_or32 (bfd_vma, disassemble_info *); + extern int print_insn_big_powerpc (bfd_vma, disassemble_info *); + extern int print_insn_big_score (bfd_vma, disassemble_info *); +@@ -239,6 +240,7 @@ + extern int print_insn_iq2000 (bfd_vma, disassemble_info *); + extern int print_insn_little_arm (bfd_vma, disassemble_info *); + extern int print_insn_little_mips (bfd_vma, disassemble_info *); ++extern int print_insn_little_nios2 (bfd_vma, disassemble_info *); + extern int print_insn_little_or32 (bfd_vma, disassemble_info *); + extern int print_insn_little_powerpc (bfd_vma, disassemble_info *); + extern int print_insn_little_score (bfd_vma, disassemble_info *); +Index: binutils-2.17.50.0.12/opcodes/disassemble.c +=================================================================== +--- binutils-2.17.50.0.12.orig/opcodes/disassemble.c 2006-11-27 23:21:04.000000000 +0100 ++++ binutils-2.17.50.0.12/opcodes/disassemble.c 2010-06-09 15:07:20.000000000 +0200 +@@ -57,6 +57,7 @@ + #define ARCH_mt + #define ARCH_msp430 + #define ARCH_ns32k ++#define ARCH_nios2 + #define ARCH_openrisc + #define ARCH_or32 + #define ARCH_pdp11 +@@ -251,6 +252,14 @@ + disassemble = print_insn_msp430; + 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 + #ifdef ARCH_ns32k + case bfd_arch_ns32k: + disassemble = print_insn_ns32k; diff --git a/recipes/binutils/binutils_2.17.50.0.12.bb b/recipes/binutils/binutils_2.17.50.0.12.bb index dc0c538526..70c080196c 100644 --- a/recipes/binutils/binutils_2.17.50.0.12.bb +++ b/recipes/binutils/binutils_2.17.50.0.12.bb @@ -11,5 +11,10 @@ SRC_URI = \ file://binutils-uclibc-300-012_check_ldrunpath_length.patch \ " +SRC_URI_append_nios2 =" \ + file://binutils-nios2-files.patch \ + file://binutils-nios2.patch \ + " + SRC_URI[md5sum] = "6f3e83399b965d70008860f697c50ec2" SRC_URI[sha256sum] = "7360808266f72aed6fda41735242fb9f1b6dd3307cd6e283a646932438eaa929" |