]> git.karo-electronics.de Git - oswald.git/commitdiff
Here we are! MetaWatch support in Oswald!
authorNils Faerber <nils.faerber@kernelconcepts.de>
Sat, 27 Apr 2013 20:22:32 +0000 (22:22 +0200)
committerNils Faerber <nils.faerber@kernelconcepts.de>
Sat, 27 Apr 2013 20:22:32 +0000 (22:22 +0200)
31 files changed:
metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt [new file with mode: 0644]
metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts [new file with mode: 0644]
metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt [new file with mode: 0644]
metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts [new file with mode: 0644]
metawatch/Makefile [new file with mode: 0644]
metawatch/bluetooth_init_cc2560_2.44.bts [new symlink]
metawatch/bluetooth_init_cc2560_2.44.c [new file with mode: 0644]
metawatch/bluetooth_init_cc2564_2.8.bts [new symlink]
metawatch/bluetooth_init_cc2564_2.8.c [new file with mode: 0644]
metawatch/bluetooth_init_cc256x.h [new file with mode: 0644]
metawatch/bt_hci.c [new file with mode: 0644]
metawatch/bt_hci.h [new file with mode: 0644]
metawatch/bt_l2cap.c [new file with mode: 0644]
metawatch/bt_l2cap.h [new file with mode: 0644]
metawatch/calendar.d [new file with mode: 0644]
metawatch/hal_devboard_v2_defs.h [new file with mode: 0644]
metawatch/hal_digital_v2_defs.h [new file with mode: 0644]
metawatch/hal_io_macros.h [new file with mode: 0644]
metawatch/mw_adc.c [new file with mode: 0644]
metawatch/mw_adc.h [new file with mode: 0644]
metawatch/mw_bt.c [new file with mode: 0644]
metawatch/mw_bt.h [new file with mode: 0644]
metawatch/mw_lcd.c [new file with mode: 0644]
metawatch/mw_lcd.h [new file with mode: 0644]
metawatch/mw_main.c [new file with mode: 0644]
metawatch/mw_main.h [new file with mode: 0644]
metawatch/mw_uart.c [new file with mode: 0644]
metawatch/mw_uart.h [new file with mode: 0644]
metawatch/oswald_hal.c [new file with mode: 0644]
metawatch/sharp_mem_lcd.c [new file with mode: 0644]
metawatch/sintab.py [new file with mode: 0644]

diff --git a/metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt b/metawatch/CC2560_BT_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt
new file mode 100644 (file)
index 0000000..0963650
--- /dev/null
@@ -0,0 +1,46 @@
+   1 TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE\r
+   2 SOFTWARE LICENSE\r
+   3 \r
+   4 Copyright (c) 2011, Texas Instruments Incorporated.\r
+   5 \r
+   6 All rights reserved.\r
+   7 \r
+   8 Redistribution.  \r
+   9 \r
+  10 Redistribution and use in binary form, without modification, are\r
+  11 permitted provided that the following conditions are met:\r
+  12 \r
+13  * Redistributions must preserve existing copyright notices and reproduce \r
+14     this license (including the above copyright notice and the disclaimer below)\r
+15     in the documentation and/or other materials provided with the distribution.\r
+  16 \r
+  17  * Neither the name of Texas Instruments Incorporated nor the names of \r
+  18    its suppliers may be used to endorse or promote products derived \r
+  19    from this software without specific prior written permission.\r
+  20 \r
+  21  * No reverse engineering, decompilation, or disassembly of this\r
+  22    software is permitted.\r
+  23 \r
+  24 Limited patent license.\r
+  25 \r
+  26 Texas Instruments Incorporated grants a world-wide, royalty-free, \r
+  27 non-exclusive license under patents it now or hereafter owns or controls \r
+  28 to make, have made, use, import, offer to sell and sell ("Utilize") this\r
+  29 software, but solely to the extent that any such patent is necessary\r
+  30 to Utilize the software alone.  The patent license shall not apply to\r
+  31 any combinations which include this software.  No hardware per se is\r
+  32 licensed hereunder.\r
+  33 \r
+  34 DISCLAIMER.\r
+  35 \r
+  36 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+  37 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+  38 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+  39 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+  40 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+  41 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+  42 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+  43 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+  44 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+  45 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+  46 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
diff --git a/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts b/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts
new file mode 100644 (file)
index 0000000..c869e32
Binary files /dev/null and b/metawatch/CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts differ
diff --git a/metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt b/metawatch/CC2564_BT_BLE_SP_BTS/TILAW-#255737-v2-WBU_TSPA_Software_License.txt
new file mode 100644 (file)
index 0000000..0963650
--- /dev/null
@@ -0,0 +1,46 @@
+   1 TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE\r
+   2 SOFTWARE LICENSE\r
+   3 \r
+   4 Copyright (c) 2011, Texas Instruments Incorporated.\r
+   5 \r
+   6 All rights reserved.\r
+   7 \r
+   8 Redistribution.  \r
+   9 \r
+  10 Redistribution and use in binary form, without modification, are\r
+  11 permitted provided that the following conditions are met:\r
+  12 \r
+13  * Redistributions must preserve existing copyright notices and reproduce \r
+14     this license (including the above copyright notice and the disclaimer below)\r
+15     in the documentation and/or other materials provided with the distribution.\r
+  16 \r
+  17  * Neither the name of Texas Instruments Incorporated nor the names of \r
+  18    its suppliers may be used to endorse or promote products derived \r
+  19    from this software without specific prior written permission.\r
+  20 \r
+  21  * No reverse engineering, decompilation, or disassembly of this\r
+  22    software is permitted.\r
+  23 \r
+  24 Limited patent license.\r
+  25 \r
+  26 Texas Instruments Incorporated grants a world-wide, royalty-free, \r
+  27 non-exclusive license under patents it now or hereafter owns or controls \r
+  28 to make, have made, use, import, offer to sell and sell ("Utilize") this\r
+  29 software, but solely to the extent that any such patent is necessary\r
+  30 to Utilize the software alone.  The patent license shall not apply to\r
+  31 any combinations which include this software.  No hardware per se is\r
+  32 licensed hereunder.\r
+  33 \r
+  34 DISCLAIMER.\r
+  35 \r
+  36 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+  37 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+  38 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+  39 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+  40 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+  41 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+  42 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+  43 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+  44 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+  45 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+  46 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
diff --git a/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts b/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts
new file mode 100644 (file)
index 0000000..bb2bee1
Binary files /dev/null and b/metawatch/CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts differ
diff --git a/metawatch/Makefile b/metawatch/Makefile
new file mode 100644 (file)
index 0000000..64ef09f
--- /dev/null
@@ -0,0 +1,123 @@
+#
+# Makefile for msp430
+# adapted from the example Makefile from the mspgcc project
+#
+# 'make' builds everything
+# 'make clean' deletes everything except source files and Makefile
+# You need to set TARGET, MCU and SOURCES for your project.
+# TARGET is the name of the executable file to be produced 
+# $(TARGET).elf $(TARGET).hex and $(TARGET).txt nad $(TARGET).map are all generated.
+# The TXT file is used for BSL loading, the ELF can be used for JTAG use
+# 
+TARGET     = oswald_mw
+MCU        = msp430f5438a
+MEMMODEL   = -mmemory-model=huge -fdata-sections -ffunction-sections # -mdata-region=far
+# -gdwarf-2 -fdata-sections -ffunction-sections
+#MEMMODEL   = -mmpy=16 -msr20 -md20 -gdwarf-2 -fdata-sections -ffunction-sections
+# MEMMODEL   = -mmemory-model=medium -misr20
+#MEMMODEL   = -mmemory-model=medium
+
+APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2
+#APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2 -DWITH_BTSTACK
+#APPCONFIG = -DDIGITAL -DMW_DEVBOARD_V2 -DCC256x_TRANSP
+#APPCONFIG = -DDIGITAL -DMW_DIGITAL_V2
+
+# List all the source files here
+# eg if you have a source file foo.c then list it here
+OSWALD_SRC = ../ui/oswald_main.c ../ui/oswald_screens.c \
+       ../ui/oswald_watch_faces.c ../ui/Fonts.c ../ui/LcdDisplay.c \
+       ../ui/oswald_strings.c ../ui/calendar.c \
+       ../ui/embedvm.c
+
+SOURCES = mw_main.c mw_uart.c mw_lcd.c mw_adc.c mw_bt.c \
+       bluetooth_init_cc2560_2.44.c \
+       bt_hci.c bt_l2cap.c \
+       oswald_hal.c $(OSWALD_SRC)
+#      $(BT_SMALLTOOTH_SRC)
+#      $(BT_STACK_SRC) \
+
+#BT_STACK_INC = -Ibtstack/ -Ibtstack/include/
+#BT_SMALLTOOTH_INV = -IBluetooth/
+# Include are located in the Include directory
+#INCLUDES = $(BT_STACK_INC)
+#INCLUDES = $(BT_SMALLTOOTH_INV)
+INCLUDES = -I../ui/ -I../ui/bitmaps/
+
+# Add or subtract whatever MSPGCC flags you want. There are plenty more
+#######################################################################################
+CFLAGS   = -mmcu=$(MCU) $(MEMMODEL) -g -Os -Wall -Wunused $(INCLUDES) $(APPCONFIG)
+ASFLAGS  = -mmcu=$(MCU) $(MEMMODEL) -x assembler-with-cpp -Wa,-gstabs
+LDFLAGS  = -mmcu=$(MCU) $(MEMMODEL) -Wl,-gc-sections -Wl,-Map=$(TARGET).map
+########################################################################################
+CC       = msp430-gcc
+LD       = msp430-ld
+AR       = msp430-ar
+AS       = msp430-gcc
+GASP     = msp430-gasp
+NM       = msp430-nm
+OBJCOPY  = msp430-objcopy
+RANLIB   = msp430-ranlib
+STRIP    = msp430-strip
+SIZE     = msp430-size
+READELF  = msp430-readelf
+MAKETXT  = srec_cat
+CP       = cp -p
+RM       = rm -f
+MV       = mv
+########################################################################################
+# the file which will include dependencies
+DEPEND = $(SOURCES:.c=.d)
+
+# all the object files
+OBJECTS = $(SOURCES:.c=.o)
+
+all: $(TARGET).elf $(TARGET).hex $(TARGET).txt 
+
+prog: $(TARGET).hex
+       mspdebug tilib -d /dev/ttyACM3 -v 2500 "prog $(TARGET).hex"
+
+prog_watch: $(TARGET).hex
+       mspdebug rf2500 -v 2500 "prog $(TARGET).hex"
+
+$(TARGET).elf: $(OBJECTS)
+       echo "Linking $@"
+       $(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $@
+       echo
+       echo ">>>> Size of Firmware <<<<"
+       $(SIZE) $(TARGET).elf
+       echo
+
+%.hex: %.elf
+       $(OBJCOPY) -O ihex $< $@
+
+%.txt: %.hex
+       $(MAKETXT) -O $@ -TITXT $< -I
+       unix2dos $(TARGET).txt
+#  The above line is required for the DOS based TI BSL tool to be able to read the txt file generated from linux/unix systems.
+
+%.o: %.c
+       echo "Compiling $<"
+       $(CC) -c $(CFLAGS) -o $@ $<
+
+# rule for making assembler source listing, to see the code
+%.lst: %.c
+       $(CC) -c $(ASFLAGS) -Wa,-anlhd $< > $@
+
+# include the dependencies unless we're going to clean, then forget about them.
+ifneq ($(MAKECMDGOALS), clean)
+-include $(DEPEND)
+endif
+# dependencies file
+# includes also considered, since some of these are our own
+# (otherwise use -MM instead of -M)
+%.d: %.c
+       echo "Generating dependencies $@ from $<"
+       $(CC) -M ${CFLAGS} $< >$@
+
+#.SILENT:
+.PHONY:        clean
+clean:
+       -$(RM) $(OBJECTS)
+       -$(RM) $(TARGET).*
+       -$(RM) $(SOURCES:.c=.lst)
+       -$(RM) $(DEPEND)
diff --git a/metawatch/bluetooth_init_cc2560_2.44.bts b/metawatch/bluetooth_init_cc2560_2.44.bts
new file mode 120000 (symlink)
index 0000000..952d842
--- /dev/null
@@ -0,0 +1 @@
+CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts
\ No newline at end of file
diff --git a/metawatch/bluetooth_init_cc2560_2.44.c b/metawatch/bluetooth_init_cc2560_2.44.c
new file mode 100644 (file)
index 0000000..ae04c6a
--- /dev/null
@@ -0,0 +1,3287 @@
+// init script created from bluetooth_init_cc2560_2.44.bts
+#include <stdint.h>
+
+#if defined(__GNUC__) && (__MSP430X__ > 0)
+__attribute__((__far__))
+#endif
+const uint8_t cc256x_init_script[] = {
+
+    // #--------------------------------------------------------------------------------
+    // # Description : ORCA-Trio  BTIP 2.0 ROM Initialization Script
+    // #
+    // # Compatibility: BL6450, WL1271/3 2.0 ROM
+    // #
+    // # Last Updated: 21-Dec-2011  11:53:12.59
+    // #
+    // # Version     : TI_P31.123
+    // #
+    // #
+    // #
+    // # Notes       : Use this script on BL6450, WL1271/3 2.0  ROM device only (FW v2.0.31)
+    // #--------------------------------------------------------------------------------
+    // 
+    // #################################################################
+    // ## START of Panasonic Adds-On
+    // #################################################################
+    // 
+    // ## Change UART baudrate
+    // 
+    // 
+    // #################################################################
+    // ## END of Panasonic Adds-On
+    // #################################################################
+    // 
+    0x01, 0x37, 0xfe, 0x02, 0x02, 0x1f, 
+
+    // 
+    0x01, 0x0f, 0xfd, 0x01, 0x01, 
+
+    0x01, 0x63, 0xfd, 0x1c, 0x04, 0x04, 0x00, 0xbc, 0x02, 0xef, 0xcd, 0xab, 0x89, 0xef, 0xcd, 
+    0xab, 0x89, 0x03, 0x06, 0x0a, 0x20, 0x03, 0x4b, 0x38, 0x1f, 0xbf, 0xb5, 0xb0, 0x01, 0x08, 
+    0x06, 0x0d, 
+
+    0x01, 0x01, 0xff, 0x06, 0xa0, 0x09, 0x1a, 0x00, 0x03, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x7e, 0x09, 0x1a, 0x00, 0xc4, 0x04, 
+
+    0x01, 0x01, 0xff, 0x06, 0xa0, 0x09, 0x1a, 0x00, 0x02, 0x00, 
+
+    0x01, 0x2e, 0xfd, 0x0d, 0x00, 0x2c, 0x01, 0x0a, 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 
+
+    // 
+    0x01, 0x05, 0xff, 0xff, 0x90, 0x5f, 0x08, 0x00, 0xfa, 0x02, 0x1f, 0x1f, 0x7b, 0x41, 0x00, 
+    0x44, 0x24, 0x61, 0x09, 0x00, 0x00, 0x05, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x05, 0x00, 0x04, 
+    0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x3d, 0x01, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0x76, 0x02, 
+    0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0xae, 0x03, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x08, 0xae, 
+    0x0b, 0x01, 0x00, 0x34, 0x30, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
+    0x49, 0x0a, 0x1c, 0x2c, 0x32, 0x12, 0x78, 0x04, 0x2a, 0x02, 0xd1, 0x09, 0x78, 0x04, 0x29, 
+    0x01, 0xd0, 0x06, 0x21, 0x00, 0xe0, 0x07, 0x21, 0x41, 0x60, 0x02, 0x48, 0x1b, 0x30, 0xf7, 
+    0x46, 0x84, 0x4d, 0x08, 0x00, 0x4d, 0x24, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x11, 0xd0, 0x0a, 0x78, 0xff, 0x2a, 0x0e, 
+    0xd1, 0xc2, 0x78, 0x00, 0x2a, 0x0b, 0xd1, 0x42, 0x7e, 0x01, 0x2a, 0x08, 0xd1, 0x42, 0x8c, 
+    0x0d, 0x2a, 0x05, 0xd1, 0x03, 0x4a, 0x80, 0x8c, 0x90, 0x42, 0x01, 0xd1, 0x00, 0x20, 0x08, 
+    0x70, 0xf7, 0x46, 0xc0, 0x46, 0x26, 0x11, 0x00, 0x00, 0xf8, 0xb5, 0x07, 0x7f, 0x01, 0x79, 
+    0x00, 0x91, 0x80, 0x69, 0x06, 0x89, 0xdf, 0x49, 0x29, 0x31, 0x82, 0x88, 0x8a, 0x42, 0x07, 
+    0xd1, 0xdb, 0x49, 0x09, 0x88, 0xb1, 0x42, 0x01, 0xd1, 0x16, 0x24, 0x04, 0xe0, 0x22, 0x24, 
+    0x02, 0xe0, 0xff, 0x21, 0x29, 0x31, 0x0c, 0x5c, 0x01, 0x25, 0xae, 0x46, 0xd5, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x00, 0x98, 0x00, 0x28, 0x07, 0xd0, 0x00, 0x2f, 0x05, 0xd0, 0x30, 0x1c, 
+    0x21, 0x1c, 0xae, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0x8a, 0x60, 0x08, 0x00, 0xfa, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0xea, 0x49, 0xeb, 0x4a, 0x11, 0x32, 0x15, 0x20, 0xae, 0x46, 0xea, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0xea, 0x48, 0xe9, 0x49, 0x08, 0x18, 0xf8, 0xbd, 0xfc, 0xb5, 0x41, 0x68, 0xc9, 0x48, 
+    0x01, 0x60, 0x01, 0x24, 0xa6, 0x46, 0xe6, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x20, 0xa6, 
+    0x46, 0xe5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xbd, 0x27, 0x00, 0x20, 0x05, 0x1c, 0xbf, 0x4e, 
+    0x02, 0x3e, 0xf6, 0x20, 0x85, 0x55, 0xff, 0x20, 0x12, 0x30, 0xa6, 0x46, 0xed, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0xa4, 0x20, 0x85, 0x51, 0xa8, 0x20, 0x85, 0x51, 0x01, 0x20, 0x40, 0x03, 
+    0xea, 0x49, 0x08, 0x80, 0xa6, 0x46, 0xe9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x8c, 0x25, 0xa8, 
+    0x59, 0x00, 0x28, 0x05, 0xd0, 0xa6, 0x46, 0xe6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x20, 
+    0xa8, 0x51, 0xb8, 0x5d, 0xe4, 0x4f, 0x02, 0x28, 0x01, 0xd0, 0x00, 0x94, 0x16, 0xe0, 0xd9, 
+    0x20, 0x80, 0x5d, 0x23, 0x21, 0x09, 0x01, 0x41, 0x43, 0x78, 0x18, 0xff, 0x21, 0x29, 0x31, 
+    0x16, 0x22, 0x0a, 0x54, 0xa6, 0x46, 0xdd, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xff, 0x20, 0x10, 
+    0x30, 0x0a, 0x21, 0xa6, 0x46, 0xdb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x00, 0x90, 
+    0xbe, 0x20, 0x80, 0x19, 0x01, 0x90, 0x00, 0x25, 0x25, 0xe0, 0x39, 0x78, 0xff, 0x29, 0x09, 
+    0xd0, 0xff, 0x20, 0x29, 0x30, 0x16, 0x21, 0xc1, 0x55, 0x38, 0x1c, 0xa6, 0x46, 0xba, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0x30, 0x78, 0x01, 0x35, 0x23, 0x21, 0x09, 0x01, 0xcf, 0x19, 0x1a, 
+    0xe0, 0x28, 0x1c, 0xa6, 0x46, 0xce, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, 0x98, 0x28, 0x5c, 
+    0x23, 0x21, 0x09, 0x01, 
+
+    0x01, 0x05, 0xff, 0xff, 0x84, 0x61, 0x08, 0x00, 0xfa, 0x41, 0x43, 0x78, 0x18, 0xff, 0x21, 
+    0x29, 0x31, 0x16, 0x22, 0x0a, 0x54, 0xa6, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, 
+    0x35, 0xc5, 0x20, 0x80, 0x5d, 0x85, 0x42, 0xe7, 0xd3, 0xc2, 0x4e, 0x30, 0x78, 0x00, 0x25, 
+    0x85, 0x42, 0xd0, 0xd3, 0xa6, 0x46, 0xc1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x98, 0x01, 
+    0x28, 0x0a, 0xd1, 0x86, 0x48, 0x00, 0x68, 0xc3, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xbc, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x00, 0x20, 0x81, 0x49, 0x08, 0x60, 0xba, 0x48, 0x0f, 0x30, 0xfc, 
+    0xbd, 0xba, 0x48, 0x17, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x0c, 0x21, 0x81, 0x60, 0xb8, 0x49, 
+    0xb8, 0x4c, 0x22, 0x1c, 0xad, 0x32, 0x1c, 0x20, 0x01, 0x23, 0x9e, 0x46, 0x94, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0x20, 0x1c, 0x9f, 0x30, 0x10, 0xbd, 0x10, 0xb5, 0x81, 0x68, 0x04, 0x22, 
+    0xc2, 0x60, 0xb1, 0x4a, 0x0a, 0x60, 0x41, 0x68, 0x41, 0x61, 0xb0, 0x49, 0xae, 0x4c, 0x22, 
+    0x1c, 0x9d, 0x32, 0x1c, 0x20, 0x01, 0x23, 0x9e, 0x46, 0x8a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x20, 0x1c, 0xaf, 0x30, 0x10, 0xbd, 0xf0, 0xb5, 0x47, 0x68, 0x08, 0x24, 0xe1, 0x19, 0xa9, 
+    0x4d, 0x28, 0x1c, 0x50, 0x38, 0x0a, 0x22, 0x01, 0x26, 0xb6, 0x46, 0xa9, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xe0, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x38, 0x1c, 0x0a, 0x22, 0x2b, 
+    0x78, 0x01, 0x7a, 0x19, 0x40, 0x29, 0x70, 0x01, 0x30, 0x01, 0x35, 0x01, 0x3a, 0xf7, 0xd1, 
+    0xe0, 0x19, 0xb6, 0x46, 0x9d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x9d, 0x48, 0x0d, 0x30, 0xf0, 
+    0xbd, 0x01, 0x1c, 0x56, 0x48, 0x06, 0x30, 0x02, 0x68, 0x9b, 0x48, 0x00, 0x2a, 0x03, 0xd0, 
+    0x08, 0x22, 0x8a, 0x60, 
+
+    0x01, 0x05, 0xff, 0xff, 0x7e, 0x62, 0x08, 0x00, 0xfa, 0x0b, 0x30, 0xf7, 0x46, 0x83, 0x30, 
+    0xf7, 0x46, 0x70, 0xb5, 0x43, 0x69, 0x1c, 0x68, 0x81, 0x89, 0x6e, 0x4a, 0x95, 0x48, 0x00, 
+    0x29, 0x01, 0xd0, 0x14, 0x3a, 0x2d, 0xe0, 0xa5, 0x88, 0x85, 0x21, 0xc9, 0x00, 0x8d, 0x42, 
+    0x06, 0xd0, 0x91, 0x49, 0x0e, 0x1c, 0x08, 0x3e, 0xb5, 0x42, 0x01, 0xd0, 0x8d, 0x42, 0x20, 
+    0xd1, 0xd9, 0x7f, 0x00, 0x29, 0x1d, 0xd1, 0x42, 0x21, 0xc9, 0x5c, 0x01, 0x29, 0x01, 0xd0, 
+    0x02, 0x29, 0x17, 0xd1, 0x20, 0x21, 0xc9, 0x18, 0x4d, 0x78, 0x09, 0x78, 0x29, 0x43, 0x09, 
+    0x09, 0x10, 0xd3, 0x40, 0x25, 0xe9, 0x5a, 0x33, 0x26, 0x36, 0x01, 0x0e, 0x42, 0x0a, 0xd0, 
+    0x33, 0x22, 0x12, 0x01, 0x91, 0x43, 0xe9, 0x52, 0xff, 0x21, 0x29, 0x31, 0x00, 0x22, 0x0a, 
+    0x55, 0xff, 0x30, 0x88, 0x30, 0x70, 0xbd, 0x30, 0x3a, 0x10, 0x18, 0x70, 0xbd, 0x10, 0xb5, 
+    0x04, 0x1c, 0xa0, 0x69, 0xff, 0x28, 0x13, 0xd1, 0x7a, 0x48, 0x00, 0x78, 0xff, 0x28, 0x0f, 
+    0xd0, 0x01, 0x20, 0x86, 0x46, 0x78, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x78, 0x4a, 0x78, 0x4b, 
+    0x18, 0x78, 0x51, 0x78, 0x88, 0x42, 0x02, 0xd0, 0x11, 0x78, 0x88, 0x42, 0x01, 0xd1, 0xff, 
+    0x20, 0x18, 0x70, 0xff, 0x20, 0x60, 0x60, 0x73, 0x48, 0x45, 0x30, 0x10, 0xbd, 0x70, 0xb5, 
+    0x05, 0x1c, 0x2e, 0x6a, 0x71, 0x48, 0x01, 0x68, 0x00, 0x29, 0x12, 0xd1, 0x70, 0x48, 0x08, 
+    0x21, 0x01, 0x24, 0xa6, 0x46, 0x6f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd1, 
+    0x3d, 0x20, 0x00, 0x04, 0x6d, 0x49, 0x08, 0x1a, 0x93, 0x21, 0x49, 0x00, 0xa6, 0x46, 0x6b, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x6c, 0x48, 0x70, 0x43, 0x6a, 0x4a, 0x10, 0x1a, 0x01, 0x22, 
+    0x96, 0x46, 0x67, 0x4a, 
+
+    0x01, 0x05, 0xff, 0xff, 0x78, 0x63, 0x08, 0x00, 0xfa, 0xfe, 0x44, 0x10, 0x47, 0xff, 0x39, 
+    0x09, 0x39, 0x08, 0x04, 0x00, 0x14, 0x68, 0x61, 0x66, 0x49, 0x2f, 0x48, 0x6c, 0x38, 0x40, 
+    0x18, 0x70, 0xbd, 0x03, 0x21, 0x41, 0x60, 0x0f, 0x21, 0x89, 0x01, 0x81, 0x60, 0x62, 0x48, 
+    0x43, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x01, 0x1c, 0x07, 0x23, 0x60, 0x4a, 0x00, 0x20, 0x34, 
+    0x24, 0xa4, 0x5c, 0xa1, 0x42, 0x06, 0xd1, 0x33, 0x24, 0xa4, 0x5c, 0x01, 0x2c, 0x02, 0xd1, 
+    0x40, 0x1c, 0x00, 0x06, 0x00, 0x0e, 0xac, 0x32, 0x01, 0x3b, 0xf1, 0xd1, 0x10, 0xbd, 0x52, 
+    0x0f, 0x08, 0x00, 0x85, 0xf2, 0x00, 0x00, 0xdd, 0x03, 0x00, 0x00, 0xcc, 0x5f, 0x08, 0x00, 
+    0xf0, 0xb5, 0x3c, 0x21, 0x57, 0x48, 0x12, 0x38, 0x02, 0x78, 0x01, 0x2a, 0x25, 0xd1, 0x09, 
+    0x5c, 0x00, 0x29, 0x22, 0xd0, 0x40, 0x68, 0x00, 0x27, 0x2c, 0x21, 0x0d, 0x18, 0x38, 0x1c, 
+    0x01, 0x24, 0xa6, 0x46, 0x4d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, 0x1c, 0x38, 0x1c, 0xa6, 
+    0x46, 0x49, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x80, 0x19, 0x28, 0x70, 0x20, 0x1c, 0xa6, 0x46, 
+    0x46, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, 0x1c, 0x20, 0x1c, 0xa6, 0x46, 0x42, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x80, 0x19, 0x68, 0x70, 0x01, 0x20, 0x40, 0x02, 0x41, 0x49, 0x08, 0x80, 
+    0x41, 0x48, 0xa9, 0x30, 0xf0, 0xbd, 0x53, 0x99, 0x02, 0x00, 0x33, 0x68, 0x08, 0x00, 0x41, 
+    0x36, 0x00, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x9f, 0x02, 0x00, 0x00, 0xb9, 0xd1, 0x01, 0x00, 
+    0xb1, 0x2e, 0x05, 0x00, 0x01, 0x0f, 0x02, 0x00, 0x10, 0xb5, 0x28, 0x49, 0x3e, 0x31, 0x09, 
+    0x78, 0x37, 0x4c, 0x00, 0x29, 0x0f, 0xd0, 0x22, 0x49, 0x48, 0x78, 0x09, 0x78, 0xac, 0x22, 
+    0x4a, 0x43, 0x2d, 0x49, 
+
+    0x01, 0x05, 0xff, 0xff, 0x72, 0x64, 0x08, 0x00, 0xfa, 0x34, 0x31, 0x89, 0x5c, 0x01, 0x22, 
+    0x96, 0x46, 0xd6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, 0x35, 0x30, 0x10, 0xbd, 0x3b, 
+    0x21, 0xc1, 0x60, 0x20, 0x1c, 0x40, 0x1d, 0x10, 0xbd, 0x61, 0x7d, 0x03, 0x00, 0x0c, 0x12, 
+    0x08, 0x00, 0xc9, 0x02, 0x01, 0x00, 0x4d, 0xee, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb5, 
+    0x02, 0x01, 0x00, 0x6d, 0x00, 0x01, 0x00, 0x21, 0x50, 0x08, 0x00, 0x09, 0x0d, 0x01, 0x00, 
+    0x75, 0x59, 0x04, 0x00, 0xd3, 0x96, 0x02, 0x00, 0x63, 0x08, 0x00, 0x00, 0x3d, 0x9d, 0x04, 
+    0x00, 0xfd, 0x61, 0x08, 0x00, 0xad, 0x35, 0x03, 0x00, 0x32, 0x2e, 0x33, 0x31, 0xdd, 0x61, 
+    0x08, 0x00, 0xf2, 0x13, 0x08, 0x00, 0x97, 0x6f, 0x01, 0x00, 0x5d, 0x8c, 0x01, 0x00, 0xc1, 
+    0x78, 0x05, 0x00, 0x45, 0xee, 0x00, 0x00, 0x61, 0x20, 0x01, 0x00, 0x0f, 0x04, 0x00, 0x00, 
+    0x12, 0x25, 0x08, 0x00, 0x71, 0x9a, 0x01, 0x00, 0x5f, 0x1f, 0x08, 0x00, 0x72, 0x25, 0x08, 
+    0x00, 0x55, 0x9e, 0x01, 0x00, 0x8c, 0x51, 0x08, 0x00, 0x46, 0x75, 0x1a, 0x00, 0xdb, 0xae, 
+    0x04, 0x00, 0x00, 0x00, 0x91, 0x02, 0x2d, 0x6a, 0x05, 0x00, 0x67, 0xe6, 0x11, 0x03, 0x20, 
+    0x30, 0x06, 0x00, 0xcd, 0x60, 0x03, 0x00, 0x29, 0xd6, 0x02, 0x00, 0x94, 0x1a, 0x08, 0x00, 
+    0xa1, 0x63, 0x08, 0x00, 0x3b, 0xa3, 0x01, 0x00, 0x44, 0x7c, 0x1a, 0x00, 0x5d, 0x4c, 0x02, 
+    0x00, 0x46, 0x24, 0x08, 0x00, 0x8f, 0x49, 0x02, 0x00, 0xfc, 0xb5, 0x41, 0x68, 0x01, 0x91, 
+    0x01, 0x8a, 0x80, 0x68, 0x80, 0x7b, 0xcf, 0x4a, 0x14, 0x1c, 0x3e, 0x3c, 0x27, 0x8e, 0xce, 
+    0x4d, 0x1a, 0x4e, 0x01, 0x29, 0x36, 0xd1, 0x02, 0x28, 0x00, 0xd0, 0x03, 0x28, 0x00, 0xd1, 
+    0xdb, 0xe0, 0x00, 0x28, 
+
+    0x01, 0x05, 0xff, 0xff, 0x6c, 0x65, 0x08, 0x00, 0xfa, 0x2c, 0xd1, 0x00, 0x2f, 0x03, 0xd0, 
+    0x82, 0x2f, 0x01, 0xd0, 0x50, 0x2f, 0x0c, 0xd1, 0x00, 0x20, 0x20, 0x86, 0x25, 0x80, 0x30, 
+    0x78, 0x01, 0x28, 0x06, 0xd1, 0xc2, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, 0xd7, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0xd3, 0x48, 0x87, 0x42, 0x0c, 0xd1, 0xd3, 0x48, 0x20, 0x86, 0x25, 
+    0x80, 0x30, 0x78, 0x01, 0x28, 0x06, 0xd1, 0xba, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, 
+    0xcf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xdb, 0x48, 0x87, 0x42, 0x40, 0xd1, 0x11, 0x20, 0x40, 
+    0x01, 0x20, 0x86, 0x28, 0x1c, 0xf6, 0xe0, 0xa2, 0x52, 0x08, 0x00, 0x01, 0x28, 0x00, 0xd1, 
+    0x90, 0xe0, 0x02, 0x29, 0x59, 0xd1, 0x00, 0x28, 0x2d, 0xd1, 0x00, 0x2f, 0x06, 0xd0, 0xc3, 
+    0x48, 0x87, 0x42, 0x03, 0xd0, 0x11, 0x20, 0x40, 0x01, 0x87, 0x42, 0x0c, 0xd1, 0x00, 0x20, 
+    0x20, 0x86, 0x65, 0x80, 0x30, 0x78, 0x01, 0x28, 0x06, 0xd1, 0xa6, 0x48, 0x0a, 0x21, 0x01, 
+    0x22, 0x96, 0x46, 0xbb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x48, 0x87, 0x42, 0x10, 0xd0, 
+    0x31, 0x78, 0xc6, 0x48, 0x87, 0x42, 0x3a, 0xd1, 0x65, 0x80, 0x82, 0x20, 0x20, 0x86, 0x01, 
+    0x29, 0x64, 0xd1, 0x9d, 0x48, 0x0a, 0x21, 0x01, 0x22, 0x96, 0x46, 0xb2, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0xc4, 0xe0, 0x65, 0x80, 0x50, 0x20, 0x20, 0x86, 0xc0, 0xe0, 0x01, 0x28, 0x36, 
+    0xd0, 0x02, 0x28, 0x01, 0xd0, 0x03, 0x28, 0x68, 0xd1, 0x00, 0x2f, 0x02, 0xd0, 0xa9, 0x48, 
+    0x87, 0x42, 0x02, 0xd1, 0x11, 0x20, 0x40, 0x01, 0x20, 0x86, 0x50, 0x2f, 0x02, 0xd0, 0xa4, 
+    0x48, 0x87, 0x42, 0x03, 0xd1, 0x25, 0x80, 0x11, 0x20, 0x40, 0x01, 0x20, 0x86, 0x82, 0x2f, 
+    0x01, 0xd1, 0xaf, 0x48, 
+
+    0x01, 0x05, 0xff, 0xff, 0x66, 0x66, 0x08, 0x00, 0xfa, 0x20, 0x86, 0xe3, 0x48, 0x00, 0x21, 
+    0x01, 0x25, 0xae, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd1, 0xe0, 
+    0x48, 0x00, 0xe0, 0xe0, 0x48, 0x60, 0x80, 0x30, 0x78, 0x01, 0x28, 0x6b, 0xd1, 0x81, 0x4c, 
+    0x20, 0x1c, 0x09, 0x21, 0xae, 0x46, 0x96, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, 0x0a, 
+    0x21, 0xae, 0x46, 0xda, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x87, 0xe0, 0x00, 0x2f, 0x08, 0xd0, 
+    0x11, 0x20, 0x40, 0x01, 0x87, 0x42, 0x04, 0xd0, 0x82, 0x2f, 0x02, 0xd0, 0x9b, 0x48, 0x87, 
+    0x42, 0x13, 0xd1, 0x8b, 0x48, 0x20, 0x86, 0x00, 0x20, 0x60, 0x80, 0x30, 0x78, 0x01, 0x28, 
+    0x06, 0xd1, 0x71, 0x48, 0x0a, 0x21, 0x01, 0x22, 0x96, 0x46, 0x86, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x82, 0x2f, 0x02, 0xd0, 0x92, 0x48, 0x87, 0x42, 0x00, 0xd1, 0x25, 0x80, 0x50, 0x2f, 
+    0x66, 0xd1, 0x7f, 0x48, 0x20, 0x86, 0x00, 0x20, 0x60, 0x80, 0x61, 0xe0, 0x11, 0x20, 0x40, 
+    0x01, 0x87, 0x42, 0x05, 0xd0, 0x8a, 0x48, 0x87, 0x42, 0x02, 0xd0, 0x65, 0x80, 0x82, 0x20, 
+    0x00, 0xe0, 0x87, 0x48, 0x20, 0x86, 0x00, 0x20, 0x20, 0x80, 0x30, 0x78, 0x01, 0x28, 0x50, 
+    0xd1, 0x5f, 0x48, 0x09, 0x21, 0x01, 0x22, 0x96, 0x46, 0x74, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x48, 0xe0, 0x82, 0x2f, 0x24, 0xd0, 0x00, 0x2f, 0x22, 0xd0, 0x11, 0x20, 0x40, 0x01, 0x87, 
+    0x42, 0x1e, 0xd0, 0x7c, 0x48, 0x87, 0x42, 0x1b, 0xd0, 0x6b, 0x48, 0x87, 0x42, 0x3a, 0xd1, 
+    0x69, 0x48, 0x20, 0x86, 0xad, 0x48, 0x00, 0x21, 0x01, 0x25, 0xae, 0x46, 0xae, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd1, 0xa9, 0x48, 0x00, 0xe0, 0xa9, 0x48, 0x20, 0x80, 
+    0x30, 0x78, 0x01, 0x28, 
+
+    0x01, 0x05, 0xff, 0xff, 0x60, 0x67, 0x08, 0x00, 0xfa, 0x28, 0xd1, 0x4b, 0x48, 0x09, 0x21, 
+    0xae, 0x46, 0xa7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x21, 0xe0, 0x50, 0x20, 0x20, 0x86, 0x65, 
+    0x80, 0x30, 0x78, 0x01, 0x28, 0x0d, 0xd1, 0x44, 0x4e, 0x30, 0x1c, 0x09, 0x21, 0x01, 0x25, 
+    0xae, 0x46, 0xa0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x1c, 0x0a, 0x21, 0xae, 0x46, 0x56, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x97, 0x48, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0x98, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd1, 0x94, 0x48, 0x05, 0x1c, 0x07, 0xe7, 0x93, 
+    0x48, 0x20, 0x80, 0x00, 0x21, 0x68, 0x46, 0x01, 0x70, 0x01, 0x98, 0xf3, 0x21, 0x88, 0x22, 
+    0x06, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xe6, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xe5, 0x48, 0xff, 
+    0x30, 0x66, 0x30, 0xfc, 0xbd, 0x2b, 0x49, 0x02, 0x00, 0x30, 0xb5, 0xe3, 0x49, 0xe3, 0x4a, 
+    0x37, 0x32, 0x10, 0x20, 0x01, 0x24, 0xa6, 0x46, 0xe4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe3, 
+    0x48, 0x00, 0x78, 0xdf, 0x4d, 0x00, 0x28, 0x03, 0xd1, 0x28, 0x1c, 0xff, 0x30, 0x32, 0x30, 
+    0x30, 0xbd, 0x01, 0x28, 0x01, 0xd0, 0x04, 0x28, 0x0b, 0xd1, 0xa6, 0x46, 0xda, 0x48, 0xfe, 
+    0x44, 0x00, 0x47, 0x7a, 0x48, 0x0e, 0x38, 0x04, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xea, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x28, 0x1c, 0xff, 0x30, 0x70, 0x30, 0x30, 0xbd, 0xe8, 0x49, 0x09, 
+    0x68, 0x81, 0x60, 0xe7, 0x48, 0x3f, 0x30, 0xf7, 0x46, 0x81, 0x69, 0xe4, 0x4a, 0x11, 0x60, 
+    0xe9, 0x49, 0x81, 0x60, 0xe9, 0x48, 0x13, 0x30, 0xf7, 0x46, 0x00, 0xb5, 0xe8, 0x49, 0xca, 
+    0x4a, 0xff, 0x32, 0x1c, 0x32, 0x10, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xc9, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xe4, 0x48, 
+
+    0x01, 0x05, 0xff, 0xff, 0x5a, 0x68, 0x08, 0x00, 0xfa, 0x00, 0x78, 0x00, 0x28, 0x02, 0xd1, 
+    0x00, 0x20, 0xe3, 0x49, 0x08, 0x60, 0xc1, 0x48, 0x8d, 0x30, 0x00, 0xbd, 0x10, 0xb5, 0x01, 
+    0x24, 0xa6, 0x46, 0xbf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xde, 0x4a, 0x11, 0x68, 0x08, 0x20, 
+    0x08, 0x43, 0x10, 0x60, 0xa6, 0x46, 0xdc, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xdc, 0x48, 0x47, 
+    0x30, 0x10, 0xbd, 0xdc, 0x7c, 0x1a, 0x00, 0xff, 0xff, 0x00, 0x00, 0x30, 0xb5, 0xc4, 0x69, 
+    0x02, 0x23, 0xd8, 0x4a, 0x15, 0x68, 0xd8, 0x49, 0xa5, 0x42, 0x14, 0xd1, 0x15, 0x79, 0x02, 
+    0x2d, 0x11, 0xd1, 0x15, 0x7b, 0x26, 0x2d, 0x0e, 0xd1, 0xff, 0x25, 0x2a, 0x35, 0x2d, 0x5d, 
+    0x02, 0x2d, 0x09, 0xd1, 0x01, 0x22, 0xff, 0x20, 0x16, 0x30, 0x02, 0x55, 0xff, 0x20, 0x19, 
+    0x30, 0x02, 0x55, 0x08, 0x1c, 0xf5, 0x30, 0x30, 0xbd, 0x4c, 0x32, 0x01, 0x3b, 0xe3, 0xd1, 
+    0x42, 0x68, 0x16, 0x32, 0x42, 0x60, 0x08, 0x1c, 0xe1, 0x30, 0x30, 0xbd, 0x54, 0x04, 0x00, 
+    0x00, 0x04, 0x04, 0x00, 0x00, 0x15, 0xab, 0x04, 0x00, 0xf0, 0xb5, 0x07, 0x1c, 0x0a, 0x25, 
+    0xc4, 0x4c, 0x00, 0x26, 0x20, 0x78, 0x00, 0x28, 0x09, 0xd0, 0x60, 0x1c, 0x39, 0x1c, 0x06, 
+    0x22, 0x01, 0x23, 0x9e, 0x46, 0xc0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x28, 0x03, 0xd0, 
+    0x0c, 0x34, 0x01, 0x36, 0x01, 0x3d, 0xee, 0xd1, 0x30, 0x06, 0x00, 0x0e, 0xf0, 0xbd, 0xc0, 
+    0x46, 0xa2, 0x02, 0x00, 0x00, 0x70, 0xb5, 0x05, 0x1c, 0x68, 0x68, 0xe9, 0x69, 0x00, 0x29, 
+    0x14, 0xd1, 0x10, 0x30, 0x01, 0x24, 0xa6, 0x46, 0xb5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x06, 
+    0x1c, 0x0a, 0x2e, 0x0f, 0xd0, 0xff, 0x30, 0x14, 0x30, 0x00, 0x04, 0x00, 0x0c, 0xa6, 0x46, 
+    0xb1, 0x49, 0xfe, 0x44, 
+
+    0x01, 0x05, 0xff, 0xff, 0x54, 0x69, 0x08, 0x00, 0xfa, 0x08, 0x47, 0x0c, 0x20, 0x70, 0x43, 
+    0xab, 0x49, 0x01, 0xe0, 0xff, 0x21, 0x33, 0x31, 0x00, 0x22, 0x0a, 0x54, 0x68, 0x68, 0x68, 
+    0x61, 0xaa, 0x48, 0x40, 0x1d, 0x70, 0xbd, 0x10, 0xb5, 0x04, 0x1c, 0xe0, 0x69, 0x39, 0x21, 
+    0x09, 0x5c, 0x25, 0x29, 0x0b, 0xd1, 0xff, 0x21, 0x29, 0x31, 0x09, 0x5c, 0x22, 0x29, 0x06, 
+    0xd1, 0x10, 0x30, 0x05, 0x21, 0x01, 0x22, 0x96, 0x46, 0xa2, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x38, 0x20, 0xa0, 0x61, 0xa1, 0x48, 0x13, 0x30, 0x10, 0xbd, 0x40, 0x1e, 0x80, 0x00, 0xa0, 
+    0x4b, 0x19, 0x50, 0x9e, 0x49, 0x0a, 0x50, 0xf7, 0x46, 0x01, 0x69, 0x8a, 0x04, 0xd2, 0x0f, 
+    0x53, 0x03, 0x8a, 0x05, 0x92, 0x0d, 0x1a, 0x43, 0x01, 0xd1, 0x9b, 0x4a, 0x11, 0x40, 0x01, 
+    0x61, 0x9a, 0x49, 0x81, 0x61, 0x9a, 0x48, 0x1f, 0x30, 0xf7, 0x46, 0x30, 0xb5, 0x04, 0x1c, 
+    0x99, 0x48, 0x05, 0x78, 0x60, 0x68, 0x01, 0x21, 0x8e, 0x46, 0x97, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x01, 0x1c, 0xa0, 0x61, 0x96, 0x48, 0x03, 0xd0, 0x00, 0x2d, 0x01, 0xd0, 0x17, 0x30, 
+    0x30, 0xbd, 0x11, 0x30, 0x30, 0xbd, 0xc0, 0x46, 0x22, 0xf6, 0x1a, 0x00, 0xea, 0x80, 0x00, 
+    0x00, 0xea, 0xba, 0x00, 0x00, 0x59, 0xae, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, 0x30, 0xb5, 
+    0x04, 0x1c, 0x01, 0x25, 0xae, 0x46, 0x8b, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x28, 0x0e, 
+    0xd0, 0x8a, 0x48, 0x00, 0x78, 0x03, 0x28, 0x03, 0xd0, 0x01, 0x28, 0x01, 0xd0, 0x04, 0x28, 
+    0x06, 0xd1, 0x87, 0x48, 0x29, 0x1c, 0x00, 0x22, 0xae, 0x46, 0x87, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x37, 0x20, 0x60, 0x60, 0x83, 0x48, 0xff, 0x30, 0xaa, 0x30, 0x30, 0xbd, 0xf0, 0xb5, 
+    0x06, 0x1c, 0xf5, 0x69, 
+
+    0x01, 0x05, 0xff, 0xff, 0x4e, 0x6a, 0x08, 0x00, 0xfa, 0x34, 0x6a, 0x39, 0x27, 0x78, 0x5d, 
+    0x00, 0x28, 0x31, 0xd0, 0x7f, 0x48, 0x01, 0x1c, 0x0b, 0x39, 0x22, 0x88, 0x8a, 0x42, 0x02, 
+    0xd1, 0xa9, 0x88, 0x81, 0x42, 0x01, 0xd0, 0x01, 0x20, 0x27, 0xe0, 0x78, 0x5d, 0x25, 0x28, 
+    0x11, 0xd1, 0x3b, 0x20, 0x40, 0x5d, 0x01, 0x28, 0x05, 0xd1, 0x28, 0x1c, 0x01, 0x21, 0x8e, 
+    0x46, 0x77, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x10, 0x20, 0x40, 0x19, 0xa1, 0x7a, 0x01, 0x22, 
+    0x96, 0x46, 0x62, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa1, 0x7a, 0x28, 0x1c, 0x01, 0x24, 0xa6, 
+    0x46, 0x70, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x6e, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x78, 0x55, 0x3b, 0x21, 0x48, 0x55, 0xa8, 0x80, 0x00, 
+    0x20, 0x70, 0x60, 0x66, 0x48, 0x2f, 0x30, 0xf0, 0xbd, 0x69, 0x48, 0x01, 0x68, 0x69, 0x48, 
+    0x02, 0x78, 0x69, 0x48, 0x02, 0x2a, 0x03, 0xd0, 0x09, 0x8a, 0x05, 0x29, 0x03, 0xda, 0x04, 
+    0xe0, 0x09, 0x8a, 0x04, 0x29, 0x01, 0xdb, 0x43, 0x30, 0xf7, 0x46, 0x35, 0x30, 0xf7, 0x46, 
+    0x63, 0x48, 0x63, 0x49, 0x09, 0x68, 0x01, 0x60, 0x63, 0x49, 0x81, 0x80, 0x63, 0x4a, 0x11, 
+    0x68, 0x81, 0x60, 0x91, 0x88, 0x81, 0x81, 0x63, 0x48, 0x00, 0x88, 0x60, 0x49, 0x08, 0x80, 
+    0x60, 0x48, 0xa1, 0x30, 0xf7, 0x46, 0xf8, 0xb5, 0x07, 0x1c, 0x07, 0x26, 0x61, 0x4d, 0x00, 
+    0x24, 0x00, 0x94, 0x32, 0x20, 0x40, 0x5d, 0x02, 0x28, 0x14, 0xd1, 0x37, 0x20, 0x40, 0x5d, 
+    0x5b, 0x49, 0x08, 0x18, 0x40, 0x00, 0x02, 0x21, 0x01, 0x22, 0x96, 0x46, 0x5b, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x00, 0x28, 0x07, 0xd0, 0x9a, 0x20, 0x40, 0x5d, 0x00, 0x28, 0x01, 0xd1, 
+    0x01, 0x24, 0x01, 0xe0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x48, 0x6b, 0x08, 0x00, 0xfa, 0x01, 0x20, 0x00, 0x90, 0xac, 0x35, 
+    0x01, 0x3e, 0xe3, 0xd1, 0xfc, 0x61, 0x00, 0x98, 0x38, 0x62, 0x4f, 0x48, 0x43, 0x30, 0xf8, 
+    0xbd, 0xc0, 0x46, 0xb9, 0x34, 0x03, 0x00, 0x09, 0xef, 0x02, 0x00, 0x43, 0x68, 0x08, 0x00, 
+    0x3d, 0x31, 0x05, 0x00, 0xa9, 0xb7, 0x04, 0x00, 0x8d, 0x62, 0x02, 0x00, 0xa1, 0x69, 0x08, 
+    0x00, 0x70, 0x55, 0x08, 0x00, 0x70, 0xb5, 0x4b, 0x48, 0x05, 0x78, 0x00, 0x24, 0x46, 0x48, 
+    0x00, 0x88, 0x80, 0x09, 0x10, 0xd3, 0x01, 0x20, 0x06, 0x1c, 0x86, 0x46, 0x44, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x00, 0x28, 0x08, 0xd0, 0x3c, 0x22, 0x44, 0x49, 0x08, 0x78, 0x01, 0x28, 
+    0x03, 0xd1, 0x50, 0x5c, 0x00, 0x28, 0x00, 0xd0, 0x34, 0x1c, 0x3e, 0x48, 0xff, 0x2d, 0x01, 
+    0xd0, 0x00, 0x2c, 0x01, 0xd0, 0x41, 0x30, 0x70, 0xbd, 0x0d, 0x30, 0x70, 0xbd, 0xb9, 0xab, 
+    0x04, 0x00, 0xdc, 0x5f, 0x08, 0x00, 0x0b, 0xd8, 0x04, 0x00, 0xc1, 0x69, 0x82, 0x69, 0x51, 
+    0x1a, 0x01, 0x61, 0x37, 0x48, 0x73, 0x30, 0xf7, 0x46, 0xc0, 0x46, 0x35, 0xff, 0x00, 0x00, 
+    0x41, 0x36, 0x00, 0x00, 0xd9, 0x67, 0x08, 0x00, 0x07, 0x53, 0x08, 0x00, 0xc4, 0x30, 0x19, 
+    0x00, 0x84, 0x51, 0x08, 0x00, 0x95, 0x04, 0x01, 0x00, 0x99, 0x5f, 0x03, 0x00, 0x9c, 0x14, 
+    0x08, 0x00, 0xdf, 0xd7, 0x01, 0x00, 0x34, 0x15, 0x08, 0x00, 0x13, 0x84, 0x05, 0x00, 0xf1, 
+    0x68, 0x08, 0x00, 0x25, 0x32, 0x04, 0x00, 0x61, 0x7d, 0x03, 0x00, 0xef, 0x9f, 0x02, 0x00, 
+    0x29, 0xd5, 0x01, 0x00, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x7b, 0x08, 0x00, 0xff, 0xe7, 0x00, 
+    0x00, 0x08, 0x14, 0x08, 0x00, 0xb5, 0xa4, 0x03, 0x00, 0x5f, 0x50, 0x08, 0x00, 0x49, 0xa0, 
+    0x02, 0x00, 0x0b, 0x97, 
+
+    0x01, 0x05, 0xff, 0xff, 0x42, 0x6c, 0x08, 0x00, 0xfa, 0x02, 0x00, 0xf9, 0xb3, 0x02, 0x00, 
+    0x26, 0x25, 0x08, 0x00, 0x20, 0x01, 0x1a, 0x00, 0x79, 0x98, 0x01, 0x00, 0x65, 0xab, 0x04, 
+    0x00, 0x11, 0x04, 0x00, 0x00, 0xb7, 0xc8, 0x01, 0x00, 0xd3, 0xfe, 0x00, 0x00, 0x7d, 0x98, 
+    0x02, 0x00, 0x11, 0x00, 0x01, 0x00, 0x90, 0x49, 0x08, 0x00, 0x76, 0x53, 0x08, 0x00, 0xb7, 
+    0x2a, 0x02, 0x00, 0x88, 0x0b, 0x1a, 0x00, 0x94, 0x5f, 0x08, 0x00, 0x61, 0x09, 0x00, 0x00, 
+    0xb8, 0x64, 0x06, 0x00, 0x34, 0x33, 0x19, 0x00, 0xfd, 0xa0, 0x03, 0x00, 0xd0, 0x5f, 0x08, 
+    0x00, 0x11, 0x01, 0x0d, 0x00, 0x97, 0x4d, 0x02, 0x00, 0x94, 0x1a, 0x08, 0x00, 0x9f, 0xae, 
+    0x04, 0x00, 0x7a, 0x7f, 0x1a, 0x00, 0x03, 0x28, 0x04, 0x00, 0xb7, 0x95, 0x01, 0x00, 0x12, 
+    0x25, 0x08, 0x00, 0x34, 0x24, 0x08, 0x00, 0x19, 0x8f, 0x02, 0x00, 0x70, 0xb5, 0x06, 0x1c, 
+    0xdc, 0x4d, 0x28, 0x68, 0xdc, 0x4c, 0x00, 0x28, 0x01, 0xd1, 0x08, 0x34, 0x0b, 0xe0, 0x28, 
+    0x68, 0xc3, 0x21, 0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xd8, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x00, 0x20, 0x28, 0x60, 0xff, 0x34, 0x97, 0x34, 0x34, 0x62, 0x70, 0xbd, 0x10, 0xb5, 0x40, 
+    0x69, 0x00, 0x7a, 0x80, 0x06, 0x84, 0x0e, 0x07, 0x2c, 0x01, 0xd0, 0x09, 0x2c, 0x06, 0xd1, 
+    0x00, 0x20, 0x0f, 0x21, 0x01, 0x22, 0x96, 0x46, 0xce, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0f, 
+    0x2c, 0x15, 0xd1, 0xcd, 0x48, 0x00, 0x78, 0x01, 0x28, 0x11, 0xd1, 0xcc, 0x4a, 0x11, 0x88, 
+    0x10, 0x20, 0x08, 0x43, 0x10, 0x80, 0xca, 0x48, 0x03, 0x21, 0x06, 0x22, 0x01, 0x24, 0xa6, 
+    0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x96, 0x20, 0xa6, 0x46, 0xc7, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x10, 0xbd, 
+
+    0x01, 0x05, 0xff, 0xff, 0x3c, 0x6d, 0x08, 0x00, 0xfa, 0x70, 0xb5, 0x05, 0x1c, 0xee, 0x69, 
+    0x68, 0x69, 0x40, 0x78, 0x31, 0x28, 0x1f, 0xd1, 0xc3, 0x4c, 0xc3, 0x48, 0x03, 0x78, 0x00, 
+    0x21, 0x02, 0xe0, 0x48, 0x1c, 0x01, 0x06, 0x09, 0x0e, 0x99, 0x42, 0x15, 0xda, 0x23, 0x20, 
+    0x00, 0x01, 0x48, 0x43, 0x20, 0x18, 0x38, 0x22, 0x12, 0x5c, 0x0a, 0x2a, 0xf2, 0xd1, 0x00, 
+    0x21, 0x01, 0x24, 0xa6, 0x46, 0xba, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x74, 0x80, 0x03, 0x20, 
+    0x30, 0x80, 0xb8, 0x49, 0xaf, 0x20, 0xc0, 0x00, 0x40, 0x18, 0x28, 0x62, 0x70, 0xbd, 0xfe, 
+    0xb5, 0x02, 0x90, 0x81, 0x8a, 0x84, 0x69, 0xab, 0x48, 0x00, 0x78, 0xb3, 0x4a, 0x8a, 0x1a, 
+    0x1e, 0xd0, 0x1a, 0x3a, 0x00, 0xd1, 0xa2, 0xe0, 0x01, 0x3a, 0x00, 0xd1, 0x8b, 0xe0, 0xe6, 
+    0x4b, 0xd2, 0x1a, 0x7e, 0xd0, 0x3c, 0x3a, 0x04, 0xd0, 0x16, 0x3a, 0x63, 0xd0, 0x04, 0x3a, 
+    0x28, 0xd0, 0xfe, 0xbd, 0x01, 0x28, 0x1a, 0xd1, 0xe1, 0x48, 0x0b, 0x21, 0x09, 0x19, 0x0a, 
+    0x23, 0x0c, 0x78, 0x02, 0x78, 0x22, 0x40, 0x0a, 0x70, 0x01, 0x30, 0x01, 0x31, 0x01, 0x3b, 
+    0xf7, 0xd1, 0xfe, 0xbd, 0x20, 0x1c, 0x00, 0x21, 0x6a, 0x46, 0x01, 0x25, 0xae, 0x46, 0xd9, 
+    0x4b, 0xfe, 0x44, 0x18, 0x47, 0x68, 0x46, 0xae, 0x46, 0xd7, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x00, 0x28, 0x00, 0xd0, 0x87, 0xe0, 0x20, 0x1c, 0x4e, 0x21, 0x02, 0x22, 0x6b, 0x46, 0xae, 
+    0x46, 0xd3, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x49, 0xe0, 0x0b, 0x20, 0x06, 0x57, 0xd1, 0x48, 
+    0x07, 0x1c, 0x10, 0x3f, 0x11, 0x22, 0x94, 0x46, 0x0f, 0x23, 0x00, 0x22, 0x85, 0x56, 0xea, 
+    0x0f, 0x52, 0x19, 0x52, 0x10, 0x96, 0x42, 0x05, 0xdc, 0xfd, 0x56, 0xea, 0x0f, 0x52, 0x19, 
+    0x52, 0x10, 0x96, 0x42, 
+
+    0x01, 0x05, 0xff, 0xff, 0x36, 0x6e, 0x08, 0x00, 0xfa, 0x03, 0xdc, 0x01, 0x38, 0x01, 0x3b, 
+    0xef, 0xd1, 0x03, 0xe0, 0xe1, 0x48, 0x03, 0x70, 0x00, 0x20, 0x84, 0x46, 0x88, 0x05, 0x00, 
+    0x0f, 0x80, 0x01, 0x40, 0x28, 0x07, 0xdb, 0x62, 0x46, 0x20, 0x1c, 0x01, 0x23, 0x9e, 0x46, 
+    0xdc, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1f, 0xe0, 0x88, 0x0a, 0x80, 0x01, 0x89, 0x05, 0x89, 
+    0x0d, 0x01, 0x43, 0x09, 0x04, 0x09, 0x0c, 0x62, 0x46, 0x20, 0x1c, 0x01, 0x23, 0x9e, 0x46, 
+    0x70, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x10, 0xe0, 0x06, 0x20, 0xa0, 0x80, 0xd2, 0x48, 0x00, 
+    0x78, 0x02, 0x28, 0x00, 0xdb, 0x01, 0x20, 0xa0, 0x73, 0x01, 0x23, 0x63, 0x80, 0x20, 0x1c, 
+    0xe8, 0x49, 0x00, 0x22, 0x9e, 0x46, 0xe7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe4, 0x49, 0xff, 
+    0x31, 0x23, 0x31, 0x02, 0x98, 0x01, 0x62, 0xfe, 0xbd, 0xe4, 0x49, 0xe4, 0x48, 0x42, 0x1c, 
+    0x05, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xe3, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xfe, 0xbd, 0x20, 
+    0x1c, 0x00, 0x21, 0x6a, 0x46, 0x01, 0x25, 0xae, 0x46, 0x9f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x68, 0x46, 0xae, 0x46, 0x9e, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x1d, 0x21, 0x09, 0x19, 0xae, 
+    0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xfe, 0xbd, 0x20, 0x1c, 0x00, 0x21, 0x01, 0x25, 
+    0xae, 0x46, 0xe8, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xae, 0x46, 0xe7, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x19, 0x21, 0x09, 0x19, 0xae, 0x46, 0xe2, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xfe, 0xbd, 
+    0xf0, 0xb5, 0x06, 0x1c, 0xb4, 0x8a, 0xb7, 0x69, 0xe7, 0x48, 0x84, 0x42, 0x0d, 0xdc, 0x84, 
+    0x42, 0x70, 0xd0, 0x6a, 0x38, 0x20, 0x1a, 0x67, 0xd0, 0x10, 0x38, 0x59, 0xd0, 0x08, 0x38, 
+    0x50, 0xd0, 0x46, 0x38, 
+
+    0x01, 0x05, 0xff, 0xff, 0x30, 0x6f, 0x08, 0x00, 0xfa, 0x42, 0xd0, 0x04, 0x38, 0x39, 0xd0, 
+    0xf0, 0xbd, 0xe2, 0x48, 0x20, 0x1a, 0x2e, 0xd0, 0x03, 0x38, 0x07, 0xd0, 0x59, 0x38, 0x26, 
+    0xd0, 0x01, 0x38, 0x1d, 0xd0, 0xff, 0x38, 0xf6, 0x38, 0x13, 0xd0, 0xf0, 0xbd, 0xdd, 0x48, 
+    0x00, 0x78, 0x01, 0x28, 0x5e, 0xd0, 0xdc, 0x48, 0x00, 0x78, 0xff, 0x28, 0x5a, 0xd0, 0xeb, 
+    0x48, 0x00, 0x78, 0x01, 0x28, 0x56, 0xd1, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xd1, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0x44, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcf, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x3d, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcc, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x36, 0xe0, 0xf8, 0x7a, 0xeb, 0x49, 0x08, 0x70, 0x32, 0xe0, 0x38, 0x1c, 0x01, 
+    0x21, 0x8e, 0x46, 0xe9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x33, 0xe0, 0x38, 0x1c, 0x01, 0x21, 
+    0x8e, 0x46, 0xe6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x24, 0xe0, 0x38, 0x1c, 0x01, 0x25, 0xae, 
+    0x46, 0xe4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x38, 0x1c, 0xae, 0x46, 0xe2, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x18, 0xe0, 0x38, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xe0, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x11, 0xe0, 0x38, 0x1c, 0x01, 0x25, 0xae, 0x46, 0xdd, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x38, 0x1c, 0xae, 0x46, 0xdc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x05, 0xe0, 0x38, 0x1c, 0x01, 
+    0x21, 0x8e, 0x46, 0xd9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x38, 0x1c, 0x21, 0x1c, 0x00, 0x22, 
+    0x01, 0x23, 0x9e, 0x46, 0xeb, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe9, 0x48, 0x9c, 0x30, 0x30, 
+    0x62, 0xf0, 0xbd, 0xe9, 0x49, 0x09, 0x78, 0x01, 0x29, 0x03, 0xd0, 0xe8, 0x49, 0x09, 0x78, 
+    0x00, 0x29, 0x02, 0xd1, 
+
+    0x01, 0x05, 0xff, 0xff, 0x2a, 0x70, 0x08, 0x00, 0xfa, 0xe7, 0x49, 0x0e, 0x31, 0x01, 0x62, 
+    0xf7, 0x46, 0xc0, 0x46, 0xcc, 0x5f, 0x08, 0x00, 0x65, 0x0d, 0x02, 0x00, 0xd3, 0x96, 0x02, 
+    0x00, 0xb9, 0x6e, 0x03, 0x00, 0xa2, 0x52, 0x08, 0x00, 0x44, 0x7f, 0x1a, 0x00, 0x6a, 0x0a, 
+    0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x21, 
+    0x50, 0x08, 0x00, 0xb7, 0xc8, 0x01, 0x00, 0xe1, 0xa1, 0x00, 0x00, 0x0e, 0x04, 0x00, 0x00, 
+    0x30, 0xb5, 0xa8, 0x49, 0x09, 0x78, 0x40, 0x69, 0x3f, 0x22, 0x82, 0x1a, 0x01, 0x2a, 0x45, 
+    0xd9, 0x0f, 0x3a, 0xd3, 0x48, 0x1f, 0xd0, 0x2d, 0x3a, 0x5d, 0xd1, 0x00, 0x24, 0x00, 0x78, 
+    0x80, 0x08, 0x0f, 0xd3, 0x01, 0x25, 0xae, 0x46, 0xcf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 
+    0x28, 0x07, 0xd0, 0x01, 0x38, 0x03, 0xd0, 0x02, 0x38, 0x03, 0xd0, 0x01, 0x38, 0x02, 0xd1, 
+    0x02, 0x24, 0x00, 0xe0, 0x2c, 0x1c, 0xcb, 0x48, 0x32, 0x38, 0x21, 0x1c, 0x0b, 0x22, 0x01, 
+    0x23, 0x9e, 0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x00, 0x78, 0x40, 0x08, 
+    0x3c, 0xd3, 0x01, 0x29, 0x3a, 0xd1, 0xc1, 0x48, 0x01, 0x78, 0xc1, 0x48, 0x00, 0x29, 0x09, 
+    0xd0, 0x04, 0x29, 0x0d, 0xd1, 0x06, 0x21, 0x08, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xc0, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x05, 0xe0, 0x01, 0x21, 0x00, 0x22, 0x8e, 0x46, 0xbc, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0xed, 0x48, 0x02, 0x30, 0x01, 0x21, 0x03, 0x22, 0x8e, 0x46, 0xb8, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x00, 0x29, 0x1a, 0xd1, 0xe8, 0x49, 0x01, 0x39, 0x4a, 
+    0x78, 0xe5, 0x48, 0x00, 0x2a, 0x0d, 0xd1, 0x0c, 0x22, 0x51, 0x56, 0x00, 0x29, 0x09, 0xdd, 
+    0x32, 0x29, 0x07, 0xda, 
+
+    0x01, 0x05, 0xff, 0xff, 0x24, 0x71, 0x08, 0x00, 0xfa, 0x16, 0x21, 0x00, 0x22, 0x01, 0x23, 
+    0x9e, 0x46, 0xec, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0x19, 0x21, 0x00, 0x22, 0x01, 
+    0x23, 0x9e, 0x46, 0xe8, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0xda, 0x07, 0x00, 0x00, 
+    0xa2, 0x13, 0x08, 0x00, 0xad, 0x24, 0x00, 0x00, 0x81, 0xf4, 0x00, 0x00, 0x81, 0x97, 0x02, 
+    0x00, 0x27, 0x31, 0x19, 0x00, 0x70, 0xb5, 0xe2, 0x48, 0x00, 0x78, 0xe0, 0x49, 0x08, 0x70, 
+    0x6a, 0x48, 0x00, 0x78, 0x01, 0x28, 0x17, 0xd0, 0xdf, 0x4d, 0x86, 0x3d, 0x28, 0x1c, 0x04, 
+    0x21, 0x01, 0x24, 0xa6, 0x46, 0xec, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1f, 0xd1, 
+    0x28, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xe9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x07, 
+    0x21, 0xa6, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0xbd, 0xc2, 0x4d, 0x4c, 0x35, 
+    0x28, 0x1c, 0x00, 0x26, 0x31, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0xea, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0xe8, 0x49, 0x08, 0x80, 0x28, 0x1c, 0x1c, 0x21, 0x32, 0x1c, 0xa6, 0x46, 0xc8, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x70, 0xbd, 0xc0, 0x46, 0x7f, 0x19, 0x08, 0x00, 0xe9, 0x96, 0x02, 
+    0x00, 0xa3, 0x10, 0x08, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x35, 0x8b, 0x7e, 0x48, 0x00, 0x78, 
+    0x04, 0x28, 0x26, 0xd1, 0xde, 0x4f, 0x38, 0x1c, 0x00, 0x21, 0x01, 0x24, 0xa6, 0x46, 0xdc, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x29, 0x01, 0x01, 0x43, 0x2d, 0x02, 0x0d, 0x43, 0x38, 0x1c, 
+    0x0c, 0x21, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x03, 0x28, 0x43, 0x38, 
+    0x80, 0xb6, 0x4d, 0x3a, 0x3d, 0x38, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xd2, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x41, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0x1e, 0x72, 0x08, 0x00, 0xfa, 0x28, 0x68, 0xa6, 0x46, 0xd1, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0xe9, 0x60, 0xce, 0x48, 0xda, 0x30, 0x30, 0x62, 0xf0, 0xbd, 0xc0, 
+    0x46, 0x25, 0x00, 0x00, 0x00, 0x55, 0x0c, 0x00, 0x00, 0xbd, 0x97, 0x02, 0x00, 0xa9, 0x60, 
+    0x08, 0x00, 0x63, 0x08, 0x00, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x00, 0xb5, 0x30, 0x48, 0x00, 
+    0x78, 0x01, 0x28, 0x0c, 0xd1, 0xc5, 0x49, 0x08, 0x88, 0x10, 0x22, 0x90, 0x43, 0x08, 0x80, 
+    0xc3, 0x48, 0x00, 0x21, 0x06, 0x22, 0x01, 0x23, 0x9e, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x00, 0xbd, 0x00, 0xb5, 0x40, 0x69, 0x41, 0x7c, 0x0f, 0x29, 0x07, 0xd1, 0x00, 0x7c, 
+    0x01, 0x28, 0x04, 0xd1, 0x01, 0x20, 0x86, 0x46, 0xe7, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 
+    0xbd, 0xc0, 0x46, 0x15, 0x60, 0x08, 0x00, 0x7d, 0x24, 0x00, 0x00, 0xc3, 0xf3, 0x00, 0x00, 
+    0x00, 0xb5, 0x40, 0x69, 0x00, 0x7a, 0x0f, 0x28, 0x04, 0xd1, 0x01, 0x20, 0x86, 0x46, 0xde, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0xbd, 0xc0, 0x46, 0x76, 0xfd, 0x00, 0x00, 0x39, 0x05, 
+    0x18, 0x00, 0x55, 0x00, 0x18, 0x00, 0x5d, 0x04, 0x18, 0x00, 0x7f, 0xfd, 0x00, 0x00, 0xd5, 
+    0x5f, 0x08, 0x00, 0xd3, 0x5f, 0x08, 0x00, 0x30, 0xb5, 0xa0, 0x4c, 0x21, 0x88, 0x0e, 0x48, 
+    0x00, 0x78, 0x01, 0x28, 0x1a, 0xd0, 0x83, 0x4d, 0x86, 0x3d, 0x28, 0x1c, 0x04, 0x21, 0x01, 
+    0x24, 0xa6, 0x46, 0x90, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1b, 0xd1, 0x28, 0x1c, 
+    0x08, 0x21, 0xa6, 0x46, 0xcc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 0x1c, 0x07, 0x21, 0xa6, 
+    0x46, 0xc9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0e, 0xe0, 0xc0, 0x46, 0xa2, 0x52, 0x08, 0x00, 
+    0xc4, 0x4d, 0xa9, 0x42, 
+
+    0x01, 0x05, 0xff, 0xff, 0x18, 0x73, 0x08, 0x00, 0xfa, 0x08, 0xd0, 0x63, 0x48, 0x4c, 0x30, 
+    0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0x6e, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x25, 0x80, 0x6e, 
+    0x48, 0x00, 0x78, 0x6c, 0x49, 0x09, 0x78, 0x81, 0x42, 0x04, 0xd0, 0x01, 0x20, 0x86, 0x46, 
+    0x89, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x30, 0xbd, 0xd2, 0x5f, 0x08, 0x00, 0x01, 0x00, 0x18, 
+    0x00, 0xab, 0x06, 0x18, 0x00, 0x95, 0x52, 0x00, 0x00, 0xad, 0x03, 0x18, 0x00, 0x19, 0x06, 
+    0x18, 0x00, 0xed, 0x53, 0x00, 0x00, 0x99, 0x00, 0x18, 0x00, 0x01, 0x07, 0x18, 0x00, 0x00, 
+    0xb5, 0x40, 0x69, 0x00, 0x88, 0x01, 0x04, 0x09, 0x0e, 0x0a, 0x02, 0x09, 0x21, 0x89, 0x02, 
+    0x51, 0x1a, 0x04, 0xd0, 0x0f, 0x20, 0x40, 0x02, 0x09, 0x1a, 0x0e, 0xd0, 0x00, 0xbd, 0x00, 
+    0x06, 0x00, 0x0e, 0x09, 0x28, 0x12, 0xd1, 0xa8, 0x49, 0xa8, 0x4a, 0x09, 0x32, 0x05, 0x20, 
+    0x01, 0x23, 0x9e, 0x46, 0xa9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0xa5, 0x49, 0xa5, 
+    0x48, 0x42, 0x1d, 0x05, 0x20, 0x01, 0x23, 0x9e, 0x46, 0xa4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x00, 0xbd, 0xc0, 0x46, 0x11, 0x67, 0x00, 0x00, 0xb5, 0x41, 0x05, 0x00, 0x37, 0x10, 0x08, 
+    0x00, 0x30, 0x25, 0x08, 0x00, 0x5f, 0x44, 0x05, 0x00, 0x4e, 0x50, 0x08, 0x00, 0xed, 0x01, 
+    0x01, 0x00, 0x70, 0x55, 0x08, 0x00, 0x88, 0x7c, 0x1a, 0x00, 0x48, 0x31, 0x19, 0x00, 0x65, 
+    0xab, 0x04, 0x00, 0x7b, 0xab, 0x04, 0x00, 0x30, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x48, 
+    0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xd9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xe5, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xe4, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 
+    0xe3, 0x48, 0xfe, 0x44, 
+
+    0x01, 0x05, 0xff, 0xff, 0x12, 0x74, 0x08, 0x00, 0xfa, 0x00, 0x47, 0xde, 0x4d, 0x6a, 0x78, 
+    0x01, 0x2a, 0x08, 0xd1, 0xa6, 0x46, 0xe0, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xdf, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0x6a, 0x78, 0xde, 0x4b, 0x18, 0x78, 0x00, 0x28, 0x1b, 0xd0, 
+    0xde, 0x49, 0x01, 0x28, 0x12, 0xd0, 0xdb, 0x4d, 0x2d, 0x78, 0x03, 0x28, 0x02, 0xd0, 0x00, 
+    0x2d, 0x02, 0xd1, 0x11, 0xe0, 0x00, 0x2d, 0x09, 0xd0, 0x02, 0x28, 0x0d, 0xd1, 0x03, 0x20, 
+    0x18, 0x70, 0xa0, 0x20, 0x08, 0x70, 0x59, 0x20, 0x48, 0x70, 0x32, 0x20, 0x04, 0xe0, 0x02, 
+    0x20, 0x18, 0x70, 0x00, 0x20, 0x08, 0x70, 0x48, 0x70, 0x88, 0x70, 0x01, 0x2a, 0x18, 0xd1, 
+    0xd0, 0x48, 0x00, 0x21, 0xa6, 0x46, 0xcf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0x3b, 
+    0x48, 0x05, 0xd1, 0x0a, 0x21, 0xa6, 0x46, 0x29, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 
+    0x0a, 0x21, 0xa6, 0x46, 0x65, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x24, 0xe1, 0x48, 0x00, 
+    0x68, 0x41, 0x21, 0x0c, 0x54, 0x30, 0xbd, 0xc0, 0x46, 0x0c, 0x74, 0x1a, 0x00, 0x1e, 0xf6, 
+    0x1a, 0x00, 0x7d, 0x51, 0x08, 0x00, 0x10, 0xb5, 0xdc, 0x4c, 0xdd, 0x48, 0x00, 0x78, 0x21, 
+    0x78, 0x81, 0x42, 0x0d, 0xdd, 0x07, 0x21, 0xd9, 0x48, 0x00, 0x22, 0x32, 0x23, 0x1b, 0x5c, 
+    0x00, 0x2b, 0x02, 0xd0, 0x52, 0x1c, 0x12, 0x06, 0x12, 0x0e, 0xac, 0x30, 0x01, 0x39, 0xf5, 
+    0xd1, 0x22, 0x70, 0x10, 0xbd, 0x1f, 0xac, 0x04, 0x00, 0xd6, 0x5f, 0x08, 0x00, 0x0a, 0x53, 
+    0x08, 0x00, 0x04, 0x7d, 0x1a, 0x00, 0xf0, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0xd2, 0x48, 0xfe, 
+    0x44, 0x00, 0x47, 0xa6, 0x46, 0xcd, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x10, 0xd0, 
+    0x11, 0x27, 0x09, 0x26, 
+
+    0x01, 0x05, 0xff, 0xff, 0x0c, 0x75, 0x08, 0x00, 0xfa, 0xca, 0x4d, 0x3e, 0x20, 0x40, 0x5d, 
+    0xff, 0x28, 0x06, 0xd0, 0x3b, 0x20, 0x47, 0x55, 0x28, 0x1c, 0xa6, 0x46, 0xc7, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x4c, 0x35, 0x01, 0x3e, 0xf1, 0xd1, 0xf0, 0xbd, 0x77, 0xae, 0x04, 0x00, 
+    0xfd, 0xaa, 0x04, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0xc2, 0x48, 0x04, 0x21, 0x01, 0x22, 0x96, 
+    0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x84, 0x48, 0x34, 0x30, 
+    0x20, 0x62, 0x10, 0xbd, 0xc0, 0x46, 0xd8, 0x5f, 0x08, 0x00, 0xd1, 0xae, 0x04, 0x00, 0x1e, 
+    0x60, 0x1a, 0x00, 0x9f, 0xae, 0x04, 0x00, 0x47, 0xa5, 0x03, 0x00, 0x2d, 0x6a, 0x05, 0x00, 
+    0x44, 0x7f, 0x1a, 0x00, 0x6a, 0x0a, 0x1a, 0x00, 0x30, 0xb5, 0x04, 0x1c, 0x20, 0x69, 0xa1, 
+    0x69, 0x00, 0x29, 0x44, 0xd0, 0x02, 0x78, 0xff, 0x2a, 0x41, 0xd0, 0x8a, 0x88, 0x89, 0x18, 
+    0x08, 0x22, 0xca, 0x42, 0x3c, 0xd0, 0x09, 0x7a, 0x4a, 0x08, 0xc9, 0x07, 0xc9, 0x0f, 0xc3, 
+    0x78, 0x00, 0x2b, 0x0a, 0xd0, 0x11, 0x2a, 0x08, 0xd1, 0x8b, 0x42, 0x06, 0xd1, 0xc3, 0x7f, 
+    0xdb, 0x08, 0x03, 0xd3, 0xa6, 0x4b, 0x1b, 0x78, 0xdb, 0x08, 0x1b, 0xd2, 0x3a, 0x23, 0x1b, 
+    0x5c, 0x25, 0x2b, 0x01, 0xd1, 0x17, 0x2a, 0x0d, 0xd0, 0x39, 0x23, 0x1b, 0x5c, 0x0a, 0x2b, 
+    0x20, 0xd1, 0x0f, 0x2a, 0x1e, 0xd1, 0x0f, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, 0x9d, 
+    0x4d, 0xfe, 0x44, 0x28, 0x47, 0x13, 0xe0, 0x17, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, 
+    0x99, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x0b, 0xe0, 0xff, 0x22, 0x8a, 0x32, 0x11, 0x23, 0x13, 
+    0x54, 0xff, 0x22, 0x89, 0x32, 0x11, 0x54, 0x01, 0x21, 0x8e, 0x46, 0x95, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x92, 0x48, 
+
+    0x01, 0x05, 0xff, 0xff, 0x06, 0x76, 0x08, 0x00, 0xfa, 0xf0, 0x30, 0x20, 0x62, 0x30, 0xbd, 
+    0x00, 0xb5, 0x92, 0x49, 0x93, 0x48, 0x92, 0x4a, 0x12, 0x18, 0x15, 0x20, 0x01, 0x23, 0x9e, 
+    0x46, 0x08, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0x4d, 0x72, 0x08, 0x00, 0xff, 0xff, 
+    0x00, 0x00, 0x15, 0xab, 0x04, 0x00, 0x6d, 0x62, 0x08, 0x00, 0x45, 0xee, 0x00, 0x00, 0x27, 
+    0x62, 0x08, 0x00, 0x5d, 0x8c, 0x01, 0x00, 0xa1, 0x69, 0x08, 0x00, 0x70, 0xb5, 0x05, 0x1c, 
+    0x6e, 0x69, 0x28, 0x69, 0x29, 0x7e, 0xc9, 0x1e, 0x55, 0xd0, 0x21, 0x39, 0x43, 0xd0, 0x01, 
+    0x39, 0x01, 0x29, 0x2d, 0xd9, 0x02, 0x39, 0x01, 0x29, 0x16, 0xd9, 0x58, 0x39, 0x77, 0xd1, 
+    0xff, 0x21, 0x8d, 0x31, 0x89, 0x5d, 0x0c, 0x29, 0x72, 0xd1, 0x7c, 0x49, 0xc2, 0x78, 0x4a, 
+    0x70, 0x02, 0x79, 0x8a, 0x70, 0x42, 0x79, 0xca, 0x70, 0x82, 0x79, 0x0a, 0x71, 0xc2, 0x79, 
+    0x4a, 0x71, 0x02, 0x7a, 0xca, 0x80, 0x80, 0x7a, 0x08, 0x81, 0x70, 0xbd, 0x71, 0x7e, 0x00, 
+    0x29, 0x5f, 0xd0, 0x26, 0x21, 0x89, 0x5d, 0x03, 0x29, 0x5b, 0xda, 0xc2, 0x78, 0xf9, 0x21, 
+    0x11, 0x40, 0xc1, 0x70, 0x01, 0x79, 0x49, 0x06, 0x49, 0x0e, 0x01, 0x71, 0x42, 0x79, 0xfe, 
+    0x21, 0x11, 0x40, 0x41, 0x71, 0x70, 0xbd, 0x31, 0x7e, 0x00, 0x29, 0x4b, 0xd0, 0x00, 0x78, 
+    0x03, 0x28, 0x48, 0xda, 0x71, 0x7f, 0xf9, 0x20, 0x08, 0x40, 0x70, 0x77, 0xb0, 0x7f, 0x40, 
+    0x06, 0x40, 0x0e, 0xb0, 0x77, 0xf1, 0x7f, 0xfe, 0x20, 0x08, 0x40, 0xf0, 0x77, 0x70, 0xbd, 
+    0x01, 0x24, 0xa6, 0x46, 0x57, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x52, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x00, 0x28, 0x30, 0xd0, 0x5d, 0x48, 0x5c, 0x49, 0x08, 0x18, 0x28, 0x62, 
+    0x70, 0xbd, 0x00, 0x78, 
+
+    0x01, 0x05, 0xff, 0xff, 0x00, 0x77, 0x08, 0x00, 0xfa, 0x11, 0x28, 0x28, 0xd1, 0xff, 0x20, 
+    0x71, 0x30, 0x80, 0x19, 0x01, 0x24, 0xa6, 0x46, 0x58, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x81, 
+    0x21, 0xc9, 0x00, 0x00, 0x88, 0x88, 0x42, 0x1b, 0xd1, 0x55, 0x49, 0xb0, 0x88, 0x88, 0x42, 
+    0x17, 0xd1, 0x3a, 0x20, 0x80, 0x5d, 0x00, 0x28, 0x03, 0xd1, 0x39, 0x21, 0x89, 0x5d, 0x0f, 
+    0x29, 0x0d, 0xd0, 0x0f, 0x28, 0x0d, 0xd1, 0x39, 0x20, 0x80, 0x5d, 0x00, 0x28, 0x09, 0xd1, 
+    0x00, 0x21, 0xb1, 0x80, 0x30, 0x1c, 0xa6, 0x46, 0x4b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 
+    0xbd, 0x00, 0x20, 0xb0, 0x80, 0x70, 0xbd, 0xbb, 0x2e, 0x05, 0x00, 0x71, 0x8d, 0x02, 0x00, 
+    0x70, 0xb5, 0x05, 0x1c, 0x6e, 0x69, 0x49, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0e, 0xd1, 0x03, 
+    0x20, 0x42, 0x49, 0x01, 0x24, 0xa6, 0x46, 0x42, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x1c, 
+    0xa6, 0x46, 0x40, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x40, 0x48, 0x1a, 0x30, 0x28, 0x62, 0x70, 
+    0xbd, 0xc0, 0x46, 0xa1, 0x52, 0x08, 0x00, 0x75, 0x59, 0x04, 0x00, 0xb5, 0x74, 0x08, 0x00, 
+    0xf1, 0x74, 0x08, 0x00, 0xd9, 0x5b, 0x18, 0x00, 0x61, 0x5c, 0x18, 0x00, 0x22, 0x50, 0x08, 
+    0x00, 0x20, 0x24, 0x08, 0x00, 0x10, 0x31, 0x19, 0x00, 0x4a, 0x75, 0x1a, 0x00, 0x59, 0xae, 
+    0x04, 0x00, 0xf0, 0xb5, 0xa4, 0xb0, 0x06, 0x1c, 0x31, 0x7c, 0x75, 0x69, 0xa8, 0x7c, 0x00, 
+    0x28, 0x03, 0xd1, 0x28, 0x68, 0xc0, 0x78, 0x00, 0x28, 0x25, 0xd1, 0x04, 0x29, 0x23, 0xd1, 
+    0x28, 0x68, 0x01, 0x78, 0x1b, 0x20, 0x01, 0x24, 0xa6, 0x46, 0x2b, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, 0xa6, 0x46, 0x28, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x12, 0x21, 0x4f, 0x19, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfa, 0x77, 0x08, 0x00, 0xfa, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, 
+    0x3a, 0x1c, 0xa6, 0x46, 0x24, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe8, 0x74, 0x15, 0x48, 0x39, 
+    0x1c, 0xa6, 0x46, 0x22, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd0, 0x02, 0x20, 
+    0x30, 0x61, 0x24, 0xb0, 0xf0, 0xbd, 0x38, 0x24, 0x08, 0x00, 0x2b, 0x10, 0x08, 0x00, 0x94, 
+    0x1a, 0x08, 0x00, 0x21, 0x50, 0x08, 0x00, 0xcd, 0x05, 0x01, 0x00, 0xb4, 0x46, 0x08, 0x00, 
+    0xd1, 0x34, 0x02, 0x00, 0xed, 0x01, 0x01, 0x00, 0x4a, 0x0c, 0x1a, 0x00, 0x99, 0x16, 0x08, 
+    0x00, 0xcb, 0xbf, 0x00, 0x00, 0xd1, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x03, 0x00, 0x45, 0x60, 
+    0x08, 0x00, 0x89, 0x02, 0x00, 0x00, 0xb9, 0xd1, 0x01, 0x00, 0x08, 0x60, 0x08, 0x00, 0x22, 
+    0x0c, 0x00, 0x00, 0x4d, 0xa8, 0x00, 0x00, 0x55, 0xf3, 0x03, 0x00, 0x05, 0x04, 0x00, 0x00, 
+    0xb7, 0xc8, 0x01, 0x00, 0xab, 0x05, 0x00, 0x00, 0x39, 0xa7, 0x04, 0x00, 0x4d, 0xee, 0x03, 
+    0x00, 0x7d, 0xbb, 0x03, 0x00, 0xd2, 0x5f, 0x08, 0x00, 0xaf, 0xf3, 0x04, 0x00, 0xb9, 0x08, 
+    0x01, 0x00, 0x87, 0x2d, 0x01, 0x00, 0xad, 0xaf, 0x02, 0x00, 0xff, 0xb5, 0x68, 0x46, 0xfe, 
+    0xf0, 0xfb, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x5b, 0xfd, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x96, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0x3b, 0xfa, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x52, 0xfe, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x43, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0x6c, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x8f, 0xfe, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 
+
+    0x01, 0x05, 0xff, 0x83, 0xf4, 0x78, 0x08, 0x00, 0x7e, 0xff, 0xf7, 0xa6, 0xfe, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x19, 0xfe, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0xef, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x3b, 0xfa, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x7d, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0xc9, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xed, 0xfa, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x97, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0xaa, 0xfc, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xbf, 0xfc, 0xff, 0xbd, 
+    0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x8b, 0xfc, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 
+    0xf7, 0xfb, 0xfb, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x32, 0xfc, 0xff, 0xbd, 
+    
+
+    0x01, 0x05, 0xff, 0x0d, 0x74, 0x7b, 0x08, 0x00, 0x08, 0x00, 0xb5, 0xf8, 0xf0, 0xf3, 0xfe, 
+    0x00, 0xbd, 
+
+    0x01, 0x05, 0xff, 0x85, 0x80, 0x7b, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5f, 
+    0x18, 0x00, 0x0f, 0x6b, 0x08, 0x00, 0x49, 0x6a, 0x08, 0x00, 0x27, 0x62, 0x08, 0x00, 0x87, 
+    0x62, 0x08, 0x00, 0xfb, 0x62, 0x08, 0x00, 0xe1, 0x5f, 0x08, 0x00, 0xeb, 0x6a, 0x08, 0x00, 
+    0x37, 0x63, 0x08, 0x00, 0x91, 0x63, 0x08, 0x00, 0x59, 0x64, 0x08, 0x00, 0xd9, 0x63, 0x08, 
+    0x00, 0xd1, 0x6b, 0x08, 0x00, 0x81, 0x6b, 0x08, 0x00, 0x43, 0x68, 0x08, 0x00, 0x6d, 0x68, 
+    0x08, 0x00, 0x99, 0x68, 0x08, 0x00, 0xaf, 0x69, 0x08, 0x00, 0x27, 0x68, 0x08, 0x00, 0x33, 
+    0x68, 0x08, 0x00, 0x5d, 0x5f, 0x18, 0x00, 0x29, 0x69, 0x08, 0x00, 0x71, 0x69, 0x08, 0x00, 
+    0xcf, 0x69, 0x08, 0x00, 0x0d, 0x6a, 0x08, 0x00, 0xd7, 0x61, 0x08, 0x00, 0xdd, 0x61, 0x08, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x6a, 0x08, 0x00, 0x45, 0x65, 0x08, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x85, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xa8, 0x4e, 
+    0x02, 0x00, 0xb0, 0x4d, 0x02, 0x00, 0xe4, 0xc8, 0x01, 0x00, 0x62, 0x8c, 0x01, 0x00, 0xcc, 
+    0x22, 0x01, 0x00, 0x98, 0x9e, 0x01, 0x00, 0x5c, 0x24, 0x03, 0x00, 0x8c, 0xa1, 0x03, 0x00, 
+    0xc4, 0x62, 0x03, 0x00, 0x68, 0xd6, 0x02, 0x00, 0x92, 0x49, 0x02, 0x00, 0x64, 0x4c, 0x02, 
+    0x00, 0x8a, 0x8f, 0x02, 0x00, 0xc2, 0x95, 0x01, 0x00, 0x74, 0x31, 0x05, 0x00, 0xdc, 0x5f, 
+    0x03, 0x00, 0xbe, 0xd8, 0x01, 0x00, 0xd2, 0xa4, 0x03, 0x00, 0x14, 0xd8, 0x04, 0x00, 0x52, 
+    0x36, 0x00, 0x00, 0x78, 0x4f, 0x02, 0x00, 0x28, 0x32, 0x04, 0x00, 0x3a, 0xd5, 0x01, 0x00, 
+    0x0c, 0x97, 0x02, 0x00, 0x20, 0x9a, 0x01, 0x00, 0x4c, 0x9d, 0x04, 0x00, 0x4a, 0x36, 0x03, 
+    0x00, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x2a, 0x02, 0x00, 0x12, 0xef, 0x02, 0x00, 0xff, 0xff, 
+    0xff, 0xff, 
+
+    0x01, 0x05, 0xff, 0xff, 0x00, 0x00, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xff, 0xb0, 0xfc, 0xb0, 
+    0x05, 0x1c, 0x00, 0x21, 0x01, 0x24, 0xa6, 0x46, 0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xeb, 
+    0x7b, 0xe0, 0x49, 0xfa, 0x2b, 0x12, 0xdc, 0xda, 0x1c, 0x92, 0x10, 0x05, 0xd0, 0x01, 0xae, 
+    0x07, 0x68, 0x37, 0x60, 0x04, 0x36, 0x01, 0x3a, 0xfa, 0xd1, 0x68, 0x46, 0x03, 0x70, 0x28, 
+    0x1c, 0x00, 0x22, 0x01, 0xab, 0xa6, 0x46, 0xd8, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x05, 0xe0, 
+    0x28, 0x1c, 0x1e, 0x22, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x7f, 0xb0, 0x7c, 
+    0xb0, 0xf0, 0xbd, 0x7e, 0xb5, 0x0f, 0x20, 0x6d, 0x46, 0x28, 0x72, 0xd1, 0x48, 0x00, 0x78, 
+    0xe8, 0x80, 0x7d, 0x26, 0xf6, 0x00, 0x04, 0xe0, 0x0a, 0x20, 0xa6, 0x46, 0xce, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x68, 0x46, 0x01, 0x24, 0xa6, 0x46, 0xed, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x00, 0x28, 0x05, 0xd0, 0x30, 0x1c, 0x41, 0x1e, 0x0e, 0x04, 0x36, 0x0c, 0x00, 0x28, 0xec, 
+    0xd1, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x7e, 0xbd, 0xfc, 0xb5, 0x06, 0x1c, 
+    0xf1, 0x7a, 0x00, 0x91, 0x01, 0x21, 0x0c, 0x1c, 0x8e, 0x46, 0xbb, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x05, 0x1c, 0xb0, 0x7d, 0x01, 0x90, 0xde, 0x48, 0x00, 0x78, 0xe0, 0x4e, 0x00, 0x28, 
+    0x00, 0xd0, 0xc3, 0xe0, 0x69, 0x1c, 0x00, 0xd1, 0xc0, 0xe0, 0x30, 0x1c, 0x00, 0x78, 0x01, 
+    0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 
+    0xd8, 0x49, 0x08, 0x18, 0xd8, 0x49, 0xa6, 0x46, 0xd8, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 
+    0x04, 0x09, 0x0c, 0xd8, 0x48, 0x04, 0x30, 0x06, 0x22, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xd4, 0x48, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfa, 0x00, 0x18, 0x00, 0xfa, 0x5a, 0x30, 0x00, 0x21, 0xa6, 0x46, 
+    0xd3, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x1c, 0xd0, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xd0, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x86, 0x19, 0x14, 0x2e, 0x00, 0xd8, 0x14, 0x26, 0xcd, 0x4f, 
+    0x38, 0x1c, 0x0a, 0x21, 0xa6, 0x46, 0xcc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x28, 0x43, 
+    0xd0, 0x00, 0x98, 0x01, 0x28, 0x40, 0xd0, 0xc0, 0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, 
+    0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0xbc, 0x49, 0x08, 
+    0x18, 0xbc, 0x49, 0xa6, 0x46, 0xbc, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x88, 0x1b, 0x01, 0x04, 
+    0x09, 0x0c, 0x00, 0x26, 0x38, 0x1c, 0x32, 0x1c, 0xa6, 0x46, 0xb8, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0xf0, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xb7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 
+    0xec, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xb4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x42, 0x06, 
+    0xdd, 0xe8, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xb0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 
+    0xe5, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xac, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0xa9, 
+    0x48, 0x31, 0x1c, 0xa6, 0x46, 0xa9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x3e, 0x18, 0x08, 0x36, 
+    0x2c, 0xe0, 0x38, 0x1c, 0x14, 0x21, 0x00, 0x22, 0xa6, 0x46, 0xa2, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0xd9, 0x48, 0x08, 0x21, 0xa6, 0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 
+    0xd6, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb8, 0x42, 0x06, 
+    0xdd, 0xd2, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x99, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 
+    0xce, 0x48, 0x08, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf4, 0x01, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x96, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x07, 0x1c, 0x93, 0x48, 0x00, 0x21, 0xa6, 0x46, 0x92, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x38, 0x18, 0x36, 0x18, 0x1e, 0x36, 0x89, 0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, 
+    0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x85, 0x49, 0x08, 
+    0x18, 0x85, 0x49, 0xa6, 0x46, 0x85, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0x18, 0x01, 0x04, 
+    0x09, 0x0c, 0xbd, 0x48, 0x00, 0x22, 0xa6, 0x46, 0xbd, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x93, 
+    0xe0, 0x01, 0x28, 0x00, 0xd0, 0xa1, 0xe0, 0x69, 0x1c, 0x00, 0xd1, 0x8f, 0xe0, 0x7e, 0x48, 
+    0x7e, 0x30, 0x00, 0x21, 0xa6, 0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x7a, 
+    0x48, 0x82, 0x30, 0x00, 0x21, 0xa6, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc7, 0x19, 
+    0x76, 0x48, 0x02, 0x38, 0x00, 0x21, 0xa6, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xe3, 
+    0x49, 0x01, 0x28, 0x34, 0xd0, 0x00, 0x98, 0x01, 0x28, 0x31, 0xd0, 0x30, 0x78, 0x01, 0x28, 
+    0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x67, 
+    0x49, 0x08, 0x18, 0x67, 0x49, 0xa6, 0x46, 0x67, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1b, 
+    0x01, 0x04, 0x09, 0x0c, 0xd7, 0x48, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 
+    0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 
+    0x68, 0x43, 0x5b, 0x49, 0x08, 0x18, 0x5b, 0x49, 0xa6, 0x46, 0x5b, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x48, 0x1d, 0x01, 0x04, 0x09, 0x0c, 0x93, 0x48, 0x00, 0x22, 0xa6, 0x46, 0x92, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 
+
+    0x01, 0x05, 0xff, 0xff, 0xee, 0x02, 0x18, 0x00, 0xfa, 0x3e, 0xe0, 0x08, 0x1c, 0x00, 0x21, 
+    0xa6, 0x46, 0xc7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x53, 0x48, 0x90, 0x30, 0x00, 0x21, 0xa6, 
+    0x46, 0xc3, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 
+    0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x47, 0x49, 0x08, 0x18, 0x47, 
+    0x49, 0xa6, 0x46, 0x47, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0x04, 0x09, 0x0c, 0x47, 0x48, 
+    0x8e, 0x30, 0xa6, 0x46, 0xb7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0x01, 0x28, 0x02, 
+    0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x3b, 0x49, 
+    0x08, 0x18, 0x3b, 0x49, 0xa6, 0x46, 0x3b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x78, 0x18, 0x05, 
+    0x30, 0x01, 0x04, 0x09, 0x0c, 0x73, 0x48, 0x00, 0x22, 0xa6, 0x46, 0x72, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x2f, 0x48, 0x00, 0x78, 0x01, 0x28, 0x0c, 0xd1, 0x00, 0x98, 0x00, 0x28, 0x09, 
+    0xd0, 0x01, 0x98, 0xff, 0x28, 0x06, 0xd1, 0x32, 0x48, 0x04, 0x21, 0x08, 0x22, 0xa6, 0x46, 
+    0xda, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xfc, 0xbd, 0xc0, 0x46, 0x91, 0x24, 0x00, 0x00, 0x7f, 
+    0xfd, 0x00, 0x00, 0x29, 0x42, 0x05, 0x00, 0xb5, 0x41, 0x05, 0x00, 0x7e, 0x51, 0x08, 0x00, 
+    0x3f, 0x4a, 0x04, 0x00, 0x70, 0xb5, 0x45, 0x7b, 0x86, 0x7b, 0x1e, 0x49, 0x09, 0x78, 0x01, 
+    0x29, 0x37, 0xd1, 0x00, 0x7b, 0x40, 0x1e, 0x07, 0xd0, 0x01, 0x38, 0x03, 0xd0, 0x01, 0x38, 
+    0x30, 0xd1, 0x00, 0x21, 0x02, 0xe0, 0x02, 0x21, 0x00, 0xe0, 0x03, 0x21, 0x1e, 0x48, 0x32, 
+    0x30, 0x07, 0x22, 0x01, 0x24, 0xa6, 0x46, 0xc7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xc5, 0x48, 
+    0x01, 0x2d, 0x11, 0xd0, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe8, 0x03, 0x18, 0x00, 0xfa, 0x00, 0x2d, 0x08, 0xd0, 0x02, 0x2d, 
+    0x1c, 0xd1, 0x00, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xc1, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 
+    0xbd, 0x03, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xbd, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0xbd, 
+    0x00, 0x2e, 0x06, 0xd1, 0x02, 0x21, 0x0e, 0x22, 0xa6, 0x46, 0xb9, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x70, 0xbd, 0x21, 0x1c, 0x0e, 0x22, 0xa6, 0x46, 0xb5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x70, 0xbd, 0xa2, 0x52, 0x08, 0x00, 0xe7, 0x63, 0x04, 0x00, 0x23, 0xda, 0x03, 0x00, 0x0b, 
+    0x53, 0x08, 0x00, 0x3f, 0x42, 0x0f, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x2d, 0x6a, 0x05, 0x00, 
+    0xbd, 0xac, 0x04, 0x00, 0x16, 0x74, 0x1a, 0x00, 0xd1, 0xae, 0x04, 0x00, 0x42, 0x74, 0x1a, 
+    0x00, 0x81, 0xae, 0x04, 0x00, 0xf0, 0xb5, 0xdc, 0x49, 0x09, 0x78, 0x01, 0x29, 0x60, 0xd1, 
+    0xc2, 0x7a, 0xd4, 0x49, 0x0a, 0x70, 0xd4, 0x49, 0x03, 0x7b, 0x0b, 0x70, 0x40, 0x7b, 0xd3, 
+    0x4b, 0x18, 0x70, 0x00, 0x2a, 0x55, 0xd1, 0x9e, 0x4d, 0x2f, 0x1c, 0xb4, 0x3f, 0xd1, 0x4e, 
+    0x01, 0x24, 0xa6, 0x46, 0xd0, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 
+    0x08, 0x05, 0xd0, 0x30, 0x1c, 0x41, 0x1e, 0x0e, 0x04, 0x36, 0x0c, 0x00, 0x28, 0xf0, 0xd1, 
+    0xa6, 0x46, 0xc9, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 0x08, 0x04, 
+    0xd0, 0x58, 0x20, 0xa6, 0x46, 0xe8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x26, 0x0c, 0x20, 
+    0x02, 0x1c, 0xe6, 0x48, 0x31, 0x1c, 0xa6, 0x46, 0xe5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x08, 
+    0x20, 0x02, 0x1c, 0x28, 0x1c, 0x28, 0x38, 0x31, 0x1c, 0xa6, 0x46, 0xe2, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x04, 0x3d, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe2, 0x04, 0x18, 0x00, 0xfa, 0x28, 0x1c, 0x21, 0x1c, 0x0c, 0x22, 
+    0xa6, 0x46, 0x84, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xde, 0x48, 0x08, 0x30, 0x08, 0x21, 0xa6, 
+    0x46, 0xdb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0xdb, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0xd8, 0x48, 0x07, 0x21, 0xa6, 0x46, 0x3f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xaa, 
+    0x49, 0x08, 0x70, 0x28, 0x1c, 0x31, 0x1c, 0x0c, 0x22, 0xa6, 0x46, 0x76, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x3e, 0x80, 0xf0, 0xbd, 0xc0, 0x46, 0x44, 0x74, 0x1a, 0x00, 0x04, 0x60, 0x1a, 
+    0x00, 0xf3, 0xac, 0x04, 0x00, 0xf0, 0xb5, 0x85, 0xb0, 0x6c, 0x46, 0x0b, 0x21, 0x09, 0x18, 
+    0x68, 0x46, 0x14, 0x22, 0x01, 0x26, 0xb6, 0x46, 0xca, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 
+    0x78, 0x01, 0x28, 0x01, 0xd0, 0x02, 0x28, 0x12, 0xd1, 0x9a, 0x48, 0x00, 0x78, 0x04, 0xab, 
+    0x00, 0x22, 0x99, 0x56, 0x81, 0x42, 0x0b, 0xdd, 0x99, 0x56, 0x08, 0x1a, 0x03, 0x06, 0x1b, 
+    0x0e, 0x10, 0x21, 0x68, 0x46, 0x40, 0x1c, 0x85, 0x56, 0xed, 0x1a, 0x05, 0x70, 0x01, 0x39, 
+    0xf9, 0xd1, 0x21, 0x78, 0xbd, 0x48, 0x00, 0x29, 0x30, 0xd0, 0x01, 0x39, 0x26, 0xd0, 0x01, 
+    0x39, 0x1d, 0xd0, 0x01, 0x39, 0x31, 0xd1, 0x67, 0x1c, 0x05, 0x1c, 0x78, 0x3d, 0x58, 0x20, 
+    0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xb3, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x68, 
+    0x20, 0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xaf, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x78, 0x20, 0x40, 0x19, 0x39, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xab, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x15, 0xe0, 0x61, 0x1c, 0x10, 0x22, 0xb6, 0x46, 0xa8, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x0e, 0xe0, 0x61, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0xdc, 0x05, 0x18, 0x00, 0xfa, 0x10, 0x38, 0x10, 0x22, 0xb6, 0x46, 
+    0xa4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x06, 0xe0, 0x61, 0x1c, 0x20, 0x38, 0x10, 0x22, 0xb6, 
+    0x46, 0xa0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x60, 0x8a, 0xa0, 0x49, 0x08, 0x80, 0x05, 0xb0, 
+    0xf0, 0xbd, 0xc0, 0x46, 0xdb, 0xae, 0x04, 0x00, 0xf9, 0xae, 0x04, 0x00, 0x59, 0xae, 0x04, 
+    0x00, 0x92, 0x74, 0x1a, 0x00, 0xe9, 0xac, 0x04, 0x00, 0xf8, 0xb5, 0x04, 0x1c, 0x27, 0x7b, 
+    0xe0, 0x7a, 0x97, 0x49, 0x09, 0x78, 0x81, 0x42, 0x3f, 0xd1, 0x93, 0x48, 0x24, 0x38, 0x00, 
+    0x88, 0x61, 0x7b, 0x81, 0x42, 0x39, 0xd1, 0xa0, 0x7b, 0x00, 0x90, 0x93, 0x48, 0x05, 0x1c, 
+    0x02, 0x3d, 0x28, 0x1c, 0x14, 0x21, 0x01, 0x26, 0xb6, 0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x8e, 0x48, 0x0b, 0x21, 0x00, 0x22, 0xb6, 0x46, 0x82, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x28, 0x1c, 0x14, 0x21, 0xb6, 0x46, 0x81, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x88, 0x4d, 0x06, 
+    0x3d, 0xb8, 0x01, 0xe8, 0x82, 0x2f, 0x8a, 0x19, 0x20, 0x28, 0x82, 0x02, 0x20, 0xb6, 0x46, 
+    0x7d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x98, 0x00, 0x28, 0x10, 0xd0, 0x00, 0x98, 0xc0, 
+    0x1c, 0x82, 0x10, 0xa1, 0x7c, 0xe0, 0x7c, 0x00, 0x02, 0x08, 0x43, 0x21, 0x7d, 0x09, 0x04, 
+    0x01, 0x43, 0x60, 0x7d, 0x00, 0x06, 0x08, 0x43, 0x28, 0x60, 0x04, 0x34, 0x01, 0x3a, 0xf1, 
+    0xd1, 0x2f, 0x82, 0xf8, 0xbd, 0x30, 0xb5, 0xc5, 0x7a, 0x01, 0x24, 0xa6, 0x46, 0x76, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0x75, 0x48, 0x01, 0x78, 0x75, 0x48, 0x00, 0x2d, 0x0d, 0xd0, 0x01, 
+    0x2d, 0x01, 0xd0, 0x02, 0x2d, 0x12, 0xd1, 0x0c, 0x22, 0x4a, 0x43, 0x72, 0x49, 0x89, 0x18, 
+    0x0c, 0x22, 0xa6, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd6, 0x06, 0x18, 0x00, 0xfa, 0x67, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x30, 0xbd, 0x0c, 0x22, 0x4a, 0x43, 0x6e, 0x49, 0x89, 0x18, 0x0c, 0x22, 0xa6, 0x46, 0x62, 
+    0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xbd, 0xc0, 0x46, 0x1f, 0xac, 0x04, 0x00, 0xb4, 0x7c, 
+    0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0xf0, 0xb5, 0x07, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0x65, 
+    0x49, 0xfe, 0x44, 0x08, 0x47, 0x7e, 0x7b, 0x2f, 0x4d, 0x01, 0x3d, 0x68, 0x78, 0x71, 0x08, 
+    0x30, 0xd1, 0xb9, 0x7b, 0x00, 0x28, 0x17, 0xd1, 0x01, 0x29, 0x0d, 0xd1, 0x61, 0x48, 0x0a, 
+    0x38, 0x00, 0x21, 0x04, 0x22, 0xa6, 0x46, 0x4c, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, 
+    0x21, 0x1c, 0x8e, 0x46, 0x5a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x59, 0x48, 0x68, 0x38, 0x0a, 
+    0x21, 0xa6, 0x46, 0x47, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0xe0, 0x01, 0x28, 0x14, 0xd1, 
+    0x41, 0x48, 0x00, 0x21, 0x04, 0x22, 0xa6, 0x46, 0x40, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 
+    0x1c, 0x05, 0x21, 0xa6, 0x46, 0x4e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x4e, 0x48, 0x00, 0x21, 
+    0xa6, 0x46, 0x43, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x68, 0x78, 0xb9, 0x7b, 0x00, 0x28, 0x1a, 
+    0xd1, 0x01, 0x29, 0x18, 0xd1, 0x02, 0x2e, 0x05, 0xd0, 0x03, 0x2e, 0x03, 0xd0, 0x04, 0x2e, 
+    0x01, 0xd0, 0x01, 0x2e, 0x10, 0xd1, 0xf8, 0x7b, 0x00, 0x28, 0x0d, 0xd1, 0x42, 0x48, 0x54, 
+    0x38, 0x00, 0x21, 0x0a, 0x1c, 0xa6, 0x46, 0x42, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x3f, 0x48, 
+    0x21, 0x1c, 0x8e, 0x46, 0x34, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xf0, 0xbd, 0xc0, 0x46, 0xd4, 
+    0x5f, 0x08, 0x00, 0xd5, 0x5f, 0x08, 0x00, 0xd3, 0x5f, 0x08, 0x00, 0xff, 0x7f, 0x00, 0x00, 
+    0x1d, 0x05, 0x04, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd0, 0x07, 0x18, 0x00, 0xfa, 0xa2, 0x52, 0x08, 0x00, 0x00, 0x20, 
+    0x4d, 0x49, 0x08, 0x70, 0x36, 0x49, 0x08, 0x1c, 0xbc, 0x38, 0x84, 0x22, 0x12, 0x18, 0x34, 
+    0x4b, 0x43, 0x62, 0x34, 0x4b, 0xd3, 0x63, 0x34, 0x4b, 0x03, 0x61, 0x34, 0x4b, 0xcb, 0x67, 
+    0x34, 0x4b, 0x53, 0x67, 0x34, 0x4b, 0x43, 0x61, 0x34, 0x4b, 0x93, 0x67, 0x34, 0x4b, 0xcb, 
+    0x66, 0x34, 0x49, 0x81, 0x65, 0x34, 0x49, 0x81, 0x62, 0x34, 0x49, 0xd1, 0x67, 0x34, 0x49, 
+    0x51, 0x65, 0x34, 0x49, 0x01, 0x60, 0x34, 0x49, 0xd1, 0x60, 0x34, 0x49, 0x01, 0x65, 0x34, 
+    0x49, 0xc1, 0x64, 0x34, 0x49, 0x11, 0x60, 0x34, 0x49, 0x11, 0x62, 0x34, 0x49, 0xc1, 0x66, 
+    0x37, 0x49, 0x09, 0x78, 0x01, 0x29, 0x01, 0xd1, 0x32, 0x49, 0x81, 0x64, 0x32, 0x49, 0x81, 
+    0x61, 0x34, 0x48, 0x01, 0x78, 0x01, 0x29, 0x05, 0xd1, 0x33, 0x21, 0x40, 0x68, 0x0a, 0x5c, 
+    0x12, 0x07, 0x12, 0x0f, 0x0a, 0x54, 0xf7, 0x46, 0xc0, 0x46, 0x1b, 0xa7, 0x04, 0x00, 0x16, 
+    0xf6, 0x1a, 0x00, 0xb9, 0xab, 0x04, 0x00, 0x7b, 0xab, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, 
+    0x00, 0xf0, 0x1a, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0xc1, 0x78, 0x05, 0x00, 0x38, 0x31, 0x19, 
+    0x00, 0x3c, 0x20, 0x08, 0x00, 0x7d, 0x51, 0x08, 0x00, 0x15, 0xab, 0x04, 0x00, 0x06, 0x02, 
+    0x19, 0x00, 0x01, 0x71, 0x00, 0x00, 0xba, 0x52, 0x08, 0x00, 0x48, 0x31, 0x19, 0x00, 0x3c, 
+    0x09, 0x18, 0x00, 0x18, 0x09, 0x18, 0x00, 0x1d, 0x50, 0x00, 0x00, 0x85, 0x67, 0x05, 0x00, 
+    0x04, 0x7d, 0x1a, 0x00, 0x1e, 0xf6, 0x1a, 0x00, 0x65, 0xab, 0x04, 0x00, 0x80, 0x4e, 0x08, 
+    0x00, 0x05, 0x79, 0x08, 0x00, 0x23, 0x79, 0x08, 0x00, 0x2d, 0x79, 0x08, 0x00, 0x19, 0x79, 
+    0x08, 0x00, 0x0f, 0x79, 
+
+    0x01, 0x05, 0xff, 0xff, 0xca, 0x08, 0x18, 0x00, 0xfa, 0x08, 0x00, 0x37, 0x79, 0x08, 0x00, 
+    0x5f, 0x79, 0x08, 0x00, 0x69, 0x79, 0x08, 0x00, 0x55, 0x79, 0x08, 0x00, 0x41, 0x79, 0x08, 
+    0x00, 0x4b, 0x79, 0x08, 0x00, 0xfb, 0x78, 0x08, 0x00, 0xb5, 0x78, 0x08, 0x00, 0xc9, 0x78, 
+    0x08, 0x00, 0xe7, 0x78, 0x08, 0x00, 0xbf, 0x78, 0x08, 0x00, 0xf1, 0x78, 0x08, 0x00, 0xd3, 
+    0x78, 0x08, 0x00, 0xdd, 0x78, 0x08, 0x00, 0xa1, 0x78, 0x08, 0x00, 0xab, 0x78, 0x08, 0x00, 
+    0x22, 0x50, 0x08, 0x00, 0xa2, 0x52, 0x08, 0x00, 0x34, 0x24, 0x08, 0x00, 0x00, 0x10, 0x80, 
+    0x0f, 0x40, 0x0f, 0x00, 0x0f, 0x80, 0x0e, 0xc0, 0x0d, 0xc0, 0x0f, 0x40, 0x0f, 0x00, 0x0f, 
+    0xc0, 0x0e, 0x40, 0x0e, 0xc0, 0x0d, 0x40, 0x10, 0xc0, 0x0f, 0x80, 0x0f, 0x40, 0x0f, 0xc0, 
+    0x0e, 0x00, 0x0e, 0x80, 0x0e, 0x40, 0x0e, 0xc0, 0x0d, 0x80, 0x0d, 0x00, 0x0d, 0x40, 0x0c, 
+    0xc0, 0x0d, 0x80, 0x0d, 0x40, 0x0d, 0xc0, 0x0c, 0xc0, 0x0c, 0x40, 0x0c, 0x00, 0x0e, 0x00, 
+    0x0e, 0x80, 0x0d, 0x80, 0x0d, 0x00, 0x0d, 0x80, 0x0c, 0xf0, 0xb5, 0x91, 0xb0, 0xd9, 0x48, 
+    0x06, 0xc8, 0x68, 0x46, 0x0c, 0x90, 0x06, 0xc0, 0xd8, 0x48, 0x06, 0xc8, 0x02, 0xa8, 0x06, 
+    0xc0, 0xd7, 0x48, 0x06, 0xc8, 0x04, 0xa8, 0x06, 0xc0, 0xd6, 0x48, 0x06, 0xc8, 0x06, 0xa8, 
+    0x06, 0xc0, 0xd5, 0x48, 0x06, 0xc8, 0x08, 0xa8, 0x06, 0xc0, 0xd4, 0x48, 0x06, 0xc8, 0x0a, 
+    0xa8, 0x06, 0xc0, 0xd3, 0x4e, 0x02, 0x20, 0x30, 0x70, 0x1f, 0x23, 0x73, 0x70, 0xb3, 0x70, 
+    0x7b, 0x20, 0xf0, 0x70, 0x03, 0x20, 0x02, 0x22, 0xcf, 0x4f, 0x39, 0x1c, 0x01, 0x39, 0x01, 
+    0x24, 0xa6, 0x46, 0xf1, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0xb2, 0x78, 0xf3, 0x78, 0x03, 0x20, 
+    0x39, 0x1c, 0xa6, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0xc4, 0x09, 0x18, 0x00, 0xfa, 0xed, 0x4d, 0xfe, 0x44, 0x28, 0x47, 
+    0x03, 0x20, 0x39, 0x1c, 0x01, 0x31, 0xa6, 0x46, 0xeb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, 
+    0x46, 0xeb, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xe8, 0x49, 0x08, 0x60, 0xea, 0x48, 0xe9, 0x49, 
+    0x08, 0x80, 0xea, 0x48, 0x04, 0x70, 0xff, 0x20, 0xe9, 0x49, 0x08, 0x70, 0x00, 0x25, 0xe9, 
+    0x48, 0x05, 0x70, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xe8, 0x4a, 0x28, 0x1c, 
+    0x01, 0x1c, 0x13, 0x68, 0x00, 0x2b, 0x02, 0xd0, 0x23, 0x1c, 0x8b, 0x40, 0x18, 0x43, 0x04, 
+    0x32, 0x01, 0x31, 0x20, 0x29, 0xf5, 0xd3, 0xe7, 0x4f, 0x39, 0x1c, 0x84, 0x31, 0x08, 0x60, 
+    0xe0, 0x48, 0x05, 0x60, 0xe5, 0x48, 0x40, 0x78, 0x01, 0x28, 0x08, 0xd1, 0xf0, 0x78, 0x40, 
+    0x06, 0x41, 0x0e, 0x1d, 0x20, 0x00, 0x02, 0x08, 0x43, 0xdb, 0x49, 0x09, 0x68, 0x88, 0x86, 
+    0xdb, 0x48, 0x06, 0x1c, 0xb4, 0x72, 0xda, 0x48, 0x01, 0x78, 0xda, 0x48, 0x2a, 0x1c, 0xa6, 
+    0x46, 0xf0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf0, 0x48, 0x48, 0x30, 0x0c, 0x21, 0xa6, 0x46, 
+    0xed, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xed, 0x48, 0x04, 0x21, 0xa6, 0x46, 0xea, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x38, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0xe7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0xe9, 0x48, 0x4c, 0x38, 0x02, 0x21, 0xa6, 0x46, 0xe4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xff, 
+    0x20, 0x44, 0x30, 0x85, 0x55, 0xf2, 0x20, 0x80, 0x5d, 0xe2, 0x4e, 0x64, 0x28, 0x08, 0xda, 
+    0xe1, 0x48, 0x09, 0x21, 0xa6, 0x46, 0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x06, 0x00, 
+    0x0e, 0x01, 0xe0, 0x80, 0x07, 0x80, 0x0f, 0xb0, 0x75, 0x0d, 0x96, 0xdd, 0x49, 0x48, 0x70, 
+    0xdf, 0x4f, 0x3e, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0xbe, 0x0a, 0x18, 0x00, 0xfa, 0xaa, 0x3e, 0xa5, 0x21, 0x88, 0x55, 
+    0xa6, 0x46, 0xda, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xd9, 0x48, 0xfe, 0x44, 0x00, 
+    0x47, 0x05, 0x20, 0x01, 0x1c, 0xd2, 0x48, 0xa6, 0x46, 0xd7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x01, 0x1c, 0x38, 0x1c, 0x2a, 0x1c, 0xa6, 0x46, 0xd5, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xd7, 
+    0x48, 0x07, 0x1c, 0x02, 0x3f, 0x38, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0xd1, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x38, 0x1c, 0x08, 0x21, 0xa6, 0x46, 0xce, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xce, 
+    0x4f, 0x38, 0x1c, 0x04, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0xc9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x04, 0x20, 0x02, 0x1c, 0x38, 0x1c, 0x11, 0x1c, 0xa6, 0x46, 0xc5, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0xc7, 0x48, 0x04, 0x70, 0xbc, 0x48, 0x0a, 0x30, 0x06, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 
+    0xc0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf2, 0x48, 0x1b, 0x21, 0xc1, 0x81, 0xc1, 0x48, 0x02, 
+    0x30, 0x02, 0x21, 0x07, 0x22, 0xa6, 0x46, 0xef, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x8d, 0x4f, 
+    0x7f, 0x08, 0x0e, 0x96, 0xb3, 0x4e, 0xec, 0x48, 0x80, 0x78, 0x00, 0x28, 0x32, 0xd1, 0x13, 
+    0x21, 0xe8, 0x48, 0xc1, 0x81, 0x94, 0x48, 0x40, 0x78, 0x00, 0x28, 0x16, 0xd0, 0x01, 0x28, 
+    0x29, 0xd1, 0xb5, 0x48, 0x04, 0x21, 0xa6, 0x46, 0xa5, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb2, 
+    0x48, 0x08, 0x38, 0x29, 0x1c, 0x0a, 0x1c, 0xa6, 0x46, 0xab, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x20, 0x1c, 0x04, 0x21, 0xa6, 0x46, 0xde, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0xe0, 0x03, 
+    0x20, 0x01, 0x1c, 0xa9, 0x48, 0xa6, 0x46, 0x9a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa7, 0x48, 
+    0x0a, 0x38, 0x29, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0xb8, 0x0b, 0x18, 0x00, 0xfa, 0x0c, 0x22, 0xa6, 0x46, 0xa0, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, 0x03, 0x21, 0xa6, 0x46, 0xd3, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0xd3, 0x49, 0x08, 0x1c, 0x0f, 0x91, 0x40, 0x38, 0x0f, 0x90, 0x0a, 0x9a, 0xc2, 0x63, 
+    0x0c, 0x98, 0x82, 0x8d, 0x0a, 0x80, 0x21, 0x1c, 0xce, 0x48, 0x98, 0x30, 0xa6, 0x46, 0x8b, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0xcb, 0x48, 0x00, 0x99, 0x01, 0x60, 0x01, 0x99, 0x41, 0x60, 
+    0x02, 0x99, 0x01, 0x62, 0x03, 0x99, 0x41, 0x62, 0x04, 0x99, 0x01, 0x63, 0x05, 0x99, 0x41, 
+    0x63, 0x06, 0x99, 0x81, 0x64, 0x07, 0x99, 0xc1, 0x64, 0x08, 0x99, 0x01, 0x66, 0x09, 0x99, 
+    0x41, 0x66, 0x9c, 0x30, 0x21, 0x1c, 0xa6, 0x46, 0x7d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x66, 
+    0x48, 0x40, 0x78, 0xf3, 0x49, 0x00, 0x28, 0x5d, 0xd1, 0x08, 0x27, 0x08, 0x1c, 0x4e, 0x38, 
+    0x07, 0x21, 0x3a, 0x1c, 0xa6, 0x46, 0xed, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0x78, 0x00, 
+    0x28, 0x10, 0xd0, 0x01, 0x28, 0x0e, 0xd0, 0xea, 0x48, 0x0d, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 
+    0x6f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe7, 0x48, 0x18, 0x21, 0x3a, 0x1c, 0xa6, 0x46, 0x6c, 
+    0x4b, 0xfe, 0x44, 0x18, 0x47, 0x0e, 0xe0, 0xe3, 0x4f, 0x38, 0x1c, 0x10, 0x21, 0x2a, 0x1c, 
+    0xa6, 0x46, 0x67, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x1c, 0x21, 0x08, 0x22, 0xa6, 
+    0x46, 0x64, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x70, 0x78, 0x00, 0x28, 0x0d, 0xd1, 0x0c, 0x20, 
+    0x80, 0x57, 0x00, 0x28, 0x09, 0xdd, 0x32, 0x28, 0x07, 0xda, 0xd7, 0x48, 0x42, 0x38, 0x16, 
+    0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x5b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xd3, 0x48, 0x04, 0x30, 
+    0x05, 0x21, 0x08, 0x22, 
+
+    0x01, 0x05, 0xff, 0xff, 0xb2, 0x0c, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xda, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xcf, 0x48, 0x44, 0x38, 0x04, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0xcb, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0x79, 0xe1, 0x9c, 0x5f, 0x08, 0x00, 0xa4, 0x5f, 0x08, 0x00, 0xac, 0x5f, 
+    0x08, 0x00, 0xb4, 0x5f, 0x08, 0x00, 0xbc, 0x5f, 0x08, 0x00, 0xc4, 0x5f, 0x08, 0x00, 0x7c, 
+    0x7b, 0x08, 0x00, 0xc6, 0x05, 0x00, 0x00, 0x01, 0x28, 0x00, 0xd0, 0x68, 0xe1, 0xee, 0x48, 
+    0x06, 0x1c, 0x88, 0x3e, 0xa6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x31, 0x88, 0x01, 
+    0x40, 0x48, 0x08, 0x05, 0xd0, 0x38, 0x1c, 0x41, 0x1e, 0x0f, 0x04, 0x3f, 0x0c, 0x00, 0x28, 
+    0xf1, 0xd1, 0xa6, 0x46, 0xe1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x31, 0x88, 0x01, 0x40, 0x48, 
+    0x08, 0x04, 0xd0, 0x58, 0x20, 0xa6, 0x46, 0xdd, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x2f, 0x1c, 
+    0xb1, 0x48, 0xb4, 0x30, 0x39, 0x1c, 0xa6, 0x46, 0xda, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 
+    0x28, 0x00, 0xdc, 0x27, 0x1c, 0xac, 0x48, 0xf4, 0x30, 0x29, 0x1c, 0xa6, 0x46, 0xd5, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x38, 0x43, 0xd4, 0x4f, 0x35, 0xd1, 0xa7, 0x48, 0xbc, 0x30, 0x29, 
+    0x1c, 0xa6, 0x46, 0xd0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x2c, 0xd0, 0x38, 0x1c, 
+    0x09, 0x21, 0x06, 0x22, 0xa6, 0x46, 0x28, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2b, 0xe0, 0xc0, 
+    0x46, 0x4f, 0xa7, 0x04, 0x00, 0x39, 0xa7, 0x04, 0x00, 0xdc, 0x5f, 0x08, 0x00, 0x0b, 0xd8, 
+    0x04, 0x00, 0xd8, 0x5f, 0x08, 0x00, 0xff, 0xff, 0x00, 0x00, 0xd5, 0x5f, 0x08, 0x00, 0xd3, 
+    0x5f, 0x08, 0x00, 0xd4, 0x5f, 0x08, 0x00, 0xd5, 0x07, 0x18, 0x00, 0x80, 0x7b, 0x08, 0x00, 
+    0xcc, 0x5f, 0x08, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0xac, 0x0d, 0x18, 0x00, 0xfa, 0x38, 0x24, 0x08, 0x00, 0x5c, 0x4f, 
+    0x08, 0x00, 0xc8, 0x52, 0x08, 0x00, 0x02, 0x20, 0x19, 0x00, 0x00, 0xf3, 0x1a, 0x00, 0xa1, 
+    0x52, 0x08, 0x00, 0x38, 0x1c, 0x0c, 0x21, 0x06, 0x22, 0xa6, 0x46, 0x11, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x38, 0x1c, 0x0c, 0x21, 0xa6, 0x46, 0x0f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xb3, 
+    0x49, 0x10, 0x91, 0x08, 0x8f, 0x38, 0x31, 0x10, 0x91, 0x04, 0x28, 0x33, 0xda, 0x82, 0x48, 
+    0x2a, 0x30, 0x18, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x07, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xab, 
+    0x48, 0x32, 0x30, 0x02, 0x21, 0x0a, 0x1c, 0xa6, 0x46, 0x42, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x04, 0x20, 0x10, 0x99, 0x08, 0x80, 0x1f, 0xe0, 0x1f, 0xac, 0x04, 0x00, 0xfd, 0xaa, 0x04, 
+    0x00, 0x10, 0x60, 0x1a, 0x00, 0xa4, 0x52, 0x08, 0x00, 0xc4, 0x61, 0x1a, 0x00, 0x81, 0xae, 
+    0x04, 0x00, 0x7c, 0x51, 0x08, 0x00, 0xdd, 0x5e, 0x03, 0x00, 0x39, 0x6f, 0x03, 0x00, 0x6a, 
+    0x31, 0x19, 0x00, 0x9f, 0xae, 0x04, 0x00, 0xb9, 0xab, 0x04, 0x00, 0x15, 0xab, 0x04, 0x00, 
+    0x6e, 0x50, 0x1a, 0x00, 0x07, 0x10, 0x08, 0x00, 0x1e, 0xf6, 0x1a, 0x00, 0x2a, 0x1c, 0x97, 
+    0x48, 0x0c, 0x38, 0x97, 0x49, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x02, 0x20, 
+    0x01, 0x1c, 0x95, 0x4f, 0x38, 0x1c, 0x0a, 0x38, 0xa6, 0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x38, 0x1c, 0x07, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x38, 0x1c, 0x07, 0x21, 0x03, 0x22, 0xa6, 0x46, 0x59, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, 
+    0x1c, 0x02, 0x38, 0x07, 0x21, 0x0c, 0x22, 0xa6, 0x46, 0x55, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x8a, 0x48, 0x0c, 0x90, 
+
+    0x01, 0x05, 0xff, 0xff, 0xa6, 0x0e, 0x18, 0x00, 0xfa, 0x02, 0x38, 0x0c, 0x90, 0x37, 0x21, 
+    0xa6, 0x46, 0x85, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x0c, 0x98, 0x08, 0x21, 0x07, 0x22, 0xa6, 
+    0x46, 0x82, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x82, 0x48, 0x04, 0x21, 0xa6, 0x46, 0x7e, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x7f, 0x48, 0x02, 0x30, 0x29, 0x1c, 0xa6, 0x46, 0x76, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x7c, 0x48, 0x05, 0x80, 0x7c, 0x48, 0x00, 0x78, 0x00, 0x28, 0x1d, 0xd0, 
+    0x04, 0x28, 0x29, 0xd1, 0x6f, 0x48, 0x06, 0x21, 0x08, 0x22, 0xa6, 0x46, 0x3f, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0x77, 0x48, 0x03, 0x21, 0x02, 0x22, 0xa6, 0x46, 0x88, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x1a, 0xe0, 0xc0, 0x46, 0x04, 0x14, 0x08, 0x00, 0x65, 0xab, 0x04, 0x00, 0x0c, 
+    0x53, 0x08, 0x00, 0x85, 0x67, 0x05, 0x00, 0x9c, 0x0b, 0x1a, 0x00, 0x08, 0x09, 0x1a, 0x00, 
+    0x2a, 0x1c, 0x61, 0x48, 0x21, 0x1c, 0x8e, 0x46, 0x31, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x69, 
+    0x48, 0x03, 0x21, 0x2a, 0x1c, 0xa6, 0x46, 0x7a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2d, 0x48, 
+    0x78, 0x30, 0x07, 0x21, 0xa6, 0x46, 0x59, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, 0x46, 0x62, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0x28, 0x48, 0x0c, 0x90, 0x32, 0x38, 0x0c, 0x90, 0x29, 0x1c, 
+    0x2a, 0x1c, 0xa6, 0x46, 0x23, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x03, 0x20, 0x02, 0x1c, 0x0c, 
+    0x98, 0x29, 0x1c, 0xa6, 0x46, 0x1f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1f, 0x48, 0x10, 0x30, 
+    0x0c, 0x21, 0xa6, 0x46, 0x4b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xff, 0x20, 0xd3, 0x30, 0x0f, 
+    0x99, 0x08, 0x80, 0x53, 0x48, 0x10, 0x99, 0xc8, 0x83, 0x18, 0x48, 0x0c, 0x90, 0x22, 0x38, 
+    0x0c, 0x90, 0x03, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0xa0, 0x0f, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x5b, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x96, 0x20, 0xa6, 0x46, 0x4d, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x0c, 0x98, 0x03, 
+    0x21, 0xa6, 0x46, 0x3d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x35, 0x80, 0x54, 0x48, 0x40, 0x78, 
+    0x49, 0x4e, 0x00, 0x28, 0x1a, 0xd1, 0x0b, 0x48, 0x16, 0x30, 0x07, 0x21, 0xa6, 0x46, 0x45, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x0f, 0xd1, 0x0e, 0x98, 0x88, 0x30, 0x0d, 0x99, 
+    0x89, 0x7d, 0x0c, 0x22, 0x51, 0x43, 0x71, 0x18, 0xa6, 0x46, 0x40, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x30, 0xe0, 0x7b, 0xab, 0x04, 0x00, 0x4e, 0x74, 0x1a, 0x00, 0x45, 0x48, 0x40, 0x78, 
+    0x01, 0x28, 0x0f, 0xd0, 0x0e, 0x98, 0x88, 0x30, 0x0d, 0x99, 0x89, 0x7d, 0x0c, 0x22, 0x51, 
+    0x43, 0x38, 0x4b, 0x59, 0x18, 0xa6, 0x46, 0x36, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1b, 0xe0, 
+    0xc0, 0x46, 0xf7, 0xab, 0x04, 0x00, 0x07, 0x20, 0x34, 0x4f, 0xb8, 0x70, 0x0e, 0x98, 0x88, 
+    0x30, 0x0d, 0x99, 0x89, 0x7d, 0x0c, 0x22, 0x51, 0x43, 0x71, 0x18, 0xa6, 0x46, 0x2d, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x06, 0x21, 0xa6, 0x46, 0x32, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x2b, 0x48, 0x05, 0x70, 0x54, 0x21, 0x0e, 0x98, 0x0d, 0x52, 0x0e, 0x98, 0x45, 0x81, 
+    0x94, 0x30, 0x2e, 0x49, 0x89, 0x78, 0x2a, 0x1c, 0xa6, 0x46, 0x26, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x03, 0x20, 0xf2, 0x22, 0x2b, 0x49, 0x50, 0x54, 0x23, 0x21, 0xc9, 0x00, 0x23, 0x4a, 
+    0x88, 0x5c, 0x01, 0x30, 0x88, 0x54, 0x22, 0x48, 0x05, 0x70, 0x19, 0x20, 0x80, 0x01, 0x26, 
+    0x49, 0x08, 0x80, 0x6e, 0x21, 0x24, 0x48, 0x41, 0x74, 0x55, 0x20, 0xc0, 0x00, 0x1d, 0x49, 
+    0x08, 0x80, 0x11, 0xb0, 
+
+    0x01, 0x05, 0xff, 0x93, 0x9a, 0x10, 0x18, 0x00, 0x8e, 0xf0, 0xbd, 0x1d, 0x05, 0x04, 0x00, 
+    0x1b, 0xa7, 0x04, 0x00, 0x77, 0xae, 0x04, 0x00, 0x6a, 0x74, 0x1a, 0x00, 0x88, 0x7c, 0x1a, 
+    0x00, 0xfd, 0xaa, 0x04, 0x00, 0x10, 0x60, 0x1a, 0x00, 0xdd, 0x03, 0x00, 0x00, 0xf3, 0xac, 
+    0x04, 0x00, 0x0c, 0x30, 0x1a, 0x00, 0x4b, 0xac, 0x04, 0x00, 0x35, 0xac, 0x04, 0x00, 0x06, 
+    0x0f, 0x1a, 0x00, 0x68, 0x60, 0x1a, 0x00, 0x70, 0x55, 0x08, 0x00, 0xb0, 0x7c, 0x1a, 0x00, 
+    0x15, 0x60, 0x03, 0x00, 0x53, 0x51, 0x00, 0x00, 0x3f, 0x4a, 0x04, 0x00, 0x59, 0xae, 0x04, 
+    0x00, 0x18, 0x09, 0x18, 0x00, 0xc1, 0x78, 0x05, 0x00, 0x3c, 0x09, 0x18, 0x00, 0x10, 0x20, 
+    0x19, 0x00, 0x9f, 0x51, 0x08, 0x00, 0x67, 0xac, 0x04, 0x00, 0x88, 0x4c, 0x08, 0x00, 0xd2, 
+    0x5f, 0x08, 0x00, 0xd0, 0x5f, 0x08, 0x00, 0x15, 0xab, 0x04, 0x00, 0xa1, 0x52, 0x08, 0x00, 
+    0x0c, 0x53, 0x08, 0x00, 0x5c, 0x4f, 0x08, 0x00, 0x04, 0x14, 0x08, 0x00, 0x65, 0xab, 0x04, 
+    0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd8, 0x5b, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xbe, 0x49, 0x04, 0x39, 
+    0x4f, 0x68, 0x33, 0x20, 0xc0, 0x5d, 0x00, 0x09, 0x84, 0x46, 0x08, 0x78, 0x01, 0x28, 0x37, 
+    0xd1, 0xba, 0x48, 0x06, 0x78, 0x00, 0x24, 0x25, 0x1c, 0x22, 0x1c, 0x1b, 0xe0, 0x23, 0x20, 
+    0x00, 0x01, 0x50, 0x43, 0xb6, 0x49, 0x0b, 0x18, 0x38, 0x20, 0xc0, 0x5c, 0x00, 0x28, 0x0f, 
+    0xd0, 0x18, 0x78, 0xac, 0x21, 0x41, 0x43, 0xb3, 0x48, 0x33, 0x30, 0x40, 0x5c, 0x01, 0x28, 
+    0x07, 0xd0, 0xff, 0x20, 0x22, 0x30, 0xc0, 0x5c, 0x01, 0x28, 0x01, 0xd1, 0x01, 0x25, 0x00, 
+    0xe0, 0x01, 0x24, 0x50, 0x1c, 0x02, 0x06, 0x12, 0x0e, 0xb2, 0x42, 0xe1, 0xdb, 0x00, 0x20, 
+    0x00, 0x2d, 0x02, 0xd0, 0x00, 0x2c, 0x00, 0xd1, 0x01, 0x20, 0x60, 0x45, 0x0b, 0xd0, 0x33, 
+    0x21, 0xc9, 0x19, 0x0a, 0x78, 0x12, 0x07, 0x12, 0x0f, 0x00, 0x01, 0x10, 0x43, 0x08, 0x70, 
+    0x01, 0x20, 0x40, 0x02, 0x9d, 0x49, 0x08, 0x80, 0xf0, 0xbd, 0x70, 0xb5, 0x07, 0x26, 0x9e, 
+    0x4d, 0x32, 0x20, 0x40, 0x5d, 0x02, 0x28, 0x0c, 0xd1, 0x37, 0x20, 0x40, 0x5d, 0x9c, 0x49, 
+    0x08, 0x18, 0x40, 0x00, 0x02, 0x21, 0x01, 0x24, 0xa6, 0x46, 0x9b, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x00, 0x28, 0x03, 0xd1, 0xac, 0x35, 0x01, 0x3e, 0xeb, 0xd1, 0x70, 0xbd, 0x95, 0x48, 
+    0x09, 0x21, 0xa6, 0x46, 0x96, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x70, 0xbd, 0xf0, 0xb5, 0x8d, 
+    0xb0, 0x06, 0x90, 0x93, 0x4c, 0x20, 0x88, 0x40, 0x08, 0x07, 0x90, 0xe0, 0x7f, 0x00, 0x21, 
+    0x08, 0x91, 0x41, 0x09, 0x0f, 0xd3, 0x98, 0x4a, 0x11, 0x78, 0x00, 0x29, 0x08, 0xd0, 0x92, 
+    0x78, 0x91, 0x42, 0x05, 0xd0, 0x01, 0x21, 0x01, 0x43, 0x08, 0x06, 0x00, 0x0e, 0xe0, 0x77, 
+    0x02, 0xe0, 0x10, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd2, 0x5c, 0x18, 0x00, 0xfa, 0xe0, 0x77, 0xe0, 0x7f, 0x8e, 0x49, 
+    0x09, 0x91, 0x02, 0x39, 0x09, 0x91, 0x40, 0x08, 0x1b, 0xd3, 0x67, 0x7f, 0x02, 0x2f, 0x18, 
+    0xdb, 0x08, 0x9e, 0x38, 0x1c, 0x03, 0x21, 0x01, 0x25, 0xae, 0x46, 0x82, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x00, 0x28, 0x00, 0xd0, 0x2e, 0x1c, 0x38, 0x1c, 0x03, 0x21, 0xae, 0x46, 0x7e, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x71, 0x18, 0xa0, 0x8c, 0x40, 0x08, 0xae, 0x46, 0x7b, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x01, 0xe0, 0xa0, 0x8c, 0x41, 0x08, 0x21, 0x85, 0x08, 0x9f, 0xa7, 
+    0x77, 0xe7, 0x85, 0x85, 0x20, 0x40, 0x00, 0x01, 0x25, 0xae, 0x46, 0x75, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x72, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x20, 
+    0x8d, 0x00, 0x90, 0x07, 0x98, 0x01, 0x90, 0x6b, 0x48, 0x02, 0x7b, 0xe3, 0x7f, 0x03, 0x20, 
+    0x82, 0x21, 0xae, 0x46, 0x6c, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x67, 0x48, 0x00, 0x7b, 0x0a, 
+    0x90, 0x0b, 0x97, 0x03, 0x28, 0x13, 0xd1, 0x20, 0x88, 0x41, 0x08, 0x0c, 0x91, 0x26, 0x8d, 
+    0x30, 0x1c, 0xae, 0x46, 0x62, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x07, 0xd0, 0x31, 
+    0x1c, 0x0c, 0x98, 0xae, 0x46, 0x5e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd1, 
+    0x0b, 0x95, 0x0b, 0x9e, 0x4e, 0x48, 0x01, 0x78, 0x01, 0x29, 0x07, 0xd1, 0x3c, 0x21, 0x09, 
+    0x5c, 0x00, 0x29, 0x03, 0xd0, 0x40, 0x8e, 0x40, 0x09, 0x00, 0xd3, 0x08, 0x95, 0x00, 0x2e, 
+    0x29, 0xd0, 0x08, 0x98, 0x00, 0x28, 0x26, 0xd1, 0x27, 0x8d, 0x38, 0x1c, 0x07, 0x99, 0xae, 
+    0x46, 0x51, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x08, 0x04, 0x00, 0x0c, 0x0c, 0x90, 0x38, 0x1c, 
+    0x07, 0x99, 0xae, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0xcc, 0x5d, 0x18, 0x00, 0xfa, 0x4c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x08, 0x04, 0x00, 0x0c, 0x01, 0xd0, 0x02, 0x21, 0x00, 0xe0, 0x29, 0x1c, 0x09, 0x98, 0x81, 
+    0x70, 0x07, 0x98, 0x39, 0x1c, 0x2f, 0x1c, 0xae, 0x46, 0x45, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x0c, 0x98, 0x01, 0x43, 0x08, 0x04, 0x00, 0x0c, 0xe0, 0x85, 0x09, 0x99, 0x08, 0x80, 0x02, 
+    0xe0, 0x09, 0x98, 0x0a, 0x99, 0x81, 0x70, 0x09, 0x98, 0x80, 0x78, 0x41, 0x08, 0x19, 0xd3, 
+    0x20, 0x1c, 0x01, 0x8d, 0x00, 0x2f, 0x0d, 0xd1, 0x00, 0x2e, 0x0b, 0xd0, 0x07, 0x98, 0x88, 
+    0x42, 0x08, 0xdd, 0x48, 0x08, 0x09, 0x18, 0x85, 0x20, 0x40, 0x00, 0xae, 0x46, 0x38, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 0x85, 0x20, 0x40, 0x00, 0xae, 0x46, 0x34, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x34, 0x48, 0x00, 0x78, 0x80, 0x08, 0x18, 0xd3, 0x00, 0x2f, 0x0f, 0xd1, 
+    0x00, 0x2e, 0x0d, 0xd0, 0x21, 0x8d, 0x07, 0x98, 0x81, 0x42, 0x09, 0xdb, 0x07, 0x98, 0x41, 
+    0x08, 0x41, 0x18, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x2a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x06, 0xe0, 0x07, 0x99, 0x43, 0x20, 0x80, 0x00, 0xae, 0x46, 0x26, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x1f, 0x48, 0x00, 0x78, 0x80, 0x06, 0x80, 0x0e, 0x1d, 0x49, 0x08, 0x70, 0x08, 0x1c, 
+    0x01, 0x7b, 0x29, 0x40, 0x68, 0x46, 0x01, 0x72, 0x21, 0x8d, 0x41, 0x81, 0x61, 0x8c, 0x49, 
+    0x08, 0x81, 0x81, 0x87, 0x73, 0x17, 0x49, 0x09, 0x7b, 0x49, 0x08, 0x29, 0x40, 0x01, 0x74, 
+    0x07, 0x99, 0x41, 0x82, 0xa1, 0x88, 0x49, 0x08, 0x81, 0x82, 0x87, 0x75, 0xa0, 0x20, 0x02, 
+    0xa9, 0xae, 0x46, 0x19, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x15, 0x49, 0xff, 0x31, 0x5d, 0x31, 
+    0x06, 0x98, 0x01, 0x62, 
+
+    0x01, 0x05, 0xff, 0xff, 0xc6, 0x5e, 0x18, 0x00, 0xfa, 0x0d, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, 
+    0x34, 0x24, 0x08, 0x00, 0x44, 0x7c, 0x1a, 0x00, 0x38, 0x24, 0x08, 0x00, 0x21, 0x50, 0x08, 
+    0x00, 0x00, 0x00, 0x08, 0x00, 0x94, 0x1a, 0x08, 0x00, 0x11, 0x01, 0x0d, 0x00, 0x46, 0x7f, 
+    0x1a, 0x00, 0x9f, 0xae, 0x04, 0x00, 0xfd, 0xaa, 0x04, 0x00, 0xe2, 0x11, 0x08, 0x00, 0x02, 
+    0x12, 0x08, 0x00, 0xe1, 0x60, 0x05, 0x00, 0xe1, 0x60, 0x05, 0x00, 0x61, 0x7d, 0x03, 0x00, 
+    0x6f, 0xa7, 0x04, 0x00, 0x43, 0x7a, 0x03, 0x00, 0x04, 0x10, 0x08, 0x00, 0x55, 0xf9, 0x00, 
+    0x00, 0x2b, 0x10, 0x08, 0x00, 0xaf, 0xf3, 0x04, 0x00, 0x30, 0xb5, 0x5b, 0x4d, 0x0a, 0x20, 
+    0x41, 0x19, 0x5a, 0x48, 0x04, 0x22, 0x01, 0x24, 0xa6, 0x46, 0x5d, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0xa6, 0x46, 0x57, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x56, 0x48, 0xfe, 0x44, 
+    0x00, 0x47, 0x00, 0x28, 0x05, 0xd0, 0x29, 0x8b, 0x58, 0x20, 0xa6, 0x46, 0x53, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x53, 0x48, 0x6b, 0x30, 0x30, 0xbd, 0xfe, 0xb5, 0x00, 0x90, 0x5a, 0x48, 
+    0x00, 0x78, 0x01, 0x28, 0x00, 0xd0, 0x8b, 0xe0, 0x50, 0x4d, 0x3c, 0x20, 0x40, 0x19, 0x01, 
+    0x90, 0x47, 0x48, 0x00, 0x26, 0x01, 0x24, 0x69, 0x8e, 0x09, 0x09, 0x21, 0x40, 0x40, 0x8d, 
+    0x00, 0x09, 0x20, 0x40, 0x88, 0x42, 0x04, 0xd0, 0x49, 0x48, 0x00, 0x78, 0x03, 0x28, 0x00, 
+    0xd1, 0x26, 0x1c, 0x08, 0x20, 0x40, 0x19, 0x3e, 0x49, 0x30, 0x22, 0xa6, 0x46, 0x4c, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0x00, 0x2e, 0x03, 0xd0, 0xa6, 0x46, 0x42, 0x48, 0xfe, 0x44, 0x00, 
+    0x47, 0x49, 0x4e, 0x49, 0x48, 0x00, 0x78, 0x00, 0x27, 0x62, 0xe0, 0x30, 0x78, 0xff, 0x28, 
+    0x5c, 0xd0, 0x38, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0xc0, 0x5f, 0x18, 0x00, 0xfa, 0x80, 0x5d, 0x0c, 0x28, 0x58, 0xd1, 
+    0x00, 0x20, 0x02, 0x90, 0x3b, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x42, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x00, 0x28, 0x04, 0xd0, 0x2d, 0x48, 0x40, 0x8d, 0xc0, 0x08, 0x00, 0xd3, 0x02, 0x94, 
+    0x02, 0x98, 0x00, 0x28, 0x0b, 0xd0, 0x28, 0x78, 0x01, 0x28, 0x08, 0xd1, 0x01, 0x98, 0x00, 
+    0x78, 0x00, 0x28, 0x04, 0xd0, 0xff, 0x20, 0x1e, 0x30, 0x81, 0x5d, 0x01, 0x29, 0x2a, 0xd0, 
+    0x2d, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x34, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x0a, 
+    0xd0, 0x1f, 0x48, 0x40, 0x8d, 0xc0, 0x08, 0x06, 0xd2, 0x28, 0x78, 0x01, 0x28, 0x03, 0xd1, 
+    0x01, 0x98, 0x00, 0x78, 0x00, 0x28, 0x07, 0xd1, 0x23, 0x48, 0x0b, 0x21, 0xa6, 0x46, 0x2b, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x1f, 0xd1, 0xf0, 0x7e, 0xc0, 0x08, 0x1c, 0xd3, 
+    0x1f, 0x48, 0x00, 0x78, 0x00, 0x28, 0x18, 0xd0, 0xff, 0x20, 0x21, 0x30, 0x80, 0x5d, 0x40, 
+    0x08, 0x13, 0xd3, 0xff, 0x20, 0x1e, 0x30, 0x84, 0x55, 0x0f, 0xe0, 0x00, 0x21, 0x81, 0x55, 
+    0x70, 0x78, 0x4c, 0x21, 0x41, 0x43, 0x17, 0x48, 0x40, 0x18, 0x3b, 0x23, 0x1a, 0x5c, 0x21, 
+    0x1c, 0x11, 0x43, 0x19, 0x54, 0xa6, 0x46, 0x14, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x01, 0x37, 
+    0x17, 0x48, 0x00, 0x78, 0x87, 0x42, 0x9a, 0xd3, 0x00, 0x98, 0x41, 0x68, 0x09, 0x78, 0x41, 
+    0x60, 0x0f, 0x48, 0x40, 0x1d, 0xfe, 0xbd, 0x50, 0x7f, 0x1a, 0x00, 0x46, 0x24, 0x08, 0x00, 
+    0x25, 0x4e, 0x02, 0x00, 0xa3, 0x4a, 0x02, 0x00, 0x43, 0x7a, 0x03, 0x00, 0x4b, 0x4e, 0x02, 
+    0x00, 0xc1, 0x78, 0x05, 0x00, 0x34, 0x24, 0x08, 0x00, 0x0e, 0x12, 0x08, 0x00, 0x55, 0xf9, 
+    0x00, 0x00, 0xca, 0x74, 
+
+    0x01, 0x05, 0xff, 0x2b, 0xba, 0x60, 0x18, 0x00, 0x26, 0x1a, 0x00, 0x3c, 0x10, 0x08, 0x00, 
+    0xb4, 0x46, 0x08, 0x00, 0xd1, 0x34, 0x02, 0x00, 0x75, 0x4f, 0x02, 0x00, 0xa2, 0x52, 0x08, 
+    0x00, 0xc1, 0x78, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x21, 0x50, 0x08, 0x00, 0x59, 0xae, 
+    0x04, 0x00, 
+
+    0x01, 0x83, 0xff, 0x14, 0x75, 0x7b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    // 
+    // 
+    // 
+    0x01, 0xdc, 0xfd, 0x03, 0x00, 0x00, 0x12, 
+
+    // ##--------------------------------------------------------------------------------
+    // ## Description:   BTIP2.0 PHY FW Initialization Script
+    // ## Version:       2.54 - Modified with TPC default values
+    // ##--------------------------------------------------------------------------------
+    // 
+    0x01, 0x01, 0xff, 0x06, 0x00, 0x24, 0x19, 0x00, 0x01, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x00, 0x40, 0x19, 0x00, 0xfa, 0x00, 0x0c, 0x00, 0x20, 0xb9, 0x2d, 
+    0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 
+    0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 
+    0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0x25, 0x27, 0x00, 0x00, 0xfb, 0x24, 0x00, 0x00, 0xf7, 
+    0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 
+    0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 
+    0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 
+    0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xf7, 0x2d, 0x00, 0x00, 0xd3, 
+    0x07, 0x00, 0x20, 0xf7, 0x2d, 0x00, 0x00, 0x07, 0x07, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x43, 
+    0x81, 0x46, 0x00, 0x26, 0x7b, 0x4c, 0x01, 0x27, 0x7b, 0x48, 0x26, 0x73, 0x04, 0xf8, 0x04, 
+    0x7c, 0x00, 0x78, 0xdf, 0xf8, 0xc0, 0x82, 0x00, 0x28, 0x0c, 0xbf, 0x98, 0xf8, 0x7a, 0x10, 
+    0x98, 0xf8, 0x78, 0x10, 0x77, 0x48, 0x00, 0x88, 0x75, 0x4d, 0x20, 0xf4, 0x7c, 0x50, 0x40, 
+    0xea, 0x01, 0x20, 0x68, 0x80, 0xa8, 0x88, 0x98, 0xf8, 0x7e, 0x10, 0x20, 0xf0, 0x7f, 0x00, 
+    0x01, 0x43, 0x38, 0x46, 0xa9, 0x80, 0x27, 0x70, 0x02, 0xf0, 0x50, 0xfb, 0x26, 0x70, 0x38, 
+    0x46, 0x02, 0xf0, 0x4c, 0xfb, 0x26, 0x71, 0x27, 0x72, 0x4f, 0xf0, 0x30, 0x00, 0x05, 0xf8, 
+    0x01, 0x0c, 0x84, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfa, 0x40, 0x19, 0x00, 0xfa, 0xfc, 0x60, 0x84, 0xf8, 0x0c, 0x61, 
+    0x84, 0xf8, 0x2c, 0x61, 0x28, 0x88, 0x20, 0xf4, 0x00, 0x70, 0x40, 0xf4, 0x80, 0x70, 0x28, 
+    0x80, 0x98, 0xf8, 0x76, 0x00, 0x88, 0xb1, 0x62, 0x48, 0x00, 0x88, 0x40, 0x08, 0x0d, 0xd3, 
+    0x61, 0x48, 0x07, 0x72, 0x80, 0xf8, 0x40, 0x61, 0x06, 0x70, 0x28, 0x88, 0x20, 0xf0, 0x07, 
+    0x00, 0x28, 0x80, 0x98, 0xf8, 0x77, 0x00, 0x40, 0xf0, 0x01, 0x00, 0x03, 0xe0, 0x98, 0xf8, 
+    0x77, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x88, 0xf8, 0x77, 0x00, 0x84, 0xf8, 0x54, 0x70, 0x02, 
+    0x20, 0x84, 0xf8, 0x50, 0x70, 0x84, 0xf8, 0x4c, 0x90, 0x02, 0xf0, 0x16, 0xfb, 0xbd, 0xe8, 
+    0xf0, 0x83, 0x2d, 0xe9, 0xf0, 0x47, 0x52, 0x4c, 0x81, 0x46, 0x52, 0x48, 0x01, 0x25, 0x25, 
+    0x70, 0x00, 0x88, 0xdf, 0xf8, 0x28, 0x81, 0x92, 0x46, 0x00, 0x28, 0x40, 0x46, 0x4c, 0x4e, 
+    0x02, 0xd0, 0x6a, 0x30, 0x1f, 0x21, 0x01, 0x70, 0x84, 0xf8, 0x80, 0x52, 0x05, 0x20, 0x02, 
+    0xf0, 0xfd, 0xfa, 0x25, 0x73, 0x28, 0x46, 0x02, 0xf0, 0xf9, 0xfa, 0x00, 0x27, 0x27, 0x73, 
+    0xb9, 0xf1, 0x00, 0x0f, 0x25, 0x71, 0x25, 0x72, 0x44, 0x46, 0x04, 0xf1, 0xc2, 0x04, 0x14, 
+    0xbf, 0x40, 0xf6, 0xff, 0x70, 0x40, 0xf2, 0x73, 0x50, 0x24, 0xf8, 0xa4, 0x0c, 0x38, 0x46, 
+    0x02, 0xf0, 0xe6, 0xfa, 0xb9, 0xf1, 0x00, 0x0f, 0x14, 0xbf, 0x0f, 0x20, 0x05, 0x20, 0x04, 
+    0xf8, 0xa2, 0x0c, 0x03, 0x20, 0x04, 0xf8, 0xa1, 0x0c, 0x28, 0x46, 0x02, 0xf0, 0xd9, 0xfa, 
+    0x38, 0x48, 0x04, 0xf8, 0xa1, 0x7c, 0x05, 0x70, 0x86, 0xf8, 0xf0, 0x50, 0x38, 0x46, 0x02, 
+    0xf0, 0xd0, 0xfa, 0x20, 0x88, 0x40, 0xf0, 0x0c, 0x00, 0x20, 0x80, 0x08, 0x20, 0x02, 0xf0, 
+    0xc9, 0xfa, 0xba, 0xf1, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf4, 0x41, 0x19, 0x00, 0xfa, 0x00, 0x0f, 0x0f, 0xd0, 0x86, 0xf8, 
+    0xf0, 0x70, 0x38, 0x46, 0x02, 0xf0, 0xc1, 0xfa, 0x86, 0xf8, 0xf0, 0x50, 0x38, 0x46, 0x02, 
+    0xf0, 0xbc, 0xfa, 0x20, 0x88, 0x20, 0xf0, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, 0x20, 0x80, 
+    0x86, 0xf8, 0x04, 0x90, 0x35, 0x70, 0xbd, 0xe8, 0xf0, 0x87, 0xf0, 0xb5, 0x11, 0x20, 0x24, 
+    0x4d, 0x01, 0x24, 0x24, 0x4e, 0xe8, 0x70, 0x02, 0x20, 0x34, 0x70, 0x02, 0xf0, 0xa7, 0xfa, 
+    0x34, 0x71, 0x02, 0x20, 0x02, 0xf0, 0xa3, 0xfa, 0x34, 0x74, 0x02, 0x20, 0x86, 0xf8, 0x34, 
+    0x40, 0x02, 0xf0, 0x9d, 0xfa, 0x85, 0xf8, 0x4a, 0x40, 0x20, 0x46, 0x34, 0x73, 0x02, 0xf0, 
+    0x97, 0xfa, 0x00, 0x27, 0x85, 0xf8, 0x4a, 0x70, 0x02, 0x20, 0x02, 0xf0, 0x91, 0xfa, 0x28, 
+    0x88, 0x40, 0xf4, 0xff, 0x50, 0x28, 0x80, 0x86, 0xf8, 0x28, 0x40, 0x08, 0x20, 0x85, 0xf8, 
+    0x20, 0x7f, 0x02, 0xf0, 0x86, 0xfa, 0x12, 0x20, 0xe8, 0x70, 0xf0, 0xbd, 0x30, 0xb1, 0x0f, 
+    0x49, 0x08, 0x88, 0x40, 0xf4, 0x40, 0x70, 0x08, 0x80, 0x4c, 0x20, 0x08, 0x73, 0x70, 0x47, 
+    0x04, 0x03, 0x04, 0x42, 0xe4, 0x08, 0x00, 0x20, 0x1a, 0x20, 0x00, 0x40, 0x1c, 0x20, 0x00, 
+    0x40, 0x14, 0x22, 0x00, 0x40, 0x00, 0x40, 0x04, 0x42, 0x80, 0x1b, 0x04, 0x42, 0x80, 0x04, 
+    0x04, 0x42, 0x0e, 0x03, 0x00, 0x20, 0xe0, 0x20, 0x00, 0x42, 0x64, 0x11, 0x00, 0x40, 0x80, 
+    0x2c, 0x02, 0x42, 0x4a, 0x10, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x40, 0x0d, 
+    0x86, 0x4b, 0x00, 0x90, 0x86, 0x48, 0x4f, 0xf0, 0x00, 0x09, 0x83, 0xf8, 0x32, 0x90, 0x83, 
+    0xf8, 0x33, 0x90, 0x80, 0xf8, 0x00, 0x90, 0x18, 0x7d, 0x22, 0x4c, 0x00, 0x28, 0x06, 0xbf, 
+    0xe0, 0x8e, 0x02, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0xee, 0x42, 0x19, 0x00, 0xfa, 0x94, 0xf8, 0x35, 0x20, 0xb1, 0x48, 
+    0xaf, 0x4e, 0x01, 0x88, 0x62, 0xf3, 0x1f, 0x31, 0x02, 0x46, 0x01, 0x92, 0x11, 0x80, 0x94, 
+    0xf8, 0x33, 0x10, 0x60, 0x8b, 0x40, 0x18, 0xd1, 0x88, 0x60, 0xf3, 0x1f, 0x31, 0xd1, 0x80, 
+    0xaa, 0x4a, 0x48, 0x46, 0x11, 0x78, 0x51, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x02, 0x90, 0xa7, 
+    0x48, 0x4f, 0x46, 0xc5, 0x8b, 0x01, 0x8c, 0x03, 0x97, 0x04, 0x97, 0x05, 0x97, 0x06, 0x97, 
+    0x07, 0x93, 0xdd, 0xf8, 0x00, 0xc0, 0xa3, 0x4b, 0xa3, 0x4f, 0xbc, 0xf1, 0x00, 0x0f, 0x19, 
+    0xd0, 0x9c, 0x46, 0xcd, 0xf8, 0x20, 0xc0, 0x4f, 0xf4, 0x80, 0x53, 0xac, 0xf8, 0x30, 0x30, 
+    0xa0, 0xf8, 0x22, 0x90, 0x09, 0x91, 0xe8, 0x13, 0x82, 0x46, 0xb7, 0xf8, 0x9c, 0x00, 0x40, 
+    0x08, 0x34, 0xbf, 0x94, 0xf8, 0x5f, 0x10, 0x94, 0xf8, 0x61, 0x10, 0x94, 0xf8, 0x3b, 0x00, 
+    0x11, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x08, 0x93, 0x4f, 0xf0, 0x10, 0x01, 0x19, 
+    0x86, 0xa0, 0xf8, 0x06, 0x90, 0x45, 0x88, 0x80, 0x88, 0x09, 0x90, 0x94, 0xf8, 0x39, 0x00, 
+    0x94, 0xf8, 0x65, 0x10, 0xdd, 0xf8, 0x18, 0xa0, 0x01, 0x44, 0x4f, 0xea, 0xc1, 0x00, 0x08, 
+    0x99, 0x08, 0x80, 0x02, 0x98, 0x08, 0x99, 0x78, 0xb9, 0x01, 0x20, 0x01, 0xf8, 0x07, 0x0c, 
+    0x08, 0x88, 0x89, 0x88, 0x00, 0x1f, 0x88, 0x42, 0x04, 0xda, 0x11, 0x78, 0x21, 0x20, 0xff, 
+    0x22, 0x02, 0xf0, 0x2c, 0xfa, 0x08, 0x20, 0x02, 0xf0, 0x0a, 0xfa, 0x4f, 0xea, 0x65, 0x00, 
+    0x00, 0xf0, 0x1f, 0x00, 0x0a, 0x90, 0xa7, 0x48, 0x94, 0xf8, 0x77, 0x10, 0x4f, 0xf0, 0x01, 
+    0x08, 0x0b, 0x90, 0x07, 0x9b, 0x90, 0xf8, 0x5c, 0x0e, 0x4f, 0xea, 0xa5, 0x12, 0x02, 0xf0, 
+    0x7f, 0x02, 0x98, 0x72, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe8, 0x43, 0x19, 0x00, 0xfa, 0xa1, 0x48, 0x00, 0x88, 0x83, 0xf8, 
+    0x0b, 0x80, 0x18, 0x81, 0x60, 0x88, 0x60, 0xb9, 0x28, 0x2a, 0xbc, 0xbf, 0x02, 0xf2, 0xb1, 
+    0x40, 0x40, 0x00, 0x05, 0xdb, 0x4f, 0xea, 0x65, 0x10, 0x00, 0xf0, 0xfe, 0x00, 0x00, 0xf6, 
+    0x13, 0x10, 0x80, 0xb2, 0x0c, 0x90, 0x0c, 0x9a, 0x97, 0x48, 0x4c, 0xf2, 0x50, 0x33, 0x00, 
+    0xfb, 0x02, 0xf0, 0x0d, 0x90, 0x78, 0x89, 0x95, 0x4a, 0x6f, 0xf3, 0x9f, 0x20, 0x03, 0xfb, 
+    0x00, 0x25, 0x94, 0xf8, 0x76, 0x00, 0x30, 0xb1, 0x48, 0x09, 0x04, 0xd3, 0x0d, 0x98, 0x29, 
+    0x46, 0x01, 0xf0, 0xbb, 0xfd, 0xa0, 0xb9, 0xb4, 0xf8, 0xac, 0x01, 0x0c, 0x99, 0x80, 0xb9, 
+    0x4f, 0xf4, 0xfa, 0x30, 0x48, 0x43, 0xb4, 0xf9, 0x06, 0x10, 0xa0, 0xeb, 0x41, 0x10, 0x00, 
+    0xf5, 0x7a, 0x60, 0x4f, 0xf4, 0xfa, 0x51, 0xb0, 0xfb, 0xf1, 0xf0, 0x80, 0xb2, 0xcd, 0xf8, 
+    0x38, 0x80, 0x05, 0xe0, 0x0d, 0x98, 0x29, 0x46, 0x01, 0xf0, 0xc1, 0xfd, 0x06, 0x99, 0x0e, 
+    0x91, 0x81, 0x49, 0x4f, 0xf4, 0x96, 0x72, 0x81, 0x4d, 0xc1, 0xeb, 0x00, 0x51, 0xb1, 0xfb, 
+    0xf2, 0xf1, 0x40, 0x31, 0xc1, 0xf3, 0xd0, 0x11, 0xa6, 0xf6, 0x64, 0x72, 0x11, 0x60, 0xb4, 
+    0xf9, 0x08, 0x10, 0xb4, 0xf9, 0x06, 0x20, 0x89, 0x18, 0x26, 0xf8, 0x2c, 0x1c, 0x77, 0x49, 
+    0x01, 0xeb, 0x60, 0x01, 0xb1, 0xfb, 0xf0, 0xf0, 0x26, 0xf8, 0x2a, 0x0c, 0x00, 0x98, 0x08, 
+    0x99, 0x00, 0x28, 0x40, 0xf0, 0x8a, 0x80, 0xa1, 0xf8, 0x20, 0x90, 0x02, 0x20, 0x88, 0x83, 
+    0x0a, 0x98, 0x03, 0x28, 0x14, 0xdb, 0x78, 0x6a, 0x70, 0x65, 0xb8, 0x6a, 0xb0, 0x65, 0xf8, 
+    0x6a, 0xf0, 0x65, 0x38, 0x6b, 0x30, 0x66, 0x78, 0x6b, 0x70, 0x66, 0xb8, 0x6b, 0xb0, 0x66, 
+    0x0a, 0x98, 0x80, 0x10, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe2, 0x44, 0x19, 0x00, 0xfa, 0x86, 0xf8, 0x76, 0x00, 0x0c, 0xe0, 
+    0xd0, 0x08, 0x00, 0x20, 0x10, 0x01, 0x04, 0x42, 0x0a, 0x98, 0x07, 0xeb, 0xc0, 0x00, 0xc1, 
+    0x68, 0x71, 0x65, 0x00, 0x69, 0xb0, 0x65, 0x86, 0xf8, 0x76, 0x80, 0x4f, 0xf0, 0x3f, 0x0a, 
+    0x4f, 0xf4, 0x80, 0x70, 0xa6, 0xf8, 0x6c, 0xa0, 0x85, 0xf8, 0xe0, 0x9c, 0xa6, 0xf8, 0x74, 
+    0x00, 0x05, 0x20, 0xa6, 0xf8, 0x7a, 0x00, 0x1f, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0x82, 0x20, 
+    0x86, 0xf8, 0x8d, 0x00, 0x4f, 0xf4, 0x9b, 0x70, 0xa6, 0xf8, 0x7e, 0x00, 0x4f, 0xf4, 0xc3, 
+    0x70, 0xa6, 0xf8, 0x7c, 0x00, 0x43, 0xf2, 0x3a, 0x50, 0xa6, 0xf8, 0x88, 0x00, 0x42, 0xf2, 
+    0x09, 0x30, 0xa6, 0xf8, 0x90, 0x00, 0x41, 0xf2, 0x1b, 0x40, 0xa6, 0xf8, 0x92, 0x00, 0x04, 
+    0x20, 0x86, 0xf8, 0x96, 0x00, 0x3a, 0x20, 0x86, 0xf8, 0x95, 0x00, 0x4f, 0xf4, 0xa3, 0x70, 
+    0xa6, 0xf8, 0xa2, 0x00, 0xe4, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, 0xf8, 0xa4, 0x00, 0x7a, 
+    0x20, 0xa6, 0xf8, 0xa0, 0x00, 0x6c, 0x20, 0xf0, 0x80, 0x4f, 0xf6, 0x94, 0x70, 0x30, 0x81, 
+    0x1a, 0x20, 0x70, 0x82, 0xf0, 0x83, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, 0x40, 0xf4, 0xcd, 
+    0x70, 0x30, 0x86, 0x85, 0xf8, 0x20, 0x98, 0x85, 0xf8, 0x00, 0x80, 0xb0, 0x8a, 0x20, 0xf4, 
+    0x60, 0x60, 0x40, 0xf4, 0xa0, 0x60, 0xb0, 0x82, 0x85, 0xf8, 0x30, 0x94, 0x30, 0x88, 0x20, 
+    0xf4, 0x40, 0x70, 0x30, 0x80, 0xcc, 0xe0, 0xc0, 0x46, 0x68, 0x10, 0x00, 0x40, 0x08, 0x20, 
+    0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x3c, 0x24, 0x00, 0x40, 0xc0, 
+    0x00, 0x00, 0x20, 0x08, 0x99, 0x31, 0x20, 0xba, 0xf1, 0x00, 0x0f, 0x08, 0x84, 0x86, 0xf8, 
+    0x76, 0x80, 0x0a, 0x98, 
+
+    0x01, 0x05, 0xff, 0xff, 0xdc, 0x45, 0x19, 0x00, 0xfa, 0x00, 0xf0, 0x07, 0x00, 0x0a, 0x90, 
+    0x29, 0x48, 0x52, 0xd1, 0xf9, 0x6b, 0xb1, 0x65, 0x39, 0x6c, 0x31, 0x66, 0x79, 0x6c, 0xb1, 
+    0x66, 0x97, 0xf8, 0x95, 0x10, 0x19, 0xb1, 0x4f, 0xf0, 0x07, 0x01, 0x86, 0xf8, 0x76, 0x10, 
+    0x1f, 0x21, 0xa6, 0xf8, 0x6c, 0x10, 0x00, 0x88, 0xa6, 0xf8, 0x74, 0x00, 0x04, 0x20, 0xa6, 
+    0xf8, 0x7a, 0x00, 0x13, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0xad, 0x20, 0x86, 0xf8, 0x8d, 0x00, 
+    0x4f, 0xf4, 0xa8, 0x70, 0xa6, 0xf8, 0xa2, 0x00, 0xee, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, 
+    0xf8, 0xa4, 0x00, 0x83, 0x20, 0xa6, 0xf8, 0xa0, 0x00, 0xa6, 0xf8, 0x06, 0x90, 0xa6, 0xf8, 
+    0x08, 0x90, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, 0x40, 0xf0, 0x64, 0x00, 0x30, 0x86, 0x85, 
+    0xf8, 0x00, 0x90, 0xb0, 0x8a, 0x20, 0xf4, 0x70, 0x60, 0x40, 0xf4, 0x00, 0x70, 0xb0, 0x82, 
+    0x85, 0xf8, 0x30, 0x84, 0x30, 0x88, 0x20, 0xf4, 0x00, 0x70, 0x40, 0xf4, 0x80, 0x70, 0x48, 
+    0xe0, 0xc0, 0x46, 0x64, 0x8c, 0x03, 0x42, 0x18, 0x1c, 0x00, 0x40, 0x40, 0x42, 0x0f, 0x00, 
+    0x00, 0xab, 0x87, 0x04, 0x6a, 0xff, 0xff, 0x5f, 0xeb, 0x51, 0xb8, 0x1e, 0x00, 0x0f, 0x02, 
+    0x42, 0xb0, 0x03, 0x00, 0x20, 0xb7, 0xf8, 0x96, 0x10, 0xa6, 0xf8, 0x5a, 0x10, 0x0f, 0x21, 
+    0xa6, 0xf8, 0x6c, 0x10, 0x80, 0x1c, 0x00, 0x88, 0xa6, 0xf8, 0x74, 0x00, 0x05, 0x20, 0xa6, 
+    0xf8, 0x7a, 0x00, 0x1f, 0x20, 0xa6, 0xf8, 0x78, 0x00, 0x82, 0x20, 0x86, 0xf8, 0x8d, 0x00, 
+    0x4f, 0xf4, 0xa3, 0x70, 0xa6, 0xf8, 0xa2, 0x00, 0xe4, 0x20, 0xa6, 0xf8, 0xa6, 0x00, 0xa6, 
+    0xf8, 0xa4, 0x00, 0x7a, 0x20, 0xa6, 0xf8, 0xa0, 0x00, 0x6c, 0x20, 0xf0, 0x80, 0x4f, 0xf6, 
+    0x94, 0x70, 0x30, 0x81, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd6, 0x46, 0x19, 0x00, 0xfa, 0x30, 0x8e, 0x6f, 0xf3, 0x09, 0x00, 
+    0x40, 0xf4, 0xcd, 0x70, 0x30, 0x86, 0x85, 0xf8, 0x00, 0x80, 0xb0, 0x8a, 0x20, 0xf4, 0x60, 
+    0x60, 0x40, 0xf4, 0xa0, 0x60, 0xb0, 0x82, 0x85, 0xf8, 0x30, 0x94, 0x30, 0x88, 0x20, 0xf4, 
+    0x40, 0x70, 0x30, 0x80, 0xaa, 0x20, 0x85, 0xf8, 0xe0, 0x8c, 0xa6, 0xf8, 0x7e, 0x00, 0xfa, 
+    0x20, 0xa6, 0xf8, 0x7c, 0x00, 0x43, 0xf2, 0x28, 0x60, 0xa6, 0xf8, 0x88, 0x00, 0x41, 0xf2, 
+    0x08, 0x30, 0xa6, 0xf8, 0x90, 0x00, 0x00, 0xf1, 0x01, 0x00, 0xa6, 0xf8, 0x92, 0x00, 0x02, 
+    0x20, 0x86, 0xf8, 0x96, 0x00, 0x32, 0x20, 0x86, 0xf8, 0x95, 0x00, 0x1a, 0x20, 0x70, 0x82, 
+    0xf0, 0x83, 0xb4, 0xf8, 0x62, 0x00, 0x00, 0x28, 0x0c, 0xbf, 0x85, 0xf8, 0x20, 0x98, 0x85, 
+    0xf8, 0x20, 0x88, 0x4f, 0xf0, 0x3f, 0x0a, 0x40, 0xf6, 0x12, 0x00, 0xb0, 0x84, 0x41, 0x20, 
+    0x06, 0xf8, 0x12, 0x0c, 0x09, 0x98, 0x03, 0x28, 0x05, 0xd1, 0xa0, 0x88, 0x40, 0x08, 0x28, 
+    0xbf, 0xdd, 0xf8, 0x18, 0xb0, 0x00, 0xd2, 0xc3, 0x46, 0xa5, 0xf5, 0x70, 0x60, 0x80, 0xf8, 
+    0x00, 0xb0, 0xb4, 0xf9, 0x06, 0x10, 0xfa, 0x20, 0x01, 0xfb, 0x00, 0xf1, 0x0d, 0x98, 0x40, 
+    0x1a, 0x01, 0xf0, 0x27, 0xfb, 0x07, 0x99, 0x00, 0xf5, 0x00, 0x03, 0x09, 0x68, 0x0f, 0x91, 
+    0xdd, 0xf8, 0x3c, 0xc0, 0x0d, 0x9a, 0x19, 0x0e, 0x0c, 0xfb, 0x11, 0x21, 0x00, 0x29, 0xb8, 
+    0xbf, 0x49, 0x42, 0x74, 0x4a, 0x8a, 0x42, 0x1b, 0xdd, 0xb4, 0xf8, 0xee, 0x10, 0x01, 0xf0, 
+    0x01, 0x01, 0x03, 0x91, 0x03, 0xf0, 0x7f, 0x43, 0x1b, 0x1a, 0x0f, 0x98, 0x10, 0x33, 0x59, 
+    0x11, 0x00, 0xf5, 0x80, 0x70, 0x40, 0x0a, 0x4f, 0xf4, 0x00, 0x72, 0x00, 0xfb, 0x01, 0x20, 
+    0x80, 0x12, 0x4f, 0xf4, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd0, 0x47, 0x19, 0x00, 0xfa, 0x00, 0x41, 0x40, 0xf2, 0x5b, 0x32, 
+    0x02, 0xfb, 0x00, 0x10, 0x00, 0x14, 0x26, 0xf8, 0x14, 0x0c, 0x58, 0x46, 0xff, 0xf7, 0x59, 
+    0xfc, 0x07, 0x98, 0x80, 0x7b, 0x60, 0xb1, 0x02, 0x98, 0x50, 0xb9, 0x00, 0x98, 0x00, 0x28, 
+    0x07, 0xbf, 0x08, 0x98, 0x80, 0xf8, 0x11, 0x80, 0x08, 0x98, 0x80, 0xf8, 0x13, 0x80, 0x01, 
+    0xf0, 0x82, 0xfe, 0x0e, 0x9a, 0x58, 0x46, 0xff, 0xf7, 0xa7, 0xfc, 0x0c, 0x98, 0x41, 0x46, 
+    0x01, 0xf0, 0x0d, 0xfb, 0x07, 0x98, 0x00, 0x7d, 0x40, 0xb9, 0x06, 0x98, 0x07, 0x21, 0x01, 
+    0xf0, 0xe6, 0xfa, 0x0b, 0x98, 0x00, 0x78, 0x0b, 0x99, 0xc0, 0x43, 0x08, 0x70, 0x94, 0xf8, 
+    0x76, 0x00, 0x28, 0xb1, 0x08, 0x98, 0xa0, 0xf5, 0x0a, 0x70, 0x00, 0x88, 0x40, 0x08, 0x05, 
+    0xd2, 0x01, 0x98, 0x40, 0x8a, 0x01, 0x99, 0x40, 0xf0, 0x07, 0x00, 0x48, 0x82, 0xa6, 0xf6, 
+    0x68, 0x70, 0x80, 0xf8, 0x00, 0xa0, 0x96, 0x48, 0x0f, 0x90, 0x80, 0xf8, 0x5c, 0x80, 0xa6, 
+    0xf6, 0x62, 0x60, 0x02, 0x78, 0xa6, 0xf6, 0x62, 0x60, 0x00, 0x88, 0xa6, 0xf6, 0x62, 0x61, 
+    0x40, 0xf0, 0x0f, 0x00, 0x08, 0x80, 0xa6, 0xf6, 0x62, 0x60, 0x00, 0x88, 0x02, 0xf0, 0x0f, 
+    0x02, 0x20, 0xf0, 0x0f, 0x00, 0x02, 0x43, 0xa6, 0xf6, 0x62, 0x60, 0x02, 0x80, 0xff, 0xf7, 
+    0xcb, 0xfc, 0x08, 0x98, 0x30, 0xf8, 0x10, 0x0c, 0x07, 0x99, 0xc0, 0x11, 0x00, 0xf0, 0x01, 
+    0x00, 0x81, 0xf8, 0x32, 0x00, 0x40, 0x46, 0x86, 0xf8, 0x54, 0x81, 0x01, 0xf0, 0x6e, 0xff, 
+    0x01, 0xf0, 0x73, 0xfa, 0x94, 0xf9, 0x52, 0x10, 0x81, 0x42, 0xbc, 0xbf, 0x07, 0x98, 0x80, 
+    0xf8, 0x33, 0x80, 0x02, 0x98, 0x00, 0x28, 0x40, 0xf0, 0x64, 0x81, 0x03, 0x98, 0x18, 0xb1, 
+    0xa5, 0xf2, 0xdc, 0x50, 
+
+    0x01, 0x05, 0xff, 0xff, 0xca, 0x48, 0x19, 0x00, 0xfa, 0x80, 0xf8, 0x00, 0x90, 0x00, 0x98, 
+    0x00, 0x28, 0x14, 0xbf, 0x07, 0x20, 0x03, 0x20, 0x08, 0x99, 0xdf, 0xf8, 0x34, 0xa2, 0x01, 
+    0xf8, 0x33, 0x0c, 0x00, 0x98, 0x20, 0xb9, 0x0a, 0x98, 0x81, 0x10, 0x50, 0x46, 0x00, 0x1d, 
+    0x01, 0x80, 0x09, 0x98, 0x03, 0x28, 0x4d, 0xd0, 0x00, 0x98, 0x01, 0x28, 0x08, 0xd0, 0xb7, 
+    0xf8, 0xa8, 0x00, 0x08, 0x99, 0xc0, 0x00, 0xa0, 0xf5, 0x18, 0x70, 0x08, 0x80, 0x88, 0x20, 
+    0x00, 0xe0, 0x81, 0x20, 0x01, 0xf0, 0x56, 0xff, 0x07, 0x46, 0x38, 0x0a, 0x07, 0x98, 0x03, 
+    0xd2, 0x90, 0xf8, 0x32, 0x00, 0x01, 0x28, 0x07, 0xd1, 0xa5, 0xf2, 0xdc, 0x50, 0x80, 0xf8, 
+    0x00, 0x80, 0xcd, 0xf8, 0x10, 0x80, 0x06, 0x98, 0x03, 0x90, 0x00, 0x98, 0x38, 0xbb, 0x38, 
+    0x0a, 0x02, 0xd3, 0x08, 0x20, 0x01, 0xf0, 0x3f, 0xff, 0x86, 0xf8, 0x54, 0x81, 0x40, 0x46, 
+    0x01, 0xf0, 0x1c, 0xff, 0x01, 0xf0, 0x21, 0xfa, 0x94, 0xf9, 0xc1, 0x10, 0x81, 0x42, 0x0f, 
+    0xdb, 0x07, 0x98, 0x90, 0xf8, 0x32, 0x00, 0x01, 0x28, 0x0a, 0xd0, 0x94, 0xf8, 0xc0, 0x00, 
+    0x40, 0x08, 0x0e, 0xd3, 0x09, 0x98, 0x60, 0xb9, 0x01, 0xf0, 0xcc, 0xfd, 0x0a, 0xe1, 0x28, 
+    0xe7, 0x09, 0x00, 0x03, 0x98, 0xff, 0xf7, 0x80, 0xfc, 0x0a, 0x20, 0x01, 0xf0, 0x00, 0xff, 
+    0x85, 0xf8, 0x00, 0x88, 0x09, 0x98, 0x02, 0x28, 0x01, 0xd1, 0x01, 0xf0, 0x79, 0xfb, 0x09, 
+    0x98, 0x03, 0x28, 0x2a, 0xd1, 0xb4, 0xf8, 0x5c, 0x00, 0x38, 0xb3, 0x86, 0xf8, 0x54, 0x81, 
+    0x40, 0x46, 0x01, 0xf0, 0xee, 0xfe, 0x01, 0xf0, 0xf3, 0xf9, 0x94, 0xf9, 0xc1, 0x10, 0x81, 
+    0x42, 0x18, 0xdb, 0x01, 0xf0, 0x66, 0xfb, 0x4f, 0xf4, 0xfa, 0x60, 0x01, 0xf0, 0x18, 0xff, 
+    0x91, 0x20, 0x01, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0xc4, 0x49, 0x19, 0x00, 0xfa, 0xfd, 0xfe, 0x07, 0x46, 0x17, 0xf0, 
+    0x81, 0x0f, 0x0b, 0xd1, 0x01, 0xf0, 0xb3, 0xfb, 0x64, 0x20, 0x01, 0xf0, 0x0c, 0xff, 0x91, 
+    0x20, 0x01, 0xf0, 0xf1, 0xfe, 0x07, 0x46, 0x17, 0xf0, 0x81, 0x0f, 0xdb, 0xd0, 0x38, 0x0a, 
+    0x01, 0xd3, 0x01, 0xf0, 0xa5, 0xfb, 0x00, 0x98, 0x01, 0x28, 0x04, 0xd1, 0x38, 0x0a, 0x02, 
+    0xd3, 0x40, 0x46, 0x01, 0xf0, 0xe1, 0xfe, 0x00, 0x98, 0x10, 0xb9, 0x40, 0x46, 0x01, 0xf0, 
+    0xdc, 0xfe, 0x28, 0x20, 0x01, 0xf0, 0xfa, 0xfe, 0x00, 0x98, 0x01, 0x28, 0x02, 0xd1, 0x03, 
+    0x98, 0xff, 0xf7, 0x32, 0xfc, 0xb4, 0xf8, 0x4e, 0x00, 0x00, 0xf1, 0x01, 0x00, 0xa4, 0xf8, 
+    0x4e, 0x00, 0x03, 0x98, 0xe0, 0xb9, 0x94, 0xf8, 0xc0, 0x00, 0xdd, 0xf8, 0x18, 0xb0, 0x00, 
+    0x11, 0x00, 0xf0, 0x07, 0x00, 0x02, 0x28, 0x08, 0xbf, 0xc3, 0x46, 0xbb, 0xf1, 0x00, 0x0f, 
+    0x0d, 0xd1, 0x01, 0x28, 0x09, 0x98, 0x0c, 0xd0, 0x58, 0xb9, 0x04, 0x98, 0x48, 0xb1, 0x07, 
+    0x98, 0x90, 0xf8, 0x32, 0x00, 0x28, 0xb9, 0x07, 0x98, 0x90, 0xf8, 0x33, 0x00, 0x08, 0xb9, 
+    0xcd, 0xf8, 0x14, 0x80, 0x84, 0xf8, 0x0c, 0x90, 0x05, 0x98, 0x18, 0xb9, 0x0a, 0x20, 0x01, 
+    0xf0, 0x89, 0xfe, 0x03, 0xe0, 0x01, 0xf0, 0x06, 0xfb, 0x84, 0xf8, 0x0c, 0x80, 0x00, 0x98, 
+    0x10, 0xb9, 0x0a, 0x98, 0x03, 0x28, 0x16, 0xdb, 0x96, 0xf8, 0x99, 0x00, 0x03, 0x28, 0x08, 
+    0xbf, 0x04, 0x20, 0x00, 0x99, 0x00, 0x29, 0x08, 0xbf, 0xaa, 0xf8, 0x04, 0x00, 0x0d, 0xd0, 
+    0x8a, 0xf8, 0x06, 0x00, 0x96, 0xf8, 0x98, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x8a, 0xf8, 0x07, 
+    0x00, 0x04, 0xe0, 0xc0, 0x46, 0x08, 0x20, 0x00, 0x42, 0xaa, 0xf8, 0x04, 0x90, 0x35, 0x4f, 
+    0x0a, 0x20, 0x87, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xff, 0xbe, 0x4a, 0x19, 0x00, 0xfa, 0x24, 0x90, 0x01, 0xf0, 0x60, 0xfe, 
+    0x86, 0xf8, 0x54, 0x81, 0x40, 0x46, 0x01, 0xf0, 0x5b, 0xfe, 0x87, 0xf8, 0x00, 0x90, 0x0f, 
+    0x98, 0x80, 0xf8, 0x00, 0x90, 0x0c, 0x20, 0x01, 0xf0, 0x7c, 0xfe, 0x08, 0x98, 0x80, 0x8b, 
+    0x01, 0x28, 0x08, 0xbf, 0xcd, 0xf8, 0x18, 0x80, 0xe0, 0x89, 0x84, 0xf8, 0x0d, 0x90, 0x01, 
+    0x28, 0x0f, 0xd1, 0x06, 0x98, 0x01, 0x28, 0x0c, 0xd1, 0x05, 0x98, 0x01, 0x28, 0x09, 0xd1, 
+    0xbb, 0xf1, 0x00, 0x0f, 0x06, 0xd1, 0x01, 0xf0, 0x17, 0xfb, 0x84, 0xf8, 0x0d, 0x80, 0x06, 
+    0xe0, 0x30, 0x00, 0x00, 0x20, 0x85, 0xf8, 0x00, 0x98, 0x06, 0x20, 0x01, 0xf0, 0x33, 0xfe, 
+    0x85, 0xf8, 0x40, 0x88, 0x00, 0x98, 0x08, 0x99, 0x00, 0x28, 0x2f, 0xd1, 0x04, 0x20, 0x01, 
+    0xf8, 0x33, 0x0c, 0x10, 0x20, 0x01, 0xf0, 0x66, 0xfe, 0x09, 0x20, 0x01, 0xf0, 0x42, 0xfe, 
+    0x61, 0x7b, 0x01, 0x29, 0x08, 0xbf, 0x85, 0xf8, 0x00, 0x98, 0x40, 0x08, 0x0a, 0xd3, 0x07, 
+    0x98, 0x90, 0xf8, 0x32, 0x00, 0x30, 0xb9, 0x07, 0x98, 0x90, 0xf8, 0x33, 0x00, 0x10, 0xb9, 
+    0x40, 0xf2, 0x14, 0x60, 0xb0, 0x84, 0x08, 0x98, 0x06, 0x21, 0x00, 0xf8, 0x33, 0x1c, 0x64, 
+    0x20, 0x01, 0xf0, 0x4a, 0xfe, 0x09, 0x20, 0x01, 0xf0, 0x31, 0xfe, 0x40, 0x08, 0x08, 0xd3, 
+    0x0a, 0x20, 0x01, 0xf0, 0x03, 0xfe, 0xa5, 0xf5, 0xb2, 0x65, 0x87, 0xf8, 0x1c, 0x90, 0x85, 
+    0xf8, 0x00, 0x80, 0x10, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x90, 0x2c, 0x02, 0x42, 0x30, 0xb5, 
+    0x29, 0x4c, 0x00, 0x25, 0x20, 0x78, 0x01, 0x28, 0x47, 0xd1, 0x28, 0x48, 0x02, 0x46, 0xbe, 
+    0x3a, 0x15, 0x80, 0x95, 0x70, 0x15, 0x71, 0x95, 0x71, 0xb2, 0xf8, 0x42, 0x10, 0xc9, 0xb2, 
+    0xa2, 0xf8, 0x42, 0x10, 
+
+    0x01, 0x05, 0xff, 0xff, 0xb8, 0x4b, 0x19, 0x00, 0xfa, 0x21, 0x49, 0x0d, 0x70, 0xa2, 0xf6, 
+    0xf4, 0x31, 0x0d, 0x80, 0xa2, 0xf6, 0xf2, 0x31, 0x0d, 0x80, 0x00, 0x88, 0x20, 0xf0, 0x03, 
+    0x00, 0xa2, 0xf8, 0xbe, 0x00, 0xb1, 0x48, 0x81, 0x6b, 0xa2, 0xf6, 0xfc, 0x33, 0x19, 0x60, 
+    0xc1, 0x6b, 0xa2, 0xf6, 0xf8, 0x33, 0x19, 0x60, 0x90, 0xf8, 0x41, 0x10, 0xac, 0x4b, 0x19, 
+    0x70, 0x90, 0xf8, 0x40, 0x10, 0x82, 0xf8, 0xe1, 0x15, 0x90, 0xf8, 0x42, 0x10, 0x82, 0xf8, 
+    0xdd, 0x14, 0x90, 0xf8, 0x43, 0x10, 0x82, 0xf8, 0xdc, 0x14, 0x41, 0x6c, 0xa6, 0x4a, 0x11, 
+    0x60, 0xa6, 0x49, 0x90, 0xf8, 0x48, 0x20, 0x81, 0xf8, 0x7a, 0x20, 0x90, 0xf8, 0x49, 0x00, 
+    0x81, 0xf8, 0x7e, 0x00, 0x28, 0x46, 0x01, 0xf0, 0xd1, 0xfa, 0x09, 0x48, 0x00, 0x78, 0x10, 
+    0xb9, 0x10, 0x20, 0x08, 0x49, 0x08, 0x80, 0x25, 0x70, 0x30, 0xbd, 0x01, 0x12, 0x49, 0x42, 
+    0x08, 0x43, 0xc0, 0xb2, 0x70, 0x47, 0x24, 0x09, 0x00, 0x20, 0x4c, 0x8c, 0x03, 0x42, 0xd6, 
+    0x1c, 0x00, 0x40, 0x87, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 
+    0xad, 0xf1, 0x7c, 0x0d, 0x04, 0x93, 0x05, 0x92, 0x06, 0x91, 0x91, 0x49, 0x07, 0x90, 0x40, 
+    0x08, 0x08, 0x91, 0x94, 0x49, 0x09, 0x91, 0x95, 0x49, 0x0a, 0x91, 0x96, 0x49, 0x0b, 0x91, 
+    0xc0, 0xf0, 0x70, 0x81, 0xdf, 0xf8, 0x20, 0x82, 0x8c, 0x48, 0x01, 0x46, 0x89, 0x1e, 0x0a, 
+    0x68, 0xc8, 0xf8, 0x38, 0x20, 0x4a, 0x68, 0xc8, 0xf8, 0x3c, 0x20, 0x84, 0x4a, 0x12, 0x1f, 
+    0x92, 0xf8, 0x05, 0x31, 0x88, 0xf8, 0x40, 0x30, 0x80, 0x4d, 0x2b, 0x78, 0x88, 0xf8, 0x41, 
+    0x30, 0x53, 0x78, 0x88, 0xf8, 0x42, 0x30, 0x13, 0x78, 0x88, 0xf8, 0x43, 0x30, 0x52, 0x68, 
+    0xc8, 0xf8, 0x44, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0xb2, 0x4c, 0x19, 0x00, 0xfa, 0xdd, 0xf8, 0x20, 0x90, 0x99, 0xf8, 
+    0x7a, 0x20, 0x88, 0xf8, 0x48, 0x20, 0x99, 0xf8, 0x7e, 0x20, 0x88, 0xf8, 0x49, 0x20, 0x99, 
+    0xf8, 0x78, 0x20, 0x89, 0xf8, 0x7a, 0x20, 0x99, 0xf8, 0x7c, 0x20, 0x89, 0xf8, 0x7e, 0x20, 
+    0x19, 0x22, 0x8a, 0x70, 0x00, 0x24, 0x72, 0x49, 0x0c, 0x91, 0x81, 0xf8, 0x20, 0x40, 0x0c, 
+    0x70, 0x01, 0x88, 0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0xe0, 0x61, 0x01, 0x80, 0x6f, 0x4f, 
+    0xa7, 0xf5, 0xa3, 0x71, 0x00, 0x88, 0x20, 0xf4, 0x40, 0x50, 0x08, 0x80, 0x3f, 0x20, 0xa7, 
+    0xf5, 0xa2, 0x71, 0x08, 0x70, 0x08, 0x20, 0xa7, 0xf2, 0x43, 0x11, 0x08, 0x70, 0x3c, 0x20, 
+    0xa7, 0xf5, 0xa1, 0x71, 0x08, 0x70, 0x4f, 0xf0, 0x18, 0x0b, 0xa7, 0xf2, 0x41, 0x10, 0x80, 
+    0xf8, 0x00, 0xb0, 0x63, 0x48, 0x01, 0xf0, 0x55, 0xf8, 0x01, 0x22, 0xc7, 0xf8, 0xf4, 0x0a, 
+    0x0d, 0x92, 0x2a, 0x70, 0x99, 0xf8, 0xd4, 0x00, 0x00, 0x11, 0x40, 0xf0, 0x10, 0x00, 0x87, 
+    0xf8, 0x91, 0x0f, 0x99, 0xf8, 0xd4, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x87, 0xf8, 0x90, 0x0f, 
+    0xd8, 0xf8, 0x04, 0x00, 0xc7, 0xf8, 0x94, 0x0f, 0x59, 0x48, 0x4f, 0xf4, 0xa0, 0x71, 0x09, 
+    0x9d, 0x84, 0x80, 0x41, 0x80, 0x85, 0xf8, 0x9f, 0x45, 0x0a, 0x9e, 0x51, 0x20, 0x96, 0xf8, 
+    0x00, 0xa0, 0x30, 0x70, 0x20, 0x46, 0x25, 0xf8, 0x42, 0x4c, 0x88, 0xf8, 0x14, 0x20, 0xff, 
+    0xf7, 0xa3, 0xfa, 0x42, 0xf2, 0x09, 0x00, 0x86, 0xf8, 0x00, 0xa0, 0x38, 0x80, 0xb9, 0xf8, 
+    0xae, 0x00, 0x25, 0xf8, 0x4a, 0x0c, 0x4c, 0x48, 0x0e, 0x90, 0x06, 0x98, 0x0f, 0x90, 0x05, 
+    0x98, 0x10, 0x90, 0x0b, 0x98, 0xdd, 0xf8, 0x10, 0xa0, 0x86, 0x1c, 0x11, 0x90, 0x45, 0xf6, 
+    0xe3, 0x50, 0x12, 0x90, 
+
+    0x01, 0x05, 0xff, 0xff, 0xac, 0x4d, 0x19, 0x00, 0xfa, 0x0d, 0xf1, 0x07, 0x00, 0xcd, 0xf8, 
+    0x4c, 0xb0, 0x14, 0x90, 0x0d, 0xf1, 0x0b, 0x00, 0x15, 0x90, 0x0d, 0xf1, 0x03, 0x00, 0x16, 
+    0x90, 0xad, 0xf1, 0x01, 0x00, 0x17, 0x90, 0x40, 0xf6, 0x6c, 0x10, 0x18, 0x90, 0x3f, 0x48, 
+    0x19, 0x94, 0xcd, 0xf8, 0x68, 0x80, 0x1b, 0x90, 0x19, 0x98, 0x28, 0xb1, 0x25, 0xf8, 0x42, 
+    0x4c, 0x18, 0x98, 0x0d, 0x99, 0x01, 0xf0, 0x24, 0xf8, 0xdd, 0xf8, 0x34, 0x80, 0xdd, 0xf8, 
+    0x38, 0xb0, 0x40, 0x46, 0x8b, 0xf8, 0x00, 0x80, 0x01, 0xf0, 0xc5, 0xfc, 0xd7, 0xf8, 0x24, 
+    0x0b, 0x8b, 0xf8, 0x00, 0x40, 0x17, 0x99, 0x01, 0xf8, 0x01, 0x0f, 0x17, 0x91, 0x16, 0x9a, 
+    0x01, 0x0a, 0x02, 0xf8, 0x01, 0x1f, 0x16, 0x92, 0x15, 0x9a, 0x01, 0x0c, 0x02, 0xf8, 0x01, 
+    0x1f, 0x15, 0x92, 0x14, 0x99, 0x00, 0x0e, 0x01, 0xf8, 0x01, 0x0f, 0x14, 0x91, 0x99, 0xf8, 
+    0xcc, 0x10, 0x28, 0x88, 0xaa, 0xf1, 0x02, 0x0a, 0x61, 0xf3, 0x1f, 0x20, 0x28, 0x80, 0x8b, 
+    0xf8, 0xbc, 0x86, 0x09, 0xf1, 0xcb, 0x08, 0x4f, 0xf0, 0x05, 0x0b, 0x1a, 0x98, 0x1b, 0x99, 
+    0x00, 0x68, 0x13, 0x9a, 0xb0, 0xfb, 0xf1, 0xf1, 0xb9, 0xf8, 0xb2, 0x00, 0x42, 0x43, 0xb9, 
+    0xf8, 0xb6, 0x00, 0x40, 0x02, 0xa0, 0xeb, 0x12, 0x10, 0x00, 0x0c, 0x48, 0x43, 0x81, 0x01, 
+    0x01, 0xeb, 0x40, 0x11, 0x12, 0x98, 0xb1, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0x2a, 0xf8, 0x02, 
+    0x0f, 0x25, 0xf8, 0x4e, 0x0c, 0x28, 0x88, 0x18, 0xf8, 0x01, 0x1f, 0x61, 0xf3, 0x1f, 0x20, 
+    0x28, 0x80, 0x0d, 0x98, 0xa7, 0xf2, 0x4b, 0x11, 0x08, 0x70, 0x01, 0xf0, 0x79, 0xfc, 0x4f, 
+    0xf4, 0x80, 0x70, 0x1d, 0xe0, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x3f, 0x04, 0x42, 0xf8, 0x20, 
+    0x00, 0x40, 0x00, 0x02, 
+
+    0x01, 0x05, 0xff, 0xff, 0xa6, 0x4e, 0x19, 0x00, 0xfa, 0x00, 0x20, 0x80, 0x03, 0x02, 0x42, 
+    0x1e, 0x10, 0x00, 0x40, 0x64, 0x11, 0x00, 0x40, 0x00, 0x09, 0x3d, 0x00, 0x5a, 0x1c, 0x00, 
+    0x40, 0x00, 0x00, 0x00, 0x20, 0x1c, 0x09, 0x00, 0x20, 0x90, 0x85, 0x03, 0x42, 0x40, 0x04, 
+    0x00, 0x20, 0xa0, 0x86, 0x01, 0x00, 0xa0, 0xf1, 0x01, 0x00, 0x0c, 0x99, 0x91, 0xf8, 0xa0, 
+    0x11, 0x09, 0xb9, 0x00, 0x28, 0xf7, 0xd1, 0xa7, 0xf5, 0x9c, 0x71, 0x0f, 0x9a, 0x09, 0x88, 
+    0x22, 0xf8, 0x02, 0x1b, 0x0f, 0x92, 0xa7, 0xf5, 0x9b, 0x71, 0x10, 0x9a, 0x09, 0x88, 0x22, 
+    0xf8, 0x02, 0x1b, 0x10, 0x92, 0x11, 0x99, 0x21, 0xf8, 0x08, 0x4b, 0x11, 0x91, 0x34, 0x80, 
+    0x74, 0x80, 0xb4, 0x80, 0x13, 0x99, 0x40, 0x31, 0x13, 0x91, 0x12, 0x99, 0x08, 0x36, 0xbb, 
+    0xf1, 0x01, 0x0b, 0x01, 0xf1, 0x28, 0x01, 0x12, 0x91, 0x91, 0xd1, 0x18, 0x98, 0x14, 0x30, 
+    0x80, 0xb2, 0x18, 0x90, 0x19, 0x98, 0x0a, 0xf1, 0x02, 0x0a, 0x40, 0x1c, 0x04, 0x28, 0x19, 
+    0x90, 0xff, 0xf4, 0x50, 0xaf, 0xec, 0x80, 0xb5, 0xf8, 0x7c, 0x00, 0x40, 0xf0, 0x03, 0x00, 
+    0xa5, 0xf8, 0x7c, 0x00, 0x0f, 0x20, 0x87, 0xf8, 0x00, 0x0b, 0x0d, 0x98, 0x01, 0xf0, 0x19, 
+    0xfc, 0x87, 0xf8, 0x00, 0x4b, 0x07, 0x98, 0x0a, 0x9c, 0x80, 0x08, 0xc0, 0xf0, 0x90, 0x81, 
+    0x20, 0x78, 0x41, 0x28, 0x12, 0xbf, 0x07, 0x25, 0x77, 0x48, 0x05, 0x78, 0x40, 0xf2, 0x6e, 
+    0x20, 0x01, 0xf0, 0x47, 0xfc, 0x00, 0x26, 0x37, 0x46, 0x00, 0x2d, 0xba, 0x46, 0xb0, 0x46, 
+    0x4f, 0xf4, 0x8e, 0x70, 0x1c, 0x94, 0x00, 0xf0, 0x6a, 0x81, 0x09, 0x9c, 0x14, 0x90, 0x4f, 
+    0xf4, 0x8d, 0x70, 0x15, 0x90, 0x4f, 0xf4, 0x8f, 0x70, 0x16, 0x90, 0x4f, 0xf4, 0x90, 0x70, 
+    0x17, 0x90, 0x4f, 0xf4, 
+
+    0x01, 0x05, 0xff, 0xff, 0xa0, 0x4f, 0x19, 0x00, 0xfa, 0x9a, 0x70, 0x0e, 0x90, 0x69, 0x48, 
+    0x1d, 0x90, 0x01, 0x20, 0x0a, 0x90, 0x0d, 0x95, 0x08, 0x9d, 0xd1, 0x46, 0xdd, 0xf8, 0x2c, 
+    0xb0, 0x08, 0x96, 0x50, 0x46, 0x09, 0x90, 0x64, 0x48, 0x1e, 0x90, 0x04, 0x98, 0x10, 0x90, 
+    0x06, 0x98, 0x18, 0x90, 0x05, 0x98, 0x07, 0x90, 0x04, 0x20, 0x0c, 0x90, 0x09, 0x98, 0x19, 
+    0x90, 0x0d, 0xf1, 0x07, 0x00, 0x0f, 0x90, 0x0d, 0xf1, 0x0b, 0x00, 0x1a, 0x90, 0x0d, 0xf1, 
+    0x03, 0x00, 0x13, 0x90, 0xad, 0xf1, 0x01, 0x00, 0x12, 0x90, 0x12, 0x99, 0x11, 0xf8, 0x01, 
+    0x0f, 0x00, 0x02, 0x12, 0x91, 0x24, 0xf8, 0x42, 0x0c, 0x13, 0x98, 0x10, 0xf8, 0x01, 0x1f, 
+    0x13, 0x90, 0x04, 0xf8, 0x40, 0x1c, 0x1a, 0x98, 0x10, 0xf8, 0x01, 0x1f, 0x1a, 0x90, 0x04, 
+    0xf8, 0x3e, 0x1c, 0x0f, 0x98, 0x10, 0xf8, 0x01, 0x1f, 0x0f, 0x90, 0x05, 0xf1, 0xcb, 0x00, 
+    0x04, 0xf8, 0x3c, 0x1c, 0x11, 0x90, 0x05, 0x20, 0x1b, 0x90, 0x10, 0x98, 0x80, 0x1e, 0x10, 
+    0x90, 0x18, 0x98, 0x80, 0x1e, 0x18, 0x90, 0x07, 0x98, 0x80, 0x1e, 0x07, 0x90, 0x10, 0x99, 
+    0x31, 0xf8, 0x02, 0x0f, 0x10, 0x91, 0x24, 0xf8, 0x4e, 0x0c, 0x11, 0x98, 0x10, 0xf8, 0x01, 
+    0x1f, 0x11, 0x90, 0x20, 0x88, 0x61, 0xf3, 0x1f, 0x20, 0x20, 0x80, 0x18, 0x99, 0x31, 0xf8, 
+    0x02, 0x0f, 0x18, 0x91, 0xa4, 0xf6, 0x36, 0x41, 0x08, 0x80, 0x07, 0x99, 0x31, 0xf8, 0x02, 
+    0x0f, 0x07, 0x91, 0xa4, 0xf6, 0x34, 0x41, 0x08, 0x80, 0x1c, 0x98, 0x0a, 0x99, 0x00, 0x78, 
+    0x41, 0x28, 0x2f, 0xd0, 0xa4, 0xf6, 0x42, 0x40, 0x01, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xd5, 
+    0xfd, 0x0b, 0xf8, 0x06, 0x00, 0x40, 0x46, 0xff, 0xf7, 0xd0, 0xfd, 0x5e, 0x44, 0x70, 0x70, 
+    0x50, 0x46, 0xff, 0xf7, 
+
+    0x01, 0x05, 0xff, 0xff, 0x9a, 0x50, 0x19, 0x00, 0xfa, 0xcb, 0xfd, 0xb0, 0x70, 0x48, 0x46, 
+    0xff, 0xf7, 0xc7, 0xfd, 0xf0, 0x70, 0x08, 0x99, 0x8a, 0x01, 0x02, 0xeb, 0x01, 0x12, 0x19, 
+    0x99, 0x89, 0x18, 0x1d, 0x9a, 0x12, 0x78, 0x00, 0x2a, 0xfb, 0xd0, 0x8e, 0xb2, 0xa4, 0xf6, 
+    0x24, 0x41, 0x0f, 0x88, 0xa4, 0xf6, 0x26, 0x41, 0xb1, 0xf8, 0x00, 0x80, 0xa4, 0xf6, 0x2a, 
+    0x41, 0xb1, 0xf8, 0x00, 0xa0, 0xa4, 0xf6, 0x28, 0x41, 0xb1, 0xf8, 0x00, 0x90, 0x9e, 0xe0, 
+    0x0a, 0x9e, 0x30, 0x46, 0x01, 0xf0, 0x50, 0xfb, 0xa4, 0xf6, 0x42, 0x40, 0x06, 0x70, 0x09, 
+    0x98, 0x01, 0xf0, 0x4a, 0xfb, 0x1d, 0x98, 0x00, 0x78, 0x00, 0x28, 0xfb, 0xd0, 0xa4, 0xf6, 
+    0x24, 0x40, 0x07, 0x88, 0xa4, 0xf6, 0x26, 0x40, 0xb0, 0xf8, 0x00, 0x80, 0xa4, 0xf6, 0x2a, 
+    0x40, 0xb0, 0xf8, 0x00, 0xa0, 0x47, 0x45, 0xa4, 0xf6, 0x28, 0x40, 0xb0, 0xf8, 0x00, 0x90, 
+    0xb4, 0xbf, 0x40, 0x46, 0x38, 0x1c, 0xca, 0x45, 0xb4, 0xbf, 0x49, 0x46, 0x51, 0x46, 0x88, 
+    0x42, 0xb8, 0xbf, 0x08, 0x1c, 0x14, 0x99, 0x69, 0x5a, 0x81, 0x42, 0x0f, 0xdb, 0x15, 0x99, 
+    0x69, 0x5a, 0x81, 0x42, 0x46, 0xdc, 0x95, 0xf8, 0xd5, 0x00, 0x16, 0x99, 0x00, 0xf0, 0x0f, 
+    0x00, 0x09, 0xe0, 0x16, 0x01, 0x00, 0x20, 0x00, 0x05, 0x02, 0x42, 0x40, 0x24, 0x00, 0x40, 
+    0x95, 0xf8, 0xd5, 0x00, 0x00, 0x11, 0x17, 0x99, 0x6e, 0x5a, 0x00, 0x2e, 0x84, 0xf8, 0x9f, 
+    0x05, 0x31, 0xd0, 0xa4, 0xf6, 0x36, 0x40, 0x09, 0x9f, 0x07, 0x80, 0xa4, 0xf6, 0x34, 0x40, 
+    0x07, 0x80, 0xdd, 0xf8, 0x28, 0x80, 0x40, 0x46, 0x01, 0xf0, 0x03, 0xfb, 0xa4, 0xf6, 0x42, 
+    0x40, 0x80, 0xf8, 0x00, 0x80, 0x38, 0x46, 0x01, 0xf0, 0xfc, 0xfa, 0x1d, 0x98, 0x00, 0x78, 
+    0x00, 0x28, 0xfb, 0xd0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x94, 0x51, 0x19, 0x00, 0xfa, 0xa4, 0xf6, 0x24, 0x40, 0x00, 0x88, 
+    0x70, 0x43, 0x00, 0x12, 0x87, 0xb2, 0xa4, 0xf6, 0x26, 0x40, 0x00, 0x88, 0x70, 0x43, 0x00, 
+    0x12, 0x1f, 0xfa, 0x80, 0xf8, 0xa4, 0xf6, 0x2a, 0x40, 0x00, 0x88, 0x70, 0x43, 0x00, 0x12, 
+    0x1f, 0xfa, 0x80, 0xfa, 0xa4, 0xf6, 0x28, 0x40, 0x00, 0x88, 0x46, 0x43, 0x30, 0x12, 0x1f, 
+    0xfa, 0x80, 0xf9, 0x19, 0x98, 0x86, 0xb2, 0x70, 0x00, 0x3b, 0xf8, 0x00, 0x10, 0xb9, 0x42, 
+    0xb8, 0xbf, 0x2b, 0xf8, 0x00, 0x70, 0x0b, 0xeb, 0x46, 0x00, 0x80, 0x1c, 0x01, 0x88, 0x41, 
+    0x45, 0xb8, 0xbf, 0xa0, 0xf8, 0x00, 0x80, 0x41, 0x88, 0x51, 0x45, 0xb8, 0xbf, 0xa0, 0xf8, 
+    0x02, 0xa0, 0x81, 0x88, 0x49, 0x45, 0xb8, 0xbf, 0xa0, 0xf8, 0x04, 0x90, 0x09, 0x98, 0x84, 
+    0xf8, 0x9f, 0x05, 0x0a, 0x98, 0x84, 0xf8, 0xdb, 0x07, 0x1e, 0x98, 0x01, 0x88, 0x0e, 0x98, 
+    0x28, 0x5a, 0xb1, 0xeb, 0xc0, 0x0f, 0x32, 0xdc, 0x19, 0x99, 0x09, 0x1d, 0x19, 0x91, 0x1b, 
+    0x99, 0x49, 0x1e, 0x1b, 0x91, 0x7f, 0xf4, 0x08, 0xaf, 0x07, 0x99, 0x89, 0x1c, 0x07, 0x91, 
+    0x18, 0x99, 0x89, 0x1c, 0x18, 0x91, 0x10, 0x99, 0x89, 0x1c, 0x10, 0x91, 0x0c, 0x99, 0x49, 
+    0x1e, 0x0c, 0x91, 0x7f, 0xf4, 0xd3, 0xae, 0x09, 0x98, 0x01, 0xf0, 0x9c, 0xfa, 0x08, 0x99, 
+    0x49, 0x1c, 0x08, 0x91, 0x0d, 0x99, 0x49, 0x1e, 0x0d, 0x91, 0x7f, 0xf4, 0xb2, 0xae, 0x1c, 
+    0x98, 0x00, 0x78, 0x41, 0x28, 0x0d, 0xd0, 0x38, 0x46, 0x0b, 0x9a, 0xff, 0xf7, 0xe3, 0xfc, 
+    0x90, 0x55, 0x40, 0x46, 0xff, 0xf7, 0xdf, 0xfc, 0xb6, 0x18, 0x70, 0x70, 0x50, 0x46, 0xff, 
+    0xf7, 0xda, 0xfc, 0xb0, 0x70, 0x1f, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x10, 0xb5, 0xad, 0xf1, 
+    0x78, 0x0d, 0x58, 0x4c, 
+
+    0x01, 0x05, 0xff, 0xff, 0x8e, 0x52, 0x19, 0x00, 0xfa, 0x4f, 0xf0, 0x00, 0x00, 0x84, 0xf8, 
+    0x57, 0x00, 0x57, 0x48, 0x00, 0x78, 0x58, 0xb9, 0x01, 0x20, 0x56, 0x49, 0x08, 0x70, 0x14, 
+    0xab, 0x0a, 0xaa, 0x69, 0x46, 0x03, 0x20, 0xff, 0xf7, 0xd1, 0xfc, 0xff, 0x20, 0x84, 0xf8, 
+    0x57, 0x00, 0x1e, 0xb0, 0x10, 0xbd, 0x4f, 0x48, 0x01, 0x78, 0x02, 0x29, 0x03, 0xd1, 0x00, 
+    0x21, 0x4e, 0x4a, 0x11, 0x70, 0x01, 0x70, 0x4d, 0x49, 0x10, 0x20, 0x08, 0x80, 0x70, 0x47, 
+    0xf0, 0xb5, 0x4c, 0x4a, 0x11, 0x88, 0x53, 0x88, 0x8b, 0x42, 0xd8, 0xbf, 0x19, 0x1c, 0x54, 
+    0x88, 0x93, 0x88, 0xa2, 0xf8, 0xa0, 0x10, 0xa3, 0x42, 0xb4, 0xbf, 0x26, 0x1c, 0x1e, 0x1c, 
+    0x11, 0x46, 0x0d, 0x88, 0xae, 0x42, 0x05, 0xdc, 0xa3, 0x42, 0xa8, 0xbf, 0xa1, 0xf8, 0xa2, 
+    0x30, 0x25, 0x46, 0x01, 0xda, 0xa2, 0xf8, 0xa2, 0x50, 0x4c, 0x27, 0xa4, 0x32, 0xce, 0x88, 
+    0x8d, 0x88, 0x0b, 0x88, 0x4c, 0x88, 0xae, 0x42, 0xb4, 0xbf, 0xac, 0x46, 0xb4, 0x46, 0x9c, 
+    0x42, 0xb4, 0xbf, 0x9e, 0x46, 0xa6, 0x46, 0xf4, 0x45, 0x04, 0xdc, 0xae, 0x42, 0xa8, 0xbf, 
+    0x35, 0x1c, 0x2c, 0x46, 0x01, 0xe0, 0x9c, 0x42, 0x00, 0xdb, 0x23, 0x46, 0x13, 0x80, 0x7f, 
+    0x1e, 0x01, 0xf1, 0x02, 0x01, 0x02, 0xf1, 0x02, 0x02, 0xe2, 0xd1, 0x08, 0x88, 0x4b, 0x88, 
+    0x83, 0x42, 0xb4, 0xbf, 0x04, 0x1c, 0x1c, 0x1c, 0x89, 0x88, 0xa1, 0x42, 0x03, 0xdd, 0x83, 
+    0x42, 0xa8, 0xbf, 0x18, 0x1c, 0x01, 0x46, 0x11, 0x80, 0xf0, 0xbd, 0x2d, 0xe9, 0xf0, 0x41, 
+    0xad, 0xf1, 0xa0, 0x0d, 0x27, 0x4d, 0x22, 0x4c, 0x02, 0x20, 0xa9, 0x89, 0x20, 0x70, 0x4f, 
+    0xf6, 0xff, 0x76, 0x48, 0xb2, 0x00, 0x28, 0x0a, 0xdc, 0x00, 0x02, 0x40, 0x42, 0x80, 0xb2, 
+    0x01, 0xf0, 0x97, 0xfa, 
+
+    0x01, 0x05, 0xff, 0xff, 0x88, 0x53, 0x19, 0x00, 0xfa, 0x42, 0xf6, 0x5d, 0x71, 0x41, 0x43, 
+    0x09, 0x0c, 0x0e, 0x46, 0xa9, 0x89, 0x16, 0x4a, 0x00, 0x23, 0x0d, 0xf1, 0x04, 0x0c, 0x6f, 
+    0xf0, 0x00, 0x07, 0xee, 0x46, 0x6f, 0xf0, 0xff, 0x38, 0x13, 0x25, 0x08, 0x32, 0x6d, 0x1e, 
+    0x03, 0xf1, 0x04, 0x03, 0x4c, 0xf8, 0x08, 0x7b, 0x42, 0xf8, 0x04, 0x8b, 0x4e, 0xf8, 0x08, 
+    0x7b, 0xf5, 0xd1, 0x4f, 0xf6, 0xff, 0x77, 0x0d, 0xeb, 0x43, 0x0c, 0x00, 0x25, 0x03, 0x23, 
+    0x5b, 0x1e, 0x02, 0xf8, 0x01, 0x5b, 0x2c, 0xf8, 0x02, 0x7b, 0xf9, 0xd1, 0x48, 0x0a, 0x06, 
+    0xd3, 0x68, 0x46, 0xff, 0xf7, 0x78, 0xff, 0x31, 0x46, 0x68, 0x46, 0x01, 0xf0, 0x3f, 0xfe, 
+    0x28, 0xb0, 0x25, 0x70, 0xbd, 0xe8, 0xf0, 0x81, 0x30, 0x00, 0x00, 0x20, 0xde, 0x08, 0x00, 
+    0x20, 0x24, 0x09, 0x00, 0x20, 0x87, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, 0x40, 0x40, 0x04, 
+    0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0xb5, 0x0a, 0x20, 0x01, 0xf0, 0xd6, 0xf9, 0x80, 
+    0x08, 0x05, 0xd3, 0x02, 0x20, 0x01, 0xf0, 0xb3, 0xf9, 0x02, 0x49, 0x01, 0x20, 0x08, 0x70, 
+    0x00, 0xbd, 0xc0, 0x46, 0x24, 0x20, 0x00, 0x42, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x38, 
+    0x0d, 0xa0, 0x49, 0x00, 0x90, 0xa1, 0x4a, 0x01, 0x91, 0x9f, 0x49, 0x01, 0x27, 0x02, 0x91, 
+    0x0f, 0x70, 0x13, 0x78, 0x00, 0x21, 0x51, 0x2b, 0x08, 0xbf, 0x39, 0x1c, 0x03, 0x91, 0x9c, 
+    0x4c, 0x9d, 0x4e, 0xdf, 0xf8, 0x80, 0x82, 0x31, 0xbb, 0x00, 0x98, 0x68, 0xb1, 0x40, 0x46, 
+    0x24, 0x30, 0x00, 0x88, 0x40, 0x08, 0x39, 0xbf, 0x94, 0xf8, 0x5e, 0x10, 0x20, 0x1c, 0x20, 
+    0x1c, 0x90, 0xf8, 0x60, 0x10, 0x90, 0xf8, 0x3a, 0x00, 0x03, 0xe0, 0x94, 0xf8, 0x38, 0x00, 
+    0x94, 0xf8, 0x64, 0x10, 
+
+    0x01, 0x05, 0xff, 0xff, 0x82, 0x54, 0x19, 0x00, 0xfa, 0x09, 0x18, 0xc8, 0x00, 0x30, 0x80, 
+    0x30, 0x46, 0xc0, 0x1f, 0x07, 0x70, 0x30, 0x88, 0xb1, 0x88, 0x00, 0x1f, 0x88, 0x42, 0x04, 
+    0xda, 0x11, 0x78, 0x21, 0x20, 0xff, 0x22, 0x01, 0xf0, 0xb9, 0xf9, 0x08, 0x20, 0x01, 0xf0, 
+    0x97, 0xf9, 0x88, 0x4b, 0x89, 0x49, 0x1d, 0x88, 0x04, 0x91, 0x05, 0x96, 0xa6, 0xf1, 0x34, 
+    0x06, 0x05, 0x96, 0x00, 0x9a, 0x86, 0x49, 0x4f, 0xf0, 0x00, 0x06, 0x62, 0xb9, 0x06, 0x96, 
+    0x0a, 0x46, 0x07, 0x92, 0x31, 0x46, 0x82, 0xf8, 0x0f, 0x17, 0x05, 0x9a, 0xa2, 0xf8, 0x64, 
+    0x70, 0x05, 0xf0, 0x03, 0x06, 0x2a, 0x46, 0x0f, 0xe0, 0x07, 0x91, 0x81, 0xf8, 0x0f, 0x77, 
+    0x4f, 0xf4, 0x80, 0x71, 0x05, 0x9a, 0xa2, 0xf8, 0x64, 0x10, 0x9a, 0x8b, 0x4f, 0xea, 0xe2, 
+    0x31, 0x4f, 0xf0, 0x00, 0x06, 0x06, 0x96, 0x4f, 0xf0, 0x03, 0x06, 0x8e, 0x46, 0x4f, 0xea, 
+    0xe2, 0x01, 0x4f, 0xea, 0xe2, 0x12, 0x02, 0xf0, 0x7f, 0x02, 0x08, 0x96, 0x94, 0x46, 0x08, 
+    0x9a, 0x01, 0xf0, 0x0f, 0x01, 0xdf, 0xf8, 0xa4, 0x92, 0x05, 0xf0, 0x04, 0x0a, 0xa6, 0x4e, 
+    0xba, 0xb1, 0x52, 0x1e, 0x04, 0xd0, 0x52, 0x1e, 0x01, 0x2a, 0x4a, 0x46, 0x23, 0xd9, 0x25, 
+    0xe0, 0xea, 0x08, 0x0a, 0xd3, 0x1a, 0x8a, 0x12, 0x11, 0x02, 0xf0, 0x0f, 0x02, 0x8a, 0x42, 
+    0x03, 0xdd, 0x89, 0x1a, 0x0f, 0x31, 0xc9, 0xb2, 0x00, 0xe0, 0x0f, 0x21, 0x94, 0xf9, 0xc9, 
+    0x30, 0x42, 0x46, 0x13, 0xe0, 0xba, 0xf1, 0x00, 0x0f, 0x09, 0xd0, 0x1a, 0x8a, 0x02, 0xf0, 
+    0x0f, 0x02, 0x8a, 0x42, 0x03, 0xdd, 0x89, 0x1a, 0x0f, 0x31, 0xc9, 0xb2, 0x00, 0xe0, 0x0f, 
+    0x21, 0x4a, 0x46, 0x94, 0xf9, 0xc8, 0x30, 0x10, 0x32, 0x01, 0xe0, 0x94, 0xf9, 0xc7, 0x30, 
+    0x55, 0x56, 0xdd, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xff, 0x7c, 0x55, 0x19, 0x00, 0xfa, 0x00, 0x80, 0x94, 0xf8, 0xc6, 0x20, 
+    0xb8, 0xf1, 0x00, 0x0f, 0x02, 0xd1, 0xab, 0x42, 0xb8, 0xbf, 0x12, 0x11, 0x02, 0xf0, 0x01, 
+    0x0b, 0x92, 0x08, 0x2c, 0xbf, 0xc0, 0x22, 0x60, 0x22, 0x09, 0x92, 0x08, 0x9a, 0x04, 0xeb, 
+    0x41, 0x00, 0x02, 0xb3, 0x52, 0x1e, 0x19, 0xd0, 0x52, 0x1e, 0x01, 0x2a, 0x2b, 0xd8, 0x04, 
+    0xeb, 0x41, 0x00, 0xb0, 0xf8, 0xd4, 0x01, 0xbb, 0xf1, 0x00, 0x0f, 0x4f, 0xf4, 0x00, 0x71, 
+    0x09, 0xd0, 0x40, 0xf2, 0x55, 0x42, 0x02, 0xfb, 0x00, 0x10, 0x80, 0x12, 0x41, 0x0a, 0x14, 
+    0xbf, 0x40, 0xf2, 0xff, 0x10, 0x80, 0xb2, 0x07, 0x99, 0xa1, 0xf8, 0x41, 0x07, 0x14, 0xe0, 
+    0x04, 0xeb, 0x41, 0x00, 0xb0, 0xf8, 0x14, 0x22, 0x01, 0xe0, 0xb0, 0xf8, 0xf4, 0x21, 0x4f, 
+    0xf4, 0x00, 0x71, 0x07, 0x98, 0x40, 0xf2, 0xd5, 0x23, 0x03, 0xfb, 0x02, 0x11, 0x00, 0xf2, 
+    0x41, 0x70, 0x4f, 0xea, 0xa1, 0x21, 0x01, 0x80, 0x20, 0xf8, 0x02, 0x2c, 0x6e, 0x48, 0x96, 
+    0xf8, 0x03, 0x17, 0x01, 0x73, 0x0a, 0x90, 0x03, 0x98, 0x38, 0xb9, 0x94, 0xf9, 0x67, 0x00, 
+    0xa8, 0x42, 0xa4, 0xbf, 0x94, 0xf8, 0x66, 0x00, 0x86, 0xf8, 0x03, 0x07, 0x0a, 0x98, 0xc0, 
+    0x7c, 0x38, 0xb9, 0x06, 0x98, 0xb4, 0xf9, 0x86, 0x10, 0xa9, 0x42, 0xa8, 0xbf, 0x38, 0x1c, 
+    0x0a, 0x99, 0x88, 0x74, 0x0a, 0x98, 0x01, 0x99, 0x41, 0xf6, 0x11, 0x75, 0x80, 0x7c, 0xaa, 
+    0x46, 0xbb, 0xf1, 0x00, 0x0f, 0x81, 0xf8, 0xa4, 0x00, 0x0a, 0x98, 0x05, 0xeb, 0x06, 0x01, 
+    0x80, 0x7c, 0x20, 0x44, 0x90, 0xf8, 0xa4, 0x20, 0x08, 0x88, 0x20, 0xf4, 0x70, 0x60, 0x40, 
+    0xea, 0x02, 0x20, 0x2a, 0xf8, 0x06, 0x00, 0x37, 0xd1, 0x94, 0xf8, 0x35, 0x20, 0x31, 0xf8, 
+    0x0a, 0x0c, 0x62, 0xf3, 
+
+    0x01, 0x05, 0xff, 0xff, 0x76, 0x56, 0x19, 0x00, 0xfa, 0x1f, 0x30, 0x21, 0xf8, 0x0a, 0x0c, 
+    0x08, 0x98, 0x80, 0x08, 0x0e, 0xd3, 0x50, 0x48, 0x00, 0x78, 0x02, 0x28, 0x18, 0xbf, 0x04, 
+    0x28, 0x08, 0xd1, 0x50, 0x46, 0xa0, 0xf1, 0x04, 0x00, 0x81, 0x5b, 0x6f, 0xf3, 0x1f, 0x31, 
+    0x41, 0xf4, 0x00, 0x51, 0x09, 0xe0, 0x94, 0xf8, 0x33, 0x00, 0x62, 0x8b, 0x12, 0x18, 0x50, 
+    0x46, 0xa0, 0xf1, 0x04, 0x00, 0x81, 0x5b, 0x62, 0xf3, 0x1f, 0x31, 0x81, 0x53, 0x21, 0xe0, 
+    0x80, 0x1d, 0x04, 0x42, 0x10, 0x01, 0x04, 0x42, 0x1c, 0x09, 0x00, 0x20, 0x00, 0x02, 0x00, 
+    0x20, 0x3c, 0x24, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x03, 0x00, 0x20, 0xf1, 0x10, 
+    0x00, 0x40, 0x38, 0x01, 0x00, 0x20, 0x28, 0x46, 0xa0, 0xf1, 0x0a, 0x00, 0x82, 0x19, 0x94, 
+    0xf8, 0x34, 0x30, 0x11, 0x88, 0x63, 0xf3, 0x1f, 0x31, 0x81, 0x53, 0x94, 0xf8, 0x32, 0x10, 
+    0xd0, 0x88, 0x61, 0xf3, 0x1f, 0x30, 0xd0, 0x80, 0x04, 0x98, 0x00, 0x88, 0x80, 0x08, 0x24, 
+    0xbf, 0xa1, 0x48, 0x07, 0x70, 0x08, 0x98, 0x05, 0x99, 0xdf, 0xf8, 0x80, 0x82, 0x4f, 0xea, 
+    0x00, 0x10, 0x40, 0xf0, 0x01, 0x00, 0xa1, 0xf8, 0x54, 0x00, 0x60, 0x88, 0x50, 0xb9, 0xbc, 
+    0xf1, 0x28, 0x0f, 0xb9, 0xbf, 0x0c, 0xf2, 0xb1, 0x40, 0x40, 0x00, 0x4f, 0xea, 0x4c, 0x00, 
+    0x00, 0xf6, 0x13, 0x10, 0x80, 0xb2, 0x0b, 0x90, 0x09, 0x98, 0x0b, 0x99, 0xbe, 0xf1, 0x00, 
+    0x0f, 0x4f, 0xea, 0x00, 0x60, 0x00, 0xeb, 0x61, 0x00, 0xb0, 0xfb, 0xf1, 0xf0, 0x07, 0x99, 
+    0x4f, 0xea, 0x80, 0x00, 0xc1, 0xf8, 0x9f, 0x07, 0x18, 0xbf, 0x29, 0x20, 0x04, 0xd1, 0x00, 
+    0x98, 0x00, 0x28, 0x14, 0xbf, 0x40, 0x20, 0x52, 0x20, 0x09, 0x99, 0x48, 0x43, 0x0b, 0x99, 
+    0xc0, 0x02, 0x00, 0xeb, 
+
+    0x01, 0x05, 0xff, 0xff, 0x70, 0x57, 0x19, 0x00, 0xfa, 0x61, 0x00, 0x90, 0xfb, 0xf1, 0xf0, 
+    0x07, 0x99, 0xa1, 0xf8, 0x2b, 0x07, 0xe1, 0x8a, 0x85, 0x48, 0x49, 0x08, 0x21, 0xd2, 0x06, 
+    0x99, 0x88, 0xf8, 0x00, 0x10, 0x88, 0xf8, 0x10, 0x70, 0x41, 0xf6, 0x43, 0x31, 0x8b, 0x5b, 
+    0x04, 0x9a, 0x23, 0xf0, 0x07, 0x03, 0x12, 0x88, 0x4f, 0xea, 0x22, 0x12, 0x02, 0xf0, 0x0f, 
+    0x02, 0x42, 0xea, 0x03, 0x02, 0x8a, 0x53, 0x07, 0x70, 0x40, 0xf2, 0xb6, 0x40, 0x40, 0xf2, 
+    0xef, 0x29, 0x13, 0xe0, 0xc0, 0x46, 0x01, 0x01, 0x00, 0x40, 0x18, 0x01, 0x00, 0x20, 0xd0, 
+    0x08, 0x00, 0x20, 0x5a, 0x01, 0x00, 0x20, 0x88, 0xf8, 0x00, 0x70, 0x06, 0x99, 0x88, 0xf8, 
+    0x10, 0x10, 0x06, 0x99, 0x01, 0x70, 0x40, 0xf2, 0xf2, 0x40, 0x40, 0xf2, 0x6d, 0x29, 0x0c, 
+    0x90, 0x0a, 0x98, 0x40, 0x7b, 0x60, 0xb1, 0x03, 0x98, 0x50, 0xb9, 0x00, 0x98, 0x00, 0x28, 
+    0x07, 0xbf, 0x05, 0x98, 0x80, 0xf8, 0x45, 0x70, 0x05, 0x98, 0x80, 0xf8, 0x47, 0x70, 0x00, 
+    0xf0, 0x85, 0xfe, 0x02, 0x98, 0x80, 0xf8, 0x00, 0xb2, 0x02, 0x98, 0xbb, 0xf1, 0x00, 0x0f, 
+    0x80, 0xf8, 0xf0, 0x71, 0x14, 0xbf, 0x94, 0xf8, 0x79, 0x10, 0x94, 0xf8, 0x78, 0x10, 0x05, 
+    0xf1, 0x0a, 0x05, 0xbb, 0xf1, 0x00, 0x0f, 0xa8, 0x5b, 0x20, 0xf4, 0x7c, 0x50, 0x40, 0xea, 
+    0x01, 0x20, 0xa8, 0x53, 0x14, 0xbf, 0x94, 0xf8, 0x7d, 0x10, 0x94, 0xf8, 0x7c, 0x10, 0x50, 
+    0x46, 0x00, 0xf1, 0x0c, 0x00, 0x85, 0x19, 0x2a, 0x88, 0x22, 0xf0, 0x7f, 0x02, 0x11, 0x43, 
+    0x81, 0x53, 0x02, 0x98, 0x80, 0xf8, 0xf4, 0x71, 0x38, 0x46, 0x00, 0xf0, 0x97, 0xff, 0x06, 
+    0x98, 0x02, 0x99, 0x81, 0xf8, 0xf4, 0x01, 0x38, 0x46, 0x00, 0xf0, 0x90, 0xff, 0x35, 0xf8, 
+    0x06, 0x0c, 0x20, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x6a, 0x58, 0x19, 0x00, 0xfa, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, 
+    0x25, 0xf8, 0x06, 0x0c, 0x07, 0x98, 0x4f, 0xf0, 0xb1, 0x0a, 0x80, 0xf8, 0x28, 0xaf, 0x10, 
+    0x20, 0x68, 0x80, 0x35, 0xf8, 0x04, 0x0c, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf4, 0x00, 0x70, 
+    0x25, 0xf8, 0x04, 0x0c, 0xb5, 0xf8, 0xd2, 0x00, 0x40, 0xf0, 0x70, 0x00, 0xa5, 0xf8, 0xd2, 
+    0x00, 0x30, 0x88, 0xb7, 0x4d, 0x40, 0xf0, 0x30, 0x00, 0x30, 0x80, 0x05, 0xf8, 0x98, 0x7c, 
+    0x06, 0x98, 0x0d, 0x90, 0x07, 0x99, 0xc1, 0xf8, 0x6f, 0x0b, 0x2f, 0x70, 0xe0, 0x8a, 0x40, 
+    0x08, 0x38, 0xbf, 0x2f, 0x72, 0x38, 0x46, 0x00, 0xf0, 0x5f, 0xff, 0x06, 0x98, 0x28, 0x70, 
+    0xe0, 0x8a, 0x40, 0x08, 0x3c, 0xbf, 0x06, 0x98, 0x28, 0x72, 0x03, 0x98, 0x60, 0xb9, 0xbb, 
+    0xf1, 0x01, 0x0f, 0x0e, 0xd1, 0x94, 0xf8, 0x84, 0x00, 0x07, 0x99, 0x81, 0xf8, 0x2d, 0x0b, 
+    0x94, 0xf8, 0x82, 0x00, 0x07, 0x99, 0x81, 0xf8, 0x2b, 0x0b, 0xbb, 0xf1, 0x01, 0x0f, 0x4f, 
+    0xf0, 0x2e, 0x00, 0x04, 0xd0, 0x08, 0x98, 0x80, 0x08, 0x2c, 0xbf, 0x31, 0x20, 0x50, 0x46, 
+    0x07, 0x99, 0xbb, 0xf1, 0x00, 0x0f, 0x81, 0xf8, 0x28, 0x0f, 0x02, 0x98, 0x80, 0xf8, 0xf0, 
+    0xb2, 0x0d, 0x99, 0x03, 0xd0, 0x08, 0x98, 0x80, 0x08, 0x38, 0xbf, 0x39, 0x1c, 0x02, 0x98, 
+    0x80, 0xf8, 0x20, 0x13, 0x0a, 0x98, 0x4f, 0xf4, 0x7a, 0x71, 0x0c, 0x9b, 0x00, 0x68, 0xb0, 
+    0xfb, 0xf1, 0xf2, 0x0b, 0x98, 0x58, 0x43, 0x09, 0x9b, 0x41, 0x43, 0xb1, 0xfb, 0xf2, 0xf0, 
+    0x19, 0x46, 0x03, 0xfb, 0x19, 0x02, 0x08, 0x02, 0xb2, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0x03, 
+    0xfb, 0x00, 0xf1, 0xa2, 0xeb, 0x01, 0x22, 0xe1, 0x8a, 0x92, 0xb2, 0xb2, 0xfb, 0xf3, 0xf2, 
+    0x49, 0x08, 0x93, 0xb2, 
+
+    0x01, 0x05, 0xff, 0xff, 0x64, 0x59, 0x19, 0x00, 0xfa, 0x18, 0xd3, 0x86, 0xf8, 0x33, 0x27, 
+    0x09, 0x99, 0xdd, 0xf8, 0x34, 0x90, 0xc0, 0x29, 0x08, 0xbf, 0xb9, 0x46, 0xb9, 0xf1, 0x00, 
+    0x0f, 0x03, 0xd0, 0x80, 0x2b, 0xa4, 0xbf, 0x40, 0x1c, 0x80, 0xb2, 0x40, 0x1c, 0x86, 0xf8, 
+    0x07, 0x07, 0x23, 0xe0, 0x40, 0x85, 0x03, 0x42, 0x90, 0x88, 0x03, 0x42, 0x14, 0x07, 0x01, 
+    0x42, 0x41, 0xf6, 0x43, 0x31, 0x8a, 0x5b, 0x22, 0xf0, 0xe0, 0x02, 0x42, 0xea, 0x40, 0x12, 
+    0x8a, 0x53, 0x86, 0xf8, 0x33, 0x37, 0x40, 0x1c, 0x86, 0xf8, 0x07, 0x07, 0x07, 0x99, 0xa1, 
+    0xf6, 0xb9, 0x00, 0x00, 0x88, 0x20, 0xf0, 0x1e, 0x00, 0x40, 0xf0, 0x0c, 0x00, 0xa1, 0xf6, 
+    0xb9, 0x01, 0x08, 0x80, 0xdd, 0xf8, 0x34, 0x90, 0x09, 0x98, 0xc0, 0x28, 0x08, 0xbf, 0xb9, 
+    0x46, 0x02, 0x20, 0x00, 0xf0, 0xd5, 0xfe, 0x36, 0xf8, 0x01, 0x0c, 0x40, 0xf4, 0xe0, 0x60, 
+    0x26, 0xf8, 0x01, 0x0c, 0x05, 0xf8, 0xd8, 0x9c, 0x05, 0xf8, 0xa4, 0x7c, 0x0d, 0x99, 0x0b, 
+    0x98, 0x00, 0xf0, 0x1d, 0xfa, 0x00, 0x98, 0x38, 0xb1, 0x41, 0xf6, 0x59, 0x30, 0x81, 0x5b, 
+    0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0x80, 0x61, 0x81, 0x53, 0x04, 0x9a, 0x41, 0xf6, 0x43, 
+    0x33, 0x98, 0x5b, 0x11, 0x88, 0x20, 0xf4, 0xc0, 0x60, 0x99, 0x46, 0x49, 0x00, 0x01, 0xf4, 
+    0xc0, 0x61, 0x01, 0x43, 0x48, 0x46, 0x81, 0x53, 0x10, 0x88, 0x00, 0x13, 0x00, 0xf0, 0x01, 
+    0x00, 0x88, 0xf8, 0x1c, 0x00, 0xb4, 0xf8, 0x88, 0x00, 0x00, 0x28, 0x40, 0xf0, 0xa4, 0x80, 
+    0x05, 0x20, 0x00, 0xf0, 0xe0, 0xfe, 0x0d, 0x98, 0x04, 0x21, 0x00, 0xf0, 0xd3, 0xf9, 0x98, 
+    0xf8, 0xd4, 0x03, 0xc0, 0x43, 0x88, 0xf8, 0xd4, 0x03, 0x96, 0xf8, 0x05, 0x11, 0xb6, 0xf8, 
+    0x05, 0x01, 0x40, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x5e, 0x5a, 0x19, 0x00, 0xfa, 0x0f, 0x00, 0xa6, 0xf8, 0x05, 0x01, 
+    0xb6, 0xf8, 0x05, 0x01, 0x01, 0xf0, 0x0f, 0x01, 0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa6, 
+    0xf8, 0x05, 0x11, 0x07, 0x98, 0x00, 0xf2, 0x87, 0x7a, 0x11, 0x20, 0x8a, 0xf8, 0x00, 0x70, 
+    0x86, 0xf8, 0xff, 0x06, 0x01, 0x98, 0x80, 0xf8, 0x40, 0x70, 0x07, 0x71, 0x07, 0x70, 0x08, 
+    0x20, 0x00, 0xf0, 0x95, 0xfe, 0x2a, 0xf8, 0x44, 0x7c, 0x07, 0x20, 0x00, 0xf0, 0x72, 0xfe, 
+    0x06, 0x98, 0x05, 0xf8, 0xe0, 0x0c, 0x88, 0xf8, 0xbc, 0x73, 0x05, 0x9d, 0x02, 0x20, 0x28, 
+    0x70, 0x60, 0x8c, 0x00, 0xf0, 0xa6, 0xfe, 0x38, 0x46, 0x05, 0x21, 0x00, 0xf0, 0x99, 0xf9, 
+    0x0a, 0x20, 0x00, 0xf0, 0x7e, 0xfe, 0x98, 0xf8, 0xd4, 0x03, 0xc0, 0x43, 0x88, 0xf8, 0xd4, 
+    0x03, 0x03, 0x20, 0x28, 0x70, 0x04, 0x98, 0x4d, 0x46, 0xac, 0x19, 0x00, 0x88, 0x80, 0x08, 
+    0x05, 0xd2, 0x08, 0x98, 0x02, 0x28, 0x51, 0xda, 0xff, 0xf7, 0x92, 0xfc, 0x4e, 0xe0, 0x20, 
+    0x88, 0x6f, 0xf3, 0x9f, 0x30, 0xa8, 0x53, 0x38, 0x46, 0x00, 0xf0, 0x46, 0xfe, 0xa8, 0x5b, 
+    0x6f, 0xf3, 0x9f, 0x30, 0x40, 0xf4, 0x80, 0x40, 0xa8, 0x53, 0x60, 0x88, 0x20, 0xf0, 0x07, 
+    0x00, 0x40, 0xf0, 0x08, 0x00, 0x60, 0x80, 0x88, 0xf8, 0x20, 0x70, 0x32, 0x20, 0x88, 0xf8, 
+    0x24, 0x70, 0x00, 0xf0, 0x33, 0xfe, 0x60, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x07, 
+    0x00, 0x60, 0x80, 0x28, 0x20, 0x00, 0xf0, 0x2a, 0xfe, 0x60, 0x88, 0x20, 0xf0, 0x0f, 0x00, 
+    0x40, 0xf0, 0x04, 0x00, 0x60, 0x80, 0x32, 0x20, 0x00, 0xf0, 0x60, 0xfe, 0x08, 0x98, 0x02, 
+    0x28, 0x01, 0xda, 0xff, 0xf7, 0x60, 0xfc, 0x08, 0x20, 0x00, 0xf0, 0x37, 0xfe, 0x29, 0x46, 
+    0x01, 0xf1, 0x02, 0x01, 
+
+    0x01, 0x05, 0xff, 0xff, 0x58, 0x5b, 0x19, 0x00, 0xfa, 0x8c, 0x19, 0x20, 0x88, 0x20, 0xf0, 
+    0x0f, 0x00, 0x40, 0xf0, 0x03, 0x00, 0x88, 0x53, 0x08, 0x98, 0x02, 0x28, 0x0d, 0xd1, 0x32, 
+    0x20, 0x00, 0xf0, 0x09, 0xfe, 0x34, 0xf8, 0x02, 0x1c, 0x06, 0x48, 0x08, 0x43, 0x24, 0xf8, 
+    0x02, 0x0c, 0x03, 0xe0, 0x04, 0x21, 0x00, 0x42, 0x88, 0xf8, 0xbc, 0x73, 0x0e, 0xb0, 0xbd, 
+    0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0x00, 0xc0, 0xff, 0xff, 0x2d, 0xe9, 0xf0, 0x4f, 0x17, 0x46, 
+    0x81, 0x46, 0x0e, 0x46, 0x9c, 0x4a, 0x6f, 0xf4, 0x4f, 0x70, 0x9b, 0x49, 0x10, 0x5a, 0x4f, 
+    0xea, 0x00, 0x2b, 0x08, 0x46, 0x14, 0x30, 0x10, 0x5a, 0x45, 0x02, 0x6f, 0xf4, 0x50, 0x70, 
+    0x10, 0x5a, 0x00, 0x04, 0x51, 0x5a, 0xcc, 0x02, 0x00, 0xf0, 0xf1, 0xfe, 0x80, 0x46, 0x28, 
+    0x46, 0x00, 0xf0, 0xed, 0xfe, 0x82, 0x46, 0x20, 0x46, 0x00, 0xf0, 0xe9, 0xfe, 0x05, 0x46, 
+    0x90, 0x48, 0x00, 0x78, 0x00, 0x28, 0x0c, 0xbf, 0x61, 0x24, 0x91, 0x24, 0xb9, 0xf1, 0x01, 
+    0x0f, 0x44, 0x44, 0xa4, 0xeb, 0x0a, 0x04, 0x10, 0xd0, 0x58, 0x46, 0x00, 0xf0, 0xd9, 0xfe, 
+    0x28, 0x1a, 0xb6, 0x30, 0x04, 0xd4, 0xb0, 0xf5, 0x80, 0x7f, 0xa8, 0xbf, 0xff, 0x20, 0x00, 
+    0xe0, 0x00, 0x20, 0x30, 0x70, 0x84, 0x48, 0x00, 0x88, 0x02, 0x28, 0x00, 0xd1, 0x2c, 0x19, 
+    0x00, 0x2c, 0x04, 0xd4, 0xb4, 0xf5, 0x80, 0x7f, 0xa8, 0xbf, 0xff, 0x24, 0x00, 0xe0, 0x00, 
+    0x24, 0x3c, 0x70, 0xbd, 0xe8, 0xf0, 0x8f, 0x7e, 0x49, 0x7d, 0x48, 0x09, 0x68, 0x01, 0x60, 
+    0x7d, 0x49, 0x03, 0x68, 0x0a, 0x88, 0x7d, 0x49, 0xb3, 0xeb, 0x82, 0x2f, 0x14, 0xd9, 0xb3, 
+    0xeb, 0xc2, 0x2f, 0x08, 0xd9, 0x02, 0x68, 0x92, 0x08, 0x02, 0x60, 0x08, 0x88, 0x20, 0xf0, 
+    0x04, 0x00, 0x40, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x52, 0x5c, 0x19, 0x00, 0xfa, 0x08, 0x00, 0x0b, 0xe0, 0x02, 0x68, 
+    0x52, 0x08, 0x02, 0x60, 0x08, 0x88, 0x20, 0xf0, 0x08, 0x00, 0x40, 0xf0, 0x04, 0x00, 0x02, 
+    0xe0, 0x08, 0x88, 0x40, 0xf0, 0x0c, 0x00, 0x08, 0x80, 0x70, 0x47, 0x6c, 0x48, 0x01, 0x89, 
+    0x00, 0x29, 0x0c, 0xbf, 0x00, 0x68, 0x40, 0x68, 0x99, 0x49, 0xb0, 0xfb, 0xf1, 0xf0, 0x00, 
+    0x1d, 0xc1, 0x08, 0x64, 0x48, 0x20, 0x38, 0x01, 0x70, 0x70, 0x47, 0x10, 0xb5, 0xb0, 0xf9, 
+    0x00, 0x20, 0x47, 0xf6, 0xff, 0x73, 0x93, 0x42, 0x08, 0xd0, 0x4f, 0xf4, 0x2a, 0x53, 0x4b, 
+    0x43, 0x55, 0x24, 0x04, 0xfb, 0x12, 0x31, 0x02, 0xeb, 0xe1, 0x12, 0x00, 0xe0, 0xca, 0x01, 
+    0x02, 0x80, 0x10, 0xbd, 0x03, 0x78, 0x4f, 0xf0, 0x56, 0x02, 0x2b, 0xb1, 0x5a, 0x43, 0xaa, 
+    0x23, 0x03, 0xfb, 0x01, 0x21, 0x80, 0x31, 0x09, 0x12, 0x01, 0x70, 0x70, 0x47, 0x2d, 0xe9, 
+    0xf0, 0x41, 0xdf, 0xf8, 0xdc, 0xc2, 0x01, 0x28, 0x14, 0x46, 0x88, 0x46, 0x50, 0x4f, 0xb3, 
+    0x4e, 0x19, 0x46, 0x34, 0xd0, 0x60, 0x46, 0x80, 0x1d, 0x00, 0x88, 0x40, 0x10, 0x10, 0xf0, 
+    0x07, 0x0f, 0x00, 0xf0, 0x07, 0x05, 0x06, 0xd1, 0x86, 0xf8, 0x58, 0x10, 0x86, 0xf8, 0x60, 
+    0x80, 0x86, 0xf8, 0x68, 0x40, 0x16, 0xe0, 0x07, 0xeb, 0x45, 0x07, 0x07, 0xf1, 0x14, 0x00, 
+    0xff, 0xf7, 0xc0, 0xff, 0xb7, 0xf9, 0x14, 0x00, 0xad, 0x19, 0x40, 0x30, 0x41, 0x46, 0xc0, 
+    0x11, 0x85, 0xf8, 0x58, 0x00, 0x05, 0xf1, 0x60, 0x00, 0xff, 0xf7, 0xc7, 0xff, 0x21, 0x46, 
+    0x05, 0xf1, 0x68, 0x00, 0xff, 0xf7, 0xc2, 0xff, 0x3c, 0x48, 0x57, 0x30, 0x00, 0x78, 0x80, 
+    0x08, 0x28, 0xd3, 0x60, 0x46, 0x40, 0x88, 0x80, 0x11, 0x00, 0xf0, 0x7f, 0x00, 0x36, 0x18, 
+    0x34, 0x72, 0xbd, 0xe8, 
+
+    0x01, 0x05, 0xff, 0xff, 0x4c, 0x5d, 0x19, 0x00, 0xfa, 0xf0, 0x81, 0x60, 0x46, 0x22, 0x30, 
+    0x00, 0x88, 0x45, 0x10, 0x05, 0xf0, 0x07, 0x05, 0x06, 0x2d, 0x12, 0xda, 0x07, 0xeb, 0x45, 
+    0x07, 0x07, 0xf1, 0x24, 0x00, 0xff, 0xf7, 0x93, 0xff, 0xb7, 0xf9, 0x24, 0x10, 0x70, 0x19, 
+    0x40, 0x31, 0xc9, 0x11, 0x80, 0xf8, 0x70, 0x10, 0x7e, 0x30, 0x21, 0x46, 0xff, 0xf7, 0x9b, 
+    0xff, 0xbd, 0xe8, 0xf0, 0x81, 0x76, 0x19, 0x86, 0xf8, 0x70, 0x10, 0x86, 0xf8, 0x7e, 0x40, 
+    0xbd, 0xe8, 0xf0, 0x81, 0x97, 0x49, 0x0b, 0x46, 0x67, 0x3b, 0xb3, 0xf9, 0x1d, 0x00, 0x1a, 
+    0x78, 0x40, 0x01, 0x12, 0x02, 0x00, 0xb2, 0x12, 0xb2, 0x93, 0xf8, 0x20, 0x30, 0xd2, 0x10, 
+    0x80, 0x1a, 0xc9, 0x5c, 0x09, 0x02, 0x09, 0xb2, 0x49, 0x10, 0x40, 0x1a, 0x80, 0x30, 0xc1, 
+    0x11, 0x00, 0xeb, 0x11, 0x60, 0x00, 0x12, 0x0d, 0x30, 0x00, 0xb2, 0x10, 0xf1, 0x80, 0x0f, 
+    0xb8, 0xbf, 0x6f, 0xf0, 0x7f, 0x00, 0x40, 0xb2, 0x70, 0x47, 0x12, 0x49, 0x09, 0x68, 0xb0, 
+    0xfb, 0xf1, 0xf2, 0x02, 0xfb, 0x11, 0x00, 0x80, 0x01, 0x89, 0x0a, 0xb0, 0xfb, 0xf1, 0xf0, 
+    0x00, 0xeb, 0x02, 0x40, 0x00, 0x02, 0x70, 0x47, 0x4a, 0x00, 0xa1, 0x49, 0x01, 0xeb, 0xc0, 
+    0x01, 0xa0, 0x48, 0x83, 0x5a, 0x0b, 0x80, 0x03, 0x46, 0x10, 0x33, 0x20, 0x30, 0x9b, 0x5a, 
+    0x4b, 0x80, 0x80, 0x5a, 0x88, 0x80, 0x70, 0x47, 0xc0, 0x46, 0x59, 0x14, 0x00, 0x40, 0xad, 
+    0xfc, 0xff, 0xff, 0xc0, 0x22, 0x02, 0x42, 0x58, 0x24, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, 
+    0xc0, 0x00, 0x00, 0x20, 0x6c, 0x02, 0x00, 0x20, 0xf2, 0x20, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 
+    0x43, 0x88, 0x46, 0xb8, 0xf1, 0x00, 0x0f, 0x07, 0x46, 0x14, 0xbf, 0x01, 0x20, 0x02, 0x20, 
+    0x8d, 0x49, 0xaf, 0x4d, 
+
+    0x01, 0x05, 0xff, 0xff, 0x46, 0x5e, 0x19, 0x00, 0xfa, 0xb8, 0xf1, 0x00, 0x0f, 0xa1, 0xf1, 
+    0xb0, 0x01, 0x09, 0x88, 0x8b, 0x4b, 0x21, 0xf0, 0x03, 0x01, 0x40, 0xea, 0x01, 0x00, 0xa5, 
+    0xf2, 0xc4, 0x41, 0x08, 0x80, 0x10, 0xd0, 0x28, 0x88, 0x40, 0xf0, 0x70, 0x00, 0x28, 0x80, 
+    0x01, 0x21, 0x18, 0x46, 0xd4, 0x38, 0x01, 0x70, 0x01, 0x71, 0x80, 0xf8, 0x3c, 0x10, 0x00, 
+    0x22, 0xa5, 0xf5, 0x92, 0x64, 0x22, 0x60, 0x80, 0xf8, 0xd4, 0x10, 0x17, 0x48, 0xb8, 0xf1, 
+    0x00, 0x0f, 0xa9, 0x4c, 0x00, 0xfb, 0x07, 0xf0, 0x07, 0xd0, 0xfa, 0x22, 0x21, 0x46, 0x89, 
+    0x1d, 0xb1, 0xf9, 0x00, 0x10, 0x01, 0xfb, 0x02, 0xf1, 0x40, 0x1a, 0xff, 0xf7, 0x97, 0xff, 
+    0xa5, 0xf2, 0x9c, 0x41, 0x08, 0x60, 0x00, 0x26, 0x1e, 0x70, 0xe0, 0x8a, 0x40, 0x08, 0x03, 
+    0xd2, 0xb8, 0xf1, 0x00, 0x0f, 0x08, 0xbf, 0x1e, 0x72, 0xff, 0x20, 0xa5, 0xf2, 0x8c, 0x41, 
+    0x08, 0x70, 0x9b, 0x48, 0xb8, 0xf1, 0x00, 0x0f, 0x01, 0x78, 0x0b, 0xd1, 0xaf, 0x48, 0x00, 
+    0x78, 0x80, 0x00, 0x00, 0xeb, 0x41, 0x00, 0x20, 0x18, 0xb0, 0xf8, 0xa6, 0x20, 0x04, 0xe0, 
+    0xc0, 0x46, 0x40, 0x42, 0x0f, 0x00, 0xb4, 0xf8, 0xaa, 0x20, 0x48, 0x00, 0x07, 0xfb, 0x02, 
+    0xf1, 0xa5, 0xf2, 0xdc, 0x42, 0x00, 0x19, 0x09, 0x0c, 0x11, 0x80, 0xb0, 0xf8, 0xb6, 0x10, 
+    0xb0, 0xf8, 0xb2, 0x30, 0xa7, 0xf6, 0x62, 0x12, 0x49, 0x02, 0x03, 0xfb, 0x12, 0x11, 0x09, 
+    0x14, 0xa5, 0xf2, 0xe4, 0x42, 0x11, 0x80, 0xa5, 0xf5, 0x9c, 0x61, 0xb0, 0xf8, 0xae, 0x00, 
+    0x37, 0x46, 0x4f, 0xf0, 0x08, 0x09, 0x08, 0x80, 0xa5, 0xf2, 0x8c, 0x40, 0x06, 0x70, 0xf9, 
+    0xb2, 0xf8, 0xb2, 0xff, 0xf7, 0x5e, 0xff, 0x17, 0xb1, 0x48, 0x46, 0x00, 0xf0, 0x4d, 0xfc, 
+    0xa5, 0xf5, 0x92, 0x60, 
+
+    0x01, 0x05, 0xff, 0xff, 0x40, 0x5f, 0x19, 0x00, 0xfa, 0x00, 0x88, 0x49, 0xfa, 0x07, 0xf1, 
+    0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa5, 0xf5, 0x92, 0x60, 0x01, 0x80, 0x05, 0x20, 0x00, 
+    0xf0, 0x55, 0xfc, 0x7f, 0x1c, 0x04, 0x2f, 0xe6, 0xdb, 0xa5, 0xf2, 0x8e, 0x40, 0x00, 0x88, 
+    0xa5, 0xf2, 0x8e, 0x41, 0x40, 0xf0, 0x70, 0x00, 0x08, 0x80, 0xa5, 0xf2, 0x8e, 0x40, 0x00, 
+    0x88, 0xa5, 0xf2, 0x8e, 0x41, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf0, 0x80, 0x00, 0x08, 0x80, 
+    0x48, 0x46, 0x00, 0xf0, 0x27, 0xfc, 0x82, 0x48, 0xb8, 0xf1, 0x00, 0x0f, 0x05, 0xd0, 0x94, 
+    0xf8, 0xc0, 0x10, 0x49, 0x09, 0x07, 0xd2, 0x04, 0x46, 0x04, 0xe0, 0x04, 0x46, 0x01, 0x20, 
+    0x20, 0x70, 0x00, 0xf0, 0xef, 0xfb, 0x26, 0x70, 0xbd, 0xe8, 0xf0, 0x83, 0x30, 0x00, 0x00, 
+    0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0xb5, 0x5e, 0x4a, 0xfa, 0x23, 0x92, 0x1d, 0xb2, 0xf9, 
+    0x00, 0x20, 0x02, 0xfb, 0x03, 0xf2, 0x80, 0x1a, 0xf0, 0x30, 0x4f, 0xf4, 0xf0, 0x72, 0xb0, 
+    0xfb, 0xf2, 0xf3, 0x71, 0x4a, 0x01, 0xeb, 0x53, 0x00, 0xb0, 0xfb, 0xf3, 0xf0, 0x8c, 0x1a, 
+    0x43, 0x43, 0x9c, 0x42, 0x4f, 0xf0, 0x00, 0x00, 0x03, 0xd8, 0x52, 0x18, 0x9a, 0x42, 0x28, 
+    0xbf, 0x01, 0x20, 0x10, 0xbd, 0x00, 0x12, 0x00, 0x40, 0x30, 0xb5, 0x02, 0x46, 0x6c, 0x48, 
+    0x69, 0x4d, 0x67, 0x49, 0x03, 0x68, 0x18, 0x0d, 0x0c, 0x28, 0x4f, 0xea, 0x13, 0x54, 0x05, 
+    0xd0, 0x18, 0x28, 0x03, 0xd0, 0x31, 0x28, 0x18, 0xbf, 0x00, 0x20, 0x05, 0xd1, 0x91, 0x42, 
+    0x3a, 0xbf, 0x28, 0x1c, 0x80, 0x1c, 0x28, 0x1c, 0x00, 0x88, 0x12, 0x2c, 0x18, 0xbf, 0x24, 
+    0x2c, 0x05, 0xd1, 0x28, 0x46, 0x00, 0x1d, 0x91, 0x42, 0x34, 0xbf, 0x40, 0x88, 0x00, 0x88, 
+    0x10, 0x2c, 0x18, 0xbf, 
+
+    0x01, 0x05, 0xff, 0xff, 0x3a, 0x60, 0x19, 0x00, 0xfa, 0x20, 0x2c, 0x05, 0xd1, 0x28, 0x46, 
+    0x08, 0x30, 0x91, 0x42, 0x34, 0xbf, 0x40, 0x88, 0x00, 0x88, 0x56, 0x4a, 0x01, 0x21, 0x11, 
+    0x70, 0x4f, 0xf4, 0x7a, 0x72, 0xb3, 0xfb, 0xf2, 0xf4, 0x53, 0x4b, 0xe1, 0x0a, 0x0d, 0x1f, 
+    0x89, 0xb2, 0x41, 0x43, 0x1d, 0x80, 0x65, 0x08, 0x02, 0xfb, 0x01, 0x51, 0xb1, 0xfb, 0xf4, 
+    0xf1, 0xc9, 0x09, 0x09, 0x1f, 0x59, 0x80, 0x30, 0xbd, 0xc0, 0x46, 0xdc, 0x1c, 0x00, 0x40, 
+    0x70, 0x03, 0x00, 0x20, 0x04, 0x21, 0x00, 0x42, 0x2d, 0xe9, 0xf0, 0x41, 0x49, 0x4c, 0x94, 
+    0xf8, 0x00, 0x80, 0x20, 0x88, 0x27, 0x46, 0x0c, 0x3f, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 
+    0x03, 0x00, 0x20, 0x80, 0x38, 0x88, 0x54, 0x3c, 0x20, 0xf4, 0xe0, 0x60, 0x40, 0xf4, 0x00, 
+    0x70, 0xa4, 0xf8, 0x48, 0x00, 0x02, 0x20, 0x00, 0xf0, 0x68, 0xfb, 0xd4, 0xf8, 0x88, 0x50, 
+    0x38, 0x88, 0x20, 0xf4, 0xe0, 0x60, 0x38, 0x80, 0x01, 0x20, 0x00, 0xf0, 0x5f, 0xfb, 0x38, 
+    0x88, 0x0e, 0x4e, 0x20, 0xf0, 0x0f, 0x00, 0xa4, 0xf8, 0x48, 0x00, 0x01, 0x20, 0x00, 0xf0, 
+    0x56, 0xfb, 0x36, 0x48, 0x01, 0x27, 0x07, 0x70, 0x38, 0x46, 0x00, 0xf0, 0x50, 0xfb, 0x94, 
+    0xf8, 0x70, 0x00, 0x40, 0x00, 0x40, 0xb2, 0x40, 0x10, 0xa0, 0xeb, 0xe5, 0x20, 0x41, 0xb2, 
+    0xe8, 0x0a, 0x3c, 0xbf, 0x20, 0x88, 0xa0, 0xeb, 0x01, 0x20, 0x08, 0xd3, 0x02, 0xe0, 0xc0, 
+    0x46, 0xf0, 0x20, 0x00, 0x40, 0x20, 0x88, 0xa0, 0xeb, 0x01, 0x20, 0x00, 0xf5, 0x80, 0x70, 
+    0x20, 0x80, 0x38, 0x46, 0x00, 0xf0, 0x35, 0xfb, 0x27, 0x49, 0x00, 0x20, 0x84, 0xf8, 0x54, 
+    0x80, 0x08, 0x70, 0x30, 0x88, 0x20, 0xf0, 0x70, 0x00, 0x30, 0x80, 0xbd, 0xe8, 0xf0, 0x81, 
+    0x00, 0x02, 0x00, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0x34, 0x61, 0x19, 0x00, 0xfa, 0x10, 0x03, 0x04, 0x42, 0xf0, 0xb5, 
+    0x20, 0x48, 0x01, 0x88, 0x41, 0xf0, 0x70, 0x01, 0x01, 0x80, 0x1c, 0x48, 0x01, 0x26, 0x06, 
+    0x70, 0x30, 0x46, 0x00, 0xf0, 0x1a, 0xfb, 0x1b, 0x48, 0x17, 0x4c, 0x01, 0x89, 0x0c, 0x3c, 
+    0x00, 0x27, 0x24, 0xf8, 0x48, 0x1c, 0x80, 0x7a, 0x0c, 0x4d, 0x85, 0xf8, 0x50, 0x0e, 0x07, 
+    0x21, 0xf8, 0xb2, 0xff, 0xf7, 0x41, 0xfe, 0x7f, 0x1c, 0x04, 0x2f, 0xf8, 0xdb, 0x20, 0x88, 
+    0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x01, 0x00, 0x20, 0x80, 0x2e, 0x70, 0x30, 0x46, 0x00, 
+    0xf0, 0xfe, 0xfa, 0x00, 0x20, 0x28, 0x70, 0xf0, 0xbd, 0xc0, 0x46, 0xe2, 0x08, 0x00, 0x20, 
+    0x70, 0x8c, 0x03, 0x42, 0x40, 0x0d, 0x03, 0x00, 0x00, 0x72, 0x6f, 0x91, 0xa0, 0x03, 0x00, 
+    0x20, 0x80, 0x42, 0x04, 0x42, 0x04, 0x22, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x20, 0x6c, 0x1c, 
+    0x00, 0x40, 0xc0, 0x9a, 0x03, 0x42, 0x6c, 0x20, 0x00, 0x42, 0xf0, 0x20, 0x00, 0x40, 0xd0, 
+    0x08, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x34, 0x0d, 0xaa, 0x4d, 0x01, 0x90, 
+    0xa6, 0x48, 0x02, 0x95, 0xa5, 0xf1, 0x34, 0x05, 0x02, 0x8b, 0x4f, 0xf0, 0x00, 0x01, 0x02, 
+    0xb1, 0x01, 0x21, 0xa3, 0x4a, 0x29, 0x75, 0x10, 0x21, 0x11, 0x70, 0xa2, 0x4a, 0x01, 0x21, 
+    0x03, 0x91, 0x11, 0x70, 0xae, 0x49, 0x00, 0x24, 0x82, 0xf8, 0x4c, 0x40, 0x04, 0x91, 0xad, 
+    0x49, 0xac, 0x4e, 0xb1, 0x4f, 0x09, 0x88, 0xa6, 0xf6, 0xee, 0x73, 0x21, 0xf4, 0x80, 0x71, 
+    0x41, 0xf4, 0x00, 0x71, 0x19, 0x80, 0x41, 0x21, 0xa6, 0xf6, 0xe2, 0x73, 0x19, 0x70, 0x82, 
+    0xf8, 0xdc, 0x4d, 0x82, 0xf8, 0x1c, 0x4e, 0xa6, 0xf6, 0xd4, 0x61, 0x0c, 0x80, 0x05, 0x94, 
+    0x06, 0x90, 0x95, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xff, 0x2e, 0x62, 0x19, 0x00, 0xfa, 0x34, 0x00, 0x00, 0x28, 0x22, 0xd1, 
+    0x06, 0x98, 0xb0, 0xf8, 0xca, 0x00, 0xf0, 0xb1, 0x9e, 0x48, 0x00, 0x78, 0x00, 0x11, 0x02, 
+    0x28, 0x19, 0xd1, 0x01, 0x98, 0x20, 0xb9, 0x38, 0x46, 0x80, 0x1d, 0x00, 0x88, 0x40, 0x08, 
+    0x07, 0xd2, 0x01, 0x98, 0x01, 0x28, 0x0f, 0xd1, 0x38, 0x46, 0x22, 0x30, 0x00, 0x88, 0x40, 
+    0x08, 0x0a, 0xd3, 0xff, 0xf7, 0x95, 0xfd, 0x07, 0x90, 0x6a, 0x46, 0x01, 0x98, 0x0d, 0xf1, 
+    0x01, 0x01, 0xff, 0xf7, 0x8f, 0xfc, 0x03, 0x98, 0x05, 0x90, 0xff, 0x20, 0xa6, 0xf5, 0x75, 
+    0x71, 0x08, 0x70, 0x03, 0x98, 0x00, 0xf0, 0x7e, 0xfa, 0xa6, 0xf5, 0x75, 0x70, 0x04, 0x70, 
+    0xa6, 0xf5, 0x76, 0x70, 0x04, 0x80, 0xe8, 0x7a, 0x38, 0xb1, 0xec, 0x72, 0xa8, 0x7a, 0x87, 
+    0x49, 0x08, 0x70, 0x28, 0x89, 0xa6, 0xf5, 0x84, 0x61, 0x08, 0x80, 0x85, 0x48, 0x4f, 0xf0, 
+    0x0a, 0x08, 0x08, 0x90, 0x80, 0xf8, 0x3c, 0x40, 0xb6, 0xf8, 0xb8, 0x10, 0x21, 0xf0, 0x70, 
+    0x01, 0xa6, 0xf8, 0xb8, 0x10, 0x04, 0x70, 0x04, 0x71, 0x4f, 0xf4, 0x40, 0x50, 0x46, 0xf8, 
+    0x20, 0x0c, 0x70, 0x88, 0x20, 0xf0, 0x03, 0x00, 0x70, 0x80, 0x70, 0x88, 0x20, 0xf0, 0x0c, 
+    0x00, 0x70, 0x80, 0x79, 0x48, 0x09, 0x90, 0x80, 0xf8, 0x80, 0x42, 0x34, 0x80, 0x04, 0x71, 
+    0x95, 0xf8, 0x34, 0x10, 0x00, 0x29, 0x76, 0xd1, 0x0a, 0x97, 0xf8, 0x89, 0x75, 0x4a, 0x00, 
+    0x28, 0x0b, 0x92, 0x35, 0xd0, 0x01, 0x98, 0x00, 0x28, 0x32, 0xd1, 0x47, 0xf6, 0xff, 0x70, 
+    0x6f, 0xf0, 0xff, 0x3a, 0x0b, 0x99, 0x60, 0x31, 0x6f, 0xf0, 0x80, 0x32, 0x01, 0xf1, 0x08, 
+    0x0b, 0x0c, 0x92, 0xa1, 0xf1, 0x08, 0x09, 0x05, 0xf1, 0x1a, 0x03, 0x05, 0xf1, 0x18, 0x0c, 
+    0x05, 0xf1, 0x16, 0x0e, 
+
+    0x01, 0x05, 0xff, 0xff, 0x28, 0x63, 0x19, 0x00, 0xfa, 0x4f, 0xf0, 0x02, 0x08, 0x03, 0x22, 
+    0x4b, 0xf8, 0x04, 0xab, 0x41, 0xf8, 0x04, 0xab, 0x0c, 0x9f, 0x07, 0x2a, 0x23, 0xf8, 0x08, 
+    0x0b, 0x49, 0xf8, 0x04, 0x7b, 0x2c, 0xf8, 0x08, 0x0b, 0x2e, 0xf8, 0x08, 0x0b, 0x3c, 0xbf, 
+    0x05, 0xeb, 0x42, 0x07, 0xf8, 0x82, 0xb8, 0xf1, 0x01, 0x08, 0x02, 0xf1, 0x04, 0x02, 0xe8, 
+    0xd1, 0x0a, 0x99, 0xcc, 0x81, 0x02, 0x99, 0x09, 0x78, 0x4f, 0xf0, 0x08, 0x08, 0x00, 0x29, 
+    0x0a, 0x99, 0x37, 0xd1, 0x89, 0x8c, 0x00, 0x29, 0x34, 0xd0, 0x01, 0x99, 0x01, 0x29, 0x31, 
+    0xd1, 0x6f, 0xf0, 0x80, 0x31, 0x47, 0xf6, 0xff, 0x73, 0x0c, 0x91, 0x0b, 0x99, 0x03, 0x22, 
+    0x4f, 0xf0, 0x02, 0x0a, 0x01, 0xf1, 0x70, 0x0b, 0x05, 0xf1, 0x28, 0x0c, 0x05, 0xf1, 0x26, 
+    0x0e, 0x05, 0xf1, 0x24, 0x09, 0x81, 0xf8, 0x7e, 0x40, 0x0c, 0x9f, 0x07, 0x2a, 0x81, 0xf8, 
+    0x81, 0x40, 0x4b, 0xf8, 0x04, 0x7b, 0x2c, 0xf8, 0x08, 0x3b, 0x81, 0xf8, 0x80, 0x40, 0x2e, 
+    0xf8, 0x08, 0x3b, 0x81, 0xf8, 0x7f, 0x40, 0x29, 0xf8, 0x08, 0x3b, 0x3c, 0xbf, 0x05, 0xeb, 
+    0x42, 0x07, 0xbb, 0x84, 0xba, 0xf1, 0x01, 0x0a, 0x01, 0xf1, 0x04, 0x01, 0x02, 0xf1, 0x04, 
+    0x02, 0xe2, 0xd1, 0x0a, 0x98, 0xa8, 0xf1, 0x02, 0x08, 0x84, 0x84, 0x05, 0x98, 0x48, 0xb1, 
+    0x01, 0x98, 0x9d, 0xf8, 0x01, 0x10, 0x07, 0x9b, 0x9d, 0xf8, 0x00, 0x20, 0xff, 0xf7, 0x6e, 
+    0xfc, 0xa8, 0xf1, 0x04, 0x08, 0x95, 0xf8, 0x34, 0x00, 0x18, 0xb9, 0x1f, 0xfa, 0x88, 0xf0, 
+    0x00, 0xf0, 0xc0, 0xf9, 0x09, 0x98, 0x04, 0x72, 0x86, 0xf8, 0x4c, 0x40, 0x04, 0x70, 0x08, 
+    0x98, 0x80, 0xf8, 0x34, 0x40, 0x04, 0x98, 0x34, 0x54, 0x2d, 0x48, 0x04, 0x70, 0xb6, 0xf8, 
+    0xa4, 0x00, 0x20, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0x22, 0x64, 0x19, 0x00, 0xfa, 0x03, 0x00, 0xa6, 0xf8, 0xa4, 0x00, 
+    0xb6, 0xf8, 0xa4, 0x00, 0x20, 0xf0, 0x0c, 0x00, 0xa6, 0xf8, 0xa4, 0x00, 0x06, 0x98, 0x90, 
+    0xf8, 0x77, 0x00, 0xf8, 0xb1, 0x25, 0x49, 0x81, 0xf8, 0x80, 0x42, 0x03, 0x98, 0x08, 0x70, 
+    0x81, 0xf8, 0x40, 0x01, 0x0c, 0x72, 0x06, 0x98, 0x90, 0xf8, 0x77, 0x10, 0x01, 0xf0, 0xf0, 
+    0x01, 0x80, 0xf8, 0x77, 0x10, 0x90, 0xf8, 0x77, 0x00, 0x68, 0xb1, 0x06, 0x98, 0x90, 0xf8, 
+    0x76, 0x00, 0x70, 0xb9, 0x08, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x67, 0x11, 0x00, 
+    0x40, 0x24, 0x09, 0x02, 0x42, 0x04, 0x09, 0x00, 0x20, 0x16, 0x48, 0x04, 0x70, 0x06, 0x98, 
+    0x80, 0xf8, 0x77, 0x40, 0x08, 0x98, 0x03, 0x99, 0x80, 0xf8, 0xb0, 0x10, 0x13, 0x48, 0xa0, 
+    0xf8, 0x1f, 0x40, 0x04, 0x70, 0x84, 0x70, 0x95, 0xf8, 0x34, 0x00, 0x10, 0xb9, 0x03, 0x20, 
+    0x00, 0xf0, 0x70, 0xf9, 0x0d, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0xc8, 0xe0, 0xff, 
+    0xff, 0x38, 0x20, 0x00, 0x40, 0x4a, 0x10, 0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0xc0, 0x9a, 
+    0x03, 0x42, 0x30, 0x20, 0x00, 0x42, 0x80, 0x04, 0x04, 0x42, 0x00, 0x00, 0x00, 0x20, 0x30, 
+    0x00, 0x00, 0x20, 0x70, 0x1c, 0x04, 0x42, 0x00, 0x40, 0x04, 0x42, 0x3c, 0x42, 0x04, 0x42, 
+    0x4d, 0x24, 0x00, 0x40, 0x95, 0x48, 0x94, 0x49, 0x08, 0x60, 0x95, 0x49, 0x08, 0x78, 0x20, 
+    0xf0, 0x03, 0x00, 0x08, 0x70, 0x08, 0x78, 0x93, 0x49, 0x08, 0x70, 0x00, 0xf0, 0x68, 0xbc, 
+    0x92, 0x49, 0x10, 0x20, 0x08, 0x70, 0x91, 0x48, 0x14, 0x30, 0x00, 0x78, 0x00, 0xf0, 0xc3, 
+    0xbc, 0x90, 0x48, 0x90, 0x49, 0x08, 0x60, 0x8a, 0x49, 0x08, 0x78, 0x20, 0xf0, 0x03, 0x00, 
+    0x08, 0x70, 0x08, 0x78, 
+
+    0x01, 0x05, 0xff, 0xff, 0x1c, 0x65, 0x19, 0x00, 0xfa, 0x88, 0x49, 0x08, 0x70, 0x00, 0xf0, 
+    0x64, 0xbc, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x2c, 0x0d, 0x88, 0x4f, 0xdf, 0xf8, 0x1c, 
+    0x92, 0x71, 0x20, 0x80, 0x3f, 0xc7, 0xf8, 0x00, 0x90, 0x00, 0x90, 0x81, 0x20, 0x01, 0x90, 
+    0x80, 0x20, 0x02, 0x90, 0x40, 0x20, 0x03, 0x90, 0x82, 0x48, 0x04, 0x90, 0x82, 0x48, 0x05, 
+    0x90, 0x82, 0x48, 0x06, 0x90, 0x82, 0x48, 0x07, 0x90, 0x82, 0x48, 0x85, 0x4c, 0xdf, 0xf8, 
+    0x08, 0xb2, 0x08, 0x90, 0x84, 0x48, 0x84, 0x4d, 0x4f, 0xf0, 0x01, 0x0a, 0x09, 0x90, 0x7f, 
+    0x48, 0x4f, 0xf0, 0x00, 0x08, 0x82, 0x4e, 0x0a, 0x90, 0x13, 0xe0, 0xc7, 0xf8, 0x80, 0x90, 
+    0x21, 0x78, 0x41, 0xb9, 0x0a, 0x99, 0x09, 0x88, 0x49, 0x08, 0x04, 0xd3, 0x00, 0x99, 0x21, 
+    0x70, 0x21, 0x78, 0x31, 0x70, 0x04, 0xe0, 0x31, 0x78, 0x11, 0xb9, 0xc7, 0xf8, 0x00, 0x90, 
+    0x30, 0xbf, 0xc7, 0xf8, 0x00, 0x90, 0x31, 0x78, 0x00, 0x29, 0xe8, 0xd0, 0x31, 0x78, 0x30, 
+    0x29, 0x19, 0xdc, 0x30, 0x29, 0x59, 0xd0, 0x20, 0x29, 0x0c, 0xdc, 0x20, 0x29, 0x6b, 0xd0, 
+    0x10, 0x39, 0x72, 0xd0, 0x49, 0x1e, 0x73, 0xd0, 0xc9, 0x1e, 0x6e, 0xd0, 0x49, 0x1e, 0x6a, 
+    0xd0, 0x49, 0x1e, 0x65, 0xd0, 0x6f, 0xe0, 0x21, 0x39, 0x5a, 0xd0, 0xc9, 0x1e, 0x56, 0xd0, 
+    0x49, 0x1e, 0x52, 0xd0, 0x49, 0x1e, 0x4d, 0xd0, 0x66, 0xe0, 0x51, 0x29, 0x0a, 0xdc, 0x51, 
+    0x29, 0x2c, 0xd0, 0x31, 0x39, 0x34, 0xd0, 0x0f, 0x39, 0x0d, 0xd0, 0x49, 0x1e, 0x29, 0xd0, 
+    0x0f, 0x39, 0x3b, 0xd0, 0x59, 0xe0, 0x70, 0x39, 0x1e, 0xd0, 0x49, 0x1e, 0x19, 0xd0, 0x0f, 
+    0x39, 0x14, 0xd0, 0x49, 0x1e, 0x0e, 0xd0, 0x50, 0xe0, 0x9b, 0xf8, 0x00, 0x00, 0x41, 0x28, 
+    0x06, 0xd1, 0x28, 0x78, 
+
+    0x01, 0x05, 0xff, 0xff, 0x16, 0x66, 0x19, 0x00, 0xfa, 0x20, 0xb9, 0x09, 0x98, 0x80, 0x7b, 
+    0x08, 0xb9, 0x01, 0x98, 0x28, 0x70, 0xfe, 0xf7, 0xb7, 0xfa, 0x42, 0xe0, 0xfe, 0xf7, 0x9b, 
+    0xfe, 0x02, 0x98, 0x0e, 0xe0, 0xfe, 0xf7, 0x42, 0xfe, 0x3b, 0xe0, 0x00, 0xf0, 0x0a, 0xfc, 
+    0x38, 0xe0, 0x00, 0xf0, 0xe4, 0xfb, 0x35, 0xe0, 0x00, 0xf0, 0xd3, 0xf9, 0x32, 0xe0, 0xfe, 
+    0xf7, 0x1d, 0xfe, 0x03, 0x98, 0x28, 0x70, 0x84, 0xf8, 0x00, 0x80, 0x2b, 0xe0, 0x05, 0x98, 
+    0x06, 0x99, 0x00, 0xf0, 0xfc, 0xf8, 0x00, 0xf0, 0xc7, 0xfd, 0x24, 0xe0, 0x05, 0x98, 0x06, 
+    0x99, 0x00, 0xf0, 0xf5, 0xf8, 0x00, 0xf0, 0x9e, 0xfc, 0x07, 0x98, 0x08, 0x99, 0x00, 0xf0, 
+    0xef, 0xf8, 0x19, 0xe0, 0x00, 0xf0, 0x06, 0xfc, 0x16, 0xe0, 0x50, 0x46, 0x02, 0xe0, 0x50, 
+    0x46, 0x04, 0xe0, 0x40, 0x46, 0xfd, 0xf7, 0x1b, 0xfe, 0x0e, 0xe0, 0x40, 0x46, 0xff, 0xf7, 
+    0x97, 0xfd, 0x0a, 0xe0, 0x00, 0xf0, 0xf4, 0xfb, 0x07, 0xe0, 0x50, 0x46, 0x03, 0xe0, 0x00, 
+    0xf0, 0xb3, 0xfa, 0x02, 0xe0, 0x40, 0x46, 0xfe, 0xf7, 0xbf, 0xfe, 0xc7, 0xf8, 0x80, 0x90, 
+    0x31, 0x78, 0x8b, 0xf8, 0x00, 0x10, 0x86, 0xf8, 0x00, 0x80, 0x09, 0x99, 0x81, 0xf8, 0x34, 
+    0x80, 0x21, 0x78, 0x11, 0xf0, 0x03, 0x0f, 0x17, 0xd1, 0x21, 0x78, 0x70, 0x29, 0x12, 0xd0, 
+    0x29, 0x78, 0x39, 0xb1, 0x22, 0x78, 0x02, 0xf0, 0x04, 0x02, 0x29, 0x78, 0x01, 0xf0, 0x04, 
+    0x01, 0x8a, 0x42, 0x08, 0xd0, 0x21, 0x78, 0xc9, 0x08, 0x39, 0xbf, 0x04, 0x99, 0x81, 0xf8, 
+    0x00, 0xa0, 0x04, 0x99, 0x81, 0xf8, 0x02, 0xa0, 0x84, 0xf8, 0x00, 0x80, 0x21, 0x78, 0x00, 
+    0x29, 0x7f, 0xf4, 0x4d, 0xaf, 0x29, 0x78, 0x00, 0x29, 0x3f, 0xf4, 0x49, 0xaf, 0x29, 0x78, 
+    0x21, 0x70, 0x21, 0x78, 
+
+    0x01, 0x05, 0xff, 0xff, 0x10, 0x67, 0x19, 0x00, 0xfa, 0x31, 0x70, 0x85, 0xf8, 0x00, 0x80, 
+    0x41, 0xe7, 0x00, 0xb5, 0xff, 0xf7, 0x85, 0xfa, 0xff, 0xf7, 0xa8, 0xfa, 0x00, 0xbd, 0x07, 
+    0x49, 0x10, 0x20, 0x08, 0x70, 0x15, 0x48, 0x00, 0x78, 0x00, 0xf0, 0xaf, 0xbb, 0xc0, 0x46, 
+    0x80, 0xe1, 0x00, 0xe0, 0x0c, 0x00, 0x28, 0x00, 0x1c, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, 
+    0x20, 0x02, 0x01, 0x00, 0x40, 0x34, 0x24, 0x00, 0x40, 0x0c, 0x00, 0x28, 0x00, 0x80, 0xe1, 
+    0x00, 0xe0, 0x4c, 0x24, 0x00, 0x40, 0x4c, 0x04, 0x00, 0x10, 0xf4, 0x03, 0x00, 0x00, 0x41, 
+    0x08, 0x00, 0x10, 0xea, 0x03, 0x00, 0x00, 0x1f, 0x09, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x20, 
+    0x1c, 0x09, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0x1d, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, 
+    0x20, 0x44, 0x24, 0x00, 0x40, 0x8c, 0x49, 0x0a, 0x89, 0x00, 0x2a, 0x0c, 0xbf, 0x09, 0x68, 
+    0x49, 0x68, 0x8a, 0x4a, 0xb1, 0xfb, 0xf2, 0xf1, 0xc9, 0xb2, 0x48, 0x43, 0x81, 0x42, 0x2c, 
+    0xbf, 0x01, 0x20, 0x40, 0x1a, 0x87, 0x49, 0x04, 0x22, 0x20, 0xf0, 0x7f, 0x40, 0x0a, 0x80, 
+    0x48, 0x60, 0x00, 0x20, 0x08, 0x81, 0x05, 0x20, 0x08, 0x80, 0x48, 0x88, 0x00, 0x28, 0xfc, 
+    0xd0, 0x0a, 0x80, 0x70, 0x47, 0x80, 0x4a, 0x01, 0x46, 0xc8, 0x43, 0x90, 0x80, 0x10, 0x88, 
+    0x01, 0x42, 0x02, 0xd1, 0x20, 0xbf, 0x20, 0xbf, 0x10, 0x88, 0x70, 0x47, 0x10, 0xb5, 0x7a, 
+    0x4b, 0x04, 0x46, 0xe0, 0x43, 0x98, 0x80, 0x01, 0x20, 0xff, 0xf7, 0xcf, 0xff, 0x18, 0x88, 
+    0x20, 0x46, 0xff, 0xf7, 0xe9, 0xff, 0x10, 0xbd, 0x74, 0x4a, 0x01, 0x21, 0x51, 0x72, 0x91, 
+    0x8a, 0x01, 0xeb, 0xc0, 0x00, 0x50, 0x82, 0x10, 0x88, 0x70, 0x47, 0x70, 0x4a, 0x01, 0x21, 
+    0x51, 0x72, 0x91, 0x8a, 
+
+    0x01, 0x05, 0xff, 0xff, 0x0a, 0x68, 0x19, 0x00, 0xfa, 0x01, 0xeb, 0xc0, 0x00, 0x10, 0x82, 
+    0x10, 0x88, 0x70, 0x47, 0x30, 0xb5, 0x6c, 0x4c, 0x23, 0x78, 0x65, 0x78, 0x5d, 0x1b, 0x05, 
+    0xf0, 0x3f, 0x05, 0x3d, 0x2d, 0x16, 0xda, 0x04, 0xeb, 0x43, 0x05, 0x68, 0x80, 0x5b, 0x1c, 
+    0x03, 0xf0, 0x3f, 0x03, 0x04, 0xeb, 0x43, 0x00, 0x41, 0x80, 0x5b, 0x1c, 0x03, 0xf0, 0x3f, 
+    0x03, 0x04, 0xeb, 0x43, 0x00, 0x42, 0x80, 0x5b, 0x1c, 0x03, 0xf0, 0x3f, 0x03, 0x23, 0x70, 
+    0x01, 0x21, 0x5d, 0x48, 0x0e, 0x38, 0x01, 0x80, 0x30, 0xbd, 0xf0, 0xb5, 0x5c, 0x4b, 0x06, 
+    0x46, 0x0c, 0x46, 0x18, 0x68, 0xb0, 0x42, 0x27, 0xd0, 0x5a, 0x4f, 0x00, 0x20, 0x38, 0x70, 
+    0x02, 0x20, 0xff, 0xf7, 0x8a, 0xff, 0x58, 0x48, 0x05, 0x46, 0x00, 0x88, 0xad, 0x1f, 0x20, 
+    0xf0, 0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0xe8, 0x80, 0x01, 0x20, 0x38, 0x70, 0xb0, 0x08, 
+    0x00, 0xf5, 0xa0, 0x60, 0xe8, 0x82, 0x19, 0x20, 0x2f, 0x8a, 0x28, 0x82, 0x02, 0x20, 0xff, 
+    0xf7, 0x75, 0xff, 0x00, 0x2c, 0x04, 0xf1, 0x03, 0x04, 0x06, 0xd0, 0xa1, 0x08, 0x4c, 0x4c, 
+    0x2a, 0x68, 0x49, 0x1e, 0x44, 0xf8, 0x04, 0x2b, 0xfa, 0xd1, 0x1e, 0x60, 0x2f, 0x82, 0xf0, 
+    0xbd, 0x70, 0xb5, 0xad, 0xf1, 0x1c, 0x0d, 0x01, 0x46, 0x47, 0x48, 0x6a, 0x46, 0x78, 0xc8, 
+    0x78, 0xc2, 0x90, 0xe8, 0x19, 0x00, 0x82, 0xe8, 0x19, 0x00, 0x06, 0x20, 0x91, 0xfb, 0xf0, 
+    0xf1, 0x0a, 0x12, 0xc9, 0xb2, 0x00, 0x29, 0x4f, 0xf4, 0x80, 0x30, 0x40, 0xfa, 0x02, 0xf0, 
+    0x08, 0xbf, 0x00, 0x01, 0x08, 0xd0, 0xca, 0x00, 0x02, 0xeb, 0x81, 0x02, 0x80, 0x32, 0x11, 
+    0x12, 0x3d, 0xf8, 0x11, 0x10, 0x48, 0x43, 0x00, 0x0b, 0x07, 0xb0, 0x70, 0xbd, 0xc1, 0x0b, 
+    0x12, 0xbf, 0x37, 0x49, 
+
+    0x01, 0x05, 0xff, 0xff, 0x04, 0x69, 0x19, 0x00, 0xfa, 0x00, 0x04, 0x37, 0x49, 0xc3, 0x0d, 
+    0x37, 0x4a, 0x03, 0xd1, 0x00, 0x02, 0x13, 0x46, 0x5b, 0x00, 0xc9, 0x1a, 0xc3, 0x0e, 0x04, 
+    0xbf, 0x00, 0x01, 0x89, 0x1a, 0x42, 0x0f, 0x03, 0xd1, 0x80, 0x00, 0x49, 0xf6, 0x20, 0x22, 
+    0x89, 0x1a, 0x82, 0x0f, 0x03, 0xd1, 0x40, 0x00, 0x44, 0xf6, 0x10, 0x52, 0x89, 0x1a, 0x00, 
+    0xeb, 0x50, 0x02, 0x13, 0x08, 0x03, 0xd2, 0x10, 0x46, 0x42, 0xf6, 0x14, 0x52, 0x89, 0x1a, 
+    0x00, 0xeb, 0x90, 0x02, 0x13, 0x08, 0x03, 0xd2, 0x10, 0x46, 0x41, 0xf6, 0xcf, 0x02, 0x89, 
+    0x1a, 0x00, 0xeb, 0xd0, 0x02, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf6, 0x18, 0x51, 
+    0x00, 0xeb, 0x10, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0xbd, 0x61, 0x00, 
+    0xeb, 0x50, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0x6b, 0x31, 0x00, 0xeb, 
+    0x90, 0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xa1, 0xf2, 0xb9, 0x11, 0x00, 0xeb, 0xd0, 
+    0x12, 0x13, 0x08, 0x3c, 0xbf, 0x10, 0x1c, 0xdd, 0x39, 0xc0, 0xf1, 0x00, 0x40, 0xa1, 0xeb, 
+    0xd0, 0x31, 0x08, 0x46, 0x70, 0x47, 0x00, 0xb5, 0xff, 0xf7, 0xa9, 0xff, 0x00, 0xeb, 0x80, 
+    0x00, 0xc0, 0x12, 0x00, 0xb2, 0x00, 0xbd, 0xc0, 0x46, 0xc0, 0x00, 0x00, 0x20, 0x40, 0x42, 
+    0x0f, 0x00, 0x10, 0xe0, 0x00, 0xe0, 0x2c, 0x24, 0x00, 0x40, 0x70, 0x01, 0x00, 0x20, 0x20, 
+    0x09, 0x00, 0x20, 0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0xac, 0x2f, 0x00, 0x00, 
+    0xe0, 0x2e, 0x00, 0x00, 0xf4, 0x83, 0x04, 0x00, 0xf0, 0xb2, 0xff, 0xff, 0x41, 0x34, 0x01, 
+    0x00, 0x70, 0xb5, 0x6a, 0x49, 0x68, 0x48, 0x02, 0x68, 0x08, 0x68, 0x02, 0xf0, 0x01, 0x06, 
+    0x00, 0x0d, 0x0c, 0x28, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfe, 0x69, 0x19, 0x00, 0xfa, 0x0b, 0xd0, 0x10, 0x28, 0x09, 0xd0, 
+    0x12, 0x28, 0x07, 0xd0, 0x18, 0x28, 0x05, 0xd0, 0x20, 0x28, 0x03, 0xd0, 0x24, 0x28, 0x18, 
+    0xbf, 0x31, 0x28, 0x00, 0xd1, 0x16, 0x46, 0x60, 0x4c, 0x00, 0x20, 0x60, 0x4d, 0xa0, 0x67, 
+    0x84, 0xf8, 0x7d, 0x00, 0x91, 0xf8, 0x9a, 0x00, 0x04, 0x28, 0x08, 0xd1, 0x95, 0xf8, 0x56, 
+    0x20, 0xb1, 0xf8, 0x9e, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x90, 0x42, 0x00, 0xf0, 0xa6, 0x80, 
+    0x32, 0x0c, 0xb1, 0xb2, 0x01, 0x20, 0xff, 0xf7, 0xe5, 0xfe, 0x16, 0xf0, 0x09, 0x0f, 0x09, 
+    0xd0, 0x54, 0x48, 0x55, 0x49, 0xff, 0xf7, 0xff, 0xfe, 0x00, 0xf0, 0xa8, 0xfa, 0xa0, 0x6f, 
+    0x40, 0xf0, 0x08, 0x00, 0xa0, 0x67, 0x16, 0xf0, 0x81, 0x0f, 0x09, 0xd0, 0x50, 0x48, 0x50, 
+    0x49, 0xff, 0xf7, 0xf2, 0xfe, 0x00, 0xf0, 0x9b, 0xfa, 0xa0, 0x6f, 0x40, 0xf0, 0x80, 0x00, 
+    0xa0, 0x67, 0x70, 0x08, 0x09, 0xd3, 0x4c, 0x48, 0x4c, 0x49, 0xff, 0xf7, 0xe6, 0xfe, 0x00, 
+    0xf0, 0xd8, 0xfa, 0xa0, 0x6f, 0x40, 0xf0, 0x01, 0x00, 0xa0, 0x67, 0xf0, 0x09, 0x09, 0xd3, 
+    0x48, 0x48, 0x48, 0x49, 0xff, 0xf7, 0xda, 0xfe, 0x00, 0xf0, 0xf8, 0xfa, 0xa0, 0x6f, 0x40, 
+    0xf0, 0x40, 0x00, 0xa0, 0x67, 0xf0, 0x0a, 0x09, 0xd3, 0x44, 0x48, 0x44, 0x49, 0xff, 0xf7, 
+    0xce, 0xfe, 0x00, 0xf0, 0x86, 0xfb, 0xa0, 0x6f, 0x40, 0xf4, 0x80, 0x60, 0xa0, 0x67, 0x70, 
+    0x09, 0x0f, 0xd3, 0x40, 0x48, 0x40, 0x49, 0xff, 0xf7, 0xc2, 0xfe, 0x00, 0xf0, 0x0e, 0xfb, 
+    0x3f, 0x48, 0x3f, 0x49, 0xff, 0xf7, 0xbc, 0xfe, 0x00, 0xf0, 0x83, 0xfa, 0xa0, 0x6f, 0x40, 
+    0xf0, 0x10, 0x00, 0xa0, 0x67, 0xb0, 0x09, 0x0c, 0xd3, 0x3b, 0x48, 0x3b, 0x49, 0xff, 0xf7, 
+    0xb0, 0xfe, 0x00, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf8, 0x6a, 0x19, 0x00, 0xfa, 0x1a, 0xfb, 0x94, 0xf8, 0x7d, 0x00, 
+    0x18, 0xb9, 0xa0, 0x6f, 0x40, 0xf0, 0x20, 0x00, 0xa0, 0x67, 0x70, 0x0a, 0x09, 0xd3, 0x35, 
+    0x48, 0x36, 0x49, 0xff, 0xf7, 0xa1, 0xfe, 0x00, 0xf0, 0x61, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, 
+    0x80, 0x70, 0xa0, 0x67, 0xb0, 0x0a, 0x09, 0xd3, 0x31, 0x48, 0x32, 0x49, 0xff, 0xf7, 0x95, 
+    0xfe, 0x00, 0xf0, 0xf6, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, 0x00, 0x70, 0xa0, 0x67, 0x30, 0x0b, 
+    0x09, 0xd3, 0x2d, 0x48, 0x2e, 0x49, 0xff, 0xf7, 0x89, 0xfe, 0x00, 0xf0, 0x32, 0xfa, 0xa0, 
+    0x6f, 0x40, 0xf4, 0x00, 0x60, 0xa0, 0x67, 0x70, 0x0b, 0x09, 0xd3, 0x29, 0x48, 0x2a, 0x49, 
+    0xff, 0xf7, 0x7d, 0xfe, 0x00, 0xf0, 0xd6, 0xfa, 0xa0, 0x6f, 0x40, 0xf4, 0x80, 0x50, 0xa0, 
+    0x67, 0xb0, 0x0b, 0x03, 0xd3, 0xa0, 0x6f, 0x40, 0xf4, 0x00, 0x50, 0xa0, 0x67, 0xf0, 0x0b, 
+    0x09, 0xd3, 0x22, 0x48, 0x23, 0x49, 0xff, 0xf7, 0x6b, 0xfe, 0x00, 0xf0, 0x5e, 0xfa, 0xa0, 
+    0x6f, 0x40, 0xf4, 0x80, 0x40, 0xa0, 0x67, 0x08, 0x20, 0x28, 0x80, 0x70, 0xbd, 0xc0, 0x46, 
+    0x08, 0x00, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x20, 0x30, 0x00, 0x00, 0x20, 0x1e, 0x24, 0x00, 
+    0x40, 0x60, 0x24, 0x00, 0x10, 0xb4, 0x00, 0x00, 0x00, 0xc0, 0x25, 0x00, 0x10, 0x6c, 0x00, 
+    0x00, 0x00, 0x68, 0x23, 0x00, 0x10, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x21, 0x00, 0x10, 0x6e, 
+    0x01, 0x00, 0x00, 0x74, 0x19, 0x00, 0x10, 0xe8, 0x02, 0x00, 0x00, 0x38, 0x20, 0x00, 0x10, 
+    0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x4c, 0x04, 0x00, 0x00, 0x88, 0x16, 0x00, 
+    0x10, 0xec, 0x02, 0x00, 0x00, 0x70, 0x1e, 0x00, 0x10, 0xc8, 0x01, 0x00, 0x00, 0x2c, 0x0c, 
+    0x00, 0x10, 0xd0, 0x03, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf2, 0x6b, 0x19, 0x00, 0xfa, 0x00, 0x00, 0x14, 0x25, 0x00, 0x10, 
+    0xac, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x10, 0x5a, 0x03, 0x00, 0x00, 0x5c, 0x1c, 0x00, 
+    0x10, 0x14, 0x02, 0x00, 0x00, 0x2d, 0xe9, 0xf0, 0x4f, 0xdf, 0xf8, 0x34, 0xa1, 0xdf, 0xf8, 
+    0x34, 0xb1, 0x4f, 0xf0, 0x01, 0x09, 0x8a, 0xf8, 0x00, 0x90, 0xbb, 0xf8, 0x88, 0x00, 0x4f, 
+    0x4e, 0x58, 0xb9, 0x49, 0x49, 0x4f, 0xf0, 0x00, 0x00, 0x08, 0x80, 0x30, 0x46, 0x00, 0xf1, 
+    0x28, 0x00, 0x00, 0x78, 0x10, 0xb9, 0x07, 0x20, 0xff, 0xf7, 0xa2, 0xfd, 0x44, 0x4d, 0x05, 
+    0xf6, 0x53, 0x30, 0x01, 0x88, 0x00, 0x24, 0x43, 0x4f, 0x6f, 0xf3, 0x9f, 0x31, 0x41, 0xf4, 
+    0x80, 0x41, 0x01, 0x80, 0x42, 0x49, 0xdf, 0xf8, 0x00, 0x81, 0xa5, 0xf6, 0xed, 0x03, 0xa1, 
+    0xf6, 0x15, 0x52, 0x87, 0xf8, 0x70, 0x43, 0x87, 0xf8, 0x74, 0x43, 0x88, 0xf8, 0x00, 0x90, 
+    0x14, 0x70, 0x32, 0x78, 0x81, 0xf8, 0x5b, 0x4f, 0x81, 0xf8, 0x5f, 0x4f, 0x1a, 0x70, 0x81, 
+    0xf8, 0x9b, 0x4f, 0x02, 0x88, 0x22, 0xf4, 0xc0, 0x62, 0x02, 0x80, 0x37, 0x48, 0x05, 0xf6, 
+    0x27, 0x76, 0x87, 0xf8, 0x60, 0x43, 0x04, 0x70, 0xa5, 0xf6, 0xf1, 0x00, 0x85, 0xf8, 0x2d, 
+    0x4b, 0x85, 0xf8, 0x2b, 0x4b, 0x04, 0x70, 0x4f, 0xf4, 0x40, 0x50, 0x85, 0xf8, 0x87, 0x47, 
+    0x30, 0x80, 0xa1, 0xf6, 0x25, 0x20, 0x04, 0x70, 0xa1, 0xf6, 0x15, 0x20, 0x04, 0x70, 0xa1, 
+    0xf6, 0xf5, 0x10, 0x04, 0x70, 0xa6, 0xf5, 0x6e, 0x70, 0x00, 0x88, 0xa6, 0xf5, 0x6e, 0x72, 
+    0x20, 0xf0, 0x0f, 0x00, 0x10, 0x80, 0xa6, 0xf2, 0xbe, 0x30, 0x87, 0xf8, 0x50, 0x93, 0x3c, 
+    0x70, 0x00, 0x88, 0xa6, 0xf2, 0xbe, 0x32, 0x20, 0xf4, 0x40, 0x60, 0x10, 0x80, 0x81, 0xf8, 
+    0xff, 0x9f, 0x36, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xff, 0xec, 0x6c, 0x19, 0x00, 0xfa, 0x06, 0x0c, 0x9b, 0xf8, 0xa5, 0x10, 
+    0x20, 0xf4, 0x70, 0x60, 0x40, 0xea, 0x01, 0x20, 0x26, 0xf8, 0x06, 0x0c, 0xff, 0x20, 0x85, 
+    0xf8, 0x73, 0x0b, 0x48, 0x46, 0xff, 0xf7, 0x3d, 0xfd, 0x85, 0xf8, 0x73, 0x4b, 0x70, 0x88, 
+    0x20, 0xf4, 0x40, 0x70, 0x70, 0x80, 0x87, 0xf8, 0x0c, 0x47, 0x8a, 0xf8, 0x48, 0x40, 0xb6, 
+    0xf8, 0xd8, 0x00, 0xa5, 0xf5, 0x7f, 0x65, 0x20, 0xf0, 0x70, 0x00, 0xa6, 0xf8, 0xd8, 0x00, 
+    0x8a, 0xf8, 0x3c, 0x40, 0x2c, 0x70, 0x28, 0xf8, 0x04, 0x4c, 0x08, 0xf8, 0x23, 0x4c, 0x08, 
+    0xf8, 0x21, 0x4c, 0x88, 0xf8, 0x00, 0x40, 0xbd, 0xe8, 0xf0, 0x8f, 0x24, 0x20, 0x00, 0x42, 
+    0x00, 0x02, 0x00, 0x20, 0x34, 0x18, 0x00, 0x40, 0xf1, 0x10, 0x00, 0x40, 0x40, 0x85, 0x03, 
+    0x42, 0x70, 0x24, 0x00, 0x40, 0x25, 0x0e, 0x04, 0x42, 0xdc, 0x08, 0x00, 0x20, 0x14, 0x07, 
+    0x01, 0x42, 0x00, 0x0c, 0x00, 0x20, 0xa0, 0x2e, 0x00, 0x00, 0xdc, 0x2e, 0x00, 0x00, 0x5f, 
+    0xf8, 0x0c, 0x00, 0x5f, 0xf8, 0x0c, 0x10, 0x88, 0x42, 0x18, 0xd0, 0x02, 0x68, 0x00, 0xf1, 
+    0x04, 0x00, 0x03, 0x68, 0x00, 0xf1, 0x04, 0x00, 0x00, 0x2a, 0x08, 0xd0, 0x04, 0x78, 0x1c, 
+    0x70, 0x00, 0xf1, 0x01, 0x00, 0x03, 0xf1, 0x01, 0x03, 0xa2, 0xf1, 0x01, 0x02, 0xf4, 0xe7, 
+    0x4f, 0xf0, 0x04, 0x04, 0xa4, 0xeb, 0x00, 0x04, 0x04, 0xf0, 0x03, 0x04, 0x20, 0x44, 0xe4, 
+    0xe7, 0x70, 0x47, 0x5f, 0xf8, 0x50, 0x00, 0x85, 0x46, 0xff, 0xf7, 0xdb, 0xff, 0xff, 0xf7, 
+    0xa9, 0xfc, 0xff, 0xf7, 0xad, 0xfb, 0x06, 0x48, 0x00, 0x99, 0x88, 0x42, 0x04, 0xd1, 0x03, 
+    0x48, 0x07, 0x90, 0x04, 0x48, 0x08, 0x90, 0x00, 0xbd, 0x02, 0xbc, 0xf4, 0xe7, 0xed, 0x2d, 
+    0x00, 0x00, 0xf9, 0xff, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe6, 0x6d, 0x19, 0x00, 0xfa, 0xff, 0xff, 0x00, 0x00, 0x00, 0x61, 
+    0x5f, 0xf8, 0x84, 0x00, 0x85, 0x46, 0xff, 0xf7, 0x97, 0xfb, 0x4f, 0xf0, 0x0a, 0x00, 0x4f, 
+    0xf0, 0x02, 0x01, 0x06, 0x9a, 0xff, 0xf7, 0x08, 0xfd, 0xfe, 0xe7, 0x00, 0x00, 0x70, 0xb5, 
+    0x1b, 0x4d, 0x1b, 0x4e, 0x01, 0x24, 0x2c, 0x72, 0xb6, 0xf8, 0xdc, 0x00, 0x00, 0x11, 0x00, 
+    0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xb2, 0xfc, 0x2c, 0x70, 0xb6, 0xf8, 0xdc, 0x00, 0x00, 0x11, 
+    0x00, 0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xaa, 0xfc, 0x2c, 0x73, 0xb6, 0xf8, 0xdc, 0x00, 0x00, 
+    0x11, 0x00, 0xf0, 0x0f, 0x00, 0xff, 0xf7, 0xa2, 0xfc, 0x2c, 0x71, 0xb6, 0xf8, 0xdc, 0x00, 
+    0x00, 0x12, 0xff, 0xf7, 0x9c, 0xfc, 0x70, 0xbd, 0x30, 0xb5, 0x09, 0x4d, 0x00, 0x24, 0x01, 
+    0x20, 0x2c, 0x71, 0xff, 0xf7, 0x94, 0xfc, 0x2c, 0x73, 0x01, 0x20, 0xff, 0xf7, 0x90, 0xfc, 
+    0x2c, 0x70, 0x01, 0x20, 0xff, 0xf7, 0x8c, 0xfc, 0x04, 0x49, 0x04, 0x20, 0x2c, 0x72, 0x08, 
+    0x70, 0x30, 0xbd, 0xc0, 0x46, 0x00, 0x01, 0x04, 0x42, 0x00, 0x02, 0x00, 0x20, 0x02, 0x01, 
+    0x00, 0x40, 0x01, 0x20, 0xfe, 0xf7, 0xd1, 0xba, 0x01, 0x20, 0xfd, 0xf7, 0x1a, 0xba, 0x82, 
+    0xb0, 0x00, 0x94, 0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0x71, 0x06, 0x00, 0x20, 
+    0x01, 0x00, 0x00, 0x00, 0x1c, 0x09, 0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, 
+    0x00, 0x1d, 0x09, 0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x1e, 0x09, 
+    0x00, 0x20, 0x00, 0xc0, 0x46, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x09, 0x00, 0x20, 0x00, 
+    0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x21, 0xe0, 0x6e, 0x19, 0x00, 0x1c, 0xff, 0xff, 0xad, 0xf1, 0x28, 0xe4, 
+    0x65, 0xd7, 0x58, 0xcb, 0xf8, 0xbf, 0x3b, 0xb5, 0x18, 0xab, 0x85, 0xa1, 0x7d, 0x98, 0xf5, 
+    0x8f, 0xe7, 0x87, 0x4d, 0x80, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x70, 0x36, 0x19, 0x00, 0xfa, 0x70, 0xb5, 0x00, 0xf0, 0x03, 0x01, 
+    0x01, 0x29, 0x04, 0xd1, 0x73, 0x49, 0x01, 0x22, 0x0a, 0x70, 0x00, 0x22, 0x0a, 0x70, 0x74, 
+    0x4c, 0x75, 0x49, 0x22, 0x78, 0x00, 0x2a, 0x32, 0xd0, 0x0a, 0x78, 0x6e, 0x4b, 0x52, 0xb9, 
+    0x22, 0x78, 0x22, 0xf0, 0x03, 0x02, 0x22, 0x70, 0x22, 0x78, 0x0a, 0x70, 0x21, 0x78, 0x81, 
+    0x42, 0x29, 0xd0, 0x19, 0x46, 0x26, 0xe0, 0x22, 0x78, 0x68, 0x4e, 0x69, 0x4d, 0x12, 0xf0, 
+    0x03, 0x0f, 0x0a, 0xd1, 0x21, 0x78, 0x81, 0x42, 0x23, 0xd0, 0x18, 0x70, 0x00, 0x20, 0x29, 
+    0x88, 0x01, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x30, 0x70, 0x70, 0xbd, 0x22, 0x78, 0x22, 0xf0, 
+    0x03, 0x02, 0x22, 0x70, 0x22, 0x78, 0x0a, 0x70, 0x21, 0x78, 0x81, 0x42, 0x07, 0xd0, 0x19, 
+    0x46, 0x08, 0x70, 0x00, 0x20, 0x29, 0x88, 0x01, 0x29, 0x08, 0xbf, 0x01, 0x20, 0x30, 0x70, 
+    0x00, 0xf0, 0xd1, 0xf8, 0x70, 0xbd, 0x20, 0x70, 0x20, 0x78, 0x08, 0x70, 0x59, 0x48, 0x59, 
+    0x49, 0x08, 0x60, 0x00, 0xf0, 0xc0, 0xf8, 0x70, 0xbd, 0xf0, 0xb5, 0x4f, 0x4e, 0x57, 0x48, 
+    0x19, 0x36, 0x01, 0x88, 0x96, 0xf8, 0x27, 0x20, 0x55, 0x48, 0x01, 0xf0, 0x01, 0x03, 0x93, 
+    0x42, 0x4f, 0xea, 0x21, 0x17, 0x4f, 0xea, 0x21, 0x25, 0x07, 0xf0, 0x03, 0x07, 0x05, 0xf0, 
+    0x03, 0x05, 0x4b, 0xd1, 0x49, 0x0b, 0x49, 0x4c, 0x2f, 0xd2, 0x01, 0x46, 0x27, 0xb1, 0x01, 
+    0xf1, 0x0d, 0x01, 0x4f, 0xf0, 0x01, 0x02, 0x0a, 0x70, 0x4f, 0xf0, 0x01, 0x01, 0x0d, 0xb1, 
+    0x0e, 0x30, 0x01, 0x70, 0x01, 0x2f, 0x02, 0xd1, 0x20, 0x78, 0x11, 0x28, 0x0b, 0xd0, 0x01, 
+    0x2d, 0x0d, 0xd1, 0x20, 0x78, 0x21, 0x28, 0x06, 0xd0, 0x20, 0x46, 0x01, 0x78, 0x31, 0x29, 
+    0x02, 0xd0, 0x00, 0x78, 
+
+    0x01, 0x05, 0xff, 0xff, 0x6a, 0x37, 0x19, 0x00, 0xfa, 0x41, 0x28, 0x03, 0xd1, 0x01, 0x20, 
+    0x30, 0x70, 0x00, 0xf0, 0x8f, 0xf8, 0x01, 0x2f, 0x02, 0xd1, 0x20, 0x78, 0x15, 0x28, 0x04, 
+    0xd0, 0x01, 0x2d, 0x25, 0xd1, 0x20, 0x78, 0x25, 0x28, 0x22, 0xd1, 0x01, 0x25, 0xb5, 0x70, 
+    0x00, 0xf0, 0x81, 0xf8, 0xf0, 0xbd, 0x01, 0x25, 0x45, 0x73, 0x85, 0x73, 0x20, 0x78, 0x11, 
+    0x28, 0x08, 0xd0, 0x20, 0x78, 0x21, 0x28, 0x05, 0xd0, 0x20, 0x78, 0x31, 0x28, 0x02, 0xd0, 
+    0x20, 0x78, 0x41, 0x28, 0x02, 0xd1, 0x35, 0x70, 0x00, 0xf0, 0x6e, 0xf8, 0x20, 0x78, 0x15, 
+    0x28, 0xe6, 0xd0, 0x20, 0x78, 0x25, 0x28, 0x05, 0xd1, 0xe2, 0xe7, 0x00, 0x21, 0x41, 0x73, 
+    0x81, 0x73, 0x31, 0x70, 0xb1, 0x70, 0xf0, 0xbd, 0x10, 0xb5, 0x29, 0x48, 0x38, 0x38, 0x00, 
+    0x88, 0x40, 0x08, 0x32, 0xd3, 0x24, 0x48, 0x24, 0x4b, 0x00, 0x88, 0xc1, 0x12, 0x11, 0xf0, 
+    0x03, 0x0f, 0x23, 0x48, 0x04, 0xd0, 0x19, 0x46, 0x01, 0xf1, 0x76, 0x01, 0x09, 0x78, 0xd9, 
+    0xb9, 0x21, 0x4a, 0x00, 0x21, 0x12, 0x78, 0x22, 0xf0, 0x0f, 0x02, 0x20, 0x2a, 0x08, 0xbf, 
+    0x01, 0x21, 0x69, 0xb9, 0x00, 0x21, 0x80, 0xf8, 0x40, 0x11, 0xa0, 0xf5, 0xa0, 0x74, 0x01, 
+    0x22, 0x22, 0x70, 0x02, 0x70, 0xa0, 0xf5, 0x9c, 0x72, 0x11, 0x70, 0x80, 0xf8, 0xfc, 0x10, 
+    0x0c, 0xe0, 0x93, 0xf8, 0x77, 0x10, 0x01, 0xf0, 0x0f, 0x01, 0x07, 0xe0, 0x01, 0x21, 0x80, 
+    0xf8, 0xfc, 0x10, 0x01, 0x70, 0x93, 0xf8, 0x77, 0x10, 0x41, 0xf0, 0x10, 0x01, 0x83, 0xf8, 
+    0x77, 0x10, 0x10, 0xbd, 0xc0, 0x46, 0x34, 0x24, 0x00, 0x40, 0x1d, 0x09, 0x00, 0x20, 0x04, 
+    0x09, 0x00, 0x20, 0x0a, 0x02, 0x00, 0x20, 0x1c, 0x09, 0x00, 0x20, 0x1e, 0x09, 0x00, 0x20, 
+    0x0c, 0x00, 0x28, 0x00, 
+
+    0x01, 0x05, 0xff, 0x45, 0x64, 0x38, 0x19, 0x00, 0x40, 0x80, 0xe1, 0x00, 0xe0, 0x5e, 0x01, 
+    0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0xca, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0x40, 
+    0x41, 0x04, 0x42, 0x44, 0x24, 0x00, 0x40, 0x1c, 0x09, 0x00, 0x20, 0x82, 0xb0, 0x00, 0x94, 
+    0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0xcb, 0x2d, 0x00, 0x00, 0x82, 0xb0, 0x00, 
+    0x94, 0x01, 0x4c, 0x01, 0x94, 0x10, 0xbd, 0x00, 0xbf, 0xe1, 0x24, 0x00, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x06, 0x02, 0x19, 0x00, 0x1b, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x16, 0x02, 0x19, 0x00, 0x00, 0x05, 
+
+    0x01, 0x01, 0xff, 0x06, 0x10, 0x02, 0x19, 0x00, 0x19, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x70, 0xb5, 0x04, 0x46, 0x0c, 0x4d, 
+    0xa0, 0x08, 0x00, 0xf5, 0xa0, 0x60, 0x0e, 0x46, 0x81, 0xb2, 0x28, 0x46, 0x10, 0x30, 0x82, 
+    0x88, 0x91, 0x42, 0x05, 0xd0, 0x81, 0x80, 0x15, 0x21, 0x01, 0x80, 0x02, 0x20, 0xff, 0xf7, 
+    0xd9, 0xfb, 0x04, 0xf0, 0x03, 0x04, 0x00, 0x2e, 0x25, 0x44, 0x0c, 0xbf, 0x28, 0x78, 0x28, 
+    0x88, 0x70, 0xbd, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 
+    0x30, 0x0d, 0xdf, 0xf8, 0x2c, 0x82, 0xdf, 0xf8, 0x34, 0x92, 0x8a, 0x4d, 0xb8, 0xf8, 0xa0, 
+    0x00, 0x98, 0xf8, 0xa4, 0x70, 0x29, 0x46, 0x44, 0x10, 0x78, 0xb2, 0x00, 0x90, 0x48, 0x46, 
+    0xcd, 0xf8, 0x04, 0x90, 0xa4, 0x38, 0x01, 0x90, 0x02, 0x95, 0x10, 0x39, 0x02, 0x91, 0x48, 
+    0x78, 0x09, 0x78, 0x08, 0x2f, 0x00, 0xf0, 0x1f, 0x00, 0x01, 0xf0, 0x1f, 0x01, 0x15, 0xf8, 
+    0x00, 0xc0, 0xa0, 0xf1, 0x01, 0x02, 0x15, 0xf8, 0x01, 0xe0, 0xd2, 0xb2, 0xa1, 0xf1, 0x01, 
+    0x03, 0xae, 0x5c, 0xdb, 0xb2, 0xed, 0x5c, 0x04, 0xf0, 0x0f, 0x04, 0x03, 0xda, 0x0b, 0x46, 
+    0x02, 0x46, 0x75, 0x46, 0x66, 0x46, 0x02, 0x99, 0x08, 0x88, 0x20, 0xf0, 0x1f, 0x00, 0x03, 
+    0x43, 0x0b, 0x80, 0x08, 0x88, 0x0f, 0x46, 0x20, 0xf4, 0xf8, 0x50, 0x40, 0xea, 0x02, 0x20, 
+    0x08, 0x80, 0xbd, 0x70, 0x02, 0x20, 0x6e, 0x4d, 0xfe, 0x70, 0x00, 0x26, 0x03, 0x96, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x2e, 0x70, 0xff, 0xf7, 0x85, 0xfb, 
+    0xa7, 0xf6, 0xaa, 0x70, 0x00, 0x88, 0xa7, 0xf6, 0xaa, 0x71, 0x4f, 0xf0, 0x01, 0x0a, 0x20, 
+    0xf0, 0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0x08, 0x80, 0xa7, 0xf6, 0x9c, 0x70, 0x85, 0xf8, 
+    0x00, 0xa0, 0x06, 0x80, 0xa7, 0xf5, 0x7a, 0x60, 0x00, 0x88, 0x04, 0x90, 0x9c, 0x48, 0x31, 
+    0x46, 0x00, 0x19, 0xff, 0xf7, 0x7f, 0xff, 0x35, 0x46, 0xc6, 0xb2, 0x00, 0x99, 0x99, 0x48, 
+    0x00, 0xeb, 0x41, 0x00, 0x51, 0x46, 0xff, 0xf7, 0x76, 0xff, 0x01, 0x46, 0x71, 0x43, 0xcd, 
+    0xf8, 0x14, 0x80, 0x0f, 0x22, 0x95, 0x4e, 0xc9, 0x13, 0x89, 0xb2, 0x16, 0xf8, 0x01, 0x3f, 
+    0x8b, 0x42, 0x02, 0xdd, 0x6d, 0x1c, 0x52, 0x1e, 0xf8, 0xd1, 0x08, 0x2d, 0xea, 0xb2, 0x3c, 
+    0xbf, 0xc5, 0xf1, 0x07, 0x00, 0xc2, 0xb2, 0x1f, 0x20, 0xff, 0xf7, 0x92, 0xfb, 0x03, 0x9f, 
+    0x9c, 0x48, 0x39, 0x46, 0x40, 0x19, 0xff, 0xf7, 0x58, 0xff, 0x01, 0x9b, 0x01, 0x11, 0xca, 
+    0xb2, 0xd9, 0x8c, 0x21, 0xf0, 0xf0, 0x01, 0x41, 0xea, 0x02, 0x11, 0xd9, 0x84, 0xb3, 0xf8, 
+    0x88, 0x60, 0x19, 0x46, 0x60, 0xf3, 0x03, 0x06, 0xa3, 0xf8, 0x88, 0x60, 0x08, 0x88, 0x62, 
+    0xf3, 0x1f, 0x30, 0x40, 0xf4, 0x80, 0x50, 0x18, 0x80, 0xa4, 0x48, 0x39, 0x46, 0x40, 0x19, 
+    0xff, 0xf7, 0x3d, 0xff, 0x02, 0x9e, 0x86, 0xf8, 0xe0, 0x0e, 0xa1, 0x48, 0x39, 0x46, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x40, 0x19, 0xff, 0xf7, 0x35, 0xff, 
+    0x86, 0xf8, 0xe4, 0x0e, 0x08, 0x2c, 0x06, 0x94, 0xbc, 0xbf, 0xc4, 0xf1, 0x07, 0x00, 0x06, 
+    0x90, 0x06, 0x98, 0x02, 0x2c, 0xc0, 0xb2, 0x02, 0xd1, 0x00, 0x99, 0x08, 0x29, 0x09, 0xdc, 
+    0x0a, 0x2c, 0x00, 0x99, 0x01, 0xd1, 0x08, 0x29, 0x04, 0xdc, 0x0d, 0x2c, 0x00, 0x99, 0x03, 
+    0xd1, 0x0a, 0x29, 0x01, 0xdb, 0x40, 0x1e, 0xc0, 0xb2, 0xc1, 0x00, 0x92, 0x4e, 0x03, 0x9d, 
+    0x05, 0x27, 0x01, 0xeb, 0x40, 0x01, 0x76, 0x18, 0x51, 0x46, 0x30, 0x46, 0xff, 0xf7, 0x0f, 
+    0xff, 0x49, 0x46, 0x09, 0x1d, 0x7f, 0x1e, 0x06, 0xf1, 0x02, 0x06, 0x48, 0x53, 0x05, 0xf1, 
+    0x0c, 0x05, 0xf2, 0xd1, 0x06, 0x98, 0x02, 0x2c, 0xc0, 0xb2, 0x02, 0xd1, 0x00, 0x99, 0x08, 
+    0x29, 0x09, 0xdc, 0x0a, 0x2c, 0x00, 0x99, 0x01, 0xd1, 0x08, 0x29, 0x04, 0xdc, 0x0d, 0x2c, 
+    0x00, 0x99, 0x03, 0xd1, 0x0a, 0x29, 0x01, 0xdb, 0x40, 0x1e, 0xc0, 0xb2, 0x00, 0xeb, 0x80, 
+    0x00, 0x03, 0x9d, 0x4f, 0x46, 0xdf, 0xf8, 0xf8, 0xb1, 0x82, 0x46, 0x2e, 0x46, 0x0a, 0xeb, 
+    0x06, 0x00, 0x03, 0x99, 0x58, 0x44, 0xff, 0xf7, 0xe5, 0xfe, 0x01, 0x46, 0x39, 0xf8, 0x05, 
+    0x00, 0x76, 0x1c, 0x20, 0xf4, 0x7f, 0x60, 0x05, 0x2e, 0x40, 0xea, 0x01, 0x10, 0x78, 0x53, 
+    0x05, 0xf1, 0x0c, 0x05, 0xec, 0xd3, 0x06, 0x98, 0x02, 0x2c, 0xc5, 0xb2, 0x02, 0xd1, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x98, 0x0a, 0x28, 0x12, 0xda, 
+    0x0a, 0x2c, 0x00, 0x98, 0x01, 0xd1, 0x0a, 0x28, 0x0d, 0xda, 0x0d, 0x2c, 0x00, 0x98, 0x0c, 
+    0xd1, 0x0a, 0x28, 0x0a, 0xdb, 0x07, 0xe0, 0xc0, 0x00, 0x00, 0x20, 0xc0, 0x11, 0x00, 0x40, 
+    0xd0, 0x40, 0x00, 0x42, 0xa4, 0x20, 0x00, 0x40, 0x6d, 0x1e, 0xed, 0xb2, 0x03, 0x9c, 0x65, 
+    0x4f, 0x05, 0xeb, 0x85, 0x05, 0x26, 0x46, 0xa8, 0x19, 0x03, 0x99, 0x38, 0x18, 0xff, 0xf7, 
+    0xb2, 0xfe, 0x49, 0x46, 0x76, 0x1c, 0x89, 0x1c, 0x05, 0x2e, 0x08, 0x55, 0x04, 0xf1, 0x0c, 
+    0x04, 0xf2, 0xd3, 0x06, 0x98, 0x00, 0xeb, 0x80, 0x00, 0x07, 0x90, 0x03, 0x9d, 0xdf, 0xf8, 
+    0x70, 0xb1, 0xdf, 0xf8, 0x68, 0x81, 0x2f, 0x46, 0x07, 0x9e, 0xdd, 0xf8, 0x0c, 0xa0, 0xf6, 
+    0x19, 0x51, 0x46, 0x08, 0xeb, 0x06, 0x00, 0xff, 0xf7, 0x97, 0xfe, 0xc4, 0xb2, 0x51, 0x46, 
+    0x0b, 0xeb, 0x06, 0x00, 0xff, 0xf7, 0x91, 0xfe, 0x00, 0x99, 0x88, 0x42, 0xdc, 0xbf, 0xa4, 
+    0x1c, 0xe4, 0xb2, 0x48, 0x46, 0x7f, 0x1c, 0x40, 0x1e, 0x05, 0x2f, 0x44, 0x55, 0x05, 0xf1, 
+    0x0c, 0x05, 0xe3, 0xd3, 0x4d, 0x48, 0xdd, 0xf8, 0x0c, 0x90, 0x08, 0x90, 0x4c, 0x48, 0x09, 
+    0x90, 0x4c, 0x48, 0x4e, 0x46, 0xdf, 0xf8, 0x20, 0x81, 0x0a, 0x90, 0x0b, 0x90, 0x07, 0x9c, 
+    0xdd, 0xf8, 0x0c, 0xb0, 0xa4, 0x19, 0x59, 0x46, 0x08, 0xeb, 0x04, 0x00, 0xff, 0xf7, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x6f, 0xfe, 0xc1, 0x10, 0x00, 0xf0, 
+    0x07, 0x00, 0x05, 0x46, 0xa2, 0x46, 0x08, 0x98, 0xcf, 0xb2, 0x59, 0x46, 0x50, 0x44, 0xff, 
+    0xf7, 0x64, 0xfe, 0x00, 0x9a, 0x00, 0xf0, 0x0f, 0x01, 0xbb, 0x46, 0x91, 0x42, 0x19, 0xdc, 
+    0x00, 0x99, 0x06, 0x9c, 0xb1, 0xeb, 0x20, 0x1f, 0x23, 0xdb, 0xbb, 0x46, 0x0c, 0xb3, 0x5f, 
+    0x45, 0x1f, 0xd1, 0x64, 0x1e, 0x04, 0xeb, 0x84, 0x00, 0x03, 0x99, 0x30, 0x18, 0x40, 0x44, 
+    0xff, 0xf7, 0x4d, 0xfe, 0xc0, 0x10, 0xc7, 0xb2, 0xf1, 0xe7, 0x58, 0x13, 0x00, 0x10, 0x68, 
+    0x13, 0x00, 0x10, 0xe7, 0x33, 0x00, 0x00, 0x06, 0x9c, 0x5f, 0x45, 0x0b, 0xd1, 0x64, 0x1c, 
+    0x04, 0xeb, 0x84, 0x00, 0x03, 0x99, 0x30, 0x18, 0x40, 0x44, 0xff, 0xf7, 0x39, 0xfe, 0xc0, 
+    0x10, 0x10, 0x2c, 0xc7, 0xb2, 0xf1, 0xd3, 0x09, 0x98, 0x03, 0x99, 0x50, 0x44, 0xff, 0xf7, 
+    0x30, 0xfe, 0x00, 0x9a, 0x00, 0xf0, 0x0f, 0x01, 0x91, 0x42, 0x08, 0xdc, 0x00, 0x99, 0xb1, 
+    0xeb, 0x20, 0x1f, 0x06, 0xdb, 0xad, 0x1c, 0x03, 0xe0, 0xc0, 0x46, 0x80, 0x13, 0x00, 0x10, 
+    0xad, 0x1e, 0xed, 0xb2, 0x0a, 0x98, 0x48, 0x44, 0x01, 0x88, 0x0b, 0x9a, 0x21, 0xf4, 0xf8, 
+    0x71, 0x41, 0xea, 0x07, 0x11, 0x22, 0xf8, 0x09, 0x10, 0x09, 0xf1, 0x0c, 0x09, 0x81, 0x88, 
+    0x76, 0x1c, 0x05, 0x2e, 0x21, 0xf0, 0x07, 0x01, 0x45, 0xea, 0x01, 0x05, 0x85, 0x80, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x92, 0xd3, 0x02, 0x98, 0x04, 0x99, 
+    0xa0, 0xf5, 0x7a, 0x60, 0x01, 0x80, 0x01, 0x9a, 0x05, 0x99, 0xb2, 0xf8, 0xe6, 0x00, 0xb1, 
+    0xf8, 0xaa, 0x10, 0x0c, 0xb0, 0x20, 0xf0, 0x0f, 0x00, 0x01, 0x43, 0xa2, 0xf8, 0xe6, 0x10, 
+    0xbd, 0xe8, 0xf0, 0x8f, 0x90, 0x13, 0x00, 0x10, 0xa0, 0x13, 0x00, 0x10, 0xb0, 0x13, 0x00, 
+    0x10, 0x50, 0x14, 0x00, 0x10, 0xa0, 0x14, 0x00, 0x10, 0xf0, 0x14, 0x00, 0x10, 0x40, 0x15, 
+    0x00, 0x10, 0x90, 0x15, 0x00, 0x10, 0xe8, 0x15, 0x00, 0x10, 0x38, 0x16, 0x00, 0x10, 0xa0, 
+    0x20, 0x00, 0x40, 0xc3, 0xbc, 0xb5, 0xae, 0xa6, 0x9f, 0x98, 0x91, 0x89, 0x82, 0x7b, 0x74, 
+    0x6c, 0x65, 0x5e, 0x00, 0x10, 0xb5, 0x8a, 0x4a, 0x4f, 0xf0, 0x00, 0x00, 0x01, 0x46, 0x14, 
+    0x46, 0xa4, 0xf1, 0xbe, 0x04, 0x21, 0x80, 0xa0, 0x70, 0x20, 0x71, 0xa0, 0x71, 0xb4, 0xf8, 
+    0x42, 0x30, 0xdb, 0xb2, 0xa4, 0xf8, 0x42, 0x30, 0x81, 0x4b, 0x18, 0x70, 0xa4, 0xf6, 0xf4, 
+    0x33, 0x19, 0x80, 0xa4, 0xf6, 0xf2, 0x33, 0x19, 0x80, 0x11, 0x88, 0xa4, 0xf6, 0xfc, 0x33, 
+    0x21, 0xf0, 0x03, 0x01, 0xa4, 0xf8, 0xbe, 0x10, 0x7b, 0x49, 0x8a, 0x6b, 0x1a, 0x60, 0xca, 
+    0x6b, 0xa4, 0xf6, 0xf8, 0x33, 0x1a, 0x60, 0x91, 0xf8, 0x41, 0x20, 0x78, 0x4b, 0x1a, 0x70, 
+    0x91, 0xf8, 0x40, 0x20, 0x77, 0x4b, 0x84, 0xf8, 0xe1, 0x25, 0x91, 0xf8, 0x42, 0x20, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x84, 0xf8, 0xdd, 0x24, 0x91, 0xf8, 
+    0x43, 0x20, 0x84, 0xf8, 0xdc, 0x24, 0x4a, 0x6c, 0x1a, 0x60, 0x91, 0xf8, 0x48, 0x30, 0x91, 
+    0xf8, 0x49, 0x10, 0x7e, 0x4a, 0x82, 0xf8, 0x7e, 0x10, 0x8f, 0x49, 0x82, 0xf8, 0x7a, 0x30, 
+    0x91, 0xf8, 0x7c, 0x20, 0x3a, 0xb9, 0x01, 0x22, 0x81, 0xf8, 0x7c, 0x20, 0xff, 0xf7, 0xc0, 
+    0xf8, 0x68, 0x49, 0x20, 0x20, 0x08, 0x80, 0x10, 0xbd, 0x2d, 0xe9, 0xfc, 0x4f, 0x4f, 0xf4, 
+    0x91, 0x71, 0xdf, 0xf8, 0xcc, 0xc1, 0x4f, 0xf0, 0x06, 0x0e, 0x4f, 0xf4, 0x92, 0x7b, 0xdf, 
+    0xf8, 0x88, 0xa1, 0x00, 0x91, 0x0c, 0xf5, 0x81, 0x71, 0x01, 0x91, 0x00, 0x22, 0x4f, 0x21, 
+    0x54, 0x46, 0x14, 0xf8, 0x01, 0x3b, 0x93, 0x42, 0xa8, 0xbf, 0x1a, 0x1c, 0x49, 0x1e, 0xf8, 
+    0xd1, 0x00, 0x9b, 0x3c, 0xf8, 0x0b, 0x10, 0x3c, 0xf8, 0x03, 0x30, 0x02, 0xfb, 0x03, 0x11, 
+    0x01, 0xf5, 0x80, 0x71, 0x0c, 0x13, 0x9c, 0xf8, 0xe0, 0x10, 0xa1, 0x42, 0xa8, 0xbf, 0x0c, 
+    0x1c, 0x9c, 0xf8, 0xe1, 0x10, 0xa1, 0x42, 0xb4, 0xbf, 0x1f, 0xfa, 0x84, 0xf8, 0x88, 0x46, 
+    0x05, 0x46, 0x01, 0x99, 0xd1, 0x46, 0x00, 0x23, 0x0a, 0x78, 0x9a, 0x42, 0x12, 0xbf, 0xa6, 
+    0xb2, 0x46, 0x46, 0x49, 0x1c, 0x19, 0xf8, 0x01, 0x7b, 0x00, 0x22, 0xbe, 0x42, 0xd8, 0xbf, 
+    0x01, 0x22, 0x5b, 0x1c, 0x2e, 0x78, 0x02, 0xfa, 0x0e, 0xf2, 0x4f, 0x2b, 0x42, 0xea, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x06, 0x02, 0x05, 0xf8, 0x01, 0x2b, 
+    0xe9, 0xd3, 0xbe, 0xf1, 0x01, 0x0e, 0xaa, 0xf1, 0x50, 0x0a, 0xc0, 0xd5, 0xbd, 0xe8, 0xfc, 
+    0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0x4f, 0xf0, 0x00, 0x09, 0x4b, 0x49, 0xca, 0x46, 0x40, 0x1e, 
+    0xd4, 0x46, 0xc8, 0x46, 0x91, 0xf8, 0xe2, 0xb0, 0x54, 0x46, 0x91, 0xf8, 0xe3, 0x60, 0x62, 
+    0x46, 0x63, 0x46, 0x65, 0x46, 0x10, 0xf8, 0x01, 0x7f, 0x01, 0x2f, 0x2c, 0xd0, 0x40, 0x2f, 
+    0x2a, 0xd0, 0xf9, 0x43, 0x11, 0xf0, 0x1e, 0x0f, 0x0f, 0xd0, 0x11, 0xf0, 0x3c, 0x0f, 0x09, 
+    0xd0, 0x11, 0xf0, 0x0f, 0x0f, 0x06, 0xd0, 0x11, 0xf0, 0x78, 0x0f, 0xce, 0x46, 0x18, 0xbf, 
+    0x4f, 0xf0, 0x01, 0x0e, 0x00, 0xe0, 0xce, 0x46, 0x71, 0x46, 0x00, 0xe0, 0x49, 0x46, 0x5f, 
+    0xfa, 0x81, 0xfe, 0x1f, 0xb1, 0x09, 0x01, 0x49, 0x1c, 0xc9, 0xb2, 0x00, 0xe0, 0x49, 0x46, 
+    0xba, 0xf1, 0x00, 0x0f, 0x4f, 0xf0, 0x01, 0x07, 0x01, 0x70, 0x04, 0xd1, 0x11, 0xb1, 0xbe, 
+    0xf1, 0x00, 0x0f, 0x00, 0xd0, 0x4f, 0x46, 0x01, 0x78, 0xba, 0x46, 0x02, 0xe0, 0x49, 0x46, 
+    0x80, 0xf8, 0x00, 0x90, 0x12, 0xb1, 0x11, 0xb9, 0x03, 0xf1, 0x01, 0x03, 0x49, 0xb1, 0x11, 
+    0x29, 0x02, 0xf1, 0x01, 0x02, 0x08, 0xbf, 0x64, 0x1c, 0x9e, 0x42, 0x02, 0xd9, 0x1c, 0x19, 
+    0x9a, 0x18, 0x4b, 0x46, 0x4f, 0x2d, 0x18, 0xbf, 0x9e, 0x42, 0x10, 0xd1, 0x93, 0x45, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x09, 0xd3, 0x94, 0x42, 0x04, 0xd1, 
+    0x00, 0x2a, 0x14, 0xbf, 0x01, 0x21, 0x61, 0x46, 0x8c, 0x46, 0x5f, 0xfa, 0x8c, 0xfc, 0x01, 
+    0xe0, 0x4f, 0xf0, 0x10, 0x08, 0x4b, 0x46, 0x4c, 0x46, 0x4a, 0x46, 0x6d, 0x1c, 0x50, 0x2d, 
+    0xa4, 0xd3, 0x0c, 0xeb, 0xca, 0x10, 0x40, 0x44, 0xc0, 0xb2, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, 
+    0x46, 0x4c, 0x8c, 0x03, 0x42, 0xd6, 0x1c, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x3f, 
+    0x04, 0x42, 0xf8, 0x20, 0x00, 0x40, 0x1e, 0x24, 0x00, 0x40, 0x20, 0x06, 0x00, 0x20, 0x2d, 
+    0xe9, 0xf0, 0x4f, 0xad, 0xf5, 0x92, 0x7d, 0x0a, 0x4f, 0x63, 0x48, 0x4f, 0xf0, 0x00, 0x05, 
+    0x05, 0x70, 0x97, 0xf8, 0xe7, 0x00, 0x38, 0xb9, 0x87, 0xf8, 0xe6, 0x50, 0x87, 0xf8, 0xe8, 
+    0x50, 0x87, 0xf8, 0xe9, 0x50, 0xa7, 0xf8, 0xea, 0x50, 0x5c, 0x48, 0x00, 0x78, 0x00, 0x28, 
+    0x40, 0xf0, 0xad, 0x80, 0x01, 0xe0, 0x00, 0x02, 0x00, 0x20, 0x59, 0x4e, 0x35, 0x70, 0x02, 
+    0x20, 0xff, 0xf7, 0xa9, 0xfa, 0x58, 0x48, 0x04, 0x46, 0x00, 0x88, 0xa4, 0x1f, 0x20, 0xf0, 
+    0x07, 0x00, 0x40, 0xf0, 0x0b, 0x00, 0xe0, 0x80, 0x01, 0x20, 0x46, 0x90, 0x30, 0x70, 0x08, 
+    0x48, 0x4f, 0xf0, 0x19, 0x0a, 0x4f, 0xf4, 0x00, 0x7b, 0x47, 0x90, 0x50, 0x48, 0x6f, 0xf0, 
+    0xff, 0x38, 0xa9, 0x46, 0x48, 0x90, 0x97, 0xf8, 0xde, 0x20, 0x4a, 0x45, 0x70, 0xd9, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0xe0, 0xc0, 0x46, 0x30, 0x00, 
+    0x00, 0x20, 0x14, 0x21, 0x1e, 0xaa, 0x32, 0xab, 0x49, 0x1e, 0x42, 0xf8, 0x04, 0x8b, 0x43, 
+    0xf8, 0x04, 0x8b, 0xf9, 0xd1, 0x14, 0xab, 0x0a, 0xaa, 0x69, 0x46, 0x03, 0x20, 0xfd, 0xf7, 
+    0xe1, 0xfc, 0xa4, 0xf8, 0x16, 0xb0, 0x26, 0x8a, 0x02, 0x20, 0xa4, 0xf8, 0x10, 0xa0, 0xff, 
+    0xf7, 0x73, 0xfa, 0x48, 0x9b, 0x8c, 0x21, 0x53, 0xf8, 0x04, 0x2b, 0x49, 0x1e, 0x22, 0x60, 
+    0xfa, 0xd1, 0x26, 0x82, 0x08, 0x20, 0xff, 0xf7, 0x86, 0xfa, 0x14, 0xab, 0x0a, 0xaa, 0x69, 
+    0x46, 0x02, 0x20, 0xfd, 0xf7, 0xc8, 0xfc, 0x28, 0x46, 0xfe, 0xf7, 0x7f, 0xff, 0x32, 0xa8, 
+    0xff, 0xf7, 0xc0, 0xfe, 0xa4, 0xf8, 0x16, 0xb0, 0x02, 0x20, 0xa4, 0xf8, 0x10, 0xa0, 0xff, 
+    0xf7, 0x55, 0xfa, 0x8c, 0x21, 0x48, 0x9b, 0x22, 0x68, 0x49, 0x1e, 0x43, 0xf8, 0x04, 0x2b, 
+    0xfa, 0xd1, 0x26, 0x82, 0x1e, 0xa8, 0xff, 0xf7, 0xae, 0xfe, 0x1e, 0xa8, 0xff, 0xf7, 0xfc, 
+    0xfe, 0x87, 0xf8, 0xe4, 0x00, 0x32, 0xa8, 0xff, 0xf7, 0xf7, 0xfe, 0x87, 0xf8, 0xe5, 0x00, 
+    0x97, 0xf8, 0xe5, 0x10, 0x97, 0xf8, 0xe4, 0x20, 0x97, 0xf8, 0xe6, 0x30, 0x09, 0xf1, 0x01, 
+    0x09, 0x11, 0x43, 0x97, 0xf8, 0xe7, 0x20, 0x52, 0x1c, 0x87, 0xf8, 0xe7, 0x20, 0x01, 0xf0, 
+    0x01, 0x02, 0xd2, 0x18, 0x97, 0xf8, 0xe8, 0x30, 0x87, 0xf8, 0xe6, 0x20, 0x0a, 0x11, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0xf0, 0x01, 0x02, 0xd2, 0x18, 
+    0x87, 0xf8, 0xe8, 0x20, 0x97, 0xf8, 0xe9, 0x20, 0x02, 0xeb, 0xe1, 0x12, 0x87, 0xf8, 0xe9, 
+    0x20, 0x4a, 0x09, 0x8a, 0xd2, 0x48, 0x08, 0x0d, 0xd2, 0x97, 0xf8, 0xdf, 0x00, 0x02, 0x28, 
+    0x09, 0xd0, 0x01, 0x28, 0x01, 0xd1, 0x48, 0x09, 0x05, 0xd2, 0x31, 0xf0, 0x7f, 0x01, 0x04, 
+    0xbf, 0x02, 0x20, 0x46, 0x90, 0x04, 0xd0, 0xb7, 0xf8, 0xea, 0x00, 0x40, 0x1c, 0xa7, 0xf8, 
+    0xea, 0x00, 0x46, 0x99, 0x47, 0x98, 0x80, 0xf8, 0x7c, 0x10, 0x07, 0x49, 0x49, 0xb0, 0x20, 
+    0x20, 0x08, 0x80, 0xbd, 0xe8, 0xf0, 0x8f, 0xac, 0x00, 0x00, 0x20, 0xde, 0x08, 0x00, 0x20, 
+    0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0x40, 0x04, 0x00, 0x20, 0x1e, 0x24, 0x00, 
+    0x40, 0x2d, 0xe9, 0xfe, 0x4f, 0x0c, 0xaf, 0xa3, 0x4c, 0x06, 0x46, 0x8c, 0x46, 0x34, 0xf8, 
+    0x02, 0x5c, 0x24, 0x88, 0x39, 0x78, 0x02, 0xfb, 0x05, 0x42, 0x02, 0xf5, 0x80, 0x72, 0x4f, 
+    0xea, 0x22, 0x3b, 0x9d, 0x4a, 0x12, 0x88, 0x5a, 0x45, 0xa8, 0xbf, 0x93, 0x46, 0x9d, 0x4c, 
+    0x9b, 0x4a, 0x5d, 0x00, 0x99, 0x42, 0x2c, 0x44, 0x1a, 0x44, 0x4f, 0xf0, 0x00, 0x0e, 0x3b, 
+    0xdb, 0xdf, 0xf8, 0x64, 0x82, 0xad, 0x19, 0xad, 0x1e, 0xc9, 0x1a, 0x4b, 0x1c, 0xa4, 0x1e, 
+    0x08, 0x26, 0xb2, 0x46, 0x04, 0x21, 0x00, 0x91, 0x03, 0x21, 0x01, 0x91, 0x4f, 0xf0, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0x09, 0xcd, 0xf8, 0x08, 0xe0, 
+    0x34, 0xf8, 0x02, 0x7f, 0x35, 0xf8, 0x02, 0x1f, 0x39, 0x40, 0x8b, 0x45, 0x1c, 0xda, 0x98, 
+    0xf8, 0x50, 0x10, 0x07, 0xfb, 0x01, 0x61, 0xbc, 0xeb, 0x21, 0x1f, 0x13, 0xdc, 0x98, 0xf8, 
+    0x51, 0x10, 0x07, 0xfb, 0x01, 0xa1, 0xbc, 0xeb, 0x21, 0x1f, 0x09, 0xdc, 0x98, 0xf8, 0x52, 
+    0x10, 0x07, 0xfb, 0x01, 0xa1, 0xbc, 0xeb, 0x21, 0x1f, 0xd4, 0xbf, 0x00, 0x99, 0x01, 0x99, 
+    0x03, 0xe0, 0x82, 0xf8, 0x00, 0x90, 0x01, 0xe0, 0x02, 0x99, 0x11, 0x70, 0x12, 0xf8, 0x01, 
+    0x1b, 0x71, 0x45, 0xa8, 0xbf, 0x8e, 0x46, 0x5b, 0x1e, 0xd4, 0xd1, 0x70, 0x46, 0xbd, 0xe8, 
+    0xfe, 0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x70, 0x0d, 0x8c, 0x4c, 0x05, 0x91, 0x01, 
+    0x46, 0x06, 0x91, 0x04, 0xf5, 0x93, 0x71, 0x07, 0x91, 0x94, 0xf8, 0x2b, 0x11, 0x70, 0x4b, 
+    0x00, 0x25, 0x08, 0x91, 0x19, 0x80, 0x70, 0x49, 0xac, 0x46, 0x94, 0xf8, 0x2a, 0x21, 0x09, 
+    0x91, 0x0a, 0x95, 0x0b, 0x95, 0x01, 0x25, 0x0c, 0x95, 0x0d, 0x93, 0x6a, 0x4b, 0x81, 0x4d, 
+    0x0e, 0x93, 0x08, 0x23, 0x0f, 0x93, 0x10, 0x95, 0x69, 0x4d, 0x61, 0x46, 0x02, 0xf0, 0x0f, 
+    0x02, 0x11, 0x95, 0x12, 0x93, 0x13, 0x93, 0x14, 0x94, 0x0b, 0x9b, 0xe2, 0x46, 0x15, 0x94, 
+    0x16, 0x93, 0x0b, 0xe0, 0x52, 0x1e, 0x64, 0x1e, 0x40, 0xf0, 0x42, 0x81, 0x0c, 0x9a, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x52, 0x1c, 0x0c, 0x92, 0x5b, 0x4a, 
+    0x92, 0x1d, 0x12, 0x78, 0x02, 0xf0, 0x0f, 0x02, 0x0c, 0x9b, 0x06, 0x9d, 0x09, 0x9e, 0x9a, 
+    0x42, 0x09, 0x9b, 0x07, 0x9a, 0xc0, 0xf0, 0x3e, 0x81, 0xa0, 0x33, 0x15, 0x88, 0x56, 0x88, 
+    0x0b, 0x9a, 0x02, 0x2a, 0x05, 0xdb, 0x0a, 0x9a, 0x92, 0xb2, 0x08, 0x92, 0x0d, 0x9a, 0x08, 
+    0x9c, 0x14, 0x80, 0xdd, 0xf8, 0x58, 0x80, 0x4f, 0x24, 0xdd, 0xf8, 0x18, 0xe0, 0x99, 0x46, 
+    0x39, 0xf8, 0x02, 0x7b, 0x3e, 0xf8, 0x02, 0x2b, 0x3a, 0x40, 0x42, 0x45, 0xa8, 0xbf, 0x90, 
+    0x46, 0x64, 0x1e, 0x08, 0xfb, 0x05, 0x62, 0xf3, 0xd1, 0x02, 0xf5, 0x00, 0x62, 0x12, 0x13, 
+    0x0a, 0x92, 0x08, 0x9c, 0x94, 0x42, 0x24, 0xbf, 0x22, 0x1c, 0x0a, 0x92, 0x09, 0x9a, 0x9b, 
+    0x1e, 0x17, 0x93, 0x92, 0x1e, 0x18, 0x92, 0x16, 0x9c, 0xdd, 0xf8, 0x18, 0xb0, 0x19, 0x94, 
+    0xa1, 0x46, 0x18, 0x9a, 0x32, 0xf8, 0x02, 0x7f, 0x18, 0x92, 0x17, 0x9b, 0x33, 0xf8, 0x02, 
+    0x5f, 0xaf, 0x42, 0x17, 0x93, 0xb4, 0xbf, 0x2b, 0x1c, 0x3b, 0x1c, 0xbb, 0xf8, 0x00, 0x20, 
+    0x0a, 0x9e, 0x13, 0x40, 0x9e, 0x42, 0x84, 0xbf, 0x0c, 0xf1, 0x01, 0x03, 0x5f, 0xfa, 0x83, 
+    0xfc, 0x03, 0xd8, 0x49, 0x1c, 0xc9, 0xb2, 0xdd, 0xf8, 0x58, 0xc0, 0xba, 0xf1, 0x00, 0x0f, 
+    0x08, 0xbf, 0x01, 0x29, 0x19, 0x9b, 0x03, 0xd0, 0xba, 0xf1, 0x01, 0x0f, 0x09, 0xd0, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xca, 0xe0, 0x5f, 0xfa, 0x83, 0xf9, 
+    0xdd, 0xf8, 0x58, 0xc0, 0x4f, 0xf0, 0x01, 0x0a, 0xcd, 0xf8, 0x68, 0xc0, 0xe0, 0x46, 0x14, 
+    0x9b, 0x03, 0xf5, 0x93, 0x73, 0x07, 0x93, 0x14, 0x9b, 0x93, 0xf8, 0x2a, 0x31, 0x1e, 0x11, 
+    0x14, 0x9b, 0x93, 0xf8, 0x2d, 0xe1, 0x8e, 0x45, 0x03, 0xd1, 0x61, 0x44, 0xc9, 0xb2, 0xdd, 
+    0xf8, 0x58, 0xc0, 0x1a, 0x9b, 0xbb, 0x42, 0xdc, 0xbf, 0x02, 0xea, 0x07, 0x03, 0x1a, 0x93, 
+    0x2a, 0x40, 0x42, 0x45, 0xa8, 0xbf, 0x1f, 0xfa, 0x82, 0xf8, 0x66, 0x45, 0x03, 0xd0, 0x19, 
+    0x9a, 0x4e, 0x2a, 0x40, 0xf0, 0xa0, 0x80, 0x15, 0x9a, 0x8e, 0x45, 0x92, 0xf8, 0x2c, 0x51, 
+    0x19, 0x9a, 0xa2, 0xeb, 0x0c, 0x02, 0xd6, 0xb2, 0x2a, 0xdd, 0x00, 0x29, 0x77, 0xd0, 0x8d, 
+    0xf8, 0x00, 0x60, 0x06, 0x98, 0x05, 0x99, 0x1a, 0x46, 0x4b, 0x46, 0xff, 0xf7, 0xcd, 0xfe, 
+    0x0d, 0x99, 0x1b, 0x90, 0x1a, 0x9a, 0x09, 0x88, 0x08, 0x91, 0x15, 0x99, 0x91, 0xf8, 0x2e, 
+    0x11, 0xb2, 0xeb, 0x01, 0x1f, 0x64, 0xdd, 0x15, 0x99, 0x08, 0x9a, 0x91, 0xf8, 0x32, 0x51, 
+    0x91, 0xf8, 0x30, 0x11, 0x91, 0x42, 0x57, 0xdb, 0x08, 0x91, 0x0d, 0x9a, 0x11, 0x80, 0x53, 
+    0xe0, 0x24, 0x03, 0x00, 0x20, 0x95, 0x33, 0x00, 0x00, 0x38, 0x00, 0x00, 0x20, 0x40, 0x04, 
+    0x00, 0x20, 0xc0, 0x00, 0x00, 0x20, 0x10, 0x9a, 0x12, 0x78, 0x17, 0x01, 0x11, 0x9a, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x92, 0xf8, 0x50, 0x30, 0x12, 0x9a, 
+    0x08, 0xfb, 0x03, 0x23, 0x05, 0x9a, 0xb2, 0xeb, 0x23, 0x1f, 0x1c, 0xdc, 0x11, 0x9a, 0x13, 
+    0x9b, 0x92, 0xf8, 0x51, 0xc0, 0x08, 0xfb, 0x0c, 0x3c, 0x05, 0x9b, 0xb3, 0xeb, 0x2c, 0x1f, 
+    0xc8, 0xbf, 0x02, 0x22, 0x11, 0xdc, 0x92, 0xf8, 0x52, 0x30, 0x0f, 0x9a, 0x08, 0xfb, 0x03, 
+    0x23, 0x05, 0x9a, 0xb2, 0xeb, 0x23, 0x1f, 0xcc, 0xbf, 0x03, 0x22, 0x04, 0x22, 0x05, 0xe0, 
+    0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x2f, 0x03, 0x00, 0x20, 0x16, 0x9a, 0x4e, 0x45, 0x0e, 
+    0x9b, 0x1b, 0x92, 0x09, 0xd3, 0xa6, 0xeb, 0x09, 0x02, 0x52, 0x1c, 0x4b, 0x44, 0xdd, 0xf8, 
+    0x6c, 0xc0, 0x52, 0x1e, 0x03, 0xf8, 0x01, 0xcb, 0xf9, 0xd1, 0x47, 0x45, 0x15, 0x9a, 0x12, 
+    0xda, 0x92, 0xf8, 0x33, 0x51, 0x92, 0xf8, 0x31, 0x21, 0x08, 0x92, 0x0d, 0x9b, 0x1a, 0x80, 
+    0x0b, 0x9a, 0x52, 0x1c, 0xd2, 0xb2, 0x0b, 0x92, 0xb1, 0xeb, 0x4e, 0x0f, 0x04, 0xdb, 0x0b, 
+    0x99, 0x01, 0xf1, 0x01, 0x01, 0xc9, 0xb2, 0x0b, 0x91, 0x1b, 0x99, 0xb9, 0xb1, 0x05, 0x2c, 
+    0x16, 0x99, 0x14, 0xd2, 0xb9, 0xeb, 0x05, 0x02, 0x58, 0xbf, 0x01, 0x21, 0x12, 0xb2, 0x01, 
+    0xfb, 0x02, 0xf1, 0x04, 0xeb, 0x0d, 0x02, 0xad, 0x19, 0x11, 0x71, 0x04, 0xeb, 0x0d, 0x01, 
+    0x4e, 0x2d, 0x01, 0xf1, 0x0c, 0x01, 0xd4, 0xbf, 0xea, 0xb2, 0x4e, 0x22, 0x64, 0x1c, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0a, 0x70, 0x16, 0x99, 0x8a, 0x46, 
+    0x8c, 0x46, 0x19, 0x9a, 0x0b, 0xf1, 0x02, 0x0b, 0x52, 0x1c, 0x4f, 0x2a, 0x19, 0x92, 0xff, 
+    0xf4, 0x08, 0xaf, 0x00, 0x2c, 0x04, 0xeb, 0x0d, 0x02, 0x3f, 0xf4, 0xc2, 0xae, 0x04, 0xeb, 
+    0x0d, 0x03, 0x0b, 0x32, 0x1b, 0x1d, 0x13, 0xf8, 0x01, 0x5d, 0x16, 0x78, 0x16, 0x9f, 0xae, 
+    0x42, 0x06, 0x9e, 0xff, 0xf4, 0xb2, 0xae, 0x26, 0xf8, 0x15, 0x70, 0x6d, 0x1c, 0xf5, 0xe7, 
+    0x4f, 0x23, 0x16, 0x9a, 0x36, 0xf8, 0x02, 0x4b, 0x35, 0xf8, 0x02, 0x1b, 0x21, 0x40, 0x91, 
+    0x42, 0xa8, 0xbf, 0x0a, 0x1c, 0x5b, 0x1e, 0xf5, 0xd1, 0x4e, 0x20, 0x8d, 0xf8, 0x00, 0x00, 
+    0x06, 0x98, 0x05, 0x99, 0x16, 0x9b, 0xff, 0xf7, 0x0f, 0xfe, 0x1c, 0xb0, 0xbd, 0xe8, 0xf0, 
+    0x8f, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xe9, 0xf0, 0x4f, 0x56, 0x4d, 0x8b, 0x46, 0xa5, 0xf2, 
+    0x75, 0x47, 0x55, 0x4c, 0x39, 0x88, 0x01, 0x26, 0x92, 0x46, 0x21, 0xf0, 0x01, 0x01, 0x41, 
+    0xf0, 0x02, 0x01, 0x39, 0x80, 0xa4, 0xf5, 0x96, 0x61, 0x84, 0xf8, 0xe0, 0x60, 0x0e, 0x70, 
+    0x4f, 0xf4, 0x80, 0x51, 0x41, 0xfa, 0x00, 0xf8, 0x58, 0x46, 0x27, 0xf8, 0x08, 0x8c, 0x26, 
+    0x70, 0xff, 0xf7, 0xce, 0xfb, 0x05, 0xf6, 0xbf, 0x75, 0x28, 0x88, 0x20, 0xf4, 0xe0, 0x60, 
+    0x40, 0xf4, 0x00, 0x70, 0x28, 0x80, 0x50, 0x46, 0xff, 0xf7, 0xc3, 0xfb, 0xc8, 0xf1, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x00, 0xd5, 0xf8, 0x40, 0x90, 
+    0x27, 0xf8, 0x08, 0x0c, 0x58, 0x46, 0x26, 0x70, 0xff, 0xf7, 0xb9, 0xfb, 0x28, 0x88, 0x20, 
+    0xf4, 0x40, 0x70, 0x40, 0xf4, 0x80, 0x60, 0x28, 0x80, 0x50, 0x46, 0xff, 0xf7, 0xb0, 0xfb, 
+    0x4f, 0xf0, 0x00, 0x08, 0xd5, 0xf8, 0x40, 0xb0, 0x30, 0x46, 0x27, 0xf8, 0x08, 0x8c, 0x26, 
+    0x70, 0xff, 0xf7, 0xa6, 0xfb, 0xdf, 0xf8, 0xd8, 0xa0, 0x30, 0x46, 0x8a, 0xf8, 0x00, 0x80, 
+    0xff, 0xf7, 0x9f, 0xfb, 0x38, 0x88, 0x20, 0xf0, 0x03, 0x00, 0x38, 0x80, 0x30, 0x46, 0x84, 
+    0xf8, 0xe0, 0x60, 0xff, 0xf7, 0x96, 0xfb, 0xa4, 0xf5, 0x96, 0x64, 0x84, 0xf8, 0x00, 0x80, 
+    0x8a, 0xf8, 0x00, 0x60, 0x28, 0x88, 0xa9, 0xeb, 0x0b, 0x09, 0x20, 0xf4, 0xe0, 0x60, 0x28, 
+    0x80, 0x48, 0x46, 0xbd, 0xe8, 0xf0, 0x8f, 0x10, 0xb5, 0x94, 0x4a, 0x27, 0x4c, 0x92, 0xf8, 
+    0x8a, 0x10, 0x20, 0x78, 0x92, 0xf8, 0x8b, 0x20, 0xff, 0xf7, 0x91, 0xff, 0x21, 0x88, 0x01, 
+    0x22, 0xc1, 0xf1, 0x10, 0x03, 0x9a, 0x40, 0xc1, 0xf1, 0x0a, 0x01, 0x80, 0x18, 0x08, 0x41, 
+    0x10, 0xbd, 0x70, 0xb5, 0xaf, 0x4d, 0x28, 0x88, 0x89, 0x4e, 0x20, 0xf4, 0xc0, 0x40, 0x40, 
+    0xf4, 0x80, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8c, 0x00, 0xff, 0xf7, 0x66, 0xfb, 0x28, 0x88, 
+    0x20, 0xf4, 0xe0, 0x40, 0x40, 0xf4, 0x00, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8d, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xff, 0xf7, 0x5c, 0xfb, 0x2c, 0x6c, 
+    0x28, 0x88, 0x20, 0xf4, 0x80, 0x40, 0x40, 0xf4, 0x40, 0x50, 0x28, 0x80, 0x96, 0xf8, 0x8c, 
+    0x00, 0xff, 0xf7, 0x51, 0xfb, 0x28, 0x88, 0x20, 0xf4, 0x40, 0x50, 0x40, 0xf4, 0x80, 0x40, 
+    0x28, 0x80, 0x96, 0xf8, 0x8d, 0x00, 0xff, 0xf7, 0x47, 0xfb, 0x29, 0x6c, 0x28, 0x88, 0x64, 
+    0x1a, 0x20, 0xf4, 0xe0, 0x40, 0x04, 0xf5, 0x80, 0x74, 0x28, 0x80, 0x60, 0x12, 0x70, 0xbd, 
+    0xc0, 0x46, 0xa1, 0x0c, 0x00, 0x40, 0xc0, 0x04, 0x01, 0x42, 0x4c, 0x8c, 0x03, 0x42, 0x12, 
+    0x03, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x50, 0x0d, 0x8f, 0x48, 0x69, 0x4c, 
+    0x01, 0x25, 0x00, 0x68, 0x00, 0x90, 0x94, 0xf8, 0xc6, 0x00, 0x05, 0x90, 0x8a, 0x48, 0x01, 
+    0x46, 0x0c, 0x31, 0x09, 0x78, 0x07, 0x46, 0x0d, 0x30, 0x06, 0x91, 0x89, 0x49, 0x7f, 0x1e, 
+    0x07, 0x91, 0x09, 0x78, 0x08, 0x91, 0x87, 0x49, 0x0d, 0x70, 0x0d, 0x74, 0xa4, 0xf8, 0x88, 
+    0x50, 0x4d, 0x21, 0x09, 0x91, 0x00, 0x88, 0x00, 0x21, 0x20, 0xf0, 0x07, 0x00, 0x40, 0xf0, 
+    0x08, 0x00, 0xf8, 0x81, 0xb4, 0xf8, 0x12, 0x01, 0x00, 0x01, 0x58, 0x38, 0x78, 0x73, 0x0a, 
+    0x91, 0x40, 0xf2, 0xfa, 0x70, 0xa4, 0xf8, 0xae, 0x00, 0xa4, 0xf8, 0xb0, 0x00, 0x4b, 0xf2, 
+    0x8c, 0x50, 0xa4, 0xf8, 0xb6, 0x00, 0xa4, 0xf8, 0xb8, 0x00, 0x78, 0x48, 0xa4, 0xf8, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xb2, 0x10, 0xa4, 0xf8, 0xb4, 0x10, 
+    0xc5, 0x74, 0x81, 0x74, 0x0b, 0x90, 0x80, 0x7c, 0x02, 0x28, 0x80, 0xf2, 0xce, 0x80, 0x11, 
+    0x20, 0x0c, 0x90, 0x72, 0x48, 0x0d, 0x90, 0x04, 0xf1, 0xae, 0x00, 0x0e, 0x90, 0x0a, 0x98, 
+    0x0f, 0x90, 0x10, 0x90, 0x10, 0x98, 0x00, 0x28, 0x0c, 0xbf, 0x0a, 0x98, 0x0c, 0x98, 0x84, 
+    0xf8, 0xc6, 0x00, 0x04, 0x20, 0x11, 0x90, 0xdd, 0xf8, 0x28, 0x80, 0x01, 0xa8, 0xc3, 0x46, 
+    0x12, 0x90, 0xad, 0xf1, 0x01, 0x00, 0x13, 0x90, 0x13, 0x98, 0x10, 0xf8, 0x01, 0x6f, 0x13, 
+    0x90, 0x0d, 0x99, 0xf0, 0x01, 0x40, 0xf0, 0x02, 0x00, 0x08, 0x80, 0xdd, 0xf8, 0x28, 0x90, 
+    0x48, 0x46, 0xfe, 0xf7, 0x1b, 0xf9, 0x78, 0x5b, 0x20, 0xf0, 0x20, 0x00, 0x40, 0xf0, 0x10, 
+    0x00, 0x78, 0x53, 0x06, 0x20, 0xff, 0xf7, 0xbe, 0xfa, 0x78, 0x5b, 0x20, 0xf0, 0x10, 0x00, 
+    0x40, 0xf0, 0x20, 0x00, 0x78, 0x53, 0x28, 0x46, 0xff, 0xf7, 0xb5, 0xfa, 0x78, 0x5b, 0x20, 
+    0xf0, 0x30, 0x00, 0x71, 0x00, 0x78, 0x53, 0x09, 0x98, 0x01, 0xf6, 0x13, 0x11, 0x04, 0x26, 
+    0x38, 0x5a, 0x00, 0x04, 0xb0, 0xfb, 0xf1, 0xf0, 0x83, 0x44, 0xff, 0xf7, 0x1e, 0xff, 0x09, 
+    0xeb, 0x00, 0x01, 0x76, 0x1e, 0x89, 0x46, 0xf8, 0xd1, 0x4f, 0xf0, 0x04, 0x0a, 0x0a, 0x9e, 
+    0xff, 0xf7, 0x28, 0xff, 0xba, 0xf1, 0x01, 0x0a, 0x06, 0x44, 0xf9, 0xd1, 0x12, 0x99, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x4f, 0xea, 0x99, 0x00, 0x41, 0xf8, 
+    0x04, 0x0b, 0x12, 0x91, 0xff, 0xf7, 0xd3, 0xfc, 0x08, 0xeb, 0x96, 0x08, 0x11, 0x99, 0x49, 
+    0x1e, 0x11, 0x91, 0xb3, 0xd1, 0x10, 0x98, 0x4f, 0xea, 0x98, 0x08, 0x4f, 0xea, 0x9b, 0x0b, 
+    0x40, 0xbb, 0xb4, 0xf9, 0x90, 0x00, 0x02, 0x99, 0x48, 0x43, 0xb4, 0xf9, 0x8e, 0x20, 0x01, 
+    0x9b, 0x03, 0xfb, 0x02, 0x00, 0xb4, 0xf9, 0x92, 0x20, 0x03, 0x9e, 0x06, 0xfb, 0x02, 0x00, 
+    0xb4, 0xf9, 0x94, 0x20, 0xdd, 0xf8, 0x10, 0xc0, 0x0c, 0xfb, 0x02, 0x00, 0xc0, 0x09, 0xb4, 
+    0xf9, 0x98, 0x20, 0x51, 0x43, 0xb4, 0xf9, 0x96, 0x20, 0x03, 0xfb, 0x02, 0x11, 0xb4, 0xf9, 
+    0x9a, 0x20, 0x06, 0xfb, 0x02, 0x11, 0xb4, 0xf9, 0x9c, 0x20, 0x0c, 0xfb, 0x02, 0x11, 0x8a, 
+    0x0a, 0x0b, 0xe0, 0xc0, 0x46, 0x00, 0x02, 0x00, 0x20, 0x01, 0x99, 0x02, 0x98, 0x40, 0x18, 
+    0x03, 0x99, 0x09, 0x18, 0x04, 0x98, 0x40, 0x18, 0x82, 0x08, 0x0a, 0x98, 0xdd, 0xf8, 0x38, 
+    0x90, 0xa9, 0xf8, 0x00, 0x80, 0x0b, 0x99, 0x0f, 0x9e, 0x89, 0x7c, 0x06, 0xeb, 0x81, 0x01, 
+    0x61, 0x18, 0xa1, 0xf8, 0xa6, 0xb0, 0x81, 0xb2, 0xa9, 0xf8, 0x08, 0x20, 0xa9, 0xf8, 0x04, 
+    0x00, 0x92, 0xb2, 0x15, 0x20, 0xff, 0xf7, 0x84, 0xfa, 0x1f, 0xfa, 0x8b, 0xf2, 0x1f, 0xfa, 
+    0x88, 0xf1, 0x16, 0x20, 0xff, 0xf7, 0x7d, 0xfa, 0xb6, 0x1c, 0x0f, 0x96, 0x09, 0xf1, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x02, 0x03, 0x0e, 0x93, 0x10, 0x98, 
+    0x40, 0x1c, 0x02, 0x28, 0x10, 0x90, 0xff, 0xf4, 0x44, 0xaf, 0x0b, 0x99, 0x88, 0x7c, 0x40, 
+    0x1c, 0x88, 0x74, 0x88, 0x7c, 0x02, 0x28, 0xff, 0xf6, 0x36, 0xaf, 0x0a, 0x99, 0x0b, 0x98, 
+    0xc1, 0x74, 0x05, 0x98, 0x84, 0xf8, 0xc6, 0x00, 0x06, 0x98, 0x78, 0x73, 0x08, 0x9a, 0x07, 
+    0x98, 0x14, 0xb0, 0x02, 0x70, 0xa4, 0xf8, 0x88, 0x10, 0xbd, 0xe8, 0xf0, 0x8f, 0x60, 0x1c, 
+    0x00, 0x40, 0x78, 0x33, 0x00, 0x00, 0x04, 0x08, 0x00, 0x40, 0x80, 0x00, 0x01, 0x42, 0xd0, 
+    0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x2c, 0x37, 0x40, 0x4a, 0x2d, 0xe9, 0xf0, 0x41, 
+    0x55, 0x4c, 0x4f, 0xf0, 0x01, 0x08, 0x20, 0x46, 0x0b, 0x38, 0x80, 0xf8, 0x00, 0x80, 0x0a, 
+    0x20, 0xff, 0xf7, 0xe0, 0xfb, 0x20, 0x46, 0x08, 0x30, 0x26, 0x46, 0x01, 0x88, 0x20, 0x46, 
+    0x00, 0x24, 0x01, 0x80, 0x25, 0x46, 0x0a, 0x30, 0x00, 0x88, 0x0c, 0x3e, 0x10, 0x27, 0xf0, 
+    0x81, 0x86, 0xf8, 0x00, 0x80, 0x08, 0x20, 0xff, 0xf7, 0xce, 0xfb, 0x31, 0x8b, 0x7f, 0x1e, 
+    0x0c, 0x44, 0x71, 0x8b, 0x0d, 0x44, 0xf4, 0xd1, 0x28, 0x09, 0x80, 0xb2, 0x00, 0xeb, 0x40, 
+    0x00, 0x21, 0x09, 0x89, 0xb2, 0x09, 0x02, 0x91, 0xfb, 0xf0, 0xf0, 0x80, 0xb2, 0xbd, 0xe8, 
+    0xf0, 0x81, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, 0x0d, 0x80, 0x46, 0xaf, 0x48, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x68, 0x00, 0x90, 0xae, 0x48, 
+    0x00, 0x88, 0x8b, 0x46, 0xad, 0xf8, 0x04, 0x00, 0x0b, 0xeb, 0x0d, 0x00, 0x00, 0x79, 0x3d, 
+    0xf8, 0x1b, 0xa0, 0x04, 0x25, 0x02, 0x90, 0xa9, 0x48, 0x4f, 0xf0, 0x00, 0x09, 0x10, 0x24, 
+    0x03, 0x90, 0x01, 0x20, 0x04, 0x90, 0xbb, 0xf1, 0x01, 0x0f, 0x03, 0x9a, 0x04, 0xd0, 0x03, 
+    0x98, 0x60, 0x38, 0x00, 0xf8, 0x38, 0x40, 0x16, 0xe0, 0x41, 0x46, 0xc8, 0x00, 0x00, 0xeb, 
+    0x81, 0x00, 0x12, 0x18, 0x00, 0x20, 0x03, 0x46, 0x07, 0x26, 0x04, 0x99, 0x99, 0x40, 0x0c, 
+    0x42, 0x18, 0xbf, 0x30, 0x44, 0x5b, 0x1c, 0xf1, 0x00, 0x80, 0xb2, 0x05, 0x2b, 0x8e, 0xb2, 
+    0xf4, 0xd3, 0x90, 0x80, 0xa4, 0xf1, 0x40, 0x00, 0x50, 0x70, 0xff, 0xf7, 0x93, 0xff, 0x06, 
+    0x46, 0xba, 0xeb, 0x06, 0x07, 0x54, 0xbf, 0x04, 0x9a, 0x4f, 0xf0, 0xff, 0x32, 0xb6, 0xeb, 
+    0x0a, 0x06, 0x54, 0xbf, 0x30, 0x1c, 0x38, 0x1c, 0x02, 0x99, 0x81, 0x42, 0x25, 0xda, 0xb9, 
+    0xf1, 0x00, 0x0f, 0x28, 0xb2, 0x06, 0xd0, 0x91, 0x45, 0x07, 0xd0, 0x05, 0xeb, 0xd5, 0x75, 
+    0x68, 0x10, 0x45, 0x42, 0x02, 0xe0, 0x00, 0xfb, 0x02, 0xf0, 0x45, 0xb2, 0x28, 0x19, 0x84, 
+    0xb2, 0x20, 0x2c, 0x91, 0x46, 0x02, 0xda, 0x1f, 0x2c, 0x01, 0xd0, 0x02, 0xe0, 0x1f, 0x24, 
+    0x01, 0x2a, 0x07, 0xd0, 0x00, 0x2c, 0x08, 0xbf, 0xb2, 0xf1, 0xff, 0x3f, 0x02, 0xd0, 
+
+#if 0
+#if defined(__GNUC__) && (__MSP430X__ > 0)
+};
+__attribute__((section (".fartext")))
+const uint8_t cc256x_init_script_2[] = {
+
+#endif
+#endif
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x2d, 0xae, 0xd1, 0x04, 0xe0, 
+    0x92, 0xb2, 0x21, 0x46, 0x0e, 0x20, 0xff, 0xf7, 0x92, 0xfb, 0x00, 0x2e, 0x48, 0xbf, 0x3e, 
+    0x1c, 0x41, 0x46, 0x1d, 0x20, 0xb2, 0xb2, 0xff, 0xf7, 0x8a, 0xfb, 0x05, 0xb0, 0xbd, 0xe8, 
+    0xf0, 0x8f, 0xc0, 0x46, 0x24, 0x10, 0x00, 0x40, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, 
+    0x0d, 0xdf, 0xf8, 0xc4, 0x91, 0xdf, 0xf8, 0xc4, 0xa1, 0x4c, 0x46, 0x9a, 0xf8, 0x00, 0x00, 
+    0xdf, 0xf8, 0xc8, 0x81, 0x4e, 0x34, 0x00, 0x90, 0x20, 0x88, 0x46, 0x46, 0xb6, 0x1e, 0x01, 
+    0x90, 0x30, 0x68, 0x02, 0x90, 0x70, 0x68, 0x03, 0x90, 0x6a, 0x48, 0x4f, 0xf4, 0xa0, 0x71, 
+    0x01, 0x25, 0x41, 0x80, 0x85, 0x80, 0x00, 0x20, 0xfd, 0xf7, 0xbc, 0xf8, 0x0a, 0x20, 0xff, 
+    0xf7, 0x19, 0xfb, 0x65, 0x48, 0x00, 0x27, 0x07, 0x70, 0x80, 0xf8, 0x20, 0x70, 0x64, 0x20, 
+    0xb0, 0x70, 0x40, 0x46, 0x01, 0x88, 0x21, 0xf4, 0x00, 0x61, 0x41, 0xf4, 0xe0, 0x61, 0x01, 
+    0x80, 0x00, 0x88, 0xdf, 0xf8, 0x7c, 0xb1, 0x10, 0x23, 0x20, 0xf4, 0x40, 0x50, 0x70, 0x80, 
+    0xab, 0xf5, 0x1f, 0x70, 0x07, 0x70, 0x3e, 0x20, 0x04, 0x90, 0x30, 0x71, 0x2f, 0x20, 0x73, 
+    0x71, 0xb0, 0x71, 0x2c, 0x20, 0xf0, 0x71, 0x58, 0x48, 0x07, 0x70, 0x48, 0x46, 0x82, 0x38, 
+    0x8a, 0xf8, 0x00, 0x50, 0x01, 0x88, 0x21, 0xf0, 0x07, 0x01, 0x01, 0x80, 0x81, 0x8a, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xdf, 0xf8, 0x4c, 0x81, 0x1c, 0x22, 
+    0x21, 0xf0, 0x06, 0x01, 0x24, 0xf8, 0xbc, 0x1c, 0xa4, 0xf6, 0x78, 0x71, 0x88, 0xf8, 0x04, 
+    0x50, 0x0a, 0x70, 0x8b, 0xf8, 0x00, 0x50, 0x88, 0xf8, 0x00, 0x50, 0xc1, 0x8a, 0x4c, 0x46, 
+    0x21, 0xf0, 0x03, 0x01, 0xc1, 0x82, 0xc1, 0x8a, 0x6c, 0x3c, 0x4f, 0xf0, 0x22, 0x09, 0x41, 
+    0xf0, 0x0c, 0x01, 0x21, 0x80, 0x30, 0x21, 0x84, 0xf8, 0xc0, 0x71, 0x84, 0xf8, 0xc1, 0x91, 
+    0x86, 0xf8, 0x63, 0x11, 0x86, 0xf8, 0x62, 0x31, 0xb0, 0xf8, 0xd0, 0x10, 0x41, 0xf0, 0x70, 
+    0x01, 0xa0, 0xf8, 0xd0, 0x10, 0xb0, 0xf8, 0xd0, 0x10, 0x21, 0xf4, 0x80, 0x61, 0x41, 0xf4, 
+    0x40, 0x71, 0xa0, 0xf8, 0xd0, 0x10, 0x29, 0x46, 0x03, 0x20, 0x84, 0xf8, 0x44, 0x70, 0xff, 
+    0xf7, 0xf9, 0xfe, 0xb4, 0xf8, 0x94, 0x50, 0x04, 0x23, 0x36, 0x48, 0x0c, 0x21, 0x94, 0xf8, 
+    0x91, 0xc0, 0x42, 0x18, 0x15, 0x80, 0x5b, 0x1e, 0x02, 0xf8, 0x03, 0xcc, 0x01, 0xf1, 0x0c, 
+    0x01, 0xf7, 0xd1, 0x88, 0xf8, 0x00, 0x70, 0x20, 0x88, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, 
+    0x20, 0x88, 0x20, 0xf0, 0x0c, 0x00, 0x20, 0x80, 0x84, 0xf8, 0xc0, 0x91, 0x84, 0xf8, 0xc1, 
+    0x71, 0x04, 0x98, 0x3d, 0x46, 0x86, 0xf8, 0x63, 0x01, 0x86, 0xf8, 0x62, 0x71, 0xb4, 0xf8, 
+    0xba, 0x00, 0x20, 0xf0, 0x70, 0x00, 0x40, 0xea, 0x05, 0x10, 0xa4, 0xf8, 0xba, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x35, 0xb1, 0x02, 0x2d, 0xcc, 0xbf, 
+    0x4f, 0xf4, 0x80, 0x70, 0x4f, 0xf4, 0x00, 0x70, 0x01, 0xe0, 0x4f, 0xf4, 0x40, 0x70, 0xb4, 
+    0xf8, 0xba, 0x10, 0x21, 0xf4, 0xe0, 0x61, 0x08, 0x43, 0xa4, 0xf8, 0xba, 0x00, 0x39, 0x46, 
+    0xe8, 0xb2, 0xff, 0xf7, 0xb9, 0xfe, 0x6d, 0x1c, 0x08, 0x2d, 0xdf, 0xdb, 0x38, 0x46, 0xfe, 
+    0xf7, 0x8f, 0xff, 0x84, 0xf8, 0xc0, 0x71, 0x84, 0xf8, 0xc1, 0x71, 0x88, 0xf8, 0x00, 0x70, 
+    0x88, 0xf8, 0x04, 0x70, 0x8b, 0xf8, 0x00, 0x70, 0x00, 0x98, 0x8a, 0xf8, 0x00, 0x00, 0x01, 
+    0x98, 0xa4, 0xf8, 0xba, 0x00, 0x02, 0x98, 0x30, 0x60, 0x03, 0x98, 0x05, 0xb0, 0x70, 0x60, 
+    0xbd, 0xe8, 0xf0, 0x8f, 0x00, 0x33, 0x00, 0x00, 0x04, 0x33, 0x00, 0x00, 0xa6, 0x20, 0x00, 
+    0x40, 0x00, 0x3f, 0x04, 0x42, 0x00, 0x00, 0x00, 0x20, 0x80, 0x03, 0x02, 0x42, 0x1e, 0x10, 
+    0x00, 0x40, 0x00, 0x2f, 0x02, 0x42, 0xf9, 0x21, 0x00, 0x40, 0x00, 0x13, 0x04, 0x42, 0xaa, 
+    0x20, 0x00, 0x40, 0x7c, 0x01, 0x0e, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x94, 0x9c, 0xa3, 0xaa, 
+    0xb1, 0xb9, 0xc0, 0xc7, 0x8d, 0x86, 0x7e, 0x77, 0x70, 0x69, 0x61, 0x5a, 0x81, 0x7c, 0x67, 
+    0x7c, 0x90, 0x7c, 0x0f, 0x7d, 0xb8, 0x7d, 0xbe, 0x7e, 0x00, 0x80, 0x73, 0x81, 0x4e, 0x83, 
+    0x54, 0x85, 0xa4, 0x87, 0x43, 0x8a, 0xf7, 0xe6, 0xd5, 0xc4, 0xb3, 0xa2, 0x91, 0x80, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x78, 0x69, 0x5a, 0x4b, 0x3c, 0x2d, 
+    0x1e, 0x0f, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+    0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+    0x44, 0x44, 0x44, 0x44, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 
+    0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 
+    0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, 
+    0x11, 0x01, 0x01, 0x01, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, 0x11, 0x01, 0x01, 0x01, 0x11, 
+    0x11, 0x01, 0x01, 0x01, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, 
+    0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x22, 0x22, 0x02, 0x02, 0x02, 0x44, 
+    0x44, 0x04, 0x04, 0x04, 0x44, 0x44, 0x04, 0x04, 0x04, 0x44, 0x44, 0x04, 0x04, 0x04, 0x88, 
+    0x88, 0x08, 0x08, 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x88, 0x88, 0x08, 0x08, 0x08, 0x01, 
+    0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x01, 
+    0x01, 0x11, 0x11, 0x11, 0x01, 0x01, 0x11, 0x11, 0x11, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, 
+    0x02, 0x22, 0x22, 0x22, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, 0x02, 0x22, 0x22, 0x22, 0x02, 
+    0x02, 0x22, 0x22, 0x22, 0x04, 0x04, 0x44, 0x44, 0x44, 0x04, 0x04, 0x44, 0x44, 0x44, 0x04, 
+    0x04, 0x44, 0x44, 0x44, 0x08, 0x08, 0x88, 0x88, 0x88, 0x08, 0x08, 0x88, 0x88, 0x88, 0x08, 
+    0x08, 0x88, 0x88, 0x88, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1a, 
+    0x1a, 0x1a, 0x1a, 0x1a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x16, 0x16, 0x16, 0x16, 0x16, 0x14, 
+    0x14, 0x14, 0x14, 0x14, 0x12, 0x12, 0x12, 0x12, 0x12, 0x10, 0x10, 0x10, 0x10, 0x10, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0c, 
+    0x0c, 0x0c, 0x0c, 0x0c, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 
+    0x06, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 
+    0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 
+    0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 
+    0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 
+    0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 
+    0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0x84, 
+    0x84, 0x84, 0x1c, 0x1c, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0x84, 0x84, 0x84, 0x1c, 0x1c, 0xc4, 
+    0xc4, 0xc4, 0x9c, 0x9c, 0xc4, 0xc4, 0xc4, 0x9c, 0x9c, 0xa4, 0xa4, 0xa4, 0x5c, 0x5c, 0xa4, 
+    0xa4, 0xa4, 0x5c, 0x5c, 0xe4, 0xe4, 0xe4, 0xdc, 0xdc, 0xe4, 0xe4, 0xe4, 0xdc, 0xdc, 0xe4, 
+    0xe4, 0xe4, 0xdc, 0xdc, 0x94, 0x94, 0x94, 0x3c, 0x3c, 0x94, 0x94, 0x94, 0x3c, 0x3c, 0xd4, 
+    0xd4, 0xd4, 0xbc, 0xbc, 0xd4, 0xd4, 0xd4, 0xbc, 0xbc, 0xb4, 0xb4, 0xb4, 0x7c, 0x7c, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xc0, 
+    0x46, 0xc0, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0x70, 0x47, 0x2d, 
+    0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x18, 0x0d, 0x06, 0x46, 0x02, 0x2e, 0x06, 0xeb, 0xc1, 0x09, 
+    0x4f, 0xf0, 0x00, 0x01, 0x15, 0x46, 0xb8, 0xbf, 0x01, 0x21, 0xa7, 0x48, 0x00, 0x2d, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x00, 0x90, 0x10, 0xf8, 0x09, 0x00, 
+    0x20, 0xfa, 0x01, 0xf0, 0x44, 0xb2, 0x6c, 0xd0, 0x00, 0x20, 0x01, 0x90, 0xdf, 0xf8, 0x8c, 
+    0xa2, 0x01, 0x27, 0x70, 0x08, 0x2c, 0xbf, 0x02, 0x20, 0x01, 0x98, 0xa0, 0x49, 0x47, 0xf6, 
+    0xff, 0x7b, 0x09, 0x18, 0x02, 0x91, 0x00, 0x98, 0xdd, 0xf8, 0x04, 0x80, 0x03, 0x90, 0x9d, 
+    0x48, 0x04, 0x90, 0x02, 0x2e, 0xba, 0xbf, 0x60, 0x00, 0xc0, 0xb2, 0xe0, 0xb2, 0x03, 0x99, 
+    0x01, 0xf8, 0x09, 0x00, 0x01, 0x98, 0x8a, 0xf8, 0x00, 0x00, 0x05, 0x20, 0x8a, 0xf8, 0x00, 
+    0x70, 0xff, 0xf7, 0xb1, 0xfb, 0x04, 0x98, 0x07, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xac, 0xfb, 
+    0x02, 0x98, 0x00, 0x88, 0xc0, 0x00, 0x01, 0xb2, 0x08, 0x46, 0x00, 0x28, 0xb8, 0xbf, 0x40, 
+    0x42, 0x83, 0x45, 0x03, 0xdd, 0x0f, 0xfa, 0x80, 0xfb, 0xe0, 0xb2, 0x05, 0x90, 0x00, 0x29, 
+    0x4c, 0xbf, 0x4f, 0xf0, 0xff, 0x30, 0x38, 0x1c, 0xb8, 0xf1, 0x00, 0x0f, 0x05, 0xd1, 0xb0, 
+    0xf1, 0xff, 0x3f, 0x04, 0xbf, 0x69, 0x42, 0x4d, 0xb2, 0x05, 0xe0, 0x80, 0x45, 0x03, 0xd0, 
+    0x05, 0xeb, 0xd5, 0x75, 0x69, 0x10, 0x4d, 0x42, 0x02, 0x2e, 0x0a, 0xdb, 0x1f, 0x2c, 0x08, 
+    0xbf, 0xb0, 0xf1, 0xff, 0x3f, 0x1a, 0xd0, 0x00, 0x2c, 0x08, 0xbf, 0x01, 0x28, 0x16, 0xd0, 
+    0x64, 0x1b, 0x09, 0xe0, 0x1f, 0x2c, 0x08, 0xbf, 0x01, 0x28, 0x10, 0xd0, 0x00, 0x2c, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x08, 0xbf, 0xb0, 0xf1, 0xff, 0x3f, 
+    0x2c, 0x44, 0x0a, 0xd0, 0x64, 0xb2, 0x20, 0x2c, 0x03, 0xda, 0x00, 0x2c, 0x48, 0xbf, 0x01, 
+    0x9c, 0x00, 0xe0, 0x1f, 0x24, 0x00, 0x2d, 0x80, 0x46, 0xa6, 0xd1, 0x02, 0x2e, 0xa8, 0xbf, 
+    0x05, 0x98, 0x02, 0xda, 0x05, 0x98, 0x40, 0x00, 0xc0, 0xb2, 0x00, 0x99, 0x06, 0xb0, 0x01, 
+    0xf8, 0x09, 0x00, 0xbd, 0xe8, 0xf0, 0x8f, 0x70, 0xb5, 0x05, 0x46, 0x69, 0x48, 0x01, 0x26, 
+    0x69, 0x4c, 0x05, 0x70, 0x63, 0x48, 0x20, 0x21, 0x08, 0x22, 0x00, 0xeb, 0xc5, 0x00, 0x26, 
+    0x70, 0x01, 0x70, 0x41, 0x70, 0x10, 0x21, 0x81, 0x70, 0xc1, 0x70, 0x29, 0x46, 0x02, 0x20, 
+    0xff, 0xf7, 0x5b, 0xff, 0x08, 0x22, 0x29, 0x46, 0x03, 0x20, 0xff, 0xf7, 0x56, 0xff, 0x00, 
+    0x20, 0x08, 0x22, 0x29, 0x46, 0x20, 0x70, 0xff, 0xf7, 0x50, 0xff, 0x08, 0x22, 0x29, 0x46, 
+    0x30, 0x46, 0xff, 0xf7, 0x4b, 0xff, 0x32, 0x46, 0x29, 0x46, 0x02, 0x20, 0xff, 0xf7, 0x46, 
+    0xff, 0x32, 0x46, 0x29, 0x46, 0x03, 0x20, 0xff, 0xf7, 0x41, 0xff, 0x70, 0xbd, 0x2d, 0xe9, 
+    0xf0, 0x4f, 0xad, 0xf1, 0x18, 0x0d, 0x3b, 0x20, 0x00, 0x27, 0x8d, 0xf8, 0x00, 0x00, 0x31, 
+    0x20, 0x4f, 0x49, 0x8d, 0xf8, 0x01, 0x00, 0x8d, 0xf8, 0x05, 0x70, 0x44, 0x20, 0x8d, 0xf8, 
+    0x02, 0x00, 0x4e, 0x20, 0x8d, 0xf8, 0x03, 0x00, 0x28, 0x20, 0x8d, 0xf8, 0x04, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x49, 0x48, 0x81, 0xf8, 0x7d, 0x70, 
+    0xb9, 0x46, 0x02, 0x90, 0x00, 0x78, 0xad, 0xf1, 0x01, 0x04, 0x01, 0x26, 0x03, 0x90, 0x45, 
+    0x48, 0xdf, 0xf8, 0x18, 0xb1, 0x4f, 0xf0, 0x05, 0x0a, 0xb0, 0xf8, 0x52, 0x20, 0x44, 0x4d, 
+    0x80, 0x46, 0x04, 0x92, 0x4f, 0xf4, 0xc8, 0x62, 0x02, 0x81, 0x4f, 0xf6, 0xba, 0x72, 0xa0, 
+    0xf8, 0x52, 0x20, 0x05, 0x91, 0x14, 0xf8, 0x01, 0x0f, 0x80, 0x01, 0xae, 0x80, 0xa0, 0xf5, 
+    0x20, 0x60, 0x68, 0x80, 0x38, 0x46, 0xfd, 0xf7, 0x8e, 0xf8, 0x38, 0x46, 0xff, 0xf7, 0x0b, 
+    0xf8, 0x9b, 0xf8, 0x33, 0x00, 0x28, 0xb1, 0xba, 0xf1, 0x01, 0x0a, 0x09, 0xf1, 0x01, 0x09, 
+    0xea, 0xd1, 0x64, 0x1c, 0xa8, 0xf8, 0x08, 0x70, 0x04, 0x98, 0xb9, 0xf1, 0x05, 0x0f, 0xa8, 
+    0xf8, 0x52, 0x00, 0x3f, 0xd0, 0x20, 0x78, 0x80, 0x01, 0x68, 0x80, 0x38, 0x46, 0xfd, 0xf7, 
+    0x74, 0xf8, 0x05, 0x98, 0x22, 0x78, 0x90, 0xf8, 0x7d, 0x10, 0x19, 0x20, 0xff, 0xf7, 0x15, 
+    0xfb, 0x2a, 0x4c, 0x20, 0x88, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, 0x20, 0x88, 0x40, 0xf0, 
+    0x0c, 0x00, 0x20, 0x80, 0x02, 0x98, 0x06, 0x70, 0x98, 0xf8, 0xd4, 0x00, 0x04, 0xf1, 0xba, 
+    0x05, 0x00, 0x11, 0x2e, 0x88, 0x40, 0xf0, 0x10, 0x00, 0x84, 0xf8, 0xbb, 0x00, 0x98, 0xf8, 
+    0xd4, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x84, 0xf8, 0xba, 0x00, 0x38, 0x46, 0xff, 0xf7, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x54, 0xff, 0x68, 0x68, 0xcb, 0xf8, 
+    0x04, 0x00, 0xa4, 0xf8, 0xba, 0x60, 0x3c, 0x46, 0x20, 0x46, 0xff, 0xf7, 0x4b, 0xff, 0x64, 
+    0x1c, 0x20, 0x2c, 0x03, 0x99, 0xf8, 0xd3, 0x02, 0x98, 0x01, 0x70, 0x0d, 0x48, 0x07, 0x70, 
+    0x38, 0x46, 0xfe, 0xf7, 0xbb, 0xff, 0x08, 0xe0, 0x05, 0x98, 0x80, 0xf8, 0x7d, 0x60, 0x31, 
+    0x46, 0x9d, 0xf8, 0x05, 0x20, 0x19, 0x20, 0xff, 0xf7, 0xd9, 0xfa, 0x06, 0xb0, 0xbd, 0xe8, 
+    0xf0, 0x8f, 0xf8, 0x20, 0x00, 0x40, 0x84, 0x2c, 0x02, 0x42, 0x14, 0x10, 0x00, 0x40, 0x00, 
+    0x02, 0x02, 0x42, 0xf9, 0x21, 0x00, 0x40, 0x00, 0x13, 0x04, 0x42, 0x30, 0x00, 0x00, 0x20, 
+    0x00, 0x3f, 0x04, 0x42, 0x00, 0x02, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 
+    0x20, 0x3a, 0x20, 0x00, 0x40, 0x10, 0xb5, 0xab, 0x48, 0x01, 0x68, 0x4f, 0xf4, 0x80, 0x74, 
+    0x09, 0x03, 0x0a, 0x46, 0x03, 0x68, 0x1b, 0x03, 0x93, 0x42, 0xa8, 0xbf, 0x1a, 0x1c, 0x8b, 
+    0x42, 0xd8, 0xbf, 0x19, 0x1c, 0x64, 0x1e, 0xf5, 0xd1, 0x52, 0x1a, 0xa3, 0x4b, 0x00, 0x20, 
+    0x02, 0xeb, 0x82, 0x02, 0x18, 0x70, 0x10, 0x14, 0x10, 0xbd, 0xf0, 0xb5, 0x00, 0x20, 0xfe, 
+    0xf7, 0x23, 0xfa, 0x06, 0x21, 0x02, 0x20, 0xfe, 0xf7, 0x01, 0xff, 0x9d, 0x4d, 0x28, 0x78, 
+    0xc0, 0x43, 0x28, 0x70, 0x0a, 0x20, 0xff, 0xf7, 0xc4, 0xfb, 0x01, 0x24, 0x02, 0x20, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x2c, 0x73, 0xff, 0xf7, 0xbf, 0xfb, 
+    0x98, 0x48, 0x01, 0x88, 0x41, 0xf4, 0xe0, 0x61, 0x01, 0x80, 0x96, 0x48, 0x04, 0x70, 0x04, 
+    0x74, 0x97, 0x48, 0x40, 0xf2, 0xff, 0x31, 0x06, 0x46, 0x0a, 0x3e, 0x31, 0x80, 0x93, 0x49, 
+    0x04, 0x25, 0x09, 0x88, 0x4f, 0xf0, 0x40, 0x17, 0x00, 0x22, 0x41, 0xea, 0x01, 0x41, 0x83, 
+    0x18, 0x1f, 0x60, 0x6d, 0x1e, 0x19, 0x61, 0x02, 0xf1, 0x04, 0x02, 0xf8, 0xd1, 0x1f, 0x20, 
+    0x70, 0x72, 0x0f, 0x20, 0x30, 0x72, 0xf4, 0x71, 0x85, 0x48, 0x00, 0x21, 0x01, 0x74, 0x04, 
+    0x70, 0x05, 0x20, 0xff, 0xf7, 0x96, 0xfb, 0xf0, 0xbd, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 
+    0x24, 0x0d, 0x00, 0x20, 0x31, 0x21, 0x02, 0x90, 0x8d, 0xf8, 0x00, 0x00, 0xdf, 0xf8, 0x08, 
+    0x92, 0x8d, 0xf8, 0x01, 0x10, 0x3b, 0x21, 0x8d, 0xf8, 0x02, 0x10, 0x1d, 0x21, 0x8d, 0xf8, 
+    0x03, 0x10, 0x27, 0x21, 0x8d, 0xf8, 0x04, 0x10, 0x11, 0x21, 0x8d, 0xf8, 0x05, 0x00, 0x89, 
+    0xf8, 0xc6, 0x10, 0x7a, 0x49, 0x72, 0x4e, 0x08, 0x70, 0x31, 0x46, 0x08, 0x39, 0x08, 0x88, 
+    0x79, 0x4b, 0x78, 0x4a, 0x20, 0xf4, 0x80, 0x70, 0x40, 0xf4, 0x00, 0x70, 0xd0, 0x52, 0x97, 
+    0x20, 0xa2, 0xf6, 0x19, 0x62, 0x10, 0x70, 0x08, 0x88, 0x6f, 0xf3, 0x1f, 0x30, 0x08, 0x80, 
+    0x48, 0x88, 0x4f, 0xf0, 0xff, 0x37, 0x76, 0x1f, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x07, 0x00, 0x6f, 0x49, 0xf0, 0x53, 
+    0x06, 0x20, 0x70, 0x70, 0x01, 0x20, 0x03, 0x90, 0x08, 0x70, 0x99, 0xf8, 0x33, 0x20, 0x04, 
+    0x92, 0x99, 0xf8, 0x28, 0x10, 0x1a, 0x20, 0x05, 0x91, 0xff, 0xf7, 0x95, 0xfb, 0x41, 0xf6, 
+    0x15, 0x6a, 0x99, 0xf8, 0x24, 0x50, 0x99, 0xf8, 0x25, 0x00, 0x65, 0x49, 0x4c, 0x46, 0x06, 
+    0x97, 0x07, 0x91, 0x21, 0x46, 0x08, 0x91, 0x04, 0xe0, 0x6d, 0x1c, 0xed, 0xb2, 0x08, 0x98, 
+    0x90, 0xf8, 0x25, 0x00, 0xa8, 0x42, 0x14, 0xda, 0x06, 0x98, 0xa9, 0xf8, 0x2e, 0x00, 0x04, 
+    0x9a, 0x89, 0xf8, 0x32, 0x20, 0x05, 0x99, 0xa9, 0xf8, 0x2a, 0x10, 0x36, 0xf8, 0x0a, 0x00, 
+    0x20, 0xf0, 0x0f, 0x00, 0x08, 0x43, 0x26, 0xf8, 0x0a, 0x00, 0x89, 0xb2, 0x1a, 0x20, 0xff, 
+    0xf7, 0x6d, 0xfb, 0x43, 0xe0, 0x99, 0xf8, 0x30, 0x00, 0x89, 0xf8, 0x32, 0x00, 0x94, 0xf8, 
+    0x31, 0x00, 0x94, 0xf8, 0x32, 0x10, 0xdd, 0xf8, 0x08, 0x80, 0xeb, 0x46, 0x88, 0x42, 0xd6, 
+    0xdb, 0x05, 0x27, 0x1b, 0xf8, 0x01, 0x0b, 0x07, 0x99, 0xc0, 0x01, 0x40, 0xf0, 0x7a, 0x00, 
+    0x08, 0x80, 0x36, 0xf8, 0x0a, 0x00, 0x20, 0xf0, 0x0f, 0x00, 0x28, 0x43, 0x26, 0xf8, 0x0a, 
+    0x00, 0xff, 0xf7, 0x33, 0xff, 0xff, 0xf7, 0x18, 0xff, 0x80, 0x45, 0x38, 0xbf, 0x80, 0x46, 
+    0xff, 0xf7, 0x43, 0xfd, 0x03, 0x98, 0xff, 0xf7, 0xfc, 0xfa, 0x7f, 0x1e, 0xe3, 0xd1, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x94, 0xf8, 0x32, 0x00, 0x94, 0xf8, 
+    0x33, 0x10, 0x81, 0x42, 0x04, 0xd1, 0x21, 0x8d, 0xa9, 0x42, 0x08, 0xbf, 0xa4, 0xf8, 0x2c, 
+    0x80, 0x06, 0x99, 0x41, 0x45, 0x03, 0xd9, 0x05, 0x95, 0x04, 0x90, 0xcd, 0xf8, 0x18, 0x80, 
+    0x94, 0xf8, 0x32, 0x00, 0x40, 0x1c, 0x84, 0xf8, 0x32, 0x00, 0x99, 0xf8, 0x31, 0x00, 0xc1, 
+    0xe7, 0x09, 0xb0, 0xbd, 0xe8, 0xf0, 0x8f, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x28, 0x0d, 
+    0x29, 0x4c, 0xdf, 0xf8, 0xb8, 0x80, 0x08, 0x22, 0x26, 0x4e, 0x6f, 0x46, 0x94, 0xf8, 0xc6, 
+    0x00, 0x00, 0x21, 0x04, 0xf5, 0x85, 0x75, 0x08, 0x90, 0xd8, 0xf8, 0x00, 0xb0, 0x73, 0x58, 
+    0x52, 0x1e, 0x47, 0xf8, 0x04, 0x3b, 0x01, 0xf1, 0x04, 0x01, 0xf8, 0xd1, 0x94, 0xf8, 0x64, 
+    0xa0, 0x02, 0x27, 0x84, 0xf8, 0x64, 0x70, 0x94, 0xf8, 0x22, 0x00, 0x09, 0x90, 0x67, 0x84, 
+    0xb5, 0xf8, 0x00, 0x90, 0x29, 0xf0, 0x02, 0x00, 0x28, 0x80, 0xff, 0xf7, 0x1f, 0xff, 0x84, 
+    0xf8, 0x64, 0xa0, 0x09, 0x98, 0x60, 0x84, 0x18, 0x48, 0xa5, 0xf8, 0x00, 0x90, 0x00, 0x25, 
+    0x05, 0x70, 0x38, 0x46, 0xff, 0xf7, 0xa8, 0xfa, 0x0d, 0x48, 0x05, 0x70, 0x08, 0x21, 0x05, 
+    0x74, 0x08, 0x98, 0x6b, 0x46, 0xc8, 0xf8, 0x00, 0xb0, 0x84, 0xf8, 0xc6, 0x00, 0x53, 0xf8, 
+    0x04, 0x2b, 0x49, 0x1e, 0x72, 0x51, 0x05, 0xf1, 0x04, 0x05, 0xf8, 0xd1, 0x0a, 0xb0, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xbd, 0xe8, 0xf0, 0x8f, 0x0c, 0x02, 
+    0x00, 0x40, 0x00, 0x07, 0x03, 0x42, 0x64, 0x8c, 0x03, 0x42, 0x00, 0x01, 0x00, 0x40, 0x80, 
+    0x00, 0x01, 0x42, 0x26, 0x02, 0x00, 0x20, 0x3c, 0x18, 0x00, 0x40, 0x00, 0x02, 0x00, 0x20, 
+    0xe2, 0x08, 0x00, 0x20, 0x1d, 0x10, 0x00, 0x40, 0xe7, 0xf1, 0xff, 0xff, 0xd0, 0x40, 0x00, 
+    0x42, 0x00, 0x00, 0x00, 0x20, 0x38, 0x18, 0x00, 0x40, 0x30, 0xb5, 0x7d, 0x4c, 0x01, 0x25, 
+    0x28, 0x46, 0x25, 0x70, 0x84, 0xf8, 0xde, 0x5e, 0xff, 0xf7, 0xe3, 0xfb, 0x00, 0x20, 0x20, 
+    0x70, 0x28, 0x46, 0xff, 0xf7, 0xde, 0xfb, 0xa5, 0x73, 0x28, 0x46, 0xff, 0xf7, 0xda, 0xfb, 
+    0xa5, 0x73, 0x28, 0x46, 0xff, 0xf7, 0xd6, 0xfb, 0x73, 0x48, 0x00, 0x78, 0x30, 0xbd, 0x30, 
+    0xb5, 0x03, 0x11, 0x00, 0xf0, 0x0f, 0x00, 0x03, 0xf0, 0x0f, 0x03, 0x00, 0xfb, 0x03, 0xf0, 
+    0xc0, 0xb2, 0x12, 0x18, 0x00, 0x23, 0xd4, 0xb2, 0x50, 0xb2, 0x00, 0x28, 0x06, 0xd4, 0x0f, 
+    0x38, 0x40, 0xb2, 0x00, 0x28, 0x03, 0xf1, 0x01, 0x03, 0xdb, 0xb2, 0xf8, 0xd5, 0xc3, 0xeb, 
+    0x03, 0x10, 0x42, 0xb2, 0x94, 0x42, 0x4f, 0xf0, 0x00, 0x00, 0x05, 0xda, 0x40, 0x1c, 0xc0, 
+    0xb2, 0x03, 0xfb, 0x10, 0x25, 0xac, 0x42, 0xf9, 0xdb, 0xc0, 0xf1, 0x0f, 0x00, 0xc0, 0xb2, 
+    0x43, 0xea, 0x00, 0x13, 0x5f, 0x48, 0x0a, 0x46, 0x03, 0x70, 0x9b, 0xb2, 0x13, 0x20, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x19, 0x46, 0xff, 0xf7, 0xeb, 0xfb, 
+    0x30, 0xbd, 0x2d, 0xe9, 0xfe, 0x4f, 0x5a, 0x4c, 0x4f, 0xf0, 0x00, 0x00, 0x94, 0xf8, 0x94, 
+    0x10, 0x31, 0xb9, 0x94, 0xf8, 0x9a, 0x10, 0x31, 0xf0, 0x02, 0x02, 0x14, 0xbf, 0x04, 0x29, 
+    0x01, 0x20, 0x55, 0x49, 0x08, 0x80, 0x55, 0x48, 0x4f, 0xf0, 0x00, 0x0a, 0x4f, 0xf0, 0x01, 
+    0x08, 0xa0, 0xf8, 0x02, 0xa0, 0xa0, 0xf8, 0x04, 0x80, 0x50, 0x46, 0xfd, 0xf7, 0x25, 0xf9, 
+    0x4c, 0x4d, 0xa5, 0xf6, 0xd9, 0x60, 0x00, 0x78, 0x00, 0x90, 0xa5, 0xf6, 0xde, 0x60, 0x00, 
+    0x78, 0x01, 0x90, 0x68, 0x78, 0x00, 0xf0, 0x03, 0x00, 0x83, 0x46, 0xa5, 0xf6, 0xd9, 0x60, 
+    0x80, 0xf8, 0x00, 0x80, 0x25, 0xf8, 0x62, 0xac, 0xa5, 0xf6, 0xde, 0x60, 0x80, 0xf8, 0x00, 
+    0x80, 0x94, 0xf8, 0xa4, 0x00, 0x02, 0x28, 0x07, 0xda, 0x42, 0xf2, 0x1f, 0x20, 0x25, 0xf8, 
+    0x02, 0x0c, 0x40, 0x46, 0xff, 0xf7, 0x63, 0xfb, 0x0b, 0xe0, 0x42, 0xf2, 0x1f, 0x00, 0x25, 
+    0xf8, 0x02, 0x0c, 0x3c, 0x4c, 0x84, 0xf8, 0x00, 0x80, 0x02, 0x20, 0xff, 0xf7, 0x58, 0xfb, 
+    0x84, 0xf8, 0x00, 0xa0, 0x02, 0x20, 0x28, 0x71, 0x0a, 0x20, 0xff, 0xf7, 0x51, 0xfb, 0x05, 
+    0x20, 0x28, 0x70, 0x85, 0xf8, 0x01, 0xa0, 0xff, 0xf7, 0x5f, 0xff, 0x01, 0x28, 0x18, 0xbf, 
+    0xd1, 0x46, 0x56, 0x46, 0x0d, 0xd1, 0x04, 0x24, 0x10, 0x27, 0x6c, 0x70, 0xff, 0xf7, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x55, 0xff, 0x76, 0x1c, 0x01, 0x28, 
+    0x03, 0xd1, 0x7f, 0x1e, 0x04, 0xf1, 0x04, 0x04, 0xf5, 0xd1, 0x5f, 0xfa, 0x86, 0xf9, 0xcd, 
+    0xf8, 0x08, 0xa0, 0x44, 0x46, 0xa4, 0xf1, 0x10, 0x00, 0x28, 0x70, 0xff, 0xf7, 0x44, 0xff, 
+    0x01, 0x28, 0x03, 0xd0, 0x64, 0x1c, 0x10, 0x2c, 0xf5, 0xdb, 0x01, 0xe0, 0xcd, 0xf8, 0x08, 
+    0x80, 0x64, 0xb2, 0x0f, 0x26, 0x10, 0x34, 0xe7, 0xb2, 0x2f, 0x70, 0xff, 0xf7, 0x35, 0xff, 
+    0x01, 0x28, 0x04, 0xd0, 0x76, 0x1e, 0x04, 0xf1, 0x10, 0x04, 0xf5, 0xd1, 0x01, 0xe0, 0xcd, 
+    0xf8, 0x08, 0x80, 0xb9, 0xf1, 0x10, 0x0f, 0x02, 0x98, 0x05, 0xd1, 0x20, 0xb9, 0x51, 0x46, 
+    0x0a, 0x46, 0x13, 0x20, 0xff, 0xf7, 0x56, 0xfb, 0x28, 0x88, 0x4f, 0xea, 0x0b, 0x24, 0x20, 
+    0xf4, 0x40, 0x70, 0x03, 0x22, 0x49, 0x46, 0x20, 0x43, 0x28, 0x80, 0x78, 0xb2, 0xff, 0xf7, 
+    0x2f, 0xff, 0x00, 0x98, 0xa5, 0xf6, 0xd9, 0x61, 0x08, 0x70, 0x01, 0x98, 0xa5, 0xf6, 0xde, 
+    0x61, 0x08, 0x70, 0x28, 0x88, 0x20, 0xf4, 0x40, 0x70, 0x04, 0x43, 0x50, 0x46, 0x2c, 0x80, 
+    0xff, 0xf7, 0x12, 0xf8, 0xbd, 0xe8, 0xfe, 0x8f, 0xae, 0x11, 0x00, 0x40, 0x00, 0x37, 0x02, 
+    0x42, 0x86, 0x20, 0x00, 0x40, 0xc0, 0x00, 0x00, 0x20, 0x0e, 0x03, 0x00, 0x20, 0x00, 0x00, 
+    0x00, 0x20, 0x8c, 0x04, 0x04, 0x42, 0x10, 0xb5, 0x6a, 0x4a, 0x13, 0x68, 0x6a, 0x4a, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x12, 0x68, 0xa2, 0xfb, 0x03, 0x23, 
+    0x1b, 0x02, 0x12, 0x0e, 0x1a, 0x43, 0x02, 0x60, 0x67, 0x48, 0x8c, 0x1a, 0x94, 0xfb, 0xf0, 
+    0xf0, 0x81, 0xb2, 0x40, 0x42, 0x82, 0xb2, 0x05, 0x20, 0xff, 0xf7, 0x1f, 0xfc, 0x20, 0x46, 
+    0x10, 0xbd, 0x2d, 0xe9, 0xf0, 0x4f, 0xad, 0xf1, 0x14, 0x0d, 0xdf, 0xf8, 0x80, 0xa1, 0x5c, 
+    0x4c, 0x5f, 0x49, 0x4f, 0xf0, 0x01, 0x0b, 0x9a, 0xf8, 0xc6, 0x00, 0x5b, 0x4d, 0x26, 0x46, 
+    0x01, 0x90, 0x41, 0xf6, 0x82, 0x50, 0x08, 0x80, 0xaa, 0xf8, 0x88, 0xb0, 0xba, 0xf8, 0x80, 
+    0x00, 0x4f, 0xf0, 0x00, 0x08, 0xb4, 0x3e, 0x45, 0x43, 0x11, 0x20, 0x02, 0x95, 0x8a, 0xf8, 
+    0xc6, 0x00, 0x40, 0x46, 0x86, 0xf8, 0x02, 0x80, 0x86, 0xf8, 0x00, 0x80, 0xfe, 0xf7, 0x04, 
+    0xfa, 0x70, 0x3c, 0x20, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0xa6, 0xf8, 0x44, 0x00, 0xff, 0x20, 
+    0x86, 0xf8, 0x48, 0x00, 0x05, 0x20, 0xff, 0xf7, 0xa4, 0xfb, 0x86, 0xf8, 0x48, 0x80, 0x29, 
+    0x46, 0x68, 0x46, 0xff, 0xf7, 0xb2, 0xff, 0x41, 0x46, 0xdf, 0xf8, 0x20, 0x91, 0x45, 0x46, 
+    0x44, 0x46, 0x05, 0x27, 0x03, 0x91, 0x04, 0x91, 0x01, 0x46, 0x00, 0x29, 0xb8, 0xbf, 0x49, 
+    0x42, 0x4a, 0x46, 0x52, 0x1c, 0x8a, 0x42, 0x25, 0xdc, 0x09, 0xeb, 0x01, 0x02, 0x49, 0x46, 
+    0x49, 0x00, 0x00, 0x28, 0x92, 0xfb, 0xf1, 0xf1, 0x4c, 0xbf, 0x61, 0x1a, 0x21, 0x44, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x0c, 0xb2, 0x60, 0x42, 0x82, 0xb2, 
+    0x06, 0x20, 0xa1, 0xb2, 0xff, 0xf7, 0xc5, 0xfb, 0x10, 0x2c, 0x05, 0xda, 0x14, 0xf1, 0x10, 
+    0x0f, 0x05, 0xda, 0x6f, 0xf0, 0x0f, 0x04, 0x00, 0xe0, 0x0f, 0x24, 0xcd, 0xf8, 0x0c, 0xb0, 
+    0xb4, 0x70, 0x05, 0x20, 0xff, 0xf7, 0x6e, 0xfb, 0x02, 0x99, 0x68, 0x46, 0xff, 0xf7, 0x7e, 
+    0xff, 0x7f, 0x1e, 0xd1, 0xd1, 0xdf, 0xf8, 0xb8, 0x90, 0x05, 0x27, 0x01, 0x46, 0x00, 0x29, 
+    0xb8, 0xbf, 0x49, 0x42, 0x4a, 0x46, 0x52, 0x1c, 0x8a, 0x42, 0x25, 0xdc, 0x09, 0xeb, 0x01, 
+    0x02, 0x49, 0x46, 0x49, 0x00, 0x00, 0x28, 0x92, 0xfb, 0xf1, 0xf1, 0x4c, 0xbf, 0x69, 0x1a, 
+    0x29, 0x44, 0x0d, 0xb2, 0x68, 0x42, 0x82, 0xb2, 0x07, 0x20, 0xa9, 0xb2, 0xff, 0xf7, 0x94, 
+    0xfb, 0x10, 0x2d, 0x05, 0xda, 0x15, 0xf1, 0x10, 0x0f, 0x05, 0xda, 0x6f, 0xf0, 0x0f, 0x05, 
+    0x00, 0xe0, 0x0f, 0x25, 0xcd, 0xf8, 0x10, 0xb0, 0x35, 0x70, 0x05, 0x20, 0xff, 0xf7, 0x3d, 
+    0xfb, 0x02, 0x99, 0x68, 0x46, 0xff, 0xf7, 0x4d, 0xff, 0x7f, 0x1e, 0xd1, 0xd1, 0xaa, 0xf8, 
+    0x84, 0x40, 0xaa, 0xf8, 0x82, 0x50, 0x03, 0x98, 0x20, 0xb1, 0x0f, 0x20, 0x42, 0x46, 0xa1, 
+    0xb2, 0xff, 0xf7, 0x74, 0xfb, 0x04, 0x98, 0x20, 0xb1, 0x10, 0x20, 0x42, 0x46, 0xa9, 0xb2, 
+    0xff, 0xf7, 0x6d, 0xfb, 0x01, 0x98, 0x8a, 0xf8, 0xc6, 0x00, 0x86, 0xf8, 0x02, 0x80, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x86, 0xf8, 0x00, 0x80, 0xff, 0xf7, 
+    0x60, 0xfd, 0x05, 0xb0, 0xaa, 0xf8, 0x88, 0x80, 0xbd, 0xe8, 0xf0, 0x8f, 0xc0, 0x46, 0xd0, 
+    0x1c, 0x00, 0x40, 0xd0, 0x08, 0x00, 0x20, 0x40, 0x42, 0x0f, 0x00, 0x00, 0x02, 0x00, 0x20, 
+    0x00, 0x00, 0x00, 0x20, 0x80, 0x96, 0x98, 0x00, 0x10, 0x55, 0x22, 0x00, 0x49, 0x10, 0x49, 
+    0x1c, 0x01, 0x40, 0x49, 0x42, 0x01, 0x43, 0x01, 0x20, 0x90, 0x40, 0x40, 0x1e, 0x08, 0x40, 
+    0x70, 0x47, 0xf8, 0xb5, 0x0e, 0x68, 0x06, 0xf0, 0x07, 0x04, 0x14, 0x19, 0x08, 0x2c, 0x4f, 
+    0xea, 0xe6, 0x05, 0x05, 0xf0, 0x03, 0x07, 0x06, 0xf0, 0x07, 0x03, 0x04, 0xdd, 0xf4, 0x10, 
+    0x04, 0xf0, 0x03, 0x04, 0x03, 0x2c, 0x11, 0xd0, 0x3f, 0x18, 0x90, 0x19, 0xb5, 0xeb, 0xe0, 
+    0x0f, 0x3c, 0x78, 0x18, 0xbf, 0x17, 0xf8, 0x01, 0x6f, 0x12, 0xd1, 0x01, 0x20, 0x90, 0x40, 
+    0x40, 0x1e, 0xc3, 0xf1, 0x08, 0x03, 0x9b, 0x1a, 0x1c, 0x41, 0x04, 0x40, 0x1f, 0xe0, 0x52, 
+    0x4c, 0x27, 0x68, 0x00, 0x97, 0x6d, 0x1c, 0x05, 0xf0, 0x03, 0x05, 0x1d, 0xf8, 0x05, 0x60, 
+    0xc4, 0x78, 0x07, 0x60, 0xc2, 0xf1, 0x08, 0x00, 0x9d, 0x18, 0xc0, 0x1a, 0x08, 0x3d, 0x08, 
+    0x30, 0xc3, 0xf1, 0x08, 0x03, 0xc6, 0x40, 0x01, 0x20, 0x00, 0xfa, 0x05, 0xf7, 0x00, 0xfa, 
+    0x03, 0xf3, 0x7f, 0x1e, 0x5b, 0x1e, 0x90, 0x40, 0x1c, 0x40, 0x37, 0x40, 0x40, 0x1e, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0xac, 0x40, 0x3c, 0x43, 0x23, 0xb2, 
+    0x0c, 0x68, 0x12, 0x19, 0x0a, 0x60, 0x01, 0x46, 0x10, 0x22, 0x18, 0x46, 0xff, 0xf7, 0xa9, 
+    0xff, 0x00, 0xb2, 0xf8, 0xbd, 0xfc, 0xb5, 0x3c, 0x4e, 0x84, 0x46, 0x30, 0x68, 0x01, 0x90, 
+    0x9d, 0xf8, 0x05, 0x10, 0x9d, 0xf8, 0x04, 0x00, 0xfe, 0x27, 0x9d, 0xf8, 0x06, 0x30, 0x41, 
+    0xea, 0x00, 0x21, 0x9d, 0xf8, 0x07, 0x00, 0x0a, 0xb2, 0x2c, 0xf8, 0x04, 0x1b, 0x40, 0xea, 
+    0x03, 0x20, 0x00, 0xb2, 0x04, 0x46, 0x2c, 0xf8, 0x04, 0x0b, 0x80, 0x1a, 0x05, 0xb2, 0x20, 
+    0x20, 0x00, 0x90, 0x00, 0x98, 0x10, 0xf0, 0x1f, 0x0f, 0x04, 0xbf, 0x30, 0x68, 0x01, 0x90, 
+    0x02, 0x22, 0x69, 0x46, 0x01, 0xa8, 0xff, 0xf7, 0x89, 0xff, 0x10, 0xf1, 0x02, 0x0f, 0x0a, 
+    0xd1, 0x00, 0x98, 0x10, 0xf0, 0x1f, 0x0f, 0x04, 0xbf, 0x30, 0x68, 0x01, 0x90, 0x01, 0xa8, 
+    0x08, 0x22, 0x69, 0x46, 0xff, 0xf7, 0x7b, 0xff, 0x41, 0x19, 0x0d, 0xb2, 0x7f, 0x1e, 0x05, 
+    0xeb, 0x04, 0x01, 0x2c, 0xf8, 0x04, 0x1b, 0x0c, 0xb2, 0xdd, 0xd1, 0xfc, 0xbd, 0x10, 0xb5, 
+    0x1d, 0x4c, 0x20, 0x46, 0x80, 0x1e, 0xff, 0xf7, 0xba, 0xff, 0x20, 0x46, 0xff, 0xf7, 0xb7, 
+    0xff, 0x10, 0xbd, 0x2d, 0xe9, 0xf0, 0x41, 0x19, 0x4e, 0x00, 0x25, 0x02, 0x20, 0x35, 0x70, 
+    0xff, 0xf7, 0x41, 0xfb, 0x17, 0x4c, 0x01, 0x27, 0x20, 0x88, 0x20, 0xf0, 0x07, 0x00, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x40, 0xf0, 0x0b, 0x00, 0x20, 0x80, 
+    0x14, 0x48, 0x37, 0x70, 0x00, 0x78, 0x04, 0x28, 0x04, 0xdb, 0x08, 0x28, 0xcc, 0xbf, 0x02, 
+    0x21, 0x39, 0x1c, 0x00, 0xe0, 0x29, 0x46, 0x88, 0x01, 0x20, 0x82, 0x0a, 0x02, 0x1c, 0x20, 
+    0xff, 0xf7, 0x70, 0xfb, 0x19, 0x20, 0xb4, 0xf8, 0x0a, 0x80, 0x60, 0x81, 0x02, 0x20, 0xff, 
+    0xf7, 0x21, 0xfb, 0x09, 0x4e, 0x37, 0x70, 0xff, 0xf7, 0xca, 0xff, 0x35, 0x70, 0xa4, 0xf8, 
+    0x0a, 0x80, 0xbd, 0xe8, 0xf0, 0x81, 0x00, 0x02, 0x00, 0x40, 0x02, 0x04, 0x00, 0x40, 0xd0, 
+    0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 0x40, 0x64, 0x01, 0x00, 0x20, 0xc0, 0x00, 0x01, 0x42, 
+    0x70, 0xb5, 0x51, 0x4c, 0x04, 0xf2, 0xb2, 0x32, 0x11, 0x88, 0x21, 0xf4, 0x70, 0x61, 0x41, 
+    0xea, 0x00, 0x20, 0x10, 0x80, 0x02, 0x20, 0xff, 0xf7, 0xdf, 0xfb, 0x4c, 0x4e, 0x01, 0x25, 
+    0x02, 0x20, 0x35, 0x70, 0xff, 0xf7, 0xd9, 0xfb, 0x00, 0x20, 0x30, 0x70, 0x02, 0x20, 0xff, 
+    0xf7, 0xd4, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x20, 0x00, 0x40, 0xf0, 0x10, 0x00, 0x20, 0x80, 
+    0x06, 0x20, 0xff, 0xf7, 0xcb, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x10, 0x00, 0x40, 0xf0, 0x20, 
+    0x00, 0x20, 0x80, 0x28, 0x46, 0xff, 0xf7, 0xc2, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x30, 0x00, 
+    0x20, 0x80, 0x0a, 0x20, 0xb4, 0xf8, 0x4c, 0x40, 0xff, 0xf7, 0xb9, 0xfb, 0x20, 0x46, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x70, 0xbd, 0xf8, 0xb5, 0x38, 0x48, 
+    0x00, 0x27, 0x3a, 0x4d, 0x00, 0x88, 0x37, 0x49, 0x38, 0x4e, 0xad, 0xf8, 0x00, 0x00, 0xaf, 
+    0x74, 0x41, 0xf6, 0x82, 0x50, 0x08, 0x80, 0x01, 0x20, 0xa6, 0xf8, 0x88, 0x00, 0xe8, 0x74, 
+    0xa8, 0x7c, 0x02, 0x28, 0x27, 0xda, 0x38, 0x46, 0xfe, 0xf7, 0xf4, 0xf9, 0x0a, 0x20, 0xff, 
+    0xf7, 0x9d, 0xfb, 0xa8, 0x7c, 0x1d, 0xf8, 0x00, 0x40, 0x20, 0x46, 0xff, 0xf7, 0xab, 0xff, 
+    0x0e, 0x2c, 0x0a, 0xdc, 0xb6, 0xf8, 0x6a, 0x10, 0x81, 0x42, 0x06, 0xda, 0x64, 0x1c, 0xe4, 
+    0xb2, 0x20, 0x46, 0xff, 0xf7, 0xa0, 0xff, 0x0f, 0x2c, 0xf4, 0xdb, 0xa8, 0x7c, 0x30, 0x18, 
+    0x80, 0xf8, 0xa4, 0x40, 0xff, 0xf7, 0xc8, 0xfd, 0x0a, 0x20, 0xff, 0xf7, 0x81, 0xfb, 0xa8, 
+    0x7c, 0x40, 0x1c, 0xa8, 0x74, 0xa8, 0x7c, 0x02, 0x28, 0xd7, 0xdb, 0xa6, 0xf8, 0x88, 0x70, 
+    0xef, 0x74, 0xf8, 0xbd, 0x00, 0xb5, 0xff, 0xf7, 0xbd, 0xff, 0x1b, 0x4b, 0x4f, 0xf0, 0x00, 
+    0x01, 0x93, 0xf8, 0x9a, 0x00, 0x40, 0xb9, 0x93, 0xf8, 0xa4, 0x00, 0x0a, 0x28, 0x04, 0xdb, 
+    0x93, 0xf8, 0xa5, 0x00, 0x02, 0x28, 0x08, 0xbf, 0x01, 0x21, 0x12, 0x48, 0x00, 0xf1, 0x1a, 
+    0x00, 0x01, 0x80, 0xb3, 0xf8, 0x54, 0x00, 0xa0, 0xb1, 0x11, 0x49, 0x01, 0x20, 0x08, 0x70, 
+    0x93, 0xf8, 0xa4, 0x00, 0x04, 0x28, 0x04, 0xdb, 0x08, 0x28, 0xd4, 0xbf, 0x06, 0x20, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x03, 0x20, 0x00, 0xe0, 0x04, 0x20, 
+    0x0c, 0x4a, 0x10, 0x70, 0x93, 0xf8, 0xa4, 0x10, 0x12, 0x78, 0x20, 0x20, 0xff, 0xf7, 0x91, 
+    0xfb, 0x00, 0xbd, 0x60, 0x1c, 0x00, 0x40, 0x98, 0x8c, 0x03, 0x42, 0x18, 0x31, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0xd0, 0x08, 0x00, 0x20, 0xc0, 0x00, 0x00, 
+    0x20, 0x18, 0x02, 0x04, 0x42, 0x12, 0x20, 0x00, 0x40, 0x04, 0x04, 0x00, 0x00, 0x2d, 0xe9, 
+    0xf0, 0x47, 0x36, 0x48, 0x4f, 0xf4, 0x0c, 0x61, 0x41, 0x80, 0x36, 0x49, 0x4f, 0xf0, 0x01, 
+    0x06, 0x09, 0x88, 0x86, 0x80, 0x4f, 0xf0, 0x00, 0x00, 0x01, 0xb1, 0x30, 0x46, 0x31, 0x49, 
+    0xdf, 0xf8, 0xc8, 0x80, 0x08, 0x70, 0x00, 0x20, 0xfd, 0xf7, 0x76, 0xf9, 0x45, 0x46, 0x31, 
+    0x4c, 0x4f, 0xf0, 0x03, 0x0a, 0x0f, 0x21, 0x20, 0x46, 0x4f, 0xf0, 0x00, 0x09, 0x2c, 0x4f, 
+    0x80, 0x1e, 0x80, 0xf8, 0x04, 0xa0, 0x01, 0x80, 0x02, 0x20, 0x87, 0xf8, 0x00, 0x90, 0xff, 
+    0xf7, 0xc4, 0xfb, 0x20, 0x88, 0x20, 0xf0, 0x0f, 0x00, 0x40, 0xf0, 0x03, 0x00, 0x20, 0x80, 
+    0x50, 0x46, 0x3e, 0x70, 0xa4, 0xf8, 0x0a, 0x90, 0xff, 0xf7, 0xb8, 0xfb, 0x14, 0x27, 0xa0, 
+    0x79, 0x08, 0xf8, 0x01, 0x0b, 0x30, 0x46, 0xff, 0xf7, 0xb1, 0xfb, 0x7f, 0x1e, 0xf7, 0xd1, 
+    0x05, 0x24, 0x29, 0x88, 0x6a, 0x88, 0x14, 0x20, 0xff, 0xf7, 0xf1, 0xfb, 0x64, 0x1e, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x05, 0xf1, 0x04, 0x05, 0xf6, 0xd1, 
+    0xbd, 0xe8, 0xf0, 0x87, 0x10, 0xb5, 0x15, 0x48, 0x40, 0xf2, 0x36, 0x21, 0x08, 0x38, 0x36, 
+    0x22, 0x01, 0x80, 0x02, 0x21, 0x00, 0x20, 0xff, 0xf7, 0xe0, 0xfb, 0x0d, 0x48, 0x00, 0x24, 
+    0x01, 0x21, 0xc4, 0x80, 0xc1, 0x81, 0x81, 0x84, 0x0b, 0x48, 0x14, 0x38, 0x44, 0x73, 0x84, 
+    0x73, 0xc4, 0x72, 0x04, 0x74, 0xff, 0xf7, 0x9e, 0xff, 0x20, 0x46, 0xff, 0xf7, 0xa7, 0xf8, 
+    0x4f, 0xf0, 0x80, 0x41, 0x0f, 0x20, 0xa1, 0xf8, 0x04, 0x42, 0x81, 0xf8, 0x06, 0x02, 0x1c, 
+    0x20, 0x81, 0xf8, 0x08, 0x02, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x20, 0xe4, 0x08, 0x00, 0x20, 
+    0x18, 0x02, 0x00, 0x20, 0x38, 0x00, 0x00, 0x20, 0xd0, 0x40, 0x00, 0x42, 0x06, 0x02, 0x00, 
+    0x40, 0x2d, 0xe9, 0xf0, 0x41, 0xfe, 0xf7, 0x3a, 0xfe, 0xfe, 0xf7, 0x5d, 0xfe, 0x22, 0x48, 
+    0x23, 0x49, 0x03, 0x68, 0xb1, 0xfb, 0xf3, 0xf0, 0xb1, 0xfb, 0xf3, 0xf1, 0x49, 0x1c, 0x89, 
+    0xb2, 0x03, 0xfb, 0x01, 0xf2, 0x1f, 0x49, 0x40, 0x1c, 0x80, 0xb2, 0x91, 0x42, 0x03, 0xfb, 
+    0x00, 0xf5, 0x4f, 0xf0, 0x00, 0x00, 0x23, 0xd3, 0x1b, 0x4e, 0x1c, 0x4c, 0xdf, 0xf8, 0x70, 
+    0xc0, 0x8e, 0x46, 0xa0, 0x46, 0xb5, 0xfb, 0xf4, 0xf1, 0x8f, 0xb2, 0x04, 0xfb, 0x17, 0x57, 
+    0xbc, 0x45, 0x06, 0xeb, 0x00, 0x07, 0x01, 0xf1, 0x01, 0x02, 0x03, 0xd9, 0x62, 0x39, 
+
+    0x01, 0x97, 0xfd, 0xcd, 0x00, 0x02, 0x19, 0x00, 0xc8, 0x87, 0xf8, 0x02, 0x11, 0x40, 0x1c, 
+    0x91, 0xb2, 0x08, 0xfb, 0x01, 0xf1, 0x49, 0x1b, 0x8c, 0x45, 0x06, 0xeb, 0x00, 0x01, 0x03, 
+    0xd9, 0x62, 0x3a, 0x81, 0xf8, 0x02, 0x21, 0x40, 0x1c, 0x5d, 0x19, 0xae, 0x45, 0xe1, 0xd2, 
+    0x07, 0x28, 0x08, 0xd8, 0x0b, 0x49, 0xc0, 0xf1, 0x08, 0x02, 0xff, 0x23, 0x09, 0x18, 0x52, 
+    0x1e, 0x01, 0xf8, 0x01, 0x3b, 0xfb, 0xd1, 0xbd, 0xe8, 0xf0, 0x81, 0xc0, 0x46, 0xd0, 0x08, 
+    0x00, 0x20, 0x80, 0x9c, 0x2b, 0x8f, 0x3f, 0x0e, 0xe1, 0x93, 0x00, 0x02, 0x00, 0x20, 0x40, 
+    0x42, 0x0f, 0x00, 0x28, 0xe7, 0x09, 0x00, 0x02, 0x03, 0x00, 0x20, 0x2d, 0xe9, 0xf0, 0x4f, 
+    0x00, 0x20, 0xff, 0xf7, 0x80, 0xfc, 0x25, 0x4d, 0x95, 0xf8, 0xa4, 0x10, 0x49, 0x08, 0x05, 
+    0xeb, 0x41, 0x01, 0xb1, 0xf8, 0x88, 0x10, 0x4f, 0xf4, 0x80, 0x3a, 0x02, 0x09, 0xa1, 0xf2, 
+    0x66, 0x31, 0x8e, 0xb2, 0x87, 0x35, 0x1e, 0x49, 0xdf, 0xf8, 0x7c, 0x80, 0x2f, 0x27, 0xb1, 
+    0xfb, 0xf2, 0xf1, 0x49, 0x09, 0x8c, 0xb2, 0xa4, 0xf2, 0xfe, 0x31, 0x1f, 0xfa, 0x81, 0xfb, 
+    0x07, 0xf0, 0x0f, 0x01, 0x0f, 0x29, 0x15, 0xd1, 0x0f, 0x2f, 0x06, 0xf2, 0x66, 0x31, 0x03, 
+    0xd1, 0x8e, 0xb2, 0xa4, 0xeb, 0x0b, 0x04, 0xa4, 0xb2, 0x95, 0xf9, 0x00, 0x10, 0xc9, 0x01, 
+    0xb1, 0x42, 0xbc, 0xbf, 0x70, 0x1a, 0x4f, 0xf0, 0x00, 0x09, 0x09, 0xdb, 0x89, 0x1b, 
+
+    0x01, 0x97, 0xfd, 0xb1, 0x00, 0x02, 0x19, 0x00, 0xac, 0x1f, 0xfa, 0x81, 0xf9, 0x61, 0x10, 
+    0x0b, 0xe0, 0x95, 0xf9, 0x00, 0x00, 0xa6, 0xeb, 0xc0, 0x10, 0x48, 0x44, 0x80, 0xb2, 0xff, 
+    0xf7, 0x43, 0xfc, 0x01, 0x09, 0x04, 0xfb, 0x01, 0xa1, 0x49, 0x0c, 0xa8, 0xf8, 0x00, 0x10, 
+    0x7f, 0x1e, 0xa5, 0xf1, 0x01, 0x05, 0xa8, 0xf1, 0x02, 0x08, 0xd1, 0xd5, 0xbd, 0xe8, 0xf0, 
+    0x8f, 0xc0, 0x00, 0x00, 0x20, 0x00, 0x00, 0xc0, 0x7f, 0x32, 0x04, 0x00, 0x20, 0xad, 0xf1, 
+    0x0c, 0x0d, 0x11, 0x48, 0x00, 0x68, 0x00, 0x90, 0x11, 0x48, 0x00, 0x68, 0x01, 0x90, 0x10, 
+    0x48, 0x00, 0x68, 0x02, 0x90, 0x10, 0x48, 0x00, 0x78, 0x10, 0x4a, 0x80, 0x10, 0x10, 0xf8, 
+    0x0d, 0x10, 0x82, 0xf8, 0x79, 0x10, 0x18, 0x21, 0x82, 0xf8, 0x7d, 0x10, 0x00, 0xeb, 0x0d, 
+    0x01, 0x09, 0x79, 0x68, 0x44, 0x82, 0xf8, 0x78, 0x10, 0x00, 0x7a, 0x03, 0xb0, 0x0a, 0x21, 
+    0x82, 0xf8, 0x7a, 0x00, 0x82, 0xf8, 0x7e, 0x10, 0x82, 0xf8, 0x7c, 0x10, 0x70, 0x47, 0x0c, 
+    0x30, 0x00, 0x00, 0x10, 0x30, 0x00, 0x00, 0x14, 0x30, 0x00, 0x00, 0x64, 0x01, 0x00, 0x20, 
+    0x00, 0x02, 0x00, 0x20, 0x25, 0x2c, 0x33, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x14, 0x14, 0x14, 
+    0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x20, 0x10, 0x19, 0x00, 0x3e, 0x0e, 
+
+    0x01, 0x01, 0xff, 0x06, 0x22, 0x10, 0x19, 0x00, 0x37, 0x21, 
+
+    0x01, 0x01, 0xff, 0x06, 0x4a, 0x10, 0x19, 0x00, 0x00, 0x02, 
+
+    0x01, 0x01, 0xff, 0x06, 0x9a, 0x10, 0x19, 0x00, 0x10, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x84, 0x11, 0x19, 0x00, 0x01, 0x06, 
+
+    0x01, 0x01, 0xff, 0x06, 0x86, 0x11, 0x19, 0x00, 0x00, 0x04, 
+
+    0x01, 0x01, 0xff, 0x06, 0x94, 0x11, 0x19, 0x00, 0x1e, 0x03, 
+
+    0x01, 0x01, 0xff, 0x06, 0xa0, 0x11, 0x19, 0x00, 0x01, 0x01, 
+
+    0x01, 0x01, 0xff, 0x06, 0xb0, 0x11, 0x19, 0x00, 0x34, 0x28, 
+
+    0x01, 0x01, 0xff, 0x06, 0xb2, 0x11, 0x19, 0x00, 0xd8, 0xdb, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc0, 0x11, 0x19, 0x00, 0xba, 0xc0, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc2, 0x11, 0x19, 0x00, 0xc6, 0xc9, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc4, 0x11, 0x19, 0x00, 0xcc, 0xcf, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc6, 0x11, 0x19, 0x00, 0xd2, 0xd5, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc8, 0x11, 0x19, 0x00, 0xd8, 0xdb, 
+
+    0x01, 0x01, 0xff, 0x06, 0xca, 0x11, 0x19, 0x00, 0xde, 0xe1, 
+
+    0x01, 0x01, 0xff, 0x06, 0xcc, 0x11, 0x19, 0x00, 0xe4, 0xe7, 
+
+    0x01, 0x01, 0xff, 0x06, 0xce, 0x11, 0x19, 0x00, 0xf4, 0x81, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd0, 0x11, 0x19, 0x00, 0xc6, 0xcc, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd2, 0x11, 0x19, 0x00, 0xcf, 0xd2, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd4, 0x11, 0x19, 0x00, 0xd5, 0xd8, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd6, 0x11, 0x19, 0x00, 0xdb, 0xde, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd8, 0x11, 0x19, 0x00, 0xe1, 0xe4, 
+
+    0x01, 0x01, 0xff, 0x06, 0xda, 0x11, 0x19, 0x00, 0xe7, 0xe8, 
+
+    0x01, 0x01, 0xff, 0x06, 0xdc, 0x11, 0x19, 0x00, 0xeb, 0xee, 
+
+    0x01, 0x01, 0xff, 0x06, 0xde, 0x11, 0x19, 0x00, 0xf4, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe0, 0x11, 0x19, 0x00, 0xce, 0xcf, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe2, 0x11, 0x19, 0x00, 0xcf, 0xd0, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe4, 0x11, 0x19, 0x00, 0xd2, 0xd4, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe6, 0x11, 0x19, 0x00, 0xd6, 0xd9, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe8, 0x11, 0x19, 0x00, 0xdc, 0xdf, 
+
+    0x01, 0x01, 0xff, 0x06, 0xea, 0x11, 0x19, 0x00, 0xe2, 0xe4, 
+
+    0x01, 0x01, 0xff, 0x06, 0xec, 0x11, 0x19, 0x00, 0xe7, 0xf5, 
+
+    0x01, 0x01, 0xff, 0x06, 0xee, 0x11, 0x19, 0x00, 0xfb, 0x7f, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf0, 0x11, 0x19, 0x00, 0xd3, 0xd4, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf2, 0x11, 0x19, 0x00, 0xd5, 0xd7, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf4, 0x11, 0x19, 0x00, 0xd9, 0xdc, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf6, 0x11, 0x19, 0x00, 0xdf, 0xe2, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf8, 0x11, 0x19, 0x00, 0xe4, 0xe7, 
+
+    0x01, 0x01, 0xff, 0x06, 0xfa, 0x11, 0x19, 0x00, 0xec, 0xee, 
+
+    0x01, 0x01, 0xff, 0x06, 0xfc, 0x11, 0x19, 0x00, 0xf0, 0xf5, 
+
+    0x01, 0x01, 0xff, 0x06, 0xfe, 0x11, 0x19, 0x00, 0xfb, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x00, 0x12, 0x19, 0x00, 0x7c, 0x70, 
+
+    0x01, 0x01, 0xff, 0x06, 0x02, 0x12, 0x19, 0x00, 0x64, 0x5e, 
+
+    0x01, 0x01, 0xff, 0x06, 0x04, 0x12, 0x19, 0x00, 0x58, 0x52, 
+
+    0x01, 0x01, 0xff, 0x06, 0x06, 0x12, 0x19, 0x00, 0x4c, 0x46, 
+
+    0x01, 0x01, 0xff, 0x06, 0x08, 0x12, 0x19, 0x00, 0x40, 0x3a, 
+
+    0x01, 0x01, 0xff, 0x06, 0x0a, 0x12, 0x19, 0x00, 0x34, 0x2e, 
+
+    0x01, 0x01, 0xff, 0x06, 0x0c, 0x12, 0x19, 0x00, 0x28, 0x22, 
+
+    0x01, 0x01, 0xff, 0x06, 0x0e, 0x12, 0x19, 0x00, 0x08, 0xfc, 
+
+    0x01, 0x01, 0xff, 0x06, 0x10, 0x12, 0x19, 0x00, 0x64, 0x58, 
+
+    0x01, 0x01, 0xff, 0x06, 0x12, 0x12, 0x19, 0x00, 0x52, 0x4c, 
+
+    0x01, 0x01, 0xff, 0x06, 0x14, 0x12, 0x19, 0x00, 0x46, 0x40, 
+
+    0x01, 0x01, 0xff, 0x06, 0x16, 0x12, 0x19, 0x00, 0x3a, 0x34, 
+
+    0x01, 0x01, 0xff, 0x06, 0x18, 0x12, 0x19, 0x00, 0x2e, 0x28, 
+
+    0x01, 0x01, 0xff, 0x06, 0x1a, 0x12, 0x19, 0x00, 0x22, 0x20, 
+
+    0x01, 0x01, 0xff, 0x06, 0x1c, 0x12, 0x19, 0x00, 0x1a, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x1e, 0x12, 0x19, 0x00, 0x08, 0xfc, 
+
+    0x01, 0x01, 0xff, 0x06, 0x24, 0x1c, 0x19, 0x00, 0x27, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x44, 0x1c, 0x19, 0x00, 0x1c, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x46, 0x1c, 0x19, 0x00, 0x00, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x04, 0x08, 0x19, 0x00, 0x00, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0x38, 0x08, 0x19, 0x00, 0x01, 0xf0, 
+
+    0x01, 0x01, 0xff, 0x06, 0x28, 0x20, 0x19, 0x00, 0xe3, 0x0c, 
+
+    0x01, 0x01, 0xff, 0x06, 0x2c, 0x20, 0x19, 0x00, 0xc3, 0x0c, 
+
+    0x01, 0x01, 0xff, 0x06, 0x30, 0x20, 0x19, 0x00, 0x83, 0x18, 
+
+    0x01, 0x01, 0xff, 0x06, 0x34, 0x20, 0x19, 0x00, 0x03, 0x0c, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf0, 0x20, 0x19, 0x00, 0x00, 0x00, 
+
+    0x01, 0x01, 0xff, 0x06, 0xf4, 0x20, 0x19, 0x00, 0x00, 0x11, 
+
+    0x01, 0x01, 0xff, 0x06, 0xfc, 0x20, 0x19, 0x00, 0x00, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0x04, 0x21, 0x19, 0x00, 0x00, 0x13, 
+
+    0x01, 0x01, 0xff, 0x06, 0x0c, 0x21, 0x19, 0x00, 0x10, 0x13, 
+
+    0x01, 0x01, 0xff, 0x06, 0x14, 0x21, 0x19, 0x00, 0x00, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x1c, 0x21, 0x19, 0x00, 0x10, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x24, 0x21, 0x19, 0x00, 0x20, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x2c, 0x21, 0x19, 0x00, 0x30, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x34, 0x21, 0x19, 0x00, 0x40, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x3c, 0x21, 0x19, 0x00, 0x50, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x44, 0x21, 0x19, 0x00, 0x41, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x4c, 0x21, 0x19, 0x00, 0x51, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x54, 0x21, 0x19, 0x00, 0x42, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x5c, 0x21, 0x19, 0x00, 0x52, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x64, 0x21, 0x19, 0x00, 0x33, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x6c, 0x21, 0x19, 0x00, 0x53, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x74, 0x21, 0x19, 0x00, 0x02, 0x11, 
+
+    0x01, 0x01, 0xff, 0x06, 0x7c, 0x21, 0x19, 0x00, 0x02, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0x84, 0x21, 0x19, 0x00, 0x12, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0x8c, 0x21, 0x19, 0x00, 0x02, 0x13, 
+
+    0x01, 0x01, 0xff, 0x06, 0x94, 0x21, 0x19, 0x00, 0x12, 0x13, 
+
+    0x01, 0x01, 0xff, 0x06, 0x9c, 0x21, 0x19, 0x00, 0x02, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xa4, 0x21, 0x19, 0x00, 0x12, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xac, 0x21, 0x19, 0x00, 0x22, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xb4, 0x21, 0x19, 0x00, 0x32, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xbc, 0x21, 0x19, 0x00, 0x42, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xc4, 0x21, 0x19, 0x00, 0x52, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0xcc, 0x21, 0x19, 0x00, 0x33, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0xd4, 0x21, 0x19, 0x00, 0x43, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0xdc, 0x21, 0x19, 0x00, 0x53, 0x12, 
+
+    0x01, 0x01, 0xff, 0x06, 0xe4, 0x21, 0x19, 0x00, 0x53, 0x13, 
+
+    0x01, 0x01, 0xff, 0x06, 0xec, 0x21, 0x19, 0x00, 0x53, 0x14, 
+
+    0x01, 0x01, 0xff, 0x06, 0x36, 0x24, 0x19, 0x00, 0x00, 0x00, 
+
+    0x01, 0x09, 0xfd, 0x08, 0x10, 0x20, 0x19, 0x00, 0x10, 0x00, 0x10, 0x00, 
+
+    0x01, 0x09, 0xfd, 0x08, 0x12, 0x20, 0x19, 0x00, 0x00, 0x04, 0x00, 0x0f, 
+
+    // ############################################    END OF SCRIPT ! ! !     ############################################
+    0x01, 0x05, 0xff, 0x69, 0x00, 0x32, 0x19, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
+    0x60, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 
+    0x0b, 0x0f, 0xff, 0x07, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x06, 
+    0x06, 0x06, 0x06, 0x04, 0x00, 0x17, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0xab, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x08, 
+    0x44, 0x10, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x69, 0x64, 0x32, 0x19, 0x00, 0x64, 0x26, 0x10, 0x11, 0x00, 0x01, 0x00, 
+    0x60, 0x04, 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x11, 
+    0x2a, 0x0c, 0x00, 0x04, 0x18, 0x08, 0x00, 0x54, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 
+    0x00, 0x00, 0x20, 0x14, 0x20, 0x14, 0xfa, 0x03, 0x1c, 0x01, 0xc3, 0xfe, 0x27, 0xfc, 0x84, 
+    0x03, 0xb4, 0x01, 0x37, 0x00, 0x91, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 
+    0x71, 0x75, 0x71, 0x75, 0x71, 0x75, 0x71, 0x75, 0x47, 0x08, 0xe8, 0x08, 0xbe, 0x49, 0x00, 
+    0x00, 0xb7, 0x9d, 0xbc, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x97, 0x00, 0x00, 
+    0x00, 0x00, 0x10, 0x14, 
+
+    0x01, 0x05, 0xff, 0x69, 0xc8, 0x32, 0x19, 0x00, 0x64, 0xe8, 0xe8, 0x01, 0x00, 0x06, 0x02, 
+    0x03, 0x01, 0x05, 0x00, 0xc4, 0xc2, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 
+    0x03, 0x01, 0x01, 0x04, 0x05, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+    0xc2, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x78, 0x00, 0xd2, 0x00, 0xfb, 0x03, 0x9f, 0x1f, 0xe8, 0x03, 0x14, 0x12, 0xdc, 0x05, 
+    0x00, 0x08, 0x42, 0x04, 
+
+    0x01, 0x05, 0xff, 0x69, 0x2c, 0x33, 0x19, 0x00, 0x64, 0x08, 0x0d, 0x45, 0x1f, 0x08, 0x19, 
+    0x0a, 0x0c, 0xee, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xc5, 0x05, 0xc5, 0x05, 0xc5, 0x05, 0x87, 0x07, 0x85, 0x05, 0xa8, 0x08, 0x96, 
+    0x06, 0x13, 0x03, 0x02, 0x1f, 0x22, 0x1f, 0x52, 0x15, 0x9e, 0x11, 0x98, 0x11, 0x98, 0x11, 
+    0x91, 0x11, 0x90, 0x11, 
+
+    0x01, 0x05, 0xff, 0x49, 0x90, 0x33, 0x19, 0x00, 0x44, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 
+    0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1e, 0x1e, 0x19, 0x19, 0x15, 0x9d, 0x40, 0x9f, 0xcd, 
+    0x9c, 0xef, 0x9e, 0x73, 0x9c, 0x9a, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x47, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x00, 0x9c, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xdc, 
+    0xe6, 0xf0, 0xfa, 0x04, 0x0e, 0x18, 0xff, 0x00, 0x00, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x01, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, 
+    0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x02, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, 
+    0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, 
+
+    0x01, 0x87, 0xfd, 0x03, 0x0d, 0x0d, 0x0d, 
+
+    0x01, 0x01, 0xff, 0x06, 0x00, 0x24, 0x19, 0x00, 0x00, 0x00, 
+
+    // 
+    // ## For SMPS/DC2DC with trim 7 (default value) use the command below:
+    // ## Send_HCI_VS_Class_1p5_LDO_mode 0xFD6E, 0x1, 0x7
+    // ## Wait_HCI_Command_Complete_VS_Class_1p5_LDO_mode_Event 5000, any, HCI_VS_Class_1p5_LDO_mode, 0x00
+    // 
+    // ## For VBAT with trim 7 (default value) use the command below:
+    // ## Send_HCI_VS_Class_1p5_LDO_mode 0xFD6E, 0x0, 0x7
+    // ## Wait_HCI_Command_Complete_VS_Class_1p5_LDO_mode_Event 5000, any, HCI_VS_Class_1p5_LDO_mode, 0x00
+    0x01, 0x24, 0xfd, 0x97, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x07, 0x00, 0x01, 0xc0, 0x00, 0x1c, 0x00, 0x00, 0x07, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdc, 0x77, 
+    0x07, 0x07, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0xd3, 0x77, 0x77, 0x71, 0xc7, 0x00, 
+    0x00, 0xd3, 0x77, 0x1c, 0x00, 0xd3, 0x70, 0x00, 0xdc, 0x73, 0x77, 0x0d, 0xc0, 0xdb, 0xf9, 
+    0x30, 0xdc, 0xc0, 0xdb, 0xf9, 0x20, 0x20, 0x00, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x34, 0x00, 0x0d, 0x0d, 0x34, 0xd3, 0x43, 0x43, 0x40, 0x00, 0x00, 0xd0, 0xd0, 
+    0x34, 0xd3, 0x77, 0x77, 0x40, 0x34, 0xd3, 0x77, 0x77, 0x71, 0xc0, 0x70, 0x1c, 0x70, 0x00, 
+    0x00, 0x1d, 0xc0, 0x0d, 0x07, 0x77, 0x03, 0x47, 0x77, 0x01, 0xc1, 0xdd, 0xc0, 0xc4, 0x43, 
+    0x70, 0x40, 0x0f, 0x41, 0x34, 0x34, 0x34, 0xf4, 0x47, 0x30, 0x08, 0x0b, 0xc4, 0x2f, 0xe5, 
+    0x34, 0xbf, 0x98, 0x08, 0xc0, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x00, 0x01, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x0d, 0x03, 0x43, 0x4d, 0xd3, 0x71, 0xdc, 0x70, 
+    0x70, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x34, 0x0d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, 0x00, 
+    0x03, 0x4d, 0xdc, 0x1c, 0x03, 0x4d, 0xc0, 0x00, 0xdd, 0xcd, 0x37, 0x03, 0x70, 0xc7, 0xd3, 
+    0x03, 0x03, 0x03, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x54, 0x00, 0x00, 0x07, 
+    0x00, 0x0d, 0x00, 0x00, 0x03, 0x40, 0x00, 0x07, 0x00, 0xd3, 0x4d, 0xd0, 0xd0, 0x0d, 0x00, 
+    0x0d, 0x00, 0xd3, 0x43, 0x4d, 0xdd, 0xc7, 0x1c, 0x77, 0x74, 0xdc, 0x00, 0x1c, 0x1d, 0xc0, 
+    0x0d, 0x34, 0x00, 0x70, 0x01, 0xdd, 0x0c, 0x00, 0x1c, 0x1d, 0xd3, 0x70, 0x04, 0xd3, 0x1c, 
+    0x1d, 0x37, 0x11, 0xcd, 0xc7, 0x7d, 0x10, 0x30, 0xd7, 0x00, 0x40, 0xbf, 0x98, 0x0b, 0xdc, 
+    0x4b, 0xf9, 0x5b, 0xf9, 0xbf, 0xa0, 0x30, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x00, 0x02, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xcd, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xd0, 0x00, 0x0d, 0x00, 0x34, 0x0d, 0x0d, 0x34, 0xd3, 0x77, 0x71, 0xc7, 0x1c, 
+    0x00, 0x70, 0x00, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x1c, 0x00, 0x00, 
+    0x0d, 0x37, 0x70, 0x70, 0x0d, 0x37, 0x1c, 0x0d, 0x37, 0x03, 0x77, 0x00, 0xdf, 0x77, 0x03, 
+    0x70, 0xdc, 0xdc, 0x80, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x4b, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x35, 0xc0, 0x00, 0x00, 0xd0, 0xd0, 0x00, 0x34, 0x00, 0x70, 0x00, 0x37, 0x07, 
+    0x74, 0x34, 0x0d, 0x31, 0xd3, 0x43, 0x40, 0xd0, 0xd0, 0x31, 0xc0, 0x00, 0x01, 0xc7, 0x1d, 
+    0xc1, 0xc0, 0x00, 0x01, 0xc7, 0x1b, 0xfa, 0x02, 0xc7, 0x71, 0xdd, 0xdd, 0xc1, 0xdc, 0x1d, 
+    0xc1, 0x00, 0x0c, 0xe0, 0x2c, 0x37, 0x5c, 0x74, 0x0d, 0xc3, 0x80, 0x83, 0x04, 0xc0, 0x70, 
+    0x02, 0x02, 0x2f, 0xed, 0x1e, 0x02, 0xcb, 0xf9, 0x40, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x00, 0x00, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x1c, 0x07, 0x01, 0xc0, 0x70, 0x1c, 0x01, 0xc0, 0x1c, 0x01, 0xc0, 0x01, 0xc0, 0x00, 
+    0x1c, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x77, 
+    0x77, 0x70, 0x70, 0x1c, 0x00, 0x00, 0x03, 0x40, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x01, 0xc0, 
+    0x03, 0x43, 0x71, 0xc0, 0x00, 0x37, 0x70, 0x0d, 0x31, 0xc3, 0x70, 0x0d, 0xc3, 0x03, 0x7d, 
+    0xdf, 0x00, 0xcc, 0x50, 0x00, 0x55, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 
+    0xdd, 0xdd, 0xd3, 0x43, 0x40, 0x34, 0x0d, 0x34, 0xdd, 0xd3, 0x74, 0x0d, 0x34, 0xdc, 0x4d, 
+    0xd3, 0x77, 0x77, 0x74, 0x34, 0x03, 0x77, 0x1c, 0x77, 0x71, 0xd3, 0x43, 0x1c, 0x07, 0x1c, 
+    0x00, 0x77, 0x1d, 0x0d, 0xc1, 0xc0, 0x07, 0x77, 0x1d, 0x30, 0x10, 0xc0, 0x38, 0x0b, 0x70, 
+    0x77, 0x43, 0x41, 0xf7, 0x70, 0x6f, 0xe5, 0x1b, 0xf4, 0x52, 0xfe, 0x5e, 0x02, 0xc1, 0xbf, 
+    0xb8, 0x0b, 0x20, 0x2b, 0xf8, 0x20, 0x20, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x97, 0x00, 0x01, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x1c, 0x00, 0x70, 0x01, 0xc0, 0x00, 0x70, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x40, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdc, 
+    0x71, 0xc0, 0x1c, 0x00, 0x00, 0x34, 0x03, 0x43, 0x4d, 0xdd, 0xdd, 0xdc, 0x70, 0x70, 0x00, 
+    0x0d, 0x37, 0x77, 0x00, 0x00, 0xdd, 0xc0, 0x03, 0x77, 0x03, 0x71, 0xbf, 0x90, 0xc3, 0x70, 
+    0x30, 0x0c, 0x0d, 0xcc, 0x80, 0x80, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x70, 
+    0x00, 0x00, 0x00, 0x00, 0xd3, 0x4d, 0x00, 0xd0, 0x00, 0x70, 0x03, 0x43, 0x74, 0xd3, 0x40, 
+    0xd0, 0x37, 0x71, 0xd3, 0x43, 0x4d, 0x00, 0xd0, 0xdc, 0x71, 0xd3, 0x4d, 0xc7, 0x13, 0x4d, 
+    0xc7, 0x34, 0x37, 0x5c, 0x77, 0x00, 0x1d, 0xd0, 0xdc, 0x07, 0x1d, 0xc0, 0x07, 0x07, 0x07, 
+    0x10, 0x3d, 0xd1, 0xc7, 0x40, 0xc1, 0xd7, 0x38, 0x0b, 0x2f, 0xe4, 0x1d, 0xd3, 0x07, 0x07, 
+    0x07, 0x20, 0x2b, 0xf9, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x97, 0x00, 0x02, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x0d, 0x00, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x0d, 0x0d, 0x34, 0xdd, 0x37, 0x77, 0x71, 
+    0xc7, 0x07, 0x00, 0x00, 0x00, 0x34, 0x34, 0x37, 0x4d, 0xdd, 0xc7, 0x1c, 0x70, 0x07, 0x34, 
+    0x0d, 0xdd, 0xdc, 0x00, 0x03, 0x77, 0x06, 0xfe, 0x40, 0xc7, 0x0d, 0x31, 0xf4, 0xc0, 0xdc, 
+    0x03, 0x00, 0xdc, 0xdc, 0x80, 0xa0, 0x20, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 
+    0x01, 0xcd, 0x00, 0x00, 0xd3, 0x43, 0x41, 0xc0, 0x0d, 0x0d, 0x0d, 0x0d, 0x03, 0x40, 0x0d, 
+    0xdd, 0xd3, 0x74, 0xdd, 0x37, 0x40, 0x0d, 0x37, 0x1d, 0xd0, 0x34, 0x00, 0xc7, 0x38, 0x0b, 
+    0x07, 0x74, 0xdd, 0xc7, 0x77, 0x77, 0x01, 0x00, 0x37, 0x74, 0xd3, 0x77, 0x04, 0x0d, 0xf4, 
+    0x1d, 0x0d, 0xdf, 0x40, 0x01, 0xd0, 0xdc, 0xd1, 0x3d, 0x1c, 0x07, 0x74, 0xf1, 0x1b, 0xfa, 
+    0x02, 0x0d, 0xdf, 0x80, 0x80, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x01, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x34, 0x00, 0x0d, 0x00, 0x00, 0x34, 0x00, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x34, 
+    0x03, 0x40, 0x34, 0x0d, 0x03, 0x43, 0x40, 0xd3, 0x43, 0x4d, 0x37, 0x77, 0x77, 0x70, 0x70, 
+    0x70, 0x00, 0x00, 0x00, 0x34, 0x0d, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc7, 0x07, 0x00, 0x0d, 
+    0x0d, 0x37, 0x70, 0x70, 0x03, 0x4d, 0xc7, 0x00, 0xd3, 0x1c, 0x0d, 0xc0, 0x37, 0x03, 0x70, 
+    0x37, 0x0c, 0x03, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x07, 
+    0x00, 0xd0, 0x1c, 0x00, 0x0d, 0x00, 0x00, 0xd3, 0x77, 0x43, 0x40, 0x34, 0x37, 0x4d, 0x00, 
+    0x34, 0x03, 0x4d, 0x00, 0xd3, 0x43, 0x77, 0x77, 0x4d, 0x37, 0x71, 0xdd, 0xdc, 0x70, 0x34, 
+    0x71, 0xc7, 0x01, 0xc7, 0x07, 0x40, 0x00, 0xc7, 0x01, 0xd3, 0x40, 0xc0, 0x0c, 0x44, 0xdc, 
+    0x4d, 0xc7, 0x70, 0x1d, 0xc4, 0x00, 0x3d, 0x10, 0x6f, 0xee, 0x02, 0xf4, 0x80, 0x8e, 0xfe, 
+    0x20, 0x20, 0xdf, 0x80, 0x8d, 0x0b, 0xf8, 0x80, 0x90, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x01, 0x01, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x03, 0x40, 0x34, 0x00, 0xd0, 0x03, 0x40, 0x0d, 0x00, 0xd0, 0x34, 0x03, 0x40, 0xd0, 0xd0, 
+    0xd0, 0x34, 0xd0, 0xd0, 0xd3, 0x43, 0x4d, 0x34, 0xd3, 0x77, 0x4d, 0xc7, 0x71, 0xc7, 0x01, 
+    0xc0, 0x00, 0x00, 0x03, 0x43, 0x43, 0x4d, 0xd3, 0x77, 0x77, 0x1c, 0x70, 0x70, 0x00, 0xd0, 
+    0xd3, 0x77, 0x1c, 0x00, 0x00, 0xdd, 0xc7, 0x00, 0xd3, 0x1c, 0x37, 0x70, 0x0d, 0xc0, 0x37, 
+    0x00, 0x30, 0x0c, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x00, 0x00, 
+    0x00, 0x1c, 0x1c, 0x03, 0x43, 0x40, 0x00, 0x01, 0xc0, 0x00, 0xd0, 0xdd, 0xd0, 0x00, 0x00, 
+    0x03, 0x4d, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc0, 0x70, 0x1c, 
+    0x70, 0x07, 0x43, 0x4c, 0x1d, 0xdd, 0xc7, 0x1d, 0xc0, 0x04, 0x31, 0xc7, 0x10, 0xdc, 0x43, 
+    0x7d, 0x07, 0x4c, 0x74, 0x31, 0xc0, 0x1b, 0xf9, 0x70, 0x07, 0x17, 0xbf, 0x81, 0x4f, 0x40, 
+    0x13, 0x6f, 0xe8, 0x0b, 0xe0, 0x40, 0x00, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x97, 0x01, 0x02, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xbf, 0x90, 0xd0, 0xd0, 0x34, 0x03, 0x40, 0xd0, 0x34, 0x0d, 0x03, 0x43, 0x43, 0x43, 0x43, 
+    0x43, 0x4d, 0x34, 0x34, 0xd3, 0x4d, 0x34, 0xdd, 0x37, 0x4d, 0xdd, 0xdd, 0xdc, 0x71, 0xc1, 
+    0xc0, 0x07, 0x00, 0x34, 0x03, 0x43, 0x4d, 0x37, 0x4d, 0xdd, 0xc7, 0x1c, 0x70, 0x00, 0x00, 
+    0xd3, 0x4d, 0xc7, 0x1c, 0x00, 0x34, 0x37, 0x07, 0x03, 0x4d, 0xc0, 0x0d, 0xdc, 0x0d, 0xdc, 
+    0x34, 0xdc, 0x37, 0x70, 0x80, 0x80, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x3a, 0x00, 0x00, 0x00, 
+    0x00, 0x70, 0x1c, 0x34, 0x00, 0x00, 0x00, 0x03, 0x40, 0x00, 0x03, 0x4c, 0x4d, 0xdd, 0x34, 
+    0x0d, 0x00, 0xd3, 0x40, 0x03, 0x43, 0x40, 0x0d, 0xdd, 0x34, 0x34, 0xdd, 0xd3, 0x4c, 0x70, 
+    0x1c, 0x77, 0x1c, 0x00, 0x4d, 0x03, 0x70, 0x1c, 0x4d, 0xdd, 0xdc, 0x00, 0x1d, 0xc0, 0x71, 
+    0x37, 0x00, 0x07, 0x40, 0xdd, 0xdc, 0xd7, 0x5c, 0xdc, 0xd4, 0xbf, 0x90, 0x38, 0x09, 0xfc, 
+    0x41, 0xd7, 0x00, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x97, 0x01, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x34, 0x00, 0x34, 0x0d, 0x00, 0x34, 0xd3, 0x4d, 
+    0xdd, 0xdc, 0x71, 0xc0, 0x07, 0x0d, 0x00, 0x34, 0xd3, 0x77, 0x77, 0x1c, 0x70, 0x1c, 0x00, 
+    0x34, 0xd3, 0x70, 0x70, 0x0d, 0x37, 0x70, 0x0d, 0x31, 0xc3, 0x71, 0xf7, 0x73, 0x70, 0xdc, 
+    0x0d, 0xbf, 0x9d, 0xbf, 0x93, 0x20, 0x20, 0x00, 0x00, 0x43, 0x00, 0x43, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x07, 0x00, 0xd0, 0x0e, 0x02, 0xc0, 0x34, 0x34, 0xd0, 0x00, 0x0d, 0x34, 0xd0, 
+    0x34, 0x00, 0x34, 0x0d, 0x03, 0x43, 0x43, 0x4d, 0xdd, 0xdd, 0xdd, 0xd0, 0x00, 0x0d, 0x0d, 
+    0xdc, 0x77, 0x74, 0xc0, 0x70, 0x01, 0xc7, 0x1d, 0xdc, 0x70, 0x1c, 0x71, 0xdd, 0x31, 0xc0, 
+    0x71, 0xc1, 0xc7, 0x77, 0x00, 0x01, 0x00, 0xc1, 0xdc, 0x1c, 0xd4, 0x31, 0x37, 0x07, 0x35, 
+    0x5b, 0xf1, 0x40, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x01, 0x01, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xf4, 0x03, 0x40, 0x00, 0x0d, 0x00, 0x00, 0xd0, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x03, 
+    0x43, 0x43, 0x43, 0x43, 0x4d, 0x0d, 0x34, 0xd3, 0x4d, 0xd3, 0x77, 0x77, 0x77, 0x71, 0xc7, 
+    0x1c, 0x07, 0x00, 0x00, 0x03, 0x43, 0x43, 0x74, 0xdd, 0xc7, 0x71, 0xc0, 0x70, 0x03, 0x43, 
+    0x4d, 0xdd, 0xc1, 0xc0, 0xd0, 0xdd, 0xc0, 0x00, 0xdd, 0xc0, 0x37, 0x70, 0xdd, 0xc3, 0x77, 
+    0x03, 0x70, 0xdc, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x39, 0x00, 0x00, 0x01, 
+    0xc3, 0x40, 0x00, 0xd3, 0x40, 0x01, 0xc0, 0x00, 0x34, 0x0d, 0x03, 0x40, 0x0d, 0xdc, 0x4d, 
+    0x34, 0x34, 0x00, 0x00, 0x0d, 0x70, 0x34, 0x37, 0x1d, 0xd0, 0x00, 0xdd, 0xdc, 0x74, 0xd3, 
+    0x4d, 0xdc, 0x1f, 0x40, 0x10, 0xdc, 0x74, 0x0c, 0x00, 0x4d, 0x37, 0x13, 0x71, 0xd3, 0x00, 
+    0x04, 0x30, 0xd1, 0x03, 0xd0, 0x70, 0x4c, 0x03, 0x44, 0xbf, 0x92, 0x02, 0x0c, 0xf8, 0x08, 
+    0xc7, 0xe0, 0x23, 0x20, 0x2f, 0x70, 0x00, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x93, 0x01, 0x02, 0x01, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xf4, 0x34, 0x03, 0x40, 0x03, 0x40, 0x34, 0x03, 0x40, 0xd0, 0x34, 0x34, 0x34, 0x34, 0xd0, 
+    0xd3, 0x4d, 0x37, 0x4d, 0x37, 0x4d, 0xdd, 0x37, 0x77, 0x77, 0x77, 0x1d, 0xc7, 0x1c, 0x70, 
+    0x70, 0x70, 0x00, 0x00, 0x00, 0x03, 0x43, 0x4d, 0xdd, 0xdc, 0x71, 0xc0, 0x1f, 0x40, 0x34, 
+    0xdd, 0xc7, 0x1c, 0x00, 0xd3, 0x77, 0x1c, 0x0d, 0x37, 0x70, 0xd3, 0x70, 0x0d, 0xdc, 0x0d, 
+    0xdc, 0xd3, 0x00, 0x50, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x1c, 
+    0x00, 0x34, 0x0d, 0x0d, 0x37, 0x4d, 0x1c, 0x00, 0x00, 0x0d, 0x00, 0x34, 0x03, 0x43, 0x71, 
+    0xc7, 0x1d, 0x34, 0x0d, 0x0d, 0x00, 0xd3, 0x4d, 0x03, 0x40, 0xc7, 0x01, 0xd3, 0x43, 0x4d, 
+    0xdc, 0x74, 0xdc, 0x40, 0x31, 0xdd, 0xc7, 0x77, 0x77, 0x07, 0x74, 0x30, 0xe0, 0x2d, 0x03, 
+    0x31, 0x04, 0xdc, 0x74, 0xf1, 0x4c, 0x34, 0x70, 0x5f, 0x06, 0xfe, 0x20, 0x20, 0xc0, 0x40, 
+    0x00, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x02, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xbf, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 
+    0x00, 0x00, 0x00, 0xd0, 0x00, 0x03, 0x40, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdd, 0xc7, 0x07, 
+    0x01, 0xc0, 0x00, 0x00, 0x00, 0x34, 0x03, 0x43, 0x4d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, 
+    0x00, 0x03, 0x4d, 0xdc, 0x70, 0x00, 0x0d, 0xdc, 0x00, 0x34, 0xc0, 0x0d, 0xc0, 0x31, 0xbf, 
+    0x93, 0x00, 0xc0, 0xc3, 0x73, 0x60, 0x20, 0x00, 0x00, 0x56, 0x00, 0x56, 0x00, 0x00, 0x07, 
+    0x00, 0x34, 0xd0, 0x0d, 0x00, 0xd3, 0x43, 0x40, 0x00, 0x34, 0xd0, 0xd0, 0x0d, 0x00, 0x00, 
+    0xdd, 0xd3, 0x74, 0xdd, 0x37, 0x71, 0xc4, 0xdc, 0x71, 0xc0, 0x07, 0x01, 0xbf, 0x90, 0x00, 
+    0x00, 0x1c, 0x1c, 0x71, 0xc0, 0x00, 0x01, 0xc1, 0x37, 0x71, 0xdd, 0xc4, 0x0c, 0x77, 0x10, 
+    0x37, 0x80, 0xb3, 0x1c, 0x43, 0x74, 0x34, 0x0d, 0x13, 0xdd, 0x7c, 0x01, 0x0b, 0xfa, 0x02, 
+    0x37, 0x4b, 0xf9, 0x4d, 0xbf, 0x86, 0x02, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9f, 0x02, 0x01, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xbf, 0x90, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x34, 0x00, 0x03, 
+    0x40, 0x00, 0xd0, 0x03, 0x40, 0x34, 0x0d, 0x03, 0x4d, 0x34, 0xdd, 0xdd, 0xdc, 0x71, 0xc0, 
+    0x07, 0x00, 0x00, 0x34, 0x00, 0xd0, 0x34, 0xd3, 0x4d, 0x37, 0x77, 0x71, 0xc7, 0x07, 0x00, 
+    0x00, 0xd0, 0xdd, 0xc7, 0x07, 0x0d, 0x0d, 0xdc, 0x00, 0x37, 0x70, 0x0d, 0xc0, 0x0c, 0x00, 
+    0xdc, 0x37, 0x37, 0x7d, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x00, 0x00, 
+    0x00, 0x0d, 0x00, 0x03, 0x43, 0x4d, 0x00, 0xd0, 0x00, 0x00, 0x03, 0x43, 0x74, 0x0d, 0x0d, 
+    0xdd, 0xdd, 0x00, 0xd0, 0x34, 0x34, 0xdd, 0xdd, 0x37, 0x00, 0x1c, 0x74, 0xdc, 0xd0, 0x77, 
+    0x1c, 0x00, 0x70, 0x00, 0x1c, 0x77, 0x40, 0x37, 0x00, 0x01, 0x1c, 0x0c, 0x1c, 0x04, 0xc7, 
+    0x07, 0x71, 0x13, 0x0d, 0x03, 0x70, 0x20, 0x2c, 0xbf, 0x9e, 0x02, 0x3d, 0x5e, 0xfe, 0x54, 
+    0xbf, 0x80, 0x48, 0x0a, 0xfe, 0xbf, 0xb8, 0x0f, 0x1f, 0x80, 0xd0, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x02, 0x02, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xbf, 0x90, 0x00, 0xd0, 0x00, 0x00, 0xd0, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xd0, 
+    0x03, 0x40, 0xd0, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x37, 0x4d, 0xdd, 0xdd, 0xc7, 0x07, 0x00, 
+    0x70, 0x00, 0x34, 0x00, 0xd0, 0x34, 0xd0, 0xdd, 0x37, 0x77, 0x77, 0x1d, 0xc1, 0xc0, 0x00, 
+    0x0d, 0x0d, 0xdd, 0xdc, 0x00, 0x00, 0xd3, 0x1c, 0x00, 0x37, 0x1c, 0x34, 0xc0, 0x0c, 0x70, 
+    0x37, 0x03, 0x70, 0xdd, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x37, 0x4d, 0x0d, 0x37, 0x40, 0x00, 0x00, 0x03, 0x40, 0x0d, 0x00, 
+    0x0d, 0x31, 0xdd, 0x0d, 0x03, 0x43, 0x4d, 0x37, 0x07, 0x04, 0xc7, 0x07, 0x1c, 0x70, 0x70, 
+    0x01, 0xd3, 0x70, 0x1c, 0x70, 0x73, 0x41, 0xd0, 0xd0, 0x0c, 0x70, 0x04, 0x0c, 0x1c, 0x47, 
+    0xc0, 0x04, 0x03, 0x04, 0x30, 0x1d, 0x0c, 0x40, 0x1c, 0x7c, 0x38, 0x08, 0x2f, 0xe8, 0x09, 
+    0xbf, 0x8d, 0x80, 0xbb, 0xfa, 0x02, 0xc0, 0x20, 0x20, 
+
+    0x01, 0x24, 0xfd, 0x97, 0x02, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x07, 0x00, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x40, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xc7, 
+    0x70, 0x1c, 0x00, 0x00, 0x03, 0x40, 0xd0, 0xd3, 0x4d, 0xdd, 0xdd, 0xc7, 0x1c, 0x1c, 0x00, 
+    0x34, 0x37, 0x77, 0x00, 0x00, 0x37, 0x70, 0x00, 0xdc, 0x73, 0x4c, 0x00, 0xc0, 0x30, 0x0c, 
+    0x0c, 0x0c, 0x0c, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x00, 0x00, 0x1c, 0x34, 0x34, 0x0d, 
+    0x00, 0xd0, 0x0d, 0x03, 0x40, 0x00, 0x34, 0xdd, 0xdd, 0x34, 0x34, 0xd3, 0x43, 0x4d, 0x37, 
+    0x13, 0x40, 0x00, 0x03, 0x43, 0x4d, 0xdd, 0xc0, 0x6f, 0xe4, 0xd0, 0x00, 0x1d, 0xdc, 0x1c, 
+    0x1c, 0x01, 0xd3, 0x00, 0x1c, 0x1c, 0x71, 0xdd, 0xd3, 0x40, 0xc7, 0x04, 0xc3, 0x50, 0x00, 
+    0x00, 0xc1, 0x03, 0x00, 0x01, 0x80, 0xaf, 0xec, 0x5b, 0xfb, 0x80, 0x9f, 0x04, 0x31, 0x1f, 
+    0x46, 0xfe, 0x40, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9b, 0x02, 0x01, 0x01, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 
+    0x00, 0x0d, 0x00, 0x00, 0xd0, 0x03, 0x40, 0xd0, 0x34, 0xd3, 0x4d, 0x37, 0x77, 0x1c, 0x70, 
+    0x70, 0x00, 0x00, 0x0d, 0x03, 0x43, 0x4d, 0x34, 0xdd, 0xdd, 0xc7, 0x1c, 0x70, 0x07, 0xd0, 
+    0x0d, 0x37, 0x1c, 0x1c, 0x34, 0x37, 0x70, 0x00, 0xdd, 0xc0, 0xdd, 0xc0, 0xc7, 0xdd, 0xc0, 
+    0xc0, 0x37, 0x30, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x49, 0x00, 0x00, 0x00, 
+    0x00, 0x03, 0x40, 0x00, 0x00, 0x03, 0x43, 0x4d, 0xd3, 0x40, 0x00, 0xd0, 0x03, 0x43, 0x43, 
+    0x77, 0x00, 0x70, 0x77, 0x40, 0x00, 0xd3, 0x77, 0x70, 0x07, 0x4d, 0x0d, 0xdc, 0x77, 0x1c, 
+    0x1c, 0x1c, 0x07, 0x77, 0x70, 0x07, 0x1d, 0xdd, 0xdc, 0x43, 0x40, 0xdd, 0xc1, 0xd0, 0x0c, 
+    0x1c, 0x1d, 0xd3, 0x04, 0x30, 0x1d, 0xc7, 0x80, 0x8c, 0x30, 0xd2, 0x02, 0xf1, 0x34, 0x0c, 
+    0x80, 0xef, 0xed, 0x6f, 0xd7, 0x50, 0x00, 0x00, 0x00, 
+
+    0x01, 0x24, 0xfd, 0x9f, 0x02, 0x02, 0x01, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0x0d, 0x00, 0x0d, 
+    0x00, 0xd0, 0x0d, 0x0d, 0x03, 0x43, 0x4d, 0x34, 0xd3, 0x74, 0xdd, 0xdd, 0xdc, 0x71, 0xc1, 
+    0xc0, 0x00, 0x00, 0x00, 0xd0, 0xd0, 0xdd, 0x37, 0x77, 0x1d, 0xc7, 0x07, 0x00, 0x00, 0x00, 
+    0xd3, 0x77, 0x1c, 0x00, 0x0d, 0x37, 0x70, 0x03, 0x4c, 0x70, 0xdd, 0xc0, 0xdc, 0x7d, 0x30, 
+    0x0d, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x41, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x34, 0x00, 0xd3, 0x4d, 0x34, 0x34, 0x0d, 0x00, 0xd0, 0x34, 0xd3, 0x40, 0x34, 
+    0x31, 0xd3, 0x40, 0x37, 0x71, 0xc7, 0x74, 0x00, 0x00, 0x0d, 0x34, 0xd3, 0x77, 0x77, 0x74, 
+    0x37, 0x07, 0x1c, 0x07, 0x1d, 0xc0, 0x13, 0x4d, 0x34, 0xd3, 0x40, 0xc6, 0xfe, 0x47, 0x71, 
+    0xd3, 0x70, 0x34, 0x41, 0xf0, 0x1e, 0x02, 0xf6, 0xfe, 0x44, 0x0d, 0xc1, 0xd6, 0xfe, 0x1b, 
+    0xf9, 0x07, 0x4c, 0xe0, 0x23, 0x78, 0x0a, 0xfd, 0x20, 0x30, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x65, 0xd4, 0x33, 0x19, 0x00, 0x60, 0x00, 0x00, 0x0b, 0x00, 0x0b, 0x00, 
+    0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x12, 0x00, 0x1c, 
+    0x00, 0x2d, 0x00, 0x48, 0x00, 0x72, 0x00, 0xb5, 0x00, 0x1f, 0x01, 0x00, 0x00, 0x0e, 0x00, 
+    0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x17, 
+    0x00, 0x24, 0x00, 0x39, 0x00, 0x5a, 0x00, 0x90, 0x00, 0xe4, 0x00, 0x6a, 0x01, 0x00, 0x00, 
+    0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 
+    0x00, 0x17, 0x00, 0x24, 0x00, 0x39, 0x00, 0x5a, 0x00, 0x90, 0x00, 0xe4, 0x00, 0x6a, 0x01, 
+    
+
+    0x01, 0x76, 0xfd, 0x31, 0x01, 0x21, 0x54, 0x00, 0x00, 0x61, 0x57, 0x00, 0x00, 0x14, 0x05, 
+    0x0a, 0x05, 0x00, 0x07, 0x06, 0x0a, 0x04, 0x05, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 
+    0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 
+    0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x80, 0xfd, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
+
+    0x01, 0x80, 0xfd, 0x06, 0x3c, 0xf0, 0x5f, 0x00, 0x00, 0x00, 
+
+    // 
+    // 
+    0x01, 0xd1, 0xff, 0x02, 0x00, 0x00, 
+
+    0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, 
+    0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x38, 0xfe, 0x00, 
+
+    // 
+    // #################################################################
+    // ## START of Panasonic Adds-On
+    // #################################################################
+    // 
+    // ## Enable fast clock XTAL support
+    0x01, 0x1c, 0xfd, 0x14, 0x01, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, 
+    0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 
+
+    // 
+    // ## Enable LPS
+    0x01, 0x2e, 0xfd, 0x0d, 0x01, 0x58, 0x02, 0x06, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 
+
+    // 
+    // ## Enable eHCILL
+    0x01, 0x2b, 0xfd, 0x05, 0x10, 0x00, 0x50, 0x00, 0x96, 
+
+    // 
+    0x01, 0x0c, 0xfd, 0x09, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x64, 0x00,
+
+    // 
+    // #################################################################
+    // ## END of Panasonic Adds-On
+    // #################################################################
+};
+
+// with eHCILL
+const uint32_t cc256x_init_script_size = 41239;
+
+// without eHCILL
+//const uint32_t cc256x_init_script_size = 41217;
+
diff --git a/metawatch/bluetooth_init_cc2564_2.8.bts b/metawatch/bluetooth_init_cc2564_2.8.bts
new file mode 120000 (symlink)
index 0000000..eaabc8d
--- /dev/null
@@ -0,0 +1 @@
+CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.8.bts
\ No newline at end of file
diff --git a/metawatch/bluetooth_init_cc2564_2.8.c b/metawatch/bluetooth_init_cc2564_2.8.c
new file mode 100644 (file)
index 0000000..e03d78b
--- /dev/null
@@ -0,0 +1,1487 @@
+// init script created from bluetooth_init_cc2564_2.8.bts
+#include <stdint.h>
+
+#if defined(__GNUC__) && (__MSP430X__ > 0)
+__attribute__((section (".fartext")))
+#endif
+const uint8_t cc256x_init_script[] = {
+
+    // #--------------------------------------------------------------------------------
+    // # Description : Orca 5500 L ROM Initialization Script
+    // #
+    // # Compatibility: Orca, 6.0.15 ROM
+    // #
+    // # Last Updated: 20-Dec-2012  14:33:32.90
+    // #
+    // # Version     : TI_P6_15.77
+    // #
+    // #
+    // #
+    // #
+    // # Notes       : Use this script on Orca 5500 L, 6.0.15 ROM device only (FW v6.0.15)
+    // #--------------------------------------------------------------------------------
+    // 
+    // #################################################################
+    // ## START of CC256x Add-On
+    // #################################################################
+    // 
+    // ## Change UART baudrate
+    // 
+    // #################################################################
+    // ## END of CC256x Add-On
+    // #################################################################
+    // 
+    // 
+    0x01, 0x37, 0xfe, 0x02, 0x06, 0x0f, 
+
+    // 
+    // 
+    0x01, 0x05, 0xff, 0xff, 0xa0, 0x62, 0x08, 0x00, 0xfa, 0x06, 0x0f, 0x3d, 0x4d, 0xfb, 0x01, 
+    0x00, 0x1f, 0x00, 0x00, 0x05, 0x00, 0x05, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x05, 0x00, 0x05, 
+    0xc0, 0x01, 0x40, 0x1f, 0x30, 0x05, 0x00, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x3d, 0x01, 
+    0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0x76, 0x02, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0xae, 
+    0x03, 0x04, 0xc0, 0x03, 0xc0, 0x1e, 0x38, 0xae, 0x0b, 0x01, 0x00, 0x34, 0x30, 0x41, 0x02, 
+    0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x12, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x31, 0x9d, 
+    0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xb5, 0x85, 0xb0, 
+    0x06, 0x06, 0x36, 0x0e, 0x6c, 0x46, 0x26, 0x70, 0x03, 0x21, 0x08, 0x1a, 0x60, 0x70, 0x02, 
+    0xa8, 0x04, 0xa9, 0x03, 0xaa, 0x01, 0xab, 0x01, 0x25, 0xae, 0x46, 0x0d, 0x4f, 0xfe, 0x44, 
+    0x38, 0x47, 0x0d, 0x48, 0x2f, 0x30, 0xa1, 0x89, 0x81, 0x42, 0x03, 0xdb, 0xa0, 0x89, 0xff, 
+    0x38, 0x91, 0x38, 0x01, 0xe0, 0xa0, 0x89, 0xc8, 0x30, 0xa0, 0x80, 0x6b, 0x46, 0x1e, 0x70, 
+    0x02, 0x98, 0x99, 0x88, 0x04, 0x9a, 0x9b, 0x89, 0xae, 0x46, 0x03, 0x4c, 0xfe, 0x44, 0x20, 
+    0x47, 0x05, 0xb0, 0xf0, 0xbd, 0xa5, 0xc4, 0x03, 0x00, 0x51, 0xc2, 0x03, 0x00, 0x43, 0x02, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x9a, 0x63, 0x08, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xe2, 0x48, 0x00, 0x78, 0x02, 0x28, 0x0f, 0xd1, 0xe1, 0x48, 0x41, 0x88, 0x09, 0x09, 0x0b, 
+    0xd2, 0x41, 0x88, 0x49, 0x08, 0x08, 0xd2, 0x42, 0x88, 0x10, 0x21, 0x11, 0x43, 0x41, 0x80, 
+    0x02, 0x88, 0x01, 0x21, 0x89, 0x03, 0x11, 0x43, 0x01, 0x80, 0xf7, 0x46, 0xd8, 0x48, 0x00, 
+    0x78, 0x02, 0x28, 0x0f, 0xd1, 0xd7, 0x48, 0x41, 0x88, 0x09, 0x09, 0x0b, 0xd2, 0x41, 0x88, 
+    0x49, 0x08, 0x08, 0xd2, 0x10, 0x22, 0x41, 0x88, 0x91, 0x43, 0x41, 0x80, 0x01, 0x22, 0x92, 
+    0x03, 0x01, 0x88, 0x91, 0x43, 0x01, 0x80, 0xf7, 0x46, 0x10, 0xb5, 0x03, 0x7e, 0xe2, 0x49, 
+    0xe3, 0x4a, 0xe4, 0x48, 0x00, 0x2b, 0x09, 0xd1, 0x94, 0x38, 0x82, 0x18, 0x04, 0x20, 0x00, 
+    0x23, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x10, 0xbd, 0x82, 0x18, 
+    0x04, 0x20, 0x00, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x10, 
+    0xbd, 0xf0, 0xb5, 0x04, 0x69, 0xc7, 0x26, 0x30, 0x5d, 0x04, 0x28, 0x24, 0xd1, 0xc8, 0x25, 
+    0x28, 0x5d, 0x18, 0x28, 0x03, 0xd1, 0x6a, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x16, 0xd0, 0x28, 
+    0x5d, 0x19, 0x28, 0x19, 0xd1, 0xce, 0x20, 0x00, 0x5d, 0x16, 0x28, 0x15, 0xd1, 0xb5, 0x27, 
+    0x38, 0x5d, 0x01, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0x94, 0x64, 0x08, 0x00, 0xfa, 0x8e, 0x46, 0xce, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x00, 0x22, 0x38, 0x5d, 0x60, 0x21, 0x41, 0x43, 0xcb, 0x48, 0x42, 0x54, 0x32, 
+    0x55, 0x2a, 0x55, 0xf0, 0xbd, 0x20, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xc8, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0xf0, 0xbd, 0xf0, 0xb5, 0x86, 0xb0, 0x07, 0x1c, 0xbe, 0x69, 0xb9, 0x8a, 0x03, 
+    0x91, 0x00, 0x20, 0x6a, 0x46, 0x50, 0x71, 0x6c, 0x46, 0x20, 0x71, 0xe8, 0x48, 0x44, 0x38, 
+    0x08, 0x1a, 0x01, 0x28, 0x0b, 0xd9, 0x05, 0x38, 0x09, 0xd0, 0x68, 0x38, 0x01, 0x28, 0x06, 
+    0xd9, 0x04, 0x38, 0x04, 0xd0, 0x2f, 0x38, 0x02, 0xd0, 0x24, 0x38, 0x02, 0x28, 0x0b, 0xd8, 
+    0x00, 0x97, 0x03, 0x98, 0x31, 0x1c, 0x52, 0x1d, 0x01, 0xab, 0x01, 0x25, 0xae, 0x46, 0xe5, 
+    0x4d, 0xfe, 0x44, 0x28, 0x47, 0x00, 0x28, 0x5d, 0xd1, 0x03, 0x98, 0xd9, 0x49, 0x41, 0x1a, 
+    0xe2, 0x48, 0x3a, 0xd0, 0x59, 0x39, 0x46, 0xd0, 0x1c, 0x39, 0x2d, 0xd0, 0x2c, 0x39, 0x52, 
+    0xd1, 0x30, 0x1c, 0x00, 0x21, 0x01, 0x25, 0xae, 0x46, 0xef, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x04, 0x90, 0xae, 0x46, 0xed, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x04, 0xd1, 0x02, 
+    0x20, 0x6a, 0x46, 0x10, 0x71, 0x7f, 0x20, 0x02, 0xe0, 0x00, 0x78, 0xe9, 0x49, 0x08, 0x56, 
+    0x05, 0x90, 0x02, 0xa8, 0x04, 0x99, 0xae, 0x46, 0xe7, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 
+    0x99, 0x01, 0x70, 0x03, 0x20, 0x6a, 0x46, 0x10, 0x70, 0x30, 0x1c, 0xc2, 0x49, 0xa1, 0x31, 
+    0x12, 0x79, 0x02, 0xab, 0xae, 0x46, 0xe1, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x26, 0xe0, 0x0e, 
+    0x21, 0x01, 0x22, 0x96, 0x46, 0xde, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x08, 0xd0, 
+    0x1d, 0xe0, 0x0d, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0x8e, 0x65, 0x08, 0x00, 0xfa, 0x01, 0x22, 0x96, 0x46, 0xda, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x01, 0x28, 0x15, 0xd1, 0x0c, 0x21, 0x68, 0x46, 0x01, 0x71, 0x01, 
+    0x21, 0x41, 0x71, 0x13, 0xe0, 0xec, 0x48, 0xf1, 0x7a, 0x01, 0x70, 0x31, 0x7b, 0x41, 0x70, 
+    0x71, 0x7b, 0x81, 0x70, 0xb1, 0x7b, 0xc1, 0x70, 0x01, 0x20, 0x6a, 0x46, 0x50, 0x71, 0xe7, 
+    0x48, 0x9e, 0x30, 0x38, 0x62, 0x03, 0xe0, 0x6a, 0x46, 0x50, 0x79, 0x01, 0x28, 0x0b, 0xd1, 
+    0x30, 0x1c, 0x03, 0x99, 0x6a, 0x46, 0x12, 0x79, 0x01, 0x23, 0x9e, 0x46, 0xe1, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0xdf, 0x48, 0x9e, 0x30, 0x38, 0x62, 0x06, 0xb0, 0xf0, 0xbd, 0xf8, 0xb5, 
+    0x06, 0x1c, 0xb5, 0x69, 0xb2, 0x8a, 0xdc, 0x48, 0x01, 0x1c, 0x11, 0x39, 0x52, 0x1a, 0x65, 
+    0xd0, 0x12, 0x1a, 0xda, 0x49, 0x22, 0xd0, 0x07, 0x3a, 0x00, 0xd0, 0x8d, 0xe0, 0x0e, 0x20, 
+    0x40, 0x19, 0x06, 0x22, 0xaa, 0x80, 0x08, 0x22, 0x6a, 0x80, 0x09, 0x78, 0x02, 0x29, 0x0c, 
+    0xd1, 0xd4, 0x49, 0x01, 0x24, 0xa6, 0x46, 0xd4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x21, 
+    0xa6, 0x46, 0xd1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x22, 0x00, 0xe0, 0x0c, 0x22, 0x28, 
+    0x1c, 0x87, 0x21, 0x89, 0x00, 0x01, 0x23, 0x9e, 0x46, 0xcd, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x6a, 0xe0, 0x08, 0x78, 0x02, 0x28, 0x33, 0xd1, 0x0b, 0x20, 0x40, 0x19, 0x01, 0x24, 0xa6, 
+    0x46, 0xc8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x90, 0xa6, 0x46, 0xc7, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x00, 0x06, 0x00, 0x0e, 0xa6, 0x46, 0xc5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, 
+    0x1c, 0x0e, 0x20, 0x40, 0x19, 0x00, 0x99, 0xa6, 0x46, 0x9d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x06, 0x21, 0xa9, 0x80, 
+
+    0x01, 0x05, 0xff, 0xff, 0x88, 0x66, 0x08, 0x00, 0xfa, 0x07, 0x21, 0x69, 0x80, 0x00, 0x2f, 
+    0x0b, 0xd0, 0x00, 0x99, 0xc9, 0x0a, 0x08, 0xd3, 0x3a, 0x21, 0xc9, 0x19, 0x05, 0x22, 0xa6, 
+    0x46, 0xba, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x22, 0x08, 0xe0, 0x00, 0x21, 0x05, 0x22, 
+    0xa6, 0x46, 0xb7, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x02, 0x22, 0x00, 0xe0, 0x0c, 0x22, 0x28, 
+    0x1c, 0xb4, 0x49, 0x01, 0x23, 0x9e, 0x46, 0xb4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2a, 0xe0, 
+    0x2f, 0x1c, 0x06, 0x20, 0xa8, 0x80, 0x0e, 0x20, 0x40, 0x19, 0x40, 0x21, 0x01, 0x24, 0xa6, 
+    0x46, 0xaf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xae, 0x48, 0x01, 0x1c, 0xcf, 0x22, 0x0a, 0x72, 
+    0x08, 0x31, 0x61, 0x22, 0x0a, 0x74, 0x19, 0x21, 0x02, 0x78, 0xba, 0x73, 0x01, 0x37, 0x01, 
+    0x30, 0x01, 0x39, 0xf9, 0xd1, 0x04, 0x20, 0xec, 0x49, 0x0a, 0x78, 0xba, 0x73, 0x01, 0x37, 
+    0x01, 0x31, 0x01, 0x38, 0xf9, 0xd1, 0x40, 0x20, 0x68, 0x80, 0x28, 0x1c, 0x81, 0x21, 0x49, 
+    0x00, 0x00, 0x22, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe2, 0x48, 0xfa, 0x30, 
+    0x30, 0x62, 0xf8, 0xbd, 0x30, 0xb5, 0x05, 0x1c, 0xe1, 0x48, 0x00, 0x78, 0x00, 0x28, 0x17, 
+    0xd1, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x00, 0x28, 0x0b, 0xd1, 
+    0xa6, 0x46, 0xdd, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x28, 0x05, 0xd0, 0xa6, 0x46, 0xdb, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x28, 0x04, 0xd1, 0x00, 0x20, 0x28, 0x60, 0xd9, 0x48, 
+    0x52, 0x30, 0x28, 0x62, 0x30, 0xbd, 0xc0, 0x46, 0xe8, 0x57, 0x08, 0x00, 0x60, 0x7a, 0x1a, 
+    0x00, 0x70, 0xb5, 0xd5, 0x49, 0x80, 0x8a, 0x88, 0x42, 0x20, 0xd1, 0xd4, 0x4b, 0xd4, 0x4a, 
+    0x00, 0x21, 0x40, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0x82, 0x67, 0x08, 0x00, 0xfa, 0x80, 0x5c, 0x00, 0x28, 0x0e, 0xd0, 
+    0x18, 0x78, 0xd2, 0x4e, 0x8c, 0x00, 0xd2, 0x4d, 0x2c, 0x19, 0x25, 0x6a, 0xb5, 0x42, 0x0b, 
+    0xd8, 0x64, 0x68, 0xb4, 0x42, 0x08, 0xd8, 0x01, 0x24, 0x8c, 0x40, 0xa0, 0x43, 0x18, 0x70, 
+    0xa8, 0x32, 0x01, 0x31, 0x07, 0x29, 0xe8, 0xdb, 0x70, 0xbd, 0x0a, 0x06, 0x12, 0x0e, 0x01, 
+    0x21, 0x91, 0x40, 0x01, 0x43, 0x19, 0x70, 0x70, 0xbd, 0xc0, 0x46, 0xf1, 0x70, 0x08, 0x00, 
+    0xc9, 0x98, 0x00, 0x00, 0x33, 0x70, 0x08, 0x00, 0xd3, 0x03, 0x00, 0x00, 0xc9, 0xa2, 0x00, 
+    0x00, 0x76, 0xa0, 0x1b, 0x00, 0x6d, 0x97, 0x00, 0x00, 0x70, 0xb5, 0x06, 0x1c, 0xb5, 0x69, 
+    0x28, 0x88, 0x00, 0x0a, 0x01, 0x02, 0x35, 0x20, 0x00, 0x02, 0x08, 0x1a, 0x23, 0xd0, 0x09, 
+    0x21, 0x49, 0x02, 0x40, 0x1a, 0x3c, 0xd1, 0xe8, 0x48, 0x00, 0x68, 0x00, 0x28, 0x0e, 0xd1, 
+    0xe8, 0x88, 0x00, 0x04, 0xa9, 0x88, 0x08, 0x43, 0x01, 0x24, 0xa6, 0x46, 0x54, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x28, 0x1c, 0xa6, 0x46, 0xe2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x24, 0xe0, 
+    0x7d, 0x20, 0xc0, 0x00, 0x01, 0x24, 0xa6, 0x46, 0xdf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x28, 
+    0x1c, 0xa6, 0x46, 0xe9, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x17, 0xe0, 0xe8, 0x88, 0x11, 0x21, 
+    0x49, 0x01, 0x41, 0x43, 0xe7, 0x48, 0x40, 0x18, 0x3b, 0x21, 0x0a, 0x5c, 0x3c, 0x21, 0x09, 
+    0x5c, 0x11, 0x43, 0x05, 0xd1, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xe3, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xcf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xdc, 
+    0x49, 0x05, 0x20, 0x00, 0x02, 0x40, 0x18, 0x30, 0x62, 0x70, 0xbd, 0x5b, 0xfd, 0x00, 0x00, 
+    0x10, 0xb5, 0x04, 0x1c, 
+
+    0x01, 0x05, 0xff, 0xff, 0x7c, 0x68, 0x08, 0x00, 0xfa, 0xe9, 0x48, 0x00, 0x78, 0x01, 0x28, 
+    0x08, 0xd1, 0x60, 0x69, 0x01, 0x21, 0x8e, 0x46, 0xc5, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xe5, 
+    0x48, 0x1a, 0x30, 0x20, 0x62, 0x10, 0xbd, 0xf3, 0x06, 0x18, 0x00, 0xc0, 0x61, 0x1a, 0x00, 
+    0x30, 0xb5, 0x04, 0x1c, 0xa1, 0x69, 0x00, 0x29, 0x1c, 0xd0, 0x20, 0x69, 0x02, 0x78, 0xff, 
+    0x2a, 0x18, 0xd0, 0x8a, 0x88, 0x89, 0x18, 0x08, 0x22, 0xca, 0x42, 0x13, 0xd0, 0x39, 0x22, 
+    0x12, 0x5c, 0x0a, 0x2a, 0x0f, 0xd1, 0x09, 0x7a, 0x4a, 0x08, 0x0f, 0x2a, 0x0b, 0xd1, 0xc9, 
+    0x07, 0xc9, 0x0f, 0x0f, 0x22, 0x2a, 0x23, 0x01, 0x25, 0xae, 0x46, 0xdd, 0x4d, 0xfe, 0x44, 
+    0x28, 0x47, 0xc1, 0x48, 0xf0, 0x30, 0x20, 0x62, 0x30, 0xbd, 0xc0, 0x46, 0xd1, 0x2b, 0x00, 
+    0x00, 0x65, 0x8b, 0x01, 0x00, 0x50, 0x21, 0x08, 0x00, 0x69, 0x2c, 0x00, 0x00, 0x0d, 0x78, 
+    0x05, 0x00, 0x2f, 0x4a, 0x05, 0x00, 0x70, 0xb5, 0x85, 0xb0, 0x05, 0x1c, 0x68, 0x69, 0xec, 
+    0x4e, 0x01, 0x24, 0x34, 0x70, 0x01, 0x7a, 0x89, 0x06, 0x09, 0x0e, 0xea, 0x4a, 0x52, 0x58, 
+    0x69, 0x46, 0xa6, 0x46, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x20, 0x30, 0x70, 0x68, 0x46, 0x01, 
+    0x7c, 0x6e, 0x46, 0x72, 0x7c, 0x14, 0x20, 0xa6, 0x46, 0xe4, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0x68, 0x46, 0x01, 0x7c, 0x06, 0x29, 0x04, 0xd0, 0xa6, 0x46, 0xe1, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x04, 0xe0, 0xe0, 0x4a, 0x34, 0x21, 0x88, 0x5c, 0x01, 0x30, 0x88, 0x54, 0xdf, 0x48, 
+    0x4e, 0x30, 0x28, 0x62, 0x05, 0xb0, 0x70, 0xbd, 0x68, 0x63, 0x08, 0x00, 0x81, 0x60, 0x00, 
+    0x00, 0x99, 0x77, 0x05, 0x00, 0x13, 0x10, 0x00, 0x00, 0x41, 0x10, 0x08, 0x00, 0xff, 0xff, 
+    0xff, 0x1f, 0x53, 0x2c, 
+
+    0x01, 0x05, 0xff, 0xff, 0x76, 0x69, 0x08, 0x00, 0xfa, 0x00, 0x00, 0xc1, 0x50, 0x02, 0x00, 
+    0x73, 0x2c, 0x00, 0x00, 0x71, 0x8b, 0x04, 0x00, 0x9b, 0x8b, 0x04, 0x00, 0x21, 0xa7, 0x05, 
+    0x00, 0xc1, 0xad, 0x05, 0x00, 0x15, 0x20, 0x00, 0x00, 0xa7, 0x50, 0x02, 0x00, 0x91, 0x1c, 
+    0x04, 0x00, 0xb3, 0x11, 0x08, 0x00, 0xf8, 0xb5, 0x07, 0x1c, 0x7c, 0x69, 0x3d, 0x69, 0x38, 
+    0x7f, 0x17, 0x21, 0x40, 0x1a, 0x26, 0xd0, 0x0d, 0x38, 0x16, 0xd0, 0x5b, 0x38, 0x63, 0xd1, 
+    0xff, 0x20, 0x7d, 0x30, 0x00, 0x5d, 0x0c, 0x28, 0x5e, 0xd1, 0xc4, 0x48, 0xe9, 0x78, 0x41, 
+    0x70, 0x29, 0x79, 0x81, 0x70, 0x69, 0x79, 0xc1, 0x70, 0xa9, 0x79, 0x01, 0x71, 0xe9, 0x79, 
+    0x41, 0x71, 0x29, 0x7a, 0xc1, 0x80, 0xa9, 0x7a, 0x01, 0x81, 0x4e, 0xe0, 0x01, 0x25, 0xae, 
+    0x46, 0xbc, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xae, 0x46, 0xbb, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x00, 0x28, 0x43, 0xd0, 0xb9, 0x48, 0xc4, 0x38, 0x3d, 0xe0, 0xff, 0x20, 0x7d, 0x30, 0x06, 
+    0x19, 0x28, 0x78, 0x30, 0x70, 0x31, 0x78, 0x02, 0x20, 0x08, 0x40, 0x30, 0x70, 0x01, 0x35, 
+    0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xb2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x70, 0x80, 0x02, 
+    0x35, 0x28, 0x1c, 0x01, 0x21, 0x8e, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xb0, 0x80, 
+    0xff, 0x20, 0x83, 0x30, 0x00, 0x19, 0x00, 0x90, 0x02, 0x35, 0x28, 0x1c, 0x01, 0x21, 0x8e, 
+    0x46, 0xa8, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x99, 0x08, 0x80, 0x02, 0x35, 0x28, 0x1c, 
+    0x01, 0x21, 0x8e, 0x46, 0xa4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x99, 0x48, 0x80, 0xb1, 
+    0x88, 0x70, 0x88, 0x08, 0x43, 0x40, 0x08, 0x1c, 0xd2, 0x00, 0x98, 0x00, 0x88, 0x00, 0x28, 
+    0x18, 0xd0, 0x4a, 0x08, 
+
+    0x01, 0x05, 0xff, 0xff, 0x70, 0x6a, 0x08, 0x00, 0xfa, 0x90, 0x42, 0x15, 0xdc, 0x08, 0x29, 
+    0x10, 0xdb, 0x99, 0x48, 0xe1, 0x49, 0x40, 0x18, 0x38, 0x62, 0x60, 0x7e, 0x00, 0x28, 0x10, 
+    0xd0, 0x26, 0x20, 0x00, 0x5d, 0x04, 0x28, 0x0c, 0xda, 0x20, 0x22, 0x11, 0x5d, 0xf7, 0x20, 
+    0x08, 0x40, 0x10, 0x55, 0xf8, 0xbd, 0x91, 0x48, 0x12, 0x38, 0x00, 0xe0, 0xd8, 0x48, 0xd7, 
+    0x49, 0x40, 0x18, 0x38, 0x62, 0xf8, 0xbd, 0xc0, 0x46, 0x25, 0x00, 0x00, 0x00, 0xbc, 0x63, 
+    0x08, 0x00, 0xef, 0x22, 0x08, 0x00, 0x5d, 0x8b, 0x04, 0x00, 0x7b, 0x5f, 0x03, 0x00, 0xab, 
+    0xb9, 0x03, 0x00, 0xbf, 0x70, 0x05, 0x00, 0x76, 0x81, 0x00, 0x00, 0x65, 0x63, 0x08, 0x00, 
+    0x60, 0x19, 0x08, 0x00, 0x10, 0x27, 0x00, 0x00, 0xcc, 0x24, 0x08, 0x00, 0xf8, 0xb5, 0xca, 
+    0x4f, 0xcc, 0x48, 0x00, 0x78, 0x02, 0x28, 0x0c, 0xd1, 0x01, 0x24, 0xa6, 0x46, 0xc7, 0x48, 
+    0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xc6, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0xea, 
+    0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x26, 0xb6, 0x46, 0xe9, 0x48, 0xfe, 0x44, 0x00, 0x47, 
+    0xb6, 0x46, 0xe8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xb6, 0x46, 0xe7, 0x48, 0xfe, 0x44, 0x00, 
+    0x47, 0x30, 0x4d, 0x00, 0x24, 0x00, 0x94, 0x38, 0x20, 0x40, 0x5d, 0x0c, 0x28, 0x25, 0xd1, 
+    0xe8, 0x78, 0x00, 0x28, 0x04, 0xd0, 0x3a, 0x20, 0x40, 0x5d, 0x0e, 0x28, 0x00, 0xd1, 0x00, 
+    0x96, 0x3b, 0x20, 0x41, 0x5d, 0x3c, 0x20, 0x40, 0x5d, 0x08, 0x43, 0x17, 0xd1, 0xff, 0x20, 
+    0x6d, 0x30, 0x40, 0x19, 0xb6, 0x46, 0xe2, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x0e, 
+    0xd0, 0x04, 0x20, 0xb6, 0x46, 0xdf, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x07, 0xd0, 
+    0xc4, 0x80, 0x35, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0x6a, 0x6b, 0x08, 0x00, 0xfa, 0x09, 0x02, 0x01, 0x80, 0xb6, 0x46, 
+    0xdb, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x11, 0x20, 0x40, 0x01, 0x45, 0x19, 0x01, 0x34, 0x07, 
+    0x2c, 0xcf, 0xd3, 0x00, 0x98, 0x00, 0x28, 0x03, 0xd1, 0x39, 0x78, 0xdf, 0x20, 0x08, 0x40, 
+    0x02, 0xe0, 0x39, 0x78, 0x20, 0x20, 0x08, 0x43, 0x38, 0x70, 0xf8, 0xbd, 0xc0, 0x46, 0x2c, 
+    0x51, 0x08, 0x00, 0x2d, 0x61, 0x04, 0x00, 0xbb, 0x16, 0x04, 0x00, 0x10, 0xb5, 0x97, 0x4b, 
+    0x15, 0x3b, 0xcd, 0x48, 0x00, 0x78, 0x19, 0x78, 0x81, 0x42, 0x0d, 0xdd, 0x07, 0x21, 0xcb, 
+    0x48, 0x00, 0x22, 0x40, 0x24, 0x24, 0x5c, 0x00, 0x2c, 0x02, 0xd0, 0x52, 0x1c, 0x12, 0x06, 
+    0x12, 0x0e, 0xa8, 0x30, 0x01, 0x39, 0xf5, 0xd1, 0x1a, 0x70, 0x10, 0xbd, 0xc0, 0x46, 0xe9, 
+    0x3f, 0x05, 0x00, 0xd5, 0xb4, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x5b, 0xf5, 0x00, 0x00, 
+    0xf0, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0x3a, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x39, 
+    0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x10, 0xd0, 0x11, 0x27, 0x09, 0x26, 0xb9, 0x4d, 
+    0x3e, 0x20, 0x40, 0x5d, 0xff, 0x28, 0x06, 0xd0, 0x3b, 0x20, 0x47, 0x55, 0x28, 0x1c, 0xa6, 
+    0x46, 0xb6, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x50, 0x35, 0x01, 0x3e, 0xf1, 0xd1, 0xf0, 0xbd, 
+    0xc9, 0x63, 0x08, 0x00, 0x5d, 0xf0, 0x03, 0x00, 0x00, 0xb5, 0xb1, 0x48, 0x00, 0x88, 0x02, 
+    0x28, 0x01, 0xda, 0x01, 0x21, 0x02, 0xe0, 0x40, 0x1e, 0x01, 0x04, 0x09, 0x0c, 0xad, 0x48, 
+    0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xac, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0xbd, 0x55, 
+    0xf6, 0x00, 0x00, 0xf0, 0xb5, 0xa4, 0xb0, 0x06, 0x1c, 0x31, 0x7c, 0x75, 0x69, 0xa8, 0x7c, 
+    0x00, 0x28, 0x03, 0xd1, 
+
+    0x01, 0x05, 0xff, 0xff, 0x64, 0x6c, 0x08, 0x00, 0xfa, 0x28, 0x68, 0xc0, 0x78, 0x00, 0x28, 
+    0x25, 0xd1, 0x04, 0x29, 0x23, 0xd1, 0x28, 0x68, 0x01, 0x78, 0x1b, 0x20, 0x01, 0x24, 0xa6, 
+    0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x06, 0x09, 0x0e, 0x68, 0x46, 0xa6, 0x46, 
+    0x9e, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x12, 0x21, 0x4f, 0x19, 0x01, 0x06, 0x09, 0x0e, 0x68, 
+    0x46, 0x3a, 0x1c, 0xa6, 0x46, 0x9a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe8, 0x74, 0x0b, 0x48, 
+    0x39, 0x1c, 0xa6, 0x46, 0x98, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x01, 0xd0, 0x02, 
+    0x20, 0x30, 0x61, 0x24, 0xb0, 0xf0, 0xbd, 0xca, 0x63, 0x08, 0x00, 0xb4, 0x8a, 0x06, 0x00, 
+    0xa9, 0xd3, 0x04, 0x00, 0x61, 0x97, 0x04, 0x00, 0x28, 0x19, 0x08, 0x00, 0x57, 0x98, 0x04, 
+    0x00, 0xd0, 0x63, 0x08, 0x00, 0x37, 0x98, 0x01, 0x00, 0x37, 0x9b, 0x01, 0x00, 0xdc, 0x0c, 
+    0x00, 0x00, 0x73, 0x2c, 0x00, 0x00, 0xff, 0xb5, 0x00, 0x90, 0x88, 0x48, 0x06, 0x1c, 0x32, 
+    0x3e, 0x60, 0x21, 0x89, 0x19, 0x00, 0x78, 0x0a, 0x78, 0x00, 0x2a, 0x75, 0xd0, 0x09, 0x7b, 
+    0x00, 0x29, 0x72, 0xd1, 0xff, 0x28, 0x5f, 0xd1, 0x34, 0x1c, 0x82, 0x48, 0x05, 0x1c, 0x01, 
+    0x95, 0x81, 0x48, 0x02, 0x90, 0x00, 0x27, 0xe1, 0x88, 0x7e, 0x48, 0x81, 0x42, 0x2b, 0xd0, 
+    0xa9, 0x42, 0x15, 0xdb, 0xa9, 0x42, 0x27, 0xd1, 0x7c, 0x49, 0x78, 0x00, 0x30, 0x18, 0x4c, 
+    0x22, 0x10, 0x5a, 0x08, 0x1a, 0x01, 0x22, 0x96, 0x46, 0x79, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x01, 0x04, 0x09, 0x0c, 0x20, 0x89, 0x09, 0x18, 0x01, 0x9a, 0x02, 0x98, 0x10, 0x18, 0x81, 
+    0x42, 0x13, 0xd2, 0xe5, 0x88, 0x20, 0x89, 0x01, 0x90, 0x38, 0x06, 0x00, 0x0e, 0x03, 0x90, 
+    0x6f, 0x49, 0x40, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x5e, 0x6d, 0x08, 0x00, 0xfa, 0x30, 0x18, 0x4c, 0x22, 0x10, 0x5a, 
+    0x08, 0x1a, 0x01, 0x22, 0x96, 0x46, 0x6c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x04, 0x00, 
+    0x0c, 0x02, 0x90, 0x10, 0x34, 0x01, 0x37, 0x03, 0x2f, 0xcb, 0xdb, 0x65, 0x48, 0x01, 0x99, 
+    0x81, 0x42, 0x1a, 0xd0, 0x02, 0x2d, 0x09, 0xda, 0x03, 0x98, 0x01, 0x99, 0x00, 0x22, 0xd2, 
+    0x43, 0x01, 0x23, 0x9e, 0x46, 0x62, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2a, 0xe0, 0x03, 0x98, 
+    0x01, 0x1c, 0x09, 0x01, 0x71, 0x58, 0x69, 0x18, 0x01, 0x39, 0x89, 0x01, 0x8a, 0x09, 0x01, 
+    0x99, 0x01, 0x23, 0x9e, 0x46, 0x5a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x1b, 0xe0, 0x01, 0x20, 
+    0x86, 0x46, 0x58, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x15, 0xe0, 0x1c, 0x21, 0x41, 0x43, 0x70, 
+    0x18, 0x89, 0x21, 0x08, 0x5c, 0x00, 0x01, 0x30, 0x18, 0x01, 0x89, 0x03, 0x20, 0x00, 0x22, 
+    0xd2, 0x43, 0x01, 0x23, 0x9e, 0x46, 0x4f, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x04, 0xe0, 0x01, 
+    0x20, 0x86, 0x46, 0x4e, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x4d, 0x49, 0xce, 0x31, 0x00, 0x98, 
+    0x01, 0x62, 0x00, 0x90, 0xff, 0xbd, 0x0d, 0xe2, 0x00, 0x00, 0x3a, 0x0e, 0x00, 0x00, 0xd4, 
+    0x0f, 0x08, 0x00, 0x53, 0x63, 0x05, 0x00, 0xad, 0x98, 0x02, 0x00, 0x41, 0x10, 0x08, 0x00, 
+    0xf8, 0xb5, 0x00, 0x90, 0x58, 0x21, 0x6c, 0x22, 0x60, 0x27, 0x3b, 0x4c, 0x32, 0x3c, 0x32, 
+    0x20, 0x03, 0x5d, 0x55, 0x20, 0x00, 0x5d, 0x41, 0x4e, 0x85, 0x07, 0x31, 0xd1, 0x40, 0x06, 
+    0x80, 0x0f, 0x0a, 0xd1, 0x1c, 0x20, 0x58, 0x43, 0x00, 0x19, 0x88, 0x25, 0x28, 0x5c, 0x02, 
+    0x28, 0x03, 0xd0, 0x08, 0x5b, 0x39, 0x49, 0x01, 0x42, 0x23, 0xd0, 0x12, 0x5d, 0x00, 0x2a, 
+    0x07, 0xd1, 0x00, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0x58, 0x6e, 0x08, 0x00, 0xfa, 0x38, 0x55, 0x30, 0x78, 0x01, 0x30, 
+    0x00, 0x06, 0x00, 0x0e, 0x30, 0x70, 0x08, 0xe0, 0x02, 0x20, 0x4b, 0x21, 0xc9, 0x00, 0x01, 
+    0x25, 0xae, 0x46, 0x31, 0x4d, 0xfe, 0x44, 0x28, 0x47, 0x30, 0x78, 0x0a, 0x28, 0x0f, 0xdd, 
+    0x01, 0x25, 0x2f, 0x48, 0x05, 0x80, 0xae, 0x46, 0x2e, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x2c, 
+    0x48, 0x05, 0x80, 0xae, 0x46, 0x2b, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x3d, 0x55, 0x00, 0x20, 
+    0x30, 0x70, 0x29, 0x49, 0xbe, 0x31, 0x00, 0x98, 0x01, 0x62, 0xf8, 0xbd, 0xc0, 0x46, 0x15, 
+    0x7e, 0x04, 0x00, 0xe9, 0x6b, 0x08, 0x00, 0x2d, 0x6c, 0x08, 0x00, 0xa9, 0x6b, 0x08, 0x00, 
+    0x10, 0xb5, 0x04, 0x1c, 0x00, 0x20, 0x01, 0x21, 0x8e, 0x46, 0x21, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x40, 0x1c, 0x03, 0xd1, 0x1f, 0x48, 0xff, 0x30, 0x5f, 0x30, 0x20, 0x62, 0x10, 0xbd, 
+    0xc0, 0x46, 0xf7, 0x64, 0x04, 0x00, 0x9b, 0x60, 0x04, 0x00, 0xdb, 0x3f, 0x05, 0x00, 0x83, 
+    0x50, 0x08, 0x00, 0x60, 0x19, 0x08, 0x00, 0xf4, 0x46, 0x08, 0x00, 0xa5, 0x1e, 0x02, 0x00, 
+    0x8c, 0x18, 0x08, 0x00, 0x36, 0x02, 0x1a, 0x00, 0x15, 0x49, 0x05, 0x00, 0xa7, 0x31, 0x05, 
+    0x00, 0x0d, 0x9e, 0x01, 0x00, 0xf7, 0x64, 0x01, 0x00, 0x81, 0x8a, 0x02, 0x00, 0x26, 0x23, 
+    0x08, 0x00, 0xff, 0xff, 0x00, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x81, 
+    0xa3, 0x02, 0x00, 0xeb, 0xa3, 0x02, 0x00, 0x4f, 0xa3, 0x02, 0x00, 0x65, 0xad, 0x02, 0x00, 
+    0x20, 0x20, 0x00, 0x00, 0x5c, 0x63, 0x08, 0x00, 0xc7, 0xd6, 0x04, 0x00, 0x82, 0x07, 0x1a, 
+    0x00, 0xf1, 0x16, 0x04, 0x00, 0x59, 0xaa, 0x02, 0x00, 0x49, 0xa3, 0x00, 0x00, 0x8d, 0x7e, 
+    0x00, 0x00, 0x30, 0xb5, 
+
+    0x01, 0x05, 0xff, 0xff, 0x52, 0x6f, 0x08, 0x00, 0xfa, 0xdc, 0x4a, 0x00, 0x28, 0x09, 0xd0, 
+    0x13, 0x18, 0x84, 0x18, 0xa5, 0x7b, 0x4d, 0x19, 0xa5, 0x73, 0x01, 0x28, 0x02, 0xd9, 0x5c, 
+    0x7b, 0x0c, 0x19, 0x5c, 0x73, 0x4e, 0x28, 0x09, 0xd2, 0x13, 0x18, 0x82, 0x18, 0x14, 0x7c, 
+    0x0c, 0x19, 0x14, 0x74, 0x4d, 0x28, 0x02, 0xd2, 0x58, 0x7c, 0x08, 0x18, 0x58, 0x74, 0x30, 
+    0xbd, 0xf0, 0xb5, 0x07, 0x1c, 0xcf, 0x4e, 0xcf, 0x4d, 0x00, 0x24, 0x2a, 0x78, 0x00, 0x2a, 
+    0x1e, 0xd0, 0x6b, 0x20, 0x81, 0x5d, 0x4b, 0x1c, 0xa0, 0x19, 0xc0, 0x7e, 0x00, 0x07, 0x00, 
+    0x0f, 0x98, 0x42, 0x0b, 0xd0, 0x98, 0x42, 0x13, 0xdd, 0x50, 0x1c, 0x01, 0x06, 0x09, 0x0e, 
+    0x20, 0x1c, 0x01, 0x22, 0x96, 0x46, 0xe6, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0xe0, 0x50, 
+    0x1c, 0x00, 0x06, 0x00, 0x0e, 0x41, 0x43, 0x20, 0x1c, 0x01, 0x22, 0x96, 0x46, 0xe1, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x01, 0x35, 0x01, 0x34, 0x4f, 0x2c, 0xd9, 0xd3, 0x78, 0x68, 0x40, 
+    0x0b, 0x78, 0x60, 0xde, 0x48, 0xdc, 0x49, 0x08, 0x18, 0xf0, 0xbd, 0x00, 0xb5, 0xdc, 0x48, 
+    0x00, 0x78, 0x01, 0x21, 0x8e, 0x46, 0xdb, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xdb, 0x48, 0xc1, 
+    0x30, 0x00, 0xbd, 0x70, 0xb5, 0xda, 0x48, 0x00, 0x78, 0x01, 0x24, 0xa6, 0x46, 0xd6, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0xe9, 0x4d, 0x28, 0x78, 0x00, 0x28, 0x09, 0xd1, 0xe8, 0x49, 0xd3, 
+    0x4a, 0xad, 0x32, 0x0e, 0x20, 0x00, 0x23, 0xa6, 0x46, 0xe6, 0x4e, 0xfe, 0x44, 0x30, 0x47, 
+    0x2c, 0x70, 0xea, 0x48, 0x67, 0x30, 0x70, 0xbd, 0x40, 0x1e, 0x80, 0x00, 0xea, 0x4b, 0x19, 
+    0x50, 0xe8, 0x49, 0x0a, 0x50, 0xf7, 0x46, 0x80, 0x69, 0xb8, 0x21, 0x09, 0x5c, 0x01, 0x29, 
+    0x06, 0xd0, 0xb5, 0x21, 
+
+    0x01, 0x05, 0xff, 0xff, 0x4c, 0x70, 0x08, 0x00, 0xfa, 0x08, 0x5c, 0x60, 0x21, 0x41, 0x43, 
+    0xe4, 0x4a, 0x00, 0x20, 0x50, 0x54, 0xe3, 0x48, 0x1b, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x04, 
+    0x1c, 0xe2, 0x48, 0x00, 0x68, 0x01, 0x21, 0x8e, 0x46, 0xe1, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0xe0, 0x68, 0x0c, 0x30, 0xe0, 0x60, 0xe8, 0x48, 0xff, 0x30, 0x02, 0x30, 0x10, 0xbd, 0x30, 
+    0xb5, 0x42, 0x69, 0x11, 0x88, 0x09, 0x06, 0x0b, 0x0e, 0xe7, 0x49, 0x02, 0x2b, 0x1a, 0xd1, 
+    0xd7, 0x4b, 0x1b, 0x6b, 0x9b, 0x68, 0xdb, 0x88, 0x01, 0x24, 0xa4, 0x02, 0x1d, 0x05, 0xad, 
+    0x0f, 0xad, 0x02, 0xa5, 0x42, 0x06, 0xdb, 0x05, 0x24, 0x24, 0x02, 0x1b, 0x05, 0x1b, 0x0f, 
+    0x1b, 0x02, 0xa3, 0x42, 0x02, 0xdb, 0xd2, 0x88, 0x52, 0x1d, 0x01, 0xe0, 0x52, 0x88, 0x52, 
+    0x1c, 0x42, 0x60, 0x08, 0x1c, 0x9f, 0x30, 0x30, 0xbd, 0x08, 0x1c, 0x87, 0x30, 0x30, 0xbd, 
+    0x00, 0xb5, 0x01, 0x1c, 0x48, 0x68, 0xc9, 0x69, 0xb5, 0x22, 0x51, 0x5c, 0xdc, 0x22, 0x4a, 
+    0x43, 0xda, 0x49, 0x89, 0x18, 0x08, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xd8, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xd8, 0x48, 0x3f, 0x30, 0x00, 0xbd, 0x40, 0x69, 0x01, 0x8f, 0xc0, 0x8e, 0x40, 
+    0x1a, 0x00, 0x04, 0x01, 0x0c, 0xd7, 0x48, 0x40, 0x0a, 0x81, 0x42, 0x01, 0xd3, 0xd2, 0x48, 
+    0x00, 0xe0, 0xd3, 0x48, 0xd2, 0x49, 0x40, 0x18, 0xf7, 0x46, 0xf8, 0xb5, 0x81, 0x69, 0x08, 
+    0x04, 0x00, 0x0c, 0x00, 0x90, 0xe4, 0x4d, 0xe5, 0x4c, 0xc8, 0x08, 0x2a, 0xd3, 0xe1, 0x48, 
+    0xff, 0x21, 0x3d, 0x31, 0x0f, 0x18, 0x29, 0x5c, 0x00, 0x26, 0x21, 0xe0, 0xa8, 0x00, 0x30, 
+    0x58, 0xc2, 0x22, 0x12, 0x5c, 0x00, 0x2a, 0x0a, 0xd0, 0xb5, 0x21, 0x08, 0x5c, 0x0a, 0x30, 
+    0x00, 0x06, 0x00, 0x0e, 
+
+    0x01, 0x05, 0xff, 0xff, 0x46, 0x71, 0x08, 0x00, 0xfa, 0x01, 0x21, 0x8e, 0x46, 0xd9, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0x21, 0x78, 0x01, 0x35, 0x19, 0xe0, 0xb0, 0x00, 0x38, 0x58, 0xc2, 
+    0x22, 0x12, 0x5c, 0x00, 0x2a, 0x07, 0xd0, 0xb5, 0x21, 0x08, 0x5c, 0x01, 0x21, 0x8e, 0x46, 
+    0xd1, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x21, 0x78, 0x01, 0x36, 0x8e, 0x42, 0xee, 0xd3, 0x00, 
+    0x98, 0x00, 0x09, 0x07, 0xd3, 0xca, 0x48, 0xff, 0x21, 0x3d, 0x31, 0x0e, 0x18, 0x29, 0x5c, 
+    0x00, 0x25, 0x8d, 0x42, 0xd0, 0xd3, 0xe4, 0x48, 0x87, 0x30, 0xf8, 0xbd, 0x70, 0xb5, 0x06, 
+    0x1c, 0xb0, 0x68, 0xe2, 0x4d, 0x00, 0x28, 0x02, 0xd1, 0x28, 0x1c, 0xdf, 0x30, 0x70, 0xbd, 
+    0x91, 0x4c, 0x04, 0x3c, 0x20, 0x7a, 0x02, 0x28, 0x08, 0xd0, 0xdd, 0x49, 0x08, 0x5c, 0x01, 
+    0x21, 0x8e, 0x46, 0xdc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x28, 0x1c, 
+    0xcf, 0x30, 0x70, 0xbd, 0x00, 0x20, 0x20, 0x60, 0x70, 0x60, 0x28, 0x1c, 0xff, 0x30, 0x20, 
+    0x30, 0x70, 0xbd, 0x10, 0xb5, 0x9a, 0x49, 0x11, 0x31, 0x06, 0x22, 0x00, 0x23, 0x0c, 0x78, 
+    0xff, 0x2c, 0x02, 0xd1, 0x5b, 0x1c, 0x1b, 0x06, 0x1b, 0x0e, 0xdc, 0x31, 0x01, 0x3a, 0xf6, 
+    0xd1, 0x43, 0x60, 0xe3, 0x48, 0x19, 0x30, 0x10, 0xbd, 0x01, 0x1c, 0xe2, 0x4b, 0x1a, 0x78, 
+    0xe2, 0x48, 0x05, 0x2a, 0x04, 0xd1, 0xe2, 0x4a, 0x12, 0x68, 0x12, 0x78, 0x01, 0x2a, 0x02, 
+    0xd0, 0x4b, 0x60, 0x5b, 0x30, 0xf7, 0x46, 0x7d, 0x30, 0xf7, 0x46, 0x10, 0xb5, 0x01, 0x1c, 
+    0xdd, 0x48, 0x00, 0x68, 0xde, 0x4c, 0x00, 0x28, 0x0b, 0xd0, 0x88, 0x69, 0x09, 0x7a, 0x01, 
+    0x22, 0x96, 0x46, 0xd9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x02, 0xd0, 0x20, 0x1c, 
+    0x21, 0x30, 0x10, 0xbd, 
+
+    0x01, 0x05, 0xff, 0xff, 0x40, 0x72, 0x08, 0x00, 0xfa, 0x20, 0x1c, 0x33, 0x30, 0x10, 0xbd, 
+    0xf8, 0xb5, 0x81, 0x69, 0x00, 0x91, 0xd1, 0x4c, 0x25, 0x1c, 0x0c, 0x3d, 0xe9, 0x68, 0x08, 
+    0x22, 0x57, 0x18, 0x40, 0x69, 0xd0, 0x4a, 0x00, 0x28, 0x02, 0xd0, 0x10, 0x1c, 0xd3, 0x30, 
+    0xf8, 0xbd, 0x00, 0x26, 0x04, 0xe0, 0x70, 0x1c, 0x06, 0x06, 0x36, 0x0e, 0x06, 0x37, 0x21, 
+    0x68, 0x48, 0x88, 0x86, 0x42, 0x14, 0xda, 0x38, 0x1c, 0x00, 0x99, 0x01, 0x22, 0x96, 0x46, 
+    0xe1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0xee, 0xd1, 0x0c, 0x34, 0xe8, 0x68, 0x41, 
+    0x88, 0x01, 0x20, 0x88, 0x40, 0xe1, 0x6f, 0x81, 0x43, 0xe1, 0x67, 0xe9, 0x68, 0x48, 0x88, 
+    0x01, 0x38, 0x48, 0x80, 0xbd, 0x48, 0xff, 0x30, 0x14, 0x30, 0xf8, 0xbd, 0x01, 0x1c, 0xd8, 
+    0x48, 0x02, 0x78, 0xd6, 0x48, 0x00, 0x2a, 0x01, 0xd0, 0xed, 0x30, 0xf7, 0x46, 0x41, 0x22, 
+    0x4a, 0x60, 0x39, 0x30, 0xf7, 0x46, 0xd0, 0x11, 0x08, 0x00, 0x50, 0x21, 0x08, 0x00, 0x38, 
+    0x30, 0x19, 0x00, 0xf8, 0xb5, 0x06, 0x1c, 0x75, 0x69, 0xb7, 0x69, 0x31, 0x6a, 0x30, 0x7f, 
+    0x00, 0x28, 0x2d, 0xd1, 0x01, 0x21, 0xa8, 0x8d, 0x18, 0x28, 0x27, 0xdc, 0xcd, 0x48, 0x00, 
+    0x78, 0x00, 0x90, 0x00, 0x24, 0x01, 0x22, 0xa2, 0x40, 0x00, 0x98, 0x10, 0x42, 0x1b, 0xd0, 
+    0xc6, 0x48, 0x20, 0x5c, 0x11, 0x21, 0x49, 0x01, 0x41, 0x43, 0xc4, 0x48, 0x41, 0x18, 0xff, 
+    0x20, 0x1e, 0x30, 0x40, 0x5c, 0x01, 0x28, 0x01, 0xd1, 0x02, 0x20, 0x00, 0xe0, 0x00, 0x20, 
+    0xc9, 0x78, 0x08, 0x18, 0xc1, 0x49, 0x08, 0x5c, 0xa9, 0x8d, 0x01, 0x22, 0x96, 0x46, 0xc0, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x48, 0x1c, 0x01, 0x06, 0x09, 0x0e, 0x01, 0x34, 0x07, 0x2c, 
+    0xdb, 0xdb, 0xa8, 0x8d, 
+
+    0x01, 0x05, 0xff, 0xff, 0x3a, 0x73, 0x08, 0x00, 0xfa, 0x01, 0xe0, 0x48, 0x7d, 0xa9, 0x8d, 
+    0x48, 0x43, 0x39, 0x68, 0x40, 0x18, 0x80, 0x01, 0x80, 0x09, 0x38, 0x60, 0x70, 0x60, 0xb3, 
+    0x48, 0x5d, 0x30, 0xf8, 0xbd, 0x51, 0x6f, 0x08, 0x00, 0x43, 0x02, 0x00, 0x00, 0x8d, 0x42, 
+    0x01, 0x00, 0x5c, 0x18, 0x08, 0x00, 0xfd, 0x62, 0x08, 0x00, 0x17, 0x38, 0x04, 0x00, 0x0c, 
+    0x18, 0x08, 0x00, 0x01, 0x1c, 0x4a, 0x68, 0x13, 0x06, 0x1b, 0x0e, 0xac, 0x48, 0x03, 0xd1, 
+    0x82, 0x4b, 0x1b, 0x78, 0x03, 0x2b, 0x05, 0xd0, 0x00, 0x2a, 0x01, 0xd0, 0x1d, 0x30, 0xf7, 
+    0x46, 0xff, 0x30, 0xf7, 0x46, 0x45, 0x4a, 0x30, 0x23, 0x9b, 0x5c, 0x00, 0x2b, 0x07, 0xd1, 
+    0x9a, 0x4b, 0x92, 0x88, 0x9a, 0x42, 0x03, 0xd1, 0xa3, 0x4a, 0x12, 0x78, 0x00, 0x2a, 0x01, 
+    0xd0, 0x00, 0x22, 0x00, 0xe0, 0x07, 0x22, 0x4a, 0x60, 0xff, 0x30, 0xa2, 0x30, 0xf7, 0x46, 
+    0x67, 0x63, 0x08, 0x00, 0xeb, 0x6f, 0x08, 0x00, 0x33, 0x70, 0x08, 0x00, 0x40, 0x69, 0x78, 
+    0x21, 0x09, 0x5a, 0x9a, 0x48, 0xac, 0x29, 0x01, 0xda, 0x3b, 0x30, 0xf7, 0x46, 0x89, 0x30, 
+    0xf7, 0x46, 0xd1, 0x8c, 0x03, 0x00, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x7b, 0x08, 0x00, 0x76, 
+    0xa0, 0x1b, 0x00, 0x6d, 0x97, 0x00, 0x00, 0x6c, 0x55, 0x08, 0x00, 0x4f, 0x61, 0x04, 0x00, 
+    0x01, 0x1c, 0x64, 0x48, 0x02, 0x78, 0xe8, 0x48, 0x05, 0x2a, 0x07, 0xd1, 0x20, 0x22, 0x51, 
+    0x5c, 0x01, 0x29, 0x03, 0xd1, 0xe3, 0x49, 0x09, 0x78, 0x49, 0x08, 0x01, 0xd2, 0x8f, 0x30, 
+    0xf7, 0x46, 0x85, 0x30, 0xf7, 0x46, 0x39, 0xc1, 0x02, 0x00, 0xe0, 0x48, 0x59, 0x30, 0xf7, 
+    0x46, 0xf4, 0x48, 0x67, 0x30, 0xf7, 0x46, 0x7d, 0xc4, 0x02, 0x00, 0xc1, 0x69, 0x82, 0x69, 
+    0x51, 0x1a, 0x01, 0x61, 
+
+    0x01, 0x05, 0xff, 0xff, 0x34, 0x74, 0x08, 0x00, 0xfa, 0xf0, 0x48, 0x73, 0x30, 0xf7, 0x46, 
+    0x00, 0x21, 0x41, 0x60, 0xef, 0x48, 0xa1, 0x30, 0xf7, 0x46, 0x5c, 0x27, 0x08, 0x00, 0x4b, 
+    0x1e, 0x04, 0x00, 0x05, 0x5e, 0x02, 0x00, 0xe7, 0x03, 0x00, 0x00, 0xc9, 0x98, 0x00, 0x00, 
+    0x83, 0x05, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x00, 0x81, 0xb0, 0x00, 0x90, 0x00, 0x21, 0x68, 
+    0x46, 0x42, 0x88, 0x03, 0x88, 0x93, 0x42, 0x03, 0xd1, 0x02, 0x78, 0x40, 0x78, 0x90, 0x42, 
+    0x0f, 0xd0, 0x00, 0x98, 0xc3, 0x0f, 0x1e, 0x20, 0x00, 0x9a, 0xc2, 0x40, 0xd2, 0x07, 0xd2, 
+    0x0f, 0x93, 0x42, 0x00, 0xd0, 0x01, 0x31, 0x18, 0x29, 0x03, 0xd8, 0x1a, 0x28, 0x03, 0xd1, 
+    0x02, 0x29, 0x01, 0xd2, 0x00, 0x20, 0x03, 0xe0, 0x13, 0x1c, 0x01, 0x38, 0xed, 0xd5, 0x01, 
+    0x20, 0x01, 0xb0, 0xf7, 0x46, 0x48, 0x25, 0x08, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x47, 0x93, 
+    0x02, 0x00, 0xb2, 0x2f, 0x08, 0x00, 0xf0, 0xb5, 0x06, 0x1c, 0x77, 0x68, 0x0a, 0x25, 0x05, 
+    0xe0, 0xa6, 0x46, 0xd8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x07, 0x1c, 0x01, 0x3d, 0x00, 0x2d, 
+    0x07, 0xd0, 0x38, 0x1c, 0x01, 0x24, 0xa6, 0x46, 0xd4, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x00, 
+    0x28, 0xef, 0xd0, 0x77, 0x60, 0xf0, 0x69, 0xb0, 0x60, 0xd1, 0x48, 0xff, 0x30, 0x34, 0x30, 
+    0xf0, 0xbd, 0x10, 0xb5, 0x44, 0x68, 0x3a, 0x20, 0x00, 0x5d, 0x22, 0x28, 0x06, 0xd1, 0x20, 
+    0x1c, 0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xcb, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x20, 0x1c, 
+    0x00, 0x21, 0x01, 0x22, 0x96, 0x46, 0xc9, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x48, 0x6f, 
+    0x30, 0x10, 0xbd, 0xc0, 0x46, 0x49, 0xa0, 0x02, 0x00, 0x25, 0x6e, 0x03, 0x00, 0x3c, 0x91, 
+    0x06, 0x00, 0x17, 0x62, 
+
+    0x01, 0x05, 0xff, 0xff, 0x2e, 0x75, 0x08, 0x00, 0xfa, 0x04, 0x00, 0x30, 0xb5, 0x04, 0x1c, 
+    0x14, 0x48, 0xbf, 0x38, 0x01, 0x78, 0x02, 0x29, 0x01, 0xd1, 0x00, 0x21, 0x01, 0x70, 0xbf, 
+    0x49, 0xbf, 0x48, 0x42, 0x1c, 0x1d, 0x20, 0x00, 0x23, 0x01, 0x25, 0xae, 0x46, 0xbe, 0x4d, 
+    0xfe, 0x44, 0x28, 0x47, 0x60, 0x69, 0x00, 0x68, 0x60, 0x60, 0xba, 0x48, 0xff, 0x30, 0x3a, 
+    0x30, 0x30, 0xbd, 0x10, 0xb5, 0xba, 0x49, 0xb7, 0x4a, 0xff, 0x32, 0x38, 0x32, 0x1d, 0x20, 
+    0x00, 0x23, 0x01, 0x24, 0xa6, 0x46, 0xb5, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xb1, 0x48, 0xc0, 
+    0x1d, 0x10, 0xbd, 0xc0, 0x46, 0xef, 0x8a, 0x04, 0x00, 0x41, 0x10, 0x08, 0x00, 0xd9, 0xae, 
+    0x02, 0x00, 0xf4, 0x62, 0x08, 0x00, 0xec, 0x0e, 0x08, 0x00, 0x5d, 0x86, 0x01, 0x00, 0xdd, 
+    0xf8, 0x03, 0x00, 0xf0, 0xb5, 0x9c, 0x46, 0x17, 0x4c, 0x0e, 0x1c, 0x26, 0x40, 0x05, 0x1c, 
+    0x25, 0x40, 0x2f, 0x1c, 0x77, 0x43, 0x09, 0x0c, 0x00, 0x0c, 0x03, 0x1c, 0x4b, 0x43, 0x69, 
+    0x43, 0x70, 0x43, 0x05, 0x1c, 0x25, 0x40, 0x0c, 0x40, 0x64, 0x19, 0x00, 0x0c, 0x09, 0x0c, 
+    0x08, 0x18, 0x39, 0x0c, 0x61, 0x18, 0x09, 0x0c, 0x00, 0xd0, 0x01, 0x30, 0x21, 0x04, 0xcf, 
+    0x19, 0xc3, 0x18, 0x60, 0x46, 0x07, 0x60, 0x13, 0x60, 0xf0, 0xbd, 0x1c, 0xb5, 0x9b, 0x49, 
+    0x6a, 0x46, 0x01, 0xab, 0x01, 0x24, 0xa6, 0x46, 0x99, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x01, 
+    0x98, 0xc1, 0x0b, 0x00, 0x98, 0x40, 0x04, 0x08, 0x43, 0x1c, 0xbd, 0xc0, 0x46, 0xff, 0xff, 
+    0x00, 0x00, 0x79, 0x1c, 0x04, 0x00, 0xdd, 0x84, 0x01, 0x00, 0xca, 0x63, 0x08, 0x00, 0x00, 
+    0x16, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x09, 0x82, 0x01, 0x00, 0x65, 0x63, 0x08, 0x00, 
+    0x68, 0x63, 0x08, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x28, 0x76, 0x08, 0x00, 0xfa, 0x6d, 0x94, 0x05, 0x00, 0xbd, 0x7b, 
+    0x03, 0x00, 0xf5, 0x50, 0x08, 0x00, 0xe5, 0x85, 0x00, 0x00, 0xf0, 0xb5, 0x8d, 0xb0, 0x03, 
+    0xa8, 0x01, 0x21, 0x8e, 0x46, 0x86, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x86, 0x48, 0x06, 0x90, 
+    0x72, 0x38, 0x06, 0x90, 0x84, 0x48, 0x07, 0x90, 0x06, 0x38, 0x07, 0x90, 0x38, 0x21, 0x41, 
+    0x80, 0x01, 0x20, 0x86, 0x46, 0x7f, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x03, 0xa8, 0x08, 0x90, 
+    0x4b, 0x48, 0x09, 0x90, 0x69, 0x38, 0x09, 0x90, 0x00, 0x20, 0x0a, 0x90, 0x0a, 0x98, 0x00, 
+    0x06, 0x00, 0x0e, 0x0b, 0x90, 0x79, 0x48, 0x0b, 0x99, 0x01, 0x22, 0x96, 0x46, 0x78, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0xf6, 0xd0, 0x08, 0x98, 0x00, 0x68, 0x09, 0x99, 0x89, 
+    0x6a, 0x01, 0x24, 0xa6, 0x46, 0x73, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd5, 
+    0x40, 0x42, 0xa6, 0x46, 0x71, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x05, 0x1c, 0x0b, 0x98, 0x01, 
+    0xa9, 0x02, 0xaa, 0x64, 0x23, 0xa6, 0x46, 0x6d, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x68, 0x46, 
+    0x0c, 0x90, 0x00, 0x89, 0x46, 0x1b, 0x13, 0xd5, 0x70, 0x4f, 0x39, 0x1c, 0x30, 0x1c, 0xa6, 
+    0x46, 0x71, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x4d, 0x42, 0x30, 0x1c, 0x39, 0x1c, 0xa6, 0x46, 
+    0x65, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x35, 0x6f, 0x43, 0xbe, 
+    0x19, 0x00, 0xe0, 0x00, 0x25, 0x01, 0x98, 0x40, 0x1b, 0x80, 0x01, 0x80, 0x09, 0x0a, 0x99, 
+    0x00, 0x29, 0x2c, 0xd1, 0x01, 0x9a, 0x06, 0x99, 0x4a, 0x60, 0x0c, 0x9a, 0x12, 0x89, 0xca, 
+    0x81, 0x08, 0x60, 0x8e, 0x81, 0x59, 0x4d, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x5d, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 
+
+    0x01, 0x05, 0xff, 0xff, 0x22, 0x77, 0x08, 0x00, 0xfa, 0x02, 0x20, 0x07, 0x99, 0x08, 0x80, 
+    0xa6, 0x46, 0x55, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa6, 0x46, 0x53, 0x48, 0xfe, 0x44, 0x00, 
+    0x47, 0x4a, 0x48, 0x04, 0x21, 0xa6, 0x46, 0x4a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 
+    0xf7, 0xd1, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0x4d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, 
+    0x46, 0x4c, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x0a, 0xe0, 0x0c, 0x9b, 0x0b, 0x99, 0x19, 0x70, 
+    0x31, 0x04, 0x09, 0x0c, 0x01, 0x9a, 0x1b, 0x89, 0xa6, 0x46, 0x4a, 0x4c, 0xfe, 0x44, 0x20, 
+    0x47, 0x09, 0x98, 0x04, 0x30, 0x09, 0x90, 0x08, 0x98, 0x04, 0x30, 0x08, 0x90, 0x0a, 0x98, 
+    0x01, 0x30, 0x0a, 0x90, 0x03, 0x28, 0x00, 0xd2, 0x74, 0xe7, 0x3f, 0x48, 0xff, 0x30, 0x0c, 
+    0x30, 0x0d, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, 0x55, 0x53, 0x08, 0x00, 0x37, 0xeb, 0x03, 0x00, 
+    0x3d, 0x68, 0x03, 0x00, 0x30, 0xb5, 0x40, 0x69, 0x00, 0x28, 0x1f, 0xd0, 0x00, 0x68, 0x85, 
+    0x08, 0x01, 0x24, 0xa6, 0x46, 0x3a, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x01, 0x1c, 0x28, 0x1c, 
+    0xa6, 0x46, 0x2a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x28, 0x00, 0xda, 0x40, 0x42, 0x03, 
+    0x21, 0x09, 0x02, 0x41, 0x43, 0xc8, 0x0b, 0x28, 0x18, 0x81, 0x00, 0x34, 0x48, 0x00, 0x88, 
+    0x80, 0x00, 0x08, 0x1a, 0x00, 0x01, 0x00, 0x09, 0xa6, 0x46, 0x2f, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x2e, 0x48, 0x45, 0x30, 0x30, 0xbd, 0xc0, 0x46, 0xdb, 0xf5, 0x02, 0x00, 0xd1, 0x7a, 
+    0x02, 0x00, 0xc9, 0x9c, 0x03, 0x00, 0x10, 0xb5, 0x04, 0x1c, 0x2a, 0x49, 0xa0, 0x8b, 0x88, 
+    0x42, 0x07, 0xd0, 0x60, 0x69, 0x40, 0x30, 0x2c, 0x21, 0x01, 0x22, 0x96, 0x46, 0x27, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 
+
+    0x01, 0x05, 0xff, 0xff, 0x1c, 0x78, 0x08, 0x00, 0xfa, 0x40, 0x20, 0x20, 0x62, 0x25, 0x48, 
+    0x29, 0x30, 0x10, 0xbd, 0xc0, 0x46, 0xdb, 0xe3, 0x03, 0x00, 0x61, 0x74, 0x08, 0x00, 0x0b, 
+    0xe2, 0x03, 0x00, 0x8b, 0x96, 0x01, 0x00, 0x91, 0xe5, 0x02, 0x00, 0x71, 0xe3, 0x02, 0x00, 
+    0x65, 0x75, 0x08, 0x00, 0xcd, 0x98, 0x01, 0x00, 0x95, 0xf4, 0x03, 0x00, 0x33, 0x70, 0x08, 
+    0x00, 0x31, 0x75, 0x08, 0x00, 0x00, 0xa6, 0x0e, 0x00, 0xa1, 0x75, 0x08, 0x00, 0x87, 0xca, 
+    0x04, 0x00, 0xfb, 0x16, 0x04, 0x00, 0x72, 0x61, 0x1a, 0x00, 0x2f, 0x4a, 0x05, 0x00, 0x65, 
+    0xcb, 0x04, 0x00, 0xe5, 0x75, 0x08, 0x00, 0x9b, 0xc3, 0x03, 0x00, 0x6d, 0x94, 0x05, 0x00, 
+    0x70, 0x61, 0x1a, 0x00, 0xf1, 0x16, 0x04, 0x00, 0x89, 0x49, 0x05, 0x00, 0xc1, 0xc0, 0x03, 
+    0x00, 0xfb, 0xbc, 0x03, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x61, 0x48, 0x05, 0x00, 0x51, 0xc2, 
+    0x03, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x51, 0xca, 0x04, 0x00, 0x87, 0x24, 0x04, 0x00, 0x45, 
+    0x25, 0x04, 0x00, 0x48, 0x53, 0x08, 0x00, 0xd9, 0xfc, 0x00, 0x00, 0x91, 0x1c, 0x04, 0x00, 
+    0x51, 0x8c, 0x00, 0x00, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x6e, 0xf8, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xff, 0xf7, 0x07, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 
+    0xe4, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0x0f, 0xf8, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xff, 0xf7, 0xfe, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 
+    0x91, 0xfa, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xff, 0xf7, 0xdc, 0xfa, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xff, 0xf7, 0xa5, 0xf9, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 
+    0xa8, 0xfd, 0xff, 0xbd, 
+
+    0x01, 0x05, 0xff, 0x5f, 0x16, 0x79, 0x08, 0x00, 0x5a, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 
+    0xcf, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x84, 0xfd, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x55, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 
+    0x65, 0xfd, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x15, 0xff, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x94, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 
+    0x41, 0xff, 0xff, 0xbd, 0xff, 0xb5, 0x68, 0x46, 0xfe, 0xf7, 0x44, 0xfe, 0xff, 0xbd, 0xff, 
+    0xb5, 0x68, 0x46, 0xfe, 0xf7, 0xdd, 0xfe, 0xff, 0xbd, 
+
+    0x01, 0x05, 0xff, 0x8d, 0x78, 0x7b, 0x08, 0x00, 0x88, 0x00, 0xb5, 0xf9, 0xf0, 0xd5, 0xf8, 
+    0x00, 0xbd, 0xcb, 0x70, 0x08, 0x00, 0x5f, 0x70, 0x08, 0x00, 0x7f, 0x70, 0x08, 0x00, 0xf1, 
+    0x70, 0x08, 0x00, 0x01, 0x78, 0x08, 0x00, 0xfd, 0x02, 0x18, 0x00, 0x41, 0x70, 0x08, 0x00, 
+    0x11, 0x71, 0x08, 0x00, 0x95, 0x71, 0x08, 0x00, 0xd7, 0x71, 0x08, 0x00, 0xfb, 0x71, 0x08, 
+    0x00, 0x1b, 0x72, 0x08, 0x00, 0x01, 0x70, 0x08, 0x00, 0x89, 0x03, 0x18, 0x00, 0x61, 0x03, 
+    0x18, 0x00, 0xad, 0x72, 0x08, 0x00, 0xd1, 0x72, 0x08, 0x00, 0x2d, 0x74, 0x08, 0x00, 0x47, 
+    0x72, 0x08, 0x00, 0x71, 0x73, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x73, 0x08, 0x00, 
+    0x3b, 0x74, 0x08, 0x00, 0xf5, 0x73, 0x08, 0x00, 0x1d, 0x74, 0x08, 0x00, 0x23, 0x74, 0x08, 
+    0x00, 0xb9, 0x74, 0x08, 0x00, 0xf1, 0x74, 0x08, 0x00, 0x65, 0x75, 0x08, 0x00, 0x39, 0x76, 
+    0x08, 0x00, 0xa5, 0x77, 0x08, 0x00, 0x87, 0x6f, 0x08, 0x00, 
+
+    0x01, 0x05, 0xff, 0x85, 0x04, 0xf3, 0x1a, 0x00, 0x80, 0x36, 0x5e, 0x02, 0x00, 0x38, 0xc2, 
+    0x02, 0x00, 0x00, 0xc5, 0x02, 0x00, 0x9c, 0x9c, 0x00, 0x00, 0x70, 0x8c, 0x00, 0x00, 0x02, 
+    0x69, 0x00, 0x00, 0x84, 0x97, 0x00, 0x00, 0x6a, 0xa0, 0x02, 0x00, 0xf0, 0x6e, 0x03, 0x00, 
+    0xf0, 0x8a, 0x04, 0x00, 0x32, 0xaf, 0x02, 0x00, 0xf4, 0xf8, 0x03, 0x00, 0x24, 0x8d, 0x03, 
+    0x00, 0xa8, 0x55, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x14, 0x85, 0x01, 0x00, 0x54, 0x82, 
+    0x01, 0x00, 0x42, 0x7b, 0x02, 0x00, 0xac, 0xf9, 0x03, 0x00, 0xd6, 0x7b, 0x03, 0x00, 0xff, 
+    0xff, 0xff, 0xff, 0x1c, 0x86, 0x00, 0x00, 0x68, 0x9d, 0x03, 0x00, 0xb4, 0xeb, 0x03, 0x00, 
+    0x78, 0x68, 0x03, 0x00, 0x3e, 0xf6, 0x02, 0x00, 0x3c, 0xe3, 0x03, 0x00, 0xdc, 0xe3, 0x02, 
+    0x00, 0xce, 0x98, 0x01, 0x00, 0x3a, 0xbd, 0x03, 0x00, 0x72, 0x25, 0x04, 0x00, 0xce, 0x44, 
+    0x01, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0x00, 0x00, 0x18, 0x00, 0xfa, 0xff, 0xb5, 0x00, 0x93, 0x01, 0x92, 
+    0x02, 0x91, 0x06, 0x1c, 0xe4, 0x4f, 0x38, 0x78, 0x44, 0x1e, 0x01, 0x28, 0x02, 0xd1, 0x01, 
+    0x21, 0xc9, 0x03, 0x01, 0xe0, 0x7d, 0x21, 0x09, 0x02, 0xd2, 0x48, 0x01, 0x22, 0x96, 0x46, 
+    0xd1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x03, 0x91, 0xd4, 0x48, 0x00, 0x78, 0x02, 0x28, 0x00, 
+    0xd0, 0xb8, 0xe0, 0xd3, 0x4d, 0xcd, 0x48, 0x01, 0x2e, 0x53, 0xd0, 0x06, 0x1c, 0xb0, 0x89, 
+    0x00, 0x2c, 0x02, 0xd0, 0x7d, 0x20, 0x00, 0x02, 0x01, 0xe0, 0x01, 0x20, 0xc0, 0x03, 0x02, 
+    0x99, 0x48, 0x43, 0xc7, 0x49, 0x08, 0x18, 0xf0, 0x49, 0x01, 0x22, 0x96, 0x46, 0xc6, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0xb1, 0x81, 0x38, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 
+    0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0xc1, 0x4c, 0x0f, 0x27, 0x21, 0x88, 0x39, 0x40, 
+    0x22, 0x88, 0x12, 0x09, 0x3a, 0x40, 0x8a, 0x42, 0x04, 0xdd, 0x21, 0x88, 0x09, 0x11, 0x09, 
+    0x07, 0x0f, 0x0f, 0x01, 0xe0, 0x21, 0x88, 0x0f, 0x40, 0x02, 0x99, 0x41, 0x43, 0xb6, 0x48, 
+    0x40, 0x18, 0xdf, 0x49, 0x01, 0x22, 0x96, 0x46, 0xb4, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x28, 
+    0x1c, 0x00, 0x8e, 0x1f, 0x22, 0x10, 0x40, 0x40, 0x18, 0xa1, 0x89, 0x11, 0x40, 0x08, 0x18, 
+    0x31, 0x8a, 0x08, 0x18, 0x29, 0x88, 0x09, 0x0a, 0x08, 0x18, 0x29, 0x89, 0x09, 0x0a, 0x08, 
+    0x18, 0x39, 0x18, 0x01, 0x98, 0x40, 0x18, 0x05, 0x30, 0x01, 0x04, 0x09, 0x0c, 0xdc, 0x48, 
+    0x00, 0x22, 0x01, 0x23, 0x9e, 0x46, 0xdb, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x54, 0xe0, 0x06, 
+    0x1c, 0x30, 0x88, 0x00, 0x2c, 0x02, 0xd0, 0x7d, 0x20, 0x00, 0x02, 0x01, 0xe0, 0x01, 0x20, 
+    0xc0, 0x03, 0x02, 0x99, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfa, 0x00, 0x18, 0x00, 0xfa, 0x48, 0x43, 0x9d, 0x49, 0x08, 0x18, 
+    0xc6, 0x49, 0x01, 0x22, 0x96, 0x46, 0x9c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x31, 0x80, 0x38, 
+    0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 
+    0x97, 0x4c, 0x0f, 0x25, 0xa1, 0x88, 0x09, 0x09, 0x29, 0x40, 0xa2, 0x88, 0x2a, 0x40, 0x8a, 
+    0x42, 0x03, 0xdd, 0xa1, 0x88, 0x09, 0x07, 0x0d, 0x0f, 0x02, 0xe0, 0xa1, 0x88, 0x09, 0x09, 
+    0x0d, 0x40, 0x1f, 0x27, 0x02, 0x99, 0x41, 0x43, 0x8b, 0x48, 0x40, 0x18, 0xb4, 0x49, 0x01, 
+    0x22, 0x96, 0x46, 0x8a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x89, 0x38, 0x40, 0x40, 0x18, 
+    0xb1, 0x88, 0x39, 0x40, 0x08, 0x18, 0x21, 0x89, 0x39, 0x40, 0x08, 0x18, 0x87, 0x49, 0x09, 
+    0x88, 0x09, 0x0a, 0x08, 0x18, 0x85, 0x49, 0x09, 0x89, 0x09, 0x0a, 0x08, 0x18, 0x29, 0x18, 
+    0x01, 0x98, 0x40, 0x18, 0x05, 0x30, 0x01, 0x04, 0x09, 0x0c, 0xb1, 0x48, 0x00, 0x22, 0x01, 
+    0x23, 0x9e, 0x46, 0xb0, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x00, 0x98, 0x03, 0x99, 0x41, 0x18, 
+    0xae, 0x48, 0x40, 0x18, 0xaf, 0x49, 0x01, 0x22, 0x96, 0x46, 0x75, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x08, 0xe0, 0xa9, 0x48, 0x00, 0x99, 0x40, 0x18, 0xaa, 0x49, 0x01, 0x22, 0x96, 0x46, 
+    0x70, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1c, 0xa5, 0x49, 0x08, 0x80, 0x09, 0x99, 0xa6, 
+    0x48, 0x49, 0x1c, 0x01, 0xd0, 0x59, 0x30, 0x00, 0xe0, 0x61, 0x30, 0x00, 0x90, 0xff, 0xbd, 
+    0xf8, 0xb5, 0x05, 0x1c, 0x9e, 0x48, 0x40, 0x19, 0x9f, 0x49, 0x01, 0x24, 0xa6, 0x46, 0x65, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x1c, 0x9a, 0x49, 0x08, 0x80, 0x6b, 0x48, 0x00, 0x78, 
+    0x01, 0x28, 0x02, 0xd1, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf4, 0x01, 0x18, 0x00, 0xfa, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 
+    0x7d, 0x20, 0x00, 0x02, 0x68, 0x43, 0x5c, 0x4e, 0x30, 0x18, 0x85, 0x49, 0xa6, 0x46, 0x5b, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x09, 0x04, 0x09, 0x0c, 0x94, 0x48, 0x04, 0x30, 0x06, 0x22, 
+    0xa6, 0x46, 0x91, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x90, 0x48, 0x5a, 0x30, 0x00, 0x21, 0xa6, 
+    0x46, 0x8f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x8c, 0x48, 0x08, 0x21, 0xa6, 0x46, 
+    0x8c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc7, 0x19, 0x14, 0x2f, 0x00, 0xd8, 0x14, 0x27, 0x55, 
+    0x48, 0x00, 0x78, 0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 
+    0x00, 0x02, 0x68, 0x43, 0x30, 0x18, 0x70, 0x49, 0xa6, 0x46, 0x46, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0xc8, 0x1b, 0x05, 0x38, 0x01, 0x04, 0x09, 0x0c, 0x7d, 0x48, 0x2c, 0x30, 0x00, 0x22, 
+    0xa6, 0x46, 0x7a, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x7d, 0x4f, 0x38, 0x1c, 0x08, 0x21, 0xa6, 
+    0x46, 0x79, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x90, 0x38, 0x1c, 0x00, 0x21, 0xa6, 0x46, 
+    0x75, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x99, 0x88, 0x42, 0x06, 0xdd, 0x38, 0x1c, 0x00, 
+    0x21, 0xa6, 0x46, 0x71, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x05, 0xe0, 0x38, 0x1c, 0x08, 0x21, 
+    0xa6, 0x46, 0x6d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x1c, 0x6a, 0x48, 0x00, 0x21, 0xa6, 
+    0x46, 0x6a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x3f, 0x18, 0x08, 0x37, 0x34, 0x48, 0x00, 0x78, 
+    0x01, 0x28, 0x02, 0xd1, 0x01, 0x20, 0xc0, 0x03, 0x01, 0xe0, 0x7d, 0x20, 0x00, 0x02, 0x68, 
+    0x43, 0x30, 0x18, 0x4f, 0x49, 0xa6, 0x46, 0x25, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x78, 0x18, 
+    0x01, 0x04, 0x09, 0x0c, 
+
+    0x01, 0x05, 0xff, 0xff, 0xee, 0x02, 0x18, 0x00, 0xfa, 0x56, 0x48, 0x00, 0x22, 0xa6, 0x46, 
+    0x55, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xf8, 0xbd, 0x10, 0xb5, 0x43, 0x69, 0x5f, 0x49, 0x09, 
+    0x78, 0x5b, 0x4a, 0x12, 0x78, 0x01, 0x2a, 0x04, 0xd1, 0x1c, 0x78, 0x00, 0x2c, 0x01, 0xd1, 
+    0x5c, 0x49, 0x09, 0x78, 0x1a, 0x4c, 0x24, 0x78, 0x00, 0x2c, 0x1b, 0xd0, 0xff, 0x29, 0x19, 
+    0xd0, 0x01, 0x2a, 0x08, 0xd0, 0x58, 0x4a, 0x12, 0x78, 0x01, 0x2a, 0x13, 0xd0, 0x1a, 0x78, 
+    0x01, 0x2a, 0x01, 0xd0, 0x02, 0x2a, 0x0e, 0xd1, 0x10, 0x22, 0xd4, 0x56, 0x8c, 0x42, 0x0a, 
+    0xdd, 0x61, 0x1a, 0x09, 0x06, 0x09, 0x0e, 0x5b, 0x1c, 0x00, 0x24, 0x1c, 0x57, 0x64, 0x1a, 
+    0x1c, 0x70, 0x01, 0x33, 0x01, 0x3a, 0xf8, 0xd1, 0x48, 0x49, 0x81, 0x60, 0x48, 0x48, 0x15, 
+    0x30, 0x10, 0xbd, 0x4a, 0x48, 0x15, 0x30, 0xf7, 0x46, 0xc0, 0x46, 0x80, 0xc3, 0xc9, 0x01, 
+    0x6d, 0x94, 0x05, 0x00, 0xc0, 0x79, 0x1a, 0x00, 0x3f, 0x42, 0x0f, 0x00, 0x05, 0x9a, 0x05, 
+    0x00, 0x28, 0x79, 0x1a, 0x00, 0xe8, 0x57, 0x08, 0x00, 0x2c, 0x7a, 0x1a, 0x00, 0xff, 0xb5, 
+    0x05, 0x1c, 0x03, 0x48, 0x00, 0x78, 0x01, 0x28, 0x05, 0xd1, 0x01, 0x26, 0xf6, 0x03, 0x04, 
+    0xe0, 0xc0, 0x46, 0x5e, 0x56, 0x08, 0x00, 0x7d, 0x26, 0x36, 0x02, 0x28, 0x48, 0x00, 0x21, 
+    0x01, 0x24, 0xa6, 0x46, 0x38, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0x19, 0x48, 0x48, 
+    0x43, 0x31, 0x1c, 0xa6, 0x46, 0x3b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x91, 0x6d, 0x69, 
+    0xee, 0x7a, 0x28, 0x1c, 0x21, 0x1c, 0xa6, 0x46, 0x31, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 
+    0x1c, 0x28, 0x1c, 0x05, 0x21, 0xa6, 0x46, 0x2d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x90, 
+    0x28, 0x7f, 0x03, 0x90, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe8, 0x03, 0x18, 0x00, 0xfa, 0xed, 0x7e, 0xff, 0x2e, 0x04, 0xd0, 
+    0x30, 0x1c, 0xa6, 0x46, 0x29, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x78, 0x1c, 0x19, 0xd0, 0x1b, 
+    0x48, 0x0a, 0x21, 0xa6, 0x46, 0x26, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x06, 0x28, 0x09, 0xd0, 
+    0x01, 0x2e, 0x07, 0xd0, 0x38, 0x1c, 0xa6, 0x46, 0x22, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x09, 
+    0xe0, 0x40, 0x42, 0x0f, 0x00, 0x38, 0x1c, 0x31, 0x1c, 0x03, 0x9a, 0x2b, 0x1c, 0xa6, 0x46, 
+    0x1e, 0x4e, 0xfe, 0x44, 0x30, 0x47, 0x02, 0x98, 0x00, 0x90, 0x28, 0x1c, 0x39, 0x1c, 0x03, 
+    0x9a, 0x01, 0x9b, 0xa6, 0x46, 0x1a, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0x00, 0x90, 0xff, 0xbd, 
+    0x04, 0x60, 0x1a, 0x00, 0xc9, 0x49, 0x05, 0x00, 0xe1, 0x04, 0x00, 0x00, 0x48, 0x53, 0x08, 
+    0x00, 0xe2, 0x04, 0x00, 0x00, 0x71, 0x55, 0x00, 0x00, 0x93, 0x49, 0x05, 0x00, 0x16, 0x74, 
+    0x1a, 0x00, 0x6b, 0x4a, 0x05, 0x00, 0x42, 0x74, 0x1a, 0x00, 0x44, 0x74, 0x1a, 0x00, 0xc6, 
+    0x63, 0x08, 0x00, 0x10, 0x30, 0x19, 0x00, 0xef, 0x68, 0x00, 0x00, 0xc1, 0x63, 0x08, 0x00, 
+    0xc0, 0x63, 0x08, 0x00, 0xc3, 0x63, 0x08, 0x00, 0xff, 0x15, 0x04, 0x00, 0xa7, 0x4a, 0x05, 
+    0x00, 0xe5, 0x2b, 0x00, 0x00, 0x81, 0x42, 0x02, 0x00, 0x4d, 0x4a, 0x05, 0x00, 0xd3, 0x01, 
+    0x18, 0x00, 0x55, 0x3f, 0x02, 0x00, 0x01, 0x00, 0x18, 0x00, 0x6d, 0x94, 0x05, 0x00, 0x70, 
+    0xb5, 0xde, 0x4d, 0xae, 0x7f, 0x01, 0x24, 0xa6, 0x46, 0xda, 0x48, 0xfe, 0x44, 0x00, 0x47, 
+    0xb0, 0x42, 0xf8, 0xd1, 0x03, 0x20, 0x17, 0x21, 0x89, 0x01, 0xa6, 0x46, 0xd6, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0xad, 0x7f, 0xa6, 0x46, 0xd3, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xa8, 0x42, 
+    0xf9, 0xd1, 0xfe, 0xe7, 
+
+    0x01, 0x05, 0xff, 0xff, 0xe2, 0x04, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0x88, 0xb0, 0x0b, 0x21, 
+    0x09, 0x18, 0x68, 0x46, 0x0c, 0x22, 0x01, 0x24, 0xa6, 0x46, 0xd8, 0x4b, 0xfe, 0x44, 0x18, 
+    0x47, 0x68, 0x46, 0x01, 0x78, 0x03, 0x91, 0x45, 0x78, 0x81, 0x78, 0x04, 0x91, 0xc0, 0x78, 
+    0x05, 0x90, 0x01, 0x98, 0x06, 0x90, 0x02, 0x98, 0x07, 0x90, 0xa6, 0x46, 0xc7, 0x48, 0xfe, 
+    0x44, 0x00, 0x47, 0xcf, 0x4f, 0x38, 0x78, 0xc9, 0x4e, 0x81, 0x09, 0x16, 0xd3, 0x14, 0x20, 
+    0xb0, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0xcc, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc0, 0x48, 0x00, 
+    0x21, 0xa6, 0x46, 0xc0, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xbf, 0x48, 0x03, 0x21, 0xa6, 0x46, 
+    0xbf, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x39, 0x78, 0xdf, 0x20, 0x08, 0x40, 0x38, 0x70, 0xc0, 
+    0x09, 0x0a, 0xd3, 0x24, 0x20, 0xb0, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0xbf, 0x49, 0xfe, 0x44, 
+    0x08, 0x47, 0x39, 0x78, 0xbf, 0x20, 0x08, 0x40, 0x38, 0x70, 0xb7, 0x48, 0x07, 0x2d, 0x09, 
+    0xd0, 0xaa, 0x00, 0xb6, 0x49, 0x0b, 0x1c, 0x38, 0x3b, 0x9b, 0x58, 0x05, 0x1c, 0xab, 0x60, 
+    0x88, 0x58, 0x07, 0x90, 0x02, 0xe0, 0x05, 0x1c, 0x06, 0x98, 0xa8, 0x60, 0x07, 0x98, 0x68, 
+    0x60, 0x28, 0x1c, 0x00, 0x21, 0xa6, 0x46, 0xaa, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x03, 0x98, 
+    0x80, 0x1e, 0xac, 0x49, 0x10, 0xd0, 0x01, 0x38, 0x0c, 0xd0, 0x01, 0x38, 0x01, 0xd0, 0x02, 
+    0x20, 0x0b, 0xe0, 0x04, 0x98, 0x40, 0x06, 0x80, 0x0c, 0x78, 0x30, 0x88, 0x83, 0x15, 0x20, 
+    0xb0, 0x80, 0x20, 0x20, 0x10, 0xe0, 0x20, 0x1c, 0x00, 0xe0, 0x00, 0x20, 0x80, 0x07, 0x82, 
+    0x0f, 0x05, 0x98, 0x00, 0x07, 0x40, 0x0e, 0x80, 0x18, 0x04, 0x9a, 0x52, 0x06, 0x92, 0x0c, 
+    0x10, 0x18, 0x08, 0x80, 
+
+    0x01, 0x05, 0xff, 0xff, 0xdc, 0x05, 0x18, 0x00, 0xfa, 0x11, 0x20, 0x30, 0x80, 0x04, 0x20, 
+    0x39, 0x78, 0x08, 0x43, 0x38, 0x70, 0x03, 0x98, 0x00, 0x28, 0x05, 0xd0, 0x91, 0x48, 0x00, 
+    0x21, 0xa6, 0x46, 0x92, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xc8, 0x20, 0xa6, 0x46, 0x97, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0x8d, 0x48, 0x0c, 0x21, 0xa6, 0x46, 0x8d, 0x4a, 0xfe, 0x44, 0x10, 
+    0x47, 0x03, 0x98, 0x00, 0x28, 0x02, 0xd0, 0xff, 0x20, 0x02, 0x30, 0x28, 0x80, 0x08, 0xb0, 
+    0xf0, 0xbd, 0xf8, 0xb5, 0xc1, 0x7a, 0x00, 0x91, 0x07, 0x7b, 0x00, 0x2f, 0x03, 0xd0, 0x01, 
+    0x2f, 0x02, 0xd1, 0x01, 0x27, 0x00, 0xe0, 0x02, 0x27, 0x01, 0x24, 0xa6, 0x46, 0x7d, 0x48, 
+    0xfe, 0x44, 0x00, 0x47, 0x85, 0x4e, 0x30, 0x78, 0x7f, 0x4d, 0x81, 0x09, 0x16, 0xd3, 0x14, 
+    0x20, 0xa8, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x82, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x76, 0x48, 
+    0x00, 0x21, 0xa6, 0x46, 0x76, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x75, 0x48, 0x03, 0x21, 0xa6, 
+    0x46, 0x75, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x31, 0x78, 0xdf, 0x20, 0x08, 0x40, 0x30, 0x70, 
+    0xc0, 0x09, 0x0a, 0xd3, 0x24, 0x20, 0xa8, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x75, 0x49, 0xfe, 
+    0x44, 0x08, 0x47, 0x31, 0x78, 0xbf, 0x20, 0x08, 0x40, 0x30, 0x70, 0x73, 0x48, 0x01, 0x78, 
+    0x6e, 0x48, 0x01, 0x29, 0x12, 0xd0, 0x00, 0x99, 0x89, 0x01, 0x41, 0x80, 0x87, 0x80, 0x21, 
+    0x20, 0x28, 0x80, 0xc8, 0x20, 0xa6, 0x46, 0x6b, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x62, 0x48, 
+    0x0c, 0x21, 0xa6, 0x46, 0x61, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x02, 0x20, 0x13, 0xe0, 0x00, 
+    0x99, 0x8a, 0x01, 0x02, 0x21, 0x11, 0x43, 0xc1, 0x83, 0x07, 0x84, 0x25, 0x20, 0xa8, 0x80, 
+    0xc8, 0x20, 0xa6, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd6, 0x06, 0x18, 0x00, 0xfa, 0x61, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x57, 0x48, 0x0c, 0x21, 0xa6, 0x46, 0x57, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x40, 0x20, 0x31, 
+    0x78, 0x08, 0x43, 0x30, 0x70, 0xf8, 0xbd, 0xf8, 0xb5, 0x00, 0x92, 0x0f, 0x1c, 0x05, 0x1c, 
+    0x61, 0x48, 0x01, 0x78, 0x01, 0x24, 0x58, 0x4e, 0xb5, 0x42, 0x0e, 0xdc, 0x5b, 0x48, 0xb5, 
+    0x42, 0x4e, 0xd0, 0x44, 0x4a, 0xaa, 0x1a, 0x52, 0xd0, 0x01, 0x3a, 0x49, 0xd0, 0x04, 0x3a, 
+    0x32, 0xd0, 0x68, 0x3a, 0x4c, 0xd0, 0x01, 0x3a, 0x50, 0xd0, 0x3a, 0xe0, 0x30, 0x1c, 0x2f, 
+    0x30, 0x28, 0x1a, 0x3a, 0xd0, 0x24, 0x38, 0x36, 0xd0, 0x01, 0x38, 0x18, 0xd0, 0x01, 0x38, 
+    0x30, 0xd1, 0x47, 0x48, 0x6d, 0x30, 0x00, 0x78, 0x02, 0x28, 0x0e, 0xd1, 0xf8, 0x7a, 0x00, 
+    0x07, 0x00, 0x0f, 0x47, 0x49, 0x0a, 0x1c, 0xb6, 0x3a, 0x10, 0x70, 0x02, 0x01, 0x02, 0x43, 
+    0x12, 0x01, 0x02, 0x43, 0x12, 0x01, 0x02, 0x43, 0x0a, 0x80, 0x0b, 0xe0, 0x0c, 0x20, 0x18, 
+    0x70, 0x08, 0xe0, 0x01, 0x29, 0x01, 0xd0, 0x04, 0x29, 0x04, 0xd1, 0x38, 0x1c, 0xa6, 0x46, 
+    0x3e, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x25, 0x1c, 0x00, 0x98, 0x05, 0x70, 0x4c, 0xe0, 0x00, 
+    0x29, 0x4a, 0xd1, 0xb8, 0x7d, 0x01, 0x28, 0x47, 0xd1, 0x04, 0x20, 0xa6, 0x46, 0x38, 0x49, 
+    0xfe, 0x44, 0x08, 0x47, 0xff, 0x20, 0xb8, 0x75, 0x3f, 0xe0, 0x00, 0x24, 0x3d, 0xe0, 0x39, 
+    0x48, 0x00, 0xe0, 0x2f, 0x48, 0xf9, 0x7a, 0x01, 0x70, 0xe6, 0xe7, 0x00, 0x21, 0x06, 0x22, 
+    0xa6, 0x46, 0x35, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0xe0, 0x03, 0x21, 0x06, 0x22, 0xa6, 
+    0x46, 0x32, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x31, 0x48, 0x00, 0x68, 0x00, 0x28, 0x13, 0xd1, 
+    0x04, 0x3e, 0xb5, 0x42, 
+
+    0x01, 0x05, 0xff, 0xd1, 0xd0, 0x07, 0x18, 0x00, 0xcc, 0x09, 0xd0, 0x13, 0x48, 0x85, 0x42, 
+    0x20, 0xd1, 0x38, 0x1c, 0x25, 0x1c, 0xa6, 0x46, 0x26, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc9, 
+    0xe7, 0x38, 0x1c, 0x25, 0x1c, 0xa6, 0x46, 0x23, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xc2, 0xe7, 
+    0x04, 0x20, 0xa6, 0x46, 0x25, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x47, 0x21, 0x09, 0x02, 0x01, 
+    0x80, 0x87, 0x80, 0x39, 0x0c, 0xc1, 0x80, 0xa6, 0x46, 0x21, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0x21, 0x48, 0x9e, 0x30, 0x06, 0x99, 0x08, 0x62, 0x20, 0x1c, 0xf8, 0xbd, 0xc0, 0x46, 0x17, 
+    0xfd, 0x00, 0x00, 0x8b, 0x05, 0x05, 0x00, 0xf5, 0xd3, 0x04, 0x00, 0x8c, 0x4f, 0x08, 0x00, 
+    0x0d, 0x82, 0x03, 0x00, 0x0d, 0x18, 0x19, 0x00, 0x79, 0x48, 0x05, 0x00, 0x62, 0x1c, 0x19, 
+    0x00, 0x61, 0x48, 0x05, 0x00, 0x44, 0x24, 0x19, 0x00, 0x0c, 0x18, 0x19, 0x00, 0xc8, 0x8d, 
+    0x06, 0x00, 0x00, 0x30, 0x19, 0x00, 0x21, 0xa7, 0x05, 0x00, 0xd4, 0x0f, 0x08, 0x00, 0xbb, 
+    0x16, 0x04, 0x00, 0xc8, 0x63, 0x08, 0x00, 0x88, 0xfd, 0x00, 0x00, 0x4c, 0xa6, 0x1b, 0x00, 
+    0x6d, 0x09, 0x18, 0x00, 0xe1, 0x42, 0x02, 0x00, 0x6a, 0x0a, 0x1a, 0x00, 0x21, 0x06, 0x18, 
+    0x00, 0xe3, 0x04, 0x18, 0x00, 0xe8, 0x57, 0x08, 0x00, 0xc9, 0x63, 0x08, 0x00, 0x91, 0x48, 
+    0x05, 0x00, 0x2c, 0x51, 0x08, 0x00, 0x9b, 0x60, 0x04, 0x00, 0xe9, 0x3f, 0x05, 0x00, 0x81, 
+    0x60, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0xd0, 0x2d, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xc6, 0x48, 0x00, 0x78, 
+    0x02, 0x28, 0x00, 0xd0, 0x9e, 0xe0, 0xc5, 0x48, 0x05, 0x21, 0x01, 0x25, 0xae, 0x46, 0xc4, 
+    0x4a, 0xfe, 0x44, 0x10, 0x47, 0x01, 0x1c, 0xc0, 0x48, 0x00, 0x22, 0xae, 0x46, 0xf3, 0x4b, 
+    0xfe, 0x44, 0x18, 0x47, 0xf2, 0x48, 0x00, 0x78, 0x00, 0x28, 0x18, 0xd1, 0x13, 0x20, 0xbe, 
+    0x49, 0x08, 0x80, 0x03, 0x27, 0x39, 0x1c, 0x28, 0x1c, 0xae, 0x46, 0xbc, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0xec, 0x4e, 0x30, 0x1c, 0x0a, 0x30, 0x39, 0x1c, 0xae, 0x46, 0xb9, 0x4a, 0xfe, 
+    0x44, 0x10, 0x47, 0x30, 0x1c, 0x00, 0x21, 0x0c, 0x22, 0xae, 0x46, 0xe4, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xb6, 0x4c, 0x27, 0x1c, 0x02, 0x3f, 0x38, 0x1c, 0x02, 0x21, 0x00, 0x22, 0xae, 
+    0x46, 0xb1, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xb2, 0x4e, 0x30, 0x1c, 0xc8, 0x38, 0x20, 0x60, 
+    0x38, 0x1c, 0x03, 0x21, 0x00, 0x22, 0xae, 0x46, 0xac, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x26, 
+    0x60, 0x38, 0x1c, 0x04, 0x21, 0x00, 0x22, 0xae, 0x46, 0xa8, 0x4b, 0xfe, 0x44, 0x18, 0x47, 
+    0xa9, 0x4e, 0x30, 0x1c, 0xd1, 0x38, 0x20, 0x60, 0x38, 0x1c, 0x05, 0x21, 0x00, 0x22, 0xae, 
+    0x46, 0xa2, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x26, 0x60, 0x38, 0x1c, 0x06, 0x21, 0x00, 0x22, 
+    0xae, 0x46, 0x9e, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0x1c, 0x32, 0x30, 0x20, 0x60, 0x38, 
+    0x1c, 0x07, 0x21, 0x00, 0x22, 0xae, 0x46, 0x99, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x30, 0x1c, 
+    0x62, 0x30, 0x20, 0x60, 0x38, 0x1c, 0x08, 0x21, 0x00, 0x22, 0xae, 0x46, 0x94, 0x4b, 0xfe, 
+    0x44, 0x18, 0x47, 0xc2, 0x36, 0x26, 0x60, 0x38, 0x1c, 0x09, 0x21, 0x00, 0x22, 0xae, 0x46, 
+    0x90, 0x4b, 0xfe, 0x44, 
+
+    0x01, 0x05, 0xff, 0xff, 0xca, 0x2e, 0x18, 0x00, 0xfa, 0x18, 0x47, 0xe9, 0x48, 0x20, 0x60, 
+    0x38, 0x1c, 0x0a, 0x21, 0x00, 0x22, 0xae, 0x46, 0x8b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xe6, 
+    0x48, 0x20, 0x60, 0x38, 0x1c, 0x0b, 0x21, 0x00, 0x22, 0xae, 0x46, 0x87, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xe2, 0x48, 0x20, 0x60, 0xe2, 0x48, 0x00, 0x88, 0x80, 0x0b, 0x0e, 0xd3, 0x00, 
+    0x22, 0x10, 0x1c, 0xc3, 0x00, 0xe0, 0x49, 0x0c, 0x1c, 0x02, 0x3c, 0xe4, 0x18, 0x25, 0x88, 
+    0x2d, 0x06, 0x2d, 0x0e, 0x25, 0x80, 0xca, 0x52, 0x01, 0x30, 0x14, 0x28, 0xf2, 0xdb, 0xf0, 
+    0xbd, 0x10, 0xb5, 0x73, 0x48, 0x00, 0x78, 0x00, 0x28, 0x32, 0xd0, 0x02, 0x28, 0x3b, 0xd1, 
+    0xd7, 0x48, 0x48, 0x21, 0x09, 0x18, 0x0b, 0x88, 0x01, 0x22, 0x1a, 0x43, 0x0a, 0x80, 0xd1, 
+    0x4a, 0x70, 0x3a, 0x13, 0x88, 0x9b, 0x10, 0x9b, 0x00, 0x13, 0x80, 0x7c, 0x23, 0x8a, 0x8e, 
+    0x9a, 0x43, 0x32, 0x23, 0x13, 0x43, 0x8b, 0x86, 0xce, 0x4b, 0x19, 0x88, 0x49, 0x09, 0x4a, 
+    0x01, 0x08, 0x21, 0x11, 0x43, 0x19, 0x80, 0x01, 0x88, 0x49, 0x10, 0x49, 0x00, 0x01, 0x80, 
+    0xca, 0x4b, 0xff, 0x24, 0x19, 0x88, 0x21, 0x40, 0x03, 0x22, 0x12, 0x02, 0x0a, 0x43, 0x1a, 
+    0x80, 0x19, 0x89, 0x21, 0x40, 0xff, 0x22, 0x01, 0x32, 0x0a, 0x43, 0x1a, 0x81, 0x02, 0x22, 
+    0x01, 0x88, 0x91, 0x43, 0x01, 0x80, 0x10, 0xbd, 0x07, 0x21, 0x09, 0x02, 0xc0, 0x48, 0x0a, 
+    0x1c, 0x01, 0x24, 0xa6, 0x46, 0xbf, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xbf, 0x48, 0x04, 0x70, 
+    0x10, 0xbd, 0xf0, 0xb5, 0xbe, 0x4d, 0x06, 0x26, 0x2e, 0x70, 0x0f, 0x20, 0x68, 0x70, 0x3d, 
+    0x20, 0xa8, 0x70, 0x4d, 0x20, 0xe8, 0x70, 0x03, 0x20, 0x32, 0x1c, 0x0f, 0x23, 0xd2, 0x49, 
+    0xe4, 0x31, 0x01, 0x24, 
+
+    0x01, 0x05, 0xff, 0xff, 0xc4, 0x2f, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xb7, 0x4f, 0xfe, 0x44, 
+    0x38, 0x47, 0xaa, 0x78, 0xeb, 0x78, 0x03, 0x20, 0xcd, 0x49, 0xe5, 0x31, 0xa6, 0x46, 0xb2, 
+    0x4d, 0xfe, 0x44, 0x28, 0x47, 0x03, 0x20, 0xc9, 0x49, 0xe6, 0x31, 0xa6, 0x46, 0xb0, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0xa6, 0x46, 0xaf, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xae, 0x4a, 0x00, 
+    0x21, 0x08, 0x1c, 0x13, 0x68, 0x00, 0x2b, 0x04, 0xd0, 0x03, 0x07, 0x1d, 0x0f, 0x23, 0x1c, 
+    0xab, 0x40, 0x19, 0x43, 0x03, 0x07, 0x1b, 0x0f, 0xa9, 0x4d, 0x0f, 0x2b, 0x04, 0xd1, 0xc7, 
+    0x08, 0x33, 0x1c, 0x3b, 0x40, 0xe9, 0x52, 0x00, 0x21, 0x04, 0x32, 0x01, 0x30, 0x20, 0x28, 
+    0xe9, 0xd3, 0xa4, 0x4e, 0x30, 0x78, 0x81, 0x08, 0x07, 0xd2, 0x28, 0x1c, 0x02, 0x30, 0x0f, 
+    0x21, 0xa6, 0x46, 0xa1, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x30, 0x78, 0xc0, 0x08, 0x05, 0xd2, 
+    0x28, 0x1c, 0x0c, 0x21, 0xa6, 0x46, 0x9c, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x9c, 0x48, 0x00, 
+    0x21, 0xa6, 0x46, 0x99, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x00, 0x26, 0x99, 0x48, 0x06, 0x70, 
+    0x99, 0x48, 0x06, 0x70, 0x46, 0x70, 0x19, 0x20, 0x40, 0x01, 0x98, 0x49, 0x08, 0x80, 0xff, 
+    0x21, 0x97, 0x48, 0x01, 0x70, 0x97, 0x48, 0x01, 0x70, 0x97, 0x48, 0x06, 0x70, 0x98, 0x48, 
+    0x97, 0x4a, 0x10, 0x60, 0x98, 0x48, 0x24, 0x22, 0x02, 0x70, 0x18, 0x22, 0x42, 0x70, 0x20, 
+    0x22, 0x82, 0x70, 0x10, 0x22, 0xc2, 0x70, 0x98, 0x4d, 0x28, 0x1c, 0x00, 0x0a, 0x93, 0x4a, 
+    0x10, 0x80, 0x93, 0x48, 0x01, 0x70, 0xa6, 0x46, 0x92, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x92, 
+    0x4f, 0xa6, 0x46, 0x93, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 0x08, 
+    0x04, 0xd0, 0x00, 0x20, 
+
+    0x01, 0x05, 0xff, 0xff, 0xbe, 0x30, 0x18, 0x00, 0xfa, 0xc0, 0x43, 0x45, 0x19, 0x85, 0x42, 
+    0xf2, 0xd1, 0xa6, 0x46, 0x8c, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x39, 0x88, 0x01, 0x40, 0x48, 
+    0x08, 0x04, 0xd0, 0x5c, 0x20, 0xa6, 0x46, 0x89, 0x49, 0xfe, 0x44, 0x08, 0x47, 0xa6, 0x46, 
+    0x88, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x3e, 0x80, 0xf0, 0xbd, 0xe8, 0x57, 0x08, 0x00, 0x6a, 
+    0x31, 0x19, 0x00, 0xc4, 0x61, 0x1a, 0x00, 0x57, 0x4a, 0x05, 0x00, 0x9e, 0x13, 0x08, 0x00, 
+    0x21, 0x99, 0x05, 0x00, 0x61, 0x48, 0x05, 0x00, 0xff, 0x48, 0x05, 0x00, 0x0c, 0x60, 0x1a, 
+    0x00, 0xdc, 0x09, 0x04, 0x00, 0x25, 0x0d, 0x04, 0x00, 0xf0, 0xb5, 0x94, 0xb0, 0x7b, 0x48, 
+    0x06, 0xc8, 0x6d, 0x46, 0x68, 0x46, 0x06, 0xc0, 0x7a, 0x48, 0x06, 0xc8, 0x02, 0xa8, 0x06, 
+    0xc0, 0x79, 0x48, 0x06, 0xc8, 0x04, 0xa8, 0x06, 0xc0, 0x78, 0x48, 0x06, 0xc8, 0x06, 0xa8, 
+    0x06, 0xc0, 0x77, 0x48, 0x06, 0xc8, 0x08, 0xa8, 0x06, 0xc0, 0x76, 0x48, 0x06, 0xc8, 0x0a, 
+    0xa8, 0x06, 0xc0, 0x75, 0x48, 0x06, 0xc8, 0x0c, 0xa8, 0x06, 0xc0, 0x74, 0x48, 0x06, 0xc8, 
+    0x0e, 0xa8, 0x06, 0xc0, 0x73, 0x48, 0x06, 0xc8, 0x10, 0xa8, 0x06, 0xc0, 0x72, 0x48, 0x06, 
+    0xc8, 0x12, 0xa8, 0x06, 0xc0, 0x0c, 0x20, 0x01, 0x1c, 0x71, 0x4e, 0x30, 0x1c, 0x48, 0x30, 
+    0x01, 0x24, 0xa6, 0x46, 0x72, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x10, 0x48, 0x00, 0x78, 0x00, 
+    0x28, 0x20, 0xd1, 0x03, 0x27, 0x39, 0x1c, 0x69, 0x48, 0xa6, 0x46, 0x6d, 0x4a, 0xfe, 0x44, 
+    0x10, 0x47, 0x35, 0x48, 0x39, 0x1c, 0xa6, 0x46, 0x6a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x08, 
+    0x48, 0x00, 0x21, 0x0c, 0x22, 0xa6, 0x46, 0x04, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x2f, 0x48, 
+    0x02, 0x21, 0xa6, 0x46, 
+
+    0x01, 0x05, 0xff, 0xff, 0xb8, 0x31, 0x18, 0x00, 0xfa, 0x40, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x05, 0xe0, 0xd3, 0x48, 0x05, 0x00, 0x62, 0x56, 0x08, 0x00, 0x14, 0xf6, 0x1a, 0x00, 0x30, 
+    0x1c, 0x04, 0x21, 0xa6, 0x46, 0x3a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x39, 0x48, 0x02, 0x21, 
+    0xa6, 0x46, 0x5a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x55, 0x48, 0x0e, 0x99, 0x01, 0x60, 0xa9, 
+    0x8f, 0x81, 0x80, 0x10, 0x99, 0x81, 0x60, 0x11, 0xa9, 0x09, 0x88, 0x81, 0x81, 0x12, 0x99, 
+    0x01, 0x61, 0x13, 0xa9, 0x09, 0x88, 0x81, 0x82, 0x42, 0x21, 0x4e, 0x4d, 0x28, 0x1c, 0x60, 
+    0x30, 0x01, 0x60, 0x21, 0x1c, 0x28, 0x1c, 0xa6, 0x46, 0x4d, 0x4a, 0xfe, 0x44, 0x10, 0x47, 
+    0x28, 0x1c, 0xa0, 0x38, 0x00, 0x99, 0x01, 0x60, 0x01, 0x99, 0x41, 0x60, 0x02, 0x99, 0x81, 
+    0x60, 0x03, 0x99, 0xc1, 0x60, 0x04, 0x99, 0x01, 0x61, 0x05, 0x99, 0x41, 0x61, 0x06, 0x99, 
+    0x81, 0x62, 0x07, 0x99, 0xc1, 0x62, 0x08, 0x99, 0x81, 0x63, 0x09, 0x99, 0xc1, 0x63, 0x0a, 
+    0x99, 0x01, 0x65, 0x0b, 0x99, 0x41, 0x65, 0x0c, 0x99, 0x81, 0x66, 0x0d, 0x99, 0xc1, 0x66, 
+    0x28, 0x1c, 0x04, 0x30, 0x21, 0x1c, 0xa6, 0x46, 0x3a, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0xa6, 
+    0x46, 0x37, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x14, 0xb0, 0xf0, 0xbd, 0xc0, 0x46, 0x1e, 0xf6, 
+    0x1a, 0x00, 0x2f, 0x0e, 0x04, 0x00, 0x6a, 0x12, 0x40, 0x00, 0x85, 0x12, 0x00, 0x00, 0x5c, 
+    0x7b, 0x1a, 0x00, 0x04, 0x09, 0x1a, 0x00, 0x24, 0x79, 0x1a, 0x00, 0x54, 0x7d, 0x1a, 0x00, 
+    0x2c, 0x7a, 0x1a, 0x00, 0x00, 0x74, 0x1a, 0x00, 0xdb, 0x4a, 0x05, 0x00, 0x08, 0x51, 0x08, 
+    0x00, 0x0c, 0x51, 0x08, 0x00, 0x0b, 0xd4, 0x04, 0x00, 0xf5, 0xd3, 0x04, 0x00, 0x89, 0x0b, 
+    0x18, 0x00, 0x80, 0x7b, 
+
+    0x01, 0x05, 0xff, 0x9f, 0xb2, 0x32, 0x18, 0x00, 0x9a, 0x08, 0x00, 0x84, 0xf3, 0x1a, 0x00, 
+    0xb2, 0x50, 0x08, 0x00, 0x79, 0x48, 0x05, 0x00, 0x78, 0x61, 0x1a, 0x00, 0x65, 0x63, 0x08, 
+    0x00, 0x60, 0x63, 0x08, 0x00, 0xcc, 0x24, 0x08, 0x00, 0xc0, 0x63, 0x08, 0x00, 0xc1, 0x63, 
+    0x08, 0x00, 0xca, 0x63, 0x08, 0x00, 0xf4, 0x62, 0x08, 0x00, 0x36, 0xa0, 0x1b, 0x00, 0x68, 
+    0x63, 0x08, 0x00, 0x4c, 0x25, 0x08, 0x00, 0xc3, 0x63, 0x08, 0x00, 0x19, 0x31, 0x18, 0x00, 
+    0x00, 0x7c, 0x1a, 0x00, 0xf0, 0xff, 0xff, 0x00, 0x07, 0xff, 0x03, 0x00, 0xd7, 0xd3, 0x04, 
+    0x00, 0x1d, 0x2f, 0x18, 0x00, 0xe1, 0x04, 0x00, 0x00, 0xa4, 0x62, 0x08, 0x00, 0xac, 0x62, 
+    0x08, 0x00, 0xb4, 0x62, 0x08, 0x00, 0xbc, 0x62, 0x08, 0x00, 0xc4, 0x62, 0x08, 0x00, 0xcc, 
+    0x62, 0x08, 0x00, 0xd4, 0x62, 0x08, 0x00, 0xdc, 0x62, 0x08, 0x00, 0xe4, 0x62, 0x08, 0x00, 
+    0xec, 0x62, 0x08, 0x00, 0x08, 0xf0, 0x1a, 0x00, 0x10, 0x60, 0x1a, 0x00, 0x98, 0x0b, 0x1a, 
+    0x00, 0xa0, 0x09, 0x1a, 0x00, 0xd1, 0x2d, 0x18, 0x00, 0x61, 0x48, 0x05, 0x00, 
+
+    0x01, 0x05, 0xff, 0xff, 0xfc, 0x08, 0x18, 0x00, 0xfa, 0xf0, 0xb5, 0xd6, 0x49, 0x0d, 0x78, 
+    0x14, 0x2d, 0x2c, 0xda, 0xd8, 0x4c, 0x26, 0x1c, 0x30, 0x3e, 0x68, 0x1c, 0x00, 0x06, 0x00, 
+    0x0e, 0x30, 0x70, 0xd1, 0x4b, 0xaa, 0x00, 0xd1, 0x4f, 0x9f, 0x50, 0x14, 0x28, 0x18, 0xda, 
+    0xaa, 0x1c, 0x12, 0x06, 0x12, 0x0e, 0x72, 0x70, 0x80, 0x00, 0xce, 0x4e, 0x1e, 0x50, 0x14, 
+    0x2a, 0x08, 0xda, 0xe8, 0x1c, 0x20, 0x70, 0x90, 0x00, 0xcc, 0x4a, 0x1a, 0x50, 0x08, 0x78, 
+    0x03, 0x30, 0x08, 0x70, 0xf0, 0xbd, 0x0a, 0x70, 0x01, 0x20, 0x86, 0x46, 0xc9, 0x48, 0xfe, 
+    0x44, 0x00, 0x47, 0xfe, 0xe7, 0x08, 0x70, 0x01, 0x20, 0x86, 0x46, 0xc5, 0x48, 0xfe, 0x44, 
+    0x00, 0x47, 0xfe, 0xe7, 0x01, 0x20, 0x86, 0x46, 0xc2, 0x48, 0xfe, 0x44, 0x00, 0x47, 0xfe, 
+    0xe7, 0xf8, 0xb5, 0x00, 0x90, 0xc5, 0x7a, 0xc0, 0x49, 0x0d, 0x70, 0x02, 0x7b, 0xbf, 0x49, 
+    0x0a, 0x70, 0xbf, 0x49, 0x04, 0x1c, 0x63, 0x7b, 0x0b, 0x70, 0xbe, 0x48, 0xa4, 0x7b, 0x04, 
+    0x70, 0xc7, 0x4e, 0x00, 0x2d, 0x00, 0xd0, 0xba, 0xe0, 0xc0, 0x4a, 0x15, 0x1c, 0x8c, 0x3d, 
+    0xca, 0x4f, 0xbf, 0x0b, 0x01, 0x24, 0xa6, 0x46, 0xb8, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x29, 
+    0x88, 0x01, 0x40, 0x48, 0x08, 0x05, 0xd0, 0x38, 0x1c, 0x41, 0x1e, 0x0f, 0x04, 0x3f, 0x0c, 
+    0x00, 0x28, 0xf0, 0xd1, 0xa6, 0x46, 0xb1, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x29, 0x88, 0x01, 
+    0x40, 0x48, 0x08, 0x04, 0xd0, 0x58, 0x20, 0xa6, 0x46, 0xae, 0x49, 0xfe, 0x44, 0x08, 0x47, 
+    0xaa, 0x48, 0x00, 0x78, 0xac, 0x4f, 0x01, 0x28, 0x32, 0xd0, 0x00, 0x20, 0x01, 0x1c, 0x0c, 
+    0x20, 0x02, 0x1c, 0x38, 0x1c, 0xa6, 0x46, 0xa9, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0xa8, 0x48, 
+    0x00, 0x21, 0x08, 0x22, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf6, 0x09, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0xa7, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0xa5, 0x4f, 0x24, 0x37, 0x38, 0x1c, 0x21, 0x1c, 0x0c, 0x22, 0xa6, 0x46, 0xa4, 
+    0x4b, 0xfe, 0x44, 0x18, 0x47, 0x07, 0x20, 0x01, 0x1c, 0x20, 0x1c, 0xa6, 0x46, 0xa1, 0x4a, 
+    0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0xa0, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, 
+    0x20, 0xa6, 0x46, 0x9f, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x30, 0x70, 0x38, 0x1c, 0x00, 0x21, 
+    0x0c, 0x22, 0xa6, 0x46, 0x97, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x59, 0xe0, 0x38, 0x1c, 0x00, 
+    0x21, 0x08, 0x22, 0xa6, 0x46, 0x90, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x38, 0x1c, 0x00, 0x21, 
+    0x0c, 0x22, 0xa6, 0x46, 0x8d, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x8c, 0x48, 0x00, 0x21, 0x0a, 
+    0x1c, 0xa6, 0x46, 0x8b, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x89, 0x48, 0x00, 0x21, 0x08, 0x22, 
+    0xa6, 0x46, 0x88, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x03, 0x20, 0x02, 0x1c, 0x84, 0x48, 0x02, 
+    0x21, 0xa6, 0x46, 0x85, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x0b, 0x20, 0x02, 0x1c, 0x80, 0x48, 
+    0x21, 0x1c, 0x8e, 0x46, 0x81, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x20, 0x1c, 0x06, 0x21, 0xa6, 
+    0x46, 0x7f, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x07, 0x27, 0x39, 0x1c, 0x20, 0x1c, 0xa6, 0x46, 
+    0x7b, 0x4a, 0xfe, 0x44, 0x10, 0x47, 0x14, 0x20, 0xa6, 0x46, 0x7a, 0x49, 0xfe, 0x44, 0x08, 
+    0x47, 0x38, 0x1c, 0xa6, 0x46, 0x79, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x07, 0x1c, 0x06, 0x20, 
+    0xa6, 0x46, 0x76, 0x49, 0xfe, 0x44, 0x08, 0x47, 0x40, 0x00, 0x38, 0x43, 0x30, 0x70, 0x6d, 
+    0x48, 0x00, 0x21, 0x03, 0x22, 0xa6, 0x46, 0x6d, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x6a, 0x48, 
+    0x00, 0x21, 0x0b, 0x22, 
+
+    0x01, 0x05, 0xff, 0xff, 0xf0, 0x0a, 0x18, 0x00, 0xfa, 0xa6, 0x46, 0x6a, 0x4b, 0xfe, 0x44, 
+    0x18, 0x47, 0x00, 0x20, 0x28, 0x80, 0x5f, 0x48, 0x03, 0x78, 0x5f, 0x48, 0x04, 0x78, 0x32, 
+    0x78, 0x00, 0xe0, 0x32, 0x70, 0x00, 0x98, 0xc0, 0x7b, 0x01, 0x2c, 0x26, 0xd1, 0x00, 0x2b, 
+    0x0d, 0xd1, 0x10, 0x1c, 0x09, 0xd0, 0x01, 0x38, 0x05, 0xd0, 0x01, 0x38, 0x01, 0xd0, 0x06, 
+    0x21, 0x16, 0xe0, 0x04, 0x21, 0x14, 0xe0, 0x02, 0x21, 0x12, 0xe0, 0x00, 0x21, 0x10, 0xe0, 
+    0x10, 0x1c, 0x0d, 0xd0, 0x01, 0x38, 0x09, 0xd0, 0x01, 0x38, 0x05, 0xd0, 0x01, 0x38, 0x01, 
+    0xd0, 0x10, 0x21, 0x06, 0xe0, 0x0e, 0x21, 0x04, 0xe0, 0x0c, 0x21, 0x02, 0xe0, 0x0a, 0x21, 
+    0x00, 0xe0, 0x08, 0x21, 0x00, 0x98, 0x08, 0x18, 0xc1, 0x7b, 0x55, 0x4b, 0x19, 0x70, 0x00, 
+    0x7c, 0x54, 0x4d, 0x28, 0x70, 0x54, 0x48, 0x11, 0x04, 0x09, 0x0c, 0x0c, 0x22, 0x01, 0x24, 
+    0xa6, 0x46, 0x47, 0x4b, 0xfe, 0x44, 0x18, 0x47, 0x32, 0x78, 0x2b, 0x78, 0x03, 0x20, 0x4f, 
+    0x49, 0xa6, 0x46, 0x4f, 0x4c, 0xfe, 0x44, 0x20, 0x47, 0xf8, 0xbd, 0x70, 0xb5, 0x00, 0x20, 
+    0x62, 0x49, 0x08, 0x70, 0x62, 0x49, 0xf7, 0x22, 0x0a, 0x70, 0xff, 0x22, 0x4a, 0x70, 0x8a, 
+    0x70, 0x7f, 0x22, 0xca, 0x70, 0x2e, 0x4b, 0x19, 0x1f, 0x48, 0x4a, 0x11, 0x60, 0x48, 0x49, 
+    0x08, 0x70, 0x5c, 0x49, 0x08, 0x70, 0x5c, 0x49, 0x08, 0x70, 0x46, 0x49, 0x08, 0x70, 0x47, 
+    0x48, 0x04, 0x1c, 0x71, 0x3c, 0x01, 0x22, 0x22, 0x70, 0x44, 0x49, 0x19, 0x60, 0x02, 0x21, 
+    0x01, 0x70, 0x44, 0x49, 0x59, 0x60, 0x03, 0x21, 0x21, 0x71, 0x43, 0x49, 0x99, 0x60, 0x01, 
+    0x1c, 0x33, 0x39, 0x04, 0x25, 0x0d, 0x70, 0x41, 0x4d, 0xdd, 0x60, 0x05, 0x25, 0xcd, 0x73, 
+    0x40, 0x49, 0x19, 0x61, 
+
+    0x01, 0x05, 0xff, 0xff, 0xea, 0x0b, 0x18, 0x00, 0xfa, 0x06, 0x21, 0xa1, 0x71, 0x3f, 0x49, 
+    0x59, 0x61, 0x07, 0x21, 0xe1, 0x71, 0xe5, 0x1d, 0x3d, 0x49, 0x99, 0x61, 0x08, 0x26, 0x01, 
+    0x1c, 0x48, 0x39, 0x0e, 0x70, 0x3b, 0x49, 0xd9, 0x61, 0x09, 0x21, 0x69, 0x77, 0x3a, 0x49, 
+    0x19, 0x62, 0x0a, 0x21, 0x0d, 0x19, 0x29, 0x70, 0x39, 0x49, 0x59, 0x62, 0x0b, 0x21, 0xe9, 
+    0x75, 0x38, 0x49, 0x99, 0x62, 0x1b, 0x21, 0x09, 0x19, 0x0c, 0x25, 0x0d, 0x70, 0x36, 0x4d, 
+    0xdd, 0x62, 0x0d, 0x25, 0x65, 0x73, 0x35, 0x4c, 0x1c, 0x63, 0x0e, 0x24, 0x4c, 0x77, 0x34, 
+    0x49, 0x59, 0x63, 0x0f, 0x21, 0x21, 0x30, 0x01, 0x70, 0x32, 0x48, 0x98, 0x63, 0x03, 0x48, 
+    0x01, 0x70, 0x96, 0x46, 0x31, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x70, 0xbd, 0xc0, 0x46, 0x64, 
+    0x63, 0x08, 0x00, 0x6c, 0x63, 0x08, 0x00, 0x2b, 0x79, 0x08, 0x00, 0x35, 0x79, 0x08, 0x00, 
+    0xfb, 0x53, 0x08, 0x00, 0x21, 0x79, 0x08, 0x00, 0xb1, 0x04, 0x18, 0x00, 0xc2, 0x63, 0x08, 
+    0x00, 0xc5, 0x63, 0x08, 0x00, 0xc4, 0x63, 0x08, 0x00, 0xc6, 0x63, 0x08, 0x00, 0x07, 0xff, 
+    0x03, 0x00, 0xd7, 0xd3, 0x04, 0x00, 0x16, 0xf6, 0x1a, 0x00, 0xd3, 0x48, 0x05, 0x00, 0x8c, 
+    0x7c, 0x1a, 0x00, 0xa7, 0x48, 0x05, 0x00, 0x91, 0x48, 0x05, 0x00, 0x21, 0x99, 0x05, 0x00, 
+    0xbb, 0x16, 0x04, 0x00, 0xc3, 0x63, 0x08, 0x00, 0x67, 0x99, 0x05, 0x00, 0xc0, 0x63, 0x08, 
+    0x00, 0xc1, 0x63, 0x08, 0x00, 0x08, 0x31, 0x19, 0x00, 0xae, 0x05, 0x00, 0x00, 0x0b, 0xd4, 
+    0x04, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x88, 0x53, 0x08, 0x00, 0x66, 0x63, 0x08, 0x00, 0x67, 
+    0x63, 0x08, 0x00, 0xc7, 0x78, 0x08, 0x00, 0xfd, 0x53, 0x08, 0x00, 0x0d, 0x79, 0x08, 0x00, 
+    0x17, 0x79, 0x08, 0x00, 
+
+    0x01, 0x05, 0xff, 0x79, 0xe4, 0x0c, 0x18, 0x00, 0x74, 0x5d, 0x79, 0x08, 0x00, 0x67, 0x79, 
+    0x08, 0x00, 0x53, 0x79, 0x08, 0x00, 0x3f, 0x79, 0x08, 0x00, 0x49, 0x79, 0x08, 0x00, 0xd1, 
+    0x78, 0x08, 0x00, 0xdb, 0x78, 0x08, 0x00, 0xbd, 0x78, 0x08, 0x00, 0x03, 0x79, 0x08, 0x00, 
+    0xe5, 0x78, 0x08, 0x00, 0xef, 0x78, 0x08, 0x00, 0xf9, 0x78, 0x08, 0x00, 0xfd, 0x08, 0x18, 
+    0x00, 0xc9, 0x63, 0x08, 0x00, 0xbc, 0x63, 0x08, 0x00, 0xc8, 0x63, 0x08, 0x00, 0x5c, 0x63, 
+    0x08, 0x00, 0x10, 0xb5, 0x01, 0x24, 0xa6, 0x46, 0x06, 0x48, 0xfe, 0x44, 0x00, 0x47, 0x08, 
+    0x20, 0x06, 0x49, 0x04, 0x22, 0x04, 0x4b, 0xa6, 0x46, 0x05, 0x4c, 0xfe, 0x44, 0x20, 0x47, 
+    0x10, 0xbd, 0xc0, 0x46, 0xa5, 0x2f, 0x18, 0x00, 0xd0, 0x2d, 0x18, 0x00, 0x0c, 0x04, 0x00, 
+    0x00, 0xd1, 0x5e, 0x04, 0x00, 
+
+    0x01, 0x83, 0xff, 0x14, 0x79, 0x7b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    // 
+    // 
+    0x01, 0xdc, 0xfd, 0x05, 0x00, 0x00, 0x00, 0x00, 0x12, 
+
+    0x01, 0x0f, 0xfd, 0x01, 0x01, 
+
+    0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, 
+    0x01, 0xff, 0xff, 0xff, 0xfa, 0x01, 0x00, 0x00, 0x00, 
+
+    0x01, 0x1c, 0xfd, 0x14, 0xff, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, 
+    0x01, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x58, 0xfd, 0x21, 0x01, 0xc4, 0xc4, 0xc4, 0xe2, 0xe2, 0xe2, 0xf1, 0xec, 0xab, 0x00, 
+    0x00, 0x00, 0x00, 0x03, 0x14, 0x0a, 0x90, 0x00, 0x90, 0x00, 0x3c, 0x0a, 0x32, 0x02, 0x01, 
+    0x01, 0x01, 0x03, 0xf6, 0xec, 0xf6, 0xec, 
+
+    0x01, 0x09, 0xfd, 0x08, 0x7e, 0x7c, 0x1a, 0x00, 0x10, 0x00, 0x10, 0x00, 
+
+    // 
+    // 
+    // ##--------------------------------------------------------------------------------
+    // ## Description:   QRCA_L_TRIOL PHY FW Initialization Script
+    // ## Version:       3.17_3 (based on ROM version)
+    // ##--------------------------------------------------------------------------------
+    0x01, 0x01, 0xff, 0x06, 0xc6, 0x32, 0x19, 0x00, 0x10, 0x10, 
+
+    0x01, 0x01, 0xff, 0x06, 0x60, 0x32, 0x19, 0x00, 0x32, 0x10, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x00, 0x9c, 0x18, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xdc, 
+    0xe6, 0xf0, 0xfa, 0x04, 0x0e, 0x18, 0xff, 0x00, 0x00, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x01, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, 
+    0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, 
+
+    0x01, 0x82, 0xfd, 0x14, 0x02, 0x9c, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xd8, 
+    0xe2, 0xec, 0xf6, 0x00, 0x0a, 0x14, 0xff, 0x00, 0x00, 
+
+    0x01, 0x87, 0xfd, 0x03, 0x0d, 0x0d, 0x0d, 
+
+    0x01, 0x76, 0xfd, 0x31, 0x01, 0x21, 0x54, 0x00, 0x00, 0x61, 0x57, 0x00, 0x00, 0x14, 0x05, 
+    0x0a, 0x05, 0x00, 0x07, 0x06, 0x0a, 0x04, 0x05, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 
+    0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 
+    0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x80, 0xfd, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
+
+    0x01, 0x80, 0xfd, 0x06, 0x3c, 0xf0, 0x5f, 0x00, 0x00, 0x00, 
+
+    // 
+    // 
+    // 
+    0x01, 0x38, 0xfe, 0x00, 
+
+    // 
+    // #--------------------------------------------------------------------------------
+    // # Description:   BLE FW Initialization Script
+    // #
+    // # Compatibility: BL6450L, WL127x , WL128x, NL5500L
+    // #
+    // # Last Updated:  12-Mar-2012  19:04:40.59
+    // #
+    // # Version:       1.2
+    // #
+    // #--------------------------------------------------------------------------------
+    // 
+    // 
+    // #LE Enable
+    0x01, 0x5b, 0xfd, 0x02, 0x01, 0x01, 
+
+    // 
+    // # Disable Cortex Sleep
+    0x01, 0xa8, 0xfd, 0x01, 0x01, 
+
+    // 
+    // 
+    // # Cortex Reset (hold in reset while loading IMEM)
+    0x01, 0x09, 0xfd, 0x08, 0x00, 0xc0, 0x1b, 0x00, 0x01, 0x00, 0x01, 0x00, 
+
+    // ########################
+    // # Patch Start
+    // ########################
+    // 
+    0x01, 0x05, 0xff, 0x19, 0xbc, 0x00, 0x1b, 0x00, 0x14, 0x37, 0x83, 0x49, 0x00, 0x01, 0xa0, 
+    0x40, 0x5a, 0x78, 0x44, 0x87, 0x46, 0xe8, 0x05, 0xc8, 0x05, 0x62, 0x06, 0x3c, 0x05, 
+
+    0x01, 0x05, 0xff, 0x09, 0xfc, 0x00, 0x1b, 0x00, 0x04, 0x28, 0x46, 0x15, 0xe3, 
+
+    0x01, 0x05, 0xff, 0x09, 0x34, 0x01, 0x1b, 0x00, 0x04, 0xfa, 0xe2, 0x40, 0xf6, 
+
+    0x01, 0x05, 0xff, 0x09, 0x68, 0x01, 0x1b, 0x00, 0x04, 0x00, 0x20, 0xdf, 0xe2, 
+
+    0x01, 0x05, 0xff, 0x09, 0xb0, 0x02, 0x1b, 0x00, 0x04, 0x00, 0x20, 0x3b, 0xe2, 
+
+    0x01, 0x05, 0xff, 0x0d, 0xb4, 0x03, 0x1b, 0x00, 0x08, 0x01, 0x22, 0x00, 0x21, 0xe8, 0x7d, 
+    0x0b, 0x46, 
+
+    0x01, 0x05, 0xff, 0x0d, 0xe0, 0x03, 0x1b, 0x00, 0x08, 0x53, 0x5c, 0x01, 0x22, 0x02, 0x21, 
+    0x00, 0xf0, 
+
+    0x01, 0x05, 0xff, 0x09, 0x1c, 0x04, 0x1b, 0x00, 0x04, 0xcd, 0xfd, 0x85, 0xe1, 
+
+    0x01, 0x05, 0xff, 0x09, 0x4c, 0x04, 0x1b, 0x00, 0x04, 0x00, 0xf0, 0x6e, 0x81, 
+
+    0x01, 0x05, 0xff, 0x09, 0x34, 0x05, 0x1b, 0x00, 0x04, 0xc0, 0xf0, 0xfa, 0x80, 
+
+    0x01, 0x05, 0xff, 0x09, 0x50, 0x05, 0x1b, 0x00, 0x04, 0xec, 0xe0, 0x04, 0xf0, 
+
+    0x01, 0x05, 0xff, 0x09, 0xa8, 0x05, 0x1b, 0x00, 0x04, 0xcb, 0xff, 0xbf, 0xe0, 
+
+    0x01, 0x05, 0xff, 0x0d, 0xfc, 0x05, 0x1b, 0x00, 0x08, 0x40, 0xf0, 0x88, 0x80, 0x00, 0x20, 
+    0x93, 0xe0, 
+
+    0x01, 0x05, 0xff, 0x09, 0x3c, 0x06, 0x1b, 0x00, 0x04, 0x76, 0xe0, 0x94, 0xf8, 
+
+    0x01, 0x05, 0xff, 0x09, 0x8c, 0x06, 0x1b, 0x00, 0x04, 0x23, 0x60, 0x4d, 0xe0, 
+
+    0x01, 0x05, 0xff, 0xb9, 0xb8, 0x06, 0x1b, 0x00, 0xb4, 0x94, 0xf8, 0x34, 0x20, 0xc2, 0xf2, 
+    0x00, 0x05, 0xa7, 0x8c, 0x01, 0x11, 0x92, 0x1c, 0xab, 0x89, 0x01, 0xf0, 0x0f, 0x01, 0x94, 
+    0xf8, 0x33, 0x00, 0x62, 0xf3, 0x09, 0x03, 0x2f, 0x81, 0xab, 0x81, 0x04, 0xf0, 0xf4, 0xfa, 
+    0x00, 0x21, 0x94, 0xf8, 0x33, 0x00, 0x0a, 0x46, 0x04, 0xf0, 0xb4, 0xfd, 0x94, 0xf8, 0x33, 
+    0x00, 0x4f, 0xf0, 0x03, 0x0a, 0xc4, 0xf8, 0x00, 0xa0, 0x06, 0xeb, 0x40, 0x01, 0xb1, 0xf8, 
+    0x14, 0x06, 0x40, 0x1c, 0xa1, 0xf8, 0x14, 0x06, 0x96, 0xf8, 0x46, 0x06, 0x00, 0x28, 0x08, 
+    0xbf, 0x00, 0x20, 0x0e, 0xd0, 0x09, 0x21, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 
+    0x05, 0xf0, 0x85, 0xff, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 
+    0xf0, 0x85, 0xff, 0x00, 0x20, 0x06, 0xb0, 0xbd, 0xe8, 0xf0, 0x87, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xe9, 0xf8, 
+    0x43, 0x40, 0xf2, 0xf8, 0x54, 0xc2, 0xf2, 0x00, 0x04, 0x27, 0x88, 0x0d, 0x46, 0x04, 0x46, 
+    0x79, 0x08, 0x40, 0xf2, 0x00, 0x07, 0x16, 0x46, 0x98, 0x46, 0x0a, 0xd3, 0x01, 0x46, 0x4f, 
+    0xf4, 0xe2, 0x70, 0x13, 0x46, 0x2a, 0x46, 0xcd, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x84, 0x07, 0x1b, 0x00, 0xc8, 0x00, 0xf0, 0x1b, 0x82, 0x0e, 0x2c, 
+    0x00, 0xf0, 0xa6, 0x81, 0x11, 0x2c, 0x00, 0xf0, 0xa0, 0x81, 0x97, 0xf8, 0x48, 0x26, 0x4f, 
+    0xf0, 0x01, 0x09, 0x09, 0xfa, 0x04, 0xf1, 0x11, 0x40, 0x31, 0x43, 0x4f, 0xf0, 0x00, 0x06, 
+    0x18, 0xbf, 0x4e, 0x46, 0x01, 0x2d, 0x18, 0xbf, 0x02, 0x2d, 0x72, 0xd1, 0x97, 0xf8, 0x47, 
+    0x16, 0x00, 0x29, 0x6e, 0xd1, 0x47, 0xf6, 0x0e, 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x41, 0xf6, 
+    0x44, 0x41, 0x80, 0xf8, 0x00, 0x80, 0xc2, 0xf2, 0x00, 0x01, 0x09, 0x88, 0x19, 0xb9, 0x0b, 
+    0x21, 0x05, 0xf0, 0x2d, 0xff, 0x02, 0xe0, 0x0b, 0x21, 0x05, 0xf0, 0x22, 0xff, 0x46, 0xf6, 
+    0x78, 0x68, 0xc0, 0xf2, 0x00, 0x08, 0x41, 0xf6, 0x28, 0x47, 0x18, 0xf8, 0x04, 0x00, 0xc2, 
+    0xf2, 0x00, 0x07, 0x6e, 0xb9, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 
+    0x32, 0x00, 0x05, 0xf0, 0x16, 0xff, 0x18, 0xf8, 0x04, 0x00, 0x10, 0x38, 0xc4, 0xb2, 0xb8, 
+    0x7f, 0x09, 0xe0, 0x10, 0x38, 0xc4, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0x21, 0x46, 0xc2, 0xf2, 
+    0x32, 0x00, 0x05, 0xf0, 0x00, 0xff, 0xb8, 0x7f, 0x38, 0xb9, 0x47, 0xf6, 0x48, 0x70, 0xc2, 
+    0xf2, 0x32, 0x00, 0x21, 0x46, 0x05, 0xf0, 0xfe, 0xfe, 0x06, 0xe0, 0x21, 0x46, 0x47, 0xf6, 
+    0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xef, 0xfe, 0x02, 0x2d, 0x0e, 0xd0, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x4c, 0x08, 0x1b, 0x00, 0xc8, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 
+    0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xed, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 
+    0xf2, 0x32, 0x00, 0x05, 0xf0, 0xe6, 0xfe, 0x0d, 0xe0, 0x09, 0x21, 0x40, 0xf6, 0x6a, 0x20, 
+    0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd7, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 
+    0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd7, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 
+    0x07, 0x21, 0x05, 0xf0, 0xc9, 0xfe, 0x48, 0x46, 0xbd, 0xe8, 0xf8, 0x83, 0x0f, 0x2c, 0x08, 
+    0xbf, 0x05, 0x24, 0x11, 0xd0, 0x10, 0x2c, 0x08, 0xbf, 0x06, 0x24, 0x0d, 0xd0, 0x03, 0x2c, 
+    0x0b, 0xd9, 0x0e, 0x2c, 0x09, 0xd2, 0x24, 0x1f, 0x0c, 0x22, 0xe1, 0xb2, 0x47, 0xf6, 0x0e, 
+    0x50, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x55, 0xfe, 0x04, 0x24, 0x00, 0x2d, 0x00, 0xf0, 
+    0xb6, 0x80, 0xed, 0x1e, 0x47, 0xd0, 0x6d, 0x1e, 0x40, 0xf0, 0xff, 0x80, 0x40, 0xf6, 0x6a, 
+    0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xa8, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 
+    0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xa1, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x07, 
+    0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x9a, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 
+    0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x93, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x14, 0x09, 0x1b, 0x00, 0xc8, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 
+    0x85, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x7e, 
+    0xfe, 0x97, 0xf8, 0x47, 0x06, 0x00, 0x28, 0x40, 0xf0, 0xd0, 0x80, 0x46, 0xf6, 0x78, 0x60, 
+    0xc0, 0xf2, 0x00, 0x00, 0x00, 0x5d, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x44, 0x70, 0xc2, 
+    0xf2, 0x32, 0x00, 0x05, 0xf0, 0x6c, 0xfe, 0x47, 0xf6, 0x0e, 0x51, 0x48, 0x46, 0xc2, 0xf2, 
+    0x32, 0x01, 0x81, 0xf8, 0x00, 0x80, 0xbd, 0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, 0x00, 
+    0x28, 0x37, 0xd1, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, 
+    0x05, 0xf0, 0x73, 0xfe, 0x47, 0xf6, 0x44, 0x70, 0x47, 0xf6, 0x60, 0x01, 0xc2, 0xf2, 0x32, 
+    0x00, 0x05, 0xf0, 0x6b, 0xfe, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, 
+    0x08, 0xbb, 0x46, 0xf6, 0x78, 0x60, 0xc0, 0xf2, 0x00, 0x00, 0x00, 0x5d, 0x10, 0x38, 0xc1, 
+    0xb2, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, 0xfe, 0x97, 0xf8, 
+    0x4a, 0x06, 0x06, 0x21, 0x04, 0x28, 0x09, 0xd0, 0x01, 0x28, 0x0d, 0xd1, 0x47, 0xf6, 0x40, 
+    0x40, 0xc2, 0xf2, 0x32, 0x00, 0x06, 0x21, 0x05, 0xf0, 0x2e, 0xfe, 0x05, 0xe0, 0x47, 0xf6, 
+    0x70, 0x40, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x27, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xdc, 0x09, 0x1b, 0x00, 0xc8, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 
+    0x05, 0xf0, 0x27, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 
+    0xf0, 0x20, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 
+    0x19, 0xfe, 0x0a, 0x20, 0x04, 0xf0, 0x84, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 
+    0xf2, 0x32, 0x00, 0x05, 0xf0, 0x08, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, 
+    0x32, 0x00, 0x05, 0xf0, 0x08, 0xfe, 0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 
+    0x00, 0x05, 0xf0, 0x01, 0xfe, 0x48, 0x46, 0xbd, 0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, 
+    0x46, 0xf6, 0x78, 0x65, 0xc0, 0xf2, 0x00, 0x05, 0x00, 0x28, 0x30, 0xd1, 0x28, 0x5d, 0x86, 
+    0xb9, 0x10, 0x38, 0xc1, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 
+    0xec, 0xfd, 0x28, 0x5d, 0x10, 0x38, 0xc4, 0xb2, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, 
+    0x00, 0x00, 0x78, 0x0d, 0xe0, 0x10, 0x38, 0xc4, 0xb2, 0x47, 0xf6, 0x4c, 0x70, 0x21, 0x46, 
+    0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xd3, 0xfd, 0x41, 0xf6, 0x46, 0x40, 0xc2, 0xf2, 0x00, 
+    0x00, 0x00, 0x78, 0x38, 0xb9, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x21, 0x46, 
+    0x05, 0xf0, 0xcd, 0xfd, 0x06, 0xe0, 0x21, 0x46, 0x47, 0xf6, 0x48, 0x70, 0xc2, 0xf2, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xa4, 0x0a, 0x1b, 0x00, 0xc8, 0x32, 0x00, 0x05, 0xf0, 0xbe, 0xfd, 
+    0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x05, 0xf0, 0xbe, 0xfd, 0x40, 
+    0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xb7, 0xfd, 0x40, 0xf6, 
+    0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xb0, 0xfd, 0x01, 0x20, 0xbd, 
+    0xe8, 0xf8, 0x83, 0x97, 0xf8, 0x47, 0x06, 0x58, 0xbb, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 
+    0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, 0x05, 0xf0, 0xb7, 0xfd, 0x47, 0xf6, 0x44, 0x70, 0x47, 
+    0xf6, 0x60, 0x01, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0xaf, 0xfd, 0x47, 0xf6, 0x0e, 0x50, 
+    0x0b, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x93, 0xfd, 0x97, 0xf8, 0x4a, 0x06, 0x06, 
+    0x21, 0x04, 0x28, 0x09, 0xd0, 0x01, 0x28, 0x0d, 0xd1, 0x47, 0xf6, 0x40, 0x40, 0xc2, 0xf2, 
+    0x32, 0x00, 0x06, 0x21, 0x05, 0xf0, 0x7e, 0xfd, 0x05, 0xe0, 0x47, 0xf6, 0x70, 0x40, 0xc2, 
+    0xf2, 0x32, 0x00, 0x05, 0xf0, 0x77, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 
+    0x09, 0x21, 0x05, 0xf0, 0x77, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 
+    0x00, 0x05, 0xf0, 0x70, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 
+    0x05, 0xf0, 0x69, 0xfd, 0x0a, 0x20, 0x04, 0xf0, 0xd4, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 
+
+    0x01, 0x05, 0xff, 0xbd, 0x6c, 0x0b, 0x1b, 0x00, 0xb8, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, 
+    0x05, 0xf0, 0x58, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 
+    0xf0, 0x58, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 
+    0x4a, 0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, 
+    0xfd, 0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x43, 0xfd, 
+    0x40, 0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x05, 0xf0, 0x3c, 0xfd, 0x01, 
+    0x20, 0xbd, 0xe8, 0xf8, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x11, 0xa4, 0x12, 0x1b, 0x00, 0x0c, 0x4b, 0x46, 0xa1, 0x62, 0x20, 0x79, 
+    0x01, 0x22, 0x19, 0x46, 0xff, 0xf7, 
+
+    0x01, 0x05, 0xff, 0x09, 0x30, 0x13, 0x1b, 0x00, 0x04, 0x31, 0x46, 0xff, 0xf7, 
+
+    0x01, 0x05, 0xff, 0x0d, 0x1c, 0x14, 0x1b, 0x00, 0x08, 0x20, 0x79, 0x1a, 0x46, 0x19, 0x46, 
+    0xff, 0xf7, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xa4, 0x1b, 0x1b, 0x00, 0xc8, 0x2d, 0xe9, 0xf0, 0x47, 0x41, 0xf6, 
+    0xac, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x41, 0xf6, 0x30, 0x46, 0x41, 0xf2, 0x30, 0x14, 0x01, 
+    0xf1, 0x14, 0x07, 0xc2, 0xf2, 0x00, 0x06, 0xba, 0x88, 0xc2, 0xf2, 0x00, 0x04, 0x38, 0x7a, 
+    0x01, 0x25, 0xb2, 0x82, 0x83, 0x01, 0x41, 0xf6, 0x86, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x84, 
+    0xf8, 0x24, 0x00, 0x03, 0xeb, 0x40, 0x13, 0x15, 0x70, 0xc2, 0x01, 0x02, 0xeb, 0x80, 0x02, 
+    0xa2, 0x18, 0x28, 0x32, 0xf8, 0x79, 0x22, 0x60, 0x40, 0xf2, 0x00, 0x02, 0xa0, 0x72, 0xc2, 
+    0xf2, 0x00, 0x02, 0x02, 0xf2, 0x4c, 0x68, 0xb8, 0x79, 0xd2, 0x18, 0x38, 0x32, 0x62, 0x60, 
+    0x0a, 0x7f, 0xe0, 0x72, 0xd0, 0x01, 0x00, 0xeb, 0x82, 0x00, 0x20, 0x18, 0x54, 0x30, 0x91, 
+    0xe8, 0x0c, 0x00, 0x08, 0x31, 0x80, 0xe8, 0x0c, 0x00, 0x08, 0x22, 0x04, 0xf1, 0x0c, 0x00, 
+    0x03, 0xf0, 0x3c, 0xfc, 0xe0, 0x7a, 0x61, 0x68, 0x81, 0xf8, 0x44, 0x00, 0x20, 0x68, 0x90, 
+    0xf8, 0x37, 0x00, 0x00, 0x28, 0x04, 0xbf, 0x0f, 0x20, 0xf0, 0x75, 0x04, 0xd0, 0x94, 0xf8, 
+    0x24, 0x00, 0x00, 0x1d, 0xc0, 0xb2, 0xf0, 0x75, 0xa3, 0x7a, 0x4f, 0xf0, 0x00, 0x0a, 0x86, 
+    0xf8, 0x16, 0xa0, 0x52, 0x46, 0x04, 0x21, 0xfe, 0xf7, 0x74, 0xfd, 0x41, 0xf2, 0x30, 0x19, 
+    0xc2, 0xf2, 0x00, 0x09, 0xd9, 0xf8, 0x00, 0x10, 0xa3, 0x7a, 0xf0, 0x7d, 0x91, 0xf8, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x6c, 0x1c, 0x1b, 0x00, 0xc8, 0x3a, 0x10, 0x2a, 0x46, 0xfe, 0xf7, 
+    0x67, 0xfd, 0x14, 0x20, 0x03, 0xf0, 0x4b, 0xfd, 0x25, 0x72, 0x48, 0xf2, 0x22, 0x0e, 0xb5, 
+    0x75, 0x65, 0x72, 0x41, 0xf6, 0x2c, 0x23, 0xd9, 0xf8, 0x00, 0x20, 0xc2, 0xf2, 0x20, 0x0e, 
+    0x77, 0x21, 0x82, 0xf8, 0x00, 0xa0, 0x82, 0xf8, 0x06, 0xa0, 0x84, 0xf8, 0x25, 0xa0, 0xd9, 
+    0xf8, 0x04, 0x00, 0x4f, 0xf6, 0xff, 0x7c, 0xc2, 0xf2, 0x00, 0x03, 0x80, 0xf8, 0x42, 0xa0, 
+    0xae, 0xf8, 0x00, 0x10, 0xae, 0xf8, 0x06, 0xc0, 0x40, 0xf6, 0x00, 0x3c, 0xd9, 0xf8, 0x00, 
+    0x10, 0xc2, 0xf2, 0x00, 0x0c, 0x02, 0xf1, 0x6c, 0x0e, 0x01, 0xf1, 0x3b, 0x00, 0x0c, 0xf1, 
+    0x8d, 0x01, 0xa3, 0xf8, 0x70, 0xe0, 0xa3, 0xf8, 0x68, 0x00, 0xd9, 0xf8, 0x04, 0xe0, 0xa3, 
+    0xf8, 0x4a, 0x10, 0x0c, 0xf1, 0xcd, 0x00, 0x0e, 0xf1, 0x28, 0x01, 0x1f, 0xfa, 0x81, 0xfc, 
+    0x02, 0xf1, 0x54, 0x01, 0x1f, 0xfa, 0x81, 0xfe, 0xa3, 0xf8, 0x08, 0xc0, 0x02, 0xf1, 0x44, 
+    0x01, 0x89, 0xb2, 0xa3, 0xf8, 0x38, 0xe0, 0x19, 0x85, 0x41, 0xf6, 0x6c, 0x13, 0xc2, 0xf2, 
+    0x00, 0x03, 0x58, 0x87, 0xa3, 0xf8, 0x70, 0xe0, 0xa3, 0xf8, 0x08, 0xc0, 0x19, 0x85, 0x10, 
+    0x6c, 0xa3, 0xf8, 0x60, 0x10, 0x04, 0xf0, 0xdd, 0xf9, 0xd9, 0xf8, 0x00, 0x00, 0x01, 0x6c, 
+    0x49, 0x08, 0x2e, 0xbf, 0xa8, 0xf8, 0x04, 0xa0, 0x02, 0x21, 0xa8, 0xf8, 0x04, 0x10, 
+
+    0x01, 0x05, 0xff, 0xad, 0x34, 0x1d, 0x1b, 0x00, 0xa8, 0xb8, 0xf8, 0x00, 0x10, 0x90, 0xf8, 
+    0x3a, 0x30, 0x94, 0xf8, 0x0a, 0xe0, 0x09, 0x07, 0x49, 0x0e, 0x43, 0xf2, 0x00, 0x02, 0x41, 
+    0xea, 0xce, 0x11, 0x01, 0x2b, 0x4f, 0xea, 0x8e, 0x1c, 0xc2, 0xf2, 0x31, 0x02, 0x91, 0x83, 
+    0xb6, 0xf8, 0x14, 0xe0, 0xa2, 0xf8, 0x1e, 0xc0, 0x15, 0x84, 0x3f, 0x68, 0x2e, 0xd0, 0x2c, 
+    0x30, 0x90, 0xe8, 0x03, 0x00, 0x36, 0x1d, 0x42, 0xf2, 0x48, 0x4c, 0x86, 0xe8, 0x03, 0x00, 
+    0xc2, 0xf2, 0x31, 0x0c, 0xac, 0xf8, 0x02, 0xe0, 0x4f, 0xf0, 0x15, 0x0a, 0xac, 0xf8, 0x00, 
+    0xa0, 0xbc, 0xf8, 0x00, 0x00, 0x15, 0x28, 0x02, 0xd0, 0x5e, 0x20, 0x04, 0xf0, 0x6b, 0xfc, 
+    0x40, 0xf2, 0x00, 0x00, 0xc2, 0xf2, 0x00, 0x00, 0x90, 0xf8, 0x05, 0x36, 0x4f, 0xf2, 0x04, 
+    0x01, 0xc2, 0xf2, 0x32, 0x01, 0x10, 0x2b, 0x04, 0xda, 0x0a, 0x88, 0x28, 0x46, 0x98, 0x40, 
+    0x10, 0x43, 0x08, 0x80, 0x28, 0x46, 0x01, 0xf0, 0x79, 0xff, 0x03, 0xf0, 0xf6, 0xf8, 0xbd, 
+    0xe8, 0xf0, 0x87, 0x2c, 0x30, 0x90, 0xe8, 0x03, 0x00, 0x0c, 0x36, 0x86, 0xe8, 0x03, 0x00, 
+    0x27, 0x83, 0x01, 0xf0, 0x64, 0xf8, 0xbd, 0xe8, 0xf0, 0x87, 0x2d, 0xe9, 
+
+    0x01, 0x05, 0xff, 0x11, 0x2c, 0x21, 0x1b, 0x00, 0x0c, 0xf1, 0xfa, 0x00, 0x21, 0x30, 0x79, 
+    0x0a, 0x46, 0x0b, 0x46, 0xfe, 0xf7, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xc0, 0x21, 0x1b, 0x00, 0xc8, 0x2d, 0xe9, 0xf0, 0x43, 0xad, 0xf1, 
+    0x0c, 0x0d, 0x41, 0xf6, 0xac, 0x35, 0x41, 0xf6, 0x44, 0x49, 0xc2, 0xf2, 0x00, 0x05, 0xc2, 
+    0xf2, 0x00, 0x09, 0xa8, 0x8a, 0x03, 0x21, 0x6f, 0x8a, 0xa9, 0xf8, 0x00, 0x00, 0x2c, 0x8a, 
+    0x40, 0xf2, 0x0a, 0x50, 0xc2, 0xf2, 0x32, 0x00, 0x04, 0xf0, 0x5f, 0xfa, 0x40, 0xf2, 0x00, 
+    0x06, 0xc2, 0xf2, 0x30, 0x06, 0xb0, 0x46, 0x48, 0xea, 0x07, 0x08, 0x08, 0xf1, 0x01, 0x08, 
+    0x46, 0xea, 0x04, 0x06, 0x38, 0xb9, 0x03, 0x21, 0x40, 0xf2, 0x1e, 0x50, 0xc2, 0xf2, 0x32, 
+    0x00, 0x04, 0xf0, 0x4c, 0xfa, 0x20, 0xb1, 0xb9, 0xf8, 0x00, 0x00, 0x00, 0x28, 0x00, 0xf0, 
+    0xac, 0x80, 0x40, 0xf6, 0x31, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x04, 0x22, 0x68, 0x46, 0x03, 
+    0xf0, 0x36, 0xf9, 0x00, 0x98, 0x03, 0xf0, 0x51, 0xff, 0x01, 0xa8, 0x04, 0xf0, 0xe6, 0xf8, 
+    0x41, 0xf6, 0x5c, 0x34, 0xc2, 0xf2, 0x00, 0x04, 0x04, 0xf1, 0x0c, 0x07, 0x08, 0x22, 0x05, 
+    0xf1, 0x08, 0x01, 0x07, 0xf1, 0x0c, 0x00, 0x03, 0xf0, 0x23, 0xf9, 0xe8, 0x7d, 0x84, 0xf8, 
+    0x31, 0x00, 0x04, 0xf0, 0x5b, 0xf8, 0x29, 0x7e, 0x84, 0xf8, 0x36, 0x00, 0x00, 0x22, 0x84, 
+    0xf8, 0x30, 0x10, 0x31, 0xf0, 0x01, 0x03, 0x08, 0xbf, 0x01, 0x22, 0x01, 0x20, 0x00, 0x29, 
+    0x84, 0xf8, 0x2e, 0x20, 0x1c, 0xbf, 0x06, 0x29, 0x00, 0x20, 0x2a, 0x8a, 0x69, 0x8a, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x88, 0x22, 0x1b, 0x00, 0xc8, 0x84, 0xf8, 0x2f, 0x00, 0xa2, 0x84, 
+    0xe1, 0x84, 0x70, 0x78, 0x00, 0xf0, 0x3f, 0x00, 0xc1, 0x00, 0x50, 0x31, 0x84, 0xf8, 0x34, 
+    0x00, 0x21, 0x85, 0x98, 0xf8, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0xc1, 0x00, 0x50, 0x31, 
+    0x84, 0xf8, 0x35, 0x00, 0x61, 0x85, 0x30, 0x78, 0x06, 0x22, 0xb1, 0x1c, 0x80, 0x11, 0x00, 
+    0xf0, 0x01, 0x00, 0x84, 0xf8, 0x37, 0x00, 0x38, 0x46, 0x03, 0xf0, 0xeb, 0xf8, 0x94, 0xf8, 
+    0x30, 0x00, 0x01, 0x28, 0x09, 0xd1, 0x30, 0x78, 0x06, 0xf1, 0x08, 0x01, 0xc2, 0x11, 0xb8, 
+    0x1d, 0x84, 0xf8, 0x38, 0x20, 0x06, 0x22, 0x03, 0xf0, 0xdd, 0xf8, 0xa8, 0x7d, 0x4f, 0xf0, 
+    0x01, 0x02, 0x30, 0xb9, 0x04, 0xf0, 0x04, 0xf8, 0x84, 0xf8, 0x33, 0x00, 0x94, 0xf8, 0x30, 
+    0x00, 0x10, 0xe0, 0x94, 0xf8, 0x31, 0x10, 0x94, 0xf8, 0x33, 0x00, 0x40, 0x1c, 0xc0, 0xb2, 
+    0x03, 0x28, 0x08, 0xbf, 0x00, 0x20, 0x02, 0xfa, 0x00, 0xf3, 0x19, 0x42, 0xf6, 0xd0, 0x84, 
+    0xf8, 0x33, 0x00, 0x94, 0xf8, 0x30, 0x00, 0x01, 0x28, 0x07, 0xd0, 0x00, 0x25, 0x89, 0xf8, 
+    0x03, 0x50, 0x89, 0xf8, 0x02, 0x50, 0x28, 0x46, 0x01, 0x26, 0x06, 0xe0, 0x10, 0x20, 0x01, 
+    0x26, 0x89, 0xf8, 0x03, 0x00, 0x00, 0x25, 0x89, 0xf8, 0x02, 0x60, 0x94, 0xf8, 0x33, 0x10, 
+    0x41, 0xf6, 0x2c, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x53, 0x5c, 0x04, 0x21, 0x2a, 0x46, 
+
+    0x01, 0x05, 0xff, 0x51, 0x50, 0x23, 0x1b, 0x00, 0x4c, 0xfe, 0xf7, 0xf7, 0xf9, 0x43, 0xf2, 
+    0x20, 0x00, 0x84, 0xf8, 0x39, 0x50, 0x40, 0xf2, 0x0d, 0x02, 0xc2, 0xf2, 0x31, 0x00, 0x84, 
+    0xf8, 0x32, 0x50, 0xc2, 0xf2, 0x00, 0x02, 0x06, 0x80, 0x21, 0x8d, 0x15, 0x70, 0x28, 0x46, 
+    0x00, 0xf0, 0x20, 0xfe, 0x06, 0xe0, 0x11, 0x20, 0x89, 0xf8, 0x03, 0x00, 0x00, 0x21, 0x01, 
+    0x20, 0x01, 0xf0, 0x4f, 0xfa, 0x03, 0xb0, 0xbd, 0xe8, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x47, 
+
+    0x01, 0x05, 0xff, 0x09, 0x7c, 0x24, 0x1b, 0x00, 0x04, 0x04, 0xf0, 0xe8, 0xfd, 
+
+    0x01, 0x05, 0xff, 0x09, 0xd4, 0x26, 0x1b, 0x00, 0x04, 0x78, 0xb5, 0x02, 0xf0, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x14, 0x27, 0x1b, 0x00, 0xc8, 0x00, 0x28, 0x42, 0xd0, 0x0a, 0x20, 
+    0x02, 0xf0, 0xf9, 0xff, 0x20, 0x68, 0x90, 0xf8, 0x3a, 0x00, 0x01, 0x28, 0x2c, 0xd1, 0x96, 
+    0xf8, 0x47, 0x06, 0x4f, 0xf0, 0x00, 0x01, 0xa9, 0x82, 0x80, 0xb9, 0x47, 0xf6, 0x48, 0x70, 
+    0xc2, 0xf2, 0x32, 0x00, 0x05, 0x21, 0x03, 0xf0, 0x72, 0xff, 0x96, 0xf8, 0x47, 0x06, 0x30, 
+    0xb9, 0x05, 0x21, 0x47, 0xf6, 0x4c, 0x70, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x6f, 0xff, 
+    0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x09, 0x21, 0x03, 0xf0, 0x68, 0xff, 0x40, 
+    0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x61, 0xff, 0x40, 0xf6, 
+    0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x5a, 0xff, 0x0d, 0xe0, 0x09, 
+    0x21, 0x40, 0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x52, 0xff, 0x40, 0xf6, 
+    0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x4b, 0xff, 0x03, 0xf0, 0x80, 
+    0xfb, 0x00, 0x20, 0x60, 0x72, 0x20, 0x68, 0x81, 0x1d, 0x91, 0xf8, 0x34, 0x20, 0x01, 0x2a, 
+    0x0c, 0xd1, 0x09, 0x78, 0x51, 0xb9, 0x61, 0x68, 0x4f, 0xf0, 0x01, 0x02, 0x81, 0xf8, 0x5e, 
+    0x20, 0x90, 0xf8, 0x37, 0x10, 0x11, 0xb9, 0x02, 0xf0, 0xe9, 0xfa, 0x20, 0x68, 0xc0, 0x6e, 
+    0x00, 0xf0, 0x03, 0x00, 0x03, 0x28, 0x29, 0xd1, 0x96, 0xf8, 0x0b, 0x16, 0x4f, 0xf2, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xdc, 0x27, 0x1b, 0x00, 0xc8, 0x04, 0x02, 0xc2, 0xf2, 0x32, 0x02, 
+    0x10, 0x29, 0x0b, 0xda, 0x13, 0x88, 0x01, 0x20, 0x00, 0xfa, 0x01, 0xf1, 0x19, 0x43, 0x11, 
+    0x80, 0x96, 0xf8, 0x0b, 0x36, 0x11, 0x88, 0x98, 0x40, 0x81, 0x43, 0x11, 0x80, 0x94, 0xf8, 
+    0x24, 0x30, 0xd9, 0x01, 0x01, 0xeb, 0x83, 0x01, 0x60, 0x18, 0x09, 0x19, 0x28, 0x31, 0x28, 
+    0x30, 0x82, 0x6c, 0x0c, 0x6f, 0x45, 0x6c, 0x10, 0x06, 0x91, 0xf8, 0x35, 0x20, 0x21, 0x78, 
+    0x40, 0xea, 0x15, 0x20, 0x00, 0x90, 0xa6, 0x20, 0x03, 0xf0, 0x46, 0xfd, 0x78, 0xbd, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 
+    0xb5, 0xad, 0xf1, 0x08, 0x0d, 0x41, 0xf6, 0xbc, 0x24, 0x41, 0xf6, 0x30, 0x45, 0xc2, 0xf2, 
+    0x00, 0x04, 0x20, 0x88, 0xc2, 0xf2, 0x00, 0x05, 0x03, 0x21, 0xa8, 0x82, 0x40, 0xf2, 0x0a, 
+    0x50, 0xc2, 0xf2, 0x32, 0x00, 0x03, 0xf0, 0x1e, 0xff, 0x38, 0xb9, 0x40, 0xf2, 0x1e, 0x50, 
+    0xc2, 0xf2, 0x32, 0x00, 0x03, 0x21, 0x03, 0xf0, 0x16, 0xff, 0x10, 0xb1, 0xa8, 0x8a, 0x00, 
+    0x28, 0x7d, 0xd0, 0x40, 0xf6, 0x31, 0x31, 0xc2, 0xf2, 0x00, 0x01, 0x04, 0x22, 0x01, 0xa8, 
+    0x02, 0xf0, 0x02, 0xfe, 0x01, 0x98, 0x03, 0xf0, 0x1d, 0xfc, 0x41, 0xf6, 0x2c, 0x42, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xa4, 0x28, 0x1b, 0x00, 0xc8, 0xe0, 0x78, 0x01, 0x26, 0xc2, 0xf2, 
+    0x00, 0x02, 0xa0, 0x70, 0x20, 0x79, 0xa1, 0x78, 0xae, 0x75, 0xe8, 0x75, 0x53, 0x5c, 0x00, 
+    0x22, 0x04, 0x21, 0xfd, 0xf7, 0x41, 0xff, 0x20, 0x79, 0x00, 0x26, 0xe6, 0x62, 0x01, 0x28, 
+    0x1b, 0xd0, 0x40, 0xf6, 0x90, 0x42, 0xc2, 0xf2, 0x30, 0x02, 0x40, 0xf2, 0x00, 0x05, 0x91, 
+    0x1c, 0xc2, 0xf2, 0x00, 0x05, 0x02, 0x23, 0x04, 0xf1, 0x0f, 0x00, 0x62, 0x63, 0x85, 0xf8, 
+    0x32, 0x30, 0x06, 0x22, 0x02, 0xf0, 0xd8, 0xfd, 0x61, 0x6b, 0x06, 0x22, 0x04, 0xf1, 0x17, 
+    0x00, 0x08, 0x31, 0x02, 0xf0, 0xd1, 0xfd, 0x40, 0xf2, 0xf4, 0x53, 0x16, 0xe0, 0x40, 0xf2, 
+    0x00, 0x01, 0xc2, 0xf2, 0x30, 0x01, 0x40, 0xf2, 0x00, 0x05, 0xc2, 0xf2, 0x00, 0x05, 0x02, 
+    0x23, 0x01, 0xf5, 0x48, 0x62, 0xe0, 0x1d, 0x01, 0xf6, 0x82, 0x41, 0xae, 0x77, 0x6e, 0x77, 
+    0x2b, 0x77, 0x62, 0x63, 0x06, 0x22, 0x02, 0xf0, 0xb9, 0xfd, 0x40, 0xf2, 0xf4, 0x53, 0x02, 
+    0xf0, 0xd2, 0xfb, 0xe8, 0x5a, 0x80, 0x08, 0x0c, 0xd3, 0x41, 0xf6, 0xac, 0x30, 0xc2, 0xf2, 
+    0x00, 0x00, 0x85, 0x89, 0x83, 0x68, 0x82, 0x88, 0x01, 0x68, 0x00, 0x95, 0x40, 0xf2, 0xa5, 
+    0x10, 0x03, 0xf0, 0xa0, 0xfc, 0x04, 0xf1, 0x4a, 0x00, 0x31, 0x46, 0x06, 0x22, 0x03, 0xf0, 
+    0x06, 0xf9, 0x84, 0xf8, 0x50, 0x60, 0x06, 0x22, 0x31, 0x46, 0x04, 0xf1, 0x1e, 0x00, 
+
+    0x01, 0x05, 0xff, 0x41, 0x6c, 0x29, 0x1b, 0x00, 0x3c, 0x03, 0xf0, 0xfe, 0xf8, 0x43, 0xf2, 
+    0x20, 0x00, 0x03, 0x21, 0x84, 0xf8, 0x24, 0x60, 0xc2, 0xf2, 0x31, 0x00, 0x01, 0x80, 0x03, 
+    0xf0, 0x0c, 0xf8, 0x04, 0xe0, 0x11, 0x20, 0xe8, 0x75, 0x01, 0x20, 0x01, 0xf0, 0x85, 0xfd, 
+    0x02, 0xb0, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x44, 0x2c, 0x1b, 0x00, 0xc8, 0xf0, 0x83, 0x2d, 0xe9, 0xf0, 0x43, 
+    0xad, 0xf1, 0x08, 0x0d, 0x40, 0xf2, 0x4e, 0x68, 0xc2, 0xf2, 0x00, 0x08, 0x06, 0x46, 0xb8, 
+    0xf8, 0x00, 0x00, 0x41, 0xf6, 0x28, 0x44, 0xc2, 0xf2, 0x00, 0x04, 0x68, 0xb1, 0x41, 0xf6, 
+    0x34, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x03, 0x46, 0x41, 0xf6, 0x28, 0x44, 0x6f, 0xf0, 0x01, 
+    0x02, 0x00, 0x21, 0x02, 0xf0, 0x02, 0xfe, 0xc2, 0xf2, 0x00, 0x04, 0x20, 0x8a, 0xa1, 0x89, 
+    0x48, 0xf2, 0x00, 0x05, 0xcf, 0xf6, 0xff, 0x75, 0x46, 0xf2, 0x0a, 0x07, 0xc2, 0xf2, 0x20, 
+    0x07, 0x28, 0x43, 0xa7, 0xf8, 0x4c, 0x10, 0xa7, 0xf8, 0x4a, 0x00, 0x32, 0x7b, 0x31, 0x68, 
+    0x05, 0x20, 0x02, 0xf0, 0x10, 0xfe, 0xb0, 0x7b, 0x04, 0xf1, 0x0c, 0x09, 0x14, 0x34, 0x00, 
+    0x28, 0x1a, 0xbf, 0x30, 0x89, 0x80, 0x1c, 0x30, 0x89, 0x71, 0x89, 0x4f, 0xf0, 0x64, 0x0e, 
+    0x40, 0x18, 0x45, 0xea, 0xc0, 0x00, 0x78, 0x84, 0xa7, 0xf8, 0x00, 0xe0, 0x38, 0x88, 0xc0, 
+    0x09, 0x02, 0xd3, 0x38, 0x88, 0xc0, 0x09, 0xfc, 0xd2, 0x48, 0xf2, 0x18, 0x01, 0x4f, 0xf6, 
+    0xff, 0x70, 0xc2, 0xf2, 0x20, 0x01, 0xc8, 0x81, 0xb8, 0xf8, 0x00, 0x00, 0x20, 0xb1, 0x41, 
+    0xf6, 0xf8, 0x60, 0xc2, 0xf2, 0x00, 0x00, 0x08, 0x80, 0xb0, 0x88, 0x08, 0x80, 0xb8, 0xf8, 
+    0x00, 0x00, 0x31, 0x89, 0x23, 0x46, 0x00, 0xeb, 0xc1, 0x00, 0x50, 0x30, 0x80, 0xb2, 
+
+    0x01, 0x05, 0xff, 0x75, 0x0c, 0x2d, 0x1b, 0x00, 0x70, 0x00, 0x21, 0x02, 0xb2, 0xad, 0xf8, 
+    0x04, 0x00, 0x48, 0x46, 0x02, 0xf0, 0xb4, 0xfd, 0xbd, 0xf8, 0x04, 0x00, 0x6b, 0x46, 0x00, 
+    0x21, 0x40, 0x1c, 0x02, 0xb2, 0x48, 0x46, 0x02, 0xf0, 0xab, 0xfd, 0xbd, 0xf8, 0x04, 0x10, 
+    0xbd, 0xf8, 0x00, 0x00, 0x02, 0xb0, 0x0d, 0x43, 0xa7, 0xf8, 0x48, 0x00, 0xa7, 0xf8, 0x46, 
+    0x50, 0xbd, 0xe8, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 
+    0xb5, 
+
+    0x01, 0x05, 0xff, 0x09, 0xb4, 0x30, 0x1b, 0x00, 0x04, 0x5b, 0x5c, 0x02, 0x21, 
+
+    0x01, 0x05, 0xff, 0x11, 0x38, 0x39, 0x1b, 0x00, 0x0c, 0x00, 0x21, 0xc2, 0xf2, 0x00, 0x04, 
+    0x0a, 0x46, 0x20, 0x79, 0x0b, 0x46, 
+
+    0x01, 0x05, 0xff, 0x15, 0x90, 0x41, 0x1b, 0x00, 0x10, 0x30, 0x40, 0x00, 0x21, 0xc2, 0xf2, 
+    0x00, 0x00, 0x0a, 0x46, 0xc0, 0x7d, 0x0b, 0x46, 0xfc, 0xf7, 
+
+    0x01, 0x05, 0xff, 0x09, 0x08, 0x4a, 0x1b, 0x00, 0x04, 0x19, 0x46, 0x1a, 0x46, 
+
+    0x01, 0x05, 0xff, 0x71, 0x58, 0x4c, 0x1b, 0x00, 0x6c, 0x10, 0xb5, 0x04, 0x46, 0x41, 0xf2, 
+    0x24, 0x03, 0x46, 0xf2, 0x0e, 0x00, 0x4f, 0xf6, 0xfc, 0x71, 0x1f, 0x22, 0xc2, 0xf2, 0x20, 
+    0x00, 0xc2, 0xf2, 0x31, 0x03, 0xa0, 0xf8, 0x5a, 0x10, 0x06, 0x21, 0x1a, 0x80, 0x4f, 0xf4, 
+    0xb6, 0x42, 0x01, 0x83, 0x18, 0x21, 0xc2, 0x82, 0x4f, 0xf4, 0x08, 0x52, 0x41, 0x83, 0x07, 
+    0x21, 0x02, 0x80, 0x41, 0x80, 0x02, 0xf0, 0x44, 0xfa, 0x01, 0x2c, 0x0e, 0xd1, 0x43, 0xf2, 
+    0x00, 0x00, 0xc2, 0xf2, 0x31, 0x00, 0x00, 0x21, 0xc1, 0x83, 0x81, 0x83, 0x47, 0xf6, 0x44, 
+    0x70, 0xc2, 0xf2, 0x32, 0x00, 0x47, 0xf6, 0x60, 0x01, 0x01, 0xf0, 0xd4, 0xfc, 0x10, 0xbd, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x09, 0xd0, 0x4f, 0x1b, 0x00, 0x04, 0xe8, 0x7d, 0x02, 0x21, 
+
+    0x01, 0x05, 0xff, 0x69, 0x14, 0x50, 0x1b, 0x00, 0x64, 0xad, 0xf1, 0x14, 0x0d, 0x4f, 0xf0, 
+    0x00, 0x04, 0x03, 0xb9, 0x01, 0x24, 0x41, 0xf6, 0x28, 0x43, 0x45, 0xf2, 0x55, 0x5c, 0x41, 
+    0xf6, 0x0c, 0x46, 0xc2, 0xf2, 0x00, 0x03, 0x02, 0x90, 0xc0, 0xf2, 0x55, 0x0c, 0xc2, 0xf2, 
+    0x00, 0x06, 0x00, 0x27, 0x9a, 0x18, 0x03, 0x91, 0x8d, 0xf8, 0x11, 0x40, 0x15, 0x79, 0xcd, 
+    0xf8, 0x00, 0xc0, 0x03, 0xf1, 0x14, 0x00, 0x01, 0x96, 0x40, 0xf2, 0x4e, 0x62, 0xc2, 0xf2, 
+    0x00, 0x02, 0x8d, 0xf8, 0x10, 0x50, 0x17, 0x80, 0x01, 0xf0, 0xd4, 0xf9, 0x68, 0x46, 0xfd, 
+    0xf7, 0x89, 0xfe, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0xb5, 
+
+    0x01, 0x05, 0xff, 0x59, 0x58, 0x52, 0x1b, 0x00, 0x54, 0xfc, 0x32, 0x41, 0xf6, 0x2c, 0x4c, 
+    0xc2, 0xf2, 0x00, 0x02, 0xc2, 0xf2, 0x00, 0x0c, 0x40, 0xf2, 0x4e, 0x63, 0x45, 0xf2, 0x55, 
+    0x57, 0x00, 0x26, 0x91, 0x89, 0x01, 0x25, 0x1c, 0xf8, 0x00, 0x00, 0x02, 0x24, 0xc2, 0xf2, 
+    0x00, 0x03, 0xc0, 0xf2, 0x55, 0x07, 0x6f, 0xf3, 0x9f, 0x21, 0x8d, 0xf8, 0x0c, 0x00, 0xad, 
+    0xf8, 0x0a, 0x60, 0x8d, 0xf8, 0x0e, 0x50, 0x01, 0x92, 0x1c, 0x80, 0x89, 0x1e, 0x00, 0x97, 
+    0x68, 0x46, 0xad, 0xf8, 0x08, 0x10, 0xfd, 0xf7, 0xd1, 0xfc, 0x04, 0xb0, 0xf0, 0xbd, 0x00, 
+    0x00, 0x18, 0xb5, 
+
+    0x01, 0x05, 0xff, 0x15, 0x44, 0x55, 0x1b, 0x00, 0x10, 0x47, 0x40, 0x00, 0x21, 0xc2, 0xf2, 
+    0x00, 0x00, 0x0a, 0x46, 0x00, 0x78, 0x0b, 0x46, 0xfb, 0xf7, 
+
+    0x01, 0x05, 0xff, 0x2d, 0xc4, 0x56, 0x1b, 0x00, 0x28, 0x10, 0xb5, 0x40, 0xf2, 0x00, 0x04, 
+    0x02, 0x20, 0xc2, 0xf2, 0x00, 0x04, 0x60, 0x77, 0xff, 0xf7, 0x0d, 0xff, 0x05, 0x20, 0x00, 
+    0xf0, 0x1a, 0xf8, 0x41, 0xf6, 0xc0, 0x20, 0x00, 0x21, 0x01, 0x22, 0xc2, 0xf2, 0x00, 0x00, 
+    0x00, 0x78, 0x0b, 0x46, 
+
+    0x01, 0x05, 0xff, 0x09, 0x0c, 0x57, 0x1b, 0x00, 0x04, 0x11, 0x80, 0x10, 0xbd, 
+
+    0x01, 0x05, 0xff, 0x49, 0xcc, 0x58, 0x1b, 0x00, 0x44, 0x46, 0xf2, 0x28, 0x04, 0xc2, 0xf2, 
+    0x20, 0x04, 0x4f, 0xf0, 0x18, 0x05, 0x40, 0xf2, 0x4e, 0x63, 0x25, 0x80, 0xc2, 0xf2, 0x00, 
+    0x03, 0x1b, 0x88, 0x41, 0xf6, 0x28, 0x45, 0xc2, 0xf2, 0x00, 0x05, 0x03, 0xeb, 0xc0, 0x03, 
+    0x63, 0x80, 0x2b, 0x78, 0x4f, 0xea, 0x01, 0x66, 0x4f, 0xea, 0x11, 0x21, 0xa1, 0x81, 0x4f, 
+    0xea, 0x16, 0x45, 0x65, 0x81, 0x13, 0xb1, 0x11, 0x46, 0x01, 0xf0, 0x1a, 0xfc, 0x70, 0xbd, 
+    0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x31, 0x2c, 0x59, 0x1b, 0x00, 0x2c, 0x00, 0x94, 0xad, 0xf8, 0x0a, 0x10, 
+    0xad, 0xf8, 0x08, 0x30, 0x38, 0x78, 0x00, 0x21, 0x8d, 0xf8, 0x0e, 0x10, 0x8d, 0xf8, 0x0c, 
+    0x00, 0x01, 0xf0, 0xe2, 0xfb, 0x68, 0x46, 0xfd, 0xf7, 0x7d, 0xf9, 0x04, 0xb0, 0x90, 0xbd, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xb5, 
+
+    0x01, 0x05, 0xff, 0x3d, 0x34, 0x5b, 0x1b, 0x00, 0x38, 0x45, 0xf2, 0x55, 0x56, 0x40, 0xf2, 
+    0x4e, 0x64, 0x01, 0x90, 0x01, 0x27, 0x00, 0x25, 0xc0, 0xf2, 0x55, 0x06, 0xc2, 0xf2, 0x00, 
+    0x04, 0x8d, 0xf8, 0x10, 0x30, 0x03, 0x91, 0x02, 0x92, 0x68, 0x46, 0x8d, 0xf8, 0x11, 0x70, 
+    0x00, 0x96, 0x25, 0x80, 0xfd, 0xf7, 0x0d, 0xf9, 0x05, 0xb0, 0xf0, 0xbd, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x75, 0x60, 0x5c, 0x1b, 0x00, 0x70, 0x01, 0x68, 0xb1, 0xf1, 0xff, 0x3f, 
+    0x1c, 0xbf, 0x49, 0x1c, 0x01, 0x60, 0x13, 0xd1, 0x41, 0x68, 0x00, 0x23, 0x03, 0x60, 0x01, 
+    0xf0, 0x7f, 0x02, 0x7f, 0x2a, 0x04, 0xbf, 0x21, 0xf0, 0x7f, 0x01, 0x41, 0x60, 0x4f, 0xea, 
+    0x41, 0x62, 0x06, 0xd0, 0x02, 0xf1, 0x00, 0x72, 0x21, 0xf0, 0x7f, 0x01, 0x41, 0xea, 0x52, 
+    0x61, 0x41, 0x60, 0x70, 0x47, 0x00, 0x00, 0x70, 0xb5, 0xad, 0xf1, 0x14, 0x0d, 0x41, 0xf6, 
+    0xcc, 0x36, 0x40, 0xf2, 0x4e, 0x65, 0x03, 0x90, 0x00, 0x24, 0xc2, 0xf2, 0x00, 0x06, 0xc2, 
+    0xf2, 0x00, 0x05, 0x00, 0x93, 0x8d, 0xf8, 0x10, 0x20, 0x02, 0x91, 0x68, 0x46, 0x8d, 0xf8, 
+    0x11, 0x40, 0x01, 0x96, 0x2c, 0x80, 0xfd, 0xf7, 0x58, 0xf8, 0x05, 0xb0, 0x70, 0xbd, 0x00, 
+    0x00, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x78, 0x6e, 0x1b, 0x00, 0xc8, 0x1d, 0x1c, 0x1b, 0xff, 0x15, 0x1e, 
+    0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0xfe, 0xf7, 0x31, 
+    0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xcc, 0xfb, 
+    0x40, 0xf6, 0x6a, 0x20, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xc5, 0xfb, 0x40, 
+    0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xbe, 0xfb, 0x00, 0xbd, 
+    0x70, 0xb5, 0x41, 0xf6, 0x48, 0x44, 0xc2, 0xf2, 0x00, 0x04, 0xe0, 0x68, 0x81, 0x79, 0x4f, 
+    0xf4, 0xaf, 0x70, 0xa0, 0xeb, 0xc1, 0x00, 0x80, 0xb2, 0xfe, 0xf7, 0x1d, 0xfc, 0x40, 0xf6, 
+    0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xa1, 0xfb, 0x40, 0xf6, 0x6a, 
+    0x20, 0x09, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x9a, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 
+    0x02, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x9a, 0xfb, 0x14, 0x20, 0xfe, 0xf7, 0x05, 
+    0xfc, 0x40, 0xf2, 0x00, 0x01, 0xc2, 0xf2, 0x00, 0x01, 0x91, 0xf8, 0x96, 0x05, 0x63, 0x7a, 
+    0x41, 0xf6, 0x44, 0x42, 0xc2, 0xf2, 0x00, 0x02, 0x40, 0xea, 0x03, 0x10, 0x43, 0xf2, 0x1c, 
+    0x03, 0x12, 0x88, 0xc0, 0x00, 0xc2, 0xf2, 0x31, 0x03, 0x00, 0x24, 0x40, 0xf2, 0x4e, 0x65, 
+    0x42, 0xf2, 0x48, 0x46, 0x18, 0x80, 0x4c, 0x53, 0xc2, 0xf2, 0x31, 0x06, 0x72, 0x80, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x40, 0x6f, 0x1b, 0x00, 0xc8, 0x15, 0x20, 0x30, 0x80, 0x30, 0x88, 
+    0x15, 0x28, 0x02, 0xd0, 0x5e, 0x20, 0xff, 0xf7, 0x8d, 0xfb, 0x40, 0xf2, 0x00, 0x00, 0xc2, 
+    0xf2, 0x00, 0x00, 0x90, 0xf8, 0x05, 0x36, 0x4f, 0xf2, 0x04, 0x01, 0xc2, 0xf2, 0x32, 0x01, 
+    0x10, 0x2b, 0x04, 0xda, 0x0a, 0x88, 0x01, 0x20, 0x98, 0x40, 0x10, 0x43, 0x08, 0x80, 0x41, 
+    0xf6, 0x48, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0xc1, 0x68, 0x42, 0x7a, 0x41, 0xf6, 0x6c, 0x40, 
+    0x89, 0x79, 0xc2, 0xf2, 0x00, 0x00, 0xfe, 0xf7, 0x2b, 0xfd, 0x70, 0xbd, 0x00, 0xb5, 0x41, 
+    0xf6, 0x48, 0x40, 0x07, 0x21, 0xc2, 0xf2, 0x00, 0x00, 0xff, 0xf7, 0x9b, 0xfb, 0x40, 0xf6, 
+    0x6a, 0x20, 0x07, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x3d, 0xfb, 0x14, 0x20, 0xfe, 
+    0xf7, 0xaf, 0xfb, 0x40, 0xf2, 0x97, 0x50, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, 0x43, 0xf2, 
+    0x20, 0x01, 0xc2, 0xf2, 0x31, 0x01, 0x08, 0x80, 0x00, 0xbd, 0x00, 0xb5, 0x41, 0xf6, 0x47, 
+    0x40, 0x03, 0x21, 0xc2, 0xf2, 0x00, 0x00, 0x01, 0x70, 0x40, 0xf6, 0x6a, 0x20, 0x07, 0x21, 
+    0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x28, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x09, 0x21, 0xc2, 
+    0xf2, 0x32, 0x00, 0xff, 0xf7, 0x21, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 
+    0x32, 0x00, 0xff, 0xf7, 0x1a, 0xfb, 0x40, 0xf6, 0x6a, 0x20, 0x02, 0x21, 0xc2, 0xf2, 
+
+    0x01, 0x05, 0xff, 0xcd, 0x08, 0x70, 0x1b, 0x00, 0xc8, 0x32, 0x00, 0xff, 0xf7, 0x13, 0xfb, 
+    0x40, 0xf6, 0x6a, 0x20, 0x08, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0x05, 0xfb, 0x40, 
+    0xf6, 0x6a, 0x20, 0x06, 0x21, 0xc2, 0xf2, 0x32, 0x00, 0xff, 0xf7, 0xfe, 0xfa, 0x43, 0xf2, 
+    0x5c, 0x10, 0x00, 0x21, 0xc2, 0xf2, 0x31, 0x00, 0xff, 0xf7, 0xf7, 0xfa, 0x41, 0xf6, 0x50, 
+    0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x78, 0x10, 0xb9, 0x00, 0xf0, 0xbc, 0xff, 0x00, 0xbd, 
+    0x00, 0xf0, 0x22, 0xff, 0x00, 0xbd, 0xf0, 0xb5, 0x40, 0xf2, 0x00, 0x02, 0xc2, 0xf2, 0x00, 
+    0x02, 0xd2, 0xf8, 0x8c, 0x35, 0x04, 0x78, 0x40, 0xf2, 0x00, 0x01, 0x6f, 0xf3, 0x1f, 0x43, 
+    0xc2, 0xf2, 0x30, 0x01, 0x19, 0x43, 0x42, 0xf2, 0x6c, 0x45, 0x0c, 0x80, 0x43, 0xf2, 0x00, 
+    0x01, 0x00, 0x23, 0xc4, 0xf2, 0x00, 0x05, 0x2b, 0x80, 0x4f, 0xf4, 0x20, 0x65, 0xc2, 0xf2, 
+    0x31, 0x01, 0x01, 0x24, 0x41, 0xf2, 0x08, 0x46, 0x40, 0x27, 0x4f, 0xf0, 0x78, 0x0c, 0x4d, 
+    0x80, 0x0e, 0x80, 0xcf, 0x83, 0xa1, 0xf8, 0x1c, 0xc0, 0x8c, 0x80, 0x0c, 0x84, 0x01, 0x78, 
+    0x10, 0x29, 0x29, 0xda, 0x11, 0xb3, 0x49, 0x1e, 0x16, 0xd0, 0x49, 0x1e, 0x0a, 0xd0, 0x49, 
+    0x1e, 0x22, 0xd1, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, 0x83, 0x80, 0x04, 0x80, 
+    0x92, 0xf8, 0x49, 0x06, 0x1b, 0xe0, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xd0, 0x70, 0x1b, 0x00, 0xc8, 0x02, 0x21, 0x81, 0x80, 0x04, 0x80, 
+    0x92, 0xf8, 0x49, 0x06, 0x11, 0xe0, 0x42, 0xf2, 0x46, 0x40, 0xc2, 0xf2, 0x31, 0x00, 0x02, 
+    0x21, 0x81, 0x80, 0x04, 0x80, 0x92, 0xf8, 0x49, 0x06, 0x07, 0xe0, 0x42, 0xf2, 0x46, 0x40, 
+    0xc2, 0xf2, 0x31, 0x00, 0x83, 0x80, 0x04, 0x80, 0x92, 0xf8, 0x49, 0x06, 0x00, 0xf0, 0x7f, 
+    0x00, 0x82, 0xf8, 0x49, 0x06, 0xf0, 0xbd, 0x40, 0xf2, 0x00, 0x00, 0xc2, 0xf2, 0x00, 0x00, 
+    0xb0, 0xf8, 0x50, 0x16, 0xa0, 0xf8, 0x4e, 0x16, 0x70, 0x47, 0x10, 0xb5, 0x41, 0xf6, 0xf8, 
+    0x60, 0x46, 0xf2, 0x01, 0x03, 0x42, 0xf2, 0x01, 0x02, 0xc2, 0xf2, 0x00, 0x00, 0x4f, 0xf4, 
+    0x00, 0x61, 0x4f, 0xf4, 0x33, 0x64, 0x43, 0x80, 0x82, 0x80, 0xc1, 0x80, 0x04, 0x80, 0x10, 
+    0xbd, 0x10, 0xb5, 0x40, 0xf2, 0x4e, 0x62, 0x46, 0xf6, 0x40, 0x63, 0xc2, 0xf2, 0x00, 0x02, 
+    0x46, 0xf2, 0x0c, 0x04, 0xc0, 0xf2, 0x00, 0x03, 0x12, 0x88, 0xc2, 0xf2, 0x20, 0x04, 0x59, 
+    0x5c, 0x02, 0xeb, 0xc0, 0x00, 0x20, 0x80, 0x48, 0xf2, 0xe0, 0x12, 0x08, 0x02, 0xe2, 0x80, 
+    0x20, 0x81, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x25, 0x98, 0x71, 0x1b, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0xcd, 0xf4, 0x78, 0x1b, 0x00, 0xc8, 0xf0, 0x83, 0x70, 0xb5, 0x41, 0xf6, 
+    0x48, 0x44, 0x06, 0x46, 0xc2, 0xf2, 0x00, 0x04, 0xe0, 0x68, 0x07, 0x21, 0x45, 0x78, 0x40, 
+    0xf6, 0x6a, 0x20, 0xc2, 0xf2, 0x32, 0x00, 0xfe, 0xf7, 0x90, 0xfe, 0x01, 0x20, 0xfd, 0xf7, 
+    0xae, 0xfb, 0x00, 0x2e, 0x40, 0xf2, 0x00, 0x01, 0x46, 0xd1, 0xc2, 0xf2, 0x00, 0x01, 0x91, 
+    0xf8, 0x98, 0x05, 0x01, 0xf2, 0xfc, 0x56, 0x90, 0xb9, 0xe0, 0x68, 0x2d, 0x18, 0x2a, 0x79, 
+    0xe9, 0x78, 0xa8, 0x78, 0xfb, 0xf7, 0x9c, 0xfe, 0x30, 0xb9, 0x61, 0x69, 0x49, 0x1c, 0x61, 
+    0x61, 0x2c, 0x20, 0xfe, 0xf7, 0xe2, 0xfd, 0x70, 0xbd, 0x30, 0x88, 0x40, 0x1c, 0x30, 0x80, 
+    0x70, 0xbd, 0xff, 0xf7, 0x5e, 0xfe, 0xe0, 0x68, 0x28, 0x18, 0x02, 0x79, 0xc1, 0x78, 0x80, 
+    0x78, 0xff, 0xf7, 0x92, 0xfd, 0x00, 0xf0, 0xd0, 0xf9, 0xb6, 0xf8, 0x42, 0x00, 0x80, 0x08, 
+    0x2c, 0xbf, 0x01, 0x22, 0x00, 0x22, 0x0e, 0x20, 0x00, 0x21, 0xfb, 0xf7, 0xe7, 0xfe, 0x06, 
+    0x46, 0xe0, 0x68, 0x2d, 0x18, 0xa8, 0x78, 0xe9, 0x78, 0x2a, 0x79, 0xfb, 0xf7, 0x73, 0xfe, 
+    0x01, 0x2e, 0x04, 0xbf, 0xa1, 0x69, 0x00, 0x28, 0x07, 0xd0, 0x4e, 0xb9, 0x01, 0x28, 0x07, 
+    0xd1, 0xa1, 0x69, 0x88, 0x8f, 0x40, 0x1c, 0x88, 0x87, 0x70, 0xbd, 0x48, 0x8f, 0x40, 0x1c, 
+    0x48, 0x87, 0x70, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x75, 0xbc, 0x79, 0x1b, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 
+
+    0x01, 0x05, 0xff, 0x09, 0x04, 0x7b, 0x1b, 0x00, 0x04, 0x28, 0xb9, 0x0f, 0x20, 
+
+    0x01, 0x05, 0xff, 0x55, 0x98, 0x7e, 0x1b, 0x00, 0x50, 0x00, 0x20, 0xad, 0xf8, 0x04, 0x00, 
+    0x00, 0x90, 0xff, 0xf7, 0x75, 0xf8, 0x41, 0xf6, 0x48, 0x44, 0x41, 0xf6, 0x74, 0x40, 0xc2, 
+    0xf2, 0x00, 0x04, 0x6a, 0x46, 0x69, 0x46, 0x63, 0x7a, 0xc2, 0xf2, 0x00, 0x00, 0xfd, 0xf7, 
+    0x38, 0xfe, 0x02, 0xb0, 0x02, 0x20, 0xe0, 0x61, 0x10, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xb5, 0x41, 0xf6, 0x48, 0x44, 0xc2, 0xf2, 
+    0x00, 0x04, 0xe0, 0x69, 0x01, 0x28, 0x14, 0xd1, 0xfe, 0xf7, 0xd1, 0xff, 0x60, 0x69, 
+
+    0x01, 0x05, 0xff, 0x15, 0x0c, 0x7f, 0x1b, 0x00, 0x10, 0x10, 0xbd, 0x00, 0xb5, 0x41, 0xf6, 
+    0x50, 0x40, 0xc2, 0xf2, 0x00, 0x00, 0x00, 0x21, 0x02, 0x78, 
+
+    0x01, 0x05, 0xff, 0x45, 0x30, 0x7f, 0x1b, 0x00, 0x40, 0xff, 0xf7, 0x4a, 0xf8, 0x00, 0xbd, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+    0x01, 0x05, 0xff, 0x0d, 0xd4, 0x7f, 0x1b, 0x00, 0x08, 0x56, 0xfc, 0xfe, 0xf7, 0x70, 0xff, 
+    0x00, 0xbd, 
+
+    // 
+    // ########################
+    // # Patch End
+    // ########################
+    // #release Cortex Reset
+    0x01, 0x09, 0xfd, 0x08, 0x00, 0xc0, 0x1b, 0x00, 0x00, 0x00, 0x01, 0x00, 
+
+    // 
+    // # Enable Cortex Sleep
+    0x01, 0xa8, 0xfd, 0x01, 0x00, 
+
+    // 
+    // #RESET BLE
+    0x01, 0x5b, 0xfd, 0x02, 0x01, 0x00, 
+
+    // 
+    0x01, 0xdd, 0xfd, 0x01, 0x01, 
+
+    // 
+    // #################################################################
+    // ## START of CC256x Add-On
+    // #################################################################
+    // 
+    // ## Enable fast clock XTAL support
+    0x01, 0x1c, 0xfd, 0x14, 0x01, 0x88, 0x13, 0x00, 0x00, 0xd0, 0x07, 0x00, 0x00, 0xff, 0xff, 
+    0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 
+
+    // 
+    // ## Enable eHCILL
+    0x01, 0x2b, 0xfd, 0x05, 0x10, 0x00, 0x50, 0x00, 0x96, 
+
+    // 
+    0x01, 0x0c, 0xfd, 0x09, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x64, 0x00, 
+
+    // 
+    // #################################################################
+    // ## END of CC256x Add-On
+    // #################################################################
+};
+
+const uint32_t cc256x_init_script_size = 17759;
+
diff --git a/metawatch/bluetooth_init_cc256x.h b/metawatch/bluetooth_init_cc256x.h
new file mode 100644 (file)
index 0000000..6e70257
--- /dev/null
@@ -0,0 +1,11 @@
+#ifndef _BT_CC2560_H
+#define _BT_CC2560_H
+
+/* the init/patch script for CC256x chipset */
+/* see TI license for details */
+
+extern const uint8_t cc256x_init_script[];
+extern const uint8_t cc256x_init_script_2[];
+
+extern const uint32_t cc256x_init_script_size;
+#endif
diff --git a/metawatch/bt_hci.c b/metawatch/bt_hci.c
new file mode 100644 (file)
index 0000000..265b00c
--- /dev/null
@@ -0,0 +1,477 @@
+#include <msp430.h>
+#include <msp430xgeneric.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "mw_main.h"
+
+#include "mw_uart.h"
+#include "mw_bt.h"
+#include "bt_hci.h"
+#include "bt_l2cap.h"
+
+
+static uint8_t local_bdaddr[6];
+
+uint8_t *bt_hci_get_local_bdaddr(void)
+{
+       return local_bdaddr;
+}
+
+static void bt_print_bd_addr(uint8_t *bd_addr)
+{
+#if defined MW_DEVBOARD_V2
+       int i;
+       char nums[4];
+
+       for (i=5; i>=0; i--) {
+               snprintf(nums, 4, "%02x", bd_addr[i]);
+               debug_uart_tx(nums);
+               if (i>0)
+                       debug_uart_tx_char(':');
+       }
+#endif
+}
+
+void bt_hci_process_acl_packet(unsigned char *packet)
+{
+#if defined MW_DEVBOARD_V2
+       char tstr[32];
+#endif
+       uint16_t dlen;
+       uint16_t handle;
+       L2CAP_PB_FLAG PB;
+       L2CAP_BC_FLAG BC;
+       uint16_t channel;
+       uint16_t mlen;
+
+//     debug_uart_tx("ACL packet, ");
+       handle = packet[0] | ((packet[1] & 0x0f) << 8);
+//     snprintf(tstr, 32, "handle 0x%04x ", handle);
+//     debug_uart_tx(tstr);
+       PB = (packet[1] >> 4) & 0x03;
+       BC = (packet[1] >> 6) & 0x03;
+//     snprintf(tstr, 32, "PB 0x%02x BC 0x%02x ", PB, BC);
+//     debug_uart_tx(tstr);
+
+       dlen = packet[2] | ((uint16_t)packet[3] << 8);
+//     snprintf(tstr, 32, "len 0x%04x \n", dlen);
+//     debug_uart_tx(tstr);
+//     debug_dump_hex(dlen+4, packet);
+
+       channel = packet[4+2] | (packet[4+3] << 8);
+       mlen = packet[4] | (packet[4+1] << 8);
+       switch (channel) {
+               case L2CAP_CID_SIGNALING:
+                       bt_l2cap_proc_signalling(handle, (packet+8), mlen);
+                       break;
+               case L2CAP_CID_CONNECTIONLESS_CHANNEL:
+                       break;
+               case L2CAP_CID_ATTRIBUTE_PROTOCOL:
+                       break;
+               case L2CAP_CID_SIGNALING_LE:
+                       break;
+               case L2CAP_CID_SECURITY_MANAGER_PROTOCOL:
+                       break;
+               default:
+                       if (channel > 0x3f) {
+                               // just for sure, add a 0 as string delimiter
+                               packet[mlen+8] = 0x00;
+                               bt_l2cap_proc_dyn_channel(channel, handle, (packet+8), mlen);
+                       } else {
+#if defined MW_DEVBOARD_V2
+                               snprintf(tstr, 32, "L2CAP unhandled CID 0x%04x\n", channel);
+                               debug_uart_tx(tstr);
+#endif
+                       }
+                       break;
+       }
+}
+
+void bt_hci_process_event_packet(unsigned char *packet)
+{
+#if defined MW_DEVBOARD_V2
+       char tstr[32];
+#endif
+       int i;
+       // uint8_t bd_addr[6];
+       uint32_t dev_type;
+
+//     debug_uart_tx("Event packet, ");
+//     snprintf(tstr, 32, "evt 0x%02x: ", packet[0]);
+//     debug_uart_tx(tstr);
+
+       switch (packet[0]) {
+               case HCI_EVENT_INQUIRY_COMPLETE:
+                       debug_uart_tx("inq complete\n");
+                       break;
+               case HCI_EVENT_INQUIRY_RESULT:
+                       debug_uart_tx("inq result\n");
+                       break;
+               case HCI_EVENT_CONNECTION_COMPLETE:
+                       debug_uart_tx("con complete from ");
+#if defined MW_DEVBOARD_V2
+                       bt_print_bd_addr((packet+5));
+                       snprintf(tstr, 32, " status 0x%02x handle 0x%02x", packet[2], packet[3]);
+                       debug_uart_tx(tstr);
+                       snprintf(tstr, 32, " type 0x%02x enc 0x%02x\n", packet[11], packet[12]);
+                       debug_uart_tx(tstr);
+                       if (packet[2] == 0x00)
+                               debug_uart_tx("connection established\n");
+                       else
+                               debug_uart_tx("connection failed\n");
+#endif
+                       break;
+               case HCI_EVENT_CONNECTION_REQUEST: {
+                       uint8_t bd_addr[7];
+
+                       switch (packet[11]) {
+                               case HCI_LINK_TYPE_SCO:
+                                       debug_uart_tx("SCO");
+                                       break;
+                               case HCI_LINK_TYPE_ACL:
+                                       debug_uart_tx("ACL");
+                                       break;
+                               case HCI_LINK_TYPE_ESCO:
+                                       debug_uart_tx("eSCO");
+                                       break;
+                               default:
+                                       debug_uart_tx("unknown type");
+                                       break;
+                       }
+                       debug_uart_tx(" con req from ");
+                       for (i=0; i<6; i++) {
+                               bd_addr[i] = packet[i+2];
+                       }
+                       bt_print_bd_addr(bd_addr);
+                       dev_type = (uint32_t)packet[8] << 16;
+                       dev_type |= (uint32_t)packet[9] << 8;
+                       dev_type |= packet[10];
+#if defined MW_DEVBOARD_V2
+                       snprintf(tstr, 32, " rem. dtype 0x%06lx\n", dev_type);
+                       debug_uart_tx(tstr);
+#endif
+                       //memcpy(tstr, bd_addr, 6);
+                       //tstr[6] = 0x01; /* remain slave */
+                       bd_addr[6] = 0x01; /* remain slave */
+                       bt_hci_cmd(HCI_LINK_CTRL_OGF, HCI_ACCEPT_CONN_REQ_OCF, 7, bd_addr);
+                       } break;
+               case HCI_EVENT_DISCONNECTION_COMPLETE:
+                       debug_uart_tx("discon complete\n");
+                       break;
+               case HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT:
+                       debug_uart_tx("auth complete\n");
+                       break;
+               case HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE:
+                       debug_uart_tx("rem name req complete\n");
+                       break;
+               case HCI_EVENT_ENCRYPTION_CHANGE:
+                       debug_uart_tx("enc change\n");
+                       break;
+               case HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE:
+                       debug_uart_tx("change con link key complete\n");
+                       break;
+               case HCI_EVENT_MASTER_LINK_KEY_COMPLETE:
+                       debug_uart_tx("master link key complete\n");
+                       break;
+               case HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE:
+                       debug_uart_tx("read rem feat. complete\n");
+                       break;
+               case HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE:
+                       debug_uart_tx("read rem version complete\n");
+                       break;
+               case HCI_EVENT_QOS_SETUP_COMPLETE:
+                       debug_uart_tx("qos setup complete\n");
+                       break;
+               case HCI_EVENT_COMMAND_COMPLETE:
+                       // snprintf(tstr, 32, "%d cmd(s) complete: 0x%02x%02x=%d", packet[2], packet[3], packet[4], packet[5]);
+                       // debug_uart_tx(tstr);
+                       if (packet[2] > 0 &&
+                           packet[3] == ((HCI_R_BD_ADDR_OCF | (HCI_INFO_PARAM_OGF << 10)) & 0xff) &&
+                           packet[4] == (((HCI_R_BD_ADDR_OCF | (HCI_INFO_PARAM_OGF << 10)) & 0xff00) >> 8)) { // read local bdaddr
+                               memcpy(local_bdaddr, (packet+6), 6);
+#if defined MW_DEVBOARD_V2
+                               debug_uart_tx("local bdaddr = ");
+                               bt_print_bd_addr((uint8_t *)(packet+6));
+                               debug_uart_tx("\n");
+#endif
+                       }
+                       break;
+               case HCI_EVENT_COMMAND_STATUS:
+                       debug_uart_tx("cmd status\n");
+                       break;
+               case HCI_EVENT_HARDWARE_ERROR:
+#if defined MW_DEVBOARD_V2
+                       debug_uart_tx("hardw err");
+                       snprintf(tstr, 32, " 0x%02x\n", packet[2]);
+                       debug_uart_tx(tstr);
+#endif
+                       break;
+               case HCI_EVENT_FLUSH_OCCURED:
+                       debug_uart_tx("flush occured\n");
+                       break;
+               case HCI_EVENT_ROLE_CHANGE:
+                       debug_uart_tx("role change\n");
+                       break;
+               case HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS:
+                       debug_uart_tx("numb compl. packets\n");
+                       break;
+               case HCI_EVENT_MODE_CHANGE_EVENT:
+                       debug_uart_tx("mode change\n");
+                       break;
+               case HCI_EVENT_RETURN_LINK_KEYS:
+                       debug_uart_tx("return link keys\n");
+                       break;
+               case HCI_EVENT_PIN_CODE_REQUEST:
+                       debug_uart_tx("pin code request\n");
+#if defined MW_DEVBOARD_V2
+                       debug_uart_tx("from ");
+                       bt_print_bd_addr((uint8_t *)(packet+2));
+                       debug_uart_tx("\n");
+#endif
+                       memmove(packet, (packet+2), 6);
+                       packet[6] = 0x04; // PIN has length of 4
+                       packet[7] = '4';
+                       packet[8] = '3';
+                       packet[9] = '1';
+                       packet[10] = '2';
+                       bt_hci_cmd(HCI_LINK_CTRL_OGF, HCI_PIN_CODE_REQ_REP_OCF, 11, packet);
+                       break;
+               case HCI_EVENT_LINK_KEY_REQUEST:
+                       debug_uart_tx("link key request\n");
+                       break;
+               case HCI_EVENT_LINK_KEY_NOTIFICATION:
+                       debug_uart_tx("link key notify\n");
+                       break;
+               case HCI_EVENT_DATA_BUFFER_OVERFLOW:
+                       debug_uart_tx("evt data buf overflow\n");
+                       break;
+               case HCI_EVENT_MAX_SLOTS_CHANGED:
+                       debug_uart_tx("max slots changed\n");
+                       break;
+               case HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE:
+                       debug_uart_tx("read clock offset compl.\n");
+                       break;
+               case HCI_EVENT_PACKET_TYPE_CHANGED:
+                       debug_uart_tx("packet type changed\n");
+                       break;
+               case HCI_EVENT_PAGE_SCAN_REPETION_MODE_CHANGE:
+                       debug_uart_tx("page scan repetition mode changed\n");
+                       break;
+               case HCI_EVENT_INQUIRY_RESULT_WITH_RSSI:
+                       debug_uart_tx("inq result with RSSI\n");
+                       break;
+               case HCI_EVENT_EXTENDED_INQUIRY_RESPONSE:
+                       debug_uart_tx("ext. inq. resp.\n");
+                       break;
+               case HCI_EVENT_LE_META:
+                       debug_uart_tx("LE meta\n");
+                       break;
+               case HCI_EVENT_VENDOR_SPECIFIC:
+                       debug_uart_tx("vend. spec.\n");
+                       break;
+               default:
+                       debug_uart_tx("unknown\n");
+                       break;
+       }
+//     debug_uart_tx("\n");
+//     for (i=2; i<=(packet[1]+1); i++) {
+//             snprintf(tstr, 32, " 0x%02x", packet[i]);
+//             debug_uart_tx(tstr);
+//     }
+//     debug_uart_tx("\n");
+}
+
+typedef enum {
+       HCI_PACKET_START = 0,
+       HCI_CMD_PACKET,
+       HCI_ACL_PACKET_HEADER,
+       HCI_ACL_PACKET_DATA,
+       HCI_SCO_PACKET,
+       HCI_EVENT_PACKET_HEADER,
+       HCI_EVENT_PACKET_DATA,
+       HCI_EHCILL_PACKET,
+       EHCILL_SLEEPING
+} bt_hci_state_t;
+
+static bt_hci_state_t state = HCI_PACKET_START;
+
+unsigned char bt_feed_packet_data(unsigned char pdata)
+{
+       char tstr[32];
+       static unsigned char packet[255];
+       static uint16_t bytes_left = 0;
+       static uint16_t pdata_pos = 0;
+
+//     snprintf(tstr, 32, "bt 0x%02x ", pdata);
+//     debug_uart_tx(tstr);
+       switch (state) {
+               case HCI_PACKET_START:
+                       switch (pdata) {
+                               case HCI_EVENT_PACKET:
+                                       state = HCI_EVENT_PACKET_HEADER;
+                                       bytes_left = 1;
+                                       pdata_pos = 0;
+                                       memset(packet, 0, 64);
+                                       break;
+                               case HCI_ACL_DATA_PACKET:
+                                       state = HCI_ACL_PACKET_HEADER;
+                                       bytes_left = 3;
+                                       pdata_pos = 0;
+                                       memset(packet, 0, 64);
+                                       break;
+                               case EHCILL_GO_TO_SLEEP_IND:
+                                       debug_uart_tx("eHCILL go to sleep ind\n");
+                                       state = HCI_PACKET_START;
+                                       // disable BT UART?
+                                       // mabye UCA1CTL1 = UCSWRST ?
+                                       pdata = EHCILL_GO_TO_SLEEP_ACK;
+                                       mw_bt_uart_tx(&pdata, 0x01);
+                                       BT_IO_POUT |= BT_IO_RTS; // pull RTS -> stop data
+
+                                       P1IFG &= ~BT_IO_CTS;
+                                       P1IE |= BT_IO_CTS;
+
+                                       state = EHCILL_SLEEPING;
+                                       break;
+                               case EHCILL_GO_TO_SLEEP_ACK:
+                                       debug_uart_tx("eHCILL go to sleep ack\n");
+                                       state = HCI_PACKET_START;
+                                       break;
+                               case EHCILL_WAKE_UP_IND:
+                                       debug_uart_tx("eHCILL wake up ind\n");
+                                       state = HCI_PACKET_START;
+                                       break;
+                               case EHCILL_WAKE_UP_ACK:
+                                       debug_uart_tx("eHCILL wake up ack\n");
+                                       state = HCI_PACKET_START;
+                                       break;
+                               default:
+                                       debug_uart_tx("unexpected packet start\n");
+                                       break;
+                       }
+                       break;
+               case HCI_EVENT_PACKET_HEADER:
+                       if (bytes_left != 0) {
+                               packet[pdata_pos++] = pdata;
+                               bytes_left--;
+                       } else {
+                               state = HCI_EVENT_PACKET_DATA;
+                               packet[pdata_pos++] = pdata;
+                               bytes_left = pdata;
+                       }
+                       break;
+               case HCI_EVENT_PACKET_DATA:
+                       packet[pdata_pos++] = pdata;
+                       bytes_left--;
+                       if (bytes_left == 0) {
+                               state = HCI_PACKET_START;
+                               bt_hci_process_event_packet(packet);
+                       }
+                       break;
+               case HCI_ACL_PACKET_HEADER:
+                       if (bytes_left != 0) {
+                               packet[pdata_pos++] = pdata;
+                               bytes_left--;
+                       } else {
+                               state = HCI_ACL_PACKET_DATA;
+                               packet[pdata_pos] = pdata;
+                               bytes_left = (packet[pdata_pos-1] | (packet[pdata_pos] << 8));
+//                             snprintf(tstr, 32, "ACL data len 0x%04x\n", bytes_left);
+//                             debug_uart_tx(tstr);
+//                             snprintf(tstr, 32, "%d (0x%02x 0x%02x)\n", pdata_pos, packet[pdata_pos-1], packet[pdata_pos]);
+//                             debug_uart_tx(tstr);
+                               pdata_pos++;
+                       }
+                       break;
+               case HCI_ACL_PACKET_DATA:
+//                     snprintf(tstr, 32, "%02x ", pdata);
+//                     debug_uart_tx(tstr);
+                       packet[pdata_pos++] = pdata;
+                       bytes_left--;
+                       if (bytes_left == 0) {
+//                             debug_uart_tx("\n");
+                               state = HCI_PACKET_START;
+                               bt_hci_process_acl_packet(packet);
+                       }
+                       break;
+               default:
+                       debug_uart_tx("hosed HCI state!\n");
+                       snprintf(tstr, 32, "  state = %d\n", state);
+                       debug_uart_tx(tstr);
+                       break;
+       };
+
+       // one byte consumed
+       return 1;
+}
+
+typedef struct {
+       uint8_t type;
+       uint16_t cmd;
+       uint8_t length;
+} __attribute__((packed)) bt_hci_cmd_t;
+
+void bt_hci_cmd(const uint8_t OGF, const uint8_t OCF, const uint8_t data_len, const void *data)
+{
+       bt_hci_cmd_t packet;
+
+       if (state == EHCILL_SLEEPING) {
+               uint8_t ehcill_p = EHCILL_WAKE_UP_IND;
+
+               debug_uart_tx("HCILL wakeup\n");
+               state = HCI_PACKET_START;
+               mw_bt_uart_tx(&ehcill_p, 1);
+               __delay_cycles(300000);
+               BT_IO_POUT &= ~BT_IO_RTS; // drop RTS -> start data
+       }
+       packet.type = HCI_COMMAND_PACKET;
+       packet.cmd = OCF | (OGF<<10);
+       packet.length = data_len;
+       mw_bt_uart_tx(&packet, sizeof(bt_hci_cmd_t));
+       if (data_len > 0 && data != NULL)
+               mw_bt_uart_tx(data, data_len);
+}
+
+typedef struct {
+       uint8_t type;
+       uint16_t handle;
+       uint16_t total_length;
+       uint16_t data_length;
+       uint16_t channel;
+} __attribute__((packed)) bt_hci_acl_t;
+
+void bt_acl_send(const uint16_t handle, const uint8_t PB, const uint8_t BC, const uint16_t channel, const uint16_t dlen, const void *dat)
+{
+       bt_hci_acl_t packet;
+
+       packet.type = HCI_ACL_DATA_PACKET;
+       packet.handle = handle | ((PB & 0x03) << 12) | ((BC & 0x03) << 14);
+       packet.total_length = dlen + 4;
+       packet.data_length = dlen;
+       packet.channel = channel;
+       mw_bt_uart_tx(&packet, sizeof(bt_hci_acl_t));
+       mw_bt_uart_tx(dat, dlen);
+}
+
+void bt_hci_init(void)
+{
+       state = HCI_PACKET_START;
+}
+
+void bt_hci_ehcill_wake(void)
+{
+       uint8_t ehcill_p = EHCILL_WAKE_UP_ACK;
+
+       debug_uart_tx("HCILL wakeup\n");
+
+       P1IE &= ~BT_IO_CTS;
+       state = HCI_PACKET_START;
+
+       BT_IO_POUT &= ~BT_IO_RTS; // drop RTS -> start data
+
+       mw_bt_uart_tx(&ehcill_p, 1);
+       //__delay_cycles(160000);
+}
+
diff --git a/metawatch/bt_hci.h b/metawatch/bt_hci.h
new file mode 100644 (file)
index 0000000..deecc91
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef _BT_HCI_H
+#define _BT_HCI_H
+
+/* HCI Command OGF */
+#define HCI_LINK_CTRL_OGF 0x01
+#define HCI_LINK_POLICY_OGF 0x02
+#define HCI_HC_BB_OGF 0x03
+#define HCI_INFO_PARAM_OGF 0x04
+
+/* HCI Command OCF */
+#define HCI_DISCONN_OCF                        0x06
+#define HCI_ACCEPT_CONN_REQ_OCF                0x09
+#define HCI_RESET_OCF                  0x03
+#define HCI_W_SCAN_EN_OCF              0x1A
+#define HCI_R_COD_OCF                  0x23
+#define HCI_W_COD_OCF                  0x24
+#define HCI_H_BUF_SIZE_OCF             0x33
+#define HCI_H_NUM_COMPL_OCF            0x35
+#define HCI_R_BUF_SIZE_OCF             0x05
+#define HCI_R_BD_ADDR_OCF              0x09
+#define HCI_W_LOCAL_NAME_OCF           0x13
+#define HCI_PIN_CODE_REQ_REP_OCF       0x0D
+#define HCI_R_STORED_LINK_KEY_OCF      0x0D
+#define HCI_W_STORED_LINK_KEY_OCF      0x11
+#define HCI_LINK_KEY_REQ_REP_OCF       0x0B
+
+#define HCI_COMMAND_PACKET             0x01
+#define HCI_ACL_DATA_PACKET            0x02
+#define HCI_SCO_DATA_PACKET            0x03
+#define HCI_EVENT_PACKET               0x04
+
+#define HCI_EVENT_INQUIRY_COMPLETE                             0x01
+#define HCI_EVENT_INQUIRY_RESULT                               0x02
+#define HCI_EVENT_CONNECTION_COMPLETE                          0x03
+#define HCI_EVENT_CONNECTION_REQUEST                           0x04
+#define HCI_EVENT_DISCONNECTION_COMPLETE                       0x05
+#define HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT                        0x06
+#define HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE                 0x07
+#define HCI_EVENT_ENCRYPTION_CHANGE                            0x08
+#define HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE          0x09
+#define HCI_EVENT_MASTER_LINK_KEY_COMPLETE                     0x0A
+#define HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE      0x0B
+#define HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE     0x0C
+#define HCI_EVENT_QOS_SETUP_COMPLETE                           0x0D
+#define HCI_EVENT_COMMAND_COMPLETE                             0x0E
+#define HCI_EVENT_COMMAND_STATUS                               0x0F
+#define HCI_EVENT_HARDWARE_ERROR                               0x10
+#define HCI_EVENT_FLUSH_OCCURED                                        0x11
+#define HCI_EVENT_ROLE_CHANGE                                  0x12
+#define HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS                  0x13
+#define HCI_EVENT_MODE_CHANGE_EVENT                            0x14
+#define HCI_EVENT_RETURN_LINK_KEYS                             0x15
+#define HCI_EVENT_PIN_CODE_REQUEST                             0x16
+#define HCI_EVENT_LINK_KEY_REQUEST                             0x17
+#define HCI_EVENT_LINK_KEY_NOTIFICATION                                0x18
+#define HCI_EVENT_DATA_BUFFER_OVERFLOW                         0x1A
+#define HCI_EVENT_MAX_SLOTS_CHANGED                            0x1B
+#define HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE                   0x1C
+#define HCI_EVENT_PACKET_TYPE_CHANGED                          0x1D
+#define HCI_EVENT_PAGE_SCAN_REPETION_MODE_CHANGE               0x20
+#define HCI_EVENT_INQUIRY_RESULT_WITH_RSSI                     0x22
+#define HCI_EVENT_EXTENDED_INQUIRY_RESPONSE                    0x2F
+#define HCI_EVENT_LE_META                                      0x3E
+#define HCI_EVENT_VENDOR_SPECIFIC                              0xFF
+
+#define HCI_SUBEVENT_LE_CONNECTION_COMPLETE                    0x01
+#define HCI_SUBEVENT_LE_ADVERTISING_REPORT                     0x02
+#define HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE             0x03
+#define HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE     0x04
+#define HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST                  0x05
+
+#define HCI_LINK_TYPE_SCO      0x00
+#define HCI_LINK_TYPE_ACL      0x01
+#define HCI_LINK_TYPE_ESCO     0x02
+
+#define HCI_BB_SCAN_NOSCAN     0x00
+#define HCI_BB_SCAN_INQUIRY    0x01
+#define HCI_BB_SCAN_PAGE       0x02
+
+/* CC256x specific eHCILL */
+#define EHCILL_GO_TO_SLEEP_IND         0x30
+#define EHCILL_GO_TO_SLEEP_ACK         0x31
+#define EHCILL_WAKE_UP_IND             0x32
+#define EHCILL_WAKE_UP_ACK             0x33
+
+void bt_hci_init(void);
+void bt_hci_cmd(const uint8_t OGF, const uint8_t OCF, const uint8_t data_len, const void *data);
+void bt_acl_send(const uint16_t handle, const uint8_t PB, const uint8_t BC, const uint16_t channel, const uint16_t len, const void *dat);
+uint8_t *bt_hci_get_local_bdaddr(void);
+void bt_hci_ehcill_wake(void);
+#endif
+
diff --git a/metawatch/bt_l2cap.c b/metawatch/bt_l2cap.c
new file mode 100644 (file)
index 0000000..68015ef
--- /dev/null
@@ -0,0 +1,274 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "mw_uart.h"
+#include "mw_bt.h"
+#include "bt_hci.h"
+#include "bt_l2cap.h"
+
+#include "oswald_main.h"
+
+static bt_l2cap_con_t _l2cap_con;
+
+void init_l2cap(void)
+{
+       memset(&_l2cap_con, 0, sizeof(bt_l2cap_con_t));
+}
+
+void bt_l2cap_proc_dyn_channel(const uint16_t channel, const uint16_t handle, const void *mdat, uint16_t mlen)
+{
+       if (channel == _l2cap_con.locCID) {
+               debug_uart_tx("L2CAP data rcvd: ");
+               debug_dump_ascii(mlen, mdat);
+               if (_l2cap_con.PSM == 0x1001) {
+                       oswald_handle_comm_input(mlen, mdat);
+               } else if (_l2cap_con.PSM == 0x0001) { // SDP
+                       debug_uart_tx("SDP req: ");
+                       debug_dump_hex(mlen, mdat);
+               } else
+                       debug_uart_tx("L2CAP data on unhandled PSM\n");
+       } else {
+               debug_uart_tx("L2CAP CID does not match local CID\n");
+       }
+}
+
+uint8_t bt_l2cap_get_connected(const uint16_t channel)
+{
+       if (_l2cap_con.locCID == channel)
+               return _l2cap_con.cstate;
+       else
+               return BT_L2CAP_CON_IDLE;
+}
+
+void bt_l2cap_send_channel(const uint16_t channel, const void *mdat, uint16_t mlen)
+{
+       if (_l2cap_con.cstate == BT_L2CAP_CON_CONNECTED && _l2cap_con.hci_handle != 0 && _l2cap_con.remCID != 0 &&
+               mlen != 0 && mdat != NULL) {
+               bt_acl_send(_l2cap_con.hci_handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, _l2cap_con.remCID, mlen, mdat);
+       }
+}
+
+typedef struct {
+       uint8_t resp;
+       uint8_t ident;
+       uint16_t length;
+       uint16_t DCID;
+       uint16_t SCID;
+} __attribute__((packed)) bt_l2cap_disconn_resp_t;
+
+typedef struct {
+       uint8_t resp;
+       uint8_t ident;
+       uint16_t length;
+       uint16_t SCID;
+       uint16_t flags;
+       uint16_t result;
+       uint16_t config;
+} __attribute__((packed)) bt_l2cap_conf_resp_t;
+
+
+void bt_l2cap_proc_signalling(const uint16_t handle, unsigned char *mdat, uint16_t mlen)
+{
+#if defined MW_DEVBOARD_V2
+       char tstr[16];
+#endif
+       debug_uart_tx("ACL L2CAP signalling ");
+       switch (mdat[0]) {
+               case COMMAND_REJECT:
+                       debug_uart_tx("command reject\n");
+                       break;
+               case CONNECTION_REQUEST: {
+                       uint8_t ident = mdat[1];
+                       uint16_t PSM = mdat[4] | (mdat[5] << 8);;
+                       uint16_t src_CID = mdat[6] | (mdat[7] << 8);;
+
+#if defined MW_DEVBOARD_V2
+                       debug_uart_tx("connection request on ");
+                       snprintf(tstr, 16, "PSM 0x%04x ", PSM);
+                       debug_uart_tx(tstr);
+                       snprintf(tstr, 16, "srcCID 0x%04x\n", src_CID);
+                       debug_uart_tx(tstr);
+#endif
+                       bt_l2cap_handle_connection_request(handle, ident, PSM, src_CID);
+                       } break;
+               case CONNECTION_RESPONSE:
+                       debug_uart_tx("connection response\n");
+                       break;
+               case CONFIGURE_REQUEST: {
+                       uint8_t ident = mdat[1];
+                       uint16_t len = mdat[2] | (mdat[3] << 8);
+                       uint16_t dst_CID = mdat[4] | (mdat[5] << 8);
+                       uint16_t flags = mdat[6] | (mdat[7] << 8);
+                       bt_l2cap_conf_resp_t resp;
+
+#if defined MW_DEVBOARD_V2
+                       debug_uart_tx("configure request ");
+                       snprintf(tstr, 16, "len 0x%04x ", len);
+                       debug_uart_tx(tstr);
+                       snprintf(tstr, 16, "DCID 0x%04x ", dst_CID);
+                       debug_uart_tx(tstr);
+                       snprintf(tstr, 16, "flags 0x%04x\n", flags);
+                       debug_uart_tx(tstr);
+#if 0
+                       for (i=8; i<((len-4)+8); i++) {
+                               snprintf(tstr, 16, "0x%02x ", mdat[i]);
+                               debug_uart_tx(tstr);
+                       }
+                       debug_uart_tx("\n");
+#endif
+                       debug_dump_hex(len-4+8, (mdat+8));
+#endif
+                       resp.resp = CONFIGURE_RESPONSE;
+                       resp.ident = ident;
+                       resp.length = 0x06;
+                       if (dst_CID != _l2cap_con.locCID)
+                               debug_uart_tx("warning: DCID does not match\n");
+                       resp.SCID = _l2cap_con.remCID;
+                       resp.flags = flags;
+                       resp.result = 0x0000; // success
+                       resp.config = 0x0000; // OK?
+
+                       bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conf_resp_t)-2, &resp);
+
+                       } break;
+               case CONFIGURE_RESPONSE:
+                       debug_uart_tx("configure response\n");
+                       break;
+               case DISCONNECTION_REQUEST: {
+                       bt_l2cap_disconn_resp_t resp;
+                       uint8_t ident = mdat[1];
+                       uint16_t dst_CID = mdat[4] | (mdat[5] << 8);
+                       uint16_t src_CID = mdat[6] | (mdat[7] << 8);
+
+                       debug_uart_tx("disconnect request\n");
+
+                       if (dst_CID != _l2cap_con.locCID || src_CID != _l2cap_con.remCID)
+                               debug_uart_tx("warning: discon on unknown CID\n");
+                       resp.resp = DISCONNECTION_RESPONSE;
+                       resp.ident = ident;
+                       resp.length = 0x0004;
+                       resp.DCID = _l2cap_con.locCID;
+                       resp.SCID = _l2cap_con.remCID;
+
+                       bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_disconn_resp_t), &resp);
+
+                       init_l2cap();
+                       } break;
+               case DISCONNECTION_RESPONSE:
+                       debug_uart_tx("disconnect response\n");
+                       break;
+               case ECHO_REQUEST:
+                       debug_uart_tx("echo request\n");
+                       mdat[0] = ECHO_RESPONSE;
+                       bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, mlen, mdat);
+                       break;
+               case ECHO_RESPONSE:
+                       debug_uart_tx("echo response\n");
+                       break;
+               case INFORMATION_REQUEST: {
+                       uint16_t info_type = mdat[4] | (mdat[5] << 8);
+                       debug_uart_tx("information request ");
+                       switch (info_type) {
+                               case 0x0001:
+                                       debug_uart_tx("connectionless mtu\n");
+                                       break;
+                               case 0x0002:
+                                       debug_uart_tx("ext. feat. support\n");
+                                       mdat[0] = INFORMATION_RESPONSE;
+                                       mdat[2] = 0x02;
+                                       mdat[3] = 0x00;
+                                       mdat[6] = 0x01; // not supported
+                                       mdat[7] = 0x00;
+                                       bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, 0x08, mdat);
+                                       break;
+                               case 0x0003:
+                                       debug_uart_tx("fixed channel support\n");
+                                       break;
+                               default:
+                                       debug_uart_tx("unknown\n");
+                                       break;
+                       };
+                       } break;
+               case INFORMATION_RESPONSE:
+                       debug_uart_tx("information response\n");
+                       break;
+               default:
+                       debug_uart_tx("unknown\n");
+                       break;
+       }
+}
+
+typedef struct {
+       uint8_t resp;
+       uint8_t ident;
+       uint16_t length;
+       uint16_t DCID;
+       uint16_t SCID;
+       uint16_t result;
+       uint16_t status;
+} __attribute__((packed)) bt_l2cap_conn_resp_t;
+
+typedef struct {
+       uint8_t resp;
+       uint8_t ident;
+       uint16_t length;
+       uint16_t DCID;
+       uint16_t flags;
+       uint8_t option;
+       uint8_t olen;
+       uint16_t odat;
+} __attribute__((packed)) bt_l2cap_conf_req_t;
+
+void bt_l2cap_handle_connection_request(const uint16_t handle, const uint8_t ident, const uint16_t PSM, const uint16_t src_CID)
+{
+       bt_l2cap_conn_resp_t resp;
+
+       if (_l2cap_con.cstate == BT_L2CAP_CON_IDLE) {
+               bt_l2cap_conf_req_t req;
+
+               _l2cap_con.cstate = BT_L2CAP_CON_CONNECTED;
+               _l2cap_con.hci_handle = handle;
+               _l2cap_con.PSM = PSM;
+
+               _l2cap_con.locCID = 0x0040;
+               _l2cap_con.remCID = src_CID;
+
+               _l2cap_con.locMTU = 0xf0;
+               _l2cap_con.remMTU = 0x00;
+
+               resp.resp = CONNECTION_RESPONSE;
+               resp.ident = ident;
+               resp.length = 0x0008;
+               resp.DCID = _l2cap_con.locCID;
+               resp.SCID = _l2cap_con.remCID;
+               resp.result = BT_L2CAP_CON_RES_SUCCESS;
+               resp.status = BT_L2CAP_CON_STAT_NOINFO;
+
+               debug_uart_tx("l2cap accepting connection\n");
+               bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conn_resp_t), &resp);
+
+               req.resp = CONFIGURE_REQUEST;
+               req.ident = ident;
+               req.length = 0x08;
+               req.DCID = _l2cap_con.remCID;
+               req.flags = 0x00;
+               req.option = 0x01; // MTU
+               req.olen = 0x02;
+               req.odat = _l2cap_con.locMTU;
+
+               bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conf_req_t), &req);
+       } else {
+               resp.resp = CONNECTION_RESPONSE;
+               resp.ident = ident;
+               resp.length = 0x0008;
+               resp.DCID = 0x0000;
+               resp.SCID = src_CID;
+               resp.result = BT_L2CAP_CON_RES_REFUSED_RSRC;
+               resp.status = BT_L2CAP_CON_STAT_NOINFO;
+
+               debug_uart_tx("l2cap refusing connection\n");
+               bt_acl_send(handle, PB_FIRST_FLUSHABLE, BC_NO_BROADCAST, L2CAP_CID_SIGNALING, sizeof(bt_l2cap_conn_resp_t), &resp);
+       }
+}
+
diff --git a/metawatch/bt_l2cap.h b/metawatch/bt_l2cap.h
new file mode 100644 (file)
index 0000000..075ee6b
--- /dev/null
@@ -0,0 +1,77 @@
+#ifndef _BT_L2CAP_H
+#define _BT_L2CAP_H
+
+
+#define L2CAP_CID_SIGNALING                 0x0001
+#define L2CAP_CID_CONNECTIONLESS_CHANNEL    0x0002
+#define L2CAP_CID_ATTRIBUTE_PROTOCOL        0x0004
+#define L2CAP_CID_SIGNALING_LE              0x0005
+#define L2CAP_CID_SECURITY_MANAGER_PROTOCOL 0x0006
+
+typedef enum {
+       COMMAND_REJECT = 1,
+       CONNECTION_REQUEST,
+       CONNECTION_RESPONSE,
+       CONFIGURE_REQUEST,
+       CONFIGURE_RESPONSE,
+       DISCONNECTION_REQUEST,
+       DISCONNECTION_RESPONSE,
+       ECHO_REQUEST,
+       ECHO_RESPONSE,
+       INFORMATION_REQUEST,
+       INFORMATION_RESPONSE
+} L2CAP_SIGNALING_COMMANDS;
+
+typedef enum {
+       PB_FIRST_NON_FLUSH = 0,
+       PB_CONTINUE_FRAGMENT,
+       PB_FIRST_FLUSHABLE,
+       PB_COMPLETE_PDU
+} L2CAP_PB_FLAG;
+
+typedef enum {
+       BC_NO_BROADCAST = 0,
+       BC_ACTIVE_SLAVE,
+       BC_PARKED_SLAVE,
+       BC_RESERVED
+} L2CAP_BC_FLAG;
+
+// Connection result values
+#define BT_L2CAP_CON_RES_SUCCESS               0x0000
+#define BT_L2CAP_CON_RES_PENDING               0x0001
+#define BT_L2CAP_CON_RES_REFUSED_PSM           0x0002
+#define BT_L2CAP_CON_RES_REFUSED_SECURITY      0x0003
+#define BT_L2CAP_CON_RES_REFUSED_RSRC          0x0004
+
+#define BT_L2CAP_CON_STAT_NOINFO               0x0000
+#define BT_L2CAP_CON_STAT_AUTHEN_PENDING       0x0001
+#define BT_L2CAP_CON_STAT_AUTHOR_PENDING       0x0002
+
+typedef enum {
+       BT_L2CAP_CON_IDLE = 0,
+       BT_L2CAP_CON_CONNECTED
+} bt_l2cap_con_state_t;
+
+// describes the L2CAP connection
+typedef struct {
+       bt_l2cap_con_state_t cstate;
+
+       uint16_t hci_handle;
+       uint16_t PSM;           // PSM of this connection
+
+       uint16_t locCID;        // our local CID
+       uint16_t remCID;        // remote host CID
+
+       uint16_t locMTU;
+       uint16_t remMTU;
+} bt_l2cap_con_t;
+
+void init_l2cap(void);
+void bt_l2cap_proc_dyn_channel(const uint16_t channel, const uint16_t handle, const void *mdat, uint16_t mlen);
+uint8_t bt_l2cap_get_connected(const uint16_t channel);
+void bt_l2cap_send_channel(const uint16_t channel, const void *mdat, uint16_t mlen);
+void bt_l2cap_proc_signalling(const uint16_t handle, unsigned char *mdat, uint16_t mlen);
+void bt_l2cap_handle_connection_request(const uint16_t handle, const uint8_t ident, const uint16_t PSM, const uint16_t src_CID);
+
+#endif
+
diff --git a/metawatch/calendar.d b/metawatch/calendar.d
new file mode 100644 (file)
index 0000000..20d6983
--- /dev/null
@@ -0,0 +1,12 @@
+calendar.o: calendar.c oswald.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/stdio.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/include/stddef.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/types.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/cdefs.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/sys/inttypes.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/inttypes.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/stdint.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/msp430libc.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/include/stdarg.h \
+ /opt/msp430/lib/gcc/msp430/4.7.0/../../../../msp430/include/string.h \
+ calendar.h
diff --git a/metawatch/hal_devboard_v2_defs.h b/metawatch/hal_devboard_v2_defs.h
new file mode 100644 (file)
index 0000000..fe94d99
--- /dev/null
@@ -0,0 +1,660 @@
+//==============================================================================
+//  Copyright 2011 Meta Watch Ltd. - http://www.MetaWatch.org/
+// 
+//  Licensed under the Meta Watch License, Version 1.0 (the "License");
+//  you may not use this file except in compliance with the License.
+//  You may obtain a copy of the License at
+//  
+//      http://www.MetaWatch.org/licenses/license-1.0.html
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//==============================================================================
+
+/******************************************************************************/
+/*! \file hal_devboard_v2_defs.h
+ *
+ * Pin and peripheral definitions for Development Board Version 2
+ */
+/******************************************************************************/
+
+
+#ifndef HAL_DEVBOARD_V2_DEFS_H
+#define HAL_DEVBOARD_V2_DEFS_H
+
+
+// Defines for the LCD display interface, single channel SPI output
+#define LCD_5V_PDIR P4DIR
+#define LCD_5V_POUT P4OUT
+#define LCD_5V_BIT  BIT0
+  
+#define ENABLE_LCD_POWER() { \
+  LCD_5V_PDIR |= LCD_5V_BIT; \
+  LCD_5V_POUT |= LCD_5V_BIT; \
+}
+
+#define DISABLE_LCD_POWER() { \
+  LCD_5V_PDIR |= LCD_5V_BIT; \
+  LCD_5V_POUT &= ~LCD_5V_BIT; \
+}
+
+#define LCD_ENABLE_PDIR ( P3DIR )
+#define LCD_ENABLE_POUT ( P3OUT )
+#define LCD_ENABLE_PIN  ( BIT6 )
+
+#define ENABLE_LCD_ENABLE() { \
+  LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \
+  LCD_ENABLE_POUT |= LCD_ENABLE_PIN; \
+}
+
+#define DISABLE_LCD_ENABLE() { \
+  LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \
+  LCD_ENABLE_POUT &= ~LCD_ENABLE_PIN; \
+}
+
+#define LCD_CS_PDIR ( P9DIR )
+#define LCD_CS_POUT ( P9OUT )
+#define LCD_CS_PIN  ( BIT0 )
+
+#define LCD_SPI_PORT_SEL ( P3SEL )
+#define LCD_SPI_SIMO_BIT ( BIT1 )
+#define LCD_SPI_CLK_BIT  ( BIT3 )
+#define LCD_SPI_SOMI_BIT ( BIT2 )
+
+#define LCD_CS_ASSERT()   { LCD_CS_POUT |= LCD_CS_PIN; }
+#define LCD_CS_DEASSERT() { LCD_CS_POUT &= ~LCD_CS_PIN; }
+
+#define CONFIG_LCD_PINS() { \
+  LCD_SPI_PORT_SEL |= LCD_SPI_SIMO_BIT; \
+  LCD_SPI_PORT_SEL |= LCD_SPI_CLK_BIT;  \
+  LCD_SPI_PORT_SEL |= LCD_SPI_SOMI_BIT; \
+  ENABLE_LCD_ENABLE();                  \
+  LCD_CS_PDIR |= LCD_CS_PIN;            \
+  LCD_CS_DEASSERT();                    \
+}
+
+// labeled EL_EN on schematic
+#define LCD_LED_PDIR ( P4DIR )
+#define LCD_LED_POUT ( P4OUT )
+#define LCD_LED_PIN  ( BIT4 )
+
+#define DISABLE_LCD_LED() { \
+  LCD_LED_PDIR |= LCD_LED_PIN;  \
+  LCD_LED_POUT &= ~LCD_LED_PIN; \
+}
+
+#define ENABLE_LCD_LED() { \
+  LCD_LED_PDIR |= LCD_LED_PIN;  \
+  LCD_LED_POUT |= LCD_LED_PIN;  \
+}
+
+#define LCD_SPI_UCBxCTL0            UCB0CTL0          // Control register
+#define LCD_SPI_UCBxCTL1            UCB0CTL1          // Control register
+#define LCD_SPI_UCBxBR0             UCB0BR0           // Baudrate prescale
+#define LCD_SPI_UCBxBR1             UCB0BR1           // Baudrate divider
+
+#define LCD_SPI_UCBxTXBUF           UCB0TXBUF         // Transmit buffer
+#define LCD_SPI_UCBxRXBUF           UCB0RXBUF         // Receive  buffer
+
+#define LCD_SPI_UCBxIE              UCB0IE            // Interrupt enable register
+#define LCD_SPI_UCBxIFG             UCB0IFG           // Interrupt flag register
+#define LCD_SPI_UCBxIV              UCB0IV            // Interrupt vector register
+#define LCD_SPI_UCBxSTAT            UCB0STAT          // status register
+
+
+// Definitions for the OLED Display
+// peripheral mapping for OLED
+#define OLED_I2C_CTL0  ( UCB0CTL0 )
+#define OLED_I2C_CTL1  ( UCB0CTL1 )
+#define OLED_I2C_BR0   ( UCB0BR0 )
+#define OLED_I2C_BR1   ( UCB0BR1 )
+#define OLED_I2C_I2CSA ( UCB0I2CSA )
+#define OLED_I2C_IE    ( UCB0IE )
+#define OLED_I2C_IFG   ( UCB0IFG )
+#define OLED_I2C_TXBUF ( UCB0TXBUF )
+#define OLED_I2C_RXBUF ( UCB0RXBUF )
+// interrupt mapping for OLED
+#define USCI_OLED_I2C_VECTOR ( USCI_B0_VECTOR )
+#define USCI_OLED_I2C_IV     ( UCB0IV ) 
+
+// OLED reset is active low
+#define OLED_RSTN_PDIR  ( P8DIR )
+#define OLED_RSTN_POUT  ( P8OUT )
+#define OLED_RSTN_PIN   ( BIT7  )
+
+#define OLED_RSTN_CONFIG()   { OLED_RSTN_PDIR |= OLED_RSTN_PIN; OLED_RSTN_ASSERT(); }
+#define OLED_RSTN_ASSERT()   { OLED_RSTN_POUT &= ~OLED_RSTN_PIN; }
+#define OLED_RSTN_DEASSERT() { OLED_RSTN_POUT |= OLED_RSTN_PIN; }
+
+#define OLED_CS1N_PDIR ( P8DIR )
+#define OLED_CS1N_POUT ( P8OUT )
+#define OLED_CS1N_PIN  ( BIT0 )
+
+#define OLED_CS1N_CONFIG()  { OLED_CS1N_PDIR |= OLED_CS1N_PIN; OLED_CS1N_DISABLE(); }
+#define OLED_CS1N_ENABLE()  { OLED_CS1N_POUT &= ~OLED_CS1N_PIN; }
+#define OLED_CS1N_DISABLE() { OLED_CS1N_POUT |= OLED_CS1N_PIN; }
+
+#define OLED_CS2N_PDIR ( P8DIR )
+#define OLED_CS2N_POUT ( P8OUT )
+#define OLED_CS2N_PIN  ( BIT1 )
+
+#define OLED_CS2N_CONFIG()  { OLED_CS2N_PDIR |= OLED_CS2N_PIN; OLED_CS2N_DISABLE(); }
+#define OLED_CS2N_ENABLE()  { OLED_CS2N_POUT &= ~OLED_CS2N_PIN; }
+#define OLED_CS2N_DISABLE() { OLED_CS2N_POUT |= OLED_CS2N_PIN; }
+
+#define OLED_SDA_PDIR ( P3DIR )
+#define OLED_SDA_POUT ( P3OUT )
+#define OLED_SDA_PIN  ( BIT1 )
+#define OLED_SDA_PSEL ( P3SEL)
+
+#define OLED_SCL_PDIR ( P3DIR )
+#define OLED_SCL_POUT ( P3OUT )
+#define OLED_SCL_PORT ( P3 )
+#define OLED_SCL_PIN  ( BIT2 )
+#define OLED_SCL_PSEL ( P3SEL )
+
+// the select line overrides the pdir and pout settings
+#define OLED_SDA_CONFIG_FOR_PERIPHERAL_USE() { OLED_SDA_PSEL |= OLED_SDA_PIN; }
+#define OLED_SCL_CONFIG_FOR_PERIPHERAL_USE() { OLED_SCL_PSEL |= OLED_SCL_PIN; }
+
+#define OLED_I2C_CONFIG_FOR_PERIPHERAL_USE() { \
+  OLED_SDA_CONFIG_FOR_PERIPHERAL_USE();        \
+  OLED_SCL_CONFIG_FOR_PERIPHERAL_USE(); }
+
+#define OLED_SDA_CONFIG_FOR_SLEEP() { \
+  OLED_SDA_PSEL &= ~OLED_SDA_PIN;     \
+  OLED_SDA_PDIR |= OLED_SDA_PIN;      \
+  OLED_SDA_POUT |= OLED_SDA_PIN; }
+
+#define OLED_SCL_CONFIG_FOR_SLEEP() { \
+  OLED_SCL_PSEL &= ~OLED_SCL_PIN;     \
+  OLED_SCL_PDIR |= OLED_SCL_PIN;      \
+  OLED_SCL_POUT |= OLED_SCL_PIN; }
+
+#define OLED_I2C_CONFIG_FOR_SLEEP() { \
+  OLED_SDA_CONFIG_FOR_SLEEP();        \
+  OLED_SCL_CONFIG_FOR_SLEEP(); }
+
+#define OLED_POWER_ENABLE_PIN  ( BIT0 )
+#define OLED_POWER_ENABLE_POUT ( P4OUT )
+#define OLED_POWER_ENABLE_PDIR ( P4DIR )
+#define OLED_POWER_CONFIG()    { P4DIR |= OLED_POWER_ENABLE_PIN; OLED_POWER_DISABLE(); }
+#define OLED_POWER_ENABLE()    { P4OUT |= OLED_POWER_ENABLE_PIN; }
+#define OLED_POWER_DISABLE()   { P4OUT &= ~OLED_POWER_ENABLE_PIN; }
+
+// VLED_EN is active low
+#define OLED_IO_POWER_ENABLE_PIN  ( BIT3 )
+#define OLED_IO_POWER_ENABLE_POUT ( P5OUT )
+#define OLED_IO_POWER_ENABLE_PDIR ( P5DIR )
+#define OLED_IO_POWER_CONFIG()    { P5DIR |= OLED_IO_POWER_ENABLE_PIN; OLED_IO_POWER_DISABLE(); }
+#define OLED_IO_POWER_ENABLE()    { P5OUT &= ~OLED_IO_POWER_ENABLE_PIN; }
+#define OLED_IO_POWER_DISABLE()   { P5OUT |= OLED_IO_POWER_ENABLE_PIN; }
+
+#ifdef ANALOG
+#define CONFIG_OLED_PINS() {   \
+  OLED_RSTN_CONFIG();          \
+  OLED_CS1N_CONFIG();          \
+  OLED_CS2N_CONFIG();          \
+  OLED_POWER_CONFIG();         \
+  OLED_I2C_CONFIG_FOR_SLEEP(); \
+  OLED_IO_POWER_CONFIG();      \
+}
+#else
+/* jumpers for 10V must be removed for power consumption measurements */
+#define CONFIG_OLED_PINS() {       \
+  OLED_RSTN_CONFIG();              \
+  OLED_CS1N_CONFIG();              \
+  OLED_CS1N_ENABLE();              \
+  OLED_CS2N_CONFIG();              \
+  OLED_CS2N_ENABLE();              \
+  OLED_POWER_CONFIG();             \
+  OLED_IO_POWER_CONFIG();          \
+}
+#endif
+
+
+// Real time clock defines
+// RTC 1 Hz output, also used to toggle the bias on the LCD
+#define RTC_1HZ_PORT_DIR  ( P2DIR )
+#define RTC_1HZ_PORT_SEL  ( P2SEL )
+#define RTC_1HZ_BIT       ( BIT4 )
+
+
+// Button defines
+
+#define BUTTON_TIME_COUNT_ARRAY_LEN  8
+#define ALL_BUTTONS_OFF              0xFF
+
+#define SW_A  BIT0
+#define SW_B  BIT1
+#define SW_C  BIT2
+#define SW_D  BIT3
+// Bit 4 is not used
+#define SW_E  BIT5
+#define SW_F  BIT6
+#define SW_P  BIT7
+
+#define SW_A_INDEX        ( 0 )
+#define SW_B_INDEX        ( 1 )
+#define SW_C_INDEX        ( 2 )
+#define SW_D_INDEX        ( 3 )
+#define SW_UNUSED_INDEX   ( 4 )
+#define SW_E_INDEX        ( 5 )
+#define SW_F_INDEX        ( 6 )
+#define SW_P_INDEX        ( 7 )
+#define TOTAL_BTN_NUM     ( 8 )
+
+#ifdef ANALOG
+  /* analog board has traces for all of the buttons but 
+   * only 3 and pull switch are populated */
+  #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_P)
+
+#elif defined(DIGITAL)
+
+  #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F)
+
+#endif
+
+#define RESISTOR_ENABLE_BUTTONS ( ALL_BUTTONS )
+#define INT_EDGE_SEL_BUTTONS     (ALL_BUTTONS)
+
+#define BUTTON_PORT_VECTOR PORT2_VECTOR
+#define BUTTON_PORT_DIR    P2DIR
+#define BUTTON_PORT_SEL    P2SEL
+#define BUTTON_PORT_OUT    P2OUT
+#define BUTTON_PORT_REN    P2REN
+#define BUTTON_PORT_IE     P2IE
+#define BUTTON_PORT_IES    P2IES
+#define BUTTON_PORT_IFG    P2IFG
+
+#define DISABLE_BUTTONS() { \
+  BUTTON_PORT_IE  &= ~INT_EDGE_SEL_BUTTONS; \
+  BUTTON_PORT_REN &= ~ALL_BUTTONS;          \
+  BUTTON_PORT_OUT &= ~ALL_BUTTONS;          \
+}
+
+/* SHIPPING */ 
+/* S5 or SW_E is the button that takes the watch out of shipping mode */
+#define ENABLE_SHIPPING_WAKEUP() { \
+  P1IE = 0x00;                              \
+  PMMCTL0_H = 0xA5;                         \
+  PMMRIE = 0x0000;                          \
+  RTCPS0CTL = 0x0000;                       \
+  RTCPS1CTL = 0x0000;                       \
+  UCSCTL8 = 0x0700;                         \
+  BUTTON_PORT_REN = SW_E;                   \
+  BUTTON_PORT_OUT = SW_E;                   \
+  BUTTON_PORT_DIR &= ~SW_E;                 \
+  BUTTON_PORT_IES  =   SW_E;                \
+  BUTTON_PORT_IFG  =   0x00;                \
+  BUTTON_PORT_IE   =   SW_E;                \
+}
+
+// NOTE the the buttons are grounded. That means that we want to invert the bits
+// when reading the port to have positive logic where a button press is a "1"
+#define BUTTON_PORT_IN     ~P2IN
+
+// Configure the hardware port for the button support P2.4 is excluded
+#define CONFIGURE_BUTTON_PINS() { \
+  BUTTON_PORT_REN = (unsigned char) RESISTOR_ENABLE_BUTTONS; \
+  BUTTON_PORT_OUT = (unsigned char) ALL_BUTTONS;             \
+  BUTTON_PORT_DIR &= (unsigned char) ~ALL_BUTTONS;           \
+  BUTTON_PORT_IES |=   INT_EDGE_SEL_BUTTONS;         \
+  BUTTON_PORT_IFG &=  ~ALL_BUTTONS;                  \
+  BUTTON_PORT_IE  |=   ALL_BUTTONS;                  \
+}
+  
+// Battery charger control for a BQ24080
+#define BAT_CHARGE_DIR        P6DIR
+#define BAT_CHARGE_REN        P6REN
+#define BAT_CHARGE_OUT        P6OUT
+#define BAT_CHARGE_IN         P6IN
+//#define BAT_CHARGE_IE         P6IE
+//#define PWR_PORT_VECTOR       PORT6_VECTOR
+//#define PWR_PORT_IFG          P6IFG
+
+#define BAT_CHARGE_ENABLE_PIN  BIT2
+#define BAT_CHARGE_STAT1       BIT3
+#define BAT_CHARGE_STAT2       BIT4
+#define BAT_CHARGE_PWR_BIT     BIT5
+
+// Enable charging, asserted low
+#define BATTERY_CHARGE_ENABLE()   { BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; }
+
+// disable charging, sleep the part
+#define BATTERY_CHARGE_DISABLE()  { BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; }
+
+
+//
+// Ambient Light Sensor
+//
+#define GC1_PDIR ( P6DIR )
+#define GC1_POUT ( P6OUT )
+#define GC1_PSEL ( P6SEL )
+#define GC1_PIN  ( BIT0 )
+
+#define GC2_PDIR ( P6DIR )
+#define GC2_POUT ( P6OUT )
+#define GC2_PSEL ( P6SEL )
+#define GC2_PIN  ( BIT6 )
+
+#define IOUT_PDIR ( P6DIR )
+#define IOUT_PSEL ( P6SEL )
+#define IOUT_PIN  ( BIT1 )
+
+#define LIGHT_SENSE_INIT()                     \
+{                                              \
+  IOUT_PDIR &= ~IOUT_PIN;                      \
+  IOUT_PSEL |= IOUT_PIN;                       \
+  GC1_PDIR  |= GC1_PIN;                        \
+  GC2_PDIR  |= GC2_PIN;                        \
+  LIGHT_SENSE_DISABLE();                       \
+}
+
+#define LIGHT_SENSOR_SHUTDOWN() \
+{                               \
+  GC1_POUT &= ~GC1_PIN;         \
+  GC2_POUT &= ~GC2_PIN;         \
+}
+
+#define LIGHT_SENSOR_L_GAIN() \
+{                             \
+  GC1_POUT |= GC1_PIN;        \
+  GC2_POUT |= GC2_PIN;        \
+}
+
+#define LIGHT_SENSE_ENABLE()\
+{                           \
+  LIGHT_SENSOR_L_GAIN();    \
+}
+
+#define LIGHT_SENSE_DISABLE() \
+{                             \
+  LIGHT_SENSOR_SHUTDOWN();    \
+}
+
+
+
+//
+// This pin controls if the battery voltage can be read
+//
+#define BATTERY_READ_CONTROL_PDIR ( P4DIR )
+#define BATTERY_READ_CONTROL_POUT ( P4OUT )
+#define BATTERY_READ_CONTROL_PIN  ( BIT6 )
+
+#define BATTERY_SENSE_INPUT_PDIR ( P7DIR )
+#define BATTERY_SENSE_INPUT_PSEL ( P7SEL )
+#define BATTERY_SENSE_INPUT_PIN  ( BIT7 )
+
+#define BATTERY_SENSE_INIT()                             \
+{                                                        \
+  BATTERY_READ_CONTROL_PDIR |= BATTERY_READ_CONTROL_PIN; \
+  BATTERY_SENSE_INPUT_PDIR &= ~BATTERY_SENSE_INPUT_PIN;  \
+  BATTERY_SENSE_INPUT_PSEL |= BATTERY_SENSE_INPUT_PIN;   \
+  BATTERY_SENSE_DISABLE();                               \
+}
+
+#define BATTERY_SENSE_ENABLE() \
+{                                                        \
+  BATTERY_READ_CONTROL_POUT |= BATTERY_READ_CONTROL_PIN; \
+}
+
+#define BATTERY_SENSE_DISABLE() \
+{                                                         \
+  BATTERY_READ_CONTROL_POUT &= ~BATTERY_READ_CONTROL_PIN; \
+}
+
+//
+// hardware configuration is a voltage divider to ADC input
+//
+#define HARDWARE_CFG_CONTROL_PDIR ( P5DIR )
+#define HARDWARE_CFG_CONTROL_POUT ( P5OUT )
+#define HARDWARE_CFG_CONTROL_PIN  ( BIT0 )
+
+#define HARDWARE_CFG_INPUT_PDIR ( P7DIR )
+#define HARDWARE_CFG_INPUT_PSEL ( P7SEL )
+#define HARDWARE_CFG_INPUT_PIN  ( BIT5 )
+
+#define HARDWARE_CFG_SENSE_INIT()                        \
+{                                                        \
+  HARDWARE_CFG_CONTROL_PDIR |= HARDWARE_CFG_CONTROL_PIN; \
+  HARDWARE_CFG_INPUT_PDIR &= ~HARDWARE_CFG_INPUT_PIN;    \
+  HARDWARE_CFG_INPUT_PSEL |= HARDWARE_CFG_INPUT_PIN;     \
+  HARDWARE_CFG_SENSE_DISABLE();                          \
+}
+
+#define HARDWARE_CFG_SENSE_ENABLE()                         \
+{                                                           \
+  HARDWARE_CFG_CONTROL_POUT |= HARDWARE_CFG_CONTROL_PIN;    \
+}
+
+#define HARDWARE_CFG_SENSE_DISABLE()                        \
+{                                                           \
+  HARDWARE_CFG_CONTROL_POUT &= ~HARDWARE_CFG_CONTROL_PIN;   \
+}
+
+
+#define APPLE_SDA_PDIR ( P10DIR )
+#define APPLE_SDA_POUT ( P10OUT )
+#define APPLE_SDA_PIN  ( BIT1 )
+
+#define APPLE_SCL_PDIR ( P10DIR )
+#define APPLE_SCL_POUT ( P10OUT )
+#define APPLE_SCL_PIN  ( BIT2 )
+
+#define APPLE_POWER_PDIR ( P4DIR )
+#define APPLE_POWER_POUT ( P4OUT )
+#define APPLE_POWER_PIN  ( BIT5 )
+
+/* power enable is active low */
+#define APPLE_POWER_ENABLE()   { APPLE_POWER_POUT &= ~APPLE_POWER_PIN; }
+#define APPLE_POWER_DISABLE()  { APPLE_POWER_POUT |= APPLE_POWER_PIN; }
+
+#define APPLE_POWER_CONFIG()   { \
+  APPLE_POWER_PDIR |= APPLE_POWER_PIN; \
+  APPLE_POWER_DISABLE(); \
+}
+
+
+/* since the apple chip is currently not powered 
+ * the pins should be at 0 instead of 1
+ */
+#define APPLE_I2C_PIN_CONFIG() {    \
+  APPLE_SDA_PDIR |= APPLE_SDA_PIN;  \
+  APPLE_SDA_POUT &= ~APPLE_SDA_PIN; \
+  APPLE_SCL_PDIR |= APPLE_SCL_PIN;  \
+  APPLE_SCL_POUT &= ~APPLE_SCL_PIN; \
+}
+
+#define APPLE_CONFIG() {  \
+  APPLE_POWER_CONFIG();   \
+  APPLE_I2C_PIN_CONFIG(); \
+}
+#define SRAM_SCLK_PSEL ( P3SEL )
+#define SRAM_SCLK_PDIR ( P3DIR )
+#define SRAM_SCLK_POUT ( P3OUT )
+#define SRAM_SCLK_PIN  ( BIT0 )
+
+#define SRAM_SOMI_PSEL ( P3SEL )
+#define SRAM_SOMI_PDIR ( P3DIR )
+#define SRAM_SOMI_POUT ( P3OUT )
+#define SRAM_SOMI_PIN  ( BIT5 )
+
+#define SRAM_SIMO_PSEL ( P3SEL )
+#define SRAM_SIMO_PDIR ( P3DIR )
+#define SRAM_SIMO_POUT ( P3OUT )
+#define SRAM_SIMO_PIN  ( BIT4 )
+
+#define SRAM_CSN_PDIR ( P9DIR )
+#define SRAM_CSN_POUT ( P9OUT )
+#define SRAM_CSN_PIN  ( BIT6)
+
+#define SRAM_HOLDN_PDIR ( P9DIR )
+#define SRAM_HOLDN_POUT ( P9OUT )
+#define SRAM_HOLDN_PIN  ( BIT7 )
+
+#define CONFIG_SRAM_PINS() \
+{                                     \
+  SRAM_CSN_PDIR |= SRAM_CSN_PIN;      \
+  SRAM_CSN_POUT |= SRAM_CSN_PIN;      \
+  SRAM_HOLDN_PDIR |= SRAM_HOLDN_PIN;  \
+  SRAM_HOLDN_POUT |= SRAM_HOLDN_PIN;  \
+}
+
+#define SRAM_CSN_ASSERT() { SRAM_CSN_POUT &= ~SRAM_CSN_PIN; }
+
+#define SRAM_CSN_DEASSERT() { \
+  WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE(); \
+  SRAM_CSN_POUT |= SRAM_CSN_PIN; \
+}
+
+/* wait for shift to complete ( ~3 us ) */
+#define WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE() { while( (UCA0STAT & 0x01) != 0 ); }
+
+#define ACCELEROMETER_SDA_PIN  ( BIT7 )
+#define ACCELEROMETER_SDA_PSEL ( P3SEL )
+#define ACCELEROMETER_SDA_POUT ( P3OUT )
+#define ACCELEROMETER_SDA_PDIR ( P3OUT )
+#define ACCELEROMETER_SDA_PREN ( P1REN )
+
+#define ACCELEROMETER_SCL_PIN  ( BIT4 )
+#define ACCELEROMETER_SCL_PSEL ( P5SEL )
+#define ACCELEROMETER_SCL_POUT ( P5OUT )
+#define ACCELEROMETER_SCL_PDIR ( P5OUT )
+#define ACCELEROMETER_SCL_PREN ( P5REN )
+
+#define ACCELEROMETER_INT_PIN  ( BIT7 )
+#define ACCELEROMETER_INT_PDIR ( P1DIR )
+#define ACCELEROMETER_INT_PSEL ( P1SEL )
+#define ACCELEROMETER_INT_PIFG ( P1IFG )
+#define ACCELEROMETER_INT_PIE  ( P1IE )
+
+#define ACCELEROMETER_POWER_POUT ( P9OUT )
+#define ACCELEROMETER_POWER_PDIR ( P9DIR )
+#define ACCELEROMETER_POWER_PINS ( BIT1 | BIT2 )
+
+/* this is for reference only (it doesn't control anything) */
+#define ACCELEROMETER_INT_NUM (PIN7_INT)
+
+#define LED4_PIN ( BIT2 )
+#define LED5_PIN ( BIT3 )
+#define LED6_PIN ( BIT4 )
+#define LED7_PIN ( BIT5 )
+
+#define LEDS_PDIR ( P8DIR )
+#define LEDS_POUT ( P8OUT )
+
+#define LED4_ON() { LEDS_POUT |= LED4_PIN; }
+#define LED5_ON() { LEDS_POUT |= LED5_PIN; }
+#define LED6_ON() { LEDS_POUT |= LED6_PIN; }
+#define LED7_ON() { LEDS_POUT |= LED7_PIN; }
+
+#define LED4_OFF() { LEDS_POUT &= ~LED4_PIN; }
+#define LED5_OFF() { LEDS_POUT &= ~LED5_PIN; }
+#define LED6_OFF() { LEDS_POUT &= ~LED6_PIN; }
+#define LED7_OFF() { LEDS_POUT &= ~LED7_PIN; }
+
+#define LED4_TOGGLE() { LEDS_POUT ^= LED4_PIN; }
+#define LED5_TOGGLE() { LEDS_POUT ^= LED5_PIN; }
+#define LED6_TOGGLE() { LEDS_POUT ^= LED6_PIN; }
+#define LED7_TOGGLE() { LEDS_POUT ^= LED7_PIN; }
+
+#define CONFIG_LED_PINS() { \
+  LEDS_PDIR |= LED4_PIN | LED5_PIN | LED6_PIN | LED7_PIN; \
+  LED4_OFF(); LED5_OFF(); LED6_OFF(); LED7_OFF(); \
+}
+
+#define DEBUG1_PIN ( BIT1 )
+#define DEBUG3_PIN ( BIT4 )
+#define DEBUG4_PIN ( BIT7 )
+#define DEBUG5_PIN ( BIT6 )
+
+#define DEBUG1_PDIR ( P5DIR )
+#define DEBUG3_PDIR ( P7DIR )
+#define DEBUG4_PDIR ( P6DIR )
+#define DEBUG5_PDIR ( P7DIR )
+
+#define DEBUG1_POUT ( P5OUT )
+#define DEBUG3_POUT ( P7OUT )
+#define DEBUG4_POUT ( P6OUT )
+#define DEBUG5_POUT ( P7OUT )
+
+#define DEBUG1_HIGH() { DEBUG1_POUT |= DEBUG1_PIN; }
+#define DEBUG3_HIGH() { DEBUG3_POUT |= DEBUG3_PIN; }
+#define DEBUG4_HIGH() { DEBUG4_POUT |= DEBUG4_PIN; }
+#define DEBUG5_HIGH() { DEBUG5_POUT |= DEBUG5_PIN; }
+
+#define DEBUG1_LOW() { DEBUG1_POUT &= ~DEBUG1_PIN; }
+#define DEBUG3_LOW() { DEBUG3_POUT &= ~DEBUG3_PIN; }
+#define DEBUG4_LOW() { DEBUG4_POUT &= ~DEBUG4_PIN; }
+#define DEBUG5_LOW() { DEBUG5_POUT &= ~DEBUG5_PIN; }
+
+#define DEBUG1_PULSE() { DEBUG1_HIGH(); DEBUG1_LOW(); }
+#define DEBUG3_PULSE() { DEBUG3_HIGH(); DEBUG3_LOW(); }
+#define DEBUG4_PULSE() { DEBUG4_HIGH(); DEBUG4_LOW(); }
+#define DEBUG5_PULSE() { DEBUG5_HIGH(); DEBUG5_LOW(); }
+
+#define DEBUG1_TOGGLE() { DEBUG1_POUT ^= DEBUG1_PIN; }
+#define DEBUG3_TOGGLE() { DEBUG3_POUT ^= DEBUG3_PIN; }
+#define DEBUG4_TOGGLE() { DEBUG4_POUT ^= DEBUG4_PIN; }
+#define DEBUG5_TOGGLE() { DEBUG5_POUT ^= DEBUG5_PIN; }
+
+#define CONFIG_DEBUG_PINS() { \
+  DEBUG1_PDIR |= DEBUG1_PIN;  \
+  DEBUG3_PDIR |= DEBUG3_PIN;  \
+  DEBUG4_PDIR |= DEBUG4_PIN;  \
+  DEBUG5_PDIR |= DEBUG5_PIN;  \
+  DEBUG1_POUT &= ~DEBUG1_PIN; \
+  DEBUG3_POUT &= ~DEBUG3_PIN; \
+  DEBUG4_POUT &= ~DEBUG4_PIN; \
+  DEBUG5_POUT &= ~DEBUG5_PIN; \
+}
+
+
+
+/*
+ * Sideband signals (for lack of another word)
+ */
+#define BT_CLK_REQ_PDIR     ( P1DIR )
+#define BT_CLK_REQ_POUT     ( P1OUT )
+#define BT_CLK_REQ_PIN      ( BIT4 )
+
+#define BT_IO1_PDIR     ( P1DIR )
+#define BT_IO1_POUT     ( P1OUT )
+#define BT_IO1_PIN      ( BIT5 )
+
+#define BT_IO2_PDIR     ( P1DIR )
+#define BT_IO2_POUT     ( P1OUT )
+#define BT_IO2_PIN      ( BIT6 )
+
+/******************************************************************************/
+
+/* peripheral mapping for accelerometer */
+#define ACCELEROMETER_CTL0  ( UCB1CTL0 )
+#define ACCELEROMETER_CTL1  ( UCB1CTL1 )
+#define ACCELEROMETER_BR0   ( UCB1BR0 )
+#define ACCELEROMETER_BR1   ( UCB1BR1 )
+#define ACCELEROMETER_I2CSA ( UCB1I2CSA )
+#define ACCELEROMETER_IE    ( UCB1IE )
+#define ACCELEROMETER_IFG   ( UCB1IFG )
+#define ACCELEROMETER_TXBUF ( UCB1TXBUF )
+#define ACCELEROMETER_RXBUF ( UCB1RXBUF )
+#define ACCELEROMETER_STAT  ( UCB1STAT ) 
+/* interrupt mapping for accelerometer */
+#define USCI_ACCELEROMETER_VECTOR ( USCI_B1_VECTOR )
+#define USCI_ACCELEROMETER_IV     ( UCB1IV ) 
+
+
+
+
+#endif // HAL_DEVBOARD_V2_DEFS_H
+
+
+
+
+
diff --git a/metawatch/hal_digital_v2_defs.h b/metawatch/hal_digital_v2_defs.h
new file mode 100644 (file)
index 0000000..6b220ee
--- /dev/null
@@ -0,0 +1,615 @@
+//==============================================================================
+//  Copyright 2011 Meta Watch Ltd. - http://www.MetaWatch.org/
+// 
+//  Licensed under the Meta Watch License, Version 1.0 (the "License");
+//  you may not use this file except in compliance with the License.
+//  You may obtain a copy of the License at
+//  
+//      http://www.MetaWatch.org/licenses/license-1.0.html
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//==============================================================================
+
+/******************************************************************************/
+/*! \file hal_digital_v2_defs.h
+ *
+ * Pin and peripheral definitions for Digital Watch Version 2
+ */
+/******************************************************************************/
+
+#ifndef HAL_DIGITAL_V2_DEFS_H
+#define HAL_DIGITAL_V2_DEFS_H
+
+
+// Defines for the LCD display interface, single channel SPI output
+#define LCD_5V_PDIR P4DIR
+#define LCD_5V_POUT P4OUT
+#define LCD_5V_BIT  BIT0
+  
+#define ENABLE_LCD_POWER() { \
+  LCD_5V_PDIR |= LCD_5V_BIT; \
+  LCD_5V_POUT |= LCD_5V_BIT; \
+}
+
+#define DISABLE_LCD_POWER() { \
+  LCD_5V_PDIR |= LCD_5V_BIT; \
+  LCD_5V_POUT &= ~LCD_5V_BIT; \
+}
+
+#define LCD_ENABLE_PDIR ( P3DIR )
+#define LCD_ENABLE_POUT ( P3OUT )
+#define LCD_ENABLE_PIN  ( BIT6 )
+
+#define ENABLE_LCD_ENABLE() { \
+  LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \
+  LCD_ENABLE_POUT |= LCD_ENABLE_PIN; \
+}
+
+#define DISABLE_LCD_ENABLE() { \
+  LCD_ENABLE_PDIR |= LCD_ENABLE_PIN; \
+  LCD_ENABLE_POUT &= ~LCD_ENABLE_PIN; \
+}
+
+#define LCD_CS_PDIR ( P3DIR )
+#define LCD_CS_POUT ( P3OUT )
+#define LCD_CS_PIN  ( BIT2 )
+
+#define LCD_SPI_PORT_SEL ( P3SEL )
+#define LCD_SPI_SIMO_BIT ( BIT1 )
+#define LCD_SPI_CLK_BIT  ( BIT3 )
+
+#define LCD_CS_ASSERT()   { LCD_CS_POUT |= LCD_CS_PIN; }
+#define LCD_CS_DEASSERT() { LCD_CS_POUT &= ~LCD_CS_PIN; }
+
+/* unused in this version */
+#define SPECIAL_DMA_CONFIG() { }
+#define OLED_CS1N_ENABLE()   { }
+#define OLED_CS1N_DISABLE()  { }
+
+
+#define CONFIG_LCD_PINS() { \
+  LCD_SPI_PORT_SEL |= LCD_SPI_SIMO_BIT; \
+  LCD_SPI_PORT_SEL |= LCD_SPI_CLK_BIT;  \
+  ENABLE_LCD_ENABLE();                  \
+  LCD_CS_PDIR |= LCD_CS_PIN;            \
+  LCD_CS_DEASSERT();                    \
+}
+
+// labeled EL_EN on schematic
+#define LCD_LED_PDIR ( P4DIR )
+#define LCD_LED_POUT ( P4OUT )
+#define LCD_LED_PIN  ( BIT4 )
+
+#define DISABLE_LCD_LED() { \
+  LCD_LED_PDIR |= LCD_LED_PIN;  \
+  LCD_LED_POUT &= ~LCD_LED_PIN; \
+}
+
+#define ENABLE_LCD_LED() { \
+  LCD_LED_PDIR |= LCD_LED_PIN;  \
+  LCD_LED_POUT |= LCD_LED_PIN;  \
+}
+// Use UCB2 as the SPI port define the registers and interrupt vector to all be
+// for UCB2 by replacing the x in the last section of the name with a 2
+#define LCD_SPI_UCBxCTL0            UCB0CTL0          // Control register
+#define LCD_SPI_UCBxCTL1            UCB0CTL1          // Control register
+#define LCD_SPI_UCBxBR0             UCB0BR0           // Baudrate prescale
+#define LCD_SPI_UCBxBR1             UCB0BR1           // Baudrate divider
+
+#define LCD_SPI_UCBxTXBUF           UCB0TXBUF         // Transmit buffer
+#define LCD_SPI_UCBxRXBUF           UCB0RXBUF         // Receive buffer
+
+#define LCD_SPI_UCBxIE              UCB0IE            // Interrupt enable register
+#define LCD_SPI_UCBxIFG             UCB0IFG           // Interrupt flag register
+#define LCD_SPI_UCBxIV              UCB0IV            // Interrupt vector register
+#define LCD_SPI_UCBxSTAT            UCB0STAT          // status register
+
+#if 0
+// Definitions for the OLED Display
+// peripheral mapping for OLED
+#define OLED_I2C_CTL0  ( UCB0CTL0 )
+#define OLED_I2C_CTL1  ( UCB0CTL1 )
+#define OLED_I2C_BR0   ( UCB0BR0 )
+#define OLED_I2C_BR1   ( UCB0BR1 )
+#define OLED_I2C_I2CSA ( UCB0I2CSA )
+#define OLED_I2C_IE    ( UCB0IE )
+#define OLED_I2C_IFG   ( UCB0IFG )
+#define OLED_I2C_TXBUF ( UCB0TXBUF )
+#define OLED_I2C_RXBUF ( UCB0RXBUF )
+// interrupt mapping for OLED
+#define USCI_OLED_I2C_VECTOR ( USCI_B0_VECTOR )
+#define USCI_OLED_I2C_IV     ( UCB0IV ) 
+
+// OLED reset is active low
+#define OLED_RSTN_PDIR  ( P3DIR )
+#define OLED_RSTN_POUT  ( P3OUT )
+#define OLED_RSTN_PIN   ( BIT3  )
+
+#define OLED_RSTN_CONFIG()   { OLED_RSTN_PDIR |= OLED_RSTN_PIN; OLED_RSTN_ASSERT(); }
+#define OLED_RSTN_ASSERT()   { OLED_RSTN_POUT &= ~OLED_RSTN_PIN; }
+#define OLED_RSTN_DEASSERT() { OLED_RSTN_POUT |= OLED_RSTN_PIN; }
+
+#define OLED_CS1N_PDIR ( P8DIR )
+#define OLED_CS1N_POUT ( P8OUT )
+#define OLED_CS1N_PIN  ( BIT0 )
+
+#define OLED_CS1N_CONFIG()  { OLED_CS1N_PDIR |= OLED_CS1N_PIN; OLED_CS1N_DISABLE(); }
+#define OLED_CS1N_ENABLE()  { OLED_CS1N_POUT &= ~OLED_CS1N_PIN; }
+#define OLED_CS1N_DISABLE() { OLED_CS1N_POUT |= OLED_CS1N_PIN; }
+
+#define OLED_CS2N_PDIR ( P8DIR )
+#define OLED_CS2N_POUT ( P8OUT )
+#define OLED_CS2N_PIN  ( BIT1 )
+
+#define OLED_CS2N_CONFIG()  { OLED_CS2N_PDIR |= OLED_CS2N_PIN; OLED_CS2N_DISABLE(); }
+#define OLED_CS2N_ENABLE()  { OLED_CS2N_POUT &= ~OLED_CS2N_PIN; }
+#define OLED_CS2N_DISABLE() { OLED_CS2N_POUT |= OLED_CS2N_PIN; }
+
+#define OLED_SDA_PDIR ( P3DIR )
+#define OLED_SDA_POUT ( P3OUT )
+#define OLED_SDA_PIN  ( BIT1 )
+#define OLED_SDA_PSEL ( P3SEL)
+
+#define OLED_SCL_PDIR ( P3DIR )
+#define OLED_SCL_POUT ( P3OUT )
+#define OLED_SCL_PORT ( P3 )
+#define OLED_SCL_PIN  ( BIT2 )
+#define OLED_SCL_PSEL ( P3SEL )
+
+// the select line overrides the pdir and pout settings
+#define OLED_SDA_CONFIG_FOR_PERIPHERAL_USE() { OLED_SDA_PSEL |= OLED_SDA_PIN; }
+#define OLED_SCL_CONFIG_FOR_PERIPHERAL_USE() { OLED_SCL_PSEL |= OLED_SCL_PIN; }
+
+#define OLED_I2C_CONFIG_FOR_PERIPHERAL_USE() { \
+  OLED_SDA_CONFIG_FOR_PERIPHERAL_USE();        \
+  OLED_SCL_CONFIG_FOR_PERIPHERAL_USE(); }
+
+#define OLED_SDA_CONFIG_FOR_SLEEP() { \
+  OLED_SDA_PSEL &= ~OLED_SDA_PIN;     \
+  OLED_SDA_PDIR |= OLED_SDA_PIN;      \
+  OLED_SDA_POUT |= OLED_SDA_PIN; }
+
+#define OLED_SCL_CONFIG_FOR_SLEEP() { \
+  OLED_SCL_PSEL &= ~OLED_SCL_PIN;     \
+  OLED_SCL_PDIR |= OLED_SCL_PIN;      \
+  OLED_SCL_POUT |= OLED_SCL_PIN; }
+
+#define OLED_I2C_CONFIG_FOR_SLEEP() { \
+  OLED_SDA_CONFIG_FOR_SLEEP();        \
+  OLED_SCL_CONFIG_FOR_SLEEP(); }
+
+#define OLED_POWER_ENABLE_PIN  ( BIT0 )
+#define OLED_POWER_ENABLE_POUT ( P4OUT )
+#define OLED_POWER_ENABLE_PDIR ( P4DIR )
+#define OLED_POWER_CONFIG()    { P4DIR |= OLED_POWER_ENABLE_PIN; OLED_POWER_DISABLE(); }
+#define OLED_POWER_ENABLE()    { P4OUT |= OLED_POWER_ENABLE_PIN; }
+#define OLED_POWER_DISABLE()   { P4OUT &= ~OLED_POWER_ENABLE_PIN; }
+
+// VLED_EN is active low
+#define OLED_IO_POWER_ENABLE_PIN  ( BIT3 )
+#define OLED_IO_POWER_ENABLE_POUT ( P5OUT )
+#define OLED_IO_POWER_ENABLE_PDIR ( P5DIR )
+#define OLED_IO_POWER_CONFIG()    { P5DIR |= OLED_IO_POWER_ENABLE_PIN; OLED_IO_POWER_DISABLE(); }
+#define OLED_IO_POWER_ENABLE()    { P5OUT &= ~OLED_IO_POWER_ENABLE_PIN; }
+#define OLED_IO_POWER_DISABLE()   { P5OUT |= OLED_IO_POWER_ENABLE_PIN; }
+
+
+
+
+
+
+#endif // OLED
+
+#define CONFIG_OLED_PINS() { }
+
+
+// Real time clock defines
+// RTC 1 Hz output, also used to toggle the bias on the LCD
+#define RTC_1HZ_PORT_DIR  ( P2DIR )
+#define RTC_1HZ_PORT_SEL  ( P2SEL )
+#define RTC_1HZ_BIT       ( BIT4 )
+
+
+// Button defines
+
+#define BUTTON_TIME_COUNT_ARRAY_LEN  8
+#define ALL_BUTTONS_OFF              0xFF
+
+#define SW_A  BIT0
+#define SW_B  BIT1
+#define SW_C  BIT2
+#define SW_D  BIT3
+// Bit 4 is not used
+#define SW_E  BIT5
+#define SW_F  BIT6
+#define SW_P  BIT7
+
+#define SW_A_INDEX        ( 0 )
+#define SW_B_INDEX        ( 1 )
+#define SW_C_INDEX        ( 2 )
+#define SW_D_INDEX        ( 3 )
+#define SW_UNUSED_INDEX   ( 4 )
+#define SW_E_INDEX        ( 5 )
+#define SW_F_INDEX        ( 6 )
+#define SW_P_INDEX        ( 7 )
+/* the switch does not count */
+#define TOTAL_BTN_NUM     ( 7 )
+
+#ifdef ANALOG
+  #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F | SW_P)
+#elif defined(DIGITAL)
+  #define ALL_BUTTONS (SW_A | SW_B | SW_C | SW_D | SW_E | SW_F)
+#endif
+
+// The digital watch version 1 has 1 Meg pull downs
+// so the code below wont work
+#define RESISTOR_ENABLE_BUTTONS  ALL_BUTTONS
+
+// Setting the edge select bit high generates and interrupt on the falling edge
+#define INT_EDGE_SEL_BUTTONS     (ALL_BUTTONS)
+
+#define BUTTON_PORT_VECTOR PORT2_VECTOR
+#define BUTTON_PORT_DIR    P2DIR
+#define BUTTON_PORT_SEL    P2SEL
+#define BUTTON_PORT_OUT    P2OUT
+#define BUTTON_PORT_REN    P2REN
+#define BUTTON_PORT_IE     P2IE
+#define BUTTON_PORT_IES    P2IES
+#define BUTTON_PORT_IFG    P2IFG
+
+#define DISABLE_BUTTONS() { \
+  BUTTON_PORT_IE  &= ~INT_EDGE_SEL_BUTTONS; \
+  BUTTON_PORT_REN &= ~ALL_BUTTONS;          \
+  BUTTON_PORT_OUT &= ~ALL_BUTTONS;          \
+}
+
+/* SHIPPING */ 
+/* S5 or SW_E is the button that takes the watch out of shipping mode */
+#define ENABLE_SHIPPING_WAKEUP() { \
+  P1IE = 0x00;                              \
+  PMMCTL0_H = 0xA5;                         \
+  PMMRIE = 0x0000;                          \
+  RTCPS0CTL = 0x0000;                       \
+  RTCPS1CTL = 0x0000;                       \
+  UCSCTL8 = 0x0700;                         \
+  BUTTON_PORT_REN = SW_E;                   \
+  BUTTON_PORT_OUT = SW_E;                   \
+  BUTTON_PORT_DIR &= ~SW_E;                 \
+  BUTTON_PORT_IES |=   SW_E;                \
+  BUTTON_PORT_IFG  =   0x00;                \
+  BUTTON_PORT_IE  |=   SW_E;                \
+}
+
+// NOTE the the buttons are grounded. That means that we want to invert the bits
+// when reading the port to have positive logic where a button press is a "1"
+#define BUTTON_PORT_IN     ~P2IN
+
+// Configure the hardware port for the button support P2.4 is excluded
+#define CONFIGURE_BUTTON_PINS() { \
+  BUTTON_PORT_REN = (unsigned char) RESISTOR_ENABLE_BUTTONS; \
+  BUTTON_PORT_OUT = (unsigned char) ALL_BUTTONS;             \
+  BUTTON_PORT_DIR &= (unsigned char) ~ALL_BUTTONS;           \
+  BUTTON_PORT_IES |=   INT_EDGE_SEL_BUTTONS;         \
+  BUTTON_PORT_IFG &=  ~ALL_BUTTONS;                  \
+  BUTTON_PORT_IE  |=   ALL_BUTTONS;                  \
+}
+
+
+// Battery charger control for a BQ24080
+#define BAT_CHARGE_DIR        P6DIR
+#define BAT_CHARGE_REN        P6REN
+#define BAT_CHARGE_OUT        P6OUT
+#define BAT_CHARGE_IN         P6IN
+
+#define BAT_CHARGE_ENABLE_PIN  BIT2
+#define BAT_CHARGE_STAT1       BIT3
+#define BAT_CHARGE_STAT2       BIT4
+#define BAT_CHARGE_PWR_BIT     BIT5
+
+// Enable charging, asserted low
+#define BATTERY_CHARGE_ENABLE()   { BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN; }
+
+// disable charging, sleep the part
+#define BATTERY_CHARGE_DISABLE()  { BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN; }
+
+
+//
+// Ambient Light Sensor
+//
+#define GC1_PDIR ( P6DIR )
+#define GC1_POUT ( P6OUT )
+#define GC1_PSEL ( P6SEL )
+#define GC1_PIN  ( BIT0 )
+
+#define GC2_PDIR ( P6DIR )
+#define GC2_POUT ( P6OUT )
+#define GC2_PSEL ( P6SEL )
+#define GC2_PIN  ( BIT6 )
+
+#define IOUT_PDIR ( P6DIR )
+#define IOUT_PSEL ( P6SEL )
+#define IOUT_PIN  ( BIT1 )
+
+#define LIGHT_SENSE_INIT()                     \
+{                                              \
+  IOUT_PDIR &= ~IOUT_PIN;                      \
+  IOUT_PSEL |= IOUT_PIN;                       \
+  GC1_PDIR  |= GC1_PIN;                        \
+  GC2_PDIR  |= GC2_PIN;                        \
+  LIGHT_SENSE_DISABLE();                       \
+}
+
+#define LIGHT_SENSOR_SHUTDOWN() \
+{                               \
+  GC1_POUT &= ~GC1_PIN;         \
+  GC2_POUT &= ~GC2_PIN;         \
+}
+
+#define LIGHT_SENSOR_L_GAIN() \
+{                             \
+  GC1_POUT |= GC1_PIN;        \
+  GC2_POUT |= GC2_PIN;        \
+}
+
+#define LIGHT_SENSE_ENABLE()\
+{                           \
+  LIGHT_SENSOR_L_GAIN();    \
+}
+
+#define LIGHT_SENSE_DISABLE() \
+{                             \
+  LIGHT_SENSOR_SHUTDOWN();    \
+}
+
+
+
+//
+// This pin controls if the battery voltage can be read
+//
+#define BATTERY_READ_CONTROL_PDIR ( P4DIR )
+#define BATTERY_READ_CONTROL_POUT ( P4OUT )
+#define BATTERY_READ_CONTROL_PIN  ( BIT6 )
+
+#define BATTERY_SENSE_INPUT_PDIR ( P7DIR )
+#define BATTERY_SENSE_INPUT_PSEL ( P7SEL )
+#define BATTERY_SENSE_INPUT_PIN  ( BIT7 )
+
+#define BATTERY_SENSE_INIT()                             \
+{                                                        \
+  BATTERY_READ_CONTROL_PDIR |= BATTERY_READ_CONTROL_PIN; \
+  BATTERY_SENSE_INPUT_PDIR &= ~BATTERY_SENSE_INPUT_PIN;  \
+  BATTERY_SENSE_INPUT_PSEL |= BATTERY_SENSE_INPUT_PIN;   \
+  BATTERY_SENSE_DISABLE();                               \
+}
+
+#define BATTERY_SENSE_ENABLE() \
+{                                                        \
+  BATTERY_READ_CONTROL_POUT |= BATTERY_READ_CONTROL_PIN; \
+}
+
+#define BATTERY_SENSE_DISABLE() \
+{                                                         \
+  BATTERY_READ_CONTROL_POUT &= ~BATTERY_READ_CONTROL_PIN; \
+}
+
+//
+// hardware configuration is a voltage divider to ADC input
+//
+#define HARDWARE_CFG_CONTROL_PDIR ( P8DIR )
+#define HARDWARE_CFG_CONTROL_POUT ( P8OUT )
+#define HARDWARE_CFG_CONTROL_PIN  ( BIT2 )
+
+#define HARDWARE_CFG_INPUT_PDIR ( P7DIR )
+#define HARDWARE_CFG_INPUT_PSEL ( P7SEL )
+#define HARDWARE_CFG_INPUT_PIN  ( BIT5 )
+
+#define HARDWARE_CFG_SENSE_INIT()                        \
+{                                                        \
+  HARDWARE_CFG_CONTROL_PDIR |= HARDWARE_CFG_CONTROL_PIN; \
+  HARDWARE_CFG_INPUT_PDIR &= ~HARDWARE_CFG_INPUT_PIN;    \
+  HARDWARE_CFG_INPUT_PSEL |= HARDWARE_CFG_INPUT_PIN;     \
+  HARDWARE_CFG_SENSE_DISABLE();                          \
+}
+
+#define HARDWARE_CFG_SENSE_ENABLE()                         \
+{                                                           \
+  HARDWARE_CFG_CONTROL_POUT |= HARDWARE_CFG_CONTROL_PIN;    \
+}
+
+#define HARDWARE_CFG_SENSE_DISABLE()                        \
+{                                                           \
+  HARDWARE_CFG_CONTROL_POUT &= ~HARDWARE_CFG_CONTROL_PIN;   \
+}
+
+
+#define APPLE_SDA_PDIR ( P10DIR )
+#define APPLE_SDA_POUT ( P10OUT )
+#define APPLE_SDA_PIN  ( BIT1 )
+
+#define APPLE_SCL_PDIR ( P10DIR )
+#define APPLE_SCL_POUT ( P10OUT )
+#define APPLE_SCL_PIN  ( BIT2 )
+
+#define APPLE_POWER_PDIR ( P4DIR )
+#define APPLE_POWER_POUT ( P4OUT )
+#define APPLE_POWER_PIN  ( BIT5 )
+
+/* power enable is active low */
+#define APPLE_POWER_ENABLE()   { APPLE_POWER_POUT &= ~APPLE_POWER_PIN; }
+#define APPLE_POWER_DISABLE()  { APPLE_POWER_POUT |= APPLE_POWER_PIN; }
+
+#define APPLE_POWER_CONFIG()   { \
+  APPLE_POWER_PDIR |= APPLE_POWER_PIN; \
+  APPLE_POWER_DISABLE(); \
+}
+
+
+/* since the apple chip is currently not powered 
+ * the pins should be at 0 instead of 1
+ */
+#define APPLE_I2C_PIN_CONFIG() {    \
+  APPLE_SDA_PDIR |= APPLE_SDA_PIN;  \
+  APPLE_SDA_POUT &= ~APPLE_SDA_PIN; \
+  APPLE_SCL_PDIR |= APPLE_SCL_PIN;  \
+  APPLE_SCL_POUT &= ~APPLE_SCL_PIN; \
+}
+
+#define APPLE_CONFIG() {  \
+  APPLE_POWER_CONFIG();   \
+  APPLE_I2C_PIN_CONFIG(); \
+}
+
+#define SRAM_SCLK_PSEL ( P3SEL )
+#define SRAM_SCLK_PDIR ( P3DIR )
+#define SRAM_SCLK_POUT ( P3OUT )
+#define SRAM_SCLK_PIN  ( BIT0 )
+
+#define SRAM_SOMI_PSEL ( P3SEL )
+#define SRAM_SOMI_PDIR ( P3DIR )
+#define SRAM_SOMI_POUT ( P3OUT )
+#define SRAM_SOMI_PIN  ( BIT5 )
+
+#define SRAM_SIMO_PSEL ( P3SEL )
+#define SRAM_SIMO_PDIR ( P3DIR )
+#define SRAM_SIMO_POUT ( P3OUT )
+#define SRAM_SIMO_PIN  ( BIT4 )
+
+#define SRAM_CSN_PDIR ( P9DIR )
+#define SRAM_CSN_POUT ( P9OUT )
+#define SRAM_CSN_PIN  ( BIT6)
+
+#define SRAM_HOLDN_PDIR ( P9DIR )
+#define SRAM_HOLDN_POUT ( P9OUT )
+#define SRAM_HOLDN_PIN  ( BIT7 )
+
+#define CONFIG_SRAM_PINS() \
+{                                     \
+  SRAM_CSN_PDIR |= SRAM_CSN_PIN;      \
+  SRAM_CSN_POUT |= SRAM_CSN_PIN;      \
+  SRAM_HOLDN_PDIR |= SRAM_HOLDN_PIN;  \
+  SRAM_HOLDN_POUT |= SRAM_HOLDN_PIN;  \
+}
+
+#define SRAM_CSN_ASSERT() { SRAM_CSN_POUT &= ~SRAM_CSN_PIN; }
+
+#define SRAM_CSN_DEASSERT() { \
+  WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE(); \
+  SRAM_CSN_POUT |= SRAM_CSN_PIN; \
+}
+
+/* wait for shift to complete ( ~3 us ) */
+#define WAIT_FOR_SRAM_SPI_SHIFT_COMPLETE() { while( (UCA0STAT & 0x01) != 0 ); }
+
+#define ACCELEROMETER_SDA_PIN  ( BIT7 )
+#define ACCELEROMETER_SDA_PSEL ( P3SEL )
+#define ACCELEROMETER_SDA_POUT ( P3OUT )
+#define ACCELEROMETER_SDA_PDIR ( P3OUT )
+#define ACCELEROMETER_SDA_PREN ( P1REN )
+
+#define ACCELEROMETER_SCL_PIN  ( BIT4 )
+#define ACCELEROMETER_SCL_PSEL ( P5SEL )
+#define ACCELEROMETER_SCL_POUT ( P5OUT )
+#define ACCELEROMETER_SCL_PDIR ( P5OUT )
+#define ACCELEROMETER_SCL_PREN ( P5REN )
+
+#define ACCELEROMETER_INT_PIN  ( BIT7 )
+#define ACCELEROMETER_INT_PDIR ( P1DIR )
+#define ACCELEROMETER_INT_PSEL ( P1SEL )
+#define ACCELEROMETER_INT_PIFG ( P1IFG )
+#define ACCELEROMETER_INT_PIE  ( P1IE )
+
+#define ACCELEROMETER_POWER_POUT ( P9OUT )
+#define ACCELEROMETER_POWER_PDIR ( P9DIR )
+#define ACCELEROMETER_POWER_PINS ( BIT1 | BIT2 )
+
+/* this is for reference only (it doesn't control anything) */
+#define ACCELEROMETER_INT_NUM (PIN7_INT)
+
+#define LED4_ON() { }
+#define LED5_ON() { }
+#define LED6_ON() { }
+#define LED7_ON() { }
+
+#define LED4_OFF() {  }
+#define LED5_OFF() {  }
+#define LED6_OFF() {  }
+#define LED7_OFF() {  }
+
+#define CONFIG_LED_PINS() { }
+
+
+
+#define DEBUG1_HIGH() {  }
+#define DEBUG3_HIGH() {  }
+#define DEBUG4_HIGH() {  }
+#define DEBUG5_HIGH() { }
+
+#define DEBUG1_LOW() {  }
+#define DEBUG3_LOW() { }
+#define DEBUG4_LOW() { }
+#define DEBUG5_LOW() { }
+
+#define DEBUG1_PULSE() { }
+#define DEBUG3_PULSE() { }
+#define DEBUG4_PULSE() { }
+#define DEBUG5_PULSE() { }
+
+#define DEBUG1_TOGGLE() { }
+#define DEBUG3_TOGGLE() { }
+#define DEBUG4_TOGGLE() { }
+#define DEBUG5_TOGGLE() { }
+
+#define CONFIG_DEBUG_PINS() { }
+
+/*
+ * Sideband signals (for lack of another word)
+ */
+#define BT_CLK_REQ_PDIR     ( P1DIR )
+#define BT_CLK_REQ_POUT     ( P1OUT )
+#define BT_CLK_REQ_PIN      ( BIT4 )
+
+#define BT_IO1_PDIR     ( P1DIR )
+#define BT_IO1_POUT     ( P1OUT )
+#define BT_IO1_PIN      ( BIT5 )
+
+#define BT_IO2_PDIR     ( P1DIR )
+#define BT_IO2_POUT     ( P1OUT )
+#define BT_IO2_PIN      ( BIT6 )
+
+/******************************************************************************/
+
+/* peripheral mapping for accelerometer */
+#define ACCELEROMETER_CTL0  ( UCB1CTL0 )
+#define ACCELEROMETER_CTL1  ( UCB1CTL1 )
+#define ACCELEROMETER_BR0   ( UCB1BR0 )
+#define ACCELEROMETER_BR1   ( UCB1BR1 )
+#define ACCELEROMETER_I2CSA ( UCB1I2CSA )
+#define ACCELEROMETER_IE    ( UCB1IE )
+#define ACCELEROMETER_IFG   ( UCB1IFG )
+#define ACCELEROMETER_TXBUF ( UCB1TXBUF )
+#define ACCELEROMETER_RXBUF ( UCB1RXBUF )
+#define ACCELEROMETER_STAT  ( UCB1STAT )
+/* interrupt mapping for accelerometer */
+#define USCI_ACCELEROMETER_VECTOR ( USCI_B1_VECTOR )
+#define USCI_ACCELEROMETER_IV     ( UCB1IV ) 
+
+/******************************************************************************/
+
+/* IN1 on mux */
+#define MUX_CONTROL1_PDIR ( P10DIR )
+#define MUX_CONTROL1_POUT ( P10OUT )
+#define MUX_CONTROL1_PIN  ( BIT7 )
+
+#define MUX_CONTROL2_PDIR ( P10DIR )
+#define MUX_CONTROL2_POUT ( P10OUT )
+#define MUX_CONTROL2_PIN  ( BIT6 )
+
+
+#endif // HAL_DIGITAL_V2_DEFS_H
+
+
+
diff --git a/metawatch/hal_io_macros.h b/metawatch/hal_io_macros.h
new file mode 100644 (file)
index 0000000..861817f
--- /dev/null
@@ -0,0 +1,116 @@
+//==============================================================================
+//  Copyright Meta Watch Ltd. - http://www.MetaWatch.org/
+// 
+//  Licensed under the Meta Watch License, Version 1.0 (the "License");
+//  you may not use this file except in compliance with the License.
+//  You may obtain a copy of the License at
+//  
+//      http://www.MetaWatch.org/licenses/license-1.0.html
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//==============================================================================
+
+/******************************************************************************/
+/*! \file hal_io_macros.c
+ *
+ * Separate the pin definitions for each board type from the macros
+ *
+ */
+/******************************************************************************/
+
+#ifndef HAL_IO_MACROS
+#define HAL_IO_MACROS
+
+/******************************************************************************/
+
+#define BT_CLK_REQ_CONIFIG_AS_INPUT() { \
+  BT_CLK_REQ_PDIR &= ~BT_CLK_REQ_PIN; \
+}
+
+#define BT_CLK_REQ_CONFIG_AS_OUTPUT_LOW() { \
+  BT_CLK_REQ_PDIR |= BT_CLK_REQ_PIN; \
+  BT_CLK_REQ_POUT &= ~BT_CLK_REQ_PIN; \
+}
+
+#define BT_IO1_CONFIG_AS_INPUT() { \
+  BT_IO1_PDIR &= ~BT_IO1_PIN; }
+
+#define BT_IO1_CONFIG_AS_OUTPUT_LOW() { \
+  BT_IO1_PDIR |= BT_IO1_PIN;  \
+  BT_IO1_POUT &= ~BT_IO1_PIN; \
+}
+
+#define BT_IO2_CONFIG_AS_INPUT() { \
+  BT_IO2_PDIR &= ~BT_IO2_PIN; \
+}
+
+#define BT_IO2_CONFIG_AS_OUTPUT_LOW() { \
+  BT_IO2_PDIR |= BT_IO2_PIN; \
+  BT_IO2_POUT &= ~BT_IO2_PIN; }
+
+/******************************************************************************/
+
+#define ACCELEROMETER_INT_ENABLE() { \
+  ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN;   \
+  ACCELEROMETER_INT_PIE |= ACCELEROMETER_INT_PIN;     \
+}
+
+#define ACCELEROMETER_INT_DISABLE() { \
+  ACCELEROMETER_INT_PIE &= ~ACCELEROMETER_INT_PIN;     \
+  ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN;    \
+}
+
+#define CONFIG_ACCELEROMETER_PINS() { \
+  ACCELEROMETER_SDA_PSEL |= ACCELEROMETER_SDA_PIN;  \
+  ACCELEROMETER_SCL_PSEL |= ACCELEROMETER_SCL_PIN;  \
+  ACCELEROMETER_INT_PDIR &= ~ACCELEROMETER_INT_PIN; \
+}
+
+/* only configuration 5 and later boards support turning on/off the power
+ * to the accelerometer
+ */
+#define ENABLE_ACCELEROMETER_POWER() { \
+  ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS; \
+  ACCELEROMETER_POWER_POUT |= ACCELEROMETER_POWER_PINS; \
+}
+
+#define DISABLE_ACCELEROMETER_POWER() { \
+  ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS;  \
+  ACCELEROMETER_POWER_POUT &= ~ACCELEROMETER_POWER_PINS; \
+}
+
+/******************************************************************************/
+
+#define ENABLE_MUX_OUTPUT_CONTROL() {    \
+  MUX_CONTROL1_PDIR |= MUX_CONTROL1_PIN; \
+  MUX_CONTROL2_PDIR |= MUX_CONTROL2_PIN; \
+}
+
+#define MUX_OUTPUT_OFF() {    \
+  MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \
+  MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \
+}
+
+#define MUX_OUTPUT_SELECTS_SERIAL() {    \
+  MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \
+  MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \
+}
+
+#define MUX_OUTPUT_SELECTS_GND() {    \
+  MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \
+  MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \
+}
+
+#define MUX_OUTPUT_SELECTS_SPY() {    \
+  MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \
+  MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \
+}
+
+
+/******************************************************************************/
+
+#endif /* HAL_IO_MACROS */
diff --git a/metawatch/mw_adc.c b/metawatch/mw_adc.c
new file mode 100644 (file)
index 0000000..4850126
--- /dev/null
@@ -0,0 +1,83 @@
+#include <msp430.h>
+#include <msp430xgeneric.h>
+#include <stdint.h>
+
+#include "mw_main.h"
+
+#define HARDWARE_CFG_INPUT_CHANNEL  ( ADC12INCH_13 )
+#define BATTERY_SENSE_INPUT_CHANNEL ( ADC12INCH_15 )
+#define LIGHT_SENSE_INPUT_CHANNEL   ( ADC12INCH_1 )
+
+#define ENABLE_ADC()           { ADC12CTL0 |= ADC12ON; ADC12CTL0 |= ADC12ENC + ADC12SC; }
+#define DISABLE_ADC()          { ADC12CTL0 &= ~ADC12ENC; ADC12CTL0 &= ~ADC12ON; }
+#define CLEAR_START_ADDR()     { ADC12CTL1 &= 0x0FFF; }
+
+const double CONVERSION_FACTOR_BATTERY = ((24300.0+38300.0)*2.5*1000.0)/(4095.0*24300.0);
+#define BATTERY_FULL_LEVEL             (4140)
+#define BATTERY_CRITICAL_LEVEL         (3300)
+#define BATTERY_LEVEL_RANGE            (BATTERY_FULL_LEVEL - BATTERY_CRITICAL_LEVEL)
+
+/*! conversion factor */
+const double CONVERSION_FACTOR =  2.5*10000.0/4096.0;
+
+
+void mw_init_adc(void)
+{
+       REFCTL0 = REFMSTR | REFTCOFF; 
+
+       LIGHT_SENSE_INIT();
+       BATTERY_SENSE_INIT();
+       HARDWARE_CFG_SENSE_INIT();
+       /* allow conditional request for modosc */
+       UCSCTL8 |= MODOSCREQEN;
+
+       /* select ADC12SC bit as sample and hold source (00) 
+        * and use pulse mode
+        * use modosc / 8 because frequency must be 0.45 MHz to 2.7 MHz (0.625 MHz)
+        */
+       ADC12CTL1 = ADC12CSTARTADD_0 + ADC12SHP + ADC12SSEL_0 + ADC12DIV_7; 
+
+       /* 12 bit resolution, only use reference when doing a conversion */
+       ADC12CTL2 = ADC12TCOFF + ADC12RES_2 + ADC12REFBURST;
+
+       /* setup input channels */
+       ADC12MCTL0 = HARDWARE_CFG_INPUT_CHANNEL + ADC12EOS;
+       ADC12MCTL1 = BATTERY_SENSE_INPUT_CHANNEL + ADC12EOS;
+       ADC12MCTL2 = LIGHT_SENSE_INPUT_CHANNEL + ADC12EOS;
+}
+
+unsigned int mw_get_battery_adc_val(void)
+{ 
+       BATTERY_SENSE_ENABLE();
+
+       /* low_bat_en assertion to bat_sense valid is ~100 ns */
+       /* Start battery sense conversion */
+       CLEAR_START_ADDR();
+       ADC12CTL1 |= ADC12CSTARTADD_1;
+       ENABLE_ADC();
+
+       /* WaitForAdcBusy(); */
+       while (ADC12CTL1 & ADC12BUSY);
+
+       /* Convert the ADC count for the battery input into a voltage 
+        * ADC12MEM1: Counts Battery Voltage in ADC counts
+        * Result: Battery voltage in millivolts */
+       BATTERY_SENSE_DISABLE();
+
+       return (unsigned int)(CONVERSION_FACTOR_BATTERY * (double)ADC12MEM1);  
+}
+
+unsigned char mw_get_battery_percentage_from_val(unsigned int BattVal)
+{
+       if (BattVal > BATTERY_FULL_LEVEL)
+               BattVal = BATTERY_FULL_LEVEL;
+       if (BattVal < BATTERY_CRITICAL_LEVEL)
+               BattVal = 0;
+       else
+               BattVal -= BATTERY_CRITICAL_LEVEL;
+       BattVal = (BattVal > 0) ? (BattVal * 10 / (BATTERY_LEVEL_RANGE / 10)) : 0;
+
+       return (unsigned char)BattVal;
+}
+
diff --git a/metawatch/mw_adc.h b/metawatch/mw_adc.h
new file mode 100644 (file)
index 0000000..20db9c1
--- /dev/null
@@ -0,0 +1,9 @@
+#ifndef _MW_ADC_H
+#define _MW_ADC_H
+
+void mw_init_adc(void);
+unsigned int mw_get_battery_adc_val(void);
+unsigned char mw_get_battery_percentage_from_val(unsigned int BatVal);
+
+#endif
+
diff --git a/metawatch/mw_bt.c b/metawatch/mw_bt.c
new file mode 100644 (file)
index 0000000..7cb24e1
--- /dev/null
@@ -0,0 +1,228 @@
+#include <msp430.h>
+#include <msp430xgeneric.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "mw_main.h"
+
+#include "mw_uart.h"
+#include "mw_bt.h"
+#include "bt_hci.h"
+#include "bt_l2cap.h"
+
+#include "bluetooth_init_cc256x.h"
+
+
+static char bt_rx_buf[BT_RX_MAX_SIZE];
+static unsigned char bt_rx_buf_wpos = 0;
+static unsigned char bt_rx_buf_rpos = 0;
+static uint8_t mw_bt_enabled = 0;
+
+const unsigned char *mw_bt_get_rx_buf(unsigned char **rpos, unsigned char *len)
+{
+       *rpos = &bt_rx_buf_rpos;
+       if (bt_rx_buf_rpos > bt_rx_buf_wpos)
+               *len = (BT_RX_MAX_SIZE - bt_rx_buf_rpos) + bt_rx_buf_wpos;
+       else
+               *len = bt_rx_buf_wpos - bt_rx_buf_rpos;
+
+       if (*len > (BT_RX_MAX_SIZE-(BT_RX_MAX_SIZE/10)))
+               BT_IO_POUT |= BT_IO_RTS; // low == ready, high == !ready
+
+       return (unsigned char *)bt_rx_buf;
+}
+
+#pragma vector=USCI_A1_VECTOR
+__interrupt void UCA1_ISR (void)
+{
+       switch (UCA1IV) {
+               case 2: // RXIFG
+                       /* wake up to handle the received char */
+                       LPM3_EXIT;
+                       bt_rx_buf[bt_rx_buf_wpos++] = UCA1RXBUF;
+                       /* clear IRQ flag */
+                       UCA1IFG  &= ~UCRXIFG;
+                       bt_rx_buf_wpos %= BT_RX_MAX_SIZE;
+                       _event_src |= BT_UART_RCV_EVENT;
+                       break;
+               case 4: // TXIFG
+                       break;
+               default:
+                       break;
+       };
+}
+
+void mw_init_bt_uart(const bt_uart_baud_t baud)
+{
+       UCA1CTL1 = UCSWRST;
+       UCA1CTL1 |= UCSSEL__SMCLK;
+       switch (baud) {
+               case BT_UART_BD115200:
+               default:
+                       UCA1BR0 = 138;
+                       UCA1MCTL = UCBRS_7 + UCBRF_0;
+               break;
+       };
+       UCA1STAT = 0;
+       UCA1CTL0 = UCMODE_0;    // UART mode
+       UCA1CTL0 &= ~UC7BIT;    // 8bit char
+
+       UCA1CTL1 &= ~UCSWRST;
+       /* clear interrup flags */
+       UCA1IFG = 0;
+       UCA1IE = UCRXIE;
+}
+
+#if 0 // Does never finish, presumably trigger does not trigger, unknown :(
+void mw_bt_uart_tx(const void *buf, const unsigned int len)
+{
+       UCA1IE &= UCTXIE;
+
+       DMACTL0 = DMA0TSEL_21;
+
+       DMA0DA  = (unsigned int) &UCA1TXBUF;
+       DMA0SA  = (uint32_t) buf;
+       DMA0SZ  = len;
+
+       //DMA0CTL = 0x03F0;
+       DMA0CTL = DMADT_1 | DMASRCINCR_3 | DMASBDB | DMALEVEL | DMAIE;
+       UCA1IFG &= ~UCTXIFG;
+       DMA0CTL |= DMAEN;
+
+       while ((DMA0CTL & DMAIFG) == 0 && (DMA0CTL & DMAABORT) == 0)
+               nop();
+}
+#else
+void mw_bt_uart_tx(const void *buf, const unsigned int len)
+{
+       unsigned int pos;
+       // char txstr[8];
+
+       pos = 0;
+       // debug_uart_tx("BT tx: ");
+       while (pos < len) {
+               while ((BT_IO_PIN & BT_IO_CTS)) // wait for CTS to go low
+                       nop();
+
+               UCA1TXBUF = *(unsigned char *) (buf+pos);
+               // debug_uart_tx_char(*(unsigned char *) (buf+pos));
+               // snprintf(txstr, 8, "0x%02x ", *(unsigned char *) (buf+pos));
+               // debug_uart_tx(txstr);
+               pos++;
+               while ((UCA1IFG & UCTXIFG) == 0)
+                       nop();
+       }
+       while (UCA1STAT & UCBUSY)
+               nop();
+       // debug_uart_tx("\n");
+}
+#endif
+
+static void load_cc256x_init_script(void)
+{
+       uint32_t pos;
+       unsigned char *tptr;
+
+       pos = 0;
+       while (pos < cc256x_init_script_size) {
+               if (_event_src != 0)
+                       handle_event();
+               tptr = (unsigned char *)(cc256x_init_script + pos);
+               mw_bt_uart_tx(tptr, 4 + tptr[3]);
+               pos += 4 + tptr[3];
+               // each init script part is one HCI command so wait for reply
+               if (_event_src != 0)
+                       handle_event();
+       }
+}
+
+void mw_enable_bt(void)
+{
+       int i;
+
+       /* make sure it resets */
+       BT_SHUTDOWN();
+
+       /* enable 32kHz ACLK output to BT module */
+       P11DIR |= BIT0;
+       P11SEL |= BIT0;
+
+       // wait for clock to stabilize
+       __delay_cycles(16000);
+
+       BT_IO_PDIR &= ~(BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ);
+       BT_IO_PDIR |= BT_IO_RTS;
+       BT_IO_POUT &= ~(BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ);
+       BT_IO_POUT &= ~BT_IO_RTS; // low == ready, high == !ready
+
+       /* setup UART pins */
+       BT_UART_PSEL |= BT_UART_TX_PIN | BT_UART_RX_PIN;
+       // P5OUT |= BT_UART_TX_PIN | BT_UART_RX_PIN;
+       // P5REN |= BT_UART_TX_PIN | BT_UART_RX_PIN;
+
+       mw_init_bt_uart(BT_UART_BD115200);
+
+       /* release BT reset pin */
+       BT_ENABLE();
+
+       for (i=0; i<1000; i++) {
+               __delay_cycles(16000);
+               if ((BT_IO_PIN & BT_IO_CTS) == 0) // when CTS goes low module is ready
+                       break;
+       }
+       if (i>=1000) {
+               debug_uart_tx("Timeout waiting for CC256x to lower CTS\n");
+       } else {
+               debug_uart_tx("CC256x CTS low - uploading init\n");
+               for (i=0; i<100; i++) {
+                       __delay_cycles(16000); // give it some more before anyone sends data
+               }
+               load_cc256x_init_script();
+               debug_uart_tx("init uploaded\n");
+       }
+       P1IE &= ~BT_IO_CTS;
+       P1IES &= ~BT_IO_CTS;
+       bt_hci_init();
+       init_l2cap();
+       mw_bt_enabled = 1;
+}
+
+#pragma vector=PORT1_VECTOR
+__interrupt void BT_CTS_ISR (void)
+{
+       P1IFG &= ~BT_IO_CTS;
+
+       debug_uart_tx("BTS CTS triggered\n");
+       bt_hci_ehcill_wake();
+
+       LPM3_EXIT;
+}
+
+void mw_disable_bt(void)
+{
+       mw_bt_enabled = 0;
+
+       /* disable UART RX interrupt */
+       UCA1IE &= ~UCRXIE;
+
+       /* disable UART pins */
+       BT_UART_PSEL &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN);
+
+       /* set BT reset pin */
+       BT_SHUTDOWN();
+
+       /* disable 32kHz ACLK output to BT module */
+       P11DIR &= ~BIT0;
+       P11SEL &= ~BIT0;
+
+       /* make all I/O Pins inputs so we do not drive against a "deaf" module */
+       BT_IO_PDIR &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ);
+       BT_IO_POUT &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ);
+}
+
+uint8_t mw_bt_is_enabled(void)
+{
+       return mw_bt_enabled;
+}
+
diff --git a/metawatch/mw_bt.h b/metawatch/mw_bt.h
new file mode 100644 (file)
index 0000000..f7e5312
--- /dev/null
@@ -0,0 +1,65 @@
+#ifndef _MW_BT_H
+#define _MW_BT_H
+
+#define BT_RST_PIN             BIT3
+#define BT_RST_PSEL            P10SEL
+#define BT_RST_POUT            P10OUT
+#define BT_RST_PDIR            P10DIR
+
+#define BT_IO_PSEL             P1SEL
+#define BT_IO_RTS              BIT0
+#define BT_IO_CTS              BIT3
+#define BT_IO_POUT             P1OUT
+#define BT_IO_PIN              P1IN
+#define BT_IO_PDIR             P1DIR
+
+#define BT_IO_PIN1             BIT5
+#define BT_IO_PIN2             BIT6
+#define BT_IO_CLKREQ           BIT4
+
+#define BT_SHUTDOWN()          { BT_RST_POUT &= ~BT_RST_PIN; }
+#define BT_ENABLE()            { BT_RST_POUT |= BT_RST_PIN; }
+
+#define BT_UART_PSEL           P5SEL
+#define BT_UART_PDIR           P5DIR
+#define BT_UART_REN            P5REN
+#define BT_UART_POUT           P5OUT
+#define BT_UART_TX_PIN         BIT6
+#define BT_UART_RX_PIN         BIT7
+
+#define CONFIG_BT_PINS() { \
+       BT_RST_PSEL &= ~BT_RST_PIN; \
+       BT_RST_PDIR |= BT_RST_PIN; \
+       BT_SHUTDOWN(); \
+       BT_IO_PSEL &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \
+       BT_IO_PDIR &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \
+       BT_IO_POUT &= ~(BT_IO_RTS | BT_IO_CTS | BT_IO_PIN1 | BT_IO_PIN2 | BT_IO_CLKREQ); \
+       BT_UART_PSEL &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN); \
+       BT_UART_PDIR &= ~(BT_UART_TX_PIN | BT_UART_RX_PIN); \
+       BT_UART_REN |= BT_UART_TX_PIN | BT_UART_RX_PIN; \
+       BT_UART_POUT |= BT_UART_TX_PIN | BT_UART_RX_PIN; \
+}
+
+void mw_enable_bt(void);
+void mw_disable_bt(void);
+
+typedef enum {
+       BT_UART_BD19200 = 0,
+       BT_UART_BD38400,
+       BT_UART_BD57600,
+       BT_UART_BD115200,
+       BT_UART_BD234000,
+} bt_uart_baud_t;
+
+#define BT_MW_DEVICE_CLASS     0x842704 /* Limited discovery, Rendering, Information, Wearable, Wrist Watch */
+#define BT_RX_MAX_SIZE         255
+
+void mw_init_bt_uart(const bt_uart_baud_t baud);
+
+void mw_bt_uart_tx(const void *buf, const unsigned int len);
+// extern char BT_UART_RX_CHAR;
+
+const unsigned char *mw_bt_get_rx_buf(unsigned char **rpos, unsigned char *len);
+unsigned char bt_feed_packet_data(unsigned char pdata);
+uint8_t mw_bt_is_enabled(void);
+#endif
diff --git a/metawatch/mw_lcd.c b/metawatch/mw_lcd.c
new file mode 100644 (file)
index 0000000..0eb7550
--- /dev/null
@@ -0,0 +1,284 @@
+#include <msp430.h>
+#include <stdint.h>
+
+#include "mw_main.h"
+
+#include "mw_lcd.h"
+#include "mw_uart.h"
+
+// SMCLK = 16MHz -> divide by 16 to get 1 MHz SPI clock,
+// 1MHz maximum according to LCD spec
+//#define SPI_PRESCALE_L               0x10
+// currently we only run @1MHz
+#define SPI_PRESCALE_L         0x10
+#define SPI_PRESCALE_H         0x00
+
+#define LCD_STATIC_CMD         0x00
+#define LCD_WRITE_CMD          0x01
+#define LCD_CLEAR_CMD          0x04     
+
+static const unsigned char LCD_CLEAR_COMMAND[] = {LCD_CLEAR_CMD, 0x00};
+#define LCD_CLEAR_CMD_SIZE     0x02
+static const unsigned char LCD_STATIC_COMMAND[] = {LCD_STATIC_CMD, 0x00};
+#define LCD_STATIC_CMD_SIZE    0x02
+
+
+/* the LCD frame buffer, 96 lines */
+tLcdLine lcd_buf[96];
+
+
+#define LCD_DMA
+/* errata - DMA variables cannot be function scope */
+#ifdef LCD_DMA
+static unsigned char LcdDmaBusy = 0;
+#endif
+
+
+void memfill(void *target, unsigned char val, unsigned int count)
+{
+       while (count--) {
+               *(unsigned char *)(target+count) = val;
+       }
+}
+
+void mw_lcd_init(void)
+{
+       int i;
+
+       /* basic I/O setup */
+       ENABLE_LCD_POWER();
+       CONFIG_LCD_PINS();
+
+       // DISABLE_LCD_ENABLE();
+       ENABLE_LCD_ENABLE();
+
+       /* Put state machine in reset while it is configured */
+       LCD_SPI_UCBxCTL1 |= UCSWRST;
+
+       /* 
+        * 3-pin, 8-bit SPI master, Clock polarity low
+        * Clock phase set, least sig bit first
+        * SMCLK is the clock source
+        * set the clock prescaler
+        */
+       LCD_SPI_UCBxCTL0 |= UCMST+ UCCKPH + UCSYNC;      
+
+       LCD_SPI_UCBxCTL1 |= UCSSEL_2;                    
+       LCD_SPI_UCBxBR0 = SPI_PRESCALE_L;               
+       LCD_SPI_UCBxBR1 = SPI_PRESCALE_H;               
+
+       /* remove reset */
+       LCD_SPI_UCBxCTL1 &= ~UCSWRST;
+
+       /* pre-fill the frame-buffer */
+       for (i=0; i<96; i++) {
+               lcd_buf[i].Row = i+1;
+               memfill(lcd_buf[i].Data, 0xff, 12);
+               // lcd_buf[i].Data[0] = i;
+               lcd_buf[i].Dummy = 0x00;
+       };
+}
+
+static void mw_lcd_write_line(const void *pData, unsigned char Size)
+{
+#ifndef xLCD_DMA
+       unsigned char Index;
+#endif
+
+       LCD_CS_ASSERT();
+  
+#ifdef xLCD_DMA
+       LcdDmaBusy = 1;
+
+       /* USCIB0 TXIFG is the DMA trigger
+        * DMACTL1 controls dma2 and [dma3]
+        */
+       DMACTL1 = DMA2TSEL_19;    
+    
+       DMA2SA = (unsigned int) pData;
+       DMA2DA = (unsigned int) &LCD_SPI_UCBxTXBUF;
+            
+       DMA2SZ = (unsigned int)Size;
+  
+       /* 
+        * single transfer, increment source address, source byte and dest byte,
+        * level sensitive, enable interrupt, clear interrupt flag
+        */
+       DMA2CTL = DMADT_0 + DMASRCINCR_3 + DMASBDB + DMALEVEL + DMAIE;  
+  
+       /* start the transfer */
+       DMA2CTL |= DMAEN;
+  
+       while (LcdDmaBusy)
+               nop();
+#else
+//     debug_uart_tx("+wl1");
+       for ( Index = 0; Index < Size; Index++ ) {
+               LCD_SPI_UCBxTXBUF = ((unsigned char *)pData)[Index];
+//             debug_uart_tx(".");
+               while (!(LCD_SPI_UCBxIFG & UCTXIFG)) {
+//                     debug_uart_tx("+");
+                       nop();
+               }
+       }
+//     debug_uart_tx("\n+wl2\n");
+#endif
+    
+       /* wait for shift to complete ( ~3 us ) */
+       while (LCD_SPI_UCBxSTAT & 0x01) {
+               nop();
+//             debug_uart_tx(".");
+       };
+
+       /* now the chip select can be deasserted */
+       LCD_CS_DEASSERT();
+//     debug_uart_tx("\n-wl\n");
+}
+
+
+void mw_lcd_static_mode(void)
+{
+       mw_lcd_write_line(LCD_STATIC_COMMAND, LCD_STATIC_CMD_SIZE);   
+}
+
+void mw_lcd_clear(void)
+{
+       unsigned char i;
+
+       mw_lcd_write_line(LCD_CLEAR_COMMAND, LCD_CLEAR_CMD_SIZE);
+
+       /* pre-fill the frame-buffer */
+       for (i=0; i<96; i++) {
+               memfill(lcd_buf[i].Data, 0xff, 12);
+       };
+}
+
+void mw_lcd_clear_fb(void)
+{
+       unsigned char i;
+
+       /* pre-fill the frame-buffer */
+       for (i=0; i<96; i++) {
+#if LCD_BLACK == 0
+               memfill(lcd_buf[i].Data, 0xff, 12);
+#else
+               memfill(lcd_buf[i].Data, 0x00, 12);
+#endif
+       };
+}
+
+#pragma vector=DMA_VECTOR
+__interrupt void DMA_ISR (void)
+{
+       switch (DMAIV) {
+       case 0:
+               DMA0CTL &= ~DMAEN;      // disable
+               DMA0CTL &= ~DMAIFG;     // clear IRQ flag
+               debug_uart_tx("DMA0 IRQ\n");
+               break;
+       case 2:
+               debug_uart_tx("DMA1 IRQ\n");
+               break;
+       case 4:
+               debug_uart_tx("DMA2b IRQ\n");
+               break;
+       case 6:
+               DMA2CTL &= ~DMAEN;      // disable
+               DMA2CTL &= ~DMAIFG;     // clear IRQ flag
+#ifdef LCD_DMA
+               LcdDmaBusy = 0;
+#endif
+               //LED7_TOGGLE();
+               // debug_uart_tx("DMA2 IRQ\n");
+               break;
+       }
+}
+
+/* writes the complete internal framebuffer to the LCD */
+void mw_lcd_update_screen(void)
+{
+#ifndef LCD_DMA
+       unsigned int i,j;
+#endif
+
+//     debug_uart_tx("uscr1\n");
+
+       LCD_CS_ASSERT();
+
+       /* send WRITE command */
+       LCD_SPI_UCBxTXBUF = LCD_WRITE_CMD;
+       while (!(LCD_SPI_UCBxIFG & UCTXIFG))
+               nop();
+
+//     debug_uart_tx("uscr2\n");
+
+#ifdef LCD_DMA
+       LcdDmaBusy = 1;
+  
+       /* USCIB0 TXIFG is the DMA trigger
+        * DMACTL1 controls dma2 and [dma3]
+        */
+       DMACTL1 = DMA2TSEL_19;    
+
+       DMA2SA = (unsigned int) lcd_buf;
+       DMA2DA = (unsigned int) &LCD_SPI_UCBxTXBUF;
+            
+       DMA2SZ = 96 * sizeof(tLcdLine);
+  
+       /* 
+        * single transfer, increment source address, source byte and dest byte,
+        * level sensitive, enable interrupt, clear interrupt flag
+        */
+       DMA2CTL = DMADT_0 + DMASRCINCR_3 + DMASBDB + DMALEVEL + DMAIE;  
+  
+       /* start the transfer */
+       DMA2CTL |= DMAEN;
+
+//     debug_uart_tx("uscr3\n");
+
+       // LED7_OFF();
+       while (LcdDmaBusy)
+               nop();
+
+//     debug_uart_tx("uscr4\n");
+#else
+       for (i=0; i<96; i++) {
+               for ( j = 0; j < sizeof(tLcdLine); j++ ) {
+                       LCD_SPI_UCBxTXBUF = ((unsigned char *)(&lcd_buf[i]))[j];
+                       while (!(LCD_SPI_UCBxIFG & UCTXIFG))
+                               nop();
+               }
+       }
+#endif
+
+       /* send final trailer byte */
+       LCD_SPI_UCBxTXBUF = 0x00;
+       while (!(LCD_SPI_UCBxIFG & UCTXIFG))
+               nop();
+
+//     debug_uart_tx("uscr5\n");
+       /* wait for shift to complete ( ~3 us ) */
+       while (LCD_SPI_UCBxSTAT & 0x01)
+               nop();
+
+//     debug_uart_tx("uscr6\n");
+       LCD_CS_DEASSERT();
+
+       mw_lcd_static_mode();
+}
+
+void mw_lcd_draw_pixel(unsigned char x, unsigned char y, unsigned char color)
+{
+       switch (color) {
+               case 1:
+                       lcd_buf[y].Data[x/8] |= 1 << (x % 8);
+                       break;
+               case 0:
+                       lcd_buf[y].Data[x/8] &= ~(1 << (x % 8));
+                       break;
+               case 2:
+                       lcd_buf[y].Data[x/8] ^= 1 << (x % 8);
+                       break;
+       }
+}
+
diff --git a/metawatch/mw_lcd.h b/metawatch/mw_lcd.h
new file mode 100644 (file)
index 0000000..5211da0
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef _MW_LCD_H
+#define _MW_LCD_H
+
+typedef struct
+{
+       unsigned char Row;      /* row number for LCD command */
+       unsigned char Data[12]; /* 12*8 = 96bit */
+       unsigned char Dummy;    /* 0x00 dummy byte to latch data into LCD */
+} tLcdLine;
+
+extern tLcdLine lcd_buf[];
+
+void memfill(void *target, unsigned char val, unsigned int count);
+
+void mw_lcd_init(void);
+void mw_lcd_clear(void);
+void mw_lcd_clear_fb(void);
+void mw_lcd_update_screen(void);
+
+#if 0
+#define LCD_BLACK      0
+#define LCD_WHITE      1
+#else
+#define LCD_BLACK      1
+#define LCD_WHITE      0
+#endif
+#define LCD_XOR                2
+void mw_lcd_draw_pixel(unsigned char x, unsigned char y, unsigned char color);
+
+#endif
+
diff --git a/metawatch/mw_main.c b/metawatch/mw_main.c
new file mode 100644 (file)
index 0000000..89b014e
--- /dev/null
@@ -0,0 +1,570 @@
+#include <msp430.h>
+#include <msp430xgeneric.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "mw_main.h"
+
+#include "mw_uart.h"
+#include "mw_lcd.h"
+#include "mw_bt.h"
+#include "mw_adc.h"
+#include "mw_bt.h"
+#include "bt_hci.h"
+#include "bt_l2cap.h"
+
+#include "oswald_main.h"
+#include "oswald_hal.h"
+
+#include "bluetooth_init_cc256x.h"
+
+unsigned int _event_src = 0;
+
+
+static void set16mhz(void)
+{
+       UCSCTL0 = 0x00;                 // Set lowest possible DCOx, MODx
+       UCSCTL1 = DCORSEL_5;            // Select suitable range
+       UCSCTL2 = 488 + FLLD_1;         // Set DCO Multiplier
+       UCSCTL4 = SELA__XT1CLK | SELS__DCOCLKDIV  |  SELM__DCOCLKDIV ;
+
+       // Worst-case settling time for the DCO when the DCO range bits have been 
+       // changed is n x 32 x 32 x f_FLL_reference. See UCS chapter in 5xx UG 
+       // for optimization.
+       // 32 x 32 x / f_FLL_reference (32,768 Hz) = .03125 = t_DCO_settle
+       // t_DCO_settle / (1 / 18 MHz) = 562500 = counts_DCO_settle
+  
+       // __delay_cycles(562500);  
+       int i;
+       for (i=0;i<10;i++){
+               __delay_cycles(56250);  
+       }
+}
+
+static void setup_clocks(void)
+{
+       unsigned long i;
+
+       /* use external oscillator */
+       P7SEL |= BIT0 + BIT1;
+       if ((UCSCTL6 & XT1DRIVE_3) != XT1DRIVE_3) {
+               UCSCTL6_L |= XT1DRIVE1_L + XT1DRIVE0_L;
+       }
+       i = 50000;
+       while ((SFRIFG1 & OFIFG) && i--) {
+               UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT1HFOFFG + XT2OFFG);
+               SFRIFG1 &= ~OFIFG;
+       }
+       UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(XT1DRIVE_0);
+
+       set16mhz();
+
+       UCSCTL8 |= SMCLKREQEN;
+
+       /* enable oscillator fault NMI IRQ */
+//     SFRIE1 = OFIE;
+}
+
+#if 0
+#pragma vector=PWR_PORT_VECTOR
+__interrupt void PWR_ISR (void)
+{
+       /* clear all possible sources */
+       PWR_PORT_IFG &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2 | BAT_CHARGE_PWR_BIT);
+       _event_src |= POWER_SRC_EVENT;
+       LPM3_EXIT();
+       nop();
+}
+#endif
+
+static void mw_init_vibrate_pwm(void)
+{
+#ifdef MW_DIGITAL_V2
+       // Start with P7.3 as an output
+       P7OUT &= ~BIT3;   // Low when a digital output
+       P7SEL &= ~BIT3;   // P7 option select = false
+       P7DIR |=  BIT3;   // P7 outputs
+
+       TA1CTL = 0;
+
+       // No expansion divide
+       TA1EX0 = 0;
+
+       // do a PWM with 64 total steps.  This gives a count up of 32 and
+       // a count down of 32
+       TA1CCR0 =  31;
+
+       // Compare channel 2 is used as output
+       TA1CCTL2 = OUTMOD_6;         // PWM output mode: 6 - toggle/set
+       TA1CCR2 = 10;                // 10 is a 2/3 duty cycle
+#endif
+}
+
+
+static void setup_pins(void)
+{
+       CONFIG_SRAM_PINS();
+       CONFIGURE_BUTTON_PINS();
+#ifdef MW_DEVBOARD_V2
+       CONFIG_LED_PINS();              // debug LEDs on devboard
+#endif
+       DISABLE_LCD_LED();              // frontlight
+       CONFIG_DEBUG_PINS();
+       CONFIG_ACCELEROMETER_PINS();
+       // DISABLE_ACCELEROMETER_POWER(); // there is no accel. power switching!
+
+       HARDWARE_CFG_SENSE_INIT();
+
+       APPLE_CONFIG();
+       APPLE_POWER_DISABLE();
+
+       CONFIG_BT_PINS();
+       BT_CLK_REQ_CONFIG_AS_OUTPUT_LOW();
+       BT_IO1_CONFIG_AS_OUTPUT_LOW();
+       BT_IO2_CONFIG_AS_OUTPUT_LOW();
+       mw_disable_bt();
+
+       LIGHT_SENSE_INIT();
+       LIGHT_SENSOR_SHUTDOWN();
+
+       BATTERY_SENSE_INIT();
+       BATTERY_SENSE_DISABLE();
+       BAT_CHARGE_DIR &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2 | BAT_CHARGE_PWR_BIT);
+       BAT_CHARGE_OUT |= BAT_CHARGE_PWR_BIT | BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2;                                             // pull-up
+       BAT_CHARGE_REN |= BAT_CHARGE_PWR_BIT;   // enable resistors
+       // BAT_CHARGE_IE |= BAT_CHARGE_PWR_BIT;
+       BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN;        // !CE, negative logic
+       BAT_CHARGE_DIR |= BAT_CHARGE_ENABLE_PIN;
+
+       /* disable reset function, enable NMI, do not enable NMI IRQ */
+       /* to avoid accidential reset on charger clip connect */
+#ifndef MW_DEVBOARD_V2 // but only on real watch
+       SFRRPCR &= ~SYSRSTRE;
+       SFRRPCR |= SYSNMI;
+#endif
+}
+
+#pragma vector=WDT_VECTOR
+__interrupt void WDT_ISR (void)
+{
+       /* eventually we will do something here, not for now */
+       _event_src |= WATCHDOG_EVENT;
+       nop();
+}
+
+static void setup_wdt(void)
+{
+#if 1
+       WDTCTL = WDTPW + WDTHOLD;       // disable watchdog
+#else
+       WDTCTL = WDT_ADLY_1000;         // 1 second timeout
+       SFRIE1 |= WDTIE;                // Enable WDT interrupt
+#endif
+}
+
+#if 1
+#pragma vector=UNMI_VECTOR
+__interrupt void NMI_ISR (void)
+{
+#if defined MW_DEVBOARD_V2
+       LED7_TOGGLE();
+       debug_uart_tx_char('n');
+#endif
+       while ((SFRIFG1 & OFIFG)) {
+               UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT1HFOFFG + XT2OFFG);
+               SFRIFG1 &= ~OFIFG;
+       }
+}
+#endif
+
+#pragma vector=RTC_VECTOR
+__interrupt void RTC_ISR (void)
+{
+       switch (RTCIV) {
+               case RTCIV_NONE:
+                       break;
+               case RTCIV_RTCRDYIFG:
+               case RTCIV_RTCTEVIFG:
+               case RTCIV_RTCAIFG:
+               case RTCIV_RT0PSIFG:
+                       break;
+               case RTCIV_RT1PSIFG:
+                       RTCPS1CTL &= ~RT1PSIFG;
+                       _event_src |= RTC_1HZ_EVENT;
+                       LPM3_EXIT;
+                       break;
+               default:
+                       break;
+       };
+}
+
+void setup_rtc(void)
+{
+       // stop it
+       RTCCTL01 = RTCHOLD;
+
+       // calibration
+       RTCCTL2 = 0x00 & 0x3f;
+       RTCCTL2 |= RTCCALS;
+
+       // Set the counter for RTC mode
+       RTCCTL01 |= RTCMODE;
+
+       // set 128 Hz rate for prescale 0 interrupt
+       RTCPS0CTL |= RT0IP_7;
+
+       // enable 1 pulse per second interrupt using prescale 1
+       RTCPS1CTL |= RT1IP_6 | RT1PSIE;
+
+       // 1 Hz calibration output
+       RTCCTL23 |= RTCCALF_3;
+
+       // setting the peripheral selection bit makes the other I/O control a don't care
+       // P2.4 = 1 Hz RTC calibration output
+       // Direction needs to be set as output
+       RTC_1HZ_PORT_SEL |= RTC_1HZ_BIT;  
+       RTC_1HZ_PORT_DIR |= RTC_1HZ_BIT;  
+
+       RTCYEAR = (unsigned int) 2013;
+       RTCMON = (unsigned int) 1;
+       RTCDAY = (unsigned int) 1;
+       RTCDOW = (unsigned int) 2;
+       RTCHOUR = (unsigned int) 01;
+       RTCMIN = (unsigned int) 0;
+       RTCSEC = (unsigned int) 0;
+
+       // Enable the RTC
+       RTCCTL01 &= ~RTCHOLD;
+       nop();
+}
+
+#if defined MW_DEVBOARD_V2
+static void dbg_out_rtc(void)
+{
+       char clk_str[16];
+       snprintf(clk_str, 16, "%02d:%02d.%02d %d\n", RTCHOUR, RTCMIN, RTCSEC, RTCDOW);
+       debug_uart_tx(clk_str);
+       // bt_l2cap_send_channel(0x40, clk_str, strlen(clk_str));
+}
+#endif
+
+static void handle_button_event(void)
+{
+       unsigned char _button_state = 0;
+#if 0
+       char clk_str[16];
+       snprintf(clk_str, 16, "0x%02x\n", _button_state);
+       debug_uart_tx(clk_str);
+#endif
+       while (_button_state != (BUTTON_PORT_IN & ALL_BUTTONS)) {
+               __delay_cycles(562500);
+               _button_state = (BUTTON_PORT_IN & ALL_BUTTONS);
+               __delay_cycles(562500);
+       }
+       // BUTTON_PORT_IE |= INT_EDGE_SEL_BUTTONS;
+
+       if (_button_state & SW_A) {
+               debug_uart_tx("switch A\n");
+               oswald_handle_button_press(BUTTON_A);
+       }
+       if (_button_state & SW_B) {
+               debug_uart_tx("switch B\n");
+               oswald_handle_button_press(BUTTON_B);
+       }
+       if (_button_state & SW_C) {
+               debug_uart_tx("switch C\n");
+               oswald_handle_button_press(BUTTON_C);
+       }
+       if (_button_state & SW_D) {
+               debug_uart_tx("switch D\n");
+               oswald_handle_button_press(BUTTON_D);
+       }
+       if (_button_state & SW_E) {
+               debug_uart_tx("switch E\n");
+               oswald_handle_button_press(BUTTON_E);
+       }
+       if (_button_state & SW_F) {
+               debug_uart_tx("switch F\n");
+               oswald_handle_button_press(BUTTON_F);
+       }
+}
+
+void check_pwr_state(void)
+{
+       if (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT) {
+               BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN;
+               BAT_CHARGE_REN &= ~(BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2); // disable pull-up
+       } else {
+               BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN;
+               BAT_CHARGE_REN |= BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2; // enable pull-up
+       }
+}
+
+static void handle_bt_uart_rx_event(void)
+{
+       const unsigned char *rx;
+       unsigned char len, *rp, p;
+
+       rx = mw_bt_get_rx_buf(&rp, &len);
+
+       p = 0;
+       while (p < len) {
+               p += bt_feed_packet_data(rx[(*rp+p)%BT_RX_MAX_SIZE]);
+       }
+       // all consumed
+       *rp = (*rp + len) % BT_RX_MAX_SIZE;
+}
+
+#if defined MW_DEVBOARD_V2
+static void handle_uart_rx_event(void)
+{
+       char c;
+#ifndef CC256x_TRANSP
+       char tstr[255];
+
+       if (debug_uart_rx_char(&c)) {
+               debug_uart_tx_char(c);
+               if (c == 'b') {
+                       debug_uart_tx("\nenabling BT\n");
+                       mw_enable_bt();
+               } else if (c == 'B') {
+                       debug_uart_tx("\ndisabling BT\n");
+                       mw_disable_bt();
+               } else if (c == 'c') {
+                       debug_uart_tx("\nCharger status: ");
+                       snprintf(tstr, 16, "0x%04x 0x%04x ", BAT_CHARGE_IN, (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT));
+                       debug_uart_tx(tstr);
+                       if (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT)
+                               debug_uart_tx("no ext pwr, ");
+                       else
+                               debug_uart_tx("ext pwr connected, ");
+                       switch (BAT_CHARGE_IN & (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2)) {
+                               case BAT_CHARGE_STAT1:
+                                       debug_uart_tx("charge done\n");
+                                       break;
+                               case BAT_CHARGE_STAT2:
+                                       debug_uart_tx("fast charge\n");
+                                       break;
+                               case (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2):
+                                       debug_uart_tx("suspend, sleep or fault\n");
+                                       break;
+                               default:
+                                       debug_uart_tx("precharge\n");
+                                       break;
+                       }
+                       if (BAT_CHARGE_IN & BAT_CHARGE_ENABLE_PIN)
+                               debug_uart_tx(" !charge\n");
+                       else
+                               debug_uart_tx(" charge\n");
+               } else if (c == 'd') {
+                       debug_uart_tx("charging disabled\n");
+                       BAT_CHARGE_OUT |= BAT_CHARGE_ENABLE_PIN;
+               } else if (c == 'e') {
+                       debug_uart_tx("charging enabled\n");
+                       BAT_CHARGE_OUT &= ~BAT_CHARGE_ENABLE_PIN;
+               } else if (c == 'l') {
+                       debug_uart_tx("backlight LED on\n");
+                       hal_lcd_set_backlight(TRUE);
+               } else if (c == 'L') {
+                       debug_uart_tx("backlight LED off\n");
+                       hal_lcd_set_backlight(FALSE);
+               } else if (c == 'u') {
+                       mw_lcd_update_screen();
+               } else if (c == '+') {
+                       nop();
+               } else if (c == '-') {
+                       nop();
+               } else if (c == 't') {
+                       int i;
+                       debug_uart_tx("cc256x ini content:\n");
+                       for (i=0; i<16; i++) {
+                               snprintf(tstr, 16, "0x%04x 0x%02x\n", i, cc256x_init_script[i]);
+                               debug_uart_tx(tstr);
+                       }
+               } else if (c == 'H') {
+                       uint8_t dclass[3];
+                       dclass[0] = BT_MW_DEVICE_CLASS & 0xff;
+                       dclass[1] = (BT_MW_DEVICE_CLASS & 0xff00) >> 8;
+                       dclass[2] = (BT_MW_DEVICE_CLASS & 0xff0000) >> 16;
+
+                       debug_uart_tx("HCI reset\n");
+                       bt_hci_cmd(HCI_HC_BB_OGF, HCI_RESET_OCF, 0, NULL);
+                       bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_COD_OCF, 3, dclass);
+               } else if (c == 'S') {
+                       debug_uart_tx("Scan enable\n");
+                       tstr[0] = HCI_BB_SCAN_INQUIRY | HCI_BB_SCAN_PAGE;
+                       bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, (uint8_t *)tstr);
+               } else if (c == 'h') {
+                       RTCHOUR++;
+                       if (RTCHOUR > 23)
+                               RTCHOUR = 0;
+               } else if (c == 'm') {
+                       RTCMIN++;
+                       if (RTCMIN > 59)
+                               RTCMIN = 0;
+               } else if (c == 'N') {
+                       debug_uart_tx("Set name\n");
+                       tstr[0] = 'O';
+                       tstr[1] = 's';
+                       tstr[2] = 'w';
+                       tstr[3] = 'a';
+                       tstr[4] = 'l';
+                       tstr[5] = 'd';
+                       tstr[6] = 0x00;
+                       bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_LOCAL_NAME_OCF, 0x07, (uint8_t *)tstr);
+               } else if (c == 'R') {
+                       bt_hci_cmd(HCI_INFO_PARAM_OGF, HCI_R_BD_ADDR_OCF, 0, NULL);
+               }
+       }
+#endif
+}
+#endif
+
+void start_timer(int cycles)
+{
+       TA0EX0 = TAIDEX_0;
+       TA0CTL = TASSEL_1 | TACLR | MC__STOP;              // SMCLK, clear TAR
+       TA0CCTL0 = CCIE;                         // CCR0 interrupt enabled
+       TA0CCR0 = cycles;
+       TA0CTL |= MC_1;                         // Start Timer_A in continuous mode
+}
+
+void stop_timer(void)
+{
+       TA0CCTL0 &= ~CCIE;                         // CCR0 interrupt enabled
+       TA0CTL = MC__STOP;                         // Start Timer_A in continuous mode
+}
+// Timer A0 interrupt service routine
+#pragma vector=TIMER0_A0_VECTOR
+__interrupt void TIMER0_A0_ISR (void)
+{
+       TA0CTL &= ~(TAIFG);
+#if defined xMW_DEVBOARD_V2
+       LED6_TOGGLE();
+#endif
+       _event_src |= TIMER_500MS_EVENT | TIMER_100MS_EVENT;
+       LPM3_EXIT;
+}
+
+uint8_t handle_event(void)
+{
+#if defined MW_DEVBOARD_V2
+       char tstr[64];
+#endif
+       if (_event_src == 0)
+               return 1;
+
+       while (_event_src != 0) {
+               if (_event_src & WATCHDOG_EVENT) {
+                       _event_src &= ~WATCHDOG_EVENT;
+                       debug_uart_tx_char('w');
+               } else if (_event_src & RTC_1HZ_EVENT) {
+                       _event_src &= ~RTC_1HZ_EVENT;
+                       check_pwr_state();
+                       oswald_one_second_tick();
+#if defined MW_DEVBOARD_V2
+                       dbg_out_rtc();
+                       LED7_TOGGLE();
+#endif
+               } else if (_event_src & BT_UART_RCV_EVENT) {
+                       _event_src &= ~BT_UART_RCV_EVENT;
+                       handle_bt_uart_rx_event();
+               } else if (_event_src & DBG_UART_RCV_EVENT) {
+                       _event_src &= ~DBG_UART_RCV_EVENT;
+#if defined MW_DEVBOARD_V2
+                       handle_uart_rx_event();
+#endif
+               } else if (_event_src & BUTTON_EVENT) {
+                       _event_src &= ~BUTTON_EVENT;
+                       handle_button_event();
+               } else if (_event_src & TIMER_500MS_EVENT) {
+                       _event_src &= ~TIMER_500MS_EVENT;
+                       oswald_halfsecond_tick();
+               } else if (_event_src & TIMER_100MS_EVENT) {
+                       _event_src &= ~TIMER_100MS_EVENT;
+                       oswald_centisecond_tick();
+               } else {
+#if defined MW_DEVBOARD_V2
+                       snprintf(tstr, 64, "unhandled event in 0x%04x\n", _event_src);
+                       debug_uart_tx(tstr);
+#endif
+               }
+       }
+       return 0;
+}
+
+#pragma vector=BUTTON_PORT_VECTOR
+__interrupt void BUTTON_ISR (void)
+{
+       BUTTON_PORT_IFG &= ~ALL_BUTTONS;
+       // BUTTON_PORT_IE  &= ~INT_EDGE_SEL_BUTTONS;
+       _event_src |= BUTTON_EVENT;
+       //_button_state = (BUTTON_PORT_IN & ALL_BUTTONS);
+       LPM3_EXIT;
+}
+
+#if 0
+#pragma vector=NOVECTOR
+__interrupt void UNEXP_ISR (void)
+{
+       debug_uart_tx("unexpected IRQ occured\n");
+}
+#endif
+
+
+int main(void)
+{
+       int idle = 0;
+
+       setup_wdt();
+       setup_pins();
+       setup_clocks();
+       setup_rtc();
+
+       /* enable interrupts, we will need them! */
+       __eint();
+
+#if defined MW_DEVBOARD_V2
+       init_debug_uart();
+       debug_uart_tx("\nOswald on MetaWatch\n");
+#endif
+
+       mw_lcd_init();
+       mw_lcd_clear();
+       mw_lcd_update_screen();
+
+       mw_init_adc();
+       mw_init_vibrate_pwm();
+
+#if 0
+       RTCYEAR = (unsigned int) 2013;
+       RTCMON = (unsigned int) 1;
+       RTCDAY = (unsigned int) 1;
+       RTCDOW = (unsigned int) 2;
+       RTCHOUR = (unsigned int) 01;
+       RTCMIN = (unsigned int) 0;
+       RTCSEC = (unsigned int) 0;
+#endif
+
+       oswald_set_time(RTCHOUR, RTCMIN, RTCSEC, TRUE);
+       oswald_set_date(RTCDAY, RTCMON, RTCYEAR, TRUE);
+       oswald_init();
+
+       while (1) {
+               /* handle pending events */
+               if (handle_event())
+                       idle++;
+               else
+                       idle = 0;
+
+               /* enter LPM3 sleep mode waiting for interrupt */
+               if (idle > 100) {
+                       idle = 0;
+                       // debug_uart_tx("z");
+                       LPM3;
+               }
+       };
+
+return 0;
+}
diff --git a/metawatch/mw_main.h b/metawatch/mw_main.h
new file mode 100644 (file)
index 0000000..902c469
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef _GCCFWTEST_LCD_H
+#define _GCCFWTEST_LCD_H
+
+#if defined MW_DEVBOARD_V2
+#include "hal_devboard_v2_defs.h"
+#elif defined MW_DIGITAL_V2
+#include "hal_digital_v2_defs.h"
+#else
+#error "Define a watch type!"
+#endif
+#include "hal_io_macros.h"
+
+
+#define WATCHDOG_EVENT         1 << 0
+#define RTC_1HZ_EVENT          1 << 1
+#define DBG_UART_RCV_EVENT     1 << 2
+#define BUTTON_EVENT           1 << 3
+#define TIMER_500MS_EVENT      1 << 4
+#define TIMER_100MS_EVENT      1 << 5
+#define POWER_SRC_EVENT                1 << 6
+#define BT_UART_RCV_EVENT      1 << 7
+
+extern unsigned int _event_src;
+
+//#define TIMER_500MS_CYCLES           32768
+
+#define TIMER_500MS_CYCLES             16384
+#define TIMER_100MS_CYCLES             327
+
+void start_timer(int cycles);
+void stop_timer(void);
+
+uint8_t handle_event(void);
+
+#endif
diff --git a/metawatch/mw_uart.c b/metawatch/mw_uart.c
new file mode 100644 (file)
index 0000000..16a1a29
--- /dev/null
@@ -0,0 +1,110 @@
+#include <msp430.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <ctype.h>
+
+#include "mw_main.h"
+
+#include "mw_uart.h"
+
+static char UART_RX_CHAR = 0;
+
+#if defined MW_DEVBOARD_V2
+
+void debug_uart_tx_char(char c);
+
+#pragma vector=USCI_A3_VECTOR
+__interrupt void UCA_ISR (void)
+{
+       /* clear IRQ flag */
+       UCA3IFG  &= ~UCRXIFG;
+       UART_RX_CHAR = UCA3RXBUF;
+       _event_src |= DBG_UART_RCV_EVENT;
+       /* wake up to handle the received char */
+       LPM3_EXIT;
+}
+
+void init_debug_uart(void)
+{
+       /* assert reset */
+       UCA3CTL1 = UCSWRST;
+
+       /* reset default SMCLK = 1.048MHz */
+       UCA3CTL1 |= UCSSEL__SMCLK;
+       /* CLK        baud   BRx  BRSx  BRFx */
+       /* 1,048,576  115200 9    1     0 */
+       /* 16,000,000 115200 138  7     0 */
+
+       UCA3BR0 = 138;
+       UCA3MCTL = UCBRS_7 + UCBRF_0;
+
+       /* set P10.4 & P10.5 to UCA function */
+       P10SEL |= BIT4;
+       P10SEL |= BIT5;
+
+       UCA3STAT = 0;
+
+       /* deassert reset */
+       UCA3CTL1 &= ~UCSWRST;
+
+       /* enable receive interrupt */
+       UCA3IE = UCRXIE;
+       /* clear interrup flags */
+       UCA3IFG = 0;
+}
+
+void debug_uart_tx_char(const char c)
+{
+       UCA3TXBUF = c;
+       while ((UCA3IFG & UCTXIFG) == 0 )
+               nop();
+}
+
+void debug_uart_tx(const char *buf)
+{
+       unsigned char i = 0;
+
+       while (buf[i] != 0) {
+               debug_uart_tx_char(buf[i]);
+               if (buf[i++] == '\n')
+                       debug_uart_tx_char('\r');
+       }
+       while (UCA3STAT & UCBUSY)
+               nop();
+}
+
+void debug_dump_hex(const uint16_t len, const void *buf)
+{
+       int i;
+       char tstr[8];
+
+       for (i=0; i<len; i++) {
+               snprintf(tstr, 8, "0x%02x ", *(uint8_t *)(buf+i));
+               debug_uart_tx(tstr);
+       }
+       debug_uart_tx("\n");
+}
+
+void debug_dump_ascii(const uint16_t len, const void *buf)
+{
+       int i;
+
+       for (i=0; i<len; i++) {
+               debug_uart_tx_char(isprint(*(uint8_t *)(buf+i)) ? *(uint8_t *)(buf+i) : '.');
+       }
+       debug_uart_tx("\n");
+}
+
+char debug_uart_rx_char(char *c)
+{
+       if (UART_RX_CHAR != 0) {
+               *c = UART_RX_CHAR;
+               UART_RX_CHAR = 0;
+               return 1;
+       } else {
+               *c = 0;
+               return 0;
+       }
+}
+#endif
+
diff --git a/metawatch/mw_uart.h b/metawatch/mw_uart.h
new file mode 100644 (file)
index 0000000..477e2b2
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef _MW_UART_H
+#define _MW_UART_H
+
+#if defined MW_DEVBOARD_V2
+void init_debug_uart(void);
+void debug_uart_tx_char(const char c);
+void debug_uart_tx(const char *buf);
+char debug_uart_rx_char(char *c);
+void debug_dump_hex(const uint16_t len, const void *buf);
+void debug_dump_ascii(const uint16_t len, const void *buf);
+#else
+#define debug_uart_tx(args...) {}
+#define debug_uart_tx_char(args...) {}
+#define debug_dump_hex(args...) {}
+#define debug_dump_ascii(args...) {}
+#endif
+
+#endif
+
diff --git a/metawatch/oswald_hal.c b/metawatch/oswald_hal.c
new file mode 100644 (file)
index 0000000..d731b51
--- /dev/null
@@ -0,0 +1,234 @@
+/*
+ * Adaptation to Oswald
+ */
+#include <msp430.h>
+#include <msp430xgeneric.h>
+#include <stdint.h>
+#include <string.h>
+
+#include "mw_main.h"
+
+#include "mw_lcd.h"
+#include "mw_adc.h"
+#include "mw_bt.h"
+#include "bt_hci.h"
+#include "bt_l2cap.h"
+
+#include "oswald.h"
+#include "oswald_hal.h"
+
+#include "calendar.h"
+
+void hal_lcd_set_pixel(uint8_t x, uint8_t y, uint8_t color)
+{
+       x %= 96;
+       y %= 96;
+       mw_lcd_draw_pixel(x, y, color ? LCD_BLACK : LCD_WHITE);
+}
+
+void hal_lcd_clear_display(void)
+{
+       mw_lcd_clear_fb();
+}
+
+void hal_lcd_update_display(void)
+{
+       mw_lcd_update_screen();
+}
+
+void hal_lcd_set_backlight(boolean state)
+{
+       if (state) {
+               ENABLE_LCD_LED();
+       } else {
+               DISABLE_LCD_LED();
+       }
+}
+
+boolean hal_lcd_get_backlight(void)
+{
+       return (LCD_LED_POUT & LCD_LED_PIN) ? TRUE : FALSE;
+}
+
+void hal_enable_centisecond_timer(void)
+{
+       start_timer(TIMER_100MS_CYCLES);
+}
+
+void hal_disable_centisecond_timer(void)
+{
+       stop_timer();
+}
+
+void hal_enable_halfsecond_timer(void)
+{
+       start_timer(TIMER_500MS_CYCLES);
+}
+
+void hal_disable_halfsecond_timer(void)
+{
+       stop_timer();
+}
+
+void hal_get_rtc(clock_state *rtc)
+{
+       /* Update clock state from RTC */
+       rtc->hour = RTCHOUR;
+       rtc->minute = RTCMIN;
+       rtc->second = RTCSEC;
+       rtc->day = RTCDAY;
+       rtc->month = RTCMON;
+       rtc->year = RTCYEAR;
+}
+
+void hal_set_rtc(clock_state *rtc, boolean set_sec)
+{
+       /* Update clock state from RTC */
+       RTCHOUR = rtc->hour;
+       RTCMIN = rtc->minute;
+       if (set_sec)
+               RTCSEC = rtc->second;
+       RTCDAY = rtc->day;
+       RTCMON = rtc->month;
+       RTCYEAR = rtc->year;
+       rtc->wday = getWochentag(rtc->day, rtc->month, rtc->year);
+       RTCDOW = rtc->wday;
+}
+
+void hal_get_power_state(power_state *pwr)
+{
+       unsigned int val;
+
+       pwr->source = (BAT_CHARGE_IN & BAT_CHARGE_PWR_BIT) ? POWER_SOURCE_BATTERY : POWER_SOURCE_EXTERNAL;
+
+       /* unless the charger is enabled we do not get a reasonable state */
+       if (!(BAT_CHARGE_IN & BAT_CHARGE_ENABLE_PIN)) {
+               switch (BAT_CHARGE_IN & (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2)) {
+                       case BAT_CHARGE_STAT1:
+                               pwr->charge_state = POWER_CHARGER_DONE;
+                               break;
+                       case BAT_CHARGE_STAT2:
+                               pwr->charge_state = POWER_CHARGER_CHARGING;
+                               break;
+                       case (BAT_CHARGE_STAT1 | BAT_CHARGE_STAT2):
+                               pwr->charge_state = POWER_CHARGER_UNK;
+                               break;
+                       default:
+                               pwr->charge_state = POWER_CHARGER_PRECHARGE;
+                               break;
+               }
+       } else {
+               pwr->charge_state = POWER_CHARGER_UNK;
+       }
+
+       if ((pwr->source == POWER_SOURCE_BATTERY) && (RTCSEC != 0)) {
+               /* the ADC and activating the measuring shunts is
+                * power expensive so only do this every minute */
+               return;
+       };
+
+       /* get new values and so some averaging to avoid jumps */
+       val = mw_get_battery_adc_val();
+       pwr->percent = mw_get_battery_percentage_from_val(val);
+       pwr->level = val;
+}
+
+void hal_vibration_set_state(boolean state)
+{
+#ifdef MW_DIGITAL_V2
+       if (state) {
+               TA1CTL |= TASSEL__ACLK | MC__UPDOWN | ID_0;
+               P7SEL |= BIT3;
+       } else {
+               TA1CTL = 0;
+               P7SEL &= ~BIT3;
+       }
+#endif
+}
+
+boolean hal_vibration_get_state(void)
+{
+#ifdef MW_DIGITAL_V2
+       return (P7SEL & BIT3) ? TRUE : FALSE;
+#else
+       return FALSE;
+#endif
+}
+
+#define BLUETOOTH_DEVICE_NAME "Oswald on MetaWatch"
+static boolean bt_is_visible = FALSE;
+
+
+bluetooth_state hal_bluetooth_set_state(bluetooth_state state)
+{
+       uint8_t buf[32];
+
+       if (state == BLUETOOTH_OFF && mw_bt_is_enabled() == 1) {
+               mw_disable_bt();
+               bt_is_visible = FALSE;
+               return BLUETOOTH_OFF;
+       } else if (state == BLUETOOTH_ON && mw_bt_is_enabled() == 0) {
+               mw_enable_bt();
+               // set our name
+               memset(buf, 0, 32);
+               strncpy((char *)buf, BLUETOOTH_DEVICE_NAME, strlen(BLUETOOTH_DEVICE_NAME));
+               bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_LOCAL_NAME_OCF, strlen(BLUETOOTH_DEVICE_NAME)+1, buf);
+               // read our local address
+               bt_hci_cmd(HCI_INFO_PARAM_OGF, HCI_R_BD_ADDR_OCF, 0, NULL);
+               // enable page scan
+               buf[0] = HCI_BB_SCAN_PAGE;
+               bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf);
+               bt_is_visible = FALSE;
+               return BLUETOOTH_ON;
+       } else
+               return BLUETOOTH_ILL;
+}
+
+bluetooth_state hal_bluetooth_get_state(void)
+{
+       if (mw_bt_is_enabled() == 1) {
+               if (bt_l2cap_get_connected(0x40))
+                       return BLUETOOTH_CONNECTED;
+               else
+                       return BLUETOOTH_ON;
+       } else
+               return BLUETOOTH_OFF;
+}
+
+uint8_t *hal_bluetooth_get_local_bdaddr(void)
+{
+       return bt_hci_get_local_bdaddr();
+}
+
+void hal_bluetooth_set_visible(boolean visible)
+{
+       uint8_t buf[2];
+
+       if (mw_bt_is_enabled() == 0) {
+               bt_is_visible = FALSE;
+               return;
+       }
+
+       if (visible) {
+               // enable page and inquiry scan
+               buf[0] = HCI_BB_SCAN_INQUIRY | HCI_BB_SCAN_PAGE;
+               bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf);
+               bt_is_visible = TRUE;
+       } else {
+               // enable page scan only
+               buf[0] = HCI_BB_SCAN_PAGE;
+               bt_hci_cmd(HCI_HC_BB_OGF, HCI_W_SCAN_EN_OCF, 1, buf);
+               bt_is_visible = FALSE;
+       }
+}
+
+boolean hal_bluetooth_get_visible(void)
+{
+       return bt_is_visible;
+}
+
+void hal_bluetooth_send_data(const void *mdat, uint16_t mlen)
+{
+       bt_l2cap_send_channel(0x40, mdat, mlen);
+}
+
diff --git a/metawatch/sharp_mem_lcd.c b/metawatch/sharp_mem_lcd.c
new file mode 100644 (file)
index 0000000..df5b3ed
--- /dev/null
@@ -0,0 +1,113 @@
+// taken and adapted from
+// Programming Sharp’s Memory LCDs
+// by Ken Green
+
+// LCD commands - Note: the bits are reversed per the memory LCD data
+// sheets because of the order the bits are shifted out in the SPI
+// port.
+#define MLCD_WR 0x80           //MLCD write line command
+#define MLCD_CM 0x20           //MLCD clear memory command
+#define MLCD_NO 0x00           //MLCD NOP command (used to switch VCOM)
+
+//LCD resolution
+#define MLCD_XRES 96           //pixels per horizontal line
+#define MLCD_YRES 96           //pixels per vertical line
+#define MLCD_BYTES_LINE MLCD_XRES / 8 //number of bytes in a line
+#define MLCD_BUF_SIZE MLCD_YRES * MLCD_BYTES_LINE
+
+//defines the VCOM bit in the command word that goes to the LCD
+#define VCOM_HI 0x40
+#define VCOM_LO 0x00
+
+static char *frmbufter; //current address of buffer to be displayed
+static char locbuf[MLCD_BYTES_LINE + 3];       // local line buffer
+static char linenum;                           // current line number being transmitted
+
+//there are 3 stages in transmitting a buffer:
+//stage 0: first line (has command in it)
+//stage 1: 2nd through last line (no command)
+//stage 2: null byte trailer
+static int stage = 0;
+
+//current state of vcom. This should alternate
+//between VCOM _ HI and VCOM _ LO on a 1-30 second
+//period.
+extern char vcom;
+
+////////////////////////////////////////////////////////////////
+//
+// This routine transmits the contents of the pixel memory in
+// a frame buffer to the memory LCD. It uses DMA to transfer
+// each individual line. The address of the frame buffer to
+// transfer is in the global variable show _ frm.
+//
+//
+// NOTE: this routine also acts as the interrupt handler for SPI interrupts.
+//
+//
+// INPUTS:
+// The SPI and DMA units must have been previously initialized
+// show _ frm:
+// pointer to the buffer to be displayed
+//
+////////////////////////////////////////////////////////////////
+void show _ frame(char *show _ frm) {
+int i;
+unsigned long sts;
+
+       switch(stage) {
+               case 0:
+                       // stage 0: sending the first line. The command is
+                       // included in this line
+                       set_scs(HIGH);  //set SCS high
+                       frmbufptr = show_frm;   //init pointer to frame buffer
+                       linebuf = locbuf; //init pointer to line buffer
+                       linenum = 1; //init line address
+
+                       //first line of data is preceeded by a write command
+                       *linebuf++ = MLCD _ WR | vcom; //command (note: no need to swap)
+                       *linebuf++ = swap(linenum++); //line number (address)
+
+                       for (i=0; i<MLCD_BYTES_LINE; i++)
+                               *linebuf++ = swap(*frmbufptr++); //swap the order of the bits
+                       *linebuf++ = 0; //trailer
+
+                       //Setup the SPI DMA controller (starting addr, size)
+                       TransferSetup(locbuf, linebuf - locbuf);
+                       //Start the xfer
+                       TransferStart;
+                       stage = 1; //set to next stage
+                       break;
+
+               case 1: //Sending a line (other than the first line). At this
+                       //point the DMA transfer for the previous line is done
+                       //and the channel disabled.
+                       linebuf = locbuf; //init pointer to line buffer
+                       *linebuf++ = swap(linenum++); //line number
+                       for (i=0; i<MLCD_BYTES_LINE; i++)
+                               *linebuf++ = swap(*frmbufptr++); //swap the order of the bits
+                       *linebuf++ = 0; //trailer
+                       //set up DMA control
+                       TransferSetup(locbuf, linebuf - locbuf);
+                       //Start the xfer
+                       TransferStart;
+                       if (linenum > MLCD_YRES)
+                               stage = 2; //all lines sent, go to next stage
+                       break;
+               case 2:
+                       // All lines sent, send a fi nal null byte trailer. The DMA
+                       //transfer of the last line is fi nished and the channel
+                       //disabled. All that is left is to write a trailing null
+                       //byte. It’s not worth using DMA to transfer 1 byte, so
+                       //it’s done by directing writing to the SPI port.
+                       //Write the last (null) byte
+                       Write_to_SPI(0);
+                       //Since there is no interrupt on transmit buffer empty, loop
+                       //here until the byte is sent, then drop SCS.
+                       i = 0;
+                       while (SPI_BSY); //wait until done
+                       set_scs(LOW);
+                       stage = 0; //go back to stage 0 - sending out first line
+       }
+}
+
diff --git a/metawatch/sintab.py b/metawatch/sintab.py
new file mode 100644 (file)
index 0000000..5e693b3
--- /dev/null
@@ -0,0 +1,9 @@
+import sys
+import math
+
+sys.stdout.write ("int16_t sintab[]={ ")
+
+for i in range (0, 360):
+       sys.stdout.write ("%4.0f," % (math.sin(((2*3.14159265358979323846)/360)*i)*100))
+
+sys.stdout.write ("};\n")