├── wifitemp.jpg ├── wifi_temp.pdf ├── firmware ├── esp │ ├── myWebServerSample.ino.generic.bin │ ├── myWebServerSample.ino │ ├── myWebServer.h │ ├── myWebServer.cpp │ └── htmlEmbed.h └── arduino │ ├── EEPROM.ino │ ├── MangeTemperature.ino │ └── temp_pid_Software_Asil.ino └── README.md /wifitemp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/makerstorage/WiFi-Temp/HEAD/wifitemp.jpg -------------------------------------------------------------------------------- /wifi_temp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/makerstorage/WiFi-Temp/HEAD/wifi_temp.pdf -------------------------------------------------------------------------------- /firmware/esp/myWebServerSample.ino.generic.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/makerstorage/WiFi-Temp/HEAD/firmware/esp/myWebServerSample.ino.generic.bin -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |  3 | 4 | 5 | **WiFi Temperature Controller** 6 | 7 | For more details, check out the product page at 8 | 9 | http://makerstorage.com/index.php?id_product=27&controller=product 10 | 11 | 12 | MakerStorage invests time and resources providing this open source design, please support MakerStorage and open-source hardware by purchasing products from MakerStorage! 13 | 14 | Designed by MakerStorage LLC. 15 | 16 | 17 | Creative Commons Attribution, Share-Alike license, check https://creativecommons.org/licenses/by-sa/3.0/ for more information All text above must be included in any redistribution -------------------------------------------------------------------------------- /firmware/arduino/EEPROM.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Wifi PID Controller Ver 1 4 | WebSite: makerstorage.com 5 | Developer: Nuri Erginer 6 | Licence: GNU General Public License see . 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | */ 14 | #include 15 | 16 | template int EEPROM_writeAnything(int ee, const T& value) 17 | { 18 | const byte* p = (const byte*)(const void*)&value; 19 | unsigned int i; 20 | for (i = 0; i < sizeof(value); i++) 21 | EEPROM.write(ee++, *p++); 22 | return i; 23 | } 24 | 25 | template int EEPROM_readAnything(int ee, T& value) 26 | { 27 | byte* p = (byte*)(void*)&value; 28 | unsigned int i; 29 | for (i = 0; i < sizeof(value); i++) 30 | *p++ = EEPROM.read(ee++); 31 | return i; 32 | } 33 | 34 | 35 | void Write2Eprom(){ 36 | 37 | int curPos = 0; 38 | 39 | curPos += EEPROM_writeAnything(curPos, ExtruderSensor); 40 | curPos += EEPROM_writeAnything(curPos, BedSensor); 41 | 42 | curPos += EEPROM_writeAnything(curPos, Set_Extruder_Temp); 43 | curPos += EEPROM_writeAnything(curPos, Set_Bed_Temp); 44 | 45 | curPos += EEPROM_writeAnything(curPos, KP_Extruder); 46 | curPos += EEPROM_writeAnything(curPos, KP_Bed); 47 | 48 | curPos += EEPROM_writeAnything(curPos, KI_Extruder); 49 | curPos += EEPROM_writeAnything(curPos, KI_Bed); 50 | 51 | curPos += EEPROM_writeAnything(curPos, KD_Extruder); 52 | curPos += EEPROM_writeAnything(curPos, KD_Bed); 53 | 54 | } 55 | 56 | 57 | 58 | 59 | void ReadFromEprom(){ 60 | 61 | int curPos = 0; 62 | 63 | curPos += EEPROM_readAnything(curPos, ExtruderSensor); 64 | curPos += EEPROM_readAnything(curPos, BedSensor); 65 | 66 | curPos += EEPROM_readAnything(curPos, Set_Extruder_Temp); 67 | curPos += EEPROM_readAnything(curPos, Set_Bed_Temp); 68 | 69 | curPos += EEPROM_readAnything(curPos, KP_Extruder); 70 | curPos += EEPROM_readAnything(curPos, KP_Bed); 71 | 72 | curPos += EEPROM_readAnything(curPos, KI_Extruder); 73 | curPos += EEPROM_readAnything(curPos, KI_Bed); 74 | 75 | curPos += EEPROM_readAnything(curPos, KD_Extruder); 76 | curPos += EEPROM_readAnything(curPos, KD_Bed); 77 | 78 | 79 | 80 | } 81 | -------------------------------------------------------------------------------- /firmware/esp/myWebServerSample.ino: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "myWebServer.h" 10 | #include 11 | #include 12 | 13 | LiquidCrystal lcd(13, 12, 14, 5, 4, 2); //V2 14 | byte lcdRows = 2; 15 | byte lcdCols = 16; 16 | 17 | String jsonIn; 18 | 19 | long LCD_previousMillis = 0; // will store last time status updated 20 | long LCD_interval = 2500; // interval at which status send (milliseconds) 21 | 22 | long Serial_previousMillis = 0; // will store last time status updated 23 | long Serial_interval = 2500; // interval at which status send (milliseconds) 24 | 25 | int ST1 = 1 ; //Set_Extruder_Temp 26 | int CT1 = 2 ; //Current_Extruder_Temp 27 | float O1 = 3 ; // OutputValueExtruder; 28 | int ST2 = 4 ; //Set_Bed_Temp 29 | int CT2 = 5 ; //Current_Bed_Temp 30 | float O2 = 6 ; // OutputValueBed; 31 | 32 | void setup() { 33 | // put your setup code here, to run once: 34 | Serial.begin(9600); 35 | lcd.begin(lcdCols, lcdRows); 36 | lcd.clear(); 37 | lcd.setCursor(0, 0); 38 | lcd.print("--MakerStorage--"); 39 | 40 | MyWebServer.begin(); 41 | } 42 | 43 | void loop() { 44 | // put your main code here, to run repeatedly: 45 | MyWebServer.handle(); 46 | 47 | serialUpdate(); 48 | LCDUpdate(); 49 | 50 | }//loop 51 | 52 | 53 | void serialUpdate(){ 54 | /* 55 | Atmel send serial data to ESP in below format 56 | {"ST1":0.00,"ST2":0.00,"CT1":20.00,"CT2":23.00,"O1":0.00,"O2":0.00} 57 | */ 58 | if (millis() - Serial_previousMillis > Serial_interval) 59 | { 60 | Serial_previousMillis = millis(); // PID update rate 61 | 62 | while (Serial.available()) { 63 | jsonIn = Serial.readStringUntil('\n'); //read json 64 | StaticJsonBuffer<300> jsonBuffer; 65 | JsonObject& root = jsonBuffer.parseObject(jsonIn); 66 | 67 | if (root.success()) { 68 | 69 | ST1 = String(root["ST1"].asString()).toInt(); 70 | ST2 = String(root["ST2"].asString()).toInt(); 71 | 72 | CT1 = String(root["CT1"].asString()).toInt(); 73 | CT2 = String(root["CT2"].asString()).toInt(); 74 | 75 | O1 = String(root["O1"].asString()).toFloat(); 76 | O2 = String(root["O2"].asString()).toFloat(); 77 | 78 | 79 | }//if 80 | }//while 81 | 82 | }//if 83 | }//serialUpdate 84 | 85 | void LCDUpdate(){ 86 | if (millis() - LCD_previousMillis > LCD_interval) 87 | { 88 | LCD_previousMillis = millis(); // PID update rate 89 | 90 | lcd.clear(); 91 | lcd.setCursor(0, 0); 92 | lcd.print("S1:"); 93 | lcd.print(ST1); 94 | lcd.print(" C1:"); 95 | lcd.print(CT1); 96 | lcd.setCursor(0, 1); 97 | lcd.print("S2:"); 98 | lcd.print(ST2); 99 | lcd.print(" C2:"); 100 | lcd.print(CT2); 101 | }//if 102 | }//LCDUpdate 103 | -------------------------------------------------------------------------------- /firmware/arduino/MangeTemperature.ino: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Nuri Erginer 4 | * 5 | * Wifi PID Controller Ver 1 6 | * PID Controller for CNC 2 Printer 3D Conversion 7 | */ 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | PID PIDExtruder(&Current_Extruder_Temp, &OutputValueExtruder, &Set_Extruder_Temp,KP_Extruder,KI_Extruder,KD_Extruder, DIRECT); 16 | PID PIDBed(&Current_Bed_Temp, &OutputValueBed, &Set_Bed_Temp,KP_Bed,KI_Bed,KD_Bed, DIRECT); 17 | 18 | 19 | int WindowSizeExtruder = 5000; 20 | unsigned long windowStartTimeExtruder; 21 | 22 | int WindowSizeBed = 5000; 23 | unsigned long windowStartTimeBed; 24 | 25 | float read_thermocouple(){ 26 | thermocouple.readInternal(); 27 | 28 | double c = thermocouple.readCelsius(); 29 | 30 | if (isnan(c)) { 31 | // Serial.println("Something wrong with thermocouple!"); 32 | } else { 33 | return c; 34 | } 35 | 36 | } 37 | 38 | 39 | 40 | 41 | int read_termistor(int THERMISTOR) 42 | { 43 | int rawtemp = analogRead(THERMISTOR); 44 | int current_celsius = 0; 45 | 46 | byte i; 47 | for (i=1; i rawtemp) 50 | { 51 | int realtemp = temptable[i-1][1] + (rawtemp - temptable[i-1][0]) * (temptable[i][1] - temptable[i-1][1]) / (temptable[i][0] - temptable[i-1][0]); 52 | 53 | if (realtemp > 255) 54 | realtemp = 255; 55 | 56 | current_celsius = realtemp; 57 | 58 | break; 59 | } 60 | } 61 | 62 | // Overflow: We just clamp to 0 degrees celsius 63 | if (i == NUMTEMPS) 64 | current_celsius = 0; 65 | 66 | return current_celsius; 67 | } 68 | 69 | 70 | 71 | void read_Temperatures(){ 72 | 73 | switch (ExtruderSensor) { 74 | case 0: 75 | Current_Extruder_Temp = read_termistor(0);//A0 pin 76 | break; 77 | case 1: 78 | Current_Extruder_Temp = read_termistor(1);//A1 pin 79 | break; 80 | case 2: 81 | Current_Extruder_Temp = read_thermocouple(); 82 | break; 83 | } 84 | switch (BedSensor) { 85 | case 0: 86 | Current_Bed_Temp = read_termistor(0);//A0 Pin 87 | break; 88 | case 1: 89 | Current_Bed_Temp = read_termistor(1);//A1 pin 90 | break; 91 | case 2: 92 | Current_Bed_Temp = read_thermocouple(); 93 | break; 94 | } 95 | 96 | } 97 | 98 | 99 | 100 | void Manage_Extruder_Temperature (){ 101 | read_Temperatures(); 102 | PIDExtruder.Compute(); 103 | analogWrite(ExtruderOutput,OutputValueExtruder); 104 | if (Current_Extruder_Temp > Set_Extruder_Temp) { 105 | analogWrite(ExtruderOutput,0); 106 | } 107 | 108 | } 109 | 110 | void Manage_Bed_Temperature (){ 111 | read_Temperatures(); 112 | PIDBed.Compute(); 113 | analogWrite(BedOutput,OutputValueBed); 114 | if (Current_Bed_Temp > Set_Bed_Temp) { 115 | analogWrite(BedOutput,0); 116 | } 117 | 118 | 119 | } 120 | 121 | 122 | 123 | void initPID(){ 124 | PIDExtruder.SetMode(AUTOMATIC); 125 | PIDBed.SetMode(AUTOMATIC); 126 | } 127 | 128 | void Manage_Temperatures (){ 129 | Manage_Extruder_Temperature (); 130 | Manage_Bed_Temperature (); 131 | } 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /firmware/esp/myWebServer.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | myWebServer.h for esp8266 5 | 6 | Copyright (c) 2016 David Paiva (david@nailbuster.com). All rights reserved. 7 | 8 | parts based on various project sample/sources... 9 | FSWebServer - Example WebServer with SPIFFS backend for esp8266 by Hristo Gochkov. 10 | also some code from project http://www.john-lassen.de/index.php/projects/esp-8266-arduino-ide-webconfig 11 | 12 | 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2.1 of the License, or (at your option) any later version. 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | You should have received a copy of the GNU Lesser General Public 23 | License along with this library; if not, write to the Free Software 24 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 25 | */ 26 | 27 | //required libraries: 28 | // 29 | //TimeLib for ntp here: https://github.com/PaulStoffregen/Time 30 | //Arduino Json here: https://github.com/bblanchon/ArduinoJson 31 | // 32 | // 33 | 34 | 35 | 36 | 37 | #ifndef _MYWEBSERVER_h 38 | #define _MYWEBSERVER_h 39 | 40 | #if defined(ARDUINO) && ARDUINO >= 100 41 | #include "Arduino.h" 42 | #else 43 | #include "WProgram.h" 44 | #endif 45 | 46 | 47 | //#define DEBUG 48 | //#define ALLOW_IDEOTA //define this to allow IDE OTA, good while debugging.... 49 | 50 | #ifdef DEBUG 51 | #define DebugPrint(x) Serial.print (x) 52 | #define DebugPrintDec(x) Serial.print (x, DEC) 53 | #define DebugPrintln(x) Serial.println (x) 54 | #else 55 | #define DebugPrint(x) 56 | #define DebugPrintDec(x) 57 | #define DebugPrintln(x) 58 | #endif 59 | 60 | 61 | #include 62 | #include 63 | #include 64 | 65 | extern ESP8266WebServer server; 66 | 67 | 68 | 69 | 70 | class MyWebServerClass 71 | { 72 | protected: 73 | 74 | 75 | public: 76 | String ssid; 77 | String password; 78 | byte IP[4]; 79 | byte Netmask[4]; 80 | byte Gateway[4]; 81 | boolean dhcp; 82 | boolean MDNSdisable; 83 | boolean cDNSdisable; 84 | boolean SoftAPAlways; //run AP Mode always...normally false to only run when can't connect 85 | boolean OTAisflashing; 86 | boolean isDownloading; //file transfers get wacky with other services....so other services should check and disable if true.... 87 | boolean AllowPublic = false; //determine if we allow page views for public pages...or need the admin access pass for all pages. 88 | String ntpServerName; //ntp stuffs 89 | long UpdateNTPEvery; 90 | long timezone; 91 | boolean daylight; 92 | boolean useNTP; 93 | 94 | String DeviceName; //used by mDNS.local 95 | String CurTimeString(); 96 | String CurDateString(); 97 | String urldecode(String input); 98 | String urlencode(String str); 99 | 100 | 101 | 102 | 103 | void begin(); 104 | void handle(); 105 | void (*jsonSaveHandle)(String fname) = NULL; //callback function when json form is saved...fname is the filename saved. 106 | 107 | bool WiFiLoadconfig(); //load wificonfig from json file 108 | void ServerLog(String logmsg); 109 | bool isAuthorized(); 110 | 111 | }; 112 | 113 | extern MyWebServerClass MyWebServer; 114 | extern String MyWebServerLog; 115 | 116 | 117 | #endif 118 | 119 | -------------------------------------------------------------------------------- /firmware/arduino/temp_pid_Software_Asil.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "Adafruit_LEDBackpack.h" 5 | #include "Adafruit_GFX.h" 6 | #include 7 | 8 | 9 | #include 10 | #include "Adafruit_MAX31855.h" 11 | 12 | #define MAXDO 4 13 | #define MAXCS 3 14 | #define MAXCLK 5 15 | 16 | // initialize the Thermocouple 17 | Adafruit_MAX31855 thermocouple(MAXCLK, MAXCS, MAXDO); 18 | 19 | // Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts) 20 | // Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py) 21 | // ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023 22 | // r0: 100000 23 | // t0: 25 24 | // r1: 0 25 | // r2: 4700 26 | // beta: 4066 27 | // max adc: 1023 28 | #define NUMTEMPS 20 29 | short temptable[NUMTEMPS][2] = { 30 | {1, 841}, 31 | {54, 255}, 32 | {107, 209}, 33 | {160, 184}, 34 | {213, 166}, 35 | {266, 153}, 36 | {319, 142}, 37 | {372, 132}, 38 | {425, 124}, 39 | {478, 116}, 40 | {531, 108}, 41 | {584, 101}, 42 | {637, 93}, 43 | {690, 86}, 44 | {743, 78}, 45 | {796, 70}, 46 | {849, 61}, 47 | {902, 50}, 48 | {955, 34}, 49 | {1008, 3} 50 | }; 51 | 52 | 53 | /* 54 | * Nuri Erginer 55 | * 56 | * Wifi PID Controller Ver 1 57 | * PID Controller for CNC 2 Printer 3D Conversion 58 | */ 59 | 60 | 61 | 62 | #define DEBUG 63 | 64 | 65 | //Mosfet Outputs 66 | #define ExtruderOutput 9 //mosfet 1 connected to digital 9 67 | #define BedOutput 10 //mosfet 2 connected to digital 10 68 | 69 | 70 | 71 | //Sensors 72 | int ExtruderSensor =-1; //0=Thermistor1 1=Thermistor2 3=Thermocouple 73 | int BedSensor =-1; 74 | 75 | 76 | 77 | 78 | long Status_previousMillis = 0; // will store last time status updated 79 | long Status_interval = 2500; // interval at which status send (milliseconds) 80 | 81 | long Temp_previousMillis =0; 82 | long Temp_interval = 500; 83 | 84 | #define TEMPERATURE_SAMPLES 10 85 | #define TEMP_UPDATE_INTERVAL 200 86 | unsigned long temp_prev_time; 87 | 88 | double Current_Extruder_Temp = 0; 89 | double Set_Extruder_Temp = 185; 90 | 91 | double Current_Bed_Temp = 0; 92 | double Set_Bed_Temp = 75; 93 | 94 | String jsonIn = ""; 95 | 96 | double OutputValueExtruder; 97 | double OutputValueBed; 98 | 99 | double KP_Extruder = 400; 100 | double KI_Extruder = 0.08; 101 | double KD_Extruder = 400; 102 | 103 | double KP_Bed = 400; 104 | double KI_Bed = 0.08; 105 | double KD_Bed = 400; 106 | 107 | 108 | //sending status data to esp in json format 109 | StaticJsonBuffer<200> jsonBuffer; 110 | JsonObject& CurStatus = jsonBuffer.createObject(); 111 | 112 | void setup() { 113 | 114 | ReadFromEprom(); 115 | Serial.begin(9600); 116 | 117 | pinMode(ExtruderOutput, OUTPUT); 118 | digitalWrite(ExtruderOutput, LOW); 119 | 120 | pinMode(BedOutput, OUTPUT); 121 | digitalWrite(BedOutput, LOW); 122 | 123 | initPID(); 124 | 125 | } 126 | 127 | 128 | 129 | void loop() { 130 | //ExtruderSensor =0; //0=Thermistor1 1=Thermistor2 2=Thermocouple 131 | //BedSensor =1; 132 | //Set_Extruder_Temp =55; 133 | 134 | statusUpdate(); 135 | tempUpdate(); 136 | serialUpdate(); 137 | 138 | 139 | 140 | }//loop 141 | 142 | 143 | void statusUpdate(){ 144 | //Atmel sending current values about temperature management 145 | 146 | if (millis() - Status_previousMillis > Status_interval) 147 | { 148 | Status_previousMillis = millis(); // PID update rate 149 | CurStatus["ST1"] = Set_Extruder_Temp; 150 | CurStatus["ST2"] = Set_Bed_Temp; 151 | CurStatus["CT1"] = Current_Extruder_Temp; 152 | CurStatus["CT2"] = Current_Bed_Temp; 153 | CurStatus["O1"] = OutputValueExtruder; 154 | CurStatus["O2"] = OutputValueBed; 155 | 156 | //send status data to esp 157 | CurStatus.printTo(Serial); 158 | Serial.println(""); 159 | 160 | 161 | }//if millis 162 | } 163 | 164 | void tempUpdate(){ 165 | if (millis() - Temp_previousMillis > Temp_interval) 166 | { 167 | Temp_previousMillis = millis(); // PID update rate 168 | Manage_Temperatures (); 169 | 170 | }// if milis 171 | } 172 | 173 | void serialUpdate(){ 174 | /* 175 | ESP send serial data to us when settings web page updated 176 | below code handle the comming json data and write them to 177 | approprate vars. 178 | */ 179 | while (Serial.available()) { 180 | // get the new byte: 181 | //{"pid1_sensor":"0","pid1_settemp":"55","pid1_P":"400","pid1_I":"0.08","pid1_D":"400","pid2_sensor":"2","pid2_settemp":"60","pid2_P":"400","pid2_I":"0.08","pid2_D":"400"} 182 | 183 | jsonIn = Serial.readStringUntil('\n'); //read json 184 | 185 | // Serial.println(jsonIn); 186 | 187 | StaticJsonBuffer<300> jsonBuffer; 188 | JsonObject& root = jsonBuffer.parseObject(jsonIn); 189 | 190 | if (root.success()) { 191 | 192 | ExtruderSensor = String(root["pid1_sensor"].asString()).toInt(); 193 | BedSensor = String(root["pid2_sensor"].asString()).toInt(); 194 | 195 | // Serial.println(ExtruderSensor); 196 | // Serial.println(BedSensor); 197 | // Serial.println("------"); 198 | 199 | Set_Extruder_Temp = String(root["pid1_settemp"].asString()).toFloat(); 200 | Set_Bed_Temp = String(root["pid2_settemp"].asString()).toFloat(); 201 | 202 | // Serial.println(Set_Extruder_Temp); 203 | // Serial.println(Set_Bed_Temp); 204 | // Serial.println("------"); 205 | 206 | KP_Extruder = String(root["pid1_P"].asString()).toFloat(); 207 | KP_Bed = String(root["pid2_P"].asString()).toFloat(); 208 | 209 | // Serial.println(KP_Extruder); 210 | // Serial.println(KP_Bed); 211 | // Serial.println("------"); 212 | 213 | KI_Extruder = String(root["pid1_I"].asString()).toFloat(); 214 | KI_Bed = String(root["pid2_I"].asString()).toFloat(); 215 | 216 | // Serial.println(KI_Extruder); 217 | // Serial.println(KI_Bed); 218 | // Serial.println("------"); 219 | 220 | KD_Extruder = String(root["pid1_D"].asString()).toFloat(); 221 | KD_Bed = String(root["pid2_D"].asString()).toFloat(); 222 | 223 | // Serial.println(KD_Extruder); 224 | // Serial.println(KD_Bed); 225 | // Serial.println("------"); 226 | 227 | Write2Eprom(); // the new settings must be written in eeprom 228 | } 229 | }//while 230 | } 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | -------------------------------------------------------------------------------- /firmware/esp/myWebServer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | myWebServer.cpp for esp8266 3 | 4 | Copyright (c) 2016 David Paiva (david@nailbuster.com). All rights reserved. 5 | 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | This library is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | Lesser General Public License for more details. 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #include "myWebServer.h" 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include "htmlEmbed.h" 31 | #include 32 | #include 33 | 34 | 35 | #ifdef ALLOW_IDEOTA 36 | #include 37 | #endif // ALLOW_IDEOTA 38 | 39 | extern LiquidCrystal lcd; 40 | 41 | extern int ST1; //Set_Extruder_Temp 42 | extern int CT1; //Current_Extruder_Temp 43 | extern float O1; // OutputValueExtruder; 44 | extern int ST2; //Set_Bed_Temp 45 | extern int CT2; //Current_Bed_Temp 46 | extern float O2; // OutputValueBed; 47 | 48 | ESP8266WebServer server(80); 49 | IPAddress apIP(192, 168, 4, 1); 50 | DNSServer dnsServer; 51 | bool dsnServerActive = false; 52 | String ConfigUsername="admin"; //used for webconfig username admin 53 | String ConfigPassword=""; //used for webconfig username admin 54 | File fsUploadFile; 55 | 56 | 57 | //ntp stuffs 58 | WiFiUDP UDPNTPClient; 59 | unsigned long lastTimeCheck = 0; //for timer to fire every sec 60 | const int NTP_PACKET_SIZE = 48; 61 | byte packetBuffer[NTP_PACKET_SIZE]; 62 | time_t prevDisplay = 0; // when the digital clock was displayed 63 | 64 | MyWebServerClass MyWebServer; 65 | String MyWebServerLog; 66 | 67 | 68 | 69 | void handleIndex() { 70 | //send GZ version of embedded config 71 | server.sendHeader("Content-Encoding", "gzip"); 72 | server.send_P(200, "text/html", PAGE_INDEX, sizeof(PAGE_INDEX)); 73 | } 74 | 75 | void handleWifiConfig() { 76 | //send GZ version of embedded config 77 | server.sendHeader("Content-Encoding", "gzip"); 78 | server.send_P(200, "text/html", PAGE_WIFISETUP, sizeof(PAGE_WIFISETUP)); 79 | } 80 | 81 | 82 | void handlePIDConfig() { 83 | //send GZ version of embedded config 84 | server.sendHeader("Content-Encoding", "gzip"); 85 | server.send_P(200, "text/html", PAGE_PIDSETUP, sizeof(PAGE_PIDSETUP)); 86 | } 87 | 88 | void sendPIDUpdate(String fname) { 89 | // pid.json file saved so we have to send this to atmel 90 | File file = SPIFFS.open(fname, "r"); 91 | if (file) { 92 | Serial.println(file.readStringUntil('\n')); 93 | file.close(); 94 | } 95 | } 96 | 97 | 98 | void handleDashBoard() { // we willsend dash board file 99 | //send GZ version of embedded config 100 | server.sendHeader("Content-Encoding", "gzip"); 101 | server.send_P(200, "text/html", PAGE_DASHBOARD, sizeof(PAGE_DASHBOARD)); 102 | } 103 | 104 | void handleAbout() { // we willsend dash board file 105 | //send GZ version of embedded config 106 | server.sendHeader("Content-Encoding", "gzip"); 107 | server.send_P(200, "text/html", PAGE_ABOUT, sizeof(PAGE_ABOUT)); 108 | } 109 | 110 | void handleDashJsonUpdate() { 111 | //dashboard data will be send to webpage from this function 112 | DebugPrintln("handleJsonUpdate"); 113 | 114 | 115 | String InJson = "{\"ST1\":"+String(ST1)+ 116 | ",\"ST2\":"+String(ST2)+ 117 | ",\"CT1\":"+String(CT1)+ 118 | ",\"CT2\":"+String(CT2)+ 119 | ",\"O1\":"+String(O1)+ 120 | ",\"O2\":"+String(O2)+"}"; 121 | 122 | // server.streamFile(InJson, "application/json"); 123 | server.send ( 200, "application/json",InJson); 124 | } 125 | 126 | 127 | // send an NTP request to the time server at the given address 128 | void sendNTPpacket(IPAddress &address) 129 | { 130 | // set all bytes in the buffer to 0 131 | memset(packetBuffer, 0, NTP_PACKET_SIZE); 132 | // Initialize values needed to form NTP request 133 | // (see URL above for details on the packets) 134 | packetBuffer[0] = 0b11100011; // LI, Version, Mode 135 | packetBuffer[1] = 0; // Stratum, or type of clock 136 | packetBuffer[2] = 6; // Polling Interval 137 | packetBuffer[3] = 0xEC; // Peer Clock Precision 138 | // 8 bytes of zero for Root Delay & Root Dispersion 139 | packetBuffer[12] = 49; 140 | packetBuffer[13] = 0x4E; 141 | packetBuffer[14] = 49; 142 | packetBuffer[15] = 52; 143 | // all NTP fields have been given values, now 144 | // you can send a packet requesting a timestamp: 145 | UDPNTPClient.beginPacket(address, 123); //NTP requests are to port 123 146 | UDPNTPClient.write(packetBuffer, NTP_PACKET_SIZE); 147 | UDPNTPClient.endPacket(); 148 | } 149 | 150 | 151 | bool IsDst(int hour,int day, int month, int dow) //north american dst dow 0=SUN 152 | { 153 | if (MyWebServer.daylight == false) return false; //option to disable DST 154 | 155 | //January, february, and december are out. 156 | if (month < 3 || month > 11) { return false; } 157 | //April to October are in 158 | if (month > 3 && month < 11) { return true; } 159 | int previousSunday = day - dow; 160 | //In march, we are DST if our previous sunday was on or after the 8th. 161 | if (month == 3) { return previousSunday >= 8; } 162 | //In november we must be before the first sunday to be dst. 163 | //That means the previous sunday must be before the 1st. 164 | return previousSunday <= 0; 165 | } 166 | 167 | 168 | time_t getNtpTime() 169 | { 170 | 171 | while (UDPNTPClient.parsePacket() > 0); // discard any previously received packets 172 | DebugPrintln("Transmit NTP Request"); 173 | IPAddress timeServerIP; 174 | WiFi.hostByName(MyWebServer.ntpServerName.c_str(), timeServerIP); 175 | sendNTPpacket(timeServerIP); 176 | uint32_t beginWait = millis(); 177 | while (millis() - beginWait < 1500) { 178 | int size = UDPNTPClient.parsePacket(); 179 | if (size >= NTP_PACKET_SIZE) { 180 | DebugPrintln("Receive NTP Response"); 181 | UDPNTPClient.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer 182 | unsigned long secsSince1900; 183 | // convert four bytes starting at location 40 to a long integer 184 | secsSince1900 = (unsigned long)packetBuffer[40] << 24; 185 | secsSince1900 |= (unsigned long)packetBuffer[41] << 16; 186 | secsSince1900 |= (unsigned long)packetBuffer[42] << 8; 187 | secsSince1900 |= (unsigned long)packetBuffer[43]; 188 | secsSince1900 = secsSince1900 - 2208988800UL + ((MyWebServer.timezone / 10) * SECS_PER_HOUR); 189 | if (IsDst(hour(secsSince1900),day(secsSince1900), month(secsSince1900), dayOfWeek(secsSince1900)-1)) secsSince1900 += 3600; //add hour if DST 190 | return secsSince1900; 191 | } 192 | } 193 | DebugPrintln("No NTP Response :-("); 194 | return 0; // return 0 if unable to get the time 195 | } 196 | 197 | 198 | 199 | 200 | 201 | // convert a single hex digit character to its integer value (from https://code.google.com/p/avr-netino/) 202 | unsigned char h2int(char c) 203 | { 204 | if (c >= '0' && c <= '9') { 205 | return((unsigned char)c - '0'); 206 | } 207 | if (c >= 'a' && c <= 'f') { 208 | return((unsigned char)c - 'a' + 10); 209 | } 210 | if (c >= 'A' && c <= 'F') { 211 | return((unsigned char)c - 'A' + 10); 212 | } 213 | return(0); 214 | } 215 | 216 | String MyWebServerClass::urldecode(String input) // (based on https://code.google.com/p/avr-netino/) 217 | { 218 | char c; 219 | String ret = ""; 220 | 221 | for (byte t = 0; t9) { 259 | code1 = (c & 0xf) - 10 + 'A'; 260 | } 261 | c = (c >> 4) & 0xf; 262 | code0 = c + '0'; 263 | if (c > 9) { 264 | code0 = c - 10 + 'A'; 265 | } 266 | //code2 = '\0'; 267 | encodedString += '%'; 268 | encodedString += code0; 269 | encodedString += code1; 270 | //encodedString+=code2; 271 | } 272 | yield(); 273 | } 274 | return encodedString; 275 | 276 | } 277 | 278 | 279 | 280 | 281 | 282 | 283 | bool isAdmin() 284 | { 285 | if (ConfigPassword == "") return true; //not using web password (default); 286 | 287 | bool isAuth = false; 288 | if (!server.authenticate(ConfigUsername.c_str(), ConfigPassword.c_str())) 289 | { 290 | server.requestAuthentication(); 291 | 292 | } 293 | else isAuth = true; 294 | 295 | return isAuth; 296 | } 297 | 298 | bool isPublicFile(String filename) //in Public mode, display any file that doesn't have a $$$, or they will need admin access.... 299 | { 300 | bool isPub = false; 301 | 302 | if (MyWebServer.AllowPublic) 303 | { 304 | if (filename.indexOf("$$$") < 0) isPub = true; //if no $ in filename then allow file to be used/viewed. 305 | if (filename.indexOf("wifiset") >= 0) isPub = false; //hardcode wifiset cannot be public..... 306 | } 307 | 308 | return isPub; 309 | } 310 | 311 | 312 | String getContentType(String filename) 313 | { 314 | if (server.hasArg("download")) return "application/octet-stream"; 315 | else if (filename.endsWith(".htm")) return "text/html"; 316 | else if (filename.endsWith(".html")) return "text/html"; 317 | else if (filename.endsWith(".css")) return "text/css"; 318 | else if (filename.endsWith(".js")) return "application/javascript"; 319 | else if (filename.endsWith(".png")) return "image/png"; 320 | else if (filename.endsWith(".gif")) return "image/gif"; 321 | else if (filename.endsWith(".jpg")) return "image/jpeg"; 322 | else if (filename.endsWith(".ico")) return "image/x-icon"; 323 | else if (filename.endsWith(".xml")) return "text/xml"; 324 | else if (filename.endsWith(".pdf")) return "application/x-pdf"; 325 | else if (filename.endsWith(".zip")) return "application/x-zip"; 326 | else if (filename.endsWith(".gz")) return "application/x-gzip"; 327 | return "text/plain"; 328 | } 329 | 330 | 331 | 332 | 333 | bool handleFileRead(String path) 334 | { 335 | DebugPrintln("handleFileRead: " + path); 336 | if (path.endsWith("/")) path += "index.html"; 337 | String contentType = getContentType(path); 338 | String pathWithGz = path + ".gz"; 339 | path = MyWebServer.urldecode(path); 340 | if (isPublicFile(path) == false) { 341 | if (isAdmin() == false) return false; //check if a public file. 342 | } 343 | 344 | if (SPIFFS.exists(pathWithGz) || SPIFFS.exists(path)) { 345 | if (SPIFFS.exists(pathWithGz)) 346 | path += ".gz"; 347 | File file = SPIFFS.open(path, "r"); 348 | server.streamFile(file, contentType); 349 | file.close(); 350 | return true; 351 | } 352 | 353 | return false; 354 | } 355 | 356 | void handleFileUpload() 357 | { 358 | if (server.uri() != "/upload") return; 359 | if (isAdmin() == false) return; 360 | MyWebServer.isDownloading = true; 361 | HTTPUpload& upload = server.upload(); 362 | if (upload.status == UPLOAD_FILE_START) { 363 | String filename = upload.filename; 364 | if (!filename.startsWith("/")) filename = "/" + filename; 365 | DebugPrintln("handleFileUpload Name: "); DebugPrintln(filename); 366 | fsUploadFile = SPIFFS.open(filename, "w"); 367 | filename = String(); 368 | } 369 | else if (upload.status == UPLOAD_FILE_WRITE) { 370 | //SerialLog.print("handleFileUpload Data: "); DebugPrintln(upload.currentSize); 371 | if (fsUploadFile) 372 | fsUploadFile.write(upload.buf, upload.currentSize); 373 | } 374 | else if (upload.status == UPLOAD_FILE_END) { 375 | if (fsUploadFile) 376 | fsUploadFile.close(); 377 | 378 | DebugPrint("handleFileUpload Size: "); DebugPrintln(upload.totalSize); 379 | // MyWebServer.isDownloading = false; 380 | } 381 | } 382 | 383 | void handleFileDelete(String fname) 384 | { 385 | if (isAdmin() == false) return; 386 | DebugPrintln("handleFileDelete: " + fname); 387 | fname = '/' + fname; 388 | fname = MyWebServer.urldecode(fname); 389 | if (!SPIFFS.exists(fname)) 390 | return server.send(404, "text/plain", "FileNotFound"); 391 | if (SPIFFS.exists(fname)) 392 | { 393 | SPIFFS.remove(fname); 394 | server.send(200, "text/plain", ""); 395 | } 396 | } 397 | 398 | void handleJsonSave() 399 | { 400 | 401 | if (server.args() == 0) 402 | return server.send(500, "text/plain", "BAD JsonSave ARGS"); 403 | 404 | String fname = "/" + server.arg(0); 405 | fname = MyWebServer.urldecode(fname); 406 | 407 | 408 | 409 | DebugPrintln("handleJsonSave: " + fname); 410 | 411 | if (isPublicFile(fname) == false) 412 | { 413 | if (isAdmin() == false) return; //check if a public file. 414 | } 415 | 416 | File file = SPIFFS.open(fname, "w"); 417 | if (file) { 418 | file.println(server.arg(1)); //save json data 419 | file.close(); 420 | //delay(100); 421 | //if (fname =="/pid.json") {sendPIDUpdate(fname);}; //nuri 422 | } 423 | else //cant create file 424 | return server.send(500, "text/plain", "JSONSave FAILED"); 425 | server.send(200, "text/plain", ""); 426 | 427 | if (MyWebServer.jsonSaveHandle != NULL) MyWebServer.jsonSaveHandle(fname); 428 | } 429 | 430 | void handleJsonLoad() 431 | { 432 | 433 | if (server.args() == 0) 434 | return server.send(500, "text/plain", "BAD JsonLoad ARGS"); 435 | String fname = "/" + server.arg(0); 436 | 437 | fname = MyWebServer.urldecode(fname); 438 | DebugPrintln("handleJsonRead: " + fname); 439 | 440 | if (isPublicFile(fname) == false) 441 | { 442 | if (isAdmin() == false) return; //check if a public file. 443 | } 444 | 445 | File file = SPIFFS.open(fname, "r"); 446 | if (file) { 447 | server.streamFile(file, "application/json"); 448 | file.close(); 449 | } 450 | } 451 | 452 | bool handleFileDownload(String fname) 453 | { 454 | DebugPrintln("handleFileDownload: " + fname); 455 | String contentType = "application/octet-stream"; 456 | fname = "/" + fname; 457 | fname = MyWebServer.urldecode(fname); 458 | if (isPublicFile(fname) == false) 459 | { 460 | if (isAdmin() == false) return false; 461 | } //check if a public file. 462 | 463 | if (SPIFFS.exists(fname)) { 464 | File file = SPIFFS.open(fname, "r"); 465 | server.streamFile(file, contentType); 466 | file.close(); 467 | return true; 468 | } 469 | return false; 470 | } 471 | 472 | void handleFileList() 473 | { 474 | if (isAdmin() == false) return; 475 | Dir dir = SPIFFS.openDir("/"); 476 | String output = "{\"success\":true, \"is_writable\" : true, \"results\" :["; 477 | bool firstrec = true; 478 | while (dir.next()) { 479 | if (!firstrec) { output += ','; } //add comma between recs (not first rec) 480 | else { 481 | firstrec = false; 482 | } 483 | String fn = dir.fileName(); 484 | fn.remove(0, 1); //remove slash 485 | output += "{\"is_dir\":false"; 486 | output += ",\"name\":\"" + fn; 487 | output += "\",\"size\":" + String(dir.fileSize()); 488 | output += ",\"path\":\""; 489 | output += "\",\"is_deleteable\":true"; 490 | output += ",\"is_readable\":true"; 491 | output += ",\"is_writable\":true"; 492 | output += ",\"is_executable\":true"; 493 | output += ",\"mtime\":1452813740"; //dummy time 494 | output += "}"; 495 | } 496 | output += "]}"; 497 | //DebugPrintln("got list >"+output); 498 | server.send(200, "text/json", output); 499 | } 500 | 501 | void HandleFileBrowser() 502 | { 503 | if (isAdmin() == false) return; 504 | if (server.arg("do") == "list") { 505 | handleFileList(); 506 | } 507 | else 508 | if (server.arg("do") == "delete") { 509 | handleFileDelete(server.arg("file")); 510 | } 511 | else 512 | if (server.arg("do") == "download") { 513 | handleFileDownload(server.arg("file")); 514 | } 515 | else 516 | { 517 | if (!handleFileRead("/filebrowse.html")) { //send GZ version of embedded browser 518 | server.sendHeader("Content-Encoding", "gzip"); 519 | server.send_P(200, "text/html", PAGE_FSBROWSE, sizeof(PAGE_FSBROWSE)); 520 | } 521 | MyWebServer.isDownloading = true; //need to stop all cloud services from doing anything! crashes on upload with mqtt... 522 | } 523 | } 524 | 525 | void formatspiffs() 526 | { 527 | if (isAdmin() == false) return; 528 | DebugPrintln("formatting spiff..."); 529 | if (!SPIFFS.format()) { 530 | DebugPrintln("Format failed"); 531 | } 532 | else { DebugPrintln("format done...."); } 533 | server.send(200, "text/html", "Format Finished....rebooting"); 534 | } 535 | 536 | void handleESPUpdate(){ 537 | if (isAdmin() == false) return; 538 | // handler for the file upload, get's the sketch bytes, and writes 539 | // them through the Update object 540 | HTTPUpload& upload = server.upload(); 541 | if (upload.status == UPLOAD_FILE_START) { 542 | WiFiUDP::stopAll(); 543 | MyWebServer.OTAisflashing = true; 544 | DebugPrintln("Update: " + upload.filename); 545 | uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; 546 | if (!Update.begin(maxSketchSpace)) {//start with max available size 547 | Update.printError(Serial); 548 | } 549 | } 550 | else if (upload.status == UPLOAD_FILE_WRITE) { 551 | DebugPrint("."); 552 | if (Update.write(upload.buf, upload.currentSize) != upload.currentSize) { 553 | Update.printError(Serial); 554 | 555 | } 556 | } 557 | else if (upload.status == UPLOAD_FILE_END) { 558 | if (Update.end(true)) { //true to set the size to the current progress 559 | DebugPrintln("Update Success: \nRebooting...\n"+ String(upload.totalSize)); 560 | } 561 | else { 562 | Update.printError(Serial); 563 | } 564 | } 565 | else if (upload.status == UPLOAD_FILE_ABORTED) { 566 | Update.end(); 567 | DebugPrintln("Update was aborted"); 568 | MyWebServer.OTAisflashing = false; 569 | } 570 | delay(0); 571 | }; 572 | 573 | 574 | #ifdef ALLOW_IDEOTA 575 | void StartUp_IDEOTA() { 576 | // Port defaults to 8266 577 | // ArduinoOTA.setPort(8266); 578 | 579 | // Hostname defaults to esp8266-[ChipID] 580 | // ArduinoOTA.setHostname("myesp8266"); 581 | 582 | // No authentication by default 583 | // ArduinoOTA.setPassword((const char *)"123"); 584 | 585 | ArduinoOTA.onStart([]() { 586 | DebugPrintln("Start OTA"); 587 | }); 588 | ArduinoOTA.onEnd([]() { 589 | DebugPrintln("End OTA"); 590 | }); 591 | ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { 592 | DebugPrint("." +String((progress / (total / 100)))); 593 | }); 594 | ArduinoOTA.onError([](ota_error_t error) { 595 | String errST = "Error: "; 596 | if (error == OTA_AUTH_ERROR) errST+="Auth Failed"; 597 | else if (error == OTA_BEGIN_ERROR) errST += "Begin Failed"; 598 | else if (error == OTA_CONNECT_ERROR) errST += "Connect Failed"; 599 | else if (error == OTA_RECEIVE_ERROR) errST += "Receive Failed"; 600 | else if (error == OTA_END_ERROR) errST += "End Failed"; 601 | DebugPrintln(errST); 602 | }); 603 | ArduinoOTA.begin(); 604 | DebugPrintln("IDE OTA active"); 605 | } 606 | #endif // ALLOW_IDEOTA 607 | 608 | 609 | 610 | void FileSaveContent_P(String fname, PGM_P content, u_long numbytes, bool overWrite = false) { //save PROGMEM array to spiffs file....//f must be already open for write! 611 | 612 | if (SPIFFS.exists(fname) && overWrite == false) return; 613 | 614 | 615 | const int writepagesize = 1024; 616 | char contentUnit[writepagesize + 1]; 617 | contentUnit[writepagesize] = '\0'; 618 | u_long remaining_size = numbytes; 619 | 620 | 621 | File f = SPIFFS.open(fname, "w"); 622 | 623 | 624 | 625 | if (f) { // we could open the file 626 | 627 | while (content != NULL && remaining_size > 0) { 628 | size_t contentUnitLen = writepagesize; 629 | 630 | if (remaining_size < writepagesize) contentUnitLen = remaining_size; 631 | // due to the memcpy signature, lots of casts are needed 632 | memcpy_P((void*)contentUnit, (PGM_VOID_P)content, contentUnitLen); 633 | 634 | content += contentUnitLen; 635 | remaining_size -= contentUnitLen; 636 | 637 | // write is so overloaded, had to use the cast to get it pick the right one 638 | f.write((uint8_t *)contentUnit, contentUnitLen); 639 | } 640 | f.close(); 641 | DebugPrintln("created:" + fname); 642 | } 643 | } 644 | 645 | 646 | 647 | 648 | void CheckNewSystem() { //if new system we save the embedded htmls into the root of Spiffs as .gz! 649 | 650 | FileSaveContent_P("/wifisetup.html.gz", PAGE_WIFISETUP, sizeof(PAGE_WIFISETUP), false); 651 | FileSaveContent_P("/filebrowse.html.gz", PAGE_FSBROWSE, sizeof(PAGE_FSBROWSE), false); 652 | } 653 | 654 | 655 | 656 | void restartESP() { 657 | if (isAdmin() == false) return; 658 | server.send(200, "text/plain", "Restarting ESP..."); 659 | delay(100); 660 | ESP.restart(); 661 | } 662 | 663 | void sendNetworkStatus() 664 | { 665 | if (isAdmin() == false) return; 666 | uint8_t mac[6]; 667 | char macStr[18] = { 0 }; 668 | WiFi.macAddress(mac); 669 | sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); 670 | 671 | String state = "N/A"; 672 | String Networks = ""; 673 | if (WiFi.status() == 0) state = "Idle"; 674 | else if (WiFi.status() == 1) state = "NO SSID AVAILBLE"; 675 | else if (WiFi.status() == 2) state = "SCAN COMPLETED"; 676 | else if (WiFi.status() == 3) state = "CONNECTED"; 677 | else if (WiFi.status() == 4) state = "CONNECT FAILED"; 678 | else if (WiFi.status() == 5) state = "CONNECTION LOST"; 679 | else if (WiFi.status() == 6) state = "DISCONNECTED"; 680 | 681 | int n = WiFi.scanNetworks(); 682 | 683 | if (n == 0) 684 | { 685 | Networks = "No networks found!"; 686 | } 687 | else 688 | { 689 | Networks = "Found " + String(n) + " Networks"; 690 | Networks += ""; 691 | Networks += "NameQualityEnc"; 692 | for (int i = 0; i < n; ++i) 693 | { 694 | int quality = 0; 695 | if (WiFi.RSSI(i) <= -100) 696 | { 697 | quality = 0; 698 | } 699 | else if (WiFi.RSSI(i) >= -50) 700 | { 701 | quality = 100; 702 | } 703 | else 704 | { 705 | quality = 2 * (WiFi.RSSI(i) + 100); 706 | } 707 | Networks += "" + String(WiFi.SSID(i)) + "" + String(quality) + "%" + String((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*") + ""; 708 | } 709 | Networks += ""; 710 | } 711 | 712 | String wifilist = ""; 713 | wifilist += "WiFi State: " + state + ""; 714 | wifilist += "Scanned Networks " + Networks + ""; 715 | 716 | String values = ""; 717 | values += " SSID :" + (String)WiFi.SSID() + ""; 718 | values += "IP Address : " + (String)WiFi.localIP()[0] + "." + (String)WiFi.localIP()[1] + "." + (String)WiFi.localIP()[2] + "." + (String)WiFi.localIP()[3] + ""; 719 | values += "Wifi Gateway : " + (String)WiFi.gatewayIP()[0] + "." + (String)WiFi.gatewayIP()[1] + "." + (String)WiFi.gatewayIP()[2] + "." + (String)WiFi.gatewayIP()[3] + ""; 720 | values += "NetMask : " + (String)WiFi.subnetMask()[0] + "." + (String)WiFi.subnetMask()[1] + "." + (String)WiFi.subnetMask()[2] + "." + (String)WiFi.subnetMask()[3] + ""; 721 | values += "Mac Address > " + String(macStr) + ""; 722 | values += "NTP Time : " + String(hour()) + ":" + String(minute()) + ":" + String(second()) + " " + String(year()) + "-" + String(month()) + "-" + String(day()) + ""; 723 | values += "Server Uptime : " + String(millis()/60000) + " minutes"+ ""; 724 | values += "Server Heap : " + String(ESP.getFreeHeap()) + ""; 725 | values += wifilist; 726 | values += " "; 727 | server.send(200, "text/html", values); 728 | } 729 | 730 | void SendAvailNetworks() 731 | { 732 | if (isAdmin() == false) return; 733 | uint8_t mac[6]; 734 | char macStr[18] = { 0 }; 735 | WiFi.macAddress(mac); 736 | sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); 737 | 738 | String state = "N/A"; 739 | String Networks = ""; 740 | if (WiFi.status() == 0) state = "Idle"; 741 | else if (WiFi.status() == 1) state = "NO SSID AVAILBLE"; 742 | else if (WiFi.status() == 2) state = "SCAN COMPLETED"; 743 | else if (WiFi.status() == 3) state = "CONNECTED"; 744 | else if (WiFi.status() == 4) state = "CONNECT FAILED"; 745 | else if (WiFi.status() == 5) state = "CONNECTION LOST"; 746 | else if (WiFi.status() == 6) state = "DISCONNECTED"; 747 | 748 | int n = WiFi.scanNetworks(); 749 | 750 | String postStr = "{ \"Networks\":["; //build json string of networks available 751 | 752 | if (n == 0) 753 | { 754 | postStr+= "{\"ssidname\":\"No networks found!\",\"qual\":\"0\",\"sec\":\" \" }"; 755 | } 756 | else 757 | { 758 | for (int i = 0; i < n; ++i) 759 | { 760 | int quality = 0; 761 | if (WiFi.RSSI(i) <= -100) 762 | { 763 | quality = 0; 764 | } 765 | else if (WiFi.RSSI(i) >= -50) 766 | { 767 | quality = 100; 768 | } 769 | else 770 | { 771 | quality = 2 * (WiFi.RSSI(i) + 100); 772 | } 773 | postStr += "{\"ssidname\":\"" + String(WiFi.SSID(i)) + "\",\"qual\":\"" + String(quality) + "\",\"sec\":\"" + String((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*") + "\"},"; 774 | } 775 | } 776 | if (postStr.charAt(postStr.length() - 1) == ',') postStr.remove(postStr.length() - 1, 1); 777 | postStr += "] }"; //finish json array 778 | 779 | server.send(200, "application/json", postStr); 780 | 781 | } 782 | 783 | 784 | 785 | void SendServerLog() { 786 | if (isAdmin() == false) return; 787 | String rhtml = ""; 788 | rhtml += " Server Log "; 789 | rhtml += "Server Uptime : " + String(millis() / 60000) + " minutes" + ""; 790 | rhtml += "Server Heap : " + String(ESP.getFreeHeap()) + ""; 791 | rhtml += "Last Log: "; 792 | rhtml += MyWebServerLog; 793 | rhtml += " "; 794 | server.send(200, "text/html", rhtml); 795 | } 796 | 797 | 798 | 799 | 800 | 801 | void handleRoot() { //handles root of website (used in case of virgin systems.) 802 | 803 | if (!handleFileRead("/")) { //if new system without index we either show wifisetup or if already setup/connected we show filebrowser for config. 804 | if (isAdmin()) { 805 | if (WiFi.status() != WL_CONNECTED) { 806 | handleWifiConfig(); 807 | } 808 | else { handleIndex();}//HandleFileBrowser(); } 809 | } 810 | } 811 | //use indexhtml or use embedded wifi setup... 812 | 813 | 814 | } 815 | 816 | String MyWebServerClass::CurTimeString() { 817 | // return String(hour()) + ":" + String(minute()) + ":" + String(second()); 818 | char tmpStr[20]; 819 | sprintf(tmpStr, "%02d:%02d:%02d %s", hourFormat12(), minute(), second(), (isAM() ? "AM" : "PM")); 820 | return String(tmpStr); 821 | } 822 | String MyWebServerClass::CurDateString() { 823 | return String(year()) + "-" + String(month()) + "-" + String(day()); 824 | } 825 | 826 | void MyWebServerClass::begin() 827 | { 828 | //SERVER STARTUP 829 | //SERVER INIT 830 | 831 | 832 | DebugPrintln("Starting ES8266"); 833 | 834 | bool result = SPIFFS.begin(); 835 | DebugPrintln("SPIFFS opened: " + result); 836 | 837 | if (!WiFiLoadconfig()) //read network .. 838 | { 839 | // DEFAULT CONFIG 840 | ssid = "MYSSID"; 841 | password = "MYPASSWORD"; 842 | dhcp = true; 843 | IP[0] = 192; IP[1] = 168; IP[2] = 1; IP[3] = 100; 844 | Netmask[0] = 255; Netmask[1] = 255; Netmask[2] = 255; Netmask[3] = 0; 845 | Gateway[0] = 192; Gateway[1] = 168; Gateway[2] = 1; Gateway[3] = 1; 846 | ntpServerName = "0.de.pool.ntp.org"; 847 | UpdateNTPEvery = 0; 848 | timezone = -10; 849 | daylight = true; 850 | DeviceName = "myESP"; 851 | useNTP = false; 852 | ConfigPassword = ""; 853 | DebugPrintln("General config applied"); 854 | } 855 | 856 | String chipid = String(ESP.getChipId(), HEX); 857 | String hostname = "myESP" + chipid; 858 | 859 | 860 | WiFi.hostname(DeviceName); 861 | 862 | WiFi.mode(WIFI_STA); 863 | delay(10); 864 | 865 | //try to connect 866 | 867 | WiFi.begin(ssid.c_str(), password.c_str()); 868 | 869 | 870 | DebugPrintln("Wait for WiFi connection."); 871 | 872 | // ... Give ESP 20 seconds to connect to station. 873 | unsigned long startTime = millis(); 874 | while (WiFi.status() != WL_CONNECTED && millis() - startTime < 20000 && !(ssid=="MYSSID")) 875 | { 876 | DebugPrint('.'); 877 | // SerialLog.print(WiFi.status()); 878 | delay(500); 879 | } 880 | 881 | 882 | if (WiFi.waitForConnectResult() != WL_CONNECTED) 883 | { 884 | DebugPrintln("cannot connect to: " + ssid); 885 | } 886 | else if (!dhcp) { 887 | WiFi.config(IPAddress(IP[0], IP[1], IP[2], IP[3]), IPAddress(Gateway[0], Gateway[1], Gateway[2], Gateway[3]), IPAddress(Netmask[0], Netmask[1], Netmask[2], Netmask[3])); 888 | } 889 | 890 | 891 | 892 | 893 | bool StartAP = false; 894 | // Check connection 895 | if (WiFi.status() == WL_CONNECTED) 896 | { 897 | // ... print IP Address 898 | DebugPrint("IP address: "); 899 | DebugPrintln(WiFi.localIP()); 900 | lcd.clear(); 901 | lcd.setCursor(0, 0); 902 | lcd.print("Server IP:"); 903 | lcd.setCursor(0, 1); 904 | lcd.print(WiFi.localIP()); 905 | delay(2000);// let people to see the IP address. 906 | 907 | if (SoftAPAlways) { 908 | StartAP = true; //adminenabled then always start AP 909 | WiFi.mode(WIFI_AP_STA); 910 | } 911 | } 912 | else 913 | { 914 | StartAP = true; //start AP if cannot connect 915 | WiFi.mode(WIFI_AP); //access point only....if no client connect 916 | DebugPrintln("Can not connect to WiFi station. Go into AP mode."); 917 | } 918 | 919 | if (StartAP) //have option to start with AP on always? 920 | { 921 | 922 | //WiFi.mode(WIFI_AP); 923 | 924 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 925 | WiFi.softAP(hostname.c_str()); 926 | 927 | if (cDNSdisable == false) { //if captive dns allowed 928 | dnsServer.setTTL(300); 929 | dnsServer.setErrorReplyCode(DNSReplyCode::NoError); 930 | dnsServer.start(53, "*", apIP); //start dns catchall on port 53 931 | dsnServerActive = true; 932 | } 933 | 934 | DebugPrint("Soft AP started IP address: "); 935 | DebugPrintln(WiFi.softAPIP()); 936 | lcd.clear(); 937 | lcd.setCursor(0, 0); 938 | lcd.print("AP Mode IP:"); 939 | lcd.setCursor(0, 1); 940 | lcd.print(WiFi.softAPIP()); 941 | // start DNS server for a specific domain name 942 | //dnsServer.start(DNS_PORT, "www.setup.com", apIP); 943 | //dnsServer.start(DNS_PORT, "*", apIP); 944 | //DebugPrintln("start AP"); 945 | } else 946 | if (MDNSdisable == false) { 947 | MDNS.begin(DeviceName.c_str()); //multicast webname when not in SoftAP mode 948 | DebugPrintln("Starting mDSN " + DeviceName + ".local"); 949 | MDNS.addService("http", "tcp", 80); 950 | } 951 | 952 | //list directory 953 | server.on("/favicon.ico", []() { server.send(200, "text/html", ""); }); 954 | server.on("/browse", HandleFileBrowser); 955 | server.on("/upload", HTTP_POST, []() { server.send(200, "text/plain", ""); }, handleFileUpload); 956 | server.on("/flashupdate", HTTP_POST, []() { server.send(200, "text/plain", (Update.hasError()) ? "FAIL" : "OK Restarting....wait");ESP.restart(); }, handleESPUpdate); 957 | server.on("/info.html", sendNetworkStatus); 958 | 959 | server.on("/", handleRoot); 960 | server.on("/wifisetup.html", handleWifiConfig); //nuri 961 | server.on("/pidsetup.html", handlePIDConfig); //nuri 962 | server.on("/dashboard.html", handleDashBoard); //nuri 963 | server.on("/about.html", handleAbout); //nuri 964 | server.on("/jsonUpdate", handleDashJsonUpdate); //Nuri 965 | 966 | server.on("/jsonsave", handleJsonSave); 967 | server.on("/jsonload", handleJsonLoad); 968 | server.on("/formatspiff", formatspiffs); 969 | server.on("/serverlog", SendServerLog); 970 | server.on("/generate_204", handleRoot); //use indexhtml or use embedded wifi setup...); 971 | server.on("/restartesp", restartESP); 972 | server.on("/availnets", SendAvailNetworks); 973 | 974 | server.onNotFound([]() { 975 | if (!handleFileRead(server.uri())) 976 | server.send(404, "text/plain", " FileNotFound " + server.arg(0)); 977 | }); 978 | 979 | CheckNewSystem(); //see if init files exist.... 980 | 981 | sendPIDUpdate("/pid.json"); 982 | 983 | server.begin(); 984 | OTAisflashing = false; 985 | isDownloading = false; 986 | WiFi.setAutoReconnect(true); 987 | DebugPrintln("HTTP server started"); 988 | 989 | 990 | 991 | if (useNTP) { 992 | UDPNTPClient.begin(2390); // Port for NTP receive 993 | setSyncProvider(getNtpTime); 994 | setSyncInterval(UpdateNTPEvery*60); 995 | } 996 | 997 | #ifdef ALLOW_IDEOTA //if defined in h we will start/allow OTA via IDE. should be disabled on your released code. 998 | StartUp_IDEOTA(); 999 | #endif // Allow_IDEOTA 1000 | 1001 | 1002 | ServerLog("SERVER STARTED"); 1003 | DebugPrintln(CurTimeString()); 1004 | } 1005 | 1006 | 1007 | 1008 | void MyWebServerClass::handle() 1009 | { 1010 | server.handleClient(); 1011 | if (dsnServerActive) dnsServer.processNextRequest(); //captive dns 1012 | 1013 | if (millis() - lastTimeCheck >= 5000) { //called around every second 1014 | //DebugPrintln(CurTimeString()); 1015 | sendPIDUpdate("/pid.json"); 1016 | lastTimeCheck = millis(); 1017 | 1018 | } //every second timer.... 1019 | 1020 | #ifdef ALLOW_IDEOTA //if defined in h we will start/allow OTA via IDE. should be disabled on your released code. 1021 | ArduinoOTA.handle(); 1022 | #endif // Allow_IDEOTA 1023 | } 1024 | 1025 | 1026 | void MyWebServerClass::ServerLog(String logmsg) 1027 | { 1028 | MyWebServerLog += "*"+String(month())+String(day())+CurTimeString()+"*" + logmsg + ""; 1029 | if (MyWebServerLog.length() > 1024) { MyWebServerLog.remove(0, 256); } 1030 | } 1031 | 1032 | 1033 | bool MyWebServerClass::isAuthorized() { 1034 | return isAdmin(); 1035 | } 1036 | 1037 | 1038 | bool MyWebServerClass::WiFiLoadconfig() 1039 | { 1040 | 1041 | 1042 | String values = ""; 1043 | dhcp = true; //defaults; 1044 | ssid = "empty"; 1045 | useNTP = false; 1046 | 1047 | 1048 | File f = SPIFFS.open("/wifiset.json", "r"); 1049 | if (!f) { 1050 | DebugPrintln("wifi config not set/found"); 1051 | return false; 1052 | } 1053 | else { //file exists; 1054 | values = f.readStringUntil('\n'); //read json 1055 | f.close(); 1056 | 1057 | DynamicJsonBuffer jsonBuffer; 1058 | 1059 | 1060 | JsonObject& root = jsonBuffer.parseObject(values); //parse weburl 1061 | if (!root.success()) 1062 | { 1063 | DebugPrintln("parseObject() loadwifi failed"); 1064 | return false; 1065 | } 1066 | if (String(root["ssid"].asString()) != "") { //verify good json info 1067 | ssid = root["ssid"].asString(); 1068 | password = root["password"].asString(); 1069 | if (String(root["dhcp"].asString()).toInt() == 1) dhcp = true; else dhcp = false; 1070 | IP[0] = String(root["ip_0"].asString()).toInt(); IP[1] = String(root["ip_1"].asString()).toInt(); IP[2] = String(root["ip_2"].asString()).toInt(); IP[3] = String(root["ip_3"].asString()).toInt(); 1071 | Netmask[0] = String(root["nm_0"].asString()).toInt(); Netmask[1] = String(root["nm_1"].asString()).toInt(); Netmask[2] = String(root["nm_2"].asString()).toInt(); Netmask[3] = String(root["nm_3"].asString()).toInt(); 1072 | Gateway[0] = String(root["gw_0"].asString()).toInt(); Gateway[1] = String(root["gw_1"].asString()).toInt(); Gateway[2] = String(root["gw_2"].asString()).toInt(); Gateway[3] = String(root["gw_3"].asString()).toInt(); 1073 | if (String(root["grabntp"].asString()).toInt() == 1) useNTP = true; else useNTP = false; 1074 | 1075 | ntpServerName = root["ntpserver"].asString(); 1076 | 1077 | UpdateNTPEvery = String(root["update"].asString()).toInt(); 1078 | timezone = String(root["tz"].asString()).toInt(); 1079 | DeviceName = root["devicename"].asString(); 1080 | ConfigPassword = root["AccessPass"].asString(); 1081 | if (String(root["mDNSoff"].asString()) == "true") MDNSdisable = true; else MDNSdisable = false; 1082 | 1083 | if (String(root["CDNSoff"].asString()) == "true") cDNSdisable = true; else cDNSdisable = false; 1084 | if (String(root["SoftAP"].asString()) == "true") SoftAPAlways = true; else SoftAPAlways = false; 1085 | 1086 | 1087 | if (String(root["grabntp"].asString()).toInt() == 1) useNTP = true; else useNTP = false; 1088 | if (String(root["dst"].asString()).toInt() == 1) daylight = true; else daylight = false; 1089 | 1090 | if (String(root["Public"].asString()) == "true") AllowPublic = true; else AllowPublic = false; 1091 | 1092 | DebugPrintln("all good"); 1093 | return true; 1094 | } 1095 | } //file exists; 1096 | return false; //error if here 1097 | } 1098 | 1099 | 1100 | -------------------------------------------------------------------------------- /firmware/esp/htmlEmbed.h: -------------------------------------------------------------------------------- 1 | /* 2 | myWebServer.cpp for esp8266 3 | 4 | Copyright (c) 2016 David Paiva (david@nailbuster.com). All rights reserved. 5 | 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | This library is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | Lesser General Public License for more details. 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef _HTMLEMBED_h 21 | #define _HTMLEMBED_h 22 | 23 | #if defined(ARDUINO) && ARDUINO >= 100 24 | #include "Arduino.h" 25 | #else 26 | #include "WProgram.h" 27 | #endif 28 | 29 | 30 | /* Stores default pages for WIFI setup and FSBrowse for initial setup. 31 | // 32 | // these at GZ versions of html files that I used bin2header.exe on to create header.... 33 | // 34 | //const char PAGE_WIFISETUP[] PROGMEM = R"=====( 35 | // 36 | //const char PAGE_FSBROWSE[] PROGMEM = R"=====( 37 | */ 38 | 39 | const char PAGE_FSBROWSE[] PROGMEM = { 40 | 0x1f, 0x8b, 0x08, 0x08, 0x4d, 0xff, 0xaf, 0x56, 0x02, 0x00, 0x66, 0x69, 41 | 0x6c, 0x65, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x2e, 0x68, 0x74, 0x6d, 42 | 0x6c, 0x00, 0xad, 0x1b, 0x67, 0x7a, 0xea, 0x46, 0xf0, 0x77, 0x7c, 0x0a, 43 | 0xc5, 0x29, 0x40, 0xc0, 0x48, 0x88, 0x62, 0x30, 0xb6, 0xf3, 0x09, 0xd1, 44 | 0x7b, 0x6f, 0xf9, 0x12, 0x7f, 0x42, 0x5a, 0x84, 0x8c, 0x1a, 0x92, 0xa8, 45 | 0xc9, 0xbb, 0x46, 0xce, 0x92, 0xf3, 0xe4, 0x24, 0x99, 0x5d, 0x49, 0x08, 46 | 0x6c, 0xbf, 0x74, 0x92, 0xa7, 0xb2, 0x3b, 0x3b, 0x7d, 0x66, 0x67, 0x77, 47 | 0xe5, 0xc7, 0x95, 0xa3, 0xa9, 0xcf, 0x8f, 0x2b, 0x24, 0x48, 0xcf, 0x37, 48 | 0x8f, 0x1a, 0x72, 0x04, 0x6a, 0xe5, 0x38, 0xe6, 0x1d, 0xda, 0x6c, 0x95, 49 | 0xdd, 0xd3, 0xad, 0x68, 0xe8, 0x0e, 0xd2, 0x9d, 0x3b, 0xe7, 0x68, 0xa2, 50 | 0x5b, 0xca, 0x7b, 0x7b, 0xba, 0x75, 0xd0, 0xc1, 0xa1, 0xf1, 0xc8, 0x3c, 51 | 0x25, 0xae, 0x04, 0xcb, 0x46, 0xce, 0xd3, 0xd6, 0x59, 0xde, 0x65, 0x6f, 52 | 0x9f, 0x6f, 0x6e, 0x1e, 0x6d, 0xe7, 0xa8, 0xa2, 0xe7, 0x9b, 0x85, 0x21, 53 | 0x1d, 0xa9, 0x9f, 0x97, 0x06, 0x8c, 0x5e, 0x0a, 0x9a, 0xa2, 0x1e, 0x1f, 54 | 0xa8, 0x5b, 0x75, 0x2b, 0x2a, 0x92, 0x40, 0xc9, 0x96, 0xa0, 0x4b, 0xe8, 55 | 0x36, 0x76, 0x3b, 0x40, 0xb2, 0x81, 0xa8, 0x51, 0xed, 0x36, 0xc6, 0x59, 56 | 0x8a, 0xa0, 0xc6, 0x28, 0x5b, 0xd0, 0xed, 0x3b, 0x1b, 0x59, 0xca, 0x32, 57 | 0x4f, 0x91, 0xa1, 0xb6, 0x72, 0x42, 0x0f, 0x54, 0x22, 0x65, 0x1e, 0xf2, 58 | 0x7b, 0x45, 0x72, 0x56, 0x0f, 0x09, 0x86, 0x4d, 0xe5, 0x4d, 0x41, 0x92, 59 | 0x14, 0x5d, 0x7e, 0x48, 0x20, 0x2d, 0xaf, 0x09, 0x96, 0xac, 0xe8, 0x0f, 60 | 0x4c, 0xfe, 0xd3, 0x8d, 0xb3, 0xf2, 0x08, 0xee, 0x91, 0x22, 0xaf, 0x9c, 61 | 0x07, 0x4a, 0x37, 0x2c, 0x4d, 0xc0, 0x4c, 0x1a, 0xaa, 0x61, 0x3d, 0x50, 62 | 0x5f, 0x25, 0xca, 0xf7, 0x69, 0x9e, 0xcf, 0x53, 0x0b, 0x41, 0x5c, 0xcb, 63 | 0x96, 0xb1, 0xd5, 0xa5, 0x3b, 0xbf, 0xab, 0xcc, 0x94, 0x73, 0xe5, 0x72, 64 | 0x9e, 0xf2, 0x51, 0xc7, 0xd3, 0x48, 0xa3, 0x12, 0xf0, 0x8f, 0x3c, 0xc4, 65 | 0x59, 0xa0, 0x44, 0xdd, 0x7c, 0x81, 0x05, 0xbf, 0x13, 0x54, 0x45, 0xd6, 66 | 0x1f, 0x28, 0x15, 0x2d, 0x9d, 0xbc, 0xb8, 0xb5, 0x6c, 0x18, 0x6f, 0x1a, 67 | 0x0a, 0xa8, 0xc6, 0xca, 0x6f, 0x81, 0x77, 0xe0, 0x5f, 0x45, 0x22, 0xa1, 68 | 0xae, 0x23, 0x97, 0xab, 0xb8, 0xa2, 0x4b, 0x8a, 0x28, 0x38, 0x86, 0x45, 69 | 0xfd, 0xec, 0xf2, 0x7b, 0x07, 0xa3, 0x01, 0x24, 0x63, 0x1e, 0x28, 0x80, 70 | 0xc0, 0xea, 0xa7, 0x7e, 0x5e, 0x18, 0x96, 0x04, 0xc3, 0x1d, 0xc3, 0x04, 71 | 0x89, 0xa1, 0xc3, 0x36, 0x54, 0x45, 0xa2, 0xbe, 0xca, 0xb2, 0x7c, 0xb9, 72 | 0xcc, 0xe5, 0x29, 0xaf, 0x7b, 0x61, 0x38, 0x8e, 0xa1, 0x5d, 0x41, 0xe4, 73 | 0x32, 0x7c, 0xaa, 0xc4, 0xe5, 0x5d, 0x00, 0x82, 0xf9, 0xaa, 0xbb, 0x74, 74 | 0x5f, 0x66, 0xcb, 0x85, 0xfc, 0xcd, 0x17, 0x1e, 0x80, 0xe5, 0x2a, 0xe7, 75 | 0x3d, 0x04, 0xb0, 0xf2, 0x15, 0x50, 0xa7, 0x7e, 0x5e, 0xb9, 0xfa, 0x4b, 76 | 0xb3, 0xa0, 0x76, 0x68, 0xd3, 0xd6, 0x92, 0x02, 0x9c, 0x4b, 0x8a, 0x6d, 77 | 0xaa, 0xc2, 0xf1, 0x41, 0xd1, 0x55, 0x45, 0x47, 0x77, 0x0b, 0xd5, 0x10, 78 | 0xd7, 0xf9, 0xa5, 0x6a, 0x08, 0xce, 0x03, 0x41, 0xe9, 0x9b, 0x85, 0x48, 79 | 0x90, 0xc8, 0x90, 0xb1, 0xaa, 0xb0, 0x40, 0x2a, 0xf5, 0x33, 0xe5, 0x8f, 80 | 0x25, 0x83, 0x2e, 0x6d, 0x9b, 0x00, 0x36, 0x7c, 0x03, 0x7d, 0x95, 0x4e, 81 | 0xa7, 0x31, 0xbd, 0xa5, 0xa2, 0xa2, 0x17, 0xc9, 0x32, 0xcc, 0x17, 0x07, 82 | 0x94, 0x85, 0x1c, 0xea, 0x67, 0xdf, 0xf6, 0xcc, 0x37, 0x81, 0x85, 0x12, 83 | 0x2c, 0x08, 0xc0, 0xf8, 0x7a, 0x79, 0xa0, 0x52, 0xf0, 0x2a, 0x09, 0xf6, 84 | 0x0a, 0x81, 0x40, 0xa2, 0x28, 0xe6, 0x2f, 0x68, 0x60, 0x39, 0x5c, 0x12, 85 | 0xa4, 0xe7, 0xda, 0x8e, 0x22, 0xc2, 0xa6, 0xbb, 0x12, 0xc4, 0xb5, 0x91, 86 | 0xa7, 0x28, 0x96, 0x81, 0xd1, 0x1f, 0x70, 0x15, 0x97, 0x2c, 0x41, 0x7e, 87 | 0x31, 0x76, 0x08, 0x54, 0xf3, 0x8e, 0x87, 0xb3, 0x55, 0x7c, 0xd9, 0xfc, 88 | 0x77, 0x8c, 0x69, 0x6b, 0x02, 0x2d, 0xe9, 0xc5, 0xb4, 0x0c, 0xd9, 0x42, 89 | 0xb6, 0x4d, 0xfd, 0xec, 0x89, 0xe4, 0x8e, 0x67, 0x3e, 0x02, 0x89, 0x23, 90 | 0xcb, 0xc2, 0xde, 0xe3, 0x49, 0x21, 0x30, 0x1f, 0x42, 0x3d, 0x83, 0x9e, 91 | 0x77, 0xa0, 0x6d, 0x1f, 0x5f, 0xd2, 0x43, 0x17, 0xd7, 0x8d, 0x97, 0xbd, 92 | 0xa5, 0x38, 0x88, 0x72, 0x6d, 0x19, 0xa3, 0x82, 0x96, 0x77, 0x72, 0x9d, 93 | 0x0d, 0xed, 0x7a, 0x30, 0x8c, 0xf6, 0xf1, 0xbf, 0x38, 0x16, 0x04, 0xce, 94 | 0x67, 0x1c, 0xc1, 0x35, 0x11, 0xcb, 0x60, 0x6d, 0x79, 0xfe, 0x93, 0xc0, 95 | 0xcf, 0x9e, 0x6a, 0x2e, 0xbc, 0x2d, 0x99, 0x4c, 0xfa, 0x51, 0x4b, 0x31, 96 | 0xae, 0xc8, 0x14, 0x01, 0x05, 0x52, 0x81, 0x4e, 0xde, 0xc5, 0xa8, 0x1f, 97 | 0x09, 0x97, 0xd8, 0xb1, 0xcb, 0x2e, 0x0d, 0xc3, 0xc1, 0x36, 0xf8, 0x8c, 98 | 0x4f, 0x2d, 0xe0, 0x27, 0xa6, 0x03, 0xb7, 0x49, 0x41, 0x38, 0x33, 0xa0, 99 | 0x95, 0x77, 0xa1, 0x7c, 0xc6, 0x24, 0xc4, 0x28, 0xff, 0xe9, 0x61, 0xa7, 100 | 0xd8, 0xa0, 0x24, 0x08, 0xce, 0x2b, 0x6c, 0x58, 0xf7, 0x0b, 0x0b, 0x82, 101 | 0x56, 0xb4, 0xb6, 0xda, 0x82, 0x28, 0x3c, 0xf0, 0xfc, 0x24, 0x48, 0x74, 102 | 0xe5, 0xe1, 0xe9, 0x0b, 0x6e, 0x04, 0x41, 0xc8, 0xff, 0x49, 0x1c, 0x79, 103 | 0x8c, 0x7c, 0xb5, 0x34, 0x54, 0x50, 0xda, 0x8b, 0x20, 0x3a, 0x8a, 0xa1, 104 | 0xdb, 0xbe, 0xff, 0x53, 0x69, 0xe6, 0x9b, 0x0b, 0x3f, 0xc5, 0x90, 0x42, 105 | 0xec, 0x92, 0x49, 0x9f, 0x0a, 0xc3, 0x88, 0x79, 0x8a, 0x08, 0x28, 0x21, 106 | 0xd1, 0xb0, 0x04, 0x8c, 0xc5, 0xb7, 0xa6, 0xf0, 0xb0, 0x72, 0x7d, 0xf6, 107 | 0x5d, 0xff, 0x56, 0x07, 0x9a, 0xaa, 0x42, 0x4c, 0x0e, 0x49, 0xcd, 0x79, 108 | 0x59, 0x29, 0x12, 0x0a, 0x42, 0xd7, 0x4f, 0x67, 0xc2, 0x42, 0x45, 0xe7, 109 | 0x64, 0x05, 0x04, 0x55, 0xc1, 0xb4, 0x21, 0x47, 0xfb, 0x4f, 0xf9, 0x8b, 110 | 0x58, 0x3d, 0xa7, 0x36, 0x4d, 0x38, 0xdc, 0x79, 0x32, 0xe0, 0x04, 0x6e, 111 | 0x1e, 0xa0, 0x07, 0x9a, 0x83, 0x6c, 0xcb, 0xfa, 0xd9, 0x96, 0xf5, 0x2e, 112 | 0x6f, 0xf2, 0xdd, 0xa5, 0xff, 0x48, 0x68, 0xe9, 0xfb, 0x40, 0x92, 0xf8, 113 | 0xc0, 0x9b, 0x48, 0xdf, 0xaf, 0x40, 0x1b, 0x77, 0xb6, 0x29, 0x88, 0x08, 114 | 0x0b, 0xbd, 0xb7, 0x04, 0x33, 0x8f, 0xe9, 0xc5, 0x97, 0x8a, 0x65, 0x3b, 115 | 0x57, 0x8e, 0x92, 0xba, 0x06, 0xf7, 0x67, 0x0c, 0x17, 0x1c, 0x69, 0xa6, 116 | 0x73, 0x0c, 0x94, 0x7a, 0x7f, 0x7f, 0xef, 0x91, 0xc2, 0x33, 0x1c, 0xc0, 117 | 0x2a, 0x0e, 0xb8, 0x0f, 0x56, 0xf4, 0xfb, 0x64, 0x72, 0x0e, 0x40, 0xa4, 118 | 0xb9, 0x01, 0xa8, 0xd8, 0x2f, 0x38, 0x87, 0xc6, 0x31, 0x59, 0xdf, 0x99, 119 | 0x20, 0x9a, 0x74, 0x20, 0x6b, 0xc1, 0x90, 0x8b, 0x64, 0xf5, 0x0e, 0xfc, 120 | 0x61, 0x81, 0x96, 0x86, 0x05, 0xa3, 0xbc, 0xe9, 0x17, 0xe6, 0xd1, 0xbb, 121 | 0xbb, 0xdb, 0x2b, 0xa9, 0x53, 0xe7, 0xfc, 0x86, 0x83, 0xeb, 0x12, 0x81, 122 | 0x64, 0xec, 0x75, 0x9c, 0x23, 0x7e, 0xc6, 0x3e, 0xb2, 0x50, 0x54, 0xc5, 123 | 0x81, 0xb0, 0x06, 0xbb, 0x4a, 0x48, 0x07, 0x57, 0x88, 0x4b, 0x30, 0x55, 124 | 0x39, 0xe8, 0x33, 0x11, 0x7d, 0xf3, 0x45, 0x10, 0x83, 0xe0, 0x1d, 0x96, 125 | 0x1a, 0x96, 0x04, 0x47, 0x78, 0x50, 0x34, 0x41, 0x46, 0xb4, 0xa9, 0xcb, 126 | 0xf9, 0x85, 0x60, 0xa3, 0x4c, 0x2a, 0xa6, 0x8c, 0x0b, 0x9d, 0xfe, 0x9e, 127 | 0x69, 0x54, 0x64, 0x83, 0x83, 0x5f, 0x7b, 0x30, 0x5a, 0x95, 0x46, 0x32, 128 | 0x7e, 0x24, 0xef, 0x0d, 0x9e, 0x9b, 0xc1, 0x8d, 0x6f, 0xb7, 0xec, 0x68, 129 | 0x0e, 0x37, 0x14, 0x2a, 0x52, 0x61, 0x38, 0x2a, 0x41, 0x0f, 0x5d, 0x6b, 130 | 0xef, 0x27, 0x8d, 0x4c, 0x0f, 0x37, 0xaa, 0x4c, 0x7f, 0xbc, 0x62, 0x46, 131 | 0x6c, 0x4e, 0x93, 0xaa, 0xd2, 0x4a, 0xd4, 0x46, 0x5c, 0x6f, 0xd2, 0xdf, 132 | 0xcd, 0xb4, 0x91, 0x3c, 0x98, 0x24, 0x56, 0x73, 0x76, 0x3c, 0x98, 0x4f, 133 | 0xca, 0x6b, 0x34, 0xad, 0xd6, 0xe7, 0xc3, 0x3d, 0x0c, 0x28, 0x3a, 0x83, 134 | 0x51, 0xbf, 0x30, 0xae, 0xbe, 0x0a, 0xaf, 0x65, 0xfe, 0xbe, 0xb8, 0x2e, 135 | 0xf7, 0x4b, 0xf5, 0x63, 0x4e, 0x99, 0xca, 0x8c, 0x13, 0x2d, 0x55, 0xfb, 136 | 0x8d, 0x7a, 0xb1, 0x3e, 0xd8, 0xf4, 0xb7, 0xb5, 0xb1, 0x50, 0x1f, 0xde, 137 | 0x73, 0xe5, 0xe8, 0x6b, 0x3f, 0x7a, 0xd8, 0xb6, 0xfb, 0x4a, 0xfd, 0x38, 138 | 0xc8, 0x4e, 0xd4, 0xbe, 0x50, 0x9d, 0xa0, 0xce, 0x28, 0xba, 0x2e, 0x1c, 139 | 0xef, 0xd1, 0xb1, 0xb1, 0xb2, 0xb3, 0xea, 0xba, 0x6e, 0x75, 0x4e, 0xf3, 140 | 0x64, 0x67, 0x72, 0x6a, 0x71, 0xc5, 0x44, 0x5a, 0x3e, 0xcc, 0x56, 0x85, 141 | 0xe8, 0xf1, 0xc4, 0x69, 0x0c, 0xc4, 0xc5, 0x29, 0x8a, 0x66, 0xad, 0x59, 142 | 0x53, 0x97, 0xa5, 0x75, 0x6d, 0xc9, 0xee, 0xcc, 0xc1, 0x6c, 0xc1, 0x2f, 143 | 0xed, 0xf6, 0xba, 0x73, 0x60, 0xee, 0xf5, 0xec, 0x5a, 0x9e, 0x08, 0x89, 144 | 0x91, 0x69, 0x3a, 0xed, 0x5a, 0x2d, 0x3d, 0xee, 0xd3, 0xad, 0x74, 0xa6, 145 | 0x7d, 0x74, 0x32, 0xbd, 0x4d, 0x32, 0xb9, 0x58, 0xac, 0x7a, 0x76, 0xf5, 146 | 0x98, 0x11, 0xfa, 0xcc, 0x64, 0x70, 0x2c, 0x1d, 0x4b, 0x9a, 0xc2, 0x57, 147 | 0x32, 0xbb, 0x3e, 0xbb, 0x5c, 0x16, 0x32, 0xe9, 0x69, 0xaa, 0xca, 0xef, 148 | 0x67, 0x3c, 0x8b, 0x72, 0xfc, 0xf0, 0xb5, 0x5e, 0xa9, 0x18, 0xeb, 0x14, 149 | 0x7d, 0x5f, 0x15, 0x5f, 0xd5, 0x68, 0x4d, 0x6b, 0x16, 0x26, 0xbb, 0xc4, 150 | 0x96, 0xef, 0x17, 0xb7, 0x49, 0x13, 0x8d, 0xd3, 0xa8, 0xd2, 0x63, 0xf9, 151 | 0x34, 0xdd, 0x4d, 0x9c, 0x36, 0xa9, 0x69, 0x4e, 0xaa, 0x98, 0xd3, 0x6e, 152 | 0xb4, 0x39, 0x5b, 0x69, 0xb3, 0x53, 0xaa, 0xba, 0x28, 0xb6, 0x7a, 0xf2, 153 | 0xc8, 0xb0, 0x27, 0x43, 0x5d, 0xeb, 0x19, 0x8d, 0xc6, 0x92, 0x59, 0x39, 154 | 0xe3, 0x46, 0x61, 0xbe, 0x73, 0xca, 0xf6, 0x21, 0x33, 0xc8, 0x2d, 0xb4, 155 | 0x54, 0x76, 0xed, 0x08, 0xe3, 0x64, 0x69, 0xba, 0x97, 0x68, 0xfe, 0xc4, 156 | 0x71, 0xe3, 0x57, 0x27, 0x2a, 0x57, 0x87, 0x69, 0x0d, 0x31, 0x1c, 0xfe, 157 | 0x0d, 0x46, 0xe3, 0x4e, 0xbf, 0x91, 0xe6, 0x67, 0xb5, 0xda, 0x53, 0x04, 158 | 0xa2, 0xe0, 0xce, 0x42, 0x26, 0x12, 0x1c, 0xca, 0x16, 0x2d, 0x88, 0x6b, 159 | 0x48, 0x98, 0x38, 0xb0, 0x6e, 0xbe, 0xf0, 0x9c, 0x4c, 0x82, 0xe9, 0xe7, 160 | 0x8b, 0xab, 0x42, 0x86, 0x24, 0xb9, 0xeb, 0x0c, 0x7c, 0x0e, 0x02, 0x86, 161 | 0xc2, 0xff, 0x25, 0x92, 0x18, 0x03, 0x9e, 0x8b, 0x04, 0x0d, 0x3c, 0xee, 162 | 0x3f, 0x3b, 0x57, 0x81, 0x78, 0xd8, 0xcc, 0x75, 0xae, 0xa2, 0x2c, 0x9d, 163 | 0x92, 0x29, 0xdc, 0xca, 0xad, 0xd5, 0x52, 0x6f, 0xdc, 0xaf, 0x29, 0x88, 164 | 0x1d, 0xb5, 0x26, 0x99, 0x62, 0xab, 0x30, 0xa8, 0xd0, 0x29, 0x71, 0xb6, 165 | 0xae, 0xf3, 0x6a, 0x6d, 0x25, 0x6c, 0xf7, 0x2d, 0xf9, 0x90, 0xe5, 0xf5, 166 | 0x01, 0x9f, 0x2b, 0xbd, 0xd6, 0x1b, 0xe2, 0x5e, 0x62, 0xab, 0x95, 0x99, 167 | 0xc6, 0xed, 0x4b, 0x46, 0xab, 0x5f, 0x72, 0x78, 0xb5, 0x54, 0x3f, 0xcc, 168 | 0x84, 0xb5, 0x26, 0x1a, 0x93, 0x0d, 0x7d, 0x9c, 0x66, 0xd8, 0xe4, 0x0e, 169 | 0xa1, 0xc5, 0x5c, 0x9b, 0xcc, 0xc5, 0x72, 0x63, 0x32, 0x5f, 0x4c, 0x8f, 170 | 0xc3, 0x2a, 0xea, 0x20, 0x34, 0x5d, 0x4e, 0x8a, 0xed, 0x4c, 0x8e, 0xde, 171 | 0x9e, 0xba, 0xdd, 0xec, 0x21, 0xa1, 0x8d, 0x47, 0x9a, 0x22, 0x14, 0xd4, 172 | 0x66, 0xc3, 0x3e, 0x70, 0x3c, 0xc7, 0x67, 0x44, 0x91, 0xed, 0x74, 0xa5, 173 | 0xfb, 0xd3, 0xac, 0x91, 0x28, 0x8d, 0x66, 0x7d, 0xb9, 0x32, 0x2f, 0xaf, 174 | 0x2b, 0x49, 0x7a, 0xd9, 0xe5, 0x4a, 0xe9, 0x65, 0xed, 0x55, 0xe4, 0xb9, 175 | 0xba, 0xa2, 0xf1, 0xd3, 0x92, 0x58, 0x39, 0x34, 0x74, 0x4e, 0xa9, 0xf1, 176 | 0xa5, 0xfe, 0x7a, 0x50, 0x13, 0x7b, 0x1a, 0x1a, 0x1b, 0xbd, 0x95, 0x52, 177 | 0x85, 0x5a, 0x71, 0x32, 0x2a, 0xad, 0x0d, 0xb3, 0x5e, 0x5a, 0xf3, 0x5c, 178 | 0x81, 0xb6, 0xa2, 0x0e, 0xa3, 0x56, 0x8f, 0xe3, 0x36, 0xc3, 0x26, 0xc5, 179 | 0xdc, 0x89, 0x65, 0x12, 0x1b, 0x65, 0x93, 0xb1, 0xd9, 0xf9, 0x8c, 0xcb, 180 | 0xbd, 0x16, 0x6b, 0xfb, 0x43, 0xa2, 0x3a, 0xc9, 0x1d, 0xe6, 0xa9, 0x68, 181 | 0x6d, 0xe5, 0x08, 0x99, 0x9c, 0xd8, 0xc8, 0xed, 0xf6, 0xcd, 0x9d, 0x3d, 182 | 0xcd, 0x28, 0xbb, 0xd9, 0x32, 0x55, 0xae, 0xd4, 0x8e, 0xf5, 0x57, 0xda, 183 | 0x92, 0xd3, 0xdb, 0xcd, 0x5e, 0x14, 0x25, 0x96, 0xb3, 0xee, 0x3b, 0x23, 184 | 0xa9, 0xd3, 0xa4, 0xd7, 0xdd, 0x63, 0x63, 0x96, 0xa6, 0xb5, 0xd5, 0xbc, 185 | 0x9e, 0x4e, 0xd2, 0xac, 0x60, 0xcb, 0x0a, 0x57, 0xab, 0xae, 0x9a, 0xb3, 186 | 0x16, 0xd7, 0x97, 0x12, 0x99, 0x92, 0xc1, 0x1b, 0xa7, 0xd7, 0x4c, 0xe9, 187 | 0xb4, 0xe7, 0x67, 0x96, 0x35, 0x4d, 0x4b, 0x7c, 0xae, 0xdc, 0xab, 0x11, 188 | 0x8f, 0x29, 0xa9, 0xe5, 0xe1, 0x7a, 0xb0, 0xed, 0x69, 0x3c, 0xff, 0x91, 189 | 0xc3, 0x40, 0xba, 0x4e, 0xb8, 0x3e, 0x73, 0xae, 0xd7, 0xd2, 0xe7, 0x99, 190 | 0x9e, 0x4a, 0x31, 0xb8, 0x2b, 0xc8, 0x53, 0xff, 0x97, 0x53, 0xf0, 0x84, 191 | 0x35, 0xd9, 0x75, 0x8a, 0xc2, 0x09, 0xe9, 0x16, 0x71, 0xef, 0x42, 0xb5, 192 | 0xcd, 0x0f, 0xc6, 0xbd, 0x1a, 0xcf, 0xc9, 0xb5, 0x25, 0xb7, 0x5a, 0x2b, 193 | 0x04, 0x4c, 0xdd, 0x0f, 0xca, 0xea, 0x09, 0x7b, 0x8f, 0x84, 0xc7, 0x26, 194 | 0x67, 0x85, 0xa5, 0x34, 0x81, 0xe0, 0xf8, 0x38, 0x1b, 0x49, 0x49, 0x29, 195 | 0xd9, 0xd4, 0xd4, 0xad, 0x90, 0x6c, 0xbf, 0xce, 0xa6, 0x60, 0x6a, 0x2d, 196 | 0x77, 0x9c, 0xa7, 0x77, 0xdb, 0x6e, 0x01, 0xf3, 0x50, 0x63, 0x48, 0x36, 197 | 0x2a, 0x2b, 0xe5, 0xfb, 0xb1, 0xe8, 0x2c, 0x12, 0xfd, 0x7e, 0xa9, 0x98, 198 | 0xd0, 0xe7, 0xdb, 0x74, 0xee, 0xfe, 0x7e, 0xdc, 0x1b, 0x17, 0x4a, 0xbd, 199 | 0x42, 0x63, 0x9e, 0xa8, 0xf0, 0xc5, 0x42, 0x69, 0x7f, 0x8c, 0xd6, 0x06, 200 | 0x32, 0x5f, 0xb0, 0x5b, 0xdd, 0x7d, 0xa7, 0x9a, 0xe2, 0x47, 0x53, 0xd9, 201 | 0x6e, 0xf4, 0x3a, 0xdc, 0x61, 0x93, 0xe6, 0x85, 0x06, 0xbf, 0x2a, 0x15, 202 | 0x36, 0x83, 0x55, 0xbb, 0xc1, 0xb2, 0x6c, 0x92, 0xbd, 0x5f, 0xde, 0xe7, 203 | 0x74, 0xa6, 0x25, 0x9b, 0xfd, 0x1e, 0xbb, 0xe1, 0x59, 0x67, 0xdf, 0xe8, 204 | 0x54, 0x5e, 0x4b, 0xc9, 0x34, 0x3b, 0xec, 0x24, 0xeb, 0xea, 0x7d, 0x06, 205 | 0xa5, 0x52, 0x83, 0xac, 0x32, 0xb7, 0xe5, 0xce, 0x7e, 0x1f, 0x2d, 0xae, 206 | 0x14, 0x7a, 0x9c, 0xd4, 0x51, 0xb7, 0x63, 0xf7, 0xfa, 0xe5, 0x5d, 0xe6, 207 | 0x3e, 0x47, 0x6f, 0x6c, 0x7d, 0x9c, 0xcb, 0xa0, 0x95, 0xcc, 0xa1, 0xc9, 208 | 0xae, 0x20, 0x23, 0x29, 0xb9, 0x9b, 0x2a, 0xd1, 0x4e, 0x1d, 0xed, 0x5b, 209 | 0x13, 0xba, 0x17, 0x1d, 0x66, 0x67, 0x7c, 0xd3, 0x4a, 0x64, 0x97, 0x5d, 210 | 0xbd, 0xbd, 0xe9, 0x6d, 0x52, 0xcb, 0x01, 0x43, 0xb7, 0x26, 0x6a, 0x4f, 211 | 0xda, 0x29, 0xfb, 0xf1, 0xa6, 0x6d, 0x9a, 0xb9, 0xd6, 0xce, 0xbe, 0x57, 212 | 0xb3, 0x13, 0x3d, 0xcd, 0x08, 0xfd, 0x6a, 0xea, 0x04, 0xb6, 0xdf, 0x74, 213 | 0xac, 0xed, 0x81, 0x6b, 0xcf, 0xb9, 0x4a, 0xca, 0x59, 0x35, 0xb4, 0x1e, 214 | 0x97, 0x2d, 0xde, 0xbf, 0xa6, 0x3b, 0xe5, 0x3d, 0xad, 0xd4, 0xe4, 0xe6, 215 | 0x74, 0x67, 0x64, 0xb4, 0x3e, 0x5d, 0x48, 0x66, 0x1a, 0xd1, 0x66, 0xdb, 216 | 0xbc, 0x4f, 0xec, 0xc6, 0x52, 0x42, 0x1c, 0xb6, 0xfa, 0xd9, 0x42, 0x59, 217 | 0xdb, 0x0f, 0x91, 0x2d, 0x66, 0xb3, 0xf4, 0xb6, 0xd9, 0x4b, 0x97, 0x1b, 218 | 0x9d, 0x54, 0x74, 0x9d, 0x12, 0x04, 0x6b, 0xb1, 0xed, 0xea, 0x9b, 0x5c, 219 | 0x56, 0x5b, 0x48, 0x06, 0xbb, 0xb9, 0x67, 0x56, 0xda, 0x88, 0x19, 0xf7, 220 | 0x4b, 0xeb, 0x12, 0xe2, 0x3b, 0xce, 0xc6, 0x5a, 0xb4, 0x4c, 0x4b, 0x2b, 221 | 0x6f, 0x5a, 0x09, 0xd3, 0x36, 0x66, 0x9c, 0x2d, 0x33, 0xa3, 0x5c, 0xa9, 222 | 0xe0, 0x14, 0x98, 0x99, 0x71, 0x1a, 0x4d, 0x4e, 0x13, 0x73, 0x3c, 0xef, 223 | 0xc9, 0x85, 0x43, 0x4b, 0x4b, 0xce, 0xba, 0x06, 0xaf, 0x34, 0xcd, 0x43, 224 | 0xdf, 0xea, 0x0a, 0x33, 0xab, 0xd0, 0xe8, 0x0f, 0x46, 0xcd, 0xf4, 0x46, 225 | 0x67, 0x39, 0xb9, 0x3c, 0x62, 0xd6, 0x46, 0x6b, 0xac, 0xae, 0x5b, 0x1d, 226 | 0x23, 0x53, 0x61, 0x07, 0xb5, 0xa3, 0xd6, 0xe3, 0xb9, 0x4a, 0x89, 0xe6, 227 | 0x2a, 0xd5, 0xbe, 0x3d, 0x59, 0xf0, 0xfd, 0x86, 0x98, 0x1d, 0x6b, 0x42, 228 | 0xa1, 0x9d, 0xda, 0x17, 0x6a, 0xfb, 0xf5, 0x7c, 0x5d, 0xd6, 0x0e, 0xeb, 229 | 0xc9, 0xbc, 0x38, 0x28, 0xf3, 0xfb, 0xa3, 0xa1, 0x69, 0xf3, 0x01, 0x64, 230 | 0x1b, 0x5e, 0x9b, 0x17, 0x06, 0xf6, 0x16, 0x42, 0x73, 0xc5, 0x65, 0xd7, 231 | 0x1c, 0xab, 0xcc, 0x67, 0xa7, 0x81, 0x60, 0x72, 0xb6, 0x26, 0x57, 0x55, 232 | 0x79, 0x29, 0x8d, 0x8f, 0x95, 0xe6, 0xb0, 0x2c, 0x27, 0x95, 0xf9, 0xa6, 233 | 0xb7, 0xe2, 0x36, 0xf3, 0x42, 0x8e, 0x4d, 0x56, 0x2a, 0x23, 0xb9, 0xb7, 234 | 0x9a, 0xf5, 0xc7, 0x25, 0x55, 0xe3, 0x46, 0xd3, 0x5a, 0xa5, 0x32, 0x06, 235 | 0x1b, 0xf4, 0x72, 0x5c, 0xbd, 0xae, 0x73, 0xeb, 0xcd, 0x91, 0x57, 0xf9, 236 | 0xd2, 0x7a, 0xbd, 0x94, 0x5a, 0x89, 0xae, 0x93, 0x48, 0x8e, 0xab, 0xd2, 237 | 0xa1, 0x68, 0xea, 0xc6, 0x92, 0x79, 0x95, 0x0f, 0x85, 0xa8, 0x36, 0xdb, 238 | 0x74, 0xd2, 0x5d, 0x81, 0x1f, 0x14, 0xfb, 0x35, 0x6e, 0x21, 0x43, 0x8a, 239 | 0x33, 0x1b, 0xaf, 0x8e, 0xb6, 0xd7, 0x12, 0x49, 0xa8, 0x63, 0xf4, 0x4d, 240 | 0x8a, 0x1b, 0x4a, 0x0d, 0x34, 0x13, 0xdb, 0xbb, 0xd1, 0x9c, 0x73, 0x18, 241 | 0x49, 0x4e, 0xb7, 0xc7, 0xfb, 0x52, 0xaf, 0xdc, 0xb0, 0xea, 0xaa, 0xa9, 242 | 0xa7, 0xd2, 0xea, 0x7e, 0x45, 0x37, 0xcd, 0xc5, 0x04, 0xe6, 0x78, 0x21, 243 | 0xd5, 0x48, 0xf7, 0xec, 0x69, 0xa9, 0x9d, 0x49, 0x38, 0x47, 0x67, 0x62, 244 | 0x65, 0x13, 0x6a, 0x7a, 0x36, 0x98, 0xd1, 0x7a, 0x6a, 0x2f, 0xf5, 0xaa, 245 | 0xd9, 0xd4, 0xe6, 0x55, 0x62, 0xeb, 0x99, 0x5d, 0xe9, 0x14, 0x9d, 0x30, 246 | 0x85, 0x0e, 0x57, 0x91, 0x9b, 0x2a, 0x68, 0xa7, 0xc5, 0x75, 0x7b, 0xfc, 247 | 0x0e, 0x7c, 0x4c, 0xd6, 0x26, 0x33, 0x9e, 0xee, 0x95, 0x93, 0x12, 0x7d, 248 | 0x7f, 0x5a, 0x66, 0xbb, 0x34, 0xa7, 0xa7, 0xb8, 0x49, 0x93, 0x1e, 0x26, 249 | 0xa2, 0x05, 0x56, 0x3f, 0xd6, 0xfe, 0xd6, 0x0c, 0x82, 0x13, 0x02, 0xf3, 250 | 0xd7, 0x09, 0xc1, 0x2f, 0x58, 0xfe, 0x87, 0x64, 0x50, 0x20, 0x7c, 0xf5, 251 | 0xdc, 0x64, 0xc0, 0x2d, 0xb3, 0x74, 0x6e, 0x85, 0x5b, 0x59, 0x77, 0x86, 252 | 0x48, 0xe9, 0x75, 0x76, 0x30, 0x64, 0xed, 0x61, 0xaf, 0xaf, 0x54, 0xf5, 253 | 0xb4, 0x26, 0x69, 0xaf, 0x39, 0xd6, 0xc9, 0x4d, 0xb5, 0x51, 0xbd, 0x36, 254 | 0xa9, 0x57, 0x36, 0xb9, 0x76, 0xd5, 0xea, 0xcb, 0x87, 0x9e, 0xc2, 0x3b, 255 | 0x9b, 0x85, 0x9a, 0xbb, 0x2f, 0x6f, 0x0e, 0xb2, 0xd0, 0x4c, 0xa6, 0xf8, 256 | 0x2e, 0x53, 0x2e, 0x66, 0x7b, 0x3b, 0xe6, 0xbe, 0x54, 0x2d, 0x8d, 0x98, 257 | 0xd2, 0x3e, 0x53, 0x9a, 0x96, 0xd6, 0x19, 0x51, 0xc9, 0xf6, 0x72, 0x75, 258 | 0x47, 0x84, 0xe7, 0x6a, 0x3f, 0xb9, 0x8e, 0x9e, 0xb6, 0xaf, 0x35, 0x69, 259 | 0xb4, 0x69, 0xad, 0x35, 0x85, 0x6b, 0x9f, 0xb4, 0xba, 0xa4, 0x57, 0xf5, 260 | 0xfb, 0xdd, 0x89, 0xdf, 0xd6, 0x26, 0x0b, 0xc4, 0xe6, 0x12, 0xce, 0x60, 261 | 0xbd, 0x5b, 0x9d, 0x12, 0xa6, 0x15, 0xdd, 0x24, 0x9a, 0xec, 0xa2, 0xb0, 262 | 0x07, 0x62, 0xbb, 0xb2, 0x25, 0xce, 0x1b, 0x0d, 0x45, 0x5f, 0x76, 0x73, 263 | 0xa7, 0x1a, 0x5b, 0x32, 0x1a, 0x9a, 0x76, 0xcf, 0x9d, 0x6c, 0x67, 0x99, 264 | 0x1c, 0xdf, 0x2f, 0xa7, 0x0d, 0x76, 0x22, 0x26, 0xb7, 0xaf, 0xbb, 0xda, 265 | 0xe6, 0xc4, 0xad, 0x64, 0x75, 0xdf, 0xaf, 0x1b, 0x03, 0xb6, 0xa6, 0xf5, 266 | 0xe6, 0xad, 0x52, 0xe1, 0x55, 0x3e, 0x1a, 0xc5, 0x41, 0x6a, 0xb5, 0xcb, 267 | 0xf6, 0x2a, 0x55, 0x2e, 0x31, 0xa9, 0xf1, 0x3b, 0x33, 0x77, 0x44, 0xaa, 268 | 0xcd, 0xdd, 0xd7, 0x86, 0x85, 0x61, 0x6d, 0xbd, 0x9f, 0xac, 0x2a, 0x85, 269 | 0x39, 0x53, 0xdb, 0x45, 0x5b, 0xa3, 0x72, 0x54, 0xa4, 0xc5, 0x42, 0xb6, 270 | 0x3b, 0xac, 0x3a, 0x4c, 0xd6, 0xd6, 0x17, 0x51, 0xae, 0x02, 0xa9, 0x73, 271 | 0x5e, 0x7c, 0xcd, 0x6e, 0x6a, 0xed, 0xcc, 0x62, 0x80, 0xe8, 0xed, 0xc4, 272 | 0x2e, 0x2c, 0xd8, 0xcd, 0x98, 0x4d, 0xd1, 0x95, 0x42, 0x53, 0xcf, 0x1e, 273 | 0x55, 0xc6, 0x54, 0x67, 0xe0, 0xb7, 0xb9, 0x76, 0x03, 0x35, 0xd3, 0x35, 274 | 0xfe, 0x58, 0xaa, 0xf5, 0xd6, 0x6b, 0x65, 0x8e, 0xf4, 0x72, 0x7a, 0xba, 275 | 0x2f, 0x14, 0xb9, 0xf9, 0x69, 0x52, 0x73, 0x9a, 0xb5, 0x5a, 0x3f, 0xd3, 276 | 0xac, 0x2c, 0xd7, 0x6c, 0x66, 0x3c, 0x3e, 0x9c, 0x54, 0xa7, 0xce, 0xca, 277 | 0xe5, 0x3d, 0x2b, 0x30, 0x65, 0xad, 0xd7, 0x9c, 0x47, 0x17, 0xe2, 0xc2, 278 | 0xa0, 0x8b, 0xdd, 0x85, 0x28, 0x45, 0xbb, 0x56, 0xf1, 0xd8, 0x5f, 0x44, 279 | 0x2b, 0x9b, 0xbe, 0x62, 0x2e, 0x2a, 0xea, 0xdc, 0x99, 0xe6, 0xd8, 0xd1, 280 | 0xee, 0xf4, 0xaa, 0x8d, 0xcc, 0x52, 0x85, 0x67, 0xea, 0xb2, 0xc9, 0x27, 281 | 0x5b, 0x39, 0xa9, 0x19, 0xdd, 0x54, 0x4e, 0x89, 0xcc, 0xd4, 0xde, 0x89, 282 | 0x1a, 0x2f, 0xf3, 0x0d, 0x96, 0xde, 0x75, 0x9d, 0x61, 0xfb, 0x54, 0x4f, 283 | 0x1c, 0xd8, 0xf5, 0x7a, 0x5e, 0xeb, 0x17, 0x06, 0xca, 0x6e, 0x95, 0x9d, 284 | 0xb3, 0xbd, 0x54, 0x74, 0xbc, 0xde, 0xcd, 0x8f, 0x99, 0x4e, 0xb6, 0x5a, 285 | 0xdd, 0x4d, 0x8e, 0x95, 0x63, 0x6d, 0xb8, 0xe3, 0x12, 0x1b, 0x5d, 0x6a, 286 | 0x9b, 0x87, 0xa5, 0xbc, 0xed, 0xb5, 0xd7, 0x22, 0xcb, 0xd7, 0x4e, 0x2d, 287 | 0xe6, 0xd0, 0x5e, 0xa7, 0x7b, 0x4d, 0x24, 0xf1, 0xa5, 0xb9, 0x96, 0x18, 288 | 0x37, 0xec, 0x25, 0x3b, 0xb5, 0xb8, 0x69, 0xab, 0x6d, 0x71, 0xec, 0x6e, 289 | 0x2c, 0x6e, 0x52, 0xf3, 0x7a, 0xaa, 0xb8, 0xda, 0xf1, 0x03, 0x0e, 0x0d, 290 | 0xb8, 0xe6, 0x94, 0x1b, 0x6c, 0x9b, 0x85, 0xe1, 0x24, 0xc1, 0xe6, 0x46, 291 | 0x19, 0xa3, 0x6b, 0x0d, 0x73, 0x99, 0x1c, 0xd7, 0x48, 0x15, 0x36, 0x0c, 292 | 0x24, 0x54, 0xae, 0x6f, 0xa7, 0x0a, 0x7d, 0x59, 0x41, 0x2d, 0x98, 0xa9, 293 | 0xe5, 0xa2, 0x86, 0x3a, 0x39, 0xae, 0xad, 0x98, 0xa7, 0xa2, 0x5e, 0xa5, 294 | 0x69, 0xbd, 0x5c, 0x60, 0x1a, 0x32, 0x77, 0xd8, 0x73, 0x43, 0x81, 0x2b, 295 | 0xa3, 0x5a, 0x31, 0x5d, 0xec, 0xb5, 0x05, 0xa7, 0x59, 0x91, 0x84, 0x69, 296 | 0x67, 0xf2, 0x37, 0x67, 0xd0, 0xf4, 0x55, 0xbc, 0xb8, 0x2b, 0x65, 0x7c, 297 | 0x65, 0xbd, 0x68, 0x79, 0xa4, 0xbd, 0xcd, 0xb6, 0x47, 0x18, 0xa4, 0x98, 298 | 0x30, 0xd6, 0x12, 0x9f, 0x6e, 0x69, 0x5a, 0x78, 0x15, 0x0e, 0x71, 0xd9, 299 | 0x30, 0x64, 0x15, 0x09, 0xa6, 0x62, 0xc7, 0x45, 0x43, 0x23, 0x6d, 0xb4, 300 | 0xaa, 0x2c, 0x6c, 0xfa, 0x75, 0xb3, 0x45, 0xd6, 0x91, 0x4e, 0xc4, 0xb3, 301 | 0x71, 0xd6, 0x7b, 0x89, 0x6b, 0x8a, 0x1e, 0x7f, 0xb5, 0x6f, 0x9f, 0x01, 302 | 0x23, 0xc1, 0x74, 0x46, 0xf9, 0x4c, 0xed, 0x04, 0x8b, 0x82, 0x6d, 0xae, 303 | 0x51, 0xbf, 0x49, 0x3d, 0x51, 0x21, 0x9a, 0x0e, 0x45, 0x61, 0x75, 0x40, 304 | 0x96, 0x8c, 0xf1, 0x95, 0x61, 0x3b, 0x64, 0xe6, 0x8e, 0x52, 0xe7, 0x36, 305 | 0x53, 0x70, 0x56, 0xb8, 0x2d, 0x4f, 0xbd, 0xc7, 0x75, 0x13, 0x5e, 0x6e, 306 | 0x75, 0xb2, 0xa6, 0x0d, 0x7f, 0x1d, 0x81, 0x00, 0xff, 0x3a, 0xbe, 0xd4, 307 | 0xe3, 0x64, 0x41, 0x89, 0xd7, 0x9b, 0xc8, 0x02, 0x02, 0x67, 0x80, 0x08, 308 | 0xce, 0x00, 0x5f, 0x60, 0xe2, 0x5f, 0x13, 0x08, 0xe8, 0x73, 0x56, 0x8a, 309 | 0x9d, 0x87, 0x46, 0x7c, 0x87, 0xc5, 0x9c, 0x2e, 0x85, 0x43, 0xce, 0x2a, 310 | 0x14, 0x89, 0x8b, 0xb0, 0x0c, 0x5b, 0x87, 0xaf, 0x47, 0xba, 0x43, 0x15, 311 | 0xe9, 0x00, 0xe3, 0xbe, 0x0e, 0xe3, 0x11, 0x11, 0xbc, 0x0b, 0x87, 0x0e, 312 | 0xe1, 0x48, 0xde, 0xef, 0x85, 0xca, 0x03, 0x91, 0x21, 0x17, 0x30, 0x2b, 313 | 0xc1, 0xe6, 0x55, 0xc1, 0xb6, 0xc3, 0x21, 0xb2, 0x04, 0x16, 0x6c, 0x31, 314 | 0xe4, 0x0e, 0x70, 0xb9, 0x08, 0xb8, 0x5d, 0x1c, 0xc3, 0x80, 0x3d, 0x76, 315 | 0xc6, 0x41, 0xa0, 0x3e, 0x91, 0xab, 0x85, 0x9c, 0xad, 0xa5, 0xfb, 0xec, 316 | 0x7e, 0xca, 0xfb, 0x82, 0x06, 0x43, 0x2f, 0x04, 0x7d, 0x83, 0x25, 0x90, 317 | 0xda, 0x32, 0xf6, 0x36, 0xc0, 0x5d, 0x0a, 0x4b, 0xf6, 0x54, 0x1d, 0xcb, 318 | 0xe5, 0xc8, 0x47, 0x40, 0xc1, 0x1a, 0x4e, 0x83, 0x75, 0xe1, 0xd0, 0x18, 319 | 0x0b, 0x6a, 0x58, 0xb8, 0x90, 0xfe, 0x6b, 0xe1, 0x05, 0xf7, 0x61, 0xe9, 320 | 0xa0, 0xdd, 0x47, 0x22, 0x3d, 0xe8, 0xce, 0xea, 0x4e, 0x5c, 0x29, 0x2a, 321 | 0xbc, 0x45, 0x31, 0xf9, 0x68, 0x22, 0x12, 0x0d, 0x45, 0x42, 0x81, 0x62, 322 | 0x84, 0x97, 0x9d, 0xa0, 0xc2, 0x30, 0x0f, 0x41, 0x5c, 0x70, 0x1c, 0x2b, 323 | 0x1c, 0xc2, 0xe9, 0xf7, 0x0e, 0xf3, 0x1f, 0x8a, 0x50, 0xbf, 0xfc, 0x72, 324 | 0xee, 0xc4, 0xcb, 0x5f, 0xa2, 0xd4, 0xb3, 0xe0, 0x61, 0x6f, 0xfc, 0x13, 325 | 0x65, 0xe2, 0xcd, 0xe1, 0x9a, 0xee, 0xb8, 0x2d, 0x11, 0xea, 0xfb, 0x77, 326 | 0x2d, 0x0f, 0x2e, 0x31, 0x57, 0x7b, 0xf0, 0x8f, 0x88, 0x4d, 0xb6, 0x1f, 327 | 0x02, 0x83, 0x0a, 0xb1, 0x45, 0xe4, 0xe7, 0x37, 0xbc, 0xbd, 0x95, 0x3a, 328 | 0x46, 0x2d, 0x3e, 0xea, 0x58, 0x7c, 0xc4, 0xd8, 0xb3, 0x0b, 0x0b, 0xdc, 329 | 0x24, 0x80, 0xfe, 0x99, 0xdb, 0x73, 0x2b, 0x03, 0xad, 0x77, 0x89, 0x48, 330 | 0x84, 0xfa, 0x8e, 0x0a, 0x9f, 0x2d, 0x83, 0xa1, 0x49, 0xbb, 0x67, 0xe8, 331 | 0x0f, 0xfc, 0xd0, 0x42, 0x1a, 0x6c, 0xad, 0xbc, 0x71, 0x1f, 0x8a, 0x3c, 332 | 0x48, 0xc8, 0x77, 0x24, 0xcf, 0xd1, 0xbc, 0x71, 0xee, 0xfe, 0x88, 0xb3, 333 | 0xfa, 0xac, 0x4d, 0xe2, 0x10, 0xfc, 0x04, 0xe3, 0x15, 0x27, 0xa1, 0x00, 334 | 0x29, 0xf0, 0xf4, 0xc6, 0x55, 0x61, 0xb7, 0x20, 0x4c, 0x9c, 0x9f, 0x7a, 335 | 0x62, 0xf2, 0xca, 0xa3, 0xab, 0x51, 0x15, 0xe9, 0xb2, 0xb3, 0xca, 0x2b, 336 | 0xd1, 0x28, 0x70, 0xee, 0xb1, 0x2e, 0x98, 0x26, 0x02, 0x26, 0x08, 0xc0, 337 | 0x0f, 0xca, 0x8f, 0x91, 0x73, 0x6c, 0xc1, 0x86, 0xfe, 0xd9, 0x59, 0x61, 338 | 0x99, 0xb7, 0x46, 0x96, 0x1d, 0xfe, 0xc8, 0xb3, 0x3d, 0xc7, 0x86, 0x56, 339 | 0x1f, 0xfa, 0x33, 0x11, 0xec, 0x47, 0xef, 0x1b, 0xa9, 0xe3, 0x3e, 0xe3, 340 | 0x31, 0xea, 0xdc, 0xf4, 0x46, 0x5d, 0xca, 0x32, 0xfc, 0x35, 0xf2, 0xb8, 341 | 0x3f, 0x73, 0x7e, 0x19, 0x4a, 0xd0, 0xed, 0x07, 0x76, 0x0c, 0x08, 0x5d, 342 | 0x06, 0x70, 0x80, 0x89, 0x22, 0xb8, 0x3e, 0x27, 0xc0, 0x47, 0xf2, 0xbe, 343 | 0x17, 0xe4, 0x03, 0xfe, 0x29, 0xd8, 0xbe, 0xd1, 0x83, 0xcd, 0xfd, 0xb3, 344 | 0x0b, 0xb8, 0xca, 0xfa, 0x33, 0x81, 0x01, 0xd4, 0xd3, 0x7e, 0xe8, 0x11, 345 | 0x23, 0xa1, 0x44, 0xcc, 0xf3, 0xd3, 0xed, 0x19, 0xd7, 0xed, 0xf3, 0xb7, 346 | 0x92, 0x60, 0x59, 0x79, 0xd2, 0xfb, 0x1c, 0xfa, 0x2c, 0x42, 0x4f, 0xc8, 347 | 0xbf, 0x87, 0x71, 0x7b, 0x8d, 0xf1, 0xbd, 0x3a, 0x3e, 0x45, 0xc2, 0xaf, 348 | 0x3d, 0x3c, 0x21, 0x40, 0xef, 0xd7, 0x41, 0x00, 0x42, 0xf4, 0x11, 0x3b, 349 | 0x4e, 0x07, 0xfd, 0x32, 0x28, 0x26, 0x2c, 0x19, 0xe2, 0x16, 0xc7, 0x18, 350 | 0x4c, 0x2c, 0xc6, 0x5a, 0x41, 0x71, 0x4d, 0x70, 0xc4, 0x55, 0x38, 0x14, 351 | 0xfe, 0xe9, 0x97, 0x3c, 0x15, 0x79, 0xb1, 0x97, 0xda, 0xcb, 0xc1, 0xb6, 352 | 0x96, 0x4f, 0xe1, 0x1f, 0x7e, 0xca, 0xff, 0xf8, 0x1d, 0x38, 0xf1, 0x2f, 353 | 0xbf, 0x30, 0x91, 0x1f, 0xd8, 0x1f, 0xf3, 0x2e, 0x96, 0x16, 0x37, 0x7d, 354 | 0x19, 0x75, 0x9b, 0x1d, 0xae, 0xf8, 0x32, 0xa8, 0xcd, 0x4b, 0x80, 0x90, 355 | 0x4d, 0x33, 0xf8, 0xe7, 0xf5, 0x7f, 0x4d, 0xf2, 0x1c, 0xc9, 0x5a, 0xa1, 356 | 0xaf, 0x54, 0xc5, 0x76, 0x08, 0xaf, 0x5f, 0x87, 0xf7, 0x20, 0x8a, 0xb1, 357 | 0x8f, 0xc4, 0x17, 0x44, 0x03, 0x60, 0xe7, 0x15, 0x1c, 0x3e, 0xe9, 0x32, 358 | 0x0a, 0xc5, 0x30, 0x50, 0x24, 0xee, 0xc0, 0xa6, 0xa8, 0x8c, 0xac, 0xcb, 359 | 0x2e, 0x32, 0x12, 0xa3, 0xc1, 0xe6, 0x85, 0xb7, 0xcb, 0xc9, 0x86, 0x18, 360 | 0x89, 0xf4, 0xba, 0xdb, 0x60, 0xb8, 0x5b, 0x55, 0xc0, 0x78, 0x21, 0x32, 361 | 0x9f, 0x84, 0x62, 0x67, 0xf1, 0x71, 0xe2, 0x23, 0x3e, 0x40, 0xc1, 0x0f, 362 | 0x73, 0x08, 0x13, 0x15, 0x3e, 0x0c, 0x83, 0xfd, 0x44, 0x2d, 0x1c, 0x2a, 363 | 0x1a, 0xd4, 0xd1, 0xd8, 0x52, 0x13, 0x41, 0x77, 0x28, 0xc7, 0xa0, 0x8a, 364 | 0xee, 0x96, 0x5a, 0x28, 0xea, 0x4f, 0x29, 0x97, 0xd9, 0x73, 0xa9, 0x60, 365 | 0x2e, 0x60, 0xba, 0x0c, 0x7d, 0x8f, 0x59, 0xa3, 0xbc, 0x1f, 0x38, 0xb9, 366 | 0xf5, 0xf4, 0xe4, 0x58, 0x5b, 0x14, 0x21, 0x54, 0xc0, 0x2b, 0x4d, 0x98, 367 | 0x5a, 0xc3, 0xb7, 0xb7, 0xb1, 0x9f, 0x43, 0x92, 0x11, 0x7a, 0x08, 0x79, 368 | 0x1c, 0xc6, 0x30, 0x82, 0x87, 0xcf, 0x22, 0x8e, 0x61, 0xb5, 0x3f, 0x60, 369 | 0x2b, 0x7d, 0x0a, 0xb8, 0x87, 0xed, 0x74, 0x13, 0x36, 0x91, 0x91, 0x9b, 370 | 0x42, 0xb1, 0xaa, 0x5c, 0xf7, 0xfc, 0x14, 0x0b, 0xbd, 0xda, 0x86, 0x1e, 371 | 0x72, 0x5f, 0x02, 0x67, 0x58, 0x0a, 0xaa, 0x8d, 0xb0, 0x37, 0x40, 0x07, 372 | 0x51, 0x8f, 0x7b, 0x66, 0x00, 0xda, 0xb1, 0xb7, 0x0b, 0x4d, 0xb9, 0xc8, 373 | 0xcb, 0x28, 0x88, 0x70, 0xac, 0x72, 0x37, 0xfd, 0xba, 0x56, 0x8a, 0x9f, 374 | 0xeb, 0x01, 0xdc, 0x83, 0x47, 0xda, 0xc0, 0x6b, 0x22, 0x12, 0x23, 0x53, 375 | 0x29, 0xa0, 0x03, 0xc8, 0xeb, 0x4c, 0xf8, 0x03, 0x2e, 0x1a, 0x9e, 0xf0, 376 | 0xe5, 0x47, 0x97, 0x25, 0x04, 0x87, 0x01, 0x68, 0x07, 0x5e, 0x56, 0x44, 377 | 0x4b, 0x61, 0xab, 0x12, 0xae, 0xdd, 0xb1, 0x71, 0xa0, 0x14, 0x8e, 0x78, 378 | 0x49, 0x81, 0xfa, 0xf6, 0x5b, 0xca, 0x53, 0x17, 0x28, 0xd5, 0xd7, 0x97, 379 | 0xcb, 0x72, 0x0c, 0xa3, 0x7b, 0x08, 0x86, 0x04, 0xfa, 0x71, 0x15, 0xe9, 380 | 0x71, 0xfd, 0xe9, 0xda, 0xd4, 0x7f, 0xa6, 0xa8, 0x80, 0x7e, 0x08, 0xde, 381 | 0x3f, 0xa7, 0x34, 0x9a, 0xa6, 0x30, 0x7e, 0xca, 0x3d, 0x9f, 0xa1, 0x6c, 382 | 0x67, 0xbb, 0x5c, 0x12, 0x55, 0xbe, 0x3b, 0x6c, 0x09, 0xf9, 0xee, 0x8c, 383 | 0x0f, 0x93, 0x20, 0x73, 0x00, 0xcf, 0x17, 0x51, 0x17, 0x4c, 0x17, 0xc1, 384 | 0x34, 0x10, 0x3a, 0x1f, 0x3b, 0x7d, 0xcc, 0xc0, 0x25, 0x42, 0xc8, 0x06, 385 | 0x1f, 0xe3, 0xf3, 0x13, 0xd5, 0x3f, 0x45, 0x69, 0x98, 0x17, 0xf8, 0xc0, 386 | 0xa3, 0x3e, 0x36, 0x93, 0xe7, 0x13, 0x58, 0x56, 0x1b, 0x4f, 0xc8, 0x71, 387 | 0x03, 0x22, 0x53, 0xd1, 0x05, 0xb5, 0x84, 0xe1, 0xe2, 0x58, 0xc7, 0x43, 388 | 0xbc, 0xf7, 0xbd, 0x44, 0x56, 0x9c, 0x00, 0xe5, 0x49, 0x6e, 0x76, 0xb5, 389 | 0x55, 0x86, 0x86, 0x30, 0x69, 0x8d, 0x31, 0x91, 0xfc, 0xdf, 0xe3, 0xf8, 390 | 0x93, 0x17, 0xe6, 0x8a, 0x6e, 0x6e, 0x9d, 0x1f, 0xf0, 0x61, 0xf5, 0x13, 391 | 0xc6, 0xf0, 0x23, 0x68, 0xd7, 0xcd, 0x03, 0x57, 0x3e, 0xfb, 0x19, 0xae, 392 | 0xbf, 0x80, 0xdf, 0x5b, 0x3e, 0x48, 0xc6, 0xf5, 0x99, 0xf1, 0xcd, 0x7b, 393 | 0x13, 0x94, 0x5e, 0xef, 0x58, 0x56, 0x00, 0x3d, 0x8e, 0x68, 0x9a, 0x76, 394 | 0xbb, 0x6c, 0x4a, 0x50, 0x55, 0x4f, 0x13, 0x70, 0x7e, 0x42, 0x41, 0x7d, 395 | 0x2f, 0x50, 0x8e, 0xa2, 0xa1, 0x2f, 0x3d, 0x25, 0xb9, 0x27, 0x3d, 0x7f, 396 | 0x19, 0x37, 0x58, 0x11, 0xee, 0x6c, 0xa8, 0x50, 0xcf, 0x4f, 0x2e, 0x42, 397 | 0x2f, 0x00, 0xb0, 0x40, 0x98, 0xa4, 0x4b, 0x96, 0xc4, 0x2b, 0x1c, 0xa0, 398 | 0x09, 0x38, 0xf9, 0xb9, 0xb5, 0x59, 0xa8, 0x08, 0x94, 0xbf, 0xc4, 0x8a, 399 | 0x22, 0x5e, 0xed, 0xc9, 0x4a, 0xd3, 0x16, 0xb2, 0xb6, 0x3a, 0xe5, 0xb6, 400 | 0x9c, 0x31, 0xb8, 0xb6, 0x77, 0x53, 0xd3, 0xa7, 0x73, 0xab, 0x6f, 0x4e, 401 | 0xca, 0x25, 0x8d, 0xab, 0x05, 0x38, 0x0e, 0x77, 0x19, 0xc2, 0x0d, 0xee, 402 | 0xb9, 0xc6, 0xf3, 0xdb, 0xd4, 0x7e, 0x59, 0x8b, 0x92, 0x03, 0xcc, 0x17, 403 | 0x28, 0x35, 0xa8, 0x27, 0x20, 0x82, 0x8f, 0x9a, 0xb0, 0xda, 0x06, 0x30, 404 | 0xae, 0x84, 0x7b, 0xfa, 0xc6, 0x9e, 0x60, 0x8a, 0xb9, 0x0a, 0x21, 0xcc, 405 | 0x62, 0x93, 0xbe, 0x3d, 0xe3, 0x0c, 0xa6, 0xb9, 0x00, 0xa3, 0x0b, 0xec, 406 | 0x2a, 0x10, 0xcf, 0xe5, 0x43, 0xd0, 0xaf, 0xb1, 0x75, 0x2e, 0xe7, 0xaf, 407 | 0x00, 0x38, 0xbe, 0x14, 0x24, 0xd4, 0xd9, 0x62, 0x2d, 0x7c, 0x8a, 0xe1, 408 | 0x79, 0x07, 0x8f, 0xbe, 0xf6, 0x79, 0x3f, 0x21, 0xfa, 0xd5, 0xcb, 0x5b, 409 | 0xa6, 0x47, 0x84, 0xa5, 0xf7, 0x1c, 0xff, 0x05, 0xc3, 0x18, 0x4f, 0x10, 410 | 0x1c, 0x12, 0xa0, 0xd4, 0xd1, 0x9e, 0x2a, 0xc3, 0x89, 0x53, 0x11, 0x22, 411 | 0xc2, 0x8d, 0x9b, 0xa5, 0x74, 0x9e, 0xc5, 0xdd, 0x54, 0x01, 0x3d, 0x6e, 412 | 0xd6, 0xff, 0xa8, 0x3b, 0xe4, 0xd1, 0x7e, 0xdb, 0x87, 0xd3, 0x5c, 0x28, 413 | 0x86, 0xf3, 0xdc, 0x9b, 0x1e, 0x9c, 0x1c, 0x63, 0x21, 0x97, 0xc3, 0xd0, 414 | 0x99, 0x97, 0xc3, 0xca, 0xf2, 0x98, 0x99, 0xb6, 0x9a, 0x55, 0xf8, 0xfc, 415 | 0xa3, 0x8f, 0x60, 0x55, 0xe8, 0xa7, 0x3f, 0xf8, 0x1f, 0x00, 0xe2, 0x06, 416 | 0x20, 0x08, 0x87, 0xba, 0x9d, 0xc1, 0x30, 0x14, 0x83, 0x65, 0xe0, 0x19, 417 | 0x07, 0x78, 0x87, 0x0f, 0x41, 0x36, 0x6e, 0xde, 0x15, 0x4e, 0x6e, 0x4d, 418 | 0x1f, 0x54, 0x46, 0xd8, 0x9f, 0x08, 0xd6, 0x2f, 0xde, 0x47, 0x4f, 0x14, 419 | 0x3c, 0x3d, 0x08, 0x1e, 0x60, 0xe9, 0x40, 0x11, 0xf7, 0x8a, 0xc7, 0x6f, 420 | 0xf0, 0xa0, 0x4f, 0x79, 0x8f, 0x94, 0xdb, 0x0f, 0x14, 0x7d, 0x2d, 0x7b, 421 | 0x54, 0x83, 0xbc, 0x44, 0x5c, 0xd3, 0x2f, 0x1c, 0x79, 0x43, 0x33, 0xb7, 422 | 0x64, 0xea, 0x27, 0x1c, 0x79, 0x2c, 0x79, 0x13, 0x4f, 0xfc, 0xc2, 0x52, 423 | 0x22, 0xce, 0x2d, 0xe4, 0xa0, 0x32, 0x14, 0x83, 0xd1, 0x98, 0x08, 0x92, 424 | 0x68, 0x58, 0xf5, 0x19, 0x70, 0xd6, 0xf7, 0x1d, 0x9c, 0x69, 0x52, 0xbf, 425 | 0x50, 0x0c, 0x14, 0xe6, 0xdf, 0x84, 0x48, 0x45, 0x89, 0xdd, 0xc4, 0xe5, 426 | 0x0a, 0x0b, 0x85, 0x19, 0xb3, 0xb1, 0x96, 0x97, 0x52, 0x84, 0x64, 0xb4, 427 | 0x4f, 0x41, 0xa6, 0xf8, 0x4b, 0xef, 0x01, 0xbe, 0xce, 0x4e, 0x88, 0x99, 428 | 0x73, 0xcb, 0x9f, 0x47, 0x38, 0xcf, 0xa7, 0xa1, 0x56, 0xc3, 0xa4, 0x7c, 429 | 0x1b, 0x42, 0xfb, 0x75, 0x85, 0x87, 0xd1, 0xb8, 0x0a, 0xc1, 0xd3, 0xdd, 430 | 0x2d, 0x05, 0x03, 0xbc, 0xc8, 0xa7, 0xc2, 0x5e, 0x7a, 0xf9, 0xde, 0xcb, 431 | 0x33, 0xd1, 0x10, 0x1d, 0x7a, 0x80, 0x99, 0x2b, 0x4a, 0xb4, 0x8a, 0xc1, 432 | 0x23, 0x57, 0xb8, 0x7d, 0x9a, 0x3e, 0xea, 0xeb, 0x93, 0xff, 0xdb, 0xe7, 433 | 0x0f, 0xfa, 0xc8, 0xa6, 0x01, 0x34, 0x7b, 0x57, 0xa8, 0x6e, 0xa8, 0x3f, 434 | 0x67, 0x17, 0x52, 0xc5, 0x15, 0x93, 0x4b, 0x7c, 0xe4, 0xea, 0xf8, 0xc9, 435 | 0xe0, 0x9c, 0x4e, 0x80, 0x33, 0x8c, 0xe8, 0x53, 0x3e, 0x50, 0xe2, 0xdf, 436 | 0xc9, 0x1b, 0x9f, 0xd7, 0xa3, 0x4f, 0x9f, 0x64, 0x82, 0x5b, 0xea, 0xbf, 437 | 0xa8, 0x35, 0x44, 0x48, 0xc3, 0xc2, 0x8b, 0x8a, 0xfe, 0x3b, 0x15, 0x63, 438 | 0x3a, 0x04, 0x1f, 0xfe, 0x88, 0x2a, 0x1c, 0x72, 0x73, 0x2b, 0xc9, 0xa1, 439 | 0x77, 0xd4, 0xe3, 0xe2, 0x19, 0xe3, 0xfd, 0x9c, 0x5a, 0x48, 0xf5, 0xf8, 440 | 0x48, 0x03, 0x10, 0x71, 0xe4, 0x68, 0x88, 0x42, 0x07, 0x11, 0x21, 0x98, 441 | 0x69, 0xe0, 0x90, 0xdd, 0x9b, 0x90, 0x5c, 0x54, 0xc6, 0xf2, 0x33, 0xb8, 442 | 0xde, 0x64, 0x69, 0x1f, 0xa3, 0x6b, 0x3b, 0xb2, 0x0e, 0x38, 0xeb, 0xdc, 443 | 0x9b, 0x1f, 0xfe, 0x79, 0xa1, 0x47, 0xb2, 0x61, 0x5c, 0x46, 0x57, 0x55, 444 | 0x19, 0x29, 0xe6, 0x63, 0x6e, 0xea, 0xfa, 0x4c, 0xf1, 0xe5, 0x05, 0xa8, 445 | 0xbb, 0x06, 0x70, 0x8f, 0xe0, 0xc3, 0xc1, 0x64, 0x10, 0x7c, 0x74, 0x11, 446 | 0x8a, 0x78, 0x9d, 0x9e, 0x0e, 0x5d, 0xd7, 0x28, 0x9c, 0xfb, 0xed, 0xb0, 447 | 0x87, 0x3f, 0xe2, 0x8e, 0x56, 0x96, 0x04, 0x3d, 0x30, 0x28, 0x8a, 0xe0, 448 | 0xb4, 0xe7, 0x3c, 0x10, 0x47, 0x82, 0xb8, 0x72, 0xbb, 0xc0, 0x99, 0xa1, 449 | 0x12, 0xb0, 0x03, 0x7e, 0xd6, 0xb1, 0x1d, 0x49, 0x25, 0x67, 0x7e, 0x7c, 450 | 0x1b, 0x06, 0x7e, 0x88, 0xdd, 0x6f, 0xe7, 0x91, 0xf8, 0xe2, 0x93, 0x77, 451 | 0xff, 0xf2, 0x12, 0xdd, 0x45, 0x99, 0x7a, 0x8d, 0x24, 0xf4, 0xe8, 0x58, 452 | 0xcf, 0x8f, 0x8e, 0xe4, 0xfb, 0x1b, 0x11, 0xe7, 0x16, 0x7f, 0x6d, 0x80, 453 | 0xbd, 0xe3, 0x29, 0xfd, 0x3c, 0x84, 0xe2, 0xc3, 0xaf, 0x0f, 0xe0, 0x89, 454 | 0xf4, 0x3f, 0xd2, 0x8e, 0xf4, 0x0c, 0x17, 0xcb, 0xf3, 0xde, 0x2f, 0x08, 455 | 0x29, 0xc5, 0xc6, 0x1f, 0xf3, 0xb8, 0xdb, 0x64, 0xdf, 0x63, 0x07, 0xc3, 456 | 0x74, 0xde, 0x6e, 0x48, 0xf8, 0x5f, 0xfc, 0x80, 0x95, 0x1f, 0x02, 0x98, 457 | 0xa0, 0xb0, 0x0c, 0x00, 0xbc, 0xd4, 0x46, 0x21, 0x98, 0x0b, 0x3d, 0x3d, 458 | 0x89, 0xb0, 0x82, 0x30, 0xc0, 0x03, 0xf7, 0x82, 0xe5, 0xda, 0xc9, 0xfd, 459 | 0x20, 0x29, 0xae, 0xd9, 0x72, 0x90, 0x08, 0xaf, 0x56, 0x5a, 0xc1, 0xa6, 460 | 0xc0, 0xbb, 0x32, 0xfa, 0x5d, 0x66, 0x0c, 0x94, 0x49, 0x70, 0x5f, 0x6c, 461 | 0x1c, 0xc0, 0xe7, 0x08, 0x6b, 0x2f, 0x84, 0x05, 0x5f, 0x51, 0x41, 0x38, 462 | 0x62, 0x9a, 0xde, 0x2a, 0x68, 0x65, 0x21, 0x98, 0xf2, 0x90, 0x2e, 0x1a, 463 | 0x12, 0x1a, 0xf5, 0x6b, 0x38, 0xe3, 0x1b, 0x3a, 0xd4, 0x77, 0x04, 0xe1, 464 | 0x45, 0x18, 0xba, 0x11, 0x1c, 0x34, 0xe6, 0x7d, 0x4a, 0x92, 0xfa, 0x72, 465 | 0x49, 0x0c, 0xa3, 0xff, 0xfb, 0xa8, 0xa3, 0xa1, 0xef, 0xfd, 0x83, 0x0b, 466 | 0xb2, 0x8c, 0xf3, 0x58, 0x0b, 0x74, 0xeb, 0xf7, 0x7a, 0x29, 0x24, 0x68, 467 | 0xb8, 0x5c, 0x06, 0x12, 0x3e, 0x96, 0x30, 0x60, 0xf5, 0x22, 0xec, 0xac, 468 | 0x80, 0x1b, 0xdc, 0xf7, 0x01, 0x47, 0x21, 0x02, 0x0a, 0x90, 0xdf, 0x2f, 469 | 0xc9, 0xda, 0x29, 0x14, 0xfd, 0x1b, 0xe2, 0xff, 0x09, 0x4b, 0x65, 0x8c, 470 | 0x8e, 0xe2, 0xc6, 0x7d, 0xd7, 0x01, 0x2e, 0xb8, 0x81, 0x15, 0xe4, 0xdf, 471 | 0xe4, 0x06, 0x20, 0xff, 0x57, 0x6e, 0x4a, 0x83, 0xae, 0xe7, 0x8e, 0xf8, 472 | 0x5f, 0x50, 0x92, 0xb9, 0xeb, 0xe1, 0x2b, 0x8b, 0x51, 0x98, 0x8f, 0xa7, 473 | 0xdb, 0xaf, 0x88, 0x6b, 0xbc, 0x5f, 0x1c, 0xc7, 0x02, 0xda, 0x17, 0x64, 474 | 0x5d, 0x3c, 0x1e, 0x51, 0xff, 0x35, 0x90, 0xdf, 0x44, 0x96, 0x86, 0x6b, 475 | 0x8b, 0x1f, 0x7e, 0xf4, 0xf6, 0xa2, 0xfc, 0x70, 0xc3, 0x79, 0x86, 0xd4, 476 | 0x13, 0x2e, 0x48, 0xdc, 0xdc, 0xda, 0xb0, 0x01, 0x82, 0x5b, 0xcf, 0xdb, 477 | 0x56, 0x97, 0x91, 0xf9, 0x1e, 0x94, 0x44, 0xda, 0x3b, 0x58, 0x74, 0x40, 478 | 0xe2, 0xf6, 0x03, 0x68, 0xdc, 0x7e, 0x61, 0x15, 0x9c, 0xf1, 0x3c, 0xb1, 479 | 0x1d, 0x0b, 0x8b, 0x7b, 0xad, 0xcd, 0x33, 0x3a, 0x58, 0xab, 0xe2, 0xcd, 480 | 0x42, 0xf7, 0x89, 0xec, 0x14, 0xbe, 0x9f, 0xf3, 0x2e, 0x32, 0x10, 0xf9, 481 | 0x3e, 0xca, 0x55, 0x9f, 0x0f, 0x41, 0x02, 0x30, 0x42, 0x7d, 0x34, 0x0a, 482 | 0x83, 0xbd, 0xdb, 0x19, 0x8e, 0x5d, 0x93, 0xbe, 0xc3, 0x5b, 0xa6, 0xb8, 483 | 0xc9, 0x9d, 0xba, 0x88, 0x0d, 0xdd, 0x7c, 0xfd, 0x0f, 0xab, 0x82, 0x00, 484 | 0x07, 0x2e, 0x0b, 0xa8, 0x7f, 0xc6, 0x8e, 0x86, 0x17, 0x5c, 0x97, 0x78, 485 | 0xc9, 0x0a, 0xc1, 0x76, 0x04, 0xcd, 0x0c, 0x5f, 0x00, 0x7c, 0x56, 0x4c, 486 | 0x6f, 0xa8, 0x6b, 0x90, 0x57, 0xf8, 0xd4, 0x17, 0xf6, 0x68, 0x43, 0x7f, 487 | 0x02, 0xee, 0x37, 0xf9, 0x39, 0xe5, 0xdc, 0x40, 0xf9, 0xda, 0x71, 0xfd, 488 | 0xcc, 0xcd, 0xd7, 0xd7, 0xce, 0xfc, 0xde, 0x46, 0xbe, 0xdf, 0x7a, 0xdb, 489 | 0x9c, 0x9d, 0x25, 0x94, 0xac, 0x10, 0xf4, 0x90, 0xc6, 0x9f, 0x61, 0xa7, 490 | 0xfa, 0xfb, 0x8b, 0x8c, 0x71, 0x46, 0x40, 0x51, 0x7f, 0x8d, 0x02, 0x96, 491 | 0xf4, 0x67, 0x14, 0x41, 0x98, 0x5f, 0xa2, 0x88, 0x9c, 0x2b, 0x29, 0xd7, 492 | 0xe3, 0xde, 0xe4, 0xed, 0xf7, 0x33, 0x2e, 0x3e, 0xfa, 0x09, 0x72, 0x37, 493 | 0x3e, 0x9e, 0x05, 0x27, 0xbd, 0xbd, 0x25, 0x7b, 0x3e, 0x04, 0xc3, 0x75, 494 | 0x51, 0xeb, 0xb3, 0x77, 0x19, 0xbe, 0x5f, 0x3d, 0x57, 0x0d, 0x0d, 0x3d, 495 | 0xd2, 0x42, 0x50, 0x4e, 0x82, 0xdb, 0xfb, 0xf3, 0x34, 0xa1, 0x10, 0xc7, 496 | 0x5c, 0x42, 0xac, 0xd2, 0xa1, 0xc8, 0xbb, 0xa9, 0x9a, 0x04, 0xd3, 0x8e, 497 | 0xf0, 0xe0, 0xd3, 0xfc, 0xa0, 0xee, 0x3a, 0x87, 0x3b, 0xf5, 0xfb, 0xaf, 498 | 0xbf, 0x51, 0x21, 0xd7, 0x90, 0x6f, 0x4c, 0xf9, 0x51, 0x86, 0xfb, 0x2a, 499 | 0x14, 0xc5, 0x42, 0x45, 0x77, 0xee, 0x78, 0x4c, 0xc8, 0x9b, 0xf1, 0x89, 500 | 0xac, 0xd1, 0x27, 0x6a, 0x07, 0xa5, 0x14, 0x30, 0x16, 0x2c, 0x0d, 0xa0, 501 | 0xff, 0x4f, 0x95, 0xf8, 0xd6, 0x1d, 0xb7, 0xba, 0x72, 0x78, 0x71, 0xfc, 502 | 0xd7, 0x40, 0x99, 0x1a, 0x4e, 0x42, 0xa1, 0xba, 0xa0, 0xe3, 0xc5, 0x57, 503 | 0x19, 0x2d, 0xf0, 0xad, 0x25, 0x58, 0xf8, 0xc6, 0x99, 0x96, 0xfb, 0x76, 504 | 0xc4, 0xb7, 0xfa, 0x56, 0x77, 0x6f, 0x2a, 0xe9, 0xdb, 0xca, 0xf8, 0x36, 505 | 0x40, 0x26, 0xbe, 0x75, 0x44, 0x07, 0xdf, 0xda, 0xc6, 0x0e, 0xdf, 0x8a, 506 | 0x90, 0x52, 0x7e, 0xf4, 0x53, 0x8a, 0xbf, 0x1a, 0x85, 0x95, 0x28, 0x7a, 507 | 0xc3, 0x04, 0x5e, 0xf6, 0x30, 0x97, 0x72, 0xfc, 0xa0, 0xfd, 0x20, 0xe1, 508 | 0xca, 0xae, 0x65, 0xc0, 0xa1, 0x45, 0x38, 0xf2, 0x63, 0x2c, 0x44, 0x85, 509 | 0x62, 0xa4, 0x85, 0x8c, 0x8e, 0xc4, 0x00, 0xbb, 0xd7, 0x50, 0xde, 0xaa, 510 | 0xea, 0x0c, 0x09, 0x16, 0x34, 0xde, 0x52, 0xae, 0x23, 0x84, 0x49, 0x47, 511 | 0xd5, 0xd8, 0xe2, 0x33, 0x05, 0xea, 0x1b, 0xf8, 0x4a, 0x08, 0x0e, 0x93, 512 | 0xe0, 0x0a, 0x10, 0x0f, 0xb7, 0x31, 0xb7, 0xb7, 0xa5, 0xe8, 0x5b, 0x07, 513 | 0xe1, 0xfe, 0x47, 0xf8, 0x3c, 0x00, 0xa7, 0x30, 0xc6, 0xcb, 0x5e, 0xd1, 514 | 0xeb, 0x7e, 0x82, 0x11, 0x63, 0xbe, 0x42, 0xfa, 0xfc, 0x04, 0xf8, 0xf0, 515 | 0xa8, 0x6e, 0x8b, 0x0c, 0xe3, 0x5a, 0xa1, 0x1f, 0xbd, 0xb8, 0x7d, 0x57, 516 | 0x7d, 0xbc, 0xc9, 0x33, 0x8b, 0x23, 0xe0, 0x0d, 0xd4, 0x6e, 0x13, 0xb5, 517 | 0x93, 0x46, 0x2c, 0x54, 0xa3, 0x00, 0x5e, 0xd0, 0xc2, 0x97, 0x0a, 0xbe, 518 | 0x0c, 0xf1, 0xa5, 0x8b, 0x2f, 0xa5, 0x42, 0xe8, 0xc7, 0xcb, 0xa3, 0x17, 519 | 0xd3, 0xc0, 0x23, 0x99, 0x3c, 0x19, 0x49, 0xf8, 0xc1, 0xdb, 0xdb, 0xb8, 520 | 0x39, 0x1a, 0x8d, 0xb9, 0x8d, 0x34, 0x6e, 0x64, 0x53, 0x91, 0x4b, 0x0b, 521 | 0xb4, 0xb0, 0x7b, 0x93, 0x0f, 0x1e, 0x5c, 0x46, 0xbe, 0x4b, 0x5c, 0x2a, 522 | 0x1e, 0x0f, 0x07, 0xa9, 0x7e, 0x38, 0x1f, 0xa1, 0x49, 0x34, 0xf4, 0xc7, 523 | 0x6e, 0xe3, 0x20, 0xfe, 0x37, 0x09, 0x86, 0x68, 0xd8, 0xfe, 0x01, 0x80, 524 | 0x7e, 0x0c, 0xa4, 0x05, 0xf1, 0x09, 0x26, 0xec, 0x97, 0xee, 0x53, 0xc8, 525 | 0xdb, 0xe8, 0xbf, 0xb9, 0xb9, 0x38, 0x9f, 0xa5, 0xc9, 0x1f, 0x80, 0x3c, 526 | 0xe2, 0x92, 0x10, 0xde, 0xf0, 0x62, 0x49, 0x91, 0x9e, 0x6e, 0xe1, 0x6b, 527 | 0x66, 0xf8, 0x8b, 0x8e, 0x2f, 0xce, 0xef, 0x6f, 0x37, 0x2f, 0x71, 0xe7, 528 | 0x17, 0x45, 0xd8, 0x89, 0xa3, 0xca, 0x64, 0x83, 0xab, 0x8a, 0xe0, 0x33, 529 | 0xd5, 0xa1, 0x41, 0xb9, 0x2b, 0x5c, 0xe8, 0x83, 0xe5, 0x87, 0x61, 0xe1, 530 | 0x95, 0x05, 0x7e, 0x26, 0x9b, 0x73, 0x14, 0xde, 0x9c, 0x73, 0x31, 0xdd, 531 | 0x52, 0x1a, 0xd4, 0xc7, 0x8a, 0x09, 0x39, 0x90, 0x06, 0x00, 0x12, 0xef, 532 | 0x97, 0xd4, 0x82, 0x5a, 0x1f, 0x4e, 0x2e, 0xf4, 0x85, 0x6d, 0xe6, 0x3d, 533 | 0x10, 0xef, 0x16, 0xf0, 0xf9, 0x66, 0xc7, 0xe5, 0xf6, 0xd9, 0x07, 0x24, 534 | 0x33, 0x29, 0x01, 0x21, 0x4f, 0xd0, 0x41, 0xce, 0x4d, 0xe0, 0x66, 0x01, 535 | 0x25, 0x78, 0x79, 0x6e, 0x0b, 0x38, 0xdb, 0xc0, 0x83, 0xfb, 0x0a, 0x3e, 536 | 0x70, 0xf9, 0xda, 0x32, 0x24, 0x65, 0xa9, 0x20, 0xe9, 0xa2, 0xa9, 0x0b, 537 | 0x93, 0x80, 0x62, 0xdb, 0xf8, 0xb3, 0xec, 0x8b, 0x56, 0x4e, 0x74, 0x82, 538 | 0x16, 0x52, 0x9e, 0xc3, 0xc5, 0x23, 0x85, 0x95, 0x4a, 0x78, 0xc0, 0xab, 539 | 0x9f, 0x5b, 0xdc, 0x4d, 0x9a, 0x00, 0x82, 0x30, 0x05, 0x0d, 0x0b, 0x00, 540 | 0x87, 0x7f, 0x37, 0x97, 0x2a, 0x5a, 0x6c, 0x1d, 0x07, 0xdc, 0xd3, 0xd0, 541 | 0x79, 0x7c, 0x18, 0x01, 0x83, 0xfd, 0x65, 0x16, 0x49, 0x93, 0xa1, 0x78, 542 | 0x9c, 0x06, 0x51, 0xc1, 0x0c, 0x60, 0x51, 0x33, 0x74, 0x4b, 0xc1, 0x42, 543 | 0x67, 0x0b, 0x35, 0x57, 0x17, 0xcb, 0x8f, 0x4f, 0x21, 0xfa, 0x6e, 0x27, 544 | 0x15, 0xde, 0xaf, 0x10, 0x38, 0xb9, 0xa2, 0x2b, 0xf8, 0x8f, 0x12, 0x22, 545 | 0x21, 0x20, 0xe2, 0x7e, 0xdb, 0x0e, 0xa2, 0x6a, 0xa0, 0x7a, 0x5c, 0x60, 546 | 0x65, 0xd9, 0x4c, 0x86, 0x1a, 0x74, 0x6b, 0xe5, 0xb2, 0x4d, 0x16, 0xa2, 547 | 0x9a, 0xa0, 0xc3, 0xee, 0x21, 0xd8, 0xcd, 0x85, 0xc4, 0x1c, 0x7b, 0x0c, 548 | 0x93, 0x3f, 0x16, 0xba, 0x79, 0xf3, 0xfb, 0x03, 0x3c, 0x57, 0xae, 0x33, 549 | 0x43, 0x34, 0x00, 0x00 550 | }; 551 | 552 | /***************************************************************************************************************************************************************/ 553 | /***************************************************************************************************************************************************************/ 554 | 555 | const char PAGE_INDEX[] PROGMEM = { 556 | 0x1f, 0x8b, 0x08, 0x08, 0x48, 0xff, 0xb2, 0x58, 0x00, 0x03, 0x69, 0x6e, 557 | 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x00, 0xad, 0x91, 0xc1, 558 | 0x4e, 0xc3, 0x30, 0x0c, 0x86, 0xef, 0x7d, 0x0a, 0x2b, 0x5c, 0x29, 0xdd, 559 | 0x86, 0xb8, 0x94, 0xb4, 0x12, 0x82, 0x0b, 0x07, 0x10, 0x12, 0xf0, 0x00, 560 | 0x6e, 0xe3, 0xb5, 0xd1, 0xd2, 0x24, 0x4a, 0xdc, 0x6d, 0x80, 0x78, 0x77, 561 | 0xb2, 0x75, 0x08, 0x38, 0x8c, 0x0b, 0x44, 0x4a, 0x94, 0xfc, 0xbf, 0xe5, 562 | 0xcf, 0xb1, 0xe5, 0x40, 0x8c, 0x60, 0x71, 0xa0, 0x4a, 0xac, 0x35, 0x6d, 563 | 0xbc, 0x0b, 0x2c, 0xa0, 0x75, 0x96, 0xc9, 0x72, 0x25, 0x36, 0x5a, 0x71, 564 | 0x5f, 0x29, 0x5a, 0xeb, 0x96, 0xf2, 0xfd, 0xe3, 0x14, 0xb4, 0xd5, 0xac, 565 | 0xd1, 0xe4, 0xb1, 0x45, 0x43, 0xd5, 0x5c, 0x40, 0x51, 0x67, 0x99, 0x8c, 566 | 0xfc, 0x62, 0xa8, 0xce, 0x20, 0x2d, 0x3c, 0x6b, 0x46, 0x66, 0x67, 0xe1, 567 | 0x6d, 0xff, 0xcc, 0x37, 0xd4, 0xac, 0x34, 0xe7, 0xe8, 0x3d, 0x61, 0x40, 568 | 0xdb, 0x52, 0x09, 0x53, 0xc0, 0xe5, 0xe4, 0x0f, 0xee, 0xf5, 0xa8, 0x79, 569 | 0x4c, 0x67, 0xda, 0x72, 0xae, 0xa8, 0x75, 0x01, 0x59, 0x3b, 0x5b, 0x82, 570 | 0x75, 0x96, 0x26, 0xab, 0x75, 0xc6, 0x85, 0xf2, 0xb3, 0xcc, 0x49, 0xf3, 571 | 0xa8, 0x94, 0xb6, 0x5d, 0x09, 0xe7, 0x7e, 0x0b, 0x17, 0x7e, 0x3b, 0xa9, 572 | 0x8d, 0x0b, 0x8a, 0x52, 0xe8, 0x3c, 0x89, 0xd1, 0x19, 0xad, 0xe0, 0x64, 573 | 0x36, 0x9b, 0x1d, 0x3c, 0x6c, 0x57, 0x5d, 0x70, 0xa3, 0x55, 0x25, 0x9c, 574 | 0x10, 0xa5, 0xdc, 0xef, 0x99, 0x2c, 0x0e, 0xbf, 0xcc, 0x24, 0x6b, 0x4e, 575 | 0x97, 0x3b, 0x5c, 0x51, 0x78, 0xe4, 0x54, 0x44, 0x47, 0xb2, 0x98, 0xb4, 576 | 0x4c, 0xf6, 0xf3, 0xfa, 0x89, 0x06, 0x4f, 0xa9, 0xb4, 0x31, 0x10, 0x5c, 577 | 0xa7, 0x66, 0x06, 0x67, 0x0c, 0x05, 0x59, 0x24, 0x2b, 0xf9, 0x21, 0x1d, 578 | 0x08, 0x7d, 0xa0, 0xe5, 0xae, 0xc3, 0x4b, 0x1d, 0x89, 0x47, 0x7f, 0xd6, 579 | 0xf3, 0x60, 0x04, 0xec, 0x09, 0x87, 0xc6, 0x97, 0x8b, 0x8b, 0x99, 0xdf, 580 | 0xa6, 0x71, 0x18, 0x8c, 0xb1, 0x12, 0xd3, 0xff, 0x77, 0xd3, 0x31, 0xd1, 581 | 0xa3, 0xad, 0xc4, 0x42, 0x00, 0x1a, 0xdd, 0xa5, 0x5b, 0x9b, 0xa6, 0x45, 582 | 0x41, 0x40, 0x7d, 0x4f, 0xbc, 0x71, 0x61, 0xb5, 0x83, 0x2e, 0x75, 0x37, 583 | 0x4e, 0xdd, 0x91, 0x05, 0xd6, 0xb2, 0x09, 0xfb, 0xfd, 0x45, 0xf6, 0x5a, 584 | 0x7d, 0x07, 0xc3, 0x5f, 0xd1, 0x0f, 0xb7, 0x37, 0xbf, 0x61, 0x7f, 0xb0, 585 | 0x15, 0xc6, 0xbe, 0x71, 0x18, 0xd4, 0x7f, 0xc1, 0x6f, 0x3e, 0x13, 0xfe, 586 | 0x02, 0xc5, 0xc6, 0x8d, 0xfc, 0x5f, 0xc0, 0xab, 0x5d, 0x32, 0x78, 0x8e, 587 | 0x3f, 0x78, 0x1f, 0x9b, 0xfe, 0x68, 0x6d, 0x4e, 0x03, 0x00, 0x00 588 | }; 589 | 590 | 591 | /***************************************************************************************************************************************************************/ 592 | /***************************************************************************************************************************************************************/ 593 | 594 | const char PAGE_PIDSETUP[] PROGMEM = { 595 | 0x1f, 0x8b, 0x08, 0x08, 0x1e, 0xe5, 0x19, 0x59, 0x00, 0x03, 0x70, 0x69, 596 | 0x64, 0x73, 0x65, 0x74, 0x75, 0x70, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x00, 597 | 0xed, 0x58, 0x6d, 0x6f, 0xdb, 0x36, 0x10, 0xfe, 0xae, 0x5f, 0xc1, 0xf2, 598 | 0x43, 0x6d, 0xaf, 0xb1, 0x15, 0xab, 0x1d, 0x50, 0x44, 0x96, 0x87, 0x76, 599 | 0x49, 0xd7, 0x74, 0x6d, 0x62, 0xd4, 0x1e, 0x30, 0x20, 0x08, 0x06, 0x5a, 600 | 0xa2, 0x6c, 0x36, 0xb2, 0xa8, 0x91, 0x74, 0x6c, 0x23, 0xf5, 0x7f, 0xdf, 601 | 0x91, 0x94, 0x2c, 0xf9, 0x2d, 0xf1, 0x9a, 0x06, 0xd8, 0x86, 0x09, 0x41, 602 | 0x2c, 0x92, 0x77, 0xcf, 0x3d, 0x3c, 0xde, 0x1d, 0xcf, 0xee, 0x28, 0xa6, 603 | 0x12, 0xda, 0xfd, 0x44, 0x6e, 0xa8, 0xe8, 0x2b, 0x2e, 0xc8, 0x88, 0x76, 604 | 0x5c, 0x3b, 0xe7, 0x74, 0x26, 0x54, 0x11, 0x94, 0x92, 0x09, 0x0d, 0xf0, 605 | 0x2d, 0xa3, 0xb3, 0x8c, 0x0b, 0x85, 0x51, 0xc8, 0x53, 0x45, 0x53, 0x15, 606 | 0xe0, 0x19, 0x8b, 0xd4, 0x38, 0x88, 0xe8, 0x2d, 0x0b, 0x69, 0xd3, 0x0c, 607 | 0x8e, 0x10, 0x4b, 0x99, 0x62, 0x24, 0x69, 0xca, 0x90, 0x24, 0x34, 0x68, 608 | 0x63, 0xe4, 0x76, 0x1d, 0x84, 0x2c, 0xd0, 0x58, 0xa9, 0xac, 0x49, 0xff, 609 | 0x9c, 0xb2, 0xdb, 0x00, 0xff, 0x6c, 0x41, 0x9a, 0x83, 0x45, 0x46, 0x2b, 610 | 0x90, 0x8a, 0xce, 0x95, 0x3b, 0x56, 0x93, 0xc4, 0x47, 0xe1, 0x98, 0x08, 611 | 0x49, 0x55, 0x30, 0x55, 0x71, 0xf3, 0xb5, 0xc1, 0x01, 0x20, 0x80, 0x92, 612 | 0x6a, 0x91, 0x50, 0xa4, 0x40, 0x2f, 0x17, 0x0f, 0xa5, 0xc4, 0xda, 0x48, 613 | 0xcc, 0xc5, 0x04, 0xa1, 0x3b, 0x14, 0x31, 0x99, 0x25, 0x64, 0x71, 0x82, 614 | 0x14, 0x19, 0x26, 0xd4, 0x47, 0xe6, 0x59, 0x82, 0x40, 0x66, 0xde, 0x36, 615 | 0x05, 0x9a, 0x82, 0xcf, 0x7c, 0x2b, 0x90, 0x90, 0x21, 0x4d, 0xb6, 0x05, 616 | 0x42, 0x9a, 0x00, 0x1f, 0x2d, 0xc0, 0xd2, 0x6c, 0xaa, 0xee, 0x13, 0xe8, 617 | 0xb8, 0x86, 0x5e, 0x17, 0x21, 0xc7, 0xfc, 0x75, 0xc6, 0xed, 0x6e, 0xef, 618 | 0xfc, 0x14, 0xf5, 0xa9, 0x52, 0x2c, 0x1d, 0xc9, 0x8e, 0x0b, 0x13, 0x86, 619 | 0x86, 0x59, 0x14, 0xe0, 0x63, 0x43, 0x9b, 0x84, 0x8a, 0xf1, 0x34, 0xc0, 620 | 0x58, 0x4f, 0x30, 0x9a, 0x44, 0xb0, 0xf3, 0x6e, 0x27, 0xa1, 0x23, 0x9a, 621 | 0x46, 0x1a, 0xa0, 0xd9, 0x46, 0xe0, 0xb1, 0x98, 0x8d, 0xa6, 0x02, 0x8e, 622 | 0x27, 0x9f, 0x37, 0x30, 0x1d, 0x43, 0x01, 0x0d, 0xb9, 0x88, 0xa8, 0x08, 623 | 0xf0, 0x31, 0x46, 0x48, 0xd3, 0x91, 0x19, 0x09, 0xc1, 0xa0, 0x99, 0xd0, 624 | 0xe3, 0x8c, 0x44, 0x91, 0x19, 0xbf, 0xc4, 0xc8, 0x50, 0xcc, 0x8f, 0xef, 625 | 0xe4, 0xd5, 0xf1, 0x71, 0x36, 0xc7, 0x08, 0xec, 0x2a, 0xd1, 0xed, 0xa8, 626 | 0x08, 0x91, 0x84, 0x8d, 0x80, 0x89, 0x60, 0xa3, 0xb1, 0xc2, 0xdd, 0x3e, 627 | 0x4d, 0x25, 0x17, 0x27, 0x10, 0x12, 0x91, 0x5e, 0xed, 0x76, 0x24, 0x4d, 628 | 0x68, 0xa8, 0x10, 0x8b, 0x02, 0x9c, 0xb1, 0xa8, 0xfd, 0x87, 0x34, 0x02, 629 | 0x38, 0x8f, 0x92, 0xb5, 0xa9, 0x5b, 0x92, 0x4c, 0x61, 0x0e, 0x82, 0x80, 630 | 0xa7, 0x70, 0x9a, 0xe9, 0x08, 0x06, 0x71, 0x0a, 0xbb, 0x69, 0xf7, 0xcf, 631 | 0x2e, 0xfa, 0x97, 0x9f, 0xc1, 0x29, 0xf5, 0x06, 0xb6, 0xee, 0xd8, 0x78, 632 | 0x9c, 0x5d, 0x93, 0xe6, 0xf8, 0x79, 0xa6, 0x3d, 0x55, 0x60, 0x7b, 0xb8, 633 | 0x3b, 0x18, 0x53, 0x31, 0xe1, 0x21, 0x9f, 0x66, 0x09, 0xb8, 0xc6, 0x2e, 634 | 0x77, 0x0f, 0xd5, 0x3f, 0xce, 0xf5, 0x99, 0x84, 0xd0, 0x47, 0xed, 0xfb, 635 | 0xf5, 0x37, 0x74, 0xdb, 0x6b, 0xba, 0xde, 0x7e, 0x5d, 0x08, 0x0a, 0xe3, 636 | 0xb4, 0xae, 0xf5, 0xa2, 0xab, 0xc4, 0x7e, 0x6f, 0xab, 0x01, 0x9d, 0x64, 637 | 0x15, 0x77, 0xdb, 0x88, 0xab, 0x78, 0x5b, 0x29, 0x10, 0xd8, 0x70, 0x77, 638 | 0x3e, 0x67, 0x73, 0x22, 0x9d, 0x4e, 0x86, 0xb4, 0xf4, 0xfe, 0x6b, 0xd8, 639 | 0xe2, 0x86, 0x5d, 0x67, 0xdb, 0x70, 0xcf, 0x9a, 0x74, 0x76, 0xd9, 0xec, 640 | 0xad, 0x59, 0xeb, 0xed, 0xb7, 0x03, 0x39, 0x9a, 0xa3, 0x94, 0xa6, 0x60, 641 | 0xf7, 0x5b, 0xc6, 0xce, 0x73, 0x63, 0x66, 0x6d, 0xcb, 0xdc, 0xf9, 0x9a, 642 | 0xb9, 0xf3, 0xc7, 0x9b, 0x3b, 0xbd, 0xd7, 0xdc, 0xe9, 0x9a, 0xb9, 0xd3, 643 | 0x43, 0xcd, 0xe9, 0x18, 0xd5, 0x6f, 0x3a, 0xf9, 0xf4, 0xd4, 0x2a, 0x69, 644 | 0x57, 0xd1, 0xdb, 0x19, 0x8a, 0x7d, 0xc9, 0xec, 0xfd, 0x33, 0x93, 0xd9, 645 | 0xdb, 0x4e, 0x66, 0xef, 0xe1, 0x64, 0xf6, 0xfe, 0x4f, 0xe6, 0x6f, 0x4a, 646 | 0x66, 0x6f, 0x47, 0x32, 0x7b, 0x4f, 0x9c, 0xcc, 0xde, 0x5a, 0x32, 0x7b, 647 | 0x4f, 0x9d, 0xcc, 0xde, 0x5a, 0x32, 0x7b, 0x4f, 0x9d, 0xcc, 0xde, 0x5a, 648 | 0x32, 0x7b, 0xdf, 0x25, 0x99, 0xed, 0xf9, 0x9b, 0x5c, 0xae, 0x84, 0x72, 649 | 0x6e, 0xd7, 0xa2, 0x0f, 0xa7, 0x4a, 0xf1, 0x14, 0x1b, 0x16, 0x92, 0xdc, 650 | 0x52, 0x18, 0x17, 0x34, 0x56, 0xc3, 0xdc, 0x72, 0x1f, 0xc6, 0xab, 0x5e, 651 | 0xc0, 0x64, 0x52, 0xc2, 0xc2, 0x1b, 0x98, 0x87, 0x0a, 0xf0, 0x0e, 0xfa, 652 | 0x80, 0x0f, 0x92, 0xa7, 0x90, 0x45, 0xeb, 0x49, 0x8d, 0x5e, 0xea, 0xac, 653 | 0xf6, 0xd1, 0x98, 0x6a, 0x17, 0x9c, 0xa0, 0x1f, 0xf5, 0x48, 0xef, 0xe0, 654 | 0x79, 0x3a, 0x94, 0x99, 0xf9, 0xb7, 0x4e, 0xab, 0x68, 0x26, 0xec, 0x27, 655 | 0xde, 0xa0, 0x99, 0x53, 0x79, 0x4b, 0xc2, 0x9b, 0x0a, 0x83, 0xb1, 0x09, 656 | 0xfc, 0x45, 0x6b, 0xc4, 0xeb, 0xcd, 0x76, 0xc3, 0xdf, 0xa4, 0xd0, 0xde, 657 | 0x43, 0xa1, 0x48, 0x70, 0xed, 0x3e, 0xdd, 0xc8, 0x40, 0x93, 0xe6, 0x74, 658 | 0x64, 0x28, 0x58, 0xa6, 0xba, 0xce, 0x2d, 0x11, 0x68, 0x3e, 0x49, 0x74, 659 | 0xdb, 0x87, 0x02, 0x94, 0xd2, 0x19, 0xfa, 0xfd, 0xd3, 0xc7, 0xf7, 0x30, 660 | 0xfa, 0x0c, 0x4d, 0x20, 0x95, 0x50, 0x2f, 0x7c, 0x23, 0x33, 0x15, 0x09, 661 | 0xac, 0x63, 0xf7, 0x0b, 0xec, 0x3e, 0xe1, 0x24, 0xfa, 0x29, 0x0e, 0xe0, 662 | 0xfc, 0x5a, 0x7a, 0x88, 0x7d, 0xc7, 0xc9, 0x21, 0x5a, 0x3c, 0x15, 0x94, 663 | 0x44, 0x0b, 0xa9, 0x88, 0xa2, 0xb6, 0x02, 0x81, 0x56, 0x3c, 0x4d, 0xcd, 664 | 0x2e, 0xeb, 0x0d, 0x74, 0x67, 0xbc, 0xc0, 0x62, 0x54, 0x2f, 0x34, 0x8c, 665 | 0x7c, 0x5f, 0xcb, 0xa3, 0x20, 0x40, 0xaf, 0xd0, 0xf3, 0xe7, 0x05, 0x9f, 666 | 0x96, 0x46, 0x99, 0x4a, 0x3d, 0xed, 0x1d, 0x1f, 0x17, 0xba, 0xfa, 0xd1, 667 | 0x84, 0x26, 0x8b, 0x37, 0x42, 0x00, 0xf8, 0x87, 0xfe, 0xe5, 0x45, 0x2b, 668 | 0xd3, 0x6d, 0x68, 0x05, 0x52, 0x66, 0x3c, 0x95, 0x74, 0x00, 0x9d, 0x27, 669 | 0xd0, 0x2f, 0xb4, 0x26, 0x8b, 0x77, 0x05, 0x11, 0xa3, 0x9c, 0x2f, 0x2d, 670 | 0x9d, 0xa5, 0x5f, 0xf2, 0xcf, 0x68, 0x5a, 0xc7, 0xbf, 0x9c, 0x0d, 0xf0, 671 | 0x91, 0xde, 0xf2, 0x11, 0x52, 0x62, 0x4a, 0x1b, 0xe5, 0x3a, 0x54, 0xda, 672 | 0x48, 0xbb, 0xc4, 0x29, 0xf6, 0x54, 0x45, 0xd5, 0xce, 0x38, 0x25, 0x8a, 673 | 0x00, 0x55, 0x84, 0x5c, 0x37, 0x13, 0x3c, 0xa4, 0x52, 0x22, 0x35, 0xa6, 674 | 0x48, 0x2f, 0xa1, 0x58, 0xf0, 0x89, 0x19, 0x9d, 0xf5, 0x7b, 0x8e, 0xf1, 675 | 0x6a, 0xa1, 0xf1, 0x2b, 0x5d, 0xc0, 0x3e, 0xd1, 0xe5, 0xf0, 0x0b, 0x54, 676 | 0xad, 0xd6, 0x0d, 0x8c, 0x4a, 0x30, 0xdf, 0x81, 0x43, 0xab, 0x6b, 0x69, 677 | 0x16, 0x1c, 0xfb, 0x88, 0x75, 0xaa, 0x4a, 0xad, 0x84, 0xa6, 0x23, 0x35, 678 | 0x86, 0xe9, 0x17, 0x2f, 0x1a, 0xd6, 0x41, 0x5a, 0xd2, 0x26, 0x07, 0x20, 679 | 0x46, 0x3c, 0x9c, 0x4e, 0xa0, 0x6b, 0x6f, 0x8d, 0xa8, 0x3a, 0x4b, 0xa8, 680 | 0x7e, 0x95, 0x6f, 0x17, 0x17, 0x10, 0xf8, 0xf5, 0x2a, 0xcc, 0x15, 0xbb, 681 | 0x6e, 0xf8, 0xfb, 0x2a, 0xb8, 0x41, 0x05, 0x0e, 0xc8, 0x90, 0x88, 0x35, 682 | 0x89, 0x38, 0xbf, 0x33, 0x57, 0xe6, 0xe3, 0x6d, 0xf3, 0x81, 0x15, 0xb9, 683 | 0x8a, 0xaf, 0xfd, 0xd5, 0xa1, 0x9b, 0x29, 0xcd, 0xe5, 0x8d, 0x52, 0x82, 684 | 0x41, 0xb4, 0xd3, 0x7a, 0x4d, 0x47, 0x7e, 0xad, 0x11, 0x04, 0xb5, 0x70, 685 | 0x4c, 0xc3, 0x9b, 0x21, 0x9f, 0xd7, 0x1a, 0xbb, 0x29, 0xec, 0x7f, 0xee, 686 | 0xf6, 0x61, 0x9b, 0x3c, 0xd2, 0xe0, 0xc5, 0x66, 0xaf, 0x36, 0x76, 0x7d, 687 | 0x0d, 0xb6, 0xac, 0xa2, 0x5c, 0x53, 0x34, 0x5c, 0x68, 0x54, 0x3b, 0x5a, 688 | 0xbd, 0xed, 0xf7, 0xcf, 0xe1, 0x3c, 0x97, 0xa5, 0x10, 0x4d, 0x24, 0x7d, 689 | 0xd8, 0x25, 0x82, 0x44, 0x8c, 0xff, 0x8b, 0xfd, 0x71, 0x10, 0x5b, 0x70, 690 | 0xcb, 0xdf, 0x70, 0x89, 0x2d, 0x91, 0xdf, 0xe0, 0x13, 0xb0, 0xe3, 0xba, 691 | 0x11, 0x47, 0x29, 0x57, 0x63, 0x28, 0xed, 0x0f, 0xd3, 0x3a, 0xf0, 0x29, 692 | 0xb9, 0xdf, 0x59, 0xe2, 0xc6, 0xc9, 0x90, 0x7b, 0x68, 0xaf, 0x93, 0xfd, 693 | 0xa5, 0xad, 0x3c, 0x50, 0x24, 0x74, 0x5e, 0xe5, 0xd9, 0x9a, 0x70, 0xae, 694 | 0x2f, 0x89, 0xa5, 0x9d, 0x34, 0x23, 0x23, 0x91, 0x97, 0x17, 0x5d, 0xbe, 695 | 0x8b, 0xaa, 0x9d, 0x3f, 0xab, 0x2a, 0xbe, 0xaa, 0x46, 0xeb, 0x97, 0xd4, 696 | 0x1d, 0x90, 0x33, 0x85, 0x43, 0x5f, 0x39, 0x32, 0xd8, 0x5d, 0x0c, 0x06, 697 | 0x64, 0x64, 0xea, 0x01, 0xfe, 0x01, 0x37, 0x1c, 0xc7, 0x75, 0x73, 0xe9, 698 | 0xab, 0x5a, 0x7e, 0x31, 0xd6, 0xae, 0x5b, 0xf9, 0x75, 0xf4, 0x19, 0xee, 699 | 0x03, 0x22, 0xf4, 0xbd, 0xd8, 0x6a, 0xb5, 0xb0, 0x9f, 0x83, 0x47, 0xb0, 700 | 0x31, 0xd8, 0xed, 0x1d, 0x54, 0xd1, 0x32, 0xf9, 0xf3, 0x77, 0xe6, 0x97, 701 | 0xc5, 0x23, 0xaf, 0x5e, 0x16, 0x7d, 0xad, 0x6e, 0xad, 0x4e, 0xa2, 0xac, 702 | 0xf0, 0x16, 0x05, 0x60, 0x73, 0x32, 0xec, 0x7a, 0x57, 0xb8, 0x95, 0xe2, 703 | 0x65, 0xd8, 0x28, 0xbb, 0x1d, 0x7d, 0x6b, 0xd4, 0xce, 0x2f, 0x7a, 0xbf, 704 | 0x0d, 0x6a, 0xe8, 0xeb, 0x57, 0xb4, 0xbd, 0xd6, 0x3f, 0xfb, 0x78, 0xf6, 705 | 0xf3, 0xa0, 0xd6, 0x28, 0x31, 0x2a, 0xd6, 0x1f, 0x08, 0x43, 0xf4, 0x2c, 706 | 0x40, 0xd3, 0x34, 0xa2, 0x31, 0x4b, 0x69, 0xb4, 0x1d, 0x89, 0xf7, 0xf0, 707 | 0xdc, 0x61, 0xea, 0x30, 0x93, 0x8f, 0xab, 0x8f, 0x0f, 0xc6, 0x7a, 0x69, 708 | 0x3c, 0xcf, 0xef, 0xc6, 0x01, 0xb0, 0x2b, 0x78, 0x1d, 0x02, 0x57, 0x56, 709 | 0x5d, 0xf7, 0x54, 0xd7, 0xfa, 0xce, 0x2f, 0x53, 0xc1, 0x5f, 0x1e, 0x80, 710 | 0x71, 0x78, 0xe5, 0xdc, 0x78, 0x9e, 0xb6, 0x90, 0xfe, 0x37, 0xfc, 0xf6, 711 | 0x08, 0xc7, 0x7d, 0xbf, 0x72, 0x7b, 0xe8, 0xb3, 0x97, 0xeb, 0x01, 0xee, 712 | 0x72, 0x5d, 0x30, 0x87, 0x8a, 0x44, 0xb9, 0x07, 0x73, 0xe9, 0x6c, 0xa2, 713 | 0x3f, 0xe6, 0x34, 0x56, 0x60, 0x4b, 0x4b, 0xc0, 0xb6, 0xf8, 0x50, 0xf4, 714 | 0xf2, 0xef, 0xee, 0x92, 0xa3, 0xd2, 0x13, 0x50, 0x3b, 0x1f, 0x80, 0x29, 715 | 0xee, 0x05, 0x73, 0x05, 0x98, 0x06, 0xfd, 0xbe, 0xf6, 0xbc, 0x50, 0x9e, 716 | 0x57, 0x1a, 0xd8, 0xde, 0x65, 0x5f, 0x77, 0xb0, 0xb6, 0x5d, 0xd7, 0x75, 717 | 0xbc, 0xda, 0xae, 0x1f, 0xa1, 0x98, 0xc0, 0x8e, 0x75, 0x57, 0x9b, 0xf7, 718 | 0xb4, 0x2a, 0x47, 0x7b, 0x0f, 0xbd, 0x38, 0x15, 0xf5, 0xd5, 0x0f, 0xbf, 719 | 0x3a, 0x0a, 0xf0, 0x11, 0x26, 0x59, 0x06, 0x5f, 0x40, 0x88, 0xbe, 0x60, 720 | 0x0c, 0x20, 0x6e, 0xf8, 0xae, 0xbb, 0x36, 0x3b, 0x6f, 0xce, 0x66, 0xb3, 721 | 0xa6, 0xfe, 0x72, 0xd1, 0x84, 0xae, 0x99, 0xa6, 0x21, 0x8f, 0x68, 0x84, 722 | 0x35, 0x37, 0xd7, 0x85, 0x2b, 0x65, 0x5e, 0xf6, 0xce, 0x58, 0xf7, 0xeb, 723 | 0x01, 0x46, 0x2f, 0x6c, 0xe3, 0x2e, 0x21, 0xe2, 0xd2, 0x11, 0x8b, 0x17, 724 | 0x75, 0xed, 0xfd, 0x86, 0xd6, 0x70, 0x2a, 0xd2, 0x7b, 0x65, 0x48, 0x42, 725 | 0x85, 0x82, 0x7d, 0x26, 0x94, 0xc0, 0xd9, 0x09, 0x3a, 0xe4, 0xe0, 0x76, 726 | 0xfb, 0x2b, 0xf7, 0x33, 0xb0, 0xeb, 0x2c, 0x2b, 0x97, 0xe5, 0x5f, 0x43, 727 | 0x5e, 0x5c, 0xf6, 0x3e, 0x17, 0x00, 0x00 728 | }; 729 | 730 | /***************************************************************************************************************************************************************/ 731 | /***************************************************************************************************************************************************************/ 732 | 733 | const char PAGE_DASHBOARD[] PROGMEM = { 734 | 0x1f, 0x8b, 0x08, 0x08, 0x2c, 0x84, 0xb1, 0x58, 0x00, 0x03, 0x64, 0x61, 735 | 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 736 | 0x00, 0xd5, 0x56, 0xdf, 0x6f, 0xdb, 0x36, 0x10, 0x7e, 0xd7, 0x5f, 0x71, 737 | 0x20, 0xb0, 0x59, 0x46, 0x13, 0xcb, 0xf1, 0x56, 0x60, 0x88, 0x24, 0x03, 738 | 0xad, 0x9b, 0x6e, 0x59, 0x7f, 0xb8, 0x98, 0x5d, 0x60, 0x40, 0x90, 0x07, 739 | 0x5a, 0x3a, 0x59, 0x6c, 0x68, 0x51, 0x25, 0xa9, 0x24, 0x46, 0x90, 0xff, 740 | 0x7d, 0x47, 0x4a, 0xb6, 0xd3, 0xa4, 0x69, 0x9d, 0x3e, 0x6c, 0x18, 0x1f, 741 | 0x64, 0x1e, 0x79, 0xbc, 0xef, 0xbb, 0x3b, 0xea, 0x93, 0x13, 0x2b, 0xac, 742 | 0xc4, 0xf1, 0x3b, 0x7e, 0x81, 0x7a, 0x66, 0x95, 0xe6, 0x4b, 0x4c, 0xa2, 743 | 0x76, 0x2d, 0x48, 0x56, 0x68, 0x39, 0x94, 0xd6, 0xd6, 0x87, 0xf8, 0xb9, 744 | 0x11, 0x97, 0x29, 0x9b, 0xa8, 0xca, 0x62, 0x65, 0x0f, 0xe7, 0xeb, 0x1a, 745 | 0x19, 0x64, 0xad, 0x95, 0x32, 0x8b, 0xd7, 0x36, 0x2a, 0xed, 0x4a, 0xc6, 746 | 0x90, 0x95, 0x5c, 0x1b, 0xb4, 0xe9, 0xc7, 0xf9, 0xeb, 0xc3, 0xdf, 0x18, 747 | 0x44, 0xe3, 0x80, 0x06, 0xd0, 0x48, 0x8c, 0x5d, 0x4b, 0x04, 0x4b, 0x27, 748 | 0xbb, 0x03, 0x99, 0x31, 0x6c, 0x4c, 0x7b, 0x85, 0xd2, 0x2b, 0x80, 0x1b, 749 | 0xc8, 0x85, 0xa9, 0x25, 0x5f, 0x1f, 0x83, 0xe5, 0x0b, 0x89, 0x31, 0xf8, 750 | 0x71, 0x4b, 0x0e, 0xb5, 0x9f, 0xdd, 0x77, 0x38, 0xd4, 0xea, 0x2a, 0x6e, 751 | 0x1d, 0x24, 0x5f, 0xa0, 0x7c, 0xe8, 0x90, 0xa1, 0x24, 0x46, 0xce, 0x41, 752 | 0x54, 0x75, 0x63, 0xbf, 0xe5, 0x90, 0x44, 0x9e, 0xde, 0x18, 0x1c, 0xdd, 753 | 0xc4, 0x33, 0xe2, 0x99, 0x15, 0xaa, 0x4a, 0x19, 0x71, 0x4c, 0x0a, 0x81, 754 | 0x32, 0xa7, 0xb4, 0x68, 0x2a, 0x71, 0x89, 0x55, 0x3e, 0xfe, 0x70, 0xfa, 755 | 0x0a, 0x8e, 0x60, 0x66, 0xb9, 0x6d, 0x4c, 0x12, 0x75, 0x8b, 0x8e, 0x66, 756 | 0x90, 0xf8, 0xd8, 0xb0, 0x50, 0x3a, 0x47, 0x9d, 0xb2, 0x21, 0x03, 0x70, 757 | 0x38, 0xa6, 0xe6, 0x99, 0xa8, 0x96, 0x7e, 0xc1, 0xd9, 0x35, 0xcf, 0x73, 758 | 0x6f, 0xff, 0xc2, 0xc0, 0x63, 0xa7, 0xec, 0x4a, 0xe4, 0xb6, 0x3c, 0xfe, 759 | 0x75, 0x38, 0xac, 0xaf, 0x19, 0x10, 0x94, 0xd5, 0xae, 0x3c, 0x89, 0xcd, 760 | 0x81, 0x4b, 0xb1, 0x24, 0x2a, 0x5a, 0x2c, 0x4b, 0xcb, 0xc6, 0x33, 0xb4, 761 | 0x30, 0xc7, 0x55, 0x7d, 0x4c, 0x9d, 0xca, 0x3b, 0x97, 0x71, 0xd2, 0xe6, 762 | 0xb8, 0xab, 0x2f, 0x03, 0x91, 0xa7, 0x6c, 0x36, 0x3f, 0x62, 0x50, 0xf1, 763 | 0x15, 0x76, 0xd3, 0x4b, 0x2e, 0x1b, 0x74, 0x49, 0xc1, 0xcf, 0x39, 0x2e, 764 | 0xe3, 0x49, 0x1b, 0x82, 0x9e, 0xfa, 0x1b, 0x80, 0x93, 0x46, 0x6b, 0x6a, 765 | 0xb4, 0x07, 0x85, 0x7d, 0x50, 0x27, 0x3b, 0xd4, 0xc9, 0xd7, 0x50, 0x61, 766 | 0x2f, 0xd8, 0x69, 0x63, 0x5d, 0xf0, 0x7d, 0x00, 0xa7, 0x5b, 0xbc, 0xe9, 767 | 0x17, 0x70, 0x3f, 0xdd, 0x01, 0xa2, 0x87, 0xeb, 0x8c, 0xb3, 0xb6, 0xfd, 768 | 0xa4, 0x7e, 0x05, 0xc9, 0x82, 0xf6, 0x16, 0xfa, 0xd1, 0x36, 0x8f, 0xfe, 769 | 0xe3, 0x36, 0xef, 0x55, 0x80, 0xd9, 0x7c, 0xb4, 0xeb, 0xf3, 0xe8, 0xdf, 770 | 0xeb, 0xf3, 0x68, 0xd7, 0xe7, 0x1f, 0x45, 0x7d, 0x4a, 0x9b, 0xb7, 0x70, 771 | 0xd3, 0xd1, 0x93, 0xda, 0xec, 0x24, 0xc8, 0xf7, 0x98, 0x7e, 0x32, 0x4a, 772 | 0x11, 0xf5, 0x06, 0x62, 0xf3, 0x9a, 0xb7, 0xbf, 0xac, 0x83, 0x5c, 0x34, 773 | 0xd6, 0x3a, 0xab, 0x83, 0x78, 0xc9, 0xb3, 0x0b, 0x06, 0xaa, 0xca, 0xa4, 774 | 0xc8, 0x2e, 0x52, 0x56, 0x0a, 0x43, 0x52, 0xb9, 0x1e, 0x2c, 0x55, 0x78, 775 | 0x78, 0xd4, 0x8f, 0xef, 0x75, 0x16, 0x8e, 0x5c, 0x6b, 0x63, 0x28, 0xd1, 776 | 0xe5, 0x77, 0x0c, 0xcf, 0x9d, 0xe5, 0xa4, 0xd0, 0xc9, 0x4c, 0x07, 0xee, 777 | 0xc8, 0x91, 0xc8, 0x38, 0x75, 0x4c, 0x4c, 0xa6, 0x45, 0x4d, 0x77, 0x2e, 778 | 0x28, 0x9a, 0xca, 0x93, 0x80, 0x5c, 0x9d, 0xda, 0x69, 0x75, 0xea, 0x3c, 779 | 0x89, 0x40, 0xd8, 0xbf, 0x09, 0x82, 0x4b, 0xae, 0xe1, 0x7a, 0x25, 0x9d, 780 | 0x18, 0x43, 0x0a, 0x15, 0x5e, 0xc1, 0xdf, 0xef, 0xde, 0xfe, 0x41, 0xd6, 781 | 0x5f, 0x24, 0xcd, 0x68, 0x6c, 0xd8, 0x8f, 0xbd, 0x4f, 0xa3, 0x25, 0xed, 782 | 0xb3, 0xe8, 0x93, 0x51, 0xd5, 0xc7, 0x3a, 0xe7, 0x16, 0x59, 0x1c, 0x04, 783 | 0xdd, 0xc9, 0x81, 0xaa, 0xb1, 0x0a, 0xd9, 0xef, 0x27, 0x73, 0x76, 0xe0, 784 | 0x3c, 0x0f, 0xa0, 0xe0, 0xd2, 0x60, 0x3f, 0x86, 0x28, 0x3a, 0x2d, 0xc0, 785 | 0x52, 0x5e, 0x6d, 0xc6, 0x40, 0x13, 0xbf, 0x75, 0x40, 0x8b, 0x08, 0x86, 786 | 0x6e, 0x7d, 0xd8, 0xa7, 0xaf, 0x41, 0xa9, 0x72, 0x22, 0x87, 0x06, 0x2a, 787 | 0x65, 0x41, 0xa3, 0x6d, 0x74, 0x05, 0x4d, 0x65, 0x85, 0xf4, 0x6e, 0x1a, 788 | 0x4d, 0xad, 0x2a, 0xe3, 0x4f, 0x6b, 0xcc, 0x50, 0x5c, 0x62, 0x3e, 0xd8, 789 | 0x62, 0xb7, 0x41, 0x88, 0x8c, 0xe7, 0xb9, 0x5a, 0xbf, 0xd0, 0x9a, 0x98, 790 | 0xfe, 0x39, 0x9b, 0xbe, 0x1f, 0xd4, 0xee, 0x9b, 0x11, 0x6e, 0x1c, 0x37, 791 | 0x61, 0xe6, 0xd4, 0x76, 0xf2, 0x5f, 0xad, 0x5f, 0x77, 0x75, 0x09, 0xfd, 792 | 0x21, 0x5a, 0xa2, 0xd7, 0xef, 0xd6, 0x05, 0xda, 0x16, 0xec, 0x8e, 0x8f, 793 | 0x4b, 0xfc, 0x15, 0xb7, 0xbc, 0x4f, 0x72, 0x4f, 0x69, 0xd5, 0x5a, 0x65, 794 | 0x68, 0x8c, 0xe7, 0xe7, 0xb6, 0xa0, 0xd0, 0x6a, 0xe5, 0xad, 0x93, 0xd9, 795 | 0x87, 0x96, 0xca, 0xe6, 0xc4, 0x1b, 0x5c, 0x1b, 0x62, 0x34, 0x5d, 0x7c, 796 | 0xc2, 0xcc, 0x0e, 0x2e, 0xc8, 0xda, 0x05, 0x8b, 0x03, 0x6a, 0x57, 0xe8, 797 | 0xbc, 0x45, 0x3a, 0x8c, 0x41, 0x24, 0x77, 0x0f, 0x0d, 0x24, 0x56, 0x4b, 798 | 0x5b, 0xd2, 0xf2, 0xb3, 0x67, 0xd4, 0x2b, 0x27, 0x0f, 0xce, 0xb3, 0xbd, 799 | 0x7d, 0x14, 0x31, 0x57, 0x59, 0xb3, 0xa2, 0xbe, 0x0f, 0x96, 0x68, 0x4f, 800 | 0x24, 0xba, 0xa9, 0x79, 0xb9, 0x7e, 0x4f, 0xf7, 0x38, 0xbc, 0x1b, 0xe6, 801 | 0x4c, 0x9c, 0xf7, 0xbb, 0xaf, 0xde, 0xc3, 0xe1, 0xa3, 0x12, 0x07, 0xf0, 802 | 0x24, 0x0a, 0x47, 0xa2, 0xe8, 0xf4, 0x6a, 0x0b, 0x5f, 0x3c, 0x84, 0x4f, 803 | 0x5b, 0x97, 0xb3, 0xe2, 0x3c, 0xf6, 0x1b, 0xa2, 0x80, 0xd0, 0x2f, 0x39, 804 | 0x2e, 0x2f, 0xac, 0xd5, 0x82, 0x6e, 0x3a, 0x86, 0x3d, 0x77, 0xeb, 0x7b, 805 | 0xfd, 0x34, 0xed, 0x65, 0x25, 0x66, 0x17, 0x0b, 0x75, 0xdd, 0xeb, 0x7f, 806 | 0x9d, 0xc2, 0xe3, 0xe3, 0xe6, 0xb1, 0xd8, 0xfe, 0x46, 0xb9, 0xe0, 0x9b, 807 | 0x64, 0xcf, 0xee, 0x65, 0x7d, 0x4e, 0x58, 0xed, 0x41, 0xf3, 0xc5, 0x41, 808 | 0xcf, 0x05, 0xf3, 0xde, 0xc1, 0x76, 0xf6, 0x78, 0x7d, 0xf6, 0xe7, 0x79, 809 | 0xbb, 0x73, 0x42, 0xe9, 0x2e, 0xeb, 0xf7, 0x4a, 0xa2, 0x79, 0x2e, 0xd4, 810 | 0xff, 0xb8, 0x1e, 0x7b, 0xb1, 0xa5, 0xb2, 0x3c, 0xa1, 0x24, 0xad, 0x3c, 811 | 0xfe, 0x40, 0x4d, 0x08, 0x27, 0x8a, 0x72, 0xe5, 0xf4, 0xa3, 0xa4, 0xcf, 812 | 0xe2, 0xf7, 0x69, 0xed, 0x39, 0x76, 0xdc, 0x6f, 0x5a, 0xe2, 0xad, 0x8c, 813 | 0xa5, 0x00, 0x8f, 0x16, 0x39, 0xbe, 0x0d, 0xda, 0xbc, 0x23, 0x27, 0xc5, 814 | 0x9b, 0xb7, 0x55, 0x2a, 0x55, 0x07, 0x9e, 0xa5, 0x5b, 0xf4, 0x96, 0xf7, 815 | 0xe8, 0xe4, 0x85, 0x44, 0xe7, 0xbe, 0x38, 0xc7, 0x41, 0x14, 0x51, 0x9f, 816 | 0xb6, 0x0b, 0xec, 0xbe, 0x03, 0x69, 0xed, 0xf3, 0xe1, 0x70, 0xe8, 0xa4, 817 | 0x8f, 0xfe, 0x66, 0x76, 0x62, 0xff, 0x0f, 0x62, 0x6e, 0xc1, 0x2c, 0x78, 818 | 0x0b, 0x00, 0x00 819 | }; 820 | 821 | /***************************************************************************************************************************************************************/ 822 | /***************************************************************************************************************************************************************/ 823 | 824 | const char PAGE_ABOUT[] PROGMEM = { 825 | 0x1f, 0x8b, 0x08, 0x08, 0x64, 0xff, 0xb2, 0x58, 0x00, 0x03, 0x61, 0x62, 826 | 0x6f, 0x75, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x00, 0xa5, 0xbb, 0x57, 827 | 0xb3, 0xec, 0x38, 0xb6, 0x26, 0xf6, 0xde, 0xbf, 0x62, 0xc7, 0x99, 0x50, 828 | 0x84, 0x14, 0x39, 0xdd, 0x49, 0xcf, 0x64, 0x77, 0x55, 0x29, 0xe8, 0x3d, 829 | 0x99, 0xf4, 0xe6, 0x8d, 0xde, 0x24, 0xbd, 0x27, 0x15, 0xfa, 0xef, 0xe2, 830 | 0x3e, 0xa7, 0xea, 0xde, 0xbe, 0x33, 0x0a, 0xe9, 0x61, 0xb0, 0x33, 0x37, 831 | 0x09, 0xc2, 0x2d, 0x2c, 0x2c, 0x60, 0x7d, 0x1f, 0x13, 0xf8, 0x6d, 0xa9, 832 | 0x96, 0x26, 0xfb, 0x43, 0x8d, 0x3e, 0xd9, 0x64, 0x2d, 0xfd, 0x14, 0x15, 833 | 0xd9, 0x6f, 0xcf, 0x5f, 0xcf, 0xfe, 0xf6, 0x5b, 0x9b, 0x2d, 0xd1, 0x57, 834 | 0xb9, 0x2c, 0xc3, 0xdf, 0xb3, 0x71, 0xad, 0xb6, 0xdf, 0x7f, 0xd0, 0x7d, 835 | 0xb7, 0x64, 0xdd, 0xf2, 0x77, 0xfb, 0x1c, 0xb2, 0x1f, 0x5f, 0xc9, 0xaf, 836 | 0xd8, 0xef, 0x3f, 0x96, 0xec, 0x58, 0x9e, 0xe5, 0xd2, 0x36, 0xff, 0xfa, 837 | 0x4a, 0xca, 0x68, 0x9a, 0xb3, 0xe5, 0x77, 0xc7, 0xe6, 0xfe, 0xfe, 0xfa, 838 | 0xf1, 0xf5, 0xfc, 0xe3, 0x6f, 0x77, 0xf8, 0xba, 0xc3, 0x6f, 0xf3, 0x72, 839 | 0x36, 0xd9, 0xd7, 0x72, 0x97, 0xfc, 0xb3, 0x40, 0x32, 0xcf, 0x3f, 0xfe, 840 | 0xb8, 0xd3, 0xf2, 0x7e, 0x6a, 0xbf, 0xbe, 0xfe, 0xaf, 0xaf, 0xb4, 0x9a, 841 | 0x87, 0x26, 0x3a, 0xff, 0xf9, 0xb5, 0x44, 0x71, 0x93, 0xfd, 0xeb, 0xeb, 842 | 0x67, 0xf8, 0xbf, 0xef, 0x0c, 0xc3, 0xcf, 0xbb, 0xff, 0x31, 0xc3, 0xdf, 843 | 0xa7, 0x7e, 0xff, 0xd7, 0xaf, 0x0c, 0x4d, 0x14, 0x67, 0xcd, 0xff, 0x9c, 844 | 0x21, 0xc9, 0x9a, 0x5b, 0xa2, 0xef, 0x0c, 0x55, 0x37, 0xac, 0xcb, 0xff, 845 | 0x57, 0x86, 0xdf, 0x9e, 0x3f, 0xc5, 0xfb, 0xe3, 0xeb, 0x6f, 0x7f, 0xfb, 846 | 0xed, 0xa7, 0x3c, 0x51, 0xb2, 0x54, 0x7d, 0xf7, 0xfb, 0x8f, 0x5b, 0xc2, 847 | 0xdf, 0xf2, 0x2a, 0x6b, 0xd2, 0xbb, 0x53, 0xf7, 0x6d, 0x93, 0x15, 0x59, 848 | 0x97, 0xfe, 0x41, 0xc6, 0xfd, 0x5d, 0xdf, 0x7f, 0x55, 0xda, 0x9f, 0x49, 849 | 0xdf, 0xa2, 0xfe, 0xed, 0xb7, 0x9f, 0xf5, 0x7f, 0xc5, 0xfd, 0x94, 0x66, 850 | 0xd3, 0xef, 0x3f, 0x80, 0x1f, 0x5f, 0x5f, 0xdf, 0x6d, 0xcd, 0x43, 0x94, 851 | 0x54, 0x5d, 0xf1, 0xf3, 0xc1, 0x77, 0x7c, 0x88, 0xd2, 0xf4, 0x67, 0x1c, 852 | 0xfe, 0xf1, 0xf5, 0xb3, 0xfd, 0xdf, 0x7f, 0xec, 0x55, 0xba, 0x94, 0xff, 853 | 0x44, 0x00, 0x60, 0x38, 0x7e, 0x7c, 0xdd, 0x0d, 0x2e, 0xd3, 0xb7, 0x8a, 854 | 0x7e, 0x5b, 0xd2, 0xaf, 0xa8, 0xa9, 0x8a, 0x5b, 0xa0, 0xe4, 0xd6, 0x78, 855 | 0x36, 0xfd, 0xf8, 0xe3, 0xb7, 0x7b, 0x64, 0xa6, 0x2c, 0xff, 0xfd, 0xc7, 856 | 0xf7, 0xf8, 0xfc, 0xf3, 0xf9, 0x6c, 0xbf, 0x85, 0x99, 0x7f, 0x09, 0xf3, 857 | 0x8f, 0xa4, 0x6f, 0x9f, 0x77, 0x96, 0xaa, 0x2d, 0xee, 0x62, 0xf7, 0x00, 858 | 0xb1, 0x6d, 0x9c, 0xa5, 0x69, 0x96, 0x7e, 0x89, 0xed, 0x9d, 0xfc, 0xe3, 859 | 0xeb, 0x67, 0x2b, 0xbf, 0xff, 0x80, 0xd0, 0x5b, 0x90, 0x32, 0xab, 0x8a, 860 | 0xf2, 0xce, 0x03, 0xe2, 0xf8, 0x8f, 0xaf, 0xbb, 0xad, 0x79, 0x4a, 0x7e, 861 | 0xff, 0x91, 0x46, 0x4b, 0xf4, 0xcf, 0xea, 0x3b, 0xf3, 0xb3, 0x1e, 0xb2, 862 | 0xe2, 0x5f, 0x71, 0x34, 0x67, 0x18, 0xf2, 0xdf, 0x9f, 0x44, 0xfd, 0x44, 863 | 0x48, 0xd2, 0xb0, 0x3e, 0xa1, 0x64, 0x16, 0x24, 0x45, 0x1a, 0x2c, 0x19, 864 | 0x90, 0x54, 0x41, 0x92, 0xcc, 0xf3, 0x59, 0x90, 0xb8, 0x01, 0x4a, 0x9c, 865 | 0xe1, 0x9a, 0x6f, 0xa7, 0xee, 0x8b, 0x10, 0x32, 0x96, 0xa8, 0xa3, 0x9a, 866 | 0xf0, 0xa4, 0x20, 0xd5, 0x42, 0x76, 0x91, 0x2e, 0xc1, 0x04, 0x6a, 0xd6, 867 | 0x3b, 0x2e, 0x59, 0x9f, 0xa4, 0xb0, 0x1a, 0x8a, 0x33, 0xef, 0x34, 0x9d, 868 | 0x21, 0x07, 0x85, 0xa6, 0x8e, 0xd4, 0xe3, 0xe6, 0xc8, 0x37, 0x51, 0x91, 869 | 0x01, 0x0a, 0xdd, 0x26, 0xe5, 0x27, 0x31, 0x93, 0xc6, 0x4e, 0x32, 0x64, 870 | 0x21, 0xfe, 0xfa, 0xee, 0x2a, 0x43, 0x91, 0xdf, 0x5f, 0x47, 0xa4, 0x0c, 871 | 0x87, 0xbd, 0xaf, 0x32, 0xb5, 0x27, 0x3c, 0x4d, 0xee, 0xf2, 0x9d, 0xa8, 872 | 0xd0, 0xc5, 0xac, 0x30, 0x06, 0x62, 0xb1, 0x24, 0xa0, 0xb3, 0x06, 0xa2, 873 | 0xd0, 0x07, 0xe9, 0xb1, 0x14, 0x6b, 0x73, 0x94, 0xe3, 0x72, 0xc6, 0xfe, 874 | 0xe6, 0x8e, 0xc2, 0xe3, 0xa8, 0xc2, 0xba, 0xe3, 0xce, 0xaf, 0xba, 0xd9, 875 | 0xbb, 0x2e, 0x83, 0xbb, 0xeb, 0x91, 0xee, 0xfa, 0x24, 0x8e, 0x04, 0x14, 876 | 0xc6, 0x34, 0x1c, 0x8e, 0xfa, 0x5f, 0xfb, 0x3e, 0x5f, 0x22, 0xc9, 0x1a, 877 | 0x05, 0x39, 0x1b, 0x0c, 0x46, 0xee, 0x6c, 0x45, 0x92, 0xa2, 0x49, 0x1a, 878 | 0xaa, 0x49, 0xe6, 0x4f, 0x96, 0xa4, 0x80, 0x5b, 0x7b, 0x24, 0x45, 0x19, 879 | 0xb7, 0xf8, 0x06, 0xf9, 0xef, 0x41, 0x24, 0xf7, 0x5b, 0x96, 0x22, 0xa1, 880 | 0x49, 0xa3, 0x7b, 0x1e, 0x24, 0x19, 0x7f, 0xeb, 0xf6, 0x2e, 0xff, 0x53, 881 | 0xc7, 0xff, 0x25, 0x18, 0xe2, 0xb7, 0x0e, 0x78, 0xea, 0xf9, 0x8c, 0xee, 882 | 0x0c, 0xcc, 0x5d, 0x0f, 0xcd, 0x92, 0xea, 0x77, 0x6d, 0x54, 0x63, 0xfd, 883 | 0xcc, 0x41, 0xbd, 0x1e, 0x00, 0x83, 0x46, 0xd9, 0x14, 0x10, 0x6e, 0x6c, 884 | 0x1d, 0x5a, 0x3b, 0x45, 0x9a, 0xa3, 0x81, 0x11, 0xd1, 0x54, 0xf8, 0x5f, 885 | 0xb5, 0xbc, 0x1e, 0x9b, 0x74, 0xc5, 0x59, 0x6f, 0xc4, 0xdb, 0xf9, 0xb4, 886 | 0x4e, 0x34, 0xa1, 0x61, 0x38, 0x3f, 0x34, 0x62, 0x99, 0xf4, 0x2d, 0x6f, 887 | 0x07, 0x8f, 0xf0, 0x60, 0x33, 0x41, 0x3a, 0x30, 0x6c, 0xf8, 0xda, 0x3c, 888 | 0xe6, 0xa3, 0x8d, 0x7d, 0x6b, 0xd1, 0xdb, 0xcd, 0xcb, 0x3e, 0x46, 0xdc, 889 | 0x4e, 0x4c, 0x60, 0x72, 0xfb, 0xcf, 0x8a, 0x84, 0x0b, 0x7b, 0x5f, 0xcb, 890 | 0xe5, 0xb1, 0xe3, 0x23, 0x7c, 0xb4, 0x71, 0xd8, 0x11, 0xcc, 0xf6, 0xa8, 891 | 0x8f, 0x6c, 0xc0, 0x87, 0x7d, 0x0a, 0xb4, 0x4d, 0xf8, 0xe4, 0x8d, 0x2e, 892 | 0xa3, 0x79, 0x7e, 0xa6, 0x23, 0x68, 0x5b, 0x84, 0x8b, 0xad, 0x7e, 0x42, 893 | 0xe8, 0x2b, 0x01, 0x4d, 0x02, 0xe7, 0xac, 0x1a, 0x7e, 0x2e, 0xec, 0xea, 894 | 0x10, 0xaf, 0x73, 0xa5, 0x7f, 0x55, 0x48, 0x0a, 0x28, 0x4c, 0x80, 0x48, 895 | 0x0a, 0xfb, 0xc5, 0x03, 0xc5, 0x24, 0xee, 0x11, 0xb3, 0xdc, 0xa3, 0xde, 896 | 0x5f, 0x9b, 0xff, 0x31, 0x9b, 0x18, 0x39, 0x30, 0x68, 0x6a, 0x57, 0x8c, 897 | 0x78, 0x0b, 0x65, 0x3a, 0xa1, 0xf8, 0xda, 0xc5, 0xe8, 0xbd, 0xe8, 0x10, 898 | 0xd3, 0xf8, 0x6c, 0x09, 0x9e, 0x80, 0xe7, 0x68, 0x75, 0xe1, 0x49, 0x9b, 899 | 0x24, 0x83, 0xee, 0x28, 0x77, 0xe9, 0x2b, 0xe4, 0xaf, 0x4a, 0x5f, 0xe9, 900 | 0x81, 0x34, 0x10, 0x5c, 0x3c, 0x10, 0x1c, 0xa6, 0xbc, 0xd4, 0x11, 0x1e, 901 | 0xdd, 0x2e, 0xa9, 0x04, 0x8d, 0x82, 0x40, 0x6e, 0x5f, 0xa2, 0x1a, 0x3f, 902 | 0xcf, 0xad, 0x87, 0x4d, 0x20, 0x9a, 0xdc, 0x7d, 0xe9, 0x30, 0xbf, 0x42, 903 | 0xdf, 0xde, 0x3a, 0x11, 0x2a, 0x1a, 0x1f, 0xb1, 0x2d, 0x96, 0x53, 0x71, 904 | 0x01, 0x98, 0x28, 0xd8, 0xeb, 0x09, 0xc0, 0xac, 0x0b, 0xfe, 0xa9, 0xc6, 905 | 0x82, 0x83, 0xf2, 0x1a, 0x0e, 0x74, 0x01, 0x8f, 0xb7, 0x8f, 0x84, 0x4e, 906 | 0xfb, 0x8e, 0xbd, 0xc9, 0x8f, 0x04, 0x5c, 0xed, 0xdb, 0x59, 0xde, 0xfa, 907 | 0x53, 0xaf, 0x4c, 0x27, 0x96, 0xda, 0x0b, 0x82, 0x7c, 0x47, 0xb1, 0xf0, 908 | 0x0d, 0xcd, 0xcc, 0x59, 0x7e, 0xbe, 0x11, 0xb7, 0x37, 0xd3, 0x0d, 0x69, 909 | 0xa6, 0x3a, 0xb3, 0xaf, 0xe2, 0xfd, 0xf6, 0xf5, 0x14, 0xe6, 0xd2, 0xe2, 910 | 0x4f, 0x53, 0x68, 0x62, 0x46, 0xb2, 0x8f, 0x1a, 0x5b, 0xa5, 0xf2, 0xd2, 911 | 0x1e, 0x6a, 0x3a, 0xc6, 0x35, 0x58, 0x37, 0x9b, 0xa7, 0x24, 0x39, 0x3a, 912 | 0xdb, 0x54, 0xc5, 0x6d, 0x6b, 0xe7, 0xc3, 0x76, 0x9b, 0x0b, 0x79, 0x37, 913 | 0x64, 0xd2, 0x47, 0x8d, 0x33, 0xc2, 0xba, 0x92, 0xfc, 0x61, 0xbd, 0x30, 914 | 0xf8, 0xc4, 0x8c, 0xa1, 0x4d, 0xe7, 0x58, 0x30, 0xb8, 0xe2, 0x3f, 0xad, 915 | 0x2b, 0xcb, 0x42, 0x2f, 0x8b, 0x31, 0x73, 0xc2, 0x40, 0x80, 0x7e, 0x6c, 916 | 0xc5, 0xd4, 0x6a, 0xbf, 0xb4, 0x4d, 0xd7, 0xde, 0xf7, 0xa7, 0xf4, 0x99, 917 | 0x83, 0x78, 0x5b, 0x97, 0xa9, 0xa1, 0x01, 0x9c, 0xbd, 0x95, 0x16, 0x5d, 918 | 0xa6, 0x2a, 0x00, 0xa1, 0xcd, 0x5b, 0x3f, 0x48, 0xd9, 0x44, 0xee, 0x08, 919 | 0x2d, 0x68, 0x0c, 0x8a, 0x3e, 0x78, 0x94, 0x5b, 0xa2, 0xce, 0x07, 0xf8, 920 | 0xea, 0x20, 0x0f, 0x4d, 0x84, 0x0f, 0x21, 0xfb, 0x3d, 0x31, 0xbe, 0x81, 921 | 0x62, 0x91, 0xf1, 0xc6, 0xd7, 0x75, 0x05, 0x7f, 0x73, 0x36, 0x87, 0xc0, 922 | 0xa1, 0x87, 0x2e, 0xf4, 0x07, 0x3d, 0x71, 0xd6, 0xe6, 0x79, 0x68, 0x63, 923 | 0x7c, 0xc7, 0xdf, 0x52, 0x1a, 0xce, 0x3d, 0x20, 0x66, 0xae, 0x7c, 0xbc, 924 | 0xed, 0x2c, 0x7f, 0x4b, 0xab, 0xe9, 0x36, 0xda, 0x80, 0xce, 0xb1, 0x46, 925 | 0xe2, 0xd3, 0x31, 0x01, 0x6f, 0x0e, 0x86, 0x8d, 0x74, 0x87, 0xad, 0xa9, 926 | 0x7d, 0x56, 0x86, 0x4f, 0x63, 0x17, 0x3a, 0xc0, 0x56, 0x80, 0xfa, 0xf8, 927 | 0x3d, 0x1e, 0x4d, 0xc8, 0x1d, 0x0c, 0x46, 0x7d, 0x22, 0x7b, 0x7b, 0xf2, 928 | 0x11, 0x07, 0x85, 0x57, 0x47, 0xc0, 0x84, 0x19, 0xb9, 0x78, 0xbb, 0xd0, 929 | 0xa1, 0x7f, 0x61, 0xc3, 0x7a, 0xdb, 0xfe, 0x6d, 0x69, 0xc3, 0xeb, 0xf5, 930 | 0x78, 0x96, 0xf7, 0xd7, 0x44, 0x1e, 0xcf, 0x7c, 0x40, 0xb2, 0xf2, 0x95, 931 | 0x1b, 0xaf, 0x47, 0x89, 0x12, 0xef, 0x9e, 0xfc, 0x9f, 0xc3, 0x3d, 0x93, 932 | 0x5e, 0x06, 0xa9, 0x94, 0xdf, 0xf7, 0x01, 0x45, 0x16, 0xf7, 0xe4, 0x2c, 933 | 0x54, 0xea, 0x3f, 0xd3, 0x59, 0xfa, 0xcf, 0xb9, 0x69, 0xb2, 0xa5, 0x5a, 934 | 0x1a, 0x14, 0x79, 0x68, 0x76, 0xe0, 0x72, 0x95, 0x58, 0xab, 0x8c, 0xe8, 935 | 0x48, 0x56, 0x58, 0x3c, 0x89, 0x9e, 0xa4, 0xc9, 0x7b, 0xae, 0x92, 0x2c, 936 | 0x47, 0x6e, 0x27, 0x8e, 0x53, 0x76, 0xe1, 0xcc, 0x97, 0xf0, 0xf6, 0x3e, 937 | 0x52, 0xc7, 0xb2, 0x6f, 0x31, 0xc1, 0x17, 0xb3, 0x34, 0x8b, 0x3d, 0x32, 938 | 0x66, 0x59, 0x15, 0xdb, 0x4d, 0xa3, 0x56, 0x88, 0x71, 0x96, 0x01, 0x9f, 939 | 0x1b, 0x61, 0x6e, 0x97, 0xab, 0xd2, 0x94, 0xa8, 0xf6, 0xd8, 0x28, 0xf0, 940 | 0x8b, 0xc0, 0xb9, 0xff, 0x60, 0x41, 0x13, 0x3f, 0x7a, 0xcb, 0x09, 0x48, 941 | 0x16, 0x24, 0x9f, 0x45, 0x2b, 0x3d, 0x53, 0xa9, 0xaa, 0xf9, 0x33, 0xb6, 942 | 0x2e, 0x8c, 0x82, 0xf9, 0xe4, 0x42, 0xd4, 0x2c, 0xd5, 0x50, 0x50, 0xa0, 943 | 0x9a, 0x14, 0xb0, 0xb6, 0xc2, 0x2a, 0x8c, 0x56, 0x0b, 0x0d, 0x65, 0xa8, 944 | 0x32, 0xdd, 0x50, 0x66, 0xe9, 0x94, 0x64, 0x3a, 0xeb, 0xa4, 0x35, 0xa5, 945 | 0x3a, 0xb0, 0x3e, 0x25, 0xc9, 0x6b, 0x1e, 0x33, 0x34, 0xa7, 0x04, 0xf9, 946 | 0xd4, 0x03, 0x64, 0xf5, 0x1e, 0xe5, 0xae, 0x9e, 0xa0, 0xc4, 0x70, 0xcd, 947 | 0xcc, 0x2b, 0x42, 0x62, 0x4c, 0x25, 0x48, 0x56, 0xf6, 0x23, 0x13, 0x2e, 948 | 0xab, 0xb0, 0xa4, 0x8e, 0x96, 0xb4, 0x4f, 0x51, 0x2a, 0x1b, 0x25, 0xad, 949 | 0x9c, 0xcc, 0x56, 0xc9, 0x62, 0x94, 0x00, 0x51, 0x27, 0x02, 0x05, 0x54, 950 | 0x73, 0x38, 0xf6, 0xaa, 0xd3, 0xab, 0xca, 0x2c, 0x09, 0x26, 0x31, 0x84, 951 | 0x9f, 0x92, 0xe9, 0x0d, 0x84, 0x87, 0xd3, 0x92, 0xef, 0x64, 0x4b, 0x4c, 952 | 0x8f, 0x13, 0xb8, 0x70, 0xf6, 0xe1, 0x4a, 0x8b, 0xc0, 0x30, 0xaf, 0x21, 953 | 0x2e, 0x8f, 0x39, 0x99, 0x71, 0xd2, 0x48, 0xf5, 0x4f, 0x9b, 0xfa, 0x55, 954 | 0x2a, 0xf9, 0xe4, 0x5a, 0xa6, 0x8d, 0x82, 0x59, 0x8b, 0xc6, 0x7e, 0xc6, 955 | 0x25, 0xdb, 0xdb, 0x76, 0x76, 0xaf, 0xd5, 0xbb, 0xde, 0xa8, 0x82, 0xc7, 956 | 0x8a, 0xbd, 0x47, 0x9f, 0x98, 0x3e, 0x32, 0xa8, 0x5a, 0x37, 0x86, 0x6e, 957 | 0x70, 0xb8, 0x7d, 0x20, 0xa2, 0xc4, 0x64, 0x48, 0x0b, 0xbf, 0xe8, 0x85, 958 | 0xa5, 0x13, 0x38, 0x34, 0xf5, 0xbd, 0x23, 0x24, 0xa8, 0xcd, 0x87, 0xc4, 959 | 0xbf, 0x16, 0x2e, 0xe1, 0x8e, 0xb2, 0xc4, 0x91, 0x2d, 0x0e, 0x2e, 0xcf, 960 | 0x16, 0x63, 0x65, 0xc5, 0x62, 0x37, 0x03, 0xa8, 0x63, 0x0f, 0xc4, 0x2d, 961 | 0x23, 0x94, 0x73, 0x4e, 0xb6, 0x01, 0xfb, 0x78, 0xfc, 0xe4, 0xed, 0xf3, 962 | 0x0b, 0x58, 0xf1, 0xc0, 0x39, 0x9e, 0xc9, 0x61, 0x43, 0x04, 0xc4, 0xf5, 963 | 0x1e, 0xd8, 0x0d, 0x1d, 0xe6, 0x72, 0xaf, 0x57, 0xad, 0x34, 0x28, 0x57, 964 | 0x9a, 0xcf, 0x7b, 0x7e, 0x82, 0x13, 0x24, 0xbc, 0x17, 0x98, 0x7e, 0x62, 965 | 0xcb, 0xb1, 0xbb, 0x20, 0x2c, 0x0e, 0xa1, 0xd6, 0xe4, 0x1e, 0xd7, 0x6b, 966 | 0x4b, 0xb9, 0x81, 0x9c, 0x33, 0x85, 0x30, 0xbb, 0xc5, 0x5d, 0xe0, 0x4b, 967 | 0xb1, 0xcf, 0xdf, 0x52, 0x38, 0xfe, 0x75, 0xbe, 0x56, 0x41, 0x56, 0x25, 968 | 0x62, 0x5c, 0xd3, 0xc0, 0x56, 0x3a, 0xc0, 0xb7, 0x36, 0xcc, 0x3d, 0x76, 969 | 0x4d, 0x5b, 0x2f, 0x3f, 0x82, 0x6d, 0xeb, 0xd5, 0x55, 0xd4, 0xe0, 0xfb, 970 | 0xa6, 0x19, 0x82, 0x0e, 0x3f, 0xdd, 0x13, 0x0d, 0x03, 0x51, 0xfc, 0x8d, 971 | 0xe4, 0x78, 0x84, 0xd3, 0x0f, 0x25, 0x7a, 0x01, 0x17, 0x21, 0xd7, 0x59, 972 | 0x16, 0x73, 0x3b, 0x1a, 0x96, 0xc2, 0xe2, 0xc7, 0x99, 0x0e, 0x6c, 0x41, 973 | 0x0f, 0x29, 0xca, 0x69, 0x0b, 0xd1, 0xd3, 0xc6, 0xda, 0x8a, 0xe6, 0x21, 974 | 0x98, 0x8a, 0x35, 0x9f, 0x17, 0x1c, 0x59, 0xf4, 0x0f, 0x1c, 0x18, 0x73, 975 | 0xb0, 0x12, 0xe6, 0x67, 0xb9, 0x2d, 0xf9, 0xac, 0x7e, 0x94, 0x58, 0x4c, 976 | 0xd5, 0xa7, 0x85, 0x20, 0x17, 0xf8, 0x66, 0x9a, 0x07, 0x93, 0x81, 0xde, 977 | 0x63, 0x0a, 0x09, 0x66, 0x07, 0x9e, 0x3b, 0x23, 0x0e, 0xb4, 0x11, 0x01, 978 | 0x8b, 0x06, 0x79, 0x03, 0x27, 0xb8, 0xd5, 0x13, 0x34, 0x3e, 0xd0, 0x25, 979 | 0x7c, 0x6c, 0x09, 0xd7, 0x11, 0x1b, 0x3c, 0xec, 0x59, 0x9d, 0xf6, 0x0c, 980 | 0x7e, 0xc8, 0x58, 0xa2, 0x4d, 0x41, 0x69, 0x7e, 0x5a, 0xcd, 0x04, 0x12, 981 | 0x3e, 0x40, 0x14, 0xdc, 0xad, 0x09, 0x2b, 0xc5, 0xf4, 0xe0, 0xf3, 0x2a, 982 | 0x6b, 0x66, 0x78, 0xf4, 0xe9, 0x9b, 0xe4, 0xea, 0xb1, 0xbc, 0x7d, 0xf8, 983 | 0x7b, 0x0e, 0xd3, 0x1e, 0x45, 0x38, 0xc2, 0x1a, 0x27, 0x12, 0x87, 0x2e, 984 | 0xb7, 0x6e, 0x22, 0xd4, 0x06, 0xba, 0xa0, 0x2d, 0xa5, 0x56, 0x7d, 0xee, 985 | 0x2d, 0x38, 0x4f, 0x13, 0x1d, 0x5c, 0x40, 0x2c, 0x78, 0xfc, 0x65, 0x49, 986 | 0x52, 0x6c, 0x29, 0xaf, 0xe5, 0x95, 0xbd, 0xc4, 0x44, 0x36, 0x83, 0xd5, 987 | 0x6d, 0x9b, 0x06, 0x7e, 0x73, 0xe1, 0xc0, 0xb8, 0x47, 0xe9, 0x3b, 0x4d, 988 | 0xee, 0x88, 0x78, 0x85, 0x03, 0xfd, 0xd2, 0x0a, 0xb1, 0xc2, 0x29, 0x55, 989 | 0x6c, 0xbb, 0xed, 0x87, 0x45, 0x5f, 0x6e, 0xdb, 0xa6, 0x9c, 0x4f, 0x35, 990 | 0xe5, 0xaa, 0xc2, 0x70, 0xfc, 0x79, 0xed, 0xa3, 0x83, 0x34, 0xb4, 0x84, 991 | 0x52, 0xcc, 0x29, 0xe8, 0x58, 0x9a, 0x3b, 0x8d, 0x6d, 0xd5, 0x1a, 0x89, 992 | 0x90, 0xcb, 0x1b, 0x7a, 0x90, 0x09, 0x69, 0x2d, 0x11, 0xd9, 0x3a, 0x81, 993 | 0xf5, 0x28, 0x7d, 0x54, 0x4f, 0xe0, 0x8b, 0xba, 0xda, 0x47, 0xc4, 0xe4, 994 | 0x91, 0x85, 0xd0, 0xde, 0xe7, 0xd2, 0x4c, 0x89, 0xee, 0x0a, 0x68, 0x4b, 995 | 0xd8, 0x20, 0xd5, 0xde, 0x6a, 0x04, 0x21, 0xd4, 0x1e, 0x97, 0x92, 0xe4, 996 | 0x40, 0xb1, 0x6c, 0x9e, 0x25, 0x21, 0x22, 0xda, 0xee, 0x9d, 0xb5, 0x58, 997 | 0x5b, 0xf4, 0x27, 0xa6, 0xe4, 0xd3, 0x33, 0x9e, 0x1f, 0x8d, 0xc5, 0x18, 998 | 0xc7, 0x32, 0x2f, 0x87, 0x04, 0x07, 0x4b, 0x4f, 0x8a, 0x04, 0x24, 0xe3, 999 | 0xb8, 0xb3, 0x3f, 0x47, 0x32, 0x45, 0xc9, 0x21, 0x5b, 0xb0, 0xe6, 0x0a, 1000 | 0x33, 0xde, 0x8f, 0x93, 0xe0, 0x8d, 0x74, 0x1c, 0x39, 0x1e, 0xeb, 0x6f, 1001 | 0x07, 0x56, 0xf4, 0x13, 0xf6, 0xae, 0x5b, 0x07, 0x24, 0xa4, 0x00, 0x2b, 1002 | 0xce, 0xd4, 0x41, 0x26, 0x37, 0xf7, 0xe7, 0x00, 0xb6, 0x74, 0x0d, 0x00, 1003 | 0x4d, 0xdf, 0x5d, 0x42, 0x13, 0x68, 0xfc, 0xe0, 0x08, 0x67, 0x77, 0x12, 1004 | 0xd0, 0x33, 0x7d, 0x08, 0xee, 0xe8, 0x2a, 0xb1, 0xd3, 0xf1, 0x11, 0x09, 1005 | 0x20, 0x68, 0xc9, 0xea, 0xa6, 0x1d, 0xba, 0xc3, 0xf3, 0x35, 0x82, 0x8d, 1006 | 0x3b, 0x04, 0xe9, 0xe5, 0x7a, 0xfe, 0xeb, 0xa9, 0x27, 0x7d, 0x02, 0x64, 1007 | 0x8d, 0xba, 0x00, 0xbc, 0x65, 0xa1, 0x0f, 0x35, 0x78, 0x9a, 0xa0, 0xdb, 1008 | 0xb1, 0x73, 0x1f, 0xf3, 0x6f, 0x48, 0x37, 0xe0, 0x10, 0xd0, 0xf5, 0xfe, 1009 | 0x80, 0x62, 0xed, 0x38, 0x87, 0xeb, 0xdd, 0x22, 0x8a, 0x1d, 0x74, 0x51, 1010 | 0x54, 0x88, 0x15, 0x16, 0x1f, 0x63, 0x84, 0x9e, 0xbc, 0x7a, 0x04, 0xe8, 1011 | 0xf5, 0x9a, 0x01, 0x51, 0xe1, 0x23, 0x25, 0xb6, 0x65, 0xd2, 0x69, 0x16, 1012 | 0x6c, 0x5b, 0xc4, 0xd7, 0xe6, 0x44, 0xa3, 0xed, 0x3b, 0x59, 0x66, 0x87, 1013 | 0xf7, 0xca, 0xf6, 0x50, 0xd0, 0x9c, 0x2b, 0x10, 0x2b, 0xd9, 0x38, 0x75, 1014 | 0x3c, 0xc6, 0x2a, 0x5c, 0xd5, 0xc9, 0x6a, 0x11, 0xe0, 0x5e, 0x43, 0xcc, 1015 | 0x61, 0x54, 0x1e, 0x53, 0x8d, 0x72, 0x9c, 0x01, 0x7b, 0x5e, 0x9d, 0x76, 1016 | 0x5e, 0xc0, 0x95, 0x60, 0x9e, 0x80, 0x7a, 0xcf, 0xcb, 0x47, 0x24, 0x31, 1017 | 0x26, 0xbe, 0x84, 0xc4, 0x47, 0xd8, 0x4b, 0x29, 0x34, 0x69, 0xcb, 0x6b, 1018 | 0xd2, 0x58, 0x95, 0x61, 0xd0, 0x8f, 0x3d, 0xbc, 0xe6, 0x45, 0x49, 0xe3, 1019 | 0x15, 0xdf, 0x0d, 0x63, 0xc4, 0x6d, 0x94, 0x75, 0xe4, 0xce, 0x07, 0x6c, 1020 | 0x20, 0x83, 0x32, 0xce, 0x1e, 0x40, 0xec, 0xd0, 0xb2, 0x62, 0xb5, 0x13, 1021 | 0x73, 0x41, 0x4a, 0x66, 0x3d, 0x8b, 0xf9, 0x99, 0xd5, 0xce, 0xce, 0x25, 1022 | 0x55, 0xdb, 0x71, 0x6e, 0x9f, 0x5d, 0xe1, 0xc7, 0x2d, 0xc6, 0xed, 0xd7, 1023 | 0xa0, 0x5d, 0xf2, 0x59, 0xab, 0x0a, 0x6a, 0x8d, 0x97, 0xfe, 0x6e, 0x23, 1024 | 0xfe, 0xdd, 0x7a, 0xd2, 0x13, 0x78, 0xff, 0x5c, 0xc3, 0xcd, 0x1b, 0x2b, 1025 | 0x19, 0xea, 0xbd, 0x5e, 0x07, 0x3c, 0x59, 0xa8, 0xff, 0x86, 0x99, 0x6e, 1026 | 0x8c, 0x64, 0xa8, 0x2c, 0x5b, 0xb1, 0x3b, 0x65, 0x92, 0x87, 0x0a, 0xf3, 1027 | 0x26, 0x7b, 0x8a, 0xa7, 0xc6, 0x71, 0xa5, 0xc1, 0x72, 0xc6, 0x67, 0x11, 1028 | 0x9e, 0x50, 0x71, 0x63, 0x30, 0xe3, 0x5e, 0xf7, 0xed, 0x17, 0xf5, 0x64, 1029 | 0xd7, 0xb4, 0xd5, 0xa2, 0x5c, 0xec, 0xa0, 0x0b, 0x12, 0x2b, 0x5d, 0x7f, 1030 | 0xb8, 0x95, 0xa1, 0x62, 0x9a, 0x63, 0x71, 0x6e, 0xc0, 0xb9, 0x83, 0xdc, 1031 | 0xc3, 0xe4, 0x6c, 0x5d, 0xf2, 0x0d, 0x6a, 0x35, 0x21, 0xea, 0x16, 0xfd, 1032 | 0x9c, 0x85, 0x6d, 0x0c, 0x0a, 0xe4, 0xec, 0x60, 0xf1, 0x68, 0x06, 0x7a, 1033 | 0x3d, 0x18, 0x47, 0xd7, 0x71, 0x96, 0x65, 0xf4, 0xfa, 0xb6, 0xcc, 0x3c, 1034 | 0x8c, 0x55, 0x22, 0x6e, 0x1c, 0x74, 0x5a, 0xc7, 0x2d, 0x37, 0xd7, 0xfd, 1035 | 0xd3, 0x57, 0xec, 0x65, 0x42, 0x0d, 0x2e, 0xcc, 0x4b, 0xfb, 0xda, 0x09, 1036 | 0xce, 0xfd, 0x99, 0x44, 0x29, 0x46, 0x5f, 0x27, 0xc8, 0xd9, 0x46, 0x9a, 1037 | 0x1f, 0x31, 0x18, 0xc8, 0xec, 0x42, 0xe9, 0x31, 0x10, 0x80, 0x6d, 0xed, 1038 | 0x1b, 0x73, 0xe3, 0x56, 0xc7, 0xc6, 0x97, 0xaa, 0x52, 0x66, 0x66, 0xf5, 1039 | 0x92, 0x11, 0x14, 0x22, 0x28, 0xd7, 0xb0, 0xcb, 0x23, 0xbe, 0xa8, 0x91, 1040 | 0xa0, 0x68, 0xc0, 0x82, 0xb9, 0x7a, 0x0e, 0xbe, 0x8e, 0x91, 0x32, 0xcf, 1041 | 0x6c, 0x0e, 0xd6, 0x9a, 0x4b, 0x2a, 0xf8, 0x5e, 0x3f, 0x86, 0x77, 0x20, 1042 | 0x63, 0x3b, 0xec, 0x4a, 0x2f, 0x9d, 0x52, 0x92, 0x43, 0xd8, 0xc7, 0x23, 1043 | 0xf2, 0x59, 0x67, 0x0d, 0x49, 0x3c, 0xf7, 0xa1, 0x51, 0x1a, 0x97, 0xa5, 1044 | 0x3d, 0x54, 0xf4, 0xda, 0x1f, 0xf9, 0x42, 0x8f, 0x51, 0xec, 0xaf, 0x23, 1045 | 0x7b, 0x35, 0x2f, 0xfb, 0x49, 0x8a, 0x13, 0x88, 0x8c, 0x73, 0xf0, 0xca, 1046 | 0x73, 0x97, 0x97, 0xae, 0xbb, 0xfb, 0xac, 0xd2, 0xf7, 0x67, 0x23, 0x68, 1047 | 0x49, 0xa6, 0xe3, 0xca, 0xe3, 0xf6, 0x9c, 0x2c, 0x49, 0x27, 0xe6, 0x0d, 1048 | 0x30, 0x6e, 0xdc, 0x7a, 0x7b, 0xc6, 0x22, 0xa1, 0xfe, 0xdd, 0xb1, 0x92, 1049 | 0x25, 0xcb, 0x7c, 0xeb, 0x5c, 0xb5, 0xc5, 0xca, 0x31, 0x0c, 0x5b, 0x64, 1050 | 0x29, 0xda, 0xe1, 0xb9, 0xe3, 0x4f, 0x7f, 0x79, 0x97, 0x61, 0x9f, 0x64, 1051 | 0xbe, 0x88, 0x68, 0xcc, 0x49, 0x6f, 0x4c, 0xd6, 0xde, 0x1c, 0x6b, 0xb3, 1052 | 0x27, 0x0d, 0xea, 0x65, 0x70, 0xac, 0xb2, 0xa0, 0x54, 0x47, 0x66, 0xbe, 1053 | 0x03, 0x4b, 0x15, 0xda, 0x90, 0xc3, 0xbc, 0xb4, 0x6d, 0x5e, 0x9e, 0x72, 1054 | 0xa9, 0xc5, 0x5a, 0x23, 0xf1, 0x25, 0x29, 0xb0, 0x64, 0x57, 0xb5, 0x3b, 1055 | 0x0a, 0x3b, 0xf2, 0x54, 0xcf, 0x94, 0xc6, 0xd4, 0xa4, 0xe3, 0xa0, 0xf2, 1056 | 0x6c, 0x94, 0xa5, 0xb2, 0x83, 0xc6, 0x12, 0xf6, 0x89, 0x6f, 0x14, 0xa7, 1057 | 0x8a, 0x96, 0x3b, 0x49, 0xd5, 0x92, 0x45, 0x7a, 0x55, 0xac, 0x65, 0x3b, 1058 | 0x96, 0xf3, 0xf0, 0x05, 0xc5, 0x94, 0x01, 0xeb, 0xbc, 0x1a, 0xf8, 0xea, 1059 | 0xb7, 0xa2, 0x82, 0x29, 0x1f, 0xaf, 0x08, 0xee, 0x93, 0x5b, 0x47, 0x0e, 1060 | 0xf7, 0x8d, 0xd7, 0x8f, 0x58, 0x5f, 0xce, 0x50, 0xc5, 0x61, 0x69, 0x05, 1061 | 0x0d, 0x6e, 0x30, 0x78, 0x57, 0xfe, 0xaa, 0x08, 0x8c, 0x9b, 0x73, 0xf4, 1062 | 0x51, 0x3f, 0x6f, 0x7c, 0x4e, 0xe9, 0xec, 0x77, 0xff, 0x8a, 0x6f, 0x3e, 1063 | 0xb2, 0xcb, 0x14, 0x39, 0x4b, 0xff, 0xd1, 0xe7, 0xdb, 0xee, 0x28, 0x8a, 1064 | 0xe5, 0xee, 0x7e, 0x1b, 0x62, 0xcd, 0x99, 0xec, 0x61, 0xd4, 0xea, 0x87, 1065 | 0xa2, 0x9c, 0x96, 0x3b, 0x3e, 0x11, 0x7f, 0x52, 0x1f, 0xa9, 0x4e, 0x3a, 1066 | 0x0d, 0x28, 0xe2, 0xdb, 0x9f, 0x9a, 0xce, 0xa5, 0x0d, 0x62, 0x21, 0x31, 1067 | 0x14, 0x13, 0x8a, 0xb2, 0xd3, 0xcf, 0x8a, 0x85, 0x98, 0x41, 0xeb, 0x70, 1068 | 0x5a, 0x11, 0xf4, 0xfa, 0xf5, 0x7a, 0x7f, 0x63, 0xfc, 0xe2, 0x9b, 0x2b, 1069 | 0xf0, 0xef, 0x5d, 0x29, 0xf8, 0x76, 0xb3, 0xf9, 0x44, 0x4e, 0xd9, 0x70, 1070 | 0x2c, 0xf2, 0x17, 0xb5, 0xfb, 0x4e, 0xd4, 0xdc, 0x9a, 0xaa, 0xde, 0x51, 1071 | 0xab, 0x82, 0xc1, 0x34, 0x22, 0xac, 0x4d, 0x73, 0xfa, 0xd2, 0xac, 0x2f, 1072 | 0x19, 0xb4, 0x2b, 0x11, 0xe6, 0x50, 0xf9, 0x11, 0xad, 0x6f, 0xd4, 0xaa, 1073 | 0x9a, 0x6a, 0xbb, 0xb5, 0x15, 0xc0, 0x6f, 0x32, 0x73, 0x75, 0xc1, 0xbd, 1074 | 0xc1, 0xfa, 0xd8, 0xa0, 0xe0, 0x22, 0x5f, 0x76, 0x27, 0x90, 0x0c, 0x15, 1075 | 0xbd, 0xab, 0x8e, 0xa6, 0x6a, 0x92, 0xcc, 0xe4, 0x72, 0xf4, 0x6b, 0x1e, 1076 | 0xd7, 0x1c, 0x14, 0x30, 0xd7, 0x78, 0xb4, 0x52, 0x73, 0x7f, 0x23, 0x6f, 1077 | 0x6d, 0xaa, 0xed, 0xec, 0x05, 0xa9, 0xca, 0x98, 0x75, 0xec, 0xd1, 0x29, 1078 | 0xf2, 0x8d, 0x0a, 0x0d, 0x83, 0x31, 0xa2, 0x92, 0x2e, 0x3a, 0x2b, 0x98, 1079 | 0x61, 0x30, 0xdc, 0xd6, 0xba, 0x90, 0xf4, 0xbe, 0x93, 0x86, 0x33, 0x0a, 1080 | 0x7a, 0x81, 0xb1, 0x9d, 0x24, 0xb8, 0x4a, 0xd0, 0x9c, 0xd4, 0x18, 0x91, 1081 | 0x30, 0x11, 0x35, 0xc1, 0xf1, 0xa8, 0x73, 0xb3, 0xe4, 0x93, 0xf5, 0x93, 1082 | 0x57, 0xc9, 0xe7, 0xf5, 0xd0, 0xfd, 0xb4, 0xef, 0x26, 0x9d, 0xf5, 0x87, 1083 | 0x47, 0x14, 0x7e, 0x80, 0xa4, 0xdc, 0x52, 0x2e, 0x97, 0xa5, 0xcc, 0xb3, 1084 | 0xac, 0x41, 0x51, 0x22, 0x6f, 0xb7, 0x0f, 0x80, 0xd3, 0xc9, 0x35, 0x4b, 1085 | 0x82, 0xc9, 0x80, 0xcd, 0x32, 0x1b, 0xca, 0x06, 0x40, 0x35, 0x5d, 0xb5, 1086 | 0xd0, 0x69, 0x6b, 0xf7, 0x51, 0x75, 0xdd, 0xda, 0xb2, 0x2f, 0x5a, 0x5e, 1087 | 0xce, 0xf1, 0xc6, 0xde, 0x31, 0x14, 0x89, 0xd3, 0xfb, 0x36, 0x89, 0xe7, 1088 | 0xdc, 0x94, 0x2f, 0x9b, 0x54, 0x9c, 0xb6, 0xb4, 0x3b, 0x25, 0xbb, 0xc0, 1089 | 0x74, 0x0e, 0x22, 0x9d, 0xda, 0x5e, 0x64, 0x37, 0x12, 0x2f, 0x1b, 0x34, 1090 | 0x6e, 0x8c, 0x26, 0x51, 0x14, 0x97, 0xc9, 0xca, 0xd1, 0xa4, 0x85, 0x7f, 1091 | 0xb6, 0x4c, 0x8a, 0x8b, 0x2d, 0x0f, 0x8d, 0x30, 0xab, 0xc8, 0xa6, 0xdf, 1092 | 0xaa, 0x62, 0xe6, 0x9c, 0x08, 0xef, 0x22, 0x43, 0xb2, 0xa2, 0x43, 0x4d, 1093 | 0xa2, 0x8a, 0xae, 0xaf, 0xde, 0xb3, 0xd2, 0x4d, 0xbf, 0x77, 0xf3, 0x22, 1094 | 0x30, 0xad, 0xb0, 0x85, 0x3e, 0x0a, 0xca, 0x45, 0xb7, 0x9d, 0x98, 0xaa, 1095 | 0xe6, 0x2f, 0xb5, 0xdf, 0x6f, 0x74, 0x89, 0x30, 0xea, 0xa3, 0x71, 0x71, 1096 | 0xa4, 0xcb, 0xed, 0x7a, 0xdd, 0xc5, 0x0e, 0xc0, 0x86, 0xf2, 0xda, 0xcc, 1097 | 0x70, 0xe3, 0x69, 0x28, 0x79, 0x83, 0x35, 0xbb, 0xbf, 0x46, 0x3b, 0x36, 1098 | 0x5e, 0xcd, 0x62, 0x15, 0xcb, 0xa6, 0x69, 0x51, 0x02, 0x90, 0xf7, 0x7a, 1099 | 0x0c, 0x9e, 0xdb, 0x2b, 0x3c, 0x15, 0x82, 0x1c, 0xe5, 0x97, 0xc3, 0xbe, 1100 | 0xaf, 0x93, 0x46, 0x9f, 0xcd, 0x8c, 0x62, 0xeb, 0x49, 0xb7, 0xd7, 0xf4, 1101 | 0x7e, 0xa2, 0xd2, 0xe0, 0xef, 0x37, 0x8a, 0xb4, 0x31, 0x40, 0xeb, 0x5e, 1102 | 0xd0, 0xb1, 0x46, 0xd9, 0x29, 0xbf, 0xd2, 0x54, 0xb5, 0xf2, 0xf6, 0x29, 1103 | 0x14, 0x2a, 0xf2, 0x56, 0x94, 0xbb, 0x5f, 0xdb, 0x44, 0x67, 0x38, 0x59, 1104 | 0x01, 0xc7, 0xe3, 0x33, 0x11, 0x2f, 0xcf, 0xc7, 0x54, 0x02, 0x39, 0xd4, 1105 | 0x47, 0xe5, 0xe2, 0xbd, 0x0d, 0x98, 0x81, 0x09, 0x9e, 0xe3, 0xfa, 0x48, 1106 | 0x2a, 0x18, 0x8d, 0xd0, 0x79, 0xfc, 0xf8, 0xf2, 0xc4, 0x45, 0xe6, 0x43, 1107 | 0xbd, 0xea, 0xa9, 0x47, 0xb5, 0x48, 0xc2, 0xca, 0xcf, 0x70, 0x60, 0xf3, 1108 | 0x5c, 0xa3, 0xdd, 0x81, 0x30, 0xef, 0xfa, 0xc4, 0x1e, 0x04, 0x8b, 0x63, 1109 | 0x7b, 0x77, 0x77, 0x64, 0xf1, 0xc1, 0xd2, 0xf1, 0x7c, 0xb4, 0x5a, 0x5f, 1110 | 0x41, 0x4e, 0xf0, 0x13, 0x6c, 0x88, 0x2f, 0xa1, 0x9e, 0x9a, 0x86, 0x78, 1111 | 0x4a, 0x37, 0xbc, 0x03, 0xd6, 0x20, 0x41, 0x15, 0x2b, 0x3e, 0x0a, 0x39, 1112 | 0x8d, 0xe2, 0x0f, 0x4f, 0x24, 0xfb, 0x24, 0xe0, 0x7d, 0xc1, 0xa7, 0xad, 1113 | 0x30, 0x80, 0xb9, 0x64, 0xaf, 0xd1, 0xbb, 0xe3, 0xfa, 0xfe, 0x83, 0x9a, 1114 | 0xad, 0xcf, 0x83, 0x20, 0xd2, 0xdb, 0x75, 0x0f, 0xee, 0x6a, 0xd3, 0x3d, 1115 | 0xea, 0xc7, 0x9b, 0x8c, 0x4d, 0x01, 0x33, 0x50, 0xb8, 0xef, 0x72, 0x8f, 1116 | 0x25, 0x20, 0x8a, 0x1b, 0xb3, 0xf6, 0xc1, 0xfe, 0x6c, 0xed, 0x11, 0x24, 1117 | 0xaf, 0xfd, 0x81, 0x4b, 0xc8, 0x7b, 0x82, 0xce, 0xd6, 0x8b, 0xe3, 0xd0, 1118 | 0xe3, 0xc2, 0x05, 0x35, 0xaf, 0x87, 0x4c, 0xfa, 0x1e, 0x78, 0x9d, 0x44, 1119 | 0x8c, 0xcd, 0x30, 0xde, 0xd7, 0x01, 0x9a, 0x0e, 0x37, 0x38, 0xfb, 0x2c, 1120 | 0x3d, 0xc9, 0xdb, 0x26, 0xd7, 0x3f, 0xa6, 0x89, 0x00, 0x68, 0x8a, 0xeb, 1121 | 0xb2, 0x1a, 0x61, 0xa2, 0x7c, 0x92, 0x9f, 0xf9, 0xaf, 0xbe, 0xa0, 0x8a, 1122 | 0xfd, 0x7a, 0x09, 0x04, 0x60, 0x86, 0x5d, 0x3b, 0xe1, 0x68, 0xe9, 0x9b, 1123 | 0x14, 0x16, 0xcc, 0x35, 0x10, 0xad, 0xaf, 0x64, 0x21, 0x0e, 0x23, 0x36, 1124 | 0xde, 0xbc, 0x17, 0xd1, 0x34, 0x7b, 0x49, 0x9d, 0x6f, 0x22, 0x9f, 0x51, 1125 | 0x81, 0xe3, 0xbe, 0xc4, 0xfc, 0x06, 0xa5, 0x5a, 0x37, 0x4a, 0x2d, 0x87, 1126 | 0x8b, 0xdb, 0x0c, 0xb5, 0x91, 0x90, 0x3d, 0xc2, 0xad, 0x5f, 0xc9, 0x6b, 1127 | 0x46, 0x2e, 0x25, 0x0e, 0xc3, 0xec, 0x76, 0xf0, 0x5a, 0xa9, 0xb9, 0xf4, 1128 | 0xa6, 0xb1, 0x0f, 0x08, 0x29, 0xed, 0xb8, 0xc8, 0x6d, 0x57, 0x3e, 0x0c, 1129 | 0x1c, 0xd2, 0xd8, 0x7b, 0x1d, 0x65, 0x60, 0xe6, 0xc6, 0xb1, 0x37, 0x4c, 1130 | 0xf0, 0xe1, 0xfa, 0xe3, 0xa3, 0x47, 0x75, 0x82, 0xeb, 0x2a, 0x46, 0x31, 1131 | 0x13, 0xcd, 0xe8, 0xe1, 0x02, 0x31, 0xb2, 0x1b, 0x10, 0xb2, 0xde, 0x4e, 1132 | 0xd4, 0x42, 0xae, 0xfc, 0x36, 0x97, 0xd6, 0x0e, 0xc3, 0x8f, 0x93, 0x4c, 1133 | 0xd8, 0x91, 0xc7, 0x25, 0xf7, 0x48, 0xda, 0x2e, 0x1c, 0xfc, 0xc6, 0x75, 1134 | 0x71, 0xb5, 0xb7, 0xda, 0xb1, 0xe9, 0x0e, 0x07, 0x69, 0xd9, 0xd1, 0x14, 1135 | 0xe5, 0xe0, 0x66, 0xbf, 0x57, 0x7b, 0x43, 0x41, 0xfb, 0xd3, 0xb9, 0x83, 1136 | 0x87, 0x9c, 0x15, 0xe6, 0x8a, 0x80, 0x50, 0xb8, 0xd6, 0xc7, 0x05, 0x51, 1137 | 0x01, 0xbf, 0x91, 0x9e, 0x73, 0x31, 0x32, 0x30, 0x5c, 0xec, 0x78, 0x1d, 1138 | 0x86, 0x03, 0x98, 0xd2, 0xfc, 0x56, 0xa7, 0x28, 0x33, 0x73, 0xba, 0x05, 1139 | 0x87, 0xde, 0xec, 0x78, 0x35, 0x11, 0xd3, 0x17, 0xe1, 0x6f, 0xf5, 0x1e, 1140 | 0x4c, 0x95, 0x36, 0xe9, 0xcf, 0x17, 0x19, 0x36, 0xab, 0xf5, 0x59, 0x71, 1141 | 0x4d, 0x01, 0x35, 0x51, 0xee, 0xe9, 0x6e, 0x07, 0x45, 0xf1, 0x35, 0x8e, 1142 | 0xaf, 0x69, 0x64, 0x29, 0xe7, 0x36, 0x8c, 0xb7, 0x8c, 0x6a, 0x71, 0xa5, 1143 | 0xf7, 0xb9, 0xae, 0xcc, 0x9d, 0x34, 0x9f, 0xb0, 0x5e, 0xf2, 0x6f, 0x7f, 1144 | 0x6f, 0x40, 0xc8, 0xf6, 0xc0, 0xb7, 0xe8, 0xf4, 0xe3, 0x5a, 0xc0, 0x1c, 1145 | 0xb1, 0x0a, 0xb1, 0x50, 0xe0, 0x8a, 0xe6, 0x65, 0x98, 0x0f, 0x79, 0xbe, 1146 | 0xb3, 0x4a, 0x6e, 0x0b, 0x6b, 0x00, 0x72, 0x91, 0xee, 0xfb, 0xaa, 0x9d, 1147 | 0x51, 0x37, 0x4e, 0x05, 0x5b, 0x37, 0x93, 0x94, 0x87, 0xe4, 0x9a, 0x3a, 1148 | 0xb9, 0x75, 0xfd, 0xf5, 0x32, 0xc9, 0x38, 0x8c, 0x2d, 0xa0, 0xc8, 0xe4, 1149 | 0xc2, 0x11, 0x18, 0xf5, 0x78, 0xfb, 0x4c, 0xb8, 0x6b, 0xa9, 0x1a, 0x9e, 1150 | 0x51, 0xca, 0x06, 0xb2, 0x40, 0x8f, 0xa4, 0x41, 0xa7, 0xba, 0xbb, 0xf5, 1151 | 0x27, 0x22, 0x7f, 0x3f, 0x25, 0xd8, 0x28, 0x4a, 0xdf, 0xa8, 0x1d, 0xe0, 1152 | 0x58, 0xfa, 0x01, 0xe0, 0x08, 0x41, 0xb5, 0x7a, 0x1b, 0x20, 0xdb, 0x4e, 1153 | 0xa6, 0xfa, 0xc3, 0x84, 0x89, 0x25, 0x30, 0xc8, 0x92, 0x24, 0x0d, 0x69, 1154 | 0xd8, 0xbc, 0x34, 0x50, 0xbd, 0x03, 0x08, 0x82, 0xc7, 0x74, 0xe4, 0x03, 1155 | 0x16, 0x13, 0xf4, 0xed, 0x93, 0xbd, 0x91, 0xd5, 0xb2, 0x46, 0x11, 0x73, 1156 | 0xc0, 0xeb, 0xca, 0x54, 0xe7, 0xd2, 0xe3, 0xa5, 0x36, 0xa4, 0xf3, 0x79, 1157 | 0x1d, 0xb5, 0xcb, 0x3f, 0x8d, 0x1c, 0x2c, 0x1b, 0x48, 0x09, 0xd9, 0x58, 1158 | 0x3a, 0x65, 0x04, 0x55, 0x6d, 0x4b, 0x7b, 0x74, 0x53, 0xcd, 0x19, 0x82, 1159 | 0xcd, 0x3f, 0x6f, 0xf0, 0xbc, 0x01, 0x44, 0x62, 0x2f, 0xb3, 0x94, 0xe9, 1160 | 0xe7, 0x79, 0x55, 0xdc, 0x5d, 0x43, 0x17, 0x1e, 0x1a, 0x03, 0x99, 0x84, 1161 | 0xaa, 0x0c, 0x2e, 0x93, 0x65, 0xdd, 0xd9, 0x56, 0x9d, 0x8f, 0x23, 0x66, 1162 | 0x5c, 0x4f, 0x28, 0x33, 0x01, 0xbb, 0xd1, 0xf8, 0x35, 0x5b, 0xf3, 0x04, 1163 | 0x8d, 0x1b, 0x49, 0xef, 0x96, 0x1f, 0x99, 0x04, 0xa7, 0x1b, 0x25, 0x54, 1164 | 0xe9, 0x42, 0xd8, 0x63, 0xa3, 0x6b, 0x2b, 0x78, 0x00, 0x13, 0x6a, 0x6d, 1165 | 0xe1, 0x8b, 0x61, 0x94, 0xba, 0xba, 0x4b, 0x80, 0xab, 0xbd, 0x59, 0xfa, 1166 | 0x1b, 0xaa, 0x94, 0xb0, 0x45, 0xab, 0x71, 0x9b, 0x1c, 0xd1, 0xe8, 0xac, 1167 | 0xc1, 0x7d, 0x9a, 0x90, 0x51, 0x01, 0xb1, 0x9b, 0x40, 0xfc, 0x45, 0xa6, 1168 | 0x67, 0x60, 0xa4, 0x22, 0xba, 0x75, 0xdc, 0xe7, 0x04, 0x66, 0x88, 0x97, 1169 | 0x12, 0x39, 0x81, 0x35, 0x9e, 0x44, 0x7a, 0xca, 0x45, 0x6c, 0xb5, 0x77, 1170 | 0x8f, 0x01, 0x5a, 0x13, 0x1d, 0x52, 0xf2, 0xe4, 0x33, 0x05, 0x66, 0x24, 1171 | 0x5f, 0xa2, 0x7e, 0xf7, 0x1d, 0x4e, 0xd7, 0xaa, 0xed, 0x6c, 0x1a, 0x96, 1172 | 0x20, 0x88, 0x85, 0x12, 0x84, 0x83, 0x0d, 0xc0, 0xc3, 0x41, 0xd3, 0x08, 1173 | 0x0e, 0x49, 0x99, 0x65, 0xf0, 0x7a, 0x5f, 0xf2, 0xf5, 0x08, 0x6d, 0xa3, 1174 | 0x00, 0x77, 0xe1, 0xed, 0xbb, 0xe4, 0x34, 0x54, 0x46, 0xb3, 0x0f, 0x76, 1175 | 0xf2, 0x41, 0x68, 0x97, 0x8d, 0x38, 0x79, 0x3a, 0xf6, 0x37, 0x0e, 0xce, 1176 | 0x4c, 0x0b, 0xcd, 0x79, 0xc7, 0x4d, 0x9a, 0xe5, 0x2e, 0x8b, 0x3d, 0x25, 1177 | 0x58, 0xa9, 0x98, 0x49, 0x1c, 0x3f, 0xa6, 0x3e, 0x42, 0x2a, 0x82, 0x0e, 1178 | 0xe1, 0xf8, 0x01, 0x45, 0x2b, 0xb5, 0xa2, 0x37, 0xdd, 0xb3, 0xf1, 0xa0, 1179 | 0x09, 0x61, 0xcc, 0x81, 0x94, 0x98, 0xb1, 0x7c, 0x65, 0x05, 0x71, 0x10, 1180 | 0xea, 0x41, 0xb8, 0xcf, 0xe7, 0xcc, 0x69, 0x19, 0xc5, 0x62, 0x3b, 0x97, 1181 | 0xd7, 0x09, 0xd2, 0x6e, 0x1b, 0x53, 0xe0, 0xad, 0x94, 0x95, 0xbd, 0x23, 1182 | 0xaa, 0xb8, 0x8d, 0xe1, 0x44, 0x48, 0xec, 0x27, 0x3c, 0x3a, 0x62, 0xb0, 1183 | 0xfd, 0xd6, 0xd5, 0xfb, 0x04, 0xc6, 0xb9, 0xf7, 0xa6, 0xdc, 0x01, 0x58, 1184 | 0x9e, 0x5b, 0x6d, 0x70, 0xee, 0x67, 0x14, 0x50, 0xd6, 0x72, 0x5e, 0xe0, 1185 | 0xb1, 0x6a, 0x5b, 0x49, 0x4a, 0x4b, 0xe8, 0x20, 0x44, 0x9b, 0x7e, 0xdc, 1186 | 0xb3, 0x93, 0xfe, 0xfc, 0xea, 0x02, 0x03, 0xbc, 0x30, 0xb2, 0x21, 0x94, 1187 | 0x2c, 0xea, 0xce, 0x12, 0x60, 0xa6, 0x2a, 0x78, 0x89, 0xe7, 0x6b, 0x5e, 1188 | 0xa5, 0x1c, 0x21, 0x5e, 0x7d, 0x12, 0x61, 0xc4, 0x7b, 0x55, 0x95, 0x25, 1189 | 0xcc, 0x30, 0x5b, 0x9d, 0x2b, 0x04, 0xe9, 0x3c, 0x44, 0xa5, 0x40, 0xf0, 1190 | 0xb6, 0x10, 0x1d, 0x6a, 0x74, 0xaf, 0x9c, 0x23, 0x7a, 0xad, 0xac, 0xd9, 1191 | 0x1f, 0x09, 0x12, 0x29, 0xd9, 0x8f, 0x3f, 0xe5, 0x0d, 0xb0, 0x89, 0xa9, 1192 | 0x81, 0x34, 0x65, 0x44, 0x36, 0xd6, 0x0b, 0xbf, 0xfa, 0x45, 0x5a, 0x93, 1193 | 0x6e, 0x19, 0xb4, 0x58, 0x9c, 0xd2, 0x66, 0x90, 0xb1, 0xa8, 0xb4, 0xde, 1194 | 0x8b, 0x05, 0x3e, 0x4e, 0xf9, 0x91, 0xe4, 0x51, 0x33, 0x11, 0xad, 0xfb, 1195 | 0x42, 0x96, 0xd1, 0x6f, 0xf9, 0x26, 0x66, 0x5f, 0x25, 0x4d, 0xd3, 0x72, 1196 | 0x10, 0x02, 0xca, 0x8b, 0x07, 0xe0, 0xaa, 0x71, 0x4e, 0x8e, 0xd2, 0x54, 1197 | 0x4e, 0x30, 0xb8, 0x94, 0x13, 0xe7, 0xcc, 0x6e, 0x3e, 0x9c, 0xc5, 0x5b, 1198 | 0x83, 0x4e, 0xa2, 0x8b, 0xea, 0xf9, 0xc1, 0x6b, 0x86, 0x16, 0x97, 0x15, 1199 | 0x9d, 0x8d, 0x39, 0x4e, 0x15, 0xc8, 0x1f, 0xe0, 0x2e, 0x69, 0x63, 0xda, 1200 | 0x00, 0x67, 0x6f, 0x39, 0xb8, 0xe0, 0x38, 0x37, 0x49, 0xab, 0x6e, 0x1e, 1201 | 0x39, 0x43, 0x45, 0xc9, 0x10, 0x3c, 0xc8, 0xe9, 0x72, 0x0c, 0x57, 0xb7, 1202 | 0x30, 0x78, 0xb0, 0xb4, 0x5e, 0xe7, 0x71, 0x5c, 0x73, 0xdb, 0x89, 0x26, 1203 | 0x73, 0x12, 0x74, 0x43, 0xc8, 0x9d, 0x1d, 0x68, 0x14, 0x3b, 0x7d, 0x2e, 1204 | 0x22, 0x55, 0xe6, 0x49, 0xd2, 0x63, 0x75, 0x49, 0xa3, 0x6d, 0x20, 0xcb, 1205 | 0x22, 0xc3, 0xec, 0x34, 0x16, 0xc5, 0x6d, 0xa1, 0x85, 0x49, 0x0a, 0xc4, 1206 | 0x27, 0x4c, 0x81, 0xfa, 0x98, 0x86, 0x67, 0x53, 0xc1, 0x5e, 0x9b, 0x53, 1207 | 0xc4, 0x7a, 0x82, 0xb1, 0x91, 0x5c, 0xd0, 0x07, 0x99, 0x76, 0x20, 0x06, 1208 | 0x8c, 0x07, 0x1e, 0xa9, 0xfd, 0xbc, 0x0d, 0xb9, 0x4c, 0xdd, 0x8b, 0x4f, 1209 | 0xe0, 0x9b, 0x6c, 0x81, 0x86, 0xce, 0xfc, 0x82, 0x90, 0x7e, 0xda, 0xb8, 1210 | 0x79, 0xf4, 0xfb, 0xc1, 0x78, 0x01, 0xa2, 0x04, 0x00, 0x95, 0xd7, 0x34, 1211 | 0x9e, 0x07, 0x47, 0xb1, 0x82, 0xc8, 0x55, 0x03, 0xb8, 0xe4, 0x40, 0x4e, 1212 | 0x08, 0x77, 0x96, 0xe8, 0xd9, 0xd9, 0x0f, 0x94, 0x7d, 0x46, 0x54, 0xe0, 1213 | 0xca, 0x96, 0x52, 0x29, 0x7d, 0xac, 0x19, 0x74, 0x0c, 0x9a, 0x76, 0x6b, 1214 | 0xc9, 0x44, 0x22, 0x5a, 0x10, 0xb4, 0x1c, 0x1e, 0xe4, 0x04, 0xa2, 0x65, 1215 | 0x1f, 0xbc, 0x22, 0x59, 0x3d, 0x27, 0x97, 0x8a, 0x06, 0x52, 0x98, 0xd8, 1216 | 0x2a, 0xc1, 0x7c, 0xfa, 0xae, 0x76, 0x7e, 0x4e, 0x6b, 0x30, 0xac, 0xcf, 1217 | 0x08, 0x43, 0xf2, 0x67, 0x24, 0x0f, 0x5e, 0x17, 0x55, 0x39, 0x0e, 0x66, 1218 | 0x75, 0x59, 0xc7, 0xdd, 0x5a, 0x2b, 0x10, 0x20, 0xee, 0xc9, 0x9c, 0x76, 1219 | 0x03, 0x2a, 0x7f, 0xae, 0xe4, 0x52, 0x14, 0xab, 0x99, 0x71, 0x84, 0xe9, 1220 | 0xd0, 0x8b, 0xc1, 0xc1, 0xfe, 0xac, 0xc0, 0x4d, 0xca, 0x65, 0xb3, 0x1b, 1221 | 0xed, 0x32, 0x65, 0xbd, 0x64, 0x3d, 0xd1, 0xf0, 0x18, 0xec, 0xe6, 0xf1, 1222 | 0x4c, 0x9d, 0xc1, 0xab, 0x70, 0xbb, 0x07, 0x8e, 0x30, 0xbd, 0x5d, 0xa3, 1223 | 0x20, 0x70, 0x92, 0x55, 0xda, 0x8d, 0x39, 0xa4, 0x8e, 0xaa, 0xef, 0xc4, 1224 | 0x1c, 0x9b, 0xe6, 0xdb, 0xc2, 0x42, 0x0b, 0xf1, 0x88, 0x6a, 0x94, 0xfd, 1225 | 0x7c, 0xbd, 0x01, 0x76, 0x01, 0xbf, 0x07, 0x07, 0x82, 0xf5, 0x1e, 0x92, 1226 | 0x1f, 0x94, 0x2b, 0xfb, 0x54, 0x75, 0xbb, 0x9b, 0xa7, 0x25, 0xc4, 0xef, 1227 | 0x6c, 0xc6, 0xc3, 0x36, 0x06, 0x51, 0x0d, 0xe1, 0x3b, 0x6c, 0x2c, 0x0f, 1228 | 0x33, 0x74, 0x10, 0x54, 0xe2, 0x7d, 0xd9, 0xe7, 0x5b, 0x7c, 0x34, 0xec, 1229 | 0xde, 0xf7, 0xb6, 0x98, 0xeb, 0xb7, 0x0d, 0xba, 0xbd, 0xdd, 0xbc, 0xca, 1230 | 0x3d, 0x80, 0x7d, 0x60, 0xdb, 0x37, 0x82, 0xc7, 0xa9, 0x4e, 0xa0, 0x80, 1231 | 0x9a, 0xf7, 0x68, 0xd8, 0xf8, 0xf0, 0xf0, 0x1f, 0x7d, 0xfe, 0xfd, 0xae, 1232 | 0x78, 0x64, 0xc9, 0x1b, 0x8d, 0x16, 0x2c, 0x4d, 0x19, 0xce, 0x7d, 0x55, 1233 | 0xff, 0x7a, 0xb7, 0x4c, 0x91, 0x14, 0x5b, 0xaa, 0x2e, 0x6b, 0x18, 0xde, 1234 | 0x8d, 0x3d, 0x1d, 0x9a, 0xea, 0x63, 0x61, 0xdf, 0x33, 0x76, 0x07, 0x72, 1235 | 0xb6, 0x70, 0xfe, 0x13, 0x5b, 0x52, 0xef, 0x53, 0xb8, 0xc7, 0x7e, 0x66, 1236 | 0x35, 0xd5, 0xf6, 0xb8, 0x72, 0x88, 0xb4, 0x1e, 0x50, 0x08, 0xcf, 0x01, 1237 | 0x17, 0x6d, 0xba, 0x30, 0x40, 0x48, 0x42, 0xa9, 0xdc, 0x59, 0x15, 0x0e, 1238 | 0x58, 0xc5, 0xb4, 0x47, 0xff, 0x65, 0x53, 0x32, 0xac, 0xbe, 0x6b, 0xc0, 1239 | 0x37, 0x8a, 0xd5, 0xa1, 0x5f, 0xcb, 0x13, 0xb6, 0x08, 0x09, 0x7f, 0xf7, 1240 | 0x20, 0xb2, 0x55, 0x4c, 0x43, 0x91, 0x93, 0xba, 0x64, 0x22, 0xd3, 0x2b, 1241 | 0xb8, 0xb9, 0x9e, 0x4f, 0x8b, 0x66, 0xc3, 0x3e, 0xc1, 0x73, 0xaa, 0x43, 1242 | 0x0b, 0xad, 0x1a, 0xb5, 0x9b, 0x56, 0x12, 0xd4, 0x8b, 0x96, 0xdc, 0x52, 1243 | 0x98, 0x57, 0x7e, 0x04, 0x05, 0x5d, 0x48, 0xeb, 0xfc, 0x45, 0x12, 0x7b, 1244 | 0xc2, 0x67, 0xcf, 0x10, 0x09, 0xbc, 0x34, 0xf1, 0x77, 0x75, 0x8d, 0x10, 1245 | 0xc4, 0x74, 0xc6, 0x56, 0x86, 0x79, 0xb4, 0x28, 0xe3, 0x21, 0x1d, 0x9f, 1246 | 0xca, 0xc0, 0x3c, 0x8e, 0x1c, 0xb4, 0x79, 0xaa, 0x53, 0x30, 0xaa, 0xa2, 1247 | 0x4b, 0xdc, 0x30, 0x77, 0xa8, 0x79, 0x99, 0x1e, 0x3e, 0x3e, 0x0a, 0xdc, 1248 | 0x38, 0x30, 0xd9, 0x86, 0x56, 0x07, 0xe5, 0x9d, 0x6c, 0xd4, 0x2c, 0xa8, 1249 | 0x4f, 0x35, 0x47, 0xd3, 0xa7, 0xac, 0xbb, 0x98, 0x91, 0x89, 0x6f, 0x00, 1250 | 0x6f, 0xd0, 0xb5, 0xb5, 0x96, 0x74, 0xb8, 0x54, 0x90, 0xb6, 0x35, 0xcf, 1251 | 0x9b, 0x09, 0xba, 0x2e, 0x56, 0x47, 0x8e, 0x7f, 0xf7, 0xbd, 0x79, 0x76, 1252 | 0x4a, 0xd9, 0xa7, 0x88, 0x3b, 0x5f, 0xee, 0xbb, 0x87, 0xcf, 0x66, 0xed, 1253 | 0xe5, 0x3e, 0x4a, 0x57, 0xe3, 0x35, 0x83, 0x0f, 0x99, 0x2a, 0x94, 0xbb, 1254 | 0xbb, 0x62, 0x8f, 0xe7, 0xd9, 0x21, 0xe3, 0x3c, 0xd8, 0x68, 0x53, 0x60, 1255 | 0xd1, 0x5a, 0x47, 0xf9, 0xa6, 0xa5, 0x36, 0xcb, 0xa5, 0x0a, 0x46, 0xad, 1256 | 0x40, 0xb8, 0xf5, 0x98, 0xc8, 0x0f, 0xde, 0x80, 0x0d, 0x35, 0xeb, 0xa4, 1257 | 0xe2, 0xb9, 0x11, 0x73, 0xbd, 0xd7, 0x8b, 0x3c, 0xae, 0xce, 0x79, 0xfa, 1258 | 0x91, 0xc3, 0xe7, 0xcd, 0x53, 0x8a, 0xb6, 0x5b, 0xeb, 0x64, 0xd2, 0x64, 1259 | 0xb5, 0xa6, 0xc4, 0xf8, 0x67, 0xe8, 0x54, 0x55, 0x78, 0x7f, 0xce, 0x4f, 1260 | 0x4a, 0xb8, 0x30, 0x8e, 0x49, 0xe9, 0x96, 0xde, 0x93, 0x84, 0x1c, 0x21, 1261 | 0x6b, 0xc0, 0x54, 0xee, 0xa4, 0x53, 0x69, 0x15, 0x89, 0x66, 0x50, 0x95, 1262 | 0xe9, 0xd2, 0x9d, 0xf6, 0x73, 0xc1, 0xa2, 0xe6, 0x2d, 0x04, 0x72, 0xcf, 1263 | 0x29, 0x6c, 0x8b, 0xc4, 0xe7, 0xbc, 0x0c, 0x2d, 0xab, 0x2b, 0x5a, 0xaf, 1264 | 0x45, 0x19, 0xdc, 0xdb, 0x36, 0x24, 0xa0, 0x7b, 0x5e, 0xa3, 0x2b, 0x8d, 1265 | 0xd9, 0x0c, 0x6a, 0xcd, 0x7a, 0xdf, 0x7c, 0x02, 0xca, 0x62, 0x37, 0xd6, 1266 | 0x86, 0x2d, 0xb8, 0x93, 0xed, 0x89, 0x7d, 0xb1, 0x4f, 0x41, 0xb3, 0xb8, 1267 | 0xb4, 0x1c, 0xd7, 0x52, 0x66, 0x97, 0xe7, 0xd9, 0xbf, 0x55, 0xa1, 0x79, 1268 | 0x34, 0xf8, 0xac, 0x3d, 0x35, 0x28, 0x7c, 0xb7, 0xee, 0xbd, 0xf0, 0x59, 1269 | 0xe7, 0xb6, 0x69, 0xf1, 0xfa, 0x5c, 0x30, 0xa1, 0x77, 0xfc, 0xab, 0xc3, 1270 | 0x5a, 0xbc, 0x58, 0xbb, 0x1c, 0x42, 0x43, 0xe5, 0xb2, 0xe1, 0xdb, 0xff, 1271 | 0xf3, 0x92, 0xb9, 0xd3, 0x9b, 0xde, 0xf2, 0x4a, 0x99, 0x1a, 0xf0, 0x21, 1272 | 0x38, 0x19, 0xa1, 0xbf, 0x28, 0x32, 0x22, 0x75, 0x60, 0x18, 0xfd, 0x39, 1273 | 0x3a, 0x5a, 0x0a, 0x3b, 0xa0, 0x0d, 0x6f, 0xee, 0x0a, 0x4c, 0x02, 0xcb, 1274 | 0xc7, 0x78, 0xa5, 0x27, 0xdf, 0x7d, 0x6d, 0x24, 0x14, 0xe9, 0x4f, 0x58, 1275 | 0x42, 0x20, 0x17, 0x4f, 0x2f, 0x10, 0xf1, 0x62, 0x95, 0xc9, 0x8b, 0x66, 1276 | 0x34, 0x9e, 0x96, 0x82, 0x8e, 0x54, 0x02, 0xfa, 0x2f, 0xaa, 0x41, 0xdb, 1277 | 0x4a, 0x72, 0x62, 0xe2, 0x52, 0x1f, 0xbc, 0xd5, 0x56, 0xcb, 0x76, 0x29, 1278 | 0xc0, 0xdb, 0xc2, 0xf1, 0xcf, 0xd3, 0x81, 0x13, 0xca, 0xca, 0x86, 0x57, 1279 | 0x15, 0x5a, 0x36, 0x85, 0xd7, 0xaf, 0xa1, 0xd4, 0x7a, 0xd7, 0xcb, 0xe5, 1280 | 0x39, 0xa9, 0xed, 0xe6, 0xaa, 0xc8, 0xe7, 0x53, 0xa4, 0x68, 0xb2, 0x79, 1281 | 0x3a, 0x8e, 0x93, 0x06, 0xce, 0x02, 0xc0, 0xea, 0x39, 0xe6, 0xed, 0x4d, 1282 | 0x34, 0x12, 0x7e, 0x05, 0x9e, 0xc9, 0xd6, 0x47, 0x37, 0x07, 0x68, 0x5f, 1283 | 0x4f, 0x16, 0xb6, 0x3d, 0x6b, 0x8a, 0x1f, 0x2e, 0xe5, 0x8b, 0x94, 0x05, 1284 | 0xe7, 0xe0, 0x3b, 0x02, 0x89, 0x13, 0xb2, 0x75, 0x5d, 0x5d, 0x42, 0x93, 1285 | 0x26, 0xa0, 0x94, 0x3e, 0xe9, 0xed, 0x78, 0x38, 0x11, 0x67, 0xb4, 0x96, 1286 | 0x03, 0xba, 0xc2, 0x59, 0x38, 0x54, 0x6f, 0x21, 0x69, 0x30, 0xbd, 0x4d, 1287 | 0x62, 0xeb, 0xfd, 0x8f, 0x1a, 0x39, 0x32, 0x96, 0xa6, 0xc4, 0xd4, 0xa0, 1288 | 0xa1, 0x69, 0x9d, 0x20, 0xaf, 0x0c, 0x8b, 0xf7, 0xc2, 0x2d, 0x4b, 0xc8, 1289 | 0xed, 0x92, 0xa1, 0x56, 0xc3, 0x49, 0xb7, 0xb9, 0x81, 0x43, 0xa3, 0x48, 1290 | 0xc3, 0xc6, 0x7b, 0x3d, 0x1d, 0x0a, 0x59, 0xbd, 0xdb, 0x23, 0x0a, 0x27, 1291 | 0x22, 0xcc, 0xf6, 0x3a, 0x98, 0x14, 0x04, 0x08, 0x95, 0xeb, 0x84, 0x09, 1292 | 0xd8, 0x17, 0x5e, 0x76, 0xf0, 0xa0, 0xd5, 0x62, 0x4b, 0x0c, 0xa0, 0x99, 1293 | 0xd4, 0xa0, 0xa9, 0x85, 0xc1, 0xd6, 0xd3, 0xa4, 0x21, 0xe6, 0xe2, 0x33, 1294 | 0x8a, 0x50, 0xb1, 0xd0, 0x50, 0xe4, 0xdb, 0x67, 0xbc, 0x03, 0x82, 0x86, 1295 | 0x1d, 0x55, 0x66, 0x4d, 0x23, 0x2d, 0x1e, 0x0e, 0xce, 0x92, 0x98, 0xbf, 1296 | 0xeb, 0x1f, 0xd4, 0xeb, 0x1f, 0x2f, 0x9e, 0xf6, 0x8c, 0xe7, 0x1b, 0xcb, 1297 | 0x61, 0x4b, 0x2a, 0x72, 0xd7, 0xdb, 0x3e, 0x05, 0x20, 0xaa, 0x4e, 0x99, 1298 | 0x12, 0x36, 0xf6, 0xc1, 0x1a, 0xb9, 0xf7, 0xe0, 0xe1, 0x7e, 0x94, 0xe8, 1299 | 0xa4, 0x1d, 0xcc, 0x91, 0xa2, 0x12, 0x43, 0x44, 0x27, 0x53, 0x06, 0x46, 1300 | 0xe5, 0xeb, 0x6c, 0xb3, 0x38, 0xcc, 0xeb, 0x97, 0x34, 0x20, 0xb2, 0xee, 1301 | 0xcf, 0xd9, 0x4c, 0x0e, 0xf8, 0x0c, 0xc5, 0xc6, 0xc8, 0x62, 0x07, 0xbf, 1302 | 0x81, 0xa1, 0xed, 0xf6, 0x78, 0xf2, 0x74, 0xd5, 0x1b, 0x65, 0xcf, 0x36, 1303 | 0x0d, 0x52, 0xab, 0x6e, 0xc3, 0xcd, 0x8e, 0x2b, 0x37, 0xcf, 0x91, 0xc3, 1304 | 0x19, 0x15, 0x05, 0x94, 0x8d, 0x0b, 0x43, 0xc3, 0xc2, 0xe7, 0xd1, 0x73, 1305 | 0x9f, 0xaa, 0x49, 0xaf, 0x65, 0xb7, 0x98, 0x95, 0x93, 0x93, 0x14, 0x43, 1306 | 0xa2, 0xd0, 0xe3, 0xe3, 0x07, 0x4c, 0xb1, 0x6c, 0x52, 0x96, 0x5c, 0x79, 1307 | 0x86, 0x37, 0x60, 0xb3, 0xda, 0x9a, 0xa1, 0x6f, 0x70, 0xf2, 0xf1, 0xbc, 1308 | 0x1b, 0x63, 0x29, 0x74, 0x36, 0x48, 0x29, 0xbe, 0x2b, 0xa5, 0x66, 0xb3, 1309 | 0x6b, 0xa3, 0x64, 0x1f, 0xb3, 0xef, 0xd2, 0x55, 0xd6, 0x8e, 0x8d, 0xeb, 1310 | 0x88, 0x7b, 0xf2, 0x7e, 0x78, 0x0d, 0xc9, 0x3e, 0x11, 0x17, 0x94, 0x65, 1311 | 0x9e, 0x3b, 0x28, 0xfe, 0x62, 0x32, 0x96, 0x35, 0x37, 0x9d, 0x7f, 0xd0, 1312 | 0x74, 0x15, 0x06, 0x75, 0x0e, 0x21, 0xac, 0x67, 0xc0, 0x1e, 0xb3, 0xd0, 1313 | 0xef, 0x50, 0x88, 0x42, 0xc8, 0xb5, 0x9f, 0x75, 0xf8, 0xbc, 0x58, 0x03, 1314 | 0xdf, 0x7a, 0x1a, 0x10, 0xe6, 0x82, 0x38, 0x7d, 0x68, 0x8e, 0x92, 0x20, 1315 | 0xe3, 0x31, 0x10, 0x60, 0xe7, 0xc2, 0x5a, 0xe8, 0x92, 0x42, 0xc9, 0x45, 1316 | 0x88, 0x07, 0x21, 0x34, 0xa9, 0xde, 0x18, 0x6e, 0xb6, 0x32, 0x3e, 0x62, 1317 | 0x6e, 0x4d, 0x8f, 0xa7, 0xc9, 0x82, 0x9c, 0x85, 0xad, 0x0d, 0xc2, 0xc0, 1318 | 0xeb, 0x8d, 0xa3, 0xc9, 0x57, 0x3f, 0x00, 0xd1, 0x3c, 0xe7, 0x5b, 0x92, 1319 | 0xec, 0x73, 0x0b, 0x1c, 0x0d, 0x9a, 0xf9, 0x56, 0x0d, 0x8a, 0x59, 0x3d, 1320 | 0x4d, 0x2d, 0x9a, 0x10, 0x9e, 0xfc, 0x36, 0xe4, 0x10, 0x8c, 0x42, 0xd6, 1321 | 0xb9, 0x08, 0x10, 0xd2, 0xdc, 0x1e, 0x82, 0xc0, 0xd1, 0x6b, 0xdd, 0x4e, 1322 | 0xb3, 0xa1, 0x56, 0xa5, 0xaa, 0xc7, 0xe4, 0x17, 0xeb, 0xe4, 0x2e, 0xeb, 1323 | 0x3c, 0xf7, 0xa0, 0x2f, 0xc6, 0x27, 0x21, 0xc0, 0x9a, 0x60, 0xae, 0xfd, 1324 | 0x30, 0x4d, 0x1c, 0x15, 0xb4, 0xbd, 0xf3, 0x82, 0xdb, 0x55, 0xa3, 0xde, 1325 | 0xf1, 0xc4, 0x64, 0xb5, 0x93, 0x7f, 0x8a, 0x8b, 0x6b, 0x5a, 0x1c, 0xb7, 1326 | 0x56, 0xd0, 0x7f, 0xb7, 0xf2, 0xcc, 0x1d, 0xf0, 0x89, 0x9e, 0x8e, 0x41, 1327 | 0xb6, 0x9f, 0x8a, 0xd0, 0xe6, 0xfd, 0xe4, 0xa1, 0x42, 0x81, 0xa3, 0x5a, 1328 | 0x3f, 0xa6, 0xf5, 0xe3, 0xac, 0xa9, 0xe6, 0xc2, 0x41, 0x49, 0xa4, 0xab, 1329 | 0xd3, 0xe9, 0x57, 0x3b, 0xe0, 0x26, 0x0b, 0xf5, 0xfd, 0xaa, 0x49, 0xa9, 1330 | 0x49, 0xb4, 0x69, 0x40, 0x56, 0xd4, 0x58, 0x71, 0xa9, 0xb1, 0x20, 0xbc, 1331 | 0x67, 0x3d, 0xa3, 0xb9, 0x2a, 0xc0, 0x20, 0x7c, 0x9a, 0xe4, 0x38, 0xc9, 1332 | 0xcb, 0x10, 0xd2, 0x5e, 0x89, 0x65, 0x0b, 0xbf, 0x3a, 0x24, 0xf0, 0x42, 1333 | 0x1a, 0x36, 0xaa, 0x28, 0xba, 0xe0, 0x1f, 0xce, 0x64, 0xb1, 0x3c, 0x10, 1334 | 0x35, 0x8c, 0x91, 0xe9, 0x94, 0xdc, 0xde, 0x18, 0x9a, 0x6d, 0xbc, 0xdb, 1335 | 0xa4, 0x54, 0xed, 0x84, 0x25, 0x99, 0xb7, 0xb7, 0x7e, 0x8b, 0x87, 0x7b, 1336 | 0xa6, 0xab, 0x18, 0xe2, 0x8d, 0xe8, 0x14, 0xe3, 0x7b, 0xb5, 0x46, 0xcc, 1337 | 0xc0, 0x66, 0xbb, 0xf6, 0x04, 0x8b, 0x85, 0x95, 0x62, 0x71, 0x80, 0xbd, 1338 | 0xb3, 0xf1, 0x77, 0x81, 0x9a, 0xdb, 0x45, 0x78, 0xd8, 0x03, 0x0b, 0x6e, 1339 | 0x5a, 0xc0, 0xa2, 0xe1, 0x79, 0x79, 0x7d, 0x75, 0xf3, 0x21, 0x56, 0x98, 1340 | 0x89, 0xcc, 0xe8, 0xd7, 0xc5, 0x16, 0xec, 0x8e, 0x41, 0xea, 0x46, 0x27, 1341 | 0xa1, 0xe9, 0x00, 0x9d, 0xb5, 0x66, 0xd7, 0xd6, 0x10, 0x36, 0x29, 0x64, 1342 | 0x01, 0x55, 0x59, 0x8b, 0x4e, 0x0b, 0x93, 0x89, 0x6f, 0xf9, 0x13, 0x83, 1343 | 0xf6, 0x4d, 0xde, 0x2a, 0xad, 0xa3, 0x65, 0x18, 0xaa, 0x7a, 0x47, 0x66, 1344 | 0x7b, 0x86, 0xd3, 0x5f, 0xec, 0x3a, 0x5c, 0xb7, 0x25, 0x06, 0xc5, 0x40, 1345 | 0x9d, 0x59, 0xe1, 0x7b, 0xc5, 0xf6, 0x24, 0xf9, 0x66, 0x2e, 0x39, 0x74, 1346 | 0x72, 0xfb, 0x02, 0x39, 0x4a, 0xa0, 0xf6, 0x9d, 0xd2, 0x31, 0xa0, 0x5e, 1347 | 0x09, 0x48, 0x20, 0x89, 0x78, 0xa4, 0xab, 0x70, 0x27, 0xde, 0x8a, 0x35, 1348 | 0x4c, 0x64, 0x1f, 0x74, 0xfd, 0x49, 0x3e, 0x00, 0xec, 0x60, 0x48, 0x1e, 1349 | 0x6b, 0x31, 0x3a, 0x01, 0x5b, 0xcf, 0xe0, 0x3e, 0xc9, 0x8d, 0x6c, 0xc2, 1350 | 0x28, 0x3f, 0x58, 0xaf, 0xa8, 0x0a, 0xff, 0x43, 0x28, 0x0a, 0x46, 0x0c, 1351 | 0x03, 0x6c, 0xa8, 0x37, 0xa5, 0xcf, 0x63, 0xb5, 0x28, 0xc9, 0xa8, 0xe2, 1352 | 0x71, 0x74, 0x65, 0x07, 0x9f, 0x70, 0xd7, 0xb8, 0x90, 0xa1, 0xc7, 0x7c, 1353 | 0x76, 0x9c, 0xee, 0xfa, 0x1a, 0xf3, 0x12, 0xad, 0xd4, 0x34, 0xd9, 0xf8, 1354 | 0x4d, 0x27, 0x4e, 0x47, 0xa6, 0x1c, 0x7c, 0x3d, 0x77, 0x26, 0xd7, 0x99, 1355 | 0x3d, 0x99, 0x35, 0x9d, 0xaa, 0x7c, 0x79, 0xbd, 0x81, 0xf9, 0x56, 0x3a, 1356 | 0xc9, 0x0e, 0x10, 0x8c, 0x33, 0x95, 0xdf, 0x9f, 0xd1, 0x95, 0x1b, 0x6b, 1357 | 0xb8, 0x2f, 0xcf, 0xd7, 0xf4, 0xfc, 0x7e, 0x0f, 0xa9, 0x92, 0xfb, 0xb7, 1358 | 0x3f, 0x27, 0x99, 0x9f, 0xbf, 0x3e, 0xbd, 0x7f, 0x06, 0x49, 0x61, 0x79, 1359 | 0xf5, 0xfd, 0x57, 0x48, 0x56, 0x9c, 0x93, 0xf5, 0xa2, 0xfe, 0x33, 0xaa, 1360 | 0x93, 0x82, 0x6a, 0xf8, 0x3a, 0xe0, 0x3f, 0xff, 0x7c, 0xa0, 0xf8, 0xbd, 1361 | 0xb6, 0x07, 0x77, 0xcb, 0x7f, 0xc6, 0x85, 0xad, 0x40, 0x1d, 0x34, 0x39, 1362 | 0xfe, 0x2a, 0xcf, 0xdd, 0x58, 0x4f, 0x45, 0x02, 0xd0, 0xf6, 0xaf, 0x5f, 1363 | 0x61, 0xaf, 0xf7, 0xd1, 0x82, 0x9e, 0x24, 0x7e, 0xfd, 0x15, 0x8e, 0xdb, 1364 | 0x27, 0xfd, 0x79, 0x0b, 0xfb, 0x3e, 0xac, 0xcf, 0x30, 0x2c, 0x8f, 0x4f, 1365 | 0xe6, 0xba, 0x98, 0x52, 0x78, 0xd9, 0xa8, 0xb4, 0xe7, 0x46, 0x2f, 0x33, 1366 | 0x41, 0x92, 0x73, 0xdd, 0x77, 0xee, 0xda, 0x62, 0xca, 0x6b, 0xbf, 0xea, 1367 | 0xeb, 0xff, 0x25, 0x7c, 0x63, 0x94, 0x8e, 0xfd, 0xfe, 0x1d, 0xbb, 0x10, 1368 | 0x49, 0xca, 0x30, 0x28, 0xca, 0xf8, 0xb7, 0x77, 0x84, 0xdf, 0x18, 0xc5, 1369 | 0xa6, 0xa8, 0xe4, 0xc6, 0x26, 0x8e, 0xc7, 0x53, 0x1f, 0x93, 0x2c, 0x0c, 1370 | 0x8e, 0x2e, 0xf7, 0xfc, 0x4f, 0x7c, 0xb2, 0xb3, 0xd4, 0xfb, 0x60, 0x88, 1371 | 0xd6, 0xf4, 0x3f, 0x02, 0x94, 0xe5, 0x6a, 0x04, 0x26, 0xa6, 0x23, 0x3f, 1372 | 0x65, 0x5a, 0x93, 0x12, 0x44, 0x64, 0x0f, 0x10, 0x32, 0x84, 0x46, 0x3b, 1373 | 0x55, 0x6a, 0x14, 0x95, 0x76, 0xd7, 0x74, 0xfa, 0x05, 0x1f, 0x9f, 0x06, 1374 | 0xf9, 0x76, 0xa2, 0xe8, 0x69, 0x82, 0x8a, 0xbe, 0x58, 0x05, 0x76, 0x20, 1375 | 0x87, 0x01, 0xb3, 0x8b, 0xf5, 0xdc, 0x13, 0x18, 0x85, 0xcc, 0xe0, 0x1d, 1376 | 0x3f, 0xc3, 0x67, 0x92, 0x22, 0xd1, 0xc3, 0xe1, 0x36, 0x56, 0x45, 0x9b, 1377 | 0x97, 0xb4, 0xec, 0x6e, 0x90, 0xc7, 0x9b, 0x34, 0x3d, 0xd4, 0xcf, 0x81, 1378 | 0xd5, 0x1b, 0x29, 0x3e, 0x66, 0xaa, 0x37, 0x0d, 0x98, 0x36, 0x1d, 0x08, 1379 | 0xd1, 0x54, 0x41, 0xfe, 0x1c, 0x83, 0xf6, 0x60, 0x1d, 0x89, 0xec, 0x2f, 1380 | 0x50, 0x2c, 0x13, 0xc2, 0xcf, 0x32, 0x39, 0x19, 0x86, 0xd9, 0xf0, 0x39, 1381 | 0x74, 0x4f, 0x75, 0x51, 0x04, 0x3e, 0x80, 0xb9, 0xb3, 0x76, 0x62, 0x6a, 1382 | 0x07, 0x0b, 0xcb, 0x55, 0xb1, 0xf2, 0xb0, 0x9a, 0x5e, 0x62, 0x93, 0x57, 1383 | 0x4f, 0xf0, 0x5e, 0x82, 0x27, 0xe0, 0xe4, 0xde, 0xe5, 0x63, 0xb6, 0x39, 1384 | 0x24, 0xdc, 0xe4, 0x56, 0x7e, 0xf7, 0xcc, 0xb8, 0x93, 0x12, 0x27, 0x9f, 1385 | 0x02, 0xad, 0xdf, 0x3c, 0xe4, 0x85, 0x54, 0x64, 0x59, 0x29, 0xd7, 0xf0, 1386 | 0xf1, 0xea, 0x03, 0x10, 0x79, 0x1a, 0xe1, 0x1f, 0x10, 0xca, 0x45, 0xcb, 1387 | 0xc7, 0x07, 0x88, 0xde, 0x73, 0x63, 0xc8, 0x50, 0x85, 0xce, 0xd3, 0x3f, 1388 | 0x72, 0xba, 0xbe, 0xcc, 0xd8, 0xb1, 0xe8, 0x7a, 0x92, 0xa9, 0xf6, 0x51, 1389 | 0x85, 0x44, 0xd4, 0x20, 0xc9, 0x27, 0x9a, 0xf8, 0xa9, 0xfb, 0xc6, 0x52, 1390 | 0xe4, 0x7f, 0x79, 0x2f, 0xcb, 0x0a, 0x14, 0xf9, 0x6f, 0xef, 0xc2, 0x6f, 1391 | 0x9d, 0xb3, 0xf6, 0xad, 0x73, 0x9a, 0xa2, 0x1c, 0xff, 0xd6, 0x77, 0x72, 1392 | 0xe3, 0x43, 0x99, 0x3f, 0x1c, 0x5e, 0xd8, 0xff, 0xfd, 0xbd, 0x2c, 0xfb, 1393 | 0x8e, 0x74, 0xd3, 0x9e, 0x8b, 0x2e, 0x14, 0xa3, 0xda, 0x8c, 0xb4, 0x8a, 1394 | 0x14, 0xcd, 0x60, 0xb6, 0x30, 0x03, 0xd6, 0x6b, 0x1f, 0x7c, 0x94, 0x1c, 1395 | 0xcd, 0x06, 0x0e, 0x10, 0x12, 0x14, 0x75, 0x96, 0x12, 0x22, 0x09, 0x3c, 1396 | 0xdf, 0x03, 0x91, 0x3e, 0x98, 0x5c, 0x2e, 0x9e, 0xfe, 0xe7, 0x60, 0x6c, 1397 | 0x97, 0xa1, 0x06, 0xa2, 0x26, 0xa1, 0xea, 0x51, 0xa3, 0x67, 0x31, 0xa1, 1398 | 0xb4, 0x9b, 0x85, 0x67, 0xd0, 0xb3, 0xef, 0x54, 0xca, 0xcd, 0xce, 0xd0, 1399 | 0x4d, 0xca, 0xb9, 0x09, 0x30, 0xb7, 0xaa, 0xaf, 0x4b, 0xd0, 0x76, 0x31, 1400 | 0x65, 0x12, 0xac, 0xe6, 0xfc, 0x06, 0xc0, 0xa3, 0x4f, 0x4d, 0xf0, 0xe5, 1401 | 0x85, 0xf1, 0xe6, 0x22, 0xd2, 0xe8, 0xab, 0xec, 0x84, 0xed, 0x80, 0xa5, 1402 | 0xb1, 0xd1, 0xec, 0xe4, 0x65, 0x25, 0xf6, 0xb6, 0x61, 0xb6, 0x98, 0xe1, 1403 | 0x82, 0xb0, 0x4b, 0xbc, 0xc9, 0xbd, 0x2a, 0xad, 0x7c, 0x94, 0xfd, 0xa7, 1404 | 0x03, 0x51, 0xfd, 0x66, 0xd5, 0x6a, 0x83, 0xc2, 0x4c, 0xf2, 0x2e, 0xb4, 1405 | 0xb8, 0xbe, 0x97, 0x2d, 0x4b, 0xbd, 0x3e, 0xd7, 0xe3, 0xd7, 0xef, 0xbb, 1406 | 0x72, 0x79, 0xdb, 0x1a, 0x29, 0xde, 0xf6, 0xa4, 0xb2, 0x3f, 0x31, 0xf2, 1407 | 0x5f, 0x3a, 0x31, 0x48, 0x53, 0xfc, 0xde, 0x25, 0x72, 0x63, 0xe4, 0xc2, 1408 | 0xa4, 0xc8, 0x4f, 0xc4, 0x1f, 0x7b, 0x2a, 0xec, 0x2f, 0x9b, 0x2c, 0x1c, 1409 | 0xfd, 0xaf, 0xdf, 0x05, 0x6e, 0xdb, 0xb5, 0x5f, 0xc6, 0x73, 0xa7, 0x07, 1410 | 0x46, 0x9d, 0xc7, 0xce, 0x41, 0x6b, 0x6e, 0x7c, 0x1d, 0x3e, 0xc9, 0x1f, 1411 | 0x39, 0x3c, 0x91, 0xdb, 0x9e, 0xe5, 0x37, 0x49, 0x2e, 0x75, 0x29, 0x62, 1412 | 0x8e, 0x09, 0x1f, 0x22, 0xa5, 0xbd, 0x79, 0xb0, 0xd7, 0x17, 0x46, 0xd4, 1413 | 0x40, 0x7b, 0xb3, 0x25, 0x40, 0x7a, 0xb2, 0x85, 0xfb, 0xec, 0x75, 0x7b, 1414 | 0x3f, 0xc0, 0x64, 0x19, 0xde, 0x8d, 0x95, 0x2b, 0x2c, 0xe5, 0xc0, 0xcf, 1415 | 0xcd, 0x79, 0x9c, 0x89, 0xb8, 0x24, 0x82, 0xc6, 0x52, 0x0b, 0x1f, 0xe1, 1416 | 0x58, 0x70, 0x43, 0xf4, 0x7d, 0x8d, 0x45, 0x21, 0x05, 0xde, 0x35, 0x38, 1417 | 0xc9, 0xed, 0x84, 0xa5, 0x99, 0x63, 0x89, 0xee, 0x76, 0x50, 0xde, 0x30, 1418 | 0x1d, 0x97, 0xc0, 0x86, 0x54, 0x6c, 0x61, 0x92, 0xe9, 0xce, 0x58, 0x03, 1419 | 0x2d, 0x0f, 0xa0, 0x22, 0x35, 0x38, 0x14, 0x2c, 0x44, 0xda, 0x2b, 0xbe, 1420 | 0x65, 0x00, 0x4e, 0x31, 0x5d, 0x1a, 0x26, 0x27, 0x9c, 0xf4, 0xde, 0xf2, 1421 | 0x93, 0xcd, 0xba, 0xa9, 0xee, 0x9b, 0x10, 0xc9, 0x2f, 0x86, 0xf2, 0x2d, 1422 | 0xc6, 0x4a, 0x5b, 0x81, 0xd4, 0x78, 0x20, 0xa1, 0x91, 0x8c, 0x17, 0x17, 1423 | 0x7e, 0x43, 0x96, 0xf7, 0x3e, 0xcf, 0x64, 0x98, 0xa9, 0x39, 0xc5, 0x36, 1424 | 0x14, 0x5e, 0xc9, 0x84, 0xd8, 0x3a, 0x86, 0x94, 0xa4, 0x31, 0x5f, 0x46, 1425 | 0xb9, 0x88, 0x94, 0x72, 0xa2, 0x3a, 0x88, 0x50, 0xca, 0x42, 0x06, 0xb1, 1426 | 0x8b, 0x4c, 0x60, 0x03, 0xce, 0xb9, 0x37, 0x5d, 0xd6, 0xc8, 0x26, 0x79, 1427 | 0x5b, 0xd3, 0x6e, 0x36, 0x78, 0xe4, 0x1b, 0x39, 0x19, 0xd4, 0x48, 0xcf, 1428 | 0xc1, 0x2e, 0x79, 0x3e, 0x47, 0x69, 0xda, 0x85, 0xf5, 0xb1, 0x53, 0x61, 1429 | 0x52, 0x73, 0xd2, 0x4d, 0xcd, 0x89, 0xe2, 0xf8, 0x48, 0x3a, 0x1b, 0x94, 1430 | 0x26, 0x89, 0xd6, 0x7b, 0x9a, 0x06, 0x79, 0x92, 0x02, 0x8e, 0x8f, 0x15, 1431 | 0x0f, 0x25, 0x77, 0x38, 0xe5, 0xe5, 0x6d, 0xeb, 0x06, 0x9c, 0x60, 0xff, 1432 | 0xb8, 0xec, 0xf5, 0xd9, 0x07, 0xf8, 0x58, 0x37, 0x9d, 0x1f, 0x67, 0x40, 1433 | 0x72, 0x7b, 0x41, 0xf8, 0x2a, 0x5e, 0x94, 0x1a, 0x2c, 0x7d, 0x2f, 0x46, 1434 | 0xb2, 0x81, 0x4f, 0xce, 0xa3, 0xb8, 0x58, 0x79, 0x24, 0xb8, 0x82, 0x88, 1435 | 0x2a, 0xba, 0x69, 0xf6, 0x10, 0x96, 0x2e, 0x2d, 0xf9, 0x98, 0x7e, 0xed, 1436 | 0x50, 0x62, 0xdf, 0x2f, 0x8a, 0x16, 0x10, 0x45, 0xf3, 0xc1, 0x6e, 0x1e, 1437 | 0x7b, 0x6b, 0x4a, 0xac, 0xfb, 0xfe, 0xc6, 0x7d, 0x2e, 0x54, 0x88, 0x0e, 1438 | 0x2c, 0xb0, 0x07, 0x1f, 0x3c, 0x94, 0xb4, 0x56, 0x83, 0x1e, 0x3b, 0x08, 1439 | 0xda, 0xa6, 0x52, 0x84, 0xa0, 0x65, 0xbe, 0x8e, 0x52, 0x18, 0xe9, 0x4c, 1440 | 0x38, 0xbf, 0xf4, 0x30, 0xa4, 0xf9, 0x43, 0x44, 0xc8, 0xf3, 0x98, 0xde, 1441 | 0x2b, 0x37, 0xa1, 0xf0, 0x46, 0xb1, 0xe9, 0xbc, 0xc7, 0x5b, 0xc9, 0x1d, 1442 | 0x50, 0x29, 0x46, 0xb6, 0x3c, 0xa3, 0xb2, 0x85, 0xd3, 0xc2, 0xbd, 0x90, 1443 | 0x71, 0x64, 0xfa, 0x0e, 0x09, 0xd6, 0x25, 0xcd, 0x37, 0x6d, 0xd6, 0x4e, 1444 | 0x51, 0x33, 0x31, 0x3d, 0x93, 0xf9, 0x27, 0x3f, 0x68, 0x9c, 0xc9, 0xa7, 1445 | 0x2a, 0x4c, 0x93, 0x1b, 0x1a, 0x6a, 0xef, 0xe0, 0xf6, 0x08, 0x20, 0x7b, 1446 | 0x1d, 0xf2, 0xf5, 0x91, 0x7c, 0x81, 0x72, 0xf2, 0x43, 0xf7, 0x54, 0x17, 1447 | 0xfb, 0x5c, 0x81, 0x71, 0x16, 0x00, 0x36, 0xec, 0x44, 0x18, 0xb1, 0x0f, 1448 | 0x37, 0x01, 0xc2, 0x8f, 0x68, 0xd5, 0xd8, 0xc9, 0x06, 0x70, 0x40, 0xce, 1449 | 0xed, 0x91, 0x13, 0x22, 0x4b, 0xc2, 0x0d, 0xb9, 0xb4, 0x97, 0x3b, 0xda, 1450 | 0x83, 0x3f, 0xaf, 0x46, 0x02, 0x03, 0x48, 0x1e, 0x4a, 0x8b, 0x59, 0x8a, 1451 | 0x8b, 0x31, 0x06, 0x36, 0x9d, 0xd4, 0x65, 0x25, 0xd8, 0xac, 0x2b, 0x7a, 1452 | 0x7b, 0x48, 0x8d, 0x26, 0x1e, 0xf0, 0x13, 0x38, 0x86, 0x05, 0xd8, 0xed, 1453 | 0x2c, 0xf8, 0x3a, 0x27, 0x38, 0x95, 0xb4, 0xc1, 0x2a, 0x36, 0x9a, 0x69, 1454 | 0x7c, 0x8a, 0xcf, 0x3c, 0xd7, 0x45, 0x4e, 0x0a, 0xb5, 0x78, 0x11, 0xad, 1455 | 0x7a, 0xbd, 0xca, 0xeb, 0xb2, 0xf6, 0x10, 0xc0, 0xb9, 0x61, 0x61, 0x0a, 1456 | 0x92, 0x6b, 0xb3, 0x13, 0xee, 0x39, 0x29, 0x68, 0xeb, 0xcb, 0xef, 0x39, 1457 | 0x7f, 0x4a, 0x32, 0xa1, 0x72, 0xc4, 0xa7, 0x2e, 0x02, 0xe0, 0xd9, 0x36, 1458 | 0x17, 0x26, 0xec, 0x2c, 0xdc, 0xf5, 0xd6, 0x70, 0x3e, 0x11, 0x5b, 0xf7, 1459 | 0x5f, 0xcc, 0xc3, 0x8a, 0xda, 0x00, 0x23, 0xf7, 0x60, 0x54, 0x02, 0x6a, 1460 | 0x8f, 0x90, 0x0a, 0x68, 0xd7, 0x09, 0x13, 0x0f, 0x21, 0x43, 0xb2, 0x72, 1461 | 0x1a, 0xe9, 0x7e, 0xb5, 0x0b, 0x78, 0x74, 0xd0, 0x1e, 0xc2, 0x2e, 0x53, 1462 | 0x79, 0x40, 0x47, 0xe7, 0x1c, 0xef, 0xd9, 0x1f, 0xd8, 0xa7, 0x89, 0xe6, 1463 | 0xa1, 0x28, 0xa1, 0x66, 0x95, 0xd9, 0xc4, 0xe1, 0x75, 0x76, 0x03, 0x68, 1464 | 0xec, 0xec, 0x67, 0x8d, 0xf4, 0xc1, 0xd3, 0x9b, 0x32, 0xb6, 0xd1, 0x47, 1465 | 0x02, 0x1e, 0x47, 0x88, 0x73, 0xd3, 0xe5, 0x90, 0x57, 0x3d, 0x40, 0x9b, 1466 | 0x2d, 0xa7, 0x1c, 0x09, 0x06, 0xf4, 0xbc, 0x22, 0xe3, 0x9e, 0x1e, 0x1c, 1467 | 0x5b, 0xf8, 0x2e, 0x33, 0x25, 0xcf, 0x36, 0x87, 0x7d, 0x76, 0x72, 0x31, 1468 | 0x50, 0x1f, 0x9a, 0x2d, 0x58, 0x61, 0x50, 0x96, 0x2b, 0xef, 0x5d, 0xb4, 1469 | 0xc0, 0xf2, 0x94, 0xde, 0x78, 0x8d, 0x8b, 0xc1, 0xf6, 0xd8, 0x68, 0xba, 1470 | 0x85, 0x1a, 0x89, 0x98, 0x03, 0xf0, 0x0d, 0x78, 0xb6, 0x48, 0x97, 0xa1, 1471 | 0x87, 0x56, 0xba, 0x57, 0x81, 0x41, 0xf7, 0x79, 0x00, 0x9e, 0xf3, 0x40, 1472 | 0x26, 0x5e, 0x30, 0x38, 0x02, 0x92, 0x1a, 0x32, 0x3f, 0xf8, 0xf8, 0xd8, 1473 | 0x6c, 0xac, 0xa4, 0x17, 0xac, 0x64, 0x1e, 0x2b, 0xd2, 0x1c, 0xe8, 0xa1, 1474 | 0x2f, 0x47, 0x1e, 0xc0, 0x76, 0xab, 0xbf, 0xfc, 0x9e, 0x3b, 0xde, 0x3e, 1475 | 0x74, 0x3d, 0x13, 0x9c, 0xa6, 0xdf, 0x36, 0xf1, 0x8c, 0x38, 0x31, 0x2a, 1476 | 0x1f, 0x40, 0x2c, 0x03, 0x9f, 0x48, 0x05, 0x02, 0x19, 0x9e, 0x34, 0x65, 1477 | 0xdc, 0xf3, 0x24, 0x59, 0x2e, 0x25, 0xb5, 0x0d, 0xaf, 0xee, 0xc6, 0xa6, 1478 | 0x46, 0x36, 0x60, 0x04, 0x38, 0x71, 0x4d, 0x59, 0xc1, 0x32, 0xa8, 0x9c, 1479 | 0x7d, 0x09, 0x12, 0x68, 0x11, 0xb5, 0xeb, 0xa0, 0x45, 0xeb, 0xc8, 0x43, 1480 | 0x85, 0x45, 0xb4, 0xa4, 0x34, 0x1b, 0x03, 0x38, 0x52, 0x8f, 0x1b, 0x7b, 1481 | 0x36, 0x73, 0xec, 0xb3, 0xdf, 0x72, 0x24, 0x84, 0x90, 0x81, 0x00, 0x86, 1482 | 0x9b, 0x01, 0x44, 0x1d, 0x7e, 0x4c, 0xfd, 0x76, 0xb3, 0x48, 0x61, 0x0e, 1483 | 0x9b, 0x0f, 0x0d, 0x38, 0x00, 0x91, 0x4f, 0x0e, 0xdf, 0x88, 0x2d, 0xa5, 1484 | 0xb5, 0x7d, 0x9f, 0x79, 0x4a, 0x97, 0xce, 0xb9, 0x72, 0xbc, 0x8c, 0xe2, 1485 | 0xf6, 0xae, 0x3c, 0xa9, 0x6d, 0x06, 0x37, 0x72, 0xfa, 0x88, 0xb1, 0xd3, 1486 | 0xcb, 0xcc, 0x4e, 0xe7, 0x41, 0xcc, 0xeb, 0x11, 0x1e, 0xe2, 0xa7, 0x11, 1487 | 0xaa, 0xdd, 0x1f, 0xdd, 0x9b, 0xcd, 0x79, 0x34, 0x55, 0x70, 0x42, 0x07, 1488 | 0x2c, 0x11, 0x6d, 0x35, 0xc8, 0xe0, 0x59, 0xb7, 0xcd, 0x47, 0x8a, 0x7d, 1489 | 0x4c, 0x44, 0x69, 0xcd, 0xec, 0xa9, 0x57, 0x91, 0xcd, 0x4d, 0x7c, 0x85, 1490 | 0x76, 0x0f, 0x6e, 0x10, 0xcd, 0x5a, 0x6c, 0x13, 0x0a, 0x9d, 0xac, 0x17, 1491 | 0x76, 0x80, 0x15, 0x25, 0x03, 0xfc, 0x8b, 0x5e, 0xeb, 0xde, 0x22, 0x8c, 1492 | 0x5c, 0xfc, 0x4c, 0xfd, 0x7a, 0x95, 0x6f, 0x91, 0x01, 0xaa, 0xe0, 0xf6, 1493 | 0xde, 0xc9, 0xee, 0xae, 0x29, 0xa2, 0xe6, 0x1e, 0x8d, 0xcf, 0xb9, 0xba, 1494 | 0x2d, 0xd8, 0x95, 0x3d, 0x07, 0x73, 0xb9, 0x21, 0xd2, 0x94, 0x17, 0xeb, 1495 | 0x1c, 0xba, 0x03, 0x7f, 0x8f, 0xe4, 0xea, 0x80, 0x8e, 0x73, 0x4e, 0x1f, 1496 | 0x46, 0x53, 0x81, 0x92, 0x45, 0xbd, 0x6b, 0x64, 0x91, 0x15, 0x8d, 0x7d, 1497 | 0xd5, 0x20, 0x51, 0x68, 0x7b, 0x4f, 0x3d, 0x21, 0x15, 0x14, 0xbe, 0xef, 1498 | 0x83, 0xd5, 0x3c, 0xb1, 0x37, 0x5a, 0xfa, 0xc7, 0x44, 0x83, 0x06, 0x00, 1499 | 0x1c, 0x74, 0x11, 0xa3, 0x51, 0xce, 0xcf, 0xbd, 0xbe, 0xd6, 0xfe, 0x9e, 1500 | 0xa7, 0xfe, 0xdb, 0xd0, 0x70, 0x07, 0xa9, 0x9e, 0x38, 0xb7, 0xdc, 0x8b, 1501 | 0xa4, 0x70, 0x6b, 0x16, 0x4b, 0x7d, 0xb4, 0x1d, 0x1d, 0xba, 0x63, 0xd8, 1502 | 0xb5, 0x3f, 0xc7, 0x81, 0x79, 0x8a, 0xa1, 0x5f, 0xa4, 0xa6, 0xfd, 0x52, 1503 | 0x27, 0xeb, 0x8a, 0xe9, 0xed, 0xf9, 0x21, 0xab, 0x42, 0x47, 0x6e, 0x6c, 1504 | 0xa6, 0x83, 0x47, 0x42, 0x18, 0x1c, 0x3e, 0x4d, 0x7e, 0x4f, 0x0a, 0x29, 1505 | 0x57, 0x17, 0x5b, 0x9a, 0x46, 0x04, 0x25, 0xa5, 0x21, 0x92, 0x59, 0xc4, 1506 | 0x76, 0x60, 0xd1, 0xc9, 0xd2, 0x63, 0x7a, 0x52, 0x54, 0x04, 0x58, 0x4a, 1507 | 0x26, 0xe5, 0x8d, 0x90, 0x1d, 0xbb, 0x92, 0x32, 0x40, 0x72, 0xb4, 0x8b, 1508 | 0xb1, 0x16, 0x0f, 0x81, 0x65, 0x48, 0xdc, 0xe4, 0xdf, 0x3a, 0x13, 0x64, 1509 | 0x6a, 0xa2, 0xa8, 0x14, 0xbb, 0x89, 0xb5, 0xff, 0x09, 0x6b, 0x4a, 0x2e, 1510 | 0xfa, 0xc5, 0x37, 0x98, 0x26, 0xed, 0xd5, 0xae, 0xec, 0xa5, 0x6d, 0xae, 1511 | 0x29, 0x70, 0xd2, 0x0c, 0x32, 0x0b, 0x43, 0xc9, 0x01, 0xef, 0x25, 0x3a, 1512 | 0x58, 0x4d, 0x4d, 0x8b, 0x3f, 0x89, 0x12, 0xd1, 0x70, 0x20, 0xdc, 0xf8, 1513 | 0x9a, 0x8f, 0xa1, 0x8c, 0xaa, 0x32, 0x44, 0x8b, 0x7a, 0xfd, 0xa5, 0x17, 1514 | 0x39, 0x48, 0x3d, 0xfa, 0x60, 0x63, 0xc8, 0x97, 0x8e, 0x62, 0x2e, 0x06, 1515 | 0x73, 0xe5, 0x14, 0x66, 0xd8, 0x2b, 0x6b, 0xed, 0x0b, 0xb4, 0x18, 0xbc, 1516 | 0x90, 0x6e, 0xca, 0x1d, 0xfa, 0x68, 0x09, 0xb2, 0x0a, 0x39, 0xbc, 0xd5, 1517 | 0xe7, 0xd8, 0xe1, 0x1d, 0x21, 0x3f, 0x13, 0xce, 0x81, 0x69, 0x5d, 0xd1, 1518 | 0x46, 0x73, 0x76, 0x03, 0xbe, 0xc2, 0x46, 0x6b, 0xd4, 0x9d, 0x34, 0xb9, 1519 | 0x49, 0x20, 0x2b, 0x9a, 0x38, 0x55, 0xc9, 0x24, 0xeb, 0xea, 0x1c, 0x49, 1520 | 0x51, 0x5a, 0xe3, 0xdd, 0xb0, 0x44, 0xbb, 0xc9, 0x00, 0x0d, 0x47, 0x81, 1521 | 0xf8, 0x62, 0x07, 0xd6, 0x5c, 0xdd, 0xf0, 0x9c, 0xdd, 0xde, 0x69, 0x20, 1522 | 0x5b, 0xe6, 0x55, 0x25, 0x8b, 0x85, 0x54, 0x61, 0x81, 0xfa, 0xdd, 0x8f, 1523 | 0xfc, 0x79, 0xf4, 0x91, 0x09, 0x14, 0xbb, 0x5c, 0x4c, 0xc8, 0xd9, 0x92, 1524 | 0x18, 0x2d, 0xa8, 0x00, 0xd0, 0xdc, 0xe6, 0x96, 0xba, 0xc3, 0x54, 0xc9, 1525 | 0x7d, 0xba, 0x7b, 0xd0, 0x4d, 0x88, 0x63, 0x47, 0xe0, 0xac, 0x2b, 0x02, 1526 | 0xed, 0x30, 0x88, 0x2d, 0xa0, 0x7e, 0x48, 0x75, 0xea, 0x73, 0x85, 0x6b, 1527 | 0x4e, 0x5c, 0xe9, 0x9a, 0x24, 0x35, 0x18, 0x80, 0xe0, 0xdf, 0xcc, 0xd6, 1528 | 0xef, 0xfd, 0x83, 0x32, 0xad, 0x41, 0xab, 0x66, 0xe3, 0x10, 0xc9, 0xc3, 1529 | 0xf3, 0x38, 0xb5, 0x44, 0x9b, 0x3c, 0x28, 0x5d, 0x31, 0x4a, 0x21, 0x1a, 1530 | 0x5d, 0xd3, 0x7a, 0x4b, 0xfc, 0xdb, 0x8b, 0x9a, 0x28, 0x4d, 0x03, 0xfe, 1531 | 0xb5, 0x20, 0xd2, 0x0d, 0x1b, 0xca, 0x4e, 0x3b, 0x76, 0xff, 0x36, 0x3d, 1532 | 0x66, 0x5a, 0x88, 0x25, 0xc6, 0xce, 0xaa, 0x9f, 0x22, 0x91, 0x06, 0x2b, 1533 | 0xd8, 0x05, 0x7c, 0xe7, 0xad, 0x48, 0x6d, 0x59, 0x97, 0x89, 0xc8, 0xb1, 1534 | 0x71, 0x0f, 0xbe, 0xc8, 0x1d, 0x49, 0x4a, 0x33, 0x7e, 0x01, 0x07, 0xef, 1535 | 0xa8, 0x14, 0x58, 0x12, 0x2b, 0xba, 0xf4, 0x4d, 0x2f, 0x7e, 0x1c, 0x7a, 1536 | 0x37, 0x66, 0x96, 0x31, 0xd2, 0x5c, 0x0d, 0xc0, 0xaa, 0x17, 0x1a, 0x83, 1537 | 0x1b, 0xe0, 0xe5, 0x22, 0xcb, 0x1b, 0x39, 0xb6, 0xc0, 0x87, 0xdc, 0xa8, 1538 | 0x00, 0x5c, 0x97, 0x3e, 0xc3, 0x2f, 0xa7, 0xac, 0x20, 0x94, 0x0a, 0x80, 1539 | 0x79, 0x1e, 0xa8, 0x20, 0x45, 0xfb, 0x99, 0x5e, 0x1c, 0x8d, 0x8b, 0x68, 1540 | 0xc6, 0x52, 0xda, 0x61, 0x0e, 0xc7, 0xcf, 0x53, 0x93, 0x53, 0x23, 0x52, 1541 | 0xac, 0xba, 0x2d, 0xcc, 0x76, 0xa3, 0x1b, 0xae, 0x0b, 0xc7, 0xc1, 0x14, 1542 | 0x5e, 0x00, 0x51, 0xb8, 0x7c, 0x5b, 0x84, 0x24, 0x03, 0xc0, 0x29, 0x6d, 1543 | 0x2e, 0xb9, 0x57, 0xe9, 0x95, 0x98, 0x85, 0xbd, 0x54, 0xd2, 0x3b, 0x56, 1544 | 0xdb, 0x0c, 0x6c, 0xca, 0x08, 0xe7, 0xc8, 0xe2, 0x12, 0x90, 0x4a, 0xc7, 1545 | 0x7d, 0xf8, 0x62, 0xb4, 0x05, 0x97, 0x06, 0x51, 0x97, 0x37, 0x90, 0x37, 1546 | 0x38, 0x8e, 0x8e, 0x02, 0x2e, 0x65, 0xe6, 0xba, 0x43, 0x4c, 0x17, 0x9f, 1547 | 0x66, 0x49, 0xdd, 0x38, 0x8e, 0xe5, 0x64, 0xbf, 0x39, 0x0e, 0x99, 0x9e, 1548 | 0x73, 0x2c, 0x43, 0x8a, 0x23, 0x53, 0x0e, 0x42, 0x06, 0xaa, 0x64, 0x8e, 1549 | 0x62, 0x5f, 0xc9, 0x16, 0xa4, 0xce, 0xa2, 0x8c, 0xf6, 0xca, 0x20, 0x94, 1550 | 0x88, 0xb5, 0x3c, 0x8d, 0xa3, 0x95, 0x15, 0xe0, 0x72, 0x6e, 0x42, 0xd6, 1551 | 0x92, 0x8f, 0x0e, 0x73, 0x1c, 0x77, 0x81, 0x30, 0xec, 0xa9, 0xcf, 0x6c, 1552 | 0x71, 0x0c, 0x0b, 0xcc, 0x78, 0xd0, 0x08, 0xce, 0xbb, 0xee, 0x44, 0xd1, 1553 | 0x0d, 0xb4, 0x4d, 0xb8, 0x1c, 0xb2, 0x9b, 0x69, 0x3b, 0x85, 0xc4, 0x24, 1554 | 0xac, 0xe3, 0x8c, 0x50, 0x9a, 0x94, 0xa9, 0x9b, 0x55, 0x8d, 0xe3, 0x87, 1555 | 0x37, 0x66, 0x0a, 0x6a, 0x92, 0x62, 0xec, 0x61, 0xff, 0xec, 0xfa, 0xd1, 1556 | 0x5f, 0xfe, 0x28, 0x0b, 0xf5, 0x93, 0x66, 0x16, 0xa1, 0xee, 0xde, 0xb1, 1557 | 0xc8, 0xa1, 0x64, 0xeb, 0xf6, 0xd3, 0xe8, 0x56, 0x7b, 0x55, 0x3a, 0xfa, 1558 | 0x54, 0x01, 0x9a, 0x53, 0x3d, 0xb3, 0xbe, 0xe3, 0xab, 0x90, 0x45, 0x82, 1559 | 0xcc, 0x9c, 0x2f, 0x76, 0xe8, 0x59, 0xd2, 0x8c, 0x14, 0xb2, 0x99, 0x47, 1560 | 0x56, 0xab, 0x16, 0x97, 0xef, 0x15, 0x17, 0x83, 0x82, 0x62, 0x8b, 0x4b, 1561 | 0xc7, 0x42, 0x4e, 0x2f, 0x43, 0xd4, 0x17, 0x20, 0xef, 0x35, 0xf8, 0xaa, 1562 | 0x65, 0x14, 0xce, 0xbd, 0xa5, 0xaf, 0x27, 0xee, 0x83, 0x78, 0x1a, 0x35, 1563 | 0xcc, 0xfe, 0x8e, 0x91, 0x3d, 0xc7, 0xf6, 0xc6, 0x61, 0xb6, 0x8a, 0x13, 1564 | 0x12, 0x2e, 0x5d, 0x78, 0x78, 0xec, 0xa4, 0x50, 0xe4, 0xc9, 0x10, 0xb4, 1565 | 0xc0, 0xfc, 0x12, 0x4f, 0x4f, 0x52, 0xde, 0x6c, 0xad, 0x09, 0x86, 0x73, 1566 | 0x9c, 0xb8, 0x22, 0x4e, 0x8a, 0x89, 0x2c, 0x07, 0x73, 0x96, 0x35, 0xec, 1567 | 0x63, 0xd6, 0x61, 0xc9, 0x84, 0x41, 0x69, 0xb7, 0x89, 0xa3, 0xcf, 0xc3, 1568 | 0xa2, 0x72, 0xa4, 0x61, 0xfa, 0x25, 0x9b, 0xb4, 0xb9, 0x61, 0x81, 0xcb, 1569 | 0x04, 0x3c, 0x00, 0x9e, 0xf3, 0xbd, 0xe8, 0xf9, 0xc2, 0x63, 0x0d, 0xad, 1570 | 0x34, 0x08, 0x56, 0x2e, 0x26, 0x8c, 0x07, 0xd5, 0xc4, 0x3c, 0x9e, 0x13, 1571 | 0xc7, 0x5a, 0x4d, 0x0f, 0x8f, 0x02, 0x14, 0x7d, 0x52, 0x07, 0xee, 0x66, 1572 | 0x6f, 0x3d, 0x1c, 0x27, 0xdc, 0x3c, 0xee, 0xc0, 0x3b, 0x00, 0x90, 0x82, 1573 | 0x89, 0x1c, 0x6b, 0x63, 0x49, 0xab, 0x72, 0x91, 0x46, 0x97, 0xfc, 0xef, 1574 | 0x4b, 0x76, 0x5f, 0x9c, 0x5f, 0x17, 0xca, 0x7f, 0x8e, 0xf9, 0x13, 0x32, 1575 | 0xfe, 0x37, 0x98, 0xb9, 0x3f, 0x3f, 0x37, 0xc5, 0x7f, 0xfd, 0xaf, 0x84, 1576 | 0xdf, 0x9e, 0xd1, 0x1f, 0x7f, 0xfb, 0xed, 0xb9, 0xa4, 0x3f, 0xff, 0x4f, 1577 | 0xbf, 0x76, 0x89, 0x7f, 0x7d, 0xfd, 0xda, 0x27, 0xfe, 0xc7, 0x6f, 0xc3, 1578 | 0x5f, 0x5b, 0xc5, 0xeb, 0x75, 0x5e, 0xaa, 0xfc, 0xfc, 0xf1, 0x5f, 0x76, 1579 | 0xf7, 0x7f, 0x55, 0xf3, 0x57, 0xd4, 0x7d, 0xe9, 0x43, 0xd6, 0x7d, 0x59, 1580 | 0xfd, 0x3a, 0x25, 0xd9, 0x7f, 0xff, 0x15, 0x11, 0xa2, 0x29, 0xdd, 0xa3, 1581 | 0x29, 0xfb, 0xa2, 0xfb, 0x76, 0x88, 0xba, 0xf3, 0x6b, 0x1e, 0xb2, 0xa4, 1582 | 0x8a, 0x9a, 0xe6, 0xfc, 0xda, 0xfb, 0xe9, 0x53, 0x75, 0xc5, 0x57, 0xdf, 1583 | 0x7d, 0x65, 0x4d, 0x96, 0x2c, 0x53, 0xdf, 0x55, 0xc9, 0x57, 0xdc, 0xdf, 1584 | 0x25, 0xe6, 0xef, 0xed, 0xfb, 0xbf, 0x76, 0xc2, 0xcf, 0xff, 0xf8, 0xf2, 1585 | 0xb2, 0xaf, 0xa6, 0xdf, 0xb2, 0xaf, 0xa5, 0xff, 0x2a, 0xb3, 0x66, 0xf8, 1586 | 0x1a, 0xb2, 0x7e, 0xf8, 0xde, 0x07, 0x3f, 0x7d, 0x97, 0x4e, 0xa6, 0x2c, 1587 | 0x5a, 0xaa, 0x3b, 0x75, 0x98, 0xfa, 0xfa, 0xae, 0x65, 0xfe, 0xce, 0xd6, 1588 | 0x54, 0x79, 0xf6, 0x8f, 0x2f, 0x71, 0xf9, 0x16, 0xab, 0x6a, 0x87, 0x7e, 1589 | 0x5a, 0xa2, 0x6e, 0xf9, 0x59, 0xe7, 0x3a, 0xff, 0x47, 0xbb, 0x4b, 0x5f, 1590 | 0x64, 0xf7, 0x44, 0x98, 0xbe, 0xaa, 0xee, 0xeb, 0xe7, 0x96, 0xfa, 0xef, 1591 | 0x92, 0x69, 0xb6, 0x65, 0x4d, 0x3f, 0x7c, 0xdd, 0x09, 0x5f, 0x5d, 0x76, 1592 | 0x2c, 0x5f, 0x71, 0x75, 0xe7, 0x2c, 0xef, 0xfc, 0xff, 0xf8, 0x7a, 0x37, 1593 | 0x59, 0x34, 0x67, 0x5f, 0xff, 0xbf, 0x7b, 0xe4, 0xab, 0x2e, 0xcd, 0x8e, 1594 | 0x7f, 0x0c, 0xe5, 0xf0, 0x7f, 0x7e, 0x9f, 0x65, 0x98, 0xfa, 0xa6, 0xc9, 1595 | 0xa6, 0xdf, 0xbf, 0x6f, 0xa3, 0x64, 0xf9, 0xf1, 0xc7, 0x6f, 0xf3, 0xad, 1596 | 0x87, 0xbf, 0x36, 0xe6, 0x27, 0xf7, 0xaa, 0x31, 0xfd, 0xf3, 0xbf, 0x41, 1597 | 0x08, 0x82, 0x46, 0xd0, 0xbf, 0x7e, 0xfc, 0xf1, 0x67, 0xae, 0x5b, 0xcc, 1598 | 0xdf, 0x9e, 0xdf, 0xf9, 0xfe, 0xf8, 0x1e, 0x95, 0x6f, 0xa1, 0x6f, 0x25, 1599 | 0x7d, 0x6b, 0xef, 0xcf, 0x4e, 0xfe, 0xd4, 0xc9, 0x5e, 0x35, 0xcd, 0x57, 1600 | 0xda, 0x7f, 0xdd, 0xea, 0xfe, 0x8a, 0xb3, 0x79, 0xf9, 0x0f, 0xfd, 0x9c, 1601 | 0xfd, 0xfa, 0x8f, 0x9f, 0xa7, 0x0f, 0xfe, 0x6d, 0x2c, 0x9f, 0x3f, 0xcf, 1602 | 0x0e, 0x7c, 0xdf, 0xfc, 0xc7, 0xb9, 0x83, 0x9f, 0x63, 0xfb, 0xf5, 0x5b, 1603 | 0xfc, 0xf3, 0x2c, 0xc0, 0x7d, 0xff, 0xdb, 0xaf, 0x43, 0x00, 0x7f, 0xfc, 1604 | 0xf6, 0xeb, 0x5c, 0xc3, 0x5f, 0x67, 0x15, 0x7e, 0x5d, 0x7f, 0xfc, 0x79, 1605 | 0xc6, 0x22, 0x5e, 0x97, 0xe5, 0x3b, 0xb6, 0x45, 0xcd, 0x7a, 0x47, 0xa9, 1606 | 0x28, 0xf9, 0xfc, 0xb8, 0x85, 0x4b, 0x9a, 0x2a, 0xf9, 0xdc, 0x1a, 0xa9, 1607 | 0xbe, 0xf5, 0x70, 0xfe, 0xa3, 0xe8, 0xff, 0xf7, 0xbf, 0x83, 0xff, 0xc7, 1608 | 0xbf, 0xfe, 0x87, 0xf3, 0x07, 0x5f, 0xe0, 0xf7, 0x01, 0x84, 0x7f, 0xfd, 1609 | 0x79, 0x36, 0xe0, 0x9f, 0x5f, 0xe8, 0x77, 0xec, 0xdb, 0x70, 0xbf, 0x65, 1610 | 0xfd, 0xb3, 0xf1, 0x6f, 0x01, 0xfb, 0xa9, 0xfd, 0xe3, 0xff, 0x01, 0x32, 1611 | 0x24, 0x63, 0x89, 0x42, 0x32, 0x00, 0x00 1612 | }; 1613 | 1614 | /***************************************************************************************************************************************************************/ 1615 | /***************************************************************************************************************************************************************/ 1616 | 1617 | 1618 | 1619 | const char PAGE_WIFISETUP[] PROGMEM = { 1620 | 0x1f, 0x8b, 0x08, 0x08, 0x10, 0x35, 0xb1, 0x58, 0x00, 0x03, 0x77, 0x69, 1621 | 0x66, 0x69, 0x73, 0x65, 0x74, 0x75, 0x70, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 1622 | 0x00, 0xdd, 0x59, 0x5b, 0x6f, 0xdb, 0x36, 0x14, 0x7e, 0xf7, 0xaf, 0x60, 1623 | 0xf8, 0x50, 0xdb, 0x6b, 0x6c, 0xc5, 0x4e, 0x57, 0x14, 0xb1, 0xe5, 0x21, 1624 | 0x4d, 0xd2, 0xdb, 0xda, 0x34, 0xa8, 0x53, 0x74, 0x40, 0x10, 0x0c, 0xb4, 1625 | 0x44, 0xd9, 0x5c, 0x64, 0x49, 0x23, 0xe9, 0x38, 0x5e, 0xea, 0xff, 0xbe, 1626 | 0x73, 0x48, 0xdd, 0xe2, 0x4b, 0xac, 0xae, 0xdd, 0xc3, 0x26, 0x14, 0x09, 1627 | 0x2f, 0xe7, 0xf2, 0xf1, 0xf0, 0xdc, 0x98, 0xf6, 0xb5, 0xd0, 0x21, 0x1f, 1628 | 0x7c, 0x60, 0x37, 0x5c, 0x0e, 0x75, 0x2c, 0xd9, 0x98, 0xf7, 0x1d, 0xbb, 1629 | 0x56, 0xeb, 0x4f, 0xb9, 0x66, 0x24, 0x62, 0x53, 0xee, 0xd2, 0x5b, 0xc1, 1630 | 0xe7, 0x49, 0x2c, 0x35, 0x25, 0x5e, 0x1c, 0x69, 0x1e, 0x69, 0x97, 0xce, 1631 | 0x85, 0xaf, 0x27, 0xae, 0xcf, 0x6f, 0x85, 0xc7, 0x5b, 0x66, 0xb2, 0x4f, 1632 | 0x44, 0x24, 0xb4, 0x60, 0x61, 0x4b, 0x79, 0x2c, 0xe4, 0x6e, 0x87, 0x12, 1633 | 0x67, 0x50, 0x23, 0xc4, 0x0a, 0x9a, 0x68, 0x9d, 0xb4, 0xf8, 0x9f, 0x33, 1634 | 0x71, 0xeb, 0xd2, 0x13, 0x2b, 0xa4, 0x75, 0xb9, 0x48, 0x78, 0x49, 0xa4, 1635 | 0xe6, 0x77, 0xda, 0x99, 0xe8, 0x69, 0xd8, 0x23, 0xde, 0x84, 0x49, 0xc5, 1636 | 0xb5, 0x3b, 0xd3, 0x41, 0xeb, 0x85, 0x91, 0x03, 0x82, 0x40, 0x94, 0xd2, 1637 | 0x8b, 0x90, 0x13, 0x0d, 0x7c, 0x29, 0xb9, 0xa7, 0x14, 0x45, 0x25, 0x41, 1638 | 0x2c, 0xa7, 0x84, 0xdc, 0x13, 0x5f, 0xa8, 0x24, 0x64, 0x8b, 0x23, 0xa2, 1639 | 0xd9, 0x28, 0xe4, 0x3d, 0x62, 0xbe, 0x25, 0x10, 0x24, 0x66, 0xb4, 0x4a, 1640 | 0xd0, 0x92, 0xf1, 0xbc, 0x67, 0x09, 0x42, 0x36, 0xe2, 0xe1, 0x3a, 0x81, 1641 | 0xc7, 0x43, 0xc0, 0x83, 0x04, 0x22, 0x4a, 0x66, 0xfa, 0x31, 0x82, 0xbe, 1642 | 0x63, 0xe0, 0x0d, 0x08, 0xa9, 0x99, 0x7f, 0xfd, 0x49, 0x67, 0x70, 0xce, 1643 | 0xf5, 0x3c, 0x96, 0x37, 0x64, 0xc8, 0xb5, 0x16, 0xd1, 0x58, 0xf5, 0x1d, 1644 | 0x58, 0x34, 0x50, 0x0c, 0x81, 0x04, 0x3b, 0x1b, 0xe8, 0xcc, 0xd3, 0x22, 1645 | 0x8e, 0x5c, 0x4a, 0x71, 0x41, 0xf0, 0xd0, 0x87, 0xd3, 0x0f, 0xfa, 0x21, 1646 | 0x1f, 0xf3, 0xc8, 0x1f, 0x7c, 0x11, 0xaf, 0x04, 0x01, 0xa3, 0x05, 0x62, 1647 | 0x3c, 0x93, 0x70, 0x43, 0xe9, 0xb2, 0x91, 0xd2, 0x37, 0x28, 0xc8, 0x28, 1648 | 0x96, 0x3e, 0x97, 0x2e, 0x3d, 0xa0, 0x84, 0x20, 0x22, 0x95, 0x30, 0x0f, 1649 | 0xf4, 0x99, 0x05, 0x9c, 0x27, 0xcc, 0xf7, 0xcd, 0xfc, 0x90, 0x12, 0x83, 1650 | 0x32, 0xbd, 0xc1, 0xa3, 0x67, 0x07, 0x07, 0xc9, 0x1d, 0x25, 0xa0, 0x56, 1651 | 0xcb, 0x41, 0x5f, 0xfb, 0x84, 0x85, 0x62, 0x0c, 0x40, 0xa4, 0x18, 0x4f, 1652 | 0x34, 0x1d, 0x9c, 0x9a, 0x0b, 0x26, 0xe7, 0xe0, 0x06, 0x47, 0xe0, 0x1a, 1653 | 0x3e, 0x92, 0x0c, 0xfa, 0xd6, 0x14, 0xc5, 0x35, 0x50, 0x22, 0x7c, 0x97, 1654 | 0x5a, 0x67, 0x40, 0x8f, 0xa1, 0xa9, 0xdf, 0x94, 0x57, 0x6e, 0x59, 0x38, 1655 | 0x83, 0xa5, 0xe9, 0xe2, 0x6c, 0x78, 0x41, 0x07, 0x56, 0x96, 0xa3, 0xe5, 1656 | 0x36, 0xc5, 0xc3, 0xe1, 0xdb, 0xd3, 0x9d, 0x1a, 0x95, 0x12, 0x7e, 0xa6, 1657 | 0xcb, 0x8e, 0x53, 0x2d, 0x15, 0x14, 0x18, 0xa3, 0x5e, 0x30, 0xa5, 0xe0, 1658 | 0x7e, 0xfc, 0x2d, 0x9a, 0x92, 0x74, 0xdb, 0x6a, 0x2b, 0x66, 0x56, 0x63, 1659 | 0x31, 0xaf, 0xae, 0xf5, 0xf4, 0xcd, 0xc9, 0x45, 0x49, 0x99, 0xe2, 0x21, 1660 | 0xf7, 0xb4, 0xb5, 0xde, 0xc4, 0x4b, 0x72, 0xbb, 0x99, 0x71, 0x2a, 0xb5, 1661 | 0x43, 0xad, 0xc3, 0xac, 0x7c, 0xb5, 0x4d, 0x8b, 0x26, 0x48, 0xe2, 0x04, 1662 | 0x7d, 0xa9, 0xc4, 0x7e, 0x16, 0xa1, 0x8f, 0xf8, 0x7d, 0xc7, 0xee, 0x0c, 1663 | 0x36, 0xb2, 0xae, 0xb0, 0x1d, 0x00, 0x56, 0xa1, 0x90, 0x6f, 0x3b, 0x1b, 1664 | 0x38, 0xbc, 0xc1, 0x5f, 0x3a, 0x76, 0x19, 0xe0, 0x66, 0x0b, 0xbc, 0xbd, 1665 | 0x38, 0x4a, 0x99, 0x1f, 0xbf, 0x5b, 0x91, 0xfc, 0x7e, 0x90, 0xd9, 0xc3, 1666 | 0x8e, 0x95, 0xf8, 0x8b, 0xa3, 0x03, 0x0f, 0xda, 0xdb, 0x59, 0x3a, 0x25, 1667 | 0x96, 0x4e, 0x35, 0x96, 0x6e, 0x89, 0xa5, 0x5b, 0x8d, 0xe5, 0xb0, 0xc4, 1668 | 0x72, 0x58, 0x5c, 0x7f, 0xc1, 0xbb, 0xd3, 0x0f, 0x20, 0x2f, 0x4c, 0x99, 1669 | 0xba, 0xd9, 0xe9, 0xe1, 0xd1, 0xb4, 0xb0, 0x82, 0x1d, 0xef, 0xc4, 0x07, 1670 | 0x64, 0x9d, 0x12, 0x4b, 0x15, 0x2b, 0x00, 0x59, 0xb7, 0xc4, 0x52, 0xc5, 1671 | 0x0a, 0x40, 0x76, 0x58, 0x62, 0x39, 0xfc, 0x96, 0xc3, 0xbf, 0x66, 0x9a, 1672 | 0xcf, 0x21, 0x83, 0xee, 0x3a, 0xfc, 0x78, 0x5e, 0x1c, 0xde, 0x8e, 0x77, 1673 | 0xc2, 0x02, 0xb2, 0x4e, 0x89, 0xa5, 0xca, 0xe1, 0x81, 0xac, 0x5b, 0x62, 1674 | 0xa9, 0x72, 0x78, 0x20, 0x3b, 0x2c, 0xb1, 0x6c, 0x3e, 0x3c, 0xfc, 0xc0, 1675 | 0xf0, 0x01, 0x23, 0x38, 0x79, 0x46, 0xcf, 0x03, 0xb7, 0x3f, 0x92, 0x59, 1676 | 0x4d, 0xc3, 0x91, 0x8d, 0x97, 0xb5, 0xc4, 0x0f, 0xa9, 0xf2, 0x45, 0xf7, 1677 | 0xf9, 0x73, 0xf2, 0x85, 0x8f, 0x86, 0x5c, 0xde, 0x72, 0xb9, 0xb9, 0x0a, 1678 | 0xd8, 0xc0, 0xfc, 0x61, 0x95, 0x20, 0x95, 0xb6, 0xe9, 0xe6, 0x8e, 0x3d, 1679 | 0x8f, 0x2b, 0x45, 0x3e, 0x2b, 0x2e, 0xf1, 0xf4, 0x47, 0x79, 0x14, 0x67, 1680 | 0x74, 0x21, 0x0f, 0x80, 0x8c, 0xf9, 0x53, 0x11, 0x91, 0x92, 0x1f, 0xec, 1681 | 0x16, 0xf9, 0x4d, 0x99, 0xd8, 0xf2, 0x20, 0x4b, 0x76, 0x0b, 0xe5, 0x95, 1682 | 0x4d, 0xd9, 0xf8, 0x11, 0x00, 0xc6, 0xa4, 0x50, 0x82, 0xbf, 0x0f, 0x48, 1683 | 0x77, 0x1d, 0x49, 0x77, 0x37, 0x94, 0x87, 0xb2, 0xbd, 0x09, 0xf7, 0x6e, 1684 | 0x46, 0xf1, 0x5d, 0x26, 0x6a, 0x7a, 0x7a, 0x3e, 0x8c, 0x83, 0x20, 0x17, 1685 | 0xa3, 0xe5, 0x0c, 0x0a, 0x69, 0x96, 0x97, 0x09, 0x6e, 0xaf, 0xcb, 0xdd, 1686 | 0x21, 0x13, 0x04, 0xea, 0xe3, 0x8b, 0x55, 0x91, 0x76, 0x15, 0x0c, 0x03, 1687 | 0x61, 0xa9, 0xc8, 0xc7, 0x73, 0x23, 0xb6, 0xa2, 0xc4, 0x93, 0xc7, 0x51, 1688 | 0x9e, 0x30, 0xa8, 0x1e, 0xb7, 0x9c, 0x64, 0x60, 0x4b, 0xc5, 0xeb, 0xd1, 1689 | 0x08, 0x29, 0x05, 0x46, 0x5a, 0x6d, 0xca, 0x20, 0x46, 0x33, 0xad, 0xe3, 1690 | 0x28, 0xed, 0x02, 0xd8, 0x2d, 0x87, 0x79, 0xde, 0x08, 0x64, 0xd3, 0x14, 1691 | 0xcf, 0x10, 0xe6, 0x79, 0xff, 0x45, 0x49, 0x1c, 0x79, 0xa1, 0xf0, 0x6e, 1692 | 0x60, 0x1d, 0xa2, 0xe7, 0x15, 0xf4, 0x5e, 0xef, 0x54, 0x1c, 0x35, 0x9a, 1693 | 0x2b, 0xc1, 0x40, 0x0e, 0x31, 0x1a, 0x7a, 0x64, 0xc2, 0xd1, 0x49, 0x8e, 1694 | 0xc8, 0xcf, 0x38, 0xc3, 0x46, 0xf4, 0x49, 0x34, 0x52, 0x89, 0xf9, 0xf1, 1695 | 0x10, 0x56, 0xd6, 0xc0, 0xd9, 0xdf, 0x74, 0x05, 0x66, 0x0a, 0xe5, 0x25, 1696 | 0xf3, 0x6e, 0x4a, 0x08, 0x26, 0x42, 0x41, 0xd3, 0xbd, 0x68, 0x8f, 0xe3, 1697 | 0x46, 0xab, 0xd3, 0xec, 0xad, 0x42, 0xe8, 0x6c, 0x81, 0x90, 0xd5, 0xff, 1698 | 0x1a, 0xda, 0x0d, 0x0e, 0x00, 0x89, 0xa4, 0xaf, 0x3c, 0x29, 0x12, 0x3d, 1699 | 0xa8, 0xdd, 0x32, 0x49, 0xee, 0xa6, 0x21, 0x76, 0xdb, 0xc4, 0x25, 0x11, 1700 | 0x9f, 0x93, 0xdf, 0x3e, 0xbc, 0x7f, 0x03, 0xb3, 0x4f, 0xd0, 0x7b, 0x73, 1701 | 0xa5, 0x1b, 0xcd, 0x9e, 0xa1, 0x99, 0xc9, 0x10, 0xf6, 0xa9, 0xf3, 0x07, 1702 | 0x1c, 0x3e, 0x8c, 0x99, 0xff, 0x4b, 0xe0, 0xce, 0x45, 0x20, 0xe0, 0x06, 1703 | 0xda, 0xb8, 0x44, 0x7b, 0xb5, 0x54, 0x4a, 0x3b, 0x8e, 0x24, 0x67, 0xfe, 1704 | 0x42, 0x69, 0x48, 0xda, 0xd0, 0x96, 0x47, 0x63, 0x0e, 0x8c, 0xc1, 0x2c, 1705 | 0x32, 0xe7, 0x6c, 0x34, 0xc9, 0xbd, 0xb1, 0x83, 0x08, 0x48, 0x23, 0xe3, 1706 | 0x30, 0xf4, 0x43, 0xa4, 0x27, 0xae, 0x4b, 0x9e, 0x91, 0x27, 0x4f, 0x32, 1707 | 0x48, 0x6d, 0x94, 0x32, 0x53, 0xb8, 0xdc, 0x3d, 0x38, 0xc8, 0x78, 0xf1, 1708 | 0x43, 0x4c, 0xd3, 0xc5, 0xb1, 0x94, 0x20, 0xfc, 0xdd, 0xf0, 0xe3, 0x79, 1709 | 0x3b, 0xc1, 0x07, 0x40, 0x49, 0xa4, 0x4a, 0xe2, 0x48, 0xf1, 0x4b, 0x48, 1710 | 0xc1, 0x70, 0x82, 0x8c, 0x6b, 0xba, 0x78, 0x95, 0x01, 0x31, 0xcc, 0xe9, 1711 | 0xd6, 0xb2, 0xb6, 0x2c, 0xe1, 0x4f, 0x78, 0xd4, 0xa0, 0xaf, 0xcf, 0x2e, 1712 | 0xe9, 0x3e, 0x9e, 0x7a, 0x9f, 0xa0, 0x7f, 0x36, 0x8b, 0x7d, 0x05, 0x6e, 1713 | 0x80, 0x56, 0xc9, 0x8e, 0x54, 0x16, 0x8a, 0xa6, 0x38, 0x65, 0x9a, 0x01, 1714 | 0x52, 0x42, 0x1c, 0x27, 0x91, 0xb1, 0x49, 0x11, 0x7a, 0xc2, 0x09, 0x6e, 1715 | 0x91, 0x40, 0xc6, 0x53, 0x33, 0x83, 0x44, 0x6d, 0xcc, 0x9a, 0x31, 0xfc, 1716 | 0xca, 0x21, 0x8c, 0x5c, 0xf2, 0x71, 0xf4, 0x07, 0xb4, 0x47, 0xed, 0x1b, 1717 | 0x98, 0x15, 0xb2, 0x40, 0x55, 0x2c, 0x1b, 0x48, 0x2d, 0xdc, 0x83, 0x1e, 1718 | 0x11, 0xfd, 0x32, 0x53, 0x3b, 0xe4, 0xd1, 0x58, 0x4f, 0x60, 0xf9, 0xe9, 1719 | 0xd3, 0xa6, 0x35, 0x0f, 0x52, 0xda, 0xf0, 0x00, 0x89, 0x7e, 0xec, 0xcd, 1720 | 0xa6, 0xf0, 0x5a, 0x6a, 0x8f, 0xb9, 0x3e, 0x0b, 0x39, 0x0e, 0xd5, 0xcb, 1721 | 0x05, 0xb6, 0xe7, 0x8d, 0xb2, 0x98, 0x2b, 0x71, 0xdd, 0xec, 0x6d, 0xea, 1722 | 0xf2, 0xf2, 0x78, 0x02, 0x0c, 0xc4, 0x80, 0x08, 0x10, 0x44, 0x90, 0xd6, 1723 | 0x9e, 0x5c, 0x7d, 0xb0, 0xae, 0xde, 0xb5, 0x24, 0x57, 0xc1, 0x75, 0x2f, 1724 | 0xbf, 0x72, 0xb3, 0x84, 0x58, 0x8e, 0xb5, 0x96, 0x02, 0xbc, 0x9d, 0x37, 1725 | 0xea, 0xe8, 0xf9, 0xf5, 0xa6, 0xeb, 0xd6, 0xb3, 0x44, 0x51, 0x6f, 0x6e, 1726 | 0x86, 0xb0, 0xfd, 0xbb, 0xdf, 0x26, 0xdb, 0xc4, 0x11, 0x0a, 0xcf, 0x0e, 1727 | 0x7b, 0xb5, 0x72, 0xea, 0x6b, 0xd0, 0x65, 0x19, 0xd5, 0x03, 0x46, 0x83, 1728 | 0x85, 0xfb, 0xf5, 0xfd, 0x7c, 0xb4, 0xdd, 0x3e, 0xd5, 0x71, 0x2e, 0x0b, 1729 | 0x22, 0x1e, 0x2a, 0xbe, 0xdb, 0x24, 0x92, 0xf9, 0x22, 0xfe, 0x0f, 0xdb, 1730 | 0xa3, 0x12, 0x5a, 0x30, 0xcb, 0x37, 0x98, 0xc4, 0xa6, 0xc8, 0x7f, 0x60, 1731 | 0x13, 0xd0, 0xe3, 0x38, 0x7e, 0x4c, 0xa2, 0x58, 0x4f, 0x20, 0xb5, 0xef, 1732 | 0x86, 0x55, 0xf1, 0x2b, 0xb0, 0xdf, 0x5b, 0xe0, 0xc6, 0xc8, 0x10, 0x7b, 1733 | 0x64, 0xab, 0x91, 0x7b, 0x4b, 0x9b, 0x77, 0x20, 0x47, 0x60, 0x5c, 0xa5, 1734 | 0xd1, 0x1a, 0xc6, 0x31, 0x16, 0x89, 0xa5, 0x5d, 0x34, 0x33, 0x43, 0x91, 1735 | 0x66, 0x17, 0xc8, 0xde, 0x59, 0xd6, 0xc6, 0x2f, 0x4f, 0xe1, 0x79, 0x22, 1736 | 0x7a, 0x58, 0xa0, 0xee, 0x01, 0x98, 0x49, 0x1a, 0x58, 0x6e, 0x94, 0xbb, 1737 | 0x39, 0x11, 0x5c, 0xb2, 0xb1, 0xc9, 0x05, 0xf4, 0x27, 0xda, 0xac, 0x19, 1738 | 0xdb, 0x5b, 0xf2, 0xab, 0x7a, 0xd1, 0x96, 0xd4, 0xaf, 0xed, 0x89, 0xf6, 1739 | 0xdc, 0xf5, 0xbd, 0x6e, 0xb6, 0x49, 0x9a, 0x78, 0x22, 0x9b, 0x01, 0x58, 1740 | 0xc8, 0xa5, 0x6e, 0xd0, 0xa2, 0x09, 0xcd, 0x5a, 0x24, 0x45, 0x98, 0xe4, 1741 | 0x68, 0x7f, 0x93, 0x03, 0x15, 0x28, 0xde, 0xdb, 0xa3, 0x4d, 0x6b, 0xbf, 1742 | 0x3b, 0xa1, 0x4d, 0x9a, 0x48, 0x7d, 0xa1, 0x0c, 0xa5, 0xf8, 0xab, 0x40, 1743 | 0xa6, 0xcd, 0xc5, 0xc7, 0xd3, 0xba, 0xc6, 0xd2, 0x1f, 0x1f, 0x88, 0xc7, 1744 | 0x22, 0x54, 0x34, 0x82, 0x06, 0x37, 0x64, 0xd1, 0xcd, 0x66, 0x45, 0x99, 1745 | 0x86, 0xb4, 0x05, 0xc8, 0xc5, 0xd3, 0x4f, 0x50, 0xfa, 0x98, 0xc4, 0x0e, 1746 | 0xa0, 0xdd, 0x6e, 0xd3, 0x5e, 0x6a, 0x4a, 0x1f, 0xae, 0x10, 0xee, 0xf5, 1747 | 0x1e, 0xaa, 0x45, 0x91, 0xe6, 0xd2, 0xb1, 0xe8, 0x15, 0x69, 0x32, 0xcd, 1748 | 0xd3, 0x56, 0xfa, 0x83, 0x0c, 0x9d, 0xfb, 0x5c, 0x51, 0xc9, 0xac, 0x14, 1749 | 0x10, 0x9b, 0x82, 0x11, 0xd7, 0x9b, 0x02, 0xab, 0x20, 0x2f, 0x02, 0x44, 1750 | 0xdb, 0xcb, 0xc3, 0xea, 0x58, 0x7f, 0x7b, 0x7e, 0xf1, 0xf9, 0xb2, 0x4e, 1751 | 0xbe, 0x7e, 0x25, 0xeb, 0x7b, 0xc3, 0xb3, 0xf7, 0x67, 0x27, 0x97, 0xf5, 1752 | 0x66, 0x21, 0xa3, 0xa4, 0x7d, 0x47, 0xc0, 0x91, 0x3d, 0x97, 0xcc, 0x22, 1753 | 0x9f, 0x07, 0x22, 0xe2, 0xfe, 0x7a, 0xcc, 0x3d, 0x82, 0x73, 0x83, 0xaa, 1754 | 0x6a, 0x2a, 0xbf, 0xaf, 0x12, 0xec, 0x8c, 0xea, 0x42, 0x79, 0x9a, 0xc9, 1755 | 0x9a, 0x15, 0xc4, 0xe6, 0xe2, 0xd1, 0x05, 0xae, 0x2c, 0x3b, 0x3a, 0xe4, 1756 | 0x35, 0xf6, 0x36, 0x45, 0xd0, 0xf7, 0x96, 0x15, 0x64, 0x54, 0xaf, 0x11, 1757 | 0x2b, 0xdf, 0xbf, 0x5b, 0x32, 0xfe, 0x1f, 0x76, 0xfb, 0x0e, 0xc3, 0xfd, 1758 | 0xb8, 0xc2, 0x52, 0xf5, 0xdb, 0x8a, 0xb5, 0x82, 0xb9, 0x1c, 0x07, 0xd3, 1759 | 0x5b, 0x16, 0x28, 0x8f, 0xc8, 0x5c, 0xd6, 0x56, 0xa5, 0x7f, 0xcf, 0x6d, 1760 | 0xe4, 0xc2, 0x96, 0x16, 0x80, 0x7d, 0xcc, 0x40, 0xd2, 0x4b, 0xff, 0x32, 1761 | 0xa9, 0x62, 0x52, 0x58, 0x02, 0x72, 0xe7, 0x0e, 0x31, 0x59, 0x05, 0x34, 1762 | 0xc5, 0xce, 0xbc, 0x45, 0x1e, 0x7b, 0x89, 0x64, 0xcc, 0x77, 0xa5, 0x46, 1763 | 0xfd, 0xe2, 0xe3, 0x10, 0x3b, 0x75, 0xfb, 0x32, 0xc1, 0x3c, 0xbe, 0xfa, 1764 | 0x32, 0xd9, 0x27, 0x01, 0x83, 0x53, 0x63, 0x07, 0x9f, 0xf6, 0xef, 0x3a, 1765 | 0x95, 0xf8, 0x06, 0xde, 0x1d, 0x5c, 0x36, 0xf2, 0xff, 0x5e, 0x40, 0x4f, 1766 | 0xa0, 0xfb, 0x94, 0x25, 0x09, 0x3c, 0xb7, 0x18, 0x96, 0x54, 0x23, 0x94, 1767 | 0x36, 0x7b, 0x8e, 0xf3, 0x60, 0xf5, 0xae, 0x35, 0x9f, 0xcf, 0x5b, 0xf8, 1768 | 0x94, 0x6a, 0xc1, 0x0b, 0x81, 0x47, 0x5e, 0xec, 0x73, 0x9f, 0x22, 0x3e, 1769 | 0xc7, 0xa9, 0x39, 0xce, 0x5d, 0xf1, 0x4e, 0xa0, 0xf8, 0x36, 0x71, 0x29, 1770 | 0x79, 0x6a, 0x1f, 0x29, 0x0a, 0xbc, 0x2e, 0x1a, 0x8b, 0x60, 0xd1, 0xc0, 1771 | 0x1b, 0x68, 0x22, 0x47, 0xad, 0x44, 0xbd, 0x95, 0x26, 0xad, 0x6f, 0x17, 1772 | 0x21, 0x67, 0x70, 0x7f, 0x92, 0x8f, 0x62, 0x30, 0xbd, 0x2d, 0x8b, 0x50, 1773 | 0xd7, 0x7a, 0xb5, 0x65, 0xa9, 0x37, 0xf8, 0x1b, 0x08, 0x6a, 0xd1, 0xfb, 1774 | 0xa4, 0x19, 0x00, 0x00 1775 | }; 1776 | 1777 | 1778 | 1779 | #endif 1780 | 1781 | --------------------------------------------------------------------------------