OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-2.0/packages/hal/arm/sa11x0/cerfpda
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/v2_0/cdl/hal_arm_sa11x0_cerfpda.cdl
0,0 → 1,372
# ====================================================================
#
# hal_arm_sa11x0_cerfpda.cdl
#
# ARM SA1110/Cerf platform HAL package configuration data
#
# ====================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos 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.
##
## eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): gthomas
# Original data: gthomas
# Contributors:
# Date: 2000-05-08
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_HAL_ARM_SA11X0_CERFPDA {
display "ARM SA1110/Cerf evaluation board"
parent CYGPKG_HAL_ARM_SA11X0
hardware
include_dir cyg/hal
define_header hal_arm_sa11x0_cerfpda.h
description "
This HAL platform package provides generic
support for the Intel StrongARM SA1110 based evalation board,
known as 'cerfpda'."
 
compile cerfpda_misc.c lcd_support.c
 
implements CYGINT_HAL_DEBUG_GDB_STUBS
implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
implements CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
 
implements CYGHWR_HAL_ARM_SA11X0_UART3
 
define_proc {
puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_arm.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H <pkgconf/hal_arm_sa11x0.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_sa11x0_cerfpda.h>"
puts $::cdl_header "#define HAL_PLATFORM_CPU \"StrongARM 1110\""
puts $::cdl_header "#define HAL_PLATFORM_BOARD \"Intrinsyc CerfPDA\""
puts $::cdl_header "#define HAL_PLATFORM_EXTRA \"\""
puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE 31"
}
 
cdl_option CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK_OVERRIDE_DEFAULT {
display "Processor clock rate"
calculated 191700
flavor data
description "The Cerf is optimal at this speed. Caution - selecting
higher speeds may be unreliable."
}
 
cdl_component CYG_HAL_STARTUP {
display "Startup type"
flavor data
default_value {"RAM"}
legal_values {"RAM" "ROM"}
no_define
define -file system.h CYG_HAL_STARTUP
description "
When targetting the Cerf eval board it is possible to build
the system for either RAM bootstrap or ROM bootstrap(s). Select
'ram' when building programs to load into RAM using eCos GDB
stubs. Select 'rom' when building a stand-alone application
which will be put into ROM, or for the special case of
building the eCos GDB stubs themselves."
}
 
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
display "Diagnostic serial port baud rate"
flavor data
legal_values 9600 19200 38400 115200
default_value 38400
description "
This option selects the baud rate used for the diagnostic port.
Note: this should match the value chosen for the GDB port if the
diagnostic and GDB port are the same."
}
 
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
display "GDB serial port baud rate"
flavor data
legal_values 9600 19200 38400 115200
default_value 38400
description "
This option selects the baud rate used for the diagnostic port.
Note: this should match the value chosen for the GDB port if the
diagnostic and GDB port are the same."
}
 
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
display "Number of communication channels on the board"
flavor data
calculated 2
 
}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
display "Debug serial port"
active_if CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
flavor data
legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
default_value 0
description "
The cerfpda board has 3 serial ports. This option
chooses which port will be used to connect to a host
running GDB."
}
 
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
display "Default console channel."
flavor data
legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
calculated 0
}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
display "Diagnostic serial port"
active_if CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
flavor data
legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
default_value CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
description "
The cerfpda board has 3 serial ports. This option
chooses which port will be used for diagnostic output."
}
cdl_component CYGBLD_GLOBAL_OPTIONS {
display "Global build options"
flavor none
no_define
description "
Global build options including control over
compiler flags, linker flags and choice of toolchain."
 
 
parent CYGPKG_NONE
 
cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
display "Global command prefix"
flavor data
no_define
default_value { "arm-elf" }
description "
This option specifies the command prefix used when
invoking the build tools."
}
 
cdl_option CYGBLD_GLOBAL_CFLAGS {
display "Global compiler flags"
flavor data
no_define
default_value { "-mcpu=strongarm1100 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
description "
This option controls the global compiler flags which are used to
compile all packages by default. Individual packages may define
options which override these global flags."
}
 
cdl_option CYGBLD_GLOBAL_LDFLAGS {
display "Global linker flags"
flavor data
no_define
default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
description "
This option controls the global linker flags. Individual
packages may define options which override these global flags."
}
 
cdl_option CYGBLD_BUILD_GDB_STUBS {
display "Build GDB stub ROM image"
default_value 0
requires { CYG_HAL_STARTUP == "ROM" }
requires CYGSEM_HAL_ROM_MONITOR
requires CYGBLD_BUILD_COMMON_GDB_STUBS
requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
no_define
description "
This option enables the building of the GDB stubs for the
board. The common HAL controls takes care of most of the
build process, but the final conversion from ELF image to
binary data is handled by the platform CDL, allowing
relocation of the data if necessary."
 
make -priority 320 {
<PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
$(OBJCOPY) --remove-section=.fixed_vectors -O binary $< $@
}
}
}
 
cdl_component CYGPKG_HAL_ARM_SA11X0_CERFPDA_OPTIONS {
display "StrongARM SA1110/CERFPDA build options"
flavor none
no_define
description "
Package specific build options including control over
compiler flags used only in building this package,
and details of which tests are built."
 
cdl_option CYGSEM_HAL_ARM_SA11X0_CERFPDA_NEPONSET_TIMINGS {
display "Enable special timings for Neponset board"
flavor bool
default_value 0
description "
Enable this option to force initialization of memory timing
parameters suitable for use with the Neponset expansion board.
This is optional as it does not work for some versions of
Cerf without the board plugged in."
}
 
cdl_option CYGPKG_HAL_ARM_SA11X0_CERFPDA_CFLAGS_ADD {
display "Additional compiler flags"
flavor data
no_define
default_value { "" }
description "
This option modifies the set of compiler flags for
building the StrongARM Cerf HAL. These flags are used in addition
to the set of global flags."
}
 
cdl_option CYGPKG_HAL_ARM_SA11X0_CERFPDA_CFLAGS_REMOVE {
display "Suppressed compiler flags"
flavor data
no_define
default_value { "" }
description "
This option modifies the set of compiler flags for
building the StrongARM Cerf HAL. These flags are removed from
the set of global flags if present."
}
 
cdl_option CYGPKG_HAL_ARM_SA11X0_CERFPDA_TESTS {
display "StrongARM SA1110/CerfPda tests"
flavor data
no_define
# calculated { "tests/dram-test" }
calculated { "" }
description "
This option specifies the set of tests for the StrongARM Cerf HAL."
}
}
 
cdl_component CYGHWR_MEMORY_LAYOUT {
display "Memory layout"
flavor data
no_define
calculated { CYG_HAL_STARTUP == "RAM" ? "arm_sa11x0_cerfpda_ram" : \
"arm_sa11x0_cerfpda_rom" }
 
cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
display "Memory layout linker script fragment"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_sa11x0_cerfpda_ram.ldi>" : \
"<pkgconf/mlt_arm_sa11x0_cerfpda_rom.ldi>" }
}
 
cdl_option CYGHWR_MEMORY_LAYOUT_H {
display "Memory layout header file"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_H
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_sa11x0_cerfpda_ram.h>" : \
"<pkgconf/mlt_arm_sa11x0_cerfpda_rom.h>" }
}
}
 
cdl_option CYGSEM_HAL_ROM_MONITOR {
display "Behave as a ROM monitor"
flavor bool
default_value 0
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "ROM" }
description "
Enable this option if this program is to be used as a ROM monitor,
i.e. applications will be loaded into RAM on the board, and this
ROM monitor may process exceptions or interrupts generated from the
application. This enables features such as utilizing a separate
interrupt stack when exceptions are generated."
}
 
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
display "Work with a ROM monitor"
flavor booldata
legal_values { "Generic" "GDB_stubs" }
default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "RAM" }
description "
Support can be enabled for different varieties of ROM monitor.
This support changes various eCos semantics such as the encoding
of diagnostic output, or the overriding of hardware interrupt
vectors.
Firstly there is \"Generic\" support which prevents the HAL
from overriding the hardware vectors that it does not use, to
instead allow an installed ROM monitor to handle them. This is
the most basic support which is likely to be common to most
implementations of ROM monitor.
\"GDB_stubs\" provides support when GDB stubs are included in
the ROM monitor or boot ROM."
}
 
cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
display "Redboot HAL options"
flavor none
no_define
parent CYGPKG_REDBOOT
active_if CYGPKG_REDBOOT
description "
This option lists the target's requirements for a valid Redboot
configuration."
 
cdl_option CYGBLD_BUILD_REDBOOT_BIN {
display "Build Redboot ROM binary image"
active_if CYGBLD_BUILD_REDBOOT
default_value 1
no_define
description "This option enables the conversion of the Redboot ELF
image to a binary image suitable for ROM programming."
 
make -priority 325 {
<PREFIX>/bin/redboot.bin : <PREFIX>/bin/redboot.elf
$(OBJCOPY) --strip-debug $< $(@:.bin=.img)
$(OBJCOPY) -O srec $< $(@:.bin=.srec)
$(OBJCOPY) -O binary $< $@
}
}
}
 
}
/v2_0/include/plf_mmap.h
0,0 → 1,158
#ifndef CYGONCE_HAL_SA11X0_PLATFORM_PLF_MMAP_H
#define CYGONCE_HAL_SA11X0_PLATFORM_PLF_MMAP_H
/*=============================================================================
//
// plf_mmap.h
//
// Platform specific memory map support
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): hmt
// Contributors: hmt
// Date: 2001-01-04
// Purpose: Intel SA11x0 series platform-specific memory mapping macros
// Description: Macros to convert a cached, virtual address to
// 1) an uncached adddress for the same memory (if available)
// 2) the equivalent physical address for giving to external
// hardware eg. DMA engines.
//
// NB: this mapping is expressed here statically, independent
// of the actual mapping installed in the MMAP table. So if
// someone changes that, or its initialisation is changed,
// then this module must change. This is intended to be
// efficient at a cost of generality. It is also intended to
// be called with constants (such as &my_struct) as input
// args, so that all the work can be done at compile time,
// with optimization on.
//
// Usage: #include <cyg/hal/hal_cache.h>
// (which includes this file itself)
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <cyg/hal/hal_misc.h>
 
// Get the pagesize for a particular virtual address:
 
// This does not depend on the vaddr.
#define HAL_MM_PAGESIZE( vaddr, pagesize ) CYG_MACRO_START \
(pagesize) = SZ_1M; \
CYG_MACRO_END
 
// Get the physical address from a virtual address:
 
// Only RAM and ROM are mapped; we just pass through all other values,
// rather than detecting nonexistent areas here.
 
#define HAL_VIRT_TO_PHYS_ADDRESS( vaddr, paddr ) CYG_MACRO_START \
cyg_uint32 _v_ = (cyg_uint32)(vaddr); \
if ( 32 * SZ_1M > _v_ ) /* 32Mb of SDRAM Bank 0 from 0-32Mb */ \
_v_ += 0xc00u * SZ_1M; \
else if ( 0x500u * SZ_1M > _v_ ) /* Space between RAM and mapped ROM */\
/* no change */ ; \
else if ( 0x520u * SZ_1M > _v_ ) /* Mapped boot ROM size 32Mb */ \
_v_ -= 0x500u * SZ_1M; \
else if ( 0xf00u * SZ_1M > _v_ ) /* Space between ROM and mapped I/O */\
/* no change */ ; \
else if ( 0xf10u * SZ_1M > _v_ ) /* Mapped I/O size 16Mb */ \
_v_ = (_v_ - 0xf00u * SZ_1M) + (0x080u * SZ_1M); \
else /* Rest of it */ \
/* no change */ ; \
(paddr) = _v_; \
CYG_MACRO_END
 
// Get the virtual address for a physical address:
 
// Only RAM and ROM are mapped; we just pass through all other values,
// rather than detecting nonexistent areas here.
 
#define HAL_PHYS_TO_VIRT_ADDRESS( paddr, vaddr ) CYG_MACRO_START \
cyg_uint32 _p_ = (cyg_uint32)(paddr); \
if ( 32 * SZ_1M > _p_ ) /* 32Mb Boot ROM mapped to 0x500Mb */ \
_p_ += 0x500u * SZ_1M; \
else if ( 0x080u * SZ_1M > _p_ ) /* Space between ROM and I/O */ \
/* no change */ ; \
else if ( 0x090u * SZ_1M > _p_ ) /* I/O size 16Mb */ \
_p_ = (_p_ - 0x080u * SZ_1M) + (0xf00u * SZ_1M); \
else if ( 0xc00u * SZ_1M > _p_ ) /* Space between I/O and SDRAM */ \
/* no change */ ; \
else if ( 0xc20u * SZ_1M > _p_ ) /* Raw RAM size 32Mb */ \
_p_ -= 0xc00u * SZ_1M; \
else /* Rest of it */ \
/* no change */ ; \
(vaddr) = _p_ ; \
CYG_MACRO_END
 
// Get the virtual address for a physical address:
 
// Only RAM and ROM are mapped; we just pass through all other values,
// rather than detecting nonexistent areas here.
 
#define HAL_PHYS_TO_VIRT_ADDRESS( paddr, vaddr ) CYG_MACRO_START \
cyg_uint32 _p_ = (cyg_uint32)(paddr); \
if ( 32 * SZ_1M > _p_ ) /* 32Mb Boot ROM mapped to 0x500Mb */ \
_p_ += 0x500u * SZ_1M; \
else if ( 0xc00u * SZ_1M > _p_ ) /* Space between ROM and SDRAM */ \
/* no change */ ; \
else if ( 0xc20u * SZ_1M > _p_ ) /* Raw RAM size 32Mb */ \
_p_ -= 0xc00u * SZ_1M; \
else /* Rest of it */ \
/* no change */ ; \
(vaddr) = _p_ ; \
CYG_MACRO_END
 
// Get a non-cacheable address for accessing the same store as a virtual
// (assumed cachable) address:
 
// Only RAM is mapped: ROM is only available cachable, everything else is
// not cachable anyway.
 
#define HAL_VIRT_TO_UNCACHED_ADDRESS( vaddr, uaddr ) CYG_MACRO_START \
cyg_uint32 _v_ = (cyg_uint32)(vaddr); \
if ( 32 * SZ_1M > _v_ ) /* 32Mb of SDRAM Bank 0 from 0-32Mb */ \
_v_ += 0xc00u * SZ_1M; \
else /* Everything else is already uncacheable or is ROM */ \
/* no change */ ; \
(uaddr) = _v_ ; \
CYG_MACRO_END
 
//---------------------------------------------------------------------------
#endif // CYGONCE_HAL_SA11X0_PLATFORM_PLF_MMAP_H
// EOF plf_mmap.h
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.h
0,0 → 1,20
// eCos memory layout - Fri Oct 20 05:56:55 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_ram (0)
#define CYGMEM_REGION_ram_SIZE (0x4000000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#define CYGMEM_REGION_rom (0x50000000)
#define CYGMEM_REGION_rom_SIZE (0x2000000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x4000000 - (size_t) CYG_LABEL_NAME (__heap1))
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.ldi
0,0 → 1,28
// eCos memory layout - Fri Oct 20 05:56:55 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
ram : ORIGIN = 0, LENGTH = 0x4000000
rom : ORIGIN = 0x50000000, LENGTH = 0x2000000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (rom, 0x50000000, LMA_EQ_VMA)
SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
SECTION_data (ram, 0x8000, FOLLOWING (.gcc_except_table))
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.h
0,0 → 1,17
// eCos memory layout - Fri Oct 20 05:56:24 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_ram (0)
#define CYGMEM_REGION_ram_SIZE (0x4000000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x4000000 - (size_t) CYG_LABEL_NAME (__heap1))
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.ldi
0,0 → 1,27
// eCos memory layout - Fri Oct 20 05:56:24 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
ram : ORIGIN = 0, LENGTH = 0x4000000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
SECTION_rom_vectors (ram, 0x20000, LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.mlt
0,0 → 1,14
version 0
region ram 0 4000000 0 !
region rom 50000000 2000000 1 !
section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
section data 0 1 1 1 1 1 0 0 8000 bss !
section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
section rom_vectors 0 1 0 1 1 1 1 1 50000000 50000000 text text !
section text 0 4 0 1 0 1 0 1 fini fini !
section fini 0 4 0 1 0 1 0 1 rodata rodata !
section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 4 0 1 0 0 0 1 data !
/v2_0/include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.mlt
0,0 → 1,13
version 0
region ram 0 4000000 0 !
section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
section rom_vectors 0 1 0 1 1 1 1 1 20000 20000 text text !
section text 0 4 0 1 0 1 0 1 fini fini !
section fini 0 4 0 1 0 1 0 1 rodata rodata !
section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 4 0 1 0 1 0 1 data data !
section data 0 4 0 1 0 1 0 1 bss bss !
section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
/v2_0/include/cerfpda.h
0,0 → 1,153
#ifndef CYGONCE_CERF_H
#define CYGONCE_CERF_H
 
/*=============================================================================
//
// cerfpda.h
//
// Platform specific support (register layout, etc)
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-05-08
// Purpose: Intel SA1110/Assabet platform specific support routines
// Description:
// Usage: #include <cyg/hal/cerfpda.h>
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
 
#ifndef __ASSEMBLER__
//
// Board Control Register
// Note: This register is write-only. Thus a shadow copy is provided so that
// it may be safely updated/shared by multiple threads.
//
extern unsigned long _cerfpda_BCR; // Shadow copy
 
extern void cerfpda_BCR(unsigned long mask, unsigned long value);
 
#endif
 
//
// Signal assertion levels
//
#define SA1110_LOGIC_ONE(m) (m & 0xFFFFFFFF)
#define SA1110_LOGIC_ZERO(m) (m & 0x00000000)
 
//
// SA1110/Cerf Board Control Register
//
#define SA1110_BOARD_CONTROL REG32_PTR(0x10000000)
#define SA1110_BCR_MIN 0x00000000 // Reset state
 
#define SA1110_BCR_CF_POWER 0x00000000 // 1 = CompactFlash power on (##### NA ######)
#define SA1110_BCR_CF_POWER_ON SA1110_LOGIC_ONE(SA1110_BCR_CF_POWER)
#define SA1110_BCR_CF_POWER_OFF SA1110_LOGIC_ZERO(SA1110_BCR_CF_POWER)
#define SA1110_BCR_CF_RESET 0x00000000 // 1 = CompactFlash reset (##### NA #####)
#define SA1110_BCR_CF_RESET_ENABLE SA1110_LOGIC_ONE(SA1110_BCR_CF_RESET)
#define SA1110_BCR_CF_RESET_DISABLE SA1110_LOGIC_ZERO(SA1110_BCR_CF_RESET)
#define SA1110_BCR_SOFT_RESET 0x00000004 // 0 = resets UCB1300, ADI7171, UDA1341
#define SA1110_BCR_IRDA_FREQ 0x00000008 // 0 = SIR, 1 = MIR/FIR
#define SA1110_BCR_IRDA_MD 0x00000030 // IrDA Mode & range
#define SA1110_BCR_IRDA_MD_MAX 0x00000000 // Max range and power
#define SA1110_BCR_IRDA_MD_OFF 0x00000010 // Shutdown
#define SA1110_BCR_IRDA_MD_23 0x00000020 // 2/3 power
#define SA1110_BCR_IRDA_MD_13 0x00000030 // 1/3 power
#define SA1110_BCR_STEREO_LB 0x00000040 // 1 = Stereo loopback on
#define SA1110_BCR_CF_BUS 0x00000000 // 0 = CompactFlash bus on (##### NA #####)
#define SA1110_BCR_CF_BUS_ON SA1110_LOGIC_ZERO(SA1110_BCR_CF_BUS)
#define SA1110_BCR_CF_BUS_OFF SA1110_LOGIC_ONE(SA1110_BCR_CF_BUS)
#define SA1110_BCR_AUDIO_ON 0x00000100 // 1 = UDA1341, MIC, DAA power on
#define SA1110_BCR_BACKLIGHT 0x00000200 // 1 = LCD backlight on
#define SA1110_BCR_LCD_BPP 0x00000400 // 1 = 16 RGB, 0 = 12 RGB
#define SA1110_BCR_LCD_16BPP SA1110_LOGIC_ONE(SA1110_BCR_LCD_BPP)
#define SA1110_BCR_LCD_12BPP SA1110_LOGIC_ZERO(SA1110_BCR_LCD_BPP)
#define SA1110_BCR_LCD 0x00000800 // 1 = LCD panel and controller on
#define SA1110_BCR_LCD_ON SA1110_LOGIC_ONE(SA1110_BCR_LCD)
#define SA1110_BCR_LCD_OFF SA1110_LOGIC_ZERO(SA1110_BCR_LCD)
#define SA1110_BCR_RS232_ENABLE 0x00001000 // 1 = Enable RS232 signals
#define SA1110_BCR_RED_LED 0x00000001 // 0 = Red LED on
#define SA1110_BCR_RED_LED_ON SA1110_LOGIC_ZERO(SA1110_BCR_RED_LED)
#define SA1110_BCR_RED_LED_OFF SA1110_LOGIC_ONE(SA1110_BCR_RED_LED)
#define SA1110_BCR_GREEN_LED 0x00000002 // 0 = Green LED on
#define SA1110_BCR_GREEN_LED_ON SA1110_LOGIC_ZERO(SA1110_BCR_GREEN_LED)
#define SA1110_BCR_GREEN_LED_OFF SA1110_LOGIC_ONE(SA1110_BCR_GREEN_LED)
#define SA1110_BCR_MOTOR 0x00000004 // 1 = Vibrator motor on
#define SA1110_BCR_MOTOR_ON SA1110_LOGIC_ONE(SA1110_BCR_MOTOR)
#define SA1110_BCR_MOTOR_OFF SA1110_LOGIC_ZERO(SA1110_BCR_MOTOR)
#define SA1110_BCR_COM_DTR 0x00010000 // COM port Data Terminal Ready
#define SA1110_BCR_COM_RTS 0x00020000 // COM port Request To Send
#define SA1110_BCR_RADIO_WAKE 0x00040000 // 1 = Wake up CPU with radio
#define SA1110_BCR_MUTE 0x00200000 // 1 = Audio muted
 
#define SA1110_BCR_ETH_SLEEP (1 << 27) // Output pin to put Crystal LAN in sleep mode.
 
//
// Special purpose GPIO interrupt mappings
//
#define SA1110_CF_IRQ CYGNUM_HAL_INTERRUPT_GPIO22
#define SA1110_CF_DETECT CYGNUM_HAL_INTERRUPT_GPIO23
#define SA1110_IRQ_GPIO_ETH CYGNUM_HAL_INTERRUPT_GPIO26
#define SA1110_IRQ_GPIO_16X5X CYGNUM_HAL_INTERRUPT_GPIO3
//
// GPIO layout
//
#define SA1110_GPIO_CF_DETECT 0x00800000 // 0 = Compact Flash detect
#define SA1110_GPIO_CF_PRESENT SA1110_LOGIC_ZERO(SA1110_GPIO_CF_DETECT)
//#define SA1110_GPIO_CF_ABSENT SA1110_LOGIC_ONE(SA1110_GPIO_CF_DETECT)
 
//
// LCD Controller
//
#define SA1110_LCCR0 SA11X0_REGISTER(0x30100000)
#define SA1110_LCSR SA11X0_REGISTER(0x30100004)
#define SA1110_DBAR1 SA11X0_REGISTER(0x30100010)
#define SA1110_DCAR1 SA11X0_REGISTER(0x30100014)
#define SA1110_DBAR2 SA11X0_REGISTER(0x30100018)
#define SA1110_DCAR2 SA11X0_REGISTER(0x3010001C)
#define SA1110_LCCR1 SA11X0_REGISTER(0x30100020)
#define SA1110_LCCR2 SA11X0_REGISTER(0x30100024)
#define SA1110_LCCR3 SA11X0_REGISTER(0x30100028)
 
/*---------------------------------------------------------------------------*/
/* end of cerfpda.h */
#endif /* CYGONCE_CERF_H */
/v2_0/include/hal_platform_setup.h
0,0 → 1,324
#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
#define CYGONCE_HAL_PLATFORM_SETUP_H
 
/*=============================================================================
//
// hal_platform_setup.h
//
// Platform specific support for HAL (assembly code)
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-05-08
// Purpose: Intel SA1110/Assabet platform specific support routines
// Description:
// Usage: #include <cyg/hal/hal_platform_setup.h>
// Only used by "vectors.S"
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <pkgconf/system.h> // System-wide configuration info
#include CYGBLD_HAL_VARIANT_H // Variant (SA11x0) specific configuration
#include CYGBLD_HAL_PLATFORM_H // Platform specific configuration
#include <cyg/hal/hal_sa11x0.h> // Variant specific hardware definitions
#include <cyg/hal/hal_mmu.h> // MMU definitions
#include <cyg/hal/cerfpda.h> // Platform specific hardware definitions
 
#if defined(CYG_HAL_STARTUP_ROM)
#define PLATFORM_SETUP1 _platform_setup1
#define CYGHWR_HAL_ARM_HAS_MMU
 
#if (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 59000)
#define SA11X0_PLL_CLOCK 0x0
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 73700)
#define SA11X0_PLL_CLOCK 0x1
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 88500)
#define SA11X0_PLL_CLOCK 0x2
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 103200)
#define SA11X0_PLL_CLOCK 0x3
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 118000)
#define SA11X0_PLL_CLOCK 0x4
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 132700)
#define SA11X0_PLL_CLOCK 0x5
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 147500)
#define SA11X0_PLL_CLOCK 0x6
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 162200)
#define SA11X0_PLL_CLOCK 0x7
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 176900)
#define SA11X0_PLL_CLOCK 0x8
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 191700)
#define SA11X0_PLL_CLOCK 0x9
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 206400)
#define SA11X0_PLL_CLOCK 0xA
#elif (CYGHWR_HAL_ARM_SA11X0_PROCESSOR_CLOCK == 221200)
#define SA11X0_PLL_CLOCK 0xB
#else
#error Invalid processor clock speed
#endif
 
 
#define CAS0_WAVEFORM_VALUE 0xAAAAAA9F
#define CAS1_WAVEFORM_VALUE 0xAAAAAAAA
#define CAS2_WAVEFORM_VALUE 0xAAAAAAAA
 
#define MSC0VALUE 0xFFFCFFF8
#define MSC1VALUE 0xFFFFFFFF
#define MSC2VALUE 0xFFFFFFFF
 
#define DRAM_CONFIG_VALUE 0x72647264
#define RFSH_CONFIG_VALUE 0x00300161
 
// Macros that handle the red debug LED wired to GPIO-1
 
.macro _LED_ON,led
ldr r1,=SA11X0_GPIO_PIN_OUTPUT_SET
mov r0,#(1<<\led)
str r0,[r1]
// Delay
ldr r1,=10000
10: sub r1,r1,#1
cmp r1,#0
bne 10b
.endm
.macro _LED_OFF,led
ldr r1,=SA11X0_GPIO_PIN_OUTPUT_CLEAR
mov r0,#(1<<\led)
str r0,[r1]
// Delay
ldr r1,=10000
10: sub r1,r1,#1
cmp r1,#0
bne 10b
.endm
 
// This macro represents the initial startup code for the platform
.macro _platform_setup1
// Disable all interrupts (ICMR not specified on power-up)
ldr r1,=SA11X0_ICMR
mov r0,#0
str r0,[r1]
// Initialize the CPU.
mov r0, #0x0 // Get a zero to turn things off
mcr p15, 0, r0, c1, c0, 0 // MMU off
mcr p15, 0, r0, c8, c7, 0 // Flush TLB
mcr p15, 0, r0, c7, c7, 0 // Flush caches
nop
nop
nop
nop
// Disable IRQs and FIQs
mov r0, #(CPSR_IRQ_DISABLE | \
CPSR_FIQ_DISABLE | \
CPSR_SUPERVISOR_MODE)
msr cpsr, r0
 
// Set up GPIOs (LED1 off)
ldr r1,=SA11X0_GPIO_PIN_DIRECTION
ldr r2,=0x0320000f // Set LT1348,DREN,RXEN,CF and LEDs to be output
str r2,[r1]
ldr r3,=SA11X0_GPIO_PIN_OUTPUT_SET
ldr r2,=0x0300000f // Set the LT1348,DREN,RXEN and LEDs to 1.
str r2,[r3]
ldr r3,=SA11X0_GPIO_PIN_OUTPUT_CLEAR
ldr r2,=0x0020000f // Set CF reset,LEDS OFF
str r2,[r3]
 
// Turn on LED 0
_LED_ON 0
// Disable clock switching
mcr p15,0,r0,\
SA11X0_TEST_CLOCK_AND_IDLE_REGISTER,\
SA11X0_DISABLE_CLOCK_SWITCHING_RM,\
SA11X0_DISABLE_CLOCK_SWITCHING_OPCODE
 
// Set up processor clock
ldr r1,=SA11X0_PWR_MGR_PLL_CONFIG
ldr r2,=SA11X0_PLL_CLOCK
str r2,[r1]
 
// Turn clock switching back on
mcr p15,0,r0,\
SA11X0_TEST_CLOCK_AND_IDLE_REGISTER,\
SA11X0_ENABLE_CLOCK_SWITCHING_RM,\
SA11X0_ENABLE_CLOCK_SWITCHING_OPCODE
nop
nop
 
// Let the PLL settle down
ldr r1,=20000
10: sub r1,r1,#1
cmp r1,#0
bne 10b
 
// Turn on LED 1
_LED_ON 1
// Initialize DRAM controller
ldr r1,=dram_table
ldr r2,=__exception_handlers
sub r1,r1,r2
ldr r2,[r1],#4 // First control register
10: ldr r3,[r1],#4
str r3,[r2]
ldr r2,[r1],#4 // Next control register
cmp r2,#0
bne 10b
 
// Turn on LED 2
_LED_ON 2
 
// Enable UART
ldr r1,=SA1110_GPCLK_CONTROL_0
ldr r2,=SA1110_GPCLK_SUS_UART
str r2,[r1]
 
// Release DRAM hold (set by RESET)
ldr r1,=SA11X0_PWR_MGR_SLEEP_STATUS
ldr r2,=SA11X0_DRAM_CONTROL_HOLD
str r2,[r1]
// Perform 8 reads from unmapped/unenabled DRAM
ldr r1,=SA11X0_RAM_BANK0_BASE
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
ldr r2,[r1]
 
// Enable DRAM bank 0
ldr r1,=SA11X0_DRAM_CONFIGURATION
ldr r2,=DRAM_CONFIG_VALUE
ldr r3,=0x00030003
orr r2, r2, r3
str r2,[r1]
// Wait for the DRAM to come up.
mov r1, #0x400
0: subs r1, r1, #1
bne 0b
 
// Turn on LED 3
_LED_ON 3
 
b 19f
// DRAM controller initialization
dram_table:
.word SA11X0_DRAM0_CAS_0, CAS0_WAVEFORM_VALUE
.word SA11X0_DRAM0_CAS_1, CAS1_WAVEFORM_VALUE
.word SA11X0_DRAM0_CAS_2, CAS2_WAVEFORM_VALUE
.word SA11X0_DRAM2_CAS_0, CAS0_WAVEFORM_VALUE
.word SA11X0_DRAM2_CAS_1, CAS1_WAVEFORM_VALUE
.word SA11X0_DRAM2_CAS_2, CAS2_WAVEFORM_VALUE
.word SA11X0_REFRESH_CONFIGURATION, RFSH_CONFIG_VALUE
.word SA11X0_DRAM_CONFIGURATION, DRAM_CONFIG_VALUE
.word SA11X0_STATIC_CONTROL_0, MSC0VALUE
.word SA11X0_STATIC_CONTROL_1, MSC1VALUE
.word SA11X0_STATIC_CONTROL_2, MSC2VALUE
.word 0, 0
 
19:
// Wakeup from deep sleep mode
ldr r1,=SA11X0_RESET_STATUS
ldr r2,[r1]
cmp r2,#SA11X0_SLEEP_MODE_RESET
bne 45f
ldr r1,=SA11X0_PWR_MGR_SCRATCHPAD
ldr r1,[r1]
mov pc,r1
nop
45: nop
 
// Release peripheral hold (set by RESET)
ldr r1,=SA11X0_PWR_MGR_SLEEP_STATUS
ldr r2,=SA11X0_PERIPHERAL_CONTROL_HOLD
str r2,[r1]
 
// Set up a stack [for calling C code]
ldr r1,=__startup_stack
ldr r2,=SA11X0_RAM_BANK0_BASE
orr sp,r1,r2
 
// Create MMU tables
bl hal_mmu_init
// Turn OFF LED 0
_LED_OFF 0
// Enable MMU
ldr r2,=10f
ldr r1,=MMU_Control_Init|MMU_Control_M
mcr MMU_CP,0,r1,MMU_Control,c0
mov pc,r2 /* Change address spaces */
nop
nop
nop
 
10:
// Turn OFF LED 1
_LED_OFF 1
 
// Save shadow copy of BCR, also hardware configuration
ldr r1,=_cerfpda_BCR
str r2,[r1]
.endm
#else // defined(CYG_HAL_STARTUP_ROM)
#define PLATFORM_SETUP1
#endif
 
#define PLATFORM_VECTORS _platform_vectors
.macro _platform_vectors
.globl _cerfpda_BCR
_cerfpda_BCR: .long 0 // Board Control register shadow
.endm
 
/*---------------------------------------------------------------------------*/
/* end of hal_platform_setup.h */
#endif /* CYGONCE_HAL_PLATFORM_SETUP_H */
/v2_0/include/plf_io.h
0,0 → 1,60
#ifndef CYGONCE_HAL_ARM_SA11X0_CERFPDA_PLF_IO_H
#define CYGONCE_HAL_ARM_SA11X0_CERFPDA_PLF_IO_H
 
/*=============================================================================
//
// plf_io.h
//
// Platform specific support (register layout, etc)
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): jskov
// Contributors: jskov
// Date: 2002-01-28
// Purpose: Platform specific support routines
// Description:
// Usage: #include <cyg/hal/hal_io.h>
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <cyg/hal/cerfpda.h>
 
#endif // CYGONCE_HAL_ARM_SA11X0_CERFPDA_PLF_IO_H
// EOF plf_io.h
/v2_0/ChangeLog
0,0 → 1,86
2003-02-13 Patrick Doyle <wpd@delcomsys.com>
* src/cerfpda_misc.c: Replaced explicit prototype of memset with
#include <string.h>.
 
2002-05-14 Jesper Skov <jskov@redhat.com>
 
* src/cerfpda_misc.c: Fixed warning.
 
2002-05-07 Gary Thomas <gthomas@redhat.com>
 
* cdl/hal_arm_sa11x0_cerfpda.cdl:
Standardize CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT usage.
 
2002-05-01 Gary Thomas <gthomas@redhat.com>
 
* include/plf_mmap.h: Fix mapping macros (I/O region).
 
2002-04-16 Gary Thomas <gthomas@redhat.com>
 
* src/cerfpda_misc.c (hal_mmu_init): Add unmapped DRAM.
 
2002-02-05 Gary Thomas <gthomas@redhat.com>
 
* cdl/hal_arm_sa11x0_cerfpda.cdl: Add product info for RedBoot.
 
2002-02-04 Gary Thomas <gthomas@redhat.com>
 
* src/lcd_support.c:
* src/cerfpda_misc.c:
* src/banner.xpm:
* misc/redhat2.xpm:
* misc/redhat.xpm:
* misc/redboot_ROM.ecm:
* misc/redboot_RAM.ecm:
* misc/redboot.xpm:
* misc/logo.xpm:
* misc/lcd_test.c:
* misc/escw.xpm:
* misc/eCos2.xpm:
* misc/eCos.xpm:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.mlt:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.ldi:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_rom.h:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.mlt:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.ldi:
* include/pkgconf/mlt_arm_sa11x0_cerfpda_ram.h:
* include/plf_mmap.h:
* include/plf_io.h:
* include/hal_platform_setup.h:
* include/cerfpda.h:
* cdl/hal_arm_sa11x0_cerfpda.cdl: New file(s) - port to CerfPDA.
 
//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================
/v2_0/src/lcd_support.c
0,0 → 1,633
//==========================================================================
//
// lcd_support.c
//
// SA1110/CerfCube - LCD support routines
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-06-05
// Description: Tool used to test LCD stuff
//####DESCRIPTIONEND####
 
#include <pkgconf/system.h>
 
#include <cyg/infra/diag.h>
#include <cyg/hal/hal_io.h> // IO macros
#include <cyg/hal/hal_arch.h> // Register state info
#include <cyg/hal/hal_intr.h> // HAL interrupt macros
 
#include <cyg/hal/hal_sa11x0.h> // Board definitions
#include <cyg/hal/cerfpda.h>
#include <cyg/hal/hal_cache.h>
 
#ifdef CYGPKG_ISOINFRA
# include <pkgconf/isoinfra.h>
# ifdef CYGINT_ISO_STDIO_FORMATTED_IO
# include <stdio.h> // sscanf
# endif
#endif
 
#include "banner.xpm"
 
#ifndef FALSE
#define FALSE 0
#define TRUE 1
#endif
 
static struct lcd_frame {
unsigned short palette[16];
unsigned short pixels[240][320];
unsigned char pad[256];
} lcd_frame_buffer;
 
#define RGB_RED(x) (((x)&0x1F)<<11)
#define RGB_GREEN(x) (((x)&0x3F)<<5)
#define RGB_BLUE(x) ((x)&0x1F)
 
static volatile struct lcd_frame *fp;
 
static int
_hexdigit(char c)
{
if ((c >= '0') && (c <= '9')) {
return c - '0';
} else
if ((c >= 'A') && (c <= 'F')) {
return (c - 'A') + 0x0A;
} else
if ((c >= 'a') && (c <= 'f')) {
return (c - 'a') + 0x0a;
}
}
 
static int
_hex(char *cp)
{
return (_hexdigit(*cp)<<4) | _hexdigit(*(cp+1));
}
 
static unsigned short
parse_color(char *cp)
{
int red, green, blue;
 
if (*cp == '#') {
red = _hex(cp+1);
green = _hex(cp+3);
blue = _hex(cp+5);
return RGB_RED(red>>3) | RGB_GREEN(green>>2) | RGB_BLUE(blue>>3);
} else {
// Should be "None"
return 0xFFFF;
}
}
 
#ifndef CYGINT_ISO_STDIO_FORMATTED_IO
static int
get_int(char **_cp)
{
char *cp = *_cp;
char c;
int val = 0;
while ((c = *cp++) && (c != ' ')) {
if ((c >= '0') && (c <= '9')) {
val = val * 10 + (c - '0');
} else {
return -1;
}
}
*_cp = cp;
return val;
}
#endif
 
void
show_xpm(char *xpm[])
{
int i, row, col;
char *cp;
int nrows, ncols, nclrs;
unsigned short colors[256]; // Mapped by character index
 
cp = xpm[0];
#ifdef CYGINT_ISO_STDIO_FORMATTED_IO
if (sscanf(cp, "%d %d %d", &ncols, &nrows, &nclrs) != 3) {
#else
if (((ncols = get_int(&cp)) < 0) ||
((nrows = get_int(&cp)) < 0) ||
((nclrs = get_int(&cp)) < 0)) {
#endif
diag_printf("Can't parse XPM data, sorry\n");
return;
}
// diag_printf("%d rows, %d cols, %d colors\n", nrows, ncols, nclrs);
 
for (i = 0; i < 256; i++) {
colors[i] = 0x0000;
}
for (i = 0; i < nclrs; i++) {
cp = xpm[i+1];
colors[(unsigned int)*cp] = parse_color(&cp[4]);
// printf("Color[%c] = %x\n", *cp, colors[(unsigned int)*cp]);
}
 
for (row = 0; row < nrows; row++) {
cp = xpm[nclrs+1+row];
for (col = 0; col < ncols; col++) {
fp->pixels[row][col] = colors[(unsigned int)*cp++];
}
}
// cyg_thread_delay(100);
}
 
// 8x8 Font - from Helios
 
#define FIRST_CHAR 0x20
#define LAST_CHAR 0x7E
#define FONT_HEIGHT 8
#define FONT_WIDTH 8
#define CURSOR_ON 0x5F
#define CURSOR_OFF 0x20
static const char font_table[LAST_CHAR-FIRST_CHAR+1][8] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* */
{ 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ! */
{ 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* " */
{ 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00 }, /* # */
{ 0x30, 0xFC, 0x16, 0x7C, 0xD0, 0x7E, 0x18, 0x00 }, /* $ */
{ 0x06, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x60, 0x00 }, /* % */
{ 0x1C, 0x36, 0x36, 0x1C, 0xB6, 0x66, 0xDC, 0x00 }, /* & */
{ 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ' */
{ 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00 }, /* ( */
{ 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00 }, /* ) */
{ 0x00, 0x18, 0x7E, 0x3C, 0x7E, 0x18, 0x00, 0x00 }, /* * */
{ 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00 }, /* + */
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0C }, /* , */
{ 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00 }, /* - */
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00 }, /* . */
{ 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00 }, /* / */
{ 0x3C, 0x66, 0x76, 0x7E, 0x6E, 0x66, 0x3C, 0x00 }, /* 0 */
{ 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* 1 */
{ 0x3C, 0x66, 0x60, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* 2 */
{ 0x3C, 0x66, 0x60, 0x38, 0x60, 0x66, 0x3C, 0x00 }, /* 3 */
{ 0x30, 0x38, 0x3C, 0x36, 0x7E, 0x30, 0x30, 0x00 }, /* 4 */
{ 0x7E, 0x06, 0x3E, 0x60, 0x60, 0x66, 0x3C, 0x00 }, /* 5 */
{ 0x38, 0x0C, 0x06, 0x3E, 0x66, 0x66, 0x3C, 0x00 }, /* 6 */
{ 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x00 }, /* 7 */
{ 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00 }, /* 8 */
{ 0x3C, 0x66, 0x66, 0x7C, 0x60, 0x30, 0x1C, 0x00 }, /* 9 */
{ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00 }, /* : */
{ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x0C }, /* ; */
{ 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00 }, /* < */
{ 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00 }, /* = */
{ 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00 }, /* > */
{ 0x3C, 0x66, 0x30, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ? */
{ 0x3C, 0x66, 0x76, 0x56, 0x76, 0x06, 0x3C, 0x00 }, /* @ */
{ 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* A */
{ 0x3E, 0x66, 0x66, 0x3E, 0x66, 0x66, 0x3E, 0x00 }, /* B */
{ 0x3C, 0x66, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00 }, /* C */
{ 0x1E, 0x36, 0x66, 0x66, 0x66, 0x36, 0x1E, 0x00 }, /* D */
{ 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x7E, 0x00 }, /* E */
{ 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* F */
{ 0x3C, 0x66, 0x06, 0x76, 0x66, 0x66, 0x3C, 0x00 }, /* G */
{ 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* H */
{ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* I */
{ 0x7C, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00 }, /* J */
{ 0x66, 0x36, 0x1E, 0x0E, 0x1E, 0x36, 0x66, 0x00 }, /* K */
{ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7E, 0x00 }, /* L */
{ 0xC6, 0xEE, 0xFE, 0xD6, 0xD6, 0xC6, 0xC6, 0x00 }, /* M */
{ 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00 }, /* N */
{ 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* O */
{ 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* P */
{ 0x3C, 0x66, 0x66, 0x66, 0x56, 0x36, 0x6C, 0x00 }, /* Q */
{ 0x3E, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x66, 0x00 }, /* R */
{ 0x3C, 0x66, 0x06, 0x3C, 0x60, 0x66, 0x3C, 0x00 }, /* S */
{ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* T */
{ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* U */
{ 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* V */
{ 0xC6, 0xC6, 0xD6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00 }, /* W */
{ 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00 }, /* X */
{ 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00 }, /* Y */
{ 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x7E, 0x00 }, /* Z */
{ 0x3E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3E, 0x00 }, /* [ */
{ 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00 }, /* \ */
{ 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7C, 0x00 }, /* ] */
{ 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ^ */
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF }, /* _ */
{ 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ` */
{ 0x00, 0x00, 0x3C, 0x60, 0x7C, 0x66, 0x7C, 0x00 }, /* a */
{ 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x00 }, /* b */
{ 0x00, 0x00, 0x3C, 0x66, 0x06, 0x66, 0x3C, 0x00 }, /* c */
{ 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* d */
{ 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x06, 0x3C, 0x00 }, /* e */
{ 0x38, 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x00 }, /* f */
{ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* g */
{ 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* h */
{ 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* i */
{ 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x0E }, /* j */
{ 0x06, 0x06, 0x66, 0x36, 0x1E, 0x36, 0x66, 0x00 }, /* k */
{ 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* l */
{ 0x00, 0x00, 0x6C, 0xFE, 0xD6, 0xD6, 0xC6, 0x00 }, /* m */
{ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* n */
{ 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* o */
{ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06 }, /* p */
{ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0xE0 }, /* q */
{ 0x00, 0x00, 0x36, 0x6E, 0x06, 0x06, 0x06, 0x00 }, /* r */
{ 0x00, 0x00, 0x7C, 0x06, 0x3C, 0x60, 0x3E, 0x00 }, /* s */
{ 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x38, 0x00 }, /* t */
{ 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* u */
{ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* v */
{ 0x00, 0x00, 0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00 }, /* w */
{ 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00 }, /* x */
{ 0x00, 0x00, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* y */
{ 0x00, 0x00, 0x7E, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* z */
{ 0x30, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x30, 0x00 }, /* { */
{ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* | */
{ 0x0C, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0C, 0x00 }, /* } */
{ 0x8C, 0xD6, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 } /* ~ */
};
 
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
#define LCD_DEPTH 16
 
// This can be 1 or 2
#define SCREEN_SCALE 2
#define NIBBLES_PER_PIXEL (1*SCREEN_SCALE)
#define PIXELS_PER_BYTE (2/NIBBLES_PER_PIXEL)
#define PIXEL_MASK ((1<<PIXELS_PER_BYTE)-1)
 
// Physical screen info
//static int lcd_depth = LCD_DEPTH; // Should be 1, 2, or 4
static int lcd_width = LCD_WIDTH;
static int lcd_height = LCD_HEIGHT;
 
// Virtual screen info
static int curX = 0; // Last used position
static int curY = 0;
//static int width = LCD_WIDTH / (FONT_WIDTH*NIBBLES_PER_PIXEL);
//static int height = LCD_HEIGHT / (FONT_HEIGHT*SCREEN_SCALE);
static int fg = RGB_RED(0) | RGB_GREEN(0) | RGB_BLUE(0);
static int bg = RGB_RED(31) | RGB_GREEN(63) | RGB_BLUE(31);
#define SCREEN_WIDTH (LCD_WIDTH/FONT_WIDTH)
#define SCREEN_HEIGHT (LCD_HEIGHT/FONT_HEIGHT)
static char screen[SCREEN_HEIGHT][SCREEN_WIDTH];
#define SCREEN_START 7
 
// Functions
static void lcd_drawc(cyg_int8 c, int x, int y);
 
void
lcd_init(int depth)
{
// Currently only color/16bpp supported
 
unsigned long _fp;
 
// Frame buffer must be aligned on a 16 byte boundary
_fp = (((unsigned long)&lcd_frame_buffer) + 15) & ~15;
fp = (struct lcd_frame *)(_fp + SA11X0_RAM_BANK0_BASE);
// Enable LCD in 320x240 16bpp
*SA1110_DBAR1 = (unsigned long)&(fp->palette);
*SA1110_LCCR1 = 0x1D1D0930;
*SA1110_LCCR2 = 0xEF;
*SA1110_LCCR3 = 0x0c;
fp->palette[0] = 0x2000; // Tell controller 16 bits
// *SA1110_LCCR0 = 0xBB; // B&W
*SA1110_LCCR0 = 0xB9; // Color
// cerfpda_BCR(SA1110_BCR_LCD_BPP, SA1110_BCR_LCD_12BPP);
cerfpda_BCR(SA1110_BCR_LCD_BPP, SA1110_BCR_LCD_16BPP);
cerfpda_BCR(SA1110_BCR_LCD, SA1110_BCR_LCD_ON);
cerfpda_BCR(SA1110_BCR_BACKLIGHT, SA1110_BCR_BACKLIGHT);
}
 
// Clear screen
void
lcd_clear(void)
{
int row, col;
for (row = 0; row < lcd_height; row++) {
for (col = 0; col < lcd_width; col++) {
fp->pixels[row][col] = bg;
}
}
for (row = 0; row < SCREEN_HEIGHT; row++) {
for (col = 0; col < SCREEN_WIDTH; col++) {
screen[row][col] = ' ';
}
}
// Note: Row 0 seems to wrap incorrectly
curX = 0; curY = SCREEN_START;
lcd_drawc(CURSOR_ON, curX, curY);
show_xpm(banner_xpm);
}
 
// Position cursor
void
lcd_moveto(int X, int Y)
{
lcd_drawc(CURSOR_OFF, curX, curY);
if (X < 0) X = 0;
if (X >= SCREEN_WIDTH) X = SCREEN_WIDTH-1;
curX = X;
if (Y < SCREEN_START) Y = SCREEN_START;
if (Y >= SCREEN_HEIGHT) Y = SCREEN_HEIGHT-1;
curY = Y;
lcd_drawc(CURSOR_ON, curX, curY);
}
 
// Render a character at position (X,Y) with current background/foreground
static void
lcd_drawc(cyg_int8 c, int x, int y)
{
// Currently hard-coded for 16bpp
cyg_uint8 bits;
cyg_uint16 *pixels;
int l, p;
 
screen[curY][curX] = c;
for (l = 0; l < FONT_HEIGHT; l++) {
bits = font_table[c-FIRST_CHAR][l];
pixels = &fp->pixels[curY*FONT_HEIGHT+l][curX*FONT_WIDTH];
for (p = 0; p < 8; p++) {
if (bits & 0x01) {
*pixels++ = fg;
} else {
*pixels++ = bg;
}
bits >>= 1;
}
}
}
 
static void
lcd_scroll(void)
{
int row, col;
cyg_uint8 *c1, *c2;
cyg_uint16 *p1, *p2;
 
// First scroll up the virtual screen
for (row = SCREEN_START; row < SCREEN_HEIGHT; row++) {
c1 = &screen[row-1][0];
c2 = &screen[row][0];
for (col = 0; col < SCREEN_WIDTH; col++) {
*c1++ = *c2++;
}
}
c1 = &screen[SCREEN_HEIGHT-1][0];
for (col = 0; col < SCREEN_WIDTH; col++) {
*c1++ = 0x20;
}
// Now the physical screen
for (row = FONT_HEIGHT*(SCREEN_START+1); row < LCD_HEIGHT; row++) {
p1 = &fp->pixels[row-FONT_HEIGHT][0];
p2 = &fp->pixels[row][0];
for (col = 0; col < LCD_WIDTH; col++) {
*p1++ = *p2++;
}
}
for (row = LCD_HEIGHT-FONT_HEIGHT; row < LCD_HEIGHT; row++) {
p1 = &fp->pixels[row][0];
for (col = 0; col < LCD_WIDTH; col++) {
*p1++ = bg;
}
}
}
 
// Draw one character at the current position
void
lcd_putc(cyg_int8 c)
{
lcd_drawc(CURSOR_OFF, curX, curY);
switch (c) {
case '\r':
curX = 0;
break;
case '\n':
curY++;
if (curY == SCREEN_HEIGHT) {
lcd_scroll();
curY--;
}
break;
case '\b':
curX--;
if (curX < 0) {
curY--;
if (curY < 0) curY = 0;
curX = SCREEN_WIDTH-1;
}
break;
default:
lcd_drawc(c, curX, curY);
curX++;
if (curX == SCREEN_WIDTH) {
curY++;
curX = 0;
}
}
lcd_drawc(CURSOR_ON, curX, curY);
}
 
// Basic LCD 'printf()' support
 
#include <stdarg.h>
 
#define is_digit(c) ((c >= '0') && (c <= '9'))
 
static int
_cvt(unsigned long val, char *buf, long radix, char *digits)
{
char temp[80];
char *cp = temp;
int length = 0;
if (val == 0) {
/* Special case */
*cp++ = '0';
} else {
while (val) {
*cp++ = digits[val % radix];
val /= radix;
}
}
while (cp != temp) {
*buf++ = *--cp;
length++;
}
*buf = '\0';
return (length);
}
 
int
lcd_vprintf(void (*putc)(cyg_int8), const char *fmt0, va_list ap)
{
char c, sign, *cp;
int left_prec, right_prec, zero_fill, length, pad, pad_on_right;
char buf[32];
long val;
while ((c = *fmt0++)) {
cp = buf;
length = 0;
if (c == '%') {
c = *fmt0++;
left_prec = right_prec = pad_on_right = 0;
if (c == '-') {
c = *fmt0++;
pad_on_right++;
}
if (c == '0') {
zero_fill = TRUE;
c = *fmt0++;
} else {
zero_fill = FALSE;
}
while (is_digit(c)) {
left_prec = (left_prec * 10) + (c - '0');
c = *fmt0++;
}
if (c == '.') {
c = *fmt0++;
zero_fill++;
while (is_digit(c)) {
right_prec = (right_prec * 10) + (c - '0');
c = *fmt0++;
}
} else {
right_prec = left_prec;
}
sign = '\0';
switch (c) {
case 'd':
case 'x':
case 'X':
val = va_arg(ap, long);
switch (c) {
case 'd':
if (val < 0) {
sign = '-';
val = -val;
}
length = _cvt(val, buf, 10, "0123456789");
break;
case 'x':
length = _cvt(val, buf, 16, "0123456789abcdef");
break;
case 'X':
length = _cvt(val, buf, 16, "0123456789ABCDEF");
break;
}
break;
case 's':
cp = va_arg(ap, char *);
length = strlen(cp);
break;
case 'c':
c = va_arg(ap, long /*char*/);
(*putc)(c);
continue;
default:
(*putc)('?');
}
pad = left_prec - length;
if (sign != '\0') {
pad--;
}
if (zero_fill) {
c = '0';
if (sign != '\0') {
(*putc)(sign);
sign = '\0';
}
} else {
c = ' ';
}
if (!pad_on_right) {
while (pad-- > 0) {
(*putc)(c);
}
}
if (sign != '\0') {
(*putc)(sign);
}
while (length-- > 0) {
(*putc)(c = *cp++);
if (c == '\n') {
(*putc)('\r');
}
}
if (pad_on_right) {
while (pad-- > 0) {
(*putc)(' ');
}
}
} else {
(*putc)(c);
if (c == '\n') {
(*putc)('\r');
}
}
}
}
 
int
lcd_printf(char const *fmt, ...)
{
int ret;
va_list ap;
 
va_start(ap, fmt);
ret = lcd_vprintf(lcd_putc, fmt, ap);
va_end(ap);
return (ret);
}
 
void
set_bg(int red, int green, int blue)
{
bg = RGB_RED(red) | RGB_GREEN(green) | RGB_BLUE(blue);
}
 
void
set_fg(int red, int green, int blue)
{
fg = RGB_RED(red) | RGB_GREEN(green) | RGB_BLUE(blue);
}
/v2_0/src/cerfpda_misc.c
0,0 → 1,169
//==========================================================================
//
// cerfpda_misc.c
//
// HAL misc board support code for StrongARM SA1110/Cerf
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: hmt
// Travis C. Furrer <furrer@mit.edu>
// Date: 2000-05-21
// Purpose: HAL board support
// Description: Implementations of HAL board interfaces
//
//####DESCRIPTIONEND####
//
//========================================================================*/
 
#include <pkgconf/hal.h>
#include <pkgconf/system.h>
#include CYGBLD_HAL_PLATFORM_H
 
#include <cyg/infra/cyg_type.h> // base types
#include <cyg/infra/cyg_trac.h> // tracing macros
#include <cyg/infra/cyg_ass.h> // assertion macros
 
#include <cyg/hal/hal_io.h> // IO macros
#include <cyg/hal/hal_arch.h> // Register state info
#include <cyg/hal/hal_diag.h>
#include <cyg/hal/hal_intr.h> // Interrupt names
#include <cyg/hal/hal_cache.h>
#include <cyg/hal/hal_sa11x0.h> // Hardware definitions
#include <cyg/hal/cerfpda.h> // Platform specifics
 
#include <cyg/infra/diag.h> // diag_printf
 
// All the MM table layout is here:
#include <cyg/hal/hal_mm.h>
 
#include <string.h> // memset
 
void
hal_mmu_init(void)
{
unsigned long ttb_base = SA11X0_RAM_BANK0_BASE + 0x4000;
unsigned long i;
 
/*
* Set the TTB register
*/
asm volatile ("mcr p15,0,%0,c2,c0,0" : : "r"(ttb_base) /*:*/);
 
/*
* Set the Domain Access Control Register
*/
i = ARM_ACCESS_DACR_DEFAULT;
asm volatile ("mcr p15,0,%0,c3,c0,0" : : "r"(i) /*:*/);
 
/*
* First clear all TT entries - ie Set them to Faulting
*/
memset((void *)ttb_base, 0, ARM_FIRST_LEVEL_PAGE_TABLE_SIZE);
 
/* Actual Virtual Size Attributes Function */
/* Base Base MB cached? buffered? access permissions */
/* xxx00000 xxx00000 */
X_ARM_MMU_SECTION(0x000, 0x500, 32, ARM_CACHEABLE, ARM_BUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* Boot flash ROMspace */
X_ARM_MMU_SECTION(0x080, 0xf00, 16, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* Ethernet Adaptor */
X_ARM_MMU_SECTION(0x100, 0x100, 512, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* Board Registers */
X_ARM_MMU_SECTION(0x200, 0x200, 512, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* PCMCIA Socket A */
X_ARM_MMU_SECTION(0x300, 0x300, 512, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* PCMCIA Sockets B */
X_ARM_MMU_SECTION(0x800, 0x800, 0x400, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* StrongARM(R) Registers */
X_ARM_MMU_SECTION(0xC00, 0x000, 64, ARM_UNCACHEABLE, ARM_BUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* DRAM Bank 0 */
X_ARM_MMU_SECTION(0xC00, 0xC00, 64, ARM_UNCACHEABLE, ARM_BUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* DRAM Bank 0 */
X_ARM_MMU_SECTION(0xE00, 0xE00, 128, ARM_CACHEABLE, ARM_BUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* Zeros (Cache Clean) Bank */
 
}
 
//
// Board control register support
// Update the board control register (write only). Only the bits
// specified by 'mask' are changed to 'value'.
//
 
void
cerfpda_BCR(unsigned long mask, unsigned long value)
{
_cerfpda_BCR = (_cerfpda_BCR & ~mask) | (mask & value);
*SA1110_BOARD_CONTROL = _cerfpda_BCR;
}
 
//
// Platform specific initialization
//
 
void
plf_hardware_init(void)
{
// Force "alternate" use of GPIO pins used for LCD screen
*SA11X0_GPIO_ALTERNATE_FUNCTION |= 0x080003FC; // Bits 2..9
*SA11X0_GPIO_PIN_DIRECTION |= 0x080003FC; // Bits 2..9
*SA11X0_GPIO_PIN_OUTPUT_CLEAR = 0x080003FC; // Bits 2..9
*SA11X0_GPIO_PIN_OUTPUT_SET = 0x08000000; // CRYSTAL WAKEUP(GPIO27)
 
// Toggle A0 connected to the SBHE line on the Crystal chip.
*(char*)(0x20000000) = 1;
*(char*)(0x20000001) = 2;
*(char*)(0x20000000) = 3;
*(char*)(0x20000001) = 0;
 
// Configure the ethernet GPIO interrupt to rising-edge
HAL_INTERRUPT_CONFIGURE(SA1110_IRQ_GPIO_ETH, 0, 1);
 
// Configure the 16x5x GPIO interrupt to rising-edge
HAL_INTERRUPT_CONFIGURE(SA1110_IRQ_GPIO_16X5X, 0, 1);
}
 
#include CYGHWR_MEMORY_LAYOUT_H
typedef void code_fun(void);
void cerfpda_program_new_stack(void *func)
{
register CYG_ADDRESS stack_ptr asm("sp");
register CYG_ADDRESS old_stack asm("r4");
register code_fun *new_func asm("r0");
old_stack = stack_ptr;
stack_ptr = CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - sizeof(CYG_ADDRESS);
new_func = (code_fun*)func;
new_func();
stack_ptr = old_stack;
return;
}
 
// ------------------------------------------------------------------------
// EOF cerfpda_misc.c
/v2_0/src/banner.xpm
0,0 → 1,74
/* XPM */
static char * banner_xpm[] = {
"320 54 17 1",
" c None",
". c #030305",
"+ c #949394",
"@ c #CFC9CD",
"# c #525052",
"$ c #B7B6B8",
"% c #E2515E",
"& c #FDFDFB",
"* c #737073",
"= c #820204",
"- c #E33533",
"; c #343232",
"> c #E895AE",
", c #E51604",
"' c #E67284",
") c #EABAD4",
"! c #D8D7D9",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"..............*+@&&&&&&$+*..................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+#;;...................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--%>&&&&&&&&&&&&&&&&&&&&&&&&",
"...........#$&&@+*##;#++@&&$#...............................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&&&&&",
".........#$&$*...........;#!&$;.............................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&+..........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>&&&&&&&&&&&&&&&&&&&&",
"........+&$#................#$&+............................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&#...........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&&",
"......;!&*....................*&@...........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&#............................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&",
".....;!@;.....====;.=====......;!@;....................................................................;.;..................................................................&&&&&&&&&&&&&&&&&&&&&&&&+...............;;;;..........................&&&&&&,,,,,,,,,,,,,,,---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>&&&&&&&&&&&&&&&&&",
"....;&@......,,=,,=,,=...==......!!.................................................................;#!$*#..................................................................&&&&&&&&&&&&&&&&&&&&&&&!.............#+&&&&&&@*...................;***&&&&&&,,,,,,,,,,,,')&&&&&&>-,,,,,,,,,,,,,,%>!&&)>'-,,,,,,,,,,&&&&&&&&&&&&&&&&&",
"....@@;.....=,,,,,,=,,=..=,.......!!.................................................................#&&&&+;...;............................................................&&&&&&&&&&&&&&&&&&&&&&&#...........;@&&&&&&&&&&&+...............*&&&&&&&&&&&,,,,,,,,,,'&&&&&&&&&&&)-,,,,,,,,,,-)&&&&&&&&&)-,,,,,,,,'&&&&&&&&&&&&&&&&",
"...$&;......====,=,,,====,==......;!+................................................................#&&&&@..;>+;...........................................................&&&&&&&&&&&&&&&&&&&&&&&...........*&&&&&&&&&&&&&&$............#&&&&&&&&&&&&&,,,,,,,,,)&&&&&&&&&&&&&&%,,,,,,,,-&&&&&&&&&&&&%,,,,,,,,,&&&&&&&&&&&&&&&&",
"..#&;.......,=.....=,,,,,,,,.......*&#...............................................................#&&&&@...&&*...............................;...........................&&&&&&&&&&&&&&&&&&&&&&+..........+&&&&&&&&&&&&&&&&@..........#&&&&&&&&&&&&&&,,,,,,,,)&&&&&&&&&&&&&&&&',,,,,,,)&&&&&&&&&&&!,,,,,,,,,,>&&&&&&&&&&&&&&&",
"..!$........,=...;==,=,=,=,==.......$$..............................................................;#&&&&@...&&*..............................#$*..........................&&&&&&&&&&&&&&&&&&&&&&#.........#&&&&&&&&&&&&&&&&&&$........#&&&&&&&&&&&&&&&,,,,,,,)&&&&&&&&&&&&&&&&&&%,,,,,%&&&&&&&&&&&&-,,,,,,,,,,'&&&&&&&&&&&&&&&",
".*&;........,,===,,=,,,,,,,,,.......;&#..............................................................#&&&&$;..!&*;...................;.........!&+;.........................&&&&&&&&&&&&&&&&&&&&&&;.........&&&&&&&*;...#$&&&&&&#.......&&&&&&&&!'''>!&&,,,,,,'&&&&&&&)'''>&&&&&&&&,,,,,'&&&&&)-,,%)),,,,,,,,,,,-&&&&&&&&&&&&&&&",
".@+.....===.,=,,,,=,,=,=,=,,=........$$.......................;.;.;.;.;......;.;.;..............;.;.;#&&&&@..;!&*.;.;.;..........;.;.;.;....;.;!&+.;.;......................&&&&&&&&&&&&&&&&&&&&&&;........+&&&&&@........#&&&&&!......+&&&&&&&',,,,,,'&,,,,,,&&&&&&&-,,,,,,>&&&&&&',,,,)&&&&&%,,,,,-,,,,,,,,,,,-&&&&&&&&&&&&&&&",
";&#..=,,,,,..=,=,,,,,,,,,=,,,=.......#&;.....................#***;.;+$$#;..;.#+$$@+*..........#+$$$*.#&&&&@...!&*.;;*++#;.......;.#*++*;.;..;;;!&+;;;;......................&&&&&&&&&&&&&&&&&&&&&&.........&&&&&!..........+&&&&&#.....&&&&&&&-,,,,,,,,%,,,,,%&&&&&&-,,,,,,,,'&&&&&&,,,,)&&&&&>,,,,,,,,,,,,,,,,,-&&&&&&&&&&&&&&&",
"*&...,=,=,,=...===,=,=,,,,,=,=........!*.....................!&&&*;@&&&*..;#@&&&&&&&$;.....;.$&&&&&&!*&&&&@..;&&*.$!&&&&$#....;.+!&&&&&!*..;$!&&&&!&&!......................&&&&&&&&&&&&&&&&&&&&&&........#&&&&&*;;;;;;;;;;#&&&&&+....#&&&&&&',,,,,,,,,,,,,,,>&&&&&%,,,,,,,,,,)&&&&&-,,,)&&&&&&!'-,,,,,,,,,,,,,,-&&&&&&&&&&&&&&&",
"$$...,,,,=,,.......=,,=,=,,,,====.....@$.....................!&&&+!&&&&+;.*!&&&&&&&&&!.....;!&&&&&&&&!&&&&@...!&*!&&!$!&&&;;...*&&!@$@!&&*..$&!&&!&!&!......................&&&&&&&&&&&&&&&&&&&&&&........+&&&&&&&&&&&&&&&&&&&&&&&....+&&&&&&,,,,,,,,,,,,,,,,&&&&&!,,,,,,,,,,,%&&&&&',,,'&&&&&&&&&)',,,,,,,,,,,,-&&&&&&&&&&&&&&&",
"&+...==,,,,=,=......=,,,,=,=,=,,=,....*!.....................!&&&!&&&&&*.#&&&&&!!&&&&&@....!&&&&&&&&&&&&&&@..;!&!&$;...#!&!....#@*....;@&&...;.!&+.;;;......................&&&&&&&&&&&&&&&&&&&&&&........$&&&&&&&&&&&&&&&&&&&&&&&....$&&&&&),,,,,,,,,,,,,,,,&&&&&',,,,,,,,,,,,&&&&&',,,-&&&&&&&&&&&&-,,,,,,,,,,-&&&&&&&&&&&&&&&",
"&#....==,=,,,,,==....,=,,,,,=,=,,,,...#&.....................!&&&&&&&!&*.@&&&&*;.;@&&&&#;.+&&&&&@+*+&&&&&&@...&&&+......*&&*............!&+....!&+..........................&&&&&&&&&&&&&&&&&&&&&&........$&&&&&&&&&&&&&&&&&&&&&&&....$&&&&&),,,,,,,,,,,,,,,-&&&&&',,,,,,,,,,,,&&&&&),,,,%&&&&&&&&&&&&-,,,,,,,,,-&&&&&&&&&&&&&&&",
"&;.....=,,,=,=,,,===.=,,=,,,,,,,=,==..#&;....................@&&&&&@*;;.*&&&&*.....&&&&$..&&&&&$....#&&&&&@...&&!........@&$...........;)&$....&&+..........................&&&&&&&&&&&&&&&&&&&&&&........$&&&&&$$$$$$$$$$$$$$$$$$....$&&&&&),,,,,,,,,,,,,,,,&&&&&',,,,,,,,,,,,&&&&&>,,,,,->&&&&&&&&&&&,,,,,,,,,-&&&&&&&&&&&&&&&",
"&;......=,,,,,=,,,,,,,=,,,=,=,=,,,,=..;&#....................!&&&&!.....@&&&!;.;.;.$&&&&.#&&&&!;.....+&&&&$;..!&+........+&@;......;.;..+&!....!&+;.........................&&&&&&&&&&&&&&&&&&&&&&........+&&&&&;.....................$&&&&&!,,,,,,,,,,,,,,,,&&&&&),,,,,,,,,,,-&&&&&',,,,,,,,%>&&&&&&&&-,,,,,,,,-&&&&&&&&&&&&&&&",
"&;........==,,,,=,=,=,,,=,,,,,,,=,,...#&;....................!&&&&*.....!&&&!+$+$$+@&&&&.+&&&&$......#&&&&@..;&&*........+&!.....;.;*+$$@&@....!&+..........................&&&&&&&&&&&&&&&&&&&&&&........*&&&&&+................;....*&&&&&&-,,,,,,,,,,,,,,,)&&&&&-,,,,,,,,,,>&&&&&%,,,,,,,,,,,'&&&&&&',,,,,,,,-&&&&&&&&&&&&&&&",
"&#.........==,=,,,,,,=,,,=,=,=,,=,=...#&;....................@&&&&#....;&&&&&&&&&&&&&&&&;$&&&&+......#&&&&@...!&*........*&&....;*@&&&&&&&!....!&+..........................&&&&&&&&&&&&&&&&&&&&&&........;&&&&&&;.........;;;;;;;....;&&&&&&!,,,,,,,,,-,,,,,'&&&&&),,,,,,,,,-&&&&&&,,,,,,,,,,,,,>&&&&&',,,,,,,,-&&&&&&&&&&&&&&&",
"&;.......;&@.==,=,,=,,,=,,,,,,,,,=....#&.....................!&&&!;....#&&&&&&&&&&&&&&&&.@&&&&#.....;#&&&&@..;!&*........*&!....$&&!!$++@&@....&&+..........................&&&&&&&&&&&&&&&&&&&&&&;........$&&&&&&;.......@&&&&&&;.....$&&&&&&),,,,,,,-!,,,,,-&&&&&&>,,,,,,,-&&&&&&>,,,,,')-,,,,,>&&&&&',,,,,,,,-&&&&&&&&&&&&&&&",
"&*.......*&&$...=,,,=,,,,=,=,=,==.....*&.....................@&&&&;....;&&&&&!&!&&!&&!&!;$&&&&*......#&&&&@...&&*........*&!...$&&+;....+&!....!&$..........................&&&&&&&&&&&&&&&&&&&&&&;........;&&&&&&&$#;.;+&&&&&&&+......;&&&&&&&&'-,,%>&&,,,,,,>&&&&&&&'-,-%>&&&&&&&-,,,,-&&&'-,,'&&&&&&-,,,,,,,,-&&&&&&&&&&&&&&&",
"@+.......;&&&@&;...==,=,,,,,,==.......+$.....................!&&&&;.....&&&&$..########;.$&&&&$......*&&&&@..;!&*........+&!.;#&&*......+&!....!&+..........................&&&&&&&&&&&&&&&&&&&&&&#.........+&&&&&&&&&&&&&&&&&&!........*&&&&&&&&&&&&&&&,,,,,,-&&&&&&&&&&&&&&&&&&&',,,,,>&&&&&&&&&&&&&&,,,,,,,,,'&&&&&&&&&&&&&&&",
"+!.#*++$;.;&&&&&;.....................!*.....................@&&&&;;....!&&&&............*&&&&!......+&&&&@...&&*........*&!..$&!.......+&!....!&+..........................&&&&&&&&&&&&&&&&&&&&&&+..........@&&&&&&&&&&&&&&&&&;.........+&&&&&&&&&&&&&&,,,,,,,-&&&&&&&&&&&&&&&&&),,,,,-&&&&&&&&&&&&&&',,,,,,,,,>&&&&&&&&&&&&&&&",
"#&#+&&&&&;.;&&&&!+;##*+#*+#*;........;&;.....................!&&&&;.....+&&&&)..;.;.;.....&&&&&$.;.;#&&&&&@...&&*........+&!.;)&$.....;.@&@....&&+..........................&&&&&&&&&&&&&&&&&&&&&&&...........@&&&&&&&&&&&&&&&;...........+&&&&&&&&&&&&&,,,,,,,,%&&&&&&&&&&&&&&&),,,,,,'&&&&&&&&&&&&&>,,,,,,,,,,&&&&&&&&&&&&&&&&",
".!&&&&&&&&$@&&&&&&&&&&&&&&&&.........+@......................@&&&&;......&&&&&!+*##*+!+...$&&&&&)+*$!&&&&&@...!&*........*&!..@&);.....;&&!....!&+;.........................&&&&&&&&&&&&&&&&&&&&&&&#...........+&&&&&&&&&&&&$;.............;$&&&&&&&&&&&,,,,,,,,,-)&&&&&&&&&&&&',,,,,,,,-)&&&&&&&&&&',,,,,,,,,,%&&&&&&&&&&&&&&&&",
".+&&&&&&&&&&&&&&&&&&&*$+@&&$........;&*......................!&&&&;......*&&&&&&&&&&&&!...;&&&&&&&&&&&&&&&@...&&*........*&!..+&&;;.;.;!&&!....@&@.;........................&&&&&&&&&&&&&&&&&&&&&&&!............;+&&&&&&&&@#.................;*$$$&&&&&&,,,,,,,,,,,%)&&&&&&&&>-,,,,,,,,,,,-')!&&&)',,,,,,,,,,,,&&&&&&&&&&&&&&&&&",
"..&&&&&&&&&&&&&&&&&&!;..$&&+........+!.......................!&&&&;.......+&&&&&&&&&&&&....*&&&&&&&&&!@&&&!...&&*........+&&...!&&+#*+&&$&!....*&&+*+*......................&&&&&&&&&&&&&&&&&&&&&&&&*..............#++++#;........................&&&&&&,,,,,,,,,,,,,-%''''%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&",
"..*&&&&&&&&&&&&&&&&&&&!!&&&;..**+*+*&#.......................!&&&!;........*!&&&&&&&&&@;....*!&&&&&&!;$&&&@...!&*........*&!...#!&&&&&&+.&!.....$&&&&!......................&&&&&&&&&&&&&&&&&&&&&&&&&#............................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%&&&&&&&&&&&&&&&&&&",
"...$&&&&&&&&&&&&&&&&&&&&&&*..;&&&&&&$........................*++++...........*+$@@$$+#........*$@@$*..#+++*...*+;........;+*....;+@!@$#..++......+@!!+......................&&&&&&&&&&&&&&&&&&&&&&&&&&;...........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%&&&&&&&&&&&&&&&&&&&",
"...;&&&&&&&&&&&&&&&&&&&&&$.;@&&&&&&&........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&*..........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&&&",
"....;&&&&&&&&&&&&&&&&&&&&;.&&&&&&&&;........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&@;........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%!&&&&&&&&&&&&&&&&&&&&&",
".....*&&&&&&&&&&&&&&&&&&$+&&&&&&&&;.........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!+;;....................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--'!&&&&&&&&&&&&&&&&&&&&&&&",
"......;&&&&&&&&&&&&&&&&&&&&&&&&&!;..........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".......;@&&&&&&&&&&&&&&&&&&&&&&$;...........................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".........*&&&&&&&&&&&&&&&&&&&&*.............................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"...........+!&&&&&&&&&&&&&&!*...............................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".............#+@&&&&&&&&!+;.................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".................;####;.....................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"............................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/redboot_RAM.ecm
0,0 → 1,75
cdl_savefile_version 1;
cdl_savefile_command cdl_savefile_version {};
cdl_savefile_command cdl_savefile_command {};
cdl_savefile_command cdl_configuration { description hardware template package };
cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
 
cdl_configuration eCos {
description "" ;
hardware cerfpda ;
template redboot ;
package -hardware CYGPKG_HAL_ARM v2_0 ;
package -hardware CYGPKG_HAL_ARM_SA11X0 v2_0 ;
package -hardware CYGPKG_HAL_ARM_SA11X0_CERFPDA v2_0 ;
package -hardware CYGPKG_IO_SERIAL_ARM_SA11X0 v2_0 ;
package -hardware CYGPKG_DEVS_ETH_ARM_CERFPDA v2_0 ;
package -hardware CYGPKG_DEVS_FLASH_CERFPDA v2_0 ;
package -template CYGPKG_HAL v2_0 ;
package -template CYGPKG_INFRA v2_0 ;
package -template CYGPKG_REDBOOT v2_0 ;
package CYGPKG_IO_FLASH v2_0 ;
package CYGPKG_IO_ETH_DRIVERS v2_0 ;
};
 
cdl_option CYGBLD_BUILD_GDB_STUBS {
user_value 0
};
 
cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
user_value 0
};
 
cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
inferred_value 0
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
inferred_value 1
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
inferred_value 1
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
inferred_value 0
};
 
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
inferred_value 0 0
};
 
cdl_component CYG_HAL_STARTUP {
user_value RAM
};
 
cdl_component CYGBLD_BUILD_REDBOOT {
user_value 1
};
 
cdl_component CYGPKG_REDBOOT_NETWORKING {
user_value 1
};
 
cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
user_value 1
};
 
cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS {
inferred_value 1
};
 
 
/v2_0/misc/redboot.xpm
0,0 → 1,254
/* XPM */
static char * redboot_xpm[] = {
"320 240 11 1",
" c None",
". c #FFFF00",
"+ c #FFAA00",
"@ c #FFE300",
"# c #FFC700",
"$ c #FF0000",
"% c #FF1D00",
"& c #FF7200",
"* c #FF5500",
"= c #FF3900",
"- c #FF8E00",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
".......................................................................+++++++++++++++++++++++++@......................................................................#+++++++#........@++++++++++++++++++++++.................................................................................................................",
".......................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........*$$$$$$$$$$$$$$$$$$$$$$$%*#.............................................................................................................",
"......................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$=@...........................................................................................................",
"......................................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$.........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..........................................................................................................",
"......................................................................*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.....................................................................................*$$$$$$$%...........",
"......................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................*$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.....................................................................................$$$$$$$$*...........",
".....................................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#....................................................................................$$$$$$$$-...........",
".....................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.............................................................#$$$$$$$$#........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...................................................................................+$$$$$$$$+...........",
".....................................................................*$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........@$$$$$$$$=............+=$$$$$$$$$%...................................................................................-$$$$$$$$............",
".....................................................................=$$$$$$$$#..............@%$$$$$$$$$.............................................................*$$$$$$$=........+$$$$$$$$*..............-$$$$$$$$$...................................................................................*$$$$$$$=............",
".....................................................................$$$$$$$$$................#$$$$$$$$$.............................................................=$$$$$$$*........&$$$$$$$$+...............%$$$$$$$$...................................................................................%$$$$$$$*............",
"....................................................................#$$$$$$$$*.................=$$$$$$$%...............#++**-+#.........................@++**++......$$$$$$$$+........*$$$$$$$$#...............*$$$$$$$$..................@++&**++@............................#++**&++....................$$$$$$$$+............",
"....................................................................-$$$$$$$$&.................*$$$$$$$*............+*$$$$$$$$$$*#....................-=$$$$$$$$&@..+$$$$$$$$@........$$$$$$$$$................*$$$$$$$*...............+*$$$$$$$$$$%&@.....................@-=$$$$$$$$$$=-............@+++&$$$$$$$$&+++#........",
"....................................................................*$$$$$$$$+.................=$$$$$$$-.........@&$$$$$$$$$$$$$$$*@................-%$$$$$$$$$$$%@.-$$$$$$$$........#$$$$$$$$=................$$$$$$$$-.............-%$$$$$$$$$$$$$$$&..................@&$$$$$$$$$$$$$$$%+..........*$$$$$$$$$$$$$$$$*........",
"....................................................................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@=$$$$$$$$$$$$$$%@*$$$$$$$*........+$$$$$$$$&...............-$$$$$$$$@...........#%$$$$$$$$$$$$$$$$$$%@...............-$$$$$$$$$$$$$$$$$$$*.........%$$$$$$$$$$$$$$$$-........",
"....................................................................$$$$$$$$$.................&$$$$$$$*........*$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........*$$$$$$$$+..............@$$$$$$$$&...........-$$$$$$$$$$$$$$$$$$$$$%@............@*$$$$$$$$$$$$$$$$$$$$$*........$$$$$$$$$$$$$$$$$+........",
"...................................................................+$$$$$$$$*................#$$$$$$$$#.......*$$$$$$$$$$$$$$$$$$$$$$=..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........=$$$$$$$$@.............@%$$$$$$$%@..........*$$$$$$$$$$$$$$$$$$$$$$$=...........@%$$$$$$$$$$$$$$$$$$$$$$$-......+$$$$$$$$$$$$$$$$$.........",
"...................................................................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$$............#&$$$$$$$$$#..........&$$$$$$$$$$$$$$$$$$$$$$$$$-..........%$$$$$$$$$$$$$$$$$$$$$$$$$@.....-$$$$$$$$$$$$$$$$=.........",
"...................................................................*$$$$$$$$+..............-%$$$$$$$=.......#$$$$$$$$$%&+@@+*$$$$$$$$$=........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..........+$$$$$$$$$$&+@@+&$$$$$$$$$$=.........*$$$$$$$$$%-+.#+=$$$$$$$$$$-.....#+++=$$$$$$$$++++#.........",
"...................................................................$$$$$$$$$-++++++++++++*%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%+..........@$$$$$$$$$=@......@%$$$$$$$$$@.......-$$$$$$$$$&.......+$$$$$$$$$=.........%$$$$$$$*..............",
"..................................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@...........=$$$$$$$$*.........#$$$$$$$$$+......@$$$$$$$$$+.........&$$$$$$$$$.........$$$$$$$$-..............",
"..................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$*..........@$$$$$$$$*.....=$$$$$$$$-..........=$$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...........#$$$$$$$$*...........*$$$$$$$$*......&$$$$$$$$+...........$$$$$$$$$+.......+$$$$$$$$+..............",
"..................................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$*....#$$$$$$$$=...........&$$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........=$$$$$$$%@...........+$$$$$$$$*.....@$$$$$$$$*............*$$$$$$$$+.......&$$$$$$$$...............",
"..................................................................=$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............*$$$$$$$*....&$$$$$$$$@...........+$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........#$$$$$$$$-.............$$$$$$$$*.....&$$$$$$$$@............+$$$$$$$$+.......*$$$$$$$%...............",
"..................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............*$$$$$$$*....$$$$$$$$*............+$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......&$$$$$$$%..............$$$$$$$$*.....%$$$$$$$&.............+$$$$$$$$+.......$$$$$$$$*...............",
".................................................................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.......*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...+$$$$$$$$#............+$$$$$$$$+........*$$$$$$$$&++++++++++++*$$$$$$$$$$=.......$$$$$$$$-..............$$$$$$$$*....+$$$$$$$$@.............+$$$$$$$$+......@$$$$$$$$-...............",
".................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...*$$$$$$$%.............+$$$$$$$$#........$$$$$$$$$..............@*$$$$$$$$$......+$$$$$$$$@..............$$$$$$$$+....*$$$$$$$=..............+$$$$$$$$.......+$$$$$$$$#...............",
".................................................................*$$$$$$$$+............+=$$$$$$$$$*.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........@$$$$$$$$=................%$$$$$$$$+.....&$$$$$$$%..............@$$$$$$$$+....%$$$$$$$&..............-$$$$$$$$.......&$$$$$$$$................",
".................................................................%$$$$$$$$@..............*$$$$$$$$*.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............*$$$$$$$*........+$$$$$$$$*................-$$$$$$$$+.....=$$$$$$$*..............+$$$$$$$$@...@$$$$$$$$+..............*$$$$$$$=.......*$$$$$$$=................",
".................................................................$$$$$$$$$...............@$$$$$$$$*.....*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............=$$$$$$$&........*$$$$$$$$+................+$$$$$$$$+.....$$$$$$$$&..............&$$$$$$$%....+$$$$$$$$#..............%$$$$$$$&.......$$$$$$$$*................",
"................................................................+$$$$$$$$*................$$$$$$$$&.....=$$$$$$$$*********************&...-$$$$$$$$.............@$$$$$$$$+........=$$$$$$$$#................+$$$$$$$$+.....$$$$$$$$+..............=$$$$$$$*....+$$$$$$$$..............@$$$$$$$$+......@$$$$$$$$+................",
"................................................................-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................*$$$$$$$$.............-$$$$$$$$@........$$$$$$$$$.................*$$$$$$$$.....+$$$$$$$$+.............@$$$$$$$$+....*$$$$$$$$..............-$$$$$$$$.......+$$$$$$$$@................",
"................................................................*$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$*.........................*$$$$$$$$.............=$$$$$$$%........#$$$$$$$$=................@$$$$$$$$=.....+$$$$$$$$+.............&$$$$$$$$.....*$$$$$$$$..............%$$$$$$$*.......&$$$$$$$$.................",
"................................................................$$$$$$$$$................*$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$............#$$$$$$$$*........-$$$$$$$$*................&$$$$$$$$-.....+$$$$$$$$+............@%$$$$$$$&.....*$$$$$$$$.............+$$$$$$$$#.......*$$$$$$$*.................",
"...............................................................@$$$$$$$$%................$$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$+...........%$$$$$$$$-........*$$$$$$$$+...............+$$$$$$$$$@.....+$$$$$$$$*............&$$$$$$$$@.....*$$$$$$$$+............%$$$$$$$=........$$$$$$$$&.................",
"...............................................................+$$$$$$$$*...............#$$$$$$$$*......%$$$$$$$$...........@********@....&$$$$$$$$&..........*$$$$$$$$$+........%$$$$$$$$#..............+$$$$$$$$$&......+$$$$$$$$%...........+$$$$$$$$*......*$$$$$$$$&...........*$$$$$$$$+.......#$$$$$$$$+.................",
"...............................................................&$$$$$$$$-...............&$$$$$$$$&......*$$$$$$$$-..........*$$$$$$$=.....+$$$$$$$$%@........+$$$$$$$$$$.........$$$$$$$$$............@+=$$$$$$$$$%@.......$$$$$$$$$-.........+$$$$$$$$$@......+$$$$$$$$$@.........*$$$$$$$$=........+$$$$$$$$..................",
"...............................................................=$$$$$$$$+...............*$$$$$$$$+......+$$$$$$$$$+.......@*$$$$$$$$@.....#$$$$$$$$$*.......*$$$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$$$+.......-$$$$$$$$$-.......#$$$$$$$$$%@......@*$$$$$$$$$@........*$$$$$$$=..................",
"...............................................................$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$=#..@-%$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&.........&$$$$$$$$$$&#...+=$$$$$$$$$=.........%$$$$$$$$$%-@..@-%$$$$$$$$$-.........=$$$$$$$%@.................",
"..............................................................#$$$$$$$$=...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........@$$$$$$$$$$$$$$$$$$$$$$$$$%@.........-$$$$$$$$$$$$$$$$$$$$$$$$$*..........$$$$$$$$$$***..............",
"..............................................................+$$$$$$$$*...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$*.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-............&$$$$$$$$$$$$$$$$$$$$$$$%@...........%$$$$$$$$$$$$$$$$$$$$$$$*...........$$$$$$$$$$$$%..............",
"..............................................................*$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$*...........-$$$$$$$$$$$$$$$$$*$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%#..............*$$$$$$$$$$$$$$$$$$$$$=@............@%$$$$$$$$$$$$$$$$$$$$$&............$$$$$$$$$$$$*..............",
"..............................................................%$$$$$$$$#...............+$$$$$$$$$*.........#%$$$$$$$$$$$$$$$$$$+.............*$$$$$$$$$$$$$$$+*$$$$$$$*........+$$$$$$$$$$$$$$$$$$$$$$$$$$$%-................@=$$$$$$$$$$$$$$$$$$$&...............+%$$$$$$$$$$$$$$$$$$%+.............*$$$$$$$$$$$-..............",
"..............................................................$$$$$$$$$................@$$$$$$$$$=..........@=$$$$$$$$$$$$$$$&@...............*$$$$$$$$$$$$%@.%$$$$$$$&........&$$$$$$$$$$$$$$$$$$$$$$$$=&#....................&$$$$$$$$$$$$$$$$=#.................@=$$$$$$$$$$$$$$$$&@..............#$$$$$$$$$$$+..............",
".............................................................@+++++++++.................+++++++++#............#=$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........#++++++++++++++++++++++@.........................@&%$$$$$$$$$$%&#.....................#*$$$$$$$$$$$=-@.................+%$$$$$$$$$...............",
"................................................................................................................@+&****&+@.......................#-****-#..........................................................................#+******+#...........................+-*****&+@......................+&*****+#...............",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................+++++++++++++++++++++++++@......................................................................#+++++++#........@++++++++++++++++++++++........................................................................................................................................................................",
"................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........*$$$$$$$$$$$$$$$$$$$$$$$%*#....................................................................................................................................................................",
"...............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$=@..................................................................................................................................................................",
"...............&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$.........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................................................................................................................",
"...............*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.....................................................................................*$$$$$$$%..................................................................",
"...............$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................*$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.....................................................................................$$$$$$$$*..................................................................",
"..............@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#....................................................................................$$$$$$$$-..................................................................",
"..............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.............................................................#$$$$$$$$#........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...................................................................................+$$$$$$$$+..................................................................",
"..............*$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........@$$$$$$$$=............+=$$$$$$$$$%...................................................................................-$$$$$$$$...................................................................",
"..............=$$$$$$$$#..............@%$$$$$$$$$.............................................................*$$$$$$$=........+$$$$$$$$*..............-$$$$$$$$$...................................................................................*$$$$$$$=...................................................................",
"..............$$$$$$$$$................#$$$$$$$$$.............................................................=$$$$$$$*........&$$$$$$$$+...............%$$$$$$$$...................................................................................%$$$$$$$*...................................................................",
".............#$$$$$$$$*.................=$$$$$$$%...............#++**-+#.........................@++**++......$$$$$$$$+........*$$$$$$$$#...............*$$$$$$$$..................@++&**++@............................#++**&++....................$$$$$$$$+...................................................................",
".............-$$$$$$$$&.................*$$$$$$$*............+*$$$$$$$$$$*#....................-=$$$$$$$$&@..+$$$$$$$$@........$$$$$$$$$................*$$$$$$$*...............+*$$$$$$$$$$%&@.....................@-=$$$$$$$$$$=-............@+++&$$$$$$$$&+++#...............................................................",
".............*$$$$$$$$+.................=$$$$$$$-.........@&$$$$$$$$$$$$$$$*@................-%$$$$$$$$$$$%@.-$$$$$$$$........#$$$$$$$$=................$$$$$$$$-.............-%$$$$$$$$$$$$$$$&..................@&$$$$$$$$$$$$$$$%+..........*$$$$$$$$$$$$$$$$*...............................................................",
".............%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@=$$$$$$$$$$$$$$%@*$$$$$$$*........+$$$$$$$$&...............-$$$$$$$$@...........#%$$$$$$$$$$$$$$$$$$%@...............-$$$$$$$$$$$$$$$$$$$*.........%$$$$$$$$$$$$$$$$-...............................................................",
".............$$$$$$$$$.................&$$$$$$$*........*$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........*$$$$$$$$+..............@$$$$$$$$&...........-$$$$$$$$$$$$$$$$$$$$$%@............@*$$$$$$$$$$$$$$$$$$$$$*........$$$$$$$$$$$$$$$$$+...............................................................",
"............+$$$$$$$$*................#$$$$$$$$#.......*$$$$$$$$$$$$$$$$$$$$$$=..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........=$$$$$$$$@.............@%$$$$$$$%@..........*$$$$$$$$$$$$$$$$$$$$$$$=...........@%$$$$$$$$$$$$$$$$$$$$$$$-......+$$$$$$$$$$$$$$$$$................................................................",
"............-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$$............#&$$$$$$$$$#..........&$$$$$$$$$$$$$$$$$$$$$$$$$-..........%$$$$$$$$$$$$$$$$$$$$$$$$$@.....-$$$$$$$$$$$$$$$$=................................................................",
"............*$$$$$$$$+..............-%$$$$$$$=.......#$$$$$$$$$%&+@@+*$$$$$$$$$=........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..........+$$$$$$$$$$&+@@+&$$$$$$$$$$=.........*$$$$$$$$$%-+.#+=$$$$$$$$$$-.....#+++=$$$$$$$$++++#................................................................",
"............$$$$$$$$$-++++++++++++*%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%+..........@$$$$$$$$$=@......@%$$$$$$$$$@.......-$$$$$$$$$&.......+$$$$$$$$$=.........%$$$$$$$*.....................................................................",
"...........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@...........=$$$$$$$$*.........#$$$$$$$$$+......@$$$$$$$$$+.........&$$$$$$$$$.........$$$$$$$$-.....................................................................",
"...........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$*..........@$$$$$$$$*.....=$$$$$$$$-..........=$$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...........#$$$$$$$$*...........*$$$$$$$$*......&$$$$$$$$+...........$$$$$$$$$+.......+$$$$$$$$+.....................................................................",
"...........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$*....#$$$$$$$$=...........&$$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........=$$$$$$$%@...........+$$$$$$$$*.....@$$$$$$$$*............*$$$$$$$$+.......&$$$$$$$$......................................................................",
"...........=$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............*$$$$$$$*....&$$$$$$$$@...........+$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........#$$$$$$$$-.............$$$$$$$$*.....&$$$$$$$$@............+$$$$$$$$+.......*$$$$$$$%......................................................................",
"...........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............*$$$$$$$*....$$$$$$$$*............+$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......&$$$$$$$%..............$$$$$$$$*.....%$$$$$$$&.............+$$$$$$$$+.......$$$$$$$$*......................................................................",
"..........#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.......*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...+$$$$$$$$#............+$$$$$$$$+........*$$$$$$$$&++++++++++++*$$$$$$$$$$=.......$$$$$$$$-..............$$$$$$$$*....+$$$$$$$$@.............+$$$$$$$$+......@$$$$$$$$-......................................................................",
"..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...*$$$$$$$%.............+$$$$$$$$#........$$$$$$$$$..............@*$$$$$$$$$......+$$$$$$$$@..............$$$$$$$$+....*$$$$$$$=..............+$$$$$$$$.......+$$$$$$$$#......................................................................",
"..........*$$$$$$$$+............+=$$$$$$$$$*.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........@$$$$$$$$=................%$$$$$$$$+.....&$$$$$$$%..............@$$$$$$$$+....%$$$$$$$&..............-$$$$$$$$.......&$$$$$$$$.......................................................................",
"..........%$$$$$$$$@..............*$$$$$$$$*.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............*$$$$$$$*........+$$$$$$$$*................-$$$$$$$$+.....=$$$$$$$*..............+$$$$$$$$@...@$$$$$$$$+..............*$$$$$$$=.......*$$$$$$$=.......................................................................",
"..........$$$$$$$$$...............@$$$$$$$$*.....*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............=$$$$$$$&........*$$$$$$$$+................+$$$$$$$$+.....$$$$$$$$&..............&$$$$$$$%....+$$$$$$$$#..............%$$$$$$$&.......$$$$$$$$*.......................................................................",
".........+$$$$$$$$*................$$$$$$$$&.....=$$$$$$$$*********************&...-$$$$$$$$.............@$$$$$$$$+........=$$$$$$$$#................+$$$$$$$$+.....$$$$$$$$+..............=$$$$$$$*....+$$$$$$$$..............@$$$$$$$$+......@$$$$$$$$+.......................................................................",
".........-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................*$$$$$$$$.............-$$$$$$$$@........$$$$$$$$$.................*$$$$$$$$.....+$$$$$$$$+.............@$$$$$$$$+....*$$$$$$$$..............-$$$$$$$$.......+$$$$$$$$@.......................................................................",
".........*$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$*.........................*$$$$$$$$.............=$$$$$$$%........#$$$$$$$$=................@$$$$$$$$=.....+$$$$$$$$+.............&$$$$$$$$.....*$$$$$$$$..............%$$$$$$$*.......&$$$$$$$$........................................................................",
".........$$$$$$$$$................*$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$............#$$$$$$$$*........-$$$$$$$$*................&$$$$$$$$-.....+$$$$$$$$+............@%$$$$$$$&.....*$$$$$$$$.............+$$$$$$$$#.......*$$$$$$$*........................................................................",
"........@$$$$$$$$%................$$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$+...........%$$$$$$$$-........*$$$$$$$$+...............+$$$$$$$$$@.....+$$$$$$$$*............&$$$$$$$$@.....*$$$$$$$$+............%$$$$$$$=........$$$$$$$$&........................................................................",
"........+$$$$$$$$*...............#$$$$$$$$*......%$$$$$$$$...........@********@....&$$$$$$$$&..........*$$$$$$$$$+........%$$$$$$$$#..............+$$$$$$$$$&......+$$$$$$$$%...........+$$$$$$$$*......*$$$$$$$$&...........*$$$$$$$$+.......#$$$$$$$$+........................................................................",
"........&$$$$$$$$-...............&$$$$$$$$&......*$$$$$$$$-..........*$$$$$$$=.....+$$$$$$$$%@........+$$$$$$$$$$.........$$$$$$$$$............@+=$$$$$$$$$%@.......$$$$$$$$$-.........+$$$$$$$$$@......+$$$$$$$$$@.........*$$$$$$$$=........+$$$$$$$$.........................................................................",
"........=$$$$$$$$+...............*$$$$$$$$+......+$$$$$$$$$+.......@*$$$$$$$$@.....#$$$$$$$$$*.......*$$$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$$$+.......-$$$$$$$$$-.......#$$$$$$$$$%@......@*$$$$$$$$$@........*$$$$$$$=.........................................................................",
"........$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$=#..@-%$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&.........&$$$$$$$$$$&#...+=$$$$$$$$$=.........%$$$$$$$$$%-@..@-%$$$$$$$$$-.........=$$$$$$$%@........................................................................",
".......#$$$$$$$$=...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........@$$$$$$$$$$$$$$$$$$$$$$$$$%@.........-$$$$$$$$$$$$$$$$$$$$$$$$$*..........$$$$$$$$$$***.....................................................................",
".......+$$$$$$$$*...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$*.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-............&$$$$$$$$$$$$$$$$$$$$$$$%@...........%$$$$$$$$$$$$$$$$$$$$$$$*...........$$$$$$$$$$$$%.....................................................................",
".......*$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$*...........-$$$$$$$$$$$$$$$$$*$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%#..............*$$$$$$$$$$$$$$$$$$$$$=@............@%$$$$$$$$$$$$$$$$$$$$$&............$$$$$$$$$$$$*.....................................................................",
".......%$$$$$$$$#...............+$$$$$$$$$*.........#%$$$$$$$$$$$$$$$$$$+.............*$$$$$$$$$$$$$$$+*$$$$$$$*........+$$$$$$$$$$$$$$$$$$$$$$$$$$$%-................@=$$$$$$$$$$$$$$$$$$$&...............+%$$$$$$$$$$$$$$$$$$%+.............*$$$$$$$$$$$-.....................................................................",
".......$$$$$$$$$................@$$$$$$$$$=..........@=$$$$$$$$$$$$$$$&@...............*$$$$$$$$$$$$%@.%$$$$$$$&........&$$$$$$$$$$$$$$$$$$$$$$$$=&#....................&$$$$$$$$$$$$$$$$=#.................@=$$$$$$$$$$$$$$$$&@..............#$$$$$$$$$$$+.....................................................................",
"......@+++++++++.................+++++++++#............#=$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........#++++++++++++++++++++++@.........................@&%$$$$$$$$$$%&#.....................#*$$$$$$$$$$$=-@.................+%$$$$$$$$$......................................................................",
".........................................................@+&****&+@.......................#-****-#..........................................................................#+******+#...........................+-*****&+@......................+&*****+#......................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
".................................................................+++++++++++++++++++++++++@......................................................................#+++++++#........@++++++++++++++++++++++.......................................................................................................................",
".................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........*$$$$$$$$$$$$$$$$$$$$$$$%*#...................................................................................................................",
"................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$=@.................................................................................................................",
"................................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$.........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................................................................",
"................................................................*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.....................................................................................*$$$$$$$%.................",
"................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................*$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.....................................................................................$$$$$$$$*.................",
"...............................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#....................................................................................$$$$$$$$-.................",
"...............................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.............................................................#$$$$$$$$#........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...................................................................................+$$$$$$$$+.................",
"...............................................................*$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........@$$$$$$$$=............+=$$$$$$$$$%...................................................................................-$$$$$$$$..................",
"...............................................................=$$$$$$$$#..............@%$$$$$$$$$.............................................................*$$$$$$$=........+$$$$$$$$*..............-$$$$$$$$$...................................................................................*$$$$$$$=..................",
"...............................................................$$$$$$$$$................#$$$$$$$$$.............................................................=$$$$$$$*........&$$$$$$$$+...............%$$$$$$$$...................................................................................%$$$$$$$*..................",
"..............................................................#$$$$$$$$*.................=$$$$$$$%...............#++**-+#.........................@++**++......$$$$$$$$+........*$$$$$$$$#...............*$$$$$$$$..................@++&**++@............................#++**&++....................$$$$$$$$+..................",
"..............................................................-$$$$$$$$&.................*$$$$$$$*............+*$$$$$$$$$$*#....................-=$$$$$$$$&@..+$$$$$$$$@........$$$$$$$$$................*$$$$$$$*...............+*$$$$$$$$$$%&@.....................@-=$$$$$$$$$$=-............@+++&$$$$$$$$&+++#..............",
"..............................................................*$$$$$$$$+.................=$$$$$$$-.........@&$$$$$$$$$$$$$$$*@................-%$$$$$$$$$$$%@.-$$$$$$$$........#$$$$$$$$=................$$$$$$$$-.............-%$$$$$$$$$$$$$$$&..................@&$$$$$$$$$$$$$$$%+..........*$$$$$$$$$$$$$$$$*..............",
"..............................................................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@=$$$$$$$$$$$$$$%@*$$$$$$$*........+$$$$$$$$&...............-$$$$$$$$@...........#%$$$$$$$$$$$$$$$$$$%@...............-$$$$$$$$$$$$$$$$$$$*.........%$$$$$$$$$$$$$$$$-..............",
"..............................................................$$$$$$$$$.................&$$$$$$$*........*$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........*$$$$$$$$+..............@$$$$$$$$&...........-$$$$$$$$$$$$$$$$$$$$$%@............@*$$$$$$$$$$$$$$$$$$$$$*........$$$$$$$$$$$$$$$$$+..............",
".............................................................+$$$$$$$$*................#$$$$$$$$#.......*$$$$$$$$$$$$$$$$$$$$$$=..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........=$$$$$$$$@.............@%$$$$$$$%@..........*$$$$$$$$$$$$$$$$$$$$$$$=...........@%$$$$$$$$$$$$$$$$$$$$$$$-......+$$$$$$$$$$$$$$$$$...............",
".............................................................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$$............#&$$$$$$$$$#..........&$$$$$$$$$$$$$$$$$$$$$$$$$-..........%$$$$$$$$$$$$$$$$$$$$$$$$$@.....-$$$$$$$$$$$$$$$$=...............",
".............................................................*$$$$$$$$+..............-%$$$$$$$=.......#$$$$$$$$$%&+@@+*$$$$$$$$$=........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+..........+$$$$$$$$$$&+@@+&$$$$$$$$$$=.........*$$$$$$$$$%-+.#+=$$$$$$$$$$-.....#+++=$$$$$$$$++++#...............",
".............................................................$$$$$$$$$-++++++++++++*%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$*........-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%+..........@$$$$$$$$$=@......@%$$$$$$$$$@.......-$$$$$$$$$&.......+$$$$$$$$$=.........%$$$$$$$*....................",
"............................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@...........=$$$$$$$$*.........#$$$$$$$$$+......@$$$$$$$$$+.........&$$$$$$$$$.........$$$$$$$$-....................",
"............................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$*..........@$$$$$$$$*.....=$$$$$$$$-..........=$$$$$$$$$+........%$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...........#$$$$$$$$*...........*$$$$$$$$*......&$$$$$$$$+...........$$$$$$$$$+.......+$$$$$$$$+....................",
"............................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$*....#$$$$$$$$=...........&$$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........=$$$$$$$%@...........+$$$$$$$$*.....@$$$$$$$$*............*$$$$$$$$+.......&$$$$$$$$.....................",
"............................................................=$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............*$$$$$$$*....&$$$$$$$$@...........+$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........#$$$$$$$$-.............$$$$$$$$*.....&$$$$$$$$@............+$$$$$$$$+.......*$$$$$$$%.....................",
"............................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............*$$$$$$$*....$$$$$$$$*............+$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......&$$$$$$$%..............$$$$$$$$*.....%$$$$$$$&.............+$$$$$$$$+.......$$$$$$$$*.....................",
"...........................................................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*.......*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...+$$$$$$$$#............+$$$$$$$$+........*$$$$$$$$&++++++++++++*$$$$$$$$$$=.......$$$$$$$$-..............$$$$$$$$*....+$$$$$$$$@.............+$$$$$$$$+......@$$$$$$$$-.....................",
"...........................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*...*$$$$$$$%.............+$$$$$$$$#........$$$$$$$$$..............@*$$$$$$$$$......+$$$$$$$$@..............$$$$$$$$+....*$$$$$$$=..............+$$$$$$$$.......+$$$$$$$$#.....................",
"...........................................................*$$$$$$$$+............+=$$$$$$$$$*.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........@$$$$$$$$=................%$$$$$$$$+.....&$$$$$$$%..............@$$$$$$$$+....%$$$$$$$&..............-$$$$$$$$.......&$$$$$$$$......................",
"...........................................................%$$$$$$$$@..............*$$$$$$$$*.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............*$$$$$$$*........+$$$$$$$$*................-$$$$$$$$+.....=$$$$$$$*..............+$$$$$$$$@...@$$$$$$$$+..............*$$$$$$$=.......*$$$$$$$=......................",
"...........................................................$$$$$$$$$...............@$$$$$$$$*.....*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............=$$$$$$$&........*$$$$$$$$+................+$$$$$$$$+.....$$$$$$$$&..............&$$$$$$$%....+$$$$$$$$#..............%$$$$$$$&.......$$$$$$$$*......................",
"..........................................................+$$$$$$$$*................$$$$$$$$&.....=$$$$$$$$*********************&...-$$$$$$$$.............@$$$$$$$$+........=$$$$$$$$#................+$$$$$$$$+.....$$$$$$$$+..............=$$$$$$$*....+$$$$$$$$..............@$$$$$$$$+......@$$$$$$$$+......................",
"..........................................................-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................*$$$$$$$$.............-$$$$$$$$@........$$$$$$$$$.................*$$$$$$$$.....+$$$$$$$$+.............@$$$$$$$$+....*$$$$$$$$..............-$$$$$$$$.......+$$$$$$$$@......................",
"..........................................................*$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$*.........................*$$$$$$$$.............=$$$$$$$%........#$$$$$$$$=................@$$$$$$$$=.....+$$$$$$$$+.............&$$$$$$$$.....*$$$$$$$$..............%$$$$$$$*.......&$$$$$$$$.......................",
"..........................................................$$$$$$$$$................*$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$............#$$$$$$$$*........-$$$$$$$$*................&$$$$$$$$-.....+$$$$$$$$+............@%$$$$$$$&.....*$$$$$$$$.............+$$$$$$$$#.......*$$$$$$$*.......................",
".........................................................@$$$$$$$$%................$$$$$$$$$......$$$$$$$$*.........................*$$$$$$$$+...........%$$$$$$$$-........*$$$$$$$$+...............+$$$$$$$$$@.....+$$$$$$$$*............&$$$$$$$$@.....*$$$$$$$$+............%$$$$$$$=........$$$$$$$$&.......................",
".........................................................+$$$$$$$$*...............#$$$$$$$$*......%$$$$$$$$...........@********@....&$$$$$$$$&..........*$$$$$$$$$+........%$$$$$$$$#..............+$$$$$$$$$&......+$$$$$$$$%...........+$$$$$$$$*......*$$$$$$$$&...........*$$$$$$$$+.......#$$$$$$$$+.......................",
".........................................................&$$$$$$$$-...............&$$$$$$$$&......*$$$$$$$$-..........*$$$$$$$=.....+$$$$$$$$%@........+$$$$$$$$$$.........$$$$$$$$$............@+=$$$$$$$$$%@.......$$$$$$$$$-.........+$$$$$$$$$@......+$$$$$$$$$@.........*$$$$$$$$=........+$$$$$$$$........................",
".........................................................=$$$$$$$$+...............*$$$$$$$$+......+$$$$$$$$$+.......@*$$$$$$$$@.....#$$$$$$$$$*.......*$$$$$$$$$$=........+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$$$+.......-$$$$$$$$$-.......#$$$$$$$$$%@......@*$$$$$$$$$@........*$$$$$$$=........................",
".........................................................$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$=#..@-%$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&.........&$$$$$$$$$$&#...+=$$$$$$$$$=.........%$$$$$$$$$%-@..@-%$$$$$$$$$-.........=$$$$$$$%@.......................",
"........................................................#$$$$$$$$=...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$*........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*..........@$$$$$$$$$$$$$$$$$$$$$$$$$%@.........-$$$$$$$$$$$$$$$$$$$$$$$$$*..........$$$$$$$$$$***....................",
"........................................................+$$$$$$$$*...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$*.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#........$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-............&$$$$$$$$$$$$$$$$$$$$$$$%@...........%$$$$$$$$$$$$$$$$$$$$$$$*...........$$$$$$$$$$$$%....................",
"........................................................*$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$*...........-$$$$$$$$$$$$$$$$$*$$$$$$$$........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%#..............*$$$$$$$$$$$$$$$$$$$$$=@............@%$$$$$$$$$$$$$$$$$$$$$&............$$$$$$$$$$$$*....................",
"........................................................%$$$$$$$$#...............+$$$$$$$$$*.........#%$$$$$$$$$$$$$$$$$$+.............*$$$$$$$$$$$$$$$+*$$$$$$$*........+$$$$$$$$$$$$$$$$$$$$$$$$$$$%-................@=$$$$$$$$$$$$$$$$$$$&...............+%$$$$$$$$$$$$$$$$$$%+.............*$$$$$$$$$$$-....................",
"........................................................$$$$$$$$$................@$$$$$$$$$=..........@=$$$$$$$$$$$$$$$&@...............*$$$$$$$$$$$$%@.%$$$$$$$&........&$$$$$$$$$$$$$$$$$$$$$$$$=&#....................&$$$$$$$$$$$$$$$$=#.................@=$$$$$$$$$$$$$$$$&@..............#$$$$$$$$$$$+....................",
".......................................................@+++++++++.................+++++++++#............#=$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........#++++++++++++++++++++++@.........................@&%$$$$$$$$$$%&#.....................#*$$$$$$$$$$$=-@.................+%$$$$$$$$$.....................",
"..........................................................................................................@+&****&+@.......................#-****-#..........................................................................#+******+#...........................+-*****&+@......................+&*****+#.....................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/lcd_test.c
0,0 → 1,345
//==========================================================================
//
// lcd_test.c
//
// SA1110/CerfCube - LCD test
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-06-05
// Description: Tool used to test LCD stuff
//####DESCRIPTIONEND####
 
#include <pkgconf/kernel.h> // Configuration header
#include <cyg/kernel/kapi.h>
#include <cyg/infra/diag.h>
 
#include <cyg/hal/hal_io.h> // IO macros
#include <cyg/hal/hal_arch.h> // Register state info
#include <cyg/hal/hal_intr.h> // HAL interrupt macros
 
#include <cyg/hal/hal_sa11x0.h> // Board definitions
#include <cyg/hal/cerf.h>
#include <cyg/hal/hal_cache.h>
 
#include "eCos.xpm"
#include "eCos2.xpm"
#include "redhat.xpm"
#include "redhat2.xpm"
#include "redboot.xpm"
#include "escw.xpm"
#include "logo.xpm"
 
#ifndef FALSE
#define FALSE 0
#define TRUE 1
#endif
 
#define STACK_SIZE 4096
static char stack[STACK_SIZE];
static cyg_thread thread_data;
static cyg_handle_t thread_handle;
 
// FUNCTIONS
 
static void
cyg_test_exit(void)
{
while (TRUE) ;
}
 
static void
lcd_test(cyg_addrword_t p)
{
int i, pix, row, col;
int on;
 
diag_printf("LCD test here\n");
 
lcd_init(16);
#if 0
for (i = 0; i < 16; i++) {
on = true;
diag_printf("Fill with 0x%x\n", i);
for (row = 0; row < 240; row++) {
for (col = 0; col < 320/2; col++) {
if (on) {
fp->pixels[row][col] = RGB_RED(i)|RGB_GREEN(i)|RGB_BLUE(i);
} else {
fp->pixels[row][col] = 0xFFFF;
}
}
for (col = 320/2; col < 320; col++) {
if (!on) {
fp->pixels[row][col] = RGB_RED(i)|RGB_GREEN(i)|RGB_BLUE(i);
} else {
fp->pixels[row][col] = 0xFFFF;
}
}
if ((row & 0x0F) == 0x0F) {
if (on) {
on = false;
} else {
on = true;
}
}
}
cyg_thread_delay(100);
}
#endif
#if 0
for (i = 0; i < 4; i++) {
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
switch (row/40) {
case 0:
pix = col / 20; // 0..15
fp->pixels[row][col] = RGB_RED(pix);
break;
case 1:
pix = col / 10; // 0..31
fp->pixels[row][col] = RGB_GREEN(pix);
break;
case 2:
pix = col / 20; // 0..15
fp->pixels[row][col] = RGB_BLUE(pix);
break;
case 3:
pix = col / 20; // 0..15
fp->pixels[row][col] = RGB_BLUE(pix) | RGB_GREEN(pix);
break;
case 4:
pix = col / 20; // 0..15
fp->pixels[row][col] = RGB_BLUE(15) | RGB_GREEN(pix);
break;
case 5:
fp->pixels[row][col] = 0xFFFF;
break;
}
}
}
cyg_thread_delay(100);
#if 0
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
pix = col / 20; // 0..15
switch (row/60) {
case 0:
fp->pixels[row][col] = RGB_RED(pix);
break;
case 1:
fp->pixels[row][col] = RGB_GREEN(pix);
break;
case 2:
fp->pixels[row][col] = RGB_BLUE(pix);
break;
case 3:
fp->pixels[row][col] = 0xFFFF;
break;
}
}
}
cyg_thread_delay(100);
#endif
#if 0
on = true;
for (row = 0; row < 240; row++) {
for (col = 0; col < 320/2; col++) {
if (on) {
fp->pixels[row][col] = RGB_GREEN(15);
} else {
fp->pixels[row][col] = RGB_BLUE(8);
}
}
for (col = 320/2; col < 320; col++) {
if (!on) {
fp->pixels[row][col] = RGB_GREEN(15);
} else {
fp->pixels[row][col] = RGB_BLUE(8);
}
}
if ((row & 0x0F) == 0x0F) {
if (on) {
on = false;
} else {
on = true;
}
}
}
#endif
}
#endif
#if 0
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
if (col == 59) {
fp->pixels[row][col] = 0x0000;
} else {
fp->pixels[row][col] = 0xFFFF;
}
}
}
cyg_thread_delay(100);
#endif
#if 0
for (i = 0; i < 16; i++) {
diag_printf("Value 0x%04x\n", (1<<i));
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
fp->pixels[row][col] = (1<<i);
}
}
cyg_thread_delay(500);
}
#endif
#if 0
for (i = 0; i < 32; i++) {
diag_printf("Red at %d\n", i);
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
fp->pixels[row][col] = RGB_RED(i);
}
}
cyg_thread_delay(100);
}
#endif
#if 0
for (i = 0; i < 64; i++) {
diag_printf("Green at %d\n", i);
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
fp->pixels[row][col] = RGB_GREEN(i);
}
}
cyg_thread_delay(100);
}
#endif
#if 0
for (i = 0; i < 32; i++) {
diag_printf("BLUE at %d\n", i);
for (row = 0; row < 240; row++) {
for (col = 0; col < 320; col++) {
fp->pixels[row][col] = RGB_BLUE(i);
}
}
cyg_thread_delay(100);
}
#endif
 
while (true) {
for (i = 0; i < 1; i++) {
show_xpm(redboot_xpm);
cyg_thread_delay(15);
show_xpm(eCos_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(15);
show_xpm(redhat_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(15);
show_xpm(escw_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(15);
show_xpm(eCos2_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(15);
show_xpm(redhat2_xpm);
cyg_thread_delay(25);
show_xpm(logo_xpm);
cyg_thread_delay(25);
show_xpm(redboot_xpm);
cyg_thread_delay(50);
}
 
#if 0
// This doesn't seem to do anything on my unit
cerf_BCR(SA1110_BCR_MOTOR, SA1110_BCR_MOTOR_ON);
cyg_thread_delay(2*100);
cerf_BCR(SA1110_BCR_MOTOR, SA1110_BCR_MOTOR_OFF);
#endif
 
show_xpm(redboot_xpm);
cyg_thread_delay(15);
lcd_clear();
lcd_printf("\n\n**** Hello world!\n");
cyg_thread_delay(5);
for (i = 0; i < 64; i++) {
lcd_printf("... testing line #%d\n", i);
}
cyg_thread_delay(50);
 
show_xpm(redboot_xpm);
cyg_thread_delay(15);
set_bg(0,0,0);
set_fg(31,63,0);
lcd_clear();
for (i = 0; i < 32; i++) {
lcd_printf("... testing line #%d\n", i);
}
cyg_thread_delay(50);
} // while
 
lcd_clear();
lcd_printf("*****");
cyg_thread_delay(200);
 
cyg_test_exit();
}
 
externC void
cyg_start( void )
{
// Create a main thread, so we can run the scheduler and have time 'pass'
cyg_thread_create(10, // Priority - just a number
lcd_test, // entry
0, // entry parameter
"LCD test", // Name
&stack[0], // Stack
STACK_SIZE, // Size
&thread_handle, // Handle
&thread_data // Thread data structure
);
cyg_thread_resume(thread_handle); // Start it
cyg_scheduler_start();
} // cyg_package_start()
/v2_0/misc/logo.xpm
0,0 → 1,260
/* XPM */
static char * logo_xpm[] = {
"320 240 17 1",
" c None",
". c #030305",
"+ c #949394",
"@ c #D3D0D3",
"# c #525051",
"$ c #B7B6B8",
"% c #E2515E",
"& c #FEFEFC",
"* c #820204",
"= c #737073",
"- c #E33533",
"; c #343232",
"> c #E895AE",
", c #E51604",
"' c #E67284",
") c #EABAD4",
"! c #2C1416",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"................................................................................................................................................................................................................................................................................................................................",
".................................*..............................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"..................................!...................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"..................................!...................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".....................!=+@&&&&&&$+=!...................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"...................#$&&$+=#;##=+@&&$#.................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".................;$&$=!..........!#@&$;...............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"...............!+&$#................#$&+..............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+=;#...................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-%%>&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"..............;@&=....................=&@!............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&&&&&&&&&",
".............;&$;.....****!!*****!.....;$@;..................................................................!!!!!!...................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+!.........................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>&&&&&&&&&&&&&&&&&&&&&&&&",
"............;@@!.....*,,,*,*,*...**.....!@@!.................................................................#@@=#!...................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&=...........................................&&&&&&,,,-,,-,,-,,-,,-,,-,,-,,-,,-,,-,,-,,-,,-,,-,,,,,,,,,'&&&&&&&&&&&&&&&&&&&&&&&",
"...........!@@!.....*,,*,,,,,**..*,......!@@.................................................................#&&&&+!.!!!!.............................................&&&&&&&&&&&&&&&&&&&&&&&&&&&#............................................&&&&&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,,,'&&&&&&&&&&&&&&&&&&&&&&",
"...........$&;......***,,,*,,,****,*......;&+...............................................................!#&&&&@..!$+!.............................................&&&&&&&&&&&&&&&&&&&&&&&&&&+...............;;;;..........................&&&&&&-,,,,,,,,,,,,,,--%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>&&&&&&&&&&&&&&&&&&&&&",
"..........#&;.......,*.....*,*,,,,,*.......=&;...............................................................#&&&&$!..&&=!.............................!!!............&&&&&&&&&&&&&&&&&&&&&&&&&@!............#+&&&&&&@=!..................;===&&&&&&,,,,-,,,-,,,')&&&&&&>%,,,-,,,-,,,-,,'>@&&))'-,,,-,,,,,,&&&&&&&&&&&&&&&&&&&&&",
"..........@$........,*...!**,,*,*,,,*.......$$..............................................................!#&&&&@..!@&=.............................!#$=............&&&&&&&&&&&&&&&&&&&&&&&&&=...........;@&&&&&&&&&&&+..............!=&&&&&&&&&&&,,,,,,,,,-'&&&&&&&&&&&)%,,,,,,,,,,-)&&&&&&&&&)%,,,,,,,,'&&&&&&&&&&&&&&&&&&&&",
".........=&;.......!*,**,*,,*,,,,,*,,.......;&#..........................!...!..........!....................#&&&&$!..&&=!...!..............!!!........@&+!!..........&&&&&&&&&&&&&&&&&&&&&&&&&...........=&&&&&&&&&&&&&&$!...........#&&&&&&&&&&&&&,,-,,,,,,)&&&&&&&&&&&&&&%,,,,,-,,-&&&&&&&&&&&&%,,,,,,,,,&&&&&&&&&&&&&&&&&&&&",
".........@+....!***!,*,,,*,,,,,*,,,*,!.......$$......................!!!!!!!!!!!...!.!!!!!!............!!!!!!#&&&&@..!@&=!!!!!!!.......!.!!!.!!!!...!!!@&+!!!!........&&&&&&&&&&&&&&&&&&&&&&&&+..........+&&&&&&&&&&&&&&&&@!.........#&&&&&&&&&&&&&&,,,,-,,,)&&&&&&&&&&&&&&&&'-,,,,,,)&&&&&&&&&&&@,,,,-,,,,,>&&&&&&&&&&&&&&&&&&&",
"........;&#..*,*,,,..*,*,,,*,*,,,*,,,*.......#&;.....................#===;!!+$$#!..!!#+$$$+#!........!#+$$$=!#&&&&$!..&&=!!;=+=#!!.....!!!#=++=;.!.!!#!&&+;;;;!.......&&&&&&&&&&&&&&&&&&&&&&&&=.........#&&&&&&&&&&&&&&&&&&$........#&&&&&&&&&&&&&&&,,,,,,,)&&&&&&&&&&&&&&&&&&%,,,,,%&&&&&&&&&&&&-,-,,,,,,,,'&&&&&&&&&&&&&&&&&&&",
"........=&...,,,,*,*...**,,,,,*,,,,*,*........&=....................!@&&&=;@&&&+.!!#@&&&&&&&$;.....!!$&&&&&&@=@&&&@..!@&=!$&&&&&$#!...!!+@&&&&&@=!.!$&@&&&@&&@........&&&&&&&&&&&&&&&&&&&&&&&&;........!&&&&&&&=;...#$&&&&&&#......!&&&&&&&&@'''>@&&,,,,,,'&&&&&&&)'''>&&&&&&&&,,,,,'&&&&&)-,,%)),,,,,,,,-,,-&&&&&&&&&&&&&&&&&&&",
"........$$...,*,,,,*!......*,,,*,*,,,****.....$$.....................@&&&+@&&&&=!!#&&&&&&&&&&@!....;@&&&&&&&&&&&&&$!..&&#@&&@$@&&@#!...=&&@@$$&&&=!.$&@&&&@&&@........&&&&&&&&&&&&&&&&&&&&&&&&;........+&&&&&@!.......#&&&&&@......+&&&&&&&',,,,,,'&,,,,-,&&&&&&&-,,,,,,>&&&&&&',-,,)&&&&&%,,,,,-,,,,,-,,,,,%&&&&&&&&&&&&&&&&&&&",
"........&=...**,*,,,,*......*,,,,,,*,*,*,,....+@.....................@&&&@&&&&&+!;&&&&&@@&&&&&@....@&&&&&&&&&&&&&&@...&&@&$!...#&&@....#@=....!$&@..!;.@&+.;!;........&&&&&&&&&&&&&&&&&&&&&&&&.........&&&&&@!.........+&&&&&#....!&&&&&&&-,,,,,,,,',,,,,%&&&&&&-,,,,,,,,'&&&&&&,,,,)&&&&&>,,,,,,,,,,,,,,,,,-&&&&&&&&&&&&&&&&&&&",
".......;&#....*,,,*,*,,**....*,*,*,,,*,,,*,...#&.....................@&&&&&&&@&=!@&&&&=!.;@&&&&#!.+&&&&&@==$@&&&&&$!..@&&+......#&&=!...........&&+....&&+!...........&&&&&&&&&&&&&&&&&&&&&&&&........#&&&&&=;;;;#;;;#;#&&&&&+....#&&&&&&',,,,,,,,,,,,,,,>&&&&&%,,,,,,,,,,)&&&&&-,,,)&&&&&&@'-,,,,-,,,,,,,,,%&&&&&&&&&&&&&&&&&&&",
".......;&#.....*,,,,*,,*,,**!*,,,,*,,,*,,,,*..;&;....................@&&&&&@=;;.#&&&&=!....&&&&$.!@&&&&$....#&&&&&@..!&&@........@&$.........!.!$&$....@&+............&&&&&&&&&&&&&&&&&&&&&&&&........+&&&&&&&&&&&&&&&&&&&&&&&....+&&&&&&,,,,,,,,,,,-,,,,&&&&&@,,,,,,,,,,,%&&&&&>,,,'&&&&&&&&&)',,,,,,,,-,,,-&&&&&&&&&&&&&&&&&&&",
".......#&;......**,,,,*,,*,,,*,,*,,,*,,,*,**..#&;....................@&&&&@.....@&&&@!!!!!!$&&&@!#&&&&@;.....+&&&&$!..@&+!.......+&@!.....!!!!!!+&@....&&+!...........&&&&&&&&&&&&&&&&&&&&&&&&........$&&&&&&&&&&&&&&&&&&&&&&&....$&&&&&),,,,-,,,,,,,,,-,&&&&&',,,,,,,,,,,,&&&&&',,-,&&&&&&&&&&&&-,-,,-,,,,,%&&&&&&&&&&&&&&&&&&&",
".......;&;........**,,,,,,*,,*,,,*,,,*,,,,,...#&#....................@&&&&=.....@&&&@++$+$+@&&&&!+&&&&$.....!#&&&&@..!&&=........+&@....!!!;=+$$@&@....@&+............&&&&&&&&&&&&&&&&&&&&&&&&........$&&&&&&&&&&&&&&&&&&&&&&&....$&&&&&),,,,,,-,,,,,,,,-&&&&&'-,,-,,-,,,,,&&&&&),,,,%&&&&&&&&&&&&-,,,,,,,,,-&&&&&&&&&&&&&&&&&&&",
".......#&;.........*,*,*,,,,,,,*,,,*,,,*,**...;&;....................@&&&&;!...;&&&&&&&&&&&&&&&&!$&&&&=!.....#&&&&$!..@&=!.......=&&....!=@&&&&&&&@....&&+!...........&&&&&&&&&&&&&&&&&&&&&&&&........$&&&&&$$@$$$@$$$@$$$$$$$....$&&&&&),-,,,,,,,,,-,,,,&&&&&',,,,,,,,,,,,&&&&&>,,,,,->&&&&&&&&&&&,,,,,,-,,-&&&&&&&&&&&&&&&&&&&",
".......;&#.......;@@!**,*,*,*,,,*,,,*,,,,*....#&.....................@&&&&;....#&&&&&&&&&&&&&&&&!$&&&&#......#&&&&@..!&&=........=&@...!+&&&@$++$&@....@&+............&&&&&&&&&&&&&&&&&&&&&&&&........+&&&&&;.....................$&&&&&@,,,,,,,-,,,,,,,,&&&&&),,,,,,,,-,,-&&&&&'-,,,,,,,%>&&&&&&&&%,,,,,,,,-&&&&&&&&&&&&&&&&&&&",
"........&=.......+&&$...*,,,,,*,,,*,,,*,*.....=&.....................@&&&&!!...;&&&&&@&@&&@&&@&@;$&&&&=......#&&&&$!..@&=!.......=&&.!.$&&+!....+&@....@&+!...........&&&&&&&&&&&&&&&&&&&&&&&&........=&&&&&+................!....=&&&&&&-,,,-,,,,,,,,,,,)&&&&&-,,,,-,,,,,>&&&&&%,,,-,,,,,,,'&&&&&&',,-,,,,,%&&&&&&&&&&&&&&&&&&&",
"........@+.......;&&&@&;...**,,*,,,*,**.......+$.....................@&&&&;.....&&&&$.!;#######;!+&&&&$.....!#&&&&@..!&&=.......!=&@.!#&&=.....!+&@....@&+............&&&&&&&&&&&&&&&&&&&&&&&&........;&&&&&&;........!;;#;;#;....;&&&&&&@,,,,,,,,,-,,,,,'&&&&&)-,,,,,,,,-&&&&&&,,,,,,,,,,,,,>&&&&&',,,,,,,,-&&&&&&&&&&&&&&&&&&&",
"........+@.#=++$;.;&&&&@;.......!.!...........@=.....................@&&&&;!....@&&&&............=&&&&@..!..!+&&&&$!..@&=!.......=&&.!$&@.......+&@....&&+!...........&&&&&&&&&&&&&&&&&&&&&&&&;........$&&&&&&;......!@&&&&&&;.....$&&&&&&),,,,,,--@,,-,,-&&&&&&>,,,,,,,%&&&&&&>,,,,,>)-,,,,,>&&&&&',,,,-,,,%&&&&&&&&&&&&&&&&&&&",
"........#&#+&&&&&;.;&&&&&+;#;+=#==#=;........;&;.....................$&&&&;.....+&&&&).!!!!!!!...!&&&&&+.!!!#@&&&&@..!&&=.......!=&@.!@&$.....!!$&@....@&+............&&&&&&&&&&&&&&&&&&&&&&&&;........#&&&&&&&$#;.;+&&&&&&&+......#&&&&&&&&'%,,%>&&,,,,,,>&&&&&&&'%,-%>&&&&&&&-,-,,,&&&'%,,'&&&&&&%,,,,,,,,-&&&&&&&&&&&&&&&&&&&",
".........@&&&&&&&&$@&&&&&&&&&&&&&&&&.........+@......................@&&&@;!....!&&&&&@+=##=+@+...$&&&&&@+=$&&&&&&$...@&=!.......=&&..@&@!..!.!;&&@....@&+!...........&&&&&&&&&&&&&&&&&&&&&&&&#.........+&&&&&&&&&&&&&&&&&&@!.......=&&&&&&&&&&&&&&&,,,,,,-&&&&&&&&&&&&&&&&&&&',,,,,>&&&&&&&&&&&&&&,,,-,,,,,'&&&&&&&&&&&&&&&&&&&",
".........+&&&&&&&&&&&&&&&&&&&+$+@&&$........;&=......................@&&&&;......=&&&&&&&&&&&&@...;&&&&&&&&&&&&&&&@...&&=........=&@..+&&#!!!!!@&&@....$&@!!!.........&&&&&&&&&&&&&&&&&&&&&&&&+..........@&&&&&&&&&&&&&&&&&;.........+&&&&&&&&&&&&&&,,,,,,,-&&&&&&&&&&&&&&&&&),,,,,-&&&&&&&&&&&&&&',,,,,-,,,>&&&&&&&&&&&&&&&&&&&",
".........!&&&&&&&&&&&&&&&&&&@;..$&&+........+@.......................@&&&&;.......+&&&&&&&&&&&&....=&&&&&&&&&@@&&&@...&&=........+&&...@&&===$&&$&@....=&&$=+=........&&&&&&&&&&&&&&&&&&&&&&&&&..........!@&&&&&&&&&&&&&&&;...........+&&&&&&&&&&&&&,,-,,,,,%&&&&&&&&&&&&&&&),,,,,,'&&&&&&&&&&&&&>,,,,,,,,,,&&&&&&&&&&&&&&&&&&&&",
"..........=&&&&&&&&&&&&&&&&&&&@@&&&;..#+=+==&#.......................@&&&&;........=@&&&&&&&&&@!....=@&&&&&&@!$&&&@...@&=........=&@...#@&&&&&&+.&&.....$&&&&@........&&&&&&&&&&&&&&&&&&&&&&&&&#...........+&&&&&&&&&&&&$!.............#$&&&&&&&&&&&,,,,,,,,,-)&&&&&&&&&&&&>,,,-,,,,-)&&&&&&&&&&',,,,,,,,,,%&&&&&&&&&&&&&&&&&&&&",
"...........$&&&&&&&&&&&&&&&&&&&&&&=..#&&&&&&$........................=+++=!..........=+$@$$$+#........=$@@$=..#+++=...=+;........;+=....;+@@@+#..+=.....!+$@@+........&&&&&&&&&&&&&&&&&&&&&&&&&@............!+&&&&&&&&@#.................;=$$$&&&&&&,,,,,,,,,,,%)&&&&&&&&>,,,,,,,,,,,,-')@&&&)',,,-,,,,,-,,&&&&&&&&&&&&&&&&&&&&&",
"...........;&&&&&&&&&&&&&&&&&&&&&$.;$&&&&&&&!.........................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&=..............#++++#;........................&&&&&&,,,,,,,,,,,,,-%''''%,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,,,,,'&&&&&&&&&&&&&&&&&&&&&",
"............;&&&&&&&&&&&&&&&&&&&&;!&&&&&&&&;..........................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&#............................................&&&&&&,,-,,,,,,,,,,,,,-,,,,,,,-,,,-,,,,,,,,,,,,,,,,,,,,,,,,'&&&&&&&&&&&&&&&&&&&&&&",
".............=&&&&&&&&&&&&&&&&&&$+&&&&&&&@;...........................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&;...........................................&&&&&&,,,,-,,,-,,,,,,,,,,,,,,,,,,,,-,,-,,,,,,,,,,,-,,,,,,,%&&&&&&&&&&&&&&&&&&&&&&&",
"..............;&&&&&&&&&&&&&&&&&&&&&&&&&&;............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=..........................................&&&&&&,,,,,,,,,,,,,-,,,,,,-,,,,,,,,,,,,,,-,,,-,,,,,,,-,,-'&&&&&&&&&&&&&&&&&&&&&&&&",
"...............;@&&&&&&&&&&&&&&&&&&&&&&$!.............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@;........................................&&&&&&,,,,,,,,,-,,,,,,-,,,,,,,-,,,,,,,,,,,,,,,,-,,,,,,,%)&&&&&&&&&&&&&&&&&&&&&&&&&",
".................=&&&&&&&&&&&&&&&&&&&&#...............................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@+;;....................................&&&&&&,,,,-,,,,,,,,,,,,,,,,-,,,,,,,-,,,,,,-,,,,,,,-,%'@&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"..................!+@&&&&&&&&&&&&&&@=!................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".....................#+@&&&&&&&&@+;...................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
".........................;#;##;.......................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"......................................................................................................................................................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..........................................................................................................................................................",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"};
/v2_0/misc/escw.xpm
0,0 → 1,264
/* XPM */
static char * escw_xpm[] = {
"320 240 21 1",
" c None",
". c #28CAE0",
"+ c #6F8695",
"@ c #3FB3C7",
"# c #579DAE",
"$ c #FF0000",
"% c #E61619",
"& c #9E5A64",
"* c #CE2D32",
"= c #B7434A",
"- c #87707C",
"; c #FFFFFF",
"> c #C7C7C7",
", c #AAAAAA",
"' c #727272",
") c #555555",
"! c #1D1D1D",
"~ c #000000",
"{ c #393939",
"] c #8E8E8E",
"^ c #E3E3E3",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"....................+++++++++++++++++++++++++@......................................................................#+++++++#........................#++++++++@................@++++++++#.......................................................................................................................................",
"....................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$&.......................................................................................................................................",
"...................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......................................................................................................................................",
"...................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$........................#$$$$$$$$*.................$$$$$$$$$@.......................................................................................................................................",
"...................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........................-$$$$$$$$=................@$$$$$$$$$..........................................$$$$$$$$&.....................................................................................",
"...................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................=$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.........................................+$$$$$$$$+.....................................................................................",
"..................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........................%$$$$$$$$@................=$$$$$$$$&.........................................+$$$$$$$$@.....................................................................................",
"..................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.............................................................#$$$$$$$$#........................$$$$$$$$$.................*$$$$$$$$+.........................................=$$$$$$$$......................................................................................",
"..................=$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........................................*$$$$$$$=......................................................................................",
"..................*$$$$$$$$#..............@%$$$$$$$$$.............................................................=$$$$$$$*........................&$$$$$$$$&................#$$$$$$$$%..........................................$$$$$$$$-......................................................................................",
"..................$$$$$$$$$................#$$$$$$$$$.............................................................*$$$$$$$=........................=$$$$$$$$+................-$$$$$$$$=.........................................#$$$$$$$$+......................................................................................",
".................#$$$$$$$$=.................*$$$$$$$%...............#++==-+#.........................@++==++......$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-..............@++-===-++.................+$$$$$$$$.......................................................................................",
".................-$$$$$$$$&.................=$$$$$$$=............+=$$$$$$$$$$=#....................-*$$$$$$$$&@..+$$$$$$$$@.......................@$$$$$$$$%.................%$$$$$$$$#...........+=$$$$$$$$$$$$*-..........#+++*$$$$$$$$++++@..................................................................................",
".................=$$$$$$$$+.................*$$$$$$$-.........@&$$$$$$$$$$$$$$$=@................-%$$$$$$$$$$$%@.-$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........-%$$$$$$$$$$$$$$$$%+........$$$$$$$$$$$$$$$$$+..................................................................................",
".................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@*$$$$$$$$$$$$$$%@=$$$$$$$=........................=$$$$$$$$-................+$$$$$$$$*........@*$$$$$$$$$$$$$$$$$$$$+......#$$$$$$$$$$$$$$$$$@..................................................................................",
".................$$$$$$$$$.................&$$$$$$$=........=$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$=.......@%$$$$$$$$$$$$$$$$$$$$$$@.....+$$$$$$$$$$$$$$$$$...................................................................................",
"................+$$$$$$$$=................#$$$$$$$$#.......=$$$$$$$$$$$$$$$$$$$$$$*..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......%$$$$$$$$$$$$$$$$$$$$$$$&.....=$$$$$$$$$$$$$$$$=...................................................................................",
"................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.......................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@......&$$$$$$$$$$$$$$$$$$$$$$$$%.....*$$$$$$$$$$$$$$$$-...................................................................................",
"................=$$$$$$$$+..............-%$$$$$$$*.......#$$$$$$$$$%&+@@+=$$$$$$$$$*........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......@$$$$$$$$$*++..#+*$$$$$$$$$.....++++$$$$$$$$*++++@...................................................................................",
"................$$$$$$$$$-++++++++++++=%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$=........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=......&$$$$$$$$+........%$$$$$$$$........#$$$$$$$$+........................................................................................",
"...............@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........................%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&......%$$$$$$$+.........=$$$$$$$*........+$$$$$$$$@........................................................................................",
"...............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$=..........@$$$$$$$$=.....*$$$$$$$$-..........*$$$$$$$$$+........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.....#$$$$$$$*..........*$$$$$$$=........=$$$$$$$$.........................................................................................",
"...............&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$=....#$$$$$$$$*...........&$$$$$$$$$........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......#=======+.........@$$$$$$$$+........%$$$$$$$=.........................................................................................",
"...............*$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............=$$$$$$$=....&$$$$$$$$@...........+$$$$$$$$*........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%.......................@%$$$$$$$$#........$$$$$$$$&.........................................................................................",
"...............$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............=$$$$$$$=....$$$$$$$$=............+$$$$$$$$=........................=$$$$$$$$&++++++++++++++++&$$$$$$$$=....................++=$$$$$$$$$$........+$$$$$$$$+.........................................................................................",
"..............#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.......=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...+$$$$$$$$#............+$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.............@+-=*$$$$$$$$$$$$$$*........-$$$$$$$$@.........................................................................................",
"..............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...=$$$$$$$%.............+$$$$$$$$#.......................@$$$$$$$$*.................%$$$$$$$$#..........#=%$$$$$$$$$$$$$$$$$$$=........=$$$$$$$%..........................................................................................",
"..............=$$$$$$$$+............+*$$$$$$$$$=.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.........+%$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$=..........................................................................................",
"..............%$$$$$$$$@..............=$$$$$$$$=.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............=$$$$$$$=........................&$$$$$$$$+................+$$$$$$$$*.......@=$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$-..........................................................................................",
"..............$$$$$$$$$...............@$$$$$$$$=.....=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............*$$$$$$$&........................*$$$$$$$$#................-$$$$$$$$=......@%$$$$$$$$$$$$$$*&&$$$$$$$$........+$$$$$$$$+..........................................................................................",
".............+$$$$$$$$=................$$$$$$$$&.....*$$$$$$$$=====================&...-$$$$$$$$.............@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+......%$$$$$$$$$%=-+@...&$$$$$$$=........-$$$$$$$$...........................................................................................",
".............-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................=$$$$$$$$.............-$$$$$$$$@.......................#$$$$$$$$*.................%$$$$$$$$@.....=$$$$$$$$*#........*$$$$$$$&........=$$$$$$$*...........................................................................................",
".............=$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$=.........................=$$$$$$$$.............*$$$$$$$%........................+$$$$$$$$&................@$$$$$$$$$.....#$$$$$$$$=.........@$$$$$$$$+........%$$$$$$$=...........................................................................................",
".............$$$$$$$$$................=$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$............#$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....*$$$$$$$*..........-$$$$$$$$@........$$$$$$$$+...........................................................................................",
"............@$$$$$$$$%................$$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$+...........%$$$$$$$$-........................%$$$$$$$$@................&$$$$$$$$&....@$$$$$$$$#..........%$$$$$$$%........+$$$$$$$$#...........................................................................................",
"............+$$$$$$$$=...............#$$$$$$$$=......%$$$$$$$$...........@========@....&$$$$$$$$&..........=$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....+$$$$$$$$..........-$$$$$$$$=........&$$$$$$$$............................................................................................",
"............&$$$$$$$$-...............&$$$$$$$$&......=$$$$$$$$-..........=$$$$$$$*.....+$$$$$$$$%@........+$$$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.....=$$$$$$$$.........@$$$$$$$$$-........=$$$$$$$=............................................................................................",
"............*$$$$$$$$+...............=$$$$$$$$+......+$$$$$$$$$+.......@=$$$$$$$$@.....#$$$$$$$$$=.......=$$$$$$$$$$*........................-$$$$$$$$&................@$$$$$$$$%.....=$$$$$$$$-.......#%$$$$$$$$$+........$$$$$$$$-............................................................................................",
"............$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$*#..@-%$$$$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....=$$$$$$$$$-@...+&$$$$$$$$$$$........@$$$$$$$$=............................................................................................",
"...........#$$$$$$$$*...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$=........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.....-$$$$$$$$$$$$$$$$$$$$$$$$$$%........+$$$$$$$$$%==-........................................................................................",
"...........+$$$$$$$$=...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$=.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......................@$$$$$$$$%.................*$$$$$$$$+.....#$$$$$$$$$$$$$$$$$$$$$$$$$$=........+$$$$$$$$$$$$&........................................................................................",
"...........=$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$=...........-$$$$$$$$$$$$$$$$$=$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.......*$$$$$$$$$$$$$$$$*%$$$$$$$*........+$$$$$$$$$$$$+........................................................................................",
"...........%$$$$$$$$#...............+$$$$$$$$$=.........#%$$$$$$$$$$$$$$$$$$+.............=$$$$$$$$$$$$$$$+=$$$$$$$=........................&$$$$$$$$-................#$$$$$$$$*.......@$$$$$$$$$$$$$$$=.$$$$$$$$$+........$$$$$$$$$$$$@........................................................................................",
"...........$$$$$$$$$................@$$$$$$$$$*..........@*$$$$$$$$$$$$$$$&@...............=$$$$$$$$$$$$%@.%$$$$$$$&........................*$$$$$$$$+................-$$$$$$$$=........+$$$$$$$$$$$$%+..%$$$$$$$$*........&$$$$$$$$$$$.........................................................................................",
"..........@+++++++++.................+++++++++#............#*$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........................+++++++++.................#++++++++@.........@*$$$$$$$$%&@...#++++++++#.........&$$$$$$$$$=.........................................................................................",
".............................................................@+&====&+@.......................#-====-#.....................................................................................@+====&+..........................@+=====&+@.........................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>,')))!~~~)))',>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>'{~~~~~~~~~~~~~~~~~~)]^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^'!~~~~~~~~~~~~~~~~~~~~~~~~{,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~)){~~~~~~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~{',;;;;;;;;>]!~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~'^;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~~~~'^;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~{^;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,)))),,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,')))),,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>,,]))))',,>;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;^,)!~~~~~~~~~~~~!'>;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;^])!~~~~~~~~~~~~~!',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^])!~~~~~~~~~~~~~~!),;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;]{~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;^'!~~~~~~~~~~~~~~~~~~~~!'^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^]{~~~~~~~~~~~~~~~~~~~~~~'>;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;^'~~~~~~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;;;;;^'~~~~~~~~~~~~~~~~~~~~~~~~~~~)^;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~)^;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;>!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~);;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;^~~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;;;;]~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;!~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;>~~~~~~~~~~~~~~~~~~~!))!~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;;>~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~~~~~~!))!~~~~~~~~~~~~~~~~~~~~!;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~~~~~))){~~~~~~~~~~~~~~~~~~~~;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;^!~~~~~~~~~~~~~~~!'>;;;;;;,{~~~~~~~~~~~~~~~~);;;;;;;;;;;'~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~),;;;;;;,)~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;{~~~~~~~~~~~~~~~',;;;;;;;;,)~~~~~~~~~~~~~~~~^;;;;;;;;;..............",
".................................................;;;;;;;;;;;;'~~~~~~~~~~~~~~~];;;;;;;;;;;>!~~~~~~~~~~~~~~~;;;;;;;;;;;!~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~)^;;;;;;;;;;>!~~~~~~~~~~~~~~~~);;;;;;;;;;;;>~~~~~~~~~~~~~~)^;;;;;;;;;;;;^!~~~~~~~~~~~~~~,;;;;;;;;;..............",
".................................................;;;;;;;;;;;>~~~~~~~~~~~~~~!^;;;;;;;;;;;;;^!~~~~~~~~~~~~~~,;;;;;;;;;>~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~;;;;;;;;;;;;{~~~~~~~~~~~~~{;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~,;;;;;;;;;..............",
".................................................;;;;;;;;;;;{~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~);;;;;;;;;]~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~~>;;;;;;;;;;^~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~,;;;;;;;;;..............",
".................................................;;;;;;;;;;]~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~!;;;;;;;;;)~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~,;;;;;;;;;;,~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~,;;;;;;;;;..............",
".................................................;;;;;;;;;;!~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~;;;;;;;;;~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~~';;;;;;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~;;;;;;;;;;..............",
".................................................;;;;;;;;;]~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~;;;;;;;;>~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~);;;;;;;;;;{~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;])))))))))))));;;;;;;;;;..............",
".................................................;;;;;;;;;{~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~,;;;;;;;,~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~);;;;;;;;;;~~~~~~~~~~~~~~~~'^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;>~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~,;;;;;;;)~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~);;;;;;;;;;~~~~~~~~~~~~~~~~~~'>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;)~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~>;;;;;;;{~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;~~~~~~~~~~~~~~~~~~~~!),;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~;;;;;;;;~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;!~~~~~~~~~~~~~~~~~~~~~~~{]^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;,~~~~~~~~~~~~~~))))))))))))))))))))))~~~~~~~~~~~~~~;;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~!',;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;;;;;;,~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~,;;;;;;;;;;>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~),;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!;;;;;;;,~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~,;;;;;;;;;;;{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'>;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;,~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~>;;;;;;;;;;;>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{^;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;'~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;)~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~!;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;..............",
".................................................;;;;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;)~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~);;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;..............",
".................................................;;;;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;;;;;;;)~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>))))))))))))));;;;;;,~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;!~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;]!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;..............",
".................................................;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;)~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~);;;;;;'~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;]!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;;;;;;;..............",
".................................................;;;;;,~~~~~~~~~~~~~~)))))))))))))))))))))))))))))))))))),;;;;;;;;)~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~,;;;;;;)~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;,)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;..............",
".................................................;;;;;]~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~^;;;;;;)~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;,)~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~);;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;;;;;;,)~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~,;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>'!~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~!;;;;;;;;~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>'!~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~];;;;;;;;~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,{~~~~~~~~~~~~~~~~,;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~!;;;;;;;;;~~~~~~~~~~~~~~~;;;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~,;;;;;;;;;;;;..............",
".................................................;;;;;)~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~];;;;;;;;;~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~>;;;;;;;^,,,,,,,,,,,,,>;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~^;;;;;;;;;;;;..............",
".................................................;;;;;,~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~^;;;;;;;;;;;]~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~!;;;;;;;;;;!~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~{;;;;;;;;,~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~;;;;;;;;;;;;;..............",
".................................................;;;;;,~~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~';;;;;;;;;;;;>~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;;;;;>!~~~~~~~~~~~~~~~~,;;;;;;;;;;)~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~>;;;;;;;;)~~~~~~~~~~~~~!;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~{;;;;;;;;;;;;;..............",
".................................................;;;;;;~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;,~~~~~~~~~~~~~!^;;;;;;;;;;;;;{~~~~~~~~~~~~~~~~~{^;;;;;;;;;;;;;;;;;^)~~~~~~~~~~~~~~~~~);;;;;;;;;;;'~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~';;;;;;;;;)~~~~~~~~~~~~~~>;;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~];;;;;;;;;;;;;..............",
".................................................;;;;;;{~~~~~~~~~~~~~~~>;;;;;;;;;;;;;;,~~~~~~~~~~~~~~];;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~'^;;;;;;;;;;;;;>)~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;,~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;)~~~~~~~~~~~~~~~!^;;;;;;;;;)~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~^;;;;;;;;;;;;;..............",
".................................................;;;;;;]~~~~~~~~~~~~~~~~,;;;;;;;;;;;^{~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;!~~~~~~~~~~~~~~~~~~~~{],^;;;;^,])~~~~~~~~~~~~~~~~~~~~~>;;;;;;;;;;;;;~~~~~~~~~~~~~~~~~)^;;;;;;;;;;>!~~~~~~~~~~~~~~~~,;;;;;;;;;;]~~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;^)~~~~~~~~~~~~~~{;;;;;;;;;;;;;;..............",
".................................................;;;;;;^~~~~~~~~~~~~~~~~~{,;;;;;;;,{~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~!]^;;;;;;,{~~~~~~~~~~~~~~~~~';;;;;;;;;;;,~~~~~~~~~~~~~~~~~{]^;;;;;;;;^,)~~~~~~~~~~~~~~~~>;;;;;;;;;;;;;;..............",
".................................................;;;;;;;'~~~~~~~~~~~~~~~~~~~{)))!~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;>~~~~~~~~~~~~~~~~~~~~!)))!~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;~~~~~~~~~~~~~~~~~~~~~{)))){~~~~~~~~~~~~~~~~~~~{;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~];;;;;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!^;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)^;;;;;;;;;;;;;;;;;;{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;;;;;;;;;;;;;;,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{>;;;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!>;;;;;;;;;;;;;;;;;;;;;;^!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{^;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~~!,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~';;;;;;;;;;;;;;;;;;;;;;;;;;)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;]!~~~~~~~~~~~~~~~~~~~~~~~!];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^{~~~~~~~~~~~~~~~~~~~~~~~~~~'^;;;;;;;;;;;;;;;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~~~~~~~~~~~!]^;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;^'!~~~~~~~~~~~~~~~~~~~{,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^'!~~~~~~~~~~~~~~~~~~~~~~~{'^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>)~~~~~~~~~~~~~~~~~~~~~{];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>{~~~~~~~~~~~~~~~~~~~~~~~~),;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;,)~~~~~~~~~~~~~!),^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>])~~~~~~~~~~~~~~~~{),^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^,)~~~~~~~~~~~~~~~)]^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^])~~~~~~~~~~~~~~~~~{',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;^,,)))))',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^,,]))))))',,>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^,,')))))],,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,])))))))],,^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
".................................................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..............",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"....................+++++++++++++++++++++++++@......................................................................#+++++++#........................#++++++++@................@++++++++#.......................................................................................................................................",
"....................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$&.......................................................................................................................................",
"...................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......................................................................................................................................",
"...................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$........................#$$$$$$$$*.................$$$$$$$$$@.......................................................................................................................................",
"...................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........................-$$$$$$$$=................@$$$$$$$$$..........................................$$$$$$$$&.....................................................................................",
"...................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................=$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.........................................+$$$$$$$$+.....................................................................................",
"..................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........................%$$$$$$$$@................=$$$$$$$$&.........................................+$$$$$$$$@.....................................................................................",
"..................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.............................................................#$$$$$$$$#........................$$$$$$$$$.................*$$$$$$$$+.........................................=$$$$$$$$......................................................................................",
"..................=$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........................................*$$$$$$$=......................................................................................",
"..................*$$$$$$$$#..............@%$$$$$$$$$.............................................................=$$$$$$$*........................&$$$$$$$$&................#$$$$$$$$%..........................................$$$$$$$$-......................................................................................",
"..................$$$$$$$$$................#$$$$$$$$$.............................................................*$$$$$$$=........................=$$$$$$$$+................-$$$$$$$$=.........................................#$$$$$$$$+......................................................................................",
".................#$$$$$$$$=.................*$$$$$$$%...............#++==-+#.........................@++==++......$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-..............@++-===-++.................+$$$$$$$$.......................................................................................",
".................-$$$$$$$$&.................=$$$$$$$=............+=$$$$$$$$$$=#....................-*$$$$$$$$&@..+$$$$$$$$@.......................@$$$$$$$$%.................%$$$$$$$$#...........+=$$$$$$$$$$$$*-..........#+++*$$$$$$$$++++@..................................................................................",
".................=$$$$$$$$+.................*$$$$$$$-.........@&$$$$$$$$$$$$$$$=@................-%$$$$$$$$$$$%@.-$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........-%$$$$$$$$$$$$$$$$%+........$$$$$$$$$$$$$$$$$+..................................................................................",
".................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@*$$$$$$$$$$$$$$%@=$$$$$$$=........................=$$$$$$$$-................+$$$$$$$$*........@*$$$$$$$$$$$$$$$$$$$$+......#$$$$$$$$$$$$$$$$$@..................................................................................",
".................$$$$$$$$$.................&$$$$$$$=........=$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$=.......@%$$$$$$$$$$$$$$$$$$$$$$@.....+$$$$$$$$$$$$$$$$$...................................................................................",
"................+$$$$$$$$=................#$$$$$$$$#.......=$$$$$$$$$$$$$$$$$$$$$$*..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......%$$$$$$$$$$$$$$$$$$$$$$$&.....=$$$$$$$$$$$$$$$$=...................................................................................",
"................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.......................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@......&$$$$$$$$$$$$$$$$$$$$$$$$%.....*$$$$$$$$$$$$$$$$-...................................................................................",
"................=$$$$$$$$+..............-%$$$$$$$*.......#$$$$$$$$$%&+@@+=$$$$$$$$$*........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......@$$$$$$$$$*++..#+*$$$$$$$$$.....++++$$$$$$$$*++++@...................................................................................",
"................$$$$$$$$$-++++++++++++=%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$=........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=......&$$$$$$$$+........%$$$$$$$$........#$$$$$$$$+........................................................................................",
"...............@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........................%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&......%$$$$$$$+.........=$$$$$$$*........+$$$$$$$$@........................................................................................",
"...............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$=..........@$$$$$$$$=.....*$$$$$$$$-..........*$$$$$$$$$+........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.....#$$$$$$$*..........*$$$$$$$=........=$$$$$$$$.........................................................................................",
"...............&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$=....#$$$$$$$$*...........&$$$$$$$$$........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......#=======+.........@$$$$$$$$+........%$$$$$$$=.........................................................................................",
"...............*$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............=$$$$$$$=....&$$$$$$$$@...........+$$$$$$$$*........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%.......................@%$$$$$$$$#........$$$$$$$$&.........................................................................................",
"...............$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............=$$$$$$$=....$$$$$$$$=............+$$$$$$$$=........................=$$$$$$$$&++++++++++++++++&$$$$$$$$=....................++=$$$$$$$$$$........+$$$$$$$$+.........................................................................................",
"..............#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.......=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...+$$$$$$$$#............+$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.............@+-=*$$$$$$$$$$$$$$*........-$$$$$$$$@.........................................................................................",
"..............+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...=$$$$$$$%.............+$$$$$$$$#.......................@$$$$$$$$*.................%$$$$$$$$#..........#=%$$$$$$$$$$$$$$$$$$$=........=$$$$$$$%..........................................................................................",
"..............=$$$$$$$$+............+*$$$$$$$$$=.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.........+%$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$=..........................................................................................",
"..............%$$$$$$$$@..............=$$$$$$$$=.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............=$$$$$$$=........................&$$$$$$$$+................+$$$$$$$$*.......@=$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$-..........................................................................................",
"..............$$$$$$$$$...............@$$$$$$$$=.....=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............*$$$$$$$&........................*$$$$$$$$#................-$$$$$$$$=......@%$$$$$$$$$$$$$$*&&$$$$$$$$........+$$$$$$$$+..........................................................................................",
".............+$$$$$$$$=................$$$$$$$$&.....*$$$$$$$$=====================&...-$$$$$$$$.............@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+......%$$$$$$$$$%=-+@...&$$$$$$$=........-$$$$$$$$...........................................................................................",
".............-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................=$$$$$$$$.............-$$$$$$$$@.......................#$$$$$$$$*.................%$$$$$$$$@.....=$$$$$$$$*#........*$$$$$$$&........=$$$$$$$*...........................................................................................",
".............=$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$=.........................=$$$$$$$$.............*$$$$$$$%........................+$$$$$$$$&................@$$$$$$$$$.....#$$$$$$$$=.........@$$$$$$$$+........%$$$$$$$=...........................................................................................",
".............$$$$$$$$$................=$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$............#$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....*$$$$$$$*..........-$$$$$$$$@........$$$$$$$$+...........................................................................................",
"............@$$$$$$$$%................$$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$+...........%$$$$$$$$-........................%$$$$$$$$@................&$$$$$$$$&....@$$$$$$$$#..........%$$$$$$$%........+$$$$$$$$#...........................................................................................",
"............+$$$$$$$$=...............#$$$$$$$$=......%$$$$$$$$...........@========@....&$$$$$$$$&..........=$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....+$$$$$$$$..........-$$$$$$$$=........&$$$$$$$$............................................................................................",
"............&$$$$$$$$-...............&$$$$$$$$&......=$$$$$$$$-..........=$$$$$$$*.....+$$$$$$$$%@........+$$$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.....=$$$$$$$$.........@$$$$$$$$$-........=$$$$$$$=............................................................................................",
"............*$$$$$$$$+...............=$$$$$$$$+......+$$$$$$$$$+.......@=$$$$$$$$@.....#$$$$$$$$$=.......=$$$$$$$$$$*........................-$$$$$$$$&................@$$$$$$$$%.....=$$$$$$$$-.......#%$$$$$$$$$+........$$$$$$$$-............................................................................................",
"............$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$*#..@-%$$$$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....=$$$$$$$$$-@...+&$$$$$$$$$$$........@$$$$$$$$=............................................................................................",
"...........#$$$$$$$$*...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$=........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.....-$$$$$$$$$$$$$$$$$$$$$$$$$$%........+$$$$$$$$$%==-........................................................................................",
"...........+$$$$$$$$=...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$=.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......................@$$$$$$$$%.................*$$$$$$$$+.....#$$$$$$$$$$$$$$$$$$$$$$$$$$=........+$$$$$$$$$$$$&........................................................................................",
"...........=$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$=...........-$$$$$$$$$$$$$$$$$=$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.......*$$$$$$$$$$$$$$$$*%$$$$$$$*........+$$$$$$$$$$$$+........................................................................................",
"...........%$$$$$$$$#...............+$$$$$$$$$=.........#%$$$$$$$$$$$$$$$$$$+.............=$$$$$$$$$$$$$$$+=$$$$$$$=........................&$$$$$$$$-................#$$$$$$$$*.......@$$$$$$$$$$$$$$$=.$$$$$$$$$+........$$$$$$$$$$$$@........................................................................................",
"...........$$$$$$$$$................@$$$$$$$$$*..........@*$$$$$$$$$$$$$$$&@...............=$$$$$$$$$$$$%@.%$$$$$$$&........................*$$$$$$$$+................-$$$$$$$$=........+$$$$$$$$$$$$%+..%$$$$$$$$*........&$$$$$$$$$$$.........................................................................................",
"..........@+++++++++.................+++++++++#............#*$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........................+++++++++.................#++++++++@.........@*$$$$$$$$%&@...#++++++++#.........&$$$$$$$$$=.........................................................................................",
".............................................................@+&====&+@.......................#-====-#.....................................................................................@+====&+..........................@+=====&+@.........................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/redhat.xpm
0,0 → 1,254
/* XPM */
static char * redhat_xpm[] = {
"320 240 11 1",
" c None",
". c #FFFFFF",
"+ c #FFAAAA",
"@ c #FFE3E3",
"# c #FFC7C7",
"$ c #FF0000",
"% c #FF1D1D",
"& c #FF7272",
"* c #FF3939",
"= c #FF5555",
"- c #FF8E8E",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"......................+++++++++++++++++++++++++@......................................................................#+++++++#........................#++++++++@................@++++++++#.....................................................................................................................................",
"......................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$&.....................................................................................................................................",
".....................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.....................................................................................................................................",
".....................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$........................#$$$$$$$$*.................$$$$$$$$$@.....................................................................................................................................",
".....................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........................-$$$$$$$$=................@$$$$$$$$$..........................................$$$$$$$$&...................................................................................",
".....................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................=$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.........................................+$$$$$$$$+...................................................................................",
"....................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........................%$$$$$$$$@................=$$$$$$$$&.........................................+$$$$$$$$@...................................................................................",
"....................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.............................................................#$$$$$$$$#........................$$$$$$$$$.................*$$$$$$$$+.........................................=$$$$$$$$....................................................................................",
"....................=$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........................................*$$$$$$$=....................................................................................",
"....................*$$$$$$$$#..............@%$$$$$$$$$.............................................................=$$$$$$$*........................&$$$$$$$$&................#$$$$$$$$%..........................................$$$$$$$$-....................................................................................",
"....................$$$$$$$$$................#$$$$$$$$$.............................................................*$$$$$$$=........................=$$$$$$$$+................-$$$$$$$$=.........................................#$$$$$$$$+....................................................................................",
"...................#$$$$$$$$=.................*$$$$$$$%...............#++==-+#.........................@++==++......$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-..............@++-===-++.................+$$$$$$$$.....................................................................................",
"...................-$$$$$$$$&.................=$$$$$$$=............+=$$$$$$$$$$=#....................-*$$$$$$$$&@..+$$$$$$$$@.......................@$$$$$$$$%.................%$$$$$$$$#...........+=$$$$$$$$$$$$*-..........#+++*$$$$$$$$++++@................................................................................",
"...................=$$$$$$$$+.................*$$$$$$$-.........@&$$$$$$$$$$$$$$$=@................-%$$$$$$$$$$$%@.-$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........-%$$$$$$$$$$$$$$$$%+........$$$$$$$$$$$$$$$$$+................................................................................",
"...................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@*$$$$$$$$$$$$$$%@=$$$$$$$=........................=$$$$$$$$-................+$$$$$$$$*........@*$$$$$$$$$$$$$$$$$$$$+......#$$$$$$$$$$$$$$$$$@................................................................................",
"...................$$$$$$$$$.................&$$$$$$$=........=$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$=.......@%$$$$$$$$$$$$$$$$$$$$$$@.....+$$$$$$$$$$$$$$$$$.................................................................................",
"..................+$$$$$$$$=................#$$$$$$$$#.......=$$$$$$$$$$$$$$$$$$$$$$*..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......%$$$$$$$$$$$$$$$$$$$$$$$&.....=$$$$$$$$$$$$$$$$=.................................................................................",
"..................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.......................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@......&$$$$$$$$$$$$$$$$$$$$$$$$%.....*$$$$$$$$$$$$$$$$-.................................................................................",
"..................=$$$$$$$$+..............-%$$$$$$$*.......#$$$$$$$$$%&+@@+=$$$$$$$$$*........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......@$$$$$$$$$*++..#+*$$$$$$$$$.....++++$$$$$$$$*++++@.................................................................................",
"..................$$$$$$$$$-++++++++++++=%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$=........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=......&$$$$$$$$+........%$$$$$$$$........#$$$$$$$$+......................................................................................",
".................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........................%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&......%$$$$$$$+.........=$$$$$$$*........+$$$$$$$$@......................................................................................",
".................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$=..........@$$$$$$$$=.....*$$$$$$$$-..........*$$$$$$$$$+........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.....#$$$$$$$*..........*$$$$$$$=........=$$$$$$$$.......................................................................................",
".................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$=....#$$$$$$$$*...........&$$$$$$$$$........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......#=======+.........@$$$$$$$$+........%$$$$$$$=.......................................................................................",
".................*$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............=$$$$$$$=....&$$$$$$$$@...........+$$$$$$$$*........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%.......................@%$$$$$$$$#........$$$$$$$$&.......................................................................................",
".................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............=$$$$$$$=....$$$$$$$$=............+$$$$$$$$=........................=$$$$$$$$&++++++++++++++++&$$$$$$$$=....................++=$$$$$$$$$$........+$$$$$$$$+.......................................................................................",
"................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.......=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...+$$$$$$$$#............+$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.............@+-=*$$$$$$$$$$$$$$*........-$$$$$$$$@.......................................................................................",
"................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...=$$$$$$$%.............+$$$$$$$$#.......................@$$$$$$$$*.................%$$$$$$$$#..........#=%$$$$$$$$$$$$$$$$$$$=........=$$$$$$$%........................................................................................",
"................=$$$$$$$$+............+*$$$$$$$$$=.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.........+%$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$=........................................................................................",
"................%$$$$$$$$@..............=$$$$$$$$=.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............=$$$$$$$=........................&$$$$$$$$+................+$$$$$$$$*.......@=$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$-........................................................................................",
"................$$$$$$$$$...............@$$$$$$$$=.....=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............*$$$$$$$&........................*$$$$$$$$#................-$$$$$$$$=......@%$$$$$$$$$$$$$$*&&$$$$$$$$........+$$$$$$$$+........................................................................................",
"...............+$$$$$$$$=................$$$$$$$$&.....*$$$$$$$$=====================&...-$$$$$$$$.............@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+......%$$$$$$$$$%=-+@...&$$$$$$$=........-$$$$$$$$.........................................................................................",
"...............-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................=$$$$$$$$.............-$$$$$$$$@.......................#$$$$$$$$*.................%$$$$$$$$@.....=$$$$$$$$*#........*$$$$$$$&........=$$$$$$$*.........................................................................................",
"...............=$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$=.........................=$$$$$$$$.............*$$$$$$$%........................+$$$$$$$$&................@$$$$$$$$$.....#$$$$$$$$=.........@$$$$$$$$+........%$$$$$$$=.........................................................................................",
"...............$$$$$$$$$................=$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$............#$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....*$$$$$$$*..........-$$$$$$$$@........$$$$$$$$+.........................................................................................",
"..............@$$$$$$$$%................$$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$+...........%$$$$$$$$-........................%$$$$$$$$@................&$$$$$$$$&....@$$$$$$$$#..........%$$$$$$$%........+$$$$$$$$#.........................................................................................",
"..............+$$$$$$$$=...............#$$$$$$$$=......%$$$$$$$$...........@========@....&$$$$$$$$&..........=$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....+$$$$$$$$..........-$$$$$$$$=........&$$$$$$$$..........................................................................................",
"..............&$$$$$$$$-...............&$$$$$$$$&......=$$$$$$$$-..........=$$$$$$$*.....+$$$$$$$$%@........+$$$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.....=$$$$$$$$.........@$$$$$$$$$-........=$$$$$$$=..........................................................................................",
"..............*$$$$$$$$+...............=$$$$$$$$+......+$$$$$$$$$+.......@=$$$$$$$$@.....#$$$$$$$$$=.......=$$$$$$$$$$*........................-$$$$$$$$&................@$$$$$$$$%.....=$$$$$$$$-.......#%$$$$$$$$$+........$$$$$$$$-..........................................................................................",
"..............$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$*#..@-%$$$$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....=$$$$$$$$$-@...+&$$$$$$$$$$$........@$$$$$$$$=..........................................................................................",
".............#$$$$$$$$*...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$=........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.....-$$$$$$$$$$$$$$$$$$$$$$$$$$%........+$$$$$$$$$%==-......................................................................................",
".............+$$$$$$$$=...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$=.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......................@$$$$$$$$%.................*$$$$$$$$+.....#$$$$$$$$$$$$$$$$$$$$$$$$$$=........+$$$$$$$$$$$$&......................................................................................",
".............=$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$=...........-$$$$$$$$$$$$$$$$$=$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.......*$$$$$$$$$$$$$$$$*%$$$$$$$*........+$$$$$$$$$$$$+......................................................................................",
".............%$$$$$$$$#...............+$$$$$$$$$=.........#%$$$$$$$$$$$$$$$$$$+.............=$$$$$$$$$$$$$$$+=$$$$$$$=........................&$$$$$$$$-................#$$$$$$$$*.......@$$$$$$$$$$$$$$$=.$$$$$$$$$+........$$$$$$$$$$$$@......................................................................................",
".............$$$$$$$$$................@$$$$$$$$$*..........@*$$$$$$$$$$$$$$$&@...............=$$$$$$$$$$$$%@.%$$$$$$$&........................*$$$$$$$$+................-$$$$$$$$=........+$$$$$$$$$$$$%+..%$$$$$$$$*........&$$$$$$$$$$$.......................................................................................",
"............@+++++++++.................+++++++++#............#*$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........................+++++++++.................#++++++++@.........@*$$$$$$$$%&@...#++++++++#.........&$$$$$$$$$=.......................................................................................",
"...............................................................@+&====&+@.......................#-====-#.....................................................................................@+====&+..........................@+=====&+@.......................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
".......................................................................................+++++++++++++++++++++++++@......................................................................#+++++++#........................#++++++++@................@++++++++#....................................................................",
".......................................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$&....................................................................",
"......................................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....................................................................",
"......................................................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$........................#$$$$$$$$*.................$$$$$$$$$@....................................................................",
"......................................................................................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........................-$$$$$$$$=................@$$$$$$$$$..........................................$$$$$$$$&..................",
"......................................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................=$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.........................................+$$$$$$$$+..................",
".....................................................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........................%$$$$$$$$@................=$$$$$$$$&.........................................+$$$$$$$$@..................",
".....................................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.............................................................#$$$$$$$$#........................$$$$$$$$$.................*$$$$$$$$+.........................................=$$$$$$$$...................",
".....................................................................................=$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........................................*$$$$$$$=...................",
".....................................................................................*$$$$$$$$#..............@%$$$$$$$$$.............................................................=$$$$$$$*........................&$$$$$$$$&................#$$$$$$$$%..........................................$$$$$$$$-...................",
".....................................................................................$$$$$$$$$................#$$$$$$$$$.............................................................*$$$$$$$=........................=$$$$$$$$+................-$$$$$$$$=.........................................#$$$$$$$$+...................",
"....................................................................................#$$$$$$$$=.................*$$$$$$$%...............#++==-+#.........................@++==++......$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-..............@++-===-++.................+$$$$$$$$....................",
"....................................................................................-$$$$$$$$&.................=$$$$$$$=............+=$$$$$$$$$$=#....................-*$$$$$$$$&@..+$$$$$$$$@.......................@$$$$$$$$%.................%$$$$$$$$#...........+=$$$$$$$$$$$$*-..........#+++*$$$$$$$$++++@...............",
"....................................................................................=$$$$$$$$+.................*$$$$$$$-.........@&$$$$$$$$$$$$$$$=@................-%$$$$$$$$$$$%@.-$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........-%$$$$$$$$$$$$$$$$%+........$$$$$$$$$$$$$$$$$+...............",
"....................................................................................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@*$$$$$$$$$$$$$$%@=$$$$$$$=........................=$$$$$$$$-................+$$$$$$$$*........@*$$$$$$$$$$$$$$$$$$$$+......#$$$$$$$$$$$$$$$$$@...............",
"....................................................................................$$$$$$$$$.................&$$$$$$$=........=$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$=.......@%$$$$$$$$$$$$$$$$$$$$$$@.....+$$$$$$$$$$$$$$$$$................",
"...................................................................................+$$$$$$$$=................#$$$$$$$$#.......=$$$$$$$$$$$$$$$$$$$$$$*..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......%$$$$$$$$$$$$$$$$$$$$$$$&.....=$$$$$$$$$$$$$$$$=................",
"...................................................................................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.......................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@......&$$$$$$$$$$$$$$$$$$$$$$$$%.....*$$$$$$$$$$$$$$$$-................",
"...................................................................................=$$$$$$$$+..............-%$$$$$$$*.......#$$$$$$$$$%&+@@+=$$$$$$$$$*........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......@$$$$$$$$$*++..#+*$$$$$$$$$.....++++$$$$$$$$*++++@................",
"...................................................................................$$$$$$$$$-++++++++++++=%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$=........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=......&$$$$$$$$+........%$$$$$$$$........#$$$$$$$$+.....................",
"..................................................................................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........................%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&......%$$$$$$$+.........=$$$$$$$*........+$$$$$$$$@.....................",
"..................................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$=..........@$$$$$$$$=.....*$$$$$$$$-..........*$$$$$$$$$+........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.....#$$$$$$$*..........*$$$$$$$=........=$$$$$$$$......................",
"..................................................................................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$=....#$$$$$$$$*...........&$$$$$$$$$........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......#=======+.........@$$$$$$$$+........%$$$$$$$=......................",
"..................................................................................*$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............=$$$$$$$=....&$$$$$$$$@...........+$$$$$$$$*........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%.......................@%$$$$$$$$#........$$$$$$$$&......................",
"..................................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............=$$$$$$$=....$$$$$$$$=............+$$$$$$$$=........................=$$$$$$$$&++++++++++++++++&$$$$$$$$=....................++=$$$$$$$$$$........+$$$$$$$$+......................",
".................................................................................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.......=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...+$$$$$$$$#............+$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.............@+-=*$$$$$$$$$$$$$$*........-$$$$$$$$@......................",
".................................................................................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...=$$$$$$$%.............+$$$$$$$$#.......................@$$$$$$$$*.................%$$$$$$$$#..........#=%$$$$$$$$$$$$$$$$$$$=........=$$$$$$$%.......................",
".................................................................................=$$$$$$$$+............+*$$$$$$$$$=.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.........+%$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$=.......................",
".................................................................................%$$$$$$$$@..............=$$$$$$$$=.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............=$$$$$$$=........................&$$$$$$$$+................+$$$$$$$$*.......@=$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$-.......................",
".................................................................................$$$$$$$$$...............@$$$$$$$$=.....=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............*$$$$$$$&........................*$$$$$$$$#................-$$$$$$$$=......@%$$$$$$$$$$$$$$*&&$$$$$$$$........+$$$$$$$$+.......................",
"................................................................................+$$$$$$$$=................$$$$$$$$&.....*$$$$$$$$=====================&...-$$$$$$$$.............@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+......%$$$$$$$$$%=-+@...&$$$$$$$=........-$$$$$$$$........................",
"................................................................................-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................=$$$$$$$$.............-$$$$$$$$@.......................#$$$$$$$$*.................%$$$$$$$$@.....=$$$$$$$$*#........*$$$$$$$&........=$$$$$$$*........................",
"................................................................................=$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$=.........................=$$$$$$$$.............*$$$$$$$%........................+$$$$$$$$&................@$$$$$$$$$.....#$$$$$$$$=.........@$$$$$$$$+........%$$$$$$$=........................",
"................................................................................$$$$$$$$$................=$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$............#$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....*$$$$$$$*..........-$$$$$$$$@........$$$$$$$$+........................",
"...............................................................................@$$$$$$$$%................$$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$+...........%$$$$$$$$-........................%$$$$$$$$@................&$$$$$$$$&....@$$$$$$$$#..........%$$$$$$$%........+$$$$$$$$#........................",
"...............................................................................+$$$$$$$$=...............#$$$$$$$$=......%$$$$$$$$...........@========@....&$$$$$$$$&..........=$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....+$$$$$$$$..........-$$$$$$$$=........&$$$$$$$$.........................",
"...............................................................................&$$$$$$$$-...............&$$$$$$$$&......=$$$$$$$$-..........=$$$$$$$*.....+$$$$$$$$%@........+$$$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.....=$$$$$$$$.........@$$$$$$$$$-........=$$$$$$$=.........................",
"...............................................................................*$$$$$$$$+...............=$$$$$$$$+......+$$$$$$$$$+.......@=$$$$$$$$@.....#$$$$$$$$$=.......=$$$$$$$$$$*........................-$$$$$$$$&................@$$$$$$$$%.....=$$$$$$$$-.......#%$$$$$$$$$+........$$$$$$$$-.........................",
"...............................................................................$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$*#..@-%$$$$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....=$$$$$$$$$-@...+&$$$$$$$$$$$........@$$$$$$$$=.........................",
"..............................................................................#$$$$$$$$*...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$=........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.....-$$$$$$$$$$$$$$$$$$$$$$$$$$%........+$$$$$$$$$%==-.....................",
"..............................................................................+$$$$$$$$=...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$=.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......................@$$$$$$$$%.................*$$$$$$$$+.....#$$$$$$$$$$$$$$$$$$$$$$$$$$=........+$$$$$$$$$$$$&.....................",
"..............................................................................=$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$=...........-$$$$$$$$$$$$$$$$$=$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.......*$$$$$$$$$$$$$$$$*%$$$$$$$*........+$$$$$$$$$$$$+.....................",
"..............................................................................%$$$$$$$$#...............+$$$$$$$$$=.........#%$$$$$$$$$$$$$$$$$$+.............=$$$$$$$$$$$$$$$+=$$$$$$$=........................&$$$$$$$$-................#$$$$$$$$*.......@$$$$$$$$$$$$$$$=.$$$$$$$$$+........$$$$$$$$$$$$@.....................",
"..............................................................................$$$$$$$$$................@$$$$$$$$$*..........@*$$$$$$$$$$$$$$$&@...............=$$$$$$$$$$$$%@.%$$$$$$$&........................*$$$$$$$$+................-$$$$$$$$=........+$$$$$$$$$$$$%+..%$$$$$$$$*........&$$$$$$$$$$$......................",
".............................................................................@+++++++++.................+++++++++#............#*$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........................+++++++++.................#++++++++@.........@*$$$$$$$$%&@...#++++++++#.........&$$$$$$$$$=......................",
"................................................................................................................................@+&====&+@.......................#-====-#.....................................................................................@+====&+..........................@+=====&+@......................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"...........................+++++++++++++++++++++++++@......................................................................#+++++++#........................#++++++++@................@++++++++#................................................................................................................................",
"...........................$$$$$$$$$$$$$$$$$$$$$$$$$$%&@...................................................................$$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$&................................................................................................................................",
"..........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.................................................................@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+................................................................................................................................",
"..........................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+................................................................+$$$$$$$$........................#$$$$$$$$*.................$$$$$$$$$@................................................................................................................................",
"..........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...............................................................&$$$$$$$%........................-$$$$$$$$=................@$$$$$$$$$..........................................$$$$$$$$&..............................................................................",
"..........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%...............................................................=$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.........................................+$$$$$$$$+..............................................................................",
".........................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-..............................................................$$$$$$$$-........................%$$$$$$$$@................=$$$$$$$$&.........................................+$$$$$$$$@..............................................................................",
".........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.............................................................#$$$$$$$$#........................$$$$$$$$$.................*$$$$$$$$+.........................................=$$$$$$$$...............................................................................",
".........................=$$$$$$$$+............+&$$$$$$$$$$$.............................................................+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........................................*$$$$$$$=...............................................................................",
".........................*$$$$$$$$#..............@%$$$$$$$$$.............................................................=$$$$$$$*........................&$$$$$$$$&................#$$$$$$$$%..........................................$$$$$$$$-...............................................................................",
".........................$$$$$$$$$................#$$$$$$$$$.............................................................*$$$$$$$=........................=$$$$$$$$+................-$$$$$$$$=.........................................#$$$$$$$$+...............................................................................",
"........................#$$$$$$$$=.................*$$$$$$$%...............#++==-+#.........................@++==++......$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-..............@++-===-++.................+$$$$$$$$................................................................................",
"........................-$$$$$$$$&.................=$$$$$$$=............+=$$$$$$$$$$=#....................-*$$$$$$$$&@..+$$$$$$$$@.......................@$$$$$$$$%.................%$$$$$$$$#...........+=$$$$$$$$$$$$*-..........#+++*$$$$$$$$++++@...........................................................................",
"........................=$$$$$$$$+.................*$$$$$$$-.........@&$$$$$$$$$$$$$$$=@................-%$$$$$$$$$$$%@.-$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$..........-%$$$$$$$$$$$$$$$$%+........$$$$$$$$$$$$$$$$$+...........................................................................",
"........................%$$$$$$$$@................@$$$$$$$$@........+%$$$$$$$$$$$$$$$$$%@.............@*$$$$$$$$$$$$$$%@=$$$$$$$=........................=$$$$$$$$-................+$$$$$$$$*........@*$$$$$$$$$$$$$$$$$$$$+......#$$$$$$$$$$$$$$$$$@...........................................................................",
"........................$$$$$$$$$.................&$$$$$$$=........=$$$$$$$$$$$$$$$$$$$$%@...........#%$$$$$$$$$$$$$$$$&%$$$$$$$&........................*$$$$$$$$#................&$$$$$$$$=.......@%$$$$$$$$$$$$$$$$$$$$$$@.....+$$$$$$$$$$$$$$$$$............................................................................",
".......................+$$$$$$$$=................#$$$$$$$$#.......=$$$$$$$$$$$$$$$$$$$$$$*..........+$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+.......%$$$$$$$$$$$$$$$$$$$$$$$&.....=$$$$$$$$$$$$$$$$=............................................................................",
".......................-$$$$$$$$&...............@%$$$$$$$&.......-$$$$$$$$$$$$$$$$$$$$$$$$+........@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@.......................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@......&$$$$$$$$$$$$$$$$$$$$$$$$%.....*$$$$$$$$$$$$$$$$-............................................................................",
".......................=$$$$$$$$+..............-%$$$$$$$*.......#$$$$$$$$$%&+@@+=$$$$$$$$$*........%$$$$$$$$$%-#.+&$$$$$$$$$$$$%........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......@$$$$$$$$$*++..#+*$$$$$$$$$.....++++$$$$$$$$*++++@............................................................................",
".......................$$$$$$$$$-++++++++++++=%$$$$$$$$%@.......%$$$$$$$$&.......+$$$$$$$$$#......&$$$$$$$$$&......@%$$$$$$$$$$=........................=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=......&$$$$$$$$+........%$$$$$$$$........#$$$$$$$$+.................................................................................",
"......................@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=@.......&$$$$$$$$+.........&$$$$$$$$-.....@$$$$$$$$$+........+$$$$$$$$$$-........................%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&......%$$$$$$$+.........=$$$$$$$*........+$$$$$$$$@.................................................................................",
"......................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-........@$$$$$$$$=..........@$$$$$$$$=.....*$$$$$$$$-..........*$$$$$$$$$+........................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+.....#$$$$$$$*..........*$$$$$$$=........=$$$$$$$$..................................................................................",
"......................&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&@.........&$$$$$$$%............%$$$$$$$=....#$$$$$$$$*...........&$$$$$$$$$........................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......#=======+.........@$$$$$$$$+........%$$$$$$$=..................................................................................",
"......................*$$$$$$$$$$$$$$$$$$$$$$$$$$$&@..........%$$$$$$$&............=$$$$$$$=....&$$$$$$$$@...........+$$$$$$$$*........................-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%.......................@%$$$$$$$$#........$$$$$$$$&..................................................................................",
"......................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&........+$$$$$$$$@............=$$$$$$$=....$$$$$$$$=............+$$$$$$$$=........................=$$$$$$$$&++++++++++++++++&$$$$$$$$=....................++=$$$$$$$$$$........+$$$$$$$$+..................................................................................",
".....................#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.......=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...+$$$$$$$$#............+$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.............@+-=*$$$$$$$$$$$$$$*........-$$$$$$$$@..................................................................................",
".....................+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+......$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=...=$$$$$$$%.............+$$$$$$$$#.......................@$$$$$$$$*.................%$$$$$$$$#..........#=%$$$$$$$$$$$$$$$$$$$=........=$$$$$$$%...................................................................................",
".....................=$$$$$$$$+............+*$$$$$$$$$=.....+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+...$$$$$$$$&.............+$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.........+%$$$$$$$$$$$$$$$$$$$$$$+........%$$$$$$$=...................................................................................",
".....................%$$$$$$$$@..............=$$$$$$$$=.....-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#..#$$$$$$$$+.............=$$$$$$$=........................&$$$$$$$$+................+$$$$$$$$*.......@=$$$$$$$$$$$$$$$$$$$$$$$$@........$$$$$$$$-...................................................................................",
".....................$$$$$$$$$...............@$$$$$$$$=.....=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$...+$$$$$$$$#.............*$$$$$$$&........................*$$$$$$$$#................-$$$$$$$$=......@%$$$$$$$$$$$$$$*&&$$$$$$$$........+$$$$$$$$+...................................................................................",
"....................+$$$$$$$$=................$$$$$$$$&.....*$$$$$$$$=====================&...-$$$$$$$$.............@$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+......%$$$$$$$$$%=-+@...&$$$$$$$=........-$$$$$$$$....................................................................................",
"....................-$$$$$$$$&...............#$$$$$$$$+.....$$$$$$$$%.........................=$$$$$$$$.............-$$$$$$$$@.......................#$$$$$$$$*.................%$$$$$$$$@.....=$$$$$$$$*#........*$$$$$$$&........=$$$$$$$*....................................................................................",
"....................=$$$$$$$$+...............-$$$$$$$$+.....$$$$$$$$=.........................=$$$$$$$$.............*$$$$$$$%........................+$$$$$$$$&................@$$$$$$$$$.....#$$$$$$$$=.........@$$$$$$$$+........%$$$$$$$=....................................................................................",
"....................$$$$$$$$$................=$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$............#$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....*$$$$$$$*..........-$$$$$$$$@........$$$$$$$$+....................................................................................",
"...................@$$$$$$$$%................$$$$$$$$$......$$$$$$$$=.........................=$$$$$$$$+...........%$$$$$$$$-........................%$$$$$$$$@................&$$$$$$$$&....@$$$$$$$$#..........%$$$$$$$%........+$$$$$$$$#....................................................................................",
"...................+$$$$$$$$=...............#$$$$$$$$=......%$$$$$$$$...........@========@....&$$$$$$$$&..........=$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$+....+$$$$$$$$..........-$$$$$$$$=........&$$$$$$$$.....................................................................................",
"...................&$$$$$$$$-...............&$$$$$$$$&......=$$$$$$$$-..........=$$$$$$$*.....+$$$$$$$$%@........+$$$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.....=$$$$$$$$.........@$$$$$$$$$-........=$$$$$$$=.....................................................................................",
"...................*$$$$$$$$+...............=$$$$$$$$+......+$$$$$$$$$+.......@=$$$$$$$$@.....#$$$$$$$$$=.......=$$$$$$$$$$*........................-$$$$$$$$&................@$$$$$$$$%.....=$$$$$$$$-.......#%$$$$$$$$$+........$$$$$$$$-.....................................................................................",
"...................$$$$$$$$$................$$$$$$$$$#.......$$$$$$$$$$&#...#&$$$$$$$$$-.......%$$$$$$$$$*#..@-%$$$$$$$$$$$=........................=$$$$$$$$+................+$$$$$$$$=.....=$$$$$$$$$-@...+&$$$$$$$$$$$........@$$$$$$$$=.....................................................................................",
"..................#$$$$$$$$*...............@$$$$$$$$$........&$$$$$$$$$$$$$$$$$$$$$$$$=........&$$$$$$$$$$$$$$$$$$$$$$$$$$$+........................$$$$$$$$$.................=$$$$$$$$-.....-$$$$$$$$$$$$$$$$$$$$$$$$$$%........+$$$$$$$$$%==-.................................................................................",
"..................+$$$$$$$$=...............+$$$$$$$$$.........%$$$$$$$$$$$$$$$$$$$$$$=.........@$$$$$$$$$$$$$$$$$$$$$$$$$$$#.......................@$$$$$$$$%.................*$$$$$$$$+.....#$$$$$$$$$$$$$$$$$$$$$$$$$$=........+$$$$$$$$$$$$&.................................................................................",
"..................=$$$$$$$$+...............+$$$$$$$$$@........@$$$$$$$$$$$$$$$$$$$$$=...........-$$$$$$$$$$$$$$$$$=$$$$$$$$........................+$$$$$$$$=.................$$$$$$$$$.......*$$$$$$$$$$$$$$$$*%$$$$$$$*........+$$$$$$$$$$$$+.................................................................................",
"..................%$$$$$$$$#...............+$$$$$$$$$=.........#%$$$$$$$$$$$$$$$$$$+.............=$$$$$$$$$$$$$$$+=$$$$$$$=........................&$$$$$$$$-................#$$$$$$$$*.......@$$$$$$$$$$$$$$$=.$$$$$$$$$+........$$$$$$$$$$$$@.................................................................................",
"..................$$$$$$$$$................@$$$$$$$$$*..........@*$$$$$$$$$$$$$$$&@...............=$$$$$$$$$$$$%@.%$$$$$$$&........................*$$$$$$$$+................-$$$$$$$$=........+$$$$$$$$$$$$%+..%$$$$$$$$*........&$$$$$$$$$$$..................................................................................",
".................@+++++++++.................+++++++++#............#*$$$$$$$$$$%&@..................+%$$$$$$$$%-...++++++++@........................+++++++++.................#++++++++@.........@*$$$$$$$$%&@...#++++++++#.........&$$$$$$$$$=..................................................................................",
"....................................................................@+&====&+@.......................#-====-#.....................................................................................@+====&+..........................@+=====&+@..................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/eCos.xpm
0,0 → 1,254
/* XPM */
static char * eCos_xpm[] = {
"320 240 11 1",
" c None",
". c #FFFFFF",
"+ c #C7C7C7",
"@ c #AAAAAA",
"# c #727272",
"$ c #555555",
"% c #1D1D1D",
"& c #000000",
"* c #393939",
"= c #8E8E8E",
"- c #E3E3E3",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"......................................................................................................................................+@#$$$%&&&$$$#@+..........................................................................................................................................................................",
"..................................................................................................................................+#*&&&&&&&&&&&&&&&&&&$=-......................................................................................................................................................................",
"...............................................................................................................................-#%&&&&&&&&&&&&&&&&&&&&&&&&*@....................................................................................................................................................................",
".............................................................................................................................+*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%=..................................................................................................................................................................",
"...........................................................................................................................+*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*-................................................................................................................................................................",
".........................................................................................................................-*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...............................................................................................................................................................",
"........................................................................................................................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$..............................................................................................................................................................",
"......................................................................................................................-*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$.............................................................................................................................................................",
".....................................................................................................................@%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$............................................................................................................................................................",
"....................................................................................................................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...........................................................................................................................................................",
"...................................................................................................................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-..........................................................................................................................................................",
"..................................................................................................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*..........................................................................................................................................................",
".................................................................................................................$&&&&&&&&&&&&&&&&&&&&&&&&&$$*&&&&&&&&&&&&&&&&&&&&&&&&+.........................................................................................................................................................",
"................................................................................................................@&&&&&&&&&&&&&&&&&&&&*#@........+=%&&&&&&&&&&&&&&&&&&&$.........................................................................................................................................................",
"...............................................................................................................@&&&&&&&&&&&&&&&&&&&#-..............+*&&&&&&&&&&&&&&&&&&.........................................................................................................................................................",
"..............................................................................................................+&&&&&&&&&&&&&&&&&&#-..................#&&&&&&&&&&&&&&&&&@........................................................................................................................................................",
".............................................................................................................-%&&&&&&&&&&&&&&&&%+.....................@&&&&&&&&&&&&&&&&$........................................................................................................................................................",
".............................................................................................................$&&&&&&&&&&&&&&&&*-.......................#&&&&&&&&&&&&&&&*........................................................................................................................................................",
"............................................................................................................@&&&&&&&&&&&&&&&&$..........................%&&&&&&&&&&&&&&&........................................................................................................................................................",
"..................................................................@@@$$$$@@@...............................-%&&&&&&&&&&&&&&&$...........................=&&&&&&&&&&&&&&&.............................@@@#$$$$@@@...............................................+@@=$$$$#@@+.....................................................",
".............................................................-@$%&&&&&&&&&&&&%#+...........................#&&&&&&&&&&&&&&&%.............................&&&&&&&&&&&&&&&........................-=$%&&&&&&&&&&&&&%#@......................................-=$%&&&&&&&&&&&&&&%$@.................................................",
"...........................................................=*&&&&&&&&&&&&&&&&&&&%=........................+&&&&&&&&&&&&&&&%-.............................*&&&&&&&&&&&&&&.....................-#%&&&&&&&&&&&&&&&&&&&&%#-................................-=*&&&&&&&&&&&&&&&&&&&&&&#+..............................................",
"........................................................-#&&&&&&&&&&&&&&&&&&&&&&&&%=......................*&&&&&&&&&&&&&&&@..............................$&&&&&&&&&&&&&&...................+*&&&&&&&&&&&&&&&&&&&&&&&&&&#.............................-#&&&&&&&&&&&&&&&&&&&&&&&&&&&$-............................................",
".......................................................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&$-...................+&&&&&&&&&&&&&&&#...............................#&&&&&&&&&&&&&&.................-*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%+..........................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...........................................",
".....................................................+%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-..................*&&&&&&&&&&&&&&%................................@&&&&&&&&&&&&&%................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.......................-*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@..........................................",
"....................................................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-................+&&&&&&&&&&&&&&&=................................@&&&&&&&&&&&&&$..............-*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.....................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.........................................",
"...................................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*................$&&&&&&&&&&&&&&*.............................................................@%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+........................................",
"..................................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#..............-&&&&&&&&&&&&&&&+............................................................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-.................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*........................................",
".................................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+.............=&&&&&&&&&&&&&&*............................................................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*.................%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+.......................................",
"................................................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*.............%&&&&&&&&&&&&&&@...........................................................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=...............#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$.......................................",
"...............................................+&&&&&&&&&&&&&&&&&&&%$$%&&&&&&&&&&&&&&&&&&&+...........+&&&&&&&&&&&&&&%...........................................................-&&&&&&&&&&&&&&&&&&&&%$$%&&&&&&&&&&&&&&&&&&&&%..............+&&&&&&&&&&&&&&&&&&&$$$*&&&&&&&&&&&&&&&&&&&&.......................................",
"..............................................-%&&&&&&&&&&&&&&&%#+......@*&&&&&&&&&&&&&&&&$...........#&&&&&&&&&&&&&&=..........................................................-%&&&&&&&&&&&&&&&&&$@......@$&&&&&&&&&&&&&&&&&&@.............*&&&&&&&&&&&&&&&#@........@$&&&&&&&&&&&&&&&&-......................................",
"..............................................#&&&&&&&&&&&&&&&=...........+%&&&&&&&&&&&&&&&...........%&&&&&&&&&&&&&&-..........................................................$&&&&&&&&&&&&&&&&$-..........+%&&&&&&&&&&&&&&&&$............+&&&&&&&&&&&&&&$-............-%&&&&&&&&&&&&&&@......................................",
".............................................+&&&&&&&&&&&&&&%-.............-%&&&&&&&&&&&&&&@.........+&&&&&&&&&&&&&&*..........................................................@&&&&&&&&&&&&&&&&@.............-%&&&&&&&&&&&&&&&&............*&&&&&&&&&&&&&*...............-%&&&&&&&&&&&&&@......................................",
".............................................*&&&&&&&&&&&&&%-...............=&&&&&&&&&&&&&&$.........=&&&&&&&&&&&&&&=..........................................................%&&&&&&&&&&&&&&%+...............-&&&&&&&&&&&&&&&&+..........-&&&&&&&&&&&&&&+................#&&&&&&&&&&&&&@......................................",
"............................................=&&&&&&&&&&&&&%-.................%&&&&&&&&&&&&&%.........$&&&&&&&&&&&&&&-.........................................................#&&&&&&&&&&&&&&&-.................=&&&&&&&&&&&&&&&@..........@&&&&&&&&&&&&&&.................@&&&&&&&&&&&&&@......................................",
"............................................%&&&&&&&&&&&&&+..................#&&&&&&&&&&&&&&.........&&&&&&&&&&&&&&%.........................................................-&&&&&&&&&&&&&&&@...................&&&&&&&&&&&&&&&#..........$&&&&&&&&&&&&&&.................@&&&&&&&&&&&&&.......................................",
"...........................................=&&&&&&&&&&&&&$...................@&&&&&&&&&&&&&&........+&&&&&&&&&&&&&&$.........................................................#&&&&&&&&&&&&&&#....................$&&&&&&&&&&&&&&$..........*&&&&&&&&&&&&&&=................=$$$$$$$$$$$$$.......................................",
"...........................................*&&&&&&&&&&&&&+...................+&&&&&&&&&&&&&&@.......@&&&&&&&&&&&&&&@........................................................-&&&&&&&&&&&&&&%.....................@&&&&&&&&&&&&&&$..........&&&&&&&&&&&&&&&&#-...................................................................",
"..........................................+&&&&&&&&&&&&&*.....................&&&&&&&&&&&&&&@.......$&&&&&&&&&&&&&&+........................................................=&&&&&&&&&&&&&&+.....................+&&&&&&&&&&&&&&$..........&&&&&&&&&&&&&&&&&&#+.................................................................",
"..........................................$&&&&&&&&&&&&&=.....................&&&&&&&&&&&&&&+.......*&&&&&&&&&&&&&&.........................................................%&&&&&&&&&&&&&*.......................&&&&&&&&&&&&&&$..........&&&&&&&&&&&&&&&&&&&&%$@..............................................................",
"..........................................&&&&&&&&&&&&&&-.....................&&&&&&&&&&&&&&........&&&&&&&&&&&&&&*........................................................+&&&&&&&&&&&&&&+.......................&&&&&&&&&&&&&&$..........%&&&&&&&&&&&&&&&&&&&&&&&*=-..........................................................",
".........................................@&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&........&&&&&&&&&&&&&&$........................................................#&&&&&&&&&&&&&*........................&&&&&&&&&&&&&&$..........$&&&&&&&&&&&&&&&&&&&&&&&&&&%#@.......................................................",
".........................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.......@&&&&&&&&&&&&&&$........................................................%&&&&&&&&&&&&&=........................&&&&&&&&&&&&&&@..........+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$@....................................................",
".........................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%.......@&&&&&&&&&&&&&&=.......................................................+&&&&&&&&&&&&&&-........................&&&&&&&&&&&&&&@...........*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#+.................................................",
"........................................+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$.......@&&&&&&&&&&&&&&@.......................................................=&&&&&&&&&&&&&*........................+&&&&&&&&&&&&&&+...........+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*-...............................................",
"........................................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#.......#&&&&&&&&&&&&&&@.......................................................$&&&&&&&&&&&&&#........................@&&&&&&&&&&&&&&.............@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=..............................................",
"........................................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.......$&&&&&&&&&&&&&&@.......................................................&&&&&&&&&&&&&&@........................@&&&&&&&&&&&&&%..............@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$.............................................",
"........................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-.......$&&&&&&&&&&&&&&@......................................................+&&&&&&&&&&&&&&-........................$&&&&&&&&&&&&&$...............-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$............................................",
"........................................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&........$&&&&&&&&&&&&&&@.................................+$$$$$$$$$$$$$$......@&&&&&&&&&&&&&&.........................%&&&&&&&&&&&&&@.................=%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#...........................................",
".......................................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$........$&&&&&&&&&&&&&&@.................................*&&&&&&&&&&&&&$......#&&&&&&&&&&&&&%........................-&&&&&&&&&&&&&&-...................=%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-..........................................",
".......................................@&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@........$&&&&&&&&&&&&&&$................................-&&&&&&&&&&&&&&@......$&&&&&&&&&&&&&$........................@&&&&&&&&&&&&&%......................@$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#..........................................",
".......................................=&&&&&&&&&&&&&&.............................................$&&&&&&&&&&&&&&$................................#&&&&&&&&&&&&&&-......$&&&&&&&&&&&&&$........................*&&&&&&&&&&&&&#.........................@$&&&&&&&&&&&&&&&&&&&&&&&&&&&&..........................................",
".......................................$&&&&&&&&&&&&&&.............................................$&&&&&&&&&&&&&&%...............................-&&&&&&&&&&&&&&$.......&&&&&&&&&&&&&&$.......................-&&&&&&&&&&&&&&+............................@$&&&&&&&&&&&&&&&&&&&&&&&&&-.........................................",
".......................................$&&&&&&&&&&&&&&.............................................=&&&&&&&&&&&&&&&-..............................#&&&&&&&&&&&&&&@.......&&&&&&&&&&&&&&$.......................#&&&&&&&&&&&&&%................................+#%&&&&&&&&&&&&&&&&&&&&&@.........................................",
".......................................$&&&&&&&&&&&&&&.............................................@&&&&&&&&&&&&&&&=.............................+&&&&&&&&&&&&&&%........&&&&&&&&&&&&&&$......................-&&&&&&&&&&&&&&#...................................+#%&&&&&&&&&&&&&&&&&&@.........................................",
".......................................$&&&&&&&&&&&&&&.............................................+&&&&&&&&&&&&&&&%............................-%&&&&&&&&&&&&&&=........&&&&&&&&&&&&&&%......................#&&&&&&&&&&&&&&-......................................@*&&&&&&&&&&&&&&&&@.........................................",
".......................................$&&&&&&&&&&&&&&..............................................&&&&&&&&&&&&&&&&=...........................$&&&&&&&&&&&&&&%.........&&&&&&&&&&&&&&&.....................-&&&&&&&&&&&&&&$.........................................=&&&&&&&&&&&&&&&@.........................................",
".......................................$&&&&&&&&&&&&&&+.............................................*&&&&&&&&&&&&&&&%-.........................$&&&&&&&&&&&&&&&=.........&&&&&&&&&&&&&&&@....................*&&&&&&&&&&&&&&+.......-@@@@@@@@@@@@@+....................#&&&&&&&&&&&&&&-.........................................",
".......................................@&&&&&&&&&&&&&&=...................*&&&&&&&&&&&&&-...........=&&&&&&&&&&&&&&&&$.......................-*&&&&&&&&&&&&&&&%..........%&&&&&&&&&&&&&&$...................#&&&&&&&&&&&&&&*........@&&&&&&&&&&&&&$....................@&&&&&&&&&&&&&&..........................................",
".......................................@&&&&&&&&&&&&&&%..................=&&&&&&&&&&&&&#............+&&&&&&&&&&&&&&&&&$.....................+%&&&&&&&&&&&&&&&&@..........$&&&&&&&&&&&&&&&-.................@&&&&&&&&&&&&&&&+........$&&&&&&&&&&&&&%....................@&&&&&&&&&&&&&*..........................................",
"........................................&&&&&&&&&&&&&&&=................@&&&&&&&&&&&&&%-.............*&&&&&&&&&&&&&&&&&*-.................-$&&&&&&&&&&&&&&&&&$...........#&&&&&&&&&&&&&&&*................@&&&&&&&&&&&&&&&#.........$&&&&&&&&&&&&&&+...................*&&&&&&&&&&&&&=..........................................",
"........................................*&&&&&&&&&&&&&&&+..............@&&&&&&&&&&&&&&=..............=&&&&&&&&&&&&&&&&&&&#-.............+$&&&&&&&&&&&&&&&&&&%-...........@&&&&&&&&&&&&&&&&$..............$&&&&&&&&&&&&&&&%-.........$&&&&&&&&&&&&&&%-.................#&&&&&&&&&&&&&&-..........................................",
"........................................=&&&&&&&&&&&&&&&&@...........-*&&&&&&&&&&&&&&$................%&&&&&&&&&&&&&&&&&&&&*=@-....-@=$&&&&&&&&&&&&&&&&&&&&&+.............&&&&&&&&&&&&&&&&&$-..........+%&&&&&&&&&&&&&&&&@..........=&&&&&&&&&&&&&&&%+..............-$&&&&&&&&&&&&&&*...........................................",
"........................................-&&&&&&&&&&&&&&&&&*@.......@*&&&&&&&&&&&&&&&%-................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@..............$&&&&&&&&&&&&&&&&&%=-......@*&&&&&&&&&&&&&&&&&#...........@&&&&&&&&&&&&&&&&&*=-........-@$&&&&&&&&&&&&&&&&+...........................................",
".........................................#&&&&&&&&&&&&&&&&&&&*$$$%&&&&&&&&&&&&&&&&&&@..................*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=...............+&&&&&&&&&&&&&&&&&&&&%$$$%&&&&&&&&&&&&&&&&&&&*.............&&&&&&&&&&&&&&&&&&&&&*$$$$*&&&&&&&&&&&&&&&&&&&*............................................",
".........................................-&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...................-&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$.................*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-.............#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-............................................",
"..........................................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.....................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=..................-&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-..............-&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.............................................",
"...........................................%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.......................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@....................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-................#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@..............................................",
"...........................................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@.........................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%-......................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$-..................*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@...............................................",
"............................................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%+...........................@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#.........................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#....................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@................................................",
".............................................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$-.............................+%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*+...........................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%+......................-%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*-.................................................",
"..............................................-*&&&&&&&&&&&&&&&&&&&&&&&&&&&%@................................-#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%=..............................=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#..........................$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%=...................................................",
"................................................=%&&&&&&&&&&&&&&&&&&&&&&&%=....................................-$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*@.................................-*&&&&&&&&&&&&&&&&&&&&&&&&&&#-............................+*&&&&&&&&&&&&&&&&&&&&&&&&&&&&%=-....................................................",
".................................................-#%&&&&&&&&&&&&&&&&&&&*@........................................-#%&&&&&&&&&&&&&&&&&&&&&&&*#-.....................................+$&&&&&&&&&&&&&&&&&&&&&*=.................................+*&&&&&&&&&&&&&&&&&&&&&&&&$@.......................................................",
"....................................................@$&&&&&&&&&&&&&%$@-.............................................+=$&&&&&&&&&&&&&&&&*$@-..........................................-@$&&&&&&&&&&&&&&&$=-.....................................-=$&&&&&&&&&&&&&&&&&*#@..........................................................",
".......................................................-@@$$$$$#@@......................................................-@@=$$$$$$#@@+...................................................-@@#$$$$$=@@...............................................@@=$$$$$$$=@@-..............................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/redhat2.xpm
0,0 → 1,260
/* XPM */
static char * redhat2_xpm[] = {
"320 240 17 1",
" c None",
". c #020204",
"+ c #939192",
"@ c #4A4849",
"# c #810404",
"$ c #2A272A",
"% c #726F72",
"& c #D1D0D1",
"* c #4D0304",
"= c #B2B0B1",
"- c #8E3A34",
"; c #FAF9F8",
"> c #C90204",
", c #8C797D",
"' c #3C383B",
") c #1A1919",
"! c #5B585B",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................$$@@!%%,,,,,,,,,,,%!!@'').......................................................................................................................................................................................................................................................................",
"..............................))'%,+=&&;;;;;;;;;;;&==+,%')).....................................................................................................................................................................................................................................................................",
"..........................))'!%++======&==+==+===&=======,%!'$..................................................................................................................................................................................................................................................................",
"..........................$@,&&;;;&==+,%!@@'@@'@!,+==&;;;;&=,@$.................................................................................................................................................................................................................................................................",
"......................))'!,======+%%!!@'$$)$$)$$'@@@!!%++=&&=+,!')..............................................................................................................................................................................................................................................................",
"......................)@,&&;&&+%'))...................)$'%+&;;;=%$).............................................................................................................................................................................................................................................................",
"....................$!%=====%!@$$.......................$'@!++===+%@$...........................................................................................................................................................................................................................................................",
"..................))!+&;&=,@$...............................$@,&&;&=@...........................................................................................................................................................................................................................................................",
".................)@%+&==+%'$)...............................))@!+==&+%'.........................................................................................................................................................................................................................................................",
"................)$,&&;=%'.......................................'%=;&&%)).......................................................................................................................................................................................................................................................",
"...............)!+=&=+!')........*******..)..*********..........)'!+=&+%@)......................................................................................................................................)..)..)..)......................................................................................................",
"..............)$+;&&,').........*#######*)))*#########*)).........)$%&&&,$)...................................................................................................................................))))))))))))).....................................................................................................",
".............)!+=&=%@)........**##>#>#>######>##**********.........)@%+&=,@...................................................................................................................................)'!%%%!@'')).*....................................................................................................",
"............)$+;&&%)..........#>>>>>>>>>>>>>>>>#*.....*###*.........))%&&&,))...............................................................................................................................))'@+&&&++!@'))......*..*...........................................................................................",
"............@,=&=%@).........*#>>>>>>>>>>>>>>>>##*....*##>*...........@%=&=%'.................................................................................................................................$@+&&;&==+,!$).....).).)..........................................................................................",
"..........))%&&&%)..........*#>>>>>>>>>>>>>>>>>>##*...*##>*...........))%&&&%.................................................................................................................................'!=;;;;;;;&+!)).*.*)))))).........................................................................................",
"..........'%+&=,@)..........*##>#>>>>>>>>>>>>>>>>#****##>>#*............@%=&+@$...............................................................................................................................'!=;;;;;;;&=!..*.)'!!!')*.........................................................................................",
"..........!&&;+$)...........*#####>>>>>>>>>>>>>>>#####>>>>>#*...........)$+;&+@.............................................................................................................................))$@+;;;;;;;&&%...))!===!).*........................................................................................",
"........)),&=+!)............*>##***#####*##>>>>>>#>#>#>>>>>#*............)!==&%$)............................................................................................................................)$!=;;;;;;;&&!)...)%&&&,@$).............................................................*).........................",
"........)@=;=@$.............*>>#*....)....*#>>>>>>>>>>>>>>>>#.............$%=;='$.............................................................................................................................$@=;;;;;;;&&%))...%;;;=%')).........................................................*.))))).......................",
"........@+=&,)).............*>##*....).).**##>>>>>>>>>>>>>>>#*............)'+&=,'............................................................................................................................)$!+;;;;;;;&&!....*,;;;=%'*.........................................................))$@!!'$*......................",
"........%&&&!...............#>>#*.....))*###>>>>>>>>>>>>>>>>>#*.............!=&=!...........................................................................................................................))'@=;;;;;;;&&%...)),&;;=%'*.........................................................)'!,=+%'.......................",
"......)'+;=%'...............#>>##*****###>#>>>>>>>>>>>>>>>>>>#*.............'%=&+))..........................................................................................................................)$!=;;;;;;;&&!)...),;;;=%'.........................................)................)@+=&=,@)......................",
"......'!=;+$).............))*>>>####>>>>>>>>>>>>>>>>>>>>>>>>>>#.............)'+;+@$................................................*.*..*.*..*.*..*.*............*.*..*.*..............................*..*..*$@=;;;;;;;&&%))...,&;;=%@))*.*.*..*.*....................*..*.*.))))).*........*.*.*%&;;&=!)$)).*.................",
"......@+=&%)........******))#>>>>#>#>>>>>>>>>>>>>>>>>>>>>>>>>>*..............),&=,'.............................................)*.).).).).)).).)).)...........*).).)).).)..........................)..).).)).'!+;;;;;;;&&!....),;;;=%@)).).).)).).)...................).).).)))))).)........).).)%&;;&+!)))).).................",
"......%&=+!.......))*#####*)#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#)).............%=&=!..........................................*)))))))))))))))))))))))*......*.))))))))))))).*...................*.))))))))))))'@=;;;;;;;&&%..*.)+&;;=%@)))))))))))))).*.............*.*)))))))))))))))).....)))))),&;;&+!))))))))...............",
".....),;=%'....***#*##>#>##)**#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*..............',=&,)..........................................)'@@@@@@$$))))'@!%!%@$)......).)$'@!!%%%%!!!'$$..................))$'!!%%%%!!@$)'!+;;;;;;;&&!)...),;;;=%'))))$'@@!@@@')).)...........).)))$''@@!@!@'$$)))*...*.)$$$),;;;&+!))$$$$$)...............",
"....)'+;+@$...*#>>>>>>>>>>#)).*#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*.............$@=;+')........................................*$!%%%%%%@$)))$!,====,@')).*.*)))'!,+===&=&=+,!')).*.............*)$@%+======+,@)'!=;;;;;;;&&%))...,&;;=%@)))$'!,,+,,%!'))))........*.)))))'!%,,++,,!@$)))))..*)$$@$),&;;&=!)$'''''$)).............",
"....$!=;+))...*#>>>>>>>>>>#*...***#>>#>>>>>>>>>>>>>>>>>>>>>>>>>#*.............))+;+!$.........................................!+======,!'$@,+&&&&&=!'*.).))'@%+==&&&&;&&&&==,%').*..........))'!,+=&&&;&&&&=+,%!=;;;;;;;&&!....),;;;=%@)'%,+==&&=&=+,%@'*........)))'@%%+===&=&===+,!@$)*.).'%,++,=;;;&&+,++++++@...............",
"....@,=;%.....#>>>>>>>>>>>>#*.....*###>>>>>>>>>>>>>>>>>>>>>>>>##*...............%;=%'........................................*%&;;;;;;=,@$,&;;;;;;&,@.))))'@,&&;;;;;;;;;;;;;&=%$).........))))%=&;;;;;;;;;;;;&=%=;;;;;;;&&%....),&;;=%@)!=&;;;;;;;;;&&,!$.*......)))!+=&&;;;;;;;;;;&=%'..*))%=&;;;;;;;;;;;&;;;;&%...............",
"....@+=&%.....*>>>>>>>>>>>>#*......****####>>>>>>>>>>>>>>>>>>>>#******..........%&=+@.........................................%&;;;;;;&+,,=;;;;;;;=+@*))$'%+&&;;;;;;;;;;;;;;;&=,@..........$@,=&&;;;;;;;;;;;;;&=&;;;;;;;&&!)...),;;;=%%%=&&;&;&;&;;;;&=+%$)*......$@,&&;;;&;&&;&;;;;&=,'$).)!=&;&&;;;;;;&;;&;&;&,...............",
"....%=&=!.....#>>>>>>>>>>>>>#))...........*#>>>>>>>>>>>>>>>>>>########*.........!===!.........................................%&;;;;;;&+=&&;;;;;;;=,@)))@!=;;;;;;;;;;;;;;;;;;;;&,)).......)',&;;;;;;;;;;;;;;;;;;;;;;;;;;&&%)....,&;;=!+&;;;;&&&&&&&;;;;;+@$))*....'%=;;;;&&&&=&&&&;;;;=%@).*!=&;;;;;;;;;&;&;;;;&%...............",
"....%&&+!.....*>>>>>>>>>>>>>>***...........*##>>>>>>>>>>>>>>>>>##>#>#>#**.......!==&%.........................................,&;;;;;;&=&;;;;;;;;;&,!))$%=&;;;;;;;;;;;;;;;;;;;;;=%'*......@,=;;;;;;;;;;;;;;;;;;;;;;;;;;;&&%.....,;;;&=&;&&=+,%!!%%+=&;;;=+@)......$!=&&=+,%!!!!%,,=&;;&=!)..'%%,,%=;;;&&=%,,,+,+'...............",
"....,;&,@.....*#>>>>>>>>>>>>>>>#*...........*#>>>>>>>>>>>>>>>>>##>>>>>>>*.......'+=&%.........................................%&;;;;;;;;;;;;;;;;;;=+@)$@+&;;;;;;;;;;&&;;;;;;;;;;&&!.....*.%&&;;;;;;;;;;;;;;;;;;;;;;;;;;;&&!...)),;&;;&;;&=%)).....'!=&;;;&%......*$@,&+%'.......)),&&;;;%*...)$$).,&;;&+!.)$$$$$)...............",
"...)+;=!'......*##>>>>>>>>>>>>>###****.......*#>>>>>>>>>>>>>>>>#>>>>>>>>##*.....'!=;%.........................................%&;;;;;;;;;;;;;;;;;;=,@)@+&;;;;;;;&=+,%%%+=;;;;;;;;&,')).*$@+;;;;;;;;;;;&&=&&&;;;;;;;;;;;;&&%....)%;;;;;&&+!')......)$%=&;;&+'$.....)$@!!')........)'%=;;;+'$..).)..,&;;&+!*).))).................",
"..)'+;='$.......*#>>>>>>>>>>>>>>>>####*.......#>>>>>>>>>>>>>>>>>>>>>>>>>>>*.....$'=;,.........................................%&;;;;;;;;;;;;;;;;&;=%@)%&;;;;;;;;&,@)).)',&;;;;;;;;=!')).@,&;;;;;;;;;&&=,,%,==;;;;;;;;;;;&&%))...,&;;;;&+!...........$!=;;;=%@)).....................,&;;&,'*......,&;;&+!)......................",
"..)'+;='$........*#>>>>>>>>>>>>>>>>>#>#*****..*>>>>>>>>>>>>>>>>>>>>>>>>>>>#*....$@+;+)........................................%&&;;;;;;;;;;;&=++++%'''+&;;;;;;&=,'$...))@%=;;;;;;;&,@.*)%=&;;;;;;;;&=%!@''@!,+&;;;;;;;;;;=%....),;;;;;+!$...........)',;;;&,@......................*%&;;&+!.......%;;;&+!.......................",
"..$@=;+@$.........*#>>>>>>>>>>>>>>>>>>>>>###*)*#>>>>>>>>>>>>>>>>>>>>>>>>>>>#*...)@=;+$).......................................%&;;;;;;;;;;&&+!@$''$.'%=;;;;;;;=,@..*..*..),;;;;;;;&=!..),;;;;;;;;;&=!.......'!+;;;;;;;;;&&!...)),&;;;&%...............%&&;&=!.............*.*.*.*.))%&&;&=!.......%&;;&+@.......................",
"..)@+;+')..........**>>>>>>>>>>>>>>>>>>>>#>>####>>>>>>>>>>>>>>>>>>>>>>>>>>>#*...$'=;+@).......................................%&&;;;;;;;;;=%!'$)))).@+&;;;;;;;+@$)).)).)))%&;;;;;;;&%)$'+;;;;;;;;;=%'.......)$,=;;;;;;;;&&%....),;;;&=!...............!=;;;=%)...........).).).).)))!=&;;&%.......%;;;&+!)......................",
"..$@=;+$)...........*#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##*...$'=;+@$.......................................%&;;;;;;;;;&%.........!&&;;;;;;&,)))))))))))!=&;;;;;;;,)'@=;;;;;;;;;,)).........@+&;;;;;;;&&%))...,&;;&+!)).............!+&;;&%)..........*)))))))))))!+&;&&%.......%&;;&+!)......................",
"..)@+;+')............**##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*....$@+;=').......................................%&&;;;;;;;&=@.........%&;;;;;;;&=!!!!!!!!!!!+=;;;;;;;&,)@%=;;;;;;;;&%..........)'%=;;;;;;;&&!)...),;;;=,@...............@+&;;&%)........)))))$'@@!!!!%+=&;;&%.......%;;;&+!.......................",
"..$@=;+$)...............*#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#.....)@=;=@$.......................................%&;;;;;;;;=%'........*%;;;;;;;;&==+===========;;;;;;;;+)!+&;;;;;;;&=!..........)'!=;;;;;;;&&!..*.)+&;;=%'..............*@,=;;;%........)))))$'!%,+==+==&;;;&%.......%&;;&+@.......................",
"..)@+;=')................*##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*.....$'+;+').......................................%&;;;;;;;;=@$).......),;;;;;;;;;&&&&&&&&&&&&&;;;;;;;;;,)!=&;;;;;;;&+!..........)'!=;;;;;;;;=%)...),;;;=%'...............'+=;;&%.......))$'!%,+===&&&&&&;;;&&%.......%&;;&+!.......................",
"..$@=;+@$.................*#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*.....$@=;+$).......................................!&;;;;;;;;+'$)......)$,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+)%=&;;;;;;;&,!)).........$@=;;;;;;;&&%))...%&;;=%@)).............',=;;;,......*.)'%+&&;;;;;;;;;;;;;;&%.......,&;;&+!)).....................",
"..)'+;=')..............)@%,,-##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>**......$'=;+)........................................%&&;;;;;;;+'$)......)'+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,)%=;;;;;;;;=%'...........'!+;;;;;;;&&!....),;;;=%'...............@,&;;&,......)'%,=&&;;&;&&&&&&&&;;&&%.......%;;;&+!.......................",
"..)'+;=@$.............)',;&&%)*###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##*.......)@+;,.........................................%&;;;;;;;;+')......*$@=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+)%&&;;;;;;;=!$.........))'@=;;;;;;;&&%..*))+&;;=%'...............',=;;;%.....))!=&;;;;;&&&===++=&&;;&%.......%&;;&+@.......................",
"...)+;=!$.............$!=;;&=%'*****#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#*........'%=;,.........................................%&;;;;;;;;+').......$@+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;%)%=;;;;;;;;=!'...........'@=;;;;;;;&&!)....,;;;=%@...............@,=;;&,....*$%+&;;&&=+,%%!!@@@%=&;;&!.......%&;;&+!.......................",
"....,;=%'.............@,=;;;&=!.....*#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##*.........',=;%.........................................!&;;;;;;;;+'$)).....)@+;;;;;;;;;;;&;&;;;;;;;;;;;;;;;;&,)%&&;;;;;;;=,'...........$!+;;;;;;;&&%))...,&;;=%@)).............'+=;;&,.*.*.!=&;;;&+!)).......@+&;&&%.......,&;;&+!)).....................",
"....%;=,@.............$!=;;;;&=!%%@))**####>>>>>>>>>>>>>>>>>>>>>>>##**..........@+=&%.........................................%&&;;;;;;;,').......))+;;;;;;;;&=%,,++++++++++++++++++!)!=&;;;;;;;&+@...........'!=;;;;;;;&&!....),;;;=%'...............',=;;;%..))',&;;&=+@')........!+&;;&%.......%;;;&+!.......................",
"....!&=+@.............)$+;;;;;;&&;+$).....*###>>>>>>>>>>>>>>>>####*.............!+==!.........................................%&;;;;;;;;+').........%;;;;;;;&=!.))$'@@!!@!@@@!@!!@@'$)!=&;;;;;;;&=!.........))'!=;;;;;;;&&%..*))+&;;=%'...............@,&;&;%*))'!=;;;=%'.........))@+&;;&%.......%&;;&+@.......................",
"....!==&!.))''@'@@!!')))!+&;;;;&;;=+@).....*****############*#****..............!&=+@.........................................%&;;;;;;;;+'$.........%;;;;;;;;&,..))))$$$$$$$$$$$$$))).!+&;;;;;;;&&%..........)@,=;;;;;;;&&!)....,;;;=%'...............@%=;;&,..)@+&;;&+@)..........)@+&;&&%.......%;;;&+!.......................",
"....!+&&%.)@!+,,++==%$).$@+;;;;;;;;;+').............))))))......................%&=%'.........................................!&;;;;;;;;+$$)).......%&;;;;;;;;,.*.......*.*.*.........',=;;;;;;;;&%*.*..*.*.)$!+&;;;;;;;&&%))...,&;;=%@)).............',&;;;%*.*!=&;;&%.............@+&;;&%.......%&;;&+!)).....................",
"....'%=;,$@%+&=&&&&&&+@))$!+&;;;;;;;=+%'')$)$)''@'')'@@@@'''$).................),;+!$.........................................%&&;;;;;;;+').........!&&;;;;;;;=!'..)..).).).).).......$@=;;;;;;;;;=@$.*.).).$',&&;;;;;;;&&!...).,;;;=%'...............@,=;;&,..)%&&;&&%*..........))!=&;;&!.......%;;;&+!.......................",
"....$'=;=@%+&;;;;;;;;;+$).$@=;;;;;;;;;=,!@@@@@!,+,!@!%%+!'!%@$)...............)'+;+$).........................................%&;;;;;;;;+').........@=&;;;;;;;&&!*)))))))))))))))......),;;;;;;;;;&=!.))))))$!+;;;;;;;;;;=%...))+&;;=%'...............',=;;;%*.)%&;;&=!........*))))%=&;&&%.......%&;;&+!.......................",
"....))+;===&;;;;;;;;;;&+%!%,&;;;;;;;;;&&=+=+=+=&=&=====&====%)................$%=&+)..........................................%&&;;;;;;;+'$.........$!=;;;;;;;;&=%!!@''''''@@!!,!@$....)%&;;;;;;;;;&+%!@@@!!,=&;;;;;;;;;&&!.....,;;;=%@...............@,=;;&%..)!&&;;=%).........))$,&;;;&%.......,&;;&+!*......................",
"......%&;;;;;;;;;;;;;;;;&&=&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,.................@+=&!...........................................%&;;;;;;;;+$$)).......)),;;;;;;;;;;&=+,%!!!!!%,+=&=+!.....!&&;;;;;;;;;&&=,,%+=&&;;;;;;;;;;&&%.....,&;;=%@)).............'+=;;;%*..!&;;&&%).*.*.*.*)))'+;;;;&%.......%&;;&+!)).*...................",
"......!=&;;;;;;;;;;;;;;;;&;&;;;;;;;;;;;;;;;;;;&&&&&&&;;;;;;&%................)%&=+!...........................................%&;;;;;;;;+')..........)!=&;;;;;;;;;&&===+=====&&;&=!.....'%=;;;;;;;;;;&&&==&&&;;;;;;;;;;;;&!.....,;;;=%'...............',=;;&%...!=&;;&+')).).).).)!,=;;;&&%.......%&&;&=%)).)...................",
"......@,&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=,======;;;;;=!...............)'+;=!'...........................................%&;;;;;;;;+')...........@,&;;;;;;;;;;;;;;;;;;;;;;;;&%.....$'+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&&%.....,&;;=%'...............'+=;;;%..*!+&;;;+@'))))))))),&;;;;;&%.......!=;;&&%)))))).................",
"......$@=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=!!!!@+&&;;;&=!...............'!=;+')...........................................,&;;;;;;;;+$)...........)@,&&;;;;;;;;;;;;;;;;;;;;;;&,.....))!=&;;;;;;;;;;;;;;;;;;;;&;;;;;;;&%.....,;;;=%'...............@,=;;&,...$!=;;;&+,@@''@@%%+=;&;;;;&%.......@+&;;&=!@@@@@'$...............",
".......),;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&,')...!&&;;;&+@...............@==&%.............................................%&;;;;;;;;+').............!+&;;;;;;;;;;;;;;;;;;;;;;;,.......'%=;;;;;;;;;;;;;;;;;;&&&;;;;;;;&%*....%;;;=,'...............'+=;;;%*....%&;;;;=+,!!%++&;;;&&&;;;%.......'%=;;;&=+%,,,,'...............",
".......)!=&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&+,%%%=&;;;;=%'...)'''@'@'@''',&=+@.............................................%&;;;;;;;;+').............$@,=&;;;;;;;;;;;;;;;;;;;;&,)......)'%=&;;;;;;;;;;;;;;;=+==&;;;;;&&%.....%;;;=%'...............',=;;&%.....!+&;;;&&====&&&;&&+!=;;&%.......)'+&;;&&&==&==!...............",
"........'%=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&&&;;;;;;+$)...$%%,,+,,,+%%=;=@$.............................................%&;;;;;;;;+$)...............'%+&;;;;;;;;;;;;;;;;;;;&%$).......'%=&;;;;;;;;;;;;;&,$%=&;;;;;;&%.....%&;;=%'...............',=;;;%.....$!+&;;;;;;;;;;;;&=!.%;;;%.........!&&;;;;;;;;&%...............",
"........)'+&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=%)..)$!==&=&=&=&=&&&,)).............................................!+=&&&&===%$)...............)'@%+=&&&;&;&;&;&&&&=+,%')........)'@%+&&&;;;&;&&=+%')@,=&&&&&=+!.....!===+@$...............$!+&==@.....)$!+=&&;&;;&;&==%@$.!===!.........'%+&&;&;;&&&!...............",
"..........!&&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=!'...)@+;;;;;;;;;;;;=!...............................................'%,+++++++@)....................'!+===&&&&&=&=++%!$...............@++&=&&&&=+,'...$@%++++++%'.....@,++!$)...............)'!+,,'.......)'!==&&&&&==%@$...@+,,@..........)!+=&&&&&=+@...............",
"..........'%=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&+'$)'%,=&;;;;;;;;;;;=%'...............................................)'@@@@@!@'$)....................)''!!%!%!%!%!!!@'$)...............$'!!%%%!%!!')...)$'@@'@@@').....)''@')................))'@@')........)'@!%%%%%!!@$)...)@@'$..........)$@!%%%%%!@$...............",
"..........)'+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=!.)$,&&;;;;;;;;;;;;;,)..................................................................................................................................................................................................................................................",
"...........)!+&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=%@.@+=;;;;;;;;;;;;;=+@)..................................................................................................................................................................................................................................................",
"............)$+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+'$),;;;;;;;;;;;;;;;+$)...................................................................................................................................................................................................................................................",
".............)%=&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&+!%+=;;;;;;;;;;;;;&+@)....................................................................................................................................................................................................................................................",
"..............'%=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&==+&;;;;;;;;;;;;;;;+$).....................................................................................................................................................................................................................................................",
"..............)'%+&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&&&&;;;;;;;;;;;;;=+@)......................................................................................................................................................................................................................................................",
"................)$+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+$).......................................................................................................................................................................................................................................................",
".................)@+=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=,@)).......................................................................................................................................................................................................................................................",
"..................)'%&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=%)..........................................................................................................................................................................................................................................................",
"...................)'!+=&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=+%')..........................................................................................................................................................................................................................................................",
"......................'%=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=%$.............................................................................................................................................................................................................................................................",
"......................)'!,=&&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&==,!').............................................................................................................................................................................................................................................................",
"........................))@,=&;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&=%@)................................................................................................................................................................................................................................................................",
"..........................$@!%+==&&;;;;;;;;;;;;;;;;;;;&&=+,%@'))................................................................................................................................................................................................................................................................",
"..............................)@%+=&;;;;;;;;;;;;;;;;&&=+%').....................................................................................................................................................................................................................................................................",
"..............................)$'@!!%,++===+====+++,,%!!$)......................................................................................................................................................................................................................................................................",
"......................................)$''@@'''@'').............................................................................................................................................................................................................................................................................",
".......................................))$)$$$$$))..............................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................",
"................................................................................................................................................................................................................................................................................................................................"};
/v2_0/misc/eCos2.xpm
0,0 → 1,260
/* XPM */
static char * eCos2_xpm[] = {
"320 240 17 1",
" c None",
". c #020204",
"+ c #909091",
"@ c #D2D2D2",
"# c #535352",
"$ c #EC9199",
"% c #E84F4D",
"& c #F4B2B4",
"* c #ED6B65",
"= c #FEFEFC",
"- c #EA1A05",
"; c #323232",
"> c #B1B1B1",
", c #747474",
"' c #F4D1DA",
") c #E7362D",
"! c #171717",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".======================@@@@@@>@>@>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>@@================''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&'&'&''''==================.",
".===================='=@>>>+++,,,+,########################################################################################################+@================'$************************************************************************************************************************************$*$*$$$&&&''================.",
".=====================@>>,,###;#;;;!.......................................................................................................#>================&*----------------------------------------------------------------------------------------------------------------------------------))))))%%%*$$''================.",
".================@@>>++,,##;;;;;;;!........................................................................................................#>================&*------------------------------------------------------------------------------------------------------------------------------------)))))))%**$$&&'''===========.",
".=============='@>+,,##;;;;!!!!.!!!........................................................................................................#>================&*------------------------------------------------------------------------------------------------------------------------------------)---)-)))%%***$$&'==========.",
".===============>+,;!......................................................................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------)%*$'==========.",
".==========@@@>>,,;;!......................................................................................................................#>================&*-------------------------------------------------------------------------------------------------------------------------------------------------))%*$$&''======.",
".==========@>+,##;!!.......................................................................................................................#>================&%--------------------------------------------------------------------------------------------------------------------------------------------------))%%*$$&''====.",
".=========@>>,#!!..........................................................................................................................#>================&*-------------------------------------------------------------------------------------------------------------------------------------------------------)*$&'====.",
".=======@@>+##;.!..........................................................................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------------)%*$&''==.",
".======@>+,#;;!............................................................................................................................#>================&*--------------------------------------------------------------------------------------------------------------------------------------------------------))%$$&'=.",
".======@+,;!...............................................................................................................................#>================&%----------------------------------------------------------------------------------------------------------------------------------------------------------)%*&'=.",
".====@@+,;;!...............................................................................................................................#>================&*-----------------------------------------------------------------------------------------------------------------------------------------------------------)%*&'.",
".===@>+,#!!!...............................................................................................................................#>================&%-----------------------------------------------------------------------------------------------------------------------------------------------------------))%*$.",
".===@+#;;..................................................................................................................................#>================&*-------------------------------------------------------------------------------------------------------------------------------------------------------------)%*.",
".='@>+;;!..........................................!.!!!!!!!!..............................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------------------))%.",
".=@>+#!!..........................................!!!!;!;!!!!!.............................................................................#>================&*----------------------------------------------))))))----------------------------------------------------------------------------------------------------------)).",
".@>+,;............................................!;;;;;;#;;;!!............................................................................#>================&%---------------------------------------------))))))))-----------------------------------------------------------------------------------------------------------.",
".@>,#!...................................!!;;;;####,,,++,+,,,,####;;;;!!.........................................................!!!;!;!;!;,>================&*------------------------------------)))%%%*****$*$$*$*%*%%%)))-----------------------------------------------))))%%%%*%*%%%%))))))------------------------------.",
".>,;;!..................................!;;##,,+>>>>>>@>>@>@>>>>+++,##;!!!......................................................!!;;#######,@================&%----------------------------------))%**$$&&&&&&'&&&&&&&&&&$$*%%)-------------------------------------------)%%%$*$$$&&&&&&$$$$**%%))----------------------------.",
".+#!!...................................!;,,++>@@================@@>+,#;!!.....................................................!!;##,,,,,,,+@================&*----------------------------------)%*$$&''================'&$*%%)-----------------------------------------))%*$$&&''=====''&&$&$**%)----------------------------.",
".,#!................................!;;;,,++>>@@==================@@>>+,##;;!!...........................................!!;;;##,,,+>++++>+@@================&%------------------------------))%%*$$&'''=================''&&$**%%))----------------------------------))%%$$$&'''''======'@'@&&&$$$**%%))----------------------.",
".#;!..............................!!;;,++>@@@'===================='@@@@>>+,#;!.........................................!.!;#,,>>>>@>@@@@@@@@=================&*----------------------------)%%*$&&&'''===================='''''&$$*%)---------------------------------%*$$&'''''=========='''=''''&&&$$*%-)--------------------.",
".#!...............................!;;,+@@================================@>+#;.........................................!!;#,+@@==============================&%----------------------------)%$&'===============================''&$*))-------------------------------)%$&''========================='@&$*))--------------------.",
".;!.............................!;;,,>>=@=============================='=@@>+#;;!...................................!!;##,+>>@===============================&*--------------------------)%*$$&'================================''&$$*))---------------------------)%*$&@'===========================''$*%)--------------------.",
".!.............................!;#,+>@@==================================='@>+,#;!!.................................;;#+>>>@'@===============================&%-------------------------)%$$'''===================================''&$*))-------------------------)%$&''===============================&$%)--------------------.",
"...............................;;,>@=========================================>>,#!.................................!;#+>=====================================&*-------------------------%$&''========================================'$%))------------------------)*&==================================&$%%)-------------------.",
"............................!!;#,+@@=========================================@>>,#;;.............................!;;,,>@=====================================&%----------------------))%*&''========================================='&$*%)---------------------)%*$&==================================&*))--------------------.",
"............................!;#+>@@===========================================@@>+,;!...........................!;;,+@@@=====================================&*----------------------)*$&''===========================================''$$%%)-------------------)*$&@================================'@&*)---------------------.",
"............................;#+>@===============================================@@+#!!..........................!##+@========================================&%----------------------)$&'==============================================='&*%)-------------------%$&''================================''$%----------------------.",
"..........................!!#+>@@===============================================@@>,#;!.......................!!;,+>@========================================&*--------------------)%*&'@===============================================''&*%-------------------*$@'================================''$*%----------------------.",
".........................!;;,>@'==================================================@>,#;......................!;;,+@@=========================================&%-------------------)*$&&='================================================''&*))---------------))*&'================================='$*%)----------------------.",
".........................!##+@====================================================@@>,;......................!;#+@===========================================&*-------------------%$&''===================================================='$%)---------------)%$'=================================='$))-----------------------.",
".........................;,+>@=================@@>@>>>>>>>>>>>>@@'@==============='@@+#!!....................;#,>@====================='='''''''''''''=======&%------------------)*$@'===================='''''''''''''===================='$$*)-------------)%%$'=============='=''&&&$&&&&&''''='=$*))-----------------------.",
".......................!!#,@@================@@@+++,,#########,+>>@@===============@@>,;;!.................!!#,>@======================''&&$&$$$&&&&''''=====&*----------------))%$&===================='''&$$$$$&$&&&''===================='&$%-------------)%*$'==============''&$*********$$'''''$*-------------------------.",
"........................!#>@==================@+,#;;!........!;#,+@@'================@>##!..................!,>'======================''&$$*******$$$'''=====&%----------------)%*$&===================''&$$********$$&'======================&%-------------)**&'==============@&$%-------))%*$&@&&$%-------------------------.",
"......................!;#,>=============='=@>++,#;;!!!.......!!;#,,+>@@==============@>+#;................!;;,>====================''&&$$*%%%%%%%%***$$&&''==&*----------------)*$''================'''&$$**%%%%%%%%***$&&''==================&*)------------)*$&'============='&$*%--------))%*$$$$%)-------------------------.",
"......................!#,>>==============@@>+##;!;!!..........!!!;##,+>@=============@@>,;................;#,+@==================='&$**%%%))))))))))%%%*$$''=&%----------------%$''================='&***%%)))))))))))%%**$&''================'$%%-----------%*&''============='&*%)---------))))%%%))-------------------------.",
"......................;#+@@==============@@+#!!!...................;##+@===============@+#................;,+@@==================='$*%)----------------)%*$'=&*----------------*&===================&*%)-----------------%*$&'================'&**)----------%$&@==============&$%))---------------)---------------------------.",
"......................#+>@@=============@>+,;!.....................!;#,>@@============'=>#!!..............;+>@@================''&$*%%-----------------))%*&&$%----------------*&================'@&$*-)-----------------)%*$&''=============='&&*)----------%$&''============='$*%)-------------------------------------------.",
"......................;+'=============@=>+#;;.......................!!#,>@'=============>,;!!...........!!#+@=================='$**%))------------------))%*$*)--------------)%*&================'$*%)--------------------))%$$&'==============''$%----------%$&@=============='&**)-------------------------------------------.",
"......................#>===============@+#!!..........................;#+>@=============>+#;!...........!!,>===================&*)------------------------)%%%--------------)%%$'================&*)))----------------------)%*&'================&%----------%$&''============='@$*)-------------------------------------------.",
"....................!!,>=============@@>+#;!!!!!!!!!!!!!!!!!!!!!!!!!!!;#,>@=============@+,#!..........!!;,>=================''$*)-------------------------)))--------------)%*$'=============''&$%--------------------------)%$&'===============&*----------)$&'===============''$*%%))---------------------------------------.",
"...................!!;,>=============@>+,#;;;!;!;!;!;!;!;!;!;!;!;!;!;;;#,+@=============@>,#;...........;;+>================''$*%---------------------------)---------------)*$&'============='&$*%-------------------------)-)*&''==============&*)---------%$@''============='=''&$**%%)-------------------------------------.",
"...................!;#+>=============@>,##;;#;;;#;;;#;;;#;;;#;;;#;;#;;###,@=============@@+,;..........!;#+@================'$*%)-------------------------------------------)*$@'============='$%%)----------------------------%$&''============='*%)--------%*&'==================''&$*%))------------------------------------.",
"...................;;,+@=============@>>+++,,++,,++,,++,,++,,++,,+,,+,,,+>@============='@>,;..........!##+@================'$%))-------------------------------------------%$&'==============&*))-----------------------------)*$''============='$%%--------%*&''=================='@&$$$**%%%))------------------------------.",
"...................;#,>@==============@@@>@>@>>@>>@>@>>@>>>@>>>@>@>@>@>@@@===============@@+#..........;#,>@================&*))--------------------------------------------%&'='===========''&*)------------------------------)%*$'============='$*%)-------)*$&'=================='''''&&&$$**%))----------------------------.",
"...................;#+>@===================================================================+#..........;#+>@================&*----------------------------------------------*&=============='@$%-------------------------------))%$'============='&*%)-------)**&'========================='@&$$*%-----------------------------.",
"...................;,+>@===================================================================+#..........;,+>@==============='&%----------------------------------------------*&=============''&$%--------------------------------))*&============='&**)-------)%%$'=========================='@'&$$**))-------------------------.",
"...................;,>@@===================================================================>#..........;,>@'==============''$%----------------------------------------------*&============='&$*)---------------------------------)*&============='&*%)--------)%$&============================''''&&$%)------------------------.",
"...................;+>@====================================================================>#..........;+>@=============='''$%----------------------------------------------%&============='&$%)----------------------------------*&============='&**)----------*&==================================&*%)-----------------------.",
"...................;+>@@===================================================================>#..........;,@@@==============@&*%----------------------------------------------*&============='&*%)----------------------------------*&=============@&$*)----------%$''================================@&**)----------------------.",
"...................;+>@====================================================================>#..........#,>@==============''@$%---------------------------------------------)*&============='$**)----------------------------------*&=============''$*%----------%*$&'==============================='''$*)---------------------.",
"...................;,@@@===================================================================>#..........#,@@'=============''&$)---------------------------------------------)*&============='$*%)----------------------------------*&==============@&$)----------))%$'==================================&$))--------------------.",
"...................#,>@================@=@='=@=@=@=@='=@='=@=@=@='=@='=@='=@='=@='=@=@=@=@'+#..........;,@@==============='&$%--------------------------------------------)-*'============='$*%)----------------------------------*&=============''&$%-----------)%*$&'''=============================='$$%)-------------------.",
"...................;+>@@==============@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#..........#,>@@============='@&$)----------------------------------------------*&============='$*%-----------------------------------*&==============&&*)-------------%%*$$&''============================''&$%-------------------.",
"...................;+>@==============@@@>>@>>@>@>>@>>@>@>>@>>@>@>@>@>@>@>@>@>@>@>@>>@>>@>@>,;..........;+>@==============='&$%----------------------------------------------*&============='$*%)----------------------------------%&============='&&*%--------------))%*$&'===============================$*-------------------.",
"...................;,>@@=============@>+++,+,,,,+,+,+,,,+,+,+,,,,,+,,,+,,,+,,,+,,,+,,+,+,,+#;..........#,>@@============='@&$)----------------------------------------------*&============='&$*)----------------------------------*&=============@&$*)----------------)%*$$&&&'''''=======================&*-------------------.",
"...................;,+>@=============@+###;;#;#;#;;#;#;#;;;#;#;##;;#;#;#;#;#;#;#;#;#;;#;#;;;!..........;,>@===============''$%----------------------------------------------*&============='@$*%---------------------------------)*&============='&$%)---------------)-))%%**$$&&'''======================&*)------------------.",
"...................;#+>@=============>,;!!.............................................................;,>@@==============@'$%----------------------------------------------*&============='@&$)---------------------------------)*&============='&**)----------------------))%*$$''======================&$))-----------------.",
"...................;#+>@=============@+#;!................................................!............;,+>@==============''&%----------------------------------------------%&'=============''$%-------------------------------))%$'============='$*%)-----------------------))%**$$&&'''================='$%))----------------.",
"...................;#,>@=============@>,#;...............................................!!!...........;#+>@================&*)---------------------------------------------%$''==============&*-------------------------------)%*$'============='$*%-------------------------))))%%**$&''================&$%%-----------------.",
"...................!#,>@=============@>+,;...............................................!!!!..........;#,>@================&$))--------------------------------------------%$&''=============&*-------------------------------)*$&'============='$%%)-------------------------------)%*&'================'$*%)----------------.",
"...................!;#+@==============@>,#!...........................!.!!!!!!!!!!!!!!!!!;;!!..........!;#+@================'$*%)-------------------------------------------%*&''============='$%%----------------------------)%$&''=============&$))--------------------------------)%%$&''=============='&*%)----------------.",
"...................!;;,>==============@=+,;!!.......................!.!!;!;!;!;!;!;!;!;;;;;!!..........!;;,>================''$*%-------------------------------------------)*$&'============='&$*)---------------------------)*$'===============&*)----------------------------------))*$&''============='$*%)----------------.",
"....................!;,>================>,;;!.......................!!;;;#;;;#;;;#;;#;;;;;;;!...........!;,>=================@'$%---------------------------)---------------)%$&'============='@&$)--------------------------))$'================&*-------------------------------------)*$&'============='&$%)----------------.",
"....................!!#>@===============@>,#;!.....................;;##,,+,+,,++,,+,,+++,#;!!...........!!#>=================''&*%)-----------------------)%*%)-------------)%%$'==============''$*%)-----------------------%**$'==============''&%--------------))))%))----------------)*$&'============='&*%)----------------.",
".....................!#+@@=============='@>+#;!!..................!;,+>>>>@>@>>@>@>@>>>>+#;!!.............#+@@================='$$*)---------------------)%*$*)--------------))$&================'$*%)--------------------))%$&'==============='&$%--------------%%**$*)----------------)*$&'============='&$%)----------------.",
"......................;+>@@================>,;;!.................!!#+@@=================>,;!..............;,>@@=================@&*%---------------------)*$'$%---------------)*&================'&&*)--------------------))$&================''$*)-------------)%$$&&$%)---------------%*$&'============='$**)----------------.",
"......................;#+@@=============='=@>+##;;!!!!!.....!!;;;##+>'@================@+#!!..............;,+@@================='@&$%%)))-----------)))%**$''$%----------------%&''===============''$$%%))------------)))%*$$@================'&**)-------------%*&&&@&$*%%)))--------))%$&''============='$*%-----------------.",
"......................;##+@================@@>>+,##;;!!!..!!;;##,+>>@================@@>,#................!##+@=================='''&$*%%))-------))%%*$$&''=&*----------------%$&''=============='''&&$*%%))------)))%%*$$&'================='$%)--------------*$'''=''&$*%%))-------)%$&'==============='$%%-----------------.",
"......................!;;+>===================@@>+,##;;!!.!;;#,+>@===================@>+#;................!;;+>======================'$$*%))------)%**$&'====&%----------------)*$&'===================@$*%%))-----))%**$&'===================&*)-------------)-*&=======@$$*%))-----)%*$'================'*))-----------------.",
"......................!!;#>@===================@@>++,,,,###,,++>@@===================>+,;;................!!;#>@@====================''$$$$***%****$$&&@=====&*----------------)%*&'==================='&&$$$*******$*$&&@'=================''$%--------------)%$'=======''$$$$*******$$''================&*))-----------------.",
".......................!!#+>@@================'=@@@@@@>>>>>>@@@@@@================='=>,;;!.................!!;,+@@===================='''&'&&&&&&'&&''''=====&%-----------------))$&===================='''&'&&&&&&&&'''''=================''&*%-------------)%*$'========'''''&&&&&&&'''=================&*-------------------.",
".........................;#+@@=====================================================@@>#!!....................;#,>@===========================================&*-----------------)-*&======================================================='&**)-------------)*$&'========================================&*-------------------.",
".........................!#,+>====================================================@>>,;!.....................!;#,>@'=========================================&%-------------------%*&''==================================================='&$*))-------------%$&''=====================================''@$%-------------------.",
".........................!!;,>@@==================================================@+,#;.......................!!#+@@@========================================&*-------------------)%*&'==================================================''&*))--------------%$'=======================================''$*%-------------------.",
"............................;+@@================================================@=>,;!!.........................;,+@@========================================&%--------------------))*&==================================================@&*%---------------)*&========================================'&$%)-------------------.",
"............................;#+>@@=============================================@@>,#!!..........................!##+>@=======================================&*---------------------)%$''==============================================''&$*)--------------))$&======================================''&$%))-------------------.",
"............................;;#+>@@============================================@>,#;.!..........................!;;#+>@@=====================================&%----------------------)**&'============================================''$*%)--------------))%$'======================================'&$*))--------------------.",
".............................!!#+@@===========================================@>,;;!...............................;#+>@=====================================&*----------------------))%$&===========================================''@$%----------------)%*$'====================================='&$%)----------------------.",
".!............................!;,+>>@@=====================================@@>>+#;!................................!;#,>>@@'=================================&%-----------------------))**&'''=====================================''&$**)----------------))%*$&'''===============================''&$*%)----------------------.",
".!!............................!;;,+>@@===================================@@>+,#;!!................................!;;##++>@@================================&*------------------------))**$&''===================================''&$*%))-----------------))%*$$&''=============================''&**))-----------------------.",
".;!...............................;#+>@===================================@>+#!!......................................!;;,+@@'===============================&%---------------------------)%$@''=================================='&**)-----------------------)%*$@''============================'$$%)-------------------------.",
".#;...............................!;,,+>@@@===========================@@>>++#;!!......................................!!;##,+>>@@@@@=@=@='===================&*---------------------------)%**&&'''==========================''''&$**))------------------------)%*$$&&'''''='============='''''&&$**))-------------------------.",
".,;...............................!!;##,++>@@=======================@@@>+,#;;!!.........................................!!;###,,+>>>@@@@@@@@=================&%----------------------------))%**$&&''=======================''&$$**%))--------------------------))%%***$&&''''''========='''&$$**%%))--------------------------.",
".+#...................................!!#,+@@=======================@@+,#;!.................................................!!;##,++>>>>>>@@@================&*-------------------------------))%*$&@'======================'&$*%------------------------------------))**$&&@'''=======''@'$$*%)-------------------------------.",
".>#;!.................................!!;#,,+>>>>@@@@@@@@@@@@@@@@>>>++,#;;!..................................................!!;;###,,,++,,>@================&%--------------------------------)%**$$&&'&'''''''''''''''&&&&$$*%)-------------------------------------)%%***$$$$&&&&&&&&&$$**%))-------------------------------.",
".>+#;!.................................!!!;;##,,++>>>>>>>>>>>>+++,,###;!!!...................................................!.!!;;;;;#;;#;+>================&*---------------------------------)))%%***$$$$&&&&&&&&&$$$$***%))))--------------------------------------))%%%%%%*%******%%%%%)))--------------------------------.",
".@+,#;........................................!;##,++++++++++,,##;;!.......................................................................#>================&%----------------------------------------)%%***********$**%))----------------------------------------------------------------------------------------------------.",
".@@+,;!!......................................!;;##############;;!!!.......................................................................#>================&*----------------------------------------)))%%**%**%**%%%)))----------------------------------------------------------------------------------------------------).",
".=@@+,;!!......................................!!!;;;;;;;;;;;;!;!!!........................................................................#>================&%------------------------------------------))))))))))))))))----------------------------------------------------------------------------------------------------)).",
".===@+#;!..................................................................................................................................#>================&*-------------------------------------------------------------------------------------------------------------------------------------------------------------)%%.",
".===@>,,;!.................................................................................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------------------%*$.",
".==='@>+#;!!...............................................................................................................................#>================&*-----------------------------------------------------------------------------------------------------------------------------------------------------------)%*$'.",
".======>,;;!...............................................................................................................................#>================&%----------------------------------------------------------------------------------------------------------------------------------------------------------)%%$'=.",
".======@>,#;;!.............................................................................................................................#>================&*---------------------------------------------------------------------------------------------------------------------------------------------------------)%*$&'=.",
".======@@@+,#;!............................................................................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------------))%*$''==.",
".=========@>,#!............................................................................................................................#>================&*-------------------------------------------------------------------------------------------------------------------------------------------------------)%*&'====.",
".=========@>++##;!!........................................................................................................................#>================&%----------------------------------------------------------------------------------------------------------------------------------------------------))%*$$&'====.",
".==========@@>>+,#;!!......................................................................................................................#>================&*--------------------------------------------------------------------------------------------------------------------------------------------------))%$$$&''=====.",
".=============@@+,;;!......................................................................................................................#>================&%-------------------------------------------------------------------------------------------------------------------------------------------------))%*&''========.",
".=============@@>>,,##;;;!!!!.!............................................................................................................#>================&*--------------------------------------------------------------------------------------------------------------------------------------------)))%%**$$''=========.",
".===============@@>>+++,##;!;!!!...........................................................................................................#>================&%-----------------------------------------------------------------------------------------------------------------------------------------)))%%**$$&''''=========.",
".====================@@++,#;;;!!!..........................................................................................................#>================&*---------------------------------------------------------------------------------------------------------------------------------------))))%*$$&@'==============.",
".===================@=@@>>++,,,,###########################################################################################################+@================'$*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%******$$$&&'='==============.",
".=====================@@@@@>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>@================''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================.",
".==============================================================================================================================================================================================================================================================================================================================."};
/v2_0/misc/redboot_ROM.ecm
0,0 → 1,75
cdl_savefile_version 1;
cdl_savefile_command cdl_savefile_version {};
cdl_savefile_command cdl_savefile_command {};
cdl_savefile_command cdl_configuration { description hardware template package };
cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
 
cdl_configuration eCos {
description "" ;
hardware cerfpda ;
template redboot ;
package -hardware CYGPKG_HAL_ARM v2_0 ;
package -hardware CYGPKG_HAL_ARM_SA11X0 v2_0 ;
package -hardware CYGPKG_HAL_ARM_SA11X0_CERFPDA v2_0 ;
package -hardware CYGPKG_IO_SERIAL_ARM_SA11X0 v2_0 ;
package -hardware CYGPKG_DEVS_ETH_ARM_CERFPDA v2_0 ;
package -hardware CYGPKG_DEVS_FLASH_CERFPDA v2_0 ;
 
package -template CYGPKG_HAL v2_0 ;
package -template CYGPKG_INFRA v2_0 ;
package -template CYGPKG_REDBOOT v2_0 ;
package CYGPKG_IO_FLASH v2_0 ;
package CYGPKG_IO_ETH_DRIVERS v2_0 ;
};
 
cdl_option CYGBLD_BUILD_GDB_STUBS {
user_value 0
};
 
cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
user_value 0
};
 
cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
inferred_value 0
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
inferred_value 1
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
inferred_value 1
};
 
cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
inferred_value 0
};
 
cdl_option CYGSEM_HAL_ROM_MONITOR {
user_value 1
};
 
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
inferred_value 0 0
};
 
cdl_component CYG_HAL_STARTUP {
user_value ROM
};
 
cdl_component CYGBLD_BUILD_REDBOOT {
user_value 1
};
 
cdl_component CYGPKG_REDBOOT_NETWORKING {
user_value 1
};
 
cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
user_value 1
};
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.