diff --git a/Documentation/Grow Controller EL System Diagram.vsdx b/Documentation/Grow Controller EL System Diagram.vsdx index de0975b..e30fd96 100644 Binary files a/Documentation/Grow Controller EL System Diagram.vsdx and b/Documentation/Grow Controller EL System Diagram.vsdx differ diff --git a/Firmware/CustomHandlers.cpp b/Firmware/CustomHandlers.cpp new file mode 100644 index 0000000..8b008a6 --- /dev/null +++ b/Firmware/CustomHandlers.cpp @@ -0,0 +1,416 @@ +// +// +#include "CustomHandlers.h" +#include "WiFiStateHandler.h" + +// General Purpose helper stuff + +// Handlers + +void HandleNotFound() { + bool found = false; + const DirEntry *de = Directory; + Serial.printf("No Custom Handler for '%s'\n", server.uri().c_str()+1); + while (de->Filename) { + Serial.printf("test for '%s' with '%s'\n", de->Filename, server.uri().c_str()+1); +#if 0 + if (0 == strcmp(server.uri().c_str()+1, de->Filename)) { + Serial.printf("send '%s' (%i B) as '%s'\n", de->Filename, de->Filesize, de->Filetype); + server.send_P(200, de->Filetype, (const char *)de->Filedata, de->Filesize); + found = true; + break; + } +#endif + de++; + } + if (!found) { + Serial.printf("!found '%s' - redirect to home\n", server.uri().c_str()); + server.sendHeader("Location", "/", true); + server.send(302, "text/plain", "Not supported. Heading for home."); + } +} + +void HandleMyIP_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + String message = "var mySite = 'http://"; + message += String(WiFi.localIP()[0]); + message += "." + String(WiFi.localIP()[1]); + message += "." + String(WiFi.localIP()[2]); + message += "." + String(WiFi.localIP()[3]); + message += "';\n"; + server.send(200, "text/javascript", message); +} + + +void HandleRootPage() { + if (server.hasArg("SW")) { + String newState = server.arg("SW"); + if (newState == "1") { + // @todo SetCircuit(CMD_On); + Serial.printf("SW 1\n"); + } else if (newState == "0") { + // @todo SetCircuit(CMD_Off); + Serial.printf("SW 0\n"); + } else if (newState == "2") { + // @todo SetCircuit(CMD_Toggle); + Serial.printf("SW 2\n"); + } else { + Serial.printf("SW %s ???\n", newState.c_str()); + ; // no action + } + } + // @todo String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; + // @todo String status = GetCircuitStatus() ? "On
" : "Off
"; + String myIP = String(WiFi.localIP()[0]); + myIP += "." + String(WiFi.localIP()[1]); + myIP += "." + String(WiFi.localIP()[2]); + myIP += "." + String(WiFi.localIP()[3]); + server.send_P(200, "text/html", (const char *)index_htm); +} + +static String EncType_str(uint8_t encType) { + switch (encType) { + case ENC_TYPE_NONE: + return "open"; + break; + case ENC_TYPE_WEP: + return "wep"; + break; + case ENC_TYPE_TKIP: + return "wpa psk"; + break; + case ENC_TYPE_CCMP: + return "wpa2 psk"; + break; + case ENC_TYPE_AUTO: + return "wpa wpa2 psk"; + break; + default: + return "unknown"; + break; + } +} + +void HandleAPScan() { + // WiFi.scanNetworks will return the number of networks found + Serial.println("Scan ..."); + int n = WiFi.scanNetworks(false, true); // blocking call and show hidden. + Serial.println("scan done."); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + server.sendContent_P("HTTP/1.1 200 OK\r\n"); + server.sendContent_P("Content-Type: text/html\r\n"); + server.sendContent_P("\r\n"); + server.sendContent_P( + "\n" + "\n" + "Grow Controller - Scan\n" + "\n" + "

Grow Controller - Scan

" + ); + + server.sendContent_P( + "
\n" + "
\n" + " \n" + " \n" + ); + + for (int i = 0; i < n; ++i) { + // Select, Network #, RSSI, SSID, BSSID, Channel, Hidden + String bgcolor = (i & 1) ? "#E0E0E0" : "#FFFFFF"; + String record = + " \n" + + " \n" + + " \n" + + " \n" + + " \n"; + + record += " \n"; + record += " \n"; + record += WiFi.isHidden(i) + ? " \n" + : " \n"; + record += " \n"; + server.sendContent(record); + // + Serial.print(i + 1); + Serial.print(": "); + Serial.print(WiFi.SSID(i)); + Serial.print(" ("); + Serial.print(WiFi.RSSI(i)); + Serial.print(")"); + Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); + } + server.sendContent_P( + " \n" + " \n" + " \n" + "
NetRSSISSIDBSSIDEncryptionChannelHidden
" + (i + 1) + "" + WiFi.RSSI(i) + "" + WiFi.SSID(i) + "
" + + "
" + WiFi.BSSIDstr(i) + "" + EncType_str(WiFi.encryptionType(i)) + "" + String(WiFi.channel(i)); + record += "YesNo
 \n" + " \n" + " \n" + "
\n" + "
\n" + "
\n" + "NAV:  " + " Home | " + " Config | " + " Scan | " + " RSSI | " + " Current | " + " Factory Reset | " + " About\n" + "
\n" + "\n" + "\n" + ); + } +} + +void HandleAPConfigPage() { + String name = wifiConfig.getName(); + String ssid = wifiConfig.getSSID(); + String pass = wifiConfig.getPassword(); + String url = wifiConfig.getURL(); + //String ntp = wifiConfig.getNTPServerName(); + char _onref[6], _offref[6], _autoOff[6]; + + snprintf(_onref, sizeof(_onref), "%d", wifiConfig.getOnRef()); + snprintf(_offref, sizeof(_offref), "%d", wifiConfig.getOffRef()); + snprintf(_autoOff, sizeof(_autoOff), "%d", wifiConfig.getAutoOff()); + String onref = String(_onref); + String offref = String(_offref); + String autooff = String(_autoOff); + + if (server.hasArg("ssid") && server.hasArg("pass")) { + String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : ""; + String _pass = server.hasArg("_pass") ? server.arg("_pass") : ""; + name = server.arg("name"); + ssid = server.arg("ssid"); + pass = server.arg("pass"); + url = server.hasArg("url") ? server.arg("url") : ""; + onref = server.hasArg("onref") ? server.arg("onref") : ""; + offref = server.hasArg("offref") ? server.arg("offref") : ""; + autooff = server.hasArg("autooff") ? server.arg("autooff") : ""; + //ntp = server.hasArg("ntp") ? server.arg("ntp") : ""; + if (ssid == "reset" && pass == "reset") { + FactoryReset(true); + } + wifiConfig.setName(name); + wifiConfig.setSSID(ssid); + wifiConfig.setPassword(pass); + wifiConfig.setURL(url); + wifiConfig.setOnRef(onref.toInt()); + wifiConfig.setOffRef(offref.toInt()); + wifiConfig.setAutoOff(autooff.toInt()); + //wifiConfig.setNTPServerName(ntp); + wifiConfig.save(); + Serial.println("Settings saved."); + if (ssid != _ssid || pass != _pass) { + // They changed stuff that requires a restart. + server.send(200, "text/html", "Configuration Saved! Restarting in 3 sec..."); + Serial.printf("Config saved. Restarting in 3 sec . . ."); + delay(3000); + ESP.restart(); + return; + } + } + + String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station mode
" : "Access Point mode
"; + if (server.hasArg("ssid") && !server.hasArg("pass")) { + ssid = server.arg("ssid"); + pass = ""; + Serial.println("ssid: " + ssid + ", pass: " + pass); + } + if (server.hasArg("url")) + url = server.arg("url"); + //if (server.hasArg("ntp")) + // ntp = server.arg("ntp"); + server.send(200, "text/html", + "\n" + "\n" + "Grow Controller - Config\n" + "\n" + "

Grow Controller - Configuration

" + "
\n" + "
\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" +// " \n" +// " \n" +// " \n" +// " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "
Node Name
SSID **\n" + "
Password **\n" + "
Update URL
NTP Server
Auto-Off (time in seconds when non-zero)
On Reference (sense above this indicates power is on)
Off Reference (sense below this indicates power is off)
 \n" + " \n" + " ** Changes to these will trigger a module restart.\n" + "

 Check for SW update (module will restart if updated)
\n" + "
\n" + "
\n" + "NAV:  " + " Home | " + " Config | " + " Scan | " + " RSSI | " + " Current | " + " Factory Reset | " + " About\n" + "
\n" + "\n" + "\n" + ); +} + + +// ################################################################### +// +// Old handlers, for 'static' information that needs to be send to +// build a web page. +// +// This is to be obsoleted by the new method at the top of this file. +// +// ################################################################### + + +void HandlePlantModel() { + Serial.printf("PlantModel\n"); + server.send_P(200, "image/png", plantmodel_png, sizeof(plantmodel_png)); +} +void HandlePlantModel_css() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/css", plantmodel_css); +} +void HandleButton_css() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/css", button_css); +} +void HandleIndex_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/javascript", index_js); +} +void HandleAbout_htm() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/html", about_htm); +} +void HandleAbout_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/javascript", about_js); +} +void HandleFavIcon() { + Serial.printf("favicon.ico\n"); + server.send_P(200, "image/x-icon", favicon_ico, sizeof(favicon_ico)); +} +void HandleIcon() { + Serial.printf("icon.png\n"); + server.send_P(200, "image/png", icon_png, sizeof(icon_png)); +} +void HandleOpenDoor() { + Serial.printf("open.png\n"); + server.send_P(200, "image/png", open_png, sizeof(open_png)); +} +void HandleGreen1x1() { + Serial.printf("green1x1.png\n"); + server.send_P(200, "image/png", green1x1_png, sizeof(green1x1_png)); +} +void HandleHeaterOn() { + Serial.printf("soilheater_on.png\n"); + server.send_P(200, "image/png", soilheater_on_png, sizeof(soilheater_on_png)); +} +void HandleHeaterOff() { + Serial.printf("soilheater_off.png\n"); + server.send_P(200, "image/png", soilheater_off_png, sizeof(soilheater_off_png)); +} +void HandleThermometer() { + Serial.printf("thermometer.png\n"); + server.send_P(200, "image/png", thermometer_png, sizeof(thermometer_png)); +} +void HandleSoilMoisture() { + Serial.printf("soilmoisture.png\n"); + server.send_P(200, "image/png", soilmoisture_png, sizeof(soilmoisture_png)); +} +void HandlePointer() { + Serial.printf("pointer.png\n"); + server.send_P(200, "image/png", pointer_png, sizeof(pointer_png)); +} +void HandleWater() { + Serial.printf("water.png\n"); + server.send_P(200, "image/png", water_png, sizeof(water_png)); +} +void HandleRSSIPage() { + server.send_P(200, "text/html", rssi_htm); +} +void HandleRSSI_js() { + server.send_P(200, "text/javascript", rssi_js); +} +void HandleCurrPage() { + server.send_P(200, "text/html", curr_htm); +} +void HandleCurr_js() { + server.send_P(200, "text/javascript", curr_js); +} +void HandleNav_js() { + server.send_P(200, "text/javascript", nav_js); +} +void HandleSWUpdateCheck() { + updateCheck = true; + HandleAPConfigPage(); +} + +#if 0 +void HandleCircuitOn() { + //SetCircuit(CMD_On); + HandleGetState(); // Reply with current state +} +void HandleCircuitOff() { + //SetCircuit(CMD_Off); + HandleGetState(); // Reply with current state +} +void HandleCircuitToggle() { + //SetCircuit(CMD_Toggle); + HandleGetState(); // Reply with current state +} +#endif diff --git a/Firmware/CustomHandlers.h b/Firmware/CustomHandlers.h new file mode 100644 index 0000000..87fe280 --- /dev/null +++ b/Firmware/CustomHandlers.h @@ -0,0 +1,59 @@ +// +// +// Custom Web Page Handlers +// +// For accepting and processing arguments, or for custom page +// generation. +// +#ifndef CUSTOMHANDERS_H +#define CUSTOMHANDERS_H + +#include "ProjGlobals.h" +#include "Web_Resources.h" + +/// If a URI does not have a custom handler hook, it will scan the file system for the target resource. +/// Only if it is then not found will it try to redirect the user to the main page. +/// +void HandleNotFound(); + +/// +/// For all of the following, there is actively generated content on the page, +/// so it must have a custom handler. +/// +void HandleRootPage(); +void HandleMyIP_js(); +void HandleAPConfigPage(); + +void HandlePlantModel(); + + +void HandleAPScan(); +void HandlePlantModel(); +void HandlePlantModel_css(); +void HandleButton_css(); +void HandleIndex_js(); +void HandleAbout_htm(); +void HandleAbout_js(); +void HandleCircuitOn(); +void HandleCircuitOff(); +void HandleCircuitToggle(); +void HandleSWUpdateCheck(); +void HandleFavIcon(); +void HandleIcon(); +void HandleOpenDoor(); +void HandleGreen1x1(); +void HandleFavIcon(); +void HandleHeaterOn(); +void HandleWater(); +void HandleRSSIPage(); +void HandleRSSI_js(); +void HandleCurrPage(); +void HandleCurr_js(); +void HandleNav_js(); +void HandleHeaterOn(); +void HandleHeaterOff(); +void HandleThermometer(); +void HandleSoilMoisture(); +void HandlePointer(); + +#endif // CUSTOMHANDERS_H diff --git a/Firmware/DNSServer.cpp b/Firmware/DNSServer.cpp deleted file mode 100644 index d1d8967..0000000 --- a/Firmware/DNSServer.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "./DNSServer.h" -#include -#include - -#define DEBUG -#define DEBUG_OUTPUT Serial - -DNSServer::DNSServer() { - _ttl = htonl(60); - _errorReplyCode = DNSReplyCode::NonExistentDomain; -} - -bool DNSServer::start(const uint16_t &port, const String &domainName, - const IPAddress &resolvedIP) { - _port = port; - _domainName = domainName; - _resolvedIP[0] = resolvedIP[0]; - _resolvedIP[1] = resolvedIP[1]; - _resolvedIP[2] = resolvedIP[2]; - _resolvedIP[3] = resolvedIP[3]; - downcaseAndRemoveWwwPrefix(_domainName); - return _udp.begin(_port) == 1; -} - -void DNSServer::setErrorReplyCode(const DNSReplyCode &replyCode) { - _errorReplyCode = replyCode; -} - -void DNSServer::setTTL(const uint32_t &ttl) { - _ttl = htonl(ttl); -} - -void DNSServer::stop() { - _udp.stop(); -} - -void DNSServer::downcaseAndRemoveWwwPrefix(String &domainName) { - domainName.toLowerCase(); - domainName.replace("www.", ""); -} - -void DNSServer::processNextRequest() { - _currentPacketSize = _udp.parsePacket(); - if (_currentPacketSize) { - _buffer = (unsigned char*) malloc(_currentPacketSize * sizeof(char)); - _udp.read(_buffer, _currentPacketSize); - _dnsHeader = (DNSHeader*) _buffer; - - if (_dnsHeader->QR == DNS_QR_QUERY && - _dnsHeader->OPCode == DNS_OPCODE_QUERY && - requestIncludesOnlyOneQuestion() && - (_domainName == "*" || getDomainNameWithoutWwwPrefix() == _domainName) - ) { - replyWithIP(); - } else if (_dnsHeader->QR == DNS_QR_QUERY) { - replyWithCustomCode(); - } - - free(_buffer); - } -} - -bool DNSServer::requestIncludesOnlyOneQuestion() { - return ntohs(_dnsHeader->QDCount) == 1 && - _dnsHeader->ANCount == 0 && - _dnsHeader->NSCount == 0 && - _dnsHeader->ARCount == 0; -} - -String DNSServer::getDomainNameWithoutWwwPrefix() { - String parsedDomainName = ""; - unsigned char *start = _buffer + 12; - if (*start == 0) { - return parsedDomainName; - } - int pos = 0; - while (true) { - unsigned char labelLength = *(start + pos); - for (int i = 0; i < labelLength; i++) { - pos++; - parsedDomainName += (char)*(start + pos); - } - pos++; - if (*(start + pos) == 0) { - downcaseAndRemoveWwwPrefix(parsedDomainName); - return parsedDomainName; - } else { - parsedDomainName += "."; - } - } -} - -void DNSServer::replyWithIP() { - _dnsHeader->QR = DNS_QR_RESPONSE; - _dnsHeader->ANCount = _dnsHeader->QDCount; - _dnsHeader->QDCount = _dnsHeader->QDCount; - //_dnsHeader->RA = 1; - - _udp.beginPacket(_udp.remoteIP(), _udp.remotePort()); - _udp.write(_buffer, _currentPacketSize); - - _udp.write((uint8_t) 192); // answer name is a pointer - _udp.write((uint8_t) 12); // pointer to offset at 0x00c - - _udp.write((uint8_t) 0); // 0x0001 answer is type A query (host address) - _udp.write((uint8_t) 1); - - _udp.write((uint8_t) 0); //0x0001 answer is class IN (internet address) - _udp.write((uint8_t) 1); - - _udp.write((unsigned char*) &_ttl, 4); - - // Length of RData is 4 bytes (because, in this case, RData is IPv4) - _udp.write((uint8_t) 0); - _udp.write((uint8_t) 4); - _udp.write(_resolvedIP, sizeof(_resolvedIP)); - _udp.endPacket(); - - - - #ifdef DEBUG - DEBUG_OUTPUT.print("DNS responds: "); - DEBUG_OUTPUT.print(_resolvedIP[0]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[1]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[2]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[3]); - DEBUG_OUTPUT.print(" for "); - DEBUG_OUTPUT.println(getDomainNameWithoutWwwPrefix()); - #endif -} - -void DNSServer::replyWithCustomCode() { - _dnsHeader->QR = DNS_QR_RESPONSE; - _dnsHeader->RCode = (unsigned char) _errorReplyCode; - _dnsHeader->QDCount = 0; - - _udp.beginPacket(_udp.remoteIP(), _udp.remotePort()); - _udp.write(_buffer, sizeof(DNSHeader)); - _udp.endPacket(); -} diff --git a/Firmware/DNSServer.h b/Firmware/DNSServer.h deleted file mode 100644 index f5bab4e..0000000 --- a/Firmware/DNSServer.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef DNSServer_h -#define DNSServer_h -#include - -#define DNS_QR_QUERY 0 -#define DNS_QR_RESPONSE 1 -#define DNS_OPCODE_QUERY 0 - -enum class DNSReplyCode { - NoError = 0, - FormError = 1, - ServerFailure = 2, - NonExistentDomain = 3, - NotImplemented = 4, - Refused = 5, - YXDomain = 6, - YXRRSet = 7, - NXRRSet = 8 -}; - -struct DNSHeader { - uint16_t ID; // identification number - unsigned char RD : 1; // recursion desired - unsigned char TC : 1; // truncated message - unsigned char AA : 1; // authoritive answer - unsigned char OPCode : 4; // message_type - unsigned char QR : 1; // query/response flag - unsigned char RCode : 4; // response code - unsigned char Z : 3; // its z! reserved - unsigned char RA : 1; // recursion available - uint16_t QDCount; // number of question entries - uint16_t ANCount; // number of answer entries - uint16_t NSCount; // number of authority entries - uint16_t ARCount; // number of resource entries -}; - -class DNSServer { -public: - DNSServer(); - void processNextRequest(); - void setErrorReplyCode(const DNSReplyCode &replyCode); - void setTTL(const uint32_t &ttl); - - // Returns true if successful, false if there are no sockets available - bool start(const uint16_t &port, - const String &domainName, - const IPAddress &resolvedIP); - // stops the DNS server - void stop(); - -private: - WiFiUDP _udp; - uint16_t _port; - String _domainName; - unsigned char _resolvedIP[4]; - int _currentPacketSize; - unsigned char* _buffer; - DNSHeader* _dnsHeader; - uint32_t _ttl; - DNSReplyCode _errorReplyCode; - - void downcaseAndRemoveWwwPrefix(String &domainName); - String getDomainNameWithoutWwwPrefix(); - bool requestIncludesOnlyOneQuestion(); - void replyWithIP(); - void replyWithCustomCode(); -}; -#endif diff --git a/Firmware/Firmware.ino b/Firmware/Firmware.ino index e94dc66..2bec465 100644 --- a/Firmware/Firmware.ino +++ b/Firmware/Firmware.ino @@ -1,847 +1,144 @@ -/// -/// -/// Grow Controller -/// -/// -/// The beginnings of a WiFi accessible switch. -/// -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -//#include +#include + +#include "ProjGlobals.h" // Some global settings +#include "WiFiConfiguration.h" // +#include "WiFiStateHandler.h" // Startup as AP or client and transition +#include "CustomHandlers.h" // Handlers for the web pages +#include "PlantModel.h" // The Plant Model controller/simulator/status + +const String AP_NAME = "GrowController"; ///< Network name when in Access Point mode +const String AP_VERS = "v1.00.11"; ///< Compared to the server version for SW Updates + +ESP8266WebServer server(80); +ConfigManager wifiConfig; ///< Track various configuration items + +//ESP8266HTTPUpdate Updater; +bool updateCheck = false; ///< Set when a SW update check is pending -// Application includes -#include "./DNSServer.h" // Patched lib -#include "WiFiConfiguration.h" -#include "Web_RootPage.h" -#include "Web_RSSIGraph.h" -#include "Web_FavIcon.h" -#include "Web_APConfig.h" -#include "ProjGlobals.h" -#include "Web_Resources.h" -#include "GrowController.h" // APIs available in this (.ino) file -#include "fauxmoESP.h" - - -// If there is no hardware, such as with an ESP-01 module only, -// set this. Then it won't loop through reset constantly, and -// other behaviors that will be determined. -#define HW_SIMULATE - -// SW Update Deployment instructions: +// Register the urls with custom handlers +// Register the SSDP interface // -// 1) If any resources changed, rebuild Web_Resources.h -// 2) Update this version number -// 3) Build the binary -// 4) Rename the .bin to match the version (e.g. GrowController v1.02.12.bin) -// 5) Move the product (.bin) to the server location -// 6) Update the PHP script on the server to match this version (if it does not auto-adapt) -// 7) Visit the node's web page and initiate an update, or let it check on its own cycle -// -const String MyVer = "GrowController v2.00.11"; ///< Compared to the server version for SW Updates -#define UPDATE_INTERVAL (12 * 60 * 60 * 1000) ///< Check once every 12 hours -bool swUpdateInProcess = false; ///< Status of an update to keep the relays from running - -// ESP12-E pinout Version 2 -// -// +------------------+ -// | __ __ _____ | -// | | |_| |_| | -// | |__________ | -// |__________________| -// Reset | !Reset Tx | Tx -// Current | ADC Rx | Rx -// Prog En | CHPD-EN GPIO5 | FAULT -// SW_RESET | GPIO16 GPIO4 | SW_TOGGLE -// OLED SCL | GPIO14 GPIO0 | -// RLY Set2 | GPIO12 GPIO2 | OLED SDA -// RLY Set1 | GPIO13 GPIO15 | Pull-down -// | Vcc Gnd | -// +------------------+ - -// ESP12-E pinout Version 1 -// -// +------------------+ -// | __ __ _____ | -// | | |_| |_| | -// | |__________ | -// |__________________| -// Reset | !Reset Tx | Tx -// Current | ADC Rx | Rx -// Prog En | CHPD-EN GPIO5 | -// SW_RESET | GPIO16 GPIO4 | SW_TOGGLE -// RLY Set2 | GPIO14 GPIO0 | -// LED On | GPIO12 GPIO2 | -// RLY Set1 | GPIO13 GPIO15 | LED WiFi -// | Vcc Gnd | -// +------------------+ - -// +-------------+ -// SW_RESET ---+----|(----------->| WiFiConfig |-----> LED_WIFI -// | | | -// | | |-----> isStationMode -// | |-------------| -// +----|>o---------->| Timer | -// | |-----> Factory Reset -// RESET_MS --------------------->| | -// +-------------+ -// -#define SW_RESET 16 ///< The local reset switch -#define RESET_MS 8000 ///< Hold Reset for this long to factory reset -#define LED_WIFI 15 ///< The Pin controlling the WiFi on LED -bool isStationMode = false; ///< Tracks if the WiFi is in station mode - -// WiFI LED Duty Cycle -// -// |******* | AP Mode -// |************************* | Joining AP -// |************************************************ | Joined -// | | | | | | -// 0 100 200 300 400 500ms -// -#define LED_APMODE__MS 80 -#define LED_JOINING_MS 250 -#define LED_JOINED__MS 490 -#define LED_PERIOD__MS 500 - -// __ // -// | \ // -// onRef ------------------------------|- \ +-----------+ // -// | +-----| S Q |--+--> CurrStatus // -// +--------|+ / | | | // -// +---------+ | |__/ +--| R !Q | +--> LED_ON // -// ANA_IN --+--->| average |----+-->iRawSum/X | +-----------+ // -// | +---------+ | __ | // -// | | | \ | // -// +--> iRaw +--------|- \ | // -// | +--+ // -// offRef ------------------------------|+ / // -// |__/ // -// -#define ANA_IN A0 ///< The Analog input signal -#define SENSE_SAMPLE_MS 20 ///< The Sample rate for the analog input -#define AVG_RATIO 64 ///< Average Ratio (new is 1/AVG_RATIO of old) -#define LED_ON 12 ///< The load-on indicating LED -int32_t iRaw; ///< The raw sampled value -int32_t iRawSum; ///< The Averaged Sum of Raw Samples -bool CurrStatus = false; ///< Track the current sense indication of power on/off +void StartWebServer(); -// _ +------------------+ -// Turn On -------------| \____ | +-----------+ | -// +--|>o--|_/ | _ +-->| D !Q |--+ -// CurrStatus --| and +-------->) \ | | -// | _ +-------->) +--->| ck Q |--------> RelayState -// +-------| \____| +---->)_/ +-----------+ -// Turn Off-------------|_/ | or -// and | -// SW_TOGGLE ----|>o---------------+ -// -#define SW_TOGGLE 4 ///< The local toggle switch -bool RelayState = false; ///< The current tracked relay drive state - -// +-----------+ -// | _ _ | -// | _/ _| |_ |--------> Relay Set -// RelayState ---------------------------------->| _ _ | -// | \_ _| |_ |--------> Relay Reset -// | | -// +-----------+ -// -#define RELAY_PULSE_MS 15 ///< Duration of a pulse -#define RLY_SET1 13 ///< The set-pin for the relay -#define RLY_SET2 14 ///< The reset-pin for the relay - -// Timing: -// -// | | | | | -// _________________________ -// 3WaySwitch ____________________/ \__________________ -// | | |b->| | |b->| -// ______________________ -// RelayState __________/ \______________________ -// | |a->| | |a->| | -// | | | | | -// +++++++ ++++++++++ -// +++ +++ +++ +++ -// AnalogIn ++++++++++++ ++++++++++ +++++++++++++++ -// | | | | | -// CurrStatus |Off |On |Off |On |Off -// -// a) Locally applied change in load to filtered AnalogIn delay -// b) Externally applied change in load to filtered AnalogIn delay -// - -bool DebugValue; ///< Makes it chatty while running - -const byte DNS_PORT = 53; ///< Capture DNS requests on port 53 -IPAddress apIP(192,168,4,1); ///< Private network for server -DNSServer dnsServer; ///< Create the DNS object - -ESP8266WebServer server(80); ///< For the user experience -fauxmoESP fauxmo; ///< For the WEMO emulator -ConfigManager wifiConfig; ///< Track various configuration items - -ESP8266HTTPUpdate Updater; -bool updateCheck = false; ///< Set when a SW update check is pending - -uint16_t autoOffTimer; ///< When the output is turned on, this is set to timeout in seconds - -// local functions -void WiFiStateHandler(); ///< WiFi interface manager -void StartWebServer(); ///< Activate the web server -void HandleNotFound(); ///< Webpage for not-found URL -void ProcessAutoOff(bool init = false); ///< Process the auto-off timer - -String AP_SSID = "GrowController"; ///< When in Access Point, this is the prefix -void GetMac(); -String macToStr(const uint8_t* mac); ///< Create C++ String with the mac -String clientMac = ""; ///< Hosts the MAC to easily identify this node - - -// =========================================================================== -typedef enum { - WFC_ConnectToAP, - WFC_JoiningAP, - WFC_JoinedAP, - WFC_CreateAP, - WFC_HostingAP, -} WiFiConnectState; -WiFiConnectState wifiConState; ///< Track the current WiFi state - -void SetLED(int pin, int state) { - digitalWrite(pin, state); - if (pin == LED_WIFI) - ; // Serial.printf("SET LED_WIFI to %d\n", state); - else if (pin == LED_ON) - Serial.printf("SET LED_ON to %d\n", state); - else - Serial.printf("***** ERROR setting LED pin %d to %d\n", pin, state); -} - -void ResetMonitor(bool init = false) { - static unsigned long timeAtReset; - static bool monitorActive; - - if (init) { - timeAtReset = millis(); - monitorActive = true; - } else if (monitorActive) { - int sw_state = digitalRead(SW_RESET); - #ifdef HW_SIMULATE - sw_state = 1; - #endif - if (sw_state == 1) { - // not pressed - monitorActive = false; - } else if ((millis() - timeAtReset) > RESET_MS) { - // reset has been held long enough - FactoryReset(true); - } - } -} - -// -// Average the new sample by summation with 7/8 of the running Sum. -// -void ProcessCurrentSense() { - static unsigned long last = millis(); - unsigned long now = millis(); - - if (now - last > SENSE_SAMPLE_MS) { - last = now; - iRaw = analogRead(ANA_IN); // 1023 = 1.0v - iRawSum = iRawSum - (iRawSum / AVG_RATIO) + iRaw; // Now have running avg. - if (DebugValue) - Serial.printf("Sample: %d, rawSum: %d, relay: %d (%d%d), \n", - iRaw, iRawSum, RelayState, digitalRead(RLY_SET1), digitalRead(RLY_SET2)); - if (iRawSum / AVG_RATIO > wifiConfig.getOnRef() && !CurrStatus) { - CurrStatus = true; - SetLED(LED_ON, 1); - ProcessAutoOff(true); - autoOffTimer = wifiConfig.getAutoOff(); // if zero, we do nothing... - Serial.printf("Auto Off Timer set to %d\n", autoOffTimer); - } else if (iRawSum / AVG_RATIO < wifiConfig.getOffRef() && CurrStatus) { - CurrStatus = false; - SetLED(LED_ON, 0); - } - } -} - -// _______ ___ __ _______ -// Press \_________________________/ \___/ \___/ -// | | -// v v -// _ _ -// Toggle _______/ \____________.............../ \______________.... -// -// Sample | | | | | ... -// Block |---- 80 ms ---| |---- 80 ms -----| -#define Block_ms 800 -#define SAMPL_ms 100 -void ProcessToggleSw() { - static unsigned long last = millis(); - static bool lastSWState = false; - static uint8_t blockTics; - unsigned long now = millis(); - - if (now - last > SAMPL_ms) { - last = now; - if (blockTics) { - blockTics--; - return; - } - bool swState = !digitalRead(SW_TOGGLE); // active low is pressed. - if (DebugValue) - Serial.printf("Sample: %d, rawSum: %d, relay: %d (%d%d), sw: %d\n", - iRaw, iRawSum, RelayState, digitalRead(RLY_SET1), digitalRead(RLY_SET2), swState); - if (swState != lastSWState && swState == true) { - Serial.printf("Toggle pushed\n"); - blockTics = Block_ms / SAMPL_ms; - SetCircuit(CMD_Toggle); - } - lastSWState = swState; - } -} - -// Drive Relay controls pulsing either the set or the reset pin -// -// If the control signal changes, then it will generate a pulse on the -// appropriate relay driver pin, ensuring that the alternate pin is -// first off. -// -// This API is also called periodically, which permits it to then -// time and auto-off any active control pin. -// -// @param i can be -1 for timing, 0 to drive one relay pin, 1 to drive the other. -// -void DriveRelay(int i = -1) { - static int currentSignal = -1; - static bool isActive = false; - static unsigned long timeSet = 0; - - if (swUpdateInProcess) - i = 2; - - switch (i) { - case -1: - // Any active timing to process - if (isActive && (millis() - timeSet > RELAY_PULSE_MS)) { - digitalWrite(RLY_SET1, LOW); - digitalWrite(RLY_SET2, LOW); - isActive = false; - } - break; - case 0: - if (i != currentSignal) { - currentSignal = i; - digitalWrite(RLY_SET2, LOW); // Turn off the alternate - digitalWrite(RLY_SET1, HIGH); - timeSet = millis(); - isActive = true; - } - break; - case 1: - if (i != currentSignal) { - currentSignal = i; - digitalWrite(RLY_SET1, LOW); // Turn off the alternate - digitalWrite(RLY_SET2, HIGH); - timeSet = millis(); - isActive = true; - } - break; - case 2: - default: - // Error, or the force-off state - digitalWrite(RLY_SET1, LOW); // Turn off the elements - digitalWrite(RLY_SET2, LOW); - isActive = false; - break; - } -} - -void ProcessNameChange() { - char xName[CFG_NAMESIZE]; - - fauxmo.getDeviceName(0, xName, CFG_NAMESIZE); - if (0 != strcmp(wifiConfig.getName().c_str(), xName)) { - fauxmo.renameDevice(0, wifiConfig.getName().c_str()); - } -} - -void ProcessSWUpdate() { - static unsigned long lastCheck; - unsigned long nowCheck = millis(); - - if ((nowCheck - lastCheck) > (UPDATE_INTERVAL)) { - lastCheck = nowCheck; - updateCheck = true; - } - if (updateCheck) { - WiFiClient wifiClient; - swUpdateInProcess = true; - Serial.printf("SW Update start '%s'...\n", wifiConfig.getURL().c_str()); - t_httpUpdate_return swRet = Updater.update(wifiClient, wifiConfig.getURL(), MyVer); - switch (swRet) { - default: - case HTTP_UPDATE_FAILED: - Serial.printf("SW Update - failed.\n"); - Serial.printf("Error: %s\n", Updater.getLastErrorString().c_str()); - delay(100); - ESP.restart(); - break; - case HTTP_UPDATE_NO_UPDATES: - Serial.printf("SW Update - no updates.\n"); - break; - case HTTP_UPDATE_OK: - Serial.printf("SW Update - update ok.\n"); - break; - } - swUpdateInProcess = false; - updateCheck = false; - Serial.printf("SW Update - process end.\n"); - } -} - -void ProcessConsole() { - if (Serial.available()) { - int ch = Serial.read(); - Serial.printf("Serial.available() => %d\n", ch); - switch (ch) { - case '0': - iRawSum = 10; - break; - case '1': - iRawSum = 1000; - break; - case 'd': - DebugValue = !DebugValue; - break; - case 'u': - updateCheck = true; - break; - case '\x0D': // Ignore - break; - case '?': - default: - DebugValue = false; - Serial.printf("Commands:\n"); - Serial.printf(" 0|1 Off or On (by forcing rawSum\n"); - Serial.printf(" d Debug toggle\n"); - Serial.printf(" u update check\n"); - break; - } - } - static unsigned long last = millis(); - if (millis() - last > 5000) { - static uint32_t refFreeHeap; - uint32_t freeHeap = ESP.getFreeHeap(); - last = millis(); - if (freeHeap != refFreeHeap) - Serial.printf("[MAIN] Free heap: %d bytes\n", ESP.getFreeHeap()); - refFreeHeap = freeHeap; - } -} - -void ProcessAutoOff(bool init) { - static unsigned long lastCheck; - unsigned long nowCheck = millis(); - - if (init) - lastCheck = nowCheck; - if (autoOffTimer && ((nowCheck - lastCheck) >= 1000)) { - lastCheck += 1000; - --autoOffTimer; - SetLED(LED_ON, autoOffTimer & 1); // During auto-Off, blink slowly... - if (autoOffTimer == 0) { - Serial.printf("AutoOff time remaining 0 sec. Off Now.\n"); - SetCircuit(CMD_Off); - } - else { - Serial.printf("AutoOff time remaining %d sec\n", autoOffTimer); - } - } -} - -void HWIOInit() { - // User push-buttons - pinMode(SW_TOGGLE, INPUT); - pinMode(SW_RESET, INPUT); - // Turn off relay drivers - pinMode(RLY_SET1, OUTPUT); - digitalWrite(RLY_SET1, 0); - pinMode(RLY_SET2, OUTPUT); - digitalWrite(RLY_SET2, 0); - // Turn off user LEDs - pinMode(LED_ON, OUTPUT); - digitalWrite(LED_ON, 0); - pinMode(LED_WIFI, OUTPUT); - digitalWrite(LED_WIFI, 0); +void setup() { + Serial.begin(115200); + Serial.printf("\n"); + Serial.printf("\n******************************************************************\n"); + Serial.printf(" %s Web Server - Build " __DATE__ " " __TIME__ "\n", AP_NAME.c_str()); + Serial.printf(" Version %s\n", AP_VERS.c_str()); + Serial.printf(" Copyright (c) 2021 by Smartware Computing, all rights reserved.\n"); + Serial.printf("******************************************************************\n"); + wifiConfig.load(); } -void setup(void) { - HWIOInit(); - ResetMonitor(true); /// Initialize the reset switch monitor for long press - Serial.begin(115200); - Serial.printf("\n******************************************************************\n"); - Serial.printf(" GrowController Web Server - Build " __DATE__ " " __TIME__ "\n"); - Serial.printf(" Version %s\n", MyVer.c_str()); - Serial.printf(" Copyright (c) 2018 by Smartware Computing, all rights reserved.\n"); - Serial.printf("******************************************************************\n"); +void loop() { + // + // Process WiFi State Changes + // + static WiFiConnectState lastState = WFC_Idle; + WiFiConnectState currState = WiFiStateHandler(); + if (lastState != currState) { + lastState = currState; + switch (currState) { // On change to this state + default: + break; + case WFC_HostingAP: + case WFC_JoinedAP: + StartWebServer(); + break; + } + } else { + switch (currState) { + default: + break; + case WFC_HostingAP: + case WFC_JoinedAP: + server.handleClient(); + break; + } + } - GetMac(); - AP_SSID += "-"; - AP_SSID += clientMac; - - wifiConfig.load(); - String name = wifiConfig.getName(); - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - if (ssid == "" || pass == "") - wifiConState = WFC_CreateAP; - else - wifiConState = WFC_ConnectToAP; - #if 0 - if (MDNS.begin("esp")) { // clientMac.c_str() - //MDNS.addService("switch", "tcp", 80); - //MDNS.addServiceTxt("switch", "tcp", "switchkey", "SWITCHVALUE"); - Serial.printf("MDNS responder started.\n"); - } - #endif - StartWebServer(); - #if 1 - fauxmo.addDevice(name.c_str()); - fauxmo.enable(true); - fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state) { - Serial.printf("[MAIN] Device #%d (%s) state command: %s\n", device_id, device_name, state ? "ON" : "OFF"); - if ((state && !CurrStatus) - || (!state && CurrStatus)) { - SetCircuit(RelayState ? CMD_Off : CMD_On); - } - }); - fauxmo.onGetState([](unsigned char device_id, const char * device_name) { - (void) device_id; - (void) device_name; - return CurrStatus; // GetCircuitStatus(); // whatever the state of the device is - }); - #endif + // + // + // + simulation(); + // @todo delay(1); } - -void loop(void) { - ResetMonitor(); // Monitor for long press to factory reset - WiFiStateHandler(); // start/connect as AP or Station - ProcessSWUpdate(); // query the server for fresh SW - fauxmo.handle(); // WEMO interface - ProcessNameChange(); // Update fauxmo if the name changes - ProcessCurrentSense(); // Get status by measuring current - ProcessToggleSw(); // Monitor for user pressing toggle - DriveRelay(); // Do what the relays need, if anything - ProcessConsole(); - ProcessAutoOff(); // If auto-off is enabled... -} - - -// ########################################################################### - -void WiFiStateHandler() { - static unsigned long timeStateChange = 0; - static unsigned long timeLEDControl; - unsigned long timeLEDCycle; - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - IPAddress myIP; - - timeLEDCycle = millis() - timeLEDControl; - if (timeLEDCycle >= LED_PERIOD__MS) { - timeLEDControl = millis(); - timeLEDCycle = 0; - } - switch (wifiConState) { - case WFC_ConnectToAP: - isStationMode = true; - WiFi.mode(WIFI_STA); - ssid = wifiConfig.getSSID(); - pass = wifiConfig.getPassword(); - WiFi.begin(ssid.c_str(), pass.c_str()); - timeStateChange = millis(); - timeLEDControl = timeStateChange; - wifiConState = WFC_JoiningAP; - break; - case WFC_JoiningAP: - if (timeLEDCycle <= LED_JOINING_MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - if (WiFi.status() == WL_CONNECTED) { - myIP = WiFi.localIP(); - Serial.printf("IP Address: %s\n", myIP.toString().c_str()); - timeStateChange = millis(); - StartWebServer(); - wifiConState = WFC_JoinedAP; - } else if (millis() - timeStateChange > 30000) { - timeStateChange = millis(); - wifiConState = WFC_CreateAP; // failed for 30 sec, now what. retry or CreateAP? - } - break; - case WFC_CreateAP: - if (timeLEDCycle <= LED_APMODE__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - isStationMode = false; - Serial.printf("Starting Access Point %s\n", AP_SSID.c_str()); - WiFi.softAP(AP_SSID.c_str()); - myIP = WiFi.softAPIP(); - Serial.printf("IP Address: %s\n", myIP.toString().c_str()); - dnsServer.start(DNS_PORT, "*", apIP); - timeStateChange = millis(); - StartWebServer(); - wifiConState = WFC_HostingAP; - break; - case WFC_JoinedAP: - if (timeLEDCycle <= LED_JOINED__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - server.handleClient(); - break; - case WFC_HostingAP: - if (timeLEDCycle <= LED_APMODE__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - server.handleClient(); - dnsServer.processNextRequest(); - break; - } -} - - -bool GetCircuitStatus() { - return CurrStatus; -} -void SetCircuit(CircuitCmd_T newState) { - if (swUpdateInProcess) - return; - switch (newState) { - case CMD_Off: - if (GetCircuitStatus()) { - RelayState = !RelayState; - DriveRelay(RelayState); - } - break; - case CMD_On: - if (!GetCircuitStatus()) { - RelayState = !RelayState; - DriveRelay(RelayState); - } - break; - case CMD_Toggle: - RelayState = !RelayState; - DriveRelay(RelayState); - break; - default: - break; - } -} - -void HandleCircuitOn() { - SetCircuit(CMD_On); - HandleGetState(); // Reply with current state -} - -void HandleCircuitOff() { - SetCircuit(CMD_Off); - HandleGetState(); // Reply with current state -} - -void HandleCircuitToggle() { - SetCircuit(CMD_Toggle); - HandleGetState(); // Reply with current state -} - -// { -// "id": "5c:cf:7f:c0:52:82", -// "name": "3-Way Switch", -// "state": 0, -// "sense": 56, -// "ip": "192.168.1.23", -// "rssi": -63, -// "countdown": "3:45", -// "uptime": "0:11:45", -// "wifimode": "station"|"ap", -// } -// -void HandleGetState() { - int day, hr, min, sec; - char _upTime[15]; // 0000.00:00:00\0 + 1 spare - char _timeout[10]; // 00:00:00\0 + 1 spare - - sec = millis() / 1000; - min = sec / 60; - hr = min / 60; - day = hr / 24; - if (day) - snprintf(_upTime, sizeof(_upTime), "%dd %d:%02d:%02d", day, hr % 24, min % 60, sec % 60); - else if (hr) - snprintf(_upTime, sizeof(_upTime), "%d:%02d:%02d", hr, min % 60, sec % 60); - else - snprintf(_upTime, sizeof(_upTime), "%02d:%02d", min % 60, sec % 60); - - sec = autoOffTimer; - min = sec / 60; - hr = min / 60; - if (hr) - snprintf(_timeout, sizeof(_timeout), "%d:%02d:%02d", hr, min % 60, sec % 60); - else - snprintf(_timeout, sizeof(_timeout), "%d:%02d", min, sec % 60); - - GetMac(); - String modeText = (isStationMode) ? "Station" : "Access Point"; - String message = "{ \"id\": \"" + String(clientMac) + "\", "; - message += "\"name\": \"" + wifiConfig.getName() + "\", "; - message += "\"version\": \"" + MyVer + "\", "; - message += "\"state\": " + String(CurrStatus) + ", "; - message += "\"raw\": " + String(iRaw) + ", "; - message += "\"sense\": " + String(iRawSum / AVG_RATIO) + ", "; - message += "\"ip\": \"" - + String(WiFi.localIP()[0]) - + "." + String(WiFi.localIP()[1]) - + "." + String(WiFi.localIP()[2]) - + "." + String(WiFi.localIP()[3]) - + "\", "; - message += "\"rssi\": " + String(WiFi.RSSI()) + ", "; - message += "\"countdown\": \"" + String(_timeout) + "\", "; - message += "\"uptime\": \"" + String(_upTime) + "\", "; - message += "\"wifimode\": \"" + modeText + "\", "; - message += "\"toggle\": " + String(!digitalRead(SW_TOGGLE)) + ", "; - message += "\"reset\": " + String(!digitalRead(SW_RESET)); - message += " }"; - if (DebugValue) - Serial.println(message + "\0"); - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send(200, "text/plain", message); -} - - -// Prototypes: -// const char Button_css[] -// const char favicon_ico[] -// const char Green1x1_png[] -// const char index_htm[] -// const char index_js[] -// const char rssi_htm[] -// const char rssi_js[] - -void HandleSWUpdateCheck() { - updateCheck = true; - HandleAPConfigPage(); -} -void HandleButton_css() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", Button_css); -} -void HandleIndex_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", index_js); -} -void HandleAbout_htm() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/html", about_htm); -} -void HandleAbout_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", about_js); -} -void HandleMyIP_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - String message = "var mySite = 'http://"; - message += String(WiFi.localIP()[0]); - message += "." + String(WiFi.localIP()[1]); - message += "." + String(WiFi.localIP()[2]); - message += "." + String(WiFi.localIP()[3]); - message += "';\n"; - server.send(200, "text/plain", message); -} void StartWebServer() { - // path /firmware - //httpUpdater.setup(&server, update_path, update_username, update_password); - server.on("/", HandleRootPage); - server.on("/myip.js", HandleMyIP_js); - server.on("/button.css", HandleButton_css); - server.on("/index.js", HandleIndex_js); - server.on("/about", HandleAbout_htm); - server.on("/about.js", HandleAbout_js); - server.on("/favicon.ico", HandleFavIcon); - server.on("/PlantModel.png", HandlePlantModel); - server.on("/Heater.png", HandleHeater); - server.on("/Water.png", HandleWater); - server.on("/config", HandleAPConfigPage); - server.on("/swupdatecheck", HandleSWUpdateCheck); - server.on("/scan", HandleAPScan); - server.on("/green1x1.png", HandleGreen1x1); - server.on("/rssi", HandleRSSIPage); - server.on("/rssi.js", HandleRSSI_JS); - server.on("/curr", HandleCurrPage); - server.on("/curr.js", HandleCurr_JS); - server.on("/on", HandleCircuitOn); - server.on("/off", HandleCircuitOff); - server.on("/toggle", HandleCircuitToggle); - server.on("/state", HandleGetState); - server.on("/icon.png", HandleIcon); - server.on("/Open.png", HandleOpenDoor); - server.onNotFound(HandleNotFound); - server.begin(); - Serial.println("HTTP server started"); + // path /firmware + Serial.println("HTTP server starting ..."); + //httpUpdater.setup(&server, update_path, update_username, update_password); + server.on("/", HandleRootPage); + server.on("/config", HandleAPConfigPage); + server.on("/myip.js", HandleMyIP_js); + server.on("/nav.js", HandleNav_js); + server.on("/plantmodel.png", HandlePlantModel); + server.on("/plantmodel.css", HandlePlantModel_css); + server.on("/button.css", HandleButton_css); + server.on("/index.js", HandleIndex_js); + server.on("/about.htm", HandleAbout_htm); + server.on("/about.js", HandleAbout_js); + server.on("/favicon.ico", HandleFavIcon); + server.on("/soilheater_on.png", HandleHeaterOn); + server.on("/soilheater_off.png", HandleHeaterOff); + server.on("/thermometer.png", HandleThermometer); + server.on("/soilmoisture.png", HandleSoilMoisture); + server.on("/pointer.png", HandlePointer); + server.on("/water.png", HandleWater); + server.on("/green1x1.png", HandleGreen1x1); + server.on("/rssi.htm", HandleRSSIPage); + server.on("/rssi.js", HandleRSSI_js); + server.on("/curr.htm", HandleCurrPage); + server.on("/curr.js", HandleCurr_js); + server.on("/icon.png", HandleIcon); + server.on("/open.png", HandleOpenDoor); + server.on("/swupdatecheck", HandleSWUpdateCheck); + server.on("/scan", HandleAPScan); + //server.on("/on", HandleCircuitOn); + //server.on("/off", HandleCircuitOff); + //server.on("/toggle", HandleCircuitToggle); + server.on("/state", HandleGetState); + server.on("/description.xml", HTTP_GET, []() { + Serial.printf("description.xml handler.\n"); + SSDP.schema(server.client()); + }); + server.onNotFound(HandleNotFound); + server.begin(); + Serial.println("HTTP server started."); + + // + // SSDP Startup + // + Serial.printf("SSDP server starting ...\n"); + SSDP.setSchemaURL("description.xml"); + SSDP.setHTTPPort(80); + SSDP.setName(wifiConfig.getName().c_str()); // "Philips hue clone"); + SSDP.setSerialNumber("001788102201"); + SSDP.setURL("/"); // Root Page + SSDP.setModelName(AP_NAME.c_str()); // "Philips hue bridge 2012"); + SSDP.setModelNumber("929000226503"); + SSDP.setModelURL("https://www.smart-family.net/GrowController"); + SSDP.setManufacturer("Smartware Computing"); + SSDP.setManufacturerURL("https://www.smart-family.net"); + SSDP.setDeviceType("upnp:rootdevice"); + SSDP.begin(); + Serial.println("SSDP server started."); } -void HandleNotFound() { - Serial.printf("not found: %s\n", server.uri().c_str()); - const DirEntry *de = Directory; - boolean found = false; - while (*de->Filename) { - if (0 == strcmp(de->Filename, server.uri().c_str())) { - Serial.printf("send %s\n", de->Filename); - server.send_P(200, de->Filetype, de->Filedata, de->Filesize); - found = true; - break; - } else { - de++; - } - } - if (!found) { - Serial.printf("!found - redirect to home\n"); - server.sendHeader("Location", String("/"), true); - server.send(302, "text/plain", "Not supported. Heading for home."); - } -} - -void GetMac() { - unsigned char mac[6]; - WiFi.macAddress(mac); - clientMac = macToStr(mac); -} - -String macToStr(const uint8_t * mac) { - String result; - - for (int i = 0; i < 6; ++i) { - result += String(mac[i], 16); - if (i < 5) - result += ':'; - } - return result; +void FactoryReset(bool forceRestart) { + Serial.println("Factory Reset Configuration...\n"); + wifiConfig.factoryReset(); + wifiConfig.save(); + if (forceRestart) { + Serial.println("Restart in 3 sec ..."); + delay(3000); + ESP.restart(); + } } diff --git a/Firmware/GrowController.h b/Firmware/GrowController.h deleted file mode 100644 index db12f33..0000000 --- a/Firmware/GrowController.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef GROWCONTROLLER_H -#define GROWCONTROLLER_H - -bool GetCircuitStatus(); - -/// Command for the circuit -typedef enum { - CMD_Off, ///< Command it off - CMD_On, ///< Command it on - CMD_Toggle ///< Command a toggle -} CircuitCmd_T; - - -/// Set the state -/// @param[in] newState -/// - 0 = Off -/// - 1 = On -/// - 2 = Toggle -/// -void SetCircuit(CircuitCmd_T newState); - -#endif // GROWCONTROLLER_H diff --git a/Firmware/GrowController.ses b/Firmware/GrowController.ses new file mode 100644 index 0000000..3258f31 --- /dev/null +++ b/Firmware/GrowController.ses @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Firmware/PlantModel.cpp b/Firmware/PlantModel.cpp new file mode 100644 index 0000000..02dc719 --- /dev/null +++ b/Firmware/PlantModel.cpp @@ -0,0 +1,246 @@ +// +// +// PlantModel +// +// + +#include "ProjGlobals.h" +#include "PlantModel.h" +#include "WiFiStateHandler.h" +#include "Utility.h" + + +PlantData_T plant; /// This keeps track of everything relevant to this system + + +String OnOffText(bool isOn) { + if (isOn) + return String("On"); + else + return String("Off"); +} + +String DrumStateText(DrumState_E state) { + switch (state) { + case DrumIsOpen: + return String("Open"); + case DrumIsClosed: + return String("Closed"); + case DrumIsMoving: + return String("Moving"); + default: + return String("Error"); + } +} + +String DrumMotorText(DrumMotor_E state) { + switch (state) { + case DrumOff: + return String("Stopped"); + case DrumCW: + return String("CW Rotation"); + case DrumCCW: + return String("CCW Rotation"); + default: + return String("Error"); + } +} + +String DrumOpenText(bool isOpen) { + if (isOpen) + return String("Open"); + else + return String("not open"); +} +String DrumClosedText(bool isClosed) { + if (isClosed) + return String("Closed"); + else + return String("not closed"); +} + +String WaterInTankText(bool waterInTank) { + if (waterInTank) + return String("OK"); + else + return String("Empty"); +} + +// { +// "id": "5c:cf:7f:c0:52:82", +// "name": "3-Way Switch", +// "state": 0, +// "sense": 56, +// "ip": "192.168.1.23", +// "rssi": "-63", +// "countdown": "3:45", +// "uptime": "0:11:45", +// "wifimode": "station"|"ap" +// } +// +void HandleGetState() { + int day, hr, minute, sec; + char _upTime[15]; // 0000.00:00:00\0 + 1 spare + + sec = millis() / 1000; + minute = sec / 60; + hr = minute / 60; + day = hr / 24; + if (day) + snprintf(_upTime, sizeof(_upTime), "%dd %d:%02d:%02d", day, hr % 24, minute % 60, sec % 60); + else if (hr) + snprintf(_upTime, sizeof(_upTime), "%d:%02d:%02d", hr, minute % 60, sec % 60); + else + snprintf(_upTime, sizeof(_upTime), "%02d:%02d", minute % 60, sec % 60); + + String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station" : "Access Point"; + String message = "{\n"; + message += "\t\"id\": \"" + GetMacString() + "\",\n"; + message += "\t\"name\": \"" + wifiConfig.getName() + "\",\n"; + message += "\t\"version\": \"" + AP_VERS + "\",\n"; + //message += "\t\"state\": " + String(CurrStatus) + ",\n"; + //message += "\t\"raw\": " + String(iRaw) + ",\n"; + //message += "\t\"sense\": " + String(iRawSum / AVG_RATIO) + ",\n"; + message += "\t\"ip\": \"" + + String(WiFi.localIP()[0]) + + "." + String(WiFi.localIP()[1]) + + "." + String(WiFi.localIP()[2]) + + "." + String(WiFi.localIP()[3]) + + "\",\n"; + message += "\t\"rssi\": \"" + String(WiFi.RSSI()) + "\",\n"; + message += "\t\"uptime\": \"" + String(_upTime) + "\",\n"; + message += "\t\"wifimode\": \"" + modeText + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.SecondsToday/3660, (plant.SecondsToday/60)%60); + message += "\t\"TimeOfDay\": \"" + String(_upTime) + "\",\n"; + message += "\t\"Fahrenheit\": \"" + String(plant.Fahrenheit) + "\",\n"; + + message += "\t\"ChamberTemp_C\": \"" + String(plant.ChamberTemp_C) + "\",\n"; + message += "\t\"ChamberHumi\": \"" + String(plant.ChamberHumi) + " % \",\n"; + message += "\t\"SoilHeater\": \"" + OnOffText(plant.SoilHeater) + "\",\n"; + message += "\t\"SoilTemp_C\": \"" + String(plant.SoilTemp_C) + "\",\n"; + message += "\t\"AmbientTemp_C\": \"" + String(plant.AmbientTemp_C) + "\",\n"; + message += "\t\"DrumDoorIcon\": \"" + DrumStateText(plant.DrumDoorIcon) + "\",\n"; + message += "\t\"DrumOpenSensor\": \"" + DrumOpenText(plant.DrumOpenSensor) + "\",\n"; + message += "\t\"DrumClosedSensor\": \"" + DrumClosedText(plant.DrumClosedSensor) + "\",\n"; + message += "\t\"DrumMotorStatus\": \"" + DrumMotorText(plant.DrumMotorStatus) + "\",\n"; + message += "\t\"DrumMotor_V\": \"" + String(plant.DrumMotor_V) + "\",\n"; + message += "\t\"DrumMotor_I\": \"" + String(plant.DrumMotor_I) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.DrumMotorOn_sec/60, plant.DrumMotorOn_sec%60); + message += "\t\"DrumMotorOn_sec\": \"" + String(_upTime) + "\",\n"; + message += "\t\"WaterInTank\": \"" + String(plant.WaterInTank) + "\",\n"; + message += "\t\"WaterMotor_V\": \"" + String(plant.WaterPumpStatus) + "\",\n"; + message += "\t\"SoilMoisture_X\": \"" + String(plant.SoilMoisture_X) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCyclePeriod_sec/60, plant.WaterCyclePeriod_sec%60); + message += "\t\"WaterCyclePeriod_sec\": \"" + String(_upTime) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCycleOn_sec/60, plant.WaterCycleOn_sec%60); + message += "\t\"WaterCycleOn_sec\": \"" + String(_upTime) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCycle_sec/60, plant.WaterCycle_sec%60); + message += "\t\"waterCycle\": \"" + String(_upTime) + "\"\n"; + //message += "\t\"toggle\": " + String(!digitalRead(SW_TOGGLE)) + ",\n"; + //message += "\t\"reset\": " + String(!digitalRead(SW_RESET)); + message += "}\n"; + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send(200, "application/json", message); +} + + + + +void simulation() { + if (++plant.SecondsToday >= (24*3600)) { // Seconds are advancing really fast for the simulation + plant.SecondsToday -= (24 * 3600); + } + static int lastMinutesToday = -1; + int hoursToday = plant.SecondsToday / 3600; + int minutesToday = plant.SecondsToday / 60; + // Simulate Ambient temp rising and falling + if (lastMinutesToday != minutesToday) { + lastMinutesToday = minutesToday; + Serial.printf("%02u:%02u, Ambient %3.1f\n", hoursToday, minutesToday % 60, plant.AmbientTemp_C); + + if (hoursToday < 15) { + // warming part of the day + if (plant.AmbientTemp_C < 45.0) { + plant.AmbientTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + // cooling part of the day + if (plant.AmbientTemp_C > 10.0) { + plant.AmbientTemp_C -= (float)(rand() % 10)/1000.0; + } + } + if (plant.SoilTemp_C > 40.0) { + plant.SoilHeater = false; + } else if (plant.SoilTemp_C < 20.0) { + plant.SoilHeater = true; + } + if (plant.SoilHeater) { + if (plant.SoilTemp_C < 50.0) { + plant.SoilTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + if (plant.SoilTemp_C < plant.ChamberTemp_C) { + plant.SoilTemp_C += (float)(rand() % 10)/1000.0; + } else { + plant.SoilTemp_C -= (float)(rand() % 10)/1000.0; + } + } + if (plant.DrumMotorStatus == DrumCW) { + plant.DrumMotorOn_sec++; + } else if (plant.DrumMotorStatus == DrumCCW) { + plant.DrumMotorOn_sec++; + } else { + plant.DrumMotorOn_sec = 0; + } + if (plant.ChamberTemp_C > 50.0) { + if (!plant.DrumOpenSensor) { + plant.DrumMotorStatus = DrumCW; + if (plant.DrumMotorOn_sec > 50) { + plant.DrumOpenSensor = true; + plant.DrumClosedSensor = false; + } + } + } else if (plant.ChamberTemp_C < 40.0) { + if (!plant.DrumClosedSensor) { + plant.DrumMotorStatus = DrumCW; + if (plant.DrumMotorOn_sec > 50) { + plant.DrumOpenSensor = false; + plant.DrumClosedSensor = true; + } + } + } + if (plant.DrumDoorIcon == DrumIsOpen) { + if (plant.ChamberTemp_C > plant.AmbientTemp_C) { + plant.ChamberTemp_C -= (float)(rand() % 10)/1000.0; + } else if (plant.ChamberTemp_C < plant.AmbientTemp_C) { + plant.ChamberTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + if (plant.ChamberTemp_C > plant.AmbientTemp_C) { + plant.ChamberTemp_C -= (float)(rand() % 5)/1000.0; + } else if (plant.ChamberTemp_C < plant.AmbientTemp_C) { + plant.ChamberTemp_C += (float)(rand() % 20)/1000.0; + } + } + plant.ChamberHumi = (float)(rand() % 73) + 25; + if (++plant.WaterCycle_sec >= plant.WaterCyclePeriod_sec) { + plant.WaterCycle_sec -= plant.WaterCyclePeriod_sec; + } + if (plant.WaterCycle_sec >= plant.WaterCycleOn_sec) { + plant.WaterPumpStatus = false; + } + if (plant.SoilMoisture_X < 60.0 && plant.WaterCycle_sec < plant.WaterCycleOn_sec) { + plant.WaterPumpStatus = true; + } + if (plant.WaterPumpStatus) { + plant.SoilMoisture_X += (float)(rand() % 40)/100.0; + } else { + plant.SoilMoisture_X -= (float)(rand() % 5)/100.0; + } + } +} diff --git a/Firmware/PlantModel.h b/Firmware/PlantModel.h new file mode 100644 index 0000000..1c2c54e --- /dev/null +++ b/Firmware/PlantModel.h @@ -0,0 +1,9 @@ +// +// +// + +#include "ProjGlobals.h" + +void HandleGetState(); +void simulation(); + diff --git a/Firmware/ProjGlobals.h b/Firmware/ProjGlobals.h index a1fc2a2..7a0b410 100644 --- a/Firmware/ProjGlobals.h +++ b/Firmware/ProjGlobals.h @@ -1,5 +1,5 @@ // -// Some settings +// Project Global Settings // #ifndef PROJGLOBALS_H @@ -7,10 +7,60 @@ #include +// Manage the WiFi Configuration, AP, SSID, etc. #include "WiFiConfiguration.h" -extern bool isStationMode; +typedef enum { + DrumIsOpen, + DrumIsClosed, + DrumIsMoving, + DrumIsStuck, +} DrumState_E; + +typedef enum { + DrumOff, + DrumCW, + DrumCCW +} DrumMotor_E; + +typedef struct { + uint32_t SecondsToday; // elapsed seconds from midnight (for simulation) + bool Fahrenheit; // Show temp in Fahrenheit. + + float ChamberTemp_C; // Chamber Temp + float ChamberHumi; // Chamber Humidity - if installed + + bool SoilHeater; + float SoilTemp_C; // Soil Temp - if installed + float SoilMoisture_X; // Soil Moisture - unitless number, if installed + + float AmbientTemp_C; // + + DrumState_E DrumDoorIcon; // Current State: open/close/moving + bool DrumOpenSensor; + bool DrumClosedSensor; + DrumMotor_E DrumMotorStatus; // Off, CW, CCW + uint32_t DrumMotorOn_sec; + float DrumMotor_V; + float DrumMotor_I; + + bool WaterInTank; // controls image of the WaterLevelIcon + bool WaterPumpStatus; // WaterLevelIcon pump on + float WaterMotor_V; + uint32_t WaterCyclePeriod_sec; // Total Time (allows WaterLevelIcon to soak in) + uint32_t WaterCycleOn_sec; // WaterLevelIcon Pump on time + uint32_t WaterCycle_sec; // Running timer +} PlantData_T; + + +extern void FactoryReset(bool forceRestart); +extern const String AP_NAME; +extern const String AP_VERS; +// extern bool isStationMode; extern ESP8266WebServer server; extern ConfigManager wifiConfig; -#endif // PROJGLOBALS_H \ No newline at end of file +extern PlantData_T plant; /// This keeps track of everything relevant to this system +extern bool updateCheck; + +#endif // PROJGLOBALS_H diff --git a/Firmware/Resources/Button.css b/Firmware/Resources/Button.css index 9411547..13e94d3 100644 --- a/Firmware/Resources/Button.css +++ b/Firmware/Resources/Button.css @@ -1,8 +1,12 @@ + + input.BigButton { width: 150px; - padding: 20px; + height: 100px; + padding: 10px; white-space: normal; cursor: pointer; + text-align: center; font-weight: bold; font-size: 120%; background: #3366cc; @@ -19,3 +23,26 @@ input.BigButton:hover { background: #000; border: 5px solid #fff; } + +input.SmallButton { + width: 150px; + height: 50px; + padding: 10px; + white-space: normal; + cursor: pointer; + font-weight: bold; + font-size: 100%; + background: #3366cc; + color: #fff; + border: 5px solid #112233; + border-radius: 10px; + -moz-box-shadow: 6px 6px 5px #999; + -webkit-box-shadow: 6px 6px 5px #999; + box-shadow: 6px 6px 5px #999; +} + +input.SmallButton:hover { + color: #ffff00; + background: #000; + border: 5px solid #fff; +} diff --git a/Firmware/Resources/Heater.png b/Firmware/Resources/Heater.png deleted file mode 100644 index d3bfd51..0000000 Binary files a/Firmware/Resources/Heater.png and /dev/null differ diff --git a/Firmware/Resources/Open.png b/Firmware/Resources/Open.png index e39cad7..72bc390 100644 Binary files a/Firmware/Resources/Open.png and b/Firmware/Resources/Open.png differ diff --git a/Firmware/Resources/PlantModel.png b/Firmware/Resources/PlantModel.png index 3a610b8..d9ce62c 100644 Binary files a/Firmware/Resources/PlantModel.png and b/Firmware/Resources/PlantModel.png differ diff --git a/Firmware/Resources/about.htm b/Firmware/Resources/about.htm index 763ccc7..56031b1 100644 --- a/Firmware/Resources/about.htm +++ b/Firmware/Resources/about.htm @@ -2,25 +2,25 @@ Grow Controller - + + + - +

Grow Controller

by Smartware Computing
- +
This Grow Controller is an IOT device based on an ESP8266-12 module. The software for it has been derived from various sources and where copyrights have been identified, they are listed below.
  • The composite work is Copyright © 2018-2021 by Smartware Computing, all rights reserved.
  • -
  • Library for WEMO emulation, Copyright © 2016 by Xose Pérez
  • Libraries; Copyright © 2001-2013 Free Software Foundation, Inc.
  • -
  • Libraries; Copyright (c) 1997 Silicon Graphics Computer Systems, Inc.
Toggle Button
@@ -36,20 +36,6 @@ Uptime: - - - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/curr.htm b/Firmware/Resources/curr.htm index 67119b1..a18b94d 100644 --- a/Firmware/Resources/curr.htm +++ b/Firmware/Resources/curr.htm @@ -2,11 +2,13 @@ Grow Controller - + + + - +

Grow Controller - Current Sense

@@ -25,19 +27,6 @@
- - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/curr.js b/Firmware/Resources/curr.js index f59731f..458b553 100644 --- a/Firmware/Resources/curr.js +++ b/Firmware/Resources/curr.js @@ -10,7 +10,7 @@ var axes = {}; var totalSamples = 400; // Width of the graph for (var i = 0; i < totalSamples; i++) rawData[i] = avgData[i] = 0; -setInterval(RefreshStatus, 250); +setInterval(RefreshStatus, 500); // ------------------------- diff --git a/Firmware/Resources/index.htm b/Firmware/Resources/index.htm index 02da567..168a91e 100644 --- a/Firmware/Resources/index.htm +++ b/Firmware/Resources/index.htm @@ -2,133 +2,16 @@ Grow Controller - - + + + + + + - +

Grow Controller

@@ -137,19 +20,44 @@
- +
-
92°F
-
8%
-
74°F
-
ON
-
65°F
-
12.3V
-
1.2A
-
0.0V
-
OK
-
-
+
--:--
+ +
--.- °F
+
+ +
--.- °F
+
-- %
+
+
Heat
+
+
+ +
+
+
--.- °F
+
-- %
+ +
+
O
+
C
+
Motor
+
Off
+
12.5 V
+
1.2 A
+
10 s
+ +
Low Water
+
Pump
+
On
+
+
10.7 V
+
90 s
+
8 s
+
10 s
+
+
@@ -174,33 +82,19 @@

- - - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ + + + + + + + +
- +
GrowController by Origin TechnologiesGrowController by Smartware Computing Firmware: v0.00.00
diff --git a/Firmware/Resources/index.js b/Firmware/Resources/index.js index 2093fb5..ec3d477 100644 --- a/Firmware/Resources/index.js +++ b/Firmware/Resources/index.js @@ -1,9 +1,9 @@ // -// rssi script +// Main Page period status update // -// var mySite = 'http://192.168.1.23' from myip.js +// var mySite = 'http://192.168.1.23'; // from myip.js var url = mySite + '/state'; -setInterval(RefreshStatus, 250); +setInterval(RefreshStatus, 2500); getIt = function (aUrl, callback) { var xhr = new XMLHttpRequest(); @@ -17,6 +17,14 @@ getIt = function (aUrl, callback) { xhr.send(); }; +function ConvertTempToString(tempC, showF) { + var tempF = tempC * 9 / 5 + 32; + if (showF) + return tempF.toFixed(1) + "°F"; + else + return tempC.toFixed(1) + "°C"; +} + function RefreshStatus() { getIt(url, function(data) { @@ -27,18 +35,72 @@ function RefreshStatus() { state = "Off"; document.getElementById('version').innerHTML = obj.version; document.getElementById('name').innerHTML = obj.name; - document.getElementById('state').innerHTML = 'Output: ' + state; - document.getElementById('raw').innerHTML = 'raw: ' + obj.raw; - document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense; - document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle; - document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset; - document.getElementById('countdown').innerHTML = obj.countdown; + //document.getElementById('state').innerHTML = 'Output: ' + state; + //document.getElementById('raw').innerHTML = 'raw: ' + obj.raw; + //document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense; + //document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle; + //document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset; + //document.getElementById('countdown').innerHTML = 'Countdown: ' + obj.countdown; document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime; - document.getElementById('wifimode').innerHTML = 'Mode: ' + obj.wifimode; + document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode; + // IP Address var elms = document.querySelectorAll('.' + 'ip'), i; for (i = 0; i < elms.length; ++i) { elms[i].textContent = obj.ip; } + // Plant status + document.getElementById('TimeOfDay').innerHTML = obj.TimeOfDay; + var userF = obj.Fahrenheit; + + if (typeof obj.AmbientTemp_C != "undefined") { + document.getElementById('AmbientTemp_C').innerHTML = ConvertTempToString(obj.AmbientTemp_C, userF); + } else { + document.getElementById('AmbientTemp_C').innerHTML = "--"; + } + + if (typeof obj.ChamberTemp_C != "undefined") { + document.getElementById('ChamberTemp_C').innerHTML = ConvertTempToString(obj.ChamberTemp_C, userF); + document.getElementById('ChamberHumi').innerHTML = parseInt(obj.ChamberHumi) + "%"; + } else { + document.getElementById('ChamberTemp_C').innerHTML = "--"; + document.getElementById('ChamberHumi').innerHTML = "--" + } + + if (typeof obj.SoilHeater != "undefined") { + document.getElementById('SoilHeater').innerHTML = obj.SoilHeater; + } else { + document.getElementById('SoilHeater').innerHTML = "--"; + } + + if (typeof obj.SoilTemp_C != "undefined") { + document.getElementById('SoilTemp_C').innerHTML = ConvertTempToString(obj.SoilTemp_C, userF); + } else { + document.getElementById('SoilTemp_C').innerHTML = "--"; + } + if (typeof obj.SoilTemp_C != "undefined") { + document.getElementById('SoilMoisture_X').innerHTML = obj.SoilMoisture_X; + } else { + document.getElementById('SoilMoisture_X').innerHTML = "--"; + } + + if (obj.DrumDoorIcon == 1) { + document.getElementById('DrumDoorIcon').style.display === "none"; + } else { + document.getElementById('DrumDoorIcon').style.display === "block"; + } + document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor; + document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor; + document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus; + document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + "s"; + document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + "V"; + document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + "A"; + + document.getElementById('WaterInTank').innerHTML = obj.WaterInTank; + document.getElementById('WaterPumpStatus').innerHTML = obj.WaterPumpStatus; + document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + "V"; + document.getElementById('WaterCyclePeriod_sec').innerHTML = obj.WaterCyclePeriod_sec + "s"; + document.getElementById('WaterCycleOn_sec').innerHTML = obj.WaterCycleOn_sec + "s"; + document.getElementById('WaterCycle_sec').innerHTML = obj.WaterCycle_sec + "s"; } ); } diff --git a/Firmware/Resources/myip.js b/Firmware/Resources/myip.js new file mode 100644 index 0000000..085cb81 --- /dev/null +++ b/Firmware/Resources/myip.js @@ -0,0 +1,5 @@ + +// Normally provided by the application intercepting this request, +// but for debug it can be handy to fix it. +// +var mySite = 'http://192.168.1.10'; // from myip.js diff --git a/Firmware/Resources/nav.js b/Firmware/Resources/nav.js new file mode 100644 index 0000000..c21b324 --- /dev/null +++ b/Firmware/Resources/nav.js @@ -0,0 +1,20 @@ +// +// +function NavInit() { + nav = document.getElementById('nav'); + var txt = ""; + txt += ""; + txt += " "; + txt += " "; + txt += ""; + txt += "
NAV:"; + txt += " Home | "; + txt += " Config | "; + txt += " Scan | "; + txt += " RSSI | "; + txt += " Current | "; + txt += " Factory Reset | "; + txt += " About"; + txt += "
"; + nav.innerHTML = txt; +} diff --git a/Firmware/Resources/navigation.htm b/Firmware/Resources/navigation.htm new file mode 100644 index 0000000..0942763 --- /dev/null +++ b/Firmware/Resources/navigation.htm @@ -0,0 +1,22 @@ + + + + + + + + + + + +
NAV: + Home | + Config | + Scan | + RSSI | + Current | + Factory Reset | + About +
+ + \ No newline at end of file diff --git a/Firmware/Resources/plantmodel.css b/Firmware/Resources/plantmodel.css new file mode 100644 index 0000000..79ce1bc --- /dev/null +++ b/Firmware/Resources/plantmodel.css @@ -0,0 +1,249 @@ + \ No newline at end of file diff --git a/Firmware/Resources/pointer.png b/Firmware/Resources/pointer.png new file mode 100644 index 0000000..2573d93 Binary files /dev/null and b/Firmware/Resources/pointer.png differ diff --git a/Firmware/Resources/rssi.htm b/Firmware/Resources/rssi.htm index e1ec8b9..3a92689 100644 --- a/Firmware/Resources/rssi.htm +++ b/Firmware/Resources/rssi.htm @@ -2,11 +2,13 @@ Grow Controller RSSI - + + + - +

Grow Controller - RSSI

@@ -25,19 +27,6 @@
- - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/soilheater_off.png b/Firmware/Resources/soilheater_off.png new file mode 100644 index 0000000..30f4b17 Binary files /dev/null and b/Firmware/Resources/soilheater_off.png differ diff --git a/Firmware/Resources/soilheater_on.png b/Firmware/Resources/soilheater_on.png new file mode 100644 index 0000000..fec4e7d Binary files /dev/null and b/Firmware/Resources/soilheater_on.png differ diff --git a/Firmware/Resources/soilmoisture.png b/Firmware/Resources/soilmoisture.png new file mode 100644 index 0000000..5be687b Binary files /dev/null and b/Firmware/Resources/soilmoisture.png differ diff --git a/Firmware/Resources/thermometer.png b/Firmware/Resources/thermometer.png new file mode 100644 index 0000000..b4b2e34 Binary files /dev/null and b/Firmware/Resources/thermometer.png differ diff --git a/Firmware/SmartSwitch.sln b/Firmware/SmartSwitch.sln deleted file mode 100644 index 25a4150..0000000 --- a/Firmware/SmartSwitch.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2020 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmartSwitch", "SmartSwitch.vcxproj", "{C5F80730-F44F-4478-BDAE-6634EFC2CA88}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x86 = Debug|x86 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Debug|x86.ActiveCfg = Debug|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Debug|x86.Build.0 = Debug|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Release|x86.ActiveCfg = Release|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {2245D551-F0E5-4A91-B978-826DFEF0D6BF} - EndGlobalSection -EndGlobal diff --git a/Firmware/SmartSwitch.vcxproj b/Firmware/SmartSwitch.vcxproj deleted file mode 100644 index e730035..0000000 --- a/Firmware/SmartSwitch.vcxproj +++ /dev/null @@ -1,163 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C5F80730-F44F-4478-BDAE-6634EFC2CA88} - - - SmartSwitch - - - - Application - true - - - MultiByte - - - Application - false - - - true - MultiByte - - - - - - - - - - - - - Build - - - - Level4 - Disabled - true - $(ProjectDir)..\Firmware;$(ARDUINO_ESP8266_SDK)\libraries\esp8266\src;$(ARDUINO_ESP8266_SDK)\libraries\Wire;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266WiFi\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266WebServer\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266httpUpdate\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266HTTPClient\src;$(ARDUINO_ESP8266_SDK)\libraries\EEPROM;$(ARDUINO_ESP8266_SDK)\libraries;$(ARDUINO_ESP8266_SDK)\cores\esp8266;$(ARDUINO_ESP8266_SDK)\cores\esp8266\libb64;$(ARDUINO_ESP8266_SDK)\cores\esp8266\spiffs;$(ARDUINO_ESP8266_SDK)\cores\esp8266\umm_malloc;$(ARDUINO_ESP8266_SDK)\variants\espino;$(ARDUINO_ESP8266_SDK)\tools\sdk\include;$(ARDUINO_ESP8266_SDK)\tools\sdk\lwip2\include;$(ARDUINO_ESP8266_SDK)\tools\sdk\libc\xtensa-lx106-elf\include;c:\Program Files (x86)\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\xtensa-lx106-elf;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\lib\gcc\xtensa-lx106-elf\4.8.2\include;$(ProjectDir)..\..\..\program files (x86)\microsoft visual studio\2019\preview\common7\ide\extensions\mbsqucm2.qs1\Micro Platforms\visualmicro\ide\libraries;%(AdditionalIncludeDirectories) - $(ProjectDir)__vm\.Firmware.vsarduino.h;%(ForcedIncludeFiles) - false - WIN32;__ESP8266_ESp8266__;__ESP8266_ESP8266__;DEBUG_FAUXMO=Serial;__ets__;ICACHE_FLASH;F_CPU=80000000L;LWIP_OPEN_SRC;TCP_MSS=536;ARDUINO=10807;ARDUINO_ESP8266_ESP12;ARDUINO_ARCH_ESP8266;ESP8266;__cplusplus=201103L;_VMICRO_INTELLISENSE;%(PreprocessorDefinitions) - - - true - - - cd $(ProjectDir)\Tools -MakeResourceFiles.cmd -pause - - - - $(ProjectDir)\Resources\*.*;%(Inputs) - - - - - Level3 - Disabled - true - true - true - $(ProjectDir)..\Firmware;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\esp8266\src;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\Wire;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WiFi\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WebServer\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266httpUpdate\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266HTTPClient\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\EEPROM;$(ProjectDir)..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\mcovr5xb.z02\Micro Platforms\visualmicro\ide\libraries;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\libb64;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\spiffs;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\umm_malloc;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\variants\espino;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\lwip2\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\libc\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\xtensa-lx106-elf;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\lib\gcc\xtensa-lx106-elf\4.8.2\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\include;%(AdditionalIncludeDirectories) - $(ProjectDir)__vm\.Firmware.vsarduino.h;%(ForcedIncludeFiles) - false - __ESP8266_ESp8266__;__ESP8266_ESP8266__;__ets__;ICACHE_FLASH;F_CPU=80000000L;LWIP_OPEN_SRC;TCP_MSS=536;ARDUINO=10801;ARDUINO_ESP8266_ESP12;ARDUINO_ARCH_ESP8266;ESP8266;__cplusplus=201103L;_VMICRO_INTELLISENSE;%(PreprocessorDefinitions) - - - true - true - true - - - cd $(ProjectDir)\Resources -\tools\MakeByteArray.pl *.* -o=..\Web_Resources.h -pause - - - - $(ProjectDir)\Resources\*.*;%(Inputs) - - - - - - - - - - - true - - - - true - - - - - true - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VisualMicroDebugger - - - - - - - - - - \ No newline at end of file diff --git a/Firmware/Utility.cpp b/Firmware/Utility.cpp new file mode 100644 index 0000000..622c469 --- /dev/null +++ b/Firmware/Utility.cpp @@ -0,0 +1,29 @@ +// +// +// Utility functions +// +// +#include + +#include "Utility.h" + +static String macToStr(const uint8_t * mac); + +String GetMacString() { + unsigned char mac[6]; + WiFi.macAddress(mac); + String clientMac(macToStr(mac)); + return clientMac; +} + +String macToStr(const uint8_t * mac) { + String result; + + for (int i = 0; i < 6; ++i) { + result += String(mac[i], 16); + if (i < 5) + result += ':'; + } + return result; +} + diff --git a/Firmware/Utility.h b/Firmware/Utility.h new file mode 100644 index 0000000..7242004 --- /dev/null +++ b/Firmware/Utility.h @@ -0,0 +1,11 @@ +// +// +// Utility.h +// +// + +#include + +// Returns the MAC Address as a string object +String GetMacString(); + diff --git a/Firmware/WeMo.h b/Firmware/WeMo.h deleted file mode 100644 index 2c91f17..0000000 --- a/Firmware/WeMo.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - -FAUXMO ESP 2.4.0 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#pragma once - -const char UDP_TEMPLATE[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CACHE-CONTROL: max-age=86400\r\n" - "DATE: Mon, 22 Jun 2015 17:24:01 GMT\r\n" - "EXT:\r\n" - "LOCATION: http://%s:%d/setup.xml\r\n" - "OPT: \"http://schemas.upnp.org/upnp/1/0/\"; ns=01\r\n" - "01-NLS: %s\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "ST: %s\r\n" - "USN: uuid:Socket-1_0-%s::" - "%s\r\n" // %s = urn:Belkin:device:** (Echo Dot 2Gen, Echo 1Gen) or %s = upnp:rootdevice (Echo 2Gen, Echo Plus) - "X-User-Agent: redsonic\r\n" - "\r\n"; - -const char SETUP_TEMPLATE[] PROGMEM = - "\n" - "\n" - " \n" - " 1\n" - " 0\n" - " \n" - " \n" - " urn:Belkin:device:controllee:1\n" - " %s\n" - " Belkin International Inc.\n" ///< must be "Belkin..." for Alexa discovery - " http://www.smart-family.net\n" ///< - " Smartware Grow Controller\n" ///< - " Grow Controller\n" ///< - " 1.0.0\n" -#if 0 - " http://www.smart-family.net\n" ///< This causes it to fail to send completely -#endif - " uuid:Socket-1_0-%s\n" - " %s\n" - " \n" - " jpg\n" - " 100\n" - " 100\n" - " 100\n" - " icon.jpg\n" - " \n" - " http://%s:%d\n" -#if 0 - " \n" - " \n" - " urn:Belkin:service:WiFiSetup:1\n" - " urn:Belkin:serviceId:WiFiSetup1\n" - " /upnp/control/WiFiSetup1\n" - " /upnp/event/WiFiSetup1\n" - " /setupservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:timesync:1\n" - " urn:Belkin:serviceId:timesync1\n" - " /upnp/control/timesync1\n" - " /upnp/event/timesync1\n" - " /timesyncservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:basicevent:1\n" - " urn:Belkin:serviceId:basicevent1\n" - " /upnp/control/basicevent1\n" - " /upnp/event/basicevent1\n" - " /eventservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:firmwareupdate:1\n" - " urn:Belkin:serviceId:firmwareupdate1\n" - " /upnp/control/firmwareupdate1\n" - " /upnp/event/firmwareupdate1\n" - " /firmwareupdate.xml\n" - " \n" - " \n" - " urn:Belkin:service:rules:1\n" - " urn:Belkin:serviceId:rules1\n" - " /upnp/control/rules1\n" - " /upnp/event/rules1\n" - " /rulesservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:metainfo:1\n" - " urn:Belkin:serviceId:metainfo1\n" - " /upnp/control/metainfo1\n" - " /upnp/event/metainfo1\n" - " /metainfoservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:remoteaccess:1\n" - " urn:Belkin:serviceId:remoteaccess1\n" - " /upnp/control/remoteaccess1\n" - " /upnp/event/remoteaccess1\n" - " /remoteaccess.xml\n" - " \n" - " \n" - " urn:Belkin:service:deviceinfo:1\n" - " urn:Belkin:serviceId:deviceinfo1\n" - " /upnp/control/deviceinfo1\n" - " /upnp/event/deviceinfo1\n" - " /deviceinfoservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:smartsetup:1\n" - " urn:Belkin:serviceId:smartsetup1\n" - " /upnp/control/smartsetup1\n" - " /upnp/event/smartsetup1\n" - " /smartsetup.xml\n" - " \n" - " \n" - " urn:Belkin:service:manufacture:1\n" - " urn:Belkin:serviceId:manufacture1\n" - " /upnp/control/manufacture1\n" - " /upnp/event/manufacture1\n" - " /manufacture.xml\n" - " \n" - " \n" -#endif - " \n" - "\n"; - -const char EVENTSERVICE_TEMPLATE[] PROGMEM = - "" - "" - "" - "SetBinaryState" - "" - "" - "" - "BinaryState" - "BinaryState" - "in" - "" - "" - "" - "" - "GetBinaryState" - "" - "" - "" - "BinaryState" - "BinaryState" - "out" - "" - "" - "" - "" - "" - "" - "BinaryState" - "Boolean" - "0" - "" - "" - "level" - "string" - "0" - "" - "" - "\r\n" - "\r\n"; - -const char METAINFO_TEMPLATE[] PROGMEM = - "" - "10" - "" - "" - "GetMetaInfo" - "" - "" - "GetMetaInfo" - "MetaInfo" - "in" - "" - "" - "" - "" - "" - "MetaInfo" - "string" - "0" - "" - "" - "\r\n" - "\r\n"; - -const char SETSTATE_TEMPLATE[] PROGMEM = - "" - "" - "" - "%d" - "" - "" - "\r\n"; - -const char GETSTATE_TEMPLATE[] PROGMEM = - "" - "" - "" - "%d" - "" - "" - "\r\n"; - -const char HEADERS[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: text/xml\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; - -const char HEADERJPG[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: image/jpg\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; - -const char HEADERPNG[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: image/png\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; diff --git a/Firmware/Web_APConfig.cpp b/Firmware/Web_APConfig.cpp deleted file mode 100644 index eedda09..0000000 --- a/Firmware/Web_APConfig.cpp +++ /dev/null @@ -1,253 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_APConfig.h" - -static String EncType_str(uint8_t encType) { - switch (encType) { - case ENC_TYPE_NONE: - return "open"; - break; - case ENC_TYPE_WEP: - return "wep"; - break; - case ENC_TYPE_TKIP: - return "wpa psk"; - break; - case ENC_TYPE_CCMP: - return "wpa2 psk"; - break; - case ENC_TYPE_AUTO: - return "wpa wpa2 psk"; - break; - default: - return "unknown"; - break; - } -} - -void HandleAPScan() { - // WiFi.scanNetworks will return the number of networks found - Serial.println("Scan ..."); - int n = WiFi.scanNetworks(false, true); // blocking call and show hidden. - Serial.println("scan done."); - if (n == 0) { - Serial.println("no networks found"); - } else { - Serial.print(n); - Serial.println(" networks found"); - server.sendContent_P("HTTP/1.1 200 OK\r\n"); - server.sendContent_P("Content-Type: text/html\r\n"); - server.sendContent_P("\r\n"); - server.sendContent_P( - "\n" - "\n" - "Grow Controller - Scan\n" - "\n" - "

Grow Controller - Scan

" - ); - - server.sendContent_P( - "
\n" - "
\n" - " \n" - " \n" - ); - - for (int i = 0; i < n; ++i) { - // Select, Network #, RSSI, SSID, BSSID, Channel, Hidden - String bgcolor = (i & 1) ? "#E0E0E0" : "#FFFFFF"; - String record = - " \n" - + " \n" - + " \n" - + " \n" - + " \n"; - - record += " \n"; - record += " \n"; - record += WiFi.isHidden(i) - ? " \n" - : " \n"; - record += " \n"; - server.sendContent(record); - // - Serial.print(i + 1); - Serial.print(": "); - Serial.print(WiFi.SSID(i)); - Serial.print(" ("); - Serial.print(WiFi.RSSI(i)); - Serial.print(")"); - Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); - } - server.sendContent_P( - " \n" - " \n" - " \n" - "
NetRSSISSIDBSSIDEncryptionChannelHidden
" + (i + 1) + "" + WiFi.RSSI(i) + "" + WiFi.SSID(i) + "
" - + "
" + WiFi.BSSIDstr(i) + "" + EncType_str(WiFi.encryptionType(i)) + "" + String(WiFi.channel(i)); - record += "YesNo
 \n" - " \n" - " \n" - "
\n" - "
\n" - "
\n" - "NAV:  " - " Home | " - " Config | " - " Scan | " - " RSSI | " - " Current | " - " Factory Reset | " - " About\n" - "
\n" - "\n" - "\n" - ); - } -} - -void FactoryReset(bool forceRestart) { - Serial.println("Factory Reset Configuration...\n"); - wifiConfig.factoryReset(); - wifiConfig.save(); - if (forceRestart) { - Serial.println("Restart in 3 sec ..."); - delay(3000); - ESP.restart(); - } -} - -void HandleAPConfigPage() { - String name = wifiConfig.getName(); - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - String url = wifiConfig.getURL(); - //String ntp = wifiConfig.getNTPServerName(); - char _onref[6], _offref[6], _autoOff[6]; - - snprintf(_onref, sizeof(_onref), "%d", wifiConfig.getOnRef()); - snprintf(_offref, sizeof(_offref), "%d", wifiConfig.getOffRef()); - snprintf(_autoOff, sizeof(_autoOff), "%d", wifiConfig.getAutoOff()); - String onref = String(_onref); - String offref = String(_offref); - String autooff = String(_autoOff); - - if (server.hasArg("ssid") && server.hasArg("pass")) { - String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : ""; - String _pass = server.hasArg("_pass") ? server.arg("_pass") : ""; - name = server.arg("name"); - ssid = server.arg("ssid"); - pass = server.arg("pass"); - url = server.hasArg("url") ? server.arg("url") : ""; - onref = server.hasArg("onref") ? server.arg("onref") : ""; - offref = server.hasArg("offref") ? server.arg("offref") : ""; - autooff = server.hasArg("autooff") ? server.arg("autooff") : ""; - //ntp = server.hasArg("ntp") ? server.arg("ntp") : ""; - if (ssid == "reset" && pass == "reset") { - FactoryReset(true); - } - wifiConfig.setName(name); - wifiConfig.setSSID(ssid); - wifiConfig.setPassword(pass); - wifiConfig.setURL(url); - wifiConfig.setOnRef(onref.toInt()); - wifiConfig.setOffRef(offref.toInt()); - wifiConfig.setAutoOff(autooff.toInt()); - //wifiConfig.setNTPServerName(ntp); - wifiConfig.save(); - Serial.println("Settings saved."); - if (ssid != _ssid || pass != _pass) { - // They changed stuff that requires a restart. - server.send(200, "text/html", "Configuration Saved! Restarting in 3 sec..."); - Serial.printf("Config saved. Restarting in 3 sec . . ."); - delay(3000); - ESP.restart(); - return; - } - } - - String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; - if (server.hasArg("ssid") && !server.hasArg("pass")) { - ssid = server.arg("ssid"); - pass = ""; - Serial.println("ssid: " + ssid + ", pass: " + pass); - } - if (server.hasArg("url")) - url = server.arg("url"); - //if (server.hasArg("ntp")) - // ntp = server.arg("ntp"); - server.send(200, "text/html", - "\n" - "\n" - "Grow Controller - Config\n" - "\n" - "

Grow Controller - Configuration

" - "
\n" - "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" -// " \n" -// " \n" -// " \n" -// " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
Node Name
SSID **\n" - "
Password **\n" - "
Update URL
NTP Server
Auto-Off (time in seconds when non-zero)
On Reference (sense above this indicates power is on)
Off Reference (sense below this indicates power is off)
 \n" - " \n" - " ** Changes to these will trigger a module restart.\n" - "

 Check for SW update (module will restart if updated)
\n" - "
\n" - "
\n" - "NAV:  " - " Home | " - " Config | " - " Scan | " - " RSSI | " - " Current | " - " Factory Reset | " - " About\n" - "
\n" - "\n" - "\n" - ); -} diff --git a/Firmware/Web_APConfig.h b/Firmware/Web_APConfig.h deleted file mode 100644 index 720b8de..0000000 --- a/Firmware/Web_APConfig.h +++ /dev/null @@ -1,12 +0,0 @@ - -#ifndef WEB_APCONFIG_H -#define WEB_APCONFIG_H - - -void FactoryReset(bool forceRestart = false); - -void HandleAPScan(); - -void HandleAPConfigPage(); - -#endif // WEB_APCONFIG_H diff --git a/Firmware/Web_FavIcon.cpp b/Firmware/Web_FavIcon.cpp deleted file mode 100644 index 77ec92d..0000000 --- a/Firmware/Web_FavIcon.cpp +++ /dev/null @@ -1,39 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_FavIcon.h" -#include "Web_Resources.h" - -void HandleGreen1x1() { - Serial.printf("Green1x1.png\n"); - server.send_P(200, "image/png", Green1x1_png, sizeof(Green1x1_png)); -} - -void HandleFavIcon() { - Serial.printf("favicon.ico\n"); - server.send_P(200, "image/x-icon", favicon_ico, sizeof(favicon_ico)); -} - -void HandleIcon() { - Serial.printf("icon.png\n"); - server.send_P(200, "image/png", icon_png, sizeof(icon_png)); -} - -void HandleOpenDoor() { - Serial.printf("Open.png\n"); - server.send_P(200, "image/png", Open_png, sizeof(Open_png)); -} - -void HandlePlantModel() { - Serial.printf("PlantModel\n"); - server.send_P(200, "image/png", PlantModel_png, sizeof(PlantModel_png)); -} -void HandleHeater() { - Serial.printf("Heater\n"); - server.send_P(200, "image/png", Heater_png, sizeof(Heater_png)); -} -void HandleWater() { - Serial.printf("Water\n"); - server.send_P(200, "image/png", Water_png, sizeof(Water_png)); -} diff --git a/Firmware/Web_FavIcon.h b/Firmware/Web_FavIcon.h deleted file mode 100644 index 8b4967a..0000000 --- a/Firmware/Web_FavIcon.h +++ /dev/null @@ -1,13 +0,0 @@ - -#ifndef WEB_FAVICON_H -#define WEB_FAVICON_H - -void HandleGreen1x1(); -void HandleFavIcon(); -void HandlePlantModel(); -void HandleHeater(); -void HandleWater(); -void HandleIcon(); -void HandleOpenDoor(); - -#endif // WEB_FAVICON_H \ No newline at end of file diff --git a/Firmware/Web_RSSIGraph.cpp b/Firmware/Web_RSSIGraph.cpp deleted file mode 100644 index 1eed749..0000000 --- a/Firmware/Web_RSSIGraph.cpp +++ /dev/null @@ -1,22 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_RSSIGraph.h" -#include "Web_Resources.h" - -void HandleRSSIPage() { - server.send_P(200, "text/html", rssi_htm); -} - -void HandleRSSI_JS() { - server.send_P(200, "text/html", rssi_js); -} - -void HandleCurrPage() { - server.send_P(200, "text/html", curr_htm); -} - -void HandleCurr_JS() { - server.send_P(200, "text/html", curr_js); -} \ No newline at end of file diff --git a/Firmware/Web_RSSIGraph.h b/Firmware/Web_RSSIGraph.h deleted file mode 100644 index 4a5048f..0000000 --- a/Firmware/Web_RSSIGraph.h +++ /dev/null @@ -1,10 +0,0 @@ - -#ifndef WEB_RSSIGRAPH_H -#define WEB_RSSIGRAPH_H - -void HandleRSSIPage(); -void HandleRSSI_JS(); -void HandleCurrPage(); -void HandleCurr_JS(); - -#endif // WEB_RSSIGRAPH_H diff --git a/Firmware/Web_Resources.h b/Firmware/Web_Resources.h index 6d2a2f5..fbc3d4f 100644 --- a/Firmware/Web_Resources.h +++ b/Firmware/Web_Resources.h @@ -1,9 +1,14 @@ // -// Command : MakeByteArray -ESP -DIR *.* -o=..\Web_Resources.h +// Command: MakeByteArray -ESP -DIR -ROOT *.* -o=..\Web_Resources.h // version: 1.0 -// From cwd : D:/Projects/GrowController/Firmware/Resources -// Generated: Tue Sep 28 16:12:34 2021 -// Run script in command shell, not PowerShell +// From cwd: D:/Projects/GrowController/gcfw/Resources +// Generated: Mon Oct 25 17:32:22 2021 +// NOTE: Run script in command shell, not PowerShell +// +// PROGMEM is not recognized by Win32 tools... +#ifdef WIN32 +#define PROGMEM +#endif // File: about.htm // @@ -12,25 +17,25 @@ const char about_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" + " \n" + " \n" " \n" " \n" + " \n" "\n" - "\n" + "\n" "

Grow Controller

\n" " by Smartware Computing\n" "
\n" " \n" " \n" - " \n" + " \n" "
\n" " This Grow Controller is an IOT device based on an ESP8266-12 module. The software for it has been\n" " derived from various sources and where copyrights have been identified, they are listed below.
\n" "
    \n" "
  • The composite work is Copyright © 2018-2021 by Smartware Computing, all rights reserved.
  • \n" - "
  • Library for WEMO emulation, Copyright © 2016 by Xose Pérez
  • \n" "
  • Libraries; Copyright © 2001-2013 Free Software Foundation, Inc.
  • \n" - "
  • Libraries; Copyright (c) 1997 Silicon Graphics Computer Systems, Inc.
  • \n" "
\n" "
\n" "
Toggle Button
\n" @@ -46,24 +51,10 @@ const char about_htm[] PROGMEM = { " Uptime: \n" "\n" " \n" - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // about_htm, 1839 bytes +}; // about_htm, 1468 bytes // File: about.js // @@ -98,16 +89,20 @@ const char about_js[] PROGMEM = { " }\n" " );\n" "}\n" -}; // about_js, 605 bytes +}; // about_js, 635 bytes -// File: Button.css +// File: button.css // -const char Button_css[] PROGMEM = { +const char button_css[] PROGMEM = { + "\n" + "\n" "input.BigButton {\n" " width: 150px;\n" - " padding: 20px;\n" + " height: 100px;\n" + " padding: 10px;\n" " white-space: normal;\n" " cursor: pointer;\n" + " text-align: center;\n" " font-weight: bold;\n" " font-size: 120%;\n" " background: #3366cc;\n" @@ -124,7 +119,30 @@ const char Button_css[] PROGMEM = { " background: #000;\n" " border: 5px solid #fff;\n" "}\n" -}; // Button_css, 404 bytes + "\n" + "input.SmallButton {\n" + " width: 150px;\n" + " height: 50px;\n" + " padding: 10px;\n" + " white-space: normal;\n" + " cursor: pointer;\n" + " font-weight: bold;\n" + " font-size: 100%;\n" + " background: #3366cc;\n" + " color: #fff;\n" + " border: 5px solid #112233;\n" + " border-radius: 10px;\n" + " -moz-box-shadow: 6px 6px 5px #999;\n" + " -webkit-box-shadow: 6px 6px 5px #999;\n" + " box-shadow: 6px 6px 5px #999;\n" + "}\n" + "\n" + "input.SmallButton:hover {\n" + " color: #ffff00;\n" + " background: #000;\n" + " border: 5px solid #fff;\n" + "}\n" +}; // button_css, 912 bytes // File: curr.htm // @@ -133,11 +151,13 @@ const char curr_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" + " \n" + " \n" " \n" " \n" + " \n" "\n" - "\n" + "\n" "

Grow Controller - Current Sense

\n" "
\n" " \n" @@ -156,23 +176,10 @@ const char curr_htm[] PROGMEM = { " \n" "
\n" "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // curr_htm, 1196 bytes +}; // curr_htm, 956 bytes // File: curr.js // @@ -189,7 +196,7 @@ const char curr_js[] PROGMEM = { "var totalSamples = 400; // Width of the graph\n" "for (var i = 0; i < totalSamples; i++)\n" " rawData[i] = avgData[i] = 0;\n" - "setInterval(RefreshStatus, 250);\n" + "setInterval(RefreshStatus, 500);\n" "\n" "// -------------------------\n" "\n" @@ -318,7 +325,7 @@ const char curr_js[] PROGMEM = { " ctx.fillText('Current Graph', axes.x0, axes.y0 - 6);\n" " ctx.stroke();\n" "}\n" -}; // curr_js, 3615 bytes +}; // curr_js, 3756 bytes // File: favicon.ico // @@ -593,9 +600,9 @@ const char favicon_ico[] PROGMEM = { 0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07, }; // favicon_ico, 4286 bytes -// File: Green1x1.png +// File: green1x1.png // -const char Green1x1_png[] PROGMEM = { +const char green1x1_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x08,0x02,0x00,0x00,0x00,0x90,0x77,0x53, 0xDE,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, @@ -604,40 +611,7 @@ const char Green1x1_png[] PROGMEM = { 0x66,0x1F,0x78,0x00,0x00,0x00,0x0C,0x49,0x44,0x41,0x54,0x18,0x57,0x63,0x50,0xDA, 0xE8,0x03,0x00,0x02,0x18,0x01,0x20,0xE2,0xE0,0x90,0x6F,0x00,0x00,0x00,0x00,0x49, 0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Green1x1_png, 119 bytes - -// File: Heater.png -// -const char Heater_png[] PROGMEM = { - 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0x4A,0x00,0x00,0x00,0x18,0x08,0x03,0x00,0x00,0x00,0x6A,0x48,0x9B, - 0xBF,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, - 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, - 0x00,0x27,0x50,0x4C,0x54,0x45,0xFF,0x00,0x00,0xFF,0x70,0x70,0xFF,0x30,0x30,0xFF, - 0x8F,0x8F,0xFF,0x50,0x50,0xFF,0x08,0x08,0xFF,0x18,0x18,0xFF,0x40,0x40,0xFF,0x58, - 0x58,0xFF,0x20,0x20,0xFF,0x10,0x10,0xFF,0x97,0x97,0x00,0x00,0x00,0x7A,0x54,0x91, - 0x5B,0x00,0x00,0x00,0x0D,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xE8,0x22,0x86,0x00,0x00,0x00,0x09,0x70,0x48, - 0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15,0x28,0x4A,0x80,0x00, - 0x00,0x01,0x04,0x49,0x44,0x41,0x54,0x48,0x4B,0xED,0x53,0xDB,0x16,0x83,0x20,0x0C, - 0x13,0xAF,0x73,0xF2,0xFF,0xDF,0xBB,0x36,0x69,0xA1,0x75,0x3E,0x78,0xCE,0xF6,0x68, - 0x5E,0x0C,0x10,0x92,0xA8,0x30,0xD4,0xBF,0xE1,0xB1,0xBA,0x8F,0x66,0x35,0x28,0x0A, - 0x68,0x01,0x07,0xAD,0xA3,0xD2,0x91,0x1C,0xD3,0x13,0x68,0x94,0x38,0x7C,0x38,0x63, - 0x6D,0x01,0x5F,0xC0,0x67,0x70,0x50,0x8A,0x28,0x59,0xC1,0xA3,0xC4,0xE1,0x56,0x58, - 0x62,0x2D,0x26,0x72,0x3F,0x4A,0x59,0x2D,0x52,0xD4,0x8A,0x92,0x06,0x1B,0x31,0x91, - 0xB5,0x98,0xC8,0x4C,0xA3,0xAA,0x72,0x89,0xD6,0x8A,0x92,0x06,0x11,0x95,0x6D,0xDB, - 0x6C,0x49,0x6B,0x79,0xA2,0xEE,0xB7,0x52,0xA8,0x65,0x4C,0x6B,0x75,0x89,0x6C,0x25, - 0x5E,0xB0,0xEA,0x3E,0x82,0xA5,0x25,0x6A,0xA6,0x11,0x41,0x2B,0xA5,0xB5,0xBA,0xA4, - 0x61,0xFF,0xB6,0x1A,0xDE,0xF6,0x54,0xEC,0xF6,0x14,0x04,0x9A,0xB8,0xE3,0xCA,0xEA, - 0x36,0x72,0xB5,0x6C,0x75,0xF4,0xC5,0xE5,0x30,0x22,0x98,0xFB,0xAB,0x45,0xC9,0x1A, - 0xDE,0x5E,0x90,0xAC,0xC6,0xF0,0x35,0x4B,0xFF,0xE0,0x22,0x30,0x92,0x25,0x53,0x90, - 0x08,0x68,0xD5,0xE1,0x99,0x7A,0x24,0x8C,0xEA,0xFF,0x6E,0xB5,0x82,0x84,0x27,0x35, - 0x21,0x59,0x79,0xA6,0x1E,0x54,0xCF,0xD4,0x79,0xA3,0x7A,0x50,0x5D,0xC2,0xFB,0x93, - 0x90,0xAC,0x2C,0x93,0xD7,0x07,0x94,0x87,0xD0,0x6A,0x61,0x9A,0x92,0x8B,0x52,0x27, - 0x2B,0x66,0xF2,0x52,0xB3,0x16,0x28,0x6D,0x79,0xA9,0x29,0xB9,0x28,0x75,0xB2,0xFA, - 0x09,0x8F,0xD5,0x5D,0xD4,0xFA,0x01,0xFE,0x53,0x35,0x93,0x78,0xB2,0x5F,0x66,0x00, - 0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Heater_png, 443 bytes +}; // green1x1_png, 119 bytes // File: icon.png // @@ -1197,133 +1171,16 @@ const char index_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" - " \n" + " \n" + " \n" + " \n" + " \n" + " \n" " \n" + " \n" " \n" "\n" - "\n" + "\n" "

Grow Controller

\n" "
\n" " \n" @@ -1332,19 +1189,44 @@ const char index_htm[] PROGMEM = { "
\n" "
\n" " \n" - " \n" + " \n" "
\n" - "
92°F
\n" - "
8%
\n" - "
74°F
\n" - "
ON
\n" - "
65°F
\n" - "
12.3V
\n" - "
1.2A
\n" - "
0.0V
\n" - "
OK
\n" - "
\n" - "
\n" + "
--:--
\n" + " \n" + "
--.- °F
\n" + "
\n" + " \n" + "
--.- °F
\n" + "
-- %
\n" + "
\n" + "
Heat
\n" + "
\n" + "
\n" + " \n" + "
\n" + "
\n" + "
--.- °F
\n" + "
-- %
\n" + " \n" + "
\n" + "
O
\n" + "
C
\n" + "
Motor
\n" + "
Off
\n" + "
12.5 V
\n" + "
1.2 A
\n" + "
10 s
\n" + " \n" + "
Low Water
\n" + "
Pump
\n" + "
On
\n" + "
\n" + "
10.7 V
\n" + "
90 s
\n" + "
8 s
\n" + "
10 s
\n" + "
\n" + "
\n" "
\n" " \n" "
\n" @@ -1369,49 +1251,35 @@ const char index_htm[] PROGMEM = { "
\n" "
\n" "

\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" "
\n" " \n" " \n" - " \n" + " \n" " \n" " \n" "
GrowController by Origin TechnologiesGrowController by Smartware ComputingFirmware: v0.00.00
\n" "\n" "\n" -}; // index_htm, 5713 bytes +}; // index_htm, 5346 bytes // File: index.js // const char index_js[] PROGMEM = { "//\n" - "// rssi script\n" + "// Main Page period status update\n" "//\n" - "// var mySite = 'http://192.168.1.23' from myip.js\n" + "// var mySite = 'http://192.168.1.23'; // from myip.js\n" "var url = mySite + '/state';\n" - "setInterval(RefreshStatus, 250);\n" + "setInterval(RefreshStatus, 2500);\n" "\n" "getIt = function (aUrl, callback) {\n" " var xhr = new XMLHttpRequest();\n" @@ -1425,6 +1293,14 @@ const char index_js[] PROGMEM = { " xhr.send();\n" "};\n" "\n" + "function ConvertTempToString(tempC, showF) {\n" + " var tempF = tempC * 9 / 5 + 32;\n" + " if (showF)\n" + " return tempF.toFixed(1) + \"°F\";\n" + " else\n" + " return tempC.toFixed(1) + \"°C\";\n" + "}\n" + "\n" "function RefreshStatus() {\n" " getIt(url,\n" " function(data) {\n" @@ -1435,1845 +1311,2764 @@ const char index_js[] PROGMEM = { " state = \"Off\";\n" " document.getElementById('version').innerHTML = obj.version;\n" " document.getElementById('name').innerHTML = obj.name;\n" - " document.getElementById('state').innerHTML = 'Output: ' + state;\n" - " document.getElementById('raw').innerHTML = 'raw: ' + obj.raw;\n" - " document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense;\n" - " document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle;\n" - " document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset;\n" - " document.getElementById('countdown').innerHTML = obj.countdown;\n" + " //document.getElementById('state').innerHTML = 'Output: ' + state;\n" + " //document.getElementById('raw').innerHTML = 'raw: ' + obj.raw;\n" + " //document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense;\n" + " //document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle;\n" + " //document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset;\n" + " //document.getElementById('countdown').innerHTML = 'Countdown: ' + obj.countdown;\n" " document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime;\n" - " document.getElementById('wifimode').innerHTML = 'Mode: ' + obj.wifimode;\n" + " document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode;\n" + " // IP Address\n" " var elms = document.querySelectorAll('.' + 'ip'), i;\n" " for (i = 0; i < elms.length; ++i) {\n" " elms[i].textContent = obj.ip;\n" " }\n" + " // Plant status\n" + " document.getElementById('TimeOfDay').innerHTML = obj.TimeOfDay;\n" + " var userF = obj.Fahrenheit;\n" + "\n" + " if (typeof obj.AmbientTemp_C != \"undefined\") {\n" + " document.getElementById('AmbientTemp_C').innerHTML = ConvertTempToString(obj.AmbientTemp_C, userF);\n" + " } else {\n" + " document.getElementById('AmbientTemp_C').innerHTML = \"--\";\n" + " }\n" + "\n" + " if (typeof obj.ChamberTemp_C != \"undefined\") {\n" + " document.getElementById('ChamberTemp_C').innerHTML = ConvertTempToString(obj.ChamberTemp_C, userF);\n" + " document.getElementById('ChamberHumi').innerHTML = parseInt(obj.ChamberHumi) + \"%\";\n" + " } else {\n" + " document.getElementById('ChamberTemp_C').innerHTML = \"--\";\n" + " document.getElementById('ChamberHumi').innerHTML = \"--\"\n" + " } \n" + "\n" + " if (typeof obj.SoilHeater != \"undefined\") {\n" + " document.getElementById('SoilHeater').innerHTML = obj.SoilHeater;\n" + " } else {\n" + " document.getElementById('SoilHeater').innerHTML = \"--\";\n" + " }\n" + " \n" + " if (typeof obj.SoilTemp_C != \"undefined\") {\n" + " document.getElementById('SoilTemp_C').innerHTML = ConvertTempToString(obj.SoilTemp_C, userF);\n" + " } else {\n" + " document.getElementById('SoilTemp_C').innerHTML = \"--\";\n" + " }\n" + " if (typeof obj.SoilTemp_C != \"undefined\") {\n" + " document.getElementById('SoilMoisture_X').innerHTML = obj.SoilMoisture_X;\n" + " } else {\n" + " document.getElementById('SoilMoisture_X').innerHTML = \"--\";\n" + " }\n" + " \n" + " if (obj.DrumDoorIcon == 1) {\n" + " document.getElementById('DrumDoorIcon').style.display === \"none\";\n" + " } else {\n" + " document.getElementById('DrumDoorIcon').style.display === \"block\";\n" + " }\n" + " document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor;\n" + " document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor;\n" + " document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus;\n" + " document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + \"s\";\n" + " document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + \"V\";\n" + " document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + \"A\";\n" + " \n" + " document.getElementById('WaterInTank').innerHTML = obj.WaterInTank;\n" + " document.getElementById('WaterPumpStatus').innerHTML = obj.WaterPumpStatus;\n" + " document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + \"V\";\n" + " document.getElementById('WaterCyclePeriod_sec').innerHTML = obj.WaterCyclePeriod_sec + \"s\";\n" + " document.getElementById('WaterCycleOn_sec').innerHTML = obj.WaterCycleOn_sec + \"s\";\n" + " document.getElementById('WaterCycle_sec').innerHTML = obj.WaterCycle_sec + \"s\";\n" " }\n" " );\n" "}\n" -}; // index_js, 1408 bytes +}; // index_js, 4528 bytes -// File: Open.png +// File: myip.js // -const char Open_png[] PROGMEM = { +const char myip_js[] PROGMEM = { + "\n" + "// Normally provided by the application intercepting this request,\n" + "// but for debug it can be handy to fix it.\n" + "//\n" + "var mySite = 'http://192.168.1.10'; // from myip.js\n" +}; // myip_js, 167 bytes + +// File: nav.js +// +const char nav_js[] PROGMEM = { + "//\n" + "//\n" + "function NavInit() {\n" + " nav = document.getElementById('nav');\n" + " var txt = \"\";\n" + " txt += \"\";\n" + " txt += \" \";\n" + " txt += \" \";\n" + " txt += \"\";\n" + " txt += \"
NAV:\";\n" + " txt += \" Home | \";\n" + " txt += \" Config | \";\n" + " txt += \" Scan | \";\n" + " txt += \" RSSI | \";\n" + " txt += \" Current | \";\n" + " txt += \" Factory Reset | \";\n" + " txt += \" About\";\n" + " txt += \"
\";\n" + " nav.innerHTML = txt;\n" + "}\n" +}; // nav_js, 684 bytes + +// File: navigation.htm +// +const char navigation_htm[] PROGMEM = { + "\n" + "\n" + "\n" + " \n" + "\n" + "\n" + " \n" + " \n" + " \n" + " \n" + " \n" + "
NAV:\n" + " Home |\n" + " Config |\n" + " Scan |\n" + " RSSI |\n" + " Current |\n" + " Factory Reset |\n" + " About\n" + "
\n" + "\n" + "\n" +}; // navigation_htm, 557 bytes + +// File: open.png +// +const char open_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x74,0x08,0x03,0x00,0x00,0x00,0x63,0x44,0xE6, - 0x15,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x00,0x00,0xDD,0x00,0x00,0x00,0xDD,0x08,0x06,0x00,0x00,0x00,0x3F,0xC4,0x77, + 0x1A,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, - 0x00,0x18,0x50,0x4C,0x54,0x45,0xF6,0xF6,0xF6,0xF8,0xF8,0xF8,0xF2,0xF2,0xF2,0xF7, - 0xF7,0xF7,0xF5,0xF5,0xF5,0xF3,0xF3,0xF3,0xF4,0xF4,0xF4,0x00,0x00,0x00,0x60,0x9A, - 0x3A,0x5D,0x00,0x00,0x00,0x08,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x00,0xDE,0x83,0xBD,0x59,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00, - 0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x01,0xEC,0x49, - 0x44,0x41,0x54,0x68,0x43,0xED,0xDA,0xD9,0x72,0x83,0x30,0x0C,0x05,0x50,0x48,0x58, - 0xFE,0xFF,0x8F,0x2B,0x4B,0x6A,0x09,0x09,0x8B,0xAD,0xE8,0x8A,0xE9,0xA0,0xFB,0x50, - 0x96,0xCE,0x70,0x6A,0x63,0x64,0xA0,0x74,0xF3,0x05,0xB9,0x0C,0xED,0xBA,0xBE,0x44, - 0x76,0x44,0x84,0xD0,0xFE,0xA1,0xD1,0x5D,0xF8,0x10,0xFA,0x54,0x73,0x85,0x0E,0x43, - 0x87,0x6B,0xFA,0x1E,0xFA,0xB9,0xC7,0x31,0x84,0x76,0x02,0x6C,0xA0,0xA3,0x6E,0x78, - 0xE7,0x10,0xA5,0x5F,0x42,0xF2,0x77,0xDC,0xB7,0xE1,0xCB,0xA8,0xAE,0xBB,0x67,0xA7, - 0x31,0x32,0xA2,0x75,0x83,0xD3,0x3F,0x46,0xB7,0x91,0x75,0xD0,0x83,0xFD,0x53,0x57, - 0x38,0x53,0xF9,0x2B,0x26,0xDD,0xF8,0x32,0xD5,0xA7,0x8D,0x9B,0xEE,0xD4,0xE1,0xB5, - 0xA8,0x5C,0x57,0xAB,0xB6,0xDB,0x53,0x8B,0xB2,0xE9,0x35,0xB2,0xAA,0xBB,0xF7,0x39, - 0xBA,0x9D,0xD2,0x7A,0x94,0xE2,0x56,0x18,0x5B,0xD0,0x75,0x46,0xFB,0x09,0x36,0xA3, - 0x74,0x25,0x9B,0xAB,0xA4,0x19,0xE5,0x81,0x35,0xE8,0x46,0x63,0xAC,0xE8,0xC0,0xA8, - 0x71,0x38,0x5B,0x51,0x31,0x8D,0x23,0xCB,0x8A,0x72,0x71,0xB6,0x5E,0x42,0xE6,0x73, - 0x5A,0x66,0x44,0x5D,0x6B,0x8E,0x1D,0xA5,0xD6,0xEA,0xB2,0x39,0xDF,0xA0,0xE6,0xFC, - 0x6F,0xB4,0x65,0x24,0x7B,0xA1,0x34,0x1D,0xD4,0x1F,0xCA,0x09,0xE5,0x9B,0xBB,0xEA, - 0x63,0xF9,0xA0,0xFA,0x90,0x50,0x5B,0x15,0x7D,0xD0,0xC6,0xA2,0xE8,0xD4,0xBD,0xDC, - 0x54,0x5D,0x3F,0x8F,0x13,0x5A,0xD4,0xFA,0xE1,0xEB,0x85,0x36,0xD5,0x27,0x3F,0xB4, - 0x21,0x89,0x42,0x83,0x41,0x4F,0x8E,0x0A,0x41,0xA7,0x93,0x7B,0x0A,0x04,0x4A,0xC5, - 0xFF,0xB8,0x22,0x02,0xD0,0x62,0x1E,0x57,0x7F,0x00,0xCA,0xE6,0x61,0x51,0x44,0x74, - 0x2F,0x9B,0x47,0x05,0x0A,0x81,0x9E,0x3E,0x71,0x20,0x50,0x9A,0xEA,0x74,0xB9,0x13, - 0x0C,0x7A,0x92,0x44,0xA1,0x49,0x14,0x1A,0x34,0x3A,0x6C,0x95,0x43,0x2C,0x5A,0xEE, - 0x4C,0x37,0x66,0x39,0x28,0x2A,0xF3,0xCD,0x67,0x15,0x86,0xA2,0x7B,0x37,0xFE,0xD8, - 0xEE,0xBD,0x04,0xBD,0xE2,0x9C,0x96,0xB3,0xBA,0x35,0xAF,0x82,0xD1,0xED,0x24,0x0A, - 0x4D,0xA2,0xD0,0x24,0xEA,0x9C,0x7E,0x7C,0xFD,0x47,0x52,0x08,0xCA,0x2F,0x7C,0x5E, - 0xEA,0x7E,0x08,0x2A,0xF3,0xAA,0x6E,0x50,0x62,0xBA,0x97,0xD1,0x85,0x0A,0x44,0x97, - 0xA6,0xC6,0xA0,0xE5,0x16,0x22,0x7A,0x20,0xBD,0x33,0x41,0xE8,0x3A,0x89,0x42,0x93, - 0x28,0x34,0x89,0x42,0x13,0x89,0x96,0x4F,0x25,0x78,0x25,0x0E,0x95,0xCF,0x9E,0x64, - 0x95,0x7F,0x46,0x44,0x6E,0x1F,0xF8,0x79,0x2A,0xB0,0x7B,0x19,0xE5,0xB7,0x86,0xD1, - 0x28,0xBF,0x1E,0x0D,0x44,0x27,0x22,0xE5,0xF3,0x97,0x40,0x74,0x49,0xA2,0xD0,0x24, - 0x0A,0x4D,0xA2,0xD0,0xDC,0x01,0x95,0x0F,0x7A,0x43,0x51,0x9E,0x67,0x48,0x8D,0x47, - 0xE9,0x91,0xF1,0x26,0x28,0x89,0x37,0x41,0xA7,0x3B,0xA0,0xBF,0xEF,0x93,0x42,0x51, - 0xAA,0x0D,0xBC,0x88,0x45,0x35,0x77,0x41,0xE7,0xF9,0x07,0xA5,0x3C,0x68,0x95,0x14, - 0xE6,0xEB,0xBA,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Open_png, 655 bytes + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15, + 0x28,0x4A,0x80,0x00,0x00,0x39,0xC2,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x09, + 0x78,0x94,0xE5,0xB9,0xFE,0x27,0xEB,0x64,0xDF,0x77,0x02,0x24,0x40,0x20,0x43,0xC8, + 0x06,0x04,0x08,0x02,0x09,0xB2,0x94,0x4D,0x45,0x6B,0xD5,0xA0,0xB6,0xA2,0xD6,0xA3, + 0xE8,0xF1,0xDF,0xD3,0xF6,0x68,0x7B,0x5A,0x4B,0x6D,0x3D,0xAD,0xD6,0x53,0xA9,0x4B, + 0x6B,0x5D,0x51,0x51,0x82,0x0B,0x46,0x45,0x04,0x59,0x43,0x12,0x16,0x09,0x10,0xF6, + 0x84,0x84,0x90,0x8D,0x2C,0x64,0x27,0x3B,0x59,0xFF,0xF7,0xFD,0xE5,0x9D,0x30,0x5B, + 0x42,0x80,0x04,0xB2,0xBC,0xBF,0xEB,0x1A,0xE6,0x7B,0x9F,0xEF,0x1B,0x66,0x32,0xF3, + 0xDD,0xEF,0xF3,0x3C,0xEF,0xAA,0x92,0x48,0x24,0x92,0x61,0x4D,0x41,0x41,0x81,0xB5, + 0x38,0xEC,0x02,0xB6,0xB0,0xFD,0xFB,0xF7,0x5B,0xF1,0x38,0x21,0x21,0xC1,0x5D,0x31, + 0xEA,0x50,0x53,0x53,0xF3,0xA3,0xEA,0xEA,0xEA,0x48,0x1E,0x5F,0xB8,0x70,0xC1,0x3F, + 0x2B,0x2B,0x6B,0x84,0x72,0x02,0x14,0x17,0x17,0xDB,0x8A,0x43,0xC9,0x00,0xC1,0x4C, + 0x3C,0x4B,0x6E,0x20,0x10,0x82,0xA3,0xAF,0xAF,0x6F,0x2D,0xC4,0xF2,0x68,0x45,0x45, + 0xC5,0x31,0x98,0x6A,0x4F,0x9F,0x3E,0xED,0x56,0x5F,0x5F,0xDF,0x18,0x1D,0x1D,0xFD, + 0xCF,0x73,0xE7,0xCE,0xA5,0x35,0x34,0x34,0x94,0x42,0x48,0x36,0x78,0x5C,0x8C,0x8A, + 0x8A,0xFA,0x6B,0x51,0x51,0xD1,0xB9,0xC6,0xC6,0xC6,0x0A,0x33,0x33,0x33,0xDF,0xD6, + 0xD6,0xD6,0xF3,0x13,0x26,0x4C,0xC8,0xF0,0xF1,0xF1,0xB1,0xB4,0xB2,0xB2,0xF2,0xC0, + 0x63,0x51,0x47,0x47,0x87,0xAA,0xBD,0xBD,0x3D,0xF7,0xEC,0xD9,0xB3,0x56,0xF6,0xF6, + 0xF6,0x23,0x2E,0x5E,0xBC,0xB8,0xD7,0xDA,0xDA,0xFA,0xE2,0xC8,0x91,0x23,0xBD,0xF0, + 0x9A,0xAC,0xF2,0xF2,0xF2,0xCF,0x26,0x4D,0x9A,0xF4,0x15,0xDF,0x7F,0xDD,0xBA,0x75, + 0x16,0x0F,0x3E,0xF8,0x60,0x1B,0x8F,0x25,0x37,0x1E,0x29,0xBA,0x7E,0x24,0x27,0x27, + 0x47,0x1D,0x18,0x18,0x78,0x89,0xC7,0xDB,0xB7,0x6F,0xB7,0xB3,0xB1,0xB1,0x99,0x16, + 0x1C,0x1C,0xEC,0x07,0xD1,0xFC,0xD1,0xDC,0xDC,0x3C,0x03,0xA2,0xB8,0xAD,0xA5,0xA5, + 0xA5,0xBD,0xA9,0xA9,0xA9,0x16,0x9E,0xCC,0x39,0x2F,0x2F,0xAF,0xD1,0xCE,0xCE,0xCE, + 0x16,0xE2,0x52,0x5D,0xBA,0x74,0x49,0x85,0xF3,0xAA,0xE6,0xE6,0x66,0x15,0x05,0xD5, + 0xD6,0xD6,0xA6,0x3C,0x5B,0x58,0x58,0xA8,0x1C,0x1D,0x1D,0x55,0x8B,0x17,0x2F,0x56, + 0x79,0x79,0x79,0xA9,0x20,0x28,0xE5,0x41,0x2A,0x2B,0x2B,0x55,0x89,0x89,0x89,0xF4, + 0x76,0x2A,0xFC,0xBF,0x2A,0xBC,0x87,0xCA,0xD5,0xD5,0x55,0xF9,0x7F,0x6A,0x6B,0x6B, + 0x9B,0xF0,0xDA,0x83,0x78,0x9C,0x77,0x72,0x72,0x72,0xB6,0xB5,0xB5,0x2D,0x57,0xAB, + 0xD5,0xC7,0x71,0xBE,0x05,0xC2,0xE4,0xFF,0x79,0x1A,0xFF,0x45,0xB1,0xBB,0xBB,0x3B, + 0x9F,0x25,0xFD,0x88,0x14,0x5D,0x1F,0x92,0x9E,0x9E,0x6E,0xA1,0xD1,0x68,0xDA,0xD2, + 0xD2,0xD2,0x16,0x9D,0x38,0x71,0xE2,0xFC,0xCC,0x99,0x33,0xE3,0x8F,0x1D,0x3B,0x76, + 0xA4,0xAE,0xAE,0xAE,0x11,0x37,0xFD,0x64,0x7F,0x7F,0xFF,0xA8,0x90,0x90,0x10,0x95, + 0xA7,0xA7,0xA7,0x72,0x3D,0x45,0x41,0xE0,0x95,0x54,0xBB,0x77,0xEF,0x56,0x65,0x67, + 0x67,0x2B,0xE5,0x2B,0x41,0xD1,0x2D,0x5D,0xBA,0x54,0x35,0x62,0x44,0x57,0x14,0xA9, + 0x00,0xCF,0xC9,0xF0,0x53,0x05,0xAF,0x26,0x2C,0x97,0xD1,0x0A,0x93,0xC2,0x85,0x67, + 0x54,0x1E,0x14,0xF0,0x5D,0x77,0xDD,0xA5,0x72,0x70,0x70,0x50,0xCA,0x10,0xEA,0x29, + 0x88,0xFD,0x35,0x78,0xCC,0x0A,0x7C,0x66,0x07,0x88,0xBA,0x00,0x2F,0x39,0x8C,0xCF, + 0x7B,0x51,0x79,0xB1,0xA4,0x4F,0x90,0xA2,0xEB,0x03,0x20,0xB6,0xA0,0xFC,0xFC,0xFC, + 0xE0,0x51,0xA3,0x46,0xAD,0xDC,0xB5,0x6B,0x57,0x25,0xC4,0xF0,0x08,0xC2,0xBC,0x06, + 0xDC,0xC8,0x76,0x55,0x55,0x55,0x8A,0xB8,0x78,0xB3,0x23,0xEC,0x53,0x2D,0x59,0xB2, + 0x44,0xE5,0xE7,0xE7,0xD7,0x25,0x38,0x42,0xAF,0xB4,0x6D,0xDB,0x36,0x55,0x46,0x46, + 0x86,0xB0,0xF4,0x0C,0x05,0x74,0xF7,0xDD,0x77,0xAB,0xF0,0x7E,0xC2,0xD2,0x09,0xDF, + 0x6B,0xEB,0xD6,0xAD,0x2A,0x84,0xA2,0xC2,0xD2,0x33,0x1E,0x1E,0x1E,0xAA,0x05,0x0B, + 0x16,0x28,0x9F,0x87,0x68,0xBD,0x29,0x3C,0x71,0xC7,0xE1,0xC3,0x87,0xCD,0x78,0x8C, + 0x90,0x77,0x8B,0xA5,0xA5,0xE5,0x06,0x3C,0x72,0xE0,0xA5,0xDD,0x83,0x82,0x82,0x94, + 0x10,0x55,0x72,0xED,0x48,0xD1,0x5D,0x25,0xB8,0xA1,0x3D,0x70,0x93,0x96,0x23,0x2F, + 0x7B,0x1A,0x62,0xB1,0xC8,0xCD,0xCD,0x5D,0x86,0xBC,0x2B,0x1C,0xCF,0xEE,0xBC,0x49, + 0xE9,0x6D,0x70,0xD3,0x8A,0xAB,0x8D,0x99,0x33,0x67,0x8E,0x0A,0x39,0x9A,0x28,0x75, + 0xC2,0x50,0x12,0x62,0xA5,0x78,0x95,0x9B,0xFE,0x4A,0x20,0x3C,0x54,0x2D,0x5B,0xB6, + 0x4C,0x85,0xBC,0x50,0x58,0x3A,0x3D,0x18,0x45,0x47,0xF1,0x16,0x16,0x16,0x0A,0x6B, + 0xCF,0x30,0xAC,0xA4,0xE8,0x18,0x82,0xEA,0x82,0xBF,0x4D,0xB5,0x69,0xD3,0x26,0x86, + 0xA4,0x4A,0x68,0x8A,0x50,0x54,0x05,0xD1,0x5D,0x0A,0x08,0x08,0x50,0x17,0x14,0x14, + 0x3C,0x35,0x71,0xE2,0x44,0xDB,0x88,0x88,0x88,0x22,0x84,0xBE,0x3B,0xBC,0xBD,0xBD, + 0x4B,0xC5,0xCB,0x24,0xBD,0xE4,0x72,0x75,0x2B,0xB9,0x22,0xC8,0x95,0x66,0xE0,0x29, + 0xB5,0xAC,0xAC,0xEC,0x20,0x6E,0xC2,0x57,0x71,0xF3,0xBF,0x82,0x3C,0xEA,0x56,0x78, + 0x05,0xF7,0x8A,0x8A,0x0A,0x25,0xA7,0xEA,0x49,0x70,0x04,0xF9,0x9B,0x92,0xA7,0xE9, + 0x42,0xAF,0x47,0x21,0x69,0x05,0xA7,0x0D,0x05,0x09,0x43,0x40,0x96,0x19,0xFE,0x51, + 0x00,0x78,0x5F,0x25,0xBC,0xE4,0xFF,0x43,0xF8,0x7E,0x7C,0xD0,0x4B,0x21,0x2C,0xA4, + 0x67,0x52,0xFE,0x3F,0xDD,0xFF,0xA3,0x3B,0xB4,0xFF,0x97,0x21,0xDA,0x9C,0x92,0xF0, + 0xB3,0x32,0xFC,0xC5,0xDF,0xA7,0x3E,0x7A,0xF4,0x28,0x43,0xD7,0x37,0xE0,0x91,0x5F, + 0x4E,0x4A,0x4A,0xFA,0x64,0xDF,0xBE,0x7D,0xF1,0xA8,0x28,0xFE,0xE7,0xC8,0x91,0x23, + 0xB3,0x94,0x8B,0x25,0xBD,0x42,0x7A,0xBA,0x1E,0x80,0xE7,0x98,0xFB,0xC5,0x17,0x5F, + 0x24,0x22,0xAC,0x8A,0x77,0x71,0x71,0x69,0x45,0x4E,0x76,0x37,0x84,0xA1,0xE6,0xCD, + 0x4A,0x81,0xF0,0x46,0xCF,0xCA,0xCA,0x52,0xED,0xDC,0xB9,0xB3,0xEB,0x26,0xED,0x09, + 0x0A,0x81,0xA1,0xDC,0x6D,0xB7,0xDD,0xD6,0x95,0x53,0x51,0x24,0x10,0x4B,0xDD,0xC1, + 0x83,0x07,0xAD,0x71,0xB3,0x5B,0x53,0x38,0x0D,0x0D,0x0D,0x4D,0xB8,0xF6,0x90,0x5A, + 0xAD,0xB6,0xC1,0x7B,0x4E,0xC5,0x73,0x6D,0x49,0x49,0xC9,0x4E,0xD8,0x53,0x70,0xDE, + 0x1E,0x9E,0x27,0x7C,0xCC,0x98,0x31,0xB6,0xCE,0xCE,0xCE,0x0D,0xF8,0x1C,0x81,0xB8, + 0x36,0x18,0x82,0xCC,0xC3,0x67,0x70,0x80,0xD7,0x1D,0x09,0x6F,0xDB,0x06,0x91,0x34, + 0x42,0x7C,0x0E,0x78,0x8D,0x92,0xE3,0xF1,0xBD,0xF8,0x99,0x29,0x28,0x8A,0x94,0x7F, + 0x03,0xFE,0x2E,0x55,0x4C,0x4C,0x8C,0xCA,0xC6,0xC6,0x46,0x7C,0xC2,0xCE,0x50,0xF7, + 0xE4,0xC9,0x93,0xAA,0xE4,0xE4,0x64,0xE5,0xB8,0x27,0xF8,0x3A,0xD1,0x50,0xC3,0xFC, + 0x75,0x1B,0xC2,0xE7,0x22,0x1C,0xAB,0xE1,0xFD,0x9E,0x41,0xC5,0x64,0x85,0x5C,0xB0, + 0xE7,0xFF,0x60,0x98,0x22,0x45,0x67,0x00,0xC2,0x27,0x6F,0x84,0x5D,0x17,0xB6,0x6C, + 0xD9,0xF2,0x2B,0xE4,0x66,0xFF,0x77,0xE0,0xC0,0x81,0x52,0xDC,0x7C,0x5E,0xCC,0x9F, + 0x18,0x16,0xDA,0xD9,0xD9,0x89,0x2B,0x3B,0x41,0x58,0xA9,0xC2,0xB5,0x14,0x8A,0xB0, + 0xE8,0xC3,0x9B,0x9D,0xE2,0x14,0x5E,0xAA,0x4A,0xA3,0xD1,0xB8,0x8E,0x1B,0x37,0x8E, + 0x37,0x7E,0x1A,0x4E,0xD7,0xE1,0xFC,0x4E,0x88,0xE5,0x1B,0x1C,0xB7,0xE1,0x39,0x0A, + 0x22,0xB3,0xA3,0x27,0x9D,0x3C,0x79,0xF2,0x0F,0x7C,0xFD,0xFE,0xFD,0xFB,0x03,0x60, + 0xB3,0xC1,0x67,0xD2,0x4B,0xF8,0x0E,0x1D,0x3A,0x64,0x31,0x75,0xEA,0x54,0xA5,0xD9, + 0xFF,0xF4,0xE9,0xD3,0x23,0x20,0xB0,0x2A,0x1C,0xB6,0xE2,0xFF,0x8B,0x70,0x70,0x70, + 0xB0,0x82,0x98,0x4B,0x20,0xB2,0x29,0x75,0x75,0x75,0x7E,0x08,0x13,0x1B,0xF0,0x19, + 0xBC,0xF1,0x9E,0xA1,0xA8,0x48,0xDA,0x70,0x0E,0x3A,0x35,0x0B,0x45,0x78,0xEA,0x88, + 0x50,0x71,0x24,0x2B,0x00,0xFE,0x5D,0x14,0x3C,0x3D,0x1B,0x2B,0x91,0xDE,0xE6,0x97, + 0x24,0x3A,0x3A,0x5A,0x85,0xCF,0xA2,0x54,0x24,0xF4,0xC0,0x78,0xDF,0x4F,0xF1,0x39, + 0x5C,0xF0,0xBD,0xDD,0x86,0xF7,0xB1,0xC7,0xFB,0x54,0x8B,0x4B,0x25,0x40,0x8A,0x4E, + 0x87,0x84,0x84,0x84,0x59,0x10,0x44,0x3C,0xC2,0xA8,0x0B,0xF0,0x18,0xBC,0x61,0xBB, + 0xC2,0x38,0x36,0x3A,0xB0,0xF1,0x82,0x8D,0x21,0xBA,0xF0,0xBC,0xEE,0x4D,0xAA,0x6D, + 0x20,0x61,0xB8,0x48,0x2F,0x00,0x2F,0xD5,0x06,0xDB,0xB7,0x78,0x5D,0x2B,0xC2,0xCF, + 0x47,0x11,0xCE,0xCD,0x84,0xA0,0x7C,0x71,0x43,0x7E,0x86,0xB0,0xED,0xD2,0x94,0x29, + 0x53,0xF4,0x63,0xCD,0x7E,0x64,0xFB,0xF6,0xED,0x66,0xC8,0xE1,0x94,0x18,0x76,0xDD, + 0xBA,0x75,0xEA,0x19,0x33,0x66,0x84,0xC3,0x83,0xFF,0x09,0x9F,0x4B,0x0D,0x91,0xD4, + 0xE1,0x33,0x05,0xE0,0x54,0x30,0xFE,0x7E,0xCB,0xBC,0xBC,0x3C,0xC5,0x2B,0x5E,0x09, + 0x7A,0xCC,0xF9,0xF3,0xE7,0xAB,0xD8,0x2A,0x4B,0xE8,0x4D,0x21,0x34,0xC5,0xF3,0x23, + 0xFF,0x3D,0xE8,0xE5,0xE5,0x15,0x88,0x4A,0x21,0x16,0xE2,0x6E,0x84,0xF8,0x72,0x94, + 0x8B,0x86,0x39,0xC3,0x5E,0x74,0xF0,0x52,0x56,0x3E,0x3E,0x3E,0xF1,0xD9,0xD9,0xD9, + 0x2D,0xC5,0xC5,0xC5,0x3F,0x41,0x6D,0x6F,0xC1,0xDC,0xCC,0x10,0x86,0x52,0x10,0x88, + 0x0A,0x37,0xAA,0xB0,0x74,0xC2,0x50,0xED,0x87,0x1F,0x7E,0x50,0x42,0x32,0x76,0x05, + 0xA0,0x9C,0x1B,0x16,0x16,0x66,0x81,0xF0,0xEE,0x53,0x84,0x6F,0x07,0x70,0xE3,0x5E, + 0xC0,0x0D,0x97,0x22,0x2E,0x1F,0x90,0xA0,0xC2,0xB0,0xC6,0x67,0x6D,0x86,0xD8,0x2C, + 0xDC,0xDC,0xDC,0xEE,0x82,0x70,0xFE,0xA3,0xB4,0xB4,0x94,0x23,0x5B,0x2E,0xE0,0xF3, + 0xBB,0x23,0x5C,0x0D,0xA1,0x88,0x18,0x6E,0xF2,0xEF,0xD5,0x85,0x8D,0x31,0xEC,0x33, + 0x64,0xB7,0x03,0xC5,0xA6,0x85,0x82,0x85,0x97,0x56,0xC1,0x6B,0xB3,0x22,0x2A,0x8C, + 0x8D,0x8D,0x1D,0x81,0xEF,0xF7,0xCE,0x59,0xB3,0x66,0x0D,0xFB,0xD6,0xCF,0x61,0x2B, + 0x3A,0xD4,0xC2,0xEE,0xC8,0xD7,0xEC,0x51,0xD3,0xC7,0x43,0x68,0x33,0x73,0x72,0x72, + 0x94,0x9B,0x86,0x35,0x75,0x77,0x40,0x3C,0x2A,0xE4,0x2E,0xDA,0xD6,0x3C,0x15,0xBC, + 0x21,0xAF,0xCF,0xC0,0x73,0x70,0x5A,0x5A,0xDA,0x93,0x08,0xB3,0x46,0xE2,0xFF,0x7D, + 0x03,0xF9,0x56,0x6B,0x60,0x60,0xE0,0x05,0xF1,0xB2,0x41,0x09,0xFE,0x1E,0xA7,0xC8, + 0xC8,0xC8,0x1A,0x1E,0x23,0xC4,0xFE,0x15,0xFE,0xDE,0x25,0xF8,0xDB,0xA6,0x67,0x66, + 0x66,0x9E,0xC5,0x71,0x38,0x5B,0x4A,0xC9,0xA4,0x49,0x93,0x54,0xB7,0xDE,0x7A,0xAB, + 0x12,0x5A,0xEA,0xC2,0x0E,0xFA,0xAF,0xBF,0xFE,0x5A,0x69,0x01,0x25,0xF4,0xFA,0xF0, + 0xFE,0x4D,0x08,0x6D,0x57,0x20,0x9A,0xB0,0x87,0x50,0x3F,0x56,0x4E,0x0C,0x43,0x86, + 0xA5,0xE8,0x70,0xF3,0xAC,0x81,0xD0,0x96,0x22,0x9C,0x54,0xE3,0x26,0x18,0xD5,0x9B, + 0x30,0x4A,0x2B,0xC8,0xE5,0xCB,0x97,0xF3,0x06,0xBB,0x08,0xE1,0xBD,0x84,0xFC,0x67, + 0x02,0x72,0xB4,0x87,0x70,0x23,0x86,0x8C,0x1F,0x3F,0xFE,0x94,0xB8,0x74,0xC8,0xB2, + 0x69,0xD3,0x26,0x0F,0x78,0xBD,0x66,0x54,0x3E,0x5B,0x8E,0x1C,0x39,0x52,0x8E,0x0A, + 0xEB,0x76,0x54,0x2E,0x4A,0x7F,0x21,0x73,0x57,0x3E,0x08,0x43,0xEE,0x83,0x07,0x0F, + 0xAA,0x8E,0x1F,0x3F,0xAE,0xD7,0xC0,0xC4,0xEF,0x10,0xB9,0x6D,0x2B,0x04,0x68,0x09, + 0x8F,0xF9,0x5C,0x44,0x44,0x84,0xCD,0xEC,0xD9,0xB3,0x7F,0x0F,0x0F,0x68,0x89,0xD0, + 0xB3,0xE7,0x66,0xDF,0x21,0xC4,0xB0,0x11,0x5D,0x61,0x61,0x61,0x08,0x87,0x3A,0x41, + 0x38,0xF1,0x08,0x93,0xEE,0x65,0xCD,0xCC,0x96,0x47,0xF6,0x47,0x5D,0x09,0x84,0x4E, + 0x4D,0x7E,0x7E,0x7E,0x36,0xB8,0x69,0xBE,0x98,0x3B,0x77,0xEE,0x24,0xD4,0xE2,0x71, + 0xB8,0x61,0x8E,0x8A,0xD3,0xC3,0x0E,0x78,0x41,0x1B,0x78,0xC1,0x26,0x88,0xE5,0x5F, + 0xF0,0x78,0x6C,0x25,0xF5,0x41,0xF8,0xBD,0x08,0x15,0x91,0x1B,0x23,0x00,0x36,0xC6, + 0xD0,0xCB,0xB1,0xBF,0xAF,0x27,0xFC,0xFD,0xFD,0x19,0x31,0x7C,0xBC,0x68,0xD1,0x22, + 0x8E,0x45,0x5D,0x2E,0xCC,0x43,0x9E,0x61,0x21,0x3A,0xD4,0xCA,0xBF,0xF4,0xF0,0xF0, + 0xF8,0x3B,0xC2,0x9B,0x4C,0xDC,0x20,0xE3,0x85,0x59,0x09,0x0F,0x11,0x3A,0xA9,0x4E, + 0x9D,0xD2,0x77,0x52,0x6C,0x0C,0x61,0x4B,0x1E,0xC2,0x44,0x36,0xE9,0x7F,0x87,0xE7, + 0x17,0xDC,0xDD,0xDD,0xC7,0x47,0x45,0x45,0x7D,0x88,0x1C,0xC5,0x0E,0xB9,0x9B,0xE9, + 0xA6,0xCA,0x61,0x4C,0x7A,0x7A,0xFA,0x42,0x54,0x68,0x31,0xF0,0x64,0xB7,0x22,0x54, + 0x9F,0x01,0x61,0x2A,0xDD,0x21,0x3D,0xA1,0x8D,0x1E,0x18,0xB6,0xE3,0x3B,0x8D,0x47, + 0x98,0xBA,0x22,0x3F,0x3F,0xDF,0x07,0x9E,0xB3,0x44,0x5C,0x32,0x24,0x19,0xB2,0xA2, + 0xC3,0x0F,0xCF,0xA9,0x2E,0xD9,0x1B,0x37,0x6E,0x7C,0x6E,0xF4,0xE8,0xD1,0xBF,0x0E, + 0x0F,0x0F,0x57,0x79,0x7B,0x7B,0xEB,0x25,0xFB,0x84,0x37,0xC7,0xE1,0xC3,0x87,0x95, + 0x0E,0x60,0xE2,0xE3,0xE3,0xC3,0x30,0xA9,0xC2,0xDE,0xDE,0xFE,0xA5,0xD0,0xD0,0xD0, + 0x09,0x61,0x61,0x61,0x8F,0x2A,0x27,0x24,0xBD,0xE2,0xD8,0xB1,0x63,0x01,0x10,0xD2, + 0xBC,0xFD,0xFB,0xF7,0xCF,0x71,0x76,0x76,0xFE,0xE9,0xB9,0x73,0xE7,0xBA,0x3A,0xEE, + 0xBB,0x03,0xD7,0x29,0x0D,0x54,0x01,0x01,0x01,0x05,0xF0,0x92,0xA5,0xB8,0x36,0x06, + 0x15,0x5D,0xCF,0x8A,0x1D,0xC4,0x0C,0x49,0xD1,0xC1,0xB3,0xFD,0x04,0xA2,0x89,0xDF, + 0xB3,0x67,0x4F,0x29,0xC2,0x4A,0x65,0xAC,0x14,0x7F,0x54,0x3E,0xB4,0x79,0x87,0x16, + 0xE6,0x1C,0xDF,0x7E,0xFB,0xAD,0xAA,0xB4,0xB4,0x94,0x89,0xFE,0xA7,0x31,0x31,0x31, + 0x21,0x10,0x6C,0xDC,0xD2,0xA5,0x4B,0x4F,0x8A,0x4B,0x24,0xD7,0x08,0x84,0xB7,0xF0, + 0xE4,0xC9,0x93,0xD3,0x51,0xD9,0xFD,0x09,0x95,0x5B,0x07,0x22,0x08,0x33,0xC3,0xD6, + 0x4F,0xC2,0x16,0x50,0x8E,0x49,0x65,0x0B,0x28,0xFB,0x3B,0xF1,0x1B,0x6D,0x42,0xD8, + 0xBA,0x0B,0xE2,0xDD,0x33,0x61,0xC2,0x04,0xF6,0x67,0x0E,0x29,0x86,0x9C,0xE8,0x12, + 0x12,0x12,0x9E,0xC6,0x8F,0xF7,0x2A,0xFB,0xCD,0x74,0x47,0xDB,0xB3,0xF3,0x97,0x4D, + 0xDB,0xA8,0x4D,0x85,0xA5,0x73,0x88,0x93,0x76,0x54,0x49,0x66,0x66,0xE6,0x23,0x0F, + 0x3F,0xFC,0xF0,0xFB,0x38,0xB6,0x09,0x0A,0x0A,0xEA,0xEC,0x9C,0x93,0xF4,0x09,0x10, + 0x5F,0x18,0x2A,0x42,0x0D,0x72,0xB8,0x0D,0xFC,0xAE,0x29,0x2C,0x7E,0xEF,0xC4,0xCD, + 0xCD,0x4D,0xB5,0x70,0xE1,0x42,0x65,0x1C,0x29,0xC3,0x7A,0x42,0xAF,0xC8,0xC6,0x18, + 0x84,0xFF,0x67,0x8E,0x1E,0x3D,0x1A,0x8B,0x28,0xE5,0x92,0x46,0xA3,0xE9,0x6C,0x2E, + 0x1D,0x02,0x0C,0x09,0xD1,0xA1,0x56,0x1C,0xED,0xEA,0xEA,0x9A,0xF7,0xD6,0x5B,0x6F, + 0xFD,0x05,0xB5,0xE4,0x6F,0xD9,0x37,0xA4,0xED,0xD4,0xD6,0xC2,0x11,0x21,0x10,0x93, + 0xD2,0xE4,0x4F,0x01,0xF2,0x1A,0xF0,0xB6,0x5A,0xAD,0x1E,0x85,0xDC,0xE3,0xB5,0x90, + 0x90,0x90,0x2D,0xCA,0x85,0x92,0x7E,0x23,0x2F,0x2F,0xEF,0xBF,0x10,0xC6,0x47,0x43, + 0x48,0x8B,0x20,0x28,0x47,0x0E,0x0E,0xE7,0xE8,0x9C,0x59,0xB3,0x66,0x29,0x83,0x09, + 0x0C,0xD9,0xBE,0x7D,0xBB,0xEA,0xCC,0x99,0x33,0x27,0xEE,0xBC,0xF3,0xCE,0x91,0xA8, + 0x40,0x6F,0x9F,0x3D,0x7B,0x76,0xB2,0x38,0x35,0xA8,0x19,0xF4,0xA2,0x43,0x28,0x78, + 0x27,0x3C,0x5B,0xFC,0xE7,0x9F,0x7F,0x7E,0xB2,0xB2,0xB2,0x72,0x0A,0xC3,0x17,0x26, + 0xE7,0xA6,0x60,0x4E,0xC7,0x51,0xFE,0x6C,0x61,0x6B,0x6C,0x6C,0x7C,0x3E,0x32,0x32, + 0xF2,0x8F,0xB9,0xB9,0xB9,0x56,0xF0,0x7E,0x72,0x8C,0xE0,0x0D,0x64,0xDF,0xBE,0x7D, + 0x4B,0xE1,0xD5,0x62,0xF0,0x3C,0x0F,0x5E,0x6E,0xB2,0xE1,0x14,0x25,0x7A,0x3A,0xCE, + 0x2D,0xD4,0x76,0xAE,0xF3,0x77,0xF3,0xF4,0xF4,0x2C,0xC4,0x71,0xEC,0xAA,0x55,0xAB, + 0xCE,0x8A,0xCB,0x06,0x2D,0x83,0x5A,0x74,0xF8,0xD1,0x56,0x99,0x99,0x99,0xFD,0x93, + 0xFD,0x41,0x45,0x57,0x98,0x43,0xC6,0xD1,0x22,0xF0,0x7E,0xDF,0xDD,0x71,0xC7,0x1D, + 0x7B,0xD8,0xCF,0x06,0xA1,0xBD,0x25,0x4E,0x49,0x6E,0x12,0x87,0x0F,0x1F,0x1E,0xEF, + 0xEC,0xEC,0x9C,0x88,0x87,0x1A,0xBF,0xA3,0x1B,0xA3,0x11,0xC2,0x8A,0x93,0x33,0xE0, + 0x8F,0x1D,0xE3,0x4A,0x16,0x9D,0x70,0x40,0x02,0xEC,0x87,0x90,0xFB,0xC5,0xE3,0xBA, + 0x8C,0x49,0x93,0x26,0x7D,0x27,0x4E,0x0D,0x3A,0x06,0xAD,0xE8,0x0A,0x0A,0x0A,0xFE, + 0x54,0x58,0x58,0xF8,0x1C,0x72,0x05,0x65,0xF4,0x43,0x77,0xB0,0x3F,0x6E,0xEC,0xD8, + 0xB1,0x4C,0xCE,0xDF,0xBB,0xE7,0x9E,0x7B,0x64,0x4B,0xE4,0x00,0x03,0x21,0xE7,0x24, + 0x3C,0x9D,0x43,0x8E,0xF7,0x1D,0x84,0x15,0xC3,0xB1,0xAD,0x14,0x5B,0x52,0x52,0x92, + 0xD1,0x14,0x28,0xC2,0xD6,0x65,0xA4,0x09,0x17,0xE9,0xF5,0xE2,0xE2,0xE2,0x06,0x65, + 0x5F,0xE9,0xA0,0x14,0x1D,0x72,0x81,0x77,0x51,0xEB,0x3D,0xC2,0xA1,0x48,0x9C,0x82, + 0x02,0x01,0x1A,0x8D,0x09,0x24,0x1C,0x7A,0xC4,0x16,0xCB,0x96,0x96,0x96,0x17,0x90, + 0x0F,0x3C,0x27,0xCC,0x92,0x01,0x08,0xC2,0x49,0x5F,0x88,0x6E,0x1B,0x7E,0xDB,0x92, + 0xCC,0xCC,0xCC,0xF9,0xEC,0xC6,0xE9,0x0E,0xE6,0x7F,0x48,0x11,0x38,0xFC,0x2E,0x16, + 0x15,0xA9,0xAF,0x46,0xA3,0x19,0x54,0xE2,0x1B,0x54,0x93,0x58,0xF1,0x83,0x38,0xE1, + 0xB1,0x19,0x87,0x8F,0x30,0x2F,0x63,0xC8,0xC8,0xB1,0x7F,0x86,0xE3,0xFE,0xD8,0x50, + 0x82,0x70,0x65,0xFB,0xB2,0x65,0xCB,0xBE,0xF3,0xF5,0xF5,0x7D,0x4A,0x0A,0x6E,0xE0, + 0x83,0x68,0x84,0xC3,0x57,0x66,0x04,0x07,0x07,0x2F,0xB0,0xB1,0xB1,0xD9,0xCC,0x59, + 0x0B,0x86,0x7D,0xAA,0x5A,0xD8,0x00,0x83,0xFC,0x3D,0xD8,0xD1,0xD1,0xF1,0x58,0x43, + 0x43,0xC3,0xE1,0xAD,0x5B,0xB7,0xCE,0x16,0xA7,0x06,0x05,0x83,0xC6,0xD3,0x1D,0x3D, + 0x7A,0x74,0x02,0xF2,0xB0,0x78,0x24,0xE0,0xCA,0xFA,0x8E,0x5A,0xD8,0x68,0x82,0xDC, + 0x4E,0x19,0x59,0xC2,0x3E,0x38,0x36,0x3D,0x23,0x54,0xF9,0xF0,0xF1,0xC7,0x1F,0x7F, + 0xA8,0xB8,0xB8,0xD8,0x02,0x65,0xB9,0xD4,0xDC,0x20,0x03,0x39,0xBA,0x23,0x2A,0xD2, + 0xB8,0xAF,0xBE,0xFA,0x2A,0x18,0x15,0xE8,0x7F,0x99,0x9A,0xF5,0xA1,0xC5,0xDD,0xDD, + 0x9D,0xC3,0xC9,0x0A,0xBD,0xBC,0xBC,0x62,0x66,0xCD,0x9A,0xD5,0xBB,0x95,0x9D,0x6E, + 0x32,0x83,0x42,0x74,0xAB,0x57,0xAF,0x8E,0xE5,0xEC,0xED,0xC8,0xC8,0x48,0x1F,0xED, + 0x22,0x3A,0x5A,0x28,0x3A,0x0E,0x58,0x4E,0x49,0x49,0x51,0x96,0x1E,0x80,0x28,0x5F, + 0x5C,0xB0,0x60,0xC1,0x6F,0xC5,0x69,0xC9,0x20,0xE7,0xEB,0xAF,0xBF,0xDE,0x80,0xDF, + 0xF7,0x5E,0xAE,0x1F,0xD3,0x1D,0xB1,0xB1,0xB1,0xAA,0xF0,0xF0,0xF0,0x54,0x54,0xBA, + 0xB1,0x97,0x2E,0x5D,0x82,0xFE,0xBC,0x72,0xC5,0xA9,0x01,0xC9,0x80,0x0D,0x2F,0x73, + 0x72,0x72,0x94,0x0A,0x01,0x82,0x5B,0x81,0xA7,0xDD,0x19,0x19,0x19,0x3E,0x1C,0x52, + 0xA4,0x9D,0x52,0xA2,0x85,0x21,0x08,0x3B,0x55,0x39,0xD7,0xCD,0xDB,0xDB,0xFB,0x17, + 0x52,0x70,0x43,0x0B,0x1F,0x1F,0x9F,0xB8,0x69,0xD3,0xA6,0x25,0xA1,0xB2,0xFD,0x5A, + 0x77,0x59,0x09,0x2D,0x38,0x47,0xC1,0x31,0xCA,0x89,0x42,0x05,0x7C,0xAC,0xBD,0xBD, + 0xFD,0x68,0x5E,0x5E,0x5E,0x84,0x38,0x3D,0x20,0x19,0x90,0x9E,0x0E,0x82,0x1B,0x8B, + 0xA7,0xDF,0x7C,0xF8,0xE1,0x87,0x67,0xF0,0x45,0xBE,0xDC,0x69,0xED,0x84,0x73,0xB7, + 0xD8,0xC9,0xCD,0x56,0x2E,0x0A,0x8E,0xC3,0xB8,0xEA,0xEA,0xEA,0x38,0xB0,0x2F,0x2E, + 0x30,0x30,0xF0,0xB3,0xCE,0xAB,0x24,0x43,0x09,0xDC,0x0F,0xCA,0xA2,0xBD,0x1F,0x7C, + 0xF0,0xC1,0x3B,0xF8,0xCD,0x1F,0x65,0xE5,0x4B,0x10,0xF9,0x28,0x82,0xE3,0xA8,0x16, + 0x6D,0xFE,0xC7,0x41,0x11,0xC8,0xF9,0x32,0x5A,0x5A,0x5A,0x62,0x34,0x1A,0xCD,0x80, + 0x5C,0xA9,0x6C,0xC0,0x89,0x0E,0x5F,0xB0,0x25,0x9E,0xB6,0xA4,0xA6,0xA6,0xCE,0x37, + 0x1C,0xFD,0x4F,0xD8,0x5F,0xB3,0x68,0xD1,0x22,0x65,0x90,0x2C,0x84,0xB7,0xA5,0xB5, + 0xB5,0x35,0x14,0xC2,0xA3,0xE0,0x06,0xF4,0xEC,0x6C,0x49,0xDF,0x70,0xF8,0xF0,0xE1, + 0xCD,0x85,0x85,0x85,0x33,0x21,0x2C,0x17,0x36,0xA2,0x71,0x26,0x88,0x21,0x8C,0x86, + 0x90,0x07,0xEE,0x82,0x28,0xE7,0x09,0xD3,0x80,0x62,0xC0,0x85,0x97,0x10,0x4F,0xEB, + 0x86,0x0D,0x1B,0x2E,0x99,0x12,0x1C,0x61,0xFE,0xC6,0xD5,0x90,0x2F,0x5C,0xB8,0xF0, + 0x6B,0xC4,0xEE,0x4B,0x50,0xC3,0x85,0x4A,0xC1,0x0D,0x1F,0xE0,0xD5,0xEE,0x09,0x0D, + 0x0D,0x9D,0x34,0x7E,0xFC,0xF8,0x7F,0x70,0xA4,0x8A,0x21,0xCC,0xF1,0x19,0xFD,0xA4, + 0xA5,0xA5,0xDD,0xFA,0xCA,0x2B,0xAF,0x7C,0x5C,0x56,0x56,0xE6,0x81,0x87,0x7E,0x43, + 0xC0,0x4D,0x66,0x40,0x79,0x3A,0xE4,0x6F,0xFC,0x16,0xE3,0xF1,0x98,0xAB,0x18,0x0C, + 0x60,0xEB,0x24,0xBF,0x54,0xC4,0xED,0xF7,0x3F,0xFF,0xFC,0xF3,0xEB,0x85,0x59,0x32, + 0x4C,0xC9,0xCC,0xCC,0xDC,0x80,0x3C,0xEF,0x5E,0x17,0x17,0x17,0x61,0xE9,0x5C,0x26, + 0xE2,0x9B,0x6F,0xBE,0x51,0xBA,0x15,0x98,0xEB,0x4F,0x9C,0x38,0xB1,0x62,0xE6,0xCC, + 0x99,0xE7,0x10,0x76,0xC6,0x8C,0x1D,0x3B,0xF6,0xCA,0x4B,0x04,0xDC,0x00,0x06,0x8C, + 0xA7,0x83,0xE0,0x98,0xFC,0x26,0xE2,0x61,0x52,0x70,0xEC,0x10,0xF5,0xF4,0xF4,0x2C, + 0xC1,0x97,0x3C,0x57,0x0A,0x4E,0x42,0xDA,0xDA,0xDA,0xE2,0xEA,0xEB,0xEB,0x93,0x29, + 0x30,0xC2,0x95,0xAD,0xB9,0x32,0x9B,0x76,0xF2,0x2C,0xC7,0x70,0x9E,0x3C,0x79,0xD2, + 0x1D,0x21,0x69,0x54,0x73,0x73,0x33,0x2B,0xF3,0x01,0xC1,0x80,0x10,0x1D,0xC2,0xC9, + 0xC5,0xF0,0x62,0x14,0x5C,0x70,0xA7,0x45,0x1F,0x8E,0x2C,0x41,0x58,0x91,0x06,0xC1, + 0xC5,0x3E,0xFB,0xEC,0xB3,0xBC,0x4E,0x22,0x51,0x69,0x34,0x1A,0x8E,0x6C,0x8F,0x83, + 0x17,0x3B,0xCB,0x81,0xD1,0x5C,0x91,0x8D,0xF9,0x9C,0x76,0xDA,0x90,0x16,0x8E,0x6E, + 0xC9,0xCE,0xCE,0xBE,0x03,0x21,0xE7,0x9B,0xC2,0x74,0x53,0xB9,0xE9,0xA2,0x43,0x2D, + 0xF5,0xC8,0x84,0x09,0x13,0xBE,0x1B,0x31,0x62,0x84,0xB3,0x30,0xE9,0xC1,0xD0,0xC1, + 0xD9,0xD9,0x99,0x83,0x5B,0x63,0x57,0xAE,0x5C,0x79,0xA6,0xD3,0x2A,0x91,0x74,0x02, + 0xE1,0x15,0xDA,0xDA,0xDA,0xC6,0xE1,0x1E,0x39,0x74,0xFE,0xFC,0xF9,0x64,0x43,0xC1, + 0x69,0x49,0x4D,0x4D,0xE5,0x8C,0x85,0xC7,0x93,0x93,0x93,0x57,0x0B,0xD3,0x4D,0xE3, + 0xA6,0xE6,0x74,0x10,0xDC,0xEF,0xF1,0xF4,0x67,0x1E,0x73,0x90,0x2B,0x3B,0x40,0x19, + 0x22,0x68,0x61,0x33,0xB0,0x5A,0xAD,0x7E,0xEF,0xB7,0xBF,0xFD,0xAD,0x1C,0xA8,0x2C, + 0xE9,0x91,0xF2,0xF2,0x72,0xEB,0xF7,0xDF,0x7F,0xDF,0xC6,0xD1,0xD1,0x71,0x0F,0x3C, + 0x5F,0x04,0xD7,0xBF,0x31,0x84,0xB3,0x18,0x22,0x22,0x22,0xB8,0x86,0xE9,0x7F,0xCC, + 0x9B,0x37,0xEF,0x6D,0x61,0xBE,0xE1,0xDC,0x34,0xD1,0x41,0x5C,0x6F,0xD8,0xD9,0xD9, + 0x3D,0xC9,0xC6,0x11,0x2D,0x47,0x8F,0x1E,0xE5,0xA4,0x45,0x15,0x6A,0x2C,0x61,0x51, + 0xFD,0x19,0xF9,0xDB,0x1F,0xC4,0xB1,0x44,0x72,0x45,0xD6,0xAF,0x5F,0xCF,0x7D,0x1D, + 0x12,0xB9,0x3C,0xBE,0x29,0xE1,0xB1,0x7F,0x97,0x0B,0x21,0x21,0xDF,0xBB,0xED,0xF6, + 0xDB,0x6F,0xFF,0x56,0x98,0x6F,0x28,0x37,0x5C,0x74,0x59,0x59,0x59,0xD6,0x96,0x96, + 0x96,0xF1,0x10,0xDC,0x5D,0x1C,0x61,0xA0,0xED,0xD4,0x24,0x5C,0x41,0x98,0x5D,0x05, + 0x7C,0x94,0x94,0x94,0x3C,0x09,0xC1,0xFD,0x4B,0x9C,0x92,0x48,0x7A,0x4D,0x42,0x42, + 0x02,0x1B,0xE3,0x76,0xB1,0x13,0x5D,0xDB,0xC8,0xA2,0x0B,0x1B,0xE5,0x82,0x82,0x82, + 0xEA,0xD8,0x46,0xB0,0x70,0xE1,0xC2,0xEE,0xA7,0x33,0xF4,0x13,0x37,0x54,0x74,0x39, + 0x39,0x39,0x0E,0x1D,0x1D,0x1D,0xDB,0x1B,0x1B,0x1B,0x67,0x70,0xA0,0x2A,0x67,0x03, + 0x18,0xD2,0xD0,0xD0,0xD0,0x01,0x6F,0xB7,0x32,0x26,0x26,0xE6,0x43,0x61,0x92,0x48, + 0xAE,0x9A,0x1D,0x3B,0x76,0xAC,0x68,0x6D,0x6D,0xFD,0x84,0xAB,0xBD,0x71,0x94,0x8A, + 0x2E,0xDA,0x39,0x96,0xA1,0xA1,0xA1,0x59,0xB8,0x07,0x63,0xC7,0x8C,0x19,0xD3,0xBB, + 0x5D,0x34,0xFB,0x88,0x1B,0xDA,0x90,0x12,0x18,0x18,0x58,0x87,0x2F,0xE3,0x12,0x9B, + 0x75,0x39,0x07,0xCE,0xB0,0x16,0x62,0x12,0x0C,0x6F,0x67,0x36,0x6A,0xD4,0x28,0xFD, + 0x5D,0x3A,0x24,0x92,0xAB,0x64,0xFE,0xFC,0xF9,0xEB,0xE1,0xC9,0x7E,0xCD,0x1C,0x8E, + 0xFD,0x75,0xBA,0x70,0x60,0x3C,0xE7,0x59,0x7A,0x78,0x78,0x04,0xA1,0x18,0x0F,0x8F, + 0x78,0x43,0x9D,0xCF,0x0D,0x7D,0xB3,0xD5,0xAB,0x57,0xD3,0x7B,0xFD,0x94,0xC7,0xDC, + 0x05,0x87,0x43,0x78,0xF8,0xA5,0xF0,0x4B,0x60,0x68,0xC9,0x5D,0x72,0x10,0x6B,0x3F, + 0x0B,0x71,0xFE,0x8D,0xD7,0x48,0x24,0xD7,0xCB,0xA1,0x43,0x87,0xFE,0xAF,0xB4,0xB4, + 0xF4,0x57,0xDC,0xE4,0x85,0x70,0xB9,0x3F,0xEE,0x62,0xAB,0x8D,0xB2,0xC4,0xCE,0x4C, + 0x9F,0xE2,0x5E,0xBC,0x4F,0x31,0xDC,0x00,0x6E,0x88,0xE8,0x36,0x6E,0xDC,0xE8,0x8E, + 0xB0,0x31,0xBE,0xB8,0xB8,0x78,0x81,0xEE,0xAA,0xBF,0xEC,0x0E,0xE0,0x54,0x1D,0xEE, + 0x6F,0xC6,0xA9,0xF9,0xC8,0xF5,0x7E,0x1A,0x10,0x10,0xB0,0x4E,0x9C,0x96,0x48,0xFA, + 0x04,0x84,0x98,0x9F,0x14,0x15,0x15,0xAD,0x60,0x64,0xB5,0x74,0xE9,0x52,0x61,0xBD, + 0x0C,0x17,0x1A,0x86,0xF0,0xD6,0x20,0xCF,0xFB,0xA5,0x30,0xF5,0x2B,0xFD,0x2E,0xBA, + 0xC3,0x87,0x0F,0x87,0x56,0x54,0x54,0xAC,0xCF,0xCA,0xCA,0x9A,0xC4,0x05,0x5D,0x0D, + 0xA1,0xE8,0x34,0x1A,0x0D,0x37,0xA3,0x88,0x0B,0x0B,0x0B,0xDB,0x21,0xCC,0x12,0x49, + 0x9F,0x92,0x97,0x97,0xB7,0x0B,0xDE,0x6D,0xAE,0x5A,0xAD,0x16,0x96,0xCB,0x70,0x68, + 0x21,0xB7,0xAF,0x2E,0x2B,0x2B,0x7B,0x76,0xFA,0xF4,0xE9,0xFD,0x1E,0x65,0xF5,0x6B, + 0x4E,0x87,0xDA,0x65,0x21,0xC4,0x94,0x78,0xFE,0xFC,0x79,0x93,0x82,0xE3,0x8C,0x01, + 0x0B,0x0B,0x8B,0x13,0x55,0x55,0x55,0xB1,0x52,0x70,0x92,0xFE,0x04,0x51,0x54,0x5C, + 0x5B,0x5B,0x5B,0x86,0x61,0xE7,0x39,0x87,0x8A,0xB1,0x05,0x9D,0x3B,0xEA,0x42,0x98, + 0x2F,0x6D,0xDE,0xBC,0xF9,0x41,0x71,0xAA,0xDF,0xE8,0x57,0xD1,0x21,0x64,0xD4,0x24, + 0x25,0x25,0xB9,0xE1,0x8F,0x11,0x16,0x7D,0xF0,0x07,0x7F,0x8F,0xB0,0x33,0xE6,0x8E, + 0x3B,0xEE,0x18,0xF2,0xDB,0x4C,0x49,0x6E,0x2E,0x23,0x46,0x8C,0xB8,0x40,0xE1,0xE1, + 0x9E,0xAB,0xD1,0x0A,0x8F,0xB3,0x11,0x18,0x5A,0xB2,0x61,0x6F,0xCF,0x9E,0x3D,0x14, + 0x1D,0x5B,0x36,0x3F,0xDA,0xBD,0x7B,0x77,0xBF,0x4E,0x09,0xEA,0xB7,0xF0,0xF2,0x5F, + 0xFF,0xFA,0x57,0x40,0x65,0x65,0x25,0xB7,0xA5,0xD2,0xDF,0xBA,0x54,0x30,0x6E,0xDC, + 0xB8,0xD6,0xD8,0xD8,0xD8,0xE9,0x48,0x6C,0x8F,0x08,0x93,0x44,0xD2,0xEF,0x94,0x94, + 0x94,0x2C,0x81,0xF0,0x36,0xD3,0xBB,0x71,0x9C,0x26,0x17,0xB4,0xCD,0xCF,0xCF,0x17, + 0x67,0x3B,0x1B,0xF8,0x26,0x4D,0x9A,0x54,0x86,0x28,0x2C,0x76,0xC6,0x8C,0x19,0xA7, + 0x85,0xB9,0x4F,0xE9,0x17,0x4F,0x97,0x92,0x92,0x32,0xD3,0xD3,0xD3,0x33,0x11,0x35, + 0x8B,0x49,0xC1,0x71,0xE6,0x37,0xFE,0xA0,0x02,0x1C,0xCA,0x45,0x83,0x24,0x37,0x14, + 0x1F,0x1F,0x9F,0xEF,0xE0,0xE9,0x1E,0xE5,0x7E,0x0A,0x7B,0xF7,0xEE,0xD5,0x13,0x1C, + 0xE1,0xFE,0x17,0x39,0x39,0x39,0x9E,0xC8,0xFD,0xE2,0xD3,0xD2,0xD2,0x5C,0x85,0xB9, + 0x4F,0xE9,0x73,0xD1,0x65,0x64,0x64,0x38,0xA3,0xB6,0xF8,0xAA,0xA6,0xA6,0x66,0x34, + 0x27,0x9C,0x1A,0x02,0x37,0xCF,0xC6,0x93,0x7D,0xF5,0xF5,0xF5,0xB1,0xF0,0x72,0x97, + 0x97,0xF0,0x95,0x48,0x6E,0x10,0xB8,0xEF,0xDE,0xAB,0xAB,0xAB,0x7B,0x4E,0x77,0x33, + 0x19,0x5D,0x18,0x66,0x66,0x66,0x66,0x86,0x59,0x5B,0x5B,0xF7,0xCB,0x74,0xA0,0x3E, + 0x17,0x1D,0x04,0x65,0x65,0x61,0x61,0x51,0xC8,0xE5,0x14,0xD8,0xFF,0xA6,0x0B,0x6D, + 0x76,0x76,0x76,0x5F,0xD4,0xD6,0xD6,0xC6,0x44,0x44,0x44,0xE8,0x57,0x31,0x12,0xC9, + 0x0D,0x24,0x3C,0x3C,0xFC,0x05,0x57,0x57,0xD7,0x7F,0x72,0x8D,0x15,0x53,0x9C,0x3E, + 0x7D,0x9A,0x03,0x38,0x7E,0x04,0x01,0xAE,0x15,0xA6,0x3E,0xA3,0x4F,0x73,0xBA,0xA2, + 0xA2,0xA2,0x50,0x88,0x8A,0x6B,0x53,0x86,0x70,0xAD,0x42,0xCE,0x71,0xE2,0xF2,0xD8, + 0xEC,0x9B,0x63,0xF2,0x8A,0x70,0xF3,0xF5,0xE7,0x9E,0x7B,0xEE,0x69,0x71,0xB9,0x44, + 0x72,0xD3,0xD9,0xB3,0x67,0xCF,0x97,0x10,0xD6,0x9D,0xDC,0xB0,0xC4,0x14,0x77,0xDC, + 0x71,0x07,0x47,0x52,0x45,0x43,0xA0,0x07,0x84,0xE9,0xBA,0xE9,0x33,0xD1,0x41,0x70, + 0x91,0x1D,0x1D,0x1D,0x3B,0x6C,0x6C,0x6C,0xDC,0xB4,0x2B,0x2E,0x73,0x94,0x09,0xFB, + 0x3F,0xB8,0x18,0x2C,0x27,0xA2,0x4E,0x9C,0x38,0x71,0x15,0xF2,0xB9,0x01,0x31,0x91, + 0x50,0x22,0x21,0x3B,0x77,0xEE,0x54,0xB7,0xB6,0xB6,0x26,0x42,0x74,0x33,0x4C,0xED, + 0x89,0x81,0x7B,0xB9,0x1E,0x8F,0x99,0xCF,0x3E,0xFB,0xEC,0x71,0x61,0xBA,0x6E,0xFA, + 0x2C,0xBC,0x84,0x17,0x3B,0x6F,0x6B,0x6B,0x6B,0xAE,0x15,0x1C,0xE1,0x31,0x37,0x7C, + 0xE0,0x52,0x69,0xBE,0xBE,0xBE,0xDF,0xC3,0xDB,0x6D,0x10,0xA7,0x24,0x92,0x01,0xC1, + 0xBC,0x79,0xF3,0x2E,0x35,0x36,0x36,0xC6,0xE1,0xFE,0xCC,0xD3,0x5D,0x6B,0x45,0x07, + 0x7B,0xA4,0x45,0xF1,0x9F,0x7C,0xF2,0x89,0xA7,0x28,0x5F,0x37,0x7D,0x22,0x3A,0x84, + 0x90,0x81,0xF0,0x68,0x9B,0x20,0x3C,0xBD,0x4F,0xCD,0x9E,0x7E,0xB6,0x12,0x21,0x21, + 0x5D,0x3B,0x6D,0xDA,0xB4,0x45,0xC1,0xC1,0xC1,0x43,0x66,0x37,0x4D,0xC9,0xD0,0x61, + 0xF9,0xF2,0xE5,0xB9,0x70,0x08,0x71,0x9E,0x9E,0x9E,0xCD,0x86,0x23,0x56,0xB8,0x31, + 0x0D,0x22,0xB6,0x89,0xFE,0xFE,0xFE,0x7D,0xD6,0xA8,0x72,0xDD,0xA2,0x43,0xC2,0x39, + 0xF3,0xD2,0xA5,0x4B,0x89,0xC7,0x8F,0x1F,0x9F,0xAE,0xBB,0x9F,0x18,0x61,0x5F,0x48, + 0x7B,0x7B,0x7B,0xAE,0x46,0xA3,0x79,0x58,0x98,0x24,0x92,0x01,0xC9,0xDD,0x77,0xDF, + 0xBD,0xBF,0xAE,0xAE,0x6E,0x85,0x6E,0xA4,0xC6,0x11,0x53,0xEC,0xB7,0x9B,0x3C,0x79, + 0x32,0x07,0xE7,0xCF,0x3B,0x7B,0xF6,0x6C,0x9F,0x8C,0x0B,0xBE,0x6E,0xD1,0xE1,0x83, + 0xDD,0x93,0x9F,0x9F,0x3F,0x8A,0x4B,0x2D,0x70,0x23,0xBF,0x83,0x07,0x0F,0x2A,0x79, + 0x1C,0x61,0x8C,0x5C,0x59,0x59,0x59,0x98,0x99,0x99,0xE9,0xA6,0x18,0x24,0x92,0x01, + 0xCC,0xE3,0x8F,0x3F,0xBE,0x11,0x1E,0xEF,0x37,0x3C,0xF6,0xF2,0xF2,0x52,0xB6,0x66, + 0x9E,0x3F,0x7F,0x3E,0xE7,0xDD,0x29,0x2D,0xEF,0x0E,0x0E,0x0E,0x0F,0xE0,0x9E,0x56, + 0x66,0xC9,0x5C,0x0F,0xD7,0xD5,0x90,0x92,0x90,0x90,0xE0,0x99,0x93,0x93,0x13,0x5F, + 0x5B,0x5B,0x3B,0x8F,0x63,0xD8,0xB4,0x70,0xE5,0x5D,0x36,0x9C,0x38,0x39,0x39,0x7D, + 0x81,0x22,0xD7,0xA2,0x37,0xDE,0x3C,0x4E,0x22,0x19,0x60,0x14,0x17,0x17,0x53,0x0F, + 0x1F,0x9E,0x39,0x73,0xE6,0x41,0x7A,0x39,0x4E,0x03,0x82,0xD0,0x3A,0x4F,0x02,0xA4, + 0x4B,0xDC,0x26,0x3B,0x1A,0x02,0xBC,0xAE,0xD9,0xE6,0xD7,0x2C,0xBA,0xB2,0xB2,0xB2, + 0x31,0x85,0x85,0x85,0x9B,0xF6,0xEE,0xDD,0x3B,0xD1,0x70,0x30,0x33,0xC3,0xCA,0x51, + 0xA3,0x46,0x7D,0xF6,0xF0,0xC3,0x0F,0xDF,0x2B,0x4C,0x12,0xC9,0xA0,0x20,0x2F,0x2F, + 0xCF,0x9F,0xAD,0x99,0x10,0xDD,0x58,0x5D,0xC1,0x11,0xB6,0x51,0x34,0x35,0x35,0x65, + 0x22,0x9D,0x8A,0xC5,0xFD,0xCD,0xFD,0xF4,0xAE,0x89,0xEB,0x09,0x2F,0xEB,0x51,0x23, + 0xF8,0x99,0x9A,0x3D,0xC0,0x8D,0xDB,0xA3,0xA3,0xA3,0x1D,0x10,0x72,0xEA,0xEF,0xD6, + 0x28,0x91,0x0C,0x70,0x46,0x8F,0x1E,0x7D,0x9E,0x8D,0x2A,0xC8,0xEF,0x1A,0x38,0x20, + 0x5A,0x17,0xB1,0x9E,0xCF,0x78,0x44,0x76,0xD7,0xD5,0xA8,0x72,0x4D,0xA2,0x4B,0x4D, + 0x4D,0xB5,0xDA,0xBF,0x7F,0xFF,0xBF,0x73,0x73,0x73,0x4D,0xB6,0xB1,0x82,0xAD,0x25, + 0x25,0x25,0xF7,0x6B,0x34,0x1A,0xBA,0x63,0x89,0x64,0x50,0x31,0x7E,0xFC,0xF8,0x54, + 0x73,0x73,0x73,0xAE,0x1E,0xAD,0x4C,0xFD,0x21,0x7C,0xE6,0x80,0x0F,0x2E,0x76,0x74, + 0xF4,0xE8,0xD1,0x98,0xB4,0xB4,0xB4,0x6B,0x16,0xDE,0xB5,0x7A,0x3A,0xB3,0x9A,0x9A, + 0x9A,0xC9,0xEC,0x0E,0x30,0x04,0x09,0x68,0x3E,0xC2,0xCA,0xC5,0x73,0xE7,0xCE,0x35, + 0x5E,0xFF,0x4C,0x22,0x19,0x24,0x8C,0x1B,0x37,0xEE,0x1B,0x1B,0x1B,0x9B,0x27,0x28, + 0x36,0x2E,0xE9,0xC0,0x55,0xA2,0x39,0xC8,0x63,0xEB,0xD6,0xAD,0x1C,0x97,0xC9,0x30, + 0xF4,0x9A,0x07,0x43,0x5F,0x93,0xE8,0xF0,0x01,0x5E,0xC8,0xCA,0xCA,0x1A,0x25,0x8A, + 0x5D,0x30,0x06,0x0E,0x0A,0x0A,0x6A,0x85,0x27,0x34,0x3D,0x92,0x54,0x22,0x19,0x44, + 0xF8,0xF8,0xF8,0xFC,0x1B,0xE9,0xD3,0xFB,0x1B,0x37,0x6E,0xE4,0x92,0x0F,0xCA,0x9A, + 0xAC,0x5A,0x8E,0x1F,0x3F,0x1E,0xF3,0xDA,0x6B,0xAF,0x4D,0x17,0xC5,0xAB,0xE2,0xAA, + 0x45,0x77,0xE2,0xC4,0x89,0xF7,0xEC,0xED,0xED,0xFF,0x5B,0x14,0xF5,0x70,0x72,0x72, + 0xBA,0x88,0x1A,0x20,0x26,0x2A,0x2A,0x6A,0x40,0x6F,0x3F,0x2B,0x91,0xF4,0x06,0x38, + 0x16,0x1B,0x0B,0x0B,0x8B,0xE9,0x6C,0xC9,0x44,0x1E,0x27,0xAC,0x9D,0x58,0x59,0x59, + 0xD9,0x78,0x7B,0x7B,0xC7,0xEF,0xDA,0xB5,0x6B,0xA4,0x30,0xF5,0x9A,0xAB,0x16,0xDD, + 0xC1,0x83,0x07,0x1B,0xCF,0x9E,0x3D,0x2B,0x4A,0x97,0xE1,0x6E,0x98,0x08,0x29,0x9D, + 0xEF,0xBE,0xFB,0xEE,0xD1,0xC2,0x24,0x91,0x0C,0x6A,0x10,0xB5,0x35,0x95,0x95,0x95, + 0x3D,0x88,0x94,0xA9,0x86,0xC2,0xD3,0x85,0x6B,0x69,0x22,0xE7,0x0B,0x84,0x37,0x8C, + 0x4F,0x4F,0x4F,0xBF,0xAA,0x5E,0x80,0xAB,0x12,0x1D,0xDC,0xEB,0x1F,0xEC,0xEC,0xEC, + 0x9E,0xA4,0xC0,0x74,0xE1,0xBA,0x82,0xD6,0xD6,0xD6,0xA5,0xF0,0x72,0xF3,0x5C,0x5D, + 0x5D,0xF7,0x0A,0xB3,0x44,0x32,0xE8,0x99,0x39,0x73,0x66,0x5A,0x49,0x49,0x49,0x9C, + 0x28,0xEA,0x81,0xFB,0x9D,0x1B,0x94,0xA6,0x89,0xDD,0x83,0x7A,0x4D,0xAF,0x15,0x5A, + 0x5D,0x5D,0xBD,0xB8,0xB5,0xB5,0xF5,0x3B,0xEE,0x3D,0xC0,0x16,0x1C,0x2E,0x16,0x4B, + 0x8F,0x47,0xB7,0xCB,0x81,0xA2,0xD1,0xD1,0xD1,0xFF,0x98,0x31,0x63,0xC6,0x7F,0x89, + 0xCB,0x25,0x92,0x21,0xC5,0x17,0x5F,0x7C,0xB1,0x0D,0xA9,0xD5,0x02,0x51,0xEC,0x82, + 0xEB,0x67,0xBA,0xBB,0xBB,0xFF,0xE4,0xD1,0x47,0x1F,0xE5,0x40,0x90,0x5E,0xD1,0x6B, + 0x4F,0x07,0x57,0xAA,0x74,0x0F,0x50,0x74,0x5C,0x92,0x1A,0xA1,0x24,0x47,0x68,0xAB, + 0x66,0xCD,0x9A,0xA5,0x9A,0x30,0x61,0x02,0xC7,0xA8,0x65,0x28,0x17,0x4A,0x24,0x43, + 0x10,0xDC,0xE3,0x66,0xA3,0x47,0x1B,0x67,0x4E,0x6C,0xDD,0x1C,0x31,0x62,0x04,0x97, + 0x76,0xB8,0x45,0x98,0xAE,0x48,0xAF,0x44,0x57,0x5A,0x5A,0x1A,0x8E,0xC4,0x71,0xBD, + 0x76,0x79,0x6A,0x3E,0xB3,0xA3,0x50,0xAC,0x07,0x7F,0xC9,0xD7,0xD7,0xF7,0x8E,0x71, + 0xE3,0xC6,0xBD,0xA5,0x9C,0x94,0x48,0x86,0x20,0x85,0x85,0x85,0x71,0xB8,0xEF,0x4F, + 0x71,0xBB,0x2D,0x5D,0x98,0xDB,0x15,0x15,0x15,0x59,0x22,0xDA,0x7B,0x28,0x27,0x27, + 0xA7,0x57,0x91,0x63,0xAF,0x44,0xD7,0xD1,0xD1,0x61,0x09,0x0F,0x57,0x69,0x69,0x69, + 0x29,0x2C,0x9D,0x70,0x36,0x38,0xC2,0xCB,0x76,0x7C,0x10,0xB9,0xA2,0x97,0x64,0x48, + 0xB3,0x68,0xD1,0xA2,0xF2,0xB2,0xB2,0xB2,0xB8,0xE6,0xE6,0x66,0xA3,0xFE,0x67,0xA6, + 0x5A,0xEB,0xD7,0xAF,0xAF,0x0A,0x0C,0x0C,0xEC,0x55,0x6E,0x77,0x45,0xD1,0xC1,0xCB, + 0x8D,0xC0,0xD3,0x1E,0xBC,0x99,0x9B,0xEE,0xA0,0x66,0x42,0x95,0x83,0x3F,0x84,0x84, + 0x84,0x74,0x6D,0x28,0x27,0x91,0x0C,0x55,0x96,0x2D,0x5B,0x56,0x33,0x7B,0xF6,0x6C, + 0xA3,0x51,0x56,0xF4,0x7E,0xFE,0xFE,0xFE,0xFF,0x9D,0x98,0x98,0xD8,0xAB,0x36,0x8D, + 0x2B,0x8A,0x2E,0x35,0x35,0xB5,0x36,0x25,0x25,0x25,0x9F,0xD3,0x76,0x38,0xCE,0x92, + 0x8B,0x73,0x6A,0xC5,0x47,0xD1,0x41,0x8C,0xDB,0x95,0x82,0x44,0x32,0xC4,0xD1,0x68, + 0x34,0x79,0x10,0xD8,0x26,0xAE,0x68,0x47,0xD8,0x8D,0x00,0xB1,0xA9,0xA6,0x4F,0x9F, + 0xAE,0x6C,0x84,0x33,0x72,0xE4,0xC8,0xFB,0xB2,0xB2,0xB2,0x8C,0xF7,0x7F,0x33,0xA0, + 0xC7,0x18,0x14,0x31,0xAA,0x3D,0x42,0xC8,0xE4,0x1D,0x3B,0x76,0x44,0x16,0x17,0x17, + 0x2B,0x7D,0x71,0x6C,0xA9,0xE4,0x0A,0x4A,0xCC,0xEB,0x10,0x72,0xBE,0x05,0x2F,0xF7, + 0xB8,0xB8,0x5C,0x22,0x19,0x16,0xBC,0xF1,0xC6,0x1B,0xDB,0x20,0xB0,0x05,0xD4,0x02, + 0x97,0x22,0xA1,0xF3,0xE1,0xE4,0xD7,0xFA,0xFA,0xFA,0x24,0x88,0x30,0x46,0x5C,0xD6, + 0x2D,0x57,0x4C,0xFC,0x3E,0xFE,0xF8,0xE3,0x6D,0x50,0x6F,0x57,0x53,0x29,0x1B,0x50, + 0xA8,0xF0,0xA8,0xA8,0x28,0xCE,0x99,0x5B,0x8C,0x37,0xDD,0x2A,0x4E,0x49,0x24,0x43, + 0x9E,0x0B,0x17,0x2E,0x38,0xC0,0x11,0xED,0xC5,0x23,0x8C,0x13,0x5B,0x75,0xE1,0x76, + 0xCB,0x0D,0x0D,0x0D,0x1B,0x82,0x83,0x83,0x4D,0xF6,0xEB,0x69,0xE9,0x31,0xBC,0x84, + 0xA7,0xFB,0xA4,0xB5,0xB5,0x55,0xAF,0x6F,0x82,0x73,0x8A,0xB8,0xAD,0x55,0x5E,0x5E, + 0xDE,0x6E,0x14,0xD3,0x3A,0xAD,0x12,0xC9,0xF0,0xC0,0xDB,0xDB,0xBB,0x0E,0xE9,0xD5, + 0x9B,0xEC,0x3A,0xA3,0x16,0x74,0xA1,0xE7,0x73,0x72,0x72,0x9A,0x9D,0x9F,0x9F,0xDF, + 0x19,0x7F,0x76,0x43,0x8F,0xA2,0x3B,0x74,0xE8,0x50,0x3D,0x84,0x27,0x4A,0x97,0xF1, + 0xF4,0xF4,0x64,0x0C,0xBB,0x01,0x5E,0xCE,0x78,0xCD,0x32,0x89,0x64,0x88,0x83,0x10, + 0xF2,0xDF,0x6A,0xB5,0xFA,0x79,0x43,0xD1,0xB1,0xAD,0x03,0x0E,0xC9,0xE3,0xE2,0xC5, + 0x8B,0xFE,0xC2,0x64,0x92,0x6E,0x45,0xC7,0xBD,0xBA,0xA0,0xE6,0x9F,0x53,0xD1,0xBA, + 0xB0,0xDB,0x00,0xE1,0xE5,0x79,0x78,0xC0,0x7E,0xD9,0x5C,0x41,0x22,0x19,0xE8,0x20, + 0xCA,0x33,0xAF,0xAB,0xAB,0x1B,0xC9,0x75,0x5D,0xB5,0x70,0xC2,0x2B,0xCB,0xB9,0xB9, + 0xB9,0x6A,0xA4,0x60,0xF1,0xA5,0xA5,0xA5,0x46,0xB3,0x70,0xB4,0x74,0x2B,0xBA,0xCC, + 0xCC,0xCC,0xD6,0x8C,0x8C,0x0C,0xA5,0x2F,0x4E,0x17,0x0E,0x7B,0x09,0x08,0x08,0x88, + 0x47,0x4E,0x97,0x22,0x4C,0x12,0xC9,0xB0,0x62,0xF4,0xE8,0xD1,0xED,0xF0,0x72,0x6F, + 0x40,0x78,0x35,0x4C,0xB5,0xB2,0xB2,0xB2,0x94,0xA9,0x3F,0x9F,0x7F,0xFE,0xB9,0x8A, + 0xDB,0x2C,0x9F,0x3D,0x7B,0xD6,0x07,0xC2,0xF3,0x16,0x97,0x1B,0xD1,0xAD,0xE8,0x6A, + 0x6B,0x6B,0x27,0xE8,0x2E,0x47,0x46,0xD8,0x88,0x42,0x1B,0x3C,0x9D,0x1C,0xF2,0x25, + 0x19,0xD6,0xC0,0xF1,0xA4,0x41,0x78,0x71,0xBB,0x76,0xED,0x52,0x6D,0xDB,0xB6,0x4D, + 0x59,0x05,0x8F,0xAB,0xDF,0x71,0x62,0x37,0x52,0x32,0xDB,0xE4,0xE4,0x64,0x93,0x3B, + 0x56,0x11,0x93,0xA2,0xDB,0xBB,0x77,0x6F,0x40,0x7A,0x7A,0x7A,0xA8,0xE1,0xCC,0x70, + 0x8A,0xCE,0xD5,0xD5,0xF5,0xF3,0x69,0xD3,0xA6,0xBD,0x2F,0x4C,0x12,0xC9,0xB0,0xA5, + 0xA2,0xA2,0x62,0x34,0x3D,0x1D,0xBB,0x0C,0x74,0x43,0x4D,0x96,0xA1,0x93,0x15,0xFB, + 0xF7,0xEF,0xD7,0x9F,0x0F,0x24,0x30,0x29,0x3A,0x27,0x27,0xA7,0x7B,0x1C,0x1D,0x1D, + 0x67,0x18,0x8E,0x40,0x21,0x9E,0x9E,0x9E,0x75,0xE2,0x50,0x22,0x19,0xD6,0x20,0xC5, + 0x7A,0xB3,0xB1,0xB1,0x71,0xB7,0xE1,0xF0,0x48,0x8A,0x2E,0x25,0x25,0xA5,0x21,0x3A, + 0x3A,0xDA,0x78,0xAF,0x38,0x60,0x52,0x74,0xA7,0x4E,0x9D,0x52,0x76,0xDD,0x31,0x24, + 0x30,0x30,0x50,0x35,0x65,0xCA,0x14,0xDB,0xB2,0xB2,0x32,0xFD,0xD6,0x15,0x89,0x64, + 0x18,0x52,0x55,0x55,0xE5,0xB8,0x64,0xC9,0x12,0x4F,0xB6,0x73,0x18,0xE2,0xE5,0xE5, + 0x75,0xEB,0x96,0x2D,0x5B,0x56,0x8A,0xA2,0x1E,0x46,0xA2,0x2B,0x2F,0x2F,0xBF,0x07, + 0x0A,0xFE,0xA9,0xB7,0xB7,0xB7,0xB2,0xA4,0xB4,0xEE,0x8C,0x59,0xB8,0xD0,0xE4,0x33, + 0x67,0xCE,0xFC,0x14,0xDE,0x4E,0xEE,0xA0,0x2A,0x19,0xF6,0x20,0x84,0xAC,0x2D,0x2D, + 0x2D,0x7D,0x8B,0xAB,0x41,0x1B,0xC2,0x11,0x5C,0x27,0x4F,0x9E,0x2C,0x13,0x45,0x3D, + 0x8C,0x46,0xA4,0x14,0x16,0x16,0x3E,0x6A,0x63,0x63,0xF3,0x0E,0x63,0x55,0x3E,0x72, + 0x73,0x73,0x95,0x31,0x97,0x5C,0x11,0x69,0xEA,0xD4,0xA9,0x6C,0x40,0x99,0x1A,0x1A, + 0x1A,0x5A,0xDF,0x79,0xB5,0x44,0x22,0x79,0x01,0xB4,0xB6,0xB6,0xFE,0x4E,0xB7,0xDF, + 0x8E,0x0D,0x8E,0x61,0x61,0x61,0x75,0x78,0x1E,0xBB,0x78,0xF1,0x62,0xBD,0xC5,0x61, + 0x8D,0x3C,0x9D,0xB5,0xB5,0x75,0x83,0x85,0x85,0x45,0x9B,0xBD,0xBD,0xBD,0xB2,0x34, + 0x3A,0x5E,0xA8,0x4C,0x56,0x9D,0x34,0x69,0x52,0x7E,0x75,0x75,0xF5,0xDD,0x52,0x70, + 0x12,0xC9,0x65,0x10,0x42,0x9A,0x23,0xE5,0x1A,0x65,0xB8,0x1A,0x34,0x1B,0x56,0x10, + 0x15,0xFE,0x60,0x28,0x38,0xA2,0x27,0xBA,0xF3,0xE7,0xCF,0xC7,0xB6,0xB5,0xB5,0x7D, + 0x8C,0xC3,0xAE,0x9C,0x4D,0xDB,0x39,0xAE,0x56,0xAB,0x7D,0x1D,0x1D,0x1D,0x3B,0x77, + 0x06,0x91,0x48,0x24,0x0A,0x10,0x55,0x7B,0x51,0x51,0xD1,0xEB,0x0D,0x0D,0x0D,0x46, + 0x8D,0x26,0xD0,0xCC,0xBC,0x6D,0xDB,0xB6,0xFD,0x49,0x14,0xBB,0xD0,0x13,0x1D,0x04, + 0x57,0x66,0x69,0x69,0xD9,0xA8,0x9D,0x21,0xAE,0x85,0x6E,0x13,0x79,0xDC,0xDE,0x88, + 0x88,0x88,0x12,0x61,0x92,0x48,0x24,0x82,0x89,0x13,0x27,0x56,0x20,0x02,0x34,0x12, + 0x5D,0x4D,0x4D,0x0D,0xDB,0x45,0x9E,0x43,0x7E,0x17,0x25,0x4C,0x0A,0x86,0xA2,0x8B, + 0x44,0x6C,0x6A,0xA7,0x1B,0x9B,0xF2,0x58,0xF4,0xD7,0xC9,0xC1,0xCD,0x12,0x89,0x09, + 0xA2,0xA3,0xA3,0xCF,0x21,0xF5,0xDA,0xAA,0xDB,0x75,0xC0,0x08,0x91,0x21,0x66,0x7A, + 0x7A,0x7A,0xD1,0x59,0x83,0x35,0x2B,0xF5,0x44,0x77,0xEE,0xDC,0xB9,0x39,0x5C,0xC5, + 0xF6,0xD4,0xA9,0x53,0x6C,0xC5,0x54,0x94,0xCA,0x17,0x42,0x8C,0xE9,0xBE,0xBE,0xBE, + 0xBF,0x14,0x97,0x49,0x24,0x12,0x03,0x82,0x83,0x83,0x93,0x38,0xD5,0x87,0xDD,0x07, + 0x9C,0xE4,0xCA,0xF5,0x83,0x16,0x2D,0x5A,0xC4,0x89,0x01,0x7E,0x41,0x41,0x41,0x7A, + 0xFB,0x1E,0x74,0xB5,0x5E,0x56,0x55,0x55,0xC5,0x42,0x6C,0xBB,0x77,0xEC,0xD8,0xA1, + 0x74,0x13,0x68,0xFB,0x1E,0xFC,0xFC,0xFC,0xB8,0xC4,0xD8,0x51,0x37,0x37,0xB7,0xE8, + 0xB0,0xB0,0x30,0x65,0x7D,0x06,0x89,0x44,0xA2,0xCF,0x81,0x03,0x07,0xEE,0xC1,0xD3, + 0xA7,0x1C,0xB5,0x45,0xCD,0xB0,0xF5,0xD2,0xC6,0xC6,0x46,0xD9,0x3E,0x19,0x5E,0xF0, + 0xA5,0x71,0xE3,0xC6,0x29,0x9B,0x4D,0x92,0x2E,0x4F,0x07,0xCF,0xE6,0xC6,0xAE,0x01, + 0xC2,0x70,0x92,0x9E,0x8E,0x0F,0x4E,0xED,0x71,0x75,0x75,0x1D,0x8B,0xFF,0x4C,0xBF, + 0x79,0x46,0x22,0x91,0x74,0x31,0x63,0xC6,0x8C,0xCF,0x10,0x0D,0x26,0x6B,0x34,0x1A, + 0x65,0xD7,0x56,0x3A,0x2D,0xB6,0x8D,0x30,0x3D,0x83,0x00,0x9F,0x85,0xF0,0x66,0x89, + 0x4B,0x2F,0x8B,0x2E,0x3F,0x3F,0xBF,0xA2,0xB0,0xB0,0xF0,0x92,0x6E,0x3E,0x47,0xA8, + 0x5C,0x6B,0x6B,0xEB,0x83,0x48,0x14,0xCB,0x85,0x49,0x22,0x91,0x18,0x00,0xE7,0x64, + 0x09,0x91,0x59,0x19,0x0E,0x9D,0x64,0x6E,0x87,0x07,0x3B,0xC9,0xD3,0x3B,0x2D,0x3A, + 0xA2,0xC3,0xC5,0x81,0x10,0x9C,0x5A,0x14,0xBB,0xA0,0x9B,0x6C,0x6A,0x6A,0xDA,0x2C, + 0x8A,0x12,0x89,0xC4,0x04,0x81,0x81,0x81,0xAD,0x70,0x4E,0x4F,0x42,0x43,0x7A,0x29, + 0x18,0x1B,0x57,0x1A,0x1B,0x1B,0xDD,0x72,0x73,0x73,0xBB,0xE6,0xD7,0x75,0x89,0x0E, + 0xC6,0x09,0xDC,0x04,0xCF,0x10,0x27,0x27,0xA7,0x93,0x91,0x91,0x91,0x6B,0x44,0x51, + 0x22,0x91,0x74,0x03,0x9C,0xD3,0x64,0xE4,0x70,0x36,0xDA,0x68,0x91,0xF9,0x1C,0x47, + 0x75,0x41,0x78,0x16,0x08,0x37,0xBB,0x16,0x54,0xE9,0x12,0x5D,0x45,0x45,0x45,0x9B, + 0xE1,0x76,0xAF,0xC4,0xD6,0xD6,0x56,0x86,0x95,0x12,0x49,0x2F,0x80,0xB0,0xBC,0xD9, + 0x1E,0xC2,0xB6,0x91,0x93,0x27,0x4F,0xB2,0xBB,0x80,0x1B,0x8C,0x70,0xE7,0x56,0xA6, + 0x69,0xCF,0x65,0x65,0x65,0x29,0xCB,0x43,0x2B,0xAD,0x97,0x28,0x3C,0x9C,0x96,0x96, + 0xF6,0x1E,0xBB,0x0A,0x74,0x61,0x2B,0xE6,0xBC,0x79,0xF3,0xD2,0xA1,0xD4,0xE9,0xF0, + 0x76,0xFA,0x1B,0x74,0x49,0x24,0x12,0x3D,0x20,0xAE,0x60,0xE8,0x28,0x11,0x11,0xA3, + 0x37,0xC7,0x2A,0x73,0x8A,0x0F,0xE1,0x62,0xB4,0x08,0x3F,0xDF,0x8C,0x8B,0x8B,0x5B, + 0xC5,0xB2,0xE2,0xE9,0x6A,0x6B,0x6B,0xEB,0x4A,0x4A,0x4A,0xF4,0x5B,0x50,0x00,0x5B, + 0x60,0xBC,0xBD,0xBD,0xCF,0x4B,0xC1,0x49,0x24,0x57,0x06,0xB9,0x5B,0xA1,0x87,0x87, + 0xC7,0x85,0xB2,0xB2,0x32,0x1E,0x2B,0x2D,0x97,0x7C,0x30,0xC4,0xAC,0xAC,0xAC,0x3C, + 0x27,0x2E,0xEB,0x14,0x1D,0xC2,0x4A,0x77,0x9C,0x34,0x9A,0x71,0xC0,0x98,0x14,0x2F, + 0xEE,0x6A,0x75,0x91,0x48,0x24,0xDD,0x13,0x1D,0x1D,0x0D,0xFF,0x55,0xBB,0x5F,0x77, + 0x64,0x8A,0x16,0x38,0xB0,0x27,0x93,0x93,0x93,0x95,0xA5,0xF9,0x14,0xD1,0x41,0x5C, + 0xA1,0x7C,0xD6,0x85,0x5D,0x05,0xEE,0xEE,0xEE,0xCA,0x9C,0x3A,0x89,0x44,0xD2,0x3B, + 0xAC,0xAC,0xAC,0x36,0x20,0x2D,0x6B,0x16,0x45,0x05,0x7A,0xBB,0xF6,0xF6,0x76,0x1B, + 0x1C,0x2A,0x8E,0x4D,0x11,0x1D,0x62,0x50,0x6B,0x7A,0x35,0x0A,0x4D,0x0B,0x2F,0xAC, + 0xAE,0xAE,0xDE,0x04,0xE1,0xFD,0x3F,0x61,0x92,0x48,0x24,0x57,0x00,0x1A,0x72,0xC4, + 0x93,0xFE,0x7E,0x5A,0x00,0x39,0x9E,0x0F,0x9E,0xEE,0xE2,0xB1,0x22,0x3A,0xE4,0x6D, + 0x6D,0xB1,0xB1,0xB1,0xCA,0x06,0x8F,0xDC,0xA7,0x80,0xBD,0xEA,0x1C,0x3B,0xE6,0xE4, + 0xE4,0x64,0xFF,0xCE,0x3B,0xEF,0xE8,0x2F,0x09,0x26,0x91,0x48,0xBA,0x65,0xCA,0x94, + 0x29,0x11,0xBE,0xBE,0xBE,0xA2,0x74,0x19,0xF6,0x0C,0xB8,0xB9,0xB9,0x29,0x1B,0x47, + 0x2A,0xAE,0xED,0xFC,0xF9,0xF3,0x7B,0xE0,0x12,0xE7,0xF0,0x98,0x9D,0xE1,0x4C,0x02, + 0xB9,0x3B,0x4F,0x43,0x43,0xC3,0x96,0x88,0x88,0x88,0x25,0xB4,0x4B,0x24,0x92,0xDE, + 0xF1,0xEA,0xAB,0xAF,0xEE,0xAB,0xAA,0xAA,0x8A,0x66,0xB4,0xA8,0xC5,0xD1,0xD1,0x51, + 0x15,0x12,0x12,0x12,0xBF,0x78,0xF1,0xE2,0x15,0xE6,0x45,0x45,0x45,0xAE,0xE6,0xE6, + 0xE6,0x23,0x99,0xFC,0x51,0x70,0x84,0x5D,0x05,0xCC,0xE7,0x60,0x93,0xD3,0x79,0x24, + 0x92,0xAB,0x20,0x21,0x21,0xC1,0xDB,0xCF,0xCF,0x2F,0xC4,0x70,0x4E,0x2A,0xBB,0x0F, + 0x0A,0x0B,0x0B,0x8F,0xF3,0xD8,0x1C,0x17,0x54,0x41,0x5C,0x25,0xBA,0xF9,0x1C,0xE1, + 0x18,0xB2,0x96,0x96,0x16,0xB9,0x34,0x83,0x44,0x72,0x15,0x04,0x04,0x04,0x54,0x43, + 0x70,0x79,0x86,0x2B,0xA3,0x13,0xA4,0x6E,0x7F,0x85,0x07,0x9C,0x6E,0x5E,0x5C,0x5C, + 0x0C,0xBD,0x99,0xB9,0x0B,0x7B,0x17,0x8C,0x41,0x61,0x37,0x6E,0xFB,0x94,0x48,0x24, + 0x3D,0xD1,0xAC,0x56,0xAB,0x1D,0x4C,0x39,0xB1,0x0B,0x17,0x2E,0x14,0xB8,0xBA,0xBA, + 0xFE,0x60,0x8E,0x0B,0x9E,0x81,0x32,0xC7,0xEB,0xC6,0x9F,0xDA,0x63,0x0B,0x0B,0x8B, + 0x4C,0xE5,0x40,0x22,0x91,0xF4,0x0A,0x7F,0x7F,0xFF,0x08,0x3C,0x02,0xB5,0xE9,0x9A, + 0x36,0x65,0xE3,0xA8,0x14,0x68,0xCD,0x3A,0x3D,0x3D,0x7D,0xB4,0x19,0xDC,0x5D,0x12, + 0x6C,0xB3,0xB5,0x0B,0x10,0x11,0xAA,0xB2,0xB6,0xB6,0xB6,0xB1,0xBA,0xBA,0x3A,0x26, + 0x34,0x34,0x34,0x55,0x98,0x25,0x12,0x49,0x2F,0x78,0xF7,0xDD,0x77,0x7F,0x15,0x18, + 0x18,0xF8,0x7F,0x1C,0x87,0xE9,0xE4,0xE4,0xA4,0x08,0x8F,0x13,0x5A,0x39,0x32,0x05, + 0xE2,0x0B,0x30,0xBB,0x78,0xF1,0x22,0xE7,0xD0,0x59,0xEB,0x26,0x7E,0x14,0x1D,0x57, + 0x78,0xAE,0xAB,0xAB,0x5B,0x16,0x16,0x16,0x26,0xA7,0xF5,0x48,0x24,0xBD,0x24,0x3F, + 0x3F,0x9F,0x71,0xE5,0x3F,0xE0,0xD5,0x9E,0x66,0x83,0x24,0xB5,0x44,0x6D,0x31,0x7A, + 0x2C,0x2F,0x2F,0x4F,0x1D,0x3B,0x76,0xEC,0x34,0x73,0xC4,0x9E,0x4F,0xB0,0x8B,0x80, + 0x6B,0xA1,0x50,0x89,0xDA,0x04,0x90,0x03,0x36,0xE1,0xED,0xAA,0x94,0x82,0x44,0x22, + 0xE9,0x15,0xA3,0x46,0x8D,0x62,0x6E,0x76,0x09,0xA2,0x53,0xCA,0x5A,0x67,0xC6,0x1C, + 0x0F,0x5E,0x2E,0xAA,0xAC,0xAC,0xEC,0x65,0xB3,0xF5,0xEB,0xD7,0xAF,0x70,0x74,0x74, + 0xFC,0x84,0x22,0xA3,0x2B,0xE4,0x54,0x73,0x8A,0x0F,0x2F,0x2A,0xBC,0xE5,0x96,0x5B, + 0x7A,0xDC,0x51,0x52,0x22,0x91,0x18,0x53,0x58,0x58,0xF8,0x96,0xBD,0xBD,0xFD,0x63, + 0x86,0xD1,0x23,0xFB,0xBE,0xF1,0xBC,0xD2,0x1C,0xFF,0x54,0x9F,0x3A,0x75,0xAA,0x85, + 0xAB,0x80,0xA5,0xA6,0xA6,0xAA,0xB8,0xDF,0xD6,0xBE,0x7D,0xFB,0x94,0xB9,0x40,0x09, + 0x09,0x09,0x52,0x74,0x12,0xC9,0x55,0x50,0x51,0x51,0x61,0x8D,0xFC,0x2D,0x8A,0x22, + 0xD3,0x85,0x9E,0x8E,0xB9,0x5D,0x53,0x53,0x93,0x99,0xB9,0x85,0x85,0xC5,0x68,0x28, + 0xD2,0x8A,0x31,0x27,0x1F,0x0C,0x2F,0xF9,0x80,0x2B,0x1C,0x81,0x0B,0x64,0x97,0x81, + 0x44,0x72,0x15,0xB8,0xBB,0xBB,0x37,0x23,0x55,0x7B,0xB0,0xA1,0xA1,0xA1,0x8E,0xDD, + 0x6E,0x4C,0xDD,0xD8,0x31,0x4E,0x11,0x72,0x49,0x4B,0x44,0x94,0x6D,0x66,0x9B,0x36, + 0x6D,0x7A,0x35,0x2B,0x2B,0xEB,0x69,0xBA,0x3E,0x5D,0xBC,0xBD,0xBD,0x8F,0xAC,0x5A, + 0xB5,0x6A,0x8A,0x28,0x4A,0x24,0x92,0x5E,0xB2,0x71,0xE3,0xC6,0x58,0x38,0xAD,0xDD, + 0x5C,0x4D,0x8F,0x7B,0x82,0x30,0xCC,0xA4,0x23,0xF3,0xF1,0xF1,0x69,0x2D,0x2D,0x2D, + 0x8D,0x32,0x87,0xCB,0x6B,0xA5,0x12,0x0D,0x81,0x32,0x4D,0x6E,0xF3,0x23,0x91,0x48, + 0x7A,0x06,0x22,0xAB,0xCF,0xCD,0xCD,0x6D,0xC8,0xCF,0xCF,0x57,0x16,0x6E,0x3E,0x71, + 0xE2,0x84,0x92,0xAE,0x1D,0x3B,0x76,0xAC,0x06,0xA7,0xEB,0xCC,0xA1,0x40,0x5B,0x6D, + 0x8B,0xA5,0x16,0x2A,0x13,0x0F,0xAF,0x37,0xDF,0x7C,0xD3,0x78,0xB7,0x3B,0x89,0x44, + 0x72,0x25,0xDA,0xA1,0x29,0x6B,0xDD,0xBC,0x8E,0xA9,0x1B,0x1C,0x9C,0x1B,0x1C,0x9C, + 0x9B,0xB9,0xA7,0xA7,0xE7,0x54,0x6D,0xF3,0xA6,0x2E,0x38,0x59,0xF0,0xC4,0x13,0x4F, + 0xE8,0x6F,0x3A,0x2E,0x91,0x48,0xAE,0x88,0x83,0x83,0x43,0x14,0x34,0x65,0xD4,0x1E, + 0x82,0x1C,0x0F,0x29,0x5D,0x5D,0x31,0x3D,0x9D,0x39,0xBB,0x08,0x74,0xA1,0x42,0x43, + 0x42,0x42,0x6E,0xAF,0xAA,0xAA,0xFA,0x99,0x30,0x49,0x24,0x92,0x5E,0x02,0xD1,0xD9, + 0x1B,0x46,0x8F,0x04,0x3A,0xCB,0x86,0x23,0x2B,0xA0,0xE0,0x6A,0x4D,0x85,0x97,0xF0, + 0x74,0x1D,0xD5,0xD5,0xD5,0x72,0x7D,0x14,0x89,0xE4,0x2A,0x81,0x47,0x6B,0x31,0x6C, + 0x98,0x24,0x2E,0x2E,0x2E,0xE1,0x79,0x79,0x79,0xBF,0x37,0x77,0x75,0x75,0x75,0xE7, + 0x70,0x15,0x5D,0xE8,0xE9,0xE0,0x06,0xB9,0xD3,0x7F,0x71,0xA7,0x45,0x22,0x91,0xF4, + 0x16,0x47,0x47,0xC7,0x09,0x9C,0xB4,0xAA,0x0B,0xFB,0xE9,0xE8,0xDC,0xF0,0xDC,0x66, + 0x9E,0x92,0x92,0xF2,0x33,0x14,0xF4,0xE3,0x4B,0x80,0xA4,0xCF,0x3D,0x37,0x37,0x97, + 0xEB,0x3A,0x48,0x24,0x92,0x5E,0x92,0x95,0x95,0x65,0xE5,0xE4,0xE4,0x14,0x20,0x8A, + 0x5D,0xB0,0x21,0x45,0x0C,0x7E,0xB6,0x31,0xF7,0xF5,0xF5,0x8D,0xB2,0xB7,0xB7,0x37, + 0x5A,0x48,0xA5,0xBC,0xBC,0xFC,0x12,0x44,0x27,0x57,0x77,0x96,0x48,0xAE,0x82,0xA0, + 0xA0,0xA0,0x16,0x44,0x89,0x17,0x91,0x9A,0x09,0xCB,0x65,0xE8,0xED,0x90,0xB6,0x15, + 0x9A,0x07,0x04,0x04,0xB8,0x70,0xAE,0x8F,0x21,0xF5,0xF5,0xF5,0x19,0x2B,0x57,0xAE, + 0xCC,0x11,0x45,0x89,0x44,0xD2,0x4B,0xE0,0xD5,0x5C,0x4D,0x69,0x0A,0x82,0x23,0xC7, + 0xCD,0x2D,0x2D,0x2D,0x2F,0xD5,0xD6,0xD6,0x9A,0x5A,0xDD,0x39,0xFC,0xD4,0xA9,0x53, + 0x2F,0x88,0xA2,0x44,0x22,0xE9,0x05,0x08,0x2F,0xD9,0x46,0x32,0x8B,0x5E,0x4D,0x17, + 0x96,0x5D,0x5C,0x5C,0x6C,0xA0,0x37,0x17,0x73,0x77,0x77,0xF7,0x11,0x1E,0x1E,0x1E, + 0xFA,0x57,0x00,0xBA,0x47,0x78,0xBB,0x3A,0x51,0x94,0x48,0x24,0xBD,0x00,0x9E,0x4C, + 0x55,0x54,0x54,0x54,0xCC,0x67,0x43,0xDC,0xDC,0xDC,0xD8,0x9D,0xD0,0xCC,0x85,0x89, + 0x9E,0xA9,0xA9,0xA9,0x31,0x5A,0xF5,0x8B,0xAD,0x2F,0x10,0x1D,0x57,0xA5,0x95,0x48, + 0x24,0xBD,0x24,0x34,0x34,0xB4,0x02,0x0E,0xAB,0x45,0x77,0x34,0x0A,0x11,0xAD,0x97, + 0x65,0x36,0x36,0x36,0x69,0xE6,0x09,0x09,0x09,0x81,0xF0,0x76,0x61,0x86,0xEE,0x90, + 0x23,0xA4,0x73,0x73,0x73,0x3B,0xF7,0x43,0x96,0x48,0x24,0xBD,0x22,0x35,0x35,0x35, + 0x48,0xAD,0x56,0x4F,0x10,0xC5,0x2E,0x38,0xAD,0xC7,0xC2,0xC2,0x22,0x03,0x87,0x16, + 0x6C,0x48,0x71,0x44,0xAC,0xD9,0xCE,0x26,0x4D,0x5D,0x20,0xBA,0x66,0x53,0x1E,0x50, + 0x22,0x91,0x74,0x4F,0x5D,0x5D,0x9D,0x67,0x6D,0x6D,0xED,0xE5,0x05,0x87,0x04,0x70, + 0x6A,0x8D,0xA7,0x4F,0x9F,0xFE,0xB9,0xAB,0xAB,0x6B,0x39,0x45,0x97,0xDF,0xDC,0xDC, + 0x5C,0x69,0xE8,0xE9,0x80,0xF5,0xB8,0x71,0xE3,0x5E,0x87,0x72,0x8D,0x07,0x66,0x4A, + 0x24,0x12,0x93,0x20,0xB4,0x2C,0xAD,0xAC,0xAC,0x34,0xEA,0x2F,0x80,0x97,0xEB,0x80, + 0xC6,0x94,0x1E,0x73,0xCE,0x27,0x9F,0x30,0x72,0xE4,0x48,0x6F,0xC3,0x26,0x4E,0xAE, + 0x99,0x82,0x17,0x5F,0x8A,0x8A,0x8A,0x32,0xDE,0x9E,0x55,0x22,0x91,0x74,0x87,0x2F, + 0xF2,0x39,0x17,0x71,0xDC,0x85,0x1D,0x40,0x3E,0xA7,0x88,0x8C,0xC3,0xC0,0x7E,0x28, + 0x28,0x28,0xF8,0x33,0x77,0xED,0xD1,0x45,0x24,0x7E,0x33,0xCF,0x9C,0x39,0x73,0xBF, + 0x30,0x49,0x24,0x92,0x2B,0xD0,0xD4,0xD4,0x34,0xD1,0x70,0x2C,0x33,0x81,0xA7,0x2B, + 0x87,0xE8,0xCE,0xF2,0x58,0x59,0x39,0x45,0xA3,0xD1,0x84,0x73,0xEF,0x02,0x5D,0x98, + 0xE3,0xD5,0xD7,0xD7,0x73,0xE6,0xAB,0xAB,0x30,0x49,0x24,0x92,0x2B,0x00,0xD1,0xB5, + 0x73,0x89,0x06,0x43,0xE0,0xC4,0x2E,0xC4,0xC5,0xC5,0x29,0x0D,0x93,0x8A,0xE8,0x0E, + 0x1E,0x3C,0x78,0x3F,0x2E,0xCE,0xE7,0xB1,0x2E,0x6C,0xF6,0x4C,0x4B,0x4B,0x93,0x5B, + 0x65,0x49,0x24,0xBD,0xA4,0xA1,0xA1,0xC1,0xCA,0xD0,0xD3,0x31,0x6A,0x74,0x76,0x76, + 0xF6,0x48,0x48,0x48,0x50,0xF6,0xD0,0x52,0x44,0x37,0x6A,0xD4,0xA8,0xF1,0x01,0x01, + 0x01,0xA3,0x0C,0x1B,0x53,0xD8,0x41,0x9E,0x9D,0x9D,0x6D,0x24,0x46,0x89,0x44,0x62, + 0x4C,0x4E,0x4E,0xCE,0x6C,0x0F,0x0F,0x8F,0x3F,0x19,0xF6,0xD1,0xB1,0xBB,0xC0,0xD3, + 0xD3,0xB3,0xD6,0xC7,0xC7,0x47,0x99,0xEF,0xA3,0x88,0x2E,0x22,0x22,0xA2,0xDD,0xD1, + 0xD1,0xD1,0x68,0xF4,0x09,0xE7,0xD5,0x45,0x46,0x46,0xC6,0xA7,0xA6,0xA6,0x8E,0x14, + 0x26,0x89,0x44,0xD2,0x0D,0xCD,0xCD,0xCD,0xE6,0x75,0x75,0x75,0xAE,0x86,0x9E,0x8E, + 0xED,0x25,0x96,0x96,0x96,0x27,0xA3,0xA3,0xA3,0x95,0x95,0x18,0x14,0xD1,0x21,0x7F, + 0x2B,0x84,0x1A,0xF3,0xED,0xEC,0xF4,0x97,0x44,0xE1,0x8C,0xF2,0xF4,0xF4,0xF4,0xC3, + 0x51,0x51,0x51,0x05,0xC2,0x24,0x91,0x48,0xBA,0x21,0x3F,0x3F,0x7F,0x0A,0xD2,0x34, + 0x45,0x53,0xBA,0x70,0x01,0x67,0x2F,0x2F,0xAF,0xAE,0x6E,0x04,0xE5,0x02,0x37,0x37, + 0xB7,0x32,0x84,0x96,0x5F,0x51,0x64,0x86,0x38,0x38,0x38,0xCC,0x28,0x2E,0x2E,0x7E, + 0x51,0x14,0x25,0x12,0x49,0x37,0xE4,0xE6,0xE6,0xDA,0x9B,0x9A,0x31,0x0E,0x6D,0xA5, + 0x4E,0x9C,0x38,0x71,0xA5,0x28,0x76,0x8A,0x8E,0xD0,0xCB,0x51,0x91,0x86,0x14,0x14, + 0x14,0x74,0x64,0x02,0x51,0x94,0x48,0x24,0xDD,0x50,0x53,0x53,0xD3,0x62,0xCA,0x71, + 0x71,0x76,0x41,0x7C,0x7C,0xBC,0x93,0x28,0x5E,0x16,0xDD,0xB4,0x69,0xD3,0x7E,0x27, + 0xC6,0x86,0xE9,0x81,0xB0,0xD3,0x4C,0xAD,0x56,0x3F,0x0B,0x6F,0xE7,0x21,0x4C,0x12, + 0x89,0xC4,0x80,0xAC,0xAC,0xAC,0xBB,0x7D,0x7D,0x7D,0xFF,0x2A,0x8A,0x5D,0xD0,0x99, + 0x05,0x07,0x07,0x3B,0x8E,0x1B,0x37,0xAE,0x2B,0xD1,0xEB,0x12,0xDD,0xFE,0xFD,0xFB, + 0x83,0xFC,0xFD,0xFD,0x47,0x43,0x78,0xC2,0xD2,0x49,0x6D,0x6D,0xAD,0xAA,0xA4,0xA4, + 0x84,0x46,0x39,0x32,0x45,0x22,0xE9,0x86,0xD2,0xD2,0xD2,0x96,0xF2,0xF2,0xF2,0x36, + 0xC3,0x31,0xCC,0x6C,0xC9,0x84,0xA6,0xF6,0x47,0x45,0x45,0x75,0x6D,0x25,0xDE,0x25, + 0xBA,0xE8,0xE8,0xE8,0x2C,0x24,0x82,0x4F,0x18,0xBE,0x88,0xDD,0x08,0x70,0x9B,0x63, + 0xF1,0x1F,0xCA,0x91,0x29,0x12,0x49,0x37,0x40,0x23,0x93,0x20,0x30,0x3D,0x8F,0x45, + 0xED,0x70,0x8A,0x9C,0xBD,0xBD,0x7D,0x96,0x30,0x29,0x74,0x89,0x8E,0x4C,0x99,0x32, + 0x25,0xCC,0xCB,0xCB,0x4B,0x94,0x3A,0xA1,0x08,0x2B,0x2A,0x2A,0xE8,0x26,0x43,0x85, + 0x49,0x22,0x91,0x18,0x50,0x59,0x59,0x19,0xC2,0x9D,0x57,0x75,0xA1,0x76,0xE0,0xE5, + 0x92,0x35,0x1A,0xCD,0x6A,0x61,0x52,0xD0,0x13,0x1D,0xBC,0xDD,0xAF,0xEA,0xEB,0xEB, + 0x8F,0x89,0x62,0x17,0x1C,0xFC,0x7C,0xFA,0xF4,0xE9,0x31,0xA2,0x28,0x91,0x48,0x74, + 0xA8,0xAA,0xAA,0x5A,0xE1,0xE6,0xE6,0x16,0xC7,0x39,0xA8,0x86,0x38,0x39,0x39,0xB5, + 0x88,0xC3,0x2E,0xF4,0x44,0x87,0xBC,0x6E,0x34,0xBC,0x5D,0x38,0x37,0x29,0xD7,0x85, + 0x63,0x30,0xE1,0xE9,0x16,0x15,0x17,0x17,0xCF,0x11,0x26,0x89,0x44,0x22,0x38,0x7A, + 0xF4,0xA8,0x73,0x5E,0x5E,0x9E,0x28,0x5D,0x86,0x4B,0xEE,0x4D,0x9C,0x38,0xD1,0x23, + 0x2D,0x2D,0x4D,0xAF,0x03,0xDC,0xD0,0xD3,0xE5,0x9D,0x39,0x73,0xE6,0x97,0x86,0xC3, + 0xC1,0x48,0x76,0x76,0xB6,0xEA,0xF8,0xF1,0xE3,0xFA,0xAB,0xD2,0x4A,0x24,0x12,0x0E, + 0xFF,0x6A,0x44,0x0A,0xA6,0x3F,0xF6,0x0B,0x34,0x37,0x37,0x67,0xA7,0xA7,0xA7,0xDF, + 0x1D,0x19,0x19,0xA9,0x17,0x77,0xEA,0x89,0x8E,0xC4,0xC4,0xC4,0x34,0x8D,0x1A,0x35, + 0x4A,0x94,0x2E,0xC3,0x85,0x56,0xC6,0x8C,0x19,0xF3,0x72,0x56,0x56,0x96,0xDC,0xC9, + 0x47,0x22,0x11,0x40,0x0F,0xF3,0x7D,0x7C,0x7C,0xD6,0xB6,0xB7,0xB7,0xEB,0x69,0x89, + 0xBD,0x00,0x41,0x41,0x41,0xFE,0xB6,0xB6,0xB6,0x46,0xBD,0xE5,0x46,0xA2,0x43,0x42, + 0xB8,0x15,0xB1,0x69,0xBE,0x61,0xD7,0x01,0x07,0x3F,0xEF,0xDA,0xB5,0xEB,0x38,0xFE, + 0x23,0xB9,0x93,0x8F,0x44,0x22,0x80,0x97,0xAB,0xC8,0xCD,0xCD,0x6D,0x34,0x9C,0x8F, + 0x4A,0xBC,0xBC,0xBC,0x52,0xEE,0xBC,0xF3,0x4E,0xA3,0x75,0x86,0x8C,0x44,0x87,0x84, + 0xB0,0x60,0xEC,0xD8,0xB1,0xB9,0x86,0x23,0xA5,0x39,0x88,0x13,0xE7,0xEE,0x47,0x7C, + 0xBA,0x42,0x98,0x24,0x92,0x61,0x0F,0xC2,0xCA,0x70,0x44,0x81,0x46,0x69,0x17,0x47, + 0x77,0xD9,0xDB,0xDB,0x1F,0x16,0x45,0x3D,0x8C,0x44,0xA7,0xD1,0x68,0x20,0xDA,0xD6, + 0xA3,0x86,0x1B,0x20,0x90,0xCC,0xCC,0xCC,0xC6,0xCD,0x9B,0x37,0x1F,0x12,0x45,0x89, + 0x64,0xD8,0x03,0xD1,0xC5,0x70,0x00,0x89,0x21,0xEE,0xEE,0xEE,0xA7,0xA6,0x4C,0x99, + 0xF2,0xAC,0x28,0xEA,0x61,0x24,0x3A,0x02,0xE1,0xBD,0x07,0xAF,0x66,0x34,0xD5,0x07, + 0xDE,0xCF,0x36,0x30,0x30,0x30,0x3E,0x29,0x29,0xC9,0x41,0x98,0x24,0x92,0x61,0x4B, + 0x72,0x72,0xF2,0x7C,0x17,0x17,0x97,0x87,0x0C,0xA3,0x42,0xB6,0xFE,0x3B,0x38,0x38, + 0x64,0xEE,0xDF,0xBF,0xDF,0x68,0x63,0x48,0x62,0x52,0x74,0xC0,0x15,0xB9,0x9B,0x83, + 0xE1,0x16,0x5A,0x8C,0x5B,0xCD,0xCC,0xCC,0x26,0xFB,0xFA,0xFA,0xFE,0x59,0x98,0x24, + 0x92,0x61,0x4B,0x49,0x49,0xC9,0xB4,0xA2,0xA2,0x22,0x51,0xBA,0x0C,0x04,0x57,0xDC, + 0xD2,0xD2,0x72,0x77,0x74,0x74,0xB4,0x71,0xA2,0x07,0x4C,0x8A,0x6E,0xE4,0xC8,0x91, + 0x7B,0x90,0x1C,0x3E,0x60,0xAA,0xEB,0xE0,0xEC,0xD9,0xB3,0x2A,0x84,0x98,0x27,0x45, + 0x51,0x22,0x19,0x96,0xE4,0xE4,0xE4,0x84,0xF8,0xF9,0xF9,0xFD,0xAF,0xA9,0x0E,0x71, + 0x31,0x5B,0xC7,0x5F,0x29,0x98,0xA0,0x3B,0x4F,0xC7,0x21,0x61,0xDB,0x10,0x4A,0x1A, + 0xF7,0xF8,0x01,0x7F,0x7F,0xFF,0x77,0x53,0x53,0x53,0xE7,0x89,0xA2,0x44,0x32,0xEC, + 0x48,0x4F,0x4F,0x9F,0x78,0xF8,0xF0,0xE1,0x76,0xC3,0x56,0x4B,0x1B,0x1B,0x1B,0xD5, + 0xD4,0xA9,0x53,0x7D,0xF1,0x30,0x19,0x5A,0x92,0x6E,0x45,0x07,0xEA,0x91,0x0C,0x96, + 0xB3,0x57,0x5D,0x17,0xB6,0x62,0x72,0x2C,0x26,0x84,0xF7,0x72,0x71,0x71,0xB1,0xEC, + 0x2C,0x97,0x0C,0x3B,0xE0,0xE5,0x7C,0x03,0x02,0x02,0xE2,0xE1,0xE5,0x8C,0xF4,0x63, + 0x61,0x61,0xD1,0x76,0xEA,0xD4,0xA9,0x1F,0xC3,0x61,0x9D,0x13,0x26,0x23,0xBA,0x15, + 0x9D,0x46,0xA3,0x69,0xC0,0x7F,0x1E,0xD7,0xD4,0xD4,0x64,0x14,0xB4,0x5E,0xB8,0x70, + 0x41,0xF5,0xED,0xB7,0xDF,0x1E,0x47,0x6E,0x67,0xBC,0xD6,0x98,0x44,0x32,0xC4,0x81, + 0x97,0xF3,0x4A,0x4A,0x4A,0x2A,0xA9,0xAB,0xD3,0x6F,0x6B,0x64,0xDF,0xF6,0xA4,0x49, + 0x93,0x2C,0x82,0x83,0x83,0x8D,0x13,0x3D,0x1D,0x7A,0xF2,0x74,0xAA,0xF0,0xF0,0xF0, + 0xDC,0xB0,0xB0,0x30,0xA3,0x8D,0x21,0xE9,0xED,0xEC,0xED,0xED,0x7F,0x96,0x9C,0x9C, + 0x7C,0x8F,0x30,0x49,0x24,0xC3,0x02,0x08,0xCE,0x01,0x5E,0xEC,0x8B,0x96,0x96,0x96, + 0x11,0xC2,0xD4,0x05,0x5B,0x2D,0xE1,0x90,0x7E,0x1B,0x19,0x19,0x79,0x40,0x98,0x4C, + 0xD2,0xA3,0xE8,0xA2,0xA2,0xA2,0x5A,0xCC,0xCD,0xCD,0x8F,0xB9,0xB8,0x18,0xAD,0x12, + 0xCD,0xB1,0x98,0xF5,0x3B,0x77,0xEE,0x94,0x7D,0x76,0x92,0x61,0x05,0xA2,0xBF,0xF6, + 0xC4,0xC4,0xC4,0xB2,0xF2,0x72,0xE3,0x9D,0xC1,0xE1,0xE1,0x54,0x33,0x66,0xCC,0xD0, + 0x9B,0x3B,0x67,0x8A,0x1E,0x45,0x47,0xA6,0x4D,0x9B,0xF6,0x8E,0xAB,0xAB,0x6B,0xD7, + 0xAC,0x57,0x2D,0xF0,0x76,0xF6,0x6E,0x6E,0x6E,0xF1,0x9F,0x7C,0xF2,0x89,0xDC,0xC3, + 0x4E,0x32,0x2C,0x80,0x97,0xB3,0x80,0x97,0xFB,0x08,0x8E,0x28,0x5A,0x98,0xBA,0xE0, + 0x5E,0x20,0x17,0x2F,0x5E,0x7C,0x1F,0x69,0xD9,0x46,0x61,0xEA,0x96,0x2B,0x8A,0x0E, + 0xB8,0x87,0x86,0x86,0x22,0x9A,0xB4,0x17,0xC5,0x4E,0x38,0x41,0x0F,0xEE,0x74,0x9A, + 0x9F,0x9F,0x5F,0xBC,0x30,0x49,0x24,0x43,0x1A,0x08,0xAA,0x0D,0xB9,0x5C,0x83,0xA9, + 0xBE,0x39,0x7F,0x7F,0x7F,0x7A,0xB9,0x53,0xA2,0xD8,0x23,0x57,0x14,0x9D,0xA7,0xA7, + 0xE7,0xCE,0x82,0x82,0x82,0x87,0x0C,0x3B,0xCA,0x09,0x1B,0x54,0xE0,0xF1,0x96,0xC3, + 0xE5,0xCE,0x14,0x26,0x89,0x64,0xC8,0x92,0x96,0x96,0xF6,0xBC,0x5A,0xAD,0x7E,0x50, + 0x14,0xBB,0xE0,0x0A,0xCE,0xED,0xED,0xED,0xC9,0xF5,0xF5,0xF5,0x9F,0x0A,0x53,0x8F, + 0xF4,0xC6,0xD3,0xA9,0x96,0x2F,0x5F,0xFE,0x21,0x5C,0xE7,0xFF,0x88,0xA2,0x1E,0x7B, + 0xF7,0xEE,0x55,0x7D,0xF9,0xE5,0x97,0x72,0xBF,0x03,0xC9,0x90,0xE7,0xC0,0x81,0x03, + 0x4D,0xB9,0xB9,0xB9,0xA2,0x74,0x19,0x6E,0xBE,0x33,0x67,0xCE,0x9C,0x93,0x53,0xA7, + 0x4E,0x2D,0x14,0xA6,0x1E,0xE9,0x95,0xE8,0xC8,0x8F,0x7F,0xFC,0xE3,0x86,0xB1,0x63, + 0xC7,0x8A,0xD2,0x65,0xD8,0x4C,0xEA,0xE5,0xE5,0x15,0xBF,0x75,0xEB,0xD6,0xF1,0xC2, + 0x24,0x91,0x0C,0x39,0x20,0xB8,0x3F,0x22,0xDA,0xFB,0x8B,0xE1,0x28,0x2D,0xDE,0xFF, + 0x36,0x36,0x36,0x17,0x6A,0x6A,0x6A,0x3E,0x17,0xA6,0x2B,0xD2,0x6B,0xD1,0x35,0x34, + 0x34,0x6C,0x83,0xB8,0x4A,0x1D,0x1C,0xF4,0xC7,0x3A,0x73,0xFD,0x14,0x9C,0xF3,0xF5, + 0xF1,0xF1,0x89,0x47,0x98,0x29,0x27,0xB8,0x4A,0x86,0x1C,0x65,0x65,0x65,0xE1,0x08, + 0x21,0x57,0x17,0x16,0x16,0x2A,0x4B,0xEA,0xE9,0xC2,0xB6,0x8E,0xD0,0xD0,0xD0,0x43, + 0x91,0x91,0x91,0xBB,0x85,0xE9,0x8A,0xF4,0x5A,0x74,0x53,0xA6,0x4C,0x49,0x2F,0x29, + 0x29,0x89,0x33,0x9C,0xDC,0x4A,0x98,0x58,0x8A,0x19,0xE5,0xFA,0xEB,0xF7,0x49,0x24, + 0x43,0x80,0x5D,0xBB,0x76,0x85,0x24,0x26,0x26,0x2A,0x7B,0x7B,0xE8,0xC2,0x0D,0x76, + 0xE0,0x6C,0xF8,0xFC,0x8D,0x30,0xF5,0x8A,0x5E,0x8B,0x8E,0x3C,0xF4,0xD0,0x43,0xBB, + 0x3A,0x3A,0x3A,0x9E,0x16,0x45,0x3D,0x32,0x32,0x32,0x82,0xB7,0x6C,0xD9,0xF2,0x63, + 0x51,0x94,0x48,0x86,0x04,0xA9,0xA9,0xA9,0xFE,0xBE,0xBE,0xBE,0x1F,0x9B,0x5A,0x2E, + 0x1D,0x5A,0x68,0x86,0xC3,0xB9,0x7D,0xF2,0xE4,0xC9,0x6F,0x0B,0x53,0xAF,0xB8,0x2A, + 0xD1,0x91,0x25,0x4B,0x96,0x84,0x8D,0x1F,0x6F,0x9C,0xBE,0x51,0xF5,0x08,0x3F,0xD7, + 0xED,0xD9,0xB3,0x47,0x0E,0x84,0x96,0x0C,0x19,0x52,0x52,0x52,0x7C,0xE1,0xE5,0x4A, + 0xB9,0x46,0x90,0x2E,0x1C,0x7D,0x32,0x6D,0xDA,0x34,0xEB,0xD8,0xD8,0xD8,0x62,0x61, + 0xEA,0x35,0x57,0x2D,0xBA,0xF2,0xF2,0xF2,0x5F,0x20,0xA1,0x3C,0x64,0xD8,0x6F,0xC7, + 0x9A,0x80,0x5D,0x08,0xCE,0xCE,0xCE,0xF1,0xD9,0xD9,0xD9,0x13,0x85,0x59,0x22,0x19, + 0xB4,0xC0,0xCB,0xDD,0x3E,0x62,0xC4,0x88,0x44,0x33,0x33,0x33,0x6F,0x61,0xEA,0x42, + 0xAD,0x56,0x73,0xBD,0xCB,0x5F,0x47,0x45,0x45,0x5D,0xF5,0xA8,0xAC,0xAB,0x16,0xDD, + 0xEC,0xD9,0xB3,0xEB,0x91,0xDB,0xAD,0x68,0x6D,0x6D,0x35,0xEA,0x21,0x2C,0x2D,0x2D, + 0x65,0x98,0xE9,0x69,0x67,0x67,0xF7,0x54,0x71,0x71,0xB1,0xF1,0x64,0x3C,0x89,0x64, + 0x10,0x81,0xF0,0x71,0x0E,0x1C,0x89,0x9D,0xE1,0xF4,0x1D,0x32,0x7D,0xFA,0x74,0x46, + 0x7D,0xCA,0xC6,0xFD,0x57,0xCB,0x55,0x8B,0x8E,0xAC,0x5A,0xB5,0x2A,0x4B,0xA3,0xD1, + 0x7C,0x29,0x8A,0x7A,0xA4,0xA7,0xA7,0xAB,0xFE,0xFD,0xEF,0x7F,0x9F,0x47,0x1C,0x2C, + 0x1B,0x55,0x24,0x83,0x96,0xCF,0x3E,0xFB,0x2C,0x38,0x29,0x29,0x69,0x1E,0xA7,0xB1, + 0x19,0xE2,0xE7,0xE7,0xC7,0xF0,0xF2,0xDF,0xAE,0xAE,0xAE,0x5F,0x0B,0xD3,0x55,0x71, + 0x4D,0xA2,0x23,0x01,0x01,0x01,0xE6,0x61,0x61,0x61,0xA2,0xA4,0x0F,0x3C,0xDD,0xFF, + 0xBE,0xF9,0xE6,0x9B,0x5D,0x9B,0xE0,0x49,0x24,0x83,0x89,0xAC,0xAC,0xAC,0x30,0xAE, + 0x9E,0x00,0x61,0x45,0x70,0xB8,0xA3,0x21,0xB0,0x7F,0x74,0xCB,0x2D,0xB7,0x3C,0x21, + 0x8A,0x57,0xCD,0x35,0x8B,0x2E,0x32,0x32,0xF2,0x49,0xC4,0xB5,0x09,0x9E,0x9E,0x9E, + 0xC2,0x72,0x19,0xF6,0xDD,0x39,0x39,0x39,0xBD,0xFF,0xED,0xB7,0xDF,0xFE,0x48,0x98, + 0x24,0x92,0x41,0x43,0x79,0x79,0x79,0xEE,0xF1,0xE3,0xC7,0xAD,0x90,0xB3,0x09,0xCB, + 0x65,0x38,0x93,0x60,0xE1,0xC2,0x85,0x8E,0x05,0x05,0x05,0xDD,0xCE,0x0C,0xBF,0x12, + 0xD7,0x2C,0x3A,0x82,0x0F,0x15,0x67,0x6E,0x6E,0x7E,0x80,0x23,0xAC,0x75,0xA1,0xE8, + 0xCA,0xCA,0xCA,0x94,0x46,0x95,0xB4,0xB4,0x34,0xD3,0xEE,0x50,0x22,0x19,0x80,0x6C, + 0xD8,0xB0,0xC1,0xFF,0x87,0x1F,0x7E,0xD8,0x5C,0x54,0x54,0xE4,0x2A,0x4C,0x5D,0x70, + 0x8C,0x65,0x5B,0x5B,0xDB,0xC7,0xF0,0x82,0x77,0xE1,0x61,0x72,0xD1,0xA1,0xDE,0x70, + 0x5D,0xA2,0x7B,0xF0,0xC1,0x07,0x2F,0xD5,0xD5,0xD5,0xC5,0xB5,0xB7,0xB7,0xE7,0x0B, + 0x53,0x17,0xAC,0x25,0xB2,0xB3,0xB3,0x5D,0x1D,0x1C,0x1C,0x3E,0x82,0xBB,0x56,0x0B, + 0xB3,0x44,0x32,0x60,0xC9,0xC8,0xC8,0x88,0xF2,0xF6,0xF6,0x66,0x6B,0xE5,0x2C,0x61, + 0xD2,0x63,0xD4,0xA8,0x51,0xF9,0x0F,0x3C,0xF0,0x80,0xD1,0x80,0xE7,0xAB,0xE5,0xBA, + 0x44,0x47,0x9E,0x79,0xE6,0x99,0xDC,0xD1,0xA3,0x47,0x3F,0x87,0x0F,0x6A,0x14,0xFC, + 0xE6,0xE4,0xE4,0x70,0xE5,0xB0,0x83,0x41,0x41,0x41,0x72,0x17,0x57,0xC9,0x80,0x07, + 0xE9,0xD2,0x4F,0x72,0x73,0x73,0xC7,0x56,0x56,0x56,0x0A,0xCB,0x65,0x38,0x75,0x07, + 0xA1,0x65,0x09,0x97,0x6A,0x10,0xA6,0x6B,0xE6,0xBA,0x45,0x47,0xA2,0xA3,0xA3,0x27, + 0x46,0x45,0x45,0x99,0xEC,0x22,0xA8,0xA9,0xA9,0xF9,0xF9,0x8B,0x2F,0xBE,0xF8,0x73, + 0x51,0x94,0x48,0x06,0x24,0x6F,0xBF,0xFD,0xB6,0xCB,0xBA,0x75,0xEB,0x42,0x4D,0xCD, + 0x22,0x60,0xFA,0x84,0x34,0xEA,0x6B,0xA4,0x4C,0xB1,0x1A,0x8D,0xC6,0x68,0x6F,0x82, + 0xAB,0xA5,0x4F,0x44,0x07,0x4F,0xF6,0x1B,0x84,0x91,0x9F,0x07,0x04,0x04,0x08,0xCB, + 0x65,0xD8,0xFA,0x83,0x58,0xF8,0xED,0x35,0x6B,0xD6,0x2C,0x15,0x26,0x89,0x64,0x40, + 0x91,0x9A,0x9A,0xAA,0x61,0x58,0x69,0x6B,0x6B,0xBB,0x48,0x98,0xF4,0xC0,0xFD,0xFB, + 0xE5,0x23,0x8F,0x3C,0xB2,0x7C,0xE9,0xD2,0xA5,0x7D,0xB2,0x10,0x57,0x9F,0x88,0x8E, + 0xD4,0xD6,0xD6,0xC6,0xD9,0xD8,0xD8,0xA4,0x18,0xCE,0x42,0xE0,0xA8,0x6C,0x6E,0x0B, + 0x8B,0x0F,0x1E,0xBF,0x76,0xED,0xDA,0xC9,0xC2,0x2C,0x91,0x0C,0x08,0x0A,0x0A,0x0A, + 0xBC,0x3C,0x3D,0x3D,0x13,0xB9,0x11,0x88,0xE1,0xEA,0x5E,0x24,0x30,0x30,0x50,0x75, + 0xDB,0x6D,0xB7,0x39,0x21,0xAC,0xD4,0x6F,0x2D,0xBC,0x0E,0xFA,0x4C,0x74,0xCB,0x96, + 0x2D,0x6B,0x63,0x6B,0x66,0x5B,0x5B,0x5B,0xB6,0x30,0x75,0xC1,0x1E,0xFD,0xC6,0xC6, + 0x46,0xEE,0x48,0x12,0xFF,0xD1,0x47,0x1F,0xF9,0x76,0x5A,0x25,0x92,0x9B,0xCF,0xA7, + 0x9F,0x7E,0x5A,0xF1,0xCD,0x37,0xDF,0x14,0x99,0xDA,0x49,0x95,0x43,0x1D,0xE1,0xFD, + 0x76,0x96,0x97,0x97,0xAF,0x40,0x58,0x69,0x3C,0xE2,0xF9,0x1A,0xE9,0x33,0xD1,0x91, + 0x55,0xAB,0x56,0x9D,0x87,0xB8,0xB8,0x95,0x96,0x91,0x1B,0x66,0x2D,0x72,0xF1,0xE2, + 0xC5,0xF1,0x88,0x8F,0xE5,0x9A,0x2A,0x92,0x01,0xC1,0x67,0x9F,0x7D,0x36,0xD2,0xCD, + 0xCD,0x6D,0x4F,0x4D,0x4D,0x4D,0x84,0x30,0xE9,0xD1,0xD2,0xD2,0xF2,0xF1,0xBD,0xF7, + 0xDE,0x3B,0x7F,0xF6,0xEC,0xD9,0x65,0xC2,0xD4,0x27,0xF4,0xA9,0xE8,0xC8,0xF3,0xCF, + 0x3F,0x7F,0x30,0x22,0x22,0xE2,0x0D,0x51,0xD4,0x83,0xDD,0x08,0xF8,0x03,0x63,0x12, + 0x12,0x12,0xA4,0xF0,0x24,0x37,0x95,0xE4,0xE4,0xE4,0x69,0xF0,0x64,0x89,0xF5,0xF5, + 0xF5,0xB7,0xB0,0x5F,0xD9,0x90,0xA0,0xA0,0x20,0xD5,0xED,0xB7,0xDF,0x7E,0xC5,0x95, + 0xBD,0xAE,0x85,0x3E,0x17,0x1D,0x89,0x8D,0x8D,0xF5,0xBF,0xF5,0xD6,0x5B,0x45,0x49, + 0x1F,0xCE,0xBE,0x85,0xD7,0xBB,0x6F,0xD7,0xAE,0x5D,0x7F,0x17,0x26,0x89,0xE4,0x86, + 0x82,0x50,0xF2,0x0E,0x78,0xB8,0xC4,0xFC,0xFC,0xFC,0x31,0xA6,0xD6,0xAF,0xE4,0x9A, + 0x27,0x5E,0x5E,0x5E,0x3F,0x74,0x74,0x74,0x1C,0x13,0xA6,0x3E,0xA5,0x5F,0x44,0xE7, + 0xEA,0xEA,0xBA,0x02,0x35,0x45,0x62,0x78,0x78,0xB8,0xB0,0xE8,0x73,0xEE,0xDC,0x39, + 0x36,0xBC,0xFC,0x32,0x29,0x29,0xE9,0xBF,0x85,0x49,0x22,0xB9,0x21,0x14,0x17,0x17, + 0x5B,0xB4,0xB5,0xB5,0x3D,0xB7,0x77,0xEF,0x5E,0xDB,0x92,0x92,0x12,0x61,0xD5,0x07, + 0xE7,0xBF,0x62,0xF7,0x80,0xA9,0xD5,0xCD,0xFB,0x82,0x7E,0x9B,0x7E,0x93,0x93,0x93, + 0xE3,0x83,0xA7,0xC4,0x94,0x94,0x94,0x09,0xDC,0x5E,0xCB,0x10,0x2E,0xE9,0xC7,0xE9, + 0x11,0x4E,0x4E,0x4E,0x0F,0x4E,0x99,0x32,0xE5,0x63,0x61,0x96,0x48,0xFA,0x95,0x97, + 0x5F,0x7E,0x79,0x62,0x43,0x43,0xC3,0xC6,0xF6,0xF6,0xF6,0x60,0x61,0xD2,0x63,0xC4, + 0x88,0x11,0xA7,0x1E,0x7B,0xEC,0xB1,0x49,0xA2,0xD8,0x2F,0xF4,0x8B,0xA7,0x23,0x81, + 0x81,0x81,0x25,0xCD,0xCD,0xCD,0x71,0x91,0x91,0x91,0xB5,0xDE,0xDE,0x46,0x73,0x00, + 0xD9,0x9A,0xA9,0x3A,0x7E,0xFC,0x38,0x5B,0x36,0xD7,0xA1,0xD6,0x91,0xB3,0xCD,0x25, + 0xFD,0xCE,0x07,0x1F,0x7C,0x30,0x8F,0x79,0x9C,0xB9,0xB9,0xB9,0x49,0xC1,0x85,0x84, + 0x84,0xA8,0x98,0x16,0xC1,0x61,0x5C,0xF7,0xA8,0x93,0x9E,0xE8,0x37,0xD1,0x91,0x09, + 0x13,0x26,0xA4,0x21,0x49,0x8D,0x8B,0x8A,0x8A,0xA2,0x47,0x13,0xD6,0xCB,0x70,0xB8, + 0xCD,0xA1,0x43,0x87,0x38,0xEB,0x3C,0x7E,0xF7,0xEE,0xDD,0x1A,0x61,0x96,0x48,0xFA, + 0x1C,0x44,0x5C,0x0F,0x78,0x78,0x78,0xEC,0x40,0x5A,0xE3,0x69,0x6A,0x52,0x2A,0xFB, + 0xE3,0xE0,0xE5,0x76,0x34,0x35,0x35,0xC5,0xE2,0xF8,0xBA,0x47,0x9D,0xF4,0x44,0xBF, + 0x8A,0x8E,0xC0,0xD3,0x6D,0xC6,0x1F,0xF9,0x73,0x4E,0x89,0x30,0x9C,0x8D,0x40,0x38, + 0xDB,0x3C,0x2B,0x2B,0xCB,0xF3,0xD2,0xA5,0x4B,0xF1,0x09,0x09,0x09,0xC6,0x3B,0x95, + 0x48,0x24,0xD7,0x09,0xD2,0x1B,0xB6,0x1D,0xAC,0xCB,0xCC,0xCC,0x54,0x06,0x6A,0x18, + 0xC2,0xE9,0x69,0xB8,0x37,0xD7,0xDD,0x72,0xCB,0x2D,0x0B,0x26,0x4D,0x9A,0x64,0xDC, + 0xB2,0xD2,0xC7,0xF4,0xBB,0xE8,0x48,0x74,0x74,0xF4,0xBB,0x76,0x76,0x76,0x7F,0x98, + 0x38,0xD1,0xF4,0xD2,0x29,0x6C,0xD1,0xCC,0xCD,0xCD,0x65,0xAB,0x8B,0xEC,0x4A,0x90, + 0xF4,0x29,0x08,0x15,0x5F,0x41,0x44,0xF5,0xB7,0x7D,0xFB,0xF6,0xB1,0x9F,0x58,0x58, + 0xF5,0x41,0x85,0xFF,0xB7,0x15,0x2B,0x56,0xFC,0x54,0x14,0xFB,0x9D,0x1B,0xBA,0x8E, + 0x09,0x42,0xC8,0x7F,0xC2,0xB3,0xAD,0x3A,0x7D,0xFA,0xB4,0xB0,0xE8,0x03,0xF7,0xCE, + 0x51,0x00,0x6B,0xEF,0xBF,0xFF,0xFE,0x87,0x85,0x49,0x22,0xB9,0x66,0xCE,0x9F,0x3F, + 0xCF,0x45,0xB2,0xEE,0xDB,0xB3,0x67,0x8F,0xB2,0xA7,0xA2,0x29,0xE0,0xDD,0xAA,0x91, + 0xFE,0x84,0xB8,0xBA,0xBA,0xF6,0xB8,0x91,0x63,0x5F,0x72,0x43,0x3C,0x9D,0x96,0xB9, + 0x73,0xE7,0x3E,0xE9,0xE5,0xE5,0xF5,0x15,0x72,0x3D,0x61,0xD1,0x87,0x1E,0x0F,0xB5, + 0xD1,0xCA,0x77,0xDF,0x7D,0xF7,0x05,0x61,0x92,0x48,0xAE,0x99,0xC3,0x87,0x0F,0x8F, + 0xDF,0xB5,0x6B,0x57,0xB7,0x82,0x43,0x04,0xC6,0x9D,0x53,0xB9,0x32,0x73,0x9F,0x8E, + 0x38,0xB9,0x12,0x37,0x54,0x74,0x44,0xAD,0x56,0xC7,0x69,0x34,0x9A,0x1F,0xC6,0x8D, + 0x1B,0x27,0x2C,0xFA,0x30,0xC7,0x43,0xDC,0xFD,0xBB,0x35,0x6B,0xD6,0x3C,0x25,0x4C, + 0x12,0xC9,0x55,0xB3,0x7A,0xF5,0xEA,0xE7,0x8F,0x1C,0x39,0x62,0x72,0x80,0x3D,0xD7, + 0xAC,0x0C,0x0D,0x0D,0x55,0x39,0x38,0x38,0xFC,0xCB,0xCF,0xCF,0xEF,0x2E,0x78,0x39, + 0xE3,0x21,0x29,0xFD,0xC8,0x0D,0x17,0xDD,0xCC,0x99,0x33,0xB9,0x6A,0x67,0x5C,0x44, + 0x44,0x44,0x7E,0x77,0x53,0x81,0x38,0x5C,0xAC,0xBD,0xBD,0xFD,0xF5,0x97,0x5E,0x7A, + 0x49,0xAE,0x18,0x2D,0xB9,0x6A,0x20,0xB8,0x77,0xF0,0xF4,0x87,0xCE,0x92,0x3E,0x6C, + 0xCC,0x63,0x17,0x96,0xB9,0xB9,0xF9,0x1F,0x66,0xCD,0x9A,0xF5,0xA4,0x30,0xDF,0x50, + 0x6E,0xDA,0xDA,0x94,0x67,0xCE,0x9C,0x99,0x69,0x65,0x65,0x95,0xB8,0x6D,0xDB,0x36, + 0xAB,0xE2,0x62,0xE3,0x45,0x72,0xB9,0x62,0xB4,0x99,0x99,0x59,0x0B,0x42,0x83,0xD8, + 0x07,0x1E,0x78,0xC0,0x32,0x28,0x28,0x28,0x49,0x9C,0x92,0x48,0x4C,0xF2,0xEA,0xAB, + 0xAF,0x3A,0xD6,0xD5,0xD5,0xC5,0x37,0x37,0x37,0x9B,0x9C,0xBB,0xC9,0x01,0x19,0x6C, + 0xA9,0xC4,0xBD,0xF5,0xF3,0x95,0x2B,0x57,0xBE,0x2B,0xCC,0x37,0x9C,0x1B,0xEE,0xE9, + 0xB4,0x20,0xAF,0xDB,0x07,0x51,0xC5,0xCD,0x9F,0x3F,0x5F,0xE5,0xE6,0xE6,0x26,0xAC, + 0x97,0xE1,0x3C,0x3C,0x08,0xCE,0x0A,0x35,0xD3,0xF7,0xF0,0x7C,0x7B,0x0E,0x1C,0x38, + 0xF0,0x33,0x71,0x4A,0x22,0x31,0x62,0xED,0xDA,0xB5,0xE3,0x1D,0x1D,0x1D,0xD9,0xF1, + 0x6D,0x52,0x70,0x76,0x76,0x76,0xF4,0x70,0x35,0x3C,0x7F,0x33,0x05,0x47,0x6E,0x9A, + 0xE8,0x48,0x60,0x60,0xE0,0x46,0x77,0x77,0xF7,0xA7,0x17,0x2F,0x5E,0xCC,0x38,0xDB, + 0xE4,0x3A,0x2A,0xA8,0xB5,0x1C,0x52,0x52,0x52,0x38,0x3B,0xE1,0x83,0xAF,0xBE,0xFA, + 0x6A,0xA1,0x30,0x4B,0x24,0x5D,0x40,0x70,0x31,0x78,0x4A,0x44,0xE5,0x3C,0xD9,0x70, + 0xCF,0x01,0x2D,0x88,0xAA,0xCE,0xB4,0xB4,0xB4,0xC4,0x42,0x70,0xDF,0x09,0xD3,0x4D, + 0xE3,0xA6,0x8A,0x8E,0x20,0x89,0x7D,0x1D,0x2E,0x3F,0xB6,0xB5,0xB5,0xF5,0x0E,0x96, + 0xE1,0xFD,0x14,0xBB,0x2E,0xEC,0x5F,0x39,0x71,0xE2,0x84,0xAA,0xBA,0xBA,0x3A,0x1E, + 0x21,0x44,0xA8,0x30,0x4B,0x24,0xAA,0x35,0x6B,0xD6,0xC4,0x75,0x74,0x74,0x24,0x96, + 0x96,0x96,0xFA,0xA2,0x62,0x16,0x56,0x23,0x12,0x71,0x0F,0xC5,0x3E,0xF6,0xD8,0x63, + 0x69,0xA2,0x7C,0x53,0xB9,0x69,0x39,0x9D,0x29,0x5E,0x7C,0xF1,0x45,0xEE,0x6D,0xBE, + 0x96,0x22,0x33,0xD5,0xCC,0x2B,0x46,0xB4,0x9C,0x9A,0x3D,0x7B,0xF6,0xCF,0x91,0xE3, + 0xD9,0xFA,0xFA,0xFA,0xEE,0x52,0x4E,0x48,0x86,0x25,0xAB,0x57,0xAF,0xFE,0x25,0xC2, + 0xC5,0xBF,0x33,0xFF,0x37,0x35,0xB4,0x4B,0xB0,0xFE,0xF9,0xE7,0x9F,0xBF,0x5F,0x1C, + 0x0F,0x08,0x06,0x94,0xE8,0xC8,0xBA,0x75,0xEB,0xFE,0x07,0xDE,0xEE,0x7F,0xB3,0xB2, + 0xB2,0x84,0xC5,0x18,0x3F,0x3F,0xBF,0x66,0x0E,0x4C,0x45,0xCD,0x16,0x3B,0x65,0xCA, + 0x94,0xFD,0xC2,0x2C,0x19,0x46,0x40,0x70,0x7F,0xC3,0xD3,0x95,0xA6,0x86,0xFD,0x1D, + 0x82,0xFB,0xB5,0x38,0x1E,0x30,0x0C,0x38,0xD1,0x91,0xDD,0xBB,0x77,0xBF,0x56,0x57, + 0x57,0xF7,0x9F,0x1C,0x0C,0xDD,0x1D,0x1C,0xBD,0x82,0x9C,0x30,0xAF,0xB2,0xB2,0x32, + 0xF6,0xDE,0x7B,0xEF,0x35,0x5E,0x37,0x4D,0x32,0xE4,0xC8,0xC9,0xC9,0xF9,0x09,0x9E, + 0xA6,0x7C,0xF0,0xC1,0x07,0xFE,0x78,0xEE,0xD1,0x7B,0x4D,0x9D,0x3A,0xB5,0x63,0xD2, + 0xA4,0x49,0x93,0x71,0x8F,0x1C,0x15,0xA6,0x01,0xC3,0x80,0x14,0x1D,0x81,0xA7,0xFB, + 0x3C,0x35,0x35,0xD5,0xF1,0xCC,0x99,0x33,0xDD,0xEE,0x87,0xC0,0x56,0x4F,0x0B,0x0B, + 0x8B,0x03,0xC1,0xC1,0xC1,0xCB,0xC6,0x8E,0x1D,0x3B,0x72,0x20,0x7E,0xC1,0x92,0xBE, + 0x01,0x82,0x7B,0xBA,0xB1,0xB1,0xF1,0x55,0x0E,0xE9,0xEA,0x6E,0xF2,0xA9,0x96,0xC8, + 0xC8,0xC8,0x5D,0xE1,0xE1,0xE1,0xF5,0x38,0xBC,0x0F,0xF7,0x84,0xF1,0x08,0xE7,0x9B, + 0xCC,0x4D,0x6F,0x48,0xE9,0x0E,0x4B,0x4B,0xCB,0x7B,0x57,0xAC,0x58,0xB1,0x48,0xAD, + 0x56,0xFF,0xD5,0xD1,0x91,0x0B,0x89,0x19,0xC3,0xA9,0x41,0xE5,0xE5,0xE5,0x33,0xB2, + 0xB3,0xB3,0xCF,0x22,0x0F,0xDC,0xB1,0x6D,0xDB,0xB6,0x7E,0x9D,0x7C,0x28,0xB9,0x39, + 0x9C,0x3D,0x7B,0xF6,0x2F,0xF8,0xAD,0x5F,0xDD,0xBA,0x75,0xEB,0x95,0x04,0x77,0x01, + 0x8F,0x5B,0x97,0x2F,0x5F,0x3E,0x0F,0x62,0xBB,0x7D,0x20,0x0A,0x8E,0x0C,0x58,0x4F, + 0xA7,0xCB,0x5A,0xD0,0xDC,0xDC,0xFC,0x50,0x51,0x51,0xF7,0x63,0x52,0x39,0xCA,0xC0, + 0xD6,0xD6,0xF6,0x64,0x45,0x45,0x45,0xEC,0xD2,0xA5,0x4B,0x5B,0x35,0x1A,0x8D,0xE9, + 0x21,0xE5,0x92,0x41,0x45,0x62,0x62,0xE2,0xDA,0x86,0x86,0x86,0x87,0x8E,0x1C,0x39, + 0xA2,0x6C,0x4C,0xD3,0x03,0x8C,0x72,0xE2,0x90,0xC3,0x65,0x74,0x16,0x07,0x2E,0x83, + 0x42,0x74,0x64,0xC7,0x8E,0x1D,0x5B,0x4B,0x4B,0x4B,0x7F,0x84,0x70,0x53,0x58,0x8C, + 0xB1,0xB2,0xB2,0x62,0xB8,0x79,0x04,0x35,0xDD,0x08,0x88,0x6F,0xF9,0xAC,0x59,0xB3, + 0x0E,0x88,0x53,0x92,0x41,0xC6,0xEB,0xAF,0xBF,0xEE,0x86,0x08,0x87,0x53,0xBD,0x16, + 0x22,0xB4,0xEC,0x34,0x9A,0xC0,0xD5,0xD5,0x95,0x53,0x73,0xB6,0x40,0x98,0x14,0xDC, + 0xA0,0xA8,0x68,0x07,0x8D,0xE8,0x0E,0x1D,0x3A,0xE4,0x6A,0x6F,0x6F,0xFF,0xC9,0xA6, + 0x4D,0x9B,0xEA,0x5B,0x5B,0x5B,0xEF,0xC6,0x17,0x2D,0xCE,0x18,0xE3,0xE3,0xE3,0xC3, + 0xE1,0x3E,0xB9,0x5C,0x5C,0xE6,0xBE,0xFB,0xEE,0x1B,0x85,0x1F,0x26,0x59,0x9C,0x92, + 0x0C,0x70,0x0A,0x0A,0x0A,0x7E,0xB1,0x73,0xE7,0xCE,0xA3,0x17,0x2E,0x5C,0x78,0xCD, + 0xCC,0xCC,0x2C,0xB4,0xBE,0x9E,0xA9,0x99,0x31,0xEC,0x26,0xE0,0x90,0x2E,0x1B,0x1B, + 0x9B,0xF7,0x1F,0x7E,0xF8,0xE1,0x47,0x84,0x79,0x50,0x30,0x68,0x44,0x47,0xD2,0xD3, + 0xD3,0xAD,0x10,0x36,0xB6,0xBC,0xF7,0xDE,0x7B,0x5F,0x74,0x74,0x74,0xFC,0x18,0x3F, + 0x90,0x38,0x63,0x0C,0x87,0xFD,0x38,0x39,0x39,0xD5,0xCC,0x9B,0x37,0xCF,0xA9,0xB0, + 0xB0,0x70,0xE1,0xDC,0xB9,0x73,0xB7,0x8B,0x53,0x92,0x01,0xCA,0xD1,0xA3,0x47,0xDF, + 0xA9,0xAD,0xAD,0x7D,0x34,0x29,0x29,0xA9,0x05,0xE9,0x84,0x95,0x30,0x1B,0xC1,0x88, + 0x46,0xCC,0xF6,0x7E,0x61,0xE5,0xCA,0x95,0xCF,0x09,0xF3,0xA0,0x61,0x50,0x89,0x4E, + 0xCB,0xE6,0xCD,0x9B,0xAD,0xF0,0xA5,0x27,0x66,0x64,0x64,0xF8,0x65,0x67,0x67,0x1B, + 0x4F,0x55,0xD0,0x81,0x6B,0x18,0x22,0xD7,0xAB,0x08,0x0D,0x0D,0xFD,0xC4,0xC3,0xC3, + 0xE3,0xCC,0xB8,0x71,0xE3,0xFE,0x25,0x4E,0x49,0x06,0x08,0x1F,0x7F,0xFC,0xB1,0x13, + 0x42,0xC9,0xF5,0x8D,0x8D,0x8D,0x4B,0xB9,0x67,0x7D,0x4F,0xB8,0xB8,0xB8,0x28,0xF9, + 0x3B,0x22,0x9D,0xA7,0x20,0xB8,0x7F,0x0A,0xF3,0xA0,0x62,0x50,0x8A,0x8E,0xE0,0xC7, + 0x71,0x87,0xD7,0xAB,0x58,0xB3,0x66,0xCD,0x07,0xA8,0xF9,0x7E,0xC6,0x9D,0x5F,0xBB, + 0x03,0x79,0x1E,0xE7,0x4E,0xA9,0x70,0x3D,0xD7,0x3D,0xBC,0x6B,0xF6,0xEC,0xD9,0x87, + 0x82,0x82,0x82,0xBA,0x77,0x93,0x92,0x1B,0x42,0x56,0x56,0xD6,0xB2,0x0D,0x1B,0x36, + 0x64,0xA1,0x02,0x8D,0x6F,0x69,0x69,0x89,0x34,0xB5,0xF0,0xAB,0x2E,0xA3,0x47,0x8F, + 0x56,0x8D,0x1F,0x3F,0xBE,0x19,0xE2,0x8C,0x5B,0xB0,0x60,0xC1,0x97,0xC2,0x3C,0xE8, + 0x18,0xB4,0xA2,0xD3,0xE5,0x7B,0x50,0x5D,0x5D,0xBD,0x90,0xB5,0x24,0xE7,0xE3,0x75, + 0x87,0x5A,0xAD,0x66,0x2E,0xD0,0x32,0x67,0xCE,0x9C,0x56,0xFC,0x70,0x7F,0x44,0xE8, + 0xC9,0x51,0x0D,0x92,0x9B,0xC0,0xB6,0x6D,0xDB,0xDE,0x44,0x65,0xF8,0xF8,0xBE,0x7D, + 0xFB,0xEA,0xF0,0x9B,0x39,0x74,0x37,0xBB,0x9B,0xB9,0x1B,0x67,0x9C,0xE0,0xDA,0x57, + 0x1E,0x7C,0xF0,0xC1,0xF1,0x35,0x35,0x35,0x7F,0x09,0x0F,0x0F,0x1F,0xD4,0xA3,0x90, + 0x86,0x84,0xE8,0x4E,0x9D,0x3A,0xE5,0x86,0xF8,0xFE,0xBE,0x2F,0xBE,0xF8,0x42,0x83, + 0x50,0xF2,0x29,0x4E,0x82,0xED,0x09,0x8A,0x8F,0x1D,0xEB,0x15,0x15,0x15,0x2B,0x97, + 0x2C,0x59,0x62,0x17,0x19,0x19,0x29,0x43,0xCE,0x1B,0x00,0x2A,0xC5,0x15,0xA8,0x1C, + 0x33,0x0F,0x1C,0x38,0xF0,0x7B,0xFC,0x4E,0x77,0x98,0x9A,0x47,0xA9,0x0B,0xF3,0x72, + 0xA4,0x04,0xFC,0x9D,0x7E,0xF1,0xCC,0x33,0xCF,0xBC,0x9A,0x93,0x93,0x63,0x19,0x18, + 0x18,0x78,0xCD,0x7B,0x7D,0x0F,0x14,0x86,0x84,0xE8,0x74,0xD9,0xB4,0x69,0xD3,0xC6, + 0xCA,0xCA,0xCA,0xC9,0xE7,0xCE,0x9D,0xEB,0x31,0xD7,0xD3,0xC2,0xA5,0x01,0x91,0xBC, + 0xAF,0x41,0xC8,0x69,0x8E,0xF0,0xF3,0x17,0x43,0xE5,0x87,0x1D,0x68,0xA0,0x42,0xFC, + 0x9D,0x93,0x93,0xD3,0x0B,0x27,0x4F,0x9E,0x6C,0xBC,0x78,0xF1,0xA2,0xAD,0x30,0x77, + 0x8B,0xAF,0xAF,0xAF,0x6A,0xE4,0xC8,0x91,0xED,0xDC,0xF7,0xF0,0xBE,0xFB,0xEE,0xFB, + 0x4C,0x98,0x87,0x04,0x43,0x4E,0x74,0xC9,0xC9,0xC9,0x96,0x78,0x32,0x3B,0x7A,0xF4, + 0xE8,0x9F,0x90,0xC7,0xFD,0xC6,0xD4,0x76,0xB6,0xBA,0x70,0x2A,0x11,0x43,0x18,0xFC, + 0xC0,0x4C,0xCE,0xBF,0xFB,0xD1,0x8F,0x7E,0x64,0x5D,0x58,0x58,0xF8,0xE4,0xD8,0xB1, + 0x63,0x8B,0xF1,0xC3,0xD7,0x8A,0xCB,0x24,0xD7,0x40,0x6A,0x6A,0xEA,0x7C,0xFC,0x06, + 0x53,0x36,0x6E,0xDC,0xE8,0xEF,0xE8,0xE8,0xF8,0x14,0x04,0x74,0xA5,0x0E,0x6E,0x05, + 0xAE,0x5F,0x82,0x47,0x21,0xF2,0xF4,0xB8,0x59,0xB3,0x66,0x0D,0xB9,0xEE,0x9E,0x21, + 0x27,0x3A,0x5D,0xD2,0xD2,0xD2,0xDE,0x3E,0x74,0xE8,0x50,0x13,0x7E,0xEC,0xFF,0x64, + 0x7F,0x4F,0x0F,0xD3,0x3F,0x14,0x28,0x40,0x0E,0xA4,0x46,0xA8,0x7A,0x26,0x36,0x36, + 0xD6,0xAE,0xA0,0xA0,0xE0,0x09,0x88,0x2F,0x0D,0xE2,0xBB,0x61,0xCB,0xB3,0x0D,0x76, + 0x92,0x92,0x92,0x1C,0x11,0x3A,0xC6,0xE2,0xD9,0x25,0x20,0x20,0xE0,0x23,0x36,0x8E, + 0xF4,0x34,0x92,0x48,0x0B,0x43,0x49,0x1B,0x1B,0x1B,0xCE,0x99,0xFC,0xF5,0x63,0x8F, + 0x3D,0xE6,0x02,0x71,0x7E,0x30,0x6A,0xD4,0x28,0xA3,0x0D,0x46,0x87,0x02,0x43,0x5A, + 0x74,0x5A,0xBE,0xFA,0xEA,0xAB,0xDF,0xA3,0xC6,0xFD,0x33,0x72,0x89,0x0E,0x24,0xE5, + 0x66,0xDD,0x25,0xED,0xBA,0x30,0xE7,0xB3,0xB7,0xB7,0x6F,0x9C,0x36,0x6D,0x5A,0x3B, + 0xC2,0xD5,0xE7,0x20,0xBE,0x1D,0xF0,0x86,0x27,0xC4,0x69,0x89,0x01,0x08,0xE7,0x57, + 0x23,0x52,0x08,0x86,0x77,0x9B,0x60,0x61,0x61,0x11,0xC9,0xD5,0x94,0xB9,0xEA,0xD6, + 0x95,0x2A,0x3A,0xC2,0x30,0x12,0xDF,0xAF,0x79,0x49,0x49,0xC9,0xFD,0x71,0x71,0x71, + 0xEB,0x85,0x79,0xC8,0x32,0x2C,0x44,0x47,0xB2,0xB2,0xB2,0x16,0x6D,0xD9,0xB2,0xC5, + 0x09,0x5E,0xEB,0x53,0x86,0x9C,0xF4,0x7C,0x3D,0xB5,0x74,0x6A,0x61,0xED,0xEB,0xEC, + 0xEC,0xAC,0xE2,0xEA,0xD4,0xA8,0x85,0xDF,0xF4,0xF6,0xF6,0x4E,0x80,0x39,0x2D,0x3A, + 0x3A,0xBA,0xDF,0x97,0xDF,0x1E,0xE8,0x9C,0x3E,0x7D,0x7A,0x11,0xC2,0xC6,0xC9,0xF8, + 0x5E,0x47,0x7A,0x78,0x78,0x3C,0x4E,0xA1,0xB1,0x42,0x6B,0x6E,0xBE,0xF2,0x4E,0xC1, + 0x6C,0xCC,0x62,0x1F,0x6A,0x4D,0x4D,0xCD,0xAB,0xCB,0x96,0x2D,0xFB,0x1E,0xAF,0x6B, + 0x12,0x6B,0x50,0x0E,0x79,0x86,0x8D,0xE8,0xB4,0x1C,0x3F,0x7E,0xFC,0xFF,0xE1,0x07, + 0xFE,0xD9,0xDE,0xBD,0x7B,0x83,0x50,0x0B,0x3B,0x70,0x96,0x3A,0x9B,0xA4,0x7B,0x03, + 0x43,0x20,0x0E,0x31,0x6B,0x6C,0x6C,0xDC,0x81,0x1B,0x26,0xDE,0xCA,0xCA,0x2A,0x2F, + 0x3C,0x3C,0xDC,0x35,0x30,0x30,0xF0,0x0B,0x71,0xC9,0x90,0x67,0xFB,0xF6,0xED,0xAE, + 0x88,0x1A,0x62,0x8E,0x1C,0x39,0xE2,0x3A,0x7A,0xF4,0xE8,0xF7,0xD9,0x02,0xC9,0xB5, + 0x4A,0x7B,0x23,0x34,0xC2,0x10,0x1E,0x42,0x2D,0x9F,0x3E,0x7D,0xBA,0x07,0x04,0xF7, + 0xDB,0x25,0x4B,0x96,0xBC,0x28,0x4E,0x0D,0x1B,0x86,0x9D,0xE8,0x08,0x6E,0x14,0xB3, + 0x33,0x67,0xCE,0x2C,0x46,0x08,0xF9,0x64,0x4A,0x4A,0x8A,0x0F,0xC4,0x33,0x99,0x53, + 0x46,0x7A,0x13,0x0A,0x11,0x36,0xBC,0x20,0xF4,0x64,0xF8,0xD4,0x1C,0x14,0x14,0x64, + 0x8D,0xFF,0xEF,0x97,0x21,0x21,0x21,0x36,0xF0,0x7E,0x7F,0x5D,0xBB,0x76,0xAD,0xF9, + 0xCA,0x95,0x2B,0x7B,0xA7,0xE2,0x41,0x00,0xF2,0x62,0x4E,0x97,0x2A,0x47,0x5E,0xB6, + 0x0A,0x7F,0x6F,0x30,0x22,0x86,0x60,0x88,0x26,0x34,0x3F,0x3F,0x5F,0x11,0x50,0x6F, + 0x1A,0x46,0xB4,0xB0,0xB1,0xAA,0xA9,0xA9,0xE9,0x4B,0x36,0x90,0x3C,0xF0,0xC0,0x03, + 0x31,0xF8,0xEE,0x86,0xE5,0xD0,0xBC,0x61,0x29,0x3A,0x5D,0xE0,0xF1,0xC6,0x41,0x7C, + 0x4F,0xED,0xD9,0xB3,0xC7,0x0B,0x61,0x64,0x1C,0x97,0x89,0xA0,0xE7,0xEB,0x4D,0xE8, + 0x49,0x98,0xB7,0xF0,0x5A,0x0E,0x4D,0xAA,0xA8,0xA8,0x78,0x17,0xE1,0xAB,0x2D,0x3C, + 0xC0,0x59,0xD8,0xB3,0x71,0x93,0xD9,0xC1,0x0B,0xBE,0x25,0x2E,0x1D,0x14,0x9C,0x38, + 0x71,0x22,0x14,0x9C,0x38,0x7C,0xF8,0xF0,0xBA,0x8C,0x8C,0x8C,0x4C,0x84,0xD7,0xCF, + 0x20,0xA7,0xAD,0xAF,0xAA,0xAA,0xF2,0xE6,0x20,0x73,0x7E,0x37,0xBD,0x8D,0x0C,0x08, + 0xB7,0x48,0x43,0x64,0x51,0x39,0x6B,0xD6,0x2C,0x37,0x08,0xF4,0x9F,0x31,0x31,0x31, + 0xC3,0x7E,0xE5,0xEE,0x61,0x2F,0x3A,0x5D,0xD2,0xD3,0xD3,0x9F,0xFC,0xFE,0xFB,0xEF, + 0x3D,0x21,0x9C,0xD5,0xCC,0x4F,0x28,0xA6,0xDE,0x34,0xBA,0xE8,0xC2,0x5C,0xC5,0xD6, + 0xD6,0x96,0xAF,0x6B,0xF7,0xF7,0xF7,0x37,0x2F,0x2C,0x2C,0x7C,0x09,0xA2,0xB6,0x09, + 0x08,0x08,0x28,0x81,0x77,0x3C,0xE1,0xE9,0xE9,0xA9,0x76,0x71,0x71,0x69,0x77,0x75, + 0x75,0xFD,0x4A,0xBC,0xE4,0xA6,0x00,0x0F,0x36,0x22,0x32,0x32,0xB2,0x10,0x79,0xD9, + 0x33,0x28,0x3A,0xE3,0x73,0x5A,0x43,0x70,0xF9,0xB0,0xBD,0x06,0x5B,0xA6,0x85,0x85, + 0xC5,0x78,0x7A,0x7F,0x7A,0xF5,0xAB,0xFD,0x0E,0xF8,0xF7,0xD3,0x0B,0x22,0x47,0xE3, + 0xF7,0x71,0xE8,0xDC,0xB9,0x73,0x1C,0xB6,0xE5,0x8C,0x0A,0xE8,0xB0,0xB8,0x64,0x58, + 0x23,0x45,0x67,0x82,0xFD,0xFB,0xF7,0x2F,0x43,0x4D,0xEF,0x82,0x9B,0x84,0xB5,0x7D, + 0x35,0x6E,0x3A,0x97,0xEE,0xA6,0x98,0xF4,0x04,0x6F,0x3C,0x0A,0x97,0x8D,0x31,0x1C, + 0xFB,0x89,0x72,0x1B,0x3C,0xA2,0x05,0x47,0xC8,0xE3,0xFF,0xFD,0x2B,0xCE,0x5D,0xB0, + 0xB6,0xB6,0x3E,0x8C,0x1B,0xBB,0x03,0xD7,0xD8,0xE1,0x91,0x73,0xE7,0x9D,0x77,0x9E, + 0xDD,0xBD,0x7B,0xF7,0x68,0x5C,0x5F,0x1F,0x15,0x15,0xA5,0x34,0xD6,0x20,0x8F,0x52, + 0xE3,0xA6,0x35,0x9A,0xCB,0x04,0xEF,0x63,0x0F,0xF1,0xD6,0x17,0x14,0x14,0xB8,0x9D, + 0x3F,0x7F,0xFE,0x22,0xC2,0xDB,0x2E,0x75,0xC0,0xB6,0x00,0xB6,0x2A,0xD8,0x0E,0xC5, + 0xC7,0xC7,0xFB,0xF8,0xF9,0xF9,0x85,0x8F,0x19,0x33,0xE6,0xAE,0x43,0x87,0x0E,0x95, + 0x23,0x34,0x3C,0x81,0xE3,0x57,0xE0,0x99,0xAB,0x10,0x52,0x4F,0xE4,0x08,0x1E,0xAE, + 0xB4,0xC6,0xFC,0x96,0x5C,0xAD,0xC8,0x88,0xC8,0xD5,0xD8,0xD7,0xB9,0x6B,0xFE,0xFC, + 0xF9,0xB3,0x51,0x81,0x3D,0x84,0x7C,0xAD,0xAD,0xB6,0xB6,0x76,0x13,0xDE,0x6B,0x40, + 0xCE,0xE0,0xBE,0x59,0x48,0xD1,0xF5,0x00,0xC4,0x37,0xF9,0xEC,0xD9,0xB3,0x96,0xE1, + 0xE1,0xE1,0x89,0x10,0x61,0x01,0x6E,0x20,0x7B,0xDC,0xA0,0x23,0xAE,0x26,0xBC,0x32, + 0x44,0x3B,0x96,0x90,0x61,0x29,0xA7,0xA8,0xE0,0x66,0x6D,0x87,0x57,0x69,0xB1,0xB3, + 0xB3,0x53,0xA3,0xDC,0x88,0x72,0x91,0xBB,0xBB,0x3B,0x9C,0xA1,0x4B,0x07,0xDE,0xEF, + 0x18,0x6C,0x2D,0xB8,0xD6,0x19,0xEF,0x7B,0x1C,0xE1,0x59,0x11,0x5E,0xAB,0x46,0x5E, + 0x54,0x8A,0xE3,0x63,0x10,0xD4,0x3F,0x9A,0x9B,0x9B,0x2F,0xE1,0x66,0x77,0x47,0x9E, + 0x74,0x11,0x79,0xD7,0x09,0x94,0x3B,0x20,0xA4,0xC0,0x11,0x23,0x46,0xC4,0x70,0x03, + 0xC4,0xF2,0xF2,0xF2,0x3C,0x8A,0x08,0xC7,0xA3,0xE9,0x81,0x1A,0x1B,0x1B,0x39,0x02, + 0x47,0x11,0xC9,0xF5,0xFC,0x1D,0x5A,0x58,0x99,0xE0,0xFD,0xCA,0xA6,0x4F,0x9F,0xEE, + 0x09,0xD1,0xBE,0x8A,0x4A,0xE3,0x17,0xA9,0xA9,0xA9,0x9E,0xA8,0x30,0x6E,0xE8,0x4E, + 0x38,0x83,0x09,0x29,0xBA,0x5E,0x80,0x3C,0xCF,0x1F,0x1E,0xA2,0x1A,0x87,0x14,0xC8, + 0x8B,0xF0,0x50,0x31,0xB8,0xC1,0xC3,0x98,0xE3,0xB0,0xD5,0xEE,0x5A,0x3C,0xC3,0x95, + 0xA0,0x28,0xD9,0xB0,0x43,0x71,0x88,0x70,0x55,0x69,0xB4,0xA0,0xD7,0xA4,0xF7,0x84, + 0x60,0x5A,0xF0,0x59,0xAC,0x78,0xCC,0x07,0xAF,0xA3,0xA0,0xF8,0x3A,0xA2,0x7D,0x2D, + 0xCF,0xF5,0x25,0xAC,0x34,0x98,0xA7,0xF1,0x73,0xC0,0x83,0xF1,0x7D,0x0E,0xE4,0xE6, + 0xE6,0xC6,0xCD,0x99,0x33,0xC7,0x05,0xB9,0xA0,0x5C,0x18,0xAA,0x17,0x48,0xD1,0x5D, + 0x23,0xC9,0xC9,0xC9,0xFF,0x89,0x1B,0xFC,0xB6,0x9C,0x9C,0x9C,0x28,0xDC,0x74,0xD9, + 0xC8,0x5D,0xA6,0x70,0x85,0x61,0xDE,0xE8,0xA4,0xAF,0x6F,0xF6,0x9B,0x81,0x56,0xB4, + 0x14,0x19,0x9E,0xDB,0xC6,0x8F,0x1F,0x6F,0x01,0x2F,0xB9,0xED,0xD6,0x5B,0x6F,0x9D, + 0x7D,0xF2,0xE4,0xC9,0x87,0xA6,0x4E,0x9D,0xDA,0x5E,0x5D,0x5D,0xFD,0x0D,0xC2,0xF0, + 0xDE,0xF5,0x17,0x48,0x14,0xA4,0xE8,0xAE,0x13,0xE4,0x4B,0x6E,0xF0,0x76,0x8D,0x61, + 0x61,0x61,0x9B,0x33,0x33,0x33,0xAB,0x90,0xFB,0xB9,0xE2,0x31,0x57,0xEB,0x99,0xEA, + 0xEA,0xEA,0x94,0xEB,0xFA,0xC3,0xEB,0xF4,0x35,0xDA,0xD0,0x57,0x74,0x87,0xA8,0xBC, + 0xBC,0xBC,0xF8,0x7C,0x60,0xDC,0xB8,0x71,0x9E,0x79,0x79,0x79,0x8F,0xCE,0x9C,0x39, + 0x73,0xB2,0xAF,0xAF,0xEF,0x2B,0xC5,0xC5,0xC5,0xEE,0x78,0xAE,0x10,0x2F,0x93,0x5C, + 0x25,0x52,0x74,0x7D,0x44,0x5A,0x5A,0x9A,0x75,0x64,0x64,0xA4,0x52,0xE3,0xA7,0xA7, + 0xA7,0x3F,0x86,0x1B,0xF8,0x16,0xE4,0x51,0x91,0x19,0x19,0x19,0x15,0xF0,0x80,0x96, + 0x10,0xE6,0x2C,0x0A,0x90,0x37,0x36,0xC3,0x40,0x0A,0xF0,0x66,0x0A,0x91,0xEF,0xCD, + 0xB0,0x95,0x15,0x03,0xC5,0x05,0x0F,0x96,0x06,0x71,0x45,0x3A,0x3B,0x3B,0x97,0xC3, + 0x96,0x06,0xDB,0x37,0xC8,0x27,0x3B,0x26,0x4E,0x9C,0xF8,0x4F,0x78,0x73,0x37,0x78, + 0xB3,0x4A,0xF1,0x52,0xC9,0x75,0x22,0x45,0xD7,0x8F,0x40,0x88,0x76,0x08,0x3D,0x1B, + 0xEF,0xBC,0xF3,0xCE,0x0E,0x78,0xC1,0x3F,0xC3,0x03,0x06,0xE1,0x66,0x9F,0x51,0x56, + 0x56,0x56,0x5B,0x55,0x55,0xD5,0x04,0x01,0x8E,0x6D,0x6A,0x6A,0x72,0xC5,0x71,0x19, + 0x3C,0x8C,0x13,0x04,0xA8,0xA6,0x20,0x91,0x27,0x51,0x89,0xCA,0x6F,0xC3,0xDC,0x8C, + 0x42,0xE5,0x83,0xC7,0x84,0xC7,0x86,0x8D,0x20,0xBA,0xD7,0x20,0xD7,0x53,0x3C,0x15, + 0x05,0xCD,0x2E,0x0C,0x5C,0xDB,0x66,0x6D,0x6D,0x6D,0x41,0x0F,0x86,0x0A,0xA0,0x18, + 0xB9,0x98,0x3D,0x04,0x55,0x0E,0x6F,0xE5,0x70,0xFE,0xFC,0xF9,0x3F,0x20,0x6C,0x0C, + 0xD1,0x68,0x34,0x4F,0x6F,0xDF,0xBE,0x7D,0x4C,0x44,0x44,0x84,0x99,0xA7,0xA7,0xE7, + 0x90,0x1C,0x68,0x3C,0x30,0x50,0xA9,0xFE,0x3F,0xF4,0x88,0x17,0xC7,0xC8,0x58,0x48, + 0xF9,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // open_png, 14893 bytes -// File: PlantModel.png +// File: plantmodel.css // -const char PlantModel_png[] PROGMEM = { +const char plantmodel_css[] PROGMEM = { + "\n" +}; // plantmodel_css, 3982 bytes + +// File: plantmodel.png +// +const char plantmodel_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0xF3,0x00,0x00,0x01,0xE8,0x08,0x06,0x00,0x00,0x00,0x9C,0x90,0xD9, - 0xD3,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x00,0x00,0xEF,0x00,0x00,0x01,0xE8,0x08,0x06,0x00,0x00,0x00,0xA1,0x02,0xB8, + 0xB5,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, - 0x6F,0xA8,0x64,0x00,0x00,0x6E,0x4E,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x07, - 0x7C,0x14,0x65,0xFA,0xC7,0x9F,0x4D,0x27,0x05,0xD2,0x0B,0x49,0x20,0x01,0x82,0x20, - 0x4D,0x7A,0x55,0x40,0x01,0x51,0xE1,0x44,0xC5,0x82,0x7F,0xF5,0xB0,0x9C,0x82,0x77, - 0x16,0xCE,0xC2,0xE9,0x79,0x67,0x39,0xEF,0x94,0xF3,0x14,0x3D,0x3D,0xFB,0x89,0x27, - 0x16,0xCE,0x06,0x9E,0x28,0x08,0xA8,0x20,0xA1,0x08,0x48,0x2F,0x21,0xA1,0x25,0x21, - 0x8D,0x54,0x42,0x02,0x29,0x24,0xF3,0xDF,0xDF,0xEC,0xBB,0x9B,0xD9,0xDD,0x99,0xDD, - 0xD9,0x9A,0xD9,0xDD,0xF7,0xFB,0x61,0xC9,0xBC,0xB3,0xB3,0x9B,0xC9,0xEE,0xFC,0xE6, - 0x79,0xDE,0xE7,0x7D,0xDE,0xE7,0x25,0x0E,0x87,0xE3,0x1F,0xE8,0xD8,0x4F,0x8E,0x8F, - 0x51,0x59,0x59,0x29,0x34,0x34,0x34,0x88,0xDB,0xF8,0x59,0x55,0x55,0x25,0x6E,0x1B, - 0x91,0xDB,0x27,0x25,0x23,0x23,0x83,0x42,0x42,0x42,0x58,0xCB,0x80,0x74,0x5F,0x76, - 0x76,0x36,0xBF,0x36,0x7C,0x0C,0xFE,0x85,0x69,0x9C,0xE3,0xC7,0x8F,0x0B,0x75,0x75, - 0x75,0x84,0xC7,0xC9,0x93,0x27,0x45,0x91,0x96,0x97,0x97,0xB3,0x67,0x3D,0x0F,0x04, - 0x1E,0x1D,0x1D,0x4D,0xA9,0xA9,0xA9,0x94,0x98,0x98,0x28,0x6E,0x73,0xA1,0x6B,0x13, - 0xFE,0xA5,0x68,0x88,0x5D,0xBB,0x76,0x09,0x10,0x2C,0x2C,0x2A,0x04,0xDB,0xD4,0xD4, - 0xC4,0x9E,0xD1,0x1E,0x10,0x35,0xC4,0x0D,0x91,0x43,0xF0,0x83,0x06,0x0D,0xE2,0xD7, - 0x52,0x27,0xC3,0xBF,0x80,0x4E,0x04,0xE2,0x3D,0x71,0xE2,0x04,0xE1,0x01,0xCB,0xEB, - 0xEB,0x40,0xDC,0x59,0x59,0x59,0xE2,0x83,0x8B,0xDB,0xFB,0xF0,0x0F,0xDC,0x8B,0xF8, - 0x9B,0x78,0xED,0x01,0x71,0xF7,0xE9,0xD3,0x47,0x14,0x77,0xFF,0xFE,0xFD,0xF9,0xB5, - 0xE6,0x61,0xF8,0x07,0xEC,0x61,0x36,0x6E,0xDC,0x28,0xEC,0xD8,0xB1,0x23,0x20,0xC4, - 0x6B,0x0F,0xB8,0xE3,0x17,0x5D,0x74,0x11,0x8D,0x1C,0x39,0x92,0x5F,0x77,0x1E,0x80, - 0x7F,0xA8,0x1E,0x00,0x16,0x78,0xF7,0xEE,0xDD,0xA2,0x05,0xF6,0x14,0xC6,0x3E,0x6B, - 0x44,0x44,0x84,0xD8,0x6F,0x95,0x62,0x7C,0xCE,0x1E,0xE8,0x9F,0x9F,0x3F,0x7F,0x9E, - 0xB5,0x0C,0x18,0xCF,0x59,0xEE,0x39,0x77,0x32,0x70,0xE0,0x40,0xEA,0xD7,0xAF,0x1F, - 0x77,0xC7,0xDD,0x08,0xFF,0x20,0xDD,0xC4,0xA1,0x43,0x87,0x84,0xFD,0xFB,0xF7,0x53, - 0x5E,0x5E,0x9E,0x5B,0x45,0xD0,0xD9,0xD1,0x64,0x4F,0x47,0xD3,0x71,0x33,0x82,0xB0, - 0x61,0xB1,0x33,0x33,0x33,0xF9,0xF5,0xE8,0x02,0xFC,0xC3,0x73,0x81,0xB2,0xB2,0x32, - 0xD1,0x85,0x86,0x80,0x8D,0x63,0xBE,0xAE,0x60,0x0C,0x1E,0xE1,0xA1,0xF5,0xE1,0x1F, - 0x8C,0x73,0x43,0xE0,0xC6,0x18,0x00,0x84,0xEE,0x2A,0xB1,0xB1,0xB1,0xA2,0xA8,0x27, - 0x4F,0x9E,0xCC,0xAF,0x4B,0x27,0xE0,0x1F,0x9A,0x13,0xC0,0x5A,0xAD,0x5F,0xBF,0xDE, - 0x65,0x37,0x1A,0x56,0xD7,0x28,0xDE,0x9C,0x9C,0x1C,0x9F,0xFF,0x2E,0xE0,0x9D,0x18, - 0xC5,0xED,0xAA,0xF5,0x86,0xA8,0x27,0x4C,0x98,0x40,0x49,0x49,0x49,0xFC,0x1A,0x55, - 0x09,0xFF,0xA0,0x1C,0xC0,0x55,0x11,0xFB,0x9B,0x78,0xED,0xB1,0x6F,0xDF,0x3E,0x93, - 0xB8,0x6D,0x65,0xA3,0xD9,0x02,0xFD,0xEA,0x49,0x93,0x26,0x51,0x5A,0x5A,0x1A,0xBF, - 0x56,0xED,0xC0,0x3F,0x20,0x15,0xC0,0xE2,0xE4,0xE6,0xE6,0x3A,0xE5,0x4A,0xA2,0x9F, - 0x0B,0x2B,0x73,0xF1,0xC5,0x17,0x07,0xF4,0x67,0x0D,0xB7,0x1C,0x5D,0x12,0xC4,0x15, - 0x9C,0xE9,0x92,0x40,0xD4,0xB0,0xD4,0xBC,0x5F,0xAD,0x0C,0xFF,0x60,0x6C,0x00,0x11, - 0xC3,0x12,0x3B,0xEA,0x32,0xF2,0xA0,0x8E,0x6D,0x5C,0x09,0x16,0xC2,0xAB,0x81,0xA5, - 0xE6,0x29,0xA5,0xD6,0xF0,0x0F,0x44,0x86,0x82,0x82,0x02,0x61,0xDD,0xBA,0x75,0x0E, - 0x8B,0x98,0x0F,0xB7,0x38,0x8E,0xB3,0xC3,0x78,0x10,0xF5,0x94,0x29,0x53,0xF8,0xCD, - 0x52,0x02,0xFF,0x20,0x2C,0x58,0xBA,0x74,0xA9,0x70,0xE4,0xC8,0x11,0xD6,0xB2,0x0F, - 0x86,0x8A,0xE0,0xFE,0x8D,0x1D,0x3B,0x96,0x7F,0x96,0x2E,0xF2,0xE3,0x8F,0x3F,0x0A, - 0x5B,0xB7,0x6E,0x75,0x28,0x27,0x1D,0xDE,0xCF,0x35,0xD7,0x5C,0xC3,0x3F,0x7B,0x3D, - 0xFC,0x43,0x60,0x20,0x53,0x0B,0x2E,0xB5,0x5A,0xB7,0x0F,0xC3,0x28,0x10,0x31,0xCF, - 0x66,0x72,0x3F,0x8E,0x8A,0x1A,0xDD,0x9A,0xE9,0xD3,0xA7,0xD3,0xD0,0xA1,0x43,0x03, - 0xFA,0xBB,0x08,0xF8,0x0B,0x11,0x2E,0xF5,0xEA,0xD5,0xAB,0x55,0x47,0x5B,0x21,0x62, - 0xF4,0xD9,0x02,0xFD,0xC2,0xF1,0x06,0x5B,0xB6,0x6C,0x11,0x03,0x8F,0x6A,0x03,0x66, - 0x18,0x2D,0x98,0x35,0x6B,0x56,0xC0,0x0E,0x67,0x05,0xF4,0x05,0xF9,0xD9,0x67,0x9F, - 0x89,0x81,0x18,0x35,0x20,0x2A,0x0D,0x4B,0xCC,0x45,0xEC,0x7D,0x1C,0x15,0x35,0xBE, - 0xA7,0xA9,0x53,0xA7,0x06,0xDC,0xF7,0x14,0x90,0x17,0x26,0x2E,0x0E,0xB8,0xD4,0x6A, - 0xDC,0x38,0x88,0x18,0x81,0x16,0x3E,0xEB,0xA7,0xF3,0x41,0xB0,0x0C,0x81,0x49,0x35, - 0xA2,0x46,0x2C,0x63,0xC6,0x8C,0x19,0x01,0xF5,0xBD,0x05,0xDC,0x05,0xFA,0xCE,0x3B, - 0xEF,0x88,0x05,0x00,0xEC,0x81,0x7E,0x18,0xEE,0xF0,0x81,0x3E,0x3E,0xAC,0x45,0xD6, - 0xAE,0x5D,0x2B,0xF6,0xA9,0xD5,0xC4,0x37,0x30,0xC2,0x70,0xFD,0xF5,0xD7,0x07,0xC4, - 0x77,0x18,0x30,0x17,0x2A,0xC6,0x36,0x57,0xAC,0x58,0xA1,0xCA,0x1A,0x07,0xD2,0x05, - 0xE0,0xAB,0x20,0x09,0x65,0xE5,0xCA,0x95,0xAA,0x86,0xB4,0xE0,0x5D,0xCD,0x9E,0x3D, - 0xDB,0xEF,0xB3,0xC8,0x02,0xE2,0x82,0x5D,0xB5,0x6A,0x95,0x78,0x27,0xB7,0x07,0xBE, - 0x74,0xB8,0x66,0x3C,0x21,0xC1,0x77,0x40,0xCA,0x28,0x02,0x98,0xF6,0x5C,0x6F,0x14, - 0x2A,0x44,0x77,0xC9,0x9F,0x87,0x10,0xFD,0xFE,0xA2,0x55,0xE3,0x56,0xE3,0x8B,0x46, - 0x84,0x9A,0xBB,0xD4,0xBE,0x8B,0xDA,0x1B,0x36,0x92,0x7A,0xE6,0xCC,0x99,0xE3,0x97, - 0xDF,0xB3,0xDF,0x5E,0xBC,0x6A,0xDD,0x6A,0x7F,0xFE,0x72,0x03,0x8D,0xE2,0xE2,0x62, - 0xD1,0x4A,0xDB,0xBB,0x79,0x63,0x78,0x11,0x6E,0xB7,0xBF,0x65,0x8F,0xF9,0xE5,0x45, - 0xAC,0xE6,0x2E,0x0D,0x6B,0x8C,0x44,0x03,0x9E,0xF4,0xE1,0x7F,0x20,0x40,0x86,0xA1, - 0x2C,0x5B,0xF8,0xA3,0xDB,0xED,0x77,0x17,0xB2,0x1A,0xB7,0x3A,0x50,0x02,0x22,0x81, - 0x0C,0x92,0x81,0x3E,0xFF,0xFC,0xF3,0x80,0xF2,0xCC,0xFC,0xEA,0x62,0x5E,0xBC,0x78, - 0xB1,0x58,0xFD,0xC2,0x16,0x3C,0x52,0x1D,0x58,0xA8,0xB9,0xB9,0xA3,0x24,0xD3,0xFC, - 0xF9,0xF3,0x7D,0xFE,0x9A,0xF0,0x8B,0x8B,0x1A,0xE5,0x7B,0x96,0x2D,0x5B,0x66,0xB3, - 0x02,0xA6,0x2F,0xB8,0xD5,0xA5,0xA7,0x8A,0x85,0xBF,0xBF,0xFB,0x67,0x6A,0x6E,0x6D, - 0xA6,0x7B,0xE7,0x3C,0x42,0x83,0xFA,0xF2,0x6C,0x33,0x77,0xA0,0xC6,0xED,0xF6,0x07, - 0x41,0xFB,0xFC,0xC5,0x82,0xA0,0xC7,0x87,0x1F,0x7E,0x68,0xD3,0x9D,0xF2,0x15,0xB7, - 0xFA,0xD1,0x17,0xE6,0x09,0x1B,0xB6,0xAF,0x15,0xB7,0xC3,0x42,0xC3,0x69,0xE9,0xA2, - 0xFF,0x51,0x56,0x46,0x1F,0x9F,0xFF,0x8E,0xCA,0xCB,0xCB,0x85,0x13,0x95,0xB5,0xD4, - 0xDE,0xDE,0xCE,0xF6,0x18,0xE8,0x99,0x18,0x4B,0xE9,0xE9,0xE9,0x5E,0xF9,0xFB,0x50, - 0x25,0x06,0x6E,0xB7,0xAD,0x21,0x2C,0x04,0xC6,0x6E,0xB9,0xE5,0x16,0x9F,0xCD,0xED, - 0xF6,0xE9,0x0B,0x05,0xFD,0x22,0x58,0x64,0x5B,0x99,0x40,0xBE,0xE4,0x56,0x4B,0xC5, - 0x6C,0x64,0xEA,0xB8,0x19,0x74,0xE5,0xC4,0x6B,0x69,0xDC,0xD0,0x89,0x36,0xFF,0x86, - 0x35,0x9B,0xBE,0x16,0xBE,0xDD,0xF0,0xA5,0x68,0xD5,0x63,0x22,0xBB,0xD2,0xAC,0x29, - 0x73,0xEC,0xBE,0xC6,0xD3,0x6C,0x3F,0x70,0x58,0xA8,0x6B,0x68,0xA4,0xCD,0xCD,0xD1, - 0xB4,0xAA,0x21,0x92,0x5A,0x28,0x88,0x3D,0x63,0x60,0x42,0x44,0x23,0x5D,0x11,0xD5, - 0x48,0x31,0x61,0xC1,0x34,0x61,0xA8,0x77,0xE6,0x80,0x2F,0x59,0xB2,0x44,0x2C,0x65, - 0xA4,0x04,0x32,0xFF,0xE6,0xCE,0x9D,0xEB,0x93,0xF1,0x14,0x9F,0x3B,0x61,0x23,0xC8, - 0xD3,0xC5,0xD0,0x93,0x2D,0x30,0x76,0xEC,0x4B,0x95,0x1E,0xD7,0x6F,0x5B,0x23,0x2C, - 0xFC,0xC7,0x7C,0xD6,0x32,0x67,0x60,0xCE,0x45,0xF4,0xA7,0xF9,0x8B,0x64,0x2D,0xF5, - 0x3B,0x9F,0xBE,0x22,0xBC,0xFB,0xF9,0x3F,0x59,0xAB,0x83,0x07,0x7F,0xFD,0x47,0x9A, - 0x73,0xD5,0x1D,0x5E,0xFF,0xFB,0x0F,0x9D,0x28,0x16,0x4E,0x54,0x54,0xD3,0xF3,0xB5, - 0x89,0xB4,0xA1,0x29,0x9A,0xED,0x55,0x66,0x60,0xE8,0x39,0x7A,0x3C,0xBE,0x8A,0xFA, - 0x27,0x44,0xD1,0xD0,0xBE,0xBD,0x3C,0x7E,0xBE,0xCB,0x97,0x2F,0x17,0x0B,0x22,0x28, - 0x81,0x2E,0xD9,0x4D,0x37,0xDD,0xE4,0x73,0x75,0xDA,0x7C,0xEA,0x64,0x8D,0x60,0xEE, - 0x31,0x12,0xEE,0x6D,0x81,0x4C,0x2E,0x5F,0x1C,0x76,0x7A,0xE6,0xF5,0x47,0x85,0x6F, - 0xD6,0x7F,0xC1,0x5A,0xE6,0xC4,0x44,0x75,0xA5,0x0F,0xF4,0xAE,0x77,0xF7,0xE4,0x8E, - 0xF1,0xD1,0xAA,0xDA,0x53,0xC2,0x55,0xF7,0x8C,0x65,0x2D,0x73,0xE0,0xAA,0x2F,0x7F, - 0x6D,0x3D,0x25,0xC6,0x25,0x7B,0xED,0x73,0xD8,0xAA,0xB7,0xC6,0xCB,0x2A,0x43,0xE8, - 0xE5,0xBA,0x04,0xB6,0x47,0x3D,0x37,0x47,0xD7,0xD1,0xBC,0xC4,0x46,0xBA,0xE4,0xA2, - 0x01,0x1E,0x3F,0x5F,0x7B,0xFD,0x68,0x08,0x1A,0xD7,0x90,0x2F,0xCD,0x92,0x33,0xF7, - 0x7B,0x7C,0x00,0x4C,0x5C,0xB7,0x25,0x64,0x7C,0x09,0xE8,0x1F,0xFB,0xEA,0xF8,0xF1, - 0x9F,0xEF,0xFD,0xBB,0x6E,0xD1,0xC3,0x6F,0x88,0x96,0xD8,0x92,0x33,0x8D,0xF5,0xF4, - 0xA7,0x57,0x1E,0x64,0x2D,0x03,0x6B,0x37,0xAF,0x64,0x5B,0xD6,0xB4,0xE8,0x5D,0xEE, - 0xAD,0xBB,0x7F,0x62,0x2D,0xCF,0x03,0x21,0x3F,0x53,0x12,0xE9,0x94,0x90,0xC1,0xC7, - 0x0D,0xB1,0xF4,0x60,0x69,0x1C,0xFD,0xB4,0xFB,0x80,0xC0,0x76,0x79,0x0C,0x4C,0x91, - 0x44,0x40,0x54,0x09,0x74,0xDD,0xE0,0xF9,0xC1,0x03,0x64,0xBB,0x34,0x8F,0x4F,0x89, - 0x19,0x42,0xC6,0xD4,0x45,0x25,0xD0,0xDF,0x81,0x7B,0xE4,0xEB,0x35,0xB8,0x26,0x8D, - 0x9A,0xA6,0xFB,0xF7,0x5F,0xBF,0xD0,0xFD,0xF7,0xA5,0xEF,0xC4,0x3E,0xB3,0x94,0xFD, - 0x05,0xBB,0x69,0xF3,0xAE,0x0D,0xA6,0x0B,0xAC,0xA8,0xF4,0x38,0xDB,0xEA,0x5C,0xF6, - 0x1D,0x2D,0x14,0x96,0x9E,0x0A,0xA5,0x6F,0xCF,0xC6,0xB0,0x3D,0xCE,0xB1,0xB3,0x25, - 0x92,0x9E,0x39,0xD5,0x4D,0xBC,0x31,0xB0,0x5D,0x1E,0x03,0x09,0x23,0x28,0x66,0x00, - 0x03,0xA0,0x84,0x2F,0x09,0xDA,0x67,0xC4,0x8C,0x0F,0xD4,0x9E,0x90,0x11,0xB8,0xF0, - 0xA7,0x7A,0xD4,0xE8,0x1F,0x3F,0xFB,0xE0,0x2B,0x3A,0x4B,0x41,0x23,0xD0,0x65,0x24, - 0xFF,0xC4,0x41,0xB6,0x25,0x4F,0xCF,0xF4,0xDE,0x6C,0xCB,0xB3,0x1C,0xAF,0xAA,0xA3, - 0x7F,0x9D,0x8E,0x67,0x2D,0xD7,0x58,0x77,0x36,0x9A,0xF6,0x9C,0x6E,0xA3,0x9A,0x9A, - 0x1A,0x8F,0x8B,0x08,0x6E,0x34,0x0C,0x80,0x2D,0x41,0x63,0x76,0x16,0x82,0xAD,0xAC, - 0xA9,0x59,0x7C,0x42,0xCC,0xC6,0x3C,0x6B,0x25,0x30,0xA4,0xF0,0xD8,0x63,0x8F,0xE9, - 0xFC,0x35,0xA3,0xEB,0xD6,0xAB,0xEF,0x61,0x5B,0x06,0xA4,0x11,0xEF,0xC2,0xD2,0x63, - 0x6C,0x4B,0x9E,0xB4,0xA4,0x74,0xB6,0xE5,0x39,0x10,0xB5,0x7E,0xB1,0x16,0xAE,0x75, - 0x10,0x2D,0xBE,0xB4,0x1B,0xD1,0xAC,0x58,0x9D,0xD2,0x03,0xBD,0xFB,0xBB,0x47,0xB2, - 0x63,0x2C,0x90,0xEE,0xC7,0xFB,0x1D,0x3C,0x61,0x7F,0xDE,0xB9,0x3B,0x80,0x01,0xB8, - 0xEB,0xAE,0xBB,0x44,0x83,0x20,0x07,0x5C,0x6E,0x8C,0x9A,0x60,0x18,0x94,0xED,0xD2, - 0x24,0x9A,0x17,0xB3,0x71,0x7C,0x50,0x09,0x0C,0xF6,0x2F,0x58,0xB0,0xC0,0x2F,0x45, - 0x6C,0xE4,0x82,0xEC,0x0B,0x75,0x52,0x0B,0x8B,0xBE,0xF0,0x17,0x6B,0x3E,0x12,0x10, - 0xFC,0x42,0x3F,0x5A,0x09,0x04,0xCC,0xBC,0x11,0xFC,0xC2,0xF0,0x93,0x21,0x6A,0xDD, - 0x4E,0x0B,0x7E,0x38,0xAD,0xF7,0x4D,0xEB,0x04,0x3C,0xEE,0x2E,0x11,0x0C,0x17,0x3F, - 0x6B,0xE3,0xB1,0x45,0xDC,0x61,0x9F,0xFC,0xD6,0x70,0x2A,0x6A,0xF6,0xDE,0xD7,0x0A, - 0x43,0x00,0x41,0xC3,0x30,0xC8,0x01,0x41,0x23,0x9F,0x01,0xF3,0xA8,0xD9,0x2E,0xCD, - 0xA1,0x69,0x31,0x1B,0x33,0xBB,0x94,0xC6,0x91,0xF1,0xC1,0xFB,0x43,0x1A,0x9E,0x1A, - 0xAE,0xBA,0xE4,0x1A,0xB6,0x65,0xE0,0x8D,0x4F,0xFE,0x41,0x5B,0xF7,0x6C,0x64,0x2D, - 0x79,0x7A,0x76,0xEF,0xC5,0xB6,0x3C,0x07,0x12,0x42,0x30,0x8E,0xEC,0x09,0xD6,0x9D, - 0x8D,0xD2,0x77,0x23,0x8A,0xBC,0x26,0x1E,0x24,0x8B,0xC0,0x30,0x28,0x59,0x68,0x24, - 0x26,0x41,0xD0,0x5A,0x45,0xD3,0x62,0xB6,0x95,0xD9,0x85,0x1A,0x4F,0xFE,0x6E,0x91, - 0xA5,0x5C,0x35,0xE9,0x3A,0x71,0xA8,0xC9,0x08,0x2C,0x32,0x52,0x3F,0x6D,0xE1,0x8D, - 0xFE,0x72,0x49,0x6D,0x3D,0xE5,0x9E,0x95,0xBF,0xF8,0x5D,0x65,0x5B,0x53,0x17,0x3A, - 0x55,0xAB,0xB7,0xF4,0x5E,0x06,0xB1,0x17,0xA5,0x3E,0x34,0x52,0x86,0x5F,0x7D,0xF5, - 0x55,0x4D,0x5A,0x67,0xCD,0x8A,0x19,0x93,0x26,0x94,0x52,0xEF,0x70,0xE7,0x44,0xDA, - 0x5D,0x20,0x01,0x77,0xF9,0xAE,0xD9,0xF7,0xB1,0x96,0x81,0xE6,0x16,0xDB,0x33,0x82, - 0xD2,0x12,0x3D,0xDF,0x5F,0x6E,0x6E,0x69,0xA5,0xEA,0x76,0xE5,0xE0,0x91,0x4D,0x24, - 0x7D,0x69,0x3C,0xDE,0x4E,0xD7,0x99,0xDD,0x9C,0xF1,0xBE,0xC2,0xF9,0x56,0xD6,0xF2, - 0x1E,0x70,0xB9,0x6D,0x05,0xC5,0x50,0x96,0xF9,0x8D,0x37,0xDE,0xD0,0x9C,0xA0,0x35, - 0x29,0x66,0x7C,0x50,0x4A,0x93,0x26,0xF0,0x01,0xE3,0x83,0xF6,0x87,0x60,0xD7,0x2F, - 0x07,0xB6,0x0A,0x48,0xC3,0x44,0xE6,0x17,0xFA,0xBF,0x6C,0xB7,0x22,0xBF,0xBE,0x66, - 0xBE,0x0E,0x16,0x5A,0x2D,0xDE,0x08,0x7E,0xB5,0xB5,0x34,0x53,0x59,0x5B,0x28,0x6B, - 0x39,0x88,0xA4,0x2F,0x8D,0x87,0xA9,0x8F,0xCD,0xC0,0xFB,0x86,0xB6,0xB5,0xB0,0x96, - 0x77,0x41,0x50,0x0C,0xC3,0x56,0x4A,0x60,0xE9,0xA2,0x4F,0x3E,0xF9,0x44,0x53,0x82, - 0xD6,0x9C,0x98,0x91,0x6A,0x67,0x6B,0x8D,0x27,0x24,0x84,0xF8,0x7A,0x8D,0xAE,0xC5, - 0xEF,0x3F,0x2B,0x4C,0xB9,0x7D,0xA8,0x70,0xEF,0xD3,0xFF,0x27,0x26,0x81,0x20,0x85, - 0x13,0x59,0x5C,0xF3,0x9F,0xBE,0x59,0x38,0x71,0xF2,0x88,0xCD,0x0B,0x04,0x49,0x25, - 0x8F,0xDE,0xF5,0x8C,0x99,0xCB,0xAD,0x44,0x7C,0x6C,0x12,0xDB,0xF2,0x1C,0xBA,0x90, - 0x50,0x4A,0x08,0x72,0x6C,0xF1,0x37,0xB5,0xE0,0x7D,0x5B,0x83,0x9C,0xB4,0xFA,0x6E, - 0x00,0xF9,0x0A,0xB6,0x12,0x4B,0xB0,0xF0,0x1D,0xCA,0x36,0xB3,0x66,0xA7,0xA3,0x29, - 0x31,0x63,0x2C,0xD9,0x56,0xCE,0x2C,0xEE,0x94,0xBE,0x5C,0x07,0x19,0x56,0xF8,0xCA, - 0xBB,0xC7,0x08,0xCB,0xBE,0x5D,0x22,0xF6,0x79,0x2D,0xD9,0x79,0xE0,0x67,0xBA,0x75, - 0xE1,0xAF,0x68,0xE5,0x8F,0x9F,0xDB,0xBC,0x40,0xAE,0x9B,0xF6,0x7F,0xBA,0xFF,0x2E, - 0xFE,0x8E,0x92,0xE3,0x53,0xD9,0x1E,0x79,0x12,0xBC,0x20,0xE6,0xF0,0xB0,0x30,0x4A, - 0x08,0x6E,0x63,0x2D,0xF7,0x82,0xF7,0xD5,0x85,0x84,0xB1,0x56,0xE7,0x80,0xC4,0x12, - 0xE4,0xF8,0x2B,0x81,0x6C,0x44,0xAD,0x0C,0x59,0x69,0x46,0xCC,0xC6,0xD2,0xA9,0x4A, - 0xF8,0xFA,0x92,0x30,0x0F,0xFE,0xED,0x76,0x01,0x56,0xB8,0xBA,0xAE,0x92,0xED,0x91, - 0x07,0xC3,0x4E,0x7F,0x79,0x63,0xA1,0x5D,0x41,0x23,0x3F,0x3B,0x38,0xD8,0xB6,0xD5, - 0x4A,0x88,0x4D,0x64,0x5B,0x9E,0x23,0xB9,0x5B,0x34,0x0D,0x0F,0x3F,0xC7,0x5A,0xEE, - 0x65,0x40,0xC8,0x59,0x8A,0xEB,0xEA,0x5A,0x46,0x99,0x3B,0xC0,0x64,0x1D,0x2C,0x50, - 0x27,0x07,0x46,0x5A,0x6C,0x0D,0x9D,0x7A,0x13,0xCD,0x88,0xD9,0xD6,0x10,0x14,0x3E, - 0x48,0x5F,0x9A,0xFD,0x24,0x05,0x05,0x07,0x6E,0x7D,0x74,0x86,0xB0,0x45,0x26,0x47, - 0x1A,0x96,0x73,0xD8,0x80,0xD1,0xB2,0x79,0xD8,0x10,0xF4,0xBE,0x7C,0xDB,0x69,0x84, - 0x65,0x95,0x76,0xCA,0x23,0x29,0x8C,0x31,0x1F,0x3E,0x7E,0x50,0xC0,0xCD,0xE2,0x93, - 0x6F,0xDE,0x13,0x70,0x7E,0x6C,0xB7,0x53,0xF4,0xCC,0x48,0xD7,0x4D,0x8D,0x6C,0x64, - 0x2D,0xF7,0x72,0x75,0xD7,0xB3,0x34,0xA0,0x8F,0x36,0xBA,0x54,0x58,0x69,0x12,0xCB, - 0xC8,0xCA,0x81,0xF8,0x8E,0x16,0xFA,0xCF,0x9A,0xF8,0xA0,0x6C,0x4D,0x49,0x43,0x61, - 0x81,0xFB,0xEE,0xBB,0xCF,0x27,0x85,0x0C,0xD1,0xA0,0x3F,0x6C,0x29,0x3A,0xF4,0x77, - 0x11,0x99,0x46,0x40,0x8B,0xED,0x12,0xA7,0x3F,0xC2,0x72,0xC3,0x32,0x1B,0xC1,0xD0, - 0xD2,0xA7,0x8B,0xD7,0x28,0xFE,0xED,0xA3,0x6F,0xE8,0xAD,0x78,0x01,0xA5,0x25,0x65, - 0xD0,0x8A,0x7F,0x6D,0x30,0x7B,0x2D,0x6E,0x0E,0xAF,0x7F,0xF2,0x82,0xE8,0xCE,0x4B, - 0xC1,0x0D,0x05,0xD3,0x2B,0xA5,0xB3,0xB1,0x1C,0x21,0x77,0xE7,0x5E,0xE1,0x8E,0xB2, - 0x14,0x31,0xD1,0xC3,0x5D,0xA0,0xBF,0xFC,0x65,0x5A,0x11,0x4D,0x1C,0x39,0x4C,0x53, - 0xDF,0xFD,0x0B,0x2F,0xBC,0xA0,0x38,0xCA,0x82,0xFE,0x75,0x67,0x16,0x08,0x74,0x9B, - 0x65,0xDE,0x73,0xA4,0x4E,0xC0,0xE3,0x83,0xD5,0x85,0xA6,0xC7,0xF6,0x43,0x35,0xE2, - 0x3E,0x3C,0xD8,0x61,0x56,0xD8,0xEA,0x27,0x1B,0x23,0xD7,0xBE,0x08,0xA2,0xD3,0xBF, - 0x7D,0xE6,0xFF,0xAC,0x84,0x0C,0x2B,0x8C,0x0A,0x22,0x52,0x21,0x03,0x4C,0xAE,0xC0, - 0x6C,0x29,0x29,0x85,0x25,0x47,0x09,0xD6,0x93,0x35,0x5D,0xE2,0x5F,0x1F,0xBF,0x20, - 0xDC,0xF5,0xC4,0x6C,0x2B,0x21,0x03,0xEC,0xBB,0xEB,0x89,0xEB,0xC5,0x9B,0x0F,0xDB, - 0xE5,0x10,0x13,0x86,0x0D,0xD6,0xFD,0x2D,0xA1,0x82,0xB5,0xDC,0xC3,0xFC,0xD8,0x5A, - 0xEA,0x95,0x9E,0xC6,0x5A,0xDA,0x01,0x01,0x58,0x25,0x3A,0xBB,0xFF,0xEC,0xF4,0x5D, - 0xE4,0xC8,0xC9,0x06,0xE1,0xDB,0xAD,0xE5,0xB4,0x69,0x5F,0x0D,0xD5,0x9E,0x51,0x3F, - 0x7C,0xD0,0xBF,0x67,0x8C,0xDE,0x32,0x05,0x51,0xAF,0xEE,0x51,0xA4,0x6B,0x6F,0xA6, - 0xDD,0xBF,0x6C,0xA5,0x2E,0x3A,0xF9,0xC4,0x00,0xAC,0xF5,0xD4,0xA7,0x4F,0x1F,0xD6, - 0x32,0x70,0xE8,0xC4,0x19,0x6A,0x39,0x6F,0x5E,0x7E,0x46,0x8E,0xE8,0x2E,0x21,0xD4, - 0x3B,0x3D,0x8A,0x86,0xF4,0xB1,0xCE,0x01,0xF6,0x06,0xFF,0x59,0xFE,0x86,0xDE,0x0A, - 0xFE,0x83,0xB5,0x0C,0x60,0x58,0x09,0xD1,0x68,0xD6,0x94,0x05,0x91,0x6E,0x04,0xC8, - 0x8C,0xC8,0x59,0x58,0x00,0xF7,0xF8,0x9A,0xDF,0x29,0x07,0x66,0x8C,0xAF,0xC3,0x0C, - 0xAB,0x97,0x3F,0xF8,0xAB,0x78,0x63,0xB0,0x07,0xD2,0x3F,0xFF,0xF5,0xE7,0x8F,0xC4, - 0xF4,0x51,0xB6,0x4B,0x35,0xBB,0xF2,0x8F,0x09,0x2F,0x14,0x05,0x89,0xD3,0x18,0x5D, - 0x65,0x58,0xD8,0x59,0xFA,0x67,0xC6,0x69,0x9A,0x30,0x58,0x9B,0xC1,0x4E,0x5B,0xB3, - 0xF7,0x90,0x95,0xD8,0x59,0xC9,0x4C,0x0E,0xFF,0xD2,0xA2,0x8A,0xB3,0xC2,0x7B,0xDF, - 0x14,0xD2,0xE6,0xFD,0xD5,0x6C,0x8F,0xB6,0x09,0x0B,0x09,0xA2,0x11,0xFD,0xE2,0x68, - 0xF8,0x05,0xB1,0x34,0x73,0xBC,0xF7,0xC6,0xA6,0xD1,0x27,0x45,0xBF,0xD7,0xC8,0x5D, - 0xB3,0xEF,0xA7,0xDF,0xDC,0xF0,0x80,0xDD,0xDF,0x0F,0x8B,0x0E,0x91,0x4A,0xDD,0x6D, - 0x58,0x6C,0x58,0x6E,0xD6,0x14,0xB1,0x27,0xE6,0xAE,0xD1,0xDD,0x28,0x35,0xB1,0x3B, - 0xE5,0x9F,0x38,0xC4,0xF6,0x98,0x33,0x71,0xE4,0x54,0xD1,0x6B,0xB0,0x7C,0x1E,0x37, - 0x81,0x77,0x9F,0xFD,0xCC,0xA9,0x9C,0xEE,0xDC,0xBD,0x87,0x84,0xFB,0x4F,0x76,0x13, - 0xA7,0x31,0x3A,0x4B,0xCF,0xE0,0x66,0x5A,0x92,0x56,0x41,0x97,0x8E,0x18,0xEC,0xB5, - 0xEF,0xCA,0x19,0x6C,0x95,0x1F,0xEA,0xAC,0xF2,0xBD,0x0E,0xFD,0xC2,0x4D,0xFB,0xAA, - 0x84,0xE7,0x96,0xE6,0xAB,0xB2,0x8C,0x5A,0x04,0xD6,0xFA,0x9E,0xAB,0xB3,0xE9,0xF2, - 0x51,0x29,0x5E,0xF9,0xA0,0x61,0x9D,0x77,0x1D,0xDA,0x26,0xD6,0xF0,0x9A,0x36,0x7E, - 0xA6,0xEA,0xDF,0xF9,0xC4,0xCB,0x0F,0x08,0xD2,0xA2,0x03,0x10,0xDE,0xDF,0x1F,0x79, - 0xD3,0xEC,0xF5,0xF6,0xC4,0xAC,0x04,0xFA,0xE1,0xE8,0x1F,0x1B,0x2B,0x7F,0xC2,0xFD, - 0xFE,0x60,0xC5,0x9B,0xE2,0x73,0x46,0xD0,0x87,0x7E,0xE3,0xC9,0x8F,0x9D,0xFA,0x8C, - 0x36,0xEC,0xDC,0x27,0xFC,0xA5,0x2A,0x4E,0x9C,0xC6,0xE8,0x28,0xB0,0xC8,0x2F,0xA4, - 0x54,0xD3,0x65,0xC3,0x7D,0x63,0x3E,0xBA,0xAD,0xFE,0x33,0x86,0x51,0xBD,0x3D,0xFA, - 0xA2,0xFA,0x97,0x7D,0xBD,0xA9,0x4C,0x78,0xF5,0x0B,0xFB,0xAE,0x9A,0x2F,0x30,0x6D, - 0x64,0x0A,0x3D,0x3C,0x47,0xBB,0xF3,0x9E,0x11,0xA8,0x42,0xFF,0xD6,0x08,0x02,0x66, - 0x1B,0x3F,0x3A,0x68,0x76,0xBE,0x48,0x2E,0xB9,0xF1,0xF7,0x97,0xB3,0x96,0x7D,0xF0, - 0x1E,0x37,0x5D,0x75,0x3B,0xFD,0xF6,0xE6,0x47,0xAC,0xFE,0x6E,0x39,0x41,0x23,0x31, - 0x05,0xE3,0xD9,0xAC,0xE9,0x10,0x28,0x2C,0x80,0xF9,0xC8,0x98,0xC6,0xA8,0x26,0x28, - 0x86,0x60,0xD7,0x82,0xB8,0x1A,0xBA,0xB4,0x6B,0x2B,0x8D,0x1B,0xE2,0xF9,0x92,0x41, - 0xEE,0x02,0x33,0xFA,0xDE,0x7F,0xFF,0x7D,0xD6,0x32,0x07,0x73,0x07,0x1E,0x79,0xC4, - 0xFA,0xB3,0xF6,0x24,0xAA,0x7E,0x19,0x2C,0xF2,0xD3,0x4B,0xF2,0x58,0xCB,0x1A,0xB8, - 0xB2,0xFD,0xB3,0x0C,0xE3,0x81,0x83,0x7A,0x75,0x15,0x7F,0x82,0x93,0x95,0x4D,0xA6, - 0xFE,0xB4,0xDA,0xBE,0xAE,0xB7,0x98,0x31,0x2E,0x95,0xEE,0x9F,0xAD,0xDD,0x32,0xB6, - 0xB3,0x7E,0x3B,0x51,0x90,0x06,0xCF,0x60,0x4D,0x67,0x4C,0x9E,0x6D,0x3A,0x5F,0xA4, - 0x82,0x22,0x83,0x4C,0x0D,0xB0,0xEC,0x28,0xEE,0x67,0x2B,0x5A,0x6D,0x59,0x19,0x54, - 0xCE,0x1B,0x70,0x04,0x14,0x16,0xC0,0x7C,0xE4,0x72,0xFD,0xD7,0xFF,0xF9,0x99,0x18, - 0x51,0xD4,0x85,0xE7,0xC3,0xC4,0x7C,0xEB,0x98,0xA0,0x76,0xCA,0x09,0x69,0x12,0x5D, - 0xEA,0xE9,0x31,0xE7,0xE8,0xC2,0x90,0xB3,0x94,0x95,0x99,0x41,0x99,0x69,0xA9,0x9A, - 0xFD,0x3E,0x94,0xB0,0xD5,0x7F,0x1E,0x31,0x62,0x04,0xCD,0x9C,0xA9,0xDE,0x23,0x73, - 0x15,0xBB,0xBF,0x08,0x81,0xAE,0x07,0xFF,0xB9,0x57,0x56,0x88,0x71,0x31,0x61,0x74, - 0xC7,0x55,0x3D,0x1D,0x72,0x5B,0x57,0xFE,0xB0,0x5B,0xF8,0xFE,0x87,0xF5,0x74,0xE6, - 0x7C,0x37,0x6A,0x67,0xC1,0xF4,0x33,0xED,0x86,0x0A,0x15,0x31,0x31,0x31,0x94,0x90, - 0xA0,0x5C,0x3F,0x4A,0x7A,0xA3,0x30,0x22,0xBD,0x91,0x94,0xD7,0x34,0x53,0x45,0x8D, - 0x61,0xF2,0x01,0x6E,0x24,0x3B,0xF2,0x6A,0xA9,0xE1,0x9C,0x72,0xAA,0xE1,0x93,0xB7, - 0xF7,0xA3,0xF1,0x83,0x12,0x35,0x79,0x01,0x59,0x56,0xDC,0x1C,0x7B,0xD1,0x25,0xF4, - 0xF2,0xE3,0x4B,0x4C,0xE7,0x6A,0x4B,0xCC,0x38,0x28,0x55,0xDF,0xF7,0xBD,0xF1,0xCA, - 0x5F,0x8B,0xA2,0x54,0x33,0xE4,0x84,0xBE,0x3A,0x22,0xDA,0xC6,0x1B,0x88,0x3B,0x2B, - 0x7B,0xE6,0x1F,0x2F,0x14,0xAA,0xEA,0x1B,0xA8,0xAD,0xF9,0x1C,0x85,0xB6,0x9F,0xA7, - 0xB6,0xA0,0x10,0xD2,0x85,0x77,0xA1,0x6E,0x51,0x91,0x94,0x16,0xDF,0x8D,0xE2,0xE3, - 0xE3,0x35,0xF9,0x1D,0xA8,0x65,0xE9,0xD2,0xA5,0xC2,0x91,0x23,0x47,0x58,0xCB,0x1C, - 0xCC,0x91,0xF6,0xD6,0x02,0x75,0x76,0x7F,0xC9,0xFC,0x17,0x77,0x09,0x47,0x4B,0xAC, - 0x93,0x02,0x26,0x0D,0x4D,0xA2,0xC7,0x6F,0xBD,0xC0,0xE1,0x93,0x54,0xEA,0x67,0x78, - 0xCA,0x2D,0xC1,0xB0,0xD8,0x7F,0x7F,0x28,0x11,0x85,0x6D,0x09,0xA2,0xDD,0x6F,0x3C, - 0xA4,0xCD,0xAC,0x32,0x39,0x37,0xFA,0x83,0x45,0x5F,0x9B,0x22,0xCD,0xF6,0x2C,0xB3, - 0x9A,0xC8,0xB9,0x1C,0x18,0x0A,0x43,0x10,0xCC,0x32,0xE0,0xC6,0x51,0x06,0xD9,0x8B, - 0x6F,0xBE,0xF9,0xA6,0x6C,0xD2,0x93,0x37,0x57,0xCA,0xB0,0x39,0xCE,0xFC,0xDD,0xB6, - 0x0A,0xB7,0x0A,0x19,0xAB,0x33,0x2A,0x05,0x0C,0x6C,0xE5,0xBF,0xBA,0x02,0x86,0xA6, - 0xFE,0x76,0xF7,0x00,0xDD,0x7D,0xD7,0x59,0xCF,0xED,0xC5,0xDF,0x86,0x2E,0x04,0x6B, - 0x6A,0x0A,0xD4,0xFF,0xB2,0xCC,0x0C,0xFB,0xEF,0xAA,0x8E,0xFE,0x59,0x73,0x4B,0x47, - 0xB4,0xDB,0x9D,0xC0,0x1A,0x73,0x21,0x3B,0x06,0x8A,0x1A,0x8C,0x19,0x33,0x86,0xB5, - 0xCC,0xC1,0xA4,0x21,0x6F,0x4D,0xC6,0xB0,0x29,0x66,0x0C,0x41,0x59,0x02,0x6B,0xE6, - 0x8C,0x90,0x51,0x35,0x64,0xC7,0x8E,0x1D,0xAC,0x65,0x0E,0xEE,0x5E,0x9E,0x2E,0x8D, - 0x8B,0x61,0xA9,0x71,0x03,0xAD,0x5D,0xF8,0x2D,0xFB,0xAD,0x2D,0xB6,0x56,0xB0,0xAC, - 0xFD,0x85,0x7A,0xDA,0xB0,0xC8,0xD8,0xAE,0xB1,0x93,0xE3,0xCD,0xF1,0x2E,0x28,0xDD, - 0x0B,0xEF,0x52,0x0E,0x5B,0x85,0x28,0xDD,0x89,0xA2,0x98,0x61,0x95,0xE5,0x92,0x41, - 0xE4,0x2C,0x9C,0x1A,0x30,0x89,0x42,0x29,0xF7,0xDA,0xD6,0xBC,0x51,0x77,0x32,0x75, - 0xA4,0xF5,0x2C,0x22,0x2D,0x8F,0x97,0xC3,0x42,0xF6,0xCD,0xEA,0xCF,0x5A,0x06,0x90, - 0x1E,0xAA,0x26,0x53,0x2B,0x5C,0xC5,0x14,0x49,0x8E,0x7B,0x41,0xD1,0x7C,0x39,0x50, - 0x2D,0xE7,0xB3,0xCF,0x3E,0xF3,0xB8,0x75,0x56,0x14,0xF3,0x8A,0x8D,0xA5,0x6C,0xAB, - 0x03,0x44,0x80,0x2F,0xCC,0xEA,0xEA,0xB0,0x05,0x45,0xCA,0xA6,0xD2,0xB2,0x9A,0x70, - 0x4F,0xBC,0x55,0x68,0x00,0xC1,0x2E,0x04,0xCC,0xA4,0xD8,0x0A,0x90,0x69,0x81,0x27, - 0xE6,0xFF,0x9D,0x6D,0x19,0xC0,0xD4,0x49,0xA4,0x89,0xEE,0xC9,0x93,0xF7,0x72,0x8C, - 0xC4,0x77,0xF3,0xFC,0x8C,0x29,0x8E,0x39,0x98,0x9E,0x8B,0x84,0x11,0x39,0xF6,0xEF, - 0xDF,0x2F,0x0E,0x65,0xB1,0xA6,0x47,0x90,0x15,0xF3,0xC1,0x13,0xF5,0xB2,0x7D,0xE5, - 0x2B,0xC7,0xD8,0x9E,0x3F,0xAB,0x84,0xD2,0x0A,0x14,0x70,0x4B,0xAE,0xB8,0xE2,0x0A, - 0xAF,0xF6,0xCF,0x32,0x53,0xBA,0xB0,0xAD,0x0E,0x10,0xB1,0x67,0x9B,0x9A,0x03,0x01, - 0xAF,0x7B,0xE7,0x3C,0xCC,0x5A,0x06,0x20,0xE8,0xFF,0xFD,0xF8,0x99,0xFA,0x24,0x01, - 0x8E,0xD7,0x40,0xE6,0x97,0x52,0xB9,0xA1,0xD5,0xAB,0x57,0xB3,0x2D,0xCF,0x20,0x2B, - 0xE6,0x2D,0x07,0x6A,0xD8,0x56,0x07,0xE8,0x6F,0xF6,0xC9,0x88,0x76,0xF8,0xFA,0x41, - 0xE7,0x5F,0x29,0xE8,0x35,0x65,0xCA,0x14,0xB6,0xE5,0x3D,0x52,0xE2,0xAC,0x8B,0xCF, - 0x35,0x36,0x69,0xDB,0x3A,0x63,0x52,0x06,0xD2,0x41,0x2D,0xD1,0xEC,0x1D,0x28,0xC0, - 0xC1,0x9C,0x02,0x39,0x10,0x0C,0x43,0x0D,0x78,0xD6,0x74,0x3B,0xB2,0x62,0x5E,0xBF, - 0xAB,0x8A,0x6D,0x75,0x20,0xD7,0xDF,0x54,0x83,0xD2,0xE2,0x5C,0x19,0x19,0x19,0x9D, - 0x52,0x6C,0x00,0x29,0x9D,0xBE,0x08,0xF2,0xBA,0x91,0x95,0x85,0xC9,0x10,0x1C,0x6D, - 0x83,0xB9,0xF7,0x9D,0x11,0x0C,0xB3,0x12,0x33,0x26,0x52,0x18,0x13,0x2F,0x8C,0xA0, - 0x9F,0xE9,0x4C,0x72,0x85,0x2D,0xAB,0xAC,0x14,0x2C,0xF0,0x34,0x35,0x0E,0xCC,0xF0, - 0xD2,0x1A,0x48,0xAF,0x5C,0xF6,0xD2,0x77,0x62,0x02,0x89,0x3B,0x40,0x7E,0x37,0xA2, - 0xE3,0xC6,0x08,0x39,0xC7,0x7D,0xD8,0xB2,0xCE,0x9E,0x9A,0x26,0x69,0x25,0xE6,0xF5, - 0xBB,0xAC,0x87,0x3C,0xC6,0x0D,0x72,0x6E,0x55,0x3F,0x25,0xAB,0x8C,0x20,0x41,0x67, - 0x55,0xD7,0x6C,0xF5,0xD1,0x49,0x22,0x46,0x30,0x9B,0x09,0x99,0x60,0x53,0x2C,0xD6, - 0x9F,0xB2,0x24,0x2C,0x54,0xB9,0x76,0x16,0xC4,0x8B,0x32,0x46,0x98,0xA8,0x81,0xC4, - 0x13,0x3C,0x50,0x60,0x10,0xD3,0x2F,0xD5,0x54,0x09,0xE5,0xD8,0x07,0x45,0x0A,0x94, - 0xAC,0xB3,0xAD,0xA5,0x64,0x5D,0xC1,0x4A,0xCC,0xC7,0x4A,0xCF,0xB2,0xAD,0x0E,0x30, - 0x7D,0xD0,0x51,0xD0,0x37,0x50,0xB2,0xCA,0x4A,0xF5,0x94,0xBC,0x81,0x65,0x9F,0x19, - 0x5E,0x47,0x67,0xCD,0x79,0x76,0x85,0x2C,0x3B,0xAB,0x55,0x28,0x15,0xF3,0xC3,0xD4, - 0x4C,0x88,0xD7,0xB2,0x8C,0x11,0x82,0x6A,0x98,0x47,0x0D,0x81,0x43,0xD4,0xCE,0x16, - 0x2A,0xE0,0x74,0xA0,0x64,0x9D,0x51,0xD5,0x13,0x79,0x17,0xAC,0xE9,0x36,0xAC,0xC4, - 0xBC,0xF7,0xA8,0x75,0xA1,0x80,0x21,0xBD,0xBB,0xB1,0x2D,0xF5,0x28,0xF5,0x0D,0x90, - 0x20,0xD2,0x99,0x15,0x36,0x6F,0xB8,0x34,0x5D,0xCC,0x29,0x37,0x72,0xCB,0xB4,0x4C, - 0xB6,0xE5,0xDB,0xA8,0xF9,0x40,0x91,0xEF,0x2D,0x9D,0x63,0x2D,0x07,0xE6,0x51,0x43, - 0xD4,0xB7,0x2D,0x9C,0x29,0x96,0x25,0x92,0x3E,0x60,0xBD,0xA5,0xCB,0xC9,0x72,0x6C, - 0x63,0xCB,0x3A,0x7B,0xA2,0xEF,0x6C,0x26,0x66,0x0C,0xD1,0x58,0x8E,0xBB,0x22,0x60, - 0x94,0x9A,0x10,0xE1,0x90,0xF8,0x60,0x95,0x95,0x6A,0x5F,0x7B,0x2A,0x6D,0x53,0x2D, - 0x3D,0x52,0x22,0x75,0xFF,0x7D,0x7A,0x94,0xEE,0x85,0x7B,0x07,0xD2,0xEB,0xBF,0xBF, - 0x88,0x6E,0x9A,0xE2,0x9D,0x24,0x78,0x77,0x53,0x73,0xDA,0x3C,0x48,0x69,0x4F,0x61, - 0xB0,0xC8,0xD2,0x89,0x1B,0x46,0x90,0x32,0xAA,0xB6,0x24,0x2F,0xAC,0x37,0xAA,0x96, - 0x70,0xD4,0xA3,0xE4,0x85,0x7A,0xC2,0x3A,0x9B,0x89,0x59,0xCE,0x2A,0x0F,0xF6,0x23, - 0xAB,0x2C,0x05,0xAE,0xB5,0x33,0x43,0x6D,0x5A,0xA1,0x59,0x52,0x89,0xC4,0x1E,0x98, - 0xB4,0xB1,0xC8,0x62,0x5D,0x2A,0xCC,0x6F,0x5E,0xFC,0xD8,0x7B,0x84,0x45,0xDD,0xBF, - 0x7D,0x7B,0xAB,0x0E,0xB3,0xA4,0xD4,0x88,0xBA,0xBB,0x17,0x56,0xC9,0xF0,0x27,0x90, - 0xE6,0xA9,0x34,0xEE,0xEC,0x6E,0xEB,0x6C,0x26,0xE6,0x8A,0x5A,0xEB,0x0B,0xA4,0x57, - 0x77,0xC7,0x4A,0xC0,0x68,0xD9,0x2A,0x07,0x2A,0x8F,0xBE,0x78,0xAF,0x59,0x19,0x22, - 0x08,0xF9,0xF5,0x27,0x3F,0xA2,0x71,0x43,0x27,0x9A,0x6E,0x66,0x98,0x60,0x01,0x51, - 0x63,0xDE,0x34,0x16,0x77,0x97,0x1B,0x02,0xC3,0x74,0xCA,0x27,0xF4,0xCF,0x73,0x1C, - 0x03,0xF3,0x9A,0xE5,0x80,0x75,0x76,0x27,0x66,0x62,0x2E,0x3E,0x65,0x5D,0xCC,0x1C, - 0x13,0x2B,0x1C,0x41,0xA9,0xD2,0xA6,0x96,0xAC,0xB2,0x16,0x41,0x14,0xD9,0x38,0x4C, - 0xE4,0x8E,0xE0,0x53,0x34,0x13,0x23,0xAA,0x88,0x58,0x16,0xF3,0x5B,0x78,0xD7,0x33, - 0xA6,0xB2,0x41,0x96,0xA0,0x00,0xC2,0xB3,0x0F,0xBE,0xA2,0x5B,0xB7,0x64,0x97,0xEE, - 0xE7,0x4F,0x8F,0x9A,0x3D,0x50,0xAC,0xC0,0x1B,0xEB,0x3D,0xFB,0x1B,0xC8,0x72,0x54, - 0xB2,0xCE,0x28,0x6E,0xC0,0x36,0x5D,0xC6,0x4C,0xCC,0x72,0x29,0x9C,0x99,0xC9,0x8E, - 0x59,0x66,0xA5,0x49,0xDA,0xDC,0x2A,0x1B,0x40,0x49,0x20,0x08,0x16,0xC1,0xA8,0x67, - 0x5E,0x7F,0x54,0xB8,0xF3,0x8F,0xD7,0x89,0xC1,0x25,0xAC,0x35,0x65,0x1C,0x26,0x32, - 0x06,0x9F,0x50,0x3C,0x5F,0x69,0x65,0x0B,0xCB,0x12,0xBE,0x96,0xC0,0xB2,0xE2,0x77, - 0x59,0x96,0x03,0xBA,0xE9,0xCA,0xDB,0xCD,0x2A,0x96,0x70,0xBC,0x83,0x92,0x75,0xB6, - 0xB5,0x1C,0x93,0xA3,0x98,0x89,0xD9,0x72,0x96,0x14,0x86,0x6D,0x10,0x30,0x62,0x4D, - 0xBB,0x6C,0xDF,0xBE,0x5D,0x90,0x9B,0x19,0x85,0x88,0x5E,0xA0,0x5B,0x65,0x58,0x5E, - 0x2C,0x0C,0x87,0xDA,0x5E,0x10,0x2C,0x82,0x51,0x98,0xD2,0xB8,0xBF,0x40,0xF9,0xCB, - 0x44,0xE5,0x4C,0x44,0x9F,0x51,0x42,0xC8,0x32,0x8A,0xDC,0x62,0x67,0x3E,0x73,0x78, - 0x58,0x04,0xFD,0xFD,0xDD,0x3F,0xB1,0x96,0x01,0x14,0xF3,0x5B,0x30,0xF7,0x09,0x2E, - 0xE4,0x4E,0x40,0x69,0x0E,0x02,0x56,0xC3,0x70,0xD7,0x04,0x0C,0x93,0x98,0xE5,0x26, - 0x1B,0xC8,0x4D,0x4A,0xB0,0x85,0xD2,0x5D,0x66,0xE0,0xC0,0x81,0x6C,0x2B,0x70,0xD9, - 0xBA,0xFB,0x27,0xD9,0x02,0xF4,0x6A,0x80,0x15,0x5E,0xF0,0xDC,0x1D,0xB4,0xE8,0x9D, - 0x3F,0x99,0xBE,0xA3,0xEA,0x3A,0xEB,0x94,0x5B,0x29,0xEB,0x7F,0x5E,0x6D,0x55,0x46, - 0x17,0xFD,0x61,0x4E,0xE7,0xA1,0xB4,0xBC,0x0D,0x66,0x54,0xB9,0x03,0x93,0x98,0x2B, - 0x6A,0xAD,0x17,0xEE,0x76,0xC4,0xC5,0x46,0xE9,0x14,0xA5,0x69,0x8E,0x5A,0x14,0xF3, - 0xD6,0xED,0xBB,0x04,0x4F,0x0C,0xDC,0x2B,0x61,0xEC,0xC3,0x2A,0x81,0x52,0x3D,0x28, - 0x71,0x8B,0x07,0xB6,0xE5,0xF8,0x72,0xED,0xC7,0x62,0x42,0x07,0xB6,0x1B,0xCE,0x5A, - 0xAF,0x22,0x29,0xE5,0xBF,0xAB,0x3E,0x60,0x5B,0x06,0xE0,0x5E,0x2B,0xF5,0x93,0x39, - 0xDE,0x41,0x69,0x98,0xCA,0x5D,0x62,0x36,0x7D,0xB9,0x5F,0x6E,0x28,0x11,0xDE,0xFC, - 0xEA,0x38,0x6B,0x19,0xB8,0xE6,0x92,0xEE,0x34,0x7F,0x56,0x2F,0x55,0x17,0x80,0x52, - 0x95,0x42,0x2D,0xAE,0x15,0x55,0x55,0x55,0x25,0x1C,0xCE,0x3F,0x42,0x09,0x89,0x49, - 0xD4,0xAF,0x6F,0x6F,0xAF,0x9D,0xDB,0x17,0x6B,0x3E,0x12,0xD6,0x6D,0xF9,0x46,0xDC, - 0xEE,0xDB,0xF3,0x42,0x8A,0x8E,0x8C,0x11,0xC5,0x3B,0x7C,0xC0,0x18,0xAB,0x73,0x40, - 0xDE,0xF4,0xBB,0x9F,0xBF,0x2A,0xBA,0xE2,0x96,0xC0,0xC2,0xDA,0x4B,0xFE,0x90,0x82, - 0x21,0x27,0x44,0xAA,0x59,0x93,0xD3,0x89,0xFC,0xE5,0x2F,0x7F,0x91,0xED,0x8A,0x62, - 0xD9,0x1B,0xAC,0x07,0xCD,0x9A,0x4E,0x61,0xB2,0xCC,0xB5,0x0D,0xAD,0x6C,0xAB,0x83, - 0x94,0x38,0xF5,0xD5,0x2A,0x94,0x5C,0xEC,0xCE,0x4C,0xDD,0x54,0xA2,0xB8,0xB4,0x92, - 0x76,0xE9,0xBB,0x29,0x0D,0x8D,0x9E,0x59,0x8A,0x54,0x09,0x4C,0x94,0x40,0x71,0x79, - 0x3C,0xD0,0x77,0xC5,0x4C,0x28,0x39,0x21,0x03,0x54,0xD4,0x44,0x41,0x3E,0x0C,0x21, - 0x59,0x8E,0xFF,0x3E,0xFF,0x8E,0x79,0x5F,0xD8,0x1E,0x18,0x43,0xE6,0x68,0x03,0x5B, - 0xC5,0x0B,0x5C,0xA5,0xC3,0xCD,0xAE,0xB1,0x0E,0xA8,0xC4,0xC5,0x84,0xB2,0x2D,0xDB, - 0xA0,0x03,0x8F,0x8E,0xBC,0x1C,0x17,0x5F,0x7C,0xB1,0xE6,0x2C,0xC2,0xB9,0xB3,0x67, - 0x68,0xED,0xBE,0x76,0x6A,0x69,0xB6,0xCE,0x43,0xD7,0x1A,0x10,0x3B,0x96,0xA7,0xC1, - 0xD8,0xB0,0x91,0xD6,0xF3,0xEA,0x67,0x7E,0xC1,0xF2,0x3B,0xB2,0x9A,0x06,0xC7,0xB3, - 0x28,0x19,0x37,0xA5,0x51,0x20,0x47,0xE8,0xB0,0xCC,0x32,0x53,0x03,0x53,0xE2,0xAD, - 0x27,0xF2,0xCB,0xA1,0x74,0x57,0xB1,0x5C,0xF4,0x4D,0x2B,0x54,0x37,0xE8,0xE8,0x5C, - 0x8B,0x40,0x7B,0x0A,0x89,0x4E,0x96,0x94,0x7A,0xAD,0xDF,0xEC,0x2C,0xE8,0xEB,0xCA, - 0x59,0x57,0x7B,0x27,0x8E,0x1B,0xC0,0x83,0xB7,0x3D,0xC1,0x5A,0x1C,0x2D,0x90,0x93, - 0x93,0x23,0x9B,0xAF,0x0D,0xD7,0x1B,0xA3,0x41,0xAC,0xE9,0x14,0x26,0x31,0xA3,0x80, - 0xBC,0x25,0xF1,0x92,0x09,0x09,0xB6,0x50,0x12,0xB3,0x16,0x03,0x5F,0x79,0xF9,0x47, - 0x85,0x2D,0x87,0x0D,0x37,0xAE,0xB5,0x7B,0x5A,0xA9,0xB0,0xC8,0xBA,0xD6,0x99,0x16, - 0x81,0x8B,0x8E,0x0C,0x2C,0x29,0x52,0x73,0x2B,0x67,0x7A,0xAF,0x9D,0x7A,0xB3,0x53, - 0x2B,0x3A,0x72,0x3C,0x8B,0x92,0x2E,0x5C,0x1D,0x73,0xEE,0xB0,0xCC,0xF5,0xD6,0x96, - 0x59,0xCD,0x04,0x0B,0xB8,0xD8,0xA8,0x3E,0x68,0x09,0x32,0x5E,0x3A,0xA3,0x92,0x88, - 0x3D,0xAA,0xAB,0x6B,0x29,0xAF,0xC4,0xB0,0xDD,0xD0,0x24,0xD0,0xDE,0xA2,0x76,0x9F, - 0xB0,0xCE,0x60,0xD6,0x94,0x39,0x6C,0xCB,0x1A,0xCB,0x3F,0x80,0x8F,0x29,0x6B,0x17, - 0x25,0x57,0x5B,0x69,0x34,0x48,0x2D,0x26,0x31,0x5B,0x2E,0x3F,0xA3,0xB6,0xBC,0x8E, - 0xD2,0xB2,0x96,0x5A,0xB4,0xCA,0x10,0x2D,0xC4,0x0B,0x11,0x1B,0xF1,0x25,0xEB,0x8C, - 0x5C,0x6A,0x35,0x93,0x21,0xBA,0x44,0x44,0xD2,0xCB,0x8F,0xFD,0x9B,0xB5,0x38,0x5A, - 0x03,0x85,0x39,0x30,0xCA,0x23,0x87,0x2B,0x35,0xC2,0x44,0x31,0x97,0x57,0x4B,0xAE, - 0x6E,0x86,0xDA,0xE0,0x97,0x92,0x98,0x95,0x06,0xC8,0x3B,0x13,0x88,0x16,0xE2,0x95, - 0xE2,0x6B,0xD6,0x59,0x2F,0x68,0xB6,0x65,0x8E,0xD4,0x04,0xFF,0xEB,0xCF,0x1F,0xAA, - 0x5A,0x5F,0x8A,0xD3,0x79,0x28,0xC5,0x93,0x94,0xF4,0xA4,0x06,0x51,0xCC,0x72,0x75, - 0xB1,0xE2,0xBB,0xAA,0xEB,0x2F,0x2B,0xB9,0x06,0x5A,0x73,0xB1,0xF3,0x8F,0x1C,0x17, - 0x72,0xF3,0xCE,0x9B,0x59,0x65,0x23,0xBE,0x64,0x9D,0xA3,0x23,0xE5,0x93,0x4F,0x8C, - 0x7F,0x15,0x2C,0xF7,0x80,0x3E,0x43,0xB8,0x90,0x35,0x8E,0x92,0xB1,0x73,0x59,0xCC, - 0x72,0x91,0x6C,0x69,0x35,0x0E,0x25,0xD0,0x5F,0x96,0x1B,0x00,0x8F,0x8D,0x75,0xBC, - 0xCC,0x90,0xA7,0x29,0xAF,0xA8,0xA2,0x0D,0x07,0xE4,0x4B,0xEA,0xFA,0x92,0x75,0xAE, - 0x6F,0xB0,0x9E,0x73,0x2E,0xC5,0x72,0x7D,0x2A,0x8E,0x36,0x51,0x9A,0xAB,0xA0,0x34, - 0x7D,0x58,0x0D,0xA2,0x98,0x1B,0xCE,0xB5,0x89,0x0D,0x29,0x6A,0xDC,0x6C,0x5F,0x71, - 0xB1,0xF3,0x0B,0x8E,0x09,0x10,0xB2,0xAD,0x5A,0x7E,0xBE,0x62,0x9D,0xCB,0xAB,0x58, - 0xF4,0xCE,0x88,0xC5,0x25,0x31,0xF4,0xC2,0x51,0x6C,0x8B,0xA3,0x75,0x30,0x2D,0x58, - 0x0E,0x67,0xFB,0xCD,0xA2,0x98,0x2D,0x4B,0xEB,0x82,0xA8,0x88,0x60,0xB6,0xA5,0x8C, - 0xAF,0x88,0xB9,0xB2,0xAA,0x86,0x76,0x9D,0xB0,0x5D,0x95,0x13,0xD6,0xF9,0x54,0xBD, - 0xF6,0xBB,0xCD,0x79,0xC7,0x2D,0x86,0x01,0x2D,0x4E,0xB9,0x6F,0xD6,0x85,0x6C,0x8B, - 0xA3,0x75,0xDC,0xED,0x6A,0x8B,0x62,0x96,0x43,0x4D,0x34,0xDB,0x17,0xFA,0xCB,0x58, - 0xC1,0xBF,0xB4,0x56,0x90,0xED,0x2B,0x5B,0xB2,0xF5,0x70,0x0B,0xED,0x3F,0x98,0xAF, - 0x59,0x45,0x23,0x5F,0xBB,0xF1,0xAC,0x7C,0xC5,0x53,0x23,0x4A,0xE9,0xA1,0x1C,0xED, - 0xE1,0x11,0x31,0xD7,0xC9,0xE4,0x65,0x47,0xD9,0x11,0xB3,0xAF,0xF4,0x97,0x6B,0x6A, - 0x4F,0xD3,0xFE,0x22,0xEB,0xBF,0x4F,0x8E,0x72,0x7D,0x77,0xB4,0xA1,0xD1,0xBA,0x40, - 0x83,0x56,0xB0,0x9C,0xD2,0x28,0x22,0x91,0xAE,0xE5,0x8A,0x91,0x1C,0x6D,0xE3,0xEE, - 0x7E,0xB3,0x28,0xE6,0x96,0x56,0x6B,0x63,0x14,0x16,0x62,0xFB,0x06,0xEF,0x2B,0x2E, - 0x76,0x4D,0xDD,0x19,0x2A,0xD3,0x5B,0x66,0x35,0x54,0x9E,0x16,0x48,0x68,0xB3,0x0E, - 0x06,0x6A,0x85,0x03,0x47,0xF6,0xB0,0x2D,0x09,0x92,0x3F,0x6D,0x60,0xCE,0x50,0xB6, - 0xC5,0xF1,0x15,0xDC,0xD9,0x6F,0x66,0x01,0x30,0x6B,0x0B,0x6B,0x6F,0x68,0xCA,0x57, - 0xC4,0xDC,0xD6,0x7A,0x8E,0x4E,0x56,0xAB,0xFB,0x5C,0x10,0x20,0x6B,0x39,0xAF,0x5D, - 0x2F,0xB5,0xE0,0xC4,0x41,0xB6,0x25,0x4F,0x9F,0x9E,0xF2,0x33,0x72,0x38,0xDA,0xC5, - 0x9D,0xAE,0xB6,0x28,0x66,0x67,0x56,0x41,0x54,0x72,0x05,0xB4,0x36,0xBE,0xAC,0xD3, - 0x9B,0x2E,0x1F,0x5F,0x91,0xC6,0x84,0xAD,0x12,0x43,0x80,0x5B,0x66,0xDF,0x43,0x49, - 0xCC,0x55,0x55,0xB6,0x2B,0xC9,0xC8,0xA1,0x18,0x00,0x93,0x5B,0xFA,0x54,0x8A,0x52, - 0x3E,0x36,0xC7,0x33,0xA0,0xF6,0x35,0x8A,0xD0,0x2B,0x81,0x19,0x52,0x7C,0x52,0x85, - 0xEF,0xA1,0x94,0xD6,0xE9,0x4C,0xBF,0x59,0x14,0xB3,0xDC,0x8C,0x29,0x5B,0x28,0xAD, - 0x62,0xA7,0x74,0x62,0x9D,0x89,0xA0,0xB7,0xCD,0x21,0x8A,0xB7,0x2C,0x6B,0x42,0xEC, - 0x8F,0xC8,0x75,0x0A,0xF9,0x85,0x32,0xC1,0x2F,0x09,0x59,0xE9,0xB6,0xD7,0x9E,0xE2, - 0x68,0x93,0xA4,0xA4,0x24,0xD9,0x1B,0xB0,0xD2,0x3A,0x6D,0xB6,0x70,0xE0,0x32,0xEF, - 0x40,0xE9,0xAE,0xA1,0x45,0x31,0x07,0x87,0x76,0xA1,0x8C,0x04,0x75,0x06,0x2B,0x36, - 0x4A,0xEF,0x96,0xEB,0x9C,0xFA,0x48,0x3C,0xCE,0x81,0x02,0x99,0xE0,0x97,0x04,0xEE, - 0x62,0xFB,0x2E,0x4A,0xBA,0x71,0xB4,0x46,0x9D,0xE2,0x95,0x6B,0x6B,0xFA,0xA3,0x52, - 0x55,0x11,0x2D,0x8A,0x39,0x39,0x31,0x96,0xFA,0xA4,0xAA,0x13,0x68,0x5A,0x6C,0x10, - 0x75,0x89,0x74,0xAC,0xE8,0xBF,0xB7,0xB0,0x57,0x27,0x9B,0x07,0xBF,0x7C,0x17,0x25, - 0xDD,0x38,0xDA,0x6F,0x16,0xAF,0xF2,0x96,0x56,0xC7,0x22,0x44,0x4A,0xBF,0x44,0x8B, - 0x62,0xCE,0xEA,0xD9,0x43,0x37,0xB4,0x97,0xBA,0xBE,0xFC,0x80,0x1E,0xC1,0x94,0x96, - 0x1C,0xC7,0x5A,0xDA,0xC2,0x9E,0x98,0x79,0xE6,0x97,0xEF,0xA2,0xA4,0x1B,0x47,0xFB, - 0xCD,0xA2,0x98,0xE5,0x26,0x5A,0xD8,0xC2,0x97,0xC4,0x0C,0x12,0xE3,0xA2,0xA9,0x7F, - 0xBA,0x6D,0xEB,0x1C,0xAD,0x77,0x44,0x06,0x64,0x04,0x63,0xDC,0x4F,0x93,0x41,0xA4, - 0xB2,0x4A,0x8B,0x9C,0x6C,0x0B,0xD2,0xF8,0x82,0x6E,0x3E,0x8B,0x52,0xA2,0x95,0x92, - 0x07,0xAC,0x84,0xEC,0x15,0x6E,0x2F,0x95,0x53,0x49,0xCC,0x98,0x74,0xCD,0x36,0x35, - 0xC5,0xD0,0xC1,0xFD,0x75,0x33,0x47,0x86,0x89,0x7D,0x62,0x25,0xA6,0x0F,0x0D,0xA1, - 0x9E,0x3D,0xBA,0xB3,0x96,0xF6,0xB0,0x15,0xC9,0xC6,0x52,0x34,0x7C,0x0D,0x28,0xDF, - 0x45,0x29,0x71,0xC4,0x29,0x37,0xDB,0x12,0x5B,0xA9,0x9C,0x28,0x76,0xCF,0x36,0xCD, - 0x50,0x5A,0x54,0x5A,0x2B,0x4C,0xB9,0x64,0x84,0x6E,0xFE,0xE5,0x91,0x34,0xA2,0xB7, - 0xCE,0x4C,0xD4,0x89,0x31,0x44,0xF7,0x4C,0x8D,0xA0,0x8B,0x07,0x27,0x51,0x46,0x7A, - 0x77,0x4D,0x0A,0x02,0x39,0xD9,0x6C,0x53,0x96,0x9E,0xDD,0x79,0x24,0xDB,0x97,0xC9, - 0xCC,0x94,0x2F,0x24,0xE1,0xA8,0x98,0xC5,0x37,0x99,0xF6,0xFB,0x5C,0xB3,0x8B,0x05, - 0x55,0x39,0x97,0x3E,0x31,0x42,0xF6,0x17,0x20,0xCD,0x6C,0xD9,0xB2,0x65,0xAC,0xD5, - 0x01,0x2A,0x27,0xDC,0x7A,0xEB,0xAD,0x9A,0xB7,0x0E,0x28,0xE8,0x57,0x53,0x53,0xAB, - 0xBF,0x8B,0x19,0x12,0x65,0x04,0x5D,0x18,0xF5,0xEE,0xD5,0x93,0x92,0x93,0x54,0x86, - 0xBC,0x3B,0x01,0xAC,0x0A,0x89,0xC5,0xE4,0x94,0x40,0x39,0x5D,0xD4,0xE2,0x66,0x4D, - 0x55,0x94,0x95,0x1D,0x13,0x0A,0x0B,0x4F,0xB1,0x96,0xF3,0x84,0x84,0xB4,0xD3,0x88, - 0x11,0xE3,0x34,0xFF,0xBD,0x6B,0x9D,0xE7,0x9E,0x7B,0x4E,0xB6,0x96,0xDE,0xD3,0x4F, - 0x3F,0xAD,0xFA,0xB3,0xD5,0xA1,0x64,0xD0,0x6D,0x7F,0xDD,0xC1,0x9A,0x06,0x6C,0x89, - 0x79,0xE3,0xC6,0x8D,0xC2,0xBA,0x75,0xEB,0x58,0xAB,0x03,0xAC,0x72,0x37,0x73,0x26, - 0xAF,0xCF,0xEC,0x09,0xB0,0x6A,0x24,0x16,0x9B,0x53,0xC2,0x19,0x31,0x1F,0x3D,0xBA, - 0x47,0x88,0x89,0x79,0x9C,0x92,0x92,0x0C,0x2B,0x6C,0x38,0xCB,0xA1,0x43,0x1F,0xD3, - 0x85,0x17,0xDE,0xCC,0xBF,0x77,0x17,0x59,0xB2,0x64,0x89,0x20,0x97,0xC2,0x39,0x77, - 0xEE,0x5C,0xCA,0xCE,0xCE,0x56,0xF5,0xF9,0xDA,0x8E,0x0A,0xC9,0x20,0x37,0x53,0x0A, - 0x38,0xE2,0x66,0x63,0x5A,0xE2,0x9E,0xC3,0x47,0x84,0xCD,0x7B,0x0E,0x98,0x3D,0x0E, - 0x1C,0x39,0xAE,0xB7,0x9A,0x35,0x0E,0x8D,0xAD,0x71,0x0C,0xEB,0x54,0x71,0x3A,0x87, - 0x53,0xA7,0x4E,0x09,0xBF,0x1C,0xCA,0xB7,0xBA,0x96,0x8F,0x15,0x16,0x39,0x74,0x1D, - 0x2B,0x05,0xC1,0xE4,0xAC,0xB5,0x12,0x6E,0x13,0xB3,0x9A,0xA9,0x8F,0x05,0x85,0xC5, - 0xC2,0x4F,0xDB,0x76,0x08,0x9F,0xE5,0x95,0xD3,0xE3,0x27,0x42,0xE9,0x77,0x25,0x71, - 0x66,0x8F,0x27,0x8E,0x12,0xE1,0xB9,0x4D,0xFA,0x63,0x8A,0x4B,0xBD,0xB7,0xA8,0x9B, - 0xD6,0x69,0xB6,0xB3,0x7C,0x2B,0xC7,0xFB,0x1C,0x3C,0x56,0x28,0x6C,0xFC,0x79,0xBB, - 0xB0,0xE4,0x70,0x0D,0xFD,0xA1,0x30,0xC2,0xEA,0x5A,0x7E,0x2A,0xBF,0x95,0x3E,0xDF, - 0xBA,0x57,0xD8,0xB8,0x7D,0xA7,0xA0,0xEF,0xFB,0x3A,0x7D,0x2D,0xBB,0x2C,0xE6,0x78, - 0x1B,0x25,0x83,0x9C,0x49,0x33,0x03,0x1B,0xF4,0x7F,0xD4,0x2B,0x47,0x9B,0xE9,0xAA, - 0xF2,0x5E,0x74,0xCF,0xA9,0xEE,0xF4,0xCD,0xB9,0x6E,0xB4,0xB3,0x25,0xD2,0xEC,0xB1, - 0xFC,0x5C,0x9C,0xF8,0xDC,0x74,0xFD,0x31,0x6F,0x1D,0x69,0xA0,0x0D,0xBF,0xEC,0xE5, - 0x82,0xD6,0x13,0x1E,0xA6,0x7E,0xCD,0x2F,0x8E,0x67,0xA9,0xA8,0xAE,0x11,0xD6,0x6D, - 0xDF,0x2D,0xFC,0xED,0x58,0x3B,0x5D,0x5C,0x96,0x43,0x0B,0xAB,0x53,0x69,0x6D,0x53, - 0x57,0xAB,0x6B,0xF9,0x83,0xC6,0x04,0x9A,0x5D,0xDE,0x83,0x6E,0x28,0xCF,0xA4,0x8F, - 0xF2,0x2A,0x29,0x77,0xD7,0x3E,0x9B,0xD7,0xB2,0x3B,0x02,0xC8,0xB2,0x62,0x0E,0x0B, - 0x75,0xD8,0x60,0x53,0x44,0x84,0xFC,0xC4,0x8C,0x13,0x65,0x15,0xC2,0xA7,0x5B,0xF7, - 0x09,0xD7,0x96,0xF5,0xA0,0xD7,0xEA,0x13,0xE9,0x4C,0xBB,0xFD,0xF7,0xC6,0x31,0xCF, - 0xD6,0x24,0xD1,0x6D,0xA5,0x29,0xF4,0xF5,0xB6,0xBD,0x42,0x45,0x8D,0xCA,0x09,0xC9, - 0x01,0x4A,0x4D,0x5D,0x25,0xDB,0xE2,0x78,0x92,0xBC,0xC2,0x93,0xC2,0xD7,0xF9,0x15, - 0x74,0x8D,0xFE,0x5A,0xFE,0xB0,0x41,0x5D,0x72,0x51,0x59,0x5B,0x28,0x3D,0x50,0x95, - 0x46,0xF3,0x4A,0x13,0x69,0xED,0xF6,0x3D,0x8A,0xD7,0xB1,0xD2,0x24,0x25,0x47,0xC6, - 0x9A,0x1D,0x56,0xAD,0x92,0x65,0x96,0x13,0xB3,0x78,0x17,0x3B,0x51,0x43,0xB7,0x94, - 0xA7,0x53,0x75,0xBB,0xE3,0x33,0xAA,0x0A,0xDB,0xC2,0xE9,0xE6,0xF2,0x0C,0xDA,0x90, - 0xEF,0x5A,0xA5,0x7F,0x7F,0xA7,0xB9,0x95,0xBB,0xE1,0x9E,0xE6,0xD8,0xC9,0x52,0xE1, - 0xF3,0xA2,0xB3,0x74,0x57,0x45,0x9A,0x2A,0x83,0x64,0xC9,0xFE,0xD6,0x2E,0x74,0x53, - 0x59,0x3A,0xAD,0x56,0x10,0xB4,0x3B,0x66,0x1C,0x3A,0x7C,0x56,0x4A,0x7D,0x66,0xB9, - 0x93,0xD9,0x7C,0xE4,0x24,0xDD,0x5B,0x91,0x42,0x2D,0x8E,0xFF,0x1A,0x13,0xF8,0xE0, - 0xEE,0x3C,0xA5,0xFC,0x21,0x70,0x88,0x5A,0xDC,0xD8,0xA7,0x2E,0x2F,0xBF,0x5D,0x8C, - 0x50,0x5B,0x3E,0x0E,0x1F,0x7E,0x8F,0x5A,0x5B,0x13,0xD8,0x51,0x81,0x05,0x8C,0xD2, - 0x0F,0xC5,0xA7,0xE9,0x89,0xEA,0x64,0xB6,0xC7,0x39,0x60,0xD0,0xEE,0x29,0x4F,0x95, - 0xED,0x3E,0x2A,0xB9,0xD9,0x0E,0xF5,0x99,0x2B,0x6A,0xD5,0x1F,0x0C,0x94,0xC4,0x6C, - 0x39,0xF0,0x9D,0xBB,0x73,0xAF,0xB0,0xB0,0xCA,0x35,0x21,0x1B,0x81,0xA0,0x9F,0xAB, - 0x4E,0xA0,0xED,0x07,0x0E,0x07,0xA4,0xA0,0x13,0xBA,0xD9,0x4E,0x93,0x2D,0x2C,0x3D, - 0xC6,0xB6,0x5C,0xA7,0xB6,0x76,0x2A,0xC5,0xC5,0x4D,0x16,0x87,0x9B,0xA4,0x8F,0xD6, - 0xD6,0xFE,0x74,0xEE,0x5C,0x4F,0x76,0x54,0x60,0x91,0x77,0xEC,0x04,0x2D,0xAC,0xB4, - 0xBF,0x2C,0x90,0x1A,0xE0,0x6D,0xBE,0x53,0x1B,0x23,0x06,0xD0,0xD8,0x2E,0x9B,0x78, - 0x34,0x9A,0xAD,0x26,0x00,0x86,0xE1,0xA5,0x03,0x4D,0x21,0x94,0xDF,0x6A,0x3F,0x70, - 0x73,0xF7,0xC8,0x6E,0x44,0xB3,0x62,0x75,0x77,0xB3,0xB6,0x12,0x1B,0x9A,0xA2,0xA9, - 0xAC,0xC1,0xB1,0x1B,0x8F,0xBF,0x90,0x95,0xD1,0xC7,0xE6,0x38,0xA3,0xAD,0x54,0x4F, - 0x67,0x90,0x4B,0xCB,0x0D,0x0E,0x0E,0x4C,0xC7,0x08,0xA3,0x2A,0x6B,0xCF,0xC5,0xD8, - 0xEE,0x26,0xC6,0x84,0x53,0xC1,0xD5,0x86,0xEB,0xD8,0xF4,0xB0,0xC1,0xA7,0x0D,0xDD, - 0xA8,0xAC,0xB2,0x9A,0xB5,0x0C,0xB8,0xA3,0x10,0xA6,0xEB,0x66,0x53,0x86,0xBC,0xE2, - 0x32,0x7A,0xAB,0xCE,0xDE,0xC9,0x85,0xD2,0x37,0xFA,0x0F,0xE0,0xED,0x74,0x9D,0xAA, - 0x01,0x71,0x80,0xF7,0xC4,0xF8,0x34,0x6B,0x06,0x14,0xF6,0xC6,0x92,0xF7,0xE5,0xEF, - 0x0A,0x4C,0xB5,0x79,0x98,0x13,0x25,0x65,0xF4,0xEF,0xD3,0xB6,0xAE,0x65,0xFD,0x75, - 0x7C,0x69,0x30,0xBD,0xF0,0xD5,0x69,0xA2,0x15,0x75,0x02,0x7D,0x7F,0x4E,0x28,0x10, - 0x04,0xA1,0xA0,0x9F,0xB2,0xB4,0xE0,0xAD,0x7E,0xD6,0xD0,0x95,0x8E,0x17,0xD9,0x4E, - 0xD3,0x05,0x9D,0x12,0x00,0x93,0xD2,0xD2,0x74,0x8E,0xF6,0xB7,0xD8,0x2E,0x3B,0x74, - 0xF7,0xC8,0x48,0xBA,0x4A,0xA7,0xD3,0x8D,0xDD,0xDE,0xA2,0xFA,0x22,0xDC,0xDA,0x1C, - 0x45,0xF5,0xA7,0x1D,0x9B,0x49,0xE2,0x2F,0xD8,0xAB,0x24,0x62,0x6F,0x8A,0x24,0xC7, - 0x39,0x1A,0xF4,0x5D,0x3C,0x44,0xA4,0x95,0x69,0xA5,0xAB,0xBE,0x3A,0x4B,0x6F,0xB3, - 0x16,0x9D,0x69,0xA6,0x17,0x4A,0x89,0x72,0xFA,0x75,0xB5,0x69,0xA4,0x72,0x9B,0xA2, - 0xA8,0xA4,0xBA,0xE3,0x5A,0x56,0x1A,0x0D,0x72,0x04,0xDD,0x9E,0x23,0x75,0xC2,0x23, - 0xAF,0x9B,0xAF,0x92,0x30,0xA4,0x4F,0x37,0x7A,0xE1,0xDE,0x41,0xB2,0x27,0xF3,0xE4, - 0x93,0x4F,0xCA,0x8A,0xCF,0x98,0x43,0x7A,0xF2,0x64,0x99,0xB0,0xA6,0xA8,0x9A,0xEE, - 0x38,0xA5,0x32,0x2B,0x29,0x3D,0x92,0x68,0x64,0x98,0xEE,0x6E,0xFD,0x5D,0xCD,0xF4, - 0x81,0xD8,0xE0,0xDB,0xD4,0xE3,0x34,0x28,0xB3,0x27,0x85,0xF1,0xB1,0x57,0x97,0xA8, - 0xAE,0x3A,0x4C,0x89,0x09,0x7F,0xB2,0x4A,0xE7,0x3C,0x70,0xF0,0x23,0x8A,0x89,0x99, - 0x4A,0x11,0x5D,0xCC,0xA7,0x98,0x55,0x94,0xED,0xA2,0x9E,0x3D,0xEF,0xA7,0xAE,0x5D, - 0x77,0xB2,0x3D,0x06,0x94,0x8E,0xF7,0x07,0xEA,0x4F,0x57,0xD3,0x47,0x25,0xE7,0xE8, - 0xA9,0xDA,0x14,0xB6,0x47,0x1D,0xE8,0x3A,0x8A,0x1E,0x27,0x2C,0xB5,0x0D,0x36,0xA5, - 0xE6,0xD3,0xF8,0x31,0xA3,0x4C,0x3A,0x93,0xD3,0x16,0x0A,0xFE,0xDD,0x7E,0xFB,0xED, - 0xAA,0xBC,0x57,0x87,0xC5,0xFC,0x97,0xBF,0xFC,0x45,0xB6,0xF8,0xBD,0x51,0xCC,0xC7, - 0x8F,0x17,0x0A,0x1F,0x1F,0x3F,0x4D,0x7F,0xAC,0xEF,0x21,0xEE,0xB7,0x8B,0x83,0x62, - 0x7E,0x2F,0xE6,0x20,0x35,0x7E,0xF3,0x0F,0xAA,0x3D,0x79,0x98,0xED,0xE1,0x38,0xC3, - 0xB0,0xAB,0xE7,0xD2,0xA8,0xA9,0xEB,0xAD,0xC4,0xBC,0x6B,0xC7,0x5B,0xB4,0xE9,0x93, - 0xEF,0xAC,0x3E,0xDF,0x09,0x73,0x1F,0xA2,0xE1,0xE3,0x5F,0xB3,0x12,0xB3,0xD2,0xF1, - 0xFE,0x40,0xEF,0xB1,0xBF,0xA2,0x1F,0x07,0xDD,0x49,0xEF,0x36,0x38,0x30,0x4F,0x1F, - 0xFD,0xE7,0x4B,0x23,0x28,0x7F,0xC7,0x69,0xBA,0xCA,0xF6,0x14,0x74,0xFA,0x2E,0xB9, - 0x80,0x2E,0x1F,0x37,0x52,0xD4,0x0D,0x66,0x23,0xBE,0xF6,0xDA,0x6B,0xE2,0x7E,0x29, - 0x8E,0x88,0xD9,0x61,0x37,0xDB,0x5E,0xA6,0x8A,0xA0,0xBF,0xB7,0x1C,0x6F,0xD7,0x0B, - 0xD4,0x43,0x94,0xB4,0x47,0x50,0x17,0x3B,0xD1,0x5D,0x0E,0xC7,0x1D,0x04,0x27,0xF4, - 0xB0,0xE3,0x62,0x5B,0x12,0x44,0x8B,0x47,0x46,0x50,0x8E,0xBE,0xFB,0x68,0x4F,0xC8, - 0xA0,0xB2,0x3D,0x94,0xAA,0xAB,0x0D,0x09,0x51,0xCE,0x66,0x56,0x4A,0x71,0x7B,0x00, - 0x2C,0x38,0x24,0x84,0xBA,0x07,0x79,0x6E,0x55,0x88,0x24,0x5D,0x0B,0x35,0x37,0xDA, - 0x5E,0xD6,0x94,0xC3,0x71,0x07,0x6D,0xF5,0x95,0x94,0x10,0x24,0x3F,0x14,0x2B,0xC7, - 0xDD,0x23,0x63,0x68,0x41,0x57,0x9D,0x6E,0xAC,0x1D,0xF7,0xDA,0x48,0x5C,0x50,0x1B, - 0x25,0x24,0xC4,0xD9,0xB4,0xBA,0x8E,0x44,0xB9,0xDD,0x6E,0x99,0xC3,0xC2,0xC2,0x28, - 0x25,0x58,0xDD,0xDA,0x4E,0xCE,0x90,0x10,0xDC,0x46,0xAD,0x67,0xDD,0x3B,0x14,0xC3, - 0xE1,0xC8,0x71,0xBE,0xA1,0x86,0x52,0x74,0xEA,0x86,0x43,0x8D,0xFD,0x64,0x74,0x17, - 0xB7,0xB0,0x7D,0xF6,0x88,0x09,0xEA,0xA8,0xBD,0xE7,0x68,0x89,0x20,0x39,0x1C,0x16, - 0xB3,0x52,0xDA,0x99,0xB1,0x96,0x76,0x5A,0x6A,0x92,0xAE,0x5F,0xA8,0x67,0xC6,0x83, - 0xF1,0xC7,0xC7,0xEA,0xEF,0x66,0x0D,0xD5,0x65,0x6C,0x0F,0x87,0xE3,0x39,0xEA,0xCA, - 0x8E,0xD1,0x10,0x9D,0x7D,0x91,0x49,0x85,0xAC,0x26,0xEE,0x03,0x7A,0x06,0x37,0x53, - 0x7B,0x90,0xFD,0x22,0xED,0x8E,0x44,0xB9,0xDD,0x26,0x66,0x69,0x50,0x4C,0x68,0x6F, - 0xA7,0x81,0xA1,0xE7,0x58,0x4B,0x1E,0x63,0xB2,0x08,0x82,0x5F,0x68,0xBF,0xCD,0x06, - 0xDB,0x17,0xC7,0x88,0x4F,0xCB,0x32,0x26,0xAC,0x81,0x6A,0x4A,0x0A,0xA8,0xBD,0xCD, - 0x73,0x96,0x9F,0xC3,0x31,0x72,0xBA,0xEC,0x28,0xA5,0x86,0x9C,0xB7,0xED,0x6A,0xC7, - 0x84,0xD3,0x23,0xAC,0x74,0x9C,0xF1,0x1A,0x36,0x3E,0x6C,0x5D,0xCB,0x93,0xC3,0x4F, - 0x53,0x57,0x89,0x50,0x95,0x32,0xBD,0x3C,0x2A,0x66,0x25,0x37,0x5B,0x2A,0xE6,0xB8, - 0x88,0x30,0xBA,0x32,0xCC,0x76,0xFD,0xA2,0xB7,0xB7,0xB3,0x41,0x76,0x8B,0xC7,0x82, - 0x33,0xEC,0x00,0x19,0x66,0x86,0x94,0x53,0xED,0xFE,0xF5,0xAC,0xC5,0xE1,0x78,0x9E, - 0x8A,0xFC,0xED,0x74,0x79,0x44,0x2D,0x6B,0xC9,0x70,0xA6,0x99,0x72,0x8C,0x09,0x23, - 0x0E,0x5C,0xCB,0x57,0x85,0x56,0x52,0x52,0x42,0xC7,0x90,0x97,0x23,0x69,0x9B,0x4A, - 0xB8,0x2D,0x00,0x26,0x8D,0xC6,0x45,0x06,0x07,0xD1,0xD8,0xD6,0x42,0xEA,0x1B,0xEA, - 0xBE,0x09,0x00,0x78,0xAF,0x5E,0xE7,0xAB,0xE9,0xD4,0x11,0xF3,0xA1,0x11,0x0E,0xC7, - 0x93,0x9C,0xDC,0xFC,0x25,0xDD,0x12,0x56,0x46,0x61,0xE4,0xBE,0xD5,0x07,0xAF,0x8B, - 0xA8,0xA2,0x96,0x13,0x3B,0x29,0x2C,0xCC,0xBE,0xD5,0xED,0xD4,0x00,0x18,0x08,0x0E, - 0x0B,0xA7,0x93,0xEB,0xDE,0xA3,0x87,0xC3,0x0A,0xDC,0xF2,0x21,0xE0,0x3D,0x9E,0x0A, - 0x3F,0x4C,0x47,0x56,0xFE,0x93,0xED,0xE1,0x70,0xBC,0x03,0x46,0x4E,0x8A,0xB7,0xAC, - 0xA0,0xC7,0xBA,0x1C,0x67,0x7B,0x5C,0x23,0x2D,0xB8,0x95,0x6E,0xA2,0x63,0x54,0xBA, - 0xF9,0x0B,0x7D,0x77,0xB4,0x8D,0xED,0xD5,0x58,0x00,0x4C,0x6A,0x99,0x23,0xA2,0xBB, - 0x89,0x49,0x04,0xC2,0x8E,0x2F,0x5D,0xFE,0x10,0x20,0xE4,0x17,0xA3,0xF2,0xA9,0x76, - 0xFD,0x12,0xAA,0x3F,0x55,0xC4,0xF6,0x72,0x38,0xDE,0xA3,0x62,0xD7,0x77,0xD4,0xA7, - 0xF8,0x27,0xBA,0x25,0xDC,0xF1,0x95,0x19,0xA5,0x20,0x80,0xFB,0x62,0x97,0x43,0x54, - 0xB2,0x72,0x31,0x85,0x04,0x87,0x52,0xBB,0x8A,0x85,0xFD,0x3D,0xDA,0x67,0x56,0x42, - 0x2A,0xE6,0xB0,0x08,0x83,0xF5,0xC6,0x87,0xD0,0xA3,0xE0,0x3B,0xFA,0x5B,0x97,0xC3, - 0x4E,0x59,0x68,0xFC,0xF1,0xAF,0x45,0x1D,0xA4,0x90,0x9F,0x3F,0xA2,0xEA,0xFC,0x6D, - 0x6C,0x2F,0x87,0xE3,0x7D,0x8E,0xAF,0x79,0x97,0xAE,0xA8,0xDE,0x48,0xBF,0x8F,0x70, - 0xCE,0x38,0xC1,0x22,0xFF,0x2B,0x62,0x2F,0x55,0xAD,0x7B,0x5B,0x34,0x4A,0x5D,0xBA, - 0x26,0x20,0x52,0xCC,0x9E,0xED,0xA4,0x00,0x98,0x9A,0x45,0xAE,0xDA,0xF5,0xEE,0x43, - 0x24,0x4E,0x56,0x4F,0xC9,0x4F,0x1F,0x51,0xDC,0xF6,0x0F,0xE9,0xB3,0x6E,0xFB,0xE9, - 0xAA,0x2E,0xEA,0x93,0x3D,0xD0,0xAF,0xF8,0x38,0x7A,0x2F,0x35,0xAF,0x7A,0x89,0x2A, - 0xF7,0xFE,0xC0,0xF6,0x72,0x38,0x9D,0xC7,0xD1,0xFF,0xBD,0x4C,0x17,0xE6,0xAD,0xD0, - 0x5F,0xCB,0x07,0x68,0x58,0xD8,0x59,0xB6,0xD7,0x36,0x30,0x48,0xF3,0xBA,0x94,0xD2, - 0x9B,0x11,0xBB,0xA9,0xE6,0x7F,0x8B,0xA8,0xEE,0xD8,0x2E,0xC3,0xFE,0x84,0x54,0x33, - 0x2F,0xF7,0xE4,0x49,0xF9,0x89,0x32,0x6A,0xBA,0xB5,0x46,0xDC,0x26,0x66,0xA9,0xCF, - 0xAF,0xA3,0x36,0x4A,0xC8,0xE8,0xCB,0x5A,0x24,0x8A,0x31,0xFF,0xA3,0x3F,0xD1,0xAD, - 0x15,0xDF,0xD2,0x37,0x71,0xFB,0xE9,0x89,0xE8,0x22,0x71,0x98,0x49,0x1A,0x20,0xC3, - 0x50,0xD6,0xC4,0x88,0x06,0xF1,0xB9,0x35,0xF1,0xFB,0xE9,0xDA,0xB2,0x55,0x74,0x70, - 0xE9,0xE3,0x3C,0x07,0x9B,0xA3,0x29,0x4A,0x37,0x7F,0x4E,0x25,0x5F,0x3C,0x4B,0x4F, - 0xB4,0x6E,0xA1,0x15,0xB1,0xFB,0xE9,0x77,0xD1,0xE5,0xA2,0xB0,0x31,0x6E,0x6C,0x04, - 0xED,0xA9,0x11,0xF5,0xF4,0xF7,0xA8,0x02,0xFA,0x34,0x66,0x1F,0x8D,0x3D,0xFC,0x5F, - 0xF1,0x5A,0x96,0x76,0x13,0x93,0x7B,0x5E,0x48,0xC9,0x29,0xF1,0xA6,0xEC,0x2F,0xA5, - 0x74,0x4E,0xA5,0xF5,0x9B,0xE5,0x70,0x58,0xCC,0x4A,0xEB,0x49,0x49,0x2D,0x73,0x5A, - 0x5A,0x92,0x2E,0x36,0xC5,0xBC,0x2A,0xC5,0xB9,0xFA,0x2A,0xCA,0x5F,0xF9,0x9A,0xFE, - 0x8F,0xFA,0x23,0xF5,0xDA,0xFA,0x26,0x3D,0xD2,0xB4,0x89,0x5E,0x0A,0xDE,0x49,0x5B, - 0x53,0xF3,0xC4,0xC7,0xB3,0xB4,0x9D,0x7E,0x57,0xFF,0xA3,0xF8,0xDC,0xAE,0x25,0x8F, - 0xD2,0xD1,0x55,0x6F,0xF2,0xB4,0x4D,0x8E,0x26,0x81,0x28,0xF7,0x7F,0xF4,0x67,0x3A, - 0xBA,0xEC,0x49,0x1A,0xBD,0xFB,0xDF,0xA2,0xB0,0xDF,0x88,0xD8,0x63,0xBA,0x96,0xD1, - 0xBE,0xAB,0x66,0x2D,0xC5,0xFE,0xF4,0x3A,0xED,0x5E,0xF2,0x30,0x15,0xE6,0x7E,0x4E, - 0xAD,0x4D,0xE6,0x96,0x3C,0x49,0xB2,0x04,0xAF,0xD2,0x3A,0xCC,0x8E,0x2E,0xC4,0xE8, - 0x54,0x9F,0x59,0xC9,0xF4,0x4B,0xD7,0xA1,0x92,0x9E,0xAC,0x14,0x88,0xFA,0xE4,0xDE, - 0x0D,0x74,0x60,0xD9,0x33,0xB4,0xF3,0xBD,0x87,0x69,0xCD,0x4B,0x77,0x8A,0x8F,0xBD, - 0xFF,0x79,0x8C,0x0E,0x7D,0xFE,0xBC,0xF8,0x1C,0x17,0x31,0xC7,0x17,0x68,0xAC,0x29, - 0xA7,0xE3,0xDB,0xBE,0x15,0x85,0xBD,0xE3,0x9D,0x05,0xA6,0x6B,0x19,0xED,0xC3,0x2B, - 0x5E,0xA2,0xF2,0xC3,0xDB,0xAC,0x44,0x6C,0x24,0x36,0xB9,0xC3,0xD8,0x29,0xAD,0x29, - 0xE5,0xB0,0x98,0x43,0x43,0x1C,0xD7,0xB3,0x9A,0x55,0xEB,0x62,0x93,0x55,0x4E,0x81, - 0xE4,0x70,0x02,0x90,0x88,0xE8,0x8E,0xF1,0x63,0xB7,0x89,0x39,0x3E,0x26,0x8C,0x6D, - 0xAA,0x47,0x4D,0x10,0x2C,0x36,0x35,0x9B,0x6D,0x71,0x38,0x1C,0x29,0xB1,0xA9,0x3D, - 0xA9,0xFD,0x7C,0x47,0x4A,0xB2,0x92,0x98,0x1D,0xAD,0x0B,0xE6,0x94,0x9B,0xAD,0xF4, - 0x4B,0xA4,0x27,0x15,0x1C,0x1C,0x46,0xE1,0x91,0xEA,0x23,0x71,0x1C,0x4E,0xA0,0x10, - 0x9B,0x9C,0x4D,0x41,0x92,0x02,0x89,0x4A,0x62,0x56,0xF2,0x80,0x95,0x70,0x4A,0xCC, - 0x6A,0x2C,0xB3,0xD0,0xDE,0x42,0x31,0xF1,0xDA,0x5D,0xBC,0x9C,0xC3,0x91,0xD2,0x2D, - 0xAD,0x37,0x25,0xF7,0x19,0x26,0x56,0x17,0xC1,0x23,0x21,0x6B,0x20,0x75,0xF5,0x50, - 0x57,0x11,0xC3,0x52,0xA9,0xA9,0x1D,0x51,0x6A,0x25,0x31,0x2B,0xAD,0xDB,0xAC,0x84, - 0x53,0x62,0xCE,0xC9,0xC9,0xB1,0x1B,0xD1,0xC6,0x18,0x5A,0x37,0x8B,0x88,0x36,0x87, - 0xA3,0x25,0xBA,0x74,0x4D,0xA4,0xBE,0x33,0x7E,0x47,0xE3,0x7E,0xFB,0x3A,0x25,0xFC, - 0x6A,0x21,0xB5,0x5C,0x7A,0x9F,0x58,0x26,0x08,0x8F,0xE0,0x69,0x0B,0x28,0xFD,0xBA, - 0x27,0xC4,0xE7,0x72,0xA6,0xFF,0x46,0x3C,0xD6,0x5D,0x58,0x06,0x87,0xE5,0xCA,0x70, - 0x39,0x53,0xE0,0x4F,0x56,0xCC,0xE5,0x35,0xF6,0x27,0x48,0xC8,0xA5,0x75,0x4A,0xB3, - 0x58,0x30,0x86,0x96,0xDE,0x77,0x38,0x6B,0x71,0x38,0xDA,0x21,0x28,0x38,0x94,0x7A, - 0x5F,0x31,0x8F,0x2E,0xBC,0xF5,0xAF,0xB4,0x34,0xE5,0x4A,0xBA,0xF1,0xF4,0x00,0xBA, - 0xE5,0xCC,0x00,0xBA,0xBF,0xA1,0xAF,0x58,0xEF,0x0B,0x8F,0x79,0x0D,0xFD,0xE8,0x7A, - 0xFD,0x7E,0x3C,0xF7,0x69,0xFA,0xD5,0xE2,0xB1,0x78,0x0D,0x5E,0xEB,0x2A,0x69,0xBD, - 0x87,0xB2,0x2D,0xA2,0x82,0x82,0x02,0xB7,0x0C,0x4B,0x01,0xA7,0x2C,0x33,0x50,0xFA, - 0x65,0x87,0x0E,0x1D,0x32,0x9D,0x5C,0xE6,0x85,0x63,0xD9,0x16,0x87,0xA3,0x0D,0x42, - 0x23,0x22,0xA9,0xDF,0xCD,0x4F,0xD1,0x97,0x69,0x57,0xD0,0x55,0xB5,0x03,0xC5,0xD5, - 0x48,0x6D,0x15,0xB8,0xC7,0x73,0x58,0x9D,0x14,0xC7,0xE2,0x35,0x78,0x2D,0xDE,0xC3, - 0x59,0x10,0x47,0x8A,0x94,0x58,0x79,0xA5,0xCC,0x2F,0x47,0xFB,0xCB,0xC0,0x69,0x31, - 0xA3,0x6A,0xA0,0x1C,0xD2,0xD5,0xDF,0x71,0xD2,0x3C,0x08,0xC6,0xD1,0x0A,0x10,0xE1, - 0x80,0x5B,0x9E,0xA5,0xA7,0x82,0x46,0xD3,0x17,0x4D,0x8E,0x5B,0x3E,0xBC,0x06,0xAF, - 0xED,0x7D,0xC3,0x9F,0x9D,0x16,0x74,0x5A,0x9F,0x11,0xA4,0xD3,0x75,0x44,0xB2,0xA5, - 0x7A,0x91,0x92,0x91,0xE1,0xF8,0x02,0xFA,0x1E,0x15,0x33,0x4E,0x1A,0x27,0xCF,0xE1, - 0x74,0x36,0x70,0x8F,0x73,0xAE,0xFF,0x23,0x3D,0xDE,0x3A,0x58,0x5C,0x91,0xD1,0x59, - 0xF0,0xDA,0xE7,0x83,0x86,0x53,0xEF,0x6B,0x17,0x3A,0xE5,0x72,0xF7,0x18,0x30,0xC6, - 0x2C,0xF8,0xA5,0x64,0x99,0x87,0x0E,0x1D,0xEA,0x50,0xF0,0x0B,0x04,0xA5,0x26,0x44, - 0x38,0xFC,0x22,0xD0,0xBF,0x7F,0x7F,0xD9,0xD7,0x95,0x97,0x77,0x4C,0x13,0xC3,0x49, - 0xE3,0xE4,0x39,0x9C,0xCE,0x26,0xFB,0xD2,0x5B,0xE8,0xCB,0xF0,0x01,0x2E,0x09,0xD9, - 0x08,0x16,0x53,0x5F,0x1D,0x31,0x80,0x7A,0x5C,0x72,0x23,0xDB,0xA3,0x9E,0xAC,0xC1, - 0x97,0xB0,0x2D,0xD4,0x98,0x3F,0x2E,0x5B,0x83,0xDE,0xD9,0x75,0xA7,0x9C,0xB6,0xCC, - 0x40,0xC9,0xAF,0x97,0xF6,0x9B,0x7B,0x0D,0xBB,0x94,0x6D,0x71,0x38,0x9D,0x43,0x78, - 0x54,0x37,0x8A,0xCB,0x19,0x45,0x9F,0x9F,0x75,0xDF,0x92,0xB4,0x1F,0x36,0xA5,0x50, - 0x62,0xFF,0xF1,0xE2,0x7B,0xAB,0x05,0x43,0xB5,0x61,0x92,0x95,0x3F,0x94,0x5C,0x6C, - 0x25,0xAF,0xD7,0x1E,0x2E,0x89,0x59,0x8D,0xAB,0x1D,0x12,0x1A,0xCE,0xC7,0x9B,0x35, - 0x48,0x7B,0xBB,0x8E,0x8A,0x4E,0xCC,0x15,0x57,0xA4,0x90,0x3E,0x5A,0xCF,0xF7,0x61, - 0x47,0x98,0xD3,0xD6,0x7A,0x9E,0x8E,0xE4,0x3F,0x24,0x7B,0x7C,0x7B,0x9B,0x8D,0x82, - 0x77,0x1A,0x20,0x63,0xDC,0xB5,0xF4,0x61,0x4B,0x9A,0xC2,0xF2,0xC2,0x41,0xB4,0xF8, - 0x52,0x8B,0x15,0x1C,0x2D,0x1E,0x72,0x61,0x5C,0xBC,0x17,0xDE,0x13,0xEF,0xAD,0x96, - 0xB4,0xBE,0xC3,0x28,0x2C,0xB4,0xA3,0x22,0xA7,0xBB,0xC5,0x2C,0xBA,0xCA,0xD3,0x7E, - 0x9F,0x6B,0x16,0x1E,0x4F,0x89,0x8F,0xA0,0xA5,0x4F,0x8C,0xB0,0xEB,0x7E,0xC3,0x02, - 0x2F,0x5B,0xB6,0x8C,0xB5,0x3A,0x80,0xC5,0x9E,0x3F,0x7F,0xBE,0xF8,0xFA,0xAA,0xCA, - 0x5A,0x61,0xDD,0xD2,0xE7,0x29,0x7F,0xEB,0x4A,0xF1,0x39,0x8E,0x36,0x80,0x45,0x89, - 0x8C,0x93,0xF7,0xAC,0xE4,0xA6,0x9D,0x2A,0x1D,0x0F,0x21,0xA3,0x8A,0xA5,0x96,0x19, - 0x3D,0xEF,0x55,0x9A,0xDB,0x38,0x48,0xD5,0xEA,0x14,0x6A,0xD7,0x89,0x02,0x28,0x38, - 0xF0,0x7E,0xD4,0x3E,0xFA,0xF9,0xCD,0xFB,0xD8,0x1E,0xDB,0x5C,0xFE,0x9B,0xE7,0x69, - 0xF4,0xD4,0x99,0x26,0x5D,0xD9,0x5B,0xEA,0xC9,0x51,0x64,0x2D,0x73,0xE3,0x39,0x75, - 0x77,0x5A,0x35,0xFD,0xE6,0xC4,0xA4,0x38,0x5D,0xF6,0xA0,0x09,0xAC,0xC5,0xD1,0x0A, - 0x98,0x99,0x06,0xD1,0xCA,0x3D,0xE4,0x50,0x3A,0x5E,0xEB,0x42,0x46,0x16,0x57,0xBD, - 0x2E,0xDC,0xC1,0x65,0x66,0xD4,0x81,0xF7,0xC4,0x7B,0xAB,0xCD,0x14,0x83,0x65,0x36, - 0xE2,0xEE,0xFE,0x32,0x90,0x15,0x73,0x83,0x4A,0x31,0x03,0xA5,0x7E,0xF3,0xAE,0x5D, - 0x1D,0xEB,0x05,0x4B,0xFF,0x08,0x0E,0xC7,0x9B,0x84,0x46,0x76,0xA5,0xEA,0x36,0xFB, - 0xC5,0xE6,0x9D,0x05,0xEF,0x8D,0xDF,0x61,0x0F,0x74,0x35,0xD1,0xE5,0x34,0xE2,0x6E, - 0x17,0x1B,0xB8,0xD4,0x67,0x06,0xAA,0xFA,0xCD,0x21,0xA1,0x94,0x9C,0x35,0x88,0xB5, - 0x38,0x1C,0xEF,0x81,0xEE,0x41,0xA5,0xE0,0xF8,0xCC,0x40,0xB5,0xE0,0xBD,0xD5,0x04, - 0xC1,0x72,0x46,0x4D,0xA7,0xEE,0xDD,0x13,0x4D,0x9E,0xAC,0xC7,0xC4,0x1C,0xDD,0x45, - 0x39,0x03,0xC6,0x1E,0x4A,0xBF,0xFC,0xC8,0x91,0x23,0x6C,0x8B,0xA8,0x7B,0x7A,0xB2, - 0x6E,0xE0,0xA4,0xEB,0x58,0x8B,0xC3,0x09,0x3C,0x06,0x4E,0x9C,0xCD,0xB6,0x0C,0x28, - 0x89,0xD9,0x99,0xF1,0x65,0x23,0xA2,0x98,0xA3,0x5C,0x10,0x33,0xFA,0xCD,0x72,0x79, - 0xDA,0xA8,0x69,0x24,0xCD,0x3B,0xCD,0x1E,0x32,0x89,0x82,0x43,0xF8,0x02,0xE9,0x1C, - 0xEF,0x82,0xBE,0x3E,0x56,0x0E,0xF5,0x14,0xE9,0x41,0x4D,0x74,0xEE,0xB4,0xFC,0xAC, - 0x27,0x23,0xF0,0x4A,0xC3,0x22,0x3A,0xC6,0xB7,0x37,0x6E,0xDC,0x28,0x1B,0x5C,0x73, - 0xA5,0xBF,0x0C,0x5C,0x76,0xB3,0x41,0x9F,0x3E,0xF2,0xC3,0x19,0xBB,0x77,0xEF,0x66, - 0x5B,0x98,0xDF,0xCC,0x73,0xB5,0x39,0xDE,0xE7,0x6C,0x4D,0x39,0x65,0x86,0x7A,0x6E, - 0xE8,0x2C,0x25,0xA4,0x9D,0x9A,0xEA,0xAB,0x59,0x4B,0x9E,0xFE,0xE3,0x7F,0x25,0x7A, - 0xA7,0xAC,0x69,0xA6,0x0B,0x29,0x17,0x5D,0x74,0x11,0xDB,0x72,0x0E,0xB7,0x88,0x59, - 0xE9,0x24,0xF2,0xF2,0xF2,0xD8,0x96,0x21,0x1B,0x6C,0xF0,0x65,0x8E,0x67,0xCC,0x70, - 0x38,0xAE,0x80,0x9A,0x73,0xBA,0x16,0xF3,0xEA,0x99,0xEE,0x02,0xEF,0x89,0xF7,0xC6, - 0xEF,0x50,0x02,0xDE,0x68,0xAF,0xA1,0x93,0x59,0xCB,0x50,0xBC,0x4F,0x69,0xFE,0xF2, - 0xC0,0x81,0x03,0xD9,0x96,0x73,0x28,0x8A,0xB9,0xBC,0xBA,0xC9,0xEE,0x38,0x9B,0x11, - 0xB8,0xDA,0x72,0xF3,0x2F,0x11,0x7A,0x97,0x46,0xB5,0x93,0x7A,0xF4,0x33,0xD5,0xD3, - 0xE6,0x70,0xBC,0x45,0xF5,0x81,0x8D,0x74,0x79,0x84,0xEB,0xCB,0xBF,0x58,0x82,0xF7, - 0xC4,0x7B,0xDB,0x02,0xDE,0x68,0x68,0x58,0x47,0x37,0x54,0xC9,0x2A,0x63,0x62,0x85, - 0x23,0x65,0x75,0xE5,0x70,0x8B,0x65,0x06,0x4A,0x77,0x15,0xE9,0xC9,0xA7,0xEB,0x5D, - 0x8D,0x9C,0x51,0x57,0xB0,0x16,0x87,0xE3,0x1D,0x4A,0xF7,0x7C,0x4F,0xB3,0x42,0x2B, - 0x54,0xAD,0xAA,0x62,0x5A,0x9D,0xD4,0x0E,0x58,0xE6,0xF5,0x57,0x41,0x25,0x74,0x72, - 0xE7,0x6A,0xB6,0x47,0x1E,0x78,0xA3,0xD2,0x89,0x15,0xFB,0xF7,0xEF,0x67,0x5B,0xE6, - 0xB8,0xEA,0x62,0x03,0x51,0xCC,0xF1,0x31,0xAE,0x0F,0xA8,0x2B,0x9D,0x8C,0x65,0xD4, - 0xAE,0xFF,0xF8,0xAB,0xD9,0x16,0x87,0xE3,0x1D,0x10,0x04,0xAB,0x3A,0xB4,0x89,0x6E, - 0x89,0xA8,0x60,0x7B,0x5C,0xE7,0xB7,0x11,0xC5,0x54,0xFE,0xF3,0x57,0x8A,0xA5,0x74, - 0x01,0xA6,0xFF,0x26,0xF5,0x18,0xC0,0x5A,0x86,0x42,0x04,0x72,0xC5,0xEE,0x11,0x40, - 0x1E,0x39,0x72,0xA4,0x4B,0x56,0x19,0x88,0x62,0x0E,0x0B,0x75,0xDD,0x40,0xA3,0x5E, - 0x91,0x52,0x34,0x4E,0x1A,0xBD,0x8B,0x8E,0x4D,0x16,0xAB,0x13,0x72,0x38,0xDE,0xE4, - 0xC4,0x8F,0x1F,0xD2,0xF4,0x33,0x3B,0xE9,0xD2,0x30,0xD7,0xDD,0xED,0xE9,0xE1,0x35, - 0x74,0x61,0xF5,0x6E,0x2A,0xDD,0xBD,0x8E,0xED,0x91,0xA7,0xF7,0xB0,0x69,0x14,0x11, - 0x61,0xDF,0xC5,0x56,0x0A,0x20,0x3B,0x8A,0xDB,0xDC,0x6C,0xA0,0x64,0x9D,0xA5,0x7F, - 0x44,0xF7,0xF4,0x44,0xDD,0x90,0xCB,0x6E,0x61,0x2D,0x0E,0xC7,0x7B,0xE4,0x7F,0xF9, - 0x02,0xDD,0x2F,0xEC,0x13,0xC5,0xE8,0x2C,0x78,0xED,0xAF,0xCF,0x6E,0xA7,0x23,0xFF, - 0x7B,0x85,0xED,0x51,0x66,0xE8,0xE5,0xBF,0xA6,0x84,0x84,0x6E,0x26,0x8B,0x2B,0x0D, - 0x08,0x83,0x2F,0xBE,0xF8,0x42,0x9C,0xCF,0xEC,0x6A,0xE0,0xCB,0x88,0xA2,0x98,0x2B, - 0x6A,0x1D,0x5F,0xC9,0x5D,0xE9,0xA4,0x10,0xBD,0x2B,0x2E,0x2E,0x36,0x59,0xE7,0x3E, - 0x23,0xA6,0xF0,0x40,0x18,0xC7,0xEB,0xB4,0xB7,0xB5,0xD2,0xFE,0x0F,0xFF,0x44,0x73, - 0xEB,0x36,0xD0,0x9F,0x23,0x8F,0x8B,0x8B,0xBA,0xA9,0x05,0x7D,0x64,0xBC,0x06,0xAF, - 0x3D,0xFA,0xF9,0x73,0xE2,0x7B,0xD9,0x22,0x6B,0xF0,0x24,0x8A,0xEA,0xD6,0x91,0x19, - 0xB6,0x65,0xCB,0x16,0xB3,0x5C,0x6C,0xB8,0xDB,0xE8,0x82,0xC2,0x2A,0x0F,0x1A,0x34, - 0xC8,0x65,0x17,0x1B,0xB8,0xD5,0x32,0x23,0x1A,0xA7,0x54,0xEE,0x24,0x37,0x37,0x97, - 0x6D,0x19,0x02,0x61,0x23,0x67,0xCE,0x63,0x2D,0x0E,0xC7,0x7B,0x40,0x84,0xF9,0xCB, - 0xFF,0x41,0x3D,0x76,0xBC,0x2F,0x2E,0xEA,0x76,0x7F,0x64,0x89,0xD9,0x02,0x86,0x96, - 0xE0,0xB9,0x47,0xA2,0x4B,0xE8,0x3F,0x51,0x7B,0xC5,0xD7,0xE0,0xB5,0xF6,0x84,0x0C, - 0xC6,0x5F,0xBF,0xC0,0x2C,0xF0,0x25,0xBD,0xFE,0xC1,0xCF,0x3F,0xFF,0x4C,0xA3,0x47, - 0x8F,0x76,0x9B,0x55,0x06,0x6E,0x15,0x33,0xB0,0x35,0xE6,0x2C,0x5D,0x20,0x8B,0x5B, - 0x67,0x4E,0x67,0x82,0xFE,0x2E,0x16,0x75,0x1B,0xBE,0x6F,0xA9,0xB8,0x80,0x21,0x56, - 0x27,0x7D,0x2F,0xE6,0xA0,0xD9,0x03,0xAB,0x91,0xE2,0xB9,0x81,0x3B,0xDE,0xA1,0x7D, - 0xFF,0x59,0x68,0xB7,0x8F,0x6C,0x44,0xCE,0x2A,0x4B,0x03,0x5F,0xB0,0xD0,0x88,0x6A, - 0x43,0x2B,0xEE,0x88,0x62,0x1B,0x11,0xC5,0x9C,0x12,0xE7,0x78,0x8D,0x5E,0x25,0x10, - 0x95,0x53,0x5A,0x58,0x6E,0xFD,0xFA,0xF5,0x6C,0xCB,0x60,0x9D,0x07,0x4E,0xBC,0x81, - 0xB5,0x38,0x1C,0xEF,0x83,0x48,0x74,0xE1,0xCF,0x5F,0x8B,0x0B,0x18,0x62,0x75,0xD2, - 0xC6,0x6F,0xFE,0x61,0xF6,0xC0,0x6A,0xA4,0x78,0xAE,0x70,0xE7,0x5A,0x9B,0x51,0x6B, - 0x4B,0x46,0xCD,0xF8,0x8D,0x4D,0xAB,0x0C,0x21,0x63,0x4E,0x03,0x5C,0x6C,0x47,0x0B, - 0xDD,0xDB,0xC2,0xED,0x96,0x19,0x7C,0xFD,0xF5,0xD7,0x66,0x73,0x9A,0x8D,0x58,0x5A, - 0xE7,0x01,0x13,0xAF,0xE3,0xF9,0xDA,0x1C,0x4D,0x80,0x2C,0x2E,0xCB,0xB9,0xDA,0xCE, - 0xAC,0x46,0x9A,0x98,0xD1,0x97,0xBA,0x26,0x75,0x54,0xD6,0xB1,0xB4,0xCA,0xC0,0xE8, - 0x62,0x4F,0x9A,0x34,0x89,0xED,0x71,0x0F,0x8A,0x62,0x76,0x64,0x4E,0xB3,0x25,0xBF, - 0xFE,0xF5,0xAF,0xE9,0x97,0x5F,0x7E,0x61,0x2D,0x73,0xA4,0xD6,0x39,0xB3,0x47,0x9A, - 0x6E,0xE0,0xA4,0xEB,0x59,0x8B,0xC3,0xF1,0x7D,0xC6,0xE9,0xFB,0xCA,0xB6,0xF2,0xB0, - 0x11,0xBD,0xC6,0xB8,0x32,0xDC,0x6B,0xA5,0xE2,0x1E,0xCE,0x62,0x43,0xCC,0x6D,0x6C, - 0xCB,0x71,0xEE,0xBC,0xF3,0x4E,0x5D,0x49,0x49,0x89,0xEC,0x6A,0xF0,0x96,0xD6,0x79, - 0xD8,0xF4,0xB9,0xDC,0x3A,0x73,0xFC,0x02,0x58,0xE5,0xE4,0x1E,0x1D,0x4B,0xCF,0xA0, - 0xAC,0x96,0xA5,0x87,0xEA,0x29,0xAB,0x0C,0x44,0x31,0x87,0x85,0xBA,0xF5,0x06,0x21, - 0xF2,0xF0,0xC3,0x0F,0xC3,0xC5,0x60,0x2D,0x73,0x76,0xEC,0xD8,0xC1,0xB6,0xB8,0x75, - 0xE6,0xF8,0x0F,0x96,0x56,0x59,0xEA,0x85,0x02,0x18,0x37,0x58,0xE6,0x89,0x13,0x27, - 0xBA,0xDD,0x2A,0x03,0x51,0xCC,0xB1,0xD1,0xEE,0xAF,0x8F,0x74,0xF3,0xCD,0x37,0xD3, - 0xD1,0xA3,0x47,0x65,0x17,0xC5,0xB2,0x74,0x3D,0x86,0x4D,0xBB,0x8D,0xAF,0x7C,0xC1, - 0xF1,0x69,0x30,0x67,0xD9,0x9E,0x55,0x86,0x11,0x1B,0x32,0x64,0x08,0x4D,0x9D,0x3A, - 0x95,0xED,0x71,0x2F,0x8A,0x6E,0x76,0x4B,0xAB,0xFA,0x01,0x75,0x39,0xD2,0xD2,0xD2, - 0x74,0xB3,0x67,0xCF,0xA6,0x9D,0x3B,0x77,0xB2,0x3D,0x1D,0x40,0xE0,0xCB,0x97,0x2F, - 0x37,0xB9,0xDA,0x99,0x59,0xE9,0xBA,0x31,0xD7,0x3C,0xC0,0x5A,0x1C,0x8E,0xEF,0x31, - 0xF5,0xCE,0x67,0x6D,0x5A,0x65,0x5C,0xF3,0x7B,0xF6,0xEC,0xF1,0x98,0x55,0x06,0x8A, - 0x62,0xAE,0x3D,0xE3,0x7A,0x75,0x86,0xDF,0xFD,0xEE,0x77,0x8A,0xB3,0x44,0x60,0x9D, - 0xA5,0x59,0x61,0x39,0x23,0xA6,0x88,0x7D,0x0E,0x0E,0xC7,0xD7,0x18,0x32,0xE5,0x16, - 0xEA,0x7D,0x41,0x1F,0x93,0x40,0xF7,0xED,0xDB,0x67,0x65,0x95,0x51,0x46,0x0B,0xC5, - 0x2F,0xAF,0xB8,0xC2,0x73,0xB3,0x06,0x15,0xC5,0xEC,0x0E,0x70,0x07,0x82,0x5B,0x51, - 0x50,0x50,0xC0,0xF6,0x98,0xB3,0x72,0x65,0x47,0x2D,0x6D,0xDC,0xD5,0xA6,0xDC,0xF9, - 0x57,0xD6,0xE2,0x70,0x7C,0x03,0x24,0x3E,0x0D,0xBF,0x7C,0x2E,0x6B,0x19,0x58,0xBD, - 0xDA,0x7A,0x5A,0xE4,0xA6,0x4D,0x9B,0x68,0xCA,0x94,0x29,0x34,0x76,0xEC,0x58,0x8F, - 0x58,0x65,0x20,0x8A,0x19,0x45,0xEF,0x3D,0xC5,0x43,0x0F,0x3D,0x44,0x07,0x0E,0x1C, - 0x60,0x2D,0x73,0x70,0xF7,0xC2,0x38,0x1C,0x6B,0x52,0x6C,0x62,0x0A,0xF5,0x1F,0x3F, - 0x8B,0xB5,0x38,0x1C,0xED,0x73,0xC9,0xCD,0x7F,0xA0,0x8C,0x9E,0x69,0x26,0x81,0xAE, - 0x5A,0xB5,0xCA,0x6A,0x5C,0x19,0xD7,0x39,0xDC,0x6C,0x0C,0xD9,0x7A,0x12,0x45,0xCB, - 0xDC,0xDA,0x66,0xD2,0x98,0x4B,0x4C,0x9E,0x3C,0x59,0xFC,0x43,0xEB,0xEB,0xEB,0xC5, - 0xB6,0x25,0xD2,0xBE,0x45,0x72,0x4A,0x82,0x6E,0xD4,0xAF,0xE6,0xF1,0x34,0x4F,0x8E, - 0x4F,0x90,0x96,0x33,0x8C,0x32,0x2F,0x18,0xC9,0x5A,0x86,0x92,0x40,0xD2,0x91,0x1A, - 0x23,0x18,0x8E,0x9A,0x36,0x6D,0x9A,0x5B,0xE6,0x2C,0xDB,0x42,0xB9,0xCF,0x5C,0x6F, - 0x3F,0x99,0x5C,0x2D,0x4F,0x3D,0xF5,0x14,0xED,0xDD,0xBB,0x97,0xB5,0xCC,0x69,0x6A, - 0x6A,0xA2,0xCF,0x3E,0xFB,0xCC,0x74,0xE7,0xE8,0x99,0x9D,0xA9,0x1B,0x37,0xFB,0x41, - 0xD6,0xE2,0x70,0xB4,0x09,0x72,0x23,0x26,0xDF,0xFA,0x47,0x4A,0x4B,0xEF,0x48,0xDB, - 0x44,0xB7,0xD1,0x72,0xF4,0x06,0x56,0x1A,0xB3,0xA3,0x9E,0x79,0xE6,0x19,0xB6,0xC7, - 0x73,0x78,0xB4,0xCF,0x6C,0xE4,0x9A,0x6B,0xAE,0xD1,0x61,0x98,0x4A,0x69,0xF5,0x0B, - 0x04,0xC9,0xB0,0x5C,0x07,0x6B,0x52,0xD6,0xA0,0x09,0x3C,0x18,0xC6,0xD1,0x34,0xC8, - 0x8D,0xE8,0xD3,0xAF,0x9F,0x49,0xC8,0xA8,0x75,0x27,0xB7,0xD6,0x32,0xAE,0x6D,0x24, - 0x88,0x64,0x65,0x65,0x79,0xD4,0x2A,0x03,0x51,0xCC,0xA9,0xF1,0x9E,0xCF,0xC0,0x7A, - 0xE0,0x81,0x07,0x44,0xEB,0x2C,0x57,0x63,0x1B,0x48,0x83,0x06,0x08,0x86,0x4D,0xBB, - 0xFB,0x39,0x9E,0x19,0xC6,0xD1,0x24,0x58,0x6A,0x66,0xC4,0x15,0x77,0xB0,0x96,0x81, - 0x75,0xEB,0xE4,0x67,0x54,0x6D,0xDE,0xBC,0x99,0x5E,0x7E,0xF9,0x65,0xD6,0xF2,0x2C, - 0x5E,0xB1,0xCC,0x60,0xC1,0x82,0x05,0xBA,0xE5,0xCB,0x97,0xD3,0xA8,0x51,0xA3,0xD8, - 0x1E,0x73,0x2C,0x83,0x61,0xB8,0xEB,0x5D,0x32,0x67,0x21,0x6B,0x71,0x38,0xDA,0x00, - 0x06,0xE6,0xCA,0xDF,0x2E,0xA6,0xF4,0xCC,0x14,0x93,0xA5,0x95,0x0B,0x7A,0x01,0xA4, - 0x2E,0x8F,0x18,0x31,0xC2,0x2B,0x56,0x19,0x28,0x8A,0xD9,0x99,0x4A,0x23,0xF6,0xB8, - 0xE9,0xA6,0x9B,0x44,0xB7,0x23,0x31,0x31,0x91,0xED,0x31,0x07,0x77,0x37,0xB3,0x8A, - 0x24,0xC3,0x27,0x51,0xEF,0xA1,0x53,0x58,0x8B,0xC3,0xE9,0x7C,0x60,0x60,0x2E,0x18, - 0x34,0xD0,0x24,0x4E,0x64,0x7A,0x6D,0xDD,0xBA,0x95,0xB5,0xCC,0x39,0x78,0xF0,0x20, - 0x3D,0xFA,0xE8,0xA3,0xAC,0xE5,0x79,0xBC,0x66,0x99,0x01,0x5C,0xED,0x57,0x5F,0x7D, - 0x95,0xA6,0x4F,0x9F,0xCE,0xF6,0x98,0x83,0xE0,0xC1,0xE7,0x9F,0x7F,0xCE,0x5A,0x44, - 0x69,0xDD,0x53,0x74,0x97,0xDC,0xFC,0x28,0x5F,0xAC,0x9D,0xA3,0x09,0x60,0x58,0x60, - 0x60,0xA4,0xAC,0x58,0xB1,0x82,0x6D,0x99,0x53,0x59,0x59,0x49,0xED,0xED,0xED,0x48, - 0x12,0xF1,0x8A,0x55,0x06,0xA2,0x98,0xE3,0x62,0x3C,0xB7,0x4A,0x9E,0x94,0xEC,0xEC, - 0x6C,0x1D,0xA6,0x7E,0xC1,0x3A,0x2B,0x95,0x4B,0xA9,0xAB,0xAB,0xA3,0x4F,0x3E,0xF9, - 0xC4,0x64,0x9D,0x33,0x7B,0xA6,0xEB,0xE0,0xD6,0xF0,0xFE,0x33,0xA7,0x33,0x81,0x41, - 0x81,0x61,0x81,0x81,0x61,0xBB,0xE8,0x9D,0x77,0xDE,0x11,0x30,0x1A,0x23,0x07,0xBA, - 0x8D,0x77,0xDD,0x75,0x17,0x6B,0x79,0x07,0x51,0xCC,0x61,0x21,0xDE,0x33,0xD0,0x4F, - 0x3E,0xF9,0x24,0x56,0x86,0xA7,0xEB,0xAF,0xBF,0x5E,0x76,0x15,0x0C,0x80,0xBE,0x86, - 0xB4,0xFF,0x0C,0xB7,0x86,0xF7,0x9F,0x39,0x9D,0x85,0xB1,0x9F,0x0C,0xC3,0xC2,0x76, - 0x89,0xFD,0x64,0xB9,0xE8,0x35,0x88,0x8A,0x8A,0x12,0x03,0x5F,0x88,0x13,0xB1,0x5D, - 0x5E,0x41,0x51,0xC5,0x35,0xF5,0x9E,0x59,0x39,0xCF,0xB8,0x64,0x25,0x42,0xF9,0xB3, - 0x66,0x29,0x67,0x7B,0xF1,0xFE,0x33,0x47,0x2B,0x38,0xD2,0x4F,0xC6,0x68,0x4D,0x4B, - 0x4B,0x8B,0x18,0x1F,0xF2,0x36,0x8A,0x62,0x6E,0x39,0x6F,0xD2,0x91,0xDB,0x31,0x5A, - 0x67,0xE4,0x6E,0x8F,0x19,0x33,0x86,0xED,0x35,0x87,0xF7,0x9F,0x39,0x5A,0xC0,0x91, - 0x7E,0x32,0x98,0x31,0x63,0x06,0x7D,0xF8,0xE1,0x87,0x74,0xCF,0x3D,0xF7,0xB0,0x3D, - 0xDE,0x43,0x14,0x73,0x6A,0x42,0x84,0x57,0xDD,0x01,0x24,0x91,0xE0,0xCE,0x86,0xF4, - 0x37,0x04,0x08,0x94,0xCA,0xF3,0xCA,0xF5,0x9F,0x67,0xDC,0xFF,0x4F,0x3E,0xF7,0xD9, - 0x87,0x39,0x7E,0xAA,0x91,0x7E,0x3C,0x70,0x8A,0xBE,0xFE,0xA5,0x8C,0x96,0xAC,0x3F, - 0x41,0x9F,0x6C,0x2A,0x12,0xDB,0xDB,0x8F,0xD6,0x50,0x43,0x93,0xE7,0x96,0x5E,0x75, - 0x06,0x24,0x2E,0x4D,0xBA,0xE5,0x0F,0xAA,0xFB,0xC9,0x88,0x07,0x21,0xDB,0xAB,0x5F, - 0xBF,0x7E,0x1E,0x9B,0xE6,0x68,0x0B,0xD3,0x2F,0x9C,0xF6,0xFB,0x5C,0x33,0x53,0x8C, - 0xC9,0x17,0x4B,0x9F,0x18,0xE1,0xB1,0x13,0x5A,0xBC,0x78,0xB1,0x50,0x58,0x58,0x88, - 0x01,0x75,0xF1,0x77,0x3C,0xF7,0xDC,0x73,0x8A,0x1F,0x12,0xA2,0xDF,0xD2,0xD9,0x26, - 0x87,0xF7,0xED,0x17,0x3E,0x7F,0xEE,0x36,0x6A,0x3B,0xEF,0xFE,0x65,0x3A,0x39,0xEE, - 0x07,0x22,0xDD,0x98,0x57,0x45,0xBB,0x8E,0xD7,0x51,0x53,0xAB,0xED,0x72,0x54,0x99, - 0x09,0x5D,0x68,0x42,0xBF,0x24,0xEA,0x9F,0x1E,0xC3,0xF6,0x74,0x0E,0xF0,0x00,0x67, - 0x3F,0xF6,0xBE,0x55,0x3F,0x59,0xC9,0xBD,0xC6,0x70,0xEB,0x7D,0xF7,0xDD,0xA7,0xD3, - 0x77,0x1D,0x05,0x4C,0xA8,0x80,0xC1,0x62,0x4F,0x79,0x0D,0xD3,0x2F,0xB4,0x14,0x33, - 0x58,0xF3,0xD2,0x04,0x8F,0x9E,0x50,0x6C,0x6C,0xAC,0xA0,0xB7,0xBE,0xE2,0xEF,0x40, - 0x3F,0x64,0xD9,0xB2,0x65,0xE2,0x7E,0x4B,0xD0,0x0F,0x41,0x1F,0x24,0x27,0x27,0xC7, - 0x74,0x3E,0xFB,0x77,0x6C,0x15,0xBE,0x7A,0xE9,0x5E,0x2E,0x68,0x8D,0xB3,0x76,0x6F, - 0x05,0x6D,0x29,0xA8,0xA1,0xF3,0x6D,0xAC,0xD8,0x05,0xD2,0x74,0x87,0x5E,0x46,0x94, - 0x9E,0x63,0xD8,0x6E,0xD1,0xDF,0xC0,0xF3,0x77,0xE8,0x4D,0xF6,0x3E,0xA2,0x5D,0xDF, - 0x1B,0xDA,0x7A,0x52,0x63,0x23,0xE8,0x86,0xB1,0x19,0x94,0x18,0xE3,0xFD,0x51,0x0C, - 0x08,0x79,0xD6,0x43,0x6F,0x52,0x76,0x4E,0x6F,0xD3,0xF5,0x86,0x18,0x8F,0x92,0x7B, - 0x8D,0xEB,0x73,0xDE,0xBC,0x79,0x62,0x1E,0xF6,0xE4,0xC9,0x93,0x61,0x9D,0x3D,0xAA, - 0x1B,0x25,0x4C,0xBF,0xB4,0x33,0xC4,0xFC,0xE0,0x83,0x0F,0x0A,0x3D,0x7B,0xF6,0x34, - 0x45,0xFD,0x6C,0xDD,0xF9,0xF0,0x81,0x21,0xD4,0x8F,0x0A,0x26,0x6C,0x17,0xED,0xF8, - 0x71,0xB5,0xF0,0xED,0x1B,0x0F,0xB1,0x16,0x47,0x4B,0xC0,0x02,0x7F,0xB6,0xE5,0x24, - 0x15,0x94,0xB3,0xCC,0xA8,0xD1,0x57,0x11,0xDD,0xF4,0x07,0xA2,0xEC,0x41,0x86,0xB6, - 0x1C,0x10,0xF2,0x77,0x4B,0x88,0xBE,0x7C,0x99,0xA8,0xB6,0x82,0x22,0xC2,0x82,0x69, - 0xCE,0xB8,0x4C,0xCA,0x4E,0x8E,0x62,0x07,0x78,0x1E,0x74,0xE1,0xAE,0x7D,0xF4,0x7D, - 0xCA,0xB9,0xB0,0xC3,0x4D,0xC6,0xEA,0x8D,0xE8,0x07,0x2B,0x81,0x40,0x2E,0x02,0xBB, - 0x96,0xD7,0xB3,0xB7,0x31,0xFD,0xD2,0x1B,0x9F,0xDC,0x26,0x58,0x56,0x17,0xF1,0xB4, - 0x98,0xD1,0x67,0xD6,0xBB,0xCF,0x66,0x77,0x32,0xF4,0x49,0x94,0x42,0xFE,0x18,0xCA, - 0x82,0xA0,0xA5,0x8B,0x52,0x6F,0xFC,0xFA,0xBF,0xC2,0x8F,0x4B,0x3D,0x3F,0x23,0x85, - 0xA3,0x9E,0xF3,0x6D,0x82,0xBE,0x3F,0x7C,0x9C,0x8A,0xAB,0xCF,0x11,0x45,0x75,0x23, - 0x7A,0xEC,0x23,0xA2,0x81,0x13,0xD8,0xB3,0x2A,0x80,0xA8,0x5F,0xBC,0x93,0xE8,0xE7, - 0x6F,0x28,0x24,0x38,0x88,0xE6,0x8C,0xCF,0xA4,0x9C,0x54,0xCF,0xC7,0x49,0x30,0x04, - 0x35,0xFB,0xB1,0x0F,0xCC,0x22,0xD7,0x98,0x00,0x04,0x21,0x5B,0xCE,0x86,0x32,0x82, - 0x7E,0xB2,0xD1,0xA5,0x4E,0x4D,0x4D,0x45,0x85,0x11,0x8F,0x6A,0xC6,0x16,0xA6,0x68, - 0xB6,0x3B,0x96,0x75,0x75,0x14,0x58,0x59,0x7C,0x18,0xD2,0x7A,0x60,0xBF,0xF9,0xCD, - 0x6F,0x14,0xC7,0x9F,0xD1,0xA7,0xB6,0xBC,0x43,0xF6,0x1F,0x33,0x85,0x46,0xFD,0x6A, - 0x3E,0x6B,0x71,0xB4,0xC0,0xF2,0xED,0x25,0x06,0x21,0xC7,0xA5,0x10,0x2D,0x5A,0xEB, - 0x98,0x90,0x41,0x98,0xFE,0xFB,0xC7,0x0D,0xE0,0xD2,0x9B,0x45,0xF7,0xFC,0xB3,0xAD, - 0x27,0xA9,0xBC,0x4E,0x3E,0x9E,0xE2,0x2E,0x20,0xE4,0xAB,0x7F,0xFF,0xBA,0x99,0x90, - 0x61,0x6C,0xD0,0xF5,0x53,0x12,0x32,0xFA,0xC9,0x46,0x21,0x23,0x06,0xD4,0x19,0xC3, - 0x51,0x52,0x6C,0x2A,0xB8,0xBC,0xBA,0xC9,0xCA,0xF5,0x76,0x37,0xC6,0x61,0x2A,0x29, - 0xB7,0xDC,0x72,0x8B,0xE2,0xEC,0x2A,0x44,0xB8,0xDF,0x78,0xE3,0x0D,0xD3,0x79,0x25, - 0x26,0x25,0xE8,0x86,0x5E,0x76,0x03,0x0D,0xB8,0x64,0x36,0xDB,0xA3,0x0D,0x9A,0xB2, - 0x27,0x50,0xFD,0xF8,0x7B,0xC5,0x47,0x7B,0x94,0x7C,0x2E,0xBA,0x94,0xB3,0xFD,0xAE, - 0x70,0xFA,0x78,0x21,0xD8,0x7E,0xBF,0xB2,0xE1,0xA2,0x1B,0x9C,0x3A,0xFE,0xCC,0x18, - 0xC7,0xB2,0x98,0x0E,0x95,0x9C,0xA1,0x7D,0x45,0xA7,0x89,0x42,0xF5,0xBF,0xE3,0x0F, - 0xFA,0x1B,0x2F,0xFA,0xC5,0xCE,0x72,0xFF,0xEB,0x44,0xC3,0xA6,0x50,0x53,0x4B,0x1B, - 0x7D,0xB9,0xAD,0x84,0xED,0xF4,0x0C,0x97,0xFF,0xE6,0x6F,0x34,0x70,0xC4,0x18,0x33, - 0xAB,0x0A,0x21,0x2B,0x05,0x65,0x61,0x70,0x10,0xF0,0x62,0x4D,0xFA,0xCF,0x7F,0xFE, - 0xE3,0xF1,0x4A,0x22,0xF6,0xF0,0xBE,0x39,0xB6,0x00,0x7D,0x0D,0x7C,0x30,0xD2,0x8C, - 0x2F,0xAC,0xBF,0x83,0xBB,0x9C,0x92,0xA0,0x91,0x2A,0x07,0x77,0x9C,0x35,0x29,0x25, - 0x2D,0x59,0x37,0x7E,0xF6,0xEF,0x34,0x23,0x68,0x88,0xA5,0xE6,0xCA,0x67,0x4D,0xE2, - 0xA9,0x1F,0xA3,0x77,0x19,0x6D,0x00,0xF1,0xD6,0x5E,0xE5,0xFC,0xF1,0x8D,0x7A,0xE1, - 0xD9,0xA2,0x35,0xB9,0x1F,0xD5,0x4D,0xFB,0xB3,0x53,0xC7,0x9F,0xBE,0xE4,0x41,0x3A, - 0x97,0x73,0x19,0x7B,0xC6,0x3E,0x18,0x66,0x12,0xB9,0xED,0x29,0x22,0x49,0x15,0x0E, - 0xA7,0xC1,0x0D,0x41,0x6F,0xE1,0x61,0x99,0x71,0xA3,0xF0,0x04,0x57,0xCE,0x7F,0x91, - 0x46,0x4C,0x9E,0x6E,0x26,0x64,0x58,0x5A,0x18,0x0E,0x39,0x70,0xBD,0xCE,0x9D,0xDB, - 0x51,0xF7,0xEB,0xC7,0x1F,0x7F,0x14,0x62,0x63,0x63,0x4D,0x09,0x51,0x9D,0x85,0x49, - 0xCC,0xDE,0x98,0xD3,0xAC,0xC4,0xC2,0x85,0x0B,0x69,0xD1,0xA2,0x45,0xAC,0x65,0x00, - 0x91,0x6B,0x0C,0xC0,0x2B,0x81,0x7E,0xF5,0xD2,0xA5,0x4B,0x4D,0x82,0xC6,0x42,0x5D, - 0x13,0xAE,0xFB,0xAD,0x26,0x5C,0x6E,0x88,0x45,0x6A,0x5D,0x2D,0xDB,0x96,0x40,0xBC, - 0x52,0x6B,0xE9,0xE8,0xF1,0x96,0x6D,0x4B,0xEA,0xC7,0x9B,0x7F,0x26,0x0E,0x1F,0x6F, - 0xD1,0x56,0x02,0x62,0x13,0xDD,0x61,0x04,0xB9,0x66,0x5A,0xBF,0xE6,0xEE,0x91,0xFA, - 0xFE,0xF3,0xAC,0x58,0xDD,0x58,0xD6,0x96,0x62,0x7C,0x8E,0x35,0x3B,0x80,0xCB,0x7D, - 0xAD,0xA1,0xF2,0xCC,0xD6,0x82,0x6A,0xF1,0xA7,0xBB,0x80,0x6B,0x7D,0xDD,0xC2,0xF7, - 0xAD,0x84,0x0C,0xCF,0x4F,0x49,0xC8,0x30,0x30,0x28,0x21,0x2D,0x0D,0xC4,0xBE,0xF2, - 0xCA,0x2B,0xE2,0x24,0xA2,0xCE,0xC6,0xA6,0x65,0x6E,0x39,0xEF,0x5A,0xED,0x6C,0xB5, - 0xA0,0xDF,0x81,0xD2,0xBB,0xD2,0x6A,0x23,0x00,0x77,0x3A,0xA5,0x19,0x56,0x00,0xE5, - 0x4B,0xA5,0xFD,0x6D,0x58,0xE8,0x11,0x97,0xCF,0xA1,0xC9,0xB7,0xFE,0x99,0xED,0xF1, - 0x3E,0x10,0x89,0xA5,0x65,0x95,0xDB,0x67,0x04,0xA2,0xB5,0xB4,0x94,0x8E,0x1E,0x2F, - 0xB7,0xCF,0x08,0xAC,0xAC,0xA5,0x65,0x75,0xF4,0x78,0xB9,0x7D,0x72,0xE4,0x95,0xB0, - 0x3A,0x6F,0x88,0x5C,0xCB,0xF0,0x76,0xA9,0xA1,0x14,0xD5,0x0D,0x56,0x43,0xC8,0xA1, - 0x74,0x75,0x77,0xA2,0x6F,0xB6,0xD7,0x99,0x7D,0xFF,0x26,0xF4,0x7D,0x67,0xB8,0xED, - 0xE8,0x87,0xDB,0x1B,0xA7,0x56,0x0B,0xA2,0xD6,0xD7,0x3C,0xF2,0x0E,0x0D,0x18,0x6E, - 0x5E,0x97,0x0B,0x06,0x02,0x9E,0x9F,0x12,0x10,0xB2,0x74,0x88,0x14,0xFD,0x6A,0x8C, - 0xC0,0x74,0xC6,0xB8,0xB2,0x25,0x36,0xC5,0xEC,0x8E,0xDA,0xD9,0x6A,0xC1,0x9D,0x0D, - 0x77,0x38,0x4B,0x90,0x2C,0x32,0x61,0x82,0x72,0x00,0x05,0x37,0x01,0xA9,0x85,0x46, - 0x1F,0xFA,0xE2,0x99,0x37,0xEA,0xE0,0x3A,0x75,0xC6,0x4C,0x2B,0xA9,0x55,0x0D,0xAE, - 0xEF,0xE8,0xE7,0x49,0xF7,0x4B,0x91,0x5A,0xC9,0xA0,0xA6,0x0E,0x37,0x52,0xCD,0xF1, - 0xD2,0xF7,0x97,0xEE,0x97,0x22,0xB5,0xAA,0xD2,0xF7,0x57,0x73,0xBC,0xD9,0xFB,0xAB, - 0xB0,0xCE,0xA6,0x61,0xA8,0x09,0xD7,0x1A,0x7E,0x5A,0x52,0xD2,0x4A,0xDF,0x08,0x82, - 0x30,0x23,0xDD,0xE2,0xB2,0x4B,0x0F,0xA5,0xAB,0x74,0x3A,0xDD,0x57,0x4A,0xDD,0x62, - 0x44,0xC4,0xF5,0x2E,0x3B,0x82,0x61,0x05,0x65,0xD6,0x45,0x00,0x1C,0x05,0x05,0x23, - 0x31,0xFC,0x74,0xE1,0xD0,0xE1,0x56,0x16,0x19,0x06,0x42,0x09,0x78,0x8A,0x96,0x99, - 0x5D,0xF0,0x28,0xE1,0x59,0x6A,0x01,0xD3,0xA7,0x1A,0xEA,0xC5,0x99,0x53,0x72,0x60, - 0x6C,0x0E,0x83,0xF2,0xB8,0xD3,0xB1,0x5D,0x26,0xA6,0x4E,0x9D,0x2A,0x46,0xBD,0x95, - 0xC0,0x17,0x20,0xED,0x43,0x03,0xB8,0x4E,0x88,0x4E,0x7A,0x5A,0xD0,0x10,0x5C,0x73, - 0xE6,0x48,0xD3,0x43,0x6A,0x51,0x63,0xBF,0xFF,0x3B,0x75,0x29,0xF8,0x5E,0xDC,0x96, - 0xB3,0xB6,0x96,0x16,0x32,0x6E,0xD5,0x13,0x14,0x7A,0x2A,0x4F,0xDC,0x56,0x73,0x7C, - 0xE2,0x97,0x0F,0x98,0x8E,0xB7,0x7C,0x0E,0x58,0x5A,0xD4,0x84,0xCF,0xE7,0x51,0x50, - 0x63,0x95,0xB8,0x6D,0xEF,0x78,0x5D,0x5B,0x33,0x25,0x7F,0x72,0x87,0xE9,0x78,0x3C, - 0xD7,0x30,0xFC,0x56,0xB3,0xBF,0x55,0xFA,0x38,0x9D,0x3C,0xC4,0x90,0x8E,0x09,0xE1, - 0x29,0x06,0xBD,0x5A,0xE9,0xAB,0x52,0x7D,0x17,0xAA,0x5F,0x57,0x33,0x57,0xFB,0xEE, - 0xEE,0x86,0xE5,0x91,0xDE,0x16,0xFF,0x57,0x80,0x45,0xC4,0xEB,0xCE,0xBA,0x56,0x68, - 0x52,0xCC,0xEC,0xFA,0x83,0xF9,0x38,0x32,0x78,0xF5,0xD5,0x57,0x6D,0x5A,0x64,0xD4, - 0xF1,0x92,0xAB,0xAE,0x89,0x6B,0xB6,0xB3,0xA3,0xD8,0x46,0x4C,0x0A,0x8E,0xF7,0xD2, - 0x9C,0x66,0x5B,0x60,0xF0,0x5D,0x29,0x0B,0x0C,0x6E,0x0C,0x16,0xA7,0x56,0x02,0x7D, - 0x68,0x69,0x94,0x1B,0x20,0x3A,0x79,0xE3,0x9F,0x3F,0xF6,0x68,0x2E,0xF7,0xB9,0x5E, - 0x13,0xA8,0x72,0xCE,0x12,0xD3,0x03,0x22,0x01,0x10,0x19,0x84,0xDC,0x75,0xD3,0x1B, - 0x62,0x1B,0x58,0x5A,0x5B,0xA9,0x75,0x74,0xF4,0x78,0x1C,0x8B,0xD7,0x48,0x8F,0x97, - 0x3E,0x0F,0xA4,0xD6,0x14,0xC7,0x87,0x97,0xEE,0xA1,0xAE,0x5B,0xFF,0xCD,0xF6,0xD8, - 0x3E,0x3E,0x6A,0xF7,0xA7,0x14,0x7C,0xBA,0xC4,0xEC,0xF8,0xBA,0xCB,0x16,0x9A,0xFD, - 0xAD,0xD2,0x47,0xF1,0xA4,0x3F,0x19,0x0E,0xC2,0x70,0x94,0x0D,0xDE,0xCE,0x6B,0xA2, - 0x02,0xE1,0xBC,0xD0,0xE1,0x6A,0xDB,0x71,0xB1,0x8D,0x24,0xF7,0x10,0x7F,0xB8,0x92, - 0xBF,0x8D,0x5C,0x6B,0xA4,0x68,0x66,0xF5,0xE9,0x65,0x12,0x25,0x8C,0x07,0x82,0x5D, - 0x55,0x55,0x86,0x9B,0x96,0x1C,0x28,0xFD,0x63,0x2C,0x19,0x2D,0x65,0xC9,0x92,0x25, - 0x02,0x44,0x2E,0xED,0x3F,0x77,0x26,0x36,0xCD,0xB1,0x2B,0x6B,0x34,0x3B,0x03,0xDC, - 0x15,0x39,0x57,0xDB,0xC8,0xAD,0xB7,0xDE,0x6A,0x53,0xD0,0xB8,0xB3,0xE2,0x8B,0xA9, - 0xAC,0xAC,0x34,0x5D,0x18,0xA8,0x25,0x06,0x97,0x2A,0x36,0xB5,0x27,0xDB,0xE3,0x1D, - 0x8C,0x22,0x33,0x8A,0x14,0x48,0xAD,0xAD,0xA5,0x65,0x34,0x1E,0x6F,0x14,0x29,0x70, - 0xF4,0x78,0xE9,0x31,0x96,0x56,0xD9,0x78,0x3C,0x44,0x2A,0x67,0x9D,0x2D,0xAD,0xB2, - 0x51,0xC4,0xD2,0xE3,0x6D,0xD1,0x72,0x86,0x05,0x8C,0x60,0x99,0x6D,0x71,0xA6,0x95, - 0x56,0x9E,0x09,0x26,0x93,0xAB,0x6D,0xCF,0xC5,0xB6,0x00,0x09,0x29,0xCE,0x80,0xD9, - 0x4F,0x33,0xEF,0x7F,0xD5,0x2C,0xD7,0x1A,0x53,0x6C,0xDF,0x7F,0xFF,0x7D,0x71,0xB8, - 0x53,0x09,0x78,0x84,0x33,0x67,0xCE,0x94,0x15,0xAB,0x56,0x02,0x5F,0x46,0xEC,0x88, - 0xD9,0x3D,0xC1,0x06,0xB5,0xE0,0x0E,0x87,0x29,0x91,0xD2,0x99,0x52,0x96,0xD8,0x13, - 0x34,0xBE,0x98,0x77,0xDF,0x7D,0xD7,0xCC,0x5D,0x87,0x4B,0x75,0xCD,0x43,0x6F,0x53, - 0xDF,0xD1,0x57,0xB2,0x3D,0xEE,0x23,0xB8,0xA1,0x8A,0x22,0x8A,0xB7,0x9B,0x3D,0x22, - 0xF3,0x56,0x99,0x04,0x0C,0xA4,0xD6,0xD3,0x68,0x6D,0xA5,0x56,0x51,0x2A,0x78,0x60, - 0xEF,0x78,0xA9,0x80,0x81,0xF4,0x78,0xE3,0x71,0x96,0x56,0xD9,0x78,0xBC,0x54,0xA8, - 0x40,0xEE,0x78,0xA9,0x80,0x71,0x7C,0xB7,0x9F,0x5E,0xB6,0xFA,0x1B,0x2D,0x1F,0x89, - 0xC4,0x04,0x51,0x5B,0x61,0xF8,0xA9,0x48,0x3B,0x7D,0x5A,0xDA,0x66,0x72,0xB5,0xE1, - 0x62,0x17,0xE4,0xD5,0x0B,0x36,0x5D,0x6C,0xC0,0xDE,0x37,0x3A,0x22,0x58,0xFC,0xE9, - 0x08,0x17,0xDF,0xF8,0x08,0x5D,0xFA,0xEB,0xC7,0x29,0x33,0x2B,0xC3,0x24,0x4A,0xA4, - 0x68,0x42,0xC8,0x4A,0xE3,0xC8,0x40,0x9A,0xDD,0x65,0x09,0x86,0x52,0x31,0x44,0xD5, - 0xD9,0xC3,0x51,0x52,0x4C,0x27,0xF2,0x8F,0x4F,0x0A,0x84,0x35,0xDB,0xCD,0xBF,0x88, - 0x87,0x6E,0xCA,0xA1,0xCB,0x47,0x75,0x4C,0xFF,0xF2,0x06,0x48,0x68,0xBF,0xFD,0xF6, - 0xDB,0x11,0xD8,0xB2,0xF9,0x7B,0x11,0xC5,0xB6,0x5C,0x1A,0x56,0x0A,0x86,0x10,0x2C, - 0x27,0x67,0x54,0x94,0x55,0x0A,0xC7,0xF6,0x6D,0xA2,0x1F,0xDE,0x7F,0xC6,0xEB,0x13, - 0x34,0xAA,0xAF,0x79,0xC5,0x64,0xF9,0x20,0xF6,0x73,0x39,0x97,0x9A,0xC4,0x99,0xB0, - 0xFC,0x01,0x33,0x31,0x83,0x8A,0xB9,0x9F,0x8B,0xD6,0x12,0x58,0x1E,0x9F,0xF2,0xFE, - 0x6C,0x33,0x31,0x03,0xE9,0xF1,0x51,0xFB,0x57,0x50,0xE3,0xC0,0x8E,0xC2,0x0F,0x96, - 0xC7,0xE3,0x7D,0xCA,0xE6,0x7D,0x27,0xDE,0x24,0x80,0xF4,0x78,0x88,0x37,0xED,0xCD, - 0xCB,0x55,0x59,0x63,0x4B,0x9E,0xF9,0xE2,0xA0,0xC1,0x72,0x7E,0x54,0x68,0xDB,0x42, - 0xC7,0x84,0x53,0xC1,0xA5,0xA1,0xB4,0xF2,0x87,0x66,0xEA,0x7B,0x69,0x38,0xE5,0xFF, - 0xD0,0x40,0x0B,0xEC,0x0D,0x21,0xBF,0xF9,0x7B,0xA2,0xD5,0xEF,0xD1,0xCC,0xE1,0x69, - 0x34,0xB2,0x77,0x3C,0xDB,0x69,0x1B,0x04,0xBA,0x7E,0xB5,0xE0,0x4D,0xEA,0x3B,0xE0, - 0x42,0xB3,0x6B,0xC9,0xD6,0xA4,0x09,0x23,0x70,0x9F,0xE5,0x5C,0x6B,0x23,0xFA,0x6B, - 0x4B,0xB8,0xFA,0xEA,0xAB,0x69,0xCE,0x9C,0x39,0x5E,0xD5,0x87,0x2D,0x4C,0x96,0x39, - 0x39,0xAE,0xF3,0xFB,0xCC,0x00,0x77,0x3A,0x0C,0xC0,0x63,0x20,0x9E,0xED,0x92,0x05, - 0x77,0x4C,0x5B,0x51,0x6E,0xA4,0xE0,0xA1,0xFF,0xBD,0x7D,0xFB,0x76,0xD3,0xFB,0xA4, - 0xA4,0x25,0xE9,0xC6,0x4E,0x9B,0x25,0xF6,0xA3,0x3B,0xCB,0xED,0x06,0xC8,0xDE,0x32, - 0x0A,0xD3,0xD2,0x2A,0x1B,0x51,0x3A,0xDE,0xD2,0x2A,0x1B,0x31,0xB3,0xE6,0x12,0x21, - 0xCB,0x1D,0x6F,0x69,0x9D,0xA5,0xC7,0xAB,0x75,0xAB,0xE5,0xC8,0x4C,0x88,0x34,0x6C, - 0xFC,0xFC,0x8D,0xE1,0xA7,0x12,0x46,0x57,0x7B,0x64,0xB8,0xDE,0xC5,0x0E,0xD1,0x7D, - 0xAA,0x26,0x17,0x84,0xBD,0xA7,0xDA,0x49,0x17,0x99,0x17,0x8E,0xA5,0x9B,0xFE,0xF4, - 0x5F,0x2B,0x21,0xE3,0xBA,0xB2,0x27,0x64,0x44,0xAD,0x6D,0x09,0xD9,0x38,0x1C,0xA5, - 0x25,0x21,0x03,0x9B,0x6E,0x76,0x67,0xA1,0x34,0x4C,0x65,0x09,0xA2,0xDC,0xB6,0xC6, - 0xA1,0x21,0x68,0x2C,0x19,0x22,0x5D,0xFE,0x06,0xA0,0x1F,0xED,0x29,0xB7,0x5B,0x09, - 0x35,0xA2,0x95,0xA2,0x46,0xB4,0x52,0x1C,0x3D,0x5E,0x4E,0xB4,0x96,0x22,0x77,0x94, - 0x81,0x99,0x5D,0x0D,0x1B,0xF6,0xC4,0x6C,0x74,0xB5,0xBB,0x86,0xE8,0xE0,0x62,0x6F, - 0x61,0x7B,0x15,0xC1,0xFB,0xE9,0xDD,0x6C,0x4C,0x87,0x54,0x33,0x25,0x12,0x6E,0xF5, - 0xF4,0x7B,0x9E,0x33,0x5B,0xD0,0x0D,0x20,0x60,0x65,0xB9,0x6E,0xB2,0x14,0x63,0x42, - 0x88,0xBD,0x35,0xA1,0xDE,0x7C,0xF3,0xCD,0x4E,0x4F,0xDD,0x94,0xC3,0xA6,0x98,0x6B, - 0x3D,0x54,0x07,0xCC,0x1E,0xB0,0xBA,0xA8,0xD8,0x00,0x77,0x88,0xED,0x52,0x04,0xE3, - 0xD0,0x88,0x82,0x2B,0xA5,0x7E,0x02,0x54,0x03,0xC5,0xD0,0x83,0xB4,0x1F,0x9D,0xD9, - 0x33,0x43,0x37,0xF9,0xE6,0x47,0x69,0xEA,0x5D,0x7F,0xF5,0xDA,0x78,0xB4,0xA5,0xB0, - 0x94,0x04,0x6E,0xC4,0xF2,0x78,0x25,0xC1,0x1A,0x71,0xE4,0x78,0x39,0xE1,0xBA,0x62, - 0x95,0x41,0xFF,0xF4,0xAE,0xE2,0x2C,0x27,0x51,0x7C,0x98,0x9F,0x6C,0x83,0x2D,0x79, - 0x0D,0x44,0x2B,0xEA,0x84,0x9C,0x3C,0x15,0x89,0x49,0xCB,0x9E,0x17,0x7F,0x8C,0xEC, - 0x1D,0x27,0xFE,0x54,0x02,0x6E,0xF5,0x4D,0x4F,0x7E,0x46,0x93,0xAF,0x9B,0xAB,0x4B, - 0xD3,0x7B,0x61,0x6C,0xB7,0xD8,0x3F,0x7E,0xE1,0x85,0x17,0x04,0x5C,0x53,0x4A,0xA0, - 0xFF,0x8B,0x6E,0xD9,0xA0,0x41,0x83,0xEC,0x5A,0x5B,0xE4,0x61,0x63,0xFE,0xB2,0xD6, - 0xB0,0x29,0x66,0x6F,0x65,0x80,0xC9,0x81,0x3B,0x1F,0x3E,0x34,0x35,0xC0,0x35,0xB7, - 0x95,0xCB,0x0D,0x30,0xF4,0x80,0xC0,0x98,0x9C,0xDB,0x3D,0xE7,0xE9,0xCF,0x29,0x39, - 0xCB,0xC6,0x3C,0x5B,0x37,0x01,0x61,0x45,0xFF,0xB2,0xD4,0x14,0x34,0xEA,0xB6,0xC1, - 0xF6,0xB2,0x25,0x10,0x23,0xFA,0xCB,0xC6,0xE3,0x95,0xAC,0xAC,0x11,0x47,0x8F,0x87, - 0x78,0x23,0x8E,0xE7,0x76,0x1C,0xEF,0x82,0x55,0x06,0xD1,0x11,0x21,0x34,0x36,0x87, - 0xF5,0x67,0xD1,0xC7,0x65,0x85,0x06,0x5C,0xE2,0x87,0x8F,0xC5,0x1B,0x03,0xDE,0xDB, - 0x56,0x5F,0x19,0x4B,0x01,0xCB,0xB9,0xD5,0x6B,0xD7,0xAE,0x15,0xA7,0x30,0xCA,0xAD, - 0x38,0x61,0xC4,0x98,0x6B,0x2D,0x8D,0xAF,0x28,0x81,0xE0,0x2C,0x82,0xB4,0x5A,0x19, - 0x8E,0x92,0x62,0x3A,0xA1,0x0F,0x56,0x17,0x0A,0x1F,0xAE,0x29,0x66,0x2D,0x03,0xB7, - 0x4C,0xCB,0xA4,0xDB,0xA6,0xF7,0xEC,0xB4,0x93,0xCE,0xCA,0xCA,0x12,0xB6,0x6C,0xD9, - 0xA2,0xFA,0x83,0xC3,0x50,0x03,0xBE,0x38,0x5B,0x11,0x4A,0x80,0x9A,0xDD,0x28,0xF5, - 0xCB,0x9A,0x22,0xA5,0x25,0xA7,0x84,0x93,0x87,0x77,0xD0,0x4F,0x1F,0x3F,0x4F,0x67, - 0xEB,0xDD,0x9B,0x03,0x1C,0x48,0x20,0x00,0xF6,0xCF,0xD5,0x05,0x54,0xD7,0xD8,0xAA, - 0xF7,0x77,0xAF,0x23,0x7A,0xC8,0x85,0x1B,0xC4,0xE1,0xED,0x44,0x4F,0xCC,0x20,0x6A, - 0x6D,0x56,0x0C,0x7C,0x61,0xEC,0x18,0x8B,0xF4,0x63,0x6D,0x6F,0x2C,0x09,0xCC,0x76, - 0x8B,0xD8,0x9A,0x1B,0x6F,0x04,0xF1,0x19,0xCC,0xD2,0x93,0xCE,0x91,0xB7,0x85,0x5E, - 0xC8,0x18,0x97,0xF6,0xE8,0xA2,0xE9,0xCE,0x62,0xB2,0xCC,0x9E,0x5C,0x70,0xDD,0x59, - 0x60,0x6D,0x31,0x7C,0xA0,0x16,0xCC,0xB6,0x7A,0xEC,0xB1,0xC7,0x14,0x0B,0x04,0x1A, - 0x91,0x73,0xBB,0xB1,0x58,0xDD,0xA8,0x4B,0xAF,0xD4,0xE1,0xEE,0x3E,0x70,0xE2,0x8D, - 0x6C,0x2F,0xC7,0x51,0x42,0x82,0x75,0x74,0xF3,0xF8,0x1E,0x06,0x77,0x7B,0xE3,0x17, - 0x86,0x22,0x03,0xCE,0x58,0x68,0xB8,0xEA,0xCF,0xCC,0x16,0x85,0x0C,0x11,0x5B,0x0A, - 0x19,0x89,0x40,0xE8,0x1B,0xCF,0x7A,0xE8,0x2D,0xD1,0x1A,0x4B,0x85,0x0C,0xB7,0x1A, - 0x35,0xE5,0xEC,0x09,0x19,0x85,0xF7,0x90,0x79,0xA8,0x56,0xC8,0xE8,0xF6,0xC1,0x50, - 0x68,0x51,0xC8,0xC0,0x74,0x52,0xDF,0x6D,0xAB,0x10,0x5E,0x5C,0x56,0xC0,0x5A,0x06, - 0x3A,0xDB,0x32,0x43,0x6C,0x96,0x95,0x48,0xD4,0x62,0xAB,0x04,0x91,0x11,0xB8,0xE5, - 0x53,0xA6,0x4C,0xB1,0xFA,0x72,0x2A,0x2B,0x6B,0x84,0xDA,0x53,0xE5,0xF4,0xC3,0x7F, - 0x9E,0xA1,0x53,0x27,0x6C,0xF7,0xFD,0x38,0xF2,0x60,0x06,0x15,0x8A,0x0A,0x88,0xB5, - 0xBF,0x90,0xDE,0x39,0xEF,0x25,0x75,0x45,0x0A,0x20,0x7C,0x94,0x0D,0x62,0xFD,0x64, - 0x14,0xF6,0xBB,0x7E,0x4C,0xA6,0x78,0x93,0x30,0xD2,0x7B,0xF8,0x54,0xBA,0x44,0x2F, - 0xE4,0xCC,0xAC,0x8E,0x04,0x10,0x23,0x70,0xAB,0x73,0x73,0x73,0x59,0x4B,0x1E,0xA5, - 0xEF,0xDD,0x1E,0x7A,0x57,0x5C,0x98,0x38,0x71,0x22,0xDD,0x7E,0xFB,0xED,0x0E,0x5F, - 0x8F,0xDE,0xC0,0x74,0x52,0x72,0x62,0x9E,0x31,0x2E,0x95,0xEE,0x9F,0xDD,0xA7,0x53, - 0x4F,0x7C,0xDE,0xBC,0x79,0xC2,0x90,0x21,0x43,0x68,0xFE,0xFC,0xF9,0x0E,0x9F,0x07, - 0x8A,0x04,0x62,0x18,0xC2,0x9E,0xDB,0x8D,0x75,0xA3,0x31,0x1C,0x01,0xCB,0xCE,0x76, - 0x89,0xC0,0xF5,0x3E,0xB1,0x2F,0x97,0x36,0x2E,0x5B,0x44,0xCD,0x67,0x5D,0x4F,0xF0, - 0x0F,0x34,0x30,0x1D,0xF2,0xE3,0x4D,0x45,0x06,0x97,0x1B,0x40,0xCC,0x98,0x84,0x81, - 0x59,0x55,0x96,0x69,0x9F,0xFB,0xF5,0x02,0x84,0x35,0x86,0x35,0xAF,0x33,0xCC,0x89, - 0x9E,0x3C,0x20,0x49,0xFF,0x48,0x16,0xB7,0x01,0x86,0x13,0xA7,0xDD,0xF1,0x37,0x8A, - 0x4F,0xEB,0xA1,0x77,0xA9,0xE3,0xCD,0xBE,0x2B,0x7C,0xD7,0x18,0xB9,0xB0,0xD5,0x37, - 0x06,0x70,0xAB,0x11,0xB1,0xB6,0xFC,0xAE,0xED,0xE1,0x8A,0x61,0xF1,0x16,0xA6,0x13, - 0x93,0x13,0xF3,0xB4,0x91,0x29,0xF4,0xF0,0x1C,0xFB,0x41,0x01,0x4F,0xA2,0x36,0x89, - 0xC4,0x16,0x6A,0xFA,0x4E,0x40,0x29,0xE3,0xE7,0x64,0x71,0x85,0xF0,0xCB,0xAA,0xF7, - 0x68,0xFF,0xFA,0xCF,0x78,0x35,0x50,0x07,0x41,0x1F,0x7A,0x63,0x5E,0x25,0x6D,0xC9, - 0xAF,0xB1,0x9E,0xBE,0x88,0x79,0xCF,0xA7,0x8A,0x88,0x1A,0x4F,0xB3,0x1D,0x06,0x30, - 0x96,0x7C,0xC5,0x45,0xA9,0x62,0x85,0x4E,0x80,0x28,0xF5,0xC8,0x99,0xF3,0x28,0x67, - 0xC4,0x34,0x7D,0x77,0x28,0xD1,0xEA,0xFB,0xC1,0xAC,0x39,0x5B,0xB3,0x9D,0x8C,0xC0, - 0xAD,0x76,0x76,0x6C,0x18,0x69,0xC2,0xD2,0xD2,0xD0,0x5A,0xC4,0x74,0x62,0x9B,0xF6, - 0x55,0x09,0x4F,0x2F,0x31,0x1F,0xC6,0xD0,0x82,0x98,0x81,0x3B,0x6A,0x11,0xAB,0x71, - 0xBB,0x01,0x22,0x9B,0x70,0xC1,0xE4,0xC6,0x1A,0x4B,0x4A,0x2A,0x85,0x03,0x1B,0x3E, - 0xA7,0x5D,0x6B,0xDE,0xE7,0x96,0xDA,0x41,0x30,0x41,0x02,0x53,0x24,0x31,0xE7,0x19, - 0x3F,0x2D,0x73,0xAC,0x31,0x7E,0x0C,0x97,0x7A,0x50,0x8F,0x6E,0x26,0x11,0x63,0x86, - 0xD3,0xB8,0xEB,0xEE,0xA7,0xCC,0x81,0xE3,0xA9,0x7B,0x9A,0xB9,0x25,0x06,0x48,0x00, - 0x81,0x4B,0xAD,0x54,0xA3,0xCB,0x08,0xDC,0x6A,0xE4,0x23,0xD8,0x1B,0x3F,0xB6,0x05, - 0x8A,0xF5,0xE9,0x0D,0x8B,0x26,0xA3,0xD8,0x46,0x4C,0x27,0xB6,0xE7,0x48,0x9D,0xF0, - 0xC8,0xEB,0xFB,0x59,0xCB,0x80,0x56,0xC4,0x8C,0xD4,0x4D,0x0C,0x53,0xE9,0x5D,0x66, - 0x97,0xCE,0x45,0xAD,0xDB,0x0D,0x10,0x44,0xC3,0x05,0x20,0xE7,0x8E,0xC1,0x52,0x1F, - 0xDE,0xFA,0x35,0xED,0xFA,0xEE,0x03,0x1E,0xF9,0xF6,0x00,0x88,0x50,0x0F,0xBF,0xE2, - 0x0E,0xCA,0x1C,0x30,0x96,0xBA,0x77,0xB7,0xB6,0xC4,0x08,0x70,0xAD,0x5E,0xBD,0x5A, - 0x1C,0x6E,0xB4,0x07,0x8A,0xEE,0x59,0x56,0x06,0x71,0x14,0x77,0x5D,0x7F,0x9E,0xC6, - 0x74,0x72,0x72,0x62,0x1E,0x37,0x30,0x81,0x9E,0xBA,0xC3,0xFB,0xCB,0x6C,0xC8,0xA1, - 0x77,0x81,0x85,0x25,0x4B,0x96,0xB8,0x25,0xB1,0x1D,0x63,0x85,0x58,0x69,0x52,0x0D, - 0x98,0xFE,0xA6,0x34,0x6B,0xA6,0x44,0xDF,0xA7,0x3E,0xB2,0x63,0x1D,0xED,0x5C,0xB5, - 0x84,0xCE,0xD4,0x94,0xB2,0xBD,0x1C,0x67,0xC1,0x58,0xFF,0x98,0x6B,0xEE,0xA5,0xE4, - 0x1E,0xFD,0xC4,0xD1,0x05,0xB6,0xDB,0x04,0xFA,0xAD,0xC8,0xE0,0x52,0xFB,0xDD,0x61, - 0x3C,0xD8,0x1D,0xEB,0x23,0x4F,0x9A,0x34,0x49,0x40,0xE1,0x49,0x5B,0x29,0x9E,0x5A, - 0xC0,0x74,0x72,0x72,0x62,0x1E,0xD2,0xA7,0x1B,0xBD,0x70,0xAF,0xFD,0x8C,0x18,0x6F, - 0x80,0xB9,0xCA,0x7B,0xF6,0xEC,0x41,0x2A,0x9D,0x5B,0xCE,0xC7,0x91,0xBB,0x3B,0xDC, - 0x34,0x5B,0x53,0xE1,0x4A,0x4B,0xAB,0x84,0xE2,0x03,0x5B,0x08,0xFD,0xEA,0xAA,0x93, - 0xF9,0x6C,0x2F,0x47,0x2D,0x59,0x83,0x27,0xD1,0xA8,0x19,0xBF,0xA1,0xAE,0x49,0xDD, - 0x65,0x45,0x8C,0x72,0x52,0x70,0xA7,0xD5,0xF4,0x8B,0x01,0xBC,0x2A,0x04,0x34,0xDD, - 0xE1,0x12,0xBB,0x23,0x66,0xE3,0x2D,0x4C,0x27,0xA8,0x75,0x31,0x03,0x47,0x93,0x48, - 0xD4,0xB0,0x71,0xE3,0x46,0xF1,0x6E,0x6F,0xAF,0xDF,0x65,0xC4,0xD6,0xB4,0x38,0x44, - 0xBF,0x5B,0x9A,0xCE,0xD1,0x7E,0x7D,0xBF,0x3A,0x6F,0xF3,0x57,0xDC,0x05,0xB7,0x01, - 0x22,0xD3,0xC3,0xA6,0xDF,0xAE,0x17,0xF2,0x44,0xFD,0xCD,0x52,0x27,0x16,0x64,0x64, - 0x4F,0x99,0x80,0x88,0xF1,0xDD,0xD8,0x4A,0xC3,0x94,0x82,0x78,0x07,0xBA,0x46,0xEE, - 0x9C,0x96,0xD8,0xD9,0xAB,0x54,0x38,0x82,0xE9,0x04,0x51,0x23,0xFB,0xB6,0xBF,0xEE, - 0x60,0x2D,0x03,0x5A,0x13,0x33,0x12,0x01,0x4E,0x9F,0x3E,0x4D,0xCF,0x3F,0xFF,0xBC, - 0xDB,0xCF,0x49,0x6D,0x44,0xD4,0x08,0x44,0x8D,0x59,0x5B,0x4A,0x09,0x07,0xA5,0x65, - 0x35,0x42,0x4D,0x49,0x01,0xED,0xFF,0xE9,0x4B,0x3A,0xBA,0x63,0x2D,0x8F,0x82,0xEB, - 0x41,0x54,0x1A,0x63,0xC4,0x43,0xA7,0xDD,0x46,0x61,0x11,0x51,0xB2,0x91,0x69,0x80, - 0xD8,0x06,0x44,0x6C,0xAB,0x8C,0x8F,0x25,0xB6,0xBA,0x43,0xAE,0xD0,0xD9,0xAB,0x54, - 0x38,0x82,0xE9,0x24,0x7D,0x41,0xCC,0x9E,0x1E,0xEB,0x83,0xEB,0x8D,0xB1,0x4A,0x5B, - 0x95,0x27,0x2C,0xC1,0x70,0x87,0xAD,0xD2,0x31,0x55,0x95,0xB5,0x42,0x8B,0xDE,0xE8, - 0x17,0xEF,0xCF,0xA5,0xBD,0xEB,0x3F,0xA5,0xB2,0x82,0x9D,0xEC,0x99,0xC0,0x00,0x93, - 0x58,0xB2,0x86,0x5C,0x42,0x43,0x2E,0x9B,0x43,0xF1,0xE9,0x39,0xB2,0x51,0x69,0x23, - 0xCE,0x88,0x58,0x29,0x47,0xC0,0x1D,0xF8,0xC2,0x70,0x94,0x14,0xD3,0x49,0xCA,0x89, - 0xD9,0xD3,0xCB,0xBA,0x3A,0x83,0x37,0xDC,0x1E,0x0C,0x79,0x60,0x18,0x4B,0x4D,0xD4, - 0xDB,0x08,0x2E,0x2A,0x58,0x07,0x5B,0xC3,0x1F,0x65,0x25,0x95,0x42,0x9B,0x20,0x50, - 0xC5,0xD1,0x3D,0x74,0x7C,0xCF,0x4F,0x54,0x7A,0xE4,0x17,0xAA,0x2B,0x2F,0x64,0xCF, - 0xFA,0x0F,0x08,0x64,0x75,0xEF,0x3B,0x8C,0x7A,0x5D,0x34,0x51,0x2F,0xE0,0xBE,0x14, - 0x12,0x24,0x58,0x25,0x79,0x48,0xC1,0xE7,0x8D,0x42,0x13,0x8E,0xDC,0x44,0xA3,0xA3, - 0xA3,0x45,0xCF,0xC8,0xD1,0x2C,0x2E,0x47,0xD0,0xDF,0xA8,0x85,0xE5,0xCB,0x97,0x77, - 0xCA,0x5A,0xCB,0xCE,0x60,0x3A,0x49,0x5F,0x11,0xB3,0x37,0x03,0x12,0xCE,0x88,0x1A, - 0xC0,0x5A,0x63,0x32,0x87,0xAD,0xE9,0x74,0xD5,0xD5,0xA7,0x85,0xE6,0xA6,0x56,0x6A, - 0x17,0xDA,0xA9,0xE4,0xD0,0xCF,0x74,0x7C,0x5F,0x2E,0x95,0xE5,0xEF,0xF4,0xC9,0xA8, - 0x38,0x86,0x92,0xD2,0x72,0x86,0x51,0xB6,0x5E,0xBC,0xA9,0xBD,0x86,0x50,0xBB,0xBE, - 0x4B,0x21,0x17,0xC8,0x92,0x82,0xD9,0x6B,0x10,0xB0,0x9A,0x64,0x1E,0x29,0xDE,0x10, - 0x31,0xF0,0x95,0xE1,0x28,0x29,0x66,0x27,0x6A,0xB9,0xAC,0xAB,0x16,0xC5,0x0C,0xBC, - 0xBD,0xA0,0xB5,0xB3,0xA2,0x46,0x40,0x06,0xA2,0x46,0xFF,0xDA,0x9E,0x1B,0x28,0xBA, - 0xE3,0xAD,0x6D,0x74,0xBE,0xB5,0x59,0x14,0x75,0xE9,0x91,0xDD,0x62,0x64,0xFC,0x74, - 0x45,0xA1,0xA6,0x02,0x69,0x08,0x5C,0x75,0x89,0x49,0xA0,0xF4,0xBE,0xC3,0x45,0xEB, - 0x9B,0xDC,0x73,0x10,0x91,0xD0,0x6A,0x57,0xBC,0x00,0x6E,0x34,0x26,0xB9,0xE0,0xE1, - 0x28,0x48,0xC3,0x84,0x88,0x5D,0x49,0xFC,0x70,0x04,0x6F,0x5F,0x63,0xEE,0xC0,0xEC, - 0x44,0x7D,0x45,0xCC,0xC8,0xE6,0x42,0x25,0x92,0xD5,0xAB,0x57,0x7B,0xF5,0xDC,0x50, - 0xC4,0x0D,0x43,0x24,0xF6,0xF2,0x7F,0xE5,0xC0,0xC5,0x08,0x61,0x67,0x65,0x65,0xA9, - 0x9A,0x37,0x0B,0xE0,0x96,0x0B,0x41,0xC1,0x62,0xBF,0xB3,0xB6,0xA4,0x80,0x1A,0x4F, - 0x57,0x52,0xC5,0x89,0x03,0x54,0x71,0x7C,0x3F,0x9D,0xD3,0x0B,0xDC,0x93,0xC3,0x60, - 0xB0,0xB4,0x08,0x58,0xC5,0xA5,0x66,0x51,0x8F,0x01,0x63,0x45,0x01,0x47,0xC7,0xA7, - 0x51,0x5B,0xCB,0x39,0xFD,0x45,0x23,0x50,0x5A,0xBA,0xBA,0x99,0x46,0xFB,0xF6,0xED, - 0x13,0x8B,0x02,0x60,0x6C,0xD8,0xD9,0xCF,0x0D,0x31,0x09,0x6F,0x16,0xCE,0xC3,0x4D, - 0x47,0x2F,0x62,0x9C,0xB3,0xE6,0xAE,0x7D,0x5B,0x98,0x9D,0xAC,0xAF,0x88,0x19,0xB8, - 0x33,0x89,0xC4,0x51,0x5C,0x11,0xB5,0x11,0x8C,0x85,0x42,0xD8,0x8E,0x88,0xDB,0x48, - 0x59,0x99,0x5E,0xE4,0xED,0x02,0x05,0x87,0x19,0xEA,0x61,0x35,0xD4,0x94,0x51,0xEB, - 0x39,0xF3,0x73,0x39,0x5D,0x59,0x4C,0xD5,0xA5,0x47,0x59,0xCB,0x1A,0x58,0xD5,0x88, - 0x2E,0xAC,0xCC,0x0F,0x23,0x32,0x2E,0x89,0xC2,0x23,0x63,0xC5,0xED,0xF6,0x96,0xB3, - 0xFA,0x9B,0x48,0xB0,0xCD,0xBE,0xAE,0x1C,0x10,0x02,0xC4,0x8B,0x87,0x23,0x81,0x2C, - 0x4B,0x10,0x83,0x40,0xD2,0x47,0x67,0x7C,0xBF,0xBE,0x34,0x1C,0x25,0xC5,0xEC,0x64, - 0x2D,0xC5,0x1C,0xDD,0x25,0x84,0xBE,0xFC,0xAB,0xF9,0x32,0x97,0x5A,0x01,0x59,0x5C, - 0x5F,0x7D,0xF5,0x15,0x8A,0xF6,0x75,0xDA,0xF9,0x39,0xDB,0xEF,0x93,0xC3,0x28,0x6C, - 0x3C,0xB2,0xB3,0xB3,0x7D,0xE6,0x22,0xC2,0x08,0x00,0x84,0x8B,0x61,0x3D,0x57,0xC4, - 0x6B,0x04,0xF1,0x06,0x74,0x4B,0x3A,0x33,0xE8,0xE4,0x4B,0xC3,0x51,0x52,0xCC,0x4E, - 0xD8,0x52,0xCC,0x60,0xCD,0x4B,0x13,0x34,0xFB,0x47,0xE9,0x2F,0x7C,0xB7,0x27,0x91, - 0x38,0x0B,0xE6,0xD1,0xA2,0x2F,0xE8,0x48,0x44,0xD6,0x16,0x70,0x2F,0xF1,0x80,0x05, - 0x47,0xD0,0x07,0x96,0xAA,0x33,0x45,0x8E,0x04,0x0E,0xDC,0xB4,0xE0,0x8D,0x40,0xB4, - 0xC8,0x9C,0x73,0xC5,0x33,0x91,0x82,0xFC,0x69,0x58,0x61,0x6F,0xF5,0x87,0x6D,0xE1, - 0x6B,0xC3,0x51,0x52,0xCC,0x4E,0xD8,0xD7,0xC4,0xAC,0xC5,0x0F,0x1E,0x17,0x3D,0xAC, - 0x35,0x84,0xAD,0x36,0xAB,0xCC,0x51,0x60,0xBD,0x21,0x70,0x88,0x00,0x41,0x36,0x08, - 0x5D,0x0A,0x9E,0x53,0x53,0x3D,0x03,0x65,0x96,0x2C,0xCF,0x11,0x56,0x16,0x40,0xB8, - 0x08,0xF8,0xB9,0xC3,0xEB,0x90,0x03,0xE7,0x88,0x18,0x02,0x86,0xF3,0xD4,0x56,0xFA, - 0xF0,0x06,0x9D,0xD9,0x7D,0x73,0x15,0xB3,0x13,0xBE,0xF1,0xC9,0x6D,0x82,0xE5,0xCA, - 0x8F,0x5A,0x16,0xB3,0xD6,0x27,0x8C,0x63,0x18,0x0D,0xA2,0x76,0x24,0xB3,0xCC,0x9F, - 0x41,0x8E,0xBB,0x71,0xD8,0x4E,0x8B,0x63,0xB7,0x18,0xB5,0x78,0xFA,0xE9,0xA7,0x69, - 0xFD,0xFA,0xF5,0x3E,0x27,0x64,0x60,0x76,0xD2,0xB7,0x3E,0xBB,0x43,0xA8,0xA8,0x31, - 0x1F,0x7E,0xD1,0xB2,0x98,0x81,0xAF,0x04,0x2B,0x20,0x6C,0x63,0x60,0xC8,0x5D,0xAE, - 0xB8,0x2F,0x00,0xAF,0xC1,0x18,0x0B,0xD0,0x7A,0xF2,0x85,0x2F,0x0E,0x47,0x49,0xF1, - 0x79,0x31,0xFB,0xEA,0x30,0x82,0xBF,0x8A,0x1B,0xAE,0xBF,0x51,0xBC,0x6A,0x6A,0x50, - 0x6B,0x05,0x78,0x79,0x7A,0xD7,0x1A,0xF1,0x00,0x9F,0x14,0x32,0xF0,0x79,0x31,0x03, - 0x5F,0xBF,0xA3,0x02,0xA3,0xB8,0xD1,0x47,0x55,0x33,0x2D,0x53,0x2B,0xC0,0xF2,0x1A, - 0x87,0xD9,0x7C,0x49,0xBC,0x96,0xF8,0xEA,0x70,0x94,0x14,0xBB,0x62,0xFE,0xE0,0x8F, - 0x23,0x28,0x35,0x21,0x42,0xD3,0x7F,0x20,0xC6,0x7D,0xF5,0x5F,0x02,0x6D,0xDD,0xBA, - 0xD5,0x67,0xBF,0x08,0x4B,0x60,0x29,0x10,0x2D,0x86,0xB8,0x61,0xB9,0xF1,0xC0,0xB6, - 0xA7,0x82,0x6A,0xB6,0x30,0x06,0xD9,0x60,0x75,0x11,0xB8,0x82,0x70,0xD5,0x06,0xD9, - 0x7C,0x05,0xFD,0xDF,0xA4,0x99,0x91,0x11,0x67,0xF1,0x0B,0x31,0x03,0x5F,0x8E,0x42, - 0x3A,0x0A,0x22,0xE6,0xD2,0xA1,0x21,0xFC,0xB4,0xB4,0xE6,0x72,0xFB,0xA4,0xC0,0x9A, - 0x22,0x20,0x25,0x45,0xBA,0xCF,0x38,0x34,0xE6,0x4B,0x63,0xDE,0xCE,0x82,0x35,0xA8, - 0x36,0x6C,0xD8,0x80,0x1A,0xED,0x3E,0xFD,0xB7,0xFA,0x8D,0x98,0x7D,0x31,0x31,0x9E, - 0xA3,0x0D,0xFC,0xC5,0x10,0xD8,0x5C,0x6B,0xCA,0x97,0x40,0x7F,0x19,0xE3,0xBB,0x70, - 0x4F,0xD9,0x2E,0x0E,0xC7,0x2E,0xE8,0xA2,0xA1,0x1B,0xE1,0x0F,0x1E,0x9D,0x99,0x98, - 0x53,0xE3,0xBD,0xB3,0x1A,0xA2,0xA7,0xC0,0x52,0xB0,0x8B,0x16,0x2D,0x62,0x2D,0x0E, - 0xC7,0x3E,0x98,0xB0,0x83,0xEB,0xC6,0x1F,0xF0,0x1B,0xCB,0x0C,0x10,0x89,0xC4,0x02, - 0xEB,0x1C,0x8E,0x1A,0xE0,0xC5,0x61,0x6A,0xAB,0xD6,0x16,0x4D,0x77,0x16,0xBF,0x12, - 0x33,0xC0,0x62,0x73,0x48,0xF3,0x64,0x4D,0x0E,0x47,0x11,0xAD,0x2E,0x9A,0xEE,0x2C, - 0x76,0xC5,0xDC,0x70,0xCE,0xFB,0x43,0x21,0xAE,0xB0,0x70,0xE1,0x42,0xEE,0x6A,0x73, - 0x54,0x81,0x80,0xA9,0x16,0x17,0x4D,0x77,0x16,0xBB,0x62,0x6E,0x6C,0xF2,0x2D,0x31, - 0x63,0x9C,0x10,0x33,0x70,0x10,0xDD,0x66,0xBB,0x38,0x1C,0x2B,0xB4,0xBC,0x68,0xBA, - 0xB3,0xF8,0x9D,0x9B,0x0D,0xB0,0xFA,0x00,0x12,0xE6,0x39,0x1C,0x25,0xFC,0x29,0xF0, - 0x65,0xC4,0xEC,0xAE,0xF4,0xC8,0xEB,0xFB,0x84,0x3D,0x47,0xCC,0x57,0xE4,0x7B,0xE1, - 0xDE,0x81,0x34,0xA4,0x4F,0xAC,0xCF,0xDD,0xBD,0xFC,0x35,0x89,0x04,0x41,0x1B,0x6F, - 0x66,0x81,0x79,0xA2,0x84,0x6D,0x67,0xE3,0xCE,0xA2,0x90,0xE5,0xE5,0xE5,0x42,0x50, - 0x50,0x10,0x25,0x27,0xDB,0xAF,0x81,0xE6,0x69,0xCC,0x4E,0xE0,0x6F,0x4B,0x0F,0x0B, - 0xEB,0x77,0x55,0xB2,0x96,0x01,0x5F,0x15,0xB3,0xBF,0x26,0x91,0x6C,0xDA,0xBC,0x4D, - 0xF8,0xE9,0x90,0x77,0xC4,0x1C,0x1B,0xA5,0xA3,0xE1,0x39,0x51,0x34,0x6A,0xF8,0x60, - 0xBF,0xFA,0x0C,0x5D,0x59,0x34,0x3D,0xFF,0x44,0x91,0x50,0x51,0x59,0x45,0x0D,0xED, - 0x41,0x54,0xDB,0x1E,0x4C,0x05,0xAD,0xE1,0x14,0xA1,0x6B,0xA7,0xCC,0x90,0x56,0x4A, - 0x0A,0x6A,0xA5,0x88,0x90,0x20,0xEA,0x91,0x92,0x44,0x3D,0x33,0xAC,0x17,0x82,0xF7, - 0x34,0x66,0xBF,0xF0,0x1F,0x9F,0x14,0x08,0x6B,0xB6,0x57,0xB0,0x96,0x01,0x5F,0x15, - 0x33,0x40,0xBE,0xED,0x8F,0x3F,0xFE,0xE8,0x57,0x29,0x89,0x1B,0x72,0xB7,0x09,0x7F, - 0xFD,0xD2,0x7C,0xCE,0xB9,0xA7,0xC8,0x4A,0xD2,0xD1,0x5D,0xD3,0x62,0xFC,0x4A,0xCC, - 0xF0,0x6C,0x9C,0x99,0x03,0x5F,0x50,0x58,0x2C,0x14,0x95,0x57,0xD2,0x47,0x0D,0xB1, - 0xB4,0xEA,0x6C,0x0C,0x95,0xB5,0x85,0xB2,0x67,0xCC,0xE9,0x19,0xDC,0x4C,0xD7,0x45, - 0xD7,0xD3,0xCC,0xA8,0x33,0xD4,0x27,0xB3,0x3B,0x65,0xA6,0xA5,0x7A,0xED,0xB3,0xF3, - 0xCB,0x3E,0xB3,0x11,0xF4,0x89,0xD0,0x37,0xE2,0x70,0x8C,0x20,0x0F,0x61,0xD6,0xAC, - 0x59,0xAC,0xA5,0x8E,0xCD,0x7B,0x0E,0x08,0xAF,0x1C,0x6D,0xA6,0x2B,0xCA,0xB2,0xE8, - 0xBD,0x33,0xF1,0x8A,0x42,0x06,0x85,0x6D,0xE1,0xF4,0xD2,0xE9,0x24,0xFA,0x55,0x79, - 0x16,0xFD,0xE7,0x48,0x3D,0x6D,0x3B,0x98,0xEF,0xB5,0x40,0xAC,0x5F,0x8B,0x99,0x27, - 0x91,0x70,0x2C,0xC1,0xB0,0x25,0x86,0x2F,0xD5,0xB2,0xE1,0x97,0xBD,0xC2,0xEF,0x4A, - 0xE2,0xE8,0xB5,0xFA,0x44,0x6A,0x71,0x40,0x2E,0x67,0xF4,0x6E,0xF8,0x13,0xD5,0xC9, - 0xF4,0xD4,0xC9,0x2E,0xB4,0x71,0xDF,0x61,0xAF,0x08,0xDA,0xAF,0xC5,0x0C,0x78,0x12, - 0x09,0xC7,0x08,0xE2,0x28,0x8E,0x0C,0x47,0xE5,0xEE,0x3D,0x24,0x2C,0xA8,0x48,0xA4, - 0x9D,0x2D,0x91,0x6C,0x8F,0xE3,0x7C,0xAB,0x77,0xC9,0x9F,0x2B,0x8B,0xF4,0x8A,0x85, - 0xF6,0x7B,0x31,0xE3,0x2E,0xCC,0x5D,0x6D,0x0E,0x70,0x64,0x38,0xEA,0xD0,0xF1,0x22, - 0xE1,0x83,0xAA,0x70,0x97,0x84,0x6C,0x04,0x82,0x5E,0x53,0x4D,0x54,0x5C,0x56,0xEE, - 0x51,0x41,0xFB,0xBD,0x98,0x71,0x17,0x46,0x1D,0x66,0x9E,0x44,0x12,0xD8,0x60,0x38, - 0x0A,0x05,0x1E,0x26,0x4F,0x9E,0xAC,0xCA,0x2A,0x97,0x9E,0xAA,0xA2,0xF7,0xEB,0x0D, - 0x0B,0x02,0xB8,0x83,0xC5,0xB5,0xF1,0x74,0xEC,0xA4,0x67,0xD7,0x11,0xF3,0x7B,0x31, - 0x03,0x9E,0x44,0xC2,0xC1,0x30,0xA5,0xDA,0x3C,0xEC,0xBD,0x05,0xC7,0x84,0xB7,0xEA, - 0xE3,0x15,0xFA,0xC8,0x41,0xB4,0xF8,0xD2,0x6E,0x44,0xB3,0x62,0x75,0x4A,0x8F,0xB1, - 0xEC,0x48,0x29,0xD5,0xED,0x21,0xB4,0xF6,0x5C,0x0C,0x15,0x97,0x7A,0x6E,0x8A,0x6E, - 0x40,0x88,0x19,0x89,0x23,0xA8,0x9A,0x81,0x52,0xAA,0x6C,0x17,0x27,0xC0,0x40,0x20, - 0x54,0x6D,0x7D,0xAF,0xD3,0xB5,0x35,0xF4,0xFD,0xB9,0x68,0xD6,0xB2,0xA4,0x9D,0x16, - 0xFC,0x70,0x9A,0x68,0x45,0x9D,0x80,0xC7,0xDD,0x25,0x82,0xE1,0x9A,0x62,0x6D,0x3C, - 0xB6,0x88,0x3B,0xAC,0x59,0x71,0x26,0x9A,0x0A,0x2B,0x3C,0x57,0xDF,0x2D,0x20,0xC4, - 0x0C,0xF8,0x30,0x55,0xE0,0x82,0x00,0x28,0x02,0xA1,0x6A,0xA9,0x15,0x42,0x45,0x4B, - 0xEA,0x6E,0xF6,0xB7,0x76,0x21,0xA1,0xC5,0xBC,0x92,0x8F,0x3B,0x09,0x18,0x31,0xA3, - 0x12,0x09,0x56,0x22,0x44,0x69,0x5E,0xB6,0x8B,0x13,0x20,0xBC,0xF5,0xD6,0x5B,0x74, - 0xCF,0x3D,0xF7,0xB0,0x96,0x6D,0xAA,0xAA,0xAA,0x84,0xE3,0xAD,0x61,0xAC,0xE5,0x7E, - 0x2A,0x04,0xCF,0x15,0x00,0x09,0x18,0x31,0x03,0x7C,0xA1,0xF8,0x62,0x39,0x81,0x03, - 0x02,0x9F,0x58,0x45,0x43,0x6D,0x01,0xFE,0xD6,0xD6,0x56,0x2A,0x3B,0xEF,0x7E,0xAB, - 0x6C,0x04,0x16,0xBF,0xA6,0xA6,0xC6,0x23,0x06,0x25,0xA0,0xC4,0x8C,0x3E,0xD3,0x8A, - 0x15,0x2B,0x78,0x9D,0xB0,0x00,0xC2,0x91,0xC0,0x97,0xAF,0x13,0x50,0x62,0x06,0x48, - 0xE5,0xE3,0x59,0x61,0x81,0x01,0xBA,0x54,0xE8,0x5A,0x39,0xB2,0x38,0x42,0x68,0x68, - 0x28,0xA5,0x85,0x78,0x6E,0x22,0x4B,0x42,0xD0,0x79,0x8A,0x8F,0x77,0x6C,0xCD,0x6B, - 0xB5,0x04,0x9C,0x98,0x79,0x12,0x49,0xE0,0xE0,0x48,0x5F,0xD9,0x48,0x62,0x62,0xA2, - 0x2E,0x3D,0xA4,0x95,0xB5,0xDC,0x4F,0x82,0xCE,0x73,0x93,0x64,0x02,0x4E,0xCC,0x48, - 0x22,0x99,0x34,0x69,0x92,0x58,0xF8,0x9C,0xED,0xE2,0xF8,0x29,0x8E,0x0C,0x47,0x49, - 0x49,0x09,0x6A,0x11,0x2D,0xA8,0xBB,0x19,0x18,0x7A,0x8E,0x42,0xC3,0x78,0x00,0xCC, - 0xAD,0xF8,0xE2,0x30,0x15,0xA2,0xAC,0x3F,0x6F,0xDF,0x2D,0x9C,0xAC,0x61,0x3B,0xBC, - 0x40,0xD5,0x19,0xA2,0x33,0x8D,0xCD,0xB4,0x67,0x5F,0x9E,0xCF,0xDD,0xF8,0x1C,0x1D, - 0x8E,0x92,0xD2,0xB5,0x5B,0x2C,0x8D,0x09,0x6F,0x64,0x2D,0xF7,0x31,0x21,0xA2,0x91, - 0xD2,0x13,0xDC,0x97,0x55,0x66,0x49,0x40,0x8A,0x19,0x49,0x24,0x58,0x3B,0x69,0xD5, - 0xAA,0x55,0x9A,0xBF,0x48,0x8B,0x8A,0x4F,0x0A,0x9B,0xB7,0x6E,0x17,0xBE,0xDB,0x7C, - 0x8C,0xDE,0x5E,0xD3,0x48,0xFF,0x59,0xEF,0x9D,0xB9,0xCC,0xA0,0xA1,0x49,0xA0,0x45, - 0x2B,0x9A,0xE9,0x83,0xEF,0xAB,0x69,0xD5,0x0F,0xDB,0xC5,0x9B,0xC9,0xA9,0x53,0xA7, - 0x7C,0x42,0xD8,0xAE,0x04,0xBE,0x86,0x5C,0xD0,0x47,0x77,0x7F,0x5C,0x2D,0x85,0x51, - 0x3B,0xDB,0xA3,0xCC,0xDB,0xDB,0x59,0x02,0x89,0x1D,0x60,0xE9,0x6F,0xE8,0xDA,0x40, - 0xD9,0x3D,0x3C,0x57,0xB9,0x25,0x20,0xC5,0x0C,0xB4,0x3E,0x4C,0x95,0x5F,0x70,0x4C, - 0xC8,0xDD,0xBC,0x4D,0x58,0xBE,0xE1,0x24,0xFD,0xE3,0x7F,0x2D,0xA2,0x88,0x8B,0xAB, - 0x3B,0x47,0x47,0xFB,0x8A,0x04,0x5A,0xBC,0xB2,0x59,0xBC,0x99,0x7C,0xBB,0xE9,0x04, - 0xE1,0xE6,0x72,0xB2,0xA4,0x54,0xB3,0xA2,0x46,0xA6,0x1F,0x32,0xFE,0x5C,0x29,0x19, - 0xD5,0x23,0x29,0x9E,0xE6,0x76,0x75,0xDF,0x52,0xBB,0x0B,0xE2,0x6A,0x28,0x27,0x23, - 0x95,0xB5,0x3C,0x43,0xC0,0x8A,0x19,0x11,0x4E,0x2C,0xA1,0x8A,0x04,0x7C,0xB6,0x4B, - 0x33,0x6C,0xDC,0xFC,0x8B,0xF0,0xDF,0x1F,0x2B,0xE8,0x6F,0x5F,0xB6,0xD0,0x37,0x3B, - 0xCF,0x8B,0x16,0x52,0x0B,0xE0,0x66,0xF2,0xF1,0xC6,0x16,0xF1,0xE6,0xF2,0x75,0xEE, - 0x49,0x82,0xA5,0x66,0x4F,0x69,0x0A,0x47,0x66,0x47,0x29,0xD1,0x3F,0xBB,0x87,0xEE, - 0xB6,0xC4,0x66,0x1A,0x16,0x76,0x96,0xED,0x71,0x9E,0x2B,0x23,0xCF,0xD0,0xB4,0x04, - 0xF2,0x78,0xD5,0x91,0x80,0x15,0x33,0x80,0x1B,0x06,0x77,0x4C,0x2B,0xEC,0x3D,0x90, - 0x2F,0x2C,0xFF,0x6E,0xBB,0xB0,0x78,0x65,0x13,0x6D,0xCC,0x6B,0xA3,0xF3,0xF6,0xBD, - 0xBC,0x4E,0x01,0x37,0x97,0xE5,0x3F,0xB7,0x88,0x96,0xFA,0xFB,0x9F,0x76,0x08,0xC7, - 0x4F,0x14,0x6B,0x46,0xD4,0xC6,0x55,0x2A,0xDC,0xB1,0x56,0xF7,0x84,0xC1,0xFD,0x75, - 0x8B,0x53,0xAA,0xC4,0xC0,0x95,0xB3,0x4C,0x89,0x6C,0xA0,0xC7,0xD2,0xCE,0xD2,0xA8, - 0x0B,0xFB,0x7A,0x54,0xC8,0xC0,0xEC,0x17,0xF8,0x5B,0x0D,0x30,0x35,0x68,0x61,0x5D, - 0xDE,0xD2,0xF2,0x0A,0xE1,0xE8,0xB1,0x22,0x5A,0xB5,0xAB,0x95,0x76,0x1C,0xD5,0xA8, - 0x82,0x15,0x08,0xD1,0x9B,0x83,0x2B,0x86,0x85,0xD2,0x88,0xDE,0xA1,0x34,0x76,0xF4, - 0xB0,0x4E,0xBF,0x4E,0x3C,0xB1,0x68,0xFA,0x4F,0xBB,0x0F,0x08,0x6F,0x57,0x45,0xD2, - 0xA7,0x0D,0xDD,0x54,0x57,0x1B,0x89,0x09,0x6A,0xA7,0x5F,0x47,0xD7,0xD0,0x2D,0x29, - 0x6D,0x34,0x66,0xC0,0x05,0x5E,0xF9,0x5C,0x02,0xDA,0x32,0x03,0x58,0x67,0x2C,0x53, - 0xD2,0x59,0x1C,0x3A,0x7C,0x4C,0x58,0xB7,0xB5,0x50,0x74,0x5D,0x7D,0x4D,0xC8,0x00, - 0xDE,0xC3,0xD7,0x3B,0x5A,0xE9,0xD5,0x6F,0xCF,0xD2,0xB7,0x3F,0xEC,0x10,0xCA,0x2B, - 0x2A,0x3B,0xD5,0x4A,0x23,0xC3,0xCF,0xD9,0x28,0xB6,0x12,0x97,0x5C,0x34,0x40,0xF7, - 0x78,0xAF,0x20,0x5A,0x95,0x76,0x82,0xEE,0x88,0xA9,0xA1,0xB4,0x60,0xE5,0x71,0x68, - 0x14,0xF4,0xFB,0x7D,0xB7,0x4A,0xFA,0x5F,0xEA,0x09,0x7A,0xA0,0x77,0xB8,0xD7,0x84, - 0x0C,0xCC,0x7E,0x51,0x20,0x5A,0x66,0x67,0xAB,0x35,0xBA,0x83,0x5D,0x7B,0x0F,0x09, - 0xAB,0xB6,0x9F,0xA6,0xF5,0x07,0x7C,0x6B,0xD5,0x10,0x25,0x60,0xA5,0x6F,0x9D,0x14, - 0x46,0x63,0x07,0xA7,0x53,0x56,0x0F,0xEF,0x97,0x9A,0xF5,0xC6,0xA2,0xE9,0xBC,0xD4, - 0xAE,0xC6,0x99,0x37,0x6F,0x9E,0x30,0x64,0xC8,0x10,0x9A,0x3F,0x7F,0xBE,0xD7,0xFE, - 0xCE,0x9F,0x7F,0xD9,0x27,0x7C,0xB9,0xA9,0x81,0x76,0x9D,0x68,0x63,0x7B,0xFC,0x87, - 0xD9,0x63,0xC3,0xE9,0xE2,0xC1,0x09,0xD4,0xFF,0x82,0x5E,0x5E,0xBD,0x6E,0x3A,0x63, - 0xE1,0x03,0x2D,0x15,0xC1,0x37,0x73,0xB3,0x7D,0x6D,0x91,0x38,0x77,0xE1,0xED,0x61, - 0xAA,0xDC,0x9F,0x77,0x0B,0xFF,0x5E,0x53,0xEF,0x97,0x42,0x06,0x9F,0x6F,0x69,0xA6, - 0xE5,0xB9,0xA7,0x68,0xB7,0x97,0xAA,0x52,0x82,0xCE,0x5A,0x34,0x3D,0x35,0x35,0x55, - 0xA7,0x05,0x21,0x03,0x33,0x31,0xFB,0xDA,0x22,0x71,0xEE,0x02,0x17,0x40,0x56,0x56, - 0x96,0x57,0xEA,0x84,0x6D,0xD8,0xB4,0x53,0x78,0x67,0x4D,0x23,0x9D,0xE8,0xDC,0xAE, - 0xA5,0xC7,0x41,0xD7,0xE1,0xCB,0x4D,0xB5,0xB4,0xED,0x97,0x03,0x5E,0xF9,0x43,0x1D, - 0x2D,0xA1,0xEB,0x8F,0x04,0x7C,0x00,0xCC,0x88,0x37,0x86,0xA9,0x36,0xFF,0xBC,0x4B, - 0x78,0xEF,0x87,0x73,0x54,0x56,0xEB,0xDF,0x42,0x36,0xB2,0x35,0xFF,0x3C,0xAD,0xFE, - 0xA5,0x9E,0xF6,0x1D,0x2C,0xF0,0xE8,0x1F,0x8C,0xB8,0xC7,0xEE,0xDD,0xBB,0xDD,0x32, - 0x1C,0xE5,0xCB,0x70,0x31,0x33,0x3C,0x9D,0x44,0xF2,0xCB,0xEE,0x83,0xC2,0x17,0x5B, - 0x9A,0x02,0x46,0xC8,0x46,0x72,0xF3,0xDA,0x68,0xCB,0x81,0x3A,0x3A,0x51,0x54,0xE2, - 0xB1,0x3F,0xDC,0xDF,0x16,0x4D,0x77,0x16,0x2E,0x66,0x09,0x9E,0x9A,0x80,0x71,0x28, - 0xFF,0xB8,0xF0,0xE3,0x9E,0x33,0xB4,0xAF,0xC8,0x3F,0xFB,0xC8,0xF6,0x40,0x1F,0x7A, - 0x4F,0x5E,0x19,0x55,0x56,0x79,0xA6,0xC2,0x06,0x3C,0x2A,0x7F,0x5A,0x34,0xDD,0x59, - 0xB8,0x98,0x25,0x60,0x55,0xC0,0xF5,0xEB,0xD7,0xBB,0xB5,0x12,0x09,0xC6,0x5D,0x77, - 0xE7,0x57,0xD2,0x9A,0x3D,0x9E,0x9B,0x23,0xEB,0x0B,0xBC,0xF7,0x83,0x5E,0xD0,0x07, - 0x8F,0xB1,0x96,0xFB,0xF0,0xC7,0x45,0xD3,0x9D,0xC5,0xAE,0x98,0xA3,0x22,0x3C,0x57, - 0x0F,0x49,0x8B,0x20,0xB2,0xED,0x4E,0xEB,0xBC,0xE7,0x50,0x21,0x2D,0xF5,0xE2,0x4C, - 0x27,0xAD,0x72,0xAE,0x45,0xA0,0xB7,0xD7,0x36,0xD1,0xA6,0xAD,0xBF,0xB8,0xD5,0x3A, - 0xBB,0x23,0x0F,0xDB,0x5F,0xB0,0x2B,0xE6,0xE8,0x2E,0x81,0x25,0xE6,0xB9,0x73,0xE7, - 0xBA,0xAD,0xAC,0xD0,0xD6,0xED,0xBB,0x84,0x8F,0x37,0x36,0x6B,0x36,0xC7,0xDA,0xDB, - 0xD4,0x35,0x12,0xFD,0xB0,0xB7,0x45,0x9C,0x11,0xC6,0x76,0xB9,0x04,0xE2,0x1B,0x4D, - 0x4D,0x4D,0x34,0x76,0xEC,0xD8,0x80,0xB7,0xCA,0x80,0xBB,0xD9,0x16,0xC0,0x5D,0x43, - 0x9D,0x30,0x57,0x17,0x9B,0x3B,0x59,0x5A,0x26,0x1C,0x28,0x6A,0x0D,0xB8,0x80,0x97, - 0x3D,0xB6,0xE4,0xB7,0xD1,0xF1,0x12,0xF7,0x54,0x58,0xE0,0x56,0xD9,0x1C,0x2E,0x66, - 0x19,0xDC,0x31,0x4C,0x75,0xF4,0x44,0x29,0x7D,0xF3,0x4B,0x60,0xF7,0x93,0xE5,0x80, - 0x97,0xF2,0xC5,0x96,0x66,0xDA,0xF6,0xCB,0x5E,0x97,0xEE,0x72,0x88,0x6B,0x20,0xBE, - 0x81,0x38,0x07,0xDB,0x15,0xF0,0x98,0x89,0xB9,0xA6,0x9E,0xF7,0xED,0x80,0xAB,0x49, - 0x24,0x07,0xF3,0x8E,0x08,0xDF,0xEF,0x69,0xD6,0xCC,0x3C,0x64,0xAD,0x81,0x84,0x99, - 0xA3,0x65,0x4D,0x62,0x70,0x90,0xED,0x72,0x98,0xF7,0xDF,0x7F,0xDF,0xED,0x13,0x2A, - 0x7C,0x1D,0x33,0x31,0xB7,0x9C,0xE7,0x17,0x9F,0x11,0x57,0x86,0xA9,0x4A,0x2A,0x6A, - 0x69,0x6B,0x01,0xEF,0x28,0xDB,0xE2,0xB3,0xCD,0xAD,0x74,0xF4,0x58,0x21,0x6B,0x39, - 0x0E,0x77,0xB1,0xAD,0xE1,0x6E,0xB6,0x02,0x58,0xFA,0x13,0x4B,0x80,0x3A,0x9A,0x44, - 0x82,0x99,0x50,0x2B,0x77,0x70,0xF7,0xDA,0x1E,0xF0,0x5A,0xF6,0x16,0xB5,0x93,0x33, - 0xE5,0x87,0x1C,0x5D,0x34,0x3D,0x50,0xE0,0x62,0xB6,0x01,0x72,0x7D,0x91,0xF3,0xEB, - 0x08,0x0D,0x67,0xCE,0xD0,0xA1,0x12,0x6E,0x95,0xD5,0xF0,0xE3,0xFE,0x16,0x2A,0x2A, - 0x76,0x7C,0xCD,0x62,0x6E,0x95,0xE5,0xB1,0x2B,0xE6,0xD4,0x84,0x88,0x80,0xBD,0xFB, - 0xCD,0x99,0x33,0x47,0x87,0x12,0x34,0x6A,0x93,0x48,0x4E,0x14,0x16,0x09,0x88,0xD6, - 0x72,0xD4,0x81,0xA1,0xAA,0x92,0x1A,0xC1,0xA1,0xB5,0x97,0x1C,0x5D,0x34,0x3D,0x90, - 0xE0,0x96,0xD9,0x0E,0xB0,0x00,0x6A,0xAD,0x73,0x49,0xE9,0x29,0xDE,0x57,0x76,0x90, - 0xDC,0x43,0xAD,0x54,0x78,0xD2,0x7C,0x0E,0xBD,0x2D,0x5C,0x29,0xA1,0xEB,0xEF,0x70, - 0x31,0xDB,0x01,0xB5,0xA4,0xD4,0x24,0x91,0xC0,0xBA,0x94,0xD6,0x0A,0x3C,0x82,0xED, - 0x20,0xE8,0x92,0xD4,0xD7,0x9F,0x61,0x2D,0xFB,0x38,0xBB,0x4A,0x45,0x20,0xC0,0xC5, - 0xAC,0x02,0x0C,0x81,0xD8,0x4B,0x22,0x39,0x56,0x58,0x2A,0xF6,0x01,0x39,0x8E,0xB3, - 0x29,0xAF,0x8D,0x8E,0x1C,0x3B,0x61,0xF7,0x2E,0xE8,0xCA,0x2A,0x15,0x81,0x80,0x99, - 0x98,0x6B,0xF9,0x38,0xB3,0x2C,0x6A,0x86,0xA9,0x5A,0x9A,0xCF,0xD2,0x09,0xDF,0x58, - 0xEC,0x41,0x73,0x1C,0x2E,0x6B,0xA7,0xAA,0xEA,0x5A,0xD6,0x52,0x86,0x07,0xBE,0x6C, - 0x63,0x26,0xE6,0x16,0x9E,0x44,0x2C,0x4B,0x76,0x76,0xB6,0xEE,0xA2,0x8B,0x2E,0xB2, - 0x99,0x44,0x52,0xDD,0xA0,0xE3,0x39,0xD8,0x4E,0x82,0x94,0xD7,0xB6,0xF3,0xB6,0x87, - 0xF3,0xF0,0xD9,0xE3,0x3B,0xC0,0x77,0xC1,0x76,0x71,0x2C,0xE0,0x6E,0xB6,0x4A,0x6C, - 0x0D,0x53,0x21,0x8A,0x7D,0xA8,0x38,0x30,0x4B,0x2E,0xB9,0x8B,0xD2,0x5A,0x9D,0xCD, - 0xA8,0x36,0x0F,0x7C,0xD9,0xC7,0xA6,0x98,0x03,0x6D,0xC6,0x94,0x2D,0x30,0x33,0x07, - 0x33,0x74,0xE4,0x92,0x48,0x4E,0x55,0xD5,0xD1,0x91,0x72,0x6E,0x96,0x5D,0x61,0x7F, - 0x51,0x2B,0xD5,0xD4,0x9E,0x66,0x2D,0x73,0x9C,0x59,0x34,0x3D,0x10,0xB1,0x29,0xE6, - 0x28,0x2E,0x66,0x33,0x9E,0x7C,0xF2,0x49,0x7A,0xFA,0xE9,0xA7,0x59,0xAB,0x83,0xF3, - 0xAD,0x4D,0x74,0xB2,0x93,0x16,0x75,0xF3,0x17,0x90,0xAF,0x5D,0x55,0x23,0xBF,0x50, - 0x9B,0x33,0x8B,0xA6,0x07,0x22,0xDC,0xCD,0x76,0x00,0x58,0x06,0xB9,0x24,0x92,0xC6, - 0x66,0xDE,0x5F,0x76,0x95,0xCA,0xD3,0x02,0xB5,0xB7,0xC9,0xF7,0x9B,0xF9,0x70,0x94, - 0x3A,0xB8,0x98,0x1D,0xC4,0xB2,0xEF,0x8C,0xF5,0x8A,0x91,0xC5,0xE4,0x16,0x86,0xF5, - 0xA3,0x35,0x2F,0x4D,0xD0,0xE1,0xF1,0xE4,0x30,0xB6,0x4F,0x8E,0xB4,0x1E,0xA6,0xE3, - 0xDE,0xBD,0x22,0x8A,0xED,0xF4,0x6D,0x70,0x33,0x3C,0x7D,0xD6,0x5A,0xAF,0x7C,0x38, - 0x4A,0x3D,0x26,0x31,0x97,0x57,0xF3,0x6C,0x07,0x35,0xC0,0x42,0x60,0xFA,0x9D,0x91, - 0xE6,0xE6,0x66,0x2A,0xAB,0x71,0x7F,0xF0,0x6B,0xEC,0xD4,0x1E,0xD4,0x8B,0x6D,0x5B, - 0x72,0xD9,0xE5,0x99,0x6C,0xCB,0x49,0xD8,0x4D,0xE3,0x8E,0x34,0xD6,0xD6,0x08,0x4D, - 0x32,0x86,0x99,0x07,0xBE,0xD4,0xC3,0x2D,0xB3,0x13,0xA0,0xB4,0x90,0x31,0x89,0xA4, - 0xB9,0xE5,0xBC,0xEC,0x45,0xE8,0x0A,0xCB,0xD6,0x56,0x09,0x41,0x29,0x3D,0x74,0x93, - 0x64,0xC5,0x96,0x48,0x13,0x06,0x11,0x6D,0x5A,0x5B,0xE4,0x77,0x37,0xDF,0xD3,0x67, - 0x05,0xD1,0xD3,0x61,0x4D,0x5A,0xB5,0x6A,0x95,0x90,0x9A,0x9A,0xEA,0xF5,0x55,0x2A, - 0x7C,0x15,0x2E,0x66,0x27,0x90,0xBA,0xDA,0x4D,0xCD,0xAD,0xD4,0xD4,0xE2,0x66,0x5D, - 0xED,0xAE,0xA2,0x4D,0x82,0x20,0xDC,0x70,0x79,0x22,0xDB,0xD1,0x41,0xAF,0x2B,0x32, - 0x69,0xBC,0x4E,0xA7,0xCB,0xDD,0xCD,0x76,0x58,0x22,0x71,0xC1,0x8D,0x8F,0x0E,0x97, - 0x3D,0x8A,0xEE,0x58,0x38,0x9E,0xD6,0xDC,0x92,0x28,0x8A,0xE3,0xA6,0x47,0x0C,0xCF, - 0xAF,0x9E,0x2B,0xF9,0x3D,0x36,0x5F,0x6F,0xA0,0xD7,0x15,0x43,0xC5,0x63,0x2E,0x73, - 0xB3,0xBB,0xDF,0xA8,0x77,0x0E,0xDB,0xDA,0x3A,0x26,0xAA,0x48,0x03,0x5F,0x9E,0xAA, - 0x67,0xEE,0x4F,0xD8,0x14,0x73,0x6A,0x7C,0x38,0xDB,0xE2,0x48,0xC1,0x3C,0x5A,0xCC, - 0xA7,0x45,0x22,0x43,0x53,0x73,0x0B,0x9D,0x69,0x62,0x4F,0xB8,0x8D,0x2A,0xCA,0xDD, - 0xA7,0xFF,0x72,0x06,0xF7,0xD3,0x5D,0xC6,0xF6,0x18,0x88,0xA2,0x49,0x83,0x23,0xA9, - 0x7D,0x6F,0x9E,0xF0,0x3D,0xDB,0x63,0x06,0xDC,0xE7,0x47,0x7A,0xE8,0x8A,0xD6,0xEE, - 0x12,0xA6,0xFD,0x3E,0xD7,0xF0,0xF8,0xB0,0x4A,0x18,0x7F,0x8B,0x51,0x90,0x8D,0xF4, - 0xDE,0xA2,0x4D,0x84,0x7D,0x68,0x2D,0x7B,0xC1,0x70,0xCC,0xF4,0xF7,0xAB,0xD0,0x54, - 0xF1,0x7A,0x73,0x16,0xEA,0x8F,0x35,0xBE,0xC7,0x5D,0xAB,0x1A,0xD9,0x5E,0xE7,0xA9, - 0x3F,0xDB,0x46,0xE7,0xCF,0x9F,0x17,0x85,0x7B,0xDF,0x7D,0xF7,0x09,0x2B,0x57,0xAE, - 0x44,0xD0,0x11,0x4F,0x09,0x7A,0xEB,0x2C,0xFE,0x8C,0x88,0x88,0x10,0x66,0xCD,0x9A, - 0x85,0x05,0xE2,0x04,0x77,0x96,0x44,0xF6,0x07,0xB8,0x65,0x76,0x12,0xE3,0x30,0x55, - 0x9B,0xFE,0xE2,0xD3,0x1B,0x67,0xB7,0xF3,0xFD,0x77,0xC5,0xE2,0xCF,0x09,0x52,0x11, - 0x0D,0xCB,0xA4,0x9B,0x52,0x74,0xBA,0x4F,0xBF,0x63,0xE2,0x33,0x43,0x6F,0x75,0xA7, - 0x26,0x88,0x42,0x37,0x13,0xD6,0xCE,0x3C,0x5A,0xB4,0x57,0x10,0x6C,0xF5,0xC1,0x0D, - 0x38,0xFE,0x7A,0x88,0xFE,0xBD,0x32,0xD6,0x70,0x03,0xF9,0xF9,0xF9,0x34,0x67,0xCE, - 0xFF,0xC1,0xAD,0xA6,0x57,0x5F,0x7D,0x55,0x14,0xB6,0x48,0x54,0x37,0xA2,0x6C,0x7D, - 0xDF,0x42,0x0F,0xC6,0xFA,0xB1,0x06,0xF3,0xED,0xB7,0xDF,0x8E,0x6C,0x30,0x7C,0x0F, - 0x5C,0xD0,0x0C,0x2E,0x66,0x27,0x41,0x3F,0x0E,0xAB,0x0E,0xEE,0xDD,0xB3,0x4B,0x6F, - 0x99,0x3D,0x70,0x3D,0x95,0x55,0xD3,0xB2,0x0A,0x73,0x11,0x5D,0x36,0x58,0x2F,0xB6, - 0x8A,0x22,0x61,0xBD,0x9C,0x80,0xD2,0x12,0x44,0xA1,0x9F,0xAC,0x38,0xC7,0x76,0x74, - 0x70,0xBC,0xE2,0x2C,0x29,0xF7,0xC1,0x19,0x4E,0xBC,0x7E,0xF3,0x6E,0xD7,0xAD,0xB1, - 0x91,0xA3,0x5B,0xDE,0xA3,0x25,0x8B,0xE6,0x52,0x6E,0xEE,0x4F,0x44,0x71,0x29,0x44, - 0xD3,0xEF,0x20,0xFA,0xF3,0xE7,0x44,0x2B,0xEA,0x88,0x3E,0x2A,0x24,0x5A,0xBC,0xD1, - 0xB0,0xBD,0xE4,0x30,0xD1,0xFD,0xAF,0x13,0x8D,0xBE,0x4A,0x14,0x36,0x6E,0xA8,0x59, - 0x59,0x59,0x02,0x77,0xC3,0x25,0x62,0xAE,0xA8,0x75,0xBB,0xAF,0xE8,0xF7,0xA0,0xEF, - 0xFC,0xE1,0x87,0x1F,0x50,0x97,0x30,0x4F,0xC4,0x67,0x1A,0x69,0xFD,0x5E,0xA9,0x88, - 0x0C,0x81,0xAF,0x93,0x7B,0xAB,0xC9,0xD6,0xBA,0x10,0xC5,0x15,0xD6,0x02,0x3B,0x26, - 0x23,0x50,0x25,0x5C,0x7D,0xBD,0xA3,0xB4,0x9F,0x6F,0xA1,0xDD,0xFF,0x7B,0x4C,0x14, - 0xB3,0xC8,0x4D,0x7F,0x20,0x7A,0x6D,0x1B,0xD1,0xBC,0x97,0xF4,0x9E,0xC8,0x14,0xC3, - 0x3E,0x29,0x10,0xFA,0xA5,0x37,0x13,0x3D,0xF6,0x91,0x41,0xE0,0x7A,0x8B,0x8D,0x35, - 0xC2,0xB0,0x60,0x3E,0x02,0x66,0xEC,0xA8,0x80,0x84,0x5B,0x66,0x17,0x40,0x12,0x49, - 0x4B,0x4B,0x0B,0x85,0x90,0x67,0x66,0x9B,0x1D,0x5B,0x55,0x2C,0x06,0xC2,0xC6,0x5D, - 0x14,0x65,0x0A,0x7C,0x7D,0x62,0xA7,0x6F,0x9A,0x99,0x62,0x1D,0x88,0xEA,0x95,0xD2, - 0x85,0x6D,0xD9,0xC7,0xD5,0xD7,0x3B,0x4A,0x41,0xEE,0x9B,0x74,0xEA,0x88,0x5E,0x94, - 0x70,0xA5,0x21,0x50,0x88,0x19,0xDB,0x6A,0x80,0xEB,0xBD,0x68,0x2D,0xD1,0xC5,0xD7, - 0x89,0x56,0x1A,0xFD,0x6B,0xAC,0xD3,0xCC,0x9E,0x0D,0x38,0xB8,0x98,0x5D,0xE4,0xCD, - 0xB7,0xFE,0x4D,0xB1,0x31,0x61,0xAC,0xE5,0x6E,0x0C,0x81,0xB0,0x1E,0x53,0x87,0xEA, - 0x1E,0xB7,0x15,0xF8,0x02,0xCC,0x2D,0xCF,0x90,0x11,0x5E,0x76,0x8A,0xFE,0xB5,0x4A, - 0xEE,0xB9,0x11,0x57,0x5F,0xEF,0x04,0xA5,0x07,0xBE,0xA5,0xC2,0x9D,0x9F,0x12,0x85, - 0x86,0x1B,0x84,0xAC,0x77,0x9D,0x1D,0x26,0x2C,0x82,0xE8,0xA1,0x7F,0x9B,0x09,0x3A, - 0x50,0x03,0x63,0x36,0xC5,0x1C,0x68,0xEB,0x4C,0x39,0x43,0x78,0x78,0x28,0xE9,0xFF, - 0x79,0x8C,0xEF,0xF5,0x6E,0x35,0xE8,0xA1,0x18,0xF8,0x32,0xC2,0xDC,0xF2,0xC1,0xFD, - 0xCC,0x22,0xCF,0x18,0x46,0x5A,0x38,0x58,0xA7,0xDB,0xB2,0xB6,0xA8,0xC3,0x3D,0x2F, - 0x3B,0x2B,0xFE,0x80,0xC5,0xEF,0xC0,0x81,0xD7,0xBB,0x01,0xB8,0xD7,0xF9,0xB9,0x6F, - 0x19,0x1A,0x77,0x3E,0x47,0x34,0x70,0x82,0x61,0xDB,0x59,0xEE,0xFB,0x97,0xF8,0x1E, - 0xE5,0xE5,0xE5,0x0E,0x17,0x61,0xF4,0x17,0x6C,0x8A,0x99,0xCF,0x9A,0xB2,0x4F,0x54, - 0x97,0x30,0x8A,0xF1,0x64,0xCD,0xC3,0x9D,0xC5,0xA2,0xC5,0x54,0x63,0x19,0x8F,0xAD, - 0xDA,0x25,0x0E,0x3B,0x61,0x28,0xC9,0x38,0xFE,0xFB,0xE6,0xD4,0x28,0x71,0xF8,0xE8, - 0xE9,0x9D,0xEC,0x20,0x50,0x56,0x44,0xF3,0xD6,0x36,0x0A,0xB0,0xF8,0x38,0xC6,0x38, - 0xCE,0xAC,0xFA,0xF5,0x6E,0xA0,0x78,0xEF,0x0A,0x6A,0x69,0xD4,0xDF,0xA8,0xD0,0x2F, - 0x46,0xB0,0xCB,0x82,0xBB,0x47,0xEA,0x5D,0xED,0x59,0xB1,0xBA,0xB1,0xAC,0x2D,0xC5, - 0xF8,0x1C,0x6B,0x1A,0x80,0x85,0xC6,0x4D,0x41,0x0F,0xD6,0x6B,0x0E,0x44,0xEB,0x6C, - 0xFA,0x40,0xF6,0x1C,0xA9,0x13,0x1E,0x79,0x7D,0x3F,0x6B,0x19,0x98,0x36,0x32,0x85, - 0x1E,0x9E,0x93,0xE3,0xC1,0x2B,0xD5,0xF7,0xC1,0x45,0xF3,0xE5,0xFA,0x22,0xFA,0x6A, - 0xBB,0x07,0xC6,0xA7,0xFC,0x98,0x8D,0xEF,0x5E,0x4F,0xE7,0xEA,0xF5,0x77,0xA7,0x67, - 0x57,0xCA,0x5B,0xE5,0xF4,0x48,0xA2,0x91,0x61,0xBA,0xC5,0xDF,0xD7,0x09,0x0B,0xCC, - 0x4A,0x84,0x85,0xD2,0x37,0x57,0xEB,0x9F,0xDB,0x71,0x9A,0xAE,0x2A,0x61,0xBB,0xA4, - 0x3C,0xF7,0x7F,0x44,0x3F,0x7F,0x43,0x6F,0xBC,0xF1,0x06,0xCD,0x9F,0x3F,0x3F,0xA0, - 0xAE,0x5D,0x93,0x65,0x6E,0x69,0xE5,0xD3,0x7E,0x9C,0x21,0x3C,0x3C,0x9C,0x92,0xBB, - 0xF1,0xD0,0x83,0x23,0x34,0xD6,0x14,0x1A,0x84,0x8C,0xC8,0xB4,0x92,0x7B,0x5D,0xD2, - 0x4A,0xDF,0x08,0x82,0x30,0x23,0xDD,0xE2,0xB3,0x4D,0x0F,0xA5,0xAB,0x74,0x3A,0xDD, - 0x57,0x72,0x42,0x06,0xAC,0xDF,0xFD,0xD5,0x57,0x5F,0x89,0x3F,0x03,0x09,0xD3,0x27, - 0x55,0x73,0x86,0x5B,0x16,0x67,0x88,0x8F,0x8F,0xD7,0x75,0x8F,0x0B,0xF8,0x21,0x4E, - 0x87,0xA8,0x39,0xB9,0xCB,0xB0,0x31,0xD4,0x3C,0xBF,0xCD,0x9C,0x56,0xFA,0xAA,0x94, - 0x28,0xA7,0x5F,0x57,0x33,0x57,0xFB,0xEE,0xEE,0x86,0x00,0xC5,0xDB,0xE2,0xFF,0x32, - 0x30,0x31,0x63,0x51,0xB9,0x40,0x83,0x9B,0x14,0x37,0x10,0x1C,0x12,0x4A,0x69,0x71, - 0xBC,0x37,0xA2,0x96,0xA6,0xFA,0x72,0xC3,0x46,0x7A,0x8E,0xE1,0xA7,0x02,0x6F,0xE7, - 0x35,0x51,0x81,0x70,0x5E,0xB8,0x21,0x86,0xED,0xD0,0xBB,0xD8,0x57,0x77,0x27,0xFA, - 0x66,0x7B,0x9D,0xF2,0xDD,0x13,0xC3,0x5A,0xC9,0x3D,0xC4,0xC8,0x76,0xA0,0x61,0x53, - 0xCC,0x71,0x5D,0x3D,0x18,0xA6,0xF5,0x23,0x12,0xE3,0x63,0x29,0x2B,0x89,0x8B,0x59, - 0x2D,0xCD,0x8D,0x6C,0x7D,0x66,0xB8,0xD9,0xB6,0xD0,0x7B,0x8B,0x2B,0xCF,0x04,0x93, - 0xC9,0xD5,0xB6,0xE7,0x62,0x1B,0x61,0xEF,0x7B,0xFC,0xF8,0xF1,0x80,0x72,0x99,0x6C, - 0x8A,0x39,0x34,0x98,0x5F,0xA0,0x6A,0xE8,0x1A,0x13,0x45,0xD9,0x29,0x3C,0xF2,0xAF, - 0x96,0xE0,0x60,0xB5,0xE3,0xF2,0xED,0xF4,0x69,0x69,0x9B,0xC9,0xD5,0x86,0x8B,0x5D, - 0x90,0x57,0x2F,0x28,0xBA,0xD8,0x46,0x1A,0xE5,0x6B,0x89,0xF9,0x3B,0x26,0x31,0xF3, - 0x00,0x98,0xF3,0x24,0x27,0x27,0xEB,0xB2,0x93,0x58,0x83,0x63,0x97,0xB0,0xA8,0x78, - 0xC3,0xC6,0xA9,0x22,0xC3,0x4F,0x1B,0x6C,0x29,0x69,0x65,0xAE,0x36,0x5C,0xEC,0x36, - 0x5A,0xA9,0x66,0x51,0xBE,0x5A,0xC3,0x72,0x37,0x81,0x56,0x96,0xD7,0x24,0xE6,0xDA, - 0x33,0xBC,0x00,0xBE,0x2B,0x84,0x86,0x04,0x51,0xAC,0x7F,0x54,0xF0,0xF1,0x38,0x51, - 0xF1,0x3D,0x0C,0x1B,0xFB,0x73,0x0D,0x3F,0x6D,0x61,0x74,0xB5,0x47,0x86,0xEB,0x5D, - 0xEC,0x10,0xDD,0xA7,0xF6,0x56,0xB2,0x39,0x99,0x2F,0x5A,0x66,0x14,0x35,0x08,0x34, - 0x6C,0xBA,0xD9,0x1C,0xF5,0x64,0xA4,0xA7,0xD2,0xF8,0x0B,0xB8,0xAB,0xAD,0x86,0xC4, - 0xAC,0x31,0x14,0x14,0xA2,0x77,0xB5,0x0F,0x6F,0x57,0xE1,0x12,0x33,0x57,0xBB,0x6B, - 0x88,0x0E,0x2E,0xF6,0x16,0xB6,0x57,0x91,0xDC,0x2F,0xC5,0x1F,0xD3,0xA7,0x4F,0x17, - 0x7F,0x06,0x12,0x36,0xC5,0x1C,0xE7,0xB1,0x9C,0x63,0xFF,0xA3,0x47,0x66,0x86,0x6E, - 0x68,0x76,0x30,0xE9,0x0D,0x34,0xC7,0x0E,0x21,0xE1,0xD1,0x14,0x9B,0x36,0x80,0xA8, - 0xB5,0x99,0xE8,0x87,0x8F,0xD9,0x5E,0x65,0xB6,0xE4,0x35,0x60,0xFA,0xA3,0x90,0x93, - 0x67,0xC7,0xC5,0x6E,0x69,0x22,0xFA,0x6E,0x89,0xB8,0x79,0xE3,0x8D,0x37,0x8A,0x3F, - 0x03,0x09,0x9B,0x97,0x5E,0x58,0x28,0xBF,0x32,0x1D,0x21,0x26,0x26,0x9A,0x72,0xD2, - 0xF8,0x67,0xA6,0x86,0x1E,0x43,0x6F,0x30,0x6C,0x7C,0xF9,0xB2,0x41,0x84,0xEE,0x00, - 0x42,0xD6,0xF7,0x97,0xB1,0x8C,0xCD,0x15,0x57,0x5C,0x11,0x70,0xD1,0x5B,0x7E,0xE5, - 0xB9,0x91,0xA1,0x83,0xFB,0xEB,0xA6,0x0C,0xE1,0xC3,0x79,0x6A,0x48,0xEE,0x73,0x31, - 0xA5,0xE8,0x1F,0x62,0xB0,0xEA,0x99,0xD9,0x6C,0xAF,0x0B,0x1C,0xDF,0x47,0xBA,0xA5, - 0x86,0x05,0x0A,0x50,0x05,0x26,0x10,0x31,0x89,0xF9,0x54,0x2D,0x0F,0x80,0xB9,0x83, - 0xC4,0x98,0x60,0xFD,0x83,0x35,0x38,0x36,0x99,0x7D,0xDB,0x03,0x94,0x98,0x94,0x64, - 0x08,0x84,0xFD,0xF3,0x5E,0xB6,0xD7,0x09,0x10,0xF4,0xD2,0xDF,0x10,0x04,0xBD,0x85, - 0x47,0x8D,0x6D,0xCC,0x33,0x67,0xCF,0x04,0x14,0xDC,0x32,0xBB,0x99,0xCC,0x8C,0x54, - 0xBA,0xF8,0x42,0x1E,0x6B,0x50,0xC3,0xAC,0x89,0x3D,0xE9,0xC3,0xA5,0x4B,0x29,0x3C, - 0x22,0xC2,0xD0,0x77,0xC6,0x24,0x09,0x47,0x5D,0x6E,0xFD,0x8D,0x40,0xB7,0x70,0xAA, - 0x68,0xE1,0x51,0x64,0x71,0xD9,0xB2,0x65,0x01,0x9B,0x1C,0xC1,0xC5,0xEC,0x66,0x32, - 0xD2,0xBB,0xEB,0x86,0xF6,0xE2,0xE9,0x9D,0xF6,0xB8,0xB8,0x5F,0x30,0xF5,0xEC,0x9E, - 0x80,0xA8,0xB3,0x6E,0xF5,0xAA,0x55,0xD4,0x2D,0x36,0x56,0x9C,0xED,0x44,0xF7,0x0C, - 0x21,0xFA,0xFA,0x0D,0xFB,0xA2,0xC6,0x18,0xF5,0x8B,0x77,0x12,0x3D,0x31,0x83,0x84, - 0xC6,0xD3,0x62,0xF4,0x7A,0xEB,0xD6,0xAD,0x01,0xFD,0xA1,0x9B,0xFE,0xF8,0x7F,0x7C, - 0x52,0x20,0xAC,0xD9,0x6E,0x18,0x6C,0x37,0xF2,0xD7,0xDF,0x5C,0x48,0x23,0xFB,0xC7, - 0xF3,0xAB,0xD2,0x09,0x56,0xFD,0xB0,0x5D,0x58,0xBC,0xB2,0x99,0xB5,0x38,0x52,0xA2, - 0x23,0x74,0xB4,0x60,0x46,0x04,0x5D,0x3C,0x6E,0xB8,0xE9,0xDA,0xC2,0x4A,0x8F,0x73, - 0xE6,0xCC,0xA1,0xDD,0xBB,0x25,0x05,0xC1,0x31,0x69,0x02,0xA5,0x81,0xFA,0x8E,0x30, - 0xCC,0x57,0x86,0x3B,0x5D,0x59,0x6C,0x10,0x3D,0xB6,0xF5,0xA0,0xA8,0xE2,0x83,0x0F, - 0x3E,0x48,0xCF,0x3F,0xFF,0x7C,0xC0,0x5F,0xA7,0x36,0xC5,0xFC,0xC2,0xBD,0x03,0x69, - 0x48,0x1F,0x8B,0x49,0xE0,0x1C,0x55,0xEC,0x3D,0x90,0x2F,0x2C,0x5B,0x5F,0x45,0x3B, - 0x8E,0xF2,0xCC,0x3A,0x4B,0x6E,0xB9,0x24,0x8C,0xA6,0x8C,0xE9,0x49,0xDD,0x53,0x53, - 0xAC,0xAE,0x2D,0xD4,0x22,0x7F,0xE5,0x95,0x57,0xEC,0xCE,0x7A,0x8A,0xD5,0x5B,0xF2, - 0x59,0xB3,0x66,0xD1,0x73,0xCF,0x3D,0x27,0xD6,0x31,0x67,0xBB,0x03,0x1A,0x2E,0x66, - 0x0F,0xF2,0xD3,0xA6,0x1D,0xC2,0x8B,0x5F,0x37,0xD3,0x39,0x77,0xAF,0x78,0xE1,0xC3, - 0x64,0x26,0xE8,0xE8,0xEE,0x69,0x51,0x34,0x7A,0xE4,0x45,0x36,0xAF,0x2B,0x14,0x7D, - 0x58,0xBD,0x7A,0xB5,0x58,0x79,0xB3,0xA2,0xA2,0x42,0xFC,0x39,0x7A,0xF4,0x68,0xF1, - 0x39,0xF4,0x8D,0x03,0x71,0xE8,0xC9,0x1E,0xA6,0x0F,0xE4,0x91,0xD7,0xF7,0x09,0x7B, - 0x8E,0x98,0x67,0xE3,0x70,0x31,0xBB,0xC6,0xC9,0x92,0x52,0xE1,0xEB,0xDC,0x93,0xB4, - 0xFC,0x67,0x3E,0x52,0x60,0xE4,0x91,0xAB,0xC3,0x69,0xEA,0xC4,0x91,0xFC,0x9A,0xF2, - 0x00,0x3C,0x00,0xE6,0x41,0x10,0x0C,0x1B,0x75,0x41,0x34,0x0D,0xEA,0x11,0xCC,0xF6, - 0x04,0x36,0xB3,0xC7,0x86,0x53,0x4E,0x76,0x77,0xD6,0xE2,0xB8,0x1B,0x6E,0x99,0xBD, - 0xC0,0xE6,0x9F,0x77,0x09,0x6F,0xAD,0x39,0x4B,0x65,0xB5,0xFE,0xED,0x6E,0x23,0xB0, - 0x95,0x93,0x4A,0x94,0x95,0x11,0x42,0x3D,0xE2,0x75,0x94,0x10,0xD1,0x11,0x2F,0x28, - 0x3F,0x17,0x44,0x49,0x5D,0xC3,0x69,0xFC,0xF0,0x21,0xFC,0x7A,0xF2,0x10,0x36,0xC5, - 0xFC,0xEE,0xC2,0x61,0xD4,0x23,0x25,0x92,0x7F,0xF8,0x6E,0xE0,0x87,0xDC,0x5F,0x84, - 0xD7,0xBE,0x6D,0xA2,0x06,0x3F,0x5C,0x06,0x1B,0x2B,0x7A,0x8C,0xBA,0x20,0x88,0xFA, - 0x67,0x87,0xD2,0xDE,0xF3,0x5D,0x68,0xD3,0xF9,0x18,0xDA,0xDF,0xDA,0x85,0xCA,0xDA, - 0x3A,0xB2,0xE1,0x06,0x86,0x9E,0xA3,0x9C,0x90,0x26,0xBA,0xBA,0xEB,0x59,0xEA,0x1D, - 0xD2,0x4C,0x17,0xF4,0xCC,0x10,0xA7,0x8E,0xB2,0xA7,0x39,0x6E,0xC0,0xA6,0x9B,0x1D, - 0xC6,0x67,0x0D,0xB8,0x8D,0x4B,0x27,0x0C,0xD7,0xDD,0x35,0x25,0xDC,0xEF,0x26,0x62, - 0x60,0xDA,0xE7,0x0D,0x97,0x85,0x51,0x61,0x7A,0x02,0xFD,0xBA,0xBE,0x17,0x3D,0xD5, - 0x90,0x4E,0x6B,0x9B,0xBA,0x9A,0x09,0x19,0x40,0xDC,0xCB,0xCF,0xC5,0xD1,0xDC,0x8A, - 0x74,0xBA,0xA1,0x3C,0x93,0x96,0x1C,0xAE,0xA1,0xAD,0x07,0x0E,0xF3,0xC8,0xA0,0x1B, - 0xE1,0x6A,0xF5,0x22,0xC3,0x06,0xF4,0xA4,0x5B,0x27,0x85,0xF9,0x8D,0xA0,0x91,0x18, - 0x73,0xDD,0xA5,0x5D,0xE8,0xF1,0xA6,0x1E,0xF4,0xF6,0xD9,0x64,0x3A,0xD3,0xAE,0xEE, - 0x0F,0x83,0xD0,0x17,0x56,0xA7,0xD2,0x13,0x25,0x51,0xB4,0x61,0xE7,0x3E,0x2E,0x68, - 0x37,0x61,0xFA,0xF4,0x1B,0xCE,0xB1,0xE5,0x33,0x39,0x1E,0x23,0x35,0x25,0x49,0x37, - 0xE1,0xA2,0x1E,0x74,0xF7,0xB4,0x2E,0x1E,0x5A,0x6C,0xCE,0x7B,0xC0,0x22,0x5F,0x39, - 0x21,0x82,0xEE,0x3A,0x93,0x4D,0x85,0x6D,0xCE,0xAD,0xE3,0xBD,0xEE,0x6C,0x34,0x2D, - 0x28,0x4F,0xA0,0xDC,0xBD,0x87,0xB8,0xA0,0xDD,0x80,0x44,0xCC,0x1D,0x2B,0xD6,0x73, - 0x3C,0x47,0x66,0x46,0xAA,0x6E,0xFC,0xB0,0x6C,0xBA,0x77,0x7A,0x84,0x18,0x30,0xF2, - 0x45,0xE0,0x59,0x5C,0x3F,0x29,0x9C,0x1E,0x6D,0xC8,0x50,0x6D,0x8D,0x95,0xD8,0xD9, - 0x12,0x49,0xAF,0x9F,0xEA,0x42,0xBB,0xF2,0x8F,0x71,0x41,0xBB,0x88,0x6B,0xDF,0x04, - 0xC7,0x29,0x92,0x12,0xE3,0x75,0x97,0x4F,0x1A,0xAE,0xFB,0xDD,0x95,0x11,0x3E,0x59, - 0x6A,0x68,0x74,0xBF,0x60,0xFA,0xA9,0xAD,0xAB,0xD3,0x16,0xD9,0x92,0x8F,0x1B,0x62, - 0xA9,0xB8,0xD6,0x5E,0x3D,0x20,0x8E,0x3D,0x6C,0x8A,0x39,0x35,0xC1,0x47,0x4D,0x87, - 0x8F,0x80,0xA0,0xD8,0xFD,0x57,0x46,0x52,0x9F,0x54,0xDF,0xF9,0x98,0xD1,0x3D,0x18, - 0x7D,0x41,0x30,0xBD,0x75,0xD6,0x7E,0x05,0x43,0xD9,0x35,0xA1,0x14,0x78,0xAA,0x3A, - 0x89,0x36,0xEF,0x39,0xC0,0xAD,0xB3,0x0B,0x70,0xCB,0xDC,0xC9,0x4C,0x18,0x3B,0x4C, - 0x77,0xC7,0xD4,0x6E,0x62,0xBE,0xB2,0x2F,0xF4,0xA3,0xFB,0x75,0x27,0xDA,0xDA,0x1C, - 0x45,0x2D,0x6E,0xBE,0x74,0xE0,0x6E,0x37,0x36,0xF1,0x89,0x29,0xAE,0xC0,0xC5,0xAC, - 0x01,0x46,0x0C,0x1D,0xA8,0xC3,0xC4,0x83,0x87,0x66,0x86,0x6B,0xDE,0x4A,0xE7,0x64, - 0x85,0xD2,0x8F,0xE7,0x55,0x2E,0x86,0xEE,0x20,0xDF,0x9F,0x8B,0x09,0xD8,0xB5,0x95, - 0xDD,0x01,0x17,0xB3,0x46,0xC0,0x0C,0xA2,0x4B,0xC6,0x8F,0x10,0xAD,0xF4,0xFC,0xCB, - 0xC3,0x35,0x1B,0x1C,0x4B,0xEB,0x4A,0x94,0xDF,0xEA,0x9E,0xBE,0xB2,0x25,0xFB,0x9A, - 0xC3,0xE8,0x54,0x7D,0x23,0x6B,0x71,0x1C,0xC5,0x24,0xE6,0x8A,0x9A,0xC0,0x5B,0x9B, - 0x47,0x8B,0xC0,0x4A,0x5F,0x73,0xF9,0x48,0x1D,0xAC,0xF4,0xEC,0xB1,0xA1,0x9A,0x2B, - 0x41,0xD4,0x2D,0x5C,0xA0,0xEA,0x36,0xCF,0xE4,0x9A,0xE3,0x7D,0xCF,0xB5,0xF0,0x05, - 0x0C,0x9D,0x85,0x5B,0x66,0x8D,0x32,0x7E,0xEC,0x08,0xDD,0xAF,0x2E,0xEE,0x49,0xF7, - 0x5D,0x19,0x29,0x5A,0xEA,0xCE,0x74,0xBF,0x31,0x14,0x35,0x34,0x4B,0x47,0x7F,0xB8, - 0x26,0x9C,0x74,0xFA,0xD3,0x70,0x77,0x7F,0xD9,0x08,0xDE,0xB7,0xBD,0x9D,0xCF,0xFF, - 0x76,0x16,0x2E,0x66,0x0D,0x93,0x9A,0x9A,0xAA,0x1B,0x3B,0x7A,0x98,0x68,0xA9,0xE1, - 0x7E,0x43,0x4C,0xFD,0x2D,0xD7,0x2B,0xF6,0x30,0x97,0x0F,0x09,0xA1,0xC7,0xAF,0x0D, - 0xA3,0x5B,0xA7,0x24,0xD1,0xA5,0x17,0x8F,0xD4,0x51,0x50,0x30,0xC5,0x04,0x79,0x46, - 0x70,0x78,0xDF,0xD0,0x10,0xBE,0x90,0x80,0xB3,0x28,0x5E,0x19,0xBC,0x00,0xBE,0xB6, - 0x80,0xFB,0x0D,0x31,0x5D,0x3B,0xDA,0x7B,0x17,0x3B,0x56,0xB6,0xBC,0x78,0x40,0x04, - 0x4D,0x18,0x37,0x4A,0x37,0xF0,0xC2,0xBE,0xA2,0x6B,0xD0,0x1E,0x1C,0x42,0xF1,0x3A, - 0xCF,0xB8,0xC2,0x78,0xDF,0xC8,0x70,0x7E,0xDD,0x39,0x8B,0xA2,0x98,0x79,0x01,0x7C, - 0x8E,0x88,0xCE,0xFC,0x3A,0x88,0xEF,0xD6,0x8D,0x86,0x85,0x9D,0x65,0x2D,0xF7,0x32, - 0x29,0xAA,0x89,0x52,0x62,0x79,0x9D,0x62,0x67,0xE1,0x8A,0xE5,0x38,0xC4,0x80,0x3E, - 0xD9,0x3A,0x4C,0x63,0x74,0x37,0x61,0xD4,0x4E,0x43,0x42,0x1B,0x29,0x31,0x31,0x51, - 0xDB,0x63,0x73,0x1A,0x86,0x8B,0x99,0xE3,0x30,0x7D,0xC2,0xDB,0xA8,0x6F,0xA8,0xFD, - 0x04,0x8F,0xB7,0xB7,0x9F,0x16,0xD7,0x88,0x62,0x4D,0x9B,0xDC,0x10,0x7D,0x9A,0x92, - 0x51,0x10,0x9F,0xE3,0x34,0xA2,0x98,0xCB,0xAB,0xFD,0x70,0xC6,0x3C,0xC7,0x63,0x5C, - 0x98,0x95,0x41,0x0F,0xC5,0x55,0xB3,0x96,0xEB,0xC0,0x2A,0xDF,0x1E,0x53,0x4B,0x17, - 0xF6,0xEA,0xC9,0xAD,0xB2,0x0B,0x70,0xCB,0xCC,0x71,0x98,0xF8,0xF8,0x78,0xDD,0x90, - 0x6E,0xC1,0x34,0x25,0xB2,0x81,0xED,0x71,0x8D,0xA7,0x13,0xAB,0xA8,0x57,0x46,0x1A, - 0x6B,0x71,0x9C,0x85,0x8B,0x99,0xE3,0x14,0x63,0x06,0x5C,0xA0,0xFB,0x53,0x62,0xAD, - 0xCB,0xC1,0xB0,0xDF,0x75,0xAD,0xA2,0x19,0x69,0x61,0x94,0x9D,0xCE,0x6B,0x5F,0xBB, - 0x8A,0xA2,0x98,0x53,0xE3,0x3D,0x93,0xB2,0xC7,0xF1,0x1F,0x26,0x0E,0x1B,0xA4,0xFB, - 0x67,0xC6,0x69,0xBA,0x39,0xBA,0x8E,0xED,0x51,0x0F,0x5C,0xEB,0xE7,0x12,0x4F,0xD1, - 0x3D,0x3D,0x43,0x68,0x50,0xEF,0x2C,0x2E,0x64,0x37,0xC0,0x2D,0x33,0xC7,0x25,0x26, - 0x0C,0xEE,0xAF,0x7B,0xA4,0x47,0x3B,0x7D,0x9E,0x5A,0x24,0x16,0xED,0x53,0xC3,0x0D, - 0x51,0x75,0xB4,0x2A,0xED,0x04,0xDD,0x94,0x1D,0xC3,0x85,0xEC,0x46,0xB8,0x98,0x39, - 0x2E,0x33,0xB4,0x6F,0x2F,0xDD,0xEC,0x31,0x83,0x75,0x6F,0x76,0xAF,0xA2,0xB5,0x69, - 0xC7,0xE8,0xE9,0xF8,0x53,0x74,0x55,0x97,0xD3,0xA2,0x0B,0x6E,0x7C,0xDC,0x16,0x55, - 0x4D,0xAF,0x24,0x96,0xD1,0xE6,0xB4,0x7C,0x7A,0x22,0xAB,0x9D,0x2E,0x1B,0x3D,0x4C, - 0xC7,0x5D,0x6B,0xF7,0x22,0x8A,0x99,0xD7,0xFF,0xE2,0xB8,0x83,0x09,0x43,0x07,0xE9, - 0xA6,0xEA,0x45,0x7A,0x4F,0xDF,0xAE,0xF4,0xB7,0xAC,0x56,0x7A,0x2D,0xBD,0xD6,0xF4, - 0x78,0xAA,0x6F,0x28,0xFD,0x5F,0xBF,0x24,0x1A,0x37,0x7A,0x94,0x6E,0x70,0x4E,0x2F, - 0x2E,0x62,0x0F,0x20,0x8A,0xB9,0xB1,0x89,0x8B,0x99,0xE3,0x3E,0x90,0x53,0x3E,0xE4, - 0x82,0x3E,0xBA,0x71,0x43,0x06,0x98,0x1E,0xBD,0x7A,0xF6,0xD0,0xF1,0x84,0x10,0xCF, - 0xC2,0xDD,0x6C,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x45,0x31,0xA7,0xC4, - 0x45,0xB0,0x2D,0x0E,0x87,0xE3,0x0B,0x88,0x7D,0x98,0x3D,0x47,0xEA,0x84,0x47,0x5E, - 0xDF,0x2F,0xEE,0x30,0x32,0x6D,0x64,0x0A,0x3D,0x3C,0x27,0x87,0xF7,0x71,0x34,0xC6, - 0x4F,0x9B,0xB6,0x09,0x1F,0xFE,0xE4,0x9D,0x6A,0x1C,0x58,0xB1,0xE2,0xAA,0x91,0xD1, - 0x34,0x6A,0xF8,0x60,0x7E,0x1D,0xF8,0x00,0x5C,0xCC,0x3E,0xC6,0xEE,0xBD,0x07,0x84, - 0x96,0x56,0xEF,0x2D,0x58,0x90,0x10,0xDF,0x8D,0x7A,0x67,0xF3,0x9C,0x69,0x5F,0x80, - 0x8B,0x99,0xC3,0xF1,0x13,0x78,0x00,0x8C,0xC3,0xF1,0x13,0xB8,0x98,0x39,0x1C,0x3F, - 0x81,0x8B,0x99,0xC3,0xF1,0x13,0x44,0x31,0x97,0xD7,0xF0,0x65,0x41,0x38,0x1C,0x5F, - 0x87,0x5B,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E,0xC7, - 0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70, - 0xFC,0x04,0x45,0x31,0xC7,0x75,0x0D,0x65,0x5B,0x1C,0x0E,0xC7,0x17,0x50,0x14,0x73, - 0x68,0x30,0x4F,0xCB,0xE6,0x70,0x7C,0x09,0xEE,0x66,0x73,0x38,0x7E,0x02,0x17,0x33, - 0x87,0xE3,0x27,0x70,0x31,0x73,0x38,0x7E,0x02,0x17,0x33,0x87,0xE3,0x27,0x70,0x31, - 0x73,0x38,0x7E,0x82,0x28,0xE6,0xDA,0xFA,0x16,0xB1,0xC1,0xE1,0x70,0x7C,0x17,0x51, - 0xCC,0x2D,0xE7,0xDB,0xC5,0x06,0x87,0xC3,0xF1,0x5D,0xB8,0x9B,0xCD,0xE1,0xF8,0x09, - 0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F, - 0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8, - 0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E, - 0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1, - 0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C, - 0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC, - 0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0x20,0x8A,0x39,0x25,0x3E,0x42,0x6C,0x70, - 0x38,0x1C,0xDF,0x85,0x5B,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E, - 0x66,0x0E,0xC7,0x4F,0x50,0x14,0xF3,0xA9,0x5A,0xBE,0xCA,0x05,0x87,0xE3,0x4B,0x88, - 0x2B,0xAA,0x7F,0xB7,0xAD,0x42,0x78,0x71,0x59,0x81,0xB8,0xC3,0xC8,0xB4,0x91,0x29, - 0xF4,0xF0,0x9C,0x1C,0x9F,0x5B,0x71,0x7D,0xCF,0x91,0x3A,0x81,0x6D,0x72,0xBC,0x4C, - 0x4A,0x5C,0x04,0xA5,0x26,0x44,0xF0,0x55,0xFA,0x3B,0x09,0xBF,0x13,0xF3,0xB4,0xDF, - 0xE7,0x72,0x31,0x77,0x12,0xB7,0x4C,0xCB,0xA4,0xDB,0xA6,0xF7,0xF4,0xC8,0x35,0x53, - 0x5C,0x5C,0xEC,0xB1,0xEF,0x35,0x24,0x24,0x84,0xD2,0xD2,0xD2,0x7C,0xFE,0x26,0xC4, - 0xC5,0xCC,0x71,0x1B,0x9E,0x12,0xF3,0xFE,0x83,0xF9,0xC2,0x8E,0xBC,0x6A,0x2A,0xAB, - 0xF5,0xCC,0x57,0x3B,0x3A,0x27,0x98,0x2E,0xBD,0x64,0xB4,0x7F,0x88,0x79,0xFB,0xA1, - 0x1A,0xE1,0x8F,0xEF,0x1C,0x14,0x77,0x18,0xF1,0x07,0x31,0xE3,0xE2,0xE2,0x78,0x96, - 0x7D,0xC7,0xEA,0xF5,0x5D,0x9B,0xD3,0xE2,0xB6,0x27,0xC5,0xBC,0x74,0x5D,0x25,0xED, - 0x3A,0xE1,0x19,0x31,0xDF,0x77,0x65,0x38,0xCD,0x9C,0x32,0xD2,0x3F,0xC4,0x8C,0x7E, - 0xE6,0x23,0xAF,0xEF,0x17,0x77,0x18,0xF1,0x07,0x31,0xAF,0x79,0x69,0x82,0xCF,0x7F, - 0x41,0x5A,0xE7,0x83,0xD5,0x85,0xC2,0x87,0x6B,0x8A,0xC5,0x6D,0x2E,0xE6,0xCE,0x85, - 0x0F,0x4D,0x71,0x38,0x7E,0x02,0x17,0x33,0x87,0xE3,0x27,0x28,0x8A,0xB9,0xE1,0xDC, - 0x79,0xB6,0xC5,0xE1,0x70,0x7C,0x01,0x45,0x31,0x37,0x36,0xF9,0xBE,0x98,0x11,0x0B, - 0xB0,0xF7,0x60,0x87,0x72,0x38,0x3E,0x8F,0x9F,0xBA,0xD9,0x3A,0xD2,0xE9,0x88,0x10, - 0x98,0xB1,0xF7,0xF8,0x71,0xE7,0x29,0x2E,0x68,0x8E,0x5F,0xE0,0xA7,0x62,0x16,0x48, - 0xD0,0x4B,0xF4,0x85,0x7B,0x07,0xE9,0xEC,0x3D,0x26,0x0F,0x4B,0xE6,0x11,0x6F,0x8E, - 0x5F,0x20,0x8A,0x39,0x34,0xC4,0x4F,0x35,0xCD,0xE1,0x04,0x10,0xA2,0x8A,0xE3,0x63, - 0xC2,0xC4,0x06,0x87,0xC3,0xF1,0x5D,0xB8,0x49,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E, - 0xC7,0x4F,0x50,0x14,0x73,0x4B,0x6B,0x3B,0xDB,0xE2,0x70,0x38,0xBE,0x80,0xA2,0x98, - 0x6B,0xCE,0xB4,0xB2,0x2D,0x0E,0xA7,0x73,0xA8,0xA9,0xA9,0x11,0xB6,0xFD,0xB2,0x57, - 0x28,0xAB,0x3C,0x4D,0xC7,0x2B,0x3D,0x37,0x82,0xB8,0xFD,0x48,0x1B,0xE5,0x6E,0xDE, - 0x26,0xE4,0xE5,0x1F,0xF5,0xE9,0x61,0x4A,0x71,0x58,0xA6,0xBC,0xBA,0x49,0xB8,0xED, - 0xAF,0x3B,0xC4,0x1D,0x46,0x50,0xB1,0x73,0xE9,0x13,0x23,0x7C,0x6E,0xD8,0x46,0x3A, - 0xD1,0xE2,0x85,0x7B,0x07,0xB2,0x2D,0xD7,0x89,0x8B,0x09,0xA3,0x1E,0x29,0x91,0x7C, - 0x18,0xCB,0x02,0x4F,0x4C,0xB4,0x38,0x75,0xEA,0x94,0x70,0xE4,0x58,0x11,0x95,0xD4, - 0x08,0xB4,0x76,0x4F,0x0B,0x9D,0xF0,0xA0,0x90,0x8D,0x60,0x40,0xE7,0xA2,0x6C,0x1D, - 0x5D,0x3E,0x24,0x94,0xBA,0x76,0x8D,0xA1,0xA1,0x83,0xFB,0xFB,0xDC,0x77,0x6D,0x3A, - 0x61,0xCB,0x79,0xC0,0xBE,0x2D,0x66,0x24,0x8D,0x08,0x34,0xB8,0x77,0x37,0xB6,0xD7, - 0x75,0x20,0xE6,0xC7,0x6F,0xBD,0x80,0x8B,0xD9,0x02,0x77,0x8B,0x79,0xF3,0xCF,0xBB, - 0x84,0xFC,0xD2,0x56,0xFA,0x76,0x67,0x0B,0xD5,0x35,0xB2,0x9D,0x5E,0xA6,0x7F,0x7A, - 0x10,0x4D,0x1F,0x1A,0x4A,0xE9,0x29,0xDD,0x68,0xF0,0x80,0xBE,0x3E,0xF3,0x9D,0x2B, - 0x8A,0x19,0x17,0xEF,0x7F,0x9F,0x1E,0xE5,0xA3,0x62,0x36,0xC0,0xA7,0x40,0x7A,0x1E, - 0x77,0x89,0x79,0xEF,0x81,0x7C,0xA1,0xB0,0xEC,0x34,0x7D,0xB2,0xB1,0x99,0xAA,0xCE, - 0xB0,0x9D,0x9D,0xCC,0x88,0xDE,0x7A,0x51,0x5F,0x14,0x46,0x7D,0x7A,0x67,0x52,0xF7, - 0xD4,0x14,0xCD,0x5F,0x4B,0x8A,0x7D,0xE6,0xDA,0x33,0xBC,0xA0,0x1F,0xC7,0x3B,0x6C, - 0xDC,0xFC,0x8B,0xB0,0x6C,0x7D,0x15,0xBD,0xFA,0xAD,0x76,0x84,0x0C,0x76,0x1C,0x6D, - 0xA7,0x17,0xBF,0x6E,0xA6,0x75,0x5B,0x0B,0x69,0xC7,0xAE,0xFD,0x9E,0xF7,0xF5,0x5D, - 0x84,0x0F,0x4D,0x71,0x3A,0x8D,0x43,0xF9,0xC7,0x85,0xE5,0xDF,0x6D,0x17,0x16,0xAF, - 0x6C,0x12,0x85,0xA3,0x45,0xCE,0xB5,0x08,0xF4,0xE1,0x4F,0x2D,0xF4,0xDE,0xDA,0xD3, - 0xF4,0xD3,0xA6,0x1D,0x9A,0x16,0xB4,0x49,0xCC,0x7C,0x89,0x1A,0x8E,0x37,0xD9,0xBD, - 0xEF,0xB0,0xF0,0xCD,0x96,0x53,0xF4,0xC6,0x77,0xCD,0xD4,0xD0,0xA4,0x79,0xA3,0x47, - 0x47,0xCA,0x05,0xD1,0x4A,0x7F,0xFB,0xC3,0x0E,0xE1,0x54,0x65,0xB5,0x26,0x4F,0x98, - 0x5B,0x66,0x8E,0xD7,0xD9,0xF6,0xCB,0x01,0xE1,0xCB,0x4D,0xB5,0xB4,0x66,0x8F,0x6F, - 0x0D,0x7F,0xC2,0x4A,0xBF,0xF6,0x6D,0x13,0x6D,0xDC,0x71,0x9C,0x0A,0x8B,0x4B,0x35, - 0x27,0x68,0x9B,0x62,0xC6,0x90,0x15,0xDB,0xE4,0x70,0xDC,0x42,0xEE,0xCF,0xBB,0x85, - 0x8F,0xD6,0x9F,0xA6,0xAD,0xF9,0xBE,0x39,0x5F,0xFE,0xBC,0xBE,0x37,0xF0,0xD6,0xDA, - 0x26,0xFA,0x61,0x7B,0x09,0xE5,0xE5,0x7B,0xA8,0x28,0x99,0x93,0x70,0xCB,0xCC,0xF1, - 0x1A,0x18,0x76,0x7A,0x67,0x4D,0x23,0x1D,0x2A,0xF1,0xFD,0xEC,0xC2,0x4F,0x72,0x9B, - 0xE9,0x87,0x9D,0xA7,0xE8,0xC8,0xB1,0x22,0xCD,0x08,0xDA,0x24,0xE6,0xD4,0xF8,0x70, - 0xB6,0xE5,0x3F,0xC8,0x55,0x16,0xB1,0x7C,0xB0,0x43,0x39,0x1E,0xE6,0x97,0xDD,0x07, - 0x85,0x2F,0xB6,0x34,0x79,0xAC,0xF6,0x75,0x67,0xB0,0x62,0x5B,0x0B,0xED,0x39,0x7C, - 0x8A,0xB4,0xD2,0x87,0xB6,0x69,0x99,0x2B,0x6A,0x9B,0xD8,0x96,0x6F,0x81,0x01,0x41, - 0xB5,0x95,0x46,0x36,0xED,0xAB,0xE2,0x82,0xF6,0x30,0x05,0x47,0x4F,0x08,0x3F,0xED, - 0x3B,0x43,0xFB,0x8A,0xDA,0xD8,0x1E,0xFF,0xE1,0xDF,0xDF,0x37,0xD1,0xBE,0x43,0xC7, - 0x59,0xAB,0x73,0x31,0x0D,0x84,0x3F,0xFE,0xF6,0x01,0x61,0x47,0x5E,0x2D,0x6B,0x19, - 0x40,0x3A,0xE4,0x90,0x3E,0xB1,0x9A,0x1F,0x2C,0x97,0xC2,0x93,0x46,0xBC,0x8B,0xBD, - 0xA4,0x11,0x58,0x2D,0x04,0x8C,0xD0,0xCF,0xF4,0x57,0x62,0xA3,0x88,0xEE,0xBF,0x32, - 0x92,0x26,0x8C,0x1D,0xD6,0xA9,0xD7,0x9B,0xC9,0x32,0xCB,0x15,0x28,0xE0,0x33,0xA7, - 0x38,0xAE,0x72,0xF0,0xF0,0x71,0xD1,0x7A,0xF9,0x33,0x48,0x3B,0xFD,0x78,0xE3,0xB9, - 0x4E,0x4F,0x2C,0xB1,0xE9,0x66,0xF3,0x99,0x53,0x1C,0x57,0xD8,0xB5,0xF7,0x90,0xB0, - 0xFC,0xE7,0x16,0x31,0x02,0xEC,0xEF,0x60,0x1C,0xFA,0x78,0xD9,0x39,0x71,0xA6,0x17, - 0xDB,0xE5,0x75,0x4C,0x62,0x8E,0xEA,0x12,0xCC,0xB6,0x38,0x1C,0xD7,0xC1,0x45,0x7D, - 0xE4,0x64,0x83,0x5F,0x44,0xAE,0xD5,0xF2,0x49,0x6E,0x0B,0x1D,0x3A,0x7C,0x8C,0xB5, - 0xBC,0x4F,0x87,0x98,0x23,0xAC,0xC5,0xDC,0xC8,0x0B,0xE1,0x73,0x9C,0xE4,0x50,0xFE, - 0x71,0xFA,0x6C,0x4B,0x33,0x6B,0x05,0x06,0xC8,0x64,0xCB,0xCD,0x3B,0x4F,0xF9,0x47, - 0x8E,0x77,0x8A,0x75,0xB6,0xE9,0x66,0xF3,0x55,0x2D,0x38,0xCE,0x80,0x8B,0x39,0xF7, - 0x50,0x6B,0xA7,0x4D,0x61,0xEC,0x4C,0x36,0x1C,0x38,0x4F,0xC7,0x4F,0x56,0xB3,0x96, - 0x77,0x31,0x89,0x19,0x53,0x1E,0x39,0x1C,0x77,0x50,0x55,0x55,0x29,0x5E,0xD4,0x81, - 0x08,0xE2,0x03,0x3F,0xEC,0x6D,0x16,0x57,0xAE,0x64,0xBB,0xBC,0x86,0x49,0xCC,0x61, - 0xA1,0xD6,0x46,0xBA,0xAE,0xC1,0xB7,0x03,0x60,0x72,0x49,0x22,0xCE,0x3E,0xF4,0xFD, - 0xBF,0x4E,0x8D,0x54,0xFA,0x0A,0x27,0x4B,0x4A,0x85,0x3D,0x85,0x86,0x8B,0x3A,0x50, - 0xD9,0x57,0x24,0x50,0x4D,0xAD,0x61,0xCD,0x6A,0x6F,0x62,0x1A,0x17,0xC3,0x32,0x2D, - 0xCF,0x7D,0x98,0xCF,0x5A,0x06,0x7C,0x71,0x8D,0x66,0x8C,0x33,0x8B,0x27,0xAC,0xFF, - 0xCF,0x9D,0x95,0x46,0xA2,0x22,0x42,0xE8,0xA9,0x3B,0x7C,0xAF,0x94,0x8C,0xA7,0xB1, - 0x1C,0x67,0xEE,0x9B,0x50,0x43,0x6F,0xAC,0x3E,0xEB,0x57,0x99,0x5E,0xCE,0x70,0xCD, - 0xE8,0x30,0x9A,0x39,0x21,0x83,0x32,0xD2,0xBB,0x7B,0xED,0x9A,0x31,0xFD,0x22,0x58, - 0x1F,0xCB,0x05,0xD7,0xC7,0x0D,0x4C,0xF0,0xB9,0x0B,0x98,0x27,0x8D,0x78,0x17,0xA9, - 0x98,0x6F,0x98,0x94,0x42,0xE9,0xD1,0x75,0xB4,0x78,0x65,0x60,0x05,0xBE,0xE4,0x48, - 0x8C,0xC1,0x22,0xEE,0x91,0x34,0x76,0xB4,0xF7,0x12,0x49,0x6C,0x06,0xC0,0xFC,0x61, - 0x25,0x48,0x8E,0xF7,0x38,0x5D,0xDF,0x40,0xEB,0xF7,0xF3,0x0A,0x35,0x00,0x15,0x53, - 0xAA,0xCE,0x78,0x37,0x7D,0xD5,0x24,0xE6,0x94,0x38,0xEB,0xE2,0x04,0x3C,0x03,0x8C, - 0xE3,0x08,0xCD,0xCD,0x4D,0x94,0x57,0xCA,0x1A,0x1C,0xDA,0x71,0xA4,0x95,0x8E,0x1C, - 0xF5,0xDE,0x30,0x95,0x4D,0xCB,0xCC,0x33,0xC0,0x38,0x8E,0xD0,0xA2,0x77,0xE4,0x30, - 0x81,0x9F,0x63,0x00,0x25,0x82,0xAB,0x6A,0xEA,0x58,0xCB,0xF3,0x98,0xC4,0x9C,0x9A, - 0x10,0xC1,0xFB,0x97,0x1C,0x97,0xA8,0x3E,0xC3,0x85,0x2C,0x05,0x41,0x40,0xA1,0xCD, - 0x7B,0xDD,0x0E,0x9B,0x96,0xB9,0xA2,0xC6,0xBF,0x13,0xE4,0x39,0xEE,0xE5,0xF4,0x59, - 0xDE,0x2D,0xB3,0xA4,0xAA,0xC1,0xA6,0xC4,0xDC,0x8A,0xD9,0x6F,0x8A,0xEE,0x12,0xC2, - 0xB6,0x38,0x1C,0xC7,0x71,0x3A,0xE3,0x6B,0x58,0x3F,0x71,0xE4,0xC1,0xF2,0xF1,0xEE, - 0x15,0x51,0xEC,0x00,0xDF,0xE5,0x50,0xF1,0x79,0x3A,0x51,0xE8,0x9D,0x6A,0x24,0x66, - 0x62,0x8E,0xF2,0x33,0x31,0x5B,0x26,0x7E,0xC8,0x3D,0xD8,0xA1,0x1C,0x37,0xD0,0xE4, - 0x62,0x88,0x65,0xD9,0x0B,0xB9,0x02,0x86,0x16,0xC5,0xC7,0x87,0x55,0x42,0x8F,0xA9, - 0x43,0x75,0xAB,0xE7,0x26,0xB2,0x67,0x7D,0x93,0x13,0x95,0xED,0xFA,0x7E,0x73,0x3D, - 0x6B,0x79,0x16,0x33,0x31,0xC7,0xC7,0x84,0xB2,0xAD,0x0E,0x8A,0x2A,0xCE,0xFA,0xE0, - 0x05,0x8F,0xE5,0x69,0xD4,0x55,0x1A,0x41,0xB2,0x0C,0x7B,0x11,0x47,0x4B,0xEC,0xCC, - 0xA3,0x45,0x7B,0x05,0x21,0x68,0x70,0x3F,0xDD,0x65,0x6C,0x97,0x2F,0x72,0xBE,0x8D, - 0xA8,0xBD,0xDD,0x76,0xF7,0x63,0xF9,0xF2,0xE5,0xC2,0xBC,0x79,0xF3,0x84,0x49,0x93, - 0x26,0xE1,0x5A,0x34,0x3D,0xC6,0x8C,0x19,0x23,0xDC,0x74,0xD3,0x4D,0xC2,0x92,0x25, - 0x4B,0x54,0x5D,0xA3,0x66,0x41,0x2F,0x7F,0xA8,0x36,0xC2,0x93,0x46,0xBC,0x8B,0x34, - 0x69,0xC4,0x69,0xE0,0x66,0xDF,0x92,0xA8,0x83,0x65,0x7E,0xAF,0x8C,0xED,0xD3,0xD3, - 0xEB,0x8A,0xA1,0xF4,0xE6,0xD4,0x28,0xD3,0xFE,0xCB,0xE6,0x8E,0xA7,0x85,0x83,0x75, - 0xBA,0x45,0xFA,0xEF,0xF8,0x7B,0x76,0x0C,0x51,0x22,0x3D,0xF9,0xE2,0x05,0x94,0xB9, - 0x6E,0x37,0xDD,0xB5,0xAA,0x51,0x3C,0xE6,0x91,0x94,0x62,0xBA,0xF7,0x03,0xA2,0x37, - 0x1F,0xE9,0x61,0xFA,0xFE,0x37,0x7D,0x98,0x2B,0x3C,0xBD,0xB3,0xE3,0x3D,0xB0,0xAF, - 0x68,0xED,0x2E,0x01,0xAF,0x31,0x82,0xDF,0xF7,0xFA,0xE0,0x6A,0xBA,0x77,0xD1,0x59, - 0xBA,0x55,0xFF,0x9E,0xE3,0x75,0xF2,0xC7,0x39,0x02,0xAA,0x90,0x3C,0x78,0x55,0x04, - 0x8D,0x1B,0x63,0xBD,0x6E,0xDB,0xE2,0xC5,0x8B,0x85,0xE7,0x17,0x2D,0xA2,0x8A,0xF2, - 0x72,0xB6,0x47,0x99,0xF0,0x88,0x08,0x9A,0x3F,0x6F,0x1E,0x2D,0x5C,0xB8,0x90,0xD2, - 0xD2,0xD2,0x64,0xAF,0x6B,0x0B,0xCB,0x6C,0x3D,0xD9,0xA2,0xA6,0x9E,0x27,0x01,0x70, - 0x3A,0x87,0xEC,0x94,0x48,0xF1,0x67,0xA1,0x44,0xE0,0x6A,0x08,0x4A,0xE9,0xA1,0x83, - 0x90,0x21,0x7A,0xDC,0xDC,0x61,0xE1,0xC7,0xDF,0x62,0xE8,0x87,0x4F,0xD8,0xBB,0x49, - 0xBC,0xE1,0x1B,0xDD,0xF8,0x27,0x87,0xB1,0x17,0x31,0xC4,0xD7,0xBE,0xD4,0x4F,0x57, - 0xFC,0x0F,0xF3,0xE3,0x9C,0xED,0xBF,0x37,0xB7,0xEA,0xBD,0x44,0x32,0xB7,0xCC,0xBB, - 0x76,0xED,0x12,0xB2,0xB2,0xB2,0x84,0x05,0x0B,0x16,0x18,0x84,0x9C,0xD1,0x97,0xE8, - 0xA6,0x3F,0x10,0x2D,0x5A,0x4B,0xB4,0xA2,0xAE,0xE3,0xF1,0xDA,0x36,0xA2,0x79,0x2F, - 0x11,0x0D,0x9C,0x40,0xCD,0x4D,0x4D,0xF4,0xF2,0xCB,0x2F,0x53,0xBF,0xFE,0xFD,0x45, - 0x4B,0xCE,0xDE,0xCA,0x0C,0x33,0x31,0xC7,0x75,0xB5,0x76,0xB3,0x1B,0xCE,0xF9,0x5F, - 0x11,0x36,0x8E,0xF6,0x81,0x95,0x84,0x05,0x85,0x55,0xEC,0xB0,0xC2,0xEA,0x91,0x5A, - 0xEF,0xEF,0xF7,0x1A,0xA6,0x24,0xE2,0xBD,0x60,0x9D,0x45,0x76,0x56,0xD1,0x26,0x41, - 0x10,0xC6,0x0E,0xB6,0xEE,0x93,0xC3,0x8A,0x9B,0x3C,0x04,0xE6,0xEE,0x67,0x0C,0x4E, - 0xA0,0x5E,0x6C,0x97,0x23,0x60,0xDC,0x5D,0x2A,0xE6,0x55,0xAB,0x56,0x09,0x63,0xC6, - 0x8E,0xA5,0x13,0x27,0x4E,0xE8,0xEF,0x56,0x83,0x88,0x1E,0xFB,0xC8,0x20,0x5A,0x88, - 0xF9,0x82,0x91,0xEC,0x28,0x06,0x44,0x3E,0xFD,0x0E,0xA2,0x67,0x57,0xEA,0xCD,0xF8, - 0x46,0xBD,0x07,0x33,0x85,0x4E,0xD7,0xD5,0xD1,0x35,0xD7,0x5C,0x23,0x5A,0x75,0x76, - 0x94,0x09,0x33,0x31,0x87,0x06,0x5B,0x5B,0x6F,0xBE,0x80,0x1C,0xC7,0x5B,0xDC,0xF4, - 0x48,0x47,0x24,0xDB,0xE8,0x5E,0x3B,0xEB,0xDE,0x9A,0x51,0x76,0x56,0xFC,0x51,0x5C, - 0x21,0x7D,0xAF,0x73,0x54,0x7C,0x8A,0x6D,0x5A,0x90,0x6B,0x14,0x3C,0xE3,0x78,0xC5, - 0x59,0xD1,0x62,0x4F,0x4A,0x63,0x3B,0x1C,0xA4,0xB5,0xCD,0x20,0xB3,0x2D,0x5B,0xB6, - 0x08,0xB3,0xF4,0x42,0x84,0x95,0xA5,0x8B,0xAF,0x33,0x58,0xE2,0xD1,0x57,0x89,0xCF, - 0xD9,0x05,0xC2,0xFF,0xF3,0xE7,0x44,0xD7,0x2D,0x10,0x9B,0xB0,0xEA,0x6F,0xBC,0xF1, - 0x86,0x99,0xA0,0xCD,0xC4,0x2C,0xB7,0xDE,0x94,0xAF,0x4F,0x83,0xE4,0xF8,0x0E,0x66, - 0xD1,0x6C,0xFD,0x43,0xDA,0x7F,0xF6,0x75,0x8A,0x8A,0x8A,0x04,0x58,0x54,0x93,0x90, - 0x1F,0xFA,0x37,0x51,0x98,0x13,0xEB,0xBB,0xDD,0xFA,0x24,0xD1,0x9D,0xCF,0x89,0x9B, - 0xF3,0xE7,0xCF,0xA7,0x1F,0x7F,0xFC,0xD1,0x24,0x68,0x33,0x31,0x47,0xCB,0xD4,0x01, - 0xE3,0x6E,0x36,0x87,0x63,0xC0,0xD1,0xBE,0xBB,0x91,0xD0,0xE0,0x76,0x7A,0xE9,0xA5, - 0x97,0xA8,0x1C,0xFD,0x63,0xB8,0xD2,0xF7,0xFD,0x8B,0x3D,0xE3,0x24,0x33,0xE7,0x1B, - 0x1E,0x7A,0x60,0xA1,0x8D,0x58,0x88,0xD9,0x7A,0x9C,0x99,0xBB,0xD9,0x1C,0xAD,0x00, - 0x77,0xD7,0x8A,0xB4,0x48,0x53,0xD4,0xD9,0x5D,0xF4,0xB4,0x70,0xA7,0x11,0x88,0x6B, - 0xAF,0x28,0x12,0x9C,0x29,0x75,0x1F,0x1D,0xA1,0xA3,0xC3,0xF9,0x47,0xC5,0xE0,0x95, - 0x68,0x89,0x9D,0xB5,0xC8,0x96,0xC0,0x42,0xC7,0xA5,0xD0,0xEE,0xDD,0xBB,0x4D,0x01, - 0x31,0x73,0x37,0x5B,0x66,0xE6,0x54,0x79,0x8D,0xEF,0xCE,0x4D,0xC5,0xB0,0x89,0xBB, - 0x1E,0xDF,0x6D,0xAB,0x90,0x8D,0x20,0x72,0xBC,0xC7,0xB1,0xDD,0x86,0x40,0xD6,0x1C, - 0x63,0x64,0x39,0xAD,0x07,0xAD,0x91,0x0C,0x3F,0xB9,0x0B,0xF4,0xDD,0xEF,0x30,0x0A, - 0x7A,0x58,0x3F,0x31,0x10,0xB7,0x65,0x6D,0x11,0x39,0x53,0x77,0x33,0x24,0x58,0xA0, - 0x75,0xEB,0xF4,0x7D,0x63,0x70,0xE9,0xCD,0x44,0xC9,0x3D,0x0C,0xDB,0x12,0xEE,0x1E, - 0xD9,0x8D,0x68,0x56,0xAC,0x6E,0x2C,0x6B,0x4B,0x31,0x3E,0xC7,0x9A,0x1D,0xE0,0x86, - 0x70,0xED,0x83,0xE2,0xE6,0x5B,0x6F,0xBD,0x25,0xFE,0x34,0x13,0xB3,0xDC,0x64,0x0B, - 0x9E,0x9F,0x6D,0xA0,0x96,0x0F,0xD1,0x75,0x3E,0x65,0x45,0x34,0x6F,0x6D,0xA3,0x38, - 0x54,0x24,0x06,0xCA,0xC4,0xE1,0xA7,0x5D,0xC2,0xB2,0x0A,0xC1,0xAD,0x37,0xDA,0x45, - 0x2F,0x14,0x09,0xA6,0x60,0xDC,0x2D,0x89,0x3A,0xE3,0x18,0xB5,0x33,0xC4,0x46,0xEA, - 0x68,0xE3,0x4F,0x1B,0x0C,0x8D,0x09,0xD7,0x1A,0x7E,0x5A,0xF0,0x76,0xA9,0x21,0x2E, - 0x75,0x43,0x8C,0xF8,0x43,0x42,0x28,0x5D,0xDD,0x9D,0xE8,0x9B,0xED,0x0A,0x99,0x8A, - 0xB8,0x39,0xE8,0x59,0xBF,0x7E,0xBD,0xF8,0xD3,0x4A,0xBC,0x37,0x3E,0xB9,0x4D,0xB0, - 0x74,0xAD,0xF1,0x47,0xB1,0x4D,0xCD,0x83,0xC0,0x09,0xDB,0xE4,0x49,0x23,0x5E,0x00, - 0x5E,0x8B,0xCB,0x49,0x23,0x1A,0xC1,0x98,0xA4,0x62,0x9E,0x94,0xE2,0x1A,0x3D,0xBB, - 0xD6,0xD2,0x3B,0x4F,0xCD,0x24,0x8A,0xD2,0x5B,0xD8,0x25,0x87,0x15,0x5C,0xEC,0x50, - 0xFA,0xE6,0xEA,0x48,0xEA,0x7B,0xF8,0x0C,0xE5,0xE4,0x49,0xC6,0xA4,0xD3,0x23,0x89, - 0x46,0x86,0xE9,0xEE,0x5E,0x51,0x27,0xBC,0xCD,0x76,0x59,0xF1,0xCC,0x6C,0xA2,0x9D, - 0xEB,0x10,0x08,0x33,0xB7,0xCC,0x20,0x5E,0x66,0xAC,0x99,0x17,0xB3,0xE3,0xA8,0x21, - 0xDA,0x0D,0x5D,0x41,0x7F,0xA3,0x5B,0x10,0x1B,0xFF,0xC2,0x98,0xB1,0x62,0x5F,0xB9, - 0x95,0xBE,0x2A,0x25,0xCA,0xE9,0xD7,0xD5,0xCC,0xD5,0xBE,0xBB,0xBB,0x41,0x8B,0x8A, - 0x42,0x06,0xCC,0x6D,0xC7,0xB8,0xB5,0x95,0x98,0xE5,0x4A,0xEE,0xFA,0xEA,0x6A,0x90, - 0x1C,0xEF,0xD2,0xB5,0x0B,0xDB,0xE0,0x98,0x08,0x69,0x61,0xA9,0x9A,0xB1,0xC9,0x86, - 0x9F,0x0A,0xBC,0x9D,0xD7,0x44,0x05,0xC2,0x79,0xA1,0xC3,0xD5,0xB6,0xE3,0x62,0x1B, - 0x61,0xEF,0x8B,0x48,0xB9,0x95,0x98,0xE5,0xD6,0x69,0xAE,0xA9,0xE7,0x63,0xCD,0x1C, - 0xFB,0x24,0xC4,0xF8,0xF6,0x12,0x47,0xC7,0x56,0xED,0x12,0xBB,0x69,0xEE,0x72,0xB1, - 0x43,0xF4,0xEA,0x8A,0x55,0x5B,0x8F,0xFE,0x4C,0x2B,0xAD,0x3C,0x13,0x4C,0x33,0xD2, - 0x99,0x24,0xD3,0x43,0xE9,0x2A,0x9D,0x4E,0xF7,0x55,0x89,0xA1,0x69,0x8F,0x88,0x88, - 0x08,0x6B,0x31,0xC7,0x46,0x5B,0xBB,0xD9,0x7C,0x78,0x8A,0xA3,0x06,0x4C,0x2A,0xE0, - 0x74,0x90,0x91,0xA0,0xA3,0x8C,0xCC,0x9E,0x86,0xC6,0xA9,0x22,0xC3,0x4F,0x45,0xDA, - 0xE9,0xD3,0xD2,0x36,0x93,0xAB,0x0D,0x17,0xBB,0x20,0xAF,0x5E,0xB9,0xAF,0x6C,0x84, - 0xBD,0x6F,0x6A,0x6A,0xAA,0xB5,0x98,0xE5,0xB2,0xC0,0x4E,0x56,0x72,0x37,0x9B,0x63, - 0x9F,0x60,0xFD,0xD5,0x84,0x71,0x55,0x8E,0x81,0x3E,0xA9,0x41,0x34,0x78,0xD0,0x85, - 0x86,0x46,0x49,0x01,0x51,0xA3,0xED,0xC2,0xF8,0x5B,0x4A,0x5A,0x99,0xAB,0x0D,0x17, - 0xBB,0x8D,0x56,0xAA,0x59,0x74,0xEF,0xF8,0x3E,0xF1,0x47,0x56,0x56,0x96,0x3A,0x37, - 0xBB,0xF8,0x94,0xCC,0x60,0x3D,0x87,0x63,0x41,0x64,0x97,0x48,0x1A,0x9A,0x65,0x75, - 0x49,0x05,0x2C,0x43,0x7B,0x85,0xE8,0xC5,0x3C,0x50,0x37,0x69,0xD2,0x24,0xA2,0x16, - 0xBD,0x41,0xDC,0xB9,0x8E,0x3D,0xA3,0x80,0xD1,0xD5,0x1E,0x19,0xAE,0x77,0xB1,0x43, - 0x74,0x9F,0x9E,0x61,0xFB,0x95,0x80,0x55,0xD6,0x8B,0x39,0x36,0x36,0x96,0xC6,0x8E, - 0x1D,0xAB,0xB3,0xFA,0xE4,0xE5,0xE6,0x2E,0x57,0xF8,0x68,0xE2,0x88,0x65,0xE2,0x87, - 0xDC,0x83,0x47,0xEA,0xDD,0x47,0xD7,0xAE,0xD1,0x34,0xBE,0x3F,0x2F,0x3D,0x05,0x32, - 0xF5,0x2E,0x76,0xD7,0x48,0x43,0x97,0xF5,0xF2,0xCB,0x2F,0x17,0x7F,0x52,0xEE,0x97, - 0x86,0x9F,0x8A,0x30,0x57,0xBB,0x6B,0x88,0x0E,0x2E,0xF6,0x16,0xB6,0x57,0x91,0xAF, - 0xDF,0x10,0x7F,0xCC,0x9A,0x35,0x4B,0xFC,0x29,0x7B,0x1B,0x0D,0x43,0xCF,0x5D,0x82, - 0x3F,0xAF,0x06,0xC9,0x0B,0xFD,0xBB,0x8F,0x90,0x90,0x10,0x8A,0x8E,0x0C,0xA7,0xAC, - 0x24,0xEE,0x6A,0x5F,0x7C,0x61,0x28,0x65,0xF7,0xEC,0x2E,0x6E,0xCF,0x9D,0x3B,0x97, - 0xBA,0xE9,0xAD,0x27,0xFD,0xFC,0x8D,0xC9,0x2D,0x56,0x62,0x4B,0x5E,0x03,0xE6,0x32, - 0x0B,0x66,0xE3,0xCD,0x72,0xD4,0x56,0x10,0x7D,0xB7,0x44,0xDC,0x7C,0xE0,0x81,0x07, - 0xC4,0x9F,0xB2,0x62,0xCE,0x4C,0xB1,0x1E,0x63,0x38,0x78,0xA2,0xDE,0xE7,0x2C,0xD8, - 0x6D,0xD3,0x7B,0xEA,0xEC,0x3D,0x7C,0xA9,0x8A,0x8A,0x2F,0xD0,0x27,0x3B,0x83,0xA6, - 0x0E,0x09,0xEC,0x15,0x45,0x11,0x37,0xC8,0xD1,0xF7,0x97,0x93,0x93,0x93,0xC5,0x6B, - 0x0B,0x95,0x41,0x9E,0x7A,0xF2,0x49,0xF1,0x39,0x7A,0xEE,0xFF,0x0C,0x42,0x74,0x95, - 0x57,0x7F,0x2B,0xBA,0xEE,0xB0,0xCA,0x43,0x87,0x0E,0x15,0x7F,0x8F,0xAC,0x98,0xE5, - 0x72,0xB4,0x8B,0x4F,0x9D,0x63,0x5B,0x1C,0x8E,0x32,0xF1,0xF1,0xF1,0xBA,0xEE,0x71, - 0xBA,0x80,0x0E,0x84,0x21,0x6E,0x90,0x94,0x18,0xCF,0x5A,0x06,0x16,0x2C,0x58,0xA0, - 0x1B,0x33,0x66,0x8C,0xA1,0x9F,0xFB,0xE2,0x9D,0x76,0x83,0x61,0x36,0xF9,0xE7,0xBD, - 0x62,0xFF,0x1B,0x7D,0xE5,0xC5,0x8B,0x17,0xB3,0x9D,0x4A,0x62,0x96,0x09,0x82,0x9D, - 0xAC,0xE4,0x62,0xE6,0xA8,0xA3,0x67,0xCF,0x74,0xBA,0x6A,0xB8,0xF5,0x10,0x67,0x20, - 0xD0,0x25,0x4C,0x47,0x13,0x07,0x84,0x52,0xDF,0x9C,0x5E,0x56,0x77,0xB3,0x4F,0x3E, - 0xF9,0x44,0x1C,0x42,0xA2,0xFD,0xB9,0x44,0x4F,0xCC,0x50,0x31,0x5C,0x65,0x01,0x6E, - 0x00,0xB0,0xEC,0x3F,0x7C,0x2C,0x8E,0x2B,0x2F,0x5F,0xBE,0x9C,0xB2,0xB3,0xB3,0x4D, - 0xBF,0x47,0x56,0xCC,0x19,0x49,0xD6,0x6E,0x76,0x71,0x05,0x17,0xB3,0xBF,0x50,0x5C, - 0x5C,0x2C,0x6C,0xDD,0x77,0x48,0xD8,0xBC,0xE7,0x80,0xF8,0xD8,0x7E,0xE0,0xB0,0x80, - 0x7D,0xEC,0x69,0x97,0xC9,0xE8,0x9E,0xA6,0x1B,0xD0,0x23,0x94,0xD2,0xF4,0x16,0x3A, - 0xD0,0x98,0x3E,0x34,0x94,0x7A,0x65,0x19,0xFA,0xCA,0x96,0x40,0x78,0xC8,0xA1,0xEE, - 0xD7,0xAF,0x9F,0xA1,0xEF,0xFC,0xBB,0x51,0x44,0xCB,0x9E,0x57,0x67,0xA5,0xD1,0xDF, - 0x5E,0x70,0xB1,0xF8,0x13,0x16,0x79,0xD5,0xAA,0x55,0x34,0x79,0xF2,0x64,0xB3,0x0F, - 0x58,0xF6,0xD3,0x46,0x84,0xF7,0xDE,0x97,0x76,0xB3,0x96,0x81,0xCC,0xE4,0x2E,0xF4, - 0xEF,0x3F,0x0C,0xD7,0xFC,0xB7,0xC3,0x27,0x5A,0xC8,0x53,0x5C,0x5A,0x26,0x14,0x9D, - 0x2C,0xA1,0xB2,0xF6,0x30,0x5A,0xDD,0x10,0x49,0xFB,0x5B,0x22,0xA8,0x85,0xDD,0xCB, - 0x63,0x82,0xDA,0x29,0x27,0xA4,0x89,0x7E,0x15,0xD3,0x48,0x71,0xBA,0x56,0xCA,0xCA, - 0xCC,0xA0,0xCC,0xB4,0x54,0x55,0x9F,0x1D,0x46,0x04,0x8C,0x13,0x2D,0xB0,0x3E,0x33, - 0xE2,0x10,0x62,0x43,0xCF,0xDA,0x0D,0xDB,0x85,0x17,0xBE,0x0A,0x9C,0xE5,0x5D,0x71, - 0xF3,0x9A,0x3F,0x3D,0x92,0xC6,0x8C,0x34,0xF4,0x61,0x6D,0x81,0x12,0xBA,0xCB,0x96, - 0x2D,0x33,0x34,0x90,0xB3,0x8D,0xF2,0x41,0x98,0x55,0x85,0x09,0x19,0x46,0x30,0x9C, - 0xB5,0xED,0x5B,0x83,0x90,0x59,0x3F,0x1B,0xAE,0x3A,0x2C,0xBC,0xD4,0x22,0x1B,0x51, - 0xFC,0xA5,0x33,0x1E,0xDD,0x2C,0xB4,0x58,0x2C,0x7F,0xEF,0x0B,0xE2,0xE0,0x62,0xB6, - 0x66,0xE3,0x2F,0xBB,0x85,0xEF,0x1A,0xA3,0xE8,0x95,0xBA,0x04,0x3A,0xD3,0x2E,0xEB, - 0x8C,0x99,0x48,0x08,0x3A,0x4F,0x0B,0xE2,0x6A,0x68,0x62,0xE4,0x59,0xBA,0x78,0xF8, - 0x45,0x76,0x3F,0x3F,0x5B,0x62,0xCE,0x2F,0x38,0x26,0xFC,0xF7,0xC7,0x0A,0xDA,0x98, - 0x17,0x18,0xD5,0x6A,0x1E,0xB9,0x3A,0x9C,0xA6,0x4E,0x1C,0xA9,0xFA,0x9A,0x43,0xC9, - 0x9F,0xA7,0x9F,0x7E,0xDA,0x34,0x85,0xD1,0x16,0x48,0x0A,0x79,0xEE,0xB9,0xE7,0x68, - 0xCE,0x9C,0x39,0x8A,0xEF,0xAF,0xF8,0xCD,0xCA,0x45,0xB4,0xF9,0x0A,0x10,0xBE,0xC7, - 0xD7,0xDB,0xF6,0x0A,0xB7,0x94,0xA6,0xD1,0xB3,0x35,0x49,0x76,0x85,0x0C,0xAA,0xDB, - 0x43,0xE8,0x89,0xEA,0x64,0xC2,0x6B,0xF0,0x5A,0xB6,0xDB,0x29,0xD0,0x6F,0x9C,0x3C, - 0x28,0x3C,0x20,0xD2,0x3C,0x27,0x0D,0x08,0xA1,0x8C,0xD4,0x04,0xD6,0x52,0x07,0xDC, - 0x64,0xBD,0x90,0x75,0x65,0x65,0x65,0x28,0xCE,0x47,0xF3,0xE6,0xCD,0x23,0x24,0x98, - 0x18,0x1F,0x7A,0xEB,0x2D,0x0A,0xF8,0xD0,0xA1,0x43,0x98,0x15,0xA5,0xB3,0x25,0x64, - 0xA0,0xF8,0xE4,0x3F,0x3F,0x3F,0x22,0xAC,0xDC,0x6C,0x5E,0x9C,0xFB,0x8E,0x2B,0x7B, - 0xD2,0x4D,0x53,0x32,0x55,0xDF,0x79,0x3A,0x03,0xA9,0x65,0x86,0xA5,0x70,0x17,0x48, - 0x73,0xBD,0x7C,0x54,0x8A,0xA6,0xFF,0x76,0x4B,0x96,0x6D,0xDD,0x27,0xFC,0xE6,0x54, - 0xBA,0x2A,0x11,0xCB,0x01,0xF7,0xFB,0x3F,0xC9,0x27,0xE9,0xDA,0x31,0x83,0x15,0xFF, - 0x6E,0x5B,0x96,0xD9,0xC8,0xB7,0x3F,0xEC,0x10,0x5E,0xFB,0xB6,0x89,0x2C,0x1C,0x3D, - 0xBF,0x01,0x09,0x22,0x77,0x4D,0x8B,0xA6,0xB1,0x23,0x87,0x74,0xEA,0xF5,0xA1,0xF8, - 0x2D,0x5F,0xD0,0xC3,0xAA,0xEC,0x01,0xE5,0x15,0x35,0xB0,0xAD,0xC0,0xA3,0xD1,0xC7, - 0x12,0x67,0x56,0x6F,0xDF,0xE3,0x92,0x90,0x01,0x5E,0xFB,0x9B,0x53,0xDD,0xE9,0xDB, - 0xED,0xAE,0x59,0xE8,0x61,0x03,0x7A,0xD2,0xAD,0x93,0xFC,0x73,0xEC,0x19,0x5E,0xC7, - 0x6D,0x93,0xBA,0x74,0xBA,0x90,0x81,0xE2,0x09,0x60,0x8D,0xA9,0xBB,0x16,0x99,0xD7, - 0x4A,0x41,0xC1,0xBF,0x2F,0xFF,0x3A,0xA6,0xD3,0x4F,0xDA,0x16,0xBC,0xCF,0x4C,0x84, - 0xE8,0xF4,0xC3,0xC5,0x51,0xB4,0xA1,0x29,0x9A,0xED,0x71,0x8D,0x89,0x11,0x0D,0xF4, - 0x8F,0xCC,0x46,0x1A,0x39,0xE0,0x02,0xAB,0xCF,0x53,0x8D,0x65,0x06,0x87,0xF2,0x8F, - 0x0B,0xDF,0x6C,0x39,0x45,0x6B,0xF6,0xF8,0xCF,0x74,0x5A,0x24,0x4A,0x3E,0x30,0x43, - 0xEF,0xB1,0x4D,0xB2,0x5E,0x7A,0xA6,0x33,0x50,0xBC,0x6D,0xF7,0x48,0x89,0xD4,0x59, - 0x56,0xEB,0x44,0x5A,0x27,0xCF,0x65,0xD6,0x3E,0x65,0x0D,0x4D,0x76,0x85,0x3C,0xB6, - 0x9F,0xFE,0x79,0x85,0x22,0x72,0x96,0xE0,0xBD,0xF0,0x9E,0xAE,0xD0,0xBF,0x6F,0xB6, - 0x6E,0xF2,0x90,0x18,0x1A,0x9A,0xE5,0xDB,0x73,0x9E,0x8D,0x40,0xC8,0x77,0x5E,0x16, - 0x41,0x43,0x07,0x64,0xB3,0x3D,0x9D,0x8F,0x4D,0x1F,0x6C,0x70,0x6F,0x49,0x98,0x9C, - 0xB1,0x79,0xBF,0xA1,0x42,0x22,0x47,0x9B,0xFC,0x72,0x28,0x5F,0x78,0xB5,0x36,0x8E, - 0xB5,0xDC,0x07,0xDE,0x13,0xEF,0xCD,0x9A,0x4E,0x31,0xFC,0xA2,0x0B,0x75,0x37,0x5C, - 0xD2,0x4D,0x0C,0x16,0xF9,0x32,0x48,0x0C,0x99,0x77,0x79,0x04,0x8D,0x1A,0x94,0x41, - 0xC9,0x49,0xFA,0x0E,0xB3,0x46,0xB0,0x29,0xE6,0xE1,0x17,0xC4,0xB2,0xAD,0x0E,0xF6, - 0x1D,0xF3,0xCE,0x5A,0xB3,0x1C,0xE7,0x68,0x3C,0x53,0x4F,0x5B,0x5B,0xDC,0xE3,0x5E, - 0x4B,0xC1,0x7B,0xE2,0xBD,0x5D,0x05,0x82,0xBE,0x66,0x42,0x32,0xCD,0x1E,0x6B,0x9D, - 0x65,0xE8,0x0B,0xA0,0x8F,0x7C,0xEF,0xF4,0x08,0xFA,0xD5,0xD4,0x11,0xBA,0xCC,0x0C, - 0x75,0x63,0xF1,0xDE,0xC2,0xA6,0x98,0x47,0xF6,0xB3,0xBE,0xC3,0xEF,0x39,0xE2,0x42, - 0x4E,0x29,0xC7,0xE3,0x9C,0x6A,0x0F,0x73,0x29,0xE8,0xA5,0x04,0xDE,0x13,0xEF,0xED, - 0x0E,0xFA,0x5F,0xD0,0x4B,0x37,0x6D,0x74,0x77,0xBA,0xFD,0xD2,0x30,0xD1,0x5D,0xF5, - 0x15,0xC4,0xA4,0x90,0xCB,0x23,0xF5,0x7D,0x64,0x6D,0x26,0x4F,0xD9,0xFC,0x28,0x51, - 0x47,0x1B,0x99,0x5F,0x96,0x7C,0xBD,0xA9,0x8C,0xF7,0x9B,0x35,0x48,0x4D,0x4D,0x8D, - 0x80,0x71,0x62,0x4F,0x81,0xF7,0xC6,0xEF,0x60,0x4D,0x97,0xC8,0xEA,0x91,0xAE,0x9B, - 0x3C,0x32,0x9B,0x1E,0xFA,0x55,0x84,0x38,0xB4,0xA3,0x75,0x2E,0x1B,0x14,0x42,0xF7, - 0x4C,0x8B,0xA4,0xC9,0x13,0x86,0x69,0xF6,0x64,0xED,0xDE,0x17,0xA7,0x8E,0xB0,0xAE, - 0x2A,0xF8,0xED,0x56,0xFB,0x8B,0x43,0x73,0xBC,0x4F,0x4B,0x4B,0x0B,0x95,0x9F,0xF7, - 0x9C,0x98,0xEB,0xDA,0x82,0xE8,0xFC,0x79,0xF7,0x0D,0xD1,0xA5,0xA6,0x24,0xE9,0x2E, - 0xBB,0x64,0x84,0xEE,0xEE,0x69,0x51,0x74,0xCD,0xE8,0x30,0xB1,0x2F,0xAA,0x35,0x70, - 0xA3,0x41,0x66,0xD7,0x35,0x17,0xA7,0xD0,0xB8,0xD1,0xF6,0xD3,0x34,0x3B,0x13,0xBB, - 0x62,0x96,0x4B,0x12,0x39,0x5A,0xD2,0x48,0x9B,0xF6,0x55,0x69,0xDE,0x3A,0x63,0xD8, - 0xC4,0xDE,0xC3,0x9F,0xA2,0xF3,0x28,0x0E,0x10,0x1B,0xE4,0xB9,0xD4,0xC9,0x08,0x9D, - 0x40,0x41,0x41,0xEE,0xF7,0x8B,0x47,0x8F,0xBC,0x48,0x37,0x73,0x42,0x06,0x3D,0x34, - 0x33,0x9C,0xFA,0x68,0xA4,0x1B,0x0A,0xF7,0x7F,0xE6,0x88,0x50,0xC2,0x8D,0x06,0x29, - 0x9A,0x7D,0xFB,0x58,0xE7,0x42,0x6B,0x0D,0x55,0xDF,0xCC,0xB8,0x81,0xD6,0x69,0x6A, - 0xFE,0xB2,0x8A,0x81,0x3F,0x91,0x98,0x98,0xA8,0x4B,0x0A,0xF6,0x5C,0x72,0x0B,0xDE, - 0x1B,0xBF,0x83,0x35,0xDD,0x4A,0x46,0x7A,0x77,0xDD,0x25,0xE3,0x47,0xE8,0xEE,0x98, - 0xDA,0x8D,0x16,0xCC,0x08,0xA7,0x41,0xEE,0x5F,0x42,0x4A,0x15,0x98,0x87,0x7D,0xF9, - 0x90,0x10,0xFA,0xC3,0x35,0xE1,0x34,0x63,0x5C,0x77,0xF1,0x46,0xC3,0x9E,0xD2,0x3C, - 0xAA,0x4E,0x54,0x6E,0x16,0x15,0x78,0xF2,0xF6,0x7E,0x34,0x7E,0x90,0x67,0xBE,0x5C, - 0x67,0x09,0xF4,0xA4,0x91,0x8D,0x3F,0x6F,0x17,0x2E,0x2E,0xCB,0x61,0x2D,0x65,0x30, - 0xCE,0xBC,0xA5,0x5F,0x88,0x6E,0xEC,0x8A,0x3A,0xFB,0xB5,0xA6,0x18,0x1B,0xD3,0x0A, - 0xE8,0xE2,0xD1,0xE6,0x13,0x09,0xE0,0xDD,0xA8,0x49,0x1A,0x71,0x94,0x3D,0xFB,0xF2, - 0x84,0xBA,0xD3,0xF5,0xF4,0xD3,0xC1,0x36,0xDA,0x92,0xDF,0xE6,0xF1,0x54,0x50,0x44, - 0xA9,0xAF,0x1C,0x16,0x26,0x56,0x08,0x49,0x4D,0x4D,0xA2,0xDE,0xD9,0xEE,0xF9,0x3B, - 0xBC,0x89,0x2A,0xCB,0xDC,0x27,0x23,0x5A,0xC7,0xAD,0xB3,0x6F,0x10,0x1C,0x11,0x49, - 0xC3,0xC2,0xD4,0x57,0x53,0xDD,0x82,0x15,0x06,0xA5,0x0F,0x05,0xF0,0x9E,0x78,0x6F, - 0x6F,0x31,0x64,0x50,0x3F,0xDD,0xC4,0x09,0xA3,0x74,0x37,0x4E,0x4E,0xA1,0xC7,0xAE, - 0x0D,0xA3,0x44,0xEB,0xEC,0x62,0xB7,0x01,0x77,0xFA,0xC1,0xAB,0x22,0xE8,0xCA,0xF1, - 0x59,0x34,0x7E,0xEC,0x08,0x9D,0x2F,0x0A,0x19,0xA8,0xEE,0x00,0xC9,0x4D,0x5A,0x40, - 0xDF,0xF9,0x1F,0x9F,0x14,0xF0,0xC8,0xB6,0x86,0xE8,0x95,0x92,0x40,0x57,0x47,0xDB, - 0xCF,0xA1,0x37,0x16,0x8E,0xB3,0x7A,0x28,0x70,0x63,0x4C,0x3D,0xF5,0x49,0x4B,0x62, - 0x2D,0xEF,0x81,0x99,0x57,0x71,0xB1,0xB1,0x1E,0x8D,0x78,0x67,0x25,0x07,0xD1,0xB8, - 0x31,0x23,0x74,0xC6,0x9A,0x5D,0xBE,0x8A,0x6A,0x31,0x2B,0x59,0xE7,0x35,0xDB,0x2B, - 0xE8,0xCB,0x0D,0x25,0x5C,0xD0,0x1A,0x21,0x35,0x35,0x55,0x37,0x29,0xBA,0x99,0xFA, - 0x86,0xBA,0xAF,0x28,0x00,0xDE,0x6B,0x7C,0x54,0x8B,0xA9,0x40,0x1D,0x47,0x9B,0xA8, - 0x16,0x33,0xB8,0xE3,0xAA,0x9E,0x56,0x65,0x78,0xC1,0x7B,0xDF,0x14,0xD2,0x8F,0x3B, - 0x4F,0x71,0x41,0x6B,0x84,0x89,0xC3,0x06,0xE9,0x9E,0x8A,0x67,0xAB,0x0F,0xBA,0x48, - 0x18,0xB5,0xD3,0x9F,0x13,0xAA,0x68,0xC2,0x30,0xE5,0x69,0x90,0x1C,0x6D,0xE0,0x90, - 0x98,0x31,0xF9,0xE2,0xBE,0xD9,0xBD,0x59,0xAB,0x03,0x54,0x24,0x79,0xEE,0xC3,0x7C, - 0x71,0x0E,0x34,0xDB,0xC5,0xE9,0x64,0xC6,0x64,0x26,0xD0,0x93,0x09,0x95,0xAC,0xE5, - 0x3C,0x4F,0x27,0x56,0xD1,0xF8,0x4C,0xF3,0x4A,0x93,0x1C,0x6D,0xE2,0x90,0x98,0x01, - 0x26,0xE8,0x5F,0x73,0x89,0x7C,0xC1,0x32,0x14,0x33,0x98,0xFF,0xE2,0x2E,0xE1,0xBB, - 0x6D,0x15,0x5C,0xD4,0x9D,0x4C,0xAF,0x8C,0xEE,0xBA,0xD9,0xE9,0xE1,0xB4,0x38,0xA9, - 0x5C,0xB4,0xAE,0x8E,0x82,0xD7,0xE0,0xB5,0x33,0xBA,0x47,0x50,0x76,0x7A,0x1A,0xB7, - 0xCA,0x3E,0x80,0xD3,0x5F,0xD2,0x03,0xAF,0xEC,0x11,0x0E,0x15,0x2A,0x2F,0x86,0x83, - 0x75,0x9E,0xC7,0x0F,0x8A,0x17,0x8B,0x1C,0xF4,0xEE,0x1E,0x25,0xF6,0xB9,0xD9,0x53, - 0x1E,0xC5,0x53,0x95,0x46,0x30,0x1D,0xF4,0xDA,0x89,0xE9,0x3E,0x77,0x51,0x9F,0x28, - 0xAB,0x10,0x76,0x15,0x55,0xD0,0xCB,0xB5,0xF1,0xAA,0xE7,0x37,0x63,0xFE,0xF2,0x83, - 0x71,0x35,0x34,0xB4,0x47,0x0A,0x65,0xA5,0xD9,0xAE,0xAE,0xE2,0xA9,0xA1,0x29,0x29, - 0xFB,0x0F,0xE6,0x0B,0x4B,0xD7,0x55,0xD2,0xAE,0x13,0x9E,0xB1,0x11,0xF7,0x5D,0x19, - 0x4E,0x33,0xA7,0xA8,0xAF,0xDD,0xA5,0x55,0x5C,0xFA,0x03,0xFE,0xB6,0xF4,0xB0,0xB0, - 0x7E,0x97,0x7A,0x57,0xAE,0x77,0x7A,0x94,0x28,0x0A,0x30,0xA8,0x57,0x57,0xF1,0xA7, - 0x3D,0x86,0xF4,0xB1,0x9E,0x86,0xA9,0x04,0x56,0xA7,0xE0,0x65,0x83,0xE4,0x41,0xC1, - 0x02,0xCC,0x49,0x5E,0xD7,0x18,0x49,0xB9,0x4D,0x51,0xB2,0xD5,0x39,0xA7,0x45,0x36, - 0xD2,0xC4,0x2E,0x8D,0x94,0x18,0xDD,0x45,0xB6,0x10,0x81,0x1C,0x5C,0xCC,0xDA,0xC1, - 0xE5,0x3F,0x00,0x93,0x2E,0xDE,0xFA,0xEA,0xB8,0xD8,0x6F,0xD6,0x32,0xB8,0x89,0xE0, - 0x66,0x22,0x05,0x93,0x48,0xEE,0x9F,0xDD,0xC7,0xE7,0xBF,0x44,0x47,0x28,0x29,0x29, - 0x11,0x0A,0xAB,0xEA,0x88,0x9A,0x1A,0x29,0x48,0x30,0x7C,0x67,0x6D,0x41,0x21,0xA4, - 0x0B,0xEF,0x42,0xD9,0xC9,0xF1,0xE2,0x52,0x2A,0xE2,0x4E,0x95,0x70,0x31,0x6B,0x07, - 0xB7,0xFC,0x01,0xC8,0x10,0x7B,0xEF,0xDB,0x42,0xDA,0x91,0x57,0xCB,0xF6,0xF8,0x0E, - 0xBE,0x52,0x0F,0x5C,0xAB,0x70,0x31,0x6B,0x07,0x87,0x03,0x60,0x72,0xA0,0x3F,0xFC, - 0xB7,0xBB,0x07,0xE8,0xDE,0x5D,0x38,0x8C,0x66,0x8C,0x4B,0x95,0x1D,0xBE,0xD2,0x2A, - 0x58,0x43,0xAB,0xBC,0xBA,0xC9,0x33,0x57,0x09,0x87,0xE3,0x45,0xDC,0xAA,0x3A,0x0C, - 0x5D,0xC1,0x6D,0x5D,0xF9,0xF7,0x71,0x3A,0xE4,0x6D,0xE3,0x4E,0x3D,0xA2,0x5F,0x9C, - 0xD8,0xDF,0xD4,0x2A,0xB8,0xF1,0x60,0xDE,0x36,0x6B,0x72,0x38,0x3E,0x8B,0xD7,0x2F, - 0x62,0x63,0x21,0xFD,0xF2,0x9A,0x66,0xAA,0xA8,0x71,0xAC,0x48,0x5C,0x63,0x53,0x1B, - 0x1D,0x2B,0x6D,0x64,0x2D,0x79,0x1C,0xA9,0x84,0x02,0x21,0x23,0x11,0xC6,0x17,0xA3, - 0xD4,0x5A,0x81,0xBB,0xD9,0xDA,0xC1,0xEF,0x2E,0x62,0x69,0x34,0x5B,0x2E,0x12,0x7E, - 0xBE,0xAD,0x9D,0x9A,0x5B,0x0C,0x81,0x9F,0x2E,0x11,0xC1,0x14,0xA4,0xE3,0x3A,0x76, - 0x05,0xE9,0x4D,0x99,0x8B,0xB9,0x73,0xF1,0x6B,0x31,0x73,0xBC,0x8B,0xA7,0xC4,0x9C, - 0x97,0x7F,0x54,0x28,0x2E,0xAB,0xA6,0xA6,0x56,0xCF,0x5C,0xAE,0xF1,0x51,0x02,0x8D, - 0x1F,0x3B,0x8A,0x8B,0x59,0x6B,0x70,0x31,0x77,0x1E,0x9E,0x12,0x33,0x87,0xC3,0xE1, - 0x04,0x10,0x44,0xFF,0x0F,0xF8,0xBC,0x87,0x0F,0x69,0x7B,0x06,0x45,0x00,0x00,0x00, - 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // PlantModel_png, 28345 bytes + 0x6F,0xA8,0x64,0x00,0x00,0x56,0xF6,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x0B, + 0x7C,0x14,0xE5,0xF5,0xF7,0x9F,0x0D,0x49,0x08,0xB9,0x90,0x0B,0x09,0x24,0x40,0x20, + 0xE1,0x22,0x84,0x3B,0xC8,0x2D,0x82,0x12,0x14,0x11,0x11,0x0B,0x54,0x50,0xB0,0x5E, + 0xC0,0xD2,0x2A,0x5A,0x14,0x6A,0xAB,0xA2,0x6D,0x29,0xAD,0x55,0xA9,0x17,0xC0,0xF6, + 0x2F,0xD8,0xDA,0x82,0xB7,0x42,0xAB,0x15,0x6C,0x55,0xA8,0xE2,0x0B,0x2A,0x0A,0x02, + 0x72,0x11,0x30,0x28,0x20,0xE1,0x1E,0x6E,0x09,0x24,0x04,0x02,0x09,0xCC,0x3B,0xBF, + 0x67,0x9F,0x49,0x66,0x77,0x67,0x76,0x67,0x36,0x7B,0x99,0xD9,0x3D,0x5F,0x3F,0xEB, + 0x3E,0x33,0x49,0xC8,0x66,0x77,0x7E,0x73,0xCE,0x73,0xCE,0x79,0xCE,0xE3,0x60,0x04, + 0x41,0xD8,0x06,0x49,0x92,0xC4,0x88,0x31,0x12,0xAF,0xCD,0xD9,0xB7,0x6F,0x5F,0xDD, + 0xA7,0x79,0xE8,0xD0,0x21,0x56,0x5B,0x5B,0x2B,0x8E,0x9C,0x68,0x9D,0x53,0x48,0x48, + 0x48,0x60,0xD9,0xD9,0xD9,0xE2,0xC8,0x89,0xFB,0xB9,0xFC,0xFC,0x7C,0xBA,0x46,0x2C, + 0x04,0x89,0xD7,0x66,0x9C,0x38,0x71,0x42,0x3A,0x7B,0xF6,0x2C,0x2B,0x29,0x29,0x61, + 0x78,0x3E,0x79,0xF2,0x24,0x2B,0x2D,0x2D,0x65,0xD5,0xD5,0xD5,0xE2,0x3B,0x82,0x8B, + 0x22,0xE8,0xCC,0xCC,0x4C,0x96,0x9C,0x9C,0xCC,0xF2,0xF2,0xF2,0xF8,0x73,0x56,0x56, + 0x16,0x5D,0x3F,0x21,0x86,0xC4,0x6B,0x61,0x60,0x49,0x21,0x52,0x58,0x4C,0x08,0x15, + 0x22,0xB5,0x32,0x10,0x35,0x84,0xDC,0xBA,0x75,0x6B,0x2E,0x6A,0xB2,0xD4,0xC1,0x85, + 0xC4,0x6B,0x21,0x14,0xB1,0x2A,0x8F,0x48,0x00,0x22,0xC6,0xA3,0x43,0x87,0x0E,0x2C, + 0x37,0x37,0x97,0xAE,0xB1,0x00,0x42,0xE2,0x0D,0x23,0x91,0x28,0x56,0x6F,0xC4,0xC6, + 0xC6,0xD6,0x89,0x19,0x0F,0x12,0x73,0xC3,0x20,0xF1,0x86,0x98,0xE2,0xE2,0x62,0x69, + 0xC7,0x8E,0x1D,0x0C,0x8F,0x68,0x07,0x62,0xEE,0xD6,0xAD,0x1B,0x7F,0x74,0xEC,0xD8, + 0x91,0xAE,0x3F,0x93,0x90,0x78,0x43,0xC0,0xD1,0xA3,0x47,0xA5,0x4D,0x9B,0x36,0xB1, + 0x5D,0xBB,0x76,0xF1,0xB9,0x6B,0xB0,0xC0,0x9C,0x13,0x01,0x25,0x25,0x98,0xA4,0x46, + 0xF9,0x9A,0x37,0x10,0xF4,0x72,0x9F,0x57,0x2B,0x41,0x31,0xAD,0xAF,0x05,0x12,0xBC, + 0x5E,0x88,0xB8,0x6F,0xDF,0xBE,0x14,0xFC,0x32,0x08,0x89,0x37,0x48,0x94,0x97,0x97, + 0x73,0x0B,0xBB,0x75,0xEB,0x56,0x7E,0xF1,0x07,0x0A,0x5C,0xE4,0x10,0xA7,0x3A,0x38, + 0x94,0x96,0x96,0xC6,0xD2,0xD3,0xD3,0x43,0xF2,0xF9,0x85,0x22,0xDA,0x8D,0xBF,0x0F, + 0x22,0x86,0x98,0x53,0x52,0x52,0xE8,0xBA,0xD4,0x81,0xC4,0x1B,0x60,0xB6,0x6C,0xD9, + 0x22,0x41,0xB0,0x81,0x98,0xC3,0x42,0x94,0xCA,0xFC,0x10,0x63,0xAB,0x47,0x6F,0x31, + 0x87,0x87,0x98,0x95,0x39,0x7C,0x20,0xBC,0x0C,0x04,0xBA,0x20,0xE2,0xDE,0xBD,0x7B, + 0xD3,0xF5,0xE9,0x06,0x89,0x37,0x40,0xAC,0x5E,0xBD,0x5A,0x5A,0xBF,0x7E,0x7D,0x83, + 0x2C,0x10,0x2C,0xA9,0x22,0x56,0x5C,0xB4,0xA1,0xB2,0xA6,0xC1,0x02,0x56,0x5A,0x11, + 0x72,0x43,0xC5,0x8C,0xF7,0x66,0xF0,0xE0,0xC1,0xAC,0xB0,0xB0,0x90,0xAE,0x53,0x01, + 0x89,0xB7,0x81,0x34,0x44,0xB4,0x6A,0xB1,0xE2,0x11,0xE9,0x73,0x3D,0xCC,0xFD,0xD5, + 0x62,0xF6,0xE7,0x3D,0xC3,0xBC,0x7D,0xE0,0xC0,0x81,0x6C,0xE8,0xD0,0xA1,0x51,0x7F, + 0xBD,0x92,0x78,0xFD,0xA0,0xB2,0xB2,0x52,0x5A,0xBB,0x76,0x2D,0x9F,0xCF,0x9A,0xBD, + 0x00,0x11,0x61,0xED,0xDC,0xB9,0x33,0x77,0x05,0x0B,0x0A,0x0A,0xA2,0xFA,0x3D,0xDF, + 0xBE,0x7D,0xBB,0x84,0x20,0x9E,0x3F,0x91,0x77,0x12,0x31,0x89,0xD7,0x14,0x8A,0x68, + 0x11,0x39,0xD6,0xAB,0x11,0xD6,0x03,0x81,0xA5,0x5E,0xBD,0x7A,0xB1,0x7E,0xFD,0xFA, + 0xD1,0xFB,0xEC,0x06,0xDE,0x57,0x88,0x18,0xEF,0xAB,0xD9,0x88,0x36,0x44,0x8C,0xF7, + 0x15,0x2E,0x75,0xB4,0x05,0xB7,0x48,0xBC,0x06,0x59,0xB1,0x62,0x05,0x4F,0xF7,0x98, + 0x11,0x2D,0x82,0x4C,0xB8,0xB0,0xF0,0xB0,0xFB,0xFC,0x35,0x54,0x60,0x9E,0x0C,0x8F, + 0x06,0xD6,0xF8,0xF4,0xE9,0xD3,0xE2,0xAC,0x6F,0xE0,0xD1,0x20,0x42,0x7D,0xE3,0x8D, + 0x37,0x46,0xCD,0xFB,0x4C,0xE2,0xF5,0xC1,0xC6,0x8D,0x1B,0xA5,0x55,0xAB,0x56,0x99, + 0x72,0x8F,0xE1,0x16,0xC3,0x12,0x50,0x05,0x51,0xC3,0x40,0xF4,0x1A,0xF1,0x04,0x58, + 0x65,0xA3,0x20,0x8E,0x30,0x62,0xC4,0x08,0xD6,0xBD,0x7B,0xF7,0x88,0x7F,0xEF,0x49, + 0xBC,0x3A,0x20,0xB8,0xF2,0xDE,0x7B,0xEF,0xF1,0x45,0x01,0x46,0x81,0x85,0xC5,0x3C, + 0x2C,0x27,0x27,0x87,0xDE,0xCB,0x00,0x82,0xCF,0x62,0xCD,0x9A,0x35,0xA6,0x44,0x8C, + 0x00,0xE0,0xA8,0x51,0xA3,0x22,0x3A,0x08,0x48,0xE2,0xD5,0x00,0x2E,0x32,0xEE,0xF8, + 0x46,0x81,0x68,0x8B,0x8A,0x8A,0xC8,0x35,0x0E,0x32,0x10,0x31,0x3E,0x17,0xB8,0xD5, + 0x46,0x80,0x2B,0x8D,0x9B,0xE9,0xF5,0xD7,0x5F,0x1F,0x91,0x9F,0x0B,0x89,0x57,0x05, + 0xA2,0x9F,0x2B,0x57,0xAE,0x34,0x94,0x8F,0x54,0xEA,0x72,0x49,0xB4,0xA1,0x07,0xD5, + 0x6B,0xB0,0xC4,0x46,0x45,0x0C,0x57,0x7A,0xCC,0x98,0x31,0x11,0x57,0x3F,0x4D,0xE2, + 0x95,0x41,0x90,0x04,0xA2,0xDD,0xB3,0x67,0x8F,0x38,0xE3,0x1D,0xDC,0xCD,0xA3,0x31, + 0xBA,0x69,0x35,0xCC,0x8A,0x18,0x85,0x2F,0x70,0xA5,0x23,0xE5,0x66,0x1B,0xF5,0xE2, + 0x5D,0xB7,0x6E,0x1D,0x0F,0x48,0x19,0x89,0x22,0x47,0xC3,0x3C,0xCA,0x8E,0x98,0x89, + 0x4F,0xC0,0x63,0xC2,0x67,0x18,0x09,0xE5,0x96,0x51,0x2D,0xDE,0x25,0x4B,0x96,0xF0, + 0xFC,0xA2,0x2F,0xA2,0x29,0x82,0x69,0x67,0xCC,0x64,0x06,0x10,0xA7,0x18,0x3B,0x76, + 0xAC,0xAD,0x3F,0xCF,0xA8,0x14,0xEF,0xC1,0x83,0x07,0xA5,0xB7,0xDF,0x7E,0xDB,0x50, + 0x1E,0x11,0xEE,0x71,0xA4,0x06,0x3C,0x22,0x95,0xFF,0xFE,0xF7,0xBF,0x3C,0x27,0xEF, + 0x0B,0xAC,0x5E,0x9A,0x30,0x61,0x82,0x6D,0x3D,0xA9,0xA8,0x13,0xAF,0x51,0x37,0x19, + 0x15,0x51,0x70,0xAF,0x28,0xED,0x63,0x4F,0x70,0x83,0x46,0x1C,0xC3,0x97,0x2B,0x6D, + 0x67,0x37,0x3A,0xAA,0xC4,0x6B,0xC4,0x4D,0x86,0x8B,0x3C,0x6C,0xD8,0x30,0x5A,0x82, + 0x16,0x21,0xE0,0x66,0x8D,0xA0,0x96,0x2F,0x57,0xDA,0x8E,0x6E,0x74,0x54,0x88,0xD7, + 0xA8,0x9B,0x0C,0x6B,0x0B,0x37,0x8A,0xA2,0xC8,0x91,0x05,0xB2,0x09,0xF8,0xFC,0x7D, + 0xD5,0x4D,0xDB,0xCD,0x8D,0x8E,0x78,0xF1,0x62,0x71,0x3C,0x22,0x91,0xBE,0xDC,0x64, + 0x9A,0xDB,0x46,0x3E,0x46,0xE6,0xC2,0x70,0xA3,0x91,0x13,0xB6,0x43,0x70,0x32,0xA2, + 0xC5,0x8B,0xB5,0xB6,0x70,0x99,0xBC,0x81,0x55,0x29,0xE3,0xC6,0x8D,0xA3,0x06,0x68, + 0x51,0x02,0x0A,0x71,0x70,0x33,0xF7,0xE5,0x46,0x63,0x1E,0x6C,0xF5,0x15,0x60,0x11, + 0x2B,0x5E,0x23,0x25,0x8E,0xE4,0x26,0x47,0x27,0x46,0xDD,0x68,0x54,0xCF,0x59,0x79, + 0xBD,0x70,0x44,0x8A,0x77,0xD9,0xB2,0x65,0x7C,0x59,0x99,0x37,0xC8,0x4D,0x26,0x8C, + 0xB8,0xD1,0x56,0x0E,0x64,0x45,0x9C,0x78,0x5F,0x7F,0xFD,0x75,0xC9,0x5B,0x99,0xA3, + 0xDD,0xDC,0xE4,0x7F,0x7F,0xF8,0xA6,0xB4,0x6A,0xDD,0xFB,0x2C,0xAF,0x65,0x7B,0xF6, + 0xE8,0x4F,0x7E,0x4F,0x37,0x9B,0x00,0x63,0xC4,0x8D,0xC6,0x12,0xCF,0x89,0x13,0x27, + 0x5A,0xEE,0xBD,0x8F,0x28,0xF1,0x2E,0x58,0xB0,0x40,0xF2,0xE6,0x0A,0x61,0x71,0xFC, + 0xA4,0x49,0x93,0x6C,0x53,0xDB,0x5A,0x72,0x68,0x8F,0x74,0xDB,0xCF,0x6F,0x10,0x47, + 0x8C,0xDD,0x54,0x74,0x0B,0xFB,0xCD,0xFD,0x7F,0xF4,0xF9,0xDA,0xBF,0xDA,0xB9,0x9E, + 0x7F,0xAA,0xF1,0x71,0x8D,0x59,0xF7,0x2B,0x28,0xE5,0xE5,0x0B,0x94,0x57,0x2E,0x5D, + 0xBA,0xD4,0x6B,0x36,0x02,0xA5,0xB1,0x93,0x27,0x4F,0xB6,0xD4,0x7B,0x19,0x11,0xE2, + 0x45,0x81,0xFA,0x1B,0x6F,0xBC,0xE1,0xB5,0x3F,0x32,0xFA,0x1C,0xDF,0x71,0xC7,0x1D, + 0xB6,0x9A,0xDF,0x1E,0x39,0x7E,0x50,0x1A,0xFB,0xB3,0x22,0x71,0xE4,0x24,0x25,0xA9, + 0x29,0xBB,0xFE,0xAA,0x51,0x6C,0xCC,0xB0,0x89,0xAC,0x53,0x7E,0x17,0xCD,0xBF,0x65, + 0xEE,0xE2,0x27,0xA5,0xA5,0x1F,0x2C,0x12,0x47,0xCE,0x9F,0xE9,0x98,0x57,0xC0,0x9A, + 0xA5,0x66,0xB1,0xB6,0x2D,0xDB,0xB1,0x6B,0xFA,0x5D,0xAF,0xFB,0xB3,0xD1,0x8A,0xD1, + 0x6B,0x68,0xEA,0xD4,0xA9,0x96,0x79,0xDF,0x6C,0x2F,0x5E,0xBC,0xE9,0x8B,0x17,0x2F, + 0xB6,0xDD,0x5D,0xD3,0x28,0x77,0x3E,0x32,0x4A,0xFA,0xAE,0xA4,0x58,0x1C,0xB9,0x72, + 0xD7,0x98,0xFB,0xD8,0x03,0xB7,0xFF,0xD2,0xE3,0xEF,0x9A,0xFE,0xD4,0x64,0x69,0xDD, + 0xD6,0x4F,0xC5,0x91,0x27,0x73,0x7E,0xB1,0x80,0x15,0xF5,0x1F,0x4E,0xE2,0xD5,0xC0, + 0x4E,0xDE,0x9B,0x5A,0xBC,0x31,0xE2,0xD9,0x36,0x18,0x11,0x2E,0xE6,0x2B,0x76,0x15, + 0x2E,0xF8,0xD5,0xD4,0x3F,0x72,0xCB,0xA9,0xC5,0x6B,0xCB,0x17,0xB2,0x47,0x9E,0xBD, + 0xAF,0xFE,0x13,0x14,0x1C,0x39,0x71,0x58,0x8C,0xB4,0xC9,0xC9,0x6A,0x2D,0x46,0x84, + 0x3B,0xB0,0xAC,0x58,0x3A,0xA8,0x07,0xAE,0x35,0x58,0x68,0xAB,0x61,0x3B,0xF1,0xFA, + 0x9A,0xA7,0x20,0x52,0x68,0xC5,0x40,0x83,0x19,0xE0,0xDE,0xBE,0xF3,0xA7,0x35,0x6C, + 0xCA,0xB8,0x07,0x59,0xB3,0xB4,0x2C,0x71,0xB6,0x9E,0x4F,0x36,0x7E,0xC4,0x83,0x5A, + 0xE2,0x90,0x73,0xF4,0xB8,0xF7,0x7A,0x5E,0x72,0x99,0xBD,0x73,0xE7,0x9D,0x77,0x3A, + 0x70,0xED,0xE8,0x01,0xD7,0x1A,0x16,0x5A,0x1C,0x5A,0x02,0x5B,0x89,0xF7,0xAF,0x7F, + 0xFD,0xAB,0x57,0xF7,0x06,0x39,0x3A,0xBB,0x2F,0xF9,0x52,0x68,0x9A,0x9C,0xEA,0xF8, + 0xC9,0xAD,0x0F,0x39,0x3E,0xF8,0xCB,0x7A,0xC7,0xDC,0x99,0x7F,0x67,0x6D,0x5B,0xB5, + 0x17,0x5F,0x71,0xF2,0xCF,0x15,0xAF,0x8A,0x91,0x73,0x9E,0x7C,0xB1,0xE6,0x82,0x38, + 0xF2,0x44,0xEB,0x06,0x40,0x78,0x82,0x6B,0x07,0x4D,0x17,0xF4,0xC0,0xB5,0x87,0xCC, + 0x86,0x38,0x0C,0x3B,0xB6,0x11,0x2F,0xDE,0x34,0x6F,0xAB,0x45,0x50,0x1D,0x13,0xA9, + 0xCD,0xB8,0xAF,0xEA,0x3D,0xC4,0xF1,0xD2,0x6F,0xDE,0xE0,0x91,0x64,0x85,0xFD,0x87, + 0xF7,0xD6,0x45,0x98,0x4B,0x0E,0x7F,0xCF,0xCF,0xE9,0x91,0x93,0xD5,0x4A,0x8C,0x08, + 0x5F,0xA0,0x8D,0x2C,0x8C,0x80,0x1E,0x48,0x49,0xA2,0xA6,0x40,0x1C,0x86,0x15,0x5B, + 0x88,0x17,0x6F,0x96,0xB7,0x3C,0x2E,0x16,0xCD,0x47,0x7A,0x63,0xF3,0xCC,0xF4,0xE6, + 0x8E,0x21,0xFD,0xAE,0x17,0x47,0x4E,0x56,0x7D,0xF1,0x3E,0x7F,0x3E,0x7A,0xC2,0xBB, + 0xCB,0xEC,0x6E,0xB5,0x09,0xEF,0xC0,0x08,0x78,0x13,0x30,0x8A,0x81,0x50,0xCD,0x27, + 0x0E,0xC3,0x86,0xE5,0xC5,0xFB,0xD1,0x47,0x1F,0x79,0xAD,0x9C,0x42,0xD5,0x54,0xB4, + 0x6C,0x44,0x75,0x4D,0xBF,0x61,0x62,0xE4,0xE4,0xA3,0x2F,0xDE,0xE3,0xCF,0x07,0x8E, + 0xEC,0xE3,0xCF,0x7A,0xE4,0x64,0x92,0xE5,0x35,0x0B,0x04,0xEC,0x6D,0x0E,0x8C,0x32, + 0x5C,0xD4,0xD1,0x8B,0xC3,0xB0,0x60,0x69,0xF1,0x7E,0xF6,0xD9,0x67,0x7C,0xAB,0x11, + 0x3D,0xF0,0xE6,0x46,0x53,0xB9,0xE3,0xF0,0x41,0x37,0x3B,0xD4,0x51,0xE8,0xCA,0xAA, + 0x0A,0x9E,0xDF,0xF5,0x6D,0x79,0xDB,0x89,0x11,0x61,0x06,0xCC,0x81,0x91,0xB9,0xD0, + 0x03,0x0B,0x60,0xB0,0x82,0x4D,0x1C,0x86,0x1C,0xCB,0x8A,0x17,0x25,0x6C,0xE8,0x7E, + 0xA1,0x07,0x42,0xFB,0x91,0x12,0x9C,0x32,0xC3,0x4D,0x43,0x6E,0x11,0x23,0x27,0x28, + 0xCC,0xD8,0xB4,0xE3,0x0B,0x71,0xA4,0x0D,0xA5,0x89,0xFC,0x07,0x99,0x0B,0xD4,0x0C, + 0xE8,0xB1,0x7C,0xF9,0x72,0xBE,0xCB,0x83,0x38,0x0C,0x29,0x96,0x14,0x2F,0x56,0x80, + 0xE0,0x4D,0xD1,0x03,0x2B,0x83,0x10,0xDA,0x17,0x87,0x51,0xC5,0x9D,0xA3,0x7F,0xEA, + 0x21,0xC6,0xAA,0xF3,0x55,0x62,0xA4,0x0D,0x05,0xAC,0x1A,0x06,0x6A,0x06,0x50,0x69, + 0xA5,0x07,0x56,0x2B,0x61,0xE3,0x34,0x71,0x18,0x32,0x2C,0x29,0x5E,0xE4,0x72,0xF5, + 0x16,0xD2,0xE3,0x4D,0xFC,0xC9,0x4F,0x7E,0x12,0x31,0xC2,0x45,0x9A,0x07,0x51,0xE3, + 0x25,0xEF,0xFF,0x9D,0x3F,0x8B,0xD3,0xBA,0x20,0x70,0x85,0x6A,0x29,0xBD,0x22,0x0E, + 0x77,0xF0,0x7D,0xF8,0x19,0x71,0x48,0xF8,0x09,0xCA,0x6C,0x51,0x69,0xA5,0x05,0x1A, + 0xF6,0x43,0xC0,0xA1,0xC6,0x72,0x1F,0xAA,0xB7,0xA5,0x7D,0x76,0x5B,0x64,0xE0,0x8D, + 0x2F,0xB6,0x7C,0x22,0xFD,0xED,0xED,0x17,0xD9,0x8E,0xDD,0xAE,0x7F,0x2B,0xD2,0x41, + 0x13,0x6E,0x9A,0xAC,0x59,0x02,0xA9,0xE6,0x64,0xF9,0x71,0xE9,0xC9,0x05,0x8F,0x32, + 0x6F,0x25,0x91,0xE0,0x8A,0xBC,0x02,0xF6,0xFA,0x1F,0xDF,0x23,0xF1,0x06,0x00,0x54, + 0xF7,0x2D,0x5C,0xB8,0x50,0x77,0x35,0x52,0x28,0xD6,0x02,0x5B,0xB6,0x3C,0x12,0x93, + 0x7F,0x3D,0xE1,0xA2,0x55,0x09,0xEE,0x7E,0x76,0x17,0x6E,0xC5,0xD9,0x33,0xD2,0xEF, + 0x5E,0x7A,0x44,0x9A,0xF1,0xF4,0x3D,0x1E,0xC2,0x05,0x28,0xB6,0x40,0x09,0xE4,0xAD, + 0x33,0x86,0x4B,0xB0,0xCA,0xE2,0xB4,0x07,0xB0,0xA6,0xF3,0x1E,0x5F,0xE4,0x18,0x7B, + 0xFD,0x44,0x71,0x46,0x9B,0xB6,0x2D,0x29,0x4D,0x14,0x28,0x70,0xED,0xE1,0x1A,0xC4, + 0xB5,0xA8,0x05,0x02,0x58,0xA1,0x9C,0xFF,0x5A,0x46,0xBC,0x98,0xE7,0x62,0x8D,0xA5, + 0x1E,0x28,0xC2,0xB0,0xFB,0xAE,0x05,0x70,0x8B,0x27,0xFC,0xFC,0x06,0xF6,0xFE,0x9A, + 0x7F,0x8B,0x33,0xFA,0xA0,0x08,0xE3,0xFE,0xD9,0x77,0x70,0xB7,0x5A,0x9C,0xD2,0x24, + 0x25,0x29,0x55,0x8C,0xB4,0xC9,0x69,0x4E,0xC1,0xAA,0x40,0x82,0x2D,0x5C,0xD1,0x69, + 0x54,0x8F,0x50,0xCE,0x7F,0x2D,0x23,0x5E,0x6F,0xF3,0x5C,0xA4,0x84,0xEC,0xDE,0x96, + 0xF5,0xBD,0xD5,0x6F,0x4B,0xF7,0xCF,0xFE,0x11,0x3B,0x75,0xFA,0x84,0x38,0x53,0x0F, + 0x5C,0xDB,0xC2,0x5E,0xD7,0x78,0x94,0x31,0x22,0x05,0xF4,0xEB,0xF9,0xD3,0xC5,0x91, + 0x36,0x10,0xB9,0x37,0xB2,0x33,0x5B,0x8A,0x91,0x27,0xB8,0x99,0xFC,0xF5,0x5F,0xF3, + 0xA5,0x0F,0x3F,0xFF,0x6F,0xC8,0xAC,0x45,0x24,0x80,0xBA,0x02,0xBD,0x14,0x52,0x28, + 0xE7,0xBF,0x01,0x13,0xC4,0xB6,0x3D,0xA7,0xF9,0x05,0xB0,0x6D,0xCF,0x19,0x7E,0x5C, + 0x55,0x7D,0x49,0x9E,0xBF,0xC5,0xB0,0xB8,0x46,0xCE,0x5F,0x91,0x9E,0x12,0xCF,0xDA, + 0xB4,0x68,0xC2,0xC7,0x3D,0x3B,0xA4,0xB9,0xFC,0x5E,0x6F,0xF3,0x5C,0xB4,0xE6,0x9C, + 0x36,0x6D,0x9A,0xAD,0x85,0x0B,0x81,0xBC,0x22,0xCF,0x6F,0xDD,0xE9,0xD6,0xB1,0x17, + 0x7B,0x64,0xCA,0xEF,0xEB,0x16,0x0D,0xC0,0xA5,0xFE,0xE3,0x2B,0xBF,0xA9,0x2B,0xBE, + 0x50,0x78,0x64,0xCA,0xEF,0xD8,0x2D,0xC3,0x7F,0xA4,0xF9,0x1E,0x4C,0x9D,0x7D,0xBB, + 0xB4,0x79,0xE7,0x97,0xE2,0xC8,0x93,0x97,0x66,0xBD,0xC9,0xAE,0xEC,0x3A,0xD0,0xE5, + 0x67,0xF1,0x7A,0xFE,0xB9,0x62,0x31,0xCF,0x13,0x2B,0x60,0xAE,0x3D,0x65,0xDC,0x34, + 0x76,0xF7,0x58,0xEB,0xAC,0x5D,0xB5,0x3A,0x73,0xE7,0xCE,0x95,0xF4,0x16,0xC9,0x04, + 0x6B,0xFE,0x1B,0xB0,0xF5,0xBC,0x7B,0x0E,0x9D,0x95,0xFE,0xB5,0xFA,0x30,0xFB,0x62, + 0xFB,0x29,0x76,0xB1,0xF6,0xB2,0x38,0x6B,0x9C,0x82,0xB6,0x29,0xEC,0xE2,0x85,0x73, + 0xEC,0xD4,0xC9,0xE3,0x2C,0x39,0xC6,0xF3,0x4D,0x88,0x89,0x89,0x61,0x7D,0xFB,0xF6, + 0x65,0x89,0x89,0x89,0xE2,0x8C,0x93,0x9A,0x4B,0x12,0xDB,0xB5,0xBF,0x52,0x1C,0xE9, + 0xD3,0xAE,0x65,0x12,0x4B,0x4A,0x68,0xC4,0x72,0x9B,0x37,0x61,0x7D,0x3B,0xA7,0xB3, + 0x94,0xC4,0xB8,0x90,0x5F,0x98,0x5A,0xC2,0xF5,0x25,0x14,0x2C,0xF9,0xC3,0xCA,0x21, + 0x05,0x7C,0xFF,0xFB,0x2F,0xAF,0xE3,0x8B,0x15,0xC4,0xA9,0x3A,0x7E,0xFC,0xC4,0x2D, + 0x92,0xD6,0xDC,0x59,0xE1,0x9F,0x2F,0xFC,0x8F,0xE5,0xB5,0xEE,0xC0,0x7F,0x6E,0xFB, + 0x77,0x5B,0xA4,0xDF,0x2F,0x78,0xD4,0xAB,0xB5,0xC6,0xA2,0xFF,0x27,0xA7,0xCF,0x0F, + 0xF9,0xFB,0x64,0x47,0xD0,0x1B,0x1C,0xCB,0x53,0xF5,0x3C,0x46,0x04,0x57,0xF3,0xF3, + 0xF3,0x03,0xFA,0x5E,0x36,0x58,0xBC,0x65,0x15,0x17,0xA4,0x17,0xDF,0xFE,0x9E,0x7D, + 0xB1,0xE3,0x94,0x38,0x63,0x0F,0x70,0xB3,0x18,0xD2,0x2B,0x93,0x5D,0xDF,0xAF,0x79, + 0xC8,0x84,0x3C,0xF2,0xA7,0x03,0x25,0xB5,0xAB,0x8C,0xD4,0x0D,0x52,0x3D,0xEE,0xD6, + 0x50,0x0D,0x22,0xC9,0x77,0x3D,0xFA,0x03,0x17,0x17,0x7B,0xFA,0xDD,0x4F,0xB0,0x89, + 0x37,0xDD,0xE3,0xF1,0x33,0x63,0x1E,0x18,0xE2,0xB5,0xC2,0x6A,0xD9,0x9F,0xD7,0xB0, + 0xE4,0xC4,0xA6,0xEC,0xF5,0xFF,0xFC,0x85,0x07,0xC2,0x8C,0x80,0x1A,0xEA,0x3F,0xFE, + 0x72,0x61,0x48,0xDE,0x1F,0xBB,0x83,0xDD,0x19,0xB0,0xC5,0x8A,0x16,0xD8,0x89,0xE3, + 0x97,0xBF,0xF4,0x9E,0x35,0x30,0x4B,0x83,0xA2,0xCD,0x70,0x8F,0xA7,0x3E,0xBF,0xCD, + 0x76,0xC2,0x05,0xC5,0xB2,0xB5,0x5E,0xF8,0xEE,0x3E,0x76,0xFF,0x0B,0xDB,0xB8,0xD7, + 0x20,0x4E,0x07,0x95,0x66,0x69,0x99,0x62,0xE4,0xAC,0x74,0x7A,0xE5,0xF7,0x6F,0x79, + 0x15,0x2E,0x40,0x24,0xF9,0xB6,0x1B,0xEF,0x16,0x47,0x4E,0x3E,0xF8,0xE4,0x1D,0x31, + 0x32,0xC7,0x82,0xA5,0x2F,0x30,0x04,0xC9,0xB4,0x84,0x8B,0x39,0x36,0x2C,0xAD,0x7B, + 0xCE,0x18,0x56,0x1F,0x65,0x97,0xE2,0x90,0xF0,0x82,0xAF,0xF9,0x6F,0x30,0x17,0x30, + 0x98,0xBA,0x2B,0x7C,0xBE,0xFD,0xA4,0x34,0x7B,0x91,0xEF,0xED,0x31,0xED,0x40,0x7C, + 0x6C,0x0C,0xBB,0x77,0x74,0x3E,0xBB,0x79,0x50,0x70,0x37,0x15,0x43,0x43,0xB9,0xD7, + 0x64,0xAB,0xD7,0x58,0x76,0x7D,0x7F,0x2C,0xBB,0xCA,0x46,0x0B,0x26,0x60,0x7D,0xD1, + 0xCB,0x4A,0xBD,0x4E,0x57,0x6B,0xFE,0x3A,0xE0,0xD6,0xF6,0x7E,0x5D,0x1C,0xEA,0x76, + 0x3A,0x88,0x68,0x3F,0xFA,0xDC,0x54,0xE6,0xDE,0x7A,0x87,0x5A,0xE7,0x18,0x47,0x6F, + 0xFE,0x8B,0xB4,0xD2,0x94,0x29,0x53,0x02,0xB6,0x79,0x9D,0x5F,0x6E,0x33,0x2C,0xD5, + 0xF4,0x17,0xBF,0xD6,0x9D,0xDB,0x22,0x20,0x05,0xB7,0xB4,0x5D,0x4B,0xE7,0xFC,0xB4, + 0x45,0x46,0x82,0x2C,0x10,0x07,0x3B,0x78,0xFC,0x3C,0x3F,0x06,0xBB,0x0E,0x9C,0x65, + 0x35,0xF2,0xCF,0x17,0x97,0x54,0xFA,0x35,0x47,0x0E,0x06,0xF7,0x8C,0x6C,0xCB,0x26, + 0x0C,0xCB,0xB5,0xE4,0x05,0xFA,0xAB,0x79,0x0F,0x49,0xEA,0xE0,0xD5,0x84,0x91,0x93, + 0xD9,0x8C,0x49,0xBF,0x72,0x79,0xAD,0x66,0xC5,0x8B,0xE5,0x81,0xBF,0x9E,0x3A,0xC7, + 0xA3,0xC3,0x24,0x6E,0x16,0x53,0x7E,0x35,0xDE,0x65,0x79,0x21,0x2C,0xF2,0xAA,0x45, + 0x5B,0x2C,0xF9,0xDE,0x58,0x0D,0xCC,0x7F,0x5F,0x79,0xE5,0x15,0x71,0xE4,0x4A,0x20, + 0xFB,0xA9,0x99,0x16,0x6F,0xE5,0xB9,0x1A,0x69,0xCA,0x9C,0x2D,0xAC,0xBC,0xF2,0xA2, + 0x38,0x53,0x0F,0x44,0x7B,0xC7,0xF0,0x5C,0x53,0x16,0x4C,0x99,0x27,0x54,0x5E,0x4A, + 0x65,0x92,0xF0,0xDC,0x2B,0x6B,0x53,0xD9,0x65,0x79,0x8C,0x3F,0xD4,0x5B,0x21,0x38, + 0xC0,0x4D,0x02,0x91,0x6C,0x5F,0x9C,0x3D,0x5F,0xCB,0xBE,0xDE,0x5B,0xC1,0x36,0xED, + 0x2A,0x77,0xB9,0x89,0xA8,0x81,0x05,0x7E,0xE9,0xE1,0x5E,0xAC,0x4D,0x8B,0x44,0xCB, + 0x5D,0xA4,0xA8,0xC2,0x42,0x31,0x87,0x02,0xDC,0xEE,0xE5,0xFF,0xF7,0x49,0xDD,0xEB, + 0x84,0xE0,0x6E,0xBA,0xB7,0x50,0x1C,0x79,0x07,0x42,0x84,0xE5,0xD7,0x9A,0x37,0x2B, + 0xC0,0x4B,0xB8,0x53,0x9E,0x6B,0xFB,0xB2,0xF6,0x84,0x36,0xDE,0x76,0xEC,0x40,0xDF, + 0xF0,0x40,0xEC,0x85,0x64,0x5A,0xBC,0x2F,0xBE,0xBD,0x47,0x7A,0xEF,0x0B,0xCF,0xF6, + 0x33,0x3D,0x3B,0xA4,0xB2,0xDF,0x4C,0xEA,0x6C,0x2A,0xF8,0x83,0x04,0xF6,0xBC,0x79, + 0xF3,0x34,0x23,0x74,0x28,0x7F,0x9C,0x31,0x63,0x46,0x50,0x2E,0x94,0xD2,0x53,0xD5, + 0xD2,0xD3,0x6F,0x7C,0xCB,0xE7,0xBD,0xEE,0x14,0xF5,0xCE,0x62,0x8F,0xDF,0xD9,0xC9, + 0x92,0x17,0xE8,0xD5,0x3F,0xEA,0xE2,0xD2,0xE2,0xE6,0x95,0x27,0xDF,0xAE,0xB3,0x9A, + 0x70,0x77,0xDD,0xDB,0xC4,0xAA,0x69,0x92,0x90,0xC4,0x7E,0x34,0xEA,0xC7,0xBC,0x05, + 0xAC,0x51,0xF7,0x17,0x35,0xD6,0xF3,0x5E,0xFD,0x03,0x1F,0x43,0xF0,0x4B,0x5F,0xF8, + 0x1F,0xD5,0x46,0x9B,0xE0,0xD9,0x67,0x9F,0x95,0x30,0xD7,0x75,0x27,0x50,0xC1,0x2B, + 0x53,0x01,0xAB,0x6F,0x4A,0x2A,0x34,0x85,0x0B,0xEB,0xF7,0xEC,0xFD,0xDD,0x1D,0x66, + 0xA3,0xB6,0xB0,0xB8,0x7A,0xA1,0x75,0x74,0xC4,0x08,0x16,0xD9,0xCD,0x12,0x1C,0xF3, + 0x1F,0xEA,0xE9,0x18,0xDE,0xAF,0x85,0x38,0x53,0x0F,0x52,0x5D,0x56,0xC5,0xBD,0x7B, + 0xC6,0xEB,0xEF,0xBE,0x2C,0x46,0x58,0xCF,0xEB,0x3D,0x5D,0x56,0xD0,0xBE,0x1B,0x43, + 0x1F,0x2C,0x33,0xF3,0x56,0x58,0x66,0xDC,0x20,0xEE,0x9F,0xF8,0x0B,0x1E,0x5C,0x23, + 0xE1,0x9A,0x43,0xEF,0x1A,0x0E,0x46,0xF0,0xCA,0xA7,0x78,0xFF,0xF5,0xFF,0x3C,0x5B, + 0x8A,0x26,0x37,0x89,0x65,0xB3,0x26,0xEB,0x2F,0x52,0xD6,0x63,0xF7,0xEE,0xDD,0xD2, + 0x8E,0x1D,0x3B,0xC4,0x91,0x2B,0x88,0xD8,0x15,0x14,0x14,0x04,0xFD,0x42,0xF9,0xC5, + 0xC4,0x8E,0x0E,0xB8,0xFA,0x6A,0x30,0xFF,0x46,0x30,0x4E,0x1C,0x5A,0x8A,0x91,0x43, + 0x7E,0x28,0x46,0x4E,0xB0,0x10,0x01,0xEE,0x2D,0xC6,0x67,0xCF,0xD5,0x17,0x59,0x04, + 0x12,0x58,0x76,0xE4,0xA0,0x95,0xFC,0x30,0x61,0x1C,0xB8,0xC6,0x7A,0xD3,0x3E,0xEC, + 0x91,0x84,0x9D,0x1A,0xC4,0x61,0x83,0xF1,0x2A,0x5E,0x04,0xA9,0xB4,0x52,0x42,0x93, + 0x47,0xB6,0x65,0x19,0x4D,0x1B,0x9B,0xFE,0x60,0xF5,0xF2,0x61,0x88,0xC8,0xA1,0x76, + 0x39,0x54,0x14,0xF5,0xAE,0x4F,0xDF,0x28,0x7C,0xF5,0xAD,0x7E,0x3B,0xD9,0x70,0x82, + 0xE6,0x73,0x28,0x9F,0x54,0x80,0x0B,0x8D,0x42,0x0B,0x70,0xE1,0xA2,0x7E,0xC7,0x48, + 0x40,0x8B,0xF0,0xC3,0x03,0xAC,0xAF,0xD6,0xE2,0x05,0x78,0x9C,0x7A,0x1A,0xF0,0x07, + 0xAF,0xE2,0xFD,0x60,0xBD,0xA7,0xBB,0xDC,0xBE,0x55,0x92,0x5F,0xE9,0x15,0x04,0xA9, + 0xF4,0xB6,0x95,0x40,0x29,0x59,0x28,0xB7,0x24,0xE9,0xD1,0xDE,0x73,0x2D,0x6C,0x59, + 0x45,0x8D,0x18,0x59,0x8F,0x1F,0x8F,0x7B,0x50,0x8C,0x9C,0xA0,0xA2,0x0A,0x2B,0x93, + 0xCA,0x34,0xEA,0xA4,0x89,0xF0,0x83,0xB4,0x90,0x5E,0x0B,0xD9,0x92,0x92,0x12,0x56, + 0x5C,0x5C,0x1C,0x10,0xEB,0xEB,0x55,0xBC,0x1F,0x6E,0x38,0x2E,0x46,0xF5,0x20,0xB2, + 0xEC,0x0F,0x7A,0xBD,0xA8,0x50,0xBB,0x7C,0xF5,0xD5,0x57,0x87,0xD4,0x3D,0x73,0x77, + 0x9B,0x41,0x55,0xB5,0xF6,0x3C,0xDC,0x0A,0x60,0xCE,0x8A,0x62,0x0A,0x35,0x58,0x99, + 0xB4,0xE4,0xFD,0xBF,0x89,0x23,0x6D,0xA8,0x5F,0x73,0xF8,0x40,0x6F,0x35,0x04,0xA9, + 0xB4,0xF0,0xB5,0xF9,0xBB,0x51,0x74,0xC5,0xBB,0x7A,0xF3,0x71,0xC9,0x3D,0x17,0x8B, + 0xDC,0xED,0xA0,0xEE,0x99,0x7E,0x59,0x5D,0xAD,0x08,0x1C,0x08,0x66,0x90,0x4A,0x8F, + 0x0C,0x0D,0xF1,0x5A,0x1D,0x2C,0x4E,0x70,0x77,0x83,0xF7,0x1C,0xF8,0x4E,0x8C,0xB4, + 0x89,0x8F,0xB5,0xDF,0xDF,0x19,0x49,0xE8,0x4D,0x05,0xD1,0xBC,0x3D,0x10,0xD6,0x57, + 0x57,0xBC,0xEB,0x76,0x96,0x8B,0x51,0x3D,0x5A,0x73,0x45,0x23,0xE8,0x59,0x5D,0x04, + 0xA9,0xEC,0xB2,0x67,0x6E,0xB8,0xC1,0xA2,0x84,0x97,0x66,0xBD,0x41,0xF3,0x58,0x1B, + 0x81,0x00,0xAC,0x5E,0xEF,0xAB,0x40,0x58,0x5F,0x5D,0xF1,0x6A,0xA5,0x4F,0x0A,0xBB, + 0x66,0x88,0x91,0x71,0x36,0x6E,0xDC,0xA8,0x6B,0x75,0xBD,0x35,0xB6,0x0E,0x26,0x56, + 0xA9,0xEE,0x32,0x4B,0xCB,0xE6,0xB9,0x8E,0x57,0x9E,0x7C,0x8B,0xAF,0xFD,0x25,0xEC, + 0x81,0xDE,0x35,0x0E,0xEB,0x8B,0xEC,0x8B,0x38,0xF4,0x0B,0x4D,0xF1,0x62,0xF1,0x81, + 0x96,0xCB,0xDC,0x25,0xAF,0xA9,0x69,0x2B,0x89,0xF0,0xB8,0x16,0xB8,0x23,0x05,0xAA, + 0xDE,0xD3,0x2C,0xE9,0x29,0x71,0x62,0x54,0x8F,0xD6,0x3C,0xD8,0x8A,0x28,0xED,0x6F, + 0x50,0xE2,0x98,0x10,0xEF,0x5C,0x1F,0xDD,0x50,0xB0,0x28,0x1F,0x8F,0x6F,0xF7,0x7D, + 0x13,0xB0,0x34,0x06,0xE1,0xC4,0x9B,0xF5,0xD5,0xD3,0x86,0x51,0x34,0xC5,0x8B,0xDA, + 0x63,0x77,0x7A,0xB6,0xF7,0xDE,0x6E,0x45,0x0B,0xF8,0xF5,0x7A,0x1B,0x83,0x85,0xCB, + 0xEA,0x02,0x14,0x96,0xDC,0x76,0x5D,0xBD,0xFB,0x89,0xBC,0xB5,0xBF,0x81,0xB8,0x70, + 0x31,0x6A,0xE8,0x38,0xC7,0x4F,0x6F,0x9B,0x21,0x8E,0xFC,0x03,0x6B,0x8D,0xB1,0x64, + 0x11,0x1D,0x3E,0xF0,0xB8,0xEB,0xD1,0x9B,0xF9,0xDE,0xC0,0x6B,0x36,0x7C,0x48,0x22, + 0x0E,0x20,0x7A,0xD7,0xFA,0xAE,0x5D,0xBB,0x1A,0x94,0xF7,0xD5,0x14,0x2F,0x16,0x10, + 0xB8,0xD3,0xA9,0x8D,0x76,0xE4,0xCC,0x1B,0x7A,0x7E,0x3D,0xEE,0x44,0xA1,0x28,0xC8, + 0xF0,0xC6,0x8F,0x6F,0xCA,0x73,0xCC,0x7B,0xB0,0x07,0x7B,0xF6,0xFE,0x6E,0xEC,0x95, + 0x47,0x7B,0x5B,0xB2,0xB6,0xD9,0x17,0xE7,0xCE,0x6B,0x4F,0x47,0x7C,0x81,0x8E,0x1D, + 0x58,0xC4,0x8F,0x26,0x01,0xEE,0x6D,0x79,0xB0,0xB2,0x08,0x2B,0x8C,0x20,0x62,0xB4, + 0xC7,0xC1,0xF7,0x8A,0x2F,0x11,0x7E,0x12,0xAC,0xB9,0xAF,0xA6,0x78,0xBF,0xDE,0xEB, + 0x6C,0x65,0xA3,0x06,0xE5,0x90,0x66,0xB0,0xAA,0xD5,0x55,0x83,0x69,0x00,0x5A,0xF2, + 0xF8,0x53,0x70,0x62,0x57,0x50,0x0F,0x3D,0xE5,0xD7,0xE3,0x35,0x3B,0x57,0xAA,0x81, + 0x88,0xD1,0x3F,0xEB,0xFA,0x7B,0xFA,0xF0,0x95,0x4B,0xEA,0x07,0x5A,0xEF,0x88,0x6F, + 0x23,0x0C,0x12,0x0C,0xEB,0xEB,0x21,0x5E,0x74,0xC9,0xC0,0x6A,0x1C,0x35,0x70,0x2B, + 0x3B,0xB4,0x4E,0x36,0x75,0x81,0x5B,0xD9,0xEA,0x46,0x33,0xD3,0x9F,0xFE,0xB1,0x47, + 0x1B,0x1C,0x2C,0x40,0x40,0x3F,0x2D,0xA3,0xA0,0x67,0x96,0xFB,0xE6,0xDE,0x84,0x77, + 0x70,0xCD,0xA3,0xA6,0x41,0x0B,0x7F,0xAD,0xAF,0x87,0x78,0xF7,0x1E,0xF6,0xDC,0x3A, + 0x03,0x3D,0xA0,0xCC,0x80,0x3B,0x89,0xD5,0xAD,0x6E,0x34,0x82,0xAA,0x2C,0x77,0xE1, + 0x62,0xE1,0x03,0xD6,0xEC,0xFE,0xED,0x0F,0xFF,0x76,0xA0,0x65,0xCE,0x4D,0x45,0xAE, + 0x7B,0x21,0xE9,0x41,0x29,0x2B,0xF3,0xA0,0x1F,0x9B,0x16,0xD8,0xBE,0xD6,0x9F,0x76, + 0xB1,0x1E,0xE2,0xD5,0x5A,0xF7,0x8A,0x92,0x48,0x33,0xE8,0x75,0x82,0x24,0xAB,0x1B, + 0x3E,0xD0,0x7A,0xD6,0xBD,0x5F,0x34,0xAA,0xB6,0xD4,0xBD,0xAA,0x90,0x8A,0xFA,0xCD, + 0xFD,0x7F,0xE4,0x22,0x9E,0x32,0xEE,0x41,0x4D,0x6B,0x8C,0xAA,0x2D,0x14,0x8C,0xA0, + 0xE6,0x5A,0x9C,0x22,0x0C,0x82,0x96,0x39,0x5A,0x55,0x57,0xA8,0x79,0xD6,0x5B,0xB0, + 0xE3,0x0D,0x0F,0xF1,0x1E,0x3A,0xE1,0x29,0xDE,0xD6,0x59,0xE6,0x2C,0xAF,0xDE,0x0B, + 0xF1,0xB6,0xDF,0x29,0x51,0x0F,0x16,0xD9,0x07,0x22,0x7D,0x93,0x9C,0xE4,0x8C,0x53, + 0xE0,0xDF,0x7B,0x69,0xC9,0x73,0x7C,0xAC,0x80,0xC5,0x0E,0x7A,0x5D,0x22,0x21,0x62, + 0x2C,0x25,0x84,0x35,0xFE,0xF2,0x5F,0x7B,0x5D,0x1E,0x1F,0xFC,0x65,0xBD,0x43,0xAF, + 0x0D,0x2D,0xE1,0x1B,0x3D,0xEB,0xEB,0x6D,0x0F,0x6A,0x3D,0x0C,0xB9,0xCD,0x66,0x2C, + 0x2F,0x12,0xCF,0x5A,0x45,0x19,0x58,0x65,0xD1,0xAD,0x5B,0x37,0x71,0x44,0x00,0x08, + 0x13,0x02,0xC5,0xFC,0x11,0x0D,0xDF,0x10,0x08,0x42,0x40,0x08,0xDD,0x31,0xD4,0xE9, + 0x1B,0x9C,0x43,0xF4,0x17,0xD6,0x53,0xFC,0xA8,0x21,0x52,0x12,0x9D,0x0B,0x30,0xB0, + 0xB8,0x5E,0x1D,0x55,0x86,0xF5,0x44,0x7F,0x2A,0x22,0xF4,0xE8,0x19,0x30,0x4C,0x33, + 0xCD,0x06,0xAE,0x3C,0x03,0x56,0x95,0x9E,0xAB,0x6B,0x5A,0xA4,0x27,0x88,0x91,0x6F, + 0xF4,0xEE,0x20,0x58,0xE3,0x18,0xCA,0x95,0x43,0x46,0x28,0x3D,0x76,0x42,0xFA,0x72, + 0xC3,0xA6,0xB0,0x04,0x5E,0xD0,0x9B,0x19,0xC2,0x84,0x40,0xD1,0x68,0x1D,0xFB,0xEC, + 0x7A,0x6B,0x9E,0x8E,0xE8,0x2F,0x96,0x02,0xA2,0xD5,0x2B,0x04,0x2F,0x4E,0xFB,0x04, + 0xAD,0x74,0xDC,0x9B,0xB8,0xA3,0x1D,0x0E,0xAC,0xAB,0x38,0x24,0x42,0x08,0xF6,0x3B, + 0xD2,0x5B,0xEF,0x6B,0xD6,0xFA,0x7A,0x88,0xF7,0x58,0x99,0xE7,0x0E,0x68,0xE8,0x42, + 0x21,0x86,0x3E,0x41,0xE8,0x5B,0x0B,0x2B,0xBA,0xCC,0x25,0x07,0x0E,0xB1,0xCB,0x97, + 0x2E,0x89,0xA3,0xD0,0x01,0xF1,0xA9,0x9B,0xAA,0x9B,0x01,0x0D,0xE2,0x20,0xF8,0xFF, + 0xFB,0xC7,0xB3,0x3E,0x05,0x5C,0x7B,0xA9,0x96,0xDF,0x18,0xD4,0xC0,0x5D,0x26,0xB7, + 0x37,0xBC,0xE8,0x79,0xA0,0x66,0xE7,0xBD,0x2E,0xE2,0x45,0x9F,0x27,0x31,0xAC,0x03, + 0x65,0x91,0x46,0xC1,0x2E,0x7F,0x5A,0x2D,0x6E,0x12,0x12,0x12,0x02,0xD2,0x7C,0x2B, + 0x90,0x54,0x55,0x55,0x49,0x95,0xE7,0x6A,0xD9,0xE9,0xF3,0x31,0x21,0xDF,0x18,0x19, + 0x4D,0xD0,0xBD,0x81,0x48,0x6E,0x9F,0xAE,0x03,0xF8,0x43,0x2F,0xAA,0x8B,0x3E,0xCC, + 0x9F,0x6F,0x5E,0x2D,0x8E,0xB4,0xF9,0x74,0xD3,0x2A,0x97,0x6E,0x90,0xE0,0x57,0x53, + 0xFF,0x28,0x46,0x44,0xB8,0xE8,0xD7,0xAF,0x9F,0x43,0x6B,0xB1,0x3E,0xA6,0x9B,0x66, + 0xEA,0x9D,0x5D,0x04,0x85,0x9A,0xE6,0x5F,0xBE,0xE4,0xAA,0x7E,0x34,0x99,0x43,0xAF, + 0x2A,0x71,0xE8,0x95,0x45,0x8B,0x16,0x49,0x58,0x6C,0xEC,0x0E,0x26,0xE9,0x37,0xDF, + 0x7C,0xB3,0xA5,0xC4,0x5B,0xB2,0xFF,0x80,0xA4,0xB4,0xF8,0xB9,0xF5,0xDA,0x56,0x2C, + 0xAF,0x6D,0x9B,0x90,0xBE,0x3E,0xCC,0x73,0x57,0xAD,0x7B,0x9F,0x8F,0x21,0xD0,0x9C, + 0xCC,0x56,0xBC,0x51,0x5C,0x9F,0x2E,0x03,0x3C,0xB6,0x35,0x41,0xC0,0xE9,0xF5,0x77, + 0xFF,0xC2,0xDE,0xF9,0xE8,0x1F,0x2E,0x9D,0x1D,0x7D,0x11,0xDB,0x28,0x96,0x5B,0x5F, + 0x05,0x75,0xAF,0x66,0x22,0xBC,0xBC,0xF5,0xD6,0x5B,0x9A,0x2D,0xA1,0x60,0x95,0xC7, + 0x8F,0x1F,0xAF,0xFB,0x19,0xE9,0x36,0xA0,0x2B,0xAB,0xF0,0x6C,0xED,0x6A,0x74,0xBE, + 0x0B,0xEB,0xA5,0x25,0x5C,0x60,0x45,0x97,0xF9,0xF8,0xC9,0xD3,0x6C,0x4F,0xE9,0x65, + 0xB6,0x7E,0xF7,0x65,0x76,0xF8,0x88,0x67,0xD3,0x81,0x60,0x03,0xD7,0x75,0xC1,0xAC, + 0x7F,0xF0,0x07,0xD2,0x33,0x4A,0xA3,0x38,0xAD,0xFD,0x88,0xB0,0x18,0x01,0xFD,0x9A, + 0xD1,0x18,0xCE,0x4C,0x7E,0x55,0x2D,0x5C,0xFC,0x1C,0x09,0xD7,0x3A,0xE8,0x69,0x42, + 0x6F,0xDA,0xA9,0x85,0x8B,0x78,0xCB,0x35,0x82,0x55,0xE9,0x4D,0x3D,0x57,0xE0,0x68, + 0xA1,0x37,0xD9,0x46,0x3B,0x57,0xEC,0x69,0x2A,0x0E,0x2D,0xC3,0xC5,0x0B,0xD5,0xEC, + 0xD0,0x29,0x89,0x9D,0x95,0x67,0x0A,0x5F,0x1F,0xB8,0xCC,0x0E,0x1D,0x3E,0x12,0x52, + 0xD7,0xD9,0x1F,0xB0,0x9B,0xE0,0xBC,0x99,0x7F,0xE3,0x1B,0x8F,0x99,0xE5,0xD7,0xF7, + 0xCF,0x11,0x23,0xC2,0x0A,0x60,0x1D,0xBB,0x5E,0xCE,0x17,0xCB,0x68,0xC5,0xA1,0x57, + 0x5C,0xC5,0x7B,0x56,0x43,0xBC,0xC9,0xC6,0xC4,0x8B,0x2A,0x11,0x2D,0xAC,0x68,0x75, + 0x21,0xD4,0xED,0x07,0xE5,0x37,0x4A,0xAC,0x7A,0xFC,0x68,0x5B,0x0D,0xDB,0x7F,0xE0, + 0x88,0xF3,0xC0,0xE2,0xA0,0xA3,0xA3,0x59,0x21,0xA2,0x6A,0x8A,0x1A,0xA7,0x5B,0x0F, + 0xBD,0xC0,0x95,0x9E,0x96,0xDC,0x71,0x15,0xAF,0x46,0x13,0x36,0xAD,0xB5,0xAF,0x5A, + 0x1C,0x3A,0xA4,0xBD,0x53,0x9D,0x25,0xC5,0x7B,0xE4,0x18,0x5B,0xFF,0x5D,0xFD,0xDF, + 0x6A,0x27,0xEB,0x0B,0x86,0x0F,0xBA,0xD9,0x61,0xB4,0x8C,0x11,0x75,0xCB,0xE8,0xC1, + 0x4C,0x58,0x0F,0x3D,0xF1,0xEA,0x4D,0x3F,0xDD,0x71,0x11,0xEF,0xB1,0x72,0xCF,0x34, + 0x51,0x46,0x53,0xDF,0x8B,0xD4,0xF7,0xED,0xDB,0xA7,0x19,0x65,0x86,0xCB,0x8C,0xBC, + 0x96,0x38,0xB4,0x04,0x47,0x4A,0x8F,0x49,0xDF,0x1D,0xAE,0x61,0x47,0xCB,0x5D,0x75, + 0x6A,0x27,0xEB,0x0B,0xC6,0x0E,0x9B,0x28,0x46,0xDE,0xF9,0xD5,0xD4,0x39,0xD4,0x38, + 0xDD,0xA2,0x60,0x3A,0x89,0x4C,0x8C,0x3B,0xD5,0xD5,0xD5,0x86,0x0A,0x36,0x5C,0xC4, + 0xEB,0xBE,0x9A,0x08,0x18,0x09,0x58,0xE9,0xDD,0x29,0x7C,0xED,0x39,0x14,0x0E,0xF6, + 0x7E,0x7F,0x88,0x2D,0xDF,0xE0,0xE9,0x61,0xC0,0xFA,0x6E,0xD8,0x73,0x89,0xED,0xDE, + 0x5B,0x62,0x0B,0xEB,0x8B,0xC6,0xE8,0x4A,0x05,0x95,0x1E,0x03,0x7A,0x0C,0xA6,0x5D, + 0xFE,0x2C,0x8E,0x9E,0x46,0x8C,0x58,0x5F,0x17,0xF1,0x6A,0xF5,0x2E,0x4E,0x6A,0xD2, + 0x48,0x8C,0xF4,0xB1,0x8B,0x78,0xBF,0xDB,0xFD,0xBD,0xB4,0x66,0xC7,0x45,0x2E,0x54, + 0x2D,0x60,0x7D,0x8F,0x96,0xDA,0xA7,0x17,0x72,0xBB,0x36,0x57,0x88,0x91,0x36,0xB2, + 0x7B,0x2D,0x46,0x84,0x55,0x09,0x98,0x78,0xB5,0x76,0x01,0x34,0xB2,0x17,0x91,0xDE, + 0x7C,0xD7,0x6A,0xE2,0x3D,0x79,0xEA,0x24,0x5B,0xF7,0x9D,0x7E,0x45,0x15,0x02,0x58, + 0xEB,0xBF,0xAB,0xE5,0x39,0x60,0x71,0xCA,0xD2,0x64,0xA6,0x7B,0xEE,0xBB,0x44,0xD8, + 0x8B,0x80,0x89,0xD7,0x1D,0x23,0x4D,0xD9,0xEC,0x32,0xDF,0x45,0x30,0x6A,0xDB,0xFE, + 0xFA,0x08,0xB3,0x1E,0x5B,0x4B,0x2E,0xC9,0xD6,0x57,0x7B,0x67,0x07,0xAB,0x71,0xFE, + 0xC2,0x39,0x31,0x22,0xEC,0x0A,0x9A,0x30,0xFA,0x3B,0xEF,0xAD,0x13,0xAF,0x56,0x69, + 0xA4,0x91,0x3D,0x70,0xED,0xE2,0x32,0xBB,0x47,0x98,0xF5,0x38,0x59,0x89,0xF9,0xEF, + 0x25,0x5E,0x3E,0x29,0x4E,0x59,0x96,0x84,0x78,0xF3,0xF9,0x5E,0xC2,0x7A,0xF8,0x6B, + 0x7D,0xBD,0xAA,0x33,0xC3,0x40,0x9A,0xC8,0x2E,0xE2,0xBD,0x54,0xEB,0x19,0x61,0xD6, + 0xE3,0x70,0x99,0x04,0xF1,0x8A,0x23,0xEB,0xD2,0x38,0xDE,0x78,0xDD,0x39,0x61,0x5D, + 0x1A,0x2C,0x5E,0xAD,0x34,0x91,0x11,0xCB,0x6B,0x87,0xF9,0xEE,0x99,0x33,0x67,0xA4, + 0xB2,0x2A,0xE3,0x1E,0xFC,0xBE,0x63,0xB5,0xAC,0xA2,0xD2,0xFA,0xE2,0xAD,0x91,0x6F, + 0x48,0xDE,0xC8,0x69,0x4E,0xAD,0x6A,0xEC,0x40,0x50,0x2C,0x6F,0x52,0x82,0xE7,0xCA, + 0x07,0x35,0x76,0x99,0xEF,0xF2,0xD5,0x1A,0x47,0x3C,0x5F,0xA7,0x1E,0xD5,0x17,0x25, + 0x56,0x7D,0xC1,0xB7,0x8B,0x1D,0x6E,0x7C,0x89,0x97,0xB0,0x07,0xFE,0xCE,0x7B,0xEB, + 0xC4,0xAB,0xB5,0x28,0x01,0x5D,0x23,0xBD,0xA1,0xD7,0x64,0xCE,0x6A,0x2E,0xF3,0xE5, + 0xCB,0x97,0xD9,0x85,0x1A,0xCB,0x4F,0x61,0x4D,0x73,0xBA,0xA2,0x4C,0x8C,0x08,0xBB, + 0xA3,0xA7,0x19,0xBD,0x6D,0x71,0x41,0x9D,0x78,0x2F,0xD6,0x9A,0xBF,0xB8,0x4F,0x9F, + 0xD6,0xDE,0x90,0x5A,0xAF,0xC5,0x25,0x11,0x58,0x4E,0x57,0x92,0x78,0x23,0x05,0x3D, + 0xCD,0xE8,0x19,0x48,0xE0,0xD5,0x6D,0xF6,0xB5,0xA2,0x48,0xEF,0xAE,0x60,0x35,0xF1, + 0xC6,0xC4,0xC4,0xB0,0xC6,0xBE,0xD3,0xD5,0x75,0x34,0x6A,0x84,0x9E,0x5B,0xBE,0x8B, + 0x53,0xC2,0x4D,0x8C,0xC3,0x77,0x4C,0x82,0xB0,0x07,0x7A,0x9A,0xD1,0x33,0x90,0xA0, + 0xDE,0xF2,0xD6,0x78,0x26,0x40,0xE3,0x1A,0x79,0xBF,0xE0,0xF5,0xEE,0x0A,0x56,0x13, + 0x6F,0x62,0x62,0x22,0xCB,0x6F,0xE1,0x7D,0x0A,0xA0,0x26,0xAF,0x79,0x2C,0x4B,0x6B, + 0x6A,0xAE,0xDD,0x6D,0x38,0x48,0x4E,0xF2,0x5E,0x1E,0xD9,0x2C,0x95,0x3C,0x20,0xBB, + 0xA0,0xA7,0x19,0x43,0x6E,0xB3,0x56,0x75,0x95,0x2F,0xF4,0xB6,0xEE,0xCC,0xCA,0xCA, + 0xB2,0x4C,0xB0,0x0A,0x20,0x78,0xD6,0xBC,0xA9,0xF1,0x69,0x41,0x7E,0xF3,0x18,0x34, + 0xCB,0x13,0x47,0xD6,0x25,0x2E,0xD6,0xBB,0x67,0x14,0x4F,0x79,0x60,0xDB,0xA0,0xB7, + 0xE6,0xDD,0x90,0x78,0xB5,0x88,0x8F,0xD5,0xFF,0xB2,0x5E,0x14,0xCC,0x6A,0x56,0x57, + 0x21,0x31,0x29,0x85,0x15,0xB4,0xF2,0xED,0x66,0xE2,0x4F,0x4E,0x6A,0x2C,0xB1,0xA4, + 0xA4,0x24,0x4B,0xDD,0x80,0xB4,0x38,0x5B,0x55,0x21,0x46,0x44,0x24,0xA0,0xB7,0x38, + 0xBF,0xBC,0x5C,0xBB,0x40,0xC1,0xEB,0xD5,0x9C,0xEE,0x65,0x39,0xA0,0x5D,0xE6,0xBB, + 0x0A,0x57,0xB4,0x6F,0xC3,0x46,0xF5,0xF5,0x5D,0x74,0x72,0x63,0x9F,0x38,0x96,0x93, + 0x9D,0x23,0x8E,0xAC,0x4D,0x65,0x95,0xE7,0x56,0xAC,0x84,0x7D,0x41,0x8A,0x55,0x0B, + 0x3D,0xAD,0xD5,0x89,0xF7,0xB4,0x46,0x17,0x0D,0x6F,0xE8,0xFD,0x83,0x7A,0x2F,0x20, + 0xDC,0xC0,0x92,0x66,0x67,0xA5,0xB1,0xEB,0xBA,0xEB,0xCF,0x7D,0xD3,0xE4,0x69,0x6E, + 0x9F,0xFC,0x46,0x2C,0x3F,0x8F,0x7A,0x1A,0x13,0xA1,0x47,0x6F,0x1B,0x50,0x9F,0xE2, + 0xBD,0x68,0x32,0x0F,0x6A,0x37,0xCB,0x0B,0xBA,0x77,0xE9,0xE8,0xF8,0xC1,0x55,0xCD, + 0xD9,0xED,0x57,0xC7,0xB3,0x3C,0xD5,0xB4,0x1C,0xAE,0x72,0xDF,0xF6,0x31,0xEC,0xC1, + 0x91,0x89,0xAC,0x57,0x8F,0x02,0x71,0xD6,0xFE,0x50,0x63,0x75,0x7B,0xE1,0xB7,0xE5, + 0x35,0x8B,0x1D,0xC5,0x0B,0x0A,0x3A,0xB5,0x73,0x8C,0x1C,0x94,0xC7,0xA6,0x0C,0x4F, + 0x61,0xBF,0xBE,0x25,0x9E,0xCD,0x1A,0x1F,0xCF,0x7E,0x3D,0x2E,0x8E,0x4D,0x28,0xCA, + 0x64,0x83,0x0B,0xFB,0x38,0xEC,0x30,0xD7,0x25,0x22,0x13,0x3D,0xED,0xE8,0xA5,0x8B, + 0xA2,0x4E,0xBC,0xA0,0x79,0xF3,0xE6,0x8E,0xFE,0x57,0xF6,0x70,0x5C,0x3D,0xA8,0xBF, + 0x63,0x50,0x61,0x7F,0x47,0xE1,0xC0,0x01,0x8E,0x1E,0x5D,0xAF,0x20,0xD1,0x12,0x61, + 0xC5,0x6F,0xB7,0x59,0x8B,0xEC,0x0C,0xFD,0x54,0x83,0x56,0x4D,0x33,0xB0,0xDA,0x7E, + 0x44,0x04,0x61,0x17,0xF4,0xD6,0x03,0xE8,0x69,0xCD,0x6F,0xCB,0xAB,0x85,0x55,0x83, + 0x55,0x91,0x8A,0x99,0xDD,0x13,0x08,0xFB,0xA2,0x57,0x4F,0xE1,0x97,0x78,0xF5,0xF2, + 0x4E,0x44,0x68,0x51,0x6F,0xDB,0x49,0x44,0x06,0x5A,0xB9,0x5E,0x3D,0xEA,0xC4,0xAB, + 0xD5,0x39,0xD2,0x2C,0x5A,0xCB,0x9A,0x08,0x82,0x30,0x8E,0xD6,0x06,0x64,0x40,0x6B, + 0x33,0xBC,0x3A,0xF1,0x56,0x55,0x1B,0x17,0xAF,0x9E,0x19,0x27,0xF1,0x12,0x44,0xC3, + 0xD0,0x13,0xAF,0xD6,0xBC,0xD7,0x2F,0xB7,0x59,0x6F,0x02,0x4D,0x10,0x44,0xC3,0xD0, + 0x73,0x9B,0x83,0x2E,0x5E,0x0A,0x58,0x11,0x44,0x70,0xD0,0xF2,0x76,0xFD,0x12,0xAF, + 0x9E,0xDB,0x4C,0x10,0x44,0xC3,0xF0,0x2B,0x60,0x15,0x08,0xCC,0xFC,0x62,0x82,0x20, + 0x3C,0xD1,0x9B,0xF3,0x06,0xDD,0xF2,0xEA,0xFD,0x62,0x82,0x20,0x8C,0xA1,0x17,0xF4, + 0xD5,0x9A,0xAA,0xD6,0x55,0x74,0xFC,0xF2,0xA5,0xED,0xD2,0xB6,0x3D,0x67,0xC4,0x91, + 0x93,0x67,0xEF,0xEF,0xC6,0x7A,0x76,0x48,0xF3,0xA8,0xFA,0x58,0xBD,0x7A,0xB5,0xB4, + 0x66,0xCD,0x1A,0x71,0x54,0x4F,0x51,0x51,0x11,0x1B,0x3A,0x74,0x28,0xFF,0xFE,0xD2, + 0xD2,0x32,0xC9,0xD1,0x88,0x16,0x83,0x07,0x93,0x1F,0x3C,0xD0,0x83,0xE5,0x37,0xAD, + 0x66,0x15,0x35,0xB1,0x2C,0x39,0xBE,0x96,0xC5,0x3B,0x24,0x76,0xEC,0x5C,0x3C,0xAB, + 0xB8,0xE8,0x6C,0xE1,0xF3,0x9F,0xFF,0xFB,0x9A,0x3F,0x13,0xD6,0x46,0xBA,0x74,0x8E, + 0x65,0x67,0x3B,0x57,0xCA,0xE8,0x69,0x6B,0xCC,0x98,0x31,0xAC,0x77,0xEF,0xDE,0x0E, + 0x49,0xAA,0xCF,0x18,0x05,0x4D,0xBC,0xC7,0x4E,0x54,0x49,0x2F,0x3F,0xD0,0x9F,0x9F, + 0x27,0x82,0x43,0xAB,0x1E,0x25,0xAC,0x67,0x96,0xE8,0x2F,0x8D,0x77,0x5D,0x7C,0xAE, + 0x27,0xCF,0xC7,0xB1,0xA5,0xDF,0x66,0xB2,0x76,0xA7,0x32,0x9C,0x27,0x08,0xCB,0x92, + 0x92,0xD1,0x92,0xDD,0xF6,0x9B,0x25,0xAC,0x65,0xCB,0x4C,0xAE,0x9B,0x8F,0x3E,0xFA, + 0x48,0x5A,0xBB,0x76,0x2D,0xFF,0x9A,0x1A,0x2D,0xF1,0xFA,0xE5,0x36,0x53,0x54,0x39, + 0xFC,0xC4,0xC5,0x5D,0xE2,0xC2,0xC5,0x27,0xCE,0x3F,0x75,0x55,0x0A,0x3F,0xB3,0x49, + 0x0D,0xFB,0x59,0xAF,0xA3,0x2C,0x39,0x89,0xCA,0x27,0xED,0x86,0x99,0x60,0x70,0x40, + 0x03,0x56,0xEA,0xA5,0x4B,0x97,0x6A,0x2F,0xB0,0xC4,0xA6,0xCD,0xC4,0x11,0x11,0x68, + 0x62,0x64,0x17,0x99,0x23,0x2B,0x97,0x8F,0x54,0xE2,0x55,0x68,0x91,0x45,0x9D,0x36, + 0xAC,0x4E,0x13,0x68,0x44,0xF2,0xB1,0xFB,0x9D,0x8C,0x56,0x30,0xD8,0x2F,0xF1,0x1A, + 0xAA,0xA4,0x92,0x5F,0x50,0xA3,0x58,0x9A,0xF3,0x06,0x8B,0x0B,0x17,0x63,0xD9,0xE5, + 0xCB,0x4E,0xE5,0x72,0xCB,0xCB,0xFF,0xE7,0x4A,0x63,0x79,0x1E,0x4C,0x58,0x9B,0x46, + 0x71,0x71,0xF2,0x47,0x57,0xFF,0xE1,0x99,0x09,0x06,0x07,0x54,0xBC,0xD8,0x9E,0xA1, + 0x0E,0xF9,0xA2,0x6A,0x14,0xEF,0xBB,0x67,0x14,0xE1,0x3F,0x67,0xAB,0x1A,0x73,0x83, + 0x5B,0x77,0xDF,0x76,0xB3,0xBE,0xF1,0xB2,0x6B,0x4D,0x58,0x9B,0xD8,0x38,0xD9,0xC0, + 0xA9,0x54,0xA8,0x57,0x00,0x15,0x30,0xF1,0xEA,0xA1,0x16,0xAF,0x43,0xBE,0x92,0x9A, + 0xA4,0x90,0xDB,0x1C,0x4C,0xCE,0x57,0xCB,0x37,0x47,0xC5,0xF2,0x02,0x37,0xEB,0x9B, + 0xD0,0x98,0xF6,0x32,0xB2,0x3A,0x70,0x9B,0xE3,0x54,0xC2,0x74,0x31,0x80,0x2A,0x02, + 0xE6,0x36,0xEB,0x05,0xAC,0xA8,0xE6,0x39,0xB4,0xD4,0xD6,0xBA,0xEE,0xEA,0xE0,0xEE, + 0x39,0x37,0x4D,0xD1,0xBE,0x10,0x08,0xEB,0xA2,0x27,0x5E,0x2D,0x02,0x6A,0x79,0xD5, + 0xFE,0xBA,0x43,0xBE,0xAE,0x1A,0x37,0xF1,0xDE,0xD1,0x9F,0x68,0x18,0x29,0xC9,0xDE, + 0x3F,0xE8,0xD8,0xD8,0x4B,0x2C,0xAD,0xE9,0x79,0x71,0x44,0x58,0x91,0xC6,0x4D,0x92, + 0x59,0x23,0x1F,0xCD,0xF3,0x81,0x56,0x97,0x0D,0xBF,0xC4,0x6B,0x64,0xFB,0xCE,0xD8, + 0x46,0xB1,0x2C,0x3E,0x91,0xCA,0x25,0x83,0x05,0xD2,0x40,0xEE,0x96,0xD5,0x6D,0xCA, + 0xCB,0xE9,0xDC,0xF1,0x98,0x18,0x11,0x56,0xA4,0x71,0x62,0x0A,0x8B,0x8B,0xAF,0xEF, + 0x8F,0xEE,0x6D,0x6F,0x22,0x77,0x82,0x66,0x79,0x89,0xE0,0x81,0x1C,0x6F,0xAF,0xAE, + 0xDA,0x9B,0x9A,0xBB,0x93,0x91,0x56,0xC5,0xDA,0xB4,0xA2,0xDD,0x04,0xED,0x8C,0x5E, + 0xD9,0x71,0x40,0xC5,0xAB,0x9E,0xF3,0x26,0x24,0x26,0xB1,0x66,0x2D,0xDB,0x8B,0xA3, + 0xC8,0x03,0xEE,0x68,0xEB,0x9C,0xD3,0xAC,0x63,0xBB,0xE3,0x5C,0x20,0xA1,0x98,0x5F, + 0x22,0xF5,0xD3,0x3E,0xEF,0x24,0xBB,0x66,0xE0,0x1E,0xED,0xDF,0x27,0xFC,0x21,0x77, + 0xB7,0xA8,0x5B,0xE7,0xA3,0xFC,0xE7,0x08,0xEB,0xD1,0x22,0xAF,0xAB,0xEC,0x45,0xC5, + 0x7B,0xF5,0x64,0xF5,0x16,0xFC,0xF8,0x2D,0x5E,0xBD,0x16,0xAF,0xCA,0x1E,0x46,0x78, + 0x41,0x59,0x6D,0x3B,0xF3,0x73,0x91,0x44,0x4E,0x8B,0x33,0x6C,0x70,0xFF,0xBD,0xEC, + 0xAA,0x7E,0xDF,0xB3,0x1E,0x5D,0x0E,0xB3,0x8E,0xF9,0x27,0xD8,0xC0,0x2B,0x4B,0xF8, + 0xB9,0x91,0xD7,0xED,0xE4,0xCF,0x79,0xB9,0xA7,0x02,0x52,0xDD,0x04,0xB1,0xA2,0xD0, + 0x02,0x37,0x08,0xFC,0x8E,0xEB,0xAE,0xFE,0x96,0x75,0x6A,0x7F,0xCC,0x67,0xFE,0x56, + 0xCB,0x7D,0xC6,0xCF,0x41,0xF4,0xB8,0xD1,0x10,0xD6,0x21,0x2D,0x3B,0x5F,0x8C,0x18, + 0xDB,0xBD,0x7B,0xB7,0xD6,0x47,0xE7,0x5B,0xBC,0x2D,0xD2,0xCD,0xB5,0xB0,0xD1,0x13, + 0xAF,0xBA,0xC7,0x2C,0xEA,0x36,0x23,0x09,0x88,0xA8,0x77,0xB7,0x43,0x5E,0xAD,0x2C, + 0xBE,0xD6,0xE5,0x8A,0x52,0x2E,0x14,0x3C,0x30,0x86,0x00,0x63,0x62,0x3C,0x3F,0x17, + 0x9C,0x83,0x98,0xF0,0x80,0x65,0xC4,0xBF,0x7F,0x65,0x8F,0x03,0x5C,0xA8,0xD7,0x5F, + 0xB3,0x8B,0x8B,0x15,0xC7,0xB8,0x41,0xE8,0x89,0xAE,0xAA,0x5A,0xB5,0x9F,0x94,0xEA, + 0x57,0x60,0x28,0xA1,0x88,0x43,0x05,0x6E,0x28,0xF8,0xB7,0xFB,0xF7,0xDA,0xCF,0x6F, + 0x42,0x44,0xF8,0x51,0xA7,0x53,0xF5,0xE6,0xBB,0x7A,0xD9,0x1D,0xBF,0x2D,0xAF,0xDE, + 0x3F,0xA8,0x16,0x6F,0x52,0x5A,0x96,0x18,0x45,0x06,0x70,0x93,0xCD,0x00,0xB1,0xC0, + 0x0A,0x43,0x80,0x23,0x86,0x7E,0xC3,0x2D,0xB3,0xFA,0x81,0x73,0x10,0x13,0x1E,0xB0, + 0x8C,0x10,0x29,0x84,0x0E,0xA1,0x62,0x5E,0xEB,0x8D,0x9A,0x9A,0x46,0x6C,0xF7,0xBE, + 0x2C,0xB6,0xFD,0x1B,0xED,0x1B,0x24,0x64,0x5B,0x71,0x36,0x81,0x7F,0x9F,0x3B,0x99, + 0xCD,0xCE,0xF2,0x9B,0x90,0x62,0xC9,0xA9,0x06,0x3A,0x3C,0xF0,0xF2,0x61,0xA5,0xCC, + 0x55,0x46,0xAF,0xB9,0xBA,0x5E,0x33,0xF6,0x80,0xBB,0xCD,0xEA,0x17,0x70,0xB9,0xB6, + 0x46,0x76,0x0B,0xDA,0x8A,0x23,0xFB,0x53,0x51,0x59,0xEF,0x9D,0xA0,0x34,0xF1,0xE4, + 0xA9,0x64,0xB6,0xB7,0x24,0x93,0x95,0x9D,0x4E,0xE2,0xD5,0x4E,0xA1,0xE0,0x74,0x45, + 0x13,0xF6,0xF5,0x37,0xAD,0xD8,0xC7,0x6B,0x3B,0xB1,0xDD,0xDF,0x37,0x17,0x67,0x05, + 0x6E,0xC6,0x3D,0x55,0x9E,0x97,0xAF,0xFF,0x2A,0x8F,0x1D,0x3E,0xAA,0x7D,0xA3,0x55, + 0xCF,0xA1,0x15,0x2F,0x81,0x84,0x1C,0x3A,0x9A,0xB5,0xBE,0x42,0xBE,0xC9,0xD6,0xDF, + 0xA4,0xF5,0xC4,0xAB,0xA7,0x35,0xBF,0xC5,0x6B,0x64,0x6B,0x06,0x87,0xEC,0x16,0x46, + 0x92,0xEB,0xBC,0x65,0x47,0x2E,0xFB,0x76,0x6F,0x0B,0xF6,0xCD,0x77,0xD9,0x6C,0xF5, + 0xE7,0x57,0xB0,0x0D,0x5B,0xDB,0xF2,0x63,0x08,0xE4,0xD3,0xF5,0x1D,0xD8,0xC7,0x9F, + 0x75,0xE2,0xC2,0x3A,0x76,0x22,0xC5,0x59,0x77,0x1C,0x00,0x20,0xD6,0x03,0x87,0x33, + 0xF8,0xBF,0x8B,0xDF,0xF1,0xC5,0xC6,0x76,0xEC,0x90,0x2C,0x46,0xE5,0xDF,0xAF,0x56, + 0xBB,0xCD,0xF2,0xA9,0x4B,0x97,0x5C,0x3F,0xD2,0xF4,0xB4,0x73,0x6C,0x9B,0xFC,0xB3, + 0xF8,0x39,0xDC,0x64,0xF4,0x50,0xBC,0x04,0x88,0x18,0xF3,0x79,0x78,0x19,0x5A,0xAE, + 0x3E,0x11,0x38,0x52,0x32,0x72,0x58,0xBC,0x2A,0x4D,0xA4,0x27,0x5E,0xBF,0xDC,0xE6, + 0xD2,0x32,0xFD,0xBB,0xB0,0x11,0xB7,0x39,0x21,0xA1,0x09,0x4B,0x6B,0x11,0x39,0x96, + 0x17,0x82,0x81,0xA5,0x2D,0x39,0xD8,0x8C,0x2F,0x0C,0x70,0x07,0xE7,0x20,0xAC,0xAF, + 0xBE,0x6E,0xC3,0x56,0xAE,0xEE,0xC2,0xC5,0xAD,0x58,0x66,0x2D,0xE0,0xD2,0xE2,0x6B, + 0x78,0xC0,0x05,0xC6,0x03,0x3F,0x8B,0x9B,0x01,0x6E,0x04,0x1F,0x7C,0xDC,0x95,0x8B, + 0x6E,0xC7,0xAE,0x1C,0xFE,0xEF,0x1A,0xB1,0xEE,0xEE,0xE2,0x6D,0x96,0x7E,0x8E,0x3F, + 0xE3,0x26,0xA0,0xDC,0x64,0x70,0x33,0xD0,0x72,0xA7,0x15,0x10,0x49,0x47,0x30,0xEE, + 0xBA,0xC1,0xDF,0x72,0x17,0x9B,0x08,0x0E,0x99,0xB9,0x57,0xB0,0x66,0xCD,0x52,0xEB, + 0xEE,0xF2,0x7A,0x73,0xDE,0x9C,0x9C,0x1C,0x4D,0x4B,0xE0,0xB7,0xE5,0xC5,0x9E,0x44, + 0x5A,0x0B,0x14,0x90,0x2E,0x52,0x1A,0x44,0xA7,0xA7,0x27,0x47,0x64,0xC4,0xD9,0x28, + 0x70,0xAB,0x15,0xCB,0x0C,0x21,0xBA,0x3F,0x3E,0xFA,0xB4,0x33,0xFF,0x1A,0x1E,0x70, + 0x81,0xF1,0x80,0xD5,0x86,0x98,0xB5,0x6E,0x0E,0x5A,0x9C,0x43,0x7D,0xB3,0x8A,0x18, + 0x87,0xEB,0xF2,0xB2,0xA4,0x44,0xD7,0x1B,0x30,0x6E,0x00,0xB8,0x19,0xC0,0xED,0xDE, + 0xB2,0xA3,0x35,0x3B,0x7A,0x2C,0x55,0xD7,0x4B,0xC0,0xBC,0xBB,0xAF,0x3C,0x5F,0x27, + 0x82,0x03,0xC4,0xAB,0xA0,0x64,0x69,0xDC,0xF1,0xB6,0x71,0x9F,0xDF,0xE2,0x05,0x7A, + 0xFF,0x70,0x69,0x69,0xA9,0x18,0x31,0xD6,0xBC,0x6D,0x57,0x31,0x22,0x42,0x41,0x6C, + 0x9C,0xAB,0x78,0xF5,0x02,0x5F,0x10,0x2C,0x84,0x0B,0x01,0x43,0xC8,0x70,0xCB,0x71, + 0xB3,0x21,0x42,0x87,0x3A,0x4D,0x64,0x36,0xD2,0x0C,0x82,0x22,0x5E,0xF5,0x0B,0x49, + 0x4C,0xD5,0xBF,0x73,0x10,0x0D,0xC7,0x3D,0x02,0x7E,0xE1,0x82,0x31,0x8B,0xAD,0x06, + 0x2E,0x34,0xDC,0x72,0xB8,0xF9,0x6B,0xE4,0xB9,0xBC,0xE2,0xEA,0xE3,0xB1,0x49,0x76, + 0xE3,0x89,0xC0,0x83,0xB5,0xEE,0xB1,0x71,0xF5,0x9E,0xAB,0xD9,0x60,0x15,0xA8,0x13, + 0x6F,0xF3,0x74,0x55,0xE0,0xC3,0x20,0x7A,0xFF,0xB0,0xFA,0x85,0xC4,0xC4,0xC4,0x44, + 0x5C,0xBE,0xD7,0x0A,0xC0,0xA2,0x22,0x3A,0x8C,0xB9,0xA9,0x9A,0x8A,0xCA,0x26,0x62, + 0xE4,0x1F,0x70,0xC3,0x15,0x57,0x1F,0x0F,0xB2,0xC6,0xC1,0xA1,0x79,0x7E,0x57,0x26, + 0xD5,0xD6,0x4F,0x69,0xD4,0xDE,0xAA,0x9A,0x90,0xBB,0xCD,0x25,0x25,0x25,0x62,0x84, + 0x05,0xE1,0x8D,0x58,0xCE,0x15,0x7D,0xC4,0x11,0xD1,0x50,0x50,0x04,0x82,0x72,0xC7, + 0xA2,0xC2,0xDD,0x3C,0x3A,0xAC,0x06,0xAE,0x70,0xF1,0x9E,0x16,0xE2,0xC8,0x09,0xD2, + 0x41,0x4A,0x2E,0x19,0xF9,0x66,0xFC,0x8C,0xAF,0x1C,0x32,0x11,0x7C,0x72,0x3B,0x0F, + 0x60,0x49,0x4D,0xEB,0x6F,0x8C,0x87,0x0E,0x69,0xD7,0xAA,0x07,0x4D,0xBC,0x7A,0xE9, + 0x22,0xF5,0x5D,0x24,0x33,0x2B,0xDD,0x91,0xDF,0x7D,0xB0,0x38,0x22,0xCC,0x00,0xE1, + 0x29,0xD5,0x57,0x10,0x1E,0xAA,0xAE,0x50,0x7E,0x89,0x85,0x06,0x5A,0x02,0x44,0x4A, + 0x08,0x01,0x29,0xBE,0x48,0x5F,0xA0,0xAE,0xE2,0x42,0x01,0x08,0xAC,0x35,0xFE,0x8D, + 0x50,0xD4,0x62,0x13,0xFA,0xE4,0xC9,0x9A,0x68,0x9A,0xD2,0x84,0x47,0x0A,0xB1,0x65, + 0xAE,0xDE,0x9C,0x37,0x3F,0x3F,0x5F,0x3B,0x9A,0x28,0xD3,0x20,0xF1,0x62,0x69,0xA0, + 0xDE,0x84,0xBA,0xB8,0xB8,0xB8,0x2E,0x7A,0x46,0x96,0x57,0x9B,0xC4,0x84,0x9A,0xBA, + 0xB2,0x48,0xE5,0xA1,0x94,0x47,0xA2,0x02,0x0B,0x15,0x50,0x4A,0xF5,0x15,0x84,0xA7, + 0x67,0x31,0x21,0x58,0xA4,0x94,0x10,0x80,0x02,0xC7,0x4E,0x78,0x5F,0x47,0xDD,0x44, + 0xFE,0xBD,0xFD,0x7A,0xED,0xF7,0x59,0x23,0x4D,0x04,0x07,0xCC,0x77,0x9B,0xAA,0x52, + 0xA8,0x6A,0x4F,0x55,0x8D,0x9E,0x71,0x54,0xF0,0x2A,0xDE,0x63,0x65,0xBE,0xEF,0xCE, + 0x79,0x79,0x79,0x62,0xE4,0x8A,0xFA,0x05,0xA1,0x4F,0x0F,0xCD,0x7B,0x5D,0x41,0x2E, + 0xB5,0x68,0xD0,0x77,0x75,0x65,0x91,0xCA,0x43,0x29,0x8F,0x34,0x02,0x2C,0x2C,0x0A, + 0x46,0x90,0xBB,0x45,0x1E,0x57,0x01,0xE7,0x10,0x74,0xD2,0x4B,0x01,0x01,0xA5,0xBA, + 0x8A,0x08,0x3D,0x98,0xEF,0x3A,0x2E,0xD7,0xDF,0x38,0xF5,0xC4,0xAB,0xA7,0x2D,0x85, + 0x06,0x59,0x5E,0xD0,0xA1,0x43,0x07,0x31,0x72,0x85,0xE6,0xBD,0xDE,0x69,0x99,0xED, + 0xDF,0xC2,0x00,0x08,0x16,0xE5,0x8E,0x88,0x0C,0xA3,0xCA,0x0B,0x05,0x23,0x5A,0x20, + 0xE8,0x84,0x14,0x90,0x12,0x78,0xC2,0x03,0xC5,0x19,0x6A,0xB0,0x38,0x81,0xAC,0x6F, + 0xE8,0x71,0x9F,0xEF,0x36,0x58,0xBC,0xF1,0xB1,0xFE,0xE9,0xB8,0x7B,0xF7,0xEE,0x9A, + 0xB7,0x77,0x9A,0xF7,0x7A,0xE7,0x48,0xA9,0xD3,0xC5,0xF5,0x05,0xD2,0x35,0x10,0x28, + 0xF2,0xB0,0x48,0xE3,0x40,0xB0,0x98,0xDB,0x1A,0x89,0x02,0xAB,0x2B,0xB8,0xF0,0x80, + 0x45,0x56,0x17,0x7F,0x40,0xB8,0xBD,0xBB,0x1F,0xA2,0xC5,0xFA,0x21,0xC6,0xE8,0x7C, + 0xB7,0xA0,0xA0,0x40,0xDF,0x75,0x92,0xA9,0x53,0x6C,0x7A,0x53,0xF3,0xA9,0x22,0x05, + 0x3D,0xDF,0x5C,0x3D,0xEF,0x6D,0x55,0x30,0x40,0x8C,0x08,0x00,0x37,0x17,0xEE,0xAE, + 0x52,0x16,0xA9,0x3C,0x14,0x2B,0x89,0xEA,0x2B,0x54,0x61,0x61,0x0C,0xD1,0x21,0x0F, + 0xEB,0x5E,0x4D,0x65,0x16,0xB8,0xD1,0xEE,0x96,0x1A,0x2E,0x3A,0xA2,0xD7,0x98,0x5B, + 0x13,0xC1,0xA7,0x71,0x62,0x32,0x4B,0xC9,0xCA,0x15,0x47,0xFE,0x5B,0x5D,0xD0,0x60, + 0xB7,0x19,0x18,0x99,0xF7,0xC6,0xC8,0xF7,0x90,0xCC,0xD6,0xF5,0xE5,0x60,0x84,0x33, + 0xD0,0xA4,0x94,0x45,0x2A,0x0F,0xC5,0x4A,0x7A,0xAB,0x3D,0x6E,0x08,0x98,0x0B,0xAB, + 0xE7,0xC7,0x0A,0x10,0x31,0xB9,0xD0,0xC1,0x27,0xA7,0x43,0x5F,0xD6,0xA8,0x51,0x7D, + 0x15,0x5C,0xD0,0xC4,0x5B,0x55,0x6D,0x2C,0x1F,0x68,0x44,0xBC,0x4D,0x12,0x13,0x59, + 0x4E,0x47,0x9A,0xF7,0x5A,0x81,0xAD,0xDB,0x73,0x5D,0x96,0x37,0x02,0xDC,0x30,0x8C, + 0xD6,0x53,0x13,0xFE,0xD3,0xA6,0xEB,0x40,0xD9,0x53,0x75,0xEE,0x08,0x08,0x82,0x27, + 0xDE,0xF3,0xC6,0xC4,0xAB,0xE7,0x9B,0xAB,0xE7,0xBD,0x58,0xA4,0x50,0x50,0x78,0xB3, + 0x38,0x22,0xC2,0x09,0xDC,0xEF,0xB5,0x1B,0xDA,0x73,0x97,0x1C,0x81,0x2D,0xD4,0x37, + 0x6F,0xD9,0xDE,0x5A,0x7C,0x95,0x08,0x26,0xED,0xFA,0x5C,0x2B,0x46,0xFA,0xF3,0x5D, + 0x34,0x9C,0xF3,0x96,0xDF,0x55,0x08,0x88,0xDB,0x0C,0xF4,0xE6,0xBD,0x1B,0x37,0x6E, + 0xAC,0x9B,0xF7,0x36,0x6D,0xDE,0x9A,0x52,0x46,0x16,0x02,0xD6,0x16,0x6E,0x34,0xF2, + 0xC3,0x64,0x75,0x83,0x0F,0x3C,0xCF,0xB8,0xD8,0xFA,0xD8,0xD2,0xAE,0x5D,0xBB,0xC4, + 0xC8,0x95,0xD6,0xAD,0x8D,0xDD,0x48,0xEB,0xC4,0x9B,0x91,0xD2,0xB0,0x60,0x88,0x5E, + 0xCA,0x68,0xEB,0xD6,0xAD,0x62,0xC4,0x58,0x72,0x4A,0x12,0x2B,0x18,0x34,0x5A,0x1C, + 0x11,0x44,0x74,0xD1,0xA3,0xE8,0x56,0x96,0xD3,0xAA,0xDE,0x65,0x56,0x6B,0x43,0x8D, + 0x11,0x97,0x19,0xD4,0x89,0x37,0x3E,0xAE,0x61,0x46,0xB8,0x73,0x67,0xED,0x75,0xBB, + 0xA8,0xD9,0x84,0x7B,0x80,0x31,0xC2,0xE3,0x5D,0xAE,0x19,0xCB,0xCF,0x13,0x44,0x34, + 0x81,0xAA,0xAA,0xDC,0x6E,0xF5,0xE9,0x52,0xAC,0xDF,0xD5,0x5B,0x8C,0xD0,0xAD,0x5B, + 0x37,0x31,0xF2,0x8E,0x57,0xC5,0x5E,0xAC,0xF5,0xBD,0x6F,0xA8,0x42,0x6E,0x6E,0xAE, + 0x43,0xAF,0x88,0x5A,0x7D,0x87,0x89,0x8D,0x8D,0x63,0xCD,0xF3,0xBA,0x8B,0x23,0x82, + 0x88,0x0E,0xF2,0x7A,0x5E,0xC3,0x62,0x55,0x6D,0x85,0x76,0xEC,0xD8,0x21,0x46,0xAE, + 0xC0,0x65,0xCE,0xCA,0xAA,0xB7,0xCE,0xDE,0xF0,0x2A,0xDE,0xF2,0xCA,0x8B,0x62,0x64, + 0x8C,0x5E,0xBD,0x7A,0x89,0x91,0x2B,0x6A,0xF1,0xB6,0x6C,0xD5,0xDC,0xD1,0xAD,0xE8, + 0x16,0x71,0x44,0x10,0xD1,0x41,0xCF,0xEB,0x26,0xB2,0xE6,0x2D,0x32,0x7C,0xBA,0xCC, + 0x7A,0x1A,0xD2,0xA2,0x61,0xBE,0xB2,0x1B,0x7A,0xE6,0x1E,0x11,0xB5,0x83,0x07,0x0F, + 0xD6,0xDD,0x76,0xF2,0x7B,0x16,0xD1,0xC6,0xDB,0x44,0xD4,0x80,0x16,0xAF,0x19,0xAD, + 0x3A,0x8A,0x23,0x67,0x73,0x75,0xAD,0xAD,0x81,0x10,0x65,0xEE,0xD7,0xAF,0x9F,0x21, + 0xAB,0x0B,0xEA,0xC4,0x9B,0x94,0xD0,0xF0,0x68,0x23,0x56,0x19,0xE9,0x4D,0xB6,0xD5, + 0x77,0x9A,0xB8,0xD8,0x46,0xDC,0x8D,0x20,0x88,0x68,0xA0,0xF3,0x55,0xA3,0x59,0x62, + 0x93,0xFA,0x28,0xB3,0x9E,0xD5,0xD5,0x8B,0x1B,0xE9,0x51,0x27,0xDE,0xE4,0x26,0x81, + 0x49,0x15,0xE8,0x99,0x7D,0xB5,0x8F,0x0F,0xF7,0x01,0x6E,0x04,0x41,0x44,0x03,0xDD, + 0x86,0x8C,0x63,0x69,0x69,0xC9,0x75,0x16,0x55,0x2F,0x45,0x64,0x34,0x50,0xA5,0x10, + 0x50,0xB7,0x19,0xF4,0xEE,0xDD,0xDB,0xA1,0xB5,0xAB,0x19,0x36,0x0D,0x56,0xD7,0x3A, + 0xA7,0xE7,0xE4,0x3B,0x3B,0xC6,0x13,0x44,0x04,0x83,0xE0,0x6C,0x7C,0x42,0x7D,0x39, + 0xEA,0x96,0x2D,0x5B,0x24,0xF5,0x86,0x7C,0x70,0x9F,0xDF,0x7C,0xF3,0x4D,0xBE,0x1F, + 0x91,0xAF,0x85,0x08,0xEE,0x78,0x15,0xAF,0xB7,0xBE,0xCD,0xDE,0xD0,0x33,0xFF,0x6A, + 0x77,0xA1,0x69,0xD3,0x64,0xD6,0xEF,0xE6,0xFB,0xC4,0x11,0x41,0x44,0x26,0x03,0xC7, + 0xDE,0xCF,0x83,0xB4,0xE2,0xD0,0x23,0xCA,0xFC,0xE5,0x97,0x5F,0xB2,0xB6,0x6D,0xDB, + 0x9A,0xB6,0xBA,0x20,0xE0,0x96,0x17,0xE8,0xBD,0x10,0xB8,0x0B,0x4A,0x7F,0xDA,0x94, + 0x94,0x44,0x47,0x87,0xBE,0xC3,0xC8,0xFA,0x12,0x11,0x0B,0x16,0xE2,0x34,0x6F,0x53, + 0x6F,0xC8,0x70,0xED,0xEF,0xD9,0xB3,0x47,0x1C,0x39,0x7B,0x9C,0x43,0xCC,0x98,0x6A, + 0x9A,0x89,0x32,0x2B,0xD4,0x89,0x37,0xBB,0x59,0x82,0x29,0x93,0xED,0x0D,0x98,0x7F, + 0xBD,0x6D,0x09,0xD7,0xAC,0x59,0x23,0x46,0x64,0x7D,0x89,0xC8,0xE6,0xAA,0xF1,0x33, + 0x5C,0xAC,0xAE,0xFA,0xDA,0x07,0x30,0x66,0xC8,0xEB,0xA2,0x3A,0x51,0x6F,0x57,0x04, + 0x6F,0x04,0xC5,0xF2,0x82,0xC1,0x83,0xB5,0x17,0xDF,0x93,0xF5,0x25,0xA2,0x01,0x2D, + 0xAB,0xEB,0x1E,0xA8,0xFA,0xFC,0xF3,0xCF,0xD9,0xA0,0x41,0x83,0x58,0x51,0x51,0x91, + 0x38,0x63,0x0E,0xAF,0xE2,0x35,0xD2,0xC3,0x4A,0x8F,0x94,0x94,0x14,0xF6,0xEE,0xBB, + 0xEF,0x8A,0x23,0x57,0xC8,0xFA,0x12,0x91,0x8E,0x2F,0xAB,0xAB,0x94,0x46,0xC2,0x5D, + 0x36,0x1B,0xA8,0x52,0x08,0x9A,0xE5,0x95,0xE7,0xBD,0x8E,0x8A,0x8A,0x0A,0xCD,0x66, + 0xD2,0xF0,0xFB,0x95,0xFD,0x8C,0x60,0x7D,0xDB,0xF5,0x1E,0x4A,0x45,0x1B,0x44,0xC4, + 0x00,0x4F,0x32,0xCB,0xA0,0xD5,0xF5,0x67,0xAE,0xAB,0xE0,0x22,0xDE,0x16,0x19,0xE6, + 0x76,0xC7,0xF7,0xC5,0x83,0x0F,0x3E,0xC8,0x36,0x6F,0xDE,0x2C,0x8E,0xEA,0xC1,0x44, + 0x7D,0xED,0xDA,0xB5,0xE2,0x88,0xB1,0xA4,0xA4,0x44,0xD6,0xAD,0x68,0xBC,0x38,0x22, + 0x08,0x7B,0x03,0x4F,0x12,0x1E,0xA5,0x82,0xBB,0xD5,0x45,0x7A,0x08,0x0B,0x76,0xFA, + 0xF6,0xED,0xCB,0x0A,0x0B,0x0B,0xFD,0x8E,0x35,0x05,0xCD,0xF2,0x82,0xE9,0xD3,0xA7, + 0x3B,0x0E,0x1C,0x38,0xC0,0x5F,0xAC,0x3B,0x9B,0x36,0x6D,0xAA,0xB3,0xBE,0x19,0xCD, + 0x52,0x1D,0x7D,0x46,0x4C,0x22,0xEB,0x4B,0xD8,0x1E,0x58,0x5D,0xC4,0x71,0xE0,0x51, + 0xE2,0x58,0xCB,0xEA,0x22,0x65,0x8A,0x8C,0x8C,0xBF,0x73,0x5D,0x05,0x9F,0xE2,0x2D, + 0x3D,0x55,0x5D,0x57,0x58,0xE1,0x0F,0xF7,0xDC,0x73,0x8F,0x41,0xEB,0xDB,0x84,0x0D, + 0x18,0x4D,0x73,0x5F,0xC2,0xDE,0x5C,0x73,0xFB,0x63,0x2C,0x35,0x35,0x45,0x1C,0x79, + 0x5A,0x5D,0x5C,0xF7,0x5F,0x7D,0xF5,0x15,0xBB,0xF6,0xDA,0x6B,0x1B,0x64,0x75,0x41, + 0x50,0x2D,0x2F,0x80,0xEB,0xFC,0xCD,0x37,0xDF,0xF0,0x17,0xED,0x8E,0xAB,0xF5,0x4D, + 0x73,0x14,0x5C,0x35,0x9A,0x3A,0x6D,0x10,0xB6,0x05,0xD5,0x54,0xAD,0x3B,0xF5,0x65, + 0xC9,0xC9,0xCE,0xB6,0xAE,0x5A,0x56,0x17,0xF1,0x1E,0x74,0x9D,0xB9,0xF1,0xC6,0x1B, + 0xC5,0x19,0xFF,0x71,0x11,0x6F,0x76,0x46,0xE0,0xDD,0x56,0xE4,0xAF,0x46,0x8D,0x1A, + 0xC5,0xB6,0x6F,0xDF,0x2E,0xCE,0xD4,0x03,0x41,0xBF,0xF7,0xDE,0x7B,0xE2,0x88,0xB1, + 0x56,0xB9,0x2D,0x1C,0x43,0xEF,0xFE,0xB5,0x38,0x22,0x08,0x7B,0x71,0xFD,0x8F,0x9F, + 0x74,0x89,0x30,0xAF,0x5C,0xB9,0x52,0x8C,0xEA,0x41,0x45,0x15,0xDC,0xE5,0x86,0x5A, + 0x5D,0xE0,0xD3,0xF2,0x9A,0x59,0x90,0xAF,0xC7,0xCF,0x7E,0xF6,0x33,0xDD,0xC5,0xC7, + 0xB8,0x33,0x61,0x89,0x94,0x38,0x64,0xD9,0xF9,0x05,0x2C,0xAF,0x47,0xC3,0xE6,0x02, + 0x04,0x11,0x6A,0x7A,0x0E,0xBB,0x83,0xA5,0x67,0x66,0x89,0x23,0x06,0x63,0x25,0xB9, + 0x77,0x86,0x44,0xE6,0x05,0x35,0xFE,0x77,0xDF,0x7D,0xB7,0x38,0xD3,0x30,0x7C,0x8A, + 0xD7,0xEC,0x82,0x7C,0x2D,0xB0,0x58,0xA1,0x4B,0x97,0x2E,0x10,0xA9,0x38,0xE3,0x8A, + 0xDA,0xFA,0xA2,0x2D,0xE6,0x10,0x79,0xDE,0x40,0xC1,0x2B,0xC2,0x2E,0x20,0x48,0x75, + 0xE5,0x0D,0x93,0x78,0xE0,0x55,0x9C,0xD2,0xB4,0xBA,0x98,0xEB,0x5E,0x75,0xD5,0x55, + 0x01,0xB1,0xBA,0xC0,0x45,0xBC,0x71,0x7E,0x6E,0x79,0x62,0x84,0x07,0x1E,0x78,0x80, + 0xED,0xDD,0xBB,0x57,0x1C,0xB9,0x82,0xC5,0xFA,0xAB,0x57,0xAF,0xAE,0xB3,0xBE,0x29, + 0xF2,0x84,0x9F,0x82,0x57,0x84,0x5D,0x40,0x90,0x2A,0xAD,0x59,0xFD,0x6E,0x99,0x2B, + 0x56,0xAC,0xF0,0x58,0x6C,0x8F,0x63,0xCC,0x77,0x1F,0x7F,0xFC,0x71,0x71,0xA6,0xE1, + 0xB8,0xA8,0x35,0x23,0xC5,0xFF,0x2D,0x4F,0x7C,0x21,0x4F,0xD0,0x1D,0x70,0x19,0xB4, + 0x02,0x57,0x00,0x91,0x67,0xA5,0x51,0x1D,0x82,0x57,0x9D,0xAF,0xFA,0x01,0x4B,0xCB, + 0xAE,0xDF,0x06,0x91,0x20,0xAC,0x08,0xDA,0xB9,0xE6,0x76,0xEA,0xE7,0x12,0xA4,0x5A, + 0xBF,0x7E,0x3D,0xFF,0x9A,0x1A,0x4C,0x1B,0xFB,0xF7,0xEF,0x8F,0xDC,0x6E,0x40,0xAC, + 0x2E,0xF0,0x3D,0xE7,0xAD,0x69,0xF8,0x9C,0x57,0x61,0xFA,0xF4,0xE9,0xEC,0xDB,0x6F, + 0xBF,0x15,0x47,0xAE,0x40,0xD4,0x6A,0x57,0xA3,0x75,0x6E,0xB6,0xE3,0xDA,0xBB,0x66, + 0x89,0x23,0x82,0xB0,0x1E,0x98,0xDA,0x0D,0xBD,0xF3,0x09,0x97,0x76,0xAE,0xEA,0x29, + 0xA0,0x1A,0x04,0xAA,0x9E,0x7C,0xF2,0x49,0x71,0x14,0x18,0x7C,0x8A,0xB7,0xAC,0xB2, + 0x46,0x8C,0x1A,0xCE,0xE4,0xC9,0x93,0x1D,0x48,0x0F,0xE9,0xB5,0xCA,0x41,0xF0,0x4A, + 0xBD,0x60,0xBF,0x79,0x6E,0x07,0x56,0x30,0x68,0x8C,0x38,0x22,0x08,0x6B,0x81,0xA9, + 0x5D,0x46,0x56,0xFD,0x66,0x03,0x58,0x68,0x8F,0xCA,0x29,0x77,0x70,0x5D,0x77,0xED, + 0xDA,0x15,0x96,0x37,0x60,0x56,0x17,0xB8,0x88,0x37,0x3E,0x2E,0xA0,0xFF,0xB6,0x26, + 0xF7,0xDE,0x7B,0x2F,0x4F,0x1B,0x25,0x24,0x68,0x97,0x62,0xAA,0xEF,0x5C,0xCD,0x5B, + 0x34,0x73,0x14,0xFE,0x70,0x1A,0xB9,0xCF,0x84,0xE5,0x80,0xBB,0xDC,0x75,0xF0,0x58, + 0x3E,0xC5,0x13,0xA7,0xD8,0xAA,0x55,0xAB,0xC4,0xC8,0x15,0x54,0x54,0xCD,0x9C,0x39, + 0x53,0x1C,0x05,0x0E,0x17,0xF1,0xA6,0x25,0x37,0x6C,0xD7,0x04,0x23,0x4C,0x9A,0x34, + 0x89,0xBD,0xF3,0xCE,0x3B,0xEC,0x9A,0x6B,0xB4,0x1B,0xD0,0x61,0x62,0xBF,0x6C,0xD9, + 0xB2,0x3A,0xEB,0x0B,0xF7,0x79,0xD4,0xB4,0x3F,0x53,0xF4,0x99,0xB0,0x0C,0x88,0x2E, + 0x0F,0x9F,0xF2,0x94,0x8B,0xBB,0xBC,0x64,0xC9,0x12,0xCD,0x8E,0x90,0x27,0x4F,0x9E, + 0x64,0x35,0x35,0x35,0x6C,0xD4,0xA8,0x51,0x01,0xB7,0x8C,0x3E,0xDD,0xE6,0xF2,0x8A, + 0x86,0xA7,0x8A,0xD4,0xA0,0x68,0x63,0xCC,0x98,0x31,0x6C,0xC3,0x86,0x0D,0xBA,0xFB, + 0x1B,0xE1,0x4E,0x05,0x17,0x44,0x1C,0xB2,0xE6,0x39,0x39,0xEC,0xFA,0x29,0x81,0x9D, + 0x2F,0x10,0x84,0xBF,0x8C,0xFA,0xD9,0x8B,0xAC,0x6D,0x7E,0x6E,0x9D,0x18,0xD7,0xAD, + 0x5B,0xE7,0x51,0x49,0xA5,0x80,0x0C,0xCB,0xB4,0x69,0xD3,0xC4,0x51,0x60,0xF1,0x1D, + 0xB0,0x0A,0x40,0x91,0x86,0x3B,0x70,0x9D,0x5F,0x7E,0xF9,0x65,0x06,0x11,0xEB,0x01, + 0xF7,0xF9,0xC4,0x89,0x13,0x5C,0xC0,0x88,0xE4,0xE5,0x75,0x1D,0x40,0xF3,0x5F,0x22, + 0xEC,0x5C,0x75,0xCB,0x43,0xAC,0x79,0x6E,0x7D,0xCC,0x06,0xFD,0xC8,0xF5,0xDC,0x65, + 0x20,0x0B,0x9B,0xCD,0x98,0x31,0x23,0x28,0xF3,0x51,0x17,0xF1,0x06,0xAA,0xFD,0xAB, + 0x2F,0xB0,0xF8,0x18,0x4D,0xEA,0x10,0x52,0x1F,0x38,0x70,0xA0,0x38,0xEB,0x0A,0xA2, + 0xCF,0x4B,0x97,0x2E,0x15,0x47,0x34,0xFF,0x25,0xC2,0x8F,0xD6,0x3C,0xF7,0xED,0xB7, + 0xDF,0xD6,0x4D,0x7F,0xC2,0x65,0x9E,0x3C,0x79,0xB2,0x38,0x0A,0x3C,0x2E,0xE2,0x4D, + 0x0A,0x91,0x78,0xC1,0x43,0x0F,0x3D,0xC4,0xE6,0xCF,0x9F,0xCF,0xF3,0xBF,0x7A,0x5B, + 0x1A,0xE2,0x8F,0xA7,0xF9,0x2F,0x61,0x05,0xF4,0xE6,0xB9,0x5A,0xFB,0xEB,0x02,0x64, + 0x54,0x3E,0xFE,0xF8,0x63,0xEE,0x65,0x06,0x0B,0x9F,0x6E,0xF3,0xF1,0xF2,0xC0,0xCE, + 0x79,0x15,0x86,0x0E,0x1D,0xEA,0xC0,0x1F,0x8E,0xB9,0xED,0xB8,0x71,0xE3,0x74,0xA3, + 0xCF,0x34,0xFF,0x25,0xAC,0x80,0x99,0x79,0x2E,0x9A,0x2F,0xA6,0xA6,0xA6,0x72,0x01, + 0xFB,0xDB,0xE2,0xC6,0x08,0x3E,0xC5,0x1B,0x4C,0x1E,0x7D,0xF4,0x51,0x36,0x67,0xCE, + 0x1C,0xBE,0x4D,0x8A,0xB9,0xF9,0x6F,0x7F,0xD6,0xF3,0xDA,0xDB,0xF9,0xD7,0x08,0x22, + 0xD8,0x0C,0x99,0xF8,0x98,0x3C,0xCF,0xAD,0x9F,0xAE,0xF9,0x9A,0xE7,0xC2,0x18,0xBD, + 0xF6,0xDA,0x6B,0x41,0xB5,0xBA,0xC0,0x45,0xBC,0xC1,0x58,0x12,0xE8,0x8D,0x89,0x13, + 0x27,0x3A,0x30,0xEF,0x45,0x49,0x19,0xEE,0x50,0xC6,0xE7,0xBF,0x99,0x8E,0xFE,0x3F, + 0x98,0xC2,0xDA,0xF7,0x1E,0x26,0xCE,0x10,0x44,0x70,0xE8,0xFF,0x83,0xA9,0xF2,0x3C, + 0x77,0xA4,0x3C,0xCF,0x4D,0x37,0x34,0xCF,0x55,0xBA,0x63,0xC0,0x63,0x1C,0x3B,0x76, + 0x6C,0xD0,0xAC,0x2E,0xF0,0x69,0x79,0xCF,0x9E,0xD7,0x7E,0x91,0x81,0x02,0x73,0x5F, + 0x58,0x5F,0xE0,0x6B,0xFE,0xFB,0xFA,0xEB,0xAF,0xD7,0xB9,0xCF,0x39,0x2D,0x5B,0x38, + 0x8A,0xEE,0x78,0x84,0xE5,0x75,0xA7,0x0D,0xCB,0x88,0xE0,0xD0,0xF5,0x9A,0x71,0xAC, + 0xF7,0x75,0xB7,0xB2,0xCC,0xAC,0x66,0x75,0x22,0xC4,0x35,0xE8,0x6D,0x9E,0x8B,0xE9, + 0x20,0x62,0x39,0xB8,0xAE,0x83,0x8D,0x4F,0xF1,0x56,0x55,0x07,0x57,0xBC,0x28,0xDA, + 0x50,0x5B,0x55,0x6F,0xF3,0x5F,0xAC,0xCA,0x50,0x07,0xB0,0x5A,0xE5,0xB6,0x72,0xA0, + 0xB6,0x14,0x3D,0x72,0x09,0x22,0x90,0xC0,0x28,0x0C,0x1C,0xFD,0x53,0xD6,0x22,0xA7, + 0x7E,0x71,0x3D,0x02,0x54,0xEA,0x1D,0x0F,0xD4,0x60,0x9E,0x8B,0x6B,0x17,0x2C,0x5F, + 0xBE,0x9C,0x4D,0x98,0x30,0x81,0x8F,0x83,0x89,0x8B,0x78,0x03,0xB1,0xCD,0xA7,0x59, + 0x30,0xDF,0xC5,0x1F,0x3A,0x77,0xEE,0x5C,0x2E,0x4A,0x5F,0xF3,0x5F,0xB8,0x23,0xEA, + 0xE5,0x83,0xB9,0x79,0xAD,0x1D,0x37,0x3F,0xF4,0x67,0x6A,0x9F,0x43,0x04,0x0C,0xB4, + 0xB3,0xB9,0x6E,0xD2,0x6F,0xB8,0x71,0x10,0xA7,0xD8,0x7F,0xFF,0xFB,0x5F,0xDD,0x00, + 0x15,0x80,0x70,0x53,0x52,0x52,0x1C,0x0B,0x16,0x2C,0x90,0x46,0x8C,0x18,0xE1,0xD7, + 0x0E,0x08,0x66,0x71,0x11,0x6F,0xA8,0xF2,0xBC,0xEE,0x28,0x69,0x23,0x05,0x6F,0xF3, + 0x5F,0x80,0xA6,0x5E,0x88,0xF6,0x89,0x43,0x96,0xDB,0xB6,0x95,0x63,0xCC,0xC3,0x0B, + 0x49,0xC0,0x44,0x83,0x81,0x17,0x77,0xD3,0xFD,0xCF,0xC9,0xC2,0xAD,0x17,0x1F,0x8C, + 0x05,0x16,0xD4,0xE8,0x81,0x79,0x6E,0x7E,0x7E,0x3E,0xFF,0x7E,0x14,0x1F,0x05,0x3B, + 0x50,0xA5,0xE0,0xD3,0x6D,0x2E,0x0B,0x70,0x79,0xA4,0x16,0xF8,0xC3,0xD1,0x7C,0x5A, + 0xED,0x12,0x63,0xFE,0x8B,0x3D,0x5C,0xF4,0xC0,0xF2,0x41,0xB4,0x1A,0x11,0x87,0x2C, + 0xBF,0x63,0x7B,0xC7,0xA8,0x07,0x5F,0x64,0x8D,0x13,0xB5,0xF7,0x48,0x22,0x08,0x5F, + 0xE0,0xE6,0x7F,0xE3,0xD4,0xE7,0xB8,0x37,0x27,0x4E,0xB1,0x8D,0x1B,0x37,0x4A,0xEE, + 0x1D,0x20,0xD5,0xA0,0x85,0x2B,0xE6,0xB9,0x18,0x43,0xE4,0x69,0x69,0x69,0xBC,0x73, + 0x0C,0xFF,0x62,0x90,0xF1,0x29,0xDE,0x8B,0xB5,0x75,0xFA,0x08,0x2A,0x4A,0xDA,0x48, + 0xCD,0x9D,0x77,0xDE,0xE9,0xD0,0xAB,0x7F,0x06,0x98,0x5B,0xA8,0xFB,0x5F,0x75,0xEC, + 0x52,0xE0,0xB8,0xE5,0xB1,0x57,0x49,0xC0,0x84,0x69,0x20,0x5C,0x78,0x6F,0x30,0x02, + 0xE2,0x14,0x5F,0x9E,0xAA,0xB7,0x3E,0x17,0xC0,0xB8,0x8C,0x1F,0x3F,0xBE,0xEE,0xFB, + 0x43,0x15,0xA8,0x52,0x70,0x9D,0xF3,0x36,0x69,0x24,0x46,0xA1,0x07,0x7D,0x7D,0xD0, + 0x69,0x43,0x5D,0x90,0x01,0xA6,0x4E,0x9D,0xEA,0xC8,0xCC,0xCC,0x14,0x47,0xAE,0x28, + 0x29,0x24,0xA4,0x9A,0xC4,0x29,0xD6,0xA1,0x73,0x67,0xC7,0xF8,0xC7,0xDF,0x24,0x17, + 0x9A,0x30,0x0C,0x5C,0xE5,0x1F,0x3E,0xF2,0x8A,0x8B,0x70,0x61,0x14,0x90,0x12,0xD2, + 0x03,0x46,0x05,0xC6,0x45,0x1C,0xF2,0x6B,0x30,0x14,0xE9,0x21,0x35,0x2E,0xE2,0x4D, + 0x49,0x0C,0xC1,0x82,0x5E,0x2F,0xCC,0x9A,0x35,0x8B,0xCD,0x9E,0x3D,0x5B,0x1C,0xD5, + 0x73,0xC7,0x1D,0x77,0x30,0xB8,0x23,0x5A,0x40,0xC0,0x8B,0x17,0x2F,0x76,0x11,0x70, + 0xBB,0x2B,0x3A,0xF0,0x39,0x30,0x45,0xA1,0x09,0x5F,0xA0,0x5E,0xF9,0xE6,0x07,0xFF, + 0xC4,0xDA,0xB6,0x6B,0xEB,0x22,0x44,0x6F,0xB9,0x5C,0x5C,0x8B,0x30,0x2A,0xE2,0x90, + 0x03,0xAB,0x1B,0xAA,0xB9,0xAE,0x82,0x6F,0xB7,0x39,0x80,0x6D,0x70,0x7C,0x81,0xBB, + 0x96,0x52,0xB4,0x21,0x4E,0x71,0x10,0x81,0x86,0x80,0xF5,0x52,0x48,0xB0,0xD8,0x10, + 0x30,0x2A,0x5F,0xC4,0x29,0x7E,0x17,0xC5,0x87,0x82,0xC8,0x21,0x41,0x68,0x81,0x22, + 0x9F,0x91,0xF7,0xFD,0xD1,0x65,0x8E,0x0B,0x8B,0xFB,0xCA,0x2B,0xAF,0xF0,0x6B,0x4A, + 0x0B,0x08,0x17,0xE9,0x4D,0x77,0xE0,0x01,0x6A,0x9D,0x0F,0x26,0x3E,0xC5,0x1B,0x88, + 0xD6,0xAF,0x66,0xD0,0x9A,0xFB,0x82,0xAC,0xAC,0x2C,0x2E,0xE0,0xD8,0x58,0xED,0x88, + 0xB8,0x22,0x60,0xF5,0x1C,0x98,0xA7,0x91,0xA6,0xCD,0xA5,0x42,0x0E,0xC2,0x03,0x14, + 0x60,0x5C,0x7B,0xF7,0xE3,0x2E,0x51,0x65,0x4C,0xD9,0x20,0x42,0x3D,0x8B,0x0B,0xE3, + 0x81,0xB4,0x26,0x8C,0x89,0x38,0xC5,0x41,0xFE,0x17,0xD9,0x91,0x50,0xA4,0x87,0xD4, + 0x78,0xFC,0xB2,0xE1,0x3F,0x5F,0xEB,0x62,0xF5,0xC0,0x87,0x2F,0x0C,0x0E,0xE9,0x8B, + 0x92,0xEF,0x6E,0xA8,0x62,0xD1,0xFC,0x9D,0x10,0xA7,0xB7,0x37,0x18,0x20,0x4F,0xAC, + 0x8E,0xF8,0x1D,0x3E,0x78,0x58,0x5A,0xFF,0xEE,0x5F,0xD8,0xCE,0x4F,0xF5,0xE7,0x30, + 0x44,0xF4,0x30,0x78,0xFC,0xC3,0xAC,0xEB,0xE0,0x51,0x2E,0x05,0x18,0x48,0x3D,0x6A, + 0xF5,0x5A,0x56,0x80,0xD1,0x80,0xF1,0x50,0x52,0x42,0x6A,0x7A,0xF5,0xEA,0x25,0x2D, + 0x5A,0xB4,0x28,0x24,0x51,0x66,0x49,0xAA,0x97,0xA7,0x87,0xE5,0x0D,0xF4,0x36,0x9F, + 0xFE,0x00,0xF7,0x43,0x29,0xDA,0x70,0xA7,0x63,0xC7,0x8E,0x7C,0xFB,0x14,0x6F,0x20, + 0x0A,0xFD,0xD9,0x67,0x9F,0xD5,0xFD,0x3C,0x92,0xED,0x83,0x6F,0x79,0x80,0xF5,0xBD, + 0xE9,0xA7,0xE2,0x0C,0x11,0x8D,0x38,0xBB,0x3D,0xFE,0x86,0xF5,0x28,0x1A,0xED,0x22, + 0xDC,0x8F,0x3E,0xFA,0xC8,0xA7,0x70,0x61,0x71,0xB5,0x84,0xAB,0x04,0x58,0x43,0x95, + 0x1E,0x52,0xE3,0xF1,0x0B,0xEF,0x7C,0x72,0x93,0xE4,0xBE,0x23,0x7E,0xA8,0x2D,0x2F, + 0xE6,0xBC,0xF2,0x9B,0x81,0xED,0x21,0x74,0x7F,0x2F,0x72,0xBC,0x10,0xA9,0x37,0x0B, + 0x0C,0x57,0x06,0xF9,0x62,0x71,0xC8,0xCA,0x4E,0x9D,0x91,0x8E,0xEC,0xDB,0xC5,0xDE, + 0xFF,0xF3,0x83,0xEC,0xC2,0x39,0xCF,0x7E,0x43,0x44,0xE4,0x82,0xEC,0xC3,0xC8,0x07, + 0xE6,0xB2,0xEC,0xDC,0xB6,0x2C,0x35,0x2D,0xA5,0xEE,0x9A,0x40,0x6D,0x01,0xA2,0xC4, + 0x7A,0x28,0xC2,0x85,0xD1,0x10,0xA7,0x5C,0x90,0xBF,0x26,0x8D,0x1E,0x3D,0x9A,0x2F, + 0xB2,0x11,0xA7,0x82,0x8A,0x57,0xCB,0xAB,0x45,0x59,0xC5,0x05,0x4D,0x2B,0x18,0x2C, + 0x30,0x77,0x80,0xF0,0xD4,0x45,0x1B,0xEE,0x74,0xEF,0xDE,0x9D,0x97,0x55,0xEA,0x05, + 0xB1,0x00,0x82,0x5F,0xEA,0x7F,0x03,0xDB,0x51,0x74,0xEB,0x3B,0xC0,0x71,0xFB,0x6F, + 0xDF,0xA1,0x40,0x56,0x14,0x81,0xC0,0xD4,0xB8,0x99,0x8B,0x59,0xA7,0xEE,0xDD,0x1C, + 0x6A,0xE1,0x62,0x91,0x81,0x37,0xE1,0xE2,0xDA,0x9A,0x32,0x65,0x8A,0xAE,0x70,0x61, + 0x64,0x70,0x8D,0x85,0x4A,0xB8,0xEE,0x18,0x12,0xEF,0xC5,0x9A,0x90,0x6A,0x97,0xA3, + 0x97,0x36,0x52,0x83,0x37,0x15,0x2E,0xB6,0x37,0x01,0xE3,0xC3,0x91,0xE7,0x23,0x2E, + 0x7F,0x40,0x6E,0x5E,0x2B,0xC7,0x0F,0x1E,0x7A,0x91,0xDC,0xE8,0x08,0x47,0x71,0x93, + 0x11,0x98,0x42,0x09,0xAD,0x38,0xCD,0xB7,0x95,0xFD,0xEB,0x5F,0xFF,0xAA,0xBB,0xC8, + 0x00,0x20,0xAA,0x0C,0xE1,0x7A,0x0B,0x42,0x21,0x40,0x0A,0x03,0x12,0x2E,0x3C,0x5E, + 0xD8,0xD4,0xE7,0xB7,0x48,0x7B,0x0F,0x57,0x89,0x23,0x27,0xAF,0x3D,0xD1,0x97,0x65, + 0x37,0x4B,0x08,0xF9,0xDD,0xC5,0x68,0x20,0x00,0xDB,0xA4,0xE0,0x8D,0xD4,0x5B,0xAA, + 0x05,0xB0,0xEA,0x03,0x6F,0x74,0x6E,0x6E,0x7D,0x37,0x04,0x72,0xA3,0x23,0x17,0x3D, + 0x37,0x59,0x29,0xBE,0xD0,0x4B,0x05,0x01,0x14,0x05,0x21,0x38,0xE5,0x1E,0x55,0x76, + 0x27,0x2F,0x2F,0x4F,0x42,0x83,0xB9,0x50,0x46,0x99,0xBD,0xBA,0xCD,0xE1,0x5A,0x9C, + 0xA0,0x85,0x11,0xEB,0x0B,0xF0,0x26,0xE3,0x2E,0xE9,0xAD,0x94,0x12,0x3D,0x75,0x91, + 0xBF,0x53,0x07,0xB2,0xC8,0x8D,0x8E,0x4C,0xF4,0xDC,0x64,0x04,0xA6,0xDE,0x78,0xE3, + 0x0D,0xAF,0xC2,0xC5,0x35,0x34,0x6D,0xDA,0x34,0x87,0x2F,0xE1,0x62,0x3A,0x86,0x7A, + 0xFC,0x50,0xA7,0x87,0xD4,0x18,0x72,0x9B,0x83,0xBD,0x20,0x5F,0x0F,0x14,0x6D,0xC0, + 0xED,0xDD,0xB7,0x6F,0x9F,0x4F,0xBF,0x1D,0xCB,0xB1,0x50,0xF5,0xA2,0xB7,0x95,0x8A, + 0x02,0xDA,0x97,0xA8,0x17,0xF5,0x03,0xC5,0x8D,0x1E,0x38,0xE6,0x67,0xD4,0xDC,0xCE, + 0xC6,0xA0,0xA6,0x7D,0xD8,0x3D,0xBF,0xD7,0x75,0x93,0xB1,0x99,0x9D,0x37,0x50,0xAB, + 0xEC,0x5E,0x39,0xA5,0x47,0xA8,0xEB,0x98,0xB5,0x30,0x24,0xDE,0x60,0x2F,0xC8,0xF7, + 0x86,0xFB,0x72,0x41,0x5F,0x60,0x3F,0x24,0x6F,0xAB,0x91,0x00,0xE6,0x3A,0xCF,0x3E, + 0xFB,0xAC,0xA4,0xAE,0xC8,0xC2,0x8E,0xE6,0xFD,0x47,0xDE,0xC9,0xEE,0x78,0xF2,0x5D, + 0x96,0xDB,0xA5,0x50,0x9C,0x25,0xEC,0x02,0x7A,0x7A,0xC3,0x83,0xEA,0x31,0xE8,0x46, + 0xDE,0x65,0x45,0x9C,0xE6,0x6E,0xF2,0x9F,0xFF,0xFC,0x67,0xA6,0xB5,0x87,0x90,0x1A, + 0x58,0x51,0x75,0xAD,0xB2,0x37,0x90,0x1E,0xC2,0x14,0x4D,0x59,0x4D,0x14,0x2E,0x3C, + 0x7E,0xF9,0x6F,0xFF,0x5E,0x2C,0x7D,0xB1,0xE3,0x94,0x38,0x72,0xF2,0xEC,0xFD,0xDD, + 0x58,0xCF,0x0E,0xF5,0xBD,0x6A,0x43,0x8D,0xEC,0xCA,0x48,0xC5,0xC5,0xC5,0x3E,0xE7, + 0x20,0x6A,0xB0,0x3C,0xCB,0xDB,0x52,0x2E,0x85,0x61,0xC3,0x86,0xB1,0xAB,0xAF,0xBE, + 0xDA,0xE5,0xDF,0x3D,0x7A,0xF4,0x84,0x74,0xAC,0xA4,0x98,0xAD,0xFA,0xDB,0xAF,0xD8, + 0xB9,0x0A,0xD7,0xF7,0x82,0xB0,0x16,0xE8,0xE3,0x3D,0xFC,0x9E,0xA7,0x58,0x46,0x4E, + 0x2E,0xEF,0xED,0x2D,0x4E,0x73,0xE0,0x26,0xFB,0xB2,0xB6,0x48,0x05,0xE1,0x1A,0x30, + 0xB3,0xE1,0xF5,0x7D,0xF7,0xDD,0x27,0xF5,0xEC,0xD9,0xD3,0xB0,0x95,0x0E,0x24,0xEA, + 0x39,0xAF,0xC7,0x2F,0x7F,0x6E,0xC9,0x6E,0xE9,0xC3,0x8D,0xC7,0xC4,0x91,0x93,0x70, + 0x8B,0x77,0xFA,0xF4,0xE9,0x52,0xDB,0xB6,0x6D,0x4D,0x77,0x9E,0x87,0xBB,0x8D,0xE0, + 0x84,0xD6,0x1E,0x32,0x6A,0x60,0xA9,0x51,0x95,0x05,0xD7,0x5B,0x9C,0xE2,0x1C,0x3E, + 0x7C,0x5C,0xDA,0xB6,0x6A,0x09,0xDB,0xF2,0xBF,0x57,0xD9,0xA5,0xDA,0x0B,0xE2,0x2C, + 0x61,0x05,0xE0,0x22,0xF7,0xBF,0x79,0x2A,0xEB,0x34,0x70,0x94,0xEC,0x35,0x65,0xBA, + 0x7C,0x6E,0x08,0x60,0xA2,0x06,0xA0,0xA4,0xA4,0x44,0x9C,0xD1,0x06,0x11,0x65,0x74, + 0xC0,0x50,0x07,0x31,0x7D,0x81,0xF4,0x90,0x2C,0x74,0xFC,0xDB,0x61,0xD1,0x83,0x69, + 0xF1,0xCE,0x9A,0xDC,0x99,0x0D,0xEA,0xEE,0xFA,0x06,0x85,0x92,0x86,0xBC,0x61,0x98, + 0xEF,0x40,0xC0,0xBE,0x3E,0x48,0xDC,0x81,0xD1,0x11,0xC1,0xDD,0x0A,0x23,0x22,0x7D, + 0xBA,0xEC,0x14,0xFB,0xE4,0xCD,0xA7,0xD8,0xC1,0x6F,0xD6,0x89,0xB3,0x44,0x38,0x69, + 0x7F,0xE5,0xF5,0xEC,0x9A,0xDB,0x7E,0xC9,0x52,0x52,0x9B,0xB2,0xB4,0x74,0xD7,0x1B, + 0x2E,0x3C,0x2E,0x58,0x5B,0x6F,0xC5,0x3B,0x00,0x3B,0x76,0xF8,0x93,0x9F,0x45,0xE5, + 0xDF,0xFE,0xFD,0xFB,0xD9,0xBC,0x79,0xF3,0xC2,0xA2,0x07,0xD3,0xE2,0x7D,0x78,0x42, + 0x47,0x76,0x43,0xFF,0xFA,0x79,0x44,0x38,0x90,0x2D,0xA3,0x74,0xF7,0xDD,0x77,0xFB, + 0xBD,0x5E,0xD2,0xA8,0x1B,0x8D,0x34,0x01,0xCA,0x2F,0xDD,0x4B,0xE1,0xE0,0x4A,0x1F, + 0xF9,0x6E,0x2B,0xFB,0xF2,0xDD,0x97,0xD8,0xC9,0x43,0xDF,0x89,0xB3,0x44,0x28,0xC1, + 0xF2,0xBD,0xAB,0xC7,0x3F,0x2C,0xBB,0xC8,0x6D,0x64,0x17,0x39,0xC3,0xE5,0xF3,0xC1, + 0xDC,0x16,0x0B,0xE7,0xBD,0xA5,0x0B,0x81,0x3F,0x6E,0xB2,0x1A,0xA4,0x87,0xE4,0x6B, + 0x49,0xB3,0x54,0x32,0x14,0xD8,0x52,0xBC,0x08,0x12,0x60,0xDF,0x97,0xAD,0x5B,0xB7, + 0xFA,0xFD,0x3A,0x8C,0xBA,0xD1,0x00,0xED,0x4D,0xD0,0x48,0xCC,0xDD,0x95,0x3E,0x22, + 0xBB,0xD2,0xC7,0x0F,0xEC,0x62,0xEB,0x97,0xBD,0xC4,0x8E,0x97,0x6C,0x17,0x67,0x89, + 0x60,0x82,0x00,0x62,0xE1,0x98,0x9F,0xB1,0xD4,0xAC,0x56,0x2E,0xDB,0x8D,0x00,0x78, + 0x56,0x10,0xAD,0xB7,0xE6,0x70,0x0A,0xFE,0xB8,0xC9,0x6A,0x90,0x1E,0x7A,0xF5,0xD5, + 0x57,0x51,0x3B,0x1F,0x36,0x2D,0x78,0x15,0xEF,0xDF,0xDE,0x2F,0x91,0xFE,0xF9,0xB1, + 0x6B,0x64,0xCE,0x0A,0xE2,0x05,0xB2,0x5B,0x2B,0x21,0xF7,0xDB,0x90,0x28,0x9F,0x51, + 0x37,0x1A,0xA0,0x72,0x0B,0xAE,0xB4,0xD6,0x5D,0x1A,0x22,0xAE,0x38,0x71,0x84,0x7D, + 0xF6,0xD6,0xF3,0xEC,0xE8,0xEE,0xCD,0xE2,0x2C,0x11,0x48,0xF2,0x7A,0x14,0xB1,0x41, + 0xE3,0x67,0xB0,0xC4,0xA6,0xA9,0x2C,0x27,0xC7,0x55,0xB4,0x00,0x39,0x7B,0x78,0x53, + 0xBE,0x5C,0x64,0xE0,0xAF,0x9B,0xAC,0x46,0xBE,0x99,0x4B,0xC8,0x7E,0xA8,0xEB,0xE5, + 0x43,0x8D,0x57,0xF1,0xBE,0xB6,0x72,0xBF,0xF4,0xC6,0x87,0x07,0xC5,0x91,0x13,0xAB, + 0x88,0x37,0x90,0x77,0x3E,0x7C,0xF0,0x98,0x1B,0x79,0x4B,0xD8,0x2B,0x20,0x71,0x0F, + 0x2B,0xAC,0xE5,0x2A,0x1D,0x3D,0x7C,0x42,0xAA,0x3C,0x7D,0x42,0xB6,0xC4,0xFF,0xC7, + 0x4A,0xBE,0xF6,0xED,0x96,0x13,0xBE,0xB9,0x62,0xE0,0x28,0x36,0x70,0xF4,0xFD,0x2C, + 0x21,0x29,0x51,0x7E,0xEF,0x3D,0x45,0x8B,0xDE,0x52,0xC8,0xD7,0xA3,0x11,0xBF,0x2F, + 0x70,0x03,0xC6,0x67,0xD7,0xD0,0x55,0x3F,0xF8,0x9D,0xF2,0x94,0x0D,0x16,0x3E,0xAC, + 0x3A,0x30,0x2D,0xDE,0x69,0xB7,0xB4,0x67,0x37,0x0F,0x0A,0x5F,0x25,0x89,0x1A,0xF9, + 0x0E,0x2A,0xC9,0x22,0x0E,0xC8,0x06,0x4E,0xB0,0xC2,0x58,0x0A,0xB6,0x63,0xC7,0x0E, + 0x71,0xC6,0x3B,0x28,0x00,0x19,0x3C,0x78,0xB0,0x66,0xA1,0x7A,0x69,0xE9,0x09,0xA9, + 0xEA,0xCC,0x19,0xB6,0x7E,0xF9,0x9F,0x59,0xC9,0xB6,0x4F,0x29,0x3A,0x6D,0x12,0x44, + 0x8F,0xDB,0xF7,0x19,0xCE,0xFA,0x8F,0xBE,0x8F,0x25,0x26,0x26,0xB2,0xCC,0x2C,0xCF, + 0xB4,0x20,0x04,0x04,0x4B,0x5B,0x5A,0x5A,0x2A,0xCE,0x78,0xA7,0x6F,0xDF,0xBE,0xEC, + 0xE6,0x9B,0x6F,0x0E,0xC8,0x75,0xEB,0x6F,0xC6,0x23,0xD0,0x98,0x16,0xEF,0x1D,0xC3, + 0x73,0xD9,0x5D,0x23,0xEA,0x7B,0xFC,0x84,0x93,0x60,0x44,0xFB,0x30,0x17,0xC6,0xBC, + 0xC9,0xC8,0x9D,0x1C,0xC0,0x12,0xC3,0x9D,0xD6,0xBA,0x81,0x1C,0x3F,0x56,0x26,0xD5, + 0xD4,0x5E,0x62,0x87,0xBE,0x59,0xCF,0xBE,0x5E,0xF3,0x2F,0x72,0xA9,0x7D,0x00,0xD7, + 0xB8,0xEB,0xD5,0x63,0x58,0x76,0x87,0x3E,0xB2,0x95,0x8C,0x65,0xCD,0x9A,0xA5,0x7A, + 0xBC,0xA7,0x58,0xFE,0x09,0x2F,0xC9,0xA8,0x68,0xB1,0x65,0x0E,0xAC,0xAD,0xBF,0x73, + 0x5B,0x2D,0xBC,0x35,0x88,0x08,0x25,0xB6,0x16,0x2F,0x08,0x56,0x41,0xB8,0x19,0x57, + 0x1A,0x78,0x13,0x31,0x80,0x4B,0x5D,0x53,0x7B,0x91,0x7D,0xF3,0xE9,0x32,0x56,0xFC, + 0xF9,0xBB,0xAC,0xB2,0xEC,0x88,0xF8,0x4A,0x74,0x83,0xC2,0x8A,0x1E,0x43,0x27,0xB2, + 0x0E,0xFD,0x6E,0x60,0xB1,0xB1,0x0E,0x4D,0xD7,0x18,0x20,0x48,0x09,0x4B,0xEB,0x2B, + 0x82,0xAC,0xE0,0x2D,0x46,0xD1,0x10,0xC2,0x9D,0x1E,0x52,0xE3,0x55,0xBC,0xEF,0x7C, + 0x72,0x58,0x5A,0xF8,0xEE,0x3E,0x71,0xE4,0xC4,0x6A,0xE2,0x0D,0xA6,0x0B,0x63,0xD6, + 0x95,0x06,0x88,0x62,0xE2,0xA2,0xD1,0x9B,0x57,0x55,0x54,0x9E,0x97,0xCE,0x56,0x56, + 0xB1,0xB3,0xE5,0xC7,0xD9,0xD7,0x1F,0x2F,0x61,0x7B,0x37,0x7F,0x18,0x75,0xAB,0x98, + 0xB0,0x39,0x35,0xF2,0xB3,0xBD,0x87,0xDF,0xC5,0xE2,0x13,0x92,0x3C,0x0A,0x2B,0xD4, + 0x98,0x15,0x2D,0x40,0x79,0x23,0x52,0x40,0xEE,0xD9,0x81,0x40,0x10,0xC8,0xA9,0x5A, + 0x43,0xF1,0x2A,0xDE,0xFF,0x6D,0x38,0x26,0x3D,0xBF,0x74,0xB7,0x38,0x72,0x62,0x35, + 0xF1,0x86,0xA2,0xCA,0x05,0xAE,0x34,0x44,0x6C,0xD4,0x55,0x03,0x58,0x76,0x88,0xA8, + 0x26,0x1A,0x09,0xA0,0x61,0x9E,0x38,0xED,0xC2,0xA9,0x53,0x67,0xA4,0x8B,0x17,0x25, + 0x76,0xE6,0x58,0x09,0xFB,0x7E,0xDB,0x1A,0x76,0x60,0xE7,0xFA,0x88,0x4D,0x39,0x21, + 0xC5,0xD3,0xBA,0x73,0x7F,0xD6,0xB6,0xFB,0x60,0x96,0x9C,0x91,0xCD,0x9A,0x24,0xC4, + 0xB3,0xF4,0xF4,0x64,0xCD,0xF7,0x05,0x75,0xE6,0x58,0x84,0x82,0x9B,0xA6,0x51,0xCF, + 0x07,0xC0,0xFB,0x41,0x5E,0x3E,0x90,0x2E,0xB2,0x9A,0x15,0x2B,0x56,0x48,0xA8,0xAD, + 0x97,0xAF,0x05,0x4B,0x5C,0xFF,0xB6,0x17,0x2F,0x98,0x34,0x69,0x92,0x34,0x64,0xC8, + 0x10,0xBE,0x10,0x41,0x9C,0x0A,0x0A,0x66,0x83,0x24,0x0A,0x28,0xF6,0x40,0xC0,0x04, + 0xF9,0x62,0x3D,0x6B,0x70,0xB6,0xEA,0xA2,0x54,0x21,0x5B,0x97,0x98,0xD8,0xC6,0xEC, + 0xE4,0xC1,0x5D,0xEC,0xFB,0xAD,0x9F,0xB0,0x23,0xDF,0x6D,0xB6,0xAD,0x98,0x51,0x44, + 0xD1,0xEA,0x8A,0x2B,0x59,0xBB,0x9E,0x45,0x2C,0xBD,0x55,0x47,0x76,0xB9,0xF6,0x1C, + 0x4B,0x69,0x9A,0xCA,0x92,0x93,0xE2,0x35,0xFF,0x7E,0x94,0x31,0x42,0xB0,0x78,0x98, + 0xB1,0xB2,0xC0,0xD7,0x94,0x25,0x50,0x34,0xB4,0x38,0x28,0xD0,0x44,0x84,0x78,0x03, + 0x51,0xB4,0x61,0x06,0x7F,0x45,0x0C,0x50,0x3B,0x0D,0x11,0xFB,0x4A,0x57,0x70,0xF7, + 0xBA,0xA2,0x52,0xFE,0x54,0xE2,0xD8,0xF1,0xFD,0xDB,0xB9,0x55,0x3E,0xB6,0x6F,0x3B, + 0x3B,0x7B,0xAA,0xD4,0x72,0xF3,0x65,0xCC,0x5B,0x9B,0xA4,0x34,0xE3,0x62,0x6D,0xD3, + 0xB5,0x90,0x65,0xE6,0x76,0x66,0x92,0x3C,0xBF,0x4F,0x49,0xD3,0x17,0xAB,0x02,0x3E, + 0x3B,0x08,0xD6,0x48,0xAE,0xDD,0x9D,0x50,0x89,0x16,0xC0,0xFB,0x1A,0x3A,0x74,0x68, + 0x50,0x3D,0x3C,0xB3,0x98,0x16,0xEF,0xF0,0x7E,0x2D,0xD8,0x2F,0x26,0x6A,0xF7,0xF1, + 0x09,0x27,0xE1,0x48,0x9A,0xE3,0x03,0x85,0x88,0xFD,0xB9,0xF0,0x10,0x50,0x81,0x5B, + 0x0D,0x31,0x23,0xED,0xE4,0x6B,0x7E,0x06,0x31,0x57,0x55,0x9C,0x65,0x92,0xC3,0xC1, + 0x1A,0xC5,0x35,0x61,0x67,0x8E,0xEF,0x67,0xE7,0x2A,0x4E,0x72,0xEB,0x5C,0x5E,0x5A, + 0xC2,0x57,0x3C,0x05,0x33,0x9A,0x8D,0xB5,0xCD,0xCD,0xF3,0xBB,0xB2,0x94,0x66,0x2D, + 0x59,0xD3,0x66,0x39,0x5C,0xA4,0x10,0x6C,0x72,0x46,0x0E,0xBB,0x74,0xF1,0xBC,0x7C, + 0xF1,0x48,0x86,0xC4,0x0A,0x0B,0x8B,0xF7,0x0B,0x4B,0x31,0x51,0x09,0x65,0xA4,0xA8, + 0xC2,0x1D,0xBC,0x5F,0x10,0x6D,0x28,0xCB,0x12,0xAD,0x92,0x1E,0x52,0x13,0x31,0xE2, + 0x0D,0x67,0xB9,0x5A,0x43,0x44,0xAC,0x00,0xD7,0x1A,0x17,0xA5,0xF2,0x30,0x1A,0x6C, + 0x81,0xBB,0x7D,0xEE,0xEC,0x59,0x76,0xA9,0xF6,0x12,0x8B,0x89,0x4F,0x64,0x17,0xCE, + 0x9D,0x66,0xE7,0xCA,0x4F,0x88,0xAF,0x3A,0xA9,0x3E,0x5F,0xC1,0x45,0x6E,0x04,0x88, + 0x32,0xD6,0xAD,0x09,0x41,0xD3,0xE6,0x6D,0x59,0x4C,0xA3,0x46,0xB2,0x35,0xBD,0xC0, + 0xE2,0xE2,0x63,0x59,0x42,0x62,0x92,0x4F,0x91,0x2A,0x20,0xE8,0x07,0xA1,0xE2,0xBD, + 0xC1,0xC3,0xAC,0x4B,0xAC,0x26,0x1C,0xA2,0x55,0x90,0x7F,0x77,0xC8,0xDB,0xDC,0xF8, + 0x22,0x62,0xC4,0x0B,0x42,0xD9,0xF0,0x5A,0x0B,0x88,0x58,0x09,0xB4,0xF8,0x63,0x51, + 0xD4,0x40,0xCC,0x8A,0x55,0x0E,0x84,0x5B,0x08,0x91,0x8B,0xA1,0x57,0x8C,0x8A,0x52, + 0x0F,0x88,0x55,0x11,0x2A,0x1E,0x46,0xF3,0xE5,0xDE,0xC0,0x34,0x03,0x31,0x83,0x70, + 0x2D,0x00,0xC0,0x26,0xD9,0xDB,0xB6,0x6D,0x63,0x0B,0x17,0x2E,0xB4,0xD4,0x75,0xEF, + 0x55,0xBC,0x9F,0x6F,0x3F,0x29,0xCD,0x5E,0xE4,0x5A,0xE4,0x6D,0x65,0xF1,0x5A,0x29, + 0x07,0xD7,0x90,0xB9,0x9C,0x16,0x88,0x5E,0x43,0xD0,0x98,0xE7,0x61,0x8C,0xE2,0x03, + 0xA4,0xA5,0xCC,0x34,0x25,0x08,0x24,0x27,0x4E,0x9C,0x90,0xB0,0xA8,0x03,0x5D,0x29, + 0xF0,0x8C,0xF9,0x3F,0x84,0x6A,0x64,0xA1,0x87,0x11,0xF0,0xF7,0x21,0xE5,0xD3,0xAF, + 0x5F,0xBF,0xB0,0x7F,0x96,0xE1,0x36,0x0A,0x7A,0x78,0x15,0xEF,0xB6,0x3D,0xA7,0xA5, + 0x5F,0xBE,0xE4,0x9A,0xE3,0xB4,0xB2,0x78,0x81,0xD5,0xDC,0x9B,0x86,0x44,0x51,0x8D, + 0x82,0x0B,0x1D,0x82,0x86,0xB0,0x31,0xC6,0x52,0x37,0x35,0x66,0x2D,0x16,0x3C,0x08, + 0x31,0xE4,0x20,0x5D,0x03,0x71,0xAA,0x85,0x1A,0x0C,0x70,0x33,0x82,0x60,0xF1,0x08, + 0xD7,0x4D,0xC9,0x1D,0x2C,0x1F,0x45,0xE3,0x43,0x79,0x5A,0x64,0xB9,0x6B,0x3E,0xE2, + 0xC4,0x3B,0x6B,0xD6,0x2C,0xFE,0x17,0xC9,0x6F,0xB8,0xE5,0x5E,0x23,0xF2,0x97,0x9B, + 0x36,0x6D,0xE2,0x81,0x1A,0x33,0xF9,0xCB,0x40,0x03,0x71,0x43,0xE4,0x20,0x50,0x9E, + 0x81,0xBF,0x28,0xF9,0x70,0xB8,0xC5,0x56,0x9A,0x4F,0x2A,0x58,0x2D,0x3D,0xA4,0xC6, + 0xB4,0x78,0x8B,0x7A,0x67,0xB1,0xC7,0xEF,0xEC,0x64,0x59,0xF1,0x86,0xBB,0x35,0x89, + 0x51,0x90,0x6E,0x52,0xE6,0x85,0xC1,0xB2,0x64,0x56,0x05,0x37,0x0E,0xCC,0xE5,0xF1, + 0xD0,0xDB,0x81,0xC0,0x0A,0x58,0xFD,0x5A,0x32,0x2D,0xDE,0x9E,0x1D,0x52,0xD9,0xB3, + 0xF7,0x77,0xB7,0xB4,0x30,0xC2,0xD9,0x14,0xCC,0x5F,0x22,0x59,0xCC,0x76,0x11,0xAB, + 0x3B,0x8F,0x3D,0xF6,0x98,0x94,0x9A,0x9A,0xCA,0x66,0xCE,0x9C,0x49,0xE2,0x0D,0x15, + 0xA1,0x2E,0xDA,0x08,0x06,0x8A,0x98,0x91,0x66,0x09,0x44,0xC4,0x36,0x94,0x60,0xEE, + 0xAD,0x88,0xD5,0x0A,0x35,0xC0,0xFE,0x22,0xBF,0x7E,0xCB,0xA5,0x87,0xD4,0x44,0xA4, + 0x78,0x81,0x95,0xE7,0x2A,0xFE,0xA0,0x44,0x77,0x21,0x68,0x3C,0x43,0xD0,0xB0,0xD0, + 0xE1,0x9A,0x3B,0xA3,0xC8,0x04,0x22,0x45,0x04,0x1C,0xF3,0x56,0x08,0x15,0xCF,0x7A, + 0x75,0xDC,0x76,0x03,0x9B,0x64,0xBF,0xFB,0xEE,0xBB,0xD8,0xE5,0xDE,0xB2,0x7F,0x8F, + 0x57,0xF1,0x1E,0x38,0x76,0x4E,0x9A,0x32,0xC7,0x35,0xB9,0x6F,0x17,0xF1,0x5A,0xA1, + 0xC7,0x50,0xA8,0x40,0x74,0x18,0x91,0x6C,0x3C,0x90,0x5F,0x76,0x6F,0x2A,0xAE,0x75, + 0x4E,0x0F,0x88,0xD0,0x1D,0xE5,0x1C,0xA2,0xC1,0x78,0x84,0x2B,0xDF,0x1A,0x4A,0xAC, + 0x9A,0x1E,0x52,0xE3,0x55,0xBC,0xA5,0xA7,0xAA,0xA5,0xBB,0xFE,0xB0,0x49,0x1C,0x39, + 0xB1,0x8B,0x78,0x81,0x1D,0x3E,0x00,0xC2,0x7A,0xD8,0x65,0xDA,0xA5,0x16,0xAF,0xA1, + 0xED,0x4E,0xEC,0x84,0xD9,0xED,0x51,0x08,0x02,0xCC,0x99,0x33,0x87,0x3D,0xFA,0xE8, + 0xA3,0xE2,0xC8,0x1E,0x44,0x9C,0x78,0xE5,0xBB,0xA7,0x03,0x35,0xC7,0x08,0xF9,0x8B, + 0x53,0x04,0xE1,0x15,0x5C,0x2B,0xE1,0xDC,0x24,0xDB,0x5F,0x22,0x4E,0xBC,0xE0,0xDE, + 0x7B,0xEF,0x25,0xEB,0x4B,0x18,0x26,0xDC,0x9B,0x64,0xFB,0x4B,0x44,0x8A,0x17,0xBB, + 0xE5,0x2F,0x5D,0xBA,0x54,0x1C,0x11,0x84,0x77,0x5E,0x7E,0xF9,0xE5,0xB0,0x6F,0xD7, + 0xE9,0x0F,0x11,0x29,0x5E,0xE4,0xE8,0xB0,0x71,0x18,0x16,0x2D,0x88,0x53,0x04,0xA1, + 0x09,0x32,0x14,0xA8,0xAB,0xB6,0x6A,0x5E,0xD7,0x1B,0x11,0x29,0x5E,0x80,0x7C,0x2F, + 0xD2,0x46,0x04,0xE1,0x0D,0x3B,0x06,0xAA,0x14,0x22,0x56,0xBC,0x48,0x15,0x21,0x57, + 0x89,0x3B,0xAB,0x38,0x45,0x10,0x2E,0x20,0x3D,0x84,0x82,0x97,0x40,0xB7,0x8A,0x0D, + 0x15,0x11,0x2B,0x5E,0x10,0xC1,0x69,0x23,0xDC,0x90,0x42,0xFA,0x40,0xD9,0xA0,0xFC, + 0x1C,0x51,0x60,0xAE,0x8B,0xE0,0xA6,0x5D,0x89,0x68,0xF1,0x62,0x43,0x32,0x54,0x20, + 0xE1,0x0E,0x2B,0x4E,0x11,0x04,0x07,0xE9,0x21,0xB4,0xF6,0xB5,0xD3,0x42,0x16,0x77, + 0x3C,0x5E,0xB8,0xDD,0x2B,0xAC,0xDC,0xB1,0x43,0xBD,0xAA,0x1F,0xF0,0x9B,0xD1,0xF0, + 0x9F,0xAF,0xE5,0x07,0xC1,0xE4,0x7C,0xC5,0x51,0xF6,0xD9,0x2B,0xE3,0x79,0xB9,0xA4, + 0x55,0x97,0xC9,0xF9,0x83,0x95,0x3A,0xB0,0x98,0x21,0xA2,0x2B,0xAC,0xDC,0x41,0xE2, + 0x1D,0x09,0x78,0x2A,0xDA,0x20,0xD4,0x60,0x3A,0x65,0xC7,0xF4,0x90,0x9A,0x88,0x17, + 0x2F,0xC0,0x87,0x84,0xA8,0x22,0x41,0x00,0x25,0x3D,0x64,0xF7,0xC5,0x16,0x51,0x21, + 0x5E,0x54,0xCF,0x2C,0x5F,0xBE,0x5C,0x1C,0x11,0xD1,0x8E,0xDD,0x03,0x55,0x0A,0x51, + 0x21,0x5E,0x2A,0xDA,0x20,0x14,0x10,0xBC,0xC4,0x9A,0xE8,0x70,0xEE,0x6E,0x1F,0x28, + 0xA2,0x42,0xBC,0x80,0x56,0x1B,0x11,0x00,0x85,0x3B,0x28,0xE0,0x89,0x04,0xA2,0x46, + 0xBC,0x98,0xDF,0x60,0x9E,0x43,0x45,0x1B,0xD1,0x0D,0x16,0x21,0x58,0x69,0xFB,0x92, + 0x86,0x10,0x35,0xE2,0x05,0x28,0x83,0xA3,0xC0,0x55,0xF4,0x82,0x69,0x13,0x16,0xAD, + 0x44,0x0A,0x51,0x25,0x5E,0x94,0xC1,0xA1,0x1C,0x8E,0x8A,0x36,0xA2,0x93,0x48,0x09, + 0x54,0x29,0x44,0x95,0x78,0xC1,0xAC,0x59,0xB3,0xD0,0x9C,0x5D,0x1C,0x11,0xD1,0x02, + 0x36,0xC9,0x46,0xA1,0x89,0x9D,0x3B,0x5B,0xBA,0x13,0x75,0xE2,0x45,0x67,0x49,0x6C, + 0x43,0x42,0x45,0x1B,0xD1,0x45,0xA4,0x59,0x5D,0x10,0x75,0xE2,0x05,0x54,0xB4,0x11, + 0x5D,0x28,0x3B,0x39,0x46,0x4A,0x4B,0x60,0x85,0xA8,0x14,0x2F,0x75,0xDA,0x88,0x2E, + 0x22,0xA1,0x14,0x52,0x0B,0x0F,0xF1,0x1E,0x2B,0x0F,0xDF,0x66,0x58,0xA1,0x02,0xBB, + 0xD1,0xA1,0xEA,0x8A,0x8A,0x36,0xA2,0x03,0xDC,0xA8,0x23,0x29,0xCA,0xAC,0x10,0x95, + 0x96,0x17,0xD8,0x35,0x6D,0x84,0xED,0x43,0xC5,0x30,0xA4,0x84,0x73,0x87,0xC3,0x86, + 0x80,0x4D,0xB2,0x51,0x5D,0x67,0x95,0xED,0x43,0x03,0x49,0xD4,0x8A,0x17,0x25,0x93, + 0x03,0x07,0x0E,0xB4,0x4D,0xD1,0x06,0xE6,0x6D,0xD3,0xA7,0x4F,0x97,0xF2,0xF3,0xF3, + 0xC5,0x99,0xD0,0x82,0x92,0xC2,0xB4,0xB4,0x34,0x09,0x1B,0x71,0xD9,0x29,0xD8,0x17, + 0x89,0x81,0x2A,0x85,0xA8,0x15,0x2F,0xB0,0x43,0xDA,0x68,0xDD,0xBA,0x75,0x92,0xEC, + 0xE2,0x73,0xD1,0xCE,0x9B,0x37,0x8F,0x6F,0x6F,0x92,0x99,0x37,0x80,0xF5,0xF9,0xE1, + 0xF3,0xE2,0x3B,0x82,0x4B,0x93,0xA6,0x39,0xAC,0xD7,0x0F,0x9E,0x66,0x19,0xB9,0xBD, + 0xF9,0xEF,0x7E,0xE6,0x99,0x67,0x70,0xE3,0x83,0x1B,0x2A,0x59,0x3D,0x5F,0x8E,0x4D, + 0xB2,0xB1,0x55,0x4B,0xA4,0xEE,0x9E,0x11,0xD5,0xE2,0x55,0x3E,0x54,0x2B,0x5E,0x84, + 0xD8,0x31,0xB0,0xA8,0xA8,0x88,0xEF,0x15,0xAB,0x04,0xD7,0x5A,0x76,0x1D,0xC9,0x0A, + 0xEF,0x5C,0xC4,0x85,0x0B,0x01,0x87,0x8A,0xE6,0x1D,0xAE,0x66,0x7D,0xC7,0xFF,0x89, + 0x0D,0x98,0xF8,0x32,0xCB,0xEE,0x34,0x8C,0x9F,0x43,0x99,0xA1,0xFC,0xFE,0xB1,0x11, + 0x23,0x46,0x58,0xD6,0x12,0x47,0x6A,0xA0,0x4A,0xC1,0xE3,0x8E,0xA4,0xB5,0x4B,0x60, + 0xDF,0xCE,0xE9,0xEC,0xA9,0x9F,0x76,0x8D,0xC8,0xBB,0x17,0xDC,0x66,0xAB,0x6D,0x4E, + 0xF6,0xF4,0xD3,0x4F,0x4B,0xF0,0x08,0x30,0xCF,0x8C,0x6D,0x9C,0xCC,0x72,0x7B,0x8E, + 0x61,0x6D,0x7A,0xDF,0xCA,0x1A,0x27,0x65,0x88,0xEF,0x08,0x2F,0xE8,0xAE,0x71,0x60, + 0xF3,0x5B,0xEC,0xF0,0xCE,0x0F,0x58,0xED,0x85,0xB3,0x7C,0x23,0xB2,0xB9,0x73,0xE7, + 0xF2,0xDD,0x2A,0xC4,0xB7,0x84,0x1D,0xDC,0x50,0xEC,0xB0,0xE1,0xBA,0x59,0x4C,0x77, + 0xD2,0xC8,0x48,0x89,0x17,0xA3,0xC8,0x03,0xB9,0x3F,0xAB,0x74,0xDA,0x80,0xB5,0x95, + 0xE7,0xE1,0xD2,0xCC,0x99,0x33,0xB9,0x70,0x61,0x69,0xAF,0x99,0xF2,0x36,0xEB,0x38, + 0xF8,0x3E,0xCB,0x08,0x17,0xC0,0x95,0xEE,0x54,0xF4,0x20,0x1B,0x34,0xE9,0x1F,0xDC, + 0x2A,0xC3,0x9D,0xC6,0x26,0x5D,0x78,0xED,0xF8,0x1B,0xC4,0xB7,0x85,0x15,0x58,0xDD, + 0x48,0x9D,0xEB,0x2A,0x44,0xB5,0xDB,0xAC,0x60,0x85,0xC8,0x33,0xAC,0x6D,0x2F,0xD9, + 0x0D,0xC5,0x8D,0x04,0x42,0x85,0x6B,0xDC,0xED,0x86,0xC7,0xB9,0xE5,0xB5,0x2A,0x78, + 0x9D,0x98,0x0F,0xE3,0xB5,0x62,0x8C,0xD7,0x0E,0x57,0x1A,0x7F,0x8B,0xF8,0x96,0xB0, + 0x11,0xA9,0xE9,0x21,0x35,0x24,0x5E,0x19,0x2C,0x11,0xC3,0x87,0x1D,0xAE,0x34,0x0C, + 0x36,0x05,0x87,0xB5,0xBD,0x20,0x5B,0xDB,0xB6,0x7D,0x6E,0xE5,0x16,0x2D,0x94,0x73, + 0xDA,0x86,0x82,0xD7,0x8A,0xD7,0x0C,0x4F,0x01,0x1E,0x03,0xFE,0x16,0x04,0xB4,0xC4, + 0x97,0x43,0xCE,0xA2,0x45,0x8B,0x10,0x2F,0xB0,0xE5,0x2E,0x08,0x66,0xF0,0x10,0x6F, + 0x59,0xC5,0x45,0x31,0x8A,0x2E,0x50,0xB4,0x81,0x20,0x4C,0x28,0xC1,0xCD,0x02,0xAE, + 0x26,0x5A,0xF4,0xC0,0x72,0x21,0x20,0x04,0x77,0xD4,0xCA,0xD6,0x56,0x0F,0xBC,0x66, + 0x78,0x0A,0x08,0x6C,0xC5,0xC9,0x63,0xBC,0x97,0x08,0x66,0x85,0xE3,0x86,0x18,0xE9, + 0x81,0x2A,0x05,0x0F,0xF1,0x5E,0xAC,0xB5,0xC4,0x94,0x25,0xE4,0xC0,0x75,0x0E,0x65, + 0xA7,0x0D,0xE4,0x6D,0x11,0x50,0x81,0xAB,0x89,0x39,0x64,0x7F,0x59,0xB8,0xA9,0x39, + 0x5D,0xC5,0x57,0xED,0x0B,0x52,0x4A,0x7D,0x6F,0xFD,0x13,0xFF,0x9B,0xD0,0x17,0x79, + 0xE8,0xD0,0xA1,0x21,0x8D,0x27,0x28,0x99,0x83,0x48,0x4D,0x0F,0xA9,0x21,0xB7,0x59, + 0x00,0x17,0x2B,0x54,0x9D,0x36,0x70,0x81,0x0D,0x94,0x85,0xBB,0x6B,0xD7,0x2E,0x96, + 0x92,0xD5,0x91,0xA7,0x7F,0x70,0xB1,0x47,0x0A,0xF8,0x9B,0xFA,0xDE,0xFA,0x22,0x7F, + 0xC6,0x82,0x00,0xDC,0xA4,0x42,0x15,0xC8,0x42,0xEC,0xC2,0xAE,0x7B,0x0F,0x99,0x85, + 0xC4,0xAB,0x22,0x14,0x45,0x1B,0x10,0x2E,0x2E,0xE6,0x63,0xA5,0xA5,0x7C,0xAE,0x08, + 0x57,0xD9,0x8E,0x6E,0xB2,0x2F,0x70,0x33,0xEA,0x27,0x5B,0x60,0x58,0xE2,0x92,0x92, + 0x12,0x2E,0x60,0x78,0x1B,0xE2,0xCB,0x41,0x01,0x16,0x1E,0x9E,0x8C,0xDD,0x36,0xC9, + 0xF6,0x17,0x43,0xE2,0x4D,0x6F,0x1A,0x27,0x46,0x91,0x0D,0x5C,0xAD,0x84,0x84,0x04, + 0x5E,0xD5,0x24,0x4E,0x05,0x14,0x5C,0x5C,0x63,0xC7,0x8E,0xE5,0x41,0x1D,0xA4,0x58, + 0x10,0xA5,0x8D,0x89,0x8D,0xDC,0x34,0x1C,0x6E,0x4A,0x7D,0xC6,0x3E,0x5F,0x57,0x9D, + 0x75,0xE3,0x8D,0x37,0x06,0x35,0x28,0x68,0xD7,0x4D,0xB2,0xFD,0xC5,0x90,0x78,0xE3, + 0x1A,0x45,0xC5,0x8D,0x8C,0x13,0xCC,0xB4,0x11,0x84,0x0B,0x2B,0x04,0x77,0xB2,0xC7, + 0xC8,0xE8,0xE8,0xE6,0x81,0x9B,0x13,0xD2,0x49,0xB0,0xC4,0x98,0x26,0x20,0x1F,0x1C, + 0x2C,0x50,0xC7,0x1C,0x0D,0x81,0x2A,0x05,0x72,0x9B,0xDD,0x40,0xD1,0x06,0x2E,0xB2, + 0x40,0xCF,0xD1,0x50,0x9F,0xAC,0xE4,0x70,0x7B,0x8D,0x7E,0x2A,0xA2,0x2D,0xAE,0x3B, + 0xDC,0x02,0xFF,0xF0,0x39,0x1E,0x85,0x46,0x64,0x1D,0x8B,0x1B,0xC4,0x97,0x02,0x86, + 0xB2,0x0B,0x42,0xA4,0xA7,0x87,0xD4,0x78,0x88,0xF7,0x62,0xCD,0x65,0x31,0x8A,0x5E, + 0x50,0x99,0x83,0xBB,0x78,0xA0,0x40,0xD1,0x02,0xF2,0xC8,0x6A,0x2B,0x14,0x6D,0x24, + 0x65,0xB4,0x65,0xDD,0x6F,0x72,0x7A,0x1B,0x58,0xDC,0x80,0x0D,0xE0,0xF8,0x41,0x80, + 0x88,0xA6,0x40,0x95,0x82,0x87,0x78,0xCB,0x2B,0xA3,0x33,0xCF,0xAB,0x06,0x45,0x1B, + 0xB0,0x10,0x81,0x48,0x71,0x60,0xFE,0x8C,0xA2,0x05,0x80,0x3C,0x68,0x24,0xA4,0x83, + 0xFC,0x05,0x01,0x3A,0xE4,0xB1,0x01,0xDC,0xE7,0x40,0x05,0xB0,0x10,0x04,0x44,0x1C, + 0xA1,0xD0,0xA6,0x9B,0x64,0xFB,0x0B,0xB9,0xCD,0x3A,0x60,0x01,0xB7,0xB2,0x9A,0xA7, + 0x21,0x4C,0x9D,0x3A,0x95,0x3F,0xE7,0xF6,0x18,0x53,0xB7,0x22,0x27,0x9A,0x41,0x05, + 0x19,0xDE,0x0B,0x88,0x4D,0xBE,0x49,0x8A,0xB3,0x0D,0x23,0x92,0xD7,0xEC,0x7A,0x83, + 0xC4,0xAB,0x43,0x20,0x8A,0x36,0xD0,0x66,0x07,0x79,0x4E,0xCC,0x73,0x15,0x8B,0x43, + 0x30,0xD6,0xAE,0xF0,0x1E,0xF9,0x3D,0x69,0xC6,0xE7,0xBF,0x0D,0xCD,0xAB,0xC3,0x3B, + 0xB2,0xFB,0x26,0xD9,0xFE,0x62,0x48,0xBC,0x2D,0x32,0x12,0xC4,0x28,0x7A,0x50,0x3A, + 0x6D,0xF8,0x3B,0x37,0xC3,0x45,0xF5,0x8C,0x88,0x5A,0x43,0xB8,0xD1,0x14,0xA0,0xF2, + 0x05,0x6E,0x66,0xED,0x0A,0x9D,0x51,0x67,0xC5,0x33,0xF1,0x17,0x78,0x47,0xF0,0x92, + 0xA2,0x11,0xB2,0xBC,0x5E,0x68,0x48,0xDA,0x08,0xC5,0x1E,0x28,0xC4,0x40,0x8E,0x93, + 0xDC,0x65,0x4F,0xE0,0x3A,0x23,0x65,0x86,0xF6,0x3A,0x0D,0x89,0x3E,0x47,0x4B,0x1D, + 0xB3,0x16,0x1E,0xE2,0xAD,0xB9,0x14,0x90,0x18,0x42,0x44,0x80,0xA2,0x8D,0xEC,0xEC, + 0x6C,0xDE,0x6D,0x5F,0x9C,0x32,0x04,0x02,0x28,0x0B,0x17,0x2E,0xE4,0xD6,0x96,0xDC, + 0x65,0x7D,0xBA,0x8D,0x78,0x9C,0x3F,0xA3,0xBD,0x8F,0x3F,0xA9,0x39,0x25,0x3D,0x64, + 0xF7,0x4D,0xB2,0xFD,0xC5,0x43,0xBC,0xE5,0x15,0x35,0x62,0x44,0x00,0x7F,0xD2,0x46, + 0x8A,0xB5,0x56,0xAC,0x0B,0xA1,0x0D,0xDE,0x1B,0x25,0x78,0xE5,0x4F,0x6A,0x2E,0x5A, + 0x03,0x55,0x0A,0xE4,0x36,0xFB,0x00,0x45,0x1B,0xA8,0x8A,0x52,0x56,0xAB,0xF8,0x02, + 0x73,0x5D,0x04,0x62,0x40,0x5E,0xBF,0x3B,0xF8,0x33,0xA1,0x4F,0xEB,0x9E,0xA3,0xF9, + 0x33,0x3C,0x15,0x33,0xE0,0xF3,0x88,0x94,0x4D,0xB2,0xFD,0x85,0xC4,0x6B,0x00,0x6C, + 0xC6,0x8C,0x3E,0x57,0x46,0x40,0x7D,0xAD,0x52,0xBB,0x8C,0xC0,0x0C,0xE1,0x1D,0x58, + 0x5F,0xC4,0x05,0xF0,0x9E,0x99,0x69,0x82,0x1F,0x49,0x9B,0x64,0xFB,0x8B,0x21,0xF1, + 0x66,0x67,0x34,0x16,0xA3,0xE8,0xC4,0x4C,0xD1,0x86,0xE2,0xFE,0xB5,0x96,0xDD,0x41, + 0xC2,0x18,0xAD,0x7B,0x38,0xAD,0xAF,0xD1,0x1B,0x24,0xC0,0x4D,0x32,0x52,0x36,0xC9, + 0xF6,0x17,0xB2,0xBC,0x06,0x31,0xD2,0x69,0x03,0x01,0x14,0xB8,0xD8,0x28,0x7F,0xB4, + 0x53,0x1B,0x9B,0x70,0xD3,0xBC,0xFD,0x35,0xDC,0x4B,0x41,0x4E,0xDC,0xC8,0x8A,0xAE, + 0x48,0xDB,0x24,0xDB,0x5F,0x3C,0xC4,0x7B,0xB1,0x96,0x6A,0x9B,0xB5,0x40,0x3A,0xC2, + 0x57,0x50,0x45,0xB1,0x1C,0x6D,0xFA,0x8C,0xE7,0xCF,0x84,0x31,0x10,0x95,0x47,0xFF, + 0x2B,0x60,0xA4,0x30,0x26,0xDA,0x03,0x55,0x0A,0x1E,0xE2,0xA5,0xDA,0x66,0x6D,0x50, + 0xB4,0x31,0x62,0xC4,0x08,0xBE,0xF7,0x8D,0x38,0xE5,0x01,0x2A,0x7D,0x00,0xE5,0x75, + 0xCD,0xA3,0xB8,0xCE,0xCA,0x7B,0xA8,0x47,0x24,0x6E,0x92,0xED,0x2F,0xE4,0x36,0x9B, + 0xC0,0x5B,0xDA,0x08,0x5B,0x6B,0x20,0xE8,0x82,0x00,0x0C,0x05,0xAA,0xCC,0x83,0xA9, + 0x06,0x1E,0x58,0xB4,0xEF,0x2D,0xB2,0x4F,0x56,0xB7,0x1E,0x12,0xAF,0x09,0x50,0xB4, + 0x81,0xBB,0xBE,0x56,0x3D,0x2E,0xE6,0x6B,0x00,0x91,0x53,0xC2,0x3F,0xD2,0xC5,0x7B, + 0xA7,0xBC,0x97,0xEE,0x44,0xEA,0x26,0xD9,0xFE,0x62,0x48,0xBC,0x2D,0xD2,0xA3,0xAF, + 0xB6,0x59,0x0F,0xBD,0xB4,0xD1,0x27,0x9F,0x7C,0xC2,0x9F,0x53,0x73,0xBA,0xF0,0x67, + 0xC2,0x3C,0x29,0x59,0x1D,0xF8,0xB3,0xF2,0x5E,0xBA,0x13,0xCD,0xA5,0x90,0x5A,0x90, + 0xE5,0x35,0x89,0x5E,0xD1,0xC6,0x9A,0x35,0x6B,0xF8,0x73,0x34,0xAF,0xD7,0x6D,0x28, + 0x8A,0xD7,0xA2,0xBC,0x97,0xEE,0x44,0xC3,0x2E,0x08,0x66,0x20,0xF1,0xFA,0x81,0xFB, + 0xDC,0x17,0x42,0xC6,0x5C,0x4D,0x99,0xB7,0x11,0xFE,0x81,0x78,0x01,0x5A,0xE6,0xE0, + 0xE6,0xE8,0xBE,0x50,0x3F,0x92,0x37,0xC9,0xF6,0x17,0x0F,0xF1,0x46,0xEB,0x8E,0x09, + 0x66,0xC0,0xDA,0x51,0x44,0x45,0x95,0xA2,0x0D,0x65,0x8E,0x46,0x56,0xB7,0xE1,0x28, + 0xD6,0x17,0x02,0x56,0x43,0x81,0x2A,0x4F,0x3C,0xC4,0x1B,0xAD,0x3B,0x26,0x98,0x05, + 0x17,0x92,0x92,0x93,0x84,0xD5,0x05,0x4D,0x52,0xB3,0xF9,0x33,0xE1,0x3F,0xB1,0x8D, + 0x53,0xF8,0xB3,0x5A,0xBC,0x91,0xBE,0x49,0xB6,0xBF,0x18,0x72,0x9B,0x93,0x9A,0x34, + 0x12,0x23,0x42,0x01,0x73,0x2F,0xA5,0x4D,0x8E,0x22,0xDE,0xD8,0xF8,0xC8,0x6B,0x9E, + 0x1E,0x6A,0x9A,0x34,0x75,0xDE,0x00,0x91,0x76,0x53,0xA0,0x40,0x95,0x36,0x86,0xC4, + 0x9B,0x92,0x18,0x47,0x77,0x3C,0x37,0x50,0xB4,0x81,0x39,0x18,0x4A,0xF5,0xF6,0xEF, + 0xDF,0xCF,0xCF,0x51,0x7E,0xB7,0xE1,0xC4,0x34,0x72,0x76,0x1C,0xC1,0x8A,0x21,0x80, + 0xA9,0x09,0xA5,0x87,0xB4,0xF1,0x74,0x9B,0xA9,0xF5,0xAB,0x61,0x94,0xB4,0x51,0x9D, + 0xE5,0x15,0x2E,0x1F,0xE1,0x3F,0xCA,0x0D,0xF0,0xD8,0xB1,0x63,0xFC,0x19,0x56,0x97, + 0xE6,0xBA,0xDA,0x78,0x88,0x97,0xCA,0x23,0x8D,0xA3,0x14,0x6D,0xEC,0xD9,0xB3,0x87, + 0x1F,0x47,0xE2,0x9E,0x43,0xA1,0x26,0x3E,0xA9,0x19,0x7F,0x56,0xDC,0x66,0x4A,0x0F, + 0xE9,0x63,0xC8,0x6D,0x26,0xF4,0x81,0x55,0xD8,0xBB,0x77,0x2F,0x1F,0x53,0xC0,0xAA, + 0xE1,0x28,0x6E,0x33,0x02,0x56,0xD1,0xB2,0x49,0xB6,0xBF,0xF8,0x14,0x6F,0x34,0x76, + 0x8E,0x34,0x83,0xBA,0x93,0x43,0xED,0x85,0xB3,0x62,0x44,0x34,0x14,0x6C,0xF8,0x46, + 0x81,0x2A,0xEF,0x90,0xE5,0x0D,0x00,0xF9,0xF9,0xF9,0xFC,0xB9,0xA6,0x9A,0xC4,0xDB, + 0x50,0x2E,0x9E,0x3B,0xC5,0x9F,0xE3,0xE3,0x9D,0x16,0x98,0xD2,0x43,0xFA,0x90,0x78, + 0x03,0x40,0xFF,0xFE,0xFD,0xF9,0xB3,0x72,0xE1,0x11,0xFE,0x73,0xB9,0xD6,0x19,0x73, + 0xD9,0xBD,0x7B,0x77,0xD4,0xED,0x3D,0x64,0x16,0x17,0xF1,0x96,0x9E,0xAA,0xA6,0x0A, + 0x0D,0x3F,0x40,0x01,0x01,0xA8,0x21,0xB7,0xB9,0xC1,0x9C,0xAF,0xA8,0x4B,0x11,0x45, + 0xCD,0x26,0xD9,0xFE,0x42,0x96,0x37,0x00,0xA4,0xA6,0xA6,0xF2,0xE7,0x8B,0x55,0x65, + 0xFC,0x99,0xF0,0x1F,0x25,0x6E,0x30,0x68,0xD0,0x20,0xFE,0x4C,0xE8,0xE3,0x53,0xBC, + 0xF1,0xB1,0x74,0xF3,0xF3,0x05,0xD2,0x45,0x80,0x02,0x56,0x0D,0xE7,0x62,0x75,0x05, + 0x7F,0x1E,0x35,0x6A,0x14,0x7F,0x26,0xF4,0xF1,0x29,0xDE,0x8C,0xA6,0xB4,0xC7,0x8E, + 0x2F,0x14,0xB7,0xF9,0x7C,0xC5,0x51,0xFE,0x4C,0xF8,0xCF,0xF9,0xF2,0x83,0xFC,0x19, + 0x3B,0x21,0x10,0xDE,0x21,0xB7,0x39,0x00,0x20,0x17,0x09,0xCA,0x0E,0x6E,0xE1,0xCF, + 0x84,0x7F,0x20,0x58,0x55,0x71,0x62,0x37,0x4F,0x13,0x45,0xDB,0x5E,0xBB,0xFE,0xE0, + 0x22,0xDE,0xB3,0xE7,0x6B,0xC5,0x88,0x30,0x03,0xD6,0x98,0x76,0xEE,0xDC,0x99,0xBB, + 0xCD,0x95,0xF2,0xC5,0x47,0xF8,0xC7,0xE9,0xA3,0x3B,0xB9,0x80,0xF1,0x5E,0x12,0xBE, + 0x71,0x11,0x6F,0x55,0x35,0x89,0xD7,0x5F,0xB0,0x1D,0x28,0x20,0xEB,0xEB,0x3F,0xE5, + 0x87,0x9C,0xEF,0x9D,0xE2,0xC9,0x10,0xDE,0x21,0xB7,0x39,0x40,0x0C,0x19,0x32,0x84, + 0x3F,0x2B,0x17,0x20,0x61,0x1E,0xE5,0xBD,0x53,0xDE,0x4B,0xC2,0x3B,0x3E,0xC5,0x9B, + 0x94,0x10,0x2B,0x46,0x84,0x37,0x14,0x6B,0x71,0x46,0x76,0xFD,0x08,0xFF,0xA8,0x3C, + 0xEE,0x9C,0x72,0x90,0xE5,0x35,0x86,0x4F,0xF1,0x26,0x37,0x21,0xF1,0x1A,0x01,0x7B, + 0xC4,0x22,0xEA,0x7C,0xA1,0xAA,0x8C,0xE6,0xBD,0x7E,0x80,0x9B,0x1E,0x8A,0x5C,0x90, + 0x76,0xA3,0x3E,0x55,0xC6,0x20,0xB7,0x39,0x80,0x28,0x4B,0xD7,0x8E,0xEC,0x5C,0xC1, + 0x9F,0x09,0xE3,0xEC,0xDF,0xFC,0x16,0x7F,0xC6,0x9E,0x50,0x84,0x31,0x5C,0xC4,0x4B, + 0xD1,0xE6,0x86,0xA1,0x6C,0x39,0x79,0xF0,0xEB,0xE5,0x75,0x35,0xBA,0x84,0x6F,0xE0, + 0xAD,0x9C,0xD8,0xFB,0x29,0x1F,0xD3,0x2A,0x22,0xE3,0xB8,0x89,0xF7,0x92,0x18,0x11, + 0xFE,0x80,0x15,0x30,0x98,0xAF,0x41,0xB8,0x10,0x30,0x61,0x8C,0x23,0x3B,0x3F,0x60, + 0x97,0xE4,0xF7,0x0C,0x6D,0x85,0x68,0xED,0xAE,0x71,0xC8,0x6D,0x0E,0x30,0x4A,0xCB, + 0x16,0x72,0x9D,0x8D,0x73,0x60,0xCB,0xBF,0xF8,0x33,0xB5,0xBB,0x31,0x87,0x4F,0xF1, + 0x52,0xE7,0x48,0x73,0x60,0x25,0x4C,0x76,0x76,0x36,0x0F,0x5A,0x51,0xCE,0xD7,0x37, + 0xC7,0xF7,0x7C,0xC6,0xDD,0x66,0x04,0xAA,0xD4,0x8D,0x0D,0x08,0xDF,0xF8,0x16,0x6F, + 0x02,0x89,0xD7,0x2C,0x4A,0xE0,0xAA,0x64,0xE3,0x1B,0xFC,0x99,0xD0,0x67,0xEF,0xBA, + 0xBF,0xF3,0x67,0x9A,0xEB,0x9A,0x87,0xDC,0xE6,0x20,0x80,0x0B,0x11,0x69,0xA3,0x93, + 0x25,0x5F,0x72,0xCB,0x42,0x68,0x83,0xB8,0x00,0x3C,0x14,0x78,0x2A,0x33,0x66,0xCC, + 0x20,0xAB,0x6B,0x12,0x17,0xF1,0x56,0x51,0xB4,0x39,0x20,0x20,0xE8,0x32,0x6B,0xD6, + 0x2C,0x3E,0x2E,0xFE,0xF8,0x59,0x8A,0x3C,0x6B,0x00,0x57,0xF9,0xFB,0x75,0x8B,0xF8, + 0x78,0xEE,0xDC,0xB9,0xFC,0x99,0x30,0x87,0x8B,0x78,0x29,0x55,0x14,0x38,0x60,0x49, + 0xB0,0xAC,0x0D,0x17,0xE9,0xDE,0xF5,0x4E,0xD7,0x90,0xA8,0xE7,0x7B,0xD9,0x5D,0xBE, + 0x50,0x75,0x8A,0x8D,0x18,0x31,0x82,0x3A,0x66,0xF8,0x09,0xB9,0xCD,0x41,0x64,0xC1, + 0x82,0x05,0xFC,0x79,0xFF,0xE6,0x7F,0xB1,0xAA,0x32,0xE7,0xAE,0x0A,0x04,0xE3,0xAE, + 0x32,0x5C,0x66,0x2C,0xFD,0x23,0xAB,0xEB,0x3F,0x3E,0xC5,0x1B,0x1F,0x4B,0xFA,0xF6, + 0x17,0xAC,0x49,0x45,0xF0,0x0A,0x6E,0x73,0xF1,0xC7,0xCF,0x91,0xFB,0x2C,0x83,0xF7, + 0xE0,0xEB,0xF7,0x7F,0xCB,0xC7,0xD3,0xA7,0x4F,0x67,0x05,0x05,0x05,0x64,0x75,0xFD, + 0xC4,0xA7,0x32,0xD3,0xA9,0x93,0x46,0x83,0x78,0xFA,0xE9,0xA7,0x79,0xF0,0x0A,0x69, + 0xA3,0x6F,0xD7,0xBC,0x28,0xCE,0x46,0x2F,0x5F,0x7F,0x30,0x8B,0x7B,0x21,0x48,0x0D, + 0x3D,0xF3,0xCC,0x33,0x24,0xDC,0x06,0x40,0x66,0x35,0xC8,0x20,0x78,0xB5,0x6C,0xD9, + 0x32,0xEE,0x22,0xC2,0x55,0x84,0x0B,0x1D,0xAD,0xEC,0x5E,0xBB,0x90,0x47,0xDF,0x71, + 0x33,0x5B,0xB1,0x82,0x8A,0x58,0x1A,0x8A,0x8B,0x78,0x6B,0x2E,0x51,0xE7,0xD7,0x60, + 0x30,0x74,0xE8,0x50,0x87,0x32,0xB7,0x83,0xF5,0x45,0x0A,0x29,0xDA,0x28,0xFD,0x76, + 0x15,0xDB,0xB7,0xC1,0x99,0xF7,0x5E,0xB2,0x64,0x09,0xB9,0xCB,0x01,0xC0,0x45,0xBC, + 0xE5,0x15,0x35,0x62,0x44,0x04,0x1A,0xEC,0xA6,0xFF,0xD8,0x63,0x8F,0xF1,0xF1,0xF6, + 0xF7,0x9D,0xAE,0x63,0xB4,0x80,0xE5,0x7E,0x3B,0xFF,0xF7,0x14,0x1F,0xE3,0x26,0x46, + 0x95,0x54,0x81,0x81,0xDC,0xE6,0x10,0x82,0x39,0x1E,0x8A,0xEF,0xB1,0x6E,0x75,0xF3, + 0x3B,0xBF,0x88,0x8A,0x6E,0x93,0xB8,0x49,0x6D,0xFD,0xCF,0xE3,0x7C,0xE1,0x01,0x82, + 0x77,0x54,0x8C,0x11,0x38,0x48,0xBC,0x21,0x66,0xF9,0xF2,0xE5,0x3C,0xFF,0x0B,0xE1, + 0x6E,0x58,0x72,0x6F,0x44,0x2F,0xDC,0x87,0xC5,0xDD,0xB0,0xF4,0xBE,0xBA,0x7C,0xEE, + 0xE2,0xC5,0x8B,0x49,0xB8,0x01,0xC4,0xA7,0x78,0xB3,0x33,0x1A,0x8B,0x11,0x11,0x28, + 0xB6,0x6E,0xDD,0xEA,0xC0,0xC5,0x8C,0x02,0x8E,0x4D,0xFF,0x9A,0x16,0x91,0x73,0x60, + 0x04,0xA6,0x36,0xBD,0x35,0x8D,0xD5,0x54,0x57,0xF2,0x05,0xF6,0x2B,0x57,0xAE,0x24, + 0xE1,0x06,0x18,0xB2,0xBC,0x61,0x02,0x17,0x33,0xDC,0x48,0xB8,0xD0,0xDB,0xFE,0x33, + 0x93,0xAF,0x69,0x8D,0x14,0x10,0x55,0xDF,0x2A,0xFF,0x4D,0x70,0x95,0x91,0xCB,0x5D, + 0xBA,0x74,0x29,0x09,0x37,0x08,0x90,0x78,0xC3,0x08,0xDC,0x48,0xD4,0x40,0xE3,0x22, + 0xDF,0xF1,0xBF,0xA7,0x78,0x2A,0xC5,0xCE,0x85,0x1C,0xE8,0x5B,0x8D,0xBF,0xA3,0x78, + 0xD5,0x73,0xFC,0x18,0xC1,0xA9,0x79,0xF3,0xE6,0x91,0x70,0x83,0x84,0x8B,0x78,0xCB, + 0x2A,0xA9,0x02,0x28,0xD4,0xCC,0x9E,0x3D,0xDB,0xB1,0x68,0x91,0xB3,0x40,0x1F,0xA9, + 0x94,0x75,0x6F,0x4C,0xB6,0x65,0x07,0x4A,0xB8,0xFE,0x9F,0x2F,0xBE,0x9D,0x7B,0x10, + 0xC8,0x69,0x23,0x1D,0x44,0xC1,0xA9,0xE0,0xE2,0x22,0xDE,0x9A,0xDA,0xCB,0x62,0x44, + 0x84,0x92,0xC9,0x93,0x27,0x3B,0x8A,0x8B,0x8B,0x79,0xE3,0x76,0x44,0x67,0xBF,0x5C, + 0x72,0x2F,0xB7,0x60,0x76,0xD8,0xB8,0x4C,0xB1,0xB6,0x9B,0xDF,0x79,0x98,0xCF,0xE1, + 0xF1,0x37,0x6C,0xD9,0xB2,0x85,0x16,0x1B,0x84,0x00,0x72,0x9B,0x2D,0x02,0x8A,0x16, + 0xD6,0xAF,0x5F,0xEF,0x40,0x39,0x25,0x2C,0x17,0x2C,0x18,0x2C,0x99,0x95,0xD7,0x03, + 0xE3,0xB5,0x7D,0xBE,0xF8,0x47,0x75,0xD6,0x16,0xAF,0x1D,0x7F,0x03,0x15,0x60,0x84, + 0x06,0x97,0x37,0xF9,0x97,0x2F,0x6D,0x97,0xB6,0xED,0x39,0x23,0x8E,0x9C,0xBC,0xF4, + 0xF3,0x5E,0xAC,0x43,0xEB,0x64,0xFA,0x30,0x42,0x88,0x6C,0x85,0x25,0xD9,0x1A,0x43, + 0x08,0xFC,0x38,0x29,0xA3,0x2D,0x6B,0xD3,0x67,0x3C,0x6B,0xD5,0x65,0x24,0x8B,0x89, + 0x0D,0x6F,0xAD,0x39,0x2C,0xED,0x61,0x59,0xAC,0x07,0x36,0xBF,0x55,0x97,0xA7,0x86, + 0xB5,0x85,0xEB,0x4F,0xA2,0x0D,0x3E,0x92,0x54,0x5F,0x05,0xE9,0x53,0xBC,0xAF,0x3D, + 0xD1,0x97,0x65,0x37,0x4B,0xA0,0x0F,0x25,0x0C,0xCC,0x9D,0x3B,0x57,0x9A,0x33,0x67, + 0x0E,0x2B,0x2D,0x75,0xEE,0x16,0x1F,0xDB,0x38,0x99,0xE5,0xF6,0x1C,0xC3,0xDA,0xF4, + 0xBE,0x95,0x35,0x4E,0xCA,0xE0,0xE7,0x42,0x05,0x84,0x0A,0xC1,0xC2,0xCA,0x22,0x42, + 0x0E,0xB0,0xB8,0x00,0x5D,0x43,0x68,0x6E,0x1B,0x3A,0x48,0xBC,0x36,0x63,0xC9,0x92, + 0x25,0xD2,0xFC,0xF9,0xF3,0xEB,0x2C,0x31,0xC8,0xEE,0x34,0x8C,0xF5,0xB8,0xC9,0xB9, + 0xB4,0x2E,0x98,0x38,0xE7,0xB4,0x7F,0x70,0x71,0xDF,0xD1,0xDE,0x16,0xA2,0x1D,0x3B, + 0x76,0x2C,0x5D,0x17,0x21,0x46,0x2D,0x5E,0x9A,0xF3,0xDA,0x00,0x04,0x7F,0x30,0x97, + 0x44,0x20,0x48,0x69,0x6E,0x87,0x42,0xFF,0x50,0x50,0x73,0xA1,0x92,0x0B,0x17,0x73, + 0x5A,0xFC,0x6E,0x04,0xD6,0xD6,0xAC,0x59,0xE3,0x20,0xE1,0x86,0x1F,0x12,0xAF,0x8D, + 0x40,0x53,0xF7,0x70,0x95,0x18,0xA2,0x49,0x1C,0x7E,0x37,0xCD,0x6B,0xAD,0x03,0x89, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x8A,0x8B,0x78,0xCB,0x2A,0xA8,0xC2,0x8A, + 0x20,0xEC,0x82,0x8B,0x78,0x2F,0xD6,0x52,0x27,0x0D,0x82,0xB0,0x0B,0xE4,0x36,0x13, + 0x84,0x4D,0x21,0xF1,0x12,0x84,0x4D,0x21,0xF1,0x12,0x84,0x4D,0x21,0xF1,0x12,0x84, + 0x4D,0x21,0xF1,0x12,0x84,0x4D,0xF1,0x29,0x5E,0xAA,0x6B,0x26,0x08,0x6B,0x42,0x96, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x8A,0xCB,0x7C, + 0xF6,0xCE,0x27,0x37,0x49,0xC7,0xCA,0xAA,0xC5,0x91,0x93,0x0F,0x5F,0x18,0x4C,0x73, + 0x5E,0xEB,0xC1,0x4B,0xE1,0xDA,0x17,0xDE,0xC3,0x0F,0x82,0x09,0xD6,0xF3,0x62,0x73, + 0x34,0x2C,0xBC,0x2F,0x29,0x29,0xA1,0x6B,0x21,0xCC,0xE8,0x2E,0xC6,0x27,0xF1,0xDA, + 0x86,0x90,0xD7,0xB1,0x92,0x78,0xAD,0x81,0xAE,0x78,0x7F,0xF8,0xC4,0x7A,0xE9,0xEC, + 0xF9,0x5A,0x71,0xE4,0x84,0xC4,0x6B,0x3D,0x66,0xCD,0x9A,0x15,0x72,0xF1,0x62,0x5B, + 0x4E,0x6A,0x77,0x13,0x7E,0x74,0xC5,0x3B,0xFC,0xE7,0x6B,0x3D,0x2E,0x0A,0x12,0x2F, + 0x41,0x58,0x07,0x6A,0x83,0x43,0x10,0x11,0x00,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97, + 0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20, + 0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C, + 0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A, + 0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97, + 0x20,0x6C,0x8A,0x4B,0x7F,0x2A,0xAB,0x77,0x8F,0xDC,0xF0,0xF5,0x7E,0x69,0xF2,0x63, + 0x6F,0x8A,0x23,0x22,0xD4,0x3C,0x39,0xE3,0x26,0x36,0xF6,0xFA,0x9E,0x86,0xAF,0x87, + 0x65,0xCB,0x96,0x49,0x5B,0xB7,0x6E,0x15,0x47,0xC1,0x63,0xFA,0xF4,0xE9,0x2C,0x3D, + 0x3D,0x3D,0x2A,0x7A,0xAD,0xD9,0xB6,0xF5,0x2B,0x89,0x37,0xBC,0x98,0x15,0xEF,0xA4, + 0x49,0x93,0xA4,0xC5,0x8B,0x17,0x8B,0xA3,0xE0,0xB1,0x6F,0xDF,0x3E,0x96,0x9F,0x9F, + 0x4F,0xE2,0xB5,0x8B,0x78,0x53,0x92,0x12,0x58,0xE7,0xF6,0x2D,0xF8,0x98,0x08,0x1E, + 0xFB,0x0E,0x9E,0x64,0x27,0xCB,0xAB,0xF8,0xD8,0x5F,0xF1,0xB6,0xEC,0x3A,0x92,0x35, + 0x69,0x9A,0x2D,0xCE,0x06,0x8E,0x23,0x3B,0x57,0xB0,0xF3,0x15,0x47,0x49,0xBC,0xC0, + 0x4E,0xE2,0xED,0xD7,0xA3,0x2D,0x5B,0xFC,0xCC,0x8F,0xA2,0xE2,0x03,0x0B,0x27,0x4F, + 0xBC,0xF0,0x9E,0xB4,0x7C,0xD5,0xD7,0x7C,0xEC,0xAF,0x78,0xFB,0x8E,0xFF,0x13,0xCB, + 0xC8,0xED,0x2D,0xCE,0x06,0x8E,0x4D,0x6F,0x4D,0x63,0x65,0x07,0xB7,0x44,0xAD,0x78, + 0x7D,0x06,0xAC,0x4A,0x4F,0x55,0xD7,0x7F,0x37,0x41,0x10,0x96,0x81,0xA2,0xCD,0x04, + 0x61,0x53,0x48,0xBC,0x04,0x61,0x53,0x6C,0x2B,0xDE,0xCD,0x3B,0x0F,0xB2,0xAE,0x23, + 0x9F,0x92,0x8C,0x3C,0x7E,0x31,0x67,0xB9,0x74,0xA2,0xEC,0x2C,0xB9,0xFF,0x44,0x44, + 0xE1,0x22,0xDE,0xEC,0x8C,0xC6,0x62,0x64,0x7D,0x2E,0x5D,0xBA,0x2C,0x46,0xBE,0x59, + 0xF1,0xC9,0x37,0x6C,0xED,0x57,0x7B,0xC5,0x11,0x41,0x44,0x06,0x51,0xE1,0x36,0x67, + 0xA6,0x27,0xB1,0x9E,0x9D,0x5B,0x89,0x23,0x82,0x88,0x0C,0x6C,0x2B,0x5E,0xA4,0x8A, + 0x76,0x7E,0xF0,0xB8,0xC3,0xC8,0xE3,0x93,0x37,0x1F,0x72,0xB4,0xCB,0xCD,0xA4,0xB4, + 0x12,0x11,0x51,0xF8,0x14,0xEF,0xC5,0x5A,0xE3,0xEE,0x29,0x41,0x10,0xA1,0xC3,0xA7, + 0x78,0xCB,0x2B,0x2F,0x8A,0x11,0x41,0x10,0x56,0x22,0x2A,0xE6,0xBC,0x04,0x11,0x89, + 0x90,0x78,0x89,0xA0,0x71,0xFA,0xF4,0x69,0x31,0x0A,0x2E,0xA5,0xA5,0xA5,0x62,0x14, + 0x5D,0xB8,0x88,0x37,0x2E,0x96,0xB4,0x4C,0x34,0x9C,0x05,0x0B,0x16,0x48,0x79,0x79, + 0x79,0xD2,0xF2,0xE5,0xCB,0xC5,0x99,0xE0,0x52,0x58,0x58,0xC8,0x26,0x4C,0x98,0x20, + 0xAD,0x5B,0xB7,0x2E,0xAA,0x72,0xF9,0x2E,0x11,0xD8,0xE7,0x96,0xEC,0x96,0x3E,0xDC, + 0x78,0x4C,0x1C,0x39,0x79,0xF6,0xFE,0x6E,0xAC,0x67,0x87,0x34,0x4B,0x44,0x6A,0xD5, + 0x0B,0x13,0x62,0x62,0x1C,0xEC,0xF2,0xE5,0xC0,0x7E,0x56,0x48,0x29,0x3D,0xFA,0x93, + 0x61,0x6C,0x64,0x51,0x57,0x8A,0x4C,0x0B,0x8C,0x2E,0x4C,0x38,0x7A,0xF4,0xA8,0x34, + 0x7F,0xFE,0x7C,0xB6,0x70,0xE1,0xC2,0x3A,0x8B,0xDB,0xA4,0x69,0x0E,0x6B,0xD3,0x67, + 0x3C,0xCB,0xED,0x31,0x86,0xC5,0xC4,0xC6,0xF3,0x73,0x81,0xA4,0xAA,0x6C,0x3F,0xDB, + 0xB7,0xF1,0x4D,0x76,0x64,0xE7,0x07,0xE2,0x0C,0x63,0x03,0x07,0x0E,0x64,0x8F,0x3E, + 0xFA,0x28,0x1B,0x3B,0x76,0x6C,0x44,0x7E,0x86,0xA6,0x16,0x26,0x58,0x95,0x40,0x0B, + 0x17,0x60,0xE9,0xDB,0xDF,0xDE,0x5E,0x2F,0x8E,0x08,0xA3,0x2C,0x5A,0xB4,0x48,0x2A, + 0x28,0x28,0x60,0xCF,0x3C,0xF3,0x0C,0x17,0x6E,0x6A,0x4E,0x57,0xD6,0xE3,0xA6,0xDF, + 0xB2,0xAB,0xA7,0xBC,0xC5,0xDA,0xF6,0xB9,0x35,0x28,0xC2,0x05,0x49,0x19,0x6D,0x59, + 0xB7,0x1B,0x1E,0x67,0x43,0xEE,0xFD,0x0F,0xCB,0xEF,0x7F,0x07,0x8B,0x6D,0x9C,0xCC, + 0xD6,0xAF,0x5F,0x0F,0xE1,0xB2,0x11,0x23,0x46,0x48,0xB8,0xA1,0x88,0x6F,0x8D,0x48, + 0xC8,0x4F,0x56,0xD1,0x38,0x3E,0x96,0x8D,0xB8,0xA6,0x40,0x1C,0x11,0xBE,0x80,0x38, + 0x20,0x92,0xC9,0x93,0x27,0x73,0xD1,0x66,0xE6,0x0D,0x60,0x03,0x26,0xBE,0xCC,0x1F, + 0xD9,0x9D,0x86,0x89,0xEF,0x0A,0x3E,0x8D,0x93,0x32,0x58,0xC7,0xC1,0xF7,0xB1,0x22, + 0x59,0xC4,0x9D,0x8A,0x1E,0xE4,0x22,0x5E,0xB9,0x72,0x25,0xC3,0x0D,0x65,0xEE,0xDC, + 0xB9,0x11,0x2B,0x60,0x9F,0x6E,0xF3,0x1F,0x7E,0xD2,0x85,0xF5,0x2B,0xC8,0xB0,0x9C, + 0xDB,0x4C,0xEB,0x79,0x43,0x83,0x9E,0xDB,0x0C,0x6B,0x3B,0x63,0xC6,0x0C,0x2E,0x5A, + 0x88,0xA5,0xB3,0x2C,0x1A,0x2C,0xBA,0xB7,0x02,0x17,0xAA,0xCA,0xD8,0xEE,0xB5,0x0B, + 0xEB,0xDC,0x69,0xB8,0xD2,0xF2,0xEB,0x85,0x98,0x6D,0x7F,0xBD,0x98,0x72,0x9B,0xCB, + 0x2A,0x6B,0xC4,0x88,0x20,0x9C,0x60,0x91,0xBD,0x62,0x6D,0x9B,0x77,0xB8,0x9A,0x0D, + 0x9A,0xF4,0x0F,0xCB,0x08,0x17,0xC0,0x12,0xC3,0x9D,0xEE,0xF3,0xC3,0xE7,0xF9,0x18, + 0xAE,0x34,0x82,0x5A,0x2B,0x56,0xAC,0x88,0x28,0x2B,0xEC,0x22,0xDE,0xF8,0x38,0x32, + 0x64,0x84,0x3E,0xE7,0xCE,0x9D,0x63,0x45,0x45,0x45,0xBC,0x3B,0x46,0x9C,0x6C,0x6D, + 0x21,0x8E,0x5E,0x3F,0x78,0x9A,0x0B,0xC4,0x8A,0xC0,0x8D,0xC7,0x8D,0x05,0x2E,0x3C, + 0x6E,0x34,0x98,0x0B,0xC3,0x63,0x10,0x5F,0xB6,0x3D,0x2E,0xE2,0x4D,0x4B,0x8E,0x13, + 0x23,0x82,0xF0,0x64,0xCE,0x9C,0x39,0x6C,0xCD,0x9A,0x35,0x3C,0x8A,0xDC,0x5F,0x9E, + 0xD7,0x42,0x1C,0x56,0x07,0x2E,0x3D,0x82,0x67,0x98,0x13,0x57,0x57,0x57,0x33,0x78, + 0x0C,0x8F,0x3D,0xF6,0x58,0x44,0x08,0xD8,0xA7,0xDB,0x5C,0x75,0xBE,0x56,0x8C,0x88, + 0x68,0xE7,0xC0,0x81,0x03,0x2C,0x25,0xAB,0x23,0x17,0x2E,0x22,0xBD,0x76,0x02,0xD1, + 0x68,0xB8,0xD2,0x8D,0x62,0xE3,0x79,0x54,0x1C,0xAE,0xBF,0xF8,0x92,0x6D,0xF1,0x29, + 0xDE,0xB3,0x24,0xDE,0xA8,0xE6,0xFC,0xF9,0xF3,0x62,0xC4,0x58,0x72,0x66,0x3B,0xD6, + 0xEF,0xD6,0x3F,0x59,0xD6,0x4D,0xF6,0x05,0xE6,0xE5,0xBD,0xC7,0x3E,0xCF,0x5D,0x7E, + 0xB8,0xFE,0x76,0xB7,0xC0,0x2E,0x93,0xDC,0x77,0x3E,0x39,0x2C,0x2D,0x7C,0x77,0x9F, + 0x38,0x72,0x72,0xC7,0xF0,0x5C,0x76,0xD7,0x88,0xB6,0x96,0x98,0x0C,0xFB,0x5B,0xA4, + 0x31,0xF8,0xCA,0x76,0xEC,0xC9,0x19,0xA3,0x58,0x56,0x46,0x32,0x4D,0xEA,0x4D,0xD2, + 0xEB,0xBA,0xA9,0x52,0x4D,0xE3,0x5C,0x3E,0x4E,0x6D,0xD1,0x8E,0x25,0xA7,0xB7,0xE6, + 0x63,0x3B,0x73,0xB2,0xE4,0x4B,0xB6,0xF9,0x9D,0x87,0xF9,0x78,0xD9,0xB2,0x65,0xB6, + 0x2A,0xE8,0xD0,0x8D,0x36,0x27,0x35,0x89,0x15,0x23,0xEB,0x63,0xA6,0x48,0x63,0xED, + 0x57,0xDF,0xB3,0x8F,0xD7,0x7D,0x2B,0x8E,0x08,0xA3,0xC0,0xB5,0x3C,0x71,0xE2,0x84, + 0x38,0xC2,0x0D,0xD3,0x3E,0xD7,0x87,0x37,0x30,0x57,0x47,0x3E,0x18,0x4C,0x9C,0x38, + 0x91,0x6D,0xD9,0xB2,0xC5,0x96,0x16,0xD8,0xA7,0xDB,0x7C,0xFA,0xAC,0xFD,0x53,0x45, + 0xAD,0x5A,0xA4,0xB2,0xEB,0x0A,0x3B,0x89,0x23,0xC2,0x08,0x28,0x6E,0x80,0x6B,0xE9, + 0x88,0xF1,0x79,0x89,0xD8,0x12,0x54,0x7E,0x21,0x0A,0x8D,0x20,0x16,0xA2,0xD0,0xE5, + 0xE5,0xE5,0xB6,0x13,0xB0,0x8B,0xBB,0xF0,0xBF,0x0D,0xC7,0xA4,0xE7,0x97,0xEE,0x16, + 0x47,0x4E,0x86,0xF7,0x6B,0xC1,0x7E,0x31,0xB1,0xA3,0xE5,0xDC,0x66,0x2A,0xD2,0x08, + 0x1E,0xB0,0x44,0x03,0x0B,0x0B,0xD9,0x05,0xF9,0xC2,0xEE,0x76,0xE3,0xEF,0x98,0xE4, + 0x70,0x5A,0xDC,0xF4,0x9C,0x2B,0x58,0x62,0x6A,0xE0,0x77,0x3E,0x08,0x17,0x97,0x6B, + 0x2F,0xB2,0x8D,0x6F,0x4D,0x63,0x67,0x8E,0xEE,0xC4,0xC2,0x06,0xB6,0x74,0xE9,0x52, + 0xCB,0x5F,0x4F,0xBA,0x6E,0x73,0x46,0x0A,0xA5,0x8A,0x08,0xC6,0x50,0x39,0x05,0xE1, + 0x62,0x41,0x41,0x93,0x34,0xFB,0xCF,0x71,0xF5,0x40,0xCD,0x35,0xF2,0xD4,0x78,0x96, + 0x85,0x6B,0xBB,0x22,0x0E,0x17,0xF1,0xC6,0xC7,0x79,0xBA,0x48,0x65,0xD4,0x49,0x23, + 0xAA,0x40,0x11,0x03,0x72,0xB9,0x88,0x28,0xB7,0x2B,0xBC,0x47,0x9C,0x8D,0x5C,0xF0, + 0x77,0x22,0x07,0x0C,0xA6,0x4E,0x9D,0xCA,0x9F,0xED,0x82,0x8B,0x5A,0xB5,0xD6,0xF3, + 0xD6,0x50,0x0F,0xAB,0xA8,0x01,0xF3,0xBE,0x99,0x33,0x67,0xF2,0x31,0x84,0x6B,0xD7, + 0x94,0x90,0x59,0x30,0xFF,0x45,0xFE,0xBA,0xA4,0xA4,0xC4,0x56,0xE9,0x23,0x37,0xB7, + 0x39,0x38,0x4B,0xB7,0x08,0x7B,0x30,0x7B,0xF6,0x6C,0xDE,0x95,0x02,0x4B,0xFA,0xE0, + 0x32,0x47,0x13,0x5D,0x86,0xFD,0x82,0x3F,0xCF,0x9B,0x37,0x8F,0x15,0x17,0x17,0xDB, + 0x42,0xC0,0x9E,0xA6,0xD6,0x8D,0xD2,0xB2,0x0B,0x62,0x44,0x44,0x32,0xB0,0xBA,0x58, + 0x48,0x0F,0x94,0x0B,0x39,0x9A,0xC0,0x0D,0x0B,0x45,0x1C,0x88,0x3E,0xBF,0xFC,0xF2, + 0xCB,0xE2,0xAC,0xB5,0x71,0x89,0xAE,0x55,0x9E,0xAB,0x91,0x6E,0xF9,0xD5,0x97,0xE2, + 0xC8,0x49,0x8B,0x8C,0x04,0xF6,0xFA,0xAF,0xFA,0x5A,0x2A,0xDA,0xEC,0x90,0xFF,0x93, + 0xE4,0xFF,0x02,0x0D,0xF6,0xFC,0x9D,0x3E,0x69,0x08,0x9B,0x70,0xD3,0x95,0x51,0x17, + 0xC5,0x46,0x6A,0x08,0x81,0x2A,0xE4,0x40,0xB1,0xE0,0x40,0xA1,0xFC,0xE8,0x77,0xEC, + 0xDC,0x19,0x67,0x8F,0xA8,0x48,0x8B,0x36,0xBB,0x83,0xCE,0x1C,0x9F,0x2F,0xFE,0x11, + 0x4B,0x4B,0x4B,0xC3,0x42,0x06,0x4B,0x5E,0x03,0xBA,0xD1,0xE6,0x94,0x44,0xCF,0x65, + 0x45,0x56,0xAC,0x6D,0x0E,0x86,0x70,0x41,0x65,0x55,0x35,0x7B,0x6B,0xC5,0x56,0x71, + 0x14,0x5D,0xBC,0xFA,0xEA,0xAB,0xFC,0xB9,0x75,0x94,0xB9,0xCB,0x6A,0x50,0xAF,0x8D, + 0x7D,0x84,0xB1,0x02,0x09,0x7D,0xB8,0xC4,0x69,0xCB,0xE2,0xD3,0x6D,0xB6,0x62,0x6D, + 0x33,0x2C,0x6F,0x30,0x80,0xE5,0x1D,0x7F,0x63,0x2F,0x71,0x14,0x3D,0xA0,0x71,0xDB, + 0xD6,0xAD,0x5B,0x79,0x80,0x0A,0xEB,0x73,0xA3,0x99,0xD6,0x3D,0x46,0xF3,0x67,0x3B, + 0xB8,0xCE,0x1E,0x2A,0xB0,0xF2,0xEE,0xF8,0x54,0xA4,0x11,0x1C,0x94,0x1D,0xEC,0xDB, + 0x17,0xDE,0xC3,0x1F,0x6A,0xA2,0xC9,0x6D,0x06,0x28,0xDC,0xF8,0xEC,0x6F,0xE3,0x78, + 0x37,0x8E,0x2D,0x5B,0xB6,0xB0,0xDE,0xBD,0x7B,0x5B,0xEA,0x1A,0x33,0xDD,0x80,0x8E, + 0x76,0xC7,0x8F,0x6C,0x94,0x16,0xAD,0x2D,0xBB,0xDE,0xC8,0x9F,0xA3,0x19,0x14,0x6C, + 0x28,0xFD,0xB7,0x42,0xD5,0xBA,0xD6,0x5F,0x3C,0xC4,0x9B,0xDC,0xA4,0x91,0x18,0x11, + 0xD1,0x00,0x4A,0x21,0x31,0xC7,0xC3,0x02,0x7B,0x3C,0x08,0xD9,0xC3,0x68,0xDD,0x9B, + 0x3F,0x7F,0xF2,0xC9,0x27,0xFC,0xD9,0xAA,0x68,0x88,0xD7,0x73,0xE5,0xC8,0xB1,0x72, + 0x57,0x37,0x9A,0x88,0x1C,0x30,0xD7,0x05,0xE9,0xB9,0xCE,0x0B,0x96,0x60,0x3C,0x68, + 0x05,0x94,0xF7,0xC6,0xAA,0x78,0x88,0x37,0x29,0x21,0x32,0x96,0x7D,0x11,0xC6,0x50, + 0xAC,0x4B,0x4A,0x56,0x07,0xFE,0x4C,0x38,0x5B,0xE7,0xC0,0x0B,0x81,0x47,0x62,0xE5, + 0xE5,0x82,0x86,0x2C,0x6F,0x59,0x05,0xD5,0x37,0x47,0x2A,0xE8,0xAC,0x08,0x14,0x6B, + 0x43,0x38,0x51,0x3C,0x11,0xD4,0x79,0x5B,0x15,0x8F,0x48,0xDA,0x8B,0x6F,0xEF,0x91, + 0xDE,0xFB,0xC2,0x75,0xE3,0xA6,0x87,0x27,0x74,0x64,0x37,0xF4,0x6F,0x11,0xF6,0xA8, + 0x9B,0x3A,0xDA,0x6C,0x06,0xAC,0xE7,0x7D,0xF3,0xF9,0xBB,0xA9,0x93,0x86,0x1B,0xA8, + 0xAA,0x4A,0x4F,0x4F,0xE7,0x96,0xE6,0xDA,0x07,0x56,0x8A,0xB3,0xAE,0x44,0x5B,0xB4, + 0x59,0x01,0x3D,0x9F,0x77,0xFC,0xEF,0x29,0x76,0xDF,0x7D,0xF7,0x61,0x0B,0x17,0xCB, + 0x5C,0x37,0x5E,0xA3,0xCD,0x5A,0x1D,0x24,0xCB,0x6D,0x6E,0x79,0x0F,0x1F,0x3B,0x43, + 0x9D,0x34,0x34,0x50,0x76,0xD7,0xA3,0x40,0x95,0x27,0x09,0xE2,0x3D,0xC1,0x62,0x05, + 0xAB,0xE2,0x21,0xDE,0x78,0x8D,0x95,0x45,0x56,0xDC,0x1D,0x1F,0x3D,0xAC,0x8C,0x82, + 0x1E,0x56,0xD4,0x49,0xC3,0x13,0x45,0xBC,0x71,0x09,0xC9,0xFC,0x99,0xA8,0x47,0x59, + 0x51,0x85,0x5A,0x67,0xAB,0xE2,0xA1,0xD4,0xF4,0xA6,0x9E,0x2B,0x8B,0xAA,0xAA,0x2F, + 0x89,0x91,0x75,0xB8,0xB2,0x5B,0x1B,0xB6,0xF3,0x83,0xC7,0x1D,0x46,0x1E,0x2F,0xFF, + 0x7E,0x82,0x83,0x5C,0x66,0x4F,0x14,0xF1,0x2A,0x56,0x86,0xA8,0x47,0xD9,0x1C,0xCD, + 0x56,0x96,0x57,0x2B,0xCF,0x5B,0x4E,0x5B,0x9E,0x44,0x24,0x88,0xA6,0x82,0x46,0x8D, + 0x68,0x29,0xA8,0x3B,0xCA,0x54,0x42,0x79,0x8F,0xAC,0x88,0x86,0x78,0x3D,0xA3,0xCD, + 0xE5,0xD4,0x4D,0x23,0x22,0x51,0x2C,0x6F,0x7C,0x94,0x2C,0xBA,0x37,0x0B,0x02,0x79, + 0xB6,0x12,0x6F,0x8B,0xF4,0x04,0x31,0xAA,0x87,0x52,0x45,0x44,0x34,0x12,0xD7,0x38, + 0x45,0x8C,0xAC,0x89,0x87,0x78,0x93,0xC8,0x6D,0x8E,0x1A,0x12,0x12,0x9C,0x37,0xEA, + 0xCB,0x97,0xE8,0xE6,0xAC,0xC5,0xF9,0x8A,0xA3,0x75,0xEF,0x91,0x15,0xF1,0x10,0x2F, + 0xD6,0xF4,0xBA,0x47,0x9C,0x69,0xCB,0x93,0xC8,0x24,0x3B,0xDB,0x99,0xB3,0xC5,0x0A, + 0x1A,0xC2,0x95,0xDA,0x0B,0x67,0xF9,0xB3,0xF2,0x1E,0x59,0x11,0xCD,0x08,0xAC,0xD6, + 0xB2,0xC0,0xD7,0x9E,0xE8,0xCB,0xB2,0x9B,0x25,0x84,0x35,0x62,0xEB,0x6F,0x91,0x86, + 0x51,0xB0,0x33,0xFE,0xD4,0xDB,0x07,0xB3,0x9F,0xDC,0x7A,0x55,0x54,0x44,0xA6,0x57, + 0xAF,0x5E,0x2D,0x0D,0x1D,0x3A,0xD4,0xA3,0x7B,0x86,0x9A,0x68,0x2D,0xD2,0x80,0xD5, + 0xFD,0xEC,0x95,0xF1,0xAC,0x57,0xAF,0x5E,0xA8,0x71,0xB6,0xCC,0xF5,0xE0,0x73,0x49, + 0xA0,0x56,0xFF,0xE6,0x68,0xB0,0xBE,0x17,0x2E,0xD6,0xB2,0x95,0x9F,0x16,0x8B,0xA3, + 0xC8,0x07,0xED,0x5E,0x00,0xB9,0xCD,0x9E,0x5C,0x14,0xDE,0x88,0xF2,0x1E,0x59,0x11, + 0x4D,0xF1,0x6A,0xED,0x59,0x64,0xB5,0x88,0x73,0x4A,0x72,0x02,0x5F,0x90,0x1F,0xE8, + 0xC7,0xF4,0x49,0x45,0xE2,0x37,0x44,0x3E,0xCA,0x85,0x79,0x5E,0x58,0x56,0xA2,0x9E, + 0x1A,0xBB,0xBA,0xCD,0x5A,0xF5,0xCD,0xD3,0x6E,0x69,0xCF,0x6E,0x1E,0x94,0x63,0x19, + 0xB7,0x19,0x42,0xA3,0x4E,0x1A,0x0D,0x47,0x16,0x30,0x5F,0xCF,0x8B,0xDA,0x66,0xA4, + 0x46,0xDC,0x89,0x56,0xB7,0x79,0xEF,0xBA,0xBF,0xF3,0xC7,0xAC,0x59,0xB3,0xD0,0x12, + 0xD7,0x3E,0x6E,0xB3,0x56,0x7D,0xF3,0xF1,0xD3,0xD4,0x02,0x36,0x12,0x19,0x38,0x70, + 0x20,0x7F,0x2E,0x3B,0xB8,0x85,0x3F,0x13,0x4E,0xCA,0x0F,0x39,0xDF,0x0F,0xE5,0xFD, + 0xB1,0x22,0x9A,0xE2,0x45,0xBB,0x57,0x77,0xCA,0x2B,0x28,0x5D,0x14,0x89,0x0C,0x18, + 0x30,0x80,0x3F,0x2B,0x17,0x2B,0xE1,0xEC,0x63,0x75,0xFA,0xE8,0x4E,0x3E,0xB6,0x9D, + 0x78,0xB3,0x33,0x1A,0x8B,0x51,0x3D,0xD4,0x4D,0x23,0x32,0x29,0x2A,0x72,0xCE,0xF1, + 0x95,0x8B,0x95,0x60,0xAC,0xAA,0x7C,0x3F,0x17,0x30,0x22,0xCD,0xE9,0xE9,0xE9,0x96, + 0x9D,0x9A,0x69,0x5B,0x5E,0x8D,0x2A,0x2B,0xDA,0x39,0x21,0x32,0xC1,0x05,0x0A,0x2A, + 0x4F,0xEC,0xE6,0x17,0x2C,0x51,0x3F,0x85,0xB0,0xB2,0xD5,0x05,0xDA,0x96,0x57,0x23, + 0x9F,0xEB,0x9E,0xF7,0x0D,0x37,0xE7,0xCE,0x5F,0xE4,0x01,0x2C,0x23,0x0F,0xF1,0x23, + 0x84,0x06,0xB0,0x2C,0xB8,0x48,0x21,0xDC,0xE3,0x7B,0x3F,0x15,0x67,0xA3,0x9B,0x23, + 0x3B,0x57,0xF0,0x67,0x65,0x4A,0x61,0x55,0x74,0x5D,0x82,0xDB,0x66,0x6D,0x90,0xDC, + 0xD3,0x43,0x4B,0x7F,0xDB,0x8F,0x65,0x34,0x6D,0x1C,0x36,0x37,0x02,0x42,0xF4,0xA7, + 0x48,0x23,0x33,0x3D,0x89,0x2D,0x7A,0xE6,0x47,0xAC,0x5D,0x6E,0xA6,0x65,0x5D,0xA0, + 0x70,0x82,0xDD,0x01,0xB0,0xBD,0x25,0x5A,0xE1,0xF4,0x1D,0xFF,0x27,0x71,0xD6,0x49, + 0xB4,0x45,0x9B,0xE1,0x81,0xAC,0x7B,0x7D,0x32,0x4F,0x11,0x95,0x96,0x96,0x5A,0xEE, + 0x7A,0x31,0xD4,0xB7,0x59,0x6B,0xDE,0xBB,0xF7,0x70,0x95,0x18,0xD9,0x8B,0x93,0xE5, + 0x55,0x6C,0xDB,0xAE,0xC3,0xE2,0x88,0x70,0x47,0x16,0xAE,0x03,0x35,0xBC,0x70,0x17, + 0x71,0xF1,0x46,0x33,0x87,0xB6,0xBD,0xCB,0x9F,0xB1,0x53,0xBE,0xD5,0xD1,0x15,0x6F, + 0x6E,0xF3,0x44,0x31,0xAA,0xE7,0xE0,0xF1,0xF3,0x62,0x14,0x7E,0xCC,0x14,0x69,0xDC, + 0x38,0xA4,0x0B,0x1B,0x7C,0x65,0x7B,0xF1,0x93,0x84,0x16,0xE8,0xD5,0x04,0x14,0x97, + 0x31,0x1A,0x41,0x3D,0xF3,0xE1,0x6F,0x3E,0xE0,0xE3,0x7B,0xEF,0xBD,0x97,0x3F,0x5B, + 0x19,0x5D,0xB7,0x60,0xE9,0xAA,0x83,0xD2,0xDF,0x3F,0xD8,0x2F,0x8E,0x9C,0x8C,0xBD, + 0xA6,0x25,0x9B,0x3A,0xA6,0x9D,0x25,0xDC,0x66,0x88,0x92,0x8A,0x34,0x02,0x07,0x5A, + 0x9C,0xF6,0xEE,0xDD,0x9B,0x77,0x90,0xB8,0xF6,0xFE,0x95,0x75,0x9D,0x24,0xA2,0xC9, + 0x6D,0xDE,0xBF,0xF9,0x5F,0xEC,0xDB,0x35,0x2F,0xB2,0x11,0x23,0x46,0xB0,0x95,0x2B, + 0x57,0x5A,0xF2,0xDA,0x32,0xE4,0x36,0xB7,0xD0,0x70,0x9B,0xAD,0x64,0x79,0x89,0xC0, + 0x82,0x3D,0x79,0x94,0xC0,0xD5,0xEE,0xB5,0xCE,0x7D,0x7A,0xA3,0x09,0xAC,0xAC,0x2A, + 0xD9,0xE8,0x34,0x0C,0x76,0xB0,0xBA,0xC0,0x94,0xDB,0x6C,0xD7,0x39,0x2F,0x61,0x8C, + 0x05,0x0B,0x16,0xF0,0xE7,0x43,0x5F,0x2F,0x8F,0xBA,0xB9,0xEF,0xF7,0xEB,0xFE,0x2E, + 0x0B,0xF8,0x14,0x4F,0x0F,0x8D,0x1D,0x3B,0xD6,0x16,0x1E,0x9D,0xAE,0x78,0x3B,0xB4, + 0xF6,0x6C,0xD8,0x86,0xE8,0x33,0x36,0xE0,0x16,0x87,0x44,0x84,0x01,0xEB,0x8B,0xB9, + 0xEF,0x25,0xD9,0xFA,0xC2,0x7D,0x8C,0x16,0x70,0xA3,0x3A,0x28,0xDF,0xB0,0x80,0x72, + 0x03,0xB3,0x03,0xBA,0xE2,0x05,0x5A,0x65,0x92,0xE4,0x3A,0x47,0x36,0x28,0xC4,0x47, + 0x9A,0x04,0x91,0xE7,0xD2,0x6F,0x57,0x89,0xB3,0x91,0xCD,0x8E,0x95,0x4F,0xF1,0xE7, + 0xE9,0xD3,0xA7,0x5B,0x6E,0x4B,0x4F,0x6F,0x78,0x7D,0xA1,0xBF,0xFD,0x7B,0xB1,0xF4, + 0xC5,0x8E,0x53,0xE2,0xC8,0xC9,0x7D,0xA3,0xF3,0xD9,0x0F,0x87,0xB4,0x0A,0xCB,0x1F, + 0xA8,0x0E,0x58,0x15,0x74,0xC8,0x66,0x8F,0x4C,0xB9,0x8E,0x8F,0x03,0x05,0xF2,0xC1, + 0x94,0x0B,0xAE,0xCF,0xFB,0xA2,0x77,0x71,0xD7,0x1B,0x7F,0xC7,0x2E,0x9C,0xAB,0xE0, + 0xE7,0x23,0x31,0x60,0xA5,0x04,0xA9,0x70,0xC3,0x2A,0x2E,0x2E,0xB6,0x74,0x39,0x24, + 0x50,0x07,0xAC,0xBC,0xBE,0xD0,0x77,0x3E,0x39,0x2C,0x2D,0x7C,0x77,0x9F,0x38,0x72, + 0x32,0xEA,0xAA,0x6C,0xF6,0xE0,0xB8,0x0E,0x61,0x17,0x6F,0xB0,0x98,0x32,0xBE,0x90, + 0xCD,0x98,0x3C,0x34,0xEA,0x05,0x2C,0xCF,0xFD,0x24,0xEC,0x63,0x94,0xD7,0xFF,0x1E, + 0x96,0x94,0xE9,0xDC,0x84,0x2C,0xD2,0xC4,0x7B,0xB2,0xE4,0x4B,0xB6,0xF9,0x9D,0x87, + 0xF9,0x78,0xD1,0xA2,0x45,0x6C,0xF2,0xE4,0xC9,0x96,0xFF,0xDC,0x0D,0x45,0x9B,0x41, + 0xFB,0x56,0x49,0x62,0x54,0x4F,0xF1,0xFE,0x4A,0x31,0x8A,0x4C,0xD6,0x7E,0xF5,0xBD, + 0x18,0x45,0x37,0xCB,0x96,0x2D,0x63,0x79,0x79,0x79,0xAC,0xA6,0xDA,0x69,0x75,0x23, + 0x8D,0xAA,0xB2,0xFD,0x6C,0xFB,0xFB,0xB3,0xF8,0x18,0xEE,0xB2,0x1D,0x84,0xEB,0x8E, + 0xCF,0x17,0x3C,0xEA,0x91,0x2F,0x24,0xF7,0xED,0x4E,0xFE,0xFD,0xE4,0x00,0xDE,0xA8, + 0x4E,0x1C,0x86,0x8C,0x3A,0xCB,0x2B,0xDF,0x7C,0x52,0x52,0x12,0x58,0xE7,0x76,0x2D, + 0xC4,0x57,0x02,0x43,0xE3,0xB8,0x46,0xEC,0x8E,0xD1,0xFD,0xD8,0xD5,0x7D,0xDB,0x47, + 0xBD,0xE5,0x05,0xC8,0xFD,0x8E,0xBE,0xE7,0x19,0x96,0x92,0xD3,0x93,0x1F,0x47,0x8A, + 0xE5,0x45,0x31,0x06,0x4A,0x20,0xD1,0xA7,0xCA,0xCA,0x39,0x5D,0x2D,0x0C,0xBB,0xCD, + 0x60,0xEA,0xF3,0x5B,0x24,0xF7,0x14,0xD1,0xAC,0xC9,0x9D,0xD9,0xA0,0xEE,0xA1,0x9F, + 0x1B,0x52,0x91,0x46,0xE8,0xB9,0x7D,0xDA,0x9F,0xA4,0x6D,0x7B,0x9D,0xDE,0x56,0x8C, + 0xA3,0x96,0xE5,0x74,0xBA,0x96,0x8F,0xED,0x0A,0xF2,0xD8,0x5B,0xFF,0x33,0x93,0xBB, + 0xCC,0x9D,0x3B,0x77,0x66,0xEB,0xD6,0xAD,0xB3,0xFC,0x3C,0x57,0x8D,0x61,0xB7,0x19, + 0xF4,0x68,0x9F,0x2A,0x46,0xF5,0xAC,0xDB,0x51,0x2E,0x46,0x44,0xA4,0x93,0x9F,0x9F, + 0x2F,0x46,0x8C,0x1D,0xDC,0xB6,0xBC,0x2E,0xA5,0x62,0x47,0x60,0x71,0x37,0xBE,0x35, + 0x8D,0x0B,0x17,0xFD,0xBB,0x56,0xAC,0x58,0x61,0x2B,0xE1,0xBA,0x63,0x40,0xBC,0x4D, + 0xC5,0xA8,0x9E,0x8D,0xBB,0x48,0xBC,0xD1,0x4A,0xF1,0xAA,0xE7,0x6C,0x59,0x81,0x05, + 0x17,0xF9,0xCB,0x25,0xF7,0xB2,0x33,0x47,0x77,0xF2,0xB9,0x3C,0x2C,0xAE,0x7C,0x63, + 0xB2,0xB5,0xE7,0x66,0xC8,0xF2,0xBA,0x37,0x61,0x47,0xB1,0xC6,0x9E,0x43,0x67,0xEB, + 0xED,0x37,0x11,0x15,0xA0,0x80,0x03,0xAB,0x8F,0xF6,0x6D,0x78,0x83,0x7D,0xFD,0xFE, + 0x6F,0x6D,0xB3,0x78,0x1F,0x45,0x18,0xEB,0xE5,0x39,0x2E,0x82,0x54,0xA8,0xA0,0x92, + 0xE7,0xF2,0xAC,0xA0,0xA0,0xC0,0xF6,0x53,0x2E,0x9F,0xE2,0x45,0x60,0xAA,0x20,0xCF, + 0x73,0xCF,0x96,0x4F,0xB6,0x9D,0x14,0x23,0x22,0x5A,0xC0,0xE2,0xF4,0xD5,0xAB,0x57, + 0x73,0x97,0x13,0x05,0x1C,0xEB,0xDE,0x98,0xCC,0x2D,0x99,0x55,0x51,0xEA,0xB4,0x11, + 0x9C,0x42,0x2B,0xD7,0x31,0x63,0xC6,0xB0,0xF5,0xEB,0xD7,0x3B,0xEC,0xEC,0x2A,0xAB, + 0xF1,0x29,0x5E,0x70,0x4D,0xCF,0x4C,0x31,0xAA,0xE7,0xC3,0x0D,0xC7,0xC5,0x28,0x3C, + 0x9C,0x3D,0x77,0x81,0x07,0xB0,0x8C,0x3C,0xC4,0x8F,0x10,0x01,0xA0,0xB0,0xB0,0xD0, + 0x01,0xCB,0x05,0x0B,0x06,0x4B,0x06,0x57,0x14,0x45,0x0E,0xCA,0xF6,0x20,0x56,0x01, + 0x37,0x15,0xDC,0x5C,0xE0,0x25,0x80,0xC7,0x1E,0x7B,0x8C,0x2D,0x5F,0xBE,0x3C,0x22, + 0x44,0xAB,0x60,0xE8,0x8F,0x29,0xAB,0xB8,0x20,0xDD,0xF5,0xE4,0x57,0x1E,0x3B,0xE4, + 0x87,0x3A,0xEA,0x0C,0x21,0xFA,0x53,0xA4,0x91,0x92,0x94,0xC0,0x16,0x3D,0x73,0x3B, + 0x2B,0x68,0x9F,0x1D,0x51,0x1F,0x5E,0x28,0x78,0xE2,0x85,0xF7,0xA4,0xE5,0xAB,0xBE, + 0xE6,0xE3,0x27,0x67,0xDC,0xC4,0xC6,0x5E,0xDF,0xB3,0xEE,0x3D,0x7C,0xFA,0xE9,0xA7, + 0xA5,0xD9,0xB3,0x67,0xF3,0xDD,0xE3,0x79,0x35,0xD6,0x0D,0x4F,0xF0,0xAD,0x53,0xC2, + 0x09,0x6E,0x22,0xFB,0x36,0xBE,0x51,0x27,0x5A,0x44,0x94,0x51,0x80,0x81,0x9B,0x0E, + 0x3F,0x61,0x73,0x4C,0x45,0x9B,0x01,0x5A,0xDF,0xF4,0xED,0x9C,0x2E,0x8E,0xEA,0x79, + 0xE3,0xC3,0x83,0x62,0x64,0x6D,0x2A,0xAB,0xAA,0xD9,0xAE,0xEF,0x8F,0x89,0x23,0x22, + 0x50,0xCC,0x9C,0x39,0xB3,0xCE,0x0A,0x63,0x49,0x1D,0xAA,0x95,0xE0,0xA2,0x1E,0xD9, + 0xE9,0x5C,0xD0,0x1E,0x4A,0x10,0x90,0x82,0x07,0xF0,0xD9,0x2B,0xE3,0x5C,0xAC,0xED, + 0xAE,0x5D,0xBB,0x1C,0x91,0x22,0x5C,0x77,0x0C,0xFF,0x51,0x1B,0x8B,0xCB,0xA4,0x27, + 0xFE,0xFA,0x8D,0x38,0xAA,0xE7,0xE1,0x09,0x1D,0xD9,0x0D,0xFD,0x5B,0x84,0xE4,0xCD, + 0x51,0x5B,0x5E,0x74,0xD2,0x30,0x5A,0xA4,0xD1,0xB3,0x53,0x4B,0x2A,0x79,0xF4,0x13, + 0x6F,0x96,0x57,0x0D,0xAC,0xF0,0xFC,0xF9,0xF3,0xEB,0x36,0xEC,0x86,0x25,0x6E,0xD3, + 0xFB,0x56,0xD6,0xB2,0xEB,0x48,0x3E,0x0E,0x16,0x70,0x8F,0xF7,0x6F,0x7E,0xCB,0x65, + 0x11,0x05,0xDA,0xD9,0xCA,0xAF,0x27,0x62,0xAC,0xAD,0x1A,0x53,0x45,0x1A,0x6A,0x1E, + 0x9A,0xBF,0x4D,0x72,0x2F,0x8F,0x4C,0x4F,0x89,0x67,0xFF,0x9C,0xDD,0x3F,0xE4,0xE2, + 0xA5,0x22,0x8D,0xD0,0x60,0x54,0xBC,0x0A,0xB2,0x8B,0x2A,0xCD,0x99,0x33,0x07,0x16, + 0x8F,0x1F,0xA3,0x23,0xC7,0x80,0x89,0x2F,0xB3,0x94,0xAC,0x8E,0xFC,0x38,0x90,0x20, + 0xE2,0xAD,0x88,0x16,0x51,0x70,0xF4,0x9D,0x7A,0xE8,0xA1,0x87,0x6C,0xB5,0x32,0xC8, + 0x2C,0xA6,0xDD,0x66,0x05,0xEC,0x57,0xE4,0x0E,0xD2,0x46,0xAF,0xAD,0xA4,0xA0,0x10, + 0xE1,0x04,0x35,0xC2,0x70,0x55,0x11,0x95,0x46,0x4F,0x68,0x44,0x7C,0x6B,0xAA,0x83, + 0x13,0xCC,0xBA,0x78,0xCE,0xB9,0xE2,0x0D,0xEE,0xF1,0xBE,0x7D,0xFB,0xD8,0xE2,0xC5, + 0x8B,0x1D,0x91,0x2C,0x5C,0x77,0x4C,0x89,0x17,0x0B,0xF4,0xAF,0xEA,0xD6,0x4C,0x1C, + 0xD5,0x83,0xB9,0xEF,0xE7,0xDB,0x4F,0x92,0x80,0x89,0x3A,0x86,0x0E,0x1D,0xEA,0x50, + 0x1A,0xBA,0x07,0x1B,0xB4,0xAD,0xC9,0xC9,0x09,0xEF,0x26,0x78,0xE1,0xC0,0x94,0x78, + 0xC1,0x1D,0xC3,0x73,0xC5,0xC8,0x95,0xA7,0x5F,0xFF,0x8E,0x0A,0x37,0x08,0x22,0x84, + 0x98,0x16,0x2F,0xAC,0xEF,0x3D,0x23,0xDB,0x8A,0xA3,0x7A,0x90,0x46,0x7A,0x64,0xC1, + 0x0E,0xF6,0xBF,0x0D,0xC7,0x48,0xC0,0x04,0x11,0x02,0x4C,0x8B,0x17,0x4C,0x18,0x96, + 0xEB,0x28,0xEA,0x9D,0x25,0x8E,0xEA,0xC1,0xEE,0xF9,0xCF,0x2F,0xDD,0xCD,0x1E,0xFF, + 0xCB,0x4E,0xE9,0xC0,0xB1,0x73,0x41,0x15,0x71,0x65,0x95,0xF1,0x22,0x0D,0xA3,0x8F, + 0xE2,0xBD,0xA5,0x74,0xE3,0x21,0x6C,0x43,0x83,0xE6,0x09,0x5A,0xD1,0x67,0x35,0x05, + 0x6D,0x53,0xD8,0xB0,0xBE,0xCD,0x59,0xBF,0xCE,0xE9,0x9A,0xFB,0x1F,0x99,0x05,0x02, + 0xF3,0xA7,0x48,0xC3,0x0C,0xB7,0x8D,0xEC,0xC3,0x7E,0xF3,0xB3,0x11,0x51,0x37,0x7F, + 0xD2,0xC3,0x6C,0xB4,0x59,0xCD,0xA4,0x49,0x93,0xA4,0xC5,0x8B,0x17,0xF3,0x2D,0x54, + 0xB0,0x95,0x4A,0xA0,0xD9,0xF4,0xD6,0x34,0xDE,0x6B,0x0B,0xC1,0x2A,0xBB,0x2F,0x32, + 0x30,0x8A,0xDF,0xD1,0x66,0x77,0x50,0x61,0x95,0xDB,0xBC,0x89,0x38,0xF2,0x04,0xC2, + 0xFE,0xD3,0xBF,0xF7,0xB2,0xBB,0xFE,0xB0,0x89,0xEF,0x7D,0x04,0x8B,0x8C,0xC8,0x34, + 0x1E,0xFF,0xFD,0xFC,0xA8,0xB4,0x6D,0xCF,0x69,0xDD,0x07,0xAA,0xBA,0xC4,0x3F,0x13, + 0x52,0xA8,0x98,0x83,0xB0,0x0B,0x01,0xB9,0x5B,0xBD,0xF8,0xF6,0x1E,0xE9,0xBD,0x2F, + 0x9C,0xC9,0xF9,0x70,0xD1,0xC8,0x71,0x89,0xC5,0x3A,0xF4,0x37,0x00,0x6F,0xC4,0x2E, + 0xC9,0xDF,0xE3,0xF9,0xF5,0x18,0x76,0x99,0x25,0xC4,0x9C,0x97,0xBF,0x56,0xCB,0x9A, + 0x26,0x35,0xE6,0x9D,0x34,0xFA,0xF7,0x68,0x4B,0x96,0x57,0x40,0x96,0xD7,0x5A,0x04, + 0xCC,0xF2,0x2A,0xA0,0x21,0xDD,0x1F,0x7E,0xD2,0x85,0x25,0x37,0x89,0x15,0x67,0x42, + 0xCF,0x25,0xA9,0x11,0xBB,0x70,0x39,0x41,0xF7,0x71,0xEE,0x72,0x12,0xAB,0xBC,0x94, + 0xE6,0xF1,0x38,0x73,0x29,0x83,0x95,0x4B,0xB9,0x6C,0xC6,0x94,0x9B,0xD8,0x8B,0xBF, + 0x1E,0xE7,0x20,0xE1,0x12,0x76,0x21,0x20,0xE2,0x05,0xFD,0x0A,0x32,0x1C,0xAF,0x3E, + 0x71,0x25,0x2F,0xE4,0xF0,0xE6,0x4A,0x5B,0x11,0x44,0xCA,0xDF,0x5F,0x47,0xEE,0x32, + 0x61,0x2F,0x02,0x26,0x5E,0x80,0xB5,0xBF,0x37,0x0F,0xCA,0x71,0xFC,0xED,0xB1,0x2B, + 0x1D,0xF3,0x1E,0xEC,0xC1,0xDB,0xC4,0xF6,0xEC,0xE0,0xD9,0x46,0xC7,0x8A,0x5C,0xAC, + 0x71,0x5D,0x31,0x45,0x10,0x56,0x27,0xA0,0xE2,0x55,0xD3,0x25,0xAF,0xA9,0x03,0xEE, + 0xF4,0xB3,0xF7,0x77,0x77,0x7C,0xF8,0xC2,0x60,0xC7,0x2B,0x8F,0xF6,0xE1,0x01,0x2E, + 0x14,0x79,0x28,0x0F,0x54,0x6B,0x41,0xDC,0xBE,0x1E,0x5A,0x3B,0x37,0x04,0x9A,0xB1, + 0xD7,0xE4,0x88,0x11,0x41,0xD8,0x03,0x5B,0xCD,0xEF,0xD4,0xA9,0xA2,0x56,0x2D,0x52, + 0xD9,0xE8,0xEB,0xBA,0xF3,0xB1,0x9A,0xB3,0xD5,0x0E,0x76,0xA1,0x56,0x3F,0x50,0x5D, + 0x76,0xD6,0x21,0xCF,0x8F,0xC5,0x81,0x20,0x27,0x55,0x62,0xA9,0x9E,0xFB,0xAA,0x11, + 0x32,0xFF,0x6F,0xFD,0xEE,0xBA,0x08,0x3C,0x05,0xAC,0xC2,0x8F,0xDF,0xAB,0x8A,0xC2, + 0x4D,0x28,0xF2,0xBC,0x84,0x3E,0xFE,0x8A,0x37,0xD8,0x50,0xB4,0x99,0x20,0x08,0x5B, + 0x61,0xAB,0xBB,0xD5,0xA1,0xD2,0xD3,0xD2,0xBB,0x22,0xE7,0x48,0x84,0x9E,0x6B,0x0B, + 0xAF,0xA0,0x56,0x42,0x61,0xC6,0xB6,0x6E,0x33,0x41,0x44,0x3B,0x41,0x17,0xEF,0xB2, + 0x65,0xCB,0xA4,0xAD,0x5B,0xB7,0x8A,0x23,0x82,0x20,0x02,0x01,0x9A,0xC5,0x4F,0x9A, + 0x34,0x29,0xB8,0x06,0x17,0x81,0x0A,0xF9,0x89,0x1E,0xF4,0xA0,0x47,0x00,0x1F,0x45, + 0x45,0x45,0xB2,0xE1,0x95,0xB8,0xF5,0xC5,0xC3,0x9B,0x8A,0xF1,0x03,0x5A,0xF8,0x54, + 0xBE,0x12,0x65,0x44,0x93,0xEB,0x9E,0x3D,0x9D,0x3B,0xCC,0x11,0x04,0xE1,0x1F,0xFB, + 0xF7,0xEF,0x47,0x8B,0x1F,0xDE,0x58,0x6F,0xF5,0xEA,0xD5,0xBE,0x2D,0xEF,0xAC,0x59, + 0xB3,0x24,0x3C,0x64,0x53,0xCD,0x1F,0xCA,0xB1,0xF8,0xB2,0x57,0x14,0xCB,0x8B,0x66, + 0x64,0xCE,0x33,0x04,0x41,0xF8,0x8B,0x2C,0x58,0x4D,0xCB,0xAB,0x9B,0x2A,0x9A,0x3D, + 0x7B,0xB6,0x03,0xDD,0xF8,0xB0,0xB5,0x05,0x1E,0x18,0xE3,0x9C,0xF8,0x32,0x41,0x10, + 0x61,0xC6,0x43,0xBC,0xFB,0xF6,0xED,0x93,0xA6,0x4F,0x9F,0x2E,0x75,0xEE,0xDC,0x59, + 0x2A,0x28,0x28,0x60,0x08,0x3C,0xE1,0x81,0x71,0x42,0x42,0x02,0xFF,0xDA,0xD1,0xA3, + 0x47,0x25,0x58,0xD7,0x11,0x23,0x46,0x90,0x65,0x25,0x88,0x30,0xE1,0x22,0xDE,0x75, + 0xEB,0xD6,0x49,0x85,0x85,0x85,0x6C,0xDE,0xBC,0x79,0xBC,0x0B,0xFE,0xDC,0xB9,0x73, + 0xF9,0xC6,0x52,0x78,0x60,0x0C,0xEB,0x8B,0xAF,0xE5,0xE4,0xE4,0x70,0x1F,0x7C,0xC8, + 0x90,0x21,0xE2,0x27,0x09,0x82,0x08,0x35,0x75,0xE2,0xC5,0xFC,0x74,0xE8,0xD0,0xA1, + 0xDC,0x45,0xC6,0xDE,0xA5,0xB2,0x38,0x1D,0x33,0x66,0xCC,0x70,0xA0,0x85,0x27,0xF6, + 0xA3,0x39,0x76,0xEC,0x18,0xBB,0xED,0xB6,0xDB,0xF8,0xD7,0xB0,0xFF,0x0B,0x80,0xC0, + 0x09,0x82,0x08,0x23,0x70,0x83,0xE1,0x12,0xCB,0x62,0xD4,0x73,0x83,0xF9,0x84,0x19, + 0x8F,0xFB,0xEE,0xBB,0x4F,0x2A,0x2F,0x2F,0xE7,0xDF,0x9B,0x9D,0x9D,0xCD,0x5D,0x68, + 0xFE,0x1D,0x2A,0x28,0x60,0x45,0x10,0x81,0xC3,0x6B,0xC0,0x0A,0x96,0x15,0x60,0x37, + 0x35,0x5F,0x2C,0x5C,0xB8,0x90,0xC9,0x16,0x99,0x7F,0xEF,0xE9,0xD3,0xA7,0xD9,0xD4, + 0xA9,0x53,0xC5,0x57,0x08,0x82,0x08,0x25,0x31,0xC5,0xC5,0xC5,0x12,0x04,0x39,0x7D, + 0xFA,0x74,0xC3,0xBB,0x85,0x63,0xBE,0x8B,0x20,0x16,0x7E,0x66,0xE5,0xCA,0x95,0xE2, + 0x2C,0x41,0x10,0xA1,0x24,0xA6,0xA4,0xA4,0x84,0x0F,0xCC,0x06,0x9F,0xFE,0xF9,0xCF, + 0x7F,0xF2,0x9F,0xC1,0xDE,0xAC,0x28,0x87,0x14,0xA7,0x09,0x82,0x08,0x11,0x75,0xE2, + 0x35,0x1B,0x7C,0x5A,0xB3,0x66,0x4D,0xDD,0xCF,0x50,0x1D,0x33,0x41,0x84,0x9E,0x18, + 0x65,0x3F,0xD5,0xF4,0xF4,0x74,0x5D,0x97,0x59,0x49,0x17,0xA9,0x1F,0xB2,0xB5,0xAD, + 0xFB,0x19,0x44,0xA8,0x09,0x82,0x08,0x2D,0x31,0x58,0xA9,0x00,0xB6,0x6C,0xD9,0xA2, + 0xEB,0xFA,0x22,0x5D,0xA4,0xF5,0x50,0x7E,0x26,0x3B,0x3B,0x9B,0x7F,0x1F,0x41,0x10, + 0xA1,0x23,0x66,0xC4,0x88,0x11,0x7C,0xB0,0x7E,0xFD,0x7A,0xFE,0x6C,0x06,0xE5,0x67, + 0x94,0x1B,0x00,0x41,0x10,0xA1,0x23,0x06,0xFB,0x9A,0x62,0xEE,0x3A,0x7F,0xFE,0x7C, + 0x71,0xCA,0x38,0xF8,0x19,0xEC,0xC1,0x5A,0x58,0x58,0x48,0x35,0xCF,0x04,0x11,0x62, + 0x78,0x9E,0xF7,0xA1,0x87,0x1E,0x62,0xBB,0x76,0xED,0xC2,0x0E,0xE3,0x86,0xA3,0xC6, + 0xF8,0x5E,0xFC,0xCC,0x82,0x05,0x0B,0xC4,0x19,0x82,0x20,0xC2,0x02,0x16,0x1C,0xC8, + 0x4F,0xD2,0xD3,0x4F,0x3F,0xED,0x53,0xC0,0xE2,0x7B,0xA4,0x09,0x13,0x26,0x68,0x7E, + 0x2F,0x55,0x58,0x11,0x44,0xE0,0x58,0xAD,0x53,0x61,0xE5,0x82,0x58,0x25,0xC4,0x4B, + 0x1F,0x57,0xAC,0x58,0xE1,0x21,0x3C,0x9C,0xC3,0xD7,0xE4,0x21,0x5F,0x5D,0xE4,0x3C, + 0xEB,0x09,0x89,0x97,0x20,0x02,0x87,0x21,0xF1,0x82,0x25,0x4B,0x96,0xF0,0xC5,0xF7, + 0xF2,0x90,0x3F,0xB0,0x34,0x10,0x0F,0xE5,0x18,0xF5,0xCC,0xF8,0x1E,0x79,0xAC,0x0B, + 0x89,0x97,0x20,0x02,0x87,0x9E,0x78,0x75,0x03,0x4D,0xF2,0x5C,0x56,0x42,0x0E,0x18, + 0xAB,0x89,0x30,0xB7,0x45,0x50,0x0B,0xAB,0x8A,0x7A,0xF7,0xEE,0xED,0x33,0x38,0x05, + 0xF1,0xA2,0x84,0x12,0xAB,0x8F,0x28,0x8D,0x44,0x10,0x0D,0x03,0x6B,0x08,0x50,0x08, + 0x25,0x8B,0x17,0x42,0x0E,0x6E,0x70,0x58,0xB1,0xBC,0xF4,0xA0,0x07,0x3D,0x02,0xF7, + 0x30,0x6C,0x79,0x09,0x82,0xB0,0x1E,0x10,0xAD,0x13,0xC6,0xFE,0x3F,0xBD,0xEA,0xD4, + 0xA9,0xCF,0x71,0x4E,0x7C,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60, + 0x82, +}; // plantmodel_png, 22369 bytes + +// File: pointer.png +// +const char pointer_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x16,0x08,0x03,0x00,0x00,0x00,0x15,0x43,0x57, + 0x4D,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x69,0x50,0x4C,0x54,0x45,0xFC,0xFC,0xFC,0xC9,0xCA,0xCC,0xF6,0xF6,0xF6,0xE4, + 0xE5,0xE6,0xBB,0xC0,0xC9,0xDA,0xDB,0xDE,0xC6,0xC8,0xCC,0x5A,0x7F,0xC4,0xC6,0xC8, + 0xCA,0xEE,0xEE,0xEE,0xAB,0xB6,0xCB,0x46,0x72,0xC4,0x97,0xA9,0xCA,0xCC,0xCF,0xD4, + 0x6A,0x8A,0xC5,0x56,0x7D,0xC4,0xF5,0xF5,0xF5,0xBB,0xC1,0xCB,0x83,0x9A,0xC7,0xC4, + 0xC6,0xCA,0x4A,0x74,0xC4,0xC2,0xC5,0xCB,0xFA,0xFA,0xFA,0x52,0x7A,0xC5,0xC6,0xC8, + 0xCB,0x66,0x87,0xC5,0xCA,0xCD,0xD2,0x7A,0x95,0xC5,0xD8,0xDA,0xDD,0x91,0xA4,0xC8, + 0xE2,0xE3,0xE4,0xD8,0xDA,0xDB,0xC8,0xC8,0xC8,0xCE,0xCF,0xD2,0x00,0x00,0x00,0x5B, + 0x43,0x98,0xD1,0x00,0x00,0x00,0x23,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x66,0x29, + 0x83,0x96,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00, + 0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x00,0x93,0x49,0x44,0x41,0x54,0x28, + 0x53,0x7D,0x8E,0x59,0x0E,0xC2,0x30,0x0C,0x05,0x03,0xA1,0x81,0xD6,0xDD,0x17,0xF6, + 0x35,0xF7,0x3F,0x24,0xB6,0x9F,0xDB,0x08,0x90,0x98,0x8F,0xE8,0x79,0xA4,0x48,0xE3, + 0xE2,0x2F,0x7F,0x9D,0x5B,0xAD,0x6D,0x25,0xE7,0x37,0x99,0xAD,0xE4,0xC2,0x76,0x67, + 0x6B,0x71,0x79,0x41,0xA5,0xB7,0x3D,0xBB,0xAA,0xA6,0x26,0xD8,0x36,0xD7,0x76,0x44, + 0x54,0xE4,0x38,0xCC,0x65,0x3D,0xBB,0xBA,0xC2,0x01,0xE7,0x86,0x91,0x1D,0x75,0x2D, + 0x2E,0x7D,0x7D,0x29,0x8A,0x7A,0xE4,0xC0,0x85,0x46,0xDD,0x38,0xED,0x17,0xC7,0x21, + 0x00,0x39,0xEA,0x38,0x04,0x1C,0x8E,0xB3,0xD3,0x10,0xA0,0x39,0xE2,0x34,0x04,0x9C, + 0xCE,0x70,0x16,0x02,0x24,0x87,0x9D,0x85,0x80,0xCB,0x55,0x9D,0x85,0x00,0xC9,0x71, + 0x29,0x04,0xDC,0xEE,0xEC,0x1E,0xCF,0x4F,0x5E,0xF2,0xF7,0x8B,0x18,0xDF,0x6A,0x3F, + 0x28,0x84,0x97,0xF1,0x29,0x9F,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42, + 0x60,0x82, +}; // pointer_png, 418 bytes // File: rssi.htm // @@ -3282,11 +4077,13 @@ const char rssi_htm[] PROGMEM = { "\n" "\n" " Grow Controller RSSI\n" - " \n" + " \n" + " \n" + " \n" " \n" " \n" "\n" - "\n" + "\n" "

Grow Controller - RSSI

\n" "
\n" " \n" @@ -3305,23 +4102,10 @@ const char rssi_htm[] PROGMEM = { " \n" "
\n" "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // rssi_htm, 1194 bytes +}; // rssi_htm, 954 bytes // File: rssi.js // @@ -3435,11 +4219,316 @@ const char rssi_js[] PROGMEM = { " ctx.fillText('RSSI Graph', axes.x0, axes.y0 - 6);\n" " ctx.stroke();\n" "}\n" -}; // rssi_js, 2770 bytes +}; // rssi_js, 2879 bytes -// File: Water.png +// File: soilheater_off.png // -const char Water_png[] PROGMEM = { +const char soilheater_off_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x45,0x00,0x00,0x00,0x12,0x08,0x03,0x00,0x00,0x00,0x3A,0xD8,0xE3, + 0x54,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x48,0x50,0x4C,0x54,0x45,0xF7,0xF7,0xF7,0x48,0x48,0x48,0x40,0x40,0x40,0x70, + 0x70,0x70,0xB7,0xB7,0xB7,0x9F,0x9F,0x9F,0x87,0x87,0x87,0xE7,0xE7,0xE7,0x8F,0x8F, + 0x8F,0x00,0x00,0x00,0xCF,0xCF,0xCF,0x30,0x30,0x30,0x18,0x18,0x18,0x08,0x08,0x08, + 0x50,0x50,0x50,0xAF,0xAF,0xAF,0xBF,0xBF,0xBF,0x78,0x78,0x78,0x38,0x38,0x38,0x7F, + 0x7F,0x7F,0xA7,0xA7,0xA7,0xDF,0xDF,0xDF,0x20,0x20,0x20,0x00,0x00,0x00,0xC4,0xC2, + 0xC4,0x2F,0x00,0x00,0x00,0x18,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x00,0xCD,0x13,0x2E,0xEA,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00, + 0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x01,0x05,0x49, + 0x44,0x41,0x54,0x38,0x4F,0xCD,0x92,0xCB,0x96,0x82,0x40,0x10,0x43,0xB1,0x7D,0x40, + 0x29,0x28,0xEA,0x8C,0xFC,0xFF,0x9F,0x9A,0xA4,0xAA,0x91,0xE2,0xB0,0x9A,0x33,0x0B, + 0xB3,0x68,0x0A,0x03,0xB9,0x91,0xEE,0x66,0xFA,0x0F,0x7D,0x65,0x4A,0xB3,0x2B,0xFB, + 0x18,0x0F,0xA5,0x1C,0x63,0x3C,0x95,0xD2,0xFA,0xB4,0xED,0x87,0xE6,0x94,0xCE,0xCC, + 0xCE,0x3E,0x5E,0xCC,0x7A,0xFF,0xBD,0x1D,0xCC,0xE2,0xDD,0x4D,0xBF,0xAA,0xDE,0x35, + 0x3D,0x9E,0xBA,0x6A,0xBC,0x61,0xB2,0x4E,0xE3,0x1E,0xD3,0xA0,0x32,0xDB,0x7E,0x55, + 0x4D,0x01,0x0A,0x5C,0xC1,0x80,0x0A,0x18,0xAB,0x44,0x99,0x4D,0x7F,0x96,0x6E,0xC6, + 0x71,0xEC,0x6D,0x38,0x38,0x0C,0xA8,0x0B,0x3A,0x10,0x86,0xCB,0x09,0x06,0xCA,0xA0, + 0xCA,0xCA,0xBF,0xE3,0x25,0x89,0x01,0x4A,0x61,0x38,0x90,0x57,0xC1,0x80,0xBA,0xA1, + 0x04,0x60,0x5A,0x51,0x02,0x65,0xB4,0x26,0x7F,0x56,0x4A,0x01,0xF1,0x4C,0x18,0x50, + 0x0F,0xB5,0xE8,0x7C,0x61,0x8B,0x56,0xCB,0xCA,0xAF,0x9A,0x53,0x9E,0xD0,0x0F,0xAE, + 0x84,0x01,0x05,0x20,0x6B,0xFC,0xAA,0x90,0x6A,0x78,0xA1,0xA5,0xCF,0x57,0x5C,0x0C, + 0x50,0x4A,0x15,0x60,0xAF,0xD8,0x09,0xC0,0x30,0xF2,0xE3,0xB0,0x87,0x7F,0x9C,0xA5, + 0x9F,0x95,0x52,0x08,0x13,0x2A,0xB6,0xC7,0x37,0x02,0x45,0xBC,0xCA,0xD2,0xCF,0xCA, + 0x29,0x80,0x55,0x14,0xFF,0xB9,0x1F,0x0A,0x1E,0x15,0x3F,0x34,0x4B,0x3F,0x29,0xA7, + 0xC4,0x36,0x50,0xBE,0x4D,0x52,0x7C,0x15,0xEA,0xE3,0x27,0xAD,0x52,0xFE,0xA8,0xEF, + 0x49,0x99,0xA6,0x37,0xE5,0xCC,0x5A,0x3B,0xBB,0x29,0x33,0x8B,0x00,0x00,0x00,0x00, + 0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // soilheater_off_png, 488 bytes + +// File: soilheater_on.png +// +const char soilheater_on_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x2E,0x08,0x06,0x00,0x00,0x00,0xD7,0xCA,0x1C, + 0x24,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15, + 0x28,0x4A,0x80,0x00,0x00,0x0B,0x59,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x5B,0x5D, + 0xAC,0x54,0x57,0x15,0x3E,0x67,0xEE,0xA4,0x11,0xAA,0xD4,0x18,0x1F,0x8D,0xAF,0x46, + 0xFA,0x82,0xD5,0x97,0xDA,0x9A,0x36,0x2A,0x7D,0x68,0x8C,0xA5,0x40,0x25,0x96,0x6A, + 0x43,0xDB,0xA4,0x22,0x05,0x5B,0x0A,0x42,0x2B,0x3F,0xA5,0xA5,0x3F,0x48,0x0B,0xB4, + 0x2A,0x4D,0x83,0x70,0x0D,0x11,0x2B,0x7F,0x6D,0xC5,0x28,0xB1,0x69,0x4C,0x13,0xB5, + 0x36,0x4A,0x81,0x08,0xB4,0x31,0xFA,0x64,0xD4,0xA7,0x12,0x15,0x48,0x6A,0x9A,0x73, + 0x67,0x5C,0xDF,0xB7,0xD6,0xDA,0x7B,0x9F,0xBF,0x99,0x7B,0xE1,0xD6,0x98,0x38,0x5F, + 0x66,0xCD,0xFA,0xDD,0x6B,0xAF,0xBD,0xF6,0x39,0xFB,0xCC,0xCC,0x85,0x6C,0x84,0x11, + 0x46,0x18,0x61,0x84,0x11,0x46,0x18,0xE1,0xFF,0x12,0xB9,0xF1,0x69,0x41,0xF1,0xCC, + 0xE6,0xB9,0x59,0xBF,0x9F,0x1B,0x75,0xB2,0x5E,0x3F,0xEB,0xDE,0xFF,0xD0,0x51,0x73, + 0x97,0x50,0x3C,0xFE,0xE0,0xBC,0x2C,0x43,0x9C,0xD4,0xD0,0xEF,0xC3,0xC4,0x71,0xDD, + 0x75,0x5B,0x0E,0x31,0xA0,0x82,0xE2,0xE1,0xD5,0x5F,0x32,0xB1,0x54,0x73,0x77,0xC3, + 0xD6,0xFD,0x26,0x96,0x50,0x6C,0x5E,0x73,0x8B,0x30,0xC9,0x6E,0xE1,0x79,0x8E,0x49, + 0x54,0x87,0x8C,0x99,0x91,0x8A,0x72,0xDE,0x63,0x56,0x95,0xA9,0x77,0xEF,0xDB,0xD8, + 0x58,0xF7,0x74,0xA3,0xB4,0x98,0xA9,0xA2,0x78,0x76,0xCB,0xF5,0xDA,0xE8,0x1E,0x9B, + 0x27,0x0D,0x07,0xEF,0x64,0x7D,0xD3,0x1B,0x29,0x13,0xBF,0xAC,0x1D,0x32,0xE6,0x4F, + 0x65,0xF4,0x04,0xAD,0x01,0xD4,0x06,0x38,0xA7,0xDB,0xDE,0x04,0x66,0x8E,0x5E,0x83, + 0x18,0x30,0x0B,0x45,0x36,0xBD,0xCA,0xD1,0x60,0x8B,0x61,0xB3,0x61,0x97,0x0D,0xA8, + 0xC9,0x4A,0x1D,0xE5,0xDD,0xE5,0xDF,0x7A,0x99,0x39,0xA6,0x19,0xB5,0xF2,0x27,0x83, + 0xE2,0xB9,0xAD,0xD7,0xB1,0x41,0xB1,0xF1,0xB1,0xE9,0x61,0x13,0xC0,0xD3,0x8D,0xC0, + 0x92,0x5D,0x36,0x02,0x94,0x43,0x87,0x96,0xD8,0x51,0x9B,0xF6,0x2D,0x81,0xF8,0x4D, + 0x02,0xCA,0xD5,0xAB,0xC7,0xAF,0x78,0x00,0x0D,0x8C,0x1C,0x8D,0x84,0xA6,0x8D,0x2D, + 0x6F,0x42,0x33,0x69,0xF3,0xB1,0x21,0x12,0xD6,0xE9,0x41,0xEF,0x2E,0x7B,0xE0,0x15, + 0x24,0x99,0x2E,0x94,0x97,0x30,0x04,0xC5,0xAE,0xA7,0x3E,0xC3,0x06,0xF5,0x7A,0x7A, + 0x15,0x97,0x1B,0xDF,0xB2,0x09,0xAD,0x84,0x94,0x9A,0x47,0x96,0x69,0xFD,0x53,0x1F, + 0xE0,0x1B,0xA2,0x10,0xBB,0x49,0x4D,0x28,0xAD,0x02,0x4D,0xA3,0x80,0xE6,0x51,0x60, + 0x33,0xA3,0xAE,0x9C,0x4D,0x46,0x56,0x36,0xB9,0x4E,0x0D,0xCD,0x37,0x5D,0x7C,0x9D, + 0x7E,0x77,0xE9,0x9A,0x5F,0x22,0xD9,0xA5,0xC2,0x2A,0x1C,0x8E,0xE2,0xFB,0xDB,0xA4, + 0xF9,0x3D,0x6B,0xBA,0x34,0x29,0x6C,0x02,0x79,0xD3,0x06,0x80,0xAC,0xC1,0x2D,0x9B, + 0x01,0x50,0x46,0x1D,0xE4,0x30,0xE0,0x2D,0xFA,0x01,0x9A,0x1C,0x6E,0x4F,0x4A,0xB7, + 0x91,0x0A,0xB1,0xBB,0x0B,0xCD,0xC2,0xE8,0xFA,0x46,0xA8,0x8D,0xE3,0x28,0x97,0xA9, + 0xD4,0x7C,0xF0,0x4E,0xB4,0x49,0xF3,0x63,0x8C,0x6F,0x4C,0xA7,0xD7,0xBD,0x6B,0xE5, + 0xAF,0x74,0x92,0xA9,0xC1,0x4B,0x1D,0x88,0x62,0xF7,0xB6,0x6B,0x43,0x53,0x63,0xC3, + 0x45,0x97,0x86,0x2B,0x1F,0xB6,0x09,0x2E,0x83,0xA4,0x05,0xB6,0x31,0x6C,0x01,0x6C, + 0xA8,0x03,0x76,0x72,0xE8,0x02,0xBE,0x01,0xD4,0xD9,0x2E,0x22,0xD8,0x05,0x6A,0xA2, + 0xC5,0x46,0x59,0x64,0x2A,0x83,0x23,0xB3,0x10,0x15,0x70,0x23,0xB8,0x84,0xA7,0x9B, + 0x30,0xA8,0xF9,0x51,0x16,0x2E,0xCD,0x57,0x0E,0x9B,0xFA,0x5C,0x17,0xDE,0xBD,0x7D, + 0xF9,0x6B,0x98,0x6C,0x18,0x58,0xD1,0x20,0x14,0x7B,0xB6,0xA7,0xCD,0x77,0x6E,0x0D, + 0x0F,0xCD,0xD6,0xC6,0x6B,0x5C,0x2A,0x9B,0x2E,0x6B,0xAC,0x71,0xCC,0xED,0x31,0x94, + 0xDD,0x66,0x87,0x88,0xE8,0x5E,0x1F,0x45,0x47,0xAA,0xA8,0x9B,0x08,0xA2,0xA4,0x0B, + 0xA3,0x44,0x40,0x76,0xE7,0xB5,0x0D,0xD0,0x99,0x84,0xCB,0xAD,0x2D,0x82,0x37,0xD7, + 0x9B,0x0D,0x39,0x36,0x1F,0x7E,0x6F,0x7A,0x6C,0x3E,0x7C,0x1D,0xF1,0x29,0x4F,0xC6, + 0xD8,0x46,0x7C,0x65,0xD9,0x6F,0x31,0x69,0x1B,0x64,0x64,0x3B,0x8A,0x3D,0x3B,0xAE, + 0x45,0xB9,0xD6,0x38,0x96,0x6A,0xDC,0x75,0xE5,0xC1,0xEF,0x32,0x56,0x63,0x36,0xF7, + 0xD5,0x39,0x36,0x02,0x3C,0x25,0x69,0xBE,0xCB,0xC9,0xBC,0x65,0xC2,0xB8,0x2A,0x95, + 0x62,0x24,0x47,0x92,0x87,0x94,0xE4,0xB1,0x35,0x84,0x71,0x5C,0x83,0xF4,0x21,0xAD, + 0x8F,0xCF,0x26,0x8F,0x53,0x7B,0xF0,0x87,0x1E,0xA8,0xAF,0xC6,0x19,0xA3,0x5C,0xA8, + 0xF8,0xE1,0xCE,0xAB,0xA1,0xB5,0xA1,0x75,0x03,0x8A,0xF1,0x1D,0xD7,0xD8,0xA4,0x50, + 0x75,0x52,0x16,0xE3,0xB2,0x58,0xBD,0x20,0x9F,0x54,0x63,0x40,0x88,0xC3,0xA2,0x5C, + 0xAF,0x10,0xC7,0x94,0xE2,0xD1,0x30,0x21,0x5F,0x78,0xEA,0x4B,0x29,0x69,0x4C,0xA8, + 0xA9,0x62,0x8F,0x14,0x36,0x22,0x6B,0xCC,0x0B,0xD9,0xEC,0xA8,0x1D,0xF9,0x9C,0x5B, + 0x1C,0x0C,0xEA,0x87,0x4D,0x79,0xB0,0x05,0x2E,0x36,0xF3,0xA7,0xCD,0x07,0xB7,0xF8, + 0x62,0x5F,0xFB,0x26,0x34,0x6E,0x40,0x31,0xFE,0xF4,0x35,0x1C,0xCC,0x04,0x02,0x9D, + 0xC4,0xB8,0x4D,0x5C,0xE7,0xC9,0xE4,0x4E,0x1C,0x95,0xE8,0xB4,0x59,0xAC,0x92,0xDC, + 0xAC,0x08,0x70,0x5D,0x73,0xC5,0x86,0x56,0x1B,0x2B,0x7E,0x4C,0x01,0x62,0x6C,0x4A, + 0x69,0x5C,0x69,0x5C,0xD8,0x08,0x10,0x06,0x47,0x5F,0x75,0x5C,0xA4,0x50,0x53,0x52, + 0xAF,0x8F,0x0D,0x0D,0x27,0x37,0x1B,0xB8,0xC7,0x1A,0x77,0x9B,0xB0,0x62,0xDF,0xB3, + 0x8D,0x9B,0x80,0x24,0x35,0xC8,0xD5,0x2F,0x47,0x0F,0x12,0xC9,0x48,0x3F,0xD7,0x7B, + 0x72,0x4C,0x2A,0x87,0xEE,0xE7,0xBF,0xEA,0x16,0x33,0xB6,0x6A,0xD3,0xDD,0x96,0x22, + 0x60,0xE2,0x3E,0x31,0x7D,0xE8,0x8A,0xBD,0xE2,0xD7,0xF1,0x9A,0x37,0xCF,0x4F,0xFF, + 0xE9,0xD6,0xCE,0xE1,0x9F,0x5A,0x54,0x44,0xEF,0xC1,0x15,0x07,0x59,0xBC,0x84,0x2B, + 0x28,0xE4,0xF9,0xBE,0x97,0x16,0xE4,0x7F,0xF9,0x2B,0x2D,0x8E,0xFE,0xEC,0x8F,0x65, + 0xFD,0x2F,0xCE,0x3D,0x1C,0x57,0x81,0xED,0x04,0x93,0x2B,0xEB,0xB1,0xEF,0x2C,0xA4, + 0x9C,0xA0,0xB7,0xE2,0xEE,0xAC,0xFF,0xC1,0x99,0x3F,0xE6,0x39,0x8D,0x20,0xCC,0x02, + 0xF9,0x9F,0xE7,0x17,0x8F,0x6D,0x7F,0xCE,0xA2,0x22,0x26,0xB6,0xAC,0xDB,0x1D,0x1E, + 0xB0,0xF1,0xE1,0x0B,0xEE,0xE7,0xBD,0xF2,0x70,0xF6,0x97,0x7C,0xFE,0xCC,0x40,0xF5, + 0xF4,0x77,0x17,0x7F,0xBD,0xF6,0x3C,0xA8,0xDD,0x01,0xC5,0x0F,0x78,0xF5,0xEB,0xBA, + 0x7D,0x39,0x68,0x5E,0xE4,0x62,0x4F,0x74,0x49,0x2D,0x6F,0x79,0x67,0xFC,0x40,0xAD, + 0xF9,0x40,0x67,0xF7,0x3E,0x8D,0xB7,0xC6,0x9B,0x9C,0x75,0x5E,0xFA,0xB9,0x45,0x54, + 0x70,0xEC,0x0F,0xB7,0xE8,0xBC,0x1A,0xC7,0xFC,0xC2,0xAB,0xCD,0x07,0xF2,0x37,0xFF, + 0x28,0xEF,0xDC,0x2C,0x23,0x91,0xA1,0x1F,0x3B,0x55,0x6B,0x3E,0xD0,0x19,0x67,0x2D, + 0x1E,0x07,0x93,0x70,0xAB,0xB1,0x01,0x9D,0xC3,0x47,0xEF,0x64,0x5E,0xCE,0xC1,0x5A, + 0x30,0x1E,0x2E,0xCB,0x91,0xF8,0x00,0xF7,0xC1,0x86,0x60,0x8E,0x25,0x18,0xDB,0x74, + 0x17,0xD4,0x8F,0x20,0x1D,0x94,0x0C,0x2C,0x25,0x8F,0x7E,0xD7,0x75,0xA2,0x2C,0x3F, + 0xF3,0x96,0xE9,0x65,0xE4,0xE7,0x2E,0x64,0xD9,0x3F,0xCE,0x7D,0x95,0xE3,0x30,0x44, + 0x78,0x7E,0xE6,0xCF,0xB7,0x66,0x13,0x13,0x1A,0x50,0x41,0xE7,0xE5,0x57,0x75,0x2E, + 0xCE,0xC3,0xC5,0xE5,0xF9,0x8F,0x7E,0xB2,0xC0,0xDC,0x35,0xE4,0x47,0x5E,0x99,0xAF, + 0xF1,0x4C,0x8E,0x39,0x72,0xE6,0x68,0xC2,0xF9,0x0B,0x59,0xFE,0xAF,0x77,0x16,0x21, + 0xA7,0x51,0x86,0xAB,0x9F,0x35,0x36,0x20,0xFF,0xDD,0x1B,0xF2,0x6E,0x71,0x5E,0x0F, + 0xC0,0xB9,0xC8,0x31,0x1F,0xA0,0xF9,0x88,0x60,0x13,0x98,0xAC,0x14,0xC7,0x27,0x68, + 0x78,0x06,0xC4,0x11,0x36,0x81,0x0F,0x02,0x47,0x12,0x75,0x73,0x52,0xF5,0xC9,0xD5, + 0xFF,0x35,0x5A,0x5A,0xA0,0x57,0x18,0x26,0x67,0xDE,0xBC,0xF5,0xEA,0x77,0x1C,0x3F, + 0xBD,0x30,0xCE,0x2D,0x6F,0x0D,0x57,0xBF,0x23,0xDC,0x05,0xC8,0x8D,0xF4,0xC7,0x4F, + 0xCF,0xA7,0xA3,0x05,0xB8,0x0B,0x58,0x34,0x4B,0xF1,0xDA,0xDA,0xD1,0x39,0x24,0x77, + 0x81,0xAE,0x9B,0xC3,0xAC,0xD1,0x49,0x93,0x05,0xBE,0x21,0x88,0x51,0x31,0xE9,0x9B, + 0xD5,0xA6,0x0E,0xB3,0x45,0xD4,0x0C,0xE1,0xFC,0x8F,0x9F,0xE3,0x71,0xDE,0x63,0x12, + 0xFC,0xBA,0x29,0x7A,0x2F,0xCF,0x8F,0xBE,0xBA,0x22,0x3B,0x7B,0x96,0xF1,0xF9,0xBF, + 0xDF,0xCD,0xF2,0x93,0xA7,0x28,0x0F,0x02,0x9F,0x05,0xB3,0x2E,0xDF,0x27,0x67,0xFF, + 0xE2,0xA6,0xB3,0xBF,0x8A,0xDE,0x9A,0x65,0x2F,0xA0,0xE8,0xFC,0xF9,0x23,0xF3,0x07, + 0x6D,0x00,0xC0,0x67,0xC1,0x17,0x3E,0xF7,0x22,0x96,0xDD,0xD9,0xB2,0x73,0xE0,0x06, + 0x00,0x78,0x16,0x64,0x57,0xCC,0xD8,0xDF,0xBF,0xF0,0xCE,0xA2,0xA6,0xB3,0xBF,0x8A, + 0xDE,0xA7,0xE6,0x64,0x59,0x77,0xCC,0xB4,0x16,0xCC,0x98,0x99,0xF5,0xBF,0x7C,0xD3, + 0x76,0x7D,0x26,0xE0,0xCC,0xF7,0xE7,0x82,0x9E,0xFF,0x42,0xD2,0xAC,0x3C,0x93,0xE7, + 0xC0,0x6F,0x6C,0x04,0xD1,0x74,0x04,0xD9,0x66,0x95,0xE0,0xBB,0xC9,0xF7,0xCE,0xF1, + 0x53,0x59,0xE7,0xF5,0x37,0x48,0x93,0x69,0x3E,0xA0,0xCF,0x02,0x29,0x6B,0xD8,0xD5, + 0xEF,0x38,0x71,0x46,0x8E,0x16,0x99,0x78,0x48,0xF3,0x01,0xBD,0x0B,0x04,0x27,0xDE, + 0x1C,0xDA,0x7C,0x80,0xCF,0x02,0xF0,0x21,0x57,0xBF,0xA3,0x73,0xEC,0x64,0x58,0x6F, + 0x2B,0xFD,0xFE,0x84,0x45,0x4F,0x0D,0x4D,0x1F,0x43,0x6B,0x77,0x45,0x09,0xF5,0xCD, + 0x99,0x14,0x70,0xCE,0x8E,0xED,0xD8,0xD5,0x7A,0xF6,0x57,0x81,0x73,0xBC,0xB3,0x67, + 0xFF,0xA4,0x1A,0x0A,0xC8,0xA7,0xA4,0x9B,0x5B,0xCF,0xFE,0x2A,0xF0,0x2C,0xD8,0x73, + 0x60,0x51,0xDB,0xD9,0x7F,0x09,0xD0,0xDE,0xB1,0x47,0xA1,0x51,0xB0,0x25,0xF6,0x32, + 0x9A,0x36,0xA0,0xA9,0xC5,0x17,0xD9,0xF6,0x0A,0xCE,0x9D,0x37,0x61,0x92,0x78,0x5B, + 0x8F,0xB9,0xC9,0x20,0xFF,0xDB,0xDF,0x4D,0xAA,0x60,0xAC,0x69,0x89,0x03,0xE2,0x2F, + 0xBB,0xCC,0x84,0x8B,0xC2,0x94,0xFB,0xD4,0x5C,0x9D,0x02,0xC9,0x9C,0x1C,0x72,0x88, + 0x98,0x34,0x00,0x13,0x4F,0xAC,0x97,0x85,0x0F,0x39,0x33,0x0D,0xFD,0x59,0xEF,0xCF, + 0x26,0xD6,0xDD,0x6F,0xDA,0x70,0xF4,0x6E,0xB8,0x9E,0x34,0x59,0x4C,0x6C,0xD9,0xC0, + 0x39,0x26,0x85,0x0F,0x48,0x2D,0xEB,0xEF,0xDD,0x6B,0xDA,0xC5,0x83,0x3D,0x0A,0x8D, + 0x8A,0x3D,0x6C,0xE8,0x5D,0x7D,0x03,0xDA,0x1B,0x9C,0x6E,0x44,0x2B,0x7A,0x57,0x7F, + 0x52,0xDE,0x8A,0x3D,0xBD,0x79,0x37,0x9A,0x65,0x30,0x7A,0x77,0x2E,0xCE,0xF2,0x89, + 0x77,0x0F,0xF6,0x3F,0xFA,0x11,0xB3,0x0C,0xC1,0x9C,0x8F,0xBF,0x48,0x9A,0x04,0xF0, + 0x70,0xCE,0xCF,0xBE,0x7D,0x08,0x73,0x4C,0x06,0xBD,0x25,0x1A,0xC7,0x35,0x5C,0x3A, + 0x9A,0xFA,0x55,0xB3,0xD5,0xDA,0xCD,0xDF,0x80,0xE2,0xA7,0x20,0x19,0x92,0x7E,0xFB, + 0xD5,0x4F,0x41,0x95,0x6F,0xC1,0xF2,0xED,0x96,0x1C,0x3E,0xFB,0xA4,0xA4,0xBE,0xB1, + 0x8D,0x4F,0x2E,0x19,0x74,0xE6,0xE3,0xCA,0xEC,0xDF,0x73,0xC7,0x7E,0xE6,0xC6,0xC7, + 0xD3,0xC7,0xBF,0x8B,0xBF,0xE3,0xB6,0x82,0x57,0xFE,0x9C,0xD9,0xD2,0x7C,0xA9,0xEB, + 0xE4,0x5B,0x43,0xCF,0xFC,0xDE,0xDA,0x7B,0x0E,0xF9,0xD5,0x98,0x7F,0x6F,0x7C,0xE1, + 0xC0,0x33,0x1F,0x57,0xFF,0xEA,0xA5,0x7B,0xF9,0x69,0xC5,0x7F,0xED,0x0C,0x9F,0x62, + 0xC2,0xEF,0xFE,0xD0,0x93,0x5F,0x3D,0x61,0x0F,0xB2,0xFA,0xF8,0xAB,0xA9,0xFF,0x5A, + 0x2A,0xB9,0x30,0x96,0x9F,0x80,0x64,0x0E,0xB1,0xC9,0xA7,0xA0,0xD2,0xCF,0xD4,0x0D, + 0x47,0x10,0x23,0x35,0x29,0x44,0xAC,0x16,0x32,0x79,0xD0,0x95,0xC3,0x20,0xED,0xD6, + 0x78,0x98,0xC8,0x2D,0x36,0xEF,0x0F,0xBB,0x0B,0x78,0x65,0x62,0x1C,0xF3,0xE7,0xFD, + 0xA1,0x77,0xC1,0x9C,0xD9,0xF2,0xD1,0xD4,0xE6,0x53,0xB9,0x15,0xB8,0xFA,0xAD,0x26, + 0xBC,0xFA,0xC3,0xEE,0x02,0x5E,0xFD,0xFA,0x51,0x11,0xF5,0x03,0x5C,0x83,0x18,0x2A, + 0x6B,0xA3,0x62,0x3E,0xE8,0x82,0x20,0xEB,0x5C,0x94,0x19,0x66,0x7E,0xC2,0x72,0x55, + 0xD0,0xF4,0x0C,0x48,0x07,0xC9,0xCB,0x06,0x79,0xD3,0x63,0xF3,0xBD,0x20,0x9B,0x2C, + 0xE8,0x88,0xE5,0x98,0xFE,0x27,0x66,0x8F,0xB7,0x3D,0x0B,0x70,0xF5,0xE7,0x97,0xCF, + 0x78,0x3E,0x8C,0x97,0x31,0xFD,0xDB,0x6E,0x3E,0xA0,0xDE,0x3A,0x78,0xF5,0x23,0xAF, + 0x36,0x89,0x34,0xE8,0x59,0xD0,0xBF,0x69,0xEE,0x21,0xCB,0xCD,0x1A,0xF3,0x99,0xEF, + 0xDB,0xDF,0xFA,0x2C,0x90,0xAB,0xBF,0xFF,0xE1,0x59,0x38,0xFB,0x51,0xB7,0x8E,0x09, + 0xEB,0xD5,0xF1,0xAC,0x31,0x5D,0x23,0x7D,0xC6,0x01,0xEF,0x53,0x1A,0xEB,0x32,0xF3, + 0x59,0x5C,0x05,0xB5,0x0D,0xE8,0x2E,0xF9,0xC6,0x6B,0x9A,0x80,0x03,0xD2,0xE4,0x98, + 0xD0,0x92,0x24,0x93,0x44,0x2E,0x3E,0x51,0x74,0x22,0x8D,0x15,0x6A,0xBB,0x0B,0xE2, + 0xD5,0xCF,0x71,0x21,0x4F,0xEB,0x5D,0x70,0xD5,0x95,0x38,0x4E,0x74,0x1E,0xA7,0xAB, + 0xAE,0x3C,0x6C,0xDE,0x12,0x78,0xF5,0xC7,0x9A,0x84,0x6B,0xFE,0xB6,0xBB,0xA0,0x74, + 0xF5,0xB3,0xA9,0xC2,0xB9,0x06,0x8E,0xC7,0xAB,0x54,0x23,0x75,0xEF,0x85,0xE6,0x8E, + 0x32,0x7B,0xC6,0xC0,0x18,0xAF,0xF9,0xE4,0x4B,0xD8,0xD2,0xDA,0x8F,0x71,0x0C,0xA9, + 0xA2,0x18,0x7F,0xFA,0xD3,0x3C,0x97,0xF9,0x0C,0xF0,0xF3,0x5D,0x08,0x7F,0x09,0x0B, + 0xCF,0x81,0xC0,0xFD,0x19,0x90,0x3C,0x0B,0xEC,0xF9,0x00,0xEE,0xCF,0x11,0xCD,0x17, + 0x48,0x7F,0x1E,0xC6,0xFC,0xD4,0xAD,0x5C,0xDA,0x04,0xCE,0x69,0x53,0xAE,0x7A,0x33, + 0xC2,0x2A,0x28,0xC4,0x85,0x73,0x94,0x28,0xA9,0x2E,0x0D,0x96,0x37,0x97,0x9B,0xC9, + 0xCF,0xFD,0x28,0xFB,0xF9,0x1E,0x7D,0xE0,0xA5,0x67,0x81,0xC7,0xB9,0xCD,0x74,0xCD, + 0x29,0xD3,0xE3,0xFC,0x5F,0xFA,0x3A,0x2A,0x49,0xD1,0x74,0x04,0xE9,0x5D,0x60,0x2B, + 0xD7,0xC2,0x7D,0x61,0x90,0x61,0x0F,0x1C,0xAF,0x94,0xDB,0x64,0x1E,0x5B,0xFE,0x39, + 0x36,0x25,0xFE,0x25,0xA0,0x34,0x26,0xF8,0xEA,0xF1,0x1A,0xD3,0x4E,0xEA,0x97,0xB9, + 0x32,0x6D,0x9A,0xCE,0x1B,0xEB,0x52,0x1F,0x38,0xD6,0xE3,0x72,0x3B,0xF9,0xFA,0xA2, + 0xAC,0x7F,0xB2,0x0C,0xF5,0xBA,0xCF,0xF3,0xA0,0x3D,0x66,0x77,0x5B,0x88,0x83,0x2B, + 0x6B,0x6C,0x3E,0xD0,0xB8,0x01,0x40,0xF7,0x8E,0x7B,0xE5,0x28,0x42,0x12,0x66,0xC7, + 0x82,0x9C,0x5B,0xE2,0x4A,0x41,0xE4,0xB4,0xA1,0x58,0xC8,0x91,0x74,0x33,0x35,0x26, + 0xF1,0xE9,0x26,0x38,0x49,0x84,0xCA,0x36,0x87,0xE5,0x8F,0x36,0xB7,0x37,0x51,0xD9, + 0x87,0x64,0x71,0xAC,0xE9,0x94,0xE5,0xFE,0x0C,0xF2,0x20,0x8A,0x0D,0x57,0x1D,0xB2, + 0xAD,0x8B,0x36,0xF4,0x42,0x7D,0xBE,0x2E,0xCA,0xCE,0xE1,0xA3,0x1D,0x8B,0xC2,0x27, + 0x9F,0xC6,0xE6,0x03,0xAD,0x1B,0x00,0x70,0x13,0x74,0x22,0xA8,0x4D,0xDC,0xC9,0x37, + 0xC6,0x0A,0x77,0x3B,0xC2,0xD2,0x38,0xC8,0x42,0x95,0x4D,0xB0,0x8D,0xF0,0x05,0xFA, + 0xF8,0xB4,0xA9,0xB0,0x99,0xDD,0x72,0x44,0x1F,0xA8,0xE2,0xAF,0x6C,0x88,0xE9,0x70, + 0xD6,0xFC,0x98,0x13,0x35,0xB2,0xCE,0xE0,0x43,0xAE,0xD8,0x70,0xAD,0xD7,0xC7,0x22, + 0x56,0x63,0xE2,0xDA,0x24,0x56,0xA0,0x3E,0xE3,0x1A,0xDF,0xBD,0xAD,0xBD,0xF9,0x00, + 0xB3,0x4C,0x06,0xC5,0xAE,0xA7,0xEC,0xFB,0x41,0xF5,0xBC,0x4F,0x74,0x9E,0xFD,0x3C, + 0xD3,0x61,0x4F,0x64,0x52,0xFA,0x3C,0x40,0xCA,0xC4,0x87,0x3A,0xB8,0x0D,0x02,0xEA, + 0xEA,0x37,0x21,0xEA,0x80,0xD9,0x02,0xC2,0x12,0x98,0x45,0x21,0x42,0xC8,0xE2,0x59, + 0xD9,0x14,0xC4,0xA0,0x61,0x6E,0x87,0x5C,0x26,0x9E,0xDD,0xD8,0x04,0xB9,0x36,0xC1, + 0x55,0x17,0xE2,0xF9,0x0F,0xBB,0x9F,0xEF,0xF0,0xC9,0x25,0xEC,0xCF,0x0A,0x3F,0xFB, + 0x95,0x77,0x6F,0x5F,0x3E,0xF0,0x5F,0x43,0x38,0x42,0xC9,0x53,0x45,0xB1,0xF3,0x89, + 0xEB,0xC2,0x83,0xB6,0xB4,0x11,0x94,0x61,0x93,0xE5,0xB9,0x1E,0x28,0xD9,0x04,0x64, + 0x71,0x3B,0xEA,0x20,0x47,0x7F,0xC8,0xA9,0x2B,0x4C,0x07,0x82,0x50,0x81,0x85,0x2A, + 0x63,0x16,0x1F,0xC5,0x23,0x07,0x36,0x34,0x47,0xB9,0xF8,0x20,0xA3,0x89,0x66,0x6F, + 0x22,0xFF,0x52,0x15,0x37,0x41,0xB8,0xEB,0xA1,0xD9,0xA1,0xF9,0xDD,0xBB,0x56,0xFE, + 0x1A,0x13,0x4D,0x15,0x56,0xF9,0xA5,0xA1,0x78,0x66,0xF3,0x67,0xAD,0xF9,0xB2,0xC4, + 0xE4,0xDB,0x70,0xB9,0xF9,0x4E,0x71,0x13,0x00,0xDA,0x50,0x07,0x6C,0xE4,0x6C,0x01, + 0x75,0x07,0x75,0x15,0x9A,0x61,0x6E,0x64,0x72,0x41,0x4D,0xDA,0x28,0xE5,0x51,0x2F, + 0xCB,0xCD,0x64,0x4D,0xEF,0xAE,0x7C,0xE8,0x17,0x08,0x7E,0xAF,0x60,0x95,0x4F,0x0F, + 0x8A,0x1D,0x0F,0x7F,0x9E,0x0D,0x0D,0x77,0x42,0x89,0x62,0xE3,0x55,0xC7,0x10,0xB3, + 0xA1,0x0E,0xD8,0x60,0x4A,0x74,0x81,0xBC,0x99,0x1D,0x08,0x42,0x05,0xB6,0x0C,0x8C, + 0xE2,0x2B,0x19,0x85,0x66,0x46,0x8E,0xA6,0xA6,0x72,0x2B,0x75,0x57,0x6D,0xFA,0xDF, + 0xFF,0xE7,0xE9,0x6D,0x28,0xB6,0x6D,0xBA,0x21,0x3C,0x13,0x4A,0x4D,0x47,0x5B,0x4A, + 0xBA,0xC0,0x62,0xD8,0x32,0xE7,0x60,0xBA,0x01,0x1C,0xA3,0x06,0xA0,0x54,0xAF,0x2B, + 0xE2,0x95,0x97,0x68,0x3E,0x02,0x40,0x23,0x55,0xC0,0x0B,0x7E,0x66,0x32,0x7B,0x68, + 0x74,0x24,0xDA,0xB2,0xEE,0xEA,0x47,0x7E,0xC6,0x61,0xFF,0x25,0xF8,0x1A,0xDE,0x53, + 0x14,0xDF,0x5E,0x7F,0xA3,0x36,0x1C,0x4D,0xD5,0x8D,0xE8,0x3E,0xF0,0xD8,0x11,0x73, + 0x97,0x50,0x3C,0xF2,0xCD,0x05,0x1A,0x67,0x30,0xB9,0xBB,0xF1,0xC9,0x83,0xD4,0x2B, + 0x28,0x36,0xAD,0xC2,0x7F,0xDC,0xA8,0x34,0x5B,0xE2,0x37,0x6C,0x6D,0xFE,0x8F,0x1E, + 0x8F,0xAE,0x9D,0x87,0x46,0x0B,0xF1,0xFC,0xEE,0xAE,0x7D,0x74,0xF8,0xDF,0x47,0x47, + 0x18,0x61,0x84,0x11,0x46,0x18,0x61,0x84,0x11,0x46,0x98,0x56,0x64,0xD9,0x7F,0x00, + 0x16,0x15,0xCD,0xD0,0xA5,0x58,0xB8,0xAE,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44, + 0xAE,0x42,0x60,0x82, +}; // soilheater_on_png, 3012 bytes + +// File: soilmoisture.png +// +const char soilmoisture_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x28,0x08,0x03,0x00,0x00,0x00,0x2B,0x33,0x31, + 0x90,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x2A,0x50,0x4C,0x54,0x45,0xCF,0xCF,0xC1,0xCF,0xCF,0xBF,0xD1,0xD1,0x92,0xEF, + 0xEF,0x30,0xD7,0xD7,0x77,0xD7,0xD7,0x83,0xFF,0xFF,0x00,0xDF,0xDF,0x60,0xBF,0xBF, + 0xBF,0xCF,0xCF,0x9B,0xCF,0xCF,0x9F,0xC7,0xC7,0xB3,0xC1,0xC1,0xBE,0x00,0x00,0x00, + 0xDB,0xEE,0xE4,0x29,0x00,0x00,0x00,0x0E,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x45,0xC0,0xDC,0xC8,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, + 0x6F,0xA8,0x64,0x00,0x00,0x00,0x3E,0x49,0x44,0x41,0x54,0x38,0x4F,0x63,0xE0,0xC5, + 0x04,0x0C,0xBC,0x0C,0x8C,0x68,0x00,0x28,0xC6,0xC4,0x8C,0x0A,0x58,0x80,0x62,0xAC, + 0x6C,0xA8,0x80,0x9D,0x56,0x62,0xAC,0x1C,0x20,0xC0,0x89,0x22,0xC6,0x05,0x76,0x2C, + 0xF7,0xA8,0xD8,0xA8,0x18,0x39,0x62,0xE0,0x14,0xC5,0x01,0x16,0xE3,0x81,0x30,0x31, + 0xF3,0x02,0x2F,0x2F,0x00,0xB0,0x20,0x19,0xAD,0x8A,0xD2,0x78,0xC1,0x00,0x00,0x00, + 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // soilmoisture_png, 249 bytes + +// File: thermometer.png +// +const char thermometer_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x26,0x08,0x06,0x00,0x00,0x00,0x1B,0x75,0xC1, + 0xB4,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, + 0x6F,0xA8,0x64,0x00,0x00,0x02,0x9E,0x49,0x44,0x41,0x54,0x48,0x4B,0xED,0x95,0xCB, + 0x4F,0x13,0x51,0x18,0xC5,0xCF,0xBC,0xA7,0x53,0x6D,0xE9,0x83,0xDA,0x49,0xB5,0x24, + 0x0D,0x41,0x09,0x2B,0x09,0xC1,0x85,0xC6,0x05,0x91,0xB8,0x36,0x46,0x57,0xAE,0x34, + 0x6E,0x8C,0x1B,0x57,0xFE,0x25,0xBA,0x74,0xA1,0x18,0xE2,0x4E,0xDD,0x54,0xC2,0x02, + 0x0C,0xC6,0x85,0x09,0x98,0x18,0x34,0x80,0xF2,0xB2,0x42,0x5F,0x4C,0x6B,0x53,0x3A, + 0x9D,0xCE,0x83,0x2B,0x73,0x3B,0x92,0x4C,0xCB,0x42,0x76,0x62,0xFC,0x6D,0x6E,0xEE, + 0xF9,0xBE,0x93,0xEF,0xCE,0x9D,0xE4,0x5C,0x1C,0x4F,0x18,0x6F,0xED,0xA2,0x5C,0x2E, + 0x93,0x7C,0x3E,0x8F,0x58,0x2C,0x86,0x54,0x2A,0x75,0x68,0x5F,0x97,0x68,0xDB,0x36, + 0x99,0x7D,0x3B,0x87,0x5A,0x5D,0x07,0xC4,0x08,0x58,0x67,0x17,0x02,0xEB,0x60,0xFC, + 0xCA,0x18,0x24,0x49,0xF2,0xF5,0x77,0x99,0xE7,0x17,0x3E,0x92,0xEF,0xA5,0x16,0xC4, + 0x50,0x9F,0xA7,0x00,0x56,0xA3,0x80,0x68,0x40,0xC7,0xE5,0x4B,0x17,0x7D,0xFD,0xAC, + 0xB7,0x52,0xDC,0xA9,0xEB,0xEB,0x1B,0xE0,0x95,0x53,0x9E,0xD2,0x86,0x57,0x12,0xC8, + 0x6F,0x6D,0xD1,0xBA,0x27,0x51,0x7C,0x66,0x97,0x96,0xA1,0x83,0xE5,0x65,0x6F,0xD7, + 0x86,0x61,0x58,0x30,0x1C,0x0F,0xC3,0x30,0x3C,0xA5,0x4D,0x97,0xF9,0x28,0xFC,0x4B, + 0x66,0x96,0x21,0x88,0xB4,0x36,0x10,0x6B,0xAC,0x20,0x6A,0xAC,0xED,0x37,0xD9,0x5E, + 0xC5,0xCF,0xE1,0x93,0x89,0x03,0xDE,0xD1,0x31,0xF8,0xF0,0x01,0xE4,0x4A,0x11,0xDC, + 0x91,0xCC,0xFB,0x30,0xB6,0x83,0xD0,0xC2,0x02,0xD8,0x66,0xD3,0x53,0xBA,0xF9,0xCB, + 0x2E,0xEC,0x4F,0xF9,0x6F,0x3E,0x22,0x3E,0x73,0xA1,0x50,0x80,0x12,0xEA,0xF5,0x76, + 0x7E,0x24,0x25,0x8E,0xDC,0x8F,0x2D,0x6F,0xD7,0xE6,0xC0,0x5C,0xA9,0x54,0xC8,0x87, + 0xF9,0x4F,0x10,0xA2,0x43,0x08,0xDA,0x1A,0xC4,0x72,0x99,0xEA,0xD2,0xF6,0x36,0x14, + 0x53,0x03,0xDF,0xD3,0x8F,0xE5,0xB5,0x3C,0x56,0xBE,0x7E,0x3B,0x48,0x13,0x9A,0x49, + 0xBA,0xAE,0x93,0xEC,0x9B,0x69,0x48,0x89,0x61,0x44,0xF5,0x4D,0xA4,0x5E,0x4E,0x22, + 0xF5,0xEC,0x29,0xB8,0x7A,0x1D,0x7B,0xA2,0x88,0xE2,0x8D,0x9B,0xC8,0xDD,0xBA,0x8D, + 0x9D,0xF0,0x39,0x98,0xDA,0x22,0x46,0x87,0x87,0x68,0xA2,0xD2,0xC9,0x8B,0x9F,0xBF, + 0x80,0x55,0x54,0x04,0x51,0x47,0x72,0x26,0x8B,0xF4,0xE3,0x47,0xD4,0xE8,0xC2,0x9A, + 0x26,0xD4,0xE7,0x13,0x38,0x33,0xF1,0x04,0x61,0x33,0x0F,0x26,0xA0,0x62,0x69,0x79, + 0xA5,0x5D,0x73,0x43,0xAD,0x54,0x2A,0x83,0x95,0x42,0x08,0x34,0xCB,0x88,0x4D,0x65, + 0x69,0xA1,0x93,0xC4,0xEB,0x57,0x10,0xB8,0x26,0xF8,0x40,0x14,0xA5,0x62,0x91,0x86, + 0x21,0x9D,0x6C,0x59,0x16,0x58,0x56,0x80,0x7B,0x0E,0x41,0xD3,0x68,0x73,0x27,0xEE, + 0x49,0x88,0xC0,0xD3,0x30,0xDC,0xDB,0x73,0xA8,0x46,0xCD,0xBD,0xF1,0x38,0x6C,0xA3, + 0x06,0x07,0x02,0xF4,0x81,0x01,0x5A,0xE8,0xC4,0xD5,0x99,0x46,0x0B,0x8E,0xB9,0x8B, + 0x93,0xA1,0x30,0xD5,0x58,0x9E,0xE7,0x99,0x44,0x22,0xBE,0x1F,0xDA,0x75,0xD4,0x95, + 0xD3,0xC8,0xDD,0xBB,0x4F,0x0B,0x9D,0xE4,0xEE,0xDC,0xC5,0xAE,0x98,0x80,0x63,0x54, + 0x91,0x4C,0x26,0xE1,0xFA,0xE8,0x6D,0xBB,0xE7,0xCF,0x4E,0x4D,0x83,0x04,0xFB,0x11, + 0x42,0x13,0xE1,0xC2,0x12,0xD4,0x17,0x93,0x08,0x6C,0x6E,0xA2,0xA5,0xAA,0x28,0x5E, + 0xBB,0x8E,0x7A,0xDF,0x20,0x34,0x49,0x85,0x5D,0x5D,0xC4,0xD5,0xF1,0x31,0x28,0x8A, + 0xD2,0x36,0xBB,0xB8,0xFF,0x79,0x66,0x76,0x0E,0x7C,0xE4,0x2C,0x64,0x59,0x46,0xB0, + 0xB5,0x03,0xDE,0x6A,0xC0,0xE1,0x64,0x34,0xE4,0x5E,0xB4,0x6C,0x06,0x56,0x75,0x09, + 0x23,0xE7,0x87,0x90,0x4E,0xA7,0xA9,0xCF,0xF7,0xF6,0xD4,0x6A,0x35,0x32,0xF7,0xEE, + 0x3D,0x2C,0x22,0x83,0x70,0x41,0x70,0xE2,0x09,0x38,0x96,0x0E,0xC6,0x69,0x80,0x98, + 0x3F,0x71,0x61,0x74,0xC4,0xF7,0x62,0xFA,0xCC,0xBF,0x59,0x5D,0x5D,0x25,0x95,0x4A, + 0x15,0x3B,0x5A,0x05,0x3D,0x3D,0x61,0xC4,0xA2,0x11,0x64,0x32,0x19,0xFA,0x9D,0x5E, + 0xCB,0xF1,0x05,0xF8,0x05,0x93,0x5D,0x02,0xA9,0x47,0x4F,0xA7,0xF8,0x00,0x00,0x00, + 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // thermometer_png, 777 bytes + +// File: water.png +// +const char water_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x43,0x08,0x03,0x00,0x00,0x00,0xBB,0xBC,0x9B, 0xAC,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, @@ -3495,25 +4584,33 @@ const char Water_png[] PROGMEM = { 0x47,0x1A,0xB4,0xFD,0x0F,0x94,0x2B,0x83,0xB6,0xDF,0x35,0x12,0x83,0x4E,0xE2,0xF8, 0x17,0x10,0x4C,0xD8,0xAF,0xAD,0x7C,0x4D,0x0E,0x00,0x00,0x00,0x00,0x49,0x45,0x4E, 0x44,0xAE,0x42,0x60,0x82, -}; // Water_png, 869 bytes +}; // water_png, 869 bytes // Prototypes: // const char about_htm[] PROGMEM // const char about_js[] PROGMEM -// const char Button_css[] PROGMEM +// const char button_css[] PROGMEM // const char curr_htm[] PROGMEM // const char curr_js[] PROGMEM // const char favicon_ico[] PROGMEM -// const char Green1x1_png[] PROGMEM -// const char Heater_png[] PROGMEM +// const char green1x1_png[] PROGMEM // const char icon_png[] PROGMEM // const char index_htm[] PROGMEM // const char index_js[] PROGMEM -// const char Open_png[] PROGMEM -// const char PlantModel_png[] PROGMEM +// const char myip_js[] PROGMEM +// const char nav_js[] PROGMEM +// const char navigation_htm[] PROGMEM +// const char open_png[] PROGMEM +// const char plantmodel_css[] PROGMEM +// const char plantmodel_png[] PROGMEM +// const char pointer_png[] PROGMEM // const char rssi_htm[] PROGMEM // const char rssi_js[] PROGMEM -// const char Water_png[] PROGMEM +// const char soilheater_off_png[] PROGMEM +// const char soilheater_on_png[] PROGMEM +// const char soilmoisture_png[] PROGMEM +// const char thermometer_png[] PROGMEM +// const char water_png[] PROGMEM // Directory of Files // @@ -3521,29 +4618,37 @@ const char Water_png[] PROGMEM = { // an empty "" Filename is reached. // typedef struct { - const char * Filename; - const char * Filedata; - const char * Filetype; - uint16_t Filesize; + const char * Filename; + const char * Filedata; + const char * Filetype; + uint16_t Filesize; } DirEntry; const DirEntry Directory[] PROGMEM = { - { "Button.css", Button_css, "text/css", 404 }, - { "Green1x1.png", Green1x1_png, "image/png", 119 }, - { "Heater.png", Heater_png, "image/png", 443 }, - { "Open.png", Open_png, "image/png", 655 }, - { "PlantModel.png", PlantModel_png, "image/png", 28345 }, - { "Water.png", Water_png, "image/png", 869 }, - { "about.htm", about_htm, "text/html", 1839 }, - { "about.js", about_js, "application/javascript", 605 }, - { "curr.htm", curr_htm, "text/html", 1196 }, - { "curr.js", curr_js, "application/javascript", 3615 }, - { "favicon.ico", favicon_ico, "image/x-icon", 4286 }, - { "icon.png", icon_png, "image/png", 8721 }, - { "index.htm", index_htm, "text/html", 5713 }, - { "index.js", index_js, "application/javascript", 1408 }, - { "rssi.htm", rssi_htm, "text/html", 1194 }, - { "rssi.js", rssi_js, "application/javascript", 2770 }, - { "", NULL, NULL, 0 } + { "/about.htm" , about_htm , "text/html", 1468 }, + { "/about.js" , about_js , "text/javascript", 635 }, + { "/button.css" , button_css , "text/css", 912 }, + { "/curr.htm" , curr_htm , "text/html", 956 }, + { "/curr.js" , curr_js , "text/javascript", 3756 }, + { "/favicon.ico" , favicon_ico , "image/x-icon", 4286 }, + { "/green1x1.png" , green1x1_png , "image/png", 119 }, + { "/icon.png" , icon_png , "image/png", 8721 }, + { "/index.htm" , index_htm , "text/html", 5346 }, + { "/index.js" , index_js , "text/javascript", 4528 }, + { "/myip.js" , myip_js , "text/javascript", 167 }, + { "/nav.js" , nav_js , "text/javascript", 684 }, + { "/navigation.htm" , navigation_htm , "text/html", 557 }, + { "/open.png" , open_png , "image/png", 14893 }, + { "/plantmodel.css" , plantmodel_css , "text/css", 3982 }, + { "/plantmodel.png" , plantmodel_png , "image/png", 22369 }, + { "/pointer.png" , pointer_png , "image/png", 418 }, + { "/rssi.htm" , rssi_htm , "text/html", 954 }, + { "/rssi.js" , rssi_js , "text/javascript", 2879 }, + { "/soilheater_off.png", soilheater_off_png , "image/png", 488 }, + { "/soilheater_on.png", soilheater_on_png , "image/png", 3012 }, + { "/soilmoisture.png" , soilmoisture_png , "image/png", 249 }, + { "/thermometer.png" , thermometer_png , "image/png", 777 }, + { "/water.png" , water_png , "image/png", 869 }, + { NULL , NULL , NULL, 0 } }; diff --git a/Firmware/Web_RootPage.cpp b/Firmware/Web_RootPage.cpp deleted file mode 100644 index c7a62cd..0000000 --- a/Firmware/Web_RootPage.cpp +++ /dev/null @@ -1,33 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_RootPage.h" -#include "GrowController.h" -#include "Web_Resources.h" - -void HandleRootPage() { - if (server.hasArg("SW")) { - String newState = server.arg("SW"); - if (newState == "1") { - SetCircuit(CMD_On); - Serial.printf("SW 1\n"); - } else if (newState == "0") { - SetCircuit(CMD_Off); - Serial.printf("SW 0\n"); - } else if (newState == "2") { - SetCircuit(CMD_Toggle); - Serial.printf("SW 2\n"); - } else { - Serial.printf("SW %s ???\n", newState.c_str()); - ; // no action - } - } - String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; - String status = GetCircuitStatus() ? "On
" : "Off
"; - String myIP = String(WiFi.localIP()[0]); - myIP += "." + String(WiFi.localIP()[1]); - myIP += "." + String(WiFi.localIP()[2]); - myIP += "." + String(WiFi.localIP()[3]); - server.send_P(200, "text/html", index_htm); -} diff --git a/Firmware/Web_RootPage.h b/Firmware/Web_RootPage.h deleted file mode 100644 index 89c471b..0000000 --- a/Firmware/Web_RootPage.h +++ /dev/null @@ -1,7 +0,0 @@ - -#ifndef WEB_ROOTPAGE_H -#define WEB_ROOTPAGE_H - -void HandleRootPage(); - -#endif // WEB_ROOTPAGE_H diff --git a/Firmware/WiFiConfiguration.h b/Firmware/WiFiConfiguration.h index 6c37ea4..314ea26 100644 --- a/Firmware/WiFiConfiguration.h +++ b/Firmware/WiFiConfiguration.h @@ -26,30 +26,29 @@ /// class ConfigManager { public: - ConfigManager(); - void load(); - void save(); - void factoryReset(); - String getName(); - void setName(String _name); - String getSSID(); - void setSSID(String _ssid); - String getPassword(); - void setPassword(String _password); - String getURL(); - void setURL(String _url); - uint16_t getOnRef(); - void setOnRef(uint16 onR); - uint16_t getOffRef(); - void setOffRef(uint16 offR); - uint16_t getAutoOff(); - void setAutoOff(uint16 autoOff); - #if 0 - String getNTPServerName(); - void setNTPServerName(String _name); - #endif + ConfigManager(); + void load(); + void save(); + void factoryReset(); + String getName(); + void setName(String _name); + String getSSID(); + void setSSID(String _ssid); + String getPassword(); + void setPassword(String _password); + String getURL(); + void setURL(String _url); + uint16_t getOnRef(); + void setOnRef(uint16 onR); + uint16_t getOffRef(); + void setOffRef(uint16 offR); + uint16_t getAutoOff(); + void setAutoOff(uint16 autoOff); + #if 0 + String getNTPServerName(); + void setNTPServerName(String _name); + #endif private: }; - #endif // !WIFICONFIGURATION_H diff --git a/Firmware/WiFiStateHandler.cpp b/Firmware/WiFiStateHandler.cpp new file mode 100644 index 0000000..c385dc7 --- /dev/null +++ b/Firmware/WiFiStateHandler.cpp @@ -0,0 +1,103 @@ +// +// +// + +#include "ProjGlobals.h" +#include "WiFiStateHandler.h" + +WiFiConnectState wifiConState; ///< Track the current WiFi state + + +void WiFiStateSet(WiFiConnectState newState) { + wifiConState = newState; +} + +WiFiConnectState WiFiStateGet() { + return wifiConState; +} + +WiFiConnectState WiFiStateHandler() { + static unsigned long timeStateChange = 0; + // @todo static unsigned long timeLEDControl; + // @todo unsigned long timeLEDCycle; + String ssid = wifiConfig.getSSID(); + String pass = wifiConfig.getPassword(); + IPAddress myIP; + + // @todo + #if 0 + timeLEDCycle = millis() - timeLEDControl; + if (timeLEDCycle >= LED_PERIOD__MS) { + timeLEDControl = millis(); + timeLEDCycle = 0; + } + #endif + + switch (wifiConState) { + case WFC_ConnectToAP: + // @todo isStationMode = true; + WiFi.mode(WIFI_STA); + wifi_set_sleep_type(NONE_SLEEP_T); // rumor is that this fixes multicast receive + //ssid = wifiConfig.getSSID(); + //pass = wifiConfig.getPassword(); + WiFi.begin(ssid.c_str(), pass.c_str()); + timeStateChange = millis(); + // @todo timeLEDControl = timeStateChange; + wifiConState = WFC_JoiningAP; + break; + case WFC_JoiningAP: + // @todo if (timeLEDCycle <= LED_JOINING_MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + if (WiFi.status() == WL_CONNECTED) { + myIP = WiFi.localIP(); + Serial.printf("IP Address: %s\n", myIP.toString().c_str()); + timeStateChange = millis(); + //StartWebServer(); + wifiConState = WFC_JoinedAP; + } else if (millis() - timeStateChange > 30000) { + timeStateChange = millis(); + wifiConState = WFC_CreateAP; // failed for 30 sec, now what. retry or CreateAP? + } + break; + case WFC_CreateAP: + // @todo if (timeLEDCycle <= LED_APMODE__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo isStationMode = false; + Serial.printf("Starting Access Point %s\n", AP_NAME.c_str()); + WiFi.softAP(AP_NAME.c_str()); + myIP = WiFi.softAPIP(); + Serial.printf("IP Address: %s\n", myIP.toString().c_str()); + // @todo dnsServer.start(DNS_PORT, "*", apIP); + timeStateChange = millis(); + //StartWebServer(); + wifiConState = WFC_HostingAP; + break; + case WFC_JoinedAP: + // @todo if (timeLEDCycle <= LED_JOINED__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo server.handleClient(); + break; + case WFC_HostingAP: + // @todo if (timeLEDCycle <= LED_APMODE__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo server.handleClient(); + // @todo dnsServer.processNextRequest(); + break; + default: + case WFC_Idle: + break; + } + return wifiConState; +} diff --git a/Firmware/WiFiStateHandler.h b/Firmware/WiFiStateHandler.h new file mode 100644 index 0000000..4bfcac0 --- /dev/null +++ b/Firmware/WiFiStateHandler.h @@ -0,0 +1,58 @@ +// +// +// WiFi Connection - handles the state - AP or Client +// +// + +#ifndef WIFISTATEHANDLER_H +#define WIFISTATEHANDLER_H +#include + +/// WiFi Connection States of connection +typedef enum { + WFC_ConnectToAP, ///< Connect to an Access Point + WFC_JoiningAP, ///< Joining the Access Point + WFC_JoinedAP, ///< Joined to the Access Point + WFC_CreateAP, ///< Create an Access Point + WFC_HostingAP, ///< Hosting an Access Point + WFC_Idle, ///< Idle take no action, or invalid +} WiFiConnectState; + +/// Get the current state +/// +/// @returns the current state +/// +WiFiConnectState WiFiStateGet(); + + +/// Called from the main loop to manage the WiFi connection state +/// +/// @returns current connection state +/// +/// @code +/// void loop() { +/// ... +/// WiFiStateHandler(); +/// ... +/// } +/// @endcode +WiFiConnectState WiFiStateHandler(); ///< WiFi interface manager + +/// Used to force a specific state +/// +/// @param[in] newState is the state to set the WiFi connection to +/// +/// @code +/// void setup() { +/// ... +/// if (ssid == "" || pass == "") +/// WiFiStateSet(WFC_CreateAP); +/// else +/// WiFiStateSet(WFC_ConnectToAP); +/// ... +/// } +/// @endcode +/// +void WiFiStateSet(WiFiConnectState newState); + +#endif // WIFISTATEHANDLER_H diff --git a/Firmware/WifiConfiguration.cpp b/Firmware/WifiConfiguration.cpp index 9e13a04..384824c 100644 --- a/Firmware/WifiConfiguration.cpp +++ b/Firmware/WifiConfiguration.cpp @@ -8,31 +8,31 @@ // Change this when it is required to force a reinitialization // -#define EXPECTED_FMT 0x03 +#define EXPECTED_FMT 0x03 typedef struct { - uint8_t format[2]; // Format of this data structure, and ~format - struct info { - char name[CFG_NAMESIZE]; // Name of this node - char ssid[CFG_SSIDSIZE]; // SSID of the saved network [max length defined by standard] - char pass[CFG_PASSSIZE]; // PASScode of the saved network - char updateURL[CFG_UURLSIZE]; // URL of the trusted server with code updates - uint16_t onRef; // A/D reference above which the output is considered 'On' - uint16_t offRef; // A/D reference below which the output is considered 'Off' - uint16_t autoOff; // When non-zero, this is the # minutes until auto-turn off - //char NTPIP[64]; // Name or IP of the NTP Server - char Padding[10]; - } info; + uint8_t format[2]; // Format of this data structure, and ~format + struct info { + char name[CFG_NAMESIZE]; // Network Discoverable Name of this node + char ssid[CFG_SSIDSIZE]; // SSID of the saved network [max length defined by standard] + char pass[CFG_PASSSIZE]; // PASScode of the saved network + char updateURL[CFG_UURLSIZE]; // URL of the trusted server with code updates + uint16_t onRef; // A/D reference above which the output is considered 'On' + uint16_t offRef; // A/D reference below which the output is considered 'Off' + uint16_t autoOff; // When non-zero, this is the # minutes until auto-turn off + //char NTPIP[64]; // Name or IP of the NTP Server + char Padding[10]; + } info; } Config_t; -#define OFS_FORMAT (0) -#define OFS_NAME (OFS_FORMAT + 2) -#define OFS_SSID (OFS_NAME + CFG_NAMESIZE) -#define OFS_PASS (OFS_SSID + CFG_SSIDSIZE) -#define OFS_URL (OFS_PASS + CFG_PASSSIZE) -#define OFS_ONREF (OFS_URL + CFG_UURLSIZE) -#define OFS_OFFREF (OFS_ONREF + sizeof(uint16_t)) +#define OFS_FORMAT (0) +#define OFS_NAME (OFS_FORMAT + 2) +#define OFS_SSID (OFS_NAME + CFG_NAMESIZE) +#define OFS_PASS (OFS_SSID + CFG_SSIDSIZE) +#define OFS_URL (OFS_PASS + CFG_PASSSIZE) +#define OFS_ONREF (OFS_URL + CFG_UURLSIZE) +#define OFS_OFFREF (OFS_ONREF + sizeof(uint16_t)) #define OFS_AUTOOFF (OFS_OFFREF + sizeof(uint16_t)) -//#define OFS_NTPIP (OFS_OFFREF + 2) +//#define OFS_NTPIP (OFS_OFFREF + 2) Config_t Configuration; @@ -41,117 +41,116 @@ ConfigManager::ConfigManager() { } void ConfigManager::factoryReset() { - Configuration.format[0] = EXPECTED_FMT; - Configuration.format[1] = ~EXPECTED_FMT; - strcpy(Configuration.info.name, "3-Way Switch"); - Configuration.info.ssid[0] = '\0'; - Configuration.info.pass[0] = '\0'; - //Configuration.info.updateURL[0] = '\0'; - strcpy(Configuration.info.updateURL, "https://192.168.1.201/mbed/ESP.php"); - Configuration.info.onRef = 150; - Configuration.info.offRef = 100; - Configuration.info.autoOff = 0; - //Configuration.info.NTPIP[0] = '\0'; + Configuration.format[0] = EXPECTED_FMT; + Configuration.format[1] = ~EXPECTED_FMT; + strcpy(Configuration.info.name, "3-Way Switch"); + Configuration.info.ssid[0] = '\0'; + Configuration.info.pass[0] = '\0'; + //Configuration.info.updateURL[0] = '\0'; + strcpy(Configuration.info.updateURL, "https://192.168.1.201/mbed/ESP.php"); + Configuration.info.onRef = 150; + Configuration.info.offRef = 100; + Configuration.info.autoOff = 0; + //Configuration.info.NTPIP[0] = '\0'; } void ConfigManager::load() { - EEPROM.begin(512); - - uint8_t * ptr = (uint8_t *) &Configuration; - uint8_t i = 0; - do { - *ptr++ = EEPROM.read(OFS_FORMAT + i++); - } while (i < sizeof(Configuration)); - if ((Configuration.format[0] & 0xFF) != (~Configuration.format[1] & 0xFF)) { - // Factory default - Serial.printf("Bad Configuration - reset to factory defaults\n"); - factoryReset(); - return; - } - Serial.printf("Loading from EEROM\n"); - Serial.printf("Node Name: %s\n", Configuration.info.name); - Serial.printf("SSID: %s\n", Configuration.info.ssid); - Serial.printf("PASS: %s\n", Configuration.info.pass); - Serial.printf("URL : %s\n", Configuration.info.updateURL); - Serial.printf("On Ref: %d\n", Configuration.info.onRef); - Serial.printf("Off Ref: %d\n", Configuration.info.offRef); - Serial.printf("Auto Off: %d\n", Configuration.info.autoOff); - //Serial.printf("NTP Svr: %s\n", Configuration.info.NTPIP); - delay(500); + EEPROM.begin(512); + uint8_t * ptr = (uint8_t *) &Configuration; + uint8_t i = 0; + do { + *ptr++ = EEPROM.read(OFS_FORMAT + i++); + } while (i < sizeof(Configuration)); + if ((Configuration.format[0] & 0xFF) != (~Configuration.format[1] & 0xFF)) { + // Factory default + Serial.printf("Bad Configuration - reset to factory defaults\n"); + factoryReset(); + return; + } + Serial.printf("Loading from EEROM\n"); + Serial.printf("Node Name: %s\n", Configuration.info.name); + Serial.printf("SSID: %s\n", Configuration.info.ssid); + Serial.printf("PASS: %s\n", Configuration.info.pass); + Serial.printf("URL : %s\n", Configuration.info.updateURL); + Serial.printf("On Ref: %d\n", Configuration.info.onRef); + Serial.printf("Off Ref: %d\n", Configuration.info.offRef); + Serial.printf("Auto Off: %d\n", Configuration.info.autoOff); + //Serial.printf("NTP Svr: %s\n", Configuration.info.NTPIP); + delay(500); } void ConfigManager::save(void) { - EEPROM.begin(512); - uint8_t * ptr = (uint8_t *) &Configuration; - uint8_t i = 0; - do { - EEPROM.write(OFS_FORMAT + i++, *ptr++); - } while (i < sizeof(Configuration)); - EEPROM.commit(); - delay(500); + EEPROM.begin(512); + uint8_t * ptr = (uint8_t *) &Configuration; + uint8_t i = 0; + do { + EEPROM.write(OFS_FORMAT + i++, *ptr++); + } while (i < sizeof(Configuration)); + EEPROM.commit(); + delay(500); } #if 0 String ConfigManager::getNTPServerName() { - return String(Configuration.info.NTPIP); + return String(Configuration.info.NTPIP); } void ConfigManager::setNTPServerName(String _name) { - strncpy(Configuration.info.NTPIP, _name.c_str(), sizeof(Configuration.info.NTPIP)); - Serial.printf("setNTPServerName(%s)\n", Configuration.info.NTPIP); + strncpy(Configuration.info.NTPIP, _name.c_str(), sizeof(Configuration.info.NTPIP)); + Serial.printf("setNTPServerName(%s)\n", Configuration.info.NTPIP); } #endif String ConfigManager::getName() { - return String(Configuration.info.name); + return String(Configuration.info.name); } void ConfigManager::setName(String _name) { - strncpy(Configuration.info.name, _name.c_str(), sizeof(Configuration.info.name)); - Serial.printf("setName(%s)\n", Configuration.info.name); + strncpy(Configuration.info.name, _name.c_str(), sizeof(Configuration.info.name)); + Serial.printf("setName(%s)\n", Configuration.info.name); } String ConfigManager::getSSID() { - return String(Configuration.info.ssid); + return String(Configuration.info.ssid); } void ConfigManager::setSSID(String _ssid) { - strncpy(Configuration.info.ssid, _ssid.c_str(), sizeof(Configuration.info.ssid)); - Serial.printf("setSSID(%s)\n", Configuration.info.ssid); + strncpy(Configuration.info.ssid, _ssid.c_str(), sizeof(Configuration.info.ssid)); + Serial.printf("setSSID(%s)\n", Configuration.info.ssid); } String ConfigManager::getPassword() { - return String(Configuration.info.pass); + return String(Configuration.info.pass); } void ConfigManager::setPassword(String _password) { - strncpy(Configuration.info.pass, _password.c_str(), sizeof(Configuration.info.pass)); - Serial.printf("setPass(%s)\n", Configuration.info.pass); + strncpy(Configuration.info.pass, _password.c_str(), sizeof(Configuration.info.pass)); + Serial.printf("setPass(%s)\n", Configuration.info.pass); } String ConfigManager::getURL() { - return String(Configuration.info.updateURL); + return String(Configuration.info.updateURL); } void ConfigManager::setURL(String _url) { - strncpy(Configuration.info.updateURL, _url.c_str(), sizeof(Configuration.info.updateURL)); - Serial.printf("setURL (%s)\n", Configuration.info.updateURL); + strncpy(Configuration.info.updateURL, _url.c_str(), sizeof(Configuration.info.updateURL)); + Serial.printf("setURL (%s)\n", Configuration.info.updateURL); } uint16_t ConfigManager::getOnRef() { - return Configuration.info.onRef; + return Configuration.info.onRef; } void ConfigManager::setOnRef(uint16 onR) { - Configuration.info.onRef = onR; + Configuration.info.onRef = onR; } uint16_t ConfigManager::getOffRef() { - return Configuration.info.offRef; + return Configuration.info.offRef; } void ConfigManager::setOffRef(uint16 offR) { - Configuration.info.offRef = offR; + Configuration.info.offRef = offR; } uint16_t ConfigManager::getAutoOff() { - return Configuration.info.autoOff; + return Configuration.info.autoOff; } void ConfigManager::setAutoOff(uint16 autoOff) { - Configuration.info.autoOff = autoOff; + Configuration.info.autoOff = autoOff; } diff --git a/Firmware/fauxmoESP.cpp b/Firmware/fauxmoESP.cpp deleted file mode 100644 index e150698..0000000 --- a/Firmware/fauxmoESP.cpp +++ /dev/null @@ -1,484 +0,0 @@ -/* - -FAUXMO ESP 2.4.2 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#include - -#if defined(ESP32) - #include -#elif defined(ESP8266) - #include -#else - #error Platform not supported -#endif - -#include "fauxmoESP.h" -#include "Web_Resources.h" - -// ----------------------------------------------------------------------------- -// UDP -// ----------------------------------------------------------------------------- - -void fauxmoESP::_sendUDPResponse(unsigned int device_id) { - - fauxmoesp_device_t device = _devices[device_id]; - DEBUG_MSG_FAUXMO("[FAUXMO] UDP response for device #%d (%s)\n", _current, device.name); - - char buffer[16]; - IPAddress ip = WiFi.localIP(); - snprintf_P(buffer, sizeof(buffer), PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]); - - char response[strlen(UDP_TEMPLATE) + 128]; - snprintf_P(response, sizeof(response), UDP_TEMPLATE, - buffer, - _base_port + _current, - device.uuid, - _udpPattern == 1 ? UDP_DEVICE_PATTERN_1 : _udpPattern == 2 ? UDP_DEVICE_PATTERN_2 : _udpPattern == 3 ? UDP_DEVICE_PATTERN_3 : _udpPattern == 4 ? UDP_DEVICE_PATTERN_4 : _udpPattern == 5 ? UDP_DEVICE_PATTERN_5 : UDP_ROOT_DEVICE, - device.uuid, - _udpPattern == 1 ? UDP_DEVICE_PATTERN_1 : _udpPattern == 2 ? UDP_ROOT_DEVICE : _udpPattern == 3 ? UDP_ROOT_DEVICE : _udpPattern == 4 ? UDP_ROOT_DEVICE : _udpPattern == 5 ? UDP_ROOT_DEVICE : UDP_ROOT_DEVICE - ); - - _udp.beginPacket(_remoteIP, _remotePort); - #if defined(ESP32) - _udp.printf(response); - #else - _udp.write(response); - #endif - _udp.endPacket(); - DEBUG_MSG_FAUXMO("[FAUXMO] response:\n%s\n", response); -} - -void fauxmoESP::_nextUDPResponse() { - - while (_roundsLeft) { - if (_devices[_current].hit == false) break; - if (++_current == _devices.size()) { - --_roundsLeft; - _current = 0; - } - } - - if (_roundsLeft > 0) { - _sendUDPResponse(_current); - if (++_current == _devices.size()) { - --_roundsLeft; - _current = 0; - } - } -} - -void fauxmoESP::_onUDPData(IPAddress remoteIP, unsigned int remotePort, void *data, size_t len) { - - if (!_enabled) { - DEBUG_MSG_FAUXMO("onUDPData\n"); - return; - } - char * p = (char *) data; - p[len] = 0; - - if (strstr(p, UDP_SEARCH_PATTERN) == (char *) data) { - Serial.printf("onUDP: %s\n", p); - _udpPattern = 0; - if (strstr(p, UDP_DEVICE_PATTERN_1) != NULL) _udpPattern = 1; - if (strstr(p, UDP_DEVICE_PATTERN_2) != NULL) _udpPattern = 2; - if (strstr(p, UDP_DEVICE_PATTERN_3) != NULL) _udpPattern = 3; - if (strstr(p, UDP_DEVICE_PATTERN_4) != NULL) _udpPattern = 4; // ssdp:all - if (strstr(p, UDP_DEVICE_PATTERN_5) != NULL) _udpPattern = 5; // ssdpsearch:all - if (strstr(p, UDP_ROOT_DEVICE) != NULL) _udpPattern = 6; // upnp:rootdevice - if (_udpPattern) { - - #ifdef DEBUG_FAUXMO - char buffer[16]; - snprintf_P(buffer, sizeof(buffer), PSTR("%d.%d.%d.%d"), remoteIP[0], remoteIP[1], remoteIP[2], remoteIP[3]); - DEBUG_MSG_FAUXMO("[FAUXMO] Search request from %s\n", buffer); - #endif - - // Set hits to false - for (unsigned int i = 0; i < _devices.size(); i++) { - _devices[i].hit = false; - } - - // Send responses - _remoteIP = remoteIP; - _remotePort = remotePort; - _current = random(0, _devices.size()); - _roundsLeft = UDP_RESPONSES_TRIES; - - } - } - -} - -// ----------------------------------------------------------------------------- -// TCP -// ----------------------------------------------------------------------------- - -void fauxmoESP::_handleSetup(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /setup.xml\n", device_id); - _devices[device_id].hit = true; - fauxmoesp_device_t device = _devices[device_id]; - - IPAddress myIP; - myIP = WiFi.localIP(); - char response[80 + strlen_P(SETUP_TEMPLATE) + strlen(device.name) + strlen(device.uuid) + strlen(device.serial) + 25]; - snprintf_P(response, sizeof(response), SETUP_TEMPLATE, - device.name, device.uuid, device.serial, - myIP.toString().c_str(), 80); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /setup.xml: %d, %d\n", strlen(headers), strlen(response)); -} - -void fauxmoESP::_handleEventService(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /eventservice.xml\n", device_id); - - char response[strlen_P(EVENTSERVICE_TEMPLATE)]; - snprintf_P(response, sizeof(response), EVENTSERVICE_TEMPLATE); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /eventservice.xml\n"); -} - -void fauxmoESP::_handleMetaInfoService(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /metainfoservice.xml\n", device_id); - - char response[strlen_P(METAINFO_TEMPLATE)]; - snprintf_P(response, sizeof(response), METAINFO_TEMPLATE); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /metainfoservice.xml\n"); -} - -void fauxmoESP::_handleControl(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /upnp/control/basicevent1\n", device_id); - - char content[len+1]; - memcpy(content, data, len); - fauxmoesp_device_t device = _devices[device_id]; - - // The default template is the one for GetBinaryState queries - const char * response_template = GETSTATE_TEMPLATE; - - if (strstr(content, "SetBinaryState") != NULL) { - - if (strstr(content, "0") != NULL) { - if (_setCallback) _setCallback(device_id, device.name, false); - } - - if (strstr(content, "1") != NULL) { - if (_setCallback) _setCallback(device_id, device.name, true); - } - - // Use a specific response template for SetBinaryState action - response_template = SETSTATE_TEMPLATE; - - } - - // Update current state - if (_getCallback) device.state = _getCallback(device_id, device.name); - - // Send response - char response[strlen_P(response_template) + 10]; - snprintf_P(response, sizeof(response), response_template, device.state ? 1 : 0); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /upnp/control/basicevent1\n"); -} - -void fauxmoESP::_handleIcon(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Icon /icon.png\n"); - - char *buf = (char *) malloc(strlen(HEADERJPG) + 5); - if (buf) { - snprintf_P(buf, strlen_P(HEADERJPG) + 5, HEADERJPG, sizeof(icon_png)); - client->write(buf, strlen(buf)); - client->write(icon_png, sizeof(icon_png)); - DEBUG_MSG_FAUXMO("[FAUXMO] sent icon.png [%d bytes]\n", sizeof(icon_png)); - delay(100); - free(buf); - } - DEBUG_MSG_FAUXMO("[FAUXMO] end /icon.png\n"); -} - - - -void fauxmoESP::_onTCPData(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - - if (!_enabled) { - DEBUG_MSG_FAUXMO("onTCPData ! _enabled\n"); - return; - } - - #ifdef DEBUG_FAUXMO - char * p = (char *) data; - p[len] = 0; - Serial.printf("[FAUXMO] onTCPData(dev:%d,\n%s\n", device_id, p); - #endif - - { - char match[] = {"GET /setup.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleSetup(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /eventservice.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleEventService(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /metainfoservice.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleMetaInfoService(client, device_id, data, len); - return; - } - } - - { - char match[] = {"POST /upnp/control/basicevent1 HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleControl(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /icon.png HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleIcon(client, device_id, data, len); - return; - } - } -} - -void fauxmoESP::_onTCPClient(AsyncClient *client, unsigned int device_id) { - - for (unsigned char i = 0; i < TCP_MAX_CLIENTS; i++) { - - if (!_tcpClients[i] || !_tcpClients[i]->connected()) { - - _tcpClients[i] = client; - - client->onAck([i](void *s, AsyncClient *c, size_t len, uint32_t time) { - (void) s; - (void) c; - (void) len; - (void) time; - }, 0); - - client->onData([this, i, device_id](void *s, AsyncClient *c, void *data, size_t len) { - (void) s; - _onTCPData(c, device_id, data, len); - }, 0); - - client->onDisconnect([this, i](void *s, AsyncClient *c) { - (void) s; - _tcpClients[i]->free(); - _tcpClients[i] = NULL; - delete c; - DEBUG_MSG_FAUXMO("[FAUXMO] Client #%d disconnected\n", i); - }, 0); - - client->onError([i](void *s, AsyncClient *c, int8_t error) { - (void) s; - (void) c; - (void) error; - DEBUG_MSG_FAUXMO("[FAUXMO] Error %s (%d) on client #%d\n", c->errorToString(error), error, i); - }, 0); - - client->onTimeout([i](void *s, AsyncClient *c, uint32_t time) { - (void) s; - (void) time; - DEBUG_MSG_FAUXMO("[FAUXMO] Timeout on client #%d at %i\n", i, time); - c->close(); - }, 0); - - DEBUG_MSG_FAUXMO("[FAUXMO] Client #%d connected\n", i); - return; - - } - - } - - DEBUG_MSG_FAUXMO("[FAUXMO] Rejecting - Too many connections\n"); - client->onDisconnect([](void *s, AsyncClient *c) { - (void) s; - c->free(); - delete c; - }); - client->close(true); - -} - -// ----------------------------------------------------------------------------- -// Public API -// ----------------------------------------------------------------------------- - -unsigned char fauxmoESP::addDevice(const char * device_name) { - - fauxmoesp_device_t new_device; - unsigned int device_id = _devices.size(); - - // Copy name - new_device.name = strdup(device_name); - - // Chip ID - #if defined(ESP32) - unsigned long chip_id = (uint32_t) ESP.getEfuseMac(); - #else - unsigned long chip_id = ESP.getChipId(); - #endif - - // Create UUID - char uuid[15]; - snprintf_P(uuid, sizeof(uuid), PSTR("444776%06X%02X\0"), chip_id, device_id); // "DEV" + CHIPID + DEV_ID - new_device.uuid = strdup(uuid); - - // Create Serialnumber - char serial[15]; - sprintf(serial, "221793K0%06X", (uint32)chip_id); // "221703K0" + CHIPID - new_device.serial = strdup(serial); - - // TCP Server - new_device.server = new AsyncServer(_base_port + device_id); - new_device.server->onClient([this, device_id](void *s, AsyncClient* c) { - (void) s; - _onTCPClient(c, device_id); - }, 0); - new_device.server->begin(); - - // Attach - _devices.push_back(new_device); - - DEBUG_MSG_FAUXMO("[FAUXMO] Device '%s' added as #%d\n", device_name, device_id); - - return device_id; - -} - -bool fauxmoESP::renameDevice(unsigned char id, const char * device_name) { - if (id <= _devices.size()) { - free(_devices[id].name); - _devices[id].name = strdup(device_name); - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d renamed to '%s'\n", id, device_name); - return true; - } - return false; -} - -char * fauxmoESP::getDeviceName(unsigned char id, char * device_name, size_t len) { - if (id <= _devices.size()) { - strncpy(device_name, _devices[id].name, len); - } - return device_name; -} - -void fauxmoESP::setState(unsigned char id, bool state) { - if (id <= _devices.size()) { - _devices[id].state = state; - } -} - -void fauxmoESP::handle() { - - int len = _udp.parsePacket(); - if (len > 0) { - DEBUG_MSG_FAUXMO("[FAUXMO] handle %d bytes\n", len); - IPAddress remoteIP = _udp.remoteIP(); - unsigned int remotePort = _udp.remotePort(); - uint8_t data[len]; - _udp.read(data, len); - _onUDPData(remoteIP, remotePort, data, len); - } - - if (_roundsLeft > 0) { - if (millis() - _lastTick > UDP_RESPONSES_INTERVAL) { - _lastTick = millis(); - _nextUDPResponse(); - } - } - -} - -void fauxmoESP::enable(bool enable) { - DEBUG_MSG_FAUXMO("[FAUXMO] %s\n", enable ? "Enabled" : "Disabled"); - _enabled = enable; - #ifdef ESP32 - _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT); - #endif -} - -fauxmoESP::fauxmoESP(unsigned int port) { - _base_port = port; - - #ifdef ESP8266 - // Start UDP server on STA connection - _handler = WiFi.onStationModeGotIP([this](WiFiEventStationModeGotIP ipInfo) { - (void) ipInfo; - _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT); - DEBUG_MSG_FAUXMO("[FAUXMO] UDP server started\n"); - }); - #endif - -} diff --git a/Firmware/fauxmoESP.h b/Firmware/fauxmoESP.h deleted file mode 100644 index 0518dfe..0000000 --- a/Firmware/fauxmoESP.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - -FAUXMO ESP 2.4.2 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#pragma once - -#define DEFAULT_TCP_BASE_PORT 49152 -#define UDP_MULTICAST_IP IPAddress(239,255,255,250) -#define UDP_MULTICAST_PORT 1900 -#define TCP_MAX_CLIENTS 10 - -#define UDP_SEARCH_PATTERN "M-SEARCH" -#define UDP_DEVICE_PATTERN_1 "urn:Belkin:device:**" -#define UDP_DEVICE_PATTERN_2 "urn:Belkin:device:controllee:1" -#define UDP_DEVICE_PATTERN_3 "urn:Belkin:service:basicevent:1" -#define UDP_DEVICE_PATTERN_4 "ssdp:all" -#define UDP_DEVICE_PATTERN_5 "ssdpsearch:all" -#define UDP_ROOT_DEVICE "upnp:rootdevice" - -#define UDP_RESPONSES_INTERVAL 250 -#define UDP_RESPONSES_TRIES 5 - -// Here, or in the compiler configuration -#define DEBUG_FAUXMO Serial -#ifdef DEBUG_FAUXMO - #define DEBUG_MSG_FAUXMO(...) DEBUG_FAUXMO.printf( __VA_ARGS__ ) -#else - #define DEBUG_MSG_FAUXMO(...) -#endif - -#include - -#if defined(ESP32) - #include - #include -#elif defined(ESP8266) - #include - #include -#else - #error Platform not supported -#endif - -#include -#include -#include -#include "WeMo.h" - -typedef std::function TSetStateCallback; -typedef std::function TGetStateCallback; - -typedef struct { - char * name; - char * uuid; - char * serial; - bool hit; - bool state; - AsyncServer * server; -} fauxmoesp_device_t; - -class fauxmoESP { - - public: - - fauxmoESP(unsigned int port = DEFAULT_TCP_BASE_PORT); - - unsigned char addDevice(const char * device_name); - bool renameDevice(unsigned char id, const char * device_name); - char * getDeviceName(unsigned char id, char * buffer, size_t len); - void onSetState(TSetStateCallback fn) { _setCallback = fn; } - void onGetState(TGetStateCallback fn) { _getCallback = fn; } - void enable(bool enable); - void handle(); - - // backwards compatibility DEPRECATED - void onMessage(TSetStateCallback fn) { onSetState(fn); } - void setState(unsigned char id, bool state); - - private: - - bool _enabled = true; - unsigned int _base_port = DEFAULT_TCP_BASE_PORT; - std::vector _devices; - #ifdef ESP8266 - WiFiEventHandler _handler; - #endif - WiFiUDP _udp; - AsyncClient * _tcpClients[TCP_MAX_CLIENTS]; - TSetStateCallback _setCallback = NULL; - TGetStateCallback _getCallback = NULL; - - unsigned int _roundsLeft = 0; - unsigned int _current = 0; - unsigned long _lastTick; - IPAddress _remoteIP; - unsigned int _remotePort; - unsigned int _udpPattern; - - void _sendUDPResponse(unsigned int device_id); - void _nextUDPResponse(); - - void _handleSetup(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleMetaInfoService(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleEventService(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleControl(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleIcon(AsyncClient *client, unsigned int device_id, void *data, size_t len); - - void _onUDPData(const IPAddress remoteIP, unsigned int remotePort, void *data, size_t len); - void _onTCPData(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _onTCPClient(AsyncClient *client, unsigned int device_id); - -}; diff --git a/Tools/MakeByteArray.pl b/Tools/MakeByteArray.pl index a5711e1..4f9b92d 100644 --- a/Tools/MakeByteArray.pl +++ b/Tools/MakeByteArray.pl @@ -9,6 +9,8 @@ my $maxCols = 16; my $maxLines = 0; my $ESP = 0; my $DIR = 0; +my $ROOT = 0; +my $UINT8 = 0; my $file = ""; my $ctrlC = 0; # User induced termination my $lineT = 0; # Linecount induced termination @@ -34,7 +36,7 @@ my %FileType = ( "ico" => "image/x-icon", "png" => "image/png", "jpg" => "image/jpeg", - "js" => "application/javascript", + "js" => "text/javascript", ); @@ -45,21 +47,26 @@ if (!@ARGV) $prg [file| [...]] [-n=##] [-l=##] [-ESP] [-DIR] [-o=outfile] version $VERSION - Dumps out the contents of the [file] as a c array. + Dumps out the contents of the [file(s)] as a c array. If the file is binary, it emits a hex char-array using the -n and -l settings. If the file is text, it emits as an ascii char-array where each source line is one ascii quoted line. - -ESP adds the PROGMEM attribte to the byte array data. + -ESP adds the PROGMEM attribute to the byte array data. -DIR adds a 'directory' at the end of the output, providing a reference to each input file. Most useful for a set of files. + -ROOT prefixes each entry in the 'directory' with '/', + so "index.htm" becomes + -o=outfile Writes the output to outfile. + -u overrides the default 'char' array to be 'uint8_t' + NOTE that the filename and type info remains 'char'. -n=## sets the byte count for each line, defaults 32. -l=## sets a termination after ## lines have been printed. @@ -83,8 +90,12 @@ foreach (@ARGV) { $outfile = $1; } elsif (/-ESP/) { $ESP = 1; } + elsif (/-ROOT/) + { $ROOT = 1; } elsif (/-DIR/) { $DIR = 1; } + elsif (/-u/) + { $UINT8 = 1; } elsif (-e $_ ) { push @files, $_; } elsif (/[\*\?]/) @@ -114,19 +125,32 @@ if ($outfile ne "") { printf("No outfile, emitting to console.\n"); } printf("//\n"); -printf("// Command : %s %s\n", $prg, join(" ", @ARGV)); +printf("// Command: %s %s\n", $prg, join(" ", @ARGV)); printf("// version: %2.1f\n", $VERSION); -printf("// From cwd : %s\n", cwd); +printf("// From cwd: %s\n", cwd); printf("// Generated: %s\n", scalar localtime()); -printf("// Run script in command shell, not PowerShell\n"); +printf("// NOTE: Run script in command shell, not PowerShell\n"); +printf("//\n"); + +if ($ESP) { + print < '%s'\n", $ext, $FileType{lc($ext)}); printf("\t{ %-20s, %-20s, %24s, %6d },\n", $fn, $title, $ftype, $DirInfo{$file}{'size'}); } - printf("\t{ %-20s, %-20s, %24s, %6d }\n", "\"\"", "NULL", "NULL", 0); + printf("\t{ %-20s, %-20s, %24s, %6d }\n", "NULL", "NULL", "NULL", 0); printf("};\n\n"); } @@ -185,7 +209,7 @@ sub Process { printf("\n"); printf("// File: %s\n", $file); printf("//\n"); - $prototype = sprintf("const char %s[]%s", $title, ($ESP) ? " PROGMEM" : ""); + $prototype = sprintf("const %s %s[]%s", ($UINT8) ? "uint8_t" : "char", $title, ($ESP) ? " PROGMEM" : ""); printf("%s = {\n", $prototype); my $size = 0; @@ -198,7 +222,7 @@ sub Process { $line =~ s/\r//g; $line =~ s/"/\\"/g; printf("\t\"%s\\n\"\n", $line); - $size += length($line); + $size += length($line) + 1; # +1 for the \n line termination. } } else { printf("\t"); diff --git a/Tools/MakeResourceFiles.cmd b/Tools/MakeResourceFiles.cmd index d83be73..6fcdf36 100644 --- a/Tools/MakeResourceFiles.cmd +++ b/Tools/MakeResourceFiles.cmd @@ -2,7 +2,7 @@ REM REM "Compile" the web resources folder into code modules. REM -REM Command : MakeByteArray -ESP *.* -o=..\Web_Resources.h +REM Command : MakeByteArray -ESP -ROOT -DIR *.* -o=..\Web_Resources.h REM From cwd : C:/Projects/SmartSwitch/Firmware/Resources REM Run script in command shell, not PowerShell REM @@ -46,7 +46,7 @@ dir /b echo. echo.Compiling the web resources into code modules... -MakeByteArray -ESP -DIR *.* -o=%TARG% +MakeByteArray -ESP -ROOT -DIR *.* -o=%TARG% echo. echo.Done. %TARG% has been updated and returning to prior folder.