├── linux ├── c_demo │ ├── Makefile │ └── slic_conv.c └── cpp_demo │ ├── Makefile │ └── main.cpp ├── library.properties ├── examples ├── slic_on_avr │ ├── slic_on_avr.ino │ ├── homer_head_16.h │ └── arduino_logo.h └── slic_encode_decode │ └── slic_encode_decode.ino ├── src ├── slic.cpp ├── slic.h └── slic.inl ├── README.md └── LICENSE /linux/c_demo/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS=-c -Wall -O3 2 | 3 | all: slic_conv 4 | 5 | slic_conv: slic_conv.o 6 | $(CC) slic_conv.o -o slic_conv 7 | 8 | slic_conv.o: slic_conv.c ../../src/slic.h ../../src/slic.inl 9 | $(CC) $(CFLAGS) slic_conv.c 10 | 11 | clean: 12 | rm -rf *.o slic_conv 13 | 14 | -------------------------------------------------------------------------------- /linux/cpp_demo/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS=-c -Wall -O3 2 | 3 | all: slic_test 4 | 5 | slic_test: main.o slic.o 6 | $(CXX) main.o slic.o -o slic_test 7 | 8 | main.o: main.cpp ../../src/slic.h ../../src/slic.inl 9 | $(CXX) $(CFLAGS) main.cpp 10 | 11 | slic.o: ../../src/slic.cpp 12 | $(CXX) $(CFLAGS) ../../src/slic.cpp 13 | 14 | clean: 15 | rm -rf *.o slic_test 16 | 17 | -------------------------------------------------------------------------------- /library.properties: -------------------------------------------------------------------------------- 1 | name=SLIC 2 | version=1.0.2 3 | author=Larry Bank 4 | maintainer=Larry Bank 5 | sentence=Simple lossless image codec. 6 | paragraph=A fast and effective image codec which can run on almost any microcontroller. Supports all standard pixel types and a flexible API allows it to work in almost any environment. 7 | category=Display 8 | url=https://github.com/bitbank2/SLIC 9 | architectures=* 10 | includes=slic.h 11 | -------------------------------------------------------------------------------- /linux/cpp_demo/main.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // main.cpp 3 | // SLIC test 4 | // 5 | // Created by Larry Bank on 2/14/22. 6 | // Demonstrates the SLIC library 7 | // by generating a compressed image dynamically 8 | // 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include "../../src/slic.h" 14 | SLIC slic; // static instance of class 15 | 16 | int main(int argc, const char * argv[]) { 17 | int rc; 18 | int iOutSize, iBufferSize; 19 | FILE *ohandle; 20 | uint8_t *pOutput; 21 | uint16_t usLine[128]; // temp line 22 | int iWidth, iHeight, iBpp, iPitch; 23 | 24 | if (argc != 2) { 25 | printf("SLIC demo program\n"); 26 | printf("Usage: slic_demo \n"); 27 | return 0; 28 | } 29 | iWidth = iHeight = 128; 30 | iPitch = iWidth*2; 31 | iBpp = 16; 32 | iBufferSize = iWidth*iHeight*2; 33 | pOutput = (uint8_t *)malloc(iBufferSize); 34 | // Initialize the encoder 35 | rc = slic.init_encode_ram(iWidth, iHeight, iBpp, NULL, pOutput, iBufferSize); 36 | if (rc == SLIC_SUCCESS) { 37 | for (int y=0; y 18 | #include 19 | 20 | #include "homer_head_16.h" 21 | #include "arduino_logo.h" 22 | 23 | static SLIC slic; 24 | static SPILCD lcd; 25 | uint16_t usTemp[320]; 26 | 27 | #define TFT_CS 10 28 | #define TFT_DC 9 29 | #define TFT_RST 8 30 | #define TFT_LED -1 31 | #define TFT_MOSI 11 32 | #define TFT_SCK 13 33 | #define DISPLAY_WIDTH 320 34 | #define DISPLAY_HEIGHT 240 35 | 36 | void ShowImage(const uint8_t *pImage, int image_size) 37 | { 38 | int rc, xoff, yoff; 39 | 40 | spilcdFill(&lcd, 0, DRAW_TO_LCD); 41 | rc = slic.init_decode_flash((uint8_t *)pImage, image_size, NULL); 42 | xoff = (DISPLAY_WIDTH - slic.get_width())/2; 43 | yoff = (DISPLAY_HEIGHT - slic.get_height())/2; 44 | // set the memory window for the whole image (centered) 45 | spilcdSetPosition(&lcd, xoff, yoff, slic.get_width(), slic.get_height(), DRAW_TO_LCD); 46 | for (int y=0; y 17 | #include 18 | 19 | #include "slic.h" 20 | // include the C code which does the actual work 21 | #include "slic.inl" 22 | 23 | int SLIC::init_encode_ram(uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, uint8_t *pOut, int iOutSize) 24 | { 25 | return slic_init_encode(NULL, &_slic, iWidth, iHeight, iBpp, pPalette, NULL, NULL, pOut, iOutSize); 26 | } /* init_encode() */ 27 | 28 | int SLIC::init_encode(const char *filename, uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_WRITE_CALLBACK *pfnWrite) 29 | { 30 | return slic_init_encode(filename, &_slic, iWidth, iHeight, iBpp, pPalette, pfnOpen, pfnWrite, NULL, 0); 31 | } /* init_encode() */ 32 | 33 | int SLIC::encode(uint8_t *pPixels, int iPixelCount) 34 | { 35 | return slic_encode(&_slic, pPixels, iPixelCount); 36 | } /* encode() */ 37 | 38 | int SLIC::init_decode_ram(uint8_t *pData, int iDataSize, uint8_t *pPalette) 39 | { 40 | return slic_init_decode(NULL, &_slic, pData, iDataSize, pPalette, NULL, NULL); 41 | } /* init_decode_ram() */ 42 | 43 | int SLIC::init_decode_flash(uint8_t *pData, int iDataSize, uint8_t *pPalette) 44 | { 45 | return slic_init_decode(NULL, &_slic, pData, iDataSize, pPalette, NULL, slic_flash_read); 46 | } /* init_decode_flash() */ 47 | 48 | int SLIC::init_decode(const char *filename, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_READ_CALLBACK *pfnRead) 49 | { 50 | return slic_init_decode(filename, &_slic, NULL, 0, pPalette, pfnOpen, pfnRead); 51 | } /* init_decode() */ 52 | 53 | int SLIC::decode(uint8_t *pOut, int iOutSize) 54 | { 55 | return slic_decode(&_slic, pOut, iOutSize); 56 | } /* decode() */ 57 | 58 | int SLIC::get_output_size() 59 | { 60 | return _slic.iOffset; 61 | } /* get_output_size() */ 62 | 63 | int SLIC::get_width() 64 | { 65 | return _slic.width; 66 | } /* get_width() */ 67 | 68 | int SLIC::get_height() 69 | { 70 | return _slic.height; 71 | } /* get_height() */ 72 | 73 | int SLIC::get_bpp() 74 | { 75 | return _slic.bpp; 76 | } /* get_bpp() */ 77 | 78 | int SLIC::get_colorspace() 79 | { 80 | return _slic.colorspace; 81 | } /* get_colorspace() */ 82 | 83 | -------------------------------------------------------------------------------- /examples/slic_encode_decode/slic_encode_decode.ino: -------------------------------------------------------------------------------- 1 | // 2 | // SLIC encode+decode example 3 | // written by Larry Bank 4 | // 5 | // A sketch to demonstrate how to encode and decode 6 | // SLIC data on a resource constrained device 7 | // This code was tested on the Arduino Nano Every (ATMega4809 MCU) 8 | // 9 | #include 10 | #include 11 | 12 | static SLIC slic; 13 | static SPILCD lcd; 14 | uint16_t usTemp[240]; 15 | uint8_t ucImage[2048]; 16 | #define TFT_CS 10 17 | #define TFT_DC 9 18 | #define TFT_RST 8 19 | #define TFT_LED -1 20 | #define TFT_MOSI 11 21 | #define TFT_SCK 13 22 | #define DISPLAY_WIDTH 240 23 | #define DISPLAY_HEIGHT 240 24 | 25 | // 26 | // Generate an image dynamically and 27 | // compress it with the SLIC codec 28 | // into a RAM buffer 29 | // 30 | int CreateImage(void) 31 | { 32 | int rc, x, y; 33 | char szTemp[32]; 34 | // Initialize the encoder to output to our RAM buffer 35 | rc = slic.init_encode_ram(128, 128, 16, NULL, ucImage, sizeof(ucImage)); 36 | if (rc == SLIC_SUCCESS) { 37 | // Create a 128x128xRGB565 image 38 | for (y=0; y<128; y++) { 39 | if (y == 0 || y == 127) { // solid lines on top/bottom 40 | for (x=0; x<128; x++) { 41 | usTemp[x] = 0xffff; // white border 42 | } 43 | } else { 44 | usTemp[0] = usTemp[127] = 0xffff; // white edges 45 | // blue background 46 | for (x=1; x<127; x++) { 47 | usTemp[x] = 0x1f; 48 | } 49 | usTemp[y] = usTemp[127-y] = 0x7e0; // green X down the middle 50 | } 51 | slic.encode((uint8_t *)usTemp, 128); // encode 128 pixels (this line) 52 | } // for y 53 | spilcdWriteString(&lcd, 0,0,(char *)"SLIC encoding produced", 0xffe0,0,FONT_8x8, DRAW_TO_LCD); 54 | sprintf(szTemp, "%d bytes of compressed data", slic.get_output_size()); 55 | spilcdWriteString(&lcd, 0,10,szTemp, 0xffe0,0,FONT_8x8, DRAW_TO_LCD); 56 | sprintf(szTemp, "(A ~%d:1 compression ratio)", (128*128*2)/slic.get_output_size()); 57 | spilcdWriteString(&lcd, 0,20,szTemp, 0xffe0,0,FONT_8x8, DRAW_TO_LCD); 58 | return slic.get_output_size(); 59 | } else { 60 | Serial.print("SLIC encoder returned error - "); 61 | Serial.println(rc, DEC); 62 | return 0; 63 | } 64 | } /* CreateImage() */ 65 | 66 | void ShowImage(uint8_t *pImage, int image_size) 67 | { 68 | int rc, xoff, yoff; 69 | 70 | rc = slic.init_decode_ram((uint8_t *)pImage, image_size, NULL); 71 | Serial.print("Decoding a "); 72 | Serial.print(slic.get_width(), DEC); 73 | Serial.print(" x "); 74 | Serial.print(slic.get_height(), DEC); 75 | Serial.println(" image"); 76 | xoff = (DISPLAY_WIDTH - slic.get_width())/2; 77 | yoff = (DISPLAY_HEIGHT - slic.get_height())/2; 78 | spilcdSetPosition(&lcd, xoff, yoff, slic.get_width(), slic.get_height(), DRAW_TO_LCD); 79 | for (int y=0; y 4 | Written by Larry Bank
5 | bitbank@pobox.com
6 | 7 | What is it? 8 | ----------- 9 | An 'embedded-friendly' (aka Arduino) image compression format/codec that supports most common pixel types, is fast to compress, fast to decompress and easily adds useful compression to many projects that would otherwise be unable to use popular formats like JPEG/PNG/TIFF/WebP/etc 10 | 11 | What isn't it? 12 | -------------- 13 | A perfect image codec that solves every problem and fills every need. As the name implies, it's a simple yet effective format that opens a few new doors. 14 | 15 | Why did you write it? 16 | --------------------- 17 | I think there is a need to fill a gap in the current image compression standards - a fast+simple lossless codec that can run well on resource constrained (e.g. embedded) systems. Written in C99, it doesn't require a file system nor the C-runtime library to function, so it's perfectly suited to run on small microcontrollers with limited memory. It also directly supports RGB565 pixels, which seems to be pretty rare in the image file format world. It's extremely fast (of course) and has a good worst-case behavior. The compression scheme uses run-length, palette/cache and difference coding. It works well on many types of images, except for photos with many unique colors. I specifically tailored the compression to work best on screenshots, charts, and 'computerish' images. 18 | 19 | Why does it look so similar to QOI? 20 | ----------------------------------- 21 | I started working with the QOI format and it gave me some good ideas as a starting point, but the stated goals and limitations of the format were preventing me from supporting that project. 22 | 23 | What's special about it? 24 | ------------------------ 25 | As with all of my recent projects, my aim is to make it fast, simple and easy to integrate. What's special is that it works so effectively on a wide range of images, doesn't require much RAM nor a file system and has a simple API accessible as C or C++. It's extremely easy to integrate into any project and doesn't take up much code space nor RAM. 26 | 27 | Click the image below to see a Youtube video of it running on a 8Mhz ATMega328 (8-bit MCU w/2K RAM, 32K FLASH) decoding images to a 320x240 SPI LCD. 28 | 29 | [![SLIC running on ATMega328](https://img.youtube.com/vi/8YeGYrjqi5Y/0.jpg)](https://www.youtube.com/watch?v=8YeGYrjqi5Y) 30 | 31 | Feature summary 32 | --------------- 33 | - Runs on any CPU/MCU with at least 1K of free RAM 34 | - No external dependencies (including malloc/free) 35 | - Allows memory to memory encode and decode 36 | - Can work with files through callback functions you provide 37 | - Extremely fast yet extremely effective at compressing many types of images 38 | - Encode and decode an image by as few or as many pixels at a time as you like 39 | - Supported Pixel types: 8-bit grayscale, 8-bit palette, 24/32-bit truecolor, and RGB565 40 | - Arduino-style C++ library class with simple API 41 | - Can by built as a straight C project as well 42 | 43 | FAQ 44 | --- 45 | Q0: Does it run on the Arduino Uno? 46 | A0: Yes! You can both encode and decode images on the Uno. 8-bit Palette images are more difficult because you need a 768-byte palette. 47 | 48 | Q1: How does it perform compared to PNG and GIF? 49 | A1: It's faster than both, but usually underperforms both in terms of compression. SLIC can sometimes compress better than PNG for 24 or 32-bpp images. 50 | 51 | Q2: What type of images does SLIC compress well? 52 | A2: SLIC does well with smooth gradients and areas of common colors. 53 | 54 | Q3: What type of images does SLIC compress poorly? 55 | A3: Images with shot noise or lots of unique colors (e.g. photos of people/places) don't compress well. 56 | 57 | Q4: What's the easiest way to start using SLIC images in my project? 58 | A4: Peruse the Wiki for info about the API, create some ".slc" files with the command line tool in the linux directory and start your code from one of the examples. 59 | 60 | Q5: How can I easily create SLIC-compressed images from existing image files? 61 | A5: The command line tool in the linux directory should build correctly on MacOS+Windows as well. Use it to convert Windows BMP files into .slc files. 62 | 63 | Q6: How can I include SLIC const data in my code? 64 | A6: Use my image_to_c tool (https://github.com/bitbank2/image_to_c) to create C arrays of binary data to compile into your code. 65 | -------------------------------------------------------------------------------- /src/slic.h: -------------------------------------------------------------------------------- 1 | // 2 | // SLIC - Simple Lossless Image Code 3 | // 4 | // Lossless compression starting point based on QOI by Dominic Szablewski - https://phoboslab.org 5 | // 6 | // written by Larry Bank 7 | // bitbank@pobox.com 8 | // Project started 2/11/2022 9 | // 10 | // Copyright 2022 BitBank Software, Inc. All Rights Reserved. 11 | // Licensed under the Apache License, Version 2.0 (the "License"); 12 | // you may not use this file except in compliance with the License. 13 | // You may obtain a copy of the License at 14 | // http://www.apache.org/licenses/LICENSE-2.0 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | //=========================================================================== 21 | 22 | #ifndef __SLIC__ 23 | #define __SLIC__ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | #if defined(__x86__) || defined(__x86_64__) || defined(__aarch64__) 30 | #define UNALIGNED_ALLOWED 31 | #endif 32 | 33 | /* A pointer to a slic_header struct has to be supplied to all of qoi's functions. 34 | It describes either the input format (for slic_write and slic_encode), or is 35 | filled with the description read from the file header (for slic_read and 36 | slic_decode). 37 | 38 | The colorspace in this slic_header is an enum where 39 | 0 = sRGB, i.e. gamma scaled RGB channels and a linear alpha channel 40 | 1 = all channels are linear 41 | You may use the constants SLIC_SRGB or SLIC_LINEAR. The colorspace is purely 42 | informative. It will be saved to the file header, but does not affect 43 | how chunks are en-/decoded. */ 44 | 45 | enum { 46 | SLIC_SRGB = 0, 47 | SLIC_LINEAR, 48 | // additional colorspace types for images with 1 channel 49 | SLIC_GRAYSCALE, 50 | SLIC_PALETTE, 51 | SLIC_RGB565, 52 | SLIC_COLORSPACE_COUNT 53 | }; 54 | 55 | typedef struct pal_tag { 56 | uint8_t r; 57 | uint8_t g; 58 | uint8_t b; 59 | } slic_palette_entry; 60 | 61 | typedef struct header_tag { 62 | uint32_t magic; 63 | uint16_t width; 64 | uint16_t height; 65 | uint8_t bpp; 66 | uint8_t colorspace; 67 | } slic_header; 68 | 69 | #define SLIC_HEADER_SIZE 10 70 | 71 | typedef struct slic_file_tag 72 | { 73 | int32_t iPos; // current file position 74 | int32_t iSize; // file size 75 | uint8_t *pData; // memory file pointer 76 | void * fHandle; // class pointer to File/SdFat or whatever you want 77 | } SLICFILE; 78 | // 79 | // Define a small buffer to cache incoming and outgoing data 80 | // on AVR make it tiny since there's not much RAM to work with 81 | // 82 | #ifdef __AVR__ 83 | #define FILE_BUF_SIZE 128 84 | #else 85 | #define FILE_BUF_SIZE 1024 86 | #endif 87 | 88 | typedef int (SLIC_READ_CALLBACK)(SLICFILE *pFile, uint8_t *pBuf, int32_t iLen); 89 | typedef int (SLIC_WRITE_CALLBACK)(SLICFILE *pFile, uint8_t *pBuf, int32_t iLen); 90 | typedef int (SLIC_OPEN_CALLBACK)(const char *filename, SLICFILE *pFile); 91 | 92 | typedef struct state_tag { 93 | int32_t run; // number of consecutive identical pixels 94 | int32_t bad_run; // number of consecutive uncompressible pixels 95 | uint16_t width, height; 96 | int32_t iOffset; // input or output data offset 97 | uint8_t bpp, colorspace, extra_pixel, prev_op; 98 | uint8_t *pOutBuffer; // start of output buffer 99 | uint8_t *pOutPtr; // current output pointer 100 | uint8_t *pInPtr; // current input pointer 101 | uint8_t *pInEnd; 102 | uint32_t curr_pixel, prev_pixel; 103 | int32_t iPixelCount; 104 | int32_t iOutSize; // output buffer size 105 | SLIC_READ_CALLBACK *pfnRead; 106 | SLIC_WRITE_CALLBACK *pfnWrite; 107 | uint32_t index[64]; 108 | SLICFILE file; 109 | uint8_t ucFileBuf[FILE_BUF_SIZE]; 110 | } SLICSTATE; 111 | 112 | int slic_init_encode(const char *filename, SLICSTATE *pState, uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_WRITE_CALLBACK *pfnWrite, uint8_t *pOut, int iOutSize); 113 | int slic_encode(SLICSTATE *pState, uint8_t *pPixels, int iPixelCount); 114 | 115 | int slic_init_decode(const char *filename, SLICSTATE *pState, uint8_t *pData, int iDataSize, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_READ_CALLBACK *pfnRead); 116 | int slic_decode(SLICSTATE *pState, uint8_t *pOut, int iOutSize); 117 | 118 | #ifdef __cplusplus 119 | } 120 | #endif 121 | 122 | #define SLIC_OP_INDEX 0x00 /* 00xxxxxx */ 123 | #define SLIC_OP_DIFF 0x40 /* 01xxxxxx */ 124 | #define SLIC_OP_LUMA 0x80 /* 10xxxxxx */ 125 | #define SLIC_OP_RUN 0xc0 /* 11xxxxxx */ 126 | #define SLIC_OP_RUN256 0xfc /* 11111100 */ 127 | #define SLIC_OP_RUN1024 0xfd /* 11111101 */ 128 | #define SLIC_OP_RGB 0xfe /* 11111110 */ 129 | #define SLIC_OP_RGBA 0xff /* 11111111 */ 130 | 131 | // gray / palette ops 132 | #define SLIC_OP_RUN8 0x00 133 | #define SLIC_OP_RUN8_256 0x3F 134 | #define SLIC_OP_RUN8_1024 0x3E 135 | #define SLIC_OP_BADRUN8 0x40 136 | #define SLIC_OP_DIFF8 0x80 137 | #define SLIC_OP_INDEX8 0xc0 138 | 139 | #define SLIC_GRAY_HASH(C) (((C * 1) + ((C >> 4) * 6)) & 0x7) 140 | 141 | // RGB565 ops 142 | #define SLIC_OP_RUN16 0x00 143 | #define SLIC_OP_RUN16_256 0x3F 144 | #define SLIC_OP_RUN16_1024 0x3E 145 | #define SLIC_OP_BADRUN16 0x40 146 | #define SLIC_OP_DIFF16 0x80 147 | #define SLIC_OP_INDEX16 0xc0 148 | 149 | #define SLIC_RGB565_HASH(C) ((((C & 0x1f) * 1) + (((C >> 5) & 0x3f) * 6) + ((C >> 11) * 12)) & 0x7) 150 | 151 | #define SLIC_OP_MASK 0xc0 /* 11000000 */ 152 | 153 | // SLIC_MAGIC = "SLIC" 154 | #define SLIC_MAGIC 0x43494C53 155 | 156 | enum { 157 | SLIC_SUCCESS = 0, 158 | SLIC_DONE, 159 | SLIC_INVALID_PARAM, 160 | SLIC_BAD_FILE, 161 | SLIC_DECODE_ERROR, 162 | SLIC_IO_ERROR, 163 | SLIC_ENCODE_OVERFLOW 164 | }; 165 | 166 | #ifdef __cplusplus 167 | // 168 | // The SLIC class wraps portable C code which does the actual work 169 | // 170 | class SLIC 171 | { 172 | public: 173 | int init_encode_ram(uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, uint8_t *pOut, int iOutSize); 174 | int init_encode(const char *filename, uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_WRITE_CALLBACK *pfnWrite); 175 | int encode(uint8_t *pPixels, int iPixelCount); 176 | 177 | int init_decode_ram(uint8_t *pData, int iDataSize, uint8_t *pPalette); 178 | int init_decode_flash(uint8_t *pData, int iDataSize, uint8_t *pPalette); 179 | int init_decode(const char *filename, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_READ_CALLBACK *pfnRead); 180 | int decode(uint8_t *pOut, int iOutSize); 181 | int get_width(); 182 | int get_height(); 183 | int get_bpp(); 184 | int get_colorspace(); 185 | int get_output_size(); 186 | private: 187 | SLICSTATE _slic; 188 | }; 189 | #endif // c++ 190 | 191 | #endif // __SLIC__ 192 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2020 BitBank Software, Inc. All rights reserved. 2 | 3 | Apache License 4 | Version 2.0, January 2004 5 | http://www.apache.org/licenses/ 6 | 7 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 8 | 9 | 1. Definitions. 10 | 11 | "License" shall mean the terms and conditions for use, reproduction, 12 | and distribution as defined by Sections 1 through 9 of this document. 13 | 14 | "Licensor" shall mean the copyright owner or entity authorized by 15 | the copyright owner that is granting the License. 16 | 17 | "Legal Entity" shall mean the union of the acting entity and all 18 | other entities that control, are controlled by, or are under common 19 | control with that entity. For the purposes of this definition, 20 | "control" means (i) the power, direct or indirect, to cause the 21 | direction or management of such entity, whether by contract or 22 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 23 | outstanding shares, or (iii) beneficial ownership of such entity. 24 | 25 | "You" (or "Your") shall mean an individual or Legal Entity 26 | exercising permissions granted by this License. 27 | 28 | "Source" form shall mean the preferred form for making modifications, 29 | including but not limited to software source code, documentation 30 | source, and configuration files. 31 | 32 | "Object" form shall mean any form resulting from mechanical 33 | transformation or translation of a Source form, including but 34 | not limited to compiled object code, generated documentation, 35 | and conversions to other media types. 36 | 37 | "Work" shall mean the work of authorship, whether in Source or 38 | Object form, made available under the License, as indicated by a 39 | copyright notice that is included in or attached to the work 40 | (an example is provided in the Appendix below). 41 | 42 | "Derivative Works" shall mean any work, whether in Source or Object 43 | form, that is based on (or derived from) the Work and for which the 44 | editorial revisions, annotations, elaborations, or other modifications 45 | represent, as a whole, an original work of authorship. For the purposes 46 | of this License, Derivative Works shall not include works that remain 47 | separable from, or merely link (or bind by name) to the interfaces of, 48 | the Work and Derivative Works thereof. 49 | 50 | "Contribution" shall mean any work of authorship, including 51 | the original version of the Work and any modifications or additions 52 | to that Work or Derivative Works thereof, that is intentionally 53 | submitted to Licensor for inclusion in the Work by the copyright owner 54 | or by an individual or Legal Entity authorized to submit on behalf of 55 | the copyright owner. For the purposes of this definition, "submitted" 56 | means any form of electronic, verbal, or written communication sent 57 | to the Licensor or its representatives, including but not limited to 58 | communication on electronic mailing lists, source code control systems, 59 | and issue tracking systems that are managed by, or on behalf of, the 60 | Licensor for the purpose of discussing and improving the Work, but 61 | excluding communication that is conspicuously marked or otherwise 62 | designated in writing by the copyright owner as "Not a Contribution." 63 | 64 | "Contributor" shall mean Licensor and any individual or Legal Entity 65 | on behalf of whom a Contribution has been received by Licensor and 66 | subsequently incorporated within the Work. 67 | 68 | 2. Grant of Copyright License. Subject to the terms and conditions of 69 | this License, each Contributor hereby grants to You a perpetual, 70 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 71 | copyright license to reproduce, prepare Derivative Works of, 72 | publicly display, publicly perform, sublicense, and distribute the 73 | Work and such Derivative Works in Source or Object form. 74 | 75 | 3. Grant of Patent License. Subject to the terms and conditions of 76 | this License, each Contributor hereby grants to You a perpetual, 77 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 78 | (except as stated in this section) patent license to make, have made, 79 | use, offer to sell, sell, import, and otherwise transfer the Work, 80 | where such license applies only to those patent claims licensable 81 | by such Contributor that are necessarily infringed by their 82 | Contribution(s) alone or by combination of their Contribution(s) 83 | with the Work to which such Contribution(s) was submitted. If You 84 | institute patent litigation against any entity (including a 85 | cross-claim or counterclaim in a lawsuit) alleging that the Work 86 | or a Contribution incorporated within the Work constitutes direct 87 | or contributory patent infringement, then any patent licenses 88 | granted to You under this License for that Work shall terminate 89 | as of the date such litigation is filed. 90 | 91 | 4. Redistribution. You may reproduce and distribute copies of the 92 | Work or Derivative Works thereof in any medium, with or without 93 | modifications, and in Source or Object form, provided that You 94 | meet the following conditions: 95 | 96 | (a) You must give any other recipients of the Work or 97 | Derivative Works a copy of this License; and 98 | 99 | (b) You must cause any modified files to carry prominent notices 100 | stating that You changed the files; and 101 | 102 | (c) You must retain, in the Source form of any Derivative Works 103 | that You distribute, all copyright, patent, trademark, and 104 | attribution notices from the Source form of the Work, 105 | excluding those notices that do not pertain to any part of 106 | the Derivative Works; and 107 | 108 | (d) If the Work includes a "NOTICE" text file as part of its 109 | distribution, then any Derivative Works that You distribute must 110 | include a readable copy of the attribution notices contained 111 | within such NOTICE file, excluding those notices that do not 112 | pertain to any part of the Derivative Works, in at least one 113 | of the following places: within a NOTICE text file distributed 114 | as part of the Derivative Works; within the Source form or 115 | documentation, if provided along with the Derivative Works; or, 116 | within a display generated by the Derivative Works, if and 117 | wherever such third-party notices normally appear. The contents 118 | of the NOTICE file are for informational purposes only and 119 | do not modify the License. You may add Your own attribution 120 | notices within Derivative Works that You distribute, alongside 121 | or as an addendum to the NOTICE text from the Work, provided 122 | that such additional attribution notices cannot be construed 123 | as modifying the License. 124 | 125 | You may add Your own copyright statement to Your modifications and 126 | may provide additional or different license terms and conditions 127 | for use, reproduction, or distribution of Your modifications, or 128 | for any such Derivative Works as a whole, provided Your use, 129 | reproduction, and distribution of the Work otherwise complies with 130 | the conditions stated in this License. 131 | 132 | 5. Submission of Contributions. Unless You explicitly state otherwise, 133 | any Contribution intentionally submitted for inclusion in the Work 134 | by You to the Licensor shall be under the terms and conditions of 135 | this License, without any additional terms or conditions. 136 | Notwithstanding the above, nothing herein shall supersede or modify 137 | the terms of any separate license agreement you may have executed 138 | with Licensor regarding such Contributions. 139 | 140 | 6. Trademarks. This License does not grant permission to use the trade 141 | names, trademarks, service marks, or product names of the Licensor, 142 | except as required for reasonable and customary use in describing the 143 | origin of the Work and reproducing the content of the NOTICE file. 144 | 145 | 7. Disclaimer of Warranty. Unless required by applicable law or 146 | agreed to in writing, Licensor provides the Work (and each 147 | Contributor provides its Contributions) on an "AS IS" BASIS, 148 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 149 | implied, including, without limitation, any warranties or conditions 150 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 151 | PARTICULAR PURPOSE. You are solely responsible for determining the 152 | appropriateness of using or redistributing the Work and assume any 153 | risks associated with Your exercise of permissions under this License. 154 | 155 | 8. Limitation of Liability. In no event and under no legal theory, 156 | whether in tort (including negligence), contract, or otherwise, 157 | unless required by applicable law (such as deliberate and grossly 158 | negligent acts) or agreed to in writing, shall any Contributor be 159 | liable to You for damages, including any direct, indirect, special, 160 | incidental, or consequential damages of any character arising as a 161 | result of this License or out of the use or inability to use the 162 | Work (including but not limited to damages for loss of goodwill, 163 | work stoppage, computer failure or malfunction, or any and all 164 | other commercial damages or losses), even if such Contributor 165 | has been advised of the possibility of such damages. 166 | 167 | 9. Accepting Warranty or Additional Liability. While redistributing 168 | the Work or Derivative Works thereof, You may choose to offer, 169 | and charge a fee for, acceptance of support, warranty, indemnity, 170 | or other liability obligations and/or rights consistent with this 171 | License. However, in accepting such obligations, You may act only 172 | on Your own behalf and on Your sole responsibility, not on behalf 173 | of any other Contributor, and only if You agree to indemnify, 174 | defend, and hold each Contributor harmless for any liability 175 | incurred by, or claims asserted against, such Contributor by reason 176 | of your accepting any such warranty or additional liability. 177 | 178 | END OF TERMS AND CONDITIONS 179 | 180 | APPENDIX: How to apply the Apache License to your work. 181 | 182 | To apply the Apache License to your work, attach the following 183 | boilerplate notice, with the fields enclosed by brackets "[]" 184 | replaced with your own identifying information. (Don't include 185 | the brackets!) The text should be enclosed in the appropriate 186 | comment syntax for the file format. We also recommend that a 187 | file or class name and description of purpose be included on the 188 | same "printed page" as the copyright notice for easier 189 | identification within third-party archives. 190 | 191 | Copyright [yyyy] [name of copyright owner] 192 | 193 | Licensed under the Apache License, Version 2.0 (the "License"); 194 | you may not use this file except in compliance with the License. 195 | You may obtain a copy of the License at 196 | 197 | http://www.apache.org/licenses/LICENSE-2.0 198 | 199 | Unless required by applicable law or agreed to in writing, software 200 | distributed under the License is distributed on an "AS IS" BASIS, 201 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 202 | See the License for the specific language governing permissions and 203 | limitations under the License. 204 | 205 | -------------------------------------------------------------------------------- /linux/c_demo/slic_conv.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "../../src/slic.h" 6 | #include "../../src/slic.inl" 7 | 8 | /* Windows BMP header for RGB565 images */ 9 | uint8_t winbmphdr_rgb565[138] = 10 | {0x42,0x4d,0,0,0,0,0,0,0,0,0x8a,0,0,0,0x7c,0, 11 | 0,0,0,0,0,0,0,0,0,0,1,0,8,0,3,0, 12 | 0,0,0,0,0,0,0x13,0x0b,0,0,0x13,0x0b,0,0,0,0, 13 | 0,0,0,0,0,0,0,0xf8,0,0,0xe0,0x07,0,0,0x1f,0, 14 | 0,0,0,0,0,0,0x42,0x47,0x52,0x73,0,0,0,0,0,0, 15 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 16 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 17 | 0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, 18 | 0,0,0,0,0,0,0,0,0,0}; 19 | 20 | /* Windows BMP header for 8/24/32-bit images (54 bytes) */ 21 | uint8_t winbmphdr[54] = 22 | {0x42,0x4d, 23 | 0,0,0,0, /* File size */ 24 | 0,0,0,0,0x36,4,0,0,0x28,0,0,0, 25 | 0,0,0,0, /* Xsize */ 26 | 0,0,0,0, /* Ysize */ 27 | 1,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* number of planes, bits per pel */ 28 | 0,0,0,0}; 29 | 30 | // 31 | // RGB565 image conversion test program 32 | // 33 | // 34 | // Minimal code to save frames as Windows BMP files 35 | // 36 | void WriteBMP(char *fname, uint8_t *pBitmap, uint8_t *pPalette, int cx, int cy, int bpp) 37 | { 38 | FILE * oHandle; 39 | int i, bsize, lsize; 40 | uint32_t *l; 41 | uint8_t *s; 42 | uint8_t ucTemp[1024]; 43 | uint8_t *pHdr; 44 | int iHeaderSize; 45 | 46 | if (bpp == 16) { 47 | pHdr = winbmphdr_rgb565; 48 | iHeaderSize = sizeof(winbmphdr_rgb565); 49 | } else { 50 | pHdr = winbmphdr; 51 | iHeaderSize = sizeof(winbmphdr); 52 | } 53 | 54 | oHandle = fopen(fname, "w+b"); 55 | bsize = (cx * bpp) >> 3; 56 | lsize = (bsize + 3) & 0xfffc; /* Width of each line */ 57 | pHdr[26] = 1; // number of planes 58 | pHdr[28] = (uint8_t)bpp; 59 | 60 | /* Write the BMP header */ 61 | l = (uint32_t *)&pHdr[2]; 62 | i =(cy * lsize) + iHeaderSize; 63 | if (bpp <= 8) 64 | i += 1024; 65 | *l = (uint32_t)i; /* Store the file size */ 66 | l = (uint32_t *)&pHdr[34]; // data size 67 | i = (cy * lsize); 68 | *l = (uint32_t)i; // store data size 69 | l = (uint32_t *)&pHdr[18]; 70 | *l = (uint32_t)cx; /* width */ 71 | *(l+1) = (uint32_t)cy; /* height */ 72 | if (bpp >= 24) { // non-palette write 73 | l = (uint32_t *)&pHdr[10]; // offset to image bits is less (no palette) 74 | *l = iHeaderSize; 75 | } 76 | fwrite(pHdr, 1, iHeaderSize, oHandle); 77 | if (bpp <= 8) { 78 | if (pPalette == NULL) {// create a grayscale palette 79 | int iDelta, iCount = 1<=0; i--) 102 | { 103 | s = &pBitmap[i*bsize]; 104 | if (bpp >= 24) { // swap R/B for Windows BMP byte order 105 | uint8_t ucTemp[2048]; 106 | int j, iBpp = bpp/8; 107 | uint8_t *d = ucTemp; 108 | for (j=0; j (1<> 3; 172 | pitch = (bytewidth + 3) & 0xfffc; // DWORD aligned 173 | // move up the pixels 174 | d = pBitmap; 175 | s = &pTemp[offset]; 176 | iDelta = pitch; 177 | if (h > 0) { 178 | iDelta = -pitch; 179 | s = &pTemp[offset + (h-1) * pitch]; 180 | } else { 181 | h = -h; 182 | } 183 | for (y=0; yiPos + iLen > pFile->iSize) { 234 | iLen = pFile->iSize - pFile->iPos; 235 | if (iLen <= 0) 236 | return 0; // past the end of file 237 | } 238 | memcpy(pBuf, &pFile->pData[pFile->iPos], iLen); 239 | pFile->iPos += iLen; 240 | return iLen; 241 | } /* slic_read_fake() */ 242 | 243 | int main(int argc, const char * argv[]) { 244 | int i, rc, iOutIndex; 245 | int iDataSize; 246 | FILE *ohandle; 247 | uint8_t *pOutput; 248 | int iWidth, iHeight, iBpp, iPitch; 249 | uint8_t ucPalette[1024]; 250 | uint8_t *pData, *pBitmap; 251 | SLICSTATE state; 252 | 253 | if (argc != 3 && argc != 2) { 254 | printf("SLIC codec library demo program\n"); 255 | printf("Usage: slic_conv \n"); 256 | printf("\nor (to generate an image dynamically)\n slic_conv \n"); 257 | printf("The input and output files can be either WinBMP (*.bmp) or SLIC (*.slc)\n"); 258 | return 0; 259 | } 260 | 261 | if (argc == 3) { 262 | iOutIndex = 2; // argv index of output filename 263 | i = (int)strlen(argv[1]); 264 | if (memcmp(&argv[1][i-4], ".slc", 4) == 0) { // input is SLIC file 265 | pData = ReadFile((char *)argv[1], &iDataSize); 266 | if (pData != NULL) { 267 | rc = slic_init_decode(NULL, &state, pData, iDataSize, ucPalette, NULL, slic_read_fake); 268 | printf("decompressing a slic %d x %d x %d-bpp file\n", state.width, state.height, state.bpp); 269 | pBitmap = (uint8_t *)malloc(state.width * state.height * (state.bpp >> 3) + 8); 270 | // do it in small runs for testing Arduino code 271 | for (int y=0; y> 3)], state.width); 273 | } // for y 274 | if (rc == SLIC_SUCCESS || rc == SLIC_DONE) { 275 | printf("success!\n"); 276 | WriteBMP((char *)argv[2], pBitmap, ucPalette, state.width, state.height, state.bpp); 277 | free(pBitmap); 278 | free(pData); 279 | } else { 280 | printf("slic_decode() returned %d\n", rc); 281 | } 282 | return 0; 283 | } else { 284 | printf("Error opening file %s\n", argv[1]); 285 | return -1; 286 | } 287 | } 288 | pBitmap = ReadBMP(argv[1], &iWidth, &iHeight, &iBpp, ucPalette); 289 | if (pBitmap == NULL) 290 | { 291 | fprintf(stderr, "Unable to open file: %s\n", argv[1]); 292 | return -1; // bad filename passed? 293 | } 294 | if (iBpp == 4) { 295 | // convert to 8-bpp to support this bitmap 296 | uint8_t uc, *s, *d, *pTemp = (uint8_t *)malloc(iWidth*iHeight); 297 | s = pBitmap; d = pTemp; 298 | for (int i=0; i> 4); 301 | *d++ = uc & 0xf; 302 | } 303 | free(pBitmap); 304 | pBitmap = pTemp; 305 | iBpp = 8; 306 | } 307 | iPitch = (iWidth * iBpp) >> 3; 308 | } else { // create the bitmap in code 309 | iOutIndex = 1; // argv index of output filename 310 | iWidth = iHeight = 128; 311 | iBpp = 16; 312 | iPitch = iWidth*sizeof(uint16_t); // create a RGB565 image 313 | pBitmap = (uint8_t *)malloc(128*128*sizeof(uint16_t)); 314 | for (int y=0; y>3) / iDataSize); 338 | ohandle = fopen(argv[iOutIndex], "w+b"); 339 | if (ohandle != NULL) { 340 | fwrite(pOutput, 1, iDataSize, ohandle); 341 | fclose(ohandle); 342 | } 343 | free(pOutput); 344 | } else { 345 | printf("Something went wrong...slic_encode returned NULL\n"); 346 | } 347 | free(pBitmap); 348 | return 0; 349 | } /* main() */ 350 | 351 | -------------------------------------------------------------------------------- /src/slic.inl: -------------------------------------------------------------------------------- 1 | // 2 | // SLIC - Simple Lossless Image Code 3 | // 4 | // Lossless compression starting point based on QOI by Dominic Szablewski - https://phoboslab.org 5 | // 6 | // Copyright 2022 BitBank Software, Inc. All Rights Reserved. 7 | // Licensed under the Apache License, Version 2.0 (the "License"); 8 | // you may not use this file except in compliance with the License. 9 | // You may obtain a copy of the License at 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, 13 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | // See the License for the specific language governing permissions and 15 | // limitations under the License. 16 | //=========================================================================== 17 | 18 | #ifdef ARDUINO 19 | #include 20 | #endif 21 | 22 | // Simple callback example for Harvard architecture FLASH memory access 23 | int slic_flash_read(SLICFILE *pFile, uint8_t *pBuf, int32_t iLen) 24 | { 25 | int iBytesRead = 0; 26 | #ifdef PROGMEM 27 | if (iLen + pFile->iPos > pFile->iSize) 28 | iLen = pFile->iSize - pFile->iPos; 29 | if (iLen < 0) 30 | return 0; 31 | memcpy_P(pBuf, &pFile->pData[pFile->iPos], iLen); 32 | pFile->iPos += iLen; 33 | iBytesRead = iLen; 34 | #endif // PROGMEM 35 | return iBytesRead; 36 | } /* slic_flash_read() */ 37 | 38 | int slic_init_encode(const char *filename, SLICSTATE *pState, uint16_t iWidth, uint16_t iHeight, int iBpp, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_WRITE_CALLBACK *pfnWrite, uint8_t *pOut, int iOutSize) { 39 | slic_header hdr; 40 | int rc; 41 | 42 | if (pState == NULL || iWidth < 1 || iHeight < 1 || (iBpp != 8 && iBpp != 16 && iBpp != 24 && iBpp != 32)) { 43 | return SLIC_INVALID_PARAM; 44 | } 45 | if (pfnOpen || pfnWrite || filename) { 46 | if (!(pfnOpen && filename)) { 47 | return SLIC_INVALID_PARAM; // if one is defined, so must the other 48 | } 49 | rc = (*pfnOpen)(filename, &pState->file); 50 | if (rc != SLIC_SUCCESS) 51 | return rc; 52 | } 53 | pState->run = 0; 54 | pState->bad_run = 0; 55 | pState->extra_pixel = 0; 56 | pState->width = iWidth; 57 | pState->height = iHeight; 58 | pState->bpp = iBpp; 59 | pState->pfnWrite = pfnWrite; 60 | if (pfnWrite) { 61 | pState->pOutPtr = pState->ucFileBuf; 62 | pState->pOutBuffer = pState->ucFileBuf; 63 | pState->iOutSize = FILE_BUF_SIZE; 64 | } else { 65 | pState->pOutPtr = pOut; 66 | pState->pOutBuffer = pOut; 67 | pState->iOutSize = iOutSize; 68 | } 69 | pState->iOffset = 0; 70 | pState->prev_op = -1; 71 | pState->curr_pixel = pState->prev_pixel = 0xff000000; 72 | pState->iPixelCount = pState->width * pState->height; 73 | // encode the header in the output to start 74 | hdr.width = iWidth; 75 | hdr.height = iHeight; 76 | hdr.bpp = iBpp; 77 | hdr.magic = SLIC_MAGIC; 78 | if (iBpp >= 24) 79 | hdr.colorspace = SLIC_SRGB; 80 | else if (iBpp == 16) 81 | hdr.colorspace = SLIC_RGB565; 82 | else if (iBpp == 8 && pPalette == NULL) 83 | hdr.colorspace = SLIC_GRAYSCALE; 84 | else 85 | hdr.colorspace = SLIC_PALETTE; 86 | memcpy(pState->pOutPtr, &hdr, SLIC_HEADER_SIZE); 87 | pState->pOutPtr += SLIC_HEADER_SIZE; 88 | if (pPalette && iBpp == 8) { 89 | memcpy(pState->pOutPtr, pPalette, 768); 90 | pState->pOutPtr += 768; 91 | } 92 | // for file writing, init output data size var 93 | pState->iOffset = (int)(pState->pOutPtr - pState->pOutBuffer); 94 | return SLIC_SUCCESS; 95 | } /* slic_init_encode() */ 96 | // 97 | // Output buffer is full and we need to write it 98 | // 99 | static uint8_t * dump_encoded_data(SLICSTATE *pState, uint8_t *pOut) 100 | { 101 | int iLen; 102 | 103 | iLen = (int)(pOut - pState->pOutBuffer); // length of data to write 104 | (*pState->pfnWrite)(&pState->file, pState->pOutBuffer, iLen); 105 | pState->iOffset += iLen; 106 | return pState->ucFileBuf; 107 | } /* dump_encoded_data() */ 108 | // 109 | // Encode 1 or more pixels into the output stream 110 | // 111 | int slic_encode(SLICSTATE *pState, uint8_t *s, int iPixelCount) { 112 | int iBpp, run, bad_run, prev_op; 113 | uint8_t *d; 114 | const uint8_t *pEnd, *pDstEnd; 115 | uint32_t *index; 116 | uint32_t px, px_prev; 117 | uint16_t px16, px16_prev, px16_next; 118 | uint16_t *index16, *s16, *pEnd16; 119 | 120 | if (pState == NULL || s == NULL || iPixelCount < 1) 121 | return SLIC_INVALID_PARAM; 122 | run = pState->run; 123 | d = pState->pOutPtr; 124 | bad_run = pState->bad_run; 125 | px_prev = pState->prev_pixel; 126 | prev_op = pState->prev_op; 127 | px = pState->curr_pixel; 128 | index = pState->index; 129 | iBpp = pState->bpp >> 3; 130 | if (iPixelCount > pState->iPixelCount) 131 | iPixelCount = pState->iPixelCount; 132 | pState->iPixelCount -= iPixelCount; 133 | pEnd = &s[iPixelCount * iBpp]; 134 | pDstEnd = &pState->pOutBuffer[pState->iOutSize-5]; // leave extra bytes for multi-byte ops 135 | 136 | if (iBpp == 1) { // grayscale or 8-bit palette image 137 | uint8_t px8, px8_prev, px8_next; 138 | uint8_t *index8 = (uint8_t *)pState->index; 139 | px8 = (uint8_t)pState->prev_pixel; 140 | px8_prev = (uint8_t)pState->curr_pixel; 141 | if (pState->extra_pixel) { 142 | pState->extra_pixel = 0; 143 | px8_next = s[0]; 144 | goto restart_8bit; // try again 145 | } 146 | while (s < pEnd) { 147 | if (d >= pDstEnd) { 148 | if (pState->pfnWrite) { 149 | d = dump_encoded_data(pState, d); 150 | bad_run = 0; // can't update bad_run count once written 151 | } else { 152 | return SLIC_ENCODE_OVERFLOW; 153 | } 154 | } 155 | px8 = *s++; 156 | px8_next = s[0]; 157 | if (px8 == px8_prev) { 158 | run++; 159 | prev_op = SLIC_OP_RUN8; 160 | } 161 | else { 162 | int index_pos, index_next; 163 | while (run >= 1024) { 164 | *d++ = SLIC_OP_RUN8_1024; 165 | run -= 1024; 166 | } 167 | while (run >= 256) { 168 | *d++ = SLIC_OP_RUN8_256; 169 | run -= 256; 170 | } 171 | while (run >= 62) { 172 | *d++ = SLIC_OP_RUN8 | 61; 173 | run -= 62; 174 | } 175 | if (run > 0) { 176 | *d++ = SLIC_OP_RUN8 | (run - 1); 177 | run = 0; 178 | } 179 | if (s == pEnd && pState->iPixelCount != 0) { 180 | // We're out of input on this run, but still have more pixels before the image is finished. Stop here and let it test this pair of pixels on the next call 181 | pState->extra_pixel = 1; 182 | goto exit_8bit; // save state and leave 183 | } 184 | // Entry point to retry compressing the last pixel as a pair with the current 185 | restart_8bit: 186 | index_pos = SLIC_GRAY_HASH(px8); 187 | index_next = SLIC_GRAY_HASH(px8_next); 188 | if (index8[index_pos] == px8 && index8[index_next] == px8_next && s < pEnd) { 189 | // store the pair as indices 190 | *d++ = SLIC_OP_INDEX8 | (index_pos | (index_next <<3)); 191 | s++; // count the next pixel too 192 | px8 = px8_next; // skipped ahead 1 pixel 193 | prev_op = SLIC_OP_INDEX8; 194 | } else { // try to do a pair of differences 195 | int d0, d1; 196 | 197 | index8[index_pos] = px8; 198 | d0 = px8 - px8_prev; 199 | d1 = px8_next - px8; 200 | if (d0 > -5 && d0 < 4 && d1 > -5 && d1 < 4) { 201 | d0 += 4; d1 += 4; 202 | *d++ = SLIC_OP_DIFF8 | (d0 | (d1 << 3)); 203 | index8[index_next] = px8_next; // we worked on a pair of pixels 204 | s++; // count the next pixel too 205 | px8 = px8_next; // skipped ahead 1 pixel 206 | prev_op = SLIC_OP_DIFF8; 207 | } else { // last resort - 'bad' pixels 208 | if (prev_op == SLIC_OP_BADRUN8 && bad_run < 64) { 209 | bad_run++; // add this bad pixel to an existing run 210 | *d++ = px8; 211 | d[-bad_run -1]++; 212 | } else { // start a new run of bad pixels 213 | *d++ = SLIC_OP_BADRUN8 | 0; 214 | *d++ = px8; 215 | bad_run = 1; 216 | prev_op = SLIC_OP_BADRUN8; 217 | } 218 | } 219 | } 220 | } 221 | px8_prev = px8; 222 | } // for each pixel 223 | if (pState->iPixelCount == 0) { // wrap up last repeats 224 | while (run >= 1024) { 225 | *d++ = SLIC_OP_RUN8_1024; 226 | run -= 1024; 227 | } 228 | while (run >= 256) { 229 | *d++ = SLIC_OP_RUN8_256; 230 | run -= 256; 231 | } 232 | while (run >= 62) { 233 | *d++ = SLIC_OP_RUN8 | 61; 234 | run -= 61; 235 | } 236 | if (run > 0) { 237 | *d++ = SLIC_OP_RUN8 | (run - 1); 238 | run = 0; 239 | } 240 | // If using a write callback, flush the last of the data 241 | if (pState->pfnWrite) { 242 | (*pState->pfnWrite)(&pState->file, pState->pOutBuffer, (int)(d - pState->pOutBuffer)); 243 | } else { 244 | pState->iOffset = (int)(d - pState->pOutBuffer); 245 | } 246 | } 247 | // save state 248 | exit_8bit: 249 | pState->curr_pixel = px8; 250 | pState->prev_pixel = px8_prev; 251 | pState->pOutPtr = d; 252 | pState->run = run; 253 | pState->bad_run = bad_run; 254 | pState->prev_op = prev_op; 255 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 256 | } // grayscale (channels == 1) 257 | 258 | else if (iBpp == 2) { // RGB565 259 | index16 = (uint16_t *)pState->index; 260 | s16 = (uint16_t *)s; 261 | pEnd16 = (uint16_t *)pEnd; 262 | px16 = (uint16_t)pState->curr_pixel; 263 | px16_prev = (uint16_t)pState->prev_pixel; 264 | if (pState->extra_pixel) { 265 | pState->extra_pixel = 0; 266 | px16_next = s16[0]; 267 | goto restart_rgb565; // try again 268 | } 269 | while (s16 < pEnd16) { 270 | if (d >= pDstEnd) { 271 | if (pState->pfnWrite) { 272 | d = dump_encoded_data(pState, d); 273 | bad_run = 0; // can't update bad_run count once written 274 | } else { 275 | return SLIC_ENCODE_OVERFLOW; 276 | } 277 | } 278 | px16 = *s16++; 279 | px16_next = s16[0]; 280 | if (px16 == px16_prev) { 281 | run++; 282 | prev_op = SLIC_OP_RUN16; 283 | } 284 | else { 285 | int index_pos, index_next; 286 | while (run >= 1024) { 287 | *d++ = SLIC_OP_RUN16_1024; 288 | run -= 1024; 289 | } 290 | while (run >= 256) { 291 | *d++ = SLIC_OP_RUN16_256; 292 | run -= 256; 293 | } 294 | while (run >= 62) { 295 | *d++ = SLIC_OP_RUN16 | 61; 296 | run -= 62; 297 | } 298 | if (run > 0) { 299 | *d++ = SLIC_OP_RUN16 | (run - 1); 300 | run = 0; 301 | } 302 | if (s16 == pEnd16 && pState->iPixelCount != 0) { 303 | // We're out of input on this run, but still have more pixels before the image is finished. Stop here and let it test this pair of pixels on the next call 304 | pState->extra_pixel = 1; 305 | goto exit_rgb565; // save state and leave 306 | } 307 | // Entry point to retry compressing the last pixel as a pair with the current 308 | restart_rgb565: 309 | index_pos = SLIC_RGB565_HASH(px16); 310 | index_next = SLIC_RGB565_HASH(px16_next); 311 | if (index16[index_pos] == px16 && index16[index_next] == px16_next && s16 < pEnd16) { 312 | // store the pair as indices (if we can access the second pixel) 313 | *d++ = SLIC_OP_INDEX16 | (index_pos | (index_next <<3)); 314 | s16++; // count the next pixel too 315 | px16 = px16_next; // skipped ahead 1 pixel 316 | prev_op = SLIC_OP_INDEX16; 317 | } else { // try to do a difference from prev pixel 318 | int dr, dg, db; 319 | 320 | index16[index_pos] = px16; 321 | dr = (px16 >> 11) - (px16_prev >> 11); 322 | dg = ((px16 >> 5) & 0x3f) - ((px16_prev >> 5) & 0x3f); 323 | db = (px16 & 0x1f) - (px16_prev & 0x1f); 324 | if (dr > -3 && dr < 2 && dg > -3 && dg < 2 && db > -3 && db < 2) { 325 | *d++ = SLIC_OP_DIFF16 | (dr + 2) << 4 | (dg + 2) << 2 | (db + 2); 326 | prev_op = SLIC_OP_DIFF16; 327 | } else { // last resort - 'bad' pixels 328 | if (prev_op == SLIC_OP_BADRUN16 && bad_run < 64) { 329 | bad_run++; // add this bad pixel to an existing run 330 | *d++ = (uint8_t)px16; 331 | *d++ = (uint8_t)(px16 >> 8); 332 | d[-1-(bad_run*2)]++; 333 | } else { // start a new run of bad pixels 334 | *d++ = SLIC_OP_BADRUN16 | 0; 335 | *d++ = (uint8_t)px16; 336 | *d++ = (uint8_t)(px16 >> 8); 337 | bad_run = 1; 338 | prev_op = SLIC_OP_BADRUN16; 339 | } 340 | } 341 | } 342 | } 343 | px16_prev = px16; 344 | } // for each pixel 345 | if (pState->iPixelCount == 0) { // wrap up any remaining repeats 346 | while (run >= 1024) { 347 | *d++ = SLIC_OP_RUN16_1024; 348 | run -= 1024; 349 | } 350 | while (run >= 256) { 351 | *d++ = SLIC_OP_RUN16_256; 352 | run -= 256; 353 | } 354 | while (run >= 62) { 355 | *d++ = SLIC_OP_RUN16 | 61; 356 | run -= 62; 357 | } 358 | if (run > 0) { 359 | *d++ = SLIC_OP_RUN16 | (run - 1); 360 | run = 0; 361 | } 362 | // If using a write callback, flush the last of the data 363 | if (pState->pfnWrite) { 364 | (*pState->pfnWrite)(&pState->file, pState->pOutBuffer, (int)(d - pState->pOutBuffer)); 365 | } else { 366 | pState->iOffset = (int)(d - pState->pOutBuffer); 367 | } 368 | } 369 | // save state 370 | exit_rgb565: 371 | pState->curr_pixel = px16; 372 | pState->prev_pixel = px16_prev; 373 | pState->pOutPtr = d; 374 | pState->run = run; 375 | pState->bad_run = bad_run; 376 | pState->prev_op = prev_op; 377 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 378 | } // RGB565 (channels == 2) 379 | 380 | else { 381 | for (; s < pEnd; s += iBpp) { // RGB & RGBA 382 | if (d >= pDstEnd) { 383 | if (pState->pfnWrite) { 384 | d = dump_encoded_data(pState, d); 385 | bad_run = 0; // can't update bad_run count once written 386 | } else { 387 | return SLIC_ENCODE_OVERFLOW; 388 | } 389 | } 390 | #ifdef UNALIGNED_ALLOWED 391 | px = *(uint32_t *)s; 392 | #else 393 | px = (uint32_t)s[0] | ((uint32_t)s[1] << 8) | ((uint32_t)s[2] << 16) | ((uint32_t)s[3] << 24); 394 | #endif 395 | if (iBpp == 3) px |= 0xff000000; 396 | if (px == px_prev) { 397 | run++; 398 | } 399 | else { 400 | int index_pos; 401 | while (run >= 1024) { 402 | *d++ = SLIC_OP_RUN1024; 403 | run -= 1024; 404 | } 405 | while (run >= 256) { 406 | *d++ = SLIC_OP_RUN256; 407 | run -= 256; 408 | } 409 | while (run >= 60) { 410 | *d++ = SLIC_OP_RUN | 59; 411 | run -= 60; 412 | } 413 | if (run > 0) { 414 | *d++ = SLIC_OP_RUN | (run - 1); 415 | run = 0; 416 | } 417 | index_pos = px * 3; 418 | index_pos += ((px >> 8) * 5); 419 | index_pos += ((px >> 16) * 7); 420 | index_pos += ((px >> 24) * 11); 421 | index_pos &= 63; 422 | 423 | if (index[index_pos] == px) { 424 | *d++ = SLIC_OP_INDEX | index_pos; 425 | } 426 | else { 427 | index[index_pos] = px; 428 | if ((px & 0xff000000) == (px_prev & 0xff000000)) { 429 | signed char vr = (uint8_t)px - (uint8_t)px_prev; //px.rgba.r - px_prev.rgba.r; 430 | signed char vg = (uint8_t)(px >> 8) - (uint8_t)(px_prev >> 8); //px.rgba.g - px_prev.rgba.g; 431 | signed char vb = (uint8_t)(px >> 16) - (uint8_t)(px_prev >> 16); //px.rgba.b - px_prev.rgba.b; 432 | 433 | signed char vg_r = vr - vg; 434 | signed char vg_b = vb - vg; 435 | 436 | if ( 437 | vr > -3 && vr < 2 && 438 | vg > -3 && vg < 2 && 439 | vb > -3 && vb < 2 440 | ) { 441 | *d++ = SLIC_OP_DIFF | (vr + 2) << 4 | (vg + 2) << 2 | (vb + 2); 442 | } 443 | else if ( 444 | vg_r > -9 && vg_r < 8 && 445 | vg > -33 && vg < 32 && 446 | vg_b > -9 && vg_b < 8 447 | ) { 448 | *d++ = SLIC_OP_LUMA | (vg + 32); 449 | *d++ = (vg_r + 8) << 4 | (vg_b + 8); 450 | } 451 | else { 452 | *d++ = SLIC_OP_RGB; 453 | #ifdef UNALIGNED_ALLOWED 454 | *(uint32_t *)d = px; 455 | d += 3; 456 | #else 457 | *d++ = (uint8_t)px; 458 | *d++ = (uint8_t)(px >> 8); 459 | *d++ = (uint8_t)(px >> 16); 460 | #endif 461 | } 462 | } 463 | else { 464 | *d++ = SLIC_OP_RGBA; 465 | #ifdef UNALIGNED_ALLOWED 466 | *(uint32_t *)d = px; 467 | d += 4; 468 | #else 469 | *d++ = (uint8_t)px; 470 | *d++ = (uint8_t)(px >> 8); 471 | *d++ = (uint8_t)(px >> 16); 472 | *d++ = (uint8_t)(px >> 24); 473 | #endif 474 | } 475 | } 476 | } 477 | px_prev = px; 478 | } 479 | if (pState->iPixelCount == 0) { // clean up any remaining repeats 480 | while (run >= 62) { // store pending run 481 | *d++ = SLIC_OP_RUN | 61; 482 | run -= 62; 483 | } 484 | if (run > 0) { // save pending run 485 | *d++ = SLIC_OP_RUN | (run - 1); 486 | } 487 | // If using a write callback, flush the last of the data 488 | if (pState->pfnWrite) { 489 | (*pState->pfnWrite)(&pState->file, pState->pOutBuffer, (int)(d - pState->pOutBuffer)); 490 | } else { 491 | pState->iOffset = (int)(d - pState->pOutBuffer); 492 | } 493 | } 494 | } // RGB/RGBA 495 | // save state 496 | pState->curr_pixel = px; 497 | pState->prev_pixel = px_prev; 498 | pState->pOutPtr = d; 499 | pState->run = run; 500 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 501 | } /* slic_encode() */ 502 | 503 | int slic_init_decode(const char *filename, SLICSTATE *pState, uint8_t *pData, int iDataSize, uint8_t *pPalette, SLIC_OPEN_CALLBACK *pfnOpen, SLIC_READ_CALLBACK *pfnRead) { 504 | slic_header hdr; 505 | int rc, i; 506 | uint8_t *s; 507 | 508 | if (pState == NULL) { 509 | return SLIC_INVALID_PARAM; 510 | } 511 | memset(pState, 0, sizeof(SLICSTATE)); 512 | if (pfnOpen) { 513 | rc = (*pfnOpen)(filename, &pState->file); 514 | if (rc != SLIC_SUCCESS) 515 | return rc; 516 | } 517 | // Set up the SLICFILE structure in case data will come from a file or FLASH 518 | pState->pfnRead = pfnRead; 519 | pState->file.pData = pData; 520 | pState->file.iPos = 0; 521 | pState->file.iSize = iDataSize; 522 | 523 | if (pfnRead) { 524 | i = (*pfnRead)(&pState->file, pState->ucFileBuf, FILE_BUF_SIZE); 525 | memcpy(&hdr, pState->ucFileBuf, SLIC_HEADER_SIZE); 526 | pState->pInPtr = &pState->ucFileBuf[SLIC_HEADER_SIZE]; 527 | pState->pInEnd = &pState->ucFileBuf[i]; 528 | } else { // memory to memory 529 | memcpy(&hdr, pData, SLIC_HEADER_SIZE); 530 | pState->pInPtr = pData + SLIC_HEADER_SIZE; 531 | pState->pInEnd = &pData[iDataSize]; 532 | } 533 | if (hdr.magic == SLIC_MAGIC) { 534 | pState->width = hdr.width; 535 | pState->height = hdr.height; 536 | pState->curr_pixel = pState->prev_pixel = 0xff000000; 537 | pState->bpp = hdr.bpp; 538 | pState->colorspace = hdr.colorspace; 539 | if (pState->bpp != 8 && pState->bpp != 16 && pState->bpp != 24 && pState->bpp != 32) 540 | return SLIC_BAD_FILE; // invalid bits per pixel 541 | if (pState->colorspace >= SLIC_COLORSPACE_COUNT) 542 | return SLIC_BAD_FILE; 543 | if (pState->colorspace == SLIC_PALETTE) { 544 | // DEBUG - fix for file based 545 | if (pPalette) { // copy the palette if the user wants it 546 | memcpy(pPalette, pState->pInPtr, 768); 547 | } 548 | pState->pInPtr += 768; // fixed size palette 549 | } 550 | pState->iPixelCount = (uint32_t)pState->width * (uint32_t)pState->height; 551 | } else { 552 | return SLIC_BAD_FILE; 553 | } 554 | return SLIC_SUCCESS; 555 | } /* slic_init_decode() */ 556 | 557 | // 558 | // Read more data from the data source 559 | // if none exists --> error 560 | // returns 0 for success, 1 for error 561 | // 562 | static int get_more_data(SLICSTATE *pState) 563 | { 564 | int i; 565 | if (pState->pfnRead) { // read more data 566 | i = (*pState->pfnRead)(&pState->file, pState->ucFileBuf, FILE_BUF_SIZE); 567 | pState->pInEnd = &pState->ucFileBuf[i]; 568 | return 0; 569 | } 570 | return 1; 571 | } /* get_more_data() */ 572 | 573 | // 574 | // Decode N pixels into the user-supplied output buffer 575 | // 576 | int slic_decode(SLICSTATE *pState, uint8_t *pOut, int iOutSize) { 577 | uint8_t op, px8, *s, *d; 578 | const uint8_t *pEnd, *pSrcEnd; 579 | int32_t iBpp; 580 | uint32_t px, *index; 581 | int32_t run, bad_run; 582 | uint16_t *d16, *pEnd16, px16, *index16; 583 | 584 | if (pState == NULL || pOut == NULL) { 585 | return SLIC_INVALID_PARAM; 586 | } 587 | iBpp = pState->bpp >> 3; 588 | index = pState->index; 589 | d = pOut; 590 | run = pState->run; 591 | bad_run = pState->bad_run; 592 | if (iOutSize > pState->iPixelCount) 593 | iOutSize = pState->iPixelCount; // don't decode too much 594 | pState->iPixelCount -= iOutSize; 595 | pEnd = &d[iOutSize * (pState->bpp >> 3)]; 596 | s = pState->pInPtr; 597 | pSrcEnd = pState->pInEnd; 598 | if (s >= pSrcEnd) { 599 | // Either we're at the end of the file or we need to read more data 600 | if (get_more_data(pState) && run == 0) 601 | return SLIC_DECODE_ERROR; // we're trying to go past the end, error 602 | s = pState->ucFileBuf; 603 | pSrcEnd = pState->pInEnd; 604 | } 605 | 606 | if (iBpp == 1) { // 8-bit grayscale/palette 607 | uint8_t *index8 = (uint8_t *)pState->index; 608 | px8 = (uint8_t)pState->curr_pixel; 609 | if (pState->extra_pixel) { 610 | pState->extra_pixel = 0; 611 | *d++ = px8; 612 | } 613 | while (d < pEnd) { 614 | if (run) { 615 | *d++ = px8; // need to deal with pixels 1 at a time 616 | run--; 617 | continue; 618 | } 619 | if (s >= pSrcEnd) { 620 | // Either we're at the end of the file or we need to read more data 621 | if (get_more_data(pState)) 622 | return SLIC_DECODE_ERROR; // we're trying to go past the end, error 623 | s = pState->ucFileBuf; 624 | pSrcEnd = pState->pInEnd; 625 | } 626 | if (bad_run) { 627 | px8 = *s++; 628 | *d++ = px8; 629 | index8[SLIC_GRAY_HASH(px8)] = px8; 630 | bad_run--; 631 | continue; 632 | } 633 | op = *s++; // get next compression op 634 | if ((op & SLIC_OP_MASK) == SLIC_OP_RUN8) { 635 | if (op == SLIC_OP_RUN8_1024) { 636 | run = 1024; 637 | } else if (op == SLIC_OP_RUN8_256) { 638 | run = 256; 639 | } else { 640 | run = op + 1; 641 | } 642 | continue; 643 | } else if ((op & SLIC_OP_MASK) == SLIC_OP_BADRUN8) { 644 | bad_run = (op & 0x3f) + 1; 645 | continue; 646 | } else if ((op & SLIC_OP_MASK) == SLIC_OP_INDEX8) { 647 | *d++ = index8[op & 7]; 648 | px8 = index8[(op >> 3) & 7]; 649 | if (d < pEnd) { // fits in the requested output size? 650 | *d++ = px8; 651 | } else { 652 | pState->extra_pixel = 1; // get it next time through 653 | } 654 | } else { // must be DIFF8 655 | px8 += (op & 7)-4; 656 | index8[SLIC_GRAY_HASH(px8)] = px8; 657 | *d++ = px8; 658 | px8 += ((op >> 3) & 7)-4; 659 | index8[SLIC_GRAY_HASH(px8)] = px8; 660 | if (d < pEnd) { 661 | *d++ = px8; 662 | } else { 663 | pState->extra_pixel = 1; // get it next time through 664 | } 665 | } 666 | } 667 | pState->run = run; 668 | pState->bad_run = bad_run; 669 | pState->curr_pixel = px8; 670 | pState->pInPtr = s; 671 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 672 | } // 8-bit grayscale/palette decode 673 | 674 | if (iBpp == 2) { // RGB565 675 | d16 = (uint16_t *)d; 676 | index16 = (uint16_t *)pState->index; 677 | pEnd16 = (uint16_t *)pEnd; 678 | px16 = (uint16_t)pState->curr_pixel; 679 | if (pState->extra_pixel) { 680 | pState->extra_pixel = 0; 681 | *d16++ = px16; 682 | } 683 | while (d16 < pEnd16) { 684 | if (run) { 685 | *d16++ = px16; 686 | run--; 687 | continue; 688 | } 689 | if (s >= pSrcEnd) { 690 | // Either we're at the end of the file or we need to read more data 691 | if (get_more_data(pState)) 692 | return SLIC_DECODE_ERROR; // we're trying to go past the end, error 693 | s = pState->ucFileBuf; 694 | pSrcEnd = pState->pInEnd; 695 | } 696 | if (bad_run) { 697 | px16 = *s++; 698 | if (s >= pSrcEnd) { 699 | // Either we're at the end of the file or we need to read more data 700 | if (get_more_data(pState)) 701 | return SLIC_DECODE_ERROR; // we're trying to go past the end, error 702 | s = pState->ucFileBuf; 703 | pSrcEnd = pState->pInEnd; 704 | } 705 | px16 |= (*s++ << 8); 706 | *d16++ = px16; 707 | index16[SLIC_RGB565_HASH(px16)] = px16; 708 | bad_run--; 709 | continue; 710 | } 711 | op = *s++; 712 | if ((op & SLIC_OP_MASK) == SLIC_OP_RUN16) { 713 | if (op == SLIC_OP_RUN16_1024) { 714 | run = 1024; 715 | continue; 716 | } else if (op == SLIC_OP_RUN16_256) { 717 | run = 256; 718 | continue; 719 | } else { 720 | run = op + 1; 721 | continue; 722 | } 723 | } else if ((op & SLIC_OP_MASK) == SLIC_OP_BADRUN16) { 724 | bad_run = (op & 0x3f) + 1; 725 | continue; 726 | } else if ((op & SLIC_OP_MASK) == SLIC_OP_INDEX16) { 727 | *d16++ = index16[op & 7]; 728 | px16 = index16[(op >> 3) & 7]; 729 | if (d16 < pEnd16) { // fits in the requested output size? 730 | *d16++ = px16; 731 | } else { 732 | pState->extra_pixel = 1; // get it next time through 733 | } 734 | } else { // must be DIFF16 735 | uint8_t r, g, b; 736 | r = (uint8_t)(px16 >> 11); 737 | g = (uint8_t)((px16 >> 5) & 0x3f); 738 | b = (uint8_t)(px16 & 0x1f); 739 | r += ((op >> 4) & 3) - 2; 740 | g += ((op >> 2) & 3) - 2; 741 | b += ((op >> 0) & 3) - 2; 742 | px16 = (r << 11) | ((g & 0x3f) << 5) | (b & 0x1f); 743 | index16[SLIC_RGB565_HASH(px16)] = px16; 744 | *d16++ = px16; 745 | } 746 | } // for each output pixel 747 | pState->run = run; 748 | pState->bad_run = bad_run; 749 | pState->curr_pixel = px16; 750 | pState->pInPtr = s; 751 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 752 | } // RGB565 decode 753 | 754 | px = pState->curr_pixel; 755 | while (d < pEnd) { 756 | int iHash; 757 | if (run) { 758 | #ifdef UNALIGNED_ALLOWED 759 | *(uint32_t *)d = px; 760 | #else 761 | d[0] = (uint8_t)px; 762 | d[1] = (uint8_t)(px >> 8); 763 | d[2] = (uint8_t)(px >> 16); 764 | d[3] = (uint8_t)(px >> 24); 765 | #endif 766 | run--; 767 | d += iBpp; 768 | continue; 769 | } 770 | if (s >= pSrcEnd) { 771 | // Either we're at the end of the file or we need to read more data 772 | if (get_more_data(pState)) 773 | return SLIC_DECODE_ERROR; // we're trying to go past the end, error 774 | s = pState->ucFileBuf; 775 | pSrcEnd = pState->pInEnd; 776 | } 777 | op = *s++; 778 | if (op >= SLIC_OP_RUN && op < SLIC_OP_RGB) { 779 | if (op == SLIC_OP_RUN1024) { 780 | run = 1024; 781 | continue; 782 | } else if (op == SLIC_OP_RUN256) { 783 | run = 256; 784 | continue; 785 | } else { 786 | run = (op & 0x3f) + 1; 787 | continue; 788 | } 789 | } 790 | else if ((op & SLIC_OP_MASK) == SLIC_OP_INDEX) { 791 | px = index[op]; 792 | } 793 | else if (op == SLIC_OP_RGB) { 794 | px &= 0xff000000; 795 | #ifdef UNALIGNED_ALLOWED 796 | px |= (*(uint32_t *)s) & 0xffffff; 797 | #else 798 | px |= s[0]; 799 | px |= ((uint32_t)s[1] << 8); 800 | px |= ((uint32_t)s[2] << 16); 801 | #endif 802 | s += 3; 803 | } 804 | else if (op == SLIC_OP_RGBA) { 805 | #ifdef UNALIGNED_ALLOWED 806 | px = *(uint32_t *)s; 807 | s += 4; 808 | #else 809 | px = *s++; 810 | px |= ((uint32_t)*s++ << 8); 811 | px |= ((uint32_t)*s++ << 16); 812 | px |= ((uint32_t)*s++ << 24); 813 | #endif 814 | } 815 | else if ((op & SLIC_OP_MASK) == SLIC_OP_DIFF) { 816 | uint8_t r, g, b; 817 | r = px; 818 | g = (px >> 8); 819 | b = (px >> 16); 820 | r += ((op >> 4) & 0x03) - 2; 821 | g += ((op >> 2) & 0x03) - 2; 822 | b += ( op & 0x03) - 2; 823 | px &= 0xff000000; 824 | px |= (r & 0xff); 825 | px |= ((uint32_t)(g & 0xff) << 8); 826 | px |= ((uint32_t)(b & 0xff) << 16); 827 | } 828 | else if ((op & SLIC_OP_MASK) == SLIC_OP_LUMA) { 829 | int b2 = *s++; 830 | int vg = (op & 0x3f) - 32; 831 | uint8_t r, g, b; 832 | r = px; 833 | g = (px >> 8); 834 | b = (px >> 16); 835 | r += vg - 8 + ((b2 >> 4) & 0x0f); 836 | g += vg; 837 | b += vg - 8 + (b2 & 0x0f); 838 | px &= 0xff000000; 839 | px |= (r & 0xff); 840 | px |= ((uint32_t)(g & 0xff) << 8); 841 | px |= ((uint32_t)(b & 0xff) << 16); 842 | } 843 | iHash = px * 3; 844 | iHash += ((px >> 8) * 5); 845 | iHash += ((px >> 16) * 7); 846 | iHash += ((px >> 24) * 11); 847 | index[iHash & 63] = px; 848 | 849 | #ifdef UNALIGNED_ALLOWED 850 | *(uint32_t *)d = px; 851 | #else 852 | d[0] = (uint8_t)px; 853 | d[1] = (uint8_t)(px >> 8); 854 | d[2] = (uint8_t)(px >> 16); 855 | d[3] = (uint8_t)(px >> 24); 856 | #endif 857 | d += iBpp; 858 | } // while decoding each pixel (3/4 bpp) 859 | 860 | pState->run = run; 861 | pState->bad_run = bad_run; 862 | pState->curr_pixel = px; 863 | pState->pInPtr = s; 864 | return (pState->iPixelCount == 0) ? SLIC_DONE : SLIC_SUCCESS; 865 | } /* slic_decode() */ 866 | -------------------------------------------------------------------------------- /examples/slic_on_avr/homer_head_16.h: -------------------------------------------------------------------------------- 1 | // 2 | // homer_head_16 3 | // Data size = 8417 bytes 4 | // 5 | // for non-Arduino builds... 6 | #ifndef PROGMEM 7 | #define PROGMEM 8 | #endif 9 | const uint8_t homer_head_16[] PROGMEM = { 10 | 0x53,0x4c,0x49,0x43,0x30,0x01,0xf0,0x00,0x10,0x04,0x40,0x5d,0x0e,0x3e,0x3e,0x3e, 11 | 0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3d,0x3d,0x36,0x40,0xec,0x42,0x03,0xed, 12 | 0x3f,0x25,0xf6,0x40,0x00,0x00,0x04,0xf6,0xed,0x3f,0x22,0xc6,0x08,0xee,0x3f,0x1b, 13 | 0xf6,0x01,0xc0,0x03,0xf6,0x03,0xc0,0x00,0xee,0x3f,0x14,0xf6,0x00,0xc0,0x09,0x42, 14 | 0xec,0x42,0xd1,0x9c,0x6f,0xbd,0x03,0xc6,0x01,0x41,0xec,0x42,0x5d,0x0e,0x3f,0x0f, 15 | 0xf6,0x00,0xc0,0x09,0x41,0xec,0x42,0x82,0x62,0xce,0x40,0x6f,0xbd,0x06,0xc1,0x01, 16 | 0x40,0x5d,0x0e,0x3f,0x0c,0xf6,0xc0,0x04,0xf6,0x01,0xc9,0x02,0x40,0x6f,0xbd,0x0a, 17 | 0xf1,0xc0,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x3d,0x3d,0x1a,0xf6,0x06,0xed,0x29,0xc6, 18 | 0x04,0xf6,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x14,0xf1,0xc0,0x41,0xec,0x42,0x5d,0x0e, 19 | 0x3d,0x3d,0x3d,0x14,0xf6,0x00,0xc0,0x0a,0xf6,0x01,0xed,0x21,0xf6,0xc0,0x01,0xce, 20 | 0x01,0x40,0x6f,0xbd,0x18,0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x3d,0x3d,0x11, 21 | 0xf6,0xc0,0x12,0xf6,0xed,0x1d,0xf6,0xc0,0x01,0xca,0x40,0x6f,0xbd,0x1c,0xf1,0xc0, 22 | 0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x0f,0xf6,0xc0,0x02,0xf6,0xc9,0x00,0x40,0x6f,0xbd, 23 | 0x04,0xc9,0xf6,0xc0,0x02,0xf6,0x40,0x5d,0x0e,0x1b,0xc6,0x02,0xce,0x40,0x6f,0xbd, 24 | 0x1f,0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x3d,0x3d,0x0d,0xc6,0x02,0xce,0x41, 25 | 0x6f,0xbd,0xff,0xff,0x0d,0xf1,0x00,0xc0,0x01,0xf6,0x40,0x5d,0x0e,0x17,0xc6,0x02, 26 | 0xce,0x40,0x6f,0xbd,0x22,0xc0,0x00,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x0b,0xc6,0x02, 27 | 0xce,0x40,0xff,0xff,0x13,0xf1,0xc0,0x01,0x41,0xec,0x42,0x5d,0x0e,0x15,0xc6,0x01, 28 | 0xce,0x40,0x6f,0xbd,0x24,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x3d,0x3d,0x09, 29 | 0xc6,0x01,0xce,0x40,0xff,0xff,0x17,0xf1,0xc0,0x00,0xf6,0x40,0x5d,0x0e,0x12,0xc6, 30 | 0x01,0xce,0x40,0x6f,0xbd,0x25,0xc1,0x01,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x08,0xc0, 31 | 0x01,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x1a,0xf1,0xc0,0x00,0x41,0xec,0x42,0x5d, 32 | 0x0e,0x0f,0xf6,0xc0,0xce,0x40,0x6f,0xbd,0x28,0xc6,0x00,0x40,0x5d,0x0e,0x3d,0x3d, 33 | 0x3d,0x07,0xc6,0x01,0x41,0xd1,0x9c,0xff,0xff,0x1e,0xc6,0x01,0x41,0xec,0x42,0x5d, 34 | 0x0e,0x0d,0xc6,0x01,0xca,0x40,0x6f,0xbd,0x29,0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e, 35 | 0x3d,0x3d,0x3d,0x05,0xc6,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x20,0xc6,0x01, 36 | 0x41,0xec,0x42,0x5d,0x0e,0x0b,0xc6,0x01,0x41,0xec,0x42,0x6f,0xbd,0x2b,0xc1,0x00, 37 | 0x41,0xec,0x42,0x5d,0x0e,0x3d,0x3d,0x3b,0xf6,0x02,0xed,0xc6,0x00,0x41,0xec,0x42, 38 | 0xff,0xff,0x23,0xc1,0x01,0x41,0xec,0x42,0x5d,0x0e,0x0a,0xc0,0x00,0xce,0x40,0x6f, 39 | 0xbd,0x2b,0xf1,0xc0,0x40,0x5d,0x0e,0x3d,0x3d,0x37,0xf6,0xc0,0x08,0x41,0xec,0x42, 40 | 0xff,0xff,0x25,0xc1,0x01,0xf6,0xc0,0x02,0xf6,0x02,0xc0,0x41,0x82,0x62,0x6f,0xbd, 41 | 0x2e,0xc6,0x00,0x40,0x5d,0x0e,0x3d,0x3d,0x35,0xf6,0xc0,0x09,0x42,0xec,0x42,0x6f, 42 | 0xbd,0xff,0xff,0x25,0xc1,0x0e,0x41,0x82,0x62,0x6f,0xbd,0x2f,0xc1,0x00,0x41,0xec, 43 | 0x42,0x5d,0x0e,0x3d,0x0e,0xee,0x3d,0x22,0xc6,0x01,0xd2,0x00,0x40,0x6f,0xbd,0x00, 44 | 0xd2,0x00,0xc0,0x00,0x41,0xd1,0x9c,0xff,0xff,0x25,0xc1,0x02,0xd2,0x05,0xc0,0x02, 45 | 0x41,0xd1,0x9c,0x6f,0xbd,0x2f,0xd1,0xf0,0x40,0x5d,0x0e,0x3d,0x0e,0xf6,0xed,0x3d, 46 | 0x1f,0xc6,0x00,0x42,0x82,0x62,0x6f,0xbd,0xc0,0xf6,0x05,0xc2,0x00,0x41,0xd1,0x9c, 47 | 0xff,0xff,0x25,0xc6,0x01,0xe2,0x40,0x6f,0xbd,0xe4,0x04,0xc2,0x02,0xee,0x30,0xc6, 48 | 0x00,0x40,0x5d,0x0e,0x3d,0x0d,0xee,0x04,0xf6,0xc0,0xee,0x3d,0x16,0xc6,0x00,0x41, 49 | 0x82,0x62,0x6f,0xbd,0xe4,0x04,0xc5,0x00,0x41,0xec,0x42,0xff,0xff,0x25,0xc1,0x01, 50 | 0x40,0x6f,0xbd,0xe4,0x08,0xd5,0xc0,0x00,0xe9,0x2f,0xc6,0x00,0x41,0xec,0x42,0x5d, 51 | 0x0e,0x3d,0x06,0xf6,0x01,0xed,0x03,0xf6,0xc0,0x02,0xee,0x3d,0x14,0xf6,0xc0,0xe2, 52 | 0x07,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc1,0x00,0x41,0x82,0x62,0x6f,0xbd, 53 | 0xe4,0x0b,0xc2,0x01,0xe9,0x2e,0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x04,0xf6, 54 | 0x01,0xed,0x03,0xc6,0x03,0xc6,0x00,0xee,0x3d,0x12,0xc6,0x02,0xe2,0x08,0xc0,0x41, 55 | 0xec,0x42,0xff,0xff,0x25,0xc6,0x00,0x40,0x6f,0xbd,0xe4,0x0d,0xc2,0x00,0xee,0x2e, 56 | 0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x02,0xf6,0x00,0xed,0x03,0xc6,0x03,0xce, 57 | 0x00,0x40,0xff,0xff,0xc6,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x0e,0xf6,0x00,0xc0,0x03, 58 | 0x40,0x6f,0xbd,0xe4,0x06,0xc5,0x00,0x41,0xec,0x42,0xff,0xff,0x24,0xc1,0x00,0xe2, 59 | 0x10,0xc0,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2e,0xc0,0x00,0x40,0x5d,0x0e,0x3b,0xee, 60 | 0x02,0xee,0x03,0xf6,0x00,0xc0,0x01,0xf6,0x41,0xd1,0x9c,0xff,0xff,0x01,0xc6,0x40, 61 | 0x5d,0x0e,0x3d,0x0c,0xf6,0x00,0xc0,0x05,0xe2,0x08,0xc2,0x00,0x41,0x6f,0xbd,0xff, 62 | 0xff,0x24,0xc0,0x00,0x40,0x6f,0xbd,0xe4,0x0f,0xc2,0x00,0xea,0x2e,0xc6,0x00,0xf6, 63 | 0x01,0x40,0x5d,0x0e,0x35,0xf6,0x00,0xed,0x05,0xf6,0xc0,0x02,0xce,0x40,0xff,0xff, 64 | 0x04,0xc0,0x40,0x5d,0x0e,0x3d,0x09,0xf6,0xc0,0x04,0xd2,0x03,0xe4,0x07,0xc2,0x41, 65 | 0xec,0x42,0xff,0xff,0x24,0xc1,0x00,0xe2,0x11,0x40,0x6f,0xbd,0xc0,0x00,0xe9,0x2d, 66 | 0xc6,0x05,0x41,0xec,0x42,0x5d,0x0e,0x31,0xf6,0x01,0xed,0x04,0xc6,0x02,0xf6,0xc9, 67 | 0x40,0xff,0xff,0x06,0xc0,0x40,0x5d,0x0e,0x3d,0x06,0xf6,0xc0,0x03,0xd2,0xe4,0x0f, 68 | 0xc0,0x41,0xec,0x42,0xff,0xff,0x24,0xc1,0x00,0xe2,0x12,0xc2,0x00,0x41,0xd1,0x9c, 69 | 0x6f,0xbd,0x2d,0xc1,0x07,0x41,0xec,0x42,0x5d,0x0e,0x2f,0xee,0x05,0xf6,0xc0,0x01, 70 | 0xce,0x41,0x6f,0xbd,0xff,0xff,0x08,0x40,0x6f,0xbd,0xc0,0x40,0x5d,0x0e,0x3d,0x03, 71 | 0xf6,0xc0,0x04,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x10,0xc2,0x00,0x41,0xd1,0x9c,0xff, 72 | 0xff,0x18,0xf1,0x02,0xe9,0x04,0xc6,0x00,0xe4,0x12,0x40,0x6f,0xbd,0xc0,0xea,0x2d, 73 | 0xc1,0x01,0xc9,0xd6,0xc0,0x00,0x41,0xec,0x42,0x5d,0x0e,0x34,0xc6,0x03,0xce,0x40, 74 | 0xff,0xff,0x0b,0xc1,0x41,0xec,0x42,0x5d,0x0e,0x3d,0x01,0xc6,0x04,0xd2,0x00,0xe4, 75 | 0x13,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x18,0xc0,0x02,0xee,0x04,0xc6,0x00,0xe4, 76 | 0x12,0x40,0x6f,0xbd,0xc0,0xea,0x2d,0xc1,0x00,0xee,0x02,0xf6,0xc0,0x41,0xec,0x42, 77 | 0x5d,0x0e,0x30,0xf6,0xc0,0x01,0xf6,0x41,0xd1,0x9c,0xff,0xff,0x0d,0xc6,0x41,0xec, 78 | 0x42,0x5d,0x0e,0x3c,0xf6,0xc0,0x03,0xe2,0x18,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff, 79 | 0x17,0xc6,0x04,0xe9,0x03,0xc6,0x00,0xe4,0x13,0xc2,0x41,0x82,0x62,0x6f,0xbd,0x2d, 80 | 0xc1,0x00,0xee,0x03,0xc1,0x01,0x41,0xec,0x42,0x5d,0x0e,0x2d,0xc6,0x03,0xce,0x41, 81 | 0x6f,0xbd,0xff,0xff,0x0f,0xc6,0x41,0xec,0x42,0x5d,0x0e,0x39,0xf6,0xc0,0x03,0x41, 82 | 0x82,0x62,0x6f,0xbd,0xe4,0x19,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x17,0xc6,0x04, 83 | 0xe9,0x03,0xc6,0x00,0xe4,0x13,0xc2,0xca,0x40,0x6f,0xbd,0x2c,0xf1,0xf0,0xe9,0x03, 84 | 0xc1,0x01,0x40,0x5d,0x0e,0x29,0xf6,0x00,0xc0,0x02,0xce,0x40,0xff,0xff,0x12,0xc6, 85 | 0x40,0x5d,0x0e,0x38,0xc6,0x05,0xe2,0x1d,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x17, 86 | 0xc6,0x04,0xe9,0x03,0xc6,0x00,0xe4,0x13,0xc2,0xca,0x40,0x6f,0xbd,0x2c,0xf1,0xc0, 87 | 0xe9,0x04,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x26,0xf6,0xc0,0x01,0xf2,0x42,0xd1, 88 | 0x9c,0x6f,0xbd,0xff,0xff,0x14,0xc6,0x40,0x5d,0x0e,0x02,0xee,0x30,0xf6,0xc0,0x02, 89 | 0xd2,0x00,0xe4,0x1e,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x17,0xc1,0x03,0xee,0x04, 90 | 0xc6,0x00,0xe4,0x13,0x40,0x6f,0xbd,0xd0,0xe9,0x2d,0xc6,0x00,0xe9,0x05,0xc6,0x00, 91 | 0x41,0xec,0x42,0x5d,0x0e,0x23,0xf6,0xc0,0x01,0xce,0x00,0x40,0xff,0xff,0x17,0xc6, 92 | 0xf6,0x00,0xc0,0x40,0x5d,0x0e,0x2e,0xf6,0xc0,0x02,0xd2,0xe4,0x21,0xc2,0x00,0x41, 93 | 0xd1,0x9c,0xff,0xff,0x18,0xc1,0x01,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x04,0xc6, 94 | 0x00,0xe4,0x13,0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2d,0xc6,0x00,0xe9,0x05,0xc1, 95 | 0x00,0x41,0xec,0x42,0x5d,0x0e,0x22,0xc6,0x01,0xf6,0x41,0xd1,0x9c,0xff,0xff,0x19, 96 | 0x40,0x6f,0xbd,0xc0,0x04,0x40,0x5d,0x0e,0x2c,0xf6,0xc0,0x02,0xe2,0x25,0xc2,0x42, 97 | 0xec,0x42,0x6f,0xbd,0xff,0xff,0x1a,0xce,0x41,0x6f,0xbd,0xff,0xff,0x05,0xc6,0x00, 98 | 0xe4,0x13,0xc2,0x00,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xc1,0x00,0xee,0x06,0xc2,0x00, 99 | 0x41,0xec,0x42,0x5d,0x0e,0x20,0xc6,0x00,0xce,0x40,0xff,0xff,0x1b,0xf1,0xc0,0x03, 100 | 0x41,0x82,0x62,0x5d,0x0e,0x2a,0xc6,0x03,0xd2,0xe4,0x26,0xc2,0x00,0x41,0xd1,0x9c, 101 | 0xff,0xff,0x24,0xc6,0x00,0xe4,0x13,0xc2,0x00,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xc1, 102 | 0x00,0xee,0x06,0xc1,0x00,0x41,0xec,0x42,0x5d,0x0e,0x20,0xc0,0xca,0x40,0xff,0xff, 103 | 0x1a,0xc6,0x04,0xce,0x00,0x41,0xff,0xff,0x5d,0x0e,0x29,0xc6,0x02,0xd2,0xe4,0x28, 104 | 0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc1,0x00,0xe4,0x14,0xc0,0x41,0xec,0x42, 105 | 0x6f,0xbd,0x2d,0xc1,0x00,0xee,0x07,0xc2,0x00,0x40,0x5d,0x0e,0x1f,0xc6,0x00,0x41, 106 | 0xd1,0x9c,0xff,0xff,0x05,0x41,0x6f,0xbd,0xff,0xff,0x10,0x40,0x6f,0xbd,0xf1,0xc0, 107 | 0x01,0xce,0x00,0x40,0xff,0xff,0x02,0x40,0x5d,0x0e,0x27,0xc6,0x02,0xd2,0xe4,0x2a, 108 | 0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc1,0x00,0xe2,0x14,0xc0,0x41,0xec,0x42, 109 | 0x6f,0xbd,0x2d,0xc1,0x00,0xee,0x07,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x1e,0xc0, 110 | 0x41,0xec,0x42,0xff,0xff,0x05,0xc6,0xce,0xed,0x0c,0xf1,0xc0,0x01,0xce,0xed,0x04, 111 | 0x40,0x5d,0x0e,0x25,0xc6,0x02,0xd2,0xe4,0x2d,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x24, 112 | 0xc1,0x00,0xe2,0x14,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xc1,0x00,0xee,0x07,0xc1, 113 | 0x01,0xf6,0x40,0x5d,0x0e,0x1b,0xc6,0x41,0xec,0x42,0xff,0xff,0x06,0xc1,0x01,0xf6, 114 | 0xed,0x08,0xf1,0xc0,0x00,0xf2,0xe9,0x07,0x40,0x5d,0x0e,0x23,0xf6,0xc0,0x00,0xd2, 115 | 0xe4,0x2f,0xc0,0x41,0xec,0x42,0xff,0xff,0x25,0xc0,0xe2,0x14,0xc0,0x41,0xec,0x42, 116 | 0x6f,0xbd,0x2d,0xc1,0x00,0xea,0x08,0xc6,0x02,0xf6,0x40,0x5d,0x0e,0x18,0xc6,0x00, 117 | 0x41,0xd1,0x9c,0xff,0xff,0x07,0xd1,0xc0,0x00,0xce,0xed,0x05,0xc6,0x02,0xce,0xed, 118 | 0x08,0x40,0x5d,0x0e,0x22,0xf6,0xc0,0x00,0xe2,0x32,0xc2,0x41,0xec,0x42,0xff,0xff, 119 | 0x25,0xc0,0xe2,0x14,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xc1,0x00,0xee,0x09,0xf1, 120 | 0xc0,0x01,0x41,0xec,0x42,0x5d,0x0e,0x17,0xc0,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff, 121 | 0x08,0x40,0x6f,0xbd,0xc6,0x02,0xce,0x40,0xff,0xff,0x02,0xf1,0xc0,0x00,0xce,0xed, 122 | 0x0a,0x40,0x5d,0x0e,0x21,0xc6,0x01,0xe2,0x34,0xc2,0x00,0x40,0xff,0xff,0x25,0xc0, 123 | 0xe2,0x14,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xf1,0xf0,0xed,0x09,0xf1,0xc0,0x01, 124 | 0xf6,0x40,0x5d,0x0e,0x14,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x0b,0xf1,0xc0,0x01, 125 | 0xce,0x00,0xc6,0x02,0xee,0x0d,0x40,0x5d,0x0e,0x20,0xc0,0x00,0xd2,0xe4,0x34,0xc2, 126 | 0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc6,0x00,0xe4,0x13,0xc0,0x41,0xec,0x42,0x6f, 127 | 0xbd,0x2e,0xc6,0xca,0xed,0x0a,0xf1,0xc0,0x01,0x41,0xec,0x42,0x5d,0x0e,0x13,0xc0, 128 | 0x41,0xec,0x42,0xff,0xff,0x0e,0xf1,0xc0,0x05,0xce,0xed,0x0d,0x40,0x5d,0x0e,0x1e, 129 | 0xc6,0x01,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x36,0xc0,0x41,0xec,0x42,0xff,0xff,0x24, 130 | 0xc6,0x00,0xe4,0x13,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2e,0xc6,0x00,0xe9,0x0d,0xd1, 131 | 0xc0,0x00,0x41,0xec,0x42,0x5d,0x0e,0x11,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x10, 132 | 0xf1,0xc0,0x03,0xee,0x0f,0x40,0x5d,0x0e,0x1d,0xc6,0x01,0xe2,0x39,0xc2,0x00,0x41, 133 | 0x6f,0xbd,0xff,0xff,0x23,0xc6,0x00,0xe4,0x13,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2e, 134 | 0xc6,0x00,0xe9,0x0e,0xc1,0x02,0x41,0xec,0x42,0x5d,0x0e,0x0f,0xc6,0x00,0x41,0xec, 135 | 0x42,0xff,0xff,0x13,0xc1,0x04,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d, 136 | 0x0e,0x1c,0xc6,0x01,0xe2,0x3a,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x23,0xc1,0x00, 137 | 0xe4,0x13,0xc2,0x41,0xec,0x42,0x6f,0xbd,0x2e,0xc6,0x00,0xe9,0x0f,0xd1,0xc0,0x00, 138 | 0x41,0xec,0x42,0x5d,0x0e,0x0e,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x15,0xf1, 139 | 0xc0,0x02,0xee,0x0c,0x40,0x5d,0x0e,0x1b,0xc6,0x01,0xe2,0x3c,0xc0,0x41,0xec,0x42, 140 | 0xff,0xff,0x23,0xc1,0x00,0xe2,0x13,0xc2,0x41,0xec,0x42,0x6f,0xbd,0x2e,0xc6,0x00, 141 | 0xe9,0x10,0xd1,0xc0,0x00,0x41,0xec,0x42,0x5d,0x0e,0x0c,0xc6,0x00,0x41,0xec,0x42, 142 | 0xff,0xff,0x18,0xc1,0x03,0xce,0x41,0x6f,0xbd,0xff,0xff,0x09,0x40,0x5d,0x0e,0x1a, 143 | 0xc6,0x01,0xe2,0x3d,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x22,0xc1,0x00,0xe2,0x13, 144 | 0xc2,0x41,0xec,0x42,0x6f,0xbd,0x2e,0xc6,0x00,0xe9,0x11,0xd1,0xc0,0x00,0x41,0xec, 145 | 0x42,0x5d,0x0e,0x0a,0xc6,0x01,0x41,0xd1,0x9c,0xff,0xff,0x17,0x40,0x6f,0xbd,0xc6, 146 | 0x05,0xce,0x41,0x6f,0xbd,0xff,0xff,0x07,0x40,0x5d,0x0e,0x19,0xc6,0x01,0x40,0x6f, 147 | 0xbd,0xe4,0x3d,0x00,0xc0,0x41,0xec,0x42,0xff,0xff,0x22,0xc1,0x00,0xe2,0x13,0xc2, 148 | 0x41,0xec,0x42,0x6f,0xbd,0x2e,0xc6,0x00,0xe9,0x13,0xc6,0x01,0x41,0xec,0x42,0x5d, 149 | 0x0e,0x09,0xc6,0x00,0x41,0xec,0x42,0xff,0xff,0x17,0xc6,0x02,0xd2,0x01,0xc0,0x00, 150 | 0xce,0xed,0x05,0x40,0x5d,0x0e,0x18,0xc6,0x01,0xe2,0x3d,0x02,0xc2,0x00,0x41,0xd1, 151 | 0x9c,0xff,0xff,0x11,0x40,0x6f,0xbd,0x02,0xc9,0x00,0xed,0x00,0x40,0xff,0xff,0x04, 152 | 0xc1,0x00,0xe2,0x13,0xc2,0xce,0x40,0x6f,0xbd,0x2d,0xc6,0x00,0xe9,0x13,0xf1,0xc0, 153 | 0x41,0xec,0x42,0x5d,0x0e,0x08,0xc6,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x15, 154 | 0xf1,0xc0,0x01,0xe2,0x02,0xd2,0xc0,0x00,0xce,0xed,0x03,0x40,0x5d,0x0e,0x17,0xc6, 155 | 0x01,0x40,0x6f,0xbd,0xe4,0x3d,0x03,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x0c,0xc9, 156 | 0xf6,0x00,0xc0,0x06,0xf6,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x00,0xc6,0x00,0xe2,0x13, 157 | 0xc2,0xce,0xed,0x2c,0xc6,0x00,0xe9,0x14,0xd1,0xc0,0x41,0xec,0x42,0x5d,0x0e,0x07, 158 | 0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x14,0x40,0x6f,0xbd,0xc1,0x02,0xe2,0x06,0xd5, 159 | 0xc0,0x00,0xce,0x41,0x6f,0xbd,0xff,0xff,0x01,0x40,0x5d,0x0e,0x16,0xc6,0x01,0xe2, 160 | 0x3d,0x05,0xc2,0x00,0x42,0x82,0x62,0x6f,0xbd,0xff,0xff,0x09,0xf1,0xc2,0x0f,0xf2, 161 | 0xc0,0x00,0xe2,0x13,0xc2,0xce,0x40,0x6f,0xbd,0x2d,0xc6,0x00,0xe9,0x15,0xc1,0x01, 162 | 0x41,0xec,0x42,0x5d,0x0e,0x05,0xc6,0x00,0x41,0xec,0x42,0xff,0xff,0x14,0xf1,0xc0, 163 | 0x00,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x08,0xd2,0xc0,0x00,0xce,0x00,0x41,0xff,0xff, 164 | 0x5d,0x0e,0x15,0xc6,0x01,0xe2,0x3d,0x07,0xc2,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff, 165 | 0xff,0x05,0x40,0x6f,0xbd,0xc6,0x02,0xf6,0xc9,0x01,0xed,0xc9,0x02,0xf6,0xc0,0x04, 166 | 0xe2,0x13,0xc2,0xce,0xed,0x2c,0xc6,0x00,0xe9,0x16,0xc1,0x01,0x41,0xec,0x42,0x5d, 167 | 0x0e,0x04,0xc0,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x13,0xc1,0x01,0xd2,0xe4,0x0c, 168 | 0xd2,0xc0,0x02,0x40,0x5d,0x0e,0x15,0xc6,0x00,0xe2,0x3d,0x09,0xc2,0x00,0x42,0xec, 169 | 0x42,0x6f,0xbd,0xff,0xff,0x02,0x40,0x6f,0xbd,0xc1,0x02,0xce,0x41,0x6f,0xbd,0xff, 170 | 0xff,0x0c,0xc9,0xc6,0x03,0xe2,0x12,0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2d,0xc6, 171 | 0x00,0xe9,0x17,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x03,0xc6,0x00,0x41,0xd1,0x9c, 172 | 0xff,0xff,0x13,0xc6,0x01,0xe2,0x12,0xc2,0x01,0x40,0x5d,0x0e,0x14,0xc6,0x00,0xe2, 173 | 0x3d,0x0b,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x01,0xd1,0xc0,0xf6,0x41,0x6f,0xbd, 174 | 0xff,0xff,0x12,0x40,0x6f,0xbd,0xc6,0x03,0xe2,0x10,0xc2,0x00,0xe9,0x2d,0xc6,0x00, 175 | 0xe9,0x18,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x01,0xc6,0x00,0x41,0xec,0x42,0xff, 176 | 0xff,0x12,0x40,0x6f,0xbd,0xc6,0x01,0xe2,0x14,0xc2,0x00,0x40,0x5d,0x0e,0x13,0xc6, 177 | 0x00,0xe2,0x3d,0x0c,0x40,0x6f,0xbd,0xc0,0x00,0xce,0xc6,0x00,0xce,0x40,0xff,0xff, 178 | 0x18,0xd1,0xc0,0x00,0xe2,0x0f,0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2d,0xc6,0x00, 179 | 0xe9,0x18,0xc1,0x01,0x41,0xec,0x42,0x5d,0x0e,0xc6,0x01,0x40,0xff,0xff,0x12,0xc1, 180 | 0x02,0xe2,0x14,0xc2,0x01,0x40,0x5d,0x0e,0x13,0xc0,0x00,0xe4,0x3d,0x0d,0xd2,0xc0, 181 | 0x02,0x42,0xd1,0x9c,0x6f,0xbd,0xff,0xff,0x1a,0x40,0x6f,0xbd,0xc1,0x01,0xe2,0x0e, 182 | 0xc2,0x00,0xe9,0x2d,0xc6,0x00,0xe9,0x18,0xd1,0xc0,0x00,0xc6,0x01,0x41,0xec,0x42, 183 | 0xff,0xff,0x11,0x40,0x6f,0xbd,0xc6,0x01,0xe2,0x14,0xc2,0x00,0xce,0x40,0x5d,0x0e, 184 | 0x12,0xc6,0x00,0xe2,0x3d,0x0f,0xc2,0x02,0x41,0xd1,0x9c,0xff,0xff,0x1e,0xc1,0x01, 185 | 0x41,0x82,0x62,0x6f,0xbd,0xe4,0x0b,0xc2,0x00,0xe9,0x2d,0xc6,0x00,0xe9,0x19,0xc6, 186 | 0x05,0xce,0x02,0xed,0x40,0xff,0xff,0x07,0x40,0x6f,0xbd,0xc9,0x00,0xc6,0x03,0xe4, 187 | 0x12,0xc2,0x00,0xce,0x41,0xff,0xff,0x5d,0x0e,0x11,0xc6,0x00,0xe2,0x3d,0x10,0xc2, 188 | 0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x21,0xc6,0x00,0x41,0x82,0x62,0x6f,0xbd, 189 | 0xe4,0x0a,0xc2,0x00,0xe9,0x2d,0xc6,0x00,0xe9,0x1a,0xc6,0x08,0xd2,0x01,0xf6,0x05, 190 | 0xd2,0xc0,0x05,0xe2,0x11,0xc2,0x00,0xca,0x40,0xff,0xff,0x00,0x40,0x5d,0x0e,0x11, 191 | 0xc6,0xe2,0x3d,0x10,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x24,0xc6,0x01,0x40,0x6f, 192 | 0xbd,0xe4,0x09,0xc2,0x00,0xee,0x2d,0xc6,0x00,0xe9,0x1a,0xc6,0x00,0xd2,0x01,0xc0, 193 | 0x13,0xd2,0x00,0xe4,0x11,0xc2,0x00,0xce,0x40,0xff,0xff,0x01,0x40,0x5d,0x0e,0x10, 194 | 0xc6,0x00,0xe2,0x3d,0x0f,0x40,0x6f,0xbd,0xc0,0xee,0x40,0xff,0xff,0x25,0xc6,0x00, 195 | 0x41,0x82,0x62,0x6f,0xbd,0xe4,0x08,0xc5,0x00,0xee,0x2d,0xc6,0x00,0xe9,0x1a,0xc1, 196 | 0x00,0xe2,0x04,0xd5,0x0b,0xe5,0x18,0xc2,0x00,0xce,0x40,0xff,0xff,0x02,0x40,0x5d, 197 | 0x0e,0x10,0xc6,0xe2,0x3d,0x10,0xc2,0xce,0x40,0xff,0xff,0x27,0xc6,0x00,0xe2,0x0a, 198 | 0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2d,0xc6,0x00,0xe9,0x1a,0xf1,0xd0,0xe4,0x2b,0xc2, 199 | 0x00,0xca,0x40,0xff,0xff,0x03,0x40,0x5d,0x0e,0x0f,0xc6,0x00,0xe2,0x3d,0x0f,0xc2, 200 | 0x00,0x41,0x6f,0xbd,0xff,0xff,0x29,0xc6,0x00,0xe2,0x09,0xc0,0x41,0xec,0x42,0x6f, 201 | 0xbd,0x2c,0xf1,0xc0,0xe9,0x1b,0xc6,0x00,0xe4,0x2a,0xc2,0x00,0xee,0x40,0xff,0xff, 202 | 0x04,0x40,0x5d,0x0e,0x0f,0xc6,0x00,0xe4,0x3d,0x0e,0xc2,0x00,0x41,0xd1,0x9c,0xff, 203 | 0xff,0x2b,0xc6,0x00,0xe2,0x08,0xc2,0x41,0xec,0x42,0x6f,0xbd,0x2c,0xf1,0xc0,0xe9, 204 | 0x1b,0xc6,0x00,0xe2,0x29,0xc2,0x00,0xee,0x40,0xff,0xff,0x05,0x40,0x5d,0x0e,0x0f, 205 | 0xc0,0xe2,0x3d,0x0f,0xc0,0x41,0xec,0x42,0xff,0xff,0x2c,0xc1,0x01,0xe4,0x07,0xc2, 206 | 0x00,0x40,0x6f,0xbd,0x2c,0xc1,0x01,0xe9,0x1b,0xc1,0x00,0xe2,0x27,0xd5,0xc0,0xee, 207 | 0x40,0xff,0xff,0x06,0x40,0x5d,0x0e,0x0e,0xc6,0x00,0xe4,0x3d,0x0e,0xc2,0x00,0x41, 208 | 0xd1,0x9c,0xff,0xff,0x2d,0xc6,0x00,0xe2,0x07,0xc2,0x00,0x40,0x6f,0xbd,0x2c,0xc1, 209 | 0x00,0xee,0x1d,0xc6,0xe2,0x27,0xc2,0x00,0xee,0x40,0xff,0xff,0x07,0x40,0x5d,0x0e, 210 | 0x0e,0xc6,0xe2,0x3d,0x0e,0x40,0x6f,0xbd,0xc0,0x41,0xec,0x42,0xff,0xff,0x2f,0xc6, 211 | 0x00,0xe4,0x06,0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2b,0xc1,0x00,0xee,0x1d,0xc6, 212 | 0xe2,0x25,0xd5,0xc0,0xee,0x40,0xff,0xff,0x08,0x40,0x5d,0x0e,0x0d,0xc6,0x00,0xe2, 213 | 0x3d,0x0e,0xc2,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x2f,0xc1,0x00,0xe2,0x06,0xc2, 214 | 0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x2b,0xc1,0x00,0xee,0x1d,0xc6,0xe2,0x24,0xd5,0xc0, 215 | 0x41,0xd1,0x9c,0xff,0xff,0x0a,0x40,0x5d,0x0e,0x0d,0xc6,0xe2,0x3d,0x0f,0xc0,0x41, 216 | 0xd1,0x9c,0xff,0xff,0x31,0xc6,0x00,0x40,0x6f,0xbd,0xe4,0x04,0xc2,0x00,0xee,0x2b, 217 | 0xc1,0x00,0xee,0x1d,0xc6,0xe2,0x23,0xd5,0xc0,0x41,0xec,0x42,0xff,0xff,0x0b,0x40, 218 | 0x5d,0x0e,0x0d,0xc0,0xe2,0x3d,0x0e,0xc2,0x41,0xec,0x42,0xff,0xff,0x32,0xc1,0x00, 219 | 0xe2,0x06,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x2b,0xc1,0x00,0xee,0x1d,0xc6,0xe2,0x22, 220 | 0xc2,0x01,0x41,0xd1,0x9c,0xff,0xff,0x0c,0x40,0x5d,0x0e,0x0c,0xc6,0x00,0xe2,0x3d, 221 | 0x0e,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x33,0xc6,0x00,0xe4,0x05,0xc0,0x00,0x40,0x6f, 222 | 0xbd,0x2b,0xc1,0x00,0xe9,0x1d,0xc6,0xe2,0x21,0xc2,0x01,0x41,0xd1,0x9c,0xff,0xff, 223 | 0x0d,0x40,0x5d,0x0e,0x0c,0xc6,0x00,0xe4,0x3d,0x0d,0xc2,0x00,0x41,0xd1,0x9c,0xff, 224 | 0xff,0x33,0xc6,0x00,0xe2,0x05,0xc2,0x00,0x40,0x6f,0xbd,0x2b,0xc6,0x00,0xe9,0x1d, 225 | 0xc6,0xe2,0x20,0xc2,0x01,0x41,0xd1,0x9c,0xff,0xff,0x0e,0x40,0x5d,0x0e,0x0c,0xc0, 226 | 0xe2,0x3d,0x0e,0xc2,0x41,0xec,0x42,0xff,0xff,0x35,0xc0,0xe2,0x05,0xc2,0x00,0x41, 227 | 0xd1,0x9c,0x6f,0xbd,0x29,0xd1,0xc0,0xe9,0x1d,0xc6,0xe2,0x1f,0xc2,0x00,0xce,0x40, 228 | 0xff,0xff,0x0f,0x40,0x5d,0x0e,0x0c,0xc0,0xe2,0x3d,0x0e,0xc0,0x41,0xec,0x42,0xff, 229 | 0xff,0x35,0xc6,0x00,0xe4,0x04,0xc2,0x00,0x41,0xec,0x42,0x6f,0xbd,0x29,0xc1,0x00, 230 | 0xce,0xed,0x1c,0xc6,0xe2,0x1d,0xd5,0xc0,0xe9,0x40,0xff,0xff,0x10,0x40,0x5d,0x0e, 231 | 0x0b,0xc6,0x00,0x40,0x6f,0xbd,0xe4,0x3d,0x0c,0xc5,0x00,0x41,0xd1,0x9c,0xff,0xff, 232 | 0x35,0xc1,0x00,0xe2,0x05,0xc0,0x41,0xec,0x42,0x6f,0xbd,0x29,0xc1,0x00,0xee,0x1e, 233 | 0xc6,0xe2,0x1c,0xc2,0x01,0x41,0xd1,0x9c,0xff,0xff,0x12,0x40,0x5d,0x0e,0x0a,0xc6, 234 | 0x01,0xe4,0x3d,0x0d,0xc2,0x41,0xec,0x42,0xff,0xff,0x36,0xc1,0x00,0xe2,0x05,0xc2, 235 | 0x41,0xec,0x42,0x6f,0xbd,0x29,0xc1,0x00,0xee,0x1e,0xc6,0xe2,0x1b,0xc2,0x01,0x41, 236 | 0xd1,0x9c,0xff,0xff,0x13,0x40,0x5d,0x0e,0x08,0xf6,0xc0,0x00,0xe2,0x3d,0x0e,0xc2, 237 | 0x41,0xec,0x42,0xff,0xff,0x37,0xc6,0xe2,0x05,0xc2,0xce,0x40,0x6f,0xbd,0x28,0xc1, 238 | 0x00,0xee,0x1d,0xf1,0xd0,0xe4,0x18,0xc2,0x01,0xce,0x40,0xff,0xff,0x14,0x40,0x5d, 239 | 0x0e,0x07,0xc6,0x03,0xe2,0x3d,0x0e,0xc2,0x41,0xec,0x42,0xff,0xff,0x37,0xc6,0xe2, 240 | 0x05,0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x28,0xc6,0x00,0xee,0x1d,0xf1,0xd0,0xe4, 241 | 0x16,0xd5,0xc0,0x00,0x41,0xd1,0x9c,0xff,0xff,0x16,0x40,0x5d,0x0e,0x06,0xc6,0x01, 242 | 0xc6,0x00,0xe2,0x3d,0x0e,0xc2,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x04, 243 | 0xc2,0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x28,0xc6,0x00,0xe9,0x1d,0xc1,0x00,0xe2,0x16, 244 | 0xd5,0xc0,0xce,0x40,0xff,0xff,0x17,0x40,0x5d,0x0e,0x05,0xc6,0x01,0xf6,0xc0,0x40, 245 | 0x6f,0xbd,0xe4,0x3d,0x0d,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x05, 246 | 0xc2,0x41,0xec,0x42,0x6f,0xbd,0x28,0xc0,0x00,0xed,0x1d,0xc6,0x00,0xe5,0x15,0xc2, 247 | 0x01,0xee,0x40,0xff,0xff,0x18,0x40,0x5d,0x0e,0x05,0xc0,0x00,0xee,0x00,0xc0,0xe2, 248 | 0x3d,0x0d,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x05,0xc2,0x00, 249 | 0x41,0xd1,0x9c,0x6f,0xbd,0x27,0xc0,0x00,0xed,0x1d,0xc6,0x00,0xe4,0x14,0xc2,0x01, 250 | 0x41,0xd1,0x9c,0xff,0xff,0x1a,0x40,0x5d,0x0e,0x04,0xc6,0x00,0xee,0x00,0xc6,0x00, 251 | 0xe4,0x3d,0x0d,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x05,0xc2, 252 | 0x00,0x41,0xd1,0x9c,0x6f,0xbd,0x26,0xc1,0x00,0xee,0x1e,0xc6,0xe2,0x14,0xc2,0x01, 253 | 0x41,0xd1,0x9c,0xff,0xff,0x1b,0x40,0x5d,0x0e,0x03,0xc6,0x00,0xee,0x01,0xc6,0x00, 254 | 0xe4,0x3d,0x0e,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x06,0xc0,0x41, 255 | 0xec,0x42,0x6f,0xbd,0x26,0xc6,0x00,0xe9,0x1d,0xf1,0xd0,0xe4,0x13,0xc2,0x00,0x41, 256 | 0xec,0x42,0xff,0xff,0x1c,0x40,0x5d,0x0e,0x02,0xc6,0x00,0xee,0x02,0xc6,0x00,0xe4, 257 | 0x3d,0x0e,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x06,0xc2,0x41,0x82, 258 | 0x62,0x6f,0xbd,0x26,0xc6,0x00,0xe9,0x1d,0xc1,0x00,0xe2,0x13,0xc5,0x02,0xce,0x40, 259 | 0xff,0xff,0x1a,0x40,0x5d,0x0e,0x02,0xc0,0xee,0x03,0xc6,0x00,0xe4,0x3d,0x0e,0xc0, 260 | 0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x06,0xc2,0x00,0x41,0xd1,0x9c,0x6f, 261 | 0xbd,0x25,0xc2,0x00,0xe9,0x1d,0xc6,0x00,0xe2,0x13,0xc2,0x04,0x41,0xec,0x42,0xff, 262 | 0xff,0x19,0x40,0x5d,0x0e,0x01,0xc6,0x00,0xee,0x03,0xc6,0x00,0xe4,0x3d,0x0e,0xc0, 263 | 0x41,0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x07,0xc0,0x41,0xec,0x42,0x6f,0xbd, 264 | 0x25,0xc2,0x00,0xe9,0x1d,0xc6,0xe2,0x14,0xc2,0x00,0xf6,0xc0,0x00,0xce,0x40,0xff, 265 | 0xff,0x17,0x40,0x5d,0x0e,0x01,0xc0,0xee,0x04,0xc6,0x00,0xe4,0x3d,0x0e,0xc0,0x41, 266 | 0xd1,0x9c,0xff,0xff,0x37,0xc1,0x00,0xe4,0x07,0xc2,0xca,0x40,0x6f,0xbd,0x23,0xc1, 267 | 0x00,0xee,0x1d,0xc1,0x00,0xe2,0x14,0xc2,0x00,0x41,0x6f,0xbd,0xff,0xff,0xd1,0xc0, 268 | 0x00,0xce,0xed,0x14,0x40,0x5d,0x0e,0x00,0xc6,0x00,0xed,0x04,0xc6,0x00,0xe4,0x3d, 269 | 0x0e,0xc2,0x41,0xec,0x42,0xff,0xff,0x37,0xc1,0x00,0xe4,0x07,0xc2,0x00,0x41,0xec, 270 | 0x42,0x6f,0xbd,0x23,0xc1,0x00,0xee,0x1d,0xc6,0x00,0xe5,0x14,0xc2,0x41,0xec,0x42, 271 | 0xff,0xff,0x01,0x40,0x6f,0xbd,0xc1,0x02,0xce,0x40,0xff,0xff,0x13,0x40,0x5d,0x0e, 272 | 0x00,0xc0,0xee,0x05,0xc6,0x00,0xe4,0x3d,0x0e,0xc2,0x41,0xec,0x42,0xff,0xff,0x1d, 273 | 0x41,0x6f,0xbd,0xff,0xff,0x17,0xc6,0xe2,0x09,0xc2,0xce,0x40,0x6f,0xbd,0x22,0xc6, 274 | 0x00,0xe9,0x1c,0xc1,0x00,0xe2,0x15,0xc0,0x41,0xec,0x42,0xff,0xff,0x04,0xc6,0x02, 275 | 0xce,0xed,0x10,0x40,0x5d,0x0e,0xc6,0x00,0xee,0x05,0xc6,0x00,0xe4,0x3d,0x0e,0xc2, 276 | 0x00,0x40,0xff,0xff,0x1a,0xd1,0xc0,0xce,0xed,0x14,0xc6,0xe2,0x09,0xc2,0x00,0x41, 277 | 0xd1,0x9c,0x6f,0xbd,0x22,0xc6,0x00,0xe9,0x1c,0xc6,0x00,0xe5,0x14,0xc5,0x00,0x41, 278 | 0xd1,0x9c,0xff,0xff,0x06,0xd6,0xc0,0x00,0xee,0x10,0x40,0x5d,0x0e,0xc6,0x00,0xed, 279 | 0x05,0xc6,0x00,0xe4,0x3d,0x0e,0xc2,0x00,0x41,0x6f,0xbd,0xff,0xff,0x18,0xc1,0x03, 280 | 0xee,0x15,0xc6,0xe2,0x09,0x40,0x6f,0xbd,0xc0,0xea,0x1c,0xf1,0xe9,0x00,0xf1,0xf0, 281 | 0xe9,0x1b,0xf1,0xd0,0xe4,0x14,0xc2,0xee,0x40,0xff,0xff,0x07,0x40,0x6f,0xbd,0xc1, 282 | 0x01,0xce,0x40,0xff,0xff,0x0e,0x40,0x5d,0x0e,0xc0,0xee,0x06,0xc6,0x00,0xe4,0x3d, 283 | 0x0e,0x40,0x6f,0xbd,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x18,0xc6,0x04,0xe9,0x13,0x40, 284 | 0x6f,0xbd,0xc0,0xe2,0x0a,0xc2,0x00,0xe9,0x1b,0xc6,0x00,0xee,0xc1,0x00,0xee,0x1c, 285 | 0xc6,0x00,0xe2,0x15,0xc0,0x41,0xec,0x42,0xff,0xff,0x0a,0x40,0x6f,0xbd,0xc6,0x01, 286 | 0xce,0x41,0x6f,0xbd,0xff,0xff,0x0b,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x06,0xc6, 287 | 0x00,0xe2,0x3d,0x0f,0xc0,0x00,0x40,0xff,0xff,0x18,0xc6,0x04,0xe9,0x13,0xc1,0x00, 288 | 0xe2,0x0a,0x40,0x6f,0xbd,0xc0,0xea,0x1b,0xc6,0x01,0xf6,0xc0,0xee,0x1b,0xd1,0xd0, 289 | 0xe4,0x14,0xc5,0x00,0x41,0xec,0x42,0xff,0xff,0x0c,0xf1,0xc0,0x00,0xce,0xed,0x09, 290 | 0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x07,0xc0,0xe2,0x3d,0x0f,0xc2,0x00,0x41,0xd1, 291 | 0x9c,0xff,0xff,0x17,0xc6,0x04,0xe9,0x13,0xc6,0xe2,0x0c,0xc2,0x00,0x41,0xec,0x42, 292 | 0x6f,0xbd,0x1a,0xf1,0xc0,0x03,0xee,0x1b,0xc6,0x00,0xe2,0x15,0xc2,0x00,0x41,0x6f, 293 | 0xbd,0xff,0xff,0x0e,0xf1,0xc0,0x00,0xce,0xed,0x07,0xc6,0x00,0x40,0x5d,0x0e,0x07, 294 | 0xc6,0x00,0xe2,0x3d,0x0f,0x40,0x6f,0xbd,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x17,0xc1, 295 | 0x04,0x41,0x6f,0xbd,0xff,0xff,0x12,0x40,0x6f,0xbd,0xc0,0xe2,0x0d,0xc0,0xce,0xed, 296 | 0x1a,0xc6,0x03,0xce,0xed,0x18,0xc1,0x00,0xe2,0x16,0xc0,0x41,0xec,0x42,0xff,0xff, 297 | 0x11,0xf1,0xc0,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x06,0xc6,0x00,0x40,0x5d, 298 | 0x0e,0x07,0xc6,0x00,0xe2,0x3d,0x10,0xc2,0x41,0xec,0x42,0xff,0xff,0x18,0xc6,0x02, 299 | 0xe9,0x13,0xc6,0x00,0x40,0x6f,0xbd,0xe4,0x0c,0xc2,0x00,0xee,0x1b,0xf1,0xc0,0x02, 300 | 0xce,0xed,0x17,0xc6,0x00,0xe2,0x15,0xc5,0x00,0x41,0xd1,0x9c,0xff,0xff,0x13,0xc1, 301 | 0x02,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x04,0xc0,0x41,0xec,0x42,0x5d,0x0e,0x06, 302 | 0xc0,0x01,0xe2,0x3d,0x10,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x18,0xc9,0x00,0x41, 303 | 0x6f,0xbd,0xff,0xff,0x13,0x40,0x6f,0xbd,0xc0,0x00,0xe4,0x0e,0xc2,0x00,0xe9,0x1c, 304 | 0xf1,0xc2,0x01,0xce,0xed,0x15,0xc6,0x00,0xe2,0x16,0xc2,0x00,0x40,0xff,0xff,0x15, 305 | 0x40,0x6f,0xbd,0xc6,0x02,0x41,0xd1,0x9c,0xff,0xff,0x03,0xc0,0x41,0xec,0x42,0x5d, 306 | 0x0e,0x05,0xc0,0x02,0xe2,0x3d,0x11,0xc2,0x41,0xec,0x42,0xff,0xff,0x31,0xc1,0x00, 307 | 0xe2,0x0f,0xc2,0x00,0x41,0xec,0x42,0x6f,0xbd,0x1e,0xf1,0xf2,0x00,0xed,0x15,0xc6, 308 | 0x01,0xe4,0x16,0xc2,0x41,0xec,0x42,0xff,0xff,0x17,0xf1,0xc0,0x00,0xce,0xed,0x00, 309 | 0xc0,0x41,0xec,0x42,0x5d,0x0e,0x04,0xc6,0x00,0xc6,0x01,0xe4,0x3d,0x10,0xc2,0x00, 310 | 0x41,0xd1,0x9c,0xff,0xff,0x30,0xc6,0xe2,0x11,0xc2,0x00,0x41,0xec,0x42,0x6f,0xbd, 311 | 0x39,0xc1,0x01,0xe2,0x17,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x19,0xf1,0xc0,0x00,0xce, 312 | 0xc5,0x00,0x41,0xec,0x42,0x5d,0x0e,0x03,0xc6,0x00,0xee,0xc6,0x00,0x40,0x6f,0xbd, 313 | 0xe4,0x3d,0x10,0xc2,0x41,0xec,0x42,0xff,0xff,0x2f,0xc1,0x00,0xe2,0x12,0xc2,0x00, 314 | 0x41,0xec,0x42,0x6f,0xbd,0x37,0xc1,0x01,0xe2,0x17,0xc2,0x41,0xec,0x42,0xff,0xff, 315 | 0x1c,0xf1,0xc0,0x00,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0x02,0xc6,0x00,0xee,0x00, 316 | 0xc6,0x00,0xe2,0x3d,0x11,0x40,0x6f,0xbd,0xc0,0x41,0xec,0x42,0xff,0xff,0x2d,0x40, 317 | 0x6f,0xbd,0xc0,0xe2,0x13,0xc5,0x01,0xe9,0x35,0xc1,0x01,0xe2,0x18,0xc2,0x41,0xec, 318 | 0x42,0xff,0xff,0x1e,0xf1,0xc0,0x02,0x40,0x5d,0x0e,0x01,0xc6,0x00,0xee,0x01,0xc6, 319 | 0x00,0xe2,0x3d,0x12,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x2c,0xc6,0x00,0x40,0x6f, 320 | 0xbd,0xe4,0x13,0xc2,0x01,0xe9,0x33,0xf1,0xc0,0xe2,0x18,0xc5,0x00,0x41,0xd1,0x9c, 321 | 0xff,0xff,0x1f,0x40,0x6f,0xbd,0xc6,0xc6,0x00,0x40,0x5d,0x0e,0x01,0xc6,0xee,0x02, 322 | 0xc6,0x00,0xe2,0x3d,0x13,0xc2,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x2a,0xc1,0x00, 323 | 0xe2,0x16,0xc2,0x01,0x41,0xd1,0x9c,0x6f,0xbd,0x31,0xd1,0xc0,0xe2,0x19,0xc2,0x00, 324 | 0x40,0xff,0xff,0x23,0xc6,0x00,0x41,0xec,0x42,0x5d,0x0e,0xc6,0x00,0xee,0x03,0xc0, 325 | 0x00,0xe4,0x3d,0x12,0x40,0x6f,0xbd,0xc0,0xee,0x40,0xff,0xff,0x28,0xc1,0x00,0xe2, 326 | 0x18,0xc2,0x01,0x41,0xd1,0x9c,0x6f,0xbd,0x01,0xe9,0x2b,0xc6,0x01,0xe2,0x1a,0xc0, 327 | 0x41,0xec,0x42,0xff,0xff,0x23,0x40,0x5d,0x0e,0xc0,0xf6,0xc0,0x00,0xed,0x03,0xc0, 328 | 0x00,0xe4,0x3d,0x13,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x27,0xf1,0xc0,0xe4,0x19, 329 | 0xc2,0x01,0xce,0x40,0x6f,0xbd,0x2b,0xf1,0xc0,0x00,0xe2,0x1a,0xc2,0x00,0x40,0xff, 330 | 0xff,0x24,0x40,0x5d,0x0e,0xc6,0x03,0xee,0x04,0xc6,0x00,0xe2,0x3d,0x14,0xc2,0x00, 331 | 0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x24,0x40,0x6f,0xbd,0xc6,0x00,0xe2,0x1b,0xc5, 332 | 0x01,0xf2,0xe9,0x28,0xf1,0xc0,0x00,0xe2,0x1b,0xc2,0x41,0xec,0x42,0xff,0xff,0x24, 333 | 0x40,0x5d,0x0e,0xc6,0x03,0xed,0x04,0xc6,0x00,0xe2,0x3d,0x15,0xc2,0x00,0x42,0xec, 334 | 0x42,0x6f,0xbd,0xff,0xff,0x22,0xf1,0xc0,0xe2,0x1d,0x40,0x6f,0xbd,0xc2,0x01,0xca, 335 | 0xed,0x24,0xf1,0xc0,0x00,0xea,0xe4,0x1a,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24, 336 | 0x40,0x5d,0x0e,0x00,0xc0,0x01,0xee,0x06,0xc0,0xe2,0x3d,0x16,0xc2,0x00,0xce,0x40, 337 | 0xff,0xff,0x20,0xf1,0xc0,0xe2,0x20,0xc2,0x02,0xce,0x00,0x40,0x6f,0xbd,0x20,0xf1, 338 | 0xc0,0x01,0xe2,0x1d,0xc2,0x41,0xec,0x42,0xff,0xff,0x24,0x41,0xd1,0x9c,0x5d,0x0e, 339 | 0x00,0xc6,0x01,0xed,0x06,0xc0,0xe2,0x3d,0x17,0xc2,0x00,0xce,0x40,0xff,0xff,0x1e, 340 | 0xf1,0xc0,0xe2,0x22,0xd2,0xc0,0x01,0xf6,0x41,0xd1,0x9c,0x6f,0xbd,0x1c,0xf1,0xc0, 341 | 0x01,0xd2,0xe4,0x1d,0xc2,0x41,0xd1,0x9c,0xff,0xff,0x24,0x41,0xec,0x42,0x5d,0x0e, 342 | 0x00,0xc6,0x00,0xee,0x07,0xc6,0x00,0xe2,0x3d,0x17,0xd1,0xc0,0xce,0x40,0xff,0xff, 343 | 0x1a,0xf1,0xc0,0xe2,0x26,0xd2,0xc0,0x02,0xf6,0x40,0x6f,0xbd,0x17,0xf1,0xc0,0x02, 344 | 0xd2,0xe4,0x1e,0xc5,0x00,0x41,0xd1,0x9c,0xff,0xff,0x23,0xc1,0x40,0x5d,0x0e,0x01, 345 | 0xc0,0x00,0xed,0x06,0xc6,0x00,0xe2,0x3d,0x19,0xc2,0x01,0x41,0xd1,0x9c,0xff,0xff, 346 | 0x18,0xc6,0x01,0xe2,0x29,0xd2,0xc0,0x03,0xce,0x02,0x40,0x6f,0xbd,0x0b,0xc9,0x01, 347 | 0xd6,0xc0,0x02,0xd2,0xe4,0x20,0xc2,0x41,0xec,0x42,0xff,0xff,0x24,0xc6,0x40,0x5d, 348 | 0x0e,0x01,0xc0,0x00,0xee,0x07,0xc0,0xe2,0x3d,0x1a,0xc2,0x02,0xc9,0x40,0xff,0xff, 349 | 0x12,0x40,0x6f,0xbd,0xf1,0xc0,0xd2,0xe4,0x2c,0xd2,0xc0,0x04,0xf6,0x01,0xc9,0x02, 350 | 0xf6,0x03,0xc0,0x05,0xe2,0x23,0xc5,0x00,0x41,0xec,0x42,0xff,0xff,0x24,0xc6,0x40, 351 | 0x5d,0x0e,0x01,0xc0,0x01,0xee,0x06,0xc6,0xe2,0x3d,0x1c,0xc2,0x02,0xce,0x00,0x40, 352 | 0xff,0xff,0x0c,0xc9,0xd6,0xc0,0xd2,0xe4,0x30,0x40,0x6f,0xbd,0xd2,0x00,0xc0,0x14, 353 | 0xd2,0xe4,0x24,0xc2,0x00,0x40,0xff,0xff,0x24,0xc1,0x00,0x40,0x5d,0x0e,0x00,0xc6, 354 | 0x03,0xee,0x05,0xc6,0x00,0xe4,0x3d,0x1c,0x40,0x6f,0xbd,0xd2,0xc0,0x02,0xf6,0xe9, 355 | 0x40,0xff,0xff,0x00,0x40,0x6f,0xbd,0x00,0xc9,0xf6,0xc0,0x02,0xd2,0xe4,0x36,0xd2, 356 | 0x02,0xc0,0x08,0xd2,0x03,0xe4,0x27,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc6,0x00, 357 | 0x40,0x5d,0x0e,0x00,0xc6,0x04,0xee,0x04,0xc6,0x00,0xe2,0x3d,0x1f,0xd2,0xc0,0x0e, 358 | 0xd2,0x40,0x6f,0xbd,0xe4,0x3d,0x39,0xc2,0xee,0x40,0xff,0xff,0x23,0xc1,0x00,0x41, 359 | 0xec,0x42,0x5d,0x0e,0x00,0xc6,0x00,0xf6,0xc0,0xee,0x05,0xc0,0x00,0xe4,0x3d,0x21, 360 | 0x40,0x6f,0xbd,0xd2,0xc0,0x07,0xd2,0xe4,0x3d,0x3d,0xc2,0x41,0xec,0x42,0xff,0xff, 361 | 0x24,0xc6,0x00,0x41,0xd1,0x9c,0x5d,0x0e,0x00,0xc6,0xee,0x00,0xc0,0x01,0xee,0x03, 362 | 0xc6,0x00,0xe2,0x3d,0x3d,0x3d,0x31,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x23,0xc1, 363 | 0x00,0xe9,0x40,0x5d,0x0e,0x00,0xc6,0xee,0x00,0xf6,0xc0,0x00,0xee,0x03,0xc0,0xe2, 364 | 0x3d,0x3d,0x3d,0x31,0xc2,0x41,0xec,0x42,0xff,0xff,0x24,0xc1,0x43,0xec,0x42,0x6f, 365 | 0xbd,0xff,0xff,0x5d,0x0e,0x00,0xc6,0xee,0x02,0xc6,0x01,0xee,0x02,0xc6,0x00,0xe4, 366 | 0x3d,0x3d,0x3d,0x2f,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x23,0x40,0x6f,0xbd,0xc6, 367 | 0x41,0xd1,0x9c,0xff,0xff,0x00,0x40,0x5d,0x0e,0x00,0xc6,0xee,0x03,0xc6,0x01,0xf6, 368 | 0xed,0xc6,0x00,0xe2,0x3d,0x3d,0x3d,0x2f,0xc2,0x00,0x40,0xff,0xff,0x24,0xc6,0x00, 369 | 0xe9,0x00,0x40,0x5d,0x0e,0x00,0xc6,0x00,0xed,0x03,0xf6,0xc0,0x00,0xee,0x00,0xc0, 370 | 0xe2,0x3d,0x3d,0x3d,0x2e,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x24,0xc0,0xee,0x01, 371 | 0x40,0x5d,0x0e,0x01,0xc0,0xed,0x04,0xf6,0xc0,0x05,0x40,0x6f,0xbd,0xe4,0x08,0xd2, 372 | 0x01,0xe4,0x3d,0x3d,0x3d,0x1d,0xc2,0x00,0x40,0xff,0xff,0x24,0xc6,0x00,0xe9,0x01, 373 | 0x40,0x5d,0x0e,0x01,0xc0,0xee,0x06,0xc6,0x05,0xd2,0x00,0x40,0x6f,0xbd,0xe4,0xd5, 374 | 0x03,0xc0,0x01,0xe4,0x3d,0x27,0xd2,0x01,0xe4,0x3d,0x2c,0xc1,0x00,0x41,0xec,0x42, 375 | 0xff,0xff,0x24,0xc0,0xee,0x02,0x40,0x5d,0x0e,0x01,0xc6,0xee,0x08,0xf6,0xc0,0x0f, 376 | 0xd2,0xe4,0x3d,0x25,0xc2,0x02,0xe2,0x3d,0x2d,0xc2,0x42,0xec,0x42,0x6f,0xbd,0xff, 377 | 0xff,0x23,0xc1,0x00,0xe9,0x02,0x40,0x5d,0x0e,0x01,0xc6,0x00,0xed,0x0a,0xf6,0xc0, 378 | 0x09,0xd2,0x40,0x6f,0xbd,0xe4,0x3d,0x23,0xd5,0x00,0xc0,0x02,0xea,0xe4,0x3d,0x2b, 379 | 0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x24,0xc6,0xee,0x03,0x40,0x5d,0x0e,0x01,0xc6, 380 | 0x00,0xee,0x0c,0xc6,0x00,0xf2,0xd2,0x02,0xe4,0x3d,0x25,0xd2,0x00,0xc0,0x02,0xd2, 381 | 0x41,0xc0,0xf6,0x6f,0xbd,0xe4,0x1c,0xd2,0x00,0xe4,0x3d,0x09,0xc5,0x01,0x40,0xff, 382 | 0xff,0x24,0xc1,0x00,0xe9,0x03,0x40,0x5d,0x0e,0x02,0xc0,0xee,0x0d,0xc0,0xe2,0x3d, 383 | 0x28,0x40,0x6f,0xbd,0xd2,0xc0,0x02,0xd2,0x00,0xe4,0x21,0xc2,0x00,0xe2,0x3d,0x09, 384 | 0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff, 385 | 0x03,0x40,0x5d,0x0e,0x02,0xc6,0x00,0xee,0x0c,0xc6,0x00,0xe2,0x3d,0x25,0xd2,0xc0, 386 | 0x03,0xd2,0x40,0x6f,0xbd,0xe4,0x19,0xe2,0x08,0xc2,0x00,0xe5,0x3d,0x07,0xc5,0x00, 387 | 0x41,0xec,0x42,0xff,0xff,0x24,0x40,0x6f,0xbd,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x04, 388 | 0x40,0x5d,0x0e,0x03,0xc6,0x00,0xed,0x0c,0xc0,0x00,0x40,0x6f,0xbd,0xe4,0x3d,0x20, 389 | 0xd2,0xc0,0x03,0xea,0xe4,0x11,0xd5,0x00,0xe4,0x04,0xc5,0x00,0xe4,0x07,0xc2,0x00, 390 | 0xe2,0x3d,0x07,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x24,0xc6,0x00,0xe9,0x04,0x40, 391 | 0x5d,0x0e,0x03,0xc6,0x00,0xee,0x0c,0xc6,0x00,0xe2,0x3d,0x1e,0xd2,0x00,0xc0,0x02, 392 | 0xd2,0xe4,0x14,0xc2,0x00,0xe4,0x03,0xd2,0xc0,0xe4,0x08,0xc2,0x00,0xe4,0x3d,0x05, 393 | 0x40,0x6f,0xbd,0xc0,0x41,0xec,0x42,0xff,0xff,0x25,0xc6,0xee,0x05,0x40,0x5d,0x0e, 394 | 0x04,0xc6,0x00,0xee,0x0c,0xc6,0x00,0xe2,0x3d,0x1b,0xc2,0x04,0xd2,0x40,0x6f,0xbd, 395 | 0xe4,0x16,0xc0,0xe2,0x04,0xc0,0x00,0xe2,0x09,0xc2,0x00,0xe2,0x3d,0x05,0xc2,0x00, 396 | 0x41,0xd1,0x9c,0xff,0xff,0x24,0xc1,0x00,0xe9,0x05,0x40,0x5d,0x0e,0x04,0xc6,0x01, 397 | 0xed,0x0b,0xc6,0x00,0xe2,0x3d,0x18,0x40,0x6f,0xbd,0xc2,0x03,0xd2,0xe4,0x19,0xc2, 398 | 0x00,0xe2,0x03,0xc2,0x00,0xe2,0x0b,0xc2,0x00,0xe4,0x3d,0x03,0xc2,0x00,0x41,0xec, 399 | 0x42,0xff,0xff,0x25,0xc6,0x00,0xed,0x05,0x40,0x5d,0x0e,0x05,0xc6,0x00,0xee,0x0c, 400 | 0xc6,0x00,0xe2,0x3d,0x16,0xc2,0x03,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x1b,0xc0,0xe2, 401 | 0x03,0xc2,0x00,0xe2,0x0c,0xc2,0x00,0xe2,0x3d,0x02,0xc5,0x00,0x41,0xec,0x42,0xff, 402 | 0xff,0x25,0xc1,0x00,0xee,0x06,0x40,0x5d,0x0e,0x06,0xc6,0x00,0xee,0x0c,0xc6,0x00, 403 | 0xe2,0x3d,0x14,0xc2,0x02,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x1d,0xc0,0xe2,0x03,0xc2, 404 | 0x00,0xe2,0x0c,0xc2,0x00,0xe2,0x3d,0x02,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x25, 405 | 0xc1,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x06,0x40,0x5d,0x0e,0x07,0xc6,0x00,0xee, 406 | 0x0b,0xc6,0x01,0x40,0x6f,0xbd,0xe4,0x3d,0x12,0xc0,0x01,0xe2,0x1f,0xc5,0x00,0xe2, 407 | 0x03,0xc2,0x01,0xe4,0x0c,0xc0,0x00,0xd2,0x05,0xe5,0x36,0xc2,0x00,0x41,0xec,0x42, 408 | 0xff,0xff,0x26,0xc6,0xee,0x07,0x40,0x5d,0x0e,0x08,0xc6,0x00,0xee,0x0b,0xc6,0x00, 409 | 0xe2,0x3d,0x13,0xc0,0x02,0xd2,0x01,0x40,0x6f,0xbd,0x00,0xe4,0x18,0xc2,0x00,0xe2, 410 | 0x03,0xc0,0x01,0xe5,0x0c,0xc0,0x0d,0xd2,0x04,0xe4,0x29,0xc5,0x00,0xee,0x40,0xff, 411 | 0xff,0x25,0xc1,0x00,0xe9,0x07,0x40,0x5d,0x0e,0x09,0xc6,0x00,0xf6,0xed,0x09,0xc6, 412 | 0x00,0xe2,0x3d,0x12,0xc2,0x08,0xd2,0x05,0xe4,0x10,0xc2,0x00,0xe2,0x03,0xc0,0x01, 413 | 0xe2,0x0c,0xc0,0x15,0xd2,0x02,0xe4,0x23,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x26, 414 | 0xc6,0xea,0x08,0x40,0x5d,0x0e,0x0a,0xc6,0x01,0xee,0x0a,0xc0,0x00,0xe2,0x3d,0x13, 415 | 0xd2,0x02,0xc0,0x0c,0xd2,0x02,0xe4,0x08,0xc2,0x00,0xe2,0x02,0xc2,0x03,0xe2,0x0b, 416 | 0xc0,0x00,0xee,0x04,0xf6,0x06,0xc0,0x09,0xd2,0x40,0x6f,0xbd,0xe4,0x1d,0xc2,0x00, 417 | 0x41,0xec,0x42,0xff,0xff,0x26,0xc1,0x00,0xee,0x08,0x40,0x5d,0x0e,0x0b,0xc6,0x02, 418 | 0xf6,0xed,0x06,0xc6,0x01,0xe2,0x04,0xe2,0x3d,0x0f,0x40,0x6f,0xbd,0x02,0xd4,0x01, 419 | 0xc0,0x0d,0xd2,0xe4,0x04,0xc0,0xe2,0x03,0xc0,0x03,0xd2,0xe4,0x08,0xc0,0x41,0xec, 420 | 0x42,0x5d,0x0e,0x10,0xf6,0x01,0xc0,0x07,0xd2,0x01,0xe4,0x18,0xc0,0x42,0xec,0x42, 421 | 0x6f,0xbd,0xff,0xff,0x26,0xc6,0x00,0x41,0x6f,0xbd,0xff,0xff,0x08,0x40,0x5d,0x0e, 422 | 0x0d,0xc6,0x02,0xf6,0xed,0x05,0xc6,0x01,0xe2,0x00,0xd2,0xc0,0xe2,0x3d,0x17,0x40, 423 | 0x6f,0xbd,0x00,0xd2,0x00,0xc0,0x09,0xea,0xe4,0x01,0xc2,0x00,0xe2,0x02,0xc5,0x01, 424 | 0xc2,0x05,0xe2,0x04,0xc2,0x00,0x41,0xec,0x42,0x5d,0x0e,0x16,0xf6,0x00,0xc0,0x07, 425 | 0xd2,0x00,0x40,0x6f,0xbd,0xe4,0x12,0xc2,0x00,0x41,0xd1,0x9c,0xff,0xff,0x27,0xc2, 426 | 0xee,0x09,0x40,0x5d,0x0e,0x0e,0xf6,0xc0,0x02,0xf6,0xed,0x02,0xf6,0xc0,0x06,0xe2, 427 | 0x3d,0x1f,0x40,0x6f,0xbd,0xd2,0x02,0xc0,0x02,0xd2,0xc0,0x03,0xe2,0x02,0xc2,0x00, 428 | 0xed,0xc2,0x03,0xe2,0x04,0xc2,0x00,0x40,0x5d,0x0e,0x1c,0xf6,0x01,0xc0,0x06,0xd2, 429 | 0x40,0x6f,0xbd,0xe4,0x0d,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x27,0xc1,0x00,0xe9, 430 | 0x09,0x40,0x5d,0x0e,0x10,0xf6,0xc0,0x11,0xe2,0x3d,0x25,0xc2,0x0b,0xe2,0x02,0xc2, 431 | 0x00,0xe2,0x01,0xd2,0x01,0xe4,0x03,0xc2,0x00,0xee,0x21,0xf6,0x01,0xc0,0x04,0xd2, 432 | 0x40,0x6f,0xbd,0xe4,0x09,0xc5,0x01,0x41,0x6f,0xbd,0xff,0xff,0x27,0xc6,0xee,0x0a, 433 | 0x40,0x5d,0x0e,0x13,0xf6,0xc0,0x0c,0xe2,0x3d,0x24,0xd2,0x00,0xc0,0x06,0xf6,0x00, 434 | 0xc0,0x00,0xe2,0x02,0xc0,0xe2,0x0a,0x40,0x6f,0xbd,0xc2,0x00,0x41,0xec,0x42,0x5d, 435 | 0x0e,0x26,0xf6,0x00,0xc0,0x03,0xd2,0x00,0xe4,0x06,0xc2,0x00,0x41,0xd1,0x9c,0xff, 436 | 0xff,0x27,0xc1,0x00,0xe9,0x0a,0x40,0x5d,0x0e,0x16,0xf6,0x07,0xc0,0x01,0xe2,0x3d, 437 | 0x20,0xd2,0x00,0xc0,0x05,0xf6,0x00,0xed,0x02,0xc6,0x01,0xe2,0x01,0xc2,0xe2,0x09, 438 | 0x40,0x6f,0xbd,0xc2,0x00,0x41,0xec,0x42,0x5d,0x0e,0x2b,0xf6,0xc0,0x04,0xd2,0xe4, 439 | 0x02,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x28,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff, 440 | 0xff,0x0a,0x40,0x5d,0x0e,0x21,0xc6,0x01,0xe2,0x3d,0x1c,0xd2,0xc0,0x07,0xee,0x08, 441 | 0xc6,0x01,0xe2,0x0e,0xc2,0x00,0xee,0x2e,0xc6,0x00,0xc6,0x03,0xd2,0x40,0x6f,0xbd, 442 | 0x00,0xc2,0x00,0x41,0xec,0x42,0xff,0xff,0x28,0xc1,0x00,0xe9,0x0b,0x40,0x5d,0x0e, 443 | 0x22,0xc6,0x01,0xe2,0x3d,0x15,0xd2,0x02,0xc0,0x08,0xf6,0xed,0x09,0xc6,0x01,0xe2, 444 | 0x0b,0x40,0x6f,0xbd,0xc2,0x00,0xf6,0x40,0x5d,0x0e,0x2d,0xc6,0x00,0x41,0xec,0x42, 445 | 0xff,0xff,0xf1,0xc0,0x06,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x28,0xc6,0x00,0x41, 446 | 0x6f,0xbd,0xff,0xff,0x0b,0x40,0x5d,0x0e,0x23,0xc6,0x01,0xe2,0x3d,0x10,0xd2,0x01, 447 | 0xc0,0x0c,0xee,0x0d,0xc6,0x01,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x07,0xd2,0xc0,0x41, 448 | 0xec,0x42,0x5d,0x0e,0x2f,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x02,0xf6,0xc0,0x03, 449 | 0xe9,0x28,0xc1,0x00,0xee,0x0c,0x40,0x5d,0x0e,0x24,0xc6,0x01,0xe2,0x3d,0x0b,0xd1, 450 | 0xc0,0x07,0xf6,0x01,0xc0,0x02,0xf6,0xed,0x0e,0xc6,0x02,0xd2,0x40,0x6f,0xbd,0xe4, 451 | 0x00,0xd5,0x00,0xc0,0x01,0x41,0xec,0x42,0x5d,0x0e,0x30,0xc6,0x00,0x41,0xd1,0x9c, 452 | 0xff,0xff,0x04,0xc1,0x02,0xe9,0x29,0xc1,0x00,0x41,0x6f,0xbd,0xff,0xff,0x0c,0x40, 453 | 0x5d,0x0e,0x25,0xc6,0x02,0xe2,0x3d,0x04,0x40,0x6f,0xbd,0xd4,0x00,0xc0,0x05,0xf6, 454 | 0x00,0x40,0x5d,0x0e,0x02,0xf6,0xc0,0x01,0xee,0x12,0xf6,0xc0,0x0b,0xee,0x31,0xc6, 455 | 0x00,0x41,0xd1,0x9c,0xff,0xff,0x04,0xc1,0x01,0xe9,0x29,0x40,0x6f,0xbd,0xc6,0x41, 456 | 0xd1,0x9c,0xff,0xff,0x0b,0xf1,0x40,0x5d,0x0e,0x26,0xf6,0xc0,0x00,0xe2,0x3d,0x40, 457 | 0x6f,0xbd,0xd2,0x00,0xc0,0x05,0xf6,0x00,0x40,0x5d,0x0e,0x05,0xf6,0xc0,0x00,0xee, 458 | 0x16,0xc6,0x08,0xf6,0xed,0x32,0xc6,0x00,0x41,0x6f,0xbd,0xff,0xff,0x03,0xf1,0xc0, 459 | 0xe9,0x2a,0xc1,0x00,0xe9,0x0a,0xd1,0x41,0x00,0x00,0x5d,0x0e,0x28,0xc6,0x02,0xe2, 460 | 0x38,0x40,0x6f,0xbd,0xc2,0x06,0xf6,0x01,0x40,0x5d,0x0e,0x08,0xc6,0x02,0xee,0x1a, 461 | 0xf6,0x04,0xed,0x35,0xc0,0x00,0x41,0x6f,0xbd,0xff,0xff,0x02,0xd1,0xc0,0xe9,0x2b, 462 | 0xc6,0xee,0x0a,0xc6,0x01,0x40,0x5d,0x0e,0x29,0xc6,0x02,0xd2,0xe4,0x32,0xd2,0xc0, 463 | 0x05,0xf6,0xed,0x0b,0xc6,0x02,0xee,0x3d,0x1c,0xc0,0x00,0x40,0xff,0xff,0x02,0xf1, 464 | 0xf0,0xe9,0x2b,0xc6,0x00,0xe9,0x09,0xc1,0x01,0x41,0xd1,0x9c,0x5d,0x0e,0x2b,0xc6, 465 | 0x02,0xe2,0x2d,0xd2,0x01,0xc0,0x04,0xf6,0xed,0x0e,0xc6,0x02,0xee,0x3d,0x1d,0xc6, 466 | 0x00,0x41,0x6f,0xbd,0xff,0xff,0x01,0xc6,0x00,0xe9,0x2b,0x40,0x6f,0xbd,0xc0,0x41, 467 | 0xec,0x42,0xff,0xff,0x09,0xc1,0x00,0xce,0x41,0xff,0xff,0x5d,0x0e,0x2c,0xc6,0x03, 468 | 0x41,0x82,0x62,0x6f,0xbd,0xe4,0x25,0xd2,0x00,0xc0,0x04,0xf6,0x00,0x40,0x5d,0x0e, 469 | 0x12,0xc0,0x01,0xee,0x11,0xf6,0x00,0xed,0x3d,0x08,0xc6,0x00,0x41,0x6f,0xbd,0xff, 470 | 0xff,0x01,0xf1,0xed,0x2c,0xc6,0x00,0xed,0x08,0xc6,0x00,0xce,0xed,0x40,0x5d,0x0e, 471 | 0x2e,0xc6,0x03,0x41,0x82,0x62,0x6f,0xbd,0xe4,0x20,0xd2,0xc0,0x04,0xf6,0x00,0x40, 472 | 0x5d,0x0e,0x14,0xc6,0x02,0xee,0x0d,0xf6,0x00,0xc0,0x01,0xee,0x3d,0x09,0xc6,0x00, 473 | 0x41,0xd1,0x9c,0xff,0xff,0x31,0xc1,0x00,0xe9,0x08,0xc1,0x00,0x42,0xec,0x42,0x6f, 474 | 0xbd,0xff,0xff,0x01,0x40,0x5d,0x0e,0x30,0xc6,0x04,0xe2,0x1a,0xd2,0x00,0xc0,0x04, 475 | 0xf6,0xed,0x17,0xc6,0x02,0xee,0x08,0xf6,0x02,0xc0,0x05,0xee,0x3d,0x0a,0xc0,0x41, 476 | 0xec,0x42,0xff,0xff,0x31,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x07,0xf1,0xf0, 477 | 0xe9,0x02,0x40,0x5d,0x0e,0x32,0xc6,0x06,0xd2,0x01,0xe4,0x0b,0x40,0x6f,0xbd,0xd2, 478 | 0x01,0xc0,0x06,0xf6,0x40,0x5d,0x0e,0x1a,0xc6,0x02,0xee,0x04,0xf6,0x00,0xc0,0x08, 479 | 0xf6,0x00,0xed,0x3d,0x0b,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x2f,0xc1,0x00,0xe9, 480 | 0x08,0xc6,0x00,0xe9,0x03,0x40,0x5d,0x0e,0x35,0xf6,0xc0,0x09,0xd2,0x04,0xc0,0x09, 481 | 0xf6,0x00,0xed,0x1c,0xc6,0x02,0xee,0x00,0xf6,0xc0,0x09,0xf6,0x01,0xed,0x3d,0x0f, 482 | 0xc6,0x01,0x41,0x6f,0xbd,0xff,0xff,0x2e,0xc6,0xea,0x08,0xc6,0x00,0xe9,0x04,0x40, 483 | 0x5d,0x0e,0x38,0xf6,0x00,0xc0,0x13,0xf6,0x00,0xed,0x21,0xc6,0x0e,0xf6,0x00,0xed, 484 | 0x3d,0x16,0xc6,0x00,0xce,0x40,0xff,0xff,0x2c,0xc1,0x00,0xe9,0x07,0xc1,0x00,0xee, 485 | 0x05,0x40,0x5d,0x0e,0x3c,0xf6,0x00,0xc0,0x0a,0xf6,0x01,0xed,0x24,0xc6,0x0a,0xf6, 486 | 0x00,0xed,0x3d,0x1c,0xc6,0x00,0xca,0x40,0xff,0xff,0x2a,0xc1,0x00,0xee,0x07,0x40, 487 | 0x6f,0xbd,0xc6,0xee,0x40,0xff,0xff,0x05,0x40,0x5d,0x0e,0x3d,0x06,0xf6,0x00,0xed, 488 | 0x2d,0xc6,0x03,0xf6,0x02,0xed,0x3d,0x22,0xc6,0x01,0xca,0x40,0xff,0xff,0x28,0xc6, 489 | 0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x07,0xc6,0x00,0xe9,0x06,0x40,0x5d,0x0e,0x3d, 490 | 0x3b,0xf6,0xed,0x3d,0x2b,0xc6,0x01,0xce,0x40,0xff,0xff,0x25,0xc6,0x00,0xe9,0x07, 491 | 0xc6,0x00,0xee,0x07,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x2e,0xf6,0xc0,0x00,0xce,0x40, 492 | 0xff,0xff,0x22,0xc1,0x00,0xee,0x07,0x40,0x6f,0xbd,0xc0,0x00,0x40,0xff,0xff,0x08, 493 | 0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x30,0xf6,0xc0,0x00,0xce,0x40,0xff,0xff,0x1f,0x40, 494 | 0x6f,0xbd,0xc6,0x00,0x40,0xff,0xff,0x08,0xc6,0x00,0xe9,0x08,0x40,0x5d,0x0e,0x3d, 495 | 0x3d,0x3d,0x32,0xf6,0xc0,0x01,0x41,0xd1,0x9c,0xff,0xff,0x1d,0xc6,0x00,0xe9,0x07, 496 | 0xc1,0x00,0xee,0x09,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x34,0xf6,0xc0,0x00,0xf6,0x41, 497 | 0x6f,0xbd,0xff,0xff,0x19,0xc1,0x00,0xee,0x08,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff, 498 | 0xff,0x09,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x36,0xf6,0xc0,0x00,0xf6,0x41,0xd1,0x9c, 499 | 0xff,0xff,0x16,0xc6,0x00,0xee,0x08,0xc1,0x00,0xe9,0x0a,0x40,0x5d,0x0e,0x3d,0x3d, 500 | 0x3d,0x38,0xf6,0xc0,0x01,0xca,0x40,0xff,0xff,0x13,0xc1,0x00,0x42,0xec,0x42,0x6f, 501 | 0xbd,0xff,0xff,0x08,0xc6,0xea,0x0b,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x3b,0xf6,0xc0, 502 | 0x01,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0f,0xc1,0x00,0x42,0xec,0x42,0x6f,0xbd, 503 | 0xff,0xff,0x08,0x40,0x6f,0xbd,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x0b,0x40,0x5d,0x0e, 504 | 0x3d,0x3d,0x3d,0x3d,0x00,0xc6,0x02,0xce,0x40,0xff,0xff,0x0c,0xd1,0xc0,0xe9,0x09, 505 | 0xc6,0x00,0x41,0x6f,0xbd,0xff,0xff,0x0b,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x3d,0x02, 506 | 0xc6,0x02,0xce,0x40,0xff,0xff,0x09,0xc1,0x01,0xee,0x09,0x40,0x6f,0xbd,0xc0,0x41, 507 | 0xec,0x42,0xff,0xff,0x0c,0x40,0x5d,0x0e,0x3d,0x3d,0x3d,0x3d,0x04,0xf6,0xc0,0x01, 508 | 0x41,0xd1,0x9c,0xff,0xff,0x07,0xc6,0x01,0xce,0xed,0x07,0xc1,0x00,0xe9,0x0c,0x40, 509 | 0x5d,0x0e,0x3d,0x3d,0x3d,0x3d,0x06,0xf6,0xc0,0x01,0x42,0xd1,0x9c,0x6f,0xbd,0xff, 510 | 0xff,0x03,0xc6,0x04,0xce,0xed,0x05,0xc6,0x00,0xed,0x0c,0x40,0x5d,0x0e,0x3f,0x00, 511 | 0xf6,0xc0,0x01,0xce,0x40,0xff,0xff,0xf1,0xc0,0xf6,0x00,0xc0,0x01,0xce,0xed,0x02, 512 | 0x40,0x6f,0xbd,0xc6,0x41,0xec,0x42,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x02,0xf6, 513 | 0xc0,0x05,0xee,0x02,0xf6,0xc0,0x01,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x00,0xc1, 514 | 0x00,0xe9,0x0d,0x40,0x5d,0x0e,0x3f,0x05,0xc6,0x03,0xee,0x05,0xf6,0xc0,0x01,0xf6, 515 | 0x00,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x07,0xc6,0xf6,0xed, 516 | 0x08,0xc6,0x04,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x18, 517 | 0xf6,0xc0,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1a, 518 | 0xc6,0x00,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1b,0xc6, 519 | 0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1b,0xc6,0x42,0xec, 520 | 0x42,0x6f,0xbd,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1b,0xc6,0x00,0x41,0xd1,0x9c, 521 | 0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1c,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x0d,0x40, 522 | 0x5d,0x0e,0x3f,0x1c,0xc0,0x41,0xd1,0x9c,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1c, 523 | 0xc0,0x41,0xd1,0x9c,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1c,0xc6,0x41,0xd1,0x9c, 524 | 0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1c,0xc6,0x41,0xec,0x42,0xff,0xff,0x0d,0x40, 525 | 0x5d,0x0e,0x3f,0x1c,0xc6,0x41,0xec,0x42,0xff,0xff,0x0d,0x40,0x5d,0x0e,0x3f,0x1c, 526 | 0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x0c,0x40,0x5d,0x0e,0x3f,0x1d,0xc0,0x41,0xec, 527 | 0x42,0xff,0xff,0x0c,0x40,0x5d,0x0e,0x3f,0x1d,0xc6,0x00,0x40,0xff,0xff,0x0c,0x40, 528 | 0x5d,0x0e,0x3f,0x1d,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x0b,0x40,0x5d,0x0e,0x3f, 529 | 0x1e,0xc0,0x41,0xec,0x42,0xff,0xff,0x0b,0x40,0x5d,0x0e,0x3f,0x1e,0xc6,0x42,0xec, 530 | 0x42,0x6f,0xbd,0xff,0xff,0x0a,0x40,0x5d,0x0e,0x3f,0x1f,0xc0,0x41,0xd1,0x9c,0xff, 531 | 0xff,0x0a,0x40,0x5d,0x0e,0x3f,0x1f,0xc6,0x42,0xec,0x42,0x6f,0xbd,0xff,0xff,0x09, 532 | 0x40,0x5d,0x0e,0x3f,0x1f,0xc6,0x00,0x41,0xec,0x42,0xff,0xff,0x09,0x40,0x5d,0x0e, 533 | 0x3f,0x20,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff,0x08,0x40,0x5d,0x0e,0x3f,0x21,0xc6, 534 | 0x00,0x41,0xd1,0x9c,0xff,0xff,0x07,0x40,0x5d,0x0e,0x3f,0x21,0xc6,0x00,0x41,0xec, 535 | 0x42,0xff,0xff,0x07,0x40,0x5d,0x0e,0x3f,0x22,0xc6,0x00,0x41,0xd1,0x9c,0xff,0xff, 536 | 0x06}; 537 | -------------------------------------------------------------------------------- /examples/slic_on_avr/arduino_logo.h: -------------------------------------------------------------------------------- 1 | // 2 | // arduino_logo 3 | // Data size = 10981 bytes 4 | // 5 | // for non-Arduino builds... 6 | #ifndef PROGMEM 7 | #define PROGMEM 8 | #endif 9 | const uint8_t arduino_logo[] PROGMEM = { 10 | 0x53,0x4c,0x49,0x43,0x0e,0x01,0xb7,0x00,0x10,0x04,0x38,0x46,0xc3,0x00,0x66,0x01, 11 | 0xe8,0x01,0x49,0x02,0x8b,0x02,0xcc,0x02,0x0c,0x03,0xab,0xae,0x01,0xed,0xa5,0xa1, 12 | 0xa1,0x43,0x08,0x02,0xa7,0x01,0x04,0x01,0x00,0x00,0x3d,0x35,0x44,0x41,0x00,0x45, 13 | 0x01,0xc7,0x01,0x29,0x02,0x8a,0x02,0xaf,0x40,0xec,0x02,0xaf,0xae,0x02,0xf5,0xa5, 14 | 0xa1,0xa1,0x42,0xc8,0x01,0x45,0x01,0x82,0x00,0xc0,0x3d,0x2b,0x45,0x41,0x00,0x87, 15 | 0x01,0x8a,0x02,0x0d,0x03,0x8e,0x03,0xf0,0x03,0xaf,0xae,0x0f,0xd1,0xa1,0x43,0x4d, 16 | 0x03,0xcb,0x02,0x09,0x02,0x04,0x01,0xc0,0x3d,0x28,0xae,0x45,0x25,0x01,0x29,0x02, 17 | 0xec,0x02,0x4e,0x03,0xaf,0x03,0x11,0x04,0x00,0xae,0x0f,0xa6,0xa1,0x44,0x6e,0x03, 18 | 0xec,0x02,0x6a,0x02,0x66,0x01,0x20,0x00,0xa6,0x3d,0x22,0x44,0x82,0x00,0xc7,0x01, 19 | 0xcc,0x02,0x8f,0x03,0x11,0x04,0xae,0x1c,0x44,0xd0,0x03,0x2d,0x03,0x6a,0x02,0x25, 20 | 0x01,0x41,0x00,0xa1,0x3d,0x20,0x44,0x41,0x00,0x86,0x01,0xab,0x02,0x4e,0x03,0xf0, 21 | 0x03,0xff,0x1b,0xa1,0x40,0x6e,0x03,0xf1,0x41,0x62,0x00,0x00,0x00,0x3d,0x1b,0x43, 22 | 0x04,0x01,0x49,0x02,0x4e,0x03,0xf0,0x03,0xff,0x23,0x43,0xaf,0x03,0x0c,0x03,0xe8, 23 | 0x01,0x62,0x00,0xc0,0x3d,0x19,0x44,0xc3,0x00,0x09,0x02,0x2d,0x03,0xd0,0x03,0x31, 24 | 0x04,0x24,0xa1,0x42,0x2d,0x03,0x29,0x02,0xa3,0x00,0xc0,0x3d,0x14,0x43,0x82,0x00, 25 | 0x29,0x02,0x6e,0x03,0x11,0x04,0xae,0x2a,0x43,0xd0,0x03,0x0d,0x03,0xc7,0x01,0x00, 26 | 0x00,0x3d,0x15,0x43,0x62,0x00,0x08,0x02,0x2d,0x03,0xf0,0x03,0xff,0x29,0xda,0x41, 27 | 0xe8,0x01,0x21,0x00,0xa5,0x3d,0x10,0x43,0x66,0x01,0x0c,0x03,0xf0,0x03,0x31,0x04, 28 | 0x30,0x43,0xaf,0x03,0xab,0x02,0xe4,0x00,0x00,0x00,0x3d,0x10,0x41,0x45,0x01,0xec, 29 | 0x02,0xfa,0x30,0x43,0xd0,0x03,0xcc,0x02,0x04,0x01,0x00,0x00,0x1b,0x42,0x08,0x02, 30 | 0x2d,0x03,0x6e,0x03,0xa6,0x42,0xab,0x02,0x25,0x01,0x00,0x00,0x26,0xaf,0x42,0xe8, 31 | 0x01,0x6e,0x03,0x31,0x04,0x35,0xa6,0x42,0x2d,0x03,0x86,0x01,0x20,0x00,0xa6,0x3d, 32 | 0x0a,0xaf,0x42,0xe8,0x01,0x4e,0x03,0x31,0x04,0x35,0xd9,0x40,0x86,0x01,0xc0,0x16, 33 | 0x49,0x04,0x01,0x6e,0x03,0xaf,0x03,0xab,0x02,0x29,0x02,0x6a,0x02,0x4d,0x03,0xf0, 34 | 0x03,0x8a,0x02,0x00,0x00,0x23,0x43,0x41,0x00,0x09,0x02,0x8f,0x03,0x31,0x04,0x3a, 35 | 0x42,0x6e,0x03,0xc8,0x01,0x00,0x00,0x3d,0x07,0x43,0x41,0x00,0x29,0x02,0x8f,0x03, 36 | 0x31,0x04,0x3a,0x41,0x4e,0x03,0xc7,0x01,0xc0,0x13,0x42,0x82,0x00,0x8f,0x03,0x0d, 37 | 0x03,0x00,0xae,0x00,0xa5,0x43,0x49,0x02,0xe8,0x01,0xf0,0x03,0x8a,0x02,0xc0,0x20, 38 | 0x42,0xe8,0x01,0x8f,0x03,0x31,0x04,0x3d,0x00,0x42,0x6e,0x03,0xc7,0x01,0x00,0x00, 39 | 0x3d,0x03,0xae,0x42,0x29,0x02,0xaf,0x03,0x31,0x04,0x3d,0x00,0x42,0x4e,0x03,0x66, 40 | 0x01,0x00,0x00,0x12,0x42,0xab,0x02,0x8e,0x03,0x25,0x01,0xff,0x41,0xcf,0x03,0x10, 41 | 0x04,0xaf,0x44,0x0d,0x03,0x09,0x02,0xf0,0x03,0x04,0x01,0x00,0x00,0x1e,0x41,0x66, 42 | 0x01,0x4e,0x03,0xff,0x3d,0x03,0xc2,0x40,0x00,0x00,0x3d,0x00,0x42,0xc8,0x01,0x8f, 43 | 0x03,0x31,0x04,0x3d,0x03,0xa6,0x41,0x0d,0x03,0xe4,0x00,0xc0,0x0e,0x48,0x41,0x00, 44 | 0xcf,0x03,0x29,0x02,0x04,0x01,0x31,0x04,0xd0,0x03,0x00,0x00,0x66,0x01,0x31,0x04, 45 | 0xa1,0x43,0x62,0x00,0x8f,0x03,0xab,0x02,0x00,0x00,0x1c,0x42,0x82,0x00,0xcc,0x02, 46 | 0x11,0x04,0xae,0x3d,0x06,0xa6,0x42,0xec,0x02,0xc3,0x00,0x00,0x00,0x3a,0x42,0x25, 47 | 0x01,0x4d,0x03,0x31,0x04,0x3d,0x07,0xa1,0x40,0x6a,0x02,0xc5,0x0d,0x42,0xe4,0x00, 48 | 0x11,0x04,0x45,0x01,0xa1,0x44,0x31,0x04,0xd0,0x03,0x82,0x00,0xc8,0x01,0x31,0x04, 49 | 0xa1,0x42,0x41,0x00,0xec,0x02,0x4d,0x03,0xc0,0x1a,0x41,0xc8,0x01,0xcf,0x03,0xff, 50 | 0x3d,0x09,0x42,0xd0,0x03,0x49,0x02,0x20,0x00,0xc0,0x35,0x42,0x62,0x00,0xab,0x02, 51 | 0x11,0x04,0xff,0x3d,0x09,0x42,0x6e,0x03,0x66,0x01,0x00,0x00,0x0c,0x40,0x04,0x01, 52 | 0xe1,0x00,0xff,0xfa,0x00,0x43,0x8a,0x02,0x00,0x00,0xcb,0x02,0x4e,0x03,0xc0,0x18, 53 | 0x42,0x82,0x00,0xec,0x02,0x31,0x04,0x3d,0x0e,0x41,0x4e,0x03,0x25,0x01,0xc0,0x33, 54 | 0x41,0xa7,0x01,0xaf,0x03,0xff,0x3d,0x0c,0xa6,0x41,0x8a,0x02,0x21,0x00,0xc0,0x09, 55 | 0x44,0xa3,0x00,0xf0,0x03,0xa7,0x01,0x04,0x01,0x31,0x04,0xa1,0x43,0xcc,0x02,0x31, 56 | 0x04,0xaf,0x03,0x41,0x00,0xa1,0x40,0x2d,0x03,0xa5,0xc0,0x17,0x41,0x86,0x01,0xaf, 57 | 0x03,0xff,0x3d,0x0f,0xa1,0x41,0x6a,0x02,0x20,0x00,0xc0,0x2f,0x42,0x62,0x00,0xcc, 58 | 0x02,0x11,0x04,0xff,0x3d,0x0f,0x42,0x4e,0x03,0xe4,0x00,0x00,0x00,0x0a,0x40,0x4d, 59 | 0x03,0xa1,0x4a,0x04,0x01,0x31,0x04,0xd0,0x03,0x00,0x00,0x6e,0x03,0x31,0x04,0x49, 60 | 0x02,0xa3,0x00,0xf0,0x03,0xe8,0x01,0x00,0x00,0x17,0x41,0x4a,0x02,0x11,0x04,0xff, 61 | 0x3d,0x12,0x41,0x4e,0x03,0xe4,0x00,0xc0,0x2d,0x42,0x86,0x01,0x8f,0x03,0x31,0x04, 62 | 0x3d,0x13,0x41,0xd0,0x03,0xc8,0x01,0xc0,0x08,0x43,0x66,0x01,0xf0,0x03,0x49,0x02, 63 | 0xd0,0x03,0xa1,0x43,0x00,0x00,0x09,0x02,0xf0,0x03,0x4e,0x03,0xa1,0x41,0x6e,0x03, 64 | 0x00,0x00,0x16,0x42,0x41,0x00,0xec,0x02,0x31,0x04,0x3d,0x16,0x41,0xd0,0x03,0xe8, 65 | 0x01,0xc0,0x2b,0x41,0x6a,0x02,0x11,0x04,0xff,0x3d,0x14,0xe1,0xc0,0x08,0x4a,0x29, 66 | 0x02,0xf0,0x03,0xcc,0x02,0x45,0x01,0x41,0x00,0x82,0x00,0xa7,0x01,0x4e,0x03,0x8f, 67 | 0x03,0xe4,0x00,0x00,0x00,0x15,0x42,0xc4,0x00,0x6e,0x03,0x31,0x04,0x3d,0x19,0x41, 68 | 0xab,0x02,0x21,0x00,0xa5,0x28,0x42,0xa3,0x00,0x0d,0x03,0x31,0x04,0x3d,0x19,0x41, 69 | 0xec,0x02,0x41,0x00,0xc0,0x07,0x42,0x66,0x01,0x4d,0x03,0xd0,0x03,0x01,0xa5,0x42, 70 | 0xab,0x02,0x82,0x00,0x00,0x00,0x15,0x40,0x25,0x01,0xfd,0x3d,0x1b,0x41,0x4e,0x03, 71 | 0xc3,0x00,0xc0,0x25,0x42,0x45,0x01,0xaf,0x03,0x31,0x04,0x3d,0x1b,0x41,0x4e,0x03, 72 | 0x82,0x00,0xc0,0x08,0x41,0xa3,0x00,0x25,0x01,0xa5,0x40,0x21,0x00,0xc0,0x15,0x42, 73 | 0x66,0x01,0xd0,0x03,0x31,0x04,0x3d,0x1d,0x42,0xaf,0x03,0x45,0x01,0x00,0x00,0x24, 74 | 0x41,0xe8,0x01,0xf0,0x03,0xff,0x3d,0x1c,0x41,0x8e,0x03,0xe4,0x00,0xc0,0x22,0x40, 75 | 0x86,0x01,0xfa,0x3d,0x1f,0xa1,0x40,0xe8,0x01,0xc0,0x21,0x41,0x6a,0x02,0x11,0x04, 76 | 0xff,0x3d,0x1e,0x41,0x8f,0x03,0xe4,0x00,0xc0,0x20,0x42,0x86,0x01,0xf0,0x03,0x31, 77 | 0x04,0x3d,0x21,0xa6,0x40,0x49,0x02,0xc0,0x1e,0xae,0x41,0xcb,0x02,0x31,0x04,0x3d, 78 | 0x22,0x41,0xaf,0x03,0xe4,0x00,0xc0,0x1e,0x40,0x45,0x01,0xfa,0x3d,0x24,0x40,0x8a, 79 | 0x02,0xc0,0x1c,0x41,0x41,0x00,0x0d,0x03,0xff,0x3d,0x23,0x41,0x8f,0x03,0xa3,0x00, 80 | 0xc0,0x1c,0x42,0x04,0x01,0xd0,0x03,0x31,0x04,0x2b,0xa6,0xa5,0xa1,0x03,0xcc,0xff, 81 | 0x2d,0x41,0xcb,0x02,0x20,0x00,0xc0,0x19,0x42,0x62,0x00,0x4d,0x03,0x31,0x04,0x2d, 82 | 0xa6,0xa5,0xa6,0xed,0x01,0xae,0xca,0xff,0x2a,0x42,0x6e,0x03,0x82,0x00,0x00,0x00, 83 | 0x1b,0x42,0xa3,0x00,0x8f,0x03,0x31,0x04,0x26,0x46,0xd0,0x03,0x4e,0x03,0xcc,0x02, 84 | 0x49,0x02,0xa7,0x01,0xe4,0x00,0x00,0x00,0x07,0x46,0xc3,0x00,0x86,0x01,0x09,0x02, 85 | 0xab,0x02,0x2d,0x03,0xaf,0x03,0x11,0x04,0xae,0x28,0x41,0xec,0x02,0x20,0x00,0xc0, 86 | 0x17,0x41,0x82,0x00,0x4e,0x03,0xff,0x27,0xa5,0x46,0x8f,0x03,0x0d,0x03,0x8b,0x02, 87 | 0xe8,0x01,0x66,0x01,0x82,0x00,0x00,0x00,0x06,0xae,0x46,0x04,0x01,0xc7,0x01,0x6a, 88 | 0x02,0xec,0x02,0x6e,0x03,0xf0,0x03,0x31,0x04,0x26,0x41,0x2d,0x03,0x21,0x00,0xa5, 89 | 0x19,0xaf,0x41,0x4d,0x03,0x31,0x04,0x23,0xca,0x41,0x6a,0x02,0x45,0x01,0xc0,0x12, 90 | 0x43,0xe4,0x00,0xe8,0x01,0xec,0x02,0xaf,0x03,0xff,0x25,0xc6,0x17,0x41,0x82,0x00, 91 | 0x6e,0x03,0xff,0x24,0xa6,0x44,0x8f,0x03,0xcc,0x02,0xc7,0x01,0xa3,0x00,0x00,0x00, 92 | 0x12,0x44,0x41,0x00,0x86,0x01,0x8b,0x02,0x6e,0x03,0x11,0x04,0xae,0x23,0x41,0xab, 93 | 0x02,0x00,0x00,0x19,0x40,0xcc,0x02,0xff,0x20,0xa6,0x43,0x4d,0x03,0x08,0x02,0xa3, 94 | 0x00,0x00,0x00,0x1a,0x42,0x45,0x01,0xab,0x02,0xaf,0x03,0xff,0x23,0x40,0xec,0x02, 95 | 0xc0,0x14,0x41,0x82,0x00,0x6e,0x03,0xff,0x23,0xe0,0x41,0x04,0x01,0x00,0x00,0x1a, 96 | 0x42,0xe4,0x00,0x4a,0x02,0x6e,0x03,0xff,0x21,0x41,0x29,0x02,0x00,0x00,0x17,0x41, 97 | 0x08,0x02,0x31,0x04,0x20,0x43,0xd0,0x03,0xab,0x02,0xe4,0x00,0x00,0x00,0x1f,0xaf, 98 | 0x42,0xa7,0x01,0x2d,0x03,0x11,0x04,0xae,0x22,0x40,0xcb,0x02,0xc0,0x12,0x42,0x41, 99 | 0x00,0x4d,0x03,0x31,0x04,0x22,0xa1,0x42,0xec,0x02,0x66,0x01,0x00,0x00,0x20,0x40, 100 | 0x45,0x01,0xd6,0xff,0x1e,0xca,0xc0,0x14,0x40,0x25,0x01,0xfa,0x1e,0x42,0xaf,0x03, 101 | 0x6a,0x02,0x41,0x00,0xc0,0x23,0x41,0x04,0x01,0xcc,0x02,0xfa,0x21,0x41,0xab,0x02, 102 | 0x00,0x00,0x11,0xaf,0x41,0x2d,0x03,0x31,0x04,0x21,0x42,0xd0,0x03,0x8a,0x02,0xa3, 103 | 0x00,0xc0,0x23,0x43,0xc3,0x00,0xab,0x02,0xf0,0x03,0x31,0x04,0x1e,0x41,0x8f,0x03, 104 | 0x82,0x00,0xc0,0x12,0xaf,0x41,0x6e,0x03,0x31,0x04,0x1d,0xa1,0x42,0x6a,0x02,0x62, 105 | 0x00,0x00,0x00,0x28,0x43,0xc3,0x00,0xcb,0x02,0xf0,0x03,0x31,0x04,0x20,0x40,0x6a, 106 | 0x02,0xc0,0x0f,0xfe,0x20,0x42,0xd0,0x03,0x6a,0x02,0x82,0x00,0xc0,0x27,0x42,0xc3, 107 | 0x00,0xcc,0x02,0x11,0x04,0xae,0x1d,0x41,0xec,0x02,0x00,0x00,0x13,0x40,0x8a,0x02, 108 | 0xff,0x1c,0x41,0xec,0x02,0xc3,0x00,0xc0,0x2b,0x42,0x04,0x01,0x0d,0x03,0x31,0x04, 109 | 0x1f,0xa6,0x41,0x08,0x02,0x00,0x00,0x0e,0x40,0xab,0x02,0xff,0x1e,0xa6,0x41,0xab, 110 | 0x02,0xa3,0x00,0xc0,0x2b,0x41,0x45,0x01,0x4e,0x03,0xff,0x1c,0x40,0xe8,0x01,0xc0, 111 | 0x10,0x41,0x66,0x01,0x11,0x04,0xff,0x1a,0x42,0xaf,0x03,0xc7,0x01,0x00,0x00,0x30, 112 | 0x42,0xa7,0x01,0x8f,0x03,0x31,0x04,0x1e,0xe9,0xc0,0x0b,0x40,0x49,0x02,0xff,0x1e, 113 | 0x41,0x4e,0x03,0x25,0x01,0xc0,0x2f,0x42,0x29,0x02,0xf0,0x03,0x31,0x04,0x1b,0x41, 114 | 0xcf,0x03,0xa3,0x00,0xc0,0x0f,0x40,0x6e,0x03,0xff,0x1a,0x42,0x0d,0x03,0x82,0x00, 115 | 0x00,0x00,0x32,0x42,0x41,0x00,0xab,0x02,0x11,0x04,0xff,0x1c,0x41,0xd0,0x03,0x25, 116 | 0x01,0xc0,0x09,0x40,0xc7,0x01,0xf9,0x1d,0xa1,0x40,0x29,0x02,0xc0,0x32,0x42,0x04, 117 | 0x01,0x6e,0x03,0x31,0x04,0x1b,0x41,0xcc,0x02,0x00,0x00,0x0f,0x40,0x49,0x02,0xff, 118 | 0x19,0xa6,0x40,0x4a,0x02,0xc0,0x35,0x42,0x66,0x01,0x8f,0x03,0x31,0x04,0x1d,0x42, 119 | 0x8f,0x03,0xa2,0x00,0x00,0x00,0x08,0x42,0x25,0x01,0xf0,0x03,0x31,0x04,0x1d,0x41, 120 | 0x4d,0x03,0xe4,0x00,0xc0,0x34,0x41,0x41,0x00,0xcc,0x02,0xff,0x19,0xa6,0x41,0x66, 121 | 0x01,0x00,0x00,0x0d,0x41,0xa3,0x00,0xd0,0x03,0xff,0x18,0xa1,0x40,0xa7,0x01,0xc0, 122 | 0x37,0x41,0x82,0x00,0xec,0x02,0xff,0x1c,0x41,0x2d,0x03,0x21,0x00,0xc0,0x05,0x42, 123 | 0x82,0x00,0x8f,0x03,0x31,0x04,0x1c,0xa6,0x41,0x6a,0x02,0x21,0x00,0xc0,0x37,0x41, 124 | 0x49,0x02,0x11,0x04,0xae,0x19,0x41,0x6e,0x03,0x00,0x00,0x0d,0x40,0xab,0x02,0xff, 125 | 0x18,0x41,0xaf,0x03,0x45,0x01,0xc0,0x3a,0x42,0x29,0x02,0xf0,0x03,0x31,0x04,0x1c, 126 | 0x40,0xab,0x02,0xc0,0x05,0xfb,0x1c,0x41,0xd0,0x03,0xa7,0x01,0xc0,0x3a,0x41,0xe8, 127 | 0x01,0xf0,0x03,0xff,0x18,0x41,0x08,0x02,0x00,0x00,0x0b,0x40,0xe4,0x00,0xfa,0x18, 128 | 0x41,0xaf,0x03,0x25,0x01,0xc0,0x3c,0x40,0x66,0x01,0xfd,0x1b,0xa6,0x41,0xe8,0x01, 129 | 0x00,0x00,0x04,0x40,0x8a,0x02,0xff,0x1b,0x42,0x6e,0x03,0x04,0x01,0x00,0x00,0x3d, 130 | 0x41,0xa7,0x01,0xf0,0x03,0xff,0x17,0x41,0xaf,0x03,0x21,0x00,0xc0,0x09,0x41,0xec, 131 | 0x02,0x31,0x04,0x18,0xe5,0xc0,0x3d,0x00,0x41,0xe4,0x00,0x6e,0x03,0xff,0x1a,0x42, 132 | 0xd0,0x03,0x04,0x01,0x00,0x00,0x02,0x40,0xa7,0x01,0xf9,0x1b,0x41,0x0d,0x03,0x62, 133 | 0x00,0xc0,0x3d,0x00,0x40,0xa7,0x01,0xfa,0x18,0x40,0x29,0x02,0xc0,0x08,0x42,0xc3, 134 | 0x00,0xf0,0x03,0x31,0x04,0x17,0x41,0xd0,0x03,0x45,0x01,0xc0,0x3d,0x02,0x41,0x82, 135 | 0x00,0x2d,0x03,0xff,0x1a,0x41,0x6e,0x03,0x21,0x00,0xa5,0x00,0x42,0xc3,0x00,0xd0, 136 | 0x03,0x31,0x04,0x1b,0x41,0xab,0x02,0x20,0x00,0xc0,0x3d,0x02,0x41,0xe8,0x01,0x11, 137 | 0x04,0xff,0x16,0x41,0x8f,0x03,0x21,0x00,0xc0,0x07,0x41,0xab,0x02,0x31,0x04,0x17, 138 | 0xa6,0xc5,0x3d,0x05,0xaf,0x41,0xec,0x02,0x31,0x04,0x1b,0x40,0xab,0x02,0xc0,0xfb, 139 | 0x1b,0x40,0x6a,0x02,0xc0,0x3d,0x05,0x40,0x4a,0x02,0xff,0x17,0x41,0x08,0x02,0x00, 140 | 0x00,0x07,0x41,0x62,0x00,0xd0,0x03,0xff,0x16,0x40,0x49,0x02,0xc0,0x3d,0x07,0x40, 141 | 0xcc,0x02,0xff,0x19,0xa6,0x41,0xa7,0x01,0x49,0x02,0xff,0x19,0xe9,0x40,0x00,0x00, 142 | 0x3d,0x08,0x40,0xec,0x02,0xff,0x16,0x41,0x6e,0x03,0x00,0x00,0x07,0xfd,0x17,0xc6, 143 | 0x3d,0x0a,0x41,0xcb,0x02,0x31,0x04,0x1a,0x41,0xd0,0x03,0x10,0x04,0xff,0x18,0xe9, 144 | 0x40,0x00,0x00,0x3d,0x09,0x41,0x61,0x00,0x8e,0x03,0xff,0x16,0x41,0x66,0x01,0x00, 145 | 0x00,0x06,0xfe,0x16,0x41,0xaf,0x03,0x82,0x00,0xc0,0x3d,0x09,0xae,0x40,0xcc,0x02, 146 | 0xff,0x35,0x41,0x49,0x02,0x00,0x00,0x3d,0x0b,0x41,0x45,0x01,0x10,0x04,0xff,0x15, 147 | 0x41,0xec,0x02,0x00,0x00,0x05,0xf9,0x16,0xa6,0x40,0xa7,0x01,0xc0,0x3d,0x0b,0xaf, 148 | 0x41,0xec,0x02,0x31,0x04,0x34,0x40,0x6a,0x02,0xc0,0x3d,0x0c,0xfc,0x16,0x40,0xd0, 149 | 0x03,0xc3,0x04,0x41,0xcb,0x02,0x31,0x04,0x16,0xc6,0x3d,0x0e,0x41,0x41,0x00,0x2d, 150 | 0x03,0xff,0x31,0x40,0xab,0x02,0xc0,0x1d,0x41,0x82,0x00,0x66,0x01,0x0a,0xa1,0x40, 151 | 0x00,0x00,0x1e,0xaf,0x41,0x8f,0x03,0x31,0x04,0x16,0x41,0x08,0x02,0x00,0x00,0x03, 152 | 0xae,0x40,0xaf,0x03,0xff,0x14,0xa1,0x40,0xe4,0x00,0xc0,0x3d,0x0e,0x41,0x62,0x00, 153 | 0x6e,0x03,0xff,0x2f,0x41,0xec,0x02,0x00,0x00,0x1f,0x40,0x08,0x02,0xff,0x09,0x41, 154 | 0x6e,0x03,0x00,0x00,0x1f,0x40,0xa7,0x01,0xff,0x15,0x40,0x2d,0x03,0xc0,0x02,0x40, 155 | 0x66,0x01,0xff,0x15,0x41,0x8b,0x02,0x00,0x00,0x3d,0x11,0x41,0xe4,0x00,0xaf,0x03, 156 | 0xff,0x2d,0x41,0x4e,0x03,0x41,0x00,0xc0,0x1e,0x40,0x09,0x02,0xff,0x09,0x41,0x6e, 157 | 0x03,0x00,0x00,0x20,0x40,0x2d,0x03,0xff,0x14,0xa1,0xc5,0x02,0x40,0xab,0x02,0xff, 158 | 0x14,0x41,0xd0,0x03,0x82,0x00,0xc0,0x3d,0x11,0x41,0x66,0x01,0xf0,0x03,0xff,0x2b, 159 | 0x42,0xaf,0x03,0xc3,0x00,0x00,0x00,0x20,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e, 160 | 0x03,0x00,0x00,0x20,0x41,0x66,0x01,0x11,0x04,0xff,0x14,0x41,0xe8,0x01,0x00,0x00, 161 | 0x02,0x40,0x8e,0x03,0xff,0x14,0x40,0xab,0x02,0xc0,0x3d,0x13,0x40,0x08,0x02,0xff, 162 | 0x2a,0xa1,0x41,0x45,0x01,0x00,0x00,0x21,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03, 163 | 0x00,0x00,0x21,0xfb,0x15,0x40,0xec,0x02,0xc0,0x00,0x41,0xa3,0x00,0x10,0x04,0xff, 164 | 0x13,0xa5,0x41,0xc3,0x00,0x00,0x00,0x3d,0x15,0x41,0xab,0x02,0x31,0x04,0x2a,0x40, 165 | 0x09,0x02,0xc0,0x21,0xf9,0x0a,0x41,0x6e,0x03,0x00,0x00,0x21,0x40,0xc7,0x01,0xff, 166 | 0x14,0xc5,0x01,0xfb,0x15,0x40,0x0d,0x03,0xc0,0x3d,0x15,0xaf,0x41,0x4e,0x03,0x31, 167 | 0x04,0x28,0x40,0xcb,0x02,0xc0,0x22,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03, 168 | 0x00,0x00,0x22,0x40,0xaf,0x03,0xff,0x13,0xa6,0x40,0xe4,0x00,0xc0,0x41,0xcb,0x02, 169 | 0x31,0x04,0x15,0x40,0xa7,0x01,0xc0,0x3d,0x16,0x42,0xc3,0x00,0xd0,0x03,0x31,0x04, 170 | 0x26,0x41,0x6e,0x03,0x21,0x00,0xa5,0x23,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e, 171 | 0x03,0x00,0x00,0x22,0x40,0x8b,0x02,0xff,0x14,0x41,0x08,0x02,0x00,0x00,0x00,0xfa, 172 | 0x14,0x41,0xcf,0x03,0x41,0x00,0xc0,0x3d,0x17,0x41,0xc8,0x01,0x11,0x04,0xff,0x23, 173 | 0xa1,0x40,0x25,0x01,0xc0,0x23,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00, 174 | 0x22,0x41,0x04,0x01,0x11,0x04,0xff,0x13,0x41,0xcb,0x02,0x00,0x00,0xaf,0x41,0xd0, 175 | 0x03,0x31,0x04,0x14,0x40,0x0c,0x03,0xc0,0x3d,0x19,0x41,0xcb,0x02,0x31,0x04,0x24, 176 | 0x40,0x29,0x02,0xc0,0x24,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03,0x00,0x00, 177 | 0x23,0x41,0x8f,0x03,0x31,0x04,0x14,0x43,0x4e,0x03,0x00,0x00,0xc3,0x00,0x31,0x04, 178 | 0x15,0x40,0xe8,0x01,0xc0,0x3d,0x19,0x42,0x41,0x00,0x8f,0x03,0x31,0x04,0x22,0x40, 179 | 0x0d,0x03,0xc0,0x25,0xf9,0x0a,0x41,0x6e,0x03,0x00,0x00,0x23,0x41,0xcb,0x02,0x31, 180 | 0x04,0x14,0x42,0xd0,0x03,0x00,0x00,0xa7,0x01,0xff,0x13,0xa6,0xc6,0x3d,0x1b,0x40, 181 | 0x66,0x01,0xf9,0x20,0x42,0xd0,0x03,0xc3,0x00,0x00,0x00,0x26,0x41,0x09,0x02,0x31, 182 | 0x04,0x0a,0x41,0x6e,0x03,0x00,0x00,0x23,0x40,0xc7,0x01,0xff,0x13,0xa6,0x42,0xc3, 183 | 0x00,0x49,0x02,0x31,0x04,0x14,0x40,0xaf,0x03,0xc0,0x3d,0x1c,0x40,0xab,0x02,0xff, 184 | 0x1f,0x41,0x08,0x02,0x00,0x00,0x27,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00, 185 | 0x00,0x23,0x41,0x82,0x00,0x11,0x04,0xff,0x13,0x42,0x45,0x01,0xcb,0x02,0x31,0x04, 186 | 0x14,0x40,0x2d,0x03,0xc0,0x3d,0x1c,0x42,0x41,0x00,0x8f,0x03,0x31,0x04,0x1e,0xc3, 187 | 0x28,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x23,0xae,0x40,0xaf,0x03, 188 | 0xff,0x13,0x41,0xe8,0x01,0x0d,0x03,0xff,0x13,0x40,0x8b,0x02,0xc0,0x15,0x40,0x4d, 189 | 0x03,0xe4,0x24,0x40,0x86,0x01,0xc0,0x1a,0x41,0xa7,0x01,0x11,0x04,0xff,0x1b,0xa1, 190 | 0x40,0xe4,0x00,0xc0,0x1a,0x40,0x4d,0x03,0xe4,0x09,0xfa,0x0a,0xa6,0xe4,0x0a,0x40, 191 | 0x86,0x01,0xc0,0x15,0x40,0x2d,0x03,0xff,0x13,0x41,0x6a,0x02,0x4e,0x03,0xff,0x13, 192 | 0x41,0x08,0x02,0x00,0x00,0x16,0x40,0xaf,0x03,0xff,0x24,0x40,0xa7,0x01,0xc0,0x1b, 193 | 0x40,0xec,0x02,0xff,0x1b,0x40,0x4a,0x02,0xc0,0x1b,0x41,0x8f,0x03,0x31,0x04,0x25, 194 | 0xc5,0x16,0x40,0xcc,0x02,0xff,0x13,0x41,0xab,0x02,0x8e,0x03,0xff,0x13,0x41,0x86, 195 | 0x01,0x00,0x00,0x16,0x40,0xaf,0x03,0xff,0x24,0x40,0xa7,0x01,0xc0,0x1b,0x42,0xc3, 196 | 0x00,0xf0,0x03,0x31,0x04,0x1a,0x41,0x8e,0x03,0x21,0x00,0xc0,0x1b,0x41,0x8f,0x03, 197 | 0x31,0x04,0x25,0xc5,0x16,0xfc,0x14,0x41,0xec,0x02,0xaf,0x03,0xff,0x12,0xa6,0x40, 198 | 0x25,0x01,0xc0,0x15,0xfd,0x25,0x40,0xa7,0x01,0xc0,0x1c,0x40,0x4a,0x02,0xff,0x19, 199 | 0xc5,0x1d,0x41,0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x40,0x08,0x02,0xff,0x13,0x41, 200 | 0x2d,0x03,0xaf,0x03,0xff,0x12,0xa6,0x41,0xa3,0x00,0x00,0x00,0x16,0xfd,0x25,0x40, 201 | 0xa7,0x01,0xc0,0x1c,0xaf,0x41,0x8f,0x03,0x31,0x04,0x18,0x40,0x0d,0x03,0xc0,0x1d, 202 | 0x41,0x8f,0x03,0x31,0x04,0x25,0x40,0xa7,0x01,0xc0,0x15,0xfd,0x14,0x41,0x2d,0x03, 203 | 0xcf,0x03,0xff,0x12,0xa6,0x40,0x62,0x00,0xc0,0x15,0x40,0xaf,0x03,0xff,0x24,0x40, 204 | 0xa7,0x01,0xc0,0x1d,0x40,0xe8,0x01,0xff,0x16,0xa6,0x40,0x25,0x01,0xc0,0x1d,0x41, 205 | 0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x40,0x86,0x01,0xff,0x13,0x41,0x4d,0x03,0xd0, 206 | 0x03,0xff,0x12,0xa6,0x40,0x21,0x00,0xc0,0x15,0x41,0xaf,0x03,0x31,0x04,0x25,0x40, 207 | 0xa7,0x01,0xc0,0x1d,0x41,0x82,0x00,0xf0,0x03,0xff,0x15,0x40,0x8e,0x03,0xc0,0x1e, 208 | 0x41,0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x40,0x66,0x01,0xff,0x13,0x41,0x4e,0x03, 209 | 0xcf,0x03,0xff,0x12,0xa6,0x41,0x82,0x00,0x00,0x00,0x16,0x40,0xaf,0x03,0xff,0x24, 210 | 0x40,0xa7,0x01,0xc0,0x1d,0x40,0x8a,0x02,0xff,0x17,0x40,0xc8,0x01,0xc0,0x1d,0x41, 211 | 0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x40,0x86,0x01,0xff,0x13,0x41,0x4d,0x03,0xaf, 212 | 0x03,0xff,0x12,0xa6,0x41,0xc4,0x00,0x00,0x00,0x16,0xfd,0x25,0x40,0xa7,0x01,0xc0, 213 | 0x1c,0x42,0xc3,0x00,0xf0,0x03,0x31,0x04,0x18,0x41,0x8f,0x03,0x41,0x00,0xc0,0x1c, 214 | 0x41,0x8f,0x03,0x31,0x04,0x25,0x40,0xa7,0x01,0xc0,0x15,0x40,0xc7,0x01,0xff,0x13, 215 | 0x42,0x2d,0x03,0x8f,0x03,0x31,0x04,0x14,0x40,0x45,0x01,0xc0,0x15,0x40,0xaf,0x03, 216 | 0xff,0x24,0x40,0xa7,0x01,0xc0,0x1c,0x40,0xec,0x02,0xff,0x19,0x40,0x4a,0x02,0xc0, 217 | 0x1c,0x41,0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x41,0x29,0x02,0x31,0x04,0x14,0x41, 218 | 0x0d,0x03,0x6e,0x03,0xff,0x13,0x41,0xa7,0x01,0x00,0x00,0x16,0x40,0xaf,0x03,0xff, 219 | 0x24,0x40,0xa7,0x01,0xc0,0x1b,0x41,0x86,0x01,0x11,0x04,0xff,0x19,0x41,0xd0,0x03, 220 | 0xc3,0x00,0xc0,0x1b,0x41,0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0x40,0x8a,0x02,0xff, 221 | 0x13,0x40,0xec,0x02,0xfb,0x14,0x40,0x29,0x02,0xc0,0x15,0x41,0xaf,0x03,0x31,0x04, 222 | 0x25,0x40,0xa7,0x01,0xc0,0x1a,0xae,0x40,0x6e,0x03,0xff,0x1b,0x41,0xec,0x02,0x00, 223 | 0x00,0x1c,0x41,0x8f,0x03,0x31,0x04,0x25,0xc5,0x16,0xfe,0x14,0x41,0xab,0x02,0x0c, 224 | 0x03,0xff,0x13,0xc1,0x16,0x41,0x4e,0x03,0xd0,0x03,0x25,0x40,0x86,0x01,0xc0,0x1a, 225 | 0x40,0x6a,0x02,0xff,0x1c,0xa6,0xc5,0x1b,0x41,0x4d,0x03,0xd0,0x03,0x0a,0xae,0xff, 226 | 0x09,0xa6,0xe4,0x0a,0xc6,0x16,0x40,0x4e,0x03,0xff,0x13,0x41,0x49,0x02,0xab,0x02, 227 | 0xff,0x13,0x40,0x4d,0x03,0xc0,0x3d,0x1c,0x41,0x04,0x01,0xf0,0x03,0xff,0x1d,0x41, 228 | 0x8f,0x03,0x41,0x00,0xc0,0x26,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03,0x00, 229 | 0x00,0x23,0xaf,0x41,0xd0,0x03,0x31,0x04,0x14,0x42,0xc7,0x01,0x29,0x02,0x31,0x04, 230 | 0x14,0xc4,0x3d,0x1c,0xae,0x40,0x4d,0x03,0xff,0x1f,0x40,0xab,0x02,0xc0,0x26,0x40, 231 | 0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x23,0x41,0xc3,0x00,0x31,0x04,0x15, 232 | 0x41,0x25,0x01,0x66,0x01,0xff,0x13,0xa6,0x41,0x25,0x01,0x00,0x00,0x3d,0x1b,0x40, 233 | 0x49,0x02,0xff,0x20,0xa6,0x40,0x86,0x01,0xc0,0x25,0x40,0x09,0x02,0xff,0x09,0x41, 234 | 0x6e,0x03,0x00,0x00,0x23,0x41,0x29,0x02,0x31,0x04,0x14,0xa1,0x40,0x82,0x00,0x00, 235 | 0x40,0x11,0x04,0xff,0x13,0xc5,0x3d,0x1a,0x41,0x04,0x01,0xf0,0x03,0xff,0x21,0x41, 236 | 0x8f,0x03,0x62,0x00,0xc0,0x24,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03,0x00, 237 | 0x00,0x23,0x40,0x0c,0x03,0xff,0x13,0x41,0xaf,0x03,0x00,0x00,0xae,0xfd,0x14,0x40, 238 | 0x4d,0x03,0xc0,0x3d,0x18,0xaf,0x41,0x6e,0x03,0x31,0x04,0x24,0x41,0xcc,0x02,0x00, 239 | 0x00,0x25,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x23,0x40,0xd0,0x03, 240 | 0xff,0x13,0x40,0x2d,0x03,0xc0,0xfb,0x14,0xa1,0x40,0xa3,0x00,0xc0,0x3d,0x17,0x40, 241 | 0xab,0x02,0xff,0x25,0x40,0xe8,0x01,0xc0,0x23,0x40,0x09,0x02,0xff,0x09,0x41,0x6e, 242 | 0x03,0x00,0x00,0x22,0x41,0x87,0x01,0x31,0x04,0x15,0x40,0x8a,0x02,0xc0,0xfa,0x15, 243 | 0x40,0x49,0x02,0xc0,0x3d,0x16,0x41,0xa7,0x01,0x11,0x04,0xff,0x25,0x41,0xd0,0x03, 244 | 0x04,0x01,0xc0,0x22,0x40,0x09,0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x22,0x40, 245 | 0xec,0x02,0xff,0x14,0xc5,0x00,0x40,0x66,0x01,0xff,0x14,0x41,0x6e,0x03,0x00,0x00, 246 | 0x3d,0x16,0x41,0xe4,0x00,0xd0,0x03,0xff,0x27,0x41,0x6e,0x03,0x41,0x00,0xa1,0x22, 247 | 0xf9,0x0a,0x41,0x6e,0x03,0x00,0x00,0x21,0x40,0x82,0x00,0xfc,0x14,0xa1,0x40,0x62, 248 | 0x00,0xc0,0xd4,0xff,0x14,0x41,0x66,0x01,0x00,0x00,0x3d,0x14,0x41,0x41,0x00,0x6e, 249 | 0x03,0xff,0x29,0x41,0xec,0x02,0x00,0x00,0x22,0xf9,0x0a,0x41,0x6e,0x03,0x00,0x00, 250 | 0x21,0x40,0x49,0x02,0xff,0x14,0x41,0x6e,0x03,0x00,0x00,0x02,0x40,0x4d,0x03,0xff, 251 | 0x14,0x40,0x0d,0x03,0xc0,0x3d,0x13,0x40,0xcc,0x02,0xff,0x2b,0x41,0x29,0x02,0x00, 252 | 0x00,0x21,0x41,0x09,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03,0x00,0x00,0x20,0xaf,0x41, 253 | 0x8f,0x03,0x31,0x04,0x15,0x40,0xab,0x02,0xc0,0x01,0x40,0x49,0x02,0xff,0x14,0xa6, 254 | 0x40,0x25,0x01,0xc0,0x3d,0x11,0xfd,0x2d,0xa6,0x40,0xa7,0x01,0xc0,0x1f,0x40,0x09, 255 | 0x02,0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x20,0x40,0x08,0x02,0xff,0x15,0x41,0x66, 256 | 0x01,0x00,0x00,0x02,0x41,0x04,0x01,0x11,0x04,0xff,0x14,0x40,0x0d,0x03,0xc0,0x3d, 257 | 0x10,0x40,0xc7,0x01,0xf9,0x2e,0x41,0xd0,0x03,0x25,0x01,0xc0,0x1e,0x40,0x09,0x02, 258 | 0xff,0x09,0x41,0x6e,0x03,0x00,0x00,0x1f,0x42,0x41,0x00,0x8f,0x03,0x31,0x04,0x15, 259 | 0x40,0xcf,0x03,0xc0,0x03,0x40,0x6e,0x03,0xff,0x14,0xa6,0x41,0x86,0x01,0x00,0x00, 260 | 0x3d,0x0f,0x40,0x66,0x01,0xfa,0x30,0x42,0x8f,0x03,0xa3,0x00,0x00,0x00,0x1e,0x41, 261 | 0x08,0x02,0x31,0x04,0x0a,0x41,0x6e,0x03,0x00,0x00,0x1f,0x40,0x4a,0x02,0xff,0x15, 262 | 0x40,0xec,0x02,0xc0,0x03,0x40,0x6a,0x02,0xff,0x15,0x40,0x8e,0x03,0xc5,0x3d,0x0d, 263 | 0x40,0x04,0x01,0xfb,0x32,0x42,0x6e,0x03,0x82,0x00,0x00,0x00,0x1d,0x41,0xa3,0x00, 264 | 0x86,0x01,0x0a,0xa1,0xc0,0x1d,0x42,0xc3,0x00,0xf0,0x03,0x31,0x04,0x16,0xc6,0x04, 265 | 0x41,0xc3,0x00,0x10,0x04,0xaf,0x16,0x41,0x6a,0x02,0x00,0x00,0x3d,0x0c,0x41,0xe4, 266 | 0x00,0xaf,0x03,0xff,0x33,0x41,0x4d,0x03,0x41,0x00,0xc0,0x3d,0x0b,0x40,0x0d,0x03, 267 | 0xff,0x15,0x41,0xaf,0x03,0x20,0x00,0xc0,0x04,0x40,0x2d,0x03,0xff,0x15,0xa6,0x40, 268 | 0x45,0x01,0xc0,0x3d,0x09,0x42,0xc3,0x00,0x8f,0x03,0x31,0x04,0x36,0x41,0x2d,0x03, 269 | 0x41,0x00,0xc0,0x3d,0x09,0x40,0x09,0x02,0xff,0x16,0x40,0x8a,0x02,0xc0,0x05,0x40, 270 | 0xc7,0x01,0xff,0x16,0x41,0x8f,0x03,0x62,0x00,0xc0,0x3d,0x07,0x42,0xc3,0x00,0x8e, 271 | 0x03,0x31,0x04,0x1a,0x41,0x2d,0x03,0xaf,0x03,0xff,0x19,0x41,0x0d,0x03,0x41,0x00, 272 | 0xc0,0x3d,0x07,0x41,0x25,0x01,0xf0,0x03,0xff,0x15,0xa1,0x40,0xc3,0x00,0xc0,0x06, 273 | 0x41,0x8f,0x03,0x31,0x04,0x17,0x40,0x0c,0x03,0xc0,0x3d,0x06,0x42,0xe4,0x00,0x8f, 274 | 0x03,0x31,0x04,0x1a,0x43,0xd0,0x03,0xe4,0x00,0x86,0x01,0x11,0x04,0xff,0x19,0x40, 275 | 0x2d,0x03,0xc5,0x3d,0x06,0x41,0x82,0x00,0x8e,0x03,0xff,0x16,0x40,0x0d,0x03,0xc0, 276 | 0x07,0x41,0x29,0x02,0x31,0x04,0x18,0x40,0x8a,0x02,0xc0,0x3d,0x04,0x41,0x25,0x01, 277 | 0xaf,0x03,0xff,0x1a,0x40,0xe8,0x01,0xc0,0x40,0x6a,0x02,0xff,0x1a,0x41,0x4e,0x03, 278 | 0x82,0x00,0xc0,0x3d,0x03,0xaf,0x41,0x0d,0x03,0x31,0x04,0x17,0xa6,0x41,0x66,0x01, 279 | 0x00,0x00,0x08,0x41,0x41,0x00,0xaf,0x03,0xff,0x17,0x40,0x29,0x02,0xc0,0x3d,0x02, 280 | 0x42,0x86,0x01,0xd0,0x03,0x31,0x04,0x1b,0x40,0xab,0x02,0xc0,0x00,0xaf,0x41,0x2d, 281 | 0x03,0x31,0x04,0x1b,0x41,0x8e,0x03,0xe4,0x00,0xc0,0x3d,0x02,0x41,0xcb,0x02,0x31, 282 | 0x04,0x18,0x40,0x4d,0x03,0xc0,0x09,0x40,0x6a,0x02,0xff,0x17,0xa6,0x41,0x08,0x02, 283 | 0x00,0x00,0x3d,0x01,0x41,0xe8,0x01,0xf0,0x03,0xff,0x1a,0x41,0x6e,0x03,0x21,0x00, 284 | 0xa5,0x02,0x42,0xc3,0x00,0xcf,0x03,0x31,0x04,0x1b,0x42,0xaf,0x03,0x66,0x01,0x00, 285 | 0x00,0x3d,0x01,0x40,0xab,0x02,0xff,0x18,0x40,0x87,0x01,0xc0,0x09,0x42,0x62,0x00, 286 | 0xaf,0x03,0x31,0x04,0x18,0xa6,0x41,0x08,0x02,0x00,0x00,0x3d,0x40,0x8a,0x02,0xf9, 287 | 0x1b,0x40,0xd0,0x03,0xc6,0x04,0x40,0xa7,0x01,0xf9,0x1b,0xa1,0x41,0x08,0x02,0x00, 288 | 0x00,0x3d,0x40,0xab,0x02,0xff,0x18,0x40,0x2d,0x03,0xc0,0x0b,0x41,0x29,0x02,0x31, 289 | 0x04,0x19,0xa6,0x40,0x49,0x02,0xc0,0x39,0x40,0xa2,0x00,0xfb,0x1c,0xa6,0x41,0xc7, 290 | 0x01,0x00,0x00,0x06,0x40,0x6a,0x02,0xff,0x1c,0x41,0xab,0x02,0x21,0x00,0xc0,0x38, 291 | 0xaf,0x41,0xcc,0x02,0x31,0x04,0x19,0xa6,0x41,0x45,0x01,0x00,0x00,0x0c,0xaf,0x41, 292 | 0x6e,0x03,0x31,0x04,0x1a,0x41,0xab,0x02,0x21,0x00,0xa5,0x37,0x42,0x86,0x01,0xaf, 293 | 0x03,0x31,0x04,0x1d,0xc4,0x08,0x40,0xec,0x02,0xff,0x1c,0x42,0x6e,0x03,0x04,0x01, 294 | 0x00,0x00,0x37,0x41,0x82,0x00,0x2d,0x03,0xff,0x19,0xc6,0x0e,0x41,0x86,0x01,0x11, 295 | 0x04,0xff,0x19,0x41,0x2d,0x03,0xc3,0x00,0xc0,0x33,0x42,0x41,0x00,0x8b,0x02,0x11, 296 | 0x04,0xae,0x1d,0x40,0xec,0x02,0xc0,0x08,0x41,0x41,0x00,0x6e,0x03,0xff,0x1c,0xa1, 297 | 0x41,0x29,0x02,0x00,0x00,0x35,0x42,0x45,0x01,0x8f,0x03,0x31,0x04,0x1a,0x41,0xd0, 298 | 0x03,0xc3,0x00,0xc0,0x0e,0x41,0xec,0x02,0x31,0x04,0x1b,0x41,0xcf,0x03,0xa7,0x01, 299 | 0xc0,0x31,0x41,0x66,0x01,0x6e,0x03,0xff,0x1d,0x41,0x4e,0x03,0x41,0x00,0xa1,0x0a, 300 | 0x41,0xe4,0x00,0xaf,0x03,0xff,0x1d,0x40,0x2d,0x03,0xc6,0x32,0x41,0x49,0x02,0xf0, 301 | 0x03,0xff,0x1a,0xc5,0x10,0x41,0xa3,0x00,0xcf,0x03,0xff,0x1a,0xa6,0x42,0xcc,0x02, 302 | 0x82,0x00,0x00,0x00,0x2e,0x41,0x82,0x00,0xcc,0x02,0xf9,0x1e,0x42,0x8f,0x03,0xa3, 303 | 0x00,0x00,0x00,0x0c,0x42,0x45,0x01,0xf0,0x03,0x31,0x04,0x1e,0xa1,0x41,0x6a,0x02, 304 | 0x21,0x00,0xc0,0x2d,0x42,0xe4,0x00,0x2d,0x03,0x31,0x04,0x1c,0x41,0x4e,0x03,0x21, 305 | 0x00,0xc0,0x10,0x41,0xc7,0x01,0x31,0x04,0x1d,0x42,0xaf,0x03,0x08,0x02,0x00,0x00, 306 | 0x2b,0x42,0x41,0x00,0x49,0x02,0xd0,0x03,0xff,0x1e,0x41,0xd0,0x03,0x04,0x01,0xc0, 307 | 0x0d,0x41,0xc7,0x01,0x11,0x04,0xff,0x1e,0x41,0x8f,0x03,0xe8,0x01,0xc0,0x2a,0x43, 308 | 0x41,0x00,0x6a,0x02,0xf0,0x03,0x31,0x04,0x1c,0xa1,0x40,0x24,0x01,0xc0,0x12,0x40, 309 | 0xec,0x02,0xff,0x1d,0x42,0x6e,0x03,0xa7,0x01,0x00,0x00,0x27,0xaf,0x42,0x29,0x02, 310 | 0xaf,0x03,0x31,0x04,0x20,0xa1,0x40,0x86,0x01,0xc0,0x0f,0x41,0x09,0x02,0x11,0x04, 311 | 0xff,0x1f,0x42,0x6e,0x03,0xc7,0x01,0x00,0x00,0x28,0x40,0x08,0x02,0xfd,0x1e,0x41, 312 | 0x49,0x02,0x00,0x00,0x14,0x42,0x62,0x00,0x8f,0x03,0x31,0x04,0x1f,0x41,0x4e,0x03, 313 | 0xa7,0x01,0xc0,0x22,0x42,0x62,0x00,0x6a,0x02,0xaf,0x03,0xff,0x20,0xa1,0x40,0xa7, 314 | 0x01,0xc0,0x11,0x40,0x49,0x02,0xff,0x21,0x42,0x6e,0x03,0x08,0x02,0x20,0x00,0xa6, 315 | 0x22,0xae,0x42,0x09,0x02,0x8f,0x03,0x31,0x04,0x1f,0x40,0x0d,0x03,0xc0,0x15,0x40, 316 | 0x45,0x01,0xfa,0x20,0x42,0x8f,0x03,0x49,0x02,0x82,0x00,0xc0,0x1c,0xae,0x43,0x66, 317 | 0x01,0xec,0x02,0xf0,0x03,0x31,0x04,0x22,0xa6,0x41,0xe8,0x01,0x00,0x00,0x14,0xfc, 318 | 0x23,0x42,0xaf,0x03,0xab,0x02,0x04,0x01,0xc0,0x1d,0x40,0xe4,0x00,0xe9,0xff,0x1f, 319 | 0x41,0xaf,0x03,0x82,0x00,0xc0,0x16,0x41,0x08,0x02,0x11,0x04,0xff,0x20,0xa1,0x43, 320 | 0x2d,0x03,0x08,0x02,0xa3,0x00,0x00,0x00,0x17,0xaf,0x43,0x45,0x01,0xab,0x02,0x8f, 321 | 0x03,0x31,0x04,0x24,0xa6,0x41,0x08,0x02,0x00,0x00,0x16,0x40,0x8b,0x02,0xff,0x23, 322 | 0xa6,0x43,0x6e,0x03,0x6a,0x02,0x04,0x01,0x00,0x00,0x18,0x42,0xe4,0x00,0x49,0x02, 323 | 0x4e,0x03,0xf9,0x21,0xa1,0x40,0x45,0x01,0xc0,0x18,0x40,0x8a,0x02,0xff,0x23,0xa1, 324 | 0x44,0x6e,0x03,0xab,0x02,0xa7,0x01,0xa3,0x00,0x00,0x00,0x0f,0xaf,0x44,0x66,0x01, 325 | 0x49,0x02,0x0d,0x03,0xcf,0x03,0x31,0x04,0x26,0xa6,0x41,0x08,0x02,0x00,0x00,0x18, 326 | 0x40,0xab,0x02,0xff,0x25,0xa6,0x43,0xaf,0x03,0xec,0x02,0x29,0x02,0x25,0x01,0xc0, 327 | 0x0f,0x44,0xe4,0x00,0xe8,0x01,0xcc,0x02,0x8f,0x03,0x11,0x04,0xae,0x23,0xd1,0x40, 328 | 0x00,0x00,0x1b,0x40,0x0c,0x03,0xff,0x26,0xe9,0x43,0x4d,0x03,0xec,0x02,0x6a,0x02, 329 | 0x09,0x02,0xa0,0xa1,0xa6,0xa5,0x00,0xde,0x46,0x08,0x02,0x6a,0x02,0xcb,0x02,0x2d, 330 | 0x03,0x8f,0x03,0xf0,0x03,0x31,0x04,0x29,0xa6,0x41,0xe8,0x01,0x00,0x00,0x1a,0x40, 331 | 0x8a,0x02,0xff,0x28,0xa6,0xa5,0x44,0x8e,0x03,0x0d,0x03,0xab,0x02,0x49,0x02,0xe8, 332 | 0x01,0xa1,0xa1,0xa5,0x00,0xaf,0xae,0x46,0xe8,0x01,0x29,0x02,0x8a,0x02,0xec,0x02, 333 | 0x4e,0x03,0xd0,0x03,0x11,0x04,0xae,0x27,0x41,0x6a,0x02,0x00,0x00,0x1c,0x40,0x41, 334 | 0x00,0xfb,0x3d,0x25,0xa1,0x40,0xc7,0x01,0xc0,0x1b,0xcc,0xff,0x3d,0x24,0x40,0xab, 335 | 0x02,0xc0,0x1d,0x41,0x82,0x00,0x6e,0x03,0xff,0x3d,0x22,0x42,0xd0,0x03,0x86,0x01, 336 | 0x00,0x00,0x1e,0x41,0x09,0x02,0x11,0x04,0xff,0x3d,0x22,0x40,0xec,0x02,0xc0,0x1f, 337 | 0x41,0xa3,0x00,0x6e,0x03,0xff,0x3d,0x20,0x42,0xaf,0x03,0x25,0x01,0x00,0x00,0x20, 338 | 0x41,0xc7,0x01,0xf0,0x03,0xff,0x3d,0x20,0x41,0xec,0x02,0x20,0x00,0xc0,0x20,0x41, 339 | 0x82,0x00,0x6e,0x03,0xff,0x3d,0x1e,0x42,0x6e,0x03,0xc3,0x00,0x00,0x00,0x22,0x42, 340 | 0x66,0x01,0xaf,0x03,0x31,0x04,0x3d,0x1f,0x41,0xec,0x02,0x21,0x00,0xa5,0x23,0x42, 341 | 0x82,0x00,0x2d,0x03,0x31,0x04,0x3d,0x1d,0x41,0xec,0x02,0x61,0x00,0xc0,0x23,0x42, 342 | 0xc3,0x00,0x6e,0x03,0x31,0x04,0x3d,0x1d,0x41,0xcb,0x02,0x20,0x00,0xa6,0x25,0xaf, 343 | 0x41,0xec,0x02,0x31,0x04,0x3d,0x1a,0xa6,0x40,0x6a,0x02,0xc0,0x26,0x41,0x41,0x00, 344 | 0xcc,0x02,0xff,0x3d,0x1a,0x41,0x8a,0x02,0x00,0x00,0x29,0x40,0x8b,0x02,0xf9,0x3d, 345 | 0x17,0x41,0xcf,0x03,0xa7,0x01,0xc0,0x29,0x42,0x29,0x02,0xf0,0x03,0x31,0x04,0x3d, 346 | 0x17,0xa1,0x40,0x09,0x02,0xc0,0x2a,0x40,0x08,0x02,0xfa,0x3d,0x15,0x42,0x2d,0x03, 347 | 0xc3,0x00,0x00,0x00,0x2c,0x42,0x45,0x01,0x8f,0x03,0x31,0x04,0x3d,0x15,0x42,0xaf, 348 | 0x03,0x66,0x01,0x00,0x00,0x2d,0x42,0x45,0x01,0x8f,0x03,0x31,0x04,0x3d,0x12,0xe2, 349 | 0x40,0x20,0x00,0xc0,0x2d,0x42,0x61,0x00,0xcb,0x02,0x31,0x04,0x3d,0x13,0x41,0x2d, 350 | 0x03,0xc3,0x00,0xc0,0x2e,0x42,0x62,0x00,0xec,0x02,0x31,0x04,0x3d,0x10,0x42,0x6e, 351 | 0x03,0x45,0x01,0x00,0x00,0x32,0x40,0xc7,0x01,0xfd,0x3d,0x0f,0xa6,0x40,0x8a,0x02, 352 | 0xc0,0x32,0x41,0xe8,0x01,0xd0,0x03,0xff,0x3d,0x0b,0xa1,0x41,0x6a,0x02,0x20,0x00, 353 | 0xc0,0x33,0x41,0x82,0x00,0xcc,0x02,0xf9,0x3d,0x0c,0x42,0x8f,0x03,0x66,0x01,0x00, 354 | 0x00,0x35,0x42,0xc3,0x00,0x0d,0x03,0x31,0x04,0x3d,0x0a,0x41,0x2d,0x03,0x04,0x01, 355 | 0xc0,0x37,0x41,0x86,0x01,0x6e,0x03,0xff,0x3d,0x08,0xa6,0x42,0xab,0x02,0x61,0x00, 356 | 0x00,0x00,0x38,0x42,0xa7,0x01,0x8f,0x03,0x31,0x04,0x3d,0x06,0x41,0xaf,0x03,0xe8, 357 | 0x01,0xc0,0x3a,0xaf,0x42,0x49,0x02,0xd0,0x03,0x31,0x04,0x3d,0x06,0x41,0x4e,0x03, 358 | 0x45,0x01,0xc0,0x3a,0x42,0x41,0x00,0x6a,0x02,0xd0,0x03,0xff,0x3d,0x01,0x42,0xd0, 359 | 0x03,0x49,0x02,0x20,0x00,0xc0,0x3d,0x42,0x82,0x00,0xab,0x02,0xf0,0x03,0xff,0x3d, 360 | 0x01,0x42,0xaf,0x03,0x08,0x02,0x00,0x00,0x3d,0x01,0x41,0xa3,0x00,0xab,0x02,0xfa, 361 | 0x3c,0x42,0xd0,0x03,0x8a,0x02,0x62,0x00,0xc0,0x3d,0x03,0x42,0xe4,0x00,0xcc,0x02, 362 | 0xf0,0x03,0xff,0x3b,0x42,0xd0,0x03,0x6a,0x02,0x41,0x00,0xa1,0x3d,0x04,0x40,0xc3, 363 | 0x00,0xd1,0x40,0x31,0x04,0x38,0x42,0xaf,0x03,0x6a,0x02,0x82,0x00,0xc0,0x3d,0x07, 364 | 0xce,0x40,0xf0,0x03,0xff,0x37,0x42,0xcf,0x03,0x6a,0x02,0x82,0x00,0xc0,0x3d,0x07, 365 | 0x41,0xa3,0x00,0x8a,0x02,0xfd,0x34,0x42,0x6e,0x03,0x09,0x02,0x41,0x00,0xa1,0x3d, 366 | 0x0c,0x42,0x82,0x00,0x6a,0x02,0xaf,0x03,0xff,0x33,0x42,0x8e,0x03,0x29,0x02,0x61, 367 | 0x00,0xc0,0x3d,0x0b,0xae,0x42,0xe8,0x01,0x4d,0x03,0x11,0x04,0xae,0x2e,0x43,0xd0, 368 | 0x03,0xec,0x02,0x66,0x01,0x00,0x00,0x3d,0x11,0xae,0x42,0xa7,0x01,0x2d,0x03,0xf0, 369 | 0x03,0xff,0x2d,0xa1,0x41,0x0d,0x03,0xa7,0x01,0xc0,0x3d,0x11,0x42,0xe4,0x00,0x8a, 370 | 0x02,0x6e,0x03,0xf9,0x28,0xa1,0x42,0x2d,0x03,0xe8,0x01,0x41,0x00,0xa1,0x3d,0x16, 371 | 0x43,0xa3,0x00,0x49,0x02,0x4e,0x03,0xf0,0x03,0xff,0x27,0xa1,0x42,0x4e,0x03,0x29, 372 | 0x02,0x82,0x00,0xc0,0x3d,0x16,0x44,0x04,0x01,0x6a,0x02,0x4d,0x03,0xf0,0x03,0x31, 373 | 0x04,0x22,0x43,0xaf,0x03,0xec,0x02,0xe8,0x01,0x82,0x00,0xc0,0x3d,0x1b,0x44,0xc3, 374 | 0x00,0x29,0x02,0x0d,0x03,0xd0,0x03,0x31,0x04,0x22,0xdc,0x41,0x29,0x02,0xc3,0x00, 375 | 0xc0,0x3d,0x1c,0x45,0x62,0x00,0xa7,0x01,0xab,0x02,0x4e,0x03,0xd0,0x03,0x31,0x04, 376 | 0x19,0xa6,0x44,0xaf,0x03,0x0d,0x03,0x29,0x02,0x04,0x01,0x21,0x00,0xc0,0x3d,0x21, 377 | 0x45,0x41,0x00,0x45,0x01,0x6a,0x02,0x2d,0x03,0xaf,0x03,0x11,0x04,0xae,0x19,0x44, 378 | 0xcf,0x03,0x2d,0x03,0x8a,0x02,0x45,0x01,0x41,0x00,0xc0,0x3d,0x24,0x46,0x04,0x01, 379 | 0xe8,0x01,0x8b,0x02,0x0d,0x03,0x6e,0x03,0xaf,0x03,0xf0,0x03,0xaf,0xff,0x08,0xc9, 380 | 0xa5,0x40,0x8f,0x03,0xa0,0x43,0xcc,0x02,0x49,0x02,0x86,0x01,0x41,0x00,0xa1,0x3d, 381 | 0x2c,0x46,0x82,0x00,0xc7,0x01,0x6a,0x02,0xec,0x02,0x4e,0x03,0xaf,0x03,0xf0,0x03, 382 | 0xaf,0x00,0xae,0x08,0xc9,0xea,0xa1,0x44,0x0c,0x03,0x8a,0x02,0xc7,0x01,0xa3,0x00, 383 | 0x00,0x00,0x3d,0x30,0xae,0x42,0xe4,0x00,0x45,0x01,0xa7,0x01,0xae,0xaf,0xae,0xab, 384 | 0x00,0xd0,0xa1,0xa5,0x42,0x04,0x01,0x62,0x00,0x00,0x00,0x3d,0x3a,0x41,0x82,0x00, 385 | 0x25,0x01,0xee,0x40,0xe8,0x01,0xae,0xc9,0xd0,0xa5,0xa1,0xa1,0x41,0xc3,0x00,0x00, 386 | 0x00,0x3e,0x3e,0x3e,0x3e,0x3f,0x3f,0x3a,0xae,0x40,0xe4,0x00,0xae,0x07,0x40,0x82, 387 | 0x00,0xc0,0x0e,0xe6,0x0d,0xa6,0xa1,0x40,0x41,0x00,0xc0,0x0e,0xe1,0x0b,0xfe,0x40, 388 | 0x62,0x00,0xc0,0x11,0x41,0x62,0x00,0x04,0x01,0x06,0xc6,0x09,0xe7,0x06,0x40,0x21, 389 | 0x00,0xc0,0x04,0x40,0xc3,0x00,0xe4,0x18,0xc6,0x05,0xe7,0x07,0xc2,0x09,0xe7,0x05, 390 | 0xc6,0x0e,0x44,0xa3,0x00,0xa7,0x01,0x6a,0x02,0xcc,0x02,0x0d,0x03,0x01,0xa5,0xa1, 391 | 0x43,0x29,0x02,0x25,0x01,0x62,0x00,0x00,0x00,0x21,0x41,0xa7,0x01,0x31,0x04,0x08, 392 | 0x40,0x2d,0x03,0xc0,0x0d,0x41,0xc3,0x00,0x11,0x04,0xae,0x0e,0xa6,0xa1,0x43,0x6e, 393 | 0x03,0xcc,0x02,0xc7,0x01,0x21,0x00,0xa5,0x0b,0x41,0xec,0x02,0x31,0x04,0x0c,0xa6, 394 | 0xa5,0xa1,0x43,0x4d,0x03,0xab,0x02,0xa7,0x01,0x61,0x00,0xc0,0x0c,0x41,0x29,0x02, 395 | 0x31,0x04,0x06,0xa1,0x40,0xa3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41, 396 | 0x66,0x01,0x00,0x00,0x05,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04, 397 | 0x41,0x8f,0x03,0x31,0x04,0x07,0x40,0x4e,0x03,0xc0,0x08,0x41,0x8f,0x03,0x31,0x04, 398 | 0x05,0xa1,0x40,0x82,0x00,0xc0,0x0a,0x42,0xe8,0x01,0x4d,0x03,0xf0,0x03,0xff,0x07, 399 | 0x42,0xd0,0x03,0x2d,0x03,0xc7,0x01,0xc0,0x1e,0xfe,0x08,0xa1,0x40,0x82,0x00,0xc0, 400 | 0x0c,0x41,0xc3,0x00,0x11,0x04,0xae,0x13,0x42,0xaf,0x03,0x6a,0x02,0x21,0x00,0xc0, 401 | 0x08,0x41,0xec,0x02,0x31,0x04,0x12,0x42,0xd0,0x03,0xec,0x02,0x45,0x01,0xc0,0x0a, 402 | 0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31, 403 | 0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x05,0x41,0x8f,0x03,0x31,0x04,0x19,0xc5,0x05, 404 | 0x41,0x8f,0x03,0x31,0x04,0x08,0x40,0xc8,0x01,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04, 405 | 0x05,0xa1,0x40,0x82,0x00,0xc0,0x08,0x41,0x86,0x01,0x6e,0x03,0xff,0x0d,0xf0,0x40, 406 | 0x00,0x00,0x1c,0xae,0xfd,0x09,0x40,0xe8,0x01,0xc0,0x0c,0x41,0xc3,0x00,0x11,0x04, 407 | 0xae,0x15,0x41,0x8f,0x03,0x45,0x01,0xc0,0x07,0x41,0xec,0x02,0x31,0x04,0x14,0xa6, 408 | 0x41,0xec,0x02,0xa3,0x00,0xc0,0x08,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3, 409 | 0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x05,0x41, 410 | 0x8f,0x03,0x31,0x04,0x19,0xc5,0x05,0x41,0x8f,0x03,0x31,0x04,0x08,0x41,0x8f,0x03, 411 | 0x21,0x00,0xc0,0x06,0x41,0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x07, 412 | 0x40,0x6a,0x02,0xf9,0x10,0xe1,0xc0,0x1a,0x40,0x86,0x01,0xff,0x09,0x40,0x0d,0x03, 413 | 0xc0,0x0c,0x41,0xc3,0x00,0x11,0x04,0xae,0x16,0xa1,0xc6,0x07,0x40,0xec,0x02,0xff, 414 | 0x15,0x42,0xaf,0x03,0x66,0x01,0x00,0x00,0x08,0x41,0x29,0x02,0x31,0x04,0x06,0xa6, 415 | 0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00, 416 | 0x05,0x41,0x8f,0x03,0x31,0x04,0x19,0xc5,0x05,0x41,0x8f,0x03,0x31,0x04,0x09,0x40, 417 | 0x29,0x02,0xc0,0x06,0x41,0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x06, 418 | 0x40,0x8a,0x02,0xff,0x13,0xc4,0x1a,0x41,0xcb,0x02,0x31,0x04,0x0a,0xa1,0x40,0x41, 419 | 0x00,0xc0,0x0b,0x41,0xc3,0x00,0x11,0x04,0xae,0x17,0x41,0xd0,0x03,0xe4,0x00,0xc0, 420 | 0x05,0x40,0xec,0x02,0xff,0x16,0xa1,0x40,0x86,0x01,0xc0,0x06,0x41,0x29,0x02,0x31, 421 | 0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66, 422 | 0x01,0x00,0x00,0x05,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41, 423 | 0x8f,0x03,0x31,0x04,0x09,0x41,0xcf,0x03,0x62,0x00,0xc0,0x05,0x41,0x8f,0x03,0x31, 424 | 0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x05,0x40,0x08,0x02,0xff,0x14,0xa6,0x41,0xc7, 425 | 0x01,0x00,0x00,0x18,0xaf,0x41,0xaf,0x03,0x31,0x04,0x0b,0xc3,0x0c,0x41,0xc3,0x00, 426 | 0x11,0x04,0xae,0x18,0x40,0x0d,0x03,0xc0,0x05,0x40,0xec,0x02,0xff,0x17,0x41,0xd0, 427 | 0x03,0xe4,0x00,0xc0,0x05,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0, 428 | 0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x05,0x41,0x8f,0x03, 429 | 0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41,0x8f,0x03,0x31,0x04,0x0a,0x40,0x8b, 430 | 0x02,0xc0,0x05,0x41,0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x04,0x41, 431 | 0xe4,0x00,0xf0,0x03,0xff,0x15,0x41,0xaf,0x03,0x62,0x00,0xc0,0x16,0x40,0x45,0x01, 432 | 0xff,0x0b,0x40,0x0c,0x03,0xc0,0x0b,0x41,0xc3,0x00,0x11,0x04,0xae,0x18,0xa6,0x40, 433 | 0x45,0x01,0xc0,0x04,0x40,0xec,0x02,0xff,0x18,0x40,0x2d,0x03,0xc0,0x05,0x41,0x29, 434 | 0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06, 435 | 0x41,0x66,0x01,0x00,0x00,0x05,0x41,0x8f,0x03,0x31,0x04,0x19,0xc5,0x05,0x41,0x8f, 436 | 0x03,0x31,0x04,0x0a,0xa1,0x40,0xe4,0x00,0xc0,0x04,0x41,0x8f,0x03,0x31,0x04,0x05, 437 | 0xa1,0x40,0x82,0x00,0xc0,0x04,0xfc,0x09,0xa1,0xa6,0xca,0xff,0x08,0x40,0x6a,0x02, 438 | 0xc0,0x16,0x40,0xab,0x02,0xff,0x0b,0x41,0xd0,0x03,0x20,0x00,0xc0,0x0a,0x41,0xc3, 439 | 0x00,0x11,0x04,0xae,0x06,0x41,0xec,0x02,0x6a,0x02,0x02,0xaf,0x41,0xcc,0x02,0x6e, 440 | 0x03,0xf9,0x08,0x41,0xcb,0x02,0x00,0x00,0x05,0x41,0xec,0x02,0x31,0x04,0x06,0x41, 441 | 0xd0,0x03,0x6a,0x02,0x00,0xae,0xab,0x42,0xcc,0x02,0x4d,0x03,0xd0,0x03,0xff,0x09, 442 | 0x41,0xa7,0x01,0x00,0x00,0x05,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00, 443 | 0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x05,0x41,0x49, 444 | 0x02,0xcb,0x02,0x06,0xaf,0x40,0x31,0x04,0x07,0x40,0xec,0x02,0xa5,0x06,0x40,0x6a, 445 | 0x02,0xc0,0x04,0x41,0x8f,0x03,0x31,0x04,0x0b,0xc6,0x05,0x41,0x8f,0x03,0x31,0x04, 446 | 0x05,0xa1,0x40,0x82,0x00,0xc0,0x03,0x40,0x25,0x01,0xf9,0x06,0xa6,0x42,0xcc,0x02, 447 | 0x04,0x01,0x41,0x00,0xa6,0xae,0x43,0xa3,0x00,0x29,0x02,0xcf,0x03,0x31,0x04,0x07, 448 | 0x41,0xaf,0x03,0x21,0x00,0xa5,0x16,0x41,0x8f,0x03,0x31,0x04,0x0d,0x40,0xc7,0x01, 449 | 0xc0,0x0a,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x04,0x40,0x66, 450 | 0x01,0xfd,0x07,0x41,0x8f,0x03,0x00,0x00,0x05,0x41,0xec,0x02,0x31,0x04,0x06,0x40, 451 | 0x8f,0x03,0xc0,0x04,0x42,0xc7,0x01,0x8e,0x03,0x31,0x04,0x08,0x40,0x4d,0x03,0xc0, 452 | 0x04,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03, 453 | 0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66, 454 | 0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x0b,0xa6,0x40,0x45,0x01,0xc0,0x03, 455 | 0x41,0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x03,0x41,0xcb,0x02,0x31, 456 | 0x04,0x07,0x40,0x6a,0x02,0xc0,0x04,0x41,0xe4,0x00,0xd0,0x03,0xff,0x06,0x41,0x66, 457 | 0x01,0x00,0x00,0x15,0x41,0x04,0x01,0x11,0x04,0xff,0x03,0x41,0x6e,0x03,0x10,0x04, 458 | 0xff,0x04,0x41,0xec,0x02,0x00,0x00,0x0b,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40, 459 | 0x09,0x02,0xc0,0x05,0xfb,0x07,0xa1,0x40,0x62,0x00,0xc0,0x03,0xfe,0x06,0x40,0x8f, 460 | 0x03,0xc0,0x05,0x42,0x61,0x00,0x2d,0x03,0x31,0x04,0x07,0xa6,0x40,0xe4,0x00,0xc0, 461 | 0x03,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03, 462 | 0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66, 463 | 0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x0c,0xc3,0x04,0x41,0x8f,0x03,0x31, 464 | 0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x02,0x41,0x41,0x00,0xaf,0x03,0xff,0x05,0x40, 465 | 0x8f,0x03,0xc0,0x06,0x41,0x49,0x02,0x31,0x04,0x07,0x40,0xab,0x02,0xc0,0x14,0x40, 466 | 0x8a,0x02,0xff,0x04,0x41,0x8a,0x02,0x6e,0x03,0xff,0x04,0x41,0xcf,0x03,0x00,0x00, 467 | 0x0b,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x05,0x41,0x41,0x00, 468 | 0xd0,0x03,0xff,0x06,0xc6,0x04,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x06, 469 | 0x42,0xc3,0x00,0xd0,0x03,0x31,0x04,0x07,0x40,0x29,0x02,0xc0,0x03,0x41,0x29,0x02, 470 | 0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41, 471 | 0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e, 472 | 0x41,0x8f,0x03,0x31,0x04,0x0d,0x40,0xa7,0x01,0xc0,0x02,0x41,0x8f,0x03,0x31,0x04, 473 | 0x05,0xa1,0x40,0x82,0x00,0xc0,0x02,0x40,0x45,0x01,0xff,0x06,0x40,0xab,0x02,0xc0, 474 | 0x06,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x41,0x6e,0x03,0x00,0x00,0x15,0x40,0x6e, 475 | 0x03,0xff,0x04,0x41,0x86,0x01,0xab,0x02,0xff,0x05,0x41,0xa7,0x01,0x00,0x00,0x0a, 476 | 0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x06,0x41,0x8f,0x03,0x31, 477 | 0x04,0x07,0x40,0x45,0x01,0xc0,0x03,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0, 478 | 0x07,0x41,0xcb,0x02,0x31,0x04,0x07,0x40,0x0d,0x03,0xc0,0x03,0x41,0x29,0x02,0x31, 479 | 0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66, 480 | 0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41, 481 | 0x8f,0x03,0x31,0x04,0x0d,0x41,0x6e,0x03,0x20,0x00,0xa6,0x02,0x41,0x8f,0x03,0x31, 482 | 0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x02,0x40,0x6a,0x02,0xff,0x06,0x40,0xa7,0x01, 483 | 0xc0,0x07,0x40,0xaf,0x03,0xff,0x05,0xa1,0xc0,0x13,0x40,0xe4,0x00,0xf9,0x04,0xa1, 484 | 0x42,0x21,0x00,0x86,0x01,0x31,0x04,0x06,0x41,0xcc,0x02,0x00,0x00,0x0a,0x41,0xc3, 485 | 0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x06,0x40,0x8e,0x03,0xff,0x06,0x41, 486 | 0x66,0x01,0x00,0x00,0x04,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x07,0x41, 487 | 0xa7,0x01,0x31,0x04,0x07,0x40,0x8f,0x03,0xc0,0x03,0x41,0x29,0x02,0x31,0x04,0x06, 488 | 0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00, 489 | 0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03, 490 | 0x31,0x04,0x0e,0x41,0x08,0x02,0x00,0x00,0x02,0x41,0x8f,0x03,0x31,0x04,0x05,0xa1, 491 | 0x40,0x82,0x00,0xc0,0x02,0x40,0x0d,0x03,0xff,0x06,0x40,0xa3,0x00,0xc0,0x07,0x40, 492 | 0x4e,0x03,0xff,0x06,0x40,0xe4,0x00,0xc0,0x12,0xfc,0x05,0xc2,0xae,0x40,0xd0,0x03, 493 | 0xff,0x04,0x40,0xaf,0x03,0xc6,0x09,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09, 494 | 0x02,0xc0,0x05,0xaf,0x41,0xaf,0x03,0x31,0x04,0x07,0x40,0x04,0x01,0xc0,0x03,0x40, 495 | 0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x07,0x41,0xa3,0x00,0x11,0x04,0xae,0x06, 496 | 0xa1,0x40,0x41,0x00,0xc0,0x02,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00, 497 | 0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66, 498 | 0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xd1, 499 | 0xff,0x04,0x41,0xaf,0x03,0x21,0x00,0xc0,0x00,0x41,0x8f,0x03,0x31,0x04,0x05,0xa1, 500 | 0x40,0x82,0x00,0xc0,0x02,0x40,0x8e,0x03,0xff,0x05,0xa1,0x40,0x62,0x00,0xc0,0x07, 501 | 0x40,0x0d,0x03,0xff,0x06,0x40,0xa7,0x01,0xc0,0x12,0x40,0x4e,0x03,0xff,0x04,0x40, 502 | 0x8a,0x02,0xc0,0x40,0x2d,0x03,0xff,0x05,0x41,0x66,0x01,0x00,0x00,0x09,0x41,0xc3, 503 | 0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x05,0x41,0xe4,0x00,0x11,0x04,0xff, 504 | 0x05,0xe1,0xc0,0x03,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x08,0x41,0xd0, 505 | 0x03,0x31,0x04,0x06,0xa6,0x40,0xe4,0x00,0xc0,0x02,0x41,0x29,0x02,0x31,0x04,0x06, 506 | 0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00, 507 | 0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03, 508 | 0x31,0x04,0x05,0xd1,0xff,0x05,0x40,0x6a,0x02,0xc0,0x00,0x41,0x8f,0x03,0x31,0x04, 509 | 0x05,0xa1,0x40,0x82,0x00,0xc0,0x01,0x41,0x41,0x00,0xd0,0x03,0xff,0x05,0xec,0xc0, 510 | 0x07,0x40,0xec,0x02,0xff,0x06,0x40,0x09,0x02,0xc0,0x11,0x41,0xc3,0x00,0x10,0x04, 511 | 0xaf,0x05,0x41,0x86,0x01,0x00,0x00,0x00,0x40,0x49,0x02,0xff,0x05,0x40,0xcb,0x02, 512 | 0xc0,0x08,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x05,0x40,0xcc, 513 | 0x02,0xff,0x06,0x41,0xaf,0x03,0x20,0x00,0xa6,0x04,0x40,0xec,0x02,0xff,0x05,0x40, 514 | 0x8f,0x03,0xc0,0x08,0x41,0xaf,0x03,0x31,0x04,0x07,0x40,0x45,0x01,0xc0,0x02,0x41, 515 | 0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04, 516 | 0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00, 517 | 0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xa3,0x00,0xfd,0x05,0xcc,0xc0, 518 | 0x41,0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x01,0x41,0x62,0x00,0xf0, 519 | 0x03,0xff,0x05,0x41,0xaf,0x03,0x21,0x00,0xc0,0x07,0x41,0xcb,0x02,0x31,0x04,0x07, 520 | 0x40,0x6a,0x02,0xc0,0x11,0x41,0x29,0x02,0x31,0x04,0x05,0xc2,0x01,0x40,0xe4,0x00, 521 | 0xff,0x05,0x41,0xaf,0x03,0x20,0x00,0xc0,0x07,0x41,0xc3,0x00,0x11,0x04,0xae,0x06, 522 | 0x40,0x09,0x02,0xc0,0x03,0x41,0x41,0x00,0x8a,0x02,0xff,0x07,0x40,0xec,0x02,0xc0, 523 | 0x04,0xfe,0x06,0x40,0x8f,0x03,0xc0,0x08,0x41,0x8f,0x03,0x31,0x04,0x07,0x41,0x66, 524 | 0x01,0x00,0x00,0x03,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07, 525 | 0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff, 526 | 0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x42,0x82, 527 | 0x00,0x29,0x02,0x31,0x04,0x06,0x40,0xab,0x02,0xc0,0x41,0x8f,0x03,0x31,0x04,0x05, 528 | 0xa1,0x40,0x82,0x00,0xc0,0x01,0xfa,0x07,0x41,0xaf,0x03,0x20,0x00,0xc0,0x07,0xf9, 529 | 0x07,0x40,0x8a,0x02,0xc0,0x11,0xfb,0x05,0x40,0x4d,0x03,0xc0,0x00,0xee,0xff,0x05, 530 | 0x40,0x45,0x01,0xc0,0x07,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x41,0x2d,0x03,0xcb, 531 | 0x02,0x02,0xab,0x42,0x2d,0x03,0xd0,0x03,0x31,0x04,0x09,0x41,0xa7,0x01,0x00,0x00, 532 | 0x05,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x08,0x41,0x8f,0x03,0x31,0x04, 533 | 0x07,0x41,0x66,0x01,0x00,0x00,0x03,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3, 534 | 0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40, 535 | 0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05, 536 | 0xa6,0x42,0x82,0x00,0x00,0x00,0x8e,0x03,0xff,0x04,0xa1,0x43,0x04,0x01,0x00,0x00, 537 | 0x8f,0x03,0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x01,0x40,0xa3,0x00,0xff,0x06, 538 | 0x40,0xaf,0x03,0xc0,0x08,0x40,0xab,0x02,0xff,0x06,0xc1,0x11,0x41,0xa3,0x00,0xf0, 539 | 0x03,0xff,0x04,0x40,0x8a,0x02,0xc0,0x01,0x40,0xec,0x02,0xff,0x05,0x40,0xab,0x02, 540 | 0xc0,0x07,0x41,0xc3,0x00,0x11,0x04,0xae,0x18,0x41,0x6e,0x03,0x20,0x00,0xa6,0x05, 541 | 0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x08,0x41,0x8f,0x03,0x31,0x04,0x07, 542 | 0x41,0x66,0x01,0x00,0x00,0x03,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00, 543 | 0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66, 544 | 0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6, 545 | 0x42,0x82,0x00,0x00,0x00,0xc7,0x01,0xff,0x05,0x43,0x0c,0x03,0x00,0x00,0x8f,0x03, 546 | 0x31,0x04,0x05,0xa1,0x40,0x82,0x00,0xc0,0x01,0x40,0xe4,0x00,0xff,0x06,0x40,0x8f, 547 | 0x03,0xc0,0x08,0x41,0xab,0x02,0x31,0x04,0x07,0xc1,0x11,0x40,0xe8,0x01,0xff,0x05, 548 | 0x41,0x66,0x01,0x00,0x00,0x02,0xfa,0x06,0x41,0x8f,0x03,0x20,0x00,0xc0,0x06,0x41, 549 | 0xc3,0x00,0x11,0x04,0xae,0x17,0xa6,0x40,0x86,0x01,0xc0,0x05,0x40,0xec,0x02,0xff, 550 | 0x05,0x40,0x8f,0x03,0xc0,0x08,0x41,0x8f,0x03,0x31,0x04,0x07,0x41,0x66,0x01,0x00, 551 | 0x00,0x03,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f, 552 | 0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41, 553 | 0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xa3,0x00,0xc0, 554 | 0x40,0x4e,0x03,0xff,0x04,0xa6,0x42,0x66,0x01,0x8f,0x03,0x31,0x04,0x05,0xa1,0x41, 555 | 0x82,0x00,0x00,0x00,0x02,0x40,0xa3,0x00,0xff,0x06,0xc5,0x09,0x40,0xab,0x02,0xff, 556 | 0x06,0x40,0x8a,0x02,0xc0,0x10,0x40,0x0d,0x03,0xff,0x04,0x41,0xd0,0x03,0x41,0x00, 557 | 0xc0,0x01,0x41,0xa3,0x00,0xf0,0x03,0xff,0x05,0x40,0x25,0x01,0xc0,0x06,0x41,0xc3, 558 | 0x00,0x11,0x04,0xae,0x17,0x40,0x6a,0x02,0xc0,0x06,0xfe,0x06,0x40,0x8f,0x03,0xc0, 559 | 0x08,0x41,0xaf,0x03,0x31,0x04,0x06,0xd9,0xc0,0x02,0x41,0x29,0x02,0x31,0x04,0x06, 560 | 0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00, 561 | 0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03, 562 | 0x31,0x04,0x05,0xa6,0x40,0xa3,0x00,0xc0,0x41,0x66,0x01,0x11,0x04,0xff,0x04,0x42, 563 | 0x4e,0x03,0x8f,0x03,0x31,0x04,0x05,0xa1,0x41,0x82,0x00,0x00,0x00,0x02,0xfa,0x07, 564 | 0x41,0xaf,0x03,0x20,0x00,0xc0,0x07,0x41,0xcb,0x02,0x31,0x04,0x07,0xc4,0x10,0x41, 565 | 0x62,0x00,0xd0,0x03,0xff,0x04,0x41,0x6e,0x03,0x66,0x01,0x04,0x41,0x8f,0x03,0x31, 566 | 0x04,0x06,0x41,0x8b,0x02,0x00,0x00,0x07,0x41,0xc3,0x00,0x11,0x04,0xae,0x15,0xa6, 567 | 0x40,0x6a,0x02,0xc0,0x07,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x08,0x41, 568 | 0xd0,0x03,0x31,0x04,0x06,0xa5,0x41,0xc3,0x00,0x00,0x00,0x03,0x41,0x29,0x02,0x31, 569 | 0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06,0x41,0x66, 570 | 0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41, 571 | 0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xa3,0x00,0xc0,0x00,0x40,0x0d,0x03,0xff,0x05, 572 | 0xa1,0xff,0x04,0xa1,0x40,0x82,0x00,0xc0,0x01,0x41,0x62,0x00,0x11,0x04,0xff,0x05, 573 | 0x41,0xaf,0x03,0x21,0x00,0xc0,0x07,0x41,0xec,0x02,0x31,0x04,0x07,0x40,0x09,0x02, 574 | 0xc0,0x0f,0x40,0xc7,0x01,0xff,0x15,0x40,0x8e,0x03,0xc0,0x06,0x41,0xc3,0x00,0x11, 575 | 0x04,0xae,0x14,0xdd,0xc0,0x08,0x40,0xec,0x02,0xff,0x05,0x40,0x8f,0x03,0xc0,0x07, 576 | 0x42,0x41,0x00,0xf0,0x03,0x31,0x04,0x06,0x40,0xd0,0x03,0xc0,0x03,0x41,0x29,0x02, 577 | 0x31,0x04,0x06,0xa6,0x40,0xc3,0x00,0xc0,0x07,0x41,0xaf,0x03,0x31,0x04,0x06,0x41, 578 | 0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e, 579 | 0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xa3,0x00,0xc0,0x00,0x41,0x24,0x01,0x11, 580 | 0x04,0xff,0x0c,0xa1,0x40,0x82,0x00,0xc0,0x01,0x40,0x41,0x00,0xfc,0x06,0xec,0xc0, 581 | 0x07,0x40,0x0d,0x03,0xff,0x06,0x40,0xa7,0x01,0xc0,0x0f,0xfe,0x16,0xa6,0x40,0x04, 582 | 0x01,0xc0,0x05,0x41,0xc3,0x00,0x11,0x04,0xae,0x14,0x40,0x49,0x02,0xc0,0x09,0xfe, 583 | 0x06,0x40,0x8f,0x03,0xc0,0x07,0x41,0x66,0x01,0x31,0x04,0x07,0x41,0x6e,0x03,0x00, 584 | 0x00,0x04,0x41,0x29,0x02,0x31,0x04,0x06,0xa6,0x41,0xc4,0x00,0x00,0x00,0x07,0xaf, 585 | 0x41,0xaf,0x03,0x31,0x04,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x40,0x66,0x01,0xff, 586 | 0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xa3, 587 | 0x00,0xc0,0x01,0x40,0xcc,0x02,0xff,0x0c,0xa1,0x41,0x82,0x00,0x00,0x00,0x03,0x41, 588 | 0x8f,0x03,0x31,0x04,0x06,0xa1,0x40,0x62,0x00,0xc0,0x07,0x40,0x4d,0x03,0xff,0x05, 589 | 0xa6,0x40,0xc3,0x00,0xc0,0x0e,0xaf,0x41,0xd0,0x03,0x31,0x04,0x17,0x40,0x6a,0x02, 590 | 0xc0,0x05,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0xd2,0x02,0xff,0x06,0x41,0xd0,0x03, 591 | 0x62,0x00,0xc0,0x08,0xfe,0x06,0x40,0x8f,0x03,0xc0,0x07,0x41,0x8a,0x02,0x31,0x04, 592 | 0x07,0x41,0xcc,0x02,0x00,0x00,0x04,0x41,0x29,0x02,0x31,0x04,0x07,0x40,0x25,0x01, 593 | 0xc0,0x06,0x41,0x41,0x00,0xf0,0x03,0xff,0x05,0x40,0x45,0x01,0xc0,0x0d,0x40,0x66, 594 | 0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6, 595 | 0x40,0xc3,0x00,0xc0,0x01,0xd7,0x40,0x31,0x04,0x0c,0xa1,0x40,0x82,0x00,0xc0,0x02, 596 | 0x40,0x2d,0x03,0xff,0x06,0x40,0xe4,0x00,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x06, 597 | 0x40,0xd0,0x03,0xc0,0x0f,0x41,0x87,0x01,0x31,0x04,0x18,0x41,0x6e,0x03,0x00,0x00, 598 | 0x06,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x00,0x41,0x62,0x00, 599 | 0xd0,0x03,0xff,0x06,0x40,0x8b,0x02,0xc0,0x08,0x40,0xec,0x02,0xff,0x05,0x40,0x8f, 600 | 0x03,0xc0,0x06,0xaf,0x41,0xaf,0x03,0x31,0x04,0x07,0x40,0xc7,0x01,0xc0,0x03,0x40, 601 | 0xe8,0x01,0xff,0x06,0x40,0x29,0x02,0xc0,0x06,0x41,0xc3,0x00,0x31,0x04,0x07,0x40, 602 | 0x04,0x01,0xc0,0x0d,0x40,0x66,0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41, 603 | 0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xc3,0x00,0xc0,0x02,0x41,0x8a,0x02,0x31,0x04, 604 | 0x0c,0xa1,0x40,0x82,0x00,0xc0,0x02,0x40,0x8a,0x02,0xff,0x06,0x40,0x09,0x02,0xc0, 605 | 0x06,0x41,0xa3,0x00,0xf0,0x03,0xff,0x05,0x40,0x4d,0x03,0xc0,0x0f,0x40,0xcc,0x02, 606 | 0xff,0x17,0xa6,0x41,0xe4,0x00,0x00,0x00,0x05,0x41,0xc3,0x00,0x11,0x04,0xae,0x06, 607 | 0x40,0x09,0x02,0xc0,0x01,0x40,0xab,0x02,0xff,0x06,0xa1,0x40,0xc3,0x00,0xc0,0x07, 608 | 0x41,0xec,0x02,0x31,0x04,0x06,0x40,0x8f,0x03,0xc0,0x06,0x41,0xab,0x02,0x31,0x04, 609 | 0x07,0x41,0xd0,0x03,0x41,0x00,0xc0,0x03,0x40,0x45,0x01,0xff,0x06,0x40,0x2d,0x03, 610 | 0xc0,0x06,0x40,0x49,0x02,0xff,0x05,0xa5,0x41,0xa3,0x00,0x00,0x00,0x0e,0x40,0x66, 611 | 0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6, 612 | 0x40,0xc3,0x00,0xc0,0x02,0x42,0x61,0x00,0xcf,0x03,0x31,0x04,0x0b,0xa1,0x40,0x82, 613 | 0x00,0xc0,0x02,0x40,0x66,0x01,0xff,0x06,0x41,0x2d,0x03,0x00,0x00,0x07,0x40,0x08, 614 | 0x02,0xff,0x06,0x41,0x6a,0x02,0x00,0x00,0x10,0x40,0xaf,0x03,0xff,0x18,0x40,0x4a, 615 | 0x02,0xc0,0x04,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x01,0x41, 616 | 0xa3,0x00,0xf0,0x03,0xff,0x06,0x41,0xcc,0x02,0x00,0x00,0x08,0x40,0xec,0x02,0xff, 617 | 0x05,0x40,0x8f,0x03,0xc0,0x04,0x42,0x82,0x00,0xcb,0x02,0x31,0x04,0x08,0x41,0xcc, 618 | 0x02,0x00,0x00,0x05,0x41,0x62,0x00,0xf0,0x03,0xff,0x05,0xa6,0x40,0x45,0x01,0xc0, 619 | 0x04,0x42,0x41,0x00,0x8f,0x03,0x31,0x04,0x06,0x40,0xaf,0x03,0xc0,0x0e,0x40,0x66, 620 | 0x01,0xff,0x06,0x41,0x66,0x01,0x00,0x00,0x0e,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6, 621 | 0x40,0xc3,0x00,0xc0,0x03,0x41,0x49,0x02,0x31,0x04,0x0b,0xa1,0x40,0x82,0x00,0xc0, 622 | 0x02,0x41,0x41,0x00,0xcf,0x03,0xff,0x05,0xa6,0x41,0x66,0x01,0x00,0x00,0x05,0x42, 623 | 0x41,0x00,0x8f,0x03,0x31,0x04,0x06,0xa6,0x40,0xe4,0x00,0xc0,0x0e,0x40,0x66,0x01, 624 | 0xff,0x06,0xa5,0x08,0xff,0x06,0x41,0x4e,0x03,0x00,0x00,0x05,0x41,0xc3,0x00,0x11, 625 | 0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x02,0x40,0xab,0x02,0xff,0x06,0xa6,0x40,0x25, 626 | 0x01,0xc0,0x06,0x40,0xec,0x02,0xff,0x05,0x41,0xaf,0x03,0x66,0x01,0x01,0xae,0x43, 627 | 0xc7,0x01,0x49,0x02,0x0d,0x03,0xd0,0x03,0xff,0x07,0xa5,0x41,0xe4,0x00,0x00,0x00, 628 | 0x06,0x40,0x6e,0x03,0xff,0x06,0x42,0xaf,0x03,0x86,0x01,0x00,0x00,0x03,0x41,0xe4, 629 | 0x00,0x2d,0x03,0xff,0x06,0x40,0xec,0x02,0xc0,0x05,0x41,0x45,0x01,0x86,0x01,0x06, 630 | 0x40,0x08,0x02,0xff,0x06,0xf0,0x06,0xa1,0x40,0x00,0x00,0x05,0x41,0x8f,0x03,0x31, 631 | 0x04,0x05,0xa6,0x40,0xc3,0x00,0xc0,0x03,0xaf,0x41,0x8f,0x03,0x31,0x04,0x0a,0xa1, 632 | 0x40,0x82,0x00,0xc0,0x03,0x40,0xcc,0x02,0xff,0x06,0xf5,0x40,0x00,0x00,0x03,0x40, 633 | 0xe4,0x00,0xfb,0x07,0x40,0x4e,0x03,0xc0,0x0f,0x40,0xab,0x02,0xff,0x05,0x41,0x2d, 634 | 0x03,0xc3,0x00,0x08,0x41,0x0d,0x03,0x31,0x04,0x06,0xa6,0xc6,0x04,0x41,0xc3,0x00, 635 | 0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x02,0x41,0xe4,0x00,0xf0,0x03,0xff,0x06, 636 | 0xc5,0x07,0x40,0xec,0x02,0xff,0x18,0x40,0xab,0x02,0xc0,0x06,0x40,0x6a,0x02,0xff, 637 | 0x07,0xa6,0x41,0x8e,0x03,0x0c,0x03,0xa2,0xae,0x41,0x4e,0x03,0xf0,0x03,0xff,0x07, 638 | 0x41,0xa7,0x01,0x00,0x00,0x06,0x40,0x8e,0x03,0xff,0x18,0x40,0x8f,0x03,0xc0,0x04, 639 | 0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xc3,0x00,0xc0,0x04,0x41,0xe8,0x01,0x31, 640 | 0x04,0x0a,0xa1,0x40,0x82,0x00,0xc0,0x03,0x40,0x25,0x01,0xf9,0x07,0xf1,0x40,0x0c, 641 | 0x03,0xa2,0xae,0x41,0x6e,0x03,0xf0,0x03,0xff,0x07,0x41,0xa7,0x01,0x00,0x00,0x10, 642 | 0x41,0x8f,0x03,0x31,0x04,0x06,0x40,0x6a,0x02,0xc0,0x07,0x40,0x08,0x02,0xff,0x06, 643 | 0x41,0x29,0x02,0x00,0x00,0x04,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02, 644 | 0xc0,0x03,0x40,0xcc,0x02,0xff,0x06,0xa6,0x41,0x86,0x01,0x00,0x00,0x06,0x40,0xec, 645 | 0x02,0xff,0x17,0x41,0x8e,0x03,0x61,0x00,0xc0,0x06,0x42,0xc3,0x00,0xf0,0x03,0x31, 646 | 0x04,0x17,0xc6,0x07,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41, 647 | 0x8f,0x03,0x31,0x04,0x05,0xa6,0x41,0xc4,0x00,0x00,0x00,0x06,0x40,0x4e,0x03,0xff, 648 | 0x08,0xa1,0x40,0x82,0x00,0xc0,0x04,0x40,0xec,0x02,0xff,0x16,0x40,0x4d,0x03,0xc0, 649 | 0x0f,0x41,0x45,0x01,0x11,0x04,0xff,0x05,0x40,0x45,0x01,0xc0,0x07,0x41,0x82,0x00, 650 | 0x11,0x04,0xff,0x05,0x40,0x4d,0x03,0xc0,0x03,0x41,0xc3,0x00,0x11,0x04,0xae,0x06, 651 | 0x40,0x09,0x02,0xc0,0x03,0x41,0x04,0x01,0x10,0x04,0xff,0x06,0x41,0x4e,0x03,0x00, 652 | 0x00,0x06,0xfe,0x17,0x40,0xcf,0x03,0xc4,0x09,0x40,0x8a,0x02,0xff,0x15,0xa6,0x40, 653 | 0xa7,0x01,0xc0,0x06,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41, 654 | 0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xe4,0x00,0xc0,0x05,0x40,0x86,0x01,0xf9,0x08, 655 | 0xa1,0x40,0x82,0x00,0xc0,0x04,0x42,0xc3,0x00,0xcf,0x03,0x31,0x04,0x15,0xa1,0xc4, 656 | 0x10,0x40,0x8a,0x02,0xff,0x05,0x40,0xd0,0x03,0xc0,0x09,0x40,0x6e,0x03,0xff,0x05, 657 | 0xa1,0x41,0xa3,0x00,0x00,0x00,0x03,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09, 658 | 0x02,0xc0,0x04,0x40,0xec,0x02,0xff,0x07,0x40,0xc7,0x01,0xc0,0x04,0xfe,0x16,0x41, 659 | 0x8f,0x03,0x25,0x01,0xc0,0x09,0x42,0x41,0x00,0x4e,0x03,0x31,0x04,0x15,0x40,0x8a, 660 | 0x02,0xc0,0x07,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41,0x8f, 661 | 0x03,0x31,0x04,0x05,0xa6,0x40,0xe4,0x00,0xc0,0x06,0x40,0x2d,0x03,0xff,0x07,0xa1, 662 | 0x40,0x82,0x00,0xc0,0x05,0x40,0xa7,0x01,0xf9,0x13,0xa6,0x40,0xe8,0x01,0xc0,0x10, 663 | 0x40,0x8e,0x03,0xff,0x05,0xc3,0x0a,0x40,0xab,0x02,0xff,0x06,0x40,0x29,0x02,0xc0, 664 | 0x02,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02,0xc0,0x04,0x41,0x25,0x01, 665 | 0x11,0x04,0xff,0x06,0x41,0x8e,0x03,0x21,0x00,0xc0,0x03,0x41,0xec,0x02,0x31,0x04, 666 | 0x14,0xf1,0x40,0x82,0x00,0xc0,0x0b,0x41,0xa3,0x00,0x6e,0x03,0xff,0x12,0x41,0x8b, 667 | 0x02,0x00,0x00,0x09,0x41,0x8f,0x03,0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41, 668 | 0x8f,0x03,0x31,0x04,0x05,0xa6,0x40,0xe4,0x00,0xc0,0x06,0x40,0x25,0x01,0xf9,0x07, 669 | 0xa1,0x40,0x82,0x00,0xc0,0x06,0x41,0xc8,0x01,0xf0,0x03,0xff,0x10,0xa1,0x41,0x08, 670 | 0x02,0x00,0x00,0x11,0x40,0x04,0x01,0xf9,0x06,0x40,0x4a,0x02,0xc0,0x09,0x40,0x86, 671 | 0x01,0xff,0x06,0x40,0x2d,0x03,0xc0,0x02,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40, 672 | 0x09,0x02,0xc0,0x05,0x40,0x0d,0x03,0xff,0x07,0x40,0x29,0x02,0xc0,0x03,0x41,0xec, 673 | 0x02,0x31,0x04,0x12,0xa6,0x41,0x4d,0x03,0x86,0x01,0xc0,0x0e,0x42,0x61,0x00,0xcc, 674 | 0x02,0x11,0x04,0xff,0x0e,0x42,0xd0,0x03,0xe8,0x01,0x00,0x00,0x0a,0x41,0x8f,0x03, 675 | 0x31,0x04,0x19,0x40,0xaf,0x03,0xc0,0x04,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40, 676 | 0xe4,0x00,0xc0,0x07,0x40,0xec,0x02,0xff,0x06,0xa1,0x40,0x82,0x00,0xc0,0x07,0x41, 677 | 0x46,0x01,0x8e,0x03,0xff,0x0e,0x42,0x8f,0x03,0x66,0x01,0x00,0x00,0x12,0x41,0x6a, 678 | 0x02,0x31,0x04,0x07,0x40,0x25,0x01,0xc0,0x09,0x41,0x41,0x00,0xd0,0x03,0xff,0x05, 679 | 0xa1,0x40,0x62,0x00,0xc0,0x01,0x41,0xc3,0x00,0x11,0x04,0xae,0x06,0x40,0x09,0x02, 680 | 0xc0,0x05,0x41,0x45,0x01,0x11,0x04,0xff,0x06,0x41,0xaf,0x03,0x41,0x00,0xc0,0x02, 681 | 0x40,0xec,0x02,0xff,0x0d,0xd1,0x42,0x4e,0x03,0x8a,0x02,0x04,0x01,0xc0,0x12,0x41, 682 | 0x66,0x01,0x2d,0x03,0xf9,0x0b,0x43,0xaf,0x03,0x8a,0x02,0x62,0x00,0x00,0x00,0x0b, 683 | 0x41,0x8f,0x03,0x31,0x04,0x19,0xc5,0x05,0x41,0x8f,0x03,0x31,0x04,0x05,0xa6,0x40, 684 | 0xe4,0x00,0xc0,0x07,0x41,0xc4,0x00,0xf0,0x03,0xff,0x05,0xa1,0x41,0x82,0x00,0x00, 685 | 0x00,0x09,0xaf,0x42,0x49,0x02,0x8f,0x03,0x31,0x04,0x0b,0x42,0x8f,0x03,0x49,0x02, 686 | 0x21,0x00,0xc0,0x12,0x41,0xe8,0x01,0xab,0x02,0x06,0xa5,0xc0,0x0b,0x40,0x29,0x02, 687 | 0xc9,0x06,0x40,0xc3,0x00,0xc0,0x01,0x41,0x62,0x00,0x8b,0x02,0xc9,0x05,0x40,0x45, 688 | 0x01,0xc0,0x06,0x41,0x49,0x02,0xab,0x02,0x08,0x40,0x04,0x01,0xc0,0x02,0x40,0xe8, 689 | 0x01,0xc9,0x0a,0xa5,0x42,0x29,0x02,0xc7,0x01,0x25,0x01,0xc0,0x18,0x44,0xc3,0x00, 690 | 0x29,0x02,0x0c,0x03,0x8e,0x03,0xd0,0x03,0xae,0xae,0xab,0xd2,0xa1,0x43,0x2d,0x03, 691 | 0x8b,0x02,0x86,0x01,0x00,0x00,0x0e,0x41,0x49,0x02,0xab,0x02,0x19,0xc5,0x05,0xcd, 692 | 0x05,0xa6,0x40,0x82,0x00,0xc0,0x08,0x40,0x08,0x02,0xc9,0x05,0xa1,0x40,0x41,0x00, 693 | 0xa1,0x0c,0x44,0x66,0x01,0x8b,0x02,0x4d,0x03,0xaf,0x03,0xf0,0x03,0x00,0xaf,0xd2, 694 | 0xa1,0x43,0x4d,0x03,0xab,0x02,0x66,0x01,0x00,0x00,0x3d,0x3d,0x18,0x41,0x82,0x00, 695 | 0xc3,0x00,0x00,0xa6,0x40,0x20,0x00,0xc0,0x3d,0x29,0xaf,0x40,0xa3,0x00,0xae,0xa6, 696 | 0x40,0x41,0x00,0xc0,0x12}; 697 | --------------------------------------------------------------------------------