diff --git a/timonel-bootloader/versions/tml-bottloader-v04-2018-08-10.c b/timonel-bootloader/versions/tml-bootloader-v04-2018-08-10.c similarity index 100% rename from timonel-bootloader/versions/tml-bottloader-v04-2018-08-10.c rename to timonel-bootloader/versions/tml-bootloader-v04-2018-08-10.c diff --git a/timonel-bootloader/versions/tml-bottloader-v07-2018-09-09.c b/timonel-bootloader/versions/tml-bootloader-v07-2018-09-09.c similarity index 100% rename from timonel-bootloader/versions/tml-bottloader-v07-2018-09-09.c rename to timonel-bootloader/versions/tml-bootloader-v07-2018-09-09.c diff --git a/timonel-bootloader/versions/tml-bootloader-v08-2018-09-16.c b/timonel-bootloader/versions/tml-bootloader-v08-2018-09-16.c new file mode 100644 index 00000000..05fc495e --- /dev/null +++ b/timonel-bootloader/versions/tml-bootloader-v08-2018-09-16.c @@ -0,0 +1,415 @@ +/* _ _ + * _ (_) | | + * _| |_ _ ____ ___ ____ _____| | + * (_ _) | \ / _ \| _ \| ___ | | + * | |_| | | | | |_| | | | | ____| | + * \__)_|_|_|_|\___/|_| |_|_____)\_) + * + * Timonel - I2C Bootloader for ATtiny85 MCUs + * Author: Gustavo Casanova + * ........................................... + * Version: 0.8 / 2018-09-16 + * gustavo.casanova@nicebots.com + */ + +/* Includes */ +//#include +#include +#include "tml-config.h" +#include "nb-usitwisl-if.h" +#include "nb-i2c-cmd.h" + +/* This bootloader ... */ +#define I2C_ADDR 0x15 /* Timonel I2C Address: 0x15 = 21 */ +#define TIMONEL_VER_MJR 0 /* Timonel version major number */ +#define TIMONEL_VER_MNR 8 /* Timonel version major number */ + +#if TIMONEL_START % PAGE_SIZE != 0 + #error "TIMONEL_START in makefile must be a multiple of chip's pagesize" +#endif + +#if PAGE_SIZE > 256 + #error "Timonel only supports page sizes up to 64 bytes" +#endif + +#ifndef F_CPU + #define F_CPU 8000000UL /* Default CPU speed for delay.h */ +#endif + +#if (RXDATASIZE > 8) + #pragma GCC warning "Do not set transmission data size too high to avoid hurting I2C reliability!" +#endif + +#if ((CYCLESTOEXIT > 0) && (CYCLESTOEXIT < 20)) + #pragma GCC warning "Do not set CYCLESTOEXIT too low, it could make difficult for I2C master to initialize on time!" +#endif + +// Type definitions +typedef uint8_t byte; +typedef uint16_t word; +typedef void (*fptr_t)(void); + +// Global variables +byte command[(RXDATASIZE * 2) + 2] = { 0 }; /* Command received from I2C master */ +byte commandLength = 0; /* Command number of bytes */ +word ledToggleTimer = 0; /* Pre-init led toggle timer */ +byte statusRegister = 0; /* Bit: 8,7,6,5: Not used, 4: exit, 3: delete flash, 2, 1: initialized */ +word i2cDly = I2CDLYTIME; /* Delay to allow I2C execution before jumping to application */ +byte exitDly = CYCLESTOEXIT; /* Delay to exit Timonel and run the application if not initialized */ +byte pageBuffer[PAGE_SIZE]; /* Flash memory page buffer */ +word flashPageAddr = 0x0000; /* Flash memory page address */ +byte pageIX = 0; /* Flash memory page index */ +byte tplJumpLowByte = 0; /* Trampoline jump address LSB */ +byte tplJumpHighByte = 0; /* Trampoline jump address MSB */ + +// Jump to trampoline +fptr_t RunApplication = (fptr_t)((TIMONEL_START - 2) / 2); +//const uint8_t rstVector[2] __attribute__ ((section (".appvector"))) = { 0xaa, 0xbb }; + +// Function prototypes +void SetCPUSpeed8MHz (void); +void ReceiveEvent(byte commandBytes); +void RequestEvent(void); +void Reset(void); +void DisableWatchDog(void); +void DeleteFlash(void); +void ClearPageBuffer(); +void FixResetVector(); +void FlashRaw(word pageAddress); +void FlashPage(word pageAddress); +void CreateTrampoline(void); +void CalculateTrampoline(byte applJumpLowByte, byte applJumpHighByte); + +// Function Main +int main() { + /* ___________________ + | | + | Setup Block | + |___________________| + */ + DisableWatchDog(); /* Disable watchdog to avoid continuous loop after reset */ +#if ENABLE_LED_UI + LED_UI_DDR |= (1 << LED_UI_PIN); /* Set led pin Data Direction Register for output */ +#endif + SetCPUSpeed8MHz(); /* Set the CPU prescaler for 8 MHz */ + UsiTwiSlaveInit(I2C_ADDR); /* Initialize I2C */ + Usi_onReceiverPtr = ReceiveEvent; /* I2C Receive Event declaration */ + Usi_onRequestPtr = RequestEvent; /* I2C Request Event declaration */ + statusRegister = (1 << SR_APP_READY); /* In principle, we assume that there is a valid app in memory */ + //TCCR1 = 0; /* Set Timer1 off */ + cli(); /* Disable Interrupts */ + /* ___________________ + | | + | Main Loop | + |___________________| + */ + + for (;;) { + // Initialization check + if ((statusRegister & ((1 << SR_INIT_1) + (1 << SR_INIT_2))) != \ + ((1 << SR_INIT_1) + (1 << SR_INIT_2))) { + // ============================================ + // = Blink led until is initialized by master = + // ============================================ + if (ledToggleTimer++ >= TOGGLETIME) { +#if ENABLE_LED_UI + LED_UI_PORT ^= (1 << LED_UI_PIN); /* Blinks on each main loop pass at TOGGLETIME intervals */ +#endif + ledToggleTimer = 0; + if (exitDly-- == 0) { + RunApplication(); + } + } + } + else { + if (i2cDly-- <= 0) { /* Decrease i2cDly on each main loop pass until it */ + // /* reaches 0 before running code to allow I2C replies */ + // ======================================= + // = Exit bootloader and run application = + // ======================================= + if ((statusRegister & ((1 << SR_EXIT_TML) + (1 << SR_APP_READY))) == \ + ((1 << SR_EXIT_TML) + (1 << SR_APP_READY))) { + RunApplication(); + } + if ((statusRegister & ((1 << SR_EXIT_TML) + (1 << SR_APP_READY))) == \ + (1 << SR_EXIT_TML)) { + DeleteFlash(); + } + // =========================================================================== + // = Delete application from flash memory and point reset to this bootloader = + // =========================================================================== + if ((statusRegister & (1 << SR_DEL_FLASH)) == (1 << SR_DEL_FLASH)) { +#if ENABLE_LED_UI + LED_UI_PORT |= (1 << LED_UI_PIN); /* Turn led on to indicate erasing ... */ +#endif + DeleteFlash(); + RunApplication(); /* Since there is no app anymore, this resets to the bootloader */ + } + // ======================================================================== + // = Write received page to flash memory and prepare to receive a new one = + // ======================================================================== + if ((pageIX == PAGE_SIZE) /* & (flashPageAddr != 0xFFFF)*/) { +#if ENABLE_LED_UI + LED_UI_PORT ^= (1 << LED_UI_PIN); /* Turn led on and off to indicate writing ... */ +#endif + FlashPage(flashPageAddr); + flashPageAddr += PAGE_SIZE; + pageIX = 0; + } + i2cDly = I2CDLYTIME; + } + } + // ================================================== + // = I2C Interrupt Emulation ********************** = + // = Check the USI Status Register to verify = + // = whether a USI start handler should be launched = + // ================================================== + if (USISR & (1 << USISIF)) { + UsiStartHandler(); /* If so, run the USI start handler ... */ + USISR |= (1 << USISIF); /* Reset the USI start flag in USISR register to prepare for new ints */ + } + // ===================================================== + // = I2C Interrupt Emulation ************************* = + // = Check the USI Status Register to verify = + // = whether a USI counter overflow should be launched = + // ===================================================== + if (USISR & (1 << USIOIF)) { + UsiOverflowHandler(); /* If so, run the USI overflow handler ... */ + USISR |= (1 << USIOIF); /* Reset the USI overflow flag in USISR register to prepare for new ints */ + } + } + // Return + return 0; +} + +// I2C Receive Event +void ReceiveEvent(byte commandBytes) { + commandLength = commandBytes; /* Save the number of bytes sent by the I2C master */ + for (byte i = 0; i < commandLength; i++) { + command[i] = UsiTwiReceiveByte(); /* Store the data sent by the I2C master in the data buffer */ + } +} + +// I2C Request Event +void RequestEvent(void) { + byte opCodeAck = ~command[0]; /* Command Operation Code reply => Command Bitwise "Not" */ + switch (command[0]) { + // ****************** + // * GETTMNLV Reply * + // ****************** + case GETTMNLV: { + #define GETTMNLV_RPLYLN 8 + byte reply[GETTMNLV_RPLYLN] = { 0 }; + reply[0] = opCodeAck; + reply[1] = 78; /* N */ + reply[2] = 66; /* B */ + reply[3] = 84; /* T */ + reply[4] = TIMONEL_VER_MJR; /* Timonel Major version number */ + reply[5] = TIMONEL_VER_MNR; /* Timonel Minor version number */ + reply[6] = ((TIMONEL_START & 0xFF00) >> 8); /* Timonel Base Address MSB */ + reply[7] = (TIMONEL_START & 0xFF); /* Timonel Base Address LSB */ + statusRegister |= (1 << SR_INIT_2); /* Two-step init step 2: receive GETTMNLV command */ +#if ENABLE_LED_UI + LED_UI_PORT &= ~(1 << LED_UI_PIN); /* Two-step init: Turn led off to indicate correct initialization */ +#endif + for (byte i = 0; i < GETTMNLV_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + break; + } + // ****************** + // * EXITTMNL Reply * + // ****************** + case EXITTMNL: { + #define EXITTMNL_RPLYLN 1 + byte reply[EXITTMNL_RPLYLN] = { 0 }; + reply[0] = opCodeAck; + for (byte i = 0; i < EXITTMNL_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + statusRegister |= (1 << SR_EXIT_TML); + break; + } + // ****************** + // * DELFLASH Reply * + // ****************** + case DELFLASH: { + #define DELFLASH_RPLYLN 1 + byte reply[DELFLASH_RPLYLN] = { 0 }; + reply[0] = opCodeAck; + for (byte i = 0; i < DELFLASH_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + statusRegister |= (1 << SR_DEL_FLASH); + break; + } +#if CMD_STPGADDR + // ****************** + // * STPGADDR Reply * + // ****************** + case STPGADDR: { + #define STPGADDR_RPLYLN 2 + byte reply[STPGADDR_RPLYLN] = { 0 }; + flashPageAddr = ((command[1] << 8) + command[2]); /* Sets the flash memory page base address */ + reply[0] = opCodeAck; + reply[1] = (byte)(command[1] + command[2]); /* Returns the sum of MSB and LSB of the page address */ + for (byte i = 0; i < STPGADDR_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + break; + } +#endif + // ****************** + // * WRITPAGE Reply * + // ****************** + case WRITPAGE: { + #define WRITPAGE_RPLYLN 2 + uint8_t reply[WRITPAGE_RPLYLN] = { 0 }; + reply[0] = opCodeAck; + for (uint8_t i = 1; i < (RXDATASIZE + 1); i++) { + pageBuffer[pageIX] = (command[i]); + reply[1] += (uint8_t)(command[i]); + pageIX++; + } + if (reply[1] != command[RXDATASIZE + 1]) { + statusRegister &= ~(1 << SR_APP_READY); /* Payload received with errors, don't run it !!! */ + statusRegister |= (1 << SR_DEL_FLASH); /* Safety payload deletion ... */ + } + for (uint8_t i = 0; i < WRITPAGE_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + break; + } +#if CMD_READPAGE + // ****************** + // * READPAGE Reply * + // ****************** + case READPAGE: { + uint8_t ix = command[1]; /* Second byte received determines start of reply data */ + const uint8_t ackLng = (command[2] + 2); /* Third byte received determines the size of reply data */ + uint8_t reply[ackLng]; + reply[ackLng - 1] = 0; /* Checksum initialization */ + reply[0] = opCodeAck; + if ((ix > 0) & (ix <= PAGE_SIZE) & (command[2] >= 1) & (command[2] <= MAXBUFFERTXLN * 2)) { + uint8_t j = 1; + reply[ackLng - 1] = 0; + for (uint8_t i = 1; i < command[2] + 1; i++) { + reply[j] = pageBuffer[ix + i - 2]; /* Data bytes in reply */ + reply[ackLng - 1] += reply[j]; /* Checksum accumulator to be the in the reply */ + j++; + } + for (uint8_t i = 0; i < ackLng; i++) { + UsiTwiTransmitByte(reply[i]); + } + } + else { + UsiTwiTransmitByte(UNKNOWNC); /* Incorrect command received */ + } + break; + } +#endif + // ****************** + // * INITTINY Reply * + // ****************** + case INITTINY: { + #define INITTINY_RPLYLN 1 + byte reply[INITTINY_RPLYLN] = { 0 }; + reply[0] = opCodeAck; + //statusRegister |= (1 << (SR_INIT_1 - 1)) + (1 << (SR_INIT_2 - 1)); /* Single-step init */ + statusRegister |= (1 << SR_INIT_1); /* Two-step init step 1: receive INITTINY command */ + for (byte i = 0; i < INITTINY_RPLYLN; i++) { + UsiTwiTransmitByte(reply[i]); + } + break; + } + default: { + for (byte i = 0; i < commandLength; i++) { + UsiTwiTransmitByte(UNKNOWNC); + } + break; + } + } +} + +// Function DisableWatchDog +void DisableWatchDog(void) { + MCUSR = 0; + WDTCR = ((1 << WDCE) | (1 << WDE)); + WDTCR = ((1 << WDP2) | (1 << WDP1) | (1 << WDP0)); +} + +// Function SetCPUSpeed8MHz +void SetCPUSpeed8MHz(void) { + cli(); + CLKPR = (1 << CLKPCE); + CLKPR = (0x00); +} + +// Function DeleteFlash +void DeleteFlash(void) { + word pageAddress = TIMONEL_START; + while (pageAddress != RESET_PAGE) { + pageAddress -= PAGE_SIZE; + boot_page_erase(pageAddress); + } + flashPageAddr = pageAddress; +} + +// Function FixResetVector +void FixResetVector() { + pageBuffer[0] = (byte)((0xC000 + (TIMONEL_START / 2) - 1) & 0xff); + pageBuffer[1] = (byte)((0xC000 + (TIMONEL_START / 2) - 1) >> 8); +} + +// Function FlashPage +void FlashPage(word pageAddress) { + pageAddress &= ~(PAGE_SIZE - 1); /* Keep only pages' base addresses */ + if (pageAddress == RESET_PAGE) { + CalculateTrampoline(pageBuffer[0], pageBuffer[1]); + FixResetVector(); + } + if (pageAddress == (TIMONEL_START - PAGE_SIZE)) { + pageBuffer[62] = tplJumpLowByte; /* If the application also uses the trampoline */ + pageBuffer[63] = tplJumpHighByte; /* page, we fix again the trampoline bytes ... */ + } + if (pageAddress >= TIMONEL_START) { + return; /* Protect the bootloader section */ + } + FlashRaw(pageAddress); + if (pageAddress == RESET_PAGE) { + CreateTrampoline(); + flashPageAddr = RESET_PAGE; + } +} + +// Function FlashRaw +void FlashRaw(word pageAddress) { + for (byte i = 0; i < PAGE_SIZE; i += 2) { + word tempWord = ((pageBuffer[i + 1] << 8) | pageBuffer[i]); + boot_spm_busy_wait(); + boot_page_fill(pageAddress + i, tempWord); + } + boot_spm_busy_wait(); + boot_page_write(pageAddress); +} + +// Function CreateTrampoline +void CreateTrampoline(void) { + if (flashPageAddr < (TIMONEL_START - PAGE_SIZE)) { + flashPageAddr = TIMONEL_START - PAGE_SIZE; + for (int i = 0; i < PAGE_SIZE - 2; i++) { + pageBuffer[i] = 0xff; + } + pageBuffer[62] = tplJumpLowByte; + pageBuffer[63] = tplJumpHighByte; + FlashRaw(flashPageAddr); + } +} + +// Function CalculateTrampoline +void CalculateTrampoline(byte applJumpLowByte, byte applJumpHighByte) { + word jumpOffset = (~(TIMONEL_START - (((((applJumpHighByte << 8) + applJumpLowByte) + 1) & 0x0FFF) << 1)) >> 1); + jumpOffset++; + tplJumpLowByte = (jumpOffset & 0xFF); + tplJumpHighByte = (((jumpOffset & 0xF00) >> 8) + 0xC0); +} diff --git a/timonel-hexparser/appl-payload/payload.h b/timonel-hexparser/appl-payload/payload.h index 9b589418..f83973ab 100644 --- a/timonel-hexparser/appl-payload/payload.h +++ b/timonel-hexparser/appl-payload/payload.h @@ -3,7 +3,7 @@ // Start Address: 0x0 // End Address: 0x4bc // -const byte payldType = 0; /* Application Payload */ +const byte payldType = 0; /* Application Payload (SOS Blinker) */ const byte payload[1213] = { 0x0e, 0xc0, 0x28, 0xc0, 0x27, 0xc0, 0x26, 0xc0, diff --git a/timonel-i2cmaster/Payloads/payload.h b/timonel-i2cmaster/Payloads/payload.h index 8016849a..f83973ab 100644 --- a/timonel-i2cmaster/Payloads/payload.h +++ b/timonel-i2cmaster/Payloads/payload.h @@ -1,20 +1,165 @@ -// This file contains a new Timonel bootloader version and the Updater -// code in C header format to include into the I2C master source code. -// Please verify that the I2C master source have this line: -// -// #include "payload.h". -// -// Use generate-data.rb with ruby 1.9 or 2.0 to generate these -// values from a Timonel+Updater hex file (tml-updater.hex). -// The MAKE_RELEASE script generates this automatically ... + // -// Updater starting address: 0 +// Start Address: 0x0 +// End Address: 0x4bc // -// Generated from ./tmlupd-flashable/tml-updater.hex at 2018-09-16 18:49:08 -0300 by gcasanova +const byte payldType = 0; /* Application Payload (SOS Blinker) */ -const byte payldType = 1; /* Timonel Updater Payload */ - -const uint8_t payload[2284] = { -0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xc2, 0x0f, 0xc3, 0x0e, 0xc3, 0x0d, 0xc3, 0x0c, 0xc3, 0x0b, 0xc3, 0x0a, 0xc3, 0x09, 0xc3, 0x08, 0xc3, 0x07, 0xc3, 0x06, 0xc3, 0x05, 0xc3, 0x04, 0xc3, 0x03, 0xc3, 0x02, 0xc3, 0x00, 0xc0, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xcd, 0xbf, 0xde, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xe8, 0xef, 0xff, 0xe1, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa6, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x20, 0xe0, 0xa6, 0xe6, 0xb0, 0xe0, 0x01, 0xc0, 0x1d, 0x92, 0xaf, 0x3e, 0xb2, 0x07, 0xe1, 0xf7, 0x56, 0xc1, 0xcf, 0x93, 0x80, 0x93, 0x6e, 0x00, 0xc0, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0xc8, 0x17, 0x10, 0xf0, 0xcf, 0x91, 0x08, 0x95, 0x06, 0xd2, 0xec, 0x2f, 0xf0, 0xe0, 0xe1, 0x59, 0xff, 0x4f, 0x80, 0x83, 0xcf, 0x5f, 0xf2, 0xcf, 0xef, 0x92, 0xff, 0x92, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0x28, 0x97, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x6f, 0x00, 0x84, 0x3a, 0x09, 0xf4, 0x4c, 0xc0, 0x70, 0xf4, 0x81, 0x38, 0x09, 0xf4, 0x7b, 0xc0, 0x83, 0x3a, 0xb1, 0xf0, 0x10, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0x18, 0x17, 0xa0, 0xf5, 0x8f, 0xef, 0xc9, 0xd1, 0x1f, 0x5f, 0xf8, 0xcf, 0x87, 0x3a, 0x09, 0xf4, 0x40, 0xc0, 0x88, 0x3a, 0x91, 0xf7, 0x87, 0xe5, 0xc0, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x80, 0x61, 0x80, 0x93, 0x6b, 0x00, 0x23, 0xc0, 0x1e, 0x82, 0x1d, 0x82, 0x8c, 0xe5, 0x89, 0x83, 0x8e, 0xe4, 0x8a, 0x83, 0x82, 0xe4, 0x8b, 0x83, 0x84, 0xe5, 0x8c, 0x83, 0x87, 0xe4, 0x8e, 0x83, 0x8a, 0xe1, 0x8f, 0x83, 0x80, 0xe4, 0x88, 0x87, 0x80, 0x91, 0x6b, 0x00, 0x82, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x8e, 0x01, 0x0f, 0x5f, 0x1f, 0x4f, 0x7e, 0x01, 0x89, 0xe0, 0xe8, 0x0e, 0xf1, 0x1c, 0xf8, 0x01, 0x81, 0x91, 0x8f, 0x01, 0x9a, 0xd1, 0x0e, 0x15, 0x1f, 0x05, 0xc9, 0xf7, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x08, 0x95, 0x8b, 0xe5, 0x88, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x84, 0x60, 0xc7, 0xcf, 0x80, 0x91, 0x68, 0x00, 0xa0, 0xe7, 0xb0, 0xe0, 0x28, 0xe0, 0x28, 0x0f, 0x10, 0xe0, 0x9d, 0x91, 0xe8, 0x2f, 0xf0, 0xe0, 0xe5, 0x55, 0xff, 0x4f, 0x90, 0x83, 0x19, 0x0f, 0x8f, 0x5f, 0x82, 0x13, 0xf6, 0xcf, 0x80, 0x93, 0x68, 0x00, 0x80, 0x91, 0x78, 0x00, 0x18, 0x17, 0x31, 0xf0, 0x80, 0x91, 0x6b, 0x00, 0x87, 0x7f, 0x84, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x88, 0xe5, 0x65, 0xd1, 0x81, 0x2f, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x57, 0xc1, 0x80, 0x91, 0x6b, 0x00, 0x81, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x8e, 0xe7, 0xec, 0xcf, 0x14, 0xbe, 0x88, 0xe1, 0x81, 0xbd, 0x87, 0xe0, 0x81, 0xbd, 0x08, 0x95, 0xf8, 0x94, 0x80, 0xe8, 0x86, 0xbd, 0x16, 0xbc, 0x08, 0x95, 0xe0, 0xe4, 0xfa, 0xe1, 0xe0, 0x54, 0xf1, 0x09, 0x83, 0xe0, 0x80, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x30, 0x97, 0xc1, 0xf7, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x08, 0x95, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xe1, 0x80, 0x83, 0x8d, 0xec, 0x81, 0x83, 0x08, 0x95, 0xab, 0xea, 0xb0, 0xe0, 0x30, 0xe0, 0x20, 0xe0, 0x11, 0x96, 0x5c, 0x91, 0x11, 0x97, 0x4c, 0x91, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x61, 0xe0, 0x0a, 0x01, 0x60, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x2e, 0x5f, 0x3f, 0x4f, 0x12, 0x96, 0x20, 0x34, 0x31, 0x05, 0x51, 0xf7, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x08, 0x95, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x81, 0x15, 0x9a, 0x41, 0xc8, 0xf4, 0x80, 0xe0, 0x9a, 0xe1, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xef, 0x81, 0x93, 0x80, 0xe0, 0xe9, 0x3e, 0xf8, 0x07, 0xd1, 0xf7, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0x80, 0xe0, 0x9a, 0xe1, 0xbd, 0xcf, 0x08, 0x95, 0x70, 0xe0, 0x76, 0x2f, 0x66, 0x27, 0x68, 0x0f, 0x71, 0x1d, 0x6f, 0x5f, 0x7f, 0x4f, 0x66, 0x0f, 0x77, 0x1f, 0x6e, 0x7f, 0x7f, 0x71, 0x80, 0xe4, 0x9a, 0xe1, 0x86, 0x1b, 0x97, 0x0b, 0x95, 0x95, 0x87, 0x95, 0x91, 0x95, 0x81, 0x95, 0x91, 0x09, 0x80, 0x93, 0x67, 0x00, 0x89, 0x2f, 0x8f, 0x70, 0x80, 0x54, 0x80, 0x93, 0x66, 0x00, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xec, 0x01, 0xc0, 0x7c, 0x20, 0x97, 0x81, 0xf4, 0x60, 0x91, 0xac, 0x00, 0x80, 0x91, 0xab, 0x00, 0xd9, 0xdf, 0x8d, 0xdf, 0xce, 0x01, 0x92, 0xdf, 0xcd, 0x2b, 0xb9, 0xf4, 0xb2, 0xdf, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x11, 0xc0, 0xc1, 0x15, 0x8a, 0xe1, 0xd8, 0x07, 0x49, 0xf4, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0xe9, 0xcf, 0xc0, 0x34, 0x8a, 0xe1, 0xd8, 0x07, 0x28, 0xf3, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x54, 0xdf, 0xb9, 0x9a, 0x58, 0xdf, 0x85, 0xe1, 0x87, 0xd0, 0x8b, 0xe3, 0x9d, 0xe0, 0x90, 0x93, 0xaa, 0x00, 0x80, 0x93, 0xa9, 0x00, 0x8d, 0xe4, 0x9d, 0xe0, 0x90, 0x93, 0xec, 0x00, 0x80, 0x93, 0xeb, 0x00, 0x88, 0xe0, 0x80, 0x93, 0x6b, 0x00, 0xf8, 0x94, 0x80, 0x91, 0x6b, 0x00, 0x98, 0x2f, 0x93, 0x70, 0x93, 0x30, 0x59, 0xf1, 0x80, 0x91, 0x6c, 0x00, 0x90, 0x91, 0x6d, 0x00, 0x9c, 0x01, 0x2f, 0x5f, 0x3f, 0x4f, 0x30, 0x93, 0x6d, 0x00, 0x20, 0x93, 0x6c, 0x00, 0x01, 0x96, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x10, 0x92, 0x6d, 0x00, 0x10, 0x92, 0x6c, 0x00, 0x80, 0x91, 0x62, 0x00, 0x9f, 0xef, 0x98, 0x0f, 0x90, 0x93, 0x62, 0x00, 0x81, 0x11, 0x05, 0xc0, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x77, 0x9b, 0x02, 0xc0, 0x91, 0xd0, 0x77, 0x9a, 0x76, 0x9b, 0xd2, 0xcf, 0x9d, 0xd0, 0x76, 0x9a, 0xcf, 0xcf, 0x20, 0x91, 0x63, 0x00, 0x30, 0x91, 0x64, 0x00, 0xa9, 0x01, 0x41, 0x50, 0x51, 0x09, 0x50, 0x93, 0x64, 0x00, 0x40, 0x93, 0x63, 0x00, 0x23, 0x2b, 0x51, 0xf7, 0x88, 0x71, 0x88, 0x31, 0x29, 0xf4, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x6b, 0x00, 0x88, 0x71, 0x80, 0x31, 0x09, 0xf4, 0xff, 0xde, 0x80, 0x91, 0x6b, 0x00, 0x82, 0xff, 0x07, 0xc0, 0xc1, 0x9a, 0xf9, 0xde, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x68, 0x00, 0x80, 0x34, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x5d, 0xdf, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x80, 0x5c, 0x9f, 0x4f, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0x10, 0x92, 0x68, 0x00, 0x8f, 0xef, 0x9f, 0xe7, 0x90, 0x93, 0x64, 0x00, 0x80, 0x93, 0x63, 0x00, 0xb1, 0xcf, 0x10, 0x92, 0x95, 0x00, 0x10, 0x92, 0x96, 0x00, 0x10, 0x92, 0x94, 0x00, 0x10, 0x92, 0x82, 0x00, 0x10, 0x92, 0x83, 0x00, 0x10, 0x92, 0x81, 0x00, 0x80, 0x93, 0xa8, 0x00, 0x87, 0xb3, 0x85, 0x60, 0x87, 0xbb, 0xc2, 0x9a, 0xc0, 0x9a, 0xb8, 0x98, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x90, 0x91, 0x81, 0x00, 0x90, 0x31, 0xe1, 0xf3, 0xe0, 0x91, 0x83, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x83, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x83, 0x00, 0x80, 0x91, 0x81, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x81, 0x00, 0x08, 0x95, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0xe1, 0xf3, 0xe0, 0x91, 0x95, 0x00, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x91, 0x95, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x95, 0x00, 0x80, 0x91, 0x94, 0x00, 0x81, 0x50, 0x80, 0x93, 0x94, 0x00, 0x80, 0x81, 0x08, 0x95, 0x10, 0x92, 0xa7, 0x00, 0xb8, 0x98, 0xb2, 0x9b, 0x02, 0xc0, 0xb0, 0x9b, 0xfc, 0xcf, 0xb0, 0x99, 0x05, 0xc0, 0x88, 0xef, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x88, 0xea, 0xfa, 0xcf, 0x80, 0x91, 0xa7, 0x00, 0x82, 0x30, 0x09, 0xf4, 0x79, 0xc0, 0x38, 0xf4, 0x88, 0x23, 0x21, 0xf1, 0x81, 0x30, 0x09, 0xf4, 0x53, 0xc0, 0x76, 0x9a, 0x08, 0x95, 0x84, 0x30, 0x09, 0xf4, 0x75, 0xc0, 0x08, 0xf4, 0x44, 0xc0, 0x85, 0x30, 0xb9, 0xf7, 0x80, 0x91, 0x94, 0x00, 0x80, 0x31, 0x90, 0xf4, 0xe0, 0x91, 0x96, 0x00, 0x8f, 0xb1, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x96, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x96, 0x00, 0x80, 0x91, 0x94, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x94, 0x00, 0x84, 0xe0, 0x20, 0xc0, 0x8f, 0xb1, 0x88, 0x23, 0x31, 0xf0, 0x8f, 0xb1, 0x86, 0x95, 0x90, 0x91, 0xa8, 0x00, 0x89, 0x13, 0x1c, 0xc0, 0x78, 0x9b, 0xf3, 0xcf, 0xe0, 0x91, 0xa9, 0x00, 0xf0, 0x91, 0xaa, 0x00, 0x30, 0x97, 0x39, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0x19, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x09, 0x95, 0xe0, 0x91, 0xeb, 0x00, 0xf0, 0x91, 0xec, 0x00, 0x30, 0x97, 0x09, 0xf0, 0x09, 0x95, 0x81, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x9a, 0x32, 0xc0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0xb5, 0xcf, 0x8f, 0xb1, 0x88, 0x23, 0x29, 0xf0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0x08, 0x95, 0x80, 0x91, 0x81, 0x00, 0x88, 0x23, 0xb9, 0xf0, 0xe0, 0x91, 0x82, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x81, 0x8f, 0xb9, 0x80, 0x91, 0x82, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x82, 0x00, 0x80, 0x91, 0x81, 0x00, 0x81, 0x50, 0x80, 0x93, 0x81, 0x00, 0x82, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x9a, 0xda, 0xcf, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0x8e, 0xb9, 0xdb, 0xcf, 0x83, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0xcf, 0xcf, 0x85, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x98, 0xc9, 0xcf, 0x1f, 0x0d, 0x0f, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xde, 0xbf, 0xcd, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xea, 0xee, 0xf8, 0xe0, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa2, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x0d, 0xd1, 0x22, 0xc1, 0xee, 0xcc, 0xed, 0xe1, 0xf0, 0xe1, 0x31, 0x97, 0xf1, 0xf7, 0x01, 0x97, 0xd1, 0xf7, 0x08, 0x95, 0x80, 0x7c, 0xdb, 0x01, 0x30, 0xe0, 0x20, 0xe0, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x45, 0x91, 0x54, 0x91, 0x4d, 0x93, 0x5d, 0x93, 0x2e, 0x5f, 0x3f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0xa1, 0xf7, 0x08, 0x95, 0xfc, 0x01, 0xe0, 0x7c, 0x93, 0xe0, 0x90, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0x9b, 0x01, 0x20, 0x5c, 0x3f, 0x4f, 0xfc, 0x01, 0xeb, 0x01, 0xa9, 0x91, 0xb9, 0x91, 0xbe, 0x01, 0x41, 0xe0, 0x0d, 0x01, 0x40, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x32, 0x96, 0xc2, 0x17, 0xd3, 0x07, 0x91, 0xf7, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xb5, 0xdf, 0x8f, 0xef, 0x9f, 0xef, 0x9a, 0x83, 0x89, 0x83, 0x90, 0xe0, 0x80, 0xe0, 0xbf, 0xdf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xc3, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x10, 0xe0, 0x00, 0xe0, 0x00, 0x3c, 0xf5, 0xe0, 0x1f, 0x07, 0x61, 0xf4, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xa8, 0x01, 0x42, 0x56, 0x5f, 0x4f, 0x30, 0xe0, 0x20, 0xe0, 0xc9, 0x01, 0x8e, 0x7f, 0x66, 0xe0, 0x4c, 0x35, 0x56, 0x07, 0x30, 0xf1, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0x6f, 0xef, 0x7f, 0xef, 0xfc, 0x01, 0x71, 0x83, 0x60, 0x83, 0x2e, 0x5f, 0x3f, 0x4f, 0x4e, 0x5f, 0x5f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0x41, 0xf7, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x00, 0x5c, 0x1f, 0x4f, 0xbf, 0xcf, 0xfa, 0x01, 0x65, 0x91, 0x74, 0x91, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0xd8, 0xcf, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x96, 0x95, 0x87, 0x95, 0x81, 0x50, 0x90, 0x44, 0xfe, 0x01, 0x31, 0x96, 0x9e, 0x01, 0x2f, 0x5b, 0x3f, 0x4f, 0x8f, 0x01, 0x81, 0x93, 0x91, 0x93, 0xe2, 0x17, 0xf3, 0x07, 0xd9, 0xf7, 0x90, 0xe0, 0x80, 0xe0, 0x32, 0xdf, 0xb8, 0x01, 0x90, 0xe0, 0x80, 0xe0, 0x38, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xcf, 0x93, 0x87, 0xb3, 0x83, 0x60, 0x87, 0xbb, 0xc1, 0x98, 0xca, 0xef, 0x81, 0xe0, 0x90, 0xe0, 0x01, 0xdf, 0xc1, 0x9a, 0x81, 0xe0, 0x90, 0xe0, 0xfd, 0xde, 0xc1, 0x98, 0xc1, 0x50, 0xb1, 0xf7, 0xcf, 0x91, 0x08, 0x95, 0xf0, 0xe0, 0xe0, 0xe0, 0x09, 0x94, 0x88, 0xb3, 0x18, 0xba, 0x87, 0xb3, 0x8f, 0xef, 0x87, 0xbb, 0x8a, 0xef, 0x90, 0xe0, 0xed, 0xde, 0x87, 0xb3, 0x17, 0xba, 0x8a, 0xef, 0x90, 0xe0, 0xe8, 0xde, 0xf8, 0x94, 0x27, 0xdf, 0x4e, 0xdf, 0xa7, 0xdf, 0xd9, 0xdf, 0xea, 0xdf, 0x90, 0xe0, 0x80, 0xe0, 0x08, 0x95, 0xf8, 0x94, 0xff, 0xcf, 0x40, 0x1a +const byte payload[1213] = { + 0x0e, 0xc0, 0x28, 0xc0, 0x27, 0xc0, 0x26, 0xc0, + 0x25, 0xc0, 0x24, 0xc0, 0x23, 0xc0, 0x22, 0xc0, + 0x21, 0xc0, 0x20, 0xc0, 0x1f, 0xc0, 0x1e, 0xc0, + 0x1d, 0xc0, 0x1c, 0xc0, 0x1b, 0xc0, 0x11, 0x24, + 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xde, 0xbf, + 0xcd, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, + 0xe6, 0xeb, 0xf4, 0xe0, 0x02, 0xc0, 0x05, 0x90, + 0x0d, 0x92, 0xa6, 0x36, 0xb1, 0x07, 0xd9, 0xf7, + 0x20, 0xe0, 0xa6, 0xe6, 0xb0, 0xe0, 0x01, 0xc0, + 0x1d, 0x92, 0xa8, 0x36, 0xb2, 0x07, 0xe1, 0xf7, + 0xdd, 0xd0, 0x2f, 0xc2, 0xd5, 0xcf, 0xf8, 0x94, + 0x80, 0xe8, 0x86, 0xbd, 0x83, 0xe0, 0x86, 0xbd, + 0x17, 0xba, 0x18, 0xba, 0xb9, 0x9a, 0x08, 0x95, + 0x8f, 0x92, 0x9f, 0x92, 0xaf, 0x92, 0xbf, 0x92, + 0xcf, 0x92, 0xdf, 0x92, 0xef, 0x92, 0xff, 0x92, + 0xc1, 0x9a, 0x79, 0x2f, 0x68, 0x2f, 0x99, 0x0f, + 0x88, 0x0b, 0x99, 0x0b, 0xf7, 0xd0, 0x97, 0x2e, + 0x86, 0x2e, 0xb9, 0x2e, 0xa8, 0x2e, 0x20, 0xe0, + 0x30, 0xe0, 0x4a, 0xef, 0x54, 0xe4, 0x7a, 0xd1, + 0xd7, 0x2e, 0xc6, 0x2e, 0xf9, 0x2e, 0xe8, 0x2e, + 0x20, 0xe0, 0x30, 0xe0, 0x40, 0xe8, 0x5f, 0xe3, + 0xb3, 0xd0, 0x87, 0xfd, 0x5b, 0xc0, 0x20, 0xe0, + 0x3f, 0xef, 0x4f, 0xe7, 0x57, 0xe4, 0x9f, 0x2d, + 0x8e, 0x2d, 0x7d, 0x2d, 0x6c, 0x2d, 0x62, 0xd1, + 0x18, 0x16, 0x0c, 0xf0, 0x45, 0xc0, 0x20, 0xe0, + 0x30, 0xe0, 0x40, 0xe2, 0x51, 0xe4, 0x9b, 0x2d, + 0x8a, 0x2d, 0x79, 0x2d, 0x68, 0x2d, 0x5a, 0xd1, + 0x9f, 0xd0, 0x28, 0xec, 0x30, 0xe0, 0x61, 0x15, + 0x71, 0x05, 0x79, 0xf5, 0xc1, 0x98, 0x20, 0xe0, + 0x30, 0xe0, 0x40, 0xe8, 0x5f, 0xe3, 0x9f, 0x2d, + 0x8e, 0x2d, 0x7d, 0x2d, 0x6c, 0x2d, 0x8c, 0xd0, + 0x87, 0xfd, 0x48, 0xc0, 0x20, 0xe0, 0x3f, 0xef, + 0x4f, 0xe7, 0x57, 0xe4, 0x9f, 0x2d, 0x8e, 0x2d, + 0x7d, 0x2d, 0x6c, 0x2d, 0x3b, 0xd1, 0x18, 0x16, + 0x9c, 0xf5, 0x20, 0xe0, 0x30, 0xe0, 0x40, 0xe2, + 0x51, 0xe4, 0x9b, 0x2d, 0x8a, 0x2d, 0x79, 0x2d, + 0x68, 0x2d, 0x34, 0xd1, 0x79, 0xd0, 0x28, 0xec, + 0x30, 0xe0, 0x61, 0x15, 0x71, 0x05, 0xe9, 0xf4, + 0xff, 0x90, 0xef, 0x90, 0xdf, 0x90, 0xcf, 0x90, + 0xbf, 0x90, 0xaf, 0x90, 0x9f, 0x90, 0x8f, 0x90, + 0x08, 0x95, 0x93, 0x2f, 0x82, 0x2f, 0x01, 0x97, + 0xf1, 0xf7, 0x61, 0x50, 0x71, 0x09, 0xc7, 0xcf, + 0x9f, 0x2d, 0x8e, 0x2d, 0x7d, 0x2d, 0x6c, 0x2d, + 0x5f, 0xd0, 0x97, 0x2f, 0x86, 0x2f, 0x01, 0x97, + 0xf1, 0xf7, 0xc0, 0xcf, 0x61, 0xe0, 0x70, 0xe0, + 0xf8, 0xcf, 0x93, 0x2f, 0x82, 0x2f, 0x01, 0x97, + 0xf1, 0xf7, 0x61, 0x50, 0x71, 0x09, 0xd9, 0xcf, + 0x9f, 0x2d, 0x8e, 0x2d, 0x7d, 0x2d, 0x6c, 0x2d, + 0x4b, 0xd0, 0x97, 0x2f, 0x86, 0x2f, 0x01, 0x97, + 0xf1, 0xf7, 0xd2, 0xcf, 0x61, 0xe0, 0x70, 0xe0, + 0xf8, 0xcf, 0xf9, 0x2f, 0xe8, 0x2f, 0x80, 0x81, + 0x83, 0x35, 0x51, 0xf0, 0x28, 0xf4, 0x80, 0x32, + 0xc9, 0xf0, 0x8f, 0x34, 0x71, 0xf0, 0x08, 0x95, + 0x8f, 0x36, 0x59, 0xf0, 0x83, 0x37, 0xe1, 0xf4, + 0x82, 0xe3, 0x90, 0xe0, 0x59, 0xdf, 0x82, 0xe3, + 0x90, 0xe0, 0x56, 0xdf, 0x82, 0xe3, 0x90, 0xe0, + 0x53, 0xcf, 0x84, 0xe6, 0x90, 0xe0, 0x50, 0xdf, + 0x84, 0xe6, 0x90, 0xe0, 0x4d, 0xdf, 0x84, 0xe6, + 0x90, 0xe0, 0xf6, 0xcf, 0x80, 0xed, 0x97, 0xe0, + 0x28, 0xec, 0x30, 0xe0, 0xf3, 0x2f, 0xe2, 0x2f, + 0x31, 0x97, 0xf1, 0xf7, 0x01, 0x97, 0xd1, 0xf7, + 0x08, 0x95, 0x10, 0x92, 0x67, 0x00, 0x10, 0x92, + 0x66, 0x00, 0x80, 0xe6, 0x90, 0xe0, 0xcd, 0xdf, + 0x82, 0xe6, 0x90, 0xe0, 0xca, 0xdf, 0x80, 0xe6, + 0x90, 0xe0, 0xc7, 0xdf, 0x84, 0xe6, 0x90, 0xe0, + 0xc4, 0xdf, 0xef, 0xcf, 0x24, 0xdf, 0xed, 0xdf, + 0x6c, 0xd0, 0x08, 0xf4, 0x81, 0xe0, 0x08, 0x95, + 0x94, 0xd0, 0x88, 0xf0, 0x9f, 0x57, 0x90, 0xf0, + 0xb9, 0x2f, 0x99, 0x27, 0xb7, 0x51, 0xa0, 0xf0, + 0xd1, 0xf0, 0x66, 0x0f, 0x77, 0x1f, 0x88, 0x1f, + 0x99, 0x1f, 0x1a, 0xf0, 0xba, 0x95, 0xc9, 0xf7, + 0x12, 0xc0, 0xb1, 0x30, 0x81, 0xf0, 0x9b, 0xd0, + 0xb1, 0xe0, 0x08, 0x95, 0x98, 0xc0, 0x67, 0x2f, + 0x78, 0x2f, 0x88, 0x27, 0xb8, 0x5f, 0x39, 0xf0, + 0xb9, 0x3f, 0xcc, 0xf3, 0x86, 0x95, 0x77, 0x95, + 0x67, 0x95, 0xb3, 0x95, 0xd9, 0xf7, 0x3e, 0xf4, + 0x90, 0x95, 0x80, 0x95, 0x70, 0x95, 0x61, 0x95, + 0x7f, 0x4f, 0x8f, 0x4f, 0x9f, 0x4f, 0x08, 0x95, + 0xe8, 0x94, 0x09, 0xc0, 0x97, 0xfb, 0x3e, 0xf4, + 0x90, 0x95, 0x80, 0x95, 0x70, 0x95, 0x61, 0x95, + 0x7f, 0x4f, 0x8f, 0x4f, 0x9f, 0x4f, 0x99, 0x23, + 0xa9, 0xf0, 0xf9, 0x2f, 0x96, 0xe9, 0xbb, 0x27, + 0x93, 0x95, 0xf6, 0x95, 0x87, 0x95, 0x77, 0x95, + 0x67, 0x95, 0xb7, 0x95, 0xf1, 0x11, 0xf8, 0xcf, + 0xfa, 0xf4, 0xbb, 0x0f, 0x11, 0xf4, 0x60, 0xff, + 0x1b, 0xc0, 0x6f, 0x5f, 0x7f, 0x4f, 0x8f, 0x4f, + 0x9f, 0x4f, 0x16, 0xc0, 0x88, 0x23, 0x11, 0xf0, + 0x96, 0xe9, 0x11, 0xc0, 0x77, 0x23, 0x21, 0xf0, + 0x9e, 0xe8, 0x87, 0x2f, 0x76, 0x2f, 0x05, 0xc0, + 0x66, 0x23, 0x71, 0xf0, 0x96, 0xe8, 0x86, 0x2f, + 0x70, 0xe0, 0x60, 0xe0, 0x2a, 0xf0, 0x9a, 0x95, + 0x66, 0x0f, 0x77, 0x1f, 0x88, 0x1f, 0xda, 0xf7, + 0x88, 0x0f, 0x96, 0x95, 0x87, 0x95, 0x97, 0xf9, + 0x08, 0x95, 0x99, 0x0f, 0x00, 0x08, 0x55, 0x0f, + 0xaa, 0x0b, 0xe0, 0xe8, 0xfe, 0xef, 0x16, 0x16, + 0x17, 0x06, 0xe8, 0x07, 0xf9, 0x07, 0xc0, 0xf0, + 0x12, 0x16, 0x13, 0x06, 0xe4, 0x07, 0xf5, 0x07, + 0x98, 0xf0, 0x62, 0x1b, 0x73, 0x0b, 0x84, 0x0b, + 0x95, 0x0b, 0x39, 0xf4, 0x0a, 0x26, 0x61, 0xf0, + 0x23, 0x2b, 0x24, 0x2b, 0x25, 0x2b, 0x21, 0xf4, + 0x08, 0x95, 0x0a, 0x26, 0x09, 0xf4, 0xa1, 0x40, + 0xa6, 0x95, 0x8f, 0xef, 0x81, 0x1d, 0x81, 0x1d, + 0x08, 0x95, 0x57, 0xfd, 0x90, 0x58, 0x44, 0x0f, + 0x55, 0x1f, 0x59, 0xf0, 0x5f, 0x3f, 0x71, 0xf0, + 0x47, 0x95, 0x88, 0x0f, 0x97, 0xfb, 0x99, 0x1f, + 0x61, 0xf0, 0x9f, 0x3f, 0x79, 0xf0, 0x87, 0x95, + 0x08, 0x95, 0x12, 0x16, 0x13, 0x06, 0x14, 0x06, + 0x55, 0x1f, 0xf2, 0xcf, 0x46, 0x95, 0xf1, 0xdf, + 0x08, 0xc0, 0x16, 0x16, 0x17, 0x06, 0x18, 0x06, + 0x99, 0x1f, 0xf1, 0xcf, 0x86, 0x95, 0x71, 0x05, + 0x61, 0x05, 0x08, 0x94, 0x08, 0x95, 0xe8, 0x94, + 0xbb, 0x27, 0x66, 0x27, 0x77, 0x27, 0xcb, 0x01, + 0x97, 0xf9, 0x08, 0x95, 0xb2, 0xdf, 0x08, 0xf4, + 0x8f, 0xef, 0x08, 0x95, 0x0a, 0xd0, 0x80, 0xc0, + 0x71, 0xd0, 0x28, 0xf0, 0x76, 0xd0, 0x18, 0xf0, + 0x95, 0x23, 0x09, 0xf0, 0x62, 0xc0, 0x67, 0xc0, + 0xeb, 0xcf, 0xc7, 0xdf, 0xa8, 0xf3, 0x99, 0x23, + 0xd9, 0xf3, 0x55, 0x23, 0xc9, 0xf3, 0x95, 0x0f, + 0x50, 0xe0, 0x55, 0x1f, 0xaa, 0x27, 0xee, 0x27, + 0xff, 0x27, 0xbb, 0x27, 0x00, 0x24, 0x08, 0x94, + 0x67, 0x95, 0x20, 0xf4, 0xe2, 0x0f, 0xf3, 0x1f, + 0xb4, 0x1f, 0x0a, 0x1e, 0x22, 0x0f, 0x33, 0x1f, + 0x44, 0x1f, 0xaa, 0x1f, 0x66, 0x95, 0xa9, 0xf7, + 0x77, 0x95, 0x30, 0xf4, 0xf3, 0x0f, 0xb4, 0x1f, + 0x0a, 0x1e, 0x12, 0x1e, 0x08, 0xf4, 0x63, 0x95, + 0x33, 0x0f, 0x44, 0x1f, 0xaa, 0x1f, 0x22, 0x1f, + 0x76, 0x95, 0x99, 0xf7, 0x87, 0x95, 0x20, 0xf4, + 0xb4, 0x0f, 0x0a, 0x1e, 0x12, 0x1e, 0x63, 0x1f, + 0x44, 0x0f, 0xaa, 0x1f, 0x22, 0x1f, 0x33, 0x1f, + 0x86, 0x95, 0xa9, 0xf7, 0x86, 0x2f, 0x71, 0x2d, + 0x60, 0x2d, 0x11, 0x24, 0x9f, 0x57, 0x50, 0x40, + 0x8a, 0xf0, 0xe1, 0xf0, 0x88, 0x23, 0x4a, 0xf0, + 0xee, 0x0f, 0xff, 0x1f, 0xbb, 0x1f, 0x66, 0x1f, + 0x77, 0x1f, 0x88, 0x1f, 0x91, 0x50, 0x50, 0x40, + 0xa9, 0xf7, 0x9e, 0x3f, 0x51, 0x05, 0x70, 0xf0, + 0x14, 0xc0, 0x9e, 0xcf, 0x5f, 0x3f, 0xec, 0xf3, + 0x98, 0x3e, 0xdc, 0xf3, 0x86, 0x95, 0x77, 0x95, + 0x67, 0x95, 0xb7, 0x95, 0xf7, 0x95, 0xe7, 0x95, + 0x9f, 0x5f, 0xc1, 0xf7, 0xfe, 0x2b, 0x88, 0x0f, + 0x91, 0x1d, 0x96, 0x95, 0x87, 0x95, 0x97, 0xf9, + 0x08, 0x95, 0x97, 0xf9, 0x9f, 0x67, 0x80, 0xe8, + 0x70, 0xe0, 0x60, 0xe0, 0x08, 0x95, 0x9f, 0xef, + 0x80, 0xec, 0x08, 0x95, 0x00, 0x24, 0x0a, 0x94, + 0x16, 0x16, 0x17, 0x06, 0x18, 0x06, 0x09, 0x06, + 0x08, 0x95, 0x00, 0x24, 0x0a, 0x94, 0x12, 0x16, + 0x13, 0x06, 0x14, 0x06, 0x05, 0x06, 0x08, 0x95, + 0x09, 0x2e, 0x03, 0x94, 0x00, 0x0c, 0x11, 0xf4, + 0x88, 0x23, 0x52, 0xf0, 0xbb, 0x0f, 0x40, 0xf4, + 0xbf, 0x2b, 0x11, 0xf4, 0x60, 0xff, 0x04, 0xc0, + 0x6f, 0x5f, 0x7f, 0x4f, 0x8f, 0x4f, 0x9f, 0x4f, + 0x08, 0x95, 0xf8, 0x94, 0xff, 0xcf, 0x73, 0x00, + 0x6f, 0x00, 0x20, 0x00, 0xff }; +// +// Timonel Hex Parser done. Thank you! +// diff --git a/timonel-updater/tmlupd-flashable/tml-updater.hex b/timonel-updater/tmlupd-flashable/tml-updater.hex index 39398523..ecb815e0 100644 --- a/timonel-updater/tmlupd-flashable/tml-updater.hex +++ b/timonel-updater/tmlupd-flashable/tml-updater.hex @@ -1,139 +1,139 @@ :1000000003C003C003C003C003C003C003C003C0D8 -:10008000EDC20FC30EC30DC30CC30BC30AC309C318 -:1000900008C307C306C305C304C303C302C300C028 +:10008000EEC210C30FC30EC30DC30CC30BC30AC310 +:1000900009C308C307C306C305C304C303C300C021 :1000A00011241FBECFE5D2E0CDBFDEBF10E0A0E639 -:1000B000B0E0E8EFFFE102C005900D92A636B1076F +:1000B000B0E0EAEFFFE102C005900D92A636B1076D :1000C000D9F720E0A6E6B0E001C01D92AF3EB2072E -:1000D000E1F756C1CF9380936E00C0E080916E002F -:1000E000C81710F0CF91089506D2EC2FF0E0E15937 +:1000D000E1F757C1CF9380936E00C0E080916E002E +:1000E000C81710F0CF91089507D2EC2FF0E0E15936 :1000F000FF4F8083CF5FF2CFEF92FF920F931F935A :10010000CF93DF93CDB7DEB728970FB6F894DEBF55 -:100110000FBECDBF80916F00843A09F44CC070F4DB -:10012000813809F47BC0833AB1F010E080916E0011 -:100130001817A0F58FEFC9D11F5FF8CF873A09F4E0 -:1001400040C0883A91F787E5C0D180916B0080610B -:1001500080936B0023C01E821D828CE589838EE410 -:100160008A8382E48B8384E58C8387E48E838AE1AF +:100110000FBECDBF80916F00843A09F44DC070F4DA +:10012000813809F47CC0833AB1F010E080916E0010 +:100130001817A8F58FEFCAD11F5FF8CF873A09F4D7 +:1001400041C0883A91F787E5C1D180916B00806109 +:1001500080936B0024C01E821D828CE589838EE40F +:100160008A8382E48B8384E58C8388E08E838AE1B2 :100170008F8380E4888780916B00826080936B001E -:100180008E010F5F1F4F7E0189E0E80EF11CF80120 -:1001900081918F019AD10E151F05C9F728960FB6C8 -:1001A000F894DEBF0FBECDBFDF91CF911F910F91AD -:1001B000FF90EF9008958BE588D180916B0084606B -:1001C000C7CF80916800A0E7B0E028E0280F10E0DA -:1001D0009D91E82FF0E0E555FF4F9083190F8F5F59 -:1001E0008213F6CF8093680080917800181731F061 -:1001F00080916B00877F846080936B0088E565D178 -:10020000812F28960FB6F894DEBF0FBECDBFDF91C9 -:10021000CF911F910F91FF90EF9057C180916B008C -:10022000816080936B008EE7ECCF14BE88E181BDC6 -:1002300087E081BD0895F89480E886BD16BC0895D6 -:10024000E0E4FAE1E054F10983E080935700E89597 -:100250003097C1F710926A00109269000895EBEA96 -:10026000F0E08FE180838DEC81830895ABEAB0E00C -:1002700030E020E011965C9111974C9107B600FC9C -:10028000FDCFFC01E20FF31F61E00A01609357000C -:10029000E89511242E5F3F4F12962034310551F717 -:1002A00007B600FCFDCF25E0FC0120935700E89540 -:1002B00008958091690090916A0081159A41C8F46F -:1002C00080E09AE190936A0080936900EBEAF0E0A5 -:1002D0008FEF819380E0E93EF807D1F780916700C6 -:1002E0008093E900809166008093EA0080E09AE1C3 -:1002F000BDCF089570E0762F6627680F711D6F5F80 -:100300007F4F660F771F6E7F7F7180E49AE1861BB7 -:10031000970B9595879591958195910980936700A5 -:10032000892F8F708054809366000895CF93DF9358 -:10033000EC01C07C209781F46091AC008091AB000F -:10034000D9DF8DDFCE0192DFCD2BB9F4B2DF109271 -:100350006A001092690011C0C1158AE1D80749F4FA -:10036000809167008093E900809166008093EA00A5 -:10037000E9CFC0348AE1D80728F3DF91CF910895FF -:1003800054DFB99A58DF85E187D08BE39DE09093E5 -:10039000AA008093A9008DE49DE09093EC008093E7 -:1003A000EB0088E080936B00F89480916B00982FAD -:1003B0009370933059F180916C0090916D009C0185 -:1003C0002F5F3F4F30936D0020936C000196A9F48E -:1003D00088B392E0892788BB10926D0010926C0060 -:1003E000809162009FEF980F90936200811105C089 -:1003F000E0916000F09161000995779B02C091D077 -:10040000779A769BD2CF9DD0769ACFCF20916300FA -:1004100030916400A9014150510950936400409308 -:100420006300232B51F78871883129F4E091600033 -:10043000F0916100099580916B008871803109F419 -:10044000FFDE80916B0082FF07C0C19AF9DEE09168 -:100450006000F09161000995809168008034A9F4F2 -:1004600088B392E0892788BB8091690090916A00E7 -:100470005DDF8091690090916A00805C9F4F90934E -:100480006A0080936900109268008FEF9FE7909355 -:10049000640080936300B1CF109295001092960093 -:1004A00010929400109282001092830010928100AA -:1004B0008093A80087B3856087BBC29AC09AB8981A -:1004C00088EA8DB980EF8EB90895909181009031BE -:1004D000E1F3E0918300F0E0EC57FF4F80838091DF -:1004E00083008F5F8F7080938300809181008F5F86 -:1004F000809381000895809194008823E1F3E09136 -:100500009500F0E0E956FF4F809195008F5F8F7066 -:100510008093950080919400815080939400808115 -:1005200008951092A700B898B29B02C0B09BFCCF70 -:10053000B09905C088EF8DB980EF8EB9089588EA2B -:10054000FACF8091A700823009F479C038F488236B -:1005500021F1813009F453C0769A0895843009F46A -:1005600075C008F444C08530B9F78091940080319B -:1005700090F4E09196008FB1F0E0E956FF4F808350 -:10058000809196008F5F8F70809396008091940089 -:100590008F5F8093940084E020C08FB1882331F076 -:1005A0008FB186959091A80089131CC0789BF3CFDA -:1005B000E091A900F091AA00309739F08091940061 -:1005C000882319F0809194000995E091EB00F09157 -:1005D000EC00309709F0099581E08093A7001FB8DF -:1005E000B89A32C088EA8DB980E78EB9B5CF8FB19D -:1005F000882329F088EA8DB980E78EB90895809123 -:1006000081008823B9F0E0918200F0E0EC57FF4FC1 -:1006100080818FB9809182008F5F8F70809382007C -:100620008091810081508093810082E08093A700B7 -:10063000B89ADACF1FB8B8988EE78EB9DBCF83E0CF -:100640008093A7001FB8B8988EE7CFCF85E080933E -:10065000A700B898C9CF1F0D0FFF7F000000000052 +:10018000C1988E010F5F1F4F7E0189E0E80EF11CC0 +:10019000F80181918F019AD10E151F05C9F7289694 +:1001A0000FB6F894DEBF0FBECDBFDF91CF911F9188 +:1001B0000F91FF90EF9008958BE588D180916B00AF +:1001C0008460C6CF80916800A0E7B0E028E0280FE7 +:1001D00010E09D91E82FF0E0E555FF4F9083190F57 +:1001E0008F5F8213F6CF8093680080917800181794 +:1001F00031F080916B00877F846080936B0088E58D +:1002000065D1812F28960FB6F894DEBF0FBECDBF03 +:10021000DF91CF911F910F91FF90EF9057C1809187 +:100220006B00816080936B008EE7ECCF14BE88E199 +:1002300081BD87E081BD0895F89480E886BD16BC35 +:100240000895E0E4FAE1E054F10983E08093570077 +:10025000E8953097C1F710926A00109269000895EE +:10026000EBEAF0E08FE180838DEC81830895ABEAC7 +:10027000B0E030E020E011965C9111974C9107B608 +:1002800000FCFDCFFC01E20FF31F61E00A01609367 +:100290005700E89511242E5F3F4F12962034310508 +:1002A00051F707B600FCFDCF25E0FC012093570075 +:1002B000E89508958091690090916A0081159A41AE +:1002C000C8F480E09AE190936A0080936900EBEAB9 +:1002D000F0E08FEF819380E0E93EF807D1F780915D +:1002E00067008093E900809166008093EA0080E0D7 +:1002F0009AE1BDCF089570E0762F6627680F711DD3 +:100300006F5F7F4F660F771F6E7F7F7180E49AE18A +:10031000861B970B9595879591958195910980936B +:100320006700892F8F708054809366000895CF9363 +:10033000DF93EC01C07C209781F46091AC00809148 +:10034000AB00D9DF8DDFCE0192DFCD2BB9F4B2DF68 +:1003500010926A001092690011C0C1158AE1D80795 +:1003600049F4809167008093E90080916600809352 +:10037000EA00E9CFC0348AE1D80728F3DF91CF91B2 +:10038000089554DFB99A58DF85E187D08BE39DE06B +:100390009093AA008093A9008DE49DE09093EC00D7 +:1003A0008093EB0088E080936B00F89480916B0061 +:1003B000982F9370933059F180916C0090916D005B +:1003C0009C012F5F3F4F30936D0020936C0001968E +:1003D000A9F488B392E0892788BB10926D0010922F +:1003E0006C00809162009FEF980F909362008111E2 +:1003F00005C0E0916000F09161000995779B02C013 +:1004000091D0779A769BD2CF9DD0769ACFCF2091FC +:10041000630030916400A901415051095093640078 +:1004200040936300232B51F78871883129F4E091C0 +:100430006000F0916100099580916B0088718031B6 +:1004400009F4FFDE80916B0082FF07C0C19AF9DEDC +:10045000E0916000F091610009958091680080341E +:10046000A9F488B392E0892788BB809169009091B4 +:100470006A005DDF8091690090916A00805C9F4F07 +:1004800090936A0080936900109268008FEF9FE755 +:100490009093640080936300B1CF10929500109206 +:1004A0009600109294001092820010928300109295 +:1004B00081008093A80087B3856087BBC29AC09AE9 +:1004C000B89888EA8DB980EF8EB90895909181002F +:1004D0009031E1F3E0918300F0E0EC57FF4F80832F +:1004E000809183008F5F8F70809383008091810063 +:1004F0008F5F809381000895809194008823E1F3B9 +:10050000E0919500F0E0E956FF4F809195008F5FF4 +:100510008F70809395008091940081508093940017 +:10052000808108951092A700B898B29B02C0B09B3A +:10053000FCCFB09905C088EF8DB980EF8EB90895D2 +:1005400088EAFACF8091A700823009F479C038F4A4 +:10055000882321F1813009F453C0769A08958430BC +:1005600009F475C008F444C08530B9F7809194004F +:10057000803190F4E09196008FB1F0E0E956FF4FA2 +:100580008083809196008F5F8F708093960080911A +:1005900094008F5F8093940084E020C08FB1882303 +:1005A00031F08FB186959091A80089131CC0789B7B +:1005B000F3CFE091A900F091AA00309739F0809133 +:1005C0009400882319F0809194000995E091EB0044 +:1005D000F091EC00309709F0099581E08093A70035 +:1005E0001FB8B89A32C088EA8DB980E78EB9B5CF06 +:1005F0008FB1882329F088EA8DB980E78EB90895F4 +:10060000809181008823B9F0E0918200F0E0EC57FE +:10061000FF4F80818FB9809182008F5F8F708093B0 +:1006200082008091810081508093810082E08093DC +:10063000A700B89ADACF1FB8B8988EE78EB9DBCF8B +:1006400083E08093A7001FB8B8988EE7CFCF85E0EE +:100650008093A700B898C9CF1F0D14FF7F0000003A :10066000000000000000000000000000000000008A -:1006700000000000000000000000000011241FBE68 -:10068000CFE5D2E0DEBFCDBF10E0A0E6B0E0EAEEFD -:10069000F8E002C005900D92A236B107D9F70DD14E -:1006A00022C1EECCEDE1F0E13197F1F70197D1F7FE -:1006B0000895807CDB0130E020E0FC01E20FF31FB5 -:1006C000459154914D935D932E5F3F4F20343105FA -:1006D000A1F70895FC01E07C93E090935700E89522 -:1006E00007B600FCFDCF0895CF93DF939B01205CFC -:1006F0003F4FFC01EB01A991B991BE0141E00D0111 -:1007000040935700E89511243296C217D30791F70A -:1007100025E0FC0120935700E89507B600FCFDCFCB -:10072000DF91CF910895CF93DF93CDB7DEB7C0545B -:10073000D1090FB6F894DEBF0FBECDBFBE016F5F0B -:100740007F4F90E080E0B5DF8FEF9FEF9A83898342 -:1007500090E080E0BFDFBE016F5F7F4F90E080E000 -:10076000C3DFC05CDF4F0FB6F894DEBF0FBECDBF56 -:10077000DF91CF9108950F931F93CF93DF93CDB760 -:10078000DEB7C054D1090FB6F894DEBF0FBECDBF9F -:1007900010E000E0003CF5E01F0761F4C05CDF4FB3 -:1007A0000FB6F894DEBF0FBECDBFDF91CF911F9182 -:1007B0000F910895A80142565F4F30E020E0C90133 -:1007C0008E7F66E04C35560730F1E1E0F0E0EC0F4B -:1007D000FD1F8E0F9F1F6FEF7FEFFC017183608302 -:1007E0002E5F3F4F4E5F5F4F2034310541F78091C0 -:1007F000600090916100800F911F6CDF809160001C -:1008000090916100BE016F5F7F4F800F911F6CDF81 -:10081000005C1F4FBFCFFA0165917491E1E0F0E0F9 -:10082000EC0FFD1F8E0F9F1FD8CF0F931F93CF93F9 -:10083000DF93CDB7DEB7C054D1090FB6F894DEBF51 -:100840000FBECDBF80916000909161009695879515 -:1008500081509044FE0131969E012F5B3F4F8F01E6 -:1008600081939193E217F307D9F790E080E032DFAC -:10087000B80190E080E038DFC05CDF4F0FB6F8943D -:10088000DEBF0FBECDBFDF91CF911F910F910895B5 -:10089000CF9387B3836087BBC198CAEF81E090E0B4 -:1008A00001DFC19A81E090E0FDDEC198C150B1F74F -:1008B000CF910895F0E0E0E0099488B318BA87B3C7 -:1008C0008FEF87BB8AEF90E0EDDE87B317BA8AEF30 -:1008D00090E0E8DEF89427DF4EDFA7DFD9DFEADF1C -:0A08E00090E080E00895F894FFCF47 -:0208EA00401AB2 +:100670000000000000000000000000000000112445 +:100680001FBECFE5D2E0DEBFCDBF10E0A0E6B0E0F8 +:10069000ECEEF8E002C005900D92A236B107D9F752 +:1006A0000DD122C1EDCCEDE1F0E13197F1F70197E9 +:1006B000D1F70895807CDB0130E020E0FC01E20FFF +:1006C000F31F459154914D935D932E5F3F4F20341E +:1006D0003105A1F70895FC01E07C93E09093570069 +:1006E000E89507B600FCFDCF0895CF93DF939B01FB +:1006F000205C3F4FFC01EB01A991B991BE0141E0A3 +:100700000D0140935700E89511243296C217D30784 +:1007100091F725E0FC0120935700E89507B600FC0F +:10072000FDCFDF91CF910895CF93DF93CDB7DEB7A3 +:10073000C054D1090FB6F894DEBF0FBECDBFBE01C5 +:100740006F5F7F4F90E080E0B5DF8FEF9FEF9A8380 +:10075000898390E080E0BFDFBE016F5F7F4F90E054 +:1007600080E0C3DFC05CDF4F0FB6F894DEBF0FBE82 +:10077000CDBFDF91CF9108950F931F93CF93DF9358 +:10078000CDB7DEB7C054D1090FB6F894DEBF0FBEA7 +:10079000CDBF10E000E0003CF5E01F0761F4C05C55 +:1007A000DF4F0FB6F894DEBF0FBECDBFDF91CF9104 +:1007B0001F910F910895A80142565F4F30E020E04D +:1007C000C9018E7F66E04E35560730F1E1E0F0E07A +:1007D000EC0FFD1F8E0F9F1F6FEF7FEFFC017183EA +:1007E00060832E5F3F4F4E5F5F4F2034310541F7EE +:1007F0008091600090916100800F911F6CDF80916B +:10080000600090916100BE016F5F7F4F800F911F6C +:100810006CDF005C1F4FBFCFFA0165917491E1E07E +:10082000F0E0EC0FFD1F8E0F9F1FD8CF0F931F938B +:10083000CF93DF93CDB7DEB7C054D1090FB6F8948C +:10084000DEBF0FBECDBF8091600090916100969594 +:10085000879581509044FE0131969E012F5B3F4F5A +:100860008F0181939193E217F307D9F790E080E02D +:1008700032DFB80190E080E038DFC05CDF4F0FB6B8 +:10088000F894DEBF0FBECDBFDF91CF911F910F91C6 +:100890000895CF9387B3836087BBC198CAEF81E087 +:1008A00090E001DFC19A81E090E0FDDEC198C15087 +:1008B000B1F7CF910895F0E0E0E0099488B318BA59 +:1008C00087B38FEF87BB8AEF90E0EDDE87B317BA6F +:1008D0008AEF90E0E8DEF89427DF4EDFA7DFD9DF6C +:0C08E000EADF90E080E00895F894FFCF7C +:0208EC00401AB0 :040000030000008079 :00000001FF diff --git a/timonel-updater/tmlupd-payload/tml-payload.h b/timonel-updater/tmlupd-payload/tml-payload.h index eb8163aa..23c88257 100644 --- a/timonel-updater/tmlupd-payload/tml-payload.h +++ b/timonel-updater/tmlupd-payload/tml-payload.h @@ -10,11 +10,11 @@ // // Updater starting address: 0 // -// Generated from ./tmlupd-flashable/tml-updater.hex at 2018-09-16 18:49:08 -0300 by gcasanova +// Generated from ./tmlupd-flashable/tml-updater.hex at 2018-09-26 16:54:58 -0300 by gcasanova const byte payldType = 1; /* Timonel Updater Payload */ -const uint8_t payload[2284] = { -0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xc2, 0x0f, 0xc3, 0x0e, 0xc3, 0x0d, 0xc3, 0x0c, 0xc3, 0x0b, 0xc3, 0x0a, 0xc3, 0x09, 0xc3, 0x08, 0xc3, 0x07, 0xc3, 0x06, 0xc3, 0x05, 0xc3, 0x04, 0xc3, 0x03, 0xc3, 0x02, 0xc3, 0x00, 0xc0, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xcd, 0xbf, 0xde, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xe8, 0xef, 0xff, 0xe1, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa6, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x20, 0xe0, 0xa6, 0xe6, 0xb0, 0xe0, 0x01, 0xc0, 0x1d, 0x92, 0xaf, 0x3e, 0xb2, 0x07, 0xe1, 0xf7, 0x56, 0xc1, 0xcf, 0x93, 0x80, 0x93, 0x6e, 0x00, 0xc0, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0xc8, 0x17, 0x10, 0xf0, 0xcf, 0x91, 0x08, 0x95, 0x06, 0xd2, 0xec, 0x2f, 0xf0, 0xe0, 0xe1, 0x59, 0xff, 0x4f, 0x80, 0x83, 0xcf, 0x5f, 0xf2, 0xcf, 0xef, 0x92, 0xff, 0x92, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0x28, 0x97, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x6f, 0x00, 0x84, 0x3a, 0x09, 0xf4, 0x4c, 0xc0, 0x70, 0xf4, 0x81, 0x38, 0x09, 0xf4, 0x7b, 0xc0, 0x83, 0x3a, 0xb1, 0xf0, 0x10, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0x18, 0x17, 0xa0, 0xf5, 0x8f, 0xef, 0xc9, 0xd1, 0x1f, 0x5f, 0xf8, 0xcf, 0x87, 0x3a, 0x09, 0xf4, 0x40, 0xc0, 0x88, 0x3a, 0x91, 0xf7, 0x87, 0xe5, 0xc0, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x80, 0x61, 0x80, 0x93, 0x6b, 0x00, 0x23, 0xc0, 0x1e, 0x82, 0x1d, 0x82, 0x8c, 0xe5, 0x89, 0x83, 0x8e, 0xe4, 0x8a, 0x83, 0x82, 0xe4, 0x8b, 0x83, 0x84, 0xe5, 0x8c, 0x83, 0x87, 0xe4, 0x8e, 0x83, 0x8a, 0xe1, 0x8f, 0x83, 0x80, 0xe4, 0x88, 0x87, 0x80, 0x91, 0x6b, 0x00, 0x82, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x8e, 0x01, 0x0f, 0x5f, 0x1f, 0x4f, 0x7e, 0x01, 0x89, 0xe0, 0xe8, 0x0e, 0xf1, 0x1c, 0xf8, 0x01, 0x81, 0x91, 0x8f, 0x01, 0x9a, 0xd1, 0x0e, 0x15, 0x1f, 0x05, 0xc9, 0xf7, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x08, 0x95, 0x8b, 0xe5, 0x88, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x84, 0x60, 0xc7, 0xcf, 0x80, 0x91, 0x68, 0x00, 0xa0, 0xe7, 0xb0, 0xe0, 0x28, 0xe0, 0x28, 0x0f, 0x10, 0xe0, 0x9d, 0x91, 0xe8, 0x2f, 0xf0, 0xe0, 0xe5, 0x55, 0xff, 0x4f, 0x90, 0x83, 0x19, 0x0f, 0x8f, 0x5f, 0x82, 0x13, 0xf6, 0xcf, 0x80, 0x93, 0x68, 0x00, 0x80, 0x91, 0x78, 0x00, 0x18, 0x17, 0x31, 0xf0, 0x80, 0x91, 0x6b, 0x00, 0x87, 0x7f, 0x84, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x88, 0xe5, 0x65, 0xd1, 0x81, 0x2f, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x57, 0xc1, 0x80, 0x91, 0x6b, 0x00, 0x81, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x8e, 0xe7, 0xec, 0xcf, 0x14, 0xbe, 0x88, 0xe1, 0x81, 0xbd, 0x87, 0xe0, 0x81, 0xbd, 0x08, 0x95, 0xf8, 0x94, 0x80, 0xe8, 0x86, 0xbd, 0x16, 0xbc, 0x08, 0x95, 0xe0, 0xe4, 0xfa, 0xe1, 0xe0, 0x54, 0xf1, 0x09, 0x83, 0xe0, 0x80, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x30, 0x97, 0xc1, 0xf7, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x08, 0x95, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xe1, 0x80, 0x83, 0x8d, 0xec, 0x81, 0x83, 0x08, 0x95, 0xab, 0xea, 0xb0, 0xe0, 0x30, 0xe0, 0x20, 0xe0, 0x11, 0x96, 0x5c, 0x91, 0x11, 0x97, 0x4c, 0x91, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x61, 0xe0, 0x0a, 0x01, 0x60, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x2e, 0x5f, 0x3f, 0x4f, 0x12, 0x96, 0x20, 0x34, 0x31, 0x05, 0x51, 0xf7, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x08, 0x95, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x81, 0x15, 0x9a, 0x41, 0xc8, 0xf4, 0x80, 0xe0, 0x9a, 0xe1, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xef, 0x81, 0x93, 0x80, 0xe0, 0xe9, 0x3e, 0xf8, 0x07, 0xd1, 0xf7, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0x80, 0xe0, 0x9a, 0xe1, 0xbd, 0xcf, 0x08, 0x95, 0x70, 0xe0, 0x76, 0x2f, 0x66, 0x27, 0x68, 0x0f, 0x71, 0x1d, 0x6f, 0x5f, 0x7f, 0x4f, 0x66, 0x0f, 0x77, 0x1f, 0x6e, 0x7f, 0x7f, 0x71, 0x80, 0xe4, 0x9a, 0xe1, 0x86, 0x1b, 0x97, 0x0b, 0x95, 0x95, 0x87, 0x95, 0x91, 0x95, 0x81, 0x95, 0x91, 0x09, 0x80, 0x93, 0x67, 0x00, 0x89, 0x2f, 0x8f, 0x70, 0x80, 0x54, 0x80, 0x93, 0x66, 0x00, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xec, 0x01, 0xc0, 0x7c, 0x20, 0x97, 0x81, 0xf4, 0x60, 0x91, 0xac, 0x00, 0x80, 0x91, 0xab, 0x00, 0xd9, 0xdf, 0x8d, 0xdf, 0xce, 0x01, 0x92, 0xdf, 0xcd, 0x2b, 0xb9, 0xf4, 0xb2, 0xdf, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x11, 0xc0, 0xc1, 0x15, 0x8a, 0xe1, 0xd8, 0x07, 0x49, 0xf4, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0xe9, 0xcf, 0xc0, 0x34, 0x8a, 0xe1, 0xd8, 0x07, 0x28, 0xf3, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x54, 0xdf, 0xb9, 0x9a, 0x58, 0xdf, 0x85, 0xe1, 0x87, 0xd0, 0x8b, 0xe3, 0x9d, 0xe0, 0x90, 0x93, 0xaa, 0x00, 0x80, 0x93, 0xa9, 0x00, 0x8d, 0xe4, 0x9d, 0xe0, 0x90, 0x93, 0xec, 0x00, 0x80, 0x93, 0xeb, 0x00, 0x88, 0xe0, 0x80, 0x93, 0x6b, 0x00, 0xf8, 0x94, 0x80, 0x91, 0x6b, 0x00, 0x98, 0x2f, 0x93, 0x70, 0x93, 0x30, 0x59, 0xf1, 0x80, 0x91, 0x6c, 0x00, 0x90, 0x91, 0x6d, 0x00, 0x9c, 0x01, 0x2f, 0x5f, 0x3f, 0x4f, 0x30, 0x93, 0x6d, 0x00, 0x20, 0x93, 0x6c, 0x00, 0x01, 0x96, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x10, 0x92, 0x6d, 0x00, 0x10, 0x92, 0x6c, 0x00, 0x80, 0x91, 0x62, 0x00, 0x9f, 0xef, 0x98, 0x0f, 0x90, 0x93, 0x62, 0x00, 0x81, 0x11, 0x05, 0xc0, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x77, 0x9b, 0x02, 0xc0, 0x91, 0xd0, 0x77, 0x9a, 0x76, 0x9b, 0xd2, 0xcf, 0x9d, 0xd0, 0x76, 0x9a, 0xcf, 0xcf, 0x20, 0x91, 0x63, 0x00, 0x30, 0x91, 0x64, 0x00, 0xa9, 0x01, 0x41, 0x50, 0x51, 0x09, 0x50, 0x93, 0x64, 0x00, 0x40, 0x93, 0x63, 0x00, 0x23, 0x2b, 0x51, 0xf7, 0x88, 0x71, 0x88, 0x31, 0x29, 0xf4, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x6b, 0x00, 0x88, 0x71, 0x80, 0x31, 0x09, 0xf4, 0xff, 0xde, 0x80, 0x91, 0x6b, 0x00, 0x82, 0xff, 0x07, 0xc0, 0xc1, 0x9a, 0xf9, 0xde, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x68, 0x00, 0x80, 0x34, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x5d, 0xdf, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x80, 0x5c, 0x9f, 0x4f, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0x10, 0x92, 0x68, 0x00, 0x8f, 0xef, 0x9f, 0xe7, 0x90, 0x93, 0x64, 0x00, 0x80, 0x93, 0x63, 0x00, 0xb1, 0xcf, 0x10, 0x92, 0x95, 0x00, 0x10, 0x92, 0x96, 0x00, 0x10, 0x92, 0x94, 0x00, 0x10, 0x92, 0x82, 0x00, 0x10, 0x92, 0x83, 0x00, 0x10, 0x92, 0x81, 0x00, 0x80, 0x93, 0xa8, 0x00, 0x87, 0xb3, 0x85, 0x60, 0x87, 0xbb, 0xc2, 0x9a, 0xc0, 0x9a, 0xb8, 0x98, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x90, 0x91, 0x81, 0x00, 0x90, 0x31, 0xe1, 0xf3, 0xe0, 0x91, 0x83, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x83, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x83, 0x00, 0x80, 0x91, 0x81, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x81, 0x00, 0x08, 0x95, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0xe1, 0xf3, 0xe0, 0x91, 0x95, 0x00, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x91, 0x95, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x95, 0x00, 0x80, 0x91, 0x94, 0x00, 0x81, 0x50, 0x80, 0x93, 0x94, 0x00, 0x80, 0x81, 0x08, 0x95, 0x10, 0x92, 0xa7, 0x00, 0xb8, 0x98, 0xb2, 0x9b, 0x02, 0xc0, 0xb0, 0x9b, 0xfc, 0xcf, 0xb0, 0x99, 0x05, 0xc0, 0x88, 0xef, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x88, 0xea, 0xfa, 0xcf, 0x80, 0x91, 0xa7, 0x00, 0x82, 0x30, 0x09, 0xf4, 0x79, 0xc0, 0x38, 0xf4, 0x88, 0x23, 0x21, 0xf1, 0x81, 0x30, 0x09, 0xf4, 0x53, 0xc0, 0x76, 0x9a, 0x08, 0x95, 0x84, 0x30, 0x09, 0xf4, 0x75, 0xc0, 0x08, 0xf4, 0x44, 0xc0, 0x85, 0x30, 0xb9, 0xf7, 0x80, 0x91, 0x94, 0x00, 0x80, 0x31, 0x90, 0xf4, 0xe0, 0x91, 0x96, 0x00, 0x8f, 0xb1, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x96, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x96, 0x00, 0x80, 0x91, 0x94, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x94, 0x00, 0x84, 0xe0, 0x20, 0xc0, 0x8f, 0xb1, 0x88, 0x23, 0x31, 0xf0, 0x8f, 0xb1, 0x86, 0x95, 0x90, 0x91, 0xa8, 0x00, 0x89, 0x13, 0x1c, 0xc0, 0x78, 0x9b, 0xf3, 0xcf, 0xe0, 0x91, 0xa9, 0x00, 0xf0, 0x91, 0xaa, 0x00, 0x30, 0x97, 0x39, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0x19, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x09, 0x95, 0xe0, 0x91, 0xeb, 0x00, 0xf0, 0x91, 0xec, 0x00, 0x30, 0x97, 0x09, 0xf0, 0x09, 0x95, 0x81, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x9a, 0x32, 0xc0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0xb5, 0xcf, 0x8f, 0xb1, 0x88, 0x23, 0x29, 0xf0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0x08, 0x95, 0x80, 0x91, 0x81, 0x00, 0x88, 0x23, 0xb9, 0xf0, 0xe0, 0x91, 0x82, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x81, 0x8f, 0xb9, 0x80, 0x91, 0x82, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x82, 0x00, 0x80, 0x91, 0x81, 0x00, 0x81, 0x50, 0x80, 0x93, 0x81, 0x00, 0x82, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x9a, 0xda, 0xcf, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0x8e, 0xb9, 0xdb, 0xcf, 0x83, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0xcf, 0xcf, 0x85, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x98, 0xc9, 0xcf, 0x1f, 0x0d, 0x0f, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xde, 0xbf, 0xcd, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xea, 0xee, 0xf8, 0xe0, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa2, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x0d, 0xd1, 0x22, 0xc1, 0xee, 0xcc, 0xed, 0xe1, 0xf0, 0xe1, 0x31, 0x97, 0xf1, 0xf7, 0x01, 0x97, 0xd1, 0xf7, 0x08, 0x95, 0x80, 0x7c, 0xdb, 0x01, 0x30, 0xe0, 0x20, 0xe0, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x45, 0x91, 0x54, 0x91, 0x4d, 0x93, 0x5d, 0x93, 0x2e, 0x5f, 0x3f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0xa1, 0xf7, 0x08, 0x95, 0xfc, 0x01, 0xe0, 0x7c, 0x93, 0xe0, 0x90, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0x9b, 0x01, 0x20, 0x5c, 0x3f, 0x4f, 0xfc, 0x01, 0xeb, 0x01, 0xa9, 0x91, 0xb9, 0x91, 0xbe, 0x01, 0x41, 0xe0, 0x0d, 0x01, 0x40, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x32, 0x96, 0xc2, 0x17, 0xd3, 0x07, 0x91, 0xf7, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xb5, 0xdf, 0x8f, 0xef, 0x9f, 0xef, 0x9a, 0x83, 0x89, 0x83, 0x90, 0xe0, 0x80, 0xe0, 0xbf, 0xdf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xc3, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x10, 0xe0, 0x00, 0xe0, 0x00, 0x3c, 0xf5, 0xe0, 0x1f, 0x07, 0x61, 0xf4, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xa8, 0x01, 0x42, 0x56, 0x5f, 0x4f, 0x30, 0xe0, 0x20, 0xe0, 0xc9, 0x01, 0x8e, 0x7f, 0x66, 0xe0, 0x4c, 0x35, 0x56, 0x07, 0x30, 0xf1, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0x6f, 0xef, 0x7f, 0xef, 0xfc, 0x01, 0x71, 0x83, 0x60, 0x83, 0x2e, 0x5f, 0x3f, 0x4f, 0x4e, 0x5f, 0x5f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0x41, 0xf7, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x00, 0x5c, 0x1f, 0x4f, 0xbf, 0xcf, 0xfa, 0x01, 0x65, 0x91, 0x74, 0x91, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0xd8, 0xcf, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x96, 0x95, 0x87, 0x95, 0x81, 0x50, 0x90, 0x44, 0xfe, 0x01, 0x31, 0x96, 0x9e, 0x01, 0x2f, 0x5b, 0x3f, 0x4f, 0x8f, 0x01, 0x81, 0x93, 0x91, 0x93, 0xe2, 0x17, 0xf3, 0x07, 0xd9, 0xf7, 0x90, 0xe0, 0x80, 0xe0, 0x32, 0xdf, 0xb8, 0x01, 0x90, 0xe0, 0x80, 0xe0, 0x38, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xcf, 0x93, 0x87, 0xb3, 0x83, 0x60, 0x87, 0xbb, 0xc1, 0x98, 0xca, 0xef, 0x81, 0xe0, 0x90, 0xe0, 0x01, 0xdf, 0xc1, 0x9a, 0x81, 0xe0, 0x90, 0xe0, 0xfd, 0xde, 0xc1, 0x98, 0xc1, 0x50, 0xb1, 0xf7, 0xcf, 0x91, 0x08, 0x95, 0xf0, 0xe0, 0xe0, 0xe0, 0x09, 0x94, 0x88, 0xb3, 0x18, 0xba, 0x87, 0xb3, 0x8f, 0xef, 0x87, 0xbb, 0x8a, 0xef, 0x90, 0xe0, 0xed, 0xde, 0x87, 0xb3, 0x17, 0xba, 0x8a, 0xef, 0x90, 0xe0, 0xe8, 0xde, 0xf8, 0x94, 0x27, 0xdf, 0x4e, 0xdf, 0xa7, 0xdf, 0xd9, 0xdf, 0xea, 0xdf, 0x90, 0xe0, 0x80, 0xe0, 0x08, 0x95, 0xf8, 0x94, 0xff, 0xcf, 0x40, 0x1a +const uint8_t payload[2286] = { +0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xc2, 0x10, 0xc3, 0x0f, 0xc3, 0x0e, 0xc3, 0x0d, 0xc3, 0x0c, 0xc3, 0x0b, 0xc3, 0x0a, 0xc3, 0x09, 0xc3, 0x08, 0xc3, 0x07, 0xc3, 0x06, 0xc3, 0x05, 0xc3, 0x04, 0xc3, 0x03, 0xc3, 0x00, 0xc0, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xcd, 0xbf, 0xde, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xea, 0xef, 0xff, 0xe1, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa6, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x20, 0xe0, 0xa6, 0xe6, 0xb0, 0xe0, 0x01, 0xc0, 0x1d, 0x92, 0xaf, 0x3e, 0xb2, 0x07, 0xe1, 0xf7, 0x57, 0xc1, 0xcf, 0x93, 0x80, 0x93, 0x6e, 0x00, 0xc0, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0xc8, 0x17, 0x10, 0xf0, 0xcf, 0x91, 0x08, 0x95, 0x07, 0xd2, 0xec, 0x2f, 0xf0, 0xe0, 0xe1, 0x59, 0xff, 0x4f, 0x80, 0x83, 0xcf, 0x5f, 0xf2, 0xcf, 0xef, 0x92, 0xff, 0x92, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0x28, 0x97, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x6f, 0x00, 0x84, 0x3a, 0x09, 0xf4, 0x4d, 0xc0, 0x70, 0xf4, 0x81, 0x38, 0x09, 0xf4, 0x7c, 0xc0, 0x83, 0x3a, 0xb1, 0xf0, 0x10, 0xe0, 0x80, 0x91, 0x6e, 0x00, 0x18, 0x17, 0xa8, 0xf5, 0x8f, 0xef, 0xca, 0xd1, 0x1f, 0x5f, 0xf8, 0xcf, 0x87, 0x3a, 0x09, 0xf4, 0x41, 0xc0, 0x88, 0x3a, 0x91, 0xf7, 0x87, 0xe5, 0xc1, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x80, 0x61, 0x80, 0x93, 0x6b, 0x00, 0x24, 0xc0, 0x1e, 0x82, 0x1d, 0x82, 0x8c, 0xe5, 0x89, 0x83, 0x8e, 0xe4, 0x8a, 0x83, 0x82, 0xe4, 0x8b, 0x83, 0x84, 0xe5, 0x8c, 0x83, 0x88, 0xe0, 0x8e, 0x83, 0x8a, 0xe1, 0x8f, 0x83, 0x80, 0xe4, 0x88, 0x87, 0x80, 0x91, 0x6b, 0x00, 0x82, 0x60, 0x80, 0x93, 0x6b, 0x00, 0xc1, 0x98, 0x8e, 0x01, 0x0f, 0x5f, 0x1f, 0x4f, 0x7e, 0x01, 0x89, 0xe0, 0xe8, 0x0e, 0xf1, 0x1c, 0xf8, 0x01, 0x81, 0x91, 0x8f, 0x01, 0x9a, 0xd1, 0x0e, 0x15, 0x1f, 0x05, 0xc9, 0xf7, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x08, 0x95, 0x8b, 0xe5, 0x88, 0xd1, 0x80, 0x91, 0x6b, 0x00, 0x84, 0x60, 0xc6, 0xcf, 0x80, 0x91, 0x68, 0x00, 0xa0, 0xe7, 0xb0, 0xe0, 0x28, 0xe0, 0x28, 0x0f, 0x10, 0xe0, 0x9d, 0x91, 0xe8, 0x2f, 0xf0, 0xe0, 0xe5, 0x55, 0xff, 0x4f, 0x90, 0x83, 0x19, 0x0f, 0x8f, 0x5f, 0x82, 0x13, 0xf6, 0xcf, 0x80, 0x93, 0x68, 0x00, 0x80, 0x91, 0x78, 0x00, 0x18, 0x17, 0x31, 0xf0, 0x80, 0x91, 0x6b, 0x00, 0x87, 0x7f, 0x84, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x88, 0xe5, 0x65, 0xd1, 0x81, 0x2f, 0x28, 0x96, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0xff, 0x90, 0xef, 0x90, 0x57, 0xc1, 0x80, 0x91, 0x6b, 0x00, 0x81, 0x60, 0x80, 0x93, 0x6b, 0x00, 0x8e, 0xe7, 0xec, 0xcf, 0x14, 0xbe, 0x88, 0xe1, 0x81, 0xbd, 0x87, 0xe0, 0x81, 0xbd, 0x08, 0x95, 0xf8, 0x94, 0x80, 0xe8, 0x86, 0xbd, 0x16, 0xbc, 0x08, 0x95, 0xe0, 0xe4, 0xfa, 0xe1, 0xe0, 0x54, 0xf1, 0x09, 0x83, 0xe0, 0x80, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x30, 0x97, 0xc1, 0xf7, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x08, 0x95, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xe1, 0x80, 0x83, 0x8d, 0xec, 0x81, 0x83, 0x08, 0x95, 0xab, 0xea, 0xb0, 0xe0, 0x30, 0xe0, 0x20, 0xe0, 0x11, 0x96, 0x5c, 0x91, 0x11, 0x97, 0x4c, 0x91, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x61, 0xe0, 0x0a, 0x01, 0x60, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x2e, 0x5f, 0x3f, 0x4f, 0x12, 0x96, 0x20, 0x34, 0x31, 0x05, 0x51, 0xf7, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x08, 0x95, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x81, 0x15, 0x9a, 0x41, 0xc8, 0xf4, 0x80, 0xe0, 0x9a, 0xe1, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0xeb, 0xea, 0xf0, 0xe0, 0x8f, 0xef, 0x81, 0x93, 0x80, 0xe0, 0xe9, 0x3e, 0xf8, 0x07, 0xd1, 0xf7, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0x80, 0xe0, 0x9a, 0xe1, 0xbd, 0xcf, 0x08, 0x95, 0x70, 0xe0, 0x76, 0x2f, 0x66, 0x27, 0x68, 0x0f, 0x71, 0x1d, 0x6f, 0x5f, 0x7f, 0x4f, 0x66, 0x0f, 0x77, 0x1f, 0x6e, 0x7f, 0x7f, 0x71, 0x80, 0xe4, 0x9a, 0xe1, 0x86, 0x1b, 0x97, 0x0b, 0x95, 0x95, 0x87, 0x95, 0x91, 0x95, 0x81, 0x95, 0x91, 0x09, 0x80, 0x93, 0x67, 0x00, 0x89, 0x2f, 0x8f, 0x70, 0x80, 0x54, 0x80, 0x93, 0x66, 0x00, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xec, 0x01, 0xc0, 0x7c, 0x20, 0x97, 0x81, 0xf4, 0x60, 0x91, 0xac, 0x00, 0x80, 0x91, 0xab, 0x00, 0xd9, 0xdf, 0x8d, 0xdf, 0xce, 0x01, 0x92, 0xdf, 0xcd, 0x2b, 0xb9, 0xf4, 0xb2, 0xdf, 0x10, 0x92, 0x6a, 0x00, 0x10, 0x92, 0x69, 0x00, 0x11, 0xc0, 0xc1, 0x15, 0x8a, 0xe1, 0xd8, 0x07, 0x49, 0xf4, 0x80, 0x91, 0x67, 0x00, 0x80, 0x93, 0xe9, 0x00, 0x80, 0x91, 0x66, 0x00, 0x80, 0x93, 0xea, 0x00, 0xe9, 0xcf, 0xc0, 0x34, 0x8a, 0xe1, 0xd8, 0x07, 0x28, 0xf3, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x54, 0xdf, 0xb9, 0x9a, 0x58, 0xdf, 0x85, 0xe1, 0x87, 0xd0, 0x8b, 0xe3, 0x9d, 0xe0, 0x90, 0x93, 0xaa, 0x00, 0x80, 0x93, 0xa9, 0x00, 0x8d, 0xe4, 0x9d, 0xe0, 0x90, 0x93, 0xec, 0x00, 0x80, 0x93, 0xeb, 0x00, 0x88, 0xe0, 0x80, 0x93, 0x6b, 0x00, 0xf8, 0x94, 0x80, 0x91, 0x6b, 0x00, 0x98, 0x2f, 0x93, 0x70, 0x93, 0x30, 0x59, 0xf1, 0x80, 0x91, 0x6c, 0x00, 0x90, 0x91, 0x6d, 0x00, 0x9c, 0x01, 0x2f, 0x5f, 0x3f, 0x4f, 0x30, 0x93, 0x6d, 0x00, 0x20, 0x93, 0x6c, 0x00, 0x01, 0x96, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x10, 0x92, 0x6d, 0x00, 0x10, 0x92, 0x6c, 0x00, 0x80, 0x91, 0x62, 0x00, 0x9f, 0xef, 0x98, 0x0f, 0x90, 0x93, 0x62, 0x00, 0x81, 0x11, 0x05, 0xc0, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x77, 0x9b, 0x02, 0xc0, 0x91, 0xd0, 0x77, 0x9a, 0x76, 0x9b, 0xd2, 0xcf, 0x9d, 0xd0, 0x76, 0x9a, 0xcf, 0xcf, 0x20, 0x91, 0x63, 0x00, 0x30, 0x91, 0x64, 0x00, 0xa9, 0x01, 0x41, 0x50, 0x51, 0x09, 0x50, 0x93, 0x64, 0x00, 0x40, 0x93, 0x63, 0x00, 0x23, 0x2b, 0x51, 0xf7, 0x88, 0x71, 0x88, 0x31, 0x29, 0xf4, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x6b, 0x00, 0x88, 0x71, 0x80, 0x31, 0x09, 0xf4, 0xff, 0xde, 0x80, 0x91, 0x6b, 0x00, 0x82, 0xff, 0x07, 0xc0, 0xc1, 0x9a, 0xf9, 0xde, 0xe0, 0x91, 0x60, 0x00, 0xf0, 0x91, 0x61, 0x00, 0x09, 0x95, 0x80, 0x91, 0x68, 0x00, 0x80, 0x34, 0xa9, 0xf4, 0x88, 0xb3, 0x92, 0xe0, 0x89, 0x27, 0x88, 0xbb, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x5d, 0xdf, 0x80, 0x91, 0x69, 0x00, 0x90, 0x91, 0x6a, 0x00, 0x80, 0x5c, 0x9f, 0x4f, 0x90, 0x93, 0x6a, 0x00, 0x80, 0x93, 0x69, 0x00, 0x10, 0x92, 0x68, 0x00, 0x8f, 0xef, 0x9f, 0xe7, 0x90, 0x93, 0x64, 0x00, 0x80, 0x93, 0x63, 0x00, 0xb1, 0xcf, 0x10, 0x92, 0x95, 0x00, 0x10, 0x92, 0x96, 0x00, 0x10, 0x92, 0x94, 0x00, 0x10, 0x92, 0x82, 0x00, 0x10, 0x92, 0x83, 0x00, 0x10, 0x92, 0x81, 0x00, 0x80, 0x93, 0xa8, 0x00, 0x87, 0xb3, 0x85, 0x60, 0x87, 0xbb, 0xc2, 0x9a, 0xc0, 0x9a, 0xb8, 0x98, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x90, 0x91, 0x81, 0x00, 0x90, 0x31, 0xe1, 0xf3, 0xe0, 0x91, 0x83, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x83, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x83, 0x00, 0x80, 0x91, 0x81, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x81, 0x00, 0x08, 0x95, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0xe1, 0xf3, 0xe0, 0x91, 0x95, 0x00, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x91, 0x95, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x95, 0x00, 0x80, 0x91, 0x94, 0x00, 0x81, 0x50, 0x80, 0x93, 0x94, 0x00, 0x80, 0x81, 0x08, 0x95, 0x10, 0x92, 0xa7, 0x00, 0xb8, 0x98, 0xb2, 0x9b, 0x02, 0xc0, 0xb0, 0x9b, 0xfc, 0xcf, 0xb0, 0x99, 0x05, 0xc0, 0x88, 0xef, 0x8d, 0xb9, 0x80, 0xef, 0x8e, 0xb9, 0x08, 0x95, 0x88, 0xea, 0xfa, 0xcf, 0x80, 0x91, 0xa7, 0x00, 0x82, 0x30, 0x09, 0xf4, 0x79, 0xc0, 0x38, 0xf4, 0x88, 0x23, 0x21, 0xf1, 0x81, 0x30, 0x09, 0xf4, 0x53, 0xc0, 0x76, 0x9a, 0x08, 0x95, 0x84, 0x30, 0x09, 0xf4, 0x75, 0xc0, 0x08, 0xf4, 0x44, 0xc0, 0x85, 0x30, 0xb9, 0xf7, 0x80, 0x91, 0x94, 0x00, 0x80, 0x31, 0x90, 0xf4, 0xe0, 0x91, 0x96, 0x00, 0x8f, 0xb1, 0xf0, 0xe0, 0xe9, 0x56, 0xff, 0x4f, 0x80, 0x83, 0x80, 0x91, 0x96, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x96, 0x00, 0x80, 0x91, 0x94, 0x00, 0x8f, 0x5f, 0x80, 0x93, 0x94, 0x00, 0x84, 0xe0, 0x20, 0xc0, 0x8f, 0xb1, 0x88, 0x23, 0x31, 0xf0, 0x8f, 0xb1, 0x86, 0x95, 0x90, 0x91, 0xa8, 0x00, 0x89, 0x13, 0x1c, 0xc0, 0x78, 0x9b, 0xf3, 0xcf, 0xe0, 0x91, 0xa9, 0x00, 0xf0, 0x91, 0xaa, 0x00, 0x30, 0x97, 0x39, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x88, 0x23, 0x19, 0xf0, 0x80, 0x91, 0x94, 0x00, 0x09, 0x95, 0xe0, 0x91, 0xeb, 0x00, 0xf0, 0x91, 0xec, 0x00, 0x30, 0x97, 0x09, 0xf0, 0x09, 0x95, 0x81, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x9a, 0x32, 0xc0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0xb5, 0xcf, 0x8f, 0xb1, 0x88, 0x23, 0x29, 0xf0, 0x88, 0xea, 0x8d, 0xb9, 0x80, 0xe7, 0x8e, 0xb9, 0x08, 0x95, 0x80, 0x91, 0x81, 0x00, 0x88, 0x23, 0xb9, 0xf0, 0xe0, 0x91, 0x82, 0x00, 0xf0, 0xe0, 0xec, 0x57, 0xff, 0x4f, 0x80, 0x81, 0x8f, 0xb9, 0x80, 0x91, 0x82, 0x00, 0x8f, 0x5f, 0x8f, 0x70, 0x80, 0x93, 0x82, 0x00, 0x80, 0x91, 0x81, 0x00, 0x81, 0x50, 0x80, 0x93, 0x81, 0x00, 0x82, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x9a, 0xda, 0xcf, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0x8e, 0xb9, 0xdb, 0xcf, 0x83, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0x1f, 0xb8, 0xb8, 0x98, 0x8e, 0xe7, 0xcf, 0xcf, 0x85, 0xe0, 0x80, 0x93, 0xa7, 0x00, 0xb8, 0x98, 0xc9, 0xcf, 0x1f, 0x0d, 0x14, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x24, 0x1f, 0xbe, 0xcf, 0xe5, 0xd2, 0xe0, 0xde, 0xbf, 0xcd, 0xbf, 0x10, 0xe0, 0xa0, 0xe6, 0xb0, 0xe0, 0xec, 0xee, 0xf8, 0xe0, 0x02, 0xc0, 0x05, 0x90, 0x0d, 0x92, 0xa2, 0x36, 0xb1, 0x07, 0xd9, 0xf7, 0x0d, 0xd1, 0x22, 0xc1, 0xed, 0xcc, 0xed, 0xe1, 0xf0, 0xe1, 0x31, 0x97, 0xf1, 0xf7, 0x01, 0x97, 0xd1, 0xf7, 0x08, 0x95, 0x80, 0x7c, 0xdb, 0x01, 0x30, 0xe0, 0x20, 0xe0, 0xfc, 0x01, 0xe2, 0x0f, 0xf3, 0x1f, 0x45, 0x91, 0x54, 0x91, 0x4d, 0x93, 0x5d, 0x93, 0x2e, 0x5f, 0x3f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0xa1, 0xf7, 0x08, 0x95, 0xfc, 0x01, 0xe0, 0x7c, 0x93, 0xe0, 0x90, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0x9b, 0x01, 0x20, 0x5c, 0x3f, 0x4f, 0xfc, 0x01, 0xeb, 0x01, 0xa9, 0x91, 0xb9, 0x91, 0xbe, 0x01, 0x41, 0xe0, 0x0d, 0x01, 0x40, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x11, 0x24, 0x32, 0x96, 0xc2, 0x17, 0xd3, 0x07, 0x91, 0xf7, 0x25, 0xe0, 0xfc, 0x01, 0x20, 0x93, 0x57, 0x00, 0xe8, 0x95, 0x07, 0xb6, 0x00, 0xfc, 0xfd, 0xcf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xb5, 0xdf, 0x8f, 0xef, 0x9f, 0xef, 0x9a, 0x83, 0x89, 0x83, 0x90, 0xe0, 0x80, 0xe0, 0xbf, 0xdf, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x90, 0xe0, 0x80, 0xe0, 0xc3, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x08, 0x95, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x10, 0xe0, 0x00, 0xe0, 0x00, 0x3c, 0xf5, 0xe0, 0x1f, 0x07, 0x61, 0xf4, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xa8, 0x01, 0x42, 0x56, 0x5f, 0x4f, 0x30, 0xe0, 0x20, 0xe0, 0xc9, 0x01, 0x8e, 0x7f, 0x66, 0xe0, 0x4e, 0x35, 0x56, 0x07, 0x30, 0xf1, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0x6f, 0xef, 0x7f, 0xef, 0xfc, 0x01, 0x71, 0x83, 0x60, 0x83, 0x2e, 0x5f, 0x3f, 0x4f, 0x4e, 0x5f, 0x5f, 0x4f, 0x20, 0x34, 0x31, 0x05, 0x41, 0xf7, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0xbe, 0x01, 0x6f, 0x5f, 0x7f, 0x4f, 0x80, 0x0f, 0x91, 0x1f, 0x6c, 0xdf, 0x00, 0x5c, 0x1f, 0x4f, 0xbf, 0xcf, 0xfa, 0x01, 0x65, 0x91, 0x74, 0x91, 0xe1, 0xe0, 0xf0, 0xe0, 0xec, 0x0f, 0xfd, 0x1f, 0x8e, 0x0f, 0x9f, 0x1f, 0xd8, 0xcf, 0x0f, 0x93, 0x1f, 0x93, 0xcf, 0x93, 0xdf, 0x93, 0xcd, 0xb7, 0xde, 0xb7, 0xc0, 0x54, 0xd1, 0x09, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0x80, 0x91, 0x60, 0x00, 0x90, 0x91, 0x61, 0x00, 0x96, 0x95, 0x87, 0x95, 0x81, 0x50, 0x90, 0x44, 0xfe, 0x01, 0x31, 0x96, 0x9e, 0x01, 0x2f, 0x5b, 0x3f, 0x4f, 0x8f, 0x01, 0x81, 0x93, 0x91, 0x93, 0xe2, 0x17, 0xf3, 0x07, 0xd9, 0xf7, 0x90, 0xe0, 0x80, 0xe0, 0x32, 0xdf, 0xb8, 0x01, 0x90, 0xe0, 0x80, 0xe0, 0x38, 0xdf, 0xc0, 0x5c, 0xdf, 0x4f, 0x0f, 0xb6, 0xf8, 0x94, 0xde, 0xbf, 0x0f, 0xbe, 0xcd, 0xbf, 0xdf, 0x91, 0xcf, 0x91, 0x1f, 0x91, 0x0f, 0x91, 0x08, 0x95, 0xcf, 0x93, 0x87, 0xb3, 0x83, 0x60, 0x87, 0xbb, 0xc1, 0x98, 0xca, 0xef, 0x81, 0xe0, 0x90, 0xe0, 0x01, 0xdf, 0xc1, 0x9a, 0x81, 0xe0, 0x90, 0xe0, 0xfd, 0xde, 0xc1, 0x98, 0xc1, 0x50, 0xb1, 0xf7, 0xcf, 0x91, 0x08, 0x95, 0xf0, 0xe0, 0xe0, 0xe0, 0x09, 0x94, 0x88, 0xb3, 0x18, 0xba, 0x87, 0xb3, 0x8f, 0xef, 0x87, 0xbb, 0x8a, 0xef, 0x90, 0xe0, 0xed, 0xde, 0x87, 0xb3, 0x17, 0xba, 0x8a, 0xef, 0x90, 0xe0, 0xe8, 0xde, 0xf8, 0x94, 0x27, 0xdf, 0x4e, 0xdf, 0xa7, 0xdf, 0xd9, 0xdf, 0xea, 0xdf, 0x90, 0xe0, 0x80, 0xe0, 0x08, 0x95, 0xf8, 0x94, 0xff, 0xcf, 0x40, 0x1a };