From 732b3e719d2fa548d9bd341fce732e47b52b79b5 Mon Sep 17 00:00:00 2001 From: Luc Date: Sun, 1 Sep 2019 16:49:12 +0200 Subject: [PATCH] 2rd rewrite of upload management error based on 3.0 Add file size before upload for SPIFFS and WebUpdate new embedded page based on 3.0 - display fw version - menu link link to wiki / github - auto detection of index.html.gz when uploaded - websocket to limit to one instance - build batch to generate page and fw file fix for Apple captive portal blocking websocket per @Nathan-ma suggestion Fix update partition size in [ESP420] for ESP32 change versio to 36 --- embedded/nofile.h | 790 +++++++++++++++++++------------------ embedded/package-lock.json | 137 ++++--- embedded/tool.html.gz | Bin 6028 -> 6535 bytes embedded/www/css/style.css | 50 +-- embedded/www/js/script.js | 381 ++++++++++++++---- embedded/www/tool.html | 84 ++-- esp3d/command.cpp | 8 + esp3d/config.cpp | 18 +- esp3d/config.h | 2 +- esp3d/nofile.h | 790 +++++++++++++++++++------------------ esp3d/syncwebserver.cpp | 134 +++++-- 11 files changed, 1371 insertions(+), 1023 deletions(-) diff --git a/embedded/nofile.h b/embedded/nofile.h index e1875cdd..875979c3 100644 --- a/embedded/nofile.h +++ b/embedded/nofile.h @@ -25,384 +25,416 @@ /* Generated by bin2c, do not edit manually */ /* Contents of file tool.html.gz */ -#define PAGE_NOFILES_SIZE 6028 -const char PAGE_NOFILES[6028] PROGMEM = { - 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x5C, 0x7B, 0x73, 0xDB, 0xC6, - 0xAE, 0xFF, 0x2A, 0x2C, 0x3B, 0xB5, 0xA4, 0x6B, 0x52, 0xE2, 0x4B, 0x12, 0x25, 0x59, 0xCA, 0x69, - 0x9B, 0xA4, 0xCD, 0x9D, 0xA4, 0xC9, 0xC4, 0xC9, 0xE9, 0x9D, 0x69, 0x3A, 0x1D, 0x8A, 0x5C, 0x59, - 0x3C, 0xA1, 0x48, 0x99, 0x5C, 0xF9, 0x11, 0xD7, 0xDF, 0xFD, 0x02, 0xD8, 0xE5, 0x53, 0x0F, 0x3F, - 0x92, 0x9E, 0xE6, 0x8F, 0x8E, 0x63, 0x91, 0xDA, 0x5D, 0x60, 0xB1, 0x58, 0xE0, 0x07, 0x2C, 0x48, - 0xE7, 0x64, 0xC9, 0x57, 0xD1, 0xEC, 0x64, 0xC9, 0xBC, 0x60, 0x76, 0x92, 0xF1, 0xEB, 0x88, 0xCD, - 0xB0, 0xE5, 0x66, 0x91, 0xC4, 0x5C, 0x5F, 0x78, 0xAB, 0x30, 0xBA, 0x1E, 0x67, 0x5E, 0x9C, 0xE9, - 0x19, 0x4B, 0xC3, 0xC5, 0x44, 0x5F, 0x65, 0x3A, 0x67, 0x57, 0x5C, 0xCF, 0xC2, 0x4F, 0x4C, 0xF7, - 0x82, 0xFF, 0x6C, 0x32, 0x3E, 0x36, 0x0D, 0xE3, 0xBB, 0x89, 0x7E, 0xC9, 0xE6, 0x1F, 0x43, 0xBE, - 0xA7, 0x97, 0xD8, 0x61, 0x2B, 0x7C, 0x5D, 0x5F, 0xDD, 0xCE, 0x93, 0xE0, 0xBA, 0x36, 0x85, 0xFA, - 0x33, 0x8B, 0x2E, 0x18, 0x0F, 0x7D, 0x4F, 0xF9, 0x85, 0x6D, 0x98, 0xAA, 0x15, 0xDF, 0xB5, 0xEF, - 0xD3, 0xD0, 0x8B, 0xB4, 0x8A, 0x0C, 0x15, 0x5E, 0xCE, 0xFA, 0x6A, 0x12, 0x85, 0x31, 0xD3, 0x97, - 0x2C, 0x3C, 0x5B, 0xC2, 0x5C, 0x5D, 0xC7, 0x72, 0xFB, 0x43, 0xD3, 0xB1, 0x27, 0x7E, 0x12, 0x25, - 0xE9, 0xF8, 0x5B, 0xDB, 0xB6, 0x27, 0x73, 0xCF, 0xFF, 0x78, 0x96, 0x26, 0x9B, 0x38, 0xD0, 0x65, - 0xEB, 0x62, 0xB1, 0xB8, 0xED, 0xFA, 0xC0, 0xC7, 0x03, 0xE2, 0xF4, 0x66, 0xE5, 0xA5, 0x67, 0x61, - 0xAC, 0xA7, 0xC4, 0xC3, 0xDB, 0xF0, 0x64, 0x22, 0x5B, 0x22, 0xB6, 0x90, 0x0D, 0x6B, 0x2F, 0x08, - 0xC2, 0xF8, 0x4C, 0xB4, 0x98, 0x7D, 0x98, 0x37, 0x6F, 0x11, 0x54, 0xD8, 0x74, 0xCB, 0xBD, 0x79, - 0xC4, 0x6E, 0xE6, 0x49, 0x1A, 0xB0, 0x74, 0x6C, 0x4C, 0xC4, 0x8D, 0x9E, 0xAD, 0x3D, 0x1F, 0x06, - 0x42, 0xC3, 0xCA, 0xBB, 0xD2, 0x2F, 0xC3, 0x80, 0x2F, 0x49, 0x29, 0xB7, 0x5D, 0x1A, 0xAF, 0x8B, - 0x61, 0x2C, 0xB8, 0x29, 0xBB, 0x24, 0xE9, 0xD8, 0x5C, 0x5F, 0x29, 0x59, 0x12, 0x85, 0x81, 0xF2, - 0x6D, 0x10, 0x04, 0xB9, 0x54, 0xF3, 0x84, 0xF3, 0x64, 0x35, 0xB6, 0x50, 0x93, 0x1C, 0xC8, 0x96, - 0x21, 0x67, 0x34, 0x0B, 0x1B, 0xC7, 0xC9, 0x65, 0xEA, 0xAD, 0x73, 0xD9, 0xC6, 0xD6, 0x6A, 0x75, - 0xCB, 0x97, 0x37, 0xB4, 0x27, 0x5E, 0x14, 0x9E, 0xC5, 0x63, 0x94, 0x5F, 0x4E, 0x3C, 0xE3, 0xB8, - 0x0D, 0x33, 0x9E, 0xCE, 0x78, 0xA0, 0x6D, 0x35, 0x2D, 0x8B, 0x26, 0xB2, 0x8D, 0xFA, 0xA8, 0xA2, - 0x69, 0x79, 0x93, 0x4F, 0xE5, 0xEE, 0xDF, 0x8A, 0x0B, 0x96, 0xE2, 0x4E, 0x46, 0x52, 0x04, 0x9E, - 0xAC, 0x73, 0xD5, 0xC0, 0x6D, 0x63, 0x8D, 0x4D, 0xA5, 0xEC, 0x10, 0x72, 0x57, 0xDF, 0x72, 0xBB, - 0x6F, 0x4B, 0xEC, 0x5D, 0x7D, 0xCB, 0x9B, 0x9D, 0x9A, 0xDE, 0x96, 0xE2, 0x41, 0xDC, 0xE4, 0x0E, - 0xC9, 0xBD, 0xB6, 0x60, 0x9B, 0x24, 0x4D, 0xC6, 0xD3, 0x70, 0x5D, 0x11, 0x7C, 0x1C, 0xF3, 0xA5, - 0x9E, 0x2C, 0x74, 0x7E, 0xBD, 0x66, 0xED, 0x24, 0x08, 0x3A, 0x37, 0x3B, 0x6C, 0x75, 0x84, 0x3F, - 0xB7, 0xFF, 0x5A, 0xB1, 0x20, 0xF4, 0x94, 0xF6, 0x0A, 0x0C, 0x40, 0xF0, 0x1D, 0x0E, 0x40, 0xE7, - 0x9D, 0x9B, 0x8A, 0x1D, 0xCB, 0xF6, 0x3E, 0x1A, 0xC6, 0x0E, 0x82, 0xD1, 0xC8, 0xDA, 0x49, 0x30, - 0x1A, 0xEE, 0x21, 0x30, 0x2D, 0xC3, 0xD8, 0x49, 0x61, 0x9A, 0x82, 0xA4, 0x1B, 0x7B, 0x17, 0x55, - 0xB3, 0x95, 0x22, 0xFB, 0xBE, 0xDF, 0x70, 0x18, 0xA3, 0xE9, 0x2E, 0x06, 0x18, 0x4B, 0x06, 0x6E, - 0x8C, 0x88, 0x03, 0x56, 0x1B, 0xB3, 0x1D, 0x5E, 0x4A, 0xBE, 0x2B, 0x14, 0x9A, 0x7A, 0x41, 0xB8, - 0xC9, 0xC6, 0x03, 0x30, 0xB2, 0x1D, 0x4E, 0xE0, 0xDD, 0xAC, 0x93, 0x2C, 0xE4, 0x61, 0x12, 0x8F, - 0x53, 0x16, 0x79, 0x3C, 0xBC, 0x60, 0x93, 0x20, 0xCC, 0xD6, 0x91, 0x77, 0x3D, 0x9E, 0x47, 0x89, - 0xFF, 0xB1, 0x70, 0x08, 0x44, 0x1F, 0x85, 0xDC, 0x97, 0x7C, 0x22, 0x60, 0x7E, 0x92, 0x7A, 0x44, - 0x48, 0x32, 0x94, 0xF2, 0xDF, 0x76, 0x3D, 0x1F, 0xF9, 0xDC, 0x94, 0x88, 0xB1, 0x43, 0x42, 0xC3, - 0x30, 0xF2, 0x81, 0x8A, 0xA7, 0x79, 0xE3, 0x45, 0xE2, 0x6F, 0x32, 0xB8, 0x2E, 0x13, 0xB0, 0xF9, - 0x9B, 0x2A, 0xD8, 0xAC, 0xBD, 0x98, 0x45, 0x37, 0xDB, 0xB2, 0xEF, 0x06, 0xA7, 0x3D, 0xFE, 0x5F, - 0x57, 0x06, 0x82, 0x5F, 0x8E, 0xBA, 0xF3, 0xE4, 0x4A, 0xCF, 0x96, 0x5E, 0x90, 0x5C, 0x8E, 0x0D, - 0x05, 0xA9, 0xF0, 0x37, 0x3D, 0x9B, 0x7B, 0x6D, 0x43, 0xC3, 0x9F, 0xAE, 0xD1, 0xEF, 0x4C, 0xEE, - 0x33, 0x48, 0x4A, 0xAA, 0x13, 0x42, 0x17, 0x5A, 0x43, 0x70, 0x93, 0x1D, 0x68, 0xEC, 0xD0, 0x76, - 0xB3, 0xAD, 0xD1, 0xC3, 0x88, 0xDB, 0xC7, 0x9F, 0x7C, 0x05, 0xB2, 0xB1, 0xB2, 0x26, 0x40, 0x02, - 0x61, 0x1A, 0xF9, 0xEA, 0x6C, 0xD4, 0x4D, 0xD9, 0x87, 0x66, 0xB4, 0xA3, 0x4B, 0x6A, 0xB2, 0xE1, - 0xBD, 0x91, 0x37, 0x07, 0x65, 0xE7, 0x16, 0x10, 0xC6, 0x84, 0x4B, 0xC2, 0x10, 0xEA, 0x10, 0xDC, - 0x30, 0x26, 0x5C, 0x05, 0x45, 0x97, 0x4B, 0x81, 0x61, 0x43, 0xDC, 0x5E, 0x32, 0x94, 0x30, 0x5E, - 0x24, 0xF9, 0x7E, 0xDA, 0x60, 0xFC, 0x2E, 0x6C, 0xE9, 0x22, 0x49, 0x57, 0x3A, 0x7A, 0x46, 0x9A, - 0x94, 0x93, 0x89, 0x59, 0xC4, 0x0C, 0x14, 0x38, 0x24, 0x1C, 0xDA, 0x4E, 0x19, 0x32, 0xD0, 0x8C, - 0x15, 0xD3, 0xCA, 0x27, 0xBB, 0x6F, 0x28, 0xEB, 0xF7, 0xFB, 0xFB, 0xAC, 0xA5, 0x6C, 0x0D, 0x57, - 0xDE, 0x59, 0xEE, 0x50, 0x5B, 0x36, 0x84, 0x7E, 0x79, 0x2F, 0x1B, 0x0A, 0xE3, 0x8C, 0x71, 0x65, - 0x8F, 0x91, 0x0C, 0xEB, 0xA6, 0x74, 0xE7, 0x58, 0x3D, 0xD1, 0x79, 0x0A, 0xE1, 0x5B, 0x38, 0x68, - 0xD5, 0x02, 0x14, 0xE6, 0x65, 0x0C, 0x74, 0xAB, 0x27, 0x1B, 0xAE, 0x74, 0xCD, 0x7E, 0xA6, 0x95, - 0x7C, 0xB7, 0xFA, 0xEA, 0x0A, 0x17, 0xAE, 0x76, 0x53, 0xB7, 0xA7, 0xC1, 0xC0, 0x5B, 0xB0, 0xD1, - 0x04, 0x28, 0x50, 0x93, 0x10, 0x70, 0x1F, 0xB1, 0x34, 0xCD, 0x80, 0x4E, 0x37, 0xEF, 0x30, 0x0D, - 0x4B, 0x33, 0x87, 0x7D, 0xCD, 0xB2, 0x6D, 0xAD, 0x3B, 0xE8, 0x48, 0x19, 0x50, 0xD7, 0xEB, 0x86, - 0x33, 0x0B, 0x1F, 0x99, 0xF3, 0x78, 0x9F, 0xDD, 0x55, 0x07, 0x1B, 0x35, 0x33, 0x73, 0x0C, 0x63, - 0x52, 0x09, 0xD1, 0x3E, 0x8B, 0x39, 0x4B, 0x9B, 0x51, 0x73, 0x15, 0x06, 0x41, 0xC4, 0x44, 0x02, - 0x96, 0x6C, 0xFC, 0xA5, 0x8E, 0xB0, 0x03, 0xFA, 0x5C, 0x79, 0x71, 0xB8, 0xDE, 0x44, 0x04, 0x62, - 0x93, 0xFD, 0x3D, 0xFE, 0x26, 0xCD, 0x40, 0x45, 0xEB, 0x24, 0x24, 0xE6, 0xF7, 0xB4, 0x18, 0xDA, - 0xB7, 0xB5, 0x97, 0x82, 0x44, 0x93, 0x03, 0x69, 0xC6, 0x03, 0xED, 0x79, 0x87, 0x09, 0xAE, 0x92, - 0x4F, 0xFA, 0x26, 0xC3, 0x64, 0x89, 0x45, 0xCC, 0xE7, 0x42, 0x1C, 0x5C, 0xEB, 0x56, 0x63, 0xB3, - 0x81, 0x74, 0xAE, 0xAF, 0x53, 0x58, 0x46, 0x7A, 0x7D, 0x18, 0xAD, 0x6D, 0x7B, 0xE8, 0xCD, 0x87, - 0x0D, 0x0C, 0xB2, 0xD8, 0x20, 0xF0, 0x9C, 0x1A, 0x17, 0x89, 0xE8, 0x5A, 0xAD, 0x4D, 0x40, 0x7B, - 0xAD, 0x89, 0x50, 0xBE, 0xD6, 0x34, 0xDE, 0x41, 0x39, 0xDE, 0xA6, 0xDC, 0x8A, 0x0F, 0x3B, 0x84, - 0xB5, 0xDC, 0x81, 0x31, 0x32, 0x1A, 0xC2, 0x9A, 0x96, 0x35, 0x77, 0x8C, 0x5B, 0xDF, 0x5B, 0xE3, - 0xA6, 0xE6, 0x18, 0x4C, 0x69, 0x94, 0x5B, 0x49, 0x49, 0xA5, 0x95, 0xB9, 0x25, 0x28, 0x0F, 0x87, - 0xC3, 0xC9, 0x56, 0x16, 0xE8, 0x45, 0x60, 0x62, 0x35, 0x90, 0xDF, 0x11, 0x5C, 0x0F, 0x1B, 0xC5, - 0xD6, 0x56, 0x4A, 0xAE, 0x7A, 0xB6, 0xF1, 0x7D, 0x96, 0x65, 0x3B, 0xF2, 0x99, 0x60, 0xB1, 0x30, - 0x02, 0xB7, 0x19, 0x09, 0x06, 0x6C, 0xE4, 0x0F, 0x8A, 0x10, 0xE2, 0x0F, 0x07, 0x76, 0x90, 0xB3, - 0x0A, 0xBC, 0xF8, 0x0C, 0xB4, 0xB5, 0x03, 0xFA, 0xAC, 0x80, 0x05, 0xAC, 0xC1, 0x89, 0xCD, 0x7D, - 0x3F, 0x30, 0x73, 0x4E, 0xDE, 0xC8, 0x71, 0x1C, 0xEB, 0xB6, 0xBB, 0xF4, 0x32, 0x9D, 0xA5, 0x29, - 0x40, 0x4E, 0x1D, 0xB6, 0xEB, 0xB4, 0x62, 0xF4, 0x5F, 0x0D, 0x88, 0x7B, 0xA5, 0xD9, 0x89, 0x69, - 0xAE, 0x63, 0xF7, 0x6D, 0xE7, 0xD1, 0x48, 0x86, 0xAE, 0xF9, 0xAD, 0xCF, 0x5C, 0xC7, 0xB5, 0x1F, - 0x22, 0x63, 0x93, 0xB6, 0x26, 0xB3, 0x14, 0x57, 0x17, 0x61, 0x76, 0x87, 0xA6, 0xE5, 0xE6, 0x1F, - 0xD4, 0xB5, 0xD8, 0xE3, 0xFF, 0x8E, 0xAE, 0x77, 0xCA, 0xB3, 0x53, 0xDB, 0xD6, 0xBC, 0xEF, 0x58, - 0xFE, 0xE7, 0x69, 0x7B, 0x30, 0x9C, 0x9B, 0x03, 0xF7, 0x71, 0xDA, 0x16, 0xB4, 0x0D, 0xA9, 0x77, - 0xEA, 0x3B, 0xF7, 0x11, 0x84, 0x15, 0xE9, 0x21, 0x07, 0xF1, 0x24, 0x18, 0x81, 0x19, 0x2D, 0x9A, - 0x6E, 0xE7, 0xD8, 0x0B, 0xDB, 0xAB, 0x32, 0xA9, 0x61, 0x9F, 0x6C, 0xAA, 0x00, 0x98, 0x6C, 0xA9, - 0x20, 0x9F, 0x68, 0x19, 0x6F, 0x93, 0x8D, 0xB7, 0xC8, 0xEE, 0x03, 0x7B, 0xFE, 0xC8, 0x36, 0x2C, - 0xBF, 0x21, 0xE6, 0x70, 0x60, 0xFA, 0xE6, 0x88, 0xC4, 0x0C, 0x57, 0x67, 0x37, 0x32, 0x96, 0x2D, - 0xBD, 0xB8, 0x99, 0x12, 0x0F, 0x76, 0xE1, 0x95, 0x48, 0xC0, 0x05, 0xAD, 0x14, 0x61, 0x07, 0x96, - 0x18, 0xF8, 0xD3, 0x98, 0xD7, 0x00, 0x11, 0xFF, 0x76, 0xC7, 0x03, 0xC1, 0x49, 0xD2, 0xC3, 0x2B, - 0xB7, 0x0D, 0x99, 0x7E, 0xE4, 0x63, 0xEF, 0x5A, 0xE9, 0xDF, 0xBF, 0xAE, 0x08, 0x44, 0x83, 0x0C, - 0xE1, 0x63, 0x6E, 0x10, 0x74, 0x98, 0x2A, 0x5A, 0xC7, 0xD2, 0xC6, 0x16, 0x61, 0xC4, 0xE8, 0xBB, - 0x70, 0xD7, 0x62, 0xEC, 0xC8, 0x81, 0x5D, 0x0D, 0xE3, 0xF5, 0x86, 0xFF, 0x86, 0xA7, 0xE7, 0x29, - 0x8E, 0xFB, 0x7D, 0x3C, 0xCE, 0x97, 0x85, 0x5F, 0xF5, 0xCD, 0x3A, 0x4A, 0xBC, 0x40, 0x9F, 0x6F, - 0x20, 0x9A, 0xFD, 0x93, 0x97, 0xFD, 0x77, 0xF3, 0xB2, 0xC9, 0x41, 0x37, 0xEF, 0xCF, 0x7D, 0x63, - 0x2B, 0x74, 0x3B, 0x83, 0xB9, 0x1B, 0x78, 0x0F, 0xDA, 0x54, 0x69, 0x15, 0xFF, 0x6C, 0xED, 0xD7, - 0xB3, 0xB5, 0xB6, 0x39, 0x37, 0x82, 0xE6, 0x49, 0xDF, 0x9C, 0x0F, 0x02, 0xB7, 0xFF, 0xB0, 0xAD, - 0x15, 0x00, 0xF6, 0xCF, 0xD6, 0x7E, 0xE5, 0x5B, 0x6B, 0x0D, 0x46, 0xDE, 0xDC, 0xBF, 0x2D, 0x80, - 0xBA, 0x06, 0xE7, 0x75, 0xF4, 0xAE, 0xA0, 0x79, 0x2D, 0x15, 0x90, 0x68, 0x2E, 0x2B, 0x4C, 0x8B, - 0x24, 0x01, 0xA5, 0x1E, 0x28, 0x30, 0x51, 0xFD, 0xE5, 0x71, 0x35, 0xA6, 0xAD, 0x3A, 0x2F, 0x1A, - 0x1C, 0x86, 0x49, 0xB1, 0x57, 0x4E, 0x25, 0x69, 0xB0, 0xF1, 0xA7, 0x4A, 0x5A, 0xE9, 0xB4, 0x9D, - 0x91, 0x1B, 0xCC, 0x1B, 0xAA, 0xEF, 0x1B, 0xDF, 0x4D, 0xF2, 0xBA, 0x29, 0x48, 0x9B, 0xEF, 0x14, - 0xDE, 0x83, 0xED, 0xAC, 0x44, 0x99, 0x31, 0x5B, 0x87, 0xB1, 0x62, 0x65, 0x0A, 0x6E, 0xA6, 0x97, - 0x2A, 0x61, 0xBC, 0x08, 0x63, 0xB0, 0x84, 0xDB, 0x7F, 0x7D, 0x64, 0xD7, 0x8B, 0xD4, 0x5B, 0xB1, - 0x4C, 0xC1, 0x21, 0x37, 0xC6, 0x77, 0x37, 0x64, 0x2E, 0x98, 0xB1, 0x8E, 0xD3, 0x84, 0x7B, 0x9C, - 0xB5, 0x8D, 0xCE, 0x2D, 0x16, 0xAD, 0xB6, 0x3B, 0xEC, 0x01, 0x80, 0xE9, 0x59, 0xE7, 0xF6, 0x6F, - 0xD1, 0xE0, 0x2A, 0x09, 0xBC, 0xB2, 0xFE, 0x45, 0x46, 0x54, 0x54, 0x63, 0x17, 0xE1, 0x15, 0x0B, - 0x26, 0x9F, 0xF4, 0x30, 0x0E, 0xD8, 0x15, 0x56, 0xDC, 0x8C, 0xB2, 0x10, 0x4C, 0xBC, 0xB0, 0xBE, - 0x3C, 0xA1, 0x12, 0x31, 0x38, 0x2D, 0x34, 0x18, 0x93, 0x4A, 0x71, 0x2E, 0xD7, 0x20, 0xDE, 0xA3, - 0xB9, 0x2C, 0x22, 0x48, 0x34, 0xA8, 0xA8, 0xB6, 0xB3, 0x12, 0xBB, 0xDD, 0x5A, 0x4D, 0x42, 0x9C, - 0x8E, 0x14, 0x95, 0xF2, 0x7F, 0x70, 0xC1, 0x9B, 0x72, 0x4D, 0xB5, 0xEA, 0xA2, 0x69, 0xD4, 0x2B, - 0x8F, 0xB5, 0xAA, 0x64, 0xB5, 0x53, 0x16, 0xF9, 0xF7, 0xD1, 0xCA, 0xEE, 0x7D, 0xE4, 0xF8, 0x58, - 0xA0, 0x30, 0xA7, 0xBC, 0x30, 0x51, 0xA9, 0xCF, 0x62, 0x09, 0xCA, 0x44, 0x28, 0x30, 0x6A, 0xB9, - 0x94, 0xD5, 0x99, 0x6C, 0xD7, 0xBA, 0x05, 0x1C, 0xD6, 0x1E, 0x54, 0x8D, 0x77, 0xA8, 0xE3, 0xDB, - 0x05, 0xC3, 0x9F, 0x5C, 0x0F, 0x58, 0xC9, 0xAD, 0x58, 0x89, 0x25, 0x27, 0x9C, 0x14, 0xC9, 0x2F, - 0xFE, 0xEC, 0xE2, 0x62, 0xE1, 0xCF, 0xBE, 0xE2, 0xEC, 0x03, 0xD5, 0x57, 0x2B, 0x4F, 0x2E, 0xF0, - 0x27, 0x17, 0xAF, 0x5E, 0x81, 0x36, 0xA4, 0x74, 0x79, 0x6F, 0xD3, 0xC4, 0x07, 0xB9, 0xF4, 0xD2, - 0x68, 0x9C, 0x6E, 0x9F, 0xAD, 0x1E, 0xBE, 0x94, 0x6D, 0x71, 0x3E, 0x73, 0xB7, 0x0F, 0x3C, 0xB7, - 0xA9, 0x5B, 0xA3, 0xE8, 0xEB, 0xBB, 0xD5, 0x47, 0x31, 0x99, 0x9F, 0x32, 0x16, 0x2B, 0x90, 0xED, - 0x03, 0x7D, 0x51, 0xB8, 0x1E, 0x0E, 0x86, 0x7B, 0xE9, 0xE9, 0xB9, 0xE2, 0xED, 0x49, 0x4F, 0x3C, - 0xC9, 0x3D, 0xE9, 0x89, 0xE7, 0xBA, 0xF4, 0xB4, 0xE9, 0x24, 0x08, 0x2F, 0x14, 0x3F, 0xF2, 0xB2, - 0x6C, 0xAA, 0x12, 0x4C, 0xA8, 0xB3, 0x13, 0x7A, 0x2A, 0xA5, 0x10, 0xE9, 0x54, 0x45, 0x5A, 0x6C, - 0x4B, 0xE1, 0x17, 0x88, 0xBC, 0x7C, 0xB0, 0x38, 0x39, 0xA9, 0xCA, 0x32, 0x65, 0x8B, 0xA9, 0xBA, - 0xE4, 0x7C, 0x9D, 0x8D, 0x7B, 0xBD, 0xCB, 0xCB, 0xCB, 0xEE, 0x59, 0xC8, 0x97, 0x9B, 0x39, 0x9C, - 0x4F, 0x57, 0xBD, 0x68, 0xE3, 0xEB, 0xE2, 0x6B, 0xEF, 0xD9, 0xE9, 0x1B, 0xFB, 0x69, 0x8F, 0x83, - 0xE8, 0x3D, 0xAB, 0x6B, 0xAA, 0x0A, 0x07, 0xEB, 0x64, 0x7C, 0xAA, 0xFE, 0x01, 0xB9, 0x7D, 0xFC, - 0x11, 0x66, 0xC8, 0x2E, 0xCE, 0x8A, 0x39, 0xD9, 0x0A, 0x18, 0xD3, 0x96, 0xC9, 0x2F, 0x17, 0x21, - 0xBB, 0xFC, 0x21, 0xB9, 0x9A, 0xAA, 0x78, 0x60, 0x30, 0x6D, 0x03, 0x3E, 0x2C, 0xC3, 0x00, 0xAA, - 0x33, 0xA5, 0xC0, 0xBD, 0xA9, 0x4A, 0xB7, 0x11, 0x62, 0x5F, 0xDF, 0xD0, 0x70, 0x40, 0x07, 0x94, - 0xE5, 0x45, 0xAC, 0x6D, 0x6A, 0x8A, 0x6E, 0x76, 0x60, 0xF8, 0xDA, 0xE3, 0x4B, 0x25, 0x98, 0xAA, - 0xAF, 0x06, 0xC8, 0xC2, 0x1C, 0x3A, 0xE7, 0xB6, 0x0D, 0x1C, 0x87, 0x8E, 0xA2, 0xF7, 0x23, 0xDB, - 0x85, 0x51, 0x7D, 0x2B, 0xEA, 0xC3, 0xE5, 0xDC, 0x19, 0xC1, 0xA7, 0xA3, 0x8C, 0xA0, 0xC7, 0x1E, - 0x61, 0x93, 0x15, 0x99, 0xB6, 0xA3, 0xB8, 0xC6, 0xF9, 0xC0, 0x54, 0x74, 0xC7, 0x55, 0x4C, 0x03, - 0xBA, 0x4C, 0xA3, 0x1F, 0xE9, 0xAE, 0x01, 0x37, 0xB6, 0x13, 0xD9, 0xC0, 0xE4, 0xDC, 0x82, 0xA1, - 0x8E, 0xA3, 0xD8, 0x40, 0x3E, 0xB2, 0x23, 0x18, 0x3A, 0x88, 0x80, 0x27, 0x30, 0x71, 0xCF, 0xB1, - 0xC7, 0x56, 0xE0, 0x73, 0x68, 0x9F, 0x03, 0x89, 0x8D, 0x93, 0xC2, 0x17, 0x27, 0xD2, 0xE5, 0x08, - 0xB8, 0x81, 0xF1, 0xE7, 0xF0, 0x15, 0x46, 0x8E, 0x70, 0x62, 0x62, 0xA2, 0x23, 0xE3, 0x48, 0xCE, - 0x72, 0x8E, 0x73, 0xEB, 0x28, 0x43, 0x29, 0x00, 0x09, 0x66, 0x46, 0xC8, 0xCD, 0x3E, 0xC7, 0xD9, - 0x75, 0x94, 0x42, 0x8A, 0xAE, 0x93, 0xEC, 0xBA, 0x58, 0x9C, 0xA9, 0x9C, 0xA3, 0x0C, 0x62, 0x5E, - 0x14, 0x57, 0xA7, 0xF5, 0xE3, 0x97, 0x3E, 0x8D, 0x81, 0x21, 0x48, 0x61, 0x9D, 0xA3, 0x00, 0xB0, - 0x7E, 0xE4, 0x22, 0x98, 0xD8, 0x62, 0x1E, 0xDD, 0x35, 0xCF, 0xF5, 0x81, 0xA1, 0xA0, 0x14, 0x28, - 0x01, 0x0A, 0xE0, 0xE2, 0x9E, 0x38, 0x28, 0x27, 0x30, 0x84, 0xA9, 0x1D, 0x14, 0xC4, 0x55, 0x50, - 0x74, 0x4B, 0x19, 0x44, 0x34, 0x2F, 0xAC, 0x5F, 0x1F, 0x28, 0x0E, 0xAC, 0x73, 0x00, 0xEA, 0x86, - 0xF5, 0xC3, 0xC4, 0x70, 0x07, 0x2A, 0xA2, 0xCE, 0x08, 0x06, 0x9E, 0x9B, 0x36, 0xB2, 0x15, 0x94, - 0xB6, 0x22, 0x34, 0x8B, 0x4B, 0x76, 0x86, 0x0A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x4C, 0xA0, 0x84, - 0x9E, 0x08, 0xA5, 0x84, 0x99, 0x60, 0x3E, 0x21, 0x23, 0xF4, 0x46, 0xB4, 0x02, 0x68, 0x46, 0x35, - 0xE3, 0x9A, 0x3E, 0xD1, 0x46, 0xBB, 0xA0, 0xD0, 0x73, 0xDD, 0x1D, 0xE1, 0x4A, 0x49, 0xD5, 0x03, - 0x9B, 0xC3, 0x2F, 0x29, 0xA4, 0xDB, 0xE7, 0xE5, 0x5D, 0xDE, 0x89, 0x57, 0xB8, 0x40, 0x87, 0x68, - 0xD7, 0xCB, 0x3B, 0xD1, 0xF5, 0x09, 0x6C, 0xA9, 0x87, 0xC6, 0x04, 0x97, 0x33, 0xF8, 0x05, 0xE3, - 0x9D, 0x29, 0x27, 0x90, 0xB8, 0xC5, 0x85, 0x7F, 0xE4, 0x47, 0x56, 0x75, 0xF6, 0x3C, 0x4C, 0x57, - 0x97, 0x90, 0xE0, 0xC1, 0x30, 0x18, 0x00, 0xA3, 0x3D, 0xF8, 0x45, 0x67, 0xFA, 0x7C, 0x87, 0xD2, - 0x7F, 0x7D, 0xF6, 0xC3, 0xFB, 0x17, 0x5F, 0x99, 0x5B, 0x41, 0xDE, 0x76, 0xEE, 0x5A, 0xC8, 0x71, - 0x60, 0x74, 0xD1, 0xFA, 0x2C, 0x54, 0xAD, 0x03, 0xCA, 0xEF, 0x8F, 0xB8, 0x69, 0x0E, 0xB0, 0xCD, - 0xC5, 0xB6, 0x91, 0x83, 0xB7, 0x23, 0xD8, 0x01, 0x97, 0x2E, 0x8E, 0x55, 0x74, 0xA1, 0xE9, 0xF5, - 0x87, 0xA4, 0xF0, 0xE2, 0x0E, 0x0D, 0x97, 0x3A, 0xF5, 0x81, 0x2B, 0x09, 0xF5, 0x82, 0x85, 0x5E, - 0x65, 0xAC, 0xE7, 0xB3, 0xC1, 0x76, 0x8D, 0x0A, 0x11, 0xE4, 0x17, 0xAB, 0x18, 0x41, 0x03, 0x88, - 0x4C, 0x50, 0x11, 0xB3, 0x51, 0xCE, 0x7F, 0x24, 0xA6, 0xCC, 0x19, 0x2A, 0x24, 0x44, 0x7E, 0x25, - 0x51, 0xA9, 0x0B, 0x64, 0x1F, 0xF5, 0x15, 0x9E, 0xD3, 0x56, 0xF8, 0xC9, 0x29, 0x84, 0x16, 0x70, - 0xD6, 0x4F, 0xAF, 0x5C, 0xD7, 0x85, 0xBE, 0x11, 0xB9, 0x38, 0x7A, 0xB9, 0x09, 0xF6, 0x6A, 0x71, - 0x12, 0x90, 0x90, 0xA3, 0x3F, 0x44, 0x7B, 0x06, 0xA1, 0x46, 0x88, 0x10, 0xA6, 0x85, 0xFE, 0x06, - 0xBA, 0xB1, 0x60, 0x10, 0x7E, 0xE0, 0x37, 0x71, 0x83, 0x57, 0xE8, 0x81, 0xDB, 0x73, 0x9C, 0x44, - 0xB1, 0xC0, 0x40, 0x4D, 0x50, 0xBB, 0x62, 0x8E, 0x14, 0x87, 0xA6, 0x03, 0x99, 0x87, 0xB8, 0x74, - 0x18, 0xA1, 0x0F, 0x81, 0xD9, 0x00, 0x01, 0x6D, 0x80, 0x5C, 0x5D, 0x00, 0x11, 0x13, 0x6D, 0x7E, - 0xA0, 0x08, 0xA8, 0x31, 0x70, 0x2F, 0xE0, 0x0A, 0x22, 0x9E, 0x5B, 0x88, 0x44, 0xE0, 0xA8, 0x43, - 0x00, 0x05, 0x93, 0x23, 0xA1, 0x6B, 0xF1, 0x91, 0xD8, 0x18, 0x13, 0x56, 0x87, 0xE0, 0xE1, 0xE2, - 0xE2, 0x6C, 0x9B, 0x14, 0x8B, 0x93, 0xC9, 0x2F, 0x96, 0x43, 0xFD, 0xD4, 0x4D, 0x14, 0x2E, 0x7A, - 0xCC, 0xD0, 0x10, 0x57, 0xE0, 0x38, 0x84, 0x89, 0xCE, 0x4D, 0xF0, 0x64, 0x50, 0x99, 0xE2, 0xE4, - 0x7A, 0x75, 0xA0, 0xF7, 0x5C, 0x1F, 0x11, 0x1E, 0xA3, 0x50, 0xB0, 0x12, 0x77, 0xF4, 0xE9, 0x95, - 0x03, 0x50, 0x30, 0xB4, 0x86, 0x80, 0x2A, 0x88, 0x26, 0x12, 0x15, 0xE9, 0x97, 0x76, 0xD4, 0xC6, - 0x59, 0x68, 0xF3, 0x89, 0xDE, 0x06, 0x52, 0xDC, 0x09, 0x5C, 0x96, 0x09, 0x48, 0x82, 0x4B, 0xB3, - 0x15, 0x9B, 0xEC, 0xC4, 0x34, 0xB9, 0x8D, 0x9B, 0x62, 0x0E, 0x23, 0xE0, 0x05, 0x78, 0x02, 0x93, - 0xA2, 0xFE, 0x51, 0x44, 0x14, 0x1C, 0xA4, 0x18, 0xC8, 0x5B, 0x42, 0x4F, 0x04, 0x50, 0x00, 0x0B, - 0x10, 0x07, 0x26, 0x25, 0x69, 0x75, 0x0B, 0x54, 0x6D, 0x70, 0xDD, 0xB6, 0x50, 0x9F, 0x0F, 0x72, - 0xFE, 0x17, 0x78, 0x16, 0x5C, 0xC0, 0x81, 0xEE, 0x2F, 0xF0, 0xFE, 0xDE, 0x65, 0xF8, 0x31, 0xFC, - 0x3A, 0x7C, 0xDE, 0x1C, 0x0E, 0xCF, 0x71, 0xFF, 0x0C, 0xB0, 0x3C, 0x50, 0x9F, 0xD3, 0x47, 0x13, - 0x71, 0x1D, 0x61, 0x80, 0x00, 0xA8, 0x96, 0x4D, 0x86, 0x87, 0x7B, 0xD6, 0x17, 0x0E, 0xE9, 0x70, - 0xBD, 0x72, 0x5B, 0x19, 0xA0, 0x57, 0xE8, 0xF4, 0x92, 0x1B, 0xDD, 0x8A, 0x3B, 0x31, 0x80, 0xFA, - 0x91, 0x4E, 0x92, 0x11, 0x37, 0x64, 0x56, 0xDC, 0x94, 0x9D, 0x25, 0x45, 0xCE, 0xE5, 0xD3, 0xAB, - 0x3E, 0xF8, 0xCF, 0xC8, 0x81, 0x68, 0x66, 0x51, 0x60, 0x00, 0x27, 0xD2, 0xFB, 0x12, 0xEB, 0x75, - 0x0B, 0x5D, 0x02, 0x0C, 0x5D, 0xDA, 0x19, 0xD9, 0x98, 0x08, 0x1B, 0x12, 0x65, 0xD0, 0x06, 0xD1, - 0x45, 0xC1, 0x5B, 0x2D, 0xBA, 0x2C, 0x4D, 0xDB, 0x3C, 0xB7, 0x91, 0x8F, 0x02, 0x46, 0x66, 0x9A, - 0xE7, 0x03, 0xEC, 0xB0, 0xC8, 0xF5, 0x5D, 0x21, 0x92, 0x7B, 0x6E, 0xA1, 0xCE, 0x6D, 0xE2, 0x65, - 0xE2, 0x0C, 0x26, 0xDD, 0x5A, 0x30, 0x05, 0xF1, 0x82, 0x89, 0x87, 0x98, 0x17, 0xC0, 0x5A, 0xD1, - 0x7E, 0x21, 0x62, 0x9A, 0x14, 0xB2, 0xC8, 0xD3, 0x50, 0x49, 0x64, 0xF9, 0x84, 0x85, 0x38, 0x29, - 0xB1, 0xD0, 0xD1, 0x61, 0xCD, 0x21, 0x2A, 0x45, 0xF8, 0x23, 0xC2, 0x1C, 0x39, 0x08, 0xF4, 0x81, - 0xFC, 0x0E, 0x7A, 0x0E, 0x08, 0xAC, 0x50, 0x23, 0x4A, 0xCF, 0x49, 0x28, 0x1D, 0x86, 0x2F, 0x4D, - 0xC8, 0x44, 0xC4, 0x9E, 0x29, 0x2E, 0xB7, 0x49, 0x52, 0x1B, 0x41, 0xC3, 0x71, 0xB9, 0x85, 0x73, - 0x0D, 0x51, 0x87, 0x00, 0xE8, 0x06, 0x88, 0x87, 0x88, 0x00, 0x1B, 0xEC, 0xDA, 0x0A, 0x27, 0xA4, - 0x00, 0x1C, 0x04, 0x0D, 0xE1, 0x28, 0x9B, 0xD4, 0x3F, 0x00, 0xA7, 0x72, 0xB1, 0x05, 0xF1, 0x07, - 0xE2, 0xEE, 0x10, 0xD8, 0x18, 0xC6, 0x12, 0xA4, 0x31, 0x40, 0x02, 0x83, 0x16, 0x32, 0x2C, 0xE4, - 0x17, 0xD0, 0x04, 0x9F, 0x17, 0x34, 0x80, 0x56, 0xA3, 0x14, 0x8D, 0xBC, 0x18, 0xB9, 0xC4, 0x5E, - 0xA2, 0xA6, 0x26, 0xEC, 0x1B, 0x92, 0x2B, 0x03, 0xA5, 0x20, 0x34, 0x0D, 0x1A, 0x48, 0x4D, 0x12, - 0xF3, 0xE0, 0xF7, 0x41, 0x3E, 0xFA, 0x33, 0x8B, 0xD6, 0x3B, 0xDC, 0x53, 0xA1, 0x7C, 0x79, 0xAA, - 0x56, 0x0E, 0x9F, 0x95, 0x12, 0x12, 0x25, 0xF5, 0xAA, 0x12, 0x82, 0x0B, 0x3C, 0xFF, 0xF5, 0xDF, - 0xCF, 0xDE, 0x9E, 0xBE, 0x78, 0xFD, 0x8B, 0x3A, 0xFB, 0xB7, 0xD9, 0xB5, 0xBB, 0xA6, 0xE0, 0xD0, - 0xC3, 0xA4, 0xB9, 0x27, 0x5E, 0x8E, 0x3B, 0xE9, 0x41, 0xA2, 0xBD, 0x33, 0xDB, 0x16, 0xA5, 0xA8, - 0xD9, 0xC9, 0xD2, 0x22, 0x5E, 0xAF, 0x4E, 0x7F, 0x42, 0xD1, 0x97, 0x16, 0x7C, 0xE4, 0x5D, 0x7B, - 0x68, 0x69, 0xFC, 0xE9, 0x9B, 0x17, 0xCF, 0x9F, 0x9F, 0xAA, 0xDB, 0xDD, 0xF9, 0x3B, 0x39, 0x90, - 0x7F, 0x40, 0xEB, 0x52, 0x79, 0x1E, 0x46, 0x2C, 0xBB, 0xCE, 0x38, 0x5B, 0xED, 0xE1, 0x47, 0x67, - 0x2B, 0x60, 0x44, 0xE5, 0x38, 0x85, 0xCA, 0x71, 0x2A, 0x56, 0x66, 0xC4, 0x3C, 0x54, 0x8A, 0x13, - 0x35, 0x21, 0x55, 0x89, 0xBD, 0x15, 0x74, 0xAE, 0xAE, 0xB1, 0x31, 0xFB, 0xED, 0x77, 0x55, 0x59, - 0x6D, 0x22, 0x1E, 0xAE, 0x51, 0x59, 0xF9, 0x9D, 0x0A, 0xEA, 0x16, 0x9C, 0x4A, 0x84, 0x53, 0x2A, - 0x4F, 0xBB, 0x55, 0x39, 0x83, 0x28, 0xEB, 0x89, 0x39, 0x6A, 0x95, 0x3E, 0x55, 0x49, 0x62, 0x3F, - 0x0A, 0xFD, 0x8F, 0xB0, 0x46, 0x16, 0x07, 0x38, 0x55, 0xBB, 0x33, 0x01, 0xFC, 0xF2, 0xA2, 0x0D, - 0xD0, 0xBD, 0xA7, 0xB1, 0xEA, 0xEC, 0x28, 0x9E, 0x67, 0xEB, 0x89, 0xF8, 0x3C, 0x59, 0xA7, 0xC9, - 0x59, 0x8A, 0x4F, 0xC7, 0xE4, 0xCE, 0x5D, 0x84, 0x59, 0x38, 0x0F, 0xA3, 0x90, 0x5F, 0x8F, 0x97, - 0x61, 0x10, 0xB0, 0x38, 0x17, 0x7D, 0x9D, 0x9E, 0x89, 0x29, 0xE9, 0x06, 0x4E, 0x51, 0x74, 0xD0, - 0x21, 0x9B, 0x91, 0x2C, 0xE0, 0x7C, 0x94, 0x8A, 0xDF, 0x1D, 0x7B, 0xB6, 0x4F, 0x75, 0x72, 0xAF, - 0xC5, 0x61, 0x29, 0x87, 0x60, 0x3A, 0x3F, 0x3D, 0x44, 0x15, 0xB5, 0x75, 0xFF, 0x98, 0xAC, 0x56, - 0x70, 0xD4, 0x6B, 0xB7, 0xF0, 0xCD, 0xB8, 0x96, 0xD6, 0xF2, 0xA2, 0xA8, 0x55, 0x51, 0xC3, 0x5B, - 0xB6, 0x00, 0x69, 0x97, 0x6A, 0x69, 0xB4, 0xD5, 0x59, 0x51, 0xCE, 0x82, 0xDB, 0x8F, 0x29, 0x03, - 0x3C, 0x0F, 0xC2, 0xB4, 0xDD, 0x51, 0x1B, 0x61, 0xA7, 0x16, 0x32, 0x1C, 0xA3, 0x8C, 0x18, 0x78, - 0x5F, 0x0B, 0x18, 0x0E, 0xFE, 0x83, 0xF1, 0x29, 0xD8, 0x81, 0x02, 0x6D, 0x7D, 0x55, 0xB9, 0x46, - 0xDD, 0xA9, 0x39, 0xB5, 0x5D, 0xA1, 0xB6, 0xE0, 0x3E, 0x85, 0x41, 0x16, 0x5C, 0xAE, 0xE9, 0x02, - 0xBB, 0x18, 0x4D, 0x55, 0x59, 0x32, 0x54, 0x7B, 0x25, 0x1F, 0x1C, 0x7A, 0x4D, 0xEC, 0xF2, 0xC0, - 0xD5, 0xAF, 0xC4, 0xAD, 0xFE, 0x9D, 0x7C, 0xD0, 0x31, 0x91, 0x8F, 0x29, 0x04, 0xB2, 0xE0, 0x52, - 0x14, 0x4A, 0xA1, 0xD5, 0x95, 0x5F, 0x2F, 0x25, 0x47, 0x17, 0x36, 0x5B, 0x32, 0xA1, 0x9A, 0xAB, - 0x3A, 0x3B, 0x06, 0x05, 0x02, 0x0F, 0x09, 0x15, 0xD2, 0x45, 0x8A, 0x38, 0x8D, 0x8A, 0x44, 0x73, - 0x11, 0x85, 0xC1, 0x42, 0x7D, 0xF2, 0x6B, 0x63, 0x78, 0xE3, 0xE8, 0x9C, 0xD3, 0x22, 0x1A, 0x15, - 0x94, 0xF8, 0xEA, 0x58, 0x6E, 0xBC, 0x55, 0xEA, 0x1A, 0x66, 0x88, 0x83, 0xB8, 0xA4, 0x10, 0x5F, - 0x6A, 0x6F, 0x8C, 0xAA, 0xB9, 0x9D, 0x97, 0x45, 0x65, 0x34, 0x42, 0x71, 0xBC, 0x27, 0x23, 0x5C, - 0x56, 0xCD, 0xE1, 0x1D, 0x58, 0x19, 0xF0, 0x5E, 0x62, 0xFB, 0xEC, 0x17, 0xF0, 0x83, 0xE2, 0xCB, - 0x29, 0x68, 0x29, 0xFF, 0x52, 0x33, 0xA0, 0x46, 0x9B, 0x5C, 0x11, 0xB5, 0x4A, 0x49, 0xE5, 0x64, - 0xE8, 0x00, 0x05, 0x4E, 0xFC, 0x81, 0xB6, 0x4A, 0xE3, 0x44, 0x8D, 0xE1, 0x30, 0x06, 0xCA, 0xAA, - 0x8D, 0xF0, 0xC7, 0x8C, 0x7B, 0x7C, 0x93, 0x95, 0x1A, 0xDD, 0xFA, 0xBC, 0x8F, 0x37, 0x96, 0xC8, - 0x27, 0x4F, 0x5E, 0xCA, 0xFB, 0x75, 0x00, 0xB6, 0x7F, 0x07, 0xF0, 0xD5, 0xBC, 0x77, 0x2F, 0x0E, - 0x5E, 0xEE, 0x45, 0xC1, 0x8A, 0xBD, 0x3C, 0x0E, 0xF9, 0x80, 0xF7, 0x16, 0x06, 0x08, 0x9C, 0xDB, - 0x46, 0x3F, 0x5C, 0x4F, 0x75, 0xC6, 0x87, 0x40, 0xDF, 0xE2, 0xB2, 0x00, 0x3F, 0xBC, 0xDD, 0x0D, - 0x7F, 0x05, 0x67, 0x0A, 0x9A, 0x38, 0xDC, 0x4F, 0x36, 0x18, 0x8F, 0x70, 0x98, 0x8C, 0x95, 0x7B, - 0xA2, 0x5C, 0xA9, 0x66, 0xE1, 0x33, 0x67, 0xA0, 0x0E, 0xEF, 0x8C, 0x15, 0xC6, 0x4F, 0x35, 0xAA, - 0xFA, 0xC6, 0xD5, 0xCA, 0x56, 0xBB, 0xBA, 0x44, 0x5D, 0x12, 0x7A, 0x96, 0xF6, 0xEC, 0x05, 0x2C, - 0x87, 0x87, 0x8B, 0xD0, 0xA7, 0xEA, 0x39, 0x04, 0x4B, 0x7B, 0x87, 0x75, 0x94, 0xF5, 0x42, 0x55, - 0xAC, 0x61, 0x56, 0x0B, 0xFF, 0xA2, 0x1B, 0x5D, 0x5E, 0x55, 0x8A, 0x64, 0x77, 0xF6, 0x3E, 0x03, - 0x37, 0x92, 0xCB, 0x6B, 0xC4, 0xAF, 0xEA, 0x5B, 0x22, 0xF9, 0x16, 0x0A, 0xF2, 0x62, 0x91, 0x7F, - 0xE0, 0x83, 0x93, 0x3F, 0x44, 0x63, 0x2D, 0x77, 0xC0, 0x1A, 0x6C, 0xA9, 0xB6, 0x65, 0x7A, 0x7F, - 0x81, 0xDE, 0x40, 0xDF, 0x25, 0x78, 0xF7, 0x03, 0x84, 0x5A, 0x4B, 0x92, 0xAA, 0x60, 0x79, 0xDB, - 0xDD, 0xC2, 0xCD, 0x77, 0xE5, 0x1B, 0xD5, 0xEA, 0x6A, 0x23, 0x43, 0xC8, 0x0D, 0x76, 0x9F, 0xAD, - 0x97, 0xC1, 0x6C, 0x33, 0x5F, 0x85, 0xFC, 0x2D, 0x3B, 0xDF, 0xB0, 0x8C, 0x63, 0x08, 0x92, 0xA6, - 0x2C, 0xDA, 0x77, 0x7A, 0x7C, 0xE6, 0x03, 0xCC, 0xF1, 0xD9, 0x85, 0x97, 0x2A, 0xFE, 0x26, 0xC5, - 0x27, 0x64, 0x88, 0xA1, 0x53, 0xB5, 0xA7, 0x4E, 0x16, 0x9B, 0x98, 0x9E, 0xC0, 0x81, 0x51, 0x5F, - 0xCC, 0x3D, 0x08, 0x69, 0x37, 0x38, 0x0A, 0xD8, 0x55, 0xBC, 0x58, 0xD5, 0xF8, 0xB4, 0x42, 0xD7, - 0xCD, 0xD6, 0xE0, 0x0E, 0x6D, 0xA0, 0xEE, 0x68, 0x31, 0x32, 0xD1, 0xC2, 0xA9, 0x39, 0x01, 0x0D, - 0xB6, 0xD9, 0x31, 0xD2, 0x05, 0x72, 0x0D, 0x2D, 0x11, 0x14, 0x5B, 0x4A, 0x21, 0xFB, 0x07, 0xB5, - 0x3A, 0x7D, 0xAB, 0xD7, 0x9A, 0x28, 0xFB, 0x43, 0xF3, 0x07, 0x75, 0xD6, 0x23, 0xCF, 0x50, 0x27, - 0xE1, 0x09, 0xEF, 0x46, 0x2C, 0x3E, 0xE3, 0x90, 0x05, 0x4F, 0x3A, 0x7B, 0x66, 0xD9, 0x33, 0x89, - 0x7A, 0xDC, 0x8E, 0x8F, 0xA7, 0xFC, 0xB7, 0xF0, 0xF7, 0x63, 0x94, 0xF8, 0x58, 0xBD, 0x6B, 0x52, - 0xF5, 0x58, 0x0C, 0x2E, 0x1C, 0x57, 0x4A, 0xA1, 0x85, 0xC7, 0xC7, 0x93, 0x94, 0xF1, 0x4D, 0x1A, - 0x2B, 0x24, 0x42, 0xD5, 0x61, 0xD5, 0xDB, 0x42, 0x91, 0x60, 0x73, 0xD9, 0xF2, 0x8F, 0x10, 0x8C, - 0x09, 0x94, 0x29, 0xC6, 0xAB, 0x79, 0x78, 0x6E, 0xF5, 0xAD, 0x16, 0x84, 0xD5, 0x96, 0x09, 0x17, - 0x08, 0xC4, 0xAD, 0x41, 0x0B, 0x03, 0x31, 0x5E, 0x44, 0x60, 0x68, 0x59, 0xFD, 0x56, 0x1E, 0xAD, - 0x5B, 0xC3, 0x96, 0xB4, 0xAF, 0x16, 0x06, 0xD8, 0x71, 0xCA, 0x82, 0x49, 0x4B, 0xE9, 0x81, 0x20, - 0xDB, 0xEC, 0x76, 0x33, 0xB0, 0xEA, 0x0C, 0x28, 0x40, 0x6F, 0xB1, 0xB0, 0x0D, 0xC1, 0xC2, 0xDD, - 0x23, 0xD1, 0x60, 0x58, 0x32, 0x04, 0x6C, 0xBB, 0x5B, 0x26, 0xAB, 0xCE, 0xD0, 0x34, 0x04, 0x47, - 0xBC, 0x4A, 0x96, 0x6E, 0x95, 0xA5, 0x73, 0x6F, 0x8E, 0xD6, 0x68, 0x27, 0x07, 0xFB, 0x3E, 0xAB, - 0x74, 0x04, 0x0B, 0xC7, 0x16, 0x42, 0x0D, 0x85, 0x4C, 0xC3, 0x82, 0x61, 0x85, 0xDF, 0xE0, 0x5E, - 0x0C, 0x07, 0x5F, 0x9A, 0xA1, 0xFB, 0x25, 0x18, 0x8A, 0xA4, 0x0B, 0xD9, 0x96, 0x79, 0x68, 0xCB, - 0x72, 0x2A, 0x26, 0x01, 0xF7, 0x79, 0x1E, 0xDA, 0xA2, 0xD3, 0xA0, 0x85, 0x95, 0x33, 0xB7, 0x35, - 0xFB, 0x92, 0x26, 0xFA, 0xB9, 0xF6, 0xF9, 0x65, 0x8D, 0xF3, 0x0B, 0x5B, 0xE6, 0xE7, 0x9A, 0xE5, - 0x97, 0xB5, 0xC9, 0x2F, 0x6B, 0x90, 0x7F, 0x89, 0x35, 0x96, 0xD0, 0x88, 0x8F, 0x08, 0x9B, 0xC8, - 0x78, 0x5F, 0x43, 0xB5, 0x1C, 0xF8, 0xD7, 0x2A, 0xCA, 0x65, 0xAD, 0x57, 0x43, 0xCD, 0x56, 0x5E, - 0x5A, 0x9A, 0xAB, 0xBC, 0x1C, 0x6A, 0xA6, 0x4D, 0x9F, 0x86, 0xF2, 0xD2, 0x94, 0x17, 0x57, 0x33, - 0x4D, 0x71, 0xE9, 0x8B, 0xC6, 0x01, 0x5C, 0x0C, 0xBA, 0x8C, 0x34, 0x73, 0x48, 0x9F, 0x23, 0x6A, - 0xB2, 0x60, 0xB8, 0x25, 0x2F, 0x96, 0x66, 0xBA, 0x74, 0x71, 0xA9, 0x6D, 0x80, 0x5C, 0x07, 0xCA, - 0x27, 0x5C, 0x60, 0x9A, 0x7C, 0x84, 0x15, 0x52, 0xB1, 0xA3, 0x25, 0x4E, 0x3C, 0x2D, 0x5A, 0xE9, - 0xCE, 0x85, 0x8A, 0xCC, 0xF6, 0x0F, 0x3C, 0x23, 0xB2, 0xCE, 0x4D, 0x25, 0x1E, 0x1D, 0x4F, 0x19, - 0x86, 0x21, 0xAD, 0x1A, 0x81, 0x54, 0xCA, 0xF2, 0x35, 0x15, 0x22, 0x90, 0xDA, 0x29, 0x79, 0xF8, - 0xC9, 0x0A, 0xDF, 0x66, 0x39, 0x85, 0x23, 0x4A, 0x7C, 0x96, 0xB5, 0x99, 0xC6, 0x73, 0xA5, 0xB5, - 0xD9, 0x94, 0x75, 0x79, 0xF2, 0x32, 0xB9, 0x64, 0xE9, 0x8F, 0x5E, 0x06, 0x09, 0x6D, 0xE7, 0xA4, - 0xCD, 0xA7, 0xBC, 0xD1, 0xF6, 0x44, 0x37, 0xC7, 0xFC, 0x84, 0x3D, 0x31, 0xC7, 0x46, 0xC9, 0x15, - 0xDF, 0x24, 0xF0, 0xB8, 0xBF, 0xA4, 0x5C, 0x9B, 0xCE, 0x08, 0x28, 0x21, 0xC6, 0x7C, 0x38, 0xCD, - 0xA9, 0x10, 0xCF, 0xBF, 0x31, 0x27, 0xE1, 0x02, 0xB8, 0xA9, 0xD5, 0x82, 0xC0, 0x29, 0x8D, 0x1C, - 0x2B, 0xEA, 0x31, 0xEB, 0x0A, 0x2A, 0x8D, 0x1F, 0xD7, 0x87, 0xFC, 0x59, 0xFD, 0xF2, 0x2E, 0xE1, - 0x5E, 0xA4, 0x88, 0xF7, 0x6F, 0x88, 0x88, 0x63, 0xC3, 0x61, 0x1A, 0x48, 0x19, 0x83, 0x2A, 0x09, - 0xE4, 0x80, 0xC1, 0x61, 0x8A, 0xD7, 0xBE, 0xBF, 0x59, 0x8B, 0x17, 0x3F, 0x14, 0x95, 0x86, 0x9E, - 0xAC, 0x18, 0x64, 0x56, 0xCA, 0x2A, 0x8C, 0xC1, 0x68, 0x5A, 0x94, 0x90, 0x0B, 0x5C, 0x58, 0x82, - 0x55, 0x4D, 0x5B, 0x23, 0xB8, 0x13, 0xD9, 0x52, 0x0B, 0x67, 0x48, 0x0A, 0x7A, 0xC8, 0x0A, 0x60, - 0x13, 0x89, 0x58, 0x9E, 0x25, 0x9B, 0xFD, 0xDF, 0xA9, 0x5A, 0x90, 0xF8, 0x9B, 0x15, 0xEC, 0x63, - 0xF7, 0x8C, 0xF1, 0x67, 0x11, 0xC3, 0xDB, 0x1F, 0xAE, 0x5F, 0xC0, 0xFE, 0xC9, 0xB3, 0x56, 0xA7, - 0x1B, 0xC6, 0x31, 0x4B, 0x7F, 0x7E, 0xF7, 0xEA, 0xE5, 0x94, 0x6B, 0xA4, 0x4E, 0xD8, 0xEA, 0x6F, - 0xAA, 0xA9, 0x93, 0xD0, 0x74, 0x58, 0xCB, 0xA6, 0x20, 0x8B, 0xE1, 0x2F, 0xF0, 0x0D, 0x8E, 0xD7, - 0x0B, 0xCC, 0xA9, 0xB4, 0x5A, 0x9F, 0x48, 0x7A, 0xAC, 0xCE, 0x84, 0x56, 0xC7, 0xD3, 0xDC, 0xD3, - 0xAA, 0xAF, 0xAA, 0x1E, 0x48, 0x7D, 0x6A, 0x59, 0x1B, 0x0C, 0x61, 0x6D, 0x03, 0xD2, 0x18, 0xF3, - 0x1E, 0x59, 0x10, 0x26, 0x58, 0x90, 0x0A, 0x55, 0x3C, 0xB6, 0xCC, 0x88, 0xC0, 0x34, 0x23, 0x4C, - 0x72, 0x01, 0x1F, 0x5A, 0x33, 0x38, 0x12, 0x76, 0xBB, 0xE5, 0x09, 0x46, 0xBD, 0x85, 0x35, 0x4C, - 0xAB, 0x0B, 0x3C, 0x3A, 0x6A, 0x83, 0x55, 0x19, 0x1D, 0x8D, 0xD1, 0xFB, 0x49, 0x59, 0x17, 0x04, - 0xE7, 0xED, 0xDC, 0x20, 0xAB, 0x76, 0xBD, 0x65, 0xF2, 0x5D, 0x3C, 0x69, 0x69, 0x9C, 0x2E, 0x9D, - 0xDB, 0x0E, 0xE5, 0x98, 0xA8, 0xC0, 0x68, 0x6A, 0x4C, 0xA2, 0x93, 0x9C, 0x9F, 0x50, 0xD2, 0x24, - 0x3A, 0x3E, 0xEE, 0xA8, 0xBA, 0x09, 0x0A, 0x17, 0xF4, 0x6D, 0xD9, 0xFF, 0x5B, 0xF4, 0x7B, 0x17, - 0xAB, 0x17, 0x1D, 0x10, 0x84, 0xB4, 0xF8, 0xEE, 0xED, 0x4C, 0x5A, 0x0B, 0x9D, 0xCA, 0x00, 0x7F, - 0xAA, 0xA0, 0x53, 0xC1, 0xA2, 0x1D, 0xF8, 0xA3, 0xCC, 0x3E, 0xF0, 0x12, 0x82, 0x4C, 0xCD, 0x02, - 0x08, 0xD1, 0x2C, 0x13, 0x81, 0xC8, 0xC2, 0xFB, 0x81, 0xB8, 0x0C, 0xA9, 0xCD, 0x44, 0xF0, 0x78, - 0x69, 0x5A, 0xF2, 0xD3, 0x54, 0x70, 0x98, 0x79, 0x0F, 0x38, 0xC1, 0xD7, 0x97, 0x94, 0x2B, 0x53, - 0x04, 0xE1, 0x6B, 0xBC, 0xB6, 0x94, 0x2B, 0x0B, 0x2E, 0x00, 0xBB, 0xD7, 0x16, 0x05, 0xC0, 0x06, - 0x07, 0xF1, 0x55, 0x97, 0xC2, 0x9B, 0xAD, 0x5E, 0xBE, 0xC4, 0x82, 0x55, 0x5F, 0x72, 0x32, 0x24, - 0x2B, 0x5B, 0xB0, 0x32, 0x8D, 0x7B, 0xF0, 0x82, 0x35, 0x6F, 0xF1, 0x71, 0x1A, 0x7C, 0x9C, 0x47, - 0xF2, 0x71, 0x1B, 0x7C, 0xDC, 0x7B, 0xF0, 0xC9, 0x6B, 0x4B, 0x94, 0x96, 0xC3, 0x32, 0x5B, 0x27, - 0xEF, 0x9E, 0xCA, 0xE3, 0xC0, 0x07, 0x79, 0x1E, 0xF8, 0x90, 0x07, 0x25, 0xB5, 0x78, 0x65, 0x67, - 0x7D, 0x35, 0x51, 0xF1, 0x49, 0x91, 0x78, 0x34, 0xD4, 0x02, 0x07, 0x27, 0x44, 0xAE, 0x98, 0x09, - 0xDA, 0xD9, 0x71, 0xAB, 0x78, 0x10, 0x24, 0x9E, 0x03, 0xD5, 0x0E, 0x70, 0x95, 0x62, 0x77, 0x0B, - 0x67, 0x6E, 0x10, 0x6B, 0x2A, 0xBD, 0x8B, 0xD5, 0xC5, 0x3F, 0xF2, 0xEF, 0x9E, 0x7D, 0x02, 0x5B, - 0x6C, 0x0C, 0x38, 0x3A, 0xAA, 0x8C, 0xD8, 0xEE, 0xFE, 0xF3, 0x4F, 0xF4, 0x15, 0xB3, 0x23, 0xF6, - 0x4E, 0x1E, 0xE1, 0xB0, 0x90, 0xFE, 0xEE, 0xE9, 0x0C, 0xD6, 0x28, 0x56, 0xDB, 0xB0, 0x6B, 0x39, - 0x56, 0x8C, 0xC8, 0xCD, 0xD7, 0xF8, 0xAE, 0x55, 0x95, 0xFB, 0x83, 0x2C, 0x50, 0x7E, 0x50, 0x2B, - 0x58, 0xF1, 0x14, 0x82, 0x14, 0x67, 0x6D, 0x82, 0xC2, 0xBA, 0x0A, 0xD4, 0x56, 0x07, 0x0F, 0x42, - 0xC8, 0xB9, 0x7A, 0x9A, 0xA9, 0x49, 0x85, 0xF3, 0x09, 0xA7, 0xC7, 0x0F, 0xF4, 0xA9, 0xD2, 0x3F, - 0x03, 0xF0, 0xCF, 0xA0, 0xE9, 0x9F, 0x81, 0xF4, 0xCF, 0x69, 0xD3, 0x3F, 0x83, 0x2F, 0xEA, 0x9F, - 0x15, 0xEF, 0x1C, 0x89, 0x1C, 0x60, 0x84, 0xD1, 0x1C, 0x32, 0x01, 0x08, 0xFA, 0xF2, 0xA3, 0x8F, - 0x71, 0xDD, 0x41, 0x6F, 0x74, 0xD0, 0x7F, 0xFB, 0xE4, 0xC4, 0x16, 0x0D, 0xC5, 0x0B, 0x66, 0x03, - 0xE8, 0xD2, 0x36, 0xD1, 0xF7, 0xE9, 0xD3, 0x12, 0x1E, 0x0D, 0xFD, 0xF7, 0x4B, 0x06, 0x4A, 0xE3, - 0x54, 0x71, 0x5B, 0xEA, 0x87, 0x55, 0xA5, 0x30, 0xA3, 0x22, 0x75, 0xDA, 0x7E, 0x9B, 0xB0, 0x0A, - 0xEB, 0x95, 0x7C, 0xA2, 0xB2, 0x5D, 0x41, 0xB9, 0x5D, 0x93, 0x7C, 0xBF, 0x1A, 0x7D, 0x35, 0xE3, - 0xC8, 0xE5, 0x79, 0xB4, 0xAD, 0xEC, 0x9F, 0xFF, 0x51, 0xE6, 0xB2, 0x37, 0xA0, 0xE2, 0xB3, 0x9B, - 0x6A, 0x34, 0x8D, 0x9F, 0xA8, 0xF8, 0xD4, 0x45, 0xA9, 0x39, 0x97, 0x12, 0x66, 0x10, 0xE8, 0xB3, - 0x0C, 0xB4, 0xA6, 0x29, 0xEB, 0x08, 0xFF, 0xA0, 0x55, 0x11, 0xE5, 0x3F, 0x25, 0xE4, 0xEA, 0x58, - 0xCD, 0x3D, 0xBD, 0xD5, 0x6B, 0xC9, 0x95, 0x29, 0xAD, 0x46, 0x55, 0xA5, 0x35, 0xFB, 0x29, 0x51, - 0x78, 0xA2, 0xD0, 0x43, 0x60, 0x25, 0x2C, 0x9F, 0x30, 0x7B, 0xB3, 0x03, 0xE1, 0xBE, 0xAC, 0xCC, - 0xD6, 0x23, 0xFE, 0x5E, 0x02, 0x2A, 0x58, 0xD7, 0xD6, 0x23, 0x6B, 0x2D, 0x65, 0x5A, 0x26, 0x7D, - 0x11, 0x93, 0xC5, 0x24, 0x5E, 0x84, 0xE9, 0xAA, 0xAD, 0xFE, 0x28, 0x6E, 0x94, 0x00, 0xBB, 0x70, - 0x4C, 0xB2, 0x40, 0x53, 0x13, 0xD9, 0x11, 0x38, 0x4B, 0x2D, 0x85, 0xA4, 0x41, 0x4C, 0xD5, 0xD8, - 0x16, 0xCF, 0x3C, 0x07, 0x3D, 0xC4, 0x16, 0xC6, 0x80, 0x79, 0x25, 0xE9, 0xF5, 0x01, 0xDE, 0x30, - 0xA6, 0xCE, 0xBE, 0xF2, 0x18, 0x44, 0xD6, 0x8C, 0xD6, 0x29, 0xC4, 0x6F, 0xDE, 0x56, 0xDF, 0x88, - 0xCD, 0xA0, 0x87, 0x6E, 0x25, 0x6F, 0x2A, 0x9B, 0x42, 0x4A, 0x04, 0x1B, 0x1F, 0x6F, 0xA2, 0x08, - 0xB0, 0xAF, 0x31, 0x8F, 0x9F, 0x33, 0x84, 0x79, 0xBA, 0x00, 0x11, 0x2B, 0xC8, 0x61, 0xCB, 0xE9, - 0xAA, 0x43, 0x29, 0x67, 0xC0, 0x39, 0xE3, 0x69, 0xCC, 0x2E, 0x95, 0xFF, 0x7B, 0xF5, 0xF2, 0x67, - 0xCE, 0xD7, 0xB2, 0x24, 0xA6, 0x85, 0x53, 0xB5, 0x47, 0x06, 0xFA, 0x44, 0xBC, 0x5C, 0x3E, 0x85, - 0x35, 0x4D, 0x42, 0x4C, 0x24, 0xB1, 0x55, 0x14, 0x6F, 0x8F, 0x59, 0xEC, 0x27, 0x01, 0x7B, 0xFF, - 0xF6, 0x45, 0x9B, 0x77, 0x34, 0xEA, 0x14, 0x25, 0xB1, 0x4A, 0x47, 0x35, 0x6F, 0xDB, 0xBF, 0xB9, - 0xF2, 0xD1, 0x45, 0xA7, 0x4B, 0x8E, 0xDC, 0x2D, 0xCB, 0xC5, 0xB2, 0x74, 0x1C, 0xC1, 0x9A, 0xE3, - 0x6E, 0x12, 0xC3, 0xE2, 0x82, 0x6B, 0xCC, 0x14, 0x99, 0xBF, 0xC4, 0xBF, 0xD7, 0x9A, 0x16, 0x19, - 0x50, 0xE7, 0x06, 0x12, 0x6E, 0x67, 0x3A, 0x8D, 0xBB, 0x34, 0x06, 0x73, 0x6D, 0xD6, 0x81, 0x26, - 0xCB, 0x30, 0xB0, 0x51, 0x64, 0x97, 0xB9, 0x8E, 0xFF, 0xF7, 0xF4, 0xF5, 0x2F, 0x10, 0xB7, 0x52, - 0xC8, 0xF0, 0x71, 0x7C, 0xB6, 0x4E, 0xE2, 0x8C, 0xBD, 0x63, 0x57, 0xFC, 0x80, 0x3B, 0x1D, 0x10, - 0x51, 0x96, 0xB4, 0xB5, 0x9D, 0xC7, 0x82, 0x5B, 0x16, 0xC1, 0x36, 0x36, 0xEA, 0x8D, 0xB7, 0xB8, - 0x9A, 0x35, 0x8B, 0xDB, 0xEA, 0x4F, 0xCF, 0xDE, 0xA9, 0x5A, 0xA8, 0x61, 0x6A, 0x07, 0x52, 0xC2, - 0xF6, 0xB4, 0x1B, 0xDB, 0x25, 0x8A, 0xED, 0x52, 0xF0, 0x83, 0xEE, 0x94, 0x3F, 0x0A, 0xE8, 0x08, - 0x64, 0xC1, 0x13, 0x88, 0x81, 0xC1, 0x51, 0x84, 0x8E, 0xCE, 0xCD, 0x5E, 0xE2, 0xFA, 0x93, 0xCE, - 0x4E, 0xB7, 0xF6, 0x50, 0x13, 0x90, 0xA1, 0xDB, 0xED, 0x1E, 0xF0, 0x64, 0x7C, 0x68, 0x79, 0x68, - 0xE3, 0x26, 0xE2, 0x5C, 0x84, 0x36, 0xF6, 0x3C, 0x49, 0x57, 0x4F, 0x3D, 0xEE, 0x4D, 0x78, 0xD7, - 0x5B, 0xAF, 0x71, 0xB1, 0xC2, 0xAD, 0xAB, 0xE9, 0x7A, 0x19, 0x00, 0x63, 0x08, 0x80, 0xF1, 0x49, - 0x2E, 0xFF, 0x24, 0x86, 0xD0, 0x27, 0x33, 0x7F, 0xF6, 0x5B, 0xFC, 0xBB, 0x16, 0x55, 0xF3, 0xE3, - 0xE3, 0x50, 0xA2, 0xE8, 0xA9, 0x5A, 0x32, 0x8F, 0xB4, 0x50, 0x04, 0x45, 0xAD, 0x9C, 0xAF, 0x7C, - 0x40, 0x02, 0x5A, 0xDF, 0x66, 0xD0, 0xB9, 0x15, 0xA1, 0x77, 0xDB, 0x23, 0x26, 0x81, 0xDC, 0xB1, - 0x37, 0xAF, 0x4F, 0xDF, 0xE1, 0xA1, 0x84, 0xF8, 0xA8, 0xB4, 0x73, 0x41, 0x57, 0xA8, 0xB0, 0x0B, - 0xF1, 0xE7, 0xD9, 0x05, 0x70, 0x7C, 0x09, 0xC0, 0xC6, 0x00, 0xA8, 0x50, 0x3B, 0xE2, 0x11, 0x86, - 0xAA, 0x95, 0xC9, 0x3A, 0xD9, 0x6A, 0xBE, 0x2E, 0x70, 0xC7, 0xF5, 0x86, 0xEA, 0x9F, 0xF9, 0x09, - 0x92, 0x89, 0x37, 0xFE, 0x83, 0x9E, 0x3C, 0xF1, 0xFD, 0x0F, 0x1C, 0xBE, 0xF6, 0xDB, 0xA5, 0x50, - 0xBF, 0xD8, 0xB2, 0x03, 0xF0, 0x79, 0xD7, 0x1E, 0x2B, 0xB8, 0xC9, 0xC7, 0x78, 0xFA, 0x7D, 0x8E, - 0x2F, 0xC4, 0xB7, 0x8D, 0x0E, 0x1E, 0xD7, 0x6E, 0x6F, 0x35, 0x4C, 0xA4, 0x60, 0xE9, 0x31, 0xFD, - 0x61, 0x6D, 0xD5, 0xDF, 0x1E, 0x37, 0xD5, 0x23, 0x0C, 0xA9, 0x70, 0xAF, 0xFB, 0x19, 0xBF, 0x9C, - 0xEE, 0x61, 0x47, 0x4D, 0x35, 0x3F, 0x9C, 0x0B, 0x29, 0x95, 0x85, 0x07, 0x3C, 0x41, 0x58, 0xFA, - 0xF3, 0xEE, 0xB6, 0x9A, 0xB7, 0x62, 0xFC, 0x94, 0x5D, 0xE0, 0xC3, 0xA8, 0x16, 0x6C, 0xAF, 0x6A, - 0x85, 0xF0, 0x66, 0x1A, 0x48, 0xC0, 0x79, 0xD2, 0xFE, 0xFA, 0xB5, 0xB4, 0x0D, 0x5A, 0x15, 0x78, - 0x0C, 0xEA, 0xF0, 0xD8, 0xE9, 0x8C, 0xA5, 0x46, 0xBE, 0x8F, 0x15, 0xF1, 0xA7, 0xD6, 0x78, 0xBE, - 0x07, 0x2F, 0x0A, 0xBE, 0x11, 0x1A, 0x21, 0x08, 0xE3, 0x9D, 0xDB, 0x12, 0xC4, 0xAA, 0xCF, 0x0C, - 0xD1, 0xF0, 0xB7, 0x82, 0x68, 0xE3, 0xB9, 0xA8, 0xF2, 0x44, 0xED, 0xDC, 0x8D, 0x77, 0x97, 0x9F, - 0x89, 0x76, 0xE5, 0xD3, 0xCD, 0xC7, 0x29, 0xB3, 0x32, 0xFF, 0x23, 0xC8, 0x9B, 0xB9, 0xD9, 0x21, - 0x6B, 0x95, 0xEF, 0xD4, 0xE4, 0xF3, 0xC8, 0xBF, 0x62, 0x99, 0xAA, 0xF8, 0x67, 0x2C, 0x87, 0xED, - 0x64, 0x71, 0x79, 0x18, 0x98, 0x73, 0xA0, 0xAD, 0x83, 0xB3, 0x76, 0x27, 0xEE, 0xAA, 0x3D, 0xF5, - 0x81, 0x78, 0x2B, 0xE0, 0xB6, 0xA4, 0x7B, 0x00, 0xCC, 0x6E, 0xC8, 0x28, 0x60, 0x29, 0x5F, 0x03, - 0xD2, 0x92, 0x46, 0xEF, 0xC4, 0xDA, 0xAD, 0xDD, 0xFD, 0x0C, 0x94, 0x3D, 0x00, 0x40, 0x5A, 0x94, - 0x88, 0x67, 0xCE, 0xE0, 0xA3, 0xD8, 0xDB, 0xDE, 0x03, 0x49, 0x79, 0x16, 0x54, 0xA0, 0xD2, 0x83, - 0x9C, 0xE3, 0xBE, 0xB8, 0xB4, 0xB5, 0xE8, 0xB7, 0x08, 0x27, 0x29, 0xAF, 0x9E, 0x2C, 0x2E, 0xBD, - 0x90, 0x77, 0x0F, 0x67, 0x13, 0xF9, 0x63, 0xFD, 0x83, 0xA9, 0xE0, 0x5F, 0xEB, 0xDB, 0xFB, 0x98, - 0xE4, 0xAF, 0xA2, 0xAC, 0xAF, 0xEE, 0x09, 0x0C, 0x77, 0x47, 0xA2, 0xCF, 0x84, 0x91, 0x6D, 0xF2, - 0x8A, 0x8C, 0x93, 0xAD, 0x5C, 0xB7, 0x01, 0xE6, 0x08, 0x99, 0xAA, 0x49, 0xF5, 0x13, 0x61, 0x17, - 0x47, 0x47, 0xAA, 0x53, 0xFF, 0x5A, 0xED, 0xFD, 0xF3, 0xCF, 0xC2, 0x16, 0x09, 0xA6, 0x0B, 0x33, - 0x54, 0x2D, 0x75, 0x5A, 0x8C, 0xEA, 0xD4, 0x07, 0xF9, 0x5E, 0xEC, 0x83, 0x84, 0x18, 0x1D, 0x26, - 0x94, 0x08, 0xE3, 0x9C, 0x76, 0x75, 0xBC, 0x70, 0x45, 0x02, 0x9D, 0x3B, 0x3D, 0x0F, 0x4B, 0xD1, - 0x8E, 0xA1, 0xF1, 0x69, 0xC6, 0x38, 0xBD, 0xCA, 0x0C, 0x1A, 0x6E, 0x57, 0x2C, 0x3D, 0x3E, 0x9E, - 0x9A, 0x72, 0xD9, 0x8E, 0xA9, 0xEF, 0x8F, 0xBD, 0x75, 0x4F, 0x8E, 0x41, 0x34, 0x38, 0xBB, 0x28, - 0x19, 0x83, 0xD0, 0x14, 0x64, 0xF7, 0x32, 0xCE, 0xD2, 0xCE, 0x99, 0xE6, 0x18, 0x27, 0xF1, 0xD1, - 0x51, 0xDB, 0x07, 0x1B, 0x4F, 0x0B, 0xA9, 0xF8, 0x0E, 0xF7, 0x04, 0xFF, 0x34, 0x99, 0x2D, 0x4F, - 0x04, 0xBB, 0x94, 0x89, 0x31, 0xB4, 0xDA, 0x79, 0x67, 0x90, 0x2D, 0xA3, 0xAC, 0x84, 0xCF, 0x97, - 0xF8, 0x82, 0xC5, 0xA1, 0xE4, 0xEC, 0x3E, 0xC7, 0x98, 0xFD, 0xB4, 0xF9, 0xBB, 0x33, 0x5B, 0xC1, - 0x88, 0xFE, 0xE6, 0xB9, 0xF2, 0xEC, 0xA6, 0x71, 0xDE, 0x39, 0x24, 0xCF, 0x5E, 0x9E, 0x14, 0xE0, - 0x26, 0x77, 0x24, 0x02, 0xCD, 0x57, 0x5D, 0xE4, 0xA6, 0xCA, 0xA3, 0x2F, 0x98, 0xCA, 0x1D, 0x94, - 0xF5, 0x77, 0x51, 0x1A, 0xD4, 0xF8, 0x62, 0x06, 0x0D, 0x7B, 0xF2, 0xFE, 0xF4, 0xD9, 0xDB, 0xEA, - 0xB9, 0x16, 0x63, 0x09, 0x88, 0x17, 0x73, 0x88, 0x31, 0xC7, 0xEA, 0xD1, 0x9B, 0xEF, 0x4F, 0x4F, - 0x7F, 0x7D, 0xFD, 0xF6, 0xE9, 0xEE, 0x21, 0x1C, 0x87, 0x9C, 0xBE, 0xFF, 0xE1, 0xD5, 0x8B, 0x77, - 0xD3, 0x6B, 0x3C, 0x33, 0x84, 0xBB, 0x02, 0x5F, 0x78, 0xC7, 0xF9, 0x16, 0x0E, 0xB7, 0x61, 0xE5, - 0x70, 0x7B, 0x74, 0x04, 0xA0, 0xFE, 0x0D, 0x34, 0xE5, 0xCE, 0x5A, 0xB7, 0x80, 0x5B, 0x88, 0xC5, - 0x95, 0x13, 0x66, 0x4C, 0xD1, 0x33, 0xCC, 0x4F, 0x98, 0x97, 0x61, 0x1C, 0x24, 0x97, 0x3B, 0x62, - 0xC5, 0xFE, 0x47, 0x6A, 0x93, 0x93, 0x9E, 0x7C, 0x03, 0xE6, 0xA4, 0x27, 0x5F, 0xA4, 0xA3, 0xFF, - 0x97, 0xF5, 0xFF, 0x01, 0xF6, 0xC5, 0xA7, 0x87, 0x9E, 0x55, 0x00, 0x00 +#define PAGE_NOFILES_SIZE 6535 +const char PAGE_NOFILES[6535] PROGMEM = { + 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x8B, 0x72, 0xDB, 0x46, + 0x92, 0xBF, 0x02, 0x23, 0xB5, 0x26, 0x71, 0x04, 0x48, 0xBC, 0xF8, 0x16, 0xA5, 0x4B, 0x62, 0x7B, + 0xA3, 0x2B, 0x3B, 0x76, 0x49, 0xF2, 0xF9, 0xB6, 0x1C, 0x97, 0x0A, 0x24, 0x86, 0x22, 0xCE, 0x20, + 0x40, 0x01, 0x43, 0x51, 0xB2, 0xCC, 0xFB, 0xF6, 0xEB, 0xEE, 0x19, 0xBC, 0xF8, 0xD2, 0x63, 0xBD, + 0xB7, 0xB9, 0xAA, 0x8D, 0x22, 0x02, 0x9C, 0x99, 0xEE, 0xE9, 0xE9, 0x77, 0x37, 0x20, 0x1F, 0xCD, + 0xF8, 0x3C, 0x3C, 0x3E, 0x9A, 0x31, 0xCF, 0x3F, 0x3E, 0x4A, 0xF9, 0x5D, 0xC8, 0x8E, 0x71, 0xE4, + 0x7E, 0x1A, 0x47, 0xDC, 0x98, 0x7A, 0xF3, 0x20, 0xBC, 0x1B, 0xA4, 0x5E, 0x94, 0x1A, 0x29, 0x4B, + 0x82, 0xE9, 0xD0, 0x98, 0xA7, 0x06, 0x67, 0xB7, 0xDC, 0x48, 0x83, 0x6F, 0xCC, 0xF0, 0xFC, 0xFF, + 0x5E, 0xA6, 0x7C, 0x60, 0x99, 0xE6, 0x5F, 0x86, 0xC6, 0x8A, 0x8D, 0xBF, 0x06, 0x7C, 0xCF, 0x2C, + 0xA1, 0xC3, 0x51, 0xF8, 0xBA, 0xB8, 0x5D, 0x8F, 0x63, 0xFF, 0xAE, 0xB2, 0x85, 0xFA, 0x1B, 0x0B, + 0x6F, 0x18, 0x0F, 0x26, 0x9E, 0xF2, 0x3B, 0x5B, 0x32, 0x55, 0xCF, 0xBF, 0xEB, 0x3F, 0x27, 0x81, + 0x17, 0xEA, 0x25, 0x1A, 0x4A, 0xB8, 0xDC, 0xC5, 0xED, 0x30, 0x0C, 0x22, 0x66, 0xCC, 0x58, 0x70, + 0x35, 0x83, 0xBD, 0x9A, 0xAE, 0xDD, 0x6B, 0x77, 0x2D, 0xD7, 0x19, 0x4E, 0xE2, 0x30, 0x4E, 0x06, + 0x3F, 0x39, 0x8E, 0x33, 0x1C, 0x7B, 0x93, 0xAF, 0x57, 0x49, 0xBC, 0x8C, 0x7C, 0x43, 0x8E, 0x4E, + 0xA7, 0xD3, 0x35, 0xF7, 0xC6, 0x21, 0xBB, 0x1F, 0xC7, 0x89, 0xCF, 0x92, 0x81, 0x39, 0x14, 0x37, + 0x46, 0xBA, 0xF0, 0x26, 0x41, 0x74, 0x05, 0x03, 0x73, 0xEF, 0xD6, 0x58, 0x05, 0x3E, 0x9F, 0xD1, + 0x09, 0xD6, 0xDC, 0xBF, 0x5F, 0xCD, 0x02, 0xCE, 0x68, 0x05, 0x1B, 0x44, 0xF1, 0x2A, 0xF1, 0x16, + 0xC3, 0x85, 0xE7, 0xFB, 0xB8, 0xDC, 0x9E, 0xCF, 0xD7, 0x7C, 0x76, 0x4F, 0x87, 0xF7, 0xC2, 0xE0, + 0x2A, 0x1A, 0x84, 0x6C, 0xCA, 0xD7, 0x4D, 0xDA, 0xE4, 0x98, 0xE3, 0x79, 0x8F, 0x79, 0x72, 0xCC, + 0x7D, 0x7D, 0x6B, 0x68, 0x96, 0x0F, 0x91, 0x10, 0xAA, 0xAB, 0xF2, 0xA1, 0xD9, 0x7D, 0xB6, 0x55, + 0x6F, 0xFF, 0x99, 0x6F, 0x58, 0x82, 0x2C, 0x0B, 0x25, 0x09, 0x3C, 0x5E, 0x64, 0xC7, 0x82, 0xDB, + 0x81, 0xB5, 0xB8, 0x55, 0xD2, 0x38, 0x0C, 0x7C, 0xE5, 0x27, 0xDF, 0xF7, 0x25, 0x6D, 0x46, 0xCA, + 0x93, 0x60, 0xC1, 0xFC, 0x9C, 0xA0, 0x41, 0xC4, 0x67, 0x46, 0x3C, 0x35, 0xF8, 0xDD, 0x82, 0xD5, + 0x63, 0xDF, 0xD7, 0xEE, 0x77, 0xB0, 0xAF, 0x8F, 0x3F, 0x6B, 0xEF, 0x7E, 0x11, 0xA7, 0x01, 0x0F, + 0xE2, 0x68, 0x90, 0xB0, 0xD0, 0xE3, 0xC1, 0x0D, 0x1B, 0xFA, 0x41, 0xBA, 0x08, 0xBD, 0xBB, 0xC1, + 0x38, 0x8C, 0x27, 0x5F, 0x73, 0xF6, 0xA0, 0xD0, 0x15, 0xAB, 0x0D, 0x94, 0x13, 0x87, 0x7C, 0x36, + 0x89, 0x13, 0x8F, 0x00, 0xA3, 0x38, 0x62, 0x99, 0xAC, 0x26, 0x93, 0xC9, 0xBA, 0xE9, 0x4D, 0x10, + 0xCF, 0x7D, 0x21, 0xA8, 0x1D, 0xE2, 0x33, 0x4D, 0x33, 0x5B, 0xA8, 0x78, 0xBA, 0x37, 0x98, 0xC6, + 0x93, 0x65, 0x0A, 0xD7, 0x59, 0x0C, 0x1C, 0x28, 0x81, 0xAE, 0x9B, 0x0B, 0x2F, 0x62, 0xE1, 0xFD, + 0xDC, 0x4B, 0xAE, 0x82, 0xC8, 0x18, 0xC7, 0x9C, 0xC7, 0xF3, 0x81, 0x0D, 0xC4, 0xEC, 0xD6, 0x09, + 0xC9, 0xAD, 0x0D, 0x4E, 0x65, 0x3C, 0x4C, 0x3C, 0x3F, 0x58, 0xA6, 0x03, 0xD4, 0xB9, 0x4C, 0xD9, + 0xC7, 0xF1, 0xAD, 0x91, 0xCE, 0x3C, 0x3F, 0x5E, 0x0D, 0x4C, 0x05, 0xA1, 0xF0, 0x37, 0xB9, 0x1A, + 0x7B, 0x75, 0x53, 0xC7, 0x9F, 0xA6, 0xD9, 0xD6, 0x86, 0x8F, 0x59, 0x24, 0x29, 0x35, 0xC8, 0x30, + 0x72, 0xAE, 0x01, 0xC3, 0xB2, 0x09, 0x54, 0x04, 0x18, 0xBB, 0xDF, 0xE6, 0xE8, 0x61, 0x45, 0x6F, + 0xE3, 0x4F, 0x76, 0x02, 0x39, 0x58, 0x3A, 0x13, 0xE8, 0x85, 0x91, 0xA0, 0x1A, 0x65, 0xA7, 0x73, + 0x90, 0x37, 0xC5, 0x1C, 0x6A, 0xF1, 0x8E, 0x29, 0xC9, 0xC9, 0x4D, 0x8D, 0x9A, 0xC6, 0xC9, 0x1C, + 0x36, 0x89, 0x78, 0x12, 0x87, 0xF7, 0x55, 0x4D, 0x10, 0x96, 0xE4, 0x2D, 0x79, 0x3C, 0x94, 0x7A, + 0xEB, 0x20, 0x23, 0xB3, 0xE3, 0x74, 0xF0, 0x34, 0x36, 0x0C, 0x3C, 0xC9, 0xB8, 0xDB, 0xED, 0xF6, + 0x3E, 0x41, 0x16, 0xA3, 0xC1, 0xDC, 0xBB, 0x62, 0x42, 0xCF, 0xB6, 0xC5, 0x0B, 0x2A, 0xF7, 0x38, + 0xF1, 0x06, 0x51, 0xCA, 0xB8, 0xB2, 0x47, 0x7E, 0xDD, 0xAA, 0x94, 0x1F, 0x5C, 0x6B, 0xC4, 0x06, + 0x4F, 0xC0, 0xA1, 0x09, 0xDB, 0x29, 0x0B, 0x47, 0x61, 0x5E, 0xCA, 0x0C, 0xD0, 0xD5, 0x78, 0xC9, + 0x95, 0xA6, 0xD5, 0x4E, 0xF5, 0x02, 0xEF, 0xD6, 0x5C, 0x95, 0xE1, 0xC2, 0x0A, 0xEE, 0xAB, 0xA2, + 0xEE, 0x74, 0xBC, 0x29, 0xEB, 0x0F, 0x01, 0x02, 0x39, 0x09, 0x5E, 0xED, 0x19, 0x47, 0xD3, 0x4D, + 0x98, 0xEC, 0x65, 0x13, 0x96, 0x69, 0xEB, 0x56, 0xB7, 0xAD, 0xDB, 0x8E, 0xA3, 0x37, 0x3B, 0x9A, + 0xA4, 0x01, 0x79, 0xBD, 0xD8, 0xB0, 0x33, 0xA1, 0xBE, 0x63, 0x1E, 0xE5, 0xAA, 0x10, 0x44, 0x24, + 0x4F, 0xA1, 0x11, 0xD5, 0xC5, 0xA6, 0x90, 0xFC, 0x4A, 0x88, 0xDA, 0x35, 0xCD, 0x61, 0xC9, 0x97, + 0x4E, 0x58, 0xC4, 0x59, 0xB2, 0xE9, 0xDE, 0xE6, 0x81, 0xEF, 0x87, 0x4C, 0x84, 0xA4, 0x78, 0x39, + 0x99, 0x19, 0xE8, 0x11, 0x80, 0x9F, 0x73, 0x2F, 0x0A, 0x16, 0xCB, 0x90, 0xFC, 0xCB, 0x70, 0xFF, + 0xCC, 0x64, 0x99, 0xA4, 0xC0, 0xA2, 0x45, 0x1C, 0x10, 0xF2, 0x47, 0x6A, 0x0C, 0xC9, 0x6D, 0xE1, + 0x25, 0x40, 0xD1, 0xF0, 0x40, 0x3C, 0x78, 0xA2, 0x3E, 0xEF, 0x50, 0xC1, 0x79, 0xFC, 0xCD, 0x58, + 0xA6, 0x18, 0x91, 0x58, 0xC8, 0x26, 0x5C, 0x90, 0x83, 0x67, 0xDD, 0x1A, 0xDC, 0x1C, 0x20, 0x9E, + 0x1B, 0x8B, 0x04, 0x8E, 0x91, 0xDC, 0x1D, 0x76, 0xA4, 0x8E, 0xD3, 0xF5, 0xC6, 0xDD, 0x0D, 0xF7, + 0x60, 0xB3, 0x8E, 0xEF, 0xB9, 0x15, 0x2C, 0xD2, 0xD9, 0xEA, 0x95, 0x31, 0xE1, 0x75, 0x2B, 0x43, + 0xE4, 0x80, 0x2B, 0x43, 0x83, 0x1D, 0x90, 0x83, 0x6D, 0xC8, 0x2D, 0xD7, 0xBD, 0x83, 0x58, 0xBB, + 0xD7, 0x31, 0xFB, 0xE6, 0x06, 0xB1, 0x96, 0x6D, 0x8F, 0x5D, 0x93, 0x88, 0x0D, 0xE6, 0x57, 0xF7, + 0x52, 0xA8, 0x33, 0x2F, 0xDA, 0x74, 0xDB, 0x9D, 0xDC, 0x7B, 0x95, 0xED, 0x9F, 0x82, 0x84, 0x80, + 0x95, 0x24, 0xEC, 0xF0, 0x27, 0x26, 0xFE, 0x6C, 0xEC, 0xDB, 0x99, 0xE0, 0xCF, 0xB3, 0xCD, 0x09, + 0xF5, 0xE3, 0x2A, 0x61, 0x77, 0x4F, 0x71, 0x1B, 0x15, 0x40, 0xA2, 0x9A, 0xC8, 0x3C, 0x7C, 0x6C, + 0xC7, 0x94, 0x46, 0x98, 0xAD, 0x7D, 0xE8, 0x98, 0xFF, 0xCC, 0x13, 0x85, 0x40, 0x14, 0x58, 0xC8, + 0x57, 0xBD, 0xB8, 0x1D, 0x54, 0xF3, 0x01, 0x8A, 0xFC, 0xC5, 0x64, 0x45, 0x6B, 0x70, 0x2E, 0x88, + 0x16, 0x4B, 0xFE, 0x19, 0x73, 0x97, 0xD1, 0x34, 0x08, 0xD9, 0x97, 0xC1, 0x20, 0x3B, 0x0F, 0x7E, + 0x35, 0x96, 0x8B, 0x30, 0xF6, 0x7C, 0x63, 0xBC, 0x04, 0x9F, 0xF3, 0x2F, 0xB7, 0xF4, 0x7F, 0xEB, + 0x96, 0x86, 0x07, 0x8D, 0xBB, 0x3D, 0x9E, 0x98, 0x3E, 0xDB, 0x30, 0x32, 0xB7, 0x33, 0xEE, 0xF9, + 0xDE, 0x93, 0x84, 0x2A, 0xA3, 0xE0, 0xBF, 0x44, 0xFB, 0xE7, 0x11, 0xAD, 0x63, 0x8D, 0x4D, 0x7F, + 0x33, 0x07, 0xB5, 0xC6, 0x1D, 0xBF, 0xD7, 0x7E, 0x9A, 0x68, 0x85, 0xB5, 0xFF, 0x4B, 0xB4, 0x7F, + 0x72, 0xD1, 0xDA, 0x9D, 0xBE, 0x37, 0x9E, 0x64, 0x85, 0xCB, 0x34, 0x8E, 0x81, 0x23, 0x07, 0xEA, + 0x16, 0xAB, 0x6B, 0xF6, 0x76, 0xE1, 0x7E, 0x44, 0xE9, 0xB2, 0x55, 0x80, 0xFC, 0x13, 0xB6, 0x9C, + 0xC7, 0xBE, 0x57, 0x14, 0x3B, 0xC4, 0xB2, 0xBC, 0x2A, 0x9E, 0x06, 0xB7, 0xCC, 0x1F, 0x7E, 0x83, + 0x9C, 0xDD, 0x67, 0xB7, 0xD8, 0x46, 0x00, 0x4D, 0x94, 0x54, 0x09, 0x5C, 0x26, 0x96, 0xA2, 0x58, + 0x63, 0x81, 0xCA, 0xE2, 0x80, 0x39, 0x2C, 0x3A, 0x0E, 0x59, 0x9D, 0x44, 0xF7, 0xA8, 0xF9, 0xD3, + 0x10, 0x42, 0x2A, 0x55, 0x50, 0x3B, 0x2B, 0xE2, 0xED, 0xD1, 0x72, 0xB8, 0x75, 0x35, 0x49, 0x2A, + 0x95, 0x0B, 0xA0, 0x70, 0xF7, 0x7B, 0xAA, 0x3C, 0xCB, 0xAC, 0x56, 0x80, 0x95, 0xEA, 0xB0, 0x3C, + 0x29, 0x6C, 0x6D, 0x2F, 0xAC, 0x9C, 0xDE, 0x07, 0x3E, 0xB0, 0x0B, 0x3E, 0xE6, 0x59, 0x68, 0xA9, + 0x4E, 0xC6, 0x7A, 0xC3, 0x42, 0xC5, 0x37, 0x2B, 0x59, 0x83, 0xAD, 0x0D, 0xB7, 0x7B, 0x0E, 0xC2, + 0xF8, 0x05, 0x6B, 0x32, 0xA1, 0xEF, 0x60, 0xC7, 0x4F, 0x53, 0x86, 0x3F, 0x19, 0x1F, 0xB0, 0xA2, + 0x2E, 0x69, 0x89, 0x2D, 0x37, 0xCC, 0x94, 0x84, 0xB2, 0xA1, 0x9D, 0x4A, 0x62, 0xE3, 0xCF, 0xBE, + 0x22, 0xF9, 0x89, 0xEC, 0xAB, 0xD4, 0xA2, 0x53, 0xFC, 0xC9, 0xC8, 0xAB, 0x76, 0x02, 0x4C, 0x49, + 0x5D, 0x36, 0xBB, 0xA9, 0xE2, 0x9D, 0x8C, 0x7A, 0xA9, 0x34, 0x6E, 0xB3, 0xCD, 0xE6, 0x4F, 0x3F, + 0xCA, 0x36, 0x39, 0x7F, 0xA7, 0xB4, 0xD7, 0xCD, 0x59, 0xE0, 0xB3, 0xCB, 0x80, 0x57, 0x2C, 0x64, + 0xFD, 0xEF, 0x73, 0xE6, 0x07, 0x9E, 0x52, 0x9F, 0x83, 0xCF, 0x16, 0x1A, 0xDF, 0xED, 0x80, 0xC4, + 0xB5, 0xFB, 0x0D, 0x1D, 0x15, 0x73, 0xED, 0x1E, 0x62, 0xCA, 0x80, 0xD2, 0x49, 0xC2, 0x58, 0xA4, + 0x40, 0xAA, 0x0B, 0xF0, 0x79, 0x8F, 0xAE, 0xDB, 0xE9, 0xEE, 0x85, 0xA7, 0xFE, 0xDD, 0xFA, 0xA8, + 0x25, 0xDA, 0x9B, 0x47, 0x3C, 0xE0, 0x70, 0x79, 0x7D, 0xFE, 0xC1, 0x79, 0xA5, 0xF0, 0x38, 0x0E, + 0x95, 0x05, 0x78, 0xE8, 0xA3, 0x96, 0x18, 0x3E, 0x6A, 0x89, 0x56, 0x28, 0x75, 0xC3, 0x8E, 0xFC, + 0xE0, 0x46, 0x99, 0x84, 0x5E, 0x9A, 0x8E, 0x54, 0x72, 0x2D, 0x2A, 0x40, 0x63, 0xD7, 0x4C, 0x21, + 0xC4, 0x23, 0x15, 0x31, 0xE3, 0x58, 0x02, 0xBF, 0x00, 0xE4, 0x65, 0x8B, 0x45, 0x45, 0xA1, 0x2A, + 0xB3, 0x84, 0x4D, 0x47, 0xEA, 0x8C, 0xF3, 0x45, 0x3A, 0x68, 0xB5, 0xAE, 0x02, 0x3E, 0x5B, 0x8E, + 0x9B, 0x93, 0x78, 0xDE, 0x0A, 0x97, 0x13, 0x43, 0x7C, 0x6D, 0x11, 0x21, 0x2D, 0x0E, 0x87, 0x6A, + 0xD9, 0x4D, 0x4B, 0x55, 0x38, 0x68, 0x33, 0xE3, 0x23, 0xF5, 0x12, 0xD2, 0xDC, 0xE8, 0x2B, 0x60, + 0x4F, 0x6F, 0xAE, 0xF2, 0xFD, 0xD8, 0x1C, 0x90, 0x92, 0x88, 0xE5, 0x97, 0x9B, 0x80, 0xAD, 0x7E, + 0x89, 0x6F, 0x47, 0x2A, 0xA6, 0xD2, 0x96, 0x63, 0xC2, 0x87, 0x6D, 0x9A, 0x00, 0x75, 0x25, 0xA2, + 0x0B, 0x56, 0xE7, 0x23, 0x95, 0x6E, 0xC1, 0x5A, 0x58, 0xBD, 0x6D, 0xEA, 0xB8, 0x40, 0x03, 0x36, + 0x7A, 0x21, 0xAB, 0x5B, 0xBA, 0x62, 0x58, 0x1A, 0x2C, 0x5F, 0x78, 0x7C, 0xA6, 0xF8, 0x23, 0xF5, + 0x5D, 0x07, 0x51, 0x58, 0x5D, 0xF7, 0xDA, 0x71, 0x00, 0x63, 0xD7, 0x55, 0x8C, 0x76, 0xE8, 0xF4, + 0x60, 0x55, 0xDB, 0x0E, 0xDB, 0x70, 0xB9, 0x76, 0xFB, 0xF0, 0xE9, 0x2A, 0x7D, 0x98, 0x71, 0xFA, + 0x38, 0x64, 0x87, 0x96, 0xE3, 0x2A, 0x3D, 0xF3, 0xBA, 0x63, 0x29, 0x86, 0xDB, 0x53, 0x2C, 0x13, + 0xA6, 0x2C, 0xB3, 0x1D, 0x1A, 0x3D, 0x13, 0x6E, 0x1C, 0x37, 0x74, 0x00, 0xC9, 0xB5, 0x0D, 0x4B, + 0x5D, 0x57, 0x71, 0x00, 0xBC, 0xEF, 0x84, 0xB0, 0xB4, 0x13, 0x02, 0x4E, 0x40, 0xD2, 0xBB, 0xC6, + 0x19, 0x47, 0x81, 0xCF, 0xAE, 0x73, 0x0D, 0x20, 0x0E, 0x6E, 0x0A, 0x5F, 0xDC, 0xD0, 0x90, 0x2B, + 0xE0, 0x06, 0xD6, 0x5F, 0xC3, 0x57, 0x58, 0xD9, 0xC7, 0x8D, 0x09, 0x89, 0x81, 0x88, 0x43, 0xB9, + 0xCB, 0x35, 0xEE, 0x6D, 0x20, 0x0D, 0x05, 0x01, 0x44, 0x98, 0x15, 0x22, 0x36, 0xE7, 0x1A, 0x77, + 0x37, 0x90, 0x0A, 0x49, 0xBA, 0x41, 0xB4, 0x1B, 0xE2, 0x70, 0x96, 0x72, 0x8D, 0x34, 0x88, 0x7D, + 0x91, 0x5C, 0x83, 0xCE, 0x8F, 0x5F, 0xDA, 0xB4, 0x06, 0x96, 0x20, 0x84, 0x7D, 0x8D, 0x04, 0xC0, + 0xF9, 0x11, 0x8B, 0x40, 0xE2, 0x88, 0x7D, 0x8C, 0x9E, 0x75, 0x6D, 0x74, 0x4C, 0x05, 0xA9, 0x40, + 0x0A, 0x90, 0x80, 0x1E, 0xCA, 0xC4, 0x45, 0x3A, 0x01, 0x21, 0x6C, 0xED, 0x22, 0x21, 0x3D, 0x05, + 0x49, 0xB7, 0x95, 0x4E, 0x48, 0xFB, 0xC2, 0xF9, 0x8D, 0x8E, 0xE2, 0xC2, 0x39, 0x3B, 0xC0, 0x6E, + 0x38, 0x3F, 0x6C, 0x0C, 0x77, 0xC0, 0x22, 0x9A, 0x0C, 0x61, 0xE1, 0xB5, 0xE5, 0x20, 0x5A, 0x01, + 0xE9, 0x28, 0x82, 0xB3, 0x78, 0x64, 0xB7, 0xAB, 0xC0, 0x81, 0x61, 0x27, 0xDA, 0xCD, 0x02, 0x48, + 0x98, 0x09, 0x91, 0x4A, 0xD8, 0x09, 0xF6, 0x13, 0x34, 0xC2, 0x6C, 0x48, 0x27, 0x80, 0x61, 0x64, + 0x33, 0x9E, 0xE9, 0x1B, 0x09, 0xBA, 0x07, 0x0C, 0xBD, 0x36, 0x7A, 0x7D, 0x3C, 0x29, 0xB1, 0xBA, + 0xE3, 0x70, 0xF8, 0x25, 0x86, 0x34, 0xDB, 0xBC, 0xB8, 0xCB, 0x26, 0xF1, 0x0A, 0x17, 0x98, 0x10, + 0xE3, 0x46, 0x71, 0x27, 0xA6, 0xBE, 0x81, 0x2E, 0xB5, 0x50, 0x99, 0xE0, 0x72, 0x05, 0xBF, 0xA0, + 0xBC, 0xC7, 0xCA, 0x11, 0xA4, 0x35, 0x51, 0x6E, 0x1B, 0x59, 0xF5, 0xA6, 0x1E, 0xBF, 0x09, 0x92, + 0xF9, 0x0A, 0xD2, 0x1F, 0x58, 0x06, 0x0B, 0x60, 0xB5, 0x07, 0xBF, 0x68, 0x48, 0x8F, 0x30, 0xA6, + 0xD5, 0x6A, 0xD5, 0x3C, 0x60, 0x50, 0xC6, 0xA7, 0xD7, 0xBF, 0x7C, 0x3C, 0xFD, 0x93, 0x99, 0x95, + 0xD9, 0x77, 0xAF, 0x7B, 0x36, 0x62, 0xEC, 0x98, 0x4D, 0xD4, 0x3E, 0x1B, 0x59, 0xEB, 0x02, 0xF3, + 0xDB, 0x7D, 0x6E, 0x59, 0x1D, 0x1C, 0xEB, 0xE1, 0x58, 0xDF, 0xC5, 0xDB, 0x3E, 0x48, 0xA0, 0x47, + 0x17, 0xD7, 0xCE, 0xA7, 0x50, 0xF5, 0xDA, 0x5D, 0x62, 0x78, 0x7E, 0x87, 0x8A, 0x4B, 0x93, 0x46, + 0xA7, 0x27, 0x01, 0x8D, 0x1C, 0x85, 0x51, 0x46, 0x6C, 0x64, 0xBB, 0x81, 0xB8, 0xFA, 0x39, 0x09, + 0xF2, 0x8B, 0x9D, 0xAF, 0xA0, 0x05, 0x04, 0x26, 0xA0, 0x08, 0x59, 0x3F, 0xC3, 0xDF, 0x17, 0x5B, + 0x66, 0x08, 0x15, 0x22, 0x22, 0xBB, 0x12, 0xA9, 0x34, 0x05, 0xB4, 0xF7, 0xDB, 0x0A, 0xCF, 0x60, + 0x4B, 0xF8, 0xE4, 0x16, 0x82, 0x0B, 0xB8, 0xEB, 0xB7, 0x77, 0xBD, 0x5E, 0x0F, 0xE6, 0xFA, 0x64, + 0xE2, 0x68, 0xE5, 0x16, 0xE8, 0xAB, 0xCD, 0x89, 0x40, 0xF2, 0x1C, 0xED, 0x2E, 0xEA, 0x33, 0x10, + 0xD5, 0x47, 0x0F, 0x61, 0xD9, 0x68, 0x6F, 0xC0, 0x1B, 0x1B, 0x16, 0xE1, 0x07, 0x7E, 0x13, 0x37, + 0x78, 0x85, 0x19, 0xB8, 0xBD, 0xC6, 0x4D, 0x14, 0x1B, 0x14, 0xD4, 0x02, 0xB6, 0x2B, 0x56, 0x5F, + 0x71, 0x69, 0x3B, 0xA0, 0xB9, 0x8B, 0x47, 0x87, 0x15, 0x46, 0x17, 0x90, 0x75, 0xD0, 0xA1, 0x75, + 0x10, 0x6B, 0x0F, 0x9C, 0x88, 0x85, 0x3A, 0xDF, 0x51, 0x84, 0xAB, 0x31, 0x51, 0x16, 0x70, 0x05, + 0x12, 0xAF, 0x6D, 0xF4, 0x44, 0x60, 0xA8, 0x5D, 0x70, 0x0A, 0x16, 0x47, 0xC0, 0x9E, 0xCD, 0xFB, + 0x42, 0x30, 0x16, 0x9C, 0x0E, 0x9D, 0x47, 0x0F, 0x0F, 0xE7, 0x38, 0xC4, 0x58, 0xDC, 0x4C, 0x7E, + 0xB1, 0x5D, 0x9A, 0xA7, 0x69, 0x82, 0xE8, 0xA1, 0xC5, 0x74, 0x4D, 0x71, 0x05, 0x8C, 0x5D, 0xD8, + 0xE8, 0xDA, 0x02, 0x4B, 0x06, 0x96, 0x29, 0x6E, 0xC6, 0x57, 0x17, 0x66, 0xAF, 0x8D, 0x3E, 0xF9, + 0x63, 0x24, 0x0A, 0x4E, 0xD2, 0xEB, 0x7F, 0x7B, 0xE7, 0x82, 0x2B, 0xE8, 0xDA, 0x5D, 0xF0, 0x2A, + 0xE8, 0x4D, 0xA4, 0x57, 0xA4, 0x5F, 0x92, 0xA8, 0x83, 0xBB, 0x90, 0xF0, 0x09, 0xDE, 0x01, 0x50, + 0x94, 0x04, 0x1E, 0xCB, 0x02, 0x4F, 0x82, 0x47, 0x73, 0x14, 0x87, 0xF4, 0xC4, 0xB2, 0xB8, 0x83, + 0x42, 0xB1, 0xBA, 0x21, 0xE0, 0x02, 0x7F, 0x02, 0x9B, 0x22, 0xFF, 0x91, 0x44, 0x24, 0x1C, 0xA8, + 0xE8, 0xC8, 0x5B, 0xF2, 0x9E, 0xE8, 0x40, 0xC1, 0x59, 0x00, 0x39, 0xB0, 0x29, 0x51, 0x6B, 0xD8, + 0xC0, 0x6A, 0x93, 0x1B, 0x8E, 0x8D, 0xFC, 0x7C, 0x92, 0xF1, 0x9F, 0x62, 0xA5, 0x34, 0x85, 0x72, + 0xE7, 0x39, 0xD6, 0x7F, 0x28, 0x94, 0xAE, 0x82, 0xAF, 0xC1, 0x9F, 0xC3, 0xDE, 0xAD, 0x6E, 0xF7, + 0x1A, 0x65, 0x67, 0x82, 0xD6, 0x01, 0xEB, 0xDC, 0x36, 0xAA, 0x47, 0xCF, 0x15, 0xCA, 0x07, 0xCE, + 0xD4, 0x76, 0x48, 0xE9, 0x50, 0x5E, 0x6D, 0x61, 0x8C, 0x2E, 0x37, 0x4A, 0xB7, 0xA5, 0x05, 0x46, + 0x09, 0xCE, 0x28, 0xB0, 0xD1, 0xAD, 0xB8, 0x13, 0x0B, 0x68, 0x1E, 0xE1, 0x24, 0x18, 0x61, 0x43, + 0x64, 0xF9, 0x4D, 0x31, 0x59, 0x40, 0x64, 0x58, 0xBE, 0xBD, 0x6B, 0x83, 0xED, 0xF4, 0x5D, 0x88, + 0x64, 0x36, 0x05, 0x05, 0x30, 0x20, 0xA3, 0x2D, 0xFD, 0xBC, 0x61, 0xA3, 0x39, 0x80, 0x92, 0x4B, + 0x1D, 0x23, 0xFD, 0x12, 0x21, 0x43, 0x7A, 0x18, 0xD4, 0x3F, 0x34, 0x4F, 0xB0, 0x54, 0x9B, 0x2E, + 0x33, 0xCB, 0xB1, 0xAE, 0x1D, 0xC4, 0xA3, 0x80, 0x82, 0x59, 0xD6, 0x75, 0x07, 0x27, 0x6C, 0x32, + 0xFB, 0x9E, 0x20, 0xA9, 0x77, 0x6D, 0x23, 0xCF, 0x1D, 0xC2, 0x65, 0xE1, 0x0E, 0x16, 0xDD, 0xDA, + 0xB0, 0x05, 0xE1, 0x82, 0x8D, 0xBB, 0x98, 0x13, 0xC0, 0x59, 0x51, 0x77, 0x21, 0x5A, 0x5A, 0x14, + 0xAE, 0xC8, 0xCA, 0x90, 0x49, 0xA4, 0xF5, 0xE4, 0x07, 0x71, 0x53, 0x42, 0x61, 0xA0, 0xB1, 0x5A, + 0x5D, 0x64, 0x8A, 0xB0, 0x45, 0x74, 0x71, 0x64, 0x1C, 0x30, 0x07, 0xF4, 0xBB, 0x68, 0x35, 0x40, + 0xB0, 0x42, 0x83, 0x48, 0x3D, 0x27, 0xA2, 0x0C, 0x58, 0x3E, 0xB3, 0x20, 0x0B, 0x11, 0x32, 0x53, + 0x7A, 0xDC, 0x21, 0x4A, 0x1D, 0x74, 0x18, 0x6E, 0x8F, 0xDB, 0xB8, 0x57, 0x17, 0x79, 0x08, 0xCE, + 0xDC, 0x04, 0xF2, 0xD0, 0x1B, 0x80, 0x80, 0x7B, 0x8E, 0xC2, 0xC9, 0x4B, 0x80, 0x0F, 0x04, 0x0E, + 0xE1, 0x2A, 0x87, 0xD8, 0xDF, 0x01, 0x83, 0xEA, 0xE1, 0x08, 0xFA, 0x1E, 0x88, 0xB9, 0x5D, 0x40, + 0x63, 0x9A, 0x33, 0xA0, 0xC6, 0x04, 0x0A, 0x4C, 0x3A, 0x48, 0x37, 0xA7, 0x5F, 0xB8, 0x25, 0xF8, + 0xBC, 0xA1, 0x05, 0x74, 0x1A, 0x25, 0x1F, 0xE4, 0xF9, 0xCA, 0x19, 0xCE, 0x12, 0x34, 0x0D, 0xE1, + 0x5C, 0x97, 0xCC, 0x18, 0x20, 0x05, 0xA0, 0x65, 0xD2, 0x42, 0x1A, 0x92, 0xFE, 0x0E, 0x7E, 0x9F, + 0x64, 0x9F, 0xBF, 0xB1, 0x70, 0xB1, 0xC3, 0x34, 0x15, 0xCA, 0xA2, 0x47, 0x6A, 0x91, 0x5A, 0xAB, + 0x5B, 0x73, 0xA5, 0x6E, 0x0B, 0x55, 0x04, 0x68, 0x7D, 0xB8, 0x49, 0x00, 0x96, 0xF1, 0xE6, 0xD3, + 0x7F, 0xBE, 0x3E, 0x3B, 0x3F, 0x7D, 0xFF, 0xBB, 0xBA, 0x63, 0xCF, 0x7C, 0x3F, 0xC4, 0xD7, 0xC2, + 0xB4, 0xBA, 0x25, 0x1E, 0x84, 0x1F, 0xB5, 0x20, 0x15, 0xDF, 0x99, 0x8F, 0x8B, 0x76, 0xCE, 0xF1, + 0xD1, 0xCC, 0x26, 0xF4, 0xEF, 0xCE, 0xFF, 0x8A, 0x68, 0x66, 0x36, 0x7C, 0x64, 0x53, 0xBB, 0x61, + 0x15, 0x59, 0x99, 0xA8, 0x82, 0xAC, 0xD3, 0xB7, 0xAF, 0xCF, 0xFF, 0x76, 0x7E, 0xF1, 0xFA, 0x9D, + 0xBA, 0xBD, 0x34, 0x7B, 0xFA, 0x0A, 0x19, 0x0B, 0x8C, 0xCE, 0x94, 0x37, 0x41, 0xC8, 0xD2, 0xBB, + 0x94, 0xB3, 0xF9, 0x1E, 0xDC, 0x54, 0xBD, 0x01, 0x22, 0x6A, 0x6F, 0x29, 0xD4, 0xDE, 0x52, 0xB1, + 0xA1, 0x25, 0xF6, 0xA2, 0xD6, 0x96, 0xE8, 0xB1, 0xA8, 0x4A, 0xE4, 0xCD, 0x61, 0x72, 0x7E, 0x87, + 0x83, 0xE9, 0xE7, 0x2F, 0xAA, 0x32, 0x5F, 0x86, 0x3C, 0x58, 0x20, 0x1B, 0xB3, 0x3B, 0x15, 0x84, + 0x24, 0x30, 0x15, 0x3E, 0x51, 0x29, 0x3D, 0x3C, 0x51, 0xE5, 0x0E, 0xA2, 0x4D, 0x26, 0xF6, 0xA8, + 0x74, 0xCE, 0x54, 0x25, 0x8E, 0x26, 0x61, 0x30, 0xF9, 0x3A, 0x52, 0xCF, 0x59, 0xE4, 0xE3, 0x56, + 0x75, 0x6D, 0x08, 0x5E, 0xCF, 0x0B, 0x97, 0x00, 0xF7, 0x91, 0xD6, 0xAA, 0xC7, 0x2F, 0xA3, 0x71, + 0xBA, 0x18, 0x8A, 0xCF, 0xA3, 0x45, 0x12, 0x5F, 0x25, 0x2C, 0x4D, 0x33, 0x99, 0xDE, 0x04, 0x69, + 0x30, 0x0E, 0xC2, 0x80, 0xDF, 0x0D, 0x80, 0x71, 0x3E, 0x8B, 0x32, 0xD2, 0x17, 0xC9, 0x95, 0xD8, + 0x92, 0x6E, 0xA0, 0x22, 0xA3, 0xB2, 0x88, 0x34, 0x4D, 0xA2, 0x80, 0x6A, 0x2A, 0x11, 0xBF, 0x3B, + 0xE4, 0xB7, 0x8F, 0x75, 0x52, 0xEE, 0xA2, 0xB4, 0xCA, 0x1C, 0x37, 0x29, 0xDB, 0x53, 0x58, 0x51, + 0x39, 0xF7, 0xAF, 0xF1, 0x7C, 0x0E, 0x65, 0x63, 0xBD, 0x16, 0x06, 0x29, 0xAF, 0xE9, 0x35, 0x2F, + 0x0C, 0x6B, 0x25, 0x36, 0x9C, 0xB1, 0x29, 0x50, 0x3B, 0x2B, 0xA9, 0x73, 0x79, 0x57, 0xA4, 0x33, + 0xC7, 0xF6, 0x6B, 0xC2, 0x20, 0x0A, 0xF8, 0x41, 0x52, 0xD7, 0xD4, 0x8D, 0x40, 0x55, 0x09, 0x34, + 0xAE, 0x59, 0xC4, 0x19, 0xBC, 0xAF, 0x84, 0x19, 0x17, 0xFF, 0x87, 0xF5, 0x09, 0xE8, 0x81, 0x02, + 0x63, 0x6D, 0x55, 0xB9, 0x43, 0xDE, 0xA9, 0x19, 0xB4, 0x53, 0x82, 0xB6, 0xE1, 0x3E, 0x81, 0x45, + 0x36, 0x5C, 0xEE, 0xE8, 0x02, 0x52, 0x0C, 0x47, 0xAA, 0x6C, 0xC1, 0xA9, 0xAD, 0x02, 0x0F, 0x2E, + 0xBD, 0x23, 0x74, 0x59, 0xB8, 0x6B, 0x97, 0xA2, 0x5D, 0xFB, 0x41, 0x3C, 0x68, 0xBD, 0x88, 0xC7, + 0x12, 0x04, 0xD9, 0x70, 0xC9, 0x1B, 0x8F, 0x30, 0xDA, 0x93, 0x5F, 0x57, 0x12, 0x63, 0x0F, 0x84, + 0x2D, 0x91, 0x50, 0x0F, 0x53, 0x3D, 0x6E, 0x00, 0x03, 0x01, 0x87, 0x74, 0x30, 0xD2, 0x44, 0x36, + 0x78, 0x2A, 0x1D, 0x07, 0x72, 0x95, 0x74, 0x07, 0x9C, 0x52, 0xCE, 0xC9, 0x20, 0x9A, 0xC6, 0x99, + 0x36, 0x96, 0xA1, 0x2B, 0x0E, 0x41, 0xD4, 0xE1, 0x12, 0x42, 0x7C, 0xA9, 0xBC, 0xD0, 0xA2, 0x66, + 0x8A, 0x5B, 0x74, 0x5D, 0x51, 0xAB, 0x44, 0x75, 0x4F, 0x5A, 0x35, 0x2B, 0xCB, 0xF7, 0x02, 0xD4, + 0x06, 0x70, 0xCF, 0x70, 0xFC, 0xF8, 0x77, 0x50, 0xEC, 0xFC, 0xCB, 0x39, 0x1C, 0x3B, 0xFB, 0x22, + 0x5C, 0xC5, 0xF9, 0x25, 0x0F, 0xE6, 0x70, 0xCE, 0x8B, 0xA0, 0x58, 0x56, 0xD1, 0x95, 0x8D, 0xB1, + 0xDC, 0x49, 0xCE, 0xF2, 0x33, 0x48, 0x32, 0x50, 0xD7, 0x73, 0x97, 0x70, 0x89, 0x6A, 0x49, 0xEB, + 0x44, 0xF3, 0xE1, 0xB0, 0xEB, 0x93, 0x2D, 0x20, 0x61, 0x7A, 0x29, 0xF7, 0xF8, 0x32, 0x55, 0x73, + 0x5E, 0x6F, 0x7D, 0x3E, 0xE0, 0xFC, 0x3E, 0x7D, 0xFC, 0xF0, 0xEA, 0xE7, 0x8B, 0xD7, 0x87, 0x5D, + 0x9F, 0x2C, 0xD6, 0x94, 0x8F, 0x0B, 0x1F, 0x94, 0xFF, 0x01, 0xCF, 0x57, 0x31, 0xDF, 0xBD, 0x8E, + 0x70, 0xB5, 0xD7, 0x0D, 0x96, 0x52, 0xC1, 0x27, 0xBB, 0x3E, 0xF8, 0x52, 0xB2, 0x7C, 0xE1, 0xDD, + 0xB6, 0x7D, 0x1E, 0x1E, 0xA2, 0xBC, 0xCD, 0x53, 0x1C, 0xDE, 0x74, 0x95, 0xBB, 0x3C, 0xBC, 0xDD, + 0xED, 0xF4, 0x72, 0xCC, 0x79, 0xEC, 0x9B, 0xA7, 0x57, 0xEA, 0x7E, 0xF4, 0xC7, 0x67, 0x0C, 0xE4, + 0x98, 0x70, 0xE0, 0xB6, 0xAE, 0x80, 0xDB, 0xF7, 0x52, 0xA6, 0xAC, 0xBC, 0x80, 0x37, 0xE1, 0xBF, + 0x2C, 0x30, 0xE6, 0xA8, 0x26, 0xF1, 0x12, 0x83, 0xDB, 0xC3, 0x21, 0xB3, 0x10, 0x13, 0x82, 0x85, + 0xF1, 0x15, 0xB0, 0xD3, 0xBB, 0x62, 0xB9, 0xB1, 0x51, 0xC3, 0xAC, 0x2A, 0xF8, 0x4A, 0x0F, 0x6D, + 0xD7, 0x94, 0x68, 0x9D, 0xC2, 0xCC, 0xCC, 0x39, 0x3E, 0x05, 0xD2, 0x79, 0x30, 0x0D, 0x26, 0xF4, + 0x20, 0x04, 0x22, 0xAF, 0xB3, 0x43, 0xE7, 0x8A, 0x96, 0xA6, 0x4C, 0x05, 0x8E, 0x2B, 0x59, 0x87, + 0x98, 0x46, 0x9F, 0xA1, 0x2A, 0x79, 0x8E, 0x7D, 0xFC, 0x31, 0x05, 0xB3, 0x95, 0xC7, 0xDB, 0x08, + 0x80, 0xE5, 0xF7, 0x5E, 0x32, 0x15, 0x10, 0xE0, 0x74, 0x48, 0x94, 0x7F, 0x25, 0x4D, 0xC1, 0xD6, + 0x70, 0xC1, 0xAA, 0x59, 0xF2, 0x78, 0x22, 0x3E, 0xC0, 0xDC, 0x0A, 0x3C, 0xC8, 0x13, 0x08, 0x59, + 0x48, 0x10, 0x49, 0xCC, 0xE2, 0x30, 0x31, 0xE3, 0x5D, 0x09, 0x4A, 0xB9, 0xC9, 0xBB, 0x91, 0x46, + 0x64, 0x9A, 0xBE, 0xCF, 0x1E, 0x8A, 0x88, 0xF7, 0xF6, 0x0C, 0xA3, 0x93, 0xD4, 0xF7, 0xF3, 0xE5, + 0x78, 0x1E, 0xF0, 0x9D, 0x1E, 0x22, 0x9D, 0x80, 0xC3, 0xE4, 0xC7, 0x37, 0x5E, 0xA2, 0xAC, 0xD2, + 0xCB, 0x34, 0x5E, 0x26, 0x13, 0xA6, 0xDF, 0xCE, 0x43, 0xAC, 0xB5, 0x44, 0x1A, 0xA1, 0x4F, 0x96, + 0x09, 0x3E, 0xA4, 0x42, 0x2F, 0x3D, 0x52, 0x5B, 0xAA, 0x0E, 0x47, 0x98, 0xA1, 0xD8, 0x85, 0xD0, + 0x47, 0x2F, 0x2C, 0x7D, 0xC5, 0xC6, 0x69, 0x3C, 0xF9, 0xCA, 0xF8, 0xE5, 0x22, 0x4E, 0xF8, 0xC8, + 0x2C, 0x0D, 0x9C, 0x7E, 0x18, 0xA9, 0x00, 0x92, 0xDE, 0x45, 0x93, 0x4B, 0x18, 0x85, 0x9A, 0x6D, + 0xBE, 0x8C, 0x4A, 0xA0, 0xA8, 0x8E, 0x97, 0xC8, 0x2A, 0x55, 0x07, 0xF5, 0xBC, 0x8C, 0xA7, 0xD3, + 0x2A, 0x42, 0x32, 0x0A, 0xE6, 0xE3, 0x20, 0x4B, 0x17, 0x97, 0x2C, 0x49, 0xE2, 0xE4, 0x72, 0x0E, + 0x26, 0x06, 0x70, 0x08, 0x54, 0x0C, 0x4E, 0x62, 0x9F, 0xC1, 0xD6, 0xC8, 0x28, 0x41, 0xF8, 0xC8, + 0x1C, 0x4E, 0x97, 0x11, 0x3D, 0xAF, 0x03, 0xE3, 0xBD, 0x19, 0x7B, 0x10, 0xB0, 0xEF, 0xF1, 0xA0, + 0x00, 0x58, 0x72, 0x51, 0xAA, 0xCE, 0x47, 0xA5, 0x23, 0x36, 0xD3, 0x05, 0xD8, 0x65, 0x1D, 0x0E, + 0xAA, 0xE9, 0x11, 0x9D, 0x37, 0x1C, 0x59, 0x43, 0x10, 0x75, 0x9D, 0x35, 0x10, 0xCE, 0x97, 0xCC, + 0xAF, 0x89, 0x90, 0x5F, 0x53, 0x72, 0xA6, 0xFF, 0xA1, 0x96, 0x39, 0x55, 0x6B, 0xD5, 0x86, 0xCA, + 0xFE, 0xC4, 0xE3, 0x0F, 0xF5, 0xB8, 0x45, 0x66, 0xAB, 0x0E, 0xC3, 0x23, 0xDE, 0x0C, 0x59, 0x74, + 0xC5, 0xA1, 0x32, 0x18, 0x6A, 0x7B, 0x76, 0xD9, 0xB3, 0x89, 0xDA, 0xA8, 0x47, 0x8D, 0x11, 0xFF, + 0x1C, 0x7E, 0x69, 0x20, 0xC5, 0x0D, 0xF5, 0xA1, 0x4D, 0xD5, 0x86, 0x58, 0x9C, 0x3B, 0x28, 0x49, + 0x85, 0x1E, 0x36, 0x1A, 0xC3, 0x84, 0xF1, 0x65, 0x12, 0x29, 0x44, 0x42, 0xD9, 0x9B, 0xA8, 0xEB, + 0x9C, 0x91, 0x60, 0x1C, 0xE9, 0xEC, 0x32, 0x00, 0xAD, 0x07, 0x66, 0x8A, 0xF5, 0x6A, 0x96, 0x7C, + 0xD4, 0xDA, 0x76, 0x0D, 0x92, 0x86, 0x9A, 0x05, 0x17, 0x48, 0x33, 0x6A, 0x9D, 0x1A, 0xA6, 0x19, + 0x78, 0x11, 0xB1, 0xB0, 0x66, 0xB7, 0x6B, 0x59, 0x2E, 0x52, 0xEB, 0xD6, 0xA4, 0x61, 0xD4, 0x30, + 0x7D, 0x18, 0x24, 0xCC, 0x1F, 0xD6, 0x94, 0x16, 0x10, 0xB2, 0x8D, 0x6E, 0x37, 0x02, 0xBB, 0x8A, + 0x80, 0xD2, 0x8F, 0x2D, 0x14, 0x8E, 0x29, 0x50, 0xF4, 0xF6, 0x50, 0xD4, 0xE9, 0x16, 0x08, 0xC1, + 0x87, 0x3F, 0x4C, 0x93, 0x5D, 0x45, 0x68, 0x99, 0x02, 0x23, 0x5E, 0x25, 0xCA, 0x5E, 0x19, 0xA5, + 0xFB, 0x68, 0x8C, 0x76, 0x7F, 0x27, 0x06, 0xE7, 0x31, 0xA7, 0x74, 0x05, 0x0A, 0xD7, 0x11, 0x44, + 0x75, 0x05, 0x4D, 0xDD, 0x1C, 0x61, 0x09, 0x5F, 0xE7, 0x51, 0x08, 0x3B, 0x3F, 0x1A, 0x61, 0xEF, + 0x47, 0x20, 0x14, 0x29, 0x25, 0xA2, 0x2D, 0xB2, 0xEC, 0x9A, 0xED, 0x96, 0x54, 0x02, 0xEE, 0xB3, + 0x2C, 0xBB, 0x46, 0x15, 0xB2, 0x8D, 0x9D, 0xC4, 0x5E, 0xED, 0xF8, 0x47, 0xAA, 0xE8, 0xDF, 0xAB, + 0x9F, 0x3F, 0x56, 0x39, 0x7F, 0xB0, 0x66, 0xFE, 0xBD, 0x6A, 0xF9, 0x63, 0x75, 0xF2, 0xC7, 0x2A, + 0xE4, 0x3F, 0x44, 0x1B, 0x0B, 0xD7, 0x88, 0x8F, 0x58, 0x37, 0x3D, 0xE3, 0x63, 0x15, 0xD5, 0x76, + 0xE1, 0xFF, 0x5A, 0xDE, 0x42, 0xAC, 0xBD, 0xEB, 0xEA, 0x8E, 0xF2, 0xD6, 0xD6, 0x7B, 0xCA, 0xDB, + 0xAE, 0x6E, 0x39, 0xF4, 0x69, 0x2A, 0x6F, 0x2D, 0x79, 0xE9, 0xE9, 0x96, 0x25, 0x2E, 0x6D, 0x31, + 0xD8, 0x81, 0x8B, 0x49, 0x97, 0xBE, 0x6E, 0x75, 0xE9, 0xB3, 0x4F, 0x43, 0x36, 0x2C, 0xB7, 0xE5, + 0xC5, 0xD6, 0xAD, 0x1E, 0x5D, 0x7A, 0x34, 0xD6, 0x41, 0xAC, 0x1D, 0xE5, 0x1B, 0x1E, 0x30, 0x89, + 0xBF, 0xC2, 0x09, 0xA9, 0x19, 0x53, 0x13, 0xF5, 0x5C, 0x8D, 0x4E, 0xBA, 0xF3, 0xA0, 0x22, 0x6D, + 0xBF, 0xC4, 0x0A, 0x98, 0x69, 0xF7, 0xA5, 0x78, 0xD4, 0x18, 0x31, 0x0C, 0x43, 0x7A, 0x39, 0x02, + 0xA9, 0x54, 0xD8, 0xE8, 0x2A, 0x44, 0x20, 0x55, 0x2B, 0x70, 0x40, 0x22, 0x80, 0xEF, 0xBE, 0x9C, + 0x43, 0xBD, 0x16, 0x5D, 0xA5, 0x75, 0xA6, 0xF3, 0x8C, 0x69, 0x75, 0x36, 0x62, 0x4D, 0x1E, 0xBF, + 0x8D, 0x57, 0x2C, 0xF9, 0x15, 0xD2, 0xE0, 0xBA, 0xA6, 0x1D, 0xD5, 0xF9, 0x88, 0x6F, 0x8C, 0x9D, + 0x18, 0xD6, 0x80, 0x1F, 0xB1, 0x13, 0x6B, 0x60, 0x16, 0x58, 0xF1, 0x39, 0xB3, 0xC7, 0x27, 0x33, + 0x2A, 0x24, 0xA8, 0x2C, 0x42, 0x0A, 0x31, 0xE6, 0x73, 0x4C, 0x16, 0x30, 0xE3, 0x18, 0x06, 0x53, + 0xC0, 0xA6, 0x96, 0xDB, 0x1D, 0xE7, 0xB4, 0x72, 0xA0, 0xA8, 0x0D, 0xD6, 0x14, 0x50, 0x3A, 0x6F, + 0x54, 0x97, 0x7C, 0x2F, 0x7F, 0xB9, 0x88, 0xB9, 0x17, 0x2A, 0xE2, 0x6D, 0x1D, 0x02, 0xE2, 0x38, + 0x70, 0x18, 0x06, 0xF2, 0x59, 0xBF, 0x0C, 0xB2, 0x84, 0xEF, 0x87, 0x21, 0xDE, 0x4F, 0x26, 0xCB, + 0x85, 0xF8, 0x3B, 0x09, 0x45, 0xA5, 0xA5, 0x47, 0x73, 0x06, 0x29, 0xA1, 0x32, 0x0F, 0x22, 0x50, + 0x9A, 0x1A, 0x15, 0x1E, 0xC2, 0x2F, 0xCC, 0x40, 0xAB, 0x46, 0xB5, 0x3E, 0xDC, 0x89, 0x84, 0xAF, + 0x86, 0x3B, 0xC4, 0x39, 0x3C, 0x64, 0x05, 0x20, 0x44, 0x02, 0x96, 0x85, 0xF5, 0xE6, 0xFC, 0x5F, + 0x54, 0xDD, 0x8F, 0x27, 0xCB, 0x39, 0xC8, 0xB1, 0x79, 0xC5, 0xF8, 0xEB, 0x90, 0xE1, 0xED, 0x2F, + 0x77, 0xA7, 0x20, 0x3F, 0x59, 0x5E, 0x6A, 0xCD, 0x20, 0x8A, 0x58, 0xF2, 0xDB, 0xC5, 0xBB, 0xB7, + 0x23, 0xAE, 0x13, 0x3B, 0x41, 0xD4, 0x2F, 0xCA, 0xA9, 0x93, 0xE0, 0x74, 0x58, 0xC9, 0xA6, 0x20, + 0x8B, 0xE1, 0xA7, 0xF8, 0x06, 0xCC, 0xFB, 0x29, 0xE6, 0x54, 0x7A, 0x65, 0x4E, 0x24, 0x3D, 0xB6, + 0x36, 0xA4, 0xD3, 0xF1, 0x24, 0xB3, 0xB4, 0xF2, 0x1B, 0xAD, 0x07, 0x52, 0x9F, 0x4A, 0xD6, 0x06, + 0x4B, 0x58, 0xDD, 0x84, 0x34, 0xC6, 0x7A, 0x44, 0x16, 0x84, 0x09, 0x16, 0xA4, 0x42, 0x25, 0x8B, + 0x2D, 0x32, 0x22, 0x50, 0xCD, 0x10, 0xB3, 0x73, 0xF0, 0x0F, 0xB5, 0x63, 0xA8, 0x77, 0xB1, 0xFE, + 0xCA, 0xCA, 0x2B, 0x75, 0xCD, 0x9A, 0xA4, 0x5B, 0x4D, 0xA0, 0x8F, 0xD7, 0x33, 0xBD, 0x2B, 0xAB, + 0xEF, 0x96, 0x66, 0x37, 0xB1, 0x70, 0xD4, 0x39, 0x5D, 0xB4, 0xB5, 0x86, 0x5C, 0x1B, 0x95, 0x59, + 0xF4, 0xF2, 0x65, 0x1D, 0xF4, 0xD2, 0xD4, 0x28, 0xC7, 0x44, 0x06, 0x06, 0x98, 0xEC, 0xC6, 0x90, + 0xBD, 0xC6, 0x47, 0xD9, 0x6E, 0x82, 0x53, 0xC3, 0xB8, 0xD1, 0xD0, 0x54, 0xC3, 0x02, 0xAE, 0x0B, + 0xEC, 0x75, 0x39, 0xFF, 0x39, 0xFE, 0xD2, 0xC4, 0x06, 0x8D, 0x06, 0xB8, 0x88, 0x95, 0x17, 0x67, + 0xC7, 0x52, 0x65, 0xA8, 0x04, 0x05, 0x27, 0x54, 0xF6, 0x3C, 0x25, 0x87, 0xB4, 0xC3, 0x09, 0x29, + 0xC7, 0x0A, 0xFC, 0x57, 0x78, 0x22, 0x4B, 0xB7, 0xC1, 0x93, 0xE8, 0xB6, 0x85, 0xFE, 0xC8, 0xC6, + 0xFB, 0x8E, 0xB8, 0x74, 0x69, 0xCC, 0x42, 0x1F, 0xF2, 0xD6, 0xB2, 0xE5, 0xA7, 0xA5, 0xE0, 0x32, + 0xEB, 0x11, 0x5E, 0x05, 0x5F, 0x60, 0x53, 0x6E, 0x2D, 0x11, 0x8B, 0xEF, 0xF0, 0x5A, 0x53, 0x6E, + 0x6D, 0xB8, 0x80, 0xF7, 0xBD, 0xB3, 0x29, 0x0E, 0x6E, 0x60, 0x10, 0x5F, 0x0D, 0x49, 0xBE, 0x55, + 0x6B, 0x65, 0x87, 0x94, 0xAD, 0x26, 0xCA, 0x63, 0x61, 0xA0, 0x76, 0x74, 0xF1, 0x4A, 0xE6, 0xCF, + 0x7F, 0xC8, 0x04, 0xFA, 0x8F, 0xCC, 0x8B, 0xAB, 0xF9, 0x3B, 0x42, 0x8B, 0xDB, 0xA1, 0x8A, 0x8F, + 0x9A, 0xC4, 0xB3, 0xA5, 0x1A, 0x58, 0x04, 0xB9, 0xB0, 0x12, 0x4B, 0x51, 0x62, 0x8D, 0x5A, 0xFE, + 0x34, 0x49, 0x3C, 0x4C, 0xAA, 0x94, 0x6A, 0xA5, 0xEE, 0x75, 0x0D, 0x77, 0xDE, 0x00, 0xD6, 0x55, + 0x7A, 0xF9, 0xAB, 0x89, 0x7F, 0x54, 0xD7, 0xBC, 0xFA, 0x06, 0x72, 0xDB, 0x58, 0xF0, 0xF2, 0x65, + 0x69, 0xC5, 0xF6, 0xF4, 0xF7, 0xEF, 0xA8, 0x1A, 0x96, 0x26, 0x4F, 0x29, 0xCA, 0x36, 0xEC, 0xC6, + 0x5F, 0xBC, 0x3A, 0x86, 0x33, 0x8A, 0xD3, 0x6E, 0xE8, 0x80, 0x5C, 0x4B, 0xB3, 0xA5, 0xA9, 0x99, + 0x97, 0xBE, 0x5F, 0x45, 0x1F, 0x92, 0x78, 0xC1, 0x12, 0x7E, 0x57, 0x57, 0xA9, 0x89, 0xA5, 0x9D, + 0xD4, 0x41, 0xD9, 0x4C, 0x01, 0xB2, 0x03, 0x1F, 0x2E, 0x2A, 0xE1, 0xD3, 0x06, 0xD9, 0x42, 0x89, + 0x5F, 0x7E, 0xCD, 0x14, 0xCA, 0xFC, 0x4B, 0xAD, 0xCC, 0x9D, 0x3F, 0x64, 0x57, 0xF4, 0x0F, 0xB5, + 0x64, 0xC2, 0xAF, 0x20, 0x76, 0x70, 0x56, 0x27, 0x0F, 0x55, 0x65, 0xB4, 0x5A, 0xD3, 0xB0, 0x3E, + 0x41, 0xA4, 0xE5, 0x22, 0xA3, 0x72, 0x76, 0xDC, 0x5A, 0xD8, 0x22, 0x7E, 0xA0, 0x96, 0x17, 0x66, + 0x93, 0x80, 0xC5, 0x24, 0x9B, 0x16, 0x93, 0x48, 0x8B, 0x19, 0x6D, 0x5A, 0x4C, 0xB2, 0x6D, 0x31, + 0xCF, 0xB2, 0x95, 0x92, 0x9D, 0xF4, 0x45, 0x50, 0xEE, 0x63, 0x78, 0x85, 0xD0, 0x0C, 0x51, 0x58, + 0x7E, 0xB4, 0x31, 0xD0, 0xBA, 0x68, 0x17, 0x2E, 0x5A, 0x52, 0x9B, 0xCC, 0xC9, 0xA6, 0xA5, 0x78, + 0xC1, 0xF0, 0x8C, 0xC6, 0xE5, 0x10, 0x7C, 0x9B, 0x3E, 0x6D, 0x61, 0x5B, 0x30, 0xFF, 0xB8, 0xE8, + 0x5C, 0x28, 0x3F, 0x09, 0xA4, 0x5A, 0x3D, 0x2A, 0xB9, 0x9A, 0xE6, 0xB9, 0xCC, 0xF6, 0xEB, 0x91, + 0x65, 0x3F, 0x5B, 0x0A, 0xF0, 0x25, 0x41, 0x25, 0x85, 0xA0, 0x86, 0x99, 0xA4, 0x36, 0xE6, 0x0A, + 0x65, 0xC9, 0xB5, 0xA4, 0xA4, 0x2E, 0xA5, 0xC5, 0xBB, 0xD5, 0x51, 0x2F, 0x6B, 0xE3, 0xD3, 0xB5, + 0x6A, 0x3F, 0xBD, 0xCF, 0x52, 0xAC, 0xBD, 0x11, 0x31, 0xEB, 0x01, 0x97, 0x43, 0x62, 0x70, 0xA2, + 0xAA, 0x03, 0x15, 0x9B, 0xC2, 0x07, 0x42, 0x29, 0x3E, 0x9F, 0x2A, 0x03, 0x45, 0x27, 0x2A, 0x3E, + 0x4D, 0x52, 0x2A, 0x5E, 0x42, 0x09, 0x52, 0x08, 0xF1, 0x69, 0x5A, 0xEE, 0x04, 0x8A, 0x86, 0x86, + 0x12, 0x70, 0xD8, 0x23, 0x73, 0x59, 0xB5, 0x56, 0x4D, 0xB2, 0x44, 0xA9, 0x6D, 0x34, 0x82, 0x6A, + 0xC7, 0x7F, 0x8D, 0x15, 0x1E, 0x2B, 0xE2, 0x35, 0xB7, 0xA0, 0x78, 0xD6, 0xEE, 0x1D, 0x1F, 0xA0, + 0xAE, 0x68, 0x43, 0x57, 0x63, 0xFD, 0x5E, 0x00, 0xEA, 0xDB, 0x57, 0xCE, 0x23, 0xBB, 0x2C, 0x45, + 0x42, 0x26, 0xCD, 0x1D, 0xD3, 0xC4, 0x38, 0x9A, 0x06, 0xC9, 0xBC, 0xAE, 0xFE, 0x2A, 0x6E, 0x14, + 0x1F, 0xA7, 0x70, 0x4D, 0x3C, 0x45, 0x9D, 0x16, 0x79, 0x11, 0xD8, 0x63, 0x25, 0x79, 0xA4, 0x45, + 0xC0, 0x52, 0xB6, 0x85, 0x33, 0xCB, 0x3E, 0x0F, 0xA1, 0x85, 0x35, 0xA0, 0xC7, 0x71, 0x72, 0x77, + 0x00, 0x37, 0xAC, 0xA9, 0xA2, 0x2F, 0x3D, 0xDE, 0x91, 0xDD, 0xA2, 0x45, 0x02, 0x21, 0x9D, 0xD7, + 0xD5, 0x57, 0x19, 0x3A, 0xEA, 0x05, 0x43, 0xFE, 0x03, 0x4A, 0x12, 0x2D, 0xC3, 0x10, 0xFC, 0xF6, + 0x06, 0xEA, 0x49, 0x86, 0x03, 0x95, 0x1E, 0x1C, 0xCF, 0x1C, 0x12, 0xD6, 0x62, 0x87, 0xF2, 0x52, + 0xCA, 0x1C, 0x70, 0x9B, 0x68, 0x14, 0xB1, 0x95, 0xF2, 0x5F, 0xEF, 0xDE, 0xFE, 0xC6, 0xF9, 0xE2, + 0x8C, 0x5D, 0x2F, 0x21, 0x81, 0xD5, 0xC3, 0x91, 0xDA, 0x22, 0x65, 0x3E, 0x11, 0xEF, 0x9D, 0x8F, + 0xE0, 0x18, 0xFB, 0xF5, 0x72, 0x53, 0xBD, 0x90, 0x27, 0x11, 0x50, 0x0C, 0x9A, 0xD4, 0x6C, 0x36, + 0xB1, 0xC5, 0x03, 0xE9, 0x26, 0xA2, 0x13, 0xAD, 0xEC, 0x06, 0x8B, 0xB0, 0x67, 0xF6, 0xF1, 0xEC, + 0xB4, 0xCE, 0x35, 0x31, 0x29, 0x7A, 0x7C, 0xA5, 0x89, 0x72, 0x76, 0xA7, 0x47, 0xCD, 0x38, 0x82, + 0x83, 0xF9, 0x77, 0x98, 0x12, 0xB2, 0x09, 0xA4, 0x67, 0x57, 0x6C, 0x94, 0xE7, 0x40, 0xDA, 0xBD, + 0x3B, 0x1A, 0x45, 0x4D, 0x5A, 0x80, 0x19, 0x35, 0xF0, 0xA4, 0x6E, 0x9B, 0x26, 0x8E, 0x89, 0x14, + 0xF2, 0x64, 0x47, 0x76, 0xFE, 0x1F, 0xE7, 0xEF, 0x7F, 0x87, 0xB8, 0x9B, 0x40, 0x4A, 0x8F, 0xA0, + 0xE9, 0x22, 0x8E, 0x52, 0x76, 0xC1, 0x6E, 0xB9, 0xA6, 0x0D, 0x5C, 0xD3, 0x2A, 0x01, 0x9F, 0xBD, + 0xAD, 0x6B, 0x83, 0x3A, 0x88, 0x3B, 0x8D, 0x43, 0xD6, 0x0C, 0xE3, 0xAB, 0x7A, 0x36, 0xA5, 0xE9, + 0x6F, 0x3E, 0xBD, 0xC6, 0x16, 0x20, 0x30, 0x59, 0x5B, 0x23, 0x95, 0x0B, 0x16, 0xD5, 0xD5, 0xBF, + 0xBE, 0xBE, 0x80, 0x23, 0xEB, 0x90, 0x59, 0xC1, 0x50, 0x0A, 0x2C, 0xAF, 0x6F, 0x88, 0x40, 0x3C, + 0x15, 0x90, 0x32, 0x3E, 0x68, 0x15, 0xD9, 0x83, 0x0A, 0x4D, 0x78, 0x16, 0x2C, 0x21, 0x4C, 0x0C, + 0xD6, 0x22, 0xC8, 0x68, 0xF7, 0x7B, 0x81, 0xAB, 0x0F, 0x62, 0xB5, 0x66, 0xE5, 0x99, 0x6B, 0x26, + 0x96, 0xFD, 0xF6, 0x95, 0x5C, 0x01, 0x0C, 0x79, 0xEC, 0x66, 0xF1, 0xC4, 0x40, 0x3E, 0x3D, 0x08, + 0x99, 0x3A, 0x14, 0x85, 0x0D, 0xEA, 0xCD, 0x9B, 0x38, 0x99, 0xBF, 0xF2, 0xB8, 0x37, 0xE4, 0x4D, + 0x6F, 0xB1, 0xC0, 0xC3, 0x0A, 0xEB, 0x2C, 0xE7, 0xDB, 0x45, 0xA8, 0x8C, 0x20, 0x54, 0x46, 0x47, + 0x19, 0xFD, 0xC3, 0x08, 0x82, 0xA4, 0x4C, 0xDD, 0xD9, 0xE7, 0xE8, 0x0B, 0x78, 0xE1, 0x72, 0x4D, + 0x17, 0x4A, 0x2F, 0x7A, 0xAE, 0x16, 0xC8, 0x03, 0x3D, 0x14, 0xE1, 0x53, 0x2F, 0xF6, 0x2B, 0x1E, + 0xDF, 0x00, 0xD7, 0xB7, 0x11, 0x68, 0xEB, 0x7A, 0xA5, 0xAD, 0xBC, 0x43, 0xDD, 0x35, 0x29, 0xB9, + 0x0F, 0xEF, 0xCF, 0x2F, 0xB0, 0xBA, 0x20, 0x7C, 0x2A, 0x49, 0xB0, 0x02, 0xDA, 0x94, 0x17, 0x88, + 0x61, 0xAF, 0x6F, 0x60, 0x97, 0xB7, 0xE0, 0xB3, 0x18, 0x28, 0x3D, 0x72, 0x4C, 0x3C, 0x7F, 0x51, + 0xF5, 0x22, 0x35, 0xD7, 0xEE, 0x41, 0x5C, 0xD9, 0x59, 0xC1, 0xEC, 0x16, 0x4B, 0x6A, 0x6A, 0x66, + 0x65, 0x21, 0xEA, 0x92, 0xE7, 0x33, 0xBF, 0x25, 0xCB, 0xB8, 0x7F, 0x83, 0x8A, 0x6A, 0xBF, 0x89, + 0x09, 0x91, 0x08, 0x31, 0x1E, 0xF0, 0x8C, 0x0F, 0xC9, 0x5D, 0x41, 0xC1, 0x37, 0xB0, 0xA4, 0x7D, + 0x83, 0x7F, 0x25, 0x50, 0x37, 0x35, 0xAC, 0xC1, 0xD6, 0x6B, 0x9D, 0x92, 0xBD, 0xA2, 0x83, 0x6D, + 0x6D, 0x1C, 0x3C, 0x8E, 0x68, 0xB8, 0x64, 0x73, 0x64, 0x61, 0xA3, 0xEA, 0x2A, 0x69, 0x31, 0xF5, + 0xE7, 0x91, 0xF7, 0x0C, 0x85, 0x94, 0xCF, 0xB0, 0x0E, 0x87, 0x96, 0xC2, 0x88, 0xE4, 0x76, 0xB0, + 0xFE, 0xA0, 0x43, 0xA8, 0x1E, 0xAA, 0xEA, 0x1C, 0xB4, 0x81, 0x18, 0x96, 0x76, 0xBF, 0xDE, 0xE0, + 0x13, 0x99, 0x3B, 0xD7, 0xD6, 0x85, 0xC1, 0x43, 0xC2, 0xF3, 0xFB, 0x72, 0x3E, 0x06, 0x25, 0x21, + 0x8F, 0x5B, 0x58, 0x02, 0x8A, 0x5D, 0xE6, 0x86, 0xE0, 0xCD, 0xA5, 0x9A, 0x1C, 0xF1, 0xA1, 0x06, + 0xCE, 0xD6, 0x54, 0x1B, 0x51, 0xD6, 0x14, 0x8F, 0x0A, 0x5C, 0x70, 0xBA, 0x0F, 0xBF, 0x62, 0xA8, + 0xCF, 0xBD, 0x07, 0xEA, 0x32, 0x98, 0x1F, 0xCB, 0x3B, 0xE8, 0xC8, 0x81, 0x37, 0x10, 0x1A, 0xFE, + 0xC6, 0x30, 0x1E, 0x36, 0x54, 0x43, 0x6D, 0x94, 0x28, 0xC0, 0xD9, 0x77, 0x71, 0xC4, 0x67, 0x30, + 0x05, 0x39, 0xDE, 0xCE, 0x79, 0x44, 0x07, 0x49, 0xCA, 0xEE, 0xC9, 0xDF, 0x62, 0xA8, 0x90, 0xF7, + 0xCE, 0xBE, 0x0B, 0xA2, 0x25, 0x67, 0xFB, 0xE7, 0xCF, 0x19, 0xB8, 0x51, 0x5F, 0xCC, 0x17, 0xA7, + 0xFA, 0x2D, 0xF0, 0xD9, 0xCF, 0x61, 0x88, 0x06, 0x93, 0x3F, 0x89, 0x31, 0xB7, 0x9F, 0xC4, 0xBC, + 0x7C, 0x99, 0x3F, 0x27, 0x6A, 0x4E, 0xC2, 0x18, 0x7B, 0x31, 0x85, 0xDC, 0xE9, 0x35, 0xFA, 0x51, + 0xF5, 0x6B, 0x43, 0xAD, 0x83, 0x9C, 0x27, 0x22, 0x14, 0x31, 0x5F, 0x7B, 0x42, 0x7E, 0xC4, 0xF6, + 0x2F, 0x2D, 0xBD, 0xB2, 0x93, 0x69, 0xA4, 0xFC, 0x23, 0x83, 0x91, 0x8A, 0x7F, 0x65, 0x70, 0x60, + 0x97, 0xFC, 0x81, 0xF7, 0x6E, 0xC0, 0x82, 0x23, 0x79, 0x58, 0xB9, 0xCF, 0x78, 0xA3, 0xBE, 0xF1, + 0x40, 0x55, 0x7D, 0xCC, 0xAD, 0x8A, 0x27, 0x59, 0xF8, 0x07, 0x01, 0x50, 0x03, 0xBC, 0xF9, 0xF4, + 0xA2, 0xDC, 0xE0, 0x7A, 0xF3, 0xE9, 0xFD, 0xD7, 0xFA, 0x81, 0xD0, 0xB0, 0x2F, 0x58, 0xB3, 0x43, + 0x06, 0x78, 0xE8, 0xD4, 0xF4, 0xB7, 0x70, 0xCF, 0x3A, 0xB6, 0x80, 0x2C, 0x48, 0x3F, 0x8D, 0x02, + 0xFE, 0xF1, 0x54, 0x2A, 0x77, 0xBC, 0x2B, 0x2F, 0x01, 0xEB, 0x6D, 0x4D, 0x44, 0x06, 0x73, 0x22, + 0xAF, 0x68, 0x97, 0x95, 0xD4, 0x41, 0xFD, 0x0C, 0xE9, 0x67, 0xCF, 0x34, 0xBF, 0x40, 0x96, 0xB4, + 0xE7, 0xF9, 0xDF, 0xF6, 0x93, 0xC4, 0x72, 0x7C, 0x57, 0x91, 0x0E, 0xE5, 0xE3, 0x29, 0xD4, 0x05, + 0xF1, 0x03, 0x99, 0x07, 0x78, 0x78, 0x48, 0x3E, 0xE2, 0x52, 0xF2, 0x91, 0x59, 0xA6, 0x68, 0xF8, + 0x91, 0x97, 0x8C, 0xB3, 0x7C, 0x41, 0x7A, 0x7E, 0x53, 0x8F, 0x08, 0xA4, 0xF0, 0x2B, 0xD9, 0xB3, + 0xBF, 0x9F, 0x80, 0x64, 0x80, 0x2A, 0x13, 0x53, 0x5D, 0x88, 0x29, 0x85, 0xF4, 0x14, 0x8E, 0x06, + 0x9B, 0x98, 0x43, 0x16, 0xA6, 0x2C, 0xF7, 0x2A, 0x21, 0xC4, 0xD7, 0xF0, 0x28, 0x5B, 0x32, 0x0C, + 0xB3, 0xF8, 0x1A, 0x8C, 0xA2, 0xCF, 0xE1, 0x97, 0x6C, 0x97, 0x01, 0xEC, 0x02, 0x52, 0x51, 0x6E, + 0x58, 0x92, 0xC2, 0x31, 0xA0, 0x46, 0x0D, 0x3E, 0x9B, 0x5F, 0x64, 0xBA, 0x08, 0xC9, 0xD3, 0x01, + 0x49, 0x66, 0x6F, 0xD1, 0x55, 0x14, 0xE8, 0x46, 0x6D, 0x04, 0x9F, 0xAD, 0x2F, 0x50, 0xD7, 0x34, + 0x34, 0x5D, 0xAD, 0xF2, 0x76, 0x0B, 0xF9, 0x06, 0xEB, 0x41, 0xF5, 0xD5, 0x17, 0x23, 0x04, 0x97, + 0x4B, 0x24, 0x96, 0x4D, 0x91, 0x6D, 0xE1, 0xD9, 0x78, 0xF4, 0x1B, 0x7C, 0xB6, 0x73, 0x0C, 0x95, + 0x87, 0xC0, 0xC1, 0x67, 0x27, 0x9F, 0x20, 0x4F, 0x72, 0x4E, 0x53, 0xF9, 0x46, 0xB3, 0x38, 0xE5, + 0x94, 0x55, 0xEF, 0xE5, 0x82, 0xF0, 0x2D, 0x9B, 0x24, 0xAE, 0x41, 0xEE, 0xFC, 0xA4, 0xBE, 0xB7, + 0xE3, 0xAC, 0x0B, 0x3B, 0xD4, 0x06, 0x28, 0xA5, 0xF5, 0x1A, 0xC5, 0xA4, 0x50, 0x62, 0x19, 0x57, + 0x13, 0x4B, 0x9C, 0xD6, 0xAB, 0x02, 0x97, 0xDA, 0xA2, 0x0D, 0x21, 0x93, 0xCD, 0x5D, 0x01, 0xC4, + 0xE8, 0xB8, 0x9C, 0x60, 0x32, 0x4A, 0x4F, 0xE2, 0xAD, 0x04, 0xB3, 0x72, 0xC6, 0xFB, 0x47, 0x79, + 0xD1, 0x7A, 0x3E, 0x34, 0xDA, 0x6D, 0x2F, 0x27, 0x68, 0x89, 0x9F, 0xD8, 0x58, 0xA2, 0x55, 0x57, + 0xF8, 0x32, 0xB4, 0xDA, 0x28, 0xF3, 0xB9, 0x01, 0x5A, 0xD5, 0xA8, 0xCA, 0xA4, 0xA1, 0xB6, 0x56, + 0x90, 0x10, 0x7D, 0x56, 0xBD, 0xC4, 0x5F, 0x06, 0x20, 0xE7, 0x2F, 0xDA, 0xE0, 0x59, 0x88, 0x2A, + 0x28, 0xB4, 0xE6, 0x38, 0x88, 0xA0, 0xD4, 0xBC, 0xA0, 0xF7, 0x12, 0xBC, 0x24, 0xF1, 0xEE, 0xC6, + 0xCB, 0xE9, 0x94, 0x41, 0xC5, 0x53, 0x9C, 0x2C, 0x8E, 0x90, 0x53, 0xA3, 0x72, 0x2E, 0x56, 0x31, + 0xF0, 0x4F, 0xE7, 0xAA, 0xB6, 0xEB, 0x59, 0xBF, 0xB9, 0xAE, 0x20, 0x21, 0x06, 0x55, 0xB0, 0xEC, + 0x7C, 0x3F, 0xA0, 0x82, 0xFA, 0x7F, 0x08, 0xB7, 0x0C, 0x64, 0xDF, 0xBF, 0xA7, 0x8C, 0x63, 0xC0, + 0x8E, 0x97, 0xBC, 0x5E, 0x92, 0x8C, 0xEE, 0x30, 0x47, 0xAB, 0xEE, 0x45, 0xEF, 0x12, 0x1C, 0xA4, + 0x18, 0x8B, 0xC5, 0x0A, 0x48, 0xF6, 0x36, 0xC2, 0x46, 0xCA, 0xF9, 0x02, 0x82, 0xAD, 0x0F, 0x29, + 0x39, 0xD4, 0xDF, 0xB0, 0x65, 0x34, 0x61, 0x50, 0x90, 0xFE, 0x8C, 0x7C, 0xFA, 0x85, 0xF8, 0xA4, + 0x15, 0x09, 0x28, 0xAE, 0x2A, 0x3B, 0x05, 0xFB, 0x68, 0x94, 0xBD, 0x11, 0x00, 0x06, 0x90, 0x75, + 0xBD, 0x4F, 0x5F, 0x81, 0x6D, 0x70, 0xB0, 0x0D, 0x18, 0xCB, 0xDE, 0x9A, 0xE0, 0x68, 0xEF, 0x55, + 0x9F, 0xF9, 0x4A, 0xC1, 0x78, 0x4F, 0xD3, 0x1A, 0xBA, 0x01, 0xFA, 0x17, 0x14, 0x4A, 0xB0, 0x72, + 0xEE, 0x05, 0xC1, 0xBE, 0x7C, 0x99, 0x47, 0xB6, 0x53, 0xAE, 0xA4, 0x8C, 0xCD, 0x53, 0xE5, 0x2E, + 0x5E, 0x2A, 0xF8, 0xA6, 0x97, 0x8C, 0xD8, 0xCA, 0x14, 0xAA, 0x5F, 0xC5, 0x8B, 0x62, 0xF0, 0x17, + 0xE0, 0xD9, 0x62, 0xA1, 0x8A, 0x3A, 0x2E, 0x4B, 0x68, 0x5D, 0x14, 0xAF, 0x94, 0x72, 0x80, 0x07, + 0xB6, 0xAB, 0xAF, 0xCF, 0xCE, 0xDE, 0x9F, 0x15, 0xE4, 0x6E, 0xBF, 0xB9, 0xC1, 0xC1, 0x4F, 0x6C, + 0xBE, 0xBB, 0xB1, 0x75, 0x18, 0x5C, 0xD4, 0x50, 0x15, 0x9C, 0x1C, 0xE0, 0x7B, 0x0B, 0xD6, 0x17, + 0x4D, 0xAF, 0xA4, 0x7D, 0x1B, 0x59, 0x9F, 0x37, 0xC6, 0xA6, 0x3C, 0x16, 0x81, 0xA5, 0xC4, 0xAF, + 0x02, 0x70, 0x8F, 0x65, 0x5B, 0x65, 0xD7, 0x93, 0xBA, 0x17, 0x32, 0x80, 0x92, 0xEF, 0x84, 0x29, + 0x53, 0x0A, 0xF0, 0x75, 0x08, 0x64, 0x95, 0x65, 0x0D, 0x55, 0xA3, 0x1E, 0xC2, 0xE6, 0x41, 0xB4, + 0xAD, 0x17, 0x50, 0xB4, 0xC1, 0x2E, 0x84, 0x90, 0x1A, 0xE8, 0xE0, 0x74, 0x8A, 0xD4, 0xFE, 0xFF, + 0x41, 0x76, 0xBE, 0xD7, 0xA7, 0x6A, 0x83, 0x4C, 0x0D, 0x20, 0x28, 0x22, 0x51, 0x65, 0xC7, 0x57, + 0x7E, 0xE3, 0xEE, 0x5E, 0x04, 0xD1, 0x6A, 0x83, 0x66, 0xE3, 0x55, 0x42, 0xE5, 0x44, 0xD5, 0x1E, + 0x2E, 0xC2, 0x57, 0xCF, 0x2F, 0xC1, 0xF1, 0x85, 0xC0, 0xE7, 0xB1, 0xA5, 0xB4, 0xE9, 0x33, 0xC0, + 0xF1, 0x7D, 0xBF, 0x43, 0xD5, 0xFB, 0x43, 0x90, 0xA5, 0xC8, 0xFE, 0xCC, 0x8C, 0xF0, 0x81, 0x3C, + 0x58, 0xBC, 0xBF, 0x78, 0xB0, 0xC1, 0x90, 0x25, 0x34, 0xD5, 0x26, 0x83, 0xFE, 0x60, 0xFF, 0x40, + 0x85, 0x68, 0xF2, 0xB4, 0xBE, 0x81, 0x68, 0x1B, 0x14, 0x70, 0xDA, 0xBA, 0xFC, 0x22, 0x97, 0xFE, + 0xE4, 0xDE, 0xC1, 0x92, 0x94, 0x0B, 0xCE, 0xB7, 0xA3, 0x7D, 0xF0, 0xCF, 0xE9, 0x1B, 0x10, 0xAF, + 0x1F, 0xEC, 0x1C, 0x6C, 0xC9, 0xFE, 0x71, 0x3D, 0x83, 0x87, 0xDA, 0x04, 0x59, 0x0E, 0xBC, 0xB3, + 0x53, 0xF0, 0xB0, 0xF5, 0x3C, 0xD6, 0x05, 0x6D, 0x51, 0x7F, 0xE0, 0xAD, 0xD6, 0x03, 0x68, 0xB2, + 0xF7, 0x5B, 0x9F, 0x67, 0x3E, 0xCF, 0xB7, 0xF8, 0x0A, 0x64, 0xF6, 0x4E, 0xF7, 0xE2, 0xF6, 0x91, + 0x3E, 0xA2, 0x68, 0x6B, 0xFC, 0x83, 0x3C, 0xCA, 0x36, 0x78, 0x89, 0xC6, 0xA1, 0x70, 0xA1, 0x8F, + 0xEB, 0x9F, 0xA0, 0xFB, 0x54, 0x2D, 0x7A, 0xE0, 0x28, 0x54, 0xE0, 0xE5, 0x4B, 0xD5, 0xAD, 0x7E, + 0x2D, 0xCF, 0x7E, 0xFF, 0x5E, 0x0D, 0xBB, 0xAA, 0x0D, 0xB1, 0x3D, 0x9B, 0xD4, 0xAA, 0xF1, 0x6E, + 0x82, 0xA9, 0x8E, 0x88, 0x78, 0x54, 0x14, 0x29, 0xB8, 0x95, 0x53, 0x5E, 0x2F, 0x0C, 0x88, 0x9C, + 0xC8, 0x83, 0xF6, 0x82, 0xEF, 0x38, 0xB8, 0xA6, 0xCE, 0x47, 0x90, 0xC0, 0xD1, 0xDF, 0x0C, 0x02, + 0x93, 0xEB, 0x25, 0xBD, 0x8E, 0x1A, 0x23, 0xEB, 0x61, 0x0F, 0x27, 0x24, 0x13, 0x3D, 0x46, 0xE1, + 0x0A, 0xDD, 0x75, 0x2D, 0x23, 0xD2, 0x5D, 0xF3, 0x28, 0x82, 0x04, 0x66, 0x02, 0xAA, 0x9B, 0xE4, + 0xFB, 0x63, 0xB7, 0x7C, 0x33, 0x00, 0x42, 0x4E, 0x68, 0x61, 0x32, 0x49, 0x47, 0xAE, 0xF6, 0xA6, + 0x76, 0x0C, 0xED, 0x6B, 0x57, 0x15, 0x61, 0x14, 0xAB, 0x92, 0xFD, 0x66, 0x59, 0xBC, 0xC9, 0xFD, + 0x60, 0x31, 0x4F, 0x6F, 0x02, 0x3F, 0x0B, 0x13, 0x85, 0x8F, 0xE1, 0x03, 0x91, 0x39, 0x2C, 0xFC, + 0x43, 0x5E, 0x96, 0x1D, 0x58, 0xBD, 0xD8, 0x5A, 0x8D, 0xEF, 0xD8, 0x12, 0x11, 0x27, 0x1F, 0xCF, + 0x5F, 0x9F, 0x95, 0x3B, 0x08, 0xE8, 0x73, 0x81, 0x84, 0x88, 0x83, 0x2F, 0x6E, 0xA8, 0x2F, 0x3F, + 0xFC, 0x7C, 0x7E, 0xFE, 0xE9, 0xFD, 0xD9, 0xAB, 0xDD, 0x4B, 0x38, 0x2E, 0x39, 0xFF, 0xF8, 0xCB, + 0xBB, 0xD3, 0x8B, 0xD1, 0x1D, 0x76, 0x8D, 0xC3, 0x1D, 0x41, 0x62, 0x18, 0x3E, 0xFC, 0x04, 0x23, + 0xDC, 0x7A, 0x82, 0xF1, 0x02, 0xC6, 0x64, 0xAD, 0x48, 0x95, 0x63, 0x58, 0xAD, 0x1C, 0xF3, 0xD2, + 0xB0, 0x92, 0xBB, 0x86, 0x79, 0xF9, 0x38, 0xC8, 0xDA, 0x29, 0x20, 0xF6, 0xB0, 0x5C, 0x3A, 0x46, + 0x14, 0x9A, 0xC2, 0xAC, 0x74, 0x5C, 0x05, 0x91, 0x1F, 0xAF, 0x76, 0xF8, 0xEE, 0x0C, 0x7E, 0x3D, + 0x3C, 0x6A, 0xC9, 0xD7, 0xB5, 0x8F, 0x5A, 0xF2, 0xAF, 0x44, 0xE8, 0x1F, 0xF0, 0xFD, 0x5F, 0xE9, + 0xC1, 0x6D, 0x64, 0xC7, 0x57, 0x00, 0x00 }; #endif //__nofile_h diff --git a/embedded/package-lock.json b/embedded/package-lock.json index 25c3ca2f..70616c4a 100644 --- a/embedded/package-lock.json +++ b/embedded/package-lock.json @@ -4,28 +4,28 @@ "lockfileVersion": 1, "dependencies": { "@nodelib/fs.scandir": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.1.tgz", - "integrity": "sha512-NT/skIZjgotDSiXs0WqYhgcuBKhUMgfekCmCGtkUAiLqZdOnrdjmZr9wRl3ll64J9NF79uZ4fk16Dx0yMc/Xbg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", + "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.1", + "@nodelib/fs.stat": "2.0.2", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.1.tgz", - "integrity": "sha512-+RqhBlLn6YRBGOIoVYthsG0J9dfpO79eJyN7BYBkZJtfqrBwf2KK+rD/M/yjZR6WBmIhAgOV7S60eCgaSWtbFw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", + "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.2.tgz", - "integrity": "sha512-J/DR3+W12uCzAJkw7niXDcqcKBg6+5G5Q/ZpThpGNzAUz70eOR6RV4XnnSN01qHZiVl0eavoxJsBypQoKsV2QQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", + "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.1", + "@nodelib/fs.scandir": "2.1.2", "fastq": "^1.6.0" } }, @@ -53,9 +53,9 @@ "dev": true }, "@types/node": { - "version": "12.7.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz", - "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==", + "version": "12.7.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.3.tgz", + "integrity": "sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==", "dev": true }, "CSSselect": { @@ -80,6 +80,24 @@ "integrity": "sha1-6x9FtKQ/ox0DcBpexG87Umc+kO4=", "dev": true }, + "aggregate-error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz", + "integrity": "sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^3.2.0" + }, + "dependencies": { + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + } + } + }, "alter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", @@ -883,6 +901,12 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "cli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", @@ -1179,16 +1203,19 @@ } }, "del": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.0.0.tgz", - "integrity": "sha512-TfU3nUY0WDIhN18eq+pgpbLY9AfL5RfiE9czKaTSolc6aK7qASXfDErvYgjV1UqCR4sNXDoxO0/idPmhDUt2Sg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", "dev": true, "requires": { - "globby": "^10.0.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "rimraf": "^2.6.3" + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" } }, "deprecated": { @@ -1863,12 +1890,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1883,17 +1912,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -2010,7 +2042,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2022,6 +2055,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2036,6 +2070,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2147,7 +2182,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2159,6 +2195,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2280,6 +2317,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3626,23 +3664,11 @@ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.1.tgz", + "integrity": "sha512-CKstxrctq1kUesU6WhtZDbYKzzYBuRH0UYInAVrkc/EYdB9ltbfE0gOoayG9nhohG6447sOOVGhHqsdmBvkbNg==", + "dev": true }, "is-plain-object": { "version": "2.0.4", @@ -4793,10 +4819,13 @@ } }, "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } }, "param-case": { "version": "2.1.1", @@ -4866,12 +4895,6 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -5341,9 +5364,9 @@ "dev": true }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "dev": true, "requires": { "glob": "^7.1.3" diff --git a/embedded/tool.html.gz b/embedded/tool.html.gz index 4cc6b20a8c71faf71ae8339db6a48b2334556015..8b0ea5f90c0dbe3990b4374d7478b1b9871d8ad9 100644 GIT binary patch literal 6535 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 literal 6028 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,.table>tbody>tr>th,.table>thead>tr>td,.table>tbody>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd;} -.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td{border:1px solid #dddddd;} -.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px;} .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9;} -@media (min-width:768px){.container{width:750px;}} -@media (min-width:992px){.container{width:970px;}} -@media (min-width:1200px){.container{width:1170px;}} -.nav{ width:100%; color:#cccccc;padding-left:10;padding-right:10;list-style:none;background-color:#333333;border-radius:6px ;margin-bottom:20px;} a{position:relative;display:block;padding:10px 15px;text-decoration:none;color:#cccccc;} .active{color:#ffffff;background-color:#000000;} .active a,a:hover,a:focus{color:#FFFFFF;} .panel{margin-bottom:20px;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05);} .panel-body{padding:15px;} .panel-heading{padding:10px 15px;color:#333333;background-color:#f5f5f5;border-color:#dddddd;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom:1px solid #dddddd;} -label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold;} -.text-info{color:#31708f;} .form-control{display:block;width:auto;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff ;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075); * -webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s; @@ -32,24 +22,12 @@ background-image:none;border:1px solid transparent;white-space:nowrap;padding:6p * -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;} .btn-primary{color:#ffffff;background-color:#337ab7;border-color:#2e6da4;} .btn-primary:focus,.btn-primary:active,.btn-primary:hover,.btn-primary.focus,.btn-primary.active,.btn-primary.hover{color:#ffffff;background-color:#286090;border-color:#122b40;} -caption{padding-top:8px;padding-bottom:8px;color:#777777;text-align:left;} -.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px;} -.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d;} -.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442;} -.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);} -.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;} -.has-error .control-label{color:#a94442;} -.has-success .form-control {border-color: #3c763d;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);} -.has-success .form-control:focus {border-color: #2b542c;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;} -.has-success .control-label{color: #3c763d;} -.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a;} -.btn-danger:focus,.btn-danger:active,.btn-danger:hover,.btn-danger.focus,.btn-danger.active,.btn-danger.hover{color: #ffffff;background-color:#c9302c;border-color:#761c19;} -.btnimg {cursor:hand; border-radius:6px ;;border:1px solid #FFFFFF;} -.btnimg:hover{background-color:#F0F0F0;border-color:#00FFFF;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;} +.btnimg {cursor:hand; border-radius:6px ;border:1px solid #FFFFFF;} +.btnimg:hover{background-color:#F0F0F0;border-color:#6c6c6c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;} .btnroundimg {cursor:hand; border-radius:30px;} -.btnroundimg:hover{background-color:#F0F0F0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;} -.blacklink {color:#000000;} -.blacklink:hover, .filelink:focus {color:#0094FF;} +.btnroundimg:hover{background-color:#F0F0F0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;} +.blacklink, .blacklink:active {color:#000000;} +.blacklink:hover{color:#000000;} input[type="file"]::-webkit-file-upload-button{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer; background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px; * -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #5bc0de;border-color: #46b8da;} @@ -59,22 +37,7 @@ background-image:none;border:1px solid transparent;white-space:nowrap;padding:6p input[type="file"]::-webkit-file-upload-button:hover{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer; background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px; * -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #31b0d5;border-color: #269abc;} -.filelink {color:#000000;} -.filelink:hover, .filelink:focus {color:#0094FF;} .panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;} -.loader { - border: 4px solid #f3f3f3; /* Light grey */ - border-top: 4px solid #3498db; /* Blue */ - border-radius: 50%; - width: 12px; - height: 12px; - animation: spin 2s linear infinite; -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} .panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;} .modal { @@ -125,6 +88,9 @@ background-image:none;border:1px solid transparent;white-space:nowrap;padding:6p border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; } +.hide_it { + display: none; +} @media (min-width: 768px) { .modal-content { diff --git a/embedded/www/js/script.js b/embedded/www/js/script.js index d0399d4f..c3fc3fc3 100644 --- a/embedded/www/js/script.js +++ b/embedded/www/js/script.js @@ -1,4 +1,16 @@ var currentpath = "/"; +var authentication = false; +var websocket_port = 0; +var websocket_IP = ""; +var async_webcommunication = false; +var page_id = ""; +var ws_source; +var log_off =false; +var websocket_started =false; +var esp_error_message =""; +var esp_error_code = 0; +var xmlhttpupload; +var typeupload = 0; function navbar(){ var content=""; var tlist = currentpath.split("/"); @@ -14,6 +26,7 @@ function navbar(){ content+="
"; return content; } + function trash_icon(){ var content =""; content +=""; @@ -26,20 +39,24 @@ function trash_icon(){ content +=""; return content; } + function back_icon(){ var content =""; return content; } + function select_dir(directoryname){ currentpath+=directoryname + "/"; SendCommand('list','all'); } + function compareStrings(a, b) { // case-insensitive comparison a = a.toLowerCase(); b = b.toLowerCase(); return (a < b) ? -1 : (a > b) ? 1 : 0; } + function dispatchfilestatus(jsonresponse) { var content =""; @@ -57,19 +74,20 @@ if (currentpath!="/") var previouspath = currentpath.slice(0,pos+1); content +=""+back_icon()+" Up.."; } -if (currentpath=="/") { - display_message = true; -} jsonresponse.files.sort(function(a, b) { return compareStrings(a.name, b.name); }); +if (currentpath=="/") { + display_message = true; +} +var display_time =false; for (var i1=0;i1
"; content +=jsonresponse.files[i1].name; if ((jsonresponse.files[i1].name == "index.html.gz")||(jsonresponse.files[i1].name == "index.html")){ @@ -77,7 +95,16 @@ if (String(jsonresponse.files[i1].size) != "-1") } content +="
"; content +=jsonresponse.files[i1].size; - content +="
"; + content +=""; + if (jsonresponse.files[i1].hasOwnProperty('time')){ + display_time = true; + content +=""; + content += jsonresponse.files[i1].time; + content +=""; + } else { + content +=""; + } + content +="
"; content +=trash_icon(); content +="
"; } @@ -86,55 +113,72 @@ if (String(jsonresponse.files[i1].size) != "-1") for (var i2=0;i2 "; content +=jsonresponse.files[i2].name; - content +=""; - content +="
"; + content +=""; + if (typeof jsonresponse.files[i2].hasOwnProperty('time')){ + display_time = true; + } + content +="
"; content +=trash_icon(); content +="
"; } } -if (display_message) { +if(display_time){ + document.getElementById('FS_time').innerHTML = ""; +} else { + document.getElementById('FS_time').innerHTML = "Time"; +} + if (display_message) { document.getElementById('MSG').innerHTML = "File index.html.gz is missing, please upload it"; } else { document.getElementById('MSG').innerHTML = "Go to ESP3D interface"; } - document.getElementById('file_list').innerHTML=content; document.getElementById('path').innerHTML=navbar();} + function Delete(filename){ if (confirm("Confirm deletion of file: " + filename))SendCommand("delete",filename); } + function Deletedir(filename){ if (confirm("Confirm deletion of directory: " + filename))SendCommand("deletedir",filename); } + function Createdir(){ -var filename = prompt("Please enter directory name", ""); +var filename = prompt("Directory name", ""); if (filename != null) { SendCommand("createdir",filename.trim()); } } + function SendCommand(action,filename){ var xmlhttp = new XMLHttpRequest(); var url = "/files?action="+action; +document.getElementById('MSG').innerHTML = "Connecting..."; url += "&filename="+encodeURI(filename); url += "&path="+encodeURI(currentpath); -document.getElementById('loader').style.visibility="visible"; xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 ) { if(xmlhttp.status == 200) { var jsonresponse = JSON.parse(xmlhttp.responseText); - document.getElementById('loader').style.visibility="hidden"; - dispatchfilestatus(jsonresponse);} - else SubmitRequest (); + dispatchfilestatus(jsonresponse); + } else { + if(xmlhttp.status == 401) { + RL (); + } else { + console.log(xmlhttp.status); + FWError(); + } + } } }; xmlhttp.open("GET", url, true); xmlhttp.send(); } + function Sendfile(){ var files = document.getElementById('file-select').files; if (files.length==0)return; @@ -148,10 +192,10 @@ var arg = currentpath + file.name + "S"; //append file size first to check updload is complete formData.append(arg, file.size); formData.append('myfiles[]', file, currentpath+file.name);} -var xmlhttp = new XMLHttpRequest(); -xmlhttp.open('POST', '/files', true); +xmlhttpupload = new XMLHttpRequest(); +xmlhttpupload.open('POST', '/files', true); //progress upload event -xmlhttp.upload.addEventListener("progress", updateProgress, false); +xmlhttpupload.upload.addEventListener("progress", updateProgress, false); //progress function function updateProgress (oEvent) { if (oEvent.lengthComputable) { @@ -161,38 +205,209 @@ function updateProgress (oEvent) { } else { // Impossible because size is unknown } -}; -xmlhttp.onerror = function () { +} +typeupload = 1; +xmlhttpupload.onload = function () { + if (xmlhttpupload.status === 200) { document.getElementById('upload-button').value = 'Upload'; document.getElementById('prg').style.visibility = "hidden"; document.getElementById('file-select').value=""; -document.getElementById('status').innerHTML="Status: Upload failed" -alert("Upload file failed"); -}; - -xmlhttp.onload = function () { - if (xmlhttp.status === 200) { -document.getElementById('upload-button').value = 'Upload'; -document.getElementById('prg').style.visibility = "hidden"; -document.getElementById('file-select').value=""; -var jsonresponse = JSON.parse(xmlhttp.responseText); +var jsonresponse = JSON.parse(xmlhttpupload.responseText); dispatchfilestatus(jsonresponse); - } else alert('An error occurred!'); + } else uploadError(); }; -xmlhttp.send(formData); + +xmlhttpupload.send(formData); +} + +function padNumber(num, size) { + var s = num.toString(); + while (s.length < size) s = "0" + s; + return s; +} +function getPCTime(){ + var d = new Date(); + return d.getFullYear() + "-" + padNumber(d.getMonth() + 1 ,2) + "-" + padNumber(d.getDate(),2) + "-" + padNumber(d.getHours(),2) + "-" + padNumber(d.getMinutes(),2) + "-" + padNumber(d.getSeconds(),2); +} + +function HideAll(msg){ + //console.log("Hide all:" + msg); + log_off = true; + if(websocket_started){ + ws_source.close(); + } + document.title = document.title + "(disconnected)"; + document.getElementById('MSG').innerHTML = msg; + document.getElementById('FILESYSTEM').style.display = "none"; + document.getElementById('FWUPDATE').style.display = "none"; +} + +function FWError(){ + HideAll("Failed to communicate with FW!"); +} + +function FWOk(){ + document.getElementById('MSG').innerHTML = "Connected"; + document.getElementById('FILESYSTEM').style.display = "block"; + document.getElementById('FWUPDATE').style.display = "block"; +} + +function InitUI(){ +var xmlhttp = new XMLHttpRequest(); +var url = "/command?commandText="+encodeURI("[ESP800]"); +authentication = false; +async_webcommunication = false; +console.log("Init UI"); +xmlhttp.onreadystatechange = function() { + if (xmlhttp.readyState == 4 ) { + var error = false; + if(xmlhttp.status == 200) { + var response = xmlhttp.responseText; + var nbitem = 0; + var tresp = response.split("#"); + console.log(xmlhttp.responseText); + if (tresp.length < 3) { + error = true; + } else { + //FW version:1.1f # FW target:grbl-embedded # FW HW:Direct SD # primary sd:/sd # secondary sd:none # authentication:no # webcommunication: Sync: 81:192.168.0.1 # hostname:grblesp # axis:3 + for (var p=0; p < tresp.length; p++){ + var sublist = tresp[p].split(":"); + if (sublist[0].trim() == "FW version"){ + document.getElementById('FWVERSION').innerHTML = "v"+sublist[1]; + nbitem++; + } + if (sublist[0].trim() == "authentication"){ + if (sublist[1].trim() == "no") authentication = false; + else authentication = true; + nbitem++; + } + if (sublist[0].trim() == "webcommunication"){ + websocket_port = sublist[2].trim(); + websocket_IP = sublist[3].trim(); + startSocket(); + nbitem++; + } + if (sublist[0].trim() == "hostname"){ + document.title = sublist[1].trim(); + nbitem++ + } + } + if (nbitem == 4) { + SendCommand('list','all'); + FWOk(); + } else { + error = true; + + } + } + + + + } else if (xmlhttp.status == 401){ + RL(); + } else { + error = true; + console.log( xmlhttp.status); + } + if (error) { + FWError(); + } + } +}; +xmlhttp.open("GET", url, true); +xmlhttp.send(); +} + +function startSocket(){ + if (websocket_started){ + ws_source.close(); + } + if(async_webcommunication){ + ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port +'/ws',['arduino']); + } + else { + //console.log("Socket port is :" + websocket_port); + ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port,['arduino']); + } + ws_source.binaryType = "arraybuffer"; + ws_source.onopen = function(e){ + console.log("WS"); + websocket_started = true; + }; + ws_source.onclose = function(e){ + websocket_started = false; + console.log("~WS"); + //seems sometimes it disconnect so wait 3s and reconnect + //if it is not a log off + if(!log_off) setTimeout(startSocket, 3000); + }; + ws_source.onerror = function(e){ + console.log("WS", e); + }; + ws_source.onmessage = function(e){ + var msg = ""; + //bin + if(!(e.data instanceof ArrayBuffer)){ + msg = e.data; + var tval = msg.split(":"); + if (tval.length >= 2) { + if (tval[0] == 'currentID') { + page_id = tval[1]; + console.log("ID " + page_id); + } + if (tval[0] == 'activeID') { + if(page_id != tval[1]) { + HideAll("It seems you are connect from another location, your are now disconnected"); + } + } + if (tval[0] == 'ERROR') { + esp_error_message = tval[2]; + esp_error_code = tval[1]; + console.log(tval[2] + " code:" + tval[1]); + uploadError(); + xmlhttpupload.abort(); + } + } + + } + //console.log(msg); + + }; } window.onload = function() { -SendCommand('list','all'); +InitUI(); }; + +function uploadError() +{ + if (esp_error_code != 0) { + alert('Update failed(' + esp_error_code + '): ' + esp_error_message); + esp_error_code = 0; + } else { + alert('Update failed!'); + } + + if (typeupload == 1) { + //location.reload(); + document.getElementById('upload-button').value = 'Upload'; + document.getElementById('prg').style.visibility = "hidden"; + document.getElementById('file-select').value=""; + SendCommand('list', 'all'); + } else { + location.reload(); + } +} + function Uploadfile(){ if (!confirm("Confirm Firmware Update ?"))return; var files = document.getElementById('fw-select').files; if (files.length==0)return; -document.getElementById('uploadfw-button').style.visibility = 'hidden'; +document.getElementById('ubut').style.visibility = 'hidden'; document.getElementById('fw-select').style.visibility = 'hidden'; -document.getElementById('MSG').innerHTML=""; -document.getElementById('SPIFFS').style.display = "none"; +document.getElementById('msg').style.visibility = "visible"; +document.getElementById('msg').innerHTML=""; +document.getElementById('FILESYSTEM').style.display = "none"; document.getElementById('prgfw').style.visibility = "visible"; var formData = new FormData(); for (var i4 = 0; i4 < files.length; i4++) { @@ -201,78 +416,82 @@ var arg = "/" + file.name + "S"; //append file size first to check updload is complete formData.append(arg, file.size); formData.append('myfile[]', file, "/"+file.name);} -var xmlhttp = new XMLHttpRequest(); -xmlhttp.open('POST', '/updatefw', true); +typeupload = 0; +xmlhttpupload = new XMLHttpRequest(); +xmlhttpupload.open('POST', '/updatefw', true); //progress upload event -xmlhttp.upload.addEventListener("progress", updateProgress, false); +xmlhttpupload.addEventListener("progress", updateProgress, false); //progress function function updateProgress (oEvent) { if (oEvent.lengthComputable) { var percentComplete = (oEvent.loaded / oEvent.total)*100; document.getElementById('prgfw').value=percentComplete; - document.getElementById('MSG').innerHTML = "Uploading ..." + percentComplete.toFixed(0)+"%" ; + document.getElementById('msg').innerHTML = "Uploading ..." + percentComplete.toFixed(0)+"%" ; } else { // Impossible because size is unknown } } -xmlhttp.onerror = function () { -alert("Upload file failed"); -location.reload(); -}; -xmlhttp.onload = function () { - if (xmlhttp.status === 200) { -document.getElementById('uploadfw-button').value = 'Upload'; -document.getElementById('MSG').innerHTML="Restarting, please wait...."; +xmlhttpupload.onload = function () { + if (xmlhttpupload.status === 200) { +document.getElementById('ubut').value = 'Upload'; +document.getElementById('msg').innerHTML="Restarting, please wait...."; document.getElementById('counter').style.visibility = "visible"; -document.getElementById('uploadfw-button').style.visibility = 'hidden'; -document.getElementById('uploadfw-button').style.width = '0px'; +document.getElementById('ubut').style.visibility = 'hidden'; +document.getElementById('ubut').style.width = '0px'; document.getElementById('fw-select').value=""; document.getElementById('fw-select').style.visibility = 'hidden'; document.getElementById('fw-select').style.width = '0px'; -var jsonresponse = JSON.parse(xmlhttp.responseText); -if (jsonresponse.status=='1' || jsonresponse.status=='4' || jsonresponse.status=='1')alert("Update failed"); +var jsonresponse = JSON.parse(xmlhttpupload.responseText); +if (jsonresponse.status=='1' || jsonresponse.status=='4' || jsonresponse.status=='1')uploadError(); if (jsonresponse.status=='2')alert('Update canceled!'); else if (jsonresponse.status=='3') { - var i5 = 0; - var interval; - var x = document.getElementById("prgfw"); - x.max=40; - interval = setInterval(function(){ - i5=i5+1; - var x = document.getElementById("prgfw"); - x.value=i5; - var st = 41-i5; - st = st + " seconds"; - document.getElementById('counter').innerHTML=st; - if (i5>40) - { - clearInterval(interval); - location.reload(); - } - },1000); + var i5 = 0; + var interval; + var x = document.getElementById("prgfw"); + x.max=40; + interval = setInterval(function(){ + i5=i5+1; + var x = document.getElementById("prgfw"); + x.value=i5; + document.getElementById('counter').innerHTML=41-i5; + if (i5>40) + { + clearInterval(interval); + location.reload(); + } + },1000); } -else alert('Update failed!'); - } else alert('An error occurred!'); +else uploadError() + } else uploadError() }; -xmlhttp.send(formData); +xmlhttpupload.send(formData); } -function RequestLogin(){ - document.getElementById('loader').style.visibility="hidden"; + +function RL(){ document.getElementById('loginpage').style.display='block'; } -function SubmitRequest (){ +function SLR (){ document.getElementById('loginpage').style.display='none'; - var user = document.getElementById('login_user_text').value.trim(); - var password = document.getElementById('login_password_text').value.trim(); + var user = document.getElementById('lut').value.trim(); + var password = document.getElementById('lpt').value.trim(); var url = "/login?USER="+encodeURIComponent(user) + "&PASSWORD=" + encodeURIComponent(password) + "&SUBMIT=yes" ; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { - if (xmlhttp.readyState == 4 && xmlhttp.status != 200) { - RequestLogin(); + if (xmlhttp.readyState == 4){ + if (xmlhttp.status != 200) { + if (xmlhttp.status == 401) { + RL(); + } else { + FWError(); + console.log(xmlhttp.status); + } + } else { + InitUI(); + } } }; xmlhttp.open("GET", url, true); diff --git a/embedded/www/tool.html b/embedded/www/tool.html index 794f407a..f7fea046 100644 --- a/embedded/www/tool.html +++ b/embedded/www/tool.html @@ -3,40 +3,52 @@ + ESP3D tool page -
+

-
+
Flash Filesystem
@@ -54,9 +66,6 @@ +
- -
-
 
@@ -68,6 +77,7 @@ Type Name Size + Time @@ -79,15 +89,15 @@
-
+
Firmware Update
- + - +
@@ -100,17 +110,17 @@
diff --git a/esp3d/command.cpp b/esp3d/command.cpp index 783b0e7d..8b90adc0 100644 --- a/esp3d/command.cpp +++ b/esp3d/command.cpp @@ -1907,6 +1907,14 @@ bool COMMAND::execute_command (int cmd, String cmd_params, tpipe output, level_a #else ESPCOM::print (F ("Sync:"), output, espresponse); String sp = String(wifi_config.iweb_port+1); + sp += ":"; + if (WiFi.getMode() == WIFI_STA) { + sp += WiFi.localIP().toString(); + } else if ((WiFi.getMode() == WIFI_AP) || (WiFi.getMode() == WIFI_AP_STA)) { + sp += WiFi.softAPIP().toString(); + } else { + sp += "0.0.0.0"; + } ESPCOM::print (sp.c_str(), output, espresponse); #endif diff --git a/esp3d/config.cpp b/esp3d/config.cpp index 6e0451e1..496c3f58 100644 --- a/esp3d/config.cpp +++ b/esp3d/config.cpp @@ -29,7 +29,9 @@ extern "C" { #include "user_interface.h" } -#else +#endif +#ifdef ARDUINO_ARCH_ESP32 +#include #include "Update.h" #include "esp_wifi.h" #endif @@ -1044,13 +1046,13 @@ void CONFIG::print_config (tpipe output, bool plaintext, ESPResponseStream *esp } else { ESPCOM::print (F ("Available Size for update: "), output, espresponse); } - uint32_t flashsize = ESP.getFlashChipSize(); - //Not OTA on 2Mb board per spec - if (flashsize > 0x20000) { - flashsize = 0x140000; - } else { - flashsize = 0x0; - } + size_t flashsize = 0; + if (esp_ota_get_running_partition()) { + const esp_partition_t* partition = esp_ota_get_next_update_partition(NULL); + if (partition) { + flashsize = partition->size; + } + } ESPCOM::print (formatBytes (flashsize).c_str(), output, espresponse); if (!plaintext) { ESPCOM::print (F ("\","), output, espresponse); diff --git a/esp3d/config.h b/esp3d/config.h index 30c9a053..b3367cee 100644 --- a/esp3d/config.h +++ b/esp3d/config.h @@ -19,7 +19,7 @@ */ //version and sources location -#define FW_VERSION "2.1.0.b35" +#define FW_VERSION "2.1.0.b36" #define REPOSITORY "https://github.com/luc-github/ESP3D" //Customize ESP3D //////////////////////////////////////////////////////////////////////// diff --git a/esp3d/nofile.h b/esp3d/nofile.h index e1875cdd..875979c3 100644 --- a/esp3d/nofile.h +++ b/esp3d/nofile.h @@ -25,384 +25,416 @@ /* Generated by bin2c, do not edit manually */ /* Contents of file tool.html.gz */ -#define PAGE_NOFILES_SIZE 6028 -const char PAGE_NOFILES[6028] PROGMEM = { - 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x5C, 0x7B, 0x73, 0xDB, 0xC6, - 0xAE, 0xFF, 0x2A, 0x2C, 0x3B, 0xB5, 0xA4, 0x6B, 0x52, 0xE2, 0x4B, 0x12, 0x25, 0x59, 0xCA, 0x69, - 0x9B, 0xA4, 0xCD, 0x9D, 0xA4, 0xC9, 0xC4, 0xC9, 0xE9, 0x9D, 0x69, 0x3A, 0x1D, 0x8A, 0x5C, 0x59, - 0x3C, 0xA1, 0x48, 0x99, 0x5C, 0xF9, 0x11, 0xD7, 0xDF, 0xFD, 0x02, 0xD8, 0xE5, 0x53, 0x0F, 0x3F, - 0x92, 0x9E, 0xE6, 0x8F, 0x8E, 0x63, 0x91, 0xDA, 0x5D, 0x60, 0xB1, 0x58, 0xE0, 0x07, 0x2C, 0x48, - 0xE7, 0x64, 0xC9, 0x57, 0xD1, 0xEC, 0x64, 0xC9, 0xBC, 0x60, 0x76, 0x92, 0xF1, 0xEB, 0x88, 0xCD, - 0xB0, 0xE5, 0x66, 0x91, 0xC4, 0x5C, 0x5F, 0x78, 0xAB, 0x30, 0xBA, 0x1E, 0x67, 0x5E, 0x9C, 0xE9, - 0x19, 0x4B, 0xC3, 0xC5, 0x44, 0x5F, 0x65, 0x3A, 0x67, 0x57, 0x5C, 0xCF, 0xC2, 0x4F, 0x4C, 0xF7, - 0x82, 0xFF, 0x6C, 0x32, 0x3E, 0x36, 0x0D, 0xE3, 0xBB, 0x89, 0x7E, 0xC9, 0xE6, 0x1F, 0x43, 0xBE, - 0xA7, 0x97, 0xD8, 0x61, 0x2B, 0x7C, 0x5D, 0x5F, 0xDD, 0xCE, 0x93, 0xE0, 0xBA, 0x36, 0x85, 0xFA, - 0x33, 0x8B, 0x2E, 0x18, 0x0F, 0x7D, 0x4F, 0xF9, 0x85, 0x6D, 0x98, 0xAA, 0x15, 0xDF, 0xB5, 0xEF, - 0xD3, 0xD0, 0x8B, 0xB4, 0x8A, 0x0C, 0x15, 0x5E, 0xCE, 0xFA, 0x6A, 0x12, 0x85, 0x31, 0xD3, 0x97, - 0x2C, 0x3C, 0x5B, 0xC2, 0x5C, 0x5D, 0xC7, 0x72, 0xFB, 0x43, 0xD3, 0xB1, 0x27, 0x7E, 0x12, 0x25, - 0xE9, 0xF8, 0x5B, 0xDB, 0xB6, 0x27, 0x73, 0xCF, 0xFF, 0x78, 0x96, 0x26, 0x9B, 0x38, 0xD0, 0x65, - 0xEB, 0x62, 0xB1, 0xB8, 0xED, 0xFA, 0xC0, 0xC7, 0x03, 0xE2, 0xF4, 0x66, 0xE5, 0xA5, 0x67, 0x61, - 0xAC, 0xA7, 0xC4, 0xC3, 0xDB, 0xF0, 0x64, 0x22, 0x5B, 0x22, 0xB6, 0x90, 0x0D, 0x6B, 0x2F, 0x08, - 0xC2, 0xF8, 0x4C, 0xB4, 0x98, 0x7D, 0x98, 0x37, 0x6F, 0x11, 0x54, 0xD8, 0x74, 0xCB, 0xBD, 0x79, - 0xC4, 0x6E, 0xE6, 0x49, 0x1A, 0xB0, 0x74, 0x6C, 0x4C, 0xC4, 0x8D, 0x9E, 0xAD, 0x3D, 0x1F, 0x06, - 0x42, 0xC3, 0xCA, 0xBB, 0xD2, 0x2F, 0xC3, 0x80, 0x2F, 0x49, 0x29, 0xB7, 0x5D, 0x1A, 0xAF, 0x8B, - 0x61, 0x2C, 0xB8, 0x29, 0xBB, 0x24, 0xE9, 0xD8, 0x5C, 0x5F, 0x29, 0x59, 0x12, 0x85, 0x81, 0xF2, - 0x6D, 0x10, 0x04, 0xB9, 0x54, 0xF3, 0x84, 0xF3, 0x64, 0x35, 0xB6, 0x50, 0x93, 0x1C, 0xC8, 0x96, - 0x21, 0x67, 0x34, 0x0B, 0x1B, 0xC7, 0xC9, 0x65, 0xEA, 0xAD, 0x73, 0xD9, 0xC6, 0xD6, 0x6A, 0x75, - 0xCB, 0x97, 0x37, 0xB4, 0x27, 0x5E, 0x14, 0x9E, 0xC5, 0x63, 0x94, 0x5F, 0x4E, 0x3C, 0xE3, 0xB8, - 0x0D, 0x33, 0x9E, 0xCE, 0x78, 0xA0, 0x6D, 0x35, 0x2D, 0x8B, 0x26, 0xB2, 0x8D, 0xFA, 0xA8, 0xA2, - 0x69, 0x79, 0x93, 0x4F, 0xE5, 0xEE, 0xDF, 0x8A, 0x0B, 0x96, 0xE2, 0x4E, 0x46, 0x52, 0x04, 0x9E, - 0xAC, 0x73, 0xD5, 0xC0, 0x6D, 0x63, 0x8D, 0x4D, 0xA5, 0xEC, 0x10, 0x72, 0x57, 0xDF, 0x72, 0xBB, - 0x6F, 0x4B, 0xEC, 0x5D, 0x7D, 0xCB, 0x9B, 0x9D, 0x9A, 0xDE, 0x96, 0xE2, 0x41, 0xDC, 0xE4, 0x0E, - 0xC9, 0xBD, 0xB6, 0x60, 0x9B, 0x24, 0x4D, 0xC6, 0xD3, 0x70, 0x5D, 0x11, 0x7C, 0x1C, 0xF3, 0xA5, - 0x9E, 0x2C, 0x74, 0x7E, 0xBD, 0x66, 0xED, 0x24, 0x08, 0x3A, 0x37, 0x3B, 0x6C, 0x75, 0x84, 0x3F, - 0xB7, 0xFF, 0x5A, 0xB1, 0x20, 0xF4, 0x94, 0xF6, 0x0A, 0x0C, 0x40, 0xF0, 0x1D, 0x0E, 0x40, 0xE7, - 0x9D, 0x9B, 0x8A, 0x1D, 0xCB, 0xF6, 0x3E, 0x1A, 0xC6, 0x0E, 0x82, 0xD1, 0xC8, 0xDA, 0x49, 0x30, - 0x1A, 0xEE, 0x21, 0x30, 0x2D, 0xC3, 0xD8, 0x49, 0x61, 0x9A, 0x82, 0xA4, 0x1B, 0x7B, 0x17, 0x55, - 0xB3, 0x95, 0x22, 0xFB, 0xBE, 0xDF, 0x70, 0x18, 0xA3, 0xE9, 0x2E, 0x06, 0x18, 0x4B, 0x06, 0x6E, - 0x8C, 0x88, 0x03, 0x56, 0x1B, 0xB3, 0x1D, 0x5E, 0x4A, 0xBE, 0x2B, 0x14, 0x9A, 0x7A, 0x41, 0xB8, - 0xC9, 0xC6, 0x03, 0x30, 0xB2, 0x1D, 0x4E, 0xE0, 0xDD, 0xAC, 0x93, 0x2C, 0xE4, 0x61, 0x12, 0x8F, - 0x53, 0x16, 0x79, 0x3C, 0xBC, 0x60, 0x93, 0x20, 0xCC, 0xD6, 0x91, 0x77, 0x3D, 0x9E, 0x47, 0x89, - 0xFF, 0xB1, 0x70, 0x08, 0x44, 0x1F, 0x85, 0xDC, 0x97, 0x7C, 0x22, 0x60, 0x7E, 0x92, 0x7A, 0x44, - 0x48, 0x32, 0x94, 0xF2, 0xDF, 0x76, 0x3D, 0x1F, 0xF9, 0xDC, 0x94, 0x88, 0xB1, 0x43, 0x42, 0xC3, - 0x30, 0xF2, 0x81, 0x8A, 0xA7, 0x79, 0xE3, 0x45, 0xE2, 0x6F, 0x32, 0xB8, 0x2E, 0x13, 0xB0, 0xF9, - 0x9B, 0x2A, 0xD8, 0xAC, 0xBD, 0x98, 0x45, 0x37, 0xDB, 0xB2, 0xEF, 0x06, 0xA7, 0x3D, 0xFE, 0x5F, - 0x57, 0x06, 0x82, 0x5F, 0x8E, 0xBA, 0xF3, 0xE4, 0x4A, 0xCF, 0x96, 0x5E, 0x90, 0x5C, 0x8E, 0x0D, - 0x05, 0xA9, 0xF0, 0x37, 0x3D, 0x9B, 0x7B, 0x6D, 0x43, 0xC3, 0x9F, 0xAE, 0xD1, 0xEF, 0x4C, 0xEE, - 0x33, 0x48, 0x4A, 0xAA, 0x13, 0x42, 0x17, 0x5A, 0x43, 0x70, 0x93, 0x1D, 0x68, 0xEC, 0xD0, 0x76, - 0xB3, 0xAD, 0xD1, 0xC3, 0x88, 0xDB, 0xC7, 0x9F, 0x7C, 0x05, 0xB2, 0xB1, 0xB2, 0x26, 0x40, 0x02, - 0x61, 0x1A, 0xF9, 0xEA, 0x6C, 0xD4, 0x4D, 0xD9, 0x87, 0x66, 0xB4, 0xA3, 0x4B, 0x6A, 0xB2, 0xE1, - 0xBD, 0x91, 0x37, 0x07, 0x65, 0xE7, 0x16, 0x10, 0xC6, 0x84, 0x4B, 0xC2, 0x10, 0xEA, 0x10, 0xDC, - 0x30, 0x26, 0x5C, 0x05, 0x45, 0x97, 0x4B, 0x81, 0x61, 0x43, 0xDC, 0x5E, 0x32, 0x94, 0x30, 0x5E, - 0x24, 0xF9, 0x7E, 0xDA, 0x60, 0xFC, 0x2E, 0x6C, 0xE9, 0x22, 0x49, 0x57, 0x3A, 0x7A, 0x46, 0x9A, - 0x94, 0x93, 0x89, 0x59, 0xC4, 0x0C, 0x14, 0x38, 0x24, 0x1C, 0xDA, 0x4E, 0x19, 0x32, 0xD0, 0x8C, - 0x15, 0xD3, 0xCA, 0x27, 0xBB, 0x6F, 0x28, 0xEB, 0xF7, 0xFB, 0xFB, 0xAC, 0xA5, 0x6C, 0x0D, 0x57, - 0xDE, 0x59, 0xEE, 0x50, 0x5B, 0x36, 0x84, 0x7E, 0x79, 0x2F, 0x1B, 0x0A, 0xE3, 0x8C, 0x71, 0x65, - 0x8F, 0x91, 0x0C, 0xEB, 0xA6, 0x74, 0xE7, 0x58, 0x3D, 0xD1, 0x79, 0x0A, 0xE1, 0x5B, 0x38, 0x68, - 0xD5, 0x02, 0x14, 0xE6, 0x65, 0x0C, 0x74, 0xAB, 0x27, 0x1B, 0xAE, 0x74, 0xCD, 0x7E, 0xA6, 0x95, - 0x7C, 0xB7, 0xFA, 0xEA, 0x0A, 0x17, 0xAE, 0x76, 0x53, 0xB7, 0xA7, 0xC1, 0xC0, 0x5B, 0xB0, 0xD1, - 0x04, 0x28, 0x50, 0x93, 0x10, 0x70, 0x1F, 0xB1, 0x34, 0xCD, 0x80, 0x4E, 0x37, 0xEF, 0x30, 0x0D, - 0x4B, 0x33, 0x87, 0x7D, 0xCD, 0xB2, 0x6D, 0xAD, 0x3B, 0xE8, 0x48, 0x19, 0x50, 0xD7, 0xEB, 0x86, - 0x33, 0x0B, 0x1F, 0x99, 0xF3, 0x78, 0x9F, 0xDD, 0x55, 0x07, 0x1B, 0x35, 0x33, 0x73, 0x0C, 0x63, - 0x52, 0x09, 0xD1, 0x3E, 0x8B, 0x39, 0x4B, 0x9B, 0x51, 0x73, 0x15, 0x06, 0x41, 0xC4, 0x44, 0x02, - 0x96, 0x6C, 0xFC, 0xA5, 0x8E, 0xB0, 0x03, 0xFA, 0x5C, 0x79, 0x71, 0xB8, 0xDE, 0x44, 0x04, 0x62, - 0x93, 0xFD, 0x3D, 0xFE, 0x26, 0xCD, 0x40, 0x45, 0xEB, 0x24, 0x24, 0xE6, 0xF7, 0xB4, 0x18, 0xDA, - 0xB7, 0xB5, 0x97, 0x82, 0x44, 0x93, 0x03, 0x69, 0xC6, 0x03, 0xED, 0x79, 0x87, 0x09, 0xAE, 0x92, - 0x4F, 0xFA, 0x26, 0xC3, 0x64, 0x89, 0x45, 0xCC, 0xE7, 0x42, 0x1C, 0x5C, 0xEB, 0x56, 0x63, 0xB3, - 0x81, 0x74, 0xAE, 0xAF, 0x53, 0x58, 0x46, 0x7A, 0x7D, 0x18, 0xAD, 0x6D, 0x7B, 0xE8, 0xCD, 0x87, - 0x0D, 0x0C, 0xB2, 0xD8, 0x20, 0xF0, 0x9C, 0x1A, 0x17, 0x89, 0xE8, 0x5A, 0xAD, 0x4D, 0x40, 0x7B, - 0xAD, 0x89, 0x50, 0xBE, 0xD6, 0x34, 0xDE, 0x41, 0x39, 0xDE, 0xA6, 0xDC, 0x8A, 0x0F, 0x3B, 0x84, - 0xB5, 0xDC, 0x81, 0x31, 0x32, 0x1A, 0xC2, 0x9A, 0x96, 0x35, 0x77, 0x8C, 0x5B, 0xDF, 0x5B, 0xE3, - 0xA6, 0xE6, 0x18, 0x4C, 0x69, 0x94, 0x5B, 0x49, 0x49, 0xA5, 0x95, 0xB9, 0x25, 0x28, 0x0F, 0x87, - 0xC3, 0xC9, 0x56, 0x16, 0xE8, 0x45, 0x60, 0x62, 0x35, 0x90, 0xDF, 0x11, 0x5C, 0x0F, 0x1B, 0xC5, - 0xD6, 0x56, 0x4A, 0xAE, 0x7A, 0xB6, 0xF1, 0x7D, 0x96, 0x65, 0x3B, 0xF2, 0x99, 0x60, 0xB1, 0x30, - 0x02, 0xB7, 0x19, 0x09, 0x06, 0x6C, 0xE4, 0x0F, 0x8A, 0x10, 0xE2, 0x0F, 0x07, 0x76, 0x90, 0xB3, - 0x0A, 0xBC, 0xF8, 0x0C, 0xB4, 0xB5, 0x03, 0xFA, 0xAC, 0x80, 0x05, 0xAC, 0xC1, 0x89, 0xCD, 0x7D, - 0x3F, 0x30, 0x73, 0x4E, 0xDE, 0xC8, 0x71, 0x1C, 0xEB, 0xB6, 0xBB, 0xF4, 0x32, 0x9D, 0xA5, 0x29, - 0x40, 0x4E, 0x1D, 0xB6, 0xEB, 0xB4, 0x62, 0xF4, 0x5F, 0x0D, 0x88, 0x7B, 0xA5, 0xD9, 0x89, 0x69, - 0xAE, 0x63, 0xF7, 0x6D, 0xE7, 0xD1, 0x48, 0x86, 0xAE, 0xF9, 0xAD, 0xCF, 0x5C, 0xC7, 0xB5, 0x1F, - 0x22, 0x63, 0x93, 0xB6, 0x26, 0xB3, 0x14, 0x57, 0x17, 0x61, 0x76, 0x87, 0xA6, 0xE5, 0xE6, 0x1F, - 0xD4, 0xB5, 0xD8, 0xE3, 0xFF, 0x8E, 0xAE, 0x77, 0xCA, 0xB3, 0x53, 0xDB, 0xD6, 0xBC, 0xEF, 0x58, - 0xFE, 0xE7, 0x69, 0x7B, 0x30, 0x9C, 0x9B, 0x03, 0xF7, 0x71, 0xDA, 0x16, 0xB4, 0x0D, 0xA9, 0x77, - 0xEA, 0x3B, 0xF7, 0x11, 0x84, 0x15, 0xE9, 0x21, 0x07, 0xF1, 0x24, 0x18, 0x81, 0x19, 0x2D, 0x9A, - 0x6E, 0xE7, 0xD8, 0x0B, 0xDB, 0xAB, 0x32, 0xA9, 0x61, 0x9F, 0x6C, 0xAA, 0x00, 0x98, 0x6C, 0xA9, - 0x20, 0x9F, 0x68, 0x19, 0x6F, 0x93, 0x8D, 0xB7, 0xC8, 0xEE, 0x03, 0x7B, 0xFE, 0xC8, 0x36, 0x2C, - 0xBF, 0x21, 0xE6, 0x70, 0x60, 0xFA, 0xE6, 0x88, 0xC4, 0x0C, 0x57, 0x67, 0x37, 0x32, 0x96, 0x2D, - 0xBD, 0xB8, 0x99, 0x12, 0x0F, 0x76, 0xE1, 0x95, 0x48, 0xC0, 0x05, 0xAD, 0x14, 0x61, 0x07, 0x96, - 0x18, 0xF8, 0xD3, 0x98, 0xD7, 0x00, 0x11, 0xFF, 0x76, 0xC7, 0x03, 0xC1, 0x49, 0xD2, 0xC3, 0x2B, - 0xB7, 0x0D, 0x99, 0x7E, 0xE4, 0x63, 0xEF, 0x5A, 0xE9, 0xDF, 0xBF, 0xAE, 0x08, 0x44, 0x83, 0x0C, - 0xE1, 0x63, 0x6E, 0x10, 0x74, 0x98, 0x2A, 0x5A, 0xC7, 0xD2, 0xC6, 0x16, 0x61, 0xC4, 0xE8, 0xBB, - 0x70, 0xD7, 0x62, 0xEC, 0xC8, 0x81, 0x5D, 0x0D, 0xE3, 0xF5, 0x86, 0xFF, 0x86, 0xA7, 0xE7, 0x29, - 0x8E, 0xFB, 0x7D, 0x3C, 0xCE, 0x97, 0x85, 0x5F, 0xF5, 0xCD, 0x3A, 0x4A, 0xBC, 0x40, 0x9F, 0x6F, - 0x20, 0x9A, 0xFD, 0x93, 0x97, 0xFD, 0x77, 0xF3, 0xB2, 0xC9, 0x41, 0x37, 0xEF, 0xCF, 0x7D, 0x63, - 0x2B, 0x74, 0x3B, 0x83, 0xB9, 0x1B, 0x78, 0x0F, 0xDA, 0x54, 0x69, 0x15, 0xFF, 0x6C, 0xED, 0xD7, - 0xB3, 0xB5, 0xB6, 0x39, 0x37, 0x82, 0xE6, 0x49, 0xDF, 0x9C, 0x0F, 0x02, 0xB7, 0xFF, 0xB0, 0xAD, - 0x15, 0x00, 0xF6, 0xCF, 0xD6, 0x7E, 0xE5, 0x5B, 0x6B, 0x0D, 0x46, 0xDE, 0xDC, 0xBF, 0x2D, 0x80, - 0xBA, 0x06, 0xE7, 0x75, 0xF4, 0xAE, 0xA0, 0x79, 0x2D, 0x15, 0x90, 0x68, 0x2E, 0x2B, 0x4C, 0x8B, - 0x24, 0x01, 0xA5, 0x1E, 0x28, 0x30, 0x51, 0xFD, 0xE5, 0x71, 0x35, 0xA6, 0xAD, 0x3A, 0x2F, 0x1A, - 0x1C, 0x86, 0x49, 0xB1, 0x57, 0x4E, 0x25, 0x69, 0xB0, 0xF1, 0xA7, 0x4A, 0x5A, 0xE9, 0xB4, 0x9D, - 0x91, 0x1B, 0xCC, 0x1B, 0xAA, 0xEF, 0x1B, 0xDF, 0x4D, 0xF2, 0xBA, 0x29, 0x48, 0x9B, 0xEF, 0x14, - 0xDE, 0x83, 0xED, 0xAC, 0x44, 0x99, 0x31, 0x5B, 0x87, 0xB1, 0x62, 0x65, 0x0A, 0x6E, 0xA6, 0x97, - 0x2A, 0x61, 0xBC, 0x08, 0x63, 0xB0, 0x84, 0xDB, 0x7F, 0x7D, 0x64, 0xD7, 0x8B, 0xD4, 0x5B, 0xB1, - 0x4C, 0xC1, 0x21, 0x37, 0xC6, 0x77, 0x37, 0x64, 0x2E, 0x98, 0xB1, 0x8E, 0xD3, 0x84, 0x7B, 0x9C, - 0xB5, 0x8D, 0xCE, 0x2D, 0x16, 0xAD, 0xB6, 0x3B, 0xEC, 0x01, 0x80, 0xE9, 0x59, 0xE7, 0xF6, 0x6F, - 0xD1, 0xE0, 0x2A, 0x09, 0xBC, 0xB2, 0xFE, 0x45, 0x46, 0x54, 0x54, 0x63, 0x17, 0xE1, 0x15, 0x0B, - 0x26, 0x9F, 0xF4, 0x30, 0x0E, 0xD8, 0x15, 0x56, 0xDC, 0x8C, 0xB2, 0x10, 0x4C, 0xBC, 0xB0, 0xBE, - 0x3C, 0xA1, 0x12, 0x31, 0x38, 0x2D, 0x34, 0x18, 0x93, 0x4A, 0x71, 0x2E, 0xD7, 0x20, 0xDE, 0xA3, - 0xB9, 0x2C, 0x22, 0x48, 0x34, 0xA8, 0xA8, 0xB6, 0xB3, 0x12, 0xBB, 0xDD, 0x5A, 0x4D, 0x42, 0x9C, - 0x8E, 0x14, 0x95, 0xF2, 0x7F, 0x70, 0xC1, 0x9B, 0x72, 0x4D, 0xB5, 0xEA, 0xA2, 0x69, 0xD4, 0x2B, - 0x8F, 0xB5, 0xAA, 0x64, 0xB5, 0x53, 0x16, 0xF9, 0xF7, 0xD1, 0xCA, 0xEE, 0x7D, 0xE4, 0xF8, 0x58, - 0xA0, 0x30, 0xA7, 0xBC, 0x30, 0x51, 0xA9, 0xCF, 0x62, 0x09, 0xCA, 0x44, 0x28, 0x30, 0x6A, 0xB9, - 0x94, 0xD5, 0x99, 0x6C, 0xD7, 0xBA, 0x05, 0x1C, 0xD6, 0x1E, 0x54, 0x8D, 0x77, 0xA8, 0xE3, 0xDB, - 0x05, 0xC3, 0x9F, 0x5C, 0x0F, 0x58, 0xC9, 0xAD, 0x58, 0x89, 0x25, 0x27, 0x9C, 0x14, 0xC9, 0x2F, - 0xFE, 0xEC, 0xE2, 0x62, 0xE1, 0xCF, 0xBE, 0xE2, 0xEC, 0x03, 0xD5, 0x57, 0x2B, 0x4F, 0x2E, 0xF0, - 0x27, 0x17, 0xAF, 0x5E, 0x81, 0x36, 0xA4, 0x74, 0x79, 0x6F, 0xD3, 0xC4, 0x07, 0xB9, 0xF4, 0xD2, - 0x68, 0x9C, 0x6E, 0x9F, 0xAD, 0x1E, 0xBE, 0x94, 0x6D, 0x71, 0x3E, 0x73, 0xB7, 0x0F, 0x3C, 0xB7, - 0xA9, 0x5B, 0xA3, 0xE8, 0xEB, 0xBB, 0xD5, 0x47, 0x31, 0x99, 0x9F, 0x32, 0x16, 0x2B, 0x90, 0xED, - 0x03, 0x7D, 0x51, 0xB8, 0x1E, 0x0E, 0x86, 0x7B, 0xE9, 0xE9, 0xB9, 0xE2, 0xED, 0x49, 0x4F, 0x3C, - 0xC9, 0x3D, 0xE9, 0x89, 0xE7, 0xBA, 0xF4, 0xB4, 0xE9, 0x24, 0x08, 0x2F, 0x14, 0x3F, 0xF2, 0xB2, - 0x6C, 0xAA, 0x12, 0x4C, 0xA8, 0xB3, 0x13, 0x7A, 0x2A, 0xA5, 0x10, 0xE9, 0x54, 0x45, 0x5A, 0x6C, - 0x4B, 0xE1, 0x17, 0x88, 0xBC, 0x7C, 0xB0, 0x38, 0x39, 0xA9, 0xCA, 0x32, 0x65, 0x8B, 0xA9, 0xBA, - 0xE4, 0x7C, 0x9D, 0x8D, 0x7B, 0xBD, 0xCB, 0xCB, 0xCB, 0xEE, 0x59, 0xC8, 0x97, 0x9B, 0x39, 0x9C, - 0x4F, 0x57, 0xBD, 0x68, 0xE3, 0xEB, 0xE2, 0x6B, 0xEF, 0xD9, 0xE9, 0x1B, 0xFB, 0x69, 0x8F, 0x83, - 0xE8, 0x3D, 0xAB, 0x6B, 0xAA, 0x0A, 0x07, 0xEB, 0x64, 0x7C, 0xAA, 0xFE, 0x01, 0xB9, 0x7D, 0xFC, - 0x11, 0x66, 0xC8, 0x2E, 0xCE, 0x8A, 0x39, 0xD9, 0x0A, 0x18, 0xD3, 0x96, 0xC9, 0x2F, 0x17, 0x21, - 0xBB, 0xFC, 0x21, 0xB9, 0x9A, 0xAA, 0x78, 0x60, 0x30, 0x6D, 0x03, 0x3E, 0x2C, 0xC3, 0x00, 0xAA, - 0x33, 0xA5, 0xC0, 0xBD, 0xA9, 0x4A, 0xB7, 0x11, 0x62, 0x5F, 0xDF, 0xD0, 0x70, 0x40, 0x07, 0x94, - 0xE5, 0x45, 0xAC, 0x6D, 0x6A, 0x8A, 0x6E, 0x76, 0x60, 0xF8, 0xDA, 0xE3, 0x4B, 0x25, 0x98, 0xAA, - 0xAF, 0x06, 0xC8, 0xC2, 0x1C, 0x3A, 0xE7, 0xB6, 0x0D, 0x1C, 0x87, 0x8E, 0xA2, 0xF7, 0x23, 0xDB, - 0x85, 0x51, 0x7D, 0x2B, 0xEA, 0xC3, 0xE5, 0xDC, 0x19, 0xC1, 0xA7, 0xA3, 0x8C, 0xA0, 0xC7, 0x1E, - 0x61, 0x93, 0x15, 0x99, 0xB6, 0xA3, 0xB8, 0xC6, 0xF9, 0xC0, 0x54, 0x74, 0xC7, 0x55, 0x4C, 0x03, - 0xBA, 0x4C, 0xA3, 0x1F, 0xE9, 0xAE, 0x01, 0x37, 0xB6, 0x13, 0xD9, 0xC0, 0xE4, 0xDC, 0x82, 0xA1, - 0x8E, 0xA3, 0xD8, 0x40, 0x3E, 0xB2, 0x23, 0x18, 0x3A, 0x88, 0x80, 0x27, 0x30, 0x71, 0xCF, 0xB1, - 0xC7, 0x56, 0xE0, 0x73, 0x68, 0x9F, 0x03, 0x89, 0x8D, 0x93, 0xC2, 0x17, 0x27, 0xD2, 0xE5, 0x08, - 0xB8, 0x81, 0xF1, 0xE7, 0xF0, 0x15, 0x46, 0x8E, 0x70, 0x62, 0x62, 0xA2, 0x23, 0xE3, 0x48, 0xCE, - 0x72, 0x8E, 0x73, 0xEB, 0x28, 0x43, 0x29, 0x00, 0x09, 0x66, 0x46, 0xC8, 0xCD, 0x3E, 0xC7, 0xD9, - 0x75, 0x94, 0x42, 0x8A, 0xAE, 0x93, 0xEC, 0xBA, 0x58, 0x9C, 0xA9, 0x9C, 0xA3, 0x0C, 0x62, 0x5E, - 0x14, 0x57, 0xA7, 0xF5, 0xE3, 0x97, 0x3E, 0x8D, 0x81, 0x21, 0x48, 0x61, 0x9D, 0xA3, 0x00, 0xB0, - 0x7E, 0xE4, 0x22, 0x98, 0xD8, 0x62, 0x1E, 0xDD, 0x35, 0xCF, 0xF5, 0x81, 0xA1, 0xA0, 0x14, 0x28, - 0x01, 0x0A, 0xE0, 0xE2, 0x9E, 0x38, 0x28, 0x27, 0x30, 0x84, 0xA9, 0x1D, 0x14, 0xC4, 0x55, 0x50, - 0x74, 0x4B, 0x19, 0x44, 0x34, 0x2F, 0xAC, 0x5F, 0x1F, 0x28, 0x0E, 0xAC, 0x73, 0x00, 0xEA, 0x86, - 0xF5, 0xC3, 0xC4, 0x70, 0x07, 0x2A, 0xA2, 0xCE, 0x08, 0x06, 0x9E, 0x9B, 0x36, 0xB2, 0x15, 0x94, - 0xB6, 0x22, 0x34, 0x8B, 0x4B, 0x76, 0x86, 0x0A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x4C, 0xA0, 0x84, - 0x9E, 0x08, 0xA5, 0x84, 0x99, 0x60, 0x3E, 0x21, 0x23, 0xF4, 0x46, 0xB4, 0x02, 0x68, 0x46, 0x35, - 0xE3, 0x9A, 0x3E, 0xD1, 0x46, 0xBB, 0xA0, 0xD0, 0x73, 0xDD, 0x1D, 0xE1, 0x4A, 0x49, 0xD5, 0x03, - 0x9B, 0xC3, 0x2F, 0x29, 0xA4, 0xDB, 0xE7, 0xE5, 0x5D, 0xDE, 0x89, 0x57, 0xB8, 0x40, 0x87, 0x68, - 0xD7, 0xCB, 0x3B, 0xD1, 0xF5, 0x09, 0x6C, 0xA9, 0x87, 0xC6, 0x04, 0x97, 0x33, 0xF8, 0x05, 0xE3, - 0x9D, 0x29, 0x27, 0x90, 0xB8, 0xC5, 0x85, 0x7F, 0xE4, 0x47, 0x56, 0x75, 0xF6, 0x3C, 0x4C, 0x57, - 0x97, 0x90, 0xE0, 0xC1, 0x30, 0x18, 0x00, 0xA3, 0x3D, 0xF8, 0x45, 0x67, 0xFA, 0x7C, 0x87, 0xD2, - 0x7F, 0x7D, 0xF6, 0xC3, 0xFB, 0x17, 0x5F, 0x99, 0x5B, 0x41, 0xDE, 0x76, 0xEE, 0x5A, 0xC8, 0x71, - 0x60, 0x74, 0xD1, 0xFA, 0x2C, 0x54, 0xAD, 0x03, 0xCA, 0xEF, 0x8F, 0xB8, 0x69, 0x0E, 0xB0, 0xCD, - 0xC5, 0xB6, 0x91, 0x83, 0xB7, 0x23, 0xD8, 0x01, 0x97, 0x2E, 0x8E, 0x55, 0x74, 0xA1, 0xE9, 0xF5, - 0x87, 0xA4, 0xF0, 0xE2, 0x0E, 0x0D, 0x97, 0x3A, 0xF5, 0x81, 0x2B, 0x09, 0xF5, 0x82, 0x85, 0x5E, - 0x65, 0xAC, 0xE7, 0xB3, 0xC1, 0x76, 0x8D, 0x0A, 0x11, 0xE4, 0x17, 0xAB, 0x18, 0x41, 0x03, 0x88, - 0x4C, 0x50, 0x11, 0xB3, 0x51, 0xCE, 0x7F, 0x24, 0xA6, 0xCC, 0x19, 0x2A, 0x24, 0x44, 0x7E, 0x25, - 0x51, 0xA9, 0x0B, 0x64, 0x1F, 0xF5, 0x15, 0x9E, 0xD3, 0x56, 0xF8, 0xC9, 0x29, 0x84, 0x16, 0x70, - 0xD6, 0x4F, 0xAF, 0x5C, 0xD7, 0x85, 0xBE, 0x11, 0xB9, 0x38, 0x7A, 0xB9, 0x09, 0xF6, 0x6A, 0x71, - 0x12, 0x90, 0x90, 0xA3, 0x3F, 0x44, 0x7B, 0x06, 0xA1, 0x46, 0x88, 0x10, 0xA6, 0x85, 0xFE, 0x06, - 0xBA, 0xB1, 0x60, 0x10, 0x7E, 0xE0, 0x37, 0x71, 0x83, 0x57, 0xE8, 0x81, 0xDB, 0x73, 0x9C, 0x44, - 0xB1, 0xC0, 0x40, 0x4D, 0x50, 0xBB, 0x62, 0x8E, 0x14, 0x87, 0xA6, 0x03, 0x99, 0x87, 0xB8, 0x74, - 0x18, 0xA1, 0x0F, 0x81, 0xD9, 0x00, 0x01, 0x6D, 0x80, 0x5C, 0x5D, 0x00, 0x11, 0x13, 0x6D, 0x7E, - 0xA0, 0x08, 0xA8, 0x31, 0x70, 0x2F, 0xE0, 0x0A, 0x22, 0x9E, 0x5B, 0x88, 0x44, 0xE0, 0xA8, 0x43, - 0x00, 0x05, 0x93, 0x23, 0xA1, 0x6B, 0xF1, 0x91, 0xD8, 0x18, 0x13, 0x56, 0x87, 0xE0, 0xE1, 0xE2, - 0xE2, 0x6C, 0x9B, 0x14, 0x8B, 0x93, 0xC9, 0x2F, 0x96, 0x43, 0xFD, 0xD4, 0x4D, 0x14, 0x2E, 0x7A, - 0xCC, 0xD0, 0x10, 0x57, 0xE0, 0x38, 0x84, 0x89, 0xCE, 0x4D, 0xF0, 0x64, 0x50, 0x99, 0xE2, 0xE4, - 0x7A, 0x75, 0xA0, 0xF7, 0x5C, 0x1F, 0x11, 0x1E, 0xA3, 0x50, 0xB0, 0x12, 0x77, 0xF4, 0xE9, 0x95, - 0x03, 0x50, 0x30, 0xB4, 0x86, 0x80, 0x2A, 0x88, 0x26, 0x12, 0x15, 0xE9, 0x97, 0x76, 0xD4, 0xC6, - 0x59, 0x68, 0xF3, 0x89, 0xDE, 0x06, 0x52, 0xDC, 0x09, 0x5C, 0x96, 0x09, 0x48, 0x82, 0x4B, 0xB3, - 0x15, 0x9B, 0xEC, 0xC4, 0x34, 0xB9, 0x8D, 0x9B, 0x62, 0x0E, 0x23, 0xE0, 0x05, 0x78, 0x02, 0x93, - 0xA2, 0xFE, 0x51, 0x44, 0x14, 0x1C, 0xA4, 0x18, 0xC8, 0x5B, 0x42, 0x4F, 0x04, 0x50, 0x00, 0x0B, - 0x10, 0x07, 0x26, 0x25, 0x69, 0x75, 0x0B, 0x54, 0x6D, 0x70, 0xDD, 0xB6, 0x50, 0x9F, 0x0F, 0x72, - 0xFE, 0x17, 0x78, 0x16, 0x5C, 0xC0, 0x81, 0xEE, 0x2F, 0xF0, 0xFE, 0xDE, 0x65, 0xF8, 0x31, 0xFC, - 0x3A, 0x7C, 0xDE, 0x1C, 0x0E, 0xCF, 0x71, 0xFF, 0x0C, 0xB0, 0x3C, 0x50, 0x9F, 0xD3, 0x47, 0x13, - 0x71, 0x1D, 0x61, 0x80, 0x00, 0xA8, 0x96, 0x4D, 0x86, 0x87, 0x7B, 0xD6, 0x17, 0x0E, 0xE9, 0x70, - 0xBD, 0x72, 0x5B, 0x19, 0xA0, 0x57, 0xE8, 0xF4, 0x92, 0x1B, 0xDD, 0x8A, 0x3B, 0x31, 0x80, 0xFA, - 0x91, 0x4E, 0x92, 0x11, 0x37, 0x64, 0x56, 0xDC, 0x94, 0x9D, 0x25, 0x45, 0xCE, 0xE5, 0xD3, 0xAB, - 0x3E, 0xF8, 0xCF, 0xC8, 0x81, 0x68, 0x66, 0x51, 0x60, 0x00, 0x27, 0xD2, 0xFB, 0x12, 0xEB, 0x75, - 0x0B, 0x5D, 0x02, 0x0C, 0x5D, 0xDA, 0x19, 0xD9, 0x98, 0x08, 0x1B, 0x12, 0x65, 0xD0, 0x06, 0xD1, - 0x45, 0xC1, 0x5B, 0x2D, 0xBA, 0x2C, 0x4D, 0xDB, 0x3C, 0xB7, 0x91, 0x8F, 0x02, 0x46, 0x66, 0x9A, - 0xE7, 0x03, 0xEC, 0xB0, 0xC8, 0xF5, 0x5D, 0x21, 0x92, 0x7B, 0x6E, 0xA1, 0xCE, 0x6D, 0xE2, 0x65, - 0xE2, 0x0C, 0x26, 0xDD, 0x5A, 0x30, 0x05, 0xF1, 0x82, 0x89, 0x87, 0x98, 0x17, 0xC0, 0x5A, 0xD1, - 0x7E, 0x21, 0x62, 0x9A, 0x14, 0xB2, 0xC8, 0xD3, 0x50, 0x49, 0x64, 0xF9, 0x84, 0x85, 0x38, 0x29, - 0xB1, 0xD0, 0xD1, 0x61, 0xCD, 0x21, 0x2A, 0x45, 0xF8, 0x23, 0xC2, 0x1C, 0x39, 0x08, 0xF4, 0x81, - 0xFC, 0x0E, 0x7A, 0x0E, 0x08, 0xAC, 0x50, 0x23, 0x4A, 0xCF, 0x49, 0x28, 0x1D, 0x86, 0x2F, 0x4D, - 0xC8, 0x44, 0xC4, 0x9E, 0x29, 0x2E, 0xB7, 0x49, 0x52, 0x1B, 0x41, 0xC3, 0x71, 0xB9, 0x85, 0x73, - 0x0D, 0x51, 0x87, 0x00, 0xE8, 0x06, 0x88, 0x87, 0x88, 0x00, 0x1B, 0xEC, 0xDA, 0x0A, 0x27, 0xA4, - 0x00, 0x1C, 0x04, 0x0D, 0xE1, 0x28, 0x9B, 0xD4, 0x3F, 0x00, 0xA7, 0x72, 0xB1, 0x05, 0xF1, 0x07, - 0xE2, 0xEE, 0x10, 0xD8, 0x18, 0xC6, 0x12, 0xA4, 0x31, 0x40, 0x02, 0x83, 0x16, 0x32, 0x2C, 0xE4, - 0x17, 0xD0, 0x04, 0x9F, 0x17, 0x34, 0x80, 0x56, 0xA3, 0x14, 0x8D, 0xBC, 0x18, 0xB9, 0xC4, 0x5E, - 0xA2, 0xA6, 0x26, 0xEC, 0x1B, 0x92, 0x2B, 0x03, 0xA5, 0x20, 0x34, 0x0D, 0x1A, 0x48, 0x4D, 0x12, - 0xF3, 0xE0, 0xF7, 0x41, 0x3E, 0xFA, 0x33, 0x8B, 0xD6, 0x3B, 0xDC, 0x53, 0xA1, 0x7C, 0x79, 0xAA, - 0x56, 0x0E, 0x9F, 0x95, 0x12, 0x12, 0x25, 0xF5, 0xAA, 0x12, 0x82, 0x0B, 0x3C, 0xFF, 0xF5, 0xDF, - 0xCF, 0xDE, 0x9E, 0xBE, 0x78, 0xFD, 0x8B, 0x3A, 0xFB, 0xB7, 0xD9, 0xB5, 0xBB, 0xA6, 0xE0, 0xD0, - 0xC3, 0xA4, 0xB9, 0x27, 0x5E, 0x8E, 0x3B, 0xE9, 0x41, 0xA2, 0xBD, 0x33, 0xDB, 0x16, 0xA5, 0xA8, - 0xD9, 0xC9, 0xD2, 0x22, 0x5E, 0xAF, 0x4E, 0x7F, 0x42, 0xD1, 0x97, 0x16, 0x7C, 0xE4, 0x5D, 0x7B, - 0x68, 0x69, 0xFC, 0xE9, 0x9B, 0x17, 0xCF, 0x9F, 0x9F, 0xAA, 0xDB, 0xDD, 0xF9, 0x3B, 0x39, 0x90, - 0x7F, 0x40, 0xEB, 0x52, 0x79, 0x1E, 0x46, 0x2C, 0xBB, 0xCE, 0x38, 0x5B, 0xED, 0xE1, 0x47, 0x67, - 0x2B, 0x60, 0x44, 0xE5, 0x38, 0x85, 0xCA, 0x71, 0x2A, 0x56, 0x66, 0xC4, 0x3C, 0x54, 0x8A, 0x13, - 0x35, 0x21, 0x55, 0x89, 0xBD, 0x15, 0x74, 0xAE, 0xAE, 0xB1, 0x31, 0xFB, 0xED, 0x77, 0x55, 0x59, - 0x6D, 0x22, 0x1E, 0xAE, 0x51, 0x59, 0xF9, 0x9D, 0x0A, 0xEA, 0x16, 0x9C, 0x4A, 0x84, 0x53, 0x2A, - 0x4F, 0xBB, 0x55, 0x39, 0x83, 0x28, 0xEB, 0x89, 0x39, 0x6A, 0x95, 0x3E, 0x55, 0x49, 0x62, 0x3F, - 0x0A, 0xFD, 0x8F, 0xB0, 0x46, 0x16, 0x07, 0x38, 0x55, 0xBB, 0x33, 0x01, 0xFC, 0xF2, 0xA2, 0x0D, - 0xD0, 0xBD, 0xA7, 0xB1, 0xEA, 0xEC, 0x28, 0x9E, 0x67, 0xEB, 0x89, 0xF8, 0x3C, 0x59, 0xA7, 0xC9, - 0x59, 0x8A, 0x4F, 0xC7, 0xE4, 0xCE, 0x5D, 0x84, 0x59, 0x38, 0x0F, 0xA3, 0x90, 0x5F, 0x8F, 0x97, - 0x61, 0x10, 0xB0, 0x38, 0x17, 0x7D, 0x9D, 0x9E, 0x89, 0x29, 0xE9, 0x06, 0x4E, 0x51, 0x74, 0xD0, - 0x21, 0x9B, 0x91, 0x2C, 0xE0, 0x7C, 0x94, 0x8A, 0xDF, 0x1D, 0x7B, 0xB6, 0x4F, 0x75, 0x72, 0xAF, - 0xC5, 0x61, 0x29, 0x87, 0x60, 0x3A, 0x3F, 0x3D, 0x44, 0x15, 0xB5, 0x75, 0xFF, 0x98, 0xAC, 0x56, - 0x70, 0xD4, 0x6B, 0xB7, 0xF0, 0xCD, 0xB8, 0x96, 0xD6, 0xF2, 0xA2, 0xA8, 0x55, 0x51, 0xC3, 0x5B, - 0xB6, 0x00, 0x69, 0x97, 0x6A, 0x69, 0xB4, 0xD5, 0x59, 0x51, 0xCE, 0x82, 0xDB, 0x8F, 0x29, 0x03, - 0x3C, 0x0F, 0xC2, 0xB4, 0xDD, 0x51, 0x1B, 0x61, 0xA7, 0x16, 0x32, 0x1C, 0xA3, 0x8C, 0x18, 0x78, - 0x5F, 0x0B, 0x18, 0x0E, 0xFE, 0x83, 0xF1, 0x29, 0xD8, 0x81, 0x02, 0x6D, 0x7D, 0x55, 0xB9, 0x46, - 0xDD, 0xA9, 0x39, 0xB5, 0x5D, 0xA1, 0xB6, 0xE0, 0x3E, 0x85, 0x41, 0x16, 0x5C, 0xAE, 0xE9, 0x02, - 0xBB, 0x18, 0x4D, 0x55, 0x59, 0x32, 0x54, 0x7B, 0x25, 0x1F, 0x1C, 0x7A, 0x4D, 0xEC, 0xF2, 0xC0, - 0xD5, 0xAF, 0xC4, 0xAD, 0xFE, 0x9D, 0x7C, 0xD0, 0x31, 0x91, 0x8F, 0x29, 0x04, 0xB2, 0xE0, 0x52, - 0x14, 0x4A, 0xA1, 0xD5, 0x95, 0x5F, 0x2F, 0x25, 0x47, 0x17, 0x36, 0x5B, 0x32, 0xA1, 0x9A, 0xAB, - 0x3A, 0x3B, 0x06, 0x05, 0x02, 0x0F, 0x09, 0x15, 0xD2, 0x45, 0x8A, 0x38, 0x8D, 0x8A, 0x44, 0x73, - 0x11, 0x85, 0xC1, 0x42, 0x7D, 0xF2, 0x6B, 0x63, 0x78, 0xE3, 0xE8, 0x9C, 0xD3, 0x22, 0x1A, 0x15, - 0x94, 0xF8, 0xEA, 0x58, 0x6E, 0xBC, 0x55, 0xEA, 0x1A, 0x66, 0x88, 0x83, 0xB8, 0xA4, 0x10, 0x5F, - 0x6A, 0x6F, 0x8C, 0xAA, 0xB9, 0x9D, 0x97, 0x45, 0x65, 0x34, 0x42, 0x71, 0xBC, 0x27, 0x23, 0x5C, - 0x56, 0xCD, 0xE1, 0x1D, 0x58, 0x19, 0xF0, 0x5E, 0x62, 0xFB, 0xEC, 0x17, 0xF0, 0x83, 0xE2, 0xCB, - 0x29, 0x68, 0x29, 0xFF, 0x52, 0x33, 0xA0, 0x46, 0x9B, 0x5C, 0x11, 0xB5, 0x4A, 0x49, 0xE5, 0x64, - 0xE8, 0x00, 0x05, 0x4E, 0xFC, 0x81, 0xB6, 0x4A, 0xE3, 0x44, 0x8D, 0xE1, 0x30, 0x06, 0xCA, 0xAA, - 0x8D, 0xF0, 0xC7, 0x8C, 0x7B, 0x7C, 0x93, 0x95, 0x1A, 0xDD, 0xFA, 0xBC, 0x8F, 0x37, 0x96, 0xC8, - 0x27, 0x4F, 0x5E, 0xCA, 0xFB, 0x75, 0x00, 0xB6, 0x7F, 0x07, 0xF0, 0xD5, 0xBC, 0x77, 0x2F, 0x0E, - 0x5E, 0xEE, 0x45, 0xC1, 0x8A, 0xBD, 0x3C, 0x0E, 0xF9, 0x80, 0xF7, 0x16, 0x06, 0x08, 0x9C, 0xDB, - 0x46, 0x3F, 0x5C, 0x4F, 0x75, 0xC6, 0x87, 0x40, 0xDF, 0xE2, 0xB2, 0x00, 0x3F, 0xBC, 0xDD, 0x0D, - 0x7F, 0x05, 0x67, 0x0A, 0x9A, 0x38, 0xDC, 0x4F, 0x36, 0x18, 0x8F, 0x70, 0x98, 0x8C, 0x95, 0x7B, - 0xA2, 0x5C, 0xA9, 0x66, 0xE1, 0x33, 0x67, 0xA0, 0x0E, 0xEF, 0x8C, 0x15, 0xC6, 0x4F, 0x35, 0xAA, - 0xFA, 0xC6, 0xD5, 0xCA, 0x56, 0xBB, 0xBA, 0x44, 0x5D, 0x12, 0x7A, 0x96, 0xF6, 0xEC, 0x05, 0x2C, - 0x87, 0x87, 0x8B, 0xD0, 0xA7, 0xEA, 0x39, 0x04, 0x4B, 0x7B, 0x87, 0x75, 0x94, 0xF5, 0x42, 0x55, - 0xAC, 0x61, 0x56, 0x0B, 0xFF, 0xA2, 0x1B, 0x5D, 0x5E, 0x55, 0x8A, 0x64, 0x77, 0xF6, 0x3E, 0x03, - 0x37, 0x92, 0xCB, 0x6B, 0xC4, 0xAF, 0xEA, 0x5B, 0x22, 0xF9, 0x16, 0x0A, 0xF2, 0x62, 0x91, 0x7F, - 0xE0, 0x83, 0x93, 0x3F, 0x44, 0x63, 0x2D, 0x77, 0xC0, 0x1A, 0x6C, 0xA9, 0xB6, 0x65, 0x7A, 0x7F, - 0x81, 0xDE, 0x40, 0xDF, 0x25, 0x78, 0xF7, 0x03, 0x84, 0x5A, 0x4B, 0x92, 0xAA, 0x60, 0x79, 0xDB, - 0xDD, 0xC2, 0xCD, 0x77, 0xE5, 0x1B, 0xD5, 0xEA, 0x6A, 0x23, 0x43, 0xC8, 0x0D, 0x76, 0x9F, 0xAD, - 0x97, 0xC1, 0x6C, 0x33, 0x5F, 0x85, 0xFC, 0x2D, 0x3B, 0xDF, 0xB0, 0x8C, 0x63, 0x08, 0x92, 0xA6, - 0x2C, 0xDA, 0x77, 0x7A, 0x7C, 0xE6, 0x03, 0xCC, 0xF1, 0xD9, 0x85, 0x97, 0x2A, 0xFE, 0x26, 0xC5, - 0x27, 0x64, 0x88, 0xA1, 0x53, 0xB5, 0xA7, 0x4E, 0x16, 0x9B, 0x98, 0x9E, 0xC0, 0x81, 0x51, 0x5F, - 0xCC, 0x3D, 0x08, 0x69, 0x37, 0x38, 0x0A, 0xD8, 0x55, 0xBC, 0x58, 0xD5, 0xF8, 0xB4, 0x42, 0xD7, - 0xCD, 0xD6, 0xE0, 0x0E, 0x6D, 0xA0, 0xEE, 0x68, 0x31, 0x32, 0xD1, 0xC2, 0xA9, 0x39, 0x01, 0x0D, - 0xB6, 0xD9, 0x31, 0xD2, 0x05, 0x72, 0x0D, 0x2D, 0x11, 0x14, 0x5B, 0x4A, 0x21, 0xFB, 0x07, 0xB5, - 0x3A, 0x7D, 0xAB, 0xD7, 0x9A, 0x28, 0xFB, 0x43, 0xF3, 0x07, 0x75, 0xD6, 0x23, 0xCF, 0x50, 0x27, - 0xE1, 0x09, 0xEF, 0x46, 0x2C, 0x3E, 0xE3, 0x90, 0x05, 0x4F, 0x3A, 0x7B, 0x66, 0xD9, 0x33, 0x89, - 0x7A, 0xDC, 0x8E, 0x8F, 0xA7, 0xFC, 0xB7, 0xF0, 0xF7, 0x63, 0x94, 0xF8, 0x58, 0xBD, 0x6B, 0x52, - 0xF5, 0x58, 0x0C, 0x2E, 0x1C, 0x57, 0x4A, 0xA1, 0x85, 0xC7, 0xC7, 0x93, 0x94, 0xF1, 0x4D, 0x1A, - 0x2B, 0x24, 0x42, 0xD5, 0x61, 0xD5, 0xDB, 0x42, 0x91, 0x60, 0x73, 0xD9, 0xF2, 0x8F, 0x10, 0x8C, - 0x09, 0x94, 0x29, 0xC6, 0xAB, 0x79, 0x78, 0x6E, 0xF5, 0xAD, 0x16, 0x84, 0xD5, 0x96, 0x09, 0x17, - 0x08, 0xC4, 0xAD, 0x41, 0x0B, 0x03, 0x31, 0x5E, 0x44, 0x60, 0x68, 0x59, 0xFD, 0x56, 0x1E, 0xAD, - 0x5B, 0xC3, 0x96, 0xB4, 0xAF, 0x16, 0x06, 0xD8, 0x71, 0xCA, 0x82, 0x49, 0x4B, 0xE9, 0x81, 0x20, - 0xDB, 0xEC, 0x76, 0x33, 0xB0, 0xEA, 0x0C, 0x28, 0x40, 0x6F, 0xB1, 0xB0, 0x0D, 0xC1, 0xC2, 0xDD, - 0x23, 0xD1, 0x60, 0x58, 0x32, 0x04, 0x6C, 0xBB, 0x5B, 0x26, 0xAB, 0xCE, 0xD0, 0x34, 0x04, 0x47, - 0xBC, 0x4A, 0x96, 0x6E, 0x95, 0xA5, 0x73, 0x6F, 0x8E, 0xD6, 0x68, 0x27, 0x07, 0xFB, 0x3E, 0xAB, - 0x74, 0x04, 0x0B, 0xC7, 0x16, 0x42, 0x0D, 0x85, 0x4C, 0xC3, 0x82, 0x61, 0x85, 0xDF, 0xE0, 0x5E, - 0x0C, 0x07, 0x5F, 0x9A, 0xA1, 0xFB, 0x25, 0x18, 0x8A, 0xA4, 0x0B, 0xD9, 0x96, 0x79, 0x68, 0xCB, - 0x72, 0x2A, 0x26, 0x01, 0xF7, 0x79, 0x1E, 0xDA, 0xA2, 0xD3, 0xA0, 0x85, 0x95, 0x33, 0xB7, 0x35, - 0xFB, 0x92, 0x26, 0xFA, 0xB9, 0xF6, 0xF9, 0x65, 0x8D, 0xF3, 0x0B, 0x5B, 0xE6, 0xE7, 0x9A, 0xE5, - 0x97, 0xB5, 0xC9, 0x2F, 0x6B, 0x90, 0x7F, 0x89, 0x35, 0x96, 0xD0, 0x88, 0x8F, 0x08, 0x9B, 0xC8, - 0x78, 0x5F, 0x43, 0xB5, 0x1C, 0xF8, 0xD7, 0x2A, 0xCA, 0x65, 0xAD, 0x57, 0x43, 0xCD, 0x56, 0x5E, - 0x5A, 0x9A, 0xAB, 0xBC, 0x1C, 0x6A, 0xA6, 0x4D, 0x9F, 0x86, 0xF2, 0xD2, 0x94, 0x17, 0x57, 0x33, - 0x4D, 0x71, 0xE9, 0x8B, 0xC6, 0x01, 0x5C, 0x0C, 0xBA, 0x8C, 0x34, 0x73, 0x48, 0x9F, 0x23, 0x6A, - 0xB2, 0x60, 0xB8, 0x25, 0x2F, 0x96, 0x66, 0xBA, 0x74, 0x71, 0xA9, 0x6D, 0x80, 0x5C, 0x07, 0xCA, - 0x27, 0x5C, 0x60, 0x9A, 0x7C, 0x84, 0x15, 0x52, 0xB1, 0xA3, 0x25, 0x4E, 0x3C, 0x2D, 0x5A, 0xE9, - 0xCE, 0x85, 0x8A, 0xCC, 0xF6, 0x0F, 0x3C, 0x23, 0xB2, 0xCE, 0x4D, 0x25, 0x1E, 0x1D, 0x4F, 0x19, - 0x86, 0x21, 0xAD, 0x1A, 0x81, 0x54, 0xCA, 0xF2, 0x35, 0x15, 0x22, 0x90, 0xDA, 0x29, 0x79, 0xF8, - 0xC9, 0x0A, 0xDF, 0x66, 0x39, 0x85, 0x23, 0x4A, 0x7C, 0x96, 0xB5, 0x99, 0xC6, 0x73, 0xA5, 0xB5, - 0xD9, 0x94, 0x75, 0x79, 0xF2, 0x32, 0xB9, 0x64, 0xE9, 0x8F, 0x5E, 0x06, 0x09, 0x6D, 0xE7, 0xA4, - 0xCD, 0xA7, 0xBC, 0xD1, 0xF6, 0x44, 0x37, 0xC7, 0xFC, 0x84, 0x3D, 0x31, 0xC7, 0x46, 0xC9, 0x15, - 0xDF, 0x24, 0xF0, 0xB8, 0xBF, 0xA4, 0x5C, 0x9B, 0xCE, 0x08, 0x28, 0x21, 0xC6, 0x7C, 0x38, 0xCD, - 0xA9, 0x10, 0xCF, 0xBF, 0x31, 0x27, 0xE1, 0x02, 0xB8, 0xA9, 0xD5, 0x82, 0xC0, 0x29, 0x8D, 0x1C, - 0x2B, 0xEA, 0x31, 0xEB, 0x0A, 0x2A, 0x8D, 0x1F, 0xD7, 0x87, 0xFC, 0x59, 0xFD, 0xF2, 0x2E, 0xE1, - 0x5E, 0xA4, 0x88, 0xF7, 0x6F, 0x88, 0x88, 0x63, 0xC3, 0x61, 0x1A, 0x48, 0x19, 0x83, 0x2A, 0x09, - 0xE4, 0x80, 0xC1, 0x61, 0x8A, 0xD7, 0xBE, 0xBF, 0x59, 0x8B, 0x17, 0x3F, 0x14, 0x95, 0x86, 0x9E, - 0xAC, 0x18, 0x64, 0x56, 0xCA, 0x2A, 0x8C, 0xC1, 0x68, 0x5A, 0x94, 0x90, 0x0B, 0x5C, 0x58, 0x82, - 0x55, 0x4D, 0x5B, 0x23, 0xB8, 0x13, 0xD9, 0x52, 0x0B, 0x67, 0x48, 0x0A, 0x7A, 0xC8, 0x0A, 0x60, - 0x13, 0x89, 0x58, 0x9E, 0x25, 0x9B, 0xFD, 0xDF, 0xA9, 0x5A, 0x90, 0xF8, 0x9B, 0x15, 0xEC, 0x63, - 0xF7, 0x8C, 0xF1, 0x67, 0x11, 0xC3, 0xDB, 0x1F, 0xAE, 0x5F, 0xC0, 0xFE, 0xC9, 0xB3, 0x56, 0xA7, - 0x1B, 0xC6, 0x31, 0x4B, 0x7F, 0x7E, 0xF7, 0xEA, 0xE5, 0x94, 0x6B, 0xA4, 0x4E, 0xD8, 0xEA, 0x6F, - 0xAA, 0xA9, 0x93, 0xD0, 0x74, 0x58, 0xCB, 0xA6, 0x20, 0x8B, 0xE1, 0x2F, 0xF0, 0x0D, 0x8E, 0xD7, - 0x0B, 0xCC, 0xA9, 0xB4, 0x5A, 0x9F, 0x48, 0x7A, 0xAC, 0xCE, 0x84, 0x56, 0xC7, 0xD3, 0xDC, 0xD3, - 0xAA, 0xAF, 0xAA, 0x1E, 0x48, 0x7D, 0x6A, 0x59, 0x1B, 0x0C, 0x61, 0x6D, 0x03, 0xD2, 0x18, 0xF3, - 0x1E, 0x59, 0x10, 0x26, 0x58, 0x90, 0x0A, 0x55, 0x3C, 0xB6, 0xCC, 0x88, 0xC0, 0x34, 0x23, 0x4C, - 0x72, 0x01, 0x1F, 0x5A, 0x33, 0x38, 0x12, 0x76, 0xBB, 0xE5, 0x09, 0x46, 0xBD, 0x85, 0x35, 0x4C, - 0xAB, 0x0B, 0x3C, 0x3A, 0x6A, 0x83, 0x55, 0x19, 0x1D, 0x8D, 0xD1, 0xFB, 0x49, 0x59, 0x17, 0x04, - 0xE7, 0xED, 0xDC, 0x20, 0xAB, 0x76, 0xBD, 0x65, 0xF2, 0x5D, 0x3C, 0x69, 0x69, 0x9C, 0x2E, 0x9D, - 0xDB, 0x0E, 0xE5, 0x98, 0xA8, 0xC0, 0x68, 0x6A, 0x4C, 0xA2, 0x93, 0x9C, 0x9F, 0x50, 0xD2, 0x24, - 0x3A, 0x3E, 0xEE, 0xA8, 0xBA, 0x09, 0x0A, 0x17, 0xF4, 0x6D, 0xD9, 0xFF, 0x5B, 0xF4, 0x7B, 0x17, - 0xAB, 0x17, 0x1D, 0x10, 0x84, 0xB4, 0xF8, 0xEE, 0xED, 0x4C, 0x5A, 0x0B, 0x9D, 0xCA, 0x00, 0x7F, - 0xAA, 0xA0, 0x53, 0xC1, 0xA2, 0x1D, 0xF8, 0xA3, 0xCC, 0x3E, 0xF0, 0x12, 0x82, 0x4C, 0xCD, 0x02, - 0x08, 0xD1, 0x2C, 0x13, 0x81, 0xC8, 0xC2, 0xFB, 0x81, 0xB8, 0x0C, 0xA9, 0xCD, 0x44, 0xF0, 0x78, - 0x69, 0x5A, 0xF2, 0xD3, 0x54, 0x70, 0x98, 0x79, 0x0F, 0x38, 0xC1, 0xD7, 0x97, 0x94, 0x2B, 0x53, - 0x04, 0xE1, 0x6B, 0xBC, 0xB6, 0x94, 0x2B, 0x0B, 0x2E, 0x00, 0xBB, 0xD7, 0x16, 0x05, 0xC0, 0x06, - 0x07, 0xF1, 0x55, 0x97, 0xC2, 0x9B, 0xAD, 0x5E, 0xBE, 0xC4, 0x82, 0x55, 0x5F, 0x72, 0x32, 0x24, - 0x2B, 0x5B, 0xB0, 0x32, 0x8D, 0x7B, 0xF0, 0x82, 0x35, 0x6F, 0xF1, 0x71, 0x1A, 0x7C, 0x9C, 0x47, - 0xF2, 0x71, 0x1B, 0x7C, 0xDC, 0x7B, 0xF0, 0xC9, 0x6B, 0x4B, 0x94, 0x96, 0xC3, 0x32, 0x5B, 0x27, - 0xEF, 0x9E, 0xCA, 0xE3, 0xC0, 0x07, 0x79, 0x1E, 0xF8, 0x90, 0x07, 0x25, 0xB5, 0x78, 0x65, 0x67, - 0x7D, 0x35, 0x51, 0xF1, 0x49, 0x91, 0x78, 0x34, 0xD4, 0x02, 0x07, 0x27, 0x44, 0xAE, 0x98, 0x09, - 0xDA, 0xD9, 0x71, 0xAB, 0x78, 0x10, 0x24, 0x9E, 0x03, 0xD5, 0x0E, 0x70, 0x95, 0x62, 0x77, 0x0B, - 0x67, 0x6E, 0x10, 0x6B, 0x2A, 0xBD, 0x8B, 0xD5, 0xC5, 0x3F, 0xF2, 0xEF, 0x9E, 0x7D, 0x02, 0x5B, - 0x6C, 0x0C, 0x38, 0x3A, 0xAA, 0x8C, 0xD8, 0xEE, 0xFE, 0xF3, 0x4F, 0xF4, 0x15, 0xB3, 0x23, 0xF6, - 0x4E, 0x1E, 0xE1, 0xB0, 0x90, 0xFE, 0xEE, 0xE9, 0x0C, 0xD6, 0x28, 0x56, 0xDB, 0xB0, 0x6B, 0x39, - 0x56, 0x8C, 0xC8, 0xCD, 0xD7, 0xF8, 0xAE, 0x55, 0x95, 0xFB, 0x83, 0x2C, 0x50, 0x7E, 0x50, 0x2B, - 0x58, 0xF1, 0x14, 0x82, 0x14, 0x67, 0x6D, 0x82, 0xC2, 0xBA, 0x0A, 0xD4, 0x56, 0x07, 0x0F, 0x42, - 0xC8, 0xB9, 0x7A, 0x9A, 0xA9, 0x49, 0x85, 0xF3, 0x09, 0xA7, 0xC7, 0x0F, 0xF4, 0xA9, 0xD2, 0x3F, - 0x03, 0xF0, 0xCF, 0xA0, 0xE9, 0x9F, 0x81, 0xF4, 0xCF, 0x69, 0xD3, 0x3F, 0x83, 0x2F, 0xEA, 0x9F, - 0x15, 0xEF, 0x1C, 0x89, 0x1C, 0x60, 0x84, 0xD1, 0x1C, 0x32, 0x01, 0x08, 0xFA, 0xF2, 0xA3, 0x8F, - 0x71, 0xDD, 0x41, 0x6F, 0x74, 0xD0, 0x7F, 0xFB, 0xE4, 0xC4, 0x16, 0x0D, 0xC5, 0x0B, 0x66, 0x03, - 0xE8, 0xD2, 0x36, 0xD1, 0xF7, 0xE9, 0xD3, 0x12, 0x1E, 0x0D, 0xFD, 0xF7, 0x4B, 0x06, 0x4A, 0xE3, - 0x54, 0x71, 0x5B, 0xEA, 0x87, 0x55, 0xA5, 0x30, 0xA3, 0x22, 0x75, 0xDA, 0x7E, 0x9B, 0xB0, 0x0A, - 0xEB, 0x95, 0x7C, 0xA2, 0xB2, 0x5D, 0x41, 0xB9, 0x5D, 0x93, 0x7C, 0xBF, 0x1A, 0x7D, 0x35, 0xE3, - 0xC8, 0xE5, 0x79, 0xB4, 0xAD, 0xEC, 0x9F, 0xFF, 0x51, 0xE6, 0xB2, 0x37, 0xA0, 0xE2, 0xB3, 0x9B, - 0x6A, 0x34, 0x8D, 0x9F, 0xA8, 0xF8, 0xD4, 0x45, 0xA9, 0x39, 0x97, 0x12, 0x66, 0x10, 0xE8, 0xB3, - 0x0C, 0xB4, 0xA6, 0x29, 0xEB, 0x08, 0xFF, 0xA0, 0x55, 0x11, 0xE5, 0x3F, 0x25, 0xE4, 0xEA, 0x58, - 0xCD, 0x3D, 0xBD, 0xD5, 0x6B, 0xC9, 0x95, 0x29, 0xAD, 0x46, 0x55, 0xA5, 0x35, 0xFB, 0x29, 0x51, - 0x78, 0xA2, 0xD0, 0x43, 0x60, 0x25, 0x2C, 0x9F, 0x30, 0x7B, 0xB3, 0x03, 0xE1, 0xBE, 0xAC, 0xCC, - 0xD6, 0x23, 0xFE, 0x5E, 0x02, 0x2A, 0x58, 0xD7, 0xD6, 0x23, 0x6B, 0x2D, 0x65, 0x5A, 0x26, 0x7D, - 0x11, 0x93, 0xC5, 0x24, 0x5E, 0x84, 0xE9, 0xAA, 0xAD, 0xFE, 0x28, 0x6E, 0x94, 0x00, 0xBB, 0x70, - 0x4C, 0xB2, 0x40, 0x53, 0x13, 0xD9, 0x11, 0x38, 0x4B, 0x2D, 0x85, 0xA4, 0x41, 0x4C, 0xD5, 0xD8, - 0x16, 0xCF, 0x3C, 0x07, 0x3D, 0xC4, 0x16, 0xC6, 0x80, 0x79, 0x25, 0xE9, 0xF5, 0x01, 0xDE, 0x30, - 0xA6, 0xCE, 0xBE, 0xF2, 0x18, 0x44, 0xD6, 0x8C, 0xD6, 0x29, 0xC4, 0x6F, 0xDE, 0x56, 0xDF, 0x88, - 0xCD, 0xA0, 0x87, 0x6E, 0x25, 0x6F, 0x2A, 0x9B, 0x42, 0x4A, 0x04, 0x1B, 0x1F, 0x6F, 0xA2, 0x08, - 0xB0, 0xAF, 0x31, 0x8F, 0x9F, 0x33, 0x84, 0x79, 0xBA, 0x00, 0x11, 0x2B, 0xC8, 0x61, 0xCB, 0xE9, - 0xAA, 0x43, 0x29, 0x67, 0xC0, 0x39, 0xE3, 0x69, 0xCC, 0x2E, 0x95, 0xFF, 0x7B, 0xF5, 0xF2, 0x67, - 0xCE, 0xD7, 0xB2, 0x24, 0xA6, 0x85, 0x53, 0xB5, 0x47, 0x06, 0xFA, 0x44, 0xBC, 0x5C, 0x3E, 0x85, - 0x35, 0x4D, 0x42, 0x4C, 0x24, 0xB1, 0x55, 0x14, 0x6F, 0x8F, 0x59, 0xEC, 0x27, 0x01, 0x7B, 0xFF, - 0xF6, 0x45, 0x9B, 0x77, 0x34, 0xEA, 0x14, 0x25, 0xB1, 0x4A, 0x47, 0x35, 0x6F, 0xDB, 0xBF, 0xB9, - 0xF2, 0xD1, 0x45, 0xA7, 0x4B, 0x8E, 0xDC, 0x2D, 0xCB, 0xC5, 0xB2, 0x74, 0x1C, 0xC1, 0x9A, 0xE3, - 0x6E, 0x12, 0xC3, 0xE2, 0x82, 0x6B, 0xCC, 0x14, 0x99, 0xBF, 0xC4, 0xBF, 0xD7, 0x9A, 0x16, 0x19, - 0x50, 0xE7, 0x06, 0x12, 0x6E, 0x67, 0x3A, 0x8D, 0xBB, 0x34, 0x06, 0x73, 0x6D, 0xD6, 0x81, 0x26, - 0xCB, 0x30, 0xB0, 0x51, 0x64, 0x97, 0xB9, 0x8E, 0xFF, 0xF7, 0xF4, 0xF5, 0x2F, 0x10, 0xB7, 0x52, - 0xC8, 0xF0, 0x71, 0x7C, 0xB6, 0x4E, 0xE2, 0x8C, 0xBD, 0x63, 0x57, 0xFC, 0x80, 0x3B, 0x1D, 0x10, - 0x51, 0x96, 0xB4, 0xB5, 0x9D, 0xC7, 0x82, 0x5B, 0x16, 0xC1, 0x36, 0x36, 0xEA, 0x8D, 0xB7, 0xB8, - 0x9A, 0x35, 0x8B, 0xDB, 0xEA, 0x4F, 0xCF, 0xDE, 0xA9, 0x5A, 0xA8, 0x61, 0x6A, 0x07, 0x52, 0xC2, - 0xF6, 0xB4, 0x1B, 0xDB, 0x25, 0x8A, 0xED, 0x52, 0xF0, 0x83, 0xEE, 0x94, 0x3F, 0x0A, 0xE8, 0x08, - 0x64, 0xC1, 0x13, 0x88, 0x81, 0xC1, 0x51, 0x84, 0x8E, 0xCE, 0xCD, 0x5E, 0xE2, 0xFA, 0x93, 0xCE, - 0x4E, 0xB7, 0xF6, 0x50, 0x13, 0x90, 0xA1, 0xDB, 0xED, 0x1E, 0xF0, 0x64, 0x7C, 0x68, 0x79, 0x68, - 0xE3, 0x26, 0xE2, 0x5C, 0x84, 0x36, 0xF6, 0x3C, 0x49, 0x57, 0x4F, 0x3D, 0xEE, 0x4D, 0x78, 0xD7, - 0x5B, 0xAF, 0x71, 0xB1, 0xC2, 0xAD, 0xAB, 0xE9, 0x7A, 0x19, 0x00, 0x63, 0x08, 0x80, 0xF1, 0x49, - 0x2E, 0xFF, 0x24, 0x86, 0xD0, 0x27, 0x33, 0x7F, 0xF6, 0x5B, 0xFC, 0xBB, 0x16, 0x55, 0xF3, 0xE3, - 0xE3, 0x50, 0xA2, 0xE8, 0xA9, 0x5A, 0x32, 0x8F, 0xB4, 0x50, 0x04, 0x45, 0xAD, 0x9C, 0xAF, 0x7C, - 0x40, 0x02, 0x5A, 0xDF, 0x66, 0xD0, 0xB9, 0x15, 0xA1, 0x77, 0xDB, 0x23, 0x26, 0x81, 0xDC, 0xB1, - 0x37, 0xAF, 0x4F, 0xDF, 0xE1, 0xA1, 0x84, 0xF8, 0xA8, 0xB4, 0x73, 0x41, 0x57, 0xA8, 0xB0, 0x0B, - 0xF1, 0xE7, 0xD9, 0x05, 0x70, 0x7C, 0x09, 0xC0, 0xC6, 0x00, 0xA8, 0x50, 0x3B, 0xE2, 0x11, 0x86, - 0xAA, 0x95, 0xC9, 0x3A, 0xD9, 0x6A, 0xBE, 0x2E, 0x70, 0xC7, 0xF5, 0x86, 0xEA, 0x9F, 0xF9, 0x09, - 0x92, 0x89, 0x37, 0xFE, 0x83, 0x9E, 0x3C, 0xF1, 0xFD, 0x0F, 0x1C, 0xBE, 0xF6, 0xDB, 0xA5, 0x50, - 0xBF, 0xD8, 0xB2, 0x03, 0xF0, 0x79, 0xD7, 0x1E, 0x2B, 0xB8, 0xC9, 0xC7, 0x78, 0xFA, 0x7D, 0x8E, - 0x2F, 0xC4, 0xB7, 0x8D, 0x0E, 0x1E, 0xD7, 0x6E, 0x6F, 0x35, 0x4C, 0xA4, 0x60, 0xE9, 0x31, 0xFD, - 0x61, 0x6D, 0xD5, 0xDF, 0x1E, 0x37, 0xD5, 0x23, 0x0C, 0xA9, 0x70, 0xAF, 0xFB, 0x19, 0xBF, 0x9C, - 0xEE, 0x61, 0x47, 0x4D, 0x35, 0x3F, 0x9C, 0x0B, 0x29, 0x95, 0x85, 0x07, 0x3C, 0x41, 0x58, 0xFA, - 0xF3, 0xEE, 0xB6, 0x9A, 0xB7, 0x62, 0xFC, 0x94, 0x5D, 0xE0, 0xC3, 0xA8, 0x16, 0x6C, 0xAF, 0x6A, - 0x85, 0xF0, 0x66, 0x1A, 0x48, 0xC0, 0x79, 0xD2, 0xFE, 0xFA, 0xB5, 0xB4, 0x0D, 0x5A, 0x15, 0x78, - 0x0C, 0xEA, 0xF0, 0xD8, 0xE9, 0x8C, 0xA5, 0x46, 0xBE, 0x8F, 0x15, 0xF1, 0xA7, 0xD6, 0x78, 0xBE, - 0x07, 0x2F, 0x0A, 0xBE, 0x11, 0x1A, 0x21, 0x08, 0xE3, 0x9D, 0xDB, 0x12, 0xC4, 0xAA, 0xCF, 0x0C, - 0xD1, 0xF0, 0xB7, 0x82, 0x68, 0xE3, 0xB9, 0xA8, 0xF2, 0x44, 0xED, 0xDC, 0x8D, 0x77, 0x97, 0x9F, - 0x89, 0x76, 0xE5, 0xD3, 0xCD, 0xC7, 0x29, 0xB3, 0x32, 0xFF, 0x23, 0xC8, 0x9B, 0xB9, 0xD9, 0x21, - 0x6B, 0x95, 0xEF, 0xD4, 0xE4, 0xF3, 0xC8, 0xBF, 0x62, 0x99, 0xAA, 0xF8, 0x67, 0x2C, 0x87, 0xED, - 0x64, 0x71, 0x79, 0x18, 0x98, 0x73, 0xA0, 0xAD, 0x83, 0xB3, 0x76, 0x27, 0xEE, 0xAA, 0x3D, 0xF5, - 0x81, 0x78, 0x2B, 0xE0, 0xB6, 0xA4, 0x7B, 0x00, 0xCC, 0x6E, 0xC8, 0x28, 0x60, 0x29, 0x5F, 0x03, - 0xD2, 0x92, 0x46, 0xEF, 0xC4, 0xDA, 0xAD, 0xDD, 0xFD, 0x0C, 0x94, 0x3D, 0x00, 0x40, 0x5A, 0x94, - 0x88, 0x67, 0xCE, 0xE0, 0xA3, 0xD8, 0xDB, 0xDE, 0x03, 0x49, 0x79, 0x16, 0x54, 0xA0, 0xD2, 0x83, - 0x9C, 0xE3, 0xBE, 0xB8, 0xB4, 0xB5, 0xE8, 0xB7, 0x08, 0x27, 0x29, 0xAF, 0x9E, 0x2C, 0x2E, 0xBD, - 0x90, 0x77, 0x0F, 0x67, 0x13, 0xF9, 0x63, 0xFD, 0x83, 0xA9, 0xE0, 0x5F, 0xEB, 0xDB, 0xFB, 0x98, - 0xE4, 0xAF, 0xA2, 0xAC, 0xAF, 0xEE, 0x09, 0x0C, 0x77, 0x47, 0xA2, 0xCF, 0x84, 0x91, 0x6D, 0xF2, - 0x8A, 0x8C, 0x93, 0xAD, 0x5C, 0xB7, 0x01, 0xE6, 0x08, 0x99, 0xAA, 0x49, 0xF5, 0x13, 0x61, 0x17, - 0x47, 0x47, 0xAA, 0x53, 0xFF, 0x5A, 0xED, 0xFD, 0xF3, 0xCF, 0xC2, 0x16, 0x09, 0xA6, 0x0B, 0x33, - 0x54, 0x2D, 0x75, 0x5A, 0x8C, 0xEA, 0xD4, 0x07, 0xF9, 0x5E, 0xEC, 0x83, 0x84, 0x18, 0x1D, 0x26, - 0x94, 0x08, 0xE3, 0x9C, 0x76, 0x75, 0xBC, 0x70, 0x45, 0x02, 0x9D, 0x3B, 0x3D, 0x0F, 0x4B, 0xD1, - 0x8E, 0xA1, 0xF1, 0x69, 0xC6, 0x38, 0xBD, 0xCA, 0x0C, 0x1A, 0x6E, 0x57, 0x2C, 0x3D, 0x3E, 0x9E, - 0x9A, 0x72, 0xD9, 0x8E, 0xA9, 0xEF, 0x8F, 0xBD, 0x75, 0x4F, 0x8E, 0x41, 0x34, 0x38, 0xBB, 0x28, - 0x19, 0x83, 0xD0, 0x14, 0x64, 0xF7, 0x32, 0xCE, 0xD2, 0xCE, 0x99, 0xE6, 0x18, 0x27, 0xF1, 0xD1, - 0x51, 0xDB, 0x07, 0x1B, 0x4F, 0x0B, 0xA9, 0xF8, 0x0E, 0xF7, 0x04, 0xFF, 0x34, 0x99, 0x2D, 0x4F, - 0x04, 0xBB, 0x94, 0x89, 0x31, 0xB4, 0xDA, 0x79, 0x67, 0x90, 0x2D, 0xA3, 0xAC, 0x84, 0xCF, 0x97, - 0xF8, 0x82, 0xC5, 0xA1, 0xE4, 0xEC, 0x3E, 0xC7, 0x98, 0xFD, 0xB4, 0xF9, 0xBB, 0x33, 0x5B, 0xC1, - 0x88, 0xFE, 0xE6, 0xB9, 0xF2, 0xEC, 0xA6, 0x71, 0xDE, 0x39, 0x24, 0xCF, 0x5E, 0x9E, 0x14, 0xE0, - 0x26, 0x77, 0x24, 0x02, 0xCD, 0x57, 0x5D, 0xE4, 0xA6, 0xCA, 0xA3, 0x2F, 0x98, 0xCA, 0x1D, 0x94, - 0xF5, 0x77, 0x51, 0x1A, 0xD4, 0xF8, 0x62, 0x06, 0x0D, 0x7B, 0xF2, 0xFE, 0xF4, 0xD9, 0xDB, 0xEA, - 0xB9, 0x16, 0x63, 0x09, 0x88, 0x17, 0x73, 0x88, 0x31, 0xC7, 0xEA, 0xD1, 0x9B, 0xEF, 0x4F, 0x4F, - 0x7F, 0x7D, 0xFD, 0xF6, 0xE9, 0xEE, 0x21, 0x1C, 0x87, 0x9C, 0xBE, 0xFF, 0xE1, 0xD5, 0x8B, 0x77, - 0xD3, 0x6B, 0x3C, 0x33, 0x84, 0xBB, 0x02, 0x5F, 0x78, 0xC7, 0xF9, 0x16, 0x0E, 0xB7, 0x61, 0xE5, - 0x70, 0x7B, 0x74, 0x04, 0xA0, 0xFE, 0x0D, 0x34, 0xE5, 0xCE, 0x5A, 0xB7, 0x80, 0x5B, 0x88, 0xC5, - 0x95, 0x13, 0x66, 0x4C, 0xD1, 0x33, 0xCC, 0x4F, 0x98, 0x97, 0x61, 0x1C, 0x24, 0x97, 0x3B, 0x62, - 0xC5, 0xFE, 0x47, 0x6A, 0x93, 0x93, 0x9E, 0x7C, 0x03, 0xE6, 0xA4, 0x27, 0x5F, 0xA4, 0xA3, 0xFF, - 0x97, 0xF5, 0xFF, 0x01, 0xF6, 0xC5, 0xA7, 0x87, 0x9E, 0x55, 0x00, 0x00 +#define PAGE_NOFILES_SIZE 6535 +const char PAGE_NOFILES[6535] PROGMEM = { + 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x8B, 0x72, 0xDB, 0x46, + 0x92, 0xBF, 0x02, 0x23, 0xB5, 0x26, 0x71, 0x04, 0x48, 0xBC, 0xF8, 0x16, 0xA5, 0x4B, 0x62, 0x7B, + 0xA3, 0x2B, 0x3B, 0x76, 0x49, 0xF2, 0xF9, 0xB6, 0x1C, 0x97, 0x0A, 0x24, 0x86, 0x22, 0xCE, 0x20, + 0x40, 0x01, 0x43, 0x51, 0xB2, 0xCC, 0xFB, 0xF6, 0xEB, 0xEE, 0x19, 0xBC, 0xF8, 0xD2, 0x63, 0xBD, + 0xB7, 0xB9, 0xAA, 0x8D, 0x22, 0x02, 0x9C, 0x99, 0xEE, 0xE9, 0xE9, 0x77, 0x37, 0x20, 0x1F, 0xCD, + 0xF8, 0x3C, 0x3C, 0x3E, 0x9A, 0x31, 0xCF, 0x3F, 0x3E, 0x4A, 0xF9, 0x5D, 0xC8, 0x8E, 0x71, 0xE4, + 0x7E, 0x1A, 0x47, 0xDC, 0x98, 0x7A, 0xF3, 0x20, 0xBC, 0x1B, 0xA4, 0x5E, 0x94, 0x1A, 0x29, 0x4B, + 0x82, 0xE9, 0xD0, 0x98, 0xA7, 0x06, 0x67, 0xB7, 0xDC, 0x48, 0x83, 0x6F, 0xCC, 0xF0, 0xFC, 0xFF, + 0x5E, 0xA6, 0x7C, 0x60, 0x99, 0xE6, 0x5F, 0x86, 0xC6, 0x8A, 0x8D, 0xBF, 0x06, 0x7C, 0xCF, 0x2C, + 0xA1, 0xC3, 0x51, 0xF8, 0xBA, 0xB8, 0x5D, 0x8F, 0x63, 0xFF, 0xAE, 0xB2, 0x85, 0xFA, 0x1B, 0x0B, + 0x6F, 0x18, 0x0F, 0x26, 0x9E, 0xF2, 0x3B, 0x5B, 0x32, 0x55, 0xCF, 0xBF, 0xEB, 0x3F, 0x27, 0x81, + 0x17, 0xEA, 0x25, 0x1A, 0x4A, 0xB8, 0xDC, 0xC5, 0xED, 0x30, 0x0C, 0x22, 0x66, 0xCC, 0x58, 0x70, + 0x35, 0x83, 0xBD, 0x9A, 0xAE, 0xDD, 0x6B, 0x77, 0x2D, 0xD7, 0x19, 0x4E, 0xE2, 0x30, 0x4E, 0x06, + 0x3F, 0x39, 0x8E, 0x33, 0x1C, 0x7B, 0x93, 0xAF, 0x57, 0x49, 0xBC, 0x8C, 0x7C, 0x43, 0x8E, 0x4E, + 0xA7, 0xD3, 0x35, 0xF7, 0xC6, 0x21, 0xBB, 0x1F, 0xC7, 0x89, 0xCF, 0x92, 0x81, 0x39, 0x14, 0x37, + 0x46, 0xBA, 0xF0, 0x26, 0x41, 0x74, 0x05, 0x03, 0x73, 0xEF, 0xD6, 0x58, 0x05, 0x3E, 0x9F, 0xD1, + 0x09, 0xD6, 0xDC, 0xBF, 0x5F, 0xCD, 0x02, 0xCE, 0x68, 0x05, 0x1B, 0x44, 0xF1, 0x2A, 0xF1, 0x16, + 0xC3, 0x85, 0xE7, 0xFB, 0xB8, 0xDC, 0x9E, 0xCF, 0xD7, 0x7C, 0x76, 0x4F, 0x87, 0xF7, 0xC2, 0xE0, + 0x2A, 0x1A, 0x84, 0x6C, 0xCA, 0xD7, 0x4D, 0xDA, 0xE4, 0x98, 0xE3, 0x79, 0x8F, 0x79, 0x72, 0xCC, + 0x7D, 0x7D, 0x6B, 0x68, 0x96, 0x0F, 0x91, 0x10, 0xAA, 0xAB, 0xF2, 0xA1, 0xD9, 0x7D, 0xB6, 0x55, + 0x6F, 0xFF, 0x99, 0x6F, 0x58, 0x82, 0x2C, 0x0B, 0x25, 0x09, 0x3C, 0x5E, 0x64, 0xC7, 0x82, 0xDB, + 0x81, 0xB5, 0xB8, 0x55, 0xD2, 0x38, 0x0C, 0x7C, 0xE5, 0x27, 0xDF, 0xF7, 0x25, 0x6D, 0x46, 0xCA, + 0x93, 0x60, 0xC1, 0xFC, 0x9C, 0xA0, 0x41, 0xC4, 0x67, 0x46, 0x3C, 0x35, 0xF8, 0xDD, 0x82, 0xD5, + 0x63, 0xDF, 0xD7, 0xEE, 0x77, 0xB0, 0xAF, 0x8F, 0x3F, 0x6B, 0xEF, 0x7E, 0x11, 0xA7, 0x01, 0x0F, + 0xE2, 0x68, 0x90, 0xB0, 0xD0, 0xE3, 0xC1, 0x0D, 0x1B, 0xFA, 0x41, 0xBA, 0x08, 0xBD, 0xBB, 0xC1, + 0x38, 0x8C, 0x27, 0x5F, 0x73, 0xF6, 0xA0, 0xD0, 0x15, 0xAB, 0x0D, 0x94, 0x13, 0x87, 0x7C, 0x36, + 0x89, 0x13, 0x8F, 0x00, 0xA3, 0x38, 0x62, 0x99, 0xAC, 0x26, 0x93, 0xC9, 0xBA, 0xE9, 0x4D, 0x10, + 0xCF, 0x7D, 0x21, 0xA8, 0x1D, 0xE2, 0x33, 0x4D, 0x33, 0x5B, 0xA8, 0x78, 0xBA, 0x37, 0x98, 0xC6, + 0x93, 0x65, 0x0A, 0xD7, 0x59, 0x0C, 0x1C, 0x28, 0x81, 0xAE, 0x9B, 0x0B, 0x2F, 0x62, 0xE1, 0xFD, + 0xDC, 0x4B, 0xAE, 0x82, 0xC8, 0x18, 0xC7, 0x9C, 0xC7, 0xF3, 0x81, 0x0D, 0xC4, 0xEC, 0xD6, 0x09, + 0xC9, 0xAD, 0x0D, 0x4E, 0x65, 0x3C, 0x4C, 0x3C, 0x3F, 0x58, 0xA6, 0x03, 0xD4, 0xB9, 0x4C, 0xD9, + 0xC7, 0xF1, 0xAD, 0x91, 0xCE, 0x3C, 0x3F, 0x5E, 0x0D, 0x4C, 0x05, 0xA1, 0xF0, 0x37, 0xB9, 0x1A, + 0x7B, 0x75, 0x53, 0xC7, 0x9F, 0xA6, 0xD9, 0xD6, 0x86, 0x8F, 0x59, 0x24, 0x29, 0x35, 0xC8, 0x30, + 0x72, 0xAE, 0x01, 0xC3, 0xB2, 0x09, 0x54, 0x04, 0x18, 0xBB, 0xDF, 0xE6, 0xE8, 0x61, 0x45, 0x6F, + 0xE3, 0x4F, 0x76, 0x02, 0x39, 0x58, 0x3A, 0x13, 0xE8, 0x85, 0x91, 0xA0, 0x1A, 0x65, 0xA7, 0x73, + 0x90, 0x37, 0xC5, 0x1C, 0x6A, 0xF1, 0x8E, 0x29, 0xC9, 0xC9, 0x4D, 0x8D, 0x9A, 0xC6, 0xC9, 0x1C, + 0x36, 0x89, 0x78, 0x12, 0x87, 0xF7, 0x55, 0x4D, 0x10, 0x96, 0xE4, 0x2D, 0x79, 0x3C, 0x94, 0x7A, + 0xEB, 0x20, 0x23, 0xB3, 0xE3, 0x74, 0xF0, 0x34, 0x36, 0x0C, 0x3C, 0xC9, 0xB8, 0xDB, 0xED, 0xF6, + 0x3E, 0x41, 0x16, 0xA3, 0xC1, 0xDC, 0xBB, 0x62, 0x42, 0xCF, 0xB6, 0xC5, 0x0B, 0x2A, 0xF7, 0x38, + 0xF1, 0x06, 0x51, 0xCA, 0xB8, 0xB2, 0x47, 0x7E, 0xDD, 0xAA, 0x94, 0x1F, 0x5C, 0x6B, 0xC4, 0x06, + 0x4F, 0xC0, 0xA1, 0x09, 0xDB, 0x29, 0x0B, 0x47, 0x61, 0x5E, 0xCA, 0x0C, 0xD0, 0xD5, 0x78, 0xC9, + 0x95, 0xA6, 0xD5, 0x4E, 0xF5, 0x02, 0xEF, 0xD6, 0x5C, 0x95, 0xE1, 0xC2, 0x0A, 0xEE, 0xAB, 0xA2, + 0xEE, 0x74, 0xBC, 0x29, 0xEB, 0x0F, 0x01, 0x02, 0x39, 0x09, 0x5E, 0xED, 0x19, 0x47, 0xD3, 0x4D, + 0x98, 0xEC, 0x65, 0x13, 0x96, 0x69, 0xEB, 0x56, 0xB7, 0xAD, 0xDB, 0x8E, 0xA3, 0x37, 0x3B, 0x9A, + 0xA4, 0x01, 0x79, 0xBD, 0xD8, 0xB0, 0x33, 0xA1, 0xBE, 0x63, 0x1E, 0xE5, 0xAA, 0x10, 0x44, 0x24, + 0x4F, 0xA1, 0x11, 0xD5, 0xC5, 0xA6, 0x90, 0xFC, 0x4A, 0x88, 0xDA, 0x35, 0xCD, 0x61, 0xC9, 0x97, + 0x4E, 0x58, 0xC4, 0x59, 0xB2, 0xE9, 0xDE, 0xE6, 0x81, 0xEF, 0x87, 0x4C, 0x84, 0xA4, 0x78, 0x39, + 0x99, 0x19, 0xE8, 0x11, 0x80, 0x9F, 0x73, 0x2F, 0x0A, 0x16, 0xCB, 0x90, 0xFC, 0xCB, 0x70, 0xFF, + 0xCC, 0x64, 0x99, 0xA4, 0xC0, 0xA2, 0x45, 0x1C, 0x10, 0xF2, 0x47, 0x6A, 0x0C, 0xC9, 0x6D, 0xE1, + 0x25, 0x40, 0xD1, 0xF0, 0x40, 0x3C, 0x78, 0xA2, 0x3E, 0xEF, 0x50, 0xC1, 0x79, 0xFC, 0xCD, 0x58, + 0xA6, 0x18, 0x91, 0x58, 0xC8, 0x26, 0x5C, 0x90, 0x83, 0x67, 0xDD, 0x1A, 0xDC, 0x1C, 0x20, 0x9E, + 0x1B, 0x8B, 0x04, 0x8E, 0x91, 0xDC, 0x1D, 0x76, 0xA4, 0x8E, 0xD3, 0xF5, 0xC6, 0xDD, 0x0D, 0xF7, + 0x60, 0xB3, 0x8E, 0xEF, 0xB9, 0x15, 0x2C, 0xD2, 0xD9, 0xEA, 0x95, 0x31, 0xE1, 0x75, 0x2B, 0x43, + 0xE4, 0x80, 0x2B, 0x43, 0x83, 0x1D, 0x90, 0x83, 0x6D, 0xC8, 0x2D, 0xD7, 0xBD, 0x83, 0x58, 0xBB, + 0xD7, 0x31, 0xFB, 0xE6, 0x06, 0xB1, 0x96, 0x6D, 0x8F, 0x5D, 0x93, 0x88, 0x0D, 0xE6, 0x57, 0xF7, + 0x52, 0xA8, 0x33, 0x2F, 0xDA, 0x74, 0xDB, 0x9D, 0xDC, 0x7B, 0x95, 0xED, 0x9F, 0x82, 0x84, 0x80, + 0x95, 0x24, 0xEC, 0xF0, 0x27, 0x26, 0xFE, 0x6C, 0xEC, 0xDB, 0x99, 0xE0, 0xCF, 0xB3, 0xCD, 0x09, + 0xF5, 0xE3, 0x2A, 0x61, 0x77, 0x4F, 0x71, 0x1B, 0x15, 0x40, 0xA2, 0x9A, 0xC8, 0x3C, 0x7C, 0x6C, + 0xC7, 0x94, 0x46, 0x98, 0xAD, 0x7D, 0xE8, 0x98, 0xFF, 0xCC, 0x13, 0x85, 0x40, 0x14, 0x58, 0xC8, + 0x57, 0xBD, 0xB8, 0x1D, 0x54, 0xF3, 0x01, 0x8A, 0xFC, 0xC5, 0x64, 0x45, 0x6B, 0x70, 0x2E, 0x88, + 0x16, 0x4B, 0xFE, 0x19, 0x73, 0x97, 0xD1, 0x34, 0x08, 0xD9, 0x97, 0xC1, 0x20, 0x3B, 0x0F, 0x7E, + 0x35, 0x96, 0x8B, 0x30, 0xF6, 0x7C, 0x63, 0xBC, 0x04, 0x9F, 0xF3, 0x2F, 0xB7, 0xF4, 0x7F, 0xEB, + 0x96, 0x86, 0x07, 0x8D, 0xBB, 0x3D, 0x9E, 0x98, 0x3E, 0xDB, 0x30, 0x32, 0xB7, 0x33, 0xEE, 0xF9, + 0xDE, 0x93, 0x84, 0x2A, 0xA3, 0xE0, 0xBF, 0x44, 0xFB, 0xE7, 0x11, 0xAD, 0x63, 0x8D, 0x4D, 0x7F, + 0x33, 0x07, 0xB5, 0xC6, 0x1D, 0xBF, 0xD7, 0x7E, 0x9A, 0x68, 0x85, 0xB5, 0xFF, 0x4B, 0xB4, 0x7F, + 0x72, 0xD1, 0xDA, 0x9D, 0xBE, 0x37, 0x9E, 0x64, 0x85, 0xCB, 0x34, 0x8E, 0x81, 0x23, 0x07, 0xEA, + 0x16, 0xAB, 0x6B, 0xF6, 0x76, 0xE1, 0x7E, 0x44, 0xE9, 0xB2, 0x55, 0x80, 0xFC, 0x13, 0xB6, 0x9C, + 0xC7, 0xBE, 0x57, 0x14, 0x3B, 0xC4, 0xB2, 0xBC, 0x2A, 0x9E, 0x06, 0xB7, 0xCC, 0x1F, 0x7E, 0x83, + 0x9C, 0xDD, 0x67, 0xB7, 0xD8, 0x46, 0x00, 0x4D, 0x94, 0x54, 0x09, 0x5C, 0x26, 0x96, 0xA2, 0x58, + 0x63, 0x81, 0xCA, 0xE2, 0x80, 0x39, 0x2C, 0x3A, 0x0E, 0x59, 0x9D, 0x44, 0xF7, 0xA8, 0xF9, 0xD3, + 0x10, 0x42, 0x2A, 0x55, 0x50, 0x3B, 0x2B, 0xE2, 0xED, 0xD1, 0x72, 0xB8, 0x75, 0x35, 0x49, 0x2A, + 0x95, 0x0B, 0xA0, 0x70, 0xF7, 0x7B, 0xAA, 0x3C, 0xCB, 0xAC, 0x56, 0x80, 0x95, 0xEA, 0xB0, 0x3C, + 0x29, 0x6C, 0x6D, 0x2F, 0xAC, 0x9C, 0xDE, 0x07, 0x3E, 0xB0, 0x0B, 0x3E, 0xE6, 0x59, 0x68, 0xA9, + 0x4E, 0xC6, 0x7A, 0xC3, 0x42, 0xC5, 0x37, 0x2B, 0x59, 0x83, 0xAD, 0x0D, 0xB7, 0x7B, 0x0E, 0xC2, + 0xF8, 0x05, 0x6B, 0x32, 0xA1, 0xEF, 0x60, 0xC7, 0x4F, 0x53, 0x86, 0x3F, 0x19, 0x1F, 0xB0, 0xA2, + 0x2E, 0x69, 0x89, 0x2D, 0x37, 0xCC, 0x94, 0x84, 0xB2, 0xA1, 0x9D, 0x4A, 0x62, 0xE3, 0xCF, 0xBE, + 0x22, 0xF9, 0x89, 0xEC, 0xAB, 0xD4, 0xA2, 0x53, 0xFC, 0xC9, 0xC8, 0xAB, 0x76, 0x02, 0x4C, 0x49, + 0x5D, 0x36, 0xBB, 0xA9, 0xE2, 0x9D, 0x8C, 0x7A, 0xA9, 0x34, 0x6E, 0xB3, 0xCD, 0xE6, 0x4F, 0x3F, + 0xCA, 0x36, 0x39, 0x7F, 0xA7, 0xB4, 0xD7, 0xCD, 0x59, 0xE0, 0xB3, 0xCB, 0x80, 0x57, 0x2C, 0x64, + 0xFD, 0xEF, 0x73, 0xE6, 0x07, 0x9E, 0x52, 0x9F, 0x83, 0xCF, 0x16, 0x1A, 0xDF, 0xED, 0x80, 0xC4, + 0xB5, 0xFB, 0x0D, 0x1D, 0x15, 0x73, 0xED, 0x1E, 0x62, 0xCA, 0x80, 0xD2, 0x49, 0xC2, 0x58, 0xA4, + 0x40, 0xAA, 0x0B, 0xF0, 0x79, 0x8F, 0xAE, 0xDB, 0xE9, 0xEE, 0x85, 0xA7, 0xFE, 0xDD, 0xFA, 0xA8, + 0x25, 0xDA, 0x9B, 0x47, 0x3C, 0xE0, 0x70, 0x79, 0x7D, 0xFE, 0xC1, 0x79, 0xA5, 0xF0, 0x38, 0x0E, + 0x95, 0x05, 0x78, 0xE8, 0xA3, 0x96, 0x18, 0x3E, 0x6A, 0x89, 0x56, 0x28, 0x75, 0xC3, 0x8E, 0xFC, + 0xE0, 0x46, 0x99, 0x84, 0x5E, 0x9A, 0x8E, 0x54, 0x72, 0x2D, 0x2A, 0x40, 0x63, 0xD7, 0x4C, 0x21, + 0xC4, 0x23, 0x15, 0x31, 0xE3, 0x58, 0x02, 0xBF, 0x00, 0xE4, 0x65, 0x8B, 0x45, 0x45, 0xA1, 0x2A, + 0xB3, 0x84, 0x4D, 0x47, 0xEA, 0x8C, 0xF3, 0x45, 0x3A, 0x68, 0xB5, 0xAE, 0x02, 0x3E, 0x5B, 0x8E, + 0x9B, 0x93, 0x78, 0xDE, 0x0A, 0x97, 0x13, 0x43, 0x7C, 0x6D, 0x11, 0x21, 0x2D, 0x0E, 0x87, 0x6A, + 0xD9, 0x4D, 0x4B, 0x55, 0x38, 0x68, 0x33, 0xE3, 0x23, 0xF5, 0x12, 0xD2, 0xDC, 0xE8, 0x2B, 0x60, + 0x4F, 0x6F, 0xAE, 0xF2, 0xFD, 0xD8, 0x1C, 0x90, 0x92, 0x88, 0xE5, 0x97, 0x9B, 0x80, 0xAD, 0x7E, + 0x89, 0x6F, 0x47, 0x2A, 0xA6, 0xD2, 0x96, 0x63, 0xC2, 0x87, 0x6D, 0x9A, 0x00, 0x75, 0x25, 0xA2, + 0x0B, 0x56, 0xE7, 0x23, 0x95, 0x6E, 0xC1, 0x5A, 0x58, 0xBD, 0x6D, 0xEA, 0xB8, 0x40, 0x03, 0x36, + 0x7A, 0x21, 0xAB, 0x5B, 0xBA, 0x62, 0x58, 0x1A, 0x2C, 0x5F, 0x78, 0x7C, 0xA6, 0xF8, 0x23, 0xF5, + 0x5D, 0x07, 0x51, 0x58, 0x5D, 0xF7, 0xDA, 0x71, 0x00, 0x63, 0xD7, 0x55, 0x8C, 0x76, 0xE8, 0xF4, + 0x60, 0x55, 0xDB, 0x0E, 0xDB, 0x70, 0xB9, 0x76, 0xFB, 0xF0, 0xE9, 0x2A, 0x7D, 0x98, 0x71, 0xFA, + 0x38, 0x64, 0x87, 0x96, 0xE3, 0x2A, 0x3D, 0xF3, 0xBA, 0x63, 0x29, 0x86, 0xDB, 0x53, 0x2C, 0x13, + 0xA6, 0x2C, 0xB3, 0x1D, 0x1A, 0x3D, 0x13, 0x6E, 0x1C, 0x37, 0x74, 0x00, 0xC9, 0xB5, 0x0D, 0x4B, + 0x5D, 0x57, 0x71, 0x00, 0xBC, 0xEF, 0x84, 0xB0, 0xB4, 0x13, 0x02, 0x4E, 0x40, 0xD2, 0xBB, 0xC6, + 0x19, 0x47, 0x81, 0xCF, 0xAE, 0x73, 0x0D, 0x20, 0x0E, 0x6E, 0x0A, 0x5F, 0xDC, 0xD0, 0x90, 0x2B, + 0xE0, 0x06, 0xD6, 0x5F, 0xC3, 0x57, 0x58, 0xD9, 0xC7, 0x8D, 0x09, 0x89, 0x81, 0x88, 0x43, 0xB9, + 0xCB, 0x35, 0xEE, 0x6D, 0x20, 0x0D, 0x05, 0x01, 0x44, 0x98, 0x15, 0x22, 0x36, 0xE7, 0x1A, 0x77, + 0x37, 0x90, 0x0A, 0x49, 0xBA, 0x41, 0xB4, 0x1B, 0xE2, 0x70, 0x96, 0x72, 0x8D, 0x34, 0x88, 0x7D, + 0x91, 0x5C, 0x83, 0xCE, 0x8F, 0x5F, 0xDA, 0xB4, 0x06, 0x96, 0x20, 0x84, 0x7D, 0x8D, 0x04, 0xC0, + 0xF9, 0x11, 0x8B, 0x40, 0xE2, 0x88, 0x7D, 0x8C, 0x9E, 0x75, 0x6D, 0x74, 0x4C, 0x05, 0xA9, 0x40, + 0x0A, 0x90, 0x80, 0x1E, 0xCA, 0xC4, 0x45, 0x3A, 0x01, 0x21, 0x6C, 0xED, 0x22, 0x21, 0x3D, 0x05, + 0x49, 0xB7, 0x95, 0x4E, 0x48, 0xFB, 0xC2, 0xF9, 0x8D, 0x8E, 0xE2, 0xC2, 0x39, 0x3B, 0xC0, 0x6E, + 0x38, 0x3F, 0x6C, 0x0C, 0x77, 0xC0, 0x22, 0x9A, 0x0C, 0x61, 0xE1, 0xB5, 0xE5, 0x20, 0x5A, 0x01, + 0xE9, 0x28, 0x82, 0xB3, 0x78, 0x64, 0xB7, 0xAB, 0xC0, 0x81, 0x61, 0x27, 0xDA, 0xCD, 0x02, 0x48, + 0x98, 0x09, 0x91, 0x4A, 0xD8, 0x09, 0xF6, 0x13, 0x34, 0xC2, 0x6C, 0x48, 0x27, 0x80, 0x61, 0x64, + 0x33, 0x9E, 0xE9, 0x1B, 0x09, 0xBA, 0x07, 0x0C, 0xBD, 0x36, 0x7A, 0x7D, 0x3C, 0x29, 0xB1, 0xBA, + 0xE3, 0x70, 0xF8, 0x25, 0x86, 0x34, 0xDB, 0xBC, 0xB8, 0xCB, 0x26, 0xF1, 0x0A, 0x17, 0x98, 0x10, + 0xE3, 0x46, 0x71, 0x27, 0xA6, 0xBE, 0x81, 0x2E, 0xB5, 0x50, 0x99, 0xE0, 0x72, 0x05, 0xBF, 0xA0, + 0xBC, 0xC7, 0xCA, 0x11, 0xA4, 0x35, 0x51, 0x6E, 0x1B, 0x59, 0xF5, 0xA6, 0x1E, 0xBF, 0x09, 0x92, + 0xF9, 0x0A, 0xD2, 0x1F, 0x58, 0x06, 0x0B, 0x60, 0xB5, 0x07, 0xBF, 0x68, 0x48, 0x8F, 0x30, 0xA6, + 0xD5, 0x6A, 0xD5, 0x3C, 0x60, 0x50, 0xC6, 0xA7, 0xD7, 0xBF, 0x7C, 0x3C, 0xFD, 0x93, 0x99, 0x95, + 0xD9, 0x77, 0xAF, 0x7B, 0x36, 0x62, 0xEC, 0x98, 0x4D, 0xD4, 0x3E, 0x1B, 0x59, 0xEB, 0x02, 0xF3, + 0xDB, 0x7D, 0x6E, 0x59, 0x1D, 0x1C, 0xEB, 0xE1, 0x58, 0xDF, 0xC5, 0xDB, 0x3E, 0x48, 0xA0, 0x47, + 0x17, 0xD7, 0xCE, 0xA7, 0x50, 0xF5, 0xDA, 0x5D, 0x62, 0x78, 0x7E, 0x87, 0x8A, 0x4B, 0x93, 0x46, + 0xA7, 0x27, 0x01, 0x8D, 0x1C, 0x85, 0x51, 0x46, 0x6C, 0x64, 0xBB, 0x81, 0xB8, 0xFA, 0x39, 0x09, + 0xF2, 0x8B, 0x9D, 0xAF, 0xA0, 0x05, 0x04, 0x26, 0xA0, 0x08, 0x59, 0x3F, 0xC3, 0xDF, 0x17, 0x5B, + 0x66, 0x08, 0x15, 0x22, 0x22, 0xBB, 0x12, 0xA9, 0x34, 0x05, 0xB4, 0xF7, 0xDB, 0x0A, 0xCF, 0x60, + 0x4B, 0xF8, 0xE4, 0x16, 0x82, 0x0B, 0xB8, 0xEB, 0xB7, 0x77, 0xBD, 0x5E, 0x0F, 0xE6, 0xFA, 0x64, + 0xE2, 0x68, 0xE5, 0x16, 0xE8, 0xAB, 0xCD, 0x89, 0x40, 0xF2, 0x1C, 0xED, 0x2E, 0xEA, 0x33, 0x10, + 0xD5, 0x47, 0x0F, 0x61, 0xD9, 0x68, 0x6F, 0xC0, 0x1B, 0x1B, 0x16, 0xE1, 0x07, 0x7E, 0x13, 0x37, + 0x78, 0x85, 0x19, 0xB8, 0xBD, 0xC6, 0x4D, 0x14, 0x1B, 0x14, 0xD4, 0x02, 0xB6, 0x2B, 0x56, 0x5F, + 0x71, 0x69, 0x3B, 0xA0, 0xB9, 0x8B, 0x47, 0x87, 0x15, 0x46, 0x17, 0x90, 0x75, 0xD0, 0xA1, 0x75, + 0x10, 0x6B, 0x0F, 0x9C, 0x88, 0x85, 0x3A, 0xDF, 0x51, 0x84, 0xAB, 0x31, 0x51, 0x16, 0x70, 0x05, + 0x12, 0xAF, 0x6D, 0xF4, 0x44, 0x60, 0xA8, 0x5D, 0x70, 0x0A, 0x16, 0x47, 0xC0, 0x9E, 0xCD, 0xFB, + 0x42, 0x30, 0x16, 0x9C, 0x0E, 0x9D, 0x47, 0x0F, 0x0F, 0xE7, 0x38, 0xC4, 0x58, 0xDC, 0x4C, 0x7E, + 0xB1, 0x5D, 0x9A, 0xA7, 0x69, 0x82, 0xE8, 0xA1, 0xC5, 0x74, 0x4D, 0x71, 0x05, 0x8C, 0x5D, 0xD8, + 0xE8, 0xDA, 0x02, 0x4B, 0x06, 0x96, 0x29, 0x6E, 0xC6, 0x57, 0x17, 0x66, 0xAF, 0x8D, 0x3E, 0xF9, + 0x63, 0x24, 0x0A, 0x4E, 0xD2, 0xEB, 0x7F, 0x7B, 0xE7, 0x82, 0x2B, 0xE8, 0xDA, 0x5D, 0xF0, 0x2A, + 0xE8, 0x4D, 0xA4, 0x57, 0xA4, 0x5F, 0x92, 0xA8, 0x83, 0xBB, 0x90, 0xF0, 0x09, 0xDE, 0x01, 0x50, + 0x94, 0x04, 0x1E, 0xCB, 0x02, 0x4F, 0x82, 0x47, 0x73, 0x14, 0x87, 0xF4, 0xC4, 0xB2, 0xB8, 0x83, + 0x42, 0xB1, 0xBA, 0x21, 0xE0, 0x02, 0x7F, 0x02, 0x9B, 0x22, 0xFF, 0x91, 0x44, 0x24, 0x1C, 0xA8, + 0xE8, 0xC8, 0x5B, 0xF2, 0x9E, 0xE8, 0x40, 0xC1, 0x59, 0x00, 0x39, 0xB0, 0x29, 0x51, 0x6B, 0xD8, + 0xC0, 0x6A, 0x93, 0x1B, 0x8E, 0x8D, 0xFC, 0x7C, 0x92, 0xF1, 0x9F, 0x62, 0xA5, 0x34, 0x85, 0x72, + 0xE7, 0x39, 0xD6, 0x7F, 0x28, 0x94, 0xAE, 0x82, 0xAF, 0xC1, 0x9F, 0xC3, 0xDE, 0xAD, 0x6E, 0xF7, + 0x1A, 0x65, 0x67, 0x82, 0xD6, 0x01, 0xEB, 0xDC, 0x36, 0xAA, 0x47, 0xCF, 0x15, 0xCA, 0x07, 0xCE, + 0xD4, 0x76, 0x48, 0xE9, 0x50, 0x5E, 0x6D, 0x61, 0x8C, 0x2E, 0x37, 0x4A, 0xB7, 0xA5, 0x05, 0x46, + 0x09, 0xCE, 0x28, 0xB0, 0xD1, 0xAD, 0xB8, 0x13, 0x0B, 0x68, 0x1E, 0xE1, 0x24, 0x18, 0x61, 0x43, + 0x64, 0xF9, 0x4D, 0x31, 0x59, 0x40, 0x64, 0x58, 0xBE, 0xBD, 0x6B, 0x83, 0xED, 0xF4, 0x5D, 0x88, + 0x64, 0x36, 0x05, 0x05, 0x30, 0x20, 0xA3, 0x2D, 0xFD, 0xBC, 0x61, 0xA3, 0x39, 0x80, 0x92, 0x4B, + 0x1D, 0x23, 0xFD, 0x12, 0x21, 0x43, 0x7A, 0x18, 0xD4, 0x3F, 0x34, 0x4F, 0xB0, 0x54, 0x9B, 0x2E, + 0x33, 0xCB, 0xB1, 0xAE, 0x1D, 0xC4, 0xA3, 0x80, 0x82, 0x59, 0xD6, 0x75, 0x07, 0x27, 0x6C, 0x32, + 0xFB, 0x9E, 0x20, 0xA9, 0x77, 0x6D, 0x23, 0xCF, 0x1D, 0xC2, 0x65, 0xE1, 0x0E, 0x16, 0xDD, 0xDA, + 0xB0, 0x05, 0xE1, 0x82, 0x8D, 0xBB, 0x98, 0x13, 0xC0, 0x59, 0x51, 0x77, 0x21, 0x5A, 0x5A, 0x14, + 0xAE, 0xC8, 0xCA, 0x90, 0x49, 0xA4, 0xF5, 0xE4, 0x07, 0x71, 0x53, 0x42, 0x61, 0xA0, 0xB1, 0x5A, + 0x5D, 0x64, 0x8A, 0xB0, 0x45, 0x74, 0x71, 0x64, 0x1C, 0x30, 0x07, 0xF4, 0xBB, 0x68, 0x35, 0x40, + 0xB0, 0x42, 0x83, 0x48, 0x3D, 0x27, 0xA2, 0x0C, 0x58, 0x3E, 0xB3, 0x20, 0x0B, 0x11, 0x32, 0x53, + 0x7A, 0xDC, 0x21, 0x4A, 0x1D, 0x74, 0x18, 0x6E, 0x8F, 0xDB, 0xB8, 0x57, 0x17, 0x79, 0x08, 0xCE, + 0xDC, 0x04, 0xF2, 0xD0, 0x1B, 0x80, 0x80, 0x7B, 0x8E, 0xC2, 0xC9, 0x4B, 0x80, 0x0F, 0x04, 0x0E, + 0xE1, 0x2A, 0x87, 0xD8, 0xDF, 0x01, 0x83, 0xEA, 0xE1, 0x08, 0xFA, 0x1E, 0x88, 0xB9, 0x5D, 0x40, + 0x63, 0x9A, 0x33, 0xA0, 0xC6, 0x04, 0x0A, 0x4C, 0x3A, 0x48, 0x37, 0xA7, 0x5F, 0xB8, 0x25, 0xF8, + 0xBC, 0xA1, 0x05, 0x74, 0x1A, 0x25, 0x1F, 0xE4, 0xF9, 0xCA, 0x19, 0xCE, 0x12, 0x34, 0x0D, 0xE1, + 0x5C, 0x97, 0xCC, 0x18, 0x20, 0x05, 0xA0, 0x65, 0xD2, 0x42, 0x1A, 0x92, 0xFE, 0x0E, 0x7E, 0x9F, + 0x64, 0x9F, 0xBF, 0xB1, 0x70, 0xB1, 0xC3, 0x34, 0x15, 0xCA, 0xA2, 0x47, 0x6A, 0x91, 0x5A, 0xAB, + 0x5B, 0x73, 0xA5, 0x6E, 0x0B, 0x55, 0x04, 0x68, 0x7D, 0xB8, 0x49, 0x00, 0x96, 0xF1, 0xE6, 0xD3, + 0x7F, 0xBE, 0x3E, 0x3B, 0x3F, 0x7D, 0xFF, 0xBB, 0xBA, 0x63, 0xCF, 0x7C, 0x3F, 0xC4, 0xD7, 0xC2, + 0xB4, 0xBA, 0x25, 0x1E, 0x84, 0x1F, 0xB5, 0x20, 0x15, 0xDF, 0x99, 0x8F, 0x8B, 0x76, 0xCE, 0xF1, + 0xD1, 0xCC, 0x26, 0xF4, 0xEF, 0xCE, 0xFF, 0x8A, 0x68, 0x66, 0x36, 0x7C, 0x64, 0x53, 0xBB, 0x61, + 0x15, 0x59, 0x99, 0xA8, 0x82, 0xAC, 0xD3, 0xB7, 0xAF, 0xCF, 0xFF, 0x76, 0x7E, 0xF1, 0xFA, 0x9D, + 0xBA, 0xBD, 0x34, 0x7B, 0xFA, 0x0A, 0x19, 0x0B, 0x8C, 0xCE, 0x94, 0x37, 0x41, 0xC8, 0xD2, 0xBB, + 0x94, 0xB3, 0xF9, 0x1E, 0xDC, 0x54, 0xBD, 0x01, 0x22, 0x6A, 0x6F, 0x29, 0xD4, 0xDE, 0x52, 0xB1, + 0xA1, 0x25, 0xF6, 0xA2, 0xD6, 0x96, 0xE8, 0xB1, 0xA8, 0x4A, 0xE4, 0xCD, 0x61, 0x72, 0x7E, 0x87, + 0x83, 0xE9, 0xE7, 0x2F, 0xAA, 0x32, 0x5F, 0x86, 0x3C, 0x58, 0x20, 0x1B, 0xB3, 0x3B, 0x15, 0x84, + 0x24, 0x30, 0x15, 0x3E, 0x51, 0x29, 0x3D, 0x3C, 0x51, 0xE5, 0x0E, 0xA2, 0x4D, 0x26, 0xF6, 0xA8, + 0x74, 0xCE, 0x54, 0x25, 0x8E, 0x26, 0x61, 0x30, 0xF9, 0x3A, 0x52, 0xCF, 0x59, 0xE4, 0xE3, 0x56, + 0x75, 0x6D, 0x08, 0x5E, 0xCF, 0x0B, 0x97, 0x00, 0xF7, 0x91, 0xD6, 0xAA, 0xC7, 0x2F, 0xA3, 0x71, + 0xBA, 0x18, 0x8A, 0xCF, 0xA3, 0x45, 0x12, 0x5F, 0x25, 0x2C, 0x4D, 0x33, 0x99, 0xDE, 0x04, 0x69, + 0x30, 0x0E, 0xC2, 0x80, 0xDF, 0x0D, 0x80, 0x71, 0x3E, 0x8B, 0x32, 0xD2, 0x17, 0xC9, 0x95, 0xD8, + 0x92, 0x6E, 0xA0, 0x22, 0xA3, 0xB2, 0x88, 0x34, 0x4D, 0xA2, 0x80, 0x6A, 0x2A, 0x11, 0xBF, 0x3B, + 0xE4, 0xB7, 0x8F, 0x75, 0x52, 0xEE, 0xA2, 0xB4, 0xCA, 0x1C, 0x37, 0x29, 0xDB, 0x53, 0x58, 0x51, + 0x39, 0xF7, 0xAF, 0xF1, 0x7C, 0x0E, 0x65, 0x63, 0xBD, 0x16, 0x06, 0x29, 0xAF, 0xE9, 0x35, 0x2F, + 0x0C, 0x6B, 0x25, 0x36, 0x9C, 0xB1, 0x29, 0x50, 0x3B, 0x2B, 0xA9, 0x73, 0x79, 0x57, 0xA4, 0x33, + 0xC7, 0xF6, 0x6B, 0xC2, 0x20, 0x0A, 0xF8, 0x41, 0x52, 0xD7, 0xD4, 0x8D, 0x40, 0x55, 0x09, 0x34, + 0xAE, 0x59, 0xC4, 0x19, 0xBC, 0xAF, 0x84, 0x19, 0x17, 0xFF, 0x87, 0xF5, 0x09, 0xE8, 0x81, 0x02, + 0x63, 0x6D, 0x55, 0xB9, 0x43, 0xDE, 0xA9, 0x19, 0xB4, 0x53, 0x82, 0xB6, 0xE1, 0x3E, 0x81, 0x45, + 0x36, 0x5C, 0xEE, 0xE8, 0x02, 0x52, 0x0C, 0x47, 0xAA, 0x6C, 0xC1, 0xA9, 0xAD, 0x02, 0x0F, 0x2E, + 0xBD, 0x23, 0x74, 0x59, 0xB8, 0x6B, 0x97, 0xA2, 0x5D, 0xFB, 0x41, 0x3C, 0x68, 0xBD, 0x88, 0xC7, + 0x12, 0x04, 0xD9, 0x70, 0xC9, 0x1B, 0x8F, 0x30, 0xDA, 0x93, 0x5F, 0x57, 0x12, 0x63, 0x0F, 0x84, + 0x2D, 0x91, 0x50, 0x0F, 0x53, 0x3D, 0x6E, 0x00, 0x03, 0x01, 0x87, 0x74, 0x30, 0xD2, 0x44, 0x36, + 0x78, 0x2A, 0x1D, 0x07, 0x72, 0x95, 0x74, 0x07, 0x9C, 0x52, 0xCE, 0xC9, 0x20, 0x9A, 0xC6, 0x99, + 0x36, 0x96, 0xA1, 0x2B, 0x0E, 0x41, 0xD4, 0xE1, 0x12, 0x42, 0x7C, 0xA9, 0xBC, 0xD0, 0xA2, 0x66, + 0x8A, 0x5B, 0x74, 0x5D, 0x51, 0xAB, 0x44, 0x75, 0x4F, 0x5A, 0x35, 0x2B, 0xCB, 0xF7, 0x02, 0xD4, + 0x06, 0x70, 0xCF, 0x70, 0xFC, 0xF8, 0x77, 0x50, 0xEC, 0xFC, 0xCB, 0x39, 0x1C, 0x3B, 0xFB, 0x22, + 0x5C, 0xC5, 0xF9, 0x25, 0x0F, 0xE6, 0x70, 0xCE, 0x8B, 0xA0, 0x58, 0x56, 0xD1, 0x95, 0x8D, 0xB1, + 0xDC, 0x49, 0xCE, 0xF2, 0x33, 0x48, 0x32, 0x50, 0xD7, 0x73, 0x97, 0x70, 0x89, 0x6A, 0x49, 0xEB, + 0x44, 0xF3, 0xE1, 0xB0, 0xEB, 0x93, 0x2D, 0x20, 0x61, 0x7A, 0x29, 0xF7, 0xF8, 0x32, 0x55, 0x73, + 0x5E, 0x6F, 0x7D, 0x3E, 0xE0, 0xFC, 0x3E, 0x7D, 0xFC, 0xF0, 0xEA, 0xE7, 0x8B, 0xD7, 0x87, 0x5D, + 0x9F, 0x2C, 0xD6, 0x94, 0x8F, 0x0B, 0x1F, 0x94, 0xFF, 0x01, 0xCF, 0x57, 0x31, 0xDF, 0xBD, 0x8E, + 0x70, 0xB5, 0xD7, 0x0D, 0x96, 0x52, 0xC1, 0x27, 0xBB, 0x3E, 0xF8, 0x52, 0xB2, 0x7C, 0xE1, 0xDD, + 0xB6, 0x7D, 0x1E, 0x1E, 0xA2, 0xBC, 0xCD, 0x53, 0x1C, 0xDE, 0x74, 0x95, 0xBB, 0x3C, 0xBC, 0xDD, + 0xED, 0xF4, 0x72, 0xCC, 0x79, 0xEC, 0x9B, 0xA7, 0x57, 0xEA, 0x7E, 0xF4, 0xC7, 0x67, 0x0C, 0xE4, + 0x98, 0x70, 0xE0, 0xB6, 0xAE, 0x80, 0xDB, 0xF7, 0x52, 0xA6, 0xAC, 0xBC, 0x80, 0x37, 0xE1, 0xBF, + 0x2C, 0x30, 0xE6, 0xA8, 0x26, 0xF1, 0x12, 0x83, 0xDB, 0xC3, 0x21, 0xB3, 0x10, 0x13, 0x82, 0x85, + 0xF1, 0x15, 0xB0, 0xD3, 0xBB, 0x62, 0xB9, 0xB1, 0x51, 0xC3, 0xAC, 0x2A, 0xF8, 0x4A, 0x0F, 0x6D, + 0xD7, 0x94, 0x68, 0x9D, 0xC2, 0xCC, 0xCC, 0x39, 0x3E, 0x05, 0xD2, 0x79, 0x30, 0x0D, 0x26, 0xF4, + 0x20, 0x04, 0x22, 0xAF, 0xB3, 0x43, 0xE7, 0x8A, 0x96, 0xA6, 0x4C, 0x05, 0x8E, 0x2B, 0x59, 0x87, + 0x98, 0x46, 0x9F, 0xA1, 0x2A, 0x79, 0x8E, 0x7D, 0xFC, 0x31, 0x05, 0xB3, 0x95, 0xC7, 0xDB, 0x08, + 0x80, 0xE5, 0xF7, 0x5E, 0x32, 0x15, 0x10, 0xE0, 0x74, 0x48, 0x94, 0x7F, 0x25, 0x4D, 0xC1, 0xD6, + 0x70, 0xC1, 0xAA, 0x59, 0xF2, 0x78, 0x22, 0x3E, 0xC0, 0xDC, 0x0A, 0x3C, 0xC8, 0x13, 0x08, 0x59, + 0x48, 0x10, 0x49, 0xCC, 0xE2, 0x30, 0x31, 0xE3, 0x5D, 0x09, 0x4A, 0xB9, 0xC9, 0xBB, 0x91, 0x46, + 0x64, 0x9A, 0xBE, 0xCF, 0x1E, 0x8A, 0x88, 0xF7, 0xF6, 0x0C, 0xA3, 0x93, 0xD4, 0xF7, 0xF3, 0xE5, + 0x78, 0x1E, 0xF0, 0x9D, 0x1E, 0x22, 0x9D, 0x80, 0xC3, 0xE4, 0xC7, 0x37, 0x5E, 0xA2, 0xAC, 0xD2, + 0xCB, 0x34, 0x5E, 0x26, 0x13, 0xA6, 0xDF, 0xCE, 0x43, 0xAC, 0xB5, 0x44, 0x1A, 0xA1, 0x4F, 0x96, + 0x09, 0x3E, 0xA4, 0x42, 0x2F, 0x3D, 0x52, 0x5B, 0xAA, 0x0E, 0x47, 0x98, 0xA1, 0xD8, 0x85, 0xD0, + 0x47, 0x2F, 0x2C, 0x7D, 0xC5, 0xC6, 0x69, 0x3C, 0xF9, 0xCA, 0xF8, 0xE5, 0x22, 0x4E, 0xF8, 0xC8, + 0x2C, 0x0D, 0x9C, 0x7E, 0x18, 0xA9, 0x00, 0x92, 0xDE, 0x45, 0x93, 0x4B, 0x18, 0x85, 0x9A, 0x6D, + 0xBE, 0x8C, 0x4A, 0xA0, 0xA8, 0x8E, 0x97, 0xC8, 0x2A, 0x55, 0x07, 0xF5, 0xBC, 0x8C, 0xA7, 0xD3, + 0x2A, 0x42, 0x32, 0x0A, 0xE6, 0xE3, 0x20, 0x4B, 0x17, 0x97, 0x2C, 0x49, 0xE2, 0xE4, 0x72, 0x0E, + 0x26, 0x06, 0x70, 0x08, 0x54, 0x0C, 0x4E, 0x62, 0x9F, 0xC1, 0xD6, 0xC8, 0x28, 0x41, 0xF8, 0xC8, + 0x1C, 0x4E, 0x97, 0x11, 0x3D, 0xAF, 0x03, 0xE3, 0xBD, 0x19, 0x7B, 0x10, 0xB0, 0xEF, 0xF1, 0xA0, + 0x00, 0x58, 0x72, 0x51, 0xAA, 0xCE, 0x47, 0xA5, 0x23, 0x36, 0xD3, 0x05, 0xD8, 0x65, 0x1D, 0x0E, + 0xAA, 0xE9, 0x11, 0x9D, 0x37, 0x1C, 0x59, 0x43, 0x10, 0x75, 0x9D, 0x35, 0x10, 0xCE, 0x97, 0xCC, + 0xAF, 0x89, 0x90, 0x5F, 0x53, 0x72, 0xA6, 0xFF, 0xA1, 0x96, 0x39, 0x55, 0x6B, 0xD5, 0x86, 0xCA, + 0xFE, 0xC4, 0xE3, 0x0F, 0xF5, 0xB8, 0x45, 0x66, 0xAB, 0x0E, 0xC3, 0x23, 0xDE, 0x0C, 0x59, 0x74, + 0xC5, 0xA1, 0x32, 0x18, 0x6A, 0x7B, 0x76, 0xD9, 0xB3, 0x89, 0xDA, 0xA8, 0x47, 0x8D, 0x11, 0xFF, + 0x1C, 0x7E, 0x69, 0x20, 0xC5, 0x0D, 0xF5, 0xA1, 0x4D, 0xD5, 0x86, 0x58, 0x9C, 0x3B, 0x28, 0x49, + 0x85, 0x1E, 0x36, 0x1A, 0xC3, 0x84, 0xF1, 0x65, 0x12, 0x29, 0x44, 0x42, 0xD9, 0x9B, 0xA8, 0xEB, + 0x9C, 0x91, 0x60, 0x1C, 0xE9, 0xEC, 0x32, 0x00, 0xAD, 0x07, 0x66, 0x8A, 0xF5, 0x6A, 0x96, 0x7C, + 0xD4, 0xDA, 0x76, 0x0D, 0x92, 0x86, 0x9A, 0x05, 0x17, 0x48, 0x33, 0x6A, 0x9D, 0x1A, 0xA6, 0x19, + 0x78, 0x11, 0xB1, 0xB0, 0x66, 0xB7, 0x6B, 0x59, 0x2E, 0x52, 0xEB, 0xD6, 0xA4, 0x61, 0xD4, 0x30, + 0x7D, 0x18, 0x24, 0xCC, 0x1F, 0xD6, 0x94, 0x16, 0x10, 0xB2, 0x8D, 0x6E, 0x37, 0x02, 0xBB, 0x8A, + 0x80, 0xD2, 0x8F, 0x2D, 0x14, 0x8E, 0x29, 0x50, 0xF4, 0xF6, 0x50, 0xD4, 0xE9, 0x16, 0x08, 0xC1, + 0x87, 0x3F, 0x4C, 0x93, 0x5D, 0x45, 0x68, 0x99, 0x02, 0x23, 0x5E, 0x25, 0xCA, 0x5E, 0x19, 0xA5, + 0xFB, 0x68, 0x8C, 0x76, 0x7F, 0x27, 0x06, 0xE7, 0x31, 0xA7, 0x74, 0x05, 0x0A, 0xD7, 0x11, 0x44, + 0x75, 0x05, 0x4D, 0xDD, 0x1C, 0x61, 0x09, 0x5F, 0xE7, 0x51, 0x08, 0x3B, 0x3F, 0x1A, 0x61, 0xEF, + 0x47, 0x20, 0x14, 0x29, 0x25, 0xA2, 0x2D, 0xB2, 0xEC, 0x9A, 0xED, 0x96, 0x54, 0x02, 0xEE, 0xB3, + 0x2C, 0xBB, 0x46, 0x15, 0xB2, 0x8D, 0x9D, 0xC4, 0x5E, 0xED, 0xF8, 0x47, 0xAA, 0xE8, 0xDF, 0xAB, + 0x9F, 0x3F, 0x56, 0x39, 0x7F, 0xB0, 0x66, 0xFE, 0xBD, 0x6A, 0xF9, 0x63, 0x75, 0xF2, 0xC7, 0x2A, + 0xE4, 0x3F, 0x44, 0x1B, 0x0B, 0xD7, 0x88, 0x8F, 0x58, 0x37, 0x3D, 0xE3, 0x63, 0x15, 0xD5, 0x76, + 0xE1, 0xFF, 0x5A, 0xDE, 0x42, 0xAC, 0xBD, 0xEB, 0xEA, 0x8E, 0xF2, 0xD6, 0xD6, 0x7B, 0xCA, 0xDB, + 0xAE, 0x6E, 0x39, 0xF4, 0x69, 0x2A, 0x6F, 0x2D, 0x79, 0xE9, 0xE9, 0x96, 0x25, 0x2E, 0x6D, 0x31, + 0xD8, 0x81, 0x8B, 0x49, 0x97, 0xBE, 0x6E, 0x75, 0xE9, 0xB3, 0x4F, 0x43, 0x36, 0x2C, 0xB7, 0xE5, + 0xC5, 0xD6, 0xAD, 0x1E, 0x5D, 0x7A, 0x34, 0xD6, 0x41, 0xAC, 0x1D, 0xE5, 0x1B, 0x1E, 0x30, 0x89, + 0xBF, 0xC2, 0x09, 0xA9, 0x19, 0x53, 0x13, 0xF5, 0x5C, 0x8D, 0x4E, 0xBA, 0xF3, 0xA0, 0x22, 0x6D, + 0xBF, 0xC4, 0x0A, 0x98, 0x69, 0xF7, 0xA5, 0x78, 0xD4, 0x18, 0x31, 0x0C, 0x43, 0x7A, 0x39, 0x02, + 0xA9, 0x54, 0xD8, 0xE8, 0x2A, 0x44, 0x20, 0x55, 0x2B, 0x70, 0x40, 0x22, 0x80, 0xEF, 0xBE, 0x9C, + 0x43, 0xBD, 0x16, 0x5D, 0xA5, 0x75, 0xA6, 0xF3, 0x8C, 0x69, 0x75, 0x36, 0x62, 0x4D, 0x1E, 0xBF, + 0x8D, 0x57, 0x2C, 0xF9, 0x15, 0xD2, 0xE0, 0xBA, 0xA6, 0x1D, 0xD5, 0xF9, 0x88, 0x6F, 0x8C, 0x9D, + 0x18, 0xD6, 0x80, 0x1F, 0xB1, 0x13, 0x6B, 0x60, 0x16, 0x58, 0xF1, 0x39, 0xB3, 0xC7, 0x27, 0x33, + 0x2A, 0x24, 0xA8, 0x2C, 0x42, 0x0A, 0x31, 0xE6, 0x73, 0x4C, 0x16, 0x30, 0xE3, 0x18, 0x06, 0x53, + 0xC0, 0xA6, 0x96, 0xDB, 0x1D, 0xE7, 0xB4, 0x72, 0xA0, 0xA8, 0x0D, 0xD6, 0x14, 0x50, 0x3A, 0x6F, + 0x54, 0x97, 0x7C, 0x2F, 0x7F, 0xB9, 0x88, 0xB9, 0x17, 0x2A, 0xE2, 0x6D, 0x1D, 0x02, 0xE2, 0x38, + 0x70, 0x18, 0x06, 0xF2, 0x59, 0xBF, 0x0C, 0xB2, 0x84, 0xEF, 0x87, 0x21, 0xDE, 0x4F, 0x26, 0xCB, + 0x85, 0xF8, 0x3B, 0x09, 0x45, 0xA5, 0xA5, 0x47, 0x73, 0x06, 0x29, 0xA1, 0x32, 0x0F, 0x22, 0x50, + 0x9A, 0x1A, 0x15, 0x1E, 0xC2, 0x2F, 0xCC, 0x40, 0xAB, 0x46, 0xB5, 0x3E, 0xDC, 0x89, 0x84, 0xAF, + 0x86, 0x3B, 0xC4, 0x39, 0x3C, 0x64, 0x05, 0x20, 0x44, 0x02, 0x96, 0x85, 0xF5, 0xE6, 0xFC, 0x5F, + 0x54, 0xDD, 0x8F, 0x27, 0xCB, 0x39, 0xC8, 0xB1, 0x79, 0xC5, 0xF8, 0xEB, 0x90, 0xE1, 0xED, 0x2F, + 0x77, 0xA7, 0x20, 0x3F, 0x59, 0x5E, 0x6A, 0xCD, 0x20, 0x8A, 0x58, 0xF2, 0xDB, 0xC5, 0xBB, 0xB7, + 0x23, 0xAE, 0x13, 0x3B, 0x41, 0xD4, 0x2F, 0xCA, 0xA9, 0x93, 0xE0, 0x74, 0x58, 0xC9, 0xA6, 0x20, + 0x8B, 0xE1, 0xA7, 0xF8, 0x06, 0xCC, 0xFB, 0x29, 0xE6, 0x54, 0x7A, 0x65, 0x4E, 0x24, 0x3D, 0xB6, + 0x36, 0xA4, 0xD3, 0xF1, 0x24, 0xB3, 0xB4, 0xF2, 0x1B, 0xAD, 0x07, 0x52, 0x9F, 0x4A, 0xD6, 0x06, + 0x4B, 0x58, 0xDD, 0x84, 0x34, 0xC6, 0x7A, 0x44, 0x16, 0x84, 0x09, 0x16, 0xA4, 0x42, 0x25, 0x8B, + 0x2D, 0x32, 0x22, 0x50, 0xCD, 0x10, 0xB3, 0x73, 0xF0, 0x0F, 0xB5, 0x63, 0xA8, 0x77, 0xB1, 0xFE, + 0xCA, 0xCA, 0x2B, 0x75, 0xCD, 0x9A, 0xA4, 0x5B, 0x4D, 0xA0, 0x8F, 0xD7, 0x33, 0xBD, 0x2B, 0xAB, + 0xEF, 0x96, 0x66, 0x37, 0xB1, 0x70, 0xD4, 0x39, 0x5D, 0xB4, 0xB5, 0x86, 0x5C, 0x1B, 0x95, 0x59, + 0xF4, 0xF2, 0x65, 0x1D, 0xF4, 0xD2, 0xD4, 0x28, 0xC7, 0x44, 0x06, 0x06, 0x98, 0xEC, 0xC6, 0x90, + 0xBD, 0xC6, 0x47, 0xD9, 0x6E, 0x82, 0x53, 0xC3, 0xB8, 0xD1, 0xD0, 0x54, 0xC3, 0x02, 0xAE, 0x0B, + 0xEC, 0x75, 0x39, 0xFF, 0x39, 0xFE, 0xD2, 0xC4, 0x06, 0x8D, 0x06, 0xB8, 0x88, 0x95, 0x17, 0x67, + 0xC7, 0x52, 0x65, 0xA8, 0x04, 0x05, 0x27, 0x54, 0xF6, 0x3C, 0x25, 0x87, 0xB4, 0xC3, 0x09, 0x29, + 0xC7, 0x0A, 0xFC, 0x57, 0x78, 0x22, 0x4B, 0xB7, 0xC1, 0x93, 0xE8, 0xB6, 0x85, 0xFE, 0xC8, 0xC6, + 0xFB, 0x8E, 0xB8, 0x74, 0x69, 0xCC, 0x42, 0x1F, 0xF2, 0xD6, 0xB2, 0xE5, 0xA7, 0xA5, 0xE0, 0x32, + 0xEB, 0x11, 0x5E, 0x05, 0x5F, 0x60, 0x53, 0x6E, 0x2D, 0x11, 0x8B, 0xEF, 0xF0, 0x5A, 0x53, 0x6E, + 0x6D, 0xB8, 0x80, 0xF7, 0xBD, 0xB3, 0x29, 0x0E, 0x6E, 0x60, 0x10, 0x5F, 0x0D, 0x49, 0xBE, 0x55, + 0x6B, 0x65, 0x87, 0x94, 0xAD, 0x26, 0xCA, 0x63, 0x61, 0xA0, 0x76, 0x74, 0xF1, 0x4A, 0xE6, 0xCF, + 0x7F, 0xC8, 0x04, 0xFA, 0x8F, 0xCC, 0x8B, 0xAB, 0xF9, 0x3B, 0x42, 0x8B, 0xDB, 0xA1, 0x8A, 0x8F, + 0x9A, 0xC4, 0xB3, 0xA5, 0x1A, 0x58, 0x04, 0xB9, 0xB0, 0x12, 0x4B, 0x51, 0x62, 0x8D, 0x5A, 0xFE, + 0x34, 0x49, 0x3C, 0x4C, 0xAA, 0x94, 0x6A, 0xA5, 0xEE, 0x75, 0x0D, 0x77, 0xDE, 0x00, 0xD6, 0x55, + 0x7A, 0xF9, 0xAB, 0x89, 0x7F, 0x54, 0xD7, 0xBC, 0xFA, 0x06, 0x72, 0xDB, 0x58, 0xF0, 0xF2, 0x65, + 0x69, 0xC5, 0xF6, 0xF4, 0xF7, 0xEF, 0xA8, 0x1A, 0x96, 0x26, 0x4F, 0x29, 0xCA, 0x36, 0xEC, 0xC6, + 0x5F, 0xBC, 0x3A, 0x86, 0x33, 0x8A, 0xD3, 0x6E, 0xE8, 0x80, 0x5C, 0x4B, 0xB3, 0xA5, 0xA9, 0x99, + 0x97, 0xBE, 0x5F, 0x45, 0x1F, 0x92, 0x78, 0xC1, 0x12, 0x7E, 0x57, 0x57, 0xA9, 0x89, 0xA5, 0x9D, + 0xD4, 0x41, 0xD9, 0x4C, 0x01, 0xB2, 0x03, 0x1F, 0x2E, 0x2A, 0xE1, 0xD3, 0x06, 0xD9, 0x42, 0x89, + 0x5F, 0x7E, 0xCD, 0x14, 0xCA, 0xFC, 0x4B, 0xAD, 0xCC, 0x9D, 0x3F, 0x64, 0x57, 0xF4, 0x0F, 0xB5, + 0x64, 0xC2, 0xAF, 0x20, 0x76, 0x70, 0x56, 0x27, 0x0F, 0x55, 0x65, 0xB4, 0x5A, 0xD3, 0xB0, 0x3E, + 0x41, 0xA4, 0xE5, 0x22, 0xA3, 0x72, 0x76, 0xDC, 0x5A, 0xD8, 0x22, 0x7E, 0xA0, 0x96, 0x17, 0x66, + 0x93, 0x80, 0xC5, 0x24, 0x9B, 0x16, 0x93, 0x48, 0x8B, 0x19, 0x6D, 0x5A, 0x4C, 0xB2, 0x6D, 0x31, + 0xCF, 0xB2, 0x95, 0x92, 0x9D, 0xF4, 0x45, 0x50, 0xEE, 0x63, 0x78, 0x85, 0xD0, 0x0C, 0x51, 0x58, + 0x7E, 0xB4, 0x31, 0xD0, 0xBA, 0x68, 0x17, 0x2E, 0x5A, 0x52, 0x9B, 0xCC, 0xC9, 0xA6, 0xA5, 0x78, + 0xC1, 0xF0, 0x8C, 0xC6, 0xE5, 0x10, 0x7C, 0x9B, 0x3E, 0x6D, 0x61, 0x5B, 0x30, 0xFF, 0xB8, 0xE8, + 0x5C, 0x28, 0x3F, 0x09, 0xA4, 0x5A, 0x3D, 0x2A, 0xB9, 0x9A, 0xE6, 0xB9, 0xCC, 0xF6, 0xEB, 0x91, + 0x65, 0x3F, 0x5B, 0x0A, 0xF0, 0x25, 0x41, 0x25, 0x85, 0xA0, 0x86, 0x99, 0xA4, 0x36, 0xE6, 0x0A, + 0x65, 0xC9, 0xB5, 0xA4, 0xA4, 0x2E, 0xA5, 0xC5, 0xBB, 0xD5, 0x51, 0x2F, 0x6B, 0xE3, 0xD3, 0xB5, + 0x6A, 0x3F, 0xBD, 0xCF, 0x52, 0xAC, 0xBD, 0x11, 0x31, 0xEB, 0x01, 0x97, 0x43, 0x62, 0x70, 0xA2, + 0xAA, 0x03, 0x15, 0x9B, 0xC2, 0x07, 0x42, 0x29, 0x3E, 0x9F, 0x2A, 0x03, 0x45, 0x27, 0x2A, 0x3E, + 0x4D, 0x52, 0x2A, 0x5E, 0x42, 0x09, 0x52, 0x08, 0xF1, 0x69, 0x5A, 0xEE, 0x04, 0x8A, 0x86, 0x86, + 0x12, 0x70, 0xD8, 0x23, 0x73, 0x59, 0xB5, 0x56, 0x4D, 0xB2, 0x44, 0xA9, 0x6D, 0x34, 0x82, 0x6A, + 0xC7, 0x7F, 0x8D, 0x15, 0x1E, 0x2B, 0xE2, 0x35, 0xB7, 0xA0, 0x78, 0xD6, 0xEE, 0x1D, 0x1F, 0xA0, + 0xAE, 0x68, 0x43, 0x57, 0x63, 0xFD, 0x5E, 0x00, 0xEA, 0xDB, 0x57, 0xCE, 0x23, 0xBB, 0x2C, 0x45, + 0x42, 0x26, 0xCD, 0x1D, 0xD3, 0xC4, 0x38, 0x9A, 0x06, 0xC9, 0xBC, 0xAE, 0xFE, 0x2A, 0x6E, 0x14, + 0x1F, 0xA7, 0x70, 0x4D, 0x3C, 0x45, 0x9D, 0x16, 0x79, 0x11, 0xD8, 0x63, 0x25, 0x79, 0xA4, 0x45, + 0xC0, 0x52, 0xB6, 0x85, 0x33, 0xCB, 0x3E, 0x0F, 0xA1, 0x85, 0x35, 0xA0, 0xC7, 0x71, 0x72, 0x77, + 0x00, 0x37, 0xAC, 0xA9, 0xA2, 0x2F, 0x3D, 0xDE, 0x91, 0xDD, 0xA2, 0x45, 0x02, 0x21, 0x9D, 0xD7, + 0xD5, 0x57, 0x19, 0x3A, 0xEA, 0x05, 0x43, 0xFE, 0x03, 0x4A, 0x12, 0x2D, 0xC3, 0x10, 0xFC, 0xF6, + 0x06, 0xEA, 0x49, 0x86, 0x03, 0x95, 0x1E, 0x1C, 0xCF, 0x1C, 0x12, 0xD6, 0x62, 0x87, 0xF2, 0x52, + 0xCA, 0x1C, 0x70, 0x9B, 0x68, 0x14, 0xB1, 0x95, 0xF2, 0x5F, 0xEF, 0xDE, 0xFE, 0xC6, 0xF9, 0xE2, + 0x8C, 0x5D, 0x2F, 0x21, 0x81, 0xD5, 0xC3, 0x91, 0xDA, 0x22, 0x65, 0x3E, 0x11, 0xEF, 0x9D, 0x8F, + 0xE0, 0x18, 0xFB, 0xF5, 0x72, 0x53, 0xBD, 0x90, 0x27, 0x11, 0x50, 0x0C, 0x9A, 0xD4, 0x6C, 0x36, + 0xB1, 0xC5, 0x03, 0xE9, 0x26, 0xA2, 0x13, 0xAD, 0xEC, 0x06, 0x8B, 0xB0, 0x67, 0xF6, 0xF1, 0xEC, + 0xB4, 0xCE, 0x35, 0x31, 0x29, 0x7A, 0x7C, 0xA5, 0x89, 0x72, 0x76, 0xA7, 0x47, 0xCD, 0x38, 0x82, + 0x83, 0xF9, 0x77, 0x98, 0x12, 0xB2, 0x09, 0xA4, 0x67, 0x57, 0x6C, 0x94, 0xE7, 0x40, 0xDA, 0xBD, + 0x3B, 0x1A, 0x45, 0x4D, 0x5A, 0x80, 0x19, 0x35, 0xF0, 0xA4, 0x6E, 0x9B, 0x26, 0x8E, 0x89, 0x14, + 0xF2, 0x64, 0x47, 0x76, 0xFE, 0x1F, 0xE7, 0xEF, 0x7F, 0x87, 0xB8, 0x9B, 0x40, 0x4A, 0x8F, 0xA0, + 0xE9, 0x22, 0x8E, 0x52, 0x76, 0xC1, 0x6E, 0xB9, 0xA6, 0x0D, 0x5C, 0xD3, 0x2A, 0x01, 0x9F, 0xBD, + 0xAD, 0x6B, 0x83, 0x3A, 0x88, 0x3B, 0x8D, 0x43, 0xD6, 0x0C, 0xE3, 0xAB, 0x7A, 0x36, 0xA5, 0xE9, + 0x6F, 0x3E, 0xBD, 0xC6, 0x16, 0x20, 0x30, 0x59, 0x5B, 0x23, 0x95, 0x0B, 0x16, 0xD5, 0xD5, 0xBF, + 0xBE, 0xBE, 0x80, 0x23, 0xEB, 0x90, 0x59, 0xC1, 0x50, 0x0A, 0x2C, 0xAF, 0x6F, 0x88, 0x40, 0x3C, + 0x15, 0x90, 0x32, 0x3E, 0x68, 0x15, 0xD9, 0x83, 0x0A, 0x4D, 0x78, 0x16, 0x2C, 0x21, 0x4C, 0x0C, + 0xD6, 0x22, 0xC8, 0x68, 0xF7, 0x7B, 0x81, 0xAB, 0x0F, 0x62, 0xB5, 0x66, 0xE5, 0x99, 0x6B, 0x26, + 0x96, 0xFD, 0xF6, 0x95, 0x5C, 0x01, 0x0C, 0x79, 0xEC, 0x66, 0xF1, 0xC4, 0x40, 0x3E, 0x3D, 0x08, + 0x99, 0x3A, 0x14, 0x85, 0x0D, 0xEA, 0xCD, 0x9B, 0x38, 0x99, 0xBF, 0xF2, 0xB8, 0x37, 0xE4, 0x4D, + 0x6F, 0xB1, 0xC0, 0xC3, 0x0A, 0xEB, 0x2C, 0xE7, 0xDB, 0x45, 0xA8, 0x8C, 0x20, 0x54, 0x46, 0x47, + 0x19, 0xFD, 0xC3, 0x08, 0x82, 0xA4, 0x4C, 0xDD, 0xD9, 0xE7, 0xE8, 0x0B, 0x78, 0xE1, 0x72, 0x4D, + 0x17, 0x4A, 0x2F, 0x7A, 0xAE, 0x16, 0xC8, 0x03, 0x3D, 0x14, 0xE1, 0x53, 0x2F, 0xF6, 0x2B, 0x1E, + 0xDF, 0x00, 0xD7, 0xB7, 0x11, 0x68, 0xEB, 0x7A, 0xA5, 0xAD, 0xBC, 0x43, 0xDD, 0x35, 0x29, 0xB9, + 0x0F, 0xEF, 0xCF, 0x2F, 0xB0, 0xBA, 0x20, 0x7C, 0x2A, 0x49, 0xB0, 0x02, 0xDA, 0x94, 0x17, 0x88, + 0x61, 0xAF, 0x6F, 0x60, 0x97, 0xB7, 0xE0, 0xB3, 0x18, 0x28, 0x3D, 0x72, 0x4C, 0x3C, 0x7F, 0x51, + 0xF5, 0x22, 0x35, 0xD7, 0xEE, 0x41, 0x5C, 0xD9, 0x59, 0xC1, 0xEC, 0x16, 0x4B, 0x6A, 0x6A, 0x66, + 0x65, 0x21, 0xEA, 0x92, 0xE7, 0x33, 0xBF, 0x25, 0xCB, 0xB8, 0x7F, 0x83, 0x8A, 0x6A, 0xBF, 0x89, + 0x09, 0x91, 0x08, 0x31, 0x1E, 0xF0, 0x8C, 0x0F, 0xC9, 0x5D, 0x41, 0xC1, 0x37, 0xB0, 0xA4, 0x7D, + 0x83, 0x7F, 0x25, 0x50, 0x37, 0x35, 0xAC, 0xC1, 0xD6, 0x6B, 0x9D, 0x92, 0xBD, 0xA2, 0x83, 0x6D, + 0x6D, 0x1C, 0x3C, 0x8E, 0x68, 0xB8, 0x64, 0x73, 0x64, 0x61, 0xA3, 0xEA, 0x2A, 0x69, 0x31, 0xF5, + 0xE7, 0x91, 0xF7, 0x0C, 0x85, 0x94, 0xCF, 0xB0, 0x0E, 0x87, 0x96, 0xC2, 0x88, 0xE4, 0x76, 0xB0, + 0xFE, 0xA0, 0x43, 0xA8, 0x1E, 0xAA, 0xEA, 0x1C, 0xB4, 0x81, 0x18, 0x96, 0x76, 0xBF, 0xDE, 0xE0, + 0x13, 0x99, 0x3B, 0xD7, 0xD6, 0x85, 0xC1, 0x43, 0xC2, 0xF3, 0xFB, 0x72, 0x3E, 0x06, 0x25, 0x21, + 0x8F, 0x5B, 0x58, 0x02, 0x8A, 0x5D, 0xE6, 0x86, 0xE0, 0xCD, 0xA5, 0x9A, 0x1C, 0xF1, 0xA1, 0x06, + 0xCE, 0xD6, 0x54, 0x1B, 0x51, 0xD6, 0x14, 0x8F, 0x0A, 0x5C, 0x70, 0xBA, 0x0F, 0xBF, 0x62, 0xA8, + 0xCF, 0xBD, 0x07, 0xEA, 0x32, 0x98, 0x1F, 0xCB, 0x3B, 0xE8, 0xC8, 0x81, 0x37, 0x10, 0x1A, 0xFE, + 0xC6, 0x30, 0x1E, 0x36, 0x54, 0x43, 0x6D, 0x94, 0x28, 0xC0, 0xD9, 0x77, 0x71, 0xC4, 0x67, 0x30, + 0x05, 0x39, 0xDE, 0xCE, 0x79, 0x44, 0x07, 0x49, 0xCA, 0xEE, 0xC9, 0xDF, 0x62, 0xA8, 0x90, 0xF7, + 0xCE, 0xBE, 0x0B, 0xA2, 0x25, 0x67, 0xFB, 0xE7, 0xCF, 0x19, 0xB8, 0x51, 0x5F, 0xCC, 0x17, 0xA7, + 0xFA, 0x2D, 0xF0, 0xD9, 0xCF, 0x61, 0x88, 0x06, 0x93, 0x3F, 0x89, 0x31, 0xB7, 0x9F, 0xC4, 0xBC, + 0x7C, 0x99, 0x3F, 0x27, 0x6A, 0x4E, 0xC2, 0x18, 0x7B, 0x31, 0x85, 0xDC, 0xE9, 0x35, 0xFA, 0x51, + 0xF5, 0x6B, 0x43, 0xAD, 0x83, 0x9C, 0x27, 0x22, 0x14, 0x31, 0x5F, 0x7B, 0x42, 0x7E, 0xC4, 0xF6, + 0x2F, 0x2D, 0xBD, 0xB2, 0x93, 0x69, 0xA4, 0xFC, 0x23, 0x83, 0x91, 0x8A, 0x7F, 0x65, 0x70, 0x60, + 0x97, 0xFC, 0x81, 0xF7, 0x6E, 0xC0, 0x82, 0x23, 0x79, 0x58, 0xB9, 0xCF, 0x78, 0xA3, 0xBE, 0xF1, + 0x40, 0x55, 0x7D, 0xCC, 0xAD, 0x8A, 0x27, 0x59, 0xF8, 0x07, 0x01, 0x50, 0x03, 0xBC, 0xF9, 0xF4, + 0xA2, 0xDC, 0xE0, 0x7A, 0xF3, 0xE9, 0xFD, 0xD7, 0xFA, 0x81, 0xD0, 0xB0, 0x2F, 0x58, 0xB3, 0x43, + 0x06, 0x78, 0xE8, 0xD4, 0xF4, 0xB7, 0x70, 0xCF, 0x3A, 0xB6, 0x80, 0x2C, 0x48, 0x3F, 0x8D, 0x02, + 0xFE, 0xF1, 0x54, 0x2A, 0x77, 0xBC, 0x2B, 0x2F, 0x01, 0xEB, 0x6D, 0x4D, 0x44, 0x06, 0x73, 0x22, + 0xAF, 0x68, 0x97, 0x95, 0xD4, 0x41, 0xFD, 0x0C, 0xE9, 0x67, 0xCF, 0x34, 0xBF, 0x40, 0x96, 0xB4, + 0xE7, 0xF9, 0xDF, 0xF6, 0x93, 0xC4, 0x72, 0x7C, 0x57, 0x91, 0x0E, 0xE5, 0xE3, 0x29, 0xD4, 0x05, + 0xF1, 0x03, 0x99, 0x07, 0x78, 0x78, 0x48, 0x3E, 0xE2, 0x52, 0xF2, 0x91, 0x59, 0xA6, 0x68, 0xF8, + 0x91, 0x97, 0x8C, 0xB3, 0x7C, 0x41, 0x7A, 0x7E, 0x53, 0x8F, 0x08, 0xA4, 0xF0, 0x2B, 0xD9, 0xB3, + 0xBF, 0x9F, 0x80, 0x64, 0x80, 0x2A, 0x13, 0x53, 0x5D, 0x88, 0x29, 0x85, 0xF4, 0x14, 0x8E, 0x06, + 0x9B, 0x98, 0x43, 0x16, 0xA6, 0x2C, 0xF7, 0x2A, 0x21, 0xC4, 0xD7, 0xF0, 0x28, 0x5B, 0x32, 0x0C, + 0xB3, 0xF8, 0x1A, 0x8C, 0xA2, 0xCF, 0xE1, 0x97, 0x6C, 0x97, 0x01, 0xEC, 0x02, 0x52, 0x51, 0x6E, + 0x58, 0x92, 0xC2, 0x31, 0xA0, 0x46, 0x0D, 0x3E, 0x9B, 0x5F, 0x64, 0xBA, 0x08, 0xC9, 0xD3, 0x01, + 0x49, 0x66, 0x6F, 0xD1, 0x55, 0x14, 0xE8, 0x46, 0x6D, 0x04, 0x9F, 0xAD, 0x2F, 0x50, 0xD7, 0x34, + 0x34, 0x5D, 0xAD, 0xF2, 0x76, 0x0B, 0xF9, 0x06, 0xEB, 0x41, 0xF5, 0xD5, 0x17, 0x23, 0x04, 0x97, + 0x4B, 0x24, 0x96, 0x4D, 0x91, 0x6D, 0xE1, 0xD9, 0x78, 0xF4, 0x1B, 0x7C, 0xB6, 0x73, 0x0C, 0x95, + 0x87, 0xC0, 0xC1, 0x67, 0x27, 0x9F, 0x20, 0x4F, 0x72, 0x4E, 0x53, 0xF9, 0x46, 0xB3, 0x38, 0xE5, + 0x94, 0x55, 0xEF, 0xE5, 0x82, 0xF0, 0x2D, 0x9B, 0x24, 0xAE, 0x41, 0xEE, 0xFC, 0xA4, 0xBE, 0xB7, + 0xE3, 0xAC, 0x0B, 0x3B, 0xD4, 0x06, 0x28, 0xA5, 0xF5, 0x1A, 0xC5, 0xA4, 0x50, 0x62, 0x19, 0x57, + 0x13, 0x4B, 0x9C, 0xD6, 0xAB, 0x02, 0x97, 0xDA, 0xA2, 0x0D, 0x21, 0x93, 0xCD, 0x5D, 0x01, 0xC4, + 0xE8, 0xB8, 0x9C, 0x60, 0x32, 0x4A, 0x4F, 0xE2, 0xAD, 0x04, 0xB3, 0x72, 0xC6, 0xFB, 0x47, 0x79, + 0xD1, 0x7A, 0x3E, 0x34, 0xDA, 0x6D, 0x2F, 0x27, 0x68, 0x89, 0x9F, 0xD8, 0x58, 0xA2, 0x55, 0x57, + 0xF8, 0x32, 0xB4, 0xDA, 0x28, 0xF3, 0xB9, 0x01, 0x5A, 0xD5, 0xA8, 0xCA, 0xA4, 0xA1, 0xB6, 0x56, + 0x90, 0x10, 0x7D, 0x56, 0xBD, 0xC4, 0x5F, 0x06, 0x20, 0xE7, 0x2F, 0xDA, 0xE0, 0x59, 0x88, 0x2A, + 0x28, 0xB4, 0xE6, 0x38, 0x88, 0xA0, 0xD4, 0xBC, 0xA0, 0xF7, 0x12, 0xBC, 0x24, 0xF1, 0xEE, 0xC6, + 0xCB, 0xE9, 0x94, 0x41, 0xC5, 0x53, 0x9C, 0x2C, 0x8E, 0x90, 0x53, 0xA3, 0x72, 0x2E, 0x56, 0x31, + 0xF0, 0x4F, 0xE7, 0xAA, 0xB6, 0xEB, 0x59, 0xBF, 0xB9, 0xAE, 0x20, 0x21, 0x06, 0x55, 0xB0, 0xEC, + 0x7C, 0x3F, 0xA0, 0x82, 0xFA, 0x7F, 0x08, 0xB7, 0x0C, 0x64, 0xDF, 0xBF, 0xA7, 0x8C, 0x63, 0xC0, + 0x8E, 0x97, 0xBC, 0x5E, 0x92, 0x8C, 0xEE, 0x30, 0x47, 0xAB, 0xEE, 0x45, 0xEF, 0x12, 0x1C, 0xA4, + 0x18, 0x8B, 0xC5, 0x0A, 0x48, 0xF6, 0x36, 0xC2, 0x46, 0xCA, 0xF9, 0x02, 0x82, 0xAD, 0x0F, 0x29, + 0x39, 0xD4, 0xDF, 0xB0, 0x65, 0x34, 0x61, 0x50, 0x90, 0xFE, 0x8C, 0x7C, 0xFA, 0x85, 0xF8, 0xA4, + 0x15, 0x09, 0x28, 0xAE, 0x2A, 0x3B, 0x05, 0xFB, 0x68, 0x94, 0xBD, 0x11, 0x00, 0x06, 0x90, 0x75, + 0xBD, 0x4F, 0x5F, 0x81, 0x6D, 0x70, 0xB0, 0x0D, 0x18, 0xCB, 0xDE, 0x9A, 0xE0, 0x68, 0xEF, 0x55, + 0x9F, 0xF9, 0x4A, 0xC1, 0x78, 0x4F, 0xD3, 0x1A, 0xBA, 0x01, 0xFA, 0x17, 0x14, 0x4A, 0xB0, 0x72, + 0xEE, 0x05, 0xC1, 0xBE, 0x7C, 0x99, 0x47, 0xB6, 0x53, 0xAE, 0xA4, 0x8C, 0xCD, 0x53, 0xE5, 0x2E, + 0x5E, 0x2A, 0xF8, 0xA6, 0x97, 0x8C, 0xD8, 0xCA, 0x14, 0xAA, 0x5F, 0xC5, 0x8B, 0x62, 0xF0, 0x17, + 0xE0, 0xD9, 0x62, 0xA1, 0x8A, 0x3A, 0x2E, 0x4B, 0x68, 0x5D, 0x14, 0xAF, 0x94, 0x72, 0x80, 0x07, + 0xB6, 0xAB, 0xAF, 0xCF, 0xCE, 0xDE, 0x9F, 0x15, 0xE4, 0x6E, 0xBF, 0xB9, 0xC1, 0xC1, 0x4F, 0x6C, + 0xBE, 0xBB, 0xB1, 0x75, 0x18, 0x5C, 0xD4, 0x50, 0x15, 0x9C, 0x1C, 0xE0, 0x7B, 0x0B, 0xD6, 0x17, + 0x4D, 0xAF, 0xA4, 0x7D, 0x1B, 0x59, 0x9F, 0x37, 0xC6, 0xA6, 0x3C, 0x16, 0x81, 0xA5, 0xC4, 0xAF, + 0x02, 0x70, 0x8F, 0x65, 0x5B, 0x65, 0xD7, 0x93, 0xBA, 0x17, 0x32, 0x80, 0x92, 0xEF, 0x84, 0x29, + 0x53, 0x0A, 0xF0, 0x75, 0x08, 0x64, 0x95, 0x65, 0x0D, 0x55, 0xA3, 0x1E, 0xC2, 0xE6, 0x41, 0xB4, + 0xAD, 0x17, 0x50, 0xB4, 0xC1, 0x2E, 0x84, 0x90, 0x1A, 0xE8, 0xE0, 0x74, 0x8A, 0xD4, 0xFE, 0xFF, + 0x41, 0x76, 0xBE, 0xD7, 0xA7, 0x6A, 0x83, 0x4C, 0x0D, 0x20, 0x28, 0x22, 0x51, 0x65, 0xC7, 0x57, + 0x7E, 0xE3, 0xEE, 0x5E, 0x04, 0xD1, 0x6A, 0x83, 0x66, 0xE3, 0x55, 0x42, 0xE5, 0x44, 0xD5, 0x1E, + 0x2E, 0xC2, 0x57, 0xCF, 0x2F, 0xC1, 0xF1, 0x85, 0xC0, 0xE7, 0xB1, 0xA5, 0xB4, 0xE9, 0x33, 0xC0, + 0xF1, 0x7D, 0xBF, 0x43, 0xD5, 0xFB, 0x43, 0x90, 0xA5, 0xC8, 0xFE, 0xCC, 0x8C, 0xF0, 0x81, 0x3C, + 0x58, 0xBC, 0xBF, 0x78, 0xB0, 0xC1, 0x90, 0x25, 0x34, 0xD5, 0x26, 0x83, 0xFE, 0x60, 0xFF, 0x40, + 0x85, 0x68, 0xF2, 0xB4, 0xBE, 0x81, 0x68, 0x1B, 0x14, 0x70, 0xDA, 0xBA, 0xFC, 0x22, 0x97, 0xFE, + 0xE4, 0xDE, 0xC1, 0x92, 0x94, 0x0B, 0xCE, 0xB7, 0xA3, 0x7D, 0xF0, 0xCF, 0xE9, 0x1B, 0x10, 0xAF, + 0x1F, 0xEC, 0x1C, 0x6C, 0xC9, 0xFE, 0x71, 0x3D, 0x83, 0x87, 0xDA, 0x04, 0x59, 0x0E, 0xBC, 0xB3, + 0x53, 0xF0, 0xB0, 0xF5, 0x3C, 0xD6, 0x05, 0x6D, 0x51, 0x7F, 0xE0, 0xAD, 0xD6, 0x03, 0x68, 0xB2, + 0xF7, 0x5B, 0x9F, 0x67, 0x3E, 0xCF, 0xB7, 0xF8, 0x0A, 0x64, 0xF6, 0x4E, 0xF7, 0xE2, 0xF6, 0x91, + 0x3E, 0xA2, 0x68, 0x6B, 0xFC, 0x83, 0x3C, 0xCA, 0x36, 0x78, 0x89, 0xC6, 0xA1, 0x70, 0xA1, 0x8F, + 0xEB, 0x9F, 0xA0, 0xFB, 0x54, 0x2D, 0x7A, 0xE0, 0x28, 0x54, 0xE0, 0xE5, 0x4B, 0xD5, 0xAD, 0x7E, + 0x2D, 0xCF, 0x7E, 0xFF, 0x5E, 0x0D, 0xBB, 0xAA, 0x0D, 0xB1, 0x3D, 0x9B, 0xD4, 0xAA, 0xF1, 0x6E, + 0x82, 0xA9, 0x8E, 0x88, 0x78, 0x54, 0x14, 0x29, 0xB8, 0x95, 0x53, 0x5E, 0x2F, 0x0C, 0x88, 0x9C, + 0xC8, 0x83, 0xF6, 0x82, 0xEF, 0x38, 0xB8, 0xA6, 0xCE, 0x47, 0x90, 0xC0, 0xD1, 0xDF, 0x0C, 0x02, + 0x93, 0xEB, 0x25, 0xBD, 0x8E, 0x1A, 0x23, 0xEB, 0x61, 0x0F, 0x27, 0x24, 0x13, 0x3D, 0x46, 0xE1, + 0x0A, 0xDD, 0x75, 0x2D, 0x23, 0xD2, 0x5D, 0xF3, 0x28, 0x82, 0x04, 0x66, 0x02, 0xAA, 0x9B, 0xE4, + 0xFB, 0x63, 0xB7, 0x7C, 0x33, 0x00, 0x42, 0x4E, 0x68, 0x61, 0x32, 0x49, 0x47, 0xAE, 0xF6, 0xA6, + 0x76, 0x0C, 0xED, 0x6B, 0x57, 0x15, 0x61, 0x14, 0xAB, 0x92, 0xFD, 0x66, 0x59, 0xBC, 0xC9, 0xFD, + 0x60, 0x31, 0x4F, 0x6F, 0x02, 0x3F, 0x0B, 0x13, 0x85, 0x8F, 0xE1, 0x03, 0x91, 0x39, 0x2C, 0xFC, + 0x43, 0x5E, 0x96, 0x1D, 0x58, 0xBD, 0xD8, 0x5A, 0x8D, 0xEF, 0xD8, 0x12, 0x11, 0x27, 0x1F, 0xCF, + 0x5F, 0x9F, 0x95, 0x3B, 0x08, 0xE8, 0x73, 0x81, 0x84, 0x88, 0x83, 0x2F, 0x6E, 0xA8, 0x2F, 0x3F, + 0xFC, 0x7C, 0x7E, 0xFE, 0xE9, 0xFD, 0xD9, 0xAB, 0xDD, 0x4B, 0x38, 0x2E, 0x39, 0xFF, 0xF8, 0xCB, + 0xBB, 0xD3, 0x8B, 0xD1, 0x1D, 0x76, 0x8D, 0xC3, 0x1D, 0x41, 0x62, 0x18, 0x3E, 0xFC, 0x04, 0x23, + 0xDC, 0x7A, 0x82, 0xF1, 0x02, 0xC6, 0x64, 0xAD, 0x48, 0x95, 0x63, 0x58, 0xAD, 0x1C, 0xF3, 0xD2, + 0xB0, 0x92, 0xBB, 0x86, 0x79, 0xF9, 0x38, 0xC8, 0xDA, 0x29, 0x20, 0xF6, 0xB0, 0x5C, 0x3A, 0x46, + 0x14, 0x9A, 0xC2, 0xAC, 0x74, 0x5C, 0x05, 0x91, 0x1F, 0xAF, 0x76, 0xF8, 0xEE, 0x0C, 0x7E, 0x3D, + 0x3C, 0x6A, 0xC9, 0xD7, 0xB5, 0x8F, 0x5A, 0xF2, 0xAF, 0x44, 0xE8, 0x1F, 0xF0, 0xFD, 0x5F, 0xE9, + 0xC1, 0x6D, 0x64, 0xC7, 0x57, 0x00, 0x00 }; #endif //__nofile_h diff --git a/esp3d/syncwebserver.cpp b/esp3d/syncwebserver.cpp index afdbaec8..54df9dc5 100644 --- a/esp3d/syncwebserver.cpp +++ b/esp3d/syncwebserver.cpp @@ -35,11 +35,13 @@ #if defined ( ARDUINO_ARCH_ESP8266) #include "ESP8266WiFi.h" #include -#else //ESP32 +#endif +#if defined ( ARDUINO_ARCH_ESP32) #include #include #include "SPIFFS.h" #include "Update.h" +#include #endif #include "GenLinkedList.h" @@ -72,16 +74,41 @@ WebSocketsServer * socket_server; #define ESP_ERROR_BUFFER_OVERFLOW 11 #define ESP_ERROR_START_UPLOAD 12 -void pushError(int code, const char * st){ +void pushError(int code, const char * st, bool web_error = 500, uint16_t timeout = 1000){ if (socket_server && st) { String s = "ERROR:" + String(code) + ":"; s+=st; socket_server->sendTXT(ESPCOM::current_socket_id, s); + if (web_error != 0) { + if (web_interface) { + if (web_interface->web_server.client().available() > 0) { + web_interface->web_server.send (500, "text/xml", st); + } + } + } + uint32_t t = millis(); + while (millis() - t < timeout) { + socket_server->loop(); + delay(10); + } } - uint32_t t = millis(); - while (millis() - t < 1000) { - socket_server->loop(); - delay(10); +} + +//abort reception of packages +void cancelUpload(){ + if (web_interface) { + if (web_interface->web_server.client().available() > 0) { + HTTPUpload& upload = (web_interface->web_server).upload(); + upload.status = UPLOAD_FILE_ABORTED; +#if defined (ARDUINO_ARCH_ESP8266) + web_interface->web_server.client().stopAll(); +#endif +#if defined (ARDUINO_ARCH_ESP32) + errno = ECONNABORTED; + web_interface->web_server.client().stop(); +#endif + delay(100); + } } } @@ -135,18 +162,6 @@ const uint8_t PAGE_404 [] PROGMEM = "\n\nRedirecting...</titl const uint8_t PAGE_CAPTIVE [] PROGMEM = "<HTML>\n<HEAD>\n<title>Captive Portal \n\n\n
Captive Portal page : $QUERY$- you will be redirected...\n

\nif not redirected, click here\n

\n\n\n\n
\n\n\n\n"; #define CONTENT_TYPE_HTML "text/html" -void cancelUpload(){ - HTTPUpload& upload = (web_interface->web_server).upload(); - upload.status = UPLOAD_FILE_ABORTED; -#if defined ( ARDUINO_ARCH_ESP8266) - web_interface->web_server.client().stopAll(); -#else - errno = ECONNABORTED; - web_interface->web_server.client().stop(); -#endif - delay(100); -} - //Root of Webserver///////////////////////////////////////////////////// void handle_web_interface_root() @@ -236,6 +251,8 @@ void handle_login() ((sUser==FPSTR(DEFAULT_USER_LOGIN)) && (strcmp(sPassword.c_str(),suserPassword.c_str()) == 0)))) { msg_alert_error=true; smsg=F("Error: Incorrect password"); + Serial.println(sPassword.c_str()); + Serial.println(sadminPassword.c_str()); code = 401; } } @@ -363,6 +380,7 @@ void handleFileList() String status = "Ok"; if ((web_interface->_upload_status == UPLOAD_STATUS_FAILED) || (web_interface->_upload_status == UPLOAD_STATUS_FAILED)) { status = "Upload failed"; + web_interface->_upload_status=UPLOAD_STATUS_NONE; } //be sure root is correct according authentication if (auth_level == LEVEL_ADMIN) { @@ -615,17 +633,35 @@ void SPIFFSFileupload() if (fsUploadFile ) { fsUploadFile.close(); } - //create file - fsUploadFile = SPIFFS.open(filename, SPIFFS_FILE_WRITE); - //check If creation succeed - if (fsUploadFile) { - //if yes upload is started - web_interface->_upload_status= UPLOAD_STATUS_ONGOING; - } else { - //if no set cancel flag - web_interface->_upload_status=UPLOAD_STATUS_FAILED; - ESPCOM::println (F ("Error ESP create"), PRINTER_PIPE); - pushError(ESP_ERROR_FILE_CREATION, "File creation failed"); + if ((web_interface->web_server).hasArg (sizeargname.c_str()) ) { + uint32_t filesize = (web_interface->web_server).arg (sizeargname.c_str()).toInt(); +#if defined ( ARDUINO_ARCH_ESP8266) + fs::FSInfo info; + SPIFFS.info(info); + uint32_t freespace = info.totalBytes- info.usedBytes; +#endif +#if defined ( ARDUINO_ARCH_ESP32) + uint32_t freespace = SPIFFS.totalBytes() - SPIFFS.usedBytes(); +#endif + + if (filesize > freespace) { + web_interface->_upload_status=UPLOAD_STATUS_FAILED; + pushError(ESP_ERROR_NOT_ENOUGH_SPACE, "Upload rejected, not enough space"); + } + } + if (web_interface->_upload_status != UPLOAD_STATUS_FAILED) { + //create file + fsUploadFile = SPIFFS.open(filename, SPIFFS_FILE_WRITE); + //check If creation succeed + if (fsUploadFile) { + //if yes upload is started + web_interface->_upload_status= UPLOAD_STATUS_ONGOING; + } else { + //if no set cancel flag + web_interface->_upload_status=UPLOAD_STATUS_FAILED; + ESPCOM::println (F ("Error ESP create"), PRINTER_PIPE); + pushError(ESP_ERROR_FILE_CREATION, "File creation failed"); + } } //Upload write //************** @@ -697,22 +733,41 @@ void WebUpdateUpload() if(upload.status == UPLOAD_FILE_START) { ESPCOM::println (F ("Update Firmware"), PRINTER_PIPE); web_interface->_upload_status= UPLOAD_STATUS_ONGOING; + String sizeargname = upload.filename + "S"; + #if defined ( ARDUINO_ARCH_ESP8266) WiFiUDP::stopAll(); #endif + size_t flashsize = 0; #if defined ( ARDUINO_ARCH_ESP8266) - maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; + flashsize = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; #else - //Not sure can do OTA on 2Mb board - maxSketchSpace = (ESP.getFlashChipSize()>0x20000)?0x140000:0x140000/2; + + if (esp_ota_get_running_partition()) { + const esp_partition_t* partition = esp_ota_get_next_update_partition(NULL); + if (partition) { + flashsize = partition->size; + } + } #endif - last_upload_update = 0; - if(!Update.begin(maxSketchSpace)) { //start with max available size + if ((web_interface->web_server).hasArg (sizeargname.c_str()) ) { + maxSketchSpace = (web_interface->web_server).arg (sizeargname).toInt(); + } else { + maxSketchSpace = flashsize; + } + if ((flashsize > flashsize) || (flashsize == 0)) { web_interface->_upload_status=UPLOAD_STATUS_FAILED; pushError(ESP_ERROR_NOT_ENOUGH_SPACE, "Upload rejected"); - } else { - if (( CONFIG::GetFirmwareTarget() == REPETIER4DV) || (CONFIG::GetFirmwareTarget() == REPETIER)) ESPCOM::println (F ("Update 0%%"), PRINTER_PIPE); - else ESPCOM::println (F ("Update 0%"), PRINTER_PIPE); + } + if (web_interface->_upload_status != UPLOAD_STATUS_FAILED) { + last_upload_update = 0; + if(!Update.begin(maxSketchSpace)) { //start with max available size + web_interface->_upload_status=UPLOAD_STATUS_FAILED; + pushError(ESP_ERROR_NOT_ENOUGH_SPACE, "Upload rejected"); + } else { + if (( CONFIG::GetFirmwareTarget() == REPETIER4DV) || (CONFIG::GetFirmwareTarget() == REPETIER)) ESPCOM::println (F ("Update 0%%"), PRINTER_PIPE); + else ESPCOM::println (F ("Update 0%"), PRINTER_PIPE); + } } //Upload write //************** @@ -745,12 +800,13 @@ void WebUpdateUpload() } else if(upload.status == UPLOAD_FILE_ABORTED) { ESPCOM::println (F("Update Failed"), PRINTER_PIPE); web_interface->_upload_status=UPLOAD_STATUS_FAILED; - pushError(ESP_ERROR_UPLOAD_CANCELLED, "Upload cancelled"); + //pushError(ESP_ERROR_UPLOAD_CANCELLED, "Upload cancelled"); } } if (web_interface->_upload_status==UPLOAD_STATUS_FAILED) { cancelUpload(); + Update.end(); } CONFIG::wait(0); @@ -1337,7 +1393,7 @@ void SDFile_serial_upload() } else { //UPLOAD_FILE_ABORTED LOG("Error, Something happened\r\n"); web_interface->_upload_status= UPLOAD_STATUS_FAILED; - pushError(ESP_ERROR_UPLOAD_CANCELLED, "Upload cancelled"); + //pushError(ESP_ERROR_UPLOAD_CANCELLED, "Upload cancelled"); } }