From 803fec0d3c87ad3a5ba4db30793d169c19b01b98 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 16:37:37 +0200 Subject: [PATCH 01/35] Initial push --- SD_ver.B/access_control/DOES_NOT_WORK.txt | 1 + SD_ver.B/access_control/HOW_TO_USE.txt | 25 ++++ SD_ver.B/access_control/LCD_module.cpp | 141 ++++++++++++++++++ SD_ver.B/access_control/LCD_module.h | 35 +++++ SD_ver.B/access_control/README.md | 54 +++++++ SD_ver.B/access_control/RFID_module.cpp | 67 +++++++++ SD_ver.B/access_control/RFID_module.h | 27 ++++ SD_ver.B/access_control/RTC_module.cpp | 22 +++ SD_ver.B/access_control/RTC_module.h | 28 ++++ SD_ver.B/access_control/UNLICENSE | 24 +++ SD_ver.B/access_control/access_control.ino | 60 ++++++++ SD_ver.B/access_control/authorized_keys.h | 26 ++++ .../access_control/libraries/Adafruit_GFX | 1 + .../access_control/libraries/Adafruit_ST3775 | 1 + SD_ver.B/access_control/libraries/MFRC522 | 1 + .../access_control/libraries/Sodaq_DS3231 | 1 + SD_ver.B/access_control/pin_layout.h | 48 ++++++ SD_ver.B/access_control/platform.local.txt | 8 + 18 files changed, 570 insertions(+) create mode 100644 SD_ver.B/access_control/DOES_NOT_WORK.txt create mode 100644 SD_ver.B/access_control/HOW_TO_USE.txt create mode 100644 SD_ver.B/access_control/LCD_module.cpp create mode 100644 SD_ver.B/access_control/LCD_module.h create mode 100644 SD_ver.B/access_control/README.md create mode 100644 SD_ver.B/access_control/RFID_module.cpp create mode 100644 SD_ver.B/access_control/RFID_module.h create mode 100644 SD_ver.B/access_control/RTC_module.cpp create mode 100644 SD_ver.B/access_control/RTC_module.h create mode 100644 SD_ver.B/access_control/UNLICENSE create mode 100644 SD_ver.B/access_control/access_control.ino create mode 100644 SD_ver.B/access_control/authorized_keys.h create mode 160000 SD_ver.B/access_control/libraries/Adafruit_GFX create mode 160000 SD_ver.B/access_control/libraries/Adafruit_ST3775 create mode 160000 SD_ver.B/access_control/libraries/MFRC522 create mode 160000 SD_ver.B/access_control/libraries/Sodaq_DS3231 create mode 100644 SD_ver.B/access_control/pin_layout.h create mode 100644 SD_ver.B/access_control/platform.local.txt diff --git a/SD_ver.B/access_control/DOES_NOT_WORK.txt b/SD_ver.B/access_control/DOES_NOT_WORK.txt new file mode 100644 index 0000000..82df9e5 --- /dev/null +++ b/SD_ver.B/access_control/DOES_NOT_WORK.txt @@ -0,0 +1 @@ +READ REAME.md! diff --git a/SD_ver.B/access_control/HOW_TO_USE.txt b/SD_ver.B/access_control/HOW_TO_USE.txt new file mode 100644 index 0000000..bef8bec --- /dev/null +++ b/SD_ver.B/access_control/HOW_TO_USE.txt @@ -0,0 +1,25 @@ +This project implements an Arduino based access control solution +including a LCD display, Real Time Clock and time registers on a micro +SD card. The project has been uploaded as a "ready to compile" +version. This means that if your Hardware matches & all requirements +have been properly installed, you won't need to adjust anything else +on the code, except from the specific RFID tag's key. +(SEE README.md->INSTALATION REQUIREMENTS). + +HOW TO USE: + +1- Go to ,,authorized_keys.h" and modify the NUID of your authorized +tags (IN DECIMAL FORMAT) as well as the corresponding Names of each +Tag. More info see the MRFC 522 examples. + +2- Open the file ,,pin_layout.h" and follow or modify the proposed +connections for the HW. + +3- Open Your Arduino IDE v.1.8.0 (not tested in any other), verify, +upload and try your cards! + +4- Remove the SD card, and read it from a PC, you should find a file +called ,,records.csv". You can open and further use this file in any +spreadsheet program such as ,,LibreOffice Calc". + +QUESTIONS & BUGS report to the main repo diff --git a/SD_ver.B/access_control/LCD_module.cpp b/SD_ver.B/access_control/LCD_module.cpp new file mode 100644 index 0000000..56ab10e --- /dev/null +++ b/SD_ver.B/access_control/LCD_module.cpp @@ -0,0 +1,141 @@ +#include "LCD_module.h" + +display::display(Adafruit_ST7735* lcd) +{ + disp_pntr = lcd; +} + +void display::initializeTFT_LCD() // Setup for TFT LCD - GREENTAB*! +{ + disp_pntr->initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab + // Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + disp_pntr->fillScreen(ST7735_BLACK); // Clear screen + disp_pntr->setTextSize(1); + disp_pntr->setTextColor(ST7735_BLUE); +} + +void display::initialize_SD_storage() +{ + if (!SD.begin(SD_CS)) { // Initialize SD + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->println("SD CARD"); + disp_pntr->setCursor(10,50); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("INITIATE"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the SD card + } + + if (SD.exists("records.csv")) { + } + else { // If file does not exist, create it + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println ("USER,DATE,MONTH,YEAR,TIME"); + csv_file.close(); + } +} + +bool display::validate_card(tag my_tag, timeState* my_time) +{ + disp_pntr->fillRect(25, 30, 100, 10, ST7735_BLACK ); // Clear default status from screen (only) + if(my_tag.access == 1){ + disp_pntr->setCursor(40, 30); + disp_pntr->println("WELCOME"); + disp_pntr->fillCircle(60, 120, 20, ST7735_GREEN); + disp_pntr->setCursor(40, 40); + disp_pntr->println(my_tag.name); + digitalWrite(ACC_GRANTED, HIGH); + digitalWrite(ACC_DENIED, LOW); + delay (2000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + write_time_register(my_tag.name, my_time); // Write to SD records + return true; + } + else { + disp_pntr->setCursor(30, 30); + disp_pntr->println("ACCESS DENIED"); + disp_pntr->setCursor(30, 40); + disp_pntr->println("Try again"); + disp_pntr->fillCircle(60, 120, 20, ST7735_RED); + delay (1000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + return false; + } +} + +void display::access_default_status() { + disp_pntr->setCursor(25, 30); + disp_pntr->println("PLACE YOUR TAG"); + digitalWrite(ACC_GRANTED, LOW); + digitalWrite(ACC_DENIED, HIGH); +} + +void display::write_time_register(String name, timeState* myTime) { + if (SD.exists("records.csv")) { // Check to see if the file exists: + } + else { // Error: records.csv doesn't exist + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->setTextColor(ST7735_GREEN); + disp_pntr->setTextSize(1); + disp_pntr->println("file: records.csv"); + disp_pntr->setCursor(10,50); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setTextSize(2); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("EXIST"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the file initialization prob. Typo! + } + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println(name +',' + String(myTime->get_current_time().date(),DEC) +','+ String(myTime->get_current_time().month(),DEC) + ',' + String(myTime->get_current_time().year(),DEC) + ',' + String(myTime->get_current_time().hour(),DEC) + ":" + String(myTime->get_current_time().minute(),DEC) + ":" + String(myTime->get_current_time().second(),DEC)); + csv_file.close(); +} + +void display::print_date_time (timeState* myTime) { + if (myTime->get_u_date()){ + disp_pntr->fillRect(40, 00, 70, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->fillRect(00, 10, 51, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->setCursor(10, 0); + disp_pntr->println(String("Date: ") + String(myTime->get_current_time().date(),DEC) +'.'+ String(myTime->get_current_time().month(),DEC) + '.' + String(myTime->get_current_time().year(),DEC)); + disp_pntr->setCursor(10, 10); + disp_pntr->print(myTime->get_week_day()); + } + + if (myTime->get_u_hour()){ + disp_pntr->fillRect(45, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when hour changes */ + disp_pntr->setCursor(45, 10); + disp_pntr->print(String(myTime->get_current_time().hour(),DEC) + ":"); + } + + if (myTime->get_u_minute()){ + disp_pntr->fillRect(65, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when minute changes */ + disp_pntr->setCursor(65, 10); + disp_pntr->print(String(myTime->get_current_time().minute(),DEC) + ':'); + } + + if (myTime->get_u_second()){ + disp_pntr->fillRect(85, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when sec changes */ + disp_pntr->setCursor(85, 10); + disp_pntr->println(myTime->get_current_time().second(),DEC); + } +} diff --git a/SD_ver.B/access_control/LCD_module.h b/SD_ver.B/access_control/LCD_module.h new file mode 100644 index 0000000..4b50c82 --- /dev/null +++ b/SD_ver.B/access_control/LCD_module.h @@ -0,0 +1,35 @@ +#ifndef _TFT_LCD_ +#define _TFT_LCD_ + +#include "pin_layout.h" +#include "RFID_module.h" +#include "RTC_module.h" +#include +#include // Core graphics library for TFT LCD - GREENTAB*! +#include // Hardware-specific library for TFT LCD - GREENTAB*! + //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. +#include // Include required libraries for RTCDS3231 + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +class display { +public: + display(Adafruit_ST7735* lcd); // Constructor for specific Adafruit Hardware + // display(ANY HARDWARE* lcd); // Can be defined for any other specific HW. (REUSE!) + void initializeTFT_LCD(); // Setup for TFT LCD - GREENTAB*! + void initialize_SD_storage(); + void write_time_register(String name, timeState* myTime); + void access_default_status(); + void print_date_time(timeState* myTime); + bool validate_card(tag my_tag, timeState* my_time); + +private: + Adafruit_ST7735* disp_pntr; + File csv_file; +}; + + +#endif // _TFT_LCD_ diff --git a/SD_ver.B/access_control/README.md b/SD_ver.B/access_control/README.md new file mode 100644 index 0000000..366357b --- /dev/null +++ b/SD_ver.B/access_control/README.md @@ -0,0 +1,54 @@ +HARDWARE REQUIREMENTS: + +This project has been implmented with this Hardware, further implementation +for additional HW by future colaborators. + +- Arduino Mega2560 like this: + https://www.arduino.cc/en/Main/ArduinoBoardMega2560 + +- DS_3231 like this: + http://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ + +- SainSmart 1.8 ST7735R TFT LCD Module with MicroSD like this: + https://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html + +- MFRC522 like this: + http://www.instructables.com/id/Arduino-RFID-Reader-MFRC522-Turorial/ + +INSTALATION REQUIREMENTS: + +Arduino IDE: +(Makefile Builds is more convenient and also available in separate branch) +This project has been tested using Arduino IDE v.1.8.0 and NOT any +other. Please note that the project uses C++11 and therefore an extra +compiling flag has been included in the file ,,platform.local.txt''. +You may need to update your compiler. + +EXTERNAL LIBRARIES: +All libraries have been packaged as submodules in the folder "./libraries" and refer +to their original repository on GitHub. + +- DS_3231 requires this library: + https://github.com/SodaqMoja/Sodaq_DS3231 + +- 1.8 ST7735R TFT LCD Module with MicroSD requires this libraries: + https://github.com/adafruit/Adafruit-GFX-Library + https://github.com/adafruit/Adafruit-ST7735-Library + +- MFRC522 requires this library: + https://github.com/miguelbalboa/rfid + +Please clone this repos and copy them inside your local sketchbook/libraries folder: +(Something like ,,my/path/to/my/sketchbook/libraries/") +To find the complete path, open Arduino IDE->File->Preferences and look for +,,sketchbook location" + +After the libraries have been copied you may need to change the libraries +folder's name in order to compile properly. + +USAGE: +Read HOW_TO_USE.txt + +TODOs: +Implementation for further HW, probably using Polymorphism (Virtual classes) +Define more TODOs! diff --git a/SD_ver.B/access_control/RFID_module.cpp b/SD_ver.B/access_control/RFID_module.cpp new file mode 100644 index 0000000..1bf779f --- /dev/null +++ b/SD_ver.B/access_control/RFID_module.cpp @@ -0,0 +1,67 @@ +#include "RFID_module.h" + + +rfid_unit::rfid_unit(MFRC522* my_rfid){ + rfid_pntr = my_rfid; +} + + +tag rfid_unit::check_acces() { + RFID_Scan(); + byte count; + tag info; + for (byte n = 0; n < rows; n++) { + count = 0; + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] == authorized_keys[n][i]) + count ++; + } + if (count == cols) { // If the scanned key matches any of the authorised_keys.h + info.access = true; // Grant access + info.name = names[n]; // Parse User Name + return info; + } + else { + info.access = false; + } + } + return info; +} + +bool rfid_unit::check_new_card() { // returns true if the card is different + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] != nuidPICC[i]) + { + for (byte j = 0; j < cols; j++) + { // Store NUID into nuidPICC array + nuidPICC[j] = rfid_pntr->uid.uidByte[j]; + } + return 1; + } + else { + return 0; + } + } +} + +void rfid_unit::clear_nuid() { + for (byte i = 0; i < cols; i++) + { + rfid_pntr->uid.uidByte[i] = 0; + nuidPICC[i] = 0; + } +} + +void rfid_unit::RFID_Scan() { + if ( ! rfid_pntr->PICC_IsNewCardPresent()) // Look for new cards + return; + if ( ! rfid_pntr->PICC_ReadCardSerial()) // Verify if the NUID has been readed + return; + rfid_pntr->PICC_HaltA(); // Halt PICC + rfid_pntr->PCD_StopCrypto1(); // Stop encryption on PCD +} + +void rfid_unit::initializeRFID() { + SPI.begin(); // Init SPI bus + rfid_pntr->PCD_Init(); // Init MFRC522 +} diff --git a/SD_ver.B/access_control/RFID_module.h b/SD_ver.B/access_control/RFID_module.h new file mode 100644 index 0000000..b88791a --- /dev/null +++ b/SD_ver.B/access_control/RFID_module.h @@ -0,0 +1,27 @@ +#ifndef _RFID_ +#define _RFID_ + +#include "pin_layout.h" +#include "authorized_keys.h" +#include + +typedef struct {String name; bool access;} tag; // Declaration of tag info structure + +class rfid_unit{ +public: + rfid_unit(MFRC522* my_rfid); + tag check_acces(); + bool check_new_card(); + void clear_nuid(); + void initializeRFID(); + void RFID_Scan(); + +private: + MFRC522* rfid_pntr; + byte nuidPICC [cols]; // Declaration of global old UID-Key (state memory) +}; + + + + +#endif // _RFID_ diff --git a/SD_ver.B/access_control/RTC_module.cpp b/SD_ver.B/access_control/RTC_module.cpp new file mode 100644 index 0000000..30c771a --- /dev/null +++ b/SD_ver.B/access_control/RTC_module.cpp @@ -0,0 +1,22 @@ +#include "RTC_module.h" + +DateTime current, prev; +bool u_date, u_month, u_year, u_hour, u_minute, u_second; + +void timeState::initializeDS3231 () //Initialize wire transfer and instansiate a RTC DS3231 +{ + Wire.begin(); + rtc.begin(); +} + +void timeState::update_time() +{ + current = rtc.now(); // Get the current date-time + if (current.year() == prev.year()) {u_year = false;} else{u_year = true;} + if (current.month() == prev.month()) {u_month = false;} else{u_month = true;} + if (current.date() == prev.date()) {u_date = false;} else{u_date = true;} + if (current.hour() == prev.hour()) {u_hour = false;} else{u_hour = true;} + if (current.minute() == prev.minute()) {u_minute = false;} else{u_minute = true;} + if (current.second() == prev.second()) {u_second = false;} else {u_second = true;} + prev = current; +} diff --git a/SD_ver.B/access_control/RTC_module.h b/SD_ver.B/access_control/RTC_module.h new file mode 100644 index 0000000..ed02ad8 --- /dev/null +++ b/SD_ver.B/access_control/RTC_module.h @@ -0,0 +1,28 @@ +#ifndef _RTC_DS3231_ +#define _RTC_DS3231_ + +#include +#include // Include required libraries for RTCDS3231 +#include + +//////////////////////////////////////////////////////////////////////// + +class timeState { +public: + void initializeDS3231 (); //Initialize wire transfer and instansiate a RTC DS3231 + void update_time(); + inline DateTime get_current_time() {return current;} + inline String get_week_day() {return weekDay[current.dayOfWeek()-1];} + inline bool get_u_date() {return u_date;} + inline bool get_u_hour() {return u_hour;} + inline bool get_u_minute() {return u_minute;} + inline bool get_u_second() {return u_second;} + +protected: + DateTime current, prev; // Time state variables + char weekDay[8][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // Define the names of week day for diff languages. + bool u_year, u_month, u_date, u_hour, u_minute, u_second; // Return true if the value has been updated +}; + + +#endif // _RTC_DS3231_ diff --git a/SD_ver.B/access_control/UNLICENSE b/SD_ver.B/access_control/UNLICENSE new file mode 100644 index 0000000..00d2e13 --- /dev/null +++ b/SD_ver.B/access_control/UNLICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to \ No newline at end of file diff --git a/SD_ver.B/access_control/access_control.ino b/SD_ver.B/access_control/access_control.ino new file mode 100644 index 0000000..86e6c8d --- /dev/null +++ b/SD_ver.B/access_control/access_control.ino @@ -0,0 +1,60 @@ + /******************************************************************************************** + * RFID-based access control and time records storage into SD card * + * Based on: See requirements.txt * + * Author: Juan Reyes, Apr, 2017. * + * Copyright: Unlicense -> For more information, please refer to * + * Usage: See README.md * + ********************************************************************************************/ + +#include +#include +#include + +#include +#include +#include // Core graphics library for TFT LCD - GREENTAB*! +#include // Hardware-specific library for TFT LCD - GREENTAB*! + //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + +#include "pin_layout.h" +#include "RFID_module.h" +#include "RTC_module.h" +#include "LCD_module.h" + + +timeState time; // Create a time object acc. to a unique RTC_DS3231 HW +Adafruit_ST7735 tft (LCD_CS, LCD_DC, LCD_RST); // Instantiate an object using HW manufacturer's library +display display_1(&tft); // Create a display object acc to specific HW (this enables the usage of multiple displays) +MFRC522 rfid(RFID_SS, RFID_RST); // Instantiate an object using HW manufacturer's library +rfid_unit rfid_unit_1(&rfid); +tag rfid_tag; // Tag information structure (Key & assigned name) + + + +void setup() +{ + time.initializeDS3231 (); // Setup for DS3231 + display_1.initializeTFT_LCD(); // Setup for LCD + rfid_unit_1.initializeRFID(); // Setup for RFID MFRC522 */ + display_1.initialize_SD_storage(); // Setup for records file in SD storage + pinMode(ACC_DENIED, OUTPUT); + pinMode(ACC_GRANTED, OUTPUT); + + // Enable this to adjust the RTC current time (ONLY ONCE) + // rtc.setDateTime (DateTime (2017, 04, 23, 13, 05, 00, 1)); + // DateTime (Year,Month,Date,Hour, Minute, Second, Weekday) --> (Sunday = 1) +} + + +void loop() +{ + display_1.print_date_time(&time); // LCD print current time & date + time.update_time(); // RTC Update current time + display_1.access_default_status(); // Acces denied by default + rfid_tag = rfid_unit_1.check_acces(); // Compare Tag info with authorized keys and parse user name + + if (rfid_unit_1.check_new_card()){ // To avoid recurrent tag loading: Execute only if new card has been loaded + display_1.validate_card(rfid_tag, &time); // Validate and execute access control + rfid_unit_1.clear_nuid(); // Clear RFID NUIDs + } +} diff --git a/SD_ver.B/access_control/authorized_keys.h b/SD_ver.B/access_control/authorized_keys.h new file mode 100644 index 0000000..e78fa5b --- /dev/null +++ b/SD_ver.B/access_control/authorized_keys.h @@ -0,0 +1,26 @@ +#ifndef _AUTHORIZED_KEYS_ +#define _AUTHORIZED_KEYS_ + +#include + +const byte authorized_keys [5][4] = { // Authorized tag UIDs [number of tags] [Tag's UID-bytes] + {00,00,000,00}, // USE the decimal format!! + {00,00,000,00}, + {00,00,000,00}, + {00,00,000,00}, + {00,00,000,00}, +}; + +const int rows = sizeof(authorized_keys)/sizeof(authorized_keys[0]); +const int cols = sizeof(authorized_keys[0]); + +const String names [rows]={ // Corresponding name of each tag/key + {"JOHN"}, + {"DOE"}, + {"MARCO"}, + {"POLO"}, + {"ARDUINO"}, +}; + + +#endif // _AUTHORIZED_KEYS_ diff --git a/SD_ver.B/access_control/libraries/Adafruit_GFX b/SD_ver.B/access_control/libraries/Adafruit_GFX new file mode 160000 index 0000000..cb95e03 --- /dev/null +++ b/SD_ver.B/access_control/libraries/Adafruit_GFX @@ -0,0 +1 @@ +Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD_ver.B/access_control/libraries/Adafruit_ST3775 b/SD_ver.B/access_control/libraries/Adafruit_ST3775 new file mode 160000 index 0000000..d53d4bf --- /dev/null +++ b/SD_ver.B/access_control/libraries/Adafruit_ST3775 @@ -0,0 +1 @@ +Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD_ver.B/access_control/libraries/MFRC522 b/SD_ver.B/access_control/libraries/MFRC522 new file mode 160000 index 0000000..6fb3869 --- /dev/null +++ b/SD_ver.B/access_control/libraries/MFRC522 @@ -0,0 +1 @@ +Subproject commit 6fb3869bd618901c411e38a738b564bc4cdd8355 diff --git a/SD_ver.B/access_control/libraries/Sodaq_DS3231 b/SD_ver.B/access_control/libraries/Sodaq_DS3231 new file mode 160000 index 0000000..162b718 --- /dev/null +++ b/SD_ver.B/access_control/libraries/Sodaq_DS3231 @@ -0,0 +1 @@ +Subproject commit 162b71811f1d40323632c2df2700533604a8872f diff --git a/SD_ver.B/access_control/pin_layout.h b/SD_ver.B/access_control/pin_layout.h new file mode 100644 index 0000000..694a2d1 --- /dev/null +++ b/SD_ver.B/access_control/pin_layout.h @@ -0,0 +1,48 @@ +#ifndef _PIN_LAYOUT_ +#define _PIN_LAYOUT_ + +/*Fixed pins for Arduino Mega 2560: + * SDA 20 + * SCL 21 + * SPI MOSI 51 + * SPI MISO 50 + * SPI SCK 52 +*/ + + +/* Connections from RTC DS3231 to Arduino Mega 2560: + * VCC 5V + * GND + * SDA 20 + * SCL 21 +*/ + + +/* Connections from SainSmart 1.8 ST7735R TFT LCD Module with MicroSD to Arduino Mega 2560:*/ +#define LCD_CS 46 // SainSmart: CS +#define LCD_DC 47 // SainSmart: RS/DC +#define LCD_RST 48 // SainSmart: RES +#define SD_CS 49 // SainSmart: SD card CS pin +// SD_MISO 50 // SainSmart: SD card MISO pin +// SDA & SD_MOSI 51 // Parallel connection +// SCL & SD_SCLK 52 // Parallel connection + + +/* Connection from MFRC522 to Arduino Mega 2560:*/ +// VCC 3.3V +#define RFID_RST 44 // MFRC522 Connection pin (RST) +#define RFID_SS 45 // MFRC522 Connection pin (SDA) +// MISO 50 // Parallel connection +// MOSI 51 // Parallel connection +// SCK 52 // Parallel connection + + +/* Output Connections */ + +#define ACC_DENIED 42 // Output / Led Signal for Access denied +#define ACC_GRANTED 43 // Output / Led Signal Access granted + +// If you connect a LED do not forget to add the resistor and GND connection. + + +#endif // _PIN_LAYOUT_ diff --git a/SD_ver.B/access_control/platform.local.txt b/SD_ver.B/access_control/platform.local.txt new file mode 100644 index 0000000..8863163 --- /dev/null +++ b/SD_ver.B/access_control/platform.local.txt @@ -0,0 +1,8 @@ +# These can be overridden in platform.local.txt +compiler.c.extra_flags= +compiler.c.elf.extra_flags= +compiler.S.extra_flags= +compiler.cpp.extra_flags=-std=c++11 +compiler.ar.extra_flags= +compiler.objcopy.eep.extra_flags= +compiler.elf2hex.extra_flags= From fe62600f064f17aed7ac0d1bb405ff1ca5ca65a1 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 16:45:59 +0200 Subject: [PATCH 02/35] deleted files --- SD_ver.B/access_control/DOES_NOT_WORK.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 SD_ver.B/access_control/DOES_NOT_WORK.txt diff --git a/SD_ver.B/access_control/DOES_NOT_WORK.txt b/SD_ver.B/access_control/DOES_NOT_WORK.txt deleted file mode 100644 index 82df9e5..0000000 --- a/SD_ver.B/access_control/DOES_NOT_WORK.txt +++ /dev/null @@ -1 +0,0 @@ -READ REAME.md! From 291c3cccee33175aee91db8b6699f8c186d2c8dc Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 16:49:10 +0200 Subject: [PATCH 03/35] Intro in Readme --- SD_ver.B/access_control/HOW_TO_USE.txt | 6 ------ SD_ver.B/access_control/README.md | 7 +++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/SD_ver.B/access_control/HOW_TO_USE.txt b/SD_ver.B/access_control/HOW_TO_USE.txt index bef8bec..f63d162 100644 --- a/SD_ver.B/access_control/HOW_TO_USE.txt +++ b/SD_ver.B/access_control/HOW_TO_USE.txt @@ -1,9 +1,3 @@ -This project implements an Arduino based access control solution -including a LCD display, Real Time Clock and time registers on a micro -SD card. The project has been uploaded as a "ready to compile" -version. This means that if your Hardware matches & all requirements -have been properly installed, you won't need to adjust anything else -on the code, except from the specific RFID tag's key. (SEE README.md->INSTALATION REQUIREMENTS). HOW TO USE: diff --git a/SD_ver.B/access_control/README.md b/SD_ver.B/access_control/README.md index 366357b..f30eead 100644 --- a/SD_ver.B/access_control/README.md +++ b/SD_ver.B/access_control/README.md @@ -1,3 +1,10 @@ +This project implements an Arduino based access control solution +including a LCD display, Real Time Clock and time registers on a micro +SD card. The project has been uploaded as a "ready to compile" +version. This means that if your Hardware matches & all requirements +have been properly installed, you won't need to adjust anything else +on the code, except from the specific RFID tag's key. + HARDWARE REQUIREMENTS: This project has been implmented with this Hardware, further implementation From 174af4d024effeb8e5bd64f372523a8affd8c855 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:02:05 +0200 Subject: [PATCH 04/35] File relocation --- SD/AccessControl.ino | 210 ------------------ SD/Leds.ino | 81 ------- SD/Menu.ino | 70 ------ SD/Pinning.h | 49 ---- SD/RFID.ino | 83 ------- SD/Settings.h | 4 - .../access_control/HOW_TO_USE.txt | 0 .../access_control/LCD_module.cpp | 0 {SD_ver.B => SD}/access_control/LCD_module.h | 2 + {SD_ver.B => SD}/access_control/README.md | 2 +- .../access_control/RFID_module.cpp | 0 {SD_ver.B => SD}/access_control/RFID_module.h | 2 + .../access_control/RTC_module.cpp | 0 {SD_ver.B => SD}/access_control/RTC_module.h | 0 {SD_ver.B => SD}/access_control/UNLICENSE | 0 .../access_control/access_control.ino | 0 .../access_control/authorized_keys.h | 0 .../access_control/libraries/Adafruit_GFX | 0 .../access_control/libraries/Adafruit_ST3775 | 0 .../access_control/libraries/MFRC522 | 0 .../access_control/libraries/Sodaq_DS3231 | 0 {SD_ver.B => SD}/access_control/pin_layout.h | 0 .../access_control/platform.local.txt | 0 23 files changed, 5 insertions(+), 498 deletions(-) delete mode 100644 SD/AccessControl.ino delete mode 100644 SD/Leds.ino delete mode 100644 SD/Menu.ino delete mode 100644 SD/Pinning.h delete mode 100644 SD/RFID.ino delete mode 100644 SD/Settings.h rename {SD_ver.B => SD}/access_control/HOW_TO_USE.txt (100%) rename {SD_ver.B => SD}/access_control/LCD_module.cpp (100%) rename {SD_ver.B => SD}/access_control/LCD_module.h (94%) rename {SD_ver.B => SD}/access_control/README.md (96%) rename {SD_ver.B => SD}/access_control/RFID_module.cpp (100%) rename {SD_ver.B => SD}/access_control/RFID_module.h (87%) rename {SD_ver.B => SD}/access_control/RTC_module.cpp (100%) rename {SD_ver.B => SD}/access_control/RTC_module.h (100%) rename {SD_ver.B => SD}/access_control/UNLICENSE (100%) rename {SD_ver.B => SD}/access_control/access_control.ino (100%) rename {SD_ver.B => SD}/access_control/authorized_keys.h (100%) rename {SD_ver.B => SD}/access_control/libraries/Adafruit_GFX (100%) rename {SD_ver.B => SD}/access_control/libraries/Adafruit_ST3775 (100%) rename {SD_ver.B => SD}/access_control/libraries/MFRC522 (100%) rename {SD_ver.B => SD}/access_control/libraries/Sodaq_DS3231 (100%) rename {SD_ver.B => SD}/access_control/pin_layout.h (100%) rename {SD_ver.B => SD}/access_control/platform.local.txt (100%) diff --git a/SD/AccessControl.ino b/SD/AccessControl.ino deleted file mode 100644 index 1496226..0000000 --- a/SD/AccessControl.ino +++ /dev/null @@ -1,210 +0,0 @@ -/* - Arduino RFID Access Control - - Security ! - - To keep it simple we are going to use Tag's Unique IDs - as only method of Authenticity. It's simple and not hacker proof. - If you need security, don't use it unless you modify the code - - Copyright (C) 2015 Omer Siar Baysal - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -*/ - -#include // RC522 Module uses SPI protocol -#include // Library for Mifare RC522 Devices -#include // We are going to read and write PICC's UIDs from/to SD - -#include "Pinning.h" // Include our Pinnings -#include "Settings.h" // Include our variable Settings - -/* - Maybe you want to use a servo on the output pin - Servos can lock and unlock door locks too - There are examples out there. -*/ - -// #include or -// #include - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false - -int successRead; // Variable integer to keep if we have Successful Read from Reader - -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID - -char username[8] = {'\0'}; -char filename[] = "XXXXXXXXXXXXXXX.DAT"; // Stores variable filename -char extension[] = "DAT"; // sometimes the extension gets modified -char dir[] = "/PICCS/"; - -MFRC522 mfrc522(RFID_SS_PIN, RFID_RST_PIN); // Create MFRC522 instance. - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(LED_RED, OUTPUT); - pinMode(LED_GREEN, OUTPUT); - pinMode(LED_BLUE, OUTPUT); - pinMode(OUTPUT_PIN, OUTPUT); // Be careful how output circuit behave on while resetting or power-cycling your Arduino - digitalWrite(OUTPUT_PIN, OUTPUT_OFF); // Make sure output is off - digitalWrite(LED_RED, LED_OFF); // Make sure led is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure green is off - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue is off - - //Initialize - Serial.begin(57600); // Initialize serial communications with PC - Serial.println(F("Access Control v4.6_SD")); // For debugging purposes - SPI.begin(); // MFRC522 and SD Card Hardware uses SPI protocol - if (!SD.begin(SD_SS_PIN)) { // Initialize SD Hardware - Serial.println(F("SD initialization failed!")); // Could not initialize - redSolid(); - while (true); // Do not go further - } - Serial.println(F("SD initialization done.")); // Yay all SPI slaves work - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - checkMaster(); // Check if masterCard defined - Serial.println(F("Everything Ready")); - Serial.println(F("Waiting PICCs to be scanned")); - cycleLeds(); // Lets give user some feedback that hardware initialized by cycling leds -} - - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - if (programMode) { - cycleLeds(); // Program Mode cycles through RGB waiting to read a new card - } - else { - blueSolid(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); // the program will not go further while you not get a successful read - if (programMode) { - // Print the control menu: - printMenu(); - // Then wait for any serial data to come in: - while (!Serial.available()); - // Once serial data is received, call parseMenu to act on it: - parseMenu(Serial.read()); - } - if (isMaster(readCard)) { // If scanned card's ID matches Master Card's ID enter program mode - Serial.println(F("Hello Master - Entered Program Mode")); - programMode = true; - } - else { - if (findID()) { // If not, check if we can find it - Serial.println(F("Welcome, You shall pass")); - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - Serial.println(F("You shall not pass")); - denied(); - } - } -} - -void getFilename() { // We will store UIDs as files on SD card - sprintf(filename, "%s%02x%02x%02x%02x.%s", dir, readCard[0], readCard[1], // Convert readCard data to char and append extension - readCard[2], readCard[3], extension); -} - -boolean findID () { // Check If we can find UID's specific file - File fileopen = SD.open(filename); - if (fileopen) { - fileopen.close(); // Found it close - return true; - } - else { // If not, return false - } - return false; -} - -void writeID (char* user) { - File filewrite = SD.open(filename, FILE_WRITE); - filewrite.print(user); - filewrite.close(); - if (SD.exists(filename)) { - Serial.println(F("Succesfully added ID record")); - greenBlink(3); - } - else { - Serial.println(F("Failed to add record")); - redBlink(3); - } -} - -void removeID () { - SD.remove(filename); - if (SD.exists(filename)) { - Serial.println(F("Failed to remove. Record still exists")); - redBlink(3); - } - else { - Serial.println(F("Succesfully removed ID record")); - blueBlink(3); - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted (int setDelay) { - digitalWrite(OUTPUT_PIN, LOW); // Unlock door! - delay(setDelay); // Hold door lock open for given seconds - digitalWrite(OUTPUT_PIN, HIGH); // Relock door - greenSolid(); -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - redSolid(); -} - - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != NULL ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} diff --git a/SD/Leds.ino b/SD/Leds.ino deleted file mode 100644 index a165802..0000000 --- a/SD/Leds.ino +++ /dev/null @@ -1,81 +0,0 @@ -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED n-times to indicate a successful write to EEPROM -void greenBlink(uint8_t n) { - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - digitalWrite(LED_RED, LED_OFF); // Make sure red LED is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - bool state = true; - for (int i = 0; i < (n*2); i++) { - digitalWrite(LED_BLUE, state); // Toggle green LED - state = !state; - delay(BLINK_DELAY); - } -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED n-times to indicate a failed write to EEPROM -void redBlink(uint8_t n) { - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - digitalWrite(LED_RED, LED_OFF); // Make sure red LED is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - bool state = true; - for (int i = 0; i < (n*2); i++) { - digitalWrite(LED_RED, state); // Toggle red LED - state = !state; - delay(BLINK_DELAY); - } -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED n-times to indicate a success delete to EEPROM -void blueBlink(uint8_t n) { - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - digitalWrite(LED_RED, LED_OFF); // Make sure red LED is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - bool state = true; - for (int i = 0; i < (n*2); i++) { - digitalWrite(LED_BLUE, state); // Toggle blue LED - state = !state; - delay(BLINK_DELAY); - } -} - - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(LED_RED, LED_OFF); // Make sure red LED is off - digitalWrite(LED_GREEN, LED_ON); // Make sure green LED is on - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - delay(CYCLE_DELAY); - digitalWrite(LED_RED, LED_OFF); // Make sure red LED is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - digitalWrite(LED_BLUE, LED_ON); // Make sure blue LED is on - delay(CYCLE_DELAY); - digitalWrite(LED_RED, LED_ON); // Make sure red LED is on - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - delay(CYCLE_DELAY); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void blueSolid () { - digitalWrite(LED_BLUE, LED_ON); // Blue LED ON and ready to read card - digitalWrite(LED_RED, LED_OFF); // Make sure Red LED is off - digitalWrite(LED_GREEN, LED_OFF); // Make sure Green LED is off - delay(SOLID_DELAY); // Hold blue LED on -} - -void greenSolid () { - digitalWrite(LED_BLUE, LED_OFF); // Turn off blue LED - digitalWrite(LED_RED, LED_OFF); // Turn off red LED - digitalWrite(LED_GREEN, LED_ON); // Turn on green LED - delay(SOLID_DELAY); // Hold green LED on -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void redSolid() { - digitalWrite(LED_GREEN, LED_OFF); // Make sure green LED is off - digitalWrite(LED_BLUE, LED_OFF); // Make sure blue LED is off - digitalWrite(LED_RED, LED_ON); // Turn on red LED - delay(SOLID_DELAY); // Hold red LED on -} diff --git a/SD/Menu.ino b/SD/Menu.ino deleted file mode 100644 index e3a9fa0..0000000 --- a/SD/Menu.ino +++ /dev/null @@ -1,70 +0,0 @@ -void parseMenu(char c) { - switch (c) { - case '1': - Serial.println(F("Scan a PICC and Enter User Name")); - while (!Serial.available()) { - getID(); - } - if (findID()) { // If not, check if we can find it - Serial.println(F("This PICC Already Exists")); - Serial.print(F("User Name: ")); - Serial.println(F("This PICC Already Exists")); - File dataFile = SD.open(filename); - if (dataFile) { - while (dataFile.available()) { - Serial.write(dataFile.read()); - } - dataFile.close(); - } - Serial.println(F("You can change username")); - return; - } - for (byte i = 0; i < 7; i++) { - username[i] = Serial.read(); - } - writeID(username); - break; - case '2': - while (!Serial.available()) - - break; - case '3': - while (!Serial.available()) - - break; - case '4': - while (!Serial.available()) { - - } - break; - case '5': - programMode = false; - Serial.println(F("Quit Programming Mode")); - break; - case '6': - SD.remove("/SYS/master.dat"); - checkMaster(); - programMode = false; - Serial.println(F("Quit Programming Mode")); - checkMaster(); - break; - - } -} - -void printMenu() { - Serial.println(); - Serial.println(F("////////////////////////////////////////////")); - Serial.println(F("// Programming Menu //")); - Serial.println(F("////////////////////////////////////////////")); - Serial.println(); - Serial.println(F("1) Add a PICC")); - Serial.println(F("2) Remove a PICC")); - Serial.println(F("3) Change Username")); - Serial.println(F("4) Set Date and Time /not implemented")); - Serial.println(F("5) Exit Programming Mode")); - Serial.println(); - Serial.println(F("6) Change Master Tag")); - Serial.println(F("X) Delete All Tags /not implemented")); - Serial.println(); -} \ No newline at end of file diff --git a/SD/Pinning.h b/SD/Pinning.h deleted file mode 100644 index ab0ea80..0000000 --- a/SD/Pinning.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - PIN Definitions -*/ - -#define COMMON_ANODE // If Set the LEDs are connected with common anode - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -/* LED Pins - - For visualizing whats going on hardware - we need some leds and - to control door lock a relay and a wipe button - (or some other hardware) - Used common anode led,digitalWriting HIGH turns OFF led - Mind that if you are going to use common cathode led or - just seperate leds, simply comment out #define COMMON_ANODE, -*/ -#define LED_RED 2 // Set Red Led Pin -#define LED_GREEN 6 // Set Green Led Pin -#define LED_BLUE 5 // Set Blue Led Pin - -/* Output Pins */ -#define OUTPUT_PIN 8 // Set Output Pin (Relay/Servo/...) -#define OUTPUT_ON HIGH// Set Output ON State -#define OUTPUT_OFF LOW // Set Output OFF State - -/* SPI Slave Pins - - We need to define MFRC522's and SD Card pins and create instance - Pin layout should be as follows (on Arduino Uno): - MOSI: Pin 11 / ICSP-4 - MISO: Pin 12 / ICSP-1 - SCK : Pin 13 / ICSP-3 - - Mifare RC522 Reset Pin has to be connected to resolv issues with - broken/incomplete connections to PICCS - -*/ -#define SD_SS_PIN 2 // Set Slave Select Pin from SD Card -#define RFID_SS_PIN 10 // Set Slave Select Pin from Mifare RC522 Reader -#define RFID_RST_PIN 9 // Set Reset Pin from Mifare RC522 Reader - diff --git a/SD/RFID.ino b/SD/RFID.ino deleted file mode 100644 index bb6f19f..0000000 --- a/SD/RFID.ino +++ /dev/null @@ -1,83 +0,0 @@ -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -int getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - Serial.print(F("Scanned PICC's UID: ")); - for (int i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - Serial.print(readCard[i], HEX); - } - Serial.println(""); - mfrc522.PICC_HaltA(); // Stop reading - getFilename(); // Get data ready - return 1; -} - -void checkMaster() { - if (SD.exists("/SYS/master.dat")) { // Check if we have master.dat on SD card - Serial.print(F("Master Card's UID: ")); // Since we have it print to serial - File masterfile = SD.open("/SYS/master.dat"); // Open file - for (int i = 0; i < 4; i++) { // Loop 4 times to get 4 bytes - readCard[i] = masterfile.read(); - Serial.print(readCard[i], HEX); // Actual serial printing of each byte - masterCard[i] = readCard[i]; // Prepare bytes for future comparing - } - Serial.println(""); - masterfile.close(); // Close file - } - else { - Serial.println(F("No Master Card Defined")); - Serial.println(F("Scan A PICC to Define as Master Card")); - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - blueBlink(3); // Visualize Master Card need to be defined - } - while (!successRead); //the program will not go further while you not get a successful read - File masterfile = SD.open("/SYS/master.dat", FILE_WRITE); - if (masterfile) { - Serial.println(F("Writing to master.dat...")); - masterfile.write(readCard, 4); - for (int i = 0; i < 4; i++) { // Loop 4 times to get 4 bytes - readCard[i] = masterfile.read(); - - masterCard[i] = readCard[i]; // Prepare bytes for future comparing - } - // close the file: - masterfile.close(); - greenBlink(3); - Serial.println(F("Master Card successfuly defined")); - } else { - // if the file didn't open, print an error: - Serial.println(F("error creating master.dat")); - redBlink(3); - } - } -} - -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown)")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - redSolid(); - while (true); // do not go further - } -} \ No newline at end of file diff --git a/SD/Settings.h b/SD/Settings.h deleted file mode 100644 index 9c68373..0000000 --- a/SD/Settings.h +++ /dev/null @@ -1,4 +0,0 @@ -/* LED Flash, Cycle and Solid State Delays defined here */ -#define BLINK_DELAY 200 // Delay for flashing leds (ms) -#define CYCLE_DELAY 200 // Delay for cycling leds (ms) -#define SOLID_DELAY 1000 // Delay for solid led state at least n milliseconds \ No newline at end of file diff --git a/SD_ver.B/access_control/HOW_TO_USE.txt b/SD/access_control/HOW_TO_USE.txt similarity index 100% rename from SD_ver.B/access_control/HOW_TO_USE.txt rename to SD/access_control/HOW_TO_USE.txt diff --git a/SD_ver.B/access_control/LCD_module.cpp b/SD/access_control/LCD_module.cpp similarity index 100% rename from SD_ver.B/access_control/LCD_module.cpp rename to SD/access_control/LCD_module.cpp diff --git a/SD_ver.B/access_control/LCD_module.h b/SD/access_control/LCD_module.h similarity index 94% rename from SD_ver.B/access_control/LCD_module.h rename to SD/access_control/LCD_module.h index 4b50c82..c246157 100644 --- a/SD_ver.B/access_control/LCD_module.h +++ b/SD/access_control/LCD_module.h @@ -15,6 +15,8 @@ #define F(string_literal) string_literal #endif +//////////////////////////////////////////////////////////////////////// + class display { public: display(Adafruit_ST7735* lcd); // Constructor for specific Adafruit Hardware diff --git a/SD_ver.B/access_control/README.md b/SD/access_control/README.md similarity index 96% rename from SD_ver.B/access_control/README.md rename to SD/access_control/README.md index f30eead..16f644b 100644 --- a/SD_ver.B/access_control/README.md +++ b/SD/access_control/README.md @@ -25,7 +25,7 @@ for additional HW by future colaborators. INSTALATION REQUIREMENTS: Arduino IDE: -(Makefile Builds is more convenient and also available in separate branch) +(Makefile Builds is more convenient and will be available in separate branch) This project has been tested using Arduino IDE v.1.8.0 and NOT any other. Please note that the project uses C++11 and therefore an extra compiling flag has been included in the file ,,platform.local.txt''. diff --git a/SD_ver.B/access_control/RFID_module.cpp b/SD/access_control/RFID_module.cpp similarity index 100% rename from SD_ver.B/access_control/RFID_module.cpp rename to SD/access_control/RFID_module.cpp diff --git a/SD_ver.B/access_control/RFID_module.h b/SD/access_control/RFID_module.h similarity index 87% rename from SD_ver.B/access_control/RFID_module.h rename to SD/access_control/RFID_module.h index b88791a..64d9f89 100644 --- a/SD_ver.B/access_control/RFID_module.h +++ b/SD/access_control/RFID_module.h @@ -7,6 +7,8 @@ typedef struct {String name; bool access;} tag; // Declaration of tag info structure +//////////////////////////////////////////////////////////////////////// + class rfid_unit{ public: rfid_unit(MFRC522* my_rfid); diff --git a/SD_ver.B/access_control/RTC_module.cpp b/SD/access_control/RTC_module.cpp similarity index 100% rename from SD_ver.B/access_control/RTC_module.cpp rename to SD/access_control/RTC_module.cpp diff --git a/SD_ver.B/access_control/RTC_module.h b/SD/access_control/RTC_module.h similarity index 100% rename from SD_ver.B/access_control/RTC_module.h rename to SD/access_control/RTC_module.h diff --git a/SD_ver.B/access_control/UNLICENSE b/SD/access_control/UNLICENSE similarity index 100% rename from SD_ver.B/access_control/UNLICENSE rename to SD/access_control/UNLICENSE diff --git a/SD_ver.B/access_control/access_control.ino b/SD/access_control/access_control.ino similarity index 100% rename from SD_ver.B/access_control/access_control.ino rename to SD/access_control/access_control.ino diff --git a/SD_ver.B/access_control/authorized_keys.h b/SD/access_control/authorized_keys.h similarity index 100% rename from SD_ver.B/access_control/authorized_keys.h rename to SD/access_control/authorized_keys.h diff --git a/SD_ver.B/access_control/libraries/Adafruit_GFX b/SD/access_control/libraries/Adafruit_GFX similarity index 100% rename from SD_ver.B/access_control/libraries/Adafruit_GFX rename to SD/access_control/libraries/Adafruit_GFX diff --git a/SD_ver.B/access_control/libraries/Adafruit_ST3775 b/SD/access_control/libraries/Adafruit_ST3775 similarity index 100% rename from SD_ver.B/access_control/libraries/Adafruit_ST3775 rename to SD/access_control/libraries/Adafruit_ST3775 diff --git a/SD_ver.B/access_control/libraries/MFRC522 b/SD/access_control/libraries/MFRC522 similarity index 100% rename from SD_ver.B/access_control/libraries/MFRC522 rename to SD/access_control/libraries/MFRC522 diff --git a/SD_ver.B/access_control/libraries/Sodaq_DS3231 b/SD/access_control/libraries/Sodaq_DS3231 similarity index 100% rename from SD_ver.B/access_control/libraries/Sodaq_DS3231 rename to SD/access_control/libraries/Sodaq_DS3231 diff --git a/SD_ver.B/access_control/pin_layout.h b/SD/access_control/pin_layout.h similarity index 100% rename from SD_ver.B/access_control/pin_layout.h rename to SD/access_control/pin_layout.h diff --git a/SD_ver.B/access_control/platform.local.txt b/SD/access_control/platform.local.txt similarity index 100% rename from SD_ver.B/access_control/platform.local.txt rename to SD/access_control/platform.local.txt From 4dd37c1f6eb5cb8be5a36c1c6337d7e89168d7da Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:19:55 +0200 Subject: [PATCH 05/35] Remove duplicated libraries --- SD/access_control/libraries/Adafruit_GFX | 1 - SD/access_control/libraries/Adafruit_ST3775 | 1 - SD/access_control/libraries/MFRC522 | 1 - SD/access_control/libraries/Sodaq_DS3231 | 1 - 4 files changed, 4 deletions(-) delete mode 160000 SD/access_control/libraries/Adafruit_GFX delete mode 160000 SD/access_control/libraries/Adafruit_ST3775 delete mode 160000 SD/access_control/libraries/MFRC522 delete mode 160000 SD/access_control/libraries/Sodaq_DS3231 diff --git a/SD/access_control/libraries/Adafruit_GFX b/SD/access_control/libraries/Adafruit_GFX deleted file mode 160000 index cb95e03..0000000 --- a/SD/access_control/libraries/Adafruit_GFX +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD/access_control/libraries/Adafruit_ST3775 b/SD/access_control/libraries/Adafruit_ST3775 deleted file mode 160000 index d53d4bf..0000000 --- a/SD/access_control/libraries/Adafruit_ST3775 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD/access_control/libraries/MFRC522 b/SD/access_control/libraries/MFRC522 deleted file mode 160000 index 6fb3869..0000000 --- a/SD/access_control/libraries/MFRC522 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6fb3869bd618901c411e38a738b564bc4cdd8355 diff --git a/SD/access_control/libraries/Sodaq_DS3231 b/SD/access_control/libraries/Sodaq_DS3231 deleted file mode 160000 index 162b718..0000000 --- a/SD/access_control/libraries/Sodaq_DS3231 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 162b71811f1d40323632c2df2700533604a8872f From 184051f602130bddfb39ea3925c6b06298864760 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:25:53 +0200 Subject: [PATCH 06/35] libraries added as git submodules --- SD/access_control/libraries/Adafruit_GFX | 1 + SD/access_control/libraries/Adafruit_ST3775 | 1 + SD/access_control/libraries/MFRC522 | 1 + SD/access_control/libraries/Sodaq_DS3231 | 1 + 4 files changed, 4 insertions(+) create mode 160000 SD/access_control/libraries/Adafruit_GFX create mode 160000 SD/access_control/libraries/Adafruit_ST3775 create mode 160000 SD/access_control/libraries/MFRC522 create mode 160000 SD/access_control/libraries/Sodaq_DS3231 diff --git a/SD/access_control/libraries/Adafruit_GFX b/SD/access_control/libraries/Adafruit_GFX new file mode 160000 index 0000000..cb95e03 --- /dev/null +++ b/SD/access_control/libraries/Adafruit_GFX @@ -0,0 +1 @@ +Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD/access_control/libraries/Adafruit_ST3775 b/SD/access_control/libraries/Adafruit_ST3775 new file mode 160000 index 0000000..d53d4bf --- /dev/null +++ b/SD/access_control/libraries/Adafruit_ST3775 @@ -0,0 +1 @@ +Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD/access_control/libraries/MFRC522 b/SD/access_control/libraries/MFRC522 new file mode 160000 index 0000000..c5781e7 --- /dev/null +++ b/SD/access_control/libraries/MFRC522 @@ -0,0 +1 @@ +Subproject commit c5781e75598e76167d9079051bb77d02bfc595a4 diff --git a/SD/access_control/libraries/Sodaq_DS3231 b/SD/access_control/libraries/Sodaq_DS3231 new file mode 160000 index 0000000..162b718 --- /dev/null +++ b/SD/access_control/libraries/Sodaq_DS3231 @@ -0,0 +1 @@ +Subproject commit 162b71811f1d40323632c2df2700533604a8872f From 8ce2101a3161ff368348b17d8eb8013567505326 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:29:49 +0200 Subject: [PATCH 07/35] .gitmodules file --- .gitmodules | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8e20966 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,12 @@ +[submodule "SD/access_control/libraries/Sodaq_DS3231"] + path = SD/access_control/libraries/Sodaq_DS3231 + url = https://github.com/SodaqMoja/Sodaq_DS3231.git +[submodule "SD/access_control/libraries/Adafruit_ST3775"] + path = SD/access_control/libraries/Adafruit_ST3775 + url = https://github.com/adafruit/Adafruit-ST7735-Library.git +[submodule "SD/access_control/libraries/Adafruit_GFX"] + path = SD/access_control/libraries/Adafruit_GFX + url = https://github.com/adafruit/Adafruit-GFX-Library.git +[submodule "SD/access_control/libraries/MFRC522"] + path = SD/access_control/libraries/MFRC522 + url = https://github.com/miguelbalboa/rfid.git From 0422937ba7c6dc527d2b7b8832568cbea358a3c8 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:35:33 +0200 Subject: [PATCH 08/35] Modified Readme.md --- SD/access_control/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/SD/access_control/README.md b/SD/access_control/README.md index 16f644b..24cb71f 100644 --- a/SD/access_control/README.md +++ b/SD/access_control/README.md @@ -33,7 +33,12 @@ You may need to update your compiler. EXTERNAL LIBRARIES: All libraries have been packaged as submodules in the folder "./libraries" and refer -to their original repository on GitHub. +to their original repository. To clone them go to your command line and type: + +$ git submodule init +$ git submodule update + +or go to each repo and clone: - DS_3231 requires this library: https://github.com/SodaqMoja/Sodaq_DS3231 @@ -50,9 +55,6 @@ Please clone this repos and copy them inside your local sketchbook/libraries fol To find the complete path, open Arduino IDE->File->Preferences and look for ,,sketchbook location" -After the libraries have been copied you may need to change the libraries -folder's name in order to compile properly. - USAGE: Read HOW_TO_USE.txt From 42d96c4bcbe8a61208c37805a7466077f0d00094 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 17:42:32 +0200 Subject: [PATCH 09/35] modified Readme --- SD/access_control/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SD/access_control/README.md b/SD/access_control/README.md index 24cb71f..ab7144d 100644 --- a/SD/access_control/README.md +++ b/SD/access_control/README.md @@ -35,8 +35,7 @@ EXTERNAL LIBRARIES: All libraries have been packaged as submodules in the folder "./libraries" and refer to their original repository. To clone them go to your command line and type: -$ git submodule init -$ git submodule update +$ git submodule init && git submodule update or go to each repo and clone: From 643a8f8371f151d7ca1fafbf1dbe785e0787ef44 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 18:07:34 +0200 Subject: [PATCH 10/35] minor changes --- SD/access_control/access_control.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SD/access_control/access_control.ino b/SD/access_control/access_control.ino index 86e6c8d..6177a8e 100644 --- a/SD/access_control/access_control.ino +++ b/SD/access_control/access_control.ino @@ -1,6 +1,6 @@ /******************************************************************************************** * RFID-based access control and time records storage into SD card * - * Based on: See requirements.txt * + * Based on: See README.md * * Author: Juan Reyes, Apr, 2017. * * Copyright: Unlicense -> For more information, please refer to * * Usage: See README.md * From 19133dcbaff2a895c7f99ec436563ede17782d29 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 18:11:50 +0200 Subject: [PATCH 11/35] Removed unused projects --- AccessControl/AccessControl.ino | 423 ---------------------- AccessControl/Leds.ino | 95 ----- CHANGELOG.md | 82 ----- DeleteLostTag/DeleteLostTag.ino | 199 ----------- EEPROM/EEPROM.ino | 511 --------------------------- EEPROM/README.md | 51 --- LCD/LCD.ino | 603 -------------------------------- LICENSE | 339 ------------------ NoSerial/Leds.ino | 95 ----- NoSerial/NoSerial.ino | 390 --------------------- README.md | 31 -- 11 files changed, 2819 deletions(-) delete mode 100644 AccessControl/AccessControl.ino delete mode 100644 AccessControl/Leds.ino delete mode 100644 CHANGELOG.md delete mode 100644 DeleteLostTag/DeleteLostTag.ino delete mode 100644 EEPROM/EEPROM.ino delete mode 100644 EEPROM/README.md delete mode 100644 LCD/LCD.ino delete mode 100644 LICENSE delete mode 100644 NoSerial/Leds.ino delete mode 100644 NoSerial/NoSerial.ino delete mode 100644 README.md diff --git a/AccessControl/AccessControl.ino b/AccessControl/AccessControl.ino deleted file mode 100644 index 8a5aae5..0000000 --- a/AccessControl/AccessControl.ino +++ /dev/null @@ -1,423 +0,0 @@ -/* - Arduino RFID Access Control - - Security ! - - To keep it simple we are going to use Tag's Unique IDs - as only method of Authenticity. It's simple and not hacker proof. - If you need security, don't use it unless you modify the code - - Copyright (C) 2015 Omer Siar Baysal - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -*/ - -#include // RC522 Module uses SPI protocol -#include // Ethernet Library Wiznet -#include // Library for Mifare RC522 Devices -#include // We are going to read and write PICC's UIDs from/to SD - - -/* - Instead of a Relay maybe you want to use a servo - Servos can lock and unlock door locks too - There are examples out there. -*/ - -// #include - -/* - For visualizing whats going on hardware - we need some leds and - to control door lock a relay and a wipe button - (or some other hardware) - Used common anode led,digitalWriting HIGH turns OFF led - Mind that if you are going to use common cathode led or - just seperate leds, simply comment out #define COMMON_ANODE, - */ - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 2 // Set Led Pins -#define greenLed 6 -#define blueLed 5 - -#define relay 3 // Set Relay Pin - -#define sdPin 4 // Set SD Pin - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false - -int successRead; // Variable integer to keep if we have Successful Read from Reader - -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID - -char filename[] = "XXXXXXXXXXXXXXX.DAT"; // Stores variable filename -char extension[] = "DAT"; // sometimes the extension gets modified -char dir[] = "/PICCS/"; - - -/* - We need to define MFRC522's pins and create instance - Pin layout should be as follows (on Arduino Uno): - MOSI: Pin 11 / ICSP-4 - MISO: Pin 12 / ICSP-1 - SCK : Pin 13 / ICSP-3 - SDA : (Configurable) - RST : Not Needed - - */ - -#define SS_PIN 9 -#define RST_PIN 8 -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -/************ ETHERNET STUFF ************/ -// Initialize the Ethernet server library -// with the IP address and port you want to use -// (port 80 is default for HTTP): -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; -IPAddress ip(192, 168, 1, 245); -EthernetServer server(80); - - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - pinMode(relay, OUTPUT); // Be careful how relay circuit behave on while resetting or power-cycling your Arduino - digitalWrite(relay, HIGH); // Make sure door is locked - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Initialize - Serial.begin(9600); // Initialize serial communications with PC - Serial.println(F("Access Control v4.3")); // For debugging purposes - SPI.begin(); // MFRC522 Hardware uses SPI protocol - Ethernet.begin(mac, ip); - server.begin(); - Serial.print("server is at "); - Serial.println(Ethernet.localIP()); - if (!SD.begin(sdPin)) { // Initialize SD Hardware - Serial.println(F("SD initialization failed!")); // Could not initialize - redSolid(); - while (true); // Do not go further - } - Serial.println(F("SD initialization done.")); // Yay all SPI slaves work - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - checkMaster(); // Check if masterCard defined - Serial.println(F("Everything Ready")); - Serial.println(F("Waiting PICCs to be scanned")); - cycleLeds(); // Lets give user some feedback that hardware initialized by cycling leds -} - - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - checkClient(); - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - if (programMode) { - cycleLeds(); // Program Mode cycles through RGB waiting to read a new card - } - else { - blueSolid(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); // the program will not go further while you not get a successful read - if (programMode) { - if (isMaster(readCard)) { // If master card scanned again exit program mode - Serial.println(F("Master Card Scanned")); - Serial.println(F("Exiting Program Mode")); - Serial.println(F("-----------------------------")); - programMode = false; - return; - } - else { - if ( findID() ) { // If scanned card is known delete it - Serial.println(F("I know this PICC, removing...")); - removeID(); - Serial.println(F("-----------------------------")); - } - else { // If scanned card is not known add it - Serial.println(F("I do not know this PICC, adding...")); - writeID(); - Serial.println(F("-----------------------------")); - } - } - } - else { - if (isMaster(readCard)) { // If scanned card's ID matches Master Card's ID enter program mode - programMode = true; - Serial.println(F("Hello Master - Entered Program Mode")); - Serial.println(F("Scan a PICC to ADD or REMOVE")); - Serial.println(F("-----------------------------")); - } - else { - if (findID()) { // If not, check if we can find it - Serial.println(F("Welcome, You shall pass")); - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - Serial.println(F("You shall not pass")); - denied(); - } - } - } -} - -void checkClient() { - - EthernetClient client = server.available(); // try to get client - if (client) { // got client? - boolean currentLineIsBlank = true; - while (client.connected()) { - if (client.available()) { // client data available to read - char c = client.read(); // read 1 byte (character) from client - // last line of client request is blank and ends with \n - // respond to client only after last line received - if (c == '\n' && currentLineIsBlank) { - // send a standard http response header - client.println("HTTP/1.1 200 OK"); - client.println("Content-Type: text/html"); - client.println("Connection: close"); - client.println(); - client.print("Arduino RFID Access Control

Welcome RFID Access Control 4

Here is the list of Authorized Users


"); - - File dir = SD.open("/PICCS"); - while (true) { - File entry = dir.openNextFile(); - if (! entry) { - // no more files - break; - } - client.print(""); - - } - - client.print("
User NameUID FileRemove
"); - while (entry.available()) { - client.write(entry.read()); - } - entry.close(); - client.print(""); - client.print(entry.name()); - client.print(""); - client.println("
"); - client.println("
"); - client.print("
"); - break; - } - // every line of text received from the client ends with \r\n - if (c == '\n') { - // last character on line of received text - // starting new line with next character read - currentLineIsBlank = true; - } - else if (c != '\r') { - // a text character was received from client - currentLineIsBlank = false; - } - } // end if (client.available()) - } // end while (client.connected()) - delay(1); // give the web browser time to receive the data - client.stop(); // close the connection - } // end if (client) -} - - - - -void getFilename() { // We will store UIDs as files on SD card - sprintf(filename, "%s%02x%02x%02x%02x.%s", dir, readCard[0], readCard[1], // Convert readCard data to char and append extension - readCard[2], readCard[3], extension); -} - -boolean findID () { // Check If we can find UID's specific file - File fileopen = SD.open(filename); - if (fileopen) { - fileopen.close(); // Found it close - return true; - } - else { // If not, return false - } - return false; -} - -void writeID () { - File filewrite = SD.open(filename, FILE_WRITE); - filewrite.close(); - if (SD.exists(filename)) { - Serial.println(F("Succesfully added ID record")); - greenBlink(); - } - else { - Serial.println(F("Failed to add record")); - redBlink(); - } -} - -void removeID () { - SD.remove(filename); - if (SD.exists(filename)) { - Serial.println(F("Failed to remove. Record still exists")); - redBlink(); - } - else { - Serial.println(F("Succesfully removed ID record")); - blueBlink(); - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted (int setDelay) { - digitalWrite(relay, LOW); // Unlock door! - delay(setDelay); // Hold door lock open for given seconds - digitalWrite(relay, HIGH); // Relock door - greenSolid(); -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - redSolid(); -} - - -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -int getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - Serial.println(F("Scanned PICC's UID:")); - for (int i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - Serial.print(readCard[i], HEX); - } - Serial.println(""); - mfrc522.PICC_HaltA(); // Stop reading - getFilename(); // Get data ready - return 1; -} - -void checkMaster() { - if (SD.exists("/SYS/master.dat")) { // Check if we have master.dat on SD card - Serial.print(F("Master Card's UID: ")); // Since we have it print to serial - File masterfile = SD.open("/SYS/master.dat"); // Open file - for (int i = 0; i < 4; i++) { // Loop 4 times to get 4 bytes - readCard[i] = masterfile.read(); - Serial.print(readCard[i], HEX); // Actual serial printing of each byte - masterCard[i] = readCard[i]; // Prepare bytes for future comparing - } - Serial.println(""); - masterfile.close(); // Close file - } - else { - Serial.println(F("No Master Card Defined")); - Serial.println(F("Scan A PICC to Define as Master Card")); - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - blueBlink(); // Visualize Master Card need to be defined - } - while (!successRead); //the program will not go further while you not get a successful read - File masterfile = SD.open("/SYS/master.dat", FILE_WRITE); - if (masterfile) { - Serial.println(F("Writing to master.dat...")); - masterfile.write(readCard, 4); - // close the file: - masterfile.close(); - Serial.println(F("Master Card successfuly defined")); - } else { - // if the file didn't open, print an error: - Serial.println(F("error creating master.dat")); - redBlink(); - } - } -} - - - - -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown)")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - redSolid(); - while (true); // do not go further - } -} - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != NULL ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} - diff --git a/AccessControl/Leds.ino b/AccessControl/Leds.ino deleted file mode 100644 index 2b95093..0000000 --- a/AccessControl/Leds.ino +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED 3 times to indicate a successful write to EEPROM -void greenBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void redBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void blueBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); -} - - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void blueSolid () { - digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card - digitalWrite(redLed, LED_OFF); // Make sure Red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off -} - -void greenSolid () { - digitalWrite(blueLed, LED_OFF); // Turn off blue LED - digitalWrite(redLed, LED_OFF); // Turn off red LED - digitalWrite(greenLed, LED_ON); // Turn on green LED - delay(1000); // Hold green LED on for a second -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void redSolid() { - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - delay(1000); -} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 11a7be8..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,82 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/) -and this project adheres to [Semantic Versioning](http://semver.org/). - -## [0.1.1] - 2016-11-11 -### Added -- Wiping Master Card UID on EEPROM in order to Re-Program on restart - -## [0.1.0] - 2015-05-30 -### Added -- Initial SD Card Version (stores data on SD Card) -- Arduino Flash optimiziation -- Hardware version check -- Initial Ethernet version (WebUI) -- Initial No Serial Version - -### Changed -- Antenna Gain Control disabled by default (stability concers with Chinese clones) - -### Fixed -- Handling PICCs that have 7 bytes UID - -## [0.0.8] - 2014-11-01 -### Added -- A script to Delete a known UID from EEPROM - -### Changed -- Minor Wipe Mode led behaviour change -- Program Mode no longer exit until Master Card scanned again - -## [0.0.7] - 2014-08-27 -### Added -- Support for defining Master Card at first use -(no need to be hard coded on Flash Now) -- Matured Wipe Mode and enabled by default - -## [0.0.6] - 2014-08-12 -### Added -- Experimental Wipe Mode (Wipe EEPROM during startup) - -### Removed -- Gain Control (Now Library supports Gain Control natively) - -## [0.0.5] - 2014-08-10 -### Changed -- Modified RFID library to support Max. Gain (48db) - -## [0.0.4] - 2014-07-27 -### Added -- Leds cycle through in Program Mode - -### Changed -- Minor delay changes to Leds and Relay - -## [0.0.3] - 2014-07-26 -### Added -- Support for Common Anode or Cathode Leds -- Better explanation about project - -### Changed -- Behaviour on exiting Program Mode (Scan Master Card again to Exit) -- Now PICCs that have 7 bytes UID is handled as they have 4 bytes UID -(Code simply does not care last 3 bytes) - -### Removed -- Buzzer support - -## [0.0.2] - 2014-07-25 -### Added -- RC522 RFID hardware support -- Buzzer support - -### Changed -- Better readable code with AStyle - -## [0.0.1] - 2014-07-23 -### Misc -- Fork of http://www.instructables.com/id/Arduino-RFID-Door-Lock/ -- More comments made on Code -- Initial Hardware specific code change (we will use RC522 instead of ID-12) diff --git a/DeleteLostTag/DeleteLostTag.ino b/DeleteLostTag/DeleteLostTag.ino deleted file mode 100644 index a8ecb68..0000000 --- a/DeleteLostTag/DeleteLostTag.ino +++ /dev/null @@ -1,199 +0,0 @@ -/* - This program will delete a Known UID from EEPROM - Since EEPROM records remains between flashing Arduino - this can be used to delete lost PICC's UID, and - reflash main program to continue working. - - Copyright (C) 2015 Omer Siar Baysal - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -byte deleteCard[4] ={0x12,0x34,0x56,0x78}; // Enter your lost card's UID Here - -#include // We are going to read and write PICC's UIDs from/to EEPROM - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 7 -#define greenLed 6 -#define blueLed 5 - -boolean match = false; // initialize card match to false -byte storedCard[4]; // Stores an ID read from EEPROM - -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Protocol Configuration - Serial.begin(9600); // Initialize serial communications with PC - - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - Serial.print("I have "); // stores the number of ID's in EEPROM - Serial.print(count); - Serial.print(" record(s) on EEPROM"); - Serial.println(""); - - Serial.println("UID to Delete"); - for (int i = 0; i < 4; i++) { // - Serial.print(deleteCard[i], HEX); - } - Serial.println(""); - - deleteID(deleteCard); //Try to delete - /* - This will find the given UID (deleteCard) from EEPROM - and delete it and Shift remaining records to 4 byte earlier. - Blue Led will flash on success, Red Led will flash on fail. - */ -} - -void loop() { - //Nothing to do in loop -} - - -//////////////////////////////////////// Read an ID from EEPROM ////////////////////////////// -void readID( int number ) { - int start = (number * 4 ) + 2; // Figure out starting position - for ( int i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes - storedCard[i] = EEPROM.read(start+i); // Assign values read from EEPROM to array - } -} - -///////////////////////////////////////// Remove ID from EEPROM /////////////////////////////////// -void deleteID( byte a[] ) { - if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card! - failedWrite(); // If not - } - else { - int num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - int slot; // Figure out the slot number of the card - int start;// = ( num * 4 ) + 6; // Figure out where the next slot starts - int looping; // The number of times the loop repeats - int j; - int count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards - slot = findIDSLOT( a ); //Figure out the slot number of the card to delete - start = (slot * 4) + 2; - looping = ((num - slot) * 4); - num--; // Decrement the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( j = 0; j < looping; j++ ) { // Loop the card shift times - EEPROM.write( start+j, EEPROM.read(start+4+j)); // Shift the array values to 4 places earlier in the EEPROM - } - for ( int k = 0; k < 4; k++ ) { //Shifting loop - EEPROM.write( start+j+k, 0); - } - successDelete(); - } -} - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != NULL ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -///////////////////////////////////////// Find Slot /////////////////////////////////// -int findIDSLOT( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - // is the same as the find[] ID card passed - return i; // The slot number of the card - break; // Stop looking we found it - } - } -} - -///////////////////////////////////////// Find ID From EEPROM /////////////////////////////////// -boolean findID( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - return true; - break; // Stop looking we found it - } - else { // If not, return false - } - } - return false; -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void failedWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - Serial.println("Failed! There is something wrong with ID or bad EEPROM"); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void successDelete() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - Serial.println("Succesfully removed ID record from EEPROM"); -} diff --git a/EEPROM/EEPROM.ino b/EEPROM/EEPROM.ino deleted file mode 100644 index 0fdb10f..0000000 --- a/EEPROM/EEPROM.ino +++ /dev/null @@ -1,511 +0,0 @@ -/* - Arduino RFID Access Control - - Security ! - - To keep it simple we are going to use Tag's Unique IDs - as only method of Authenticity. It's simple and not hacker proof. - If you need security, don't use it unless you modify the code - - Copyright (C) 2015 Omer Siar Baysal - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -*/ - -#include // We are going to read and write PICC's UIDs from/to EEPROM -#include // RC522 Module uses SPI protocol -#include // Library for Mifare RC522 Devices - -/* - Instead of a Relay maybe you want to use a servo - Servos can lock and unlock door locks too - There are examples out there. -*/ - -// #include - -/* - For visualizing whats going on hardware - we need some leds and - to control door lock a relay and a wipe button - (or some other hardware) - Used common anode led,digitalWriting HIGH turns OFF led - Mind that if you are going to use common cathode led or - just seperate leds, simply comment out #define COMMON_ANODE, -*/ - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 7 // Set Led Pins -#define greenLed 6 -#define blueLed 5 - -#define relay 4 // Set Relay Pin -#define wipeB 3 // Button pin for WipeMode - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false -boolean replaceMaster = false; - -int successRead; // Variable integer to keep if we have Successful Read from Reader - -byte storedCard[4]; // Stores an ID read from EEPROM -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID read from EEPROM - -/* - We need to define MFRC522's pins and create instance - Pin layout should be as follows (on Arduino Uno): - MOSI: Pin 11 / ICSP-4 - MISO: Pin 12 / ICSP-1 - SCK : Pin 13 / ICSP-3 - SS : Pin 10 (Configurable) - RST : Pin 9 (Configurable) - look MFRC522 Library for - other Arduinos' pin configuration -*/ - -#define SS_PIN 10 -#define RST_PIN 9 -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - pinMode(wipeB, INPUT_PULLUP); // Enable pin's pull up resistor - pinMode(relay, OUTPUT); - //Be careful how relay circuit behave on while resetting or power-cycling your Arduino - digitalWrite(relay, HIGH); // Make sure door is locked - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Protocol Configuration - Serial.begin(9600); // Initialize serial communications with PC - SPI.begin(); // MFRC522 Hardware uses SPI protocol - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - Serial.println(F("Access Control v3.4")); // For debugging purposes - ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //Wipe Code if Button Pressed while setup run (powered on) it wipes EEPROM - if (digitalRead(wipeB) == LOW) { // when button pressed pin should get low, button connected to ground - digitalWrite(redLed, LED_ON); // Red Led stays on to inform user we are going to wipe - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("You have 15 seconds to Cancel")); - Serial.println(F("This will be remove all records and cannot be undone")); - delay(15000); // Give user enough time to cancel operation - if (digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM - Serial.println(F("Starting Wiping EEPROM")); - for (int x = 0; x < EEPROM.length(); x = x + 1) { //Loop end of EEPROM address - if (EEPROM.read(x) == 0) { //If EEPROM address 0 - // do nothing, already clear, go to the next address in order to save time and reduce writes to EEPROM - } - else { - EEPROM.write(x, 0); // if not write 0 to clear, it takes 3.3mS - } - } - Serial.println(F("EEPROM Successfully Wiped")); - digitalWrite(redLed, LED_OFF); // visualize successful wipe - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - } - else { - Serial.println(F("Wiping Cancelled")); - digitalWrite(redLed, LED_OFF); - } - } - // Check if master card defined, if not let user choose a master card - // This also useful to just redefine Master Card - // You can keep other EEPROM records just write other than 143 to EEPROM address 1 - // EEPROM address 1 should hold magical number which is '143' - if (EEPROM.read(1) != 143) { - Serial.println(F("No Master Card Defined")); - Serial.println(F("Scan A PICC to Define as Master Card")); - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - digitalWrite(blueLed, LED_ON); // Visualize Master Card need to be defined - delay(200); - digitalWrite(blueLed, LED_OFF); - delay(200); - } - while (!successRead); // Program will not go further while you not get a successful read - for ( int j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( 2 + j, readCard[j] ); // Write scanned PICC's UID to EEPROM, start from address 3 - } - EEPROM.write(1, 143); // Write to EEPROM we defined Master Card. - Serial.println(F("Master Card Defined")); - } - Serial.println(F("-------------------")); - Serial.println(F("Master Card's UID")); - for ( int i = 0; i < 4; i++ ) { // Read Master Card's UID from EEPROM - masterCard[i] = EEPROM.read(2 + i); // Write it to masterCard - Serial.print(masterCard[i], HEX); - } - Serial.println(""); - Serial.println(F("-------------------")); - Serial.println(F("Everything Ready")); - Serial.println(F("Waiting PICCs to be scanned")); - cycleLeds(); // Everything ready lets give user some feedback by cycling leds -} - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - if (digitalRead(wipeB) == LOW) { - digitalWrite(redLed, LED_ON); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("Master Card will be Erased! in 10 seconds")); - delay(10000); - if (digitalRead(wipeB) == LOW) { - EEPROM.write(1, 0); // Reset Magic Number. - Serial.println(F("Restart device to re-program Master Card")); - while (1); - } - } - if (programMode) { - cycleLeds(); // Program Mode cycles through RGB waiting to read a new card - } - else { - normalModeOn(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); //the program will not go further while you not get a successful read - if (programMode) { - if ( isMaster(readCard) ) { //If master card scanned again exit program mode - Serial.println(F("Master Card Scanned")); - Serial.println(F("Exiting Program Mode")); - Serial.println(F("-----------------------------")); - programMode = false; - return; - } - else { - if ( findID(readCard) ) { // If scanned card is known delete it - Serial.println(F("I know this PICC, removing...")); - deleteID(readCard); - Serial.println("-----------------------------"); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - else { // If scanned card is not known add it - Serial.println(F("I do not know this PICC, adding...")); - writeID(readCard); - Serial.println(F("-----------------------------")); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - } - } - else { - if ( isMaster(readCard)) { // If scanned card's ID matches Master Card's ID enter program mode - programMode = true; - Serial.println(F("Hello Master - Entered Program Mode")); - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - Serial.print(F("I have ")); // stores the number of ID's in EEPROM - Serial.print(count); - Serial.print(F(" record(s) on EEPROM")); - Serial.println(""); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - Serial.println(F("Scan Master Card again to Exit Program Mode")); - Serial.println(F("-----------------------------")); - } - else { - if ( findID(readCard) ) { // If not, see if the card is in the EEPROM - Serial.println(F("Welcome, You shall pass")); - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - Serial.println(F("You shall not pass")); - denied(); - } - } - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted (int setDelay) { - digitalWrite(blueLed, LED_OFF); // Turn off blue LED - digitalWrite(redLed, LED_OFF); // Turn off red LED - digitalWrite(greenLed, LED_ON); // Turn on green LED - digitalWrite(relay, LOW); // Unlock door! - delay(setDelay); // Hold door lock open for given seconds - digitalWrite(relay, HIGH); // Relock door - delay(1000); // Hold green LED on for a second -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - delay(1000); -} - - -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -int getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - Serial.println(F("Scanned PICC's UID:")); - for (int i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - Serial.print(readCard[i], HEX); - } - Serial.println(""); - mfrc522.PICC_HaltA(); // Stop reading - return 1; -} - -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown),probably a chinese clone?")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - Serial.println(F("SYSTEM HALTED: Check connections.")); - while (true); // do not go further - } -} - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void normalModeOn () { - digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card - digitalWrite(redLed, LED_OFF); // Make sure Red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off - digitalWrite(relay, HIGH); // Make sure Door is Locked -} - -//////////////////////////////////////// Read an ID from EEPROM ////////////////////////////// -void readID( int number ) { - int start = (number * 4 ) + 2; // Figure out starting position - for ( int i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes - storedCard[i] = EEPROM.read(start + i); // Assign values read from EEPROM to array - } -} - -///////////////////////////////////////// Add ID to EEPROM /////////////////////////////////// -void writeID( byte a[] ) { - if ( !findID( a ) ) { // Before we write to the EEPROM, check to see if we have seen this card before! - int num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - int start = ( num * 4 ) + 6; // Figure out where the next slot starts - num++; // Increment the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( int j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( start + j, a[j] ); // Write the array values to EEPROM in the right position - } - successWrite(); - Serial.println(F("Succesfully added ID record to EEPROM")); - } - else { - failedWrite(); - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } -} - -///////////////////////////////////////// Remove ID from EEPROM /////////////////////////////////// -void deleteID( byte a[] ) { - if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card! - failedWrite(); // If not - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } - else { - int num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - int slot; // Figure out the slot number of the card - int start; // = ( num * 4 ) + 6; // Figure out where the next slot starts - int looping; // The number of times the loop repeats - int j; - int count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards - slot = findIDSLOT( a ); // Figure out the slot number of the card to delete - start = (slot * 4) + 2; - looping = ((num - slot) * 4); - num--; // Decrement the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( j = 0; j < looping; j++ ) { // Loop the card shift times - EEPROM.write( start + j, EEPROM.read(start + 4 + j)); // Shift the array values to 4 places earlier in the EEPROM - } - for ( int k = 0; k < 4; k++ ) { // Shifting loop - EEPROM.write( start + j + k, 0); - } - successDelete(); - Serial.println(F("Succesfully removed ID record from EEPROM")); - } -} - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != NULL ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -///////////////////////////////////////// Find Slot /////////////////////////////////// -int findIDSLOT( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - // is the same as the find[] ID card passed - return i; // The slot number of the card - break; // Stop looking we found it - } - } -} - -///////////////////////////////////////// Find ID From EEPROM /////////////////////////////////// -boolean findID( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - return true; - break; // Stop looking we found it - } - else { // If not, return false - } - } - return false; -} - -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED 3 times to indicate a successful write to EEPROM -void successWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void failedWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void successDelete() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} - diff --git a/EEPROM/README.md b/EEPROM/README.md deleted file mode 100644 index 5a77d50..0000000 --- a/EEPROM/README.md +++ /dev/null @@ -1,51 +0,0 @@ -Arduino RC522 RFID Access Control -======= - -Arduino RFID Access Control using a RC522 RFID -reader with SPI interface on your Arduino -You define a Master Card which is act as Programmer -then you can able to choose card holders -who will granted access or not - - * **Easy User Interface** - -Just one RFID tag needed whether Delete or Add Tags -You can choose to use Leds for output or -Serial LCD module to inform users. Or you can use both - - * **Stores Information on EEPROM** - -Information stored on non volatile Arduino's EEPROM -memory to preserve Users' tag and Master Card -No Information lost if power lost. EEPROM has unlimited -Read cycle but 100,000 limited Write cycle. - - * **Security** - -To keep it simple we are going to use Tag's Unique IDs -It's simple and not hacker proof. - - * **Additional Information** - -MFRC522 Library also lets us to use some authentication -mechanism, writing blocks and reading back -and there is great example and piece of code -about reading and writing PICCs -here > http://makecourse.weebly.com/week10segment1.html - -More info on: -http://forum.arduino.cc/index.php?topic=256260 - - * **Credits** - -Omer Siar Baysal who put together this project - -Idea and most of code from Brett Martin's project -http://www.instructables.com/id/Arduino-RFID-Door-Lock/ - -MFRC522 Library -https://github.com/miguelbalboa/rfid -Created by Miguel Balboa (circuitito.com), Jan, 2012. - -Arduino Forum Member luisilva for His Massive Code Correction -http://forum.arduino.cc/index.php?topic=257036.0 diff --git a/LCD/LCD.ino b/LCD/LCD.ino deleted file mode 100644 index 4ff6537..0000000 --- a/LCD/LCD.ino +++ /dev/null @@ -1,603 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program showing An Arduino Door Access Control featuring RFID, EEPROM, Relay - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * This example showing a complete Door Access Control System - - Simple Work Flow (not limited to) : - +---------+ -+----------------------------------->READ TAGS+^------------------------------------------+ -| +--------------------+ | -| | | | -| | | | -| +----v-----+ +-----v----+ | -| |MASTER TAG| |OTHER TAGS| | -| +--+-------+ ++-------------+ | -| | | | | -| | | | | -| +-----v---+ +----v----+ +----v------+ | -| +------------+READ TAGS+---+ |KNOWN TAG| |UNKNOWN TAG| | -| | +-+-------+ | +-----------+ +------------------+ | -| | | | | | | -| +----v-----+ +----v----+ +--v--------+ +-v----------+ +------v----+ | -| |MASTER TAG| |KNOWN TAG| |UNKNOWN TAG| |GRANT ACCESS| |DENY ACCESS| | -| +----------+ +---+-----+ +-----+-----+ +-----+------+ +-----+-----+ | -| | | | | | -| +----+ +----v------+ +--v---+ | +---------------> -+-------+EXIT| |DELETE FROM| |ADD TO| | | - +----+ | EEPROM | |EEPROM| | | - +-----------+ +------+ +-------------------------------+ - - * - * Use a Master Card which is act as Programmer then you can able to choose card holders who will granted access or not - * - * **Easy User Interface** - * - * Just one RFID tag needed whether Delete or Add Tags. You can choose to use Leds for output or Serial LCD module to inform users. - * - * **Stores Information on EEPROM** - * - * Information stored on non volatile Arduino's EEPROM memory to preserve Users' tag and Master Card. No Information lost - * if power lost. EEPROM has unlimited Read cycle but roughly 100,000 limited Write cycle. - * - * **Security** - * To keep it simple we are going to use Tag's Unique IDs. It's simple and not hacker proof. - * - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include // We are going to read and write PICC's UIDs from/to EEPROM -#include // RC522 Module uses SPI protocol -#include // Library for Mifare RC522 Devices -#include "ShiftedLCD.h" // Arduino Library for 74HC595 Shift Register using SPI - -/* - Instead of a Relay you may want to use a servo. Servos can lock and unlock door locks too - Relay will be used by default -*/ - -// #include - -/* - For visualizing whats going on hardware we need some leds and to control door lock a relay and a wipe button - (or some other hardware) Used common anode led,digitalWriting HIGH turns OFF led Mind that if you are going - to use common cathode led or just seperate leds, simply comment out #define COMMON_ANODE, -*/ - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 7 // Set Led Pins -#define greenLed 6 -#define blueLed 5 - -#define relay 4 // Set Relay Pin -#define wipeB 3 // Button pin for WipeMode - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false -boolean replaceMaster = false; - -int successRead; // Variable integer to keep if we have Successful Read from Reader - -byte storedCard[4]; // Stores an ID read from EEPROM -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID read from EEPROM - -// Create MFRC522 instance. -#define SS_PIN 10 -#define RST_PIN 9 -MFRC522 mfrc522(SS_PIN, RST_PIN); - -// Create LCD instance -LiquidCrystal lcd(8); - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - pinMode(wipeB, INPUT_PULLUP); // Enable pin's pull up resistor - pinMode(relay, OUTPUT); - //Be careful how relay circuit behave on while resetting or power-cycling your Arduino - digitalWrite(relay, HIGH); // Make sure door is locked - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Protocol Configuration - Serial.begin(9600); // Initialize serial communications with PC - SPI.begin(); // MFRC522 Hardware uses SPI protocol - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - Serial.println(F("Access Control Example v0.1")); // For debugging purposes - lcd.print("Access Controlv3"); - ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //Wipe Code - If the Button (wipeB) Pressed while setup run (powered on) it wipes EEPROM - if (digitalRead(wipeB) == LOW) { // when button pressed pin should get low, button connected to ground - lcd.clear(); - lcd.print("WipeB is Pressed"); - digitalWrite(redLed, LED_ON); // Red Led stays on to inform user we are going to wipe - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("You have 15 seconds to Cancel")); - Serial.println(F("This will be remove all records and cannot be undone")); - delay(3000); - lcd.clear(); - lcd.print("EEPROM will be"); - lcd.setCursor(0,1); - lcd.print("Wiped in 15 sec"); - delay(12000); // Give user enough time to cancel operation - if (digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM - lcd.clear(); - lcd.print("Wiping EEPROM.."); - Serial.println(F("Starting Wiping EEPROM")); - for (int x = 0; x < EEPROM.length(); x = x + 1) { //Loop end of EEPROM address - if (EEPROM.read(x) == 0) { //If EEPROM address 0 - // do nothing, already clear, go to the next address in order to save time and reduce writes to EEPROM - } - else { - EEPROM.write(x, 0); // if not write 0 to clear, it takes 3.3mS - } - } - lcd.clear(); - lcd.print("EEPROM Wiped"); - Serial.println(F("EEPROM Successfully Wiped")); - digitalWrite(redLed, LED_OFF); // visualize a successful wipe - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - } - else { - lcd.clear(); - lcd.print("Wiping Cancelled"); - Serial.println(F("Wiping Cancelled")); // Show some feedback that the wipe button did not pressed for 15 seconds - digitalWrite(redLed, LED_OFF); - } - } - // Check if master card defined, if not let user choose a master card - // This also useful to just redefine the Master Card - // You can keep other EEPROM records just write other than 143 to EEPROM address 1 - // EEPROM address 1 should hold magical number which is '143' - if (EEPROM.read(1) != 143) { - lcd.clear(); - lcd.print("No Master Card"); - lcd.setCursor(0,1); - lcd.print("Scan to define"); - Serial.println(F("No Master Card Defined")); - Serial.println(F("Scan A PICC to Define as Master Card")); - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - digitalWrite(blueLed, LED_ON); // Visualize Master Card need to be defined - delay(200); - digitalWrite(blueLed, LED_OFF); - delay(200); - } - while (!successRead); // Program will not go further while you not get a successful read - for ( int j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( 2 + j, readCard[j] ); // Write scanned PICC's UID to EEPROM, start from address 3 - } - EEPROM.write(1, 143); // Write to EEPROM we defined Master Card. - Serial.println(F("Master Card Defined")); - } - Serial.println(F("-------------------")); - Serial.println(F("Master Card's UID")); - for ( int i = 0; i < 4; i++ ) { // Read Master Card's UID from EEPROM - masterCard[i] = EEPROM.read(2 + i); // Write it to masterCard - Serial.print(masterCard[i], HEX); - } - Serial.println(""); - Serial.println(F("-------------------")); - Serial.println(F("Everything Ready")); - Serial.println(F("Waiting PICCs to be scanned")); - cycleLeds(); // Everything ready lets give user some feedback by cycling leds - lcd.clear(); - lcd.print("System is Ready"); - lcd.setCursor(0, 1); - lcd.print("Waiting PICCs"); -} - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - // When device is in use if wipe button pressed for 10 seconds initialize Master Card wiping - if (digitalRead(wipeB) == LOW) { // Check if button is pressed - lcd.clear(); - lcd.print("WipeB is Pressed"); - lcd.setCursor(0, 1); - lcd.print("Master Card Wipe"); - // Visualize normal operation is iterrupted by pressing wipe button Red is like more Warning to user - digitalWrite(redLed, LED_ON); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - // Give some feedback - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("Master Card will be Erased! in 10 seconds")); - delay(10000); // Wait 10 seconds to see user still wants to wipe - if (digitalRead(wipeB) == LOW) { - EEPROM.write(1, 0); // Reset Magic Number. - lcd.clear(); - lcd.print("Wiped. Please"); - lcd.setCursor(0, 1); - lcd.print("Reset Device"); - Serial.println(F("Restart device to re-program Master Card")); - while (1); - } - else { - lcd.clear(); - lcd.print("Cancelled"); - lcd.setCursor(0, 1); - lcd.print("Waiting PICCs"); - Serial.println(F("Cancelled")); - } - } - if (programMode) { - cycleLeds(); // Program Mode cycles through Red Green Blue waiting to read a new card - } - else { - normalModeOn(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); //the program will not go further while you are not getting a successful read - if (programMode) { - if ( isMaster(readCard) ) { //When in program mode check First If master card scanned again to exit program mode - Serial.println(F("Master Card Scanned")); - Serial.println(F("Exiting Program Mode")); - Serial.println(F("-----------------------------")); - lcd.clear(); - lcd.print("Exited from"); - lcd.setCursor(0,1); - lcd.print("Program Mode"); - programMode = false; - return; - } - else { - if ( findID(readCard) ) { // If scanned card is known delete it - Serial.println(F("I know this PICC, removing...")); - deleteID(readCard); - lcd.setCursor(9,1); - lcd.print("Removed"); - Serial.println("-----------------------------"); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - else { // If scanned card is not known add it - Serial.println(F("I do not know this PICC, adding...")); - writeID(readCard); - lcd.setCursor(10,1); - lcd.print("Added"); - Serial.println(F("-----------------------------")); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - } - } - else { - if ( isMaster(readCard)) { // If scanned card's ID matches Master Card's ID - enter program mode - programMode = true; - lcd.clear(); - lcd.print("Program Mode"); - lcd.setCursor(0,1); - lcd.print("Add/Remove Cards"); - Serial.println(F("Hello Master - Entered Program Mode")); - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - Serial.print(F("I have ")); // stores the number of ID's in EEPROM - Serial.print(count); - Serial.print(F(" record(s) on EEPROM")); - Serial.println(""); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - Serial.println(F("Scan Master Card again to Exit Program Mode")); - Serial.println(F("-----------------------------")); - } - else { - if ( findID(readCard) ) { // If not, see if the card is in the EEPROM - lcd.setCursor(3,1); - lcd.print("XXXXX Granted"); - Serial.println(F("Welcome, You shall pass")); - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - lcd.setCursor(10,1); - lcd.print("Denied"); - Serial.println(F("You shall not pass")); - denied(); - } - } - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted (int setDelay) { - digitalWrite(blueLed, LED_OFF); // Turn off blue LED - digitalWrite(redLed, LED_OFF); // Turn off red LED - digitalWrite(greenLed, LED_ON); // Turn on green LED - digitalWrite(relay, LOW); // Unlock door! - delay(setDelay); // Hold door lock open for given seconds - digitalWrite(relay, HIGH); // Relock door - delay(1000); // Hold green LED on for a second -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - delay(1000); -} - - -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -int getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - Serial.println(F("Scanned PICC's UID:")); - lcd.clear(); - lcd.print("PICC's UID:"); - lcd.setCursor(0,1); - for (int i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - Serial.print(readCard[i], HEX); - lcd.print(readCard[i], HEX); - } - Serial.println(""); - mfrc522.PICC_HaltA(); // Stop reading - return 1; -} - -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown),probably a chinese clone?")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - Serial.println(F("SYSTEM HALTED: Check connections.")); - lcd.clear(); - lcd.print("SYSTEM HALTED"); - lcd.setCursor(0, 1); - lcd.print("Check connection"); - // Visualize system is halted - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - while (true); // do not go further - } -} - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void normalModeOn () { - digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card - digitalWrite(redLed, LED_OFF); // Make sure Red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off - digitalWrite(relay, HIGH); // Make sure Door is Locked -} - -//////////////////////////////////////// Read an ID from EEPROM ////////////////////////////// -void readID( int number ) { - int start = (number * 4 ) + 2; // Figure out starting position - for ( int i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes - storedCard[i] = EEPROM.read(start + i); // Assign values read from EEPROM to array - } -} - -///////////////////////////////////////// Add ID to EEPROM /////////////////////////////////// -void writeID( byte a[] ) { - if ( !findID( a ) ) { // Before we write to the EEPROM, check to see if we have seen this card before! - int num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - int start = ( num * 4 ) + 6; // Figure out where the next slot starts - num++; // Increment the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( int j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( start + j, a[j] ); // Write the array values to EEPROM in the right position - } - successWrite(); - Serial.println(F("Succesfully added ID record to EEPROM")); - } - else { - failedWrite(); - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } -} - -///////////////////////////////////////// Remove ID from EEPROM /////////////////////////////////// -void deleteID( byte a[] ) { - if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card! - failedWrite(); // If not - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } - else { - int num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - int slot; // Figure out the slot number of the card - int start; // = ( num * 4 ) + 6; // Figure out where the next slot starts - int looping; // The number of times the loop repeats - int j; - int count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards - slot = findIDSLOT( a ); // Figure out the slot number of the card to delete - start = (slot * 4) + 2; - looping = ((num - slot) * 4); - num--; // Decrement the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( j = 0; j < looping; j++ ) { // Loop the card shift times - EEPROM.write( start + j, EEPROM.read(start + 4 + j)); // Shift the array values to 4 places earlier in the EEPROM - } - for ( int k = 0; k < 4; k++ ) { // Shifting loop - EEPROM.write( start + j + k, 0); - } - successDelete(); - Serial.println(F("Succesfully removed ID record from EEPROM")); - } -} - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != 0 ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -///////////////////////////////////////// Find Slot /////////////////////////////////// -int findIDSLOT( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - // is the same as the find[] ID card passed - return i; // The slot number of the card - break; // Stop looking we found it - } - } -} - -///////////////////////////////////////// Find ID From EEPROM /////////////////////////////////// -boolean findID( byte find[] ) { - int count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( int i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - return true; - break; // Stop looking we found it - } - else { // If not, return false - } - } - return false; -} - -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED 3 times to indicate a successful write to EEPROM -void successWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void failedWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void successDelete() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d159169..0000000 --- a/LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/NoSerial/Leds.ino b/NoSerial/Leds.ino deleted file mode 100644 index 2b95093..0000000 --- a/NoSerial/Leds.ino +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED 3 times to indicate a successful write to EEPROM -void greenBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void redBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void blueBlink() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); -} - - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void blueSolid () { - digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card - digitalWrite(redLed, LED_OFF); // Make sure Red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off -} - -void greenSolid () { - digitalWrite(blueLed, LED_OFF); // Turn off blue LED - digitalWrite(redLed, LED_OFF); // Turn off red LED - digitalWrite(greenLed, LED_ON); // Turn on green LED - delay(1000); // Hold green LED on for a second -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void redSolid() { - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - delay(1000); -} diff --git a/NoSerial/NoSerial.ino b/NoSerial/NoSerial.ino deleted file mode 100644 index 8f0410a..0000000 --- a/NoSerial/NoSerial.ino +++ /dev/null @@ -1,390 +0,0 @@ -/* - Arduino RFID Access Control - - Security ! - - To keep it simple we are going to use Tag's Unique IDs - as only method of Authenticity. It's simple and not hacker proof. - If you need security, don't use it unless you modify the code - - Copyright (C) 2015 Omer Siar Baysal - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -*/ - -#include // RC522 Module uses SPI protocol -#include // Ethernet Library Wiznet -#include // Library for Mifare RC522 Devices -#include // We are going to read and write PICC's UIDs from/to SD - - - -/* - Instead of a Relay maybe you want to use a servo - Servos can lock and unlock door locks too - There are examples out there. -*/ - -// #include - -/* - For visualizing whats going on hardware - we need some leds and - to control door lock a relay and a wipe button - (or some other hardware) - Used common anode led,digitalWriting HIGH turns OFF led - Mind that if you are going to use common cathode led or - just seperate leds, simply comment out #define COMMON_ANODE, - */ - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 2 // Set Led Pins -#define greenLed 6 -#define blueLed 5 - -#define relay 3 // Set Relay Pin - -#define sdPin 4 // Set SD Pin - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false - -int successRead; // Variable integer to keep if we have Successful Read from Reader - -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID - -char filename[] = "XXXXXXXX.DAT"; // Stores variable filename -char extension[] = "DAT"; // sometimes the extension gets modified - - -/* - We need to define MFRC522's pins and create instance - Pin layout should be as follows (on Arduino Uno): - MOSI: Pin 11 / ICSP-4 - MISO: Pin 12 / ICSP-1 - SCK : Pin 13 / ICSP-3 - SDA : (Configurable) - RST : Not Needed - - */ - -#define SS_PIN 9 -#define RST_PIN 8 -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -/************ ETHERNET STUFF ************/ -// Initialize the Ethernet server library -// with the IP address and port you want to use -// (port 80 is default for HTTP): -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; -IPAddress ip(192, 168, 1, 245); -EthernetServer server(80); - - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - pinMode(relay, OUTPUT); // Be careful how relay circuit behave on while resetting or power-cycling your Arduino - digitalWrite(relay, HIGH); // Make sure door is locked - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Initialize - - - SPI.begin(); // MFRC522 Hardware uses SPI protocol - Ethernet.begin(mac, ip); - server.begin(); - - - if (!SD.begin(sdPin)) { // Initialize SD Hardware - while (true); // Do not go further - } - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - //ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - checkMaster(); // Check if masterCard defined - cycleLeds(); // Lets give user some feedback that hardware initialized by cycling leds -} - - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - checkClient(); - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - if (programMode) { - cycleLeds(); // Program Mode cycles through RGB waiting to read a new card - } - else { - blueSolid(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); // the program will not go further while you not get a successful read - if (programMode) { - if (isMaster(readCard)) { // If master card scanned again exit program mode - - programMode = false; - return; - } - else { - if ( findID() ) { // If scanned card is known delete it - - removeID(); - - } - else { // If scanned card is not known add it - - writeID(); - - } - } - } - else { - if (isMaster(readCard)) { // If scanned card's ID matches Master Card's ID enter program mode - programMode = true; - - } - else { - if (findID()) { // If not, check if we can find it - - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - - denied(); - } - } - } -} - -void checkClient() { - - EthernetClient client = server.available(); // try to get client - if (client) { // got client? - boolean currentLineIsBlank = true; - while (client.connected()) { - if (client.available()) { // client data available to read - char c = client.read(); // read 1 byte (character) from client - // last line of client request is blank and ends with \n - // respond to client only after last line received - if (c == '\n' && currentLineIsBlank) { - // send a standard http response header - client.println("HTTP/1.1 200 OK"); - client.println("Content-Type: text/html"); - client.println("Connection: close"); - client.println(); - File webFile = SD.open("/HTML/index.htm"); // open web page file - if (webFile) { - while (webFile.available()) { - client.write(webFile.read()); // send web page to client - } - webFile.close(); - } - break; - } - // every line of text received from the client ends with \r\n - if (c == '\n') { - // last character on line of received text - // starting new line with next character read - currentLineIsBlank = true; - } - else if (c != '\r') { - // a text character was received from client - currentLineIsBlank = false; - } - } // end if (client.available()) - } // end while (client.connected()) - delay(1); // give the web browser time to receive the data - client.stop(); // close the connection - } // end if (client) -} - -void getFilename() { // We will store UIDs as files on SD card - sprintf(filename, "%02x%02x%02x%02x.%s", readCard[0], readCard[1], // Convert readCard data to char and append extension - readCard[2], readCard[3], extension); -} - -boolean findID () { // Check If we can find UID's specific file - File fileopen = SD.open(filename); - if (fileopen) { - fileopen.close(); // Found it close - return true; - } - else { // If not, return false - } - return false; -} - -void writeID () { - File filewrite = SD.open(filename, FILE_WRITE); - filewrite.close(); - if (SD.exists(filename)) { - - greenBlink(); - } - else { - - redBlink(); - } -} - -void removeID () { - SD.remove(filename); - if (SD.exists(filename)) { - - redBlink(); - } - else { - - blueBlink(); - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted (int setDelay) { - - delay(setDelay); // Hold door lock open for given seconds - - greenSolid(); -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - redSolid(); -} - - -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -int getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - - for (int i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - - } - - mfrc522.PICC_HaltA(); // Stop reading - getFilename(); // Get data ready - return 1; -} - -void checkMaster() { - if (SD.exists("master.dat")) { // Check if we have master.dat on SD card - - File masterfile = SD.open("master.dat"); // Open file - for (int i = 0; i < 4; i++) { // Loop 4 times to get 4 bytes - readCard[i] = masterfile.read(); - - masterCard[i] = readCard[i]; // Prepare bytes for future comparing - } - - masterfile.close(); // Close file - } - else { - - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - blueBlink(); // Visualize Master Card need to be defined - } - while (!successRead); //the program will not go further while you not get a successful read - File masterfile = SD.open("master.dat", FILE_WRITE); - if (masterfile) { - - masterfile.write(readCard, 4); - // close the file: - masterfile.close(); - - } else { - // if the file didn't open, print an error: - - } - } -} - -/* -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown)")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - while (true); // do not go further - } -} -*/ - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != NULL ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( int k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} - diff --git a/README.md b/README.md deleted file mode 100644 index 87fdcbb..0000000 --- a/README.md +++ /dev/null @@ -1,31 +0,0 @@ -Arduino RC522 RFID Access Control -======= -July/2014 Omer Siar Baysal - --------- - -Arduino RFID Access Control using a RC522 RFID -reader with SPI interface on your Arduino - -For now there is 3 version of Access Control - -**EEPROM Version** - -Storing data on EEPROM, Stable, Basic System - -**SD Version - Work In Progress** - -Storing data on SD Card, more features will be added like -USER management -Tracking with Real Time Clock - -**Embedded System - Work In Progress** - -Complete RFID solution with -Networked Web Interface -USER management -Tracking with Real Time Clock -Cross-Platform Management Application - -More info on: -http://forum.arduino.cc/index.php?topic=256260 \ No newline at end of file From 1e007775c67415b58015db3b5cd575a55b37c959 Mon Sep 17 00:00:00 2001 From: rocadura Date: Thu, 27 Apr 2017 18:14:37 +0200 Subject: [PATCH 12/35] renamed and organized --- README.md | 6 ++++++ {SD => SD_for_Ard_IDE}/access_control/HOW_TO_USE.txt | 0 {SD => SD_for_Ard_IDE}/access_control/LCD_module.cpp | 0 {SD => SD_for_Ard_IDE}/access_control/LCD_module.h | 0 {SD => SD_for_Ard_IDE}/access_control/README.md | 7 ------- {SD => SD_for_Ard_IDE}/access_control/RFID_module.cpp | 0 {SD => SD_for_Ard_IDE}/access_control/RFID_module.h | 0 {SD => SD_for_Ard_IDE}/access_control/RTC_module.cpp | 0 {SD => SD_for_Ard_IDE}/access_control/RTC_module.h | 0 {SD => SD_for_Ard_IDE}/access_control/UNLICENSE | 0 {SD => SD_for_Ard_IDE}/access_control/access_control.ino | 0 {SD => SD_for_Ard_IDE}/access_control/authorized_keys.h | 0 .../access_control/libraries/Adafruit_GFX | 0 .../access_control/libraries/Adafruit_ST3775 | 0 {SD => SD_for_Ard_IDE}/access_control/libraries/MFRC522 | 0 .../access_control/libraries/Sodaq_DS3231 | 0 {SD => SD_for_Ard_IDE}/access_control/pin_layout.h | 0 {SD => SD_for_Ard_IDE}/access_control/platform.local.txt | 0 18 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 README.md rename {SD => SD_for_Ard_IDE}/access_control/HOW_TO_USE.txt (100%) rename {SD => SD_for_Ard_IDE}/access_control/LCD_module.cpp (100%) rename {SD => SD_for_Ard_IDE}/access_control/LCD_module.h (100%) rename {SD => SD_for_Ard_IDE}/access_control/README.md (83%) rename {SD => SD_for_Ard_IDE}/access_control/RFID_module.cpp (100%) rename {SD => SD_for_Ard_IDE}/access_control/RFID_module.h (100%) rename {SD => SD_for_Ard_IDE}/access_control/RTC_module.cpp (100%) rename {SD => SD_for_Ard_IDE}/access_control/RTC_module.h (100%) rename {SD => SD_for_Ard_IDE}/access_control/UNLICENSE (100%) rename {SD => SD_for_Ard_IDE}/access_control/access_control.ino (100%) rename {SD => SD_for_Ard_IDE}/access_control/authorized_keys.h (100%) rename {SD => SD_for_Ard_IDE}/access_control/libraries/Adafruit_GFX (100%) rename {SD => SD_for_Ard_IDE}/access_control/libraries/Adafruit_ST3775 (100%) rename {SD => SD_for_Ard_IDE}/access_control/libraries/MFRC522 (100%) rename {SD => SD_for_Ard_IDE}/access_control/libraries/Sodaq_DS3231 (100%) rename {SD => SD_for_Ard_IDE}/access_control/pin_layout.h (100%) rename {SD => SD_for_Ard_IDE}/access_control/platform.local.txt (100%) diff --git a/README.md b/README.md new file mode 100644 index 0000000..fa4f137 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +This project implements an Arduino based access control solution +including a LCD display, Real Time Clock and time registers on a micro +SD card. The project has been uploaded as a "ready to compile" +version. This means that if your Hardware matches & all requirements +have been properly installed, you won't need to adjust anything else +on the code, except from the specific RFID tag's key. \ No newline at end of file diff --git a/SD/access_control/HOW_TO_USE.txt b/SD_for_Ard_IDE/access_control/HOW_TO_USE.txt similarity index 100% rename from SD/access_control/HOW_TO_USE.txt rename to SD_for_Ard_IDE/access_control/HOW_TO_USE.txt diff --git a/SD/access_control/LCD_module.cpp b/SD_for_Ard_IDE/access_control/LCD_module.cpp similarity index 100% rename from SD/access_control/LCD_module.cpp rename to SD_for_Ard_IDE/access_control/LCD_module.cpp diff --git a/SD/access_control/LCD_module.h b/SD_for_Ard_IDE/access_control/LCD_module.h similarity index 100% rename from SD/access_control/LCD_module.h rename to SD_for_Ard_IDE/access_control/LCD_module.h diff --git a/SD/access_control/README.md b/SD_for_Ard_IDE/access_control/README.md similarity index 83% rename from SD/access_control/README.md rename to SD_for_Ard_IDE/access_control/README.md index ab7144d..818e6f2 100644 --- a/SD/access_control/README.md +++ b/SD_for_Ard_IDE/access_control/README.md @@ -1,10 +1,3 @@ -This project implements an Arduino based access control solution -including a LCD display, Real Time Clock and time registers on a micro -SD card. The project has been uploaded as a "ready to compile" -version. This means that if your Hardware matches & all requirements -have been properly installed, you won't need to adjust anything else -on the code, except from the specific RFID tag's key. - HARDWARE REQUIREMENTS: This project has been implmented with this Hardware, further implementation diff --git a/SD/access_control/RFID_module.cpp b/SD_for_Ard_IDE/access_control/RFID_module.cpp similarity index 100% rename from SD/access_control/RFID_module.cpp rename to SD_for_Ard_IDE/access_control/RFID_module.cpp diff --git a/SD/access_control/RFID_module.h b/SD_for_Ard_IDE/access_control/RFID_module.h similarity index 100% rename from SD/access_control/RFID_module.h rename to SD_for_Ard_IDE/access_control/RFID_module.h diff --git a/SD/access_control/RTC_module.cpp b/SD_for_Ard_IDE/access_control/RTC_module.cpp similarity index 100% rename from SD/access_control/RTC_module.cpp rename to SD_for_Ard_IDE/access_control/RTC_module.cpp diff --git a/SD/access_control/RTC_module.h b/SD_for_Ard_IDE/access_control/RTC_module.h similarity index 100% rename from SD/access_control/RTC_module.h rename to SD_for_Ard_IDE/access_control/RTC_module.h diff --git a/SD/access_control/UNLICENSE b/SD_for_Ard_IDE/access_control/UNLICENSE similarity index 100% rename from SD/access_control/UNLICENSE rename to SD_for_Ard_IDE/access_control/UNLICENSE diff --git a/SD/access_control/access_control.ino b/SD_for_Ard_IDE/access_control/access_control.ino similarity index 100% rename from SD/access_control/access_control.ino rename to SD_for_Ard_IDE/access_control/access_control.ino diff --git a/SD/access_control/authorized_keys.h b/SD_for_Ard_IDE/access_control/authorized_keys.h similarity index 100% rename from SD/access_control/authorized_keys.h rename to SD_for_Ard_IDE/access_control/authorized_keys.h diff --git a/SD/access_control/libraries/Adafruit_GFX b/SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX similarity index 100% rename from SD/access_control/libraries/Adafruit_GFX rename to SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX diff --git a/SD/access_control/libraries/Adafruit_ST3775 b/SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 similarity index 100% rename from SD/access_control/libraries/Adafruit_ST3775 rename to SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 diff --git a/SD/access_control/libraries/MFRC522 b/SD_for_Ard_IDE/access_control/libraries/MFRC522 similarity index 100% rename from SD/access_control/libraries/MFRC522 rename to SD_for_Ard_IDE/access_control/libraries/MFRC522 diff --git a/SD/access_control/libraries/Sodaq_DS3231 b/SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 similarity index 100% rename from SD/access_control/libraries/Sodaq_DS3231 rename to SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 diff --git a/SD/access_control/pin_layout.h b/SD_for_Ard_IDE/access_control/pin_layout.h similarity index 100% rename from SD/access_control/pin_layout.h rename to SD_for_Ard_IDE/access_control/pin_layout.h diff --git a/SD/access_control/platform.local.txt b/SD_for_Ard_IDE/access_control/platform.local.txt similarity index 100% rename from SD/access_control/platform.local.txt rename to SD_for_Ard_IDE/access_control/platform.local.txt From 3835701aec3b4d75e90445e374e188dda8d7a551 Mon Sep 17 00:00:00 2001 From: rocadura Date: Wed, 10 May 2017 06:54:47 +0200 Subject: [PATCH 13/35] Updated Makefile build system --- .gitmodules | 15 + SD/access_control/HOW_TO_USE.txt | 19 + SD/access_control/LCD_module.cpp | 141 ++ SD/access_control/LCD_module.h | 37 + SD/access_control/README.md | 55 + SD/access_control/RFID_module.cpp | 67 + SD/access_control/RFID_module.h | 29 + SD/access_control/RTC_module.cpp | 22 + SD/access_control/RTC_module.h | 28 + SD/access_control/UNLICENSE | 24 + SD/access_control/access_control.ino | 60 + SD/access_control/authorized_keys.h | 26 + SD/access_control/libraries/Adafruit_GFX | 1 + SD/access_control/libraries/Adafruit_ST3775 | 1 + SD/access_control/libraries/MFRC522 | 1 + SD/access_control/libraries/Sodaq_DS3231 | 1 + SD/access_control/pin_layout.h | 48 + SD/access_control/platform.local.txt | 8 + SD_Makefile_Build/Makefile | 8 + SD_Makefile_Build/README.md | 1 + SD_Makefile_Build/UNLICENSE | 24 + SD_Makefile_Build/acces_control.ino | 50 + .../build-mega2560/SD_Makefile_Build.eep | 1 + .../build-mega2560/SD_Makefile_Build.elf | Bin 0 -> 53472 bytes .../build-mega2560/SD_Makefile_Build.hex | 2072 +++++++++++++++++ .../SD_Makefile_Build.hex.sizeok | 0 .../build-mega2560/acces_control.d | 29 + .../build-mega2560/acces_control.o | Bin 0 -> 5356 bytes SD_Makefile_Build/build-mega2560/core/CDC.d | 14 + SD_Makefile_Build/build-mega2560/core/CDC.o | Bin 0 -> 708 bytes SD_Makefile_Build/build-mega2560/core/HID.d | 15 + SD_Makefile_Build/build-mega2560/core/HID.o | Bin 0 -> 708 bytes .../build-mega2560/core/HardwareSerial.d | 13 + .../build-mega2560/core/HardwareSerial.o | Bin 0 -> 11208 bytes .../build-mega2560/core/IPAddress.d | 14 + .../build-mega2560/core/IPAddress.o | Bin 0 -> 3476 bytes SD_Makefile_Build/build-mega2560/core/Print.d | 12 + SD_Makefile_Build/build-mega2560/core/Print.o | Bin 0 -> 8812 bytes .../build-mega2560/core/Stream.d | 12 + .../build-mega2560/core/Stream.o | Bin 0 -> 6288 bytes SD_Makefile_Build/build-mega2560/core/Tone.d | 12 + SD_Makefile_Build/build-mega2560/core/Tone.o | Bin 0 -> 8892 bytes .../build-mega2560/core/USBCore.d | 15 + .../build-mega2560/core/USBCore.o | Bin 0 -> 712 bytes .../build-mega2560/core/WInterrupts.d | 6 + .../build-mega2560/core/WInterrupts.o | Bin 0 -> 4724 bytes SD_Makefile_Build/build-mega2560/core/WMath.d | 2 + SD_Makefile_Build/build-mega2560/core/WMath.o | Bin 0 -> 2044 bytes .../build-mega2560/core/WString.d | 3 + .../build-mega2560/core/WString.o | Bin 0 -> 20808 bytes .../build-mega2560/core/avr-libc/malloc.d | 4 + .../build-mega2560/core/avr-libc/malloc.o | Bin 0 -> 2976 bytes .../build-mega2560/core/avr-libc/realloc.d | 4 + .../build-mega2560/core/avr-libc/realloc.o | Bin 0 -> 2040 bytes SD_Makefile_Build/build-mega2560/core/main.d | 12 + SD_Makefile_Build/build-mega2560/core/main.o | Bin 0 -> 1076 bytes SD_Makefile_Build/build-mega2560/core/new.d | 3 + SD_Makefile_Build/build-mega2560/core/new.o | Bin 0 -> 1916 bytes .../build-mega2560/core/wiring.d | 6 + .../build-mega2560/core/wiring.o | Bin 0 -> 2868 bytes .../build-mega2560/core/wiring_analog.d | 6 + .../build-mega2560/core/wiring_analog.o | Bin 0 -> 2688 bytes .../build-mega2560/core/wiring_digital.d | 6 + .../build-mega2560/core/wiring_digital.o | Bin 0 -> 3852 bytes .../build-mega2560/core/wiring_pulse.d | 6 + .../build-mega2560/core/wiring_pulse.o | Bin 0 -> 1532 bytes .../build-mega2560/core/wiring_shift.d | 6 + .../build-mega2560/core/wiring_shift.o | Bin 0 -> 1516 bytes SD_Makefile_Build/build-mega2560/libcore.a | Bin 0 -> 309310 bytes .../build-mega2560/libs/SD/File.d | 19 + .../build-mega2560/libs/SD/File.o | Bin 0 -> 5376 bytes SD_Makefile_Build/build-mega2560/libs/SD/SD.d | 19 + SD_Makefile_Build/build-mega2560/libs/SD/SD.o | Bin 0 -> 8376 bytes .../build-mega2560/libs/SD/utility/Sd2Card.d | 15 + .../build-mega2560/libs/SD/utility/Sd2Card.o | Bin 0 -> 9936 bytes .../build-mega2560/libs/SD/utility/SdFile.d | 18 + .../build-mega2560/libs/SD/utility/SdFile.o | Bin 0 -> 21964 bytes .../build-mega2560/libs/SD/utility/SdVolume.d | 11 + .../build-mega2560/libs/SD/utility/SdVolume.o | Bin 0 -> 8136 bytes .../build-mega2560/libs/Wire/Wire.d | 9 + .../build-mega2560/libs/Wire/Wire.o | Bin 0 -> 8608 bytes .../build-mega2560/libs/Wire/utility/twi.d | 6 + .../build-mega2560/libs/Wire/utility/twi.o | Bin 0 -> 7788 bytes .../build-mega2560/src/LCD_module.d | 28 + .../build-mega2560/src/LCD_module.o | Bin 0 -> 10388 bytes .../build-mega2560/src/RFID_module.d | 15 + .../build-mega2560/src/RFID_module.o | Bin 0 -> 4280 bytes .../build-mega2560/src/RTC_module.d | 15 + .../build-mega2560/src/RTC_module.o | Bin 0 -> 2920 bytes .../userlibs/Adafruit_GFX/Adafruit_GFX.d | 16 + .../userlibs/Adafruit_GFX/Adafruit_GFX.o | Bin 0 -> 31416 bytes .../userlibs/Adafruit_GFX/glcdfont.d | 2 + .../userlibs/Adafruit_GFX/glcdfont.o | Bin 0 -> 712 bytes .../Adafruit_ST3775/Adafruit_ST7735.d | 19 + .../Adafruit_ST3775/Adafruit_ST7735.o | Bin 0 -> 13076 bytes .../userlibs/MFRC522/src/MFRC522.d | 14 + .../userlibs/MFRC522/src/MFRC522.o | Bin 0 -> 53008 bytes .../userlibs/MFRC522/src/MFRC522Extended.d | 15 + .../userlibs/MFRC522/src/MFRC522Extended.o | Bin 0 -> 18256 bytes .../build-mega2560/userlibs/SPI/SPI.d | 13 + .../build-mega2560/userlibs/SPI/SPI.o | Bin 0 -> 2464 bytes .../userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d | 15 + .../userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o | Bin 0 -> 10876 bytes SD_Makefile_Build/inc/LCD_module.h | 34 + SD_Makefile_Build/inc/RFID_module.h | 27 + SD_Makefile_Build/inc/RTC_module.h | 28 + SD_Makefile_Build/inc/authorized_keys.h | 24 + SD_Makefile_Build/inc/pin_layout.h | 47 + .../libs/Adafruit_GFX/Adafruit_GFX.cpp | 1175 ++++++++++ .../libs/Adafruit_GFX/Adafruit_GFX.h | 177 ++ .../libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h | 227 ++ .../libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h | 363 +++ .../libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h | 577 +++++ .../libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h | 176 ++ .../Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h | 250 ++ .../Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h | 423 ++++ .../Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h | 672 ++++++ .../Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h | 189 ++ .../Fonts/FreeMonoBoldOblique12pt7b.h | 269 +++ .../Fonts/FreeMonoBoldOblique18pt7b.h | 460 ++++ .../Fonts/FreeMonoBoldOblique24pt7b.h | 742 ++++++ .../Fonts/FreeMonoBoldOblique9pt7b.h | 203 ++ .../Fonts/FreeMonoOblique12pt7b.h | 248 ++ .../Fonts/FreeMonoOblique18pt7b.h | 398 ++++ .../Fonts/FreeMonoOblique24pt7b.h | 643 +++++ .../Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h | 187 ++ .../libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h | 270 +++ .../libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h | 452 ++++ .../libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h | 727 ++++++ .../libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h | 201 ++ .../Adafruit_GFX/Fonts/FreeSansBold12pt7b.h | 288 +++ .../Adafruit_GFX/Fonts/FreeSansBold18pt7b.h | 481 ++++ .../Adafruit_GFX/Fonts/FreeSansBold24pt7b.h | 784 +++++++ .../Adafruit_GFX/Fonts/FreeSansBold9pt7b.h | 208 ++ .../Fonts/FreeSansBoldOblique12pt7b.h | 317 +++ .../Fonts/FreeSansBoldOblique18pt7b.h | 545 +++++ .../Fonts/FreeSansBoldOblique24pt7b.h | 893 +++++++ .../Fonts/FreeSansBoldOblique9pt7b.h | 227 ++ .../Fonts/FreeSansOblique12pt7b.h | 302 +++ .../Fonts/FreeSansOblique18pt7b.h | 518 +++++ .../Fonts/FreeSansOblique24pt7b.h | 840 +++++++ .../Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h | 220 ++ .../libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h | 259 +++ .../libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h | 429 ++++ .../libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h | 690 ++++++ .../libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h | 195 ++ .../Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h | 271 +++ .../Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h | 462 ++++ .../Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h | 759 ++++++ .../Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h | 202 ++ .../Fonts/FreeSerifBoldItalic12pt7b.h | 292 +++ .../Fonts/FreeSerifBoldItalic18pt7b.h | 500 ++++ .../Fonts/FreeSerifBoldItalic24pt7b.h | 793 +++++++ .../Fonts/FreeSerifBoldItalic9pt7b.h | 215 ++ .../Fonts/FreeSerifItalic12pt7b.h | 271 +++ .../Fonts/FreeSerifItalic18pt7b.h | 450 ++++ .../Fonts/FreeSerifItalic24pt7b.h | 737 ++++++ .../Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h | 202 ++ .../libs/Adafruit_GFX/Fonts/Org_01.h | 131 ++ .../libs/Adafruit_GFX/Fonts/Picopixel.h | 123 + .../libs/Adafruit_GFX/Fonts/TomThumb.h | 474 ++++ SD_Makefile_Build/libs/Adafruit_GFX/README.md | 21 + .../libs/Adafruit_GFX/fontconvert/Makefile | 12 + .../Adafruit_GFX/fontconvert/fontconvert.c | 278 +++ .../fontconvert/fontconvert_win.md | 88 + .../Adafruit_GFX/fontconvert/makefonts.sh | 38 + SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h | 24 + .../libs/Adafruit_GFX/glcdfont.c | 276 +++ .../libs/Adafruit_GFX/library.properties | 9 + .../libs/Adafruit_GFX/license.txt | 24 + .../Adafruit_ST3775/.github/ISSUE_TEMPLATE.md | 46 + .../.github/PULL_REQUEST_TEMPLATE.md | 26 + .../libs/Adafruit_ST3775/Adafruit_ST7735.cpp | 736 ++++++ .../libs/Adafruit_ST3775/Adafruit_ST7735.h | 188 ++ .../libs/Adafruit_ST3775/README.txt | 26 + .../examples/graphicstest/graphicstest.ino | 300 +++ .../examples/rotationtest/rotationtest.ino | 285 +++ .../examples/shieldtest/shieldtest.ino | 256 ++ .../soft_spitftbitmap/soft_spitftbitmap.ino | 219 ++ .../examples/spitftbitmap/spitftbitmap.ino | 215 ++ .../libs/Adafruit_ST3775/library.properties | 9 + .../libs/MFRC522/.github/CONTRIBUTING.md | 10 + .../libs/MFRC522/.github/ISSUE_TEMPLATE.md | 39 + SD_Makefile_Build/libs/MFRC522/.gitignore | 6 + SD_Makefile_Build/libs/MFRC522/.travis.yml | 40 + SD_Makefile_Build/libs/MFRC522/Makefile | 17 + SD_Makefile_Build/libs/MFRC522/README.rst | 295 +++ SD_Makefile_Build/libs/MFRC522/UNLICENSE | 24 + SD_Makefile_Build/libs/MFRC522/changes.txt | 134 ++ .../Arduino-Uno-r3-with-RFID-RC522.fzz | Bin 0 -> 23140 bytes .../Arduino-Uno-r3-with-RFID-RC522.png | Bin 0 -> 289125 bytes .../doc/fritzing/RFID-RC522 - Pin Layout.png | Bin 0 -> 165594 bytes .../MFRC522/doc/fritzing/RFID-RC522-v2.fzpz | Bin 0 -> 17796 bytes .../MFRC522/doc/fritzing/RFID-RC522-v2.png | Bin 0 -> 30070 bytes .../libs/MFRC522/doc/rfidmifare.doc | Bin 0 -> 406016 bytes .../libs/MFRC522/doc/rfidmifare.pdf | Bin 0 -> 255101 bytes .../examples/AccessControl/AccessControl.ino | 550 +++++ .../MFRC522/examples/ChangeUID/ChangeUID.ino | 111 + .../MFRC522/examples/DumpInfo/DumpInfo.ino | 66 + .../examples/FixBrickedUID/FixBrickedUID.ino | 53 + .../MifareClassicValueBlock.ino | 319 +++ .../MinimalInterrupt/MinimalInterrupt.ino | 137 ++ .../examples/Ntag216_AUTH/Ntag216_AUTH.ino | 58 + .../examples/RFID-Cloner/RFID-Cloner.ino | 312 +++ .../examples/ReadAndWrite/ReadAndWrite.ino | 200 ++ .../MFRC522/examples/ReadNUID/ReadNUID.ino | 127 + .../ReadUidMultiReader/ReadUidMultiReader.ino | 97 + .../firmware_check/firmware_check.ino | 62 + .../rfid_default_keys/rfid_default_keys.ino | 157 ++ .../rfid_read_personal_data.ino | 138 ++ .../rfid_write_personal_data.ino | 156 ++ SD_Makefile_Build/libs/MFRC522/keywords.txt | 219 ++ SD_Makefile_Build/libs/MFRC522/library.json | 14 + .../libs/MFRC522/library.properties | 9 + .../libs/MFRC522/src/MFRC522.cpp | 1898 +++++++++++++++ SD_Makefile_Build/libs/MFRC522/src/MFRC522.h | 424 ++++ .../libs/MFRC522/src/MFRC522Extended.cpp | 1160 +++++++++ .../libs/MFRC522/src/MFRC522Extended.h | 120 + SD_Makefile_Build/libs/SPI | 1 + .../libs/Sodaq_DS3231/.gitignore | 2 + SD_Makefile_Build/libs/Sodaq_DS3231/README.md | 16 + .../Sodaq_DS3231/examples/adjust/adjust.pde | 40 + .../examples/interrupts/interrupts.pde | 60 + .../libs/Sodaq_DS3231/examples/now/now.pde | 43 + .../examples/temperature/temperature.pde | 19 + .../libs/Sodaq_DS3231/keywords.txt | 47 + .../libs/Sodaq_DS3231/library.properties | 9 + .../libs/Sodaq_DS3231/make-zip.sh | 25 + .../libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp | 391 ++++ .../libs/Sodaq_DS3231/src/Sodaq_DS3231.h | 82 + SD_Makefile_Build/src/LCD_module.cpp | 141 ++ SD_Makefile_Build/src/RFID_module.cpp | 67 + SD_Makefile_Build/src/RTC_module.cpp | 22 + 233 files changed, 36448 insertions(+) create mode 100644 SD/access_control/HOW_TO_USE.txt create mode 100644 SD/access_control/LCD_module.cpp create mode 100644 SD/access_control/LCD_module.h create mode 100644 SD/access_control/README.md create mode 100644 SD/access_control/RFID_module.cpp create mode 100644 SD/access_control/RFID_module.h create mode 100644 SD/access_control/RTC_module.cpp create mode 100644 SD/access_control/RTC_module.h create mode 100644 SD/access_control/UNLICENSE create mode 100644 SD/access_control/access_control.ino create mode 100644 SD/access_control/authorized_keys.h create mode 160000 SD/access_control/libraries/Adafruit_GFX create mode 160000 SD/access_control/libraries/Adafruit_ST3775 create mode 160000 SD/access_control/libraries/MFRC522 create mode 160000 SD/access_control/libraries/Sodaq_DS3231 create mode 100644 SD/access_control/pin_layout.h create mode 100644 SD/access_control/platform.local.txt create mode 100644 SD_Makefile_Build/Makefile create mode 100644 SD_Makefile_Build/README.md create mode 100644 SD_Makefile_Build/UNLICENSE create mode 100644 SD_Makefile_Build/acces_control.ino create mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep create mode 100755 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf create mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex create mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok create mode 100644 SD_Makefile_Build/build-mega2560/acces_control.d create mode 100644 SD_Makefile_Build/build-mega2560/acces_control.o create mode 100644 SD_Makefile_Build/build-mega2560/core/CDC.d create mode 100644 SD_Makefile_Build/build-mega2560/core/CDC.o create mode 100644 SD_Makefile_Build/build-mega2560/core/HID.d create mode 100644 SD_Makefile_Build/build-mega2560/core/HID.o create mode 100644 SD_Makefile_Build/build-mega2560/core/HardwareSerial.d create mode 100644 SD_Makefile_Build/build-mega2560/core/HardwareSerial.o create mode 100644 SD_Makefile_Build/build-mega2560/core/IPAddress.d create mode 100644 SD_Makefile_Build/build-mega2560/core/IPAddress.o create mode 100644 SD_Makefile_Build/build-mega2560/core/Print.d create mode 100644 SD_Makefile_Build/build-mega2560/core/Print.o create mode 100644 SD_Makefile_Build/build-mega2560/core/Stream.d create mode 100644 SD_Makefile_Build/build-mega2560/core/Stream.o create mode 100644 SD_Makefile_Build/build-mega2560/core/Tone.d create mode 100644 SD_Makefile_Build/build-mega2560/core/Tone.o create mode 100644 SD_Makefile_Build/build-mega2560/core/USBCore.d create mode 100644 SD_Makefile_Build/build-mega2560/core/USBCore.o create mode 100644 SD_Makefile_Build/build-mega2560/core/WInterrupts.d create mode 100644 SD_Makefile_Build/build-mega2560/core/WInterrupts.o create mode 100644 SD_Makefile_Build/build-mega2560/core/WMath.d create mode 100644 SD_Makefile_Build/build-mega2560/core/WMath.o create mode 100644 SD_Makefile_Build/build-mega2560/core/WString.d create mode 100644 SD_Makefile_Build/build-mega2560/core/WString.o create mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/malloc.d create mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/malloc.o create mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d create mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o create mode 100644 SD_Makefile_Build/build-mega2560/core/main.d create mode 100644 SD_Makefile_Build/build-mega2560/core/main.o create mode 100644 SD_Makefile_Build/build-mega2560/core/new.d create mode 100644 SD_Makefile_Build/build-mega2560/core/new.o create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring.d create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring.o create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_analog.d create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_analog.o create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_digital.d create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_digital.o create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_pulse.d create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_pulse.o create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_shift.d create mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_shift.o create mode 100644 SD_Makefile_Build/build-mega2560/libcore.a create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/File.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/File.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/SD.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/SD.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdFile.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdFile.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/Wire.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/Wire.o create mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d create mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o create mode 100644 SD_Makefile_Build/build-mega2560/src/LCD_module.d create mode 100644 SD_Makefile_Build/build-mega2560/src/LCD_module.o create mode 100644 SD_Makefile_Build/build-mega2560/src/RFID_module.d create mode 100644 SD_Makefile_Build/build-mega2560/src/RFID_module.o create mode 100644 SD_Makefile_Build/build-mega2560/src/RTC_module.d create mode 100644 SD_Makefile_Build/build-mega2560/src/RTC_module.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/Adafruit_GFX.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/Adafruit_GFX.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/glcdfont.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/glcdfont.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/SPI/SPI.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/SPI/SPI.o create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d create mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o create mode 100644 SD_Makefile_Build/inc/LCD_module.h create mode 100644 SD_Makefile_Build/inc/RFID_module.h create mode 100644 SD_Makefile_Build/inc/RTC_module.h create mode 100644 SD_Makefile_Build/inc/authorized_keys.h create mode 100644 SD_Makefile_Build/inc/pin_layout.h create mode 100755 SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp create mode 100755 SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/README.md create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md create mode 100755 SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/library.properties create mode 100644 SD_Makefile_Build/libs/Adafruit_GFX/license.txt create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md create mode 100755 SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp create mode 100755 SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/README.txt create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino create mode 100644 SD_Makefile_Build/libs/Adafruit_ST3775/library.properties create mode 100644 SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md create mode 100644 SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md create mode 100644 SD_Makefile_Build/libs/MFRC522/.gitignore create mode 100644 SD_Makefile_Build/libs/MFRC522/.travis.yml create mode 100644 SD_Makefile_Build/libs/MFRC522/Makefile create mode 100644 SD_Makefile_Build/libs/MFRC522/README.rst create mode 100644 SD_Makefile_Build/libs/MFRC522/UNLICENSE create mode 100644 SD_Makefile_Build/libs/MFRC522/changes.txt create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png create mode 100755 SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc create mode 100644 SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino create mode 100644 SD_Makefile_Build/libs/MFRC522/keywords.txt create mode 100644 SD_Makefile_Build/libs/MFRC522/library.json create mode 100644 SD_Makefile_Build/libs/MFRC522/library.properties create mode 100644 SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp create mode 100644 SD_Makefile_Build/libs/MFRC522/src/MFRC522.h create mode 100644 SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp create mode 100644 SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h create mode 160000 SD_Makefile_Build/libs/SPI create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/README.md create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/library.properties create mode 100755 SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp create mode 100644 SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h create mode 100644 SD_Makefile_Build/src/LCD_module.cpp create mode 100644 SD_Makefile_Build/src/RFID_module.cpp create mode 100644 SD_Makefile_Build/src/RTC_module.cpp diff --git a/.gitmodules b/.gitmodules index 8e20966..b410948 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,18 @@ [submodule "SD/access_control/libraries/MFRC522"] path = SD/access_control/libraries/MFRC522 url = https://github.com/miguelbalboa/rfid.git +[submodule "SD_Makefile_Build/access_control/libraries/Sodaq_DS3231"] + path = SD_Makefile_Build/access_control/libraries/Sodaq_DS3231 + url = https://github.com/SodaqMoja/Sodaq_DS3231.git +[submodule "SD_Makefile_Build/access_control/libraries/Adafruit_ST3775"] + path = SD_Makefile_Build/access_control/libraries/Adafruit_ST3775 + url = https://github.com/adafruit/Adafruit-ST7735-Library.git +[submodule "SD_Makefile_Build/access_control/libraries/Adafruit_GFX"] + path = SD_Makefile_Build/access_control/libraries/Adafruit_GFX + url = https://github.com/adafruit/Adafruit-GFX-Library.git +[submodule "SD_Makefile_Build/access_control/libraries/MFRC522"] + path = SD_Makefile_Build/access_control/libraries/MFRC522 + url = https://github.com/miguelbalboa/rfid.git +[submodule "SD_Makefile_Build/access_control/libraries/MFRC522"] + path = SD_Makefile_Build/libs/SPI + url = https://github.com/PaulStoffregen/SPI.git diff --git a/SD/access_control/HOW_TO_USE.txt b/SD/access_control/HOW_TO_USE.txt new file mode 100644 index 0000000..f63d162 --- /dev/null +++ b/SD/access_control/HOW_TO_USE.txt @@ -0,0 +1,19 @@ +(SEE README.md->INSTALATION REQUIREMENTS). + +HOW TO USE: + +1- Go to ,,authorized_keys.h" and modify the NUID of your authorized +tags (IN DECIMAL FORMAT) as well as the corresponding Names of each +Tag. More info see the MRFC 522 examples. + +2- Open the file ,,pin_layout.h" and follow or modify the proposed +connections for the HW. + +3- Open Your Arduino IDE v.1.8.0 (not tested in any other), verify, +upload and try your cards! + +4- Remove the SD card, and read it from a PC, you should find a file +called ,,records.csv". You can open and further use this file in any +spreadsheet program such as ,,LibreOffice Calc". + +QUESTIONS & BUGS report to the main repo diff --git a/SD/access_control/LCD_module.cpp b/SD/access_control/LCD_module.cpp new file mode 100644 index 0000000..56ab10e --- /dev/null +++ b/SD/access_control/LCD_module.cpp @@ -0,0 +1,141 @@ +#include "LCD_module.h" + +display::display(Adafruit_ST7735* lcd) +{ + disp_pntr = lcd; +} + +void display::initializeTFT_LCD() // Setup for TFT LCD - GREENTAB*! +{ + disp_pntr->initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab + // Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + disp_pntr->fillScreen(ST7735_BLACK); // Clear screen + disp_pntr->setTextSize(1); + disp_pntr->setTextColor(ST7735_BLUE); +} + +void display::initialize_SD_storage() +{ + if (!SD.begin(SD_CS)) { // Initialize SD + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->println("SD CARD"); + disp_pntr->setCursor(10,50); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("INITIATE"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the SD card + } + + if (SD.exists("records.csv")) { + } + else { // If file does not exist, create it + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println ("USER,DATE,MONTH,YEAR,TIME"); + csv_file.close(); + } +} + +bool display::validate_card(tag my_tag, timeState* my_time) +{ + disp_pntr->fillRect(25, 30, 100, 10, ST7735_BLACK ); // Clear default status from screen (only) + if(my_tag.access == 1){ + disp_pntr->setCursor(40, 30); + disp_pntr->println("WELCOME"); + disp_pntr->fillCircle(60, 120, 20, ST7735_GREEN); + disp_pntr->setCursor(40, 40); + disp_pntr->println(my_tag.name); + digitalWrite(ACC_GRANTED, HIGH); + digitalWrite(ACC_DENIED, LOW); + delay (2000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + write_time_register(my_tag.name, my_time); // Write to SD records + return true; + } + else { + disp_pntr->setCursor(30, 30); + disp_pntr->println("ACCESS DENIED"); + disp_pntr->setCursor(30, 40); + disp_pntr->println("Try again"); + disp_pntr->fillCircle(60, 120, 20, ST7735_RED); + delay (1000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + return false; + } +} + +void display::access_default_status() { + disp_pntr->setCursor(25, 30); + disp_pntr->println("PLACE YOUR TAG"); + digitalWrite(ACC_GRANTED, LOW); + digitalWrite(ACC_DENIED, HIGH); +} + +void display::write_time_register(String name, timeState* myTime) { + if (SD.exists("records.csv")) { // Check to see if the file exists: + } + else { // Error: records.csv doesn't exist + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->setTextColor(ST7735_GREEN); + disp_pntr->setTextSize(1); + disp_pntr->println("file: records.csv"); + disp_pntr->setCursor(10,50); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setTextSize(2); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("EXIST"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the file initialization prob. Typo! + } + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println(name +',' + String(myTime->get_current_time().date(),DEC) +','+ String(myTime->get_current_time().month(),DEC) + ',' + String(myTime->get_current_time().year(),DEC) + ',' + String(myTime->get_current_time().hour(),DEC) + ":" + String(myTime->get_current_time().minute(),DEC) + ":" + String(myTime->get_current_time().second(),DEC)); + csv_file.close(); +} + +void display::print_date_time (timeState* myTime) { + if (myTime->get_u_date()){ + disp_pntr->fillRect(40, 00, 70, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->fillRect(00, 10, 51, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->setCursor(10, 0); + disp_pntr->println(String("Date: ") + String(myTime->get_current_time().date(),DEC) +'.'+ String(myTime->get_current_time().month(),DEC) + '.' + String(myTime->get_current_time().year(),DEC)); + disp_pntr->setCursor(10, 10); + disp_pntr->print(myTime->get_week_day()); + } + + if (myTime->get_u_hour()){ + disp_pntr->fillRect(45, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when hour changes */ + disp_pntr->setCursor(45, 10); + disp_pntr->print(String(myTime->get_current_time().hour(),DEC) + ":"); + } + + if (myTime->get_u_minute()){ + disp_pntr->fillRect(65, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when minute changes */ + disp_pntr->setCursor(65, 10); + disp_pntr->print(String(myTime->get_current_time().minute(),DEC) + ':'); + } + + if (myTime->get_u_second()){ + disp_pntr->fillRect(85, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when sec changes */ + disp_pntr->setCursor(85, 10); + disp_pntr->println(myTime->get_current_time().second(),DEC); + } +} diff --git a/SD/access_control/LCD_module.h b/SD/access_control/LCD_module.h new file mode 100644 index 0000000..c246157 --- /dev/null +++ b/SD/access_control/LCD_module.h @@ -0,0 +1,37 @@ +#ifndef _TFT_LCD_ +#define _TFT_LCD_ + +#include "pin_layout.h" +#include "RFID_module.h" +#include "RTC_module.h" +#include +#include // Core graphics library for TFT LCD - GREENTAB*! +#include // Hardware-specific library for TFT LCD - GREENTAB*! + //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. +#include // Include required libraries for RTCDS3231 + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +//////////////////////////////////////////////////////////////////////// + +class display { +public: + display(Adafruit_ST7735* lcd); // Constructor for specific Adafruit Hardware + // display(ANY HARDWARE* lcd); // Can be defined for any other specific HW. (REUSE!) + void initializeTFT_LCD(); // Setup for TFT LCD - GREENTAB*! + void initialize_SD_storage(); + void write_time_register(String name, timeState* myTime); + void access_default_status(); + void print_date_time(timeState* myTime); + bool validate_card(tag my_tag, timeState* my_time); + +private: + Adafruit_ST7735* disp_pntr; + File csv_file; +}; + + +#endif // _TFT_LCD_ diff --git a/SD/access_control/README.md b/SD/access_control/README.md new file mode 100644 index 0000000..818e6f2 --- /dev/null +++ b/SD/access_control/README.md @@ -0,0 +1,55 @@ +HARDWARE REQUIREMENTS: + +This project has been implmented with this Hardware, further implementation +for additional HW by future colaborators. + +- Arduino Mega2560 like this: + https://www.arduino.cc/en/Main/ArduinoBoardMega2560 + +- DS_3231 like this: + http://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ + +- SainSmart 1.8 ST7735R TFT LCD Module with MicroSD like this: + https://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html + +- MFRC522 like this: + http://www.instructables.com/id/Arduino-RFID-Reader-MFRC522-Turorial/ + +INSTALATION REQUIREMENTS: + +Arduino IDE: +(Makefile Builds is more convenient and will be available in separate branch) +This project has been tested using Arduino IDE v.1.8.0 and NOT any +other. Please note that the project uses C++11 and therefore an extra +compiling flag has been included in the file ,,platform.local.txt''. +You may need to update your compiler. + +EXTERNAL LIBRARIES: +All libraries have been packaged as submodules in the folder "./libraries" and refer +to their original repository. To clone them go to your command line and type: + +$ git submodule init && git submodule update + +or go to each repo and clone: + +- DS_3231 requires this library: + https://github.com/SodaqMoja/Sodaq_DS3231 + +- 1.8 ST7735R TFT LCD Module with MicroSD requires this libraries: + https://github.com/adafruit/Adafruit-GFX-Library + https://github.com/adafruit/Adafruit-ST7735-Library + +- MFRC522 requires this library: + https://github.com/miguelbalboa/rfid + +Please clone this repos and copy them inside your local sketchbook/libraries folder: +(Something like ,,my/path/to/my/sketchbook/libraries/") +To find the complete path, open Arduino IDE->File->Preferences and look for +,,sketchbook location" + +USAGE: +Read HOW_TO_USE.txt + +TODOs: +Implementation for further HW, probably using Polymorphism (Virtual classes) +Define more TODOs! diff --git a/SD/access_control/RFID_module.cpp b/SD/access_control/RFID_module.cpp new file mode 100644 index 0000000..1bf779f --- /dev/null +++ b/SD/access_control/RFID_module.cpp @@ -0,0 +1,67 @@ +#include "RFID_module.h" + + +rfid_unit::rfid_unit(MFRC522* my_rfid){ + rfid_pntr = my_rfid; +} + + +tag rfid_unit::check_acces() { + RFID_Scan(); + byte count; + tag info; + for (byte n = 0; n < rows; n++) { + count = 0; + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] == authorized_keys[n][i]) + count ++; + } + if (count == cols) { // If the scanned key matches any of the authorised_keys.h + info.access = true; // Grant access + info.name = names[n]; // Parse User Name + return info; + } + else { + info.access = false; + } + } + return info; +} + +bool rfid_unit::check_new_card() { // returns true if the card is different + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] != nuidPICC[i]) + { + for (byte j = 0; j < cols; j++) + { // Store NUID into nuidPICC array + nuidPICC[j] = rfid_pntr->uid.uidByte[j]; + } + return 1; + } + else { + return 0; + } + } +} + +void rfid_unit::clear_nuid() { + for (byte i = 0; i < cols; i++) + { + rfid_pntr->uid.uidByte[i] = 0; + nuidPICC[i] = 0; + } +} + +void rfid_unit::RFID_Scan() { + if ( ! rfid_pntr->PICC_IsNewCardPresent()) // Look for new cards + return; + if ( ! rfid_pntr->PICC_ReadCardSerial()) // Verify if the NUID has been readed + return; + rfid_pntr->PICC_HaltA(); // Halt PICC + rfid_pntr->PCD_StopCrypto1(); // Stop encryption on PCD +} + +void rfid_unit::initializeRFID() { + SPI.begin(); // Init SPI bus + rfid_pntr->PCD_Init(); // Init MFRC522 +} diff --git a/SD/access_control/RFID_module.h b/SD/access_control/RFID_module.h new file mode 100644 index 0000000..64d9f89 --- /dev/null +++ b/SD/access_control/RFID_module.h @@ -0,0 +1,29 @@ +#ifndef _RFID_ +#define _RFID_ + +#include "pin_layout.h" +#include "authorized_keys.h" +#include + +typedef struct {String name; bool access;} tag; // Declaration of tag info structure + +//////////////////////////////////////////////////////////////////////// + +class rfid_unit{ +public: + rfid_unit(MFRC522* my_rfid); + tag check_acces(); + bool check_new_card(); + void clear_nuid(); + void initializeRFID(); + void RFID_Scan(); + +private: + MFRC522* rfid_pntr; + byte nuidPICC [cols]; // Declaration of global old UID-Key (state memory) +}; + + + + +#endif // _RFID_ diff --git a/SD/access_control/RTC_module.cpp b/SD/access_control/RTC_module.cpp new file mode 100644 index 0000000..30c771a --- /dev/null +++ b/SD/access_control/RTC_module.cpp @@ -0,0 +1,22 @@ +#include "RTC_module.h" + +DateTime current, prev; +bool u_date, u_month, u_year, u_hour, u_minute, u_second; + +void timeState::initializeDS3231 () //Initialize wire transfer and instansiate a RTC DS3231 +{ + Wire.begin(); + rtc.begin(); +} + +void timeState::update_time() +{ + current = rtc.now(); // Get the current date-time + if (current.year() == prev.year()) {u_year = false;} else{u_year = true;} + if (current.month() == prev.month()) {u_month = false;} else{u_month = true;} + if (current.date() == prev.date()) {u_date = false;} else{u_date = true;} + if (current.hour() == prev.hour()) {u_hour = false;} else{u_hour = true;} + if (current.minute() == prev.minute()) {u_minute = false;} else{u_minute = true;} + if (current.second() == prev.second()) {u_second = false;} else {u_second = true;} + prev = current; +} diff --git a/SD/access_control/RTC_module.h b/SD/access_control/RTC_module.h new file mode 100644 index 0000000..ed02ad8 --- /dev/null +++ b/SD/access_control/RTC_module.h @@ -0,0 +1,28 @@ +#ifndef _RTC_DS3231_ +#define _RTC_DS3231_ + +#include +#include // Include required libraries for RTCDS3231 +#include + +//////////////////////////////////////////////////////////////////////// + +class timeState { +public: + void initializeDS3231 (); //Initialize wire transfer and instansiate a RTC DS3231 + void update_time(); + inline DateTime get_current_time() {return current;} + inline String get_week_day() {return weekDay[current.dayOfWeek()-1];} + inline bool get_u_date() {return u_date;} + inline bool get_u_hour() {return u_hour;} + inline bool get_u_minute() {return u_minute;} + inline bool get_u_second() {return u_second;} + +protected: + DateTime current, prev; // Time state variables + char weekDay[8][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // Define the names of week day for diff languages. + bool u_year, u_month, u_date, u_hour, u_minute, u_second; // Return true if the value has been updated +}; + + +#endif // _RTC_DS3231_ diff --git a/SD/access_control/UNLICENSE b/SD/access_control/UNLICENSE new file mode 100644 index 0000000..00d2e13 --- /dev/null +++ b/SD/access_control/UNLICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to \ No newline at end of file diff --git a/SD/access_control/access_control.ino b/SD/access_control/access_control.ino new file mode 100644 index 0000000..6177a8e --- /dev/null +++ b/SD/access_control/access_control.ino @@ -0,0 +1,60 @@ + /******************************************************************************************** + * RFID-based access control and time records storage into SD card * + * Based on: See README.md * + * Author: Juan Reyes, Apr, 2017. * + * Copyright: Unlicense -> For more information, please refer to * + * Usage: See README.md * + ********************************************************************************************/ + +#include +#include +#include + +#include +#include +#include // Core graphics library for TFT LCD - GREENTAB*! +#include // Hardware-specific library for TFT LCD - GREENTAB*! + //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + +#include "pin_layout.h" +#include "RFID_module.h" +#include "RTC_module.h" +#include "LCD_module.h" + + +timeState time; // Create a time object acc. to a unique RTC_DS3231 HW +Adafruit_ST7735 tft (LCD_CS, LCD_DC, LCD_RST); // Instantiate an object using HW manufacturer's library +display display_1(&tft); // Create a display object acc to specific HW (this enables the usage of multiple displays) +MFRC522 rfid(RFID_SS, RFID_RST); // Instantiate an object using HW manufacturer's library +rfid_unit rfid_unit_1(&rfid); +tag rfid_tag; // Tag information structure (Key & assigned name) + + + +void setup() +{ + time.initializeDS3231 (); // Setup for DS3231 + display_1.initializeTFT_LCD(); // Setup for LCD + rfid_unit_1.initializeRFID(); // Setup for RFID MFRC522 */ + display_1.initialize_SD_storage(); // Setup for records file in SD storage + pinMode(ACC_DENIED, OUTPUT); + pinMode(ACC_GRANTED, OUTPUT); + + // Enable this to adjust the RTC current time (ONLY ONCE) + // rtc.setDateTime (DateTime (2017, 04, 23, 13, 05, 00, 1)); + // DateTime (Year,Month,Date,Hour, Minute, Second, Weekday) --> (Sunday = 1) +} + + +void loop() +{ + display_1.print_date_time(&time); // LCD print current time & date + time.update_time(); // RTC Update current time + display_1.access_default_status(); // Acces denied by default + rfid_tag = rfid_unit_1.check_acces(); // Compare Tag info with authorized keys and parse user name + + if (rfid_unit_1.check_new_card()){ // To avoid recurrent tag loading: Execute only if new card has been loaded + display_1.validate_card(rfid_tag, &time); // Validate and execute access control + rfid_unit_1.clear_nuid(); // Clear RFID NUIDs + } +} diff --git a/SD/access_control/authorized_keys.h b/SD/access_control/authorized_keys.h new file mode 100644 index 0000000..e78fa5b --- /dev/null +++ b/SD/access_control/authorized_keys.h @@ -0,0 +1,26 @@ +#ifndef _AUTHORIZED_KEYS_ +#define _AUTHORIZED_KEYS_ + +#include + +const byte authorized_keys [5][4] = { // Authorized tag UIDs [number of tags] [Tag's UID-bytes] + {00,00,000,00}, // USE the decimal format!! + {00,00,000,00}, + {00,00,000,00}, + {00,00,000,00}, + {00,00,000,00}, +}; + +const int rows = sizeof(authorized_keys)/sizeof(authorized_keys[0]); +const int cols = sizeof(authorized_keys[0]); + +const String names [rows]={ // Corresponding name of each tag/key + {"JOHN"}, + {"DOE"}, + {"MARCO"}, + {"POLO"}, + {"ARDUINO"}, +}; + + +#endif // _AUTHORIZED_KEYS_ diff --git a/SD/access_control/libraries/Adafruit_GFX b/SD/access_control/libraries/Adafruit_GFX new file mode 160000 index 0000000..cb95e03 --- /dev/null +++ b/SD/access_control/libraries/Adafruit_GFX @@ -0,0 +1 @@ +Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD/access_control/libraries/Adafruit_ST3775 b/SD/access_control/libraries/Adafruit_ST3775 new file mode 160000 index 0000000..d53d4bf --- /dev/null +++ b/SD/access_control/libraries/Adafruit_ST3775 @@ -0,0 +1 @@ +Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD/access_control/libraries/MFRC522 b/SD/access_control/libraries/MFRC522 new file mode 160000 index 0000000..c5781e7 --- /dev/null +++ b/SD/access_control/libraries/MFRC522 @@ -0,0 +1 @@ +Subproject commit c5781e75598e76167d9079051bb77d02bfc595a4 diff --git a/SD/access_control/libraries/Sodaq_DS3231 b/SD/access_control/libraries/Sodaq_DS3231 new file mode 160000 index 0000000..162b718 --- /dev/null +++ b/SD/access_control/libraries/Sodaq_DS3231 @@ -0,0 +1 @@ +Subproject commit 162b71811f1d40323632c2df2700533604a8872f diff --git a/SD/access_control/pin_layout.h b/SD/access_control/pin_layout.h new file mode 100644 index 0000000..694a2d1 --- /dev/null +++ b/SD/access_control/pin_layout.h @@ -0,0 +1,48 @@ +#ifndef _PIN_LAYOUT_ +#define _PIN_LAYOUT_ + +/*Fixed pins for Arduino Mega 2560: + * SDA 20 + * SCL 21 + * SPI MOSI 51 + * SPI MISO 50 + * SPI SCK 52 +*/ + + +/* Connections from RTC DS3231 to Arduino Mega 2560: + * VCC 5V + * GND + * SDA 20 + * SCL 21 +*/ + + +/* Connections from SainSmart 1.8 ST7735R TFT LCD Module with MicroSD to Arduino Mega 2560:*/ +#define LCD_CS 46 // SainSmart: CS +#define LCD_DC 47 // SainSmart: RS/DC +#define LCD_RST 48 // SainSmart: RES +#define SD_CS 49 // SainSmart: SD card CS pin +// SD_MISO 50 // SainSmart: SD card MISO pin +// SDA & SD_MOSI 51 // Parallel connection +// SCL & SD_SCLK 52 // Parallel connection + + +/* Connection from MFRC522 to Arduino Mega 2560:*/ +// VCC 3.3V +#define RFID_RST 44 // MFRC522 Connection pin (RST) +#define RFID_SS 45 // MFRC522 Connection pin (SDA) +// MISO 50 // Parallel connection +// MOSI 51 // Parallel connection +// SCK 52 // Parallel connection + + +/* Output Connections */ + +#define ACC_DENIED 42 // Output / Led Signal for Access denied +#define ACC_GRANTED 43 // Output / Led Signal Access granted + +// If you connect a LED do not forget to add the resistor and GND connection. + + +#endif // _PIN_LAYOUT_ diff --git a/SD/access_control/platform.local.txt b/SD/access_control/platform.local.txt new file mode 100644 index 0000000..8863163 --- /dev/null +++ b/SD/access_control/platform.local.txt @@ -0,0 +1,8 @@ +# These can be overridden in platform.local.txt +compiler.c.extra_flags= +compiler.c.elf.extra_flags= +compiler.S.extra_flags= +compiler.cpp.extra_flags=-std=c++11 +compiler.ar.extra_flags= +compiler.objcopy.eep.extra_flags= +compiler.elf2hex.extra_flags= diff --git a/SD_Makefile_Build/Makefile b/SD_Makefile_Build/Makefile new file mode 100644 index 0000000..54a8956 --- /dev/null +++ b/SD_Makefile_Build/Makefile @@ -0,0 +1,8 @@ +BOARD_TAG = mega2560 +MONITOR_PORT = /dev/ttyACM0 +ARDUINO_LIBS = Wire SD SPI Sodaq_DS3231/src Adafruit_GFX Adafruit_ST3775 MFRC522/src + +LOCAL_CPP_SRCS ?= $(wildcard ./src/*.cpp) +CPPFLAGS += -std=c++11 -I./inc/ -I./libs/ +USER_LIB_PATH += /home/rocadura/Documents/Arduino/ACTR/libs +include /usr/share/arduino/Arduino.mk diff --git a/SD_Makefile_Build/README.md b/SD_Makefile_Build/README.md new file mode 100644 index 0000000..1e90f74 --- /dev/null +++ b/SD_Makefile_Build/README.md @@ -0,0 +1 @@ +TODO! diff --git a/SD_Makefile_Build/UNLICENSE b/SD_Makefile_Build/UNLICENSE new file mode 100644 index 0000000..00d2e13 --- /dev/null +++ b/SD_Makefile_Build/UNLICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to \ No newline at end of file diff --git a/SD_Makefile_Build/acces_control.ino b/SD_Makefile_Build/acces_control.ino new file mode 100644 index 0000000..5b1d25f --- /dev/null +++ b/SD_Makefile_Build/acces_control.ino @@ -0,0 +1,50 @@ +/******************************************************************************************** + * RFID-based access control and time records storage into SD card * + * Based on: See requirements.txt * + * Author: Juan Reyes, Apr, 2017. * + * Copyright: Unlicense -> For more information, please refer to * + * Usage: See readme.txt * + ********************************************************************************************/ + +#include "pin_layout.h" +#include +#include +#include +#include +#include + +timeState time; // Create a time object acc. to a unique RTC_DS3231 HW +Adafruit_ST7735 tft (LCD_CS, LCD_DC, LCD_RST); // Instantiate an object using HW manufacturer's library +display display_1(&tft); // Create a display object acc to specific HW (this enables the usage of multiple displays) +MFRC522 rfid(RFID_SS, RFID_RST); // Instantiate an object using HW manufacturer's library +rfid_unit rfid_unit_1(&rfid); +tag rfid_tag; // Tag information structure (Key & assigned name) + + +void setup() +{ + time.initializeDS3231 (); // Setup for DS3231 + display_1.initializeTFT_LCD(); // Setup for LCD + rfid_unit_1.initializeRFID(); // Setup for RFID MFRC522 */ + display_1.initialize_SD_storage(); // Setup for records file in SD storage + pinMode(ACC_DENIED, OUTPUT); + pinMode(ACC_GRANTED, OUTPUT); + + // Enable this to adjust the RTC current time (ONLY ONCE) + // rtc.setDateTime (DateTime (2017, 04, 23, 13, 05, 00, 1)); + // DateTime (Year,Month,Date,Hour, Minute, Second, Weekday) --> (Sunday = 1) +} + + +void loop() +{ + display_1.print_date_time(&time); // LCD print current time & date + time.update_time(); // RTC Update current time + display_1.access_default_status(); // Acces denied by default + rfid_tag = rfid_unit_1.check_acces(); // Compare Tag info with authorized keys and parse user name + + if (rfid_unit_1.check_new_card()){ // To avoid recurrent tag loading: Execute only if new card has been loaded + display_1.validate_card(rfid_tag, &time); // Validate and execute access control + rfid_unit_1.clear_nuid(); // Clear RFID NUIDs + } +} diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep new file mode 100644 index 0000000..1996e8f --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf new file mode 100755 index 0000000000000000000000000000000000000000..eaee68cfb46bf190dc16ba494ccdd4a830b07e83 GIT binary patch literal 53472 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex new file mode 100644 index 0000000..7b59dbe --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex @@ -0,0 +1,2072 @@ +:100000000C9489040C94BA040C94BA040C94BA04A9 +:100010000C94BA040C94BA040C94BA040C94BA0468 +:100020000C94BA040C94BA040C94BA040C94BA0458 +:100030000C94BA040C94BA040C94BA040C94BA0448 +:100040000C94BA040C94BA040C94BA040C94BA0438 +:100050000C94BA040C94BA040C94BA040C94D30C07 +:100060000C94BA040C944A3A0C943A3B0C94BA049B +:100070000C94BA040C94BA040C94BA040C94BA0408 +:100080000C94BA040C94BA040C94BA040C94BA04F8 +:100090000C947E3A0C94793B0C94BA040C94E53D94 +:1000A0000C94BA040C94BA040C94BA040C94BA04D8 +:1000B0000C94BA040C94BA040C94BA040C94BA04C8 +:1000C0000C94BA040C94BA040C94BA040C94B23A8A +:1000D0000C94B83B0C94BA040C94E63A0C94F73B9D +:1000E0000C94BA04ED0DF00DE30DE70D270EF40DA1 +:1000F000F80DFE0D020E060E0C0E100E140E270E3D +:100100001A0E1E0E220E0C94BB300C94BD0E0C94D5 +:100110001A2F0C949A350C9477140C945E250C9439 +:10012000FE0D0C94242C0C94060E0C94F80D0C94DB +:10013000D3050C94020E0C9487240C94E22F0C949B +:10014000ED390C94E70D0C94A3240C94300C0C9412 +:100150007C150C94140E0C94A4140C94832F0C9402 +:10016000B3330C94C5260C948F240C94270E0C9456 +:10017000BC0C0C94B40B0C941F260C94E30D0C9443 +:10018000193B0C94C0140C94C1300C9462250C944F +:100190003C260C94F00D0C9441300C9413260C94D6 +:1001A00016270C940A280C94DF140C9413050C9455 +:1001B000B2240C948E140C94100E0C94363C0C94B7 +:1001C000F42C0C94F1050C94C2390C941A0E0C9476 +:1001D00096390C94A6390C94ED0D0C94DC110C940A +:1001E000AA270C94E2390C9409280C94960B0C94D1 +:1001F0000C260C94B3240C940C0E0C943B260C94FB +:10020000E3240C94D51C0C94F40D0C94E9140C9478 +:10021000342D0C9434270C940B260C942B260C9420 +:100220001E0E0C9481260C943B2B0C94DB110C9429 +:10023000220E0000090A02080B0C0D070603040138 +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000011107D +:100260000F0000000000000000000000000000007F +:10027000000000000000000001021020200808100B +:100280002040102040800201020108040201010206 +:1002900004081020408080402010080402018004DF +:1002A000020180402010080402010804020101023A +:1002B0000408102040800102040810204080050539 +:1002C0000505070508080808020202020A0A0808CC +:1002D00004040404010101010101010103030303FA +:1002E00003030303040707070C0C0C0C0C0C0C0C89 +:1002F0000202020206060606060606060B0B0B0B9A +:100300000B0B0B0B000020002300260029002C0003 +:100310002F00320000010000030106010901000066 +:100320002200250028002B002E003100340002019D +:100330000000050108010B01000021002400270036 +:100340002A002D00300033000101000004010701E4 +:100350000A017C3C3E5E2B3D3F2F5B5D3B2C2A22FD +:100360005C0000000000003E5B4F5B3E3E6B4F6B4D +:100370003E1C3E7C3E1C183C7E3C181C577D571C86 +:100380001C5E7F5E1C00183C1800FFE7C3E7FF00FF +:1003900018241800FFE7DBE7FF30483A060E26294D +:1003A000792926407F050507407F05253F5A3CE710 +:1003B0003C5A7F3E1C1C08081C1C3E7F14227F22D6 +:1003C000145F5F005F5F06097F017F006689956AA1 +:1003D000606060606094A2FFA29408047E0408102C +:1003E000207E201008082A1C08081C2A08081E1055 +:1003F0001010100C1E0C1E0C30383E3830060E3E0D +:100400000E06000000000000005F0000000700076B +:1004100000147F147F14242A7F2A12231308646295 +:1004200036495620500008070300001C22410000F6 +:1004300041221C002A1C7F1C2A08083E0808008054 +:1004400070300008080808080000606000201008EC +:1004500004023E5149453E00427F400072494949ED +:10046000462141494D331814127F1027454545391F +:100470003C4A494931412111090736494949364623 +:100480004949291E00001400000040340000000803 +:1004900014224114141414140041221408020159A6 +:1004A00009063E415D594E7C1211127C7F49494933 +:1004B000363E414141227F4141413E7F49494941C8 +:1004C0007F090909013E414151737F0808087F00F7 +:1004D000417F41002040413F017F081422417F407D +:1004E0004040407F021C027F7F0408107F3E414154 +:1004F000413E7F090909063E4151215E7F091929C4 +:1005000046264949493203017F01033F4040403FAD +:100510001F2040201F3F4038403F631408146303EE +:10052000047804036159494D43007F41414102046D +:10053000081020004141417F040201020440404074 +:100540004040000307080020545478407F2844446A +:10055000383844444428384444287F385454541884 +:1005600000087E090218A4A49C787F08040478007F +:10057000447D40002040403D007F10284400004161 +:100580007F40007C047804787C0804047838444474 +:100590004438FC1824241818242418FC7C0804046B +:1005A00008485454542404043F44243C4040207CD4 +:1005B0001C2040201C3C4030403C44281028444C27 +:1005C0009090907C4464544C4400083641000000F4 +:1005D000770000004136080002010204023C262395 +:1005E000263C1EA1A161123A4040207A385454554D +:1005F0005921555579412254547842215554784017 +:1006000020545579400C1E5272123955555559399E +:100610005454545939555454580000457C410002F3 +:10062000457D420001457C407D1211127DF0282558 +:1006300028F07C545545002054547C547C0A097F92 +:100640004932494949323A4444443A324A484830A6 +:100650003A4141217A3A42402078009DA0A07D3D58 +:100660004242423D3D4040403D3C24FF2424487EE0 +:100670004943662B2FFC2F2BFF0929F620C0887ECB +:10068000090320545479410000447D413048484AD0 +:1006900032384040227A007A0A0A727D0D19317D83 +:1006A0002629292F28262929292630484D40203857 +:1006B0000808080808080808382F10C8ACBA2F1016 +:1006C0002834FA00007B000008142A142222142A7D +:1006D00014085500550055AA55AA55AAFF55FF55AF +:1006E000FF000000FF00101010FF00141414FF00A2 +:1006F0001010FF00FF1010F010F0141414FC001480 +:1007000014F700FF0000FF00FF1414F404FC14149D +:1007100017101F10101F101F1414141F001010109A +:10072000F0000000001F101010101F10101010F02B +:1007300010000000FF101010101010101010FF100B +:10074000000000FF140000FF00FF00001F10170052 +:1007500000FC04F414141710171414F404F400002B +:10076000FF00F714141414141414F700F7141414DD +:10077000171410101F101F141414F4141010F0107C +:10078000F000001F101F0000001F14000000FC14E8 +:100790000000F010F01010FF10FF141414FF1410DC +:1007A00010101F00000000F010FFFFFFFFFFF0F02F +:1007B000F0F0F0FFFFFF0000000000FFFF0F0F0F41 +:1007C0000F0F3844443844FC4A4A4A347E02020639 +:1007D00006027E027E0263554941633844443C046C +:1007E000407E201E2006027E020299A5E7A5991CE4 +:1007F0002A492A1C4C7201724C304A4D4D30304807 +:10080000784830BC625A463D3E494949007E010164 +:10081000017E2A2A2A2A2A44445F444440514A44F9 +:100820004040444A51400000FF0103E080FF0000C7 +:1008300008086B6B083612362436060F090F0600BF +:100840000018180000001010003040FF0101001FC8 +:1008500001011E00191D1712003C3C3C3C00000029 +:10086000000004E010021C07123732292D29252B25 +:100870003900010310E110031D07062E2C292D2E2F +:100880002E373F0000021013800A298064022A04D8 +:100890000000007F2B040000007F022A04000000FB +:1008A0007F2B040000009F022A04000200812B0419 +:1008B000000100A00F0180961180FFB103012C2DD3 +:1008C000B203012C2DB306012C2D012C2DB40107F0 +:1008D000C003A20284C101C5C2020A00C3028A2A5F +:1008E000C4028AEEC5010E20003601C83A01051F78 +:1008F0001C1F1E1F1E1F1F1E1F1E1F001305D305BA +:10090000960B300C77145E25BB30363CF105B40BEA +:10091000BC0C11241FBECFEFD1E2DEBFCDBF00E083 +:100920000CBF13E0A0E0B2E0E4EFFFE700E00BBF94 +:1009300002C007900D92A636B107D9F72AE0A6E6C5 +:10094000B3E001C01D92A834B207E1F714E0C6E895 +:10095000D4E000E006C021970109802FFE010E942B +:10096000C63FCE37D10780E00807A9F70E94CE1115 +:100970000C94163F0C94000086ED96E00E94222510 +:100980008DE297E00C94C336CF93DF93EC018DE2B8 +:1009900097E00E94E936288339834A835B836C831E +:1009A0007D838E8330E02053384F8F8190E08053D9 +:1009B000984F2817390711F41EA602C081E08EA7B0 +:1009C00099818885981302C01FA602C081E08FA775 +:1009D0009A818985981302C018AA02C081E088AB69 +:1009E0009B818A85981302C019AA02C081E089AB55 +:1009F0009C818B85981302C01AAA02C081E08AAB41 +:100A00009D818C85981302C01BAA02C081E08BAB2C +:100A100087E0FE01DE01179601900D928A95E1F7BD +:100A2000DF91CF91089540E050E0BA018DE693E068 +:100A30000E94283640E050E0BA0186E693E00C942C +:100A40002836FC01718360830895FC01A081B18187 +:100A500013968C9113979281891771F08283149663 +:100A60008C911497838315968C9115978483169691 +:100A70008C91858381E0089580E00895CF93DF9382 +:100A8000DC01129620E030E0EC01E881F981E20F10 +:100A9000F31F13821D922F5F3F4F24303105A1F7C2 +:100AA000DF91CF910895CF93DF93EC0188819981F5 +:100AB000DC01ED91FC910280F381E02D19958823F2 +:100AC000A9F088819981DC01ED91FC910480F58188 +:100AD000E02D1995882351F0888199810E94CB35AA +:100AE00088819981DF91CF910C940E36DF91CF915F +:100AF0000895CF92DF92EF92FF920F931F93CF93BF +:100B0000DF93EC018B01CB010E94530560ED72E095 +:100B1000CE010E945610D8016D917C91E6E2F2E080 +:100B200020E030E06D5F7F4F6B0180E090E040E0BF +:100B3000D6011D916D017F01E80EF91ED7015C9170 +:100B4000151301C04F5F01968430910589F7443039 +:100B500071F481E08F8387E0829FB001839F700DE5 +:100B600011246C587C4FCE010E94A21007C01F8236 +:100B70002F5F3F4F349625303105B1F6CE01DF911E +:100B8000CF911F910F91FF90EF90DF90CF9008953C +:100B9000CF93DF93EC010E94123688819981DF9117 +:100BA000CF910C9468326AE072E084E793E00E948F +:100BB00056106FE072E08BE793E00E94561063E1FD +:100BC00072E082E893E00E94561069E172E089E8E1 +:100BD00093E00E9456106EE172E080E993E00C947D +:100BE0005610CF93DF93C7E9D3E02797CE010E9439 +:100BF000E80F83E0C437D807C1F7DF91CF9108959C +:100C00000F931F93CF93DF93EC018B0102960E9409 +:100C1000481519830883DF91CF911F910F91089593 +:100C2000CF93DF93EC0160E0888199810E948E2E42 +:100C300088819981DC01ED91FC91068CF78DE02D86 +:100C400060E070E0199561E0888199810E94182C1C +:100C50006FE170E088819981DF91CF910C941E2C17 +:100C6000EF92FF920F931F93CF93DF93CDB7DEB731 +:100C70006B970FB6F894DEBF0FBECDBF8C0161E35A +:100C800084E894E00E94D71281117AC0D8018D9136 +:100C90009C91DC01ED91FC91068CF78DE02D60E0DC +:100CA00070E0199562E0F801808191810E94182C12 +:100CB00060E078EFD8018D919C910E941E2C4AE053 +:100CC00050E06AE070E0F801808191810E94122C6E +:100CD0006AE372E0D8018D919C910E945C0F4EE115 +:100CE00050E06AE070E0F801808191810E94122C4E +:100CF00061E472E0D8018D919C910E945C0F42E307 +:100D000050E06AE070E0F801808191810E94122C2D +:100D100069E472E0D8018D919C910E945C0F46E4D9 +:100D200050E06AE070E0F801808191810E94122C0D +:100D300062E572E0D8018D919C910E945C0F4AE5BA +:100D400050E06AE070E0F801808191810E94122CED +:100D50006BE572E0D8018D919C910E945C0F4EE68C +:100D600050E06AE070E0F801808191810E94122CCD +:100D700063E672E0D8018D919C910E945C0FFFCFD9 +:100D800068E972E084E894E00E946C1481113EC02E +:100D900023E148E952E064E874E0CE0101960E9444 +:100DA000EA137801B2E0EB0EF11C8B819C81F80113 +:100DB000958384838D819E81AF81B8858683978357 +:100DC000A087B18789859A85AB85BC858287938703 +:100DD000A487B5878DE0FE013D96D8011E9601904F +:100DE0000D928A95E1F78A8D9B8DD8015C969C9334 +:100DF0008E935B97CE0101960E945B1569E672E0C7 +:100E0000C7010E945C0FC7010E94AB156B960FB61D +:100E1000F894DEBF0FBECDBFDF91CF911F910F9130 +:100E2000FF90EF900895CF93DF93EC014EE150E0F7 +:100E300069E170E0888199810E94122C63E872E078 +:100E4000888199810E945C0F60E08BE20E94640EB1 +:100E500061E08AE2DF91CF910C94640EAF92BF9271 +:100E6000CF92DF92EF92FF920F931F93CF93DF9376 +:100E7000CDB7DEB7CF56D1090FB6F894DEBF0FBE9F +:100E8000CDBF8C015B017A0168E972E084E894E0EF +:100E90000E946C14811194C0D8018D919C91DC0149 +:100EA000ED91FC91068CF78DE02D60E070E01995D6 +:100EB00062E0F801808191810E94182C60E078EF57 +:100EC000D8018D919C910E941E2C4AE050E06AE06E +:100ED00070E0F801808191810E94122C6AE372E037 +:100EE000D8018D919C910E945C0F4EE150E06AE028 +:100EF00070E0F801808191810E94122C60EE77E011 +:100F0000D8018D919C910E941E2C61E0F801808196 +:100F100091810E94182C62E972E0D8018D919C9118 +:100F20000E945C0F42E350E06AE070E0F8018081CB +:100F300091810E94122C60E078EFD8018D919C91F4 +:100F40000E941E2C62E0F801808191810E94182C81 +:100F500069E472E0D8018D919C910E945C0F46E497 +:100F600050E06AE070E0F801808191810E94122CCB +:100F700064EA72E0D8018D919C910E945C0F4AE571 +:100F800050E06AE070E0F801808191810E94122CAB +:100F90006BE572E0D8018D919C910E945C0F4EE64A +:100FA00050E06AE070E0F801808191810E94122C8B +:100FB00063E672E0D8018D919C910E945C0FFFCF97 +:100FC00023E148E952E064E874E0CE0101960E9412 +:100FD000EA136801B2E0CB0ED11C8B819C81F80131 +:100FE000958384838D819E81AF81B8858683978325 +:100FF000A087B18789859A85AB85BC8582879387D1 +:10100000A487B5878DE0FE013D96D8011E9601901C +:101010000D928A95E1F78A8D9B8DD8015C969C9301 +:101020008E935B97CE0101960E945B1587E0F701D6 +:10103000DE01D89601900D928A95E1F74AE06DADF8 +:10104000CE01CF960E94E61087E0F701DE01D1962F +:1010500001900D928A95E1F74AE06DA9CE018A5B75 +:101060009F4F0E94E61087E0F701DE019A960190FB +:101070000D928A95E1F74AE06DA5CE01835B9F4F03 +:101080000E94E61087E0F701DE01939601900D9231 +:101090008A95E1F72BA130E0B9016053784F4AE01F +:1010A000CE018C5A9F4F0E94141187E0F701DE0198 +:1010B0005C9601900D928A95E1F74AE06D8DCE0124 +:1010C000855A9F4F0E94E61087E0F701DE011196D6 +:1010D00001900D928A95E1F74AE06B81CE018E591D +:1010E0009F4F0E94E610B501CE0187599F4F0E9485 +:1010F000B9106CE2CE0187599F4F0E94AF11BE011B +:101100006E597F4F0E9483116CE20E94AF11BE01A5 +:10111000655A7F4F0E9483116CE20E94AF11BE019D +:101120006C5A7F4F0E9483116CE20E94AF11BE0186 +:10113000635B7F4F0E9483116FE372E00E94961100 +:10114000BE016A5B7F4F0E9483116FE372E00E94D1 +:101150009611BE01615C7F4F0E948311BC01C601E4 +:101160000E944A0FCE0187599F4F0E94E80FCE017F +:101170008E599F4F0E94E80FCE01855A9F4F0E94C3 +:10118000E80FCE018C5A9F4F0E94E80FCE01835B7F +:101190009F4F0E94E80FCE018A5B9F4F0E94E80F8D +:1011A000CE01CF960E94E80FC6010E94AB15C1592F +:1011B000DF4F0FB6F894DEBF0FBECDBFDF91CF91EA +:1011C0001F910F91FF90EF90DF90CF90BF90AF9065 +:1011D00008956F927F929F92AF92BF92CF92DF92CB +:1011E000EF92FF920F931F93CF93DF93CDB7DEB7AC +:1011F00027970FB6F894DEBF0FBECDBF6C015B0121 +:101200003A01DC018D919C91DC01ED91FC91048C03 +:10121000F58DE02DE12CF12C0AE010E024E630E021 +:101220004EE150E069E170E01995F5019780D60133 +:101230008D919C914EE150E0992009F465C068E2DF +:1012400070E00E94122C6AEA72E0F60180819181BE +:101250000E945C0F00EE17E024E130E048E750E028 +:101260006CE370E0D6018D919C910E94142948E2B4 +:1012700050E068E270E0F601808191810E94122CBA +:10128000B501D6018D919C910E944A0F61E08BE2DD +:101290000E94640E60E08AE20E94640E60ED77E0D6 +:1012A00080E090E00E944E0DF60180819181DC018A +:1012B000ED91FC91048CF58DE02D05E110E02EE61A +:1012C00030E04EE150E060E070E0199500E010E0A1 +:1012D00024E130E048E750E06CE370E0F601808103 +:1012E00091810E941429B501CE0101960E94B91086 +:1012F000A301BE016F5F7F4FC6010E942E07CE0182 +:1013000001960E94E80F4FC06EE170E00E94122C1F +:1013100062EB72E0D6018D919C910E945C0F48E2D5 +:1013200050E06EE170E0F601808191810E94122C04 +:1013300060EC72E0D6018D919C910E945C0F00E000 +:1013400018EF24E130E048E750E06CE370E0F6018C +:10135000808191810E94142968EE73E080E090E022 +:101360000E944E0DD6018D919C91DC01ED91FC9176 +:10137000048CF58DE02DE12CF12C05E110E02EE63A +:1013800030E04EE150E060E070E0199500E010E0E0 +:1013900024E130E048E750E06CE370E0F601808142 +:1013A00091810E941429892D27960FB6F894DEBFEB +:1013B0000FBECDBFDF91CF911F910F91FF90EF90A6 +:1013C000DF90CF90BF90AF909F907F906F900895E7 +:1013D000AF92BF92CF92DF92EF92FF920F931F9343 +:1013E000CF93DF93CDB7DEB7E8970FB6F894DEBFA3 +:1013F0000FBECDBF6C015B01DB01D0968C918823C1 +:1014000009F4BCC0F60180819181DC01ED91FC9171 +:10141000048CF58DE02DE12CF12C07E010E026E4A2 +:1014200030E040E050E068E270E01995F60180811C +:101430009181DC01ED91FC91048CF58DE02D23E38D +:1014400030E04AE050E060E070E0199540E050E0A4 +:101450006AE070E0F601808191810E94122C87E0A1 +:10146000F501DE01949601900D928A95E1F76CA149 +:1014700070E06053784F4AE0CE0101960E9414114B +:1014800087E0F501DE015D9601900D928A95E1F706 +:101490004AE06E8DCE0108960E94E61087E0F501C5 +:1014A000DE01569601900D928A95E1F74AE0688D2B +:1014B000CE018B960E94E6106AEC72E0CE01C296D5 +:1014C0000E945610BE016E5C7F4FCE010F960E94A7 +:1014D000B910BE01655D7F4FCE010F960E9483114A +:1014E0006EE20E94AF11BE01685F7F4F0E948311C0 +:1014F0006EE20E94AF11BE016F5F7F4F0E948311A9 +:10150000BC01D6018D919C910E944A0FCE010F968D +:101510000E94E80FCE01C2960E94E80FCE018B9682 +:101520000E94E80FCE0108960E94E80FCE010196B6 +:101530000E94E80F4AE050E06AE070E0F601808126 +:1015400091810E94122CD50116968C91B501B4E0C0 +:101550008B9F600D711D1124665F7F4FCE01019638 +:101560000E945610BE016F5F7F4FF601808191810E +:101570000E94FA0ECE0101960E94E80FD501D19685 +:101580008C91882309F446C0F60180819181DC01A9 +:10159000ED91FC91048CF58DE02DE12CF12C07E010 +:1015A00010E024E130E04AE050E06DE270E019958F +:1015B0004AE050E06DE270E0F601808191810E9486 +:1015C000122C87E0F501DE011F9601900D928A959D +:1015D000E1F74AE06A89CE0108960E94E610BE0152 +:1015E000685F7F4FCE0101960E94B9106FE372E0F1 +:1015F000CE0101960E949611BC01D6018D919C915D +:101600000E94FA0ECE0101960E94E80FCE010896C4 +:101610000E94E80FF50182A9882309F445C0D6018C +:101620008D919C91DC01ED91FC91048CF58DE02D68 +:10163000E12CF12C07E010E024E130E04AE050E03A +:1016400061E470E019954AE050E061E470E0F60171 +:10165000808191810E94122C87E0F501DE011896AD +:1016600001900D928A95E1F74AE06C85CE018B9648 +:101670000E94E610BE01655D7F4FCE0101960E947B +:10168000B9106AE3CE0101960E94AF11BC01D601E8 +:101690008D919C910E94FA0ECE0101960E94E80F56 +:1016A000CE018B960E94E80FF50183A9882369F18A +:1016B000D6018D919C91DC01ED91FC91048CF58D0E +:1016C000E02DE12CF12C07E010E024E130E04AE0CD +:1016D00050E065E570E019954AE050E065E570E09E +:1016E000F601808191810E94122C87E0F501DE01D4 +:1016F000119601900D928A95E1F74AE050E06E81D3 +:10170000D6018D919C910E94D10FE8960FB6F89466 +:10171000DEBF0FBECDBFDF91CF911F910F91FF9024 +:10172000EF90DF90CF90BF90AF9008956AE072E0A5 +:1017300087E993E00E9456106FE072E08EE993E033 +:101740000E94561063E172E085EA93E00E94561011 +:1017500069E172E08CEA93E00E9456106EE172E05B +:1017600083EB93E00C945610CF93DF93CAEBD3E056 +:101770002797CE010E94E80F83E0C739D807C1F749 +:10178000DF91CF91089584E294E00E94BC0488ED3B +:1017900093E00E94100682EC93E00E94C80588ED59 +:1017A00093E00E94300661E08AE20E94280E61E028 +:1017B0008BE20C94280ECF93DF93CDB7DEB728973A +:1017C0000FB6F894DEBF0FBECDBF64E274E088EDC3 +:1017D00093E00E94E80984E294E00E94C40488ED4A +:1017E00093E00E94130762EC73E0CE0101960E9421 +:1017F0007905BE016F5F7F4F8AEB93E00E94C310B3 +:1018000088858093C103CE0101960E94E80F82EC87 +:1018100093E00E9425058823D1F06AEB73E0CE01A6 +:1018200001960E94B9108091C103888744E254E078 +:10183000BE016F5F7F4F88ED93E00E94E908CE0103 +:1018400001960E94E80F82EC93E00E943E052896E4 +:101850000FB6F894DEBF0FBECDBFDF91CF910895D4 +:101860006AE072E088E594E00E9456106FE072E052 +:101870008FE594E00E94561063E172E086E694E002 +:101880000E94561069E172E08DE694E00E945610C5 +:101890006EE172E084E794E00E94561040E050E070 +:1018A000BA0184E294E00E94283640E050E0BA0198 +:1018B0008BE294E00E94283680E2E2E3F4E0DF016C +:1018C0001D928A95E9F7E4E2F4E083E595E7AEE658 +:1018D000B0E086879787A08BB18B8DE49FE6AEE65C +:1018E000B0E0828B938BA48BB58B84E595E7A5E65E +:1018F000B0E0868B978BA08FB18F87E595E6A4E645 +:10190000B0E0828F938FA48FB58F84E598E6A5E72A +:10191000B0E0868F978FA0A3B1A386E492E7A9E6F3 +:10192000B0E082A393A3A4A3B5A383E591E6A4E7C3 +:10193000B0E086A397A3A0A7B1A720E34FE26EE291 +:1019400085EF93E00E94652C65EF73E088ED93E0EE +:101950000E9400064CE26DE288EC93E00E942B317D +:1019600068EC73E082EC93E00E94210560ED72E088 +:101970008AEB93E00C945610CF93DF938AEB93E0BD +:101980000E94E80F8AED93E00E945B15CBE7D4E05C +:101990002797CE010E94E80F84E0C835D807C1F729 +:1019A000DF91CF9108951F920F920FB60F921124DD +:1019B0002F933F938F939F93AF93BF9380917C041A +:1019C00090917D04A0917E04B0917F0430917B04BE +:1019D00023E0230F2D3720F40196A11DB11D05C072 +:1019E00026E8230F0296A11DB11D20937B0480934E +:1019F0007C0490937D04A0937E04B0937F04809137 +:101A0000800490918104A0918204B0918304019696 +:101A1000A11DB11D8093800490938104A093820442 +:101A2000B0938304BF91AF919F918F913F912F917C +:101A30000F900FBE0F901F9018952FB7F8946091DC +:101A40007C0470917D0480917E0490917F042FBF6F +:101A500008953FB7F8948091800490918104A091FB +:101A60008204B091830426B5A89B05C02F3F19F0CE +:101A70000196A11DB11D3FBFBA2FA92F982F88270E +:101A8000820F911DA11DB11DBC01CD0142E0660F69 +:101A9000771F881F991F4A95D1F70895CF92DF923B +:101AA000EF92FF92CF93DF936B017C010E94290D8F +:101AB000EB01C114D104E104F10479F00E94290D75 +:101AC0006C1B7D0B683E7340A0F381E0C81AD108FF +:101AD000E108F108C851DC4FECCFDF91CF91FF90C6 +:101AE000EF90DF90CF900895789484B5826084BDA4 +:101AF00084B5816084BD85B5826085BD85B5816012 +:101B000085BDEEE6F0E0808181608083E1E8F0E071 +:101B10001082808182608083808181608083E0E8A0 +:101B2000F0E0808181608083E1EBF0E0808184607F +:101B30008083E0EBF0E0808181608083E1E9F0E088 +:101B4000808182608083808181608083E0E9F0E031 +:101B5000808181608083E1EAF0E08081826080831F +:101B6000808181608083E0EAF0E080818160808311 +:101B7000E1E2F1E080818260808380818160808306 +:101B8000E0E2F1E0808181608083EAE7F0E080813B +:101B90008460808380818260808380818160808393 +:101BA0008081806880831092C100089590E0FC01DC +:101BB0003197E131F10508F04AC08827EE58FF4F10 +:101BC0008F4F0C94C63F809180008F7703C0809127 +:101BD00080008F7D80938000089584B58F7702C048 +:101BE00084B58F7D84BD08958091B0008F7703C048 +:101BF0008091B0008F7D8093B00008958091900017 +:101C00008F7707C0809190008F7D03C080919000F6 +:101C1000877F8093900008958091A0008F7707C000 +:101C20008091A0008F7D03C08091A000877F80936A +:101C3000A0000895809120018F7707C08091200136 +:101C40008F7D03C080912001877F809320010895BC +:101C5000CF93DF9390E0FC01E858FD4F2491FC0105 +:101C6000E254FD4F8491882361F190E0880F991F21 +:101C7000FC01E85CFC4FC591D491FC01E25EFC4F95 +:101C8000A591B491611109C09FB7F89488812095FE +:101C900082238883EC912E230BC0623061F49FB7BE +:101CA000F8943881822F809583238883EC912E2BA2 +:101CB0002C939FBF06C08FB7F894E8812E2B288302 +:101CC0008FBFDF91CF9108951F93CF93DF93282F7C +:101CD00030E0F901EE5CFD4F8491F901E858FD4FC9 +:101CE000D491F901E254FD4FC491CC23C9F0162FD1 +:101CF00081110E94D60DEC2FF0E0EE0FFF1FE25E87 +:101D0000FC4FA591B4918FB7F894111105C09C9127 +:101D1000ED2FE095E92302C0EC91ED2BEC938FBF02 +:101D2000DF91CF911F910895CF93DF93282F30E05B +:101D3000F901EE5CFD4F8491F901E858FD4FD49113 +:101D4000F901E254FD4FC491CC2391F081110E941E +:101D5000D60DEC2FF0E0EE0FFF1FEC5FFC4FA591CE +:101D6000B491EC91ED2381E090E021F480E002C099 +:101D700080E090E0DF91CF910895CF92DF92EF92D3 +:101D8000FF920F931F93CF93DF936C01EB017B01C5 +:101D9000E40EF51E00E010E0CE15DF0561F069915C +:101DA000D601ED91FC910190F081E02DC6011995CD +:101DB000080F191FF1CFC801DF91CF911F910F912B +:101DC000FF90EF90DF90CF9008956115710579F045 +:101DD000FB0101900020E9F73197AF01461B570B3B +:101DE000DC01ED91FC910280F381E02D199480E0FB +:101DF00090E00895AF92BF92CF92DF92EF92FF9260 +:101E00000F931F93CF93DF936C017B01C0E0D0E071 +:101E100000E010E0D70114968D919C911597C8179A +:101E2000D90788F4D601ED91FC91A080B180BE0164 +:101E3000C7010E94BD11682FC601F5011995080F51 +:101E4000191F2196E7CFC801DF91CF911F910F9104 +:101E5000FF90EF90DF90CF90BF90AF900895DC019E +:101E6000ED91FC910190F081E02D19940F931F9357 +:101E7000CF93DF93EC016DE00E942F0F8C016AE09D +:101E8000CE010E942F0F800F911FDF91CF911F91E4 +:101E90000F9108950F931F93CF93DF93EC010E944E +:101EA000FA0E8C01CE010E94360F800F911FDF9138 +:101EB000CF911F910F9108950F931F93CF93DF93AD +:101EC000EC010E94E50E8C01CE010E94360F800FBE +:101ED000911FDF91CF911F910F9108958F929F9243 +:101EE000AF92BF92CF92DF92EF92FF920F931F9328 +:101EF000CF93DF93CDB7DEB7A1970FB6F894DEBFCF +:101F00000FBECDBF6C01142FE52FCB01022F19A2FC +:101F1000223008F40AE07E0121E2E20EF11C802E5C +:101F2000912CA12CB12C612F7E2FA50194010E9430 +:101F3000853F029F1019112481E0E81AF1081A3038 +:101F400014F4105D01C0195CF7011083122FE32F08 +:101F5000CA01232B242B252B31F7B701C6010E9480 +:101F6000E50EA1960FB6F894DEBF0FBECDBFDF9190 +:101F7000CF911F910F91FF90EF90DF90CF90BF9086 +:101F8000AF909F908F9008952115310541F4DC01A9 +:101F9000ED91FC910190F081E02D642F19940C9447 +:101FA0006E0F0F931F93CF93DF93EC019A01462F8F +:101FB00050E060E070E00E94C40F8C01CE010E94EE +:101FC000360F800F911FDF91CF911F910F910895D0 +:101FD000FC01808191810C94FE38CF93DF93EC015A +:101FE00088819981009711F00E94FE381982188229 +:101FF0001D821C821B821A82DF91CF9108950F935C +:102000001F93CF93DF93EC018B016F5F7F4F88812C +:1020100099810E948037009731F0998388831B83D0 +:102020000A8381E001C080E0DF91CF911F910F9181 +:102030000895CF93DF93EC0188819981892B29F052 +:102040008A819B818617970760F4CE010E94FF0F5B +:10205000882341F08C819D81892B19F4E881F981D5 +:10206000108281E0DF91CF910895EF92FF920F935C +:102070001F93CF93DF93EC017B018A01BA010E9489 +:102080001910811104C0CE010E94ED0F07C01D83FD +:102090000C83B701888199810E943A3FCE01DF917C +:1020A000CF911F910F91FF90EF900895FC01118245 +:1020B00010821382128215821482168261157105B4 +:1020C00051F0FB0101900020E9F73197AF01461B69 +:1020D000570B0C94351008950F931F93CF93DF93F4 +:1020E0008C01EB01FC0180819181009799F0428184 +:1020F00053812C813D814217530750F068817981CB +:102100000E943A3F8C819D81F8019583848313C09E +:102110000E94FE3888819981F801918380838A81A9 +:102120009B81938382838C819D8195838483198293 +:1021300018821B821A821D821C82DF91CF911F910F +:102140000F910895CF93DF93EC01FB01861797075A +:1021500061F0608171816115710529F044815581BB +:102160000E94351002C00E94ED0FCE01DF91CF9189 +:102170000895FC011182108213821282158214824A +:1021800016820C94A210CF93DF93EC018617970769 +:1021900011F00E946C10CE01DF91CF910895CF9382 +:1021A000DF93EC016115710559F0FB0101900020EE +:1021B000E9F73197AF01461B570B0E94351002C05B +:1021C0000E94ED0FCE01DF91CF9108950F931F93E1 +:1021D000CF93DF93CDB7DEB729970FB6F894DEBF64 +:1021E0000FBECDBF8C01862FF801118210821382A1 +:1021F000128215821482168250E0BE016F5F7F4FFB +:1022000090E00E94503FBE016F5F7F4FC8010E9467 +:10221000CF1029960FB6F894DEBF0FBECDBFDF9169 +:10222000CF911F910F9108950F931F93CF93DF9339 +:10223000CDB7DEB761970FB6F894DEBF0FBECDBF46 +:102240008C01CB01F8011182108213821282158257 +:102250001482168250E0BE016F5F7F4F0E94503F94 +:10226000BE016F5F7F4FC8010E94CF1061960FB60D +:10227000F894DEBF0FBECDBFDF91CF911F910F91BC +:102280000895EF92FF920F931F93CF93DF93FC017A +:10229000248135816115710511F480E019C0411563 +:1022A0005105A9F07B01EC018A01020F131FB8014F +:1022B0000E941910882389F3288139818C819D819E +:1022C000B701820F931F0E943A3F1D830C8381E068 +:1022D000DF91CF911F910F91FF90EF900895CF93D1 +:1022E000DF931F921F92CDB7DEB769831A8241E058 +:1022F00050E0BE016F5F7F4F0E9441110F900F9021 +:10230000DF91CF910895CF93DF93EC01FB014481DE +:102310005581608171810E944111811103C0CE01FC +:102320000E94ED0FCE01DF91CF910895CF93DF93FF +:10233000EC016115710561F0FB0101900020E9F7E6 +:102340003197AF01461B570B0E944111811103C009 +:10235000CE010E94ED0FCE01DF91CF910895CF9372 +:10236000DF93EC010E946F11811103C0CE010E9426 +:10237000ED0FCE01DF91CF910895FC0124813581CD +:102380006217730748F480819181009729F0FC015E +:10239000E60FF71F8081089580E008950E94740D74 +:1023A0000E94C30BC9E1DBE30E94DB0B2097E1F342 +:1023B0000E94193BF9CF08951F93CF93DF93CDB7B8 +:1023C000DEB76D970FB6F894DEBF0FBECDBFAB0181 +:1023D0001C821B8227EE32E03A8329831E8221E091 +:1023E000BC01CE0101960E94461A182F882321F0C5 +:1023F000CE0101960E941219812F6D960FB6F894A6 +:10240000DEBF0FBECDBFDF91CF911F9108950F9317 +:102410001F93CF93DF93DA01EB0128813981FC010F +:10242000E20FF31F40814F3211F42F5F3F4F8D01B8 +:10243000E0E0F0E0AC01420F531FEA0158815F3247 +:1024400059F0552349F031962F5F3F4FE8015993DA +:102450008E01EC30F10571F7EA0FFB1F1082FC01D1 +:10246000E20FF31F40814F3211F42F5F3F4FFB010A +:1024700031832083FC01E20FF31F81E090819111F1 +:1024800001C080E0DF91CF911F910F9108954F928D +:102490005F926F927F928F929F92AF92BF92CF92F4 +:1024A000DF92EF92FF920F931F93CF93DF93CDB7FD +:1024B000DEB7C954D1090FB6F894DEBF0FBECDBF49 +:1024C0005C016B013A01490119A218A287EE92E062 +:1024D0009F8F8E8F1BA21C821B829A8389831E82F0 +:1024E0002A961FAE1EAE2A978B017E018EE1E80E62 +:1024F000F11C44244394AE01455C5F4FBE01685B10 +:102500007F4FC5010E940712582E482F4425940181 +:10251000BE01655C7F4FC801F3011995811108C0A8 +:102520000C151D0519F0C8010E94121980E027C082 +:102530005520B9F021E0AE01455C5F4FB801C701FD +:102540000E94461A582E0C151D0599F0C8010E94CC +:102550001219552059F3902F812F8701E92EF82E5B +:10256000CACF0C151D0519F0C8010E94121981E08F +:1025700006C08823D9F28E010F5F1F4FECCFC75BD7 +:10258000DF4F0FB6F894DEBF0FBECDBFDF91CF9106 +:102590001F910F91FF90EF90DF90CF90BF90AF9081 +:1025A0009F908F907F906F905F904F9008950F93C2 +:1025B0001F93CF93DF93EC01462F61E00E94BA1D79 +:1025C000882391F08E01045F1F4F41E0BE01C801D6 +:1025D0000E947023882351F0B801CE018A960E9490 +:1025E000961691E081110AC090E008C040E0BE015B +:1025F000C8010E9470238823B9F3EECF892FDF91A1 +:10260000CF911F910F910895FC01DB0112968D91DE +:102610009C9113979383828387EE92E091838083CA +:1026200014968C911497848315968C9115978583B5 +:1026300016964D915D916D917C91199746835783C4 +:10264000608771871A964D915D916D917C911D9770 +:1026500042875387648775871E964D915D916D9172 +:102660007C91519746875787608B718B52968C91DE +:102670005297828B53964D915D916D917C915697B7 +:10268000438B548B658B768B57964D915D916D91F5 +:102690007C915A97478B508F618F728F5B968D918B +:1026A0009C915C97948F838F08954F925F926F9265 +:1026B0007F928F929F92AF92BF92CF92DF92EF92D2 +:1026C000FF920F931F93CF93DF93CDB7DEB7C7541D +:1026D000D1090FB6F894DEBF0FBECDBF6C015A0111 +:1026E0004901665D7F4F7E018EE1E80EF11CC70156 +:1026F0000E9404131C821B8287EE92E09A838983D6 +:102700001E828501FE0131963F0127016FE270E0D4 +:10271000C8010E942F3F0097D9F1F80120812F3284 +:1027200019F40F5F1F4FF2CF801B8D3008F08CE043 +:10273000E82EF12CA701B801CE01CB960E94413FB3 +:10274000EBE3F0E0EC0FFD1FEE0DFF1D1082C30167 +:102750000E94121921E0AE01455C5F4FB201C30136 +:102760000E94461A811109C0F6011382128287EE77 +:1027700092E091838083158214C00E0D1F1DC2014B +:102780000E941219942D852D2301692E782EBECF1B +:102790000A191B09F40111830083B201C6010E94CA +:1027A0000413C601C95BDF4F0FB6F894DEBF0FBE3E +:1027B000CDBFDF91CF911F910F91FF90EF90DF90F0 +:1027C000CF90BF90AF909F908F907F906F905F90D1 +:1027D0004F900895CF92DF92FF920F931F93CF9364 +:1027E000DF93CDB7DEB7C955D1090FB6F894DEBF78 +:1027F0000FBECDBF6C018A01F22E9E01285A3F4FB9 +:10280000CE01CB960E9455136A968EAD9FAD6A9706 +:10281000080F191FF801808181110AC0BE01655C93 +:102820007F4FCE0101960E94041341ED52E03EC05D +:1028300019A218A287EE92E09F8F8E8F1BA221967D +:102840008FAD2197811104C0C6010E94481534C084 +:1028500082502F2DA801823048F46EEA74E0CE0138 +:102860004E960E94461A81110EC0EECFBE01655CE5 +:102870007F4FCE014E960E94461A882329F3CE013F +:10288000CB960E9412199F2D967041F049A95AA922 +:102890006BA97CA9CE014E960E943518BE01625EDE +:1028A0007F4FCE0101960E940413A801BE016F5F05 +:1028B0007F4FC6010E941315C601C75ADF4F0FB6DE +:1028C000F894DEBF0FBECDBFDF91CF911F910F9166 +:1028D000FF90DF90CF900895FB01BC01665D7F4FB4 +:1028E00020E030E04CED51E1CF010C944712E4E8D8 +:1028F000F4E0158216821186138682E090E0A0E053 +:10290000B0E084879587A687B78713A215A614A67B +:1029100087EE92E093A782A717A60895CF93DF933F +:102920001F92CDB7DEB76983DC01ED91FC91028087 +:10293000F381E02D41E050E0BE016F5F7F4F1995BC +:102940000F90DF91CF910895CF93DF93EC01898DA4 +:102950009A8D009739F481E090E09B838A8380E030 +:1029600090E00BC0FC01138212820E94341BE98D9F +:10297000FA8D22813381232B71F7DF91CF91089556 +:10298000FC01818D928D009711F00C94CB18089565 +:10299000CF93DF931F92CDB7DEB741E050E0BE0189 +:1029A0006F5F7F4F0E94E716019719F4898190E0CD +:1029B00002C08FEF9FEF0F90DF91CF910895FC0140 +:1029C000818D928D009711F00C94C8148FEF9FEFBA +:1029D00008950F931F93CF93DF93FC01818D928D08 +:1029E0000097B9F0EF010E94C8148C010F3F8FEFE0 +:1029F000180791F0898D9A8DFC0142855385648575 +:102A0000758541505109610971090E943518C80145 +:102A100005C080E090E002C08FEF9FEFDF91CF9183 +:102A20001F910F910895EF92FF920F931F93CF93F1 +:102A3000DF93EC017B018A011B821A8288EE93E00E +:102A4000A0E0B0E08C839D83AE83BF8387ED92E0EE +:102A5000998388838DE190E00E9469389A8F898FED +:102A6000009779F02DE1F701DC0101900D922A9594 +:102A7000E1F74CE050E0B801CE010C960E94413FD6 +:102A8000188EDF91CF911F910F91FF90EF900895D5 +:102A9000FC011382128288EE93E0A0E0B0E0848310 +:102AA0009583A683B78387ED92E091838083128E0E +:102AB000118E148608950895DC015996ED91FC91CC +:102AC0005A97309729F06285738584859585089596 +:102AD0006FEF7FEFCB010895DC015996ED91FC91EA +:102AE0005A97309729F06389748985899689089562 +:102AF00060E070E0CB010895CF92DF92EF92FF92F9 +:102B0000CF93DF93FC01218D328D232BD9F0EC0183 +:102B10000E946C156B017C01CE010E945C15A7011F +:102B20009601261B370B480B590BDA01C901811599 +:102B300030E89307A105B10538F08FEF9FE7A0E0DB +:102B4000B0E002C080E090E0DF91CF91FF90EF9085 +:102B5000DF90CF900895CF93DF93EC01898D9A8D0C +:102B6000009741F00E941219898D9A8D0E94FE38BB +:102B70001A8E198EDF91CF910895CF93DF93EC01D8 +:102B80009C012A5F3F4F41E050E060E070E08B8D98 +:102B90009C8D0E9405228823A1F08F89988DA98D94 +:102BA000BA8D892B8A2B8B2B59F48E819F81A88516 +:102BB000B9858F8B988FA98FBA8F8C8180688C8311 +:102BC00081E0DF91CF910895CF92DF92EF92FF9253 +:102BD0001F93CF93DF93EC010E94BD15811102C0BA +:102BE00080E04AC0EB8DFC8DCE80DF80E884F984E4 +:102BF00082E0C81AD108E108F108058404C0CC0CB1 +:102C0000DD1CEE1CFF1C0A94D2F786859785A089EF +:102C1000B189C80ED91EEA1EFB1E148181E0C81AB4 +:102C2000D108E108F108112361F0C701B601610F75 +:102C3000711D811D911D0E945420882389F211501D +:102C4000F2CFEB8DFC8D80E092E0A0E0B0E0058457 +:102C500004C0880F991FAA1FBB1F0A94D2F74B8983 +:102C60005C896D897E89840F951FA61FB71F8B8B8A +:102C70009C8BAD8BBE8B81E0DF91CF911F91FF903C +:102C8000EF90DF90CF900895CF93DF93EC01462F24 +:102C90006E857F85888999890E941920882341F053 +:102CA0008A8920E2829FC00111248A529B4F02C070 +:102CB00080E090E0DF91CF910895FB019B01255FBB +:102CC0003F4F40E24193E217F307E1F7DC0190E068 +:102CD00027E08D91882319F18E3219F0E2E5F3E0B7 +:102CE00008C02A3009F198E02AE0F3CF319638176E +:102CF000D9F034913111FACF2917B0F03FED380FE8 +:102D00003E3590F431E0390FFB01E90FF11D9FE9E9 +:102D1000980F9A3108F480528083932FDACF81E0A4 +:102D2000FB019081903209F480E008950F931F9386 +:102D3000CF93DF93FC012581222311F080E042C074 +:102D40008B01EC01FB0187898031B1F482E08D8336 +:102D50001F8A188E198E1A8E808D918DA0E0B0E09A +:102D600025E0880F991FAA1FBB1F2A95D1F78B8BCF +:102D70009C8BAD8BBE8B15C0803201F783E08D83B9 +:102D8000FB01428D538D648D758D4F8B588F698FEC +:102D90007A8F9E012D5E3F4FC8010E94FC20882340 +:102DA00069F21C8F0B8F81E08C831E821F82188634 +:102DB00019861A861B861C861D861E861F86188A03 +:102DC000198A1A8ADF91CF911F910F9108952F923E +:102DD0003F924F925F926F927F928F929F92AF92AB +:102DE000BF92CF92DF92EF92FF920F931F93CF93F8 +:102DF000DF93EC015B014A018D81811103C08FEFEC +:102E00009FEFD7C08C8180FFFACF4B885C886D889C +:102E10007E884A855B856C857D85C401A0E0B0E035 +:102E200093018201041B150B260B370B081719079A +:102E30002A073B0718F44201841A950A24011E014F +:102E400026E0220E311C4114510409F47EC04A854B +:102E50005B856C857D856A0181E0D822ED818A01E0 +:102E60009B0189E036952795179507958A95D1F7A7 +:102E70008B8D9C8DE23061F4FC01828D938DA48D4D +:102E8000B58DBC01CD01600F711F821F931F3FC024 +:102E9000FC0174807A947022C114D104C9F47110B9 +:102EA00017C0452B462B472B49F48F89988DA98D48 +:102EB000BA8D8E839F83A887B9870AC04E815F81B0 +:102EC0006885798591010E947820882309F497CF3D +:102ED000EB8DFC8D8E819F81A885B9850297A10914 +:102EE000B109058404C0880F991FAA1FBB1F0A944B +:102EF000D2F74685578560897189840F951FA61F73 +:102F0000B71FBC01CD01670D711D811D911D20E012 +:102F100032E02C193D0932012415350508F4390138 +:102F20002C8126FD04C06114F2E07F0679F5009142 +:102F300000021091010220910202309103026017F9 +:102F400071078207930719F421C0C40132C07501CB +:102F500083019601AB01BC018091D4049091D5040A +:102F60000E943C1F882309F44ACFA60CB71C8A850F +:102F70009B85AC85BD85860D971DA11DB11D8A87DA +:102F80009B87AC87BD87461857085DCF40E00E94FD +:102F90001920882309F433CFF601EA52FB4FD501FB +:102FA000CF01860D971DE817F907F9F221912D93AE +:102FB000FACFDF91CF911F910F91FF90EF90DF90AB +:102FC000CF90BF90AF909F908F907F906F905F90C9 +:102FD0004F903F902F900895FF920F931F93CF93A0 +:102FE000DF931F92CDB7DEB7FC012581223018F4A4 +:102FF00080E090E033C08C01FC01428553856485FC +:10300000758585E076956795579547958A95D1F7AB +:10301000F42FFF70FF2E41E050E0BE016F5F7F4F45 +:10302000C8010E94E716019719F4898190E002C057 +:103030008FEF9FEF0196E1F2F80182859385A485D9 +:10304000B5854F96A11DB11D82879387A487B5874B +:10305000F0E2FF9EC00111248A529B4F0F90DF9136 +:10306000CF911F910F91FF9008958F929F92AF92F1 +:10307000BF92CF92DF92EF92FF920F931F93CF9365 +:10308000DF93EC018D81811102C080E077C00B8954 +:103090001C892D893E890417150726073707A8F3D1 +:1030A0006A017B01823029F4CA86DB86EC86FD86C4 +:1030B0000DC0C114D104E104F10451F41E821F8239 +:1030C000188619861A861B861C861D8681E056C0C6 +:1030D0008A849B84AC84BD84EB8DFC8D258530E097 +:1030E000275F3F4FB501A4014150510961097109A2 +:1030F000022E04C076956795579547950A94D2F7A6 +:10310000D701C6010197A109B10904C0B695A795D9 +:10311000979587952A95D2F784179507A607B7073D +:1031200020F089288A288B2849F44F89588D698D89 +:103130007A8D4E835F836887798704C0841B950BE3 +:10314000A60BB70B4C015D018E010A5F1F4F811466 +:103150009104A104B10409F4A7CF4E815F81688571 +:10316000798598018B8D9C8D0E94782091E0891A39 +:103170009108A108B1088111EACF87CFDF91CF91E3 +:103180001F910F91FF90EF90DF90CF90BF90AF9085 +:103190009F908F9008950F931F93CF93DF93EC012F +:1031A0008D818823C9F18C8187FF30C061E0CE0119 +:1031B0000E9444168C01892B79F18D81823048F46C +:1031C0008B899C89AD89BE89F801848F958FA68FE4 +:1031D000B78F8F89988DA98DBA8DF801938F828FC3 +:1031E000B58BA48BE091CD04F091CE04309759F0CB +:1031F000B8016A5E7F4FC80148961995F801808D25 +:10320000918D938B828B8C818F778C83DF91CF9183 +:103210001F910F910C94DE1F80E0DF91CF911F91E1 +:103220000F910895CF93DF93EC010E94CB18882370 +:1032300011F01D8281E0DF91CF9108954F925F924E +:103240006F927F928F929F92AF92BF92EF92FF9276 +:103250000F931F93CF93DF9300D01F92CDB7DEB7AC +:10326000FC0185818130E9F4848181FF1AC0838962 +:103270009489A589B68984179507A607B70788F0AA +:10328000892B8A2B8B2B09F479C04A015B017F01C2 +:103290004284538464847584CF010E94351881115F +:1032A00002C080E06CC0F701838D948D811491047D +:1032B000A104B10471F44789508D618D728D0E9413 +:1032C0001A23882371F3F701178A108E118E128E3C +:1032D0003AC0F70146815781608571859E012F5F55 +:1032E0003F4F0E9478208823E1F249815A816B8107 +:1032F0007C81F701838D948DFC012789203129F091 +:1033000008EF1FEF2FEF3FE004C008EF1FEF20E0B2 +:1033100030E04017510762077307A8F40E941A2390 +:10332000882309F4BECFF7014681578160857185F6 +:103330000FEF1FEF2FEF3FE0838D948D0E946521EB +:10334000882309F4AECFF701838A948AA58AB68AC6 +:10335000848180688483C7010E94CB18882309F484 +:10336000A0CFB501A401481459046A047B0410F4E9 +:10337000B301A201C7010E94351801C081E00F907E +:103380000F900F900F90DF91CF911F910F91FF90B1 +:10339000EF90BF90AF909F908F907F906F905F90D5 +:1033A0004F9008951F93CF93DF93EC0180E2689FC5 +:1033B000F00111249F012A523B4FD9011B969C9189 +:1033C000917129F0842F827411F080E05BC0142F7A +:1033D0006A8B8091000290910102A0910202B0914B +:1033E00003028E879F87A88BB98BEA52FB4F4489D3 +:1033F000558960E070E0BA01552744274F8B588FFC +:10340000698F7A8F828D938DA0E0B0E0482B592B85 +:103410006A2B7B2B4F8B588F698F7A8FD9011B9624 +:103420008C91887151F4848D958DA68DB78D8B8B81 +:103430009C8BAD8BBE8B81E00DC0803131F69E013F +:103440002D5E3F4F8B8D9C8D0E94FC20882309F4BC +:10345000BCCF84E08D83812F8F708C831E821F826E +:10346000188619861A861B861C861D8616FF09C0BB +:1034700040E050E0BA01CE01DF91CF911F910C9452 +:103480001E1981E0DF91CF911F910895CF92DF92B5 +:10349000EF92FF920F931F93CF93DF93CDB7DEB7D9 +:1034A0002C970FB6F894DEBF0FBECDBFFC0135815F +:1034B0003111C2C0D22E8B017C01BE016F5F7F4FE4 +:1034C000CA010E945D16882309F4B6C0F801838DF5 +:1034D000948DF701948F838FF801168217821086DE +:1034E0001186128613861486158630E0F8018285CF +:1034F0009385A485B5854389548965897689841720 +:103500009507A607B70708F041C025E0B695A7952F +:10351000979587952A95D1F7F82FFF70CF2EC80180 +:103520003C870E94EC173C85009709F485C0FC019C +:103530002081222309F484C0253E99F04BE050E01D +:10354000BC01CE0101963C870E94193F3C85892B26 +:1035500069F68D2D8073803309F46EC04D2D6C2D6E +:1035600067C031116BC0F701C28A409100025091CF +:103570000102609102027091030246875787608BB7 +:10358000718BFC01808131E08111B0CF8D2D827172 +:10359000823109F051C0332341F061E0C7010E943C +:1035A00044168C01892B79F447C0F801858182305B +:1035B00009F442C0C8010E94E4158823E9F1F7012B +:1035C000128A06ED14E080E2F80111928A95E9F77B +:1035D0008BE0FE013196D80101900D928A95E1F7BA +:1035E000E091CD04F091CE04309739F0B801625FDC +:1035F0007F4FC8014096199509C081E298E2F80111 +:10360000918B808B80E098E097878687F80180898E +:103610009189938B828B918F808F86859785978BED +:10362000868B0E94DE1F882339F04D2DF7016289B9 +:10363000C7010E94D21909C080E007C031E056CF0F +:10364000332309F490CF31E0A1CF2C960FB6F89434 +:10365000DEBF0FBECDBFDF91CF911F910F91FF90C5 +:10366000EF90DF90CF9008952F923F924F925F920C +:103670006F927F928F929F92AF92BF92CF92DF9282 +:10368000EF92FF920F931F93CF93DF9300D01F927F +:10369000CDB7DEB78C016B013A01DC0115968C9138 +:1036A00015978130C9F414968C9181FF15C082FF63 +:1036B0001DC0F8014389548965897689828593857F +:1036C000A485B58584179507A607B70779F0C801C3 +:1036D0000E94351881110AC081E090E0D80113964C +:1036E0009C938E93129780E090E048C1430184C080 +:1036F000D8015B968D919C915C97FC0154802FEFD3 +:10370000250D1A012B0139E05694479437942794DC +:103710003A95D1F7522E52207A01F1E0FF2255203E +:1037200009F476C080E092E08E199F095401881553 +:10373000990508F45C01D8015B962D913C915C974A +:1037400016968D919D910D90BC91A02D0297A10987 +:10375000B109F901058404C0880F991FAA1FBB1F76 +:103760000A94D2F74685578560897189840F951F21 +:10377000A61FB71F9C01AD01250D311D411D511D17 +:1037800019012A01A11432E0B30609F088C0809122 +:10379000000290910102A0910202B09103028215F1 +:1037A0009305A405B50559F48FEF9FEFDC018093D5 +:1037B000000290930102A0930202B09303029601CB +:1037C000B201A1018091D4049091D5040E94901F70 +:1037D000882309F481CF9EEFD91A8A189B08F80133 +:1037E00082859385A485B5858A0D9B1DA11DB11D7C +:1037F00082879387A487B587D8011A964D915D91EA +:103800006D917C911D978114910409F071CF87C04F +:10381000E114F10409F086CF16964D915D916D91FA +:103820007C911997411551056105710559F4579619 +:103830008D919D910D90BC91A02D0097A105B10592 +:1038400041F521C09E012F5F3F4F0E9478208823C1 +:1038500009F44ACF89819A81AB81BC81F801238D1B +:10386000348DF9012789203129F048EF5FEF6FEFA0 +:103870007FE004C048EF5FEF60E070E084179507D9 +:10388000A607B70730F0C8010E94BD1581114ACFC5 +:1038900023CFF80186839783A087B18743CFE114B4 +:1038A000F10429F5D8011A964D915D916D917C91A5 +:1038B0001D9753968D919D910D90BC91A02D481709 +:1038C00059076A077B0798F00E94DE1F882309F4D6 +:1038D00003CF2092000230920102409202025092E5 +:1038E00003028091D30481608093D30408C041E037 +:1038F000C201B1010E941920882309F4EDCED6013E +:10390000F701EA52FB4FCF018A0D9B1DE817F9071B +:1039100019F02D912193FACFCA0CDB1C5ECF539680 +:10392000CD90DD90ED90FC90569714968C91C41636 +:10393000D506E606F70640F4F801438B548B658BF9 +:10394000768B806884830DC02091CD043091CE04A5 +:10395000232B39F06114710421F08068D80114968A +:103960008C93F801848183FD02C0C30107C0C801A4 +:103970000E94CB18882309F4AFCEF7CF0F900F9099 +:103980000F900F90DF91CF911F910F91FF90EF90CB +:10399000DF90CF90BF90AF909F908F907F906F906F +:1039A0005F904F903F902F900895CF93DF931F9299 +:1039B000CDB7DEB7698341E050E0BE016F5F7F4F56 +:1039C0000E94341B0F90DF91CF9108958EBD0DB4EE +:1039D00007FEFDCF08958FEF0E94E61C8EB5089577 +:1039E00061E0FC0184810C94640E60E0FC01848140 +:1039F0000C94640ECF93DF93FC0186818823D1F071 +:103A00008FEF8EBD4FEF878190859C012F5F3F4FD9 +:103A1000308727838130924028F40DB407FEFDCF14 +:103A20004EBDF1CF0DB407FEFDCFEF01CF010E94D7 +:103A3000F01C1E82DF91CF910895673028F026E1B7 +:103A4000FC01258380E008958DB560FD02C06630DD +:103A500011F48E7F01C081608DBD8CB58C7F8CBDD3 +:103A60009CB562FD02C080E001C082E06695617095 +:103A7000692B862B8CBD81E008950F931F93CF9304 +:103A8000DF93EB010E941D0D8B010E94EB1C8F3F09 +:103A900049F00E941D0D601B710B6C177D07A8F388 +:103AA00080E001C081E0DF91CF911F910F910895D7 +:103AB000CF92DF92FF920F931F93CF93DF9300D0AB +:103AC0001F92CDB7DEB76C01F62E29833A834B8364 +:103AD0005C830E94FA1CC6010E94F51C6CE271E036 +:103AE000C6010E943D1D8F2D80640E94E61C08E1E6 +:103AF00010E05C814B813A812981DA01C901002EF5 +:103B000004C0B695A795979587950A94D2F729830F +:103B10003A834B835C830E94E61C0850110929817B +:103B20003A814B815C81083F8FEF180731F7FF2006 +:103B300029F0E8E0FE1204C087E803C085E901C06F +:103B40008FEF0E94E61C10E00E94EB1CF6018287BA +:103B500087FF04C01F3F11F01F5FF6CF0F900F903B +:103B60000F900F90DF91CF911F910F91FF90DF90F9 +:103B7000CF9008958F929F92AF92BF92EF92FF9253 +:103B80000F931F93CF93DF93EC01E62E1B861986CC +:103B90001E821D824C830E941D0D8B0161E08C8171 +:103BA0000E94280ECE010E94F01C60E082E30E9479 +:103BB000280E61E083E30E94280E61E084E30E9406 +:103BC000280E61E085E30E94280E61E085E30E94F3 +:103BD000640E83E58CBD8DB58E7F8DBD2AE0F22EFF +:103BE0008FEF0E94E61CFA94F110FACFCE010E94EA +:103BF000F51C20E030E0A90160E0CE010E94581DD4 +:103C0000F82E8A8781E0F81649F00E941D0D601B8E +:103C1000710B613D774068F381E04CC02AEA31E0E6 +:103C200040E050E068E0CE010E94581D82FF02C0D3 +:103C3000FB860EC094E0F92E0E94EB1C8A87FA9452 +:103C4000F110FACF8A3A11F082E034C082E08B871B +:103C50008B85823021F0812C912C540105C0812C60 +:103C6000912CA12C80E4B82E20E030E0A90167E37C +:103C7000CE010E94581DA501940169E2CE010E9467 +:103C8000581D8A87882349F00E941D0D601B710B07 +:103C9000613D774048F388E00DC08B85823039F56F +:103CA00020E030E0A9016AE3CE010E94581D88237C +:103CB00089F086E08D83CE010E94F01C80E0DF91C8 +:103CC000CF911F910F91FF90EF90BF90AF909F9079 +:103CD0008F9008950E94EB1C807C803C11F483E05F +:103CE0008B870E94EB1C0E94EB1C0E94EB1CCE01F8 +:103CF0000E94F01C6E2DCE01DF91CF911F910F918C +:103D0000FF90EF90BF90AF909F908F900C941D1DEF +:103D10000F931F93CF93DF93EC010E941D0D8B0136 +:103D20000E94EB1C8A878F3F49F40E941D0D601B87 +:103D3000710B6D327140A0F38FE003C08E3F39F0FC +:103D40008DE08D83CE010E94F01C80E001C081E0F7 +:103D5000DF91CF911F910F910895CF92DF92EF9253 +:103D6000FF920F931F93CF93DF93EC016901C8017A +:103D7000820F931F8130924008F06FC08E8188239C +:103D800071F088819981AA81BB81481759076A0718 +:103D90007B0729F48F819885C816D90618F54883C2 +:103DA00059836A837B838B85833039F089E0440FA4 +:103DB000551F661F771F8A95D1F79A01AB0161E104 +:103DC000CE010E94581D882319F083E08D8345C0E1 +:103DD000CE010E94881E882309F43FC018861F82E6 +:103DE00081E08E838FEF8EBD2FEF8F8198858C15AC +:103DF0009D0550F40DB407FEFDCF2EBD8F81988533 +:103E0000019698878F83F1CFC8010197F7014FEF93 +:103E10009F012E193F092817390738F40DB407FE02 +:103E2000FDCF2EB521934EBDF3CF0DB407FEFDCFD0 +:103E30002EB5F701E80FF91F20838F819885080FB1 +:103E4000191F18870F838985882319F001151240DF +:103E500048F0CE010E94FA1C05C0CE010E94F01C61 +:103E600080E001C081E0DF91CF911F910F91FF9021 +:103E7000EF90DF90CF900895EF92FF920F931F93F2 +:103E80000115110519F00E94AD1E01C081E01F91BE +:103E90000F91FF90EF900895EF92FF920F931F9371 +:103EA000790100E012E020E030E00E94AD1E1F9199 +:103EB0000F91FF90EF900895CF93DF93EC016EBDCB +:103EC00020E030E00DB407FEFDCFFA01E20FF31F52 +:103ED00080818EBD0DB407FEFDCF81818EBD2E5F2A +:103EE0003F4F211582E0380769F70DB407FEFDCF7B +:103EF0008FEF0E94E61C8FEF0E94E61C0E94EB1CD5 +:103F00008A87982F9F71953039F081E18D83CE019A +:103F10000E94F01C80E001C081E0DF91CF91089504 +:103F20000F931F93CF93DF93EC0189014115510546 +:103F30006105710511F482E132C08B85833039F05F +:103F400089E0440F551F661F771F8A95D1F79A01A4 +:103F5000AB0168E1CE010E94581D882311F084E076 +:103F60001EC0A8016EEFCE010E945C1F8823C1F025 +:103F700068E572E0CE010E943D1D811102C085E11D +:103F80000EC020E030E0A9016DE0CE010E94581D76 +:103F9000811104C00E94EB1C882339F084E18D83D9 +:103FA000CE010E94F01C80E004C0CE010E94F01CF3 +:103FB00081E0DF91CF911F910F9108958091D304FB +:103FC0008823A9F140910002509101026091020200 +:103FD0007091030226ED34E08091D4049091D504D1 +:103FE0000E94901F811102C080E008954091CF048B +:103FF0005091D0046091D1047091D20441155105C3 +:104000006105710591F026ED34E08091D404909122 +:10401000D5040E94901F882339F31092CF04109288 +:10402000D0041092D1041092D2041092D30481E0F3 +:104030000895CF92DF92EF92FF92CF936B017C01B4 +:10404000C42F8091000290910102A0910202B091D0 +:1040500003028C159D05AE05BF05D1F00E94DE1F41 +:10406000811102C080E01AC026ED34E0B701A6013C +:104070008091D4049091D5040E944C1F882391F321 +:10408000C0920002D0920102E0920202F09203027A +:104090008091D304C82BC093D30481E0CF91FF90CB +:1040A000EF90DF90CF900895CF92DF92EF92FF9242 +:1040B0006B017C010E94DE1F8823A9F0E6EDF4E08D +:1040C000119286E0E63DF807D9F7C0920002D0923F +:1040D0000102E0920202F09203028091D304816017 +:1040E0008093D30481E0FF90EF90DF90CF9008950C +:1040F0008F929F92AF92BF92CF92DF92EF92FF92F8 +:104100000F931F93CF93DF93FC0181859285A38545 +:10411000B4850196A11DB11D84179507A607B707A1 +:1041200010F480E05CC083899489A589B689C78929 +:10413000C03129F4852E962EA72EBB2409C04A0132 +:104140005B01C7E0B694A79497948794CA95D1F77A +:10415000E9016A017B018F01BC01CD01680D791D68 +:104160008A1D9B1D8090000290900102A090020287 +:10417000B0900302681579058A059B0599F4F8014A +:1041800087898031A9F4B701A601552766277727CB +:10419000440F551FFA01EA52FB4F80819181A0E044 +:1041A000B0E018C040E00E9419208111E8CFB9CFDB +:1041B000B701A6014F77552766277727440F551F6C +:1041C000440F551FFA01EA52FB4F80819181A28171 +:1041D000B381BF7088839983AA83BB8381E0DF9119 +:1041E000CF911F910F91FF90EF90DF90CF90BF90F4 +:1041F000AF909F908F9008954F925F926F927F92B1 +:10420000AF92BF92CF92DF92EF92FF920F931F93E4 +:10421000CF93DF9300D01F92CDB7DEB78C014983D7 +:104220005A836B837C835901C12CD12C7601412C9C +:1042300082E0582E612C712C49815A816B817C81DE +:104240009E012F5F3F4FC8010E947820882351F1C3 +:10425000D301C201F801058404C0880F991FAA1F69 +:10426000BB1F0A94D2F7C80ED91EEA1EFB1E498155 +:104270005A816B817C818789803129F088EF9FEF9B +:10428000AFEFBFE004C088EF9FEFA0E0B0E04817B9 +:1042900059076A077B0780F2F501C082D182E2826A +:1042A000F38281E00F900F900F900F90DF91CF91EC +:1042B0001F910F91FF90EF90DF90CF90BF90AF9044 +:1042C0007F906F905F904F9008954F925F926F92A2 +:1042D0007F928F929F92AF92BF92CF92DF92EF9296 +:1042E000FF920F931F93CF93DF93EC016A017B0141 +:1042F00028013901423051056105710510F480E053 +:1043000073C089859A85AB85BC850196A11DB11DB9 +:1043100084179507A607B70790F38B889C88AD880C +:10432000BE888F89803129F4BB27AF2D9E2D8D2D1E +:1043300009C0DB01CA0147E0B695A7959795879517 +:104340004A95D1F7880E991EAA1EBB1E80910002C5 +:1043500090910102A0910202B09103028816990681 +:10436000AA06BB0679F48F898031A1F4DD24EE24FE +:10437000FF24C601880F991FFC01EA52FB4F5182AE +:10438000408219C040E0C501B4010E94192081118A +:10439000EACFB5CFE894C7F8DD24EE24FF24C601A8 +:1043A000880F991F880F991FFC01EA52FB4F40822A +:1043B0005182628273828091D30481608093D3049E +:1043C0008A89823080F08D819E81AF81B885880E88 +:1043D000991EAA1EBB1E8092CF049092D004A09278 +:1043E000D104B092D20481E0DF91CF911F910F915F +:1043F000FF90EF90DF90CF90BF90AF909F908F9005 +:104400007F906F905F904F9008952F923F924F92C0 +:104410005F926F927F929F92AF92BF92CF92DF9204 +:10442000EF92FF920F931F93CF93DF93CDB7DEB739 +:1044300060970FB6F894DEBF0FBECDBF5C01498711 +:104440005A876B877C871901D901CD90DD90ED905B +:10445000FC90C114D104E104F10431F0BFEFCB1A98 +:10446000DB0AEB0AFB0A10C0FC01C080D180E280AD +:10447000F3809924939409851A852B853C85013016 +:1044800011052105310509F0912CF50181859285F1 +:10449000A385B4858C019D010F5F1F4F2F4F3F4FA8 +:1044A0000D871E872F87388B260137011D821E82BC +:1044B0001F821886F50181859285A385B4850D81BB +:1044C0001E812F813885081719072A073B0708F036 +:1044D00056C02D853E854F855889241535054605DE +:1044E000570550F482E0482E512C612C712C92E03B +:1044F000C92ED12CE12CF12C9E012F5F3F4FB3012F +:10450000A201C5010E9478208823C9F149815A81FE +:104510006B817C81D301C2010196A11DB11D452B88 +:10452000462B472B19F06C017D010FC0AC01BD017A +:104530004C195D096E097F0909851A852B853C8513 +:10454000401751076207730779F02D813E814F8133 +:1045500058852F5F3F4F4F4F5F4F2D833E834F83D3 +:1045600058872C013D01A6CF0FEF1FEF2FEF3FE043 +:10457000B301A201C5010E946521811118C080E02C +:1045800041C0D301C2010197A109B1098D839E8366 +:10459000AF83B88793018201AC01BD01C5010E94C0 +:1045A0006521882361F34D805E806F807884C41418 +:1045B000D504E604F70428F3D1014D915D916D9186 +:1045C0007C91411551056105710599F4F101C08295 +:1045D000D182E282F3829920A1F0FFEFCF1ADF0AA5 +:1045E000EF0AFF0AD501CD92DD92ED92FC9213976E +:1045F00008C097018601C5010E9465218111E6CF9F +:10460000BECF81E060960FB6F894DEBF0FBECDBF7F +:10461000DF91CF911F910F91FF90EF90DF90CF909E +:10462000BF90AF909F907F906F905F904F903F9022 +:104630002F900895AF92BF92CF92DF92EF92FF92A8 +:104640000F931F93CF93DF9300D01F92CDB7DEB7A8 +:104650005C016A017B0182E090E0A0E0B0E0F5013E +:1046600080839183A283B3839E012F5F3F4FB70165 +:10467000A601C5010E947820882311F100E010E016 +:104680009801B701A601C5010E9465218823C1F0E8 +:10469000C980DA80EB80FC80F5018789803129F0C0 +:1046A00088EF9FEFAFEFBFE004C088EF9FEFA0E07F +:1046B000B0E0C816D906EA06FB06B0F281E001C0F8 +:1046C00080E00F900F900F900F90DF91CF911F918E +:1046D0000F91FF90EF90DF90CF90BF90AF90089533 +:1046E0008F929F92AF92BF92CF92DF92EF92FF9202 +:1046F0000F931F93CF93DF93EC01142F7093D50486 +:104700006093D404442369F1453010F080E0F2C096 +:1047100040E060E070E0CB010E9419208823B1F3F3 +:1047200020E1129FA00111244A535B4FFA01E25489 +:10473000FE4F80818F7751F73C9680819181A281D5 +:10474000B38184369105A105B10500F33497C0808B +:10475000D180E280F380C114D104E104F10421F49A +:10476000D5CFC12CD12C760140E0C701B6010E9403 +:104770001920882359F28091E1049091E204811577 +:10478000924021F69091E604992309F4BFCF20913D +:10479000E4043091E504232B09F4B8CF8091E304BD +:1047A000882309F4B3CF9A8B8C831D8690E061E057 +:1047B00070E02D85E22FAB01022E02C0440F551F81 +:1047C0000A94E2F78417950731F031E0320F3D8704 +:1047D000283078F39BCF2091EC043091ED04211523 +:1047E000310519F040E050E008C02091FA04309102 +:1047F000FB044091FC045091FD042D833E834F83C4 +:1048000058878091E4049091E50446015701880E91 +:10481000991EA11CB11C8B8A9C8AAD8ABE8A00910C +:10482000E7041091E804198F088FA091E604B0E026 +:104830000E94DD3F860E971EA81EB91E8A8E9B8E93 +:10484000AC8EBD8E85E0000F111F8A95E1F70150F7 +:104850001E4F012F11270695800E911EA11CB11C21 +:104860008E869F86A88AB98A2091E9043091EA044D +:104870002115310521F0A90160E070E008C04091E8 +:10488000F6045091F7046091F8047091F904D7018F +:10489000C60188199909AA09BB09840F951FA61F8B +:1048A000B71F04C0B695A79597958795EA95D2F757 +:1048B00089879A87AB87BC87853F2FE09207A10540 +:1048C000B10510F48CE014C0853F9F4FA105B105E0 +:1048D00010F480E10DC08091020590910305A09134 +:1048E0000405B09105058A8F9B8FAC8FBD8F80E248 +:1048F0008F8B81E0DF91CF911F910F91FF90EF900F +:10490000DF90CF90BF90AF909F908F90089580914F +:10491000060790E020910707821B91090895909166 +:10492000070780910607981750F4E92FF0E0E85F39 +:10493000F84F208130E09F5F9093070702C02FEF70 +:104940003FEFC9010895E091070780910607E81736 +:1049500030F4F0E0E85FF84F808190E008958FEF49 +:104960009FEF08950895CF92DF92EF92FF920F93F9 +:104970001F93CF93DF937C01262F972F8A0180917D +:10498000E206882391F0C62FD72F6E01C40ED51EE4 +:10499000CC15DD0571F06991D701ED91FC91019085 +:1049A000F081E02DC7011995F3CF642F822F0E946B +:1049B000BC3DC801DF91CF911F910F91FF90EF9007 +:1049C000DF90CF900895CF93DF931F92CDB7DEB7DE +:1049D00069832091E2062223D1F02091E306203260 +:1049E00040F021E030E0FC013383228380E090E05E +:1049F00015C08091E406E82FF0E0EB51F94F998162 +:104A000090838F5F8093E4068093E30605C061E0A6 +:104A1000CE0101960E94BC3D81E090E00F90DF91B5 +:104A2000CF910895FC011382128288EE93E0A0E0FA +:104A3000B0E084839583A683B7838FEE92E0918361 +:104A40008083089510920707109206071092E406DB +:104A50001092E3060C94083D862F413208F040E2A4 +:104A600068E077E00E94263D1092070780930607D2 +:104A7000089521E00C942C2581E08093E206609358 +:104A800005071092E4061092E30608950C943C2565 +:104A90000F93062F21E04091E30665EE76E08091CA +:104AA00005070E946A3D1092E4061092E3061092F8 +:104AB000E2060F91089561E00C94482586ED96E09A +:104AC0000C9412252F923F924F925F926F927F9299 +:104AD0008F929F92AF92BF92CF92DF92EF92FF920E +:104AE0000F931F93CF93DF9300D0CDB7DEB74C0168 +:104AF0007B836A836A01590117019801241B350BD6 +:104B000037FF03C0319521953109C5014A815B8189 +:104B1000841B950B97FF03C091958195910951E0F6 +:104B200059838217930714F019820BC09A2D8B2D8D +:104B30005801092F182F9A818B81DB82CA82C92ED6 +:104B4000D82E8A819B81A816B9065CF49C2D8D2DE8 +:104B50006801092F182F9A818B81BB82AA82A92E06 +:104B6000B82E2501AA81BB814A1A5B0A38016C184C +:104B70007D0877FE03C0719461947108720157FE3D +:104B800003C0BFEFEB1AFB0AF594E794C016D106F9 +:104B90001CF00FEF1FEF1FC001E010E01CC0D4019C +:104BA000ED91FC91B9810084F185E02D9101BB2349 +:104BB000C1F04A815B81B601C4011995E618F70876 +:104BC000F7FE04C0C00ED11EE40CF51CEA81FB8187 +:104BD0003196FB83EA834A815B81A416B506FCF615 +:104BE00004C0A6016A817B81E7CF0F900F900F90E0 +:104BF000DF91CF911F910F91FF90EF90DF90CF90B9 +:104C0000BF90AF909F908F907F906F905F904F90EC +:104C10003F902F9008950895DC01ED91FC91048060 +:104C2000F581E02D19940F931F93DC01ED91FC9118 +:104C3000008CF18DE02D19951F910F9108950F9320 +:104C40001F93DC01ED91FC91028CF38DE02D199501 +:104C50001F910F910895EF92FF920F931F93DC0124 +:104C6000ED91FC91048CF58DE02D19951F910F911C +:104C7000FF90EF9008950895AF92BF92CF92DF9288 +:104C8000EF92FF920F931F93CF93DF9300D01F9269 +:104C9000CDB7DEB75C016901DC01ED91FC910680C6 +:104CA000F781E02D4B835C8369837A831995D50165 +:104CB000ED91FC914B815C81C40ED51EB1E0CB1A05 +:104CC000D1080088F189E02D7801860169817A8117 +:104CD0009B01C5011995D501ED91FC910288F389DD +:104CE000E02DC5010F900F900F900F90DF91CF91A5 +:104CF0001F910F91FF90EF90DF90CF90BF90AF90FA +:104D00001994AF92BF92CF92DF92EF92FF920F93DE +:104D10001F93CF93DF9300D01F92CDB7DEB75C0116 +:104D20006901DC01ED91FC910680F781E02D4B8358 +:104D30005C8369837A831995D501ED91FC91698132 +:104D40007A819B012C0D3D1D215031090088F1898C +:104D5000E02D78014B815C818A01C5011995D5014F +:104D6000ED91FC910288F389E02DC5010F900F9021 +:104D70000F900F90DF91CF911F910F91FF90EF90C7 +:104D8000DF90CF90BF90AF9019944F925F926F9247 +:104D90007F928F929F92AF92BF92CF92DF92EF92CB +:104DA000FF920F931F93CF93DF931F921F92CDB764 +:104DB000DEB76C015A0139014801DC01ED91FC912B +:104DC0000680F781E02D69837A8319956981462EE3 +:104DD0007A81572E640C751CD601ED91FC91461416 +:104DE00057046CF40484F585E02D87019401A50136 +:104DF000B201C6011995BFEF4B1A5B0AEDCF0288CD +:104E0000F389E02DC6010F900F90DF91CF911F9194 +:104E10000F91FF90EF90DF90CF90BF90AF909F9059 +:104E20008F907F906F905F904F901994EF92FF92C8 +:104E30000F931F93DC01ED91FC9111971A960D9140 +:104E40001C911B9718962D913C911997048CF58D08 +:104E5000E02D7B0140E050E060E070E019951F918B +:104E60000F91FF90EF900895CF92DF92EF92FF9213 +:104E70000F931F93CF93DF9300D000D0CDB7DEB751 +:104E80006C01DC01ED91FC916217730789F4041742 +:104E900015072CF4942F852FA801092F182F041B18 +:104EA000150B98012F5F3F4F008CF18DE02D12C044 +:104EB0004017510709F5261737072CF4962F872F2F +:104EC000B901292F382F261B370B2F5F3F4F028C3C +:104ED000F38DE02D8701C601199526960FB6F8943B +:104EE000DEBF0FBECDBFDF91CF911F910F91FF901D +:104EF000EF90DF90CF9008950680F781E02D2D830D +:104F00003E834B835C8369837A831995D601ED9147 +:104F1000FC910088F189E02D2D813E814B815C81DF +:104F200069817A81C6011995D601ED91FC910288BB +:104F3000F389E02DC60126960FB6F894DEBF0FBEAA +:104F4000CDBFDF91CF911F910F91FF90EF90DF9038 +:104F5000CF9019946F927F928F929F92AF92BF924F +:104F6000CF92DF92EF92FF920F931F93CF93DF9335 +:104F7000EC014B015A0169013801E881F981068091 +:104F8000F781E02D1995E881F9810684F785E02DF8 +:104F900087019601A501B401CE011995E881F98137 +:104FA000A501460D571D415051090684F785E02D96 +:104FB0009601B401CE011995E881F9810484F58543 +:104FC000E02D9301A501B401CE011995E881F98185 +:104FD000C80CD91CB601615071090484F585E02D17 +:104FE0009301A501CE011995E881F9810288F38921 +:104FF000E02DCE01DF91CF911F910F91FF90EF90A7 +:10500000DF90CF90BF90AF909F908F907F906F90E8 +:1050100019940895FC016370658B848195812681C4 +:105020003781613039F0633029F091878087338789 +:105030002287089531872087938782870895FC010E +:10504000138212828FEF92E0918380837583648351 +:10505000578346837187608753874287158A1586F1 +:1050600014861786168681E0848B2FEF3FEF338BF3 +:10507000228B318B208B868B178A118E108E089590 +:105080002F923F924F925F926F927F928F929F9258 +:10509000AF92BF92CF92DF92EF92FF920F931F9346 +:1050A000CF93DF93CDB7DEB728970FB6F894DEBF66 +:1050B0000FBECDBF5C013B014A0138872F83FC82C4 +:1050C000EB8281E090E02C01421A530AC9019195CC +:1050D000819591099C01220F331F3A83298317017F +:1050E00033E0230E311CEE24E394F12C802F8170E9 +:1050F0008D8302700E83C7010197EF81F8858E17AB +:105100009F070CF078C057FC0CC0AF81B885119791 +:10511000B887AF83E981FA813296FA83E9834E0E2C +:105120005F1EC701880F991F0196480E591EFD8109 +:10513000FF2359F1D501ED91FC912F813885220F84 +:10514000331F2F5F3F4F8B819C81280F391F0484B1 +:10515000F585E02D8601A401AF81B8854A1B5B0B64 +:10516000B701660D771DC5011995D501ED91FC912B +:105170000484F585E02D9101A4014E195F096F812A +:105180007885660D771DC5011995BE81BB2361F138 +:10519000D501ED91FC912F813885220F331F2F5FB0 +:1051A0003F4F8B819C81280F391F0484F585E02DAA +:1051B0008601A401AF81B8854A1B5B0BB3016E1950 +:1051C0007F09C5011995D501ED91FC910484F58500 +:1051D000E02D9101A4014E195F09B3018F819885DB +:1051E000681B790BC50119959FEFE91AF90AA2E02E +:1051F0002A0E311C80CF28960FB6F894DEBF0FBE62 +:10520000CDBFDF91CF911F910F91FF90EF90DF9075 +:10521000CF90BF90AF909F908F907F906F905F9056 +:105220004F903F902F9008956F927F928F929F9210 +:10523000AF92BF92CF92DF92EF92FF920F931F93A4 +:10524000CF93DF93EC014B013A0159016801E881EA +:10525000F9810680F781E02D1995E881F9819501A2 +:10526000220F331F2F5F3F4FA3014A195B090484AC +:10527000F585E02DB401CE011995E12CF12C03E068 +:105280009501A301B401CE010E944028E881F98173 +:105290000288F389E02DCE01DF91CF911F910F910C +:1052A000FF90EF90DF90CF90BF90AF909F908F9046 +:1052B0007F906F9019942F923F924F925F926F92CE +:1052C0007F928F929F92AF92BF92CF92DF92EF9296 +:1052D000FF920F931F93CF93DF93CDB7DEB76B97FA +:1052E0000FB6F894DEBF0FBECDBF9B8F8A8F1B0118 +:1052F0005A8349831F830E83FD82EC82CB82DC01BB +:1053000058964D915C9159974115510509F0B0C0DF +:1053100018968D919C911997681779070CF092C196 +:105320001A968D919C911B97E981FA81E817F907EC +:105330000CF088C1AC2CB12CCB01F6E0CF9E800DD7 +:10534000911D1124181619060CF07CC1C50133E01B +:10535000880F991F3A95E1F749815A81840F951F6B +:10536000181619060CF06EC157968C91811103C066 +:10537000203B08F02F5FAA8DBB8DED91FC9111971A +:105380000680F781E02DCD01298F1995298DB5E093 +:105390002B9F9001112461014101212CF901EC198D +:1053A000FD09F987E88729813A81285F3F4F3B87CC +:1053B0002A8735E0231641F0E885F985EC0DFD1DBF +:1053C000EE59FC4F349001C0312C49805A80320193 +:1053D00030FE13C0AA8DBB8DED91FC91BB81B13025 +:1053E00031F40084F185E02D2E813F8119C00284C3 +:1053F000F385E02DEE80FF801EC0EC81FD812E81C3 +:105400003F81E217F307F1F0AA8DBB8DED91FC917E +:10541000BB81B13059F40084F185E02D2C813D81B0 +:10542000A301B6018A8D9B8D19950CC00284F3856A +:10543000E02DEC80FD8085019501A201B4018A8DEB +:105440009B8D199536944A0C5B1CEFEF6E1A7E0A01 +:105450002A853B856216730609F0BACF23948A0C1D +:105460009B1C3FEFC31AD30A46E02412A2CFC8C048 +:10547000FA0134969491329765917491291BCB016E +:10548000B7E02B9F800D911D1124FA0125913491D5 +:105490003A8B298BFC0165907490FC013296449004 +:1054A000319634913C873296C490319654904B811A +:1054B000423058F08C2C0C2C000C9908852D052CB2 +:1054C000000C990B9987888704C019861886812C4F +:1054D000912CAA8DBB8DED91FC9111970680F781DF +:1054E000E02DCD011995BB81AB2EB12C8A9CC0015A +:1054F0008B9C900D9A9C900D1124FC01E20DF31DE4 +:10550000F88BEF871C82912C812CEC2DCC0CFF0B9F +:1055100091012E0F3F1F3B872A876101C40CD11CCC +:10552000A6014E0F5F1F5E8B4D8B89819A81850D81 +:10553000911D57FC9A95988F8F8B4C85841608F097 +:105540005FC0882D90E048855985480F591F4A9DB6 +:1055500090014B9D300D5A9D300D1124A981BA81C7 +:10556000A20FB31FBE87AD87CA84DB842F8438881F +:105570005C80BA855B1AEF89F88DE80FF91FFC8B08 +:10558000EB8B852D8C0D2D893E89C216D30699F1A2 +:10559000877041F4C3010196E989FA89E60DF71D88 +:1055A00094903C0197FE20C0AA8DBB8DED91FC919B +:1055B000BB81B13061F40084F185E02D2E813F8103 +:1055C0004B895C89B6018A8D9B8D19950DC002842B +:1055D000F385E02DEE80FF80850195014D855E8588 +:1055E000B1018A8D9B8D1995990C2A0C3B1CEFEF0C +:1055F000CE1ADE0AC6CF3C81340D3C8383949DCF06 +:10560000AA8DBB8DED91FC9111970288F389E02D55 +:10561000CD016B960FB6F894DEBF0FBECDBFDF9104 +:10562000CF911F910F91FF90EF90DF90CF90BF909F +:10563000AF909F908F907F906F905F904F903F9032 +:105640002F9019946B960FB6F894DEBF0FBECDBFA6 +:10565000DF91CF911F910F91FF90EF90DF90CF904E +:10566000BF90AF909F908F907F906F905F904F9082 +:105670003F902F900895AF92BF92CF92EF92FF92FA +:105680000F931F93CF93DF93EC01262F888D998D75 +:10569000009709F042C06A3069F42C898E859F8595 +:1056A00038E0239F800D911D11249F878E871D86D2 +:1056B0001C86ACC06D3009F4A9C08E898823C1F066 +:1056C0003C898C859D8546E0349F800D911D112479 +:1056D00048855985841795075CF01D861C868E8544 +:1056E0009F85E8E03E9F800D911D11249F878E8746 +:1056F000EA88FB88088919894E855F856C857D85D8 +:10570000CC88CE010E945B292C898C859D85F6E092 +:105710002F9F800D911D112441C06A3079F41D86A0 +:105720001C862C89FC013696E4918E859F852E9FE0 +:10573000800D911D11249F878E8768C06D3009F4FC +:1057400065C0AC014C5F5F4FFA013491631708F4F8 +:105750005DC03196E491E61708F458C0FA0144910F +:10576000362F341BFC013296A590B490F7E03F9F92 +:10577000A00CB11C1124F501329634913196E491BC +:10578000332311F0E1110DC0F5013496E4912C8919 +:105790008C859D85E29F800D911D11249D878C87AE +:1057A00035C0F501359644915E89552311F16C8918 +:1057B000E32FF0E0E40FF11D47FDFA956E9FD00155 +:1057C0006F9FB00D11244C855D854A0F5B1FE885E6 +:1057D000F9854E175F076CF01D861C86FC01369616 +:1057E000E4918E859F856E9F800D911D11249F876A +:1057F0008E87EA88FB88088919894E855F856C85C4 +:105800007D85CC88CE010E945B29BECF81E090E0EF +:10581000DF91CF911F910F91FF90EF90CF90BF90AC +:10582000AF900895FC017587648757874687089570 +:10583000611101C061E0FC01648B0895FC01738B70 +:10584000628B718B608B0895EF92FF920F931F9381 +:10585000DC01ED91FC9111971A960D911C911B970B +:1058600018962D913C911997048CF58DE02D7B01B4 +:1058700040E050E060E070E019951F910F91FF90BB +:10588000EF90089520912C07222381F0213051F4CC +:105890002DB320932A073DB320912B072095232376 +:1058A0002DBB04C02FB7F89420932A078CBD9DBD53 +:1058B000089590912C07992339F080912A0791300F +:1058C00011F48DBB08958FBF0895EF92FF920F934F +:1058D0001F93CF93DF931F92CDB7DEB77C01062FC6 +:1058E000142F40EA50E060E870E029830E941F28EE +:1058F00087E293E0F7019183808304A315A32981B4 +:1059000026A381E0838F10A617A20F90DF91CF917D +:105910001F910F91FF90EF900895FC01838D8823D4 +:1059200039F06EBD00000DB407FEFDCF8EB50895B1 +:1059300028E030E090E8A48DB58D81A5492F46235D +:1059400019F04C91842B03C04C91809584238C9347 +:10595000A68DB78D4C9182A5842B8C93A68DB78D87 +:105960004C9182A5809584238C9396952150310982 +:1059700011F708950F931F93CF93DF931F92CDB725 +:10598000DEB78C01809128079091290769830E94D6 +:10599000422CD8019296ED91FC91939790819C9620 +:1059A0008C919C978095892380839096ED91FC91B2 +:1059B000919790819B968C918095892380836981B2 +:1059C000C8010E948D2CD8019096ED91FC91919781 +:1059D00090819B968C91892B80830F90DF91CF9142 +:1059E0001F910F910C94592C611102C060E201C00B +:1059F00061E20C94BA2C0F931F93CF93DF931F9205 +:105A0000CDB7DEB78C018091280790912907698373 +:105A10000E94422CD8019296ED91FC91939790812F +:105A20009C968C919C97892B80839096ED91FC910C +:105A3000919790819B968C91809589238083698131 +:105A4000C8010E948D2CD8019096ED91FC91919700 +:105A500090819B968C91892B80830F90DF91CF91C1 +:105A60001F910F910C94592C1F93CF93DF93EC014E +:105A7000162F66E30E94BA2C612F63706D8B8A8D9E +:105A8000623089F16330A9F16130D1F0823011F4D4 +:105A900060EC01C068ECCE010E94FB2C80E890E035 +:105AA000998788878A8D813019F480E890E002C058 +:105AB00080EA90E09B878A87DF91CF911F910895BC +:105AC000823011F460EA01C068EACE010E94FB2C2A +:105AD0008A8D813019F480E890E002C080EA90E07D +:105AE00099878887E2CF823011F460E0D4CF68E0F4 +:105AF000D2CF823011F460E6E8CF68E6E6CFAF920D +:105B0000BF92CF92DF92EF92FF920F931F93CF93AA +:105B1000DF938C01EB012196FB01D490DD2009F489 +:105B200036C0FE016491C8010E94BA2C5E01F2E009 +:105B3000AF0EB11CFE013196C4918C2F8078C82E17 +:105B4000CF777501DC2FD15048F0F7016491C8017F +:105B50000E94FB2CFFEFEF1AFF0AF5CFC5018C0F57 +:105B6000911DEC01CC2089F07C019FEFE91AF90A24 +:105B7000FE01649170E06F3F710511F464EF71E014 +:105B800080E090E00E944E0DE701DA94C7CFDF91EC +:105B9000CF911F910F91FF90EF90DF90CF90BF902A +:105BA000AF9008950F931F93CF93DF93EC018B0178 +:105BB0001EA61DA661E08DA10E94280E61E08CA1A9 +:105BC0000E94280E2CA130E0F901E254FD4FE4912F +:105BD000F0E0EE0FFF1FE25EFC4F8591949199A3D8 +:105BE00088A34DA150E0FA01E254FD4F8491E82FC3 +:105BF000F0E0EE0FFF1FE25EFC4F859194919BA3B6 +:105C00008AA3F901E858FD4FE491EBA7FA01E8589F +:105C1000FD4FE491ECA78B8D882349F00E9412364A +:105C200080E58093280781E0809329073CC061E0EC +:105C300088A50E94280E61E08FA10E94280E88A5E9 +:105C400090E0FC01E254FD4FE491F0E0EE0FFF1F05 +:105C5000E25EFC4FA591B491BF8FAE8F2FA130E0D3 +:105C6000F901E254FD4FE491F0E0EE0FFF1FE25E18 +:105C7000FC4F459154915D8F4C8FFC01E858FD4FCE +:105C800084918AA7F901E858FD4FE491E9A79C9116 +:105C9000E82FE095E923EC93EC8DFD8D908189A5AB +:105CA000809589238083E8A1F9A190818BA58095B7 +:105CB000892380838EA1882309F161E00E94280E48 +:105CC00061E08EA10E94640E64EF71E080E090E0DC +:105CD0000E944E0D60E08EA10E94640E64EF71E0A0 +:105CE00080E090E00E944E0D61E08EA10E94640E63 +:105CF00064EF71E080E090E00E944E0D0115110507 +:105D000041F0B801CE01DF91CF911F910F910C941A +:105D10007F2DDF91CF911F910F9108951F93CF9306 +:105D2000DF93EC01162F64EB78E00E94D22D111165 +:105D300009C067EA78E0CE010E947F2D82E08DA73E +:105D400081E00EC0113071F480E890E09B878A8773 +:105D50006DE878E0CE010E947F2D82E08DA783E080 +:105D60008EA705C06AE978E0CE010E947F2D62E629 +:105D700078E0CE010E947F2D123041F466E3CE011F +:105D80000E94BA2C60ECCE010E94FB2C1A8FDF918E +:105D9000CF911F910895EF92FF920F931F93CF938E +:105DA000DF931F921F92CDB7DEB77C01162F6AE2F8 +:105DB00029834A830E94BA2C60E0C7010E94FB2C11 +:105DC000F70185A5612F680FC7010E94FB2C60E0D9 +:105DD000C7010E94FB2CF70185A52981622F680F5E +:105DE000C7010E94FB2C6BE2C7010E94BA2C60E045 +:105DF000C7010E94FB2CF70186A54A81642F680F1A +:105E0000C7010E94FB2C60E0C7010E94FB2CF70138 +:105E100086A5602F680FC7010E94FB2C6CE2C701AA +:105E20000F900F90DF91CF911F910F91FF90EF9006 +:105E30000C94BA2CEF92FF920F931F93CF93DF93A2 +:105E40001F92CDB7DEB77C01CB01122F77FD53C077 +:105E5000D70118966D917C911997861797070CF0CA +:105E60004AC057FD48C01A966D917C911B97461702 +:105E700057070CF040C001E0040F21E0280F682F05 +:105E8000C70139830E94CB2E809128079091290762 +:105E90000E94422CD7019296ED91FC9193979081AC +:105EA0009C968C919C97892B80839096ED91FC9188 +:105EB000919790819B968C918095892380833981DD +:105EC000632FC7010E948D2C612FC7010E948D2C6A +:105ED000D7019096ED91FC91919790819B968C9132 +:105EE000892B80830F90DF91CF911F910F91FF90AD +:105EF000EF900C94592C0F90DF91CF911F910F913F +:105F0000FF90EF900895DF92EF92FF920F931F930F +:105F1000CF93DF93EC017901D02E8885998568179E +:105F200079070CF047C08A859B85481759070CF004 +:105F300041C09A012E0D3F1D821793071CF47C016E +:105F4000E41AF50A0FEF040F0E0D262FCE010E9462 +:105F5000CB2E80912807909129070E94422CEAA11C +:105F6000FBA190818CA5892B8083E8A1F9A1908168 +:105F70008BA5809589238083E114F10461F0612F62 +:105F8000CE010E948D2C6D2DCE010E948D2C81E0C2 +:105F9000E81AF108F1CFE8A1F9A190818BA5892B2E +:105FA0008083DF91CF911F910F91FF90EF90DF9051 +:105FB0000C94592CDF91CF911F910F91FF90EF908E +:105FC000DF900895DF92EF92FF920F931F93CF938C +:105FD000DF93EC017901D02E8885998568177907C0 +:105FE0000CF047C02A853B85421753070CF041C08F +:105FF0009B012E0D3F1D821793071CF47C01E61AAE +:10600000F70A2FEF260F2E0D042FCE010E94CB2E64 +:1060100080912807909129070E94422CEAA1FBA1B8 +:1060200090818CA5892B8083E8A1F9A190818BA513 +:10603000809589238083E114F10461F0612FCE0102 +:106040000E948D2C6D2DCE010E948D2C81E0E81ACE +:10605000F108F1CFE8A1F9A190818BA5892B80836C +:10606000DF91CF911F910F91FF90EF90DF900C94F3 +:10607000592CDF91CF911F910F91FF90EF90DF90FE +:106080000895AF92BF92CF92DF92EF92FF920F935B +:106090001F93CF93DF93EC0159016801288539855F +:1060A000621773070CF05CC08A859B8548175907F7 +:1060B0000CF056C0FB01EA0DFB1D2E173F071CF428 +:1060C0005901A61AB70A9A012C0D3D1D8217930794 +:1060D0001CF46C01C41AD50A0FEF040F0C0D2FEF3E +:1060E000260F2A0DCE010E94CB2E80912807909179 +:1060F00029070E94422CEAA1FBA190818CA5892B43 +:106100008083E8A1F9A190818BA580958923808364 +:106110001C141D049CF48501101611065CF46F2DEF +:10612000CE010E948D2C6E2DCE010E948D2C01502F +:106130001109F2CF81E0C81AD108EACFE8A1F9A18C +:1061400090818BA5892B8083DF91CF911F910F9137 +:10615000FF90EF90DF90CF90BF90AF900C94592CB0 +:10616000DF91CF911F910F91FF90EF90DF90CF9033 +:10617000BF90AF900895E8E2F7E080E58083118258 +:106180000895DC01ED91FD91BD010190F081E02DBC +:1061900040E0199591E0811190E0892F08958EBD1E +:1061A00000000DB407FEFDCF8EB50895BF92CF92CB +:1061B000DF92EF92FF920F931F93CF93DF937C01B7 +:1061C000C42F69016068B62E83E590E00E94422CDE +:1061D00060E0F70186850E94640E8B2D0E94CF300F +:1061E0000023A9F0AFEFB0E0CD0102C0880F991FE6 +:1061F0000A95E2F78C018B2D0E94CF308023009509 +:10620000F60190810923082B008311E001C010E002 +:106210000FEF0C0FE12FF0E0E601CE0FDF1F10179C +:1062200030F48B2D0E94CF3088831F5FF3CF80E046 +:106230000E94CF30888361E0F70186850E94640E5A +:10624000DF91CF911F910F91FF90EF90DF90CF9052 +:10625000BF900C94592CFC018FE493E091838083D0 +:10626000668747870895EF92FF921F93CF93DF933E +:106270001F92CDB7DEB77C01162F83E590E04983EE +:106280000E94422C60E0F70186850E94640E812FF7 +:106290000E94CF304981842F0E94CF3061E0F70106 +:1062A00086850E94640E0F90DF91CF911F91FF9021 +:1062B000EF900C94592CCF92DF92EF92FF920F93B4 +:1062C0001F93CF93DF931F921F92CDB7DEB78C0140 +:1062D000E62EF42E83E590E029833A830E94422C37 +:1062E00060E0F80186850E94640E8E2D0E94CF30FA +:1062F0002981E22EC22E3A81D32E8C2D8E198F1534 +:1063000030F4F60181916F010E94CF30F6CF61E049 +:10631000F80186850E94640E0F900F90DF91CF9157 +:106320001F910F91FF90EF90DF90CF900C94592C1C +:106330001F93CF93DF93EC01162F83E590E00E942B +:10634000422C60E08E850E94640E812F80680E943E +:10635000CF3080E00E94CF30182F61E08E850E9400 +:10636000640E0E94592C812FDF91CF911F910895C7 +:106370000F9341110E94D6300F910895EF92FF9232 +:106380001F93CF93DF931F92CDB7DEB77C01162FFB +:1063900049830E9498314981482B612FC7010F9092 +:1063A000DF91CF911F91FF90EF900C943331EF92DA +:1063B000FF921F93CF93DF931F92CDB7DEB77C017F +:1063C000162F49830E949831498140954823612FB7 +:1063D000C7010F90DF91CF911F91FF90EF900C9428 +:1063E0003331CF92DF92EF92FF920F931F93CF93AF +:1063F000DF93EC016B01142F790140E062E00E9411 +:10640000333144E06AE0CE010E94333140E864E178 +:10641000CE010E9433319601412F62E1CE010E94EC +:106420005B3143E062E0CE010E94333108E813E1C2 +:106430006AE0CE010E94983182FF13C040E062E022 +:10644000CE010E94333164E4CE010E949831F701FD +:10645000808362E4CE010E949831F701818380E05D +:1064600004C00150110921F783E0DF91CF911F9102 +:106470000F91FF90EF90DF90CF900895CF93DF932F +:10648000EC014FE062E00E94333162E370E080E0B3 +:1064900090E00E944E0D62E0CE010E94983184FD92 +:1064A000FACFDF91CF910895CF93DF93EC0168E2AB +:1064B0000E949831482F8370833039F0436068E23E +:1064C000CE01DF91CF910C943331DF91CF910895BC +:1064D000CF93DF93EC0161E08E850E94280E61E08E +:1064E0008E850E94640E8F858F3F09F444C061E061 +:1064F0000E94280E8F850E94940E892BE1F561E0A1 +:106500008F850E94640E62E370E080E090E00E945C +:106510004E0D40E064E2CE010E94333140E066E27D +:10652000CE010E94333146E268E4CE010E9433314D +:1065300040E864E5CE010E94333149EA66E5CE01C8 +:106540000E94333143E068E5CE010E94333148EECA +:106550006AE5CE010E94333140E46AE2CE010E9436 +:1065600033314DE362E2CE010E943331CE01DF913F +:10657000CF910C945432CE010E943E32CACF5F922A +:106580006F927F928F929F92AF92BF92CF92DF9243 +:10659000EF92FF920F931F93CF93DF9300D01F9240 +:1065A000CDB7DEB73C01162F942EA114B10419F01B +:1065B000F501408101C040E0542EF0E18F9E500C67 +:1065C000112440E062E0C3012B833C830E943331FD +:1065D0004FE768E0C3010E94333140E864E1C30142 +:1065E0000E9433312B813C81402F62E1C3010E9424 +:1065F0005B31452D6AE1C3010E943331412F62E0D6 +:10660000C3010E9433311C3029F440E86AE1C30120 +:106610000E94BE3100ED17E068E0C3010E9498318E +:10662000982F992139F480FD03C001501109A1F779 +:1066300083E066C06CE0C3010E949831182F83711B +:1066400009F05DC0E114F104F9F0C114D104E1F0E6 +:1066500064E1C3010E949831482FF60180818417BC +:1066600008F447C04083082D970162E1C3010E94EE +:10667000B83168E1C3010E9498318770A114B10458 +:1066800021F0F501808301C080E013FD34C0E114E6 +:10669000F10499F1C114D10481F19F89992369F121 +:1066A000F6014081413019F4843019F420C04230A1 +:1066B00010F487E025C08111FCCF42509E012F5F6E +:1066C0003F4FB701C3010E94F131811119C0F6019A +:1066D0008081E80EF11CF70132979081898198132F +:1066E000E8CF319690818A819813E3CF06C08FEF6F +:1066F00007C084E005C082E003C080E001C081E003 +:106700000F900F900F900F90DF91CF911F910F91ED +:10671000FF90EF90DF90CF90BF90AF909F908F90C1 +:106720007F906F905F9008958F92AF92BF92CF92BB +:10673000DF92EF92FF920F931F93AF928C2C570131 +:1067400068017901042F9B0140E36CE00E94BF3295 +:106750000F901F910F91FF90EF90DF90CF90BF901F +:10676000AF908F9008952F923F924F925F926F92C9 +:106770007F928F929F92AF92BF92CF92DF92EF92D1 +:10678000FF920F931F93CF93DF93CDB7DEB72D9773 +:106790000FB6F894DEBF0FBECDBF413508F00BC178 +:1067A000342E3B014C0140E86CE10E94D731BB2400 +:1067B000B39422E0B21691F033E0B316E1F041E079 +:1067C000B412FDC083E989833320D1F081E0F30165 +:1067D0009081953008F480E0D12C17C085E9898339 +:1067E000332081F081E0F3019081983008F480E05B +:1067F00053E0D52E0AC087E9898346E0D42E04C031 +:10680000D12C02C033E0D32E80E0532DF8EFDF9E71 +:10681000500D112457FD50E0882321F098E89B8308 +:1068200043E001C042E021E0952F977009F420E099 +:10683000952F959595959595290F21F4882311F11C +:10684000585F20C0811102C094E001C093E0291775 +:1068500008F4922F20E030E06D2D70E0E42FE20F7D +:10686000A1E0B0E0AC0FBD1FAE0FB11DF901E60F06 +:10687000F71FE60DF71DE181EC932F5F3F4F2917BE +:1068800068F3DCCF23E0222E5032FCF020E72A838D +:106890009C818B8189279D8189279E8189278F8370 +:1068A0009E01285F3F4F47E0BE016F5F7F4FC401ED +:1068B0005D870E94F1315D858111CDC01B862A86DE +:1068C000CE0107962C0179E01EC0952F97709B870B +:1068D000252F25952595259582E0820F392FE0E11A +:1068E0008E9F300D11243A8371E0911101C070E048 +:1068F000780F44244394512C4C0E5D1E480E511CBD +:1069000087E0821B8A87CB844C2D4295407F4C0DBB +:106910006AE1C4015D877C870E943331A12C9E010E +:10692000255F3F4F79018E01065F1F4F92017C85E5 +:10693000472FBE016F5F7F4FC4010E9494335D8576 +:10694000823099F56CE1C4010E9498315D8585FD26 +:1069500034C08F7109F480E2282F30E0452F550FA5 +:10696000550B421753075CF5582FC90101978770E3 +:10697000992725952595259531E0320F21E000973F +:1069800009F420E0230FE1E0F0E0EC0FFD1FE20F3F +:10699000F11D21E030E002C0220F331F8A95E2F79B +:1069A000C9019081892B80836FCF811154C05032EF +:1069B00044F450E26BCF86E04EC082E04CC085E0EC +:1069C0004AC08B81883809F043C033E023E080E07F +:1069D00090E06D2D70E0FC01E60FF71FE60DF71D4E +:1069E000432F480FA1E0B0E0AC0FBD1FA40FB11DB5 +:1069F0004C9141830196821770F38A85833021F58B +:106A00008B85811121C09E012D5F3F4F41E0B20176 +:106A1000C4010E94F13181111EC09B81F20181816C +:106A2000981314C09C818281981310C0808182FFCA +:106A300002C0B394BECEF30183878B2D880FB80EAE +:106A4000B394B08280E007C081E005C087E003C056 +:106A500032E024E0BCCF2D960FB6F894DEBF0FBE17 +:106A6000CDBFDF91CF911F910F91FF90EF90DF90FD +:106A7000CF90BF90AF909F908F907F906F905F90DE +:106A80004F903F902F9008954F925F926F927F9218 +:106A90008F929F92AF92CF92EF92FF920F931F939C +:106AA000CF93DF931F921F92CDB7DEB76A83411554 +:106AB000510539F1F9016081623018F149012A016B +:106AC0003C0140E86CE10E94D73187E08983A12C2A +:106AD000C12CCE0101967C018401920141E0BE01EE +:106AE0006E5F7F4FC3010E94943381110DC0F4018A +:106AF0008081823041F481E09981911105C080E06C +:106B000003C084E001C081E00F900F90DF91CF912E +:106B10001F910F91FF90EF90CF90AF909F908F902B +:106B20007F906F905F904F9008959A01AB0166E25D +:106B30000C9444350F931F93CF93DF9300D0CDB7C0 +:106B4000DEB78C0182E08B8340E064E2C8010E94E2 +:106B5000333140E066E2C8010E94333146E268E426 +:106B6000C8010E943331AE014D5F5F4FBE016F5FC0 +:106B70007F4FC8010E949535982F81E0992319F025 +:106B8000923009F080E00F900F900F90DF91CF913D +:106B90001F910F9108958F929F92AF92CF92EF9293 +:106BA000FF920F931F93CF93DF9300D01F92CDB727 +:106BB000DEB74C0180E589831A829E012D5F3F4F2D +:106BC00042E0BE016F5F7F4FC4010E94F13181112D +:106BD00016C0A12CC12CE12CF12C00E010E020E02B +:106BE00030E044E0BE016F5F7F4FC4010E949433E8 +:106BF000833021F0811103C081E001C080E00F905B +:106C00000F900F900F90DF91CF911F910F91FF90F8 +:106C1000EF90CF90AF909F908F90089548E060E103 +:106C20000C94D73161E085E30E94640E61E085E356 +:106C30000E94280E8CB580618CBD8CB580648CBDA3 +:106C400061E084E30E94280E61E083E30C94280E47 +:106C5000CF92DF92EF92FF92CF93DF93EC018CE320 +:106C6000C82ED12CE12CF12CCB01BA01A701960141 +:106C70000E94A73F6D83CA01B901A70196010E9436 +:106C8000A73F6C83CA01B90128E130E040E050E041 +:106C90000E94A73F6B83188263E97EEF8881482FAB +:106CA000437091E009F090E0492F50E0FA01E35978 +:106CB000FE4F2E173F0740F0FB01E41BF50B2E0F94 +:106CC0003F1F8F5F8883EACF81E089838981E82F26 +:106CD000F0E0E251F74FE491992319F0823009F482 +:106CE000EF5FF0E02E173F0720F02E1B3F0B8F5F6A +:106CF000ECCF2F5F2A831E82DF91CF91FF90EF9020 +:106D0000DF90CF9008951F93CF93DF931F92CDB75D +:106D1000DEB7162F68E670E086ED96E049830E94A4 +:106D20004625612F86ED96E00E94E3244981642F79 +:106D300086ED96E00E94E32486ED96E00F90DF91C9 +:106D4000CF911F910C945B25CF93C62F68E670E01E +:106D500086ED96E00E9446256C2F86ED96E00E9417 +:106D6000E32486ED96E00E945B2541E050E068E672 +:106D700070E086ED96E00E94392586ED96E00E944F +:106D80008F24CF910895CF93DF93EC0186ED96E0A9 +:106D90000E9422254CE16EE0CE010E9483366AE01B +:106DA00070E080E090E00E944E0D62E0CE010E9413 +:106DB000A436482F4F7B62E0CE010E9483366AE002 +:106DC00070E080E090E00E944E0D81E0DF91CF9175 +:106DD00008950F931F93CF93DF93CDB7DEB72C9712 +:106DE0000FB6F894DEBF0FBECDBF68E670E086ED4B +:106DF00096E00E94462560E086ED96E00E94E3243E +:106E000086ED96E00E945B2548E050E068E670E081 +:106E100086ED96E00E94392586ED96E00E948F244B +:106E20009C01332794E0359527959A95E1F71AEF61 +:106E3000782F129F700D112486ED96E07C870E94BA +:106E40008F249C01332744E0359527954A95E1F737 +:106E5000682F129F600D112486ED96E06B870E94CB +:106E60008F248F73982F92959F70582F919F500D5C +:106E7000112486ED96E05A870E948F24082F86ED14 +:106E800096E00E948F249C01992754E09595879560 +:106E90005A95E1F7422F189F400D112486ED96E098 +:106EA00049870E948F249C01992764E095958795D6 +:106EB0006A95E1F7322F189F300D112486ED96E088 +:106EC00038870E948F24DC01BB2774E0B595A79515 +:106ED0007A95E1F7282F1A9F200D112438854985CE +:106EE0005A856B857C85802F90E02C960FB6F894A0 +:106EF000DEBF0FBECDBFDF91CF911F910F910895DF +:106F00006F927F928F929F92AF92BF92CF92DF92B9 +:106F1000EF92FF920F931F93CF93DF93EC010097B3 +:106F200089F4CB01DF91CF911F910F91FF90EF90EA +:106F3000DF90CF90BF90AF909F908F907F906F9099 +:106F40000C946938FC01E60FF71F9C0122503109AF +:106F5000E217F30708F4ACC0D9010D911C91119709 +:106F600006171707B0F00530110508F49FC0C801D7 +:106F700004978617970708F499C002501109061B59 +:106F8000170B019311936D937C93CF010E94FE38F0 +:106F90008DC05B01A01AB10A4C01800E911EA09118 +:106FA000460AB091470A40E050E0E12CF12C1097DE +:106FB00009F44AC0A815B905D1F56D907C901197D8 +:106FC000630182E0C80ED11CCA14DB0480F1A30166 +:106FD0004A195B096A0182E0C80ED11C1296BC9066 +:106FE00012971396AC91B5E0CB16D10440F0B28263 +:106FF000A38351834083D9016D937C930AC00E5FB4 +:107000001F4FC301800F911FF90191838083EB2DE6 +:10701000FA2FE114F10431F0D7011396FC93EE93AB +:10702000129744C0F093470AE093460A3FC08D91FF +:107030009C9111974817590708F4AC017D011296ED +:107040000D90BC91A02DB3CF8091440A9091450A38 +:1070500088159905E1F446175707C8F48091040292 +:1070600090910502009741F48DB79EB740910802B8 +:1070700050910902841B950BE817F907C8F4F093A7 +:10708000450AE093440AF901718360830FC0CB0184 +:107090000E9469387C01009759F0A801BE010E9446 +:1070A000263FCE010E94FE38C70104C0CE0102C0B7 +:1070B00080E090E0DF91CF911F910F91FF90EF90D2 +:1070C000DF90CF90BF90AF909F908F907F906F9008 +:1070D0000895CF93DF938230910510F482E090E021 +:1070E000E091460AF091470A20E030E0C0E0D0E0AD +:1070F000309711F14081518148175907C0F0481766 +:10710000590761F482819381209719F09B838A83C8 +:107110002BC09093470A8093460A26C0211531055B +:1071200019F04217530718F49A01BE01DF01EF016D +:107130000280F381E02DDCCF2115310509F1281BF8 +:10714000390B2430310590F412968D919C91139750 +:107150006115710521F0FB019383828304C0909334 +:10716000470A8093460AFD01329644C0FD01E20FB2 +:10717000F31F81939193225031092D933C933AC090 +:107180002091440A3091450A232B41F420910602B4 +:10719000309107023093450A2093440A209104025B +:1071A000309105022115310541F42DB73EB74091CC +:1071B000080250910902241B350BE091440AF0911A +:1071C000450AE217F307A0F42E1B3F0B28173907D7 +:1071D00078F0AC014E5F5F4F2417350748F04E0F33 +:1071E0005F1F5093450A4093440A8193919302C0D4 +:1071F000E0E0F0E0CF01DF91CF9108950F931F936E +:10720000CF93DF93009709F48CC0FC01329713826F +:1072100012820091460A1091470A0115110581F466 +:1072200020813181820F931F2091440A3091450AB9 +:107230002817390779F5F093450AE093440A71C09D +:10724000D80140E050E0AE17BF0750F412962D91E0 +:107250003C911397AD012115310509F1D901F3CF07 +:107260009D01DA013383228360817181860F971F2C +:107270008217930769F4EC0128813981260F371FA3 +:107280002E5F3F4F318320838A819B81938382834A +:10729000452B29F4F093470AE093460A42C013961F +:1072A000FC93EE931297ED01499159919E01240FA1 +:1072B000351FE217F30771F480819181840F951FC8 +:1072C000029611969C938E938281938113969C9340 +:1072D0008E931297E0E0F0E0D80112968D919C9188 +:1072E0001397009719F0F8018C01F6CF8D919C91BE +:1072F00098012E5F3F4F820F931F2091440A3091D7 +:10730000450A2817390769F4309729F41092470A7B +:107310001092460A02C0138212821093450A00930B +:10732000440ADF91CF911F910F910895FC012485AC +:107330003585F901E05CFF4F808191813296208193 +:107340003181821B930B8F7399270895DC011C9662 +:10735000ED91FC911D97DF01A05CBF4F2D913C91F9 +:10736000119712968D919C9111972817390739F032 +:107370008D919C91E80FF91F808190E008958FEF27 +:107380009FEF0895FC01A485B585FD01E05CFF4FEA +:10739000208131813296808191812817390779F0D7 +:1073A00080819181A80FB91F8C91208131812F5F3D +:1073B0003F4F2F7333273183208390E008958FEF61 +:1073C0009FEF0895FC0181A1882329F0A489B58944 +:1073D0008C9186FFFBCF11A208950F931F93CF933B +:1073E000DF93FC01A685B7858D01005C1F4FE80186 +:1073F0008881998101968F739927AD014E5B5F4F0C +:10740000EA012881398182179307D1F3E8012881A5 +:107410003981A20FB31F6C93A685B785A05CBF4FBF +:1074200011969C938E93A689B7892C9181E090E068 +:10743000078C02C0880F991F0A94E2F7822B8C9365 +:1074400081E081A30488F589E02D808180648083B8 +:1074500081E090E0DF91CF911F910F910895FB01A2 +:10746000E05CFF4F208131812F5F3F4F2F73332727 +:10747000DB01AE5BBF4F4D915C912417350741F0A6 +:1074800040815181DB01A40FB51F8C933183208390 +:10749000089508951F920F920FB60F9211240BB604 +:1074A0000F922F933F934F935F936F937F938F939D +:1074B0009F93AF93BF93EF93FF938091C00082FDA2 +:1074C00007C08091C60062E979E00E942F3A02C0AD +:1074D0008091C600FF91EF91BF91AF919F918F91E5 +:1074E0007F916F915F914F913F912F910F900BBEC4 +:1074F0000F900FBE0F901F90189508951F920F9236 +:107500000FB60F9211240BB60F922F933F934F9308 +:107510005F936F937F938F939F93AF93BF93EF93FB +:10752000FF938091C80082FD07C08091CE006AE081 +:1075300079E00E942F3A02C08091CE00FF91EF9136 +:10754000BF91AF919F918F917F916F915F914F917B +:107550003F912F910F900BBE0F900FBE0F901F9079 +:10756000189508951F920F920FB60F9211240BB623 +:107570000F922F933F934F935F936F937F938F93CC +:107580009F93AF93BF93EF93FF938091D00082FDC1 +:1075900007C08091D60062E878E00E942F3A02C0CE +:1075A0008091D600FF91EF91BF91AF919F918F9104 +:1075B0007F916F915F914F913F912F910F900BBEF3 +:1075C0000F900FBE0F901F90189508951F920F9265 +:1075D0000FB60F9211240BB60F922F933F934F9338 +:1075E0005F936F937F938F939F93AF93BF93EF932B +:1075F000FF938091300182FD07C0809136016AEFD0 +:1076000077E00E942F3A02C080913601FF91EF91FE +:10761000BF91AF919F918F917F916F915F914F91AA +:107620003F912F910F900BBE0F900FBE0F901F90A8 +:10763000189584E997E00E949639892B11F00E94F1 +:10764000493A82E797E00E949639892B11F00E940F +:107650007D3A80E597E00E949639892B11F00E94CF +:10766000B13A8EE297E00E949639892B11F00C9482 +:10767000E53A08951F920F920FB60F9211240BB6A0 +:107680000F922F933F938F939F93EF93FF932091AC +:107690008E0930918F098091900990919109281756 +:1076A000390731F48091C1008F7D8093C10014C0EF +:1076B000E0919009F0919109E25BF64F2081809171 +:1076C00090099091910901968F7399279093910950 +:1076D000809390092093C600FF91EF919F918F9125 +:1076E0003F912F910F900BBE0F900FBE0F901F90E8 +:1076F00018951F920F920FB60F9211240BB60F928E +:107700002F933F938F939F93EF93FF9320910609BD +:1077100030910709809108099091090928173907C4 +:1077200031F48091C9008F7D8093C90014C0E0912D +:107730000809F0910909EA53F74F2081809108095F +:107740009091090901968F73992790930909809365 +:1077500008092093CE00FF91EF919F918F913F9167 +:107760002F910F900BBE0F900FBE0F901F9018958A +:107770001F920F920FB60F9211240BB60F922F93F8 +:107780003F938F939F93EF93FF9320917E083091C7 +:107790007F0880918008909181082817390731F47B +:1077A0008091D1008F7D8093D10014C0E09180083A +:1077B000F0918108E25CF74F2081809180089091E0 +:1077C000810801968F739927909381088093800890 +:1077D0002093D600FF91EF919F918F913F912F9130 +:1077E0000F900BBE0F900FBE0F901F9018951F9219 +:1077F0000F920FB60F9211240BB60F922F933F9357 +:107800008F939F93EF93FF932091F6073091F707A3 +:107810008091F8079091F9072817390731F4809182 +:1078200031018F7D8093310114C0E091F807F09110 +:10783000F907EA54F84F20818091F8079091F907F1 +:1078400001968F7399279093F9078093F8072093F7 +:107850003601FF91EF919F918F913F912F910F9062 +:107860000BBE0F900FBE0F901F901895CF92DF9216 +:10787000EF92FF92E4E9F7E01382128288EEC82EBD +:1078800083E0D82EE12CF12CC482D582E682F782E7 +:1078900069E573E07183608382E999E09587848765 +:1078A0008EE499E09787868785EC90E0918B808BBA +:1078B00084EC90E0938B828B80EC90E0958B848BB2 +:1078C00081EC90E0978B868B82EC90E0918F808F9B +:1078D00086EC90E0938F828F44E0448F33E0358FC5 +:1078E00027E0268F95E0978F81E080A3E2E7F7E01D +:1078F00013821282C482D582E682F782718360830A +:10790000AAE0B9E0B587A487A6ECB8E0B787A68758 +:10791000ADECB0E0B18BA08BACECB0E0B38BA28B44 +:10792000A8ECB0E0B58BA48BA9ECB0E0B78BA68B2C +:10793000AAECB0E0B18FA08FAEECB0E0B38FA28F15 +:10794000448F358F268F978F80A3E0E5F7E0138271 +:107950001282C482D582E682F78271836083A2E8B4 +:10796000B8E0B587A487AEE3B8E0B787A687A5EDF2 +:10797000B0E0B18BA08BA4EDB0E0B38BA28BA0EDF7 +:10798000B0E0B58BA48BA1EDB0E0B78BA68BA2EDD8 +:10799000B0E0B18FA08FA6EDB0E0B38FA28F448F7F +:1079A000358F268F978F80A3EEE2F7E01382128245 +:1079B000C482D582E682F782718360836AEF77E0C2 +:1079C0007587648766EB77E07787668765E371E0A4 +:1079D000718B608B64E371E0738B628B60E371E0A9 +:1079E000758B648B61E371E0778B668B62E371E08A +:1079F000718F608F66E371E0738F628F448F358F74 +:107A0000268F978F80A3FF90EF90DF90CF900895FF +:107A10001092430A81E08093410A1092400A61E08B +:107A200084E10E94640E61E085E10E94640EE9EB4E +:107A3000F0E080818E7F808380818D7F808388E4E9 +:107A40008093B80085E48093BC000895413208F02B +:107A50003FC09091430A9111FCCF91E09093430A6B +:107A60002093410A2FEF2093D60910921B0A240F6E +:107A700020931A0A9093420A9091420A880F892B08 +:107A80008093420A8091400A813041F41092400A6A +:107A90008091420A8093BB0085EC01C085EE809303 +:107AA000BC008091430A8130E1F380911B0A841766 +:107AB00010F440911B0A2CE13AE0FB01D9018A2F16 +:107AC000821B841718F48D918193F9CF842F089528 +:107AD00080E008950F93413208F046C09091430A28 +:107AE0009111FCCF32E03093430A0093410A3FEFFB +:107AF0003093D60910921B0A40931A0AFB016CE1DD +:107B00007AE0DB013A2F361B341718F431913D939C +:107B1000F9CF1092420A3091420A880F832B80934A +:107B2000420A8091400A813041F41092400A8091CB +:107B3000420A8093BB0085EC01C085EE8093BC00B7 +:107B4000222321F08091430A8230D1F38091D6091B +:107B50008F3F79F08091D609803241F08091D6092B +:107B6000803331F094E005C091E003C092E001C0A1 +:107B700093E0892F0F910895613298F42091430A80 +:107B8000243089F46093F809FC012AEF39E0D90127 +:107B90008A2F821B861718F481918D93F9CF80E08C +:107BA000089581E0089582E0089585ED8093BC00FA +:107BB0008091BC0084FDFCCF1092430A089585ECAF +:107BC0008093BC001092430A08951F920F920FB643 +:107BD0000F9211240BB60F922F933F934F935F9305 +:107BE0006F937F938F939F93AF93BF93EF93FF9385 +:107BF0008091B900887F803609F49CC068F588328E +:107C000009F45BC090F4803109F454C038F488233F +:107C100009F4F5C0883009F44DC0F5C0883109F485 +:107C20004CC0803209F45DC0EEC0803409F468C0F5 +:107C300048F4803309F455C0883309F0E4C08093D8 +:107C4000D609A8C0803509F44FC0883509F45DC055 +:107C5000883409F0D8C0D5C0883909F4C6C0A8F462 +:107C6000883709F467C038F4883609F463C0803770 +:107C700009F460C0C8C0883809F4B7C0803909F475 +:107C80005FC0803809F0BFC05BC0803B09F485C08D +:107C900038F4803A09F466C0883A09F47EC0B3C06B +:107CA000803C09F4A6C0883C09F4A3C0883B09F4D1 +:107CB00089C0A9C08091420A10C090911B0A80918E +:107CC0001A0A981770F5E0911B0A81E08E0F8093D5 +:107CD0001B0AF0E0E45EF54F80818093BB0085ECE9 +:107CE00085C08093D6098DC0E0911B0A81E08E0F7C +:107CF00080931B0A8091BB00F0E0E45EF54F808327 +:107D000090911B0A80911A0A6DC0E0911B0A81E0D4 +:107D10008E0F80931B0A8091BB00F0E0E45EF54F6C +:107D200080838091410A81116CC081E08093400A78 +:107D300084EA60C083E08093430A1092D709CFCFD2 +:107D40008091D709803208F050C0E091D70981E0D6 +:107D50008E0F8093D7098091BB00F0E0E852F64F78 +:107D60008083BDCF8091D709803230F4E091D7096C +:107D7000F0E0E852F64F10820E94D53D6091D7099D +:107D800070E0E0913C0AF0913D0A88ED99E0199588 +:107D90001092D7090E94DF3D36C084E08093430AE9 +:107DA0001092F9091092F809E0913E0AF0913F0A09 +:107DB00019958091F809811105C081E08093F80937 +:107DC0001092FA09E091F90981E08E0F8093F90988 +:107DD000F0E0E650F64F80818093BB009091F90966 +:107DE0008091F809981708F47ACF85E88093BC0051 +:107DF0000AC085EC8093BC001092430A04C0109224 +:107E0000D6090E94D53DFF91EF91BF91AF919F910F +:107E10008F917F916F915F914F913F912F910F9033 +:107E20000BBE0F900FBE0F901F901895F8940C94F6 +:107E3000E83FFB01DC0104C08D910190801921F421 +:107E400041505040C8F7881B990B0895FB01DC0195 +:107E500002C001900D9241505040D8F70895FC01A6 +:107E60008191861721F08823D9F7992708953197B2 +:107E7000CF010895FB01DC0101900D920020E1F794 +:107E80000895FB01DC014150504048F001900D92F3 +:107E90000020C9F701C01D9241505040E0F70895FD +:107EA0004532510520F4423010F00C945B3FFB0149 +:107EB0001082CB010895BB27FB015527AA27880F05 +:107EC000991FAA1FA41710F0A41B83955051B9F74E +:107ED000A05DAA3308F0A95DA193009779F7B111CD +:107EE000B1931192CB010C94753FDC01FC01672F1B +:107EF00071917723E1F7329704C07C916D93708381 +:107F00006291AE17BF07C8F30895A1E21A2EAA1B0B +:107F1000BB1BFD010DC0AA1FBB1FEE1FFF1FA21739 +:107F2000B307E407F50720F0A21BB30BE40BF50B36 +:107F3000661F771F881F991F1A9469F760957095BF +:107F4000809590959B01AC01BD01CF010895052E50 +:107F500097FB1EF400940E94BE3F57FD07D00E947D +:107F6000853F07FC03D04EF40C94BE3F50954095DE +:107F7000309521953F4F4F4F5F4F089590958095D5 +:107F8000709561957F4F8F4F9F4F0895EE0FFF1FA4 +:107F9000881F8BBF0790F691E02D1994A29FB00126 +:107FA000B39FC001A39F700D811D1124911DB29F2D +:107FB000700D811D1124911D08950E94CE3FA59F33 +:107FC000900DB49F900DA49F800D911D11240895D4 +:107FD00014E0C6E8D4E000E006C0802FFE010E9455 +:107FE000C63F2196011DC938D10780E00807A9F7CF +:047FF000F894FFCF33 +:107FF400FFFFFFFF0000480A80004A4F484E00443C +:108004004F45004D4152434F00504F4C4F00415299 +:108014004455494E4F0026398C186DEA07CB6DEA5A +:108024002FCB6DEA2F1403398C184552524F523A14 +:10803400005344204341524400444F4553204E4F83 +:108044005400494E49544941544500434845434B23 +:10805400202600524553455400555345522C444163 +:1080640054452C4D4F4E54482C594541522C54499B +:108074004D4500504C41434520594F5552205441E1 +:10808400470066696C653A207265636F7264732E8B +:108094006373760045584953540057454C434F4D3C +:1080A40045004143434553532044454E494544000C +:1080B40054727920616761696E00446174653A2085 +:1080C400002F00000000008E14A4147C15DF14E9B6 +:1080D40014C01400000000D51CBD0E00000000E315 +:1080E40024B32487248F24A324B224000000003B5B +:1080F4002BBD0EDB110B260C262B2613261F266206 +:10810400253B260A2809283C268126C5261627341D +:1081140027AA27000000003B2BBD0E1A2F0B260CAC +:10812400262B2613261F2662253B26342DF42C836A +:108134002FE22F4130242C3427AA2700000000B35B +:10814400339A35C13000000000ED39BD0E9639C2B6 +:0681540039A639E23900F2 +:00000001FF diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok new file mode 100644 index 0000000..e69de29 diff --git a/SD_Makefile_Build/build-mega2560/acces_control.d b/SD_Makefile_Build/build-mega2560/acces_control.d new file mode 100644 index 0000000..73f726d --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/acces_control.d @@ -0,0 +1,29 @@ +build-mega2560/acces_control.o: acces_control.ino \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + inc/pin_layout.h inc/RFID_module.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ + inc/authorized_keys.h inc/RTC_module.h \ + /usr/share/arduino/libraries/Wire/Wire.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ + inc/LCD_module.h /usr/share/arduino/libraries/SD/SD.h \ + /usr/share/arduino/libraries/SD/utility/SdFat.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h \ + /usr/share/arduino/libraries/SD/utility/FatStructs.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/libraries/SD/utility/SdFatUtil.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_Makefile_Build/build-mega2560/acces_control.o b/SD_Makefile_Build/build-mega2560/acces_control.o new file mode 100644 index 0000000000000000000000000000000000000000..6c0f4eedfa885b6e0bf840a1c20ac31b54d0ea5a GIT binary patch literal 5356 zcmb7HU2Igx6`r+?7bt=FmZZ><)`2uQE!nXC!KP7LjMsKZY_Dq*sj@2FT<>1ntFCvg z-D?VY!3qSNIIRIgoQFz9vZFLnRDmj*Di0xj=u0G$K2}14l?x_{s>(>I8da6(_uV^Z z_j+Plb#b7sc(cxO*nBoa|V5jChPoKmknsMIMan|*@@wL@)JQ>8Pd&F9s9 zd#Cj367^1LW@!`pPv&mUU3>4wdkynj{_w^58&|h{aP8^~rHRu0;!yW-B=S0Ad=Sao z$CF|?{qoeDQlcwMcSTmhK2v9vnm&D?)L&ZdZTdC5UdiX?*-y@{zwm7GnLd?BcB4OJ zWBJWH(9h1#UR=1maO&2%J8x6JFt@O{aAo1d?X$~^)Gy30Tzu>DTlIfSF6EXayYSq4 zmd4kViw(CI#2prQ=|3#}rL=qg<48~`AMX8YH1c_{%5doJ==ec>LwDcvPt-TZ_Qx8P ziWQHId(JR=uMqTOf;{)Ar($Wxb5v}&SX8lsn{{H8#)_^tIT03Q^Lg@lS~FBU77we7 zo>PEF%5-GZ?%0QY@ZJ7kyorRl1ba1GwNp< zaFe-=XCnhq2PmB>PGp^9qVPsAJz4~55ZOaLEjef0MJB2I__&+%{B>Ua6F#Rk>h8U; zwtCemR;pT6h1KAz)z=~UQCWKT-VWd&hWPIS|2V|QfS(TWZDmYw_g(_Om7L6cYF1fS zt6GC!Z}1z`Pqbtkf>x;w%GLZX^bz$9!~Saq|A5MC3G=Q}4;cC_2483JmcetiDpaku zRv4ga^^n0oZ185j+tdkdu@}9iYSb&5Z$@9I9#+57JUd*&>XPOkL0^aQ-`6}l>aS~_ zD_e(%cQntA`e> zvdn*n!FL;c%HTbNe_8WS`T0DgUNQ8G2LETxbL={tmX8emb%Xz>!AGm%sEIMQ8vNr1 z-(v8}Nu}JPoyzCDLOvVIIatQI%^Awym0r zw^l3I`-!2eE5qL4qsCJVHwlM9I0ouv1PU9q6@xN4#_3xgbD! zg`19GANkjhUS;~pa+8U%C1L+YQt+HVGjkjFEsF<&F=JAs_{Q|-0@ zZ$uZ>coVSoXdvhLt<_gLUxuj0da<27Nc6_iIdJ z))>cSylzZzyFEQ)WdKy0>PU~G5m%D|-Op|}be#YHv*Xb>$K|;Yl5u%% zxXuT(qO?(|-vXmteK~c!0}i5vL_)Qj$H;qr7OHeW%_fX>X0@H`*lf*jV zw}KFLY>w{fOZq;9{KgUz$TJomw+%J-E((F;^8S%=r-A7Ml}`x(!4wES0UVBZ3zrYq zf${kDCh^V#GoIwvg#a<|LXzJs1mSoqh<64u#zU&*cz*;A=g02?$qA}5{=N1&Kp|)f z1uyyWo|OEq0*CA62!fFplKiegVA{!?Xe)L%*0AGQ6B4^mAu!{a`%9mHtzq{R6`CX- z6ENe2&xqJU8xK`Vix)3TT7zCpQCE9b5DG-|FDK sjBSFR#kC&clt~rZA7}gZK1u%&)(M*g`m@*~@O#?xF6g39XFBw}Us_2*ZvX%Q literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/HID.d b/SD_Makefile_Build/build-mega2560/core/HID.d new file mode 100644 index 0000000..57296ab --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/HID.d @@ -0,0 +1,15 @@ +build-mega2560/core/HID.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/HID.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Platform.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/USBAPI.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/USBDesc.h diff --git a/SD_Makefile_Build/build-mega2560/core/HID.o b/SD_Makefile_Build/build-mega2560/core/HID.o new file mode 100644 index 0000000000000000000000000000000000000000..3b2f6a39b0612bb1f5eafa913ff3418d94377598 GIT binary patch literal 708 zcmah`O-sW-5PdOKD|k?^UMdJykVT{(tY1iN(?XTf;>F97)}WWzknBN4@FM;$|5AQI zoJn?@Z4Y+fW!~GFoq1%x+Wn5>I56R0gi-}O3k6>n1BFkbg`pSz^*fa+Dkvc4ld@7S8h|JDTW tWo#47EUtA3r%ZGhf1K^t`y~BKSSM@}=+9z{!0&0#yP%66otZH6{s3zaLV5rI literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d b/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d new file mode 100644 index 0000000..75337b1 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d @@ -0,0 +1,13 @@ +build-mega2560/core/HardwareSerial.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h diff --git a/SD_Makefile_Build/build-mega2560/core/HardwareSerial.o b/SD_Makefile_Build/build-mega2560/core/HardwareSerial.o new file mode 100644 index 0000000000000000000000000000000000000000..46adf4bda241d517fab44ff0311495425580a8c8 GIT binary patch literal 11208 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/Print.d b/SD_Makefile_Build/build-mega2560/core/Print.d new file mode 100644 index 0000000..87084ce --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/Print.d @@ -0,0 +1,12 @@ +build-mega2560/core/Print.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/Print.o b/SD_Makefile_Build/build-mega2560/core/Print.o new file mode 100644 index 0000000000000000000000000000000000000000..dbbbbbcdbdbb31a36cb9503926f755ea99d29cc8 GIT binary patch literal 8812 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 z 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 M5Y1w#vQXmv2S0bCmH+?% literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/Tone.d b/SD_Makefile_Build/build-mega2560/core/Tone.d new file mode 100644 index 0000000..e5011f2 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/Tone.d @@ -0,0 +1,12 @@ +build-mega2560/core/Tone.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/Tone.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/Tone.o b/SD_Makefile_Build/build-mega2560/core/Tone.o new file mode 100644 index 0000000000000000000000000000000000000000..cee6040cb6947099a78792e0af3e4dfdb95c9319 GIT binary patch literal 8892 zcmb7J4{#LK8GoBxV?Z<^0!Bng02L9FkVFKeBqBXTTYDa^h3s$KoHy)$u9L?_T=orK_y@R?Jpv_r=!Wz6xtlB~-$72i@|R zN_57RBJQ^bDy$)uI9bBq(9o%AlqX8a&UHFfuG6Jrc9+^+8;d8AtJP7F~B%B_6Ws+zWe@sD-tw@!U6mLZIGVByHui5k)#dX(?H&{FvI5R$mFR-sW)~XnY+Ki! zuAg-s>YC{u?0vfT(cTApXZBh{&DIaBl;0M2%d0986#HD2sYLzB=s>5hl5?<8#TK^{ zv+AqQnNKWL$FIk|6Do91W}ObHz&lOF=acDjZFe4?uzq7Zwq4zcclL&H-wxG<)^mIk z#RC-s&sZw)i5>?%D>chbv4#w1$gR+kFw-<=e*oulw^VcR{%TI4HIi*4&WL63ee2nr zUrl+!a`b$fajML%bgT8uGnH+2=T5K&yT^wHIa0V6XjnJgg%dc63nzpI|KV0>tP;OD z#8rT+K_wbjolbk5+FaWiUx%l9+}WlQ&Q`rrq;n#g69FgTycp2ms{31Yj2|J!?f}ku z%~`KG&w%sO08X3cv}w*&R>GNKeYM_p&1nbcewWYS4bQw@ePYw6{@HZGJu34$?H$51 zqCaOqkXLGsq`gan<~>+C@*XUe_aK!g`TjhJ$Pb{Uy?H~-xfv}dmi+gzeaxO>=h(xs zf!N2fW3ks`&&T$~cEvhkkytpkJXR6Q?%m9le`xD8Yp@F_yZ3(TgIhGtb=Ilu-cCEB z9`5LjM>KBLxK(xGZRx`ZA5dF6?#CD(z&iLM7`e`R{oAI0+wprWex$e)yWWnAlDl2M zy=$NovxC*|Eapm9>+UE%W{&}y;^a6vzszyQPCp;N#qo;x@_0BNiFd?z#rMUZkG~!t zh!4jZjr-{1XnknguHJt2Lswgaw7Y17XtAzsS9W&$nfVhg$(opTX;x^+-(x+xf7F3d ztSg50I9i{skv!HoY!BG4+t1tk>|J(;9kIjqa=XGVwsT_VzlNucHYJwdn=!1G+<4>s zf*DJ0{mxYdVzqch?w;D3qmXwVKMH@CoRZ)Fiv`!VRZf{pbZ4J$JMYI-$ zSC&U3>lzyGZb`S!F0F5BuUp;RP}9`X(AJpVIcHs@hE8eL@I4J{qLH@n>@ro<+7?;c z($Jz)BE_=O*-R2{ZCV$OM#52s3|B9?C0P>*^GrXALxn|}a;`T?;uP3Ccgins8E>O3p>0?AoicFQ|)3bd#t502- z%I|+csuL(vUFg$ue0r`=AM4Zed^(?2>dI8(QVLL}8t>C5`1Ff?dcIG;#HUa6>6iL+ zj#lc*RQQPTT$yUJM`L|ce0qUeFP7Kv=<`%a-REKO>0p5zxu`!a8fVs6b*Xx3q*p2S z|3P$)_gFPieIk02pQHYs)_V8so$RIk)1+R_?sYgnuCriQkNQPMV)|FZvhcE9?jwN25wX1zvYkK&4` zweXgsUqG4`Y+TFv|8<}Tg(~GW0PxX5iW!>*txwY=uIy`#H z-?KaEe$N)Bbf4*jfm=2-Z)j|4Zz==ckm}IRzRg10 ze0z|#`L;G~^X-`0=G%z1?b`GWDZJ8uJPEHHIg`j}e7CJB%G*etN^naN91vRX4eOIo zQf+RiYYX#CG!=6+^L&NBwczUlEhNirIdBH-+^6OWUH~~CjeG}d6?Nj9A<4^@tI_B? z5uCfkem7*J*q5Q69l)cm#1F2WXrl%11|BtoR;Bi!jTZc4;7~zwuYF1|gnAZj)J!6! zoeaGZIMZVnc z5IJ(}I0J0*PR1CUyam7}?@Zby*DTrvmjj1zyg>*xS1|J~AYXDVBwz4ia^!fl6xigg z7R-12cHq1@jG|OMFz06@UD-NM-mxkvD0kklD}4*1Uk8-7CU8L
Zz6FNZ8e zW3CUrfxklwz7Kil3SI!Y5KTV^$V#y@*X?3o26?yG`$9@>1U9*PgtHs+5y5*PsWb0; z$omwq;lClABanwZ_)TE)C!@Bbf|=_>VB`Cx@F&5Zg=Xv%fweE>RKbfO=c4hx7C_Dy z`zw%(1Yd#LssuMeu0kW9oV&z+H#p6LcR+4NGo0;W-w94kFl&Cw!}+<`UjXN2vA+j- z7%gvZa*iD*o|nY$0`p!zgmlrEYbkvD1%Cngnc!^LPYLF|3_XN#xzy=f-yX5I!83tPoST6eXCq{l2d@%b1KBD#3fYFn_;(@ZJ%U;D zCc#`!9sp*{?T}jq^S$1IMqhGbg6YfWl7Y|aB1lY6jrrY_Etp%_7{OB^d88wsXDV#} z8dpPd*l6b&3gJi2W}|^K@tKY-Ovf?jG*Cy*b=)@0S&nhYXI@UhJQ8tnTgqFcp~hx@ z&Vq@UW3A7ez`Q4(Icdi&>a%4AZps0!q+Ryq#l-T7T_u=tcy2WDd7mc!O2Lf3N-*O$ zqA~s+$Y!xas8+#@85K<5je_aBSulkD|4Nfk+iP^goAa z`+xi4Ys%U@H|Tsc#doH(n>=C15j`iMIg;Z@jaJSAb5&<9lS{?Et1v1{$wQBr`Fn z8+=f(8IK#z!Fvll@3<{G2k)Z*o~Z#{BYF8ZA%8s9ZZ1{p<%1}w=6OH*3Be5}X!c^pl={{VcBPJ{pe literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/USBCore.d b/SD_Makefile_Build/build-mega2560/core/USBCore.d new file mode 100644 index 0000000..dbe1e74 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/USBCore.d @@ -0,0 +1,15 @@ +build-mega2560/core/USBCore.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/USBCore.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Platform.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/USBAPI.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/USBDesc.h diff --git a/SD_Makefile_Build/build-mega2560/core/USBCore.o b/SD_Makefile_Build/build-mega2560/core/USBCore.o new file mode 100644 index 0000000000000000000000000000000000000000..f37ae740c80dfd543095c2017577ab2dab15b4d3 GIT binary patch literal 712 zcmah`!AiqG5PdOKD=4T3FCMHXBgi6B4_d2eXd_sqH1y(SNo&wcOi1>iMertmmcNuQ zh_lJASv}Z+$Go>Q`(~1T?+yBvWkH7pAGHELNqkVTT{bvqViE9M_q64BcjNt5o1L&D zfMu_d2qu(8TIDCrMED}W9s&`7O|lGZ8b?w1EcC=Wn{yk;i@E~XzqXQk!7P)uu|_B7 zKc{)IMZ9b19pV>;c8GTjP2XWeUP!Ncr@#9&fU$q&#%ai=NdnIOA;0FlB7=&IdR|FJ zm$$?Fl8GqcY4}+3S(wI37<2!p+iIsJ)mFVreMj%RtNQFYeS1`I66W#uS7Ti literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/WInterrupts.d b/SD_Makefile_Build/build-mega2560/core/WInterrupts.d new file mode 100644 index 0000000..24687da --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/WInterrupts.d @@ -0,0 +1,6 @@ +build-mega2560/core/WInterrupts.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/WInterrupts.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/WInterrupts.o b/SD_Makefile_Build/build-mega2560/core/WInterrupts.o new file mode 100644 index 0000000000000000000000000000000000000000..4af23ff49e56d8af7221a9a521b5e0ac30199c00 GIT binary patch literal 4724 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/WString.d b/SD_Makefile_Build/build-mega2560/core/WString.d new file mode 100644 index 0000000..bac548a --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/WString.d @@ -0,0 +1,3 @@ +build-mega2560/core/WString.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h diff --git a/SD_Makefile_Build/build-mega2560/core/WString.o b/SD_Makefile_Build/build-mega2560/core/WString.o new file mode 100644 index 0000000000000000000000000000000000000000..47c0b1832ccb24d52e2e09475ef34b4221f1e52e GIT binary patch literal 20808 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d b/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d new file mode 100644 index 0000000..fb27f21 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d @@ -0,0 +1,4 @@ +build-mega2560/core/avr-libc/realloc.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/realloc.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/sectionname.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/stdlib_private.h diff --git a/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o b/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o new file mode 100644 index 0000000000000000000000000000000000000000..92da488e772dbcdc95879d6ecc7206aedff30d70 GIT binary patch literal 2040 zcmah}U2Icj7=FLC+Zbaj?FLmh-5>_hY{y}C;SXvJvQ09v{P+ja+I43PY`fVt%OKM= zln^iYIX`UGguoKGAY_3_X3&I46E7sr(BO?BUaWXwOeE6AC1z%^KJV!{+o6f_CC~Rh z@AE$2&-uP{&e+!O4j}|tP0%h{&WQReh>oJzZWuPwN~)v*ZA?3Qn=9G+bUAe5BRZc2n%7C)!6w#vi)%91?X|dkF zsp=Q+pOrLE>D!`4ZB*T<3a_`4a^-FAa#n8$XX>aoWjMz++FPh!Iead;Bk4=t7Q7;*YXePhd@B+zwP``9 z$wcz^*1w;=Q=fN=+)tuzVp0D?_oOJD(}}VGrH`wp@l0Lbcku*M;$z{Ns8Oz|ldY6a zV3!K;>6*{6w+`>ya9A3j;_<6zuKG~-14kOhtAFz@z+uh2AU;ZdkfijiaR#G&?zs!% z8zZ}E^xp|e-vkm_CHsH(v0|J$w`_U7d1L4HH=k^7m!6ZJA(Dm;M&iL9#CWV2`z;oi zN8%*)2IE1JdWMEbipk-i#Hth=j6a4MZYxG;X{$C7u2Ka#FrvFFWpg`-mJ= zW-lXmP&Jg7mehQq9{fdH{wVm%wtNHl3%0y%i8IL;HlttOQ|W%3_qiQZL9dz0j~L`3 zC+)B~R)fD&lD}7yhf4BrN&ZPmexf9&m>dj;2SQSa0)burKvy78B;7@_b8DwTcE0ku ze~-c9k-Sba%{j%%y}qcOh^MHFXW~fXSnXd>-tXf@j#& z46zYPQC=R^8j;9L(>57VFvLE!2T{2zA|+Q{0AGqYw~{(7XkKr z;8_dsJdY!;2ds5BfLm)lWpWIo7Mtf;a2~rEvBT6a!LtqA>1H?4c9SE}ZglKFfw;%U z-v@Vk3_JCh9D({w&j@0a^}3=bW^x3=f5MoP&p*LB)@A*O$$7*vaO=4gaO)mF1Lytl z*fXs2hlh5axp@~C!FlWq;w2j|Iv?COz=C1;%8ISsj8@2PbI%<$D6P6~Kdh zo8T#3m%neTS+oTL{}Fsx@-^58yFv0JjQw%quf;t}*!9t-W#KA^5ES k3+L9l98p?oy-55JtDw{Xye_}?oZIJ{K{5`_YSw)J0@{*QDF6Tf literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/main.d b/SD_Makefile_Build/build-mega2560/core/main.d new file mode 100644 index 0000000..9c56317 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/main.d @@ -0,0 +1,12 @@ +build-mega2560/core/main.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/main.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/main.o b/SD_Makefile_Build/build-mega2560/core/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a76b6049af80307ec4d740fb799f581d495b9a9b GIT binary patch literal 1076 zcma)4!A=xG5PidJKtVxP4=5hSg8>rKg4v52Py@?y0790K5H7<26WwHIcbsX6df~F;5GyP3<2jX)(XKa zMlpi%Unuhel(@Z0+*5f^Bzth^6q8(X_`K~23=ZvmD6NOW|_sIxMDwMfU`HPmsW zBdEhXhsxr1q=cn7%JfO9lBm^zI_f4#+|hPMH@dS{(CfQ3|ISGOA3Tg>KABPG%QsxF z|CD&i$zKwGbn@54ADsNn4HnSrOYL^1!Feio)INr>ZkQL0RaCI)D4q~E2l7294~W}N zE_%qu)KQuu40pD}^)M{KMhTkrMgf|iH@Ei-q?0tv;x7gM8E0LS6pL?lS{ixGi$J)) zSj*$A6}9W9yo%;Y=M?R3H?{4n<0X<4RwqjQfMKc_3dNqE8~jK#lclE0Ff;}T_e^-B znIiTLPxxOpO_l6^*r;m*U)g(kWpw^Mx*68x4EO04&HvoKa-Y_0-+2}l`x-b7P^MK?-#>aH&D{GhB{of@u K-^f|B|GNgnMQJVo literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/new.d b/SD_Makefile_Build/build-mega2560/core/new.d new file mode 100644 index 0000000..d76c3b7 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/new.d @@ -0,0 +1,3 @@ +build-mega2560/core/new.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h diff --git a/SD_Makefile_Build/build-mega2560/core/new.o b/SD_Makefile_Build/build-mega2560/core/new.o new file mode 100644 index 0000000000000000000000000000000000000000..b8bdd17230bab02a96efd689996009779e9b7174 GIT binary patch literal 1916 zcmah}OKVe65T4tF5=-eLS`c)Rs$c}UsAQqFYPHt5XiI3+MUbAJB)7Gamp3;}b)!LW ztzdqG3;%&z|Avcf+?$d64N{y6pVgo1L8C`DrxWZ^f;eWI`zNZfM{h*_3;8vRTy4MK!Jmo0Q zH3`F!%q3!{4v>HenMR&~GZ?vl9376*i0=u00r3ODuOPlFxO{s>*}zwtEcIR> zm#+uweYfhik;_+*>wa2wJEzqBGIcj_BrBua`ykDEbnYpHK#%ut0>*e=8s&OkVqk!N X4&&ssU-~}iotApbNPb|9jrINkvCq;m literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/wiring.d b/SD_Makefile_Build/build-mega2560/core/wiring.d new file mode 100644 index 0000000..bdaea2f --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/wiring.d @@ -0,0 +1,6 @@ +build-mega2560/core/wiring.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring.o b/SD_Makefile_Build/build-mega2560/core/wiring.o new file mode 100644 index 0000000000000000000000000000000000000000..ab936a7ce7a7225d30dd03130f21230ead07a796 GIT binary patch literal 2868 zcmai0U2Kz87=FLDYK4Vv0|^mkXFx!s?ZhQ2B1Ms(kbyYF3oiWDb=}t3u1i-37>Ml{ zh8Pq2vx>wE=AA|p&;(74I!I=+8?$h4vf_pEW28;E@WNz1&*?ec*NWjy-tRo``#$G6 z=R4nfy1l=vXSZcpV$705vJ{ETJ|yx1irtE^SyszR@fUmr-?zR(+lF8B`uMYsuRG+*#vAK>E`>XbA{lrNJ`KOb7&Dv-wOP%q znf%54h5XrkC?CxGa=xE@Ie%_VDfr#rQ+=2}3O72z8E+|syosk#zIu6eF|svfJtIKKAe^5N}cJEW2=&pmq0d)-_0&b{&L>vClwKc8RB-N`NF z=5yYXb2Jvm2AiiK;*b{l1l7Xyl5mjG61$(BQ_Gl@>n>K zjwPb0E_*N)jx=V>dJa-@JenGeCy&~Zy@w7g<}{Q}cd2vRCuTvBamN+TfN4n__QM z%-t@TTUwR^Ah)b&iktOYo9b;%al0JW8C*1J7mtK>?7`S3t&(hr+vK#4*I;bN{y)<3 zJ{5ZfKRL>JRJ=^i>v)xlTjWa}&#HKZT+%TIwcDeyRBU7@5E0uxbkN>w+cnTr1HHTU zDA4=L{)0ypN+(9`RCGw;_oAt!4jS6e+4;JlyHH0>4XBIy9@Luuza6i7-L?mkb|fAR zr)*v~;kkI&R511uF~5DM#_Y%q8oM!WCT_oiF??>_VeiR?L&Icx+=jld~XU6k%Y0NVr-iDEV(@p`{V{jL)0q=Mx+~l9u`PCRX z#|;iK*KWxB=--!O82C*e-L zaRlTTGkU7;k=&sRUqO%OLN0a8{z|}3y$=!0B4^C#O(Ws_z6a2Nrbe#8-`s=8wTv0w z&qy@u-HTTSk8}8~Xk3>)Z;UlM|3aAFW33Oon*`d-x*SoeTMs5xkbDFg-Yf0_S4kd* PJN34q|7MUgX7v6Ah*8oV literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_analog.d b/SD_Makefile_Build/build-mega2560/core/wiring_analog.d new file mode 100644 index 0000000..2f6e73c --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/wiring_analog.d @@ -0,0 +1,6 @@ +build-mega2560/core/wiring_analog.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_analog.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_analog.o b/SD_Makefile_Build/build-mega2560/core/wiring_analog.o new file mode 100644 index 0000000000000000000000000000000000000000..99ede81e973c7b587eeb0d610ef0dc32a033aa2d GIT binary patch literal 2688 zcma)-TWDNG7{|YpP1>}iX%oDZTI{NkZcN-XHF&9LV{a*v#E{^HqMUAaPd8h#*=2LI zxrjYVNaF>&+tZM0z2wnLm7?}Z0*eUxAf!bR-@1i9h`uC{Cqd%>f6kfBbZyar+3)xL z=bLZl%zTraJlK86Fbq-6kO5iqM1ET@GL69wFCZcfQZJ4xQad~SkSt9P_3XV8Kj_b%}_f09fGZJWnzV zw><5l7k3f<*UCo>{ck)!?~Uh?=RIiWl!h2;=b^nHXfsEB?L%lEc-p)-7r%vhIX&sP z^O*4|Mn6%b$U^ONXrBcdvrzj2+67Mw8~l>6aoKG)if+Wlj&$`t+Z^tQJ{H|A5*-~++p$4dJLlUWMYc6& zOEeL)V-g)49hGR#8jeM&Mq?wf;Y_mMI%egpk+^lUp;+SI>hrmjt%9?;Ofqeyqse&O z96e!T?O`j(8-#J?KrwS`OT{zkv^8SiN(-l4{zuY)}sqFdj-&go@B9%*xBu&3s zqH!_Jfj;xFY5LIZL;t}p5Bi_#={w?)ozCLIlO9i4xlG_x7M<^FrJ({)dOrGvlueEF zWD=GnQpuDZ8}`M(F)?V`8PiUst(@7{)q|~hrFi`1bauD5gG9!RXR_m__Yl0Qsov~= zC@ZK6*TC~;ttfpDI0U@|mbcV+JAP=dy7u?7VpdCTy+*dF+q4Ai;?`X{X zSMe7#E^7RX#=mR44r{2n+cb`9yieojG(N6z7R+zAVRM0gH`bxg{I`MGYQX)lyd(09 zuzYdkW3aq4@&qhj8kuLvS4Mspwl3h0V0nDhzl3G&lfQ%Iosxfr<=W&wV0ne)TIA$$ zledFeCuFY0dnfM#^Bc$qz~O*j0RP{17Xlg1?_y)^=}o1&2O>EX4BjekC&qa${}tDc zn96n49=L>Bw-wCu??h)Cs`1a4Pl-A^&$}C4&&RjKT2@Wv>w=)?vyra}8uM{|m2VKN z=bM7hzjvxBdJBxvzp{b_w{R6~+qnrQ$ literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_digital.d b/SD_Makefile_Build/build-mega2560/core/wiring_digital.d new file mode 100644 index 0000000..31b6e9f --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/wiring_digital.d @@ -0,0 +1,6 @@ +build-mega2560/core/wiring_digital.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_digital.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_digital.o b/SD_Makefile_Build/build-mega2560/core/wiring_digital.o new file mode 100644 index 0000000000000000000000000000000000000000..c76527e3ff3a813b9b9b72a10f715c1722938fd9 GIT binary patch literal 3852 zcma)7TWnNS6y0}b+RjW1ohc8A8avPmg_hfgjpDmJOH9G0C>TwgPTQdjcG_k-4TutM zq0z<CXs)Wn8-=S-W` zR&hqe%35;zh)mgd+{#(vpB(>|7W^I`|K2}oWiP7;AR;a!!pdfp4S1ZhGxG5XE0?i- z7nBcZ`!3kN3$`y}II96|U&P?Nh~b~q`&k-q=5FV>6INfFb#Od8QDe+x@)MO`R6CX* zvbU7)tL&9*EG$#!ul{{zVk|OwvS#Acbk?kqsh%d|F0EU}PBvPTryP5IL+<=FnK}*o z?_*|t-Ko>pZf9?1{gc%>u3XpHl>f(GdpzslErr*!H&Das#d8uOEXVD;(jo%-pVlf4@GA0_+Zxsj=6ET736cda~50nDjbBoOrY%PW?Z zm3n>d%dtpv!=cJWtTY*(P$c5_hazqGvpj~!@cTT5;qlRAS#6OJb&ErBw_nGVK*~z| z5Dz36^!t4f++bV0N_=HyWfe*oSE{63iAY3hWW8*Z25FQQ6er>}N{s+;ojfgdQZJ@7 z)Ac3#6Y1E%fm9;Bn7u0=>l0Hi!GcURBZ_3v^iVXNNXApq z&UTdZps=1qI+~1)y!Y_P;h|J|kto}Y^%8@_qYv^Ajiw(QkVFTZ{JlfTWPC7v-(AF^ z6~rgAa|H#&yWq=5-Q#vc_evEkuN17ab5DT3?9yw&Uv=r5!C!Rg&lNby?A&(z&ev32 zk54*P{3W1Ad`fe`E2Txczeo=j=@mu#@*;iV+x1GQ$R94!*^PPe%8Gdf%quJ99hZgK z4lDgAuuA-rQu;1nSSsby1$s!nR{G<%e}!CKpjXL{O78|%Nl<=Kx|44?{y{m?W&11S zp3W~hHbnR@nN!Qjrop0MLog9v);{7&17EcW+ z#r1@v&U-yPnjCIHn0}x|Z*0NiDe@Jbi+&)5`>hSG7op}lue~VI{6kg_`|ax_^UqGu zLEJO^&*#nHZSjI%1oG@Em*EG(Qx7S=5H+&W;3;#+{*6n_o4U-5&$ zcU_!!f^$y-kGVMS2JK%0KXY+VDS_Pt^2L(30{L3VdDf+huLJUx(0&of{gS@~JtEy1Qll=bj@5+*UbIunz>(HGi&qUQ^S64!l*)jD6B`tSuW9-f7+hqdW?*f$Rv%pR=A(Dk%{2bciTiV;+N8#v?H zr(GCc#X%oQ_&u$KV_f2IW@__EL+sZ-c>|?>h3`fQ|Xs1D!7k?ym1&=tnWM==u)9 z;Leu`h@69s`Pc`Y&jNSnOF`*|O^eR=0SxYZ4Y*ht*qD!ZOy@fb?#}l!lrGq`=zKXC z-1)w9nV!cv_#yPifd8}?LZvgsur%x!Osd@1=$bf6FQV=N<`@e$)m9m7#@RV4F>y+ TrzyA|3-U=BzVA8-e473bJ!e3} literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d b/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d new file mode 100644 index 0000000..8b676e6 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d @@ -0,0 +1,6 @@ +build-mega2560/core/wiring_pulse.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_pulse.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_pulse.o b/SD_Makefile_Build/build-mega2560/core/wiring_pulse.o new file mode 100644 index 0000000000000000000000000000000000000000..86ae6ef3f46f969eae0c80bd3dbabb147ac60d4d GIT binary patch literal 1532 zcma)5Ye*DP6h7BoH+Oni_JHi6Jt!-g?DeCf+=|pd-Noo7#BJ40C-=qfY;UMQ?D41B zu@#a)0u%dXK?FtQ_9KWSM6e%0?-LR=^F1+v?-?fCOmyf zBX%TDu3{5UH$wV>cAfRG%BZ4UE4*ED*{67F*fHkKbQIqb`h-Wqi}KO((`<^pOpYbn zuAExcJ|EIN^RoD@@J09`yjt+i`PKQ$$-YCniXCB*OlNVo&@Vg|(u+o2pIqNulu59b zoE4t10am;CxI65=#C-s{l1(qnVn7`aQtz>% literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_shift.d b/SD_Makefile_Build/build-mega2560/core/wiring_shift.d new file mode 100644 index 0000000..824b831 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/core/wiring_shift.d @@ -0,0 +1,6 @@ +build-mega2560/core/wiring_shift.o: \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_shift.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_shift.o b/SD_Makefile_Build/build-mega2560/core/wiring_shift.o new file mode 100644 index 0000000000000000000000000000000000000000..93f96c5c4fe4fd188ef31de008435d2289064ef1 GIT binary patch literal 1516 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
F9H?&y(0`igOl6 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μ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 SM2*${#sJq2SAs{J$on7usfO49 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/File.d b/SD_Makefile_Build/build-mega2560/libs/SD/File.d new file mode 100644 index 0000000..2e698ba --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/libs/SD/File.d @@ -0,0 +1,19 @@ +build-mega2560/libs/SD/File.o: /usr/share/arduino/libraries/SD/File.cpp \ + /usr/share/arduino/libraries/SD/SD.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/SD/utility/SdFat.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h \ + /usr/share/arduino/libraries/SD/utility/FatStructs.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/libraries/SD/utility/SdFatUtil.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/File.o b/SD_Makefile_Build/build-mega2560/libs/SD/File.o new file mode 100644 index 0000000000000000000000000000000000000000..26efd6440d91c256937b8d8a4dfa700e91d5e572 GIT binary patch literal 5376 zcmai2ZETy>6~3=sH%?O;>Qef(E=gOuQc^E11_B!+U6Qt1yUrtBrFLk>aZKY9$DZw$ zrkmEf#)woT&Bq)z&@{FmY(KV%P19NliB;2nfHqd~XF^j%jWhw1%94&qAXLbn=f3ya zH@6NP>H41MoO7S|+>iI3H#yUNV2|TCLW?7ML=_3~(Jewe1!qVGY!f@gcIj^bX55$1 zu1sE?Y?^re;#(IJg=y#g@f+iwvmfNkJ9d}Da z?lY@T;YbIp!+Ek@nECmPe(J)}^!Q7SlTDM%rs|t<$ncEQ_|S!!wRO%cv%KMaz1UOi zE1oFs4u88oTL1le#=Po?%Wlr(VunrQjhNlc#QcQjz2^MDIqz&ZxBlGI|D7zqP=2ZW zOyOsR-xdBWXZzE_(}j_@$I4`T?!xc|&TPlqA3D>HGj_|w_L4Jq0IPS&`G>Q7iZN?P z^;71@X2$#_cdaz@lZ8^@#ll6&JYG0k2#l^Az3nM~$zNJN3p1@K?^1vvtFL4f`67H2lkX&B?EBdvCJt7rx*7#4J|% zU9ORbt~!qu@WSP8OLPSh-!xNq#&kFJxeW@pG17+*;)e@Px|^Ji~o=L5~#_8$Ds zoz0=({lQ&A1hYfQT(lQ`F5~w7TFb>x&)}Bsf z6S+ica1q*U;`Aa(-5)&}O$do;po#CS0%%@iW$Ew=kJzUoTG0o@QgKA#c8TjmQek$t zq7@XT9uV~c*IPwsdr_ev`c0xiT&j58@qbtNHuM4P$F#zSByJSf6lO<0{Yh{fdI0;g zMja0NS}@<1>S2-b+brCsupYlh;jNNymFThXqY8VZf3-+j__V@&69U-(^9rw*c#Zg_ z!tVUmi9aeFkp2zguL?IyyivTl05^&E6#ky{w}?*^-Xig4v4V*yk!xV#tqQyO+#y1i zU+~@z#?omKiS&dc`yvrnIp8V}ckh+T!@Iv3J}R|bG9Agpk4gP>Jd@JEt}Rxvkp%@d zb)Bmc6yA?pwGydoOEoN%9U6?`Ix{S)#Ml;I&zeZrnhI70raI<6-r7C!94>Ahw6N4v zugqk0U?3F}sH}sr^iVZ?r&*Z{5}B-9n|8XHOCYO~4(l>Kx;Sa4U6HiCT81hXReLlx z3y!vhRF%bQETvt9($wI$yXez-%(<3Rv9n$f(_`Hsr5xTY&(X@v0X zd+^hNUh*h=v$F3&FYmDJP#~;PUc`R`eV3tg*wR)ZE88~cbxP-a0z2>n`6`+RrQs3u z98aAbhtUE-{6JUfDJSZFVGf(RD%Xz_AnU`7zX-65U*j4_L2Lm})>L@ML zB_|f|0CeJjDmij5Xn=H}c@Psu&-}egmpmv*Uxba%3vi+k<{D5%T*hFdb^c!Hq~-nR zQ{{Cjbp}G1zmJ;^M$I z$F&-9ti-%pnLCC1X^OgbQDfXV{Ux+m9Ji0p`MfyhU_X~OE&93pU@+s-!0kFn`3O7F zIPVTL%5ShIZRoi!{5qnKYkv&Qnfk zC^h#-&*MjcCf^+Rw!lU{s1?2!pqu%<1I)9nMe{umgUPoRlhgU}Na_4uhHmnG415Sp zi{|?i3?^S2__+4Wk4IPY{S&&$cM#w>Y+5wm8!(uBrwl%RU247$p__b{0C*($hR3y^VMTK$LRa?9pGB$WeMyi-%r4& z_k*7Wns1Zh^Prc4i?!B$wb9~x34Hqf<(;hg_#MprcsEjR1)qIh=;u2MS4B1faPPD* ghQi)3i+&#rcvvgC7FU(|^3F8*`eEoa25P?l16_+yo&W#< literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/SD.d b/SD_Makefile_Build/build-mega2560/libs/SD/SD.d new file mode 100644 index 0000000..34eabde --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/libs/SD/SD.d @@ -0,0 +1,19 @@ +build-mega2560/libs/SD/SD.o: /usr/share/arduino/libraries/SD/SD.cpp \ + /usr/share/arduino/libraries/SD/SD.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/SD/utility/SdFat.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h \ + /usr/share/arduino/libraries/SD/utility/FatStructs.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/libraries/SD/utility/SdFatUtil.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/SD.o b/SD_Makefile_Build/build-mega2560/libs/SD/SD.o new file mode 100644 index 0000000000000000000000000000000000000000..23f0d7430cee86d58ae9a548ccf49f4421d13c9c GIT binary patch literal 8376 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 MrP!oy=nN9?f4icMF8}}l literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d b/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d new file mode 100644 index 0000000..8a6e19c --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d @@ -0,0 +1,15 @@ +build-mega2560/libs/SD/utility/Sd2Card.o: \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.cpp \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o b/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o new file mode 100644 index 0000000000000000000000000000000000000000..7937e3bdb28c9cc206bfab292d31bc3611b1c14a GIT binary patch literal 9936 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 T#`f5S?+P}n{VEvZnd1BZ!_L|2 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d b/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d new file mode 100644 index 0000000..0c06e86 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d @@ -0,0 +1,11 @@ +build-mega2560/libs/SD/utility/SdVolume.o: \ + /usr/share/arduino/libraries/SD/utility/SdVolume.cpp \ + /usr/share/arduino/libraries/SD/utility/SdFat.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h \ + /usr/share/arduino/libraries/SD/utility/FatStructs.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o b/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o new file mode 100644 index 0000000000000000000000000000000000000000..5b5ca8c3a4dd1b3047db2d50acc7b542a81e552e GIT binary patch literal 8136 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d b/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d new file mode 100644 index 0000000..893419d --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d @@ -0,0 +1,6 @@ +build-mega2560/libs/Wire/utility/twi.o: \ + /usr/share/arduino/libraries/Wire/utility/twi.c \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/Wire/utility/twi.h diff --git a/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o b/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o new file mode 100644 index 0000000000000000000000000000000000000000..c2e614f18b5bc0c92ccb8c377166a7125ce82858 GIT binary patch literal 7788 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/src/LCD_module.d b/SD_Makefile_Build/build-mega2560/src/LCD_module.d new file mode 100644 index 0000000..2049798 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/src/LCD_module.d @@ -0,0 +1,28 @@ +build-mega2560/./src/LCD_module.o: src/LCD_module.cpp inc/LCD_module.h \ + inc/pin_layout.h /usr/share/arduino/libraries/SD/SD.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/SD/utility/SdFat.h \ + /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ + /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ + /usr/share/arduino/libraries/SD/utility/SdInfo.h \ + /usr/share/arduino/libraries/SD/utility/FatStructs.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/libraries/SD/utility/SdFatUtil.h inc/RFID_module.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ + inc/authorized_keys.h inc/RTC_module.h \ + /usr/share/arduino/libraries/Wire/Wire.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_Makefile_Build/build-mega2560/src/LCD_module.o b/SD_Makefile_Build/build-mega2560/src/LCD_module.o new file mode 100644 index 0000000000000000000000000000000000000000..17de48ce7802106482d2d2acbe9d06817efccc7e GIT binary patch literal 10388 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/src/RFID_module.d b/SD_Makefile_Build/build-mega2560/src/RFID_module.d new file mode 100644 index 0000000..b7a9de8 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/src/RFID_module.d @@ -0,0 +1,15 @@ +build-mega2560/./src/RFID_module.o: src/RFID_module.cpp inc/RFID_module.h \ + inc/pin_layout.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ + inc/authorized_keys.h diff --git a/SD_Makefile_Build/build-mega2560/src/RFID_module.o b/SD_Makefile_Build/build-mega2560/src/RFID_module.o new file mode 100644 index 0000000000000000000000000000000000000000..4bff9475e088b5f9059a39f8421134c7ea844bd1 GIT binary patch literal 4280 zcmb7HU2GIp6u#4?6tGZO%D>Pe|A@jMM4v0vozNZl^#=6S^!a zDv8}9t-c6}i6QYtjK2BMghvu;d=O%YOw>d|Fo4uV3`zaI*}2`>ffhZ<-TR$;?)mPy zXYM^Sd$J+Ws3?k%qKI~p*Myi+D#W`mR+|&nixpy-c&xmg>B!7D|5&-0zMP&vbT&JG zcrg9`BIW+6OgXgj;Y?-$`US(MGYiqblSvyh&iA8@p1XDKrs5u|G`z-L<#zf}`j@hY z74uImAKa|I9$fA96)R)6vZLAD%)82&^rz{Y${*Rs*`of3Y2&3O=g+KC?&n9R_5W2c zI_F~{XeCD}aE?pt3O4T*^}z@N(6s^HPP}H^6?{C=~6r+Q;2Ja1y50;&)ILGkr zDjzCW6%utAN#mM{ZYZ&AU)C`08w@bNX02`yLxDix$$cX!>!1c zWyc5Z4crURQFdkw7$HjvCUsoRV6&BNSF4MNxtgP;YjF+8jl=PLs}}_aCGvi z-cVOWOR4dm=v32c+ZtQy)%K7UH@OmwksI)Ne3MiAa#3iZP^5dR5UQitSXAqZo``Un z!l~W5mePBY9&6K0@yi)rE~hdyTMxZ|)Fi*hTu8%@1Lcr86(>NCZzeDclRgdKXu z(myljmx_xH`(=lI#nQPmH}dzZ!~VBJFS8vnW^<)O_d4{Q4t<|P7iNu!CBi*j5l<+Y z6sp?Zsy3@?4&dq%v^6xDpsj9C>j4w#v80-c95V5VNGc(fr(L)FO)I#{Q`LiliBsMA z$xBM1#b>L)1(v6j-9md|tu3$>6j)efjrVz5Tl{{tS?kj4P#Eo&npQtbvYtr#Q@u$& z;meuxuL_@|{=#=lyPk^15Baf$-64`$16q4S+wOKeAN#Au_hem$eQP@c>e9NqYdRx` zqI?}-P)56zA+?~Ib65>0)I(i~POVGLRpb16^=7cP3AsvZx`YzRUe$aD=2Y|b#J3^O zXc4}vJm_B_o-G7a!8%xka?yz1Ys0K}Zcc>kM02yyK+OALl^6O>FEfY5^XN(}TnX%6 zlN;y#oz966*3=RUw*tEm)EnpzpcMhLKEGw*KJ-bnnal74NukZM@KIp*T8;{F0*yQ$ zpg)5~9>zW$&AlE!?AbP$(EMS{yw1FWjG34fd%DF>-x3R(^~%}{^F?3UnF9I}V@cDO zRh?_mmzY&k=7ANGzO&FX1@t9m-ncILSZnD^T!|)qR|C_R>#RkiFEO`A-v#KIXZjK| z&(hZmOka+(w$hiln&X(y^_egF5^qJ5zJQ{bn}Ept@EFMa5Hlz47x4pOOyr?34>F%T zGewK=T~7m~82JAPDfx`JE`_n%g*M7cG-4MO$Yk@@!NypgHII38t}FKdlWAkW&%!dk z?a-NPDKfqQ2AIbkmO;mBpZR0n`Gr6m^*%KFx^d`yzEULLF$~!G`fYqXf0FNWU_0L@ z&>4#q$;Wr4o$oC8czzfk-~`_lVEV{C{sz1pO$u#n*R5XWg@5_Dh7``B{D5X(_d6_h z31eKB`H=hIM<0D8-vuZlh%|H#L?CHXeO!Or(Blk8#hC=yebSi`uT?-D-uEIk$fqOPwsaNI%|X!sHVgmeBXet z85YLJ>nr)bwD@EkZUBi%B=HvxzQ?xsm~YAVwS%u51Xj5qotX>vqnKyEZ|gB{6%Cfa zY|76TAI}_x^Oz4QoX5s*d3kqf+lG0+OA_c3vWICxRwMBH7~olD<39NOc((0)<+wZ@ IHb=?#FMyJ?iU0rr literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/src/RTC_module.d b/SD_Makefile_Build/build-mega2560/src/RTC_module.d new file mode 100644 index 0000000..b8b3223 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/src/RTC_module.d @@ -0,0 +1,15 @@ +build-mega2560/./src/RTC_module.o: src/RTC_module.cpp inc/RTC_module.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/libraries/Wire/Wire.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h diff --git a/SD_Makefile_Build/build-mega2560/src/RTC_module.o b/SD_Makefile_Build/build-mega2560/src/RTC_module.o new file mode 100644 index 0000000000000000000000000000000000000000..3a0741ff11555b9990636ad220781d68293c58fe GIT binary patch literal 2920 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d b/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d new file mode 100644 index 0000000..8180c89 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d @@ -0,0 +1,19 @@ +build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o: \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.cpp \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o b/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o new file mode 100644 index 0000000000000000000000000000000000000000..f9b07ec9597f4bd35ccd7315d4d428f81fb10588 GIT binary patch literal 13076 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

$pC&o{n?qYclll-`t3_zHBh`4T3)1 zALl#tJ!9xAgFfC*=%DTUgP|`A`o@C9{+NiU+xw}ZF93a0v@)bx-#$a%Du=$w4t-}} zzOoGHcF4rxaJIrsw7yfobN0tu(8qfa+IIn>wr{ebuL1f_!gU?AzVU{>_8UU}n+mel z_Zvgsol*2HH1u_G=+kF^_Rn30zNers(s}$gLtih4zKb08y=CZo5BmD+#v;}2ea+C9 z?$CF!L*Ms?zW+jBbp(B18T!tKK7GEr#G$V@2CuV!D{**!CW5~1;5qwu8uaP?=u(G1 z{u@0`ed##-M>^l<8v2$&UoYt4c*%3UZZ3yqx}LEkPz-;dB&jLK-A-=VL|vElyP3Vo60 z$FIP1_D9jikpJd6^qptudj$F_BiJ|G(6QO?lAPVHsM^X_Vf85>;Bzm=$q6T_prREg4Va&(AO2uo8H5m zp?&3uTHiU?%veURf7O^ok@m}>;5qx_(ALoX^c4<$HyQdqfWG0{DDX7gV(8m)GoCT2 z_EtIc{l(DN@zluo`|lb05^ux4h05681rB{D;QT`yP?a5aKp%!oFzEb5@SN@Kczfvl zvIuPLzYCN;?Z4Nd??6ynsJ#;meM_NFuUCs5`j#8|9>L8lpKI!%VU3}$3Htau2e$V& zh}ymfl|J3BS-6>vG~b>v>a7It3tbuXY4``D-qO2ZpQ`sNN4=jK`sU!K7h7g9Xnp$( zeVy->=To+$22r=;BrHxWqucQX^r6~d(E9oryf4Aa4zfb+INRW5dL!?HiwxfQD7@br zyaMogMX2`^gSP^_p%Hke;2h^{?=#??9Dz64;JpuCr00ao4c?dFWkt~Uq`}MRF24`b zRPE<44c>3T%g`jGns+A7XT-YSwu6@xftPRao(3;c|K4QqTEI(*pzkjR?{n~Aaxhp5 zod{!ywSC`#H$KP;wc`SVm(wG1JFYQ!Q^1SVj#mucbnqgz;~1P*oc7g%7pWcD25&uh zGb6O)HwNzjcnJ}B&l|kYz>Cz5V>^Z0_s=N2T!VKgO1;+_ynjW}_p!nI3cN`3<4i2> zPXD#<8UB3(uQ6O^@J)hJN4y9(bs733ZwA8F?fFPToKxF z2{tKby~W@~>fdJ#-qqkmTK{^Yuv6a+QR-c3@V0^%$^kw5*SJQ(L6XT2waha*EUXnji!o;QlV=M7#D@LWM{vM!2=7(~u`&jc^hJfC3j zeBhlOLEmbFcR6@D5qK{dyzSscTJQM|5vP4mf){DLWEs2{qVRre@Lr3;+hOqD1us&6 zd}HuF1`ks|7<9j7o)O-Te}fmPy$cMUI8%O4p%rR2nMb16N8rtp7Z`q z^ZKC@V!ft}1kV@L7HV&~!K(rfQ!p5`zDEt-hA8&^VDRn%FVeWr#`@{B?-}rTKd6JQ zccsDm06g5<2ZQFlX7F}{mlb4%+WVcs>((bSZvZ;oX zdb$C;cA#k6KfgEh+~-5&^BU*hJxX6XFvF+NXO08fk7Huk`u+oWe?VCswEvuK<+Vp9 h;Q1dqZa1)ni>wz%V%zsFq&n=&7vcr1B|2z*{~x+mP+tH5 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d b/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d new file mode 100644 index 0000000..a03fd6c --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d @@ -0,0 +1,15 @@ +build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o: \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522Extended.cpp \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522Extended.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o b/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o new file mode 100644 index 0000000000000000000000000000000000000000..dfedb2e4bbf16186ba84e6a758673737972e50e8 GIT binary patch literal 18256 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 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d b/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d new file mode 100644 index 0000000..d911ae6 --- /dev/null +++ b/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d @@ -0,0 +1,15 @@ +build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o: \ + /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp \ + /usr/share/arduino/libraries/Wire/Wire.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ + /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ + /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ + /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o b/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o new file mode 100644 index 0000000000000000000000000000000000000000..a1619aa709e544eab15826b751f1f19f1b4ffd28 GIT binary patch literal 10876 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 Lpxeo)3iJIRRgT@{ literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/inc/LCD_module.h b/SD_Makefile_Build/inc/LCD_module.h new file mode 100644 index 0000000..0975fc9 --- /dev/null +++ b/SD_Makefile_Build/inc/LCD_module.h @@ -0,0 +1,34 @@ +#ifndef _TFT_LCD_ +#define _TFT_LCD_ + +#include +#include +#include +#include +#include // Core graphics library for TFT LCD - GREENTAB*! +#include // Hardware-specific library for TFT LCD - GREENTAB*! + //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +class display { +public: + display(Adafruit_ST7735* lcd); // Constructor for specific Adafruit Hardware + // display(ANY HARDWARE* lcd); // Can be defined for any other specific HW. (REUSE!) + void initializeTFT_LCD(); // Setup for TFT LCD - GREENTAB*! + void initialize_SD_storage(); + void write_time_register(String name, timeState* myTime); + void access_default_status(); + void print_date_time(timeState* myTime); + bool validate_card(tag my_tag, timeState* my_time); + +private: + Adafruit_ST7735* disp_pntr; + File csv_file; +}; + + +#endif // _TFT_LCD_ diff --git a/SD_Makefile_Build/inc/RFID_module.h b/SD_Makefile_Build/inc/RFID_module.h new file mode 100644 index 0000000..7a18f29 --- /dev/null +++ b/SD_Makefile_Build/inc/RFID_module.h @@ -0,0 +1,27 @@ +#ifndef _RFID_ +#define _RFID_ + +#include +#include +#include + +typedef struct {String name; bool access;} tag; // Declaration of tag info structure + +class rfid_unit{ +public: + rfid_unit(MFRC522* my_rfid); + tag check_acces(); + bool check_new_card(); + void clear_nuid(); + void initializeRFID(); + void RFID_Scan(); + +private: + MFRC522* rfid_pntr; + byte nuidPICC [cols]; // Declaration of global old UID-Key (state memory) +}; + + + + +#endif // _RFID_ diff --git a/SD_Makefile_Build/inc/RTC_module.h b/SD_Makefile_Build/inc/RTC_module.h new file mode 100644 index 0000000..7f85780 --- /dev/null +++ b/SD_Makefile_Build/inc/RTC_module.h @@ -0,0 +1,28 @@ +#ifndef _RTC_DS3231_ +#define _RTC_DS3231_ + +#include +#include +#include // Include required libraries for RTCDS3231 + +//////////////////////////////////////////////////////////////////////// + +class timeState { +public: + void initializeDS3231 (); //Initialize wire transfer and instansiate a RTC DS3231 + void update_time(); + inline DateTime get_current_time() {return current;} + inline String get_week_day() {return weekDay[current.dayOfWeek()-1];} + inline bool get_u_date() {return u_date;} + inline bool get_u_hour() {return u_hour;} + inline bool get_u_minute() {return u_minute;} + inline bool get_u_second() {return u_second;} + +protected: + DateTime current, prev; // Time state variables + char weekDay[8][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // Define the names of week day for diff languages. + bool u_year, u_month, u_date, u_hour, u_minute, u_second; // Return true if the value has been updated +}; + + +#endif // _RTC_DS3231_ diff --git a/SD_Makefile_Build/inc/authorized_keys.h b/SD_Makefile_Build/inc/authorized_keys.h new file mode 100644 index 0000000..9fd114a --- /dev/null +++ b/SD_Makefile_Build/inc/authorized_keys.h @@ -0,0 +1,24 @@ +#ifndef _AUTHORIZED_KEYS_ +#define _AUTHORIZED_KEYS_ + +const byte authorized_keys [5][4] = { // Authorized tag UIDs [number of tags] [Tag's UID-bytes] + {38,57,140,24}, + {109,234,7,203}, + {109,234,47,203}, + {109,234,47,20}, + {3,57,140,24}, +}; + +const int rows = sizeof(authorized_keys)/sizeof(authorized_keys[0]); +const int cols = sizeof(authorized_keys[0]); + +const String names [rows]={ // Corresponding name of each tag/key + {"JOHN"}, + {"DOE"}, + {"MARCO"}, + {"POLO"}, + {"ARDUINO"}, +}; + + +#endif // _AUTHORIZED_KEYS_ diff --git a/SD_Makefile_Build/inc/pin_layout.h b/SD_Makefile_Build/inc/pin_layout.h new file mode 100644 index 0000000..ae0182b --- /dev/null +++ b/SD_Makefile_Build/inc/pin_layout.h @@ -0,0 +1,47 @@ +#ifndef _PIN_LAYOUT_ +#define _PIN_LAYOUT_ + +/*Fixed pins for Arduino Mega 2560: + * SDA 20 + * SCL 21 + * SPI MOSI 51 + * SPI MISO 50 + * SPI SCK 52 +*/ + + +/* Connections from RTC DS3231 to Arduino Mega 2560: + * VCC 5V + * GND + * SDA 20 + * SCL 21 +*/ + + +/* Connections from SainSmart 1.8 ST7735R TFT LCD Module with MicroSD to Arduino Mega 2560:*/ +#define LCD_CS 46 // SainSmart: CS +#define LCD_DC 47 // SainSmart: RS/DC +#define LCD_RST 48 // SainSmart: RES +#define SD_CS 49 // SainSmart: SD card CS pin +// SD_MISO 50 // SainSmart: SD card MISO pin +// SDA & SD_MOSI 51 // Parallel connection +// SCL & SD_SCLK 52 // Parallel connection + + +/* Connection from MFRC522 to Arduino Mega 2560:*/ +// VCC 3.3V +#define RFID_RST 44 // MFRC522 Connection pin (RST) +#define RFID_SS 45 // MFRC522 Connection pin (SDA) +// MISO 50 // Parallel connection +// MOSI 51 // Parallel connection +// SCK 52 // Parallel connection + + +/* Output Connections */ + +#define ACC_DENIED 42 // Access denied +#define ACC_GRANTED 43 // Access granted + + + +#endif // _PIN_LAYOUT_ diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp b/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp new file mode 100755 index 0000000..967eb77 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp @@ -0,0 +1,1175 @@ +/* +This is the core graphics library for all our displays, providing a common +set of graphics primitives (points, lines, circles, etc.). It needs to be +paired with a hardware-specific library for each display device we carry +(to handle the lower-level functions). + +Adafruit invests time and resources providing this open source code, please +support Adafruit & open-source hardware by purchasing products from Adafruit! + +Copyright (c) 2013 Adafruit Industries. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + */ + +#include "Adafruit_GFX.h" +#include "glcdfont.c" +#ifdef __AVR__ + #include +#elif defined(ESP8266) || defined(ESP32) + #include +#endif + +// Many (but maybe not all) non-AVR board installs define macros +// for compatibility with existing PROGMEM-reading AVR code. +// Do our own checks and defines here for good measure... + +#ifndef pgm_read_byte + #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) +#endif +#ifndef pgm_read_word + #define pgm_read_word(addr) (*(const unsigned short *)(addr)) +#endif +#ifndef pgm_read_dword + #define pgm_read_dword(addr) (*(const unsigned long *)(addr)) +#endif + +// Pointers are a peculiar case...typically 16-bit on AVR boards, +// 32 bits elsewhere. Try to accommodate both... + +#if !defined(__INT_MAX__) || (__INT_MAX__ > 0xFFFF) + #define pgm_read_pointer(addr) ((void *)pgm_read_dword(addr)) +#else + #define pgm_read_pointer(addr) ((void *)pgm_read_word(addr)) +#endif + +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif + +#ifndef _swap_int16_t +#define _swap_int16_t(a, b) { int16_t t = a; a = b; b = t; } +#endif + +Adafruit_GFX::Adafruit_GFX(int16_t w, int16_t h): +WIDTH(w), HEIGHT(h) +{ + _width = WIDTH; + _height = HEIGHT; + rotation = 0; + cursor_y = cursor_x = 0; + textsize = 1; + textcolor = textbgcolor = 0xFFFF; + wrap = true; + _cp437 = false; + gfxFont = NULL; +} + +// Bresenham's algorithm - thx wikpedia +void Adafruit_GFX::writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, + uint16_t color) { + int16_t steep = abs(y1 - y0) > abs(x1 - x0); + if (steep) { + _swap_int16_t(x0, y0); + _swap_int16_t(x1, y1); + } + + if (x0 > x1) { + _swap_int16_t(x0, x1); + _swap_int16_t(y0, y1); + } + + int16_t dx, dy; + dx = x1 - x0; + dy = abs(y1 - y0); + + int16_t err = dx / 2; + int16_t ystep; + + if (y0 < y1) { + ystep = 1; + } else { + ystep = -1; + } + + for (; x0<=x1; x0++) { + if (steep) { + writePixel(y0, x0, color); + } else { + writePixel(x0, y0, color); + } + err -= dy; + if (err < 0) { + y0 += ystep; + err += dx; + } + } +} + +void Adafruit_GFX::startWrite(){ + // Overwrite in subclasses if desired! +} + +void Adafruit_GFX::writePixel(int16_t x, int16_t y, uint16_t color){ + // Overwrite in subclasses if startWrite is defined! + drawPixel(x, y, color); +} + +// (x,y) is topmost point; if unsure, calling function +// should sort endpoints or call writeLine() instead +void Adafruit_GFX::writeFastVLine(int16_t x, int16_t y, + int16_t h, uint16_t color) { + // Overwrite in subclasses if startWrite is defined! + // Can be just writeLine(x, y, x, y+h-1, color); + // or writeFillRect(x, y, 1, h, color); + drawFastVLine(x, y, h, color); +} + +// (x,y) is leftmost point; if unsure, calling function +// should sort endpoints or call writeLine() instead +void Adafruit_GFX::writeFastHLine(int16_t x, int16_t y, + int16_t w, uint16_t color) { + // Overwrite in subclasses if startWrite is defined! + // Example: writeLine(x, y, x+w-1, y, color); + // or writeFillRect(x, y, w, 1, color); + drawFastHLine(x, y, w, color); +} + +void Adafruit_GFX::writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, + uint16_t color) { + // Overwrite in subclasses if desired! + fillRect(x,y,w,h,color); +} + +void Adafruit_GFX::endWrite(){ + // Overwrite in subclasses if startWrite is defined! +} + +// (x,y) is topmost point; if unsure, calling function +// should sort endpoints or call drawLine() instead +void Adafruit_GFX::drawFastVLine(int16_t x, int16_t y, + int16_t h, uint16_t color) { + // Update in subclasses if desired! + startWrite(); + writeLine(x, y, x, y+h-1, color); + endWrite(); +} + +// (x,y) is leftmost point; if unsure, calling function +// should sort endpoints or call drawLine() instead +void Adafruit_GFX::drawFastHLine(int16_t x, int16_t y, + int16_t w, uint16_t color) { + // Update in subclasses if desired! + startWrite(); + writeLine(x, y, x+w-1, y, color); + endWrite(); +} + +void Adafruit_GFX::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, + uint16_t color) { + // Update in subclasses if desired! + startWrite(); + for (int16_t i=x; i y1) _swap_int16_t(y0, y1); + drawFastVLine(x0, y0, y1 - y0 + 1, color); + } else if(y0 == y1){ + if(x0 > x1) _swap_int16_t(x0, x1); + drawFastHLine(x0, y0, x1 - x0 + 1, color); + } else { + startWrite(); + writeLine(x0, y0, x1, y1, color); + endWrite(); + } +} + + +// Draw a circle outline +void Adafruit_GFX::drawCircle(int16_t x0, int16_t y0, int16_t r, + uint16_t color) { + int16_t f = 1 - r; + int16_t ddF_x = 1; + int16_t ddF_y = -2 * r; + int16_t x = 0; + int16_t y = r; + + startWrite(); + writePixel(x0 , y0+r, color); + writePixel(x0 , y0-r, color); + writePixel(x0+r, y0 , color); + writePixel(x0-r, y0 , color); + + while (x= 0) { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + writePixel(x0 + x, y0 + y, color); + writePixel(x0 - x, y0 + y, color); + writePixel(x0 + x, y0 - y, color); + writePixel(x0 - x, y0 - y, color); + writePixel(x0 + y, y0 + x, color); + writePixel(x0 - y, y0 + x, color); + writePixel(x0 + y, y0 - x, color); + writePixel(x0 - y, y0 - x, color); + } + endWrite(); +} + +void Adafruit_GFX::drawCircleHelper( int16_t x0, int16_t y0, + int16_t r, uint8_t cornername, uint16_t color) { + int16_t f = 1 - r; + int16_t ddF_x = 1; + int16_t ddF_y = -2 * r; + int16_t x = 0; + int16_t y = r; + + while (x= 0) { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + if (cornername & 0x4) { + writePixel(x0 + x, y0 + y, color); + writePixel(x0 + y, y0 + x, color); + } + if (cornername & 0x2) { + writePixel(x0 + x, y0 - y, color); + writePixel(x0 + y, y0 - x, color); + } + if (cornername & 0x8) { + writePixel(x0 - y, y0 + x, color); + writePixel(x0 - x, y0 + y, color); + } + if (cornername & 0x1) { + writePixel(x0 - y, y0 - x, color); + writePixel(x0 - x, y0 - y, color); + } + } +} + +void Adafruit_GFX::fillCircle(int16_t x0, int16_t y0, int16_t r, + uint16_t color) { + startWrite(); + writeFastVLine(x0, y0-r, 2*r+1, color); + fillCircleHelper(x0, y0, r, 3, 0, color); + endWrite(); +} + +// Used to do circles and roundrects +void Adafruit_GFX::fillCircleHelper(int16_t x0, int16_t y0, int16_t r, + uint8_t cornername, int16_t delta, uint16_t color) { + + int16_t f = 1 - r; + int16_t ddF_x = 1; + int16_t ddF_y = -2 * r; + int16_t x = 0; + int16_t y = r; + + while (x= 0) { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + if (cornername & 0x1) { + writeFastVLine(x0+x, y0-y, 2*y+1+delta, color); + writeFastVLine(x0+y, y0-x, 2*x+1+delta, color); + } + if (cornername & 0x2) { + writeFastVLine(x0-x, y0-y, 2*y+1+delta, color); + writeFastVLine(x0-y, y0-x, 2*x+1+delta, color); + } + } +} + +// Draw a rectangle +void Adafruit_GFX::drawRect(int16_t x, int16_t y, int16_t w, int16_t h, + uint16_t color) { + startWrite(); + writeFastHLine(x, y, w, color); + writeFastHLine(x, y+h-1, w, color); + writeFastVLine(x, y, h, color); + writeFastVLine(x+w-1, y, h, color); + endWrite(); +} + +// Draw a rounded rectangle +void Adafruit_GFX::drawRoundRect(int16_t x, int16_t y, int16_t w, + int16_t h, int16_t r, uint16_t color) { + // smarter version + startWrite(); + writeFastHLine(x+r , y , w-2*r, color); // Top + writeFastHLine(x+r , y+h-1, w-2*r, color); // Bottom + writeFastVLine(x , y+r , h-2*r, color); // Left + writeFastVLine(x+w-1, y+r , h-2*r, color); // Right + // draw four corners + drawCircleHelper(x+r , y+r , r, 1, color); + drawCircleHelper(x+w-r-1, y+r , r, 2, color); + drawCircleHelper(x+w-r-1, y+h-r-1, r, 4, color); + drawCircleHelper(x+r , y+h-r-1, r, 8, color); + endWrite(); +} + +// Fill a rounded rectangle +void Adafruit_GFX::fillRoundRect(int16_t x, int16_t y, int16_t w, + int16_t h, int16_t r, uint16_t color) { + // smarter version + startWrite(); + writeFillRect(x+r, y, w-2*r, h, color); + + // draw four corners + fillCircleHelper(x+w-r-1, y+r, r, 1, h-2*r-1, color); + fillCircleHelper(x+r , y+r, r, 2, h-2*r-1, color); + endWrite(); +} + +// Draw a triangle +void Adafruit_GFX::drawTriangle(int16_t x0, int16_t y0, + int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) { + drawLine(x0, y0, x1, y1, color); + drawLine(x1, y1, x2, y2, color); + drawLine(x2, y2, x0, y0, color); +} + +// Fill a triangle +void Adafruit_GFX::fillTriangle(int16_t x0, int16_t y0, + int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) { + + int16_t a, b, y, last; + + // Sort coordinates by Y order (y2 >= y1 >= y0) + if (y0 > y1) { + _swap_int16_t(y0, y1); _swap_int16_t(x0, x1); + } + if (y1 > y2) { + _swap_int16_t(y2, y1); _swap_int16_t(x2, x1); + } + if (y0 > y1) { + _swap_int16_t(y0, y1); _swap_int16_t(x0, x1); + } + + startWrite(); + if(y0 == y2) { // Handle awkward all-on-same-line case as its own thing + a = b = x0; + if(x1 < a) a = x1; + else if(x1 > b) b = x1; + if(x2 < a) a = x2; + else if(x2 > b) b = x2; + writeFastHLine(a, y0, b-a+1, color); + endWrite(); + return; + } + + int16_t + dx01 = x1 - x0, + dy01 = y1 - y0, + dx02 = x2 - x0, + dy02 = y2 - y0, + dx12 = x2 - x1, + dy12 = y2 - y1; + int32_t + sa = 0, + sb = 0; + + // For upper part of triangle, find scanline crossings for segments + // 0-1 and 0-2. If y1=y2 (flat-bottomed triangle), the scanline y1 + // is included here (and second loop will be skipped, avoiding a /0 + // error there), otherwise scanline y1 is skipped here and handled + // in the second loop...which also avoids a /0 error here if y0=y1 + // (flat-topped triangle). + if(y1 == y2) last = y1; // Include y1 scanline + else last = y1-1; // Skip it + + for(y=y0; y<=last; y++) { + a = x0 + sa / dy01; + b = x0 + sb / dy02; + sa += dx01; + sb += dx02; + /* longhand: + a = x0 + (x1 - x0) * (y - y0) / (y1 - y0); + b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); + */ + if(a > b) _swap_int16_t(a,b); + writeFastHLine(a, y, b-a+1, color); + } + + // For lower part of triangle, find scanline crossings for segments + // 0-2 and 1-2. This loop is skipped if y1=y2. + sa = dx12 * (y - y1); + sb = dx02 * (y - y0); + for(; y<=y2; y++) { + a = x1 + sa / dy12; + b = x0 + sb / dy02; + sa += dx12; + sb += dx02; + /* longhand: + a = x1 + (x2 - x1) * (y - y1) / (y2 - y1); + b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); + */ + if(a > b) _swap_int16_t(a,b); + writeFastHLine(a, y, b-a+1, color); + } + endWrite(); +} + +// Draw a 1-bit image (bitmap) at the specified (x,y) position from the +// provided bitmap buffer (must be PROGMEM memory) using the specified +// foreground color (unset bits are transparent). +void Adafruit_GFX::drawBitmap(int16_t x, int16_t y, + const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color) { + + int16_t i, j, byteWidth = (w + 7) / 8; + uint8_t byte = 0; + + startWrite(); + for(j=0; j>= 1; + else byte = pgm_read_byte(bitmap + j * byteWidth + i / 8); + if(byte & 0x01) writePixel(x+i, y+j, color); + } + } + endWrite(); +} + +// Draw a character +void Adafruit_GFX::drawChar(int16_t x, int16_t y, unsigned char c, + uint16_t color, uint16_t bg, uint8_t size) { + + if(!gfxFont) { // 'Classic' built-in font + + if((x >= _width) || // Clip right + (y >= _height) || // Clip bottom + ((x + 6 * size - 1) < 0) || // Clip left + ((y + 8 * size - 1) < 0)) // Clip top + return; + + if(!_cp437 && (c >= 176)) c++; // Handle 'classic' charset behavior + + startWrite(); + for(int8_t i=0; i<6; i++ ) { + uint8_t line; + if(i < 5) line = pgm_read_byte(font+(c*5)+i); + else line = 0x0; + for(int8_t j=0; j<8; j++, line >>= 1) { + if(line & 0x1) { + if(size == 1) writePixel(x+i, y+j, color); + else writeFillRect(x+(i*size), y+(j*size), size, size, color); + } else if(bg != color) { + if(size == 1) writePixel(x+i, y+j, bg); + else writeFillRect(x+i*size, y+j*size, size, size, bg); + } + } + } + endWrite(); + + } else { // Custom font + + // Character is assumed previously filtered by write() to eliminate + // newlines, returns, non-printable characters, etc. Calling drawChar() + // directly with 'bad' characters of font may cause mayhem! + + c -= pgm_read_byte(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); + uint8_t *bitmap = (uint8_t *)pgm_read_pointer(&gfxFont->bitmap); + + uint16_t bo = pgm_read_word(&glyph->bitmapOffset); + uint8_t w = pgm_read_byte(&glyph->width), + h = pgm_read_byte(&glyph->height); + int8_t xo = pgm_read_byte(&glyph->xOffset), + yo = pgm_read_byte(&glyph->yOffset); + uint8_t xx, yy, bits = 0, bit = 0; + int16_t xo16 = 0, yo16 = 0; + + if(size > 1) { + xo16 = xo; + yo16 = yo; + } + + // Todo: Add character clipping here + + // NOTE: THERE IS NO 'BACKGROUND' COLOR OPTION ON CUSTOM FONTS. + // THIS IS ON PURPOSE AND BY DESIGN. The background color feature + // has typically been used with the 'classic' font to overwrite old + // screen contents with new data. This ONLY works because the + // characters are a uniform size; it's not a sensible thing to do with + // proportionally-spaced fonts with glyphs of varying sizes (and that + // may overlap). To replace previously-drawn text when using a custom + // font, use the getTextBounds() function to determine the smallest + // rectangle encompassing a string, erase the area with fillRect(), + // then draw new text. This WILL infortunately 'blink' the text, but + // is unavoidable. Drawing 'background' pixels will NOT fix this, + // only creates a new set of problems. Have an idea to work around + // this (a canvas object type for MCUs that can afford the RAM and + // displays supporting setAddrWindow() and pushColors()), but haven't + // implemented this yet. + + startWrite(); + for(yy=0; yy= 100 +size_t Adafruit_GFX::write(uint8_t c) { +#else +void Adafruit_GFX::write(uint8_t c) { +#endif + if(!gfxFont) { // 'Classic' built-in font + + if(c == '\n') { + cursor_y += textsize*8; + cursor_x = 0; + } else if(c == '\r') { + // skip em + } else { + if(wrap && ((cursor_x + textsize * 6) >= _width)) { // Heading off edge? + cursor_x = 0; // Reset x to zero + cursor_y += textsize * 8; // Advance y one line + } + drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); + cursor_x += textsize * 6; + } + + } else { // Custom font + + if(c == '\n') { + cursor_x = 0; + cursor_y += (int16_t)textsize * + (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + } else if(c != '\r') { + uint8_t first = pgm_read_byte(&gfxFont->first); + if((c >= first) && (c <= (uint8_t)pgm_read_byte(&gfxFont->last))) { + uint8_t c2 = c - pgm_read_byte(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c2]); + uint8_t w = pgm_read_byte(&glyph->width), + h = pgm_read_byte(&glyph->height); + if((w > 0) && (h > 0)) { // Is there an associated bitmap? + int16_t xo = (int8_t)pgm_read_byte(&glyph->xOffset); // sic + if(wrap && ((cursor_x + textsize * (xo + w)) >= _width)) { + // Drawing character would go off right edge; wrap to new line + cursor_x = 0; + cursor_y += (int16_t)textsize * + (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + } + drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); + } + cursor_x += pgm_read_byte(&glyph->xAdvance) * (int16_t)textsize; + } + } + + } +#if ARDUINO >= 100 + return 1; +#endif +} + +void Adafruit_GFX::setCursor(int16_t x, int16_t y) { + cursor_x = x; + cursor_y = y; +} + +int16_t Adafruit_GFX::getCursorX(void) const { + return cursor_x; +} + +int16_t Adafruit_GFX::getCursorY(void) const { + return cursor_y; +} + +void Adafruit_GFX::setTextSize(uint8_t s) { + textsize = (s > 0) ? s : 1; +} + +void Adafruit_GFX::setTextColor(uint16_t c) { + // For 'transparent' background, we'll set the bg + // to the same as fg instead of using a flag + textcolor = textbgcolor = c; +} + +void Adafruit_GFX::setTextColor(uint16_t c, uint16_t b) { + textcolor = c; + textbgcolor = b; +} + +void Adafruit_GFX::setTextWrap(boolean w) { + wrap = w; +} + +uint8_t Adafruit_GFX::getRotation(void) const { + return rotation; +} + +void Adafruit_GFX::setRotation(uint8_t x) { + rotation = (x & 3); + switch(rotation) { + case 0: + case 2: + _width = WIDTH; + _height = HEIGHT; + break; + case 1: + case 3: + _width = HEIGHT; + _height = WIDTH; + break; + } +} + +// Enable (or disable) Code Page 437-compatible charset. +// There was an error in glcdfont.c for the longest time -- one character +// (#176, the 'light shade' block) was missing -- this threw off the index +// of every character that followed it. But a TON of code has been written +// with the erroneous character indices. By default, the library uses the +// original 'wrong' behavior and old sketches will still work. Pass 'true' +// to this function to use correct CP437 character values in your code. +void Adafruit_GFX::cp437(boolean x) { + _cp437 = x; +} + +void Adafruit_GFX::setFont(const GFXfont *f) { + if(f) { // Font struct pointer passed in? + if(!gfxFont) { // And no current font struct? + // Switching from classic to new font behavior. + // Move cursor pos down 6 pixels so it's on baseline. + cursor_y += 6; + } + } else if(gfxFont) { // NULL passed. Current font struct defined? + // Switching from new to classic font behavior. + // Move cursor pos up 6 pixels so it's at top-left of char. + cursor_y -= 6; + } + gfxFont = (GFXfont *)f; +} + +// Pass string and a cursor position, returns UL corner and W,H. +void Adafruit_GFX::getTextBounds(char *str, int16_t x, int16_t y, + int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h) { + uint8_t c; // Current character + + *x1 = x; + *y1 = y; + *w = *h = 0; + + if(gfxFont) { + + GFXglyph *glyph; + uint8_t first = pgm_read_byte(&gfxFont->first), + last = pgm_read_byte(&gfxFont->last), + gw, gh, xa; + int8_t xo, yo; + int16_t minx = _width, miny = _height, maxx = -1, maxy = -1, + gx1, gy1, gx2, gy2, ts = (int16_t)textsize, + ya = ts * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + + while((c = *str++)) { + if(c != '\n') { // Not a newline + if(c != '\r') { // Not a carriage return, is normal char + if((c >= first) && (c <= last)) { // Char present in current font + c -= first; + glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); + gw = pgm_read_byte(&glyph->width); + gh = pgm_read_byte(&glyph->height); + xa = pgm_read_byte(&glyph->xAdvance); + xo = pgm_read_byte(&glyph->xOffset); + yo = pgm_read_byte(&glyph->yOffset); + if(wrap && ((x + (((int16_t)xo + gw) * ts)) >= _width)) { + // Line wrap + x = 0; // Reset x to 0 + y += ya; // Advance y by 1 line + } + gx1 = x + xo * ts; + gy1 = y + yo * ts; + gx2 = gx1 + gw * ts - 1; + gy2 = gy1 + gh * ts - 1; + if(gx1 < minx) minx = gx1; + if(gy1 < miny) miny = gy1; + if(gx2 > maxx) maxx = gx2; + if(gy2 > maxy) maxy = gy2; + x += xa * ts; + } + } // Carriage return = do nothing + } else { // Newline + x = 0; // Reset x + y += ya; // Advance y by 1 line + } + } + // End of string + *x1 = minx; + *y1 = miny; + if(maxx >= minx) *w = maxx - minx + 1; + if(maxy >= miny) *h = maxy - miny + 1; + + } else { // Default font + + uint16_t lineWidth = 0, maxWidth = 0; // Width of current, all lines + + while((c = *str++)) { + if(c != '\n') { // Not a newline + if(c != '\r') { // Not a carriage return, is normal char + if(wrap && ((x + textsize * 6) >= _width)) { + x = 0; // Reset x to 0 + y += textsize * 8; // Advance y by 1 line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line + lineWidth = textsize * 6; // First char on new line + } else { // No line wrap, just keep incrementing X + lineWidth += textsize * 6; // Includes interchar x gap + } + } // Carriage return = do nothing + } else { // Newline + x = 0; // Reset x to 0 + y += textsize * 8; // Advance y by 1 line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line + lineWidth = 0; // Reset lineWidth for new line + } + } + // End of string + if(lineWidth) y += textsize * 8; // Add height of last (or only) line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Is the last or only line the widest? + *w = maxWidth - 1; // Don't include last interchar x gap + *h = y - *y1; + + } // End classic vs custom font +} + +// Same as above, but for PROGMEM strings +void Adafruit_GFX::getTextBounds(const __FlashStringHelper *str, + int16_t x, int16_t y, int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h) { + uint8_t *s = (uint8_t *)str, c; + + *x1 = x; + *y1 = y; + *w = *h = 0; + + if(gfxFont) { + + GFXglyph *glyph; + uint8_t first = pgm_read_byte(&gfxFont->first), + last = pgm_read_byte(&gfxFont->last), + gw, gh, xa; + int8_t xo, yo; + int16_t minx = _width, miny = _height, maxx = -1, maxy = -1, + gx1, gy1, gx2, gy2, ts = (int16_t)textsize, + ya = ts * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + + while((c = pgm_read_byte(s++))) { + if(c != '\n') { // Not a newline + if(c != '\r') { // Not a carriage return, is normal char + if((c >= first) && (c <= last)) { // Char present in current font + c -= first; + glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); + gw = pgm_read_byte(&glyph->width); + gh = pgm_read_byte(&glyph->height); + xa = pgm_read_byte(&glyph->xAdvance); + xo = pgm_read_byte(&glyph->xOffset); + yo = pgm_read_byte(&glyph->yOffset); + if(wrap && ((x + (((int16_t)xo + gw) * ts)) >= _width)) { + // Line wrap + x = 0; // Reset x to 0 + y += ya; // Advance y by 1 line + } + gx1 = x + xo * ts; + gy1 = y + yo * ts; + gx2 = gx1 + gw * ts - 1; + gy2 = gy1 + gh * ts - 1; + if(gx1 < minx) minx = gx1; + if(gy1 < miny) miny = gy1; + if(gx2 > maxx) maxx = gx2; + if(gy2 > maxy) maxy = gy2; + x += xa * ts; + } + } // Carriage return = do nothing + } else { // Newline + x = 0; // Reset x + y += ya; // Advance y by 1 line + } + } + // End of string + *x1 = minx; + *y1 = miny; + if(maxx >= minx) *w = maxx - minx + 1; + if(maxy >= miny) *h = maxy - miny + 1; + + } else { // Default font + + uint16_t lineWidth = 0, maxWidth = 0; // Width of current, all lines + + while((c = pgm_read_byte(s++))) { + if(c != '\n') { // Not a newline + if(c != '\r') { // Not a carriage return, is normal char + if(wrap && ((x + textsize * 6) >= _width)) { + x = 0; // Reset x to 0 + y += textsize * 8; // Advance y by 1 line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line + lineWidth = textsize * 6; // First char on new line + } else { // No line wrap, just keep incrementing X + lineWidth += textsize * 6; // Includes interchar x gap + } + } // Carriage return = do nothing + } else { // Newline + x = 0; // Reset x to 0 + y += textsize * 8; // Advance y by 1 line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line + lineWidth = 0; // Reset lineWidth for new line + } + } + // End of string + if(lineWidth) y += textsize * 8; // Add height of last (or only) line + if(lineWidth > maxWidth) maxWidth = lineWidth; // Is the last or only line the widest? + *w = maxWidth - 1; // Don't include last interchar x gap + *h = y - *y1; + + } // End classic vs custom font +} + +// Return the size of the display (per current rotation) +int16_t Adafruit_GFX::width(void) const { + return _width; +} + +int16_t Adafruit_GFX::height(void) const { + return _height; +} + +void Adafruit_GFX::invertDisplay(boolean i) { + // Do nothing, must be subclassed if supported by hardware +} + +/***************************************************************************/ +// code for the GFX button UI element + +Adafruit_GFX_Button::Adafruit_GFX_Button(void) { + _gfx = 0; +} + +// Classic initButton() function: pass center & size +void Adafruit_GFX_Button::initButton( + Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w, uint16_t h, + uint16_t outline, uint16_t fill, uint16_t textcolor, + char *label, uint8_t textsize) +{ + // Tweak arguments and pass to the newer initButtonUL() function... + initButtonUL(gfx, x - (w / 2), y - (h / 2), w, h, outline, fill, + textcolor, label, textsize); +} + +// Newer function instead accepts upper-left corner & size +void Adafruit_GFX_Button::initButtonUL( + Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w, uint16_t h, + uint16_t outline, uint16_t fill, uint16_t textcolor, + char *label, uint8_t textsize) +{ + _x1 = x1; + _y1 = y1; + _w = w; + _h = h; + _outlinecolor = outline; + _fillcolor = fill; + _textcolor = textcolor; + _textsize = textsize; + _gfx = gfx; + strncpy(_label, label, 9); +} + +void Adafruit_GFX_Button::drawButton(boolean inverted) { + uint16_t fill, outline, text; + + if(!inverted) { + fill = _fillcolor; + outline = _outlinecolor; + text = _textcolor; + } else { + fill = _textcolor; + outline = _outlinecolor; + text = _fillcolor; + } + + uint8_t r = min(_w, _h) / 4; // Corner radius + _gfx->fillRoundRect(_x1, _y1, _w, _h, r, fill); + _gfx->drawRoundRect(_x1, _y1, _w, _h, r, outline); + + _gfx->setCursor(_x1 + (_w/2) - (strlen(_label) * 3 * _textsize), + _y1 + (_h/2) - (4 * _textsize)); + _gfx->setTextColor(text); + _gfx->setTextSize(_textsize); + _gfx->print(_label); +} + +boolean Adafruit_GFX_Button::contains(int16_t x, int16_t y) { + return ((x >= _x1) && (x < (_x1 + _w)) && + (y >= _y1) && (y < (_y1 + _h))); +} + +void Adafruit_GFX_Button::press(boolean p) { + laststate = currstate; + currstate = p; +} + +boolean Adafruit_GFX_Button::isPressed() { return currstate; } +boolean Adafruit_GFX_Button::justPressed() { return (currstate && !laststate); } +boolean Adafruit_GFX_Button::justReleased() { return (!currstate && laststate); } + +// ------------------------------------------------------------------------- + +// GFXcanvas1 and GFXcanvas16 (currently a WIP, don't get too comfy with the +// implementation) provide 1- and 16-bit offscreen canvases, the address of +// which can be passed to drawBitmap() or pushColors() (the latter appears +// to only be in Adafruit_TFTLCD at this time). This is here mostly to +// help with the recently-added proportionally-spaced fonts; adds a way to +// refresh a section of the screen without a massive flickering clear-and- +// redraw...but maybe you'll find other uses too. VERY RAM-intensive, since +// the buffer is in MCU memory and not the display driver...GXFcanvas1 might +// be minimally useful on an Uno-class board, but this and GFXcanvas16 are +// much more likely to require at least a Mega or various recent ARM-type +// boards (recommended, as the text+bitmap draw can be pokey). GFXcanvas1 +// requires 1 bit per pixel (rounded up to nearest byte per scanline), +// GFXcanvas16 requires 2 bytes per pixel (no scanline pad). +// NOT EXTENSIVELY TESTED YET. MAY CONTAIN WORST BUGS KNOWN TO HUMANKIND. + +GFXcanvas1::GFXcanvas1(uint16_t w, uint16_t h) : Adafruit_GFX(w, h) { + uint16_t bytes = ((w + 7) / 8) * h; + if((buffer = (uint8_t *)malloc(bytes))) { + memset(buffer, 0, bytes); + } +} + +GFXcanvas1::~GFXcanvas1(void) { + if(buffer) free(buffer); +} + +uint8_t* GFXcanvas1::getBuffer(void) { + return buffer; +} + +void GFXcanvas1::drawPixel(int16_t x, int16_t y, uint16_t color) { + // Bitmask tables of 0x80>>X and ~(0x80>>X), because X>>Y is slow on AVR + static const uint8_t PROGMEM + GFXsetBit[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }, + GFXclrBit[] = { 0x7F, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE }; + + if(buffer) { + if((x < 0) || (y < 0) || (x >= _width) || (y >= _height)) return; + + int16_t t; + switch(rotation) { + case 1: + t = x; + x = WIDTH - 1 - y; + y = t; + break; + case 2: + x = WIDTH - 1 - x; + y = HEIGHT - 1 - y; + break; + case 3: + t = x; + x = y; + y = HEIGHT - 1 - t; + break; + } + + uint8_t *ptr = &buffer[(x / 8) + y * ((WIDTH + 7) / 8)]; + if(color) *ptr |= pgm_read_byte(&GFXsetBit[x & 7]); + else *ptr &= pgm_read_byte(&GFXclrBit[x & 7]); + } +} + +void GFXcanvas1::fillScreen(uint16_t color) { + if(buffer) { + uint16_t bytes = ((WIDTH + 7) / 8) * HEIGHT; + memset(buffer, color ? 0xFF : 0x00, bytes); + } +} + +GFXcanvas16::GFXcanvas16(uint16_t w, uint16_t h) : Adafruit_GFX(w, h) { + uint16_t bytes = w * h * 2; + if((buffer = (uint16_t *)malloc(bytes))) { + memset(buffer, 0, bytes); + } +} + +GFXcanvas16::~GFXcanvas16(void) { + if(buffer) free(buffer); +} + +uint16_t* GFXcanvas16::getBuffer(void) { + return buffer; +} + +void GFXcanvas16::drawPixel(int16_t x, int16_t y, uint16_t color) { + if(buffer) { + if((x < 0) || (y < 0) || (x >= _width) || (y >= _height)) return; + + int16_t t; + switch(rotation) { + case 1: + t = x; + x = WIDTH - 1 - y; + y = t; + break; + case 2: + x = WIDTH - 1 - x; + y = HEIGHT - 1 - y; + break; + case 3: + t = x; + x = y; + y = HEIGHT - 1 - t; + break; + } + + buffer[x + y * WIDTH] = color; + } +} + +void GFXcanvas16::fillScreen(uint16_t color) { + if(buffer) { + uint8_t hi = color >> 8, lo = color & 0xFF; + if(hi == lo) { + memset(buffer, lo, WIDTH * HEIGHT * 2); + } else { + uint16_t i, pixels = WIDTH * HEIGHT; + for(i=0; i= 100 + #include "Arduino.h" + #include "Print.h" +#else + #include "WProgram.h" +#endif +#include "gfxfont.h" + +class Adafruit_GFX : public Print { + + public: + + Adafruit_GFX(int16_t w, int16_t h); // Constructor + + // This MUST be defined by the subclass: + virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0; + + // TRANSACTION API / CORE DRAW API + // These MAY be overridden by the subclass to provide device-specific + // optimized code. Otherwise 'generic' versions are used. + virtual void startWrite(void); + virtual void writePixel(int16_t x, int16_t y, uint16_t color); + virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); + virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); + virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); + virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color); + virtual void endWrite(void); + + // CONTROL API + // These MAY be overridden by the subclass to provide device-specific + // optimized code. Otherwise 'generic' versions are used. + virtual void setRotation(uint8_t r); + virtual void invertDisplay(boolean i); + + // BASIC DRAW API + // These MAY be overridden by the subclass to provide device-specific + // optimized code. Otherwise 'generic' versions are used. + virtual void + // It's good to implement those, even if using transaction API + drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color), + drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color), + fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color), + fillScreen(uint16_t color), + // Optional and probably not necessary to change + drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color), + drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); + + // These exist only with Adafruit_GFX (no subclass overrides) + void + drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), + drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, + uint16_t color), + fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), + fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, + int16_t delta, uint16_t color), + drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, + int16_t x2, int16_t y2, uint16_t color), + fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, + int16_t x2, int16_t y2, uint16_t color), + drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, + int16_t radius, uint16_t color), + fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, + int16_t radius, uint16_t color), + drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, + int16_t w, int16_t h, uint16_t color), + drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, + int16_t w, int16_t h, uint16_t color, uint16_t bg), + drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, + int16_t w, int16_t h, uint16_t color), + drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, + int16_t w, int16_t h, uint16_t color, uint16_t bg), + drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, + int16_t w, int16_t h, uint16_t color), + drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, + uint16_t bg, uint8_t size), + setCursor(int16_t x, int16_t y), + setTextColor(uint16_t c), + setTextColor(uint16_t c, uint16_t bg), + setTextSize(uint8_t s), + setTextWrap(boolean w), + cp437(boolean x=true), + setFont(const GFXfont *f = NULL), + getTextBounds(char *string, int16_t x, int16_t y, + int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h), + getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y, + int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h); + +#if ARDUINO >= 100 + virtual size_t write(uint8_t); +#else + virtual void write(uint8_t); +#endif + + int16_t height(void) const; + int16_t width(void) const; + + uint8_t getRotation(void) const; + + // get current cursor position (get rotation safe maximum values, using: width() for x, height() for y) + int16_t getCursorX(void) const; + int16_t getCursorY(void) const; + + protected: + const int16_t + WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes + int16_t + _width, _height, // Display w/h as modified by current rotation + cursor_x, cursor_y; + uint16_t + textcolor, textbgcolor; + uint8_t + textsize, + rotation; + boolean + wrap, // If set, 'wrap' text at right edge of display + _cp437; // If set, use correct CP437 charset (default is off) + GFXfont + *gfxFont; +}; + +class Adafruit_GFX_Button { + + public: + Adafruit_GFX_Button(void); + // "Classic" initButton() uses center & size + void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, + uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, + uint16_t textcolor, char *label, uint8_t textsize); + // New/alt initButton() uses upper-left corner & size + void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, + uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, + uint16_t textcolor, char *label, uint8_t textsize); + void drawButton(boolean inverted = false); + boolean contains(int16_t x, int16_t y); + + void press(boolean p); + boolean isPressed(); + boolean justPressed(); + boolean justReleased(); + + private: + Adafruit_GFX *_gfx; + int16_t _x1, _y1; // Coordinates of top-left corner + uint16_t _w, _h; + uint8_t _textsize; + uint16_t _outlinecolor, _fillcolor, _textcolor; + char _label[10]; + + boolean currstate, laststate; +}; + +class GFXcanvas1 : public Adafruit_GFX { + + public: + GFXcanvas1(uint16_t w, uint16_t h); + ~GFXcanvas1(void); + void drawPixel(int16_t x, int16_t y, uint16_t color), + fillScreen(uint16_t color); + uint8_t *getBuffer(void); + private: + uint8_t *buffer; +}; + +class GFXcanvas16 : public Adafruit_GFX { + GFXcanvas16(uint16_t w, uint16_t h); + ~GFXcanvas16(void); + void drawPixel(int16_t x, int16_t y, uint16_t color), + fillScreen(uint16_t color); + uint16_t *getBuffer(void); + private: + uint16_t *buffer; +}; + +#endif // _ADAFRUIT_GFX_H diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h new file mode 100644 index 0000000..94ecb88 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h @@ -0,0 +1,227 @@ +const uint8_t FreeMono12pt7bBitmaps[] PROGMEM = { + 0x49, 0x24, 0x92, 0x48, 0x01, 0xF8, 0xE7, 0xE7, 0x67, 0x42, 0x42, 0x42, + 0x42, 0x09, 0x02, 0x41, 0x10, 0x44, 0x11, 0x1F, 0xF1, 0x10, 0x4C, 0x12, + 0x3F, 0xE1, 0x20, 0x48, 0x12, 0x04, 0x81, 0x20, 0x48, 0x04, 0x07, 0xA2, + 0x19, 0x02, 0x40, 0x10, 0x03, 0x00, 0x3C, 0x00, 0x80, 0x10, 0x06, 0x01, + 0xE0, 0xA7, 0xC0, 0x40, 0x10, 0x04, 0x00, 0x3C, 0x19, 0x84, 0x21, 0x08, + 0x66, 0x0F, 0x00, 0x0C, 0x1C, 0x78, 0x01, 0xE0, 0xCC, 0x21, 0x08, 0x43, + 0x30, 0x78, 0x3E, 0x30, 0x10, 0x08, 0x02, 0x03, 0x03, 0x47, 0x14, 0x8A, + 0x43, 0x11, 0x8F, 0x60, 0xFD, 0xA4, 0x90, 0x05, 0x25, 0x24, 0x92, 0x48, + 0x92, 0x24, 0x11, 0x24, 0x89, 0x24, 0x92, 0x92, 0x90, 0x00, 0x04, 0x02, + 0x11, 0x07, 0xF0, 0xC0, 0x50, 0x48, 0x42, 0x00, 0x08, 0x04, 0x02, 0x01, + 0x00, 0x87, 0xFC, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3B, 0x9C, 0xCE, + 0x62, 0x00, 0xFF, 0xE0, 0xFF, 0x80, 0x00, 0x80, 0xC0, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x80, + 0x80, 0x40, 0x00, 0x1C, 0x31, 0x90, 0x58, 0x38, 0x0C, 0x06, 0x03, 0x01, + 0x80, 0xC0, 0x60, 0x30, 0x34, 0x13, 0x18, 0x70, 0x30, 0xE1, 0x44, 0x81, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x81, 0x1F, 0xC0, 0x1E, 0x10, 0x90, + 0x68, 0x10, 0x08, 0x0C, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, 0x0E, + 0x07, 0xFE, 0x3E, 0x10, 0x40, 0x08, 0x02, 0x00, 0x80, 0x40, 0xE0, 0x04, + 0x00, 0x80, 0x10, 0x04, 0x01, 0x00, 0xD8, 0x63, 0xE0, 0x06, 0x0A, 0x0A, + 0x12, 0x22, 0x22, 0x42, 0x42, 0x82, 0x82, 0xFF, 0x02, 0x02, 0x02, 0x0F, + 0x7F, 0x20, 0x10, 0x08, 0x04, 0x02, 0xF1, 0x8C, 0x03, 0x00, 0x80, 0x40, + 0x20, 0x18, 0x16, 0x18, 0xF0, 0x0F, 0x8C, 0x08, 0x08, 0x04, 0x04, 0x02, + 0x79, 0x46, 0xC1, 0xE0, 0x60, 0x28, 0x14, 0x19, 0x08, 0x78, 0xFF, 0x81, + 0x81, 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, + 0x08, 0x3E, 0x31, 0xB0, 0x70, 0x18, 0x0C, 0x05, 0x8C, 0x38, 0x63, 0x40, + 0x60, 0x30, 0x18, 0x1B, 0x18, 0xF8, 0x3C, 0x31, 0x30, 0x50, 0x28, 0x0C, + 0x0F, 0x06, 0x85, 0x3C, 0x80, 0x40, 0x40, 0x20, 0x20, 0x63, 0xE0, 0xFF, + 0x80, 0x07, 0xFC, 0x39, 0xCE, 0x00, 0x00, 0x06, 0x33, 0x98, 0xC4, 0x00, + 0x00, 0xC0, 0x60, 0x18, 0x0C, 0x06, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, + 0x00, 0x30, 0x01, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x06, + 0x00, 0x30, 0x01, 0x80, 0x18, 0x01, 0x80, 0xC0, 0x30, 0x18, 0x0C, 0x02, + 0x00, 0x00, 0x3E, 0x60, 0xA0, 0x20, 0x10, 0x08, 0x08, 0x18, 0x10, 0x08, + 0x00, 0x00, 0x00, 0x01, 0xC0, 0xE0, 0x1C, 0x31, 0x10, 0x50, 0x28, 0x14, + 0x3A, 0x25, 0x22, 0x91, 0x4C, 0xA3, 0xF0, 0x08, 0x02, 0x01, 0x80, 0x7C, + 0x3F, 0x00, 0x0C, 0x00, 0x48, 0x01, 0x20, 0x04, 0x40, 0x21, 0x00, 0x84, + 0x04, 0x08, 0x1F, 0xE0, 0x40, 0x82, 0x01, 0x08, 0x04, 0x20, 0x13, 0xE1, + 0xF0, 0xFF, 0x08, 0x11, 0x01, 0x20, 0x24, 0x04, 0x81, 0x1F, 0xC2, 0x06, + 0x40, 0x68, 0x05, 0x00, 0xA0, 0x14, 0x05, 0xFF, 0x00, 0x1E, 0x48, 0x74, + 0x05, 0x01, 0x80, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x04, 0x01, 0x01, + 0x30, 0x87, 0xC0, 0xFE, 0x10, 0x44, 0x09, 0x02, 0x40, 0x50, 0x14, 0x05, + 0x01, 0x40, 0x50, 0x14, 0x0D, 0x02, 0x41, 0x3F, 0x80, 0xFF, 0xC8, 0x09, + 0x01, 0x20, 0x04, 0x00, 0x88, 0x1F, 0x02, 0x20, 0x40, 0x08, 0x01, 0x00, + 0xA0, 0x14, 0x03, 0xFF, 0xC0, 0xFF, 0xE8, 0x05, 0x00, 0xA0, 0x04, 0x00, + 0x88, 0x1F, 0x02, 0x20, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x01, 0xF0, + 0x00, 0x1F, 0x46, 0x19, 0x01, 0x60, 0x28, 0x01, 0x00, 0x20, 0x04, 0x00, + 0x83, 0xF0, 0x0B, 0x01, 0x20, 0x23, 0x0C, 0x3E, 0x00, 0xE1, 0xD0, 0x24, + 0x09, 0x02, 0x40, 0x90, 0x27, 0xF9, 0x02, 0x40, 0x90, 0x24, 0x09, 0x02, + 0x40, 0xB8, 0x70, 0xFE, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x20, + 0x40, 0x81, 0x1F, 0xC0, 0x0F, 0xE0, 0x10, 0x02, 0x00, 0x40, 0x08, 0x01, + 0x00, 0x20, 0x04, 0x80, 0x90, 0x12, 0x02, 0x40, 0xC6, 0x30, 0x7C, 0x00, + 0xF1, 0xE4, 0x0C, 0x41, 0x04, 0x20, 0x44, 0x04, 0x80, 0x5C, 0x06, 0x60, + 0x43, 0x04, 0x10, 0x40, 0x84, 0x08, 0x40, 0xCF, 0x07, 0xF8, 0x04, 0x00, + 0x80, 0x10, 0x02, 0x00, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x04, 0x80, + 0x90, 0x12, 0x03, 0xFF, 0xC0, 0xE0, 0x3B, 0x01, 0x94, 0x14, 0xA0, 0xA4, + 0x89, 0x24, 0x49, 0x14, 0x48, 0xA2, 0x45, 0x12, 0x10, 0x90, 0x04, 0x80, + 0x24, 0x01, 0x78, 0x3C, 0xE0, 0xF6, 0x02, 0x50, 0x25, 0x02, 0x48, 0x24, + 0xC2, 0x44, 0x24, 0x22, 0x43, 0x24, 0x12, 0x40, 0xA4, 0x0A, 0x40, 0x6F, + 0x06, 0x0F, 0x03, 0x0C, 0x60, 0x64, 0x02, 0x80, 0x18, 0x01, 0x80, 0x18, + 0x01, 0x80, 0x18, 0x01, 0x40, 0x26, 0x06, 0x30, 0xC0, 0xF0, 0xFF, 0x10, + 0x64, 0x05, 0x01, 0x40, 0x50, 0x34, 0x19, 0xFC, 0x40, 0x10, 0x04, 0x01, + 0x00, 0x40, 0x3E, 0x00, 0x0F, 0x03, 0x0C, 0x60, 0x64, 0x02, 0x80, 0x18, + 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x40, 0x26, 0x06, 0x30, 0xC1, + 0xF0, 0x0C, 0x01, 0xF1, 0x30, 0xE0, 0xFF, 0x04, 0x18, 0x40, 0xC4, 0x04, + 0x40, 0x44, 0x0C, 0x41, 0x87, 0xE0, 0x43, 0x04, 0x10, 0x40, 0x84, 0x04, + 0x40, 0x4F, 0x03, 0x1F, 0x48, 0x34, 0x05, 0x01, 0x40, 0x08, 0x01, 0xC0, + 0x0E, 0x00, 0x40, 0x18, 0x06, 0x01, 0xE1, 0xA7, 0xC0, 0xFF, 0xF0, 0x86, + 0x10, 0x82, 0x00, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, + 0x02, 0x00, 0x40, 0x7F, 0x00, 0xF0, 0xF4, 0x02, 0x40, 0x24, 0x02, 0x40, + 0x24, 0x02, 0x40, 0x24, 0x02, 0x40, 0x24, 0x02, 0x40, 0x22, 0x04, 0x30, + 0xC0, 0xF0, 0xF8, 0x7C, 0x80, 0x22, 0x01, 0x04, 0x04, 0x10, 0x20, 0x40, + 0x80, 0x82, 0x02, 0x10, 0x08, 0x40, 0x11, 0x00, 0x48, 0x01, 0xA0, 0x03, + 0x00, 0x0C, 0x00, 0xF8, 0x7C, 0x80, 0x22, 0x00, 0x88, 0xC2, 0x23, 0x10, + 0x8E, 0x42, 0x29, 0x09, 0x24, 0x24, 0x90, 0x91, 0x41, 0x85, 0x06, 0x14, + 0x18, 0x70, 0x60, 0x80, 0xF0, 0xF2, 0x06, 0x30, 0x41, 0x08, 0x09, 0x80, + 0x50, 0x06, 0x00, 0x60, 0x0D, 0x00, 0x88, 0x10, 0xC2, 0x04, 0x60, 0x2F, + 0x0F, 0xF0, 0xF2, 0x02, 0x10, 0x41, 0x04, 0x08, 0x80, 0x50, 0x05, 0x00, + 0x20, 0x02, 0x00, 0x20, 0x02, 0x00, 0x20, 0x02, 0x01, 0xFC, 0xFF, 0x40, + 0xA0, 0x90, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x50, 0x30, 0x18, + 0x0F, 0xFC, 0xF2, 0x49, 0x24, 0x92, 0x49, 0x24, 0x9C, 0x80, 0x60, 0x10, + 0x08, 0x02, 0x01, 0x00, 0x40, 0x20, 0x08, 0x04, 0x01, 0x00, 0x80, 0x20, + 0x10, 0x04, 0x02, 0x00, 0x80, 0x40, 0xE4, 0x92, 0x49, 0x24, 0x92, 0x49, + 0x3C, 0x08, 0x0C, 0x09, 0x0C, 0x4C, 0x14, 0x04, 0xFF, 0xFC, 0x84, 0x21, + 0x3E, 0x00, 0x60, 0x08, 0x02, 0x3F, 0x98, 0x28, 0x0A, 0x02, 0xC3, 0x9F, + 0x30, 0xE0, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x13, 0xE0, 0xA0, + 0x86, 0x02, 0x20, 0x09, 0x00, 0x48, 0x02, 0x40, 0x13, 0x01, 0x14, 0x1B, + 0x9F, 0x00, 0x1F, 0x4C, 0x19, 0x01, 0x40, 0x28, 0x01, 0x00, 0x20, 0x02, + 0x00, 0x60, 0x43, 0xF0, 0x00, 0xC0, 0x08, 0x01, 0x00, 0x20, 0x04, 0x3C, + 0x98, 0x52, 0x06, 0x80, 0x50, 0x0A, 0x01, 0x40, 0x24, 0x0C, 0xC2, 0x87, + 0x98, 0x3F, 0x18, 0x68, 0x06, 0x01, 0xFF, 0xE0, 0x08, 0x03, 0x00, 0x60, + 0xC7, 0xC0, 0x0F, 0x98, 0x08, 0x04, 0x02, 0x07, 0xF8, 0x80, 0x40, 0x20, + 0x10, 0x08, 0x04, 0x02, 0x01, 0x03, 0xF8, 0x1E, 0x6C, 0x39, 0x03, 0x40, + 0x28, 0x05, 0x00, 0xA0, 0x12, 0x06, 0x61, 0x43, 0xC8, 0x01, 0x00, 0x20, + 0x08, 0x3E, 0x00, 0xC0, 0x10, 0x04, 0x01, 0x00, 0x40, 0x13, 0x87, 0x11, + 0x82, 0x40, 0x90, 0x24, 0x09, 0x02, 0x40, 0x90, 0x2E, 0x1C, 0x08, 0x04, + 0x02, 0x00, 0x00, 0x03, 0xC0, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, + 0x80, 0x43, 0xFE, 0x04, 0x08, 0x10, 0x00, 0x1F, 0xC0, 0x81, 0x02, 0x04, + 0x08, 0x10, 0x20, 0x40, 0x81, 0x02, 0x0B, 0xE0, 0xE0, 0x02, 0x00, 0x20, + 0x02, 0x00, 0x20, 0x02, 0x3C, 0x21, 0x02, 0x60, 0x2C, 0x03, 0x80, 0x24, + 0x02, 0x20, 0x21, 0x02, 0x08, 0xE1, 0xF0, 0x78, 0x04, 0x02, 0x01, 0x00, + 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x80, 0x43, 0xFE, + 0xDC, 0xE3, 0x19, 0x90, 0x84, 0x84, 0x24, 0x21, 0x21, 0x09, 0x08, 0x48, + 0x42, 0x42, 0x17, 0x18, 0xC0, 0x67, 0x83, 0x84, 0x20, 0x22, 0x02, 0x20, + 0x22, 0x02, 0x20, 0x22, 0x02, 0x20, 0x2F, 0x07, 0x1F, 0x04, 0x11, 0x01, + 0x40, 0x18, 0x03, 0x00, 0x60, 0x0A, 0x02, 0x20, 0x83, 0xE0, 0xCF, 0x85, + 0x06, 0x60, 0x24, 0x01, 0x40, 0x14, 0x01, 0x40, 0x16, 0x02, 0x50, 0x44, + 0xF8, 0x40, 0x04, 0x00, 0x40, 0x0F, 0x00, 0x1E, 0x6C, 0x3B, 0x03, 0x40, + 0x28, 0x05, 0x00, 0xA0, 0x12, 0x06, 0x61, 0x43, 0xC8, 0x01, 0x00, 0x20, + 0x04, 0x03, 0xC0, 0xE3, 0x8B, 0x13, 0x80, 0x80, 0x20, 0x08, 0x02, 0x00, + 0x80, 0x20, 0x3F, 0x80, 0x1F, 0x58, 0x34, 0x05, 0x80, 0x1E, 0x00, 0x60, + 0x06, 0x01, 0xC0, 0xAF, 0xC0, 0x20, 0x04, 0x00, 0x80, 0x10, 0x0F, 0xF0, + 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, 0x03, 0x04, 0x3F, + 0x00, 0xC1, 0xC8, 0x09, 0x01, 0x20, 0x24, 0x04, 0x80, 0x90, 0x12, 0x02, + 0x61, 0xC7, 0xCC, 0xF8, 0xF9, 0x01, 0x08, 0x10, 0x60, 0x81, 0x08, 0x08, + 0x40, 0x22, 0x01, 0x20, 0x05, 0x00, 0x30, 0x00, 0xF0, 0x7A, 0x01, 0x10, + 0x08, 0x8C, 0x42, 0x62, 0x12, 0x90, 0xA5, 0x05, 0x18, 0x28, 0xC0, 0x86, + 0x00, 0x78, 0xF3, 0x04, 0x18, 0x80, 0xD0, 0x06, 0x00, 0x70, 0x09, 0x81, + 0x0C, 0x20, 0x6F, 0x8F, 0xF0, 0xF2, 0x02, 0x20, 0x41, 0x04, 0x10, 0x80, + 0x88, 0x09, 0x00, 0x50, 0x06, 0x00, 0x20, 0x04, 0x00, 0x40, 0x08, 0x0F, + 0xE0, 0xFF, 0x41, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0xBF, + 0xC0, 0x19, 0x08, 0x42, 0x10, 0x84, 0x64, 0x18, 0x42, 0x10, 0x84, 0x20, + 0xC0, 0xFF, 0xFF, 0xC0, 0xC1, 0x08, 0x42, 0x10, 0x84, 0x10, 0x4C, 0x42, + 0x10, 0x84, 0x26, 0x00, 0x38, 0x13, 0x38, 0x38 }; + +const GFXglyph FreeMono12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' + { 0, 3, 15, 14, 6, -14 }, // 0x21 '!' + { 6, 8, 7, 14, 3, -14 }, // 0x22 '"' + { 13, 10, 16, 14, 2, -14 }, // 0x23 '#' + { 33, 10, 17, 14, 2, -14 }, // 0x24 '$' + { 55, 10, 15, 14, 2, -14 }, // 0x25 '%' + { 74, 9, 12, 14, 3, -11 }, // 0x26 '&' + { 88, 3, 7, 14, 5, -14 }, // 0x27 ''' + { 91, 3, 18, 14, 7, -14 }, // 0x28 '(' + { 98, 3, 18, 14, 4, -14 }, // 0x29 ')' + { 105, 9, 9, 14, 3, -14 }, // 0x2A '*' + { 116, 9, 11, 14, 3, -11 }, // 0x2B '+' + { 129, 5, 7, 14, 3, -3 }, // 0x2C ',' + { 134, 11, 1, 14, 2, -6 }, // 0x2D '-' + { 136, 3, 3, 14, 5, -2 }, // 0x2E '.' + { 138, 9, 18, 14, 3, -15 }, // 0x2F '/' + { 159, 9, 15, 14, 3, -14 }, // 0x30 '0' + { 176, 7, 14, 14, 4, -13 }, // 0x31 '1' + { 189, 9, 15, 14, 2, -14 }, // 0x32 '2' + { 206, 10, 15, 14, 2, -14 }, // 0x33 '3' + { 225, 8, 15, 14, 3, -14 }, // 0x34 '4' + { 240, 9, 15, 14, 3, -14 }, // 0x35 '5' + { 257, 9, 15, 14, 3, -14 }, // 0x36 '6' + { 274, 8, 15, 14, 3, -14 }, // 0x37 '7' + { 289, 9, 15, 14, 3, -14 }, // 0x38 '8' + { 306, 9, 15, 14, 3, -14 }, // 0x39 '9' + { 323, 3, 10, 14, 5, -9 }, // 0x3A ':' + { 327, 5, 13, 14, 3, -9 }, // 0x3B ';' + { 336, 11, 11, 14, 2, -11 }, // 0x3C '<' + { 352, 12, 4, 14, 1, -8 }, // 0x3D '=' + { 358, 11, 11, 14, 2, -11 }, // 0x3E '>' + { 374, 9, 14, 14, 3, -13 }, // 0x3F '?' + { 390, 9, 16, 14, 3, -14 }, // 0x40 '@' + { 408, 14, 14, 14, 0, -13 }, // 0x41 'A' + { 433, 11, 14, 14, 2, -13 }, // 0x42 'B' + { 453, 10, 14, 14, 2, -13 }, // 0x43 'C' + { 471, 10, 14, 14, 2, -13 }, // 0x44 'D' + { 489, 11, 14, 14, 2, -13 }, // 0x45 'E' + { 509, 11, 14, 14, 2, -13 }, // 0x46 'F' + { 529, 11, 14, 14, 2, -13 }, // 0x47 'G' + { 549, 10, 14, 14, 2, -13 }, // 0x48 'H' + { 567, 7, 14, 14, 4, -13 }, // 0x49 'I' + { 580, 11, 14, 14, 2, -13 }, // 0x4A 'J' + { 600, 12, 14, 14, 2, -13 }, // 0x4B 'K' + { 621, 11, 14, 14, 2, -13 }, // 0x4C 'L' + { 641, 13, 14, 14, 1, -13 }, // 0x4D 'M' + { 664, 12, 14, 14, 1, -13 }, // 0x4E 'N' + { 685, 12, 14, 14, 1, -13 }, // 0x4F 'O' + { 706, 10, 14, 14, 2, -13 }, // 0x50 'P' + { 724, 12, 17, 14, 1, -13 }, // 0x51 'Q' + { 750, 12, 14, 14, 2, -13 }, // 0x52 'R' + { 771, 10, 14, 14, 2, -13 }, // 0x53 'S' + { 789, 11, 14, 14, 2, -13 }, // 0x54 'T' + { 809, 12, 14, 14, 1, -13 }, // 0x55 'U' + { 830, 14, 14, 14, 0, -13 }, // 0x56 'V' + { 855, 14, 14, 14, 0, -13 }, // 0x57 'W' + { 880, 12, 14, 14, 1, -13 }, // 0x58 'X' + { 901, 12, 14, 14, 1, -13 }, // 0x59 'Y' + { 922, 9, 14, 14, 3, -13 }, // 0x5A 'Z' + { 938, 3, 18, 14, 7, -14 }, // 0x5B '[' + { 945, 9, 18, 14, 3, -15 }, // 0x5C '\' + { 966, 3, 18, 14, 5, -14 }, // 0x5D ']' + { 973, 9, 6, 14, 3, -14 }, // 0x5E '^' + { 980, 14, 1, 14, 0, 3 }, // 0x5F '_' + { 982, 4, 4, 14, 4, -15 }, // 0x60 '`' + { 984, 10, 10, 14, 2, -9 }, // 0x61 'a' + { 997, 13, 15, 14, 0, -14 }, // 0x62 'b' + { 1022, 11, 10, 14, 2, -9 }, // 0x63 'c' + { 1036, 11, 15, 14, 2, -14 }, // 0x64 'd' + { 1057, 10, 10, 14, 2, -9 }, // 0x65 'e' + { 1070, 9, 15, 14, 4, -14 }, // 0x66 'f' + { 1087, 11, 14, 14, 2, -9 }, // 0x67 'g' + { 1107, 10, 15, 14, 2, -14 }, // 0x68 'h' + { 1126, 9, 15, 14, 3, -14 }, // 0x69 'i' + { 1143, 7, 19, 14, 3, -14 }, // 0x6A 'j' + { 1160, 12, 15, 14, 1, -14 }, // 0x6B 'k' + { 1183, 9, 15, 14, 3, -14 }, // 0x6C 'l' + { 1200, 13, 10, 14, 1, -9 }, // 0x6D 'm' + { 1217, 12, 10, 14, 1, -9 }, // 0x6E 'n' + { 1232, 11, 10, 14, 2, -9 }, // 0x6F 'o' + { 1246, 12, 14, 14, 1, -9 }, // 0x70 'p' + { 1267, 11, 14, 14, 2, -9 }, // 0x71 'q' + { 1287, 10, 10, 14, 3, -9 }, // 0x72 'r' + { 1300, 10, 10, 14, 2, -9 }, // 0x73 's' + { 1313, 11, 14, 14, 1, -13 }, // 0x74 't' + { 1333, 11, 10, 14, 2, -9 }, // 0x75 'u' + { 1347, 13, 10, 14, 1, -9 }, // 0x76 'v' + { 1364, 13, 10, 14, 1, -9 }, // 0x77 'w' + { 1381, 12, 10, 14, 1, -9 }, // 0x78 'x' + { 1396, 12, 14, 14, 1, -9 }, // 0x79 'y' + { 1417, 9, 10, 14, 3, -9 }, // 0x7A 'z' + { 1429, 5, 18, 14, 5, -14 }, // 0x7B '{' + { 1441, 1, 18, 14, 7, -14 }, // 0x7C '|' + { 1444, 5, 18, 14, 5, -14 }, // 0x7D '}' + { 1456, 10, 3, 14, 2, -7 } }; // 0x7E '~' + +const GFXfont FreeMono12pt7b PROGMEM = { + (uint8_t *)FreeMono12pt7bBitmaps, + (GFXglyph *)FreeMono12pt7bGlyphs, + 0x20, 0x7E, 24 }; + +// Approx. 2132 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h new file mode 100644 index 0000000..c605d29 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h @@ -0,0 +1,363 @@ +const uint8_t FreeMono18pt7bBitmaps[] PROGMEM = { + 0x27, 0x77, 0x77, 0x77, 0x77, 0x22, 0x22, 0x20, 0x00, 0x6F, 0xF6, 0xF1, + 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1E, 0xC3, 0x98, 0x33, 0x06, 0x60, 0xCC, + 0x18, 0x04, 0x20, 0x10, 0x80, 0x42, 0x01, 0x08, 0x04, 0x20, 0x10, 0x80, + 0x42, 0x01, 0x10, 0x04, 0x41, 0xFF, 0xF0, 0x44, 0x02, 0x10, 0x08, 0x40, + 0x21, 0x0F, 0xFF, 0xC2, 0x10, 0x08, 0x40, 0x21, 0x00, 0x84, 0x02, 0x10, + 0x08, 0x40, 0x23, 0x00, 0x88, 0x02, 0x20, 0x02, 0x00, 0x10, 0x00, 0x80, + 0x1F, 0xA3, 0x07, 0x10, 0x09, 0x00, 0x48, 0x00, 0x40, 0x03, 0x00, 0x0C, + 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x18, 0x00, 0x20, 0x01, 0x80, 0x0C, 0x00, + 0x70, 0x05, 0xE0, 0xC9, 0xF8, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, + 0x10, 0x00, 0x1E, 0x00, 0x42, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, + 0x10, 0x08, 0x40, 0x0F, 0x00, 0x00, 0x1E, 0x01, 0xF0, 0x1F, 0x01, 0xE0, + 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x86, 0x02, 0x06, 0x04, 0x04, 0x08, 0x08, + 0x10, 0x30, 0x10, 0xC0, 0x1E, 0x00, 0x0F, 0xC1, 0x00, 0x20, 0x02, 0x00, + 0x20, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x03, 0xC0, 0x6C, 0x3C, 0x62, + 0x82, 0x68, 0x34, 0x81, 0xCC, 0x08, 0x61, 0xC3, 0xE7, 0xFF, 0xFF, 0xF6, + 0x66, 0x66, 0x08, 0xC4, 0x62, 0x31, 0x8C, 0xC6, 0x31, 0x8C, 0x63, 0x18, + 0xC3, 0x18, 0xC2, 0x18, 0xC3, 0x18, 0x86, 0x10, 0xC2, 0x18, 0xC6, 0x10, + 0xC6, 0x31, 0x8C, 0x63, 0x18, 0x8C, 0x62, 0x31, 0x98, 0x80, 0x02, 0x00, + 0x10, 0x00, 0x80, 0x04, 0x0C, 0x21, 0x9D, 0x70, 0x1C, 0x00, 0xA0, 0x0D, + 0x80, 0xC6, 0x04, 0x10, 0x40, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0xFF, 0xFE, 0x02, + 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, + 0x01, 0x00, 0x3E, 0x78, 0xF3, 0xC7, 0x8E, 0x18, 0x70, 0xC1, 0x80, 0xFF, + 0xFE, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x08, 0x00, 0xC0, 0x04, 0x00, 0x60, + 0x02, 0x00, 0x30, 0x01, 0x00, 0x18, 0x00, 0x80, 0x0C, 0x00, 0x40, 0x02, + 0x00, 0x20, 0x01, 0x00, 0x10, 0x00, 0x80, 0x08, 0x00, 0x40, 0x04, 0x00, + 0x20, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, 0x00, 0x00, + 0x0F, 0x81, 0x82, 0x08, 0x08, 0x80, 0x24, 0x01, 0x60, 0x0E, 0x00, 0x30, + 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, + 0x30, 0x03, 0x40, 0x12, 0x00, 0x88, 0x08, 0x60, 0xC0, 0xF8, 0x00, 0x06, + 0x00, 0x70, 0x06, 0x80, 0x64, 0x06, 0x20, 0x31, 0x00, 0x08, 0x00, 0x40, + 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, + 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x0F, 0xFF, 0x80, 0x0F, 0x80, + 0xC3, 0x08, 0x04, 0x80, 0x24, 0x00, 0x80, 0x04, 0x00, 0x20, 0x02, 0x00, + 0x10, 0x01, 0x00, 0x10, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, + 0x18, 0x01, 0x80, 0x58, 0x03, 0x80, 0x1F, 0xFF, 0x80, 0x0F, 0xC0, 0xC0, + 0x86, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x04, 0x00, + 0x20, 0x0F, 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x40, + 0x01, 0x00, 0x04, 0x00, 0x2C, 0x01, 0x9C, 0x0C, 0x0F, 0xC0, 0x01, 0xC0, + 0x14, 0x02, 0x40, 0x64, 0x04, 0x40, 0xC4, 0x08, 0x41, 0x84, 0x10, 0x42, + 0x04, 0x20, 0x44, 0x04, 0x40, 0x48, 0x04, 0xFF, 0xF0, 0x04, 0x00, 0x40, + 0x04, 0x00, 0x40, 0x04, 0x07, 0xF0, 0x3F, 0xF0, 0x80, 0x02, 0x00, 0x08, + 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x0B, 0xF0, 0x30, 0x30, 0x00, 0x60, + 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x10, 0x00, 0x40, 0x01, 0x00, 0x0E, + 0x00, 0x2C, 0x01, 0x0C, 0x18, 0x0F, 0xC0, 0x01, 0xF0, 0x60, 0x18, 0x03, + 0x00, 0x20, 0x04, 0x00, 0x40, 0x0C, 0x00, 0x80, 0x08, 0xF8, 0x98, 0x4A, + 0x02, 0xE0, 0x3C, 0x01, 0x80, 0x14, 0x01, 0x40, 0x14, 0x03, 0x20, 0x21, + 0x0C, 0x0F, 0x80, 0xFF, 0xF8, 0x01, 0x80, 0x18, 0x03, 0x00, 0x20, 0x02, + 0x00, 0x20, 0x04, 0x00, 0x40, 0x04, 0x00, 0xC0, 0x08, 0x00, 0x80, 0x18, + 0x01, 0x00, 0x10, 0x01, 0x00, 0x30, 0x02, 0x00, 0x20, 0x02, 0x00, 0x0F, + 0x81, 0x83, 0x10, 0x05, 0x80, 0x38, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x03, + 0x40, 0x11, 0x83, 0x07, 0xF0, 0x60, 0xC4, 0x01, 0x60, 0x0E, 0x00, 0x30, + 0x01, 0x80, 0x0E, 0x00, 0xD0, 0x04, 0x60, 0xC1, 0xFC, 0x00, 0x1F, 0x03, + 0x08, 0x40, 0x4C, 0x02, 0x80, 0x28, 0x02, 0x80, 0x18, 0x03, 0xC0, 0x74, + 0x05, 0x21, 0x91, 0xF1, 0x00, 0x10, 0x03, 0x00, 0x20, 0x02, 0x00, 0x40, + 0x0C, 0x01, 0x80, 0x60, 0xF8, 0x00, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, + 0x1D, 0xFF, 0xFD, 0xC0, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0xF1, 0xE3, 0x8F, 0x1C, 0x38, 0xE1, 0xC3, 0x06, 0x00, 0x00, 0x06, + 0x00, 0x18, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x06, 0x00, 0x38, + 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x0E, + 0x00, 0x07, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xFF, 0xFC, 0xC0, 0x00, 0xC0, 0x00, 0xE0, 0x00, 0x70, + 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x70, + 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0x60, 0x00, 0x3F, + 0x8E, 0x0C, 0x80, 0x28, 0x01, 0x80, 0x10, 0x01, 0x00, 0x10, 0x02, 0x00, + 0xC0, 0x38, 0x06, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, + 0x01, 0xF0, 0x1F, 0x00, 0xE0, 0x0F, 0x01, 0x86, 0x08, 0x08, 0x80, 0x24, + 0x01, 0x40, 0x0A, 0x00, 0x50, 0x1E, 0x83, 0x14, 0x20, 0xA2, 0x05, 0x10, + 0x28, 0x81, 0x46, 0x0A, 0x18, 0x50, 0x3F, 0x80, 0x04, 0x00, 0x10, 0x00, + 0x80, 0x02, 0x00, 0x18, 0x18, 0x3F, 0x00, 0x1F, 0xF0, 0x00, 0x06, 0x80, + 0x00, 0x34, 0x00, 0x01, 0x30, 0x00, 0x18, 0x80, 0x00, 0x86, 0x00, 0x04, + 0x30, 0x00, 0x60, 0x80, 0x02, 0x06, 0x00, 0x10, 0x10, 0x01, 0x80, 0x80, + 0x08, 0x06, 0x00, 0x7F, 0xF0, 0x06, 0x00, 0x80, 0x20, 0x06, 0x01, 0x00, + 0x10, 0x18, 0x00, 0xC0, 0x80, 0x06, 0x04, 0x00, 0x11, 0xFC, 0x0F, 0xF0, + 0xFF, 0xF8, 0x04, 0x01, 0x01, 0x00, 0x20, 0x40, 0x04, 0x10, 0x01, 0x04, + 0x00, 0x41, 0x00, 0x10, 0x40, 0x08, 0x10, 0x0C, 0x07, 0xFF, 0x01, 0x00, + 0x70, 0x40, 0x06, 0x10, 0x00, 0x84, 0x00, 0x11, 0x00, 0x04, 0x40, 0x01, + 0x10, 0x00, 0x44, 0x00, 0x21, 0x00, 0x33, 0xFF, 0xF8, 0x03, 0xF1, 0x06, + 0x0E, 0x8C, 0x01, 0xC4, 0x00, 0x64, 0x00, 0x12, 0x00, 0x0A, 0x00, 0x01, + 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x20, 0x01, 0x88, 0x01, 0x83, + 0x03, 0x80, 0x7E, 0x00, 0xFF, 0xE0, 0x20, 0x18, 0x20, 0x0C, 0x20, 0x04, + 0x20, 0x02, 0x20, 0x02, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, + 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x02, 0x20, 0x02, + 0x20, 0x04, 0x20, 0x0C, 0x20, 0x18, 0xFF, 0xE0, 0xFF, 0xFF, 0x08, 0x00, + 0x84, 0x00, 0x42, 0x00, 0x21, 0x00, 0x10, 0x80, 0x00, 0x40, 0x00, 0x20, + 0x40, 0x10, 0x20, 0x0F, 0xF0, 0x04, 0x08, 0x02, 0x04, 0x01, 0x00, 0x00, + 0x80, 0x00, 0x40, 0x02, 0x20, 0x01, 0x10, 0x00, 0x88, 0x00, 0x44, 0x00, + 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0x88, 0x00, 0x44, 0x00, 0x22, 0x00, 0x11, + 0x00, 0x08, 0x80, 0x00, 0x40, 0x00, 0x20, 0x40, 0x10, 0x20, 0x0F, 0xF0, + 0x04, 0x08, 0x02, 0x04, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, + 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xF9, + 0x06, 0x07, 0x84, 0x00, 0xC4, 0x00, 0x24, 0x00, 0x12, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x0F, 0xF8, + 0x00, 0x14, 0x00, 0x09, 0x00, 0x04, 0x80, 0x02, 0x20, 0x01, 0x18, 0x00, + 0x83, 0x01, 0xC0, 0x7F, 0x00, 0xFC, 0x3F, 0x20, 0x04, 0x20, 0x04, 0x20, + 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x3F, + 0xFC, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, + 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xFC, 0x3F, 0xFF, 0xF8, 0x10, + 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, + 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, + 0x00, 0x10, 0x00, 0x81, 0xFF, 0xF0, 0x03, 0xFF, 0x80, 0x04, 0x00, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x04, 0x00, 0x02, 0x10, 0x01, 0x08, 0x00, 0x84, 0x00, 0x42, + 0x00, 0x21, 0x00, 0x10, 0x80, 0x10, 0x20, 0x18, 0x0C, 0x18, 0x01, 0xF0, + 0x00, 0xFF, 0x1F, 0x84, 0x01, 0x81, 0x00, 0xC0, 0x40, 0x60, 0x10, 0x30, + 0x04, 0x18, 0x01, 0x0C, 0x00, 0x46, 0x00, 0x13, 0x00, 0x05, 0xF0, 0x01, + 0xC6, 0x00, 0x60, 0xC0, 0x10, 0x18, 0x04, 0x06, 0x01, 0x00, 0xC0, 0x40, + 0x30, 0x10, 0x04, 0x04, 0x01, 0x81, 0x00, 0x23, 0xFC, 0x0F, 0xFF, 0x80, + 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, + 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, + 0x42, 0x00, 0x84, 0x01, 0x08, 0x02, 0x10, 0x04, 0x20, 0x0F, 0xFF, 0xF0, + 0xF0, 0x01, 0xE7, 0x00, 0x70, 0xA0, 0x0A, 0x16, 0x03, 0x42, 0x40, 0x48, + 0x4C, 0x19, 0x08, 0x82, 0x21, 0x10, 0x44, 0x23, 0x18, 0x84, 0x22, 0x10, + 0x86, 0xC2, 0x10, 0x50, 0x42, 0x0E, 0x08, 0x41, 0xC1, 0x08, 0x00, 0x21, + 0x00, 0x04, 0x20, 0x00, 0x84, 0x00, 0x10, 0x80, 0x02, 0x7F, 0x03, 0xF0, + 0xF8, 0x1F, 0xC6, 0x00, 0x41, 0xC0, 0x10, 0x50, 0x04, 0x12, 0x01, 0x04, + 0xC0, 0x41, 0x10, 0x10, 0x46, 0x04, 0x10, 0x81, 0x04, 0x10, 0x41, 0x04, + 0x10, 0x40, 0x84, 0x10, 0x31, 0x04, 0x04, 0x41, 0x01, 0x90, 0x40, 0x24, + 0x10, 0x05, 0x04, 0x01, 0xC1, 0x00, 0x31, 0xFC, 0x0C, 0x03, 0xE0, 0x06, + 0x0C, 0x04, 0x01, 0x04, 0x00, 0x46, 0x00, 0x32, 0x00, 0x0B, 0x00, 0x05, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0E, 0x00, 0x0D, 0x00, 0x04, 0xC0, 0x06, 0x20, 0x02, 0x08, 0x02, 0x03, + 0x06, 0x00, 0x7C, 0x00, 0xFF, 0xF0, 0x10, 0x0C, 0x10, 0x02, 0x10, 0x03, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x03, 0x10, 0x06, 0x10, 0x0C, + 0x1F, 0xF0, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFF, 0xC0, 0x03, 0xE0, 0x06, 0x0C, + 0x04, 0x01, 0x04, 0x00, 0x46, 0x00, 0x32, 0x00, 0x0B, 0x00, 0x07, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0E, + 0x00, 0x0D, 0x00, 0x04, 0xC0, 0x06, 0x20, 0x02, 0x08, 0x02, 0x03, 0x06, + 0x00, 0xFC, 0x00, 0x30, 0x00, 0x30, 0x00, 0x7F, 0xC6, 0x38, 0x1E, 0xFF, + 0xF0, 0x02, 0x01, 0x80, 0x40, 0x08, 0x08, 0x01, 0x81, 0x00, 0x10, 0x20, + 0x02, 0x04, 0x00, 0x40, 0x80, 0x18, 0x10, 0x06, 0x02, 0x03, 0x80, 0x7F, + 0xC0, 0x08, 0x18, 0x01, 0x01, 0x80, 0x20, 0x18, 0x04, 0x01, 0x80, 0x80, + 0x10, 0x10, 0x03, 0x02, 0x00, 0x20, 0x40, 0x06, 0x7F, 0x80, 0x70, 0x0F, + 0xC8, 0x61, 0xE2, 0x01, 0x90, 0x02, 0x40, 0x09, 0x00, 0x04, 0x00, 0x08, + 0x00, 0x38, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, + 0x00, 0x60, 0x01, 0x80, 0x0F, 0x00, 0x2B, 0x03, 0x23, 0xF0, 0xFF, 0xFF, + 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x20, 0x20, 0x00, 0x40, 0x00, + 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x01, 0xFF, 0xC0, + 0xFC, 0x1F, 0x90, 0x01, 0x08, 0x00, 0x84, 0x00, 0x42, 0x00, 0x21, 0x00, + 0x10, 0x80, 0x08, 0x40, 0x04, 0x20, 0x02, 0x10, 0x01, 0x08, 0x00, 0x84, + 0x00, 0x42, 0x00, 0x21, 0x00, 0x10, 0x80, 0x08, 0x40, 0x04, 0x10, 0x04, + 0x0C, 0x06, 0x03, 0x06, 0x00, 0x7C, 0x00, 0xFE, 0x03, 0xF8, 0x80, 0x02, + 0x04, 0x00, 0x10, 0x30, 0x01, 0x80, 0x80, 0x08, 0x06, 0x00, 0xC0, 0x30, + 0x06, 0x00, 0x80, 0x20, 0x06, 0x03, 0x00, 0x30, 0x10, 0x00, 0x80, 0x80, + 0x06, 0x0C, 0x00, 0x10, 0x40, 0x00, 0x86, 0x00, 0x06, 0x20, 0x00, 0x11, + 0x00, 0x00, 0xD8, 0x00, 0x06, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, + 0xFC, 0x0F, 0xE8, 0x00, 0x19, 0x00, 0x03, 0x10, 0x00, 0x62, 0x00, 0x08, + 0x41, 0x81, 0x08, 0x28, 0x21, 0x05, 0x04, 0x21, 0xA0, 0x84, 0x36, 0x30, + 0x84, 0x46, 0x08, 0x88, 0xC1, 0x31, 0x18, 0x24, 0x12, 0x04, 0x82, 0x40, + 0xB0, 0x48, 0x14, 0x09, 0x02, 0x80, 0xA0, 0x30, 0x1C, 0x06, 0x03, 0x80, + 0x7E, 0x0F, 0xC2, 0x00, 0x60, 0x60, 0x0C, 0x06, 0x03, 0x00, 0x60, 0xC0, + 0x0C, 0x10, 0x00, 0xC6, 0x00, 0x0D, 0x80, 0x00, 0xA0, 0x00, 0x1C, 0x00, + 0x03, 0x80, 0x00, 0xD8, 0x00, 0x11, 0x00, 0x06, 0x30, 0x01, 0x83, 0x00, + 0x60, 0x30, 0x08, 0x06, 0x03, 0x00, 0x60, 0xC0, 0x06, 0x7F, 0x07, 0xF0, + 0xFC, 0x1F, 0x98, 0x03, 0x04, 0x01, 0x03, 0x01, 0x80, 0xC1, 0x80, 0x20, + 0x80, 0x18, 0xC0, 0x04, 0x40, 0x03, 0x60, 0x00, 0xE0, 0x00, 0x20, 0x00, + 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x80, + 0x00, 0x40, 0x00, 0x20, 0x03, 0xFF, 0x80, 0xFF, 0xF4, 0x00, 0xA0, 0x09, + 0x00, 0x48, 0x04, 0x40, 0x40, 0x02, 0x00, 0x20, 0x02, 0x00, 0x10, 0x01, + 0x00, 0x10, 0x00, 0x80, 0x08, 0x04, 0x80, 0x24, 0x01, 0x40, 0x0C, 0x00, + 0x60, 0x03, 0xFF, 0xF0, 0xFC, 0x21, 0x08, 0x42, 0x10, 0x84, 0x21, 0x08, + 0x42, 0x10, 0x84, 0x21, 0x08, 0x42, 0x10, 0xF8, 0x80, 0x02, 0x00, 0x10, + 0x00, 0xC0, 0x02, 0x00, 0x18, 0x00, 0x40, 0x03, 0x00, 0x08, 0x00, 0x40, + 0x01, 0x00, 0x08, 0x00, 0x20, 0x01, 0x00, 0x04, 0x00, 0x20, 0x00, 0x80, + 0x04, 0x00, 0x10, 0x00, 0x80, 0x02, 0x00, 0x10, 0x00, 0x40, 0x02, 0x00, + 0x08, 0x00, 0x40, 0xF8, 0x42, 0x10, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, + 0x21, 0x08, 0x42, 0x10, 0x84, 0x21, 0xF8, 0x02, 0x00, 0x38, 0x03, 0x60, + 0x11, 0x01, 0x8C, 0x18, 0x31, 0x80, 0xD8, 0x03, 0x80, 0x08, 0xFF, 0xFF, + 0xF8, 0xC1, 0x83, 0x06, 0x0C, 0x0F, 0xC0, 0x70, 0x30, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x08, 0x00, 0x08, 0x0F, 0xF8, 0x30, 0x08, 0x40, 0x08, 0x80, + 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x38, 0x60, 0xE8, 0x3F, 0x8F, 0xF0, + 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, + 0x01, 0x0F, 0x80, 0x4C, 0x18, 0x14, 0x01, 0x06, 0x00, 0x21, 0x80, 0x08, + 0x40, 0x01, 0x10, 0x00, 0x44, 0x00, 0x11, 0x00, 0x04, 0x40, 0x01, 0x18, + 0x00, 0x86, 0x00, 0x21, 0xC0, 0x10, 0x5C, 0x18, 0xF1, 0xF8, 0x00, 0x07, + 0xE4, 0x30, 0x78, 0x80, 0x32, 0x00, 0x24, 0x00, 0x50, 0x00, 0x20, 0x00, + 0x40, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x12, 0x00, 0xC3, + 0x07, 0x01, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x7C, 0x20, 0x60, 0xC8, 0x20, 0x0A, + 0x10, 0x01, 0x84, 0x00, 0x62, 0x00, 0x08, 0x80, 0x02, 0x20, 0x00, 0x88, + 0x00, 0x22, 0x00, 0x08, 0xC0, 0x06, 0x10, 0x01, 0x82, 0x00, 0xE0, 0x60, + 0xE8, 0x0F, 0xE3, 0xC0, 0x07, 0xE0, 0x1C, 0x18, 0x30, 0x0C, 0x60, 0x06, + 0x40, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0xC0, 0x00, + 0x40, 0x00, 0x60, 0x00, 0x30, 0x03, 0x0C, 0x0E, 0x03, 0xF0, 0x03, 0xFC, + 0x18, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x0F, 0xFF, 0x82, 0x00, + 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, + 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0xFF, 0xF0, 0x0F, + 0xC7, 0x9C, 0x3A, 0x18, 0x07, 0x08, 0x01, 0x8C, 0x00, 0xC4, 0x00, 0x22, + 0x00, 0x11, 0x00, 0x08, 0x80, 0x04, 0x40, 0x02, 0x10, 0x03, 0x08, 0x01, + 0x82, 0x01, 0x40, 0xC3, 0x20, 0x3F, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x7F, 0x00, 0xF0, 0x00, + 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x47, + 0xC0, 0x2C, 0x18, 0x1C, 0x04, 0x0C, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, + 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, 0x20, 0x04, 0x10, 0x02, 0x08, 0x01, + 0x04, 0x00, 0x82, 0x00, 0x47, 0xC0, 0xF8, 0x06, 0x00, 0x18, 0x00, 0x60, + 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x02, 0x00, 0x08, + 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, + 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x03, 0xFF, 0xF0, 0x03, 0x00, + 0xC0, 0x30, 0x0C, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x40, 0x10, 0x04, + 0x01, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, + 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x10, 0x08, 0x06, 0xFE, 0x00, 0xF0, + 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, + 0xFE, 0x10, 0x30, 0x10, 0xE0, 0x11, 0xC0, 0x13, 0x00, 0x16, 0x00, 0x1E, + 0x00, 0x1B, 0x00, 0x11, 0x80, 0x10, 0xC0, 0x10, 0x60, 0x10, 0x30, 0x10, + 0x18, 0x10, 0x1C, 0xF0, 0x3F, 0x7E, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, + 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, + 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, + 0x00, 0x20, 0x00, 0x80, 0xFF, 0xFC, 0xEF, 0x9E, 0x07, 0x1E, 0x20, 0xC1, + 0x82, 0x10, 0x20, 0x42, 0x04, 0x08, 0x40, 0x81, 0x08, 0x10, 0x21, 0x02, + 0x04, 0x20, 0x40, 0x84, 0x08, 0x10, 0x81, 0x02, 0x10, 0x20, 0x42, 0x04, + 0x08, 0x40, 0x81, 0x3E, 0x1C, 0x38, 0x71, 0xF0, 0x0B, 0x06, 0x07, 0x01, + 0x03, 0x00, 0x41, 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, 0x20, 0x04, 0x10, + 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, 0x20, 0x80, 0x13, + 0xF0, 0x3E, 0x07, 0xC0, 0x30, 0x60, 0x80, 0x22, 0x00, 0x24, 0x00, 0x50, + 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x05, 0x00, 0x12, 0x00, + 0x22, 0x00, 0x83, 0x06, 0x01, 0xF0, 0x00, 0xF1, 0xFC, 0x05, 0xC1, 0x81, + 0xC0, 0x10, 0x60, 0x02, 0x18, 0x00, 0xC4, 0x00, 0x11, 0x00, 0x04, 0x40, + 0x01, 0x10, 0x00, 0x44, 0x00, 0x11, 0x80, 0x08, 0x60, 0x02, 0x14, 0x01, + 0x04, 0xC1, 0x81, 0x0F, 0x80, 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, + 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xE3, 0xC6, + 0x0E, 0x86, 0x00, 0xE1, 0x00, 0x18, 0xC0, 0x06, 0x20, 0x00, 0x88, 0x00, + 0x22, 0x00, 0x08, 0x80, 0x02, 0x20, 0x00, 0x84, 0x00, 0x61, 0x00, 0x18, + 0x20, 0x0A, 0x06, 0x0C, 0x80, 0x7C, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, + 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, 0x0F, 0xF0, 0xF8, + 0x7C, 0x11, 0x8C, 0x2C, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, + 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xD1, 0x83, 0x98, 0x04, 0x80, 0x24, 0x00, + 0x30, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0x30, 0x00, 0xE0, 0x03, 0x00, 0x1C, + 0x01, 0xF0, 0x1A, 0x7F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, + 0x00, 0x08, 0x00, 0xFF, 0xFC, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, + 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, + 0x00, 0x08, 0x00, 0x08, 0x01, 0x06, 0x0F, 0x03, 0xF8, 0xF0, 0x3E, 0x08, + 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, + 0x20, 0x04, 0x10, 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, + 0xE0, 0x41, 0xD0, 0x1F, 0x8E, 0xFE, 0x0F, 0xE2, 0x00, 0x20, 0x60, 0x0C, + 0x0C, 0x01, 0x80, 0x80, 0x20, 0x18, 0x0C, 0x01, 0x01, 0x00, 0x30, 0x60, + 0x02, 0x08, 0x00, 0x41, 0x00, 0x0C, 0x60, 0x00, 0x88, 0x00, 0x19, 0x00, + 0x01, 0x40, 0x00, 0x38, 0x00, 0xFC, 0x07, 0xE4, 0x00, 0x10, 0x80, 0x02, + 0x18, 0x20, 0xC3, 0x0E, 0x18, 0x21, 0x42, 0x04, 0x28, 0x40, 0x8D, 0x88, + 0x19, 0x93, 0x03, 0x22, 0x60, 0x2C, 0x68, 0x05, 0x85, 0x00, 0xA0, 0xA0, + 0x1C, 0x1C, 0x01, 0x81, 0x80, 0x7C, 0x1F, 0x18, 0x03, 0x06, 0x03, 0x01, + 0x83, 0x00, 0x63, 0x00, 0x1B, 0x00, 0x07, 0x00, 0x03, 0x80, 0x03, 0x60, + 0x03, 0x18, 0x03, 0x06, 0x03, 0x01, 0x83, 0x00, 0x61, 0x00, 0x33, 0xF0, + 0x7E, 0xFC, 0x1F, 0x90, 0x01, 0x8C, 0x00, 0x86, 0x00, 0xC1, 0x80, 0x40, + 0xC0, 0x60, 0x20, 0x20, 0x18, 0x30, 0x04, 0x10, 0x03, 0x08, 0x00, 0x8C, + 0x00, 0x64, 0x00, 0x16, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, + 0x80, 0x00, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x20, 0x07, 0xFE, 0x00, + 0xFF, 0xF4, 0x01, 0x20, 0x09, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, + 0xC0, 0x04, 0x00, 0x40, 0x04, 0x00, 0x40, 0x14, 0x00, 0xA0, 0x07, 0xFF, + 0xE0, 0x07, 0x0C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x30, 0xC0, 0x30, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x0C, 0x07, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x30, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x07, 0x0C, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0xE0, 0x1C, 0x00, 0x44, 0x0D, 0x84, + 0x36, 0x04, 0x40, 0x07, 0x00 }; + +const GFXglyph FreeMono18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' + { 0, 4, 22, 21, 8, -21 }, // 0x21 '!' + { 11, 11, 10, 21, 5, -20 }, // 0x22 '"' + { 25, 14, 24, 21, 3, -21 }, // 0x23 '#' + { 67, 13, 26, 21, 4, -22 }, // 0x24 '$' + { 110, 15, 21, 21, 3, -20 }, // 0x25 '%' + { 150, 12, 18, 21, 4, -17 }, // 0x26 '&' + { 177, 4, 10, 21, 8, -20 }, // 0x27 ''' + { 182, 5, 25, 21, 10, -20 }, // 0x28 '(' + { 198, 5, 25, 21, 6, -20 }, // 0x29 ')' + { 214, 13, 12, 21, 4, -20 }, // 0x2A '*' + { 234, 15, 17, 21, 3, -17 }, // 0x2B '+' + { 266, 7, 10, 21, 5, -4 }, // 0x2C ',' + { 275, 15, 1, 21, 3, -9 }, // 0x2D '-' + { 277, 5, 5, 21, 8, -4 }, // 0x2E '.' + { 281, 13, 26, 21, 4, -22 }, // 0x2F '/' + { 324, 13, 21, 21, 4, -20 }, // 0x30 '0' + { 359, 13, 21, 21, 4, -20 }, // 0x31 '1' + { 394, 13, 21, 21, 3, -20 }, // 0x32 '2' + { 429, 14, 21, 21, 3, -20 }, // 0x33 '3' + { 466, 12, 21, 21, 4, -20 }, // 0x34 '4' + { 498, 14, 21, 21, 3, -20 }, // 0x35 '5' + { 535, 12, 21, 21, 5, -20 }, // 0x36 '6' + { 567, 12, 21, 21, 4, -20 }, // 0x37 '7' + { 599, 13, 21, 21, 4, -20 }, // 0x38 '8' + { 634, 12, 21, 21, 5, -20 }, // 0x39 '9' + { 666, 5, 15, 21, 8, -14 }, // 0x3A ':' + { 676, 7, 20, 21, 5, -14 }, // 0x3B ';' + { 694, 15, 16, 21, 3, -17 }, // 0x3C '<' + { 724, 17, 6, 21, 2, -12 }, // 0x3D '=' + { 737, 15, 16, 21, 3, -17 }, // 0x3E '>' + { 767, 12, 20, 21, 5, -19 }, // 0x3F '?' + { 797, 13, 23, 21, 4, -20 }, // 0x40 '@' + { 835, 21, 20, 21, 0, -19 }, // 0x41 'A' + { 888, 18, 20, 21, 1, -19 }, // 0x42 'B' + { 933, 17, 20, 21, 2, -19 }, // 0x43 'C' + { 976, 16, 20, 21, 2, -19 }, // 0x44 'D' + { 1016, 17, 20, 21, 1, -19 }, // 0x45 'E' + { 1059, 17, 20, 21, 1, -19 }, // 0x46 'F' + { 1102, 17, 20, 21, 2, -19 }, // 0x47 'G' + { 1145, 16, 20, 21, 2, -19 }, // 0x48 'H' + { 1185, 13, 20, 21, 4, -19 }, // 0x49 'I' + { 1218, 17, 20, 21, 3, -19 }, // 0x4A 'J' + { 1261, 18, 20, 21, 1, -19 }, // 0x4B 'K' + { 1306, 15, 20, 21, 3, -19 }, // 0x4C 'L' + { 1344, 19, 20, 21, 1, -19 }, // 0x4D 'M' + { 1392, 18, 20, 21, 1, -19 }, // 0x4E 'N' + { 1437, 17, 20, 21, 2, -19 }, // 0x4F 'O' + { 1480, 16, 20, 21, 1, -19 }, // 0x50 'P' + { 1520, 17, 24, 21, 2, -19 }, // 0x51 'Q' + { 1571, 19, 20, 21, 1, -19 }, // 0x52 'R' + { 1619, 14, 20, 21, 3, -19 }, // 0x53 'S' + { 1654, 15, 20, 21, 3, -19 }, // 0x54 'T' + { 1692, 17, 20, 21, 2, -19 }, // 0x55 'U' + { 1735, 21, 20, 21, 0, -19 }, // 0x56 'V' + { 1788, 19, 20, 21, 1, -19 }, // 0x57 'W' + { 1836, 19, 20, 21, 1, -19 }, // 0x58 'X' + { 1884, 17, 20, 21, 2, -19 }, // 0x59 'Y' + { 1927, 13, 20, 21, 4, -19 }, // 0x5A 'Z' + { 1960, 5, 25, 21, 10, -20 }, // 0x5B '[' + { 1976, 13, 26, 21, 4, -22 }, // 0x5C '\' + { 2019, 5, 25, 21, 6, -20 }, // 0x5D ']' + { 2035, 13, 9, 21, 4, -20 }, // 0x5E '^' + { 2050, 21, 1, 21, 0, 4 }, // 0x5F '_' + { 2053, 6, 5, 21, 5, -21 }, // 0x60 '`' + { 2057, 16, 15, 21, 3, -14 }, // 0x61 'a' + { 2087, 18, 21, 21, 1, -20 }, // 0x62 'b' + { 2135, 15, 15, 21, 3, -14 }, // 0x63 'c' + { 2164, 18, 21, 21, 2, -20 }, // 0x64 'd' + { 2212, 16, 15, 21, 2, -14 }, // 0x65 'e' + { 2242, 14, 21, 21, 4, -20 }, // 0x66 'f' + { 2279, 17, 22, 21, 2, -14 }, // 0x67 'g' + { 2326, 17, 21, 21, 1, -20 }, // 0x68 'h' + { 2371, 14, 22, 21, 4, -21 }, // 0x69 'i' + { 2410, 10, 29, 21, 5, -21 }, // 0x6A 'j' + { 2447, 16, 21, 21, 2, -20 }, // 0x6B 'k' + { 2489, 14, 21, 21, 4, -20 }, // 0x6C 'l' + { 2526, 19, 15, 21, 1, -14 }, // 0x6D 'm' + { 2562, 17, 15, 21, 1, -14 }, // 0x6E 'n' + { 2594, 15, 15, 21, 3, -14 }, // 0x6F 'o' + { 2623, 18, 22, 21, 1, -14 }, // 0x70 'p' + { 2673, 18, 22, 21, 2, -14 }, // 0x71 'q' + { 2723, 15, 15, 21, 3, -14 }, // 0x72 'r' + { 2752, 13, 15, 21, 4, -14 }, // 0x73 's' + { 2777, 16, 20, 21, 1, -19 }, // 0x74 't' + { 2817, 17, 15, 21, 1, -14 }, // 0x75 'u' + { 2849, 19, 15, 21, 1, -14 }, // 0x76 'v' + { 2885, 19, 15, 21, 1, -14 }, // 0x77 'w' + { 2921, 17, 15, 21, 2, -14 }, // 0x78 'x' + { 2953, 17, 22, 21, 2, -14 }, // 0x79 'y' + { 3000, 13, 15, 21, 4, -14 }, // 0x7A 'z' + { 3025, 8, 25, 21, 6, -20 }, // 0x7B '{' + { 3050, 1, 25, 21, 10, -20 }, // 0x7C '|' + { 3054, 8, 25, 21, 7, -20 }, // 0x7D '}' + { 3079, 15, 5, 21, 3, -11 } }; // 0x7E '~' + +const GFXfont FreeMono18pt7b PROGMEM = { + (uint8_t *)FreeMono18pt7bBitmaps, + (GFXglyph *)FreeMono18pt7bGlyphs, + 0x20, 0x7E, 35 }; + +// Approx. 3761 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h new file mode 100644 index 0000000..4c8bd15 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h @@ -0,0 +1,577 @@ +const uint8_t FreeMono24pt7bBitmaps[] PROGMEM = { + 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x10, 0x84, 0x21, 0x08, + 0x00, 0x00, 0x00, 0x03, 0xBF, 0xFF, 0xB8, 0xFE, 0x7F, 0x7C, 0x3E, 0x7C, + 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x3C, + 0x3E, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x01, + 0x86, 0x00, 0x30, 0xC0, 0x06, 0x18, 0x00, 0xC3, 0x00, 0x18, 0x60, 0x03, + 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x70, 0x01, 0x8C, 0x00, 0x61, 0x80, 0x0C, + 0x30, 0x3F, 0xFF, 0xF7, 0xFF, 0xFE, 0x06, 0x18, 0x00, 0xC3, 0x00, 0x18, + 0x60, 0x03, 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x30, 0x7F, 0xFF, 0xEF, 0xFF, + 0xFC, 0x06, 0x18, 0x00, 0xC7, 0x00, 0x38, 0xC0, 0x06, 0x18, 0x00, 0xC3, + 0x00, 0x18, 0x60, 0x03, 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x30, 0x01, 0x86, + 0x00, 0x30, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0F, 0xC0, + 0x0F, 0xFD, 0x87, 0x03, 0xE3, 0x80, 0x39, 0xC0, 0x06, 0x60, 0x01, 0x98, + 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0xC0, 0x00, 0x7F, + 0x80, 0x03, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, + 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x80, 0x0E, 0xFC, 0x0F, 0x37, + 0xFF, 0x80, 0x7F, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, + 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x07, 0x80, 0x01, 0xFE, 0x00, 0x38, + 0x70, 0x03, 0x03, 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, + 0x01, 0x80, 0x30, 0x30, 0x03, 0x87, 0x00, 0x1F, 0xE0, 0x30, 0x78, 0x1F, + 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x00, 0xF8, 0x00, + 0x0C, 0x01, 0xE0, 0x00, 0x7F, 0x80, 0x0E, 0x1C, 0x00, 0xC0, 0xC0, 0x18, + 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x0C, 0x0E, 0x00, + 0xE1, 0xC0, 0x07, 0xF8, 0x00, 0x1E, 0x00, 0x03, 0xEC, 0x01, 0xFF, 0x00, + 0xE1, 0x00, 0x70, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x30, + 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x7C, 0x00, 0x3B, 0x83, + 0xD8, 0x60, 0xFE, 0x0C, 0x33, 0x03, 0x98, 0xC0, 0x66, 0x30, 0x0D, 0x8C, + 0x03, 0xC3, 0x00, 0x70, 0x60, 0x1C, 0x1C, 0x0F, 0x03, 0x87, 0x7C, 0x7F, + 0x9F, 0x07, 0x80, 0x00, 0xFE, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x3C, + 0x70, 0xE1, 0xC3, 0x87, 0x00, 0x06, 0x1C, 0x30, 0xE1, 0x87, 0x0E, 0x18, + 0x70, 0xE1, 0xC3, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x0C, + 0x1C, 0x38, 0x70, 0x60, 0xE1, 0xC1, 0x83, 0x83, 0x06, 0x06, 0x04, 0xC1, + 0xC1, 0x83, 0x83, 0x07, 0x0E, 0x0C, 0x1C, 0x38, 0x70, 0xE0, 0xE1, 0xC3, + 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0x87, 0x0E, 0x1C, 0x30, 0x61, 0xC3, + 0x0E, 0x18, 0x70, 0xC1, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, + 0x03, 0x00, 0x00, 0xC0, 0x10, 0x30, 0x3F, 0x8C, 0x7C, 0xFF, 0xFC, 0x07, + 0xF8, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x0C, 0xC0, 0x06, 0x18, 0x03, 0x87, + 0x00, 0xC0, 0xC0, 0x60, 0x18, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, + 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, + 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, + 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, + 0x1F, 0x8F, 0x87, 0xC7, 0xC3, 0xE1, 0xE1, 0xF0, 0xF0, 0x78, 0x38, 0x3C, + 0x1C, 0x0E, 0x06, 0x00, 0x7F, 0xFF, 0xFD, 0xFF, 0xFF, 0xF0, 0x7D, 0xFF, + 0xFF, 0xFF, 0xEF, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x18, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x18, 0x00, 0x06, + 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x18, 0x00, 0x0E, 0x00, + 0x03, 0x00, 0x01, 0xC0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x0C, 0x00, 0x07, + 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x03, + 0xF0, 0x03, 0xFF, 0x01, 0xE1, 0xE0, 0xE0, 0x18, 0x30, 0x03, 0x1C, 0x00, + 0xE6, 0x00, 0x19, 0x80, 0x06, 0xE0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, + 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, + 0x76, 0x00, 0x19, 0x80, 0x06, 0x70, 0x03, 0x8C, 0x00, 0xC3, 0x80, 0x60, + 0x78, 0x78, 0x0F, 0xFC, 0x00, 0xFC, 0x00, 0x03, 0x80, 0x07, 0x80, 0x0F, + 0x80, 0x1D, 0x80, 0x39, 0x80, 0x71, 0x80, 0xE1, 0x80, 0xC1, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xC0, 0xE0, + 0xC0, 0x1C, 0x60, 0x03, 0xB8, 0x00, 0x6C, 0x00, 0x0F, 0x00, 0x03, 0x00, + 0x00, 0xC0, 0x00, 0x30, 0x00, 0x18, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, + 0x00, 0xD0, 0x00, 0x38, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, + 0xF8, 0x01, 0xFF, 0xC0, 0x70, 0x3C, 0x18, 0x01, 0xC6, 0x00, 0x18, 0x00, + 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, + 0x06, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x01, 0xFC, 0x00, 0x3F, 0x00, 0x00, + 0x78, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, + 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0xD8, 0x00, + 0x3B, 0x80, 0x0E, 0x3E, 0x07, 0x81, 0xFF, 0xE0, 0x07, 0xE0, 0x00, 0x00, + 0x3C, 0x00, 0x7C, 0x00, 0x6C, 0x00, 0xCC, 0x00, 0x8C, 0x01, 0x8C, 0x03, + 0x0C, 0x03, 0x0C, 0x06, 0x0C, 0x04, 0x0C, 0x0C, 0x0C, 0x08, 0x0C, 0x10, + 0x0C, 0x30, 0x0C, 0x20, 0x0C, 0x60, 0x0C, 0x40, 0x0C, 0x80, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, + 0x0C, 0x00, 0x0C, 0x00, 0xFF, 0x00, 0xFF, 0x3F, 0xFF, 0x07, 0xFF, 0xE0, + 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, + 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC7, 0xE0, 0x1F, 0xFF, 0x03, + 0x80, 0x70, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x60, + 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, + 0x00, 0x30, 0x00, 0x06, 0xC0, 0x01, 0xDC, 0x00, 0x71, 0xF0, 0x3C, 0x0F, + 0xFF, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x80, 0x3F, 0xF0, 0x3E, 0x00, 0x1E, + 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, + 0x18, 0x00, 0x06, 0x00, 0x03, 0x80, 0x00, 0xC1, 0xF8, 0x31, 0xFF, 0x0C, + 0xF0, 0xF3, 0x70, 0x0C, 0xD8, 0x01, 0xBC, 0x00, 0x6E, 0x00, 0x0F, 0x80, + 0x03, 0xC0, 0x00, 0xD8, 0x00, 0x36, 0x00, 0x0D, 0x80, 0x03, 0x30, 0x01, + 0x8E, 0x00, 0x61, 0xC0, 0x30, 0x38, 0x38, 0x07, 0xFC, 0x00, 0x7C, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xC0, + 0x00, 0x60, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, + 0x30, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, + 0x00, 0x0C, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x03, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x03, 0xC0, 0xF1, 0xC0, 0x0E, + 0x60, 0x01, 0xB8, 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, + 0x00, 0x36, 0x00, 0x18, 0xC0, 0x0C, 0x1C, 0x0E, 0x03, 0xFF, 0x00, 0xFF, + 0xC0, 0x70, 0x38, 0x30, 0x03, 0x18, 0x00, 0x66, 0x00, 0x1B, 0x00, 0x03, + 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0x60, 0x01, 0x98, + 0x00, 0xE3, 0x00, 0x70, 0x70, 0x38, 0x0F, 0xFC, 0x00, 0xFC, 0x00, 0x07, + 0xE0, 0x03, 0xFE, 0x01, 0xC1, 0xC0, 0xC0, 0x38, 0x60, 0x07, 0x18, 0x00, + 0xCC, 0x00, 0x1B, 0x00, 0x06, 0xC0, 0x01, 0xB0, 0x00, 0x3C, 0x00, 0x1F, + 0x00, 0x07, 0x60, 0x03, 0xD8, 0x01, 0xB3, 0x00, 0xCC, 0xF0, 0xF3, 0x0F, + 0xF8, 0xC1, 0xF8, 0x30, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, + 0xE0, 0x00, 0x30, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x80, + 0x07, 0xC0, 0xFF, 0xC0, 0x1F, 0xC0, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xEF, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, + 0xF7, 0xC0, 0x0F, 0x87, 0xF1, 0xFC, 0x7F, 0x1F, 0xC3, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF1, 0xF8, 0x7C, 0x3F, 0x0F, + 0x83, 0xE0, 0xF0, 0x7C, 0x1E, 0x07, 0x81, 0xC0, 0xF0, 0x38, 0x04, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, + 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, + 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x38, 0x00, 0x00, + 0x20, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, + 0xFF, 0x7F, 0xFF, 0xFF, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, + 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xE0, + 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x01, 0xE0, + 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x07, 0xF0, 0x1F, 0xFE, 0x3E, 0x07, 0x98, 0x00, 0xEC, 0x00, + 0x36, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x01, 0xC0, + 0x00, 0xC0, 0x01, 0xC0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x00, 0x03, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x80, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, + 0x78, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xE0, 0xE0, 0xE0, 0x1C, 0x30, + 0x03, 0x1C, 0x00, 0x66, 0x00, 0x19, 0x80, 0x06, 0xC0, 0x01, 0xB0, 0x07, + 0xEC, 0x07, 0xFB, 0x03, 0xC6, 0xC1, 0xC1, 0xB0, 0xE0, 0x6C, 0x30, 0x1B, + 0x0C, 0x06, 0xC3, 0x01, 0xB0, 0xC0, 0x6C, 0x18, 0x1B, 0x07, 0x86, 0xC0, + 0xFF, 0xF0, 0x0F, 0xFC, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, + 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x80, 0xC0, 0xFF, 0xF0, + 0x0F, 0xE0, 0x07, 0xFF, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x1B, 0x00, + 0x00, 0x01, 0x98, 0x00, 0x00, 0x11, 0x80, 0x00, 0x03, 0x0C, 0x00, 0x00, + 0x30, 0xC0, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x60, 0x60, 0x00, 0x06, 0x06, + 0x00, 0x00, 0xC0, 0x30, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x80, 0x30, 0x00, + 0x18, 0x01, 0x80, 0x01, 0x80, 0x18, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, + 0xFC, 0x00, 0x20, 0x00, 0xC0, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, + 0x0C, 0x00, 0x06, 0x00, 0xC0, 0x00, 0x30, 0x0C, 0x00, 0x03, 0x01, 0x80, + 0x00, 0x18, 0x7F, 0xC0, 0x3F, 0xF7, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x03, + 0xFF, 0xFF, 0x01, 0x80, 0x0E, 0x06, 0x00, 0x1C, 0x18, 0x00, 0x38, 0x60, + 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x38, 0x60, 0x01, + 0xC1, 0x80, 0x1E, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x60, 0x03, 0xC1, + 0x80, 0x03, 0x86, 0x00, 0x06, 0x18, 0x00, 0x1C, 0x60, 0x00, 0x31, 0x80, + 0x00, 0xC6, 0x00, 0x03, 0x18, 0x00, 0x0C, 0x60, 0x00, 0x61, 0x80, 0x03, + 0x86, 0x00, 0x1C, 0xFF, 0xFF, 0xE3, 0xFF, 0xFE, 0x00, 0x00, 0xFC, 0x00, + 0x0F, 0xFE, 0x60, 0xF0, 0x3D, 0x87, 0x00, 0x3E, 0x38, 0x00, 0x38, 0xC0, + 0x00, 0xE7, 0x00, 0x01, 0x98, 0x00, 0x06, 0x60, 0x00, 0x03, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, + 0xC7, 0x00, 0x06, 0x0E, 0x00, 0x70, 0x1E, 0x07, 0x80, 0x3F, 0xFC, 0x00, + 0x1F, 0x80, 0xFF, 0xFE, 0x03, 0xFF, 0xFE, 0x03, 0x00, 0x3C, 0x0C, 0x00, + 0x38, 0x30, 0x00, 0x70, 0xC0, 0x00, 0xC3, 0x00, 0x03, 0x8C, 0x00, 0x06, + 0x30, 0x00, 0x1C, 0xC0, 0x00, 0x33, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x30, + 0x00, 0x0C, 0xC0, 0x00, 0x33, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x30, 0x00, + 0x0C, 0xC0, 0x00, 0x33, 0x00, 0x01, 0x8C, 0x00, 0x06, 0x30, 0x00, 0x30, + 0xC0, 0x01, 0xC3, 0x00, 0x0E, 0x0C, 0x00, 0xF0, 0xFF, 0xFF, 0x83, 0xFF, + 0xF8, 0x00, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xE1, 0x80, 0x01, 0x86, 0x00, + 0x06, 0x18, 0x00, 0x18, 0x60, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x00, + 0x18, 0x0C, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x07, 0xFF, 0x00, 0x1F, + 0xFC, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x06, 0x03, 0x00, 0x18, 0x00, + 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0xC6, 0x00, 0x03, 0x18, 0x00, 0x0C, + 0x60, 0x00, 0x31, 0x80, 0x00, 0xC6, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x80, 0x00, 0xC6, 0x00, + 0x03, 0x18, 0x00, 0x0C, 0x60, 0x00, 0x31, 0x80, 0x00, 0xC6, 0x00, 0x00, + 0x18, 0x0C, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x07, 0xFF, 0x00, 0x1F, + 0xFC, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x06, 0x03, 0x00, 0x18, 0x00, + 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0xFF, 0xF0, 0x03, 0xFF, + 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0x98, 0x1E, 0x03, 0xF0, 0x70, + 0x01, 0xE1, 0x80, 0x01, 0xC6, 0x00, 0x01, 0x9C, 0x00, 0x03, 0x30, 0x00, + 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, 0x03, 0xFF, + 0xC0, 0x07, 0xFF, 0x80, 0x00, 0x1B, 0x00, 0x00, 0x37, 0x00, 0x00, 0x66, + 0x00, 0x00, 0xCC, 0x00, 0x01, 0x8C, 0x00, 0x03, 0x1C, 0x00, 0x06, 0x1E, + 0x00, 0x0C, 0x0F, 0x00, 0xF8, 0x0F, 0xFF, 0xC0, 0x03, 0xFC, 0x00, 0x7F, + 0x01, 0xFC, 0xFE, 0x03, 0xF8, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, + 0x03, 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, + 0x30, 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, + 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, + 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0xFF, 0x01, 0xFF, 0xFE, + 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, + 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, + 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x30, 0x60, 0x00, 0x60, 0xC0, 0x00, 0xC1, 0x80, 0x01, 0x83, 0x00, 0x03, + 0x06, 0x00, 0x06, 0x0C, 0x00, 0x0C, 0x18, 0x00, 0x30, 0x38, 0x00, 0x60, + 0x38, 0x01, 0x80, 0x3C, 0x0E, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xC0, 0x00, + 0xFF, 0x81, 0xFE, 0xFF, 0x81, 0xFE, 0x18, 0x00, 0x30, 0x18, 0x00, 0xE0, + 0x18, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x18, 0x07, 0x00, 0x18, 0x0E, 0x00, + 0x18, 0x18, 0x00, 0x18, 0x70, 0x00, 0x18, 0xE0, 0x00, 0x19, 0xE0, 0x00, + 0x1B, 0xF8, 0x00, 0x1F, 0x1C, 0x00, 0x1C, 0x06, 0x00, 0x18, 0x03, 0x00, + 0x18, 0x03, 0x80, 0x18, 0x01, 0x80, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, + 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x70, 0x18, 0x00, 0x30, + 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0x1F, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x01, + 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, + 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, + 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, + 0x06, 0x00, 0x18, 0x30, 0x00, 0xC1, 0x80, 0x06, 0x0C, 0x00, 0x30, 0x60, + 0x01, 0x83, 0x00, 0x0C, 0x18, 0x00, 0x60, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC0, 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x03, 0xF3, 0x60, 0x01, + 0xB0, 0xD8, 0x00, 0x6C, 0x33, 0x00, 0x33, 0x0C, 0xC0, 0x0C, 0xC3, 0x38, + 0x07, 0x30, 0xC6, 0x01, 0x8C, 0x31, 0xC0, 0xE3, 0x0C, 0x30, 0x30, 0xC3, + 0x0C, 0x0C, 0x30, 0xC1, 0x86, 0x0C, 0x30, 0x61, 0x83, 0x0C, 0x0C, 0xC0, + 0xC3, 0x03, 0x30, 0x30, 0xC0, 0x78, 0x0C, 0x30, 0x1E, 0x03, 0x0C, 0x03, + 0x00, 0xC3, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x0C, 0x30, 0x00, 0x03, 0x0C, + 0x00, 0x00, 0xC3, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x0C, 0xFF, 0x00, 0x3F, + 0xFF, 0xC0, 0x0F, 0xF0, 0xFC, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0x1E, 0x00, + 0x0C, 0x1F, 0x00, 0x0C, 0x1B, 0x00, 0x0C, 0x19, 0x80, 0x0C, 0x19, 0xC0, + 0x0C, 0x18, 0xC0, 0x0C, 0x18, 0x60, 0x0C, 0x18, 0x60, 0x0C, 0x18, 0x30, + 0x0C, 0x18, 0x38, 0x0C, 0x18, 0x18, 0x0C, 0x18, 0x0C, 0x0C, 0x18, 0x0E, + 0x0C, 0x18, 0x06, 0x0C, 0x18, 0x03, 0x0C, 0x18, 0x03, 0x0C, 0x18, 0x01, + 0x8C, 0x18, 0x01, 0xCC, 0x18, 0x00, 0xCC, 0x18, 0x00, 0x6C, 0x18, 0x00, + 0x7C, 0x18, 0x00, 0x3C, 0x7F, 0x80, 0x1C, 0x7F, 0x80, 0x1C, 0x00, 0x7E, + 0x00, 0x01, 0xFF, 0xC0, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, 0x00, + 0x38, 0x38, 0x00, 0x1C, 0x30, 0x00, 0x0C, 0x70, 0x00, 0x0E, 0x60, 0x00, + 0x06, 0x60, 0x00, 0x06, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, + 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, + 0x03, 0xC0, 0x00, 0x03, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x70, 0x00, + 0x0E, 0x30, 0x00, 0x0C, 0x38, 0x00, 0x1C, 0x1C, 0x00, 0x38, 0x0E, 0x00, + 0x70, 0x07, 0x81, 0xE0, 0x03, 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0xFF, 0xFF, + 0x07, 0xFF, 0xFE, 0x06, 0x00, 0x78, 0x30, 0x00, 0xE1, 0x80, 0x03, 0x0C, + 0x00, 0x0C, 0x60, 0x00, 0x63, 0x00, 0x03, 0x18, 0x00, 0x18, 0xC0, 0x01, + 0xC6, 0x00, 0x0C, 0x30, 0x00, 0xC1, 0x80, 0x1E, 0x0F, 0xFF, 0xC0, 0x7F, + 0xF8, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, + 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, + 0x00, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x00, 0x00, 0x7E, 0x00, 0x01, 0xFF, + 0x80, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, 0x00, 0x38, 0x38, 0x00, + 0x1C, 0x30, 0x00, 0x0C, 0x70, 0x00, 0x0E, 0x60, 0x00, 0x06, 0x60, 0x00, + 0x06, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, + 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, + 0x03, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x70, 0x00, 0x0E, 0x30, 0x00, + 0x0C, 0x18, 0x00, 0x1C, 0x0C, 0x00, 0x38, 0x06, 0x00, 0x70, 0x03, 0x81, + 0xE0, 0x00, 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x00, 0xE0, 0x00, 0x03, 0xFF, + 0x87, 0x07, 0xFF, 0xFE, 0x07, 0x00, 0xF8, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, + 0x80, 0x18, 0x03, 0xC0, 0x18, 0x00, 0xE0, 0x18, 0x00, 0x60, 0x18, 0x00, + 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, + 0x70, 0x18, 0x00, 0x60, 0x18, 0x01, 0xC0, 0x18, 0x07, 0x80, 0x1F, 0xFF, + 0x00, 0x1F, 0xFC, 0x00, 0x18, 0x0E, 0x00, 0x18, 0x07, 0x00, 0x18, 0x03, + 0x80, 0x18, 0x01, 0xC0, 0x18, 0x00, 0xE0, 0x18, 0x00, 0x60, 0x18, 0x00, + 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x18, 0xFF, 0x80, 0x1F, 0xFF, 0x80, + 0x0F, 0x03, 0xF8, 0x00, 0xFF, 0xE6, 0x1E, 0x07, 0xE3, 0x80, 0x1E, 0x30, + 0x00, 0xE6, 0x00, 0x06, 0x60, 0x00, 0x66, 0x00, 0x06, 0x60, 0x00, 0x07, + 0x00, 0x00, 0x30, 0x00, 0x01, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0xC0, + 0x00, 0x3F, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, + 0x30, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, + 0x06, 0xF8, 0x01, 0xED, 0xE0, 0x7C, 0xCF, 0xFF, 0x00, 0x3F, 0xC0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0x00, 0xF0, 0x0C, 0x03, 0xC0, 0x30, + 0x0F, 0x00, 0xC0, 0x3C, 0x03, 0x00, 0xC0, 0x0C, 0x00, 0x00, 0x30, 0x00, + 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, + 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, + 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, + 0x03, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x00, 0xFF, + 0x01, 0xFF, 0xFE, 0x03, 0xFC, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x00, + 0x01, 0x86, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x0C, 0x30, 0x00, + 0x18, 0x60, 0x00, 0x30, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x00, 0x01, + 0x86, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x0C, 0x30, 0x00, 0x18, + 0x60, 0x00, 0x30, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x80, 0x03, 0x83, + 0x00, 0x06, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x70, 0x07, 0x83, 0xC0, 0x07, + 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x7F, 0xC0, 0x3F, 0xF7, 0xFC, 0x03, 0xFF, + 0x18, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x30, 0x0C, 0x00, 0x03, 0x00, 0x60, + 0x00, 0x30, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, 0x03, 0x00, 0x0C, + 0x00, 0x30, 0x00, 0xC0, 0x03, 0x80, 0x0C, 0x00, 0x18, 0x01, 0x80, 0x01, + 0x80, 0x18, 0x00, 0x0C, 0x03, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x0E, 0x03, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x06, 0x06, 0x00, 0x00, 0x30, 0xC0, 0x00, + 0x03, 0x0C, 0x00, 0x00, 0x30, 0x80, 0x00, 0x01, 0x98, 0x00, 0x00, 0x19, + 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xE0, 0x00, + 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xF3, 0x00, 0x00, 0x30, 0xC0, 0x00, + 0x0C, 0x30, 0x00, 0x03, 0x0C, 0x03, 0x80, 0xC3, 0x01, 0xE0, 0x30, 0x60, + 0x78, 0x0C, 0x18, 0x1F, 0x02, 0x06, 0x04, 0xC0, 0x81, 0x83, 0x30, 0x60, + 0x60, 0xCC, 0x18, 0x18, 0x31, 0x86, 0x06, 0x18, 0x61, 0x81, 0x86, 0x18, + 0x60, 0x71, 0x87, 0x18, 0x0C, 0x40, 0xC6, 0x03, 0x30, 0x31, 0x00, 0xCC, + 0x0C, 0xC0, 0x33, 0x01, 0xB0, 0x0D, 0x80, 0x6C, 0x03, 0x60, 0x1B, 0x00, + 0xD8, 0x06, 0xC0, 0x34, 0x00, 0xF0, 0x07, 0x00, 0x3C, 0x01, 0xC0, 0x0E, + 0x00, 0x7F, 0x00, 0xFF, 0x7F, 0x00, 0xFF, 0x18, 0x00, 0x18, 0x0C, 0x00, + 0x38, 0x0E, 0x00, 0x70, 0x07, 0x00, 0x60, 0x03, 0x00, 0xC0, 0x01, 0x81, + 0x80, 0x01, 0xC3, 0x80, 0x00, 0xE7, 0x00, 0x00, 0x76, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x66, + 0x00, 0x00, 0xC3, 0x00, 0x01, 0x81, 0x80, 0x03, 0x81, 0xC0, 0x07, 0x00, + 0xE0, 0x06, 0x00, 0x60, 0x0C, 0x00, 0x30, 0x18, 0x00, 0x18, 0x38, 0x00, + 0x1C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, + 0xFF, 0x18, 0x00, 0x18, 0x0C, 0x00, 0x30, 0x0E, 0x00, 0x70, 0x06, 0x00, + 0x60, 0x03, 0x00, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0x81, 0x80, 0x00, 0xC3, + 0x00, 0x00, 0xE7, 0x00, 0x00, 0x66, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x07, 0xFF, 0xE0, 0x07, 0xFF, + 0xE0, 0x7F, 0xFF, 0x9F, 0xFF, 0xE6, 0x00, 0x19, 0x80, 0x0C, 0x60, 0x07, + 0x18, 0x03, 0x86, 0x00, 0xC1, 0x80, 0x70, 0x00, 0x38, 0x00, 0x0C, 0x00, + 0x07, 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x1C, + 0x00, 0x06, 0x00, 0x03, 0x80, 0x31, 0xC0, 0x0C, 0x60, 0x03, 0x30, 0x00, + 0xDC, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, + 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x18, 0x30, 0x60, 0xFF, 0xFC, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, + 0x01, 0x80, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, + 0xC0, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x06, + 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x80, 0x00, 0x60, + 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x18, 0x00, 0x07, 0x00, + 0x00, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, + 0x0C, 0xFF, 0xFC, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, + 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, + 0x18, 0x30, 0x60, 0xC1, 0x83, 0xFF, 0xFC, 0x00, 0x40, 0x00, 0x30, 0x00, + 0x1E, 0x00, 0x0E, 0xC0, 0x07, 0x38, 0x01, 0x87, 0x00, 0xC0, 0xC0, 0x60, + 0x18, 0x38, 0x03, 0x1C, 0x00, 0xE6, 0x00, 0x1F, 0x00, 0x03, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x3C, 0x0E, 0x07, 0x03, + 0x01, 0xFC, 0x00, 0x7F, 0xFC, 0x01, 0xC0, 0x3C, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x60, 0x0F, 0xF9, 0x81, 0xFF, 0xFE, 0x0F, 0x80, 0x38, 0x70, 0x00, 0x63, + 0x80, 0x01, 0x8C, 0x00, 0x06, 0x30, 0x00, 0x18, 0xC0, 0x00, 0xE3, 0x00, + 0x07, 0x86, 0x00, 0x76, 0x1E, 0x07, 0x9F, 0x3F, 0xF8, 0x7C, 0x3F, 0x80, + 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, + 0x01, 0x80, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x1F, 0x80, + 0x18, 0xFF, 0xC0, 0x33, 0x81, 0xC0, 0x6E, 0x01, 0xC0, 0xF0, 0x00, 0xC1, + 0xE0, 0x01, 0xC3, 0x80, 0x01, 0x87, 0x00, 0x03, 0x8C, 0x00, 0x03, 0x18, + 0x00, 0x06, 0x30, 0x00, 0x0C, 0x60, 0x00, 0x18, 0xC0, 0x00, 0x31, 0x80, + 0x00, 0x63, 0x80, 0x01, 0x87, 0x00, 0x03, 0x0F, 0x00, 0x0E, 0x1F, 0x00, + 0x38, 0x37, 0x00, 0xE3, 0xE7, 0x03, 0x87, 0xC7, 0xFE, 0x00, 0x03, 0xF0, + 0x00, 0x01, 0xFC, 0x00, 0x3F, 0xF9, 0x83, 0xC0, 0xFC, 0x38, 0x01, 0xE3, + 0x00, 0x07, 0x38, 0x00, 0x19, 0x80, 0x00, 0xDC, 0x00, 0x06, 0xC0, 0x00, + 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, + 0x00, 0x03, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, + 0xC7, 0x00, 0x1E, 0x1E, 0x03, 0xC0, 0x7F, 0xFC, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x01, 0xF8, 0x18, 0x07, + 0xFE, 0x18, 0x0F, 0x07, 0x98, 0x1C, 0x01, 0xD8, 0x38, 0x00, 0xF8, 0x70, + 0x00, 0x78, 0x60, 0x00, 0x38, 0xE0, 0x00, 0x38, 0xC0, 0x00, 0x18, 0xC0, + 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, + 0x00, 0x18, 0x60, 0x00, 0x38, 0x60, 0x00, 0x38, 0x70, 0x00, 0x78, 0x38, + 0x00, 0xD8, 0x1C, 0x01, 0xD8, 0x0F, 0x07, 0x9F, 0x07, 0xFE, 0x1F, 0x01, + 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x3F, 0xF8, 0x07, 0x80, 0xF0, 0x70, 0x01, + 0xC3, 0x00, 0x07, 0x30, 0x00, 0x19, 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, + 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x0C, 0x00, 0x00, + 0x60, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x01, 0xC0, + 0x00, 0xC7, 0x00, 0x0E, 0x1E, 0x03, 0xE0, 0x3F, 0xFC, 0x00, 0x7F, 0x00, + 0x00, 0x7F, 0xC0, 0x3F, 0xFC, 0x0E, 0x00, 0x03, 0x80, 0x00, 0x60, 0x00, + 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0xFF, 0xFF, 0x9F, 0xFF, 0xF0, + 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, + 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, + 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, + 0xC0, 0x03, 0xFF, 0xFC, 0x7F, 0xFF, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xFC, + 0x7C, 0x38, 0x1C, 0xF8, 0xE0, 0x0D, 0x83, 0x00, 0x0F, 0x0E, 0x00, 0x1E, + 0x18, 0x00, 0x1C, 0x70, 0x00, 0x38, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x63, + 0x00, 0x00, 0xC6, 0x00, 0x01, 0x8C, 0x00, 0x03, 0x18, 0x00, 0x06, 0x18, + 0x00, 0x1C, 0x30, 0x00, 0x38, 0x30, 0x00, 0xF0, 0x70, 0x03, 0x60, 0x78, + 0x1C, 0xC0, 0x3F, 0xF1, 0x80, 0x1F, 0x83, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, + 0x80, 0x00, 0x0E, 0x00, 0x3F, 0xF8, 0x00, 0x7F, 0xC0, 0x00, 0xF8, 0x00, + 0x01, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, + 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x3F, 0x00, 0x18, 0xFF, 0x80, + 0x37, 0x03, 0x80, 0x7C, 0x03, 0x80, 0xF0, 0x03, 0x81, 0xC0, 0x03, 0x03, + 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, + 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, 0x00, + 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, 0x00, + 0x63, 0xFC, 0x07, 0xFF, 0xF8, 0x0F, 0xF0, 0x01, 0xC0, 0x00, 0x70, 0x00, + 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x03, 0x00, 0x00, 0xC0, + 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, + 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, + 0xC0, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0x00, 0x0C, + 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, + 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, + 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, + 0x70, 0x03, 0x80, 0x1C, 0xFF, 0xE3, 0xFF, 0x00, 0xF8, 0x00, 0x03, 0xE0, + 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, + 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x1F, 0xE0, 0x60, 0x7F, 0x81, + 0x80, 0x60, 0x06, 0x07, 0x00, 0x18, 0x38, 0x00, 0x61, 0xC0, 0x01, 0x8E, + 0x00, 0x06, 0x70, 0x00, 0x1B, 0x80, 0x00, 0x7F, 0x00, 0x01, 0xCE, 0x00, + 0x06, 0x1C, 0x00, 0x18, 0x38, 0x00, 0x60, 0x70, 0x01, 0x80, 0xE0, 0x06, + 0x01, 0xC0, 0x18, 0x03, 0x80, 0x60, 0x07, 0x0F, 0x80, 0x7F, 0xFE, 0x01, + 0xFF, 0x3F, 0xC0, 0x0F, 0xF0, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, + 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, + 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, + 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF0, 0x3C, 0x0F, 0x9F, 0x87, 0xE0, 0xFB, + 0x1C, 0xC7, 0x01, 0xE0, 0xD8, 0x38, 0x1C, 0x07, 0x01, 0x81, 0x80, 0x60, + 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, + 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, + 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, + 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x8F, 0xE0, + 0x7C, 0x1F, 0xFE, 0x07, 0xC1, 0xF0, 0x00, 0x1F, 0x00, 0xF8, 0xFF, 0x81, + 0xF3, 0x83, 0x80, 0x6C, 0x03, 0x80, 0xF0, 0x03, 0x81, 0xC0, 0x03, 0x03, + 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, + 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, 0x00, + 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, 0x00, + 0x67, 0xFC, 0x03, 0xFF, 0xF8, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0xFE, + 0x00, 0xF0, 0x3C, 0x07, 0x00, 0x38, 0x38, 0x00, 0x71, 0xC0, 0x00, 0xE6, + 0x00, 0x01, 0x98, 0x00, 0x06, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x36, 0x00, 0x01, + 0x98, 0x00, 0x06, 0x70, 0x00, 0x38, 0xE0, 0x01, 0xC1, 0xC0, 0x0E, 0x03, + 0xC0, 0xF0, 0x07, 0xFF, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x01, 0xF1, + 0xFF, 0x83, 0xE7, 0x03, 0x80, 0xD8, 0x01, 0x81, 0xE0, 0x01, 0x83, 0xC0, + 0x03, 0x87, 0x00, 0x03, 0x0E, 0x00, 0x07, 0x18, 0x00, 0x06, 0x30, 0x00, + 0x0C, 0x60, 0x00, 0x18, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x63, 0x00, 0x00, + 0xC7, 0x00, 0x03, 0x0E, 0x00, 0x06, 0x1E, 0x00, 0x18, 0x36, 0x00, 0x70, + 0x67, 0x03, 0xC0, 0xC7, 0xFE, 0x01, 0x83, 0xF0, 0x03, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, + 0x00, 0x00, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x01, + 0xF8, 0x00, 0x07, 0xFF, 0x1F, 0x0F, 0x07, 0x9F, 0x1C, 0x01, 0xD8, 0x38, + 0x00, 0x78, 0x70, 0x00, 0x78, 0x60, 0x00, 0x38, 0xE0, 0x00, 0x38, 0xC0, + 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, + 0x00, 0x18, 0xC0, 0x00, 0x18, 0x60, 0x00, 0x38, 0x70, 0x00, 0x78, 0x30, + 0x00, 0x78, 0x1C, 0x01, 0xD8, 0x0F, 0x07, 0x98, 0x07, 0xFF, 0x18, 0x01, + 0xFC, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, + 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x7E, 0x03, 0xC3, 0xF0, 0x7F, 0x81, 0x8F, + 0x0E, 0x0C, 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x00, + 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, + 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, + 0x00, 0x00, 0x30, 0x00, 0x3F, 0xFF, 0xC1, 0xFF, 0xFE, 0x00, 0x07, 0xF0, + 0x07, 0xFF, 0x63, 0xC0, 0xF9, 0xC0, 0x0E, 0x60, 0x01, 0x98, 0x00, 0x66, + 0x00, 0x19, 0xC0, 0x00, 0x38, 0x00, 0x07, 0xC0, 0x00, 0x7F, 0xC0, 0x00, + 0x7C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, + 0xF8, 0x00, 0x7F, 0x00, 0x3B, 0xF0, 0x3C, 0xDF, 0xFE, 0x00, 0xFE, 0x00, + 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, + 0x00, 0x06, 0x00, 0x03, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x0C, 0x00, 0x00, + 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, + 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, + 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, + 0x00, 0xC0, 0x07, 0x07, 0x01, 0xF0, 0x1F, 0xFF, 0x00, 0x3F, 0x80, 0xF8, + 0x03, 0xF1, 0xF0, 0x07, 0xE0, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, + 0x03, 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, + 0x30, 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, + 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x38, 0x18, 0x00, 0xF0, + 0x18, 0x03, 0x60, 0x38, 0x3C, 0xF8, 0x3F, 0xF1, 0xF0, 0x1F, 0x00, 0x00, + 0x7F, 0xC0, 0xFF, 0xDF, 0xF0, 0x3F, 0xF0, 0xC0, 0x00, 0xC0, 0x30, 0x00, + 0x30, 0x06, 0x00, 0x1C, 0x01, 0x80, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, + 0x00, 0xC0, 0x03, 0x80, 0x30, 0x00, 0x60, 0x18, 0x00, 0x18, 0x06, 0x00, + 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x30, 0x00, 0x06, 0x18, + 0x00, 0x00, 0xC6, 0x00, 0x00, 0x33, 0x00, 0x00, 0x0E, 0xC0, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x78, 0x00, 0x7F, 0x00, 0x3F, 0xDF, 0xC0, 0x0F, 0xF1, + 0x80, 0x00, 0x20, 0x60, 0x00, 0x18, 0x18, 0x00, 0x06, 0x06, 0x03, 0x01, + 0x80, 0x81, 0xE0, 0x60, 0x30, 0x78, 0x10, 0x0C, 0x1E, 0x0C, 0x03, 0x0C, + 0xC3, 0x00, 0xC3, 0x30, 0xC0, 0x10, 0xCC, 0x30, 0x06, 0x61, 0x98, 0x01, + 0x98, 0x66, 0x00, 0x66, 0x19, 0x80, 0x0B, 0x03, 0x60, 0x03, 0xC0, 0xD0, + 0x00, 0xF0, 0x1C, 0x00, 0x38, 0x07, 0x00, 0x0E, 0x01, 0xC0, 0x3F, 0x81, + 0xFE, 0x3F, 0x81, 0xFE, 0x0C, 0x00, 0x38, 0x06, 0x00, 0x70, 0x03, 0x00, + 0xE0, 0x01, 0x81, 0xC0, 0x00, 0xC3, 0x80, 0x00, 0x67, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x67, 0x00, 0x00, 0xC3, + 0x80, 0x01, 0x81, 0xC0, 0x03, 0x00, 0xE0, 0x06, 0x00, 0x70, 0x0C, 0x00, + 0x38, 0x18, 0x00, 0x1C, 0x7F, 0x81, 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0x00, + 0xFF, 0x7F, 0x00, 0xFF, 0x18, 0x00, 0x0C, 0x18, 0x00, 0x18, 0x0C, 0x00, + 0x18, 0x0C, 0x00, 0x30, 0x06, 0x00, 0x30, 0x06, 0x00, 0x60, 0x03, 0x00, + 0x60, 0x03, 0x00, 0xC0, 0x01, 0x80, 0xC0, 0x01, 0x81, 0x80, 0x00, 0xC1, + 0x80, 0x00, 0xC3, 0x00, 0x00, 0x63, 0x00, 0x00, 0x66, 0x00, 0x00, 0x36, + 0x00, 0x00, 0x34, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x7F, 0xFC, 0x00, 0x7F, 0xFC, + 0x00, 0xFF, 0xFF, 0x7F, 0xFF, 0xB0, 0x01, 0x98, 0x01, 0xCC, 0x01, 0xC0, + 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xE0, + 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x03, 0x70, + 0x01, 0xB0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE0, 0x7C, 0x0C, + 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, + 0x00, 0x60, 0x0C, 0x03, 0x00, 0xE0, 0xF0, 0x1E, 0x00, 0x70, 0x06, 0x00, + 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, + 0x0C, 0x01, 0x80, 0x18, 0x03, 0xE0, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x1F, 0x00, 0x60, 0x06, 0x00, 0xC0, 0x18, + 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x01, + 0x80, 0x38, 0x01, 0xE0, 0x3C, 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x03, 0x00, + 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0xC0, + 0xF8, 0x1C, 0x00, 0x0F, 0x00, 0x03, 0xFC, 0x03, 0x70, 0xE0, 0x76, 0x07, + 0x8E, 0xC0, 0x1F, 0xC0, 0x00, 0xF0 }; + +const GFXglyph FreeMono24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' + { 0, 5, 30, 28, 11, -28 }, // 0x21 '!' + { 19, 16, 14, 28, 6, -28 }, // 0x22 '"' + { 47, 19, 32, 28, 4, -29 }, // 0x23 '#' + { 123, 18, 33, 28, 5, -29 }, // 0x24 '$' + { 198, 20, 29, 28, 4, -27 }, // 0x25 '%' + { 271, 18, 25, 28, 5, -23 }, // 0x26 '&' + { 328, 7, 14, 28, 11, -28 }, // 0x27 ''' + { 341, 7, 34, 28, 14, -27 }, // 0x28 '(' + { 371, 7, 34, 28, 8, -27 }, // 0x29 ')' + { 401, 18, 16, 28, 5, -27 }, // 0x2A '*' + { 437, 20, 22, 28, 4, -23 }, // 0x2B '+' + { 492, 9, 14, 28, 6, -6 }, // 0x2C ',' + { 508, 22, 2, 28, 3, -13 }, // 0x2D '-' + { 514, 7, 6, 28, 11, -4 }, // 0x2E '.' + { 520, 18, 35, 28, 5, -30 }, // 0x2F '/' + { 599, 18, 30, 28, 5, -28 }, // 0x30 '0' + { 667, 16, 29, 28, 6, -28 }, // 0x31 '1' + { 725, 18, 29, 28, 5, -28 }, // 0x32 '2' + { 791, 19, 30, 28, 5, -28 }, // 0x33 '3' + { 863, 16, 28, 28, 6, -27 }, // 0x34 '4' + { 919, 19, 29, 28, 5, -27 }, // 0x35 '5' + { 988, 18, 30, 28, 6, -28 }, // 0x36 '6' + { 1056, 18, 28, 28, 5, -27 }, // 0x37 '7' + { 1119, 18, 30, 28, 5, -28 }, // 0x38 '8' + { 1187, 18, 30, 28, 6, -28 }, // 0x39 '9' + { 1255, 7, 21, 28, 11, -19 }, // 0x3A ':' + { 1274, 10, 27, 28, 7, -19 }, // 0x3B ';' + { 1308, 22, 22, 28, 3, -23 }, // 0x3C '<' + { 1369, 24, 9, 28, 2, -17 }, // 0x3D '=' + { 1396, 21, 22, 28, 4, -23 }, // 0x3E '>' + { 1454, 17, 28, 28, 6, -26 }, // 0x3F '?' + { 1514, 18, 32, 28, 5, -28 }, // 0x40 '@' + { 1586, 28, 26, 28, 0, -25 }, // 0x41 'A' + { 1677, 22, 26, 28, 3, -25 }, // 0x42 'B' + { 1749, 22, 28, 28, 3, -26 }, // 0x43 'C' + { 1826, 22, 26, 28, 3, -25 }, // 0x44 'D' + { 1898, 22, 26, 28, 3, -25 }, // 0x45 'E' + { 1970, 22, 26, 28, 3, -25 }, // 0x46 'F' + { 2042, 23, 28, 28, 3, -26 }, // 0x47 'G' + { 2123, 23, 26, 28, 3, -25 }, // 0x48 'H' + { 2198, 16, 26, 28, 6, -25 }, // 0x49 'I' + { 2250, 23, 27, 28, 4, -25 }, // 0x4A 'J' + { 2328, 24, 26, 28, 3, -25 }, // 0x4B 'K' + { 2406, 21, 26, 28, 4, -25 }, // 0x4C 'L' + { 2475, 26, 26, 28, 1, -25 }, // 0x4D 'M' + { 2560, 24, 26, 28, 2, -25 }, // 0x4E 'N' + { 2638, 24, 28, 28, 2, -26 }, // 0x4F 'O' + { 2722, 21, 26, 28, 3, -25 }, // 0x50 'P' + { 2791, 24, 32, 28, 2, -26 }, // 0x51 'Q' + { 2887, 24, 26, 28, 3, -25 }, // 0x52 'R' + { 2965, 20, 28, 28, 4, -26 }, // 0x53 'S' + { 3035, 22, 26, 28, 3, -25 }, // 0x54 'T' + { 3107, 23, 27, 28, 3, -25 }, // 0x55 'U' + { 3185, 28, 26, 28, 0, -25 }, // 0x56 'V' + { 3276, 26, 26, 28, 1, -25 }, // 0x57 'W' + { 3361, 24, 26, 28, 2, -25 }, // 0x58 'X' + { 3439, 24, 26, 28, 2, -25 }, // 0x59 'Y' + { 3517, 18, 26, 28, 5, -25 }, // 0x5A 'Z' + { 3576, 7, 34, 28, 13, -27 }, // 0x5B '[' + { 3606, 18, 35, 28, 5, -30 }, // 0x5C '\' + { 3685, 7, 34, 28, 8, -27 }, // 0x5D ']' + { 3715, 18, 12, 28, 5, -28 }, // 0x5E '^' + { 3742, 28, 2, 28, 0, 5 }, // 0x5F '_' + { 3749, 8, 7, 28, 7, -29 }, // 0x60 '`' + { 3756, 22, 22, 28, 3, -20 }, // 0x61 'a' + { 3817, 23, 29, 28, 2, -27 }, // 0x62 'b' + { 3901, 21, 22, 28, 4, -20 }, // 0x63 'c' + { 3959, 24, 29, 28, 3, -27 }, // 0x64 'd' + { 4046, 21, 22, 28, 3, -20 }, // 0x65 'e' + { 4104, 19, 28, 28, 6, -27 }, // 0x66 'f' + { 4171, 23, 30, 28, 3, -20 }, // 0x67 'g' + { 4258, 23, 28, 28, 3, -27 }, // 0x68 'h' + { 4339, 18, 29, 28, 5, -28 }, // 0x69 'i' + { 4405, 14, 38, 28, 6, -28 }, // 0x6A 'j' + { 4472, 22, 28, 28, 4, -27 }, // 0x6B 'k' + { 4549, 18, 28, 28, 5, -27 }, // 0x6C 'l' + { 4612, 28, 21, 28, 0, -20 }, // 0x6D 'm' + { 4686, 23, 21, 28, 2, -20 }, // 0x6E 'n' + { 4747, 22, 22, 28, 3, -20 }, // 0x6F 'o' + { 4808, 23, 30, 28, 2, -20 }, // 0x70 'p' + { 4895, 24, 30, 28, 3, -20 }, // 0x71 'q' + { 4985, 21, 20, 28, 5, -19 }, // 0x72 'r' + { 5038, 18, 22, 28, 5, -20 }, // 0x73 's' + { 5088, 21, 27, 28, 3, -25 }, // 0x74 't' + { 5159, 23, 21, 28, 3, -19 }, // 0x75 'u' + { 5220, 26, 20, 28, 1, -19 }, // 0x76 'v' + { 5285, 26, 20, 28, 1, -19 }, // 0x77 'w' + { 5350, 24, 20, 28, 2, -19 }, // 0x78 'x' + { 5410, 24, 29, 28, 2, -19 }, // 0x79 'y' + { 5497, 17, 20, 28, 6, -19 }, // 0x7A 'z' + { 5540, 11, 34, 28, 8, -27 }, // 0x7B '{' + { 5587, 2, 34, 28, 13, -27 }, // 0x7C '|' + { 5596, 11, 34, 28, 9, -27 }, // 0x7D '}' + { 5643, 20, 6, 28, 4, -15 } }; // 0x7E '~' + +const GFXfont FreeMono24pt7b PROGMEM = { + (uint8_t *)FreeMono24pt7bBitmaps, + (GFXglyph *)FreeMono24pt7bGlyphs, + 0x20, 0x7E, 47 }; + +// Approx. 6330 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h new file mode 100644 index 0000000..c82d786 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h @@ -0,0 +1,176 @@ +const uint8_t FreeMono9pt7bBitmaps[] PROGMEM = { + 0xAA, 0xA8, 0x0C, 0xED, 0x24, 0x92, 0x48, 0x24, 0x48, 0x91, 0x2F, 0xE4, + 0x89, 0x7F, 0x28, 0x51, 0x22, 0x40, 0x08, 0x3E, 0x62, 0x40, 0x30, 0x0E, + 0x01, 0x81, 0xC3, 0xBE, 0x08, 0x08, 0x71, 0x12, 0x23, 0x80, 0x23, 0xB8, + 0x0E, 0x22, 0x44, 0x70, 0x38, 0x81, 0x02, 0x06, 0x1A, 0x65, 0x46, 0xC8, + 0xEC, 0xE9, 0x24, 0x5A, 0xAA, 0xA9, 0x40, 0xA9, 0x55, 0x5A, 0x80, 0x10, + 0x22, 0x4B, 0xE3, 0x05, 0x11, 0x00, 0x10, 0x20, 0x47, 0xF1, 0x02, 0x04, + 0x00, 0x6B, 0x48, 0xFF, 0x00, 0xF0, 0x02, 0x08, 0x10, 0x60, 0x81, 0x04, + 0x08, 0x20, 0x41, 0x02, 0x08, 0x00, 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x60, + 0xC1, 0x82, 0x88, 0xE0, 0x27, 0x28, 0x42, 0x10, 0x84, 0x21, 0x3E, 0x38, + 0x8A, 0x08, 0x10, 0x20, 0x82, 0x08, 0x61, 0x03, 0xF8, 0x7C, 0x06, 0x02, + 0x02, 0x1C, 0x06, 0x01, 0x01, 0x01, 0x42, 0x3C, 0x18, 0xA2, 0x92, 0x8A, + 0x28, 0xBF, 0x08, 0x21, 0xC0, 0x7C, 0x81, 0x03, 0xE4, 0x40, 0x40, 0x81, + 0x03, 0x88, 0xE0, 0x1E, 0x41, 0x04, 0x0B, 0x98, 0xB0, 0xC1, 0xC2, 0x88, + 0xE0, 0xFE, 0x04, 0x08, 0x20, 0x40, 0x82, 0x04, 0x08, 0x20, 0x40, 0x38, + 0x8A, 0x0C, 0x14, 0x47, 0x11, 0x41, 0x83, 0x8C, 0xE0, 0x38, 0x8A, 0x1C, + 0x18, 0x68, 0xCE, 0x81, 0x04, 0x13, 0xC0, 0xF0, 0x0F, 0x6C, 0x00, 0xD2, + 0xD2, 0x00, 0x03, 0x04, 0x18, 0x60, 0x60, 0x18, 0x04, 0x03, 0xFF, 0x80, + 0x00, 0x1F, 0xF0, 0x40, 0x18, 0x03, 0x00, 0x60, 0x20, 0x60, 0xC0, 0x80, + 0x3D, 0x84, 0x08, 0x30, 0xC2, 0x00, 0x00, 0x00, 0x30, 0x3C, 0x46, 0x82, + 0x8E, 0xB2, 0xA2, 0xA2, 0x9F, 0x80, 0x80, 0x40, 0x3C, 0x3C, 0x01, 0x40, + 0x28, 0x09, 0x01, 0x10, 0x42, 0x0F, 0xC1, 0x04, 0x40, 0x9E, 0x3C, 0xFE, + 0x21, 0x90, 0x48, 0x67, 0xE2, 0x09, 0x02, 0x81, 0x41, 0xFF, 0x80, 0x3E, + 0xB0, 0xF0, 0x30, 0x08, 0x04, 0x02, 0x00, 0x80, 0x60, 0x8F, 0x80, 0xFE, + 0x21, 0x90, 0x68, 0x14, 0x0A, 0x05, 0x02, 0x83, 0x43, 0x7F, 0x00, 0xFF, + 0x20, 0x90, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x81, 0x40, 0xFF, 0xC0, 0xFF, + 0xA0, 0x50, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x80, 0x40, 0x78, 0x00, 0x1E, + 0x98, 0x6C, 0x0A, 0x00, 0x80, 0x20, 0xF8, 0x0B, 0x02, 0x60, 0x87, 0xC0, + 0xE3, 0xA0, 0x90, 0x48, 0x27, 0xF2, 0x09, 0x04, 0x82, 0x41, 0x71, 0xC0, + 0xF9, 0x08, 0x42, 0x10, 0x84, 0x27, 0xC0, 0x1F, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x82, 0x82, 0xC6, 0x78, 0xE3, 0xA1, 0x11, 0x09, 0x05, 0x83, 0x21, + 0x08, 0x84, 0x41, 0x70, 0xC0, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, + 0x41, 0x41, 0xFF, 0xE0, 0xEC, 0x19, 0x45, 0x28, 0xA4, 0xA4, 0x94, 0x91, + 0x12, 0x02, 0x40, 0x5C, 0x1C, 0xC3, 0xB0, 0x94, 0x4A, 0x24, 0x92, 0x49, + 0x14, 0x8A, 0x43, 0x70, 0x80, 0x1E, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, + 0x02, 0x82, 0x63, 0x0F, 0x00, 0xFE, 0x43, 0x41, 0x41, 0x42, 0x7C, 0x40, + 0x40, 0x40, 0xF0, 0x1C, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, 0x02, 0x82, + 0x63, 0x1F, 0x04, 0x07, 0x92, 0x30, 0xFE, 0x21, 0x90, 0x48, 0x24, 0x23, + 0xE1, 0x10, 0x84, 0x41, 0x70, 0xC0, 0x3A, 0xCD, 0x0A, 0x03, 0x01, 0x80, + 0xC1, 0xC7, 0x78, 0xFF, 0xC4, 0x62, 0x21, 0x00, 0x80, 0x40, 0x20, 0x10, + 0x08, 0x1F, 0x00, 0xE3, 0xA0, 0x90, 0x48, 0x24, 0x12, 0x09, 0x04, 0x82, + 0x22, 0x0E, 0x00, 0xF1, 0xE8, 0x10, 0x82, 0x10, 0x42, 0x10, 0x22, 0x04, + 0x80, 0x50, 0x0C, 0x00, 0x80, 0xF1, 0xE8, 0x09, 0x11, 0x25, 0x44, 0xA8, + 0x55, 0x0C, 0xA1, 0x8C, 0x31, 0x84, 0x30, 0xE3, 0xA0, 0x88, 0x82, 0x80, + 0x80, 0xC0, 0x90, 0x44, 0x41, 0x71, 0xC0, 0xE3, 0xA0, 0x88, 0x82, 0x81, + 0x40, 0x40, 0x20, 0x10, 0x08, 0x1F, 0x00, 0xFD, 0x0A, 0x20, 0x81, 0x04, + 0x10, 0x21, 0x83, 0xFC, 0xEA, 0xAA, 0xAA, 0xC0, 0x80, 0x81, 0x03, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0xD5, 0x55, 0x55, 0xC0, + 0x10, 0x51, 0x22, 0x28, 0x20, 0xFF, 0xE0, 0x88, 0x80, 0x7E, 0x00, 0x80, + 0x47, 0xEC, 0x14, 0x0A, 0x0C, 0xFB, 0xC0, 0x20, 0x10, 0x0B, 0xC6, 0x12, + 0x05, 0x02, 0x81, 0x40, 0xB0, 0xB7, 0x80, 0x3A, 0x8E, 0x0C, 0x08, 0x10, + 0x10, 0x9E, 0x03, 0x00, 0x80, 0x47, 0xA4, 0x34, 0x0A, 0x05, 0x02, 0x81, + 0x21, 0x8F, 0x60, 0x3C, 0x43, 0x81, 0xFF, 0x80, 0x80, 0x61, 0x3E, 0x3D, + 0x04, 0x3E, 0x41, 0x04, 0x10, 0x41, 0x0F, 0x80, 0x3D, 0xA1, 0xA0, 0x50, + 0x28, 0x14, 0x09, 0x0C, 0x7A, 0x01, 0x01, 0x87, 0x80, 0xC0, 0x20, 0x10, + 0x0B, 0xC6, 0x32, 0x09, 0x04, 0x82, 0x41, 0x20, 0xB8, 0xE0, 0x10, 0x01, + 0xC0, 0x81, 0x02, 0x04, 0x08, 0x11, 0xFC, 0x10, 0x3E, 0x10, 0x84, 0x21, + 0x08, 0x42, 0x3F, 0x00, 0xC0, 0x40, 0x40, 0x4F, 0x44, 0x58, 0x70, 0x48, + 0x44, 0x42, 0xC7, 0x70, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x23, + 0xF8, 0xB7, 0x64, 0x62, 0x31, 0x18, 0x8C, 0x46, 0x23, 0x91, 0x5E, 0x31, + 0x90, 0x48, 0x24, 0x12, 0x09, 0x05, 0xC7, 0x3E, 0x31, 0xA0, 0x30, 0x18, + 0x0C, 0x05, 0x8C, 0x7C, 0xDE, 0x30, 0x90, 0x28, 0x14, 0x0A, 0x05, 0x84, + 0xBC, 0x40, 0x20, 0x38, 0x00, 0x3D, 0xA1, 0xA0, 0x50, 0x28, 0x14, 0x09, + 0x0C, 0x7A, 0x01, 0x00, 0x80, 0xE0, 0xCE, 0xA1, 0x82, 0x04, 0x08, 0x10, + 0x7C, 0x3A, 0x8D, 0x0B, 0x80, 0xF0, 0x70, 0xDE, 0x40, 0x40, 0xFC, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x41, 0x3E, 0xC3, 0x41, 0x41, 0x41, 0x41, 0x41, + 0x43, 0x3D, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x20, 0xA0, 0x50, 0x10, 0xE3, + 0xC0, 0x92, 0x4B, 0x25, 0x92, 0xA9, 0x98, 0x44, 0xE3, 0x31, 0x05, 0x01, + 0x01, 0x41, 0x11, 0x05, 0xC7, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x40, 0xA0, + 0x60, 0x10, 0x10, 0x08, 0x3E, 0x00, 0xFD, 0x08, 0x20, 0x82, 0x08, 0x10, + 0xBF, 0x29, 0x24, 0xA2, 0x49, 0x26, 0xFF, 0xF8, 0x89, 0x24, 0x8A, 0x49, + 0x2C, 0x61, 0x24, 0x30 }; + +const GFXglyph FreeMono9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' + { 0, 2, 11, 11, 4, -10 }, // 0x21 '!' + { 3, 6, 5, 11, 2, -10 }, // 0x22 '"' + { 7, 7, 12, 11, 2, -10 }, // 0x23 '#' + { 18, 8, 12, 11, 1, -10 }, // 0x24 '$' + { 30, 7, 11, 11, 2, -10 }, // 0x25 '%' + { 40, 7, 10, 11, 2, -9 }, // 0x26 '&' + { 49, 3, 5, 11, 4, -10 }, // 0x27 ''' + { 51, 2, 13, 11, 5, -10 }, // 0x28 '(' + { 55, 2, 13, 11, 4, -10 }, // 0x29 ')' + { 59, 7, 7, 11, 2, -10 }, // 0x2A '*' + { 66, 7, 7, 11, 2, -8 }, // 0x2B '+' + { 73, 3, 5, 11, 2, -1 }, // 0x2C ',' + { 75, 9, 1, 11, 1, -5 }, // 0x2D '-' + { 77, 2, 2, 11, 4, -1 }, // 0x2E '.' + { 78, 7, 13, 11, 2, -11 }, // 0x2F '/' + { 90, 7, 11, 11, 2, -10 }, // 0x30 '0' + { 100, 5, 11, 11, 3, -10 }, // 0x31 '1' + { 107, 7, 11, 11, 2, -10 }, // 0x32 '2' + { 117, 8, 11, 11, 1, -10 }, // 0x33 '3' + { 128, 6, 11, 11, 3, -10 }, // 0x34 '4' + { 137, 7, 11, 11, 2, -10 }, // 0x35 '5' + { 147, 7, 11, 11, 2, -10 }, // 0x36 '6' + { 157, 7, 11, 11, 2, -10 }, // 0x37 '7' + { 167, 7, 11, 11, 2, -10 }, // 0x38 '8' + { 177, 7, 11, 11, 2, -10 }, // 0x39 '9' + { 187, 2, 8, 11, 4, -7 }, // 0x3A ':' + { 189, 3, 11, 11, 3, -7 }, // 0x3B ';' + { 194, 8, 8, 11, 1, -8 }, // 0x3C '<' + { 202, 9, 4, 11, 1, -6 }, // 0x3D '=' + { 207, 9, 8, 11, 1, -8 }, // 0x3E '>' + { 216, 7, 10, 11, 2, -9 }, // 0x3F '?' + { 225, 8, 12, 11, 2, -10 }, // 0x40 '@' + { 237, 11, 10, 11, 0, -9 }, // 0x41 'A' + { 251, 9, 10, 11, 1, -9 }, // 0x42 'B' + { 263, 9, 10, 11, 1, -9 }, // 0x43 'C' + { 275, 9, 10, 11, 1, -9 }, // 0x44 'D' + { 287, 9, 10, 11, 1, -9 }, // 0x45 'E' + { 299, 9, 10, 11, 1, -9 }, // 0x46 'F' + { 311, 10, 10, 11, 1, -9 }, // 0x47 'G' + { 324, 9, 10, 11, 1, -9 }, // 0x48 'H' + { 336, 5, 10, 11, 3, -9 }, // 0x49 'I' + { 343, 8, 10, 11, 2, -9 }, // 0x4A 'J' + { 353, 9, 10, 11, 1, -9 }, // 0x4B 'K' + { 365, 8, 10, 11, 2, -9 }, // 0x4C 'L' + { 375, 11, 10, 11, 0, -9 }, // 0x4D 'M' + { 389, 9, 10, 11, 1, -9 }, // 0x4E 'N' + { 401, 9, 10, 11, 1, -9 }, // 0x4F 'O' + { 413, 8, 10, 11, 1, -9 }, // 0x50 'P' + { 423, 9, 13, 11, 1, -9 }, // 0x51 'Q' + { 438, 9, 10, 11, 1, -9 }, // 0x52 'R' + { 450, 7, 10, 11, 2, -9 }, // 0x53 'S' + { 459, 9, 10, 11, 1, -9 }, // 0x54 'T' + { 471, 9, 10, 11, 1, -9 }, // 0x55 'U' + { 483, 11, 10, 11, 0, -9 }, // 0x56 'V' + { 497, 11, 10, 11, 0, -9 }, // 0x57 'W' + { 511, 9, 10, 11, 1, -9 }, // 0x58 'X' + { 523, 9, 10, 11, 1, -9 }, // 0x59 'Y' + { 535, 7, 10, 11, 2, -9 }, // 0x5A 'Z' + { 544, 2, 13, 11, 5, -10 }, // 0x5B '[' + { 548, 7, 13, 11, 2, -11 }, // 0x5C '\' + { 560, 2, 13, 11, 4, -10 }, // 0x5D ']' + { 564, 7, 5, 11, 2, -10 }, // 0x5E '^' + { 569, 11, 1, 11, 0, 2 }, // 0x5F '_' + { 571, 3, 3, 11, 3, -11 }, // 0x60 '`' + { 573, 9, 8, 11, 1, -7 }, // 0x61 'a' + { 582, 9, 11, 11, 1, -10 }, // 0x62 'b' + { 595, 7, 8, 11, 2, -7 }, // 0x63 'c' + { 602, 9, 11, 11, 1, -10 }, // 0x64 'd' + { 615, 8, 8, 11, 1, -7 }, // 0x65 'e' + { 623, 6, 11, 11, 3, -10 }, // 0x66 'f' + { 632, 9, 11, 11, 1, -7 }, // 0x67 'g' + { 645, 9, 11, 11, 1, -10 }, // 0x68 'h' + { 658, 7, 10, 11, 2, -9 }, // 0x69 'i' + { 667, 5, 13, 11, 3, -9 }, // 0x6A 'j' + { 676, 8, 11, 11, 2, -10 }, // 0x6B 'k' + { 687, 7, 11, 11, 2, -10 }, // 0x6C 'l' + { 697, 9, 8, 11, 1, -7 }, // 0x6D 'm' + { 706, 9, 8, 11, 1, -7 }, // 0x6E 'n' + { 715, 9, 8, 11, 1, -7 }, // 0x6F 'o' + { 724, 9, 11, 11, 1, -7 }, // 0x70 'p' + { 737, 9, 11, 11, 1, -7 }, // 0x71 'q' + { 750, 7, 8, 11, 3, -7 }, // 0x72 'r' + { 757, 7, 8, 11, 2, -7 }, // 0x73 's' + { 764, 8, 10, 11, 2, -9 }, // 0x74 't' + { 774, 8, 8, 11, 1, -7 }, // 0x75 'u' + { 782, 9, 8, 11, 1, -7 }, // 0x76 'v' + { 791, 9, 8, 11, 1, -7 }, // 0x77 'w' + { 800, 9, 8, 11, 1, -7 }, // 0x78 'x' + { 809, 9, 11, 11, 1, -7 }, // 0x79 'y' + { 822, 7, 8, 11, 2, -7 }, // 0x7A 'z' + { 829, 3, 13, 11, 4, -10 }, // 0x7B '{' + { 834, 1, 13, 11, 5, -10 }, // 0x7C '|' + { 836, 3, 13, 11, 4, -10 }, // 0x7D '}' + { 841, 7, 3, 11, 2, -6 } }; // 0x7E '~' + +const GFXfont FreeMono9pt7b PROGMEM = { + (uint8_t *)FreeMono9pt7bBitmaps, + (GFXglyph *)FreeMono9pt7bGlyphs, + 0x20, 0x7E, 18 }; + +// Approx. 1516 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h new file mode 100644 index 0000000..4ad9d1a --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h @@ -0,0 +1,250 @@ +const uint8_t FreeMonoBold12pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xF6, 0x66, 0x60, 0x6F, 0x60, 0xE7, 0xE7, 0x62, 0x42, + 0x42, 0x42, 0x42, 0x11, 0x87, 0x30, 0xC6, 0x18, 0xC3, 0x31, 0xFF, 0xFF, + 0xF9, 0x98, 0x33, 0x06, 0x60, 0xCC, 0x7F, 0xEF, 0xFC, 0x66, 0x0C, 0xC3, + 0x98, 0x63, 0x04, 0x40, 0x0C, 0x03, 0x00, 0xC0, 0xFE, 0x7F, 0x9C, 0x66, + 0x09, 0x80, 0x78, 0x0F, 0xE0, 0x7F, 0x03, 0xE0, 0xF8, 0x7F, 0xFB, 0xFC, + 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x38, 0x1F, 0x0C, 0x42, 0x10, 0xC4, 0x1F, + 0x03, 0x9C, 0x3C, 0x7F, 0x33, 0xE0, 0x8C, 0x21, 0x08, 0xC3, 0xE0, 0x70, + 0x3E, 0x1F, 0xC6, 0x61, 0x80, 0x70, 0x0C, 0x07, 0x83, 0xEE, 0xDF, 0xB3, + 0xCC, 0x73, 0xFE, 0x7F, 0x80, 0xFD, 0x24, 0x90, 0x39, 0xDC, 0xE6, 0x73, + 0x18, 0xC6, 0x31, 0x8C, 0x31, 0x8E, 0x31, 0xC4, 0xE7, 0x1C, 0xE3, 0x1C, + 0x63, 0x18, 0xC6, 0x31, 0x98, 0xCE, 0x67, 0x10, 0x0C, 0x03, 0x00, 0xC3, + 0xB7, 0xFF, 0xDF, 0xE1, 0xE0, 0xFC, 0x33, 0x0C, 0xC0, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x00, 0x3B, 0x9C, 0xCE, 0x62, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0x80, 0x00, 0x40, 0x30, 0x1C, 0x07, 0x03, 0x80, 0xE0, 0x30, + 0x1C, 0x06, 0x03, 0x80, 0xC0, 0x70, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0x60, + 0x38, 0x0E, 0x01, 0x00, 0x1E, 0x0F, 0xC6, 0x1B, 0x87, 0xC0, 0xF0, 0x3C, + 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x87, 0x61, 0x8F, 0xC1, 0xE0, 0x1C, + 0x0F, 0x0F, 0xC3, 0xB0, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, + 0xC0, 0x30, 0x0C, 0x3F, 0xFF, 0xFC, 0x1F, 0x1F, 0xEE, 0x1F, 0x83, 0xC0, + 0xC0, 0x70, 0x38, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE3, 0xF0, 0xFF, 0xFF, + 0xFC, 0x3F, 0x0F, 0xF1, 0x87, 0x00, 0x60, 0x0C, 0x03, 0x83, 0xE0, 0x7C, + 0x01, 0xC0, 0x0C, 0x01, 0x80, 0x3C, 0x0F, 0xFF, 0x9F, 0xC0, 0x07, 0x07, + 0x83, 0xC3, 0xE1, 0xB1, 0xD8, 0xCC, 0xC6, 0xE3, 0x7F, 0xFF, 0xE0, 0x61, + 0xF8, 0xFC, 0x7F, 0x9F, 0xE6, 0x01, 0x80, 0x60, 0x1F, 0x87, 0xF9, 0x86, + 0x00, 0xC0, 0x30, 0x0C, 0x03, 0xC1, 0xBF, 0xE7, 0xE0, 0x07, 0xC7, 0xF3, + 0xC1, 0xC0, 0x60, 0x38, 0x0E, 0xF3, 0xFE, 0xF1, 0xF8, 0x3E, 0x0F, 0x83, + 0x71, 0xCF, 0xE1, 0xF0, 0xFF, 0xFF, 0xFC, 0x1F, 0x07, 0x01, 0x80, 0x60, + 0x38, 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x1E, + 0x1F, 0xEE, 0x1F, 0x03, 0xC0, 0xF0, 0x36, 0x19, 0xFE, 0x7F, 0xB8, 0x7C, + 0x0F, 0x03, 0xE1, 0xDF, 0xE3, 0xF0, 0x3E, 0x1F, 0xCE, 0x3B, 0x07, 0xC1, + 0xF0, 0x7E, 0x3D, 0xFF, 0x3D, 0xC0, 0x70, 0x18, 0x0E, 0x0F, 0x3F, 0x8F, + 0x80, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x77, 0x70, 0x00, 0x00, 0x76, 0x6C, + 0xC8, 0x80, 0x00, 0x30, 0x0F, 0x03, 0xE0, 0xF8, 0x3E, 0x0F, 0x80, 0x3E, + 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x0F, 0x80, 0x3E, 0x00, 0xF8, + 0x03, 0xE0, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x0F, 0x00, 0x40, 0x00, 0x7C, + 0x7F, 0xB0, 0xF8, 0x30, 0x18, 0x1C, 0x3C, 0x3C, 0x18, 0x08, 0x00, 0x07, + 0x03, 0x81, 0xC0, 0x1E, 0x07, 0xF1, 0xC7, 0x30, 0x6C, 0x0D, 0x87, 0xB3, + 0xF6, 0xE6, 0xD8, 0xDB, 0x1B, 0x73, 0x67, 0xFC, 0x7F, 0x80, 0x30, 0x03, + 0x00, 0x71, 0xC7, 0xF8, 0x7C, 0x00, 0x3F, 0x80, 0x7F, 0x80, 0x1F, 0x00, + 0x76, 0x00, 0xEE, 0x01, 0x8C, 0x07, 0x18, 0x0E, 0x38, 0x1F, 0xF0, 0x7F, + 0xF0, 0xC0, 0x61, 0x80, 0xCF, 0xC7, 0xFF, 0x8F, 0xC0, 0xFF, 0xC7, 0xFF, + 0x0C, 0x1C, 0x60, 0x63, 0x03, 0x18, 0x38, 0xFF, 0x87, 0xFE, 0x30, 0x39, + 0x80, 0xCC, 0x06, 0x60, 0x7F, 0xFF, 0x7F, 0xF0, 0x0F, 0xF3, 0xFF, 0x70, + 0x76, 0x03, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x60, + 0x37, 0x07, 0x3F, 0xF0, 0xFC, 0xFF, 0x0F, 0xFC, 0x60, 0xE6, 0x06, 0x60, + 0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x76, 0x0E, 0xFF, + 0xCF, 0xF8, 0xFF, 0xF7, 0xFF, 0x8C, 0x0C, 0x60, 0x63, 0x1B, 0x18, 0xC0, + 0xFE, 0x07, 0xF0, 0x31, 0x81, 0x8C, 0xCC, 0x06, 0x60, 0x3F, 0xFF, 0xFF, + 0xFC, 0xFF, 0xFF, 0xFF, 0xCC, 0x06, 0x60, 0x33, 0x19, 0x98, 0xC0, 0xFE, + 0x07, 0xF0, 0x31, 0x81, 0x8C, 0x0C, 0x00, 0x60, 0x0F, 0xF0, 0x7F, 0x80, + 0x0F, 0xF1, 0xFF, 0x9C, 0x1C, 0xC0, 0x6C, 0x03, 0x60, 0x03, 0x00, 0x18, + 0x7F, 0xC3, 0xFE, 0x01, 0xB8, 0x0C, 0xE0, 0xE3, 0xFF, 0x07, 0xE0, 0x7C, + 0xF9, 0xF3, 0xE3, 0x03, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0xFF, 0x0F, + 0xFC, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0xFC, 0xFF, 0xF3, 0xF0, + 0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, + 0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xF0, 0x0F, 0xF8, 0x7F, 0xC0, 0x30, 0x01, + 0x80, 0x0C, 0x00, 0x60, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, 0x31, + 0xC3, 0x0F, 0xF8, 0x1F, 0x00, 0xFC, 0xFB, 0xF3, 0xE3, 0x0E, 0x0C, 0x70, + 0x33, 0x80, 0xFC, 0x03, 0xF0, 0x0F, 0xE0, 0x39, 0xC0, 0xC3, 0x03, 0x0E, + 0x0C, 0x18, 0xFC, 0x7F, 0xF0, 0xF0, 0xFF, 0x0F, 0xF0, 0x18, 0x01, 0x80, + 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x31, 0x83, 0x18, 0x31, 0x83, + 0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0xC0, 0xF7, 0x87, 0x9E, 0x1E, 0x7C, 0xF9, + 0xB3, 0xE6, 0xFD, 0x99, 0xF6, 0x67, 0x99, 0x8E, 0x66, 0x31, 0x98, 0x06, + 0xFC, 0xFF, 0xF3, 0xF0, 0xF1, 0xFF, 0xCF, 0xCF, 0x0C, 0x78, 0x63, 0xE3, + 0x1B, 0x18, 0xDC, 0xC6, 0x76, 0x31, 0xB1, 0x8F, 0x8C, 0x3C, 0x61, 0xE7, + 0xE7, 0x3F, 0x18, 0x0F, 0x03, 0xFC, 0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03, + 0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07, 0x60, 0x67, 0x0E, 0x3F, 0xC0, 0xF0, + 0xFF, 0x8F, 0xFE, 0x30, 0x73, 0x03, 0x30, 0x33, 0x03, 0x30, 0x73, 0xFE, + 0x3F, 0x83, 0x00, 0x30, 0x03, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0x03, 0xFC, + 0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07, + 0x60, 0x67, 0x0E, 0x3F, 0xC1, 0xF0, 0x18, 0x33, 0xFF, 0x3F, 0xE0, 0xFF, + 0x83, 0xFF, 0x83, 0x07, 0x0C, 0x0C, 0x30, 0x30, 0xC1, 0xC3, 0xFE, 0x0F, + 0xF0, 0x31, 0xE0, 0xC3, 0x83, 0x07, 0x0C, 0x0C, 0xFE, 0x3F, 0xF8, 0x70, + 0x3F, 0xDF, 0xFE, 0x1F, 0x03, 0xC0, 0xF8, 0x07, 0xE0, 0x7E, 0x01, 0xF0, + 0x3C, 0x0F, 0x87, 0xFF, 0xBF, 0xC0, 0xFF, 0xFF, 0xFF, 0xC6, 0x3C, 0x63, + 0xC6, 0x3C, 0x63, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x3F, 0xC3, 0xFC, 0xFF, 0xFF, 0xFF, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, + 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, 0x63, 0x9C, 0x1F, 0xC0, 0xF0, + 0xFC, 0x3F, 0xFC, 0x3F, 0x30, 0x0C, 0x38, 0x1C, 0x18, 0x18, 0x1C, 0x38, + 0x1C, 0x38, 0x0E, 0x70, 0x0E, 0x70, 0x0F, 0x60, 0x07, 0xE0, 0x07, 0xE0, + 0x03, 0xC0, 0x03, 0xC0, 0xFC, 0xFF, 0xF3, 0xF6, 0x01, 0xDC, 0xC6, 0x77, + 0x99, 0xDE, 0x67, 0x79, 0x8D, 0xFE, 0x3F, 0xF8, 0xF3, 0xE3, 0xCF, 0x8F, + 0x3C, 0x38, 0x70, 0xE1, 0xC0, 0xF8, 0xFB, 0xE3, 0xE3, 0x86, 0x0F, 0x38, + 0x1F, 0xC0, 0x3E, 0x00, 0x70, 0x03, 0xE0, 0x0F, 0x80, 0x77, 0x03, 0x8E, + 0x1E, 0x1C, 0xFC, 0xFF, 0xF3, 0xF0, 0xF9, 0xFF, 0x9F, 0x30, 0xC3, 0x9C, + 0x19, 0x81, 0xF8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x3F, 0xC3, 0xFC, 0xFF, 0xBF, 0xEC, 0x3B, 0x0C, 0xC6, 0x33, 0x80, 0xC0, + 0x60, 0x38, 0xCC, 0x36, 0x0F, 0x03, 0xFF, 0xFF, 0xF0, 0xFF, 0xF1, 0x8C, + 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC7, 0xFE, 0x40, 0x30, 0x0E, + 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, 0x60, 0x1C, 0x03, 0x00, 0xE0, 0x18, + 0x07, 0x00, 0xC0, 0x38, 0x0E, 0x01, 0xC0, 0x70, 0x0C, 0x01, 0xFF, 0xC6, + 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x1F, 0xFE, 0x04, 0x03, + 0x01, 0xE0, 0xFC, 0x7B, 0x9C, 0x7E, 0x1F, 0x03, 0xFF, 0xFF, 0xFF, 0xF0, + 0xCE, 0x73, 0x3F, 0x07, 0xF8, 0x00, 0xC0, 0x0C, 0x1F, 0xC7, 0xFC, 0x60, + 0xCC, 0x0C, 0xC1, 0xCF, 0xFF, 0x3F, 0xF0, 0xF0, 0x07, 0x80, 0x0C, 0x00, + 0x60, 0x03, 0x7C, 0x1F, 0xF8, 0xF1, 0xC7, 0x07, 0x30, 0x19, 0x80, 0xCC, + 0x06, 0x60, 0x73, 0xC7, 0x7F, 0xFB, 0xDF, 0x00, 0x1F, 0xB3, 0xFF, 0x70, + 0xFE, 0x07, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0x70, 0x77, 0xFF, 0x1F, + 0xC0, 0x01, 0xE0, 0x0F, 0x00, 0x18, 0x00, 0xC1, 0xF6, 0x3F, 0xF1, 0xC7, + 0x9C, 0x1C, 0xC0, 0x66, 0x03, 0x30, 0x19, 0x81, 0xC7, 0x1E, 0x3F, 0xFC, + 0x7D, 0xE0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, + 0x0E, 0x00, 0x70, 0x73, 0xFF, 0x1F, 0xC0, 0x07, 0xC3, 0xFC, 0x60, 0x0C, + 0x0F, 0xFD, 0xFF, 0x86, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, + 0x81, 0xFF, 0xBF, 0xF0, 0x1F, 0x79, 0xFF, 0xDC, 0x79, 0x81, 0xCC, 0x06, + 0x60, 0x33, 0x01, 0x9C, 0x1C, 0x71, 0xE1, 0xFF, 0x07, 0xD8, 0x00, 0xC0, + 0x06, 0x00, 0x70, 0x7F, 0x03, 0xF0, 0xF0, 0x03, 0xC0, 0x03, 0x00, 0x0C, + 0x00, 0x37, 0xC0, 0xFF, 0x83, 0xC7, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, + 0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF3, 0xFF, 0xCF, 0xC0, 0x06, 0x00, 0xC0, + 0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, + 0x03, 0x0F, 0xFF, 0xFF, 0xC0, 0x06, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0xFE, 0xFC, + 0xF0, 0x07, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x3F, 0x19, 0xF8, 0xDE, 0x07, + 0xE0, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x6F, 0x03, 0x1C, 0x78, 0xFF, 0xC7, + 0xE0, 0x7E, 0x0F, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, + 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x61, 0xFF, 0xFF, 0xF8, 0xFE, 0xF1, + 0xFF, 0xF1, 0xCE, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, + 0x8C, 0x63, 0x19, 0xF7, 0xBF, 0xEF, 0x78, 0x77, 0xC1, 0xFF, 0x83, 0xC7, + 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF1, + 0xFF, 0xC7, 0xC0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xC0, 0x3C, 0x03, + 0xC0, 0x3E, 0x07, 0x70, 0xE3, 0xFC, 0x1F, 0x80, 0xF7, 0xE3, 0xFF, 0xC3, + 0xC3, 0x8E, 0x07, 0x30, 0x0C, 0xC0, 0x33, 0x00, 0xCE, 0x07, 0x3C, 0x38, + 0xFF, 0xC3, 0x7E, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x0F, 0xE0, 0x3F, 0x80, + 0x1F, 0xBC, 0xFF, 0xF7, 0x0F, 0x38, 0x1C, 0xC0, 0x33, 0x00, 0xCC, 0x03, + 0x38, 0x1C, 0x70, 0xF0, 0xFF, 0xC1, 0xFB, 0x00, 0x0C, 0x00, 0x30, 0x00, + 0xC0, 0x1F, 0xC0, 0x7F, 0x79, 0xE7, 0xFF, 0x1F, 0x31, 0xC0, 0x18, 0x01, + 0x80, 0x18, 0x01, 0x80, 0x18, 0x0F, 0xFC, 0xFF, 0xC0, 0x3F, 0x9F, 0xFE, + 0x1F, 0x82, 0xFE, 0x1F, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xF0, 0x30, + 0x06, 0x00, 0xC0, 0x7F, 0xEF, 0xFC, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, + 0x00, 0xC0, 0x18, 0x71, 0xFE, 0x1F, 0x00, 0xF1, 0xF7, 0x8F, 0x8C, 0x0C, + 0x60, 0x63, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x38, 0xF0, 0xFF, 0xC3, + 0xEE, 0xFC, 0xFF, 0xF3, 0xF3, 0x87, 0x0E, 0x1C, 0x1C, 0x60, 0x73, 0x80, + 0xEC, 0x03, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xF8, 0x7F, 0xE1, + 0xF7, 0x39, 0x8C, 0xE6, 0x37, 0xB0, 0xFF, 0xC3, 0xFF, 0x07, 0xBC, 0x1C, + 0xF0, 0x73, 0x81, 0x86, 0x00, 0x7C, 0xF9, 0xF3, 0xE3, 0xCF, 0x07, 0xF8, + 0x0F, 0xC0, 0x1E, 0x00, 0xFC, 0x07, 0x38, 0x38, 0x73, 0xF3, 0xFF, 0xCF, + 0xC0, 0xF9, 0xFF, 0x9F, 0x70, 0xE3, 0x0C, 0x39, 0xC1, 0x98, 0x19, 0x81, + 0xF8, 0x0F, 0x00, 0xF0, 0x06, 0x00, 0x60, 0x0E, 0x00, 0xC0, 0xFF, 0x0F, + 0xF0, 0x7F, 0xCF, 0xF9, 0x8E, 0x33, 0x80, 0x70, 0x1C, 0x07, 0x01, 0xC6, + 0x70, 0xFF, 0xFF, 0xFF, 0x80, 0x0E, 0x3C, 0x60, 0xC1, 0x83, 0x06, 0x0C, + 0x39, 0xE3, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x3C, 0x38, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0xE1, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x3C, + 0x79, 0x83, 0x06, 0x0C, 0x18, 0x31, 0xE3, 0x80, 0x3C, 0x37, 0xE7, 0x67, + 0xE6, 0x1C }; + +const GFXglyph FreeMonoBold12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' + { 0, 4, 15, 14, 5, -14 }, // 0x21 '!' + { 8, 8, 7, 14, 3, -13 }, // 0x22 '"' + { 15, 11, 18, 14, 2, -15 }, // 0x23 '#' + { 40, 10, 20, 14, 2, -16 }, // 0x24 '$' + { 65, 10, 15, 14, 2, -14 }, // 0x25 '%' + { 84, 10, 13, 14, 2, -12 }, // 0x26 '&' + { 101, 3, 7, 14, 5, -13 }, // 0x27 ''' + { 104, 5, 19, 14, 6, -14 }, // 0x28 '(' + { 116, 5, 19, 14, 3, -14 }, // 0x29 ')' + { 128, 10, 10, 14, 2, -14 }, // 0x2A '*' + { 141, 12, 13, 14, 1, -12 }, // 0x2B '+' + { 161, 5, 7, 14, 4, -2 }, // 0x2C ',' + { 166, 12, 2, 14, 1, -7 }, // 0x2D '-' + { 169, 3, 3, 14, 5, -2 }, // 0x2E '.' + { 171, 10, 20, 14, 2, -16 }, // 0x2F '/' + { 196, 10, 15, 14, 2, -14 }, // 0x30 '0' + { 215, 10, 15, 14, 2, -14 }, // 0x31 '1' + { 234, 10, 15, 14, 2, -14 }, // 0x32 '2' + { 253, 11, 15, 14, 1, -14 }, // 0x33 '3' + { 274, 9, 14, 14, 2, -13 }, // 0x34 '4' + { 290, 10, 15, 14, 2, -14 }, // 0x35 '5' + { 309, 10, 15, 14, 2, -14 }, // 0x36 '6' + { 328, 10, 15, 14, 2, -14 }, // 0x37 '7' + { 347, 10, 15, 14, 2, -14 }, // 0x38 '8' + { 366, 10, 15, 14, 3, -14 }, // 0x39 '9' + { 385, 3, 11, 14, 5, -10 }, // 0x3A ':' + { 390, 4, 15, 14, 4, -10 }, // 0x3B ';' + { 398, 12, 11, 14, 1, -11 }, // 0x3C '<' + { 415, 12, 7, 14, 1, -9 }, // 0x3D '=' + { 426, 12, 11, 14, 1, -11 }, // 0x3E '>' + { 443, 9, 14, 14, 3, -13 }, // 0x3F '?' + { 459, 11, 19, 14, 2, -14 }, // 0x40 '@' + { 486, 15, 14, 14, -1, -13 }, // 0x41 'A' + { 513, 13, 14, 14, 0, -13 }, // 0x42 'B' + { 536, 12, 14, 14, 1, -13 }, // 0x43 'C' + { 557, 12, 14, 14, 1, -13 }, // 0x44 'D' + { 578, 13, 14, 14, 0, -13 }, // 0x45 'E' + { 601, 13, 14, 14, 0, -13 }, // 0x46 'F' + { 624, 13, 14, 14, 1, -13 }, // 0x47 'G' + { 647, 14, 14, 14, 0, -13 }, // 0x48 'H' + { 672, 10, 14, 14, 2, -13 }, // 0x49 'I' + { 690, 13, 14, 14, 1, -13 }, // 0x4A 'J' + { 713, 14, 14, 14, 0, -13 }, // 0x4B 'K' + { 738, 12, 14, 14, 1, -13 }, // 0x4C 'L' + { 759, 14, 14, 14, 0, -13 }, // 0x4D 'M' + { 784, 13, 14, 14, 0, -13 }, // 0x4E 'N' + { 807, 12, 14, 14, 1, -13 }, // 0x4F 'O' + { 828, 12, 14, 14, 0, -13 }, // 0x50 'P' + { 849, 12, 17, 14, 1, -13 }, // 0x51 'Q' + { 875, 14, 14, 14, 0, -13 }, // 0x52 'R' + { 900, 10, 14, 14, 2, -13 }, // 0x53 'S' + { 918, 12, 14, 14, 1, -13 }, // 0x54 'T' + { 939, 12, 14, 14, 1, -13 }, // 0x55 'U' + { 960, 16, 14, 14, -1, -13 }, // 0x56 'V' + { 988, 14, 14, 14, 0, -13 }, // 0x57 'W' + { 1013, 14, 14, 14, 0, -13 }, // 0x58 'X' + { 1038, 12, 14, 14, 1, -13 }, // 0x59 'Y' + { 1059, 10, 14, 14, 2, -13 }, // 0x5A 'Z' + { 1077, 5, 19, 14, 6, -14 }, // 0x5B '[' + { 1089, 10, 20, 14, 2, -16 }, // 0x5C '\' + { 1114, 5, 19, 14, 3, -14 }, // 0x5D ']' + { 1126, 10, 8, 14, 2, -15 }, // 0x5E '^' + { 1136, 14, 2, 14, 0, 4 }, // 0x5F '_' + { 1140, 4, 4, 14, 4, -15 }, // 0x60 '`' + { 1142, 12, 11, 14, 1, -10 }, // 0x61 'a' + { 1159, 13, 15, 14, 0, -14 }, // 0x62 'b' + { 1184, 12, 11, 14, 1, -10 }, // 0x63 'c' + { 1201, 13, 15, 14, 1, -14 }, // 0x64 'd' + { 1226, 12, 11, 14, 1, -10 }, // 0x65 'e' + { 1243, 11, 15, 14, 2, -14 }, // 0x66 'f' + { 1264, 13, 16, 14, 1, -10 }, // 0x67 'g' + { 1290, 14, 15, 14, 0, -14 }, // 0x68 'h' + { 1317, 11, 14, 14, 1, -13 }, // 0x69 'i' + { 1337, 8, 19, 15, 3, -13 }, // 0x6A 'j' + { 1356, 13, 15, 14, 1, -14 }, // 0x6B 'k' + { 1381, 11, 15, 14, 1, -14 }, // 0x6C 'l' + { 1402, 15, 11, 14, 0, -10 }, // 0x6D 'm' + { 1423, 14, 11, 14, 0, -10 }, // 0x6E 'n' + { 1443, 12, 11, 14, 1, -10 }, // 0x6F 'o' + { 1460, 14, 16, 14, 0, -10 }, // 0x70 'p' + { 1488, 14, 16, 14, 0, -10 }, // 0x71 'q' + { 1516, 12, 11, 14, 1, -10 }, // 0x72 'r' + { 1533, 10, 11, 14, 2, -10 }, // 0x73 's' + { 1547, 11, 14, 14, 1, -13 }, // 0x74 't' + { 1567, 13, 11, 14, 0, -10 }, // 0x75 'u' + { 1585, 14, 11, 14, 0, -10 }, // 0x76 'v' + { 1605, 14, 11, 14, 0, -10 }, // 0x77 'w' + { 1625, 14, 11, 14, 0, -10 }, // 0x78 'x' + { 1645, 12, 16, 14, 1, -10 }, // 0x79 'y' + { 1669, 11, 11, 14, 1, -10 }, // 0x7A 'z' + { 1685, 7, 19, 14, 3, -14 }, // 0x7B '{' + { 1702, 2, 19, 14, 6, -14 }, // 0x7C '|' + { 1707, 7, 19, 14, 4, -14 }, // 0x7D '}' + { 1724, 12, 4, 14, 1, -7 } }; // 0x7E '~' + +const GFXfont FreeMonoBold12pt7b PROGMEM = { + (uint8_t *)FreeMonoBold12pt7bBitmaps, + (GFXglyph *)FreeMonoBold12pt7bGlyphs, + 0x20, 0x7E, 24 }; + +// Approx. 2402 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h new file mode 100644 index 0000000..36e0be0 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h @@ -0,0 +1,423 @@ +const uint8_t FreeMonoBold18pt7bBitmaps[] PROGMEM = { + 0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x9C, 0xE7, 0x39, 0xC4, 0x03, 0xBF, + 0xFF, 0xB8, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1E, 0xC1, 0x98, 0x33, + 0x06, 0x60, 0xCC, 0x18, 0x0E, 0x1C, 0x0F, 0x3C, 0x1F, 0x3C, 0x1E, 0x3C, + 0x1E, 0x3C, 0x1E, 0x78, 0x1E, 0x78, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x7F, 0xFE, 0x7F, 0xFE, + 0x7F, 0xFE, 0x7F, 0xFE, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xF0, + 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x03, 0x00, 0x1E, 0x00, 0x78, 0x01, + 0xE0, 0x1F, 0xF1, 0xFF, 0xE7, 0xFF, 0xBE, 0x1E, 0xF0, 0x3B, 0xC0, 0xCF, + 0xE0, 0x3F, 0xF8, 0x7F, 0xF0, 0x7F, 0xE0, 0x1F, 0xF0, 0x0F, 0xE0, 0x3F, + 0x80, 0xFF, 0x87, 0xFF, 0xFE, 0xFF, 0xF3, 0x7F, 0x80, 0x78, 0x01, 0xE0, + 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xC0, 0x1E, 0x00, 0xFF, 0x03, 0x86, + 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x38, 0x70, 0x3F, 0xC2, 0x1E, 0x3E, + 0x03, 0xF8, 0x3F, 0x83, 0xF8, 0x0F, 0x8F, 0x18, 0x7F, 0x01, 0xC7, 0x03, + 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x1C, 0x70, 0x1F, 0xC0, 0x0F, 0x00, 0x03, + 0xD0, 0x1F, 0xF0, 0x7F, 0xE1, 0xFF, 0xC3, 0xE6, 0x07, 0x80, 0x0F, 0x00, + 0x0F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0xFE, 0x03, 0xFE, 0xFF, 0xBD, 0xFE, + 0x3F, 0xFC, 0x3F, 0x7C, 0x7C, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xF8, 0x7E, + 0xF0, 0xFF, 0xFF, 0xF6, 0x66, 0x66, 0x07, 0x0F, 0x1F, 0x1E, 0x3E, 0x3C, + 0x78, 0x78, 0x78, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0x78, 0x78, 0x78, 0x3C, 0x3C, 0x1E, 0x1F, 0x0F, 0x07, 0xE0, 0xF0, 0xF8, + 0x78, 0x7C, 0x3C, 0x3E, 0x1E, 0x1E, 0x1E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0E, 0x1E, 0x1E, 0x1E, 0x3C, 0x3C, 0x78, 0xF8, 0xF0, 0xE0, + 0x01, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, + 0xFF, 0xFF, 0x7F, 0xFE, 0x1F, 0xF8, 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, + 0x1E, 0x78, 0x1C, 0x38, 0x18, 0x18, 0x01, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0x80, 0x3E, 0x78, 0xF3, 0xC7, + 0x8E, 0x1C, 0x70, 0xE1, 0x80, 0x7F, 0xFF, 0xDF, 0xFF, 0xF9, 0xFF, 0xFF, + 0x3F, 0xFF, 0xE0, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x0E, 0x00, 0x3C, 0x00, + 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x38, 0x00, 0xF0, + 0x01, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xE0, 0x03, + 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x78, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x80, + 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, 0x03, 0x00, 0x00, + 0x07, 0xE0, 0x1F, 0xF8, 0x3F, 0xFC, 0x3F, 0xFC, 0x7C, 0x3E, 0x78, 0x1E, + 0xF8, 0x1F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF8, 0x1F, 0x78, 0x1E, + 0x7C, 0x3E, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, 0x07, 0xC0, + 0x1F, 0x80, 0xFF, 0x03, 0xFE, 0x0F, 0xBC, 0x0C, 0x78, 0x00, 0xF0, 0x01, + 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, + 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x81, 0xFF, 0xFB, 0xFF, 0xF7, + 0xFF, 0xE7, 0xFF, 0x80, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE3, 0xFF, 0xEF, + 0x87, 0xDE, 0x07, 0xF8, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x01, + 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, + 0x78, 0x03, 0xE0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, + 0x0F, 0xC0, 0x7F, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0x3E, 0x00, 0x1E, + 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x3C, 0x03, 0xFC, 0x03, 0xF0, 0x03, 0xF0, + 0x03, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, + 0xE0, 0x3F, 0xFF, 0xFE, 0xFF, 0xFC, 0x7F, 0xF8, 0x1F, 0xE0, 0x00, 0xF8, + 0x03, 0xF0, 0x07, 0xE0, 0x1F, 0xC0, 0x77, 0x80, 0xEF, 0x03, 0x9E, 0x0F, + 0x3C, 0x1C, 0x78, 0x70, 0xF1, 0xE1, 0xE3, 0x83, 0xCF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x78, 0x07, 0xFC, 0x0F, 0xF8, 0x1F, 0xF0, + 0x1F, 0xC0, 0x3F, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0x07, 0xFF, 0x83, 0xC0, + 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x7B, 0xE0, 0x3F, 0xFC, 0x1F, 0xFF, 0x0F, + 0xFF, 0xC3, 0x83, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, + 0x00, 0x0F, 0xB8, 0x0F, 0xBF, 0xFF, 0xCF, 0xFF, 0xC3, 0xFF, 0xC0, 0x7F, + 0x80, 0x00, 0xFC, 0x07, 0xFC, 0x3F, 0xF8, 0xFF, 0xF1, 0xF8, 0x07, 0xC0, + 0x1F, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE7, 0xC3, 0xDF, 0xC7, 0x7F, 0xCF, + 0xFF, 0xDF, 0x8F, 0xFC, 0x07, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x3D, 0xE0, + 0xFB, 0xFF, 0xE3, 0xFF, 0xC3, 0xFF, 0x01, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1E, + 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, + 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, + 0x00, 0x70, 0x00, 0x07, 0xC0, 0x3F, 0xE0, 0xFF, 0xE3, 0xFF, 0xEF, 0x83, + 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1E, 0xF0, 0x78, 0xFF, 0xE0, + 0xFF, 0x81, 0xFF, 0x0F, 0xFF, 0x9E, 0x0F, 0x78, 0x0F, 0xF0, 0x1F, 0xE0, + 0x3F, 0xE0, 0xFB, 0xFF, 0xE7, 0xFF, 0xC7, 0xFF, 0x03, 0xF8, 0x00, 0x0F, + 0xC0, 0x3F, 0xE0, 0xFF, 0xE3, 0xFF, 0xEF, 0xC3, 0xDF, 0x03, 0xBC, 0x07, + 0xF8, 0x0F, 0xF0, 0x1F, 0xF0, 0x3D, 0xF1, 0xFB, 0xFF, 0xF3, 0xFE, 0xE3, + 0xFB, 0xC3, 0xE7, 0x80, 0x1E, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xE7, 0xFF, + 0x8F, 0xFE, 0x1F, 0xF0, 0x1F, 0x80, 0x00, 0x77, 0xFF, 0xF7, 0x00, 0x00, + 0x00, 0x00, 0xEF, 0xFF, 0xEE, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF3, 0xC7, 0x8E, 0x3C, 0x70, 0xE1, 0x87, 0x0C, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, + 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7C, 0x00, + 0x07, 0x7F, 0xFF, 0xDF, 0xFF, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF7, 0xFF, 0xFE, 0x7F, 0xFF, 0xCF, 0xFF, + 0xF8, 0x00, 0x00, 0x3C, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, + 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x3F, 0x80, + 0x3F, 0x80, 0x3F, 0x80, 0x3F, 0x80, 0x3F, 0x80, 0x0F, 0x80, 0x03, 0x80, + 0x00, 0x1F, 0xC0, 0xFF, 0xE3, 0xFF, 0xF7, 0xFF, 0xEF, 0x07, 0xFE, 0x03, + 0xDC, 0x07, 0x80, 0x0F, 0x00, 0x7C, 0x03, 0xF8, 0x1F, 0xC0, 0x1E, 0x00, + 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x3E, + 0x00, 0x7C, 0x00, 0x70, 0x00, 0x07, 0xE0, 0x1F, 0xE0, 0x7F, 0xE1, 0xE1, + 0xC7, 0x83, 0xCE, 0x03, 0xBC, 0x07, 0x70, 0x0E, 0xE0, 0x7D, 0xC3, 0xFB, + 0x8F, 0xF7, 0x3C, 0xEE, 0x71, 0xDC, 0xE3, 0xB9, 0xC7, 0x73, 0xCE, 0xE3, + 0xFF, 0xC3, 0xFF, 0x83, 0xFF, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x1E, 0x02, + 0x1E, 0x1E, 0x3F, 0xFC, 0x1F, 0xF0, 0x1F, 0x80, 0x0F, 0xF8, 0x00, 0x7F, + 0xF0, 0x01, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xF8, + 0x00, 0x1C, 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x1E, 0x1E, 0x00, + 0x78, 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x01, 0xFF, + 0xFE, 0x07, 0xFF, 0xF8, 0x3C, 0x00, 0xF3, 0xFC, 0x1F, 0xEF, 0xF8, 0x7F, + 0xFF, 0xE1, 0xFF, 0x7F, 0x03, 0xF8, 0x7F, 0xFC, 0x0F, 0xFF, 0xF0, 0xFF, + 0xFF, 0x8F, 0xFF, 0xF8, 0x3C, 0x07, 0xC3, 0xC0, 0x3C, 0x3C, 0x03, 0xC3, + 0xC0, 0x7C, 0x3F, 0xFF, 0x83, 0xFF, 0xF0, 0x3F, 0xFF, 0x83, 0xFF, 0xFE, + 0x3C, 0x03, 0xE3, 0xC0, 0x1F, 0x3C, 0x00, 0xF3, 0xC0, 0x0F, 0x3C, 0x01, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFC, 0x7F, 0xFF, 0x00, 0x01, + 0xF8, 0xC1, 0xFF, 0xFC, 0x7F, 0xFF, 0x9F, 0xFF, 0xF7, 0xE0, 0x7E, 0xF8, + 0x07, 0xFE, 0x00, 0x7F, 0x80, 0x0E, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, + 0x07, 0x7F, 0x03, 0xE7, 0xFF, 0xFC, 0x7F, 0xFF, 0x03, 0xFF, 0xC0, 0x1F, + 0xE0, 0xFF, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xE3, 0xFF, 0xFC, 0x78, 0x1F, + 0x9E, 0x03, 0xE7, 0x80, 0x79, 0xE0, 0x0F, 0x78, 0x03, 0xDE, 0x00, 0xF7, + 0x80, 0x3D, 0xE0, 0x0F, 0x78, 0x03, 0xDE, 0x00, 0xF7, 0x80, 0x7D, 0xE0, + 0x1E, 0x78, 0x1F, 0xBF, 0xFF, 0xCF, 0xFF, 0xF3, 0xFF, 0xF0, 0x7F, 0xF0, + 0x00, 0x7F, 0xFF, 0xDF, 0xFF, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xE3, 0xC0, + 0x3C, 0x78, 0x07, 0x8F, 0x1C, 0xF1, 0xE3, 0xCC, 0x3F, 0xF8, 0x07, 0xFF, + 0x00, 0xFF, 0xE0, 0x1F, 0xFC, 0x03, 0xC7, 0x80, 0x78, 0xF1, 0x8F, 0x0C, + 0x79, 0xE0, 0x0F, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF7, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF3, 0xC0, 0x1E, 0x78, 0x63, 0xCF, 0x1E, 0x79, 0xE3, 0xC6, 0x3F, 0xF8, + 0x07, 0xFF, 0x00, 0xFF, 0xE0, 0x1F, 0xFC, 0x03, 0xC7, 0x80, 0x78, 0xE0, + 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x1F, 0xFC, 0x03, 0xFF, 0x80, + 0x7F, 0xF0, 0x07, 0xFC, 0x00, 0x01, 0xFC, 0xE0, 0x7F, 0xFE, 0x1F, 0xFF, + 0xE3, 0xFF, 0xFE, 0x7F, 0x03, 0xE7, 0xC0, 0x1E, 0xF8, 0x00, 0xEF, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x03, 0xFE, 0xF0, + 0x3F, 0xFF, 0x03, 0xFF, 0xF8, 0x3F, 0xF7, 0x80, 0x1E, 0x7E, 0x01, 0xE3, + 0xFF, 0xFE, 0x1F, 0xFF, 0xE0, 0xFF, 0xF8, 0x01, 0xFE, 0x00, 0x7F, 0x0F, + 0xE3, 0xFC, 0x7F, 0x9F, 0xE3, 0xFC, 0x7F, 0x1F, 0xC1, 0xE0, 0x3C, 0x0F, + 0x01, 0xE0, 0x78, 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0xFF, 0xFE, + 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0x01, 0xE0, 0x78, + 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC3, 0xFC, 0x7F, 0xBF, 0xE3, 0xFF, + 0xFF, 0x1F, 0xF7, 0xF0, 0x7F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, + 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x83, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, + 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x38, 0x07, 0x8F, + 0x00, 0xF1, 0xE0, 0x1E, 0x3C, 0x03, 0xC7, 0x80, 0xF8, 0xF8, 0x3F, 0x1F, + 0xFF, 0xC3, 0xFF, 0xF0, 0x1F, 0xFC, 0x00, 0x7E, 0x00, 0xFF, 0x0F, 0xCF, + 0xF9, 0xFE, 0xFF, 0x9F, 0xEF, 0xF8, 0xFC, 0x3C, 0x1F, 0x03, 0xC3, 0xE0, + 0x3C, 0x7C, 0x03, 0xCF, 0x80, 0x3D, 0xF0, 0x03, 0xFE, 0x00, 0x3F, 0xF8, + 0x03, 0xFF, 0x80, 0x3E, 0x7C, 0x03, 0xC3, 0xE0, 0x3C, 0x1E, 0x03, 0xC0, + 0xF0, 0x3C, 0x0F, 0x0F, 0xF8, 0x7E, 0xFF, 0x87, 0xFF, 0xF8, 0x7F, 0x7F, + 0x03, 0xE0, 0xFF, 0xC0, 0x3F, 0xF0, 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0x1E, + 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, + 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x01, 0x87, 0x80, 0xF1, 0xE0, 0x3C, + 0x78, 0x0F, 0x1E, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, + 0xFF, 0xC0, 0x3E, 0x00, 0xF8, 0xFC, 0x01, 0xF9, 0xFC, 0x07, 0xF3, 0xF8, + 0x0F, 0xE3, 0xF8, 0x3F, 0x87, 0xF0, 0x7F, 0x0F, 0xF1, 0xFE, 0x1F, 0xE3, + 0xFC, 0x3D, 0xE7, 0x78, 0x7B, 0xDE, 0xF0, 0xF7, 0xBD, 0xE1, 0xE7, 0xF3, + 0xC3, 0xCF, 0xE7, 0x87, 0x8F, 0x8F, 0x0F, 0x1F, 0x1E, 0x1E, 0x1E, 0x3C, + 0x3C, 0x00, 0x79, 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x1F, 0xF7, + 0xF0, 0x1F, 0xC0, 0xFC, 0x1F, 0xEF, 0xE1, 0xFF, 0xFE, 0x1F, 0xFF, 0xF1, + 0xFF, 0x3F, 0x83, 0xC3, 0xF8, 0x3C, 0x3F, 0xC3, 0xC3, 0xFC, 0x3C, 0x3D, + 0xE3, 0xC3, 0xDE, 0x3C, 0x3C, 0xF3, 0xC3, 0xC7, 0xBC, 0x3C, 0x7B, 0xC3, + 0xC3, 0xFC, 0x3C, 0x3F, 0xC3, 0xC1, 0xFC, 0x3C, 0x1F, 0xCF, 0xF8, 0xFC, + 0xFF, 0x87, 0xCF, 0xF8, 0x7C, 0x7F, 0x03, 0xC0, 0x01, 0xF8, 0x00, 0x7F, + 0xE0, 0x0F, 0xFF, 0x81, 0xFF, 0xFC, 0x3F, 0x0F, 0xC7, 0xC0, 0x3E, 0x78, + 0x01, 0xEF, 0x80, 0x1F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, + 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x1F, 0x78, 0x01, 0xE7, 0xC0, 0x3E, + 0x3F, 0x0F, 0xC1, 0xFF, 0xF8, 0x1F, 0xFF, 0x00, 0x7F, 0xE0, 0x01, 0xF8, + 0x00, 0x7F, 0xF8, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, 0xFF, 0xFE, 0x3C, 0x0F, + 0xCF, 0x00, 0xF3, 0xC0, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0xCF, 0x03, 0xF3, + 0xFF, 0xF8, 0xFF, 0xFC, 0x3F, 0xFE, 0x0F, 0xFE, 0x03, 0xC0, 0x00, 0xF0, + 0x00, 0x3C, 0x00, 0x3F, 0xF8, 0x0F, 0xFE, 0x03, 0xFF, 0x80, 0x7F, 0xC0, + 0x00, 0x01, 0xF8, 0x00, 0x7F, 0xE0, 0x0F, 0xFF, 0x01, 0xFF, 0xF8, 0x3F, + 0x0F, 0xC7, 0xC0, 0x3E, 0x78, 0x01, 0xEF, 0x80, 0x1F, 0xF0, 0x00, 0xFF, + 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x1F, + 0x78, 0x01, 0xE7, 0xC0, 0x3E, 0x3F, 0x0F, 0xC1, 0xFF, 0xF8, 0x0F, 0xFF, + 0x00, 0x7F, 0xE0, 0x03, 0xF8, 0x00, 0x3F, 0x8E, 0x07, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xE0, 0x60, 0x78, 0x7F, 0xF8, 0x07, 0xFF, 0xF0, 0x3F, + 0xFF, 0xE0, 0xFF, 0xFF, 0x01, 0xE0, 0x7C, 0x0F, 0x01, 0xE0, 0x78, 0x0F, + 0x03, 0xC0, 0x78, 0x1E, 0x0F, 0xC0, 0xFF, 0xFC, 0x07, 0xFF, 0xC0, 0x3F, + 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0x0F, 0x80, 0x78, 0x3C, 0x03, 0xC0, 0xF0, + 0x1E, 0x07, 0xC3, 0xFE, 0x1F, 0xBF, 0xF0, 0x7F, 0xFF, 0x83, 0xF7, 0xF8, + 0x0F, 0x00, 0x07, 0xE7, 0x07, 0xFF, 0x8F, 0xFF, 0xC7, 0xFF, 0xE7, 0xC1, + 0xF3, 0xC0, 0x79, 0xE0, 0x3C, 0xF8, 0x00, 0x7F, 0x80, 0x1F, 0xFC, 0x07, + 0xFF, 0x81, 0xFF, 0xE0, 0x0F, 0xFB, 0x00, 0x7F, 0xC0, 0x1F, 0xE0, 0x0F, + 0xFC, 0x1F, 0xFF, 0xFF, 0xBF, 0xFF, 0x8D, 0xFF, 0x80, 0x3F, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x1F, 0xE1, + 0xE3, 0xFC, 0x3C, 0x7F, 0x87, 0x8F, 0x60, 0xF0, 0xC0, 0x1E, 0x00, 0x03, + 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, + 0x80, 0x00, 0xF0, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0x7F, + 0xE0, 0xFF, 0x0F, 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, 0xFE, 0xFF, 0x1F, 0xF3, + 0xC0, 0x1E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, + 0xE1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x78, 0x03, 0xC3, 0xC0, 0x1E, 0x1E, + 0x00, 0xF0, 0xF0, 0x07, 0x87, 0xC0, 0x7C, 0x1F, 0x07, 0xC0, 0xFF, 0xFE, + 0x03, 0xFF, 0xE0, 0x0F, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x03, 0xFD, + 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFB, 0xF8, 0x1F, 0xE1, 0xC0, 0x07, 0x03, + 0xC0, 0x1E, 0x07, 0x80, 0x3C, 0x07, 0x80, 0xF0, 0x0F, 0x01, 0xE0, 0x0F, + 0x03, 0x80, 0x1E, 0x0F, 0x00, 0x3E, 0x1E, 0x00, 0x3C, 0x78, 0x00, 0x78, + 0xF0, 0x00, 0x7B, 0xC0, 0x00, 0xF7, 0x80, 0x01, 0xFF, 0x00, 0x01, 0xFC, + 0x00, 0x03, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0x0F, + 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, 0xFF, 0xFE, 0x0F, 0xF7, 0x80, 0x0F, 0x3C, + 0x38, 0x78, 0xE3, 0xE3, 0x87, 0x1F, 0x1C, 0x38, 0xF8, 0xE1, 0xEF, 0xE7, + 0x0F, 0x7F, 0x78, 0x7B, 0xBB, 0xC3, 0xFD, 0xFE, 0x0F, 0xEF, 0xF0, 0x7E, + 0x3F, 0x03, 0xF1, 0xF8, 0x1F, 0x8F, 0xC0, 0xFC, 0x3E, 0x07, 0xC1, 0xF0, + 0x3E, 0x0F, 0x81, 0xF0, 0x7C, 0x00, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, 0xFC, + 0x7F, 0xBF, 0x07, 0xE1, 0xE0, 0xF8, 0x3E, 0x3E, 0x03, 0xEF, 0x80, 0x3D, + 0xE0, 0x03, 0xF8, 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, 0x3F, + 0x80, 0x0F, 0x78, 0x03, 0xC7, 0x80, 0xF8, 0x78, 0x3E, 0x0F, 0x8F, 0xE3, + 0xFF, 0xFC, 0x7F, 0xFF, 0x8F, 0xF7, 0xE0, 0xFC, 0x7E, 0x07, 0xEF, 0xF0, + 0xFF, 0xFF, 0x0F, 0xF7, 0xE0, 0x7E, 0x1E, 0x07, 0x81, 0xF0, 0xF8, 0x0F, + 0x0F, 0x00, 0x79, 0xE0, 0x07, 0xFE, 0x00, 0x3F, 0xC0, 0x01, 0xF8, 0x00, + 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, + 0x00, 0xF0, 0x00, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, 0x07, 0xFE, + 0x00, 0xFF, 0xFC, 0xFF, 0xFC, 0xFF, 0xFC, 0xFF, 0xFC, 0xF0, 0x3C, 0xF0, + 0x78, 0xF0, 0xF0, 0x70, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0x80, 0x07, + 0x00, 0x0F, 0x00, 0x1E, 0x0E, 0x1C, 0x0F, 0x38, 0x0F, 0x78, 0x0F, 0x7F, + 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFE, 0xE0, 0x01, + 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x00, 0x0F, 0x00, 0x0E, + 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF0, + 0x00, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, + 0x07, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, 0x00, + 0x38, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x07, 0x00, 0x1F, 0x00, + 0x7F, 0x00, 0xFE, 0x03, 0xDE, 0x0F, 0x1E, 0x3E, 0x3E, 0xF8, 0x3F, 0xE0, + 0x3F, 0x80, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0xC3, 0x87, 0x0E, 0x1C, 0x30, 0x01, 0xFC, 0x01, 0xFF, 0xC0, + 0x3F, 0xFC, 0x07, 0xFF, 0xC0, 0x00, 0x78, 0x0F, 0xFF, 0x07, 0xFF, 0xE1, + 0xFF, 0xFC, 0x7F, 0xFF, 0x9F, 0x80, 0xF3, 0xC0, 0x1E, 0x78, 0x0F, 0xCF, + 0xFF, 0xFE, 0xFF, 0xFF, 0xCF, 0xFF, 0xF8, 0x7F, 0x3E, 0x7C, 0x00, 0x1F, + 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, + 0x3F, 0x01, 0xFF, 0xF8, 0x3F, 0xFF, 0x87, 0xFF, 0xF0, 0xFC, 0x1F, 0x1F, + 0x01, 0xF3, 0xC0, 0x1E, 0x78, 0x03, 0xCF, 0x00, 0x79, 0xE0, 0x0F, 0x3E, + 0x03, 0xE7, 0xE0, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xCF, 0xFF, 0xF0, 0xF9, + 0xF8, 0x00, 0x03, 0xF3, 0x87, 0xFF, 0xCF, 0xFF, 0xEF, 0xFF, 0xF7, 0xE0, + 0xFF, 0xC0, 0x3F, 0xC0, 0x0F, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3E, + 0x00, 0x4F, 0x80, 0xF7, 0xFF, 0xF9, 0xFF, 0xF8, 0x7F, 0xF8, 0x0F, 0xF0, + 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x03, + 0xC0, 0x00, 0x3C, 0x03, 0xF3, 0xC0, 0xFF, 0xBC, 0x1F, 0xFF, 0xC3, 0xFF, + 0xFC, 0x7E, 0x0F, 0xC7, 0x80, 0x7C, 0xF0, 0x03, 0xCF, 0x00, 0x3C, 0xF0, + 0x03, 0xCF, 0x00, 0x3C, 0xF8, 0x07, 0xC7, 0xE0, 0xFC, 0x7F, 0xFF, 0xF3, + 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, 0x3F, 0x3E, 0x03, 0xF0, 0x03, 0xFF, 0x01, + 0xFF, 0xE0, 0xFF, 0xFC, 0x7E, 0x0F, 0x9E, 0x01, 0xEF, 0x00, 0x3F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xE0, 0x00, 0x7F, 0xFF, + 0xCF, 0xFF, 0xF1, 0xFF, 0xF8, 0x0F, 0xF0, 0x03, 0xFC, 0x07, 0xFF, 0x0F, + 0xFF, 0x1F, 0xFF, 0x1E, 0x00, 0x1E, 0x00, 0xFF, 0xF8, 0xFF, 0xFC, 0xFF, + 0xFC, 0xFF, 0xF8, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, + 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0xFF, 0xF8, 0xFF, 0xF8, 0xFF, + 0xF8, 0xFF, 0xF8, 0x07, 0xE7, 0xC3, 0xFF, 0xFC, 0xFF, 0xFF, 0xBF, 0xFF, + 0xF7, 0xC1, 0xF9, 0xF0, 0x1F, 0x3C, 0x01, 0xE7, 0x80, 0x3C, 0xF0, 0x07, + 0x9E, 0x00, 0xF3, 0xE0, 0x3E, 0x3E, 0x0F, 0xC7, 0xFF, 0xF8, 0x7F, 0xFF, + 0x07, 0xFD, 0xE0, 0x3F, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3E, + 0x03, 0xFF, 0x80, 0x7F, 0xF0, 0x0F, 0xFC, 0x00, 0xFE, 0x00, 0x3E, 0x00, + 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x01, 0xE0, 0x00, 0x0F, + 0x00, 0x00, 0x78, 0xF8, 0x03, 0xDF, 0xE0, 0x1F, 0xFF, 0x80, 0xFF, 0xFE, + 0x07, 0xE1, 0xF0, 0x3E, 0x07, 0x81, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x78, + 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x1F, 0xC1, 0xFD, + 0xFE, 0x0F, 0xFF, 0xF0, 0x7F, 0xBF, 0x01, 0xF8, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x3F, 0xC0, + 0x3F, 0xC0, 0x3F, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFE, 0xFF, 0xFF, + 0xFF, 0xFF, 0x7F, 0xFE, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, + 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, + 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xFF, 0xFE, 0xFF, 0xEF, 0xFC, 0x7F, 0x00, + 0x7C, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0x3C, 0x00, 0x0F, + 0x00, 0x03, 0xC7, 0xF0, 0xF3, 0xFC, 0x3C, 0xFF, 0x0F, 0x3F, 0x83, 0xDF, + 0x00, 0xFF, 0x80, 0x3F, 0xC0, 0x0F, 0xE0, 0x03, 0xFC, 0x00, 0xF7, 0x80, + 0x3C, 0xF0, 0x0F, 0x1F, 0x0F, 0xC3, 0xFB, 0xF1, 0xFF, 0xFC, 0x7F, 0xDF, + 0x0F, 0xE0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0x3D, 0xE3, + 0xC1, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x1F, 0xFF, 0xFE, 0x3E, 0x3C, 0x78, + 0xF0, 0xF1, 0xE3, 0xC3, 0xC7, 0x8F, 0x0F, 0x1E, 0x3C, 0x3C, 0x78, 0xF0, + 0xF1, 0xE3, 0xC3, 0xC7, 0x8F, 0x0F, 0x1E, 0xFE, 0x3E, 0x7F, 0xF8, 0xF9, + 0xFF, 0xE3, 0xE7, 0xDF, 0x0F, 0x1E, 0x1E, 0x7C, 0x03, 0xEF, 0xF0, 0x3F, + 0xFF, 0x83, 0xFF, 0xFC, 0x1F, 0x87, 0xC1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, + 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, + 0x7F, 0x0F, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xF7, 0xE0, 0x7E, 0x03, 0xF8, + 0x01, 0xFF, 0xC0, 0x7F, 0xFC, 0x1F, 0xFF, 0xC7, 0xE0, 0xFD, 0xF0, 0x07, + 0xFC, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xE0, 0x0F, + 0xBF, 0x07, 0xE3, 0xFF, 0xF8, 0x3F, 0xFE, 0x03, 0xFF, 0x80, 0x1F, 0xC0, + 0x3E, 0x7E, 0x03, 0xF7, 0xFC, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC1, 0xF8, + 0x3F, 0x0F, 0x80, 0x7C, 0x78, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x78, + 0xF0, 0x03, 0xC7, 0xC0, 0x3E, 0x3F, 0x07, 0xE1, 0xFF, 0xFE, 0x0F, 0xFF, + 0xE0, 0x7B, 0xFE, 0x03, 0xCF, 0xC0, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, + 0x80, 0x00, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x01, 0xFE, 0x00, + 0x00, 0x03, 0xF3, 0xE0, 0x7F, 0xDF, 0x87, 0xFF, 0xFC, 0x7F, 0xFF, 0xE7, + 0xE0, 0xFC, 0x7C, 0x03, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x78, 0xF0, 0x03, + 0xC7, 0x80, 0x1E, 0x3E, 0x01, 0xF0, 0xFC, 0x1F, 0x83, 0xFF, 0xFC, 0x1F, + 0xFF, 0xE0, 0x3F, 0xEF, 0x00, 0x7E, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, + 0x00, 0x00, 0xF0, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, + 0x3F, 0xC0, 0x7E, 0x1E, 0x7F, 0x3F, 0xFF, 0xBF, 0xFF, 0xFF, 0xF1, 0xFE, + 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, + 0x80, 0x03, 0xC0, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xFF, 0xE1, 0xFF, 0xE0, + 0x07, 0xE6, 0x1F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x78, 0x1E, 0x78, 0x0E, + 0x7F, 0xE0, 0x3F, 0xFC, 0x03, 0xFE, 0x60, 0x1F, 0xE0, 0x0F, 0xF8, 0x1F, + 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFC, 0x07, 0xE0, 0x0C, 0x00, 0x0F, 0x00, + 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x07, 0xFF, 0xF3, 0xFF, 0xF9, 0xFF, + 0xFC, 0xFF, 0xFC, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, + 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x07, 0x8F, 0xFF, 0xC3, 0xFF, + 0xC1, 0xFF, 0xC0, 0x3F, 0x80, 0xFC, 0x1F, 0xBF, 0x0F, 0xEF, 0xC3, 0xFB, + 0xF0, 0xFE, 0x3C, 0x07, 0x8F, 0x01, 0xE3, 0xC0, 0x78, 0xF0, 0x1E, 0x3C, + 0x07, 0x8F, 0x01, 0xE3, 0xC0, 0x78, 0xF8, 0x7E, 0x3F, 0xFF, 0xC7, 0xFF, + 0xF0, 0xFF, 0x7C, 0x0F, 0x9E, 0x7F, 0x07, 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, + 0xFE, 0xFE, 0x0F, 0xE1, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x1E, 0x01, + 0xE0, 0xF0, 0x07, 0x8F, 0x00, 0x3E, 0x78, 0x00, 0xF7, 0x80, 0x07, 0xFC, + 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7E, + 0x03, 0xF7, 0xF8, 0x3F, 0xFF, 0xC1, 0xFE, 0xFC, 0x07, 0xF3, 0xC7, 0x0F, + 0x1E, 0x7C, 0xF0, 0x73, 0xE7, 0x83, 0x9F, 0x7C, 0x1F, 0xFF, 0xC0, 0xFF, + 0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFC, 0xF8, 0x07, 0xC7, 0xC0, + 0x1E, 0x3E, 0x00, 0xE0, 0xE0, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, 0xFC, 0x7F, + 0xBF, 0x07, 0xE1, 0xF1, 0xF0, 0x1F, 0xFC, 0x01, 0xFF, 0x00, 0x1F, 0xC0, + 0x07, 0xF8, 0x01, 0xFF, 0xC0, 0x7E, 0xFC, 0x1F, 0x8F, 0xC7, 0xE0, 0xFD, + 0xFE, 0x3F, 0xFF, 0xC7, 0xFF, 0xF0, 0x7F, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, + 0xFC, 0x7F, 0xBF, 0x07, 0xE3, 0xC0, 0x78, 0x3C, 0x0E, 0x07, 0x83, 0xC0, + 0x78, 0x70, 0x0F, 0x1E, 0x00, 0xE3, 0x80, 0x1E, 0xF0, 0x01, 0xDC, 0x00, + 0x3F, 0x80, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, + 0x38, 0x00, 0x0F, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x1F, + 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF9, 0xC7, + 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x78, 0x03, 0xC0, 0x1E, 0x07, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x81, 0xF0, 0xFC, 0x7E, 0x1F, + 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xF8, 0xFC, 0x3E, 0x0F, + 0x83, 0xF0, 0x3E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xF0, 0x7E, + 0x0F, 0xC3, 0xF0, 0x38, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x70, 0x3E, 0x0F, 0xC1, 0xF8, 0x3E, + 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x7C, 0x0F, 0xC1, 0xF0, + 0x7C, 0x3F, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x83, 0xE1, 0xF8, + 0xFC, 0x3F, 0x07, 0x00, 0x1E, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xDF, 0xFC, + 0xFF, 0x3F, 0xFB, 0x0F, 0xF8, 0x03, 0xF8, 0x00, 0x78 }; + +const GFXglyph FreeMonoBold18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' + { 0, 5, 22, 21, 8, -21 }, // 0x21 '!' + { 14, 11, 10, 21, 5, -20 }, // 0x22 '"' + { 28, 16, 25, 21, 3, -22 }, // 0x23 '#' + { 78, 14, 28, 21, 4, -23 }, // 0x24 '$' + { 127, 15, 21, 21, 3, -20 }, // 0x25 '%' + { 167, 15, 20, 21, 3, -19 }, // 0x26 '&' + { 205, 4, 10, 21, 8, -20 }, // 0x27 ''' + { 210, 8, 27, 21, 9, -21 }, // 0x28 '(' + { 237, 8, 27, 21, 4, -21 }, // 0x29 ')' + { 264, 16, 15, 21, 3, -21 }, // 0x2A '*' + { 294, 16, 19, 21, 3, -18 }, // 0x2B '+' + { 332, 7, 10, 21, 5, -3 }, // 0x2C ',' + { 341, 19, 4, 21, 1, -11 }, // 0x2D '-' + { 351, 5, 5, 21, 8, -4 }, // 0x2E '.' + { 355, 15, 28, 21, 3, -23 }, // 0x2F '/' + { 408, 16, 23, 21, 3, -22 }, // 0x30 '0' + { 454, 15, 22, 21, 3, -21 }, // 0x31 '1' + { 496, 15, 23, 21, 3, -22 }, // 0x32 '2' + { 540, 16, 23, 21, 3, -22 }, // 0x33 '3' + { 586, 15, 21, 21, 3, -20 }, // 0x34 '4' + { 626, 17, 22, 21, 2, -21 }, // 0x35 '5' + { 673, 15, 23, 21, 4, -22 }, // 0x36 '6' + { 717, 15, 22, 21, 3, -21 }, // 0x37 '7' + { 759, 15, 23, 21, 3, -22 }, // 0x38 '8' + { 803, 15, 23, 21, 4, -22 }, // 0x39 '9' + { 847, 5, 16, 21, 8, -15 }, // 0x3A ':' + { 857, 7, 22, 21, 5, -15 }, // 0x3B ';' + { 877, 18, 16, 21, 1, -17 }, // 0x3C '<' + { 913, 19, 10, 21, 1, -14 }, // 0x3D '=' + { 937, 18, 16, 21, 2, -17 }, // 0x3E '>' + { 973, 15, 21, 21, 4, -20 }, // 0x3F '?' + { 1013, 15, 27, 21, 3, -21 }, // 0x40 '@' + { 1064, 22, 21, 21, -1, -20 }, // 0x41 'A' + { 1122, 20, 21, 21, 1, -20 }, // 0x42 'B' + { 1175, 19, 21, 21, 1, -20 }, // 0x43 'C' + { 1225, 18, 21, 21, 2, -20 }, // 0x44 'D' + { 1273, 19, 21, 21, 1, -20 }, // 0x45 'E' + { 1323, 19, 21, 21, 1, -20 }, // 0x46 'F' + { 1373, 20, 21, 21, 1, -20 }, // 0x47 'G' + { 1426, 21, 21, 21, 0, -20 }, // 0x48 'H' + { 1482, 14, 21, 21, 4, -20 }, // 0x49 'I' + { 1519, 19, 21, 21, 2, -20 }, // 0x4A 'J' + { 1569, 20, 21, 21, 1, -20 }, // 0x4B 'K' + { 1622, 18, 21, 21, 2, -20 }, // 0x4C 'L' + { 1670, 23, 21, 21, -1, -20 }, // 0x4D 'M' + { 1731, 20, 21, 21, 1, -20 }, // 0x4E 'N' + { 1784, 20, 21, 21, 1, -20 }, // 0x4F 'O' + { 1837, 18, 21, 21, 1, -20 }, // 0x50 'P' + { 1885, 20, 26, 21, 1, -20 }, // 0x51 'Q' + { 1950, 21, 21, 21, 0, -20 }, // 0x52 'R' + { 2006, 17, 21, 21, 2, -20 }, // 0x53 'S' + { 2051, 19, 21, 21, 1, -20 }, // 0x54 'T' + { 2101, 21, 21, 21, 0, -20 }, // 0x55 'U' + { 2157, 23, 21, 21, -1, -20 }, // 0x56 'V' + { 2218, 21, 21, 21, 0, -20 }, // 0x57 'W' + { 2274, 19, 21, 21, 1, -20 }, // 0x58 'X' + { 2324, 20, 21, 21, 1, -20 }, // 0x59 'Y' + { 2377, 16, 21, 21, 3, -20 }, // 0x5A 'Z' + { 2419, 8, 27, 21, 9, -21 }, // 0x5B '[' + { 2446, 15, 28, 21, 3, -23 }, // 0x5C '\' + { 2499, 8, 27, 21, 4, -21 }, // 0x5D ']' + { 2526, 15, 11, 21, 3, -21 }, // 0x5E '^' + { 2547, 21, 4, 21, 0, 4 }, // 0x5F '_' + { 2558, 6, 6, 21, 6, -22 }, // 0x60 '`' + { 2563, 19, 16, 21, 1, -15 }, // 0x61 'a' + { 2601, 19, 22, 21, 1, -21 }, // 0x62 'b' + { 2654, 17, 16, 21, 2, -15 }, // 0x63 'c' + { 2688, 20, 22, 21, 1, -21 }, // 0x64 'd' + { 2743, 18, 16, 21, 1, -15 }, // 0x65 'e' + { 2779, 16, 22, 21, 4, -21 }, // 0x66 'f' + { 2823, 19, 23, 21, 1, -15 }, // 0x67 'g' + { 2878, 21, 22, 21, 0, -21 }, // 0x68 'h' + { 2936, 16, 22, 21, 3, -21 }, // 0x69 'i' + { 2980, 12, 29, 21, 5, -21 }, // 0x6A 'j' + { 3024, 18, 22, 21, 2, -21 }, // 0x6B 'k' + { 3074, 16, 22, 21, 3, -21 }, // 0x6C 'l' + { 3118, 22, 16, 21, -1, -15 }, // 0x6D 'm' + { 3162, 20, 16, 21, 0, -15 }, // 0x6E 'n' + { 3202, 19, 16, 21, 1, -15 }, // 0x6F 'o' + { 3240, 21, 23, 21, 0, -15 }, // 0x70 'p' + { 3301, 21, 23, 22, 1, -15 }, // 0x71 'q' + { 3362, 17, 16, 21, 3, -15 }, // 0x72 'r' + { 3396, 16, 16, 21, 3, -15 }, // 0x73 's' + { 3428, 17, 21, 21, 1, -20 }, // 0x74 't' + { 3473, 18, 16, 21, 1, -15 }, // 0x75 'u' + { 3509, 21, 16, 21, 0, -15 }, // 0x76 'v' + { 3551, 21, 16, 21, 0, -15 }, // 0x77 'w' + { 3593, 19, 16, 21, 1, -15 }, // 0x78 'x' + { 3631, 19, 23, 21, 1, -15 }, // 0x79 'y' + { 3686, 14, 16, 21, 3, -15 }, // 0x7A 'z' + { 3714, 10, 27, 21, 6, -21 }, // 0x7B '{' + { 3748, 4, 27, 21, 9, -21 }, // 0x7C '|' + { 3762, 10, 27, 21, 6, -21 }, // 0x7D '}' + { 3796, 17, 8, 21, 2, -13 } }; // 0x7E '~' + +const GFXfont FreeMonoBold18pt7b PROGMEM = { + (uint8_t *)FreeMonoBold18pt7bBitmaps, + (GFXglyph *)FreeMonoBold18pt7bGlyphs, + 0x20, 0x7E, 35 }; + +// Approx. 4485 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h new file mode 100644 index 0000000..aa0dcd0 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h @@ -0,0 +1,672 @@ +const uint8_t FreeMonoBold24pt7bBitmaps[] PROGMEM = { + 0x38, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xF3, 0xE7, 0xCF, + 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE3, 0x82, 0x00, 0x00, 0x00, 0x71, 0xF7, + 0xFF, 0xEF, 0x9E, 0x00, 0xFC, 0x7E, 0xF8, 0x7D, 0xF0, 0xFB, 0xE1, 0xF7, + 0xC3, 0xEF, 0x87, 0xDF, 0x0F, 0xBE, 0x1F, 0x38, 0x1C, 0x70, 0x38, 0xE0, + 0x71, 0xC0, 0xE3, 0x81, 0xC7, 0x03, 0x80, 0x01, 0xC1, 0xC0, 0x0F, 0x8F, + 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, 0x0F, 0x8F, 0x80, + 0x7E, 0x3E, 0x01, 0xF0, 0xF8, 0x07, 0xC7, 0xC0, 0x1F, 0x1F, 0x03, 0xFF, + 0xFF, 0x9F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFD, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, + 0x81, 0xF1, 0xF0, 0x07, 0xC7, 0xC0, 0x1F, 0x1F, 0x00, 0x7C, 0x7C, 0x1F, + 0xFF, 0xFC, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x9F, 0xFF, + 0xFC, 0x0F, 0x8F, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, + 0x0F, 0x8F, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, 0x0F, + 0x8F, 0x80, 0x3C, 0x3C, 0x00, 0x00, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x1F, 0xFF, 0x07, 0xFF, 0xF1, 0xFF, 0xFE, + 0x7F, 0xFF, 0xDF, 0xC1, 0xFB, 0xF0, 0x1F, 0x7C, 0x01, 0xEF, 0x80, 0x39, + 0xF8, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x03, 0xFF, 0xF0, + 0x0F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, + 0x80, 0x1F, 0xF8, 0x07, 0xFF, 0x81, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xCF, + 0xFF, 0xF1, 0xDF, 0xFC, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, + 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x01, 0xC0, 0x00, + 0x0F, 0x80, 0x00, 0xFF, 0x00, 0x1F, 0xFC, 0x00, 0xF0, 0xE0, 0x0F, 0x07, + 0x80, 0x70, 0x1C, 0x03, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xF0, 0x78, 0x03, + 0xC3, 0x80, 0x1F, 0xFC, 0x00, 0x7F, 0xC1, 0xF0, 0xF8, 0x7F, 0x00, 0x3F, + 0xF0, 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xC0, 0x07, 0xE0, 0xF8, 0x38, + 0x1F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0x1E, 0x00, 0xF0, 0x78, 0x07, 0x01, + 0xC0, 0x38, 0x0E, 0x01, 0xC0, 0x70, 0x0F, 0x07, 0x80, 0x38, 0x78, 0x01, + 0xFF, 0xC0, 0x07, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0xFC, + 0x01, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x0F, 0xC7, 0x00, 0x7C, + 0x10, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, + 0x1F, 0x80, 0x00, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xC7, 0xCF, 0xFF, + 0x3F, 0x7E, 0xFF, 0xFF, 0xE7, 0xFF, 0xBE, 0x1F, 0xF9, 0xF0, 0x7F, 0x8F, + 0x83, 0xFC, 0x7C, 0x0F, 0xE3, 0xF0, 0x7F, 0xCF, 0xFF, 0xFF, 0x7F, 0xFF, + 0xF9, 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x0F, 0xE0, 0x00, 0xFD, 0xF7, 0xDF, + 0x7D, 0xF7, 0xDF, 0x38, 0xE3, 0x8E, 0x38, 0xE0, 0x01, 0x80, 0xF0, 0x7C, + 0x3F, 0x0F, 0xC7, 0xE1, 0xF8, 0xFC, 0x3E, 0x0F, 0x87, 0xC1, 0xF0, 0x7C, + 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, + 0x81, 0xF0, 0x7C, 0x1F, 0x07, 0xC0, 0xF8, 0x3E, 0x0F, 0xC1, 0xF0, 0x7E, + 0x0F, 0x83, 0xF0, 0x7C, 0x1F, 0x03, 0xC0, 0x60, 0x3C, 0x0F, 0x83, 0xF0, + 0xFC, 0x1F, 0x83, 0xE0, 0xFC, 0x1F, 0x07, 0xC1, 0xF8, 0x3E, 0x0F, 0x83, + 0xE0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, + 0x1E, 0x0F, 0x83, 0xE0, 0xF8, 0x7C, 0x1F, 0x0F, 0xC3, 0xE1, 0xF8, 0x7C, + 0x3F, 0x0F, 0x83, 0xE0, 0xF0, 0x00, 0x00, 0x70, 0x00, 0x07, 0xC0, 0x00, + 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x10, 0x7C, 0x11, 0xF3, 0xE7, + 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0x87, 0xFF, 0xF0, 0x07, + 0xFC, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0x80, 0x3F, 0x7E, 0x01, 0xFB, 0xF0, + 0x1F, 0x8F, 0xC0, 0xF8, 0x3E, 0x03, 0x80, 0xE0, 0x00, 0x38, 0x00, 0x00, + 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, + 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, + 0x01, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xDF, 0xFF, 0xFF, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, + 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x70, 0x00, 0x1F, + 0x8F, 0x87, 0xC7, 0xC3, 0xE1, 0xE1, 0xF0, 0xF0, 0x78, 0x38, 0x3C, 0x1C, + 0x0E, 0x06, 0x00, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x7D, 0xFF, 0xFF, 0xFF, 0xEF, 0x80, + 0x00, 0x00, 0x60, 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, + 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, + 0xF8, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, + 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, 0x00, 0xF8, 0x00, + 0x1F, 0x80, 0x01, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, + 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, + 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, + 0x00, 0xFC, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x00, 0x01, + 0xFC, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xFF, 0xFE, + 0x1F, 0x83, 0xF1, 0xF8, 0x0F, 0xCF, 0x80, 0x3E, 0x7C, 0x01, 0xF7, 0xC0, + 0x07, 0xFE, 0x00, 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, + 0xE0, 0x03, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xC0, 0x07, 0xFE, 0x00, + 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7D, 0xF0, 0x07, 0xCF, + 0x80, 0x3E, 0x7E, 0x03, 0xF1, 0xF8, 0x3F, 0x0F, 0xFF, 0xF8, 0x3F, 0xFF, + 0x80, 0xFF, 0xF8, 0x03, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, + 0x3F, 0x80, 0x0F, 0xF8, 0x01, 0xFF, 0x80, 0x7F, 0xF8, 0x0F, 0xEF, 0x80, + 0xFC, 0xF8, 0x07, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, + 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, + 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, + 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x3F, 0xFF, 0xE7, + 0xFF, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0x01, 0xFC, + 0x00, 0x3F, 0xF8, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0xC7, 0xFF, 0xFF, 0x3F, + 0x03, 0xFB, 0xF0, 0x07, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFB, 0x80, 0x07, + 0xC0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xF8, 0x00, + 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x00, + 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xE0, + 0x0E, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xF8, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, + 0xE0, 0xFF, 0xFF, 0x8F, 0xFF, 0xFE, 0x7E, 0x03, 0xF1, 0xC0, 0x0F, 0xC0, + 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x0F, + 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x3F, 0xF0, 0x00, + 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x0F, + 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x01, 0xFF, 0xC0, + 0x3F, 0xBF, 0xFF, 0xFD, 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, + 0x1F, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x07, + 0xF8, 0x00, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xEF, 0x80, 0x3E, 0xF8, 0x03, + 0xCF, 0x80, 0x7C, 0xF8, 0x0F, 0x8F, 0x80, 0xF0, 0xF8, 0x1F, 0x0F, 0x81, + 0xE0, 0xF8, 0x3E, 0x0F, 0x87, 0xC0, 0xF8, 0x78, 0x0F, 0x8F, 0xFF, 0xFE, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x0F, + 0x80, 0x07, 0xFE, 0x00, 0xFF, 0xF0, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, 0x07, + 0xFE, 0x3F, 0xFF, 0xC1, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x7F, 0xFF, 0xC3, + 0xFF, 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, + 0x01, 0xF0, 0x00, 0x0F, 0xBF, 0x00, 0x7F, 0xFF, 0x03, 0xFF, 0xFC, 0x1F, + 0xFF, 0xF0, 0xFF, 0xFF, 0x83, 0xC0, 0xFE, 0x00, 0x01, 0xF0, 0x00, 0x0F, + 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, + 0x03, 0xE0, 0x00, 0x3F, 0xF0, 0x03, 0xF7, 0xE0, 0x3F, 0xBF, 0xFF, 0xF9, + 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x1F, 0xFF, 0x80, 0x1F, 0xF0, 0x00, 0x00, + 0x1F, 0xC0, 0x0F, 0xFF, 0x01, 0xFF, 0xF0, 0x7F, 0xFF, 0x0F, 0xFF, 0xE1, + 0xFF, 0x00, 0x1F, 0xC0, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, + 0x7C, 0x00, 0x0F, 0x8F, 0xC0, 0xF9, 0xFF, 0x0F, 0xFF, 0xF8, 0xFF, 0xFF, + 0xCF, 0xFF, 0xFC, 0xFF, 0x0F, 0xEF, 0xE0, 0x3E, 0xFC, 0x03, 0xFF, 0x80, + 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xF7, 0xC0, 0x3F, 0x7E, + 0x03, 0xF3, 0xF0, 0x7E, 0x3F, 0xFF, 0xE1, 0xFF, 0xFC, 0x0F, 0xFF, 0x80, + 0x7F, 0xF0, 0x01, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xF0, 0x03, 0xE0, 0x00, + 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, + 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, + 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, + 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x06, 0x00, 0x01, 0xF8, 0x00, 0xFF, + 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7F, 0xFF, 0xE7, 0xE0, 0x7E, 0xFC, + 0x03, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xF7, + 0xC0, 0x3E, 0x7E, 0x07, 0xE3, 0xFF, 0xFC, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, + 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7F, 0x0F, 0xE7, 0xC0, 0x3E, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xF7, 0xE0, + 0x7E, 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0x80, 0xFF, 0xF0, 0x03, + 0xFC, 0x00, 0x03, 0xF8, 0x00, 0xFF, 0xE0, 0x1F, 0xFF, 0x83, 0xFF, 0xF8, + 0x7F, 0xFF, 0xC7, 0xE0, 0xFE, 0xFC, 0x03, 0xEF, 0x80, 0x3E, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x3F, 0xFC, 0x07, 0xF7, 0xE0, + 0xFF, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, 0xFF, 0x9F, 0x03, + 0xF1, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, + 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x0F, 0xF0, 0x7F, 0xFE, 0x0F, 0xFF, 0xC0, + 0xFF, 0xF8, 0x0F, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, + 0xEF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, + 0xFF, 0xFF, 0xEF, 0x80, 0x0F, 0x87, 0xF1, 0xFC, 0x7F, 0x1F, 0xC3, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0x1F, 0x87, 0xE1, 0xF0, 0xFC, 0x3E, 0x0F, 0x03, 0xC1, 0xE0, 0x78, 0x1C, + 0x07, 0x01, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x7F, + 0x00, 0x01, 0xFE, 0x00, 0x07, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xC0, + 0x01, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x00, + 0xFF, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFE, 0x00, 0x01, 0xFF, 0x80, + 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1E, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, + 0x00, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x07, + 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x7F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xF0, 0x01, + 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xF0, + 0x00, 0xFF, 0x80, 0x03, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x01, 0xFF, 0xF0, 0xFF, 0xFF, 0x8F, + 0xFF, 0xFC, 0xFF, 0xFF, 0xEF, 0xC0, 0x7E, 0xF8, 0x03, 0xFF, 0x80, 0x1F, + 0x70, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x3F, + 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x0F, + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0x00, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, + 0x3F, 0x80, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0xFF, 0x80, 0x3F, 0xF8, + 0x0F, 0xFF, 0x83, 0xE0, 0xF8, 0x78, 0x07, 0x1E, 0x00, 0xF3, 0x80, 0x0E, + 0x70, 0x01, 0xDE, 0x00, 0x3B, 0x80, 0x3F, 0x70, 0x1F, 0xEE, 0x07, 0xFD, + 0xC1, 0xFF, 0xB8, 0x7E, 0x77, 0x0F, 0x0E, 0xE3, 0xC1, 0xDC, 0x70, 0x3B, + 0x8E, 0x07, 0x71, 0xC0, 0xEE, 0x3C, 0x1D, 0xC3, 0xC3, 0xB8, 0x7F, 0xF7, + 0x07, 0xFF, 0xE0, 0x7F, 0xFC, 0x03, 0xFB, 0xC0, 0x00, 0x38, 0x00, 0x07, + 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x61, 0xF0, 0x3E, 0x1F, 0xFF, 0xC3, + 0xFF, 0xF0, 0x1F, 0xFC, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x7F, + 0xFE, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x7F, 0xFE, + 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x0F, 0xBE, 0x00, + 0x00, 0x7D, 0xF8, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x3E, 0x3E, 0x00, 0x03, + 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF0, 0x3F, 0x00, 0x0F, 0x80, + 0xF8, 0x00, 0x7F, 0xFF, 0xC0, 0x07, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xF8, + 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0xF8, 0x00, 0xF8, 0x0F, + 0x80, 0x03, 0xE1, 0xFF, 0x80, 0xFF, 0xDF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, + 0x7F, 0xFF, 0xFF, 0x83, 0xFF, 0xDF, 0xF8, 0x0F, 0xFC, 0x7F, 0xFF, 0xC0, + 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, + 0xFE, 0x07, 0xC0, 0x1F, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, + 0x00, 0x1F, 0x07, 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0x7F, 0xFF, 0xF0, + 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, + 0xFC, 0x1F, 0x00, 0x3F, 0x87, 0xC0, 0x03, 0xF1, 0xF0, 0x00, 0x7C, 0x7C, + 0x00, 0x1F, 0x1F, 0x00, 0x07, 0xC7, 0xC0, 0x03, 0xF7, 0xFF, 0xFF, 0xFB, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xE7, 0x01, 0xFF, 0xFF, 0xC1, 0xFF, + 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFE, 0x07, 0xF8, 0xFC, 0x01, 0xFC, 0xFC, + 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x0F, 0xBE, 0x00, 0x03, 0x9F, + 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, + 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x1F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x39, 0xFC, 0x00, + 0x7C, 0x7F, 0x80, 0xFF, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0x81, 0xFF, + 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, + 0xF0, 0x0F, 0xF0, 0xF8, 0x01, 0xF8, 0x7C, 0x00, 0x7E, 0x3E, 0x00, 0x1F, + 0x1F, 0x00, 0x0F, 0xCF, 0x80, 0x03, 0xE7, 0xC0, 0x01, 0xF3, 0xE0, 0x00, + 0xF9, 0xF0, 0x00, 0x7C, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x3E, 0x00, + 0x0F, 0x9F, 0x00, 0x07, 0xCF, 0x80, 0x07, 0xE7, 0xC0, 0x03, 0xE3, 0xE0, + 0x03, 0xF1, 0xF0, 0x07, 0xF1, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, 0xFF, + 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFF, + 0x7F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, + 0xF0, 0xF8, 0x00, 0xF8, 0x7C, 0x00, 0x7C, 0x3E, 0x0E, 0x3E, 0x1F, 0x0F, + 0x9F, 0x0F, 0x87, 0xC7, 0x07, 0xC3, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, + 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x00, 0x1F, + 0x0F, 0x80, 0x0F, 0x87, 0xC3, 0x87, 0xC1, 0xC3, 0xE3, 0xE0, 0x01, 0xF1, + 0xF0, 0x00, 0xF8, 0xF8, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, + 0xFF, 0xF8, 0xF8, 0x00, 0x7C, 0x7C, 0x00, 0x3E, 0x3E, 0x00, 0x1F, 0x1F, + 0x07, 0x0F, 0x8F, 0x87, 0xC3, 0x87, 0xC3, 0xE0, 0x03, 0xFF, 0xF0, 0x01, + 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x00, + 0x1F, 0x0F, 0x80, 0x0F, 0x87, 0xC0, 0x07, 0xC3, 0xE0, 0x03, 0xE0, 0xE0, + 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xFF, 0xFC, + 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, + 0x7F, 0x8E, 0x00, 0xFF, 0xF7, 0x81, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE1, + 0xFF, 0xFF, 0xF1, 0xFE, 0x03, 0xF8, 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0x3E, + 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x07, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x0F, + 0xFE, 0xF8, 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xC0, 0x01, 0xF3, 0xF0, 0x00, 0xF9, 0xFC, 0x00, 0x7C, 0x7F, + 0x80, 0xFE, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x80, + 0x7F, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x3F, 0xE1, 0xFF, 0x1F, 0xFC, 0xFF, + 0xE7, 0xFF, 0x3F, 0xF9, 0xFF, 0xCF, 0xFE, 0x3F, 0xE1, 0xFF, 0x07, 0xC0, + 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, + 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFE, + 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xF8, 0x1F, 0x00, + 0x3E, 0x07, 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, + 0x00, 0x3E, 0x07, 0xC0, 0x0F, 0x87, 0xFE, 0x1F, 0xFB, 0xFF, 0xCF, 0xFF, + 0xFF, 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xF7, 0xFE, 0x1F, 0xF8, 0x7F, 0xFF, + 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFC, 0x03, 0xE0, + 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x1F, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, + 0xE0, 0x3F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x07, + 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x07, 0xC0, 0xE0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, + 0x00, 0x7C, 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x1F, 0x83, + 0xF8, 0x3F, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, + 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xE0, 0xFF, 0x9F, 0xFE, + 0x3F, 0xFB, 0xFF, 0xC7, 0xFF, 0x7F, 0xF8, 0xFF, 0xE7, 0xFE, 0x0F, 0xF8, + 0x3E, 0x01, 0xF8, 0x07, 0xC0, 0xFE, 0x00, 0xF8, 0x3F, 0x80, 0x1F, 0x0F, + 0xE0, 0x03, 0xE3, 0xF8, 0x00, 0x7D, 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x01, + 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0xFE, 0x7F, + 0x00, 0x1F, 0x87, 0xF0, 0x03, 0xE0, 0x7E, 0x00, 0x7C, 0x07, 0xE0, 0x0F, + 0x80, 0x7E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x00, 0xF8, 0x1F, 0xF8, 0x1F, + 0xF7, 0xFF, 0x81, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFE, 0x07, 0xFD, 0xFF, + 0x80, 0x7F, 0x00, 0x7F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0x80, + 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x0F, 0x80, 0x0E, 0x07, 0xC0, 0x0F, 0x83, 0xE0, 0x07, 0xC1, + 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, 0x00, 0x7D, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xDF, 0xFF, 0xFF, 0xE0, 0x3F, 0x80, 0x03, 0xF8, 0xFF, 0x80, 0x0F, 0xF9, + 0xFF, 0x00, 0x1F, 0xF3, 0xFF, 0x00, 0x7F, 0xE3, 0xFE, 0x00, 0xFF, 0x83, + 0xFE, 0x03, 0xFE, 0x07, 0xFC, 0x07, 0xFC, 0x0F, 0xFC, 0x1F, 0xF8, 0x1F, + 0xF8, 0x3F, 0xF0, 0x3F, 0xF0, 0x7F, 0xE0, 0x7D, 0xF1, 0xF7, 0xC0, 0xFB, + 0xE3, 0xEF, 0x81, 0xF7, 0xEF, 0xDF, 0x03, 0xE7, 0xDF, 0x3E, 0x07, 0xCF, + 0xFE, 0x7C, 0x0F, 0x8F, 0xF8, 0xF8, 0x1F, 0x1F, 0xF1, 0xF0, 0x3E, 0x1F, + 0xE3, 0xE0, 0x7C, 0x3F, 0x87, 0xC0, 0xF8, 0x3F, 0x0F, 0x81, 0xF0, 0x00, + 0x1F, 0x03, 0xE0, 0x00, 0x3E, 0x1F, 0xF8, 0x03, 0xFF, 0x7F, 0xF8, 0x0F, + 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFD, 0xFF, 0x80, 0x3F, + 0xF0, 0x7F, 0x00, 0x7F, 0xEF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, + 0xFC, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE1, 0xFF, 0x00, 0xF8, 0x1F, 0xF0, + 0x0F, 0x81, 0xFF, 0x80, 0xF8, 0x1F, 0xFC, 0x0F, 0x81, 0xFF, 0xC0, 0xF8, + 0x1F, 0x7E, 0x0F, 0x81, 0xF3, 0xF0, 0xF8, 0x1F, 0x3F, 0x0F, 0x81, 0xF1, + 0xF8, 0xF8, 0x1F, 0x0F, 0xCF, 0x81, 0xF0, 0xFC, 0xF8, 0x1F, 0x07, 0xEF, + 0x81, 0xF0, 0x3F, 0xF8, 0x1F, 0x03, 0xFF, 0x81, 0xF0, 0x1F, 0xF8, 0x1F, + 0x00, 0xFF, 0x81, 0xF0, 0x0F, 0xF8, 0x7F, 0xE0, 0x7F, 0x8F, 0xFF, 0x03, + 0xF8, 0xFF, 0xF0, 0x3F, 0x8F, 0xFF, 0x01, 0xF8, 0x7F, 0xE0, 0x0F, 0x80, + 0x00, 0x3F, 0x80, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, + 0xFE, 0x00, 0xFF, 0xFF, 0xE0, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, 0x0F, 0xE1, + 0xF8, 0x00, 0xFC, 0x7E, 0x00, 0x0F, 0xCF, 0x80, 0x00, 0xFB, 0xF0, 0x00, + 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x07, 0xFE, + 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xFF, 0x00, 0x00, + 0x7F, 0xF0, 0x00, 0x1F, 0xBE, 0x00, 0x03, 0xE7, 0xE0, 0x00, 0xFC, 0x7E, + 0x00, 0x3F, 0x0F, 0xE0, 0x0F, 0xE0, 0xFF, 0x07, 0xF8, 0x0F, 0xFF, 0xFE, + 0x00, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xF8, 0x00, 0x03, + 0xF8, 0x00, 0x7F, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, + 0xFF, 0xFC, 0x7F, 0xFF, 0xFE, 0x1F, 0x00, 0xFE, 0x1F, 0x00, 0x3F, 0x1F, + 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, + 0x00, 0x3F, 0x1F, 0x00, 0x7E, 0x1F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x1F, + 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0x1F, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0xFF, + 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFC, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, + 0x00, 0xFF, 0xFF, 0xE0, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, 0x0F, 0xE1, 0xF8, + 0x00, 0xFC, 0x7E, 0x00, 0x0F, 0xCF, 0x80, 0x00, 0xFB, 0xF0, 0x00, 0x1F, + 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x07, 0xFE, 0x00, + 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0xFD, + 0xF0, 0x00, 0x1F, 0x3F, 0x00, 0x07, 0xE7, 0xF0, 0x01, 0xF8, 0x7F, 0x00, + 0x7F, 0x07, 0xF8, 0x3F, 0xC0, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x00, + 0x7F, 0xFF, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0xC0, 0x00, 0x0F, 0x00, + 0x00, 0x03, 0xFF, 0x87, 0x80, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x07, + 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x0F, 0x01, 0xF8, 0x00, 0x7F, 0xFF, + 0x80, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, + 0x7F, 0xFF, 0xFE, 0x00, 0xF8, 0x07, 0xE0, 0x0F, 0x80, 0x3F, 0x00, 0xF8, + 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x00, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x3F, + 0x00, 0xF8, 0x0F, 0xE0, 0x0F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xC0, 0x0F, + 0xFF, 0xF0, 0x00, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xF8, 0x3F, + 0x80, 0x0F, 0x81, 0xFC, 0x00, 0xF8, 0x0F, 0xE0, 0x0F, 0x80, 0x7E, 0x00, + 0xF8, 0x03, 0xF0, 0x7F, 0xF0, 0x1F, 0xEF, 0xFF, 0x81, 0xFF, 0xFF, 0xF8, + 0x0F, 0xFF, 0xFF, 0x80, 0x7F, 0x7F, 0xF0, 0x07, 0xE0, 0x01, 0xFC, 0x70, + 0x1F, 0xFD, 0xE0, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0xFC, + 0x0F, 0xE7, 0xE0, 0x1F, 0x9F, 0x00, 0x3E, 0x7C, 0x00, 0xF9, 0xF0, 0x01, + 0xC7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xE0, 0x00, + 0x0F, 0xDC, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0xC0, 0x0F, + 0xFF, 0xC0, 0xFE, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x1C, + 0xFF, 0xF0, 0x00, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xF0, 0x7F, + 0xE0, 0xF8, 0x3F, 0xF0, 0x7C, 0x1F, 0xF8, 0x3E, 0x0F, 0xFC, 0x1F, 0x07, + 0xFE, 0x0F, 0x83, 0xEE, 0x07, 0xC0, 0xE0, 0x03, 0xE0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, + 0xF0, 0x00, 0x0F, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x03, + 0xFF, 0xF8, 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, + 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE1, + 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, + 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, + 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, + 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, + 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x80, 0x1F, 0x80, 0xF8, 0x01, 0xF0, 0x0F, + 0xE0, 0x7F, 0x00, 0x7F, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, + 0x80, 0x00, 0xFF, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x7F, 0xE0, 0x1F, 0xFB, + 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0x7F, + 0xE0, 0x1F, 0xF8, 0x7C, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x7C, 0x03, 0xE0, + 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7E, 0x00, + 0xF8, 0x00, 0xF8, 0x07, 0xC0, 0x03, 0xF0, 0x1F, 0x00, 0x07, 0xC0, 0xF8, + 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x7E, 0x1F, 0x00, 0x00, 0xF8, 0x7C, 0x00, + 0x03, 0xF3, 0xF0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x1F, 0xBE, 0x00, 0x00, + 0x3F, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x07, + 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0x7F, 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE3, 0xE0, 0x00, 0x3C, 0x3E, + 0x0F, 0x83, 0xC3, 0xE1, 0xF8, 0x3C, 0x3E, 0x1F, 0x87, 0xC3, 0xE1, 0xFC, + 0x7C, 0x3E, 0x3F, 0xC7, 0xC1, 0xE3, 0xFC, 0x7C, 0x1F, 0x3F, 0xE7, 0xC1, + 0xF7, 0xFE, 0x78, 0x1F, 0x7F, 0xE7, 0x81, 0xF7, 0x9F, 0xF8, 0x1F, 0xF9, + 0xFF, 0x81, 0xFF, 0x9F, 0xF8, 0x0F, 0xF9, 0xFF, 0x80, 0xFF, 0x0F, 0xF8, + 0x0F, 0xF0, 0xFF, 0x80, 0xFF, 0x0F, 0xF0, 0x0F, 0xE0, 0x7F, 0x00, 0xFE, + 0x07, 0xF0, 0x0F, 0xE0, 0x7F, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x3F, + 0x00, 0x7F, 0x80, 0xFF, 0x3F, 0xF0, 0x7F, 0xEF, 0xFC, 0x1F, 0xFB, 0xFF, + 0x07, 0xFE, 0x7F, 0x80, 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xFC, 0x0F, 0x80, + 0x1F, 0x87, 0xC0, 0x03, 0xF3, 0xE0, 0x00, 0xFF, 0xF8, 0x00, 0x1F, 0xFC, + 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, + 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0xFC, 0xF8, 0x00, + 0x7E, 0x3F, 0x00, 0x3F, 0x07, 0xE0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x1F, + 0x07, 0xFC, 0x0F, 0xFB, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF8, + 0x7F, 0xF7, 0xFC, 0x0F, 0xF8, 0x7F, 0x80, 0x7F, 0xBF, 0xF0, 0x3F, 0xFF, + 0xFC, 0x0F, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0x80, 0x7F, 0x87, 0xE0, 0x1F, + 0x80, 0xFC, 0x07, 0xC0, 0x1F, 0x03, 0xE0, 0x03, 0xE1, 0xF8, 0x00, 0xFC, + 0x7C, 0x00, 0x1F, 0xBE, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xC0, 0x00, + 0x1F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0xFF, 0x00, 0x0F, 0xFF, 0xE0, 0x03, + 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x7F, 0xFF, 0xF3, + 0xFF, 0xFF, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0x3E, 0x03, + 0xF1, 0xF0, 0x1F, 0x8F, 0x81, 0xF8, 0x7C, 0x1F, 0x83, 0xE1, 0xF8, 0x0E, + 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, + 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x70, 0x7E, 0x07, 0xC7, 0xE0, 0x3E, 0x7E, + 0x01, 0xF7, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xBF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xBE, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, + 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, + 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, + 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x60, 0x00, 0x0F, 0x00, 0x00, + 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, + 0x03, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, + 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x03, + 0xE0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, + 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, + 0x00, 0x1F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x07, + 0xC0, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, + 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, + 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, + 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, + 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFF, 0x7F, 0xC0, 0x00, 0x40, 0x00, 0x06, 0x00, 0x00, 0xF0, + 0x00, 0x1F, 0x80, 0x03, 0xFC, 0x00, 0x7F, 0xE0, 0x0F, 0xFF, 0x00, 0xFF, + 0xF8, 0x1F, 0x9F, 0x83, 0xF0, 0xFC, 0x7E, 0x07, 0xEF, 0xC0, 0x3F, 0xF8, + 0x01, 0xFF, 0x80, 0x0F, 0x70, 0x00, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xE0, 0x78, 0x3E, 0x0F, 0xC3, 0xF0, 0x7C, 0x1E, 0x06, 0x01, 0xFF, + 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, + 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x01, 0xFF, + 0xF8, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x7F, 0xFF, + 0xF8, 0x7F, 0x00, 0xF8, 0xFC, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x03, + 0xF8, 0xFC, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, + 0xFF, 0x1F, 0xFE, 0xFE, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xE0, + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x0F, + 0xE0, 0x03, 0xEF, 0xFF, 0x00, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0xF8, 0x3F, 0xE0, 0x7F, 0x07, 0xF0, 0x03, 0xF0, 0xFC, 0x00, + 0x3E, 0x1F, 0x80, 0x07, 0xE3, 0xE0, 0x00, 0x7C, 0x7C, 0x00, 0x0F, 0x8F, + 0x80, 0x01, 0xF1, 0xF0, 0x00, 0x3E, 0x3E, 0x00, 0x07, 0xC7, 0xE0, 0x01, + 0xF8, 0xFC, 0x00, 0x3E, 0x1F, 0xC0, 0x0F, 0xCF, 0xFE, 0x07, 0xF3, 0xFF, + 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xE0, 0xFE, 0x7F, 0xF0, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFF, 0x18, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, + 0xFC, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0x81, 0xFC, 0x7E, 0x00, + 0x7C, 0x7C, 0x00, 0x7C, 0xFC, 0x00, 0x3C, 0xF8, 0x00, 0x38, 0xF8, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x7C, 0x00, 0x06, 0x7E, 0x00, 0x1F, 0x7F, 0x80, 0x7F, 0x3F, 0xFF, + 0xFF, 0x1F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x00, 0xFF, + 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0xF8, 0x00, 0xFE, 0x3E, 0x00, 0xFF, 0xEF, 0x80, 0xFF, 0xFF, + 0xE0, 0x7F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFE, 0x1F, 0xE0, 0xFF, 0x87, 0xE0, + 0x0F, 0xE1, 0xF0, 0x01, 0xF8, 0xFC, 0x00, 0x7E, 0x3E, 0x00, 0x0F, 0x8F, + 0x80, 0x03, 0xE3, 0xE0, 0x00, 0xF8, 0xF8, 0x00, 0x3E, 0x3E, 0x00, 0x0F, + 0x8F, 0xC0, 0x07, 0xE1, 0xF0, 0x01, 0xF8, 0x7E, 0x00, 0xFE, 0x0F, 0xE0, + 0x7F, 0xE3, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xC0, + 0xFF, 0xEF, 0xE0, 0x0F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0xC0, + 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x7F, 0x81, 0xFC, + 0x7E, 0x00, 0x7E, 0xFC, 0x00, 0x3E, 0xF8, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0x80, 0x7E, + 0x3F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, + 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, + 0xFF, 0xFF, 0x07, 0xFF, 0xF8, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x01, 0xF0, + 0x00, 0x07, 0xC0, 0x01, 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, + 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, + 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, + 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x01, + 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xE1, 0xFF, + 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xFF, 0xBF, 0x83, 0xFF, 0xFF, 0xE3, + 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFB, 0xFC, 0x3F, 0xF9, 0xF8, 0x07, 0xF0, + 0xF8, 0x01, 0xF8, 0xFC, 0x00, 0xFC, 0x7C, 0x00, 0x3E, 0x3E, 0x00, 0x1F, + 0x1F, 0x00, 0x0F, 0x8F, 0x80, 0x07, 0xC7, 0xC0, 0x03, 0xE3, 0xF0, 0x03, + 0xF0, 0xF8, 0x01, 0xF8, 0x7E, 0x01, 0xFC, 0x3F, 0xC3, 0xFE, 0x0F, 0xFF, + 0xFF, 0x03, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xC0, 0x3F, 0xFB, 0xE0, 0x07, + 0xF1, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x00, + 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFE, 0x00, + 0x0F, 0xFC, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, + 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x0F, 0xC0, 0x07, 0xCF, 0xFC, 0x01, + 0xF7, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x07, 0xFC, 0x1F, + 0x81, 0xFC, 0x03, 0xE0, 0x7E, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, 0xC0, + 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, + 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, + 0x1F, 0xF0, 0x3F, 0xEF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, + 0xFF, 0xDF, 0xF0, 0x3F, 0xE0, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, + 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, + 0x01, 0xFF, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, + 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, + 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7F, 0xFF, 0xF7, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0x00, 0x00, 0x7C, + 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, + 0xFF, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, + 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, + 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x3F, 0xBF, 0xFF, 0xBF, 0xFF, + 0x9F, 0xFF, 0xCF, 0xFF, 0x83, 0xFF, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x80, + 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, + 0x87, 0xFC, 0x07, 0xC7, 0xFF, 0x03, 0xE3, 0xFF, 0x81, 0xF1, 0xFF, 0xC0, + 0xF8, 0x7F, 0xC0, 0x7C, 0xFE, 0x00, 0x3E, 0xFE, 0x00, 0x1F, 0xFE, 0x00, + 0x0F, 0xFE, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, 0xE0, + 0x00, 0xFF, 0xF8, 0x00, 0x7C, 0xFE, 0x00, 0x3E, 0x3F, 0x80, 0x1F, 0x0F, + 0xE0, 0x3F, 0x81, 0xFF, 0xBF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, + 0x7F, 0xFB, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0xFE, + 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, + 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, + 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, + 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, + 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x03, 0xFF, + 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xF8, + 0x00, 0x3C, 0x1F, 0x00, 0xFD, 0xFC, 0xFF, 0x07, 0xFF, 0xFF, 0xFE, 0x1F, + 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xF0, 0xFF, 0x1F, 0x87, 0xC1, 0xF8, + 0x7E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, + 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, + 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, + 0x1F, 0x07, 0xC1, 0xF1, 0xFE, 0x1F, 0x87, 0xEF, 0xFC, 0x7F, 0x1F, 0xFF, + 0xF1, 0xFC, 0x7F, 0xFF, 0xC7, 0xF1, 0xFD, 0xFE, 0x1F, 0x87, 0xE0, 0x00, + 0x1F, 0x80, 0x1F, 0x9F, 0xF8, 0x1F, 0xDF, 0xFE, 0x0F, 0xFF, 0xFF, 0x87, + 0xFF, 0xFF, 0xC1, 0xFF, 0x07, 0xF0, 0x7F, 0x01, 0xF8, 0x3F, 0x00, 0x7C, + 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, 0x83, 0xE0, 0x07, + 0xC1, 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, 0x00, + 0x7C, 0x1F, 0x00, 0x3E, 0x3F, 0xE0, 0x7F, 0xBF, 0xF8, 0x7F, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFE, 0x1F, 0xFB, 0xFE, 0x07, 0xF8, 0x00, 0x7F, 0x00, 0x01, + 0xFF, 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xC1, + 0xFE, 0x0F, 0xF1, 0xFC, 0x01, 0xFC, 0xFC, 0x00, 0x7E, 0xFC, 0x00, 0x1F, + 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, + 0xFF, 0xC0, 0x00, 0x7F, 0xF0, 0x00, 0x7E, 0xF8, 0x00, 0x7E, 0x7F, 0x00, + 0x7F, 0x1F, 0xC0, 0xFF, 0x07, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0x80, 0x7F, + 0xFF, 0x00, 0x1F, 0xFF, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x07, 0xE0, 0x03, + 0xF9, 0xFF, 0xC0, 0x7F, 0xBF, 0xFE, 0x07, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, + 0xFF, 0xC3, 0xFF, 0x83, 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0xFC, 0x00, 0x7E, + 0x0F, 0xC0, 0x03, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, + 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x3F, 0x0F, 0xC0, 0x03, + 0xF0, 0xFE, 0x00, 0x7E, 0x0F, 0xF8, 0x1F, 0xE0, 0xFF, 0xFF, 0xFC, 0x0F, + 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0x0F, 0x9F, 0xFC, 0x00, 0xF8, 0x7F, + 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, + 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x7E, 0x00, + 0x00, 0x3F, 0xF9, 0xFC, 0x0F, 0xFF, 0xDF, 0xE1, 0xFF, 0xFF, 0xFE, 0x3F, + 0xFF, 0xFF, 0xE3, 0xF8, 0x1F, 0xFC, 0x7F, 0x00, 0x7F, 0x07, 0xC0, 0x03, + 0xF0, 0xFC, 0x00, 0x3F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, + 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0xC0, 0x01, 0xF0, 0xFC, 0x00, + 0x3F, 0x07, 0xE0, 0x07, 0xF0, 0x7F, 0x81, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, + 0x1F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0x9F, 0x00, 0x0F, + 0xE1, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0x00, + 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x01, + 0xF0, 0x3F, 0xC7, 0xFC, 0x7F, 0xCF, 0xFE, 0x7F, 0xDF, 0xFF, 0x7F, 0xFF, + 0xFF, 0x3F, 0xFF, 0x0E, 0x07, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x07, 0xF0, + 0x00, 0x07, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, + 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, + 0x00, 0x7F, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, + 0xE0, 0x7F, 0xFF, 0xC0, 0x03, 0xFC, 0x60, 0x7F, 0xFF, 0x87, 0xFF, 0xFC, + 0x7F, 0xFF, 0xE7, 0xFF, 0xFF, 0x3F, 0x01, 0xF9, 0xF0, 0x07, 0xCF, 0xC0, + 0x1C, 0x7F, 0xF0, 0x03, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, + 0x3F, 0xFF, 0x00, 0x0F, 0xFD, 0xC0, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, + 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xEF, 0xFF, 0xFE, 0x3F, + 0xFF, 0xC0, 0x07, 0xF8, 0x00, 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0xFF, + 0xF8, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, + 0x80, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, + 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x03, 0x83, 0xF0, 0x1F, 0x87, + 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x03, + 0xFC, 0x00, 0x7F, 0x01, 0xFE, 0x7F, 0x81, 0xFF, 0x3F, 0xC0, 0xFF, 0x9F, + 0xE0, 0x7F, 0xC7, 0xF0, 0x1F, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, + 0x3E, 0x00, 0x7C, 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, + 0x83, 0xE0, 0x07, 0xC1, 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x01, + 0xF8, 0x3F, 0x01, 0xFC, 0x1F, 0xC1, 0xFF, 0x07, 0xFF, 0xFF, 0xC3, 0xFF, + 0xFF, 0xE0, 0xFF, 0xF7, 0xF0, 0x3F, 0xF3, 0xF0, 0x03, 0xF0, 0x00, 0x7F, + 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, + 0xFF, 0x7F, 0xE0, 0x7F, 0xE0, 0xF8, 0x01, 0xF0, 0x0F, 0xC0, 0x1F, 0x00, + 0x7C, 0x03, 0xE0, 0x07, 0xE0, 0x3E, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xF0, + 0x7C, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF8, 0xF8, 0x00, 0x0F, 0x9F, 0x00, + 0x00, 0xFD, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x03, + 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0x80, + 0x00, 0x7F, 0x80, 0x1F, 0xEF, 0xFC, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, + 0xFC, 0x03, 0xFF, 0x7F, 0x80, 0x1F, 0xE1, 0xF0, 0xF8, 0x7C, 0x1F, 0x1F, + 0x87, 0xC1, 0xF1, 0xF8, 0xFC, 0x1F, 0x1F, 0xCF, 0x80, 0xFB, 0xFC, 0xF8, + 0x0F, 0xBF, 0xDF, 0x80, 0xFB, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, + 0xDF, 0xF0, 0x07, 0xF9, 0xFF, 0x00, 0x7F, 0x9F, 0xE0, 0x07, 0xF0, 0xFE, + 0x00, 0x3F, 0x0F, 0xE0, 0x03, 0xF0, 0x7E, 0x00, 0x3E, 0x07, 0xC0, 0x03, + 0xE0, 0x3C, 0x00, 0x3F, 0xC0, 0xFF, 0x1F, 0xF8, 0x7F, 0xE7, 0xFE, 0x1F, + 0xF9, 0xFF, 0x87, 0xFE, 0x3F, 0xC0, 0xFF, 0x03, 0xF8, 0x7F, 0x00, 0x7F, + 0x3F, 0x80, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, + 0x07, 0xF8, 0x00, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0xE0, 0x01, 0xFF, 0xFE, + 0x00, 0xFE, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x7F, 0xC0, 0xFF, 0xBF, 0xF8, + 0x7F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0x7F, 0xC0, 0xFF, 0x80, + 0x7F, 0x80, 0x7F, 0xBF, 0xF0, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x03, + 0xFF, 0x7F, 0x80, 0x7F, 0x8F, 0xC0, 0x07, 0x81, 0xF0, 0x03, 0xE0, 0x7E, + 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xF0, 0x3E, 0x00, 0x7C, 0x0F, 0x80, + 0x0F, 0x87, 0xC0, 0x03, 0xE1, 0xF0, 0x00, 0x7C, 0xF8, 0x00, 0x1F, 0xFE, + 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x80, 0x00, + 0x07, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0xFF, 0x80, + 0x0F, 0xFF, 0xF0, 0x03, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, + 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0x3F, 0xBE, 0x0F, 0xC3, 0x83, 0xF0, 0x00, 0xFC, 0x00, + 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, + 0xC0, 0x3B, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x78, 0x03, 0xF0, 0x1F, 0xC0, 0xFF, 0x07, + 0xF8, 0x1F, 0x80, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, + 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x0F, 0x81, 0xFE, 0x0F, + 0xF0, 0x3F, 0x80, 0xFF, 0x01, 0xFE, 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, + 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF8, + 0x07, 0xF8, 0x0F, 0xF0, 0x3F, 0xC0, 0x7F, 0x00, 0x78, 0x77, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE0, 0x78, 0x03, 0xF0, 0x0F, + 0xE0, 0x3F, 0xC0, 0x7F, 0x00, 0x7E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, + 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, + 0x07, 0xC0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x03, 0xFC, 0x1F, 0xE0, 0xFC, + 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, + 0x00, 0xF8, 0x07, 0xE0, 0x7F, 0x83, 0xFC, 0x0F, 0xF0, 0x3F, 0x80, 0x78, + 0x00, 0x07, 0x80, 0x00, 0x7F, 0x80, 0x03, 0xFF, 0x03, 0x9F, 0xFE, 0x1F, + 0xFF, 0xFC, 0xFF, 0xF3, 0xFF, 0xFF, 0x87, 0xFF, 0x9C, 0x0F, 0xFC, 0x00, + 0x0F, 0xE0, 0x00, 0x1F, 0x00 }; + +const GFXglyph FreeMonoBold24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' + { 0, 7, 31, 28, 10, -29 }, // 0x21 '!' + { 28, 15, 14, 28, 6, -28 }, // 0x22 '"' + { 55, 22, 34, 28, 3, -30 }, // 0x23 '#' + { 149, 19, 38, 28, 5, -31 }, // 0x24 '$' + { 240, 21, 30, 28, 4, -28 }, // 0x25 '%' + { 319, 21, 28, 28, 4, -26 }, // 0x26 '&' + { 393, 6, 14, 28, 11, -28 }, // 0x27 ''' + { 404, 10, 37, 28, 12, -29 }, // 0x28 '(' + { 451, 10, 37, 28, 6, -29 }, // 0x29 ')' + { 498, 21, 19, 28, 4, -28 }, // 0x2A '*' + { 548, 23, 26, 28, 3, -25 }, // 0x2B '+' + { 623, 9, 14, 28, 7, -6 }, // 0x2C ',' + { 639, 24, 5, 28, 2, -15 }, // 0x2D '-' + { 654, 7, 6, 28, 11, -4 }, // 0x2E '.' + { 660, 20, 38, 28, 4, -32 }, // 0x2F '/' + { 755, 21, 31, 28, 4, -29 }, // 0x30 '0' + { 837, 20, 29, 28, 4, -28 }, // 0x31 '1' + { 910, 21, 30, 28, 3, -29 }, // 0x32 '2' + { 989, 21, 31, 28, 4, -29 }, // 0x33 '3' + { 1071, 20, 28, 28, 4, -27 }, // 0x34 '4' + { 1141, 21, 31, 28, 4, -29 }, // 0x35 '5' + { 1223, 20, 31, 28, 5, -29 }, // 0x36 '6' + { 1301, 20, 30, 28, 4, -29 }, // 0x37 '7' + { 1376, 20, 31, 28, 4, -29 }, // 0x38 '8' + { 1454, 20, 31, 28, 5, -29 }, // 0x39 '9' + { 1532, 7, 22, 28, 11, -20 }, // 0x3A ':' + { 1552, 10, 28, 28, 6, -20 }, // 0x3B ';' + { 1587, 24, 21, 28, 2, -23 }, // 0x3C '<' + { 1650, 24, 14, 28, 2, -19 }, // 0x3D '=' + { 1692, 23, 22, 28, 3, -23 }, // 0x3E '>' + { 1756, 20, 29, 28, 5, -27 }, // 0x3F '?' + { 1829, 19, 36, 28, 4, -28 }, // 0x40 '@' + { 1915, 29, 27, 28, -1, -26 }, // 0x41 'A' + { 2013, 26, 27, 28, 1, -26 }, // 0x42 'B' + { 2101, 25, 29, 28, 2, -27 }, // 0x43 'C' + { 2192, 25, 27, 28, 1, -26 }, // 0x44 'D' + { 2277, 25, 27, 28, 1, -26 }, // 0x45 'E' + { 2362, 25, 27, 28, 1, -26 }, // 0x46 'F' + { 2447, 25, 29, 28, 2, -27 }, // 0x47 'G' + { 2538, 26, 27, 28, 1, -26 }, // 0x48 'H' + { 2626, 19, 27, 28, 5, -26 }, // 0x49 'I' + { 2691, 25, 28, 28, 3, -26 }, // 0x4A 'J' + { 2779, 27, 27, 28, 1, -26 }, // 0x4B 'K' + { 2871, 25, 27, 28, 2, -26 }, // 0x4C 'L' + { 2956, 31, 27, 28, -1, -26 }, // 0x4D 'M' + { 3061, 28, 27, 28, 0, -26 }, // 0x4E 'N' + { 3156, 27, 29, 28, 1, -27 }, // 0x4F 'O' + { 3254, 24, 27, 28, 1, -26 }, // 0x50 'P' + { 3335, 27, 35, 28, 1, -27 }, // 0x51 'Q' + { 3454, 28, 27, 28, 0, -26 }, // 0x52 'R' + { 3549, 22, 29, 28, 3, -27 }, // 0x53 'S' + { 3629, 25, 27, 28, 2, -26 }, // 0x54 'T' + { 3714, 28, 28, 28, 0, -26 }, // 0x55 'U' + { 3812, 30, 27, 28, -1, -26 }, // 0x56 'V' + { 3914, 28, 27, 28, 0, -26 }, // 0x57 'W' + { 4009, 26, 27, 28, 1, -26 }, // 0x58 'X' + { 4097, 26, 27, 28, 1, -26 }, // 0x59 'Y' + { 4185, 21, 27, 28, 4, -26 }, // 0x5A 'Z' + { 4256, 10, 37, 28, 12, -29 }, // 0x5B '[' + { 4303, 20, 38, 28, 4, -32 }, // 0x5C '\' + { 4398, 10, 37, 28, 6, -29 }, // 0x5D ']' + { 4445, 20, 15, 28, 4, -29 }, // 0x5E '^' + { 4483, 28, 5, 28, 0, 5 }, // 0x5F '_' + { 4501, 9, 8, 28, 8, -30 }, // 0x60 '`' + { 4510, 24, 23, 28, 2, -21 }, // 0x61 'a' + { 4579, 27, 31, 28, 0, -29 }, // 0x62 'b' + { 4684, 24, 23, 28, 3, -21 }, // 0x63 'c' + { 4753, 26, 31, 28, 2, -29 }, // 0x64 'd' + { 4854, 24, 23, 28, 2, -21 }, // 0x65 'e' + { 4923, 22, 30, 28, 4, -29 }, // 0x66 'f' + { 5006, 25, 31, 28, 2, -21 }, // 0x67 'g' + { 5103, 26, 30, 28, 1, -29 }, // 0x68 'h' + { 5201, 21, 29, 28, 4, -28 }, // 0x69 'i' + { 5278, 17, 38, 28, 5, -28 }, // 0x6A 'j' + { 5359, 25, 30, 28, 2, -29 }, // 0x6B 'k' + { 5453, 21, 30, 28, 4, -29 }, // 0x6C 'l' + { 5532, 30, 22, 28, -1, -21 }, // 0x6D 'm' + { 5615, 25, 22, 28, 1, -21 }, // 0x6E 'n' + { 5684, 25, 23, 28, 2, -21 }, // 0x6F 'o' + { 5756, 28, 31, 28, 0, -21 }, // 0x70 'p' + { 5865, 28, 31, 28, 1, -21 }, // 0x71 'q' + { 5974, 24, 22, 28, 3, -21 }, // 0x72 'r' + { 6040, 21, 23, 28, 4, -21 }, // 0x73 's' + { 6101, 23, 28, 28, 1, -26 }, // 0x74 't' + { 6182, 25, 22, 28, 1, -20 }, // 0x75 'u' + { 6251, 28, 21, 28, 0, -20 }, // 0x76 'v' + { 6325, 28, 21, 28, 0, -20 }, // 0x77 'w' + { 6399, 26, 21, 28, 1, -20 }, // 0x78 'x' + { 6468, 26, 30, 28, 1, -20 }, // 0x79 'y' + { 6566, 19, 21, 28, 5, -20 }, // 0x7A 'z' + { 6616, 14, 37, 28, 7, -29 }, // 0x7B '{' + { 6681, 5, 36, 28, 12, -28 }, // 0x7C '|' + { 6704, 14, 37, 28, 8, -29 }, // 0x7D '}' + { 6769, 22, 10, 28, 3, -17 } }; // 0x7E '~' + +const GFXfont FreeMonoBold24pt7b PROGMEM = { + (uint8_t *)FreeMonoBold24pt7bBitmaps, + (GFXglyph *)FreeMonoBold24pt7bGlyphs, + 0x20, 0x7E, 47 }; + +// Approx. 7469 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h new file mode 100644 index 0000000..75b1766 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h @@ -0,0 +1,189 @@ +const uint8_t FreeMonoBold9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xD2, 0x1F, 0x80, 0xEC, 0x89, 0x12, 0x24, 0x40, 0x36, 0x36, + 0x36, 0x7F, 0x7F, 0x36, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x00, 0x18, 0xFF, + 0xFE, 0x3C, 0x1F, 0x1F, 0x83, 0x46, 0x8D, 0xF0, 0xC1, 0x83, 0x00, 0x61, + 0x22, 0x44, 0x86, 0x67, 0x37, 0x11, 0x22, 0x4C, 0x70, 0x3C, 0x7E, 0x60, + 0x60, 0x30, 0x7B, 0xDF, 0xCE, 0xFF, 0x7F, 0xC9, 0x24, 0x37, 0x66, 0xCC, + 0xCC, 0xCC, 0x66, 0x31, 0xCE, 0x66, 0x33, 0x33, 0x33, 0x66, 0xC8, 0x18, + 0x18, 0xFF, 0xFF, 0x3C, 0x3C, 0x66, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, + 0x18, 0x18, 0x18, 0x6B, 0x48, 0xFF, 0xFF, 0xC0, 0xF0, 0x02, 0x0C, 0x18, + 0x60, 0xC3, 0x06, 0x0C, 0x30, 0x61, 0x83, 0x0C, 0x18, 0x20, 0x00, 0x38, + 0xFB, 0xBE, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0xDD, 0xF1, 0xC0, 0x38, 0xF3, + 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xFD, 0xF8, 0x3C, 0xFE, 0xC7, 0x03, + 0x03, 0x06, 0x0C, 0x18, 0x70, 0xE3, 0xFF, 0xFF, 0x7C, 0xFE, 0x03, 0x03, + 0x03, 0x1E, 0x1E, 0x07, 0x03, 0x03, 0xFE, 0x7C, 0x1C, 0x38, 0xB1, 0x64, + 0xD9, 0xBF, 0xFF, 0x3E, 0x7C, 0x7E, 0x3F, 0x18, 0x0F, 0xC7, 0xF3, 0x1C, + 0x06, 0x03, 0xC3, 0xFF, 0x9F, 0x80, 0x0F, 0x3F, 0x30, 0x60, 0x60, 0xDC, + 0xFE, 0xE3, 0xC3, 0x63, 0x7E, 0x3C, 0xFF, 0xFF, 0xC3, 0x03, 0x06, 0x06, + 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x38, 0xFB, 0x1E, 0x3C, 0x6F, 0x9F, 0x63, + 0xC7, 0x8F, 0xF1, 0xC0, 0x3C, 0x7E, 0xE6, 0xC3, 0xC3, 0xE7, 0x7F, 0x3B, + 0x06, 0x0E, 0xFC, 0xF0, 0xF0, 0x0F, 0x6C, 0x00, 0x1A, 0xD2, 0x00, 0x01, + 0x83, 0x87, 0x0E, 0x0F, 0x80, 0xE0, 0x1C, 0x03, 0xFF, 0xFF, 0xC0, 0x00, + 0x0F, 0xFF, 0xFC, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0xF9, 0xE3, 0xC1, 0x80, + 0x7C, 0xFE, 0xC7, 0x03, 0x0E, 0x1C, 0x00, 0x00, 0x00, 0x30, 0x30, 0x1E, + 0x1F, 0x1C, 0xDC, 0x6C, 0x76, 0x7B, 0x6D, 0xB6, 0xDB, 0x6F, 0xF3, 0xFC, + 0x06, 0x33, 0xF8, 0x78, 0x3C, 0x07, 0xC0, 0x38, 0x05, 0x81, 0xB0, 0x36, + 0x0F, 0xE1, 0xFC, 0x71, 0xDF, 0x7F, 0xEF, 0x80, 0xFF, 0x3F, 0xE6, 0x19, + 0x86, 0x7F, 0x1F, 0xE6, 0x1D, 0x83, 0x60, 0xFF, 0xFF, 0xF0, 0x1F, 0xBF, + 0xD8, 0xF8, 0x3C, 0x06, 0x03, 0x01, 0x80, 0x61, 0xBF, 0xC7, 0xC0, 0xFE, + 0x3F, 0xE6, 0x19, 0x83, 0x60, 0xD8, 0x36, 0x0D, 0x83, 0x61, 0xBF, 0xEF, + 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC3, 0x61, 0xFF, + 0xFF, 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC0, 0x60, + 0x7C, 0x3E, 0x00, 0x1F, 0x9F, 0xE6, 0x1B, 0x06, 0xC0, 0x30, 0x0C, 0x7F, + 0x1F, 0xE1, 0x9F, 0xE3, 0xF0, 0xF7, 0xFB, 0xD8, 0xCC, 0x66, 0x33, 0xF9, + 0xFC, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0xFF, 0xF3, 0x0C, 0x30, 0xC3, 0x0C, + 0x33, 0xFF, 0xC0, 0x1F, 0xC7, 0xF0, 0x30, 0x0C, 0x03, 0x00, 0xCC, 0x33, + 0x0C, 0xC7, 0x3F, 0x87, 0xC0, 0xF7, 0xBD, 0xE6, 0x61, 0xB0, 0x78, 0x1F, + 0x06, 0xE1, 0x98, 0x63, 0x3C, 0xFF, 0x3C, 0xFC, 0x7E, 0x0C, 0x06, 0x03, + 0x01, 0x80, 0xC6, 0x63, 0x31, 0xFF, 0xFF, 0xE0, 0xE0, 0xFE, 0x3D, 0xC7, + 0x3D, 0xE7, 0xBC, 0xD7, 0x9B, 0xB3, 0x76, 0x60, 0xDE, 0x3F, 0xC7, 0x80, + 0xE1, 0xFE, 0x3D, 0xE3, 0x3C, 0x66, 0xCC, 0xDD, 0x99, 0xB3, 0x1E, 0x63, + 0xDE, 0x3B, 0xC3, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x7C, 0x07, 0x80, + 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, 0x00, 0xFE, 0x7F, 0x98, 0x6C, + 0x36, 0x1B, 0xF9, 0xF8, 0xC0, 0x60, 0x7C, 0x3E, 0x00, 0x1F, 0x07, 0xF1, + 0xC7, 0x70, 0x7C, 0x07, 0x80, 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, + 0x0C, 0x33, 0xFE, 0x7F, 0x80, 0xFC, 0x7F, 0x18, 0xCC, 0x66, 0x73, 0xF1, + 0xF0, 0xCC, 0x63, 0x7D, 0xFE, 0x60, 0x3F, 0xBF, 0xF0, 0x78, 0x0F, 0x03, + 0xF8, 0x3F, 0x83, 0xC3, 0xFF, 0xBF, 0x80, 0xFF, 0xFF, 0xF6, 0x7B, 0x3D, + 0x98, 0xC0, 0x60, 0x30, 0x18, 0x3F, 0x1F, 0x80, 0xF1, 0xFE, 0x3D, 0x83, + 0x30, 0x66, 0x0C, 0xC1, 0x98, 0x33, 0x06, 0x60, 0xC7, 0xF0, 0x7C, 0x00, + 0xFB, 0xFF, 0x7D, 0xC3, 0x18, 0xC3, 0x18, 0x36, 0x06, 0xC0, 0x50, 0x0E, + 0x01, 0xC0, 0x10, 0x00, 0xFB, 0xFE, 0xF6, 0x0D, 0x93, 0x6E, 0xDB, 0xB7, + 0xAD, 0xEE, 0x7B, 0x8E, 0xE3, 0x18, 0xF3, 0xFC, 0xF7, 0x38, 0xFC, 0x1E, + 0x03, 0x01, 0xE0, 0xCC, 0x73, 0xBC, 0xFF, 0x3C, 0xF3, 0xFC, 0xF7, 0x38, + 0xCC, 0x1E, 0x07, 0x80, 0xC0, 0x30, 0x0C, 0x0F, 0xC3, 0xF0, 0xFE, 0xFE, + 0xC6, 0xCC, 0x18, 0x18, 0x30, 0x63, 0xC3, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xFF, 0x01, 0x03, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, + 0x30, 0x30, 0x60, 0x60, 0xC0, 0x80, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, + 0xFF, 0x10, 0x71, 0xE3, 0x6C, 0x70, 0x40, 0xFF, 0xFF, 0xFC, 0x88, 0x80, + 0x7E, 0x3F, 0x8F, 0xCF, 0xEE, 0x36, 0x1B, 0xFE, 0xFF, 0xE0, 0x38, 0x06, + 0x01, 0xBC, 0x7F, 0x9C, 0x76, 0x0D, 0x83, 0x71, 0xFF, 0xEE, 0xF0, 0x3F, + 0xBF, 0xF8, 0x78, 0x3C, 0x07, 0x05, 0xFE, 0x7E, 0x03, 0x80, 0xE0, 0x18, + 0xF6, 0x7F, 0xB8, 0xEC, 0x1B, 0x06, 0xE3, 0x9F, 0xF3, 0xFC, 0x3E, 0x3F, + 0xB0, 0xFF, 0xFF, 0xFE, 0x01, 0xFE, 0x7E, 0x1F, 0x3F, 0x30, 0x7E, 0x7E, + 0x30, 0x30, 0x30, 0x30, 0xFE, 0xFE, 0x3F, 0xBF, 0xF9, 0xD8, 0x6C, 0x37, + 0x39, 0xFC, 0x76, 0x03, 0x01, 0x8F, 0xC7, 0xC0, 0xE0, 0x70, 0x18, 0x0D, + 0xC7, 0xF3, 0x99, 0x8C, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0x18, 0x18, 0x00, + 0x78, 0x78, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x60, 0x3F, 0xFC, + 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0F, 0xFF, 0x80, 0xE0, 0x70, 0x18, 0x0D, + 0xE6, 0xF3, 0xE1, 0xE0, 0xF8, 0x6E, 0x73, 0xF9, 0xE0, 0x78, 0x78, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFD, 0x9F, 0xF9, 0x9B, + 0x33, 0x66, 0x6C, 0xCD, 0xBD, 0xFF, 0xBF, 0xEE, 0x7F, 0x98, 0xCC, 0x66, + 0x33, 0x1B, 0xDF, 0xEF, 0x3E, 0x3F, 0xB8, 0xF8, 0x3C, 0x1F, 0x1D, 0xFC, + 0x7C, 0xEF, 0x1F, 0xF9, 0xC3, 0xB0, 0x36, 0x06, 0xE1, 0xDF, 0xF3, 0x78, + 0x60, 0x0C, 0x03, 0xE0, 0x7C, 0x00, 0x1E, 0xEF, 0xFF, 0x87, 0x60, 0x6C, + 0x0D, 0xC3, 0x9F, 0xF0, 0xF6, 0x00, 0xC0, 0x18, 0x0F, 0x81, 0xF0, 0x77, + 0xBF, 0xCF, 0x06, 0x03, 0x01, 0x83, 0xF9, 0xFC, 0x3F, 0xFF, 0xC3, 0xFC, + 0x3F, 0xC3, 0xFF, 0xFC, 0x60, 0x60, 0x60, 0xFE, 0xFE, 0x60, 0x60, 0x60, + 0x61, 0x7F, 0x3E, 0xE7, 0x73, 0x98, 0xCC, 0x66, 0x33, 0x19, 0xFE, 0x7F, + 0xFB, 0xFF, 0x7C, 0xC6, 0x18, 0xC1, 0xB0, 0x36, 0x03, 0x80, 0x70, 0xF1, + 0xFE, 0x3D, 0xBB, 0x37, 0x63, 0xF8, 0x77, 0x0E, 0xE1, 0x8C, 0xF7, 0xFB, + 0xCD, 0x83, 0x83, 0xC3, 0xBB, 0xDF, 0xEF, 0xF3, 0xFC, 0xF6, 0x18, 0xCC, + 0x33, 0x07, 0x81, 0xE0, 0x30, 0x0C, 0x06, 0x0F, 0xC3, 0xF0, 0xFF, 0xFF, + 0x30, 0xC3, 0x0C, 0x7F, 0xFF, 0x37, 0x66, 0x66, 0xCC, 0x66, 0x66, 0x73, + 0xFF, 0xFF, 0xFF, 0xF0, 0xCE, 0x66, 0x66, 0x33, 0x66, 0x66, 0xEC, 0x70, + 0x7C, 0xF3, 0xC0, 0xC0 }; + +const GFXglyph FreeMonoBold9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' + { 0, 3, 11, 11, 4, -10 }, // 0x21 '!' + { 5, 7, 5, 11, 2, -10 }, // 0x22 '"' + { 10, 8, 12, 11, 1, -10 }, // 0x23 '#' + { 22, 7, 14, 11, 2, -11 }, // 0x24 '$' + { 35, 7, 11, 11, 2, -10 }, // 0x25 '%' + { 45, 8, 10, 11, 1, -9 }, // 0x26 '&' + { 55, 3, 5, 11, 4, -10 }, // 0x27 ''' + { 57, 4, 14, 11, 5, -10 }, // 0x28 '(' + { 64, 4, 14, 11, 2, -10 }, // 0x29 ')' + { 71, 8, 7, 11, 2, -10 }, // 0x2A '*' + { 78, 8, 9, 11, 2, -8 }, // 0x2B '+' + { 87, 3, 5, 11, 3, -1 }, // 0x2C ',' + { 89, 9, 2, 11, 1, -5 }, // 0x2D '-' + { 92, 2, 2, 11, 4, -1 }, // 0x2E '.' + { 93, 7, 15, 11, 2, -12 }, // 0x2F '/' + { 107, 7, 12, 11, 2, -11 }, // 0x30 '0' + { 118, 7, 11, 11, 2, -10 }, // 0x31 '1' + { 128, 8, 12, 11, 1, -11 }, // 0x32 '2' + { 140, 8, 12, 11, 2, -11 }, // 0x33 '3' + { 152, 7, 10, 11, 2, -9 }, // 0x34 '4' + { 161, 9, 11, 11, 1, -10 }, // 0x35 '5' + { 174, 8, 12, 11, 2, -11 }, // 0x36 '6' + { 186, 8, 11, 11, 1, -10 }, // 0x37 '7' + { 197, 7, 12, 11, 2, -11 }, // 0x38 '8' + { 208, 8, 12, 11, 2, -11 }, // 0x39 '9' + { 220, 2, 8, 11, 4, -7 }, // 0x3A ':' + { 222, 3, 11, 11, 3, -7 }, // 0x3B ';' + { 227, 9, 8, 11, 1, -8 }, // 0x3C '<' + { 236, 9, 6, 11, 1, -7 }, // 0x3D '=' + { 243, 9, 8, 11, 1, -8 }, // 0x3E '>' + { 252, 8, 11, 11, 2, -10 }, // 0x3F '?' + { 263, 9, 15, 11, 1, -11 }, // 0x40 '@' + { 280, 11, 11, 11, 0, -10 }, // 0x41 'A' + { 296, 10, 11, 11, 1, -10 }, // 0x42 'B' + { 310, 9, 11, 11, 1, -10 }, // 0x43 'C' + { 323, 10, 11, 11, 0, -10 }, // 0x44 'D' + { 337, 9, 11, 11, 1, -10 }, // 0x45 'E' + { 350, 9, 11, 11, 1, -10 }, // 0x46 'F' + { 363, 10, 11, 11, 1, -10 }, // 0x47 'G' + { 377, 9, 11, 11, 1, -10 }, // 0x48 'H' + { 390, 6, 11, 11, 3, -10 }, // 0x49 'I' + { 399, 10, 11, 11, 1, -10 }, // 0x4A 'J' + { 413, 10, 11, 11, 1, -10 }, // 0x4B 'K' + { 427, 9, 11, 11, 1, -10 }, // 0x4C 'L' + { 440, 11, 11, 11, 0, -10 }, // 0x4D 'M' + { 456, 11, 11, 11, 0, -10 }, // 0x4E 'N' + { 472, 11, 11, 11, 0, -10 }, // 0x4F 'O' + { 488, 9, 11, 11, 1, -10 }, // 0x50 'P' + { 501, 11, 14, 11, 0, -10 }, // 0x51 'Q' + { 521, 9, 11, 11, 1, -10 }, // 0x52 'R' + { 534, 9, 11, 11, 1, -10 }, // 0x53 'S' + { 547, 9, 11, 11, 1, -10 }, // 0x54 'T' + { 560, 11, 11, 11, 0, -10 }, // 0x55 'U' + { 576, 11, 11, 11, 0, -10 }, // 0x56 'V' + { 592, 10, 11, 11, 0, -10 }, // 0x57 'W' + { 606, 10, 11, 11, 0, -10 }, // 0x58 'X' + { 620, 10, 11, 11, 0, -10 }, // 0x59 'Y' + { 634, 8, 11, 11, 2, -10 }, // 0x5A 'Z' + { 645, 4, 14, 11, 5, -10 }, // 0x5B '[' + { 652, 7, 15, 11, 2, -12 }, // 0x5C '\' + { 666, 4, 14, 11, 2, -10 }, // 0x5D ']' + { 673, 7, 6, 11, 2, -11 }, // 0x5E '^' + { 679, 11, 2, 11, 0, 3 }, // 0x5F '_' + { 682, 3, 3, 11, 3, -11 }, // 0x60 '`' + { 684, 9, 8, 11, 1, -7 }, // 0x61 'a' + { 693, 10, 11, 11, 0, -10 }, // 0x62 'b' + { 707, 9, 8, 11, 1, -7 }, // 0x63 'c' + { 716, 10, 11, 11, 1, -10 }, // 0x64 'd' + { 730, 9, 8, 11, 1, -7 }, // 0x65 'e' + { 739, 8, 11, 11, 2, -10 }, // 0x66 'f' + { 750, 9, 12, 11, 1, -7 }, // 0x67 'g' + { 764, 9, 11, 11, 1, -10 }, // 0x68 'h' + { 777, 8, 11, 11, 2, -10 }, // 0x69 'i' + { 788, 6, 15, 11, 2, -10 }, // 0x6A 'j' + { 800, 9, 11, 11, 1, -10 }, // 0x6B 'k' + { 813, 8, 11, 11, 2, -10 }, // 0x6C 'l' + { 824, 11, 8, 11, 0, -7 }, // 0x6D 'm' + { 835, 9, 8, 11, 1, -7 }, // 0x6E 'n' + { 844, 9, 8, 11, 1, -7 }, // 0x6F 'o' + { 853, 11, 12, 11, 0, -7 }, // 0x70 'p' + { 870, 11, 12, 11, 0, -7 }, // 0x71 'q' + { 887, 9, 8, 11, 1, -7 }, // 0x72 'r' + { 896, 8, 8, 11, 2, -7 }, // 0x73 's' + { 904, 8, 11, 11, 1, -10 }, // 0x74 't' + { 915, 9, 8, 11, 1, -7 }, // 0x75 'u' + { 924, 11, 8, 11, 0, -7 }, // 0x76 'v' + { 935, 11, 8, 11, 0, -7 }, // 0x77 'w' + { 946, 9, 8, 11, 1, -7 }, // 0x78 'x' + { 955, 10, 12, 11, 0, -7 }, // 0x79 'y' + { 970, 7, 8, 11, 2, -7 }, // 0x7A 'z' + { 977, 4, 14, 11, 3, -10 }, // 0x7B '{' + { 984, 2, 14, 11, 5, -10 }, // 0x7C '|' + { 988, 4, 14, 11, 4, -10 }, // 0x7D '}' + { 995, 9, 4, 11, 1, -6 } }; // 0x7E '~' + +const GFXfont FreeMonoBold9pt7b PROGMEM = { + (uint8_t *)FreeMonoBold9pt7bBitmaps, + (GFXglyph *)FreeMonoBold9pt7bGlyphs, + 0x20, 0x7E, 18 }; + +// Approx. 1672 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h new file mode 100644 index 0000000..cc3ecb2 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h @@ -0,0 +1,269 @@ +const uint8_t FreeMonoBoldOblique12pt7bBitmaps[] PROGMEM = { + 0x1C, 0xF3, 0xCE, 0x38, 0xE7, 0x1C, 0x61, 0x86, 0x00, 0x63, 0x8C, 0x00, + 0xE7, 0xE7, 0xE6, 0xC6, 0xC6, 0xC4, 0x84, 0x03, 0x30, 0x19, 0x81, 0xDC, + 0x0C, 0xE0, 0x66, 0x1F, 0xFC, 0xFF, 0xE1, 0x98, 0x0C, 0xC0, 0xEE, 0x06, + 0x70, 0xFF, 0xCF, 0xFE, 0x1D, 0xC0, 0xCC, 0x06, 0x60, 0x77, 0x03, 0x30, + 0x00, 0x01, 0x00, 0x70, 0x0C, 0x07, 0xF1, 0xFE, 0x71, 0xCC, 0x11, 0x80, + 0x3F, 0x03, 0xF0, 0x0F, 0x20, 0x6E, 0x0D, 0xC3, 0x3F, 0xE7, 0xF8, 0x1C, + 0x03, 0x00, 0x60, 0x0C, 0x00, 0x0E, 0x03, 0xE0, 0xC4, 0x10, 0x82, 0x30, + 0x7C, 0x07, 0x78, 0x7C, 0x7F, 0x19, 0xF0, 0x62, 0x08, 0x41, 0x18, 0x3E, + 0x03, 0x80, 0x07, 0xC1, 0xF8, 0x62, 0x0C, 0x01, 0x80, 0x38, 0x0F, 0x03, + 0xF7, 0x6F, 0xD8, 0xF3, 0x1E, 0x7F, 0xE7, 0xF8, 0xFF, 0x6D, 0x20, 0x06, + 0x1C, 0x70, 0xC3, 0x06, 0x18, 0x30, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, + 0x70, 0x60, 0xC1, 0x00, 0x0C, 0x18, 0x38, 0x30, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x30, 0x61, 0xC3, 0x0E, 0x38, 0x61, 0xC2, 0x00, 0x06, 0x00, 0xC0, + 0x18, 0x3F, 0x7F, 0xFE, 0xFF, 0x07, 0x81, 0xF8, 0x77, 0x0C, 0x60, 0x03, + 0x00, 0x70, 0x07, 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0xE0, 0x0C, + 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x18, 0x00, 0x1C, 0xE3, 0x1C, 0x63, 0x08, + 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0x00, 0x00, 0x08, 0x00, 0x70, 0x01, + 0x80, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x0C, + 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, + 0x03, 0x80, 0x0C, 0x00, 0x20, 0x00, 0x07, 0x83, 0xF8, 0xE3, 0x98, 0x37, + 0x06, 0xC0, 0xD8, 0x1B, 0x03, 0xE0, 0xF8, 0x1B, 0x03, 0x60, 0xEE, 0x38, + 0xFE, 0x0F, 0x00, 0x03, 0xC1, 0xF0, 0x7E, 0x0C, 0xC0, 0x38, 0x07, 0x00, + 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0x61, 0xFF, 0xFF, 0xF0, + 0x03, 0xE0, 0x3F, 0x83, 0x8E, 0x38, 0x31, 0x81, 0x80, 0x18, 0x01, 0xC0, + 0x1C, 0x01, 0xC0, 0x38, 0x03, 0x80, 0x38, 0x47, 0x87, 0x3F, 0xF3, 0xFF, + 0x80, 0x07, 0xC1, 0xFF, 0x18, 0x70, 0x03, 0x00, 0x30, 0x06, 0x07, 0xC0, + 0x7C, 0x00, 0xE0, 0x06, 0x00, 0x60, 0x06, 0xC1, 0xCF, 0xF8, 0x7E, 0x00, + 0x01, 0xE0, 0x3C, 0x0F, 0x03, 0x60, 0xCC, 0x3B, 0x8E, 0x63, 0x8C, 0x61, + 0x9F, 0xFB, 0xFF, 0x01, 0x81, 0xF8, 0x3F, 0x00, 0x0F, 0xF1, 0xFE, 0x18, + 0x01, 0x80, 0x18, 0x03, 0xF8, 0x3F, 0xC3, 0x8E, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x0C, 0xC1, 0xCF, 0xF8, 0x7E, 0x00, 0x03, 0xE1, 0xFC, 0x70, 0x1C, + 0x03, 0x00, 0xC0, 0x1B, 0xC7, 0xFC, 0xF3, 0x98, 0x33, 0x06, 0x60, 0xCE, + 0x30, 0xFC, 0x0F, 0x00, 0xFF, 0xFF, 0xFB, 0x07, 0x60, 0xC0, 0x38, 0x06, + 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x1C, 0x03, 0x80, 0x60, 0x08, + 0x00, 0x07, 0x83, 0xF8, 0xE3, 0xB0, 0x36, 0x06, 0xC0, 0xDC, 0x31, 0xFC, + 0x3F, 0x8C, 0x3B, 0x03, 0x60, 0x6C, 0x39, 0xFE, 0x1F, 0x00, 0x07, 0x81, + 0xF8, 0x63, 0x98, 0x33, 0x06, 0x60, 0xCE, 0x79, 0xFF, 0x1E, 0xC0, 0x18, + 0x06, 0x01, 0xC0, 0x71, 0xFC, 0x3E, 0x00, 0x19, 0xCC, 0x00, 0x00, 0x00, + 0x67, 0x30, 0x06, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x38, 0x71, 0xC3, + 0x0E, 0x18, 0x20, 0x00, 0x00, 0x18, 0x03, 0xC0, 0x7C, 0x1F, 0x03, 0xE0, + 0x3E, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0x80, 0x08, 0x7F, 0xFB, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFB, 0xFF, 0xC0, 0x30, 0x01, + 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x7C, 0x1F, 0x03, 0xE0, 0x7C, + 0x07, 0x80, 0x20, 0x00, 0x3E, 0x7F, 0xB0, 0xF8, 0x30, 0x18, 0x1C, 0x1C, + 0x3C, 0x38, 0x18, 0x00, 0x06, 0x07, 0x03, 0x00, 0x03, 0xC0, 0x7E, 0x0C, + 0x71, 0x83, 0x30, 0x33, 0x0F, 0x33, 0xE6, 0x76, 0x6C, 0x66, 0xC6, 0x6C, + 0x6C, 0xFC, 0xC7, 0xEC, 0x00, 0xC0, 0x0C, 0x00, 0xE3, 0x07, 0xF0, 0x3C, + 0x00, 0x07, 0xF0, 0x1F, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0x3B, 0x00, 0xE7, + 0x01, 0x8E, 0x07, 0x1C, 0x1F, 0xF8, 0x3F, 0xF0, 0xE0, 0x71, 0x80, 0xEF, + 0xC7, 0xFF, 0x8F, 0xC0, 0x3F, 0xF1, 0xFF, 0xC3, 0x06, 0x38, 0x31, 0xC1, + 0x8C, 0x18, 0x7F, 0xC3, 0xFE, 0x38, 0x39, 0xC0, 0xCC, 0x06, 0x60, 0x6F, + 0xFF, 0x7F, 0xE0, 0x03, 0xEC, 0x3F, 0xF1, 0xC3, 0x8C, 0x06, 0x60, 0x19, + 0x80, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x03, 0x3C, 0x1C, + 0x7F, 0xE0, 0x7E, 0x00, 0x3F, 0xE1, 0xFF, 0x87, 0x0C, 0x30, 0x31, 0x81, + 0x8C, 0x0C, 0xE0, 0x67, 0x03, 0x30, 0x31, 0x81, 0x8C, 0x0C, 0xE1, 0xCF, + 0xFC, 0x7F, 0x80, 0x1F, 0xFE, 0x3F, 0xFC, 0x38, 0x38, 0x70, 0x70, 0xCC, + 0xC1, 0x98, 0x03, 0xF0, 0x0F, 0xE0, 0x1D, 0x80, 0x31, 0x18, 0x60, 0x70, + 0xC0, 0xE7, 0xFF, 0x9F, 0xFF, 0x00, 0x1F, 0xFF, 0x1F, 0xFE, 0x0E, 0x06, + 0x0C, 0x0E, 0x0C, 0xC4, 0x0C, 0xC0, 0x1F, 0xC0, 0x1F, 0xC0, 0x19, 0xC0, + 0x19, 0x80, 0x18, 0x00, 0x38, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x07, 0xEC, + 0x7F, 0xF3, 0x83, 0x9C, 0x06, 0x60, 0x19, 0x80, 0x0C, 0x00, 0x30, 0xFE, + 0xC3, 0xFB, 0x01, 0xCC, 0x07, 0x3C, 0x38, 0x7F, 0xE0, 0x7E, 0x00, 0x0F, + 0xBF, 0x1F, 0xBE, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x1C, 0x0C, 0x1C, 0x1F, + 0xF8, 0x1F, 0xF8, 0x18, 0x18, 0x18, 0x38, 0x18, 0x38, 0x38, 0x30, 0x7C, + 0xFC, 0xFC, 0xF8, 0x3F, 0xF3, 0xFF, 0x03, 0x00, 0x70, 0x07, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xC0, 0xFF, 0xCF, 0xFC, + 0x03, 0xFF, 0x03, 0xFF, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, + 0x00, 0x70, 0x20, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0xE0, 0xE1, 0xC0, + 0xFF, 0x80, 0x3F, 0x00, 0x1F, 0x9F, 0x1F, 0x9E, 0x0E, 0x38, 0x0C, 0x70, + 0x0C, 0xE0, 0x0F, 0xC0, 0x1F, 0xC0, 0x1F, 0xE0, 0x1C, 0xE0, 0x18, 0x60, + 0x18, 0x70, 0x38, 0x70, 0xFE, 0x3C, 0xFC, 0x3C, 0x3F, 0xC1, 0xFE, 0x01, + 0x80, 0x1C, 0x00, 0xE0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x1C, 0x18, 0xE0, + 0xC6, 0x06, 0x30, 0x7F, 0xFF, 0xFF, 0xF8, 0x1E, 0x07, 0x87, 0x81, 0xE0, + 0xF0, 0xF0, 0x7C, 0x7C, 0x1F, 0x1F, 0x06, 0xCF, 0x81, 0xBF, 0x60, 0xEF, + 0x98, 0x3B, 0xEE, 0x0C, 0x73, 0x83, 0x1C, 0xC0, 0xC0, 0x30, 0xFC, 0x7E, + 0x3F, 0x1F, 0x80, 0x3C, 0x3F, 0x3E, 0x3F, 0x1E, 0x0C, 0x1F, 0x1C, 0x1F, + 0x1C, 0x1B, 0x98, 0x3B, 0x98, 0x3B, 0x98, 0x31, 0xF8, 0x31, 0xF8, 0x30, + 0xF0, 0x70, 0xF0, 0xFC, 0x70, 0xF8, 0x70, 0x03, 0xE0, 0x3F, 0xE1, 0xC3, + 0x8C, 0x07, 0x60, 0x0D, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1B, 0x00, + 0x6E, 0x03, 0x1C, 0x38, 0x7F, 0xC0, 0x7C, 0x00, 0x3F, 0xE1, 0xFF, 0x83, + 0x0E, 0x38, 0x31, 0xC1, 0x8C, 0x0C, 0x60, 0xC3, 0xFC, 0x3F, 0xC1, 0xC0, + 0x0C, 0x00, 0x60, 0x0F, 0xF0, 0x7F, 0x80, 0x03, 0xE0, 0x3F, 0xE1, 0xC3, + 0x8C, 0x07, 0x60, 0x0D, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1B, 0x00, + 0x6E, 0x03, 0x1C, 0x38, 0x7F, 0xC0, 0xFC, 0x03, 0x02, 0x1F, 0xFC, 0xFF, + 0xE0, 0x1F, 0xF0, 0x3F, 0xF0, 0x38, 0x70, 0x60, 0x60, 0xC0, 0xC1, 0x87, + 0x07, 0xFC, 0x0F, 0xF0, 0x18, 0xF0, 0x30, 0xE0, 0x60, 0xC1, 0xC1, 0xCF, + 0xE1, 0xFF, 0xC3, 0xC0, 0x0F, 0xB1, 0xFF, 0x30, 0xE6, 0x06, 0x60, 0x67, + 0x80, 0x7F, 0x01, 0xFC, 0x01, 0xC4, 0x0C, 0xC0, 0xCE, 0x18, 0xFF, 0x8B, + 0xE0, 0x7F, 0xFB, 0xFF, 0xD9, 0xCF, 0xCE, 0x7C, 0x63, 0x63, 0x18, 0x18, + 0x01, 0xC0, 0x0E, 0x00, 0x60, 0x03, 0x00, 0x18, 0x0F, 0xF8, 0x7F, 0xC0, + 0x7E, 0xFF, 0xF3, 0xF3, 0x03, 0x1C, 0x0C, 0x60, 0x31, 0x81, 0xC6, 0x06, + 0x38, 0x18, 0xE0, 0x63, 0x03, 0x8C, 0x0C, 0x30, 0x70, 0x7F, 0x80, 0xF8, + 0x00, 0xFC, 0x7F, 0xF8, 0xFD, 0xC0, 0x61, 0x81, 0xC3, 0x87, 0x07, 0x0C, + 0x0E, 0x38, 0x0C, 0x60, 0x19, 0xC0, 0x3F, 0x00, 0x7C, 0x00, 0xF8, 0x00, + 0xE0, 0x01, 0x80, 0x00, 0x7E, 0x7E, 0xFC, 0xFD, 0xC0, 0x73, 0x9C, 0xE7, + 0x79, 0x8E, 0xF7, 0x1B, 0xEE, 0x36, 0xD8, 0x7D, 0xF0, 0xF3, 0xE1, 0xE7, + 0x83, 0x8F, 0x07, 0x1E, 0x1C, 0x38, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x0E, + 0x1C, 0x07, 0x38, 0x07, 0x70, 0x03, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, + 0xE0, 0x0E, 0xE0, 0x1C, 0x70, 0x38, 0x70, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, + 0xFF, 0xC7, 0xCC, 0x38, 0x73, 0x83, 0x9C, 0x0F, 0xC0, 0x7C, 0x01, 0xC0, + 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x0F, 0xF8, 0x7F, 0x80, 0x0F, 0xF8, + 0x7F, 0xE1, 0xC7, 0x86, 0x1C, 0x18, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, + 0x0E, 0x00, 0x70, 0xC3, 0x83, 0x1C, 0x1C, 0x7F, 0xF3, 0xFF, 0x80, 0x0F, + 0x87, 0xC3, 0x03, 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x38, 0x1C, 0x0C, 0x06, + 0x03, 0x03, 0x81, 0xC0, 0xC0, 0x60, 0x3E, 0x3F, 0x00, 0x41, 0xC3, 0x83, + 0x07, 0x0E, 0x1C, 0x18, 0x38, 0x70, 0xE0, 0xC1, 0xC3, 0x83, 0x06, 0x0E, + 0x1C, 0x18, 0x20, 0x1F, 0x0F, 0x80, 0xC0, 0xE0, 0x70, 0x30, 0x18, 0x0C, + 0x0E, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xE0, 0x70, 0x30, 0x18, 0x7C, 0x3E, + 0x00, 0x02, 0x01, 0x80, 0xF0, 0x7E, 0x3B, 0x9C, 0x7E, 0x1F, 0x03, 0xFF, + 0xFF, 0xFF, 0xFC, 0xCE, 0x73, 0x1F, 0xC3, 0xFE, 0x00, 0x60, 0x06, 0x0F, + 0xE3, 0xFE, 0x70, 0xCC, 0x0C, 0xC3, 0xCF, 0xFF, 0x7F, 0xF0, 0x1E, 0x00, + 0x3C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xDF, 0x81, 0xFF, 0x83, 0xC3, 0x8F, + 0x03, 0x1C, 0x06, 0x38, 0x0C, 0x70, 0x18, 0xE0, 0x63, 0xE1, 0x9F, 0xFE, + 0x3D, 0xF8, 0x00, 0x0F, 0xF3, 0xFF, 0x30, 0x76, 0x07, 0xE0, 0x6C, 0x00, + 0xC0, 0x0C, 0x00, 0xE0, 0x67, 0xFE, 0x3F, 0x80, 0x00, 0x3C, 0x00, 0xF0, + 0x01, 0xC0, 0x06, 0x07, 0xD8, 0x7F, 0xE3, 0x0F, 0x98, 0x1E, 0x60, 0x73, + 0x01, 0xCC, 0x07, 0x30, 0x3C, 0xE1, 0xF1, 0xFF, 0xE3, 0xF7, 0x80, 0x0F, + 0xC1, 0xFE, 0x78, 0x76, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x0C, 0x00, 0xE0, + 0xE7, 0xFE, 0x1F, 0x80, 0x00, 0xFC, 0x07, 0xF8, 0x0C, 0x00, 0x38, 0x01, + 0xFF, 0x07, 0xFE, 0x01, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x30, + 0x00, 0x60, 0x01, 0xC0, 0x1F, 0xF8, 0x3F, 0xF0, 0x00, 0x0F, 0xBC, 0x7F, + 0xF3, 0x0F, 0x18, 0x1C, 0xC0, 0x73, 0x01, 0x8C, 0x0E, 0x30, 0x38, 0xE3, + 0xE1, 0xFF, 0x83, 0xEC, 0x00, 0x30, 0x01, 0xC0, 0x06, 0x07, 0xF0, 0x1F, + 0x80, 0x1E, 0x01, 0xF0, 0x03, 0x00, 0x18, 0x00, 0xDE, 0x0F, 0xF8, 0x78, + 0xC3, 0x86, 0x18, 0x30, 0xC1, 0x8E, 0x1C, 0x70, 0xE3, 0x06, 0x7E, 0xFF, + 0xE7, 0xE0, 0x03, 0x80, 0x70, 0x00, 0x0F, 0xC1, 0xF0, 0x06, 0x00, 0xC0, + 0x38, 0x07, 0x00, 0xC0, 0x18, 0x03, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x70, + 0x07, 0x00, 0x00, 0xFF, 0x1F, 0xF0, 0x07, 0x00, 0x70, 0x06, 0x00, 0x60, + 0x06, 0x00, 0xE0, 0x0E, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x1C, 0x03, 0x87, + 0xF0, 0xFE, 0x00, 0x1E, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0C, 0xFC, + 0x33, 0xE0, 0xDE, 0x07, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xF8, 0x06, 0xF0, + 0x39, 0xC3, 0xE7, 0xEF, 0x1F, 0x80, 0x0F, 0x81, 0xF0, 0x06, 0x01, 0xC0, + 0x38, 0x06, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0x61, + 0xFF, 0xFF, 0xF8, 0x3F, 0xBC, 0x7F, 0xFC, 0xF3, 0x98, 0xC6, 0x33, 0x9C, + 0xE7, 0x39, 0xCC, 0x63, 0x18, 0xC6, 0x31, 0x8D, 0xF7, 0xBF, 0xEF, 0x78, + 0x3D, 0xE1, 0xFF, 0x8F, 0x8C, 0x38, 0x61, 0x83, 0x0C, 0x18, 0xE1, 0xC7, + 0x0E, 0x30, 0x67, 0xEF, 0xFE, 0x7E, 0x07, 0xC1, 0xFE, 0x38, 0x76, 0x03, + 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x06, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x1E, + 0xFC, 0x1F, 0xFE, 0x0F, 0x87, 0x0F, 0x03, 0x0E, 0x03, 0x0E, 0x03, 0x0E, + 0x07, 0x0E, 0x06, 0x1F, 0x0C, 0x1F, 0xF8, 0x19, 0xF0, 0x18, 0x00, 0x18, + 0x00, 0x38, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x0F, 0xDE, 0x3F, 0xFC, 0xC3, + 0xE3, 0x03, 0x84, 0x07, 0x18, 0x0E, 0x30, 0x1C, 0x60, 0x78, 0xE1, 0xE0, + 0xFF, 0xC0, 0xF9, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x1C, 0x01, 0xFC, 0x03, + 0xF8, 0x1E, 0x78, 0x7F, 0xF0, 0x7C, 0xC3, 0xC0, 0x0E, 0x00, 0x30, 0x00, + 0xC0, 0x03, 0x00, 0x1C, 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0x07, 0xF1, 0xFF, + 0x30, 0x73, 0x86, 0x3F, 0x81, 0xFE, 0x03, 0xE6, 0x06, 0xE0, 0xEF, 0xFC, + 0xFF, 0x00, 0x0C, 0x07, 0x01, 0x83, 0xFF, 0xFF, 0xCE, 0x03, 0x00, 0xC0, + 0x30, 0x1C, 0x07, 0x01, 0x83, 0x7F, 0xCF, 0xC0, 0xF0, 0xFF, 0x1F, 0x60, + 0x76, 0x07, 0x60, 0x76, 0x06, 0x60, 0x66, 0x0E, 0x61, 0xE7, 0xFF, 0x3E, + 0xF0, 0x7E, 0x7E, 0xFC, 0xFC, 0xE0, 0xC0, 0xC3, 0x81, 0x86, 0x03, 0x98, + 0x07, 0x70, 0x06, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x38, 0x00, 0xF8, 0x7F, + 0xE3, 0xE6, 0x63, 0x1B, 0xDC, 0x6F, 0x61, 0xFF, 0x87, 0xFC, 0x1E, 0xF0, + 0x73, 0x81, 0xCE, 0x06, 0x38, 0x00, 0x3E, 0x7C, 0xF9, 0xF1, 0xE7, 0x03, + 0xF8, 0x07, 0xC0, 0x1F, 0x01, 0xFC, 0x0F, 0x38, 0x78, 0xFB, 0xF7, 0xEF, + 0x9F, 0x80, 0x1F, 0x1F, 0x3E, 0x1F, 0x1C, 0x1C, 0x0C, 0x18, 0x0E, 0x38, + 0x0E, 0x70, 0x06, 0x60, 0x07, 0xE0, 0x07, 0xC0, 0x07, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x07, 0x00, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1F, 0xF1, + 0xFF, 0x38, 0xE3, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC6, 0x38, 0x67, + 0xFE, 0x7F, 0xE0, 0x01, 0xC0, 0xF0, 0x70, 0x18, 0x06, 0x03, 0x80, 0xE0, + 0x30, 0x1C, 0x3E, 0x0F, 0x00, 0x60, 0x18, 0x06, 0x03, 0x80, 0xC0, 0x30, + 0x0F, 0x01, 0xC0, 0x0C, 0x71, 0xC7, 0x18, 0x63, 0x8E, 0x30, 0xC3, 0x1C, + 0x71, 0x86, 0x38, 0xE3, 0x04, 0x00, 0x0E, 0x07, 0x80, 0xC0, 0x60, 0x70, + 0x30, 0x18, 0x0C, 0x06, 0x01, 0xC1, 0xE1, 0xC0, 0xC0, 0xE0, 0x70, 0x30, + 0x38, 0x78, 0x38, 0x00, 0x3C, 0x27, 0xE6, 0xEF, 0xCC, 0x38 }; + +const GFXglyph FreeMonoBoldOblique12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' + { 0, 6, 15, 14, 6, -14 }, // 0x21 '!' + { 12, 8, 7, 14, 6, -13 }, // 0x22 '"' + { 19, 13, 18, 14, 2, -15 }, // 0x23 '#' + { 49, 11, 20, 14, 3, -16 }, // 0x24 '$' + { 77, 11, 15, 14, 3, -14 }, // 0x25 '%' + { 98, 11, 13, 14, 2, -12 }, // 0x26 '&' + { 116, 3, 7, 14, 8, -13 }, // 0x27 ''' + { 119, 7, 19, 14, 7, -14 }, // 0x28 '(' + { 136, 7, 19, 14, 2, -14 }, // 0x29 ')' + { 153, 11, 10, 14, 4, -14 }, // 0x2A '*' + { 167, 12, 13, 14, 3, -12 }, // 0x2B '+' + { 187, 6, 7, 14, 3, -2 }, // 0x2C ',' + { 193, 13, 2, 14, 2, -7 }, // 0x2D '-' + { 197, 3, 3, 14, 6, -2 }, // 0x2E '.' + { 199, 14, 20, 14, 2, -16 }, // 0x2F '/' + { 234, 11, 15, 14, 3, -14 }, // 0x30 '0' + { 255, 11, 15, 14, 2, -14 }, // 0x31 '1' + { 276, 13, 15, 14, 1, -14 }, // 0x32 '2' + { 301, 12, 15, 14, 2, -14 }, // 0x33 '3' + { 324, 11, 14, 14, 3, -13 }, // 0x34 '4' + { 344, 12, 15, 14, 2, -14 }, // 0x35 '5' + { 367, 11, 15, 14, 4, -14 }, // 0x36 '6' + { 388, 11, 15, 14, 4, -14 }, // 0x37 '7' + { 409, 11, 15, 14, 3, -14 }, // 0x38 '8' + { 430, 11, 15, 14, 3, -14 }, // 0x39 '9' + { 451, 5, 11, 14, 5, -10 }, // 0x3A ':' + { 458, 7, 15, 14, 3, -10 }, // 0x3B ';' + { 472, 13, 11, 14, 2, -11 }, // 0x3C '<' + { 490, 13, 7, 14, 2, -9 }, // 0x3D '=' + { 502, 13, 11, 14, 2, -11 }, // 0x3E '>' + { 520, 9, 14, 14, 5, -13 }, // 0x3F '?' + { 536, 12, 19, 14, 2, -14 }, // 0x40 '@' + { 565, 15, 14, 14, 0, -13 }, // 0x41 'A' + { 592, 13, 14, 14, 1, -13 }, // 0x42 'B' + { 615, 14, 14, 14, 2, -13 }, // 0x43 'C' + { 640, 13, 14, 14, 1, -13 }, // 0x44 'D' + { 663, 15, 14, 14, 0, -13 }, // 0x45 'E' + { 690, 16, 14, 14, 0, -13 }, // 0x46 'F' + { 718, 14, 14, 14, 1, -13 }, // 0x47 'G' + { 743, 16, 14, 14, 0, -13 }, // 0x48 'H' + { 771, 12, 14, 14, 2, -13 }, // 0x49 'I' + { 792, 16, 14, 14, 0, -13 }, // 0x4A 'J' + { 820, 16, 14, 14, 0, -13 }, // 0x4B 'K' + { 848, 13, 14, 14, 1, -13 }, // 0x4C 'L' + { 871, 18, 14, 14, 0, -13 }, // 0x4D 'M' + { 903, 16, 14, 14, 1, -13 }, // 0x4E 'N' + { 931, 14, 14, 14, 1, -13 }, // 0x4F 'O' + { 956, 13, 14, 14, 1, -13 }, // 0x50 'P' + { 979, 14, 17, 14, 1, -13 }, // 0x51 'Q' + { 1009, 15, 14, 14, 0, -13 }, // 0x52 'R' + { 1036, 12, 14, 14, 3, -13 }, // 0x53 'S' + { 1057, 13, 14, 14, 2, -13 }, // 0x54 'T' + { 1080, 14, 14, 14, 2, -13 }, // 0x55 'U' + { 1105, 15, 14, 14, 1, -13 }, // 0x56 'V' + { 1132, 15, 14, 14, 1, -13 }, // 0x57 'W' + { 1159, 16, 14, 14, 0, -13 }, // 0x58 'X' + { 1187, 13, 14, 14, 2, -13 }, // 0x59 'Y' + { 1210, 14, 14, 14, 1, -13 }, // 0x5A 'Z' + { 1235, 9, 19, 14, 5, -14 }, // 0x5B '[' + { 1257, 7, 20, 14, 5, -16 }, // 0x5C '\' + { 1275, 9, 19, 14, 3, -14 }, // 0x5D ']' + { 1297, 10, 8, 14, 4, -15 }, // 0x5E '^' + { 1307, 15, 2, 14, -1, 4 }, // 0x5F '_' + { 1311, 4, 4, 14, 7, -15 }, // 0x60 '`' + { 1313, 12, 11, 14, 2, -10 }, // 0x61 'a' + { 1330, 15, 15, 14, -1, -14 }, // 0x62 'b' + { 1359, 12, 11, 14, 2, -10 }, // 0x63 'c' + { 1376, 14, 15, 14, 2, -14 }, // 0x64 'd' + { 1403, 12, 11, 14, 2, -10 }, // 0x65 'e' + { 1420, 15, 15, 14, 2, -14 }, // 0x66 'f' + { 1449, 14, 16, 14, 2, -10 }, // 0x67 'g' + { 1477, 13, 15, 14, 1, -14 }, // 0x68 'h' + { 1502, 11, 14, 14, 2, -13 }, // 0x69 'i' + { 1522, 12, 19, 14, 1, -13 }, // 0x6A 'j' + { 1551, 14, 15, 14, 1, -14 }, // 0x6B 'k' + { 1578, 11, 15, 14, 2, -14 }, // 0x6C 'l' + { 1599, 15, 11, 14, 0, -10 }, // 0x6D 'm' + { 1620, 13, 11, 14, 1, -10 }, // 0x6E 'n' + { 1638, 12, 11, 14, 2, -10 }, // 0x6F 'o' + { 1655, 16, 16, 14, -1, -10 }, // 0x70 'p' + { 1687, 15, 16, 14, 1, -10 }, // 0x71 'q' + { 1717, 14, 11, 14, 1, -10 }, // 0x72 'r' + { 1737, 12, 11, 14, 2, -10 }, // 0x73 's' + { 1754, 10, 14, 14, 2, -13 }, // 0x74 't' + { 1772, 12, 11, 14, 2, -10 }, // 0x75 'u' + { 1789, 15, 11, 14, 1, -10 }, // 0x76 'v' + { 1810, 14, 11, 14, 2, -10 }, // 0x77 'w' + { 1830, 14, 11, 14, 1, -10 }, // 0x78 'x' + { 1850, 16, 16, 14, 0, -10 }, // 0x79 'y' + { 1882, 12, 11, 14, 2, -10 }, // 0x7A 'z' + { 1899, 10, 19, 14, 4, -14 }, // 0x7B '{' + { 1923, 6, 19, 14, 5, -14 }, // 0x7C '|' + { 1938, 9, 19, 14, 3, -14 }, // 0x7D '}' + { 1960, 12, 4, 14, 3, -7 } }; // 0x7E '~' + +const GFXfont FreeMonoBoldOblique12pt7b PROGMEM = { + (uint8_t *)FreeMonoBoldOblique12pt7bBitmaps, + (GFXglyph *)FreeMonoBoldOblique12pt7bGlyphs, + 0x20, 0x7E, 24 }; + +// Approx. 2638 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h new file mode 100644 index 0000000..bc4f20e --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h @@ -0,0 +1,460 @@ +const uint8_t FreeMonoBoldOblique18pt7bBitmaps[] PROGMEM = { + 0x0F, 0x07, 0xC7, 0xE3, 0xF1, 0xF0, 0xF8, 0xFC, 0x7C, 0x3E, 0x1F, 0x0F, + 0x07, 0x87, 0xC3, 0xC1, 0xE0, 0x60, 0x00, 0x38, 0x3E, 0x1F, 0x0F, 0x83, + 0x80, 0xF8, 0xFF, 0x0E, 0xF1, 0xEF, 0x1E, 0xE1, 0xCE, 0x1C, 0xC1, 0xCC, + 0x18, 0xC1, 0x88, 0x18, 0x00, 0xE3, 0x80, 0x79, 0xE0, 0x1C, 0x70, 0x07, + 0x1C, 0x03, 0xCF, 0x00, 0xF3, 0xC0, 0x38, 0xE0, 0x7F, 0xFF, 0x3F, 0xFF, + 0xCF, 0xFF, 0xF3, 0xFF, 0xF8, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0x8E, 0x0F, + 0xFF, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0x83, 0xCF, 0x00, 0xF3, + 0xC0, 0x38, 0xE0, 0x1E, 0x78, 0x07, 0x9E, 0x01, 0xC7, 0x00, 0x71, 0xC0, + 0x00, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x07, 0x80, 0x03, 0xF0, 0x03, 0xFF, + 0x81, 0xFF, 0xF0, 0xFF, 0xF8, 0x3C, 0x1E, 0x1E, 0x07, 0x87, 0x80, 0x01, + 0xF0, 0x00, 0x7F, 0xC0, 0x0F, 0xFC, 0x01, 0xFF, 0x80, 0x07, 0xF0, 0x00, + 0x3C, 0x70, 0x0F, 0x3C, 0x03, 0xCF, 0x83, 0xE3, 0xFF, 0xF8, 0xFF, 0xFC, + 0x3F, 0xFE, 0x0C, 0xFE, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, + 0xF0, 0x00, 0x18, 0x00, 0x03, 0xC0, 0x0F, 0xE0, 0x1C, 0x70, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x70, 0x38, 0xE0, 0x1F, 0xC3, 0x0F, 0x1F, 0x01, 0xFC, + 0x0F, 0xE0, 0x7F, 0x00, 0xF8, 0xF0, 0x83, 0xF8, 0x07, 0x1C, 0x0E, 0x0C, + 0x0C, 0x0C, 0x0C, 0x1C, 0x0E, 0x38, 0x07, 0xF0, 0x03, 0xC0, 0x00, 0x7A, + 0x01, 0xFF, 0x03, 0xFF, 0x07, 0xFE, 0x0F, 0x9C, 0x0F, 0x00, 0x0F, 0x00, + 0x0F, 0x00, 0x07, 0x80, 0x1F, 0x80, 0x3F, 0xC0, 0x7F, 0xCF, 0x79, 0xFF, + 0xF1, 0xFE, 0xF1, 0xFC, 0xF0, 0xF8, 0xFF, 0xFE, 0xFF, 0xFE, 0x7F, 0xFE, + 0x1F, 0xBC, 0x7B, 0xFD, 0xEF, 0x73, 0x9C, 0xC6, 0x00, 0x01, 0xC0, 0xF0, + 0x3C, 0x1E, 0x0F, 0x03, 0xC1, 0xE0, 0x70, 0x3C, 0x0F, 0x07, 0x81, 0xE0, + 0x78, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3E, + 0x07, 0x81, 0xE0, 0x7C, 0x1F, 0x03, 0x80, 0x07, 0x03, 0xC0, 0xF8, 0x3E, + 0x07, 0x81, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, + 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xC0, 0xF0, 0x3C, 0x1E, 0x07, 0x83, 0xC1, + 0xE0, 0x78, 0x3C, 0x0E, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x07, 0x00, 0x0E, + 0x02, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xBF, 0xFE, 0x1F, 0xF0, 0x1F, 0x80, + 0x7F, 0x81, 0xEF, 0x07, 0x8F, 0x0F, 0x1E, 0x08, 0x10, 0x00, 0x00, 0x70, + 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x38, 0x00, + 0x1E, 0x03, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, + 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x07, 0x80, + 0x01, 0xC0, 0x00, 0x70, 0x00, 0x0F, 0x87, 0x87, 0x83, 0x83, 0xC1, 0xC1, + 0xC0, 0xC0, 0xE0, 0x60, 0x00, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x38, 0x00, 0x03, 0xC0, + 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x0F, + 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, + 0x78, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, + 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0xF0, + 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, 0x78, 0x00, 0x03, + 0xC0, 0x00, 0x3C, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x01, 0xFF, + 0x01, 0xFF, 0xC1, 0xFF, 0xE1, 0xF1, 0xF9, 0xE0, 0x7C, 0xF0, 0x1E, 0xF0, + 0x0F, 0x78, 0x07, 0xB8, 0x03, 0x9C, 0x03, 0xDE, 0x01, 0xCF, 0x00, 0xE7, + 0x00, 0x73, 0xC0, 0x79, 0xE0, 0x3C, 0xF0, 0x1C, 0x78, 0x1E, 0x3E, 0x1E, + 0x0F, 0xFF, 0x07, 0xFF, 0x01, 0xFF, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x03, + 0xF8, 0x0F, 0xE0, 0x7F, 0xC0, 0xF7, 0x81, 0x8F, 0x00, 0x1C, 0x00, 0x38, + 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, 0x00, 0x3C, 0x00, + 0x78, 0x00, 0xF0, 0x01, 0xC0, 0x03, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xEF, 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0x07, 0xFC, 0x00, 0xFF, 0xE0, 0x1F, + 0xFF, 0x03, 0xC1, 0xF0, 0x78, 0x0F, 0x07, 0x80, 0xF0, 0x70, 0x0F, 0x00, + 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x3F, 0x00, + 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, + 0x3F, 0x03, 0x87, 0xFF, 0xF8, 0x7F, 0xFF, 0x87, 0xFF, 0xF8, 0xFF, 0xFF, + 0x00, 0x00, 0xFE, 0x00, 0xFF, 0xC0, 0x7F, 0xF8, 0x3F, 0xFF, 0x0E, 0x07, + 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x1F, 0xC0, + 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xFF, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, + 0x1E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xF1, 0xFF, 0xF8, 0xFF, 0xFC, + 0x3F, 0xFE, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0x7F, 0x00, + 0xFE, 0x00, 0xFE, 0x01, 0xEE, 0x03, 0xDE, 0x07, 0x9E, 0x0F, 0x1C, 0x1E, + 0x1C, 0x3C, 0x3C, 0x78, 0x3C, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, + 0xFC, 0x00, 0x70, 0x03, 0xFC, 0x07, 0xFC, 0x07, 0xFC, 0x07, 0xF8, 0x07, + 0xFF, 0xC1, 0xFF, 0xF0, 0x7F, 0xFC, 0x3F, 0xFE, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0xE0, 0x00, 0x3B, 0xE0, 0x1F, 0xFE, 0x07, 0xFF, 0xC1, 0xFF, 0xF8, + 0x78, 0x3E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, + 0x0F, 0x18, 0x0F, 0xCF, 0xFF, 0xE3, 0xFF, 0xF0, 0x7F, 0xF8, 0x07, 0xF0, + 0x00, 0x00, 0x0F, 0xC0, 0x0F, 0xFC, 0x03, 0xFF, 0x81, 0xFF, 0xE0, 0x7F, + 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x9F, + 0x01, 0xEF, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xF1, 0xFC, 0x3E, 0x3E, 0x03, + 0xC7, 0x80, 0x78, 0xF0, 0x0F, 0x1E, 0x03, 0xC3, 0xE0, 0xF8, 0x7F, 0xFE, + 0x07, 0xFF, 0x80, 0x7F, 0xE0, 0x07, 0xF0, 0x00, 0x7F, 0xFF, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0E, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, + 0x00, 0x78, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xC0, + 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x0F, 0x00, 0x0E, 0x00, 0x1E, 0x00, + 0x1C, 0x00, 0x1C, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, + 0xFF, 0xF0, 0xF8, 0x3E, 0x3E, 0x03, 0xC7, 0x80, 0x78, 0xF0, 0x0F, 0x1E, + 0x03, 0xC3, 0xE0, 0xF0, 0x3F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xE0, 0x7F, + 0xFE, 0x1F, 0x83, 0xE3, 0xC0, 0x3C, 0xF0, 0x07, 0x9E, 0x01, 0xF3, 0xE0, + 0x7C, 0x7F, 0xFF, 0x87, 0xFF, 0xE0, 0x7F, 0xF0, 0x03, 0xF8, 0x00, 0x00, + 0x7E, 0x00, 0x7F, 0xC0, 0x3F, 0xF8, 0x1F, 0xFE, 0x0F, 0x87, 0xC3, 0xC0, + 0xF1, 0xE0, 0x3C, 0x78, 0x0F, 0x1E, 0x03, 0xC7, 0x81, 0xF1, 0xF1, 0xFC, + 0x7F, 0xFE, 0x0F, 0xFF, 0x81, 0xFD, 0xE0, 0x3E, 0xF0, 0x00, 0x7C, 0x00, + 0x3E, 0x00, 0x1F, 0x00, 0x1F, 0x81, 0xFF, 0xC0, 0xFF, 0xE0, 0x3F, 0xE0, + 0x07, 0xE0, 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x8F, 0x9F, 0x3E, 0x38, 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0xF0, 0x1E, + 0x07, 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x30, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0xFE, 0x00, + 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, + 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0x38, + 0x3F, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x9F, 0xFF, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0xFF, 0xF7, 0xFF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFF, 0xF0, + 0x00, 0x00, 0x03, 0x80, 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, + 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x0F, 0xE0, + 0x07, 0xF0, 0x07, 0xF8, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0x3E, 0x00, 0x07, + 0x00, 0x00, 0x07, 0xE0, 0xFF, 0xC7, 0xFF, 0xBF, 0xFF, 0xF0, 0x7F, 0x80, + 0xFE, 0x03, 0xC0, 0x0F, 0x00, 0x78, 0x0F, 0xE1, 0xFE, 0x0F, 0xF0, 0x7E, + 0x01, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x70, 0x03, 0xE0, 0x0F, 0x80, 0x3E, + 0x00, 0x70, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0xE0, 0x1F, 0xF8, 0x0F, 0x0F, + 0x07, 0x01, 0xC3, 0x80, 0x71, 0xE0, 0x1C, 0x70, 0x0E, 0x18, 0x0F, 0x8E, + 0x1F, 0xE3, 0x8F, 0xF0, 0xE7, 0x9C, 0x33, 0xC7, 0x1C, 0xE1, 0xC7, 0x38, + 0x71, 0xCF, 0x18, 0x73, 0xFE, 0x38, 0x7F, 0xCE, 0x0F, 0xF3, 0x80, 0x00, + 0xE0, 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0xC0, 0x7F, 0xF0, 0x0F, + 0xF8, 0x01, 0xF8, 0x00, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, + 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xBC, 0x00, + 0x1C, 0xF0, 0x00, 0xF3, 0xC0, 0x07, 0x87, 0x80, 0x1E, 0x1E, 0x00, 0xF0, + 0x78, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0x80, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, + 0x1E, 0x00, 0xF1, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE1, 0xFF, 0xFF, + 0x07, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFF, 0x87, 0xFF, 0xFC, 0x1F, 0xFF, + 0xF0, 0x38, 0x0F, 0x81, 0xC0, 0x3C, 0x1E, 0x01, 0xE0, 0xF0, 0x3E, 0x07, + 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0xE0, 0x1F, + 0x87, 0x00, 0x3C, 0x38, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0xF3, 0xFF, + 0xFF, 0xBF, 0xFF, 0xF9, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0x00, 0x00, 0x7F, + 0x30, 0x0F, 0xFF, 0xC1, 0xFF, 0xFE, 0x1F, 0xFF, 0xF1, 0xF8, 0x3F, 0x1F, + 0x00, 0x78, 0xF0, 0x03, 0xCF, 0x80, 0x1C, 0x78, 0x00, 0x03, 0xC0, 0x00, + 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, + 0x00, 0x1F, 0x00, 0x38, 0x7E, 0x07, 0xC3, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, + 0x3F, 0xFC, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xFF, 0x80, 0x7F, 0xFE, 0x07, + 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x78, 0x1F, 0x03, 0x80, 0x7C, 0x1C, 0x01, + 0xE1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x70, 0x03, 0xC3, 0x80, 0x1E, 0x1C, + 0x00, 0xF1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x70, 0x07, 0xC3, 0x80, 0x7C, + 0x3C, 0x07, 0xC3, 0xFF, 0xFC, 0x3F, 0xFF, 0xC1, 0xFF, 0xFC, 0x0F, 0xFF, + 0x80, 0x00, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC3, 0xFF, + 0xFF, 0x03, 0xC0, 0x3C, 0x0F, 0x00, 0xE0, 0x3C, 0x73, 0x80, 0xE3, 0xCC, + 0x03, 0xFF, 0x00, 0x1F, 0xFC, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, + 0x1E, 0x00, 0x3C, 0x70, 0x00, 0xF0, 0x07, 0x03, 0xC0, 0x1C, 0x0E, 0x00, + 0xF1, 0xFF, 0xFF, 0xC7, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE0, + 0x07, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xE0, + 0x3C, 0x01, 0xC0, 0x70, 0x07, 0x80, 0xE1, 0x8E, 0x03, 0xC7, 0x1C, 0x07, + 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0xF1, + 0xC0, 0x01, 0xE3, 0x80, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x0F, 0xFE, 0x00, + 0x00, 0x00, 0x3F, 0x18, 0x0F, 0xFF, 0xC0, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, + 0xFC, 0x0F, 0x0F, 0x80, 0x38, 0xF8, 0x01, 0x87, 0x80, 0x00, 0x78, 0x00, + 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x7F, 0xEF, 0x07, 0xFF, 0x78, + 0x3F, 0xFB, 0xC0, 0xFF, 0x9E, 0x00, 0x38, 0xFC, 0x03, 0xC3, 0xFF, 0xFE, + 0x1F, 0xFF, 0xE0, 0x3F, 0xFC, 0x00, 0x7F, 0x80, 0x00, 0x03, 0xF8, 0xFE, + 0x0F, 0xF3, 0xFC, 0x1F, 0xE7, 0xF8, 0x3F, 0x8F, 0xE0, 0x3C, 0x07, 0x80, + 0x70, 0x0E, 0x00, 0xE0, 0x1C, 0x03, 0xC0, 0x78, 0x07, 0x80, 0xF0, 0x0F, + 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0xFF, 0xFE, 0x01, 0xE0, + 0x3C, 0x03, 0x80, 0x70, 0x07, 0x00, 0xE0, 0x1E, 0x03, 0xC0, 0xFF, 0x1F, + 0xE1, 0xFE, 0x7F, 0xC7, 0xFC, 0xFF, 0x87, 0xF1, 0xFE, 0x00, 0x07, 0xFF, + 0xE1, 0xFF, 0xFC, 0x3F, 0xFF, 0x87, 0xFF, 0xE0, 0x07, 0x80, 0x00, 0xE0, + 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0x80, + 0x00, 0x70, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0E, 0x00, + 0x01, 0xC0, 0x0F, 0xFF, 0xC3, 0xFF, 0xF8, 0x7F, 0xFF, 0x07, 0xFF, 0xE0, + 0x00, 0x3F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, + 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x1C, 0x03, 0x80, + 0x78, 0x0F, 0x00, 0xF0, 0x1E, 0x01, 0xC0, 0x38, 0x07, 0x80, 0x70, 0x1F, + 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFC, 0x00, + 0x00, 0x07, 0xF8, 0xFC, 0x1F, 0xFB, 0xFC, 0x3F, 0xE7, 0xF0, 0x7F, 0xCF, + 0xE0, 0x3C, 0x1E, 0x00, 0x70, 0xF8, 0x00, 0xE3, 0xE0, 0x03, 0xCF, 0x00, + 0x07, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xF0, 0x00, + 0xF9, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0x83, 0xE0, 0x07, 0x03, 0xC0, 0x1E, + 0x07, 0x80, 0xFF, 0x8F, 0xE3, 0xFF, 0x0F, 0xC7, 0xFE, 0x1F, 0x8F, 0xF8, + 0x3E, 0x00, 0x0F, 0xFE, 0x00, 0xFF, 0xF0, 0x1F, 0xFE, 0x00, 0xFF, 0xE0, + 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0xC0, + 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, 0x60, 0x78, + 0x0F, 0x07, 0x80, 0xF0, 0x70, 0x0E, 0x07, 0x00, 0xE7, 0xFF, 0xFE, 0xFF, + 0xFF, 0xEF, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0x0F, 0xC0, 0x1F, 0x87, 0xE0, + 0x0F, 0xC7, 0xF8, 0x0F, 0xE1, 0xFC, 0x0F, 0xE0, 0x7E, 0x07, 0xE0, 0x3F, + 0x07, 0xF0, 0x3F, 0xC7, 0xF8, 0x1F, 0xE3, 0xF8, 0x0E, 0xF3, 0xDC, 0x07, + 0x7B, 0xDE, 0x03, 0x9F, 0xEF, 0x03, 0xCF, 0xE7, 0x81, 0xE7, 0xE3, 0x80, + 0xE3, 0xF1, 0xC0, 0x70, 0xF1, 0xE0, 0x38, 0x70, 0xF0, 0x3C, 0x00, 0x70, + 0x3F, 0xC1, 0xFE, 0x3F, 0xE1, 0xFF, 0x1F, 0xF0, 0xFF, 0x8F, 0xF0, 0x7F, + 0x80, 0x0F, 0xC1, 0xFE, 0x1F, 0xC1, 0xFF, 0x1F, 0xC3, 0xFE, 0x1F, 0xE1, + 0xFE, 0x07, 0xE0, 0x38, 0x07, 0xF0, 0x78, 0x07, 0xF0, 0x78, 0x0F, 0xF8, + 0x70, 0x0F, 0x78, 0x70, 0x0E, 0x78, 0xF0, 0x0E, 0x7C, 0xF0, 0x1E, 0x3C, + 0xF0, 0x1E, 0x3E, 0xE0, 0x1E, 0x1E, 0xE0, 0x1C, 0x1F, 0xE0, 0x1C, 0x0F, + 0xE0, 0x3C, 0x0F, 0xE0, 0x7F, 0x87, 0xC0, 0xFF, 0x87, 0xC0, 0xFF, 0x87, + 0xC0, 0xFF, 0x03, 0xC0, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x07, 0xFF, 0xC0, + 0xFF, 0xFE, 0x1F, 0x87, 0xE3, 0xE0, 0x1F, 0x3C, 0x01, 0xF7, 0xC0, 0x0F, + 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x01, + 0xEF, 0x00, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x7C, 0x7C, 0x1F, 0x87, 0xFF, + 0xF0, 0x3F, 0xFE, 0x01, 0xFF, 0x80, 0x07, 0xE0, 0x00, 0x0F, 0xFF, 0x80, + 0x7F, 0xFF, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x38, 0x0F, 0x81, 0xC0, + 0x3C, 0x1E, 0x01, 0xE0, 0xF0, 0x0F, 0x07, 0x00, 0xF0, 0x38, 0x0F, 0x83, + 0xFF, 0xF8, 0x1F, 0xFF, 0x80, 0xFF, 0xF8, 0x07, 0xFF, 0x00, 0x38, 0x00, + 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x03, 0xFF, 0x80, 0x3F, 0xFC, 0x01, 0xFF, + 0xE0, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x07, 0xFF, + 0xC0, 0xFF, 0xFE, 0x1F, 0x87, 0xE3, 0xE0, 0x1F, 0x3C, 0x01, 0xF7, 0xC0, + 0x0F, 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, + 0x01, 0xEF, 0x00, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x7C, 0x7C, 0x1F, 0x87, + 0xFF, 0xF0, 0x3F, 0xFE, 0x01, 0xFF, 0x80, 0x07, 0xE0, 0x01, 0xFE, 0x30, + 0x3F, 0xFF, 0x87, 0xFF, 0xF0, 0x7F, 0xFF, 0x07, 0x83, 0xC0, 0x07, 0xFF, + 0x80, 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x03, 0xFF, 0xFE, 0x03, 0xC0, 0xF8, + 0x0E, 0x01, 0xE0, 0x38, 0x07, 0x81, 0xE0, 0x3E, 0x07, 0x83, 0xF0, 0x1F, + 0xFF, 0x80, 0x7F, 0xFC, 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0x3C, 0x3E, + 0x00, 0xE0, 0x7C, 0x03, 0x80, 0xF0, 0x1E, 0x03, 0xE1, 0xFF, 0x07, 0xFF, + 0xFC, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0x80, 0xF8, 0x00, 0x7C, 0xE0, 0x7F, + 0xFC, 0x1F, 0xFF, 0x87, 0xFF, 0xE0, 0xF8, 0x7C, 0x3C, 0x07, 0x87, 0x80, + 0xE0, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xFE, 0x00, 0x3F, 0xF8, 0x03, 0xFF, + 0x80, 0x07, 0xF8, 0x40, 0x1F, 0x3C, 0x01, 0xE7, 0x80, 0x3C, 0xFC, 0x1F, + 0x1F, 0xFF, 0xE3, 0xFF, 0xF8, 0x7F, 0xFE, 0x00, 0x7E, 0x00, 0x7F, 0xFF, + 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0x0E, 0x1F, 0xE1, 0xC3, + 0xBC, 0x78, 0x77, 0x0F, 0x1E, 0xE1, 0xC1, 0x80, 0x38, 0x00, 0x0F, 0x00, + 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x3C, 0x00, + 0x07, 0x80, 0x0F, 0xFE, 0x03, 0xFF, 0xE0, 0x7F, 0xFC, 0x0F, 0xFF, 0x00, + 0x7F, 0x8F, 0xF3, 0xFE, 0x7F, 0xDF, 0xF7, 0xFC, 0xFF, 0x1F, 0xE3, 0xC0, + 0x3C, 0x1C, 0x01, 0xE0, 0xE0, 0x0F, 0x0F, 0x00, 0x70, 0x78, 0x03, 0x83, + 0xC0, 0x3C, 0x1C, 0x01, 0xE0, 0xE0, 0x0E, 0x0F, 0x00, 0x70, 0x78, 0x03, + 0x83, 0xC0, 0x3C, 0x1F, 0x01, 0xC0, 0xFC, 0x3E, 0x03, 0xFF, 0xE0, 0x1F, + 0xFE, 0x00, 0x7F, 0xE0, 0x00, 0xFC, 0x00, 0x00, 0x7F, 0x81, 0xFE, 0xFF, + 0x87, 0xFF, 0xFF, 0x0F, 0xFB, 0xFC, 0x1F, 0xE1, 0xC0, 0x0F, 0x03, 0xC0, + 0x1C, 0x07, 0x80, 0x78, 0x0F, 0x01, 0xE0, 0x1E, 0x03, 0x80, 0x1E, 0x0F, + 0x00, 0x3C, 0x3C, 0x00, 0x78, 0x70, 0x00, 0xF1, 0xE0, 0x01, 0xE7, 0x80, + 0x01, 0xEF, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, + 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7F, 0x87, 0xFF, + 0xFF, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE1, 0xFE, 0x78, 0x00, 0xF1, 0xE3, + 0xC3, 0x87, 0x8F, 0x0E, 0x1E, 0x7C, 0x78, 0x79, 0xF9, 0xC1, 0xEF, 0xEF, + 0x07, 0xBF, 0xBC, 0x1D, 0xFE, 0xE0, 0x77, 0x7F, 0x81, 0xFD, 0xFE, 0x07, + 0xE3, 0xF0, 0x3F, 0x8F, 0xC0, 0xFC, 0x3F, 0x03, 0xF0, 0xF8, 0x0F, 0x83, + 0xE0, 0x3E, 0x0F, 0x80, 0xF0, 0x3C, 0x00, 0x07, 0xE0, 0x7E, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFE, 0x0F, 0xE0, 0xFE, 0x03, 0xC0, 0xF8, 0x01, 0xE1, + 0xE0, 0x01, 0xF3, 0xC0, 0x00, 0xF7, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xEF, + 0x00, 0x07, 0xCF, 0x80, 0x0F, 0x87, 0xC0, 0x1F, 0x03, 0xC0, 0x7F, 0x07, + 0xF0, 0xFF, 0x8F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xE0, 0x7E, 0x0F, + 0xEF, 0xF0, 0xFF, 0xFF, 0x0F, 0xEF, 0xE0, 0xFE, 0x3C, 0x0F, 0x01, 0xE1, + 0xE0, 0x1E, 0x3E, 0x00, 0xF7, 0xC0, 0x0F, 0xF8, 0x00, 0x7F, 0x00, 0x07, + 0xE0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, + 0x78, 0x00, 0x07, 0x00, 0x07, 0xFF, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, 0x00, + 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xE0, 0xFF, 0xFC, 0x3F, 0xFF, 0x87, 0xFF, + 0xF0, 0xF0, 0x7C, 0x1C, 0x1F, 0x03, 0x87, 0xC0, 0x61, 0xF0, 0x00, 0x7C, + 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x07, + 0x07, 0xC0, 0xE1, 0xF0, 0x3C, 0x7C, 0x07, 0x9F, 0xFF, 0xF3, 0xFF, 0xFC, + 0x7F, 0xFF, 0x8F, 0xFF, 0xF0, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, + 0x70, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x3C, + 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x0E, 0x00, + 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, + 0x80, 0xE0, 0x38, 0x0F, 0x03, 0xC0, 0xF0, 0x1C, 0x07, 0x81, 0xE0, 0x78, + 0x0E, 0x03, 0xC0, 0xF0, 0x3C, 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, + 0xF0, 0x3C, 0x0F, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, 0xF0, 0x3C, 0x06, + 0x07, 0xF8, 0x3F, 0xC1, 0xFC, 0x0F, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, + 0x1C, 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0F, + 0x00, 0x78, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, + 0x1C, 0x0F, 0xE0, 0xFF, 0x07, 0xF0, 0x3F, 0x80, 0x00, 0x40, 0x01, 0x80, + 0x07, 0x80, 0x3F, 0x80, 0xFF, 0x03, 0xFF, 0x0F, 0x9F, 0x3E, 0x1E, 0xF8, + 0x3F, 0xE0, 0x3F, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xC3, 0xC7, 0x0E, 0x3C, 0x30, 0x00, 0xFE, 0x00, + 0x7F, 0xF0, 0x1F, 0xFF, 0x03, 0xFF, 0xE0, 0x00, 0x3C, 0x07, 0xFF, 0x83, + 0xFF, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0x80, 0xF3, 0xE0, 0x1E, 0x78, + 0x1F, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xF8, 0xFE, 0x7E, 0x07, + 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xC0, + 0x00, 0x0F, 0x00, 0x00, 0x3C, 0xFC, 0x00, 0xEF, 0xFC, 0x03, 0xFF, 0xF8, + 0x1F, 0xFF, 0xE0, 0x7E, 0x0F, 0xC1, 0xE0, 0x1F, 0x07, 0x00, 0x3C, 0x1C, + 0x00, 0xF0, 0xE0, 0x03, 0xC3, 0x80, 0x1E, 0x0F, 0x00, 0xF8, 0x3E, 0x07, + 0xC7, 0xFF, 0xFF, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0x81, 0xF1, 0xF8, 0x00, + 0x00, 0xFE, 0x60, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, 0xF0, 0x3C, + 0xF8, 0x03, 0x9E, 0x00, 0x67, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, + 0xC0, 0x00, 0x7E, 0x01, 0xC7, 0xFF, 0xF8, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, + 0x7F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, + 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, 0x07, 0xE3, 0x80, 0xFF, 0xDC, 0x0F, + 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xC1, 0xF0, 0xF8, 0x07, 0x87, 0x80, 0x1C, + 0x78, 0x00, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x70, 0xF0, 0x07, 0x87, 0xE0, + 0xFC, 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xC3, 0xFF, 0xFE, 0x07, 0xE3, 0xE0, + 0x00, 0xFC, 0x01, 0xFF, 0xC0, 0xFF, 0xF8, 0x7F, 0xFE, 0x3E, 0x0F, 0xCE, + 0x00, 0xF7, 0x00, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xE0, 0x1E, 0xFF, 0xFF, 0x9F, 0xFF, 0xE3, 0xFF, 0xF0, 0x3F, 0xF0, + 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0xC0, 0x1F, 0xFE, 0x01, 0xFF, 0xE0, 0x0F, + 0x00, 0x00, 0xF0, 0x00, 0x3F, 0xFF, 0x03, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, + 0xFF, 0xFC, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x01, 0xC0, + 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x1F, + 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0xFE, 0x00, 0x01, 0xF9, + 0xF8, 0x3F, 0xFF, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xE3, 0xE0, 0xFC, 0x3E, + 0x03, 0xE1, 0xE0, 0x0E, 0x1E, 0x00, 0x70, 0xF0, 0x03, 0x87, 0x80, 0x3C, + 0x3E, 0x03, 0xE1, 0xF8, 0x7E, 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x80, 0xFF, + 0xFC, 0x01, 0xF9, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, + 0x7F, 0xF8, 0x07, 0xFF, 0x80, 0x3F, 0xF8, 0x00, 0xFF, 0x00, 0x00, 0x0F, + 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x03, 0xC0, 0x00, + 0x38, 0x00, 0x03, 0x9F, 0x00, 0x7F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xFE, + 0x07, 0xC3, 0xE0, 0x70, 0x1E, 0x0F, 0x01, 0xC0, 0xF0, 0x1C, 0x0E, 0x03, + 0xC0, 0xE0, 0x3C, 0x1E, 0x03, 0x81, 0xE0, 0x38, 0x7F, 0x0F, 0xFF, 0xF8, + 0xFF, 0xFF, 0x8F, 0xF7, 0xF0, 0xFE, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, + 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x1F, 0xF0, + 0x0F, 0xF0, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, + 0x01, 0xE0, 0x01, 0xC0, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x3F, 0xFE, 0x0F, 0xFF, 0x81, 0xFF, + 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xF0, + 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x78, 0x00, + 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x1F, 0xFE, + 0x0F, 0xFF, 0x03, 0xFF, 0x80, 0x7F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0xFE, + 0x00, 0x0F, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0xC0, 0x00, 0x3C, 0x00, 0x03, + 0xCF, 0xF0, 0x3C, 0xFF, 0x03, 0x9F, 0xF0, 0x38, 0xFE, 0x07, 0xBF, 0x00, + 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, + 0x0F, 0x7E, 0x00, 0xE3, 0xF0, 0x7E, 0x1F, 0xE7, 0xE1, 0xFE, 0xFE, 0x3F, + 0xE7, 0xE1, 0xFC, 0x03, 0xFC, 0x07, 0xFC, 0x07, 0xF8, 0x07, 0xF8, 0x00, + 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, + 0xF0, 0x00, 0xE0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, + 0xC0, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, + 0x7C, 0x78, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF0, 0xF1, + 0xF1, 0xE1, 0xC3, 0x83, 0xC7, 0x87, 0x07, 0x8F, 0x0E, 0x0E, 0x1C, 0x3C, + 0x1C, 0x38, 0x78, 0x78, 0x70, 0xE0, 0xF1, 0xE1, 0xC1, 0xC7, 0xE3, 0xC3, + 0xFF, 0xCF, 0xC7, 0xFF, 0x9F, 0x9F, 0xFF, 0x3E, 0x3E, 0x0F, 0x8F, 0x80, + 0xFD, 0xFF, 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xE0, 0x7E, 0x1F, 0x07, 0xC0, + 0x78, 0x3C, 0x03, 0x81, 0xE0, 0x1C, 0x0E, 0x01, 0xE0, 0x70, 0x0F, 0x07, + 0x80, 0x70, 0x3C, 0x03, 0x87, 0xF0, 0x3F, 0x7F, 0xC3, 0xFF, 0xFE, 0x1F, + 0xEF, 0xE0, 0xFE, 0x01, 0xFC, 0x01, 0xFF, 0x80, 0xFF, 0xF8, 0x7F, 0xFE, + 0x3E, 0x0F, 0xDF, 0x01, 0xF7, 0x80, 0x3F, 0xC0, 0x0F, 0xF0, 0x03, 0xFC, + 0x01, 0xEF, 0x80, 0xFB, 0xF0, 0x7C, 0x7F, 0xFF, 0x1F, 0xFF, 0x03, 0xFF, + 0x80, 0x3F, 0x80, 0x07, 0xC7, 0xE0, 0x1F, 0xBF, 0xF0, 0x3F, 0xFF, 0xF0, + 0x7F, 0xFF, 0xE0, 0x3F, 0x07, 0xE0, 0x78, 0x03, 0xC0, 0xE0, 0x07, 0x81, + 0xC0, 0x0F, 0x07, 0x00, 0x1E, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xF0, 0x3E, + 0x07, 0xC0, 0xFF, 0xFF, 0x81, 0xFF, 0xFE, 0x03, 0xDF, 0xF0, 0x07, 0x1F, + 0x80, 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x03, 0xFE, 0x00, + 0x0F, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x01, 0xF8, + 0xF8, 0x1F, 0xFF, 0xF1, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x3E, 0x07, 0xC1, + 0xF0, 0x0F, 0x07, 0x80, 0x1C, 0x3C, 0x00, 0x70, 0xF0, 0x03, 0x83, 0xC0, + 0x0E, 0x0F, 0x80, 0x78, 0x3F, 0x07, 0xE0, 0x7F, 0xFF, 0x81, 0xFF, 0xFC, + 0x03, 0xFF, 0x70, 0x03, 0xF3, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0xE0, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0x00, 0x1F, + 0xF8, 0x00, 0x0F, 0xC3, 0xC1, 0xFC, 0xFF, 0x1F, 0xFF, 0xF1, 0xFF, 0xFE, + 0x03, 0xFC, 0x00, 0x3F, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x07, 0x80, + 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0xFF, 0xFC, 0x0F, 0xFF, + 0xE0, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x03, 0xF3, 0x0F, 0xFF, 0x3F, 0xFF, + 0x3F, 0xFF, 0x7C, 0x0E, 0x78, 0x00, 0x7F, 0xE0, 0x3F, 0xFC, 0x1F, 0xFF, + 0x00, 0x3F, 0x70, 0x0F, 0xF8, 0x1F, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xF8, + 0x0F, 0xE0, 0x06, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x7F, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFC, 0x1C, 0x00, 0x3C, 0x00, + 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0x7C, 0x0E, + 0x7F, 0xFF, 0x7F, 0xFE, 0x3F, 0xFC, 0x0F, 0xE0, 0x7C, 0x0F, 0xFF, 0x07, + 0xFF, 0x81, 0xFF, 0xE0, 0x7E, 0x78, 0x03, 0x9E, 0x00, 0xE7, 0x80, 0x79, + 0xE0, 0x1E, 0x78, 0x07, 0x1E, 0x01, 0xC7, 0x80, 0xF1, 0xE0, 0xFC, 0x7F, + 0xFF, 0x9F, 0xFF, 0xE3, 0xFF, 0xF8, 0x3E, 0x7C, 0x7F, 0x87, 0xFF, 0xFC, + 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F, 0xE1, 0xE0, 0x3C, 0x0F, 0x03, 0xC0, + 0x78, 0x3C, 0x01, 0xE1, 0xC0, 0x0F, 0x1E, 0x00, 0x79, 0xE0, 0x03, 0xCE, + 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0x80, 0x00, + 0x78, 0x00, 0x7E, 0x03, 0xF7, 0xF0, 0x3F, 0xFF, 0x81, 0xFD, 0xF8, 0x0F, + 0xE7, 0x8E, 0x1C, 0x3C, 0xF9, 0xE1, 0xE7, 0xCE, 0x0F, 0x7E, 0xF0, 0x7B, + 0xF7, 0x03, 0xFF, 0xF8, 0x1F, 0xDF, 0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xE0, + 0x3E, 0x3E, 0x01, 0xF1, 0xF0, 0x0F, 0x07, 0x00, 0x0F, 0xE3, 0xF8, 0xFF, + 0x1F, 0xC7, 0xF9, 0xFE, 0x1F, 0x87, 0xF0, 0x7E, 0x7C, 0x01, 0xFF, 0xC0, + 0x07, 0xFC, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x01, 0xF7, + 0xC0, 0x1F, 0x1F, 0x03, 0xF0, 0x7C, 0x7F, 0xCF, 0xFB, 0xFE, 0x7F, 0xDF, + 0xE3, 0xFC, 0x07, 0xF0, 0x7F, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x07, + 0xE0, 0xFE, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0xF0, 0x01, + 0xE1, 0xE0, 0x01, 0xE1, 0xC0, 0x01, 0xE3, 0xC0, 0x00, 0xF7, 0x80, 0x00, + 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x7F, + 0xF0, 0x00, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xF0, 0x00, 0x1F, + 0xFF, 0xC7, 0xFF, 0xF1, 0xFF, 0xF8, 0xFF, 0xFE, 0x3C, 0x1F, 0x0E, 0x1F, + 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, + 0xF8, 0x3C, 0xFF, 0xFF, 0x3F, 0xFF, 0xCF, 0xFF, 0xE3, 0xFF, 0xF8, 0x00, + 0xF0, 0x1F, 0x03, 0xF0, 0x7E, 0x07, 0x80, 0x70, 0x0F, 0x00, 0xF0, 0x0E, + 0x00, 0xE0, 0x1E, 0x01, 0xC0, 0xFC, 0x0F, 0x80, 0xF8, 0x0F, 0xC0, 0x3C, + 0x03, 0xC0, 0x38, 0x03, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0xE0, 0x7E, + 0x03, 0xE0, 0x1C, 0x00, 0x02, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, + 0x1E, 0x1E, 0x1C, 0x1C, 0x1C, 0x3C, 0x3C, 0x38, 0x38, 0x38, 0x78, 0x78, + 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xE0, 0xE0, 0x01, 0xC0, 0x1F, 0x00, 0xFC, + 0x07, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x0F, 0x00, + 0x78, 0x03, 0xC0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x3F, 0x03, 0xC0, 0x1C, + 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x0F, 0xE0, 0x7E, 0x07, + 0xE0, 0x1E, 0x00, 0x0F, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xFF, 0xFC, 0xFF, + 0x3F, 0xFF, 0x0F, 0xF8, 0x03, 0xF8, 0x00, 0xF0 }; + +const GFXglyph FreeMonoBoldOblique18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' + { 0, 9, 22, 21, 9, -21 }, // 0x21 '!' + { 25, 12, 10, 21, 9, -20 }, // 0x22 '"' + { 40, 18, 25, 21, 4, -22 }, // 0x23 '#' + { 97, 18, 28, 21, 4, -23 }, // 0x24 '$' + { 160, 16, 21, 21, 5, -20 }, // 0x25 '%' + { 202, 16, 20, 21, 4, -19 }, // 0x26 '&' + { 242, 5, 10, 21, 12, -20 }, // 0x27 ''' + { 249, 10, 27, 21, 11, -21 }, // 0x28 '(' + { 283, 10, 27, 21, 4, -21 }, // 0x29 ')' + { 317, 15, 15, 21, 6, -21 }, // 0x2A '*' + { 346, 18, 19, 21, 4, -18 }, // 0x2B '+' + { 389, 9, 10, 21, 4, -3 }, // 0x2C ',' + { 401, 18, 4, 21, 4, -11 }, // 0x2D '-' + { 410, 5, 5, 21, 8, -4 }, // 0x2E '.' + { 414, 21, 28, 21, 2, -23 }, // 0x2F '/' + { 488, 17, 23, 21, 5, -22 }, // 0x30 '0' + { 537, 15, 22, 21, 3, -21 }, // 0x31 '1' + { 579, 20, 23, 21, 2, -22 }, // 0x32 '2' + { 637, 18, 23, 21, 3, -22 }, // 0x33 '3' + { 689, 16, 21, 21, 4, -20 }, // 0x34 '4' + { 731, 18, 22, 21, 4, -21 }, // 0x35 '5' + { 781, 19, 23, 21, 5, -22 }, // 0x36 '6' + { 836, 16, 22, 21, 6, -21 }, // 0x37 '7' + { 880, 19, 23, 21, 3, -22 }, // 0x38 '8' + { 935, 18, 23, 21, 4, -22 }, // 0x39 '9' + { 987, 7, 16, 21, 9, -15 }, // 0x3A ':' + { 1001, 11, 22, 21, 4, -15 }, // 0x3B ';' + { 1032, 18, 16, 21, 4, -17 }, // 0x3C '<' + { 1068, 19, 10, 21, 3, -14 }, // 0x3D '=' + { 1092, 19, 16, 21, 3, -17 }, // 0x3E '>' + { 1130, 14, 21, 21, 8, -20 }, // 0x3F '?' + { 1167, 18, 27, 21, 3, -21 }, // 0x40 '@' + { 1228, 22, 21, 21, 0, -20 }, // 0x41 'A' + { 1286, 21, 21, 21, 1, -20 }, // 0x42 'B' + { 1342, 21, 21, 21, 2, -20 }, // 0x43 'C' + { 1398, 21, 21, 21, 1, -20 }, // 0x44 'D' + { 1454, 22, 21, 21, 0, -20 }, // 0x45 'E' + { 1512, 23, 21, 21, 0, -20 }, // 0x46 'F' + { 1573, 21, 21, 21, 2, -20 }, // 0x47 'G' + { 1629, 23, 21, 21, 0, -20 }, // 0x48 'H' + { 1690, 19, 21, 21, 2, -20 }, // 0x49 'I' + { 1740, 23, 21, 21, 0, -20 }, // 0x4A 'J' + { 1801, 23, 21, 21, 0, -20 }, // 0x4B 'K' + { 1862, 20, 21, 21, 1, -20 }, // 0x4C 'L' + { 1915, 25, 21, 21, 0, -20 }, // 0x4D 'M' + { 1981, 24, 21, 21, 1, -20 }, // 0x4E 'N' + { 2044, 20, 21, 21, 2, -20 }, // 0x4F 'O' + { 2097, 21, 21, 21, 1, -20 }, // 0x50 'P' + { 2153, 20, 26, 21, 2, -20 }, // 0x51 'Q' + { 2218, 22, 21, 21, 0, -20 }, // 0x52 'R' + { 2276, 19, 21, 21, 3, -20 }, // 0x53 'S' + { 2326, 19, 21, 21, 3, -20 }, // 0x54 'T' + { 2376, 21, 21, 21, 3, -20 }, // 0x55 'U' + { 2432, 23, 21, 21, 1, -20 }, // 0x56 'V' + { 2493, 22, 21, 21, 2, -20 }, // 0x57 'W' + { 2551, 24, 21, 21, 0, -20 }, // 0x58 'X' + { 2614, 20, 21, 21, 3, -20 }, // 0x59 'Y' + { 2667, 19, 21, 21, 2, -20 }, // 0x5A 'Z' + { 2717, 13, 27, 21, 8, -21 }, // 0x5B '[' + { 2761, 10, 28, 21, 8, -23 }, // 0x5C '\' + { 2796, 13, 27, 21, 4, -21 }, // 0x5D ']' + { 2840, 15, 11, 21, 6, -21 }, // 0x5E '^' + { 2861, 21, 4, 21, -1, 4 }, // 0x5F '_' + { 2872, 6, 6, 21, 10, -22 }, // 0x60 '`' + { 2877, 19, 16, 21, 2, -15 }, // 0x61 'a' + { 2915, 22, 22, 21, 0, -21 }, // 0x62 'b' + { 2976, 19, 16, 21, 3, -15 }, // 0x63 'c' + { 3014, 21, 22, 21, 3, -21 }, // 0x64 'd' + { 3072, 18, 16, 21, 3, -15 }, // 0x65 'e' + { 3108, 21, 22, 21, 3, -21 }, // 0x66 'f' + { 3166, 21, 23, 21, 2, -15 }, // 0x67 'g' + { 3227, 20, 22, 21, 1, -21 }, // 0x68 'h' + { 3282, 16, 22, 21, 3, -21 }, // 0x69 'i' + { 3326, 18, 29, 21, 2, -21 }, // 0x6A 'j' + { 3392, 20, 22, 21, 1, -21 }, // 0x6B 'k' + { 3447, 16, 22, 21, 3, -21 }, // 0x6C 'l' + { 3491, 23, 16, 21, 0, -15 }, // 0x6D 'm' + { 3537, 21, 16, 21, 1, -15 }, // 0x6E 'n' + { 3579, 18, 16, 21, 3, -15 }, // 0x6F 'o' + { 3615, 23, 23, 21, -1, -15 }, // 0x70 'p' + { 3682, 22, 23, 21, 2, -15 }, // 0x71 'q' + { 3746, 20, 16, 21, 2, -15 }, // 0x72 'r' + { 3786, 16, 16, 21, 4, -15 }, // 0x73 's' + { 3818, 16, 21, 21, 4, -20 }, // 0x74 't' + { 3860, 18, 16, 21, 3, -15 }, // 0x75 'u' + { 3896, 21, 16, 21, 2, -15 }, // 0x76 'v' + { 3938, 21, 16, 21, 3, -15 }, // 0x77 'w' + { 3980, 21, 16, 21, 1, -15 }, // 0x78 'x' + { 4022, 24, 23, 21, -1, -15 }, // 0x79 'y' + { 4091, 18, 16, 21, 3, -15 }, // 0x7A 'z' + { 4127, 12, 27, 21, 8, -21 }, // 0x7B '{' + { 4168, 8, 27, 21, 8, -21 }, // 0x7C '|' + { 4195, 13, 27, 21, 4, -21 }, // 0x7D '}' + { 4239, 17, 8, 21, 4, -13 } }; // 0x7E '~' + +const GFXfont FreeMonoBoldOblique18pt7b PROGMEM = { + (uint8_t *)FreeMonoBoldOblique18pt7bBitmaps, + (GFXglyph *)FreeMonoBoldOblique18pt7bGlyphs, + 0x20, 0x7E, 35 }; + +// Approx. 4928 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h new file mode 100644 index 0000000..a2bbbdf --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h @@ -0,0 +1,742 @@ +const uint8_t FreeMonoBoldOblique24pt7bBitmaps[] PROGMEM = { + 0x01, 0xE0, 0x3F, 0x07, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xE0, 0xFE, + 0x0F, 0xE0, 0xFE, 0x0F, 0xC0, 0xFC, 0x1F, 0xC1, 0xF8, 0x1F, 0x81, 0xF8, + 0x1F, 0x81, 0xF0, 0x1F, 0x01, 0xF0, 0x1E, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xC0, 0x7E, 0x0F, 0xE0, 0xFE, 0x0F, 0xC0, 0x78, 0x00, 0x7E, + 0x1F, 0xBF, 0x0F, 0xDF, 0x87, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF1, + 0xE0, 0xF8, 0xF0, 0x7C, 0x78, 0x3C, 0x38, 0x1E, 0x1C, 0x0F, 0x0E, 0x07, + 0x0E, 0x03, 0x83, 0x01, 0x80, 0x00, 0x1C, 0x1C, 0x00, 0x3E, 0x3E, 0x00, + 0x3E, 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, 0x00, + 0x7C, 0x7C, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x0F, + 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, + 0xFF, 0xFE, 0x03, 0xE3, 0xE0, 0x03, 0xE3, 0xE0, 0x03, 0xC3, 0xC0, 0x07, + 0xC7, 0xC0, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, + 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0x0F, 0x0F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, + 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x3E, 0x1E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, + 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x7C, 0x7C, 0x00, 0x38, 0x38, 0x00, 0x00, + 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0xFF, 0x00, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0x81, 0xFC, 0x1F, 0xC1, 0xF8, 0x03, 0xC0, 0xF8, 0x01, + 0xE0, 0x7C, 0x00, 0x40, 0x3F, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xFF, + 0x80, 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0x00, 0x00, + 0x7F, 0xC0, 0x00, 0x07, 0xE0, 0xE0, 0x01, 0xF0, 0xF0, 0x00, 0xF8, 0xF8, + 0x00, 0xFC, 0x7E, 0x00, 0xFC, 0x3F, 0x81, 0xFE, 0x1F, 0xFF, 0xFE, 0x0F, + 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x00, + 0x01, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xF8, + 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xE0, 0x03, 0xC3, 0xC0, 0x0E, 0x07, 0x00, + 0x70, 0x1C, 0x01, 0xC0, 0x70, 0x07, 0x01, 0xC0, 0x1C, 0x0E, 0x00, 0x78, + 0x78, 0x00, 0xFF, 0xC0, 0x03, 0xFE, 0x1F, 0x03, 0xE3, 0xFC, 0x00, 0x7F, + 0xC0, 0x0F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xC0, 0x03, 0xF8, 0x7C, 0x0F, + 0x07, 0xFC, 0x00, 0x3F, 0xF0, 0x01, 0xE1, 0xE0, 0x07, 0x03, 0x80, 0x38, + 0x0E, 0x00, 0xE0, 0x38, 0x03, 0x80, 0xE0, 0x0E, 0x07, 0x00, 0x3C, 0x3C, + 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, + 0x01, 0xFF, 0x80, 0x3F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFE, 0x01, 0xF1, + 0xE0, 0x1F, 0x04, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, + 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xE3, + 0xE7, 0xFF, 0x3F, 0x7E, 0xFF, 0xFB, 0xE7, 0xFF, 0x9E, 0x1F, 0xF1, 0xF0, + 0xFF, 0x8F, 0x83, 0xF8, 0x7C, 0x1F, 0xC3, 0xF0, 0xFF, 0x9F, 0xFF, 0xFC, + 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x0F, 0xFD, 0xF0, 0x1F, 0x80, 0x00, 0x7E, + 0xFD, 0xF3, 0xE7, 0xCF, 0x3E, 0x7C, 0xF1, 0xE3, 0xC7, 0x0E, 0x18, 0x00, + 0x00, 0x18, 0x00, 0xF0, 0x07, 0xC0, 0x3F, 0x01, 0xF8, 0x07, 0xC0, 0x3E, + 0x01, 0xF8, 0x07, 0xC0, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0xF8, + 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x3E, 0x00, 0xF8, + 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, + 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x80, 0x7E, 0x00, 0xFC, 0x03, + 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x00, 0xC0, 0x07, 0x80, 0x3F, 0x00, 0xFC, + 0x03, 0xF0, 0x07, 0xE0, 0x1F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xF0, 0x07, + 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, + 0xF0, 0x07, 0xC0, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, + 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, + 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x00, 0xF0, 0x00, 0x00, 0x3C, + 0x00, 0x01, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x08, + 0x3C, 0x09, 0xF9, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, + 0x87, 0xFF, 0xE0, 0x07, 0xF8, 0x00, 0x7F, 0xC0, 0x07, 0xFF, 0x00, 0x7F, + 0xF8, 0x07, 0xE7, 0xE0, 0x3E, 0x3F, 0x01, 0xE0, 0xF8, 0x0E, 0x07, 0x80, + 0x00, 0x07, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x7C, 0x00, + 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xF0, 0x00, + 0x01, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xFC, + 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xE0, 0x3C, 0x07, 0x80, 0x78, 0x0F, 0x00, + 0xE0, 0x0C, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3C, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, + 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xE0, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x01, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, + 0xE0, 0x7F, 0xFF, 0xC0, 0xFC, 0x1F, 0x83, 0xF0, 0x1F, 0x8F, 0xC0, 0x1F, + 0x1F, 0x00, 0x3E, 0x7C, 0x00, 0x7C, 0xF8, 0x00, 0xF9, 0xF0, 0x01, 0xF3, + 0xC0, 0x07, 0xCF, 0x80, 0x0F, 0x9F, 0x00, 0x1E, 0x3E, 0x00, 0x3C, 0x78, + 0x00, 0xF8, 0xF0, 0x01, 0xF3, 0xE0, 0x03, 0xE7, 0xC0, 0x07, 0x8F, 0x80, + 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0x7C, 0x01, 0xF0, 0xFC, 0x07, + 0xC1, 0xFC, 0x3F, 0x81, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, + 0x03, 0xFF, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x7E, + 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xFB, 0xE0, 0x1F, + 0x9E, 0x00, 0xF1, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, + 0x00, 0x1E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, + 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, + 0x03, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, + 0x01, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, + 0xFF, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x03, 0xFF, 0xF0, + 0x01, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x80, 0x7F, 0x07, 0xF0, 0x1F, 0x00, + 0xFC, 0x0F, 0x80, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF0, 0x01, 0xF0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF8, + 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x70, 0x3F, 0x80, 0x3E, 0x1F, + 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xFE, 0x00, 0x1F, + 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x0F, 0x81, 0xFC, 0x07, + 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x0F, 0xC0, + 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xC0, 0x01, 0xFF, 0xC0, 0x01, 0xFF, 0xC0, + 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x1F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, + 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x3C, 0x01, + 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, + 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x07, 0xF0, 0x00, + 0x3F, 0xC0, 0x01, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xE0, 0x03, 0xFF, + 0x80, 0x1F, 0xBE, 0x00, 0x7C, 0xF0, 0x03, 0xE7, 0xC0, 0x1F, 0x1F, 0x00, + 0xF8, 0x7C, 0x07, 0xE1, 0xE0, 0x3F, 0x07, 0x81, 0xF8, 0x3E, 0x07, 0xC0, + 0xF8, 0x3E, 0x03, 0xC1, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, + 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0x80, 0x00, 0xF8, 0x00, 0x3F, 0xF8, 0x01, + 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x7F, 0xF0, 0x01, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, 0x3F, + 0xFF, 0xE0, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, + 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF7, 0xF0, 0x00, 0xFF, 0xFE, 0x00, + 0x7F, 0xFF, 0x80, 0x3F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x0F, 0x01, 0xFC, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, + 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0xF8, 0x3C, 0x03, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, + 0xFC, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0x00, + 0x01, 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, + 0xFF, 0xFE, 0x01, 0xFE, 0x1C, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x0F, + 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x3E, + 0xFF, 0x80, 0x7D, 0xFF, 0xC0, 0x7F, 0xFF, 0xE0, 0x7F, 0xFF, 0xE0, 0x7F, + 0x87, 0xF0, 0xFF, 0x03, 0xF0, 0xFC, 0x01, 0xF0, 0xF8, 0x01, 0xF0, 0xF8, + 0x01, 0xF0, 0xF8, 0x01, 0xF0, 0xF8, 0x03, 0xE0, 0xF8, 0x03, 0xE0, 0xFC, + 0x07, 0xC0, 0xFE, 0x0F, 0xC0, 0x7F, 0xFF, 0x80, 0x7F, 0xFF, 0x00, 0x3F, + 0xFE, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xFF, 0xFD, 0xFF, + 0xFF, 0xE7, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFB, 0xE0, 0x07, + 0xCF, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, + 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x01, + 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, + 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x00, + 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, + 0x00, 0x1F, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0xFF, + 0xE0, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0, 0x7F, 0xFF, 0xC0, 0xFC, 0x1F, + 0xC3, 0xF0, 0x1F, 0x8F, 0xC0, 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0x7C, + 0x7C, 0x01, 0xF0, 0xFC, 0x07, 0xE0, 0xFC, 0x1F, 0x81, 0xFF, 0xFE, 0x01, + 0xFF, 0xF0, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xE0, 0xFE, + 0x0F, 0xC3, 0xF0, 0x0F, 0xC7, 0xC0, 0x0F, 0x9F, 0x00, 0x1F, 0x3E, 0x00, + 0x3E, 0x7C, 0x00, 0xFC, 0xFC, 0x03, 0xF1, 0xFC, 0x1F, 0xE3, 0xFF, 0xFF, + 0x83, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x01, 0xFC, 0x00, + 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xFC, 0x01, 0xFF, + 0xFE, 0x03, 0xFF, 0xFE, 0x03, 0xF0, 0x7F, 0x07, 0xE0, 0x3F, 0x07, 0xC0, + 0x1F, 0x0F, 0xC0, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, + 0x3F, 0x0F, 0xC0, 0x7F, 0x0F, 0xE1, 0xFF, 0x07, 0xFF, 0xFE, 0x07, 0xFF, + 0xFE, 0x03, 0xFF, 0xBE, 0x01, 0xFF, 0x7C, 0x00, 0xFC, 0x7C, 0x00, 0x00, + 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x0F, + 0xE0, 0x00, 0x1F, 0xC0, 0x38, 0x7F, 0x80, 0x7F, 0xFF, 0x00, 0xFF, 0xFE, + 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0x07, 0x83, + 0xF1, 0xFC, 0x7F, 0x1F, 0x83, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x1F, 0x8F, 0xE3, 0xF8, 0xFC, + 0x1E, 0x00, 0x00, 0x3C, 0x00, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xC0, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x03, 0xE0, 0x0F, 0xC0, + 0x1F, 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x38, + 0x00, 0xF0, 0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, + 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x0F, + 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, + 0x3F, 0xE0, 0x00, 0x0F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0xE0, + 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, + 0x80, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, + 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, + 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, + 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x7F, + 0xE0, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x07, 0xFC, + 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0x80, + 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x01, 0xFF, + 0xE1, 0xFF, 0xFE, 0x3F, 0xFF, 0xE7, 0xFF, 0xFF, 0xF8, 0x1F, 0xFE, 0x00, + 0xFF, 0x80, 0x1F, 0xF0, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, + 0xE0, 0x07, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xC0, 0x0F, 0xE0, + 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x00, 0x3F, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, + 0x3F, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xF0, 0x01, + 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xC1, 0xE0, + 0x07, 0x87, 0xC0, 0x0F, 0x0F, 0x00, 0x1C, 0x3C, 0x00, 0x78, 0x78, 0x07, + 0xF1, 0xE0, 0x3F, 0xE3, 0xC1, 0xFF, 0x87, 0x87, 0xFF, 0x0E, 0x1F, 0x9E, + 0x3C, 0x7C, 0x3C, 0x78, 0xF0, 0x78, 0xF3, 0xC0, 0xE1, 0xC7, 0x83, 0xC3, + 0x8F, 0x07, 0x8F, 0x1E, 0x0F, 0x1E, 0x3E, 0x1C, 0x3C, 0x7F, 0xFC, 0x78, + 0x7F, 0xFC, 0xF0, 0x7F, 0xF1, 0xE0, 0x3F, 0xE3, 0xC0, 0x00, 0x07, 0x80, + 0x00, 0x0F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3F, 0x01, + 0xC0, 0x7F, 0xFF, 0x80, 0x7F, 0xFE, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0x80, + 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xE0, + 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, + 0x00, 0x7F, 0xF0, 0x00, 0x01, 0xE7, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, + 0x7C, 0x7C, 0x00, 0x01, 0xE1, 0xF8, 0x00, 0x0F, 0x87, 0xE0, 0x00, 0x7C, + 0x0F, 0x80, 0x01, 0xF0, 0x3E, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x3F, 0xFF, + 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, + 0x01, 0xFF, 0xFF, 0xF8, 0x0F, 0xC0, 0x07, 0xE0, 0x3E, 0x00, 0x0F, 0x87, + 0xFF, 0x03, 0xFF, 0xBF, 0xFC, 0x1F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, + 0xC1, 0xFF, 0xEF, 0xFE, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x3F, + 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, + 0xFF, 0x80, 0x7C, 0x00, 0xFC, 0x03, 0xE0, 0x03, 0xE0, 0x1E, 0x00, 0x1F, + 0x01, 0xF0, 0x00, 0xF8, 0x0F, 0x80, 0x0F, 0x80, 0x7C, 0x01, 0xF8, 0x03, + 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, + 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x03, 0xC0, 0x0F, 0xF0, 0x3E, 0x00, 0x1F, + 0x81, 0xF0, 0x00, 0x7C, 0x0F, 0x80, 0x03, 0xE0, 0x78, 0x00, 0x1F, 0x03, + 0xC0, 0x03, 0xF1, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, + 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0x03, 0xFF, 0xE6, 0x00, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0x03, + 0xFF, 0xFF, 0xF0, 0x7F, 0x81, 0xFF, 0x0F, 0xE0, 0x07, 0xE1, 0xF8, 0x00, + 0x3E, 0x1F, 0x00, 0x03, 0xE3, 0xF0, 0x00, 0x3C, 0x3E, 0x00, 0x03, 0xC7, + 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xC0, + 0x00, 0x70, 0x7E, 0x00, 0x1F, 0x07, 0xF8, 0x07, 0xF0, 0x3F, 0xFF, 0xFF, + 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, 0x07, 0xFF, + 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0x00, 0xFE, + 0x01, 0xF0, 0x07, 0xE0, 0x1E, 0x00, 0x3F, 0x01, 0xE0, 0x01, 0xF0, 0x3E, + 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x03, 0xC0, 0x01, + 0xF0, 0x7C, 0x00, 0x1F, 0x07, 0xC0, 0x03, 0xF0, 0x7C, 0x00, 0x3E, 0x07, + 0x80, 0x03, 0xE0, 0x78, 0x00, 0x7E, 0x0F, 0x80, 0x07, 0xC0, 0xF8, 0x00, + 0xFC, 0x0F, 0x80, 0x1F, 0x80, 0xF0, 0x07, 0xF0, 0x7F, 0xFF, 0xFE, 0x07, + 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, + 0xFE, 0x1F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x00, 0x78, 0x00, 0xF8, + 0x07, 0xC0, 0x07, 0xC0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0xF1, 0xE0, 0x0F, + 0x0F, 0x8E, 0x00, 0x78, 0x7C, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x3F, 0xFE, + 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0xFF, 0xFC, 0x00, + 0x07, 0xC3, 0xC0, 0x00, 0x3E, 0x1E, 0x1E, 0x01, 0xE0, 0xE0, 0xF0, 0x0F, + 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x7C, 0x07, 0xC0, 0x03, 0xE1, 0xFF, 0xFF, + 0xFE, 0x1F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF8, + 0x1F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xC0, + 0x1F, 0x00, 0x0F, 0x80, 0x3E, 0x00, 0x1E, 0x00, 0x78, 0x00, 0x7C, 0x00, + 0xF0, 0x70, 0xF8, 0x03, 0xE1, 0xF0, 0xE0, 0x07, 0xC3, 0xC0, 0x00, 0x0F, + 0xFF, 0x80, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, + 0xFC, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x03, 0xC3, 0xE0, 0x00, 0x07, 0x87, + 0xC0, 0x00, 0x1F, 0x07, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0x80, + 0x00, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xF8, 0x00, + 0x00, 0x00, 0x07, 0xF8, 0x60, 0x03, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, + 0x1F, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xE0, 0x7F, 0x80, 0xFE, 0x0F, 0xE0, + 0x03, 0xE0, 0xF8, 0x00, 0x3C, 0x1F, 0x00, 0x03, 0xC3, 0xF0, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x7F, 0xFC, 0xF8, 0x0F, 0xFF, + 0xEF, 0x80, 0xFF, 0xFE, 0xF8, 0x0F, 0xFF, 0xCF, 0x80, 0x7F, 0xF8, 0xF8, + 0x00, 0x1F, 0x0F, 0xC0, 0x01, 0xF0, 0xFE, 0x00, 0x1F, 0x07, 0xF8, 0x07, + 0xE0, 0x7F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFC, 0x00, + 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0x0F, 0xF8, 0x0F, + 0xFC, 0x7F, 0xF0, 0x7F, 0xF1, 0xFF, 0xC1, 0xFF, 0xC7, 0xFE, 0x03, 0xFE, + 0x1F, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, + 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, + 0x00, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFE, 0x00, + 0x7F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x07, 0x80, 0x1F, 0x00, 0x1E, + 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, + 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x07, 0xFE, 0x1F, 0xF8, 0x3F, 0xF8, 0xFF, + 0xF0, 0xFF, 0xE3, 0xFF, 0xC3, 0xFF, 0x8F, 0xFE, 0x0F, 0xFC, 0x3F, 0xF8, + 0x00, 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xF0, 0x7F, 0xFF, 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, + 0x03, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0xC0, 0x01, 0xFF, 0xFF, + 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, + 0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x3F, + 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x01, + 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0F, + 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x07, 0x00, 0x0F, 0x80, + 0x1F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x78, 0x00, 0x78, 0x01, + 0xF0, 0x01, 0xF0, 0x03, 0xE0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x0F, + 0x80, 0x3F, 0x00, 0x1F, 0xC0, 0xFC, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, + 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xC3, 0xFE, 0x0F, 0xFF, 0x8F, 0xFC, 0x1F, + 0xFF, 0x3F, 0xF8, 0x3F, 0xFE, 0x7F, 0xF0, 0x7F, 0xF8, 0x7F, 0xC0, 0x1F, + 0x01, 0xFC, 0x00, 0x3E, 0x07, 0xF0, 0x00, 0x78, 0x3F, 0x80, 0x01, 0xF0, + 0xFE, 0x00, 0x03, 0xE3, 0xF0, 0x00, 0x07, 0xDF, 0xC0, 0x00, 0x0F, 0xFE, + 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0xFE, + 0x00, 0x01, 0xFC, 0xFC, 0x00, 0x03, 0xE0, 0xFC, 0x00, 0x0F, 0x81, 0xF8, + 0x00, 0x1F, 0x01, 0xF8, 0x00, 0x3E, 0x03, 0xF0, 0x00, 0x78, 0x03, 0xE0, + 0x00, 0xF0, 0x07, 0xE0, 0x1F, 0xFE, 0x0F, 0xF8, 0x7F, 0xFC, 0x1F, 0xF8, + 0xFF, 0xF8, 0x1F, 0xF1, 0xFF, 0xF0, 0x3F, 0xE1, 0xFF, 0xC0, 0x7F, 0x80, + 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x03, 0xFF, + 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x01, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x0E, 0x00, 0xF0, 0x01, 0xE0, 0x3E, 0x00, + 0x7C, 0x07, 0xC0, 0x0F, 0x80, 0xF8, 0x01, 0xF0, 0x1E, 0x00, 0x7C, 0x07, + 0xC0, 0x0F, 0x9F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, + 0x9F, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x3F, + 0xC1, 0xFF, 0x00, 0x1F, 0xF0, 0x7F, 0xC0, 0x07, 0xFC, 0x1F, 0xF0, 0x03, + 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0x3F, 0xE0, + 0x3F, 0xE0, 0x0F, 0xF8, 0x1F, 0xF0, 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0xF7, + 0xC3, 0xFF, 0x00, 0x7D, 0xF1, 0xF7, 0xC0, 0x1F, 0x7C, 0xFD, 0xF0, 0x07, + 0xDF, 0xBE, 0x78, 0x01, 0xE3, 0xFF, 0x3E, 0x00, 0x78, 0xFF, 0xCF, 0x80, + 0x3E, 0x3F, 0xE3, 0xE0, 0x0F, 0x87, 0xF0, 0xF8, 0x03, 0xE1, 0xFC, 0x3C, + 0x00, 0xF0, 0x7E, 0x1F, 0x00, 0x7C, 0x1F, 0x07, 0xC0, 0x1F, 0x00, 0x01, + 0xF0, 0x07, 0xC0, 0x00, 0x78, 0x07, 0xFE, 0x01, 0xFF, 0x83, 0xFF, 0xC0, + 0xFF, 0xF0, 0xFF, 0xF0, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xFE, 0x0F, 0xFC, + 0x03, 0xFF, 0x00, 0x07, 0xF8, 0x07, 0xFF, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, + 0xFC, 0x0F, 0xFF, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFE, 0x0F, 0xFE, 0x01, + 0xFE, 0x00, 0xF8, 0x01, 0xFF, 0x00, 0xF0, 0x01, 0xFF, 0x01, 0xF0, 0x03, + 0xFF, 0x81, 0xF0, 0x03, 0xFF, 0x81, 0xF0, 0x03, 0xEF, 0xC1, 0xF0, 0x03, + 0xCF, 0xC1, 0xE0, 0x07, 0xC7, 0xE3, 0xE0, 0x07, 0xC7, 0xE3, 0xE0, 0x07, + 0xC3, 0xF3, 0xE0, 0x07, 0xC3, 0xF3, 0xC0, 0x07, 0x81, 0xF7, 0xC0, 0x0F, + 0x81, 0xFF, 0xC0, 0x0F, 0x80, 0xFF, 0xC0, 0x0F, 0x80, 0xFF, 0xC0, 0x0F, + 0x00, 0xFF, 0x80, 0x0F, 0x00, 0x7F, 0x80, 0x7F, 0xF0, 0x7F, 0x80, 0xFF, + 0xF0, 0x3F, 0x80, 0xFF, 0xF0, 0x3F, 0x00, 0xFF, 0xF0, 0x1F, 0x00, 0x7F, + 0xE0, 0x1F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, + 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x0F, 0xF0, 0x7F, 0x83, + 0xF8, 0x03, 0xF0, 0xFC, 0x00, 0x7E, 0x1F, 0x00, 0x07, 0xE7, 0xE0, 0x00, + 0x7C, 0xF8, 0x00, 0x0F, 0xBE, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x3E, 0xF0, + 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3E, 0xF8, 0x00, 0x07, + 0xDF, 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x3E, 0x7C, 0x00, 0x0F, 0xCF, 0xC0, + 0x01, 0xF0, 0xF8, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x83, 0xFC, 0x1F, 0xE0, + 0x3F, 0xFF, 0xF8, 0x03, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0x00, 0x03, 0xFF, + 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF8, + 0x07, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xF0, 0x0F, + 0x80, 0x7F, 0x00, 0xF8, 0x01, 0xF0, 0x0F, 0x00, 0x1F, 0x01, 0xF0, 0x01, + 0xF0, 0x1F, 0x00, 0x1F, 0x01, 0xF0, 0x03, 0xE0, 0x1E, 0x00, 0x7E, 0x01, + 0xE0, 0x0F, 0xC0, 0x3F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, + 0xE0, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7F, 0xFF, + 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF0, 0x00, + 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xFF, 0x80, 0x03, + 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x0F, 0xF0, 0x7F, + 0x83, 0xF8, 0x03, 0xF0, 0xFC, 0x00, 0x3F, 0x1F, 0x00, 0x07, 0xE7, 0xC0, + 0x00, 0x7D, 0xF8, 0x00, 0x0F, 0xBE, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x3F, + 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3E, 0xF8, 0x00, + 0x07, 0xDF, 0x00, 0x01, 0xFB, 0xE0, 0x00, 0x3E, 0x7E, 0x00, 0x0F, 0x8F, + 0xC0, 0x03, 0xF0, 0xFC, 0x01, 0xFC, 0x1F, 0xE0, 0xFF, 0x01, 0xFF, 0xFF, + 0xC0, 0x1F, 0xFF, 0xF0, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0xFE, 0x00, 0x01, + 0xFE, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1F, 0xF8, 0x38, 0x0F, 0xFF, 0xFF, + 0x81, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x00, 0xF0, + 0x1F, 0x80, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, + 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x00, 0x7C, 0x03, + 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x1E, 0x00, 0x3E, 0x00, 0xF0, 0x01, 0xF0, + 0x0F, 0x80, 0x1F, 0x80, 0x7C, 0x01, 0xF8, 0x03, 0xE0, 0x3F, 0x80, 0x1F, + 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, + 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x1E, 0x07, 0xF0, 0x01, 0xF0, 0x1F, 0xC0, + 0x0F, 0x80, 0x7E, 0x00, 0x7C, 0x03, 0xF8, 0x03, 0xC0, 0x0F, 0xC0, 0xFF, + 0xE0, 0x7F, 0xCF, 0xFF, 0x01, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, + 0x3F, 0xDF, 0xFC, 0x01, 0xFC, 0x00, 0x0F, 0xE1, 0x80, 0x0F, 0xFF, 0xF0, + 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xC1, 0xFC, 0x0F, + 0xE0, 0x7C, 0x01, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x03, 0xE0, + 0x03, 0xC0, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFF, 0x80, 0x01, + 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFE, + 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0xF8, 0xF8, 0x00, + 0x3E, 0x3E, 0x00, 0x1F, 0x8F, 0xC0, 0x0F, 0xC3, 0xFC, 0x0F, 0xF0, 0xFF, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x03, 0x9F, 0xFE, 0x00, + 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF7, 0xFF, + 0xFF, 0xFD, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x9F, 0x07, 0x83, 0xE7, + 0x83, 0xE0, 0xFB, 0xE0, 0xF8, 0x3E, 0xF8, 0x3E, 0x0F, 0x3E, 0x0F, 0x07, + 0xCF, 0x07, 0xC1, 0xF3, 0x81, 0xF0, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, + 0x00, 0x7C, 0x00, 0x07, 0xFF, 0xF8, 0x01, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, + 0x80, 0x3F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xF0, 0x7F, 0xE7, + 0xFF, 0x8F, 0xFF, 0x7F, 0xF9, 0xFF, 0xF7, 0xFF, 0x1F, 0xFE, 0x7F, 0xF0, + 0xFF, 0xC1, 0xE0, 0x01, 0xF0, 0x1E, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, + 0x3E, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xE0, 0x3C, 0x00, 0x3E, 0x07, 0xC0, + 0x03, 0xE0, 0x7C, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xC0, 0x7C, 0x00, 0x3C, + 0x07, 0x80, 0x07, 0xC0, 0xF8, 0x00, 0x7C, 0x0F, 0x80, 0x07, 0xC0, 0xF8, + 0x00, 0x78, 0x0F, 0x80, 0x0F, 0x80, 0xFC, 0x01, 0xF8, 0x0F, 0xC0, 0x3F, + 0x00, 0xFF, 0x07, 0xE0, 0x07, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xC0, 0x03, + 0xFF, 0xF0, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x7F, 0xF0, + 0x1F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFC, 0x0F, + 0xFF, 0x7F, 0xE0, 0x3F, 0xF8, 0x7C, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0xF8, + 0x07, 0xC0, 0x03, 0xE0, 0x1F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x00, + 0xF8, 0x03, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x0F, 0xC0, 0xFC, 0x00, 0x1F, + 0x03, 0xE0, 0x00, 0x7C, 0x1F, 0x00, 0x01, 0xF0, 0xFC, 0x00, 0x07, 0xC3, + 0xE0, 0x00, 0x1F, 0x9F, 0x00, 0x00, 0x3E, 0xFC, 0x00, 0x00, 0xFB, 0xE0, + 0x00, 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, + 0x00, 0x7F, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x7F, 0xF0, 0x3F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, + 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0x1E, 0x00, + 0x01, 0xE0, 0xF0, 0x7C, 0x1F, 0x0F, 0x87, 0xE0, 0xF0, 0x7C, 0x3F, 0x0F, + 0x83, 0xE3, 0xF8, 0x7C, 0x1F, 0x1F, 0xE3, 0xC0, 0xF9, 0xFF, 0x3E, 0x07, + 0xCF, 0xF9, 0xF0, 0x3E, 0xFF, 0xCF, 0x01, 0xF7, 0xBE, 0xF8, 0x0F, 0xFD, + 0xF7, 0xC0, 0x7B, 0xCF, 0xFC, 0x03, 0xFE, 0x7F, 0xE0, 0x3F, 0xE3, 0xFF, + 0x01, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0x7F, 0x80, 0x7F, 0x83, 0xFC, 0x03, + 0xF8, 0x1F, 0xC0, 0x1F, 0xC0, 0xFE, 0x00, 0xFC, 0x07, 0xF0, 0x07, 0xE0, + 0x3F, 0x00, 0x3E, 0x01, 0xF8, 0x00, 0x01, 0xFE, 0x03, 0xFE, 0x03, 0xFF, + 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFE, 0x07, 0xFE, 0x03, 0xFC, + 0x03, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x00, 0xFE, 0x07, 0xE0, 0x00, 0x7E, + 0x1F, 0xC0, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x1F, + 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, + 0xF8, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x01, 0xF8, 0x7E, 0x00, 0x03, 0xF0, + 0x7E, 0x00, 0x07, 0xE0, 0x3F, 0x00, 0x0F, 0xC0, 0x1F, 0x80, 0x7F, 0xE0, + 0x7F, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, + 0xFF, 0xE0, 0x7F, 0xC0, 0xFF, 0xC0, 0x7F, 0xC0, 0x7F, 0xFF, 0xF0, 0x3F, + 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0x80, 0xFF, 0x87, 0xC0, + 0x1F, 0x01, 0xF8, 0x0F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, 0xC3, 0xE0, 0x01, + 0xF1, 0xF0, 0x00, 0x7E, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFE, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF0, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x78, 0x00, 0x07, 0xFF, 0xF0, 0x03, 0xFF, 0xFE, 0x00, + 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0x01, 0xFF, + 0xFF, 0xC0, 0x3F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xE0, + 0x3F, 0xFF, 0xFC, 0x07, 0xC0, 0x3F, 0x00, 0xF8, 0x0F, 0xC0, 0x1F, 0x03, + 0xF0, 0x03, 0xC0, 0xFC, 0x00, 0xF8, 0x3F, 0x00, 0x0E, 0x0F, 0xC0, 0x00, + 0x03, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x80, + 0x00, 0x07, 0xE0, 0x00, 0x01, 0xF8, 0x0E, 0x00, 0x7E, 0x03, 0xE0, 0x1F, + 0x80, 0x7C, 0x07, 0xE0, 0x0F, 0x01, 0xF8, 0x03, 0xE0, 0x7E, 0x00, 0x7C, + 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, + 0xFF, 0x81, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x0F, + 0xFC, 0x07, 0xFF, 0x01, 0xFF, 0x80, 0x7C, 0x00, 0x1E, 0x00, 0x07, 0x80, + 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, + 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF8, + 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x1F, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, + 0x80, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, + 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x00, 0x20, 0x03, 0xC0, 0x3E, 0x01, 0xF0, + 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x0F, 0x80, + 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x03, + 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x03, 0xE0, 0x1F, + 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0xF8, + 0x07, 0xC0, 0x3E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x00, 0xFF, 0xC0, 0x7F, + 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x03, 0xE0, 0x00, 0xF0, + 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, + 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, + 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x80, + 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, + 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x7F, 0xE0, 0x3F, 0xF8, + 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x08, 0x00, 0x01, + 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x1F, 0xF0, 0x03, + 0xFF, 0x80, 0xFF, 0xF8, 0x1F, 0xCF, 0xC3, 0xF8, 0xFE, 0x7E, 0x07, 0xEF, + 0xC0, 0x3F, 0xF8, 0x03, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0xE0, 0x7F, 0xFF, + 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xEF, 0xFF, 0xFF, 0xFF, 0x00, 0x60, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, + 0x06, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x07, 0xFF, + 0xFE, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x3E, 0x00, 0x7F, 0xFE, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, + 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, 0x00, 0x78, 0x7C, 0x00, 0x78, 0xF8, 0x00, + 0xF8, 0xF8, 0x03, 0xF8, 0xFC, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, + 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFD, 0xFE, 0x0F, 0xE0, 0x00, 0x03, 0xFC, + 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0xF0, 0xFE, 0x00, 0x0F, 0xBF, 0xFC, 0x00, 0x7F, + 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF, 0x00, 0xFF, 0x03, + 0xF8, 0x0F, 0xE0, 0x07, 0xE0, 0x7E, 0x00, 0x3F, 0x03, 0xE0, 0x00, 0xF8, + 0x1F, 0x00, 0x07, 0xC0, 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x01, 0xF0, 0x7C, + 0x00, 0x1F, 0x03, 0xE0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0xC0, 0xFC, 0x00, + 0x7C, 0x0F, 0xE0, 0x07, 0xE3, 0xFF, 0xC0, 0xFE, 0x3F, 0xFF, 0xFF, 0xE1, + 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0x9F, 0xFC, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x00, 0x1F, 0xE3, 0x80, 0x7F, 0xFF, 0xC0, 0x7F, 0xFF, + 0xE0, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0x01, 0xFC, 0x7E, 0x00, + 0x7C, 0x7E, 0x00, 0x3E, 0x3E, 0x00, 0x0E, 0x3E, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, + 0x00, 0x01, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x0C, 0x7F, 0x80, 0x3F, 0x1F, + 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x00, + 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, + 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x3F, 0x87, 0xC0, 0x0F, + 0xFF, 0x7C, 0x03, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, + 0x81, 0xFC, 0x0F, 0xF8, 0x3F, 0x00, 0x3F, 0x83, 0xE0, 0x01, 0xF0, 0x7C, + 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0x80, 0x01, + 0xF0, 0xF8, 0x00, 0x1E, 0x0F, 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x3E, 0x0F, + 0xC0, 0x07, 0xE0, 0xFC, 0x00, 0xFE, 0x07, 0xF0, 0x3F, 0xF8, 0x7F, 0xFF, + 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xC0, 0xFF, 0xE7, 0xF8, + 0x03, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xF0, 0x03, 0xFF, + 0xF8, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x1F, 0xE0, 0x7E, 0x3F, 0x80, + 0x1F, 0x3F, 0x00, 0x0F, 0x7E, 0x00, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x1C, 0x7F, 0x01, 0xFE, 0x7F, 0xFF, + 0xFE, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x03, 0xFF, + 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xF0, + 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x01, 0xF0, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7F, 0xFF, 0xF0, + 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, + 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x3F, + 0x80, 0x00, 0x0F, 0xFE, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, + 0x0F, 0xFF, 0xFF, 0xF1, 0xFC, 0x1F, 0xFE, 0x3F, 0x80, 0x7F, 0x03, 0xE0, + 0x03, 0xF0, 0x7E, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xE0, 0xF8, 0x00, 0x3E, + 0x0F, 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x3E, 0x0F, 0x80, 0x03, 0xC0, 0xF8, + 0x00, 0x7C, 0x0F, 0xC0, 0x0F, 0xC0, 0xFC, 0x01, 0xFC, 0x07, 0xF0, 0x7F, + 0x80, 0x7F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x00, + 0xFF, 0xEF, 0x80, 0x03, 0xF0, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, + 0xF0, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xFF, 0xE0, 0x03, 0xFF, 0xFC, 0x00, + 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x03, + 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, + 0x07, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0x01, 0xF1, 0xF8, 0x00, 0x79, 0xFF, 0x80, 0x1E, 0xFF, 0xF0, 0x0F, + 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xF8, + 0x1F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xC0, 0x7C, 0x00, + 0xF0, 0x1E, 0x00, 0x7C, 0x0F, 0x80, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF8, + 0x01, 0xE0, 0x3C, 0x00, 0xF8, 0x0F, 0x00, 0x3E, 0x1F, 0xF8, 0x3F, 0xEF, + 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x3F, + 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x3E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x1F, 0xFC, 0x00, + 0x3F, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, + 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x3F, 0xFF, + 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, + 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x07, + 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xFF, 0xFE, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, + 0x3F, 0xFF, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, 0x00, + 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF8, 0x00, 0x01, + 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, + 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xC0, 0x0F, + 0xFC, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0xC0, + 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x3C, 0x3F, 0xF0, + 0x1F, 0x1F, 0xFC, 0x07, 0xC7, 0xFF, 0x01, 0xF1, 0xFF, 0xC0, 0x78, 0x7F, + 0xE0, 0x1E, 0x7F, 0x80, 0x0F, 0xBF, 0x80, 0x03, 0xFF, 0xC0, 0x00, 0xFF, + 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xFC, 0x00, 0x07, 0xFF, 0x80, 0x01, + 0xF7, 0xF0, 0x00, 0x7C, 0xFE, 0x00, 0x1E, 0x1F, 0xC0, 0x0F, 0x83, 0xF8, + 0x1F, 0xE0, 0xFF, 0xEF, 0xF8, 0x3F, 0xFB, 0xFE, 0x1F, 0xFE, 0xFF, 0x07, + 0xFF, 0x9F, 0xC0, 0xFF, 0xC0, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xC0, 0x03, + 0xFF, 0x80, 0x07, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, + 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, + 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x7F, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0x81, 0xE0, + 0x3F, 0xBF, 0x9F, 0xE1, 0xFF, 0xFE, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0x1F, + 0xFF, 0xFF, 0xFC, 0x7F, 0xC7, 0xF1, 0xF0, 0x7E, 0x1F, 0x87, 0xC1, 0xF0, + 0x7C, 0x1F, 0x07, 0x81, 0xE0, 0x7C, 0x1E, 0x0F, 0x81, 0xE0, 0xF8, 0x3E, + 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3C, 0x0F, 0x03, + 0xC1, 0xF0, 0x7C, 0x0F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF1, + 0xFE, 0x1F, 0x87, 0xEF, 0xFC, 0x7F, 0x1F, 0xFF, 0xF3, 0xFC, 0x7F, 0xFF, + 0xCF, 0xF3, 0xFF, 0xFE, 0x3F, 0x8F, 0xE0, 0x00, 0x01, 0xF8, 0x01, 0xF9, + 0xFF, 0x80, 0xFE, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x83, + 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xF8, 0x1F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, + 0x81, 0xF0, 0x03, 0xC0, 0x7C, 0x00, 0xF0, 0x1E, 0x00, 0x7C, 0x0F, 0x80, + 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF8, 0x01, 0xE0, 0x3C, 0x00, 0xF8, 0x0F, + 0x00, 0x3E, 0x1F, 0xF8, 0x3F, 0xEF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, + 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x3F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, + 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0xFF, + 0x03, 0xF8, 0xFE, 0x00, 0xFE, 0x7C, 0x00, 0x3F, 0x7C, 0x00, 0x0F, 0xBE, + 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, + 0xC0, 0x00, 0xFB, 0xE0, 0x00, 0xFD, 0xF8, 0x00, 0x7C, 0xFE, 0x00, 0xFE, + 0x3F, 0x81, 0xFE, 0x1F, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, + 0x00, 0x7F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x07, + 0xF9, 0xFF, 0xC0, 0x1F, 0xF7, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xC0, 0x7F, + 0xFF, 0xFF, 0xC0, 0x7F, 0xF0, 0x3F, 0x80, 0x3F, 0x80, 0x1F, 0x80, 0x7E, + 0x00, 0x3F, 0x00, 0xF8, 0x00, 0x3E, 0x01, 0xF0, 0x00, 0x7C, 0x03, 0xC0, + 0x00, 0xF8, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x00, 0x07, 0xE0, 0x3E, 0x00, + 0x0F, 0x80, 0x7C, 0x00, 0x3F, 0x01, 0xFC, 0x00, 0xFC, 0x03, 0xFE, 0x07, + 0xF8, 0x07, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x80, 0x1E, 0xFF, 0xFC, + 0x00, 0x7C, 0xFF, 0xF0, 0x00, 0xF8, 0x7F, 0x00, 0x01, 0xF0, 0x00, 0x00, + 0x03, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, + 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x1F, + 0xFF, 0x80, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x07, 0xFF, 0x3F, 0xC0, 0xFF, 0xFD, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0xFF, 0x8F, 0xE0, 0x7F, 0xF8, 0xFC, 0x00, 0xFE, 0x07, 0xC0, 0x03, + 0xE0, 0x7C, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0xF8, 0x1E, 0x00, 0x07, 0xC1, + 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x01, 0xE0, 0x7C, 0x00, 0x1F, 0x03, 0xF0, + 0x01, 0xF8, 0x1F, 0x80, 0x1F, 0xC0, 0xFF, 0x03, 0xFC, 0x03, 0xFF, 0xFF, + 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, 0xE7, 0xC0, + 0x01, 0xFC, 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x7F, + 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, + 0x00, 0x00, 0x00, 0x0F, 0x80, 0x3F, 0xC3, 0xFE, 0x07, 0xFC, 0xFF, 0xE0, + 0x7F, 0xDF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0x1C, 0x00, 0x7F, + 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x01, 0xE0, 0x00, + 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xF0, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xCE, 0x03, 0xFF, 0xFC, + 0x0F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC3, 0xF8, 0x0F, 0x87, + 0xC0, 0x0E, 0x0F, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xFF, 0x80, 0x3F, + 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x00, + 0x3F, 0x1C, 0x00, 0x3E, 0x7C, 0x00, 0x7C, 0xFC, 0x03, 0xF3, 0xFF, 0xFF, + 0xE7, 0xFF, 0xFF, 0x8F, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x00, 0xFF, 0x00, + 0x00, 0x03, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, + 0x80, 0x00, 0x78, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xE0, 0x00, + 0x1E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3C, 0x00, + 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0xF7, 0xFF, + 0xFF, 0x7F, 0xFF, 0xF3, 0xFF, 0xFE, 0x1F, 0xFF, 0x80, 0x7F, 0x80, 0x7F, + 0x01, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xE0, + 0x3F, 0xC7, 0xC0, 0x07, 0x8F, 0x80, 0x1F, 0x3E, 0x00, 0x3E, 0x7C, 0x00, + 0x7C, 0xF8, 0x00, 0xF1, 0xF0, 0x03, 0xE3, 0xE0, 0x07, 0xC7, 0xC0, 0x0F, + 0x8F, 0x80, 0x1F, 0x1F, 0x00, 0x7C, 0x3E, 0x01, 0xF8, 0x7E, 0x0F, 0xFC, + 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF1, 0xFF, 0xEF, 0xE1, 0xFF, 0xBF, 0x80, + 0xFC, 0x00, 0x00, 0x7F, 0xF0, 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xE1, 0xF8, 0x03, 0xE0, + 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x0F, 0x80, 0xF8, 0x00, 0xFC, + 0x1F, 0x80, 0x07, 0xC1, 0xF0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xE7, 0xE0, + 0x00, 0x3E, 0x7C, 0x00, 0x03, 0xEF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x03, + 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, 0xEF, 0xFC, 0x03, 0xFF, + 0xFF, 0xC0, 0x7F, 0xFF, 0xFC, 0x07, 0xFE, 0x7F, 0x80, 0x3F, 0xC3, 0xE1, + 0xF0, 0xF8, 0x3E, 0x3F, 0x0F, 0x03, 0xE3, 0xF1, 0xF0, 0x3E, 0x7F, 0x1E, + 0x03, 0xE7, 0xF3, 0xE0, 0x3E, 0xFF, 0xBC, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, + 0xFF, 0xFC, 0x03, 0xFE, 0xFF, 0x80, 0x3F, 0xEF, 0xF8, 0x03, 0xFC, 0xFF, + 0x00, 0x3F, 0x8F, 0xF0, 0x03, 0xF8, 0x7E, 0x00, 0x3F, 0x07, 0xE0, 0x01, + 0xF0, 0x7C, 0x00, 0x1E, 0x07, 0xC0, 0x00, 0x03, 0xFE, 0x0F, 0xF8, 0x3F, + 0xF0, 0xFF, 0xC1, 0xFF, 0x8F, 0xFE, 0x0F, 0xFC, 0x7F, 0xF0, 0x7F, 0xC1, + 0xFF, 0x00, 0xFE, 0x1F, 0xC0, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xFF, 0xC0, + 0x00, 0x3F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, + 0x7F, 0xE0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xE3, + 0xF8, 0x00, 0xFE, 0x0F, 0xE0, 0x3F, 0xE0, 0x7F, 0xC3, 0xFF, 0x87, 0xFF, + 0x3F, 0xFC, 0x7F, 0xF9, 0xFF, 0xE3, 0xFF, 0x87, 0xFE, 0x0F, 0xF8, 0x00, + 0x01, 0xFE, 0x03, 0xFE, 0x03, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFF, + 0x07, 0xFF, 0x07, 0xFE, 0x03, 0xFC, 0x03, 0xFC, 0x01, 0xF8, 0x01, 0xF0, + 0x00, 0xF8, 0x03, 0xF0, 0x00, 0xF8, 0x03, 0xE0, 0x00, 0xFC, 0x07, 0xC0, + 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x7E, 0x1F, 0x00, + 0x00, 0x7E, 0x3E, 0x00, 0x00, 0x3E, 0x7C, 0x00, 0x00, 0x3E, 0x7C, 0x00, + 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, + 0x07, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, + 0xE0, 0xFF, 0xFF, 0xE0, 0x7C, 0x0F, 0xE0, 0x3C, 0x0F, 0xE0, 0x1E, 0x0F, + 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, + 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0xF0, 0x3F, + 0x00, 0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFE, 0x0F, + 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x80, 0x00, 0x0F, 0x00, 0x1F, 0xC0, 0x1F, + 0xE0, 0x1F, 0xF0, 0x0F, 0xE0, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x03, + 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x3F, 0x80, 0x3F, 0xC0, 0x1F, 0xC0, + 0x0F, 0xE0, 0x07, 0xF8, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, + 0x80, 0x07, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, + 0x7E, 0x00, 0x3F, 0x80, 0x1F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x00, 0x78, + 0x00, 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x3E, + 0x07, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0xF8, 0x1F, 0x03, 0xC0, 0x78, 0x0F, + 0x03, 0xE0, 0x7C, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x3C, 0x07, + 0x80, 0xF0, 0x3E, 0x07, 0xC0, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, + 0xC0, 0x70, 0x00, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0xC0, + 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, + 0x00, 0x0F, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, + 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF8, + 0x07, 0xF8, 0x03, 0xE0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x78, + 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x1F, 0x80, 0x7F, + 0xC0, 0x7F, 0xC0, 0x3F, 0xC0, 0x1F, 0xC0, 0x07, 0x80, 0x00, 0x03, 0xE0, + 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xE0, 0x39, 0xFF, 0xE0, 0xF7, 0xFF, 0xE7, + 0xFF, 0xCF, 0xFF, 0xFE, 0x0F, 0xFF, 0x38, 0x0F, 0xFC, 0x00, 0x0F, 0xE0, + 0x00, 0x0F, 0x80 }; + +const GFXglyph FreeMonoBoldOblique24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' + { 0, 12, 31, 28, 12, -29 }, // 0x21 '!' + { 47, 17, 14, 28, 11, -28 }, // 0x22 '"' + { 77, 24, 34, 28, 5, -30 }, // 0x23 '#' + { 179, 25, 38, 28, 4, -31 }, // 0x24 '$' + { 298, 22, 30, 28, 6, -28 }, // 0x25 '%' + { 381, 21, 28, 28, 5, -26 }, // 0x26 '&' + { 455, 7, 14, 28, 16, -28 }, // 0x27 ''' + { 468, 14, 37, 28, 14, -29 }, // 0x28 '(' + { 533, 14, 37, 28, 5, -29 }, // 0x29 ')' + { 598, 21, 19, 28, 8, -28 }, // 0x2A '*' + { 648, 24, 26, 28, 5, -25 }, // 0x2B '+' + { 726, 12, 14, 28, 6, -6 }, // 0x2C ',' + { 747, 24, 5, 28, 5, -15 }, // 0x2D '-' + { 762, 7, 6, 28, 11, -4 }, // 0x2E '.' + { 768, 28, 38, 28, 3, -32 }, // 0x2F '/' + { 901, 23, 31, 28, 6, -29 }, // 0x30 '0' + { 991, 21, 30, 28, 4, -29 }, // 0x31 '1' + { 1070, 26, 30, 28, 3, -29 }, // 0x32 '2' + { 1168, 25, 31, 28, 4, -29 }, // 0x33 '3' + { 1265, 22, 28, 28, 5, -27 }, // 0x34 '4' + { 1342, 25, 31, 28, 4, -29 }, // 0x35 '5' + { 1439, 24, 31, 28, 7, -29 }, // 0x36 '6' + { 1532, 22, 30, 28, 9, -29 }, // 0x37 '7' + { 1615, 23, 31, 28, 6, -29 }, // 0x38 '8' + { 1705, 24, 31, 28, 5, -29 }, // 0x39 '9' + { 1798, 10, 22, 28, 11, -20 }, // 0x3A ':' + { 1826, 15, 28, 28, 5, -20 }, // 0x3B ';' + { 1879, 25, 21, 28, 5, -23 }, // 0x3C '<' + { 1945, 26, 14, 28, 4, -19 }, // 0x3D '=' + { 1991, 25, 22, 28, 4, -23 }, // 0x3E '>' + { 2060, 19, 29, 28, 10, -27 }, // 0x3F '?' + { 2129, 23, 36, 28, 5, -28 }, // 0x40 '@' + { 2233, 30, 27, 28, 0, -26 }, // 0x41 'A' + { 2335, 29, 27, 28, 1, -26 }, // 0x42 'B' + { 2433, 28, 29, 28, 3, -27 }, // 0x43 'C' + { 2535, 28, 27, 28, 1, -26 }, // 0x44 'D' + { 2630, 29, 27, 28, 1, -26 }, // 0x45 'E' + { 2728, 31, 27, 28, 0, -26 }, // 0x46 'F' + { 2833, 28, 29, 28, 3, -27 }, // 0x47 'G' + { 2935, 30, 27, 28, 1, -26 }, // 0x48 'H' + { 3037, 25, 27, 28, 3, -26 }, // 0x49 'I' + { 3122, 31, 28, 28, 0, -26 }, // 0x4A 'J' + { 3231, 31, 27, 28, 0, -26 }, // 0x4B 'K' + { 3336, 27, 27, 28, 1, -26 }, // 0x4C 'L' + { 3428, 34, 27, 28, 0, -26 }, // 0x4D 'M' + { 3543, 32, 27, 28, 1, -26 }, // 0x4E 'N' + { 3651, 27, 29, 28, 3, -27 }, // 0x4F 'O' + { 3749, 28, 27, 28, 1, -26 }, // 0x50 'P' + { 3844, 27, 35, 28, 3, -27 }, // 0x51 'Q' + { 3963, 29, 27, 28, 0, -26 }, // 0x52 'R' + { 4061, 26, 29, 28, 3, -27 }, // 0x53 'S' + { 4156, 26, 27, 28, 4, -26 }, // 0x54 'T' + { 4244, 28, 28, 28, 4, -26 }, // 0x55 'U' + { 4342, 30, 27, 28, 2, -26 }, // 0x56 'V' + { 4444, 29, 27, 28, 3, -26 }, // 0x57 'W' + { 4542, 32, 27, 28, 0, -26 }, // 0x58 'X' + { 4650, 26, 27, 28, 4, -26 }, // 0x59 'Y' + { 4738, 27, 27, 28, 2, -26 }, // 0x5A 'Z' + { 4830, 18, 37, 28, 10, -29 }, // 0x5B '[' + { 4914, 13, 38, 28, 10, -32 }, // 0x5C '\' + { 4976, 18, 37, 28, 5, -29 }, // 0x5D ']' + { 5060, 20, 15, 28, 8, -29 }, // 0x5E '^' + { 5098, 29, 5, 28, -2, 5 }, // 0x5F '_' + { 5117, 8, 8, 28, 13, -30 }, // 0x60 '`' + { 5125, 24, 23, 28, 3, -21 }, // 0x61 'a' + { 5194, 29, 31, 28, 0, -29 }, // 0x62 'b' + { 5307, 25, 23, 28, 3, -21 }, // 0x63 'c' + { 5379, 28, 31, 28, 3, -29 }, // 0x64 'd' + { 5488, 24, 23, 28, 3, -21 }, // 0x65 'e' + { 5557, 28, 30, 28, 4, -29 }, // 0x66 'f' + { 5662, 28, 31, 28, 3, -21 }, // 0x67 'g' + { 5771, 26, 30, 28, 2, -29 }, // 0x68 'h' + { 5869, 23, 29, 28, 3, -28 }, // 0x69 'i' + { 5953, 23, 38, 28, 3, -28 }, // 0x6A 'j' + { 6063, 26, 30, 28, 2, -29 }, // 0x6B 'k' + { 6161, 23, 30, 28, 3, -29 }, // 0x6C 'l' + { 6248, 30, 22, 28, 0, -21 }, // 0x6D 'm' + { 6331, 26, 22, 28, 2, -21 }, // 0x6E 'n' + { 6403, 25, 23, 28, 3, -21 }, // 0x6F 'o' + { 6475, 31, 31, 28, -1, -21 }, // 0x70 'p' + { 6596, 29, 31, 28, 2, -21 }, // 0x71 'q' + { 6709, 28, 22, 28, 2, -21 }, // 0x72 'r' + { 6786, 23, 23, 28, 4, -21 }, // 0x73 's' + { 6853, 20, 28, 28, 5, -26 }, // 0x74 't' + { 6923, 23, 22, 28, 5, -20 }, // 0x75 'u' + { 6987, 28, 21, 28, 3, -20 }, // 0x76 'v' + { 7061, 28, 21, 28, 3, -20 }, // 0x77 'w' + { 7135, 29, 21, 28, 1, -20 }, // 0x78 'x' + { 7212, 32, 30, 28, -1, -20 }, // 0x79 'y' + { 7332, 25, 21, 28, 4, -20 }, // 0x7A 'z' + { 7398, 17, 37, 28, 10, -29 }, // 0x7B '{' + { 7477, 11, 36, 28, 11, -28 }, // 0x7C '|' + { 7527, 17, 37, 28, 6, -29 }, // 0x7D '}' + { 7606, 23, 10, 28, 5, -17 } }; // 0x7E '~' + +const GFXfont FreeMonoBoldOblique24pt7b PROGMEM = { + (uint8_t *)FreeMonoBoldOblique24pt7bBitmaps, + (GFXglyph *)FreeMonoBoldOblique24pt7bGlyphs, + 0x20, 0x7E, 47 }; + +// Approx. 8307 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h new file mode 100644 index 0000000..b530723 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h @@ -0,0 +1,203 @@ +const uint8_t FreeMonoBoldOblique9pt7bBitmaps[] PROGMEM = { + 0x39, 0xCC, 0x67, 0x31, 0x8C, 0x07, 0x38, 0x6C, 0xD9, 0x36, 0x48, 0x80, + 0x09, 0x0D, 0x86, 0xCF, 0xF7, 0xF9, 0xB3, 0xFD, 0xFE, 0x6C, 0x36, 0x1B, + 0x00, 0x00, 0x06, 0x07, 0x07, 0xE6, 0x33, 0x01, 0xE0, 0x7C, 0x06, 0x43, + 0x33, 0xBF, 0x83, 0x03, 0x00, 0x80, 0x1C, 0x11, 0x10, 0x88, 0x83, 0xB8, + 0xF3, 0xB8, 0x22, 0x21, 0x11, 0x07, 0x00, 0x0F, 0x1F, 0x30, 0x30, 0x38, + 0x7B, 0xDF, 0xCE, 0xFF, 0x7E, 0xFA, 0x80, 0x19, 0x8C, 0xC6, 0x63, 0x18, + 0xC6, 0x31, 0xC6, 0x30, 0x31, 0xC6, 0x31, 0x8C, 0x63, 0x31, 0x98, 0xCC, + 0x40, 0x08, 0x08, 0xFF, 0xFF, 0x38, 0x6C, 0x6C, 0x0C, 0x06, 0x03, 0x1F, + 0xFF, 0xF8, 0xC0, 0x60, 0x30, 0x10, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0xFF, + 0xC0, 0xFC, 0x00, 0x00, 0x0C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x01, 0x80, + 0x30, 0x0C, 0x03, 0x00, 0x60, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x00, 0x0F, + 0x0F, 0xCC, 0x6C, 0x36, 0x1B, 0x0D, 0x05, 0x86, 0xC3, 0x63, 0x3F, 0x8F, + 0x00, 0x06, 0x1C, 0x3C, 0x6C, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x18, 0xFE, + 0xFE, 0x07, 0x83, 0xF1, 0x8C, 0x43, 0x00, 0xC0, 0xE0, 0x70, 0x38, 0x38, + 0x1C, 0x6F, 0xF3, 0xFC, 0x1F, 0x1F, 0xC0, 0x60, 0x30, 0x30, 0x70, 0x38, + 0x06, 0x03, 0x03, 0xBF, 0x9F, 0x80, 0x03, 0x07, 0x0B, 0x1B, 0x32, 0x66, + 0xFF, 0xFF, 0x1E, 0x1E, 0x3F, 0x9F, 0x98, 0x0F, 0xC7, 0xF3, 0x18, 0x0C, + 0x06, 0x06, 0x7F, 0x1E, 0x00, 0x07, 0x87, 0xCE, 0x06, 0x06, 0x03, 0xF3, + 0xFD, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0xFF, 0xFF, 0xC3, 0x06, 0x06, + 0x0C, 0x18, 0x18, 0x30, 0x30, 0x60, 0x1F, 0x1F, 0xDC, 0x6C, 0x36, 0x31, + 0xF1, 0xF8, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0x1E, 0x3F, 0x33, 0x63, + 0x63, 0x67, 0x7F, 0x3E, 0x06, 0x1C, 0xF8, 0xF0, 0x77, 0x00, 0x00, 0xEE, + 0x1C, 0x70, 0x00, 0x00, 0x03, 0x0C, 0x61, 0x08, 0x00, 0x00, 0xC1, 0xE1, + 0xE1, 0xE0, 0xF0, 0x07, 0x00, 0xF0, 0x0C, 0x7F, 0xDF, 0xF0, 0x00, 0x00, + 0x7F, 0xFF, 0xF0, 0x30, 0x0F, 0x00, 0xE0, 0x1E, 0x07, 0xC7, 0x87, 0x83, + 0x00, 0x7D, 0xFF, 0x18, 0x30, 0xE3, 0x9C, 0x30, 0x01, 0xC3, 0x80, 0x0F, + 0x0F, 0xCC, 0x6C, 0x36, 0x72, 0x79, 0x7D, 0xB6, 0xDA, 0x6F, 0xB3, 0xD8, + 0x0C, 0x07, 0xE1, 0xE0, 0x0F, 0x83, 0xF0, 0x1E, 0x03, 0xC0, 0xD8, 0x31, + 0x87, 0xF1, 0xFE, 0x30, 0xDF, 0x3F, 0xC7, 0x80, 0x3F, 0xC7, 0xFC, 0x61, + 0x8C, 0x31, 0xFC, 0x3F, 0x84, 0x19, 0x83, 0x30, 0x6F, 0xFB, 0xFE, 0x00, + 0x0F, 0xF1, 0xFF, 0x30, 0x66, 0x06, 0x60, 0x0C, 0x00, 0xC0, 0x0C, 0x00, + 0xE0, 0xC7, 0xF8, 0x3F, 0x00, 0x3F, 0x87, 0xF8, 0x63, 0x8C, 0x31, 0x06, + 0x60, 0xCC, 0x19, 0x86, 0x31, 0xCF, 0xF3, 0xF8, 0x00, 0x3F, 0xE3, 0xFE, + 0x18, 0x61, 0xB6, 0x1F, 0x01, 0xF0, 0x32, 0x03, 0x00, 0x30, 0x4F, 0xFC, + 0xFF, 0xC0, 0x3F, 0xF3, 0xFE, 0x18, 0x61, 0xB6, 0x1F, 0x03, 0xF0, 0x32, + 0x03, 0x00, 0x30, 0x0F, 0xC0, 0xFC, 0x00, 0x0F, 0xE3, 0xFC, 0xC1, 0x30, + 0x06, 0x01, 0x80, 0x31, 0xF6, 0x3E, 0xE1, 0x9F, 0xF0, 0xF8, 0x00, 0x1E, + 0xF3, 0xCF, 0x18, 0x61, 0x84, 0x10, 0xC3, 0xFC, 0x3F, 0xC3, 0x08, 0x31, + 0x8F, 0xBC, 0xFB, 0xC0, 0x3F, 0xCF, 0xF0, 0x60, 0x10, 0x0C, 0x03, 0x00, + 0xC0, 0x20, 0x18, 0x3F, 0xCF, 0xF0, 0x07, 0xF0, 0x7F, 0x00, 0x80, 0x18, + 0x01, 0x80, 0x18, 0x61, 0x84, 0x10, 0xC3, 0x0F, 0xE0, 0x7C, 0x00, 0x3E, + 0xE7, 0xFC, 0x66, 0x0D, 0x81, 0x60, 0x7C, 0x0E, 0xC1, 0x98, 0x31, 0x1F, + 0x3B, 0xE7, 0x00, 0x3F, 0x07, 0xE0, 0x30, 0x06, 0x00, 0xC0, 0x10, 0x06, + 0x00, 0xC3, 0x18, 0x6F, 0xFB, 0xFF, 0x00, 0x38, 0x39, 0xC3, 0xC7, 0x3C, + 0x79, 0xE3, 0xDA, 0x1F, 0xF0, 0x9D, 0x8C, 0xCC, 0x60, 0x67, 0xCF, 0x3C, + 0x78, 0x3C, 0xF9, 0xE7, 0x87, 0x18, 0x3C, 0xC1, 0x66, 0x1B, 0xB0, 0xCD, + 0x06, 0x78, 0x31, 0xC3, 0xCE, 0x3E, 0x30, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, + 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, 0x9F, 0xC3, 0xC0, 0x3F, 0xC7, 0xFC, + 0x61, 0x8C, 0x31, 0x8E, 0x3F, 0x87, 0xE1, 0x80, 0x30, 0x0F, 0xC3, 0xF0, + 0x00, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, + 0x1F, 0xC3, 0xC0, 0x80, 0x7F, 0x3F, 0xC0, 0x3F, 0xC3, 0xFE, 0x18, 0x61, + 0x86, 0x10, 0xE3, 0xFC, 0x3F, 0x83, 0x18, 0x31, 0xCF, 0x8F, 0xF8, 0x70, + 0x1E, 0xCF, 0xF7, 0x19, 0x80, 0x70, 0x1F, 0x81, 0xF3, 0x0C, 0xC3, 0x3F, + 0x8B, 0xC0, 0x7F, 0xCF, 0xF9, 0x93, 0x66, 0x60, 0xC0, 0x18, 0x02, 0x00, + 0xC0, 0x18, 0x0F, 0xC1, 0xF8, 0x00, 0xF9, 0xFF, 0x7D, 0x83, 0x30, 0x64, + 0x09, 0x83, 0x30, 0x66, 0x0C, 0xE3, 0x0F, 0xC0, 0xF0, 0x00, 0xF9, 0xFE, + 0x3D, 0x83, 0x30, 0xC6, 0x30, 0xE6, 0x0D, 0x81, 0xB0, 0x3C, 0x07, 0x00, + 0x60, 0x00, 0xF9, 0xFF, 0x3D, 0x83, 0x36, 0x64, 0xC8, 0xBF, 0x35, 0xE7, + 0xB8, 0xE7, 0x1C, 0xE3, 0x18, 0x00, 0x3C, 0xF3, 0xCF, 0x1C, 0xC0, 0xD8, + 0x0F, 0x00, 0x60, 0x0F, 0x01, 0xB8, 0x31, 0x8F, 0x3C, 0xF3, 0xC0, 0x79, + 0xEE, 0x38, 0xC6, 0x19, 0x81, 0xE0, 0x38, 0x06, 0x00, 0xC0, 0x18, 0x0F, + 0xC3, 0xF8, 0x00, 0x3F, 0xCF, 0xF3, 0x18, 0xCC, 0x06, 0x03, 0x01, 0x80, + 0xC6, 0x61, 0xBF, 0xCF, 0xF0, 0x1E, 0x3C, 0xC1, 0x83, 0x06, 0x08, 0x30, + 0x60, 0xC1, 0x06, 0x0F, 0x1E, 0x00, 0x06, 0x31, 0x86, 0x31, 0x8C, 0x31, + 0x8C, 0x61, 0x8C, 0x60, 0x1E, 0x78, 0x30, 0x60, 0xC1, 0x86, 0x0C, 0x18, + 0x30, 0x41, 0x8F, 0x1E, 0x00, 0x08, 0x1C, 0x3C, 0x76, 0xE7, 0xC3, 0x7F, + 0xFF, 0xFC, 0x88, 0x80, 0x0F, 0x07, 0xE1, 0xF9, 0xFE, 0xE3, 0x30, 0xCF, + 0xFD, 0xFF, 0x38, 0x07, 0x00, 0x60, 0x0F, 0xC1, 0xFC, 0x71, 0xCC, 0x19, + 0x83, 0x30, 0xDF, 0xFB, 0xBC, 0x00, 0x1F, 0xCF, 0xF6, 0x1B, 0x00, 0xC0, + 0x30, 0x0F, 0xF1, 0xF8, 0x01, 0xE0, 0x38, 0x03, 0x0F, 0x63, 0xFC, 0xC3, + 0x30, 0x66, 0x0C, 0xC3, 0x9F, 0xF9, 0xF7, 0x00, 0x1F, 0x1F, 0xD8, 0x3F, + 0xFF, 0xFE, 0x1B, 0xFC, 0xF8, 0x07, 0xC3, 0xF1, 0x81, 0xFE, 0x7F, 0x84, + 0x03, 0x00, 0xC0, 0x30, 0x3F, 0x8F, 0xE0, 0x1E, 0xE7, 0xFD, 0x86, 0x60, + 0xCC, 0x19, 0xC6, 0x3F, 0xC1, 0xD8, 0x03, 0x00, 0xE1, 0xF8, 0x3E, 0x00, + 0x38, 0x1E, 0x01, 0x00, 0xDC, 0x3F, 0x8C, 0x62, 0x19, 0x84, 0x63, 0x3D, + 0xFF, 0x7C, 0x06, 0x03, 0x00, 0x03, 0xC3, 0xE0, 0x20, 0x30, 0x18, 0x0C, + 0x3F, 0xFF, 0xE0, 0x01, 0x81, 0x80, 0x07, 0xF3, 0xF8, 0x0C, 0x04, 0x06, + 0x03, 0x01, 0x80, 0xC0, 0x40, 0x67, 0xE3, 0xE0, 0x38, 0x0E, 0x01, 0x80, + 0x4F, 0x37, 0xCF, 0x83, 0xC0, 0xF0, 0x26, 0x39, 0xEE, 0x78, 0x1F, 0x0F, + 0x01, 0x80, 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x3F, 0xFF, 0xE0, 0x7E, + 0xE7, 0xFF, 0x33, 0x32, 0x63, 0x66, 0x36, 0x62, 0xF7, 0x7F, 0x67, 0x77, + 0x8F, 0xF8, 0xC3, 0x10, 0x66, 0x08, 0xC3, 0x3C, 0x7F, 0x8F, 0x1F, 0x0F, + 0xE6, 0x1F, 0x03, 0xC0, 0xF8, 0x67, 0xF0, 0xF8, 0x3F, 0xE3, 0xFF, 0x1C, + 0x31, 0x83, 0x18, 0x31, 0x86, 0x3F, 0xE3, 0x78, 0x30, 0x03, 0x00, 0xFC, + 0x0F, 0x80, 0x1E, 0xEF, 0xFD, 0x86, 0x60, 0xCC, 0x19, 0xC7, 0x3F, 0xE1, + 0xE8, 0x03, 0x00, 0x60, 0x3E, 0x07, 0xC0, 0x39, 0xDF, 0xF1, 0xC0, 0x60, + 0x10, 0x0C, 0x0F, 0xF3, 0xF8, 0x1F, 0x7F, 0x63, 0x7E, 0x1F, 0xC3, 0xFE, + 0xFC, 0x10, 0x08, 0x0C, 0x1F, 0xEF, 0xF1, 0x80, 0x80, 0xC0, 0x60, 0x3F, + 0x8F, 0x80, 0xF3, 0xFC, 0xF6, 0x09, 0x86, 0x61, 0x98, 0xE7, 0xF8, 0xFE, + 0xFB, 0xFF, 0x7C, 0xC6, 0x19, 0x83, 0x60, 0x6C, 0x07, 0x00, 0xC0, 0xF1, + 0xFE, 0x3D, 0xB3, 0x37, 0xC7, 0xF8, 0xEE, 0x1D, 0xC3, 0x30, 0x79, 0xEF, + 0x38, 0xEE, 0x0F, 0x01, 0xE0, 0x6E, 0x3C, 0xE7, 0xBC, 0x3C, 0xF3, 0x8F, + 0x18, 0xC1, 0x9C, 0x19, 0x81, 0xF0, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0x80, + 0xFC, 0x0F, 0xC0, 0x7F, 0xBF, 0xD9, 0xC1, 0x83, 0x83, 0x1B, 0xFD, 0xFE, + 0x06, 0x1C, 0x60, 0xC1, 0x86, 0x3C, 0x70, 0x30, 0x41, 0x83, 0x07, 0x06, + 0x00, 0x33, 0x32, 0x26, 0x66, 0x44, 0xCC, 0xC8, 0x0C, 0x0E, 0x04, 0x0C, + 0x0C, 0x0C, 0x0F, 0x0F, 0x18, 0x18, 0x10, 0x30, 0xF0, 0xE0, 0x38, 0x7C, + 0xF7, 0xC1, 0xC0 }; + +const GFXglyph FreeMonoBoldOblique9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' + { 0, 5, 11, 11, 4, -10 }, // 0x21 '!' + { 7, 7, 5, 11, 4, -10 }, // 0x22 '"' + { 12, 9, 12, 11, 2, -10 }, // 0x23 '#' + { 26, 9, 14, 11, 2, -11 }, // 0x24 '$' + { 42, 9, 11, 11, 2, -10 }, // 0x25 '%' + { 55, 8, 10, 11, 2, -9 }, // 0x26 '&' + { 65, 2, 5, 11, 6, -10 }, // 0x27 ''' + { 67, 5, 14, 11, 5, -10 }, // 0x28 '(' + { 76, 5, 14, 11, 2, -10 }, // 0x29 ')' + { 85, 8, 7, 11, 3, -10 }, // 0x2A '*' + { 92, 9, 9, 11, 2, -8 }, // 0x2B '+' + { 103, 4, 5, 11, 2, -1 }, // 0x2C ',' + { 106, 9, 2, 11, 2, -5 }, // 0x2D '-' + { 109, 3, 2, 11, 4, -1 }, // 0x2E '.' + { 110, 11, 15, 11, 1, -12 }, // 0x2F '/' + { 131, 9, 12, 11, 2, -11 }, // 0x30 '0' + { 145, 8, 12, 11, 2, -11 }, // 0x31 '1' + { 157, 10, 12, 11, 1, -11 }, // 0x32 '2' + { 172, 9, 12, 11, 2, -11 }, // 0x33 '3' + { 186, 8, 10, 11, 2, -9 }, // 0x34 '4' + { 196, 9, 11, 11, 3, -10 }, // 0x35 '5' + { 209, 9, 12, 11, 3, -11 }, // 0x36 '6' + { 223, 8, 11, 11, 3, -10 }, // 0x37 '7' + { 234, 9, 12, 11, 2, -11 }, // 0x38 '8' + { 248, 8, 12, 11, 3, -11 }, // 0x39 '9' + { 260, 4, 8, 11, 4, -7 }, // 0x3A ':' + { 264, 6, 11, 11, 2, -7 }, // 0x3B ';' + { 273, 10, 8, 11, 2, -8 }, // 0x3C '<' + { 283, 10, 6, 11, 1, -7 }, // 0x3D '=' + { 291, 10, 8, 11, 1, -8 }, // 0x3E '>' + { 301, 7, 11, 11, 4, -10 }, // 0x3F '?' + { 311, 9, 15, 11, 2, -11 }, // 0x40 '@' + { 328, 11, 11, 11, 0, -10 }, // 0x41 'A' + { 344, 11, 11, 11, 0, -10 }, // 0x42 'B' + { 360, 12, 11, 11, 1, -10 }, // 0x43 'C' + { 377, 11, 11, 11, 0, -10 }, // 0x44 'D' + { 393, 12, 11, 11, 0, -10 }, // 0x45 'E' + { 410, 12, 11, 11, 0, -10 }, // 0x46 'F' + { 427, 11, 11, 11, 1, -10 }, // 0x47 'G' + { 443, 12, 11, 11, 0, -10 }, // 0x48 'H' + { 460, 10, 11, 11, 1, -10 }, // 0x49 'I' + { 474, 12, 11, 11, 0, -10 }, // 0x4A 'J' + { 491, 11, 11, 11, 0, -10 }, // 0x4B 'K' + { 507, 11, 11, 11, 0, -10 }, // 0x4C 'L' + { 523, 13, 11, 11, 0, -10 }, // 0x4D 'M' + { 541, 13, 11, 11, 0, -10 }, // 0x4E 'N' + { 559, 10, 11, 11, 1, -10 }, // 0x4F 'O' + { 573, 11, 11, 11, 0, -10 }, // 0x50 'P' + { 589, 10, 14, 11, 1, -10 }, // 0x51 'Q' + { 607, 12, 11, 11, 0, -10 }, // 0x52 'R' + { 624, 10, 11, 11, 2, -10 }, // 0x53 'S' + { 638, 11, 11, 11, 1, -10 }, // 0x54 'T' + { 654, 11, 11, 11, 1, -10 }, // 0x55 'U' + { 670, 11, 11, 11, 1, -10 }, // 0x56 'V' + { 686, 11, 11, 11, 1, -10 }, // 0x57 'W' + { 702, 12, 11, 11, 0, -10 }, // 0x58 'X' + { 719, 11, 11, 11, 1, -10 }, // 0x59 'Y' + { 735, 10, 11, 11, 1, -10 }, // 0x5A 'Z' + { 749, 7, 14, 11, 4, -10 }, // 0x5B '[' + { 762, 5, 15, 11, 4, -12 }, // 0x5C '\' + { 772, 7, 14, 11, 2, -10 }, // 0x5D ']' + { 785, 8, 6, 11, 3, -11 }, // 0x5E '^' + { 791, 11, 2, 11, -1, 3 }, // 0x5F '_' + { 794, 3, 3, 11, 5, -11 }, // 0x60 '`' + { 796, 10, 8, 11, 1, -7 }, // 0x61 'a' + { 806, 11, 11, 11, 0, -10 }, // 0x62 'b' + { 822, 10, 8, 11, 1, -7 }, // 0x63 'c' + { 832, 11, 11, 11, 1, -10 }, // 0x64 'd' + { 848, 9, 8, 11, 1, -7 }, // 0x65 'e' + { 857, 10, 11, 11, 2, -10 }, // 0x66 'f' + { 871, 11, 12, 11, 1, -7 }, // 0x67 'g' + { 888, 10, 11, 11, 1, -10 }, // 0x68 'h' + { 902, 9, 11, 11, 1, -10 }, // 0x69 'i' + { 915, 9, 15, 11, 1, -10 }, // 0x6A 'j' + { 932, 10, 11, 11, 1, -10 }, // 0x6B 'k' + { 946, 9, 11, 11, 1, -10 }, // 0x6C 'l' + { 959, 12, 8, 11, 0, -7 }, // 0x6D 'm' + { 971, 11, 8, 11, 1, -7 }, // 0x6E 'n' + { 982, 10, 8, 11, 1, -7 }, // 0x6F 'o' + { 992, 12, 12, 11, -1, -7 }, // 0x70 'p' + { 1010, 11, 12, 11, 1, -7 }, // 0x71 'q' + { 1027, 10, 8, 11, 1, -7 }, // 0x72 'r' + { 1037, 8, 8, 11, 2, -7 }, // 0x73 's' + { 1045, 9, 11, 11, 1, -10 }, // 0x74 't' + { 1058, 10, 8, 11, 1, -7 }, // 0x75 'u' + { 1068, 11, 8, 11, 1, -7 }, // 0x76 'v' + { 1079, 11, 8, 11, 1, -7 }, // 0x77 'w' + { 1090, 11, 8, 11, 1, -7 }, // 0x78 'x' + { 1101, 12, 12, 11, 0, -7 }, // 0x79 'y' + { 1119, 9, 8, 11, 2, -7 }, // 0x7A 'z' + { 1128, 7, 14, 11, 3, -10 }, // 0x7B '{' + { 1141, 4, 14, 11, 4, -10 }, // 0x7C '|' + { 1148, 8, 14, 11, 2, -10 }, // 0x7D '}' + { 1162, 9, 4, 11, 2, -6 } }; // 0x7E '~' + +const GFXfont FreeMonoBoldOblique9pt7b PROGMEM = { + (uint8_t *)FreeMonoBoldOblique9pt7bBitmaps, + (GFXglyph *)FreeMonoBoldOblique9pt7bGlyphs, + 0x20, 0x7E, 18 }; + +// Approx. 1839 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h new file mode 100644 index 0000000..83a9a77 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h @@ -0,0 +1,248 @@ +const uint8_t FreeMonoOblique12pt7bBitmaps[] PROGMEM = { + 0x11, 0x11, 0x12, 0x22, 0x22, 0x00, 0x0E, 0xE0, 0xE7, 0xE7, 0xC6, 0xC6, + 0xC6, 0x84, 0x84, 0x02, 0x40, 0x88, 0x12, 0x02, 0x40, 0x48, 0x7F, 0xC2, + 0x40, 0x48, 0x11, 0x1F, 0xF8, 0x48, 0x09, 0x02, 0x40, 0x48, 0x09, 0x02, + 0x20, 0x02, 0x01, 0x00, 0xF4, 0xC3, 0x60, 0x50, 0x04, 0x00, 0xC0, 0x0F, + 0x00, 0x60, 0x0A, 0x02, 0x81, 0x30, 0xC7, 0xC0, 0x80, 0x20, 0x08, 0x00, + 0x0E, 0x02, 0x20, 0x84, 0x10, 0x82, 0x20, 0x38, 0x00, 0x38, 0x38, 0x38, + 0x08, 0xE0, 0x22, 0x08, 0x41, 0x08, 0x22, 0x03, 0x80, 0x07, 0x84, 0x04, + 0x02, 0x01, 0x00, 0xC1, 0xA2, 0x8A, 0x85, 0x43, 0x31, 0x8F, 0x60, 0xFF, + 0x6D, 0x20, 0x00, 0x44, 0x42, 0x21, 0x08, 0x84, 0x21, 0x08, 0x42, 0x10, + 0x42, 0x00, 0x00, 0x84, 0x10, 0x84, 0x21, 0x08, 0x46, 0x21, 0x10, 0x88, + 0x44, 0x00, 0x04, 0x02, 0x02, 0x1D, 0x13, 0xF0, 0x40, 0x50, 0x48, 0x44, + 0x00, 0x02, 0x00, 0x40, 0x08, 0x02, 0x00, 0x41, 0xFF, 0xC1, 0x00, 0x20, + 0x08, 0x01, 0x00, 0x20, 0x00, 0x1C, 0xE3, 0x18, 0x63, 0x08, 0x00, 0xFF, + 0xE0, 0x7F, 0x00, 0x00, 0x08, 0x00, 0x80, 0x04, 0x00, 0x40, 0x04, 0x00, + 0x60, 0x02, 0x00, 0x20, 0x03, 0x00, 0x10, 0x01, 0x00, 0x18, 0x00, 0x80, + 0x08, 0x00, 0x80, 0x04, 0x00, 0x40, 0x04, 0x00, 0x00, 0x07, 0x06, 0x23, + 0x04, 0x81, 0x40, 0x50, 0x14, 0x06, 0x02, 0x80, 0xA0, 0x28, 0x0A, 0x04, + 0x83, 0x11, 0x83, 0x80, 0x03, 0x03, 0x83, 0x83, 0x43, 0x20, 0x10, 0x08, + 0x08, 0x04, 0x02, 0x01, 0x01, 0x00, 0x80, 0x43, 0xFE, 0x01, 0xC0, 0x62, + 0x0C, 0x10, 0x81, 0x00, 0x10, 0x02, 0x00, 0x60, 0x0C, 0x01, 0x00, 0x20, + 0x0C, 0x01, 0x80, 0x20, 0x04, 0x04, 0xFF, 0xC0, 0x07, 0xC3, 0x0C, 0x00, + 0x80, 0x10, 0x06, 0x01, 0x81, 0xC0, 0x0C, 0x00, 0x40, 0x08, 0x01, 0x00, + 0x20, 0x09, 0x86, 0x0F, 0x00, 0x00, 0xC0, 0x50, 0x24, 0x12, 0x04, 0x82, + 0x21, 0x08, 0x82, 0x21, 0x10, 0x4F, 0xF8, 0x04, 0x01, 0x00, 0x80, 0xF8, + 0x0F, 0xE2, 0x00, 0x40, 0x08, 0x01, 0x00, 0x4E, 0x0E, 0x20, 0x02, 0x00, + 0x40, 0x08, 0x01, 0x00, 0x40, 0x19, 0x06, 0x1F, 0x00, 0x01, 0xE0, 0xC0, + 0x60, 0x18, 0x02, 0x00, 0x80, 0x13, 0xC5, 0x88, 0xE0, 0x98, 0x12, 0x02, + 0x40, 0x48, 0x10, 0x84, 0x0F, 0x00, 0xFF, 0xA0, 0x20, 0x08, 0x04, 0x01, + 0x00, 0x80, 0x20, 0x10, 0x04, 0x02, 0x00, 0x80, 0x40, 0x10, 0x08, 0x02, + 0x00, 0x07, 0x81, 0x08, 0x40, 0x90, 0x12, 0x02, 0x40, 0x84, 0x20, 0x78, + 0x30, 0x88, 0x0A, 0x01, 0x40, 0x28, 0x08, 0x82, 0x0F, 0x80, 0x07, 0x81, + 0x08, 0x40, 0x90, 0x12, 0x02, 0x40, 0xC8, 0x39, 0x8D, 0x1E, 0x40, 0x08, + 0x02, 0x00, 0xC0, 0x30, 0x18, 0x3E, 0x00, 0x19, 0xCC, 0x00, 0x00, 0x0C, + 0xE6, 0x00, 0x06, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x1C, 0x30, 0xE1, 0x86, + 0x08, 0x00, 0x00, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x06, 0x00, 0x30, + 0x00, 0xC0, 0x06, 0x00, 0x18, 0x00, 0xC0, 0x7F, 0xF8, 0x00, 0x00, 0x01, + 0xFF, 0xE0, 0x18, 0x00, 0xC0, 0x03, 0x00, 0x18, 0x00, 0x60, 0x03, 0x00, + 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x3E, 0xC3, 0x81, 0x01, 0x03, + 0x06, 0x18, 0x20, 0x20, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x07, 0x82, 0x31, + 0x04, 0x81, 0x20, 0x48, 0x74, 0x65, 0x21, 0x48, 0x92, 0x28, 0x7A, 0x00, + 0x80, 0x20, 0x04, 0x00, 0xF8, 0x07, 0xE0, 0x02, 0x80, 0x0A, 0x00, 0x48, + 0x01, 0x20, 0x08, 0x40, 0x41, 0x01, 0x04, 0x0F, 0xF0, 0x20, 0x41, 0x01, + 0x04, 0x02, 0x20, 0x0B, 0xE1, 0xF0, 0x1F, 0xF0, 0x40, 0xC2, 0x02, 0x10, + 0x10, 0x81, 0x84, 0x18, 0x7F, 0x82, 0x02, 0x10, 0x08, 0x80, 0x44, 0x02, + 0x60, 0x22, 0x03, 0x7F, 0xE0, 0x07, 0x91, 0x87, 0x20, 0x34, 0x02, 0x40, + 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x04, 0x04, 0x61, + 0x81, 0xE0, 0x1F, 0xE0, 0x41, 0x82, 0x06, 0x10, 0x11, 0x00, 0x88, 0x04, + 0x40, 0x22, 0x01, 0x10, 0x11, 0x00, 0x88, 0x08, 0x40, 0xC2, 0x0C, 0x7F, + 0x80, 0x1F, 0xFC, 0x20, 0x10, 0x80, 0x82, 0x00, 0x08, 0x00, 0x22, 0x01, + 0xF8, 0x04, 0x20, 0x10, 0x00, 0x40, 0x01, 0x01, 0x0C, 0x04, 0x20, 0x13, + 0xFF, 0xC0, 0x1F, 0xFC, 0x20, 0x10, 0x80, 0x42, 0x01, 0x08, 0x00, 0x22, + 0x01, 0xF8, 0x04, 0x20, 0x10, 0x00, 0x40, 0x01, 0x00, 0x0C, 0x00, 0x20, + 0x03, 0xF8, 0x00, 0x07, 0xD0, 0x83, 0x30, 0x12, 0x00, 0x40, 0x04, 0x00, + 0x80, 0x08, 0x00, 0x83, 0xE8, 0x04, 0x80, 0x4C, 0x04, 0x60, 0x41, 0xF8, + 0x0F, 0x3C, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x81, 0x01, 0x02, 0x03, + 0xFC, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0x80, 0x81, 0x02, 0x02, + 0x1F, 0x1E, 0x00, 0x3F, 0xE0, 0x40, 0x08, 0x01, 0x00, 0x20, 0x08, 0x01, + 0x00, 0x20, 0x04, 0x00, 0x80, 0x20, 0x04, 0x00, 0x81, 0xFF, 0x00, 0x03, + 0xFE, 0x00, 0x20, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, + 0x00, 0x20, 0x40, 0x40, 0x80, 0x81, 0x01, 0x02, 0x04, 0x06, 0x10, 0x07, + 0xC0, 0x00, 0x1F, 0x1E, 0x10, 0x10, 0x20, 0xC0, 0x43, 0x00, 0x88, 0x01, + 0x20, 0x07, 0xC0, 0x0C, 0x40, 0x10, 0x40, 0x20, 0x80, 0x41, 0x01, 0x81, + 0x02, 0x02, 0x1F, 0x87, 0x00, 0x3F, 0x80, 0x40, 0x04, 0x00, 0x40, 0x08, + 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x01, 0x01, 0x10, 0x11, 0x02, 0x10, + 0x2F, 0xFE, 0x1C, 0x03, 0x85, 0x03, 0x02, 0x82, 0x81, 0x41, 0x40, 0xA1, + 0x20, 0x89, 0x30, 0x44, 0x90, 0x22, 0x88, 0x11, 0x44, 0x08, 0x42, 0x08, + 0x03, 0x04, 0x01, 0x02, 0x00, 0x87, 0xC3, 0xE0, 0x3C, 0x3E, 0x18, 0x08, + 0x38, 0x20, 0x50, 0x41, 0x20, 0x82, 0x61, 0x04, 0x42, 0x08, 0x88, 0x10, + 0x90, 0x41, 0x20, 0x83, 0x41, 0x02, 0x82, 0x06, 0x1F, 0x04, 0x00, 0x03, + 0xC0, 0x61, 0x84, 0x04, 0x40, 0x14, 0x00, 0xA0, 0x06, 0x00, 0x30, 0x01, + 0x80, 0x14, 0x00, 0xA0, 0x08, 0x80, 0x86, 0x18, 0x0F, 0x00, 0x1F, 0xE0, + 0x40, 0x82, 0x02, 0x10, 0x10, 0x80, 0x84, 0x08, 0x40, 0x83, 0xF8, 0x10, + 0x00, 0x80, 0x04, 0x00, 0x60, 0x02, 0x00, 0x7F, 0x00, 0x03, 0xC0, 0x61, + 0x84, 0x04, 0x40, 0x14, 0x00, 0xA0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x14, + 0x00, 0xA0, 0x08, 0x80, 0x86, 0x18, 0x1F, 0x00, 0x40, 0x0F, 0xC4, 0x41, + 0xC0, 0x1F, 0xE0, 0x40, 0x82, 0x02, 0x10, 0x10, 0x80, 0x84, 0x08, 0x60, + 0x83, 0xF8, 0x10, 0xC0, 0x82, 0x04, 0x08, 0x40, 0x42, 0x03, 0x7E, 0x0C, + 0x07, 0xA3, 0x0C, 0x40, 0x90, 0x12, 0x00, 0x40, 0x06, 0x00, 0x3C, 0x00, + 0x40, 0x0A, 0x01, 0x40, 0x4C, 0x11, 0x7C, 0x00, 0xFF, 0xE8, 0x42, 0x84, + 0x20, 0x40, 0x04, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x10, + 0x01, 0x00, 0x10, 0x0F, 0xE0, 0xF8, 0xF9, 0x00, 0x88, 0x08, 0x80, 0x44, + 0x02, 0x20, 0x11, 0x01, 0x08, 0x08, 0x80, 0x44, 0x02, 0x20, 0x31, 0x01, + 0x04, 0x30, 0x1E, 0x00, 0xF8, 0x7D, 0x00, 0x42, 0x01, 0x08, 0x08, 0x20, + 0x40, 0x81, 0x02, 0x08, 0x08, 0x20, 0x11, 0x00, 0x48, 0x01, 0x20, 0x05, + 0x00, 0x14, 0x00, 0x60, 0x00, 0xF8, 0x7D, 0x00, 0x44, 0x01, 0x11, 0x84, + 0x46, 0x21, 0x18, 0x84, 0xA2, 0x12, 0x90, 0x91, 0x42, 0x45, 0x0A, 0x14, + 0x28, 0x60, 0xC1, 0x83, 0x06, 0x00, 0x1E, 0x1E, 0x10, 0x10, 0x10, 0x40, + 0x21, 0x00, 0x24, 0x00, 0x78, 0x00, 0x60, 0x01, 0xC0, 0x06, 0x80, 0x09, + 0x80, 0x21, 0x00, 0x81, 0x02, 0x02, 0x1E, 0x1F, 0x00, 0xF0, 0xF4, 0x04, + 0x20, 0x82, 0x18, 0x11, 0x01, 0x20, 0x1C, 0x00, 0x80, 0x08, 0x00, 0x80, + 0x10, 0x01, 0x00, 0x10, 0x0F, 0xE0, 0x0F, 0xF1, 0x01, 0x10, 0x21, 0x04, + 0x00, 0x80, 0x10, 0x02, 0x00, 0x40, 0x0C, 0x01, 0x82, 0x10, 0x22, 0x04, + 0x40, 0x47, 0xFC, 0x0E, 0x20, 0x40, 0x81, 0x02, 0x08, 0x10, 0x20, 0x40, + 0x82, 0x04, 0x08, 0x10, 0x20, 0x81, 0xE0, 0x84, 0x20, 0x84, 0x20, 0x84, + 0x21, 0x04, 0x21, 0x08, 0x21, 0x08, 0x40, 0x1E, 0x04, 0x08, 0x20, 0x40, + 0x81, 0x02, 0x04, 0x10, 0x20, 0x40, 0x81, 0x02, 0x08, 0x11, 0xE0, 0x04, + 0x06, 0x04, 0x84, 0x44, 0x14, 0x0C, 0xFF, 0xFE, 0x99, 0x90, 0x1F, 0xC0, + 0x06, 0x00, 0x20, 0x02, 0x1F, 0xE6, 0x04, 0xC0, 0x48, 0x04, 0x81, 0xC7, + 0xEF, 0x18, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x09, 0xF0, 0x50, + 0xC3, 0x03, 0x10, 0x08, 0x80, 0x48, 0x02, 0x40, 0x23, 0x03, 0x1C, 0x33, + 0xBE, 0x00, 0x0F, 0xD3, 0x07, 0x60, 0x24, 0x02, 0x80, 0x08, 0x00, 0x80, + 0x08, 0x06, 0x41, 0xC3, 0xF0, 0x00, 0x38, 0x00, 0x40, 0x02, 0x00, 0x20, + 0x01, 0x07, 0xC8, 0x43, 0x44, 0x0E, 0x40, 0x24, 0x01, 0x20, 0x09, 0x00, + 0xC8, 0x0E, 0x20, 0xE0, 0xF9, 0xC0, 0x0F, 0x86, 0x09, 0x00, 0xA0, 0x1F, + 0xFF, 0x00, 0x20, 0x06, 0x00, 0x60, 0xC7, 0xE0, 0x01, 0xF8, 0x10, 0x01, + 0x00, 0x08, 0x00, 0x40, 0x1F, 0xF0, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, + 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x03, 0xFE, 0x00, 0x0F, 0x31, 0x86, + 0x10, 0x10, 0x80, 0x88, 0x04, 0x40, 0x22, 0x02, 0x10, 0x10, 0x43, 0x81, + 0xE4, 0x00, 0x40, 0x02, 0x00, 0x20, 0x3E, 0x00, 0x1C, 0x00, 0x20, 0x03, + 0x00, 0x10, 0x00, 0x80, 0x05, 0xF0, 0x30, 0xC3, 0x02, 0x10, 0x10, 0x80, + 0x84, 0x0C, 0x20, 0x63, 0x02, 0x10, 0x13, 0xE3, 0xE0, 0x01, 0x80, 0x40, + 0x10, 0x00, 0x00, 0x07, 0xC0, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, + 0x04, 0x01, 0x0F, 0xFC, 0x00, 0x40, 0x10, 0x0C, 0x00, 0x00, 0x07, 0xF0, + 0x04, 0x01, 0x00, 0x40, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, + 0x01, 0x00, 0x8F, 0xC0, 0x18, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x01, + 0x1F, 0x10, 0x81, 0x30, 0x14, 0x01, 0xC0, 0x26, 0x02, 0x20, 0x21, 0x02, + 0x08, 0xE1, 0xE0, 0x0F, 0x80, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x20, + 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, 0x01, 0x0F, 0xFC, 0x3B, 0xB8, + 0x33, 0x91, 0x08, 0x44, 0x21, 0x10, 0x84, 0x42, 0x12, 0x10, 0x48, 0x42, + 0x21, 0x0B, 0xC6, 0x30, 0x19, 0xE0, 0xE3, 0x08, 0x11, 0x01, 0x10, 0x11, + 0x02, 0x10, 0x21, 0x02, 0x20, 0x2F, 0x87, 0x0F, 0x86, 0x19, 0x80, 0xA0, + 0x18, 0x03, 0x00, 0x60, 0x14, 0x06, 0x61, 0x87, 0xC0, 0x19, 0xF0, 0x28, + 0x20, 0xC0, 0x42, 0x01, 0x10, 0x04, 0x40, 0x11, 0x00, 0x86, 0x06, 0x14, + 0x30, 0xCF, 0x02, 0x00, 0x08, 0x00, 0x20, 0x03, 0xF0, 0x00, 0x0F, 0x39, + 0x85, 0x18, 0x18, 0x80, 0x88, 0x04, 0x40, 0x22, 0x01, 0x18, 0x18, 0x63, + 0x81, 0xE4, 0x00, 0x20, 0x01, 0x00, 0x10, 0x07, 0xE0, 0x1C, 0x78, 0x2C, + 0x01, 0x80, 0x18, 0x00, 0x80, 0x04, 0x00, 0x20, 0x02, 0x00, 0x10, 0x07, + 0xFC, 0x00, 0x0F, 0x44, 0x32, 0x04, 0x80, 0x1E, 0x00, 0x60, 0x0A, 0x02, + 0xC1, 0x2F, 0x80, 0x10, 0x08, 0x04, 0x02, 0x0F, 0xF9, 0x00, 0x80, 0x40, + 0x20, 0x20, 0x10, 0x08, 0x04, 0x19, 0xF0, 0xE0, 0xF2, 0x02, 0x40, 0x24, + 0x02, 0x40, 0x24, 0x06, 0x40, 0x44, 0x04, 0x41, 0xC3, 0xE6, 0xF8, 0xFA, + 0x01, 0x08, 0x10, 0x41, 0x02, 0x08, 0x10, 0x80, 0x48, 0x02, 0x40, 0x14, + 0x00, 0xC0, 0x00, 0xE0, 0x7A, 0x01, 0x10, 0x08, 0x8C, 0x84, 0xA4, 0x25, + 0x21, 0x4A, 0x0A, 0x50, 0x63, 0x02, 0x18, 0x00, 0x1E, 0x3C, 0x20, 0x40, + 0x46, 0x00, 0xB0, 0x03, 0x00, 0x0E, 0x00, 0xC8, 0x06, 0x10, 0x20, 0x23, + 0xE3, 0xC0, 0x3C, 0x3C, 0x40, 0x20, 0x81, 0x02, 0x08, 0x08, 0x20, 0x31, + 0x00, 0x48, 0x01, 0x40, 0x05, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x08, + 0x03, 0xF0, 0x00, 0x3F, 0xC4, 0x18, 0x06, 0x01, 0x80, 0x60, 0x10, 0x04, + 0x01, 0x00, 0x40, 0x9F, 0xF0, 0x06, 0x10, 0x20, 0x41, 0x02, 0x04, 0x08, + 0x21, 0x80, 0x81, 0x02, 0x08, 0x10, 0x20, 0x40, 0xC0, 0x01, 0x11, 0x12, + 0x22, 0x24, 0x44, 0x44, 0x88, 0x80, 0x0C, 0x08, 0x10, 0x20, 0x40, 0x82, + 0x04, 0x08, 0x0C, 0x20, 0x81, 0x02, 0x04, 0x08, 0x21, 0x80, 0x38, 0x28, + 0x88, 0x0E, 0x00 }; + +const GFXglyph FreeMonoOblique12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' + { 0, 4, 15, 14, 6, -14 }, // 0x21 '!' + { 8, 8, 7, 14, 5, -14 }, // 0x22 '"' + { 15, 11, 16, 14, 3, -14 }, // 0x23 '#' + { 37, 10, 18, 14, 4, -15 }, // 0x24 '$' + { 60, 11, 15, 14, 3, -14 }, // 0x25 '%' + { 81, 9, 12, 14, 3, -11 }, // 0x26 '&' + { 95, 3, 7, 14, 8, -14 }, // 0x27 ''' + { 98, 5, 18, 14, 8, -14 }, // 0x28 '(' + { 110, 5, 18, 14, 4, -14 }, // 0x29 ')' + { 122, 9, 9, 14, 5, -14 }, // 0x2A '*' + { 133, 11, 11, 14, 3, -11 }, // 0x2B '+' + { 149, 6, 7, 14, 3, -3 }, // 0x2C ',' + { 155, 11, 1, 14, 3, -6 }, // 0x2D '-' + { 157, 3, 3, 14, 6, -2 }, // 0x2E '.' + { 159, 13, 18, 14, 2, -15 }, // 0x2F '/' + { 189, 10, 15, 14, 4, -14 }, // 0x30 '0' + { 208, 9, 15, 14, 3, -14 }, // 0x31 '1' + { 225, 12, 15, 14, 2, -14 }, // 0x32 '2' + { 248, 11, 15, 14, 3, -14 }, // 0x33 '3' + { 269, 10, 15, 14, 3, -14 }, // 0x34 '4' + { 288, 11, 15, 14, 3, -14 }, // 0x35 '5' + { 309, 11, 15, 14, 4, -14 }, // 0x36 '6' + { 330, 10, 15, 14, 5, -14 }, // 0x37 '7' + { 349, 11, 15, 14, 3, -14 }, // 0x38 '8' + { 370, 11, 15, 14, 3, -14 }, // 0x39 '9' + { 391, 5, 10, 14, 5, -9 }, // 0x3A ':' + { 398, 7, 13, 14, 3, -9 }, // 0x3B ';' + { 410, 12, 11, 14, 3, -11 }, // 0x3C '<' + { 427, 13, 4, 14, 2, -8 }, // 0x3D '=' + { 434, 12, 11, 14, 2, -11 }, // 0x3E '>' + { 451, 8, 14, 14, 6, -13 }, // 0x3F '?' + { 465, 10, 16, 14, 3, -14 }, // 0x40 '@' + { 485, 14, 14, 14, 0, -13 }, // 0x41 'A' + { 510, 13, 14, 14, 1, -13 }, // 0x42 'B' + { 533, 12, 14, 14, 3, -13 }, // 0x43 'C' + { 554, 13, 14, 14, 1, -13 }, // 0x44 'D' + { 577, 14, 14, 14, 1, -13 }, // 0x45 'E' + { 602, 14, 14, 14, 1, -13 }, // 0x46 'F' + { 627, 12, 14, 14, 3, -13 }, // 0x47 'G' + { 648, 15, 14, 14, 1, -13 }, // 0x48 'H' + { 675, 11, 14, 14, 3, -13 }, // 0x49 'I' + { 695, 15, 14, 14, 2, -13 }, // 0x4A 'J' + { 722, 15, 14, 14, 1, -13 }, // 0x4B 'K' + { 749, 12, 14, 14, 2, -13 }, // 0x4C 'L' + { 770, 17, 14, 14, 0, -13 }, // 0x4D 'M' + { 800, 15, 14, 14, 1, -13 }, // 0x4E 'N' + { 827, 13, 14, 14, 2, -13 }, // 0x4F 'O' + { 850, 13, 14, 14, 1, -13 }, // 0x50 'P' + { 873, 13, 17, 14, 2, -13 }, // 0x51 'Q' + { 901, 13, 14, 14, 1, -13 }, // 0x52 'R' + { 924, 11, 14, 14, 3, -13 }, // 0x53 'S' + { 944, 12, 14, 14, 4, -13 }, // 0x54 'T' + { 965, 13, 14, 14, 3, -13 }, // 0x55 'U' + { 988, 14, 14, 14, 3, -13 }, // 0x56 'V' + { 1013, 14, 14, 14, 3, -13 }, // 0x57 'W' + { 1038, 15, 14, 14, 1, -13 }, // 0x58 'X' + { 1065, 12, 14, 14, 4, -13 }, // 0x59 'Y' + { 1086, 12, 14, 14, 2, -13 }, // 0x5A 'Z' + { 1107, 7, 18, 14, 6, -14 }, // 0x5B '[' + { 1123, 5, 18, 14, 6, -15 }, // 0x5C '\' + { 1135, 7, 18, 14, 3, -14 }, // 0x5D ']' + { 1151, 9, 6, 14, 5, -14 }, // 0x5E '^' + { 1158, 15, 1, 14, -1, 3 }, // 0x5F '_' + { 1160, 3, 4, 14, 6, -15 }, // 0x60 '`' + { 1162, 12, 10, 14, 2, -9 }, // 0x61 'a' + { 1177, 13, 15, 14, 1, -14 }, // 0x62 'b' + { 1202, 12, 10, 14, 3, -9 }, // 0x63 'c' + { 1217, 13, 15, 14, 2, -14 }, // 0x64 'd' + { 1242, 11, 10, 14, 3, -9 }, // 0x65 'e' + { 1256, 13, 15, 14, 3, -14 }, // 0x66 'f' + { 1281, 13, 14, 14, 3, -9 }, // 0x67 'g' + { 1304, 13, 15, 14, 1, -14 }, // 0x68 'h' + { 1329, 10, 15, 14, 2, -14 }, // 0x69 'i' + { 1348, 10, 19, 14, 2, -14 }, // 0x6A 'j' + { 1372, 12, 15, 14, 2, -14 }, // 0x6B 'k' + { 1395, 10, 15, 14, 2, -14 }, // 0x6C 'l' + { 1414, 14, 10, 14, 0, -9 }, // 0x6D 'm' + { 1432, 12, 10, 14, 1, -9 }, // 0x6E 'n' + { 1447, 11, 10, 14, 3, -9 }, // 0x6F 'o' + { 1461, 14, 14, 14, 0, -9 }, // 0x70 'p' + { 1486, 13, 14, 14, 3, -9 }, // 0x71 'q' + { 1509, 13, 10, 14, 2, -9 }, // 0x72 'r' + { 1526, 10, 10, 14, 3, -9 }, // 0x73 's' + { 1539, 9, 14, 14, 3, -13 }, // 0x74 't' + { 1555, 12, 10, 14, 2, -9 }, // 0x75 'u' + { 1570, 13, 10, 14, 3, -9 }, // 0x76 'v' + { 1587, 13, 10, 14, 3, -9 }, // 0x77 'w' + { 1604, 14, 10, 14, 1, -9 }, // 0x78 'x' + { 1622, 14, 14, 14, 1, -9 }, // 0x79 'y' + { 1647, 11, 10, 14, 3, -9 }, // 0x7A 'z' + { 1661, 7, 18, 14, 5, -14 }, // 0x7B '{' + { 1677, 4, 17, 14, 6, -13 }, // 0x7C '|' + { 1686, 7, 18, 14, 4, -14 }, // 0x7D '}' + { 1702, 11, 3, 14, 3, -7 } }; // 0x7E '~' + +const GFXfont FreeMonoOblique12pt7b PROGMEM = { + (uint8_t *)FreeMonoOblique12pt7bBitmaps, + (GFXglyph *)FreeMonoOblique12pt7bGlyphs, + 0x20, 0x7E, 24 }; + +// Approx. 2379 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h new file mode 100644 index 0000000..1979e72 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h @@ -0,0 +1,398 @@ +const uint8_t FreeMonoOblique18pt7bBitmaps[] PROGMEM = { + 0x00, 0x1C, 0x38, 0x70, 0xC1, 0x83, 0x06, 0x18, 0x30, 0x60, 0xC1, 0x02, + 0x04, 0x00, 0x00, 0x01, 0xC7, 0x8F, 0x1C, 0x00, 0x78, 0x7B, 0xC3, 0xFC, + 0x3D, 0xE1, 0xEF, 0x0F, 0x70, 0x73, 0x83, 0x98, 0x18, 0xC0, 0xC6, 0x06, + 0x00, 0x00, 0x8C, 0x01, 0x18, 0x06, 0x20, 0x08, 0x40, 0x11, 0x80, 0x62, + 0x00, 0xC4, 0x01, 0x18, 0x02, 0x30, 0x7F, 0xFC, 0x10, 0x80, 0x23, 0x00, + 0xC4, 0x01, 0x88, 0x3F, 0xFF, 0x04, 0x60, 0x18, 0x80, 0x21, 0x00, 0x46, + 0x01, 0x88, 0x03, 0x10, 0x04, 0x60, 0x08, 0xC0, 0x31, 0x00, 0x00, 0x30, + 0x00, 0x20, 0x00, 0x20, 0x00, 0xF9, 0x03, 0x0F, 0x06, 0x03, 0x04, 0x03, + 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0xC0, 0x00, 0x78, + 0x00, 0x0C, 0x00, 0x04, 0x00, 0x04, 0x40, 0x04, 0x40, 0x08, 0x40, 0x18, + 0xF0, 0x60, 0x9F, 0x80, 0x02, 0x00, 0x06, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x04, 0x00, 0x03, 0xC0, 0x0C, 0x60, 0x08, 0x20, 0x10, 0x20, 0x10, 0x20, + 0x10, 0x40, 0x18, 0x80, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x78, 0x07, 0xC0, + 0x3C, 0x00, 0xE0, 0x00, 0x01, 0xE0, 0x02, 0x18, 0x04, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x10, 0x0C, 0x20, 0x07, 0xC0, 0x01, 0xF0, 0x11, 0x81, + 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x80, 0x04, 0x00, 0xF0, + 0x09, 0x86, 0x84, 0x48, 0x32, 0x40, 0xA2, 0x07, 0x10, 0x30, 0x43, 0x81, + 0xE7, 0x80, 0x7B, 0xFD, 0xEF, 0x73, 0x98, 0xC6, 0x00, 0x01, 0x02, 0x06, + 0x0C, 0x0C, 0x18, 0x10, 0x30, 0x30, 0x60, 0x60, 0x60, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x60, 0x60, 0x20, 0x04, 0x06, + 0x06, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06, + 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x10, 0x30, 0x60, 0x40, 0xC0, 0x01, + 0x00, 0x04, 0x00, 0x10, 0x00, 0xC6, 0xE3, 0xF8, 0x7E, 0x00, 0x70, 0x03, + 0x40, 0x19, 0x80, 0xC2, 0x06, 0x0C, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0xFF, 0xFE, + 0x02, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x02, + 0x00, 0x04, 0x00, 0x0F, 0x87, 0x87, 0x83, 0x83, 0xC1, 0xC1, 0xC0, 0xC0, + 0xE0, 0x60, 0x00, 0xFF, 0xFF, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x04, 0x00, + 0x01, 0x80, 0x00, 0x60, 0x00, 0x08, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, + 0x10, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x20, 0x00, 0x0C, 0x00, 0x03, + 0x00, 0x00, 0x40, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x20, + 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 0x01, + 0xF0, 0x18, 0x60, 0x80, 0x86, 0x01, 0x10, 0x04, 0x80, 0x12, 0x00, 0x50, + 0x01, 0x40, 0x0D, 0x00, 0x24, 0x00, 0xA0, 0x02, 0x80, 0x1A, 0x00, 0x48, + 0x01, 0x20, 0x0C, 0x80, 0x22, 0x01, 0x84, 0x0C, 0x18, 0x60, 0x3E, 0x00, + 0x00, 0x60, 0x07, 0x00, 0x68, 0x06, 0x40, 0xE4, 0x04, 0x20, 0x01, 0x00, + 0x08, 0x00, 0x40, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, + 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, 0x0F, 0xFF, 0x80, 0x00, + 0x3C, 0x00, 0x61, 0x80, 0x40, 0x40, 0x40, 0x10, 0x60, 0x08, 0x00, 0x04, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x07, + 0x00, 0x06, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x0C, + 0x00, 0x1C, 0x01, 0x1C, 0x00, 0x8F, 0xFF, 0xC0, 0x00, 0xFC, 0x03, 0x06, + 0x06, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x0C, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x40, 0x18, 0x70, 0x30, + 0x0F, 0xC0, 0x00, 0x1C, 0x00, 0xD0, 0x06, 0x80, 0x32, 0x00, 0x88, 0x04, + 0x20, 0x30, 0x81, 0x84, 0x04, 0x10, 0x20, 0x41, 0x81, 0x0C, 0x08, 0x60, + 0x21, 0x00, 0x8F, 0xFF, 0x80, 0x18, 0x00, 0x40, 0x01, 0x00, 0x04, 0x00, + 0x10, 0x07, 0xE0, 0x03, 0xFF, 0x03, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, + 0x40, 0x00, 0x20, 0x00, 0x30, 0x00, 0x1B, 0xE0, 0x0E, 0x0C, 0x00, 0x02, + 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x08, 0x00, 0x04, 0x60, 0x04, 0x18, 0x04, 0x06, 0x0C, 0x00, 0xF8, 0x00, + 0x00, 0x3F, 0x00, 0xC0, 0x03, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, + 0x30, 0x00, 0x20, 0x00, 0x40, 0x00, 0x43, 0xE0, 0x4C, 0x30, 0xB0, 0x18, + 0xE0, 0x08, 0xC0, 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x10, 0xC0, 0x10, + 0x40, 0x20, 0x20, 0xC0, 0x1F, 0x00, 0xFF, 0xFC, 0x00, 0xE0, 0x04, 0x00, + 0x60, 0x02, 0x00, 0x30, 0x01, 0x00, 0x18, 0x00, 0x80, 0x0C, 0x00, 0x40, + 0x06, 0x00, 0x20, 0x03, 0x00, 0x10, 0x01, 0x80, 0x08, 0x00, 0xC0, 0x04, + 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0xF0, 0x06, 0x18, 0x10, 0x18, 0x40, + 0x11, 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x02, 0x18, 0x08, 0x18, 0x60, + 0x1F, 0x80, 0xC1, 0x82, 0x01, 0x88, 0x01, 0x20, 0x02, 0x40, 0x04, 0x80, + 0x09, 0x00, 0x23, 0x00, 0x83, 0x06, 0x01, 0xF0, 0x00, 0x00, 0xF0, 0x06, + 0x18, 0x10, 0x10, 0x40, 0x30, 0x80, 0x22, 0x00, 0x44, 0x00, 0x88, 0x03, + 0x10, 0x0E, 0x30, 0x34, 0x30, 0xD0, 0x3E, 0x20, 0x00, 0x40, 0x01, 0x00, + 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0xC0, 0x02, 0x00, 0x18, 0x0F, 0xC0, + 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xC7, 0xCF, + 0x9F, 0x1C, 0x00, 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x1C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x07, 0x81, 0xE0, 0x3C, 0x0F, 0x01, + 0xC0, 0x70, 0x0E, 0x03, 0x80, 0x60, 0x00, 0x00, 0x01, 0x80, 0x03, 0x80, + 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, + 0xE0, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x07, + 0x00, 0x00, 0xE0, 0x00, 0x38, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x18, 0x00, 0x03, 0x80, + 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, + 0x00, 0x0E, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, + 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x1F, 0xCE, 0x06, 0x80, + 0x38, 0x01, 0x80, 0x10, 0x01, 0x00, 0x20, 0x04, 0x01, 0x80, 0xF0, 0x18, + 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x80, 0xF8, + 0x07, 0x00, 0x01, 0xF0, 0x0C, 0x30, 0x30, 0x30, 0x40, 0x21, 0x00, 0x44, + 0x00, 0x88, 0x01, 0x10, 0x1E, 0x40, 0xC4, 0x86, 0x11, 0x08, 0x22, 0x20, + 0x48, 0x40, 0x90, 0x82, 0x21, 0x84, 0x40, 0xFC, 0x80, 0x01, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x04, 0x00, 0x0C, 0x18, 0x07, 0xC0, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x68, 0x00, 0x06, 0x40, 0x00, 0x32, 0x00, 0x03, 0x10, 0x00, + 0x10, 0x80, 0x01, 0x84, 0x00, 0x18, 0x10, 0x00, 0xC0, 0x80, 0x0C, 0x04, + 0x00, 0x60, 0x20, 0x06, 0x01, 0x00, 0x3F, 0xFC, 0x02, 0x00, 0x20, 0x10, + 0x01, 0x01, 0x00, 0x08, 0x08, 0x00, 0x40, 0x80, 0x02, 0x0C, 0x00, 0x09, + 0xFC, 0x07, 0xF0, 0x0F, 0xFF, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, + 0x02, 0x00, 0x40, 0x80, 0x10, 0x40, 0x08, 0x10, 0x06, 0x04, 0x03, 0x01, + 0xFF, 0x80, 0x40, 0x38, 0x20, 0x02, 0x08, 0x00, 0x42, 0x00, 0x10, 0x80, + 0x04, 0x40, 0x01, 0x10, 0x00, 0x84, 0x00, 0x41, 0x00, 0x23, 0xFF, 0xF0, + 0x00, 0xFC, 0x40, 0xC1, 0xF0, 0xC0, 0x1C, 0x60, 0x06, 0x10, 0x00, 0x88, + 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x08, 0x00, + 0x02, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x03, 0x00, 0x00, + 0x40, 0x06, 0x08, 0x03, 0x01, 0x83, 0x80, 0x3F, 0x00, 0x0F, 0xFE, 0x00, + 0x80, 0xC0, 0x20, 0x18, 0x10, 0x02, 0x04, 0x00, 0x41, 0x00, 0x10, 0x40, + 0x04, 0x20, 0x01, 0x08, 0x00, 0x42, 0x00, 0x10, 0x80, 0x08, 0x20, 0x02, + 0x10, 0x00, 0x84, 0x00, 0x21, 0x00, 0x10, 0x40, 0x08, 0x20, 0x06, 0x08, + 0x03, 0x02, 0x01, 0x83, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x10, 0x02, 0x02, + 0x00, 0x60, 0x20, 0x06, 0x02, 0x00, 0x60, 0x20, 0x00, 0x04, 0x00, 0x00, + 0x40, 0x80, 0x04, 0x10, 0x00, 0x7F, 0x00, 0x04, 0x10, 0x00, 0x81, 0x00, + 0x08, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x81, 0x00, 0x08, 0x10, 0x00, + 0x81, 0x00, 0x18, 0x10, 0x01, 0x8F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x10, + 0x03, 0x02, 0x00, 0x30, 0x20, 0x03, 0x02, 0x00, 0x20, 0x20, 0x00, 0x04, + 0x00, 0x00, 0x40, 0x80, 0x04, 0x10, 0x00, 0x7F, 0x00, 0x04, 0x10, 0x00, + 0x81, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, + 0x10, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFE, + 0x40, 0xC0, 0xF0, 0x40, 0x1C, 0x20, 0x03, 0x10, 0x00, 0x88, 0x00, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x01, + 0xFE, 0x80, 0x02, 0x20, 0x00, 0x88, 0x00, 0x22, 0x00, 0x08, 0x40, 0x04, + 0x18, 0x01, 0x03, 0x81, 0xC0, 0x3F, 0x80, 0x07, 0xE1, 0xF8, 0x08, 0x02, + 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x20, 0x04, 0x01, 0x00, 0x20, 0x18, + 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x3F, 0xFC, 0x01, 0x00, 0x60, + 0x10, 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x20, 0x04, 0x02, 0x00, + 0x40, 0x10, 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x81, 0xF8, 0x3F, 0x00, + 0x0F, 0xFF, 0x80, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, + 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x20, + 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, + 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0C, 0x04, 0x00, + 0x80, 0x40, 0x08, 0x08, 0x00, 0x80, 0x80, 0x08, 0x08, 0x01, 0x00, 0x80, + 0x10, 0x0C, 0x02, 0x00, 0x60, 0xC0, 0x01, 0xF0, 0x00, 0x0F, 0xE1, 0xF8, + 0x08, 0x03, 0x00, 0x80, 0x60, 0x04, 0x06, 0x00, 0x20, 0x60, 0x01, 0x06, + 0x00, 0x10, 0xC0, 0x00, 0x8C, 0x00, 0x04, 0xC0, 0x00, 0x2F, 0x80, 0x01, + 0x8E, 0x00, 0x18, 0x30, 0x00, 0x80, 0xC0, 0x04, 0x06, 0x00, 0x20, 0x10, + 0x02, 0x00, 0xC0, 0x10, 0x06, 0x00, 0x80, 0x30, 0x04, 0x00, 0x81, 0xFC, + 0x07, 0x80, 0x07, 0xFC, 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, + 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x40, + 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x10, 0x20, 0x04, + 0x08, 0x01, 0x04, 0x00, 0x81, 0x00, 0x20, 0x40, 0x0B, 0xFF, 0xFE, 0x0F, + 0x00, 0x1E, 0x03, 0x00, 0x38, 0x05, 0x00, 0x68, 0x04, 0x80, 0x68, 0x04, + 0x80, 0xC8, 0x04, 0x80, 0x90, 0x04, 0x81, 0x90, 0x08, 0x43, 0x10, 0x08, + 0x42, 0x10, 0x08, 0x46, 0x10, 0x08, 0x4C, 0x20, 0x10, 0x2C, 0x20, 0x10, + 0x38, 0x20, 0x10, 0x30, 0x20, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, + 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0xFC, 0x07, 0xE0, 0x1F, + 0x01, 0xFC, 0x0C, 0x00, 0x80, 0x78, 0x02, 0x01, 0xE0, 0x18, 0x04, 0x80, + 0x60, 0x13, 0x01, 0x00, 0x4C, 0x04, 0x03, 0x18, 0x10, 0x0C, 0x60, 0xC0, + 0x20, 0x83, 0x00, 0x83, 0x08, 0x06, 0x0C, 0x20, 0x18, 0x18, 0x80, 0x40, + 0x66, 0x01, 0x00, 0x98, 0x04, 0x03, 0x40, 0x30, 0x0D, 0x00, 0xC0, 0x14, + 0x02, 0x00, 0x70, 0x3F, 0x80, 0xC0, 0x00, 0xF8, 0x01, 0x83, 0x01, 0x00, + 0xC1, 0x00, 0x21, 0x00, 0x19, 0x00, 0x04, 0x80, 0x02, 0x80, 0x01, 0x40, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x28, 0x00, 0x14, 0x00, 0x12, + 0x00, 0x09, 0x80, 0x08, 0x40, 0x08, 0x30, 0x08, 0x0C, 0x18, 0x01, 0xF0, + 0x00, 0x0F, 0xFE, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, 0x02, 0x00, + 0x40, 0x80, 0x10, 0x40, 0x04, 0x10, 0x02, 0x04, 0x01, 0x01, 0x01, 0x80, + 0x7F, 0x80, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x40, + 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xF8, + 0x01, 0x83, 0x01, 0x00, 0xC1, 0x00, 0x21, 0x00, 0x19, 0x00, 0x05, 0x00, + 0x02, 0x80, 0x01, 0x40, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x28, + 0x00, 0x14, 0x00, 0x12, 0x00, 0x09, 0x80, 0x08, 0x40, 0x08, 0x30, 0x08, + 0x0C, 0x18, 0x03, 0xF0, 0x00, 0xC0, 0x01, 0xC0, 0x01, 0xFE, 0x18, 0xC0, + 0xF0, 0x0F, 0xFE, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, 0x02, 0x00, + 0x40, 0x80, 0x10, 0x40, 0x04, 0x10, 0x02, 0x04, 0x01, 0x01, 0x01, 0x80, + 0x7F, 0x80, 0x20, 0x60, 0x08, 0x0C, 0x02, 0x03, 0x80, 0x80, 0x60, 0x40, + 0x18, 0x10, 0x03, 0x04, 0x00, 0xC1, 0x00, 0x1B, 0xF8, 0x07, 0x00, 0x7E, + 0x40, 0x60, 0xF0, 0x20, 0x1C, 0x10, 0x02, 0x08, 0x00, 0x82, 0x00, 0x00, + 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xC0, 0x00, + 0x18, 0x00, 0x01, 0x00, 0x00, 0x44, 0x00, 0x11, 0x00, 0x04, 0x40, 0x02, + 0x38, 0x01, 0x0B, 0x81, 0x82, 0x3F, 0x80, 0x3F, 0xFF, 0xA0, 0x20, 0x50, + 0x10, 0x28, 0x08, 0x24, 0x08, 0x10, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, + 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x1F, + 0xFC, 0x00, 0x7E, 0x0F, 0xC4, 0x00, 0x42, 0x00, 0x10, 0x80, 0x08, 0x20, + 0x02, 0x08, 0x00, 0x82, 0x00, 0x21, 0x00, 0x08, 0x40, 0x04, 0x10, 0x01, + 0x04, 0x00, 0x41, 0x00, 0x10, 0x80, 0x0C, 0x20, 0x02, 0x08, 0x00, 0x82, + 0x00, 0x60, 0x80, 0x10, 0x10, 0x08, 0x06, 0x0C, 0x00, 0x7C, 0x00, 0xFE, + 0x03, 0xF9, 0x80, 0x02, 0x0C, 0x00, 0x30, 0x20, 0x01, 0x01, 0x00, 0x10, + 0x08, 0x01, 0x80, 0x60, 0x08, 0x03, 0x00, 0xC0, 0x18, 0x04, 0x00, 0x40, + 0x60, 0x02, 0x06, 0x00, 0x10, 0x20, 0x00, 0xC3, 0x00, 0x06, 0x10, 0x00, + 0x31, 0x80, 0x00, 0x88, 0x00, 0x04, 0x80, 0x00, 0x2C, 0x00, 0x01, 0xC0, + 0x00, 0x0E, 0x00, 0x00, 0x7F, 0x07, 0xF2, 0x00, 0x04, 0x20, 0x00, 0xC2, + 0x00, 0x08, 0x20, 0xC0, 0x82, 0x0C, 0x18, 0x21, 0xA1, 0x02, 0x1A, 0x10, + 0x23, 0x23, 0x04, 0x32, 0x30, 0x46, 0x22, 0x04, 0x62, 0x60, 0x4C, 0x26, + 0x04, 0xC2, 0x40, 0x58, 0x24, 0x05, 0x82, 0xC0, 0x70, 0x28, 0x07, 0x02, + 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x00, 0x0F, 0xC1, 0xF8, 0x30, 0x03, 0x00, + 0xC0, 0x30, 0x06, 0x03, 0x00, 0x18, 0x10, 0x00, 0xC1, 0x00, 0x03, 0x18, + 0x00, 0x09, 0x80, 0x00, 0x78, 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x01, + 0xA0, 0x00, 0x19, 0x80, 0x01, 0x84, 0x00, 0x18, 0x30, 0x01, 0x80, 0xC0, + 0x08, 0x06, 0x00, 0x80, 0x18, 0x08, 0x00, 0xC1, 0xF8, 0x3F, 0x80, 0x7E, + 0x0F, 0xC4, 0x00, 0xC1, 0x80, 0x60, 0x20, 0x30, 0x0C, 0x08, 0x03, 0x04, + 0x00, 0x43, 0x00, 0x19, 0x80, 0x02, 0xC0, 0x00, 0xE0, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x40, 0x03, 0xFF, 0x80, 0x0F, 0xFF, 0x86, 0x00, + 0x82, 0x00, 0x81, 0x00, 0xC1, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0x00, + 0xC0, 0x00, 0x40, 0x00, 0x40, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, + 0x60, 0x10, 0x60, 0x18, 0x20, 0x08, 0x20, 0x04, 0x20, 0x02, 0x30, 0x03, + 0x1F, 0xFF, 0x80, 0x07, 0xE0, 0x80, 0x10, 0x02, 0x00, 0xC0, 0x18, 0x02, + 0x00, 0x40, 0x18, 0x03, 0x00, 0x40, 0x08, 0x01, 0x00, 0x60, 0x0C, 0x01, + 0x00, 0x20, 0x04, 0x01, 0x80, 0x30, 0x04, 0x00, 0x80, 0x10, 0x06, 0x00, + 0xFC, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, + 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, + 0x02, 0x02, 0x02, 0x02, 0x00, 0x07, 0xE0, 0x0C, 0x01, 0x00, 0x20, 0x04, + 0x01, 0x80, 0x30, 0x04, 0x00, 0x80, 0x30, 0x06, 0x00, 0x80, 0x10, 0x02, + 0x00, 0xC0, 0x18, 0x02, 0x00, 0x40, 0x18, 0x03, 0x00, 0x40, 0x08, 0x03, + 0x00, 0x60, 0xF8, 0x00, 0x01, 0x00, 0x1C, 0x01, 0xB0, 0x19, 0x81, 0x86, + 0x18, 0x11, 0x80, 0xD8, 0x03, 0x80, 0x18, 0xFF, 0xFF, 0xF8, 0xC7, 0x1C, + 0x71, 0x80, 0x03, 0xF8, 0x0C, 0x0C, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x02, 0x07, 0xFC, 0x18, 0x0C, 0x20, 0x04, 0x40, 0x04, 0x80, 0x04, + 0x80, 0x08, 0x80, 0x38, 0xC0, 0xE8, 0x3F, 0x0F, 0x0F, 0x00, 0x00, 0x20, + 0x00, 0x04, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x04, 0x00, 0x00, 0x87, + 0xC0, 0x13, 0x0C, 0x06, 0x80, 0x40, 0xE0, 0x0C, 0x18, 0x00, 0x82, 0x00, + 0x10, 0xC0, 0x02, 0x10, 0x00, 0x42, 0x00, 0x08, 0x40, 0x02, 0x08, 0x00, + 0x43, 0x80, 0x10, 0x70, 0x04, 0x09, 0x83, 0x0F, 0x1F, 0x80, 0x01, 0xFC, + 0x83, 0x03, 0xC6, 0x00, 0xE4, 0x00, 0x22, 0x00, 0x12, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x18, 0x00, 0x64, + 0x00, 0x61, 0x81, 0xC0, 0x7F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x30, 0x00, + 0x0C, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x60, 0x3F, 0x18, 0x10, 0x64, + 0x18, 0x0D, 0x08, 0x01, 0xC2, 0x00, 0x71, 0x00, 0x0C, 0x80, 0x02, 0x20, + 0x00, 0x88, 0x00, 0x62, 0x00, 0x18, 0x80, 0x0E, 0x20, 0x03, 0x04, 0x03, + 0x40, 0xC1, 0xB0, 0x1F, 0x8F, 0x00, 0x01, 0xF0, 0x0E, 0x0C, 0x18, 0x06, + 0x30, 0x02, 0x60, 0x01, 0x40, 0x01, 0xC0, 0x01, 0xFF, 0xFF, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x60, 0x06, 0x30, 0x1C, 0x0F, 0xE0, + 0x00, 0x1F, 0xE0, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, + 0x02, 0x00, 0x07, 0xFF, 0xC0, 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, + 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x04, 0x00, 0x0F, + 0xFF, 0x00, 0x03, 0xE3, 0xE1, 0x83, 0x60, 0x40, 0x38, 0x10, 0x03, 0x04, + 0x00, 0x60, 0x80, 0x0C, 0x20, 0x01, 0x84, 0x00, 0x20, 0x80, 0x04, 0x10, + 0x01, 0x82, 0x00, 0x30, 0x60, 0x0C, 0x04, 0x02, 0x80, 0x61, 0x90, 0x07, + 0xC6, 0x00, 0x00, 0xC0, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, + 0x30, 0x00, 0x0C, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x40, 0x00, + 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x23, 0xE0, 0x0B, + 0x0C, 0x05, 0x00, 0x81, 0x80, 0x20, 0x40, 0x08, 0x10, 0x02, 0x08, 0x00, + 0x82, 0x00, 0x60, 0x80, 0x18, 0x20, 0x06, 0x10, 0x01, 0x84, 0x00, 0x61, + 0x00, 0x30, 0x40, 0x0C, 0xFC, 0x1F, 0xC0, 0x00, 0x30, 0x00, 0x60, 0x00, + 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x20, + 0x00, 0x40, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, + 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x10, 0x1F, 0xFF, + 0x80, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xFE, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, + 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x00, + 0x40, 0x00, 0x80, 0x01, 0x00, 0x06, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, + 0x00, 0x80, 0x03, 0x00, 0x0C, 0x0F, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x60, + 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x00, 0x30, 0xFC, + 0x08, 0x18, 0x02, 0x0C, 0x00, 0x8C, 0x00, 0x66, 0x00, 0x1B, 0x00, 0x05, + 0x80, 0x01, 0xB0, 0x00, 0x46, 0x00, 0x31, 0xC0, 0x0C, 0x30, 0x02, 0x06, + 0x00, 0x80, 0xC0, 0x60, 0x30, 0xF8, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, + 0x20, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x08, 0x0F, 0xFF, 0xC0, + 0x1C, 0xF1, 0xE0, 0xF1, 0xE3, 0x0E, 0x1C, 0x10, 0xC1, 0x81, 0x08, 0x10, + 0x30, 0x81, 0x03, 0x18, 0x10, 0x21, 0x83, 0x02, 0x10, 0x30, 0x21, 0x02, + 0x06, 0x10, 0x20, 0x63, 0x02, 0x04, 0x30, 0x60, 0x42, 0x06, 0x04, 0xF8, + 0x70, 0xF0, 0x0E, 0x3E, 0x01, 0x60, 0x81, 0xC0, 0x20, 0xC0, 0x10, 0x40, + 0x08, 0x20, 0x04, 0x30, 0x02, 0x10, 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, + 0x00, 0x42, 0x00, 0x21, 0x00, 0x20, 0x80, 0x13, 0xF0, 0x3E, 0x01, 0xF0, + 0x06, 0x0C, 0x18, 0x06, 0x20, 0x03, 0x60, 0x01, 0x40, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x02, 0x80, 0x06, 0xC0, 0x04, 0x40, 0x18, + 0x30, 0x60, 0x1F, 0x80, 0x0F, 0x1F, 0x80, 0x16, 0x0C, 0x01, 0xC0, 0x20, + 0x30, 0x03, 0x03, 0x00, 0x10, 0x20, 0x01, 0x02, 0x00, 0x10, 0x40, 0x01, + 0x04, 0x00, 0x10, 0x40, 0x02, 0x06, 0x00, 0x60, 0x60, 0x04, 0x0B, 0x00, + 0x80, 0x98, 0x30, 0x08, 0xFC, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0F, 0xF0, 0x00, 0x03, + 0xF1, 0xE1, 0x83, 0x20, 0x40, 0x34, 0x10, 0x03, 0x84, 0x00, 0x30, 0x80, + 0x04, 0x20, 0x00, 0x84, 0x00, 0x10, 0x80, 0x06, 0x10, 0x00, 0xC2, 0x00, + 0x30, 0x60, 0x0E, 0x04, 0x03, 0x40, 0x60, 0xC8, 0x07, 0xE2, 0x00, 0x00, + 0x40, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x01, + 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x87, 0xC0, 0x23, 0x08, 0x04, 0xC0, 0x00, + 0xE0, 0x00, 0x18, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x02, + 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x08, + 0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFA, 0x0C, 0x1C, 0x20, 0x08, 0x80, 0x11, + 0x00, 0x03, 0x00, 0x03, 0xF8, 0x00, 0x7C, 0x00, 0x0C, 0x00, 0x09, 0x00, + 0x16, 0x00, 0x2C, 0x00, 0x9E, 0x06, 0x27, 0xF0, 0x00, 0x08, 0x00, 0x40, + 0x02, 0x00, 0x10, 0x00, 0x80, 0x7F, 0xFC, 0x40, 0x02, 0x00, 0x10, 0x00, + 0x80, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x00, 0x40, + 0x02, 0x00, 0xD8, 0x1C, 0x3F, 0x00, 0xF0, 0x1E, 0x20, 0x04, 0x80, 0x09, + 0x00, 0x12, 0x00, 0x24, 0x00, 0xC8, 0x01, 0x20, 0x02, 0x40, 0x04, 0x80, + 0x09, 0x00, 0x12, 0x00, 0x64, 0x03, 0x8C, 0x1D, 0x0F, 0xC3, 0x80, 0xFE, + 0x0F, 0xE6, 0x00, 0x20, 0x40, 0x08, 0x08, 0x03, 0x01, 0x80, 0x40, 0x30, + 0x18, 0x06, 0x02, 0x00, 0x40, 0x80, 0x08, 0x30, 0x01, 0x84, 0x00, 0x31, + 0x80, 0x02, 0x20, 0x00, 0x48, 0x00, 0x09, 0x00, 0x01, 0xC0, 0x00, 0xF8, + 0x0F, 0xA0, 0x01, 0x90, 0x00, 0x88, 0x40, 0xC4, 0x30, 0x42, 0x18, 0x61, + 0x1A, 0x20, 0x8D, 0x10, 0x4C, 0x98, 0x26, 0x48, 0x16, 0x2C, 0x0B, 0x14, + 0x07, 0x0A, 0x03, 0x07, 0x01, 0x81, 0x00, 0x0F, 0x83, 0xE0, 0xC0, 0x18, + 0x0C, 0x0C, 0x01, 0x83, 0x00, 0x18, 0xC0, 0x01, 0xB0, 0x00, 0x1C, 0x00, + 0x03, 0x00, 0x00, 0xF0, 0x00, 0x63, 0x00, 0x18, 0x30, 0x06, 0x06, 0x01, + 0x80, 0x60, 0x60, 0x06, 0x3F, 0x07, 0xE0, 0x0F, 0xC0, 0xF8, 0x30, 0x01, + 0x00, 0x80, 0x18, 0x04, 0x00, 0x80, 0x30, 0x0C, 0x01, 0x80, 0xC0, 0x04, + 0x04, 0x00, 0x30, 0x60, 0x01, 0x86, 0x00, 0x04, 0x20, 0x00, 0x23, 0x00, + 0x01, 0xB0, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x00, 0x01, 0x80, 0x00, 0x08, + 0x00, 0x00, 0xC0, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, + 0x20, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xFF, 0x10, 0x06, 0x10, 0x0C, 0x10, + 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, + 0x00, 0x0C, 0x00, 0x18, 0x04, 0x30, 0x0C, 0x60, 0x0C, 0xFF, 0xF8, 0x00, + 0xE0, 0x20, 0x08, 0x01, 0x00, 0x20, 0x04, 0x01, 0x00, 0x20, 0x04, 0x00, + 0x80, 0x20, 0x08, 0x0E, 0x00, 0x60, 0x04, 0x00, 0x80, 0x10, 0x02, 0x00, + 0x40, 0x08, 0x02, 0x00, 0x40, 0x08, 0x01, 0x00, 0x18, 0x00, 0x00, 0x10, + 0xC3, 0x08, 0x20, 0x86, 0x18, 0x41, 0x04, 0x30, 0xC2, 0x08, 0x21, 0x86, + 0x10, 0x43, 0x0C, 0x20, 0x06, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, + 0x10, 0x04, 0x02, 0x00, 0x80, 0x20, 0x0C, 0x01, 0xC0, 0xC0, 0x40, 0x10, + 0x04, 0x03, 0x00, 0x80, 0x20, 0x08, 0x02, 0x01, 0x00, 0xC0, 0xE0, 0x00, + 0x1E, 0x02, 0x66, 0x0D, 0x86, 0x16, 0x06, 0x48, 0x07, 0x00 }; + +const GFXglyph FreeMonoOblique18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' + { 0, 7, 22, 21, 9, -21 }, // 0x21 '!' + { 20, 13, 10, 21, 7, -20 }, // 0x22 '"' + { 37, 15, 24, 21, 5, -21 }, // 0x23 '#' + { 82, 16, 26, 21, 4, -22 }, // 0x24 '$' + { 134, 16, 21, 21, 5, -20 }, // 0x25 '%' + { 176, 13, 18, 21, 5, -17 }, // 0x26 '&' + { 206, 5, 10, 21, 12, -20 }, // 0x27 ''' + { 213, 8, 25, 21, 12, -20 }, // 0x28 '(' + { 238, 8, 25, 21, 5, -20 }, // 0x29 ')' + { 263, 14, 11, 21, 7, -19 }, // 0x2A '*' + { 283, 15, 17, 21, 5, -17 }, // 0x2B '+' + { 315, 9, 10, 21, 4, -4 }, // 0x2C ',' + { 327, 16, 1, 21, 5, -9 }, // 0x2D '-' + { 329, 5, 5, 21, 8, -4 }, // 0x2E '.' + { 333, 19, 26, 21, 3, -22 }, // 0x2F '/' + { 395, 14, 21, 21, 5, -20 }, // 0x30 '0' + { 432, 13, 21, 21, 4, -20 }, // 0x31 '1' + { 467, 17, 21, 21, 3, -20 }, // 0x32 '2' + { 512, 16, 21, 21, 3, -20 }, // 0x33 '3' + { 554, 14, 21, 21, 5, -20 }, // 0x34 '4' + { 591, 17, 21, 21, 4, -20 }, // 0x35 '5' + { 636, 16, 21, 21, 6, -20 }, // 0x36 '6' + { 678, 13, 21, 21, 8, -20 }, // 0x37 '7' + { 713, 15, 21, 21, 5, -20 }, // 0x38 '8' + { 753, 15, 21, 21, 5, -20 }, // 0x39 '9' + { 793, 7, 15, 21, 8, -14 }, // 0x3A ':' + { 807, 11, 20, 21, 4, -14 }, // 0x3B ';' + { 835, 17, 16, 21, 5, -17 }, // 0x3C '<' + { 869, 19, 6, 21, 3, -12 }, // 0x3D '=' + { 884, 18, 16, 21, 3, -17 }, // 0x3E '>' + { 920, 12, 20, 21, 8, -19 }, // 0x3F '?' + { 950, 15, 23, 21, 5, -20 }, // 0x40 '@' + { 994, 21, 20, 21, 0, -19 }, // 0x41 'A' + { 1047, 18, 20, 21, 2, -19 }, // 0x42 'B' + { 1092, 18, 20, 21, 4, -19 }, // 0x43 'C' + { 1137, 18, 20, 21, 2, -19 }, // 0x44 'D' + { 1182, 20, 20, 21, 2, -19 }, // 0x45 'E' + { 1232, 20, 20, 21, 2, -19 }, // 0x46 'F' + { 1282, 18, 20, 21, 4, -19 }, // 0x47 'G' + { 1327, 21, 20, 21, 2, -19 }, // 0x48 'H' + { 1380, 17, 20, 21, 4, -19 }, // 0x49 'I' + { 1423, 20, 20, 21, 4, -19 }, // 0x4A 'J' + { 1473, 21, 20, 21, 2, -19 }, // 0x4B 'K' + { 1526, 18, 20, 21, 2, -19 }, // 0x4C 'L' + { 1571, 24, 20, 21, 1, -19 }, // 0x4D 'M' + { 1631, 22, 20, 21, 2, -19 }, // 0x4E 'N' + { 1686, 17, 20, 21, 4, -19 }, // 0x4F 'O' + { 1729, 18, 20, 21, 2, -19 }, // 0x50 'P' + { 1774, 17, 24, 21, 4, -19 }, // 0x51 'Q' + { 1825, 18, 20, 21, 2, -19 }, // 0x52 'R' + { 1870, 18, 20, 21, 3, -19 }, // 0x53 'S' + { 1915, 17, 20, 21, 5, -19 }, // 0x54 'T' + { 1958, 18, 20, 21, 5, -19 }, // 0x55 'U' + { 2003, 21, 20, 21, 4, -19 }, // 0x56 'V' + { 2056, 20, 20, 21, 4, -19 }, // 0x57 'W' + { 2106, 21, 20, 21, 2, -19 }, // 0x58 'X' + { 2159, 18, 20, 21, 5, -19 }, // 0x59 'Y' + { 2204, 17, 20, 21, 4, -19 }, // 0x5A 'Z' + { 2247, 11, 25, 21, 9, -20 }, // 0x5B '[' + { 2282, 8, 27, 21, 9, -22 }, // 0x5C '\' + { 2309, 11, 25, 21, 5, -20 }, // 0x5D ']' + { 2344, 13, 9, 21, 7, -20 }, // 0x5E '^' + { 2359, 21, 1, 21, -1, 4 }, // 0x5F '_' + { 2362, 5, 5, 21, 9, -21 }, // 0x60 '`' + { 2366, 16, 15, 21, 3, -14 }, // 0x61 'a' + { 2396, 19, 21, 21, 1, -20 }, // 0x62 'b' + { 2446, 17, 15, 21, 4, -14 }, // 0x63 'c' + { 2478, 18, 21, 21, 4, -20 }, // 0x64 'd' + { 2526, 16, 15, 21, 4, -14 }, // 0x65 'e' + { 2556, 19, 21, 21, 4, -20 }, // 0x66 'f' + { 2606, 19, 22, 21, 4, -14 }, // 0x67 'g' + { 2659, 18, 21, 21, 2, -20 }, // 0x68 'h' + { 2707, 15, 22, 21, 3, -21 }, // 0x69 'i' + { 2749, 15, 29, 21, 3, -21 }, // 0x6A 'j' + { 2804, 18, 21, 21, 2, -20 }, // 0x6B 'k' + { 2852, 15, 21, 21, 3, -20 }, // 0x6C 'l' + { 2892, 20, 15, 21, 1, -14 }, // 0x6D 'm' + { 2930, 17, 15, 21, 2, -14 }, // 0x6E 'n' + { 2962, 16, 15, 21, 4, -14 }, // 0x6F 'o' + { 2992, 20, 22, 21, 0, -14 }, // 0x70 'p' + { 3047, 19, 22, 21, 4, -14 }, // 0x71 'q' + { 3100, 19, 15, 21, 3, -14 }, // 0x72 'r' + { 3136, 15, 15, 21, 4, -14 }, // 0x73 's' + { 3165, 13, 20, 21, 5, -19 }, // 0x74 't' + { 3198, 15, 15, 21, 4, -14 }, // 0x75 'u' + { 3227, 19, 15, 21, 4, -14 }, // 0x76 'v' + { 3263, 17, 15, 21, 5, -14 }, // 0x77 'w' + { 3295, 19, 15, 21, 2, -14 }, // 0x78 'x' + { 3331, 21, 22, 21, 1, -14 }, // 0x79 'y' + { 3389, 16, 15, 21, 4, -14 }, // 0x7A 'z' + { 3419, 11, 25, 21, 8, -20 }, // 0x7B '{' + { 3454, 6, 24, 21, 9, -19 }, // 0x7C '|' + { 3472, 10, 25, 21, 6, -20 }, // 0x7D '}' + { 3504, 15, 5, 21, 5, -11 } }; // 0x7E '~' + +const GFXfont FreeMonoOblique18pt7b PROGMEM = { + (uint8_t *)FreeMonoOblique18pt7bBitmaps, + (GFXglyph *)FreeMonoOblique18pt7bGlyphs, + 0x20, 0x7E, 35 }; + +// Approx. 4186 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h new file mode 100644 index 0000000..8a5592c --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h @@ -0,0 +1,643 @@ +const uint8_t FreeMonoOblique24pt7bBitmaps[] PROGMEM = { + 0x01, 0xC0, 0xF0, 0x3C, 0x0E, 0x03, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x01, + 0xC0, 0xE0, 0x38, 0x0E, 0x03, 0x00, 0xC0, 0x70, 0x1C, 0x06, 0x01, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0F, 0x83, 0xE0, 0xF8, + 0x1C, 0x00, 0x7E, 0x3F, 0x7E, 0x3F, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, + 0x78, 0x3C, 0xF8, 0x7C, 0xF0, 0x78, 0xF0, 0x78, 0xF0, 0x78, 0xE0, 0x70, + 0xE0, 0x70, 0xE0, 0x70, 0xC0, 0x60, 0x00, 0x18, 0x30, 0x00, 0x61, 0x80, + 0x01, 0x86, 0x00, 0x04, 0x18, 0x00, 0x30, 0xC0, 0x00, 0xC3, 0x00, 0x03, + 0x0C, 0x00, 0x18, 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, + 0x07, 0xFF, 0xFF, 0x1F, 0xFF, 0xFC, 0x03, 0x0C, 0x00, 0x18, 0x30, 0x00, + 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x30, 0xC0, 0x1F, 0xFF, + 0xF8, 0x7F, 0xFF, 0xE0, 0x18, 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, + 0x06, 0x18, 0x00, 0x30, 0x40, 0x00, 0xC3, 0x00, 0x03, 0x0C, 0x00, 0x18, + 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x3F, 0x00, 0x07, 0xFD, 0x80, + 0x70, 0x7C, 0x06, 0x00, 0xE0, 0x60, 0x02, 0x07, 0x00, 0x10, 0x30, 0x00, + 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0xF0, 0x00, 0x07, + 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, + 0x00, 0x00, 0xC2, 0x00, 0x06, 0x30, 0x00, 0x61, 0x80, 0x03, 0x1E, 0x00, + 0x30, 0xFC, 0x07, 0x06, 0x7F, 0xF0, 0x00, 0xFE, 0x00, 0x01, 0x80, 0x00, + 0x0C, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, + 0x00, 0x00, 0x78, 0x00, 0x07, 0xF8, 0x00, 0x38, 0x60, 0x01, 0xC0, 0xC0, + 0x06, 0x03, 0x00, 0x30, 0x0C, 0x00, 0xC0, 0x30, 0x03, 0x01, 0x80, 0x0C, + 0x0E, 0x00, 0x38, 0x70, 0x00, 0x7F, 0x81, 0xC0, 0xF8, 0x3F, 0x00, 0x07, + 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xC0, 0x00, 0x78, 0x00, 0x01, + 0x00, 0x78, 0x00, 0x07, 0xF8, 0x00, 0x38, 0x60, 0x01, 0x80, 0xC0, 0x06, + 0x03, 0x00, 0x30, 0x0C, 0x00, 0xC0, 0x30, 0x03, 0x01, 0x80, 0x0C, 0x0E, + 0x00, 0x18, 0x70, 0x00, 0x7F, 0x80, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, + 0x0F, 0xF8, 0x03, 0x8E, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x00, + 0xC0, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x03, + 0xE0, 0x01, 0xCC, 0x0E, 0x60, 0xC3, 0xD8, 0x18, 0x63, 0x03, 0x18, 0xC0, + 0x33, 0x18, 0x06, 0xC3, 0x00, 0x70, 0x60, 0x0E, 0x0C, 0x01, 0xC0, 0xC0, + 0x78, 0x1C, 0x3B, 0xE1, 0xFE, 0x3C, 0x1F, 0x00, 0x00, 0x7E, 0xFD, 0xF3, + 0xE7, 0xCF, 0x3E, 0x78, 0xF1, 0xE3, 0x87, 0x0E, 0x18, 0x00, 0x00, 0x60, + 0x18, 0x07, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, + 0x60, 0x1C, 0x03, 0x80, 0xE0, 0x1C, 0x03, 0x80, 0xF0, 0x1C, 0x03, 0x80, + 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x30, + 0x06, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x30, 0x02, 0x00, 0x01, 0x80, 0x30, + 0x06, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x07, 0x00, 0xE0, 0x1C, 0x03, + 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x00, + 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x38, 0x0E, 0x01, + 0x80, 0x70, 0x0C, 0x03, 0x00, 0xC0, 0x10, 0x00, 0x00, 0x20, 0x00, 0x18, + 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, 0x0E, 0x0C, 0x0B, + 0xF3, 0x3E, 0x3F, 0xFE, 0x01, 0xFC, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x0E, + 0x60, 0x07, 0x18, 0x01, 0x83, 0x00, 0xC0, 0xC0, 0x60, 0x30, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, + 0x00, 0xC0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x30, 0x00, 0x01, + 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, + 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, + 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xF8, 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xE0, + 0x3C, 0x07, 0x80, 0x70, 0x0F, 0x00, 0xE0, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xE0, 0x3C, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x03, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x70, 0x00, 0x00, 0x60, 0x00, + 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x03, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x0F, 0xF8, 0x01, + 0xC1, 0xC0, 0x38, 0x0E, 0x07, 0x00, 0x60, 0xE0, 0x03, 0x0C, 0x00, 0x31, + 0x80, 0x03, 0x18, 0x00, 0x33, 0x00, 0x03, 0x30, 0x00, 0x33, 0x00, 0x03, + 0x20, 0x00, 0x26, 0x00, 0x06, 0x60, 0x00, 0x66, 0x00, 0x06, 0x40, 0x00, + 0x4C, 0x00, 0x0C, 0xC0, 0x00, 0xCC, 0x00, 0x0C, 0xC0, 0x01, 0x8C, 0x00, + 0x18, 0xC0, 0x01, 0x8C, 0x00, 0x30, 0xC0, 0x07, 0x06, 0x00, 0xE0, 0x60, + 0x1C, 0x03, 0x87, 0x80, 0x3F, 0xF0, 0x00, 0xFC, 0x00, 0x00, 0x0E, 0x00, + 0x0F, 0x00, 0x0F, 0x80, 0x0E, 0xC0, 0x1C, 0xC0, 0x1C, 0x60, 0x1C, 0x30, + 0x08, 0x18, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x01, 0x80, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, + 0x07, 0xE0, 0x00, 0x3F, 0xE0, 0x01, 0xE0, 0xE0, 0x07, 0x00, 0xE0, 0x1C, + 0x00, 0xE0, 0x30, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x00, 0x03, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, + 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, + 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, + 0x00, 0xC3, 0x80, 0x01, 0x87, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x00, + 0x0F, 0xC0, 0x01, 0xFF, 0xC0, 0x1E, 0x07, 0x80, 0xE0, 0x06, 0x03, 0x00, + 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x60, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, + 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x01, + 0x80, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, + 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xE3, 0x00, 0x07, 0x0E, 0x00, + 0x38, 0x1E, 0x03, 0xC0, 0x3F, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0xF8, 0x00, 0x1B, 0x00, 0x06, 0x60, 0x01, 0x8C, 0x00, 0x63, + 0x00, 0x18, 0x60, 0x07, 0x0C, 0x00, 0xC1, 0x80, 0x30, 0x30, 0x0C, 0x0C, + 0x03, 0x01, 0x80, 0xC0, 0x30, 0x18, 0x06, 0x06, 0x00, 0xC1, 0x80, 0x30, + 0x60, 0x06, 0x18, 0x00, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xC0, 0x00, 0xC0, + 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x03, 0x00, + 0x0F, 0xFC, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x40, + 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, + 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0xBF, 0xC0, 0x0F, 0xFF, + 0x80, 0xF8, 0x1E, 0x02, 0x00, 0x30, 0x00, 0x01, 0xC0, 0x00, 0x06, 0x00, + 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x06, + 0x00, 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0xC0, 0x01, 0x87, 0x00, + 0x38, 0x1E, 0x07, 0x80, 0x7F, 0xF8, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x03, + 0xF0, 0x00, 0xFF, 0xC0, 0x1F, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, + 0x80, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, + 0x0E, 0x00, 0x00, 0x60, 0x00, 0x07, 0x0F, 0x80, 0x31, 0xFF, 0x01, 0x9C, + 0x3C, 0x0D, 0x80, 0x60, 0xD8, 0x03, 0x87, 0x80, 0x0C, 0x38, 0x00, 0x61, + 0xC0, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x00, 0xC3, 0x00, 0x0C, 0x18, 0x00, + 0x60, 0xE0, 0x06, 0x03, 0x00, 0x30, 0x1C, 0x07, 0x00, 0x70, 0x70, 0x01, + 0xFF, 0x00, 0x07, 0xE0, 0x00, 0x7F, 0xFF, 0xDF, 0xFF, 0xFC, 0x00, 0x0F, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x00, 0x3F, 0x00, 0x0F, + 0xFC, 0x01, 0xC1, 0xE0, 0x70, 0x06, 0x06, 0x00, 0x30, 0xC0, 0x03, 0x1C, + 0x00, 0x31, 0x80, 0x03, 0x18, 0x00, 0x31, 0x80, 0x06, 0x18, 0x00, 0xE0, + 0xC0, 0x1C, 0x0F, 0x07, 0x80, 0x3F, 0xE0, 0x03, 0xFE, 0x00, 0xE0, 0x70, + 0x18, 0x03, 0x83, 0x00, 0x1C, 0x60, 0x00, 0xC6, 0x00, 0x0C, 0xC0, 0x00, + 0xCC, 0x00, 0x0C, 0xC0, 0x00, 0xCC, 0x00, 0x18, 0xC0, 0x03, 0x8E, 0x00, + 0x70, 0x60, 0x0E, 0x07, 0x83, 0xC0, 0x3F, 0xF0, 0x00, 0xFC, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0xFF, 0x80, 0x0F, 0x07, 0x00, 0x70, 0x0E, 0x03, 0x80, + 0x18, 0x0C, 0x00, 0x70, 0x60, 0x00, 0xC1, 0x80, 0x03, 0x0C, 0x00, 0x0C, + 0x30, 0x00, 0x30, 0xC0, 0x01, 0xC3, 0x00, 0x0F, 0x0C, 0x00, 0x6C, 0x38, + 0x03, 0xF0, 0x60, 0x1D, 0x81, 0xE1, 0xE6, 0x03, 0xFE, 0x18, 0x03, 0xE0, + 0xC0, 0x00, 0x03, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, + 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x03, + 0xC0, 0x00, 0x7C, 0x00, 0xFF, 0xC0, 0x01, 0xF8, 0x00, 0x00, 0x07, 0x83, + 0xF1, 0xFC, 0x7F, 0x1F, 0x83, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7E, 0x3F, 0x8F, 0xE3, 0xF0, 0x78, + 0x00, 0x00, 0x3C, 0x00, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xC0, 0x0F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x3E, + 0x00, 0xF8, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x3C, 0x00, 0x70, 0x01, + 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3C, 0x00, 0x01, + 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x03, + 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0x00, 0x3F, 0xFF, 0xFF, 0x9F, + 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, + 0x00, 0x06, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, + 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0x70, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x07, 0xF0, 0x3F, 0xFC, 0x78, + 0x1E, 0xC0, 0x07, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x1C, 0x00, 0x38, 0x00, 0xE0, 0x07, 0xC0, 0x07, + 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x7E, 0x00, 0xFE, 0x00, 0xFE, + 0x00, 0x7C, 0x00, 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x07, 0x07, 0x01, 0xC0, + 0x70, 0x60, 0x06, 0x1C, 0x00, 0xC3, 0x00, 0x18, 0xC0, 0x03, 0x18, 0x00, + 0x66, 0x00, 0xFC, 0xC0, 0x7F, 0x98, 0x1C, 0x66, 0x06, 0x0C, 0xC1, 0x81, + 0x98, 0x30, 0x33, 0x0C, 0x0E, 0x61, 0x81, 0x98, 0x30, 0x33, 0x06, 0x06, + 0x60, 0xF0, 0xCC, 0x0F, 0xF9, 0x80, 0x7F, 0x30, 0x00, 0x06, 0x00, 0x00, + 0xC0, 0x00, 0x18, 0x00, 0x03, 0x80, 0x00, 0x30, 0x00, 0x07, 0x00, 0x00, + 0x70, 0x18, 0x0F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x0F, + 0xFE, 0x00, 0x00, 0x06, 0xC0, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x31, 0x80, + 0x00, 0x06, 0x30, 0x00, 0x01, 0x86, 0x00, 0x00, 0x60, 0xC0, 0x00, 0x0C, + 0x1C, 0x00, 0x03, 0x01, 0x80, 0x00, 0x40, 0x30, 0x00, 0x18, 0x06, 0x00, + 0x06, 0x00, 0xC0, 0x00, 0xC0, 0x18, 0x00, 0x30, 0x01, 0x80, 0x07, 0xFF, + 0xF0, 0x01, 0xFF, 0xFE, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x18, 0x03, + 0x00, 0x03, 0x00, 0x40, 0x00, 0x30, 0x18, 0x00, 0x06, 0x06, 0x00, 0x00, + 0xC0, 0xC0, 0x00, 0x18, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x0F, 0xFC, 0x03, + 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xC0, 0x06, 0x00, 0x38, 0x01, 0x80, 0x07, + 0x00, 0xC0, 0x00, 0xC0, 0x30, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, + 0x03, 0x00, 0xC0, 0x01, 0x80, 0x60, 0x00, 0xC0, 0x18, 0x01, 0xE0, 0x07, + 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x00, 0xE0, 0x03, 0x80, 0x30, 0x00, 0x70, + 0x0C, 0x00, 0x0E, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x60, 0x60, 0x00, + 0x18, 0x18, 0x00, 0x06, 0x06, 0x00, 0x03, 0x01, 0x80, 0x01, 0xC0, 0x60, + 0x00, 0xE0, 0x30, 0x00, 0x70, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x00, + 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xFC, 0xC0, 0x3C, 0x0F, 0x60, 0x78, 0x01, + 0xF0, 0x70, 0x00, 0x70, 0x70, 0x00, 0x18, 0x30, 0x00, 0x0C, 0x30, 0x00, + 0x06, 0x38, 0x00, 0x02, 0x18, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x0C, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x60, + 0x60, 0x00, 0x60, 0x38, 0x00, 0xE0, 0x0F, 0x01, 0xE0, 0x03, 0xFF, 0xC0, + 0x00, 0x3F, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x0C, + 0x00, 0xF0, 0x03, 0x00, 0x1C, 0x01, 0xC0, 0x03, 0x80, 0x60, 0x00, 0x60, + 0x18, 0x00, 0x1C, 0x06, 0x00, 0x03, 0x01, 0x80, 0x00, 0xC0, 0xC0, 0x00, + 0x30, 0x30, 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, + 0x00, 0x60, 0x60, 0x00, 0x18, 0x18, 0x00, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xC0, 0xE0, 0x00, 0x70, 0x30, 0x00, 0x18, 0x0C, 0x00, 0x0C, + 0x03, 0x00, 0x06, 0x00, 0xC0, 0x07, 0x00, 0x60, 0x07, 0x80, 0xFF, 0xFF, + 0xC0, 0x3F, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, + 0x01, 0x80, 0x01, 0x80, 0x30, 0x00, 0x60, 0x0C, 0x00, 0x0C, 0x01, 0x80, + 0x01, 0x80, 0x30, 0x00, 0x30, 0x06, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, + 0x30, 0x18, 0x00, 0x06, 0x03, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x1F, 0xF8, + 0x00, 0x07, 0x03, 0x00, 0x00, 0xC0, 0x60, 0x00, 0x18, 0x0C, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x0C, 0x03, 0x00, 0x01, + 0x80, 0x60, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x01, 0x80, 0x01, 0x80, 0x60, + 0x00, 0x30, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, + 0xF0, 0x7F, 0xFF, 0xFF, 0x00, 0x60, 0x00, 0x30, 0x06, 0x00, 0x06, 0x00, + 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x06, 0x00, 0xC0, 0x00, 0x60, 0x0C, 0x00, + 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x0C, 0x00, 0x01, 0x80, 0xC0, 0x00, + 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x38, 0x18, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x30, 0x18, 0x00, 0x03, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xFF, 0xFC, 0x00, + 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xFC, 0xC0, 0x3C, + 0x0F, 0xE0, 0x78, 0x01, 0xF0, 0x70, 0x00, 0x30, 0x70, 0x00, 0x18, 0x70, + 0x00, 0x0C, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x01, 0x80, 0x1F, 0xFE, 0xC0, 0x0F, 0xFF, 0x60, 0x00, 0x06, + 0x30, 0x00, 0x06, 0x18, 0x00, 0x03, 0x0C, 0x00, 0x01, 0x87, 0x00, 0x00, + 0xC1, 0x80, 0x00, 0xE0, 0xE0, 0x00, 0x60, 0x38, 0x00, 0x70, 0x0F, 0x00, + 0xF8, 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xFC, 0x1F, 0xE0, + 0x7F, 0x83, 0xFC, 0x03, 0x00, 0x06, 0x00, 0x60, 0x01, 0x80, 0x1C, 0x00, + 0x30, 0x03, 0x00, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x38, 0x01, + 0x80, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x18, 0x01, 0xFF, 0xFF, + 0x00, 0x3F, 0xFF, 0xC0, 0x06, 0x00, 0x18, 0x01, 0x80, 0x03, 0x00, 0x30, + 0x00, 0x60, 0x06, 0x00, 0x0C, 0x00, 0xC0, 0x03, 0x00, 0x38, 0x00, 0x60, + 0x06, 0x00, 0x0C, 0x00, 0xC0, 0x01, 0x80, 0x18, 0x00, 0x70, 0x03, 0x00, + 0x0C, 0x00, 0xE0, 0x01, 0x80, 0xFF, 0x83, 0xFE, 0x1F, 0xF0, 0x7F, 0xC0, + 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, + 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, + 0x80, 0x00, 0x06, 0x00, 0x00, 0x38, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, + 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0xFF, 0xFF, 0x83, 0xFF, 0xFE, 0x00, + 0x00, 0x0F, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x0C, 0x00, 0x00, + 0x00, 0xC0, 0x00, 0x00, 0x18, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x38, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x07, + 0x00, 0x20, 0x00, 0x60, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, 0x06, + 0x00, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x0C, 0x00, 0xC0, 0x00, + 0xC0, 0x0C, 0x00, 0x18, 0x00, 0xE0, 0x03, 0x00, 0x07, 0x00, 0x70, 0x00, + 0x3C, 0x1C, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, + 0xFF, 0x07, 0xF8, 0x3F, 0xF8, 0x3F, 0xC0, 0x18, 0x00, 0x70, 0x00, 0xC0, + 0x07, 0x00, 0x0C, 0x00, 0x60, 0x00, 0x60, 0x0E, 0x00, 0x03, 0x00, 0xE0, + 0x00, 0x18, 0x0C, 0x00, 0x00, 0xC1, 0xC0, 0x00, 0x0C, 0x1C, 0x00, 0x00, + 0x61, 0x80, 0x00, 0x03, 0x3C, 0x00, 0x00, 0x1B, 0x78, 0x00, 0x01, 0xF0, + 0xE0, 0x00, 0x0F, 0x03, 0x80, 0x00, 0x60, 0x0C, 0x00, 0x03, 0x00, 0x70, + 0x00, 0x18, 0x01, 0x80, 0x01, 0x80, 0x0C, 0x00, 0x0C, 0x00, 0x60, 0x00, + 0x60, 0x01, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, + 0x03, 0x00, 0xFF, 0xE0, 0x1F, 0x87, 0xFF, 0x00, 0x7C, 0x00, 0x07, 0xFF, + 0xE0, 0x03, 0xFF, 0xF0, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, + 0x00, 0xC0, 0x03, 0x00, 0x60, 0x01, 0x80, 0x60, 0x00, 0xC0, 0x30, 0x00, + 0x60, 0x18, 0x00, 0x30, 0x0C, 0x00, 0x30, 0x0E, 0x00, 0x18, 0x06, 0x00, + 0x0C, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x00, 0x07, 0xF0, 0x00, 0x3F, + 0x07, 0xF0, 0x00, 0x7F, 0x01, 0xB0, 0x00, 0xD8, 0x01, 0xB0, 0x00, 0xD8, + 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x03, 0x30, 0x01, 0x98, 0x03, 0x30, + 0x03, 0x18, 0x06, 0x30, 0x03, 0x1C, 0x0C, 0x30, 0x03, 0x0C, 0x0C, 0x30, + 0x03, 0x0C, 0x18, 0x60, 0x07, 0x0C, 0x30, 0x60, 0x06, 0x0C, 0x30, 0x60, + 0x06, 0x06, 0x60, 0x60, 0x06, 0x06, 0xC0, 0x60, 0x06, 0x06, 0xC0, 0xC0, + 0x0C, 0x07, 0x80, 0xC0, 0x0C, 0x03, 0x00, 0xC0, 0x0C, 0x00, 0x00, 0xC0, + 0x0C, 0x00, 0x01, 0xC0, 0x0C, 0x00, 0x01, 0x80, 0x18, 0x00, 0x01, 0x80, + 0x18, 0x00, 0x01, 0x80, 0x18, 0x00, 0x01, 0x80, 0xFF, 0x80, 0x3F, 0xE0, + 0xFF, 0x80, 0x3F, 0xE0, 0x07, 0xE0, 0x0F, 0xFC, 0x3F, 0x80, 0x3F, 0xF0, + 0x0F, 0x00, 0x06, 0x00, 0x3C, 0x00, 0x10, 0x01, 0x98, 0x00, 0xC0, 0x06, + 0x60, 0x03, 0x00, 0x19, 0xC0, 0x0C, 0x00, 0x63, 0x00, 0x30, 0x01, 0x0C, + 0x01, 0x80, 0x0C, 0x18, 0x06, 0x00, 0x30, 0x60, 0x18, 0x00, 0xC1, 0xC0, + 0x60, 0x03, 0x03, 0x01, 0x00, 0x08, 0x0C, 0x0C, 0x00, 0x60, 0x18, 0x30, + 0x01, 0x80, 0x60, 0xC0, 0x06, 0x01, 0xC3, 0x00, 0x18, 0x03, 0x18, 0x00, + 0xC0, 0x0C, 0x60, 0x03, 0x00, 0x19, 0x80, 0x0C, 0x00, 0x66, 0x00, 0x30, + 0x01, 0xD8, 0x00, 0x80, 0x03, 0xC0, 0x06, 0x00, 0x0F, 0x00, 0xFF, 0xC0, + 0x1C, 0x03, 0xFE, 0x00, 0x70, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0xF0, + 0x00, 0xF0, 0x78, 0x03, 0x80, 0x1C, 0x07, 0x00, 0x0E, 0x0E, 0x00, 0x06, + 0x0C, 0x00, 0x06, 0x18, 0x00, 0x07, 0x38, 0x00, 0x03, 0x30, 0x00, 0x03, + 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0xC0, 0x00, 0x03, + 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, + 0xC0, 0x00, 0x0C, 0xC0, 0x00, 0x1C, 0xC0, 0x00, 0x18, 0x60, 0x00, 0x30, + 0x60, 0x00, 0x70, 0x70, 0x00, 0xE0, 0x38, 0x01, 0xC0, 0x1E, 0x0F, 0x00, + 0x0F, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, + 0xC0, 0x06, 0x00, 0x78, 0x01, 0x80, 0x06, 0x00, 0xC0, 0x01, 0xC0, 0x30, + 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, 0x03, 0x00, 0xC0, 0x01, 0xC0, + 0x60, 0x00, 0x60, 0x18, 0x00, 0x30, 0x06, 0x00, 0x18, 0x01, 0x80, 0x3C, + 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, + 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x7F, + 0xF0, 0x00, 0xF0, 0x78, 0x03, 0x80, 0x1C, 0x07, 0x00, 0x0E, 0x0E, 0x00, + 0x06, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x03, 0x38, 0x00, 0x03, 0x30, 0x00, + 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0xC0, 0x00, + 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, + 0x06, 0xC0, 0x00, 0x0C, 0xC0, 0x00, 0x1C, 0xC0, 0x00, 0x18, 0x60, 0x00, + 0x30, 0x60, 0x00, 0x70, 0x30, 0x00, 0xE0, 0x38, 0x01, 0xC0, 0x0E, 0x0F, + 0x00, 0x07, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x1F, 0xF8, + 0x30, 0x3F, 0xFF, 0xF0, 0x78, 0x0F, 0x80, 0x07, 0xFF, 0xFC, 0x01, 0xFF, + 0xFF, 0xC0, 0x06, 0x00, 0x78, 0x01, 0x80, 0x0E, 0x00, 0xC0, 0x01, 0xC0, + 0x30, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, 0x03, 0x00, 0xC0, 0x00, + 0xC0, 0x60, 0x00, 0x60, 0x18, 0x00, 0x30, 0x06, 0x00, 0x38, 0x01, 0x80, + 0x3C, 0x00, 0xFF, 0xFC, 0x00, 0x3F, 0xFC, 0x00, 0x0C, 0x07, 0x80, 0x03, + 0x00, 0x70, 0x00, 0xC0, 0x0E, 0x00, 0x60, 0x01, 0x80, 0x18, 0x00, 0x70, + 0x06, 0x00, 0x0C, 0x01, 0x80, 0x03, 0x80, 0x60, 0x00, 0x60, 0x30, 0x00, + 0x1C, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x00, 0xF0, 0x00, 0x1F, 0xC0, 0x00, + 0x7F, 0xF3, 0x00, 0xE0, 0x3B, 0x03, 0x80, 0x0F, 0x07, 0x00, 0x0E, 0x06, + 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x18, 0x20, 0x00, 0x18, 0x60, 0x00, 0x18, 0x60, + 0x00, 0x30, 0x60, 0x00, 0x70, 0xF0, 0x00, 0xE0, 0xF8, 0x01, 0xC0, 0xDC, + 0x07, 0x80, 0x8F, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0xFF, 0xFE, 0x3F, + 0xFF, 0xFE, 0x30, 0x18, 0x06, 0x60, 0x18, 0x06, 0x60, 0x18, 0x06, 0x60, + 0x38, 0x0C, 0x60, 0x30, 0x04, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x70, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, + 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0xFF, 0xFE, 0x00, 0xFF, + 0xFC, 0x00, 0x7F, 0xC0, 0xFF, 0xDF, 0xF0, 0x3F, 0xF1, 0x80, 0x00, 0x60, + 0x60, 0x00, 0x30, 0x18, 0x00, 0x0C, 0x06, 0x00, 0x03, 0x03, 0x80, 0x00, + 0xC0, 0xC0, 0x00, 0x30, 0x30, 0x00, 0x18, 0x0C, 0x00, 0x06, 0x03, 0x00, + 0x01, 0x81, 0xC0, 0x00, 0x60, 0x60, 0x00, 0x18, 0x18, 0x00, 0x0C, 0x06, + 0x00, 0x03, 0x01, 0x80, 0x00, 0xC0, 0xC0, 0x00, 0x30, 0x30, 0x00, 0x1C, + 0x0C, 0x00, 0x06, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0xC0, 0x30, 0x00, + 0x70, 0x0E, 0x00, 0x38, 0x01, 0xC0, 0x1C, 0x00, 0x38, 0x1E, 0x00, 0x07, + 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x07, + 0xFC, 0xE0, 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x01, 0x80, 0x00, 0x60, 0x30, + 0x00, 0x18, 0x06, 0x00, 0x02, 0x00, 0xC0, 0x00, 0xC0, 0x0C, 0x00, 0x30, + 0x01, 0x80, 0x06, 0x00, 0x30, 0x01, 0x80, 0x06, 0x00, 0x60, 0x00, 0xC0, + 0x0C, 0x00, 0x18, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x30, 0x18, 0x00, + 0x06, 0x06, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x30, 0x00, 0x03, 0x8C, + 0x00, 0x00, 0x31, 0x80, 0x00, 0x06, 0x60, 0x00, 0x00, 0xD8, 0x00, 0x00, + 0x1B, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x38, 0x00, 0x00, 0xFF, 0xC0, + 0x7F, 0xFF, 0xF8, 0x0F, 0xF8, 0xC0, 0x00, 0x0C, 0x18, 0x00, 0x01, 0x83, + 0x00, 0x00, 0x30, 0x60, 0x08, 0x0C, 0x0C, 0x07, 0x01, 0x81, 0x81, 0xE0, + 0x30, 0x60, 0x2C, 0x0C, 0x0C, 0x0D, 0x81, 0x81, 0x81, 0x30, 0x30, 0x30, + 0x66, 0x0C, 0x06, 0x08, 0xC1, 0x80, 0xC3, 0x0C, 0x30, 0x18, 0x41, 0x8C, + 0x03, 0x18, 0x31, 0x80, 0x62, 0x06, 0x30, 0x0C, 0xC0, 0xCC, 0x03, 0x10, + 0x19, 0x80, 0x66, 0x03, 0x30, 0x0C, 0x80, 0x6C, 0x01, 0xB0, 0x0D, 0x80, + 0x34, 0x01, 0xB0, 0x07, 0x80, 0x3C, 0x00, 0xE0, 0x07, 0x80, 0x1C, 0x00, + 0xF0, 0x00, 0x03, 0xF8, 0x03, 0xF8, 0x1F, 0xC0, 0x3F, 0xC0, 0x30, 0x00, + 0x30, 0x01, 0xC0, 0x03, 0x00, 0x06, 0x00, 0x30, 0x00, 0x18, 0x03, 0x00, + 0x00, 0xE0, 0x30, 0x00, 0x03, 0x03, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, + 0x63, 0x00, 0x00, 0x03, 0xB0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x36, 0x00, 0x00, 0x03, 0x38, 0x00, + 0x00, 0x30, 0xC0, 0x00, 0x03, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00, 0x03, + 0x00, 0x60, 0x00, 0x30, 0x03, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, + 0x70, 0x03, 0x00, 0x01, 0x80, 0xFF, 0x80, 0xFF, 0x07, 0xFC, 0x07, 0xF8, + 0x00, 0x7F, 0x80, 0x7F, 0x7F, 0x00, 0x7F, 0x1C, 0x00, 0x18, 0x0C, 0x00, + 0x30, 0x0C, 0x00, 0x70, 0x06, 0x00, 0xE0, 0x06, 0x00, 0xC0, 0x03, 0x01, + 0x80, 0x03, 0x03, 0x00, 0x01, 0x86, 0x00, 0x01, 0x8C, 0x00, 0x00, 0xD8, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, + 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, + 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xFE, 0x07, 0xFF, + 0xF8, 0x0C, 0x00, 0x30, 0x10, 0x00, 0xC0, 0x60, 0x03, 0x80, 0xC0, 0x0E, + 0x01, 0x80, 0x38, 0x03, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, + 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x60, 0x18, + 0x00, 0xC0, 0x60, 0x01, 0x81, 0x80, 0x02, 0x06, 0x00, 0x0C, 0x18, 0x00, + 0x18, 0x60, 0x00, 0x30, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x80, 0x01, 0xFE, + 0x03, 0xFC, 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, + 0x80, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x40, 0x01, 0x80, + 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x60, 0x00, 0xC0, 0x01, + 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x80, + 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x20, 0x00, 0xFF, 0x01, + 0xFE, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, 0x18, 0x07, 0x00, 0xC0, + 0x30, 0x0C, 0x03, 0x80, 0x60, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x0C, 0x03, + 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x18, + 0x06, 0x01, 0x80, 0x60, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x04, 0x01, 0xFE, + 0x03, 0xFC, 0x00, 0x10, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, + 0x04, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x06, + 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, + 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x06, + 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0xFF, 0x01, + 0xFE, 0x00, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x07, 0x80, 0x03, 0x60, 0x01, + 0x8C, 0x00, 0xC3, 0x80, 0xE0, 0x60, 0x70, 0x1C, 0x38, 0x03, 0x1C, 0x00, + 0x6E, 0x00, 0x1F, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xC3, 0x86, 0x0C, 0x18, 0x70, 0xC0, 0x00, 0x3F, 0x80, 0x0F, 0xFF, 0x80, + 0x78, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, + 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x38, 0x03, 0xFC, 0xC0, 0x7F, 0xFF, + 0x07, 0xC0, 0x0C, 0x38, 0x00, 0x31, 0xC0, 0x01, 0xCE, 0x00, 0x06, 0x30, + 0x00, 0x18, 0xC0, 0x00, 0xE3, 0x00, 0x07, 0x8E, 0x00, 0x7C, 0x1C, 0x0F, + 0x3F, 0x3F, 0xF0, 0xFC, 0x7F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x30, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0xC0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x06, 0x07, 0xE0, 0x00, 0xC3, + 0xFF, 0x00, 0x19, 0xC0, 0xF0, 0x03, 0x60, 0x07, 0x00, 0xD8, 0x00, 0x60, + 0x1E, 0x00, 0x0E, 0x03, 0x80, 0x00, 0xC0, 0x60, 0x00, 0x18, 0x0C, 0x00, + 0x03, 0x03, 0x00, 0x00, 0x60, 0x60, 0x00, 0x0C, 0x0C, 0x00, 0x01, 0x81, + 0x80, 0x00, 0x60, 0x70, 0x00, 0x0C, 0x0E, 0x00, 0x03, 0x01, 0xC0, 0x00, + 0x60, 0x3C, 0x00, 0x18, 0x05, 0x80, 0x06, 0x01, 0xB8, 0x01, 0x83, 0xF3, + 0xC1, 0xE0, 0x7E, 0x3F, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0x00, + 0x07, 0xFF, 0x30, 0x38, 0x0F, 0xC1, 0x80, 0x1F, 0x0C, 0x00, 0x18, 0x60, + 0x00, 0x63, 0x00, 0x01, 0x9C, 0x00, 0x06, 0x60, 0x00, 0x01, 0x80, 0x00, + 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x30, 0x00, 0x00, 0xE0, 0x00, 0x01, 0x80, 0x00, 0xC7, 0x00, + 0x0E, 0x0F, 0x01, 0xF0, 0x1F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, + 0x1F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x10, 0x00, 0x00, 0x18, 0x00, 0xFC, 0x0C, 0x01, + 0xFF, 0x86, 0x01, 0xC0, 0xE3, 0x03, 0x80, 0x1B, 0x03, 0x80, 0x05, 0x81, + 0x80, 0x03, 0xC1, 0x80, 0x00, 0xE1, 0x80, 0x00, 0x60, 0xC0, 0x00, 0x30, + 0x60, 0x00, 0x18, 0x60, 0x00, 0x0C, 0x30, 0x00, 0x06, 0x18, 0x00, 0x02, + 0x0C, 0x00, 0x03, 0x06, 0x00, 0x01, 0x83, 0x00, 0x01, 0xC1, 0xC0, 0x01, + 0xE0, 0x60, 0x01, 0xE0, 0x38, 0x01, 0xB0, 0x0F, 0x03, 0x9F, 0x03, 0xFF, + 0x0F, 0x80, 0x7E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x07, 0xFF, 0x80, 0x78, + 0x0F, 0x03, 0x80, 0x0E, 0x1C, 0x00, 0x18, 0xE0, 0x00, 0x73, 0x00, 0x00, + 0xD8, 0x00, 0x03, 0x60, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x03, 0x07, 0x80, 0xF8, + 0x0F, 0xFF, 0x80, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0xFF, + 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x07, 0xFF, 0xFC, 0x03, + 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xC0, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x87, 0xC1, 0xE0, 0xF3, 0xE1, 0xC0, + 0x1B, 0x01, 0xC0, 0x07, 0x81, 0xC0, 0x03, 0xC0, 0xC0, 0x00, 0xE0, 0xC0, + 0x00, 0x60, 0x60, 0x00, 0x30, 0x60, 0x00, 0x18, 0x30, 0x00, 0x0C, 0x18, + 0x00, 0x06, 0x0C, 0x00, 0x06, 0x06, 0x00, 0x03, 0x03, 0x00, 0x03, 0x81, + 0xC0, 0x01, 0xC0, 0x60, 0x01, 0xC0, 0x38, 0x03, 0x60, 0x0F, 0x07, 0x30, + 0x03, 0xFF, 0x18, 0x00, 0x7E, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x01, + 0x80, 0x00, 0x03, 0x80, 0x03, 0xFF, 0x80, 0x01, 0xFF, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, 0x83, 0xF0, 0x01, + 0x8F, 0xF8, 0x01, 0x98, 0x1C, 0x03, 0xB0, 0x0E, 0x03, 0x40, 0x06, 0x03, + 0x80, 0x06, 0x03, 0x00, 0x06, 0x03, 0x00, 0x06, 0x07, 0x00, 0x06, 0x06, + 0x00, 0x0E, 0x06, 0x00, 0x0E, 0x06, 0x00, 0x0E, 0x06, 0x00, 0x0C, 0x0C, + 0x00, 0x0C, 0x0C, 0x00, 0x1C, 0x0C, 0x00, 0x1C, 0x0C, 0x00, 0x18, 0x0C, + 0x00, 0x18, 0x18, 0x00, 0x18, 0xFF, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0x00, + 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x1F, + 0xF0, 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, + 0xC0, 0x00, 0x18, 0x00, 0x07, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, + 0x00, 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, + 0x00, 0x01, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x70, 0x00, + 0x07, 0x00, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x03, 0xFF, 0xF0, + 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, + 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x0C, 0x00, 0x00, + 0xC0, 0x00, 0x0C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, + 0x18, 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, + 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, + 0x03, 0x80, 0xFF, 0xF0, 0x0F, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xC1, + 0xFF, 0x00, 0x80, 0x70, 0x01, 0x80, 0xC0, 0x01, 0x83, 0x80, 0x01, 0x87, + 0x00, 0x01, 0x8C, 0x00, 0x03, 0x38, 0x00, 0x03, 0x70, 0x00, 0x03, 0xF8, + 0x00, 0x03, 0x9C, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x0E, 0x00, 0x06, 0x07, + 0x00, 0x06, 0x03, 0x80, 0x06, 0x01, 0x80, 0x04, 0x00, 0xC0, 0x0C, 0x00, + 0xE0, 0xFC, 0x03, 0xFE, 0xFC, 0x03, 0xFC, 0x01, 0xFF, 0x00, 0x3F, 0xE0, + 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, + 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, + 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, + 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, + 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x03, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0x00, 0x1E, 0x07, 0x81, 0xE7, 0xE1, 0xF8, 0x3D, 0x8E, 0xE3, + 0x81, 0xE0, 0xF8, 0x30, 0x38, 0x1E, 0x06, 0x06, 0x03, 0x80, 0xC1, 0x80, + 0x60, 0x18, 0x30, 0x0C, 0x03, 0x06, 0x01, 0x80, 0x60, 0xC0, 0x30, 0x08, + 0x18, 0x0C, 0x03, 0x06, 0x01, 0x80, 0x60, 0xC0, 0x30, 0x0C, 0x18, 0x06, + 0x01, 0x83, 0x00, 0x80, 0x60, 0x40, 0x30, 0x0C, 0x18, 0x06, 0x01, 0x83, + 0x00, 0xC0, 0x30, 0x60, 0x18, 0x06, 0x7F, 0x03, 0xC1, 0xFF, 0xE0, 0xF8, + 0x3E, 0x00, 0x03, 0xE0, 0x1F, 0x1F, 0xF0, 0x3E, 0x60, 0x70, 0x0F, 0x80, + 0x70, 0x3C, 0x00, 0x60, 0x70, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, + 0x07, 0x00, 0x06, 0x0C, 0x00, 0x1C, 0x18, 0x00, 0x30, 0x30, 0x00, 0x60, + 0x60, 0x00, 0xC1, 0xC0, 0x01, 0x83, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, + 0x00, 0x18, 0x18, 0x00, 0x30, 0x70, 0x00, 0x67, 0xFC, 0x07, 0xFF, 0xF0, + 0x0F, 0xE0, 0x00, 0x3F, 0x00, 0x07, 0xFF, 0x00, 0x3C, 0x0F, 0x01, 0xC0, + 0x1C, 0x0C, 0x00, 0x38, 0x60, 0x00, 0x63, 0x00, 0x00, 0xDC, 0x00, 0x03, + 0x60, 0x00, 0x0D, 0x80, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, + 0x00, 0x1B, 0x00, 0x00, 0x6C, 0x00, 0x03, 0xB0, 0x00, 0x0C, 0x60, 0x00, + 0x61, 0xC0, 0x03, 0x03, 0x80, 0x38, 0x0F, 0x03, 0xC0, 0x0F, 0xFE, 0x00, + 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0x8F, 0xFE, 0x00, 0xFC, + 0xE0, 0x78, 0x00, 0xCC, 0x00, 0xE0, 0x06, 0xC0, 0x03, 0x00, 0x3C, 0x00, + 0x1C, 0x01, 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x03, 0x00, 0xE0, 0x00, 0x18, + 0x06, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x06, 0x01, 0x80, 0x00, 0x30, 0x0C, + 0x00, 0x03, 0x00, 0xE0, 0x00, 0x18, 0x07, 0x00, 0x01, 0x80, 0x3C, 0x00, + 0x1C, 0x01, 0xE0, 0x01, 0xC0, 0x0D, 0x80, 0x1C, 0x00, 0xCF, 0x03, 0xC0, + 0x06, 0x3F, 0xF8, 0x00, 0x30, 0x7F, 0x00, 0x01, 0x80, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x01, 0x80, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, + 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0xE1, 0xF0, 0x78, + 0x1C, 0xFC, 0x38, 0x01, 0xB0, 0x1C, 0x00, 0x2C, 0x0E, 0x00, 0x0F, 0x03, + 0x00, 0x01, 0xC1, 0x80, 0x00, 0x60, 0x60, 0x00, 0x18, 0x30, 0x00, 0x06, + 0x0C, 0x00, 0x01, 0x83, 0x00, 0x00, 0x60, 0xC0, 0x00, 0x30, 0x30, 0x00, + 0x0C, 0x0C, 0x00, 0x07, 0x03, 0x80, 0x03, 0xC0, 0x60, 0x01, 0xB0, 0x1C, + 0x00, 0xD8, 0x03, 0xC0, 0xE6, 0x00, 0x7F, 0xF1, 0x80, 0x07, 0xE0, 0x60, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0x30, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x7F, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x3E, 0x03, 0xF8, 0x7F, + 0xC0, 0x18, 0xF0, 0x60, 0x0C, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xC0, + 0x00, 0x03, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x38, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x80, 0x00, 0x01, + 0x80, 0x00, 0x3F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x00, 0x00, 0x3F, 0x00, + 0x0F, 0xFE, 0xC0, 0xF0, 0x3E, 0x0E, 0x00, 0x70, 0xE0, 0x01, 0x06, 0x00, + 0x08, 0x30, 0x00, 0x41, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3F, 0xF0, 0x00, + 0x3F, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, 0x00, 0x00, + 0xCC, 0x00, 0x06, 0x60, 0x00, 0x33, 0x00, 0x03, 0x3C, 0x00, 0x71, 0xF8, + 0x0F, 0x0D, 0xFF, 0xF0, 0x01, 0xFC, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x70, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, + 0x0C, 0x00, 0x06, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, + 0x00, 0xE0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x0E, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x03, 0x38, 0x0F, + 0x9F, 0xFF, 0x03, 0xF8, 0x00, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xC6, 0x00, + 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x01, 0x86, + 0x00, 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x01, + 0x86, 0x00, 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x38, 0x60, + 0x07, 0x83, 0x80, 0x6C, 0x1E, 0x1E, 0x7C, 0x7F, 0xE3, 0xE0, 0xF8, 0x00, + 0x00, 0x7F, 0xC0, 0xFF, 0xFF, 0xF0, 0x3F, 0xF1, 0xC0, 0x00, 0xC0, 0x30, + 0x00, 0x60, 0x0C, 0x00, 0x18, 0x03, 0x00, 0x0C, 0x00, 0xE0, 0x06, 0x00, + 0x18, 0x01, 0x80, 0x06, 0x00, 0xC0, 0x01, 0x80, 0x30, 0x00, 0x60, 0x18, + 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x03, 0x00, 0x00, 0xC1, 0x80, 0x00, 0x30, + 0xC0, 0x00, 0x06, 0x30, 0x00, 0x01, 0x98, 0x00, 0x00, 0x6C, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x07, 0x80, 0x00, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, + 0xCC, 0x00, 0x03, 0x06, 0x00, 0x01, 0x83, 0x00, 0x01, 0x81, 0x81, 0x80, + 0xC0, 0xC1, 0xE0, 0x60, 0x60, 0xF0, 0x60, 0x30, 0xD8, 0x30, 0x18, 0x6C, + 0x30, 0x0C, 0x66, 0x18, 0x06, 0x33, 0x18, 0x03, 0x31, 0x8C, 0x01, 0x98, + 0x66, 0x00, 0xD8, 0x36, 0x00, 0x6C, 0x1B, 0x00, 0x3C, 0x0F, 0x00, 0x1E, + 0x07, 0x80, 0x0E, 0x03, 0x80, 0x07, 0x01, 0xC0, 0x00, 0x07, 0xF0, 0x3F, + 0xC3, 0xFC, 0x0F, 0xF0, 0x38, 0x00, 0x60, 0x07, 0x00, 0x70, 0x00, 0xE0, + 0x38, 0x00, 0x18, 0x1C, 0x00, 0x03, 0x0C, 0x00, 0x00, 0xEE, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x03, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xDC, 0x00, + 0x00, 0xE3, 0x80, 0x00, 0x70, 0x70, 0x00, 0x38, 0x0E, 0x00, 0x18, 0x01, + 0x80, 0x1C, 0x00, 0x30, 0x0E, 0x00, 0x0E, 0x0F, 0xF0, 0x3F, 0xE3, 0xFC, + 0x0F, 0xF8, 0x03, 0xF8, 0x07, 0xF8, 0x3F, 0xC0, 0x3F, 0xC0, 0x60, 0x00, + 0x30, 0x01, 0x80, 0x01, 0x80, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, + 0x03, 0x80, 0x0C, 0x00, 0x0C, 0x00, 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x03, + 0x00, 0x60, 0x00, 0x0C, 0x06, 0x00, 0x00, 0x60, 0x60, 0x00, 0x03, 0x06, + 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x63, 0x00, 0x00, 0x03, 0x30, 0x00, + 0x00, 0x19, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x30, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x00, + 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xC3, 0x00, 0x0C, 0x18, 0x00, 0xC0, 0xC0, + 0x0C, 0x00, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, + 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, + 0x00, 0x18, 0x00, 0x01, 0x80, 0x0C, 0x18, 0x00, 0x61, 0x80, 0x02, 0x1F, + 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0x00, 0x0E, 0x00, 0x7C, 0x01, 0xC0, 0x03, + 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x00, + 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0xC0, 0x0F, 0x00, 0xF8, + 0x01, 0xF0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x80, + 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0xE0, 0x01, 0x80, 0x03, + 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x01, 0x80, 0xC0, + 0x60, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x40, + 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, + 0x30, 0x18, 0x08, 0x0C, 0x06, 0x03, 0x01, 0x80, 0x80, 0xC0, 0x60, 0x30, + 0x00, 0x01, 0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, + 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, + 0x0C, 0x00, 0x18, 0x00, 0x38, 0x00, 0x38, 0x00, 0x3E, 0x00, 0x7C, 0x03, + 0xC0, 0x0E, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, + 0x06, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x0E, + 0x00, 0xF8, 0x01, 0xC0, 0x00, 0x0F, 0x00, 0x01, 0xFC, 0x03, 0x70, 0xE0, + 0x7E, 0x07, 0x1E, 0xC0, 0x3F, 0x80, 0x01, 0xE0 }; + +const GFXglyph FreeMonoOblique24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' + { 0, 10, 30, 28, 12, -28 }, // 0x21 '!' + { 38, 16, 14, 28, 10, -28 }, // 0x22 '"' + { 66, 22, 32, 28, 6, -29 }, // 0x23 '#' + { 154, 21, 33, 28, 6, -29 }, // 0x24 '$' + { 241, 22, 29, 28, 6, -27 }, // 0x25 '%' + { 321, 19, 25, 28, 6, -23 }, // 0x26 '&' + { 381, 7, 14, 28, 16, -28 }, // 0x27 ''' + { 394, 11, 34, 28, 16, -27 }, // 0x28 '(' + { 441, 11, 34, 28, 7, -27 }, // 0x29 ')' + { 488, 18, 17, 28, 10, -28 }, // 0x2A '*' + { 527, 22, 22, 28, 6, -23 }, // 0x2B '+' + { 588, 12, 14, 28, 5, -6 }, // 0x2C ',' + { 609, 22, 2, 28, 6, -13 }, // 0x2D '-' + { 615, 7, 6, 28, 11, -4 }, // 0x2E '.' + { 621, 24, 35, 28, 5, -30 }, // 0x2F '/' + { 726, 20, 30, 28, 7, -28 }, // 0x30 '0' + { 801, 17, 29, 28, 6, -28 }, // 0x31 '1' + { 863, 23, 29, 28, 4, -28 }, // 0x32 '2' + { 947, 22, 30, 28, 5, -28 }, // 0x33 '3' + { 1030, 19, 28, 28, 7, -27 }, // 0x34 '4' + { 1097, 21, 29, 28, 6, -27 }, // 0x35 '5' + { 1174, 21, 30, 28, 9, -28 }, // 0x36 '6' + { 1253, 18, 28, 28, 10, -27 }, // 0x37 '7' + { 1316, 20, 30, 28, 7, -28 }, // 0x38 '8' + { 1391, 22, 30, 28, 6, -28 }, // 0x39 '9' + { 1474, 10, 21, 28, 11, -19 }, // 0x3A ':' + { 1501, 15, 27, 28, 5, -19 }, // 0x3B ';' + { 1552, 23, 22, 28, 6, -23 }, // 0x3C '<' + { 1616, 25, 9, 28, 4, -17 }, // 0x3D '=' + { 1645, 24, 22, 28, 4, -23 }, // 0x3E '>' + { 1711, 16, 28, 28, 11, -26 }, // 0x3F '?' + { 1767, 19, 32, 28, 7, -28 }, // 0x40 '@' + { 1843, 27, 26, 28, 1, -25 }, // 0x41 'A' + { 1931, 26, 26, 28, 2, -25 }, // 0x42 'B' + { 2016, 25, 28, 28, 5, -26 }, // 0x43 'C' + { 2104, 26, 26, 28, 2, -25 }, // 0x44 'D' + { 2189, 27, 26, 28, 2, -25 }, // 0x45 'E' + { 2277, 28, 26, 28, 2, -25 }, // 0x46 'F' + { 2368, 25, 28, 28, 5, -26 }, // 0x47 'G' + { 2456, 27, 26, 28, 3, -25 }, // 0x48 'H' + { 2544, 22, 26, 28, 6, -25 }, // 0x49 'I' + { 2616, 28, 27, 28, 5, -25 }, // 0x4A 'J' + { 2711, 29, 26, 28, 2, -25 }, // 0x4B 'K' + { 2806, 25, 26, 28, 3, -25 }, // 0x4C 'L' + { 2888, 32, 26, 28, 1, -25 }, // 0x4D 'M' + { 2992, 30, 26, 28, 2, -25 }, // 0x4E 'N' + { 3090, 24, 28, 28, 5, -26 }, // 0x4F 'O' + { 3174, 26, 26, 28, 2, -25 }, // 0x50 'P' + { 3259, 24, 32, 28, 5, -26 }, // 0x51 'Q' + { 3355, 26, 26, 28, 2, -25 }, // 0x52 'R' + { 3440, 24, 28, 28, 5, -26 }, // 0x53 'S' + { 3524, 24, 26, 28, 7, -25 }, // 0x54 'T' + { 3602, 26, 27, 28, 6, -25 }, // 0x55 'U' + { 3690, 27, 26, 28, 6, -25 }, // 0x56 'V' + { 3778, 27, 26, 28, 6, -25 }, // 0x57 'W' + { 3866, 29, 26, 28, 2, -25 }, // 0x58 'X' + { 3961, 24, 26, 28, 7, -25 }, // 0x59 'Y' + { 4039, 23, 26, 28, 5, -25 }, // 0x5A 'Z' + { 4114, 15, 34, 28, 12, -27 }, // 0x5B '[' + { 4178, 10, 35, 28, 12, -30 }, // 0x5C '\' + { 4222, 15, 34, 28, 6, -27 }, // 0x5D ']' + { 4286, 18, 12, 28, 9, -28 }, // 0x5E '^' + { 4313, 28, 2, 28, -1, 5 }, // 0x5F '_' + { 4320, 6, 7, 28, 13, -29 }, // 0x60 '`' + { 4326, 22, 22, 28, 4, -20 }, // 0x61 'a' + { 4387, 27, 29, 28, 1, -27 }, // 0x62 'b' + { 4485, 22, 22, 28, 6, -20 }, // 0x63 'c' + { 4546, 25, 29, 28, 5, -27 }, // 0x64 'd' + { 4637, 22, 22, 28, 5, -20 }, // 0x65 'e' + { 4698, 26, 28, 28, 5, -27 }, // 0x66 'f' + { 4789, 25, 30, 28, 5, -20 }, // 0x67 'g' + { 4883, 24, 28, 28, 3, -27 }, // 0x68 'h' + { 4967, 19, 29, 28, 5, -28 }, // 0x69 'i' + { 5036, 20, 38, 28, 4, -28 }, // 0x6A 'j' + { 5131, 24, 28, 28, 3, -27 }, // 0x6B 'k' + { 5215, 19, 28, 28, 5, -27 }, // 0x6C 'l' + { 5282, 27, 21, 28, 1, -20 }, // 0x6D 'm' + { 5353, 23, 21, 28, 3, -20 }, // 0x6E 'n' + { 5414, 22, 22, 28, 5, -20 }, // 0x6F 'o' + { 5475, 29, 30, 28, -1, -20 }, // 0x70 'p' + { 5584, 26, 30, 28, 5, -20 }, // 0x71 'q' + { 5682, 25, 20, 28, 4, -19 }, // 0x72 'r' + { 5745, 21, 22, 28, 5, -20 }, // 0x73 's' + { 5803, 17, 27, 28, 7, -25 }, // 0x74 't' + { 5861, 21, 21, 28, 6, -19 }, // 0x75 'u' + { 5917, 26, 20, 28, 5, -19 }, // 0x76 'v' + { 5982, 25, 20, 28, 6, -19 }, // 0x77 'w' + { 6045, 26, 20, 28, 3, -19 }, // 0x78 'x' + { 6110, 29, 29, 28, 1, -19 }, // 0x79 'y' + { 6216, 21, 20, 28, 5, -19 }, // 0x7A 'z' + { 6269, 15, 34, 28, 10, -27 }, // 0x7B '{' + { 6333, 9, 35, 28, 12, -28 }, // 0x7C '|' + { 6373, 15, 34, 28, 8, -27 }, // 0x7D '}' + { 6437, 20, 6, 28, 7, -15 } }; // 0x7E '~' + +const GFXfont FreeMonoOblique24pt7b PROGMEM = { + (uint8_t *)FreeMonoOblique24pt7bBitmaps, + (GFXglyph *)FreeMonoOblique24pt7bGlyphs, + 0x20, 0x7E, 47 }; + +// Approx. 7124 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h new file mode 100644 index 0000000..a00ca82 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h @@ -0,0 +1,187 @@ +const uint8_t FreeMonoOblique9pt7bBitmaps[] PROGMEM = { + 0x11, 0x22, 0x24, 0x40, 0x00, 0xC0, 0xDE, 0xE5, 0x29, 0x00, 0x09, 0x05, + 0x02, 0x82, 0x47, 0xF8, 0xA0, 0x51, 0xFE, 0x28, 0x14, 0x0A, 0x09, 0x00, + 0x08, 0x1D, 0x23, 0x40, 0x70, 0x1C, 0x02, 0x82, 0x84, 0x78, 0x20, 0x20, + 0x1C, 0x11, 0x08, 0x83, 0x80, 0x18, 0x71, 0xC0, 0x1C, 0x11, 0x08, 0x83, + 0x80, 0x1E, 0x60, 0x81, 0x03, 0x0A, 0x65, 0x46, 0x88, 0xE8, 0xFA, 0x80, + 0x12, 0x24, 0x48, 0x88, 0x88, 0x88, 0x80, 0x01, 0x11, 0x11, 0x11, 0x22, + 0x44, 0x80, 0x10, 0x22, 0x5B, 0xC3, 0x0A, 0x22, 0x00, 0x04, 0x02, 0x02, + 0x1F, 0xF0, 0x80, 0x40, 0x20, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0x80, 0xF0, + 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, + 0x08, 0x08, 0x00, 0x1C, 0x45, 0x0A, 0x18, 0x30, 0x61, 0x42, 0x85, 0x11, + 0xC0, 0x04, 0x38, 0x90, 0x20, 0x81, 0x02, 0x04, 0x08, 0x23, 0xF8, 0x07, + 0x04, 0xC4, 0x20, 0x10, 0x10, 0x30, 0x20, 0x20, 0x60, 0x40, 0x3F, 0x80, + 0x0F, 0x00, 0x40, 0x20, 0x20, 0x60, 0x18, 0x04, 0x02, 0x01, 0x43, 0x1E, + 0x00, 0x03, 0x05, 0x0A, 0x12, 0x22, 0x22, 0x42, 0x7F, 0x04, 0x04, 0x1E, + 0x1F, 0x88, 0x08, 0x05, 0xC3, 0x30, 0x08, 0x04, 0x02, 0x02, 0x42, 0x1E, + 0x00, 0x07, 0x18, 0x20, 0x40, 0x5C, 0xA6, 0xC2, 0x82, 0x82, 0xC4, 0x78, + 0xFF, 0x04, 0x10, 0x20, 0x82, 0x04, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x23, + 0x41, 0x41, 0x62, 0x1C, 0x66, 0x82, 0x82, 0x84, 0x78, 0x1E, 0x23, 0x41, + 0x41, 0x43, 0x65, 0x3A, 0x02, 0x04, 0x18, 0xE0, 0x6C, 0x00, 0x36, 0x18, + 0xC0, 0x00, 0x19, 0x8C, 0xC4, 0x00, 0x01, 0x83, 0x06, 0x0C, 0x06, 0x00, + 0x80, 0x30, 0x04, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x20, 0x0C, 0x01, 0x00, + 0x60, 0x20, 0x60, 0xC1, 0x80, 0x3D, 0x8E, 0x08, 0x10, 0xC6, 0x08, 0x00, + 0x01, 0x80, 0x1C, 0x45, 0x0A, 0x79, 0x34, 0x69, 0x4E, 0x81, 0x03, 0x03, + 0xC0, 0x0F, 0x00, 0x60, 0x12, 0x02, 0x40, 0x88, 0x21, 0x07, 0xE1, 0x04, + 0x20, 0x5E, 0x3C, 0x3F, 0x84, 0x11, 0x04, 0x82, 0x3F, 0x88, 0x32, 0x04, + 0x81, 0x60, 0xBF, 0xC0, 0x1E, 0x98, 0xD0, 0x28, 0x08, 0x04, 0x02, 0x01, + 0x00, 0x41, 0x1F, 0x00, 0x3F, 0x0C, 0x22, 0x04, 0x81, 0x20, 0x48, 0x12, + 0x09, 0x02, 0x43, 0x3F, 0x00, 0x3F, 0xC4, 0x11, 0x00, 0x88, 0x3E, 0x08, + 0x82, 0x00, 0x82, 0x60, 0xBF, 0xE0, 0x3F, 0xE2, 0x08, 0x40, 0x11, 0x03, + 0xE0, 0x44, 0x08, 0x01, 0x00, 0x60, 0x1F, 0x00, 0x1E, 0x98, 0xD0, 0x08, + 0x08, 0x04, 0x7A, 0x05, 0x02, 0x41, 0x1F, 0x00, 0x3D, 0xE2, 0x18, 0x42, + 0x08, 0x43, 0xF8, 0x41, 0x08, 0x21, 0x08, 0x21, 0x1E, 0xF0, 0x3F, 0x82, + 0x02, 0x01, 0x00, 0x80, 0x40, 0x20, 0x20, 0x10, 0x7F, 0x00, 0x0F, 0xE0, + 0x20, 0x04, 0x00, 0x80, 0x10, 0x02, 0x20, 0x84, 0x10, 0x84, 0x0F, 0x00, + 0x3C, 0xE2, 0x10, 0x44, 0x11, 0x02, 0xC0, 0x64, 0x08, 0x81, 0x08, 0x61, + 0x1E, 0x38, 0x3E, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, 0x01, 0x04, 0x42, + 0x10, 0xBF, 0xE0, 0x38, 0x38, 0xC3, 0x05, 0x28, 0x29, 0x42, 0x52, 0x13, + 0x10, 0x99, 0x84, 0x08, 0x20, 0x47, 0x8F, 0x00, 0x70, 0xE6, 0x08, 0xA1, + 0x14, 0x22, 0x48, 0x49, 0x11, 0x22, 0x14, 0x43, 0x1E, 0x20, 0x1E, 0x18, + 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x00, 0x3F, 0x84, + 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x00, 0x80, 0x60, 0x3E, 0x00, 0x1E, + 0x18, 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x08, 0x0F, + 0x44, 0x60, 0x3F, 0x84, 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x10, 0x84, + 0x60, 0xBC, 0x10, 0x0F, 0x88, 0xC8, 0x24, 0x01, 0x80, 0x38, 0x05, 0x02, + 0xC2, 0x5E, 0x00, 0xFF, 0xC4, 0x44, 0x02, 0x01, 0x00, 0x80, 0x40, 0x60, + 0x20, 0x7E, 0x00, 0xF1, 0xD0, 0x24, 0x09, 0x02, 0x41, 0xA0, 0x48, 0x12, + 0x04, 0xC6, 0x1F, 0x00, 0xF1, 0xE8, 0x11, 0x02, 0x20, 0x82, 0x20, 0x44, + 0x09, 0x01, 0x40, 0x28, 0x02, 0x00, 0xF1, 0xE8, 0x09, 0x12, 0x26, 0x45, + 0x48, 0xAA, 0x29, 0x45, 0x28, 0xC6, 0x18, 0xC0, 0x38, 0xE2, 0x08, 0x26, + 0x05, 0x00, 0x40, 0x18, 0x04, 0x81, 0x08, 0x41, 0x1C, 0x70, 0xE3, 0xA0, + 0x90, 0x84, 0x81, 0x80, 0x80, 0x40, 0x20, 0x20, 0x7E, 0x00, 0x3F, 0x90, + 0x88, 0x80, 0x80, 0x80, 0x80, 0x80, 0x82, 0x82, 0x7F, 0x00, 0x39, 0x08, + 0x44, 0x21, 0x08, 0x42, 0x21, 0x0E, 0x00, 0x88, 0x44, 0x44, 0x22, 0x22, + 0x11, 0x11, 0x38, 0x42, 0x11, 0x08, 0x42, 0x10, 0x84, 0x2E, 0x00, 0x08, + 0x28, 0x92, 0x18, 0x20, 0xFF, 0xC0, 0xA4, 0x3E, 0x00, 0x80, 0x47, 0xA4, + 0x34, 0x12, 0x18, 0xF7, 0x38, 0x01, 0x00, 0x40, 0x09, 0xE1, 0xC6, 0x20, + 0x44, 0x09, 0x01, 0x30, 0x46, 0x13, 0xBC, 0x00, 0x1F, 0x48, 0x74, 0x0A, + 0x00, 0x80, 0x20, 0x0C, 0x18, 0xF8, 0x01, 0x80, 0x40, 0x23, 0x96, 0x32, + 0x0A, 0x05, 0x02, 0x81, 0x61, 0x1F, 0xE0, 0x1F, 0x30, 0xD0, 0x3F, 0xF8, + 0x04, 0x01, 0x00, 0x7C, 0x07, 0xC3, 0x00, 0x80, 0xFE, 0x10, 0x04, 0x01, + 0x00, 0x40, 0x10, 0x08, 0x0F, 0xE0, 0x1D, 0xD8, 0xC4, 0x12, 0x04, 0x82, + 0x20, 0x8C, 0x61, 0xE8, 0x02, 0x01, 0x07, 0x80, 0x30, 0x04, 0x01, 0x00, + 0x5C, 0x38, 0x88, 0x22, 0x08, 0x82, 0x21, 0x18, 0x4F, 0x3C, 0x04, 0x04, + 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0xFF, 0x01, 0x00, 0x80, + 0x03, 0xF0, 0x10, 0x08, 0x04, 0x02, 0x02, 0x01, 0x00, 0x80, 0x40, 0x47, + 0xC0, 0x38, 0x08, 0x04, 0x02, 0x71, 0x20, 0xA0, 0xA0, 0x68, 0x24, 0x11, + 0x38, 0xE0, 0x3C, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, + 0xFF, 0x3E, 0xE2, 0x64, 0x88, 0x91, 0x12, 0x24, 0x48, 0x91, 0x17, 0x33, + 0x37, 0x14, 0x4C, 0x24, 0x12, 0x09, 0x08, 0x85, 0xE3, 0x1E, 0x10, 0x90, + 0x30, 0x18, 0x0C, 0x0B, 0x08, 0x78, 0x33, 0xC3, 0x8C, 0x40, 0x88, 0x12, + 0x02, 0x60, 0x8C, 0x31, 0x78, 0x20, 0x08, 0x03, 0xE0, 0x00, 0x1C, 0xD8, + 0xC4, 0x12, 0x04, 0x81, 0x20, 0x4C, 0x21, 0xF8, 0x02, 0x00, 0x81, 0xF0, + 0x73, 0x8E, 0x04, 0x04, 0x02, 0x01, 0x00, 0x81, 0xFC, 0x1F, 0x61, 0x40, + 0x3C, 0x03, 0x81, 0x82, 0xFC, 0x10, 0x63, 0xF9, 0x02, 0x04, 0x10, 0x20, + 0x40, 0x7C, 0xE3, 0x10, 0x90, 0x48, 0x24, 0x22, 0x11, 0x18, 0xF6, 0xF3, + 0xD0, 0x44, 0x10, 0x88, 0x24, 0x09, 0x02, 0x80, 0x40, 0xE1, 0xD0, 0x24, + 0x91, 0x24, 0x55, 0x19, 0x86, 0x61, 0x10, 0x39, 0xC4, 0x20, 0xB0, 0x30, + 0x0C, 0x04, 0x86, 0x13, 0x8E, 0x3C, 0x71, 0x04, 0x10, 0x40, 0x88, 0x09, + 0x00, 0xA0, 0x06, 0x00, 0x40, 0x08, 0x01, 0x00, 0xFC, 0x00, 0x7F, 0x42, + 0x04, 0x08, 0x10, 0x20, 0x42, 0xFE, 0x0C, 0x41, 0x04, 0x30, 0x8C, 0x08, + 0x21, 0x04, 0x10, 0x60, 0x24, 0x94, 0x92, 0x52, 0x40, 0x18, 0x20, 0x82, + 0x10, 0x40, 0xC4, 0x10, 0x82, 0x08, 0xC0, 0x61, 0x24, 0x30 }; + +const GFXglyph FreeMonoOblique9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' + { 0, 4, 11, 11, 4, -10 }, // 0x21 '!' + { 6, 5, 5, 11, 4, -10 }, // 0x22 '"' + { 10, 9, 12, 11, 2, -10 }, // 0x23 '#' + { 24, 8, 12, 11, 3, -10 }, // 0x24 '$' + { 36, 9, 11, 11, 2, -10 }, // 0x25 '%' + { 49, 7, 10, 11, 2, -9 }, // 0x26 '&' + { 58, 2, 5, 11, 6, -10 }, // 0x27 ''' + { 60, 4, 13, 11, 6, -10 }, // 0x28 '(' + { 67, 4, 13, 11, 3, -10 }, // 0x29 ')' + { 74, 7, 7, 11, 4, -10 }, // 0x2A '*' + { 81, 9, 8, 11, 2, -8 }, // 0x2B '+' + { 90, 4, 5, 11, 2, -1 }, // 0x2C ',' + { 93, 9, 1, 11, 2, -5 }, // 0x2D '-' + { 95, 2, 2, 11, 4, -1 }, // 0x2E '.' + { 96, 9, 13, 11, 2, -11 }, // 0x2F '/' + { 111, 7, 11, 11, 3, -10 }, // 0x30 '0' + { 121, 7, 11, 11, 2, -10 }, // 0x31 '1' + { 131, 9, 11, 11, 2, -10 }, // 0x32 '2' + { 144, 9, 11, 11, 2, -10 }, // 0x33 '3' + { 157, 8, 11, 11, 2, -10 }, // 0x34 '4' + { 168, 9, 11, 11, 2, -10 }, // 0x35 '5' + { 181, 8, 11, 11, 3, -10 }, // 0x36 '6' + { 192, 7, 11, 11, 4, -10 }, // 0x37 '7' + { 202, 8, 11, 11, 3, -10 }, // 0x38 '8' + { 213, 8, 11, 11, 3, -10 }, // 0x39 '9' + { 224, 3, 8, 11, 4, -7 }, // 0x3A ':' + { 227, 5, 11, 11, 2, -7 }, // 0x3B ';' + { 234, 9, 8, 11, 2, -8 }, // 0x3C '<' + { 243, 9, 4, 11, 2, -6 }, // 0x3D '=' + { 248, 9, 8, 11, 2, -8 }, // 0x3E '>' + { 257, 7, 10, 11, 4, -9 }, // 0x3F '?' + { 266, 7, 12, 11, 3, -10 }, // 0x40 '@' + { 277, 11, 10, 11, 0, -9 }, // 0x41 'A' + { 291, 10, 10, 11, 1, -9 }, // 0x42 'B' + { 304, 9, 10, 11, 2, -9 }, // 0x43 'C' + { 316, 10, 10, 11, 1, -9 }, // 0x44 'D' + { 329, 10, 10, 11, 1, -9 }, // 0x45 'E' + { 342, 11, 10, 11, 1, -9 }, // 0x46 'F' + { 356, 9, 10, 11, 2, -9 }, // 0x47 'G' + { 368, 11, 10, 11, 1, -9 }, // 0x48 'H' + { 382, 9, 10, 11, 2, -9 }, // 0x49 'I' + { 394, 11, 10, 11, 2, -9 }, // 0x4A 'J' + { 408, 11, 10, 11, 1, -9 }, // 0x4B 'K' + { 422, 10, 10, 11, 1, -9 }, // 0x4C 'L' + { 435, 13, 10, 11, 0, -9 }, // 0x4D 'M' + { 452, 11, 10, 11, 1, -9 }, // 0x4E 'N' + { 466, 9, 10, 11, 2, -9 }, // 0x4F 'O' + { 478, 10, 10, 11, 1, -9 }, // 0x50 'P' + { 491, 9, 13, 11, 2, -9 }, // 0x51 'Q' + { 506, 10, 10, 11, 1, -9 }, // 0x52 'R' + { 519, 9, 10, 11, 2, -9 }, // 0x53 'S' + { 531, 9, 10, 11, 3, -9 }, // 0x54 'T' + { 543, 10, 10, 11, 2, -9 }, // 0x55 'U' + { 556, 11, 10, 11, 2, -9 }, // 0x56 'V' + { 570, 11, 10, 11, 2, -9 }, // 0x57 'W' + { 584, 11, 10, 11, 1, -9 }, // 0x58 'X' + { 598, 9, 10, 11, 3, -9 }, // 0x59 'Y' + { 610, 9, 10, 11, 2, -9 }, // 0x5A 'Z' + { 622, 5, 13, 11, 5, -10 }, // 0x5B '[' + { 631, 4, 14, 11, 4, -11 }, // 0x5C '\' + { 638, 5, 13, 11, 2, -10 }, // 0x5D ']' + { 647, 7, 5, 11, 3, -10 }, // 0x5E '^' + { 652, 11, 1, 11, 0, 2 }, // 0x5F '_' + { 654, 2, 3, 11, 5, -11 }, // 0x60 '`' + { 655, 9, 8, 11, 2, -7 }, // 0x61 'a' + { 664, 11, 11, 11, 0, -10 }, // 0x62 'b' + { 680, 10, 8, 11, 2, -7 }, // 0x63 'c' + { 690, 9, 11, 11, 2, -10 }, // 0x64 'd' + { 703, 9, 8, 11, 2, -7 }, // 0x65 'e' + { 712, 10, 11, 11, 2, -10 }, // 0x66 'f' + { 726, 10, 11, 11, 2, -7 }, // 0x67 'g' + { 740, 10, 11, 11, 1, -10 }, // 0x68 'h' + { 754, 8, 11, 11, 2, -10 }, // 0x69 'i' + { 765, 9, 14, 11, 1, -10 }, // 0x6A 'j' + { 781, 9, 11, 11, 1, -10 }, // 0x6B 'k' + { 794, 8, 11, 11, 2, -10 }, // 0x6C 'l' + { 805, 11, 8, 11, 0, -7 }, // 0x6D 'm' + { 816, 9, 8, 11, 1, -7 }, // 0x6E 'n' + { 825, 9, 8, 11, 2, -7 }, // 0x6F 'o' + { 834, 11, 11, 11, 0, -7 }, // 0x70 'p' + { 850, 10, 11, 11, 2, -7 }, // 0x71 'q' + { 864, 9, 8, 11, 2, -7 }, // 0x72 'r' + { 873, 8, 8, 11, 2, -7 }, // 0x73 's' + { 881, 7, 10, 11, 2, -9 }, // 0x74 't' + { 890, 9, 8, 11, 2, -7 }, // 0x75 'u' + { 899, 10, 8, 11, 2, -7 }, // 0x76 'v' + { 909, 10, 8, 11, 2, -7 }, // 0x77 'w' + { 919, 10, 8, 11, 1, -7 }, // 0x78 'x' + { 929, 12, 11, 11, 0, -7 }, // 0x79 'y' + { 946, 8, 8, 11, 2, -7 }, // 0x7A 'z' + { 954, 6, 13, 11, 4, -10 }, // 0x7B '{' + { 964, 3, 12, 11, 5, -9 }, // 0x7C '|' + { 969, 6, 13, 11, 3, -10 }, // 0x7D '}' + { 979, 7, 3, 11, 3, -6 } }; // 0x7E '~' + +const GFXfont FreeMonoOblique9pt7b PROGMEM = { + (uint8_t *)FreeMonoOblique9pt7bBitmaps, + (GFXglyph *)FreeMonoOblique9pt7bGlyphs, + 0x20, 0x7E, 18 }; + +// Approx. 1654 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h new file mode 100644 index 0000000..9ecbb8f --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h @@ -0,0 +1,270 @@ +const uint8_t FreeSans12pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xCF, 0x3C, 0xF3, 0x8A, 0x20, 0x06, 0x30, + 0x31, 0x03, 0x18, 0x18, 0xC7, 0xFF, 0xBF, 0xFC, 0x31, 0x03, 0x18, 0x18, + 0xC7, 0xFF, 0xBF, 0xFC, 0x31, 0x01, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, + 0x04, 0x03, 0xE1, 0xFF, 0x72, 0x6C, 0x47, 0x88, 0xF1, 0x07, 0x20, 0x7E, + 0x03, 0xF0, 0x17, 0x02, 0x3C, 0x47, 0x88, 0xF1, 0x1B, 0x26, 0x7F, 0xC3, + 0xE0, 0x10, 0x02, 0x00, 0x00, 0x06, 0x03, 0xC0, 0x40, 0x7E, 0x0C, 0x0E, + 0x70, 0x80, 0xC3, 0x18, 0x0C, 0x31, 0x00, 0xE7, 0x30, 0x07, 0xE6, 0x00, + 0x3C, 0x40, 0x00, 0x0C, 0x7C, 0x00, 0x8F, 0xE0, 0x19, 0xC7, 0x01, 0x18, + 0x30, 0x31, 0x83, 0x02, 0x1C, 0x70, 0x40, 0xFE, 0x04, 0x07, 0xC0, 0x0F, + 0x00, 0x7E, 0x03, 0x9C, 0x0C, 0x30, 0x30, 0xC0, 0xE7, 0x01, 0xF8, 0x03, + 0x80, 0x3E, 0x01, 0xCC, 0x6E, 0x19, 0xB0, 0x7C, 0xC0, 0xF3, 0x03, 0xCE, + 0x1F, 0x9F, 0xE6, 0x1E, 0x1C, 0xFF, 0xA0, 0x08, 0x8C, 0x66, 0x31, 0x98, + 0xC6, 0x31, 0x8C, 0x63, 0x08, 0x63, 0x08, 0x61, 0x0C, 0x20, 0x82, 0x18, + 0xC3, 0x18, 0xC3, 0x18, 0xC6, 0x31, 0x8C, 0x62, 0x31, 0x88, 0xC4, 0x62, + 0x00, 0x10, 0x23, 0x5B, 0xE3, 0x8D, 0x91, 0x00, 0x0C, 0x03, 0x00, 0xC0, + 0x30, 0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0xF5, 0x60, + 0xFF, 0xF0, 0xF0, 0x02, 0x0C, 0x10, 0x20, 0xC1, 0x02, 0x0C, 0x10, 0x20, + 0xC1, 0x02, 0x0C, 0x10, 0x20, 0xC1, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x30, + 0x6E, 0x0F, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, + 0x0E, 0xC1, 0x9C, 0x71, 0xFC, 0x1F, 0x00, 0x08, 0xCF, 0xFF, 0x8C, 0x63, + 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0x1F, 0x0F, 0xF9, 0x87, 0x60, 0x7C, + 0x06, 0x00, 0xC0, 0x18, 0x07, 0x01, 0xC0, 0xF0, 0x78, 0x1C, 0x06, 0x00, + 0x80, 0x30, 0x07, 0xFF, 0xFF, 0xE0, 0x3F, 0x0F, 0xF3, 0x87, 0x60, 0x6C, + 0x0C, 0x01, 0x80, 0x70, 0x7C, 0x0F, 0x80, 0x18, 0x01, 0x80, 0x3C, 0x07, + 0x80, 0xD8, 0x73, 0xFC, 0x1F, 0x00, 0x01, 0x80, 0x70, 0x0E, 0x03, 0xC0, + 0xD8, 0x1B, 0x06, 0x61, 0x8C, 0x21, 0x8C, 0x33, 0x06, 0x7F, 0xFF, 0xFE, + 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x3F, 0xCF, 0xF9, 0x80, 0x30, 0x06, + 0x00, 0xDE, 0x1F, 0xE7, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x07, + 0x81, 0xF8, 0x73, 0xFC, 0x1F, 0x00, 0x0F, 0x07, 0xF9, 0xC3, 0x30, 0x74, + 0x01, 0x80, 0x33, 0xC7, 0xFE, 0xF0, 0xDC, 0x1F, 0x01, 0xE0, 0x3C, 0x06, + 0xC1, 0xDC, 0x71, 0xFC, 0x1F, 0x00, 0xFF, 0xFF, 0xFC, 0x01, 0x00, 0x60, + 0x18, 0x02, 0x00, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x30, 0x04, 0x01, 0x80, + 0x30, 0x06, 0x01, 0x80, 0x30, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x30, 0x66, + 0x0C, 0xC1, 0x8C, 0x61, 0xFC, 0x3F, 0x8E, 0x3B, 0x01, 0xE0, 0x3C, 0x07, + 0x80, 0xD8, 0x31, 0xFC, 0x1F, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x6C, + 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x61, 0xEF, 0xFC, 0x79, 0x80, 0x30, 0x05, + 0x81, 0x98, 0x73, 0xFC, 0x1E, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0xF0, 0x00, + 0x0F, 0x56, 0x00, 0x00, 0x07, 0x01, 0xE0, 0xF8, 0x3C, 0x0F, 0x00, 0xE0, + 0x07, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x0E, 0x00, 0x78, 0x01, 0xF0, 0x07, + 0xC0, 0x0F, 0x00, 0x70, 0x1E, 0x0F, 0x03, 0xC0, 0xF0, 0x08, 0x00, 0x1F, + 0x1F, 0xEE, 0x1B, 0x03, 0xC0, 0xC0, 0x30, 0x0C, 0x06, 0x03, 0x81, 0xC0, + 0xE0, 0x30, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0xFE, + 0x00, 0x0F, 0xFE, 0x00, 0xF0, 0x3E, 0x07, 0x00, 0x3C, 0x38, 0x00, 0x30, + 0xC1, 0xE0, 0x66, 0x0F, 0xD9, 0xD8, 0x61, 0xC3, 0xC3, 0x07, 0x0F, 0x1C, + 0x1C, 0x3C, 0x60, 0x60, 0xF1, 0x81, 0x83, 0xC6, 0x06, 0x1B, 0x18, 0x38, + 0xEE, 0x71, 0xE7, 0x18, 0xFD, 0xF8, 0x71, 0xE7, 0xC0, 0xE0, 0x00, 0x01, + 0xE0, 0x00, 0x01, 0xFF, 0xC0, 0x01, 0xFC, 0x00, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x07, 0xE0, 0x06, 0x60, 0x06, 0x60, 0x0E, 0x70, 0x0C, 0x30, + 0x0C, 0x30, 0x1C, 0x38, 0x18, 0x18, 0x1F, 0xF8, 0x3F, 0xFC, 0x30, 0x1C, + 0x30, 0x0C, 0x70, 0x0E, 0x60, 0x06, 0x60, 0x06, 0xFF, 0xC7, 0xFF, 0x30, + 0x19, 0x80, 0x6C, 0x03, 0x60, 0x1B, 0x00, 0xD8, 0x0C, 0xFF, 0xC7, 0xFF, + 0x30, 0x0D, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x06, 0xFF, 0xF7, + 0xFE, 0x00, 0x07, 0xE0, 0x3F, 0xF0, 0xE0, 0x73, 0x80, 0x66, 0x00, 0x6C, + 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, + 0x06, 0x00, 0x6C, 0x00, 0xDC, 0x03, 0x1E, 0x0E, 0x1F, 0xF8, 0x0F, 0xC0, + 0xFF, 0x83, 0xFF, 0x8C, 0x07, 0x30, 0x0E, 0xC0, 0x1B, 0x00, 0x7C, 0x00, + 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1F, 0x00, + 0x6C, 0x03, 0xB0, 0x1C, 0xFF, 0xE3, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, + 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xEF, 0xFE, 0xC0, + 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xFF, 0xDF, + 0xFB, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x00, + 0x07, 0xF0, 0x1F, 0xFC, 0x3C, 0x1E, 0x70, 0x06, 0x60, 0x03, 0xE0, 0x00, + 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x7F, 0xC0, 0x7F, 0xC0, 0x03, 0xC0, 0x03, + 0x60, 0x03, 0x60, 0x07, 0x30, 0x0F, 0x3C, 0x1F, 0x1F, 0xFB, 0x07, 0xE1, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, + 0x03, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, + 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, + 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, + 0x3C, 0x1E, 0x0F, 0x07, 0xC7, 0x7F, 0x1F, 0x00, 0xC0, 0x3B, 0x01, 0xCC, + 0x0E, 0x30, 0x70, 0xC3, 0x83, 0x1C, 0x0C, 0xE0, 0x33, 0x80, 0xDE, 0x03, + 0xDC, 0x0E, 0x38, 0x30, 0x60, 0xC1, 0xC3, 0x03, 0x8C, 0x06, 0x30, 0x1C, + 0xC0, 0x3B, 0x00, 0x60, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, + 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, + 0xFF, 0xFF, 0xF0, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0F, 0xF0, 0x0F, 0xD0, + 0x0F, 0xD8, 0x1B, 0xD8, 0x1B, 0xD8, 0x1B, 0xCC, 0x33, 0xCC, 0x33, 0xCC, + 0x33, 0xC6, 0x63, 0xC6, 0x63, 0xC6, 0x63, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC1, 0x83, 0xE0, 0x1F, 0x00, 0xFC, 0x07, 0xE0, 0x3D, 0x81, 0xEE, + 0x0F, 0x30, 0x79, 0xC3, 0xC6, 0x1E, 0x18, 0xF0, 0xE7, 0x83, 0x3C, 0x1D, + 0xE0, 0x6F, 0x01, 0xF8, 0x0F, 0xC0, 0x3E, 0x01, 0xC0, 0x03, 0xE0, 0x0F, + 0xFC, 0x0F, 0x07, 0x86, 0x00, 0xC6, 0x00, 0x33, 0x00, 0x1B, 0x00, 0x07, + 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x36, 0x00, + 0x33, 0x00, 0x18, 0xC0, 0x18, 0x78, 0x3C, 0x1F, 0xFC, 0x03, 0xF8, 0x00, + 0xFF, 0x8F, 0xFE, 0xC0, 0x6C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x07, + 0xFF, 0xEF, 0xFC, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, + 0xC0, 0x0C, 0x00, 0x03, 0xE0, 0x0F, 0xFC, 0x0F, 0x07, 0x86, 0x00, 0xC6, + 0x00, 0x33, 0x00, 0x1B, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, + 0xF0, 0x00, 0x78, 0x00, 0x36, 0x00, 0x33, 0x01, 0x98, 0xC0, 0xFC, 0x78, + 0x3C, 0x1F, 0xFF, 0x03, 0xF9, 0x80, 0x00, 0x40, 0xFF, 0xC3, 0xFF, 0xCC, + 0x03, 0xB0, 0x06, 0xC0, 0x1B, 0x00, 0x6C, 0x01, 0xB0, 0x0C, 0xFF, 0xE3, + 0xFF, 0xCC, 0x03, 0xB0, 0x06, 0xC0, 0x1B, 0x00, 0x6C, 0x01, 0xB0, 0x06, + 0xC0, 0x1B, 0x00, 0x70, 0x0F, 0xE0, 0x7F, 0xC3, 0x83, 0x9C, 0x07, 0x60, + 0x0D, 0x80, 0x06, 0x00, 0x1E, 0x00, 0x3F, 0x80, 0x3F, 0xC0, 0x0F, 0x80, + 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0xDE, 0x0E, 0x3F, 0xF0, 0x3F, 0x80, + 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, + 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x80, 0xEE, 0x0E, 0x3F, 0xE0, 0x7C, 0x00, 0x60, 0x06, 0xC0, + 0x1D, 0xC0, 0x31, 0x80, 0x63, 0x01, 0xC7, 0x03, 0x06, 0x06, 0x0C, 0x1C, + 0x1C, 0x30, 0x18, 0x60, 0x31, 0xC0, 0x73, 0x00, 0x66, 0x00, 0xDC, 0x01, + 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0xE0, 0x30, 0x1D, 0x80, 0xE0, + 0x76, 0x07, 0x81, 0xD8, 0x1E, 0x06, 0x70, 0x7C, 0x18, 0xC1, 0xB0, 0xE3, + 0x0C, 0xC3, 0x8C, 0x33, 0x0C, 0x38, 0xC6, 0x30, 0x67, 0x18, 0xC1, 0x98, + 0x67, 0x06, 0x61, 0xD8, 0x1D, 0x83, 0x60, 0x3C, 0x0D, 0x80, 0xF0, 0x3E, + 0x03, 0xC0, 0x70, 0x0F, 0x01, 0xC0, 0x18, 0x07, 0x00, 0x70, 0x0E, 0x60, + 0x38, 0xE0, 0x60, 0xE1, 0xC0, 0xC3, 0x01, 0xCC, 0x01, 0xF8, 0x01, 0xE0, + 0x03, 0x80, 0x07, 0x80, 0x1F, 0x00, 0x33, 0x00, 0xE7, 0x03, 0x86, 0x06, + 0x0E, 0x1C, 0x0E, 0x70, 0x0C, 0xC0, 0x1C, 0x60, 0x06, 0x70, 0x0E, 0x30, + 0x1C, 0x38, 0x18, 0x1C, 0x38, 0x0C, 0x30, 0x0E, 0x70, 0x06, 0x60, 0x03, + 0xC0, 0x03, 0xC0, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x0E, + 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x70, 0x07, 0x00, 0x30, 0x03, + 0x80, 0x38, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x1C, 0x00, 0xFF, 0xFF, 0xFF, + 0xC0, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCF, + 0xF0, 0x81, 0x81, 0x02, 0x06, 0x04, 0x08, 0x18, 0x10, 0x20, 0x60, 0x40, + 0x81, 0x81, 0x02, 0x06, 0x04, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x3F, 0xF0, 0x0C, 0x0E, 0x05, 0x86, 0xC3, 0x21, 0x19, + 0x8C, 0x83, 0xC1, 0x80, 0xFF, 0xFE, 0xE3, 0x8C, 0x30, 0x3F, 0x07, 0xF8, + 0xE1, 0xCC, 0x0C, 0x00, 0xC0, 0x1C, 0x3F, 0xCF, 0x8C, 0xC0, 0xCC, 0x0C, + 0xE3, 0xC7, 0xEF, 0x3C, 0x70, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, + 0x0C, 0xF8, 0xDF, 0xCF, 0x0E, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xE0, 0x6F, 0x0E, 0xDF, 0xCC, 0xF8, 0x1F, 0x0F, 0xE7, 0x1B, + 0x83, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x38, 0x37, 0x1C, 0xFE, 0x1F, + 0x00, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x3C, 0xCF, 0xFB, 0x8F, + 0xE0, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF8, 0x3B, 0x8F, 0x3F, + 0x63, 0xCC, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x3C, 0x07, 0xFF, 0xFF, 0xFE, + 0x00, 0xC0, 0x1C, 0x0D, 0xC3, 0x1F, 0xE1, 0xF0, 0x3B, 0xD8, 0xC6, 0x7F, + 0xEC, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x00, 0x1E, 0x67, 0xFD, 0xC7, + 0xF0, 0x7C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x7C, 0x1D, 0xC7, 0x9F, + 0xB1, 0xE6, 0x00, 0xC0, 0x3E, 0x0E, 0x7F, 0xC7, 0xE0, 0xC0, 0x30, 0x0C, + 0x03, 0x00, 0xC0, 0x33, 0xCD, 0xFB, 0xC7, 0xE0, 0xF0, 0x3C, 0x0F, 0x03, + 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x30, 0xF0, 0x3F, 0xFF, 0xFF, + 0xF0, 0x33, 0x00, 0x03, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, + 0xE0, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x83, 0x30, 0xC6, 0x30, + 0xCC, 0x1B, 0x83, 0xF0, 0x77, 0x0C, 0x61, 0x8E, 0x30, 0xE6, 0x0C, 0xC1, + 0xD8, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xCF, 0x1F, 0x6F, 0xDF, 0xFC, + 0x78, 0xFC, 0x18, 0x3C, 0x0C, 0x1E, 0x06, 0x0F, 0x03, 0x07, 0x81, 0x83, + 0xC0, 0xC1, 0xE0, 0x60, 0xF0, 0x30, 0x78, 0x18, 0x3C, 0x0C, 0x18, 0xCF, + 0x37, 0xEF, 0x1F, 0x83, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, + 0x0F, 0x03, 0xC0, 0xC0, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x7C, 0x07, 0x80, + 0xF0, 0x1E, 0x03, 0xC0, 0x7C, 0x1D, 0xC7, 0x1F, 0xC1, 0xF0, 0xCF, 0x8D, + 0xFC, 0xF0, 0xEE, 0x06, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, + 0x07, 0xF0, 0xEF, 0xFC, 0xCF, 0x8C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x00, + 0x1E, 0x67, 0xFD, 0xC7, 0xF0, 0x7C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, + 0x7C, 0x1D, 0xC7, 0x9F, 0xF1, 0xE6, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, + 0xCF, 0x7F, 0x38, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC0, 0x3E, 0x1F, + 0xEE, 0x1B, 0x00, 0xC0, 0x3C, 0x07, 0xF0, 0x3E, 0x01, 0xF0, 0x3E, 0x1D, + 0xFE, 0x3E, 0x00, 0x63, 0x19, 0xFF, 0xB1, 0x8C, 0x63, 0x18, 0xC6, 0x31, + 0xE7, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, + 0xF0, 0x7E, 0x3D, 0xFB, 0x3C, 0xC0, 0xE0, 0x66, 0x06, 0x60, 0x67, 0x0C, + 0x30, 0xC3, 0x0C, 0x39, 0x81, 0x98, 0x19, 0x81, 0xF0, 0x0F, 0x00, 0xE0, + 0x0E, 0x00, 0xC1, 0xC1, 0xB0, 0xE1, 0xD8, 0x70, 0xCC, 0x2C, 0x66, 0x36, + 0x31, 0x9B, 0x18, 0xCD, 0x98, 0x64, 0x6C, 0x16, 0x36, 0x0F, 0x1A, 0x07, + 0x8F, 0x03, 0x83, 0x80, 0xC1, 0xC0, 0x60, 0xEE, 0x18, 0xC6, 0x0C, 0xC1, + 0xF0, 0x1C, 0x01, 0x80, 0x78, 0x1B, 0x03, 0x30, 0xC7, 0x30, 0x66, 0x06, + 0xE0, 0x6C, 0x0D, 0x83, 0x38, 0x63, 0x0C, 0x63, 0x0E, 0x60, 0xCC, 0x1B, + 0x03, 0x60, 0x3C, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0xE0, 0x78, 0x0E, + 0x00, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0x03, 0x81, 0xC0, 0x60, 0x30, + 0x18, 0x0E, 0x03, 0xFF, 0xFF, 0xC0, 0x19, 0xCC, 0x63, 0x18, 0xC6, 0x31, + 0x99, 0x86, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x1C, 0x60, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0xC7, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x0C, 0x33, 0x31, + 0x8C, 0x63, 0x18, 0xC6, 0x73, 0x00, 0x70, 0x3E, 0x09, 0xE4, 0x1F, 0x03, + 0x80 }; + +const GFXglyph FreeSans12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 2, 18, 8, 3, -17 }, // 0x21 '!' + { 5, 6, 6, 8, 1, -16 }, // 0x22 '"' + { 10, 13, 16, 13, 0, -15 }, // 0x23 '#' + { 36, 11, 20, 13, 1, -17 }, // 0x24 '$' + { 64, 20, 17, 21, 1, -16 }, // 0x25 '%' + { 107, 14, 17, 16, 1, -16 }, // 0x26 '&' + { 137, 2, 6, 5, 1, -16 }, // 0x27 ''' + { 139, 5, 23, 8, 2, -17 }, // 0x28 '(' + { 154, 5, 23, 8, 1, -17 }, // 0x29 ')' + { 169, 7, 7, 9, 1, -17 }, // 0x2A '*' + { 176, 10, 11, 14, 2, -10 }, // 0x2B '+' + { 190, 2, 6, 7, 2, -1 }, // 0x2C ',' + { 192, 6, 2, 8, 1, -7 }, // 0x2D '-' + { 194, 2, 2, 6, 2, -1 }, // 0x2E '.' + { 195, 7, 18, 7, 0, -17 }, // 0x2F '/' + { 211, 11, 17, 13, 1, -16 }, // 0x30 '0' + { 235, 5, 17, 13, 3, -16 }, // 0x31 '1' + { 246, 11, 17, 13, 1, -16 }, // 0x32 '2' + { 270, 11, 17, 13, 1, -16 }, // 0x33 '3' + { 294, 11, 17, 13, 1, -16 }, // 0x34 '4' + { 318, 11, 17, 13, 1, -16 }, // 0x35 '5' + { 342, 11, 17, 13, 1, -16 }, // 0x36 '6' + { 366, 11, 17, 13, 1, -16 }, // 0x37 '7' + { 390, 11, 17, 13, 1, -16 }, // 0x38 '8' + { 414, 11, 17, 13, 1, -16 }, // 0x39 '9' + { 438, 2, 13, 6, 2, -12 }, // 0x3A ':' + { 442, 2, 16, 6, 2, -11 }, // 0x3B ';' + { 446, 12, 12, 14, 1, -11 }, // 0x3C '<' + { 464, 12, 6, 14, 1, -8 }, // 0x3D '=' + { 473, 12, 12, 14, 1, -11 }, // 0x3E '>' + { 491, 10, 18, 13, 2, -17 }, // 0x3F '?' + { 514, 22, 21, 24, 1, -17 }, // 0x40 '@' + { 572, 16, 18, 16, 0, -17 }, // 0x41 'A' + { 608, 13, 18, 16, 2, -17 }, // 0x42 'B' + { 638, 15, 18, 17, 1, -17 }, // 0x43 'C' + { 672, 14, 18, 17, 2, -17 }, // 0x44 'D' + { 704, 12, 18, 15, 2, -17 }, // 0x45 'E' + { 731, 11, 18, 14, 2, -17 }, // 0x46 'F' + { 756, 16, 18, 18, 1, -17 }, // 0x47 'G' + { 792, 13, 18, 17, 2, -17 }, // 0x48 'H' + { 822, 2, 18, 7, 2, -17 }, // 0x49 'I' + { 827, 9, 18, 13, 1, -17 }, // 0x4A 'J' + { 848, 14, 18, 16, 2, -17 }, // 0x4B 'K' + { 880, 10, 18, 14, 2, -17 }, // 0x4C 'L' + { 903, 16, 18, 20, 2, -17 }, // 0x4D 'M' + { 939, 13, 18, 18, 2, -17 }, // 0x4E 'N' + { 969, 17, 18, 19, 1, -17 }, // 0x4F 'O' + { 1008, 12, 18, 16, 2, -17 }, // 0x50 'P' + { 1035, 17, 19, 19, 1, -17 }, // 0x51 'Q' + { 1076, 14, 18, 17, 2, -17 }, // 0x52 'R' + { 1108, 14, 18, 16, 1, -17 }, // 0x53 'S' + { 1140, 12, 18, 15, 1, -17 }, // 0x54 'T' + { 1167, 13, 18, 17, 2, -17 }, // 0x55 'U' + { 1197, 15, 18, 15, 0, -17 }, // 0x56 'V' + { 1231, 22, 18, 22, 0, -17 }, // 0x57 'W' + { 1281, 15, 18, 16, 0, -17 }, // 0x58 'X' + { 1315, 16, 18, 16, 0, -17 }, // 0x59 'Y' + { 1351, 13, 18, 15, 1, -17 }, // 0x5A 'Z' + { 1381, 4, 23, 7, 2, -17 }, // 0x5B '[' + { 1393, 7, 18, 7, 0, -17 }, // 0x5C '\' + { 1409, 4, 23, 7, 1, -17 }, // 0x5D ']' + { 1421, 9, 9, 11, 1, -16 }, // 0x5E '^' + { 1432, 15, 1, 13, -1, 4 }, // 0x5F '_' + { 1434, 5, 4, 6, 1, -17 }, // 0x60 '`' + { 1437, 12, 13, 13, 1, -12 }, // 0x61 'a' + { 1457, 12, 18, 13, 1, -17 }, // 0x62 'b' + { 1484, 10, 13, 12, 1, -12 }, // 0x63 'c' + { 1501, 11, 18, 13, 1, -17 }, // 0x64 'd' + { 1526, 11, 13, 13, 1, -12 }, // 0x65 'e' + { 1544, 5, 18, 7, 1, -17 }, // 0x66 'f' + { 1556, 11, 18, 13, 1, -12 }, // 0x67 'g' + { 1581, 10, 18, 13, 1, -17 }, // 0x68 'h' + { 1604, 2, 18, 5, 2, -17 }, // 0x69 'i' + { 1609, 4, 23, 6, 0, -17 }, // 0x6A 'j' + { 1621, 11, 18, 12, 1, -17 }, // 0x6B 'k' + { 1646, 2, 18, 5, 1, -17 }, // 0x6C 'l' + { 1651, 17, 13, 19, 1, -12 }, // 0x6D 'm' + { 1679, 10, 13, 13, 1, -12 }, // 0x6E 'n' + { 1696, 11, 13, 13, 1, -12 }, // 0x6F 'o' + { 1714, 12, 17, 13, 1, -12 }, // 0x70 'p' + { 1740, 11, 17, 13, 1, -12 }, // 0x71 'q' + { 1764, 6, 13, 8, 1, -12 }, // 0x72 'r' + { 1774, 10, 13, 12, 1, -12 }, // 0x73 's' + { 1791, 5, 16, 7, 1, -15 }, // 0x74 't' + { 1801, 10, 13, 13, 1, -12 }, // 0x75 'u' + { 1818, 12, 13, 12, 0, -12 }, // 0x76 'v' + { 1838, 17, 13, 17, 0, -12 }, // 0x77 'w' + { 1866, 11, 13, 11, 0, -12 }, // 0x78 'x' + { 1884, 11, 18, 11, 0, -12 }, // 0x79 'y' + { 1909, 10, 13, 12, 1, -12 }, // 0x7A 'z' + { 1926, 5, 23, 8, 1, -17 }, // 0x7B '{' + { 1941, 2, 23, 6, 2, -17 }, // 0x7C '|' + { 1947, 5, 23, 8, 2, -17 }, // 0x7D '}' + { 1962, 10, 5, 12, 1, -10 } }; // 0x7E '~' + +const GFXfont FreeSans12pt7b PROGMEM = { + (uint8_t *)FreeSans12pt7bBitmaps, + (GFXglyph *)FreeSans12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2641 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h new file mode 100644 index 0000000..3fdc591 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h @@ -0,0 +1,452 @@ +const uint8_t FreeSans18pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x20, 0x3F, 0xFC, 0xE3, 0xF1, + 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8E, 0x82, 0x41, 0x00, 0x01, 0xC3, 0x80, + 0x38, 0x70, 0x06, 0x0E, 0x00, 0xC1, 0x80, 0x38, 0x70, 0x07, 0x0E, 0x0F, + 0xFF, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0xE1, 0xC0, 0x1C, 0x38, 0x03, + 0x87, 0x00, 0x70, 0xE0, 0x0C, 0x18, 0x3F, 0xFF, 0xF7, 0xFF, 0xFE, 0xFF, + 0xFF, 0xC1, 0xC3, 0x80, 0x30, 0x60, 0x06, 0x0C, 0x01, 0xC3, 0x80, 0x38, + 0x70, 0x07, 0x0E, 0x00, 0xC1, 0x80, 0x03, 0x00, 0x0F, 0xC0, 0x3F, 0xF0, + 0x3F, 0xF8, 0x7B, 0x3C, 0xF3, 0x1C, 0xE3, 0x0E, 0xE3, 0x0E, 0xE3, 0x0E, + 0xE3, 0x00, 0xE3, 0x00, 0xF3, 0x00, 0x7B, 0x00, 0x7F, 0x80, 0x1F, 0xF0, + 0x07, 0xFC, 0x03, 0x7E, 0x03, 0x0F, 0x03, 0x07, 0xE3, 0x07, 0xE3, 0x07, + 0xE3, 0x07, 0xE3, 0x0F, 0x73, 0x3E, 0x7F, 0xFC, 0x3F, 0xF8, 0x0F, 0xE0, + 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x78, 0x00, + 0xE0, 0x0F, 0xF0, 0x06, 0x00, 0xFF, 0xC0, 0x70, 0x07, 0x0E, 0x07, 0x00, + 0x70, 0x38, 0x38, 0x03, 0x00, 0xC3, 0x80, 0x18, 0x06, 0x1C, 0x00, 0xE0, + 0x71, 0xC0, 0x03, 0x87, 0x8C, 0x00, 0x1F, 0xF8, 0xE0, 0x00, 0x7F, 0x86, + 0x00, 0x01, 0xF8, 0x70, 0x00, 0x00, 0x03, 0x03, 0xC0, 0x00, 0x38, 0x7F, + 0x80, 0x01, 0x87, 0xFE, 0x00, 0x1C, 0x38, 0x70, 0x00, 0xC3, 0x81, 0xC0, + 0x0E, 0x18, 0x06, 0x00, 0xE0, 0xC0, 0x30, 0x07, 0x07, 0x03, 0x80, 0x70, + 0x1C, 0x38, 0x03, 0x80, 0xFF, 0xC0, 0x38, 0x03, 0xFC, 0x01, 0x80, 0x07, + 0x80, 0x01, 0xF0, 0x00, 0x7F, 0x80, 0x0F, 0xFC, 0x01, 0xE1, 0xE0, 0x1C, + 0x0E, 0x01, 0xC0, 0xE0, 0x1C, 0x0E, 0x01, 0xE1, 0xE0, 0x0E, 0x3C, 0x00, + 0x77, 0x80, 0x07, 0xF0, 0x00, 0x7C, 0x00, 0x0F, 0xE0, 0x03, 0xCF, 0x1C, + 0x78, 0x79, 0xC7, 0x03, 0xDC, 0xE0, 0x1F, 0x8E, 0x00, 0xF8, 0xE0, 0x0F, + 0x0E, 0x00, 0x70, 0xF0, 0x0F, 0x87, 0xC3, 0xFC, 0x7F, 0xFD, 0xC3, 0xFF, + 0x0E, 0x0F, 0xC0, 0xF0, 0xFF, 0xFF, 0xFA, 0x40, 0x06, 0x06, 0x0C, 0x0C, + 0x18, 0x18, 0x38, 0x30, 0x70, 0x70, 0x70, 0x60, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x70, 0x70, 0x70, 0x30, 0x38, 0x18, + 0x18, 0x0C, 0x0C, 0x06, 0x03, 0xC0, 0x60, 0x30, 0x30, 0x38, 0x18, 0x1C, + 0x0C, 0x0E, 0x0E, 0x0E, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x06, 0x0E, 0x0E, 0x0E, 0x0C, 0x1C, 0x18, 0x38, 0x30, 0x30, + 0x60, 0xC0, 0x0C, 0x03, 0x00, 0xC3, 0xB7, 0xFF, 0xC7, 0x81, 0xE0, 0xEC, + 0x73, 0x88, 0x40, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0xFF, + 0xF6, 0xDA, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xC0, 0x30, 0x18, + 0x06, 0x01, 0x80, 0xC0, 0x30, 0x0C, 0x06, 0x01, 0x80, 0x60, 0x30, 0x0C, + 0x03, 0x00, 0xC0, 0x60, 0x18, 0x06, 0x03, 0x00, 0xC0, 0x30, 0x18, 0x06, + 0x01, 0x80, 0xC0, 0x30, 0x00, 0x07, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3C, + 0x3C, 0x78, 0x1E, 0x70, 0x0E, 0x70, 0x0E, 0xE0, 0x07, 0xE0, 0x07, 0xE0, + 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, + 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0x70, 0x0E, 0x70, 0x0E, 0x78, 0x1E, 0x3C, + 0x3C, 0x1F, 0xF8, 0x1F, 0xF0, 0x07, 0xE0, 0x03, 0x03, 0x07, 0x0F, 0x3F, + 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE0, 0x1F, 0xF8, + 0x3F, 0xFC, 0x7C, 0x3E, 0x70, 0x0F, 0xF0, 0x0F, 0xE0, 0x07, 0xE0, 0x07, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF8, + 0x03, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x70, 0x00, + 0x60, 0x00, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF0, + 0x07, 0xFE, 0x07, 0xFF, 0x87, 0x83, 0xC3, 0x80, 0xF3, 0x80, 0x39, 0xC0, + 0x1C, 0xE0, 0x0E, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x7F, 0x00, 0x3F, 0x00, + 0x1F, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0xF0, 0x01, + 0xF8, 0x00, 0xFE, 0x00, 0x77, 0x00, 0x73, 0xE0, 0xF8, 0xFF, 0xF8, 0x3F, + 0xF8, 0x07, 0xF0, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0xF8, + 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xB8, 0x03, 0x38, 0x07, 0x38, 0x0E, 0x38, + 0x1C, 0x38, 0x18, 0x38, 0x38, 0x38, 0x70, 0x38, 0x60, 0x38, 0xE0, 0x38, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, + 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x1F, 0xFF, 0x0F, 0xFF, 0x8F, 0xFF, + 0xC7, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x39, + 0xF0, 0x3F, 0xFE, 0x1F, 0xFF, 0x8F, 0x83, 0xE7, 0x00, 0xF0, 0x00, 0x3C, + 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xFC, 0x00, + 0xEF, 0x00, 0x73, 0xC0, 0xF0, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xE0, 0x00, + 0x03, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3C, 0x1E, 0x38, 0x0E, 0x70, 0x0E, + 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE3, 0xE0, 0xEF, 0xF8, 0xFF, 0xFC, + 0xFC, 0x3E, 0xF0, 0x0E, 0xF0, 0x0F, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, + 0x60, 0x07, 0x70, 0x0F, 0x70, 0x0E, 0x3C, 0x3E, 0x3F, 0xFC, 0x1F, 0xF8, + 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x06, 0x00, 0x0E, + 0x00, 0x1C, 0x00, 0x18, 0x00, 0x38, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, + 0x00, 0xC0, 0x01, 0xC0, 0x01, 0x80, 0x03, 0x80, 0x03, 0x80, 0x07, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, + 0x1C, 0x00, 0x1C, 0x00, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0x83, + 0xC7, 0x80, 0xF3, 0x80, 0x39, 0xC0, 0x1C, 0xE0, 0x0E, 0x78, 0x0F, 0x1E, + 0x0F, 0x07, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0xE3, 0xE0, 0xF9, 0xC0, 0x1D, + 0xC0, 0x0F, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xF7, 0x00, + 0x73, 0xE0, 0xF8, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x07, 0xE0, + 0x1F, 0xF8, 0x3F, 0xFC, 0x7C, 0x3C, 0x70, 0x0E, 0xF0, 0x0E, 0xE0, 0x06, + 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0x70, 0x0F, 0x78, 0x3F, + 0x3F, 0xFF, 0x1F, 0xF7, 0x07, 0xC7, 0x00, 0x07, 0x00, 0x06, 0x00, 0x0E, + 0x70, 0x0E, 0x70, 0x1C, 0x78, 0x3C, 0x3F, 0xF8, 0x1F, 0xF0, 0x07, 0xC0, + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x00, 0x00, + 0x00, 0x07, 0xFF, 0xB6, 0xD6, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x07, 0xE0, + 0x0F, 0xC0, 0x3F, 0x80, 0x7E, 0x00, 0xFC, 0x01, 0xF0, 0x00, 0xE0, 0x00, + 0x7C, 0x00, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x07, 0xF0, 0x00, + 0x7E, 0x00, 0x0F, 0x00, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x80, 0x80, 0x00, 0x70, 0x00, 0x3E, 0x00, 0x0F, 0xE0, 0x00, 0xFC, + 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0x80, 0x0F, 0xC0, + 0x1F, 0x80, 0x7F, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x01, 0xC0, 0x00, + 0x80, 0x00, 0x00, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE3, 0xC3, 0xEF, 0x01, + 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0x00, 0x0E, 0x00, 0x38, 0x00, 0xF0, + 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x00, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, + 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x0E, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x00, + 0x00, 0xFF, 0xFF, 0xC0, 0x01, 0xF8, 0x0F, 0xE0, 0x03, 0xE0, 0x01, 0xF0, + 0x07, 0x80, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0x1E, + 0x3C, 0x03, 0xE0, 0x1E, 0x38, 0x0F, 0xF3, 0x8E, 0x78, 0x1E, 0x3F, 0x0F, + 0x70, 0x38, 0x1F, 0x07, 0x70, 0x78, 0x0F, 0x07, 0xE0, 0x70, 0x0E, 0x07, + 0xE0, 0x70, 0x0E, 0x07, 0xE0, 0xE0, 0x0E, 0x07, 0xE0, 0xE0, 0x1C, 0x07, + 0xE0, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x38, 0x1C, + 0xF0, 0x70, 0x78, 0x3C, 0x70, 0x78, 0xFC, 0x78, 0x78, 0x3F, 0xDF, 0xF0, + 0x38, 0x1F, 0x0F, 0xC0, 0x3C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x00, 0x07, 0xF0, 0x0E, 0x00, 0x01, 0xFF, 0xFE, 0x00, + 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x03, + 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xDC, 0x00, 0x07, 0x78, + 0x00, 0x3C, 0xE0, 0x00, 0xE3, 0x80, 0x03, 0x8F, 0x00, 0x1E, 0x1C, 0x00, + 0x70, 0x70, 0x01, 0xC1, 0xE0, 0x0E, 0x03, 0x80, 0x38, 0x0E, 0x00, 0xE0, + 0x3C, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0xFF, 0xFF, 0x83, 0xC0, 0x0E, + 0x0E, 0x00, 0x3C, 0x78, 0x00, 0xF1, 0xE0, 0x01, 0xC7, 0x00, 0x07, 0xBC, + 0x00, 0x1E, 0xF0, 0x00, 0x3B, 0x80, 0x00, 0xF0, 0xFF, 0xFC, 0x1F, 0xFF, + 0xE3, 0xFF, 0xFE, 0x70, 0x03, 0xCE, 0x00, 0x3D, 0xC0, 0x03, 0xB8, 0x00, + 0x77, 0x00, 0x0E, 0xE0, 0x01, 0xDC, 0x00, 0x73, 0x80, 0x1E, 0x7F, 0xFF, + 0x8F, 0xFF, 0xF1, 0xFF, 0xFF, 0x38, 0x00, 0xF7, 0x00, 0x0E, 0xE0, 0x00, + 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x03, + 0xF8, 0x00, 0xF7, 0xFF, 0xFC, 0xFF, 0xFF, 0x1F, 0xFF, 0x80, 0x00, 0xFF, + 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFE, 0x07, 0xE0, 0x7C, 0x3E, 0x00, 0x78, + 0xF0, 0x00, 0xE7, 0x80, 0x03, 0xDC, 0x00, 0x07, 0x70, 0x00, 0x03, 0x80, + 0x00, 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, + 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x1D, 0xC0, 0x00, 0x77, + 0x00, 0x03, 0xDE, 0x00, 0x0E, 0x3C, 0x00, 0x78, 0xF8, 0x03, 0xC1, 0xF8, + 0x1F, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x03, 0xF8, 0x00, 0xFF, 0xF8, + 0x0F, 0xFF, 0xE0, 0xFF, 0xFF, 0x0E, 0x00, 0xF8, 0xE0, 0x03, 0xCE, 0x00, + 0x1C, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xFE, 0x00, 0x07, 0xE0, + 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, + 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x0F, 0xE0, 0x00, 0xEE, 0x00, 0x0E, + 0xE0, 0x01, 0xEE, 0x00, 0x3C, 0xE0, 0x0F, 0x8F, 0xFF, 0xF0, 0xFF, 0xFE, + 0x0F, 0xFF, 0x80, 0xFF, 0xFF, 0xBF, 0xFF, 0xEF, 0xFF, 0xFB, 0x80, 0x00, + 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, + 0x00, 0x0E, 0x00, 0x03, 0xFF, 0xFE, 0xFF, 0xFF, 0xBF, 0xFF, 0xEE, 0x00, + 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, + 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0E, 0x00, + 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, + 0x00, 0x1F, 0xFF, 0xCF, 0xFF, 0xE7, 0xFF, 0xF3, 0x80, 0x01, 0xC0, 0x00, + 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, + 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x7F, + 0x80, 0x03, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x0F, 0x80, 0xFC, 0x1E, 0x00, + 0x3E, 0x3C, 0x00, 0x0E, 0x78, 0x00, 0x0F, 0x70, 0x00, 0x07, 0x70, 0x00, + 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x03, + 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x00, 0x07, 0xF0, 0x00, + 0x07, 0x70, 0x00, 0x07, 0x70, 0x00, 0x0F, 0x78, 0x00, 0x0F, 0x3C, 0x00, + 0x1F, 0x1E, 0x00, 0x3F, 0x0F, 0xC0, 0xF7, 0x07, 0xFF, 0xE7, 0x03, 0xFF, + 0xC3, 0x00, 0xFF, 0x03, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, + 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, + 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, + 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, + 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, + 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, + 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1F, 0x80, 0x7E, + 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0xC0, 0xF7, 0x87, 0x9F, 0xFE, 0x3F, 0xF0, + 0x3F, 0x00, 0xE0, 0x01, 0xEE, 0x00, 0x3C, 0xE0, 0x07, 0x8E, 0x00, 0xF0, + 0xE0, 0x1E, 0x0E, 0x03, 0xE0, 0xE0, 0x7C, 0x0E, 0x0F, 0x80, 0xE1, 0xF0, + 0x0E, 0x1E, 0x00, 0xE3, 0xC0, 0x0E, 0x7C, 0x00, 0xEF, 0xE0, 0x0F, 0xCE, + 0x00, 0xF8, 0xF0, 0x0F, 0x07, 0x80, 0xE0, 0x3C, 0x0E, 0x03, 0xC0, 0xE0, + 0x1E, 0x0E, 0x00, 0xF0, 0xE0, 0x0F, 0x0E, 0x00, 0x78, 0xE0, 0x03, 0xCE, + 0x00, 0x3C, 0xE0, 0x01, 0xEE, 0x00, 0x0F, 0xE0, 0x01, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, + 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, + 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, + 0x38, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0x00, 0x1F, 0xF8, + 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xFC, 0x00, 0x3F, 0xFC, + 0x00, 0x3F, 0xEE, 0x00, 0x77, 0xEE, 0x00, 0x77, 0xEE, 0x00, 0x77, 0xE7, + 0x00, 0xE7, 0xE7, 0x00, 0xE7, 0xE7, 0x00, 0xE7, 0xE3, 0x81, 0xC7, 0xE3, + 0x81, 0xC7, 0xE3, 0x81, 0xC7, 0xE1, 0xC3, 0x87, 0xE1, 0xC3, 0x87, 0xE1, + 0xC3, 0x87, 0xE0, 0xE7, 0x07, 0xE0, 0xE7, 0x07, 0xE0, 0xE7, 0x07, 0xE0, + 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x3C, 0x07, 0xE0, + 0x3C, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xC0, 0x07, + 0xFC, 0x00, 0x7F, 0xE0, 0x07, 0xEF, 0x00, 0x7E, 0x70, 0x07, 0xE7, 0x80, + 0x7E, 0x3C, 0x07, 0xE1, 0xC0, 0x7E, 0x1E, 0x07, 0xE0, 0xE0, 0x7E, 0x0F, + 0x07, 0xE0, 0x78, 0x7E, 0x03, 0x87, 0xE0, 0x3C, 0x7E, 0x01, 0xE7, 0xE0, + 0x0E, 0x7E, 0x00, 0xF7, 0xE0, 0x07, 0xFE, 0x00, 0x3F, 0xE0, 0x03, 0xFE, + 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x0F, 0x00, 0x7F, 0x00, 0x01, 0xFF, + 0xF0, 0x01, 0xFF, 0xFC, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x03, 0xC1, 0xE0, + 0x00, 0xF1, 0xE0, 0x00, 0x3C, 0xE0, 0x00, 0x0E, 0x70, 0x00, 0x07, 0x70, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, + 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, + 0xB8, 0x00, 0x03, 0x9C, 0x00, 0x01, 0xCF, 0x00, 0x01, 0xE3, 0xC0, 0x01, + 0xE0, 0xF0, 0x01, 0xE0, 0x3E, 0x03, 0xE0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, + 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, + 0x80, 0x3E, 0xE0, 0x03, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, + 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x1E, 0xFF, 0xFF, 0x3F, 0xFF, + 0x8F, 0xFF, 0xC3, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, + 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xFF, + 0xFC, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x03, 0xC1, 0xE0, 0x00, 0xF1, 0xE0, + 0x00, 0x3C, 0xE0, 0x00, 0x0E, 0x70, 0x00, 0x07, 0x70, 0x00, 0x01, 0xF8, + 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, + 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xB8, 0x00, 0x03, + 0x9C, 0x00, 0x01, 0xCF, 0x00, 0x39, 0xE3, 0xC0, 0x1F, 0xE0, 0xF0, 0x07, + 0xE0, 0x3E, 0x03, 0xF0, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xEE, 0x00, 0x3F, + 0x83, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x20, 0xFF, 0xFE, 0x0F, 0xFF, + 0xF8, 0xFF, 0xFF, 0xCE, 0x00, 0x3C, 0xE0, 0x01, 0xEE, 0x00, 0x0E, 0xE0, + 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x01, 0xCE, + 0x00, 0x3C, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0xFF, 0xFF, 0x8E, 0x00, 0x3C, + 0xE0, 0x01, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, + 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xFE, 0x00, + 0x0F, 0x03, 0xFC, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xE0, 0x7C, 0x38, + 0x01, 0xE7, 0x00, 0x0E, 0x70, 0x00, 0xE7, 0x00, 0x00, 0x70, 0x00, 0x07, + 0x80, 0x00, 0x3E, 0x00, 0x01, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x3F, 0xF8, + 0x00, 0x3F, 0xE0, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xE0, 0x00, + 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x77, 0x80, 0x0E, 0x7C, 0x03, 0xE3, 0xFF, + 0xFC, 0x1F, 0xFF, 0x80, 0x3F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x80, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, + 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, + 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, + 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, + 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0xE0, 0x00, 0xFC, 0x00, + 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, + 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, + 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, + 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x1E, 0xF0, 0x07, + 0x9F, 0x01, 0xF1, 0xFF, 0xFC, 0x1F, 0xFE, 0x00, 0x7F, 0x00, 0xE0, 0x00, + 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x1C, 0xE0, 0x01, 0xE7, 0x80, 0x0F, 0x3C, + 0x00, 0x70, 0xE0, 0x07, 0x87, 0x80, 0x3C, 0x1C, 0x01, 0xC0, 0xE0, 0x0E, + 0x07, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x83, 0x80, 0x1C, + 0x1C, 0x00, 0xE0, 0xE0, 0x07, 0x8E, 0x00, 0x1C, 0x70, 0x00, 0xE3, 0x80, + 0x07, 0xB8, 0x00, 0x1D, 0xC0, 0x00, 0xEE, 0x00, 0x07, 0xE0, 0x00, 0x1F, + 0x00, 0x00, 0xF8, 0x00, 0x03, 0x80, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x70, + 0x03, 0xC0, 0x0F, 0x78, 0x03, 0xE0, 0x0F, 0x78, 0x03, 0xE0, 0x0E, 0x38, + 0x07, 0xE0, 0x0E, 0x38, 0x07, 0xF0, 0x1E, 0x3C, 0x07, 0x70, 0x1E, 0x3C, + 0x07, 0x70, 0x1C, 0x1C, 0x0E, 0x70, 0x1C, 0x1C, 0x0E, 0x38, 0x3C, 0x1C, + 0x0E, 0x38, 0x3C, 0x1E, 0x1E, 0x38, 0x38, 0x0E, 0x1C, 0x38, 0x38, 0x0E, + 0x1C, 0x1C, 0x38, 0x0E, 0x1C, 0x1C, 0x78, 0x0F, 0x3C, 0x1C, 0x70, 0x07, + 0x38, 0x0E, 0x70, 0x07, 0x38, 0x0E, 0x70, 0x07, 0x38, 0x0E, 0x70, 0x07, + 0x70, 0x0E, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03, + 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xC0, 0x01, 0xE0, 0x03, 0xC0, 0x01, + 0xE0, 0x03, 0xC0, 0xF0, 0x00, 0x7B, 0xC0, 0x07, 0x8F, 0x00, 0x38, 0x78, + 0x03, 0xC1, 0xE0, 0x3C, 0x07, 0x81, 0xC0, 0x3C, 0x1E, 0x00, 0xF1, 0xE0, + 0x03, 0x8E, 0x00, 0x1E, 0xF0, 0x00, 0x7F, 0x00, 0x01, 0xF0, 0x00, 0x0F, + 0x80, 0x00, 0x7C, 0x00, 0x07, 0xF0, 0x00, 0x3B, 0x80, 0x03, 0xDE, 0x00, + 0x3C, 0x78, 0x01, 0xC1, 0xC0, 0x1E, 0x0F, 0x01, 0xE0, 0x3C, 0x0E, 0x00, + 0xE0, 0xF0, 0x07, 0x8F, 0x00, 0x1E, 0x70, 0x00, 0xF7, 0x80, 0x03, 0xC0, + 0xF0, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0x81, + 0xE0, 0x0F, 0x01, 0xC0, 0x1C, 0x03, 0xC0, 0x78, 0x03, 0xC1, 0xE0, 0x07, + 0x83, 0x80, 0x07, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0F, 0x78, 0x00, 0x0E, + 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, + 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x70, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x00, + 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, + 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x7C, 0x00, + 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0xE3, 0x8E, 0x38, 0xE3, + 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, + 0x8E, 0x38, 0xE3, 0x8F, 0xFF, 0xFC, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x60, + 0x0C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x01, 0x80, 0x20, 0x0C, 0x03, 0x00, + 0x40, 0x18, 0x06, 0x01, 0x80, 0x30, 0x0C, 0x03, 0x00, 0x60, 0x18, 0x06, + 0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, + 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, + 0x1C, 0x7F, 0xFF, 0xFC, 0x07, 0x00, 0x78, 0x03, 0xC0, 0x3F, 0x01, 0xD8, + 0x0C, 0xE0, 0xE3, 0x06, 0x1C, 0x70, 0xE3, 0x83, 0x18, 0x1D, 0xC0, 0x6C, + 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xF0, 0xF0, 0xE0, 0xE0, + 0xE0, 0x07, 0xF0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0x03, 0xC7, 0x00, 0xE0, + 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0xFE, 0x0F, 0xFF, 0x1F, 0xF3, + 0x9F, 0x01, 0xCF, 0x00, 0xE7, 0x00, 0x73, 0x80, 0x79, 0xE0, 0xFC, 0x7F, + 0xEF, 0x9F, 0xE3, 0xC7, 0xE1, 0xE0, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, + 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE3, 0xE0, 0xEF, 0xF8, + 0xFF, 0xFC, 0xFC, 0x3E, 0xF8, 0x1E, 0xF0, 0x0E, 0xE0, 0x0F, 0xE0, 0x07, + 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0E, + 0xF8, 0x1E, 0xFC, 0x3C, 0xEF, 0xFC, 0xEF, 0xF8, 0xE3, 0xE0, 0x07, 0xF0, + 0x1F, 0xF8, 0x3F, 0xFC, 0x3C, 0x1E, 0x78, 0x0E, 0x70, 0x07, 0xE0, 0x00, + 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x07, + 0x70, 0x07, 0x78, 0x0E, 0x7C, 0x1E, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, + 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, + 0x1C, 0x00, 0x0E, 0x0F, 0xC7, 0x1F, 0xFB, 0x9F, 0xFF, 0xDF, 0x07, 0xEF, + 0x01, 0xF7, 0x00, 0x7F, 0x80, 0x3F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, + 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x77, 0x00, 0x7B, 0xC0, 0x7D, 0xF0, + 0x7E, 0x7F, 0xFB, 0x1F, 0xF9, 0x83, 0xF0, 0xC0, 0x07, 0xE0, 0x1F, 0xF8, + 0x3F, 0xFC, 0x7C, 0x1E, 0x70, 0x0E, 0x60, 0x06, 0xE0, 0x07, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x70, 0x07, + 0x78, 0x0E, 0x3C, 0x1E, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, 0x0E, 0x3C, + 0xF9, 0xC3, 0x87, 0x0E, 0x7F, 0xFF, 0xFC, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, + 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0x07, 0xC7, 0x1F, + 0xF7, 0x3F, 0xFF, 0x3C, 0x3F, 0x78, 0x0F, 0x70, 0x0F, 0xE0, 0x07, 0xE0, + 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0x70, + 0x0F, 0x78, 0x0F, 0x7C, 0x3F, 0x3F, 0xF7, 0x1F, 0xE7, 0x07, 0xC7, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x0E, 0x70, 0x0E, 0x78, 0x1E, 0x3F, 0xFC, 0x1F, + 0xF8, 0x07, 0xE0, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, + 0x1C, 0x00, 0x38, 0x00, 0x71, 0xF8, 0xE7, 0xFD, 0xDF, 0xFB, 0xF0, 0xFF, + 0xC0, 0xFF, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, + 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, + 0xE0, 0x0F, 0xC0, 0x1C, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFC, 0x1C, 0x71, 0xC7, 0x00, 0x00, 0x07, 0x1C, 0x71, 0xC7, 0x1C, + 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, + 0x73, 0xFF, 0xFB, 0xC0, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, + 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x3C, 0xE0, 0x78, 0xE0, 0xF0, + 0xE1, 0xE0, 0xE3, 0xC0, 0xE7, 0x80, 0xEF, 0x00, 0xEF, 0x80, 0xFF, 0x80, + 0xFB, 0xC0, 0xF1, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xE0, 0x70, 0xE0, 0x78, + 0xE0, 0x3C, 0xE0, 0x1C, 0xE0, 0x1E, 0xE0, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE3, 0xE0, 0xF8, 0xE7, 0xF1, 0xFE, + 0xEF, 0xFB, 0xFE, 0xF8, 0x7F, 0x0F, 0xF0, 0x3E, 0x07, 0xF0, 0x1C, 0x07, + 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, + 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, + 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, + 0xE0, 0x1C, 0x07, 0xE3, 0xF1, 0xCF, 0xFB, 0xBF, 0xF7, 0xE1, 0xFF, 0x81, + 0xFE, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, + 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, + 0x1F, 0x80, 0x38, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0x83, 0xC7, + 0x80, 0xF3, 0x80, 0x3B, 0x80, 0x1F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, + 0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3B, 0x80, 0x39, 0xE0, 0x3C, 0x78, + 0x3C, 0x3F, 0xFE, 0x0F, 0xFE, 0x01, 0xFC, 0x00, 0xE3, 0xE0, 0xE7, 0xF8, + 0xEF, 0xFC, 0xFC, 0x3E, 0xF8, 0x1E, 0xF0, 0x0E, 0xE0, 0x0F, 0xE0, 0x07, + 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0E, + 0xF8, 0x1E, 0xFC, 0x3E, 0xFF, 0xFC, 0xEF, 0xF8, 0xE3, 0xE0, 0xE0, 0x00, + 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x07, 0xE1, + 0x8F, 0xFC, 0xCF, 0xFF, 0x67, 0x83, 0xF7, 0x80, 0xFB, 0x80, 0x3F, 0xC0, + 0x1F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x7E, + 0x00, 0x3B, 0x80, 0x3D, 0xE0, 0x3E, 0xF8, 0x3F, 0x3F, 0xFF, 0x8F, 0xFD, + 0xC1, 0xF8, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, + 0x07, 0x00, 0x03, 0x80, 0xE3, 0xF7, 0xFB, 0xFF, 0x8F, 0x07, 0x83, 0x81, + 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, + 0x38, 0x00, 0x0F, 0xC0, 0xFF, 0x87, 0xFF, 0x3C, 0x1E, 0xE0, 0x3B, 0x80, + 0x0E, 0x00, 0x3C, 0x00, 0x7F, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0x7F, 0x00, + 0x3F, 0x80, 0x7E, 0x01, 0xFC, 0x1F, 0x7F, 0xF8, 0xFF, 0xC1, 0xFC, 0x00, + 0x38, 0x70, 0xE1, 0xCF, 0xFF, 0xFF, 0x9C, 0x38, 0x70, 0xE1, 0xC3, 0x87, + 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0xE7, 0xC7, 0x80, 0xE0, 0x0F, 0xC0, + 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, + 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x03, 0xFC, + 0x0F, 0xFC, 0x3F, 0x7F, 0xEE, 0xFF, 0x9C, 0x7E, 0x38, 0x70, 0x03, 0xB8, + 0x03, 0x9C, 0x01, 0xC7, 0x00, 0xE3, 0x80, 0xE1, 0xC0, 0x70, 0x70, 0x38, + 0x38, 0x38, 0x1C, 0x1C, 0x07, 0x0E, 0x03, 0x8E, 0x01, 0xC7, 0x00, 0x77, + 0x00, 0x3B, 0x80, 0x1D, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, + 0x70, 0x00, 0xF0, 0x1C, 0x03, 0xB8, 0x1F, 0x03, 0xDC, 0x0F, 0x81, 0xCE, + 0x07, 0xC0, 0xE7, 0x83, 0xE0, 0x71, 0xC3, 0xB8, 0x70, 0xE1, 0xDC, 0x38, + 0x70, 0xEE, 0x1C, 0x1C, 0x63, 0x0E, 0x0E, 0x71, 0xCE, 0x07, 0x38, 0xE7, + 0x03, 0x9C, 0x73, 0x80, 0xEC, 0x19, 0x80, 0x7E, 0x0F, 0xC0, 0x3F, 0x07, + 0xE0, 0x0F, 0x83, 0xF0, 0x07, 0x80, 0xF0, 0x03, 0xC0, 0x78, 0x01, 0xE0, + 0x3C, 0x00, 0x70, 0x07, 0x38, 0x0E, 0x3C, 0x1C, 0x1C, 0x1C, 0x0E, 0x38, + 0x0F, 0x70, 0x07, 0x70, 0x03, 0xE0, 0x03, 0xC0, 0x01, 0xC0, 0x03, 0xE0, + 0x07, 0xE0, 0x07, 0x70, 0x0E, 0x78, 0x1E, 0x38, 0x1C, 0x1C, 0x38, 0x1E, + 0x78, 0x0E, 0x70, 0x07, 0x70, 0x07, 0x38, 0x03, 0x9C, 0x01, 0xC7, 0x01, + 0xC3, 0x80, 0xE1, 0xC0, 0x70, 0x70, 0x70, 0x38, 0x38, 0x1C, 0x3C, 0x07, + 0x1C, 0x03, 0x8E, 0x01, 0xCE, 0x00, 0x77, 0x00, 0x3B, 0x80, 0x1F, 0x80, + 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x38, + 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, + 0x00, 0x00, 0x7F, 0xFC, 0xFF, 0xF9, 0xFF, 0xF0, 0x00, 0xE0, 0x03, 0x80, + 0x0E, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x1C, 0x00, 0x70, + 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF8, 0x07, 0x0F, 0x1F, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0xF8, 0xE0, 0xF8, 0x38, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x0F, 0x07, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0xF0, 0xF8, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1C, 0x1F, + 0x07, 0x1F, 0x1C, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0xF8, 0xF0, 0xE0, 0x38, 0x00, 0xFC, 0x03, 0xFC, 0x1F, 0x3E, + 0x3C, 0x1F, 0xE0, 0x1F, 0x80, 0x1E, 0x00 }; + +const GFXglyph FreeSans18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' + { 0, 3, 26, 12, 4, -25 }, // 0x21 '!' + { 10, 9, 9, 12, 1, -24 }, // 0x22 '"' + { 21, 19, 24, 19, 0, -23 }, // 0x23 '#' + { 78, 16, 30, 19, 2, -26 }, // 0x24 '$' + { 138, 29, 25, 31, 1, -24 }, // 0x25 '%' + { 229, 20, 25, 23, 2, -24 }, // 0x26 '&' + { 292, 3, 9, 7, 2, -24 }, // 0x27 ''' + { 296, 8, 33, 12, 3, -25 }, // 0x28 '(' + { 329, 8, 33, 12, 1, -25 }, // 0x29 ')' + { 362, 10, 10, 14, 2, -25 }, // 0x2A '*' + { 375, 16, 16, 20, 2, -15 }, // 0x2B '+' + { 407, 3, 9, 10, 3, -3 }, // 0x2C ',' + { 411, 8, 3, 12, 2, -10 }, // 0x2D '-' + { 414, 3, 4, 9, 3, -3 }, // 0x2E '.' + { 416, 10, 26, 10, 0, -25 }, // 0x2F '/' + { 449, 16, 25, 19, 2, -24 }, // 0x30 '0' + { 499, 8, 25, 19, 4, -24 }, // 0x31 '1' + { 524, 16, 25, 19, 2, -24 }, // 0x32 '2' + { 574, 17, 25, 19, 1, -24 }, // 0x33 '3' + { 628, 16, 25, 19, 1, -24 }, // 0x34 '4' + { 678, 17, 25, 19, 1, -24 }, // 0x35 '5' + { 732, 16, 25, 19, 2, -24 }, // 0x36 '6' + { 782, 16, 25, 19, 2, -24 }, // 0x37 '7' + { 832, 17, 25, 19, 1, -24 }, // 0x38 '8' + { 886, 16, 25, 19, 1, -24 }, // 0x39 '9' + { 936, 3, 19, 9, 3, -18 }, // 0x3A ':' + { 944, 3, 24, 9, 3, -18 }, // 0x3B ';' + { 953, 17, 17, 20, 2, -16 }, // 0x3C '<' + { 990, 17, 9, 20, 2, -12 }, // 0x3D '=' + { 1010, 17, 17, 20, 2, -16 }, // 0x3E '>' + { 1047, 15, 26, 19, 3, -25 }, // 0x3F '?' + { 1096, 32, 31, 36, 1, -25 }, // 0x40 '@' + { 1220, 22, 26, 23, 1, -25 }, // 0x41 'A' + { 1292, 19, 26, 23, 3, -25 }, // 0x42 'B' + { 1354, 22, 26, 25, 1, -25 }, // 0x43 'C' + { 1426, 20, 26, 24, 3, -25 }, // 0x44 'D' + { 1491, 18, 26, 22, 3, -25 }, // 0x45 'E' + { 1550, 17, 26, 21, 3, -25 }, // 0x46 'F' + { 1606, 24, 26, 27, 1, -25 }, // 0x47 'G' + { 1684, 19, 26, 25, 3, -25 }, // 0x48 'H' + { 1746, 3, 26, 10, 4, -25 }, // 0x49 'I' + { 1756, 14, 26, 18, 1, -25 }, // 0x4A 'J' + { 1802, 20, 26, 24, 3, -25 }, // 0x4B 'K' + { 1867, 15, 26, 20, 3, -25 }, // 0x4C 'L' + { 1916, 24, 26, 30, 3, -25 }, // 0x4D 'M' + { 1994, 20, 26, 26, 3, -25 }, // 0x4E 'N' + { 2059, 25, 26, 27, 1, -25 }, // 0x4F 'O' + { 2141, 18, 26, 23, 3, -25 }, // 0x50 'P' + { 2200, 25, 28, 27, 1, -25 }, // 0x51 'Q' + { 2288, 20, 26, 25, 3, -25 }, // 0x52 'R' + { 2353, 20, 26, 23, 1, -25 }, // 0x53 'S' + { 2418, 19, 26, 22, 1, -25 }, // 0x54 'T' + { 2480, 19, 26, 25, 3, -25 }, // 0x55 'U' + { 2542, 21, 26, 23, 1, -25 }, // 0x56 'V' + { 2611, 32, 26, 33, 0, -25 }, // 0x57 'W' + { 2715, 21, 26, 23, 1, -25 }, // 0x58 'X' + { 2784, 23, 26, 24, 0, -25 }, // 0x59 'Y' + { 2859, 19, 26, 22, 1, -25 }, // 0x5A 'Z' + { 2921, 6, 33, 10, 2, -25 }, // 0x5B '[' + { 2946, 10, 26, 10, 0, -25 }, // 0x5C '\' + { 2979, 6, 33, 10, 1, -25 }, // 0x5D ']' + { 3004, 13, 13, 16, 2, -24 }, // 0x5E '^' + { 3026, 21, 2, 19, -1, 5 }, // 0x5F '_' + { 3032, 7, 5, 9, 1, -25 }, // 0x60 '`' + { 3037, 17, 19, 19, 1, -18 }, // 0x61 'a' + { 3078, 16, 26, 20, 2, -25 }, // 0x62 'b' + { 3130, 16, 19, 18, 1, -18 }, // 0x63 'c' + { 3168, 17, 26, 20, 1, -25 }, // 0x64 'd' + { 3224, 16, 19, 19, 1, -18 }, // 0x65 'e' + { 3262, 7, 26, 10, 1, -25 }, // 0x66 'f' + { 3285, 16, 27, 19, 1, -18 }, // 0x67 'g' + { 3339, 15, 26, 19, 2, -25 }, // 0x68 'h' + { 3388, 3, 26, 8, 2, -25 }, // 0x69 'i' + { 3398, 6, 34, 9, 0, -25 }, // 0x6A 'j' + { 3424, 16, 26, 18, 2, -25 }, // 0x6B 'k' + { 3476, 3, 26, 7, 2, -25 }, // 0x6C 'l' + { 3486, 24, 19, 28, 2, -18 }, // 0x6D 'm' + { 3543, 15, 19, 19, 2, -18 }, // 0x6E 'n' + { 3579, 17, 19, 19, 1, -18 }, // 0x6F 'o' + { 3620, 16, 25, 20, 2, -18 }, // 0x70 'p' + { 3670, 17, 25, 20, 1, -18 }, // 0x71 'q' + { 3724, 9, 19, 12, 2, -18 }, // 0x72 'r' + { 3746, 14, 19, 17, 2, -18 }, // 0x73 's' + { 3780, 7, 23, 10, 1, -22 }, // 0x74 't' + { 3801, 15, 19, 19, 2, -18 }, // 0x75 'u' + { 3837, 17, 19, 17, 0, -18 }, // 0x76 'v' + { 3878, 25, 19, 25, 0, -18 }, // 0x77 'w' + { 3938, 16, 19, 17, 0, -18 }, // 0x78 'x' + { 3976, 17, 27, 17, 0, -18 }, // 0x79 'y' + { 4034, 15, 19, 17, 1, -18 }, // 0x7A 'z' + { 4070, 8, 33, 12, 1, -25 }, // 0x7B '{' + { 4103, 2, 33, 9, 3, -25 }, // 0x7C '|' + { 4112, 8, 33, 12, 3, -25 }, // 0x7D '}' + { 4145, 15, 7, 18, 1, -15 } }; // 0x7E '~' + +const GFXfont FreeSans18pt7b PROGMEM = { + (uint8_t *)FreeSans18pt7bBitmaps, + (GFXglyph *)FreeSans18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 4831 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h new file mode 100644 index 0000000..ff2d174 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h @@ -0,0 +1,727 @@ +const uint8_t FreeSans24pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x76, 0x66, + 0x66, 0x00, 0x0F, 0xFF, 0xFF, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1F, + 0xE3, 0xFC, 0x7F, 0x8F, 0xF1, 0xEC, 0x19, 0x83, 0x30, 0x60, 0x00, 0x70, + 0x3C, 0x00, 0x70, 0x3C, 0x00, 0xF0, 0x38, 0x00, 0xF0, 0x38, 0x00, 0xF0, + 0x78, 0x00, 0xE0, 0x78, 0x00, 0xE0, 0x78, 0x01, 0xE0, 0x70, 0x01, 0xE0, + 0x70, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x03, 0xC0, + 0xE0, 0x03, 0xC0, 0xE0, 0x03, 0xC0, 0xE0, 0x03, 0x81, 0xE0, 0x03, 0x81, + 0xE0, 0x03, 0x81, 0xE0, 0x07, 0x81, 0xC0, 0x07, 0x81, 0xC0, 0xFF, 0xFF, + 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0x0F, 0x03, 0x80, 0x0F, 0x03, + 0x80, 0x0F, 0x07, 0x80, 0x0E, 0x07, 0x80, 0x0E, 0x07, 0x80, 0x1E, 0x07, + 0x00, 0x1E, 0x07, 0x00, 0x1E, 0x07, 0x00, 0x1C, 0x0F, 0x00, 0x1C, 0x0F, + 0x00, 0x00, 0x38, 0x00, 0x01, 0xFC, 0x00, 0x1F, 0xFE, 0x00, 0x7F, 0xFE, + 0x01, 0xFF, 0xFE, 0x07, 0xE7, 0x3E, 0x0F, 0x8E, 0x3C, 0x3E, 0x1C, 0x3C, + 0x78, 0x38, 0x38, 0xF0, 0x70, 0x71, 0xE0, 0xE0, 0xE3, 0xC1, 0xC0, 0x07, + 0x83, 0x80, 0x0F, 0x87, 0x00, 0x0F, 0x8E, 0x00, 0x1F, 0xDC, 0x00, 0x1F, + 0xF8, 0x00, 0x1F, 0xFF, 0x00, 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0x80, 0x03, + 0xFF, 0x80, 0x07, 0x1F, 0x80, 0x0E, 0x1F, 0x00, 0x1C, 0x1F, 0x00, 0x38, + 0x1F, 0xC0, 0x70, 0x3F, 0x80, 0xE0, 0x7F, 0x81, 0xC0, 0xFF, 0x03, 0x81, + 0xEF, 0x07, 0x07, 0x9F, 0x0E, 0x0F, 0x3E, 0x1C, 0x3E, 0x3F, 0x39, 0xF8, + 0x3F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0x80, 0x00, + 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x00, 0x0F, 0xC0, 0x00, 0x78, 0x00, 0x3F, 0xE0, 0x00, + 0xE0, 0x01, 0xFF, 0xE0, 0x03, 0x80, 0x03, 0xFF, 0xE0, 0x07, 0x00, 0x0F, + 0x87, 0xC0, 0x1C, 0x00, 0x3C, 0x03, 0xC0, 0x38, 0x00, 0x70, 0x03, 0x80, + 0xE0, 0x00, 0xE0, 0x07, 0x03, 0xC0, 0x01, 0xC0, 0x0E, 0x07, 0x00, 0x03, + 0x80, 0x1C, 0x1E, 0x00, 0x07, 0x80, 0x78, 0x38, 0x00, 0x07, 0xC3, 0xE0, + 0xF0, 0x00, 0x07, 0xFF, 0xC1, 0xC0, 0x00, 0x0F, 0xFF, 0x07, 0x80, 0x00, + 0x0F, 0xFC, 0x0E, 0x00, 0x00, 0x07, 0xE0, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x3F, 0x00, 0x00, 0x03, 0x80, 0xFF, + 0x80, 0x00, 0x0E, 0x07, 0xFF, 0x80, 0x00, 0x3C, 0x0F, 0xFF, 0x80, 0x00, + 0x70, 0x3E, 0x1F, 0x00, 0x01, 0xE0, 0xF0, 0x0F, 0x00, 0x03, 0x81, 0xC0, + 0x0E, 0x00, 0x0F, 0x03, 0x80, 0x1C, 0x00, 0x1C, 0x07, 0x00, 0x38, 0x00, + 0x78, 0x0E, 0x00, 0x70, 0x00, 0xE0, 0x1E, 0x01, 0xE0, 0x03, 0x80, 0x1F, + 0x0F, 0x80, 0x07, 0x00, 0x1F, 0xFF, 0x00, 0x1C, 0x00, 0x3F, 0xFC, 0x00, + 0x38, 0x00, 0x1F, 0xF0, 0x00, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, + 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xFC, 0x00, 0x07, + 0xC3, 0xC0, 0x00, 0xF8, 0x1E, 0x00, 0x0F, 0x00, 0xE0, 0x00, 0xF0, 0x0E, + 0x00, 0x0F, 0x00, 0xE0, 0x00, 0xF0, 0x0E, 0x00, 0x07, 0x81, 0xE0, 0x00, + 0x7C, 0x3C, 0x00, 0x03, 0xEF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0xE0, 0x00, + 0x1F, 0x1E, 0x07, 0x83, 0xE0, 0xF0, 0x78, 0x7C, 0x0F, 0x8F, 0x87, 0x80, + 0x7C, 0xF0, 0xF0, 0x03, 0xFF, 0x0F, 0x00, 0x1F, 0xE0, 0xF0, 0x00, 0xFE, + 0x0F, 0x00, 0x0F, 0xC0, 0xF0, 0x00, 0x7E, 0x0F, 0x80, 0x0F, 0xF0, 0x7C, + 0x01, 0xFF, 0x07, 0xF0, 0x7D, 0xF8, 0x3F, 0xFF, 0x8F, 0xC1, 0xFF, 0xF0, + 0x7E, 0x0F, 0xFE, 0x03, 0xE0, 0x3F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF6, 0x66, 0x01, 0xC0, 0x70, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0x78, + 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x70, 0x3C, + 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, + 0xC0, 0x70, 0x1E, 0x07, 0x81, 0xE0, 0x38, 0x0F, 0x03, 0xC0, 0x70, 0x1E, + 0x03, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x18, 0x07, 0xE0, 0x38, 0x07, + 0x01, 0xC0, 0x38, 0x0F, 0x01, 0xC0, 0x78, 0x0E, 0x03, 0x80, 0xF0, 0x1C, + 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, + 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x07, 0x81, 0xE0, 0x78, + 0x1E, 0x07, 0x03, 0xC0, 0xF0, 0x38, 0x1E, 0x07, 0x01, 0xC0, 0xE0, 0x38, + 0x1C, 0x06, 0x03, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x63, + 0x1B, 0xFF, 0xFF, 0xFF, 0xC3, 0xF0, 0x07, 0x80, 0x3F, 0x01, 0xCE, 0x07, + 0x3C, 0x38, 0x70, 0x21, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, + 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, + 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xF3, + 0x33, 0x36, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, + 0x00, 0x38, 0x01, 0xC0, 0x0C, 0x00, 0xE0, 0x07, 0x00, 0x30, 0x03, 0x80, + 0x1C, 0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0E, + 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, 0x80, 0x0C, 0x00, 0xE0, 0x07, 0x00, + 0x30, 0x03, 0x80, 0x1C, 0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, + 0x01, 0xC0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x38, 0x00, 0x00, 0xFC, 0x00, + 0x0F, 0xFC, 0x00, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x1F, 0x87, 0xE0, 0xF8, + 0x07, 0xC3, 0xC0, 0x0F, 0x1F, 0x00, 0x3E, 0x78, 0x00, 0x79, 0xE0, 0x01, + 0xE7, 0x80, 0x07, 0xBC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, + 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, + 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, + 0xDE, 0x00, 0x1E, 0x78, 0x00, 0x79, 0xE0, 0x01, 0xE7, 0xC0, 0x0F, 0x8F, + 0x00, 0x3C, 0x3E, 0x01, 0xF0, 0x7C, 0x1F, 0x81, 0xFF, 0xFE, 0x03, 0xFF, + 0xF0, 0x03, 0xFF, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x60, 0x1C, 0x03, 0x80, + 0xF0, 0x3E, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x3C, 0x07, 0x80, 0xF0, + 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, + 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, + 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x01, 0xFF, + 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, 0x03, 0xF9, 0xF0, 0x03, 0xE7, 0x80, 0x07, + 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xC0, + 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, + 0x7C, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x80, 0x07, 0xF8, 0x00, 0x3F, 0xC0, + 0x03, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, + 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, + 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0xFE, 0x00, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x83, + 0xF0, 0x1F, 0x87, 0xC0, 0x1F, 0x1F, 0x00, 0x1F, 0x3C, 0x00, 0x1E, 0x78, + 0x00, 0x3C, 0xF0, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, + 0x07, 0x80, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0x7F, + 0xE0, 0x00, 0xFF, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x03, + 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x1F, + 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xE7, 0xC0, 0x07, 0xC7, + 0xE0, 0x3F, 0x0F, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x03, + 0xFC, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x3F, + 0xE0, 0x00, 0x7B, 0xC0, 0x01, 0xE7, 0x80, 0x07, 0x8F, 0x00, 0x0F, 0x1E, + 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0x78, 0x03, 0xC0, 0xF0, 0x07, 0x81, 0xE0, + 0x1E, 0x03, 0xC0, 0x78, 0x07, 0x81, 0xE0, 0x0F, 0x03, 0xC0, 0x1E, 0x0F, + 0x00, 0x3C, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, + 0xC0, 0x1F, 0xFF, 0xF0, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, + 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x1F, 0x3F, 0x80, 0x7B, 0xFF, + 0x81, 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x1F, 0x80, 0xFC, 0x78, 0x01, 0xF8, + 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0xFF, 0x80, 0x07, 0x9E, 0x00, 0x1E, 0x7C, 0x00, 0xF1, 0xFC, 0x0F, 0xC3, + 0xFF, 0xFE, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0x00, + 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x7F, 0xFC, 0x03, 0xFF, 0xF8, 0x1F, 0x83, + 0xF0, 0xF8, 0x07, 0xC3, 0xC0, 0x0F, 0x8F, 0x00, 0x1E, 0x78, 0x00, 0x79, + 0xE0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0xFE, 0x03, 0xCF, + 0xFE, 0x0F, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0xFF, 0x03, 0xF3, 0xF0, 0x03, + 0xEF, 0x80, 0x07, 0xBE, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, + 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x70, 0x00, 0x3D, 0xC0, 0x00, 0xF7, 0x80, + 0x07, 0x9F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0xFC, 0x0F, 0xC1, 0xFF, 0xFE, + 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x07, 0x00, 0x00, + 0x78, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, + 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, + 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, + 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, + 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, + 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x3F, + 0x03, 0xF1, 0xF0, 0x03, 0xC7, 0xC0, 0x0F, 0x9E, 0x00, 0x1E, 0x78, 0x00, + 0x79, 0xE0, 0x01, 0xE7, 0x80, 0x0F, 0x8F, 0x00, 0x3C, 0x3F, 0x03, 0xF0, + 0x7F, 0xFF, 0x80, 0x7F, 0xF8, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0xFC, + 0x0F, 0xC7, 0xC0, 0x0F, 0x9E, 0x00, 0x1E, 0xF8, 0x00, 0x7F, 0xC0, 0x00, + 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, + 0x80, 0x07, 0xDE, 0x00, 0x1E, 0x7C, 0x00, 0xF8, 0xFC, 0x0F, 0xC3, 0xFF, + 0xFF, 0x07, 0xFF, 0xF8, 0x07, 0xFF, 0x80, 0x07, 0xF8, 0x00, 0x01, 0xFC, + 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xF0, 0x7E, 0x3E, + 0x00, 0xF1, 0xE0, 0x07, 0xCF, 0x00, 0x1E, 0xF0, 0x00, 0x77, 0x80, 0x03, + 0xBC, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xE0, + 0x03, 0xEF, 0x00, 0x1F, 0x7C, 0x01, 0xF9, 0xF8, 0x3F, 0xCF, 0xFF, 0xFE, + 0x3F, 0xFE, 0xF0, 0xFF, 0xE7, 0x80, 0xFC, 0x3C, 0x00, 0x01, 0xE0, 0x00, + 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x9E, 0x00, 0x3C, 0xF0, 0x03, 0xC7, + 0xC0, 0x3E, 0x1F, 0x03, 0xE0, 0xFF, 0xFE, 0x03, 0xFF, 0xE0, 0x0F, 0xFE, + 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x33, 0x36, 0xEC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xC0, + 0x03, 0xFC, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, + 0x80, 0x03, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xF0, + 0x00, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, + 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x01, + 0xC0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0x80, 0x00, 0x01, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x07, + 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x3F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF8, 0x00, + 0x01, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0xC0, 0x03, 0xFC, 0x00, 0x1F, + 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0x00, + 0x0F, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0xF8, + 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7E, 0x0F, 0xE7, 0x80, + 0x3E, 0x78, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, + 0x00, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, + 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xC0, + 0x00, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, + 0x07, 0xFC, 0x03, 0xFF, 0x00, 0x01, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7E, + 0x00, 0x00, 0x7F, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xF0, 0x07, 0xC0, 0x00, + 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xF0, 0x3C, 0x00, 0x7E, 0x00, + 0x3E, 0x0F, 0x00, 0x3F, 0xE3, 0xC3, 0xE3, 0xE0, 0x1F, 0xFE, 0x78, 0x3C, + 0x78, 0x07, 0xE1, 0xFF, 0x07, 0xDF, 0x01, 0xF0, 0x1F, 0xC0, 0xFB, 0xC0, + 0x7C, 0x01, 0xF8, 0x0F, 0x78, 0x0F, 0x00, 0x3F, 0x01, 0xEF, 0x03, 0xC0, + 0x07, 0xC0, 0x3F, 0xC0, 0x78, 0x00, 0xF8, 0x07, 0xF8, 0x0F, 0x00, 0x1F, + 0x00, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x1F, 0xE0, 0x78, 0x00, 0x78, 0x07, + 0xFC, 0x0F, 0x00, 0x1F, 0x00, 0xF7, 0x81, 0xE0, 0x03, 0xC0, 0x1E, 0xF0, + 0x3C, 0x00, 0x78, 0x07, 0x9E, 0x07, 0x80, 0x1F, 0x01, 0xF3, 0xE0, 0xF8, + 0x07, 0xC0, 0x3C, 0x3C, 0x0F, 0x81, 0xF8, 0x0F, 0x87, 0x81, 0xF8, 0x7F, + 0x87, 0xE0, 0xF8, 0x1F, 0xFE, 0xFF, 0xF8, 0x0F, 0x01, 0xFF, 0x1F, 0xFC, + 0x01, 0xF0, 0x0F, 0x80, 0xFE, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x03, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, + 0x7C, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0xF8, + 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, + 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xF7, 0xC0, 0x00, 0x03, + 0xDF, 0x00, 0x00, 0x1F, 0x3C, 0x00, 0x00, 0x78, 0xF8, 0x00, 0x01, 0xE3, + 0xE0, 0x00, 0x0F, 0x87, 0x80, 0x00, 0x3C, 0x1F, 0x00, 0x01, 0xF0, 0x7C, + 0x00, 0x07, 0x80, 0xF0, 0x00, 0x1E, 0x03, 0xE0, 0x00, 0xF8, 0x0F, 0x80, + 0x03, 0xC0, 0x1E, 0x00, 0x0F, 0x00, 0x7C, 0x00, 0x7C, 0x01, 0xF0, 0x01, + 0xE0, 0x03, 0xC0, 0x07, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFE, 0x00, 0xFF, + 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0x1F, 0x00, 0x07, 0xC0, 0x78, 0x00, + 0x0F, 0x83, 0xE0, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0xF8, 0x3C, 0x00, 0x01, + 0xF1, 0xF0, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x1F, 0x1E, 0x00, 0x00, 0x3E, + 0xF8, 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x01, 0xE0, 0xFF, 0xFF, 0x80, 0x7F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0x0F, 0x00, 0x0F, 0xC7, + 0x80, 0x01, 0xE3, 0xC0, 0x00, 0xF9, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1E, + 0x78, 0x00, 0x0F, 0x3C, 0x00, 0x07, 0x9E, 0x00, 0x07, 0x8F, 0x00, 0x03, + 0xC7, 0x80, 0x07, 0xC3, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, + 0xF8, 0x7F, 0xFF, 0xFE, 0x3C, 0x00, 0x0F, 0x9E, 0x00, 0x03, 0xEF, 0x00, + 0x00, 0xF7, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, + 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x01, 0xFF, + 0x00, 0x01, 0xF7, 0x80, 0x01, 0xFB, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, + 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, + 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0xFE, 0x01, + 0xF8, 0x07, 0xC0, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x3C, + 0x3C, 0x00, 0x01, 0xE3, 0xE0, 0x00, 0x07, 0x9E, 0x00, 0x00, 0x3C, 0xF0, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x03, 0xC0, 0x00, + 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x78, 0x00, + 0x00, 0x7B, 0xC0, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x3C, 0x78, 0x00, 0x01, + 0xE3, 0xE0, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x81, + 0xFE, 0x03, 0xF8, 0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, + 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFE, + 0x03, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE, 0x0F, 0x00, 0x0F, 0xE1, 0xE0, + 0x00, 0x7E, 0x3C, 0x00, 0x07, 0xE7, 0x80, 0x00, 0x7C, 0xF0, 0x00, 0x07, + 0xDE, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x0F, 0x78, 0x00, 0x01, 0xEF, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, + 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x07, 0xF8, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xF7, + 0x80, 0x00, 0x1E, 0xF0, 0x00, 0x03, 0xDE, 0x00, 0x00, 0xFB, 0xC0, 0x00, + 0x3E, 0x78, 0x00, 0x0F, 0xCF, 0x00, 0x03, 0xF1, 0xE0, 0x01, 0xFC, 0x3F, + 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, + 0x00, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, + 0xFE, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF, + 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, + 0x3F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x3C, + 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, + 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0xFE, + 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0x80, 0x7F, + 0x01, 0xF8, 0x00, 0x3F, 0x07, 0xE0, 0x00, 0x1F, 0x0F, 0x80, 0x00, 0x1E, + 0x3E, 0x00, 0x00, 0x3E, 0x78, 0x00, 0x00, 0x3D, 0xF0, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, + 0x00, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0x00, + 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x07, 0xBC, 0x00, + 0x00, 0x0F, 0x78, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x7D, 0xF0, 0x00, + 0x00, 0xF9, 0xF0, 0x00, 0x03, 0xF3, 0xF0, 0x00, 0x07, 0xE3, 0xF0, 0x00, + 0x1F, 0xC3, 0xF0, 0x00, 0xFF, 0x83, 0xFC, 0x07, 0xEF, 0x03, 0xFF, 0xFF, + 0x9E, 0x03, 0xFF, 0xFE, 0x1C, 0x01, 0xFF, 0xF0, 0x38, 0x00, 0x7F, 0x80, + 0x00, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, + 0xFC, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xE0, + 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, + 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, + 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, + 0x03, 0xC0, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xC0, + 0x07, 0xF8, 0x01, 0xFF, 0x80, 0x3E, 0xF0, 0x0F, 0x9F, 0x83, 0xF1, 0xFF, + 0xFC, 0x3F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0xF0, 0x00, 0x07, + 0xDE, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0x7C, 0x78, 0x00, 0x1F, 0x0F, 0x00, + 0x07, 0xC1, 0xE0, 0x01, 0xF0, 0x3C, 0x00, 0x7C, 0x07, 0x80, 0x1F, 0x00, + 0xF0, 0x07, 0xC0, 0x1E, 0x01, 0xF0, 0x03, 0xC0, 0x7C, 0x00, 0x78, 0x1F, + 0x00, 0x0F, 0x07, 0xC0, 0x01, 0xE1, 0xF0, 0x00, 0x3C, 0x7E, 0x00, 0x07, + 0x9F, 0xE0, 0x00, 0xF7, 0xFE, 0x00, 0x1F, 0xF7, 0xC0, 0x03, 0xFC, 0x7C, + 0x00, 0x7F, 0x07, 0xC0, 0x0F, 0xC0, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x3C, + 0x00, 0xF8, 0x07, 0x80, 0x1F, 0x80, 0xF0, 0x01, 0xF0, 0x1E, 0x00, 0x1F, + 0x03, 0xC0, 0x03, 0xF0, 0x78, 0x00, 0x3E, 0x0F, 0x00, 0x03, 0xE1, 0xE0, + 0x00, 0x3E, 0x3C, 0x00, 0x07, 0xC7, 0x80, 0x00, 0x7C, 0xF0, 0x00, 0x07, + 0xDE, 0x00, 0x00, 0xFC, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, + 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, + 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, + 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, + 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFC, 0x00, + 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, + 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0xFF, 0xF7, 0x00, 0x00, 0xEF, 0xF7, 0x80, 0x01, 0xEF, 0xF7, 0x80, + 0x01, 0xEF, 0xF3, 0xC0, 0x01, 0xCF, 0xF3, 0xC0, 0x03, 0xCF, 0xF3, 0xC0, + 0x03, 0xCF, 0xF1, 0xE0, 0x03, 0x8F, 0xF1, 0xE0, 0x07, 0x8F, 0xF1, 0xE0, + 0x07, 0x8F, 0xF0, 0xF0, 0x0F, 0x0F, 0xF0, 0xF0, 0x0F, 0x0F, 0xF0, 0xF0, + 0x0F, 0x0F, 0xF0, 0x78, 0x1E, 0x0F, 0xF0, 0x78, 0x1E, 0x0F, 0xF0, 0x78, + 0x1E, 0x0F, 0xF0, 0x3C, 0x3C, 0x0F, 0xF0, 0x3C, 0x3C, 0x0F, 0xF0, 0x3C, + 0x3C, 0x0F, 0xF0, 0x1E, 0x78, 0x0F, 0xF0, 0x1E, 0x78, 0x0F, 0xF0, 0x0E, + 0x78, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x07, + 0xF0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x03, + 0xE0, 0x0F, 0xF8, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3F, + 0xF8, 0x00, 0x0F, 0xFE, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0xF8, 0x00, + 0x3F, 0xDE, 0x00, 0x0F, 0xF7, 0xC0, 0x03, 0xFC, 0xF8, 0x00, 0xFF, 0x1E, + 0x00, 0x3F, 0xC7, 0xC0, 0x0F, 0xF0, 0xF0, 0x03, 0xFC, 0x3E, 0x00, 0xFF, + 0x07, 0xC0, 0x3F, 0xC0, 0xF0, 0x0F, 0xF0, 0x3E, 0x03, 0xFC, 0x07, 0xC0, + 0xFF, 0x00, 0xF0, 0x3F, 0xC0, 0x3E, 0x0F, 0xF0, 0x07, 0x83, 0xFC, 0x01, + 0xF0, 0xFF, 0x00, 0x3E, 0x3F, 0xC0, 0x07, 0x8F, 0xF0, 0x01, 0xF3, 0xFC, + 0x00, 0x3E, 0xFF, 0x00, 0x07, 0xBF, 0xC0, 0x01, 0xFF, 0xF0, 0x00, 0x3F, + 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, + 0x0F, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, + 0x80, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0x80, + 0xFF, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x03, 0xF0, 0x3E, 0x00, + 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x0F, 0x1F, 0x00, + 0x00, 0x07, 0xCF, 0x00, 0x00, 0x01, 0xE7, 0x80, 0x00, 0x00, 0xF7, 0xC0, + 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x0F, + 0x3E, 0x00, 0x00, 0x0F, 0x8F, 0x00, 0x00, 0x07, 0x87, 0xC0, 0x00, 0x07, + 0xC1, 0xF0, 0x00, 0x07, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0x3F, 0x00, 0x07, + 0xE0, 0x0F, 0xF0, 0x1F, 0xE0, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, + 0xE0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0xFF, + 0x80, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xF0, 0x00, + 0xFE, 0xF0, 0x00, 0x3E, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, + 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, + 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x3E, 0xF0, 0x00, 0xFE, 0xFF, 0xFF, + 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, + 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0x80, 0xFF, + 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x03, 0xF0, 0x3E, 0x00, 0x00, + 0xF8, 0x3E, 0x00, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x0F, 0x1F, 0x00, 0x00, + 0x07, 0xCF, 0x00, 0x00, 0x01, 0xE7, 0x80, 0x00, 0x00, 0xF7, 0xC0, 0x00, + 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x00, + 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x0F, 0x3E, + 0x00, 0x00, 0x0F, 0x8F, 0x00, 0x03, 0x87, 0x87, 0xC0, 0x03, 0xE7, 0xC1, + 0xF0, 0x00, 0xFF, 0xC0, 0xFC, 0x00, 0x3F, 0xE0, 0x3F, 0x00, 0x0F, 0xE0, + 0x0F, 0xF0, 0x1F, 0xF0, 0x03, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, + 0x00, 0x1F, 0xFF, 0xC7, 0xC0, 0x01, 0xFF, 0x01, 0xE0, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFE, 0x0F, + 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0xF0, 0x00, 0x3F, 0x3C, 0x00, 0x07, + 0xCF, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x1E, 0xF0, 0x00, 0x07, 0xBC, 0x00, + 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x1E, 0xF0, 0x00, 0x07, 0xBC, + 0x00, 0x03, 0xCF, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0xF8, 0xFF, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0xF0, 0x00, + 0x3F, 0x3C, 0x00, 0x03, 0xCF, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x1E, 0xF0, + 0x00, 0x07, 0xBC, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x1E, + 0xF0, 0x00, 0x07, 0xBC, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, + 0x1E, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x7F, 0xC0, 0x00, + 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x81, 0xF8, 0x07, + 0xF0, 0x7C, 0x00, 0x1F, 0x0F, 0x00, 0x01, 0xE3, 0xE0, 0x00, 0x3E, 0x78, + 0x00, 0x03, 0xCF, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x07, 0xC0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFF, + 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0x00, 0x01, 0xFF, 0xF8, + 0x00, 0x03, 0xFF, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xF7, 0x80, 0x00, 0x3E, 0xF8, 0x00, + 0x07, 0x9F, 0x80, 0x01, 0xF1, 0xFE, 0x01, 0xFC, 0x1F, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, + 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, + 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, + 0x00, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x7D, 0xE0, 0x00, 0x1E, 0x7C, 0x00, 0x0F, 0x9F, + 0x80, 0x07, 0xE3, 0xF8, 0x07, 0xF0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, + 0x00, 0xFF, 0xFC, 0x00, 0x0F, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0xF7, 0xC0, + 0x00, 0x0F, 0x9E, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x03, 0xC7, 0xC0, 0x00, + 0x3E, 0x1E, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0xF8, + 0x1E, 0x00, 0x07, 0xC0, 0xF8, 0x00, 0x3C, 0x07, 0xC0, 0x03, 0xE0, 0x1E, + 0x00, 0x1F, 0x00, 0xF8, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x80, 0x1E, 0x00, + 0x7C, 0x00, 0xF8, 0x03, 0xC0, 0x03, 0xC0, 0x1E, 0x00, 0x1F, 0x01, 0xF0, + 0x00, 0xF8, 0x0F, 0x00, 0x03, 0xC0, 0x78, 0x00, 0x1F, 0x07, 0x80, 0x00, + 0xF8, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1F, 0x1E, 0x00, 0x00, 0x78, + 0xF0, 0x00, 0x03, 0xC7, 0x80, 0x00, 0x1F, 0x78, 0x00, 0x00, 0x7B, 0xC0, + 0x00, 0x03, 0xDE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, + 0x00, 0x3F, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xC0, 0x01, 0xFF, 0x80, 0x03, + 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFC, 0x00, 0x1E, 0x7C, 0x00, 0x7F, 0x80, + 0x0F, 0x9F, 0x00, 0x1F, 0xE0, 0x03, 0xE7, 0xC0, 0x07, 0xF8, 0x00, 0xF8, + 0xF0, 0x01, 0xFF, 0x00, 0x3C, 0x3E, 0x00, 0xF3, 0xC0, 0x1F, 0x0F, 0x80, + 0x3C, 0xF0, 0x07, 0xC3, 0xE0, 0x0F, 0x3C, 0x01, 0xF0, 0x78, 0x07, 0xC7, + 0x80, 0x78, 0x1F, 0x01, 0xE1, 0xE0, 0x1E, 0x07, 0xC0, 0x78, 0x78, 0x0F, + 0x80, 0xF0, 0x1E, 0x1E, 0x03, 0xE0, 0x3C, 0x0F, 0x83, 0xC0, 0xF0, 0x0F, + 0x83, 0xC0, 0xF0, 0x3C, 0x03, 0xE0, 0xF0, 0x3C, 0x1F, 0x00, 0x78, 0x3C, + 0x0F, 0x87, 0xC0, 0x1E, 0x1E, 0x01, 0xE1, 0xE0, 0x07, 0x87, 0x80, 0x78, + 0x78, 0x01, 0xF1, 0xE0, 0x1E, 0x1E, 0x00, 0x3C, 0xF8, 0x03, 0xCF, 0x80, + 0x0F, 0x3C, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x3C, 0xF0, 0x00, 0xFB, + 0xC0, 0x0F, 0xBC, 0x00, 0x1F, 0xF0, 0x01, 0xFF, 0x00, 0x07, 0xF8, 0x00, + 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x03, 0xF8, + 0x00, 0x0F, 0xC0, 0x00, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x00, + 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x01, 0xF3, 0xF0, 0x00, 0x1F, 0x8F, 0x80, 0x00, 0xF8, 0x3E, 0x00, 0x0F, + 0x80, 0xF8, 0x00, 0xF8, 0x07, 0xC0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x00, + 0x7C, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x3E, + 0x3E, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x1F, 0xF0, + 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, + 0xDF, 0x00, 0x00, 0x7C, 0x78, 0x00, 0x03, 0xE3, 0xE0, 0x00, 0x3E, 0x0F, + 0x80, 0x03, 0xE0, 0x3E, 0x00, 0x1F, 0x01, 0xF0, 0x01, 0xF0, 0x07, 0xC0, + 0x1F, 0x00, 0x3F, 0x00, 0xF8, 0x00, 0xF8, 0x0F, 0x80, 0x03, 0xE0, 0xF8, + 0x00, 0x1F, 0x8F, 0xC0, 0x00, 0x7C, 0x7C, 0x00, 0x01, 0xF7, 0xC0, 0x00, + 0x0F, 0xC0, 0xFC, 0x00, 0x00, 0xFD, 0xF0, 0x00, 0x03, 0xE7, 0xE0, 0x00, + 0x1F, 0x0F, 0x80, 0x00, 0x7C, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x1F, + 0x00, 0xF8, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, + 0x0F, 0x80, 0x7C, 0x00, 0x1E, 0x01, 0xE0, 0x00, 0x7C, 0x0F, 0x80, 0x00, + 0xF8, 0x7C, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x0F, + 0x3C, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, + 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3F, 0xFF, + 0xFF, 0xC7, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xE0, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x01, + 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x01, + 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, + 0xFF, 0xE0, 0x07, 0x00, 0x18, 0x00, 0xE0, 0x07, 0x00, 0x18, 0x00, 0xE0, + 0x07, 0x00, 0x18, 0x00, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xC0, 0x07, 0x00, + 0x38, 0x00, 0xC0, 0x06, 0x00, 0x38, 0x00, 0xC0, 0x06, 0x00, 0x38, 0x01, + 0xC0, 0x06, 0x00, 0x38, 0x01, 0xC0, 0x06, 0x00, 0x30, 0x01, 0xC0, 0x0E, + 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0xFF, 0xFF, + 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3F, + 0x00, 0x0F, 0xC0, 0x07, 0xF8, 0x01, 0xCE, 0x00, 0x73, 0x80, 0x3C, 0x70, + 0x0E, 0x1C, 0x07, 0x87, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x38, 0x07, 0x0E, + 0x01, 0xC7, 0x80, 0x79, 0xC0, 0x0E, 0x70, 0x03, 0xB8, 0x00, 0x70, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0x01, 0xE0, 0x3C, 0x07, + 0x00, 0xE0, 0x1C, 0x01, 0xFF, 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xE0, + 0x3F, 0xFF, 0xF0, 0x7E, 0x03, 0xF8, 0x7C, 0x00, 0xF8, 0x78, 0x00, 0x78, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, + 0x00, 0x03, 0xF8, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, 0xF8, 0x3F, 0xFE, 0x78, + 0x7F, 0x80, 0x78, 0xFC, 0x00, 0x78, 0xF8, 0x00, 0x78, 0xF0, 0x00, 0x78, + 0xF0, 0x00, 0xF8, 0xF0, 0x00, 0xF8, 0xF8, 0x03, 0xF8, 0x7E, 0x0F, 0xF8, + 0x7F, 0xFF, 0x7F, 0x3F, 0xFE, 0x3F, 0x1F, 0xFC, 0x3F, 0x07, 0xE0, 0x1F, + 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, + 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x7E, + 0x03, 0xC7, 0xFE, 0x0F, 0x7F, 0xFC, 0x3D, 0xFF, 0xF8, 0xFF, 0x07, 0xF3, + 0xF8, 0x07, 0xCF, 0xC0, 0x0F, 0xBE, 0x00, 0x1E, 0xF8, 0x00, 0x7B, 0xE0, + 0x01, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, + 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x01, 0xFF, + 0x80, 0x07, 0xBE, 0x00, 0x1E, 0xFC, 0x00, 0xFB, 0xF8, 0x07, 0xCF, 0xF0, + 0x7F, 0x3B, 0xFF, 0xF8, 0xE7, 0xFF, 0xC3, 0x8F, 0xFE, 0x00, 0x0F, 0xE0, + 0x00, 0x00, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x3F, 0xFF, 0xC3, + 0xF0, 0x3F, 0x1F, 0x00, 0xF9, 0xF0, 0x03, 0xCF, 0x00, 0x0F, 0x78, 0x00, + 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, + 0x1E, 0x00, 0x1E, 0xF0, 0x00, 0xF7, 0xC0, 0x0F, 0x9F, 0x00, 0xF8, 0xFC, + 0x0F, 0xC3, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x3F, 0xFC, 0x00, 0x7F, 0x00, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, + 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x01, + 0xFC, 0x1E, 0x0F, 0xFE, 0x3C, 0x3F, 0xFF, 0x78, 0xFF, 0xFF, 0xF3, 0xF8, + 0x3F, 0xE7, 0xC0, 0x1F, 0xDF, 0x00, 0x1F, 0xBE, 0x00, 0x1F, 0x78, 0x00, + 0x3F, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, + 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, + 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xF7, 0xC0, 0x07, 0xE7, + 0xC0, 0x1F, 0xCF, 0xE0, 0xFF, 0x8F, 0xFF, 0xF7, 0x0F, 0xFF, 0xCE, 0x0F, + 0xFF, 0x1C, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0xFF, + 0xFC, 0x07, 0xFF, 0xF8, 0x1F, 0x83, 0xF0, 0xF8, 0x07, 0xC7, 0xC0, 0x0F, + 0x9E, 0x00, 0x1E, 0x78, 0x00, 0x7B, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, + 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, + 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x1E, + 0x7C, 0x00, 0x78, 0xF8, 0x03, 0xE3, 0xF0, 0x3F, 0x07, 0xFF, 0xF8, 0x0F, + 0xFF, 0xE0, 0x1F, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x03, 0xC3, 0xF0, 0xFC, + 0x7F, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x3F, 0xFF, 0xFF, 0xFF, 0x1E, + 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, + 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, + 0x1E, 0x07, 0x80, 0x00, 0xFC, 0x00, 0x1F, 0xF8, 0xF0, 0xFF, 0xFB, 0xC7, + 0xFF, 0xFF, 0x3F, 0x83, 0xFC, 0xF8, 0x07, 0xF7, 0xC0, 0x0F, 0xDE, 0x00, + 0x1F, 0x78, 0x00, 0x7F, 0xE0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, + 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, + 0x00, 0x3F, 0xC0, 0x00, 0xF7, 0x80, 0x07, 0xDE, 0x00, 0x1F, 0x7C, 0x00, + 0xFC, 0xF8, 0x07, 0xF3, 0xF8, 0x3F, 0xC7, 0xFF, 0xEF, 0x0F, 0xFF, 0x3C, + 0x1F, 0xF8, 0xF0, 0x1F, 0x83, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x79, 0xE0, + 0x01, 0xE7, 0xC0, 0x0F, 0x8F, 0x80, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, + 0x80, 0xFF, 0xFC, 0x00, 0x7F, 0x80, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, + 0x00, 0xF0, 0xFE, 0x1E, 0x3F, 0xE3, 0xCF, 0xFF, 0x7B, 0xFF, 0xEF, 0xF0, + 0xFF, 0xF8, 0x07, 0xFF, 0x00, 0x7F, 0xC0, 0x0F, 0xF8, 0x01, 0xFE, 0x00, + 0x3F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, + 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xC0, 0x07, 0xF8, 0x00, + 0xFF, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, + 0xFE, 0x00, 0x3C, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, + 0xFF, 0xFE, 0xFE, 0xF8, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, + 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x80, 0x1F, 0x3C, 0x01, 0xF1, 0xE0, 0x1F, 0x0F, + 0x01, 0xF0, 0x78, 0x1F, 0x03, 0xC1, 0xF0, 0x1E, 0x1F, 0x00, 0xF1, 0xF0, + 0x07, 0x9F, 0x00, 0x3D, 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x7F, + 0x7C, 0x03, 0xF1, 0xF0, 0x1F, 0x07, 0xC0, 0xF0, 0x3E, 0x07, 0x80, 0xF8, + 0x3C, 0x03, 0xC1, 0xE0, 0x1F, 0x0F, 0x00, 0x7C, 0x78, 0x03, 0xE3, 0xC0, + 0x0F, 0x9E, 0x00, 0x3C, 0xF0, 0x01, 0xF7, 0x80, 0x07, 0xC0, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0x03, 0xF0, 0xE3, 0xFE, 0x0F, 0xFC, 0xE7, + 0xFF, 0x1F, 0xFE, 0xEF, 0xFF, 0xBF, 0xFE, 0xFE, 0x0F, 0xF8, 0x3F, 0xFC, + 0x07, 0xF0, 0x1F, 0xF8, 0x03, 0xE0, 0x0F, 0xF8, 0x03, 0xE0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, + 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0x00, + 0x7E, 0x0E, 0x1F, 0xF8, 0xE7, 0xFF, 0xCE, 0xFF, 0xFE, 0xEF, 0x07, 0xFF, + 0xE0, 0x1F, 0xFC, 0x01, 0xFF, 0x80, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x0F, + 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, + 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, + 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, + 0x00, 0xFF, 0x00, 0x0F, 0x00, 0xFE, 0x00, 0x07, 0xFF, 0x00, 0x3F, 0xFF, + 0x80, 0xFF, 0xFF, 0x83, 0xF8, 0x3F, 0x87, 0xC0, 0x1F, 0x1F, 0x00, 0x1F, + 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x3D, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, + 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, + 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xF3, 0xC0, + 0x01, 0xE7, 0xC0, 0x07, 0xC7, 0xC0, 0x1F, 0x0F, 0xE0, 0xFE, 0x0F, 0xFF, + 0xF8, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x00, 0xFE, + 0x03, 0x8F, 0xFE, 0x0E, 0x7F, 0xFC, 0x3B, 0xFF, 0xF8, 0xFF, 0x87, 0xF3, + 0xF8, 0x07, 0xCF, 0xC0, 0x0F, 0xBE, 0x00, 0x1E, 0xF8, 0x00, 0x7B, 0xE0, + 0x01, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, + 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x01, 0xFF, + 0x80, 0x07, 0xBE, 0x00, 0x1E, 0xFC, 0x00, 0xFB, 0xF8, 0x07, 0xCF, 0xF0, + 0x7F, 0x3F, 0xFF, 0xF8, 0xF7, 0xFF, 0xC3, 0xC7, 0xFE, 0x0F, 0x07, 0xE0, + 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0x00, 0x07, 0xFF, 0x1C, 0x3F, 0xFF, 0x38, 0xFF, 0xFF, 0x73, 0xF8, + 0x3F, 0xE7, 0xC0, 0x1F, 0xDF, 0x00, 0x1F, 0xBE, 0x00, 0x1F, 0x78, 0x00, + 0x3F, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, + 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, + 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xF7, 0xC0, 0x07, 0xE7, + 0xC0, 0x1F, 0xCF, 0xE0, 0xFF, 0x8F, 0xFF, 0xEF, 0x0F, 0xFF, 0xDE, 0x0F, + 0xFE, 0x3C, 0x07, 0xF0, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x78, 0x00, 0xFE, 0x1F, 0xE7, 0xFE, 0xFF, 0xFF, 0x8F, + 0xC0, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x01, 0xFC, 0x00, 0xFF, 0xF0, + 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x3E, 0x07, 0xE7, 0xC0, 0x3E, 0x78, 0x01, + 0xE7, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xFC, + 0x00, 0x1F, 0xFC, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x03, 0xFE, 0x00, + 0x03, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, + 0x80, 0x1F, 0x7E, 0x07, 0xE7, 0xFF, 0xFE, 0x3F, 0xFF, 0xC1, 0xFF, 0xF0, + 0x03, 0xFC, 0x00, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x8F, 0xFF, + 0xFF, 0xFF, 0xC7, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, + 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, + 0xE0, 0x78, 0x1F, 0xC7, 0xF0, 0xFC, 0x1F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, + 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, + 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, + 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, + 0x00, 0xFF, 0x00, 0x1F, 0xF0, 0x01, 0xFF, 0x00, 0x3F, 0xF8, 0x07, 0xFF, + 0xE0, 0xFF, 0x7F, 0xFF, 0x77, 0xFF, 0xE7, 0x1F, 0xFC, 0x70, 0x7E, 0x00, + 0x78, 0x00, 0x3E, 0xF0, 0x00, 0x79, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xE3, + 0xC0, 0x07, 0x87, 0xC0, 0x0F, 0x07, 0x80, 0x3C, 0x0F, 0x00, 0x78, 0x1F, + 0x01, 0xF0, 0x1E, 0x03, 0xC0, 0x3C, 0x07, 0x80, 0x7C, 0x1F, 0x00, 0x78, + 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xF1, 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, + 0x80, 0x03, 0xDE, 0x00, 0x07, 0xBC, 0x00, 0x0F, 0x70, 0x00, 0x0F, 0xE0, + 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, + 0xF8, 0x03, 0xE0, 0x07, 0x9E, 0x00, 0xFC, 0x01, 0xE7, 0x80, 0x3F, 0x00, + 0x79, 0xF0, 0x0F, 0xC0, 0x3E, 0x3C, 0x07, 0xF0, 0x0F, 0x0F, 0x01, 0xFE, + 0x03, 0xC3, 0xC0, 0x7F, 0x80, 0xF0, 0x78, 0x1D, 0xE0, 0x78, 0x1E, 0x0F, + 0x38, 0x1E, 0x07, 0x83, 0xCF, 0x07, 0x81, 0xE0, 0xF3, 0xC1, 0xE0, 0x3C, + 0x38, 0xF0, 0xF0, 0x0F, 0x1E, 0x1C, 0x3C, 0x03, 0xC7, 0x87, 0x8F, 0x00, + 0x71, 0xE1, 0xE3, 0x80, 0x1E, 0x70, 0x79, 0xE0, 0x07, 0xBC, 0x0E, 0x78, + 0x01, 0xEF, 0x03, 0xDE, 0x00, 0x3B, 0xC0, 0xF7, 0x00, 0x0F, 0xE0, 0x3F, + 0xC0, 0x03, 0xF8, 0x07, 0xF0, 0x00, 0x7E, 0x01, 0xF8, 0x00, 0x1F, 0x80, + 0x7E, 0x00, 0x07, 0xC0, 0x1F, 0x80, 0x01, 0xF0, 0x03, 0xC0, 0x00, 0x7C, + 0x00, 0x78, 0xF0, 0x03, 0xE1, 0xE0, 0x0F, 0x07, 0xC0, 0x78, 0x0F, 0x03, + 0xE0, 0x1E, 0x0F, 0x00, 0x7C, 0x78, 0x00, 0xF3, 0xE0, 0x01, 0xEF, 0x00, + 0x07, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x03, + 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xC0, 0x03, 0xCF, 0x00, 0x0F, 0x1E, + 0x00, 0x78, 0x7C, 0x03, 0xE0, 0xF0, 0x0F, 0x03, 0xE0, 0x78, 0x07, 0xC3, + 0xE0, 0x0F, 0x1F, 0x00, 0x3E, 0x78, 0x00, 0x7C, 0x78, 0x00, 0x3D, 0xE0, + 0x01, 0xF7, 0x80, 0x07, 0x8F, 0x00, 0x1E, 0x3C, 0x00, 0xF0, 0xF0, 0x03, + 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x78, 0x1E, 0x01, 0xE0, 0x3C, 0x07, 0x80, + 0xF0, 0x3C, 0x03, 0xC0, 0xF0, 0x07, 0x87, 0xC0, 0x1E, 0x1E, 0x00, 0x78, + 0x78, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x0F, 0x3C, 0x00, 0x1F, 0xE0, + 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, + 0x3E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, + 0x00, 0x01, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3E, 0x00, 0x0F, 0xF0, 0x00, + 0x3F, 0xC0, 0x00, 0xFE, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xF7, + 0xFF, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0xFF, 0x00, 0x01, 0xE0, 0x00, 0x3E, + 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, + 0x00, 0x07, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, + 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0x7C, + 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0x01, 0xE0, 0xFC, 0x1F, 0x87, 0x80, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, + 0xC0, 0x78, 0x1E, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0xC0, 0x3C, 0x03, 0x80, + 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, + 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0F, 0x00, 0xFC, 0x1F, 0x80, + 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x1F, 0x83, 0xF0, 0x0F, 0x00, + 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0xC0, 0x3E, 0x03, + 0xC0, 0x78, 0x1F, 0x07, 0x80, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, + 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, + 0x70, 0x1E, 0x1F, 0x83, 0xF0, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0xF0, 0x0D, + 0xFF, 0x01, 0xF0, 0xF8, 0x7C, 0x0F, 0xFD, 0x80, 0x7F, 0x80, 0x03, 0xE0 }; + +const GFXglyph FreeSans24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' + { 0, 4, 34, 16, 6, -33 }, // 0x21 '!' + { 17, 11, 12, 16, 2, -32 }, // 0x22 '"' + { 34, 24, 33, 26, 1, -31 }, // 0x23 '#' + { 133, 23, 41, 26, 1, -34 }, // 0x24 '$' + { 251, 39, 34, 42, 1, -32 }, // 0x25 '%' + { 417, 28, 34, 31, 2, -32 }, // 0x26 '&' + { 536, 4, 12, 9, 2, -32 }, // 0x27 ''' + { 542, 10, 44, 16, 3, -33 }, // 0x28 '(' + { 597, 10, 44, 16, 2, -33 }, // 0x29 ')' + { 652, 14, 14, 18, 2, -33 }, // 0x2A '*' + { 677, 23, 22, 27, 2, -21 }, // 0x2B '+' + { 741, 4, 12, 13, 4, -4 }, // 0x2C ',' + { 747, 11, 4, 16, 2, -14 }, // 0x2D '-' + { 753, 4, 5, 12, 4, -4 }, // 0x2E '.' + { 756, 13, 35, 13, 0, -33 }, // 0x2F '/' + { 813, 22, 34, 26, 2, -32 }, // 0x30 '0' + { 907, 11, 33, 26, 5, -32 }, // 0x31 '1' + { 953, 22, 33, 26, 2, -32 }, // 0x32 '2' + { 1044, 23, 34, 26, 1, -32 }, // 0x33 '3' + { 1142, 23, 33, 26, 1, -32 }, // 0x34 '4' + { 1237, 22, 34, 26, 2, -32 }, // 0x35 '5' + { 1331, 22, 34, 26, 2, -32 }, // 0x36 '6' + { 1425, 21, 33, 26, 2, -32 }, // 0x37 '7' + { 1512, 22, 34, 26, 2, -32 }, // 0x38 '8' + { 1606, 21, 34, 26, 2, -32 }, // 0x39 '9' + { 1696, 4, 25, 12, 4, -24 }, // 0x3A ':' + { 1709, 4, 32, 12, 4, -24 }, // 0x3B ';' + { 1725, 23, 23, 27, 2, -22 }, // 0x3C '<' + { 1792, 23, 12, 27, 2, -16 }, // 0x3D '=' + { 1827, 23, 23, 27, 2, -22 }, // 0x3E '>' + { 1894, 20, 35, 26, 4, -34 }, // 0x3F '?' + { 1982, 43, 42, 48, 2, -34 }, // 0x40 '@' + { 2208, 30, 34, 31, 1, -33 }, // 0x41 'A' + { 2336, 25, 34, 31, 4, -33 }, // 0x42 'B' + { 2443, 29, 36, 33, 2, -34 }, // 0x43 'C' + { 2574, 27, 34, 33, 4, -33 }, // 0x44 'D' + { 2689, 24, 34, 30, 4, -33 }, // 0x45 'E' + { 2791, 22, 34, 28, 4, -33 }, // 0x46 'F' + { 2885, 31, 36, 36, 2, -34 }, // 0x47 'G' + { 3025, 26, 34, 34, 4, -33 }, // 0x48 'H' + { 3136, 4, 34, 13, 5, -33 }, // 0x49 'I' + { 3153, 19, 35, 25, 2, -33 }, // 0x4A 'J' + { 3237, 27, 34, 32, 4, -33 }, // 0x4B 'K' + { 3352, 21, 34, 26, 4, -33 }, // 0x4C 'L' + { 3442, 32, 34, 40, 4, -33 }, // 0x4D 'M' + { 3578, 26, 34, 34, 4, -33 }, // 0x4E 'N' + { 3689, 33, 36, 37, 2, -34 }, // 0x4F 'O' + { 3838, 24, 34, 31, 4, -33 }, // 0x50 'P' + { 3940, 33, 38, 37, 2, -34 }, // 0x51 'Q' + { 4097, 26, 34, 33, 4, -33 }, // 0x52 'R' + { 4208, 27, 36, 31, 2, -34 }, // 0x53 'S' + { 4330, 26, 34, 30, 2, -33 }, // 0x54 'T' + { 4441, 26, 35, 34, 4, -33 }, // 0x55 'U' + { 4555, 29, 34, 30, 1, -33 }, // 0x56 'V' + { 4679, 42, 34, 44, 1, -33 }, // 0x57 'W' + { 4858, 29, 34, 31, 1, -33 }, // 0x58 'X' + { 4982, 30, 34, 32, 1, -33 }, // 0x59 'Y' + { 5110, 27, 34, 29, 1, -33 }, // 0x5A 'Z' + { 5225, 8, 44, 13, 3, -33 }, // 0x5B '[' + { 5269, 13, 35, 13, 0, -33 }, // 0x5C '\' + { 5326, 8, 44, 13, 1, -33 }, // 0x5D ']' + { 5370, 18, 18, 22, 2, -32 }, // 0x5E '^' + { 5411, 28, 2, 26, -1, 7 }, // 0x5F '_' + { 5418, 10, 7, 12, 1, -34 }, // 0x60 '`' + { 5427, 24, 27, 26, 1, -25 }, // 0x61 'a' + { 5508, 22, 35, 26, 3, -33 }, // 0x62 'b' + { 5605, 21, 27, 24, 1, -25 }, // 0x63 'c' + { 5676, 23, 35, 26, 1, -33 }, // 0x64 'd' + { 5777, 22, 27, 25, 1, -25 }, // 0x65 'e' + { 5852, 10, 34, 13, 1, -33 }, // 0x66 'f' + { 5895, 22, 36, 26, 1, -25 }, // 0x67 'g' + { 5994, 19, 34, 25, 3, -33 }, // 0x68 'h' + { 6075, 4, 34, 10, 3, -33 }, // 0x69 'i' + { 6092, 8, 44, 11, 0, -33 }, // 0x6A 'j' + { 6136, 21, 34, 24, 3, -33 }, // 0x6B 'k' + { 6226, 4, 34, 10, 3, -33 }, // 0x6C 'l' + { 6243, 32, 26, 38, 3, -25 }, // 0x6D 'm' + { 6347, 20, 26, 25, 3, -25 }, // 0x6E 'n' + { 6412, 23, 27, 25, 1, -25 }, // 0x6F 'o' + { 6490, 22, 35, 26, 3, -25 }, // 0x70 'p' + { 6587, 23, 35, 26, 1, -25 }, // 0x71 'q' + { 6688, 12, 26, 16, 3, -25 }, // 0x72 'r' + { 6727, 20, 27, 23, 1, -25 }, // 0x73 's' + { 6795, 10, 32, 13, 1, -30 }, // 0x74 't' + { 6835, 20, 26, 25, 3, -24 }, // 0x75 'u' + { 6900, 23, 25, 23, 0, -24 }, // 0x76 'v' + { 6972, 34, 25, 34, 0, -24 }, // 0x77 'w' + { 7079, 22, 25, 22, 0, -24 }, // 0x78 'x' + { 7148, 22, 35, 22, 0, -24 }, // 0x79 'y' + { 7245, 20, 25, 23, 1, -24 }, // 0x7A 'z' + { 7308, 11, 44, 16, 2, -33 }, // 0x7B '{' + { 7369, 3, 44, 12, 4, -33 }, // 0x7C '|' + { 7386, 11, 44, 16, 2, -33 }, // 0x7D '}' + { 7447, 19, 7, 24, 2, -19 } }; // 0x7E '~' + +const GFXfont FreeSans24pt7b PROGMEM = { + (uint8_t *)FreeSans24pt7bBitmaps, + (GFXglyph *)FreeSans24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 8136 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h new file mode 100644 index 0000000..1f006a1 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h @@ -0,0 +1,201 @@ +const uint8_t FreeSans9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xF8, 0xC0, 0xDE, 0xF7, 0x20, 0x09, 0x86, 0x41, 0x91, 0xFF, + 0x13, 0x04, 0xC3, 0x20, 0xC8, 0xFF, 0x89, 0x82, 0x61, 0x90, 0x10, 0x1F, + 0x14, 0xDA, 0x3D, 0x1E, 0x83, 0x40, 0x78, 0x17, 0x08, 0xF4, 0x7A, 0x35, + 0x33, 0xF0, 0x40, 0x20, 0x38, 0x10, 0xEC, 0x20, 0xC6, 0x20, 0xC6, 0x40, + 0xC6, 0x40, 0x6C, 0x80, 0x39, 0x00, 0x01, 0x3C, 0x02, 0x77, 0x02, 0x63, + 0x04, 0x63, 0x04, 0x77, 0x08, 0x3C, 0x0E, 0x06, 0x60, 0xCC, 0x19, 0x81, + 0xE0, 0x18, 0x0F, 0x03, 0x36, 0xC2, 0xD8, 0x73, 0x06, 0x31, 0xE3, 0xC4, + 0xFE, 0x13, 0x26, 0x6C, 0xCC, 0xCC, 0xC4, 0x66, 0x23, 0x10, 0x8C, 0x46, + 0x63, 0x33, 0x33, 0x32, 0x66, 0x4C, 0x80, 0x25, 0x7E, 0xA5, 0x00, 0x30, + 0xC3, 0x3F, 0x30, 0xC3, 0x0C, 0xD6, 0xF0, 0xC0, 0x08, 0x44, 0x21, 0x10, + 0x84, 0x42, 0x11, 0x08, 0x00, 0x3C, 0x66, 0x42, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0x42, 0x66, 0x3C, 0x11, 0x3F, 0x33, 0x33, 0x33, 0x33, + 0x30, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x1C, 0x1C, 0x1C, 0x18, 0x18, + 0x10, 0x08, 0x07, 0xF8, 0x3C, 0x66, 0xC3, 0xC3, 0x03, 0x06, 0x1C, 0x07, + 0x03, 0xC3, 0xC3, 0x66, 0x3C, 0x0C, 0x18, 0x71, 0x62, 0xC9, 0xA3, 0x46, + 0xFE, 0x18, 0x30, 0x60, 0xC0, 0x7F, 0x20, 0x10, 0x08, 0x08, 0x07, 0xF3, + 0x8C, 0x03, 0x01, 0x80, 0xF0, 0x6C, 0x63, 0xE0, 0x1E, 0x31, 0x98, 0x78, + 0x0C, 0x06, 0xF3, 0x8D, 0x83, 0xC1, 0xE0, 0xD0, 0x6C, 0x63, 0xE0, 0xFF, + 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, + 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1B, 0x18, 0xF8, 0xC6, 0xC1, 0xE0, 0xF0, + 0x6C, 0x63, 0xE0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x03, + 0x03, 0xC2, 0x66, 0x3C, 0xC0, 0x00, 0x30, 0xC0, 0x00, 0x00, 0x64, 0xA0, + 0x00, 0x81, 0xC7, 0x8E, 0x0C, 0x07, 0x80, 0x70, 0x0E, 0x01, 0x80, 0xFF, + 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x70, 0x0E, 0x01, 0xC0, 0x18, 0x38, 0x71, + 0xC0, 0x80, 0x00, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x18, 0x38, 0x18, + 0x18, 0x0C, 0x00, 0x00, 0x01, 0x80, 0x03, 0xF0, 0x06, 0x0E, 0x06, 0x01, + 0x86, 0x00, 0x66, 0x1D, 0xBB, 0x31, 0xCF, 0x18, 0xC7, 0x98, 0x63, 0xCC, + 0x31, 0xE6, 0x11, 0xB3, 0x99, 0xCC, 0xF7, 0x86, 0x00, 0x01, 0x80, 0x00, + 0x70, 0x40, 0x0F, 0xE0, 0x06, 0x00, 0xF0, 0x0F, 0x00, 0x90, 0x19, 0x81, + 0x98, 0x10, 0x83, 0x0C, 0x3F, 0xC2, 0x04, 0x60, 0x66, 0x06, 0xC0, 0x30, + 0xFF, 0x18, 0x33, 0x03, 0x60, 0x6C, 0x0D, 0x83, 0x3F, 0xC6, 0x06, 0xC0, + 0x78, 0x0F, 0x01, 0xE0, 0x6F, 0xF8, 0x1F, 0x86, 0x19, 0x81, 0xA0, 0x3C, + 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x68, 0x0D, 0x83, 0x18, 0x61, 0xF0, + 0xFF, 0x18, 0x33, 0x03, 0x60, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, + 0x78, 0x0F, 0x03, 0x60, 0xCF, 0xF0, 0xFF, 0xE0, 0x30, 0x18, 0x0C, 0x06, + 0x03, 0xFD, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0F, 0xF8, 0xFF, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC0, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x83, + 0x0E, 0x60, 0x66, 0x03, 0xC0, 0x0C, 0x00, 0xC1, 0xFC, 0x03, 0xC0, 0x36, + 0x03, 0x60, 0x73, 0x0F, 0x0F, 0x10, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, + 0x07, 0x80, 0xFF, 0xFE, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x06, + 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, + 0x8F, 0x1E, 0x27, 0x80, 0xC0, 0xD8, 0x33, 0x0C, 0x63, 0x0C, 0xC1, 0xB8, + 0x3F, 0x07, 0x30, 0xC3, 0x18, 0x63, 0x06, 0x60, 0x6C, 0x0C, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xE0, + 0x3F, 0x01, 0xFC, 0x1F, 0xE0, 0xFD, 0x05, 0xEC, 0x6F, 0x63, 0x79, 0x13, + 0xCD, 0x9E, 0x6C, 0xF1, 0x47, 0x8E, 0x3C, 0x71, 0x80, 0xE0, 0x7C, 0x0F, + 0xC1, 0xE8, 0x3D, 0x87, 0x98, 0xF1, 0x1E, 0x33, 0xC3, 0x78, 0x6F, 0x07, + 0xE0, 0x7C, 0x0E, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, 0x6C, 0x01, 0xE0, + 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x0C, 0x60, 0xC0, 0xF8, + 0x00, 0xFF, 0x30, 0x6C, 0x0F, 0x03, 0xC0, 0xF0, 0x6F, 0xF3, 0x00, 0xC0, + 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, + 0x6C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x6C, + 0x60, 0xC0, 0xFB, 0x00, 0x08, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, + 0x6C, 0x0C, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, 0x6C, 0x06, 0xC0, + 0x70, 0x3F, 0x18, 0x6C, 0x0F, 0x03, 0xC0, 0x1E, 0x01, 0xF0, 0x0E, 0x00, + 0xF0, 0x3C, 0x0D, 0x86, 0x3F, 0x00, 0xFF, 0x86, 0x03, 0x01, 0x80, 0xC0, + 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x78, 0x0F, + 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, + 0xB0, 0x61, 0xF0, 0xC0, 0x6C, 0x0D, 0x81, 0x10, 0x63, 0x0C, 0x61, 0x04, + 0x60, 0xCC, 0x19, 0x01, 0x60, 0x3C, 0x07, 0x00, 0x60, 0xC1, 0x81, 0x30, + 0xE1, 0x98, 0x70, 0xCC, 0x28, 0x66, 0x26, 0x21, 0x13, 0x30, 0xC8, 0x98, + 0x6C, 0x4C, 0x14, 0x34, 0x0A, 0x1A, 0x07, 0x07, 0x03, 0x03, 0x80, 0x81, + 0x80, 0x60, 0x63, 0x0C, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0xE0, 0x06, 0x00, + 0xF0, 0x19, 0x01, 0x98, 0x30, 0xC6, 0x0E, 0x60, 0x60, 0xC0, 0x36, 0x06, + 0x30, 0xC3, 0x0C, 0x19, 0x81, 0xD8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x00, 0xFF, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, + 0x01, 0xC0, 0x60, 0x30, 0x18, 0x06, 0x03, 0x00, 0xFF, 0xC0, 0xFB, 0x6D, + 0xB6, 0xDB, 0x6D, 0xB6, 0xE0, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, + 0x10, 0x80, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xDB, 0xE0, 0x30, 0x60, 0xA2, + 0x44, 0xD8, 0xA1, 0x80, 0xFF, 0xC0, 0xC6, 0x30, 0x7E, 0x71, 0xB0, 0xC0, + 0x60, 0xF3, 0xDB, 0x0D, 0x86, 0xC7, 0x3D, 0xC0, 0xC0, 0x60, 0x30, 0x1B, + 0xCE, 0x36, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x7C, 0x6D, 0xE0, 0x3C, + 0x66, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x03, 0x03, 0x03, + 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x3C, 0x66, + 0xC3, 0xC3, 0xFF, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x36, 0x6F, 0x66, 0x66, + 0x66, 0x66, 0x60, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, + 0x3B, 0x03, 0x03, 0xC6, 0x7C, 0xC0, 0xC0, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC0, 0x30, 0x03, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xE0, 0xC0, 0x60, 0x30, 0x18, 0x4C, + 0x46, 0x63, 0x61, 0xF0, 0xEC, 0x62, 0x31, 0x98, 0x6C, 0x30, 0xFF, 0xFF, + 0xFF, 0xC0, 0xDE, 0xF7, 0x1C, 0xF0, 0xC7, 0x86, 0x3C, 0x31, 0xE1, 0x8F, + 0x0C, 0x78, 0x63, 0xC3, 0x1E, 0x18, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0x66, 0x3C, 0xDE, 0x71, 0xB0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, + 0xE3, 0x6F, 0x30, 0x18, 0x0C, 0x00, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0x67, 0x3B, 0x03, 0x03, 0x03, 0xDF, 0x31, 0x8C, 0x63, 0x18, + 0xC6, 0x00, 0x3E, 0xE3, 0xC0, 0xC0, 0xE0, 0x3C, 0x07, 0xC3, 0xE3, 0x7E, + 0x66, 0xF6, 0x66, 0x66, 0x66, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC7, 0x7B, 0xC1, 0xA0, 0x98, 0xCC, 0x42, 0x21, 0xB0, 0xD0, + 0x28, 0x1C, 0x0C, 0x00, 0xC6, 0x1E, 0x38, 0x91, 0xC4, 0xCA, 0x66, 0xD3, + 0x16, 0xD0, 0xA6, 0x87, 0x1C, 0x38, 0xC0, 0xC6, 0x00, 0x43, 0x62, 0x36, + 0x1C, 0x18, 0x1C, 0x3C, 0x26, 0x62, 0x43, 0xC1, 0x21, 0x98, 0xCC, 0x42, + 0x61, 0xB0, 0xD0, 0x38, 0x1C, 0x0C, 0x06, 0x03, 0x01, 0x03, 0x00, 0xFE, + 0x0C, 0x30, 0xC1, 0x86, 0x18, 0x20, 0xC1, 0xFC, 0x36, 0x66, 0x66, 0x6E, + 0xCE, 0x66, 0x66, 0x66, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC6, 0x66, + 0x66, 0x67, 0x37, 0x66, 0x66, 0x66, 0xC0, 0x61, 0x24, 0x38 }; + +const GFXglyph FreeSans9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 2, 13, 6, 2, -12 }, // 0x21 '!' + { 4, 5, 4, 6, 1, -12 }, // 0x22 '"' + { 7, 10, 12, 10, 0, -11 }, // 0x23 '#' + { 22, 9, 16, 10, 1, -13 }, // 0x24 '$' + { 40, 16, 13, 16, 1, -12 }, // 0x25 '%' + { 66, 11, 13, 12, 1, -12 }, // 0x26 '&' + { 84, 2, 4, 4, 1, -12 }, // 0x27 ''' + { 85, 4, 17, 6, 1, -12 }, // 0x28 '(' + { 94, 4, 17, 6, 1, -12 }, // 0x29 ')' + { 103, 5, 5, 7, 1, -12 }, // 0x2A '*' + { 107, 6, 8, 11, 3, -7 }, // 0x2B '+' + { 113, 2, 4, 5, 2, 0 }, // 0x2C ',' + { 114, 4, 1, 6, 1, -4 }, // 0x2D '-' + { 115, 2, 1, 5, 1, 0 }, // 0x2E '.' + { 116, 5, 13, 5, 0, -12 }, // 0x2F '/' + { 125, 8, 13, 10, 1, -12 }, // 0x30 '0' + { 138, 4, 13, 10, 3, -12 }, // 0x31 '1' + { 145, 9, 13, 10, 1, -12 }, // 0x32 '2' + { 160, 8, 13, 10, 1, -12 }, // 0x33 '3' + { 173, 7, 13, 10, 2, -12 }, // 0x34 '4' + { 185, 9, 13, 10, 1, -12 }, // 0x35 '5' + { 200, 9, 13, 10, 1, -12 }, // 0x36 '6' + { 215, 8, 13, 10, 0, -12 }, // 0x37 '7' + { 228, 9, 13, 10, 1, -12 }, // 0x38 '8' + { 243, 8, 13, 10, 1, -12 }, // 0x39 '9' + { 256, 2, 10, 5, 1, -9 }, // 0x3A ':' + { 259, 3, 12, 5, 1, -8 }, // 0x3B ';' + { 264, 9, 9, 11, 1, -8 }, // 0x3C '<' + { 275, 9, 4, 11, 1, -5 }, // 0x3D '=' + { 280, 9, 9, 11, 1, -8 }, // 0x3E '>' + { 291, 9, 13, 10, 1, -12 }, // 0x3F '?' + { 306, 17, 16, 18, 1, -12 }, // 0x40 '@' + { 340, 12, 13, 12, 0, -12 }, // 0x41 'A' + { 360, 11, 13, 12, 1, -12 }, // 0x42 'B' + { 378, 11, 13, 13, 1, -12 }, // 0x43 'C' + { 396, 11, 13, 13, 1, -12 }, // 0x44 'D' + { 414, 9, 13, 11, 1, -12 }, // 0x45 'E' + { 429, 8, 13, 11, 1, -12 }, // 0x46 'F' + { 442, 12, 13, 14, 1, -12 }, // 0x47 'G' + { 462, 11, 13, 13, 1, -12 }, // 0x48 'H' + { 480, 2, 13, 5, 2, -12 }, // 0x49 'I' + { 484, 7, 13, 10, 1, -12 }, // 0x4A 'J' + { 496, 11, 13, 12, 1, -12 }, // 0x4B 'K' + { 514, 8, 13, 10, 1, -12 }, // 0x4C 'L' + { 527, 13, 13, 15, 1, -12 }, // 0x4D 'M' + { 549, 11, 13, 13, 1, -12 }, // 0x4E 'N' + { 567, 13, 13, 14, 1, -12 }, // 0x4F 'O' + { 589, 10, 13, 12, 1, -12 }, // 0x50 'P' + { 606, 13, 14, 14, 1, -12 }, // 0x51 'Q' + { 629, 12, 13, 13, 1, -12 }, // 0x52 'R' + { 649, 10, 13, 12, 1, -12 }, // 0x53 'S' + { 666, 9, 13, 11, 1, -12 }, // 0x54 'T' + { 681, 11, 13, 13, 1, -12 }, // 0x55 'U' + { 699, 11, 13, 12, 0, -12 }, // 0x56 'V' + { 717, 17, 13, 17, 0, -12 }, // 0x57 'W' + { 745, 12, 13, 12, 0, -12 }, // 0x58 'X' + { 765, 12, 13, 12, 0, -12 }, // 0x59 'Y' + { 785, 10, 13, 11, 1, -12 }, // 0x5A 'Z' + { 802, 3, 17, 5, 1, -12 }, // 0x5B '[' + { 809, 5, 13, 5, 0, -12 }, // 0x5C '\' + { 818, 3, 17, 5, 0, -12 }, // 0x5D ']' + { 825, 7, 7, 8, 1, -12 }, // 0x5E '^' + { 832, 10, 1, 10, 0, 3 }, // 0x5F '_' + { 834, 4, 3, 5, 0, -12 }, // 0x60 '`' + { 836, 9, 10, 10, 1, -9 }, // 0x61 'a' + { 848, 9, 13, 10, 1, -12 }, // 0x62 'b' + { 863, 8, 10, 9, 1, -9 }, // 0x63 'c' + { 873, 8, 13, 10, 1, -12 }, // 0x64 'd' + { 886, 8, 10, 10, 1, -9 }, // 0x65 'e' + { 896, 4, 13, 5, 1, -12 }, // 0x66 'f' + { 903, 8, 14, 10, 1, -9 }, // 0x67 'g' + { 917, 8, 13, 10, 1, -12 }, // 0x68 'h' + { 930, 2, 13, 4, 1, -12 }, // 0x69 'i' + { 934, 4, 17, 4, 0, -12 }, // 0x6A 'j' + { 943, 9, 13, 9, 1, -12 }, // 0x6B 'k' + { 958, 2, 13, 4, 1, -12 }, // 0x6C 'l' + { 962, 13, 10, 15, 1, -9 }, // 0x6D 'm' + { 979, 8, 10, 10, 1, -9 }, // 0x6E 'n' + { 989, 8, 10, 10, 1, -9 }, // 0x6F 'o' + { 999, 9, 13, 10, 1, -9 }, // 0x70 'p' + { 1014, 8, 13, 10, 1, -9 }, // 0x71 'q' + { 1027, 5, 10, 6, 1, -9 }, // 0x72 'r' + { 1034, 8, 10, 9, 1, -9 }, // 0x73 's' + { 1044, 4, 12, 5, 1, -11 }, // 0x74 't' + { 1050, 8, 10, 10, 1, -9 }, // 0x75 'u' + { 1060, 9, 10, 9, 0, -9 }, // 0x76 'v' + { 1072, 13, 10, 13, 0, -9 }, // 0x77 'w' + { 1089, 8, 10, 9, 0, -9 }, // 0x78 'x' + { 1099, 9, 14, 9, 0, -9 }, // 0x79 'y' + { 1115, 7, 10, 9, 1, -9 }, // 0x7A 'z' + { 1124, 4, 17, 6, 1, -12 }, // 0x7B '{' + { 1133, 2, 17, 4, 2, -12 }, // 0x7C '|' + { 1138, 4, 17, 6, 1, -12 }, // 0x7D '}' + { 1147, 7, 3, 9, 1, -7 } }; // 0x7E '~' + +const GFXfont FreeSans9pt7b PROGMEM = { + (uint8_t *)FreeSans9pt7bBitmaps, + (GFXglyph *)FreeSans9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1822 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h new file mode 100644 index 0000000..e0922be --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h @@ -0,0 +1,288 @@ +const uint8_t FreeSansBold12pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0x76, 0x66, 0x60, 0xFF, 0xF0, 0xF3, 0xFC, 0xFF, + 0x3F, 0xCF, 0x61, 0x98, 0x60, 0x0E, 0x70, 0x73, 0x83, 0x18, 0xFF, 0xF7, + 0xFF, 0xBF, 0xFC, 0x73, 0x83, 0x18, 0x18, 0xC7, 0xFF, 0xBF, 0xFD, 0xFF, + 0xE3, 0x18, 0x39, 0xC1, 0xCE, 0x0E, 0x70, 0x02, 0x00, 0x7E, 0x0F, 0xF8, + 0x7F, 0xE7, 0xAF, 0xB9, 0x3D, 0xC8, 0x0F, 0x40, 0x3F, 0x00, 0xFF, 0x00, + 0xFC, 0x05, 0xFF, 0x27, 0xF9, 0x3F, 0xEB, 0xEF, 0xFE, 0x3F, 0xE0, 0x7C, + 0x00, 0x80, 0x04, 0x00, 0x3C, 0x06, 0x0F, 0xC1, 0x81, 0xFC, 0x30, 0x73, + 0x8C, 0x0C, 0x31, 0x81, 0xCE, 0x60, 0x1F, 0xCC, 0x03, 0xF3, 0x00, 0x3C, + 0x67, 0x80, 0x19, 0xF8, 0x02, 0x7F, 0x80, 0xCE, 0x70, 0x11, 0x86, 0x06, + 0x39, 0xC1, 0x87, 0xF8, 0x30, 0x7E, 0x0C, 0x07, 0x80, 0x07, 0x80, 0x1F, + 0xC0, 0x3F, 0xE0, 0x3C, 0xE0, 0x3C, 0xE0, 0x3E, 0xE0, 0x0F, 0xC0, 0x07, + 0x00, 0x3F, 0x8C, 0x7F, 0xCC, 0xF1, 0xFC, 0xF0, 0xF8, 0xF0, 0x78, 0xF8, + 0xF8, 0x7F, 0xFC, 0x3F, 0xDE, 0x1F, 0x8E, 0xFF, 0xFF, 0x66, 0x0C, 0x73, + 0x8E, 0x71, 0xC7, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x1C, 0x71, 0xC3, + 0x8E, 0x18, 0x70, 0xC3, 0x87, 0x1C, 0x38, 0xE3, 0x87, 0x1C, 0x71, 0xC7, + 0x1C, 0x71, 0xCE, 0x38, 0xE7, 0x1C, 0x63, 0x80, 0x10, 0x23, 0x5F, 0xF3, + 0x87, 0x1B, 0x14, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, + 0xF8, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x00, 0xFF, 0xF3, 0x36, 0xC0, 0xFF, + 0xFF, 0xC0, 0xFF, 0xF0, 0x0C, 0x30, 0x86, 0x18, 0x61, 0x0C, 0x30, 0xC2, + 0x18, 0x61, 0x84, 0x30, 0xC0, 0x1F, 0x83, 0xFC, 0x7F, 0xE7, 0x9E, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xF7, 0x9E, 0x7F, 0xE3, 0xFC, 0x0F, 0x00, 0x06, 0x1C, 0x7F, 0xFF, 0xE3, + 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x1F, 0x83, + 0xFC, 0x7F, 0xEF, 0x9F, 0xF0, 0xFF, 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xE0, + 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x03, 0x80, 0x7F, 0xF7, 0xFF, 0x7F, 0xF0, + 0x1F, 0x07, 0xFC, 0xFF, 0xEF, 0x1E, 0xF1, 0xE0, 0x1E, 0x03, 0xC0, 0x78, + 0x07, 0xC0, 0x1E, 0x00, 0xF0, 0x0F, 0xF0, 0xFF, 0x1F, 0x7F, 0xE7, 0xFC, + 0x1F, 0x80, 0x03, 0xC0, 0xF8, 0x1F, 0x07, 0xE1, 0xBC, 0x27, 0x8C, 0xF3, + 0x1E, 0x63, 0xD8, 0x7B, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0x80, 0xF0, 0x1E, + 0x03, 0xC0, 0x3F, 0xE7, 0xFE, 0x7F, 0xE7, 0x00, 0x60, 0x06, 0xF8, 0x7F, + 0xCF, 0xFE, 0xF1, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xFE, 0x1E, 0xFF, + 0xE7, 0xFC, 0x3F, 0x00, 0x0F, 0x83, 0xFC, 0x7F, 0xE7, 0x9F, 0xF0, 0x0F, + 0x78, 0xFF, 0xCF, 0xFE, 0xF9, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xF7, + 0x9F, 0x7F, 0xE3, 0xFC, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, + 0x1C, 0x07, 0x01, 0xE0, 0x38, 0x0F, 0x01, 0xC0, 0x78, 0x0F, 0x01, 0xE0, + 0x38, 0x0F, 0x01, 0xE0, 0x3C, 0x00, 0x0F, 0x03, 0xFC, 0x7F, 0xC7, 0x9E, + 0x70, 0xE7, 0x0E, 0x39, 0xC1, 0xF8, 0x3F, 0xC7, 0x9E, 0xF0, 0xFF, 0x0F, + 0xF0, 0xFF, 0x9F, 0x7F, 0xE3, 0xFC, 0x1F, 0x80, 0x1F, 0x03, 0xFC, 0x7F, + 0xEF, 0x9E, 0xF0, 0xEF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF9, 0xF7, 0xFF, 0x3F, + 0xF1, 0xEF, 0x00, 0xEF, 0x1E, 0x7F, 0xE7, 0xFC, 0x1F, 0x00, 0xFF, 0xF0, + 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0x11, 0x6C, + 0x00, 0x10, 0x07, 0x03, 0xF1, 0xFC, 0x7E, 0x0F, 0x80, 0xE0, 0x0F, 0xC0, + 0x3F, 0x80, 0x7F, 0x00, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0E, 0x00, 0xFC, + 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0x00, 0xF0, 0x7F, 0x1F, 0x8F, 0xE0, 0xF0, + 0x08, 0x00, 0x1F, 0x07, 0xFC, 0x7F, 0xEF, 0x9F, 0xF0, 0xFF, 0x0F, 0x00, + 0xF0, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x0E, 0x00, 0xE0, 0x00, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xFC, 0x03, 0xC0, + 0xF0, 0x38, 0x01, 0xC3, 0x80, 0x07, 0x18, 0x3D, 0x99, 0x87, 0xEC, 0x6C, + 0x71, 0xC3, 0xC3, 0x06, 0x1E, 0x18, 0x30, 0xF1, 0x81, 0x87, 0x8C, 0x18, + 0x7C, 0x60, 0xC3, 0x63, 0x8E, 0x3B, 0x8F, 0xDF, 0x8C, 0x3C, 0xF0, 0x70, + 0x00, 0x01, 0xC0, 0x00, 0x07, 0x80, 0x80, 0x1F, 0xFE, 0x00, 0x1F, 0xC0, + 0x00, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x07, 0xF0, 0x07, 0xF0, 0x07, + 0x70, 0x0F, 0x78, 0x0E, 0x78, 0x0E, 0x38, 0x1E, 0x3C, 0x1C, 0x3C, 0x3F, + 0xFC, 0x3F, 0xFE, 0x3F, 0xFE, 0x78, 0x0E, 0x78, 0x0F, 0x70, 0x0F, 0xF0, + 0x07, 0xFF, 0xC3, 0xFF, 0xCF, 0xFF, 0x3C, 0x3E, 0xF0, 0x7B, 0xC1, 0xEF, + 0x0F, 0xBF, 0xFC, 0xFF, 0xE3, 0xFF, 0xCF, 0x07, 0xBC, 0x0F, 0xF0, 0x3F, + 0xC0, 0xFF, 0x07, 0xFF, 0xFE, 0xFF, 0xFB, 0xFF, 0x80, 0x07, 0xE0, 0x1F, + 0xF8, 0x3F, 0xFC, 0x7C, 0x3E, 0x78, 0x1F, 0xF8, 0x0F, 0xF0, 0x00, 0xF0, + 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF8, 0x0F, 0x78, + 0x1F, 0x7C, 0x3E, 0x3F, 0xFE, 0x1F, 0xFC, 0x07, 0xF0, 0xFF, 0xE1, 0xFF, + 0xE3, 0xFF, 0xE7, 0x83, 0xEF, 0x03, 0xDE, 0x07, 0xFC, 0x07, 0xF8, 0x0F, + 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x03, 0xFE, 0x07, 0xBC, + 0x1F, 0x7F, 0xFC, 0xFF, 0xF1, 0xFF, 0x80, 0xFF, 0xF7, 0xFF, 0xBF, 0xFD, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0xFC, 0xFF, 0xE7, 0xFF, 0x3C, + 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0xFE, 0xFF, 0xEF, 0xFE, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0x03, 0xF0, 0x0F, 0xFC, 0x3F, 0xFE, 0x3E, 0x1F, + 0x78, 0x07, 0x78, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x7F, 0xF0, 0x7F, + 0xF0, 0x7F, 0xF0, 0x07, 0x78, 0x07, 0x7C, 0x0F, 0x3E, 0x1F, 0x3F, 0xFB, + 0x0F, 0xFB, 0x03, 0xE3, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, + 0x3F, 0xC0, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFC, + 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xF0, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0x3C, + 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, + 0xF8, 0xFF, 0x1F, 0xE3, 0xFC, 0x7B, 0xFE, 0x7F, 0xC3, 0xE0, 0xF0, 0x3E, + 0xF0, 0x3C, 0xF0, 0x78, 0xF0, 0xF0, 0xF1, 0xE0, 0xF3, 0xC0, 0xF7, 0x80, + 0xFF, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0xFB, 0xC0, 0xF1, 0xE0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0x78, 0xF0, 0x3C, 0xF0, 0x3E, 0xF0, 0x1E, 0xF0, 0x1E, + 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, + 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, + 0x1F, 0xFE, 0x0F, 0xFF, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xFF, 0xE1, 0xFF, + 0xF9, 0xFF, 0xFC, 0xEF, 0xFE, 0x77, 0xFB, 0x3B, 0xFD, 0xDD, 0xFE, 0xFC, + 0xFF, 0x7E, 0x7F, 0x9F, 0x3F, 0xCF, 0x9F, 0xE7, 0x8F, 0xF3, 0xC7, 0xF8, + 0xE3, 0xC0, 0xF0, 0x1F, 0xF0, 0x3F, 0xF0, 0x7F, 0xE0, 0xFF, 0xE1, 0xFF, + 0xC3, 0xFD, 0xC7, 0xFB, 0x8F, 0xF3, 0x9F, 0xE7, 0x3F, 0xC7, 0x7F, 0x8F, + 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x1F, 0xF8, 0x1F, 0xF0, 0x3F, 0xE0, 0x3C, + 0x03, 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x87, 0xC7, 0xC7, 0x80, 0xF3, 0xC0, + 0x7B, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, + 0x00, 0xF7, 0x80, 0xF3, 0xC0, 0x78, 0xF0, 0xF8, 0x7F, 0xFC, 0x1F, 0xFC, + 0x03, 0xF8, 0x00, 0xFF, 0xE3, 0xFF, 0xEF, 0xFF, 0xBC, 0x1F, 0xF0, 0x3F, + 0xC0, 0xFF, 0x03, 0xFC, 0x1F, 0xFF, 0xFB, 0xFF, 0xCF, 0xFE, 0x3C, 0x00, + 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x00, 0x03, + 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x87, 0xC7, 0xC7, 0x80, 0xF3, 0xC0, 0x7B, + 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, 0x04, + 0xF7, 0x87, 0xF3, 0xC3, 0xF8, 0xF0, 0xF8, 0x7F, 0xFC, 0x1F, 0xFF, 0x83, + 0xF1, 0x80, 0x00, 0x00, 0xFF, 0xF8, 0xFF, 0xFC, 0xFF, 0xFC, 0xF0, 0x3E, + 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x3C, 0xFF, 0xF8, 0xFF, 0xF0, + 0xFF, 0xF8, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, + 0xF0, 0x3C, 0xF0, 0x1F, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE7, 0xC3, 0xEF, + 0x03, 0xDE, 0x00, 0x3C, 0x00, 0x7F, 0x00, 0x7F, 0xF0, 0x3F, 0xF8, 0x0F, + 0xF8, 0x01, 0xF0, 0x01, 0xFE, 0x03, 0xDE, 0x0F, 0xBF, 0xFE, 0x3F, 0xF8, + 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, + 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, + 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xF7, 0x87, 0x9F, 0xFE, 0x3F, 0xF0, 0x3F, + 0x00, 0x70, 0x0E, 0xF0, 0x3D, 0xE0, 0x79, 0xC0, 0xE3, 0x81, 0xC7, 0x87, + 0x87, 0x0E, 0x0E, 0x1C, 0x1E, 0x78, 0x1C, 0xE0, 0x39, 0xC0, 0x73, 0x80, + 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x70, + 0x38, 0x1C, 0xE0, 0xF0, 0x79, 0xE1, 0xF0, 0xF3, 0xC3, 0xE1, 0xE3, 0x87, + 0xC3, 0x87, 0x0F, 0x87, 0x0E, 0x3B, 0x9E, 0x1E, 0x77, 0x38, 0x1C, 0xEE, + 0x70, 0x39, 0xCC, 0xE0, 0x73, 0x99, 0xC0, 0x6E, 0x3F, 0x00, 0xFC, 0x7E, + 0x01, 0xF8, 0xFC, 0x03, 0xF0, 0xF8, 0x03, 0xE1, 0xE0, 0x07, 0x83, 0xC0, + 0x0F, 0x07, 0x80, 0xF0, 0x3C, 0xF0, 0xF9, 0xE1, 0xE1, 0xE7, 0x83, 0xCF, + 0x03, 0xFC, 0x03, 0xF0, 0x07, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x3F, 0x00, + 0xFF, 0x01, 0xFE, 0x07, 0x9E, 0x0F, 0x1E, 0x3C, 0x3C, 0xF8, 0x3D, 0xE0, + 0x78, 0xF0, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x78, 0x1E, + 0x78, 0x0E, 0x70, 0x0F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x03, 0xC0, 0x03, + 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, + 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF8, 0x07, 0x80, 0x78, 0x07, 0x80, 0x7C, 0x03, 0xC0, 0x3C, 0x03, + 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, 0xF3, 0xCF, + 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xFF, 0xFF, + 0xC0, 0xC1, 0x81, 0x03, 0x06, 0x04, 0x0C, 0x18, 0x10, 0x30, 0x60, 0x40, + 0xC1, 0x81, 0x03, 0x06, 0xFF, 0xFF, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, + 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0xFF, 0xFF, 0xC0, 0x0F, 0x00, + 0xF0, 0x0F, 0x01, 0xF8, 0x1B, 0x83, 0x9C, 0x39, 0xC3, 0x0C, 0x70, 0xE7, + 0x0E, 0xE0, 0x70, 0xFF, 0xFF, 0xFF, 0xFC, 0xE6, 0x30, 0x1F, 0x83, 0xFF, + 0x1F, 0xFD, 0xE1, 0xE0, 0x0F, 0x03, 0xF9, 0xFF, 0xDF, 0x1E, 0xF0, 0xF7, + 0x8F, 0xBF, 0xFC, 0xFF, 0xE3, 0xCF, 0x80, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x7B, 0xC3, 0xFF, 0x9F, 0xFE, 0xF8, 0xF7, 0x83, 0xFC, + 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xE3, 0xDF, 0xFE, 0xFF, 0xE7, 0xBE, + 0x00, 0x0F, 0x83, 0xFE, 0x7F, 0xF7, 0x8F, 0xF0, 0x7F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x77, 0x8F, 0x7F, 0xF3, 0xFE, 0x0F, 0x80, 0x00, 0x78, 0x03, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x8F, 0xBC, 0xFF, 0xEF, 0xFF, 0x78, 0xFF, + 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3D, 0xE3, 0xEF, 0xFF, 0x3F, + 0xF8, 0xFB, 0xC0, 0x1F, 0x81, 0xFE, 0x1F, 0xF9, 0xF1, 0xCF, 0x07, 0x7F, + 0xFB, 0xFF, 0xDE, 0x00, 0xF0, 0x03, 0xC3, 0x9F, 0xFC, 0x7F, 0xC0, 0xF8, + 0x00, 0x3E, 0xFD, 0xFB, 0xC7, 0x9F, 0xBF, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, + 0x8F, 0x1E, 0x3C, 0x78, 0xF0, 0x1E, 0x79, 0xFB, 0xDF, 0xFE, 0xF1, 0xFF, + 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0xC7, 0xDF, 0xFE, 0x7F, + 0xF1, 0xF7, 0x80, 0x3C, 0x01, 0xFF, 0x1E, 0x7F, 0xF0, 0xFE, 0x00, 0xF0, + 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x7C, 0xFF, 0xEF, 0xFF, 0xF9, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xFF, 0x0F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, + 0xF3, 0xC0, 0x00, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, + 0xF3, 0xCF, 0xFF, 0xFF, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, + 0x0F, 0x0F, 0xF1, 0xEF, 0x3C, 0xF7, 0x8F, 0xF0, 0xFF, 0x0F, 0xF8, 0xFF, + 0x8F, 0x3C, 0xF1, 0xCF, 0x1E, 0xF0, 0xEF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x8F, 0x9F, 0xFB, 0xFB, 0xFF, 0xFF, + 0xFC, 0xF8, 0xFF, 0x1E, 0x1F, 0xE3, 0xC3, 0xFC, 0x78, 0x7F, 0x8F, 0x0F, + 0xF1, 0xE1, 0xFE, 0x3C, 0x3F, 0xC7, 0x87, 0xF8, 0xF0, 0xFF, 0x1E, 0x1E, + 0xF7, 0xCF, 0xFE, 0xFF, 0xFF, 0x9F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, + 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xF0, 0x0F, 0x81, 0xFF, 0x1F, + 0xFC, 0xF1, 0xEF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7B, 0xC7, + 0x9F, 0xFC, 0x7F, 0xC0, 0xF8, 0x00, 0xF7, 0xC7, 0xFF, 0x3F, 0xFD, 0xF1, + 0xEF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0xC7, 0xBF, 0xFD, + 0xFF, 0xCF, 0x78, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x00, + 0x0F, 0x79, 0xFF, 0xDF, 0xFE, 0xF1, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, + 0x0F, 0xF0, 0x7B, 0xC7, 0xDF, 0xFE, 0x7F, 0xF1, 0xF7, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0xF3, 0xF7, 0xFF, 0xF8, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x1F, 0x87, 0xFC, 0xFF, 0xEF, + 0x0F, 0xF8, 0x0F, 0xF0, 0x7F, 0xE0, 0xFF, 0x01, 0xFF, 0x0F, 0xFF, 0xE7, + 0xFE, 0x1F, 0x80, 0x79, 0xE7, 0xBF, 0xFD, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, + 0x7D, 0xF3, 0xC0, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, + 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x1F, 0xFF, 0xF7, 0xFF, 0x3E, 0xF0, 0xF0, + 0x7B, 0x83, 0x9E, 0x1C, 0xF1, 0xE3, 0x8E, 0x1C, 0x70, 0x77, 0x83, 0xB8, + 0x1D, 0xC0, 0x7E, 0x03, 0xE0, 0x1F, 0x00, 0x70, 0x00, 0xF0, 0xE1, 0xDC, + 0x78, 0x77, 0x1F, 0x3D, 0xE7, 0xCF, 0x79, 0xB3, 0x8E, 0x6C, 0xE3, 0xBB, + 0x38, 0xEE, 0xFC, 0x1F, 0x3F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, 0x7C, 0x78, + 0x0E, 0x1E, 0x00, 0x78, 0xF3, 0xC7, 0x8F, 0x78, 0x3B, 0x81, 0xFC, 0x07, + 0xC0, 0x1E, 0x01, 0xF0, 0x1F, 0xC0, 0xEF, 0x0F, 0x78, 0xF1, 0xE7, 0x87, + 0x00, 0xF0, 0x7B, 0x83, 0x9E, 0x1C, 0x71, 0xE3, 0x8E, 0x1E, 0x70, 0x73, + 0x83, 0xB8, 0x1F, 0xC0, 0x7E, 0x03, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, + 0x3C, 0x07, 0xC0, 0x3E, 0x01, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, + 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xC0, + 0x1C, 0xF3, 0xCE, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xBC, 0xF0, 0xE3, 0x8E, + 0x38, 0xE3, 0x8E, 0x3C, 0xF1, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0xE3, 0x8F, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x0F, 0x3D, 0xC7, 0x1C, + 0x71, 0xC7, 0x1C, 0xF3, 0xCE, 0x00, 0x78, 0x0F, 0xE0, 0xCF, 0x30, 0x7F, + 0x01, 0xE0 }; + +const GFXglyph FreeSansBold12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' + { 0, 4, 17, 8, 3, -16 }, // 0x21 '!' + { 9, 10, 6, 11, 1, -17 }, // 0x22 '"' + { 17, 13, 16, 13, 0, -15 }, // 0x23 '#' + { 43, 13, 20, 13, 0, -17 }, // 0x24 '$' + { 76, 19, 17, 21, 1, -16 }, // 0x25 '%' + { 117, 16, 17, 17, 1, -16 }, // 0x26 '&' + { 151, 4, 6, 6, 1, -17 }, // 0x27 ''' + { 154, 6, 22, 8, 1, -17 }, // 0x28 '(' + { 171, 6, 22, 8, 1, -17 }, // 0x29 ')' + { 188, 7, 8, 9, 1, -17 }, // 0x2A '*' + { 195, 11, 11, 14, 2, -10 }, // 0x2B '+' + { 211, 4, 7, 6, 1, -2 }, // 0x2C ',' + { 215, 6, 3, 8, 1, -7 }, // 0x2D '-' + { 218, 4, 3, 6, 1, -2 }, // 0x2E '.' + { 220, 6, 17, 7, 0, -16 }, // 0x2F '/' + { 233, 12, 17, 13, 1, -16 }, // 0x30 '0' + { 259, 7, 17, 14, 3, -16 }, // 0x31 '1' + { 274, 12, 17, 13, 1, -16 }, // 0x32 '2' + { 300, 12, 17, 13, 1, -16 }, // 0x33 '3' + { 326, 11, 17, 13, 1, -16 }, // 0x34 '4' + { 350, 12, 17, 13, 1, -16 }, // 0x35 '5' + { 376, 12, 17, 13, 1, -16 }, // 0x36 '6' + { 402, 11, 17, 13, 1, -16 }, // 0x37 '7' + { 426, 12, 17, 13, 1, -16 }, // 0x38 '8' + { 452, 12, 17, 13, 1, -16 }, // 0x39 '9' + { 478, 4, 12, 6, 1, -11 }, // 0x3A ':' + { 484, 4, 16, 6, 1, -11 }, // 0x3B ';' + { 492, 12, 12, 14, 1, -11 }, // 0x3C '<' + { 510, 12, 9, 14, 1, -9 }, // 0x3D '=' + { 524, 12, 12, 14, 1, -11 }, // 0x3E '>' + { 542, 12, 18, 15, 2, -17 }, // 0x3F '?' + { 569, 21, 21, 23, 1, -17 }, // 0x40 '@' + { 625, 16, 18, 17, 0, -17 }, // 0x41 'A' + { 661, 14, 18, 17, 2, -17 }, // 0x42 'B' + { 693, 16, 18, 17, 1, -17 }, // 0x43 'C' + { 729, 15, 18, 17, 2, -17 }, // 0x44 'D' + { 763, 13, 18, 16, 2, -17 }, // 0x45 'E' + { 793, 12, 18, 15, 2, -17 }, // 0x46 'F' + { 820, 16, 18, 18, 1, -17 }, // 0x47 'G' + { 856, 14, 18, 18, 2, -17 }, // 0x48 'H' + { 888, 4, 18, 7, 2, -17 }, // 0x49 'I' + { 897, 11, 18, 14, 1, -17 }, // 0x4A 'J' + { 922, 16, 18, 17, 2, -17 }, // 0x4B 'K' + { 958, 11, 18, 15, 2, -17 }, // 0x4C 'L' + { 983, 17, 18, 21, 2, -17 }, // 0x4D 'M' + { 1022, 15, 18, 18, 2, -17 }, // 0x4E 'N' + { 1056, 17, 18, 19, 1, -17 }, // 0x4F 'O' + { 1095, 14, 18, 16, 2, -17 }, // 0x50 'P' + { 1127, 17, 19, 19, 1, -17 }, // 0x51 'Q' + { 1168, 16, 18, 17, 2, -17 }, // 0x52 'R' + { 1204, 15, 18, 16, 1, -17 }, // 0x53 'S' + { 1238, 12, 18, 15, 2, -17 }, // 0x54 'T' + { 1265, 14, 18, 18, 2, -17 }, // 0x55 'U' + { 1297, 15, 18, 16, 0, -17 }, // 0x56 'V' + { 1331, 23, 18, 23, 0, -17 }, // 0x57 'W' + { 1383, 15, 18, 16, 1, -17 }, // 0x58 'X' + { 1417, 16, 18, 15, 0, -17 }, // 0x59 'Y' + { 1453, 13, 18, 15, 1, -17 }, // 0x5A 'Z' + { 1483, 6, 23, 8, 2, -17 }, // 0x5B '[' + { 1501, 7, 17, 7, 0, -16 }, // 0x5C '\' + { 1516, 6, 23, 8, 0, -17 }, // 0x5D ']' + { 1534, 12, 11, 14, 1, -16 }, // 0x5E '^' + { 1551, 15, 2, 13, -1, 4 }, // 0x5F '_' + { 1555, 4, 3, 6, 0, -17 }, // 0x60 '`' + { 1557, 13, 13, 14, 1, -12 }, // 0x61 'a' + { 1579, 13, 18, 15, 2, -17 }, // 0x62 'b' + { 1609, 12, 13, 13, 1, -12 }, // 0x63 'c' + { 1629, 13, 18, 15, 1, -17 }, // 0x64 'd' + { 1659, 13, 13, 14, 1, -12 }, // 0x65 'e' + { 1681, 7, 18, 8, 1, -17 }, // 0x66 'f' + { 1697, 13, 18, 15, 1, -12 }, // 0x67 'g' + { 1727, 12, 18, 14, 2, -17 }, // 0x68 'h' + { 1754, 4, 18, 7, 2, -17 }, // 0x69 'i' + { 1763, 6, 23, 7, 0, -17 }, // 0x6A 'j' + { 1781, 12, 18, 14, 2, -17 }, // 0x6B 'k' + { 1808, 4, 18, 6, 2, -17 }, // 0x6C 'l' + { 1817, 19, 13, 21, 2, -12 }, // 0x6D 'm' + { 1848, 12, 13, 15, 2, -12 }, // 0x6E 'n' + { 1868, 13, 13, 15, 1, -12 }, // 0x6F 'o' + { 1890, 13, 18, 15, 2, -12 }, // 0x70 'p' + { 1920, 13, 18, 15, 1, -12 }, // 0x71 'q' + { 1950, 8, 13, 9, 2, -12 }, // 0x72 'r' + { 1963, 12, 13, 13, 1, -12 }, // 0x73 's' + { 1983, 6, 15, 8, 1, -14 }, // 0x74 't' + { 1995, 12, 13, 15, 2, -12 }, // 0x75 'u' + { 2015, 13, 13, 13, 0, -12 }, // 0x76 'v' + { 2037, 18, 13, 19, 0, -12 }, // 0x77 'w' + { 2067, 13, 13, 13, 0, -12 }, // 0x78 'x' + { 2089, 13, 18, 13, 0, -12 }, // 0x79 'y' + { 2119, 10, 13, 12, 1, -12 }, // 0x7A 'z' + { 2136, 6, 23, 9, 1, -17 }, // 0x7B '{' + { 2154, 2, 22, 7, 2, -17 }, // 0x7C '|' + { 2160, 6, 23, 9, 3, -17 }, // 0x7D '}' + { 2178, 12, 5, 12, 0, -7 } }; // 0x7E '~' + +const GFXfont FreeSansBold12pt7b PROGMEM = { + (uint8_t *)FreeSansBold12pt7bBitmaps, + (GFXglyph *)FreeSansBold12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2858 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h new file mode 100644 index 0000000..d5927cd --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h @@ -0,0 +1,481 @@ +const uint8_t FreeSansBold18pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE7, 0x39, 0xCE, 0x73, 0x80, + 0x0F, 0xFF, 0xFF, 0xF8, 0xF8, 0xFF, 0xC7, 0xFE, 0x3F, 0xF1, 0xFF, 0x8F, + 0xFC, 0x7D, 0xC1, 0xCE, 0x0E, 0x70, 0x70, 0x03, 0xC3, 0x80, 0x3C, 0x78, + 0x03, 0xC7, 0x80, 0x38, 0x78, 0x07, 0x87, 0x07, 0xFF, 0xFF, 0x7F, 0xFF, + 0xF7, 0xFF, 0xFF, 0x7F, 0xFF, 0xF0, 0xF0, 0xE0, 0x0F, 0x0E, 0x00, 0xF1, + 0xE0, 0x0F, 0x1E, 0x00, 0xE1, 0xE0, 0xFF, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, + 0xFF, 0xCF, 0xFF, 0xFC, 0x1C, 0x3C, 0x03, 0xC3, 0x80, 0x3C, 0x78, 0x03, + 0xC7, 0x80, 0x38, 0x78, 0x03, 0x87, 0x80, 0x00, 0x60, 0x00, 0x7F, 0x80, + 0x3F, 0xFC, 0x0F, 0xFF, 0xC3, 0xFF, 0xFC, 0xFC, 0xDF, 0x9F, 0x19, 0xFB, + 0xC3, 0x1F, 0x78, 0x63, 0xEF, 0x8C, 0x01, 0xFD, 0x80, 0x1F, 0xF0, 0x01, + 0xFF, 0xC0, 0x1F, 0xFE, 0x00, 0x7F, 0xE0, 0x03, 0xFE, 0x00, 0x67, 0xE0, + 0x0C, 0x7F, 0xE1, 0x8F, 0xFC, 0x31, 0xFF, 0xC6, 0x3E, 0xFC, 0xDF, 0x9F, + 0xFF, 0xF1, 0xFF, 0xFC, 0x0F, 0xFF, 0x00, 0x7F, 0x80, 0x01, 0x80, 0x00, + 0x30, 0x00, 0x06, 0x00, 0x0F, 0x00, 0x1C, 0x01, 0xFE, 0x00, 0xE0, 0x1F, + 0xF8, 0x0E, 0x00, 0xFF, 0xC0, 0x70, 0x0F, 0x0F, 0x07, 0x00, 0x70, 0x38, + 0x38, 0x03, 0x81, 0xC3, 0x80, 0x1C, 0x0E, 0x3C, 0x00, 0xF0, 0xF1, 0xC0, + 0x03, 0xFF, 0x1C, 0x00, 0x1F, 0xF8, 0xE0, 0x00, 0x7F, 0x8E, 0x00, 0x00, + 0xF0, 0x70, 0xF8, 0x00, 0x07, 0x1F, 0xF0, 0x00, 0x39, 0xFF, 0xC0, 0x03, + 0x8F, 0xFE, 0x00, 0x1C, 0xF0, 0x78, 0x01, 0xC7, 0x01, 0xC0, 0x0C, 0x38, + 0x0E, 0x00, 0xE1, 0xC0, 0x70, 0x06, 0x0F, 0x07, 0x80, 0x70, 0x3F, 0xF8, + 0x07, 0x01, 0xFF, 0xC0, 0x38, 0x07, 0xFC, 0x03, 0x80, 0x0F, 0x80, 0x01, + 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x80, 0x1F, 0x1E, + 0x00, 0x7C, 0x78, 0x01, 0xF1, 0xE0, 0x07, 0xE7, 0x80, 0x0F, 0xBC, 0x00, + 0x1F, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xF0, 0xF0, 0xFF, + 0xE3, 0xC7, 0xE7, 0xCF, 0x3F, 0x0F, 0xF8, 0xF8, 0x3F, 0xE3, 0xE0, 0x7F, + 0x8F, 0x80, 0xFC, 0x3F, 0x03, 0xF0, 0x7E, 0x3F, 0xE1, 0xFF, 0xFF, 0x83, + 0xFF, 0xFF, 0x07, 0xFE, 0x7E, 0x07, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFD, + 0xCE, 0x70, 0x07, 0x87, 0x83, 0xC3, 0xC1, 0xE1, 0xE0, 0xF0, 0x78, 0x78, + 0x3C, 0x1E, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, + 0x0F, 0x03, 0x81, 0xE0, 0xF0, 0x78, 0x1E, 0x0F, 0x03, 0x81, 0xE0, 0x70, + 0x3C, 0x0E, 0x07, 0x80, 0xF0, 0x38, 0x1E, 0x07, 0x83, 0xC0, 0xF0, 0x78, + 0x3C, 0x0F, 0x07, 0x83, 0xC0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, + 0xC1, 0xE0, 0xF0, 0x78, 0x78, 0x3C, 0x1E, 0x0F, 0x0F, 0x07, 0x87, 0x83, + 0xC1, 0xC1, 0xE0, 0xE0, 0xF0, 0x00, 0x06, 0x00, 0x60, 0x06, 0x07, 0x6E, + 0x7F, 0xE3, 0xFC, 0x0F, 0x01, 0xF8, 0x1F, 0x83, 0x9C, 0x10, 0x80, 0x03, + 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x03, + 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x8C, 0x63, + 0x37, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x80, 0x01, + 0x81, 0xC0, 0xC0, 0x60, 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x06, 0x03, 0x01, + 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x01, + 0x81, 0xC0, 0xC0, 0x00, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0xFF, + 0xC7, 0xE3, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, + 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, + 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xDF, 0x07, 0xCF, 0x83, 0xE7, 0xE3, + 0xF1, 0xFF, 0xF0, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x01, 0xC0, + 0xF0, 0x3C, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xC1, 0xF0, 0x7C, + 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, + 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC0, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, + 0x8F, 0xFF, 0xE7, 0xE3, 0xF7, 0xE0, 0xFF, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, + 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x03, 0xF0, + 0x07, 0xF0, 0x07, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xC0, 0x07, 0xC0, + 0x03, 0xE0, 0x03, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFF, 0x7F, 0xFF, 0x80, + 0x07, 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFF, 0xCF, 0xC3, 0xF7, 0xC0, + 0xFB, 0xE0, 0x7D, 0xF0, 0x3E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x0F, 0x80, + 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, + 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, 0xF7, 0xC3, 0xF3, 0xFF, 0xF8, 0xFF, + 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x01, 0xFC, + 0x01, 0xFC, 0x03, 0xFC, 0x07, 0x7C, 0x07, 0x7C, 0x0E, 0x7C, 0x0E, 0x7C, + 0x1C, 0x7C, 0x18, 0x7C, 0x38, 0x7C, 0x70, 0x7C, 0x60, 0x7C, 0xE0, 0x7C, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7C, 0x00, 0x7C, + 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C, 0x1F, 0xFF, 0x0F, 0xFF, + 0x8F, 0xFF, 0xC7, 0xFF, 0xE3, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, + 0x00, 0x79, 0xF0, 0x3F, 0xFE, 0x1F, 0xFF, 0x8F, 0xFF, 0xE7, 0xC3, 0xF0, + 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xFE, 0x03, + 0xFF, 0x03, 0xFF, 0xC3, 0xF3, 0xFF, 0xF1, 0xFF, 0xF8, 0x3F, 0xF0, 0x07, + 0xE0, 0x00, 0x03, 0xF8, 0x03, 0xFF, 0x81, 0xFF, 0xF0, 0xFF, 0xFE, 0x3E, + 0x1F, 0x9F, 0x03, 0xE7, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0xF8, 0x3E, 0xFF, + 0x8F, 0xFF, 0xF3, 0xFF, 0xFE, 0xFE, 0x1F, 0xBF, 0x03, 0xFF, 0x80, 0x7F, + 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xF7, 0x80, 0x7D, 0xF0, 0x3E, 0x7E, + 0x1F, 0x8F, 0xFF, 0xC1, 0xFF, 0xF0, 0x3F, 0xF0, 0x03, 0xF0, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xF0, 0x00, 0xF8, + 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x1E, + 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x03, + 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xE0, 0x07, 0xFC, 0x0F, 0xFF, 0x07, + 0xFF, 0xC7, 0xC3, 0xF3, 0xC0, 0xF9, 0xE0, 0x3C, 0xF0, 0x1E, 0x78, 0x1F, + 0x1E, 0x1F, 0x07, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0xE3, 0xF1, 0xF9, 0xF0, + 0x7D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, 0xF7, + 0xC3, 0xF3, 0xFF, 0xF8, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x07, + 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFF, 0xC7, 0xE3, 0xF7, 0xE0, 0xFB, + 0xE0, 0x3D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, + 0xF7, 0xE3, 0xFB, 0xFF, 0xFC, 0xFF, 0xFE, 0x3F, 0xDF, 0x07, 0xCF, 0x80, + 0x07, 0x80, 0x03, 0xDF, 0x03, 0xE7, 0xC3, 0xE3, 0xFF, 0xF0, 0xFF, 0xF0, + 0x3F, 0xF0, 0x07, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xFF, 0xC6, 0x33, 0x9B, 0xD8, 0x00, 0x00, 0xC0, 0x00, + 0xF0, 0x01, 0xFC, 0x03, 0xFF, 0x03, 0xFF, 0x07, 0xFE, 0x0F, 0xFC, 0x03, + 0xF8, 0x00, 0xF0, 0x00, 0x3F, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x07, + 0xFF, 0x00, 0x3F, 0xF0, 0x01, 0xFC, 0x00, 0x1F, 0x00, 0x00, 0xC0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xC0, 0x00, 0x3C, 0x00, 0x0F, 0xE0, 0x03, 0xFF, 0x00, 0x3F, 0xF0, + 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xC0, 0x07, 0xF0, + 0x0F, 0xFC, 0x1F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF0, 0x0F, 0xE0, 0x03, 0xC0, + 0x00, 0xC0, 0x00, 0x00, 0x07, 0xF0, 0x07, 0xFF, 0x03, 0xFF, 0xF1, 0xFF, + 0xFC, 0x7E, 0x3F, 0xBF, 0x03, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, + 0xC0, 0x03, 0xF0, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, + 0x1F, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, + 0x00, 0xF8, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0xC0, 0x01, 0xF8, 0x07, 0xF0, 0x03, 0xE0, 0x01, 0xF8, 0x07, + 0x80, 0x00, 0x7C, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x03, 0xE3, 0x9E, 0x3C, + 0x0F, 0xF7, 0x8E, 0x38, 0x1F, 0xFF, 0x0E, 0x78, 0x3E, 0x1F, 0x07, 0x70, + 0x38, 0x0F, 0x07, 0x70, 0x78, 0x0F, 0x07, 0xE0, 0x70, 0x0E, 0x07, 0xE0, + 0x70, 0x0E, 0x07, 0xE0, 0xE0, 0x0E, 0x07, 0xE0, 0xE0, 0x1E, 0x0F, 0xE0, + 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x3C, 0x1E, 0xE0, 0xF0, 0x3C, 0x3C, 0xF0, + 0xF0, 0xFC, 0x7C, 0x70, 0x7F, 0xFF, 0xF8, 0x78, 0x3F, 0xCF, 0xF0, 0x3C, + 0x1F, 0x07, 0xC0, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, + 0xC0, 0x01, 0x00, 0x07, 0xF0, 0x0F, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x01, 0xFF, + 0x80, 0x01, 0xFF, 0x80, 0x01, 0xF7, 0xC0, 0x03, 0xE7, 0xC0, 0x03, 0xE7, + 0xC0, 0x03, 0xE3, 0xE0, 0x07, 0xC3, 0xE0, 0x07, 0xC3, 0xE0, 0x07, 0xC1, + 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, + 0xF8, 0x1F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x3E, 0x00, 0x7C, 0x3E, 0x00, + 0x7E, 0x3E, 0x00, 0x3E, 0x7C, 0x00, 0x3E, 0x7C, 0x00, 0x3F, 0x7C, 0x00, + 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0xFF, 0xFF, 0x8F, 0xFF, 0xFC, 0xF8, + 0x07, 0xEF, 0x80, 0x3E, 0xF8, 0x03, 0xEF, 0x80, 0x3E, 0xF8, 0x03, 0xEF, + 0x80, 0x3E, 0xF8, 0x07, 0xCF, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, + 0xFF, 0xFF, 0xCF, 0x80, 0x7E, 0xF8, 0x01, 0xEF, 0x80, 0x1F, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x3E, 0xFF, 0xFF, 0xEF, 0xFF, + 0xFC, 0xFF, 0xFF, 0x8F, 0xFF, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0x80, + 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0xC3, 0xF8, 0x1F, 0x87, 0xE0, 0x1F, 0x9F, + 0x80, 0x1F, 0x3E, 0x00, 0x1F, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xE0, + 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x7D, 0xF0, 0x00, + 0xFB, 0xF0, 0x03, 0xF3, 0xF0, 0x0F, 0xC7, 0xF0, 0x3F, 0x87, 0xFF, 0xFE, + 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x01, 0xFE, 0x00, 0xFF, 0xFC, 0x07, + 0xFF, 0xF8, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x8F, 0x80, 0xFE, 0x7C, 0x01, + 0xF3, 0xE0, 0x07, 0xDF, 0x00, 0x3E, 0xF8, 0x01, 0xF7, 0xC0, 0x07, 0xFE, + 0x00, 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x03, + 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7D, 0xF0, + 0x03, 0xEF, 0x80, 0x3E, 0x7C, 0x07, 0xF3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, + 0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xDF, 0xFF, 0xFB, 0xFF, + 0xFF, 0x7F, 0xFF, 0xEF, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7F, 0xFF, 0xCF, 0xFF, + 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE7, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, + 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0xFF, 0xEF, 0xFF, 0xF7, + 0xFF, 0xFB, 0xFF, 0xFD, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, + 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x03, 0xFF, 0xE0, 0x07, 0xFF, + 0xF8, 0x0F, 0xFF, 0xFC, 0x1F, 0xC0, 0xFE, 0x3F, 0x00, 0x7E, 0x7E, 0x00, + 0x3F, 0x7C, 0x00, 0x1F, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xF8, 0x03, + 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x00, 0x0F, 0x7C, 0x00, 0x1F, 0x7C, 0x00, + 0x1F, 0x7E, 0x00, 0x3F, 0x3F, 0x00, 0x7F, 0x1F, 0xC1, 0xFF, 0x0F, 0xFF, + 0xFF, 0x07, 0xFF, 0xE7, 0x03, 0xFF, 0xC7, 0x00, 0xFF, 0x07, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, + 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, + 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, + 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0x1F, + 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, + 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, + 0x00, 0x1F, 0x00, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, + 0xF8, 0x1F, 0xFC, 0x3F, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, + 0xF8, 0x01, 0xFB, 0xE0, 0x0F, 0xCF, 0x80, 0x7E, 0x3E, 0x03, 0xF0, 0xF8, + 0x1F, 0x83, 0xE0, 0xFC, 0x0F, 0x87, 0xE0, 0x3E, 0x3F, 0x00, 0xF8, 0xF8, + 0x03, 0xE7, 0xE0, 0x0F, 0xBF, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xF0, 0x03, + 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x3F, 0xBF, 0x00, 0xFC, 0x7E, 0x03, 0xE0, + 0xFC, 0x0F, 0x81, 0xF8, 0x3E, 0x07, 0xE0, 0xF8, 0x0F, 0xC3, 0xE0, 0x1F, + 0x8F, 0x80, 0x7F, 0x3E, 0x00, 0xFC, 0xF8, 0x01, 0xFB, 0xE0, 0x03, 0xF0, + 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, + 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, + 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, + 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0x00, 0xFF, 0xFF, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFB, 0xC3, 0xDF, 0xFB, + 0xC3, 0xDF, 0xFB, 0xC3, 0xDF, 0xFB, 0xC3, 0xDF, 0xF9, 0xC7, 0xDF, 0xF9, + 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF8, + 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, + 0x7F, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, + 0x3E, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x1F, 0xFE, 0x01, 0xFF, 0xE0, 0x1F, + 0xFF, 0x01, 0xFF, 0xF0, 0x1F, 0xFF, 0x81, 0xFF, 0xF8, 0x1F, 0xFF, 0xC1, + 0xFF, 0xBC, 0x1F, 0xFB, 0xE1, 0xFF, 0x9F, 0x1F, 0xF9, 0xF1, 0xFF, 0x8F, + 0x9F, 0xF8, 0x79, 0xFF, 0x87, 0xDF, 0xF8, 0x3D, 0xFF, 0x83, 0xFF, 0xF8, + 0x1F, 0xFF, 0x81, 0xFF, 0xF8, 0x0F, 0xFF, 0x80, 0xFF, 0xF8, 0x07, 0xFF, + 0x80, 0x3F, 0xF8, 0x03, 0xFF, 0x80, 0x1F, 0x00, 0x7F, 0x00, 0x01, 0xFF, + 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x01, 0xFC, 0x1F, 0xC1, 0xF8, + 0x03, 0xF1, 0xF8, 0x00, 0xFC, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x7C, + 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, + 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0xF8, 0x00, 0x0F, + 0xBE, 0x00, 0x0F, 0x9F, 0x00, 0x07, 0xCF, 0xC0, 0x07, 0xE3, 0xF0, 0x07, + 0xE0, 0xFE, 0x0F, 0xE0, 0x7F, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, + 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xFC, 0x1F, 0xFF, 0xE3, 0xFF, 0xFE, + 0x7F, 0xFF, 0xEF, 0x80, 0xFF, 0xF0, 0x0F, 0xFE, 0x00, 0xFF, 0xC0, 0x1F, + 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x1F, 0xFC, 0x07, 0xEF, 0xFF, 0xFD, + 0xFF, 0xFF, 0x3F, 0xFF, 0xC7, 0xFF, 0xE0, 0xF8, 0x00, 0x1F, 0x00, 0x03, + 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, + 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, + 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x01, 0xFC, 0x1F, 0xC1, 0xF8, + 0x03, 0xF1, 0xF8, 0x00, 0xFC, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x7C, + 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, + 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0xF8, 0x01, 0x0F, + 0xBE, 0x01, 0xCF, 0x9F, 0x01, 0xFF, 0xCF, 0xC0, 0x7F, 0xE3, 0xF0, 0x1F, + 0xE0, 0xFE, 0x0F, 0xF0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, + 0xEF, 0x80, 0x3F, 0xC3, 0x80, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x07, 0xFF, + 0xFE, 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xCF, 0x80, 0x3F, 0x7C, 0x00, 0xFB, + 0xE0, 0x07, 0xDF, 0x00, 0x3E, 0xF8, 0x01, 0xF7, 0xC0, 0x0F, 0x3E, 0x00, + 0xF9, 0xFF, 0xFF, 0x8F, 0xFF, 0xF8, 0x7F, 0xFF, 0xC3, 0xFF, 0xFF, 0x1F, + 0x00, 0xFC, 0xF8, 0x03, 0xE7, 0xC0, 0x1F, 0x3E, 0x00, 0xF9, 0xF0, 0x07, + 0xCF, 0x80, 0x3E, 0x7C, 0x01, 0xF3, 0xE0, 0x0F, 0x9F, 0x00, 0x7C, 0xF8, + 0x03, 0xF7, 0xC0, 0x0F, 0xC0, 0x07, 0xF8, 0x01, 0xFF, 0xF0, 0x3F, 0xFF, + 0x87, 0xFF, 0xFC, 0x7E, 0x0F, 0xCF, 0xC0, 0x7E, 0xF8, 0x03, 0xEF, 0x80, + 0x3E, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0xC0, 0x3F, + 0xFF, 0x81, 0xFF, 0xFC, 0x03, 0xFF, 0xE0, 0x01, 0xFF, 0x00, 0x03, 0xF0, + 0x00, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xFF, 0xE0, 0x7E, + 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0x00, 0x3F, 0xC0, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0x00, 0x03, 0xE0, + 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, + 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, + 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, + 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, + 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, + 0x80, 0x1F, 0x7C, 0x03, 0xE7, 0xE0, 0x7E, 0x3F, 0xFF, 0xC3, 0xFF, 0xFC, + 0x0F, 0xFF, 0x00, 0x3F, 0xC0, 0xF8, 0x00, 0xFB, 0xE0, 0x03, 0xE7, 0xC0, + 0x1F, 0x9F, 0x00, 0x7C, 0x7C, 0x01, 0xF0, 0xF8, 0x07, 0xC3, 0xE0, 0x3E, + 0x0F, 0x80, 0xF8, 0x1E, 0x03, 0xE0, 0x7C, 0x1F, 0x01, 0xF0, 0x7C, 0x03, + 0xC1, 0xF0, 0x0F, 0x87, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x01, 0xE3, + 0xC0, 0x07, 0xCF, 0x00, 0x1F, 0x7C, 0x00, 0x3D, 0xE0, 0x00, 0xFF, 0x80, + 0x03, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x00, + 0xF8, 0x00, 0x03, 0xE0, 0x00, 0xF8, 0x07, 0xC0, 0x3F, 0xF8, 0x07, 0xE0, + 0x3E, 0xFC, 0x07, 0xE0, 0x3E, 0x7C, 0x0F, 0xE0, 0x3E, 0x7C, 0x0F, 0xE0, + 0x7E, 0x7C, 0x0F, 0xE0, 0x7C, 0x7C, 0x0F, 0xF0, 0x7C, 0x3E, 0x0F, 0xF0, + 0x7C, 0x3E, 0x1E, 0xF0, 0x78, 0x3E, 0x1E, 0x70, 0xF8, 0x1E, 0x1E, 0x70, + 0xF8, 0x1E, 0x1E, 0x78, 0xF8, 0x1F, 0x1E, 0x78, 0xF0, 0x1F, 0x3C, 0x78, + 0xF0, 0x0F, 0x3C, 0x39, 0xF0, 0x0F, 0x3C, 0x3D, 0xF0, 0x0F, 0x3C, 0x3D, + 0xE0, 0x0F, 0xBC, 0x3D, 0xE0, 0x07, 0xF8, 0x3D, 0xE0, 0x07, 0xF8, 0x1F, + 0xE0, 0x07, 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, + 0xC0, 0x03, 0xF0, 0x0F, 0x80, 0x03, 0xF0, 0x0F, 0x80, 0x01, 0xF0, 0x0F, + 0x80, 0xFE, 0x01, 0xF9, 0xF8, 0x07, 0xE3, 0xF0, 0x3F, 0x0F, 0xC0, 0xF8, + 0x1F, 0x87, 0xE0, 0x7E, 0x3F, 0x00, 0xFC, 0xFC, 0x01, 0xF7, 0xE0, 0x07, + 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0x7F, 0x00, 0x00, 0xFC, + 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0x80, 0x03, 0xFF, 0x00, + 0x1F, 0x7E, 0x00, 0xFC, 0xF8, 0x03, 0xE3, 0xF0, 0x1F, 0x87, 0xC0, 0x7C, + 0x1F, 0x83, 0xF0, 0x3F, 0x1F, 0x80, 0xFC, 0x7E, 0x01, 0xFB, 0xF0, 0x07, + 0xF0, 0xFC, 0x01, 0xFF, 0xE0, 0x0F, 0x9F, 0x00, 0xFC, 0xFC, 0x07, 0xC3, + 0xE0, 0x7E, 0x1F, 0x83, 0xE0, 0x7C, 0x1F, 0x03, 0xF1, 0xF0, 0x0F, 0x8F, + 0x80, 0x7E, 0xF8, 0x01, 0xF7, 0xC0, 0x0F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, + 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, + 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, + 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7E, 0x00, 0x1F, + 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF8, + 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x00, + 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, + 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x38, 0x06, + 0x01, 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, + 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, 0x0C, 0x03, 0x80, + 0x60, 0x18, 0x07, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, + 0xFF, 0xFF, 0x03, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, + 0x78, 0x1E, 0x78, 0x1E, 0x70, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0x07, 0xF8, 0x07, + 0xFF, 0x83, 0xFF, 0xF1, 0xFF, 0xFE, 0x7C, 0x1F, 0xBE, 0x03, 0xE0, 0x00, + 0xF8, 0x01, 0xFE, 0x0F, 0xFF, 0x8F, 0xFF, 0xE7, 0xF8, 0xFB, 0xF0, 0x3E, + 0xF8, 0x0F, 0xBE, 0x07, 0xEF, 0xC3, 0xFB, 0xFF, 0xFE, 0x7F, 0xFF, 0x8F, + 0xFB, 0xF1, 0xF8, 0xFC, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, + 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE7, 0xE0, 0xFB, 0xFC, + 0x3F, 0xFF, 0xCF, 0xFF, 0xF3, 0xF8, 0x7E, 0xFC, 0x0F, 0xBF, 0x03, 0xFF, + 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xF0, + 0x3F, 0xFC, 0x0F, 0xBF, 0x87, 0xEF, 0xFF, 0xF3, 0xFF, 0xFC, 0xFB, 0xFC, + 0x3E, 0x7E, 0x00, 0x03, 0xF0, 0x07, 0xFE, 0x0F, 0xFF, 0x87, 0xFF, 0xE7, + 0xE1, 0xFB, 0xE0, 0x7F, 0xE0, 0x3F, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, + 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0xFB, 0xE0, 0x7D, 0xF8, 0x7E, 0x7F, + 0xFE, 0x3F, 0xFE, 0x0F, 0xFE, 0x00, 0xFC, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, + 0xF8, 0x1F, 0x1F, 0x0F, 0xFB, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0xBF, 0x8F, + 0xF7, 0xC0, 0x7F, 0xF8, 0x0F, 0xFE, 0x00, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, + 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFE, 0x03, 0xF7, 0xC0, 0x7E, 0xFC, 0x3F, + 0xCF, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, 0xFB, 0xE0, 0xFC, 0x7C, 0x07, 0xE0, + 0x07, 0xFE, 0x03, 0xFF, 0xE0, 0xFF, 0xF8, 0x7E, 0x1F, 0x1F, 0x03, 0xCF, + 0x80, 0xFB, 0xE0, 0x1E, 0xFF, 0xFF, 0xBF, 0xFF, 0xEF, 0xFF, 0xFB, 0xE0, + 0x00, 0xF8, 0x00, 0x3F, 0x03, 0xE7, 0xE1, 0xF9, 0xFF, 0xFC, 0x3F, 0xFE, + 0x07, 0xFF, 0x00, 0x7F, 0x00, 0x0F, 0xC7, 0xF3, 0xFC, 0xFF, 0x3E, 0x0F, + 0x83, 0xE3, 0xFE, 0xFF, 0xBF, 0xE3, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, + 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, + 0x0F, 0x80, 0x07, 0xC7, 0xC3, 0xFD, 0xF3, 0xFF, 0xFC, 0xFF, 0xFF, 0x7E, + 0x1F, 0xDF, 0x03, 0xFF, 0xC0, 0xFF, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, + 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xFC, 0x0F, 0xDF, 0x03, 0xF7, 0xE1, 0xFD, + 0xFF, 0xFF, 0x3F, 0xFF, 0xC7, 0xFD, 0xF0, 0x7C, 0x7C, 0x00, 0x1F, 0x00, + 0x07, 0xFF, 0x03, 0xF7, 0xE1, 0xF9, 0xFF, 0xFC, 0x3F, 0xFE, 0x01, 0xFE, + 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, + 0xC0, 0x03, 0xE0, 0x01, 0xF1, 0xF0, 0xFB, 0xFE, 0x7F, 0xFF, 0xBF, 0xFF, + 0xDF, 0xC3, 0xFF, 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, + 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, + 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xC0, 0xFF, 0xFF, 0xF0, + 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xC0, 0x3E, 0x7C, 0xF9, 0xF0, 0x00, 0x00, 0x1F, 0x3E, 0x7C, 0xF9, + 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, + 0x7C, 0xF9, 0xF3, 0xFF, 0xFF, 0xFE, 0xF8, 0xF8, 0x00, 0x7C, 0x00, 0x3E, + 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x3E, + 0xF8, 0x3E, 0x7C, 0x3F, 0x3E, 0x3F, 0x1F, 0x3F, 0x0F, 0x9F, 0x07, 0xDF, + 0x03, 0xFF, 0x81, 0xFF, 0xC0, 0xFF, 0xF0, 0x7F, 0xF8, 0x3F, 0x7E, 0x1F, + 0x1F, 0x0F, 0x87, 0xC7, 0xC3, 0xF3, 0xE0, 0xF9, 0xF0, 0x7E, 0xF8, 0x1F, + 0x7C, 0x0F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xF8, 0xF8, 0x3F, 0x1F, + 0x7F, 0x9F, 0xF3, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xC3, 0xF8, + 0x7F, 0xF8, 0x3F, 0x07, 0xFE, 0x07, 0xC0, 0xFF, 0xC0, 0xF8, 0x1F, 0xF8, + 0x1F, 0x03, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, 0xFC, 0x0F, 0x81, + 0xFF, 0x81, 0xF0, 0x3F, 0xF0, 0x3E, 0x07, 0xFE, 0x07, 0xC0, 0xFF, 0xC0, + 0xF8, 0x1F, 0xF8, 0x1F, 0x03, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, + 0x80, 0xF8, 0xF8, 0x7D, 0xFF, 0x3F, 0xFF, 0xDF, 0xFF, 0xEF, 0xE1, 0xFF, + 0xE0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, + 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, + 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xE0, 0x03, 0xF8, 0x01, 0xFF, 0xC0, 0x7F, + 0xFC, 0x1F, 0xFF, 0xC7, 0xF0, 0xFC, 0xF8, 0x0F, 0xBF, 0x01, 0xFF, 0xC0, + 0x1F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0xC0, + 0x7E, 0xF8, 0x0F, 0x9F, 0x87, 0xF1, 0xFF, 0xFC, 0x1F, 0xFF, 0x01, 0xFF, + 0xC0, 0x0F, 0xE0, 0x00, 0xF8, 0xF8, 0x3E, 0xFF, 0x8F, 0xFF, 0xF3, 0xFF, + 0xFC, 0xFE, 0x1F, 0xBF, 0x03, 0xEF, 0xC0, 0xFF, 0xE0, 0x1F, 0xF8, 0x07, + 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xFC, 0x0F, 0xFF, 0x03, 0xEF, + 0xE1, 0xFB, 0xFF, 0xFC, 0xFF, 0xFF, 0x3E, 0xFF, 0x0F, 0x8F, 0x83, 0xE0, + 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, + 0x3E, 0x00, 0x00, 0x07, 0xE3, 0xE1, 0xFF, 0x7C, 0x7F, 0xFF, 0x9F, 0xFF, + 0xF7, 0xF1, 0xFE, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, + 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0xC0, 0x7E, 0xF8, 0x0F, + 0xDF, 0x83, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE1, 0xFF, 0x7C, 0x1F, 0x8F, + 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, + 0x00, 0x03, 0xE0, 0x00, 0x7C, 0xF8, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xE1, + 0xF8, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, + 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x00, 0x07, 0xF0, 0x0F, 0xFE, + 0x0F, 0xFF, 0x87, 0xFF, 0xE7, 0xE1, 0xF3, 0xE0, 0x79, 0xF8, 0x00, 0xFF, + 0x80, 0x3F, 0xFC, 0x1F, 0xFF, 0x83, 0xFF, 0xC0, 0x3F, 0xF0, 0x01, 0xFF, + 0xC0, 0x7D, 0xF0, 0x7E, 0xFF, 0xFE, 0x3F, 0xFF, 0x0F, 0xFF, 0x01, 0xFE, + 0x00, 0x3E, 0x1F, 0x0F, 0x87, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0x3E, 0x1F, + 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xF3, + 0xF8, 0xFC, 0x3E, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, + 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, + 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0xFF, 0xF0, 0xFF, 0xFF, + 0xFF, 0x7F, 0xFF, 0x9F, 0xF7, 0xC7, 0xE3, 0xE0, 0x7C, 0x07, 0xCF, 0x80, + 0xF9, 0xF0, 0x1F, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x7C, 0x1F, 0x07, 0x83, + 0xC0, 0xF8, 0xF8, 0x1F, 0x1F, 0x01, 0xE3, 0xC0, 0x3E, 0x78, 0x07, 0xDF, + 0x00, 0x7B, 0xC0, 0x0F, 0xF8, 0x01, 0xFF, 0x00, 0x1F, 0xC0, 0x03, 0xF8, + 0x00, 0x7F, 0x00, 0x07, 0xC0, 0x00, 0xFC, 0x1F, 0x03, 0xEF, 0x83, 0xE0, + 0x7D, 0xF0, 0x7E, 0x1F, 0x3E, 0x0F, 0xC3, 0xE3, 0xC3, 0xF8, 0x7C, 0x7C, + 0x7F, 0x0F, 0x0F, 0x8F, 0xF3, 0xE1, 0xF1, 0xDE, 0x7C, 0x1E, 0x7B, 0xCF, + 0x83, 0xEF, 0x39, 0xE0, 0x7D, 0xE7, 0x3C, 0x07, 0xB8, 0xFF, 0x80, 0xF7, + 0x1F, 0xE0, 0x1F, 0xE3, 0xFC, 0x03, 0xFC, 0x3F, 0x80, 0x3F, 0x07, 0xF0, + 0x07, 0xE0, 0xFC, 0x00, 0xFC, 0x1F, 0x80, 0x0F, 0x83, 0xF0, 0x00, 0xFC, + 0x1F, 0x9F, 0x07, 0xE7, 0xE3, 0xF0, 0xF8, 0xF8, 0x1F, 0x7E, 0x07, 0xDF, + 0x00, 0xFF, 0x80, 0x1F, 0xE0, 0x07, 0xF0, 0x00, 0xF8, 0x00, 0x7F, 0x00, + 0x3F, 0xE0, 0x0F, 0xF8, 0x07, 0xDF, 0x03, 0xF7, 0xE0, 0xF8, 0xF8, 0x7E, + 0x3F, 0x1F, 0x07, 0xEF, 0xC0, 0xF8, 0x7C, 0x03, 0xEF, 0x80, 0xF9, 0xF8, + 0x1F, 0x1F, 0x03, 0xE3, 0xE0, 0xF8, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, + 0x78, 0x0F, 0x1F, 0x01, 0xF3, 0xC0, 0x3E, 0x78, 0x03, 0xDF, 0x00, 0x7F, + 0xC0, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, + 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x07, 0xF8, + 0x00, 0xFE, 0x00, 0x1F, 0x80, 0x03, 0xE0, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, + 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, + 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, + 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x87, + 0xC7, 0xE3, 0xF1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, + 0xE0, 0xF0, 0xF9, 0xF8, 0xF0, 0x7E, 0x0F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, + 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xFC, 0x7E, 0x1F, 0x07, 0x80, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xE0, 0xF0, 0x7C, 0x3E, 0x1F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, + 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x7C, 0x1F, 0x83, 0xC7, 0xE7, 0xC3, + 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC7, 0xE3, 0xE1, + 0xF0, 0xF0, 0x00, 0x3C, 0x00, 0xFE, 0x0F, 0xFE, 0x1E, 0x1F, 0xFC, 0x0F, + 0xC0, 0x0F, 0x00 }; + +const GFXglyph FreeSansBold18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' + { 0, 5, 25, 12, 4, -24 }, // 0x21 '!' + { 16, 13, 9, 17, 2, -25 }, // 0x22 '"' + { 31, 20, 24, 19, 0, -23 }, // 0x23 '#' + { 91, 19, 29, 19, 0, -25 }, // 0x24 '$' + { 160, 29, 25, 31, 1, -24 }, // 0x25 '%' + { 251, 22, 25, 25, 2, -24 }, // 0x26 '&' + { 320, 5, 9, 9, 2, -25 }, // 0x27 ''' + { 326, 9, 33, 12, 1, -25 }, // 0x28 '(' + { 364, 9, 33, 12, 1, -25 }, // 0x29 ')' + { 402, 12, 11, 14, 0, -25 }, // 0x2A '*' + { 419, 16, 16, 20, 2, -15 }, // 0x2B '+' + { 451, 5, 11, 9, 2, -4 }, // 0x2C ',' + { 458, 9, 4, 12, 1, -10 }, // 0x2D '-' + { 463, 5, 5, 9, 2, -4 }, // 0x2E '.' + { 467, 9, 25, 10, 0, -24 }, // 0x2F '/' + { 496, 17, 25, 19, 1, -24 }, // 0x30 '0' + { 550, 10, 25, 19, 3, -24 }, // 0x31 '1' + { 582, 17, 25, 19, 1, -24 }, // 0x32 '2' + { 636, 17, 25, 19, 1, -24 }, // 0x33 '3' + { 690, 16, 25, 19, 2, -24 }, // 0x34 '4' + { 740, 17, 25, 19, 1, -24 }, // 0x35 '5' + { 794, 18, 25, 19, 1, -24 }, // 0x36 '6' + { 851, 17, 25, 19, 1, -24 }, // 0x37 '7' + { 905, 17, 25, 19, 1, -24 }, // 0x38 '8' + { 959, 17, 25, 19, 1, -24 }, // 0x39 '9' + { 1013, 5, 18, 9, 2, -17 }, // 0x3A ':' + { 1025, 5, 24, 9, 2, -17 }, // 0x3B ';' + { 1040, 18, 17, 20, 1, -16 }, // 0x3C '<' + { 1079, 17, 12, 20, 2, -13 }, // 0x3D '=' + { 1105, 18, 17, 20, 1, -16 }, // 0x3E '>' + { 1144, 18, 26, 21, 2, -25 }, // 0x3F '?' + { 1203, 32, 31, 34, 1, -25 }, // 0x40 '@' + { 1327, 24, 26, 24, 0, -25 }, // 0x41 'A' + { 1405, 20, 26, 25, 3, -25 }, // 0x42 'B' + { 1470, 23, 26, 25, 1, -25 }, // 0x43 'C' + { 1545, 21, 26, 25, 3, -25 }, // 0x44 'D' + { 1614, 19, 26, 23, 3, -25 }, // 0x45 'E' + { 1676, 17, 26, 22, 3, -25 }, // 0x46 'F' + { 1732, 24, 26, 27, 1, -25 }, // 0x47 'G' + { 1810, 20, 26, 26, 3, -25 }, // 0x48 'H' + { 1875, 5, 26, 11, 3, -25 }, // 0x49 'I' + { 1892, 16, 26, 20, 1, -25 }, // 0x4A 'J' + { 1944, 22, 26, 25, 3, -25 }, // 0x4B 'K' + { 2016, 17, 26, 22, 3, -25 }, // 0x4C 'L' + { 2072, 24, 26, 30, 3, -25 }, // 0x4D 'M' + { 2150, 20, 26, 26, 3, -25 }, // 0x4E 'N' + { 2215, 25, 26, 27, 1, -25 }, // 0x4F 'O' + { 2297, 19, 26, 24, 3, -25 }, // 0x50 'P' + { 2359, 25, 27, 27, 1, -25 }, // 0x51 'Q' + { 2444, 21, 26, 25, 3, -25 }, // 0x52 'R' + { 2513, 20, 26, 24, 2, -25 }, // 0x53 'S' + { 2578, 19, 26, 23, 2, -25 }, // 0x54 'T' + { 2640, 20, 26, 26, 3, -25 }, // 0x55 'U' + { 2705, 22, 26, 23, 1, -25 }, // 0x56 'V' + { 2777, 32, 26, 34, 1, -25 }, // 0x57 'W' + { 2881, 22, 26, 24, 1, -25 }, // 0x58 'X' + { 2953, 21, 26, 22, 1, -25 }, // 0x59 'Y' + { 3022, 19, 26, 21, 1, -25 }, // 0x5A 'Z' + { 3084, 8, 33, 12, 2, -25 }, // 0x5B '[' + { 3117, 10, 25, 10, 0, -24 }, // 0x5C '\' + { 3149, 8, 33, 12, 1, -25 }, // 0x5D ']' + { 3182, 16, 15, 20, 2, -23 }, // 0x5E '^' + { 3212, 21, 3, 19, -1, 5 }, // 0x5F '_' + { 3220, 7, 5, 9, 1, -25 }, // 0x60 '`' + { 3225, 18, 19, 20, 1, -18 }, // 0x61 'a' + { 3268, 18, 26, 22, 2, -25 }, // 0x62 'b' + { 3327, 17, 19, 20, 1, -18 }, // 0x63 'c' + { 3368, 19, 26, 22, 1, -25 }, // 0x64 'd' + { 3430, 18, 19, 20, 1, -18 }, // 0x65 'e' + { 3473, 10, 26, 12, 1, -25 }, // 0x66 'f' + { 3506, 18, 26, 21, 1, -18 }, // 0x67 'g' + { 3565, 17, 26, 21, 2, -25 }, // 0x68 'h' + { 3621, 5, 26, 10, 2, -25 }, // 0x69 'i' + { 3638, 7, 33, 10, 0, -25 }, // 0x6A 'j' + { 3667, 17, 26, 20, 2, -25 }, // 0x6B 'k' + { 3723, 5, 26, 9, 2, -25 }, // 0x6C 'l' + { 3740, 27, 19, 31, 2, -18 }, // 0x6D 'm' + { 3805, 17, 19, 21, 2, -18 }, // 0x6E 'n' + { 3846, 19, 19, 21, 1, -18 }, // 0x6F 'o' + { 3892, 18, 26, 22, 2, -18 }, // 0x70 'p' + { 3951, 19, 26, 22, 1, -18 }, // 0x71 'q' + { 4013, 11, 19, 14, 2, -18 }, // 0x72 'r' + { 4040, 17, 19, 19, 1, -18 }, // 0x73 's' + { 4081, 9, 23, 12, 1, -22 }, // 0x74 't' + { 4107, 17, 19, 21, 2, -18 }, // 0x75 'u' + { 4148, 19, 19, 19, 0, -18 }, // 0x76 'v' + { 4194, 27, 19, 27, 0, -18 }, // 0x77 'w' + { 4259, 18, 19, 19, 1, -18 }, // 0x78 'x' + { 4302, 19, 26, 19, 0, -18 }, // 0x79 'y' + { 4364, 16, 19, 18, 1, -18 }, // 0x7A 'z' + { 4402, 9, 33, 14, 1, -25 }, // 0x7B '{' + { 4440, 3, 33, 10, 4, -25 }, // 0x7C '|' + { 4453, 9, 33, 14, 3, -25 }, // 0x7D '}' + { 4491, 15, 6, 18, 1, -10 } }; // 0x7E '~' + +const GFXfont FreeSansBold18pt7b PROGMEM = { + (uint8_t *)FreeSansBold18pt7bBitmaps, + (GFXglyph *)FreeSansBold18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 5175 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h new file mode 100644 index 0000000..aadc9a1 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h @@ -0,0 +1,784 @@ +const uint8_t FreeSansBold24pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xDF, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xC7, 0x0E, 0x1C, 0x00, 0x00, 0x07, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, + 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFD, 0xF0, 0x3E, + 0x7C, 0x0F, 0x9F, 0x03, 0xE3, 0x80, 0x70, 0xE0, 0x1C, 0x00, 0xF8, 0x3E, + 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x00, 0xF8, + 0x7C, 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC1, 0xFF, 0xFF, 0xFF, 0x7F, + 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, + 0x03, 0xE0, 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x1F, 0x00, 0x1F, 0x07, + 0xC0, 0x07, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, 0x03, 0xFF, + 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, + 0xFF, 0xFF, 0xFC, 0x0F, 0x87, 0xC0, 0x07, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, + 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC0, 0x07, 0xC3, 0xE0, 0x03, 0xE0, + 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x1C, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, + 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0x73, 0xFE, 0x7F, 0x38, + 0xFF, 0x3F, 0x1C, 0x3F, 0xDF, 0x8E, 0x0F, 0xEF, 0xC7, 0x07, 0xF7, 0xE3, + 0x80, 0x03, 0xF9, 0xC0, 0x01, 0xFE, 0xE0, 0x00, 0x7F, 0xF0, 0x00, 0x3F, + 0xFC, 0x00, 0x0F, 0xFF, 0xC0, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x80, + 0x0F, 0xFF, 0xE0, 0x01, 0xFF, 0xF8, 0x00, 0xE7, 0xFC, 0x00, 0x71, 0xFF, + 0x00, 0x38, 0x7F, 0xFF, 0x1C, 0x1F, 0xFF, 0x8E, 0x0F, 0xFF, 0xC7, 0x07, + 0xFF, 0xE3, 0x87, 0xFB, 0xF9, 0xC3, 0xF9, 0xFE, 0xE7, 0xFC, 0x7F, 0xFF, + 0xFC, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x00, 0x3F, + 0xE0, 0x00, 0x03, 0x80, 0x00, 0x01, 0xC0, 0x00, 0x00, 0xE0, 0x00, 0x00, + 0x70, 0x00, 0x03, 0xE0, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x00, 0x78, 0x00, + 0x7F, 0xF8, 0x01, 0xE0, 0x01, 0xFF, 0xF0, 0x03, 0xC0, 0x07, 0xFF, 0xF0, + 0x0F, 0x00, 0x0F, 0x83, 0xE0, 0x1E, 0x00, 0x3E, 0x03, 0xE0, 0x78, 0x00, + 0x78, 0x03, 0xC0, 0xF0, 0x00, 0xF0, 0x07, 0x83, 0xC0, 0x01, 0xE0, 0x0F, + 0x07, 0x80, 0x03, 0xE0, 0x3E, 0x1E, 0x00, 0x03, 0xE0, 0xF8, 0x3C, 0x00, + 0x07, 0xFF, 0xF0, 0xF0, 0x00, 0x07, 0xFF, 0xC1, 0xE0, 0x00, 0x07, 0xFF, + 0x07, 0x80, 0x00, 0x07, 0xFC, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0xFF, 0x80, 0x00, + 0x07, 0x87, 0xFF, 0xC0, 0x00, 0x0F, 0x0F, 0xFF, 0x80, 0x00, 0x3C, 0x3F, + 0xFF, 0x80, 0x00, 0x78, 0xFC, 0x1F, 0x00, 0x01, 0xE1, 0xF0, 0x1F, 0x00, + 0x03, 0xC3, 0xC0, 0x1E, 0x00, 0x0F, 0x07, 0x80, 0x3C, 0x00, 0x1E, 0x0F, + 0x00, 0x78, 0x00, 0x78, 0x1F, 0x01, 0xF0, 0x00, 0xF0, 0x1F, 0x07, 0xC0, + 0x03, 0xC0, 0x3F, 0xFF, 0x80, 0x07, 0x80, 0x3F, 0xFE, 0x00, 0x1E, 0x00, + 0x7F, 0xF8, 0x00, 0x7C, 0x00, 0x3F, 0xE0, 0x00, 0xF0, 0x00, 0x1F, 0x00, + 0x00, 0x3F, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, + 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xCF, 0xC0, 0x00, 0xFE, + 0x1F, 0x00, 0x03, 0xF8, 0x7C, 0x00, 0x0F, 0xE1, 0xF0, 0x00, 0x3F, 0xC7, + 0xC0, 0x00, 0x7F, 0x3E, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xC0, + 0x00, 0x07, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, + 0x07, 0xFF, 0x03, 0xE0, 0x3F, 0xFE, 0x0F, 0x83, 0xFF, 0xF8, 0x3E, 0x1F, + 0xF3, 0xF1, 0xF8, 0x7F, 0x07, 0xE7, 0xE3, 0xFC, 0x1F, 0xFF, 0x0F, 0xE0, + 0x3F, 0xFC, 0x3F, 0x80, 0x7F, 0xF0, 0xFE, 0x01, 0xFF, 0x83, 0xF8, 0x03, + 0xFE, 0x0F, 0xF0, 0x0F, 0xF0, 0x3F, 0xE0, 0x7F, 0xE0, 0x7F, 0xC3, 0xFF, + 0xC1, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFB, 0xFC, + 0x0F, 0xFF, 0xC7, 0xF8, 0x1F, 0xFE, 0x0F, 0xE0, 0x0F, 0xE0, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x7C, 0xF8, 0xE1, 0xC0, 0x00, + 0xF0, 0x0F, 0x80, 0xF8, 0x07, 0xC0, 0x7C, 0x07, 0xE0, 0x3E, 0x03, 0xF0, + 0x1F, 0x80, 0xF8, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, + 0xC0, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, + 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x3F, 0x00, 0xF8, 0x07, 0xE0, 0x3F, 0x01, + 0xF8, 0x07, 0xC0, 0x3F, 0x01, 0xF8, 0x07, 0xC0, 0x3F, 0x00, 0xF8, 0x07, + 0xE0, 0x1F, 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xE0, 0x78, + 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, + 0x0F, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0xC0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, + 0x7E, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, + 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xE0, 0x3F, 0x01, 0xF8, + 0x0F, 0xC0, 0x7C, 0x07, 0xE0, 0x3F, 0x01, 0xF0, 0x1F, 0x80, 0xF8, 0x0F, + 0xC0, 0x7C, 0x07, 0xE0, 0x3E, 0x03, 0xF0, 0x1F, 0x01, 0xF0, 0x00, 0x03, + 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x06, 0x38, 0xDF, 0xFF, 0xFF, 0xFF, + 0x9F, 0xFE, 0x07, 0xC0, 0x1F, 0xC0, 0x3F, 0x80, 0xF7, 0x83, 0xC7, 0x87, + 0x8F, 0x02, 0x08, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, + 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, + 0x00, 0x3E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x1F, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, + 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x87, 0x0E, 0x1C, 0x78, 0xEF, 0xDF, 0x38, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x80, 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, + 0x70, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x38, + 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, + 0xE0, 0x07, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, + 0x03, 0x80, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF8, 0x1F, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xC3, 0xFC, 0x7F, 0x81, 0xFE, 0x7F, + 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x7F, + 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x81, 0xFE, 0x3F, + 0xC3, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x0F, + 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x3C, 0x01, 0xF0, + 0x07, 0xC0, 0x3F, 0x01, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, + 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, + 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, + 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x01, 0xFE, 0x00, 0x0F, 0xFF, 0x80, + 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x9F, + 0xE0, 0xFF, 0x7F, 0x80, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, + 0x03, 0xFF, 0xF0, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7F, + 0xC0, 0x01, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x00, + 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x00, 0x01, + 0xFC, 0x00, 0x03, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, + 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0x01, 0xFE, 0x00, 0x0F, + 0xFF, 0x80, 0x7F, 0xFF, 0x81, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x8F, 0xFF, + 0xFF, 0x1F, 0xE1, 0xFF, 0x7F, 0x81, 0xFE, 0xFE, 0x01, 0xFD, 0xFC, 0x03, + 0xFB, 0xF8, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7F, + 0x00, 0x01, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0xC0, + 0x00, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0xC0, + 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, + 0x07, 0xFF, 0xF8, 0x0F, 0xF7, 0xF8, 0x3F, 0xCF, 0xFF, 0xFF, 0x9F, 0xFF, + 0xFE, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x07, 0xF8, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, + 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x7B, 0xF8, 0x01, + 0xEF, 0xE0, 0x0F, 0x3F, 0x80, 0x78, 0xFE, 0x01, 0xE3, 0xF8, 0x0F, 0x0F, + 0xE0, 0x38, 0x3F, 0x81, 0xE0, 0xFE, 0x07, 0x03, 0xF8, 0x3C, 0x0F, 0xE1, + 0xE0, 0x3F, 0x87, 0x00, 0xFE, 0x3C, 0x03, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, + 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x1F, 0xFF, 0xFC, 0x3F, + 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xC7, 0xFF, + 0xFF, 0x8F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, + 0x01, 0xF1, 0xF8, 0x03, 0xEF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, + 0x1F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFC, 0xFE, 0x07, 0xFC, 0x00, 0x07, 0xF8, + 0x00, 0x07, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, + 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xF8, + 0x0F, 0xF7, 0xF8, 0x3F, 0xEF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x0F, 0xFF, + 0xFC, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x00, 0xFF, + 0x00, 0x07, 0xFF, 0x80, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x81, 0xFF, 0xFF, + 0x87, 0xFF, 0xFF, 0x8F, 0xF0, 0xFF, 0x3F, 0xC0, 0xFE, 0x7F, 0x00, 0x00, + 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE3, 0xF0, 0x1F, + 0xDF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF9, 0xFF, + 0x87, 0xFB, 0xFC, 0x07, 0xF7, 0xF8, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, + 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0x7E, 0x00, 0xFE, 0xFC, 0x01, + 0xFD, 0xFC, 0x07, 0xFB, 0xF8, 0x0F, 0xE3, 0xFC, 0x7F, 0xC7, 0xFF, 0xFF, + 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0x80, + 0x03, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0x00, + 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, + 0x7F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, + 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xF0, + 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x00, + 0x01, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x7F, 0x83, 0xFC, 0x7F, + 0x00, 0xFC, 0x7E, 0x00, 0xFC, 0x7E, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0x7E, + 0x00, 0xFC, 0x3F, 0x00, 0xF8, 0x3F, 0x83, 0xF8, 0x0F, 0xFF, 0xF0, 0x07, + 0xFF, 0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF8, 0x3F, 0xC3, 0xFC, 0x7F, + 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, + 0x00, 0xFE, 0x7F, 0x83, 0xFE, 0x7F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, + 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x07, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, + 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x3F, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xC3, 0xFC, 0x7F, 0x01, 0xFE, 0xFF, + 0x00, 0xFE, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0x7F, + 0x01, 0xFF, 0x7F, 0xC3, 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x1F, + 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0x07, 0xFE, 0x7F, 0x01, 0xFC, 0x7E, 0x00, + 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x7F, 0x01, 0xFC, 0x7F, + 0x83, 0xFC, 0x7F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF0, 0x1F, + 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x1C, 0x38, 0x71, 0xE7, 0xBF, 0x7C, 0xE0, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xF0, 0x01, + 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x7F, 0xFC, + 0x01, 0xFF, 0xC0, 0x03, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xE0, 0x00, + 0x1F, 0xF8, 0x00, 0x3F, 0xFE, 0x00, 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, + 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xE0, + 0x00, 0x03, 0xC0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x80, 0x00, + 0x01, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xFE, 0x00, + 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xF0, 0x00, 0x7F, 0xFC, + 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0xE0, + 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0xFF, 0xF8, 0x0F, 0xFF, 0x80, 0xFF, + 0xFC, 0x03, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x1E, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xFF, 0xC0, 0x1F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x7F, + 0x83, 0xFE, 0x7F, 0x01, 0xFE, 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x00, + 0x01, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, 0x00, + 0x3F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, 0x7F, 0x80, 0x00, 0x7F, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xE0, + 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, + 0x03, 0xFE, 0x01, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x7F, + 0x80, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x07, 0xF0, 0x00, + 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x3F, 0x00, 0x00, 0x00, + 0x3E, 0x0F, 0xC0, 0x07, 0xE3, 0xC3, 0xE1, 0xF0, 0x03, 0xFE, 0xF8, 0x3C, + 0x7E, 0x01, 0xFF, 0xFF, 0x07, 0x8F, 0x80, 0x7E, 0x1F, 0xC0, 0x7B, 0xF0, + 0x1F, 0x81, 0xF8, 0x0F, 0x7C, 0x03, 0xE0, 0x1F, 0x01, 0xEF, 0x80, 0xF8, + 0x03, 0xC0, 0x3F, 0xF0, 0x1E, 0x00, 0x78, 0x07, 0xFC, 0x07, 0xC0, 0x0F, + 0x00, 0xFF, 0x80, 0xF0, 0x01, 0xE0, 0x1F, 0xF0, 0x1E, 0x00, 0x38, 0x07, + 0xFE, 0x07, 0xC0, 0x0F, 0x00, 0xFF, 0xC0, 0xF8, 0x01, 0xE0, 0x1E, 0xF8, + 0x1F, 0x00, 0x38, 0x07, 0xDF, 0x03, 0xE0, 0x0F, 0x00, 0xF3, 0xF0, 0x7C, + 0x03, 0xE0, 0x3E, 0x3E, 0x0F, 0xC0, 0xFC, 0x0F, 0x87, 0xC0, 0xFC, 0x3F, + 0xC7, 0xF0, 0xFC, 0x1F, 0xFF, 0xFF, 0xFC, 0x0F, 0xC1, 0xFF, 0xEF, 0xFF, + 0x01, 0xFC, 0x1F, 0xF8, 0xFF, 0x80, 0x1F, 0xC0, 0xFC, 0x07, 0xC0, 0x01, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x60, 0x00, 0x01, 0xFF, 0xFF, + 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFF, 0xF0, + 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, + 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, + 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, + 0x3F, 0xFE, 0x00, 0x00, 0x3F, 0x7E, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, + 0x7F, 0x7F, 0x00, 0x00, 0x7E, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x80, 0x00, + 0xFE, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0x80, 0x01, 0xFC, 0x1F, 0xC0, 0x01, + 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x0F, 0xE0, 0x03, 0xF8, 0x0F, 0xE0, 0x03, + 0xF0, 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF0, 0x07, 0xFF, 0xFF, 0xF0, 0x07, + 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, + 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, + 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x00, 0xFE, 0x3F, 0x80, 0x00, 0xFE, 0x7F, + 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0xFF, + 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, + 0x8F, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0x3F, 0x80, 0x1F, 0xF7, 0xF0, + 0x01, 0xFE, 0xFE, 0x00, 0x1F, 0xDF, 0xC0, 0x03, 0xFB, 0xF8, 0x00, 0x7F, + 0x7F, 0x00, 0x1F, 0xCF, 0xE0, 0x07, 0xF9, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, + 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xE3, + 0xFF, 0xFF, 0xFE, 0x7F, 0x00, 0x1F, 0xEF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, + 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, + 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xEF, 0xFF, 0xFF, + 0xFD, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xF8, 0xFF, + 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFF, + 0xF8, 0x00, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, + 0xE0, 0x3F, 0xFF, 0xFF, 0xC1, 0xFF, 0x81, 0xFF, 0x0F, 0xF8, 0x01, 0xFE, + 0x3F, 0xC0, 0x07, 0xF9, 0xFE, 0x00, 0x0F, 0xE7, 0xF8, 0x00, 0x1F, 0xDF, + 0xC0, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0F, 0xE0, + 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, + 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, + 0x7F, 0x00, 0x01, 0xFD, 0xFC, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x3F, 0xCF, + 0xF0, 0x00, 0xFE, 0x3F, 0xE0, 0x07, 0xF8, 0x7F, 0xE0, 0x7F, 0xC0, 0xFF, + 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, + 0xFE, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, + 0x0F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, 0xFE, 0x00, 0xFF, 0xCF, 0xE0, 0x03, + 0xFC, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x01, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, + 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, + 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, + 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, + 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x1F, + 0xEF, 0xE0, 0x01, 0xFE, 0xFE, 0x00, 0x3F, 0xCF, 0xE0, 0x0F, 0xFC, 0xFF, + 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, + 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, + 0xFF, 0xFF, 0xFB, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, + 0x07, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFE, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x9F, 0xC0, 0x00, 0x0F, 0xE0, + 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xFF, + 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFC, 0xFF, 0xFF, 0xFC, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, + 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, + 0x07, 0xFE, 0x03, 0xFF, 0x0F, 0xF0, 0x01, 0xFE, 0x3F, 0xC0, 0x01, 0xFC, + 0x7F, 0x00, 0x01, 0xFD, 0xFE, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x00, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF8, + 0x00, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xC0, + 0x07, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0xBF, 0x80, 0x00, 0x3F, 0x7F, 0x00, + 0x00, 0x7E, 0xFF, 0x00, 0x01, 0xFC, 0xFF, 0x00, 0x03, 0xF9, 0xFF, 0x00, + 0x0F, 0xF1, 0xFF, 0x00, 0x3F, 0xE3, 0xFF, 0x83, 0xFF, 0xC3, 0xFF, 0xFF, + 0xFF, 0x83, 0xFF, 0xFF, 0xDF, 0x03, 0xFF, 0xFF, 0x9E, 0x03, 0xFF, 0xFE, + 0x3C, 0x01, 0xFF, 0xF0, 0x78, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x0F, + 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, + 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, + 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, + 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, + 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, + 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, + 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, + 0xFF, 0xC0, 0x01, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x01, + 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, + 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, + 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, + 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, + 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0xE0, + 0x1F, 0xFF, 0x80, 0x7F, 0xFE, 0x01, 0xFF, 0xF8, 0x07, 0xFF, 0xE0, 0x1F, + 0xFF, 0xC0, 0xFF, 0xFF, 0x87, 0xFD, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0x8F, + 0xFF, 0xFC, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0xFE, + 0x00, 0x0F, 0xF3, 0xF8, 0x00, 0x7F, 0x8F, 0xE0, 0x03, 0xFC, 0x3F, 0x80, + 0x1F, 0xE0, 0xFE, 0x00, 0xFF, 0x83, 0xF8, 0x07, 0xFC, 0x0F, 0xE0, 0x1F, + 0xE0, 0x3F, 0x80, 0xFF, 0x00, 0xFE, 0x07, 0xF8, 0x03, 0xF8, 0x3F, 0xC0, + 0x0F, 0xE1, 0xFE, 0x00, 0x3F, 0x8F, 0xF0, 0x00, 0xFE, 0x7F, 0x80, 0x03, + 0xFB, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0xFF, + 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x3F, 0xF7, + 0xF8, 0x00, 0xFF, 0x8F, 0xF0, 0x03, 0xFC, 0x3F, 0xC0, 0x0F, 0xE0, 0x7F, + 0x80, 0x3F, 0x80, 0xFF, 0x00, 0xFE, 0x01, 0xFE, 0x03, 0xF8, 0x07, 0xFC, + 0x0F, 0xE0, 0x0F, 0xF0, 0x3F, 0x80, 0x1F, 0xE0, 0xFE, 0x00, 0x3F, 0xC3, + 0xF8, 0x00, 0xFF, 0x8F, 0xE0, 0x01, 0xFE, 0x3F, 0x80, 0x03, 0xFC, 0xFE, + 0x00, 0x07, 0xFB, 0xF8, 0x00, 0x1F, 0xF0, 0xFE, 0x00, 0x01, 0xFC, 0x00, + 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, + 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, + 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, + 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, + 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, + 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xE0, 0x03, + 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xFC, 0x00, + 0x7F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0xC0, + 0x1F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFC, + 0x07, 0xFF, 0xFF, 0xBE, 0x03, 0xEF, 0xFF, 0xDF, 0x01, 0xF7, 0xFF, 0xEF, + 0x80, 0xFB, 0xFF, 0xF7, 0xC0, 0xFD, 0xFF, 0xFB, 0xF0, 0x7C, 0xFF, 0xFC, + 0xF8, 0x3E, 0x7F, 0xFE, 0x7C, 0x1F, 0x3F, 0xFF, 0x3E, 0x0F, 0x9F, 0xFF, + 0x9F, 0x8F, 0x8F, 0xFF, 0xC7, 0xC7, 0xC7, 0xFF, 0xE3, 0xE3, 0xE3, 0xFF, + 0xF1, 0xF1, 0xF1, 0xFF, 0xF8, 0xFC, 0xF8, 0xFF, 0xFC, 0x3E, 0xF8, 0x7F, + 0xFE, 0x1F, 0x7C, 0x3F, 0xFF, 0x0F, 0xBE, 0x1F, 0xFF, 0x87, 0xDF, 0x0F, + 0xFF, 0xC3, 0xFF, 0x07, 0xFF, 0xE0, 0xFF, 0x83, 0xFF, 0xF0, 0x7F, 0xC1, + 0xFF, 0xF8, 0x3F, 0xE0, 0xFF, 0xFC, 0x1F, 0xF0, 0x7F, 0xFE, 0x07, 0xF0, + 0x3F, 0xFF, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, + 0x7F, 0xFF, 0x80, 0x07, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xC0, 0x07, 0xFF, + 0xFC, 0x00, 0x7F, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, + 0x07, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xF8, 0x07, 0xFF, 0xEF, 0xC0, 0x7F, + 0xFE, 0xFE, 0x07, 0xFF, 0xE7, 0xE0, 0x7F, 0xFE, 0x7F, 0x07, 0xFF, 0xE3, + 0xF0, 0x7F, 0xFE, 0x1F, 0x87, 0xFF, 0xE1, 0xFC, 0x7F, 0xFE, 0x0F, 0xC7, + 0xFF, 0xE0, 0xFE, 0x7F, 0xFE, 0x07, 0xE7, 0xFF, 0xE0, 0x3F, 0x7F, 0xFE, + 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xE0, 0x0F, + 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xE0, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, + 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0xFF, 0xFE, 0x00, + 0x0F, 0xFF, 0xE0, 0x00, 0x7F, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, + 0x80, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, + 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x3F, 0xC0, + 0x0F, 0xF8, 0x3F, 0xC0, 0x01, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, + 0x00, 0x3F, 0xCF, 0xE0, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, 0xF7, 0xF8, + 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFE, + 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x0F, 0xFF, + 0xC0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x01, 0xFF, + 0xFC, 0x00, 0x01, 0xFE, 0xFE, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x7F, + 0x3F, 0xC0, 0x00, 0x7F, 0x8F, 0xE0, 0x00, 0x3F, 0x87, 0xF8, 0x00, 0x3F, + 0xC1, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, + 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, + 0xE0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0xFF, + 0xE0, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFC, 0xFF, + 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xEF, 0xE0, 0x0F, 0xFB, 0xF8, 0x00, 0xFF, + 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xF8, 0x00, + 0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF8, + 0x03, 0xFE, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, + 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x0F, 0xE0, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xE0, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, + 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x7F, 0xFF, + 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, + 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x3F, 0xC0, 0x07, 0xF8, 0x3F, 0xC0, + 0x01, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, 0x3F, 0xCF, 0xE0, + 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x03, 0xFF, 0xF8, + 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x3F, 0xFF, + 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x07, 0xFF, + 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x21, 0xFE, + 0xFE, 0x00, 0x38, 0xFE, 0x7F, 0x00, 0x3E, 0x7F, 0x3F, 0xC0, 0x3F, 0xFF, + 0x8F, 0xE0, 0x0F, 0xFF, 0x87, 0xF8, 0x03, 0xFF, 0xC1, 0xFE, 0x00, 0xFF, + 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, + 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, + 0xCF, 0xC0, 0x01, 0xFF, 0x03, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, + 0xF8, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF8, + 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFC, 0xFE, 0x00, 0x3F, 0xEF, 0xE0, + 0x01, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, + 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0xFC, 0xFE, + 0x00, 0x3F, 0xCF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x8F, + 0xE0, 0x07, 0xF8, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, + 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, + 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, + 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x00, 0xFF, 0x00, 0xFF, 0xC0, + 0x00, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xF0, 0x3F, + 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFC, 0x7F, 0xC0, 0xFF, 0xCF, 0xF0, 0x03, + 0xFE, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, + 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x7F, 0xFC, + 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xF0, + 0x07, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, + 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, + 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, + 0x00, 0x0F, 0xE7, 0xFC, 0x03, 0xFE, 0x7F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, + 0xFC, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFC, 0x00, + 0x07, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, + 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, + 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, + 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, + 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, + 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, + 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, + 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, + 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, + 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, + 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, + 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, + 0x01, 0xFF, 0xFC, 0x00, 0x7F, 0xBF, 0xC0, 0x1F, 0xE7, 0xFC, 0x07, 0xFC, + 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, + 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x03, + 0xFF, 0xF0, 0x00, 0x1F, 0xDF, 0xC0, 0x01, 0xFC, 0xFE, 0x00, 0x0F, 0xE7, + 0xF0, 0x00, 0x7F, 0x1F, 0xC0, 0x03, 0xF0, 0xFE, 0x00, 0x3F, 0x87, 0xF0, + 0x01, 0xFC, 0x1F, 0xC0, 0x0F, 0xC0, 0xFE, 0x00, 0xFE, 0x03, 0xF0, 0x07, + 0xF0, 0x1F, 0x80, 0x3F, 0x00, 0xFE, 0x03, 0xF8, 0x03, 0xF0, 0x1F, 0xC0, + 0x1F, 0x80, 0xFC, 0x00, 0xFE, 0x07, 0xE0, 0x03, 0xF0, 0x7F, 0x00, 0x1F, + 0x83, 0xF0, 0x00, 0xFE, 0x1F, 0x80, 0x03, 0xF1, 0xF8, 0x00, 0x1F, 0x8F, + 0xC0, 0x00, 0xFC, 0x7E, 0x00, 0x03, 0xF3, 0xE0, 0x00, 0x1F, 0xBF, 0x00, + 0x00, 0xFD, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0xFC, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFF, + 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x1F, 0xFF, 0xE0, 0x07, 0xF0, 0x03, 0xFD, + 0xFC, 0x01, 0xFE, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0xE0, 0x0F, 0xE7, 0xF0, + 0x07, 0xFC, 0x01, 0xFC, 0x7F, 0x00, 0xFF, 0x80, 0x7F, 0x8F, 0xE0, 0x1F, + 0xF0, 0x0F, 0xE1, 0xFC, 0x07, 0xFF, 0x01, 0xFC, 0x3F, 0x80, 0xFB, 0xE0, + 0x3F, 0x83, 0xF0, 0x1F, 0x7C, 0x07, 0xE0, 0x7F, 0x03, 0xEF, 0x81, 0xFC, + 0x0F, 0xE0, 0x7D, 0xF0, 0x3F, 0x80, 0xFC, 0x1F, 0x9F, 0x07, 0xF0, 0x1F, + 0x83, 0xE3, 0xE0, 0xFC, 0x03, 0xF0, 0x7C, 0x7C, 0x1F, 0x80, 0x7F, 0x0F, + 0x8F, 0x87, 0xF0, 0x07, 0xE1, 0xF0, 0xF8, 0xFC, 0x00, 0xFC, 0x7E, 0x1F, + 0x1F, 0x80, 0x1F, 0x8F, 0x83, 0xE3, 0xF0, 0x01, 0xF9, 0xF0, 0x7C, 0x7E, + 0x00, 0x3F, 0x3E, 0x0F, 0x9F, 0x80, 0x07, 0xE7, 0xC0, 0xFB, 0xF0, 0x00, + 0xFD, 0xF0, 0x1F, 0x7E, 0x00, 0x0F, 0xBE, 0x03, 0xEF, 0xC0, 0x01, 0xFF, + 0xC0, 0x7D, 0xF0, 0x00, 0x3F, 0xF8, 0x0F, 0xFE, 0x00, 0x03, 0xFF, 0x00, + 0xFF, 0xC0, 0x00, 0x7F, 0xC0, 0x1F, 0xF0, 0x00, 0x0F, 0xF8, 0x03, 0xFE, + 0x00, 0x01, 0xFF, 0x00, 0x7F, 0xC0, 0x00, 0x1F, 0xE0, 0x07, 0xF8, 0x00, + 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x00, 0x07, + 0xE0, 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x07, 0xF9, 0xFF, 0x00, 0x3F, 0xC3, + 0xFC, 0x00, 0xFF, 0x07, 0xF8, 0x07, 0xF8, 0x1F, 0xE0, 0x1F, 0xC0, 0x3F, + 0xC0, 0xFF, 0x00, 0xFF, 0x07, 0xF8, 0x01, 0xFE, 0x1F, 0xE0, 0x03, 0xF8, + 0xFF, 0x00, 0x0F, 0xF3, 0xF8, 0x00, 0x1F, 0xDF, 0xE0, 0x00, 0x3F, 0xFF, + 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0x00, + 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x03, + 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x7F, 0x7F, 0x80, 0x03, 0xF8, + 0xFF, 0x00, 0x1F, 0xE1, 0xFC, 0x00, 0x7F, 0x07, 0xF8, 0x03, 0xFC, 0x0F, + 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0x7F, 0x83, 0xFC, 0x01, 0xFE, + 0x0F, 0xF0, 0x03, 0xFC, 0x7F, 0x80, 0x0F, 0xFB, 0xFE, 0x00, 0x1F, 0xE0, + 0xFF, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x7F, 0x9F, 0xE0, 0x03, 0xFC, 0xFF, + 0x00, 0x3F, 0xC3, 0xFC, 0x01, 0xFE, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x00, + 0xFF, 0x01, 0xFC, 0x07, 0xF0, 0x0F, 0xE0, 0x7F, 0x80, 0x3F, 0x83, 0xF8, + 0x01, 0xFC, 0x3F, 0xC0, 0x07, 0xF1, 0xFC, 0x00, 0x3F, 0x8F, 0xE0, 0x00, + 0xFE, 0xFE, 0x00, 0x07, 0xF7, 0xF0, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, + 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, + 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xC0, 0x00, + 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFE, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, + 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, + 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, + 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, + 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x03, 0xC0, 0x07, 0x00, + 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x70, + 0x01, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0x70, 0x01, 0xC0, 0x07, + 0x00, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, + 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xE0, + 0x03, 0x80, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, + 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, + 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, + 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xF0, + 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xFC, 0x00, + 0x7D, 0xF0, 0x01, 0xF7, 0xC0, 0x0F, 0xDF, 0x80, 0x3E, 0x3E, 0x00, 0xF8, + 0xFC, 0x07, 0xE1, 0xF0, 0x1F, 0x07, 0xC0, 0xFC, 0x1F, 0x83, 0xE0, 0x3E, + 0x0F, 0x80, 0xFC, 0x7E, 0x01, 0xF1, 0xF0, 0x07, 0xC7, 0xC0, 0x1F, 0xBE, + 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3E, 0x0F, 0x83, 0xC0, 0xF0, 0x38, 0x1E, + 0x01, 0xFF, 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, + 0x7F, 0xFF, 0xF8, 0x7F, 0xFF, 0xFC, 0x7F, 0x03, 0xFC, 0x7E, 0x01, 0xFC, + 0x00, 0x01, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xFC, 0x03, 0xFF, 0xFC, + 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, 0xC1, 0xFC, 0xFF, 0x01, 0xFC, + 0xFE, 0x01, 0xFC, 0xFE, 0x03, 0xFC, 0xFE, 0x03, 0xFC, 0xFF, 0x07, 0xFC, + 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x3F, 0xFD, 0xFE, + 0x1F, 0xF0, 0xFF, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, + 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x0F, + 0xC0, 0x3F, 0x9F, 0xF8, 0x1F, 0xDF, 0xFF, 0x0F, 0xFF, 0xFF, 0xC7, 0xFF, + 0xFF, 0xE3, 0xFF, 0xFF, 0xF9, 0xFF, 0x83, 0xFE, 0xFF, 0x80, 0xFF, 0x7F, + 0x80, 0x3F, 0xBF, 0xC0, 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, + 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, + 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xDF, 0xF0, 0x1F, 0xEF, 0xFC, 0x1F, + 0xF7, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xF8, 0xFE, 0xFF, + 0xF8, 0x7F, 0x3F, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x07, + 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xC7, 0xFF, + 0xFF, 0x9F, 0xF0, 0x7F, 0xBF, 0xC0, 0x7F, 0x7F, 0x00, 0x7F, 0xFC, 0x00, + 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0xFD, + 0xFE, 0x03, 0xFB, 0xFE, 0x0F, 0xF3, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x87, + 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, 0x01, 0xFE, 0x00, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, + 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x3F, 0x80, 0x7E, 0x1F, 0xC0, 0xFF, 0xCF, 0xE1, 0xFF, 0xF7, + 0xF1, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0x83, + 0xFF, 0x7F, 0x80, 0xFF, 0xBF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, + 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, + 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xDF, 0xC0, 0x1F, 0xEF, + 0xF0, 0x1F, 0xF7, 0xFC, 0x1F, 0xF9, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, + 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xBF, 0x81, 0xFF, 0x9F, 0xC0, 0x3F, 0x00, + 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, + 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xC3, 0xF8, 0x7F, 0x80, 0xFC, 0x7F, 0x00, + 0xFC, 0x7F, 0x00, 0x7C, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7E, 0xFF, 0xFF, + 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x7F, 0x00, + 0xFE, 0x3F, 0xC1, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, + 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x01, 0xFC, 0x1F, 0xF0, 0xFF, + 0xC3, 0xFF, 0x1F, 0xFC, 0x7F, 0x81, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, + 0x0F, 0xFF, 0xBF, 0xFE, 0xFF, 0xFB, 0xFF, 0xE1, 0xFC, 0x07, 0xF0, 0x1F, + 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, + 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, + 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x00, 0x00, 0xF8, 0x7F, 0x07, 0xFE, + 0x7F, 0x0F, 0xFF, 0x7F, 0x1F, 0xFF, 0x7F, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, + 0xFF, 0x7F, 0xC3, 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0x00, + 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, + 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFF, 0x00, + 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0xC3, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, + 0xFF, 0x1F, 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0x07, 0xFE, 0x7F, 0x01, 0xF8, + 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x00, + 0xFF, 0x7F, 0x01, 0xFE, 0x7F, 0xC3, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, + 0xF8, 0x0F, 0xFF, 0xE0, 0x01, 0xFF, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, + 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x3F, 0x83, + 0xF8, 0xFF, 0xC7, 0xF7, 0xFF, 0xCF, 0xEF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, + 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x01, 0xFF, 0xFE, 0x01, 0xFF, 0xF8, + 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, + 0x3F, 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, + 0xFF, 0xF0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, + 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFC, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF0, 0x00, + 0x00, 0x00, 0x07, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, + 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, + 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, + 0x1F, 0xC7, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFE, 0xFE, 0x00, + 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, + 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, + 0x00, 0x01, 0xFC, 0x03, 0xFB, 0xF8, 0x0F, 0xE7, 0xF0, 0x3F, 0xCF, 0xE0, + 0xFF, 0x1F, 0xC3, 0xFC, 0x3F, 0x87, 0xF0, 0x7F, 0x1F, 0xC0, 0xFE, 0x7F, + 0x01, 0xFD, 0xFC, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, + 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0xE0, 0x7F, 0xDF, 0xC0, 0xFF, 0x3F, 0xC1, + 0xFC, 0x3F, 0x83, 0xF8, 0x3F, 0x87, 0xF0, 0x7F, 0x8F, 0xE0, 0x7F, 0x1F, + 0xC0, 0xFF, 0x3F, 0x80, 0xFE, 0x7F, 0x01, 0xFE, 0xFE, 0x01, 0xFD, 0xFC, + 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFE, 0x1F, 0x80, 0x7E, + 0x0F, 0xE7, 0xFE, 0x1F, 0xF8, 0xFE, 0xFF, 0xF3, 0xFF, 0xCF, 0xFF, 0xFF, + 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x83, 0xFF, 0x0F, 0xFF, 0xF0, 0x1F, 0xE0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, + 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, + 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, + 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, + 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, + 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, + 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, + 0xF0, 0xFE, 0x1F, 0xC1, 0xFC, 0xFF, 0xE3, 0xFB, 0xFF, 0xE7, 0xFF, 0xFF, + 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0xFF, + 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, 0xFF, + 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0xFE, + 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xE0, + 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0xFE, 0x00, + 0xFE, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0xF0, 0x01, 0xFF, 0xFE, 0x01, 0xFF, + 0xFF, 0x81, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFF, 0x07, 0xFC, 0xFF, + 0x01, 0xFE, 0x7F, 0x00, 0x7F, 0x7F, 0x80, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, + 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, + 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xBF, 0x80, 0x3F, 0x9F, 0xE0, 0x3F, + 0xCF, 0xF8, 0x3F, 0xE3, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, + 0xF0, 0x0F, 0xFF, 0xF0, 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0xFE, + 0x1F, 0x80, 0x7F, 0x3F, 0xF0, 0x3F, 0xBF, 0xFE, 0x1F, 0xDF, 0xFF, 0x8F, + 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF3, 0xFF, 0x07, 0xFD, 0xFF, 0x01, 0xFE, + 0xFF, 0x00, 0x7F, 0x7F, 0x80, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x07, + 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, + 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xBF, 0xE0, 0x3F, 0xDF, 0xF8, + 0x3F, 0xCF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE3, 0xFB, 0xFF, 0xE1, 0xFD, + 0xFF, 0xF0, 0xFE, 0x7F, 0xE0, 0x7F, 0x0F, 0xC0, 0x3F, 0x80, 0x00, 0x1F, + 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x1F, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x81, 0xFF, 0x9F, 0xC3, 0xFF, + 0xEF, 0xE1, 0xFF, 0xF7, 0xF1, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFD, 0xFF, + 0x07, 0xFE, 0xFF, 0x01, 0xFF, 0x7F, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xFF, + 0x80, 0x0F, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, + 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xBF, 0x80, 0x3F, + 0xDF, 0xE0, 0x3F, 0xEF, 0xF8, 0x3F, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, + 0xFC, 0x7F, 0xFE, 0xFE, 0x1F, 0xFF, 0x7F, 0x03, 0xFF, 0x3F, 0x80, 0x7E, + 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, + 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, + 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0xFE, 0x1F, 0xFC, + 0x7F, 0xFB, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0x80, + 0xFF, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, + 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, + 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x07, + 0xFF, 0xE0, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, + 0x81, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0xC0, 0x00, 0x7F, + 0xFC, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x07, + 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0x00, + 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x81, 0xFE, 0x7F, + 0xFF, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x01, + 0xFF, 0x80, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, + 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, + 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, + 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xFF, 0x3F, 0xF1, 0xFF, 0x0F, + 0xF0, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, + 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, + 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, + 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, + 0xFE, 0x00, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, + 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, 0xBF, 0x9F, 0xFF, 0x7F, 0x1F, + 0xFC, 0xFE, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0x9F, + 0xC0, 0x1F, 0xC7, 0xE0, 0x0F, 0xE3, 0xF8, 0x07, 0xE1, 0xFC, 0x07, 0xF0, + 0x7E, 0x03, 0xF8, 0x3F, 0x81, 0xF8, 0x1F, 0xC0, 0xFC, 0x07, 0xE0, 0xFE, + 0x03, 0xF8, 0x7E, 0x00, 0xFC, 0x3F, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x1F, + 0x80, 0x0F, 0xCF, 0xC0, 0x07, 0xE7, 0xE0, 0x03, 0xF7, 0xE0, 0x00, 0xFF, + 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0x07, + 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0xFC, 0x03, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0x01, 0xFF, 0xF8, 0x0F, 0xE0, + 0x3F, 0x3F, 0x03, 0xFE, 0x07, 0xE7, 0xE0, 0x7F, 0xC1, 0xFC, 0xFE, 0x0F, + 0xF8, 0x3F, 0x9F, 0xC1, 0xFF, 0x07, 0xE1, 0xF8, 0x3D, 0xE0, 0xFC, 0x3F, + 0x0F, 0xBE, 0x3F, 0x87, 0xF1, 0xF7, 0xC7, 0xE0, 0x7E, 0x3E, 0xF8, 0xFC, + 0x0F, 0xC7, 0xDF, 0x1F, 0x81, 0xF9, 0xF1, 0xE3, 0xF0, 0x3F, 0x3E, 0x3E, + 0xFC, 0x03, 0xF7, 0xC7, 0xDF, 0x80, 0x7E, 0xF8, 0xFB, 0xF0, 0x0F, 0xDE, + 0x1F, 0x7C, 0x00, 0xFF, 0xC1, 0xFF, 0x80, 0x1F, 0xF8, 0x3F, 0xF0, 0x03, + 0xFF, 0x07, 0xFE, 0x00, 0x7F, 0xC0, 0xFF, 0x80, 0x07, 0xF8, 0x1F, 0xF0, + 0x00, 0xFF, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, + 0xF0, 0x00, 0xFF, 0x00, 0xFF, 0x7F, 0x81, 0xFE, 0x3F, 0x81, 0xFC, 0x3F, + 0xC3, 0xFC, 0x1F, 0xC3, 0xF8, 0x0F, 0xE7, 0xF0, 0x0F, 0xEF, 0xF0, 0x07, + 0xFF, 0xE0, 0x03, 0xFF, 0xC0, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x00, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x03, + 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x0F, 0xE7, 0xF0, 0x1F, + 0xE7, 0xF0, 0x1F, 0xC3, 0xF8, 0x3F, 0xC3, 0xFC, 0x7F, 0x81, 0xFC, 0x7F, + 0x01, 0xFE, 0xFF, 0x00, 0xFF, 0x7F, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xDF, + 0xC0, 0x0F, 0xC7, 0xF0, 0x07, 0xE3, 0xF8, 0x07, 0xF1, 0xFC, 0x03, 0xF0, + 0x7F, 0x01, 0xF8, 0x3F, 0x81, 0xFC, 0x0F, 0xC0, 0xFC, 0x07, 0xF0, 0x7E, + 0x03, 0xF8, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x8F, + 0xC0, 0x0F, 0xCF, 0xC0, 0x07, 0xE7, 0xE0, 0x03, 0xFB, 0xF0, 0x00, 0xFD, + 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFC, 0x00, 0x07, + 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, + 0x1F, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, + 0x03, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x0F, 0xFC, 0x00, + 0x07, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7F, 0xFF, + 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xBF, + 0xFF, 0xFC, 0x00, 0x3F, 0xE0, 0x03, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, + 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, + 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF8, 0x01, 0xF8, 0x1F, 0xC1, 0xFE, 0x0F, 0xF0, 0xFF, + 0x87, 0xE0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, + 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3F, + 0x0F, 0xF0, 0x7F, 0x03, 0xF8, 0x1F, 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, + 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, + 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xE0, 0x3F, 0xE0, 0xFF, 0x07, 0xF8, 0x1F, + 0xC0, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFC, 0x07, 0xF0, 0x3F, 0xC1, 0xFE, 0x0F, 0xF8, 0x0F, 0xC0, 0x3E, 0x01, + 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, + 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x80, 0x7F, 0x81, 0xFC, + 0x0F, 0xE0, 0xFF, 0x0F, 0xC0, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, + 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, + 0x0F, 0xC3, 0xFE, 0x1F, 0xE0, 0xFF, 0x07, 0xF0, 0x3F, 0x00, 0x1F, 0x00, + 0x03, 0xFE, 0x00, 0x1F, 0xF8, 0x0F, 0xFF, 0xF0, 0xFF, 0x0F, 0xFF, 0xF0, + 0x1F, 0xF8, 0x00, 0x7F, 0x80, 0x00, 0xF8 }; + +const GFXglyph FreeSansBold24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' + { 0, 7, 34, 16, 5, -33 }, // 0x21 '!' + { 30, 18, 12, 22, 2, -33 }, // 0x22 '"' + { 57, 26, 33, 26, 0, -31 }, // 0x23 '#' + { 165, 25, 40, 26, 1, -34 }, // 0x24 '$' + { 290, 39, 34, 42, 1, -32 }, // 0x25 '%' + { 456, 30, 35, 34, 3, -33 }, // 0x26 '&' + { 588, 7, 12, 12, 3, -33 }, // 0x27 ''' + { 599, 13, 44, 16, 2, -33 }, // 0x28 '(' + { 671, 13, 44, 16, 1, -33 }, // 0x29 ')' + { 743, 15, 15, 18, 1, -33 }, // 0x2A '*' + { 772, 23, 22, 27, 2, -21 }, // 0x2B '+' + { 836, 7, 15, 12, 2, -6 }, // 0x2C ',' + { 850, 13, 6, 16, 1, -15 }, // 0x2D '-' + { 860, 7, 7, 12, 2, -6 }, // 0x2E '.' + { 867, 13, 34, 13, 0, -32 }, // 0x2F '/' + { 923, 24, 35, 26, 1, -33 }, // 0x30 '0' + { 1028, 14, 33, 26, 4, -32 }, // 0x31 '1' + { 1086, 23, 34, 26, 2, -33 }, // 0x32 '2' + { 1184, 23, 35, 26, 2, -33 }, // 0x33 '3' + { 1285, 22, 33, 26, 2, -32 }, // 0x34 '4' + { 1376, 23, 34, 26, 2, -32 }, // 0x35 '5' + { 1474, 23, 35, 26, 2, -33 }, // 0x36 '6' + { 1575, 23, 33, 26, 1, -32 }, // 0x37 '7' + { 1670, 24, 35, 26, 1, -33 }, // 0x38 '8' + { 1775, 24, 35, 26, 1, -33 }, // 0x39 '9' + { 1880, 7, 25, 12, 2, -24 }, // 0x3A ':' + { 1902, 7, 33, 12, 2, -24 }, // 0x3B ';' + { 1931, 23, 23, 27, 2, -22 }, // 0x3C '<' + { 1998, 23, 18, 27, 2, -19 }, // 0x3D '=' + { 2050, 23, 23, 27, 2, -22 }, // 0x3E '>' + { 2117, 24, 35, 29, 3, -34 }, // 0x3F '?' + { 2222, 43, 41, 46, 1, -34 }, // 0x40 '@' + { 2443, 32, 34, 33, 0, -33 }, // 0x41 'A' + { 2579, 27, 34, 33, 4, -33 }, // 0x42 'B' + { 2694, 30, 36, 34, 2, -34 }, // 0x43 'C' + { 2829, 28, 34, 34, 4, -33 }, // 0x44 'D' + { 2948, 25, 34, 31, 4, -33 }, // 0x45 'E' + { 3055, 24, 34, 30, 4, -33 }, // 0x46 'F' + { 3157, 31, 36, 36, 2, -34 }, // 0x47 'G' + { 3297, 27, 34, 35, 4, -33 }, // 0x48 'H' + { 3412, 7, 34, 15, 4, -33 }, // 0x49 'I' + { 3442, 22, 35, 27, 1, -33 }, // 0x4A 'J' + { 3539, 30, 34, 34, 4, -33 }, // 0x4B 'K' + { 3667, 23, 34, 29, 4, -33 }, // 0x4C 'L' + { 3765, 33, 34, 41, 4, -33 }, // 0x4D 'M' + { 3906, 28, 34, 35, 4, -33 }, // 0x4E 'N' + { 4025, 33, 36, 37, 2, -34 }, // 0x4F 'O' + { 4174, 26, 34, 32, 4, -33 }, // 0x50 'P' + { 4285, 33, 37, 37, 2, -34 }, // 0x51 'Q' + { 4438, 28, 34, 34, 4, -33 }, // 0x52 'R' + { 4557, 28, 36, 32, 2, -34 }, // 0x53 'S' + { 4683, 27, 34, 30, 2, -33 }, // 0x54 'T' + { 4798, 27, 35, 35, 4, -33 }, // 0x55 'U' + { 4917, 29, 34, 31, 1, -33 }, // 0x56 'V' + { 5041, 43, 34, 45, 1, -33 }, // 0x57 'W' + { 5224, 30, 34, 32, 1, -33 }, // 0x58 'X' + { 5352, 29, 34, 30, 1, -33 }, // 0x59 'Y' + { 5476, 26, 34, 29, 1, -33 }, // 0x5A 'Z' + { 5587, 11, 43, 16, 3, -33 }, // 0x5B '[' + { 5647, 14, 34, 13, -1, -32 }, // 0x5C '\' + { 5707, 11, 43, 16, 1, -33 }, // 0x5D ']' + { 5767, 22, 20, 27, 3, -32 }, // 0x5E '^' + { 5822, 28, 4, 26, -1, 6 }, // 0x5F '_' + { 5836, 9, 7, 12, 1, -35 }, // 0x60 '`' + { 5844, 24, 26, 27, 2, -24 }, // 0x61 'a' + { 5922, 25, 35, 29, 3, -33 }, // 0x62 'b' + { 6032, 23, 26, 26, 2, -24 }, // 0x63 'c' + { 6107, 25, 35, 29, 2, -33 }, // 0x64 'd' + { 6217, 24, 26, 27, 2, -24 }, // 0x65 'e' + { 6295, 14, 34, 16, 1, -33 }, // 0x66 'f' + { 6355, 24, 36, 29, 2, -24 }, // 0x67 'g' + { 6463, 23, 34, 28, 3, -33 }, // 0x68 'h' + { 6561, 7, 34, 13, 3, -33 }, // 0x69 'i' + { 6591, 10, 45, 13, 0, -33 }, // 0x6A 'j' + { 6648, 23, 34, 27, 3, -33 }, // 0x6B 'k' + { 6746, 7, 34, 13, 3, -33 }, // 0x6C 'l' + { 6776, 36, 25, 42, 3, -24 }, // 0x6D 'm' + { 6889, 23, 25, 29, 3, -24 }, // 0x6E 'n' + { 6961, 25, 26, 29, 2, -24 }, // 0x6F 'o' + { 7043, 25, 36, 29, 3, -24 }, // 0x70 'p' + { 7156, 25, 36, 29, 2, -24 }, // 0x71 'q' + { 7269, 15, 25, 18, 3, -24 }, // 0x72 'r' + { 7316, 24, 26, 26, 1, -24 }, // 0x73 's' + { 7394, 12, 32, 16, 2, -30 }, // 0x74 't' + { 7442, 23, 26, 29, 3, -24 }, // 0x75 'u' + { 7517, 25, 25, 25, 0, -24 }, // 0x76 'v' + { 7596, 35, 25, 37, 1, -24 }, // 0x77 'w' + { 7706, 24, 25, 26, 1, -24 }, // 0x78 'x' + { 7781, 25, 36, 26, 0, -24 }, // 0x79 'y' + { 7894, 21, 25, 24, 1, -24 }, // 0x7A 'z' + { 7960, 13, 43, 18, 2, -33 }, // 0x7B '{' + { 8030, 4, 44, 13, 5, -33 }, // 0x7C '|' + { 8052, 13, 43, 18, 3, -33 }, // 0x7D '}' + { 8122, 21, 8, 23, 1, -14 } }; // 0x7E '~' + +const GFXfont FreeSansBold24pt7b PROGMEM = { + (uint8_t *)FreeSansBold24pt7bBitmaps, + (GFXglyph *)FreeSansBold24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 8815 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h new file mode 100644 index 0000000..aeea463 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h @@ -0,0 +1,208 @@ +const uint8_t FreeSansBold9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFE, 0x48, 0x7E, 0xEF, 0xDF, 0xBF, 0x74, 0x40, 0x19, 0x86, + 0x67, 0xFD, 0xFF, 0x33, 0x0C, 0xC3, 0x33, 0xFE, 0xFF, 0x99, 0x86, 0x61, + 0x90, 0x10, 0x1F, 0x1F, 0xDE, 0xFF, 0x3F, 0x83, 0xC0, 0xFC, 0x1F, 0x09, + 0xFC, 0xFE, 0xF7, 0xF1, 0xE0, 0x40, 0x38, 0x10, 0x7C, 0x30, 0xC6, 0x20, + 0xC6, 0x40, 0xC6, 0x40, 0x7C, 0x80, 0x39, 0x9C, 0x01, 0x3E, 0x03, 0x63, + 0x02, 0x63, 0x04, 0x63, 0x0C, 0x3E, 0x08, 0x1C, 0x0E, 0x01, 0xF8, 0x3B, + 0x83, 0xB8, 0x3F, 0x01, 0xE0, 0x3E, 0x67, 0x76, 0xE3, 0xEE, 0x1C, 0xF3, + 0xC7, 0xFE, 0x3F, 0x70, 0xFF, 0xF4, 0x18, 0x63, 0x1C, 0x73, 0x8E, 0x38, + 0xE3, 0x8E, 0x18, 0x70, 0xC3, 0x06, 0x08, 0x61, 0x83, 0x0E, 0x38, 0x71, + 0xC7, 0x1C, 0x71, 0xC6, 0x38, 0xE3, 0x18, 0x40, 0x21, 0x3E, 0x45, 0x28, + 0x38, 0x70, 0xE7, 0xFF, 0xE7, 0x0E, 0x1C, 0xFC, 0x9C, 0xFF, 0xC0, 0xFC, + 0x08, 0xC4, 0x23, 0x10, 0x84, 0x62, 0x11, 0x88, 0x00, 0x3E, 0x3F, 0x9D, + 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xDD, 0xCF, 0xE3, 0xE0, + 0x08, 0xFF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x80, 0x3E, 0x3F, 0xB8, + 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0F, 0xF7, 0xF8, + 0x3C, 0x7F, 0xE7, 0xE7, 0x07, 0x0C, 0x0E, 0x07, 0x07, 0xE7, 0xE7, 0x7E, + 0x3C, 0x0E, 0x1E, 0x1E, 0x2E, 0x2E, 0x4E, 0x4E, 0x8E, 0xFF, 0xFF, 0x0E, + 0x0E, 0x0E, 0x7F, 0x3F, 0x90, 0x18, 0x0D, 0xE7, 0xFB, 0x9E, 0x07, 0x03, + 0x81, 0xF1, 0xFF, 0xE7, 0xC0, 0x3E, 0x3F, 0x9C, 0xFC, 0x0E, 0xE7, 0xFB, + 0xDF, 0xC7, 0xE3, 0xF1, 0xDD, 0xEF, 0xE3, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, + 0xE0, 0x60, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x80, 0x3F, + 0x1F, 0xEE, 0x3F, 0x87, 0xE3, 0xCF, 0xC7, 0xFB, 0xCF, 0xE1, 0xF8, 0x7F, + 0x3D, 0xFE, 0x3F, 0x00, 0x3E, 0x3F, 0xBD, 0xDC, 0x7E, 0x3F, 0x1F, 0xDE, + 0xFF, 0x3B, 0x81, 0xF9, 0xCF, 0xE3, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0xFC, + 0x00, 0x07, 0xE5, 0xE0, 0x00, 0x83, 0xC7, 0xDF, 0x0C, 0x07, 0x80, 0xF8, + 0x1F, 0x01, 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x70, + 0x3F, 0x03, 0xE0, 0x38, 0x7D, 0xF1, 0xE0, 0x80, 0x00, 0x3E, 0x3F, 0xB8, + 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x0E, 0x00, 0x03, 0x81, 0xC0, + 0x03, 0xF0, 0x0F, 0xFC, 0x1E, 0x0E, 0x38, 0x02, 0x70, 0xE9, 0x63, 0x19, + 0xC2, 0x19, 0xC6, 0x11, 0xC6, 0x33, 0xC6, 0x32, 0x63, 0xFE, 0x73, 0xDC, + 0x3C, 0x00, 0x1F, 0xF8, 0x07, 0xF0, 0x07, 0x00, 0xF0, 0x0F, 0x80, 0xF8, + 0x1D, 0x81, 0x9C, 0x19, 0xC3, 0x8C, 0x3F, 0xE7, 0xFE, 0x70, 0x66, 0x07, + 0xE0, 0x70, 0xFF, 0x9F, 0xFB, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0x3F, 0xF7, + 0x06, 0xE0, 0xFC, 0x1F, 0x83, 0xFF, 0xEF, 0xF8, 0x1F, 0x83, 0xFE, 0x78, + 0xE7, 0x07, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x07, 0x07, 0x78, + 0xF3, 0xFE, 0x1F, 0x80, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x0E, 0xE0, 0xEF, 0xFC, 0xFF, 0x80, + 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, 0xE0, 0x70, 0x38, + 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, + 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x00, 0x0F, 0x87, 0xF9, 0xE3, 0xB8, 0x3E, + 0x01, 0xC0, 0x38, 0xFF, 0x1F, 0xE0, 0x6E, 0x0D, 0xE3, 0x9F, 0xD0, 0xF2, + 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0xFF, 0xFF, 0x07, 0xE0, + 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE7, 0xE7, 0xE7, 0x7E, 0x3C, + 0xE0, 0xEE, 0x1C, 0xE3, 0x8E, 0x70, 0xEE, 0x0F, 0xC0, 0xFE, 0x0F, 0x70, + 0xE7, 0x0E, 0x38, 0xE1, 0xCE, 0x0E, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xE1, + 0xFF, 0x87, 0xFE, 0x1F, 0xEC, 0x7F, 0xB3, 0x7E, 0xCD, 0xFB, 0x37, 0xEC, + 0xDF, 0x9E, 0x7E, 0x79, 0xF9, 0xE7, 0xE7, 0x9C, 0xE0, 0xFE, 0x1F, 0xC3, + 0xFC, 0x7F, 0xCF, 0xD9, 0xFB, 0xBF, 0x37, 0xE7, 0xFC, 0x7F, 0x87, 0xF0, + 0xFE, 0x0E, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, 0xEE, 0x03, 0xF0, 0x1F, + 0x80, 0xFC, 0x07, 0xE0, 0x3B, 0x83, 0x9E, 0x3C, 0x7F, 0xC0, 0xF8, 0x00, + 0xFF, 0x9F, 0xFB, 0x87, 0xF0, 0x7E, 0x0F, 0xC3, 0xFF, 0xF7, 0xFC, 0xE0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, + 0xEE, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE1, 0xBB, 0x8F, 0x9E, 0x3C, + 0x7F, 0xE0, 0xFB, 0x80, 0x08, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, + 0xEE, 0x0E, 0xFF, 0xCF, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0, + 0xF0, 0x3F, 0x0F, 0xFB, 0xC7, 0xF0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F, + 0x00, 0xFC, 0x1D, 0xC7, 0xBF, 0xE1, 0xF8, 0xFF, 0xFF, 0xC7, 0x03, 0x81, + 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0xFC, + 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, + 0xC7, 0xBF, 0xE1, 0xF0, 0x60, 0x67, 0x0E, 0x70, 0xE3, 0x0C, 0x30, 0xC3, + 0x9C, 0x19, 0x81, 0x98, 0x1F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x06, 0x00, + 0x61, 0xC3, 0xB8, 0xE1, 0x9C, 0x70, 0xCE, 0x3C, 0xE3, 0x36, 0x71, 0x9B, + 0x30, 0xED, 0x98, 0x36, 0x7C, 0x1B, 0x3C, 0x0F, 0x1E, 0x07, 0x8F, 0x01, + 0xC3, 0x80, 0xE1, 0x80, 0x70, 0xE7, 0x8E, 0x39, 0xC1, 0xF8, 0x1F, 0x80, + 0xF0, 0x07, 0x00, 0xF0, 0x1F, 0x81, 0x9C, 0x39, 0xC7, 0x0E, 0x70, 0xE0, + 0xE0, 0xFC, 0x39, 0xC7, 0x18, 0xC3, 0xB8, 0x36, 0x07, 0xC0, 0x70, 0x0E, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, 0xE0, 0xF0, + 0x70, 0x70, 0x70, 0x78, 0x38, 0x38, 0x1F, 0xFF, 0xF8, 0xFF, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xF0, 0x86, 0x10, 0x86, 0x10, 0x84, 0x30, + 0x84, 0x30, 0x80, 0xFF, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0xF0, + 0x18, 0x1C, 0x3C, 0x3E, 0x36, 0x66, 0x63, 0xC3, 0xFF, 0xC0, 0xCC, 0x3F, + 0x1F, 0xEE, 0x38, 0x0E, 0x3F, 0x9E, 0xEE, 0x3B, 0x9E, 0xFF, 0x9E, 0xE0, + 0xE0, 0x38, 0x0E, 0x03, 0xBC, 0xFF, 0xBC, 0xEE, 0x1F, 0x87, 0xE1, 0xF8, + 0x7F, 0x3B, 0xFE, 0xEF, 0x00, 0x1F, 0x3F, 0xDC, 0x7C, 0x0E, 0x07, 0x03, + 0x80, 0xE3, 0x7F, 0x8F, 0x00, 0x03, 0x81, 0xC0, 0xE7, 0x77, 0xFB, 0xBF, + 0x8F, 0xC7, 0xE3, 0xF1, 0xFD, 0xEF, 0xF3, 0xB8, 0x3E, 0x3F, 0x9C, 0xDC, + 0x3F, 0xFF, 0xFF, 0x81, 0xC3, 0x7F, 0x8F, 0x00, 0x3B, 0xDD, 0xFF, 0xB9, + 0xCE, 0x73, 0x9C, 0xE7, 0x00, 0x3B, 0xBF, 0xDD, 0xFC, 0x7E, 0x3F, 0x1F, + 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xFC, 0x77, 0xF1, 0xF0, 0xE0, 0x70, 0x38, + 0x1D, 0xEF, 0xFF, 0x9F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x38, + 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0x77, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x7F, 0xE0, 0xE0, 0x70, 0x38, 0x1C, 0x7E, 0x77, 0x73, 0xF1, 0xF8, 0xFE, + 0x77, 0x39, 0xDC, 0x6E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0x7B, + 0xFF, 0xFE, 0x39, 0xF8, 0xE7, 0xE3, 0x9F, 0x8E, 0x7E, 0x39, 0xF8, 0xE7, + 0xE3, 0x9F, 0x8E, 0x70, 0xEF, 0x7F, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, + 0xC7, 0xE3, 0xF1, 0xC0, 0x1E, 0x1F, 0xE7, 0x3B, 0x87, 0xE1, 0xF8, 0x7E, + 0x1D, 0xCE, 0x7F, 0x87, 0x80, 0xEF, 0x3F, 0xEF, 0x3B, 0x87, 0xE1, 0xF8, + 0x7E, 0x1F, 0xCE, 0xFF, 0xBB, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x00, 0x3B, + 0xBF, 0xFD, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xE0, + 0x70, 0x38, 0x1C, 0xEF, 0xFF, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x80, 0x3E, + 0x3F, 0xB8, 0xFC, 0x0F, 0xC3, 0xFC, 0x3F, 0xC7, 0xFF, 0x1F, 0x00, 0x73, + 0xBF, 0xF7, 0x39, 0xCE, 0x73, 0x9E, 0x70, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, + 0x3F, 0x1F, 0x8F, 0xC7, 0xFF, 0xBD, 0xC0, 0xE1, 0x98, 0x67, 0x39, 0xCC, + 0x33, 0x0D, 0xC3, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xE3, 0x1D, 0x9E, 0x66, + 0x79, 0x99, 0xE6, 0x77, 0xB8, 0xD2, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, + 0x73, 0x80, 0x73, 0x9C, 0xE3, 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xFC, + 0x73, 0x9C, 0xE0, 0xE1, 0xD8, 0x67, 0x39, 0xCE, 0x33, 0x0E, 0xC3, 0xE0, + 0x78, 0x1E, 0x03, 0x00, 0xC0, 0x70, 0x38, 0x0E, 0x00, 0xFE, 0xFE, 0x0E, + 0x1C, 0x38, 0x38, 0x70, 0xE0, 0xFF, 0xFF, 0x37, 0x66, 0x66, 0x6E, 0xE6, + 0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0x80, 0xCE, 0x66, 0x66, 0x67, 0x76, + 0x66, 0x66, 0x6E, 0xC0, 0x71, 0x8E }; + +const GFXglyph FreeSansBold9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 3, 13, 6, 2, -12 }, // 0x21 '!' + { 5, 7, 5, 9, 1, -12 }, // 0x22 '"' + { 10, 10, 12, 10, 0, -11 }, // 0x23 '#' + { 25, 9, 15, 10, 1, -13 }, // 0x24 '$' + { 42, 16, 13, 16, 0, -12 }, // 0x25 '%' + { 68, 12, 13, 13, 1, -12 }, // 0x26 '&' + { 88, 3, 5, 5, 1, -12 }, // 0x27 ''' + { 90, 6, 17, 6, 1, -12 }, // 0x28 '(' + { 103, 6, 17, 6, 0, -12 }, // 0x29 ')' + { 116, 5, 6, 7, 1, -12 }, // 0x2A '*' + { 120, 7, 8, 11, 2, -7 }, // 0x2B '+' + { 127, 3, 5, 4, 1, -1 }, // 0x2C ',' + { 129, 5, 2, 6, 0, -5 }, // 0x2D '-' + { 131, 3, 2, 4, 1, -1 }, // 0x2E '.' + { 132, 5, 13, 5, 0, -12 }, // 0x2F '/' + { 141, 9, 13, 10, 1, -12 }, // 0x30 '0' + { 156, 5, 13, 10, 2, -12 }, // 0x31 '1' + { 165, 9, 13, 10, 1, -12 }, // 0x32 '2' + { 180, 8, 13, 10, 1, -12 }, // 0x33 '3' + { 193, 8, 13, 10, 2, -12 }, // 0x34 '4' + { 206, 9, 13, 10, 1, -12 }, // 0x35 '5' + { 221, 9, 13, 10, 1, -12 }, // 0x36 '6' + { 236, 9, 13, 10, 0, -12 }, // 0x37 '7' + { 251, 10, 13, 10, 0, -12 }, // 0x38 '8' + { 268, 9, 13, 10, 1, -12 }, // 0x39 '9' + { 283, 3, 9, 4, 1, -8 }, // 0x3A ':' + { 287, 3, 12, 4, 1, -8 }, // 0x3B ';' + { 292, 9, 9, 11, 1, -8 }, // 0x3C '<' + { 303, 9, 6, 11, 1, -6 }, // 0x3D '=' + { 310, 9, 9, 11, 1, -8 }, // 0x3E '>' + { 321, 9, 13, 11, 1, -12 }, // 0x3F '?' + { 336, 16, 15, 18, 0, -12 }, // 0x40 '@' + { 366, 12, 13, 13, 0, -12 }, // 0x41 'A' + { 386, 11, 13, 13, 1, -12 }, // 0x42 'B' + { 404, 12, 13, 13, 1, -12 }, // 0x43 'C' + { 424, 12, 13, 13, 1, -12 }, // 0x44 'D' + { 444, 9, 13, 12, 1, -12 }, // 0x45 'E' + { 459, 9, 13, 11, 1, -12 }, // 0x46 'F' + { 474, 11, 13, 14, 1, -12 }, // 0x47 'G' + { 492, 11, 13, 13, 1, -12 }, // 0x48 'H' + { 510, 3, 13, 6, 1, -12 }, // 0x49 'I' + { 515, 8, 13, 10, 1, -12 }, // 0x4A 'J' + { 528, 12, 13, 13, 1, -12 }, // 0x4B 'K' + { 548, 8, 13, 11, 1, -12 }, // 0x4C 'L' + { 561, 14, 13, 16, 1, -12 }, // 0x4D 'M' + { 584, 11, 13, 14, 1, -12 }, // 0x4E 'N' + { 602, 13, 13, 14, 1, -12 }, // 0x4F 'O' + { 624, 11, 13, 12, 1, -12 }, // 0x50 'P' + { 642, 13, 14, 14, 1, -12 }, // 0x51 'Q' + { 665, 12, 13, 13, 1, -12 }, // 0x52 'R' + { 685, 11, 13, 12, 1, -12 }, // 0x53 'S' + { 703, 9, 13, 12, 2, -12 }, // 0x54 'T' + { 718, 11, 13, 13, 1, -12 }, // 0x55 'U' + { 736, 12, 13, 12, 0, -12 }, // 0x56 'V' + { 756, 17, 13, 17, 0, -12 }, // 0x57 'W' + { 784, 12, 13, 12, 0, -12 }, // 0x58 'X' + { 804, 11, 13, 12, 1, -12 }, // 0x59 'Y' + { 822, 9, 13, 11, 1, -12 }, // 0x5A 'Z' + { 837, 4, 17, 6, 1, -12 }, // 0x5B '[' + { 846, 5, 13, 5, 0, -12 }, // 0x5C '\' + { 855, 4, 17, 6, 0, -12 }, // 0x5D ']' + { 864, 8, 8, 11, 1, -12 }, // 0x5E '^' + { 872, 10, 1, 10, 0, 4 }, // 0x5F '_' + { 874, 3, 2, 5, 0, -12 }, // 0x60 '`' + { 875, 10, 10, 10, 1, -9 }, // 0x61 'a' + { 888, 10, 13, 11, 1, -12 }, // 0x62 'b' + { 905, 9, 10, 10, 1, -9 }, // 0x63 'c' + { 917, 9, 13, 11, 1, -12 }, // 0x64 'd' + { 932, 9, 10, 10, 1, -9 }, // 0x65 'e' + { 944, 5, 13, 6, 1, -12 }, // 0x66 'f' + { 953, 9, 14, 11, 1, -9 }, // 0x67 'g' + { 969, 9, 13, 11, 1, -12 }, // 0x68 'h' + { 984, 3, 13, 5, 1, -12 }, // 0x69 'i' + { 989, 4, 17, 5, 0, -12 }, // 0x6A 'j' + { 998, 9, 13, 10, 1, -12 }, // 0x6B 'k' + { 1013, 3, 13, 5, 1, -12 }, // 0x6C 'l' + { 1018, 14, 10, 16, 1, -9 }, // 0x6D 'm' + { 1036, 9, 10, 11, 1, -9 }, // 0x6E 'n' + { 1048, 10, 10, 11, 1, -9 }, // 0x6F 'o' + { 1061, 10, 14, 11, 1, -9 }, // 0x70 'p' + { 1079, 9, 14, 11, 1, -9 }, // 0x71 'q' + { 1095, 6, 10, 7, 1, -9 }, // 0x72 'r' + { 1103, 9, 10, 10, 1, -9 }, // 0x73 's' + { 1115, 5, 12, 6, 1, -11 }, // 0x74 't' + { 1123, 9, 10, 11, 1, -9 }, // 0x75 'u' + { 1135, 10, 10, 10, 0, -9 }, // 0x76 'v' + { 1148, 14, 10, 14, 0, -9 }, // 0x77 'w' + { 1166, 10, 10, 10, 0, -9 }, // 0x78 'x' + { 1179, 10, 14, 10, 0, -9 }, // 0x79 'y' + { 1197, 8, 10, 9, 1, -9 }, // 0x7A 'z' + { 1207, 4, 17, 7, 1, -12 }, // 0x7B '{' + { 1216, 1, 17, 5, 2, -12 }, // 0x7C '|' + { 1219, 4, 17, 7, 2, -12 }, // 0x7D '}' + { 1228, 8, 2, 9, 0, -4 } }; // 0x7E '~' + +const GFXfont FreeSansBold9pt7b PROGMEM = { + (uint8_t *)FreeSansBold9pt7bBitmaps, + (GFXglyph *)FreeSansBold9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1902 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h new file mode 100644 index 0000000..fabbad3 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h @@ -0,0 +1,317 @@ +const uint8_t FreeSansBoldOblique12pt7bBitmaps[] PROGMEM = { + 0x1C, 0x3C, 0x78, 0xE1, 0xC3, 0x8F, 0x1C, 0x38, 0x70, 0xC1, 0x83, 0x00, + 0x1C, 0x78, 0xF0, 0x71, 0xFC, 0xFE, 0x3B, 0x8E, 0xC3, 0x30, 0xC0, 0x01, + 0x8C, 0x07, 0x38, 0x0C, 0x61, 0xFF, 0xF3, 0xFF, 0xE7, 0xFF, 0x83, 0x9C, + 0x0E, 0x70, 0x1C, 0xE1, 0xFF, 0xF3, 0xFF, 0xC7, 0xFF, 0x83, 0x18, 0x0E, + 0x70, 0x18, 0xC0, 0x73, 0x80, 0x00, 0x40, 0x07, 0xF0, 0x3F, 0xF0, 0xFF, + 0xF3, 0xC9, 0xE7, 0xB3, 0xCF, 0x60, 0x1F, 0xC0, 0x3F, 0xC0, 0x3F, 0xE0, + 0x1F, 0xE0, 0x1B, 0xE0, 0x33, 0xDE, 0x47, 0xBC, 0x8F, 0x7F, 0x7C, 0x7F, + 0xF0, 0x7F, 0x80, 0x18, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x87, + 0x80, 0xC3, 0xF0, 0x61, 0xFE, 0x10, 0xE1, 0x8C, 0x30, 0x66, 0x0C, 0x3B, + 0x03, 0xFC, 0x80, 0x7E, 0x60, 0x0F, 0x30, 0x00, 0x18, 0x70, 0x0C, 0x7E, + 0x03, 0x1F, 0xC1, 0x8E, 0x30, 0xC3, 0x1C, 0x60, 0xFE, 0x18, 0x1F, 0x8C, + 0x07, 0x80, 0x01, 0xE0, 0x07, 0xF0, 0x1F, 0xE0, 0x79, 0xC0, 0xF3, 0x81, + 0xEE, 0x01, 0xF8, 0x01, 0xE0, 0x1F, 0xC6, 0x7B, 0xDD, 0xE3, 0xF7, 0x87, + 0xEF, 0x07, 0x9F, 0x1F, 0x3F, 0xFF, 0x3F, 0xDE, 0x3F, 0x1C, 0x7F, 0xEE, + 0xCC, 0x03, 0x83, 0x81, 0x81, 0xC1, 0xC0, 0xE0, 0xE0, 0x70, 0x70, 0x38, + 0x3C, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x18, 0x0E, 0x07, + 0x01, 0x80, 0x06, 0x03, 0x81, 0xC0, 0x60, 0x38, 0x1C, 0x0E, 0x07, 0x03, + 0x81, 0xC0, 0xE0, 0xE0, 0x70, 0x38, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x06, + 0x07, 0x07, 0x00, 0x0C, 0x0C, 0x4F, 0xFF, 0x1C, 0x3C, 0x6C, 0x44, 0x03, + 0x80, 0x38, 0x07, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x0E, + 0x00, 0xE0, 0x0C, 0x00, 0x7B, 0xDC, 0x23, 0x33, 0x00, 0x7F, 0xFF, 0xF0, + 0x7F, 0xE0, 0x00, 0xC0, 0x30, 0x18, 0x04, 0x03, 0x00, 0x80, 0x60, 0x10, + 0x0C, 0x02, 0x01, 0x80, 0x40, 0x30, 0x08, 0x06, 0x01, 0x00, 0xC0, 0x00, + 0x03, 0xC0, 0x7F, 0x87, 0xFC, 0x78, 0xF3, 0xC7, 0xBC, 0x3D, 0xE1, 0xEF, + 0x0F, 0xF0, 0x7F, 0x87, 0xBC, 0x3D, 0xE1, 0xEF, 0x1E, 0x78, 0xF3, 0xFF, + 0x0F, 0xF0, 0x3E, 0x00, 0x03, 0x83, 0x83, 0xCF, 0xEF, 0xF0, 0x78, 0x38, + 0x1C, 0x0E, 0x0F, 0x07, 0x03, 0x81, 0xC1, 0xE0, 0xF0, 0x70, 0x38, 0x00, + 0x03, 0xF0, 0x0F, 0xF8, 0x7F, 0xF8, 0xF1, 0xF3, 0xC1, 0xE7, 0x83, 0xC0, + 0x07, 0x80, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x00, 0x7C, 0x01, 0xE0, + 0x07, 0x00, 0x1F, 0xFC, 0x3F, 0xF8, 0xFF, 0xF0, 0x07, 0xE0, 0xFF, 0x8F, + 0xFE, 0xF8, 0xF7, 0x87, 0x80, 0x78, 0x0F, 0x80, 0xFC, 0x07, 0xE0, 0x0F, + 0x80, 0x3C, 0x01, 0xEF, 0x0F, 0x78, 0xF3, 0xFF, 0x8F, 0xF8, 0x3F, 0x00, + 0x00, 0x78, 0x07, 0xC0, 0x7E, 0x03, 0xF0, 0x37, 0x03, 0x38, 0x31, 0xC3, + 0x9E, 0x38, 0xF1, 0x87, 0x1F, 0xFE, 0xFF, 0xF7, 0xFF, 0x80, 0xF0, 0x07, + 0x00, 0x38, 0x03, 0xC0, 0x07, 0xFC, 0x1F, 0xF0, 0xFF, 0xC3, 0x00, 0x1C, + 0x00, 0x7F, 0x81, 0xFF, 0x0F, 0xFE, 0x38, 0xF8, 0x01, 0xE0, 0x07, 0x80, + 0x1E, 0xF0, 0xF3, 0xC7, 0xCF, 0xFE, 0x1F, 0xF0, 0x3F, 0x00, 0x03, 0xE0, + 0x7F, 0x87, 0xFE, 0x78, 0xF3, 0xC0, 0x3D, 0xE1, 0xFF, 0x8F, 0xFE, 0xF8, + 0xF7, 0xC7, 0xBC, 0x3D, 0xE1, 0xEF, 0x1E, 0x7C, 0xF3, 0xFF, 0x0F, 0xF0, + 0x1F, 0x00, 0x7F, 0xFB, 0xFF, 0xDF, 0xFE, 0x00, 0xE0, 0x0E, 0x00, 0xE0, + 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0x70, 0x07, 0x00, 0x78, 0x03, 0x80, 0x3C, + 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x00, 0x03, 0xF0, 0x1F, 0xE0, 0xFF, 0xC7, + 0x8F, 0x1C, 0x3C, 0x71, 0xE0, 0xFF, 0x03, 0xF8, 0x3F, 0xF1, 0xF1, 0xE7, + 0x87, 0xBC, 0x1E, 0xF0, 0x7B, 0xE3, 0xCF, 0xFF, 0x1F, 0xF8, 0x1F, 0x80, + 0x03, 0xE0, 0x3F, 0xE1, 0xFF, 0x8F, 0x9F, 0x3C, 0x3D, 0xE0, 0xF7, 0x83, + 0xDE, 0x1F, 0x78, 0xFD, 0xFF, 0xE3, 0xFF, 0x87, 0xDE, 0x00, 0xF3, 0xC7, + 0x8F, 0xFE, 0x1F, 0xF0, 0x3F, 0x00, 0x1C, 0xF3, 0x80, 0x00, 0x00, 0x00, + 0x01, 0xCF, 0x38, 0x0E, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, + 0xE3, 0x81, 0x06, 0x18, 0x60, 0x00, 0x00, 0x01, 0xC0, 0x7E, 0x1F, 0xE7, + 0xF8, 0x7E, 0x03, 0xE0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x00, 0x78, 0x00, + 0xC0, 0x3F, 0xFC, 0xFF, 0xF3, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, + 0xFF, 0x9F, 0xFC, 0x7F, 0xF0, 0x30, 0x01, 0xE0, 0x0F, 0xE0, 0x3F, 0xC0, + 0x7F, 0x80, 0x7C, 0x07, 0xE1, 0xFE, 0x7F, 0x87, 0xE0, 0x38, 0x00, 0x00, + 0x00, 0x0F, 0xC1, 0xFF, 0x8F, 0xFC, 0xF1, 0xFF, 0x07, 0xF0, 0x3C, 0x01, + 0xE0, 0x1E, 0x01, 0xE0, 0x3E, 0x03, 0xE0, 0x1C, 0x01, 0xC0, 0x0E, 0x00, + 0x00, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xFF, + 0x80, 0x3C, 0x0F, 0x01, 0xC0, 0x0E, 0x0E, 0x00, 0x1C, 0x70, 0xF7, 0x73, + 0x87, 0xF8, 0xCC, 0x31, 0xE3, 0x61, 0x87, 0x0D, 0x8C, 0x1C, 0x3C, 0x30, + 0x61, 0xB1, 0x81, 0x86, 0xC6, 0x0C, 0x3B, 0x18, 0x71, 0xCC, 0x63, 0xCE, + 0x31, 0xFB, 0xF0, 0xE3, 0xCF, 0x01, 0xC0, 0x00, 0x03, 0xC0, 0xC0, 0x07, + 0xFF, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x1F, 0x80, + 0x1F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x07, 0x7C, 0x07, 0x1E, 0x03, 0x8F, + 0x03, 0x87, 0x83, 0xC3, 0xC1, 0xFF, 0xE1, 0xFF, 0xF0, 0xFF, 0xFC, 0xF0, + 0x1E, 0x70, 0x0F, 0x78, 0x07, 0xB8, 0x03, 0xC0, 0x0F, 0xFE, 0x0F, 0xFF, + 0x87, 0xFF, 0xE3, 0xC0, 0xF1, 0xC0, 0x78, 0xE0, 0x3C, 0xF0, 0x3C, 0x7F, + 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0x0E, 0x07, 0xCF, 0x01, 0xE7, 0x80, 0xF3, + 0x80, 0x79, 0xC0, 0x79, 0xFF, 0xF8, 0xFF, 0xFC, 0x7F, 0xF8, 0x00, 0x01, + 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE1, 0xF3, 0xC0, 0x79, 0xE0, 0x3D, + 0xE0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, + 0x0F, 0x00, 0xE7, 0x80, 0xF3, 0xE0, 0xF0, 0xFF, 0xF8, 0x3F, 0xF0, 0x07, + 0xE0, 0x00, 0x1F, 0xFC, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0x81, 0xF1, 0xC0, + 0x79, 0xE0, 0x3C, 0xF0, 0x1E, 0x78, 0x0F, 0x38, 0x07, 0x9C, 0x03, 0xDE, + 0x03, 0xCF, 0x01, 0xE7, 0x81, 0xF3, 0x80, 0xF1, 0xC1, 0xF1, 0xFF, 0xF0, + 0xFF, 0xF0, 0x7F, 0xE0, 0x00, 0x0F, 0xFF, 0x1F, 0xFF, 0x1F, 0xFF, 0x1C, + 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, + 0xFC, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xFF, + 0xF8, 0xFF, 0xF8, 0xFF, 0xF8, 0x1F, 0xFF, 0x1F, 0xFE, 0x1F, 0xFE, 0x1C, + 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, + 0xF8, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, + 0x00, 0xF0, 0x00, 0xE0, 0x00, 0x01, 0xFC, 0x03, 0xFF, 0x03, 0xFF, 0xC3, + 0xE0, 0xF3, 0xC0, 0x39, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0xF0, 0x7F, + 0x78, 0x3F, 0xBC, 0x1F, 0xDE, 0x01, 0xCF, 0x00, 0xE7, 0xC0, 0xF1, 0xF0, + 0xF8, 0xFF, 0xFC, 0x3F, 0xEC, 0x07, 0xE6, 0x00, 0x1E, 0x03, 0x8F, 0x01, + 0xC7, 0x01, 0xE3, 0x80, 0xF3, 0xC0, 0x79, 0xE0, 0x38, 0xF0, 0x1C, 0x7F, + 0xFE, 0x3F, 0xFF, 0x3F, 0xFF, 0x9E, 0x03, 0x8F, 0x01, 0xC7, 0x01, 0xE3, + 0x80, 0xF3, 0xC0, 0x71, 0xE0, 0x38, 0xF0, 0x3C, 0x70, 0x1E, 0x00, 0x1E, + 0x3C, 0x78, 0xE1, 0xC7, 0x8F, 0x1E, 0x38, 0x71, 0xE3, 0xC7, 0x8E, 0x1C, + 0x78, 0xF1, 0xE0, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x38, + 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xC0, 0x07, 0x3C, 0x3C, + 0xF0, 0xF3, 0xC3, 0x8F, 0x1E, 0x3F, 0xF8, 0x7F, 0xC0, 0xFC, 0x00, 0x1E, + 0x07, 0xC7, 0x83, 0xE1, 0xE1, 0xE0, 0x70, 0xF0, 0x1C, 0x78, 0x0F, 0x3C, + 0x03, 0xDE, 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x0F, 0xF0, 0x07, 0xDE, 0x01, + 0xE7, 0xC0, 0x78, 0xF0, 0x1C, 0x3E, 0x0F, 0x07, 0x83, 0xC0, 0xF0, 0xF0, + 0x3C, 0x38, 0x07, 0x80, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xC0, + 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x07, + 0x80, 0x38, 0x01, 0xC0, 0x1F, 0xFE, 0xFF, 0xF7, 0xFF, 0x80, 0x1F, 0x03, + 0xF1, 0xF0, 0x3F, 0x1F, 0x07, 0xF1, 0xF0, 0x7F, 0x3F, 0x0F, 0xE3, 0xF0, + 0xEE, 0x3B, 0x1E, 0xE3, 0xB1, 0xDE, 0x3B, 0x1D, 0xE7, 0xB3, 0x9C, 0x7B, + 0x39, 0xC7, 0x37, 0x9C, 0x73, 0x73, 0xCF, 0x3F, 0x3C, 0xF3, 0xE3, 0x8F, + 0x3E, 0x38, 0xE3, 0xC3, 0x8E, 0x3C, 0x78, 0x1E, 0x03, 0x87, 0xC0, 0xE1, + 0xF0, 0x38, 0x7C, 0x1E, 0x1F, 0x87, 0x8F, 0xE1, 0xC3, 0xB8, 0x70, 0xEF, + 0x1C, 0x39, 0xCF, 0x1E, 0x73, 0xC7, 0x8E, 0xE1, 0xC3, 0xB8, 0x70, 0xEE, + 0x1C, 0x1F, 0x8F, 0x07, 0xE3, 0xC1, 0xF0, 0xE0, 0x3C, 0x38, 0x0F, 0x00, + 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE3, 0xE3, 0xC0, 0xF9, 0xE0, + 0x3D, 0xE0, 0x1E, 0xF0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x03, 0xDE, + 0x01, 0xEF, 0x00, 0xF7, 0xC0, 0xF1, 0xF0, 0xF0, 0xFF, 0xF0, 0x3F, 0xF0, + 0x07, 0xE0, 0x00, 0x1F, 0xFC, 0x1F, 0xFE, 0x1F, 0xFF, 0x1C, 0x1F, 0x1C, + 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x1E, 0x3F, 0xFC, 0x3F, 0xFC, 0x7F, + 0xF0, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, + 0x00, 0xF0, 0x00, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE3, 0xE3, + 0xC0, 0xF9, 0xC0, 0x3D, 0xE0, 0x1E, 0xF0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, + 0xFC, 0x03, 0xDE, 0x09, 0xEF, 0x0E, 0xE7, 0xC7, 0xF1, 0xF1, 0xF0, 0xFF, + 0xF8, 0x3F, 0xFE, 0x07, 0xE6, 0x00, 0x02, 0x00, 0x0F, 0xFE, 0x0F, 0xFF, + 0x87, 0xFF, 0xE3, 0x81, 0xF1, 0xC0, 0x78, 0xE0, 0x3C, 0xF0, 0x1C, 0x78, + 0x1E, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFF, 0x8F, 0x03, 0xC7, 0x81, 0xE3, + 0x80, 0xF1, 0xC0, 0xF1, 0xE0, 0x78, 0xF0, 0x3C, 0x78, 0x1F, 0x00, 0x03, + 0xF8, 0x0F, 0xFE, 0x1F, 0xFF, 0x1E, 0x1F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, + 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x0F, 0xFC, 0x01, 0xFE, 0x00, 0x3E, 0xF0, + 0x1E, 0xF0, 0x1E, 0xF8, 0x3C, 0x7F, 0xF8, 0x7F, 0xF0, 0x1F, 0xC0, 0x7F, + 0xFE, 0xFF, 0xFD, 0xFF, 0xF8, 0x1C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, + 0x03, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xE0, 0x01, + 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x1E, 0x07, 0x1C, + 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x0E, 0x38, 0x0E, 0x78, 0x1E, 0x78, + 0x1E, 0x78, 0x1E, 0x78, 0x1C, 0x70, 0x1C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, + 0x38, 0xF8, 0x78, 0xFF, 0xF0, 0x7F, 0xE0, 0x1F, 0x80, 0xF0, 0x1F, 0xE0, + 0x39, 0xC0, 0xF3, 0x81, 0xC7, 0x07, 0x8E, 0x0E, 0x1C, 0x3C, 0x3C, 0x70, + 0x79, 0xE0, 0xF3, 0x80, 0xEF, 0x01, 0xDC, 0x03, 0xB8, 0x07, 0xE0, 0x0F, + 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x70, 0x7F, 0x87, 0x83, + 0xFC, 0x3C, 0x3D, 0xE1, 0xE1, 0xEF, 0x1F, 0x0E, 0x78, 0xD8, 0xF3, 0xC6, + 0xC7, 0x0E, 0x76, 0x78, 0x73, 0x33, 0x83, 0xB9, 0x9C, 0x1D, 0xCD, 0xC0, + 0xEC, 0x6E, 0x07, 0xE3, 0xE0, 0x3E, 0x1F, 0x01, 0xF0, 0xF0, 0x0F, 0x87, + 0x80, 0x78, 0x38, 0x03, 0xC1, 0xC0, 0x00, 0x0F, 0x03, 0xC3, 0xC1, 0xE0, + 0xF8, 0xF0, 0x1E, 0x78, 0x07, 0x9E, 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x0F, + 0xC0, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3F, 0x00, 0x1F, 0xC0, 0x0F, 0xF0, + 0x07, 0x9E, 0x03, 0xC7, 0x80, 0xF0, 0xF0, 0x78, 0x3C, 0x3C, 0x0F, 0x80, + 0x78, 0x1E, 0xF0, 0x79, 0xE0, 0xF3, 0xC3, 0xC3, 0xCF, 0x07, 0x9E, 0x0F, + 0x78, 0x0F, 0xE0, 0x1F, 0x80, 0x3F, 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, + 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x1F, 0xFF, + 0x0F, 0xFF, 0x87, 0xFF, 0xC0, 0x03, 0xC0, 0x03, 0xE0, 0x03, 0xE0, 0x03, + 0xE0, 0x03, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, + 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xFF, 0xF0, 0xFF, 0xF8, 0x7F, 0xFC, + 0x00, 0x0F, 0xC3, 0xF0, 0xFC, 0x38, 0x1E, 0x07, 0x01, 0xC0, 0x70, 0x1C, + 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, + 0x03, 0x80, 0xFC, 0x3F, 0x0F, 0xC0, 0x08, 0x88, 0xC4, 0x44, 0x66, 0x66, + 0x66, 0x62, 0x22, 0x33, 0x33, 0x30, 0x0F, 0xC3, 0xF0, 0xFC, 0x07, 0x03, + 0xC0, 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xC0, 0x70, 0x1C, 0x07, 0x03, 0xC0, + 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xE0, 0x70, 0xFC, 0x3F, 0x0F, 0xC0, 0x03, + 0x80, 0xF0, 0x1E, 0x07, 0xE1, 0xDC, 0x3B, 0x8E, 0x71, 0x86, 0x70, 0xFC, + 0x1F, 0x83, 0x80, 0x7F, 0xFE, 0xFF, 0xFC, 0xE6, 0x30, 0x07, 0xE0, 0xFF, + 0x8F, 0xFE, 0x70, 0xE0, 0x07, 0x03, 0xF8, 0xFF, 0xCF, 0x9E, 0xF0, 0xF7, + 0x8F, 0x3F, 0xF8, 0xFF, 0xC3, 0xDF, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, + 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x9F, 0x07, 0xFF, 0x0F, 0xFF, 0x3E, 0x3E, + 0x78, 0x3C, 0xF0, 0x79, 0xC0, 0xF3, 0x81, 0xEF, 0x07, 0x9F, 0x1F, 0x3F, + 0xFC, 0x7F, 0xF0, 0xEF, 0x80, 0x07, 0xC0, 0xFF, 0x8F, 0xFE, 0xF8, 0xF7, + 0x87, 0xB8, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0xF7, 0x8F, 0x1F, 0xF8, 0xFF, + 0x81, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x03, + 0xC0, 0xF7, 0x87, 0xFE, 0x1F, 0xFC, 0x7C, 0x78, 0xF0, 0x73, 0xC0, 0xE7, + 0x81, 0x8F, 0x07, 0x1E, 0x0E, 0x3E, 0x3C, 0x7F, 0xF8, 0x7F, 0xE0, 0x7D, + 0xC0, 0x07, 0xC0, 0xFF, 0x8F, 0xFE, 0xF0, 0xF7, 0x87, 0xFF, 0xFF, 0xFF, + 0xFE, 0x00, 0xF0, 0x07, 0xC7, 0x9F, 0xF8, 0xFF, 0x81, 0xF0, 0x00, 0x07, + 0x87, 0xC7, 0xE3, 0xC1, 0xC3, 0xF9, 0xFC, 0x78, 0x3C, 0x1C, 0x0E, 0x07, + 0x07, 0x83, 0x81, 0xC0, 0xE0, 0xF0, 0x78, 0x00, 0x03, 0xDE, 0x1F, 0xF8, + 0x7F, 0xF1, 0xF1, 0xE3, 0xC1, 0xCF, 0x03, 0x9E, 0x06, 0x3C, 0x0C, 0x78, + 0x38, 0xF8, 0xF1, 0xFF, 0xC1, 0xFF, 0x81, 0xF7, 0x00, 0x0E, 0x3C, 0x3C, + 0x78, 0xF0, 0x7F, 0xC0, 0x7E, 0x00, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x07, + 0x00, 0x3C, 0x00, 0xF7, 0xC3, 0xBF, 0x8F, 0xFF, 0x3C, 0x3D, 0xE0, 0xE7, + 0x83, 0x9C, 0x0E, 0x70, 0x79, 0xC1, 0xEF, 0x07, 0x3C, 0x1C, 0xE0, 0x73, + 0x83, 0xC0, 0x0E, 0x3C, 0x70, 0x00, 0x03, 0x8F, 0x1E, 0x38, 0x71, 0xE3, + 0xC7, 0x0E, 0x1C, 0x78, 0xF1, 0xC0, 0x03, 0xC0, 0xE0, 0x38, 0x00, 0x00, + 0x01, 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0xF0, 0x38, 0x0E, 0x03, 0x81, + 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0xF0, 0xF8, 0x3E, 0x0F, 0x00, 0x0E, + 0x00, 0x1C, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x87, 0x87, 0x1E, + 0x0E, 0x78, 0x3D, 0xE0, 0x7F, 0x80, 0xFE, 0x01, 0xFE, 0x03, 0xFC, 0x0F, + 0x38, 0x1E, 0x78, 0x38, 0xF0, 0x70, 0xF0, 0xE1, 0xE0, 0x0E, 0x3C, 0x78, + 0xE1, 0xC3, 0x8F, 0x1E, 0x38, 0x71, 0xE3, 0xC7, 0x0E, 0x1C, 0x78, 0xF1, + 0xC0, 0x1C, 0xF1, 0xE0, 0xEF, 0xDF, 0x87, 0xFF, 0xFE, 0x7C, 0x78, 0xF3, + 0xC3, 0x87, 0x9C, 0x1C, 0x38, 0xE1, 0xE1, 0xC7, 0x0E, 0x0E, 0x78, 0x70, + 0xF3, 0xC3, 0x87, 0x9C, 0x3C, 0x38, 0xE1, 0xE1, 0xC7, 0x0E, 0x0E, 0x00, + 0x3D, 0xF0, 0xEF, 0xE3, 0xFF, 0xCF, 0x0F, 0x78, 0x39, 0xC0, 0xE7, 0x03, + 0x9C, 0x1E, 0xF0, 0x7B, 0xC1, 0xCE, 0x07, 0x38, 0x1C, 0xE0, 0xF0, 0x07, + 0xE0, 0x7F, 0xE3, 0xFF, 0x9F, 0x1F, 0x78, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, + 0x1F, 0xF0, 0x7B, 0xE3, 0xE7, 0xFF, 0x1F, 0xF8, 0x1F, 0x80, 0x0E, 0x7C, + 0x0F, 0xFE, 0x0F, 0xFF, 0x1F, 0x1F, 0x1E, 0x0F, 0x1E, 0x0F, 0x1C, 0x0F, + 0x1C, 0x0F, 0x3C, 0x1E, 0x3E, 0x3E, 0x3F, 0xFC, 0x3F, 0xF8, 0x7B, 0xE0, + 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x07, 0xBC, + 0x7F, 0xF3, 0xFF, 0x9F, 0x1E, 0x78, 0x3B, 0xC0, 0xEF, 0x03, 0x3C, 0x0C, + 0xF0, 0x73, 0xE3, 0xCF, 0xFF, 0x1F, 0xF8, 0x3C, 0xE0, 0x03, 0x80, 0x1E, + 0x00, 0x78, 0x01, 0xC0, 0x07, 0x00, 0x3D, 0xCE, 0xE3, 0xF8, 0xF0, 0x78, + 0x1E, 0x07, 0x01, 0xC0, 0xF0, 0x3C, 0x0E, 0x03, 0x80, 0xE0, 0x00, 0x1F, + 0xC3, 0xFE, 0x7F, 0xFF, 0x0F, 0xF0, 0x0F, 0xE0, 0x7F, 0xC1, 0xFE, 0x03, + 0xEE, 0x1E, 0xFF, 0xC7, 0xFC, 0x3F, 0x00, 0x1E, 0x1E, 0x1C, 0x7F, 0xFF, + 0x3C, 0x38, 0x38, 0x38, 0x78, 0x78, 0x70, 0x7C, 0xF8, 0x78, 0x38, 0x3C, + 0xE0, 0xE3, 0x83, 0x9E, 0x0E, 0x70, 0x79, 0xC1, 0xE7, 0x07, 0x3C, 0x1C, + 0xF0, 0xF3, 0xE7, 0xCF, 0xFF, 0x1F, 0xF8, 0x3C, 0xE0, 0xF0, 0x77, 0x87, + 0xBC, 0x38, 0xE3, 0xC7, 0x1C, 0x39, 0xE1, 0xCE, 0x0E, 0xE0, 0x77, 0x03, + 0xF0, 0x0F, 0x80, 0x78, 0x03, 0xC0, 0x00, 0xF1, 0xC3, 0xF8, 0xE3, 0xFC, + 0xF1, 0xDE, 0x79, 0xEF, 0x3C, 0xE7, 0xB6, 0x73, 0xDB, 0x70, 0xED, 0xB8, + 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3C, 0x0F, 0x1E, 0x07, 0x8E, 0x00, 0x0F, + 0x1E, 0x0F, 0x3C, 0x0F, 0x38, 0x07, 0x70, 0x07, 0xF0, 0x03, 0xE0, 0x03, + 0xC0, 0x07, 0xC0, 0x0F, 0xE0, 0x1E, 0xE0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, + 0x78, 0x3C, 0x1C, 0x78, 0x78, 0xF0, 0xE1, 0xE3, 0xC1, 0xC7, 0x03, 0x9E, + 0x07, 0x38, 0x0E, 0xE0, 0x1D, 0xC0, 0x3F, 0x00, 0x7E, 0x00, 0x78, 0x00, + 0xF0, 0x01, 0xC0, 0x07, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xE0, 0x00, 0x1F, + 0xF9, 0xFF, 0xCF, 0xFC, 0x01, 0xE0, 0x3E, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xC0, 0x3F, 0xF9, 0xFF, 0xCF, 0xFC, 0x00, 0x07, 0x87, 0xC3, + 0xE3, 0xC1, 0xC0, 0xE0, 0x70, 0x38, 0x3C, 0x1C, 0x0E, 0x1E, 0x0F, 0x03, + 0x81, 0xC0, 0xE0, 0x70, 0x78, 0x38, 0x1C, 0x0F, 0x87, 0xC1, 0xC0, 0x0C, + 0x30, 0x86, 0x18, 0x61, 0x8C, 0x30, 0xC3, 0x0C, 0x61, 0x86, 0x18, 0x63, + 0x0C, 0x30, 0xC2, 0x00, 0x00, 0x07, 0x07, 0xC3, 0xE0, 0x70, 0x38, 0x3C, + 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xE0, 0xF0, 0xE0, 0x70, 0x78, 0x38, 0x1C, + 0x0E, 0x07, 0x07, 0x8F, 0x87, 0xC3, 0xC0, 0x3C, 0x07, 0xE0, 0xC7, 0x30, + 0x7E, 0x01, 0xC0 }; + +const GFXglyph FreeSansBoldOblique12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' + { 0, 7, 17, 8, 3, -16 }, // 0x21 '!' + { 15, 10, 6, 11, 4, -17 }, // 0x22 '"' + { 23, 15, 16, 13, 1, -15 }, // 0x23 '#' + { 53, 15, 21, 13, 1, -17 }, // 0x24 '$' + { 93, 18, 18, 21, 3, -17 }, // 0x25 '%' + { 134, 15, 17, 17, 2, -16 }, // 0x26 '&' + { 166, 4, 6, 6, 4, -17 }, // 0x27 ''' + { 169, 9, 22, 8, 2, -17 }, // 0x28 '(' + { 194, 9, 22, 8, -1, -16 }, // 0x29 ')' + { 219, 8, 8, 9, 3, -17 }, // 0x2A '*' + { 227, 12, 11, 14, 2, -10 }, // 0x2B '+' + { 244, 5, 7, 7, 1, -2 }, // 0x2C ',' + { 249, 7, 3, 8, 2, -7 }, // 0x2D '-' + { 252, 4, 3, 7, 2, -2 }, // 0x2E '.' + { 254, 10, 17, 7, 0, -16 }, // 0x2F '/' + { 276, 13, 17, 13, 2, -16 }, // 0x30 '0' + { 304, 9, 17, 13, 4, -16 }, // 0x31 '1' + { 324, 15, 17, 13, 1, -16 }, // 0x32 '2' + { 356, 13, 17, 13, 2, -16 }, // 0x33 '3' + { 384, 13, 17, 13, 1, -16 }, // 0x34 '4' + { 412, 14, 17, 13, 1, -16 }, // 0x35 '5' + { 442, 13, 17, 13, 2, -16 }, // 0x36 '6' + { 470, 13, 17, 13, 3, -16 }, // 0x37 '7' + { 498, 14, 17, 13, 1, -16 }, // 0x38 '8' + { 528, 14, 17, 13, 2, -16 }, // 0x39 '9' + { 558, 6, 12, 8, 3, -11 }, // 0x3A ':' + { 567, 7, 16, 8, 2, -11 }, // 0x3B ';' + { 581, 13, 12, 14, 2, -11 }, // 0x3C '<' + { 601, 14, 9, 14, 1, -9 }, // 0x3D '=' + { 617, 13, 12, 14, 1, -10 }, // 0x3E '>' + { 637, 13, 18, 15, 4, -17 }, // 0x3F '?' + { 667, 22, 21, 23, 2, -17 }, // 0x40 '@' + { 725, 17, 18, 17, 0, -17 }, // 0x41 'A' + { 764, 17, 18, 17, 2, -17 }, // 0x42 'B' + { 803, 17, 18, 17, 3, -17 }, // 0x43 'C' + { 842, 17, 18, 17, 2, -17 }, // 0x44 'D' + { 881, 16, 18, 16, 2, -17 }, // 0x45 'E' + { 917, 16, 18, 15, 2, -17 }, // 0x46 'F' + { 953, 17, 18, 19, 3, -17 }, // 0x47 'G' + { 992, 17, 18, 17, 2, -17 }, // 0x48 'H' + { 1031, 7, 18, 7, 2, -17 }, // 0x49 'I' + { 1047, 14, 18, 13, 1, -17 }, // 0x4A 'J' + { 1079, 18, 18, 17, 2, -17 }, // 0x4B 'K' + { 1120, 13, 18, 15, 2, -17 }, // 0x4C 'L' + { 1150, 20, 18, 20, 2, -17 }, // 0x4D 'M' + { 1195, 18, 18, 17, 2, -17 }, // 0x4E 'N' + { 1236, 17, 18, 19, 3, -17 }, // 0x4F 'O' + { 1275, 16, 18, 16, 2, -17 }, // 0x50 'P' + { 1311, 17, 19, 19, 3, -17 }, // 0x51 'Q' + { 1352, 17, 18, 17, 2, -17 }, // 0x52 'R' + { 1391, 16, 18, 16, 2, -17 }, // 0x53 'S' + { 1427, 15, 18, 15, 3, -17 }, // 0x54 'T' + { 1461, 16, 18, 17, 3, -17 }, // 0x55 'U' + { 1497, 15, 18, 16, 4, -17 }, // 0x56 'V' + { 1531, 21, 18, 23, 4, -17 }, // 0x57 'W' + { 1579, 18, 18, 16, 1, -17 }, // 0x58 'X' + { 1620, 15, 18, 16, 4, -17 }, // 0x59 'Y' + { 1654, 17, 18, 15, 1, -17 }, // 0x5A 'Z' + { 1693, 10, 23, 8, 1, -17 }, // 0x5B '[' + { 1722, 4, 23, 7, 3, -22 }, // 0x5C '\' + { 1734, 10, 23, 8, 0, -17 }, // 0x5D ']' + { 1763, 11, 11, 14, 3, -16 }, // 0x5E '^' + { 1779, 15, 2, 13, -2, 4 }, // 0x5F '_' + { 1783, 4, 3, 8, 4, -17 }, // 0x60 '`' + { 1785, 13, 13, 13, 1, -12 }, // 0x61 'a' + { 1807, 15, 18, 15, 1, -17 }, // 0x62 'b' + { 1841, 13, 13, 13, 2, -12 }, // 0x63 'c' + { 1863, 15, 18, 15, 2, -17 }, // 0x64 'd' + { 1897, 13, 13, 13, 2, -12 }, // 0x65 'e' + { 1919, 9, 18, 8, 2, -17 }, // 0x66 'f' + { 1940, 15, 18, 15, 1, -12 }, // 0x67 'g' + { 1974, 14, 18, 15, 2, -17 }, // 0x68 'h' + { 2006, 7, 18, 7, 2, -17 }, // 0x69 'i' + { 2022, 10, 23, 7, -1, -17 }, // 0x6A 'j' + { 2051, 15, 18, 13, 1, -17 }, // 0x6B 'k' + { 2085, 7, 18, 7, 2, -17 }, // 0x6C 'l' + { 2101, 21, 13, 21, 1, -12 }, // 0x6D 'm' + { 2136, 14, 13, 15, 2, -12 }, // 0x6E 'n' + { 2159, 14, 13, 15, 2, -12 }, // 0x6F 'o' + { 2182, 16, 18, 15, 0, -12 }, // 0x70 'p' + { 2218, 14, 18, 15, 2, -12 }, // 0x71 'q' + { 2250, 10, 13, 9, 2, -12 }, // 0x72 'r' + { 2267, 12, 13, 13, 3, -12 }, // 0x73 's' + { 2287, 8, 15, 8, 2, -14 }, // 0x74 't' + { 2302, 14, 13, 15, 2, -12 }, // 0x75 'u' + { 2325, 13, 13, 13, 3, -12 }, // 0x76 'v' + { 2347, 17, 13, 19, 3, -12 }, // 0x77 'w' + { 2375, 16, 13, 13, 0, -12 }, // 0x78 'x' + { 2401, 15, 18, 13, 1, -12 }, // 0x79 'y' + { 2435, 13, 13, 12, 1, -12 }, // 0x7A 'z' + { 2457, 9, 23, 9, 3, -17 }, // 0x7B '{' + { 2483, 6, 23, 7, 1, -17 }, // 0x7C '|' + { 2501, 9, 23, 9, 0, -17 }, // 0x7D '}' + { 2527, 12, 5, 14, 2, -7 } }; // 0x7E '~' + +const GFXfont FreeSansBoldOblique12pt7b PROGMEM = { + (uint8_t *)FreeSansBoldOblique12pt7bBitmaps, + (GFXglyph *)FreeSansBoldOblique12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 3207 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h new file mode 100644 index 0000000..79c748c --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h @@ -0,0 +1,545 @@ +const uint8_t FreeSansBoldOblique18pt7bBitmaps[] PROGMEM = { + 0x06, 0x01, 0xC0, 0x7C, 0x1F, 0x0F, 0xC3, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, + 0xC0, 0xF0, 0x7C, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x01, 0xC0, + 0x60, 0x7C, 0x1F, 0x07, 0xC3, 0xF0, 0xF8, 0x00, 0x78, 0x7B, 0xC3, 0xFE, + 0x3F, 0xE1, 0xEF, 0x0F, 0x78, 0x7B, 0x83, 0x9C, 0x1C, 0xC0, 0xC0, 0x00, + 0x3C, 0x38, 0x00, 0xF1, 0xE0, 0x07, 0x87, 0x00, 0x1E, 0x3C, 0x00, 0xF0, + 0xE0, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x1F, 0xFF, 0xF8, + 0x0F, 0x0E, 0x00, 0x3C, 0x78, 0x00, 0xE1, 0xE0, 0x07, 0x8F, 0x00, 0x1C, + 0x3C, 0x07, 0xFF, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, + 0x01, 0xE3, 0xC0, 0x0F, 0x0E, 0x00, 0x3C, 0x78, 0x01, 0xE1, 0xC0, 0x07, + 0x8F, 0x00, 0x3C, 0x38, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0xFC, + 0x00, 0xFF, 0xC0, 0x3F, 0xFC, 0x0F, 0xFF, 0xC3, 0xE6, 0x78, 0x78, 0xCF, + 0x1E, 0x39, 0xE3, 0xC7, 0x3C, 0x78, 0xC0, 0x0F, 0x98, 0x01, 0xFF, 0x00, + 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x00, 0x7F, 0x80, 0x0F, 0xF0, + 0x03, 0xBE, 0x00, 0x67, 0xCF, 0x8C, 0xF9, 0xF1, 0x9F, 0x3E, 0x77, 0xC7, + 0xEF, 0xF8, 0x7F, 0xFE, 0x0F, 0xFF, 0x80, 0xFF, 0xE0, 0x03, 0xE0, 0x00, + 0x38, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x07, 0x01, 0xE0, + 0x03, 0x81, 0xFE, 0x00, 0xC0, 0xFF, 0x80, 0x70, 0x7F, 0xF0, 0x38, 0x1E, + 0x3C, 0x1C, 0x0F, 0x07, 0x06, 0x03, 0x81, 0xC3, 0x80, 0xE0, 0xF1, 0xC0, + 0x3C, 0x78, 0xE0, 0x0F, 0xFE, 0x30, 0x01, 0xFF, 0x1C, 0x00, 0x7F, 0x8E, + 0x00, 0x07, 0x83, 0x00, 0x00, 0x01, 0x83, 0xE0, 0x00, 0xE3, 0xFE, 0x00, + 0x71, 0xFF, 0x80, 0x18, 0xFF, 0xF0, 0x0C, 0x3C, 0x3C, 0x07, 0x1C, 0x07, + 0x03, 0x87, 0x01, 0xC0, 0xC1, 0xE1, 0xE0, 0x60, 0x7F, 0xF8, 0x38, 0x0F, + 0xFC, 0x1C, 0x03, 0xFE, 0x06, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x03, + 0xFC, 0x00, 0x3F, 0xF0, 0x03, 0xFF, 0x80, 0x3F, 0x3C, 0x01, 0xF1, 0xE0, + 0x0F, 0x8F, 0x00, 0x7C, 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0xF8, 0x00, 0x3F, + 0x00, 0x03, 0xF0, 0x00, 0x7F, 0xC7, 0x8F, 0xFE, 0x3C, 0xFC, 0xFB, 0xCF, + 0x83, 0xFE, 0xF8, 0x1F, 0xE7, 0xC0, 0x7E, 0x3E, 0x03, 0xE1, 0xF0, 0x1F, + 0x0F, 0xE3, 0xFC, 0x7F, 0xFF, 0xE1, 0xFF, 0xFF, 0x87, 0xFE, 0x7C, 0x0F, + 0xE1, 0xF0, 0x7B, 0xFF, 0xEF, 0x7B, 0x9C, 0xC0, 0x00, 0x78, 0x07, 0x80, + 0x78, 0x03, 0x80, 0x3C, 0x03, 0xC0, 0x1E, 0x01, 0xE0, 0x1E, 0x00, 0xF0, + 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0xF0, 0x07, + 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, + 0x07, 0x80, 0x1C, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x00, 0xE0, 0x07, 0x80, + 0x1C, 0x00, 0x01, 0xC0, 0x0F, 0x00, 0x38, 0x01, 0xE0, 0x0F, 0x00, 0x78, + 0x01, 0xC0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, + 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x1E, + 0x00, 0xF0, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x1E, 0x01, + 0xE0, 0x1E, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x00, 0x03, 0x00, 0x70, 0x07, + 0x04, 0x63, 0xFF, 0xF7, 0xFF, 0x1F, 0x83, 0xF0, 0x3B, 0x87, 0x38, 0x21, + 0x00, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, + 0x00, 0x7C, 0x07, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, + 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, + 0x00, 0x3E, 0x7C, 0xF3, 0xE7, 0xC1, 0x87, 0x0C, 0x39, 0xE3, 0x00, 0x7F, + 0xDF, 0xFF, 0xFB, 0xFE, 0x7D, 0xF7, 0xBE, 0xF8, 0x00, 0x0E, 0x00, 0x18, + 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, 0x00, 0x1C, 0x00, 0x30, 0x00, + 0xE0, 0x01, 0x80, 0x07, 0x00, 0x0C, 0x00, 0x38, 0x00, 0x60, 0x01, 0xC0, + 0x03, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, + 0x00, 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x00, 0x00, 0xFC, 0x00, 0x7F, 0xC0, + 0x7F, 0xF8, 0x3F, 0xFE, 0x0F, 0x8F, 0xC7, 0xC1, 0xF1, 0xE0, 0x7C, 0xF8, + 0x1F, 0x3E, 0x07, 0xDF, 0x01, 0xF7, 0xC0, 0x7D, 0xF0, 0x3F, 0x7C, 0x0F, + 0xBF, 0x03, 0xEF, 0x80, 0xFB, 0xE0, 0x3E, 0xF8, 0x1F, 0x3E, 0x07, 0xCF, + 0x81, 0xE3, 0xE0, 0xF8, 0xFC, 0x7C, 0x1F, 0xFF, 0x07, 0xFF, 0x80, 0xFF, + 0xC0, 0x0F, 0x80, 0x00, 0x00, 0x70, 0x03, 0x80, 0x3C, 0x03, 0xE0, 0xFF, + 0x3F, 0xF3, 0xFF, 0x9F, 0xFC, 0x03, 0xE0, 0x1F, 0x01, 0xF0, 0x0F, 0x80, + 0x7C, 0x03, 0xE0, 0x1E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3E, + 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3E, 0x00, 0x00, 0x1F, 0x80, + 0x07, 0xFF, 0x00, 0x7F, 0xFC, 0x07, 0xFF, 0xE0, 0x7E, 0x1F, 0x83, 0xE0, + 0x7C, 0x1F, 0x03, 0xE1, 0xF0, 0x1F, 0x0F, 0x80, 0xF8, 0x00, 0x0F, 0x80, + 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xE0, 0x00, 0xFC, + 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, + 0x00, 0x03, 0xF0, 0x00, 0x1F, 0xFF, 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, + 0x7F, 0xFF, 0x80, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x03, 0xFF, 0xE0, 0x7F, + 0xFF, 0x0F, 0x83, 0xF0, 0xF0, 0x1F, 0x1F, 0x01, 0xF1, 0xE0, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0xFC, 0x00, 0xFF, 0x80, 0x0F, 0xF0, 0x00, 0xFF, 0x80, + 0x0F, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xCF, 0x80, 0x7C, + 0xF8, 0x07, 0xCF, 0x80, 0xF8, 0xFC, 0x3F, 0x8F, 0xFF, 0xF0, 0x7F, 0xFE, + 0x03, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xFC, 0x00, + 0x7F, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, 0xEF, 0x80, 0x3D, 0xF0, 0x0F, + 0x7C, 0x03, 0xCF, 0x80, 0xF1, 0xF0, 0x1C, 0x3E, 0x07, 0x07, 0xC1, 0xE1, + 0xF0, 0x78, 0x3E, 0x1E, 0x07, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xDF, 0xFF, + 0xFB, 0xFF, 0xFF, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x1F, + 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0xFF, 0xF0, 0x3F, 0xFF, 0x03, + 0xFF, 0xF0, 0x3F, 0xFF, 0x07, 0x80, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x00, + 0xF7, 0xE0, 0x0F, 0xFF, 0x01, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, 0xF0, 0xFC, + 0x3E, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, + 0x8F, 0x80, 0xF8, 0xF8, 0x1F, 0x8F, 0xC3, 0xF0, 0xFF, 0xFE, 0x07, 0xFF, + 0xC0, 0x3F, 0xF8, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, + 0xFF, 0x03, 0xFF, 0xE0, 0xF8, 0x7E, 0x3E, 0x07, 0xC7, 0x80, 0x01, 0xF0, + 0x00, 0x3C, 0xFC, 0x07, 0xFF, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC7, 0xE1, + 0xF8, 0xF8, 0x1F, 0x3E, 0x03, 0xE7, 0x80, 0x7C, 0xF0, 0x0F, 0x9E, 0x01, + 0xE3, 0xC0, 0x7C, 0x78, 0x1F, 0x0F, 0x87, 0xE0, 0xFF, 0xF8, 0x1F, 0xFE, + 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xF9, 0xFF, + 0xFF, 0x7F, 0xFF, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, + 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0x80, 0x01, 0xF0, 0x00, 0x7C, + 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x3E, 0x00, + 0x07, 0xC0, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x07, 0xFF, 0xE0, 0xFF, + 0xFF, 0x0F, 0x81, 0xF1, 0xF0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1F, + 0x07, 0xE0, 0xFF, 0xFC, 0x07, 0xFF, 0x00, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, + 0xF0, 0xFC, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0xF8, 0x07, 0xCF, 0x80, 0x7C, + 0xF8, 0x0F, 0x8F, 0x80, 0xF8, 0xFC, 0x3F, 0x0F, 0xFF, 0xF0, 0x7F, 0xFE, + 0x03, 0xFF, 0x80, 0x0F, 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, + 0xFF, 0x03, 0xFF, 0xE0, 0xFC, 0x3E, 0x3F, 0x03, 0xC7, 0xC0, 0x79, 0xF0, + 0x0F, 0x3E, 0x01, 0xE7, 0xC0, 0x3C, 0xF8, 0x0F, 0x9F, 0x03, 0xE3, 0xF0, + 0xFC, 0x7F, 0xFF, 0x87, 0xFF, 0xF0, 0x7F, 0xFE, 0x07, 0xE7, 0x80, 0x01, + 0xF0, 0x00, 0x3C, 0x7C, 0x0F, 0x8F, 0xC3, 0xE1, 0xFF, 0xF8, 0x1F, 0xFE, + 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x0F, 0x87, 0xC3, 0xC3, 0xE1, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE1, 0xF0, 0xF0, + 0xF8, 0x7C, 0x00, 0x07, 0xC1, 0xF0, 0x78, 0x3E, 0x0F, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x83, 0xE0, 0xF0, 0x7C, + 0x1F, 0x00, 0xC0, 0x70, 0x18, 0x0E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x3C, 0x00, 0x3F, 0x80, 0x3F, 0xE0, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, + 0xFC, 0x07, 0xFC, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x03, 0xFF, 0x80, 0x1F, + 0xFE, 0x00, 0xFF, 0xF0, 0x03, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0x78, 0x00, + 0x03, 0x00, 0x1F, 0xFF, 0xF3, 0xFF, 0xFE, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, + 0xC7, 0xFF, 0xFC, 0xFF, 0xFF, 0x8F, 0xFF, 0xF8, 0x18, 0x00, 0x03, 0xC0, + 0x00, 0x7F, 0x00, 0x0F, 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x3F, + 0xF8, 0x01, 0xFF, 0x00, 0x07, 0xE0, 0x07, 0xFC, 0x07, 0xFF, 0x07, 0xFF, + 0x87, 0xFF, 0x80, 0xFF, 0x80, 0x3F, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, + 0x00, 0x03, 0xF8, 0x03, 0xFF, 0xC1, 0xFF, 0xF8, 0xFF, 0xFE, 0x7E, 0x1F, + 0xDF, 0x03, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xC0, 0x03, 0xE0, + 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, + 0x80, 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xC0, 0x01, 0xF0, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x00, + 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xFE, + 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xE0, 0x0F, 0x80, 0x00, + 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x01, 0xF1, 0xCF, 0x0F, 0x03, 0xFD, + 0xC7, 0x8F, 0x03, 0xFF, 0xE1, 0xC7, 0x03, 0xE3, 0xE0, 0xE7, 0x03, 0xC0, + 0xF0, 0x73, 0x83, 0xC0, 0x78, 0x3B, 0x81, 0xE0, 0x38, 0x1D, 0xC1, 0xE0, + 0x1C, 0x1C, 0xC0, 0xF0, 0x1C, 0x0E, 0xE0, 0x70, 0x0E, 0x0F, 0x70, 0x78, + 0x0E, 0x07, 0x38, 0x3C, 0x0F, 0x07, 0x1C, 0x1E, 0x0F, 0x87, 0x8E, 0x0F, + 0x8F, 0xCF, 0x87, 0x07, 0xFF, 0xFF, 0x83, 0xC1, 0xFE, 0x7F, 0x00, 0xE0, + 0x3C, 0x1F, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0F, + 0xC0, 0x01, 0x00, 0x03, 0xF8, 0x07, 0x80, 0x00, 0xFF, 0xFF, 0xC0, 0x00, + 0x1F, 0xFF, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, + 0x0F, 0xE0, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x03, + 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0x7C, 0x00, 0x7E, 0xF8, 0x00, 0xF9, + 0xF0, 0x03, 0xF3, 0xE0, 0x07, 0xC3, 0xE0, 0x1F, 0x87, 0xC0, 0x3E, 0x0F, + 0x80, 0xF8, 0x1F, 0x01, 0xF0, 0x3E, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, + 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xF1, 0xF0, 0x03, 0xE7, 0xC0, 0x07, 0xCF, + 0x80, 0x0F, 0xBE, 0x00, 0x1F, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x7C, 0x07, + 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, + 0xC0, 0x3F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x1F, + 0x80, 0x1E, 0x1F, 0x80, 0x3E, 0x1F, 0x00, 0x7C, 0x1F, 0xFF, 0xF8, 0x1F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x3E, 0x00, 0xFC, 0x3E, + 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, + 0x00, 0xF8, 0x7C, 0x01, 0xF8, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xC0, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, + 0xFF, 0xFC, 0x03, 0xFF, 0xFE, 0x07, 0xE0, 0x7F, 0x0F, 0xC0, 0x3F, 0x1F, + 0x80, 0x1F, 0x3F, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x7E, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x7C, 0xF8, + 0x00, 0x7C, 0xFC, 0x00, 0xF8, 0xFC, 0x01, 0xF8, 0x7F, 0x07, 0xF0, 0x7F, + 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x07, + 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x0F, + 0x80, 0x7E, 0x0F, 0x80, 0x3F, 0x0F, 0x80, 0x1F, 0x1F, 0x80, 0x1F, 0x1F, + 0x80, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x3F, + 0x00, 0x1F, 0x3E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, + 0x00, 0x3E, 0x7E, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, 0x00, 0xF8, 0x7C, + 0x01, 0xF8, 0x7C, 0x07, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xC0, 0xFF, + 0xFF, 0x00, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x07, + 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, 0x0F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x0F, + 0x80, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF0, 0x3F, + 0xFF, 0xF0, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0x07, + 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xE0, 0xF8, + 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0xFF, 0xFE, + 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, + 0x80, 0x00, 0x3F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xFF, 0xFC, 0x03, + 0xFF, 0xFE, 0x07, 0xE0, 0x7E, 0x0F, 0x80, 0x3F, 0x1F, 0x00, 0x1F, 0x3E, + 0x00, 0x1F, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xF8, 0x07, 0xFF, 0xF8, 0x07, 0xFE, 0xF8, + 0x07, 0xFE, 0xF8, 0x00, 0x3E, 0xF8, 0x00, 0x3E, 0xFC, 0x00, 0x7E, 0xFC, + 0x00, 0x7C, 0x7E, 0x00, 0xFC, 0x7F, 0x83, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, + 0xFF, 0xBC, 0x0F, 0xFF, 0x38, 0x03, 0xFC, 0x38, 0x03, 0xE0, 0x07, 0xC0, + 0xF8, 0x01, 0xF0, 0x7E, 0x00, 0x7C, 0x1F, 0x00, 0x3F, 0x07, 0xC0, 0x0F, + 0x81, 0xF0, 0x03, 0xE0, 0xFC, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, + 0x1F, 0x83, 0xE0, 0x07, 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x1F, + 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, + 0x3F, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x07, 0xE0, 0xF8, 0x01, + 0xF0, 0x3E, 0x00, 0x7C, 0x1F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, 0xC1, 0xF0, + 0x03, 0xF0, 0x7C, 0x00, 0xF8, 0x3F, 0x00, 0x3E, 0x00, 0x07, 0xC3, 0xF0, + 0xFC, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x7E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, + 0x3F, 0x0F, 0xC3, 0xE0, 0xF8, 0x3E, 0x0F, 0x87, 0xE1, 0xF0, 0x7C, 0x1F, + 0x07, 0xC3, 0xF0, 0xFC, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, + 0x01, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, + 0x00, 0x3E, 0x00, 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, + 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x7C, 0x0F, + 0x8F, 0x81, 0xF8, 0xF8, 0x1F, 0x0F, 0x81, 0xF0, 0xF8, 0x1F, 0x0F, 0xC3, + 0xF0, 0xFF, 0xFE, 0x07, 0xFF, 0xC0, 0x3F, 0xF8, 0x01, 0xFC, 0x00, 0x07, + 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0x7C, 0x03, 0xF0, 0x3F, 0x03, 0xF8, + 0x0F, 0x81, 0xF8, 0x03, 0xE0, 0xFC, 0x00, 0xF8, 0x7E, 0x00, 0x7E, 0x3F, + 0x00, 0x1F, 0x1F, 0x80, 0x07, 0xCF, 0xC0, 0x01, 0xF7, 0xE0, 0x00, 0x7F, + 0xF0, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, + 0xFE, 0xFC, 0x00, 0x3F, 0x1F, 0x80, 0x1F, 0x87, 0xE0, 0x07, 0xC0, 0xFC, + 0x01, 0xF0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x1F, 0x01, 0xFC, 0x0F, 0xC0, + 0x3F, 0x03, 0xE0, 0x0F, 0xE0, 0xF8, 0x01, 0xF8, 0x3E, 0x00, 0x3F, 0x00, + 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x03, + 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x01, 0xF0, + 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0x00, + 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, + 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, 0x03, + 0xF8, 0x01, 0xFC, 0x07, 0xF0, 0x07, 0xF8, 0x1F, 0xE0, 0x0F, 0xF0, 0x3F, + 0xC0, 0x3F, 0xE0, 0x7F, 0x80, 0x7F, 0xC0, 0xFF, 0x01, 0xFF, 0x01, 0xFE, + 0x03, 0xFE, 0x07, 0xDC, 0x07, 0x7C, 0x0F, 0xB8, 0x1E, 0xF8, 0x1F, 0x70, + 0x3D, 0xF0, 0x3E, 0xF0, 0xF7, 0xC0, 0xF9, 0xE1, 0xEF, 0x81, 0xF3, 0xC7, + 0x9F, 0x03, 0xE7, 0x8F, 0x3E, 0x07, 0xCF, 0x3C, 0x7C, 0x0F, 0x9E, 0x79, + 0xF0, 0x3E, 0x3C, 0xE3, 0xE0, 0x7C, 0x7B, 0xC7, 0xC0, 0xF8, 0xF7, 0x8F, + 0x81, 0xF1, 0xFE, 0x1E, 0x07, 0xE3, 0xFC, 0x7C, 0x0F, 0x87, 0xF0, 0xF8, + 0x1F, 0x0F, 0xE1, 0xF0, 0x3E, 0x1F, 0x83, 0xE0, 0x7C, 0x3F, 0x0F, 0x81, + 0xF0, 0x7E, 0x1F, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x7E, 0x00, 0xF8, 0x1F, + 0xC0, 0x1F, 0x03, 0xF8, 0x03, 0xE0, 0x7F, 0x80, 0x7C, 0x0F, 0xF0, 0x1F, + 0x01, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, 0xBC, 0x0F, 0x81, 0xF7, + 0xC1, 0xF0, 0x3E, 0xF8, 0x7C, 0x0F, 0x8F, 0x0F, 0x81, 0xF1, 0xF1, 0xF0, + 0x3E, 0x3E, 0x3E, 0x07, 0xC3, 0xC7, 0xC0, 0xF8, 0x7D, 0xF0, 0x3E, 0x0F, + 0xBE, 0x07, 0xC0, 0xF7, 0xC0, 0xF8, 0x1F, 0xF8, 0x1F, 0x01, 0xFE, 0x03, + 0xC0, 0x3F, 0xC0, 0xF8, 0x07, 0xF8, 0x1F, 0x00, 0x7F, 0x03, 0xE0, 0x0F, + 0xE0, 0x7C, 0x01, 0xF8, 0x1F, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0xE0, 0x00, + 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0xC0, 0x7E, 0x07, 0xF0, + 0x7E, 0x01, 0xF8, 0x7C, 0x00, 0x7E, 0x3E, 0x00, 0x1F, 0x3E, 0x00, 0x0F, + 0x9E, 0x00, 0x07, 0xDF, 0x00, 0x03, 0xEF, 0x80, 0x01, 0xFF, 0x80, 0x00, + 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7D, 0xF0, 0x00, 0x3E, 0xF8, 0x00, + 0x1F, 0x7C, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x9F, 0x80, 0x0F, 0x87, 0xE0, + 0x0F, 0x83, 0xF8, 0x1F, 0x80, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0x0F, + 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, + 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xF0, 0xF8, 0x07, 0xE1, 0xF0, 0x07, 0xC3, + 0xE0, 0x0F, 0x8F, 0xC0, 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0x7C, + 0x01, 0xF0, 0xF8, 0x07, 0xC3, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x0F, 0xFF, + 0xF8, 0x1F, 0xFF, 0x80, 0x3E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF0, 0x00, + 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x3F, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0xC0, 0x7F, 0x07, + 0xF0, 0x7E, 0x01, 0xF8, 0x7E, 0x00, 0x7E, 0x3E, 0x00, 0x1F, 0x3E, 0x00, + 0x0F, 0x9E, 0x00, 0x07, 0xDF, 0x00, 0x03, 0xEF, 0x80, 0x01, 0xF7, 0x80, + 0x00, 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7D, 0xF0, 0x00, 0x3E, 0xF8, + 0x02, 0x1F, 0x7C, 0x03, 0x9F, 0x3E, 0x03, 0xFF, 0x9F, 0x81, 0xFF, 0x87, + 0xE0, 0x7F, 0x83, 0xF8, 0x3F, 0xC0, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF0, + 0x0F, 0xFF, 0xFC, 0x01, 0xFE, 0x1C, 0x00, 0x00, 0x0C, 0x00, 0x07, 0xFF, + 0xF8, 0x07, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0x80, + 0x3F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x1F, 0x80, + 0x1E, 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x7C, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, + 0xE0, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3E, 0x01, 0xF8, 0x3E, 0x00, + 0xF8, 0x3E, 0x00, 0xF8, 0x7E, 0x00, 0xF8, 0x7C, 0x00, 0xF8, 0x7C, 0x01, + 0xF0, 0x7C, 0x01, 0xF0, 0x7C, 0x01, 0xF0, 0xFC, 0x01, 0xF0, 0xF8, 0x01, + 0xF0, 0xF8, 0x01, 0xF0, 0x00, 0x3F, 0xC0, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, + 0x81, 0xFF, 0xFF, 0x0F, 0xC0, 0xFC, 0x3E, 0x01, 0xF1, 0xF0, 0x07, 0xC7, + 0xC0, 0x1F, 0x1F, 0x00, 0x00, 0x7E, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFF, + 0x80, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x03, 0xFE, + 0x00, 0x01, 0xF8, 0x00, 0x03, 0xEF, 0x80, 0x0F, 0xBE, 0x00, 0x3C, 0xFC, + 0x01, 0xF3, 0xF8, 0x1F, 0x87, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, + 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, + 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, + 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, + 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, + 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, + 0x00, 0x0F, 0x80, 0x1F, 0x1F, 0x80, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, + 0x3F, 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, 0x00, + 0x7E, 0x3E, 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x7C, 0x00, + 0x7C, 0x7C, 0x00, 0xFC, 0x7C, 0x00, 0xF8, 0x7C, 0x00, 0xF8, 0x7C, 0x00, + 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x01, 0xF8, 0xF8, 0x01, 0xF0, 0xF8, 0x01, + 0xF0, 0xF8, 0x03, 0xE0, 0xFE, 0x0F, 0xE0, 0x7F, 0xFF, 0xC0, 0x7F, 0xFF, + 0x80, 0x1F, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0xFC, 0x00, 0x7F, 0xF0, 0x03, + 0xE7, 0xC0, 0x0F, 0x9F, 0x00, 0x7C, 0x7C, 0x01, 0xF1, 0xF0, 0x0F, 0x87, + 0xC0, 0x3E, 0x1F, 0x01, 0xF0, 0x7C, 0x07, 0x81, 0xF0, 0x3E, 0x03, 0xC0, + 0xF0, 0x0F, 0x07, 0xC0, 0x3E, 0x1E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xC0, + 0x0F, 0x9F, 0x00, 0x3E, 0x78, 0x00, 0xFB, 0xE0, 0x01, 0xEF, 0x00, 0x07, + 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xE0, + 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x07, 0xE0, 0x1F, 0xF8, + 0x07, 0xE0, 0x3F, 0xF8, 0x0F, 0xE0, 0x3E, 0xF8, 0x0F, 0xE0, 0x7E, 0xF8, + 0x1F, 0xE0, 0x7C, 0xF8, 0x1F, 0xE0, 0x7C, 0xF8, 0x3F, 0xE0, 0xF8, 0xF8, + 0x3D, 0xE0, 0xF8, 0x78, 0x3D, 0xE1, 0xF0, 0x78, 0x79, 0xE1, 0xF0, 0x78, + 0x79, 0xE1, 0xE0, 0x78, 0xF9, 0xE3, 0xE0, 0x78, 0xF1, 0xE3, 0xC0, 0x79, + 0xF1, 0xE7, 0xC0, 0x79, 0xE1, 0xE7, 0x80, 0x79, 0xE1, 0xE7, 0x80, 0x7B, + 0xC1, 0xEF, 0x80, 0x7B, 0xC1, 0xEF, 0x00, 0x7F, 0x81, 0xFF, 0x00, 0x7F, + 0x81, 0xFE, 0x00, 0x7F, 0x01, 0xFE, 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x7F, + 0x01, 0xFC, 0x00, 0x7E, 0x01, 0xF8, 0x00, 0x3E, 0x01, 0xF8, 0x00, 0x3C, + 0x01, 0xF0, 0x00, 0x03, 0xF0, 0x07, 0xE0, 0x7E, 0x01, 0xF8, 0x07, 0xE0, + 0x7E, 0x00, 0xFC, 0x1F, 0x80, 0x1F, 0x83, 0xE0, 0x01, 0xF8, 0xF8, 0x00, + 0x3F, 0x3F, 0x00, 0x03, 0xEF, 0xC0, 0x00, 0x7F, 0xF0, 0x00, 0x0F, 0xFC, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, + 0x00, 0x3E, 0xF8, 0x00, 0x0F, 0xDF, 0x80, 0x03, 0xF3, 0xF0, 0x00, 0xFC, + 0x3F, 0x00, 0x3F, 0x07, 0xE0, 0x07, 0xE0, 0xFC, 0x01, 0xF8, 0x0F, 0xC0, + 0x7E, 0x01, 0xF8, 0x1F, 0x80, 0x3F, 0x80, 0x7C, 0x00, 0xFD, 0xF8, 0x07, + 0xE7, 0xE0, 0x1F, 0x1F, 0x80, 0xFC, 0x3E, 0x07, 0xE0, 0xFC, 0x1F, 0x03, + 0xF0, 0xFC, 0x07, 0xC7, 0xE0, 0x1F, 0x1F, 0x00, 0x7E, 0xFC, 0x00, 0xFB, + 0xE0, 0x03, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, + 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, + 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, + 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x83, 0xFF, + 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xE0, 0x00, + 0x07, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, + 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, + 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, + 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF8, 0x00, + 0x03, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, + 0xF0, 0x7F, 0xFF, 0xF0, 0x00, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x1F, + 0xF0, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, + 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, + 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, + 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, + 0xF0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x00, 0xE7, 0x39, 0xCE, 0x31, 0x8C, + 0x63, 0x1C, 0xE7, 0x39, 0xCE, 0x31, 0x8C, 0x63, 0x9C, 0xE7, 0x38, 0x01, + 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x1F, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, + 0x00, 0x3E, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, + 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, + 0x00, 0x3E, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, + 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x1F, 0xF0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, + 0x00, 0x00, 0x7C, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFC, 0x03, 0xFC, 0x03, + 0x9E, 0x07, 0x9E, 0x0F, 0x1E, 0x0F, 0x1E, 0x1E, 0x1E, 0x1C, 0x0F, 0x3C, + 0x0F, 0x78, 0x0F, 0x78, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFE, 0xF3, 0x8C, 0x71, 0x80, 0x01, 0xFE, 0x01, 0xFF, 0xE0, + 0xFF, 0xF8, 0x7F, 0xFF, 0x1F, 0x0F, 0xC7, 0x81, 0xF0, 0x00, 0x7C, 0x00, + 0xFE, 0x07, 0xFF, 0x87, 0xFF, 0xE3, 0xFE, 0xF9, 0xF0, 0x7C, 0xF8, 0x1F, + 0x3E, 0x0F, 0xCF, 0x87, 0xF3, 0xFF, 0xF8, 0xFF, 0xFE, 0x1F, 0xEF, 0x81, + 0xE3, 0xF0, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, + 0x07, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF9, 0xF8, 0x0F, 0xFF, + 0xC1, 0xFF, 0xFE, 0x1F, 0xFF, 0xE1, 0xFC, 0x3F, 0x1F, 0x83, 0xF1, 0xF0, + 0x1F, 0x3E, 0x01, 0xF3, 0xE0, 0x1F, 0x3C, 0x01, 0xF3, 0xC0, 0x1F, 0x3C, + 0x03, 0xE7, 0xC0, 0x3E, 0x7E, 0x07, 0xC7, 0xF1, 0xFC, 0x7F, 0xFF, 0x87, + 0xFF, 0xF0, 0xFB, 0xFE, 0x0F, 0x9F, 0x80, 0x00, 0xFC, 0x01, 0xFF, 0xC0, + 0xFF, 0xF8, 0x7F, 0xFF, 0x3F, 0x0F, 0xCF, 0x81, 0xF7, 0xC0, 0x7D, 0xF0, + 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x0F, + 0xBE, 0x07, 0xCF, 0xC3, 0xF1, 0xFF, 0xF8, 0x7F, 0xFC, 0x0F, 0xFE, 0x00, + 0xFE, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, + 0x3E, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x7E, 0x7C, + 0x07, 0xFD, 0xF0, 0x3F, 0xFF, 0xC1, 0xFF, 0xFE, 0x0F, 0xE3, 0xF8, 0x3E, + 0x07, 0xE1, 0xF0, 0x1F, 0x87, 0xC0, 0x3C, 0x3E, 0x00, 0xF0, 0xF8, 0x07, + 0xC3, 0xE0, 0x1F, 0x0F, 0x80, 0x7C, 0x3E, 0x03, 0xE0, 0xF8, 0x1F, 0x83, + 0xF0, 0xFE, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x7E, + 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0xE0, 0x3F, 0xFE, 0x0F, 0xFF, 0xE3, + 0xF0, 0x7E, 0x7C, 0x07, 0xDF, 0x00, 0xFB, 0xE0, 0x1F, 0x7F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x3F, + 0x07, 0xE3, 0xFF, 0xF8, 0x7F, 0xFE, 0x03, 0xFF, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0xF8, 0x1F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7C, 0x07, 0xC0, 0x3E, 0x0F, + 0xFE, 0x7F, 0xF3, 0xFF, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, + 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x78, 0x07, 0xC0, 0x3E, 0x01, + 0xF0, 0x0F, 0x80, 0xF8, 0x07, 0xC0, 0x00, 0x00, 0x7C, 0x7C, 0x07, 0xFD, + 0xF0, 0x3F, 0xF7, 0x81, 0xFF, 0xFE, 0x0F, 0xE3, 0xF8, 0x3E, 0x07, 0xE1, + 0xF8, 0x0F, 0x87, 0xC0, 0x3C, 0x1E, 0x00, 0xF0, 0xF8, 0x03, 0xC3, 0xE0, + 0x1F, 0x0F, 0x80, 0x78, 0x3E, 0x03, 0xE0, 0xF8, 0x1F, 0x83, 0xF0, 0xFE, + 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0x3F, 0xEF, 0x00, 0x3E, 0x7C, 0x00, + 0x01, 0xF0, 0x00, 0x07, 0xC3, 0xE0, 0x3E, 0x0F, 0x80, 0xF8, 0x3F, 0x0F, + 0xC0, 0x7F, 0xFE, 0x00, 0xFF, 0xF0, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, + 0x00, 0x0F, 0x80, 0x00, 0xF8, 0xF8, 0x0F, 0xBF, 0xE0, 0xFF, 0xFF, 0x0F, + 0xFF, 0xF1, 0xFC, 0x3F, 0x1F, 0x81, 0xF1, 0xF0, 0x1F, 0x1F, 0x01, 0xF1, + 0xE0, 0x1F, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, + 0x7C, 0x03, 0xE7, 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0x7C, 0x07, + 0xCF, 0x80, 0x78, 0x07, 0xC1, 0xF0, 0x7C, 0x3E, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, + 0x0F, 0x87, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x3E, 0x00, + 0x00, 0x3E, 0x00, 0x78, 0x01, 0xF0, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, + 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, + 0x1F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x1F, + 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xF0, 0x1F, 0xC0, 0x3F, 0x80, + 0x7E, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, + 0x0F, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, + 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x07, 0xC7, 0xE0, 0x3E, 0x7E, 0x01, + 0xF7, 0xE0, 0x0F, 0xFE, 0x00, 0xFF, 0xE0, 0x07, 0xFF, 0x00, 0x3F, 0xFC, + 0x01, 0xFF, 0xE0, 0x0F, 0xDF, 0x00, 0xFC, 0xFC, 0x07, 0xC3, 0xE0, 0x3E, + 0x1F, 0x01, 0xF0, 0xFC, 0x0F, 0x83, 0xE0, 0xF8, 0x1F, 0x87, 0xC0, 0xFC, + 0x00, 0x07, 0xC1, 0xF0, 0x7C, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x1F, + 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x87, + 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x3E, 0x00, 0x0F, 0x8F, + 0x83, 0xF0, 0x3E, 0xFF, 0x3F, 0xE0, 0xF7, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, + 0xFF, 0x1F, 0xC7, 0xF8, 0x7C, 0x7C, 0x0F, 0x81, 0xF1, 0xF0, 0x3E, 0x07, + 0xCF, 0x81, 0xF0, 0x3E, 0x3E, 0x07, 0xC0, 0xF8, 0xF8, 0x1F, 0x03, 0xE3, + 0xE0, 0x7C, 0x0F, 0x8F, 0x81, 0xF0, 0x3E, 0x7C, 0x0F, 0x81, 0xF1, 0xF0, + 0x3E, 0x07, 0xC7, 0xC0, 0xF8, 0x1F, 0x1F, 0x03, 0xE0, 0x7C, 0x7C, 0x0F, + 0x81, 0xE3, 0xE0, 0x7C, 0x0F, 0x8F, 0x81, 0xF0, 0x3E, 0x00, 0x0F, 0x8F, + 0x80, 0xFB, 0xFE, 0x0F, 0xFF, 0xF1, 0xFF, 0xFF, 0x1F, 0xC3, 0xF1, 0xF8, + 0x1F, 0x1F, 0x01, 0xF1, 0xF0, 0x1F, 0x3E, 0x01, 0xF3, 0xE0, 0x3E, 0x3E, + 0x03, 0xE3, 0xE0, 0x3E, 0x3C, 0x03, 0xE7, 0xC0, 0x3E, 0x7C, 0x07, 0xC7, + 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0x80, 0x7C, 0xF8, 0x07, 0x80, 0x00, 0xFE, + 0x00, 0x7F, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xE3, 0xF8, 0xFE, 0x7C, 0x0F, + 0xDF, 0x00, 0xFB, 0xE0, 0x1F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x1F, + 0xFC, 0x03, 0xEF, 0x80, 0x7D, 0xF8, 0x1F, 0x3F, 0x07, 0xE3, 0xFF, 0xF8, + 0x7F, 0xFE, 0x07, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xE7, 0xE0, 0x0F, + 0xBF, 0xC0, 0x7D, 0xFF, 0x81, 0xFF, 0xFE, 0x07, 0xF0, 0xFC, 0x1F, 0x81, + 0xF0, 0x7C, 0x07, 0xC3, 0xE0, 0x1F, 0x0F, 0x80, 0x7C, 0x3E, 0x01, 0xF0, + 0xF0, 0x07, 0xC3, 0xC0, 0x3E, 0x1F, 0x00, 0xF8, 0x7E, 0x07, 0xC1, 0xFC, + 0x7F, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0xFB, 0xFE, 0x03, 0xE7, 0xE0, + 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, + 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x01, + 0xF1, 0xF0, 0x7F, 0xDF, 0x0F, 0xFD, 0xF1, 0xFF, 0xFE, 0x3F, 0x8F, 0xE3, + 0xE0, 0x7E, 0x7C, 0x03, 0xE7, 0xC0, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x3C, + 0xF8, 0x07, 0xCF, 0x80, 0x7C, 0xF8, 0x0F, 0x8F, 0x81, 0xF8, 0xFC, 0x3F, + 0x87, 0xFF, 0xF8, 0x7F, 0xFF, 0x83, 0xFF, 0xF0, 0x1F, 0x9F, 0x00, 0x01, + 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, + 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x0F, 0x8E, 0x1F, 0x7C, 0x3F, + 0xF0, 0xFF, 0xE1, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x3E, 0x00, + 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, + 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, 0x00, 0x01, 0xFC, 0x01, 0xFF, 0xC0, + 0xFF, 0xF8, 0x7F, 0xFF, 0x3F, 0x0F, 0xCF, 0x81, 0xF3, 0xF0, 0x00, 0xFF, + 0x80, 0x3F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xF8, 0x03, 0xFE, 0x00, 0x1F, + 0xBE, 0x03, 0xEF, 0xC1, 0xFB, 0xFF, 0xFC, 0x7F, 0xFE, 0x0F, 0xFF, 0x00, + 0xFE, 0x00, 0x0F, 0x81, 0xF0, 0x7C, 0x0F, 0x81, 0xF0, 0xFF, 0xBF, 0xF7, + 0xFE, 0x3E, 0x07, 0xC0, 0xF8, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, + 0xF8, 0x1F, 0x03, 0xE0, 0x7F, 0x0F, 0xE1, 0xFC, 0x1F, 0x80, 0x1F, 0x01, + 0xF1, 0xF0, 0x1F, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, 0x3E, 0x03, 0xE3, 0xE0, + 0x3E, 0x3E, 0x03, 0xE7, 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0x7C, + 0x07, 0xC7, 0xC0, 0x7C, 0xF8, 0x0F, 0x8F, 0x81, 0xF8, 0xF8, 0x3F, 0x8F, + 0xFF, 0xF8, 0xFF, 0xFF, 0x07, 0xFD, 0xF0, 0x3F, 0x1F, 0x00, 0xF8, 0x0F, + 0xFE, 0x03, 0xEF, 0x81, 0xF3, 0xE0, 0x7C, 0xF8, 0x3E, 0x3E, 0x0F, 0x8F, + 0x87, 0xC1, 0xE1, 0xF0, 0x78, 0xF8, 0x1E, 0x3E, 0x07, 0x9F, 0x01, 0xF7, + 0x80, 0x7F, 0xE0, 0x1F, 0xF0, 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x3F, 0x80, + 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xF8, 0x1F, 0x07, 0xFF, 0x03, 0xE0, 0xFB, + 0xE0, 0xFC, 0x1F, 0x7C, 0x1F, 0x87, 0xCF, 0x87, 0xF0, 0xF9, 0xF0, 0xFE, + 0x3E, 0x3E, 0x3D, 0xC7, 0xC3, 0xC7, 0xB9, 0xF0, 0x79, 0xE7, 0x3E, 0x0F, + 0x3C, 0xE7, 0x81, 0xEF, 0x1D, 0xF0, 0x3D, 0xE3, 0xBC, 0x07, 0xBC, 0x7F, + 0x80, 0xFF, 0x0F, 0xE0, 0x1F, 0xE1, 0xFC, 0x03, 0xF8, 0x3F, 0x00, 0x7F, + 0x07, 0xE0, 0x0F, 0xC0, 0xF8, 0x01, 0xF8, 0x1F, 0x00, 0x00, 0x0F, 0xC1, + 0xF8, 0x3F, 0x07, 0xC0, 0x7C, 0x3E, 0x01, 0xF9, 0xF8, 0x03, 0xEF, 0xC0, + 0x0F, 0xBE, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0x80, 0x01, 0xFC, 0x00, 0x03, + 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x3E, 0xF8, + 0x01, 0xFB, 0xF0, 0x07, 0xC7, 0xC0, 0x3E, 0x1F, 0x81, 0xF8, 0x7E, 0x0F, + 0xC0, 0xF8, 0x00, 0x1F, 0x80, 0x7C, 0x3E, 0x03, 0xE0, 0xF8, 0x0F, 0x03, + 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3E, 0x0F, 0x80, 0xF8, 0x3C, 0x03, 0xE1, + 0xF0, 0x07, 0x87, 0x80, 0x1F, 0x3E, 0x00, 0x7C, 0xF0, 0x01, 0xF7, 0xC0, + 0x07, 0xDE, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xC0, 0x01, 0xFE, 0x00, 0x03, + 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, + 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x01, + 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE1, 0xFF, 0xFC, 0x3F, + 0xFF, 0x87, 0xFF, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, + 0xF0, 0x01, 0xFC, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, + 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xFF, 0xF8, 0xFF, 0xFF, 0x1F, 0xFF, + 0xE3, 0xFF, 0xFC, 0x00, 0x00, 0x7C, 0x03, 0xF0, 0x1F, 0xC0, 0xFE, 0x03, + 0xE0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, + 0xE0, 0x0F, 0x80, 0x3C, 0x01, 0xF0, 0x1F, 0x80, 0x70, 0x01, 0xF8, 0x01, + 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, + 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xFC, 0x07, 0xE0, 0x0F, 0x80, + 0x1E, 0x00, 0x03, 0x81, 0xC0, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0C, 0x0E, + 0x07, 0x03, 0x81, 0xC0, 0xC0, 0xE0, 0x70, 0x38, 0x18, 0x1C, 0x0E, 0x07, + 0x03, 0x81, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x18, 0x1C, 0x0E, 0x07, 0x01, + 0x80, 0x80, 0x00, 0x00, 0x01, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0xFE, 0x00, + 0x78, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, + 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x7E, 0x00, 0x38, 0x07, 0xE0, + 0x3E, 0x00, 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, + 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1F, 0x01, 0xF8, 0x0F, 0xE0, 0x3F, 0x00, + 0xF8, 0x00, 0x0F, 0x00, 0x1F, 0xC1, 0xDF, 0xF0, 0xEE, 0x3F, 0xE6, 0x07, + 0xF0, 0x01, 0xE0 }; + +const GFXglyph FreeSansBoldOblique18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' + { 0, 10, 25, 12, 4, -24 }, // 0x21 '!' + { 32, 13, 9, 17, 6, -25 }, // 0x22 '"' + { 47, 22, 24, 19, 1, -23 }, // 0x23 '#' + { 113, 19, 31, 19, 2, -26 }, // 0x24 '$' + { 187, 26, 26, 31, 5, -25 }, // 0x25 '%' + { 272, 21, 25, 25, 3, -24 }, // 0x26 '&' + { 338, 5, 9, 8, 6, -25 }, // 0x27 ''' + { 344, 13, 33, 12, 3, -25 }, // 0x28 '(' + { 398, 13, 33, 12, -1, -25 }, // 0x29 ')' + { 452, 12, 11, 14, 5, -25 }, // 0x2A '*' + { 469, 18, 16, 20, 3, -15 }, // 0x2B '+' + { 505, 7, 11, 10, 1, -4 }, // 0x2C ',' + { 515, 10, 4, 12, 2, -10 }, // 0x2D '-' + { 520, 6, 5, 10, 2, -4 }, // 0x2E '.' + { 524, 15, 25, 10, 0, -24 }, // 0x2F '/' + { 571, 18, 25, 19, 3, -24 }, // 0x30 '0' + { 628, 13, 25, 19, 6, -24 }, // 0x31 '1' + { 669, 21, 25, 19, 1, -24 }, // 0x32 '2' + { 735, 20, 25, 19, 2, -24 }, // 0x33 '3' + { 798, 19, 25, 19, 2, -24 }, // 0x34 '4' + { 858, 20, 24, 19, 2, -23 }, // 0x35 '5' + { 918, 19, 25, 19, 3, -24 }, // 0x36 '6' + { 978, 19, 24, 19, 5, -23 }, // 0x37 '7' + { 1035, 20, 25, 19, 2, -24 }, // 0x38 '8' + { 1098, 19, 25, 19, 2, -24 }, // 0x39 '9' + { 1158, 9, 18, 12, 4, -17 }, // 0x3A ':' + { 1179, 10, 24, 12, 3, -17 }, // 0x3B ';' + { 1209, 19, 17, 20, 3, -16 }, // 0x3C '<' + { 1250, 20, 12, 20, 2, -13 }, // 0x3D '=' + { 1280, 19, 17, 20, 1, -15 }, // 0x3E '>' + { 1321, 18, 26, 21, 6, -25 }, // 0x3F '?' + { 1380, 33, 31, 34, 3, -25 }, // 0x40 '@' + { 1508, 23, 26, 25, 1, -25 }, // 0x41 'A' + { 1583, 24, 26, 25, 3, -25 }, // 0x42 'B' + { 1661, 24, 26, 25, 4, -25 }, // 0x43 'C' + { 1739, 24, 26, 25, 3, -25 }, // 0x44 'D' + { 1817, 24, 26, 23, 3, -25 }, // 0x45 'E' + { 1895, 23, 26, 21, 3, -25 }, // 0x46 'F' + { 1970, 24, 26, 27, 4, -25 }, // 0x47 'G' + { 2048, 26, 26, 25, 2, -25 }, // 0x48 'H' + { 2133, 10, 26, 10, 2, -25 }, // 0x49 'I' + { 2166, 20, 26, 19, 2, -25 }, // 0x4A 'J' + { 2231, 26, 26, 25, 3, -25 }, // 0x4B 'K' + { 2316, 18, 26, 21, 3, -25 }, // 0x4C 'L' + { 2375, 31, 26, 29, 2, -25 }, // 0x4D 'M' + { 2476, 27, 26, 25, 2, -25 }, // 0x4E 'N' + { 2564, 25, 26, 27, 4, -25 }, // 0x4F 'O' + { 2646, 23, 26, 23, 3, -25 }, // 0x50 'P' + { 2721, 25, 27, 27, 4, -25 }, // 0x51 'Q' + { 2806, 24, 26, 25, 3, -25 }, // 0x52 'R' + { 2884, 22, 26, 23, 3, -25 }, // 0x53 'S' + { 2956, 21, 26, 21, 5, -25 }, // 0x54 'T' + { 3025, 24, 26, 25, 4, -25 }, // 0x55 'U' + { 3103, 22, 26, 23, 6, -25 }, // 0x56 'V' + { 3175, 32, 26, 33, 6, -25 }, // 0x57 'W' + { 3279, 27, 26, 23, 1, -25 }, // 0x58 'X' + { 3367, 22, 26, 23, 6, -25 }, // 0x59 'Y' + { 3439, 25, 26, 21, 1, -25 }, // 0x5A 'Z' + { 3521, 15, 33, 12, 1, -25 }, // 0x5B '[' + { 3583, 5, 25, 10, 5, -24 }, // 0x5C '\' + { 3599, 15, 33, 12, -1, -25 }, // 0x5D ']' + { 3661, 16, 15, 20, 4, -23 }, // 0x5E '^' + { 3691, 21, 3, 19, -2, 5 }, // 0x5F '_' + { 3699, 5, 5, 12, 6, -25 }, // 0x60 '`' + { 3703, 18, 19, 19, 2, -18 }, // 0x61 'a' + { 3746, 20, 26, 21, 2, -25 }, // 0x62 'b' + { 3811, 18, 19, 19, 3, -18 }, // 0x63 'c' + { 3854, 22, 26, 21, 3, -25 }, // 0x64 'd' + { 3926, 19, 19, 19, 2, -18 }, // 0x65 'e' + { 3972, 13, 26, 12, 3, -25 }, // 0x66 'f' + { 4015, 22, 27, 21, 1, -18 }, // 0x67 'g' + { 4090, 20, 26, 21, 2, -25 }, // 0x68 'h' + { 4155, 10, 26, 10, 2, -25 }, // 0x69 'i' + { 4188, 15, 34, 10, -2, -25 }, // 0x6A 'j' + { 4252, 21, 26, 19, 2, -25 }, // 0x6B 'k' + { 4321, 10, 26, 10, 2, -25 }, // 0x6C 'l' + { 4354, 30, 19, 31, 2, -18 }, // 0x6D 'm' + { 4426, 20, 19, 21, 2, -18 }, // 0x6E 'n' + { 4474, 19, 19, 21, 3, -18 }, // 0x6F 'o' + { 4520, 22, 27, 21, 0, -18 }, // 0x70 'p' + { 4595, 20, 27, 21, 3, -18 }, // 0x71 'q' + { 4663, 15, 19, 14, 2, -18 }, // 0x72 'r' + { 4699, 18, 19, 19, 2, -18 }, // 0x73 's' + { 4742, 11, 23, 12, 4, -22 }, // 0x74 't' + { 4774, 20, 19, 21, 3, -18 }, // 0x75 'u' + { 4822, 18, 19, 19, 5, -18 }, // 0x76 'v' + { 4865, 27, 19, 27, 4, -18 }, // 0x77 'w' + { 4930, 22, 19, 19, 1, -18 }, // 0x78 'x' + { 4983, 22, 27, 19, 1, -18 }, // 0x79 'y' + { 5058, 19, 19, 17, 1, -18 }, // 0x7A 'z' + { 5104, 14, 33, 14, 2, -25 }, // 0x7B '{' + { 5162, 9, 33, 10, 2, -25 }, // 0x7C '|' + { 5200, 14, 33, 14, 2, -25 }, // 0x7D '}' + { 5258, 17, 6, 20, 3, -10 } }; // 0x7E '~' + +const GFXfont FreeSansBoldOblique18pt7b PROGMEM = { + (uint8_t *)FreeSansBoldOblique18pt7bBitmaps, + (GFXglyph *)FreeSansBoldOblique18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 5943 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h new file mode 100644 index 0000000..ea65f9b --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h @@ -0,0 +1,893 @@ +const uint8_t FreeSansBoldOblique24pt7bBitmaps[] PROGMEM = { + 0x01, 0xE0, 0x07, 0xF0, 0x1F, 0xC0, 0xFF, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, + 0x80, 0xFE, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x1F, + 0x80, 0x7E, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0xF8, 0x03, 0xE0, 0x0F, + 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0xFE, 0x03, 0xF8, 0x00, + 0x7E, 0x0F, 0xDF, 0x83, 0xF7, 0xE0, 0xFF, 0xF0, 0x7E, 0xFC, 0x1F, 0xBF, + 0x07, 0xEF, 0xC1, 0xFB, 0xE0, 0x7C, 0xF8, 0x1F, 0x3C, 0x07, 0x8F, 0x01, + 0xE3, 0x80, 0x70, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x03, + 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0x7C, 0x00, 0x0F, 0x83, + 0xE0, 0x00, 0xF8, 0x3E, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, + 0x7F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0x0F, + 0x83, 0xE0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x3E, 0x0F, + 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF8, 0x7C, 0x00, + 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, + 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0x07, 0xC0, 0x00, 0xF8, 0x3E, + 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x7C, 0x1F, 0x00, 0x07, 0xC1, 0xF0, 0x00, + 0x3E, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF8, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, + 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0xE0, 0x1F, + 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x07, 0xF3, 0x9F, 0xC1, 0xF8, 0xE3, 0xF0, + 0x7C, 0x38, 0xFC, 0x3F, 0x0E, 0x3F, 0x0F, 0xC7, 0x8F, 0xC3, 0xF1, 0xC0, + 0x00, 0xFE, 0x70, 0x00, 0x3F, 0xDC, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, + 0xE0, 0x00, 0x3F, 0xFE, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, + 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x77, 0xF8, 0x00, 0x1C, 0xFE, + 0x00, 0x07, 0x3F, 0x8F, 0xE3, 0xCF, 0xE3, 0xF8, 0xE3, 0xF8, 0xFE, 0x38, + 0xFC, 0x3F, 0x8E, 0x7F, 0x0F, 0xF3, 0x9F, 0xC3, 0xFD, 0xFF, 0xE0, 0x7F, + 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, + 0x03, 0xFC, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x03, 0x80, + 0x00, 0x01, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x07, + 0x80, 0x7F, 0xE0, 0x00, 0xF0, 0x0F, 0xFF, 0x00, 0x1E, 0x01, 0xFF, 0xF0, + 0x01, 0xC0, 0x3F, 0xFF, 0x80, 0x3C, 0x07, 0xE1, 0xF8, 0x07, 0x80, 0x78, + 0x07, 0x80, 0xF0, 0x0F, 0x80, 0x78, 0x0E, 0x00, 0xF0, 0x07, 0x81, 0xC0, + 0x0F, 0x00, 0xF8, 0x3C, 0x00, 0xF0, 0x0F, 0x07, 0x80, 0x0F, 0xC3, 0xF0, + 0xF0, 0x00, 0xFF, 0xFE, 0x0E, 0x00, 0x07, 0xFF, 0xC1, 0xE0, 0x00, 0x7F, + 0xF8, 0x3C, 0x00, 0x03, 0xFF, 0x07, 0x80, 0x00, 0x0F, 0xC0, 0x70, 0x00, + 0x00, 0x00, 0x0E, 0x03, 0xF0, 0x00, 0x01, 0xE0, 0xFF, 0xC0, 0x00, 0x3C, + 0x1F, 0xFE, 0x00, 0x03, 0x83, 0xFF, 0xE0, 0x00, 0x70, 0x7F, 0xFF, 0x00, + 0x0F, 0x0F, 0xC3, 0xF0, 0x01, 0xE0, 0xF0, 0x0F, 0x00, 0x3C, 0x1F, 0x00, + 0xF0, 0x03, 0x81, 0xE0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xF0, 0x0F, 0x01, + 0xE0, 0x1E, 0x01, 0xE0, 0x1F, 0x87, 0xE0, 0x1C, 0x01, 0xFF, 0xFC, 0x03, + 0x80, 0x0F, 0xFF, 0x80, 0x78, 0x00, 0xFF, 0xF0, 0x0F, 0x00, 0x07, 0xFE, + 0x01, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0xF0, + 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0x00, 0x03, 0xFF, 0xF8, 0x00, + 0x3F, 0x9F, 0xC0, 0x03, 0xF8, 0x7E, 0x00, 0x1F, 0xC3, 0xF0, 0x00, 0xFE, + 0x1F, 0x00, 0x07, 0xF1, 0xF8, 0x00, 0x3F, 0xCF, 0xC0, 0x01, 0xFE, 0xFC, + 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0x07, 0xC1, 0xFF, + 0xF8, 0x3E, 0x3F, 0xFF, 0xE3, 0xE3, 0xFE, 0x3F, 0x1F, 0x1F, 0xC1, 0xFD, + 0xF1, 0xFC, 0x07, 0xFF, 0x8F, 0xC0, 0x3F, 0xF8, 0xFE, 0x00, 0xFF, 0xC7, + 0xF0, 0x07, 0xFC, 0x3F, 0x80, 0x1F, 0xC1, 0xFC, 0x00, 0xFE, 0x0F, 0xF0, + 0x1F, 0xF8, 0x7F, 0xC1, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, + 0xFC, 0x3F, 0xFF, 0xCF, 0xE0, 0x7F, 0xF8, 0x7F, 0x80, 0xFF, 0x00, 0x00, + 0x7E, 0xFD, 0xFF, 0xEF, 0xDF, 0xBF, 0x7C, 0xF9, 0xE3, 0xC7, 0x00, 0x00, + 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, + 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x01, 0xF0, 0x01, 0xF8, + 0x00, 0xF8, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x1F, + 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x03, 0xF0, 0x01, + 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, + 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x1E, + 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x3E, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, + 0x1E, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x7C, + 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x01, 0xF0, 0x00, + 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, + 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, + 0x00, 0x1F, 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x03, + 0xE0, 0x03, 0xF0, 0x01, 0xF0, 0x01, 0xF8, 0x00, 0xF8, 0x00, 0xFC, 0x00, + 0x7C, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, + 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0x03, 0x80, 0x07, + 0x00, 0x0E, 0x07, 0x3C, 0x6F, 0xFF, 0xFF, 0xFF, 0xBF, 0xFE, 0x0F, 0xE0, + 0x1F, 0xC0, 0x7F, 0x81, 0xEF, 0x87, 0x8F, 0x0E, 0x1E, 0x08, 0x10, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, + 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF8, 0x00, + 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xC7, 0xF1, 0xF8, 0xFE, 0x3F, + 0x8F, 0xE0, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0xF0, 0xFC, 0x3C, 0x0C, + 0x00, 0x7F, 0xFD, 0xFF, 0xF7, 0xFF, 0x9F, 0xFE, 0xFF, 0xFB, 0xFF, 0xE0, + 0x7F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x70, 0x00, 0x0E, + 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x03, + 0x80, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x01, + 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, + 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, + 0x38, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, + 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, + 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x1F, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, + 0x1F, 0xC7, 0xF8, 0x1F, 0xC1, 0xFE, 0x1F, 0xC0, 0x7F, 0x0F, 0xC0, 0x3F, + 0x8F, 0xE0, 0x1F, 0xC7, 0xF0, 0x0F, 0xE3, 0xF0, 0x07, 0xF3, 0xF8, 0x03, + 0xF9, 0xFC, 0x01, 0xFC, 0xFC, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0x7F, 0x00, + 0x7F, 0x3F, 0x80, 0x3F, 0x9F, 0xC0, 0x1F, 0xCF, 0xE0, 0x1F, 0xEF, 0xE0, + 0x0F, 0xE7, 0xF0, 0x07, 0xF3, 0xF8, 0x03, 0xF9, 0xFC, 0x03, 0xF8, 0xFE, + 0x01, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, 0x80, 0xFE, 0x1F, 0xE0, 0x7F, 0x0F, + 0xF8, 0xFF, 0x03, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, + 0x1F, 0xFF, 0x00, 0x07, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x0F, + 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x3F, 0xF9, 0xFF, + 0xF8, 0xFF, 0xFC, 0xFF, 0xFE, 0x7F, 0xFF, 0x00, 0x3F, 0x80, 0x1F, 0x80, + 0x0F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xF8, 0x01, 0xFC, + 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x1F, 0xC0, 0x0F, + 0xE0, 0x07, 0xF0, 0x03, 0xF0, 0x01, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, + 0x7F, 0x00, 0x3F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x00, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, + 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x07, 0xFC, 0x07, 0xF0, 0x1F, 0xE0, 0x7F, + 0x00, 0x7F, 0x03, 0xF0, 0x03, 0xF8, 0x1F, 0x80, 0x1F, 0xC1, 0xF8, 0x00, + 0xFE, 0x0F, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x7F, 0x80, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0xFF, + 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xF0, + 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xFF, 0x80, 0x0F, 0xFF, 0xF0, 0x07, + 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xC0, 0xFE, 0x1F, 0xF0, 0x7F, 0x01, 0xFC, + 0x1F, 0x80, 0x7F, 0x07, 0xE0, 0x1F, 0xC3, 0xF0, 0x07, 0xF0, 0xFC, 0x01, + 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x80, 0x01, + 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xFF, 0x80, + 0x01, 0xFF, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x3F, 0x80, + 0x3F, 0xCF, 0xE0, 0x0F, 0xE3, 0xF8, 0x07, 0xF8, 0xFF, 0x83, 0xFC, 0x3F, + 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, + 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, + 0x7F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, + 0x3F, 0xF8, 0x00, 0x3D, 0xFC, 0x00, 0x3C, 0xFE, 0x00, 0x3E, 0x7E, 0x00, + 0x3E, 0x7F, 0x00, 0x1E, 0x3F, 0x80, 0x1E, 0x1F, 0xC0, 0x1E, 0x0F, 0xC0, + 0x1F, 0x07, 0xE0, 0x1F, 0x07, 0xF0, 0x1F, 0x03, 0xF8, 0x1F, 0x01, 0xFC, + 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFE, 0x0F, 0x80, 0x7F, 0x07, 0xFF, 0xFF, + 0xF7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, + 0x7F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, + 0xF0, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x7C, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x03, 0xE3, 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x03, 0xFF, + 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x1F, 0xE1, 0xFF, 0x03, 0xF0, 0x1F, 0xE0, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0xFE, 0x1F, + 0xC0, 0x3F, 0x83, 0xF8, 0x07, 0xF0, 0x7F, 0x83, 0xFC, 0x0F, 0xFF, 0xFF, + 0x80, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFE, 0x00, 0x0F, + 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, + 0x00, 0x1F, 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x1F, 0xC3, + 0xFC, 0x1F, 0x80, 0xFE, 0x0F, 0xC0, 0x3F, 0x0F, 0xC0, 0x00, 0x07, 0xE0, + 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF8, 0xFC, 0x01, 0xF9, + 0xFF, 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFC, 0x3F, + 0xE1, 0xFF, 0x1F, 0xE0, 0x7F, 0x8F, 0xE0, 0x1F, 0xCF, 0xE0, 0x0F, 0xE7, + 0xF0, 0x07, 0xF3, 0xF0, 0x03, 0xF9, 0xF8, 0x01, 0xF8, 0xFC, 0x01, 0xFC, + 0x7E, 0x00, 0xFE, 0x3F, 0x00, 0xFE, 0x1F, 0xC0, 0xFF, 0x0F, 0xF0, 0xFF, + 0x03, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, + 0x80, 0x07, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xCF, + 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, + 0x9F, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x1F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xE0, + 0x00, 0x03, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, + 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, + 0x01, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, + 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0xF0, 0x03, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, + 0xC0, 0xFE, 0x0F, 0xF0, 0x3E, 0x01, 0xFC, 0x1F, 0x80, 0x3F, 0x07, 0xC0, + 0x0F, 0xC1, 0xF0, 0x03, 0xF0, 0x7C, 0x01, 0xF8, 0x1F, 0x00, 0xFC, 0x03, + 0xF0, 0x7F, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, + 0x07, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x81, 0xFE, 0x1F, 0xE0, 0xFE, 0x03, + 0xFC, 0x3F, 0x00, 0x7F, 0x1F, 0xC0, 0x1F, 0xC7, 0xE0, 0x07, 0xF3, 0xF8, + 0x01, 0xFC, 0xFE, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0x8F, 0xE0, 0x0F, 0xE3, + 0xFC, 0x07, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, + 0x00, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0x03, 0xFF, 0xE0, 0x00, 0x3F, + 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xFF, 0x00, + 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, 0x3F, 0xC3, 0xF8, 0x3F, 0xC0, 0xFE, + 0x1F, 0xC0, 0x3F, 0x1F, 0xC0, 0x1F, 0x8F, 0xE0, 0x0F, 0xC7, 0xE0, 0x07, + 0xE7, 0xF0, 0x03, 0xF3, 0xF8, 0x01, 0xF9, 0xFC, 0x01, 0xFC, 0xFE, 0x00, + 0xFE, 0x7F, 0x00, 0xFE, 0x3F, 0xC0, 0xFF, 0x1F, 0xF0, 0xFF, 0x87, 0xFF, + 0xFF, 0xC3, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0x3F, 0xF3, 0xF0, 0x07, + 0xE3, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x7E, 0x1F, 0xC0, 0x7E, 0x0F, 0xF0, 0xFF, 0x07, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x0F, 0xFF, 0x00, + 0x01, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7E, 0x0F, 0xE0, + 0xFE, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x07, 0xF0, 0x7F, 0x07, + 0xE0, 0xFE, 0x0F, 0xE0, 0xFE, 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, + 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, + 0x03, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, 0xF0, 0x0F, 0xC0, + 0x3C, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x00, + 0x01, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, + 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, + 0x0F, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x3F, 0xFE, + 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xF8, 0x00, + 0x7F, 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x01, 0xF8, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, + 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x8F, + 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, + 0xFF, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xF8, 0xFF, + 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0x80, 0x04, 0x00, 0x00, 0x01, 0xE0, 0x00, + 0x00, 0x7E, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x03, 0xFF, + 0xF8, 0x00, 0x7F, 0xFF, 0x80, 0x07, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xC0, + 0x01, 0xFF, 0xF0, 0x00, 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFF, + 0xC0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, + 0xE0, 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x01, 0xFF, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, + 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFE, + 0x1F, 0xFF, 0xFE, 0x3F, 0xC1, 0xFF, 0x3F, 0x80, 0xFF, 0x7F, 0x00, 0x7F, + 0x7E, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, + 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, + 0x01, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, + 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, + 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x00, + 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xE0, 0x1F, 0xF8, 0x00, 0x07, + 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x07, 0xE0, + 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF0, 0x0F, 0xC0, 0x00, + 0x00, 0x0F, 0x80, 0xFC, 0x00, 0x00, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xF1, + 0xF1, 0xF0, 0x7C, 0x00, 0xFF, 0xCF, 0x07, 0x87, 0xE0, 0x1F, 0xFF, 0xF8, + 0x3C, 0x7E, 0x01, 0xF8, 0x7F, 0x81, 0xE3, 0xE0, 0x1F, 0x01, 0xF8, 0x0F, + 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x79, 0xF0, 0x1F, 0x00, 0x7C, 0x03, 0xDF, + 0x00, 0xF0, 0x03, 0xE0, 0x1C, 0xF8, 0x0F, 0x80, 0x1E, 0x01, 0xE7, 0xC0, + 0x78, 0x00, 0xF0, 0x0F, 0x3C, 0x07, 0xC0, 0x0F, 0x00, 0xF3, 0xE0, 0x3C, + 0x00, 0x78, 0x07, 0x9F, 0x03, 0xE0, 0x07, 0x80, 0x78, 0xF8, 0x1F, 0x00, + 0x7C, 0x07, 0xC7, 0xC0, 0xF8, 0x07, 0xC0, 0x7C, 0x3E, 0x07, 0xC0, 0x7E, + 0x07, 0xC1, 0xF0, 0x3F, 0x07, 0xF8, 0xFC, 0x0F, 0x81, 0xFF, 0xFF, 0xFF, + 0xC0, 0x7E, 0x07, 0xFF, 0xBF, 0xFC, 0x01, 0xF0, 0x1F, 0xF8, 0xFF, 0x80, + 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x03, 0x80, 0x00, 0x01, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, + 0xFE, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0xF0, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x7F, + 0xF0, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, + 0xF0, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x03, 0xFB, + 0xF8, 0x00, 0x07, 0xF3, 0xF8, 0x00, 0x07, 0xE3, 0xF8, 0x00, 0x0F, 0xE3, + 0xF8, 0x00, 0x0F, 0xC3, 0xF8, 0x00, 0x1F, 0xC3, 0xF8, 0x00, 0x1F, 0x83, + 0xF8, 0x00, 0x3F, 0x81, 0xFC, 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x7F, 0x01, + 0xFC, 0x00, 0xFE, 0x01, 0xFC, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFF, 0xFF, + 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, + 0xFE, 0x07, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xFE, 0x0F, 0xE0, 0x00, + 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x3F, 0x80, 0x00, + 0xFE, 0x3F, 0x80, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, + 0x7F, 0x01, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, + 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, + 0xFF, 0x03, 0xF8, 0x00, 0xFF, 0x03, 0xF8, 0x00, 0x7F, 0x07, 0xF0, 0x00, + 0x7F, 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0x7E, 0x07, 0xF0, 0x00, + 0xFE, 0x0F, 0xF0, 0x03, 0xFC, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, + 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, + 0xF8, 0x1F, 0xFF, 0xFF, 0xF8, 0x1F, 0xC0, 0x07, 0xFC, 0x1F, 0xC0, 0x01, + 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x01, + 0xFC, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x03, 0xF8, 0x7F, 0x00, 0x07, + 0xF8, 0x7F, 0x00, 0x0F, 0xF0, 0x7F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, + 0xE0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, + 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, 0xFF, + 0xE0, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, + 0xFC, 0x01, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0x03, 0xFE, 0x07, 0xFC, 0x01, + 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xE0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, + 0x7F, 0x1F, 0xC0, 0x00, 0x7F, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xF8, 0xFE, 0x00, 0x03, + 0xF8, 0xFF, 0x00, 0x07, 0xF8, 0xFF, 0x00, 0x07, 0xF0, 0x7F, 0x80, 0x1F, + 0xF0, 0x7F, 0xE0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, + 0x80, 0x1F, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xF8, + 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, + 0xE0, 0x03, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, + 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xF8, 0x03, 0xFE, 0x07, 0xF0, 0x01, + 0xFF, 0x07, 0xF0, 0x00, 0xFF, 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, + 0x7F, 0x0F, 0xF0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, + 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x1F, 0xC0, 0x00, + 0x7F, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, + 0xFE, 0x1F, 0xC0, 0x01, 0xFE, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x01, + 0xFC, 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x07, 0xF8, 0x7F, 0x00, 0x0F, + 0xF0, 0x7F, 0x00, 0x1F, 0xF0, 0x7F, 0x00, 0x7F, 0xE0, 0x7F, 0xFF, 0xFF, + 0xC0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, + 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, + 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, + 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xF8, 0x00, + 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, + 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, + 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, + 0xE0, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, + 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, + 0xFE, 0x01, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, + 0xFE, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, + 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, + 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, + 0xC0, 0x0F, 0xFF, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF, + 0xF8, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, + 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFC, 0x07, 0xFC, 0x0F, 0xF8, + 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0x3F, 0x87, 0xF0, 0x00, 0x1F, 0xC7, 0xF0, + 0x00, 0x0F, 0xE3, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x01, 0xFC, + 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x7F, + 0x00, 0x3F, 0xFF, 0x3F, 0x00, 0x1F, 0xFF, 0xBF, 0x80, 0x0F, 0xFF, 0x9F, + 0xC0, 0x07, 0xFF, 0xCF, 0xE0, 0x03, 0xFF, 0xE7, 0xF0, 0x03, 0xFF, 0xF3, + 0xF8, 0x00, 0x01, 0xF9, 0xFC, 0x00, 0x01, 0xF8, 0xFF, 0x00, 0x00, 0xFC, + 0x7F, 0x80, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, + 0x87, 0xFC, 0x00, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, + 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFE, 0xF8, 0x03, 0xFF, 0xFC, + 0x78, 0x00, 0x7F, 0xFC, 0x3C, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x01, 0xFC, + 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0x3F, 0x80, + 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0x3F, + 0x80, 0xFE, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x03, 0xF8, 0x00, + 0x3F, 0x80, 0xFF, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x03, 0xF8, + 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, 0x0F, 0xFF, 0xFF, 0xFE, 0x03, + 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xF8, 0x0F, 0xE0, 0x00, + 0x7F, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, 0xF0, + 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, + 0xF0, 0x00, 0x3F, 0x80, 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x01, 0xFC, + 0x07, 0xF0, 0x00, 0x3F, 0x80, 0xFE, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, + 0xFE, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x7F, 0x00, 0x07, 0xF0, 0x1F, 0xC0, + 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, + 0x0F, 0xE0, 0x3F, 0x81, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, + 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x7F, 0x01, 0xFC, + 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, + 0x03, 0xF8, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0xFE, + 0x03, 0xF8, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, + 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x0F, 0xE0, 0xFE, 0x03, 0xFC, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x0F, 0xE0, + 0xFE, 0x01, 0xFC, 0x1F, 0xC0, 0x3F, 0x83, 0xF8, 0x0F, 0xE0, 0x7F, 0x01, + 0xFC, 0x0F, 0xF0, 0xFF, 0x81, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF8, 0x03, + 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xE0, 0x00, 0x1F, 0xE0, + 0x00, 0x00, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x00, 0xFF, 0x00, + 0x7F, 0x00, 0x1F, 0xF0, 0x03, 0xF8, 0x01, 0xFF, 0x00, 0x1F, 0xC0, 0x1F, + 0xE0, 0x00, 0xFE, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xE0, 0x00, 0x7F, + 0x01, 0xFE, 0x00, 0x03, 0xF8, 0x1F, 0xE0, 0x00, 0x1F, 0xC1, 0xFE, 0x00, + 0x00, 0xFE, 0x1F, 0xE0, 0x00, 0x0F, 0xE3, 0xFE, 0x00, 0x00, 0x7F, 0x3F, + 0xC0, 0x00, 0x03, 0xFB, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, + 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xC0, + 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x01, 0xFF, + 0x9F, 0xE0, 0x00, 0x0F, 0xF8, 0xFF, 0x00, 0x00, 0x7F, 0x83, 0xFC, 0x00, + 0x03, 0xF8, 0x1F, 0xF0, 0x00, 0x1F, 0xC0, 0x7F, 0x80, 0x01, 0xFC, 0x01, + 0xFE, 0x00, 0x0F, 0xE0, 0x0F, 0xF0, 0x00, 0x7F, 0x00, 0x3F, 0xC0, 0x03, + 0xF8, 0x01, 0xFF, 0x00, 0x3F, 0x80, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x3F, + 0xE0, 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x7F, 0x00, 0x07, 0xFC, 0x03, 0xF8, + 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x01, 0xFC, 0x00, 0x01, 0xFC, + 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, + 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, + 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, + 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, + 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, + 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, + 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, + 0x80, 0x03, 0xFF, 0x80, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x7F, 0xE0, 0x01, + 0xFF, 0xC0, 0x3F, 0xF0, 0x00, 0xFF, 0xE0, 0x3F, 0xF8, 0x00, 0xFF, 0xF0, + 0x1F, 0xFC, 0x00, 0x7F, 0xF8, 0x0F, 0xFE, 0x00, 0x7D, 0xF8, 0x07, 0xEF, + 0x00, 0x3E, 0xFC, 0x03, 0xF7, 0x80, 0x3F, 0xFE, 0x03, 0xFB, 0xC0, 0x1F, + 0x7F, 0x01, 0xFD, 0xE0, 0x1F, 0xBF, 0x00, 0xFE, 0xF0, 0x0F, 0x9F, 0x80, + 0x7E, 0x78, 0x0F, 0xDF, 0xC0, 0x7F, 0x3E, 0x07, 0xCF, 0xE0, 0x3F, 0x9F, + 0x07, 0xE7, 0xF0, 0x1F, 0xCF, 0x83, 0xE3, 0xF0, 0x0F, 0xE7, 0xC3, 0xF1, + 0xF8, 0x07, 0xE3, 0xE1, 0xF9, 0xFC, 0x07, 0xF1, 0xF0, 0xF8, 0xFE, 0x03, + 0xF8, 0xF8, 0xFC, 0x7F, 0x01, 0xFC, 0x7C, 0x7C, 0x3F, 0x00, 0xFC, 0x3E, + 0x7E, 0x1F, 0x80, 0x7E, 0x1F, 0x3E, 0x1F, 0xC0, 0x7F, 0x0F, 0xBF, 0x0F, + 0xE0, 0x3F, 0x87, 0xDF, 0x07, 0xE0, 0x1F, 0xC3, 0xFF, 0x83, 0xF0, 0x0F, + 0xC1, 0xFF, 0xC3, 0xF8, 0x0F, 0xE0, 0xFF, 0xC1, 0xFC, 0x07, 0xF0, 0x7F, + 0xE0, 0xFE, 0x03, 0xF8, 0x3F, 0xE0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F, + 0x00, 0xFC, 0x0F, 0xF0, 0x3F, 0x80, 0xFE, 0x07, 0xF8, 0x1F, 0xC0, 0x7F, + 0x03, 0xF8, 0x0F, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xE0, 0x3F, 0xC0, + 0x01, 0xFC, 0x07, 0xFC, 0x00, 0x3F, 0x80, 0xFF, 0x80, 0x07, 0xF0, 0x1F, + 0xF0, 0x00, 0xFC, 0x07, 0xFF, 0x00, 0x3F, 0x80, 0xFF, 0xE0, 0x07, 0xF0, + 0x1F, 0xFC, 0x00, 0xFE, 0x03, 0xFF, 0xC0, 0x1F, 0x80, 0xFF, 0xF8, 0x03, + 0xF0, 0x1F, 0xFF, 0x80, 0xFE, 0x03, 0xFB, 0xF0, 0x1F, 0xC0, 0x7E, 0x7E, + 0x03, 0xF8, 0x0F, 0xC7, 0xE0, 0x7E, 0x03, 0xF8, 0xFC, 0x0F, 0xC0, 0x7F, + 0x1F, 0x83, 0xF8, 0x0F, 0xE1, 0xF8, 0x7F, 0x01, 0xF8, 0x3F, 0x0F, 0xE0, + 0x3F, 0x07, 0xF1, 0xF8, 0x0F, 0xE0, 0x7E, 0x3F, 0x01, 0xFC, 0x0F, 0xCF, + 0xE0, 0x3F, 0x00, 0xFD, 0xFC, 0x07, 0xE0, 0x1F, 0xBF, 0x81, 0xFC, 0x03, + 0xF7, 0xE0, 0x3F, 0x80, 0x3F, 0xFC, 0x07, 0xF0, 0x07, 0xFF, 0x80, 0xFC, + 0x00, 0xFF, 0xF0, 0x1F, 0x80, 0x0F, 0xFC, 0x07, 0xF0, 0x01, 0xFF, 0x80, + 0xFE, 0x00, 0x3F, 0xF0, 0x1F, 0xC0, 0x03, 0xFE, 0x03, 0xF0, 0x00, 0x7F, + 0xC0, 0x7E, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, + 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, + 0x3F, 0xF0, 0x3F, 0xF8, 0x1F, 0xF0, 0x03, 0xFE, 0x07, 0xF0, 0x00, 0x7F, + 0x83, 0xF8, 0x00, 0x0F, 0xF1, 0xFE, 0x00, 0x03, 0xFC, 0x7F, 0x00, 0x00, + 0x7F, 0x3F, 0x80, 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x07, 0xF7, 0xF0, 0x00, + 0x01, 0xFD, 0xFC, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x1F, 0xDF, 0xC0, + 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0xFE, + 0x00, 0x00, 0x3F, 0xBF, 0x80, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0x07, 0xF3, + 0xF8, 0x00, 0x01, 0xFC, 0xFE, 0x00, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0x7F, + 0x8F, 0xF0, 0x00, 0x1F, 0xC1, 0xFE, 0x00, 0x0F, 0xE0, 0x7F, 0xC0, 0x0F, + 0xF8, 0x1F, 0xFC, 0x0F, 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, + 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x1F, + 0xFF, 0x80, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x03, + 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, + 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC1, 0xFE, 0x00, 0xFF, 0x83, 0xF8, + 0x00, 0xFF, 0x07, 0xF0, 0x00, 0xFE, 0x0F, 0xE0, 0x01, 0xFC, 0x1F, 0xC0, + 0x03, 0xF8, 0x7F, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0x1F, 0xC1, 0xFC, 0x00, + 0x3F, 0x83, 0xF8, 0x00, 0xFE, 0x07, 0xF0, 0x07, 0xFC, 0x1F, 0xFF, 0xFF, + 0xF0, 0x3F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, + 0x03, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xE0, 0x00, 0x00, + 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, + 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x01, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xF0, + 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x3F, 0xF0, 0x3F, + 0xF0, 0x1F, 0xF0, 0x03, 0xFE, 0x07, 0xF8, 0x00, 0x7F, 0x83, 0xFC, 0x00, + 0x0F, 0xF1, 0xFE, 0x00, 0x03, 0xFC, 0x7F, 0x00, 0x00, 0x7F, 0x3F, 0x80, + 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x07, 0xF3, 0xF0, 0x00, 0x01, 0xFD, 0xFC, + 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x1F, 0xDF, 0x80, 0x00, 0x07, 0xFF, + 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x3F, + 0xBF, 0x80, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0x87, 0xF3, 0xF8, 0x00, 0xF1, + 0xFC, 0xFE, 0x00, 0x7C, 0xFE, 0x3F, 0xC0, 0x3F, 0xFF, 0x8F, 0xF0, 0x07, + 0xFF, 0xC1, 0xFE, 0x01, 0xFF, 0xE0, 0x7F, 0xC0, 0x3F, 0xF8, 0x1F, 0xFC, + 0x0F, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x0F, + 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0x9F, 0x80, + 0x01, 0xFF, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x01, 0xFF, 0xFF, + 0xF0, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, + 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFC, 0x0F, 0xE0, + 0x03, 0xFE, 0x0F, 0xF0, 0x00, 0xFF, 0x07, 0xF0, 0x00, 0x3F, 0x83, 0xF8, + 0x00, 0x1F, 0xC1, 0xFC, 0x00, 0x0F, 0xC0, 0xFE, 0x00, 0x07, 0xE0, 0xFE, + 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x3F, 0x80, 0x0F, 0xF0, 0x1F, + 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x07, + 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xFF, 0x01, + 0xFC, 0x00, 0x7F, 0x80, 0xFE, 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x0F, 0xE0, + 0x3F, 0x80, 0x07, 0xF0, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, 0xC0, 0x01, 0xFC, + 0x0F, 0xE0, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0xFE, 0x03, 0xF8, 0x00, 0x7F, + 0x01, 0xFC, 0x00, 0x3F, 0x81, 0xFC, 0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x0F, + 0xE0, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, + 0xFF, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, + 0xF8, 0x0F, 0xFF, 0xFF, 0xF0, 0x3F, 0xC0, 0x7F, 0xC1, 0xFE, 0x00, 0xFF, + 0x07, 0xF0, 0x01, 0xFC, 0x3F, 0x80, 0x07, 0xF0, 0xFE, 0x00, 0x1F, 0xC3, + 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, + 0xE0, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, + 0xFE, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, + 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, 0xFC, + 0x00, 0x00, 0x07, 0xF3, 0xF8, 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x7E, 0x3F, + 0x80, 0x03, 0xF8, 0xFF, 0x00, 0x1F, 0xE3, 0xFF, 0x01, 0xFF, 0x07, 0xFF, + 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, + 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, + 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, + 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x7F, + 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, + 0x0F, 0xE0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, + 0x0F, 0xE0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, + 0x1F, 0xC0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, 0x80, 0x03, 0xF8, + 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x03, 0xF8, + 0x3F, 0x80, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, + 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x0F, 0xE0, + 0xFE, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x0F, 0xE0, + 0xFE, 0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x1F, 0xC0, 0xFF, 0x00, 0x3F, 0x80, + 0xFF, 0xC0, 0xFF, 0x80, 0x7F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFE, 0x00, + 0x3F, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xE0, 0x00, + 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xE7, + 0xF0, 0x00, 0x7F, 0x1F, 0xC0, 0x01, 0xFC, 0x7F, 0x00, 0x0F, 0xE1, 0xFC, + 0x00, 0x3F, 0x87, 0xF0, 0x01, 0xFC, 0x1F, 0xC0, 0x07, 0xF0, 0x3F, 0x00, + 0x3F, 0x80, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xF0, 0x0F, 0xC0, 0x1F, + 0x80, 0x3F, 0x80, 0xFE, 0x00, 0xFE, 0x03, 0xF0, 0x03, 0xF8, 0x1F, 0xC0, + 0x0F, 0xE0, 0x7E, 0x00, 0x1F, 0x83, 0xF8, 0x00, 0x7E, 0x0F, 0xC0, 0x01, + 0xF8, 0x7E, 0x00, 0x07, 0xE1, 0xF8, 0x00, 0x1F, 0x8F, 0xC0, 0x00, 0x7E, + 0x3F, 0x00, 0x01, 0xF9, 0xF8, 0x00, 0x07, 0xE7, 0xE0, 0x00, 0x0F, 0xFF, + 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0x00, + 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x01, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x00, + 0xFE, 0x00, 0x7F, 0x80, 0x1F, 0xFF, 0xC0, 0x0F, 0xF0, 0x03, 0xFB, 0xF8, + 0x01, 0xFE, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0xC0, 0x1F, 0xCF, 0xE0, 0x0F, + 0xF8, 0x03, 0xF9, 0xFC, 0x03, 0xFF, 0x00, 0xFE, 0x3F, 0x80, 0x7F, 0xE0, + 0x1F, 0xC7, 0xF0, 0x1F, 0xFC, 0x07, 0xF0, 0x7E, 0x03, 0xFF, 0x80, 0xFE, + 0x0F, 0xC0, 0x7D, 0xF0, 0x1F, 0x81, 0xF8, 0x1F, 0xBE, 0x07, 0xF0, 0x3F, + 0x03, 0xE7, 0xC0, 0xFC, 0x07, 0xE0, 0xFC, 0xF8, 0x3F, 0x80, 0xFC, 0x1F, + 0x1F, 0x07, 0xE0, 0x1F, 0x83, 0xE3, 0xE0, 0xFC, 0x03, 0xF0, 0xFC, 0x7C, + 0x3F, 0x00, 0x7E, 0x1F, 0x0F, 0x87, 0xE0, 0x0F, 0xC7, 0xE1, 0xF1, 0xF8, + 0x01, 0xF8, 0xF8, 0x3E, 0x3F, 0x00, 0x3F, 0x3F, 0x07, 0xCF, 0xC0, 0x07, + 0xE7, 0xC0, 0xF9, 0xF8, 0x00, 0xFC, 0xF8, 0x1F, 0x3E, 0x00, 0x1F, 0xBE, + 0x03, 0xEF, 0xC0, 0x01, 0xF7, 0xC0, 0x7D, 0xF0, 0x00, 0x3F, 0xF8, 0x0F, + 0xFE, 0x00, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, + 0x00, 0x1F, 0xF0, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0xFF, 0x80, 0x00, + 0x7F, 0x80, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x01, 0xFC, + 0x00, 0x7F, 0x80, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x01, + 0xFC, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x07, 0xFC, 0x00, 0xFF, + 0x00, 0x1F, 0xE0, 0x07, 0xF8, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x03, 0xFC, + 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x7F, 0x80, 0x00, 0xFF, 0x07, 0xF8, 0x00, + 0x03, 0xFC, 0x3F, 0x80, 0x00, 0x1F, 0xE3, 0xF8, 0x00, 0x00, 0x7F, 0x3F, + 0xC0, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x00, + 0x7F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFC, 0x00, + 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x1F, + 0xF0, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, + 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFE, + 0x00, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x00, 0xFF, 0x3F, 0xC0, 0x00, 0x0F, + 0xF1, 0xFE, 0x00, 0x00, 0xFF, 0x07, 0xF8, 0x00, 0x07, 0xF0, 0x3F, 0xC0, + 0x00, 0x7F, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x07, 0xF8, 0x00, 0x7F, 0x80, + 0x3F, 0xC0, 0x07, 0xF8, 0x01, 0xFF, 0x00, 0x7F, 0x80, 0x07, 0xF8, 0x07, + 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x7F, + 0xBF, 0xC0, 0x07, 0xF8, 0xFE, 0x00, 0x3F, 0x87, 0xF8, 0x03, 0xFC, 0x3F, + 0xC0, 0x3F, 0xC0, 0xFE, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x3F, 0xC1, + 0xFE, 0x00, 0xFE, 0x0F, 0xE0, 0x07, 0xF0, 0xFE, 0x00, 0x3F, 0x8F, 0xE0, + 0x00, 0xFE, 0x7F, 0x00, 0x07, 0xF7, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, + 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x3F, 0xF8, 0x00, 0x01, 0xFF, + 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, + 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, + 0xC0, 0x3F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xF8, 0x03, 0xFF, 0x80, + 0x1F, 0xFC, 0x00, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x7E, 0x00, 0x03, 0xF0, + 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, + 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, + 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, + 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, + 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xC0, + 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, + 0xC0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xFF, 0xC0, + 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x07, 0xFF, 0x80, 0x3F, 0xFC, 0x00, 0x81, + 0xC3, 0xC7, 0x8F, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0xC7, 0x8F, 0x1E, + 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x8F, 0x1E, 0x3C, 0x38, 0x70, 0xE1, + 0xC3, 0x87, 0x0F, 0x1E, 0x3C, 0x78, 0xF0, 0x00, 0x7F, 0xF8, 0x03, 0xFF, + 0xC0, 0x1F, 0xFC, 0x00, 0xFF, 0xE0, 0x07, 0xFF, 0x00, 0x01, 0xF8, 0x00, + 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, + 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x03, + 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, + 0x03, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x7F, + 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, + 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, + 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x01, 0xFF, + 0xE0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x03, 0xFF, 0x80, 0x3F, 0xFC, 0x00, + 0x00, 0x1F, 0x80, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, 0x07, + 0xFC, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x80, 0x3E, 0xFC, 0x01, 0xF3, 0xE0, + 0x1F, 0x1F, 0x01, 0xF8, 0xF8, 0x0F, 0x87, 0xE0, 0xFC, 0x3F, 0x07, 0xC0, + 0xF8, 0x7C, 0x07, 0xC7, 0xE0, 0x3E, 0x3E, 0x01, 0xFB, 0xF0, 0x0F, 0xDF, + 0x00, 0x3F, 0xF0, 0x01, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xE0, 0xF8, 0xF0, 0xF1, 0xE1, + 0xC3, 0xC3, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x7F, 0x03, 0xFC, 0x3F, 0x00, + 0xFE, 0x1F, 0x80, 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x80, 0x1F, + 0xFF, 0xC0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xF7, 0xF0, 0xFF, + 0x83, 0xF8, 0xFF, 0x01, 0xF8, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, + 0x80, 0x7F, 0x1F, 0xC0, 0x7F, 0x8F, 0xF0, 0xFF, 0x87, 0xFF, 0xFF, 0xC3, + 0xFF, 0xFF, 0xE0, 0xFF, 0xF7, 0xF8, 0x3F, 0xF3, 0xFC, 0x07, 0xE0, 0x00, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x3F, 0x80, 0x1F, + 0x9F, 0xFC, 0x03, 0xF7, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, + 0x83, 0xFF, 0x0F, 0xF0, 0x7F, 0x80, 0xFF, 0x0F, 0xE0, 0x1F, 0xE3, 0xF8, + 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x8F, 0xC0, 0x07, 0xF1, 0xF8, 0x00, 0xFE, + 0x7F, 0x00, 0x1F, 0xCF, 0xC0, 0x03, 0xF9, 0xF8, 0x00, 0xFE, 0x3F, 0x00, + 0x1F, 0xC7, 0xE0, 0x03, 0xF9, 0xFC, 0x00, 0xFE, 0x3F, 0xC0, 0x3F, 0xC7, + 0xF8, 0x0F, 0xF0, 0xFF, 0x83, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xF0, 0x1F, 0x9F, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x80, 0x7F, 0xFF, + 0xE0, 0x7F, 0xFF, 0xF0, 0x7F, 0x83, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, 0x00, + 0x7F, 0x3F, 0x80, 0x3F, 0x9F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, + 0x00, 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, + 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0x9F, + 0xE0, 0x3F, 0x87, 0xF8, 0x3F, 0x83, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, + 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x7F, 0x00, 0x3F, + 0xF3, 0xF8, 0x03, 0xFF, 0xDF, 0x80, 0x7F, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, + 0xE0, 0x3F, 0xC3, 0xFF, 0x03, 0xFC, 0x0F, 0xF8, 0x3F, 0xC0, 0x3F, 0x81, + 0xFC, 0x01, 0xFC, 0x1F, 0xC0, 0x07, 0xE0, 0xFE, 0x00, 0x3F, 0x07, 0xF0, + 0x03, 0xF8, 0x7F, 0x00, 0x1F, 0x83, 0xF8, 0x00, 0xFC, 0x1F, 0xC0, 0x07, + 0xE0, 0xFE, 0x00, 0x3F, 0x07, 0xF0, 0x03, 0xF0, 0x3F, 0x80, 0x3F, 0x81, + 0xFC, 0x01, 0xFC, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC3, 0xFF, 0x01, 0xFF, + 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xCF, + 0xE0, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0xFC, 0x00, + 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0x87, 0xF8, + 0x7F, 0x01, 0xFE, 0x7F, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0xBF, 0x80, 0x1F, + 0xDF, 0xC0, 0x0F, 0xEF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, + 0x00, 0x3F, 0x80, 0x3F, 0x9F, 0xE0, 0x3F, 0x87, 0xF8, 0x3F, 0xC3, 0xFF, + 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0x80, 0x00, + 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFE, + 0x01, 0xFF, 0x80, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xC0, 0x03, 0xF0, 0x01, + 0xFC, 0x03, 0xFF, 0xF1, 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF, 0x80, 0xFE, + 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, + 0x1F, 0xC0, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, + 0xE0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, + 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x07, 0xC3, 0xF8, + 0x01, 0xFF, 0x9F, 0x80, 0x1F, 0xFE, 0xFC, 0x01, 0xFF, 0xFF, 0xE0, 0x1F, + 0xFF, 0xFF, 0x01, 0xFE, 0x1F, 0xF8, 0x1F, 0xE0, 0x3F, 0x80, 0xFE, 0x01, + 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x00, 0x3F, 0x07, 0xF0, 0x01, 0xF8, + 0x3F, 0x80, 0x0F, 0x81, 0xF8, 0x00, 0x7C, 0x1F, 0xC0, 0x07, 0xE0, 0xFE, + 0x00, 0x3F, 0x07, 0xF0, 0x01, 0xF0, 0x3F, 0x80, 0x1F, 0x81, 0xFC, 0x00, + 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x80, 0xFF, 0x03, 0xFE, 0x1F, 0xF0, + 0x0F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x01, 0xFF, 0xF7, 0xE0, 0x07, + 0xFE, 0x7F, 0x00, 0x0F, 0xC3, 0xF0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, + 0xFC, 0x0F, 0xE0, 0x0F, 0xC0, 0x7F, 0x00, 0xFE, 0x03, 0xFC, 0x1F, 0xE0, + 0x1F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x00, 0x01, + 0xFF, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xE0, + 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x0F, + 0xC0, 0x1F, 0xCF, 0xFE, 0x03, 0xFB, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE, 0x0F, + 0xFF, 0xFF, 0xC3, 0xFF, 0x07, 0xF8, 0x7F, 0x80, 0x7F, 0x0F, 0xE0, 0x0F, + 0xE1, 0xFC, 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x0F, 0xE0, 0x07, 0xE1, 0xFC, + 0x01, 0xFC, 0x3F, 0x00, 0x3F, 0x87, 0xE0, 0x07, 0xF1, 0xFC, 0x00, 0xFC, + 0x3F, 0x80, 0x1F, 0x87, 0xF0, 0x07, 0xF0, 0xFC, 0x00, 0xFE, 0x1F, 0x80, + 0x1F, 0xC7, 0xF0, 0x03, 0xF0, 0xFE, 0x00, 0x7E, 0x1F, 0xC0, 0x1F, 0xC3, + 0xF0, 0x03, 0xF8, 0xFE, 0x00, 0x7F, 0x1F, 0xC0, 0x0F, 0xC0, 0x01, 0xFC, + 0x07, 0xF0, 0x1F, 0x80, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, + 0x03, 0xF8, 0x0F, 0xC0, 0x3F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7E, + 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, 0x7F, + 0x01, 0xFC, 0x07, 0xE0, 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x00, 0x00, 0x0F, + 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x3F, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0xFE, + 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x03, 0xF8, + 0x00, 0x7F, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, + 0x01, 0xFC, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, + 0x07, 0xF0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x07, 0xF0, 0x00, 0xFE, 0x00, + 0x1F, 0x80, 0x03, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, + 0x7E, 0x00, 0x0F, 0xC0, 0x03, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xC0, 0x0F, + 0xF8, 0x03, 0xFE, 0x00, 0x7E, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, + 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, + 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0x7F, 0x00, 0xFE, 0x07, 0xE0, 0x3F, 0xC0, 0x7E, 0x07, + 0xF8, 0x0F, 0xE0, 0xFF, 0x00, 0xFE, 0x1F, 0xC0, 0x0F, 0xE3, 0xF8, 0x00, + 0xFC, 0x7F, 0x00, 0x0F, 0xCF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, 0x1F, 0xFF, + 0x80, 0x01, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00, + 0x3F, 0xFF, 0xC0, 0x03, 0xFE, 0xFE, 0x00, 0x3F, 0xCF, 0xE0, 0x03, 0xF0, + 0xFE, 0x00, 0x7F, 0x07, 0xF0, 0x07, 0xF0, 0x7F, 0x00, 0x7F, 0x07, 0xF8, + 0x07, 0xE0, 0x3F, 0x80, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0xC0, 0xFE, + 0x01, 0xFC, 0x0F, 0xC0, 0x1F, 0xE0, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0x80, + 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, + 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xC0, + 0x3F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, + 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, + 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0xFC, 0x03, 0xF0, 0x07, + 0xE3, 0xFF, 0x0F, 0xFC, 0x07, 0xEF, 0xFF, 0x3F, 0xFE, 0x0F, 0xFF, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8, 0x7F, 0xF0, 0xFF, + 0x0F, 0xE0, 0x3F, 0xC0, 0x7F, 0x0F, 0xE0, 0x3F, 0x80, 0x7F, 0x1F, 0xC0, + 0x3F, 0x80, 0x7E, 0x1F, 0xC0, 0x3F, 0x00, 0x7E, 0x1F, 0xC0, 0x3F, 0x00, + 0xFE, 0x1F, 0x80, 0x7F, 0x00, 0xFE, 0x3F, 0x80, 0x7F, 0x00, 0xFC, 0x3F, + 0x80, 0x7F, 0x00, 0xFC, 0x3F, 0x80, 0x7E, 0x01, 0xFC, 0x3F, 0x00, 0x7E, + 0x01, 0xFC, 0x3F, 0x00, 0xFE, 0x01, 0xFC, 0x7F, 0x00, 0xFE, 0x01, 0xF8, + 0x7F, 0x00, 0xFE, 0x01, 0xF8, 0x7F, 0x00, 0xFC, 0x03, 0xF8, 0x7E, 0x01, + 0xFC, 0x03, 0xF8, 0x7E, 0x01, 0xFC, 0x03, 0xF8, 0xFE, 0x01, 0xFC, 0x03, + 0xF0, 0xFE, 0x01, 0xF8, 0x03, 0xF0, 0xFE, 0x01, 0xF8, 0x07, 0xF0, 0x07, + 0xF0, 0xFE, 0x00, 0xFE, 0x7F, 0xF0, 0x1F, 0x9F, 0xFF, 0x03, 0xFF, 0xFF, + 0xF0, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x3F, 0xC3, 0xFC, 0x03, 0xF8, 0x7F, + 0x00, 0x7F, 0x0F, 0xE0, 0x0F, 0xE3, 0xF8, 0x01, 0xF8, 0x7F, 0x00, 0x3F, + 0x0F, 0xC0, 0x0F, 0xE1, 0xF8, 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x8F, 0xE0, + 0x07, 0xE1, 0xFC, 0x00, 0xFC, 0x3F, 0x00, 0x3F, 0x87, 0xE0, 0x07, 0xF1, + 0xFC, 0x00, 0xFE, 0x3F, 0x80, 0x1F, 0x87, 0xF0, 0x03, 0xF0, 0xFC, 0x00, + 0xFE, 0x3F, 0x80, 0x1F, 0xC7, 0xF0, 0x03, 0xF8, 0xFE, 0x00, 0x7E, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x0F, 0xFF, + 0xFC, 0x07, 0xFF, 0xFF, 0x83, 0xFC, 0x1F, 0xE1, 0xFE, 0x03, 0xFC, 0xFF, + 0x00, 0xFF, 0x3F, 0x80, 0x1F, 0xDF, 0xC0, 0x07, 0xF7, 0xF0, 0x01, 0xFD, + 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x03, + 0xFB, 0xF8, 0x00, 0xFE, 0xFE, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xCF, 0xF0, + 0x0F, 0xF3, 0xFC, 0x07, 0xF8, 0x7F, 0x83, 0xFC, 0x1F, 0xFF, 0xFE, 0x03, + 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x0F, 0xFF, 0x80, 0x00, 0x7F, 0x00, + 0x00, 0x01, 0xFC, 0x3F, 0x00, 0x0F, 0xCF, 0xFE, 0x00, 0x7E, 0xFF, 0xF8, + 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x01, 0xFF, 0x87, 0xF8, 0x0F, + 0xF0, 0x1F, 0xE0, 0xFF, 0x00, 0xFF, 0x07, 0xF0, 0x03, 0xF8, 0x3F, 0x80, + 0x1F, 0xC1, 0xF8, 0x00, 0xFE, 0x0F, 0xC0, 0x07, 0xF0, 0xFE, 0x00, 0x3F, + 0x87, 0xF0, 0x01, 0xFC, 0x3F, 0x00, 0x1F, 0xC1, 0xF8, 0x00, 0xFE, 0x1F, + 0xC0, 0x07, 0xF0, 0xFE, 0x00, 0x7F, 0x07, 0xF8, 0x07, 0xF8, 0x3F, 0xC0, + 0x7F, 0x81, 0xFF, 0x87, 0xF8, 0x1F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, + 0x07, 0xF7, 0xFF, 0xC0, 0x3F, 0x1F, 0xF8, 0x01, 0xF8, 0x7F, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x00, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x07, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x87, 0xF0, + 0x0F, 0xFE, 0x7F, 0x01, 0xFF, 0xF7, 0xE0, 0x3F, 0xFF, 0x7E, 0x07, 0xFF, + 0xFF, 0xE0, 0xFF, 0x07, 0xFE, 0x1F, 0xE0, 0x3F, 0xE3, 0xFC, 0x03, 0xFC, + 0x3F, 0x80, 0x1F, 0xC7, 0xF0, 0x01, 0xFC, 0x7F, 0x00, 0x1F, 0xC7, 0xF0, + 0x01, 0xF8, 0xFE, 0x00, 0x1F, 0x8F, 0xE0, 0x03, 0xF8, 0xFE, 0x00, 0x3F, + 0x8F, 0xE0, 0x03, 0xF8, 0xFE, 0x00, 0x7F, 0x0F, 0xE0, 0x07, 0xF0, 0xFE, + 0x00, 0xFF, 0x0F, 0xF0, 0x1F, 0xF0, 0x7F, 0x87, 0xFF, 0x07, 0xFF, 0xFF, + 0xE0, 0x3F, 0xFF, 0x7E, 0x03, 0xFF, 0xEF, 0xE0, 0x1F, 0xFC, 0xFE, 0x00, + 0x7F, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, + 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x07, + 0xF0, 0xF0, 0x7F, 0x3F, 0x07, 0xE7, 0xE0, 0x7E, 0xFE, 0x0F, 0xFF, 0xE0, + 0xFF, 0xFE, 0x0F, 0xFC, 0x00, 0xFF, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, + 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, + 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, + 0x00, 0x7F, 0x00, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x07, + 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0xE0, 0xFF, 0x1F, 0xC0, 0x7F, 0x1F, + 0xC0, 0x7F, 0x1F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x1F, 0xFF, 0xC0, 0x0F, + 0xFF, 0xF0, 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, + 0x0F, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFE, 0xFC, 0x00, 0xFE, 0xFE, + 0x00, 0xFE, 0xFF, 0x03, 0xFC, 0x7F, 0xFF, 0xF8, 0x7F, 0xFF, 0xF8, 0x3F, + 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x03, 0xFE, 0x00, 0x03, 0xF0, 0x1F, 0xC0, + 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, 0x1F, 0xFF, 0x7F, 0xFD, + 0xFF, 0xFF, 0xFF, 0xC7, 0xF0, 0x1F, 0xC0, 0x7E, 0x01, 0xF8, 0x0F, 0xE0, + 0x3F, 0x80, 0xFE, 0x03, 0xF0, 0x0F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, + 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0xF0, 0xFF, 0xC3, 0xFF, + 0x07, 0xFC, 0x0F, 0xE0, 0x0F, 0xC0, 0x0F, 0xE1, 0xF8, 0x01, 0xFC, 0x7F, + 0x00, 0x3F, 0x0F, 0xE0, 0x0F, 0xE1, 0xFC, 0x01, 0xFC, 0x3F, 0x00, 0x3F, + 0x87, 0xE0, 0x07, 0xE1, 0xFC, 0x00, 0xFC, 0x3F, 0x80, 0x3F, 0x87, 0xF0, + 0x07, 0xF0, 0xFC, 0x00, 0xFE, 0x1F, 0x80, 0x1F, 0x87, 0xF0, 0x03, 0xF0, + 0xFE, 0x00, 0xFE, 0x1F, 0x80, 0x1F, 0xC3, 0xF0, 0x03, 0xF0, 0xFE, 0x00, + 0x7E, 0x1F, 0xC0, 0x1F, 0xC3, 0xF8, 0x07, 0xF8, 0x7F, 0x01, 0xFF, 0x0F, + 0xF0, 0x7F, 0xC1, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x03, 0xFF, 0xEF, + 0xE0, 0x3F, 0xF9, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0x7F, + 0x00, 0x3F, 0xBF, 0x80, 0x3F, 0x8F, 0xC0, 0x1F, 0xC7, 0xE0, 0x1F, 0xC3, + 0xF0, 0x0F, 0xC1, 0xFC, 0x0F, 0xE0, 0xFE, 0x07, 0xE0, 0x7F, 0x07, 0xF0, + 0x3F, 0x83, 0xF0, 0x0F, 0xC3, 0xF8, 0x07, 0xE1, 0xF8, 0x03, 0xF1, 0xFC, + 0x01, 0xF8, 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0x7E, 0x7E, 0x00, 0x3F, 0x7E, + 0x00, 0x0F, 0xBF, 0x00, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, + 0x80, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0x1F, + 0xE0, 0x00, 0x00, 0xFE, 0x03, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0x01, 0xFF, + 0xF8, 0x1F, 0xE0, 0x3F, 0x7F, 0x03, 0xFC, 0x0F, 0xEF, 0xE0, 0xFF, 0x81, + 0xF9, 0xFC, 0x1F, 0xF0, 0x7F, 0x3F, 0x83, 0xFE, 0x0F, 0xC3, 0xF0, 0xFF, + 0xC3, 0xF8, 0x7E, 0x1E, 0xF8, 0x7E, 0x0F, 0xC7, 0xDF, 0x1F, 0xC1, 0xF8, + 0xFB, 0xE3, 0xF0, 0x3F, 0x1E, 0x7C, 0x7E, 0x07, 0xE7, 0xCF, 0x9F, 0x80, + 0xFC, 0xF1, 0xF3, 0xF0, 0x1F, 0xBE, 0x3E, 0xFC, 0x03, 0xF7, 0x87, 0xDF, + 0x80, 0x7E, 0xF0, 0xFF, 0xE0, 0x0F, 0xFE, 0x1F, 0xFC, 0x01, 0xFF, 0x83, + 0xFF, 0x00, 0x3F, 0xF0, 0x7F, 0xE0, 0x07, 0xFC, 0x0F, 0xF8, 0x00, 0x7F, + 0x81, 0xFF, 0x00, 0x0F, 0xF0, 0x3F, 0xC0, 0x01, 0xFC, 0x07, 0xF8, 0x00, + 0x3F, 0x80, 0xFE, 0x00, 0x00, 0x03, 0xFC, 0x07, 0xF8, 0x1F, 0xE0, 0x7F, + 0x80, 0x7F, 0x03, 0xF8, 0x03, 0xF8, 0x3F, 0x80, 0x1F, 0xE3, 0xF8, 0x00, + 0x7F, 0x3F, 0x80, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, + 0xFC, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x7F, 0xC0, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFF, 0x80, 0x00, + 0x1F, 0xFE, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x1F, 0xDF, 0xC0, 0x01, 0xFC, + 0xFE, 0x00, 0x1F, 0xE7, 0xF8, 0x00, 0xFE, 0x1F, 0xC0, 0x0F, 0xE0, 0xFE, + 0x00, 0xFF, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x00, 0xFF, 0x00, + 0x0F, 0xE0, 0x03, 0xF0, 0x7F, 0x00, 0x3F, 0x83, 0xF8, 0x01, 0xF8, 0x1F, + 0xC0, 0x1F, 0xC0, 0xFE, 0x00, 0xFC, 0x03, 0xF8, 0x0F, 0xE0, 0x1F, 0xC0, + 0x7E, 0x00, 0xFE, 0x07, 0xE0, 0x07, 0xF0, 0x3F, 0x00, 0x3F, 0x83, 0xF0, + 0x01, 0xFC, 0x1F, 0x80, 0x0F, 0xE1, 0xF8, 0x00, 0x3F, 0x0F, 0xC0, 0x01, + 0xF8, 0xFC, 0x00, 0x0F, 0xC7, 0xC0, 0x00, 0x7F, 0x7E, 0x00, 0x03, 0xFB, + 0xE0, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0x80, + 0x00, 0x1F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x3F, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF8, 0x00, + 0x01, 0xFF, 0x80, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x07, + 0xF8, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0xFF, + 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0x80, + 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, + 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, + 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x7F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, + 0xE0, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x0F, 0xC0, 0x0F, 0xF0, 0x07, 0xFC, + 0x01, 0xFE, 0x00, 0xFF, 0x80, 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, + 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF8, + 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x3F, 0x00, 0x7F, 0x80, 0x1F, 0x80, 0x07, 0xE0, 0x03, 0xFC, 0x00, 0x3F, + 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, + 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x01, + 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xF8, 0x01, 0xFE, 0x00, 0x7F, + 0x80, 0x0F, 0xE0, 0x01, 0xF8, 0x00, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x01, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x78, + 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, + 0x03, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x70, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x70, + 0x07, 0x80, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x01, + 0xFE, 0x00, 0x7F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, + 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0F, 0x80, + 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xF0, 0x00, + 0xFF, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x07, 0xF8, 0x03, 0xF0, 0x00, 0xF8, + 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, + 0x80, 0x07, 0xC0, 0x01, 0xF0, 0x07, 0xFC, 0x01, 0xFE, 0x00, 0xFF, 0x80, + 0x3F, 0xC0, 0x0F, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0x80, 0x07, 0xFF, + 0x03, 0xDF, 0xFE, 0x0F, 0xF0, 0x7F, 0xFB, 0x80, 0xFF, 0xE0, 0x01, 0xFF, + 0x00, 0x03, 0xF0 }; + +const GFXglyph FreeSansBoldOblique24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' + { 0, 14, 34, 16, 5, -33 }, // 0x21 '!' + { 60, 18, 12, 22, 8, -33 }, // 0x22 '"' + { 87, 29, 33, 26, 2, -31 }, // 0x23 '#' + { 207, 26, 42, 26, 3, -35 }, // 0x24 '$' + { 344, 36, 34, 42, 6, -32 }, // 0x25 '%' + { 497, 29, 35, 34, 4, -33 }, // 0x26 '&' + { 624, 7, 12, 11, 8, -33 }, // 0x27 ''' + { 635, 17, 44, 16, 4, -33 }, // 0x28 '(' + { 729, 17, 44, 16, 0, -34 }, // 0x29 ')' + { 823, 15, 15, 18, 7, -33 }, // 0x2A '*' + { 852, 24, 22, 27, 4, -21 }, // 0x2B '+' + { 918, 10, 15, 13, 1, -6 }, // 0x2C ',' + { 937, 14, 6, 16, 3, -15 }, // 0x2D '-' + { 948, 8, 7, 13, 3, -6 }, // 0x2E '.' + { 955, 20, 34, 13, 0, -32 }, // 0x2F '/' + { 1040, 25, 35, 26, 4, -33 }, // 0x30 '0' + { 1150, 17, 33, 26, 8, -32 }, // 0x31 '1' + { 1221, 29, 34, 26, 1, -33 }, // 0x32 '2' + { 1345, 26, 35, 26, 3, -33 }, // 0x33 '3' + { 1459, 25, 32, 26, 3, -31 }, // 0x34 '4' + { 1559, 27, 34, 26, 3, -32 }, // 0x35 '5' + { 1674, 25, 35, 26, 4, -33 }, // 0x36 '6' + { 1784, 26, 33, 26, 6, -32 }, // 0x37 '7' + { 1892, 26, 35, 26, 3, -33 }, // 0x38 '8' + { 2006, 25, 35, 26, 4, -33 }, // 0x39 '9' + { 2116, 12, 25, 16, 5, -24 }, // 0x3A ':' + { 2154, 14, 33, 16, 3, -24 }, // 0x3B ';' + { 2212, 26, 23, 27, 4, -22 }, // 0x3C '<' + { 2287, 26, 18, 27, 3, -19 }, // 0x3D '=' + { 2346, 26, 23, 27, 1, -21 }, // 0x3E '>' + { 2421, 24, 35, 29, 8, -34 }, // 0x3F '?' + { 2526, 45, 41, 46, 3, -34 }, // 0x40 '@' + { 2757, 32, 34, 34, 1, -33 }, // 0x41 'A' + { 2893, 32, 34, 34, 4, -33 }, // 0x42 'B' + { 3029, 32, 36, 34, 5, -34 }, // 0x43 'C' + { 3173, 32, 34, 34, 4, -33 }, // 0x44 'D' + { 3309, 32, 34, 31, 4, -33 }, // 0x45 'E' + { 3445, 32, 34, 29, 3, -33 }, // 0x46 'F' + { 3581, 33, 36, 37, 5, -34 }, // 0x47 'G' + { 3730, 35, 34, 34, 3, -33 }, // 0x48 'H' + { 3879, 14, 34, 13, 3, -33 }, // 0x49 'I' + { 3939, 27, 35, 26, 3, -33 }, // 0x4A 'J' + { 4058, 37, 34, 34, 3, -33 }, // 0x4B 'K' + { 4216, 24, 34, 29, 4, -33 }, // 0x4C 'L' + { 4318, 41, 34, 39, 3, -33 }, // 0x4D 'M' + { 4493, 35, 34, 34, 3, -33 }, // 0x4E 'N' + { 4642, 34, 36, 37, 5, -34 }, // 0x4F 'O' + { 4795, 31, 34, 31, 4, -33 }, // 0x50 'P' + { 4927, 34, 37, 37, 5, -34 }, // 0x51 'Q' + { 5085, 33, 34, 34, 4, -33 }, // 0x52 'R' + { 5226, 30, 36, 31, 4, -34 }, // 0x53 'S' + { 5361, 28, 34, 29, 7, -33 }, // 0x54 'T' + { 5480, 32, 35, 34, 6, -33 }, // 0x55 'U' + { 5620, 30, 34, 31, 8, -33 }, // 0x56 'V' + { 5748, 43, 34, 44, 8, -33 }, // 0x57 'W' + { 5931, 37, 34, 31, 1, -33 }, // 0x58 'X' + { 6089, 29, 34, 31, 9, -33 }, // 0x59 'Y' + { 6213, 33, 34, 29, 1, -33 }, // 0x5A 'Z' + { 6354, 21, 43, 16, 1, -33 }, // 0x5B '[' + { 6467, 7, 36, 13, 6, -34 }, // 0x5C '\' + { 6499, 21, 43, 16, -1, -33 }, // 0x5D ']' + { 6612, 21, 20, 27, 6, -32 }, // 0x5E '^' + { 6665, 29, 4, 26, -3, 6 }, // 0x5F '_' + { 6680, 7, 7, 16, 8, -35 }, // 0x60 '`' + { 6687, 25, 26, 26, 2, -24 }, // 0x61 'a' + { 6769, 27, 35, 29, 3, -33 }, // 0x62 'b' + { 6888, 25, 26, 26, 4, -24 }, // 0x63 'c' + { 6970, 29, 35, 29, 4, -33 }, // 0x64 'd' + { 7097, 25, 26, 26, 3, -24 }, // 0x65 'e' + { 7179, 18, 34, 16, 4, -33 }, // 0x66 'f' + { 7256, 29, 35, 29, 2, -24 }, // 0x67 'g' + { 7383, 27, 34, 29, 3, -33 }, // 0x68 'h' + { 7498, 14, 34, 13, 3, -33 }, // 0x69 'i' + { 7558, 19, 44, 13, -2, -33 }, // 0x6A 'j' + { 7663, 28, 34, 26, 3, -33 }, // 0x6B 'k' + { 7782, 14, 34, 13, 3, -33 }, // 0x6C 'l' + { 7842, 40, 25, 42, 3, -24 }, // 0x6D 'm' + { 7967, 27, 25, 29, 3, -24 }, // 0x6E 'n' + { 8052, 26, 26, 29, 4, -24 }, // 0x6F 'o' + { 8137, 29, 35, 29, 1, -24 }, // 0x70 'p' + { 8264, 28, 35, 29, 3, -24 }, // 0x71 'q' + { 8387, 20, 25, 18, 3, -24 }, // 0x72 'r' + { 8450, 24, 26, 26, 3, -24 }, // 0x73 's' + { 8528, 14, 32, 16, 5, -30 }, // 0x74 't' + { 8584, 27, 26, 29, 4, -24 }, // 0x75 'u' + { 8672, 25, 25, 26, 6, -24 }, // 0x76 'v' + { 8751, 35, 25, 37, 6, -24 }, // 0x77 'w' + { 8861, 29, 25, 26, 1, -24 }, // 0x78 'x' + { 8952, 29, 35, 26, 2, -24 }, // 0x79 'y' + { 9079, 26, 25, 23, 1, -24 }, // 0x7A 'z' + { 9161, 18, 43, 18, 4, -33 }, // 0x7B '{' + { 9258, 13, 43, 13, 3, -33 }, // 0x7C '|' + { 9328, 18, 43, 18, 2, -33 }, // 0x7D '}' + { 9425, 22, 8, 27, 5, -14 } }; // 0x7E '~' + +const GFXfont FreeSansBoldOblique24pt7b PROGMEM = { + (uint8_t *)FreeSansBoldOblique24pt7bBitmaps, + (GFXglyph *)FreeSansBoldOblique24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 10119 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h new file mode 100644 index 0000000..6250aca --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h @@ -0,0 +1,227 @@ +const uint8_t FreeSansBoldOblique9pt7bBitmaps[] PROGMEM = { + 0x21, 0x8E, 0x73, 0x18, 0xC6, 0x21, 0x19, 0xCE, 0x00, 0xEF, 0xDF, 0xBE, + 0x68, 0x80, 0x06, 0xC1, 0x99, 0xFF, 0xBF, 0xF1, 0xB0, 0x66, 0x0C, 0xC7, + 0xFC, 0xFF, 0x8C, 0x83, 0x30, 0x64, 0x00, 0x02, 0x00, 0xF0, 0x7F, 0x1D, + 0x73, 0xEE, 0x78, 0x0F, 0x00, 0xF8, 0x0F, 0xC1, 0xBB, 0xA7, 0x74, 0xEF, + 0xF8, 0xFE, 0x04, 0x00, 0x80, 0x3C, 0x11, 0xF8, 0x8E, 0x66, 0x31, 0x90, + 0xCE, 0x83, 0xF4, 0x07, 0xB0, 0x00, 0x9E, 0x04, 0xFC, 0x26, 0x31, 0x98, + 0xC4, 0x7E, 0x20, 0xF0, 0x07, 0x80, 0xFC, 0x1D, 0xC1, 0xDC, 0x1F, 0x80, + 0xE0, 0x3E, 0x37, 0x77, 0xE3, 0xEE, 0x3C, 0xE3, 0xCF, 0xFE, 0x3C, 0xE0, + 0xFF, 0xE8, 0x06, 0x06, 0x0C, 0x18, 0x38, 0x30, 0x70, 0x60, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x70, 0x30, 0x0C, 0x0E, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x06, 0x0E, 0x0C, 0x1C, 0x18, 0x30, 0x60, 0x60, + 0x32, 0xBF, 0x9C, 0xD2, 0x40, 0x0C, 0x06, 0x07, 0x1F, 0xFF, 0xF0, 0xC0, + 0xE0, 0x60, 0x77, 0x72, 0x6C, 0xFF, 0xC0, 0xFC, 0x02, 0x02, 0x04, 0x04, + 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x0F, 0x07, 0xE3, + 0x9D, 0xC7, 0x71, 0xDC, 0x7E, 0x1F, 0x8E, 0xE3, 0xB8, 0xEE, 0x73, 0xF8, + 0x3C, 0x00, 0x04, 0x3B, 0xF7, 0xE1, 0xC3, 0x06, 0x1C, 0x38, 0x70, 0xC1, + 0x87, 0x00, 0x0F, 0x87, 0xFC, 0xE3, 0xB8, 0x70, 0x0E, 0x03, 0x80, 0xF0, + 0x38, 0x1E, 0x07, 0x01, 0xC0, 0x7F, 0xCF, 0xF8, 0x0F, 0xC7, 0xFC, 0xE3, + 0xB8, 0x70, 0x1C, 0x0F, 0x03, 0xF0, 0x0E, 0x01, 0xDC, 0x3B, 0x8E, 0x7F, + 0x83, 0xE0, 0x03, 0xC0, 0xE0, 0x58, 0x2E, 0x13, 0x8C, 0xE6, 0x33, 0xFE, + 0xFF, 0x81, 0xC0, 0x60, 0x18, 0x0F, 0xE3, 0xFC, 0x60, 0x0C, 0x03, 0x78, + 0x7F, 0x9C, 0x70, 0x0E, 0x01, 0xDC, 0x33, 0x8E, 0x7F, 0x83, 0xE0, 0x0F, + 0x07, 0xE3, 0x9D, 0xC0, 0x7F, 0x1F, 0xEF, 0x3B, 0x8E, 0xE3, 0xB8, 0xCE, + 0x71, 0xF8, 0x3C, 0x00, 0x7F, 0xDF, 0xF0, 0x18, 0x0C, 0x06, 0x03, 0x81, + 0xC0, 0x60, 0x38, 0x0C, 0x07, 0x01, 0x80, 0x60, 0x00, 0x0F, 0x83, 0xFC, + 0xE3, 0x9C, 0x73, 0x9C, 0x3F, 0x0F, 0xE3, 0x8E, 0xE1, 0xDC, 0x3B, 0x8E, + 0x7F, 0xC3, 0xE0, 0x0F, 0x83, 0xF8, 0xE3, 0xB8, 0x77, 0x0E, 0xE1, 0xDC, + 0x7B, 0xFE, 0x3D, 0xC0, 0x33, 0x8E, 0x7F, 0x87, 0xC0, 0x77, 0x00, 0x00, + 0x0E, 0xE0, 0x39, 0xC0, 0x00, 0x01, 0xCE, 0x71, 0x19, 0x80, 0x00, 0x00, + 0x70, 0xFD, 0xF8, 0x70, 0x3F, 0x03, 0xF8, 0x1E, 0x01, 0x80, 0x7F, 0xDF, + 0xF0, 0x00, 0x00, 0xFF, 0xBF, 0xE0, 0x60, 0x1E, 0x07, 0xF0, 0x3F, 0x03, + 0x87, 0xEF, 0xC3, 0x80, 0x00, 0x00, 0x1F, 0x1F, 0xFE, 0x1F, 0x87, 0x01, + 0xC0, 0xE0, 0x70, 0x78, 0x3C, 0x0E, 0x00, 0x00, 0xE0, 0x38, 0x00, 0x00, + 0xFC, 0x00, 0xFF, 0xC0, 0xF0, 0x78, 0x70, 0x07, 0x38, 0x01, 0xCC, 0x3F, + 0x36, 0x31, 0x8D, 0x98, 0x63, 0xC4, 0x11, 0xF3, 0x0C, 0x6C, 0xC6, 0x73, + 0x3E, 0xF8, 0xE7, 0x3C, 0x1E, 0x00, 0x03, 0xFE, 0x00, 0x3F, 0x00, 0x01, + 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0xC0, 0x6F, 0x03, 0x38, 0x31, 0xC3, 0x8E, + 0x1F, 0xF1, 0xFF, 0x8C, 0x1E, 0xE0, 0x76, 0x03, 0x80, 0x1F, 0xF0, 0xFF, + 0xC6, 0x0E, 0x70, 0x73, 0x87, 0x1F, 0xF0, 0xFF, 0x86, 0x0E, 0x70, 0x73, + 0x83, 0x9C, 0x38, 0xFF, 0xC7, 0xF8, 0x00, 0x07, 0xE0, 0xFF, 0x8F, 0x1E, + 0x70, 0x77, 0x00, 0x30, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x03, 0xBC, + 0x38, 0xFF, 0x83, 0xF0, 0x00, 0x1F, 0xE0, 0xFF, 0x86, 0x1E, 0x70, 0x73, + 0x83, 0x9C, 0x1C, 0xC0, 0xE6, 0x07, 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, + 0x8F, 0xF0, 0x00, 0x1F, 0xF8, 0xFF, 0x86, 0x00, 0x70, 0x03, 0x80, 0x1F, + 0xF0, 0xFF, 0x86, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xFF, 0xC7, 0xFC, + 0x00, 0x1F, 0xF1, 0xFF, 0x18, 0x03, 0x80, 0x38, 0x03, 0xFC, 0x3F, 0xC7, + 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, 0x00, 0xE0, 0x00, 0x07, 0xC1, 0xFE, + 0x38, 0x77, 0x03, 0x70, 0x0E, 0x00, 0xE1, 0xEE, 0x1E, 0xE0, 0x6E, 0x0E, + 0x70, 0xE7, 0xFC, 0x1F, 0x40, 0x1C, 0x1C, 0x60, 0x63, 0x83, 0x8E, 0x0E, + 0x38, 0x38, 0xFF, 0xC3, 0xFF, 0x1C, 0x1C, 0x70, 0x71, 0xC1, 0xC6, 0x06, + 0x18, 0x38, 0xE0, 0xE0, 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, + 0x00, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x00, 0xE0, 0x1C, + 0xE3, 0x9C, 0x73, 0x9C, 0x7F, 0x87, 0xC0, 0x1C, 0x3C, 0x71, 0xC1, 0x8E, + 0x0E, 0x70, 0x3B, 0x80, 0xFC, 0x03, 0xF0, 0x0E, 0xE0, 0x73, 0x81, 0xC7, + 0x07, 0x1C, 0x18, 0x38, 0xE0, 0xF0, 0x1C, 0x07, 0x01, 0x80, 0xE0, 0x38, + 0x0E, 0x03, 0x80, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xFF, 0x7F, 0x80, 0x1E, + 0x1F, 0x1E, 0x1E, 0x3E, 0x1E, 0x3E, 0x3E, 0x36, 0x3E, 0x36, 0x6E, 0x36, + 0x6C, 0x76, 0xCC, 0x76, 0xDC, 0x67, 0x9C, 0x67, 0x98, 0xE7, 0x18, 0xE7, + 0x18, 0x1C, 0x1C, 0x70, 0x63, 0xE1, 0x8F, 0x8E, 0x3E, 0x38, 0xDC, 0xC3, + 0x33, 0x1C, 0xEC, 0x71, 0xF1, 0xC7, 0xC6, 0x1E, 0x18, 0x38, 0xE0, 0xE0, + 0x07, 0xC0, 0xFF, 0x8E, 0x1E, 0xE0, 0x77, 0x03, 0xF0, 0x1F, 0x80, 0xFC, + 0x07, 0xE0, 0x77, 0x03, 0xBC, 0x38, 0xFF, 0x81, 0xF0, 0x00, 0x1F, 0xF0, + 0xFF, 0xC6, 0x0E, 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, 0x87, 0xF8, 0x70, + 0x03, 0x80, 0x1C, 0x00, 0xC0, 0x0E, 0x00, 0x00, 0x07, 0xC0, 0xFF, 0x8F, + 0x1C, 0xE0, 0x77, 0x03, 0xB0, 0x1F, 0x80, 0xFC, 0x06, 0xE1, 0x77, 0x1F, + 0x3C, 0x78, 0xFF, 0xC1, 0xF6, 0x00, 0x20, 0x1F, 0xF0, 0xFF, 0xC6, 0x0E, + 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, 0x87, 0xFC, 0x70, 0x73, 0x83, 0x9C, + 0x38, 0xC1, 0xC6, 0x0F, 0x00, 0x07, 0xE0, 0xFF, 0xC7, 0x0E, 0x70, 0x73, + 0x80, 0x1F, 0x80, 0x7F, 0x80, 0x7E, 0x00, 0x77, 0x03, 0xBC, 0x38, 0xFF, + 0xC3, 0xF8, 0x00, 0xFF, 0xDF, 0xF8, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x06, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xC0, 0x18, 0x07, 0x00, 0x38, 0x31, 0xC1, + 0x8C, 0x1C, 0xE0, 0xE7, 0x07, 0x38, 0x31, 0xC3, 0x9C, 0x1C, 0xE0, 0xE7, + 0x06, 0x38, 0x70, 0xFF, 0x03, 0xE0, 0x00, 0xE0, 0xFC, 0x1D, 0x87, 0x30, + 0xC6, 0x38, 0xC6, 0x19, 0xC3, 0xB0, 0x7E, 0x0F, 0x80, 0xF0, 0x1C, 0x03, + 0x00, 0xE1, 0xC3, 0xF1, 0xE3, 0xB8, 0xF1, 0xDC, 0x78, 0xCE, 0x6C, 0xE7, + 0x36, 0x63, 0xB3, 0x70, 0xD9, 0xB0, 0x7C, 0xD8, 0x3C, 0x78, 0x1E, 0x3C, + 0x0E, 0x1C, 0x07, 0x0E, 0x00, 0x0E, 0x1C, 0x38, 0xE0, 0xE7, 0x01, 0xD8, + 0x07, 0xE0, 0x0F, 0x00, 0x38, 0x01, 0xE0, 0x0F, 0xC0, 0x77, 0x01, 0x8E, + 0x0E, 0x38, 0x70, 0xF0, 0xE0, 0xEE, 0x39, 0xC7, 0x39, 0xC3, 0x70, 0x7C, + 0x0F, 0x80, 0xE0, 0x1C, 0x03, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x3F, 0xF3, + 0xFF, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x3C, 0x07, + 0x80, 0x70, 0x0F, 0xFC, 0xFF, 0xC0, 0x0F, 0x0F, 0x0C, 0x1C, 0x18, 0x18, + 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x78, 0x78, 0x12, + 0x4C, 0x92, 0x49, 0x26, 0xD9, 0x20, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x0C, + 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x38, 0x30, 0xF0, 0xF0, 0x06, + 0x0E, 0x0E, 0x1B, 0x33, 0x33, 0x63, 0x63, 0xFF, 0xE0, 0xCC, 0x1F, 0x8F, + 0xF3, 0x1C, 0x06, 0x1F, 0x9F, 0xEE, 0x3B, 0x9C, 0xFF, 0x1D, 0xC0, 0x18, + 0x03, 0x00, 0xE0, 0x1D, 0xC3, 0xFC, 0x71, 0xDC, 0x3B, 0x87, 0x70, 0xEE, + 0x39, 0xCF, 0x7F, 0xCF, 0xE0, 0x0F, 0x0F, 0xF7, 0x1D, 0xC0, 0xE0, 0x38, + 0x0E, 0x03, 0x8E, 0x7F, 0x0F, 0x80, 0x00, 0x60, 0x06, 0x00, 0x61, 0xEE, + 0x3F, 0xE7, 0x9C, 0x71, 0xCE, 0x1C, 0xE1, 0xCE, 0x1C, 0xE3, 0x87, 0xF8, + 0x7F, 0x80, 0x1F, 0x0F, 0xE7, 0x1D, 0xC7, 0xFF, 0xFF, 0xFE, 0x03, 0x8E, + 0x7F, 0x0F, 0x80, 0x1C, 0xF3, 0x3F, 0xFD, 0xC7, 0x18, 0x63, 0x8E, 0x30, + 0xC0, 0x0F, 0x71, 0xFE, 0x3C, 0xE3, 0x8E, 0x70, 0xE7, 0x0E, 0x70, 0xC7, + 0x1C, 0x3F, 0xC3, 0xFC, 0x01, 0xCE, 0x38, 0x7F, 0x03, 0xE0, 0x18, 0x03, + 0x00, 0xE0, 0x1D, 0xE3, 0xFE, 0x71, 0xCC, 0x3B, 0x86, 0x70, 0xCC, 0x39, + 0x87, 0x30, 0xEE, 0x18, 0x39, 0xC0, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, + 0x00, 0x06, 0x06, 0x00, 0x0E, 0x0E, 0x0C, 0x0C, 0x1C, 0x1C, 0x1C, 0x18, + 0x18, 0x38, 0x38, 0x30, 0x70, 0xE0, 0x18, 0x03, 0x00, 0xE0, 0x1C, 0xE3, + 0x38, 0x6E, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xE1, 0x9C, 0x73, 0x8E, 0x38, + 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x00, 0x3B, 0x9E, 0x3F, + 0xFF, 0x39, 0xC7, 0x71, 0xC6, 0x71, 0x86, 0x71, 0x8E, 0x63, 0x8E, 0x63, + 0x8C, 0xE3, 0x8C, 0xE3, 0x1C, 0x3B, 0xC7, 0xFC, 0xE3, 0xB8, 0x77, 0x0C, + 0xE1, 0x98, 0x73, 0x0E, 0xE1, 0xDC, 0x30, 0x0F, 0x87, 0xF9, 0xE7, 0xB8, + 0x7E, 0x0F, 0xC1, 0xF8, 0x77, 0x9E, 0x7F, 0x87, 0xC0, 0x1D, 0xE1, 0xFE, + 0x1C, 0x73, 0x87, 0x38, 0x73, 0x87, 0x38, 0xE3, 0x8E, 0x7F, 0xC7, 0xF8, + 0x60, 0x06, 0x00, 0x60, 0x0E, 0x00, 0x1E, 0xE7, 0xFD, 0xE7, 0x38, 0xEE, + 0x1D, 0xC3, 0xB8, 0x77, 0x1C, 0x7F, 0x8F, 0xF0, 0x0E, 0x01, 0x80, 0x30, + 0x06, 0x00, 0x3B, 0x36, 0x38, 0x70, 0x70, 0x70, 0x60, 0x60, 0xE0, 0xE0, + 0x3E, 0x3F, 0xF8, 0xFC, 0x0F, 0xC3, 0xF8, 0x3D, 0x8E, 0xFE, 0x3E, 0x00, + 0x38, 0xCF, 0xFE, 0x71, 0x86, 0x38, 0xE3, 0x8F, 0x3C, 0x31, 0xDC, 0x77, + 0x19, 0x86, 0x63, 0xB8, 0xEE, 0x33, 0x9C, 0xFF, 0x1F, 0xC0, 0xE1, 0x98, + 0xE6, 0x31, 0x9C, 0x66, 0x1B, 0x86, 0xC1, 0xF0, 0x78, 0x0E, 0x00, 0xE7, + 0x1B, 0x9C, 0xEE, 0x73, 0x3B, 0xDC, 0xEB, 0x63, 0xAD, 0x8F, 0xBC, 0x1C, + 0xF0, 0x73, 0xC1, 0xCE, 0x00, 0x1C, 0xE1, 0xCC, 0x0D, 0x80, 0xF8, 0x0F, + 0x00, 0xF0, 0x1F, 0x03, 0xB8, 0x33, 0x87, 0x38, 0x70, 0xCE, 0x38, 0xC6, + 0x19, 0xC3, 0x30, 0x66, 0x0F, 0x81, 0xF0, 0x3C, 0x03, 0x80, 0x60, 0x18, + 0x0F, 0x01, 0xC0, 0x00, 0x1F, 0xCF, 0xF0, 0x38, 0x1C, 0x0E, 0x07, 0x03, + 0x81, 0xC0, 0x7F, 0xBF, 0xE0, 0x0E, 0x38, 0x61, 0x83, 0x06, 0x0C, 0x78, + 0xF0, 0xC1, 0x83, 0x0E, 0x1C, 0x38, 0x78, 0x70, 0x18, 0xC4, 0x21, 0x18, + 0xC4, 0x21, 0x18, 0xC4, 0x23, 0x18, 0x80, 0x1C, 0x3C, 0x38, 0x70, 0xE1, + 0x83, 0x06, 0x1E, 0x5C, 0x60, 0xC1, 0x83, 0x0C, 0x38, 0xE0, 0x71, 0x8E }; + +const GFXglyph FreeSansBoldOblique9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 5, 13, 6, 2, -12 }, // 0x21 '!' + { 9, 7, 5, 9, 3, -12 }, // 0x22 '"' + { 14, 11, 12, 10, 1, -11 }, // 0x23 '#' + { 31, 11, 16, 10, 1, -13 }, // 0x24 '$' + { 53, 14, 13, 16, 2, -12 }, // 0x25 '%' + { 76, 12, 13, 13, 2, -12 }, // 0x26 '&' + { 96, 3, 5, 4, 3, -12 }, // 0x27 ''' + { 98, 8, 17, 6, 2, -12 }, // 0x28 '(' + { 115, 8, 17, 6, -2, -13 }, // 0x29 ')' + { 132, 6, 6, 7, 3, -12 }, // 0x2A '*' + { 137, 9, 8, 11, 2, -7 }, // 0x2B '+' + { 146, 4, 6, 5, 0, -2 }, // 0x2C ',' + { 149, 5, 2, 6, 1, -5 }, // 0x2D '-' + { 151, 3, 2, 5, 1, -1 }, // 0x2E '.' + { 152, 8, 13, 5, 0, -12 }, // 0x2F '/' + { 165, 10, 13, 10, 1, -12 }, // 0x30 '0' + { 182, 7, 13, 10, 3, -12 }, // 0x31 '1' + { 194, 11, 13, 10, 1, -12 }, // 0x32 '2' + { 212, 11, 13, 10, 1, -12 }, // 0x33 '3' + { 230, 10, 12, 10, 1, -11 }, // 0x34 '4' + { 245, 11, 13, 10, 1, -12 }, // 0x35 '5' + { 263, 10, 13, 10, 2, -12 }, // 0x36 '6' + { 280, 10, 13, 10, 2, -12 }, // 0x37 '7' + { 297, 11, 13, 10, 1, -12 }, // 0x38 '8' + { 315, 11, 13, 10, 1, -12 }, // 0x39 '9' + { 333, 4, 9, 6, 2, -8 }, // 0x3A ':' + { 338, 5, 12, 6, 1, -8 }, // 0x3B ';' + { 346, 10, 9, 11, 1, -8 }, // 0x3C '<' + { 358, 10, 6, 11, 1, -6 }, // 0x3D '=' + { 366, 10, 9, 11, 1, -7 }, // 0x3E '>' + { 378, 10, 13, 11, 3, -12 }, // 0x3F '?' + { 395, 18, 16, 18, 1, -13 }, // 0x40 '@' + { 431, 13, 13, 13, 0, -12 }, // 0x41 'A' + { 453, 13, 13, 13, 1, -12 }, // 0x42 'B' + { 475, 13, 13, 13, 2, -12 }, // 0x43 'C' + { 497, 13, 13, 13, 1, -12 }, // 0x44 'D' + { 519, 13, 13, 12, 1, -12 }, // 0x45 'E' + { 541, 12, 13, 11, 1, -12 }, // 0x46 'F' + { 561, 12, 13, 14, 2, -12 }, // 0x47 'G' + { 581, 14, 13, 13, 1, -12 }, // 0x48 'H' + { 604, 5, 13, 5, 1, -12 }, // 0x49 'I' + { 613, 11, 13, 10, 1, -12 }, // 0x4A 'J' + { 631, 14, 13, 13, 1, -12 }, // 0x4B 'K' + { 654, 10, 13, 11, 1, -12 }, // 0x4C 'L' + { 671, 16, 13, 15, 1, -12 }, // 0x4D 'M' + { 697, 14, 13, 13, 1, -12 }, // 0x4E 'N' + { 720, 13, 13, 14, 2, -12 }, // 0x4F 'O' + { 742, 13, 13, 12, 1, -12 }, // 0x50 'P' + { 764, 13, 14, 14, 2, -12 }, // 0x51 'Q' + { 787, 13, 13, 13, 1, -12 }, // 0x52 'R' + { 809, 13, 13, 12, 1, -12 }, // 0x53 'S' + { 831, 11, 13, 11, 3, -12 }, // 0x54 'T' + { 849, 13, 13, 13, 2, -12 }, // 0x55 'U' + { 871, 11, 13, 12, 3, -12 }, // 0x56 'V' + { 889, 17, 13, 17, 3, -12 }, // 0x57 'W' + { 917, 14, 13, 12, 0, -12 }, // 0x58 'X' + { 940, 11, 13, 12, 3, -12 }, // 0x59 'Y' + { 958, 12, 13, 11, 1, -12 }, // 0x5A 'Z' + { 978, 8, 17, 6, 0, -12 }, // 0x5B '[' + { 995, 3, 17, 5, 2, -16 }, // 0x5C '\' + { 1002, 8, 17, 6, 0, -13 }, // 0x5D ']' + { 1019, 8, 8, 11, 2, -12 }, // 0x5E '^' + { 1027, 11, 1, 10, -1, 4 }, // 0x5F '_' + { 1029, 3, 2, 6, 3, -12 }, // 0x60 '`' + { 1030, 10, 10, 10, 1, -9 }, // 0x61 'a' + { 1043, 11, 13, 11, 1, -12 }, // 0x62 'b' + { 1061, 10, 10, 10, 1, -9 }, // 0x63 'c' + { 1074, 12, 13, 11, 1, -12 }, // 0x64 'd' + { 1094, 10, 10, 10, 1, -9 }, // 0x65 'e' + { 1107, 6, 13, 6, 2, -12 }, // 0x66 'f' + { 1117, 12, 14, 11, 0, -9 }, // 0x67 'g' + { 1138, 11, 13, 11, 1, -12 }, // 0x68 'h' + { 1156, 5, 13, 5, 1, -12 }, // 0x69 'i' + { 1165, 8, 17, 5, -1, -12 }, // 0x6A 'j' + { 1182, 11, 13, 10, 1, -12 }, // 0x6B 'k' + { 1200, 5, 13, 5, 1, -12 }, // 0x6C 'l' + { 1209, 16, 10, 16, 1, -9 }, // 0x6D 'm' + { 1229, 11, 10, 11, 1, -9 }, // 0x6E 'n' + { 1243, 11, 10, 11, 1, -9 }, // 0x6F 'o' + { 1257, 12, 14, 11, 0, -9 }, // 0x70 'p' + { 1278, 11, 14, 11, 1, -9 }, // 0x71 'q' + { 1298, 8, 10, 7, 1, -9 }, // 0x72 'r' + { 1308, 9, 10, 10, 2, -9 }, // 0x73 's' + { 1320, 6, 12, 6, 2, -11 }, // 0x74 't' + { 1329, 10, 10, 11, 2, -9 }, // 0x75 'u' + { 1342, 10, 10, 10, 2, -9 }, // 0x76 'v' + { 1355, 14, 10, 14, 2, -9 }, // 0x77 'w' + { 1373, 12, 10, 10, 0, -9 }, // 0x78 'x' + { 1388, 11, 14, 10, 1, -9 }, // 0x79 'y' + { 1408, 10, 10, 9, 0, -9 }, // 0x7A 'z' + { 1421, 7, 17, 7, 2, -12 }, // 0x7B '{' + { 1436, 5, 17, 5, 1, -12 }, // 0x7C '|' + { 1447, 7, 17, 7, 0, -13 }, // 0x7D '}' + { 1462, 8, 2, 11, 2, -4 } }; // 0x7E '~' + +const GFXfont FreeSansBoldOblique9pt7b PROGMEM = { + (uint8_t *)FreeSansBoldOblique9pt7bBitmaps, + (GFXglyph *)FreeSansBoldOblique9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 2136 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h new file mode 100644 index 0000000..efdbd8d --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h @@ -0,0 +1,302 @@ +const uint8_t FreeSansOblique12pt7bBitmaps[] PROGMEM = { + 0x0C, 0x61, 0x86, 0x18, 0x63, 0x0C, 0x30, 0xC2, 0x18, 0x61, 0x00, 0x00, + 0xC3, 0x00, 0xCF, 0x3C, 0xE2, 0x8A, 0x20, 0x01, 0x8C, 0x03, 0x18, 0x06, + 0x60, 0x18, 0xC0, 0x31, 0x83, 0xFF, 0x87, 0xFF, 0x03, 0x18, 0x0C, 0x60, + 0x18, 0xC0, 0x23, 0x03, 0xFF, 0x8F, 0xFF, 0x02, 0x30, 0x0C, 0x60, 0x18, + 0x80, 0x63, 0x00, 0xC6, 0x00, 0x00, 0x80, 0x3F, 0x03, 0xFC, 0x32, 0x73, + 0x91, 0x99, 0x8C, 0xCC, 0x06, 0x60, 0x3E, 0x00, 0x7E, 0x01, 0xFC, 0x0C, + 0xEC, 0x43, 0x62, 0x1B, 0x11, 0x9D, 0x9C, 0x7F, 0xC1, 0xF8, 0x02, 0x00, + 0x10, 0x01, 0x80, 0x00, 0x00, 0x01, 0x83, 0xC0, 0x60, 0xFC, 0x18, 0x30, + 0xC2, 0x0C, 0x18, 0xC1, 0x83, 0x30, 0x38, 0xCC, 0x03, 0xF1, 0x00, 0x3C, + 0x40, 0x00, 0x18, 0xF0, 0x06, 0x3F, 0x01, 0x8C, 0x30, 0x23, 0x06, 0x0C, + 0x60, 0xC3, 0x0E, 0x30, 0xC0, 0xFC, 0x10, 0x0F, 0x00, 0x01, 0xE0, 0x3F, + 0x81, 0x8C, 0x18, 0x60, 0xC3, 0x06, 0x30, 0x1F, 0x00, 0xE0, 0x1F, 0x01, + 0xDC, 0xD8, 0x6D, 0x81, 0xEC, 0x0E, 0x60, 0x73, 0x87, 0xCF, 0xE6, 0x3E, + 0x38, 0xFE, 0xA0, 0x03, 0x06, 0x04, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x60, + 0x60, 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x60, + 0x60, 0x20, 0x04, 0x06, 0x06, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x20, 0x60, + 0xC0, 0x0C, 0x0C, 0x49, 0x7F, 0x3C, 0x3C, 0x6C, 0x00, 0x03, 0x00, 0x30, + 0x03, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x60, 0x06, 0x00, 0xC0, + 0x0C, 0x00, 0x77, 0x22, 0x6C, 0xFF, 0xF0, 0xFC, 0x00, 0x40, 0x30, 0x08, + 0x06, 0x01, 0x00, 0xC0, 0x20, 0x18, 0x04, 0x02, 0x00, 0x80, 0x40, 0x10, + 0x08, 0x02, 0x01, 0x00, 0xC0, 0x20, 0x00, 0x07, 0xC0, 0xFE, 0x1C, 0x73, + 0x83, 0x30, 0x36, 0x03, 0x60, 0x36, 0x03, 0xC0, 0x7C, 0x07, 0xC0, 0x6C, + 0x06, 0xC0, 0xEC, 0x0C, 0xE3, 0x87, 0xF0, 0x3E, 0x00, 0x02, 0x0C, 0x77, + 0xEF, 0xC1, 0x83, 0x0C, 0x18, 0x30, 0x61, 0xC3, 0x06, 0x0C, 0x18, 0x60, + 0x03, 0xF0, 0x1F, 0xE0, 0xE1, 0xC7, 0x03, 0x18, 0x0C, 0x00, 0x30, 0x01, + 0x80, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x78, 0x07, 0x80, 0x38, 0x01, 0xC0, + 0x06, 0x00, 0x1F, 0xFC, 0xFF, 0xE0, 0x07, 0xC0, 0xFE, 0x1C, 0x73, 0x03, + 0x30, 0x30, 0x03, 0x00, 0xE0, 0x7C, 0x07, 0xC0, 0x0E, 0x00, 0x60, 0x06, + 0xC0, 0x6C, 0x0C, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x00, 0x60, 0x06, 0x00, + 0xE0, 0x1E, 0x03, 0xE0, 0x6C, 0x0C, 0xC1, 0x8C, 0x30, 0xC6, 0x1C, 0xC1, + 0x8F, 0xFF, 0xFF, 0xE0, 0x18, 0x03, 0x00, 0x30, 0x03, 0x00, 0x0F, 0xF8, + 0x7F, 0xC6, 0x00, 0x30, 0x01, 0x00, 0x1B, 0xC0, 0xFF, 0x06, 0x1C, 0x60, + 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x0C, 0x60, 0x63, 0x86, 0x0F, 0xE0, + 0x3E, 0x00, 0x03, 0xC0, 0xFE, 0x1C, 0x73, 0x83, 0x30, 0x06, 0x00, 0x67, + 0x87, 0xFC, 0xF0, 0xEE, 0x06, 0xC0, 0x6C, 0x06, 0xC0, 0x4C, 0x0C, 0xE1, + 0x87, 0xF8, 0x3E, 0x00, 0x3F, 0xFB, 0xFF, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, + 0x00, 0xC0, 0x06, 0x00, 0x60, 0x06, 0x00, 0x70, 0x03, 0x00, 0x30, 0x03, + 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xE0, 0x00, 0x07, 0xC0, 0xFE, 0x1C, + 0x73, 0x03, 0x30, 0x33, 0x03, 0x38, 0x61, 0xFC, 0x3F, 0xC7, 0x0E, 0x60, + 0x6C, 0x06, 0xC0, 0x6C, 0x0C, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x07, 0xC1, + 0xFE, 0x38, 0x73, 0x03, 0x60, 0x36, 0x03, 0x60, 0x36, 0x07, 0x70, 0xF3, + 0xFE, 0x1E, 0x60, 0x0E, 0x00, 0xCC, 0x1C, 0xE3, 0x87, 0xF0, 0x3C, 0x00, + 0x39, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC0, 0x1C, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x1C, 0x20, 0x86, 0x30, 0x00, 0x00, 0x01, 0xC0, + 0x3C, 0x0F, 0x81, 0xE0, 0x7C, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x3E, + 0x00, 0x38, 0x00, 0x40, 0x7F, 0xFB, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, + 0x7F, 0xF0, 0x20, 0x01, 0xC0, 0x07, 0xC0, 0x0F, 0x80, 0x0F, 0x00, 0x1C, + 0x03, 0xE0, 0x78, 0x1F, 0x03, 0xC0, 0x38, 0x00, 0x00, 0x00, 0x0F, 0x87, + 0xF9, 0xC3, 0xB0, 0x3C, 0x06, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x01, 0xC0, + 0x30, 0x0C, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x06, 0x00, 0x00, + 0x3F, 0x80, 0x01, 0xFF, 0xE0, 0x0F, 0x01, 0xE0, 0x38, 0x00, 0xE0, 0xE0, + 0x00, 0xC3, 0x87, 0x81, 0xCE, 0x1F, 0xB1, 0x98, 0x71, 0xC3, 0x61, 0x83, + 0x86, 0xC6, 0x06, 0x0F, 0x0C, 0x0C, 0x3E, 0x30, 0x30, 0x6C, 0x60, 0x61, + 0xD8, 0xC1, 0x87, 0x31, 0xC7, 0x1C, 0x61, 0xF7, 0xF0, 0x63, 0xCF, 0x80, + 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x7F, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x78, 0x00, 0x7C, 0x00, 0xFC, 0x00, 0xDC, 0x01, 0xCC, + 0x01, 0x8C, 0x03, 0x8C, 0x03, 0x0C, 0x06, 0x0C, 0x0E, 0x0E, 0x0F, 0xFE, + 0x1F, 0xFE, 0x18, 0x06, 0x38, 0x06, 0x30, 0x06, 0x70, 0x06, 0x60, 0x07, + 0x0F, 0xF8, 0x1F, 0xF8, 0x60, 0x38, 0xC0, 0x31, 0x80, 0x63, 0x00, 0xCE, + 0x03, 0x18, 0x0C, 0x3F, 0xF0, 0x7F, 0xF0, 0xC0, 0x73, 0x00, 0x66, 0x00, + 0xCC, 0x01, 0x98, 0x06, 0x70, 0x1C, 0xFF, 0xF1, 0xFF, 0x80, 0x01, 0xF8, + 0x07, 0xFE, 0x0E, 0x0E, 0x1C, 0x03, 0x38, 0x03, 0x30, 0x00, 0x60, 0x00, + 0x60, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x06, + 0xC0, 0x0C, 0xE0, 0x1C, 0x70, 0x78, 0x3F, 0xF0, 0x1F, 0x80, 0x0F, 0xF8, + 0x1F, 0xFC, 0x18, 0x0E, 0x18, 0x07, 0x18, 0x03, 0x18, 0x03, 0x38, 0x03, + 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x70, 0x06, 0x70, 0x06, 0x60, 0x0C, + 0x60, 0x0C, 0x60, 0x18, 0xE0, 0x78, 0xFF, 0xE0, 0xFF, 0x80, 0x0F, 0xFF, + 0x1F, 0xFE, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x38, 0x00, + 0x30, 0x00, 0x3F, 0xFC, 0x3F, 0xF8, 0x70, 0x00, 0x70, 0x00, 0x60, 0x00, + 0x60, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xFF, 0xF8, 0xFF, 0xF8, 0x0F, 0xFE, + 0x3F, 0xFC, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x18, + 0x00, 0x3F, 0xF0, 0x7F, 0xE1, 0xC0, 0x03, 0x80, 0x06, 0x00, 0x0C, 0x00, + 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x80, 0x00, 0x01, 0xF8, 0x07, 0xFE, + 0x0E, 0x0F, 0x18, 0x03, 0x30, 0x03, 0x70, 0x00, 0x60, 0x00, 0x60, 0x00, + 0xC0, 0x7F, 0xC0, 0x7E, 0xC0, 0x02, 0xC0, 0x06, 0xC0, 0x06, 0xE0, 0x0E, + 0x60, 0x1E, 0x78, 0x3C, 0x3F, 0xE4, 0x0F, 0x84, 0x0C, 0x01, 0x8E, 0x00, + 0xC6, 0x00, 0xE3, 0x00, 0x61, 0x80, 0x30, 0xC0, 0x18, 0xE0, 0x0C, 0x60, + 0x0E, 0x3F, 0xFE, 0x1F, 0xFF, 0x1C, 0x01, 0x8E, 0x01, 0xC6, 0x00, 0xE3, + 0x00, 0x61, 0x80, 0x31, 0xC0, 0x18, 0xC0, 0x1C, 0x60, 0x0C, 0x00, 0x0C, + 0x71, 0x86, 0x18, 0x63, 0x8C, 0x30, 0xC3, 0x1C, 0x61, 0x86, 0x18, 0xE3, + 0x00, 0x00, 0x18, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, + 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, 0x8C, 0x0C, 0x60, 0x63, + 0x07, 0x1C, 0x70, 0x7F, 0x01, 0xF0, 0x00, 0x0C, 0x03, 0x87, 0x01, 0xC1, + 0x80, 0xE0, 0x60, 0x60, 0x18, 0x70, 0x06, 0x38, 0x03, 0x9C, 0x00, 0xCE, + 0x00, 0x37, 0x80, 0x0F, 0x70, 0x07, 0x8C, 0x01, 0xC3, 0x80, 0x60, 0x60, + 0x18, 0x1C, 0x06, 0x03, 0x03, 0x80, 0xE0, 0xC0, 0x18, 0x30, 0x07, 0x00, + 0x0C, 0x03, 0x80, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x0E, 0x01, 0x80, 0x30, + 0x06, 0x01, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xFF, 0xFF, + 0xFC, 0x0E, 0x00, 0x71, 0xE0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1E, + 0x01, 0xE1, 0xE0, 0x36, 0x3B, 0x03, 0x63, 0x30, 0x6E, 0x33, 0x0E, 0xC3, + 0x30, 0xCC, 0x33, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x31, 0xC6, 0x33, 0x18, + 0x61, 0xE1, 0x8E, 0x1E, 0x18, 0xC1, 0xC1, 0x8C, 0x1C, 0x38, 0x0C, 0x01, + 0x8F, 0x00, 0xC7, 0x80, 0x63, 0xE0, 0x71, 0xF0, 0x30, 0xD8, 0x18, 0xEE, + 0x0C, 0x63, 0x06, 0x31, 0xC7, 0x18, 0xE3, 0x0C, 0x31, 0x8C, 0x1C, 0xC6, + 0x06, 0x63, 0x03, 0xF1, 0x80, 0xF1, 0xC0, 0x78, 0xC0, 0x3C, 0x60, 0x0E, + 0x00, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0x83, 0xC3, 0x80, 0x63, 0x00, 0x3B, + 0x80, 0x0D, 0x80, 0x06, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, + 0xF8, 0x00, 0x6C, 0x00, 0x36, 0x00, 0x31, 0x80, 0x30, 0xF0, 0x78, 0x3F, + 0xF0, 0x07, 0xE0, 0x00, 0x0F, 0xF8, 0x3F, 0xF8, 0x60, 0x38, 0xC0, 0x31, + 0x80, 0x63, 0x00, 0xCE, 0x03, 0x18, 0x0E, 0x3F, 0xF8, 0x7F, 0xE1, 0xC0, + 0x03, 0x80, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, + 0x80, 0x00, 0x00, 0xFC, 0x01, 0xFF, 0xC0, 0xF0, 0x78, 0x70, 0x06, 0x38, + 0x01, 0xCC, 0x00, 0x36, 0x00, 0x0D, 0x80, 0x03, 0xC0, 0x00, 0xF0, 0x00, + 0x3C, 0x00, 0x1B, 0x00, 0x06, 0xC0, 0x03, 0x38, 0x1D, 0xC6, 0x03, 0xE1, + 0xE0, 0xF0, 0x3F, 0xFE, 0x03, 0xF1, 0xC0, 0x00, 0x20, 0x0F, 0xFC, 0x1F, + 0xFE, 0x18, 0x07, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x38, 0x06, 0x30, + 0x0C, 0x3F, 0xF8, 0x3F, 0xF8, 0x70, 0x1C, 0x70, 0x0C, 0x60, 0x0C, 0x60, + 0x0C, 0x60, 0x18, 0xE0, 0x18, 0xC0, 0x18, 0xC0, 0x1C, 0x03, 0xF8, 0x1F, + 0xF8, 0x70, 0x38, 0xC0, 0x33, 0x00, 0x66, 0x00, 0x0C, 0x00, 0x1E, 0x00, + 0x1F, 0xC0, 0x0F, 0xF0, 0x01, 0xF0, 0x00, 0xEC, 0x00, 0xD8, 0x01, 0xB0, + 0x06, 0x70, 0x38, 0x7F, 0xE0, 0x3F, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x70, + 0x01, 0xC0, 0x06, 0x00, 0x18, 0x00, 0x60, 0x03, 0x80, 0x0C, 0x00, 0x30, + 0x00, 0xC0, 0x03, 0x00, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x18, + 0x00, 0xE0, 0x00, 0x18, 0x03, 0x38, 0x03, 0x30, 0x07, 0x30, 0x06, 0x30, + 0x06, 0x70, 0x06, 0x70, 0x0E, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0xE0, + 0x0C, 0xC0, 0x1C, 0xC0, 0x18, 0xC0, 0x18, 0xC0, 0x38, 0xE0, 0x70, 0x7F, + 0xE0, 0x1F, 0x80, 0xC0, 0x0F, 0xC0, 0x1B, 0x80, 0x73, 0x00, 0xC6, 0x03, + 0x0C, 0x06, 0x18, 0x18, 0x30, 0x70, 0x60, 0xC0, 0xE3, 0x81, 0xC6, 0x01, + 0x9C, 0x03, 0x30, 0x06, 0xE0, 0x0D, 0x80, 0x1E, 0x00, 0x3C, 0x00, 0x70, + 0x00, 0xC0, 0x70, 0x1F, 0x01, 0xC0, 0x6C, 0x0F, 0x03, 0xB0, 0x3C, 0x0C, + 0xC1, 0xF0, 0x73, 0x06, 0xC1, 0x8C, 0x3B, 0x06, 0x30, 0xC6, 0x30, 0xC7, + 0x18, 0xC3, 0x18, 0x67, 0x0C, 0xE1, 0x98, 0x33, 0x06, 0xE0, 0xDC, 0x1B, + 0x03, 0x60, 0x6C, 0x07, 0x81, 0xE0, 0x1C, 0x07, 0x80, 0x70, 0x1C, 0x01, + 0x80, 0x70, 0x00, 0x07, 0x00, 0xE0, 0xE0, 0x38, 0x0C, 0x0E, 0x01, 0xC3, + 0x80, 0x18, 0xE0, 0x03, 0x98, 0x00, 0x36, 0x00, 0x07, 0x80, 0x00, 0xF0, + 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x01, 0xDC, 0x00, 0x73, 0x80, 0x1C, 0x30, + 0x03, 0x07, 0x00, 0xC0, 0x60, 0x38, 0x0E, 0x0E, 0x00, 0xC0, 0xE0, 0x06, + 0x60, 0x0C, 0x70, 0x1C, 0x70, 0x38, 0x30, 0x70, 0x38, 0x60, 0x18, 0xC0, + 0x1D, 0xC0, 0x1F, 0x80, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x0F, 0xFF, + 0x87, 0xFF, 0x80, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, + 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, + 0xC0, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0xF8, 0x7F, 0xFC, + 0x00, 0x07, 0xC1, 0xE0, 0x60, 0x18, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x1C, + 0x06, 0x01, 0x80, 0x60, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x06, + 0x01, 0x80, 0x60, 0x1E, 0x07, 0x80, 0x93, 0x6C, 0x92, 0x49, 0x24, 0xDB, + 0x24, 0x07, 0x81, 0xE0, 0x18, 0x06, 0x01, 0x80, 0xC0, 0x30, 0x0C, 0x03, + 0x01, 0xC0, 0x60, 0x18, 0x06, 0x01, 0x80, 0xE0, 0x30, 0x0C, 0x03, 0x00, + 0xC0, 0x60, 0x18, 0x1E, 0x0F, 0x80, 0x03, 0x01, 0xC0, 0xD8, 0x36, 0x19, + 0x84, 0x63, 0x19, 0x83, 0x60, 0xC0, 0xFF, 0xFC, 0xE6, 0x23, 0x07, 0xC3, + 0xFC, 0xE3, 0x98, 0x30, 0x06, 0x01, 0x87, 0xF3, 0xC6, 0xC0, 0xD8, 0x3B, + 0x0E, 0x7F, 0x77, 0xCC, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, + 0x0C, 0xF0, 0x7F, 0xC3, 0x87, 0x38, 0x19, 0x80, 0xCC, 0x06, 0x60, 0x32, + 0x03, 0xB0, 0x19, 0xC1, 0xCE, 0x1C, 0x7F, 0xC3, 0x7C, 0x00, 0x0F, 0x83, + 0xF8, 0xE3, 0xB8, 0x36, 0x07, 0xC0, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x1B, + 0x86, 0x3F, 0xC3, 0xE0, 0x00, 0x0C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, + 0x18, 0x3E, 0x61, 0xFF, 0x0E, 0x3C, 0x70, 0x71, 0x80, 0xCE, 0x07, 0x30, + 0x18, 0xC0, 0x63, 0x01, 0x8C, 0x0E, 0x38, 0x78, 0x7F, 0xC0, 0xFB, 0x00, + 0x07, 0xC1, 0xFE, 0x38, 0x77, 0x03, 0x60, 0x37, 0xFF, 0xFF, 0xFC, 0x00, + 0xC0, 0x0C, 0x06, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x07, 0x0F, 0x1C, 0x18, + 0x18, 0x7E, 0x7E, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60, + 0xC0, 0xC0, 0x03, 0xCC, 0x3F, 0xA1, 0xC7, 0x8E, 0x0E, 0x30, 0x38, 0xC0, + 0xC6, 0x03, 0x18, 0x0C, 0x60, 0x71, 0x81, 0xC7, 0x0E, 0x0F, 0xF8, 0x1E, + 0x60, 0x03, 0x80, 0x0C, 0x30, 0x70, 0x7F, 0x80, 0xF8, 0x00, 0x0C, 0x00, + 0xC0, 0x0C, 0x01, 0x80, 0x18, 0x01, 0x9E, 0x1F, 0xF1, 0xC7, 0x38, 0x33, + 0x03, 0x30, 0x33, 0x07, 0x30, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, 0xC6, + 0x0C, 0x18, 0xC0, 0x00, 0x18, 0xC6, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xC6, + 0x00, 0x01, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x18, 0x1C, 0x0C, 0x06, 0x03, + 0x01, 0x81, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x03, + 0x87, 0x83, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x0C, + 0x18, 0x61, 0x83, 0x38, 0x33, 0x81, 0xB8, 0x0F, 0xC0, 0x77, 0x03, 0x18, + 0x30, 0xC1, 0x87, 0x0C, 0x18, 0x60, 0xE3, 0x03, 0x00, 0x18, 0xC6, 0x63, + 0x18, 0xC6, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xC6, 0x00, 0x1B, 0xE3, 0xC3, + 0xFD, 0xFC, 0xF1, 0xE1, 0x9C, 0x18, 0x33, 0x03, 0x06, 0x60, 0xC0, 0xCC, + 0x18, 0x3B, 0x83, 0x06, 0x60, 0x60, 0xCC, 0x0C, 0x19, 0x83, 0x03, 0x30, + 0x60, 0xE6, 0x0C, 0x18, 0x1B, 0xE1, 0xFF, 0x3C, 0x73, 0x83, 0x30, 0x33, + 0x03, 0x30, 0x77, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x0C, 0x60, 0xC0, + 0x07, 0xC1, 0xFE, 0x38, 0x77, 0x03, 0x60, 0x3E, 0x03, 0xC0, 0x3C, 0x06, + 0xC0, 0x6C, 0x0E, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x0C, 0xF0, 0x3F, 0xE0, + 0xE1, 0xC7, 0x03, 0x1C, 0x0C, 0x60, 0x31, 0x80, 0xCE, 0x07, 0x38, 0x18, + 0xE0, 0xE3, 0xC7, 0x0F, 0xF8, 0x77, 0xC1, 0x80, 0x06, 0x00, 0x18, 0x00, + 0x60, 0x03, 0x80, 0x00, 0x0F, 0x98, 0xFF, 0xCE, 0x3C, 0xE0, 0xE6, 0x03, + 0x70, 0x1B, 0x01, 0x98, 0x0C, 0xC0, 0x66, 0x07, 0x38, 0x78, 0xFF, 0x83, + 0xCC, 0x00, 0x60, 0x07, 0x00, 0x38, 0x01, 0x80, 0x0C, 0x00, 0x1B, 0x8F, + 0xCF, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x18, 0x0C, 0x06, + 0x00, 0x0F, 0xC1, 0xFF, 0x30, 0x76, 0x03, 0x60, 0x07, 0x80, 0x3F, 0x80, + 0x7E, 0x00, 0x6C, 0x06, 0xE0, 0xCF, 0xF8, 0x3E, 0x00, 0x18, 0x30, 0x67, + 0xEF, 0xC6, 0x0C, 0x30, 0x60, 0xC1, 0x83, 0x0C, 0x18, 0x3C, 0x38, 0x30, + 0x33, 0x03, 0x30, 0x37, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0xC0, + 0xEC, 0x0C, 0xC3, 0xCF, 0xFC, 0x7C, 0xC0, 0xC0, 0x78, 0x1B, 0x03, 0x60, + 0xC6, 0x18, 0xC6, 0x19, 0xC3, 0x30, 0x6C, 0x0D, 0x81, 0xE0, 0x3C, 0x03, + 0x00, 0xC1, 0xC3, 0xE1, 0xE1, 0xB0, 0xF0, 0xD8, 0x78, 0xCC, 0x6C, 0x66, + 0x36, 0x63, 0x33, 0x30, 0x99, 0xB0, 0x58, 0xD8, 0x2C, 0x78, 0x1C, 0x3C, + 0x0E, 0x1C, 0x06, 0x0E, 0x00, 0x0C, 0x1C, 0x30, 0xE0, 0xE3, 0x01, 0x98, + 0x07, 0xC0, 0x0E, 0x00, 0x30, 0x01, 0xE0, 0x0F, 0x80, 0x73, 0x01, 0x8C, + 0x0C, 0x38, 0x60, 0x60, 0x18, 0x0C, 0x60, 0x61, 0x83, 0x86, 0x0C, 0x1C, + 0x60, 0x31, 0x80, 0xCC, 0x03, 0x30, 0x0D, 0x80, 0x36, 0x00, 0xF0, 0x03, + 0x80, 0x06, 0x00, 0x30, 0x00, 0xC0, 0x06, 0x00, 0xF0, 0x03, 0x80, 0x00, + 0x1F, 0xF1, 0xFF, 0x00, 0x70, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, + 0x18, 0x03, 0x00, 0x60, 0x0F, 0xFC, 0xFF, 0xC0, 0x07, 0x0E, 0x18, 0x18, + 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x60, 0xE0, 0xE0, 0x60, 0x60, 0x60, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xF0, 0x60, 0x0C, 0x30, 0x82, 0x08, 0x61, + 0x84, 0x10, 0x43, 0x0C, 0x20, 0x86, 0x18, 0x41, 0x04, 0x30, 0xC2, 0x00, + 0x00, 0x06, 0x07, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, + 0x01, 0xC0, 0xE0, 0x60, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, 0x01, + 0x83, 0x83, 0x80, 0x38, 0x0F, 0x82, 0x38, 0x83, 0xE0, 0x38 }; + +const GFXglyph FreeSansOblique12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' + { 0, 6, 18, 7, 3, -17 }, // 0x21 '!' + { 14, 6, 6, 9, 4, -16 }, // 0x22 '"' + { 19, 15, 18, 13, 1, -17 }, // 0x23 '#' + { 53, 13, 21, 13, 2, -17 }, // 0x24 '$' + { 88, 19, 17, 21, 3, -16 }, // 0x25 '%' + { 129, 13, 17, 16, 2, -16 }, // 0x26 '&' + { 157, 2, 6, 5, 4, -16 }, // 0x27 ''' + { 159, 8, 23, 8, 3, -17 }, // 0x28 '(' + { 182, 8, 23, 8, 0, -16 }, // 0x29 ')' + { 205, 8, 8, 9, 4, -17 }, // 0x2A '*' + { 213, 12, 11, 14, 2, -10 }, // 0x2B '+' + { 230, 4, 6, 7, 1, -1 }, // 0x2C ',' + { 233, 6, 2, 8, 2, -7 }, // 0x2D '-' + { 235, 3, 2, 7, 2, -1 }, // 0x2E '.' + { 236, 10, 18, 7, 0, -17 }, // 0x2F '/' + { 259, 12, 17, 13, 2, -16 }, // 0x30 '0' + { 285, 7, 17, 13, 5, -16 }, // 0x31 '1' + { 300, 14, 17, 13, 1, -16 }, // 0x32 '2' + { 330, 12, 17, 13, 2, -16 }, // 0x33 '3' + { 356, 12, 17, 13, 2, -16 }, // 0x34 '4' + { 382, 13, 17, 13, 2, -16 }, // 0x35 '5' + { 410, 12, 17, 13, 2, -16 }, // 0x36 '6' + { 436, 13, 17, 13, 3, -16 }, // 0x37 '7' + { 464, 12, 17, 13, 2, -16 }, // 0x38 '8' + { 490, 12, 17, 13, 2, -16 }, // 0x39 '9' + { 516, 5, 12, 7, 3, -11 }, // 0x3A ':' + { 524, 6, 16, 7, 2, -11 }, // 0x3B ';' + { 536, 13, 12, 14, 2, -11 }, // 0x3C '<' + { 556, 13, 6, 14, 2, -8 }, // 0x3D '=' + { 566, 13, 12, 14, 1, -10 }, // 0x3E '>' + { 586, 11, 18, 13, 4, -17 }, // 0x3F '?' + { 611, 23, 21, 24, 2, -17 }, // 0x40 '@' + { 672, 16, 18, 16, 0, -17 }, // 0x41 'A' + { 708, 15, 18, 16, 2, -17 }, // 0x42 'B' + { 742, 16, 18, 17, 2, -17 }, // 0x43 'C' + { 778, 16, 18, 17, 2, -17 }, // 0x44 'D' + { 814, 16, 18, 16, 2, -17 }, // 0x45 'E' + { 850, 15, 18, 14, 2, -17 }, // 0x46 'F' + { 884, 16, 18, 19, 3, -17 }, // 0x47 'G' + { 920, 17, 18, 17, 2, -17 }, // 0x48 'H' + { 959, 6, 18, 7, 2, -17 }, // 0x49 'I' + { 973, 13, 18, 12, 1, -17 }, // 0x4A 'J' + { 1003, 18, 18, 16, 2, -17 }, // 0x4B 'K' + { 1044, 11, 18, 13, 2, -17 }, // 0x4C 'L' + { 1069, 20, 18, 20, 2, -17 }, // 0x4D 'M' + { 1114, 17, 18, 18, 2, -17 }, // 0x4E 'N' + { 1153, 17, 18, 18, 2, -17 }, // 0x4F 'O' + { 1192, 15, 18, 15, 2, -17 }, // 0x50 'P' + { 1226, 18, 19, 19, 2, -17 }, // 0x51 'Q' + { 1269, 16, 18, 17, 2, -17 }, // 0x52 'R' + { 1305, 15, 18, 16, 2, -17 }, // 0x53 'S' + { 1339, 14, 18, 15, 4, -17 }, // 0x54 'T' + { 1371, 16, 18, 17, 3, -17 }, // 0x55 'U' + { 1407, 15, 18, 15, 4, -17 }, // 0x56 'V' + { 1441, 22, 18, 22, 4, -17 }, // 0x57 'W' + { 1491, 19, 18, 16, 0, -17 }, // 0x58 'X' + { 1534, 16, 18, 16, 4, -17 }, // 0x59 'Y' + { 1570, 17, 18, 15, 1, -17 }, // 0x5A 'Z' + { 1609, 10, 23, 7, 0, -17 }, // 0x5B '[' + { 1638, 3, 18, 7, 4, -17 }, // 0x5C '\' + { 1645, 10, 23, 7, -1, -16 }, // 0x5D ']' + { 1674, 10, 9, 11, 2, -16 }, // 0x5E '^' + { 1686, 14, 1, 13, -1, 4 }, // 0x5F '_' + { 1688, 4, 4, 8, 4, -17 }, // 0x60 '`' + { 1690, 11, 13, 13, 2, -12 }, // 0x61 'a' + { 1708, 13, 18, 13, 1, -17 }, // 0x62 'b' + { 1738, 11, 13, 12, 2, -12 }, // 0x63 'c' + { 1756, 14, 18, 13, 2, -17 }, // 0x64 'd' + { 1788, 12, 13, 13, 2, -12 }, // 0x65 'e' + { 1808, 8, 18, 6, 2, -17 }, // 0x66 'f' + { 1826, 14, 18, 13, 1, -12 }, // 0x67 'g' + { 1858, 12, 18, 13, 1, -17 }, // 0x68 'h' + { 1885, 5, 18, 5, 2, -17 }, // 0x69 'i' + { 1897, 9, 23, 6, -1, -17 }, // 0x6A 'j' + { 1923, 13, 18, 12, 1, -17 }, // 0x6B 'k' + { 1953, 5, 18, 5, 2, -17 }, // 0x6C 'l' + { 1965, 19, 13, 20, 1, -12 }, // 0x6D 'm' + { 1996, 12, 13, 13, 1, -12 }, // 0x6E 'n' + { 2016, 12, 13, 13, 2, -12 }, // 0x6F 'o' + { 2036, 14, 18, 14, 0, -12 }, // 0x70 'p' + { 2068, 13, 18, 13, 2, -12 }, // 0x71 'q' + { 2098, 9, 13, 8, 1, -12 }, // 0x72 'r' + { 2113, 12, 13, 12, 1, -12 }, // 0x73 's' + { 2133, 7, 16, 6, 2, -15 }, // 0x74 't' + { 2147, 12, 13, 13, 2, -12 }, // 0x75 'u' + { 2167, 11, 13, 12, 3, -12 }, // 0x76 'v' + { 2185, 17, 13, 17, 3, -12 }, // 0x77 'w' + { 2213, 14, 13, 12, 0, -12 }, // 0x78 'x' + { 2236, 14, 18, 11, 0, -12 }, // 0x79 'y' + { 2268, 12, 13, 12, 1, -12 }, // 0x7A 'z' + { 2288, 8, 23, 8, 3, -17 }, // 0x7B '{' + { 2311, 6, 23, 6, 1, -17 }, // 0x7C '|' + { 2329, 9, 23, 8, -1, -16 }, // 0x7D '}' + { 2355, 11, 5, 14, 3, -10 } }; // 0x7E '~' + +const GFXfont FreeSansOblique12pt7b PROGMEM = { + (uint8_t *)FreeSansOblique12pt7bBitmaps, + (GFXglyph *)FreeSansOblique12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 3034 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h new file mode 100644 index 0000000..2a18a3f --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h @@ -0,0 +1,518 @@ +const uint8_t FreeSansOblique18pt7bBitmaps[] PROGMEM = { + 0x03, 0x83, 0x81, 0xC0, 0xE0, 0x70, 0x78, 0x38, 0x1C, 0x0E, 0x07, 0x07, + 0x83, 0x81, 0xC0, 0xE0, 0x60, 0x30, 0x30, 0x18, 0x0C, 0x04, 0x00, 0x00, + 0x01, 0xC0, 0xE0, 0x70, 0x78, 0x00, 0x71, 0xDC, 0x7F, 0x3F, 0x8E, 0xE3, + 0xB8, 0xEC, 0x33, 0x0C, 0xC3, 0x00, 0x00, 0x38, 0x70, 0x01, 0xC3, 0x80, + 0x0C, 0x18, 0x00, 0xE1, 0xC0, 0x06, 0x0C, 0x00, 0x70, 0xE0, 0x03, 0x87, + 0x03, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0x60, 0xC0, 0x07, + 0x0E, 0x00, 0x30, 0x60, 0x03, 0x87, 0x00, 0x18, 0x30, 0x1F, 0xFF, 0xF8, + 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x07, 0x0E, 0x00, 0x30, 0x70, 0x03, 0x87, + 0x00, 0x1C, 0x38, 0x00, 0xC1, 0x80, 0x0E, 0x1C, 0x00, 0x60, 0xC0, 0x00, + 0x00, 0x0C, 0x00, 0x07, 0xF8, 0x01, 0xFF, 0xC0, 0x3F, 0xFE, 0x07, 0x99, + 0xF0, 0xF1, 0x87, 0x0E, 0x18, 0x71, 0xC1, 0x87, 0x1C, 0x38, 0x01, 0xC3, + 0x00, 0x1C, 0x30, 0x01, 0xE3, 0x00, 0x0F, 0xB0, 0x00, 0xFF, 0x80, 0x03, + 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x6F, 0xC0, 0x06, 0x3C, 0x00, 0xC1, 0xCE, + 0x0C, 0x1C, 0xE0, 0xC1, 0xCE, 0x0C, 0x38, 0xF1, 0xC3, 0x8F, 0x98, 0xF0, + 0x7F, 0xFE, 0x03, 0xFF, 0xC0, 0x0F, 0xF0, 0x00, 0x30, 0x00, 0x03, 0x00, + 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0xE0, 0x03, + 0x81, 0xFC, 0x00, 0xC0, 0xFF, 0x00, 0x60, 0x70, 0xE0, 0x38, 0x38, 0x18, + 0x1C, 0x0C, 0x06, 0x0E, 0x03, 0x01, 0x83, 0x00, 0xC0, 0xE1, 0x80, 0x38, + 0x70, 0xE0, 0x0F, 0xF8, 0x70, 0x01, 0xFC, 0x18, 0x00, 0x3E, 0x0C, 0x00, + 0x00, 0x06, 0x07, 0x80, 0x03, 0x87, 0xF8, 0x00, 0xC3, 0xFE, 0x00, 0x61, + 0xE1, 0xC0, 0x30, 0x60, 0x30, 0x1C, 0x30, 0x0C, 0x0E, 0x0C, 0x03, 0x03, + 0x03, 0x01, 0x81, 0x80, 0xE1, 0xE0, 0xC0, 0x1F, 0xF0, 0x70, 0x07, 0xF8, + 0x18, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, + 0x1E, 0x3C, 0x03, 0xC1, 0xC0, 0x38, 0x1C, 0x03, 0x81, 0xC0, 0x38, 0x38, + 0x03, 0xC7, 0x00, 0x1D, 0xE0, 0x01, 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xF0, + 0x01, 0xF7, 0x87, 0x3C, 0x3C, 0xE7, 0x81, 0xCE, 0x70, 0x1F, 0xCE, 0x00, + 0xFC, 0xE0, 0x07, 0x8E, 0x00, 0x78, 0xF0, 0x1F, 0x8F, 0x87, 0xFC, 0x7F, + 0xF9, 0xC3, 0xFE, 0x1E, 0x1F, 0x80, 0xE0, 0x77, 0xFE, 0xEE, 0xCC, 0xC0, + 0x00, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x80, 0x30, 0x06, 0x00, 0xE0, + 0x0C, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x38, 0x07, 0x00, 0x70, 0x07, 0x00, + 0x70, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, + 0xE0, 0x0E, 0x00, 0xE0, 0x06, 0x00, 0x70, 0x07, 0x00, 0x30, 0x03, 0x00, + 0x18, 0x00, 0x01, 0x80, 0x0C, 0x00, 0xC0, 0x0E, 0x00, 0xE0, 0x06, 0x00, + 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, + 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x03, + 0x80, 0x38, 0x03, 0x00, 0x70, 0x06, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x30, + 0x06, 0x00, 0xC0, 0x00, 0x06, 0x01, 0x84, 0x47, 0xF7, 0xFF, 0xCF, 0xC1, + 0xE0, 0xD8, 0x67, 0x18, 0xC0, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0F, 0x00, + 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xC0, 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xE0, + 0x00, 0x38, 0x00, 0x0E, 0x00, 0x3B, 0xDC, 0x21, 0x18, 0x98, 0xFF, 0xFF, + 0xFF, 0xE0, 0x7F, 0xFE, 0x00, 0x06, 0x00, 0x18, 0x00, 0x30, 0x00, 0xC0, + 0x01, 0x80, 0x06, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0x03, + 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x06, 0x00, + 0x18, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x00, 0x06, 0x00, 0x18, 0x00, 0x30, + 0x00, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x7F, 0xC0, 0x7F, 0xF8, + 0x3E, 0x1E, 0x0F, 0x03, 0xC7, 0x80, 0x71, 0xC0, 0x1C, 0xE0, 0x07, 0x38, + 0x01, 0xDE, 0x00, 0x77, 0x00, 0x1D, 0xC0, 0x0F, 0x70, 0x03, 0xFC, 0x00, + 0xEE, 0x00, 0x3B, 0x80, 0x0E, 0xE0, 0x07, 0xB8, 0x01, 0xCE, 0x00, 0xF3, + 0x80, 0x38, 0xF0, 0x1E, 0x1E, 0x1F, 0x07, 0xFF, 0x80, 0xFF, 0xC0, 0x0F, + 0x80, 0x00, 0x00, 0xC0, 0x70, 0x3C, 0x3E, 0xFF, 0xBF, 0xEF, 0xF8, 0x1E, + 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x07, + 0x81, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0xE0, 0x38, 0x00, 0x00, 0x3F, + 0x00, 0x0F, 0xFC, 0x03, 0xFF, 0xE0, 0x7C, 0x1E, 0x07, 0x80, 0xF0, 0xF0, + 0x07, 0x0E, 0x00, 0x70, 0xE0, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, + 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x03, 0xF0, 0x00, 0xFC, 0x00, + 0x1F, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0x80, 0x00, + 0x70, 0x00, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0xFF, 0xFF, + 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, 0xC1, 0xF0, 0x70, + 0x0E, 0x1C, 0x01, 0xC3, 0x80, 0x38, 0xE0, 0x07, 0x00, 0x01, 0xC0, 0x00, + 0xF0, 0x03, 0xFC, 0x00, 0x7F, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0x00, 0x00, + 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x1E, 0x70, 0x03, + 0x8F, 0x00, 0xF1, 0xF0, 0x7C, 0x1F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xC0, + 0x00, 0x00, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x1F, + 0x80, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xDC, 0x01, 0xE7, 0x00, 0x71, 0xC0, + 0x38, 0xF0, 0x1C, 0x38, 0x0E, 0x0E, 0x07, 0x03, 0x83, 0x80, 0xE1, 0xC0, + 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x70, 0x00, 0x38, + 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x01, 0xFF, + 0xF0, 0x3F, 0xFF, 0x03, 0xFF, 0xE0, 0x78, 0x00, 0x07, 0x00, 0x00, 0x70, + 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0xFC, 0x01, 0xFF, 0xF0, 0x1F, + 0xFF, 0x83, 0xE0, 0x78, 0x3C, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, + 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x8E, 0x00, 0x78, + 0xE0, 0x0F, 0x0F, 0x81, 0xE0, 0x7F, 0xFC, 0x03, 0xFF, 0x80, 0x0F, 0xE0, + 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, 0xE1, 0xF0, 0xF0, + 0x0E, 0x1C, 0x01, 0xC7, 0x00, 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x1F, + 0x01, 0xCF, 0xF8, 0x3B, 0xFF, 0x87, 0xE0, 0xF8, 0xF0, 0x0F, 0x3C, 0x00, + 0xE7, 0x80, 0x1C, 0xE0, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x1C, 0x70, 0x03, + 0x8F, 0x00, 0xE0, 0xF0, 0x78, 0x1F, 0xFF, 0x01, 0xFF, 0x80, 0x0F, 0xC0, + 0x00, 0x3F, 0xFF, 0xCF, 0xFF, 0xF7, 0xFF, 0xFC, 0x00, 0x0E, 0x00, 0x07, + 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, + 0x0E, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, + 0x00, 0x0E, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x38, 0x00, + 0x1E, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x7E, + 0x00, 0x3F, 0xF0, 0x1F, 0xFF, 0x07, 0xC1, 0xF0, 0xE0, 0x0E, 0x38, 0x01, + 0xC7, 0x00, 0x38, 0xE0, 0x0E, 0x1C, 0x01, 0xC3, 0xC0, 0xF0, 0x3F, 0xFC, + 0x03, 0xFE, 0x01, 0xFF, 0xF0, 0x7C, 0x1E, 0x1E, 0x01, 0xE3, 0x80, 0x1C, + 0xE0, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x0E, 0x70, 0x03, 0x8F, 0x00, 0xF1, + 0xF0, 0x7C, 0x1F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xC0, 0x00, 0x00, 0x7E, + 0x00, 0x3F, 0xF0, 0x1F, 0xFF, 0x07, 0xC1, 0xE0, 0xE0, 0x1E, 0x38, 0x01, + 0xC7, 0x00, 0x39, 0xC0, 0x07, 0x38, 0x00, 0xE7, 0x00, 0x3C, 0xE0, 0x07, + 0x9E, 0x01, 0xE3, 0xE0, 0xFC, 0x3F, 0xFB, 0x83, 0xFE, 0xF0, 0x3F, 0x1C, + 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1C, 0x70, 0x07, 0x8E, 0x01, 0xE1, + 0xE0, 0xF8, 0x1F, 0xFE, 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x0E, 0x3C, + 0x78, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, + 0xF1, 0xE3, 0x80, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x10, 0x10, + 0x30, 0x20, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x1C, 0x00, 0x1F, 0x80, 0x1F, + 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x07, 0xE0, 0x03, 0xF0, 0x00, 0xF0, 0x00, + 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, + 0x00, 0x0F, 0xC0, 0x00, 0x78, 0x00, 0x01, 0x00, 0x7F, 0xFF, 0xDF, 0xFF, + 0xF7, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFB, + 0xFF, 0xFE, 0xFF, 0xFF, 0x80, 0x10, 0x00, 0x03, 0xC0, 0x00, 0x7E, 0x00, + 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, + 0x00, 0x01, 0xE0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0x7E, 0x00, + 0x7F, 0x00, 0x3F, 0x00, 0x07, 0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0xF8, + 0x0F, 0xFC, 0x1F, 0xFE, 0x3C, 0x1F, 0x78, 0x07, 0x70, 0x07, 0xE0, 0x07, + 0xE0, 0x07, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, + 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, + 0xFF, 0xFE, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x0F, 0x80, 0x03, 0xE0, 0x0F, + 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x01, 0xF0, 0x0F, 0x0F, + 0x03, 0xFD, 0xC7, 0x8F, 0x03, 0xFE, 0xE1, 0xC7, 0x03, 0xC3, 0x60, 0xE7, + 0x03, 0xC0, 0xF0, 0x77, 0x83, 0xC0, 0x70, 0x3B, 0x83, 0xC0, 0x78, 0x1D, + 0xC1, 0xC0, 0x38, 0x1F, 0xC1, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x1C, 0x0F, + 0x70, 0x70, 0x0E, 0x07, 0x38, 0x38, 0x0E, 0x07, 0x9C, 0x1C, 0x0F, 0x07, + 0x8E, 0x0F, 0x0F, 0x8F, 0x87, 0x03, 0xFD, 0xFF, 0x83, 0xC1, 0xFC, 0xFF, + 0x80, 0xE0, 0x7C, 0x3F, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x00, 0x07, 0x80, 0x00, 0x00, 0x01, 0xF8, 0x07, 0x00, 0x00, 0x7F, 0xFF, + 0x80, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x01, + 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0xFF, + 0x00, 0x01, 0xDE, 0x00, 0x07, 0x9C, 0x00, 0x0E, 0x38, 0x00, 0x3C, 0x70, + 0x00, 0x70, 0xF0, 0x01, 0xC1, 0xE0, 0x07, 0x83, 0xC0, 0x0E, 0x07, 0x80, + 0x38, 0x07, 0x00, 0x70, 0x0E, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x0F, + 0xFF, 0xF8, 0x1C, 0x00, 0xF0, 0x70, 0x01, 0xE1, 0xE0, 0x01, 0xC3, 0x80, + 0x03, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0E, 0x78, 0x00, 0x1E, 0xE0, 0x00, + 0x3C, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0E, 0x00, 0xF0, + 0xF0, 0x03, 0x87, 0x00, 0x1C, 0x38, 0x00, 0xE1, 0xC0, 0x07, 0x0E, 0x00, + 0x70, 0xF0, 0x03, 0x87, 0x00, 0x78, 0x3F, 0xFF, 0x81, 0xFF, 0xF8, 0x0F, + 0xFF, 0xF0, 0xE0, 0x03, 0xC7, 0x00, 0x0E, 0x38, 0x00, 0x71, 0xC0, 0x03, + 0x9E, 0x00, 0x1C, 0xE0, 0x00, 0xE7, 0x00, 0x0E, 0x38, 0x00, 0xF1, 0xC0, + 0x0F, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x1F, + 0x80, 0x03, 0xFF, 0x80, 0x1F, 0xFF, 0x01, 0xF8, 0x3E, 0x07, 0x80, 0x38, + 0x38, 0x00, 0xF1, 0xC0, 0x01, 0xCF, 0x00, 0x07, 0x38, 0x00, 0x01, 0xE0, + 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, + 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x7B, 0x80, 0x01, 0xCE, + 0x00, 0x0F, 0x3C, 0x00, 0x38, 0x70, 0x01, 0xE1, 0xE0, 0x0F, 0x07, 0xC0, + 0xF8, 0x0F, 0xFF, 0xC0, 0x1F, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xFF, + 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0, 0x38, 0x03, 0xE0, 0xF0, 0x03, + 0xC1, 0xC0, 0x03, 0x83, 0x80, 0x03, 0x87, 0x00, 0x07, 0x1E, 0x00, 0x0E, + 0x3C, 0x00, 0x1C, 0x70, 0x00, 0x38, 0xE0, 0x00, 0x71, 0xC0, 0x00, 0xE7, + 0x80, 0x03, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0E, 0x38, 0x00, 0x3C, 0x70, + 0x00, 0x71, 0xE0, 0x01, 0xE3, 0x80, 0x03, 0x87, 0x00, 0x0E, 0x0E, 0x00, + 0x3C, 0x1C, 0x01, 0xF0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFE, 0x01, 0xFF, 0xF0, + 0x00, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x38, 0x00, + 0x00, 0xF0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x70, 0x00, 0x01, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, + 0xC1, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x7F, 0xFF, + 0xC1, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, + 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xC0, 0x00, 0x07, 0xFF, + 0xF0, 0x1F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, + 0x38, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, + 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, 0x00, + 0x03, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xFF, + 0xFC, 0x03, 0xE0, 0x3E, 0x07, 0x80, 0x0E, 0x0F, 0x00, 0x0F, 0x1E, 0x00, + 0x07, 0x1C, 0x00, 0x07, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x70, 0x00, 0x00, 0xF0, 0x07, 0xFE, 0xE0, 0x07, 0xFE, 0xE0, 0x07, + 0xFE, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, + 0x1C, 0xF0, 0x00, 0x3C, 0x70, 0x00, 0x7C, 0x78, 0x00, 0xFC, 0x3E, 0x03, + 0xDC, 0x1F, 0xFF, 0x98, 0x0F, 0xFE, 0x18, 0x03, 0xF8, 0x18, 0x07, 0x00, + 0x07, 0x83, 0x80, 0x03, 0xC1, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0xE0, 0xF0, + 0x00, 0x70, 0x70, 0x00, 0x78, 0x38, 0x00, 0x3C, 0x1C, 0x00, 0x1C, 0x1E, + 0x00, 0x0E, 0x0F, 0x00, 0x07, 0x07, 0x00, 0x07, 0x83, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xE0, 0x00, 0x70, 0x70, 0x00, 0x78, + 0x38, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1E, 0x00, 0x0E, 0x0E, 0x00, 0x0F, + 0x07, 0x00, 0x07, 0x83, 0x80, 0x03, 0x81, 0xC0, 0x01, 0xC1, 0xE0, 0x00, + 0xE0, 0xE0, 0x00, 0xF0, 0x70, 0x00, 0x78, 0x00, 0x07, 0x0F, 0x0F, 0x0E, + 0x0E, 0x0E, 0x0E, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x3C, 0x3C, 0x38, 0x38, + 0x38, 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0x01, + 0xC0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, + 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x00, + 0x1C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x1E, + 0x1C, 0x07, 0x0E, 0x01, 0xC3, 0x80, 0x70, 0xE0, 0x3C, 0x38, 0x0E, 0x0F, + 0x0F, 0x81, 0xFF, 0xC0, 0x7F, 0xE0, 0x07, 0xE0, 0x00, 0x07, 0x00, 0x07, + 0x83, 0x80, 0x07, 0x81, 0xC0, 0x0F, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0x70, 0x0F, 0x00, 0x38, 0x0F, 0x00, 0x1C, 0x1F, 0x00, 0x1E, 0x1E, + 0x00, 0x0F, 0x1E, 0x00, 0x07, 0x1E, 0x00, 0x03, 0x9F, 0x00, 0x01, 0xDF, + 0xC0, 0x01, 0xFC, 0xE0, 0x00, 0xFC, 0x78, 0x00, 0x7C, 0x1C, 0x00, 0x3C, + 0x0F, 0x00, 0x1C, 0x07, 0x80, 0x1E, 0x01, 0xE0, 0x0E, 0x00, 0xF0, 0x07, + 0x00, 0x38, 0x03, 0x80, 0x1E, 0x01, 0xC0, 0x07, 0x01, 0xE0, 0x03, 0xC0, + 0xE0, 0x00, 0xE0, 0x70, 0x00, 0x78, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, + 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x1E, + 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x38, + 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, + 0x00, 0x70, 0x00, 0x70, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, + 0xC0, 0x00, 0xF8, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x7E, 0x0F, 0x80, + 0x03, 0xF0, 0xFC, 0x00, 0x3F, 0x07, 0x70, 0x01, 0xF8, 0x3B, 0x80, 0x1D, + 0xC1, 0xDC, 0x00, 0xEE, 0x0E, 0xE0, 0x0E, 0xE0, 0xE7, 0x00, 0x77, 0x07, + 0x38, 0x07, 0x38, 0x39, 0xC0, 0x31, 0xC1, 0xCE, 0x03, 0x9E, 0x1E, 0x38, + 0x38, 0xE0, 0xE1, 0xC1, 0xC7, 0x07, 0x0E, 0x1C, 0x38, 0x38, 0x70, 0xE1, + 0xC1, 0xC3, 0x8E, 0x1E, 0x1E, 0x1C, 0x70, 0xE0, 0xE0, 0xE7, 0x07, 0x07, + 0x07, 0x38, 0x38, 0x38, 0x1F, 0x81, 0xC1, 0xC0, 0xF8, 0x1E, 0x1C, 0x07, + 0xC0, 0xE0, 0xE0, 0x3C, 0x07, 0x07, 0x01, 0xE0, 0x38, 0x00, 0x07, 0x80, + 0x03, 0x83, 0xE0, 0x01, 0xC1, 0xF0, 0x00, 0xE0, 0xF8, 0x00, 0xE0, 0xFE, + 0x00, 0x70, 0x7F, 0x00, 0x38, 0x3B, 0xC0, 0x1C, 0x1D, 0xE0, 0x1E, 0x0E, + 0x70, 0x0E, 0x0E, 0x3C, 0x07, 0x07, 0x0E, 0x03, 0x83, 0x87, 0x81, 0xC1, + 0xC3, 0xC1, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0x78, 0x70, 0x70, 0x1C, 0x38, + 0x38, 0x0F, 0x1C, 0x1C, 0x07, 0x9E, 0x1E, 0x01, 0xCE, 0x0E, 0x00, 0xF7, + 0x07, 0x00, 0x3B, 0x83, 0x80, 0x1F, 0xC1, 0xC0, 0x07, 0xC1, 0xC0, 0x03, + 0xE0, 0xE0, 0x01, 0xF0, 0x70, 0x00, 0x78, 0x00, 0x00, 0x1F, 0xC0, 0x00, + 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x03, 0xE0, 0x7C, 0x07, 0x80, 0x1E, 0x0F, + 0x00, 0x0E, 0x1C, 0x00, 0x0F, 0x3C, 0x00, 0x07, 0x38, 0x00, 0x07, 0x70, + 0x00, 0x07, 0x70, 0x00, 0x07, 0x70, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xE0, + 0x00, 0x0F, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, + 0x00, 0x1C, 0xE0, 0x00, 0x1C, 0xF0, 0x00, 0x38, 0x70, 0x00, 0x78, 0x78, + 0x00, 0xF0, 0x3E, 0x07, 0xE0, 0x1F, 0xFF, 0xC0, 0x0F, 0xFF, 0x00, 0x03, + 0xF8, 0x00, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x81, 0xC0, + 0x1F, 0x0F, 0x00, 0x3C, 0x38, 0x00, 0x70, 0xE0, 0x01, 0xC3, 0x80, 0x07, + 0x1E, 0x00, 0x1C, 0x78, 0x00, 0xE1, 0xC0, 0x07, 0x87, 0x00, 0x3C, 0x1F, + 0xFF, 0xE0, 0xFF, 0xFF, 0x03, 0xFF, 0xF0, 0x0E, 0x00, 0x00, 0x38, 0x00, + 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x01, + 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, + 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, + 0x7C, 0x07, 0xC0, 0x78, 0x00, 0xF0, 0x78, 0x00, 0x38, 0x78, 0x00, 0x1E, + 0x78, 0x00, 0x07, 0x38, 0x00, 0x03, 0xBC, 0x00, 0x01, 0xDC, 0x00, 0x00, + 0xEE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, + 0x1D, 0xC0, 0x00, 0x0E, 0xE0, 0x00, 0x0F, 0x70, 0x00, 0x07, 0x38, 0x00, + 0x87, 0x9E, 0x00, 0xE7, 0x87, 0x00, 0x7F, 0x83, 0xC0, 0x1F, 0x80, 0xF8, + 0x1F, 0x80, 0x3F, 0xFF, 0xE0, 0x0F, 0xFF, 0x78, 0x01, 0xFE, 0x1E, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x02, 0x00, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xF8, + 0x1F, 0xFF, 0xF0, 0x38, 0x00, 0xF0, 0xF0, 0x00, 0xE1, 0xC0, 0x01, 0xC3, + 0x80, 0x03, 0x87, 0x00, 0x07, 0x1E, 0x00, 0x0E, 0x3C, 0x00, 0x38, 0x70, + 0x00, 0xF0, 0xE0, 0x03, 0xC1, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x0F, 0xFF, + 0xF8, 0x1C, 0x00, 0x78, 0x38, 0x00, 0x70, 0x70, 0x00, 0xE1, 0xE0, 0x01, + 0xC3, 0x80, 0x03, 0x87, 0x00, 0x06, 0x0E, 0x00, 0x1C, 0x1C, 0x00, 0x38, + 0x78, 0x00, 0x70, 0xE0, 0x00, 0xE1, 0xC0, 0x01, 0xE0, 0x00, 0x3F, 0xC0, + 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0x81, 0xF0, 0x1E, 0x0F, 0x00, 0x3C, 0x38, + 0x00, 0x71, 0xC0, 0x01, 0xC7, 0x00, 0x07, 0x1C, 0x00, 0x00, 0x78, 0x00, + 0x01, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x07, 0xFF, 0x00, + 0x03, 0xFE, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF3, 0x80, 0x01, 0xCE, 0x00, + 0x07, 0x38, 0x00, 0x18, 0xE0, 0x00, 0xE3, 0xC0, 0x07, 0x07, 0x80, 0x7C, + 0x1F, 0xFF, 0xE0, 0x3F, 0xFE, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, + 0x01, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0xC0, + 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x78, + 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0x0F, + 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, 0x01, + 0xE0, 0x00, 0x0E, 0x00, 0x0F, 0x0E, 0x00, 0x0F, 0x0E, 0x00, 0x0E, 0x0E, + 0x00, 0x0E, 0x1E, 0x00, 0x0E, 0x1C, 0x00, 0x1E, 0x1C, 0x00, 0x1C, 0x1C, + 0x00, 0x1C, 0x3C, 0x00, 0x1C, 0x3C, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x38, + 0x00, 0x38, 0x38, 0x00, 0x38, 0x78, 0x00, 0x38, 0x70, 0x00, 0x78, 0x70, + 0x00, 0x78, 0x70, 0x00, 0x70, 0xF0, 0x00, 0x70, 0xF0, 0x00, 0x70, 0xE0, + 0x00, 0xF0, 0xE0, 0x00, 0xE0, 0xF0, 0x03, 0xE0, 0x78, 0x0F, 0xC0, 0x7F, + 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0xE0, 0x00, 0x3F, 0x80, + 0x03, 0xFC, 0x00, 0x1D, 0xE0, 0x01, 0xE7, 0x00, 0x0E, 0x38, 0x00, 0xE1, + 0xC0, 0x07, 0x0E, 0x00, 0x70, 0x70, 0x07, 0x83, 0xC0, 0x38, 0x1E, 0x03, + 0xC0, 0xF0, 0x1C, 0x03, 0x81, 0xE0, 0x1C, 0x0E, 0x00, 0xE0, 0xF0, 0x07, + 0x07, 0x00, 0x3C, 0x70, 0x01, 0xE3, 0x80, 0x0F, 0x38, 0x00, 0x39, 0xC0, + 0x01, 0xDC, 0x00, 0x0E, 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0xE0, 0x07, 0x80, + 0x1E, 0xE0, 0x07, 0xC0, 0x1E, 0xE0, 0x0F, 0xC0, 0x1C, 0xE0, 0x0F, 0xC0, + 0x3C, 0xE0, 0x1F, 0xC0, 0x38, 0xE0, 0x1D, 0xC0, 0x78, 0xE0, 0x3D, 0xC0, + 0x70, 0xE0, 0x39, 0xC0, 0xF0, 0xE0, 0x79, 0xC0, 0xE0, 0xE0, 0x71, 0xC0, + 0xE0, 0xE0, 0xF1, 0xC1, 0xC0, 0xE0, 0xE1, 0xC1, 0xC0, 0xE1, 0xE1, 0xC3, + 0xC0, 0x61, 0xC1, 0xC3, 0x80, 0x63, 0xC1, 0xC7, 0x80, 0x63, 0x80, 0xE7, + 0x00, 0x67, 0x80, 0xEF, 0x00, 0x67, 0x00, 0xEE, 0x00, 0x7F, 0x00, 0xEE, + 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0xF8, + 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x78, 0x00, 0xF8, 0x00, 0x78, 0x00, 0xF0, + 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x78, 0x00, 0xF0, 0x07, 0x80, 0x1C, 0x00, + 0xF0, 0x07, 0x80, 0x0F, 0x01, 0xE0, 0x01, 0xE0, 0x78, 0x00, 0x1C, 0x1E, + 0x00, 0x03, 0xC7, 0x80, 0x00, 0x39, 0xE0, 0x00, 0x07, 0xB8, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xF3, 0x80, 0x00, 0x3C, + 0x78, 0x00, 0x0F, 0x0F, 0x00, 0x03, 0xC0, 0xF0, 0x00, 0x70, 0x1E, 0x00, + 0x1E, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x03, 0xC0, 0x78, 0x00, + 0x78, 0x1E, 0x00, 0x0F, 0x00, 0xF0, 0x00, 0x3C, 0xE0, 0x00, 0x71, 0xE0, + 0x01, 0xE3, 0xC0, 0x07, 0x83, 0xC0, 0x1E, 0x07, 0x80, 0x78, 0x07, 0x00, + 0xE0, 0x0F, 0x03, 0xC0, 0x1E, 0x0F, 0x00, 0x1C, 0x3C, 0x00, 0x3C, 0xF0, + 0x00, 0x39, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x00, + 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xC0, 0x00, 0x03, + 0x80, 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x00, 0x01, 0xF8, 0x1F, 0xC0, 0xFE, 0x07, + 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x03, 0xC0, + 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, + 0x00, 0x38, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x78, 0x03, 0x80, + 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x70, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, + 0xCC, 0xCC, 0xCC, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x62, 0x33, 0x33, + 0x33, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, 0x70, 0x07, 0x00, 0x38, 0x01, + 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xE0, + 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, + 0xC0, 0x1E, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x1E, 0x00, 0xE0, + 0x07, 0x03, 0xF8, 0x1F, 0xC0, 0xFC, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0x1F, + 0x00, 0x7C, 0x03, 0xB8, 0x1C, 0xE0, 0x63, 0x83, 0x8E, 0x1C, 0x38, 0x60, + 0x73, 0x81, 0xCC, 0x07, 0x70, 0x1F, 0x80, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xC0, 0xF1, 0xC3, 0x86, 0x0C, 0x00, 0xFE, 0x01, 0xFF, 0xE0, 0xFF, + 0xFC, 0x3C, 0x0F, 0x1C, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0E, + 0x00, 0x1F, 0x83, 0xFF, 0xE3, 0xFE, 0x39, 0xF0, 0x1E, 0xF0, 0x07, 0x38, + 0x01, 0xCE, 0x00, 0xF3, 0xC0, 0xFC, 0xFF, 0xF7, 0x9F, 0xF1, 0xE1, 0xF0, + 0x38, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, + 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x71, 0xF0, 0x0E, 0xFF, 0x83, 0xFF, + 0xF8, 0x7F, 0x0F, 0x0F, 0x80, 0xF1, 0xE0, 0x0E, 0x38, 0x01, 0xCF, 0x00, + 0x39, 0xE0, 0x07, 0x38, 0x00, 0xE7, 0x00, 0x38, 0xE0, 0x07, 0x3C, 0x00, + 0xE7, 0x80, 0x38, 0xF8, 0x0F, 0x1F, 0x87, 0xC3, 0xFF, 0xF0, 0xE7, 0xFC, + 0x1C, 0x7E, 0x00, 0x01, 0xF8, 0x07, 0xFC, 0x0F, 0xFE, 0x1E, 0x0F, 0x3C, + 0x07, 0x78, 0x07, 0x70, 0x07, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xE0, + 0x00, 0xE0, 0x00, 0xE0, 0x0E, 0xE0, 0x1C, 0xF0, 0x3C, 0x78, 0x78, 0x7F, + 0xF0, 0x3F, 0xE0, 0x0F, 0x80, 0x00, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x00, + 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x01, 0xE0, 0x1F, + 0x1C, 0x07, 0xFD, 0xC0, 0xFF, 0xDC, 0x1E, 0x0F, 0xC3, 0xC0, 0x7C, 0x38, + 0x07, 0x87, 0x00, 0x38, 0x70, 0x03, 0x8F, 0x00, 0x38, 0xE0, 0x07, 0x8E, + 0x00, 0x70, 0xE0, 0x07, 0x0E, 0x00, 0xF0, 0xE0, 0x0F, 0x0F, 0x01, 0xF0, + 0x78, 0x7E, 0x07, 0xFF, 0xE0, 0x3F, 0xEE, 0x01, 0xF8, 0xE0, 0x01, 0xF8, + 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xC1, 0xF3, 0xC0, 0x79, 0xC0, 0x1D, 0xC0, + 0x0E, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x1C, 0x00, 0x0E, + 0x00, 0x07, 0x00, 0x73, 0xC0, 0x78, 0xF0, 0x78, 0x7F, 0xF8, 0x1F, 0xF8, + 0x03, 0xF0, 0x00, 0x01, 0xE0, 0x7C, 0x1F, 0x83, 0x80, 0x70, 0x1C, 0x03, + 0x83, 0xFC, 0x7F, 0x8F, 0xF0, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x0F, 0x01, + 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, + 0xE0, 0x1C, 0x00, 0x00, 0xFC, 0x60, 0x7F, 0xCC, 0x1F, 0xFF, 0x87, 0xC3, + 0xF1, 0xE0, 0x3E, 0x38, 0x03, 0x8E, 0x00, 0x71, 0xC0, 0x0E, 0x38, 0x01, + 0xCE, 0x00, 0x79, 0xC0, 0x0E, 0x38, 0x01, 0xC7, 0x00, 0x78, 0xE0, 0x0F, + 0x1E, 0x03, 0xC1, 0xE1, 0xF8, 0x3F, 0xFF, 0x03, 0xFE, 0xE0, 0x1F, 0x1C, + 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x18, 0x38, 0x07, 0x07, 0x83, 0xC0, + 0x7F, 0xF8, 0x0F, 0xFC, 0x00, 0x7E, 0x00, 0x00, 0x07, 0x00, 0x01, 0xC0, + 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0F, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, + 0x38, 0xFC, 0x0E, 0xFF, 0x87, 0xFF, 0xF1, 0xF8, 0x3C, 0x7C, 0x07, 0x1E, + 0x01, 0xC7, 0x00, 0x73, 0xC0, 0x1C, 0xE0, 0x0F, 0x38, 0x03, 0x8E, 0x00, + 0xE3, 0x80, 0x39, 0xE0, 0x0E, 0x70, 0x07, 0x9C, 0x01, 0xC7, 0x00, 0x71, + 0xC0, 0x1C, 0xE0, 0x07, 0x38, 0x03, 0x80, 0x07, 0x07, 0x0F, 0x0E, 0x00, + 0x00, 0x00, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, 0xE0, 0x00, 0x3C, 0x00, + 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, + 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, + 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, + 0x38, 0x00, 0xE0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x0F, 0x00, + 0x38, 0x00, 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x00, 0x07, 0x00, 0x00, + 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1C, 0x00, 0x03, + 0x80, 0x00, 0x70, 0x1E, 0x0E, 0x07, 0x83, 0xC1, 0xE0, 0x70, 0x70, 0x0E, + 0x1C, 0x01, 0xCF, 0x00, 0x3B, 0xC0, 0x0F, 0xF8, 0x01, 0xFF, 0x80, 0x3E, + 0x70, 0x07, 0x8E, 0x00, 0xE0, 0xE0, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, + 0x38, 0x1C, 0x07, 0x03, 0x80, 0xF0, 0xE0, 0x0E, 0x1C, 0x01, 0xE0, 0x07, + 0x07, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, + 0xE0, 0x1E, 0x7C, 0x0F, 0x83, 0xBF, 0xE7, 0xF8, 0x7F, 0xFD, 0xFF, 0x8F, + 0xC3, 0xF0, 0xF1, 0xE0, 0x3C, 0x0E, 0x38, 0x07, 0x01, 0xCF, 0x01, 0xE0, + 0x39, 0xC0, 0x38, 0x07, 0x38, 0x07, 0x00, 0xE7, 0x00, 0xE0, 0x1C, 0xE0, + 0x1C, 0x07, 0x3C, 0x07, 0x00, 0xE7, 0x00, 0xE0, 0x1C, 0xE0, 0x1C, 0x03, + 0x9C, 0x03, 0x80, 0xF3, 0x80, 0x70, 0x1C, 0x70, 0x1C, 0x03, 0x9C, 0x03, + 0x80, 0x73, 0x80, 0x70, 0x0E, 0x00, 0x1E, 0x3E, 0x07, 0x7F, 0xE1, 0xFF, + 0xF8, 0x7E, 0x0F, 0x1F, 0x01, 0xC7, 0x80, 0x73, 0xC0, 0x1C, 0xE0, 0x07, + 0x38, 0x03, 0xCE, 0x00, 0xE3, 0x80, 0x39, 0xE0, 0x0E, 0x70, 0x03, 0x9C, + 0x01, 0xC7, 0x00, 0x71, 0xC0, 0x1C, 0x70, 0x07, 0x38, 0x01, 0xCE, 0x00, + 0xE0, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE1, 0xE3, 0xC0, 0x79, + 0xC0, 0x1D, 0xC0, 0x0E, 0xE0, 0x07, 0x70, 0x03, 0xF0, 0x01, 0xF8, 0x01, + 0xDC, 0x00, 0xEE, 0x00, 0x77, 0x00, 0x73, 0xC0, 0x78, 0xF0, 0xF8, 0x7F, + 0xF8, 0x1F, 0xF8, 0x03, 0xF0, 0x00, 0x03, 0x8F, 0x80, 0x1D, 0xFF, 0x01, + 0xFF, 0xFC, 0x0F, 0xC1, 0xE0, 0x7C, 0x07, 0x83, 0xC0, 0x1C, 0x1C, 0x00, + 0xE1, 0xE0, 0x07, 0x0E, 0x00, 0x38, 0x70, 0x01, 0xC3, 0x80, 0x1E, 0x1C, + 0x00, 0xE1, 0xE0, 0x07, 0x0F, 0x00, 0x70, 0x78, 0x07, 0x83, 0xF0, 0xF8, + 0x3F, 0xFF, 0x81, 0xDF, 0xF8, 0x0E, 0x3F, 0x00, 0x70, 0x00, 0x03, 0x80, + 0x00, 0x3C, 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, + 0x80, 0x00, 0x00, 0x00, 0xF8, 0xF0, 0x7F, 0xEE, 0x0F, 0xFF, 0xE1, 0xF0, + 0xFE, 0x3C, 0x07, 0xE3, 0x80, 0x3E, 0x70, 0x03, 0xC7, 0x00, 0x3C, 0x70, + 0x03, 0xCE, 0x00, 0x3C, 0xE0, 0x07, 0x8E, 0x00, 0x78, 0xE0, 0x07, 0x8E, + 0x00, 0xF8, 0xF0, 0x1F, 0x87, 0x87, 0xF0, 0x7F, 0xF7, 0x03, 0xFE, 0x70, + 0x0F, 0x8F, 0x00, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, + 0x00, 0x01, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x04, 0x00, 0x1E, + 0x78, 0xE7, 0xC7, 0x7C, 0x3F, 0x01, 0xF0, 0x0F, 0x00, 0xF0, 0x07, 0x00, + 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, + 0x00, 0x70, 0x07, 0x00, 0x38, 0x00, 0x01, 0xF8, 0x07, 0xFE, 0x0F, 0xFF, + 0x1E, 0x0F, 0x3C, 0x07, 0x38, 0x07, 0x38, 0x00, 0x3C, 0x00, 0x3F, 0x80, + 0x1F, 0xF8, 0x07, 0xFC, 0x00, 0x7E, 0x00, 0x0E, 0xE0, 0x0E, 0xE0, 0x1E, + 0xF0, 0x3C, 0x7F, 0xF8, 0x7F, 0xF0, 0x1F, 0xC0, 0x0E, 0x03, 0x80, 0xE0, + 0x38, 0x7F, 0xDF, 0xEF, 0xF8, 0x70, 0x1C, 0x0E, 0x03, 0x80, 0xE0, 0x38, + 0x1E, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xFC, 0x3F, 0x07, + 0x80, 0x1C, 0x03, 0xC7, 0x00, 0xE1, 0xC0, 0x38, 0xF0, 0x0E, 0x38, 0x03, + 0x8E, 0x00, 0xE3, 0x80, 0x70, 0xE0, 0x1C, 0x78, 0x07, 0x1C, 0x01, 0xC7, + 0x00, 0x71, 0xC0, 0x3C, 0x70, 0x0E, 0x38, 0x07, 0x8E, 0x03, 0xE3, 0x81, + 0xF8, 0xFF, 0xFE, 0x1F, 0xFF, 0x03, 0xF1, 0xC0, 0xE0, 0x07, 0xE0, 0x0F, + 0xE0, 0x0E, 0xE0, 0x1C, 0x70, 0x1C, 0x70, 0x38, 0x70, 0x38, 0x70, 0x70, + 0x70, 0xF0, 0x70, 0xE0, 0x71, 0xC0, 0x71, 0xC0, 0x33, 0x80, 0x3B, 0x80, + 0x3F, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0xE0, 0x1C, + 0x07, 0xE0, 0x3C, 0x0E, 0xE0, 0x3C, 0x0E, 0xE0, 0x7C, 0x1C, 0xE0, 0x7C, + 0x1C, 0xE0, 0xEC, 0x38, 0xE0, 0xEC, 0x38, 0x61, 0xCC, 0x70, 0x61, 0xCC, + 0x70, 0x63, 0x8C, 0xE0, 0x73, 0x8C, 0xE0, 0x77, 0x0C, 0xC0, 0x77, 0x0D, + 0xC0, 0x7E, 0x0D, 0x80, 0x7E, 0x0F, 0x80, 0x7C, 0x0F, 0x80, 0x7C, 0x0F, + 0x00, 0x78, 0x0F, 0x00, 0x78, 0x0E, 0x00, 0x0E, 0x00, 0xE1, 0xE0, 0x38, + 0x1C, 0x0E, 0x03, 0xC3, 0x80, 0x38, 0xE0, 0x07, 0xBC, 0x00, 0x77, 0x00, + 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x1C, 0x00, 0x07, 0xC0, 0x01, 0xF8, 0x00, + 0x77, 0x80, 0x1E, 0x70, 0x07, 0x8F, 0x00, 0xE0, 0xE0, 0x38, 0x1C, 0x0E, + 0x01, 0xC3, 0x80, 0x38, 0x00, 0x0E, 0x00, 0x70, 0xF0, 0x0F, 0x07, 0x00, + 0xE0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x38, 0x07, 0x03, 0x80, 0x70, + 0x70, 0x07, 0x07, 0x00, 0x70, 0xE0, 0x03, 0x9E, 0x00, 0x39, 0xC0, 0x03, + 0xB8, 0x00, 0x3B, 0x80, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, + 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, + 0x07, 0x00, 0x00, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, + 0x00, 0x07, 0xFF, 0xC0, 0xFF, 0xF8, 0x3F, 0xFF, 0x00, 0x01, 0xC0, 0x00, + 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x1C, + 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, + 0x03, 0xC0, 0x00, 0x7F, 0xFE, 0x1F, 0xFF, 0xC3, 0xFF, 0xF8, 0x00, 0x00, + 0x70, 0x1F, 0x01, 0xF0, 0x3C, 0x03, 0x80, 0x38, 0x07, 0x00, 0x70, 0x07, + 0x00, 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x01, 0xE0, 0x3C, 0x0F, 0x80, 0xE0, + 0x0F, 0x00, 0x78, 0x03, 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x80, 0x38, + 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x0E, 0x00, 0xF8, 0x0F, 0x80, 0x78, + 0x00, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, + 0x01, 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x01, + 0x81, 0x80, 0xC0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x06, 0x03, 0x03, 0x01, + 0x80, 0xC0, 0x00, 0x01, 0xE0, 0x1F, 0x01, 0xF0, 0x07, 0x00, 0xE0, 0x0E, + 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, + 0x01, 0xE0, 0x0F, 0x00, 0x70, 0x1F, 0x03, 0xC0, 0x78, 0x07, 0x00, 0x70, + 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0xC0, + 0xF8, 0x0F, 0x80, 0xE0, 0x00, 0x1C, 0x00, 0x3F, 0x00, 0x7F, 0x83, 0x63, + 0xC7, 0xC1, 0xFE, 0x00, 0xFC, 0x00, 0x78 }; + +const GFXglyph FreeSansOblique18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' + { 0, 9, 26, 10, 4, -25 }, // 0x21 '!' + { 30, 10, 9, 12, 6, -24 }, // 0x22 '"' + { 42, 21, 25, 19, 2, -24 }, // 0x23 '#' + { 108, 20, 31, 19, 2, -26 }, // 0x24 '$' + { 186, 26, 25, 31, 5, -24 }, // 0x25 '%' + { 268, 20, 25, 23, 3, -24 }, // 0x26 '&' + { 331, 4, 9, 7, 6, -24 }, // 0x27 ''' + { 336, 12, 33, 12, 4, -25 }, // 0x28 '(' + { 386, 12, 33, 12, -1, -24 }, // 0x29 ')' + { 436, 10, 10, 14, 6, -25 }, // 0x2A '*' + { 449, 18, 16, 20, 3, -15 }, // 0x2B '+' + { 485, 5, 8, 10, 2, -2 }, // 0x2C ',' + { 490, 9, 3, 12, 3, -10 }, // 0x2D '-' + { 494, 4, 4, 10, 3, -3 }, // 0x2E '.' + { 496, 15, 26, 10, 0, -25 }, // 0x2F '/' + { 545, 18, 25, 19, 3, -24 }, // 0x30 '0' + { 602, 10, 25, 19, 7, -24 }, // 0x31 '1' + { 634, 20, 25, 19, 2, -24 }, // 0x32 '2' + { 697, 19, 25, 19, 2, -24 }, // 0x33 '3' + { 757, 18, 25, 19, 2, -24 }, // 0x34 '4' + { 814, 20, 25, 19, 2, -24 }, // 0x35 '5' + { 877, 19, 25, 19, 3, -24 }, // 0x36 '6' + { 937, 18, 25, 19, 5, -24 }, // 0x37 '7' + { 994, 19, 25, 19, 3, -24 }, // 0x38 '8' + { 1054, 19, 25, 19, 2, -24 }, // 0x39 '9' + { 1114, 7, 19, 10, 4, -18 }, // 0x3A ':' + { 1131, 8, 24, 10, 3, -18 }, // 0x3B ';' + { 1155, 19, 17, 20, 3, -16 }, // 0x3C '<' + { 1196, 18, 9, 20, 3, -12 }, // 0x3D '=' + { 1217, 19, 17, 20, 2, -15 }, // 0x3E '>' + { 1258, 16, 26, 19, 6, -25 }, // 0x3F '?' + { 1310, 33, 31, 36, 3, -25 }, // 0x40 '@' + { 1438, 23, 26, 23, 0, -25 }, // 0x41 'A' + { 1513, 21, 26, 23, 3, -25 }, // 0x42 'B' + { 1582, 22, 26, 25, 4, -25 }, // 0x43 'C' + { 1654, 23, 26, 25, 3, -25 }, // 0x44 'D' + { 1729, 23, 26, 23, 3, -25 }, // 0x45 'E' + { 1804, 22, 26, 21, 3, -25 }, // 0x46 'F' + { 1876, 24, 26, 27, 4, -25 }, // 0x47 'G' + { 1954, 25, 26, 25, 3, -25 }, // 0x48 'H' + { 2036, 8, 26, 10, 4, -25 }, // 0x49 'I' + { 2062, 18, 26, 18, 2, -25 }, // 0x4A 'J' + { 2121, 25, 26, 23, 3, -25 }, // 0x4B 'K' + { 2203, 16, 26, 19, 3, -25 }, // 0x4C 'L' + { 2255, 29, 26, 30, 3, -25 }, // 0x4D 'M' + { 2350, 25, 26, 26, 3, -25 }, // 0x4E 'N' + { 2432, 24, 26, 27, 4, -25 }, // 0x4F 'O' + { 2510, 22, 26, 23, 3, -25 }, // 0x50 'P' + { 2582, 25, 28, 27, 4, -25 }, // 0x51 'Q' + { 2670, 23, 26, 25, 3, -25 }, // 0x52 'R' + { 2745, 22, 26, 23, 3, -25 }, // 0x53 'S' + { 2817, 20, 26, 21, 6, -25 }, // 0x54 'T' + { 2882, 24, 26, 25, 4, -25 }, // 0x55 'U' + { 2960, 21, 26, 23, 6, -25 }, // 0x56 'V' + { 3029, 32, 26, 33, 6, -25 }, // 0x57 'W' + { 3133, 27, 26, 23, 1, -25 }, // 0x58 'X' + { 3221, 23, 26, 24, 6, -25 }, // 0x59 'Y' + { 3296, 25, 26, 21, 1, -25 }, // 0x5A 'Z' + { 3378, 13, 33, 10, 1, -25 }, // 0x5B '[' + { 3432, 4, 26, 10, 5, -25 }, // 0x5C '\' + { 3445, 13, 33, 10, -1, -24 }, // 0x5D ']' + { 3499, 14, 14, 16, 3, -24 }, // 0x5E '^' + { 3524, 21, 2, 19, -2, 5 }, // 0x5F '_' + { 3530, 6, 5, 12, 6, -25 }, // 0x60 '`' + { 3534, 18, 19, 19, 2, -18 }, // 0x61 'a' + { 3577, 19, 26, 20, 2, -25 }, // 0x62 'b' + { 3639, 16, 19, 18, 3, -18 }, // 0x63 'c' + { 3677, 20, 26, 20, 3, -25 }, // 0x64 'd' + { 3742, 17, 19, 19, 3, -18 }, // 0x65 'e' + { 3783, 11, 26, 9, 2, -25 }, // 0x66 'f' + { 3819, 19, 27, 19, 2, -18 }, // 0x67 'g' + { 3884, 18, 26, 19, 2, -25 }, // 0x68 'h' + { 3943, 8, 26, 8, 2, -25 }, // 0x69 'i' + { 3969, 14, 34, 8, -2, -25 }, // 0x6A 'j' + { 4029, 19, 26, 18, 2, -25 }, // 0x6B 'k' + { 4091, 8, 26, 8, 2, -25 }, // 0x6C 'l' + { 4117, 27, 19, 29, 2, -18 }, // 0x6D 'm' + { 4182, 18, 19, 19, 2, -18 }, // 0x6E 'n' + { 4225, 17, 19, 19, 3, -18 }, // 0x6F 'o' + { 4266, 21, 26, 20, 0, -18 }, // 0x70 'p' + { 4335, 20, 27, 19, 2, -18 }, // 0x71 'q' + { 4403, 13, 19, 11, 2, -18 }, // 0x72 'r' + { 4434, 16, 19, 18, 2, -18 }, // 0x73 's' + { 4472, 10, 23, 9, 3, -22 }, // 0x74 't' + { 4501, 18, 19, 19, 3, -18 }, // 0x75 'u' + { 4544, 16, 19, 17, 4, -18 }, // 0x76 'v' + { 4582, 24, 19, 25, 4, -18 }, // 0x77 'w' + { 4639, 19, 19, 17, 1, -18 }, // 0x78 'x' + { 4685, 20, 27, 17, 0, -18 }, // 0x79 'y' + { 4753, 19, 19, 17, 1, -18 }, // 0x7A 'z' + { 4799, 12, 33, 12, 3, -25 }, // 0x7B '{' + { 4849, 9, 33, 9, 2, -25 }, // 0x7C '|' + { 4887, 12, 33, 12, 0, -24 }, // 0x7D '}' + { 4937, 16, 7, 20, 5, -15 } }; // 0x7E '~' + +const GFXfont FreeSansOblique18pt7b PROGMEM = { + (uint8_t *)FreeSansOblique18pt7bBitmaps, + (GFXglyph *)FreeSansOblique18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 5623 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h new file mode 100644 index 0000000..4c8c8ab --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h @@ -0,0 +1,840 @@ +const uint8_t FreeSansOblique24pt7bBitmaps[] PROGMEM = { + 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x3C, 0x07, + 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, + 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1E, 0x07, 0x80, 0xF0, 0x1E, 0x00, 0x78, + 0x7B, 0xC3, 0xDE, 0x1F, 0xE1, 0xEF, 0x0F, 0x78, 0x7B, 0xC3, 0xDC, 0x1C, + 0xE0, 0xE7, 0x07, 0x30, 0x31, 0x81, 0x80, 0x00, 0x07, 0x81, 0xC0, 0x00, + 0x78, 0x3C, 0x00, 0x07, 0x03, 0xC0, 0x00, 0xF0, 0x38, 0x00, 0x0E, 0x07, + 0x80, 0x01, 0xE0, 0x70, 0x00, 0x1E, 0x0F, 0x00, 0x01, 0xC0, 0xF0, 0x00, + 0x3C, 0x0E, 0x00, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, + 0xFE, 0x00, 0x70, 0x3C, 0x00, 0x0F, 0x03, 0x80, 0x00, 0xF0, 0x78, 0x00, + 0x0E, 0x07, 0x80, 0x01, 0xE0, 0x70, 0x00, 0x1C, 0x0F, 0x00, 0x03, 0xC0, + 0xE0, 0x00, 0x3C, 0x1E, 0x00, 0x03, 0x81, 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, + 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0x03, 0x80, 0x00, 0xE0, + 0x78, 0x00, 0x1E, 0x07, 0x00, 0x01, 0xC0, 0xF0, 0x00, 0x1C, 0x0F, 0x00, + 0x03, 0xC0, 0xE0, 0x00, 0x38, 0x1E, 0x00, 0x07, 0x81, 0xC0, 0x00, 0x78, + 0x3C, 0x00, 0x07, 0x03, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x30, + 0x00, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0x00, 0x7F, + 0xFF, 0xE0, 0x1F, 0x18, 0xF8, 0x0F, 0x8E, 0x1F, 0x07, 0xC3, 0x83, 0xC1, + 0xE0, 0xE0, 0xF0, 0x70, 0x38, 0x3C, 0x3C, 0x0C, 0x0F, 0x0F, 0x07, 0x00, + 0x03, 0xC1, 0xC0, 0x00, 0xF0, 0x70, 0x00, 0x3E, 0x1C, 0x00, 0x0F, 0xE6, + 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xFE, 0x00, 0x03, 0xFF, 0xE0, 0x00, + 0x3F, 0xFC, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xC7, 0xF0, 0x00, 0x70, 0x7C, + 0x00, 0x1C, 0x0F, 0x00, 0x06, 0x03, 0xCF, 0x03, 0x80, 0xF3, 0xC0, 0xE0, + 0x3C, 0xF0, 0x38, 0x0E, 0x3C, 0x0E, 0x07, 0x8F, 0x03, 0x01, 0xE3, 0xE1, + 0xC0, 0xF0, 0xF8, 0x70, 0x78, 0x1F, 0x9C, 0xFC, 0x03, 0xFF, 0xFE, 0x00, + 0x7F, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x80, 0x1F, 0x00, 0x00, 0x70, 0x07, 0xFC, 0x00, 0x0E, + 0x00, 0xFF, 0xE0, 0x01, 0xC0, 0x1E, 0x1E, 0x00, 0x3C, 0x03, 0x80, 0xF0, + 0x03, 0x80, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x0E, 0x00, 0xE0, + 0x07, 0x01, 0xC0, 0x0E, 0x00, 0x70, 0x3C, 0x00, 0xE0, 0x0E, 0x03, 0x80, + 0x0E, 0x00, 0xE0, 0x70, 0x00, 0xF0, 0x1C, 0x0E, 0x00, 0x07, 0x87, 0xC1, + 0xE0, 0x00, 0x7F, 0xF8, 0x1C, 0x00, 0x03, 0xFE, 0x03, 0x80, 0x00, 0x0F, + 0x80, 0x70, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x1F, + 0x00, 0x00, 0x1C, 0x07, 0xFC, 0x00, 0x03, 0x80, 0xFF, 0xE0, 0x00, 0x70, + 0x1E, 0x1E, 0x00, 0x0F, 0x03, 0x80, 0xF0, 0x00, 0xE0, 0x70, 0x07, 0x00, + 0x1C, 0x07, 0x00, 0x70, 0x03, 0x80, 0xE0, 0x07, 0x00, 0x70, 0x0E, 0x00, + 0x70, 0x0F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x1C, 0x00, + 0xF0, 0x1C, 0x03, 0x80, 0x07, 0x87, 0xC0, 0x70, 0x00, 0x7F, 0xF8, 0x07, + 0x00, 0x03, 0xFE, 0x00, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, + 0x03, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0xF8, 0x7C, 0x00, 0x78, 0x0F, + 0x00, 0x1E, 0x03, 0xC0, 0x0F, 0x00, 0xF0, 0x03, 0xC0, 0x3C, 0x00, 0xF0, + 0x1E, 0x00, 0x3C, 0x07, 0x80, 0x0F, 0x87, 0xC0, 0x01, 0xE3, 0xE0, 0x00, + 0x7F, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xFC, 0x00, + 0x03, 0xFF, 0x00, 0x01, 0xFB, 0xE0, 0x70, 0xF8, 0x7C, 0x1C, 0x7C, 0x1F, + 0x0E, 0x3C, 0x03, 0xE3, 0x9E, 0x00, 0x79, 0xE7, 0x80, 0x1F, 0xF3, 0xC0, + 0x03, 0xF8, 0xF0, 0x00, 0xFE, 0x3C, 0x00, 0x1F, 0x0F, 0x00, 0x07, 0xC3, + 0xE0, 0x03, 0xF8, 0xF8, 0x03, 0xFE, 0x3F, 0x83, 0xF7, 0xC7, 0xFF, 0xF8, + 0xF0, 0xFF, 0xFC, 0x3E, 0x1F, 0xFC, 0x07, 0x81, 0xFC, 0x00, 0x00, 0x7B, + 0xDF, 0xEF, 0x7B, 0xDC, 0xE7, 0x31, 0x80, 0x00, 0x0E, 0x00, 0x38, 0x00, + 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, + 0x0F, 0x00, 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, + 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, + 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, + 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, + 0x70, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0xE0, + 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, + 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, + 0x07, 0x00, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x07, + 0x00, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, + 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x1C, 0x00, 0x70, + 0x01, 0xC0, 0x07, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x18, 0xE3, + 0x7B, 0xBF, 0xFF, 0xF3, 0xFF, 0x01, 0xE0, 0x1F, 0xC0, 0xF7, 0x07, 0x9E, + 0x1C, 0x38, 0x20, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x78, + 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, + 0x00, 0x1C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, + 0x78, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x3E, 0x7C, 0xF9, 0xE7, + 0xC1, 0x83, 0x0C, 0x18, 0x63, 0xC6, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0x7D, 0xF7, 0xBE, 0xF8, 0x00, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, + 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, + 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, 0x0C, + 0x00, 0x00, 0xE0, 0x00, 0x06, 0x00, 0x00, 0x70, 0x00, 0x03, 0x00, 0x00, + 0x38, 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, + 0x00, 0x60, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x38, + 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, 0x00, + 0x60, 0x00, 0x07, 0x00, 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, + 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x0F, 0xFF, + 0xE0, 0x3F, 0x0F, 0xC0, 0xF8, 0x07, 0x81, 0xE0, 0x0F, 0x87, 0x80, 0x0F, + 0x1F, 0x00, 0x1E, 0x3C, 0x00, 0x3C, 0x78, 0x00, 0x79, 0xE0, 0x00, 0xF3, + 0xC0, 0x01, 0xE7, 0x80, 0x07, 0xDE, 0x00, 0x0F, 0xBC, 0x00, 0x1E, 0x78, + 0x00, 0x3C, 0xF0, 0x00, 0x79, 0xE0, 0x00, 0xF7, 0x80, 0x03, 0xEF, 0x00, + 0x07, 0xDE, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x7C, 0xF0, 0x00, + 0xF1, 0xE0, 0x03, 0xE3, 0xC0, 0x07, 0x87, 0xC0, 0x1F, 0x0F, 0x80, 0x7C, + 0x0F, 0xC3, 0xF0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0x1F, 0xFC, 0x00, + 0x0F, 0xC0, 0x00, 0x00, 0x18, 0x01, 0xC0, 0x1C, 0x01, 0xE0, 0x1F, 0x0F, + 0xFB, 0xFF, 0xDF, 0xFC, 0xFF, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, + 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, + 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, + 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x00, 0x00, 0x03, 0xFC, + 0x00, 0x03, 0xFF, 0xE0, 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xE0, 0x0F, + 0xC0, 0xFC, 0x03, 0xE0, 0x07, 0xC0, 0xF8, 0x00, 0xF8, 0x1F, 0x00, 0x0F, + 0x03, 0xC0, 0x01, 0xE0, 0xF8, 0x00, 0x3C, 0x1E, 0x00, 0x07, 0x80, 0x00, + 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, + 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xFF, + 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, 0x00, 0x3F, 0xFF, 0x80, 0x3F, + 0xFF, 0xE0, 0x1F, 0x81, 0xF8, 0x1F, 0x00, 0x7C, 0x1F, 0x00, 0x1E, 0x0F, + 0x00, 0x0F, 0x0F, 0x80, 0x07, 0x87, 0x80, 0x03, 0xC0, 0x00, 0x03, 0xC0, + 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xE0, + 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x3F, + 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, + 0x79, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x3C, 0x00, + 0x0F, 0x1E, 0x00, 0x0F, 0x0F, 0x80, 0x1F, 0x83, 0xF0, 0x3F, 0x81, 0xFF, + 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xBC, + 0x00, 0x0F, 0xBC, 0x00, 0x1F, 0x7C, 0x00, 0x3E, 0x78, 0x00, 0x7C, 0x78, + 0x00, 0xF8, 0x78, 0x00, 0xF0, 0x78, 0x01, 0xE0, 0xF0, 0x03, 0xC0, 0xF0, + 0x07, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x1E, 0x01, 0xF0, 0x3C, 0x01, 0xE0, + 0x78, 0x01, 0xE0, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, + 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, + 0x00, 0x0F, 0x80, 0x00, 0x7F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF8, 0x03, 0xFF, + 0xFF, 0x00, 0x7F, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x78, 0x00, + 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC7, 0xE0, 0x00, 0xF7, 0xFF, 0x80, 0x1F, + 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0xFE, 0x03, 0xF0, 0x1F, 0x00, 0x3F, + 0x03, 0xC0, 0x03, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0xF0, 0x7C, 0x00, + 0x3C, 0x0F, 0x80, 0x0F, 0x80, 0xFC, 0x07, 0xE0, 0x1F, 0xFF, 0xF8, 0x01, + 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0x7F, 0xFC, 0x00, 0xFF, 0xFE, 0x01, 0xF8, + 0x3E, 0x03, 0xE0, 0x1F, 0x07, 0xC0, 0x1F, 0x0F, 0x80, 0x0F, 0x0F, 0x00, + 0x0F, 0x1F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x1F, + 0x80, 0x3C, 0x7F, 0xE0, 0x3D, 0xFF, 0xF0, 0x7B, 0xFF, 0xF8, 0x7F, 0xC1, + 0xF8, 0x7F, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0xFC, 0x00, 0x3C, 0xF8, 0x00, + 0x3C, 0xF8, 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0xF0, 0x00, 0x38, 0xF0, 0x00, + 0x78, 0xF0, 0x00, 0x78, 0xF0, 0x00, 0xF0, 0xF8, 0x01, 0xF0, 0x7C, 0x03, + 0xE0, 0x7E, 0x0F, 0xC0, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0x0F, 0xFE, + 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, + 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, + 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, + 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x80, + 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, 0x00, 0x1F, + 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0x81, 0xF8, 0x1F, 0x00, 0x7C, 0x0F, + 0x00, 0x1E, 0x0F, 0x00, 0x0F, 0x07, 0x80, 0x07, 0x83, 0xC0, 0x03, 0xC1, + 0xE0, 0x03, 0xC0, 0xF8, 0x03, 0xC0, 0x7E, 0x07, 0xC0, 0x1F, 0xFF, 0xC0, + 0x07, 0xFF, 0xC0, 0x03, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x07, 0xE0, 0x7E, + 0x07, 0xC0, 0x0F, 0x07, 0x80, 0x07, 0xC7, 0xC0, 0x01, 0xE3, 0xC0, 0x00, + 0xF3, 0xC0, 0x00, 0x79, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1C, 0x78, 0x00, + 0x1E, 0x3C, 0x00, 0x0F, 0x1F, 0x00, 0x0F, 0x0F, 0xC0, 0x0F, 0x83, 0xF0, + 0x3F, 0x81, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x01, + 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xFC, + 0x03, 0xFF, 0xFC, 0x07, 0xF0, 0x7E, 0x07, 0xC0, 0x3E, 0x0F, 0x80, 0x1F, + 0x0F, 0x00, 0x0F, 0x1E, 0x00, 0x0F, 0x1E, 0x00, 0x0F, 0x3C, 0x00, 0x0F, + 0x3C, 0x00, 0x0F, 0x3C, 0x00, 0x1F, 0x3C, 0x00, 0x1F, 0x3C, 0x00, 0x3F, + 0x3E, 0x00, 0x7E, 0x3E, 0x00, 0xFE, 0x1F, 0x83, 0xFE, 0x1F, 0xFF, 0xFE, + 0x0F, 0xFF, 0xBC, 0x07, 0xFE, 0x3C, 0x01, 0xF8, 0x7C, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF0, 0xF0, 0x01, 0xF0, + 0xF0, 0x03, 0xE0, 0xF8, 0x07, 0xC0, 0xFC, 0x1F, 0xC0, 0x7F, 0xFF, 0x80, + 0x3F, 0xFE, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xC1, 0xF0, + 0x78, 0x3E, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1F, + 0x07, 0x83, 0xE0, 0xF8, 0x00, 0x03, 0xE0, 0x7C, 0x0F, 0x03, 0xE0, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x7C, 0x0F, + 0x81, 0xE0, 0x7C, 0x01, 0x80, 0x30, 0x0C, 0x01, 0x80, 0x60, 0x3C, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x70, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFE, 0x00, + 0x07, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, 0x00, 0x07, 0xF0, 0x00, + 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, + 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0E, + 0x00, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xE3, 0xFF, + 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, + 0xC7, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF8, 0x04, 0x00, 0x00, 0x01, 0xC0, + 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, + 0x3F, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x3F, 0x80, 0x00, 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x01, + 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0x00, 0x3F, 0xF8, 0x0F, 0xFF, 0xC1, 0xFF, 0xFE, 0x1F, 0x03, 0xE3, 0xE0, + 0x1F, 0x7C, 0x00, 0xF7, 0x80, 0x0F, 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, + 0x01, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0x80, 0x00, 0x78, 0x00, 0x0F, 0x80, + 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x3E, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x80, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x7F, 0xE0, 0x0F, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xE0, + 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, + 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x80, 0xF8, + 0x00, 0xFC, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0xF9, 0xE1, 0xF0, 0x78, 0x03, + 0xFF, 0xCF, 0x07, 0x87, 0xC0, 0x3F, 0x0F, 0xF0, 0x3C, 0x7C, 0x03, 0xE0, + 0x3F, 0x01, 0xE3, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0x3E, 0x03, 0xE0, 0x0F, + 0x80, 0x79, 0xE0, 0x1E, 0x00, 0x7C, 0x03, 0xDF, 0x01, 0xE0, 0x03, 0xC0, + 0x3E, 0xF0, 0x1F, 0x00, 0x3E, 0x01, 0xE7, 0x80, 0xF0, 0x01, 0xE0, 0x0F, + 0x38, 0x07, 0x80, 0x0F, 0x00, 0xFB, 0xC0, 0x78, 0x00, 0xF0, 0x07, 0x9E, + 0x03, 0xC0, 0x07, 0x80, 0x7C, 0xF0, 0x1E, 0x00, 0x78, 0x07, 0xC7, 0x80, + 0xF0, 0x07, 0xC0, 0x7E, 0x3C, 0x07, 0x80, 0x7C, 0x07, 0xE1, 0xE0, 0x3E, + 0x07, 0xE0, 0x7E, 0x0F, 0x00, 0xF8, 0x7F, 0x8F, 0xC0, 0x7C, 0x07, 0xFF, + 0x7F, 0xFC, 0x01, 0xE0, 0x1F, 0xF1, 0xFF, 0x80, 0x0F, 0x00, 0x7E, 0x0F, + 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0xF8, 0x00, 0x00, + 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x3F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xDF, 0x00, 0x00, 0x1E, + 0x7C, 0x00, 0x00, 0x79, 0xF0, 0x00, 0x03, 0xC7, 0xC0, 0x00, 0x0F, 0x1F, + 0x00, 0x00, 0x78, 0x3C, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x0F, 0x03, 0xE0, + 0x00, 0x78, 0x0F, 0x80, 0x01, 0xE0, 0x3E, 0x00, 0x0F, 0x00, 0xF8, 0x00, + 0x3C, 0x03, 0xE0, 0x01, 0xE0, 0x0F, 0x80, 0x0F, 0x80, 0x1E, 0x00, 0x3C, + 0x00, 0x7C, 0x01, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFC, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x03, + 0xC0, 0xF8, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0xF8, + 0xF8, 0x00, 0x03, 0xE3, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, 0x3E, 0xF8, + 0x00, 0x00, 0x7B, 0xE0, 0x00, 0x01, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x0F, + 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, + 0x1F, 0x81, 0xE0, 0x00, 0x7C, 0x0F, 0x00, 0x01, 0xE0, 0x78, 0x00, 0x0F, + 0x03, 0xC0, 0x00, 0x78, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x3C, 0x0F, + 0x00, 0x01, 0xE0, 0x78, 0x00, 0x1E, 0x07, 0xC0, 0x03, 0xE0, 0x3F, 0xFF, + 0xFC, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, + 0x07, 0x80, 0x01, 0xF0, 0x3C, 0x00, 0x07, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, + 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x07, 0x87, 0x80, 0x00, 0x3C, 0x3C, 0x00, + 0x01, 0xE1, 0xE0, 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x0F, + 0x87, 0x80, 0x00, 0xF8, 0x3C, 0x00, 0x1F, 0x81, 0xFF, 0xFF, 0xF8, 0x1F, + 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x1F, + 0xFF, 0xFC, 0x00, 0xFE, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x3E, 0x00, + 0x07, 0x81, 0xF0, 0x00, 0x1E, 0x07, 0x80, 0x00, 0x3C, 0x3C, 0x00, 0x00, + 0xF1, 0xF0, 0x00, 0x03, 0xC7, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x3C, 0xF0, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0x07, + 0x8F, 0x80, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x07, 0xC1, + 0xF0, 0x00, 0x3E, 0x03, 0xE0, 0x03, 0xF0, 0x0F, 0xE0, 0x3F, 0x80, 0x1F, + 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, + 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0x80, 0x3E, 0x00, 0x3F, 0x80, 0x78, 0x00, + 0x1F, 0x80, 0xF0, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x1E, 0x07, 0xC0, 0x00, + 0x3E, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x00, + 0xF0, 0xF8, 0x00, 0x01, 0xE1, 0xF0, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x07, + 0x87, 0x80, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x3C, 0x3E, 0x00, 0x00, 0x78, + 0x7C, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x01, 0xE1, 0xE0, 0x00, 0x07, 0x87, + 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x78, 0x3C, + 0x00, 0x01, 0xF0, 0x78, 0x00, 0x03, 0xC1, 0xF0, 0x00, 0x0F, 0x03, 0xE0, + 0x00, 0x3E, 0x07, 0x80, 0x01, 0xF8, 0x0F, 0x00, 0x0F, 0xE0, 0x1F, 0xFF, + 0xFF, 0x80, 0x7F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, + 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, + 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, 0x00, 0x00, 0x78, 0x00, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x00, + 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, + 0x07, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x80, + 0x7F, 0xFF, 0xFF, 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1F, 0xFF, + 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, + 0xFF, 0xC0, 0xFF, 0xFF, 0xFE, 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xFF, + 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, + 0xF0, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x07, + 0xFF, 0xFF, 0xC0, 0x07, 0xF0, 0x0F, 0xF0, 0x0F, 0xC0, 0x00, 0xF8, 0x0F, + 0xC0, 0x00, 0x3E, 0x07, 0x80, 0x00, 0x1F, 0x07, 0x80, 0x00, 0x07, 0x87, + 0xC0, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x1F, 0xFF, + 0xBC, 0x00, 0x0F, 0xFF, 0xDE, 0x00, 0x0F, 0xFF, 0xEF, 0x00, 0x07, 0xFF, + 0xF7, 0x80, 0x00, 0x00, 0x73, 0xC0, 0x00, 0x00, 0x39, 0xE0, 0x00, 0x00, + 0x3C, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x1F, 0x3E, 0x00, 0x00, + 0x0F, 0x8F, 0x00, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x0F, 0xC3, 0xF0, 0x00, + 0x0F, 0xE0, 0xFC, 0x00, 0x1F, 0xF0, 0x7F, 0x80, 0x7F, 0x78, 0x1F, 0xFF, + 0xFE, 0x38, 0x03, 0xFF, 0xFE, 0x1C, 0x00, 0xFF, 0xFC, 0x0E, 0x00, 0x0F, + 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0xF0, 0x00, 0x03, 0xC0, + 0x78, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x01, 0xF0, 0x3E, 0x00, 0x00, 0xF0, + 0x1E, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x80, 0x00, 0x3E, + 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xC0, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x07, + 0x80, 0xF0, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x01, + 0xF0, 0x3C, 0x00, 0x00, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, + 0xFC, 0x0F, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xFE, 0x03, 0xC0, 0x00, + 0x0F, 0x01, 0xE0, 0x00, 0x07, 0x81, 0xF0, 0x00, 0x07, 0xC0, 0xF8, 0x00, + 0x03, 0xE0, 0x78, 0x00, 0x01, 0xE0, 0x3C, 0x00, 0x00, 0xF0, 0x1E, 0x00, + 0x00, 0x78, 0x1F, 0x00, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x3C, 0x07, 0x80, + 0x00, 0x1E, 0x03, 0xC0, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x0F, 0x81, 0xF0, + 0x00, 0x07, 0xC0, 0xF0, 0x00, 0x03, 0xC0, 0x78, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x81, 0xF0, 0x3E, 0x07, + 0x80, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1E, 0x03, 0xC0, 0x78, 0x1F, 0x03, + 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x81, + 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1E, 0x00, 0x00, + 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, + 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0xF0, + 0x01, 0xE0, 0x78, 0x00, 0xF0, 0x78, 0x00, 0xF8, 0x3C, 0x00, 0x78, 0x1E, + 0x00, 0x3C, 0x0F, 0x00, 0x3E, 0x07, 0xC0, 0x3E, 0x03, 0xF0, 0x7E, 0x00, + 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x01, 0xE0, 0x00, 0x0F, 0xC0, 0x78, 0x00, 0x07, 0xC0, 0x1E, 0x00, + 0x03, 0xE0, 0x0F, 0x80, 0x03, 0xF0, 0x03, 0xE0, 0x01, 0xF8, 0x00, 0xF0, + 0x00, 0xFC, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x07, + 0xC0, 0x3F, 0x00, 0x01, 0xE0, 0x1F, 0x80, 0x00, 0x78, 0x0F, 0x80, 0x00, + 0x1E, 0x07, 0xC0, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x03, 0xE3, 0xF0, 0x00, + 0x00, 0xF1, 0xFC, 0x00, 0x00, 0x3C, 0xFF, 0x00, 0x00, 0x0F, 0x7F, 0xE0, + 0x00, 0x07, 0xFE, 0xF8, 0x00, 0x01, 0xFE, 0x1E, 0x00, 0x00, 0x7F, 0x07, + 0xC0, 0x00, 0x1F, 0x80, 0xF0, 0x00, 0x0F, 0xC0, 0x3E, 0x00, 0x03, 0xE0, + 0x07, 0x80, 0x00, 0xF0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x0F, + 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x78, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x07, 0x80, 0x00, 0xF8, + 0x03, 0xE0, 0x00, 0x1F, 0x00, 0xF0, 0x00, 0x07, 0xC0, 0x3C, 0x00, 0x00, + 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0xF8, + 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xF0, 0x00, + 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x0F, + 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, + 0x00, 0x7C, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, + 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, + 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, + 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xE0, + 0x01, 0xF8, 0x00, 0x00, 0x7E, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x0F, 0xF0, + 0x00, 0x03, 0xF8, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x3F, 0xC0, 0x00, 0x1F, + 0xC0, 0x7F, 0x80, 0x00, 0x7F, 0x80, 0xFF, 0x00, 0x00, 0xEF, 0x03, 0xFE, + 0x00, 0x03, 0xFE, 0x07, 0xBC, 0x00, 0x0F, 0x78, 0x0F, 0x3C, 0x00, 0x1E, + 0xF0, 0x1E, 0x78, 0x00, 0x79, 0xE0, 0x3C, 0xF0, 0x00, 0xF3, 0xC0, 0xF9, + 0xE0, 0x03, 0xCF, 0x81, 0xE3, 0xC0, 0x07, 0x9E, 0x03, 0xC7, 0x80, 0x1E, + 0x3C, 0x07, 0x8F, 0x00, 0x38, 0x78, 0x1F, 0x1E, 0x00, 0xF0, 0xF0, 0x3C, + 0x1E, 0x03, 0xC3, 0xE0, 0x78, 0x3C, 0x07, 0x87, 0x80, 0xF0, 0x78, 0x1E, + 0x0F, 0x01, 0xE0, 0xF0, 0x3C, 0x1E, 0x07, 0xC1, 0xE0, 0xF0, 0x7C, 0x0F, + 0x03, 0xC1, 0xE0, 0xF0, 0x1E, 0x07, 0x87, 0x81, 0xE0, 0x3C, 0x0F, 0x0E, + 0x03, 0xC0, 0x78, 0x0F, 0x3C, 0x07, 0x81, 0xF0, 0x1E, 0x70, 0x1F, 0x03, + 0xC0, 0x3D, 0xE0, 0x3C, 0x07, 0x80, 0x7F, 0x80, 0x78, 0x0F, 0x00, 0xFF, + 0x00, 0xF0, 0x3E, 0x01, 0xFC, 0x01, 0xE0, 0x78, 0x03, 0xF8, 0x07, 0xC0, + 0xF0, 0x07, 0xE0, 0x0F, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x01, 0xF0, + 0x00, 0x03, 0xC0, 0x7E, 0x00, 0x01, 0xF0, 0x3F, 0x80, 0x00, 0x78, 0x0F, + 0xE0, 0x00, 0x1E, 0x03, 0xFC, 0x00, 0x07, 0x80, 0xFF, 0x00, 0x03, 0xE0, + 0x3F, 0xE0, 0x00, 0xF0, 0x1F, 0xF8, 0x00, 0x3C, 0x07, 0x9E, 0x00, 0x0F, + 0x01, 0xE7, 0xC0, 0x03, 0xC0, 0x78, 0xF0, 0x01, 0xF0, 0x1E, 0x3E, 0x00, + 0x78, 0x0F, 0x87, 0x80, 0x1E, 0x03, 0xC1, 0xF0, 0x07, 0x80, 0xF0, 0x7C, + 0x01, 0xE0, 0x3C, 0x0F, 0x00, 0xF8, 0x1F, 0x03, 0xE0, 0x3C, 0x07, 0x80, + 0x78, 0x0F, 0x01, 0xE0, 0x1F, 0x03, 0xC0, 0x78, 0x07, 0xC1, 0xF0, 0x1E, + 0x00, 0xF8, 0x78, 0x0F, 0x80, 0x3E, 0x1E, 0x03, 0xC0, 0x07, 0x87, 0x80, + 0xF0, 0x01, 0xF1, 0xE0, 0x3C, 0x00, 0x3C, 0xF8, 0x0F, 0x00, 0x0F, 0xBC, + 0x07, 0xC0, 0x03, 0xEF, 0x01, 0xE0, 0x00, 0x7F, 0xC0, 0x78, 0x00, 0x1F, + 0xF0, 0x1E, 0x00, 0x03, 0xFC, 0x0F, 0x80, 0x00, 0xFE, 0x03, 0xC0, 0x00, + 0x1F, 0x80, 0xF0, 0x00, 0x07, 0xE0, 0x3C, 0x00, 0x01, 0xF8, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x00, + 0x0F, 0xFF, 0xFF, 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, + 0x0F, 0x80, 0x00, 0xFC, 0x0F, 0x80, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x0F, + 0x07, 0x80, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x01, 0xE3, 0xC0, 0x00, 0x00, + 0xF3, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3D, 0xE0, 0x00, 0x00, + 0x1E, 0xF0, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x03, 0xDE, 0x00, 0x00, 0x01, 0xEF, 0x00, 0x00, + 0x00, 0xF7, 0x80, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, + 0x00, 0x3C, 0xF0, 0x00, 0x00, 0x3E, 0x78, 0x00, 0x00, 0x1E, 0x3E, 0x00, + 0x00, 0x1F, 0x0F, 0x00, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xF0, + 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x3F, 0x80, 0x3F, 0x80, 0x7F, 0x80, 0x1F, + 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, + 0x0F, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x00, + 0x7F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, 0x3F, 0x81, 0xE0, + 0x00, 0x7C, 0x0F, 0x00, 0x01, 0xE0, 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, + 0x78, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, 0x00, 0x01, 0xE0, + 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0xF8, 0x3C, 0x00, 0x0F, 0x81, 0xE0, + 0x01, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, + 0x80, 0x3F, 0xFF, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xFF, + 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, 0x0F, 0xC0, 0x00, + 0xFC, 0x0F, 0x80, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x0F, 0x07, 0x80, 0x00, + 0x07, 0xC7, 0xC0, 0x00, 0x01, 0xE3, 0xC0, 0x00, 0x00, 0xF3, 0xC0, 0x00, + 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3D, 0xE0, 0x00, 0x00, 0x1E, 0xF0, 0x00, + 0x00, 0x0F, 0x78, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0x03, 0xDE, 0x00, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x00, 0xF7, 0x80, + 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3C, 0xF0, + 0x00, 0x00, 0x3C, 0x78, 0x00, 0x08, 0x3E, 0x3E, 0x00, 0x0E, 0x1E, 0x0F, + 0x00, 0x0F, 0x9F, 0x07, 0xC0, 0x07, 0xFF, 0x03, 0xF0, 0x01, 0xFF, 0x00, + 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xE0, + 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x7E, 0x00, 0x0F, 0xF0, 0x1F, + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, + 0xC0, 0x07, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, + 0x03, 0xE0, 0x00, 0xFC, 0x0F, 0x00, 0x01, 0xF0, 0x3C, 0x00, 0x03, 0xC1, + 0xF0, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0xF0, 0x78, + 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x00, 0x78, 0x3E, 0x00, + 0x03, 0xE0, 0xF0, 0x00, 0x1F, 0x03, 0xC0, 0x01, 0xF8, 0x0F, 0xFF, 0xFF, + 0xC0, 0x7F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xF0, + 0x1E, 0x00, 0x07, 0xE0, 0xF8, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x1E, 0x0F, + 0x00, 0x00, 0x78, 0x3C, 0x00, 0x01, 0xE0, 0xF0, 0x00, 0x07, 0x87, 0xC0, + 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x03, 0xC1, 0xE0, 0x00, + 0x0F, 0x07, 0x80, 0x00, 0x3C, 0x3E, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x03, + 0xC3, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xFC, + 0x00, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x1F, 0xC0, 0x7F, 0x01, + 0xF0, 0x00, 0xFC, 0x0F, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x0F, 0x07, 0x00, + 0x00, 0x78, 0x78, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x1E, 0x1E, 0x00, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, + 0xFF, 0xC0, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, + 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x3C, 0xF0, 0x00, 0x01, 0xE7, + 0x80, 0x00, 0x0F, 0x3C, 0x00, 0x00, 0x71, 0xE0, 0x00, 0x07, 0x8F, 0x00, + 0x00, 0x3C, 0x7C, 0x00, 0x03, 0xC1, 0xF0, 0x00, 0x7C, 0x0F, 0xE0, 0x1F, + 0xC0, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xF8, 0x00, + 0x03, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x7F, + 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFE, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x01, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, + 0x00, 0x78, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x0F, 0x00, 0x00, 0x3C, 0x1E, + 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x03, 0xC1, 0xE0, + 0x00, 0x07, 0x83, 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x1F, 0x00, + 0x00, 0x7C, 0x3C, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x01, 0xE0, 0xF0, 0x00, + 0x03, 0xC3, 0xE0, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x1F, 0x0F, 0x00, 0x00, + 0x3C, 0x1E, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x03, + 0xE1, 0xF0, 0x00, 0x07, 0x83, 0xC0, 0x00, 0x0F, 0x07, 0x80, 0x00, 0x1E, + 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF8, 0x78, 0x00, 0x01, 0xE0, + 0xF0, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x0F, 0x83, 0xC0, 0x00, 0x1E, 0x07, + 0x80, 0x00, 0x7C, 0x0F, 0x80, 0x01, 0xF0, 0x0F, 0x80, 0x07, 0xE0, 0x1F, + 0xC0, 0x7F, 0x80, 0x1F, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x1F, + 0xFF, 0xC0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFF, 0xC0, + 0x00, 0x0F, 0xBE, 0x00, 0x00, 0x79, 0xF0, 0x00, 0x07, 0xC7, 0x80, 0x00, + 0x3C, 0x3C, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x01, 0xF0, + 0x7C, 0x00, 0x0F, 0x03, 0xE0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x80, 0x78, + 0x00, 0x78, 0x03, 0xC0, 0x07, 0xC0, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x03, + 0xE0, 0x07, 0xC0, 0x1E, 0x00, 0x3E, 0x01, 0xF0, 0x01, 0xF0, 0x0F, 0x00, + 0x07, 0x80, 0xF0, 0x00, 0x3C, 0x07, 0x80, 0x01, 0xE0, 0x78, 0x00, 0x0F, + 0x07, 0xC0, 0x00, 0x7C, 0x3C, 0x00, 0x03, 0xE3, 0xE0, 0x00, 0x1F, 0x1E, + 0x00, 0x00, 0xF9, 0xF0, 0x00, 0x03, 0xCF, 0x00, 0x00, 0x1E, 0xF0, 0x00, + 0x00, 0xF7, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF0, + 0x00, 0x1F, 0x00, 0x03, 0xDE, 0x00, 0x07, 0xE0, 0x00, 0xFB, 0xC0, 0x00, + 0xFC, 0x00, 0x1E, 0x78, 0x00, 0x3F, 0x80, 0x07, 0xCF, 0x00, 0x07, 0xF0, + 0x00, 0xF9, 0xE0, 0x01, 0xFE, 0x00, 0x3E, 0x3C, 0x00, 0x7F, 0xC0, 0x07, + 0xC7, 0x80, 0x0F, 0x78, 0x01, 0xF0, 0xF0, 0x03, 0xEF, 0x00, 0x3E, 0x1E, + 0x00, 0x79, 0xE0, 0x0F, 0x83, 0xC0, 0x1F, 0x3C, 0x01, 0xF0, 0x78, 0x03, + 0xC7, 0x80, 0x3C, 0x0F, 0x00, 0xF8, 0xF0, 0x0F, 0x80, 0xE0, 0x1E, 0x1E, + 0x01, 0xE0, 0x1C, 0x07, 0xC1, 0xC0, 0x7C, 0x03, 0x80, 0xF0, 0x3C, 0x0F, + 0x00, 0x70, 0x3E, 0x07, 0x83, 0xE0, 0x0E, 0x07, 0x80, 0xF0, 0x78, 0x01, + 0xC1, 0xF0, 0x1E, 0x1F, 0x00, 0x3C, 0x3C, 0x03, 0xC3, 0xE0, 0x07, 0x8F, + 0x80, 0x78, 0x78, 0x00, 0xF1, 0xE0, 0x0F, 0x1F, 0x00, 0x1E, 0x7C, 0x01, + 0xE3, 0xC0, 0x03, 0xCF, 0x00, 0x3C, 0xF8, 0x00, 0x7B, 0xE0, 0x07, 0x9E, + 0x00, 0x0F, 0x78, 0x00, 0xF7, 0xC0, 0x01, 0xFF, 0x00, 0x1E, 0xF0, 0x00, + 0x3F, 0xC0, 0x03, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0x80, 0x00, 0xFE, + 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, + 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, + 0x00, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x07, 0xC0, 0x00, 0x3E, 0x00, + 0x7C, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, + 0x00, 0x01, 0xF0, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7C, 0x00, 0x00, 0xF8, + 0x0F, 0x80, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x00, 0x7C, 0x1F, 0x00, 0x00, + 0x07, 0xC3, 0xE0, 0x00, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x03, 0xEF, 0x80, + 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, + 0x03, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x0F, 0xBE, 0x00, + 0x00, 0x01, 0xF3, 0xE0, 0x00, 0x00, 0x3E, 0x1F, 0x00, 0x00, 0x03, 0xE1, + 0xF0, 0x00, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x01, + 0xF0, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x03, 0xE0, + 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x03, 0xF0, 0x00, + 0x1F, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x0F, 0xC0, 0x00, 0x0F, 0x80, 0xF8, + 0x00, 0x00, 0x7D, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x1F, 0x1F, 0x80, + 0x00, 0xF8, 0x3E, 0x00, 0x03, 0xE0, 0xF8, 0x00, 0x1F, 0x01, 0xF0, 0x00, + 0xF8, 0x07, 0xC0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x3E, 0x01, 0xF0, + 0x00, 0xF8, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, + 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x7C, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x01, + 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, + 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, + 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, + 0x1F, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0x03, 0xE0, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0x7F, + 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, + 0xF0, 0x07, 0xFC, 0x01, 0xFE, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, + 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, + 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, + 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, + 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, + 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x0F, 0x00, + 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, + 0xE0, 0x00, 0x7F, 0xC0, 0x3F, 0xE0, 0x0F, 0xF8, 0x03, 0xFE, 0x00, 0xE3, + 0x8E, 0x38, 0xE1, 0x86, 0x18, 0x61, 0x87, 0x1C, 0x71, 0xC7, 0x0C, 0x30, + 0xC3, 0x0C, 0x38, 0xE3, 0x8E, 0x38, 0x61, 0x86, 0x18, 0x61, 0xC7, 0x1C, + 0x71, 0xC0, 0x00, 0x7F, 0xC0, 0x1F, 0xF0, 0x07, 0xFC, 0x03, 0xFE, 0x00, + 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, + 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, + 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, + 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, + 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, + 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x03, + 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x7F, 0x80, 0x3F, 0xE0, + 0x0F, 0xF8, 0x03, 0xFE, 0x00, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x1F, 0x00, + 0x1F, 0xC0, 0x0E, 0xE0, 0x0E, 0x70, 0x0F, 0x38, 0x07, 0x1C, 0x07, 0x0E, + 0x03, 0x83, 0x83, 0x81, 0xC3, 0xC0, 0xE1, 0xC0, 0x71, 0xC0, 0x39, 0xE0, + 0x0E, 0xE0, 0x07, 0xF0, 0x03, 0xF0, 0x01, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xC0, 0xF8, 0x78, 0x3C, 0x1C, 0x0E, 0x0E, 0x07, 0x00, + 0x1F, 0xE0, 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x7E, + 0x07, 0xE1, 0xF0, 0x07, 0xC3, 0xC0, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xE0, 0x0F, 0xFF, + 0xC0, 0xFF, 0xFF, 0x07, 0xFF, 0x9E, 0x1F, 0xC0, 0x3C, 0x7C, 0x00, 0x78, + 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xC7, 0x80, 0x07, 0x8F, 0x00, 0x1F, 0x1E, + 0x00, 0x7E, 0x3F, 0x07, 0xFC, 0x3F, 0xFF, 0x7E, 0x7F, 0xFC, 0xFC, 0x7F, + 0xF0, 0xF8, 0x3F, 0x00, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x83, 0xE0, 0x03, 0xC7, 0xFC, + 0x01, 0xEF, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xF7, 0x83, 0xF0, 0x7F, 0x00, + 0xF8, 0x3F, 0x00, 0x3E, 0x1F, 0x00, 0x0F, 0x1F, 0x80, 0x07, 0x8F, 0x80, + 0x03, 0xC7, 0x80, 0x01, 0xE3, 0xC0, 0x00, 0xF1, 0xE0, 0x00, 0x79, 0xF0, + 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0x78, 0x00, 0x1E, 0x3C, 0x00, 0x0F, 0x1E, + 0x00, 0x0F, 0x9F, 0x00, 0x07, 0x8F, 0xC0, 0x07, 0xC7, 0xE0, 0x07, 0xC3, + 0xF8, 0x07, 0xC1, 0xFE, 0x0F, 0xC1, 0xEF, 0xFF, 0xE0, 0xF3, 0xFF, 0xC0, + 0x78, 0xFF, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xFF, + 0x80, 0x3F, 0xFF, 0x01, 0xFF, 0xFE, 0x0F, 0xE0, 0xF8, 0x7E, 0x01, 0xF1, + 0xF0, 0x03, 0xCF, 0x80, 0x0F, 0x3C, 0x00, 0x3D, 0xF0, 0x00, 0x07, 0x80, + 0x00, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x0F, 0x3C, + 0x00, 0x3C, 0xF8, 0x01, 0xE1, 0xF0, 0x0F, 0x87, 0xE0, 0xFC, 0x0F, 0xFF, + 0xE0, 0x3F, 0xFF, 0x00, 0x7F, 0xF8, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, + 0x3C, 0x00, 0x3F, 0x07, 0x80, 0x1F, 0xF8, 0xF0, 0x0F, 0xFF, 0x3E, 0x03, + 0xFF, 0xF7, 0x80, 0xFC, 0x1F, 0xF0, 0x3F, 0x00, 0xFE, 0x07, 0xC0, 0x0F, + 0xC1, 0xF0, 0x01, 0xF0, 0x3C, 0x00, 0x3E, 0x0F, 0x80, 0x07, 0xC1, 0xE0, + 0x00, 0x78, 0x3C, 0x00, 0x1F, 0x0F, 0x80, 0x03, 0xC1, 0xE0, 0x00, 0x78, + 0x3C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xE0, 0xF0, 0x00, 0x7C, 0x1E, 0x00, + 0x0F, 0x03, 0xC0, 0x03, 0xE0, 0x78, 0x00, 0x7C, 0x0F, 0x80, 0x1F, 0x80, + 0xF8, 0x07, 0xF0, 0x1F, 0x83, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFE, + 0xF0, 0x03, 0xFF, 0x1E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x80, + 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0xFE, 0x0F, 0xC1, + 0xF0, 0x07, 0xC7, 0xC0, 0x0F, 0x8F, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, + 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xBF, 0xFF, 0xFF, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xC0, 0x00, 0x07, 0x80, 0x03, 0xCF, 0x80, 0x0F, 0x0F, 0x80, 0x3E, + 0x1F, 0x81, 0xF8, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0x80, 0x1F, 0xFC, 0x00, + 0x0F, 0xE0, 0x00, 0x00, 0x3E, 0x01, 0xFC, 0x07, 0xF8, 0x0F, 0xE0, 0x3E, + 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x7F, 0xF0, 0xFF, 0xE3, + 0xFF, 0xC0, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x3E, + 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x80, 0x1E, 0x00, + 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, + 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x07, + 0xFE, 0x3C, 0x01, 0xFF, 0xE7, 0x00, 0xFF, 0xFE, 0xE0, 0x1F, 0x83, 0xFC, + 0x07, 0xC0, 0x3F, 0x81, 0xF0, 0x03, 0xF0, 0x3C, 0x00, 0x7C, 0x0F, 0x00, + 0x0F, 0x81, 0xE0, 0x01, 0xF0, 0x78, 0x00, 0x3E, 0x0F, 0x00, 0x07, 0xC1, + 0xE0, 0x00, 0xF0, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xE0, 0x00, + 0xF8, 0x3C, 0x00, 0x1F, 0x07, 0x80, 0x03, 0xC0, 0xF0, 0x00, 0xF8, 0x1E, + 0x00, 0x3F, 0x03, 0xE0, 0x07, 0xE0, 0x3E, 0x01, 0xF8, 0x07, 0xE0, 0xFF, + 0x00, 0x7F, 0xFD, 0xE0, 0x0F, 0xFF, 0x3C, 0x00, 0xFF, 0xCF, 0x00, 0x07, + 0xE1, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x01, 0xE0, 0x03, 0xE0, + 0x3C, 0x00, 0xF8, 0x07, 0xE0, 0x7F, 0x00, 0x7F, 0xFF, 0xC0, 0x0F, 0xFF, + 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x78, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x83, 0xF0, 0x0F, + 0x1F, 0xF0, 0x1E, 0xFF, 0xF0, 0x3F, 0xFF, 0xE0, 0xFF, 0x87, 0xE1, 0xFC, + 0x07, 0xC3, 0xF0, 0x07, 0x87, 0xC0, 0x0F, 0x1F, 0x00, 0x1E, 0x3E, 0x00, + 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0xC7, 0xC0, 0x07, + 0x8F, 0x00, 0x0F, 0x1E, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0x78, 0x00, 0xF1, + 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x0F, 0x8F, 0x00, 0x1E, 0x1E, + 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x01, + 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, 0xC0, + 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, + 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x00, 0x00, 0x07, + 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, + 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, + 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, + 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, + 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, + 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, + 0x78, 0x00, 0x3E, 0x00, 0x7F, 0x80, 0x3F, 0xC0, 0x0F, 0xE0, 0x03, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0x0F, 0x81, 0xE0, 0x0F, 0x80, + 0xF0, 0x0F, 0x80, 0xF0, 0x1F, 0x00, 0x78, 0x1F, 0x00, 0x3C, 0x1F, 0x00, + 0x1E, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x0F, 0x1E, 0x00, 0x07, 0xBF, 0x80, + 0x03, 0xFF, 0xC0, 0x01, 0xFD, 0xE0, 0x01, 0xFC, 0xF8, 0x00, 0xFC, 0x3C, + 0x00, 0x7C, 0x1F, 0x00, 0x3C, 0x07, 0x80, 0x1E, 0x03, 0xC0, 0x1F, 0x01, + 0xF0, 0x0F, 0x00, 0x78, 0x07, 0x80, 0x3E, 0x03, 0xC0, 0x0F, 0x01, 0xE0, + 0x07, 0x81, 0xE0, 0x03, 0xE0, 0xF0, 0x00, 0xF0, 0x78, 0x00, 0x7C, 0x00, + 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x3C, 0x07, + 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, + 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, + 0xF0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x00, 0x00, + 0x07, 0xE0, 0x1F, 0x80, 0xF9, 0xFF, 0x07, 0xFC, 0x0F, 0x3F, 0xF8, 0xFF, + 0xE0, 0xF7, 0xFF, 0x9F, 0xFF, 0x0F, 0xF0, 0xFF, 0xC3, 0xF0, 0xFC, 0x07, + 0xF8, 0x1F, 0x1F, 0x80, 0x3F, 0x00, 0xF1, 0xF0, 0x03, 0xE0, 0x0F, 0x1E, + 0x00, 0x3C, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x0F, 0x1E, 0x00, 0x3C, 0x00, + 0xF1, 0xE0, 0x07, 0x80, 0x0F, 0x3C, 0x00, 0x78, 0x01, 0xF3, 0xC0, 0x07, + 0x80, 0x1E, 0x3C, 0x00, 0x78, 0x01, 0xE3, 0xC0, 0x0F, 0x80, 0x1E, 0x3C, + 0x00, 0xF0, 0x01, 0xE7, 0xC0, 0x0F, 0x00, 0x3C, 0x78, 0x00, 0xF0, 0x03, + 0xC7, 0x80, 0x0F, 0x00, 0x3C, 0x78, 0x01, 0xE0, 0x03, 0xC7, 0x80, 0x1E, + 0x00, 0x3C, 0xF8, 0x01, 0xE0, 0x07, 0x8F, 0x00, 0x1E, 0x00, 0x78, 0xF0, + 0x01, 0xE0, 0x07, 0x8F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x07, 0xE0, 0x1F, + 0x3F, 0xF0, 0x3C, 0xFF, 0xF0, 0x7B, 0xFF, 0xE0, 0xFF, 0x07, 0xE1, 0xF8, + 0x07, 0xC7, 0xE0, 0x07, 0x8F, 0x80, 0x0F, 0x1F, 0x00, 0x1E, 0x3C, 0x00, + 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x07, + 0x8F, 0x00, 0x0F, 0x1E, 0x00, 0x3E, 0x3C, 0x00, 0x78, 0xF0, 0x00, 0xF1, + 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x0F, 0x8F, 0x00, 0x1E, 0x3E, + 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x00, + 0x1F, 0x80, 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0xFE, + 0x0F, 0xC1, 0xF0, 0x0F, 0x87, 0xC0, 0x0F, 0x8F, 0x00, 0x0F, 0x3C, 0x00, + 0x1E, 0x78, 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xC0, 0x00, 0xF7, 0x80, 0x01, + 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x78, 0x00, 0x1E, 0xF0, 0x00, 0x3D, + 0xE0, 0x00, 0xF3, 0xC0, 0x01, 0xE7, 0x80, 0x07, 0x8F, 0x80, 0x1F, 0x0F, + 0x80, 0x7C, 0x1F, 0x83, 0xF8, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x1F, + 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x3C, 0x7F, 0xE0, + 0x07, 0xBF, 0xFE, 0x01, 0xFF, 0xFF, 0xC0, 0x3D, 0xE0, 0xFC, 0x07, 0xF0, + 0x0F, 0x80, 0xFC, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x07, 0xC0, 0x01, 0xE0, + 0xF8, 0x00, 0x3C, 0x1F, 0x00, 0x07, 0x83, 0xC0, 0x00, 0xF0, 0x78, 0x00, + 0x1E, 0x1F, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0xF0, 0x78, 0x00, 0x1E, 0x0F, + 0x00, 0x03, 0xC3, 0xE0, 0x00, 0xF8, 0x7C, 0x00, 0x1E, 0x0F, 0x80, 0x07, + 0xC1, 0xF8, 0x01, 0xF0, 0x3F, 0x80, 0x7C, 0x0F, 0xF8, 0x3F, 0x81, 0xEF, + 0xFF, 0xE0, 0x3C, 0xFF, 0xF8, 0x07, 0x8F, 0xFC, 0x00, 0xF0, 0xFE, 0x00, + 0x3E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x3F, + 0xF8, 0xF0, 0x1F, 0xFF, 0x3C, 0x0F, 0xFF, 0xDF, 0x07, 0xE0, 0xFF, 0x83, + 0xE0, 0x1F, 0xE1, 0xF0, 0x03, 0xF8, 0x78, 0x00, 0xFE, 0x3C, 0x00, 0x1F, + 0x8F, 0x00, 0x07, 0xC7, 0x80, 0x01, 0xF1, 0xE0, 0x00, 0x7C, 0x78, 0x00, + 0x1F, 0x3C, 0x00, 0x0F, 0x8F, 0x00, 0x03, 0xE3, 0xC0, 0x00, 0xF8, 0xF0, + 0x00, 0x3E, 0x3C, 0x00, 0x1F, 0x8F, 0x00, 0x0F, 0xC3, 0xC0, 0x03, 0xF0, + 0xF8, 0x01, 0xFC, 0x1F, 0x00, 0xFF, 0x07, 0xE0, 0xFF, 0xC0, 0xFF, 0xFD, + 0xE0, 0x1F, 0xFE, 0x78, 0x03, 0xFF, 0x3E, 0x00, 0x3F, 0x0F, 0x80, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x07, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x87, 0xCF, 0xC3, 0xCF, 0xE1, 0xEF, + 0xE0, 0xFF, 0x80, 0x7F, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, + 0x00, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, + 0x78, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, + 0x03, 0xC0, 0x03, 0xE0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x00, + 0x00, 0x3F, 0x80, 0x07, 0xFF, 0x00, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0xFC, + 0x1F, 0x87, 0x80, 0x3C, 0x7C, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x00, + 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, + 0xC0, 0x07, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xBC, + 0x00, 0x3D, 0xE0, 0x01, 0xEF, 0x00, 0x1F, 0x7C, 0x01, 0xF3, 0xF0, 0x1F, + 0x8F, 0xFF, 0xF8, 0x7F, 0xFF, 0x80, 0xFF, 0xF0, 0x01, 0xFE, 0x00, 0x03, + 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC1, 0xFF, 0xEF, 0xFF, + 0x7F, 0xF0, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, + 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, + 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0xF0, 0x7F, 0x81, + 0xF8, 0x07, 0xC0, 0x0F, 0x00, 0x0F, 0x0F, 0x00, 0x1E, 0x0F, 0x00, 0x1E, + 0x1F, 0x00, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x3C, + 0x1E, 0x00, 0x3C, 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x3C, 0x3C, 0x00, 0x3C, + 0x3C, 0x00, 0x7C, 0x3C, 0x00, 0x78, 0x78, 0x00, 0x78, 0x78, 0x00, 0x78, + 0x78, 0x00, 0x78, 0x78, 0x00, 0xF8, 0x78, 0x00, 0xF0, 0xF0, 0x01, 0xF0, + 0xF0, 0x03, 0xF0, 0xF0, 0x07, 0xF0, 0xF8, 0x1F, 0xF0, 0xFF, 0xFF, 0xE0, + 0x7F, 0xFD, 0xE0, 0x3F, 0xF1, 0xE0, 0x1F, 0xC0, 0x00, 0xF0, 0x00, 0x7F, + 0xC0, 0x01, 0xEF, 0x00, 0x0F, 0xBC, 0x00, 0x3C, 0x78, 0x01, 0xE1, 0xE0, + 0x07, 0x87, 0x80, 0x3C, 0x1E, 0x01, 0xF0, 0x78, 0x07, 0x81, 0xE0, 0x3E, + 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x80, 0x38, 0x1E, 0x00, 0xF0, 0xF0, 0x03, + 0xC7, 0xC0, 0x0F, 0x1E, 0x00, 0x3C, 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xDE, + 0x00, 0x07, 0x78, 0x00, 0x1F, 0xC0, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x00, + 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x07, 0xC0, 0x0F, 0x78, 0x03, + 0xE0, 0x0F, 0xBC, 0x03, 0xF0, 0x07, 0x9E, 0x01, 0xF8, 0x03, 0xCF, 0x00, + 0xFC, 0x03, 0xC7, 0x80, 0xFE, 0x01, 0xE3, 0xC0, 0x77, 0x01, 0xE0, 0xE0, + 0x7B, 0x80, 0xF0, 0x70, 0x39, 0xC0, 0xF0, 0x38, 0x3C, 0xE0, 0x78, 0x1C, + 0x1E, 0x78, 0x78, 0x0F, 0x1E, 0x3C, 0x3C, 0x07, 0x8F, 0x1E, 0x3C, 0x03, + 0xC7, 0x0F, 0x1E, 0x01, 0xE7, 0x87, 0x9E, 0x00, 0xF3, 0x81, 0xCF, 0x00, + 0x7B, 0xC0, 0xEF, 0x00, 0x3D, 0xC0, 0x77, 0x80, 0x1F, 0xE0, 0x3F, 0x80, + 0x0F, 0xF0, 0x1F, 0xC0, 0x07, 0xF0, 0x0F, 0xC0, 0x01, 0xF8, 0x07, 0xE0, + 0x00, 0xF8, 0x03, 0xE0, 0x00, 0x7C, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0xF0, + 0x00, 0x00, 0x03, 0xC0, 0x07, 0xC0, 0xF8, 0x01, 0xE0, 0x1E, 0x00, 0xF0, + 0x07, 0x80, 0x78, 0x00, 0xF0, 0x3C, 0x00, 0x3C, 0x1F, 0x00, 0x0F, 0x8F, + 0x80, 0x01, 0xE7, 0xC0, 0x00, 0x7D, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x03, + 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0xC0, 0x00, + 0x07, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xF7, 0x80, 0x00, 0xF9, 0xF0, + 0x00, 0x3C, 0x3C, 0x00, 0x1E, 0x0F, 0x80, 0x0F, 0x01, 0xE0, 0x07, 0x80, + 0x7C, 0x03, 0xE0, 0x0F, 0x01, 0xF0, 0x03, 0xE0, 0xF8, 0x00, 0x78, 0x00, + 0x03, 0xC0, 0x01, 0xE0, 0x78, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x01, 0xE0, + 0x03, 0xC0, 0x3C, 0x00, 0x78, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x07, 0xC0, + 0x0F, 0x00, 0xF0, 0x01, 0xE0, 0x3C, 0x00, 0x3C, 0x07, 0x80, 0x07, 0x81, + 0xE0, 0x00, 0xF0, 0x3C, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xC0, 0x00, + 0x3C, 0x78, 0x00, 0x07, 0x9E, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x1E, 0xF0, + 0x00, 0x03, 0xDE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, + 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x01, + 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xE0, + 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, + 0x00, 0x01, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, + 0x00, 0x01, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, + 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, + 0x00, 0x03, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x7E, 0x00, 0xFE, + 0x00, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80, + 0x07, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x00, + 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, + 0x38, 0x00, 0x38, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x00, 0x78, 0x00, + 0x78, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xE0, 0x00, + 0xE0, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x00, 0x70, + 0x07, 0x00, 0x60, 0x06, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0xC0, + 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x00, + 0x30, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0E, 0x00, + 0xE0, 0x0C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0x80, 0x38, 0x03, + 0x80, 0x38, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, + 0x00, 0xE0, 0x06, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x0F, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, + 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x1C, + 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, + 0x00, 0x07, 0x00, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xF0, + 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xE0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80, + 0x0F, 0x00, 0x7F, 0x00, 0x7E, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x01, 0xFE, + 0x00, 0xCF, 0xFC, 0x0E, 0xE3, 0xF0, 0xE6, 0x07, 0xFF, 0x60, 0x0F, 0xF0, + 0x00, 0x1E, 0x00 }; + +const GFXglyph FreeSansOblique24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' + { 0, 11, 34, 13, 6, -33 }, // 0x21 '!' + { 47, 13, 12, 17, 8, -32 }, // 0x22 '"' + { 67, 28, 34, 26, 3, -32 }, // 0x23 '#' + { 186, 26, 42, 26, 3, -35 }, // 0x24 '$' + { 323, 36, 34, 42, 6, -32 }, // 0x25 '%' + { 476, 26, 34, 31, 4, -32 }, // 0x26 '&' + { 587, 5, 12, 9, 8, -32 }, // 0x27 ''' + { 595, 15, 44, 16, 5, -33 }, // 0x28 '(' + { 678, 15, 44, 16, 1, -33 }, // 0x29 ')' + { 761, 14, 13, 18, 8, -33 }, // 0x2A '*' + { 784, 23, 22, 27, 5, -20 }, // 0x2B '+' + { 848, 7, 12, 13, 3, -4 }, // 0x2C ',' + { 859, 12, 4, 16, 5, -14 }, // 0x2D '-' + { 865, 6, 5, 13, 4, -4 }, // 0x2E '.' + { 869, 21, 35, 13, -1, -33 }, // 0x2F '/' + { 961, 23, 34, 26, 5, -32 }, // 0x30 '0' + { 1059, 13, 33, 26, 10, -32 }, // 0x31 '1' + { 1113, 27, 33, 26, 2, -32 }, // 0x32 '2' + { 1225, 25, 34, 26, 3, -32 }, // 0x33 '3' + { 1332, 24, 33, 26, 3, -32 }, // 0x34 '4' + { 1431, 27, 34, 26, 3, -32 }, // 0x35 '5' + { 1546, 24, 34, 26, 4, -32 }, // 0x36 '6' + { 1648, 26, 33, 26, 6, -32 }, // 0x37 '7' + { 1756, 25, 34, 26, 3, -32 }, // 0x38 '8' + { 1863, 24, 34, 26, 4, -32 }, // 0x39 '9' + { 1965, 10, 25, 13, 5, -24 }, // 0x3A ':' + { 1997, 11, 32, 13, 4, -24 }, // 0x3B ';' + { 2041, 26, 23, 27, 4, -22 }, // 0x3C '<' + { 2116, 26, 12, 27, 3, -16 }, // 0x3D '=' + { 2155, 26, 23, 27, 2, -21 }, // 0x3E '>' + { 2230, 20, 35, 26, 9, -34 }, // 0x3F '?' + { 2318, 45, 42, 48, 4, -34 }, // 0x40 '@' + { 2555, 30, 34, 31, 1, -33 }, // 0x41 'A' + { 2683, 29, 34, 31, 4, -33 }, // 0x42 'B' + { 2807, 30, 36, 33, 5, -34 }, // 0x43 'C' + { 2942, 31, 34, 33, 4, -33 }, // 0x44 'D' + { 3074, 31, 34, 31, 4, -33 }, // 0x45 'E' + { 3206, 30, 34, 28, 4, -33 }, // 0x46 'F' + { 3334, 33, 36, 37, 5, -34 }, // 0x47 'G' + { 3483, 33, 34, 34, 4, -33 }, // 0x48 'H' + { 3624, 11, 34, 13, 5, -33 }, // 0x49 'I' + { 3671, 25, 35, 24, 2, -33 }, // 0x4A 'J' + { 3781, 34, 34, 31, 4, -33 }, // 0x4B 'K' + { 3926, 22, 34, 26, 4, -33 }, // 0x4C 'L' + { 4020, 39, 34, 40, 4, -33 }, // 0x4D 'M' + { 4186, 34, 34, 34, 4, -33 }, // 0x4E 'N' + { 4331, 33, 36, 36, 5, -34 }, // 0x4F 'O' + { 4480, 29, 34, 30, 4, -33 }, // 0x50 'P' + { 4604, 33, 38, 36, 5, -34 }, // 0x51 'Q' + { 4761, 30, 34, 33, 4, -33 }, // 0x52 'R' + { 4889, 29, 36, 31, 4, -34 }, // 0x53 'S' + { 5020, 28, 34, 29, 7, -33 }, // 0x54 'T' + { 5139, 31, 35, 34, 6, -33 }, // 0x55 'U' + { 5275, 29, 34, 30, 8, -33 }, // 0x56 'V' + { 5399, 43, 34, 44, 8, -33 }, // 0x57 'W' + { 5582, 36, 34, 31, 1, -33 }, // 0x58 'X' + { 5735, 30, 34, 32, 8, -33 }, // 0x59 'Y' + { 5863, 34, 34, 29, 1, -33 }, // 0x5A 'Z' + { 6008, 18, 44, 13, 1, -33 }, // 0x5B '[' + { 6107, 6, 35, 13, 7, -33 }, // 0x5C '\' + { 6134, 18, 44, 13, -1, -33 }, // 0x5D ']' + { 6233, 17, 18, 22, 6, -32 }, // 0x5E '^' + { 6272, 29, 2, 26, -3, 7 }, // 0x5F '_' + { 6280, 8, 7, 16, 8, -34 }, // 0x60 '`' + { 6287, 23, 27, 26, 3, -25 }, // 0x61 'a' + { 6365, 25, 35, 26, 3, -33 }, // 0x62 'b' + { 6475, 22, 27, 24, 4, -25 }, // 0x63 'c' + { 6550, 27, 35, 26, 4, -33 }, // 0x64 'd' + { 6669, 23, 27, 26, 4, -25 }, // 0x65 'e' + { 6747, 15, 34, 12, 3, -33 }, // 0x66 'f' + { 6811, 27, 36, 26, 2, -25 }, // 0x67 'g' + { 6933, 23, 34, 25, 3, -33 }, // 0x68 'h' + { 7031, 11, 34, 10, 3, -33 }, // 0x69 'i' + { 7078, 18, 44, 11, -2, -33 }, // 0x6A 'j' + { 7177, 25, 34, 24, 3, -33 }, // 0x6B 'k' + { 7284, 11, 34, 10, 3, -33 }, // 0x6C 'l' + { 7331, 36, 26, 38, 3, -25 }, // 0x6D 'm' + { 7448, 23, 26, 25, 3, -25 }, // 0x6E 'n' + { 7523, 23, 27, 26, 4, -25 }, // 0x6F 'o' + { 7601, 27, 36, 26, 1, -25 }, // 0x70 'p' + { 7723, 26, 36, 26, 3, -25 }, // 0x71 'q' + { 7840, 17, 26, 15, 3, -25 }, // 0x72 'r' + { 7896, 21, 27, 24, 3, -25 }, // 0x73 's' + { 7967, 13, 32, 12, 4, -30 }, // 0x74 't' + { 8019, 24, 26, 25, 4, -24 }, // 0x75 'u' + { 8097, 22, 25, 23, 6, -24 }, // 0x76 'v' + { 8166, 33, 25, 34, 6, -24 }, // 0x77 'w' + { 8270, 26, 25, 23, 1, -24 }, // 0x78 'x' + { 8352, 27, 35, 23, 0, -24 }, // 0x79 'y' + { 8471, 25, 25, 23, 1, -24 }, // 0x7A 'z' + { 8550, 16, 44, 16, 5, -33 }, // 0x7B '{' + { 8638, 12, 44, 12, 3, -33 }, // 0x7C '|' + { 8704, 16, 44, 16, -1, -33 }, // 0x7D '}' + { 8792, 21, 7, 27, 6, -19 } }; // 0x7E '~' + +const GFXfont FreeSansOblique24pt7b PROGMEM = { + (uint8_t *)FreeSansOblique24pt7bBitmaps, + (GFXglyph *)FreeSansOblique24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 9483 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h new file mode 100644 index 0000000..18a6cbe --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h @@ -0,0 +1,220 @@ +const uint8_t FreeSansOblique9pt7bBitmaps[] PROGMEM = { + 0x10, 0x84, 0x22, 0x10, 0x84, 0x42, 0x10, 0x08, 0x00, 0xDE, 0xE5, 0x20, + 0x06, 0x40, 0x88, 0x13, 0x06, 0x43, 0xFE, 0x32, 0x04, 0x40, 0x98, 0x32, + 0x1F, 0xF0, 0x98, 0x22, 0x04, 0xC0, 0x02, 0x01, 0xF8, 0x6B, 0x99, 0x33, + 0x40, 0x68, 0x0F, 0x00, 0xF8, 0x07, 0xC1, 0x1B, 0x23, 0x64, 0x4E, 0x98, + 0xFC, 0x04, 0x00, 0x80, 0x3C, 0x08, 0xCC, 0x23, 0x18, 0x86, 0x32, 0x0C, + 0x64, 0x19, 0x90, 0x1E, 0x40, 0x01, 0x1E, 0x02, 0x66, 0x09, 0x8C, 0x23, + 0x18, 0x86, 0x62, 0x07, 0x80, 0x0F, 0x06, 0x63, 0x18, 0xC6, 0x3F, 0x07, + 0x03, 0xC1, 0xB3, 0xC7, 0xB0, 0xCC, 0x33, 0x3E, 0x79, 0x80, 0xFA, 0x04, + 0x10, 0x60, 0x83, 0x04, 0x18, 0x30, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x10, + 0x30, 0x20, 0x08, 0x18, 0x10, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x18, 0x30, + 0x41, 0x82, 0x0C, 0x10, 0x40, 0x19, 0x73, 0x16, 0x48, 0x04, 0x04, 0x02, + 0x1F, 0xF0, 0x80, 0x80, 0x40, 0x20, 0x6D, 0x28, 0xF0, 0xC0, 0x01, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x0F, + 0x19, 0xC8, 0x6C, 0x36, 0x1A, 0x0F, 0x05, 0x86, 0xC3, 0x61, 0xB1, 0x9C, + 0x87, 0x80, 0x08, 0xCD, 0xE3, 0x18, 0xC4, 0x23, 0x18, 0xC4, 0x00, 0x07, + 0x83, 0x1C, 0x41, 0x98, 0x30, 0x06, 0x01, 0x80, 0x60, 0x38, 0x1C, 0x06, + 0x01, 0x80, 0x20, 0x0F, 0xF8, 0x0F, 0x86, 0x73, 0x0C, 0x83, 0x00, 0xC0, + 0x60, 0xE0, 0x06, 0x01, 0xB0, 0x6C, 0x13, 0x8C, 0x7C, 0x00, 0x00, 0x80, + 0xC0, 0xE0, 0xA0, 0x90, 0x98, 0x8C, 0x86, 0xFF, 0x81, 0x01, 0x80, 0xC0, + 0x60, 0x0F, 0xC3, 0x00, 0x40, 0x08, 0x03, 0x00, 0x7F, 0x1C, 0x70, 0x06, + 0x00, 0xC0, 0x1B, 0x06, 0x71, 0x87, 0xE0, 0x0F, 0x86, 0x73, 0x0D, 0x80, + 0x60, 0x1F, 0xCF, 0x3B, 0x86, 0xC1, 0xB0, 0x6C, 0x33, 0x98, 0x3C, 0x00, + 0x7F, 0xC0, 0x20, 0x10, 0x0C, 0x06, 0x01, 0x00, 0x80, 0x60, 0x10, 0x0C, + 0x02, 0x01, 0x80, 0x40, 0x00, 0x0F, 0x86, 0x73, 0x0C, 0xC3, 0x30, 0xCC, + 0x61, 0xE1, 0x86, 0x41, 0xB0, 0x6C, 0x13, 0x8C, 0x3E, 0x00, 0x0F, 0x06, + 0x73, 0x0D, 0x83, 0x60, 0xD8, 0x77, 0x3C, 0xFE, 0x01, 0x80, 0x6C, 0x33, + 0x98, 0x7C, 0x00, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x00, 0x00, + 0x0C, 0x62, 0x11, 0x00, 0x00, 0x01, 0xC3, 0x8F, 0x0C, 0x07, 0x00, 0xE0, + 0x1E, 0x01, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x40, 0x3C, 0x03, 0x80, + 0x70, 0x18, 0x78, 0xE1, 0xC0, 0x00, 0x00, 0x1F, 0x30, 0xD0, 0x78, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, + 0x00, 0xC0, 0xE0, 0xC0, 0x18, 0x61, 0xD3, 0x31, 0x9C, 0xD8, 0xC2, 0x36, + 0x31, 0x8F, 0x18, 0x67, 0xC6, 0x11, 0xB1, 0x8C, 0xCC, 0x67, 0x63, 0x0E, + 0xF0, 0x60, 0x00, 0x1C, 0x00, 0x01, 0x81, 0x00, 0x1F, 0xC0, 0x01, 0xC0, + 0x1C, 0x03, 0xC0, 0x24, 0x06, 0x60, 0x46, 0x0C, 0x61, 0x86, 0x1F, 0xE3, + 0x06, 0x20, 0x26, 0x03, 0x40, 0x30, 0x1F, 0xE1, 0x87, 0x30, 0x33, 0x03, + 0x30, 0x23, 0x06, 0x3F, 0xC6, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x0C, + 0x7F, 0x80, 0x07, 0xC1, 0x86, 0x30, 0x32, 0x03, 0x60, 0x04, 0x00, 0xC0, + 0x0C, 0x00, 0xC0, 0x6C, 0x06, 0xC0, 0xC6, 0x18, 0x3E, 0x00, 0x1F, 0xE0, + 0xC1, 0x84, 0x06, 0x60, 0x33, 0x01, 0x98, 0x0C, 0x80, 0x64, 0x02, 0x60, + 0x33, 0x01, 0x98, 0x18, 0x81, 0x87, 0xF0, 0x00, 0x1F, 0xF1, 0x80, 0x10, + 0x03, 0x00, 0x30, 0x03, 0x00, 0x3F, 0xE2, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x04, 0x00, 0x7F, 0xC0, 0x1F, 0xF1, 0x80, 0x10, 0x03, 0x00, 0x30, 0x03, + 0x00, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, 0x04, 0x00, 0x40, 0x00, + 0x07, 0xE0, 0xE1, 0x8C, 0x06, 0xC0, 0x36, 0x00, 0x60, 0x03, 0x07, 0xF8, + 0x02, 0xC0, 0x36, 0x01, 0x98, 0x1C, 0xE1, 0xC1, 0xF2, 0x00, 0x18, 0x08, + 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, 0x18, 0xFF, 0xC4, 0x06, 0x60, + 0x23, 0x01, 0x18, 0x18, 0x80, 0xC4, 0x06, 0x00, 0x33, 0x32, 0x26, 0x66, + 0x44, 0xCC, 0xC0, 0x00, 0xC0, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x30, + 0x0C, 0x03, 0x30, 0xCC, 0x63, 0x18, 0x7C, 0x00, 0x18, 0x18, 0x60, 0xC1, + 0x0E, 0x0C, 0x60, 0x33, 0x00, 0xD8, 0x03, 0xF0, 0x0C, 0xC0, 0x61, 0x81, + 0x86, 0x06, 0x0C, 0x10, 0x30, 0x40, 0x60, 0x18, 0x0C, 0x04, 0x06, 0x03, + 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x18, 0x08, 0x07, 0xF8, 0x18, 0x06, + 0x18, 0x0E, 0x18, 0x0E, 0x34, 0x1E, 0x34, 0x36, 0x34, 0x34, 0x24, 0x64, + 0x24, 0x6C, 0x64, 0xCC, 0x64, 0x8C, 0x65, 0x88, 0x43, 0x08, 0x43, 0x18, + 0x18, 0x08, 0xE0, 0x47, 0x06, 0x6C, 0x33, 0x61, 0x99, 0x08, 0x8C, 0xC4, + 0x66, 0x61, 0xB3, 0x0D, 0x18, 0x38, 0x81, 0xC4, 0x06, 0x00, 0x07, 0xC0, + 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, + 0x36, 0x01, 0xB8, 0x18, 0xE1, 0x81, 0xF0, 0x00, 0x1F, 0xE1, 0x83, 0x10, + 0x33, 0x03, 0x30, 0x33, 0x06, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x04, 0x00, 0x40, 0x00, 0x07, 0xC0, 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x36, 0x09, 0xB8, 0x78, 0xE3, 0x81, + 0xF6, 0x00, 0x10, 0x1F, 0xF0, 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, + 0x18, 0xFF, 0x04, 0x0C, 0x60, 0x63, 0x03, 0x18, 0x18, 0x80, 0xC4, 0x06, + 0x00, 0x07, 0xC1, 0x87, 0x30, 0x33, 0x03, 0x30, 0x03, 0xC0, 0x0F, 0xC0, + 0x1E, 0x00, 0x6C, 0x06, 0xC0, 0x46, 0x0C, 0x3F, 0x00, 0xFF, 0xC3, 0x00, + 0xC0, 0x20, 0x18, 0x06, 0x01, 0x80, 0x60, 0x10, 0x0C, 0x03, 0x00, 0xC0, + 0x20, 0x00, 0x30, 0x13, 0x03, 0x20, 0x36, 0x03, 0x60, 0x26, 0x06, 0x60, + 0x64, 0x06, 0xC0, 0x6C, 0x04, 0xC0, 0xCE, 0x18, 0x3E, 0x00, 0xC0, 0x78, + 0x0B, 0x03, 0x20, 0xC4, 0x18, 0xC6, 0x18, 0x83, 0x30, 0x64, 0x0D, 0x80, + 0xA0, 0x1C, 0x03, 0x00, 0xC1, 0x83, 0xC1, 0x83, 0xC3, 0x86, 0xC2, 0x86, + 0xC6, 0x84, 0xC4, 0x8C, 0xCC, 0xC8, 0xC8, 0xD8, 0xD8, 0xD0, 0xD0, 0xF0, + 0x70, 0xE0, 0x60, 0xE0, 0x60, 0xE0, 0x0C, 0x0C, 0x30, 0x60, 0x63, 0x01, + 0x98, 0x02, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, 0x0C, 0x80, 0x33, 0x01, + 0x8C, 0x0C, 0x18, 0x60, 0x60, 0xC0, 0x66, 0x0C, 0x60, 0xC2, 0x18, 0x33, + 0x03, 0x60, 0x1C, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x00, 0x30, + 0x00, 0x1F, 0xF0, 0x07, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, + 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x00, 0xFF, 0xC0, 0x0E, 0x10, 0x20, + 0x41, 0x02, 0x04, 0x08, 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0x20, 0xE0, + 0xAA, 0xA9, 0x55, 0x40, 0x0E, 0x08, 0x10, 0x20, 0x41, 0x02, 0x04, 0x08, + 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0xE0, 0x0C, 0x18, 0x51, 0xA2, 0x4C, + 0x50, 0x80, 0xFF, 0xE0, 0xC8, 0x80, 0x0F, 0x86, 0x33, 0x0C, 0x03, 0x03, + 0xDF, 0xEE, 0x0B, 0x02, 0xC1, 0x9F, 0xE0, 0x10, 0x04, 0x01, 0x00, 0xDC, + 0x39, 0x88, 0x32, 0x0D, 0x83, 0x40, 0xD0, 0x64, 0x1B, 0x8C, 0xBC, 0x00, + 0x1F, 0x18, 0xD8, 0x6C, 0x0C, 0x06, 0x03, 0x01, 0x86, 0x66, 0x3E, 0x00, + 0x00, 0x20, 0x08, 0x01, 0x0F, 0x23, 0x14, 0xC1, 0x18, 0x26, 0x04, 0xC0, + 0x98, 0x23, 0x04, 0x71, 0x87, 0xD0, 0x0F, 0x0C, 0x76, 0x0D, 0x83, 0xFF, + 0xF0, 0x0C, 0x03, 0x06, 0x63, 0x0F, 0x80, 0x1C, 0xC2, 0x1E, 0x20, 0x84, + 0x10, 0x41, 0x04, 0x20, 0x80, 0x0F, 0x46, 0x33, 0x0C, 0xC1, 0x60, 0xD8, + 0x26, 0x09, 0x86, 0x71, 0x8F, 0xE0, 0x10, 0x04, 0xC2, 0x1F, 0x00, 0x10, + 0x04, 0x01, 0x00, 0x9F, 0x39, 0x88, 0x22, 0x09, 0x02, 0x40, 0x90, 0x44, + 0x12, 0x04, 0x81, 0x00, 0x10, 0x02, 0x22, 0x64, 0x44, 0x48, 0x80, 0x04, + 0x00, 0x01, 0x08, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0x42, 0x08, 0xE0, + 0x10, 0x08, 0x04, 0x04, 0x32, 0x31, 0x20, 0xA0, 0xB8, 0x6C, 0x22, 0x11, + 0x90, 0xC8, 0x30, 0x11, 0x22, 0x22, 0x64, 0x44, 0x48, 0x80, 0x2F, 0x3C, + 0x63, 0x8C, 0x86, 0x19, 0x08, 0x44, 0x10, 0x88, 0x21, 0x10, 0x82, 0x21, + 0x04, 0x82, 0x11, 0x04, 0x20, 0x00, 0x0B, 0xF3, 0x18, 0x82, 0x20, 0x90, + 0x24, 0x09, 0x04, 0x41, 0x20, 0x48, 0x10, 0x0F, 0x0C, 0x76, 0x0D, 0x83, + 0xC0, 0xF0, 0x3C, 0x1B, 0x06, 0xE3, 0x0F, 0x00, 0x17, 0xC3, 0x1C, 0x41, + 0x98, 0x32, 0x06, 0x40, 0xC8, 0x33, 0x06, 0x71, 0x8B, 0xC1, 0x00, 0x20, + 0x08, 0x01, 0x00, 0x00, 0x1E, 0xCC, 0x66, 0x09, 0x82, 0xC0, 0xB0, 0x4C, + 0x13, 0x04, 0x63, 0x0F, 0xC0, 0x20, 0x08, 0x02, 0x00, 0x80, 0x2C, 0x60, + 0x81, 0x04, 0x08, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x33, 0x63, 0x60, 0x70, + 0x1E, 0x03, 0xC3, 0xC6, 0x7C, 0x22, 0xF2, 0x44, 0x44, 0xCC, 0xCE, 0x21, + 0x20, 0x90, 0x48, 0x24, 0x12, 0x13, 0x09, 0x84, 0xE6, 0x3E, 0x00, 0xC1, + 0xE1, 0xB0, 0xC8, 0xC4, 0x43, 0x61, 0xA0, 0xF0, 0x70, 0x18, 0x00, 0xC7, + 0x1E, 0x38, 0xB3, 0xCD, 0x96, 0x4C, 0xB6, 0x6D, 0xB1, 0x4D, 0x0E, 0x78, + 0x63, 0x83, 0x1C, 0x00, 0x10, 0xC3, 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, + 0x07, 0x81, 0x90, 0x23, 0x08, 0x20, 0x30, 0x46, 0x18, 0x42, 0x08, 0xC1, + 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, 0x03, 0x00, 0x60, 0x08, 0x03, 0x01, + 0xC0, 0x00, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, + 0x7F, 0x00, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC3, 0x18, 0x88, 0x42, 0x18, + 0xE0, 0x11, 0x22, 0x22, 0x24, 0x44, 0x4C, 0x88, 0x88, 0x00, 0x38, 0xC2, + 0x10, 0x88, 0xC6, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC0, 0x70, 0x4E, 0x41, + 0xC0 }; + +const GFXglyph FreeSansOblique9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 5, 13, 5, 2, -12 }, // 0x21 '!' + { 9, 5, 4, 6, 3, -12 }, // 0x22 '"' + { 12, 11, 13, 10, 1, -12 }, // 0x23 '#' + { 30, 11, 16, 10, 1, -13 }, // 0x24 '$' + { 52, 15, 13, 16, 2, -12 }, // 0x25 '%' + { 77, 10, 13, 12, 2, -12 }, // 0x26 '&' + { 94, 2, 4, 3, 3, -12 }, // 0x27 ''' + { 95, 7, 17, 6, 2, -12 }, // 0x28 '(' + { 110, 7, 17, 6, -1, -12 }, // 0x29 ')' + { 125, 6, 5, 7, 3, -12 }, // 0x2A '*' + { 129, 9, 8, 11, 2, -7 }, // 0x2B '+' + { 138, 3, 5, 5, 1, -1 }, // 0x2C ',' + { 140, 4, 1, 6, 2, -4 }, // 0x2D '-' + { 141, 2, 1, 5, 2, 0 }, // 0x2E '.' + { 142, 8, 13, 5, 0, -12 }, // 0x2F '/' + { 155, 9, 13, 10, 2, -12 }, // 0x30 '0' + { 170, 5, 13, 10, 4, -12 }, // 0x31 '1' + { 179, 11, 13, 10, 1, -12 }, // 0x32 '2' + { 197, 10, 13, 10, 1, -12 }, // 0x33 '3' + { 214, 9, 13, 10, 1, -12 }, // 0x34 '4' + { 229, 11, 13, 10, 1, -12 }, // 0x35 '5' + { 247, 10, 13, 10, 2, -12 }, // 0x36 '6' + { 264, 10, 13, 10, 2, -12 }, // 0x37 '7' + { 281, 10, 13, 10, 1, -12 }, // 0x38 '8' + { 298, 10, 13, 10, 1, -12 }, // 0x39 '9' + { 315, 4, 9, 5, 2, -8 }, // 0x3A ':' + { 320, 5, 12, 5, 1, -8 }, // 0x3B ';' + { 328, 9, 9, 11, 2, -8 }, // 0x3C '<' + { 339, 10, 4, 11, 1, -5 }, // 0x3D '=' + { 344, 9, 9, 11, 1, -7 }, // 0x3E '>' + { 355, 9, 13, 10, 3, -12 }, // 0x3F '?' + { 370, 18, 16, 18, 1, -12 }, // 0x40 '@' + { 406, 12, 13, 12, 0, -12 }, // 0x41 'A' + { 426, 12, 13, 12, 1, -12 }, // 0x42 'B' + { 446, 12, 13, 13, 2, -12 }, // 0x43 'C' + { 466, 13, 13, 13, 1, -12 }, // 0x44 'D' + { 488, 12, 13, 12, 1, -12 }, // 0x45 'E' + { 508, 12, 13, 11, 1, -12 }, // 0x46 'F' + { 528, 13, 13, 14, 2, -12 }, // 0x47 'G' + { 550, 13, 13, 13, 1, -12 }, // 0x48 'H' + { 572, 4, 13, 5, 2, -12 }, // 0x49 'I' + { 579, 10, 13, 9, 1, -12 }, // 0x4A 'J' + { 596, 14, 13, 12, 1, -12 }, // 0x4B 'K' + { 619, 9, 13, 10, 1, -12 }, // 0x4C 'L' + { 634, 16, 13, 15, 1, -12 }, // 0x4D 'M' + { 660, 13, 13, 13, 1, -12 }, // 0x4E 'N' + { 682, 13, 13, 14, 2, -12 }, // 0x4F 'O' + { 704, 12, 13, 12, 1, -12 }, // 0x50 'P' + { 724, 13, 14, 14, 2, -12 }, // 0x51 'Q' + { 747, 13, 13, 13, 1, -12 }, // 0x52 'R' + { 769, 12, 13, 12, 1, -12 }, // 0x53 'S' + { 789, 10, 13, 11, 3, -12 }, // 0x54 'T' + { 806, 12, 13, 13, 2, -12 }, // 0x55 'U' + { 826, 11, 13, 12, 3, -12 }, // 0x56 'V' + { 844, 16, 13, 17, 3, -12 }, // 0x57 'W' + { 870, 14, 13, 12, 0, -12 }, // 0x58 'X' + { 893, 12, 13, 12, 3, -12 }, // 0x59 'Y' + { 913, 12, 13, 11, 1, -12 }, // 0x5A 'Z' + { 933, 7, 17, 5, 0, -12 }, // 0x5B '[' + { 948, 2, 13, 5, 3, -12 }, // 0x5C '\' + { 952, 7, 17, 5, 0, -12 }, // 0x5D ']' + { 967, 7, 7, 8, 2, -12 }, // 0x5E '^' + { 974, 11, 1, 10, -1, 3 }, // 0x5F '_' + { 976, 3, 3, 6, 3, -12 }, // 0x60 '`' + { 978, 10, 10, 10, 1, -9 }, // 0x61 'a' + { 991, 10, 13, 10, 1, -12 }, // 0x62 'b' + { 1008, 9, 10, 9, 1, -9 }, // 0x63 'c' + { 1020, 11, 13, 10, 1, -12 }, // 0x64 'd' + { 1038, 10, 10, 10, 1, -9 }, // 0x65 'e' + { 1051, 6, 13, 5, 1, -12 }, // 0x66 'f' + { 1061, 10, 14, 10, 0, -9 }, // 0x67 'g' + { 1079, 10, 13, 10, 1, -12 }, // 0x68 'h' + { 1096, 4, 13, 4, 1, -12 }, // 0x69 'i' + { 1103, 6, 17, 4, -1, -12 }, // 0x6A 'j' + { 1116, 9, 13, 9, 1, -12 }, // 0x6B 'k' + { 1131, 4, 13, 4, 1, -12 }, // 0x6C 'l' + { 1138, 15, 10, 15, 1, -9 }, // 0x6D 'm' + { 1157, 10, 11, 10, 1, -10 }, // 0x6E 'n' + { 1171, 10, 10, 10, 1, -9 }, // 0x6F 'o' + { 1184, 11, 14, 10, 0, -9 }, // 0x70 'p' + { 1204, 10, 14, 10, 1, -9 }, // 0x71 'q' + { 1222, 7, 10, 6, 1, -9 }, // 0x72 'r' + { 1231, 8, 10, 9, 1, -9 }, // 0x73 's' + { 1241, 4, 12, 5, 2, -11 }, // 0x74 't' + { 1247, 9, 10, 10, 2, -9 }, // 0x75 'u' + { 1259, 9, 10, 9, 2, -9 }, // 0x76 'v' + { 1271, 13, 10, 13, 2, -9 }, // 0x77 'w' + { 1288, 11, 10, 9, 0, -9 }, // 0x78 'x' + { 1302, 11, 14, 9, 0, -9 }, // 0x79 'y' + { 1322, 9, 10, 9, 1, -9 }, // 0x7A 'z' + { 1334, 5, 17, 6, 2, -12 }, // 0x7B '{' + { 1345, 4, 17, 5, 1, -12 }, // 0x7C '|' + { 1354, 5, 17, 6, 0, -12 }, // 0x7D '}' + { 1365, 9, 3, 11, 2, -7 } }; // 0x7E '~' + +const GFXfont FreeSansOblique9pt7b PROGMEM = { + (uint8_t *)FreeSansOblique9pt7bBitmaps, + (GFXglyph *)FreeSansOblique9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 2041 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h new file mode 100644 index 0000000..48ad3da --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h @@ -0,0 +1,259 @@ +const uint8_t FreeSerif12pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFE, 0xA8, 0x3F, 0xCF, 0x3C, 0xF3, 0x8A, 0x20, 0x0C, 0x40, 0xC4, + 0x08, 0x40, 0x8C, 0x08, 0xC7, 0xFF, 0x18, 0x81, 0x88, 0x10, 0x81, 0x08, + 0xFF, 0xE1, 0x18, 0x31, 0x03, 0x10, 0x31, 0x02, 0x10, 0x04, 0x07, 0xC6, + 0x5B, 0x12, 0xC4, 0xB1, 0x0F, 0x41, 0xF0, 0x1E, 0x01, 0xE0, 0x58, 0x13, + 0x84, 0xE1, 0x3C, 0x4F, 0x96, 0x3F, 0x01, 0x00, 0x00, 0x04, 0x03, 0x83, + 0x03, 0x9F, 0x81, 0xC2, 0x20, 0x60, 0x90, 0x38, 0x24, 0x0C, 0x12, 0x03, + 0x0D, 0x00, 0xC6, 0x47, 0x9E, 0x23, 0x10, 0x09, 0x84, 0x04, 0xE1, 0x03, + 0x30, 0x40, 0x8C, 0x20, 0x43, 0x08, 0x10, 0xC4, 0x08, 0x1E, 0x00, 0x03, + 0xC0, 0x02, 0x30, 0x03, 0x08, 0x01, 0x84, 0x00, 0xC4, 0x00, 0x7C, 0xF8, + 0x1C, 0x38, 0x1E, 0x08, 0x33, 0x0C, 0x31, 0xC4, 0x10, 0x74, 0x18, 0x3A, + 0x0C, 0x0E, 0x07, 0x03, 0x83, 0xC3, 0xE2, 0x7E, 0x3E, 0xFF, 0xA0, 0x04, + 0x21, 0x08, 0x61, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC1, 0x04, 0x18, 0x20, + 0x40, 0x81, 0x81, 0x02, 0x04, 0x18, 0x20, 0x83, 0x0C, 0x30, 0xC3, 0x0C, + 0x30, 0x86, 0x10, 0x84, 0x20, 0x30, 0xB3, 0xD7, 0x54, 0x38, 0x7C, 0xD3, + 0x30, 0x30, 0x10, 0x04, 0x00, 0x80, 0x10, 0x02, 0x00, 0x41, 0xFF, 0xC1, + 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, 0x00, 0xDF, 0x95, 0x00, 0xFC, 0xFC, + 0x06, 0x0C, 0x10, 0x60, 0xC1, 0x06, 0x0C, 0x10, 0x60, 0xC1, 0x06, 0x0C, + 0x10, 0x60, 0xC0, 0x1E, 0x0C, 0xC6, 0x19, 0x86, 0xC0, 0xB0, 0x3C, 0x0F, + 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xD8, 0x66, 0x18, 0xCC, 0x1E, + 0x00, 0x11, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, + 0x0C, 0xFC, 0x1E, 0x18, 0xC4, 0x1A, 0x06, 0x01, 0x80, 0x60, 0x10, 0x0C, + 0x02, 0x01, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x1F, 0xF8, 0x1E, 0x18, 0xE8, + 0x18, 0x06, 0x01, 0x00, 0x80, 0xF0, 0x7E, 0x03, 0xC0, 0x70, 0x0C, 0x03, + 0x00, 0xC0, 0x6E, 0x11, 0xF8, 0x01, 0x00, 0xC0, 0x70, 0x2C, 0x0B, 0x04, + 0xC2, 0x30, 0x8C, 0x43, 0x20, 0xC8, 0x33, 0xFF, 0x03, 0x00, 0xC0, 0x30, + 0x0C, 0x00, 0x03, 0xF1, 0x00, 0x40, 0x18, 0x0F, 0x80, 0xF8, 0x0E, 0x01, + 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x20, 0x1B, 0x8C, 0x7C, 0x00, 0x01, + 0xC3, 0xC1, 0xC0, 0xC0, 0x70, 0x18, 0x0E, 0xF3, 0xCE, 0xC1, 0xF0, 0x3C, + 0x0F, 0x03, 0xC0, 0xD8, 0x36, 0x08, 0xC6, 0x1E, 0x00, 0x3F, 0xD0, 0x38, + 0x08, 0x06, 0x01, 0x80, 0x40, 0x10, 0x0C, 0x02, 0x00, 0x80, 0x20, 0x10, + 0x04, 0x01, 0x00, 0x80, 0x20, 0x1F, 0x18, 0x6C, 0x0F, 0x03, 0xC0, 0xF8, + 0x67, 0x30, 0xF0, 0x1E, 0x09, 0xE6, 0x3B, 0x07, 0xC0, 0xF0, 0x3C, 0x0D, + 0x86, 0x1F, 0x00, 0x1E, 0x08, 0xC6, 0x1B, 0x02, 0xC0, 0xF0, 0x3C, 0x0F, + 0x03, 0xE0, 0xDC, 0x73, 0xEC, 0x06, 0x01, 0x80, 0xC0, 0x70, 0x38, 0x38, + 0x18, 0x00, 0xFC, 0x00, 0x3F, 0xCC, 0xC0, 0x00, 0x00, 0x06, 0x77, 0x12, + 0x40, 0x00, 0x00, 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xC0, 0x0F, + 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x00, 0x10, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x0E, 0x00, 0x3C, 0x00, 0xF0, + 0x03, 0xC0, 0x0F, 0x00, 0x30, 0x0E, 0x07, 0x81, 0xE0, 0x78, 0x0E, 0x00, + 0x00, 0x00, 0x7C, 0x86, 0x83, 0xC3, 0x03, 0x03, 0x06, 0x0C, 0x08, 0x08, + 0x10, 0x10, 0x00, 0x00, 0x30, 0x30, 0x30, 0x03, 0xF0, 0x06, 0x06, 0x06, + 0x00, 0x86, 0x00, 0x26, 0x0E, 0xD3, 0x0C, 0xC7, 0x0C, 0x63, 0x84, 0x31, + 0xC6, 0x18, 0xE3, 0x08, 0x71, 0x8C, 0x4C, 0xC6, 0x46, 0x3D, 0xC1, 0x80, + 0x00, 0x30, 0x10, 0x07, 0xF0, 0x00, 0x80, 0x00, 0x60, 0x00, 0x70, 0x00, + 0x38, 0x00, 0x2E, 0x00, 0x13, 0x00, 0x19, 0xC0, 0x08, 0x60, 0x04, 0x38, + 0x04, 0x0C, 0x03, 0xFF, 0x03, 0x03, 0x81, 0x00, 0xE1, 0x80, 0x70, 0xC0, + 0x3D, 0xF0, 0x3F, 0xFF, 0x83, 0x0C, 0x30, 0x63, 0x06, 0x30, 0x63, 0x06, + 0x30, 0xC3, 0xF0, 0x30, 0xE3, 0x06, 0x30, 0x33, 0x03, 0x30, 0x33, 0x07, + 0x30, 0xEF, 0xFC, 0x07, 0xE2, 0x38, 0x3C, 0xC0, 0x3B, 0x00, 0x36, 0x00, + 0x38, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x03, + 0x00, 0x06, 0x00, 0x06, 0x00, 0x47, 0x03, 0x03, 0xF8, 0xFF, 0xC0, 0x30, + 0x78, 0x30, 0x1C, 0x30, 0x0E, 0x30, 0x06, 0x30, 0x03, 0x30, 0x03, 0x30, + 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x06, 0x30, 0x06, 0x30, + 0x0C, 0x30, 0x78, 0xFF, 0xC0, 0xFF, 0xFC, 0xC0, 0x33, 0x00, 0x4C, 0x00, + 0x30, 0x00, 0xC0, 0x43, 0x03, 0x0F, 0xFC, 0x30, 0x30, 0xC0, 0x43, 0x00, + 0x0C, 0x00, 0x30, 0x08, 0xC0, 0x23, 0x03, 0xBF, 0xFE, 0xFF, 0xFC, 0xC0, + 0x33, 0x00, 0x4C, 0x00, 0x30, 0x00, 0xC0, 0x43, 0x03, 0x0F, 0xFC, 0x30, + 0x30, 0xC0, 0x43, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x3F, + 0x00, 0x07, 0xE4, 0x1C, 0x3C, 0x30, 0x0C, 0x60, 0x0C, 0x60, 0x04, 0xC0, + 0x00, 0xC0, 0x00, 0xC0, 0x3F, 0xC0, 0x0C, 0xC0, 0x0C, 0xC0, 0x0C, 0x60, + 0x0C, 0x60, 0x0C, 0x30, 0x0C, 0x1C, 0x1C, 0x07, 0xE0, 0xFC, 0x3F, 0x30, + 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x3F, + 0xFC, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, + 0x0C, 0x30, 0x0C, 0xFC, 0x3F, 0xFC, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, + 0xC3, 0x0C, 0x30, 0xC3, 0x3F, 0x3F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xC8, 0xF0, 0xFC, 0xFE, 0x30, + 0x38, 0x30, 0x20, 0x30, 0x40, 0x30, 0x80, 0x33, 0x00, 0x36, 0x00, 0x3E, + 0x00, 0x37, 0x00, 0x33, 0x80, 0x31, 0xC0, 0x30, 0xE0, 0x30, 0x70, 0x30, + 0x38, 0x30, 0x3C, 0xFC, 0x7F, 0xFC, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, + 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, + 0xC0, 0x01, 0x80, 0x03, 0x00, 0x26, 0x00, 0x8C, 0x07, 0x7F, 0xFE, 0xF8, + 0x01, 0xE7, 0x00, 0x70, 0xE0, 0x0E, 0x1E, 0x03, 0xC2, 0xC0, 0x58, 0x5C, + 0x1B, 0x09, 0x82, 0x61, 0x38, 0x4C, 0x27, 0x11, 0x84, 0x72, 0x30, 0x8E, + 0xC6, 0x10, 0xD0, 0xC2, 0x1E, 0x18, 0x41, 0x83, 0x1C, 0x30, 0x67, 0xC4, + 0x3F, 0xF0, 0x1F, 0x78, 0x0E, 0x3C, 0x04, 0x3E, 0x04, 0x2E, 0x04, 0x27, + 0x04, 0x23, 0x84, 0x23, 0xC4, 0x21, 0xE4, 0x20, 0xE4, 0x20, 0x74, 0x20, + 0x3C, 0x20, 0x1C, 0x20, 0x0C, 0x70, 0x0C, 0xF8, 0x04, 0x07, 0xC0, 0x30, + 0x60, 0xC0, 0x63, 0x00, 0x66, 0x00, 0xD8, 0x00, 0xF0, 0x01, 0xE0, 0x03, + 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1B, 0x00, 0x66, 0x00, 0xC6, 0x03, 0x06, + 0x0C, 0x03, 0xE0, 0xFF, 0x83, 0x0E, 0x30, 0x73, 0x03, 0x30, 0x33, 0x03, + 0x30, 0x63, 0x0E, 0x3F, 0x83, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, + 0x30, 0x0F, 0xC0, 0x0F, 0xE0, 0x18, 0x30, 0x30, 0x18, 0x60, 0x0C, 0x60, + 0x0C, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, + 0x06, 0x60, 0x0C, 0x60, 0x0C, 0x30, 0x18, 0x18, 0x30, 0x07, 0xC0, 0x03, + 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1F, 0xFF, 0x80, 0x61, 0xC0, 0xC1, + 0xC1, 0x81, 0x83, 0x03, 0x06, 0x06, 0x0C, 0x1C, 0x18, 0x70, 0x3F, 0x80, + 0x67, 0x00, 0xC7, 0x01, 0x8F, 0x03, 0x0F, 0x06, 0x0E, 0x0C, 0x0E, 0x7E, + 0x0F, 0x1F, 0x46, 0x19, 0x81, 0x30, 0x27, 0x02, 0xF0, 0x0F, 0x00, 0xF8, + 0x07, 0xC0, 0x38, 0x03, 0xC0, 0x34, 0x06, 0x80, 0xDC, 0x32, 0x7C, 0xFF, + 0xFF, 0x86, 0x0E, 0x0C, 0x1C, 0x18, 0x10, 0x30, 0x00, 0x60, 0x00, 0xC0, + 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, + 0x60, 0x00, 0xC0, 0x07, 0xE0, 0xFC, 0x1F, 0x30, 0x0E, 0x30, 0x04, 0x30, + 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, + 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x18, 0x08, 0x1C, 0x18, 0x07, + 0xE0, 0xFE, 0x0F, 0x9C, 0x03, 0x0E, 0x01, 0x83, 0x00, 0x81, 0xC0, 0x40, + 0x60, 0x40, 0x38, 0x20, 0x0C, 0x30, 0x07, 0x10, 0x01, 0x98, 0x00, 0xE8, + 0x00, 0x34, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x00, 0xFC, + 0xFC, 0x3D, 0xE1, 0xC0, 0x63, 0x83, 0x01, 0x86, 0x0E, 0x04, 0x1C, 0x18, + 0x10, 0x70, 0x70, 0x80, 0xC3, 0xC2, 0x03, 0x8B, 0x08, 0x06, 0x6E, 0x40, + 0x1D, 0x19, 0x00, 0x74, 0x78, 0x00, 0xE1, 0xE0, 0x03, 0x83, 0x80, 0x0E, + 0x0C, 0x00, 0x10, 0x10, 0x00, 0x40, 0x40, 0x7F, 0x1F, 0x9E, 0x03, 0x07, + 0x03, 0x01, 0xC3, 0x00, 0x71, 0x00, 0x19, 0x00, 0x0F, 0x00, 0x03, 0x80, + 0x01, 0xE0, 0x01, 0xB0, 0x01, 0x9C, 0x00, 0x87, 0x00, 0x81, 0xC0, 0x80, + 0xE0, 0xC0, 0x79, 0xF8, 0x7F, 0xFE, 0x1F, 0x78, 0x0C, 0x38, 0x08, 0x1C, + 0x18, 0x0E, 0x10, 0x06, 0x20, 0x07, 0x60, 0x03, 0xC0, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x07, + 0xE0, 0x7F, 0xFB, 0x00, 0xC8, 0x07, 0x20, 0x38, 0x01, 0xC0, 0x07, 0x00, + 0x38, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x05, + 0xC0, 0x3E, 0x01, 0xBF, 0xFE, 0xFE, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, + 0x8C, 0x63, 0x18, 0xC6, 0x31, 0xF0, 0xC1, 0x81, 0x03, 0x06, 0x04, 0x0C, + 0x18, 0x10, 0x30, 0x60, 0x40, 0xC1, 0x81, 0x03, 0x06, 0xF8, 0xC6, 0x31, + 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC7, 0xF0, 0x0C, 0x07, + 0x01, 0x60, 0xD8, 0x23, 0x18, 0xC4, 0x1B, 0x06, 0x80, 0xC0, 0xFF, 0xF0, + 0xC7, 0x0C, 0x30, 0x3E, 0x31, 0x8C, 0x30, 0x0C, 0x03, 0x07, 0xC6, 0x33, + 0x0C, 0xC3, 0x31, 0xC7, 0xB8, 0x20, 0x38, 0x06, 0x01, 0x80, 0x60, 0x18, + 0x06, 0xF1, 0xC6, 0x61, 0xD8, 0x36, 0x0D, 0x83, 0x60, 0xD8, 0x26, 0x19, + 0x84, 0x3E, 0x00, 0x1E, 0x23, 0x63, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE1, + 0x72, 0x3C, 0x00, 0x80, 0xE0, 0x18, 0x06, 0x01, 0x80, 0x61, 0xD8, 0x8E, + 0x61, 0xB0, 0x6C, 0x1B, 0x06, 0xC1, 0xB0, 0x6E, 0x19, 0xCE, 0x3D, 0xC0, + 0x1E, 0x08, 0xE4, 0x1B, 0xFE, 0xC0, 0x30, 0x0C, 0x03, 0x81, 0x60, 0x9C, + 0x41, 0xE0, 0x0F, 0x08, 0xC4, 0x06, 0x03, 0x01, 0x81, 0xF0, 0x60, 0x30, + 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, 0xFC, 0x00, 0x1F, 0x03, + 0x1F, 0x60, 0xC6, 0x0C, 0x60, 0xC3, 0x18, 0x1F, 0x02, 0x00, 0x40, 0x07, + 0xFC, 0x40, 0x24, 0x02, 0xC0, 0x2C, 0x04, 0xE0, 0x83, 0xF0, 0x30, 0x1E, + 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0D, 0xE1, 0xCE, 0x30, 0xC6, 0x18, + 0xC3, 0x18, 0x63, 0x0C, 0x61, 0x8C, 0x31, 0x86, 0x79, 0xE0, 0x31, 0x80, + 0x00, 0x09, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xDF, 0x0C, 0x30, 0x00, 0x00, + 0x31, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xF2, 0xF0, + 0x20, 0x1C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0xFB, 0x08, 0x62, + 0x0C, 0x81, 0xE0, 0x3E, 0x06, 0xE0, 0xCE, 0x18, 0xC3, 0x0E, 0xF3, 0xE0, + 0x13, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0xF8, 0xF7, + 0x8F, 0x0E, 0x3C, 0xE3, 0x0C, 0x18, 0xC3, 0x06, 0x30, 0xC1, 0x8C, 0x30, + 0x63, 0x0C, 0x18, 0xC3, 0x06, 0x30, 0xC1, 0x8C, 0x30, 0x67, 0x9E, 0x3C, + 0xF7, 0x87, 0x18, 0xC3, 0x18, 0x63, 0x0C, 0x61, 0x8C, 0x31, 0x86, 0x30, + 0xC6, 0x19, 0xE7, 0x80, 0x1E, 0x18, 0xE4, 0x1B, 0x03, 0xC0, 0xF0, 0x3C, + 0x0F, 0x03, 0x60, 0x9C, 0x41, 0xE0, 0x77, 0x87, 0x18, 0xC3, 0x98, 0x33, + 0x06, 0x60, 0xCC, 0x19, 0x83, 0x30, 0xC7, 0x10, 0xDC, 0x18, 0x03, 0x00, + 0x60, 0x0C, 0x07, 0xE0, 0x1E, 0x8C, 0xE6, 0x1B, 0x06, 0xC1, 0xB0, 0x6C, + 0x1B, 0x06, 0xE1, 0x98, 0xE3, 0xD8, 0x06, 0x01, 0x80, 0x60, 0x18, 0x1F, + 0x37, 0x7B, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x7C, 0x7B, + 0x0E, 0x1C, 0x1E, 0x0F, 0x07, 0xC3, 0x87, 0x8A, 0xE0, 0x21, 0x8F, 0x98, + 0x61, 0x86, 0x18, 0x61, 0x86, 0x19, 0x38, 0xE3, 0x98, 0x66, 0x19, 0x86, + 0x61, 0x98, 0x66, 0x19, 0x86, 0x61, 0x9C, 0xE3, 0xDC, 0xF8, 0xEE, 0x08, + 0xC1, 0x18, 0x41, 0x88, 0x32, 0x03, 0x40, 0x68, 0x06, 0x00, 0xC0, 0x10, + 0x00, 0xF3, 0xE7, 0x61, 0x83, 0x70, 0xC2, 0x30, 0xC2, 0x30, 0xC4, 0x19, + 0x64, 0x19, 0x68, 0x0E, 0x38, 0x0E, 0x38, 0x0C, 0x30, 0x04, 0x10, 0xFB, + 0xC6, 0x30, 0x64, 0x0F, 0x00, 0xC0, 0x0C, 0x03, 0xC0, 0x98, 0x21, 0x8C, + 0x3B, 0xCF, 0x80, 0xF8, 0xEE, 0x08, 0xC1, 0x18, 0x41, 0x88, 0x31, 0x03, + 0x40, 0x68, 0x06, 0x00, 0xC0, 0x08, 0x02, 0x00, 0x40, 0x10, 0x1E, 0x03, + 0x80, 0x7F, 0x90, 0xE0, 0x30, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0xE0, 0x30, + 0x5C, 0x3F, 0xF8, 0x19, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0xB0, 0x63, 0x18, + 0xC6, 0x31, 0x8C, 0x61, 0x80, 0xFF, 0xFF, 0x80, 0xC3, 0x18, 0xC6, 0x31, + 0x8C, 0x63, 0x06, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xCC, 0x00, 0x38, 0x06, + 0x62, 0x41, 0xC0 }; + +const GFXglyph FreeSerif12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 2, 16, 8, 3, -15 }, // 0x21 '!' + { 4, 6, 6, 10, 1, -15 }, // 0x22 '"' + { 9, 12, 16, 12, 0, -15 }, // 0x23 '#' + { 33, 10, 18, 12, 1, -16 }, // 0x24 '$' + { 56, 18, 17, 20, 1, -16 }, // 0x25 '%' + { 95, 17, 16, 19, 1, -15 }, // 0x26 '&' + { 129, 2, 6, 5, 1, -15 }, // 0x27 ''' + { 131, 6, 20, 8, 1, -15 }, // 0x28 '(' + { 146, 6, 20, 8, 1, -15 }, // 0x29 ')' + { 161, 8, 10, 12, 3, -14 }, // 0x2A '*' + { 171, 11, 11, 14, 1, -10 }, // 0x2B '+' + { 187, 3, 6, 6, 2, -2 }, // 0x2C ',' + { 190, 6, 1, 8, 1, -5 }, // 0x2D '-' + { 191, 2, 3, 6, 2, -2 }, // 0x2E '.' + { 192, 7, 17, 7, 0, -16 }, // 0x2F '/' + { 207, 10, 17, 12, 1, -16 }, // 0x30 '0' + { 229, 6, 17, 12, 3, -16 }, // 0x31 '1' + { 242, 10, 15, 12, 1, -14 }, // 0x32 '2' + { 261, 10, 16, 12, 1, -15 }, // 0x33 '3' + { 281, 10, 16, 12, 1, -15 }, // 0x34 '4' + { 301, 10, 17, 12, 1, -16 }, // 0x35 '5' + { 323, 10, 17, 12, 1, -16 }, // 0x36 '6' + { 345, 10, 16, 12, 0, -15 }, // 0x37 '7' + { 365, 10, 17, 12, 1, -16 }, // 0x38 '8' + { 387, 10, 18, 12, 1, -16 }, // 0x39 '9' + { 410, 2, 12, 6, 2, -11 }, // 0x3A ':' + { 413, 4, 15, 6, 2, -11 }, // 0x3B ';' + { 421, 12, 13, 14, 1, -12 }, // 0x3C '<' + { 441, 12, 6, 14, 1, -8 }, // 0x3D '=' + { 450, 12, 13, 14, 1, -11 }, // 0x3E '>' + { 470, 8, 17, 11, 2, -16 }, // 0x3F '?' + { 487, 17, 16, 21, 2, -15 }, // 0x40 '@' + { 521, 17, 16, 17, 0, -15 }, // 0x41 'A' + { 555, 12, 16, 15, 1, -15 }, // 0x42 'B' + { 579, 15, 16, 16, 1, -15 }, // 0x43 'C' + { 609, 16, 16, 17, 0, -15 }, // 0x44 'D' + { 641, 14, 16, 15, 0, -15 }, // 0x45 'E' + { 669, 14, 16, 14, 0, -15 }, // 0x46 'F' + { 697, 16, 16, 17, 1, -15 }, // 0x47 'G' + { 729, 16, 16, 17, 0, -15 }, // 0x48 'H' + { 761, 6, 16, 8, 1, -15 }, // 0x49 'I' + { 773, 8, 16, 9, 0, -15 }, // 0x4A 'J' + { 789, 16, 16, 17, 1, -15 }, // 0x4B 'K' + { 821, 15, 16, 15, 0, -15 }, // 0x4C 'L' + { 851, 19, 16, 21, 1, -15 }, // 0x4D 'M' + { 889, 16, 16, 17, 1, -15 }, // 0x4E 'N' + { 921, 15, 16, 17, 1, -15 }, // 0x4F 'O' + { 951, 12, 16, 14, 0, -15 }, // 0x50 'P' + { 975, 16, 20, 17, 1, -15 }, // 0x51 'Q' + { 1015, 15, 16, 16, 0, -15 }, // 0x52 'R' + { 1045, 11, 16, 13, 0, -15 }, // 0x53 'S' + { 1067, 15, 16, 15, 0, -15 }, // 0x54 'T' + { 1097, 16, 16, 17, 1, -15 }, // 0x55 'U' + { 1129, 17, 16, 17, 0, -15 }, // 0x56 'V' + { 1163, 22, 16, 23, 0, -15 }, // 0x57 'W' + { 1207, 17, 16, 17, 0, -15 }, // 0x58 'X' + { 1241, 16, 16, 17, 0, -15 }, // 0x59 'Y' + { 1273, 14, 16, 15, 1, -15 }, // 0x5A 'Z' + { 1301, 5, 20, 8, 2, -15 }, // 0x5B '[' + { 1314, 7, 17, 7, 0, -16 }, // 0x5C '\' + { 1329, 5, 20, 8, 1, -15 }, // 0x5D ']' + { 1342, 10, 9, 11, 1, -15 }, // 0x5E '^' + { 1354, 12, 1, 12, 0, 3 }, // 0x5F '_' + { 1356, 5, 4, 6, 0, -15 }, // 0x60 '`' + { 1359, 10, 11, 10, 1, -10 }, // 0x61 'a' + { 1373, 10, 17, 12, 1, -16 }, // 0x62 'b' + { 1395, 8, 11, 11, 1, -10 }, // 0x63 'c' + { 1406, 10, 17, 12, 1, -16 }, // 0x64 'd' + { 1428, 10, 11, 11, 1, -10 }, // 0x65 'e' + { 1442, 9, 17, 9, 0, -16 }, // 0x66 'f' + { 1462, 12, 16, 11, 0, -10 }, // 0x67 'g' + { 1486, 11, 17, 12, 0, -16 }, // 0x68 'h' + { 1510, 5, 16, 7, 0, -15 }, // 0x69 'i' + { 1520, 6, 21, 8, 0, -15 }, // 0x6A 'j' + { 1536, 11, 17, 12, 1, -16 }, // 0x6B 'k' + { 1560, 5, 17, 6, 0, -16 }, // 0x6C 'l' + { 1571, 18, 11, 19, 0, -10 }, // 0x6D 'm' + { 1596, 11, 11, 12, 0, -10 }, // 0x6E 'n' + { 1612, 10, 11, 12, 1, -10 }, // 0x6F 'o' + { 1626, 11, 16, 12, 0, -10 }, // 0x70 'p' + { 1648, 10, 16, 12, 1, -10 }, // 0x71 'q' + { 1668, 8, 11, 8, 0, -10 }, // 0x72 'r' + { 1679, 7, 11, 9, 1, -10 }, // 0x73 's' + { 1689, 6, 13, 7, 1, -12 }, // 0x74 't' + { 1699, 10, 11, 12, 1, -10 }, // 0x75 'u' + { 1713, 11, 11, 11, 0, -10 }, // 0x76 'v' + { 1729, 16, 11, 16, 0, -10 }, // 0x77 'w' + { 1751, 11, 11, 12, 0, -10 }, // 0x78 'x' + { 1767, 11, 16, 11, 0, -10 }, // 0x79 'y' + { 1789, 10, 11, 10, 0, -10 }, // 0x7A 'z' + { 1803, 5, 21, 12, 2, -16 }, // 0x7B '{' + { 1817, 1, 17, 5, 2, -16 }, // 0x7C '|' + { 1820, 5, 21, 12, 5, -15 }, // 0x7D '}' + { 1834, 12, 3, 12, 0, -6 } }; // 0x7E '~' + +const GFXfont FreeSerif12pt7b PROGMEM = { + (uint8_t *)FreeSerif12pt7bBitmaps, + (GFXglyph *)FreeSerif12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2511 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h new file mode 100644 index 0000000..7d19dd1 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h @@ -0,0 +1,429 @@ +const uint8_t FreeSerif18pt7bBitmaps[] PROGMEM = { + 0x6F, 0xFF, 0xFF, 0xFE, 0x66, 0x66, 0x66, 0x64, 0x40, 0x00, 0x6F, 0xF6, + 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0x46, 0x42, 0x42, 0x42, 0x03, 0x06, 0x01, + 0x83, 0x00, 0xC1, 0x80, 0x61, 0xC0, 0x30, 0xC0, 0x38, 0x60, 0x18, 0x30, + 0xFF, 0xFF, 0x7F, 0xFF, 0x83, 0x06, 0x01, 0x86, 0x00, 0xC3, 0x00, 0xC1, + 0x87, 0xFF, 0xFF, 0xFF, 0xFE, 0x18, 0x30, 0x0C, 0x18, 0x06, 0x18, 0x06, + 0x0C, 0x03, 0x06, 0x01, 0x83, 0x00, 0xC1, 0x80, 0x60, 0xC0, 0x02, 0x00, + 0x10, 0x03, 0xE0, 0x64, 0xE6, 0x23, 0x61, 0x1B, 0x08, 0x58, 0x42, 0xE2, + 0x03, 0x90, 0x1F, 0x80, 0x7E, 0x00, 0xFC, 0x01, 0xF0, 0x0F, 0xC0, 0x4E, + 0x02, 0x38, 0x10, 0xE0, 0x87, 0x04, 0x3C, 0x21, 0xE1, 0x1B, 0xC9, 0xCF, + 0xFC, 0x1F, 0x80, 0x10, 0x00, 0x80, 0x07, 0x80, 0x20, 0x0F, 0xF0, 0x70, + 0x0F, 0x07, 0xD0, 0x0F, 0x02, 0x18, 0x07, 0x01, 0x18, 0x07, 0x00, 0x8C, + 0x03, 0x80, 0x4C, 0x01, 0x80, 0x44, 0x00, 0xC0, 0x26, 0x00, 0x60, 0x22, + 0x0F, 0x30, 0x33, 0x1F, 0xCC, 0x73, 0x1E, 0x37, 0xF1, 0x8E, 0x19, 0xE1, + 0x8E, 0x04, 0x00, 0x86, 0x02, 0x00, 0xC7, 0x01, 0x00, 0xC3, 0x80, 0x80, + 0x61, 0x80, 0x80, 0x60, 0xC0, 0x40, 0x30, 0x60, 0x40, 0x30, 0x38, 0xE0, + 0x30, 0x0F, 0xE0, 0x18, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x00, 0x7E, 0x00, + 0x00, 0x61, 0x80, 0x00, 0x60, 0x60, 0x00, 0x30, 0x30, 0x00, 0x18, 0x18, + 0x00, 0x0C, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x03, 0x8E, 0x00, 0x01, 0xCE, + 0x00, 0x00, 0x7C, 0x3F, 0xC0, 0x38, 0x07, 0x80, 0x3E, 0x03, 0x80, 0x77, + 0x01, 0x80, 0x73, 0xC0, 0x80, 0xF0, 0xF0, 0xC0, 0x70, 0x7C, 0xC0, 0x78, + 0x1E, 0x40, 0x3C, 0x07, 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x0F, + 0xC0, 0xFF, 0x0D, 0xF0, 0xC7, 0xFC, 0x7F, 0xC1, 0xFC, 0x1F, 0x80, 0x3C, + 0x00, 0xFF, 0xFE, 0x92, 0x40, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, + 0xC0, 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, + 0x70, 0x38, 0x0C, 0x06, 0x03, 0x80, 0xC0, 0x60, 0x18, 0x0C, 0x03, 0x00, + 0xC0, 0x30, 0x0C, 0x80, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x60, 0x18, 0x0C, + 0x07, 0x01, 0x80, 0xC0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, + 0xE0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x00, 0x0C, 0x00, 0xC0, 0x0C, 0x0C, 0x46, 0xE4, 0xF7, 0x5E, 0x1F, 0x00, + 0xC0, 0x17, 0x8E, 0x4E, 0xE4, 0xFC, 0xC6, 0x0C, 0x00, 0xC0, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x6F, 0xFF, + 0x11, 0x24, 0x80, 0xFF, 0xFF, 0x6F, 0xF6, 0x00, 0xC0, 0x60, 0x18, 0x06, + 0x03, 0x80, 0xC0, 0x30, 0x1C, 0x06, 0x01, 0x80, 0xE0, 0x30, 0x0C, 0x07, + 0x01, 0x80, 0x60, 0x38, 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, + 0x00, 0x03, 0xE0, 0x0E, 0x70, 0x1C, 0x38, 0x38, 0x1C, 0x38, 0x1C, 0x78, + 0x1E, 0x70, 0x0E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70, 0x0E, 0x70, + 0x0E, 0x78, 0x1E, 0x38, 0x1C, 0x38, 0x1C, 0x1C, 0x38, 0x0C, 0x30, 0x03, + 0xC0, 0x06, 0x03, 0x83, 0xE3, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, + 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, + 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xE1, 0xFF, 0x07, 0xC0, 0x1F, 0xF0, 0x3F, + 0xF8, 0x70, 0xF8, 0x60, 0x3C, 0xC0, 0x3C, 0x80, 0x1C, 0x00, 0x1C, 0x00, + 0x1C, 0x00, 0x18, 0x00, 0x18, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, + 0xC0, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x01, 0x10, + 0x02, 0x3F, 0xFE, 0x7F, 0xFC, 0xFF, 0xFC, 0x0F, 0xC0, 0xFF, 0x0C, 0x3C, + 0x80, 0xE4, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x04, 0x00, 0x40, 0x04, 0x00, + 0xF8, 0x1F, 0xE0, 0x0F, 0x00, 0x1C, 0x00, 0xE0, 0x03, 0x00, 0x18, 0x00, + 0xC0, 0x06, 0x00, 0x60, 0x03, 0x78, 0x73, 0xFF, 0x0F, 0xC0, 0x00, 0x30, + 0x00, 0x30, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xB0, 0x01, 0x30, 0x03, 0x30, + 0x06, 0x30, 0x04, 0x30, 0x08, 0x30, 0x18, 0x30, 0x10, 0x30, 0x20, 0x30, + 0x60, 0x30, 0xC0, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x30, 0x00, 0x30, + 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x7F, 0xC3, + 0xFE, 0x1F, 0xE1, 0x80, 0x08, 0x00, 0xC0, 0x07, 0xC0, 0x7F, 0x81, 0xFF, + 0x00, 0xFC, 0x01, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x60, 0x03, 0x00, 0x18, + 0x00, 0xC0, 0x06, 0x00, 0x60, 0x07, 0x78, 0x73, 0xFF, 0x0F, 0xC0, 0x00, + 0x0E, 0x00, 0xF8, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, + 0x00, 0x7C, 0x00, 0x79, 0xF0, 0x7F, 0xFC, 0xF8, 0x3C, 0xF0, 0x1E, 0xF0, + 0x1F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70, 0x0F, 0x78, + 0x0F, 0x78, 0x0E, 0x3C, 0x1E, 0x1E, 0x3C, 0x0F, 0xF8, 0x07, 0xE0, 0x3F, + 0xFD, 0xFF, 0xF7, 0xFF, 0xF0, 0x06, 0x80, 0x18, 0x00, 0x60, 0x03, 0x00, + 0x0C, 0x00, 0x30, 0x01, 0x80, 0x06, 0x00, 0x18, 0x00, 0xE0, 0x03, 0x00, + 0x0C, 0x00, 0x70, 0x01, 0x80, 0x06, 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, + 0x1C, 0x00, 0x60, 0x00, 0x0F, 0x83, 0xFC, 0x70, 0xE6, 0x07, 0xC0, 0x3C, + 0x03, 0xC0, 0x3E, 0x03, 0x70, 0x67, 0x8C, 0x3D, 0x81, 0xF0, 0x0F, 0x81, + 0x7C, 0x21, 0xE6, 0x0E, 0xC0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x36, + 0x06, 0x70, 0xE3, 0xFC, 0x0F, 0x80, 0x07, 0xC0, 0x1F, 0xF0, 0x3C, 0x78, + 0x38, 0x3C, 0x78, 0x1E, 0x70, 0x1E, 0xF0, 0x0E, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF8, 0x0F, 0x78, 0x0F, 0x3C, 0x3F, + 0x1F, 0xEE, 0x0F, 0x9E, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x78, + 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x00, 0x6F, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0x60, 0x67, 0xBC, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x19, 0xEF, 0x78, 0x42, 0x22, 0x20, 0x00, 0x00, 0xC0, + 0x00, 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x03, 0xF0, + 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, + 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xC0, + 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, + 0x00, 0x3C, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x7C, + 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0xFC, + 0x00, 0xFC, 0x00, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x00, 0xF0, + 0x00, 0x30, 0x00, 0x00, 0x1F, 0x81, 0xFF, 0x18, 0x7D, 0x81, 0xEC, 0x07, + 0xF0, 0x3F, 0x81, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, 0x38, 0x01, 0x80, + 0x08, 0x00, 0xC0, 0x04, 0x00, 0x20, 0x02, 0x00, 0x10, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x3C, 0x01, 0xE0, 0x07, 0x00, 0x00, 0x7F, 0x00, + 0x01, 0xFF, 0xC0, 0x07, 0x80, 0xF0, 0x0F, 0x00, 0x38, 0x1C, 0x00, 0x1C, + 0x38, 0x00, 0x0C, 0x38, 0x00, 0x06, 0x70, 0x1E, 0x02, 0x70, 0x3F, 0xE3, + 0xF0, 0x71, 0xE1, 0xE0, 0xE0, 0xC1, 0xE0, 0xC0, 0xC1, 0xE0, 0xC1, 0xC1, + 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0x83, 0xE1, 0x83, 0x82, 0xE1, 0x83, 0x86, + 0x71, 0xC7, 0x8C, 0x70, 0xF9, 0xF8, 0x38, 0xF0, 0xF0, 0x3C, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0x80, 0x70, 0x03, 0xFF, 0xE0, 0x00, 0x7F, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x5C, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x8E, 0x00, + 0x01, 0x8F, 0x00, 0x01, 0x87, 0x00, 0x03, 0x07, 0x80, 0x03, 0x03, 0x80, + 0x02, 0x03, 0xC0, 0x06, 0x03, 0xC0, 0x07, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, + 0x0C, 0x01, 0xE0, 0x18, 0x00, 0xF0, 0x18, 0x00, 0xF0, 0x30, 0x00, 0x78, + 0x30, 0x00, 0x78, 0x70, 0x00, 0x7C, 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x03, + 0xFF, 0xF8, 0x1E, 0x0F, 0xC1, 0xE0, 0x3C, 0x1E, 0x01, 0xE1, 0xE0, 0x1E, + 0x1E, 0x01, 0xE1, 0xE0, 0x1E, 0x1E, 0x03, 0xC1, 0xE0, 0x78, 0x1F, 0xFE, + 0x01, 0xFF, 0xF0, 0x1E, 0x07, 0xC1, 0xE0, 0x1E, 0x1E, 0x00, 0xF1, 0xE0, + 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1E, + 0x07, 0xE3, 0xFF, 0xF8, 0xFF, 0xFE, 0x00, 0x00, 0xFE, 0x08, 0x0F, 0xFF, + 0x60, 0xFC, 0x1F, 0x87, 0xC0, 0x1E, 0x3C, 0x00, 0x38, 0xF0, 0x00, 0x67, + 0x80, 0x01, 0x9E, 0x00, 0x02, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, + 0x00, 0x02, 0x1F, 0x00, 0x38, 0x3F, 0x03, 0x80, 0x7F, 0xFC, 0x00, 0x3F, + 0x80, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x78, 0x3F, 0x80, 0xF0, 0x0F, + 0x81, 0xE0, 0x0F, 0x83, 0xC0, 0x0F, 0x07, 0x80, 0x0F, 0x0F, 0x00, 0x1E, + 0x1E, 0x00, 0x1E, 0x3C, 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, + 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x07, 0x8F, 0x00, 0x1E, 0x1E, + 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xE0, 0xF0, 0x0F, 0x81, 0xE0, + 0x7E, 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x87, 0xFF, + 0xF8, 0x3C, 0x01, 0x83, 0xC0, 0x08, 0x3C, 0x00, 0x83, 0xC0, 0x00, 0x3C, + 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x02, 0x03, 0xC0, 0x60, 0x3F, 0xFE, 0x03, + 0xFF, 0xE0, 0x3C, 0x06, 0x03, 0xC0, 0x20, 0x3C, 0x00, 0x03, 0xC0, 0x00, + 0x3C, 0x00, 0x03, 0xC0, 0x01, 0x3C, 0x00, 0x23, 0xC0, 0x06, 0x3C, 0x01, + 0xE7, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xBF, 0xFF, 0xCF, 0x00, + 0x67, 0x80, 0x13, 0xC0, 0x09, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, + 0x02, 0x1E, 0x03, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xC0, 0x61, 0xE0, 0x10, + 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, + 0x03, 0xC0, 0x03, 0xF0, 0x03, 0xFC, 0x00, 0x00, 0xFE, 0x04, 0x07, 0xFF, + 0xB8, 0x1F, 0x03, 0xF0, 0xF8, 0x01, 0xE3, 0xE0, 0x01, 0xC7, 0x80, 0x01, + 0x9E, 0x00, 0x01, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, + 0xC0, 0x00, 0x07, 0x80, 0x07, 0xFF, 0x00, 0x07, 0xDE, 0x00, 0x07, 0xBC, + 0x00, 0x0F, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xF0, + 0x00, 0xF1, 0xF0, 0x01, 0xE1, 0xF0, 0x03, 0xC1, 0xF8, 0x1F, 0x00, 0xFF, + 0xFC, 0x00, 0x3F, 0x80, 0xFF, 0x03, 0xFD, 0xF8, 0x07, 0xE3, 0xC0, 0x0F, + 0x0F, 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, + 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xFF, 0xFF, 0x0F, 0xFF, + 0xFC, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, 0x00, 0x3C, + 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, 0x00, 0x3C, 0x3C, + 0x00, 0xF1, 0xF8, 0x07, 0xEF, 0xF0, 0x3F, 0xC0, 0xFF, 0xBF, 0x0F, 0x07, + 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, + 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC3, 0xF3, 0xFE, 0x0F, 0xF0, + 0x7E, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xC6, 0x38, 0xF3, 0x8F, 0xF0, 0x7C, 0x00, 0xFF, 0x07, 0xFC, + 0xFC, 0x03, 0xC0, 0xF0, 0x07, 0x01, 0xE0, 0x1C, 0x03, 0xC0, 0x60, 0x07, + 0x81, 0x80, 0x0F, 0x06, 0x00, 0x1E, 0x18, 0x00, 0x3C, 0x60, 0x00, 0x79, + 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xDF, 0x00, 0x07, 0x8F, + 0x00, 0x0F, 0x0F, 0x00, 0x1E, 0x0F, 0x00, 0x3C, 0x0F, 0x00, 0x78, 0x0F, + 0x00, 0xF0, 0x1F, 0x01, 0xE0, 0x1F, 0x03, 0xC0, 0x1F, 0x0F, 0xC0, 0x3F, + 0x3F, 0xC1, 0xFF, 0x80, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x1E, + 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, + 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, + 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, 0x04, 0xF0, + 0x01, 0x1E, 0x00, 0x63, 0xC0, 0x3C, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, 0xFC, + 0x00, 0x03, 0xF9, 0xF0, 0x00, 0x1F, 0x87, 0x80, 0x01, 0xF8, 0x3E, 0x00, + 0x0F, 0xC1, 0xF0, 0x00, 0x5E, 0x0B, 0xC0, 0x06, 0xF0, 0x5E, 0x00, 0x37, + 0x82, 0x78, 0x03, 0x3C, 0x13, 0xC0, 0x19, 0xE0, 0x8F, 0x01, 0x8F, 0x04, + 0x78, 0x0C, 0x78, 0x21, 0xE0, 0xC3, 0xC1, 0x0F, 0x06, 0x1E, 0x08, 0x3C, + 0x60, 0xF0, 0x41, 0xE3, 0x07, 0x82, 0x07, 0xB0, 0x3C, 0x10, 0x3D, 0x81, + 0xE0, 0x81, 0xF8, 0x0F, 0x04, 0x07, 0xC0, 0x78, 0x20, 0x3C, 0x03, 0xC1, + 0x00, 0xE0, 0x1E, 0x1C, 0x06, 0x01, 0xFB, 0xF8, 0x10, 0x1F, 0xE0, 0xFC, + 0x00, 0xFE, 0x78, 0x00, 0x70, 0x78, 0x00, 0x40, 0xF8, 0x00, 0x81, 0xF8, + 0x01, 0x02, 0xF8, 0x02, 0x04, 0xF8, 0x04, 0x08, 0xF0, 0x08, 0x11, 0xF0, + 0x10, 0x21, 0xF0, 0x20, 0x41, 0xF0, 0x40, 0x81, 0xF0, 0x81, 0x01, 0xF1, + 0x02, 0x01, 0xE2, 0x04, 0x03, 0xE4, 0x08, 0x03, 0xE8, 0x10, 0x03, 0xF0, + 0x20, 0x03, 0xE0, 0x40, 0x03, 0xC0, 0x80, 0x03, 0x81, 0x00, 0x07, 0x07, + 0x00, 0x06, 0x3F, 0x80, 0x04, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xFF, 0x00, + 0x3E, 0x0F, 0x80, 0xF0, 0x07, 0x83, 0xC0, 0x07, 0x87, 0x80, 0x07, 0x1E, + 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xC0, + 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, + 0x07, 0xF8, 0x00, 0x0F, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xE0, 0x01, + 0xE1, 0xE0, 0x03, 0xC1, 0xE0, 0x0F, 0x01, 0xF0, 0x7C, 0x00, 0xFF, 0xE0, + 0x00, 0x7F, 0x00, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, 0xC1, 0xF0, 0xF0, 0x1E, + 0x3C, 0x07, 0xCF, 0x00, 0xF3, 0xC0, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0xCF, + 0x01, 0xF3, 0xC0, 0x78, 0xF0, 0x7C, 0x3F, 0xFE, 0x0F, 0xFE, 0x03, 0xC0, + 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, + 0x3C, 0x00, 0x1F, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xFF, + 0x00, 0x3E, 0x0F, 0x80, 0xF0, 0x07, 0x83, 0xC0, 0x07, 0x87, 0x80, 0x0F, + 0x1E, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF0, 0x00, 0x1D, 0xE0, 0x00, 0x3F, + 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, + 0x00, 0x07, 0xF8, 0x00, 0x0F, 0x70, 0x00, 0x1C, 0xF0, 0x00, 0x79, 0xE0, + 0x00, 0xF1, 0xE0, 0x03, 0xC1, 0xC0, 0x07, 0x01, 0xC0, 0x1C, 0x01, 0xE0, + 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0xC0, 0xFF, 0xF0, + 0x03, 0xFF, 0xF0, 0x0F, 0x07, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0x78, 0x1E, + 0x03, 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xF0, 0x3C, 0x07, 0x81, 0xE0, 0x78, + 0x0F, 0x0F, 0x80, 0x7F, 0xF8, 0x03, 0xFE, 0x00, 0x1E, 0x78, 0x00, 0xF1, + 0xE0, 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, 0xE0, 0xF0, 0x0F, 0x03, 0xC0, + 0x78, 0x0F, 0x03, 0xC0, 0x7C, 0x3F, 0x01, 0xF3, 0xFC, 0x07, 0xE0, 0x07, + 0x84, 0x1F, 0xFC, 0x3C, 0x3E, 0x30, 0x0E, 0x70, 0x06, 0x70, 0x06, 0x70, + 0x02, 0x78, 0x00, 0x7C, 0x00, 0x3F, 0x00, 0x1F, 0xC0, 0x0F, 0xE0, 0x03, + 0xF8, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, + 0x0F, 0xE0, 0x0F, 0x70, 0x1E, 0x78, 0x3C, 0x4F, 0xF8, 0x43, 0xF0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x7C, 0x0F, 0x03, 0x80, 0xF0, 0x10, + 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, + 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, + 0x00, 0x00, 0xF0, 0x00, 0x1F, 0x80, 0x03, 0xFC, 0x00, 0xFF, 0x01, 0xFD, + 0xF8, 0x01, 0xC3, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, + 0x00, 0x83, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, + 0x83, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, 0x83, + 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, 0x81, 0xE0, + 0x04, 0x07, 0x80, 0x30, 0x0F, 0x81, 0x80, 0x1F, 0xFC, 0x00, 0x1F, 0xC0, + 0x00, 0xFF, 0xC0, 0x7F, 0x3E, 0x00, 0x1E, 0x1E, 0x00, 0x0C, 0x0E, 0x00, + 0x18, 0x0F, 0x00, 0x18, 0x07, 0x00, 0x10, 0x07, 0x80, 0x30, 0x07, 0x80, + 0x30, 0x03, 0xC0, 0x60, 0x03, 0xC0, 0x60, 0x01, 0xE0, 0x40, 0x01, 0xE0, + 0xC0, 0x00, 0xF0, 0xC0, 0x00, 0xF1, 0x80, 0x00, 0x71, 0x80, 0x00, 0x7B, + 0x00, 0x00, 0x3B, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x08, 0x00, 0xFF, 0x9F, + 0xF0, 0x3F, 0x9F, 0x03, 0xE0, 0x07, 0x07, 0x80, 0xF0, 0x03, 0x03, 0xC0, + 0x78, 0x01, 0x80, 0xE0, 0x1E, 0x00, 0x80, 0x78, 0x0F, 0x00, 0xC0, 0x1C, + 0x03, 0x80, 0x60, 0x0F, 0x01, 0xE0, 0x20, 0x07, 0x81, 0xF0, 0x30, 0x01, + 0xC0, 0xBC, 0x18, 0x00, 0xF0, 0xDE, 0x08, 0x00, 0x78, 0x67, 0x0C, 0x00, + 0x1E, 0x23, 0xC4, 0x00, 0x0F, 0x31, 0xE6, 0x00, 0x03, 0x90, 0x7B, 0x00, + 0x01, 0xF8, 0x3D, 0x00, 0x00, 0xFC, 0x0F, 0x80, 0x00, 0x3C, 0x07, 0xC0, + 0x00, 0x1E, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0xE0, 0x00, 0x03, 0x00, 0x70, + 0x00, 0x01, 0x80, 0x10, 0x00, 0x00, 0x80, 0x08, 0x00, 0x7F, 0xE0, 0xFF, + 0x0F, 0xC0, 0x1E, 0x03, 0xE0, 0x0E, 0x00, 0xF0, 0x06, 0x00, 0x3C, 0x06, + 0x00, 0x0F, 0x06, 0x00, 0x07, 0x86, 0x00, 0x01, 0xE6, 0x00, 0x00, 0x7B, + 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x03, + 0xF0, 0x00, 0x03, 0x78, 0x00, 0x01, 0x9E, 0x00, 0x01, 0x87, 0x80, 0x01, + 0x83, 0xE0, 0x01, 0x80, 0xF0, 0x01, 0x80, 0x3C, 0x01, 0x80, 0x1F, 0x01, + 0xC0, 0x07, 0xC1, 0xE0, 0x03, 0xF3, 0xFE, 0x0F, 0xFE, 0xFF, 0xC0, 0xFF, + 0x7E, 0x00, 0x1C, 0x1E, 0x00, 0x18, 0x1F, 0x00, 0x30, 0x0F, 0x00, 0x60, + 0x07, 0x80, 0x60, 0x03, 0xC0, 0xC0, 0x03, 0xE1, 0x80, 0x01, 0xE1, 0x80, + 0x00, 0xF3, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, + 0x00, 0x7E, 0x00, 0x01, 0xFF, 0x80, 0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0x9C, + 0x00, 0x78, 0xC0, 0x07, 0x84, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x3C, + 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, + 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, + 0x07, 0x00, 0x00, 0x78, 0x00, 0x47, 0x80, 0x06, 0x78, 0x00, 0x33, 0x80, + 0x07, 0x3F, 0xFF, 0xFB, 0xFF, 0xFF, 0xC0, 0xFF, 0x83, 0x06, 0x0C, 0x18, + 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, 0xF0, 0xC0, 0x18, 0x06, 0x01, + 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, 0x0C, + 0x03, 0x80, 0x60, 0x18, 0x07, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, + 0x1C, 0x03, 0xFE, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, + 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x1F, 0xF0, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x76, 0x00, 0xCE, + 0x03, 0x8C, 0x06, 0x1C, 0x1C, 0x18, 0x30, 0x30, 0xE0, 0x31, 0x80, 0x67, + 0x00, 0x6C, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0xE0, 0x70, + 0x18, 0x0C, 0x03, 0x1F, 0x03, 0x8C, 0x38, 0x31, 0xC1, 0x8E, 0x0C, 0x00, + 0x60, 0x0F, 0x01, 0x98, 0x30, 0xC3, 0x86, 0x38, 0x31, 0xC1, 0x8E, 0x0C, + 0x78, 0xE5, 0xFB, 0xCF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0xF8, 0x00, 0x38, + 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x39, + 0xF0, 0x3B, 0xFC, 0x3C, 0x3E, 0x38, 0x0E, 0x38, 0x0F, 0x38, 0x07, 0x38, + 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x06, 0x38, 0x0E, 0x38, + 0x0C, 0x3C, 0x1C, 0x1F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x7F, 0xE3, 0x87, + 0xD8, 0x0F, 0x60, 0x1B, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, + 0x0E, 0x00, 0x3C, 0x01, 0x78, 0x19, 0xFF, 0xC3, 0xFE, 0x03, 0xE0, 0x00, + 0x00, 0x00, 0x1C, 0x00, 0x7C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, + 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x07, 0x9C, 0x1F, 0xDC, 0x38, 0x7C, 0x70, + 0x3C, 0x70, 0x1C, 0x60, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, + 0x1C, 0xE0, 0x1C, 0xF0, 0x1C, 0x70, 0x1C, 0x7C, 0x3E, 0x3F, 0xDF, 0x0F, + 0x90, 0x0F, 0x81, 0xFF, 0x08, 0x3C, 0x80, 0xE7, 0xFF, 0x7F, 0xFF, 0x00, + 0x18, 0x00, 0xC0, 0x07, 0x00, 0x38, 0x03, 0xE0, 0x37, 0x83, 0x3F, 0xF0, + 0xFF, 0x03, 0xF0, 0x01, 0xF0, 0x3F, 0xC3, 0x8E, 0x18, 0x00, 0xC0, 0x0E, + 0x00, 0x70, 0x03, 0x80, 0x1C, 0x03, 0xFE, 0x1F, 0xF0, 0x38, 0x01, 0xC0, + 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, + 0xC0, 0x0E, 0x00, 0x70, 0x07, 0xC0, 0xFF, 0x80, 0x0F, 0xC0, 0x1F, 0xFF, + 0x38, 0xFF, 0x70, 0x70, 0x70, 0x70, 0x70, 0x30, 0x70, 0x30, 0x70, 0x30, + 0x38, 0x20, 0x1C, 0x60, 0x0F, 0x80, 0x10, 0x00, 0x20, 0x00, 0x60, 0x00, + 0x7F, 0xE0, 0x3F, 0xFC, 0x1F, 0xFE, 0x20, 0x06, 0x40, 0x02, 0xC0, 0x02, + 0xC0, 0x04, 0xF0, 0x18, 0x7F, 0xF0, 0x1F, 0x80, 0x00, 0x00, 0x38, 0x00, + 0xF8, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, + 0x38, 0x00, 0x38, 0xF0, 0x3B, 0xF8, 0x3E, 0x3C, 0x3C, 0x1C, 0x38, 0x1C, + 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, + 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x7C, 0x3E, 0xFE, 0x7F, 0x18, 0x3C, + 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3C, 0x7C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x3C, 0xFF, 0x03, 0x03, + 0xC1, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xC3, 0xE0, 0x70, + 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, + 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x37, 0x3B, 0xF8, 0xF8, 0x00, 0x00, + 0x1C, 0x00, 0x3E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, + 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x3F, 0x8E, 0x0F, 0x07, 0x06, 0x03, + 0x86, 0x01, 0xC4, 0x00, 0xE4, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x1D, 0xC0, + 0x0E, 0x70, 0x07, 0x1C, 0x03, 0x8F, 0x01, 0xC3, 0xC0, 0xE0, 0xF0, 0xF8, + 0x3C, 0xFE, 0x7F, 0x80, 0x00, 0x1C, 0x7C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x3C, 0xFF, 0x38, 0xF0, 0x7C, 0x3E, 0xFE, 0x7F, 0x83, + 0xE3, 0xF0, 0xE0, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, 0x07, 0x01, + 0xC3, 0x81, 0xC0, 0x70, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, 0x07, + 0x01, 0xC3, 0x81, 0xC0, 0x70, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, + 0x07, 0x01, 0xC3, 0x81, 0xE0, 0x73, 0xF9, 0xFC, 0x7F, 0x38, 0xF0, 0xFB, + 0xF8, 0x3E, 0x3C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, + 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, + 0x1C, 0x78, 0x3C, 0xFE, 0x7F, 0x07, 0xE0, 0x1F, 0xF8, 0x3C, 0x7C, 0x78, + 0x3E, 0x70, 0x1E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0xF8, 0x0F, 0x78, 0x0E, 0x7C, 0x1C, 0x3E, 0x3C, 0x0F, 0xF0, 0x07, + 0xC0, 0x18, 0xF0, 0xFB, 0xFC, 0x3E, 0x1E, 0x38, 0x0E, 0x38, 0x0F, 0x38, + 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x06, 0x38, + 0x0E, 0x38, 0x0C, 0x3E, 0x1C, 0x3B, 0xF8, 0x39, 0xE0, 0x38, 0x00, 0x38, + 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7C, 0x00, 0xFF, + 0x00, 0x07, 0xC4, 0x1F, 0xEC, 0x3C, 0x3C, 0x70, 0x1C, 0x70, 0x1C, 0x60, + 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xF0, + 0x1C, 0x70, 0x1C, 0x78, 0x3C, 0x3F, 0xDC, 0x1F, 0x1C, 0x00, 0x1C, 0x00, + 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3E, 0x00, + 0xFF, 0x19, 0xFF, 0x7C, 0xF3, 0x9C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, + 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x1F, 0x07, 0xF0, 0x3E, + 0x58, 0x7C, 0x0F, 0x03, 0xC0, 0x7C, 0x07, 0x80, 0xF8, 0x1F, 0x81, 0xF8, + 0x1E, 0x03, 0xC0, 0xF0, 0x3E, 0x1A, 0x7C, 0x10, 0x30, 0x70, 0xFE, 0xFE, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x79, + 0x7E, 0x3C, 0xF8, 0x7C, 0x38, 0x3C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, + 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, + 0x38, 0x1C, 0x38, 0x1C, 0x3C, 0x7C, 0x1F, 0xDF, 0x0F, 0x18, 0xFE, 0x1F, + 0x7C, 0x06, 0x38, 0x04, 0x1C, 0x04, 0x1C, 0x0C, 0x0E, 0x08, 0x0E, 0x18, + 0x07, 0x10, 0x07, 0x10, 0x07, 0x20, 0x03, 0xA0, 0x03, 0xE0, 0x01, 0xC0, + 0x01, 0xC0, 0x00, 0x80, 0x00, 0x80, 0xFC, 0x7F, 0x1F, 0x78, 0x3C, 0x06, + 0x38, 0x1C, 0x04, 0x38, 0x1C, 0x04, 0x1C, 0x1C, 0x0C, 0x1C, 0x0E, 0x08, + 0x1C, 0x1E, 0x18, 0x0E, 0x17, 0x10, 0x0E, 0x37, 0x10, 0x07, 0x23, 0x30, + 0x07, 0x63, 0xA0, 0x07, 0x43, 0xE0, 0x03, 0xC1, 0xC0, 0x03, 0x81, 0xC0, + 0x01, 0x80, 0x80, 0x01, 0x00, 0x80, 0x7F, 0x7E, 0x1E, 0x0C, 0x07, 0x8C, + 0x01, 0xC4, 0x00, 0x76, 0x00, 0x3E, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x03, + 0xE0, 0x01, 0x70, 0x01, 0x1C, 0x01, 0x8F, 0x01, 0x83, 0x80, 0x80, 0xE0, + 0xC0, 0x79, 0xF0, 0xFF, 0xFE, 0x0F, 0x7C, 0x06, 0x38, 0x06, 0x1C, 0x04, + 0x1C, 0x0C, 0x0E, 0x0C, 0x0E, 0x08, 0x0F, 0x18, 0x07, 0x10, 0x07, 0x90, + 0x03, 0xB0, 0x03, 0xA0, 0x01, 0xE0, 0x01, 0xE0, 0x00, 0xC0, 0x00, 0xC0, + 0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x7E, 0x00, + 0x7C, 0x00, 0x78, 0x00, 0x7F, 0xF9, 0xFF, 0xE6, 0x07, 0x10, 0x38, 0x00, + 0xE0, 0x07, 0x00, 0x38, 0x01, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xE0, 0x07, + 0x01, 0x38, 0x0D, 0xC0, 0x3F, 0xFF, 0xBF, 0xFE, 0x07, 0x0E, 0x1C, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x60, 0x60, + 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, + 0x0E, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x70, 0x38, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x06, 0x06, + 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, + 0x70, 0xE0, 0x3E, 0x00, 0x7F, 0x87, 0xE3, 0xFE, 0x00, 0x7C }; + +const GFXglyph FreeSerif18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' + { 0, 4, 24, 12, 5, -23 }, // 0x21 '!' + { 12, 8, 9, 14, 3, -23 }, // 0x22 '"' + { 21, 17, 23, 17, 0, -22 }, // 0x23 '#' + { 70, 13, 27, 17, 2, -24 }, // 0x24 '$' + { 114, 25, 23, 29, 2, -22 }, // 0x25 '%' + { 186, 25, 25, 27, 1, -24 }, // 0x26 '&' + { 265, 3, 9, 7, 2, -23 }, // 0x27 ''' + { 269, 9, 30, 12, 2, -23 }, // 0x28 '(' + { 303, 9, 30, 12, 1, -22 }, // 0x29 ')' + { 337, 12, 14, 18, 3, -23 }, // 0x2A '*' + { 358, 16, 18, 20, 2, -17 }, // 0x2B '+' + { 394, 4, 9, 9, 2, -3 }, // 0x2C ',' + { 399, 8, 2, 12, 1, -8 }, // 0x2D '-' + { 401, 4, 4, 9, 2, -3 }, // 0x2E '.' + { 403, 10, 24, 10, 0, -23 }, // 0x2F '/' + { 433, 16, 24, 18, 1, -23 }, // 0x30 '0' + { 481, 10, 24, 18, 3, -23 }, // 0x31 '1' + { 511, 16, 24, 17, 1, -23 }, // 0x32 '2' + { 559, 13, 24, 17, 2, -23 }, // 0x33 '3' + { 598, 16, 23, 18, 0, -22 }, // 0x34 '4' + { 644, 13, 24, 17, 2, -23 }, // 0x35 '5' + { 683, 16, 24, 18, 1, -23 }, // 0x36 '6' + { 731, 14, 23, 18, 1, -22 }, // 0x37 '7' + { 772, 12, 25, 18, 2, -24 }, // 0x38 '8' + { 810, 16, 26, 17, 1, -24 }, // 0x39 '9' + { 862, 4, 17, 9, 2, -16 }, // 0x3A ':' + { 871, 5, 22, 9, 2, -16 }, // 0x3B ';' + { 885, 18, 18, 20, 1, -17 }, // 0x3C '<' + { 926, 18, 9, 20, 1, -12 }, // 0x3D '=' + { 947, 18, 18, 20, 1, -17 }, // 0x3E '>' + { 988, 13, 25, 16, 2, -24 }, // 0x3F '?' + { 1029, 24, 25, 30, 3, -24 }, // 0x40 '@' + { 1104, 24, 23, 25, 1, -22 }, // 0x41 'A' + { 1173, 20, 23, 22, 1, -22 }, // 0x42 'B' + { 1231, 22, 24, 23, 1, -23 }, // 0x43 'C' + { 1297, 23, 23, 25, 1, -22 }, // 0x44 'D' + { 1364, 20, 23, 21, 2, -22 }, // 0x45 'E' + { 1422, 17, 23, 20, 2, -22 }, // 0x46 'F' + { 1471, 23, 24, 25, 1, -23 }, // 0x47 'G' + { 1540, 22, 23, 25, 2, -22 }, // 0x48 'H' + { 1604, 9, 23, 11, 2, -22 }, // 0x49 'I' + { 1630, 12, 23, 13, 0, -22 }, // 0x4A 'J' + { 1665, 23, 23, 25, 2, -22 }, // 0x4B 'K' + { 1732, 19, 23, 21, 2, -22 }, // 0x4C 'L' + { 1787, 29, 23, 31, 1, -22 }, // 0x4D 'M' + { 1871, 23, 23, 25, 1, -22 }, // 0x4E 'N' + { 1938, 23, 24, 25, 1, -23 }, // 0x4F 'O' + { 2007, 18, 23, 20, 1, -22 }, // 0x50 'P' + { 2059, 23, 30, 25, 1, -23 }, // 0x51 'Q' + { 2146, 21, 23, 23, 2, -22 }, // 0x52 'R' + { 2207, 16, 24, 19, 1, -23 }, // 0x53 'S' + { 2255, 20, 23, 21, 1, -22 }, // 0x54 'T' + { 2313, 22, 23, 25, 2, -22 }, // 0x55 'U' + { 2377, 24, 23, 25, 0, -22 }, // 0x56 'V' + { 2446, 33, 23, 33, 0, -22 }, // 0x57 'W' + { 2541, 25, 23, 25, 0, -22 }, // 0x58 'X' + { 2613, 24, 23, 25, 1, -22 }, // 0x59 'Y' + { 2682, 21, 23, 21, 0, -22 }, // 0x5A 'Z' + { 2743, 7, 28, 12, 3, -22 }, // 0x5B '[' + { 2768, 10, 24, 10, 0, -23 }, // 0x5C '\' + { 2798, 7, 28, 12, 2, -22 }, // 0x5D ']' + { 2823, 15, 13, 16, 1, -22 }, // 0x5E '^' + { 2848, 18, 2, 17, 0, 3 }, // 0x5F '_' + { 2853, 8, 6, 9, 1, -23 }, // 0x60 '`' + { 2859, 13, 16, 15, 2, -15 }, // 0x61 'a' + { 2885, 16, 25, 17, 1, -24 }, // 0x62 'b' + { 2935, 14, 16, 16, 1, -15 }, // 0x63 'c' + { 2963, 16, 25, 17, 1, -24 }, // 0x64 'd' + { 3013, 13, 16, 16, 1, -15 }, // 0x65 'e' + { 3039, 13, 25, 13, 0, -24 }, // 0x66 'f' + { 3080, 16, 24, 16, 1, -15 }, // 0x67 'g' + { 3128, 16, 25, 17, 1, -24 }, // 0x68 'h' + { 3178, 8, 24, 10, 0, -23 }, // 0x69 'i' + { 3202, 9, 32, 12, 0, -23 }, // 0x6A 'j' + { 3238, 17, 25, 18, 1, -24 }, // 0x6B 'k' + { 3292, 8, 25, 9, 0, -24 }, // 0x6C 'l' + { 3317, 26, 16, 27, 1, -15 }, // 0x6D 'm' + { 3369, 16, 16, 17, 1, -15 }, // 0x6E 'n' + { 3401, 16, 16, 17, 1, -15 }, // 0x6F 'o' + { 3433, 16, 24, 17, 1, -15 }, // 0x70 'p' + { 3481, 16, 24, 17, 1, -15 }, // 0x71 'q' + { 3529, 11, 16, 12, 1, -15 }, // 0x72 'r' + { 3551, 10, 16, 13, 1, -15 }, // 0x73 's' + { 3571, 8, 19, 10, 2, -18 }, // 0x74 't' + { 3590, 16, 16, 17, 1, -15 }, // 0x75 'u' + { 3622, 16, 16, 16, 0, -15 }, // 0x76 'v' + { 3654, 24, 16, 24, 0, -15 }, // 0x77 'w' + { 3702, 17, 16, 17, 0, -15 }, // 0x78 'x' + { 3736, 16, 24, 16, 0, -15 }, // 0x79 'y' + { 3784, 14, 16, 15, 0, -15 }, // 0x7A 'z' + { 3812, 8, 30, 17, 3, -23 }, // 0x7B '{' + { 3842, 2, 24, 7, 2, -23 }, // 0x7C '|' + { 3848, 8, 30, 17, 6, -22 }, // 0x7D '}' + { 3878, 16, 4, 17, 1, -10 } }; // 0x7E '~' + +const GFXfont FreeSerif18pt7b PROGMEM = { + (uint8_t *)FreeSerif18pt7bBitmaps, + (GFXglyph *)FreeSerif18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 4558 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h new file mode 100644 index 0000000..99ff3f4 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h @@ -0,0 +1,690 @@ +const uint8_t FreeSerif24pt7bBitmaps[] PROGMEM = { + 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x61, 0x08, + 0x42, 0x10, 0x84, 0x00, 0x00, 0xEF, 0xFF, 0xEE, 0x60, 0x6F, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, + 0x66, 0x06, 0x00, 0xE0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x07, + 0x03, 0x80, 0x0E, 0x06, 0x00, 0x18, 0x0C, 0x00, 0x30, 0x38, 0x00, 0xE0, + 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC1, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, + 0xF0, 0x18, 0x0C, 0x00, 0x70, 0x38, 0x00, 0xE0, 0x70, 0x01, 0xC0, 0xE0, + 0x03, 0x81, 0xC0, 0x07, 0x03, 0x80, 0x0C, 0x06, 0x07, 0xFF, 0xFF, 0xEF, + 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x06, + 0x03, 0x80, 0x0C, 0x06, 0x00, 0x38, 0x1C, 0x00, 0x70, 0x38, 0x00, 0xE0, + 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x08, + 0x00, 0x01, 0x00, 0x01, 0xFC, 0x01, 0xE4, 0xF8, 0x70, 0x87, 0x9C, 0x10, + 0x77, 0x02, 0x06, 0xE0, 0x40, 0xDC, 0x08, 0x0B, 0x81, 0x00, 0x78, 0x20, + 0x07, 0x84, 0x00, 0xFC, 0x80, 0x0F, 0xF0, 0x00, 0xFE, 0x00, 0x07, 0xF0, + 0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x3F, 0xC0, 0x05, 0xFC, 0x00, 0x8F, + 0x80, 0x10, 0xF8, 0x02, 0x0F, 0x00, 0x40, 0xF0, 0x08, 0x1E, 0x01, 0x03, + 0xE0, 0x20, 0x7C, 0x04, 0x0F, 0xC0, 0x83, 0xBC, 0x10, 0xE3, 0xE2, 0x78, + 0x3F, 0xFE, 0x00, 0xFE, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x01, 0xF0, 0x00, 0xC0, 0x03, 0xFC, 0x01, 0xE0, 0x03, 0xC7, 0x81, 0xE0, + 0x03, 0xC0, 0x7F, 0x60, 0x03, 0xC0, 0x20, 0x70, 0x01, 0xE0, 0x10, 0x30, + 0x01, 0xE0, 0x08, 0x38, 0x00, 0xE0, 0x04, 0x18, 0x00, 0xF0, 0x02, 0x1C, + 0x00, 0x78, 0x02, 0x0C, 0x00, 0x38, 0x01, 0x0E, 0x00, 0x1C, 0x01, 0x86, + 0x00, 0x0E, 0x00, 0x86, 0x00, 0x07, 0x00, 0x87, 0x03, 0xE1, 0x80, 0xC3, + 0x07, 0xFC, 0xE1, 0xC3, 0x87, 0xC6, 0x3F, 0xC1, 0x87, 0x81, 0x8F, 0x81, + 0xC7, 0x80, 0x40, 0x00, 0xC3, 0xC0, 0x20, 0x00, 0xE3, 0xC0, 0x10, 0x00, + 0x61, 0xC0, 0x08, 0x00, 0x61, 0xE0, 0x04, 0x00, 0x70, 0xF0, 0x06, 0x00, + 0x30, 0x70, 0x02, 0x00, 0x38, 0x38, 0x03, 0x00, 0x18, 0x1C, 0x01, 0x00, + 0x1C, 0x0E, 0x01, 0x80, 0x0C, 0x07, 0x01, 0x80, 0x0E, 0x01, 0xC3, 0x80, + 0x06, 0x00, 0x7F, 0x80, 0x06, 0x00, 0x1F, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x70, 0xE0, 0x00, + 0x00, 0xE0, 0x60, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x30, 0x00, + 0x01, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x70, 0x00, + 0x01, 0xE0, 0xE0, 0x00, 0x01, 0xE1, 0xC0, 0x00, 0x00, 0xF3, 0x80, 0x00, + 0x00, 0xFF, 0x0F, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x00, 0xF8, 0x01, 0xE0, + 0x01, 0xFC, 0x01, 0xC0, 0x07, 0x7C, 0x01, 0xC0, 0x0F, 0x3E, 0x01, 0x80, + 0x1E, 0x3E, 0x03, 0x00, 0x3C, 0x1F, 0x03, 0x00, 0x7C, 0x1F, 0x06, 0x00, + 0x78, 0x0F, 0x86, 0x00, 0x78, 0x07, 0xCC, 0x00, 0xF8, 0x07, 0xE8, 0x00, + 0xF8, 0x03, 0xF8, 0x00, 0xF8, 0x01, 0xF0, 0x00, 0xF8, 0x01, 0xF8, 0x00, + 0xFC, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFE, 0x01, 0x7E, 0x03, 0xBF, 0x86, + 0x7F, 0x0F, 0x1F, 0xFE, 0x3F, 0xFC, 0x0F, 0xF8, 0x0F, 0xE0, 0x03, 0xF0, + 0x6F, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x00, 0x10, 0x02, 0x00, 0xC0, 0x18, + 0x03, 0x00, 0x60, 0x0E, 0x00, 0xC0, 0x1C, 0x03, 0x80, 0x38, 0x03, 0x80, + 0x78, 0x07, 0x00, 0x70, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, + 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x07, 0x00, 0x70, 0x07, 0x80, + 0x38, 0x03, 0x80, 0x38, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x06, 0x00, 0x30, + 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0xC0, 0x06, 0x00, 0x30, 0x01, 0x80, + 0x0C, 0x00, 0x60, 0x07, 0x00, 0x30, 0x03, 0x80, 0x1C, 0x01, 0xC0, 0x1C, + 0x01, 0xE0, 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0E, 0x00, 0xE0, 0x1E, + 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x38, 0x03, 0x00, 0x70, 0x0E, 0x00, 0xC0, + 0x18, 0x03, 0x00, 0x40, 0x08, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, + 0x43, 0x86, 0xE1, 0x0F, 0xF1, 0x1F, 0xF9, 0x3E, 0x3D, 0x78, 0x07, 0xC0, + 0x01, 0x00, 0x07, 0xC0, 0x19, 0x30, 0xF9, 0x1E, 0xF1, 0x0F, 0xE1, 0x07, + 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x38, 0x00, 0x00, + 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, + 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, + 0x00, 0x00, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, + 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0x73, 0xEF, 0xFF, 0x7C, 0x10, 0x42, 0x08, 0xC6, 0x00, + 0xFF, 0xFF, 0xFC, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x1C, 0x00, 0xE0, 0x03, + 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xE0, 0x03, + 0x80, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, 0x07, + 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xC0, 0x07, + 0x00, 0x3C, 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, + 0x00, 0x38, 0x00, 0x00, 0xFC, 0x00, 0x0E, 0x1C, 0x00, 0x70, 0x38, 0x03, + 0x80, 0x70, 0x1E, 0x01, 0xE0, 0xF0, 0x03, 0x83, 0xC0, 0x0F, 0x0F, 0x00, + 0x3C, 0x7C, 0x00, 0xF9, 0xE0, 0x01, 0xE7, 0x80, 0x07, 0xBE, 0x00, 0x1F, + 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, + 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, + 0x7F, 0xE0, 0x01, 0xF7, 0x80, 0x07, 0x9E, 0x00, 0x1E, 0x7C, 0x00, 0xF8, + 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x07, 0x00, 0x38, 0x1E, 0x01, 0xE0, 0x38, + 0x07, 0x00, 0x70, 0x38, 0x00, 0xE1, 0xC0, 0x00, 0xFC, 0x00, 0x00, 0x80, + 0x1C, 0x03, 0xE0, 0x7F, 0x0C, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, + 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, + 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, + 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3F, + 0x0F, 0xFF, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x07, 0xFF, 0xE0, 0x70, 0x3F, + 0x83, 0x00, 0x7C, 0x30, 0x01, 0xF1, 0x00, 0x0F, 0x98, 0x00, 0x3C, 0x80, + 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x1C, + 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, + 0x70, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, + 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x43, 0x00, + 0x02, 0x30, 0x00, 0x23, 0xFF, 0xFF, 0x3F, 0xFF, 0xF3, 0xFF, 0xFF, 0x80, + 0x03, 0xF8, 0x03, 0xFF, 0x01, 0x83, 0xE0, 0x80, 0x3C, 0x40, 0x0F, 0x10, + 0x01, 0xC8, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, + 0x80, 0x00, 0xC0, 0x00, 0x78, 0x00, 0x7F, 0x80, 0x7F, 0xF0, 0x01, 0xFE, + 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x01, 0xC0, + 0x00, 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, + 0x30, 0x00, 0x0C, 0x70, 0x06, 0x3F, 0x07, 0x0F, 0xFF, 0x00, 0xFF, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x38, 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x01, + 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xDC, 0x00, 0x0C, 0xE0, 0x00, 0x47, 0x00, + 0x06, 0x38, 0x00, 0x61, 0xC0, 0x06, 0x0E, 0x00, 0x30, 0x70, 0x03, 0x03, + 0x80, 0x30, 0x1C, 0x01, 0x80, 0xE0, 0x18, 0x07, 0x01, 0x80, 0x38, 0x08, + 0x01, 0xC0, 0xC0, 0x0E, 0x0C, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xE0, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x01, 0xC0, 0x00, + 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x40, 0x7F, 0xF8, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0xC0, 0x00, 0x18, 0x00, + 0x06, 0x00, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, + 0x3F, 0xFE, 0x00, 0xFF, 0xE0, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7C, + 0x00, 0x07, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x1C, + 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x30, + 0x00, 0x0E, 0x00, 0x01, 0x80, 0x00, 0x71, 0xE0, 0x1C, 0x3F, 0x07, 0x07, + 0xFF, 0x80, 0x3F, 0x80, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x0F, + 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, + 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, + 0x07, 0xC7, 0xE0, 0x3E, 0xFF, 0xC3, 0xF8, 0x3F, 0x1F, 0x80, 0x7C, 0xF8, + 0x03, 0xF7, 0xC0, 0x0F, 0xBE, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, + 0xFC, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x00, 0x1F, 0x78, 0x00, 0xFB, 0xE0, + 0x07, 0x9F, 0x00, 0x3C, 0x78, 0x03, 0xE3, 0xE0, 0x1E, 0x0F, 0x81, 0xE0, + 0x3E, 0x1E, 0x00, 0xFF, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0xFF, 0xF3, 0xFF, + 0xFF, 0x3F, 0xFF, 0xE7, 0x00, 0x0E, 0x40, 0x00, 0xEC, 0x00, 0x1C, 0x80, + 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, + 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, + 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x38, + 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, + 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, 0x01, + 0xC0, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x03, 0xC1, 0xE0, 0xC0, 0x1C, 0x70, + 0x07, 0x18, 0x00, 0xEE, 0x00, 0x3B, 0x80, 0x0E, 0xF0, 0x03, 0xBC, 0x00, + 0xE7, 0x80, 0x71, 0xF0, 0x38, 0x3E, 0x1C, 0x07, 0xEE, 0x00, 0xFE, 0x00, + 0x1F, 0xC0, 0x03, 0xF8, 0x03, 0xFF, 0x01, 0xC7, 0xE0, 0xE0, 0xFC, 0x70, + 0x0F, 0x98, 0x01, 0xEE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x01, 0xF8, 0x00, + 0x7E, 0x00, 0x1F, 0xC0, 0x07, 0x70, 0x03, 0x9E, 0x00, 0xE3, 0xE0, 0xF0, + 0x7F, 0xF0, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x03, 0xC3, + 0xE0, 0x3C, 0x0F, 0x83, 0xC0, 0x3C, 0x3E, 0x00, 0xF1, 0xE0, 0x07, 0xCF, + 0x00, 0x3E, 0xF8, 0x00, 0xF7, 0xC0, 0x07, 0xFE, 0x00, 0x3F, 0xF0, 0x01, + 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xF0, 0x03, 0xEF, 0x80, 0x1F, 0x7C, + 0x00, 0xF9, 0xF0, 0x0F, 0xC7, 0xE1, 0xFC, 0x1F, 0xF9, 0xE0, 0x3F, 0x1F, + 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, + 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, + 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x77, 0xFF, 0xF7, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xBF, 0xFF, 0xB8, 0x39, 0xF7, + 0xDF, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xEF, + 0xFF, 0x7C, 0x10, 0x42, 0x08, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, + 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xE0, + 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0xE0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, + 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, + 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, + 0x0F, 0xFE, 0x0C, 0x1F, 0x88, 0x03, 0xEC, 0x01, 0xF7, 0x00, 0x7F, 0xC0, + 0x3F, 0xE0, 0x1F, 0x70, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xE0, + 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x70, 0x00, 0x30, 0x00, 0x10, + 0x00, 0x18, 0x00, 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x03, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, + 0xFF, 0x00, 0x00, 0xFC, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x07, 0xC0, + 0x00, 0x30, 0x0F, 0x00, 0x00, 0x18, 0x1E, 0x00, 0x00, 0x0C, 0x1E, 0x00, + 0x00, 0x04, 0x3C, 0x00, 0xF8, 0x06, 0x3C, 0x01, 0xFD, 0xC2, 0x78, 0x03, + 0xC7, 0xC3, 0x78, 0x07, 0x07, 0x81, 0xF0, 0x0E, 0x03, 0x81, 0xF0, 0x0E, + 0x03, 0x81, 0xF0, 0x1C, 0x07, 0x81, 0xF0, 0x1C, 0x07, 0x01, 0xF0, 0x38, + 0x07, 0x01, 0xF0, 0x38, 0x07, 0x03, 0xF0, 0x38, 0x0F, 0x02, 0xF0, 0x38, + 0x0E, 0x02, 0xF0, 0x38, 0x1E, 0x04, 0x78, 0x38, 0x1E, 0x0C, 0x78, 0x1C, + 0x6E, 0x18, 0x38, 0x1F, 0xC7, 0xF0, 0x3C, 0x0F, 0x03, 0xE0, 0x1E, 0x00, + 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x60, 0x00, 0xFC, 0x03, 0xE0, 0x00, 0x3F, + 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x0D, + 0xF0, 0x00, 0x00, 0x0D, 0xF0, 0x00, 0x00, 0x18, 0xF0, 0x00, 0x00, 0x18, + 0xF8, 0x00, 0x00, 0x38, 0x78, 0x00, 0x00, 0x30, 0x7C, 0x00, 0x00, 0x30, + 0x7C, 0x00, 0x00, 0x60, 0x3E, 0x00, 0x00, 0x60, 0x3E, 0x00, 0x00, 0xE0, + 0x1E, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x01, 0x80, + 0x0F, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0x00, + 0x07, 0xC0, 0x07, 0x00, 0x07, 0xC0, 0x06, 0x00, 0x03, 0xE0, 0x06, 0x00, + 0x03, 0xE0, 0x0E, 0x00, 0x01, 0xF0, 0x0C, 0x00, 0x01, 0xF0, 0x1C, 0x00, + 0x01, 0xF8, 0x3C, 0x00, 0x01, 0xF8, 0x7E, 0x00, 0x01, 0xFC, 0xFF, 0x80, + 0x0F, 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0x80, 0x1F, 0x01, 0xF8, + 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF8, 0x0F, 0x80, 0x1F, 0x81, 0xF0, + 0x01, 0xF0, 0x3E, 0x00, 0x3E, 0x07, 0xC0, 0x07, 0xC0, 0xF8, 0x00, 0xF8, + 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0x7C, 0x01, 0xF0, 0x0F, 0x80, + 0xFC, 0x01, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xC0, 0x07, 0xC0, 0x7F, 0x00, + 0xF8, 0x01, 0xF0, 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x03, 0xE0, 0x7C, 0x00, + 0x3E, 0x0F, 0x80, 0x07, 0xC1, 0xF0, 0x00, 0xF8, 0x3E, 0x00, 0x1F, 0x07, + 0xC0, 0x03, 0xE0, 0xF8, 0x00, 0xF8, 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x07, + 0xC0, 0x7C, 0x07, 0xF0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x00, 0x00, + 0x1F, 0xF0, 0x20, 0x07, 0xFF, 0xEE, 0x01, 0xF8, 0x1F, 0xE0, 0x3E, 0x00, + 0x7E, 0x07, 0x80, 0x01, 0xE0, 0xF0, 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xE3, + 0xE0, 0x00, 0x06, 0x3C, 0x00, 0x00, 0x67, 0xC0, 0x00, 0x02, 0x7C, 0x00, + 0x00, 0x27, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x01, 0xF0, 0x00, + 0x02, 0x0F, 0x80, 0x00, 0xE0, 0x7E, 0x00, 0x1C, 0x03, 0xF8, 0x0F, 0x00, + 0x0F, 0xFF, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, + 0xFF, 0xF8, 0x00, 0x3E, 0x03, 0xFC, 0x00, 0x7C, 0x00, 0xFC, 0x00, 0xF8, + 0x00, 0x7E, 0x01, 0xF0, 0x00, 0x7E, 0x03, 0xE0, 0x00, 0x7C, 0x07, 0xC0, + 0x00, 0x7C, 0x0F, 0x80, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8, 0x3E, 0x00, + 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xF0, 0xF8, 0x00, 0x03, 0xE1, 0xF0, 0x00, + 0x07, 0xC3, 0xE0, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x1F, 0x0F, 0x80, 0x00, + 0x3E, 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, + 0xF0, 0xF8, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x1E, + 0x07, 0xC0, 0x00, 0x7C, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x00, 0x03, 0xE0, + 0x3E, 0x00, 0x1F, 0x80, 0x7C, 0x00, 0x7C, 0x00, 0xF8, 0x0F, 0xF0, 0x07, + 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x07, + 0xFF, 0xFF, 0xE0, 0x7C, 0x00, 0x1C, 0x0F, 0x80, 0x01, 0x81, 0xF0, 0x00, + 0x30, 0x3E, 0x00, 0x02, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x20, 0x0F, 0x80, 0x04, + 0x01, 0xF0, 0x01, 0x80, 0x3E, 0x00, 0x70, 0x07, 0xFF, 0xFE, 0x00, 0xFF, + 0xFF, 0xC0, 0x1F, 0x00, 0x38, 0x03, 0xE0, 0x03, 0x00, 0x7C, 0x00, 0x20, + 0x0F, 0x80, 0x04, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0x00, 0xF8, 0x00, 0x03, 0x1F, 0x00, 0x00, 0x43, 0xE0, 0x00, 0x18, + 0x7C, 0x00, 0x07, 0x0F, 0x80, 0x01, 0xC1, 0xF0, 0x00, 0xF8, 0x7F, 0xFF, + 0xFF, 0x3F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x1F, + 0x00, 0x07, 0x1F, 0x00, 0x03, 0x1F, 0x00, 0x03, 0x1F, 0x00, 0x01, 0x1F, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, + 0x00, 0x08, 0x1F, 0x00, 0x08, 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x38, 0x1F, + 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x1F, 0x00, 0x38, 0x1F, 0x00, 0x18, 0x1F, + 0x00, 0x08, 0x1F, 0x00, 0x08, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0xFF, + 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x00, 0xFF, 0xFE, 0x70, 0x07, 0xE0, + 0x1F, 0xE0, 0x1F, 0x00, 0x0F, 0xC0, 0x78, 0x00, 0x07, 0x81, 0xE0, 0x00, + 0x07, 0x07, 0xC0, 0x00, 0x0E, 0x1F, 0x00, 0x00, 0x0C, 0x3E, 0x00, 0x00, + 0x08, 0xF8, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, + 0x7C, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFD, 0xF0, 0x00, 0x01, 0xF3, + 0xE0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x0F, 0x8F, + 0x80, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0x7C, 0x3E, + 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xE0, 0xFC, + 0x00, 0x07, 0xC0, 0xFC, 0x00, 0x0F, 0x80, 0x7C, 0x00, 0x3F, 0x00, 0x7F, + 0x01, 0xFC, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xE0, + 0x1F, 0xFC, 0xFE, 0x00, 0x1F, 0xC1, 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, + 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, + 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, + 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, + 0x00, 0x0F, 0x81, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xF8, 0x1F, 0x00, + 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, + 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, + 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, + 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0xFE, + 0x00, 0x1F, 0xCF, 0xFE, 0x01, 0xFF, 0xC0, 0xFF, 0xF8, 0xFE, 0x03, 0xE0, + 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, + 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, + 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, + 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x0F, 0xE3, 0xFF, 0xE0, 0x0F, 0xFF, + 0x80, 0xFE, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, + 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, + 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, + 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, + 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3C, 0x0E, 0x1E, 0x0F, 0x8F, 0x07, + 0xCF, 0x01, 0xFF, 0x00, 0x7E, 0x00, 0xFF, 0xF8, 0x3F, 0xFC, 0x3F, 0xC0, + 0x07, 0xE0, 0x0F, 0x80, 0x07, 0x80, 0x0F, 0x80, 0x07, 0x00, 0x0F, 0x80, + 0x0E, 0x00, 0x0F, 0x80, 0x1C, 0x00, 0x0F, 0x80, 0x38, 0x00, 0x0F, 0x80, + 0x70, 0x00, 0x0F, 0x80, 0xE0, 0x00, 0x0F, 0x81, 0xC0, 0x00, 0x0F, 0x83, + 0x80, 0x00, 0x0F, 0x87, 0x00, 0x00, 0x0F, 0x9E, 0x00, 0x00, 0x0F, 0xBC, + 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0xDF, + 0x80, 0x00, 0x0F, 0x8F, 0xC0, 0x00, 0x0F, 0x87, 0xE0, 0x00, 0x0F, 0x83, + 0xF0, 0x00, 0x0F, 0x81, 0xF8, 0x00, 0x0F, 0x80, 0xFC, 0x00, 0x0F, 0x80, + 0x7E, 0x00, 0x0F, 0x80, 0x3F, 0x00, 0x0F, 0x80, 0x3F, 0x80, 0x0F, 0x80, + 0x1F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, 0x0F, 0x80, 0x07, 0xE0, 0x0F, 0x80, + 0x07, 0xF0, 0x1F, 0xC0, 0x07, 0xFC, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF0, + 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, + 0x00, 0x7C, 0x00, 0x01, 0x1F, 0x00, 0x00, 0xC7, 0xC0, 0x00, 0x21, 0xF0, + 0x00, 0x18, 0x7C, 0x00, 0x0E, 0x1F, 0x00, 0x1F, 0x8F, 0xFF, 0xFF, 0xCF, + 0xFF, 0xFF, 0xF0, 0xFF, 0x80, 0x00, 0x03, 0xFE, 0x7F, 0x80, 0x00, 0x07, + 0xF0, 0x3F, 0x00, 0x00, 0x1F, 0xC0, 0x7E, 0x00, 0x00, 0x3F, 0x80, 0xFE, + 0x00, 0x00, 0xFF, 0x01, 0xFC, 0x00, 0x01, 0xBE, 0x03, 0x7C, 0x00, 0x03, + 0x7C, 0x06, 0xF8, 0x00, 0x0E, 0xF8, 0x0D, 0xF8, 0x00, 0x19, 0xF0, 0x19, + 0xF0, 0x00, 0x73, 0xE0, 0x33, 0xF0, 0x00, 0xC7, 0xC0, 0x63, 0xE0, 0x03, + 0x8F, 0x80, 0xC7, 0xE0, 0x06, 0x1F, 0x01, 0x87, 0xC0, 0x1C, 0x3E, 0x03, + 0x0F, 0xC0, 0x30, 0x7C, 0x06, 0x0F, 0x80, 0x60, 0xF8, 0x0C, 0x1F, 0x81, + 0x81, 0xF0, 0x18, 0x1F, 0x03, 0x03, 0xE0, 0x30, 0x3F, 0x0C, 0x07, 0xC0, + 0x60, 0x3E, 0x18, 0x0F, 0x80, 0xC0, 0x7C, 0x70, 0x1F, 0x01, 0x80, 0x7C, + 0xC0, 0x3E, 0x03, 0x00, 0xFB, 0x80, 0x7C, 0x06, 0x00, 0xFE, 0x00, 0xF8, + 0x0C, 0x01, 0xFC, 0x01, 0xF0, 0x18, 0x03, 0xF0, 0x03, 0xE0, 0x30, 0x03, + 0xE0, 0x07, 0xC0, 0x60, 0x07, 0x80, 0x0F, 0x81, 0xE0, 0x07, 0x00, 0x1F, + 0x07, 0xE0, 0x0C, 0x00, 0xFF, 0x3F, 0xF0, 0x08, 0x07, 0xFF, 0x80, 0xFF, + 0x00, 0x03, 0xFF, 0x3F, 0x80, 0x00, 0xFC, 0x1F, 0xC0, 0x00, 0x78, 0x0F, + 0xC0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, 0x0F, 0xF0, 0x00, 0x30, 0x0D, + 0xF8, 0x00, 0x30, 0x0D, 0xFC, 0x00, 0x30, 0x0C, 0xFC, 0x00, 0x30, 0x0C, + 0x7E, 0x00, 0x30, 0x0C, 0x3F, 0x00, 0x30, 0x0C, 0x1F, 0x80, 0x30, 0x0C, + 0x1F, 0xC0, 0x30, 0x0C, 0x0F, 0xE0, 0x30, 0x0C, 0x07, 0xE0, 0x30, 0x0C, + 0x03, 0xF0, 0x30, 0x0C, 0x01, 0xF8, 0x30, 0x0C, 0x01, 0xFC, 0x30, 0x0C, + 0x00, 0xFE, 0x30, 0x0C, 0x00, 0x7E, 0x30, 0x0C, 0x00, 0x3F, 0x30, 0x0C, + 0x00, 0x1F, 0xB0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, + 0x00, 0x07, 0xF0, 0x0C, 0x00, 0x03, 0xF0, 0x0C, 0x00, 0x01, 0xF0, 0x0C, + 0x00, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x70, 0xFF, + 0xC0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x10, 0x00, 0x1F, 0xE0, 0x00, 0x03, + 0xFF, 0xF0, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, + 0x07, 0xC0, 0x7C, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x00, + 0x7C, 0x3C, 0x00, 0x00, 0xF1, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x0F, + 0x9E, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x01, 0xFF, + 0x80, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xE0, + 0x00, 0x01, 0xFF, 0x80, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x1F, 0xF8, 0x00, + 0x00, 0x7D, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, + 0x3E, 0x3C, 0x00, 0x00, 0xF0, 0xF8, 0x00, 0x07, 0xC1, 0xE0, 0x00, 0x1E, + 0x07, 0xC0, 0x00, 0xF8, 0x0F, 0x80, 0x07, 0xC0, 0x1F, 0x00, 0x3E, 0x00, + 0x1F, 0x03, 0xE0, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0xFF, + 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x7C, 0x1F, 0xC0, 0xF8, 0x07, 0xC1, 0xF0, + 0x07, 0xC3, 0xE0, 0x0F, 0x87, 0xC0, 0x0F, 0x8F, 0x80, 0x1F, 0x1F, 0x00, + 0x3E, 0x3E, 0x00, 0x7C, 0x7C, 0x00, 0xF8, 0xF8, 0x01, 0xF1, 0xF0, 0x07, + 0xC3, 0xE0, 0x0F, 0x87, 0xC0, 0x3E, 0x0F, 0x81, 0xF8, 0x1F, 0xFF, 0xC0, + 0x3F, 0xFE, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, + 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xF0, + 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFF, 0xF8, + 0x00, 0x07, 0xC0, 0xF8, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x7C, + 0x03, 0xE0, 0x00, 0x7C, 0x07, 0x80, 0x00, 0x78, 0x1F, 0x00, 0x00, 0xF8, + 0x3C, 0x00, 0x00, 0xF0, 0xF8, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x03, 0xE3, + 0xC0, 0x00, 0x03, 0xCF, 0x80, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x0F, 0xBE, + 0x00, 0x00, 0x1F, 0x7C, 0x00, 0x00, 0x3E, 0xF8, 0x00, 0x00, 0x7D, 0xF0, + 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x03, 0xEF, 0x80, + 0x00, 0x07, 0xCF, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, + 0x00, 0x7C, 0x3C, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xE0, 0x78, 0x00, + 0x0F, 0x80, 0x78, 0x00, 0x1E, 0x00, 0x78, 0x00, 0x78, 0x00, 0x7C, 0x03, + 0xE0, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x1F, + 0x03, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x03, + 0xE0, 0x1F, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xE0, 0x1F, 0x00, 0x3E, 0x01, + 0xF0, 0x03, 0xE0, 0x1F, 0x00, 0x3E, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, + 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x07, 0xF0, 0x01, 0xFF, 0xFC, 0x00, + 0x1F, 0xFE, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x1F, 0x1F, 0x80, 0x01, 0xF0, + 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x03, 0xF0, + 0x01, 0xF0, 0x1F, 0x80, 0x1F, 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, 0x1F, + 0x00, 0x7E, 0x01, 0xF0, 0x03, 0xF0, 0x1F, 0x00, 0x1F, 0x83, 0xF8, 0x00, + 0xFC, 0xFF, 0xF0, 0x0F, 0xF0, 0x03, 0xF0, 0x20, 0x7F, 0xF3, 0x07, 0xC1, + 0xF8, 0x78, 0x03, 0xC3, 0x80, 0x0E, 0x3C, 0x00, 0x31, 0xE0, 0x01, 0xCF, + 0x00, 0x06, 0x7C, 0x00, 0x33, 0xE0, 0x01, 0x9F, 0x80, 0x00, 0x7E, 0x00, + 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0xC0, 0x01, + 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x7F, + 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, + 0x07, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xEF, 0x00, 0x1F, 0x3C, 0x01, 0xF1, + 0xF8, 0x1F, 0x0C, 0xFF, 0xF0, 0x40, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xC0, 0x7C, 0x07, 0xF0, 0x0F, 0x80, 0x3C, 0x01, 0xF0, + 0x07, 0x00, 0x3E, 0x00, 0x60, 0x07, 0xC0, 0x08, 0x00, 0xF8, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7F, + 0x00, 0x00, 0x7F, 0xFC, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0x3F, 0xE0, 0x00, + 0xFC, 0x0F, 0x80, 0x00, 0x78, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, + 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x20, 0x07, 0xC0, 0x00, + 0x60, 0x07, 0xC0, 0x00, 0x60, 0x03, 0xE0, 0x00, 0xC0, 0x03, 0xF0, 0x01, + 0xC0, 0x01, 0xFC, 0x07, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F, 0xF8, + 0x00, 0xFF, 0xF8, 0x01, 0xFF, 0x3F, 0xC0, 0x00, 0x7E, 0x0F, 0x80, 0x00, + 0x3C, 0x0F, 0xC0, 0x00, 0x38, 0x07, 0xC0, 0x00, 0x38, 0x07, 0xC0, 0x00, + 0x30, 0x03, 0xE0, 0x00, 0x70, 0x03, 0xE0, 0x00, 0x60, 0x01, 0xF0, 0x00, + 0x60, 0x01, 0xF0, 0x00, 0xE0, 0x01, 0xF8, 0x00, 0xC0, 0x00, 0xF8, 0x01, + 0xC0, 0x00, 0xF8, 0x01, 0x80, 0x00, 0x7C, 0x01, 0x80, 0x00, 0x7C, 0x03, + 0x80, 0x00, 0x3E, 0x03, 0x00, 0x00, 0x3E, 0x07, 0x00, 0x00, 0x1F, 0x06, + 0x00, 0x00, 0x1F, 0x06, 0x00, 0x00, 0x1F, 0x8E, 0x00, 0x00, 0x0F, 0x8C, + 0x00, 0x00, 0x0F, 0x9C, 0x00, 0x00, 0x07, 0xD8, 0x00, 0x00, 0x07, 0xD8, + 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0xE0, + 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xF1, 0xFF, + 0xF0, 0x1F, 0xF3, 0xF8, 0x07, 0xF8, 0x00, 0x7C, 0x1F, 0x80, 0x3F, 0x00, + 0x03, 0x80, 0xF8, 0x01, 0xF0, 0x00, 0x30, 0x0F, 0x80, 0x1F, 0x00, 0x03, + 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x30, 0x07, 0xC0, 0x0F, 0x80, 0x06, 0x00, + 0x3E, 0x00, 0x7C, 0x00, 0x60, 0x03, 0xE0, 0x07, 0xC0, 0x06, 0x00, 0x3E, + 0x00, 0x7C, 0x00, 0xC0, 0x01, 0xF0, 0x07, 0xE0, 0x0C, 0x00, 0x1F, 0x00, + 0xFE, 0x01, 0xC0, 0x01, 0xF0, 0x0D, 0xE0, 0x18, 0x00, 0x0F, 0x80, 0xDF, + 0x01, 0x80, 0x00, 0xF8, 0x19, 0xF0, 0x30, 0x00, 0x07, 0xC1, 0x8F, 0x83, + 0x00, 0x00, 0x7C, 0x38, 0xF8, 0x30, 0x00, 0x07, 0xC3, 0x0F, 0x86, 0x00, + 0x00, 0x3E, 0x30, 0x7C, 0x60, 0x00, 0x03, 0xE7, 0x07, 0xCE, 0x00, 0x00, + 0x3E, 0x60, 0x3E, 0xC0, 0x00, 0x01, 0xF6, 0x03, 0xEC, 0x00, 0x00, 0x1F, + 0xE0, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0x0F, 0xC0, + 0x1F, 0x80, 0x00, 0x00, 0xF8, 0x01, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x0F, + 0x00, 0x00, 0x00, 0x78, 0x00, 0xF0, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x70, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x7F, 0xFE, 0x03, 0xFF, 0x8F, 0xF8, 0x00, + 0x7E, 0x01, 0xFC, 0x00, 0x1C, 0x00, 0x7E, 0x00, 0x1C, 0x00, 0x1F, 0x00, + 0x0C, 0x00, 0x07, 0xC0, 0x0E, 0x00, 0x03, 0xF0, 0x0E, 0x00, 0x00, 0xF8, + 0x0E, 0x00, 0x00, 0x3E, 0x06, 0x00, 0x00, 0x1F, 0x86, 0x00, 0x00, 0x07, + 0xC7, 0x00, 0x00, 0x01, 0xF7, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x03, 0x9F, 0x00, 0x00, + 0x01, 0x8F, 0xC0, 0x00, 0x01, 0x83, 0xF0, 0x00, 0x01, 0xC0, 0xF8, 0x00, + 0x01, 0xC0, 0x7E, 0x00, 0x01, 0xC0, 0x1F, 0x80, 0x01, 0xC0, 0x07, 0xC0, + 0x00, 0xC0, 0x03, 0xF0, 0x00, 0xE0, 0x00, 0xFC, 0x00, 0xE0, 0x00, 0x7F, + 0x00, 0xF0, 0x00, 0x1F, 0x80, 0xFC, 0x00, 0x1F, 0xF3, 0xFF, 0x80, 0x7F, + 0xFE, 0xFF, 0xF8, 0x03, 0xFF, 0x3F, 0xE0, 0x00, 0x7C, 0x1F, 0xC0, 0x00, + 0x78, 0x0F, 0xC0, 0x00, 0x70, 0x07, 0xE0, 0x00, 0x60, 0x03, 0xF0, 0x00, + 0xE0, 0x01, 0xF0, 0x01, 0xC0, 0x01, 0xF8, 0x01, 0x80, 0x00, 0xFC, 0x03, + 0x80, 0x00, 0x7C, 0x07, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00, 0x3F, 0x0E, + 0x00, 0x00, 0x1F, 0x1C, 0x00, 0x00, 0x1F, 0x98, 0x00, 0x00, 0x0F, 0xF8, + 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF8, + 0xF0, 0x00, 0x3E, 0x38, 0x00, 0x0F, 0x86, 0x00, 0x03, 0xF0, 0xC0, 0x00, + 0x7C, 0x10, 0x00, 0x1F, 0x02, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7E, + 0x00, 0x01, 0x0F, 0x80, 0x00, 0x63, 0xF0, 0x00, 0x0C, 0xFC, 0x00, 0x03, + 0xBF, 0x00, 0x00, 0xE7, 0xC0, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, + 0xFF, 0xF0, 0xFF, 0xF0, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, + 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, + 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, + 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0F, 0x07, 0xFC, 0xE0, 0x01, 0xC0, + 0x07, 0x00, 0x1C, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1C, + 0x00, 0x70, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x1C, 0x00, 0x70, 0x01, + 0xC0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, + 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x38, + 0x00, 0xE0, 0x03, 0xC0, 0x07, 0xFF, 0x83, 0xC0, 0xE0, 0x70, 0x38, 0x1C, + 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, + 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, + 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x3F, 0xFC, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xDC, + 0x00, 0x39, 0xC0, 0x07, 0x9E, 0x00, 0x70, 0xE0, 0x0F, 0x0F, 0x00, 0xE0, + 0x70, 0x1E, 0x07, 0x81, 0xC0, 0x38, 0x3C, 0x03, 0xC3, 0x80, 0x1C, 0x78, + 0x01, 0xE7, 0x00, 0x0E, 0xF0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xC0, 0x38, 0x07, 0x03, + 0xF0, 0x07, 0x0E, 0x03, 0x81, 0xC1, 0xE0, 0x30, 0x78, 0x0E, 0x1E, 0x03, + 0x83, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x3E, 0x00, 0x73, 0x80, 0x70, 0xE0, + 0x70, 0x38, 0x38, 0x0E, 0x1C, 0x03, 0x8F, 0x00, 0xE3, 0xC0, 0x38, 0xF0, + 0x0E, 0x3E, 0x07, 0x8F, 0xC3, 0xE1, 0xFF, 0x3F, 0x1F, 0x07, 0x80, 0x06, + 0x00, 0x01, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, + 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, + 0x00, 0x07, 0x80, 0x00, 0x3C, 0x7E, 0x01, 0xEF, 0xFC, 0x0F, 0xC3, 0xF0, + 0x7C, 0x07, 0x83, 0xC0, 0x3E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0xC7, 0x80, + 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x8F, 0x00, 0x3C, 0x78, 0x01, 0xE3, + 0xC0, 0x0F, 0x1E, 0x00, 0x70, 0xF0, 0x03, 0x87, 0x80, 0x38, 0x3C, 0x01, + 0xC1, 0xE0, 0x1C, 0x0F, 0xC1, 0xC0, 0x1F, 0xFC, 0x00, 0x3F, 0x80, 0x01, + 0xFC, 0x00, 0xFF, 0xE0, 0x38, 0x3E, 0x0E, 0x03, 0xE3, 0x80, 0x7C, 0xE0, + 0x07, 0x18, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, + 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x1B, 0xC0, + 0x02, 0x7C, 0x01, 0x87, 0xE0, 0x60, 0x7F, 0xF8, 0x07, 0xFE, 0x00, 0x3F, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x0F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0x78, + 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, + 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x7C, 0x78, 0x07, 0xFD, + 0xE0, 0x3C, 0x3F, 0x81, 0xC0, 0x3E, 0x0E, 0x00, 0xF8, 0x38, 0x01, 0xE1, + 0xE0, 0x07, 0x87, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xC0, + 0x07, 0x8F, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xE0, 0x07, + 0x87, 0x80, 0x1E, 0x1F, 0x00, 0x78, 0x3E, 0x03, 0xE0, 0xFC, 0x1F, 0xF0, + 0xFF, 0xDF, 0x00, 0xFC, 0x60, 0x03, 0xF8, 0x03, 0xFF, 0x01, 0xC1, 0xE0, + 0xC0, 0x3C, 0x70, 0x0F, 0x98, 0x01, 0xE7, 0xFF, 0xFB, 0xFF, 0xFE, 0xE0, + 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, + 0x1F, 0x00, 0x05, 0xE0, 0x02, 0x7C, 0x01, 0x8F, 0xC1, 0xC3, 0xFF, 0xE0, + 0x7F, 0xF0, 0x07, 0xF0, 0x00, 0x00, 0x7E, 0x00, 0xFF, 0xC0, 0xE3, 0xE0, + 0x60, 0x70, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, 0x00, + 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x07, 0xFF, 0x83, 0xFF, 0xC0, 0x3C, + 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, + 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, + 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3F, + 0x00, 0xFF, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x03, 0xC7, 0xFE, + 0x3C, 0x1F, 0xF1, 0xC0, 0x70, 0x1E, 0x03, 0xC0, 0xF0, 0x0E, 0x07, 0x80, + 0x70, 0x3C, 0x03, 0x81, 0xE0, 0x1C, 0x07, 0x80, 0xC0, 0x3E, 0x0E, 0x00, + 0x78, 0xE0, 0x01, 0xFC, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, + 0x01, 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0xFF, 0xFE, 0x0C, + 0x00, 0x38, 0xC0, 0x00, 0x4C, 0x00, 0x02, 0x60, 0x00, 0x17, 0x00, 0x01, + 0x38, 0x00, 0x09, 0xE0, 0x00, 0x87, 0xC0, 0x38, 0x1F, 0xFF, 0x00, 0x3F, + 0xC0, 0x00, 0x06, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0x80, + 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, + 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x87, 0xE0, 0x1E, + 0x7F, 0xC0, 0x7B, 0x0F, 0x81, 0xF8, 0x1E, 0x07, 0x80, 0x3C, 0x1E, 0x00, + 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, + 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, + 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, + 0xC3, 0xF0, 0x1F, 0x9F, 0xF1, 0xFF, 0x0E, 0x03, 0xE0, 0x7C, 0x0F, 0x80, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, + 0x7E, 0x1F, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, + 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, + 0xE7, 0xFF, 0x00, 0xE0, 0x1F, 0x01, 0xF0, 0x1F, 0x00, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x70, 0x3F, 0x07, + 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, + 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, + 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xE0, 0x0E, 0xE0, + 0xEF, 0x1C, 0xFF, 0x87, 0xE0, 0x06, 0x00, 0x00, 0x7C, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, + 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, + 0x00, 0xF0, 0x7F, 0xE1, 0xE0, 0x3E, 0x03, 0xC0, 0x70, 0x07, 0x81, 0x80, + 0x0F, 0x06, 0x00, 0x1E, 0x18, 0x00, 0x3C, 0x60, 0x00, 0x79, 0x80, 0x00, + 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xDE, 0x00, 0x07, 0x9E, 0x00, 0x0F, + 0x3E, 0x00, 0x1E, 0x3E, 0x00, 0x3C, 0x3E, 0x00, 0x78, 0x3C, 0x00, 0xF0, + 0x3C, 0x01, 0xE0, 0x7C, 0x03, 0xC0, 0x7C, 0x0F, 0xC0, 0xFE, 0x7F, 0xE3, + 0xFF, 0x03, 0x03, 0xE1, 0xFC, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, + 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, + 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, + 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0xE7, 0xFF, 0x1E, 0x1F, 0x01, + 0xF8, 0x1F, 0xCF, 0xF0, 0xFF, 0x80, 0xFF, 0x0F, 0x70, 0xF8, 0x0F, 0x81, + 0xF8, 0x0F, 0x01, 0xE0, 0x1E, 0x00, 0xF0, 0x3C, 0x03, 0xC0, 0x1E, 0x07, + 0x80, 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xE0, 0x0F, + 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x78, 0x07, 0x80, 0x3C, 0x0F, 0x00, 0xF0, + 0x07, 0x81, 0xE0, 0x1E, 0x00, 0xF0, 0x3C, 0x03, 0xC0, 0x1E, 0x07, 0x80, + 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xE0, 0x0F, 0x03, + 0xC0, 0x3C, 0x01, 0xE0, 0x78, 0x07, 0x80, 0x3C, 0x1F, 0x81, 0xF8, 0x0F, + 0xCF, 0xFC, 0xFF, 0xC7, 0xFE, 0x1E, 0x1F, 0x83, 0xF9, 0xFF, 0x03, 0xFC, + 0x3E, 0x07, 0xC0, 0x7C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, + 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, + 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, + 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x0F, 0xC0, 0x7E, + 0x7F, 0xC3, 0xFC, 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0xF0, 0x7C, 0x0F, + 0x80, 0xF8, 0x3C, 0x01, 0xF1, 0xE0, 0x03, 0xE7, 0x80, 0x0F, 0xBE, 0x00, + 0x3F, 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, + 0xF8, 0x00, 0x7F, 0xF0, 0x01, 0xE7, 0xC0, 0x07, 0x9F, 0x80, 0x3E, 0x3E, + 0x00, 0xF0, 0x7C, 0x07, 0x80, 0xF8, 0x3C, 0x01, 0xFF, 0xE0, 0x00, 0xFC, + 0x00, 0x0E, 0x3F, 0x07, 0xF7, 0xFE, 0x07, 0xE0, 0xF8, 0x3E, 0x03, 0xE1, + 0xE0, 0x0F, 0x0F, 0x00, 0x7C, 0x78, 0x03, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, + 0x78, 0xF0, 0x03, 0xC7, 0x80, 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x8F, + 0x00, 0x38, 0x78, 0x03, 0xC3, 0xC0, 0x1E, 0x1E, 0x00, 0xE0, 0xF8, 0x0E, + 0x07, 0xE0, 0xE0, 0x3D, 0xFE, 0x01, 0xE7, 0xC0, 0x0F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, + 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x1F, 0x80, 0x03, 0xFF, 0x80, 0x00, 0x01, + 0xF8, 0x20, 0x3F, 0xF3, 0x03, 0xC1, 0xF8, 0x3C, 0x07, 0xC3, 0xC0, 0x1E, + 0x1C, 0x00, 0xF1, 0xE0, 0x07, 0x8E, 0x00, 0x3C, 0xF0, 0x01, 0xE7, 0x80, + 0x0F, 0x3C, 0x00, 0x79, 0xE0, 0x03, 0xCF, 0x00, 0x1E, 0x78, 0x00, 0xF3, + 0xE0, 0x07, 0x9F, 0x00, 0x3C, 0x7C, 0x01, 0xE3, 0xE0, 0x1F, 0x0F, 0xC1, + 0xF8, 0x3F, 0xF3, 0xC0, 0x7E, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, + 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, + 0xC0, 0x00, 0x1E, 0x00, 0x03, 0xF8, 0x00, 0x7F, 0xE0, 0x06, 0x3C, 0xFC, + 0xFE, 0xFA, 0x78, 0xF8, 0x71, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, + 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, + 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xF8, 0x0F, 0xFC, + 0x00, 0x1F, 0x91, 0x87, 0x98, 0x1D, 0xC0, 0x6E, 0x03, 0x70, 0x0B, 0xC0, + 0x5F, 0x80, 0x7E, 0x01, 0xFC, 0x07, 0xF0, 0x0F, 0xE0, 0x3F, 0x00, 0x7E, + 0x01, 0xF0, 0x07, 0xC0, 0x3E, 0x01, 0xF8, 0x0D, 0xE0, 0xC8, 0xF8, 0x00, + 0x04, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x3C, 0x07, 0xFC, 0xFF, 0xC3, 0xC0, + 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xE2, + 0x1F, 0xC0, 0xF8, 0xFC, 0x0F, 0xE1, 0xF0, 0x0F, 0x83, 0xC0, 0x1E, 0x0F, + 0x00, 0x78, 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, + 0x78, 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, 0x78, + 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, 0x78, 0x3C, + 0x01, 0xE0, 0xF8, 0x0F, 0x81, 0xF0, 0xFF, 0x03, 0xFE, 0x7F, 0x07, 0xE1, + 0xC0, 0xFF, 0x81, 0xFC, 0xFC, 0x01, 0xC1, 0xE0, 0x07, 0x07, 0x80, 0x18, + 0x0F, 0x00, 0x60, 0x3C, 0x01, 0x00, 0x78, 0x0C, 0x01, 0xE0, 0x30, 0x07, + 0x81, 0x80, 0x0F, 0x06, 0x00, 0x3C, 0x10, 0x00, 0x78, 0xC0, 0x01, 0xE3, + 0x00, 0x03, 0x98, 0x00, 0x0F, 0x60, 0x00, 0x3D, 0x00, 0x00, 0x7C, 0x00, + 0x01, 0xF0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x40, 0x00, 0xFF, 0x8F, 0xF8, 0x3F, 0x7E, 0x07, 0xE0, 0x0E, 0x3E, 0x03, + 0xC0, 0x0C, 0x1E, 0x03, 0xE0, 0x0C, 0x1E, 0x01, 0xE0, 0x0C, 0x1E, 0x01, + 0xE0, 0x18, 0x0F, 0x00, 0xF0, 0x18, 0x0F, 0x01, 0xF0, 0x10, 0x07, 0x81, + 0xF0, 0x30, 0x07, 0x81, 0x78, 0x30, 0x07, 0x83, 0x78, 0x60, 0x03, 0xC3, + 0x38, 0x60, 0x03, 0xC6, 0x3C, 0x40, 0x01, 0xC6, 0x3C, 0xC0, 0x01, 0xEC, + 0x1E, 0xC0, 0x01, 0xEC, 0x1F, 0x80, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0xF8, + 0x0F, 0x00, 0x00, 0x70, 0x0F, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0x20, 0x02, 0x00, 0x7F, 0xE7, 0xF0, 0x7E, 0x0F, 0x00, + 0xF8, 0x38, 0x01, 0xE0, 0xC0, 0x07, 0xC6, 0x00, 0x0F, 0x30, 0x00, 0x1E, + 0xC0, 0x00, 0x7E, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, + 0x00, 0x3F, 0x00, 0x00, 0xDE, 0x00, 0x06, 0x7C, 0x00, 0x30, 0xF0, 0x01, + 0xC1, 0xE0, 0x06, 0x07, 0xC0, 0x30, 0x0F, 0x01, 0xC0, 0x1E, 0x0F, 0x00, + 0xFC, 0xFE, 0x07, 0xFC, 0xFF, 0xC0, 0xFC, 0xFC, 0x01, 0xE1, 0xE0, 0x03, + 0x07, 0x80, 0x18, 0x0F, 0x00, 0x60, 0x3C, 0x01, 0x80, 0x78, 0x0C, 0x01, + 0xE0, 0x30, 0x03, 0xC0, 0xC0, 0x0F, 0x06, 0x00, 0x3E, 0x18, 0x00, 0x78, + 0x40, 0x01, 0xF3, 0x00, 0x03, 0xCC, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, + 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x40, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x60, + 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, 0x01, + 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0x9F, 0xFF, 0xE6, 0x00, + 0xF1, 0x00, 0x78, 0x40, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xE0, + 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, + 0xE0, 0x01, 0xF0, 0x04, 0x78, 0x01, 0x3E, 0x00, 0xDF, 0x00, 0x37, 0x80, + 0x1F, 0xFF, 0xFE, 0xFF, 0xFF, 0x80, 0x01, 0xE0, 0x78, 0x1C, 0x07, 0x80, + 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x70, 0x1C, 0x0E, 0x00, 0x70, + 0x07, 0x00, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, + 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x01, 0xC0, + 0x1E, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0x00, 0x70, 0x0F, 0x00, 0xE0, 0x1C, 0x03, + 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, + 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x0E, 0x07, 0x01, 0xC0, 0x70, + 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x3C, 0x07, 0x03, 0xC0, 0xF0, 0x00, + 0x1F, 0x80, 0x00, 0xFF, 0x80, 0xC7, 0x0F, 0x87, 0xB8, 0x0F, 0xFC, 0x00, + 0x07, 0xC0 }; + +const GFXglyph FreeSerif24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' + { 0, 5, 32, 16, 6, -31 }, // 0x21 '!' + { 20, 12, 12, 19, 4, -31 }, // 0x22 '"' + { 38, 23, 31, 23, 0, -30 }, // 0x23 '#' + { 128, 19, 37, 24, 2, -33 }, // 0x24 '$' + { 216, 33, 32, 39, 3, -30 }, // 0x25 '%' + { 348, 32, 33, 37, 2, -31 }, // 0x26 '&' + { 480, 4, 12, 9, 3, -31 }, // 0x27 ''' + { 486, 12, 40, 16, 2, -31 }, // 0x28 '(' + { 546, 12, 40, 16, 2, -30 }, // 0x29 ')' + { 606, 16, 19, 24, 4, -30 }, // 0x2A '*' + { 644, 23, 23, 27, 2, -22 }, // 0x2B '+' + { 711, 6, 11, 12, 2, -4 }, // 0x2C ',' + { 720, 11, 2, 16, 2, -10 }, // 0x2D '-' + { 723, 5, 5, 12, 3, -3 }, // 0x2E '.' + { 727, 14, 32, 14, 0, -30 }, // 0x2F '/' + { 783, 22, 33, 23, 1, -31 }, // 0x30 '0' + { 874, 13, 32, 24, 5, -31 }, // 0x31 '1' + { 926, 21, 31, 23, 1, -30 }, // 0x32 '2' + { 1008, 18, 32, 23, 2, -30 }, // 0x33 '3' + { 1080, 21, 31, 24, 1, -30 }, // 0x34 '4' + { 1162, 19, 33, 24, 2, -31 }, // 0x35 '5' + { 1241, 21, 33, 23, 2, -31 }, // 0x36 '6' + { 1328, 20, 31, 24, 1, -30 }, // 0x37 '7' + { 1406, 18, 33, 23, 3, -31 }, // 0x38 '8' + { 1481, 21, 33, 24, 1, -31 }, // 0x39 '9' + { 1568, 5, 22, 12, 4, -20 }, // 0x3A ':' + { 1582, 6, 27, 12, 3, -20 }, // 0x3B ';' + { 1603, 24, 25, 27, 1, -24 }, // 0x3C '<' + { 1678, 24, 11, 27, 1, -16 }, // 0x3D '=' + { 1711, 24, 25, 27, 2, -23 }, // 0x3E '>' + { 1786, 17, 32, 21, 3, -31 }, // 0x3F '?' + { 1854, 32, 33, 41, 4, -31 }, // 0x40 '@' + { 1986, 32, 32, 34, 1, -31 }, // 0x41 'A' + { 2114, 27, 31, 30, 0, -30 }, // 0x42 'B' + { 2219, 28, 33, 31, 2, -31 }, // 0x43 'C' + { 2335, 31, 31, 34, 1, -30 }, // 0x44 'D' + { 2456, 27, 31, 29, 2, -30 }, // 0x45 'E' + { 2561, 24, 31, 27, 2, -30 }, // 0x46 'F' + { 2654, 31, 33, 35, 2, -31 }, // 0x47 'G' + { 2782, 30, 31, 34, 2, -30 }, // 0x48 'H' + { 2899, 13, 31, 15, 1, -30 }, // 0x49 'I' + { 2950, 17, 32, 18, 0, -30 }, // 0x4A 'J' + { 3018, 32, 31, 33, 1, -30 }, // 0x4B 'K' + { 3142, 26, 31, 29, 2, -30 }, // 0x4C 'L' + { 3243, 39, 31, 41, 1, -30 }, // 0x4D 'M' + { 3395, 32, 32, 34, 1, -30 }, // 0x4E 'N' + { 3523, 30, 33, 34, 2, -31 }, // 0x4F 'O' + { 3647, 23, 31, 27, 2, -30 }, // 0x50 'P' + { 3737, 31, 40, 34, 2, -31 }, // 0x51 'Q' + { 3892, 28, 31, 31, 2, -30 }, // 0x52 'R' + { 4001, 21, 33, 25, 2, -31 }, // 0x53 'S' + { 4088, 27, 31, 28, 1, -30 }, // 0x54 'T' + { 4193, 32, 32, 34, 1, -30 }, // 0x55 'U' + { 4321, 32, 32, 33, 0, -30 }, // 0x56 'V' + { 4449, 44, 32, 45, 0, -30 }, // 0x57 'W' + { 4625, 33, 31, 34, 0, -30 }, // 0x58 'X' + { 4753, 32, 31, 33, 0, -30 }, // 0x59 'Y' + { 4877, 27, 31, 29, 1, -30 }, // 0x5A 'Z' + { 4982, 9, 38, 16, 4, -30 }, // 0x5B '[' + { 5025, 14, 32, 14, 0, -30 }, // 0x5C '\' + { 5081, 9, 38, 16, 3, -30 }, // 0x5D ']' + { 5124, 20, 17, 22, 1, -30 }, // 0x5E '^' + { 5167, 24, 2, 23, 0, 5 }, // 0x5F '_' + { 5173, 10, 8, 12, 1, -31 }, // 0x60 '`' + { 5183, 18, 21, 20, 1, -20 }, // 0x61 'a' + { 5231, 21, 32, 24, 1, -31 }, // 0x62 'b' + { 5315, 19, 21, 21, 1, -20 }, // 0x63 'c' + { 5365, 22, 32, 23, 1, -31 }, // 0x64 'd' + { 5453, 18, 21, 21, 1, -20 }, // 0x65 'e' + { 5501, 17, 33, 18, 0, -32 }, // 0x66 'f' + { 5572, 21, 31, 22, 1, -20 }, // 0x67 'g' + { 5654, 22, 32, 23, 0, -31 }, // 0x68 'h' + { 5742, 11, 32, 13, 0, -31 }, // 0x69 'i' + { 5786, 12, 42, 16, 0, -31 }, // 0x6A 'j' + { 5849, 23, 32, 24, 1, -31 }, // 0x6B 'k' + { 5941, 11, 32, 12, 0, -31 }, // 0x6C 'l' + { 5985, 35, 21, 37, 1, -20 }, // 0x6D 'm' + { 6077, 22, 21, 23, 0, -20 }, // 0x6E 'n' + { 6135, 22, 21, 23, 1, -20 }, // 0x6F 'o' + { 6193, 21, 31, 24, 1, -20 }, // 0x70 'p' + { 6275, 21, 31, 23, 1, -20 }, // 0x71 'q' + { 6357, 15, 21, 16, 1, -20 }, // 0x72 'r' + { 6397, 13, 21, 17, 2, -20 }, // 0x73 's' + { 6432, 12, 26, 13, 1, -25 }, // 0x74 't' + { 6471, 22, 21, 23, 1, -20 }, // 0x75 'u' + { 6529, 22, 22, 22, 0, -20 }, // 0x76 'v' + { 6590, 32, 22, 32, 0, -20 }, // 0x77 'w' + { 6678, 22, 21, 23, 0, -20 }, // 0x78 'x' + { 6736, 22, 31, 22, 0, -20 }, // 0x79 'y' + { 6822, 18, 21, 20, 1, -20 }, // 0x7A 'z' + { 6870, 11, 41, 23, 5, -31 }, // 0x7B '{' + { 6927, 3, 32, 9, 3, -30 }, // 0x7C '|' + { 6939, 11, 41, 23, 7, -31 }, // 0x7D '}' + { 6996, 22, 5, 23, 1, -13 } }; // 0x7E '~' + +const GFXfont FreeSerif24pt7b PROGMEM = { + (uint8_t *)FreeSerif24pt7bBitmaps, + (GFXglyph *)FreeSerif24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 7682 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h new file mode 100644 index 0000000..cdb20c7 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h @@ -0,0 +1,195 @@ +const uint8_t FreeSerif9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xEA, 0x03, 0xDE, 0xF7, 0x20, 0x11, 0x09, 0x04, 0x82, 0x4F, 0xF9, + 0x10, 0x89, 0xFF, 0x24, 0x12, 0x09, 0x0C, 0x80, 0x10, 0x7C, 0xD6, 0xD2, + 0xD0, 0xF0, 0x38, 0x1E, 0x17, 0x93, 0x93, 0xD6, 0x7C, 0x10, 0x38, 0x43, + 0x3C, 0x39, 0x21, 0x8A, 0x0C, 0x50, 0x65, 0x39, 0xCB, 0x20, 0xB9, 0x05, + 0x88, 0x4C, 0x44, 0x64, 0x21, 0xC0, 0x0E, 0x00, 0xC8, 0x06, 0x40, 0x32, + 0x01, 0xA0, 0x07, 0x78, 0x31, 0x87, 0x88, 0x46, 0x86, 0x34, 0x30, 0xC1, + 0xC7, 0x17, 0xCF, 0x00, 0xFE, 0x08, 0x88, 0x84, 0x63, 0x18, 0xC6, 0x10, + 0x82, 0x08, 0x20, 0x82, 0x08, 0x21, 0x0C, 0x63, 0x18, 0xC4, 0x22, 0x22, + 0x00, 0x63, 0x9A, 0xDC, 0x72, 0xB6, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, + 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xD8, 0xF0, 0xF0, 0x08, 0x84, 0x22, + 0x10, 0x8C, 0x42, 0x31, 0x00, 0x1C, 0x31, 0x98, 0xD8, 0x3C, 0x1E, 0x0F, + 0x07, 0x83, 0xC1, 0xE0, 0xD8, 0xC4, 0x61, 0xC0, 0x13, 0x8C, 0x63, 0x18, + 0xC6, 0x31, 0x8C, 0x67, 0x80, 0x3C, 0x4E, 0x86, 0x06, 0x06, 0x04, 0x0C, + 0x08, 0x10, 0x20, 0x41, 0xFE, 0x3C, 0xC6, 0x06, 0x04, 0x1C, 0x3E, 0x07, + 0x03, 0x03, 0x03, 0x06, 0xF8, 0x04, 0x18, 0x71, 0x64, 0xC9, 0xA3, 0x46, + 0xFE, 0x18, 0x30, 0x60, 0x0F, 0x10, 0x20, 0x3C, 0x0E, 0x07, 0x03, 0x03, + 0x03, 0x02, 0x04, 0xF8, 0x07, 0x1C, 0x30, 0x60, 0x60, 0xDC, 0xE6, 0xC3, + 0xC3, 0xC3, 0x43, 0x66, 0x3C, 0x7F, 0x82, 0x02, 0x02, 0x04, 0x04, 0x04, + 0x08, 0x08, 0x08, 0x10, 0x10, 0x3C, 0x8F, 0x1E, 0x3E, 0x4F, 0x06, 0x36, + 0xC7, 0x8F, 0x1B, 0x33, 0xC0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, + 0x63, 0x3F, 0x06, 0x06, 0x0C, 0x38, 0x60, 0xF0, 0x0F, 0xD8, 0x00, 0x03, + 0x28, 0x01, 0x87, 0x0E, 0x1C, 0x0C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x80, + 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x80, 0x1C, 0x01, 0xC0, 0x1C, 0x01, + 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x79, 0x1A, 0x18, 0x30, 0x60, 0x83, + 0x04, 0x10, 0x20, 0x40, 0x03, 0x00, 0x0F, 0x83, 0x8C, 0x60, 0x26, 0x02, + 0xC7, 0x9C, 0xC9, 0xD8, 0x9D, 0x99, 0xD9, 0x26, 0xEC, 0x60, 0x03, 0x04, + 0x0F, 0x80, 0x02, 0x00, 0x10, 0x01, 0xC0, 0x16, 0x00, 0x98, 0x04, 0xC0, + 0x43, 0x03, 0xF8, 0x20, 0x61, 0x03, 0x18, 0x1D, 0xE1, 0xF0, 0xFF, 0x86, + 0x1C, 0xC1, 0x98, 0x33, 0x0C, 0x7E, 0x0C, 0x31, 0x83, 0x30, 0x66, 0x0C, + 0xC3, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0x81, 0xE0, 0x1C, 0x01, 0x80, 0x30, + 0x06, 0x00, 0xC0, 0x0C, 0x00, 0xC1, 0x8F, 0xC0, 0xFF, 0x03, 0x1C, 0x30, + 0x63, 0x07, 0x30, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0x33, 0x06, 0x30, + 0xCF, 0xF0, 0xFF, 0x98, 0x26, 0x01, 0x80, 0x61, 0x1F, 0xC6, 0x11, 0x80, + 0x60, 0x18, 0x16, 0x0F, 0xFE, 0xFF, 0xB0, 0x58, 0x0C, 0x06, 0x13, 0xF9, + 0x84, 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x23, 0x0E, 0x60, 0x26, + 0x00, 0xC0, 0x0C, 0x0F, 0xC0, 0x6C, 0x06, 0xC0, 0x66, 0x06, 0x30, 0x60, + 0xF8, 0xF1, 0xEC, 0x19, 0x83, 0x30, 0x66, 0x0C, 0xFF, 0x98, 0x33, 0x06, + 0x60, 0xCC, 0x19, 0x83, 0x78, 0xF0, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x6F, + 0x3C, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, 0x6D, 0xBC, 0xF3, 0xE6, 0x08, + 0x61, 0x06, 0x20, 0x64, 0x07, 0x80, 0x6C, 0x06, 0x60, 0x63, 0x06, 0x18, + 0x60, 0xCF, 0x3F, 0xF0, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, + 0x80, 0x60, 0x18, 0x16, 0x0B, 0xFE, 0xF0, 0x0E, 0x70, 0x38, 0xE0, 0x71, + 0xE1, 0x62, 0xC2, 0xC5, 0xC9, 0x89, 0x93, 0x13, 0x26, 0x23, 0x8C, 0x47, + 0x18, 0x84, 0x33, 0x88, 0xF0, 0xE0, 0xEE, 0x09, 0xC1, 0x2C, 0x25, 0xC4, + 0x9C, 0x91, 0x92, 0x1A, 0x41, 0xC8, 0x19, 0x03, 0x70, 0x20, 0x1F, 0x06, + 0x31, 0x83, 0x20, 0x2C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x09, + 0x83, 0x18, 0xC1, 0xF0, 0xFE, 0x31, 0x98, 0x6C, 0x36, 0x1B, 0x19, 0xF8, + 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x06, 0x31, 0x83, 0x20, 0x2C, + 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x19, 0x83, 0x18, 0xC0, 0xE0, + 0x0E, 0x00, 0xE0, 0x07, 0xFE, 0x0C, 0x61, 0x86, 0x30, 0xC6, 0x18, 0xC6, + 0x1F, 0x83, 0x70, 0x67, 0x0C, 0x71, 0x87, 0x78, 0x70, 0x1D, 0x31, 0x98, + 0x4C, 0x07, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xA0, 0xD8, 0xCB, 0xC0, 0xFF, + 0xF8, 0xCE, 0x18, 0x83, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, + 0xC0, 0x18, 0x07, 0x80, 0xF0, 0xEC, 0x09, 0x81, 0x30, 0x26, 0x04, 0xC0, + 0x98, 0x13, 0x02, 0x60, 0x4C, 0x08, 0xC2, 0x0F, 0x80, 0xF8, 0x77, 0x02, + 0x30, 0x23, 0x04, 0x18, 0x41, 0x84, 0x0C, 0x80, 0xC8, 0x07, 0x00, 0x70, + 0x02, 0x00, 0x20, 0xFB, 0xE7, 0xB0, 0xC0, 0x8C, 0x20, 0x86, 0x18, 0x41, + 0x8C, 0x40, 0xCB, 0x20, 0x65, 0x90, 0x1A, 0x70, 0x0E, 0x38, 0x03, 0x1C, + 0x01, 0x04, 0x00, 0x82, 0x00, 0xFC, 0xF9, 0x83, 0x06, 0x10, 0x19, 0x00, + 0xD0, 0x03, 0x00, 0x1C, 0x01, 0x30, 0x11, 0xC1, 0x86, 0x08, 0x19, 0xE3, + 0xF0, 0xF8, 0xF6, 0x06, 0x30, 0x41, 0x88, 0x1D, 0x00, 0xD0, 0x06, 0x00, + 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0xF0, 0x3F, 0xCC, 0x11, 0x06, 0x01, + 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x38, 0x06, 0x05, 0xC1, 0x7F, 0xE0, + 0xFB, 0x6D, 0xB6, 0xDB, 0x6D, 0xB8, 0x82, 0x10, 0x82, 0x10, 0x86, 0x10, + 0x86, 0x10, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xF8, 0x18, 0x1C, 0x34, 0x26, + 0x62, 0x42, 0xC1, 0xFF, 0x80, 0x84, 0x20, 0x79, 0x98, 0x30, 0xE6, 0xD9, + 0xB3, 0x3F, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC3, 0x61, + 0xB0, 0xD8, 0x6C, 0x63, 0xE0, 0x3C, 0xCF, 0x06, 0x0C, 0x18, 0x18, 0x9E, + 0x01, 0x03, 0x80, 0xC0, 0x60, 0x31, 0xD9, 0x9D, 0x86, 0xC3, 0x61, 0xB0, + 0xCC, 0x63, 0xF0, 0x3C, 0x46, 0xFE, 0xC0, 0xC0, 0xE1, 0x62, 0x3C, 0x1E, + 0x41, 0x83, 0x06, 0x1E, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x0F, 0x00, 0x3C, + 0x19, 0xF6, 0x31, 0x8C, 0x1E, 0x08, 0x04, 0x01, 0xFC, 0x40, 0xB0, 0x2E, + 0x11, 0xF8, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC6, 0x63, + 0x31, 0x98, 0xCC, 0x6F, 0x78, 0x60, 0x02, 0xE6, 0x66, 0x66, 0xF0, 0x18, + 0x00, 0x33, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8B, 0x80, 0x20, 0x70, 0x18, + 0x0C, 0x06, 0x03, 0x3D, 0x88, 0xD8, 0x78, 0x36, 0x19, 0x8C, 0x6F, 0x78, + 0x2E, 0x66, 0x66, 0x66, 0x66, 0x66, 0xF0, 0xEE, 0x71, 0xCE, 0x66, 0x31, + 0x98, 0xC6, 0x63, 0x19, 0x8C, 0x66, 0x31, 0xBD, 0xEF, 0xEE, 0x39, 0x98, + 0xCC, 0x66, 0x33, 0x19, 0x8D, 0xEF, 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1E, + 0x0D, 0x8C, 0x7C, 0xEE, 0x39, 0x98, 0x6C, 0x36, 0x1B, 0x0D, 0x8C, 0xFC, + 0x60, 0x30, 0x18, 0x1E, 0x00, 0x3D, 0x31, 0xB0, 0xD8, 0x6C, 0x36, 0x1B, + 0x8C, 0xFE, 0x03, 0x01, 0x80, 0xC0, 0xF0, 0x6D, 0xC6, 0x18, 0x61, 0x86, + 0x3C, 0x76, 0x38, 0x58, 0x3E, 0x38, 0xFE, 0x27, 0x98, 0xC6, 0x31, 0x8C, + 0x38, 0xE7, 0x31, 0x98, 0xCC, 0x66, 0x33, 0x19, 0x8C, 0x7F, 0xF3, 0x61, + 0x22, 0x32, 0x14, 0x1C, 0x08, 0x08, 0xEF, 0x36, 0x61, 0x62, 0x22, 0x32, + 0x35, 0x41, 0x9C, 0x18, 0x81, 0x08, 0xF7, 0x12, 0x0E, 0x03, 0x01, 0xC1, + 0x21, 0x09, 0xCF, 0xF3, 0x61, 0x62, 0x32, 0x34, 0x14, 0x1C, 0x08, 0x08, + 0x08, 0x10, 0xE0, 0xFD, 0x18, 0x60, 0x83, 0x0C, 0x70, 0xFE, 0x19, 0x8C, + 0x63, 0x18, 0xC4, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF0, 0xC3, 0x18, + 0xC6, 0x31, 0x84, 0x33, 0x18, 0xC6, 0x31, 0x98, 0x70, 0x24, 0xC1, 0xC0 }; + +const GFXglyph FreeSerif9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 2, 12, 6, 2, -11 }, // 0x21 '!' + { 3, 5, 4, 7, 1, -11 }, // 0x22 '"' + { 6, 9, 12, 9, 0, -11 }, // 0x23 '#' + { 20, 8, 14, 9, 1, -12 }, // 0x24 '$' + { 34, 13, 12, 15, 1, -11 }, // 0x25 '%' + { 54, 13, 13, 14, 1, -12 }, // 0x26 '&' + { 76, 2, 4, 4, 1, -11 }, // 0x27 ''' + { 77, 5, 15, 6, 1, -11 }, // 0x28 '(' + { 87, 5, 15, 6, 0, -11 }, // 0x29 ')' + { 97, 6, 8, 9, 3, -11 }, // 0x2A '*' + { 103, 9, 9, 10, 0, -8 }, // 0x2B '+' + { 114, 2, 3, 4, 2, 0 }, // 0x2C ',' + { 115, 4, 1, 6, 1, -3 }, // 0x2D '-' + { 116, 2, 2, 5, 1, -1 }, // 0x2E '.' + { 117, 5, 12, 5, 0, -11 }, // 0x2F '/' + { 125, 9, 13, 9, 0, -12 }, // 0x30 '0' + { 140, 5, 13, 9, 2, -12 }, // 0x31 '1' + { 149, 8, 12, 9, 1, -11 }, // 0x32 '2' + { 161, 8, 12, 9, 0, -11 }, // 0x33 '3' + { 173, 7, 12, 9, 1, -11 }, // 0x34 '4' + { 184, 8, 12, 9, 0, -11 }, // 0x35 '5' + { 196, 8, 13, 9, 1, -12 }, // 0x36 '6' + { 209, 8, 12, 9, 0, -11 }, // 0x37 '7' + { 221, 7, 13, 9, 1, -12 }, // 0x38 '8' + { 233, 8, 14, 9, 1, -12 }, // 0x39 '9' + { 247, 2, 8, 5, 1, -7 }, // 0x3A ':' + { 249, 3, 10, 5, 1, -7 }, // 0x3B ';' + { 253, 9, 9, 10, 1, -8 }, // 0x3C '<' + { 264, 9, 5, 10, 1, -6 }, // 0x3D '=' + { 270, 10, 9, 10, 0, -8 }, // 0x3E '>' + { 282, 7, 13, 8, 1, -12 }, // 0x3F '?' + { 294, 12, 13, 16, 2, -12 }, // 0x40 '@' + { 314, 13, 12, 13, 0, -11 }, // 0x41 'A' + { 334, 11, 12, 11, 0, -11 }, // 0x42 'B' + { 351, 11, 12, 12, 1, -11 }, // 0x43 'C' + { 368, 12, 12, 13, 0, -11 }, // 0x44 'D' + { 386, 10, 12, 11, 1, -11 }, // 0x45 'E' + { 401, 9, 12, 10, 1, -11 }, // 0x46 'F' + { 415, 12, 12, 13, 1, -11 }, // 0x47 'G' + { 433, 11, 12, 13, 1, -11 }, // 0x48 'H' + { 450, 4, 12, 6, 1, -11 }, // 0x49 'I' + { 456, 6, 12, 7, 0, -11 }, // 0x4A 'J' + { 465, 12, 12, 13, 1, -11 }, // 0x4B 'K' + { 483, 10, 12, 11, 1, -11 }, // 0x4C 'L' + { 498, 15, 12, 16, 0, -11 }, // 0x4D 'M' + { 521, 11, 12, 13, 1, -11 }, // 0x4E 'N' + { 538, 11, 13, 13, 1, -12 }, // 0x4F 'O' + { 556, 9, 12, 10, 1, -11 }, // 0x50 'P' + { 570, 11, 16, 13, 1, -12 }, // 0x51 'Q' + { 592, 11, 12, 12, 1, -11 }, // 0x52 'R' + { 609, 9, 12, 10, 0, -11 }, // 0x53 'S' + { 623, 11, 12, 11, 0, -11 }, // 0x54 'T' + { 640, 11, 12, 13, 1, -11 }, // 0x55 'U' + { 657, 12, 12, 13, 0, -11 }, // 0x56 'V' + { 675, 17, 12, 17, 0, -11 }, // 0x57 'W' + { 701, 13, 12, 13, 0, -11 }, // 0x58 'X' + { 721, 12, 12, 13, 0, -11 }, // 0x59 'Y' + { 739, 11, 12, 11, 0, -11 }, // 0x5A 'Z' + { 756, 3, 15, 6, 2, -11 }, // 0x5B '[' + { 762, 5, 12, 5, 0, -11 }, // 0x5C '\' + { 770, 3, 15, 6, 1, -11 }, // 0x5D ']' + { 776, 8, 7, 8, 0, -11 }, // 0x5E '^' + { 783, 9, 1, 9, 0, 2 }, // 0x5F '_' + { 785, 4, 3, 5, 0, -11 }, // 0x60 '`' + { 787, 7, 8, 8, 1, -7 }, // 0x61 'a' + { 794, 9, 13, 9, 0, -12 }, // 0x62 'b' + { 809, 7, 8, 8, 0, -7 }, // 0x63 'c' + { 816, 9, 13, 9, 0, -12 }, // 0x64 'd' + { 831, 8, 8, 8, 0, -7 }, // 0x65 'e' + { 839, 7, 13, 7, 1, -12 }, // 0x66 'f' + { 851, 10, 12, 8, 0, -7 }, // 0x67 'g' + { 866, 9, 13, 9, 0, -12 }, // 0x68 'h' + { 881, 4, 11, 5, 1, -10 }, // 0x69 'i' + { 887, 5, 15, 6, 0, -10 }, // 0x6A 'j' + { 897, 9, 13, 9, 1, -12 }, // 0x6B 'k' + { 912, 4, 13, 5, 1, -12 }, // 0x6C 'l' + { 919, 14, 8, 14, 0, -7 }, // 0x6D 'm' + { 933, 9, 8, 9, 0, -7 }, // 0x6E 'n' + { 942, 9, 8, 9, 0, -7 }, // 0x6F 'o' + { 951, 9, 12, 9, 0, -7 }, // 0x70 'p' + { 965, 9, 12, 9, 0, -7 }, // 0x71 'q' + { 979, 6, 8, 6, 0, -7 }, // 0x72 'r' + { 985, 6, 8, 7, 1, -7 }, // 0x73 's' + { 991, 5, 9, 5, 0, -8 }, // 0x74 't' + { 997, 9, 8, 9, 0, -7 }, // 0x75 'u' + { 1006, 8, 8, 8, 0, -7 }, // 0x76 'v' + { 1014, 12, 8, 12, 0, -7 }, // 0x77 'w' + { 1026, 9, 8, 9, 0, -7 }, // 0x78 'x' + { 1035, 8, 12, 8, 0, -7 }, // 0x79 'y' + { 1047, 7, 8, 7, 1, -7 }, // 0x7A 'z' + { 1054, 5, 16, 9, 1, -12 }, // 0x7B '{' + { 1064, 1, 12, 4, 1, -11 }, // 0x7C '|' + { 1066, 5, 16, 9, 3, -11 }, // 0x7D '}' + { 1076, 9, 3, 9, 0, -5 } }; // 0x7E '~' + +const GFXfont FreeSerif9pt7b PROGMEM = { + (uint8_t *)FreeSerif9pt7bBitmaps, + (GFXglyph *)FreeSerif9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1752 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h new file mode 100644 index 0000000..1d49981 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h @@ -0,0 +1,271 @@ +const uint8_t FreeSerifBold12pt7bBitmaps[] PROGMEM = { + 0x7F, 0xFF, 0x77, 0x66, 0x22, 0x00, 0x6F, 0xF7, 0xE3, 0xF1, 0xF8, 0xFC, + 0x7E, 0x3A, 0x09, 0x04, 0x0C, 0x40, 0xCC, 0x0C, 0xC0, 0x8C, 0x18, 0xC7, + 0xFF, 0x18, 0xC1, 0x88, 0x19, 0x81, 0x98, 0xFF, 0xE3, 0x18, 0x31, 0x83, + 0x18, 0x33, 0x03, 0x30, 0x08, 0x01, 0x00, 0xFC, 0x24, 0xEC, 0x8D, 0x90, + 0xBA, 0x07, 0xC0, 0x7E, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x9F, 0x11, 0xE2, + 0x3E, 0x46, 0xE9, 0xC7, 0xC0, 0x20, 0x04, 0x00, 0x1E, 0x0C, 0x0E, 0x7F, + 0x07, 0x10, 0x83, 0xC4, 0x40, 0xE1, 0x30, 0x38, 0x88, 0x0E, 0x26, 0x03, + 0x91, 0x1E, 0x78, 0x8E, 0x40, 0x27, 0x10, 0x11, 0xC4, 0x0C, 0xE1, 0x02, + 0x38, 0x81, 0x0E, 0x20, 0x43, 0x90, 0x20, 0x78, 0x03, 0xE0, 0x01, 0x9E, + 0x00, 0xE3, 0x80, 0x38, 0xE0, 0x0F, 0x30, 0x03, 0xF0, 0x00, 0x78, 0x7C, + 0x1F, 0x06, 0x1B, 0xE1, 0x1C, 0x7C, 0x8F, 0x1F, 0x23, 0xC3, 0xF0, 0xF8, + 0x7C, 0x3E, 0x0F, 0x97, 0xC7, 0xFC, 0xFE, 0x3E, 0xFF, 0xFE, 0x90, 0x00, + 0x31, 0x0C, 0x31, 0x86, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x86, 0x18, 0x60, + 0xC1, 0x02, 0x04, 0x03, 0x06, 0x0C, 0x30, 0x61, 0x87, 0x1C, 0x71, 0xC7, + 0x1C, 0x71, 0x86, 0x38, 0xC2, 0x10, 0x80, 0x1C, 0x6E, 0xFA, 0xEF, 0xF1, + 0xC7, 0xFF, 0xAF, 0xBB, 0x1C, 0x04, 0x00, 0x06, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x6F, 0xF7, 0x11, 0x24, 0xFF, 0xFF, 0xC0, 0x6F, 0xF6, 0x03, 0x07, + 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x60, + 0x60, 0x60, 0xC0, 0x0E, 0x07, 0x71, 0xC7, 0x38, 0xEF, 0x1D, 0xE3, 0xFC, + 0x7F, 0x8F, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xF7, 0x1C, 0xE3, 0x8E, 0xE0, + 0xF8, 0x06, 0x0F, 0x1F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, + 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0xF9, 0xFF, 0x0F, 0x03, 0xFC, 0x7F, 0xC4, + 0x3E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x1C, 0x03, 0x80, 0x30, 0x06, 0x00, + 0xC1, 0x18, 0x13, 0xFE, 0x7F, 0xEF, 0xFE, 0x1F, 0x0C, 0xFA, 0x0F, 0x01, + 0xE0, 0x38, 0x0E, 0x03, 0xE0, 0x3E, 0x03, 0xE0, 0x3C, 0x03, 0x80, 0x70, + 0x0D, 0xC1, 0xBC, 0x43, 0xF0, 0x03, 0x80, 0xE0, 0x78, 0x3E, 0x17, 0x89, + 0xE2, 0x79, 0x1E, 0x87, 0xA1, 0xEF, 0xFF, 0xFF, 0xFF, 0xC1, 0xE0, 0x78, + 0x1E, 0x3F, 0xE7, 0xF8, 0xFF, 0x10, 0x04, 0x00, 0xF8, 0x1F, 0xC7, 0xFC, + 0x1F, 0xC0, 0x78, 0x07, 0x00, 0x60, 0x0D, 0xC1, 0x3C, 0x43, 0xF0, 0x00, + 0xE0, 0xF0, 0x38, 0x1E, 0x07, 0x80, 0xF0, 0x3F, 0xE7, 0x9E, 0xF1, 0xFE, + 0x3F, 0xC7, 0xF8, 0xF7, 0x1E, 0xE3, 0x8E, 0x60, 0xF8, 0x7F, 0xEF, 0xFD, + 0xFF, 0xA0, 0x68, 0x0C, 0x03, 0x80, 0x60, 0x0C, 0x03, 0x00, 0x60, 0x0C, + 0x03, 0x00, 0x60, 0x1C, 0x03, 0x00, 0x60, 0x1F, 0x0E, 0x73, 0x87, 0x70, + 0xEF, 0x1D, 0xF3, 0x1F, 0x81, 0xF8, 0x1F, 0xCC, 0xFB, 0x8F, 0xF0, 0xFE, + 0x1F, 0xC3, 0x9C, 0xF1, 0xF8, 0x1F, 0x06, 0x71, 0xC7, 0x78, 0xEF, 0x1F, + 0xE3, 0xFC, 0x7F, 0x8F, 0x79, 0xE7, 0xFC, 0x0F, 0x01, 0xC0, 0x78, 0x1C, + 0x0F, 0x07, 0x00, 0x6F, 0xF6, 0x00, 0x06, 0xFF, 0x60, 0x6F, 0xF6, 0x00, + 0x06, 0xFF, 0x71, 0x22, 0xC0, 0x00, 0x04, 0x00, 0x70, 0x07, 0xC0, 0xFC, + 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, + 0x00, 0x1F, 0x00, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0x80, 0x0F, + 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x1F, 0x01, 0xF0, + 0x1F, 0x03, 0xF0, 0x3E, 0x00, 0xE0, 0x02, 0x00, 0x00, 0x3E, 0x11, 0xEC, + 0x3F, 0x8F, 0xE3, 0xC0, 0xF0, 0x78, 0x18, 0x08, 0x02, 0x00, 0x00, 0x00, + 0x1C, 0x07, 0x81, 0xE0, 0x30, 0x03, 0xF0, 0x0E, 0x18, 0x18, 0x04, 0x30, + 0x66, 0x70, 0xDB, 0x61, 0x99, 0xE3, 0x19, 0xE3, 0x31, 0xE6, 0x31, 0xE6, + 0x31, 0xE6, 0xF2, 0x66, 0xB2, 0x73, 0x3C, 0x38, 0x00, 0x1E, 0x04, 0x03, + 0xF8, 0x00, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x3E, 0x00, + 0x1F, 0x00, 0x1B, 0xC0, 0x09, 0xE0, 0x0C, 0xF8, 0x04, 0x3C, 0x02, 0x1F, + 0x03, 0xFF, 0x81, 0x03, 0xC1, 0x80, 0xF0, 0x80, 0x7D, 0xF0, 0xFF, 0xFF, + 0xC0, 0xF3, 0xC3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xCE, 0x0F, + 0xF0, 0x3C, 0x70, 0xF0, 0xE3, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, 0xE3, + 0xC7, 0xBF, 0xF8, 0x07, 0xE2, 0x38, 0x7C, 0xE0, 0x3B, 0xC0, 0x37, 0x00, + 0x7E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x03, + 0x80, 0x07, 0x80, 0x27, 0x00, 0xC7, 0x86, 0x03, 0xF0, 0xFF, 0xE0, 0x1E, + 0x1E, 0x0F, 0x07, 0x87, 0x81, 0xE3, 0xC0, 0xF1, 0xE0, 0x3C, 0xF0, 0x1E, + 0x78, 0x0F, 0x3C, 0x07, 0x9E, 0x03, 0xCF, 0x01, 0xE7, 0x80, 0xE3, 0xC0, + 0xF1, 0xE0, 0xF0, 0xF0, 0xE1, 0xFF, 0xC0, 0xFF, 0xFC, 0x78, 0x38, 0xF0, + 0x31, 0xE0, 0x23, 0xC4, 0x07, 0x88, 0x0F, 0x30, 0x1F, 0xE0, 0x3C, 0xC0, + 0x78, 0x80, 0xF1, 0x01, 0xE0, 0x23, 0xC0, 0x47, 0x81, 0x8F, 0x07, 0x7F, + 0xFE, 0xFF, 0xFC, 0xF0, 0x73, 0xC0, 0xCF, 0x01, 0x3C, 0x40, 0xF1, 0x03, + 0xCC, 0x0F, 0xF0, 0x3C, 0xC0, 0xF1, 0x03, 0xC4, 0x0F, 0x00, 0x3C, 0x00, + 0xF0, 0x03, 0xC0, 0x3F, 0xC0, 0x07, 0xE2, 0x1C, 0x3E, 0x38, 0x0E, 0x78, + 0x06, 0x70, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, + 0x7F, 0xF0, 0x1E, 0x70, 0x1E, 0x78, 0x1E, 0x38, 0x1E, 0x1E, 0x1E, 0x07, + 0xF0, 0xFE, 0xFF, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, + 0x3C, 0x78, 0x3C, 0x7F, 0xFC, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, + 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xFE, 0xFF, 0xFF, 0x3C, 0x3C, + 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, + 0xFF, 0x0F, 0xF0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0xE3, 0xCE, + 0x38, 0xE3, 0x83, 0xE0, 0xFE, 0x7F, 0x3C, 0x0E, 0x1E, 0x04, 0x0F, 0x04, + 0x07, 0x84, 0x03, 0xCC, 0x01, 0xEE, 0x00, 0xFF, 0x00, 0x7F, 0xC0, 0x3C, + 0xF0, 0x1E, 0x7C, 0x0F, 0x1F, 0x07, 0x87, 0xC3, 0xC1, 0xF1, 0xE0, 0x7D, + 0xFC, 0xFF, 0xFE, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, + 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x01, 0x78, + 0x0D, 0xE0, 0x67, 0x83, 0xBF, 0xFE, 0xFC, 0x01, 0xF3, 0xC0, 0x3E, 0x3E, + 0x03, 0xE2, 0xE0, 0x5E, 0x2F, 0x05, 0xE2, 0xF0, 0x5E, 0x27, 0x09, 0xE2, + 0x78, 0x9E, 0x23, 0x91, 0xE2, 0x3D, 0x1E, 0x23, 0xF1, 0xE2, 0x1E, 0x1E, + 0x21, 0xE1, 0xE2, 0x0C, 0x1E, 0x20, 0xC1, 0xEF, 0x88, 0x3F, 0xF8, 0x1E, + 0xF8, 0x18, 0xF8, 0x11, 0xF8, 0x22, 0xF8, 0x45, 0xF0, 0x89, 0xF1, 0x11, + 0xF2, 0x21, 0xF4, 0x41, 0xF8, 0x81, 0xF1, 0x01, 0xE2, 0x03, 0xC4, 0x03, + 0x8C, 0x03, 0x7C, 0x02, 0x07, 0xF0, 0x0F, 0x1E, 0x0E, 0x03, 0x8F, 0x01, + 0xE7, 0x00, 0x77, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, + 0x03, 0xFC, 0x01, 0xEE, 0x00, 0xE7, 0x80, 0xF1, 0xC0, 0x70, 0x70, 0x70, + 0x0F, 0xE0, 0xFF, 0x87, 0x9E, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, + 0xF7, 0x9E, 0x7F, 0x87, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, + 0x0F, 0xE0, 0x07, 0xF0, 0x0F, 0x1E, 0x0E, 0x07, 0x8F, 0x01, 0xE7, 0x00, + 0xF7, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, + 0x01, 0xEE, 0x00, 0xE7, 0x00, 0xF1, 0xC0, 0x70, 0x70, 0x70, 0x1C, 0xF0, + 0x03, 0xE0, 0x01, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0xE0, 0xFF, 0xE0, 0x3C, + 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x38, 0x3C, + 0x70, 0x3F, 0xC0, 0x3D, 0xE0, 0x3C, 0xF0, 0x3C, 0xF8, 0x3C, 0x78, 0x3C, + 0x3C, 0x3C, 0x3E, 0xFF, 0x1F, 0x1F, 0x27, 0x0E, 0x60, 0x6E, 0x06, 0xF0, + 0x2F, 0x80, 0x7F, 0x07, 0xFC, 0x1F, 0xE0, 0x7E, 0x01, 0xF8, 0x07, 0xC0, + 0x7C, 0x06, 0xF0, 0xC9, 0xF8, 0xFF, 0xFF, 0xC7, 0x9F, 0x0F, 0x1C, 0x1E, + 0x10, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, + 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x07, 0xF8, 0xFE, + 0x1E, 0xF0, 0x09, 0xE0, 0x13, 0xC0, 0x27, 0x80, 0x4F, 0x00, 0x9E, 0x01, + 0x3C, 0x02, 0x78, 0x04, 0xF0, 0x09, 0xE0, 0x13, 0xC0, 0x27, 0x80, 0x47, + 0x81, 0x07, 0x84, 0x07, 0xF0, 0xFF, 0x0F, 0x9E, 0x03, 0x0F, 0x00, 0x83, + 0xC0, 0x81, 0xE0, 0x40, 0xF8, 0x60, 0x3C, 0x20, 0x1E, 0x10, 0x07, 0x90, + 0x03, 0xC8, 0x00, 0xF4, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0E, 0x00, 0x07, + 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0xFE, 0x7F, 0x9E, 0xF8, 0x3C, 0x08, + 0xF0, 0x78, 0x31, 0xE0, 0xF0, 0x41, 0xE0, 0xF0, 0x83, 0xC3, 0xE3, 0x07, + 0x85, 0xC4, 0x07, 0x93, 0xC8, 0x0F, 0x27, 0xB0, 0x0E, 0x47, 0x40, 0x1F, + 0x0F, 0x80, 0x3E, 0x1F, 0x00, 0x38, 0x1C, 0x00, 0x70, 0x38, 0x00, 0xE0, + 0x30, 0x00, 0x80, 0x40, 0xFF, 0x9F, 0x9F, 0x07, 0x07, 0x83, 0x03, 0xE3, + 0x00, 0xF9, 0x00, 0x3D, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, + 0xF8, 0x00, 0xBE, 0x00, 0x8F, 0x00, 0x83, 0xC0, 0xC1, 0xF0, 0xE0, 0xFD, + 0xF8, 0xFF, 0xFF, 0x1F, 0x7C, 0x06, 0x3C, 0x04, 0x3E, 0x0C, 0x1E, 0x08, + 0x0F, 0x10, 0x0F, 0x30, 0x07, 0xA0, 0x07, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x0F, 0xF0, 0x7F, 0xFC, + 0xE0, 0xF1, 0x83, 0xE2, 0x07, 0x84, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x03, + 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x08, 0xF0, 0x13, 0xC0, 0x6F, 0x81, + 0x9E, 0x07, 0x7F, 0xFE, 0xFF, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, + 0x73, 0x9C, 0xE7, 0x39, 0xF0, 0xC0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, + 0x18, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x06, 0x03, 0xF9, 0xCE, + 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCF, 0xF0, 0x0C, + 0x07, 0x81, 0xE0, 0xCC, 0x33, 0x18, 0x66, 0x1B, 0x87, 0xC0, 0xC0, 0xFF, + 0xF0, 0xC7, 0x1C, 0x30, 0x1F, 0x0E, 0x71, 0xCF, 0x39, 0xE0, 0x3C, 0x1F, + 0x8E, 0xF3, 0x9E, 0xF3, 0xDE, 0x79, 0xFF, 0x80, 0xF8, 0x07, 0x80, 0x78, + 0x07, 0x80, 0x78, 0x07, 0xB8, 0x7D, 0xE7, 0x8E, 0x78, 0xF7, 0x8F, 0x78, + 0xF7, 0x8F, 0x78, 0xF7, 0x8E, 0x79, 0xC4, 0x78, 0x1F, 0x1D, 0xDC, 0xFE, + 0x7F, 0x07, 0x83, 0xC1, 0xE0, 0x78, 0x3C, 0x47, 0xC0, 0x03, 0xE0, 0x1E, + 0x01, 0xE0, 0x1E, 0x01, 0xE1, 0xDE, 0x7B, 0xE7, 0x1E, 0xF1, 0xEF, 0x1E, + 0xF1, 0xEF, 0x1E, 0xF1, 0xE7, 0x1E, 0x7B, 0xE1, 0xDF, 0x1F, 0x0C, 0x67, + 0x1B, 0xC7, 0xFF, 0xFC, 0x0F, 0x03, 0xC0, 0x78, 0x4E, 0x21, 0xF0, 0x1E, + 0x3B, 0x7B, 0x78, 0x78, 0xFC, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0xFC, 0x3E, 0x0E, 0x7F, 0xCE, 0x79, 0xEF, 0x3C, 0xE7, 0x0F, + 0xC1, 0x00, 0x60, 0x1C, 0x03, 0xFE, 0x7F, 0xE3, 0xFF, 0x80, 0xF0, 0x33, + 0xFC, 0xF8, 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0xB8, 0x7D, 0xE7, + 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xEF, + 0xFF, 0x31, 0xE7, 0x8C, 0x03, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, + 0xBF, 0x06, 0x0F, 0x0F, 0x06, 0x00, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xCF, 0xCE, 0x7C, 0xF8, 0x03, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0xF9, 0xE1, 0x8F, 0x10, 0x79, + 0x03, 0xD8, 0x1F, 0xE0, 0xF7, 0x87, 0x9E, 0x3C, 0x71, 0xE3, 0xDF, 0xBF, + 0xF9, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0xBF, + 0xFB, 0xCF, 0x0F, 0xBE, 0x79, 0xE7, 0x8F, 0x3C, 0xF1, 0xE7, 0x9E, 0x3C, + 0xF3, 0xC7, 0x9E, 0x78, 0xF3, 0xCF, 0x1E, 0x79, 0xE3, 0xCF, 0x3C, 0x7B, + 0xFF, 0xDF, 0x80, 0xFB, 0x87, 0xDE, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, + 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0xFF, 0xF0, 0x1F, 0x07, 0x71, 0xC7, + 0x78, 0xFF, 0x1F, 0xE3, 0xFC, 0x7F, 0x8F, 0x71, 0xC7, 0x70, 0x7C, 0x00, + 0xFB, 0x87, 0xDE, 0x78, 0xE7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, + 0x78, 0xE7, 0x9E, 0x7F, 0x87, 0x80, 0x78, 0x07, 0x80, 0x78, 0x0F, 0xC0, + 0x1E, 0x23, 0x9E, 0x71, 0xEF, 0x1E, 0xF1, 0xEF, 0x1E, 0xF1, 0xEF, 0x1E, + 0x71, 0xE7, 0x9E, 0x1F, 0xE0, 0x1E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3F, + 0xF9, 0xDF, 0xF7, 0xDD, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, + 0x0F, 0xC0, 0x3D, 0x43, 0xC3, 0xE0, 0xFC, 0x7E, 0x1F, 0x87, 0x83, 0xC2, + 0xBC, 0x08, 0x18, 0x38, 0x78, 0xFC, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x79, 0x3E, 0xFB, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, + 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x3F, 0xF0, 0xFC, 0xEF, 0x08, + 0xE1, 0x1E, 0x41, 0xC8, 0x3D, 0x03, 0xC0, 0x78, 0x0E, 0x00, 0xC0, 0x10, + 0x00, 0xFD, 0xF7, 0xBC, 0x71, 0x9E, 0x38, 0x87, 0x1E, 0x43, 0xCF, 0x40, + 0xEB, 0xA0, 0x7C, 0xF0, 0x1C, 0x70, 0x0E, 0x38, 0x06, 0x08, 0x01, 0x04, + 0x00, 0xFC, 0xF7, 0x84, 0x3C, 0x81, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x80, + 0xBC, 0x13, 0xC2, 0x1E, 0xFB, 0xF0, 0xFC, 0xEF, 0x08, 0xE1, 0x1E, 0x43, + 0xC8, 0x3A, 0x07, 0xC0, 0x78, 0x0E, 0x01, 0xC0, 0x18, 0x02, 0x00, 0x41, + 0xC8, 0x3A, 0x03, 0x80, 0xFF, 0xB1, 0xE8, 0x70, 0x3C, 0x1E, 0x07, 0x83, + 0xC1, 0xE0, 0x78, 0xBC, 0x2F, 0xF8, 0x07, 0x0E, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0xE0, 0x18, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1E, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x18, 0x07, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x70, 0xE0, 0x70, 0x1F, 0x8B, 0x3F, 0x01, 0xC0 }; + +const GFXglyph FreeSerifBold12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 4, 16, 8, 2, -15 }, // 0x21 '!' + { 8, 9, 7, 13, 2, -15 }, // 0x22 '"' + { 16, 12, 16, 12, 0, -15 }, // 0x23 '#' + { 40, 11, 20, 12, 1, -17 }, // 0x24 '$' + { 68, 18, 16, 24, 3, -15 }, // 0x25 '%' + { 104, 18, 16, 20, 1, -15 }, // 0x26 '&' + { 140, 3, 7, 7, 2, -15 }, // 0x27 ''' + { 143, 6, 21, 8, 1, -16 }, // 0x28 '(' + { 159, 6, 21, 8, 1, -16 }, // 0x29 ')' + { 175, 9, 10, 12, 2, -15 }, // 0x2A '*' + { 187, 12, 12, 16, 2, -11 }, // 0x2B '+' + { 205, 4, 8, 6, 1, -3 }, // 0x2C ',' + { 209, 6, 3, 8, 1, -6 }, // 0x2D '-' + { 212, 4, 4, 6, 1, -3 }, // 0x2E '.' + { 214, 8, 17, 7, -1, -15 }, // 0x2F '/' + { 231, 11, 16, 12, 1, -15 }, // 0x30 '0' + { 253, 9, 16, 12, 1, -15 }, // 0x31 '1' + { 271, 12, 16, 12, 0, -15 }, // 0x32 '2' + { 295, 11, 16, 12, 1, -15 }, // 0x33 '3' + { 317, 10, 16, 12, 1, -15 }, // 0x34 '4' + { 337, 11, 16, 12, 1, -15 }, // 0x35 '5' + { 359, 11, 16, 12, 1, -15 }, // 0x36 '6' + { 381, 11, 16, 12, 0, -15 }, // 0x37 '7' + { 403, 11, 16, 12, 1, -15 }, // 0x38 '8' + { 425, 11, 16, 12, 1, -15 }, // 0x39 '9' + { 447, 4, 11, 8, 2, -10 }, // 0x3A ':' + { 453, 4, 15, 8, 2, -10 }, // 0x3B ';' + { 461, 14, 14, 16, 1, -12 }, // 0x3C '<' + { 486, 14, 8, 16, 1, -9 }, // 0x3D '=' + { 500, 14, 14, 16, 1, -12 }, // 0x3E '>' + { 525, 10, 16, 12, 1, -15 }, // 0x3F '?' + { 545, 16, 16, 22, 3, -15 }, // 0x40 '@' + { 577, 17, 16, 17, 0, -15 }, // 0x41 'A' + { 611, 14, 16, 16, 1, -15 }, // 0x42 'B' + { 639, 15, 16, 17, 1, -15 }, // 0x43 'C' + { 669, 17, 16, 18, 0, -15 }, // 0x44 'D' + { 703, 15, 16, 16, 1, -15 }, // 0x45 'E' + { 733, 14, 16, 15, 1, -15 }, // 0x46 'F' + { 761, 16, 16, 19, 1, -15 }, // 0x47 'G' + { 793, 16, 16, 19, 2, -15 }, // 0x48 'H' + { 825, 8, 16, 9, 1, -15 }, // 0x49 'I' + { 841, 12, 18, 12, 0, -15 }, // 0x4A 'J' + { 868, 17, 16, 19, 2, -15 }, // 0x4B 'K' + { 902, 14, 16, 16, 2, -15 }, // 0x4C 'L' + { 930, 20, 16, 23, 1, -15 }, // 0x4D 'M' + { 970, 15, 16, 17, 1, -15 }, // 0x4E 'N' + { 1000, 17, 16, 19, 1, -15 }, // 0x4F 'O' + { 1034, 12, 16, 15, 2, -15 }, // 0x50 'P' + { 1058, 17, 20, 19, 1, -15 }, // 0x51 'Q' + { 1101, 16, 16, 17, 1, -15 }, // 0x52 'R' + { 1133, 12, 16, 14, 1, -15 }, // 0x53 'S' + { 1157, 15, 16, 15, 0, -15 }, // 0x54 'T' + { 1187, 15, 16, 17, 1, -15 }, // 0x55 'U' + { 1217, 17, 17, 17, 0, -15 }, // 0x56 'V' + { 1254, 23, 16, 24, 0, -15 }, // 0x57 'W' + { 1300, 17, 16, 17, 0, -15 }, // 0x58 'X' + { 1334, 16, 16, 17, 1, -15 }, // 0x59 'Y' + { 1366, 15, 16, 16, 0, -15 }, // 0x5A 'Z' + { 1396, 5, 20, 8, 2, -15 }, // 0x5B '[' + { 1409, 8, 17, 7, -1, -15 }, // 0x5C '\' + { 1426, 5, 20, 8, 2, -15 }, // 0x5D ']' + { 1439, 10, 9, 14, 2, -15 }, // 0x5E '^' + { 1451, 12, 1, 12, 0, 4 }, // 0x5F '_' + { 1453, 5, 4, 8, 0, -16 }, // 0x60 '`' + { 1456, 11, 11, 12, 1, -10 }, // 0x61 'a' + { 1472, 12, 16, 13, 1, -15 }, // 0x62 'b' + { 1496, 9, 11, 10, 1, -10 }, // 0x63 'c' + { 1509, 12, 16, 13, 1, -15 }, // 0x64 'd' + { 1533, 10, 11, 11, 1, -10 }, // 0x65 'e' + { 1547, 8, 16, 9, 1, -15 }, // 0x66 'f' + { 1563, 11, 16, 12, 1, -10 }, // 0x67 'g' + { 1585, 12, 16, 13, 1, -15 }, // 0x68 'h' + { 1609, 6, 16, 7, 1, -15 }, // 0x69 'i' + { 1621, 8, 21, 10, 0, -15 }, // 0x6A 'j' + { 1642, 13, 16, 13, 1, -15 }, // 0x6B 'k' + { 1668, 6, 16, 7, 1, -15 }, // 0x6C 'l' + { 1680, 19, 11, 20, 1, -10 }, // 0x6D 'm' + { 1707, 12, 11, 13, 1, -10 }, // 0x6E 'n' + { 1724, 11, 11, 12, 1, -10 }, // 0x6F 'o' + { 1740, 12, 16, 13, 1, -10 }, // 0x70 'p' + { 1764, 12, 16, 13, 1, -10 }, // 0x71 'q' + { 1788, 10, 11, 10, 1, -10 }, // 0x72 'r' + { 1802, 8, 11, 10, 1, -10 }, // 0x73 's' + { 1813, 8, 15, 8, 1, -14 }, // 0x74 't' + { 1828, 12, 11, 14, 1, -10 }, // 0x75 'u' + { 1845, 11, 11, 12, 0, -10 }, // 0x76 'v' + { 1861, 17, 11, 17, 0, -10 }, // 0x77 'w' + { 1885, 12, 11, 12, 0, -10 }, // 0x78 'x' + { 1902, 11, 16, 12, 0, -10 }, // 0x79 'y' + { 1924, 10, 11, 11, 1, -10 }, // 0x7A 'z' + { 1938, 8, 21, 9, 0, -16 }, // 0x7B '{' + { 1959, 2, 17, 5, 2, -15 }, // 0x7C '|' + { 1964, 8, 21, 9, 2, -16 }, // 0x7D '}' + { 1985, 11, 4, 12, 1, -7 } }; // 0x7E '~' + +const GFXfont FreeSerifBold12pt7b PROGMEM = { + (uint8_t *)FreeSerifBold12pt7bBitmaps, + (GFXglyph *)FreeSerifBold12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2663 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h new file mode 100644 index 0000000..11d3c7e --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h @@ -0,0 +1,462 @@ +const uint8_t FreeSerifBold18pt7bBitmaps[] PROGMEM = { + 0x7B, 0xEF, 0xFF, 0xFF, 0xF7, 0x9E, 0x71, 0xC7, 0x0C, 0x20, 0x82, 0x00, + 0x00, 0x07, 0x3E, 0xFF, 0xFF, 0xDC, 0x60, 0x37, 0x83, 0xFC, 0x1F, 0xE0, + 0xFF, 0x07, 0xB8, 0x3D, 0xC0, 0xCC, 0x06, 0x20, 0x31, 0x01, 0x80, 0x03, + 0x8E, 0x00, 0xC3, 0x80, 0x30, 0xE0, 0x1C, 0x38, 0x07, 0x0E, 0x01, 0xC3, + 0x87, 0xFF, 0xFD, 0xFF, 0xFF, 0x7F, 0xFF, 0xC1, 0x87, 0x00, 0xE1, 0xC0, + 0x38, 0x70, 0x0E, 0x1C, 0x03, 0x86, 0x0F, 0xFF, 0xF3, 0xFF, 0xFC, 0xFF, + 0xFF, 0x07, 0x0E, 0x01, 0xC3, 0x80, 0x70, 0xE0, 0x1C, 0x30, 0x07, 0x0C, + 0x01, 0x87, 0x00, 0x61, 0xC0, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0xFF, + 0x03, 0x27, 0x8C, 0x47, 0x38, 0x86, 0x71, 0x0C, 0xF2, 0x09, 0xF4, 0x03, + 0xF8, 0x03, 0xF8, 0x07, 0xFC, 0x03, 0xFC, 0x03, 0xFE, 0x01, 0xFE, 0x03, + 0xFC, 0x04, 0xFC, 0x08, 0xFA, 0x10, 0xF4, 0x21, 0xEC, 0x43, 0xD8, 0x8F, + 0x3D, 0x3C, 0x3F, 0xF0, 0x1F, 0x00, 0x08, 0x00, 0x10, 0x00, 0x03, 0xC0, + 0x18, 0x01, 0xFE, 0x0F, 0x00, 0x7C, 0xFF, 0xC0, 0x1F, 0x0F, 0x90, 0x07, + 0xC1, 0x06, 0x00, 0xF0, 0x21, 0x80, 0x3E, 0x04, 0x30, 0x07, 0x81, 0x8C, + 0x00, 0xF0, 0x21, 0x80, 0x1E, 0x0C, 0x60, 0x03, 0xC1, 0x18, 0x1E, 0x3C, + 0xE3, 0x0F, 0xE7, 0xF8, 0xC3, 0xE6, 0x3C, 0x18, 0xF8, 0x40, 0x06, 0x3E, + 0x08, 0x01, 0x87, 0x81, 0x00, 0x31, 0xF0, 0x20, 0x0C, 0x3E, 0x04, 0x01, + 0x87, 0x81, 0x00, 0x60, 0xF0, 0x60, 0x18, 0x1E, 0x08, 0x03, 0x03, 0xC7, + 0x00, 0xC0, 0x3F, 0xC0, 0x18, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x00, 0x7F, + 0xE0, 0x00, 0x38, 0xF8, 0x00, 0x1E, 0x1F, 0x00, 0x07, 0x83, 0xC0, 0x01, + 0xF0, 0xF0, 0x00, 0x7C, 0x38, 0x00, 0x1F, 0x9C, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0xFE, 0x0F, 0xF0, 0x3F, 0x80, 0xF0, 0x1F, 0xF0, 0x18, 0x1C, 0xFE, + 0x0C, 0x0E, 0x1F, 0xC3, 0x07, 0x87, 0xF1, 0x81, 0xE0, 0xFE, 0x40, 0xF8, + 0x1F, 0xF0, 0x3F, 0x07, 0xF8, 0x0F, 0xC0, 0xFE, 0x03, 0xF8, 0x1F, 0xC0, + 0xFE, 0x07, 0xF8, 0x9F, 0xE3, 0xFF, 0xE7, 0xFF, 0x9F, 0xF0, 0xFF, 0xC3, + 0xF8, 0x0F, 0x80, 0x3C, 0x00, 0x6F, 0xFF, 0xFF, 0x66, 0x66, 0x00, 0x81, + 0x81, 0x81, 0x81, 0x80, 0xC0, 0xE0, 0x70, 0x70, 0x38, 0x3C, 0x1E, 0x0F, + 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x0E, 0x07, 0x03, 0x80, 0xE0, + 0x70, 0x18, 0x06, 0x01, 0x00, 0x40, 0x10, 0x04, 0x80, 0x30, 0x0C, 0x03, + 0x00, 0xC0, 0x60, 0x38, 0x1C, 0x07, 0x03, 0x81, 0xC0, 0xF0, 0x78, 0x3C, + 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xE0, 0x70, 0x38, 0x38, 0x1C, 0x0C, + 0x0C, 0x06, 0x04, 0x04, 0x04, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x78, 0x1D, + 0xE6, 0xFB, 0x3D, 0xED, 0xF3, 0xFF, 0x01, 0xC0, 0x7F, 0xF3, 0xED, 0xFF, + 0x33, 0xD9, 0xE6, 0x07, 0x80, 0x1E, 0x00, 0x30, 0x00, 0x00, 0xE0, 0x00, + 0x1C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, + 0x38, 0x00, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, + 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, + 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x73, 0xEF, 0xFF, 0xFD, 0xF0, + 0xC2, 0x18, 0xC6, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0xFF, 0xFF, 0xFD, + 0xE0, 0x00, 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, + 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, + 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x00, + 0x03, 0xC0, 0x0E, 0x70, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x7C, 0x3E, + 0x7C, 0x3E, 0x7C, 0x3E, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3E, 0x7C, 0x3E, + 0x7C, 0x3E, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, 0x78, 0x0E, 0x70, 0x03, 0xC0, + 0x00, 0xC0, 0x3C, 0x0F, 0xC3, 0xFC, 0x4F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, + 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, + 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x1F, 0xEF, 0xFF, + 0x03, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3F, 0xFC, 0x30, 0xFE, 0x60, 0x7E, + 0x40, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x78, + 0x00, 0x70, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x01, + 0x0C, 0x03, 0x1F, 0xFF, 0x1F, 0xFF, 0x3F, 0xFE, 0x7F, 0xFE, 0xFF, 0xFE, + 0x03, 0xF0, 0x0F, 0xF8, 0x3F, 0xFC, 0x21, 0xFE, 0x40, 0xFE, 0x00, 0x7E, + 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xFC, 0x03, 0xFE, + 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, + 0x00, 0x0E, 0x70, 0x0E, 0xFC, 0x1C, 0xFE, 0x38, 0x7F, 0xE0, 0x3F, 0x80, + 0x00, 0x38, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0x5F, 0x00, + 0xBE, 0x02, 0x7C, 0x08, 0xF8, 0x31, 0xF0, 0x43, 0xE1, 0x07, 0xC4, 0x0F, + 0x88, 0x1F, 0x20, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, + 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x0F, 0xFE, 0x1F, + 0xF8, 0x7F, 0xF0, 0xFF, 0xE1, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, + 0x3F, 0x80, 0xFF, 0xC1, 0xFF, 0xC3, 0xFF, 0xC3, 0xFF, 0x80, 0x3F, 0x80, + 0x0F, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x37, 0x80, 0x4F, 0x81, + 0x9F, 0xC6, 0x3F, 0xF8, 0x1F, 0x80, 0x00, 0x07, 0x00, 0x7C, 0x01, 0xF0, + 0x03, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x7E, 0x00, + 0x7F, 0xF0, 0x7F, 0xFC, 0xFC, 0x7E, 0xFC, 0x7E, 0xFC, 0x3F, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0x7C, 0x3F, 0x7C, 0x3E, 0x3C, 0x3E, + 0x3E, 0x3C, 0x1E, 0x78, 0x07, 0xE0, 0x7F, 0xFF, 0x7F, 0xFE, 0x7F, 0xFE, + 0xFF, 0xFE, 0xFF, 0xFC, 0xC0, 0x1C, 0x80, 0x18, 0x80, 0x38, 0x00, 0x38, + 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, + 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x80, 0x07, 0x80, + 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0xE0, 0x38, 0x78, 0x70, 0x3C, + 0xF0, 0x1E, 0xF0, 0x1E, 0xF8, 0x1E, 0xF8, 0x1E, 0xFE, 0x3C, 0x7F, 0xB0, + 0x7F, 0xE0, 0x3F, 0xF0, 0x0F, 0xF8, 0x1F, 0xFC, 0x39, 0xFE, 0x70, 0xFF, + 0xF0, 0x3F, 0xF0, 0x3F, 0xF0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1E, 0x78, 0x3E, + 0x7C, 0x7C, 0x3F, 0xF8, 0x0F, 0xE0, 0x07, 0xE0, 0x1E, 0x78, 0x3C, 0x7C, + 0x7C, 0x3C, 0x7C, 0x3E, 0xFC, 0x3E, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFC, 0x3F, 0x7E, 0x3F, 0x7E, 0x3F, 0x3F, 0xFE, 0x0F, 0xFE, + 0x00, 0x7E, 0x00, 0x7C, 0x00, 0xF8, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xC0, + 0x0F, 0x80, 0x3E, 0x00, 0xE0, 0x00, 0x7B, 0xFF, 0xFF, 0xFD, 0xE0, 0x00, + 0x00, 0x07, 0xBF, 0xFF, 0xFF, 0xDE, 0x39, 0xFB, 0xF7, 0xEF, 0xC7, 0x00, + 0x00, 0x00, 0x01, 0xE7, 0xEF, 0xFF, 0xFF, 0xBF, 0x06, 0x08, 0x30, 0xC2, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0x80, 0x07, 0xF0, + 0x03, 0xFC, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, + 0xC0, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, + 0x3F, 0x80, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0x80, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x18, 0x00, 0x03, + 0xE0, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, + 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x1F, 0xC0, + 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x1F, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0xFF, 0xC7, 0x1F, + 0xB8, 0x3E, 0xF0, 0xFF, 0xC3, 0xFF, 0x0F, 0xD8, 0x3F, 0x00, 0xF8, 0x07, + 0xC0, 0x1E, 0x00, 0x60, 0x03, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x70, 0x03, 0xE0, 0x1F, 0x80, 0x7E, 0x01, 0xF8, 0x01, + 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xE0, 0x07, 0xC0, 0xF0, 0x0F, 0x00, + 0x38, 0x1E, 0x00, 0x0C, 0x3C, 0x07, 0x06, 0x38, 0x1F, 0x72, 0x78, 0x3C, + 0xF3, 0x78, 0x78, 0xE1, 0xF0, 0x70, 0xE1, 0xF0, 0xF0, 0xE1, 0xF0, 0xE0, + 0xC1, 0xF1, 0xE1, 0xC1, 0xF1, 0xC1, 0xC1, 0xF1, 0xC3, 0x82, 0xF1, 0xC3, + 0x86, 0x71, 0xC7, 0x8C, 0x79, 0xFB, 0xF8, 0x78, 0xF1, 0xF0, 0x3C, 0x00, + 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x78, 0x03, 0xFF, + 0xE0, 0x00, 0x7F, 0x80, 0x00, 0x10, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0xFE, 0x00, 0x01, 0xBF, 0x00, 0x01, 0xBF, 0x00, 0x01, 0x1F, + 0x00, 0x03, 0x1F, 0x80, 0x02, 0x1F, 0x80, 0x06, 0x0F, 0xC0, 0x06, 0x0F, + 0xC0, 0x04, 0x07, 0xE0, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x18, 0x03, + 0xF0, 0x18, 0x03, 0xF0, 0x30, 0x01, 0xF8, 0x30, 0x01, 0xF8, 0x70, 0x01, + 0xFC, 0xFE, 0x0F, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xE1, 0xF8, + 0x3F, 0x07, 0xC1, 0xF8, 0x3F, 0x0F, 0xC1, 0xF8, 0x7E, 0x0F, 0xC3, 0xF0, + 0x7E, 0x1F, 0x87, 0xE0, 0xFC, 0x7C, 0x07, 0xFF, 0x00, 0x3F, 0xFF, 0x01, + 0xF8, 0xFE, 0x0F, 0xC1, 0xF8, 0x7E, 0x0F, 0xC3, 0xF0, 0x3F, 0x1F, 0x81, + 0xF8, 0xFC, 0x0F, 0xC7, 0xE0, 0x7E, 0x3F, 0x03, 0xF1, 0xF8, 0x3F, 0x0F, + 0xC3, 0xF0, 0xFF, 0xFF, 0x1F, 0xFF, 0xC0, 0x00, 0x7E, 0x04, 0x07, 0xFF, + 0x18, 0x1F, 0x07, 0xF0, 0x7C, 0x03, 0xE1, 0xF0, 0x03, 0xC7, 0xC0, 0x03, + 0x9F, 0x80, 0x03, 0x3F, 0x00, 0x06, 0x7C, 0x00, 0x05, 0xF8, 0x00, 0x03, + 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x3F, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8, + 0x00, 0x01, 0xF0, 0x00, 0x23, 0xF0, 0x00, 0xC3, 0xF0, 0x07, 0x03, 0xF0, + 0x3C, 0x01, 0xFF, 0xE0, 0x00, 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, + 0x00, 0x7E, 0x1F, 0x80, 0xFC, 0x1F, 0x81, 0xF8, 0x1F, 0x83, 0xF0, 0x1F, + 0x07, 0xE0, 0x3F, 0x0F, 0xC0, 0x7E, 0x1F, 0x80, 0x7E, 0x3F, 0x00, 0xFC, + 0x7E, 0x01, 0xF8, 0xFC, 0x03, 0xF1, 0xF8, 0x07, 0xE3, 0xF0, 0x0F, 0xC7, + 0xE0, 0x1F, 0x8F, 0xC0, 0x3F, 0x1F, 0x80, 0x7C, 0x3F, 0x01, 0xF8, 0x7E, + 0x03, 0xE0, 0xFC, 0x0F, 0x81, 0xF8, 0x1F, 0x03, 0xF0, 0xFC, 0x0F, 0xFF, + 0xE0, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0x0F, 0xC0, 0x78, + 0x7E, 0x01, 0xC3, 0xF0, 0x06, 0x1F, 0x80, 0x10, 0xFC, 0x10, 0x87, 0xE0, + 0x80, 0x3F, 0x0C, 0x01, 0xF8, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xF8, 0x03, + 0xF1, 0xC0, 0x1F, 0x86, 0x00, 0xFC, 0x10, 0x07, 0xE0, 0x80, 0x3F, 0x00, + 0x09, 0xF8, 0x00, 0xCF, 0xC0, 0x0C, 0x7E, 0x00, 0x63, 0xF0, 0x0F, 0x1F, + 0x81, 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFC, 0xFF, 0xFF, 0xEF, 0xFF, 0xFC, + 0xFC, 0x0F, 0x9F, 0x80, 0x73, 0xF0, 0x06, 0x7E, 0x00, 0x4F, 0xC1, 0x09, + 0xF8, 0x20, 0x3F, 0x0C, 0x07, 0xE3, 0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, + 0xF1, 0xC0, 0x7E, 0x18, 0x0F, 0xC1, 0x01, 0xF8, 0x20, 0x3F, 0x00, 0x07, + 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x1F, + 0xE0, 0x07, 0xFF, 0x00, 0x00, 0x7E, 0x02, 0x01, 0xFF, 0xE3, 0x01, 0xF0, + 0x3F, 0x81, 0xF0, 0x07, 0xC1, 0xF0, 0x01, 0xE1, 0xF0, 0x00, 0x71, 0xF8, + 0x00, 0x18, 0xFC, 0x00, 0x0C, 0x7C, 0x00, 0x02, 0x7E, 0x00, 0x00, 0x3F, + 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, + 0xF0, 0x0F, 0xFF, 0xF8, 0x01, 0xFE, 0x7C, 0x00, 0x7E, 0x3F, 0x00, 0x3F, + 0x1F, 0x80, 0x1F, 0x87, 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0xFC, 0x03, + 0xF0, 0x1F, 0x83, 0xF0, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0x80, 0x00, 0xFF, + 0xC3, 0xFF, 0x7F, 0x81, 0xFE, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, + 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, + 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, + 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, + 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, + 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x7F, 0x81, 0xFE, 0xFF, 0xC3, 0xFF, 0xFF, + 0xEF, 0xF0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, + 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, + 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x1F, 0xE7, 0xFF, 0x07, 0xFF, 0x01, 0xFE, + 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, + 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, + 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, + 0x70, 0xFC, 0xF8, 0xFC, 0xF8, 0xF8, 0xF0, 0xF8, 0x71, 0xF0, 0x7F, 0xE0, + 0x1F, 0x80, 0xFF, 0xC3, 0xFF, 0x3F, 0xC0, 0x3E, 0x0F, 0xC0, 0x1C, 0x07, + 0xE0, 0x18, 0x03, 0xF0, 0x18, 0x01, 0xF8, 0x18, 0x00, 0xFC, 0x18, 0x00, + 0x7E, 0x18, 0x00, 0x3F, 0x18, 0x00, 0x1F, 0x9C, 0x00, 0x0F, 0xDF, 0x00, + 0x07, 0xFF, 0xC0, 0x03, 0xFF, 0xF0, 0x01, 0xF9, 0xF8, 0x00, 0xFC, 0xFE, + 0x00, 0x7E, 0x3F, 0x80, 0x3F, 0x0F, 0xE0, 0x1F, 0x83, 0xF8, 0x0F, 0xC0, + 0xFC, 0x07, 0xE0, 0x7F, 0x03, 0xF0, 0x1F, 0xC1, 0xF8, 0x07, 0xF1, 0xFE, + 0x03, 0xFD, 0xFF, 0x8F, 0xFF, 0xFF, 0xE0, 0x03, 0xFC, 0x00, 0x0F, 0xC0, + 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, + 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, + 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x01, 0x3F, + 0x00, 0x19, 0xF8, 0x00, 0xCF, 0xC0, 0x0C, 0x7E, 0x00, 0x63, 0xF0, 0x0F, + 0x1F, 0x81, 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0x80, 0x03, 0xFE, + 0x7F, 0x00, 0x07, 0xF8, 0x7E, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x3F, 0xC1, + 0x7C, 0x00, 0x5F, 0x82, 0xFC, 0x01, 0xBF, 0x05, 0xF8, 0x02, 0x7E, 0x09, + 0xF8, 0x0C, 0xFC, 0x13, 0xF0, 0x11, 0xF8, 0x23, 0xE0, 0x23, 0xF0, 0x47, + 0xE0, 0xC7, 0xE0, 0x87, 0xC1, 0x0F, 0xC1, 0x0F, 0xC6, 0x1F, 0x82, 0x0F, + 0x88, 0x3F, 0x04, 0x1F, 0xB0, 0x7E, 0x08, 0x3F, 0x60, 0xFC, 0x10, 0x3E, + 0x81, 0xF8, 0x20, 0x7F, 0x03, 0xF0, 0x40, 0x7C, 0x07, 0xE0, 0x80, 0xF8, + 0x0F, 0xC1, 0x00, 0xE0, 0x1F, 0x82, 0x01, 0xC0, 0x3F, 0x0E, 0x03, 0x80, + 0xFF, 0x7F, 0x82, 0x03, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0x70, 0xFE, + 0x00, 0x40, 0xFE, 0x00, 0x81, 0xFC, 0x01, 0x03, 0xFC, 0x02, 0x05, 0xFC, + 0x04, 0x09, 0xFC, 0x08, 0x11, 0xFC, 0x10, 0x23, 0xF8, 0x20, 0x43, 0xF8, + 0x40, 0x83, 0xF8, 0x81, 0x03, 0xF9, 0x02, 0x03, 0xFA, 0x04, 0x03, 0xF4, + 0x08, 0x07, 0xF8, 0x10, 0x07, 0xF0, 0x20, 0x07, 0xE0, 0x40, 0x07, 0xC0, + 0x80, 0x07, 0x81, 0x00, 0x0F, 0x02, 0x00, 0x0E, 0x0E, 0x00, 0x0C, 0x7F, + 0x00, 0x08, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xF0, 0x7C, 0x01, + 0xF0, 0x1F, 0x01, 0xF0, 0x07, 0xC1, 0xF0, 0x01, 0xF1, 0xF8, 0x00, 0xFC, + 0xFC, 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x0F, 0xFF, 0x00, 0x07, + 0xFF, 0x80, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, 0x00, 0xFF, 0xF0, 0x00, + 0x7F, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x9F, 0x80, + 0x0F, 0xC7, 0xC0, 0x07, 0xC1, 0xF0, 0x07, 0xC0, 0xFC, 0x07, 0xE0, 0x3F, + 0x07, 0xC0, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xFC, 0x0F, + 0xFF, 0xE0, 0xFC, 0x7E, 0x1F, 0x87, 0xE3, 0xF0, 0x7E, 0x7E, 0x0F, 0xCF, + 0xC1, 0xF9, 0xF8, 0x3F, 0x3F, 0x07, 0xE7, 0xE0, 0xFC, 0xFC, 0x3F, 0x1F, + 0x8F, 0xC3, 0xFF, 0xF0, 0x7F, 0xF8, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, + 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, + 0x00, 0x1F, 0xE0, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, + 0x01, 0xF0, 0x7C, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x07, 0xC1, 0xF0, 0x01, + 0xF1, 0xF8, 0x00, 0xFC, 0xFC, 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, + 0x0F, 0xFF, 0x00, 0x07, 0xFF, 0x80, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, + 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x3E, + 0x00, 0x0F, 0x9F, 0x80, 0x0F, 0xC7, 0xC0, 0x07, 0xC1, 0xF0, 0x07, 0xC0, + 0x78, 0x03, 0xC0, 0x1E, 0x07, 0xC0, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0x00, + 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, + 0xF8, 0x00, 0x0F, 0xE0, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0xFC, 0x3F, + 0x01, 0xF8, 0x3F, 0x03, 0xF0, 0x3F, 0x07, 0xE0, 0x7E, 0x0F, 0xC0, 0xFC, + 0x1F, 0x81, 0xF8, 0x3F, 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xFC, 0x1F, 0x81, + 0xF8, 0x7E, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xC0, 0x0F, 0xDF, 0xC0, 0x1F, + 0x9F, 0x80, 0x3F, 0x1F, 0x80, 0x7E, 0x3F, 0x80, 0xFC, 0x3F, 0x81, 0xF8, + 0x3F, 0x03, 0xF0, 0x7F, 0x07, 0xE0, 0x7F, 0x1F, 0xE0, 0x7F, 0x7F, 0xE0, + 0xFF, 0x07, 0xC2, 0x1F, 0xF2, 0x3C, 0x3E, 0x70, 0x0E, 0xF0, 0x06, 0xF0, + 0x06, 0xF0, 0x02, 0xF8, 0x00, 0xFE, 0x00, 0xFF, 0x80, 0x7F, 0xE0, 0x3F, + 0xF8, 0x1F, 0xFC, 0x0F, 0xFE, 0x03, 0xFE, 0x00, 0xFF, 0x00, 0x3F, 0x80, + 0x1F, 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x0E, 0xF0, 0x1E, 0xF8, 0x3C, 0x9F, + 0xF8, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7E, 0x3F, 0x83, + 0xF0, 0x7C, 0x1F, 0x81, 0xC0, 0xFC, 0x06, 0x07, 0xE0, 0x20, 0x3F, 0x00, + 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, + 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, + 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, + 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0xE0, 0xFF, 0xC1, 0xFD, 0xFE, 0x01, 0xC3, + 0xF0, 0x02, 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, + 0x02, 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, + 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, 0x0F, + 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, 0x0F, 0xC0, + 0x18, 0x1F, 0x80, 0x40, 0x7E, 0x03, 0x00, 0xFC, 0x18, 0x01, 0xFF, 0xC0, + 0x00, 0xFC, 0x00, 0xFF, 0xF0, 0x7F, 0x3F, 0xC0, 0x1E, 0x1F, 0x80, 0x0C, + 0x1F, 0x80, 0x08, 0x0F, 0xC0, 0x18, 0x0F, 0xC0, 0x18, 0x07, 0xE0, 0x10, + 0x07, 0xE0, 0x30, 0x07, 0xE0, 0x20, 0x03, 0xF0, 0x60, 0x03, 0xF0, 0x60, + 0x01, 0xF8, 0x40, 0x01, 0xF8, 0xC0, 0x00, 0xF8, 0x80, 0x00, 0xFC, 0x80, + 0x00, 0xFD, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3E, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x0C, 0x00, 0xFF, 0xE7, 0xFF, 0x0F, 0xCF, 0xE0, 0x7F, 0x00, 0xE1, + 0xF8, 0x0F, 0xC0, 0x30, 0x7E, 0x03, 0xF0, 0x0C, 0x1F, 0x80, 0x7C, 0x02, + 0x03, 0xE0, 0x1F, 0x81, 0x80, 0xFC, 0x07, 0xE0, 0x60, 0x3F, 0x03, 0xF8, + 0x10, 0x07, 0xC0, 0xBF, 0x0C, 0x01, 0xF8, 0x2F, 0xC3, 0x00, 0x7E, 0x19, + 0xF0, 0x80, 0x0F, 0x84, 0x7C, 0x60, 0x03, 0xF3, 0x0F, 0x98, 0x00, 0xFC, + 0xC3, 0xE4, 0x00, 0x1F, 0x20, 0xFB, 0x00, 0x07, 0xF8, 0x1F, 0xC0, 0x00, + 0xFC, 0x07, 0xE0, 0x00, 0x3F, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x3E, 0x00, + 0x01, 0xE0, 0x0F, 0x00, 0x00, 0x78, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x70, + 0x00, 0x03, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x06, 0x00, 0x00, 0x20, 0x00, + 0x80, 0x00, 0xFF, 0xF3, 0xFE, 0x7F, 0x80, 0x78, 0x3F, 0x80, 0x70, 0x1F, + 0xC0, 0x60, 0x0F, 0xC0, 0xC0, 0x0F, 0xE1, 0x80, 0x07, 0xF1, 0x00, 0x03, + 0xF3, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0x9F, 0x80, 0x01, 0x8F, 0xC0, 0x03, 0x0F, 0xE0, 0x06, 0x07, 0xE0, 0x06, + 0x07, 0xF0, 0x0C, 0x03, 0xF8, 0x1C, 0x03, 0xF8, 0x3C, 0x03, 0xFC, 0xFF, + 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0x7F, 0x80, 0x1E, 0x3F, 0x80, 0x1C, 0x1F, + 0x80, 0x18, 0x1F, 0xC0, 0x10, 0x0F, 0xC0, 0x30, 0x07, 0xE0, 0x20, 0x07, + 0xE0, 0x60, 0x03, 0xF0, 0xC0, 0x03, 0xF0, 0x80, 0x01, 0xF9, 0x80, 0x01, + 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x00, 0x01, + 0xFF, 0x80, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x9F, 0x01, 0xF8, 0xE0, 0x1F, + 0x86, 0x01, 0xFC, 0x20, 0x0F, 0xC1, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, + 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, + 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x01, 0x0F, 0xC0, 0x18, 0xFC, + 0x00, 0xC7, 0xE0, 0x06, 0x7E, 0x00, 0x77, 0xF0, 0x07, 0x3F, 0x00, 0xFB, + 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xE0, 0x1E, + 0x01, 0xC0, 0x38, 0x07, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0x80, + 0x70, 0x07, 0x00, 0xE0, 0x1C, 0x01, 0xC0, 0x38, 0x07, 0x00, 0x70, 0x0E, + 0x01, 0xC0, 0x1C, 0x03, 0x80, 0x70, 0x0F, 0x00, 0xE0, 0xFF, 0xFF, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0xFF, 0xFF, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x7E, 0x00, 0xEE, 0x03, + 0x9C, 0x07, 0x1C, 0x1C, 0x38, 0x38, 0x38, 0xE0, 0x71, 0xC0, 0x77, 0x00, + 0xEE, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0xF0, + 0x78, 0x3C, 0x0E, 0x07, 0x0F, 0xE0, 0x3F, 0xF0, 0x78, 0xF8, 0x78, 0x7C, + 0x78, 0x7C, 0x38, 0x7C, 0x00, 0x7C, 0x03, 0xFC, 0x1E, 0x7C, 0x7C, 0x7C, + 0xFC, 0x7C, 0xFC, 0x7C, 0xFC, 0xFC, 0xFF, 0xFD, 0x7F, 0x7F, 0x3C, 0x3C, + 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, + 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0xF8, 0x1F, 0x7F, 0x87, 0xE3, + 0xF1, 0xF0, 0x7E, 0x7C, 0x0F, 0x9F, 0x03, 0xF7, 0xC0, 0xFD, 0xF0, 0x3F, + 0x7C, 0x0F, 0xDF, 0x03, 0xF7, 0xC0, 0xFD, 0xF0, 0x3E, 0x7C, 0x1F, 0x1F, + 0x8F, 0xC6, 0x7F, 0xC1, 0x07, 0xC0, 0x07, 0xC0, 0x7F, 0xC3, 0xC7, 0x9F, + 0x1E, 0x78, 0x7B, 0xE1, 0xCF, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, + 0x80, 0x3F, 0x00, 0x7C, 0x00, 0xFC, 0x61, 0xFF, 0x03, 0xF0, 0x00, 0x7F, + 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, + 0x01, 0xF0, 0x00, 0x7C, 0x07, 0x9F, 0x07, 0xF7, 0xC3, 0xE3, 0xF1, 0xF8, + 0x7C, 0x7C, 0x1F, 0x3F, 0x07, 0xCF, 0xC1, 0xF3, 0xF0, 0x7C, 0xFC, 0x1F, + 0x3F, 0x07, 0xCF, 0xC1, 0xF1, 0xF0, 0x7C, 0x7E, 0x1F, 0x0F, 0x8F, 0xC1, + 0xFD, 0xFC, 0x3E, 0x70, 0x0F, 0xC0, 0x7F, 0xC3, 0xC7, 0x1E, 0x1E, 0xF8, + 0x7B, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0xC0, 0x1F, + 0x03, 0x7E, 0x18, 0xFF, 0xC1, 0xFE, 0x03, 0xF0, 0x0F, 0x83, 0xF8, 0xF3, + 0xBE, 0xF7, 0xDC, 0xF8, 0x1F, 0x03, 0xE0, 0xFF, 0x1F, 0xE1, 0xF0, 0x3E, + 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, + 0xC0, 0xF8, 0x1F, 0x07, 0xF8, 0x0F, 0xC0, 0x1F, 0xFF, 0xDF, 0x1F, 0xFF, + 0x07, 0x8F, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7C, 0x78, 0x3C, + 0x1E, 0x3E, 0x03, 0xFC, 0x03, 0x00, 0x07, 0x00, 0x07, 0x80, 0x03, 0xFF, + 0xF1, 0xFF, 0xFE, 0x7F, 0xFF, 0x8F, 0xFF, 0xF8, 0x01, 0xFC, 0x00, 0x7F, + 0x00, 0x73, 0xFF, 0xF0, 0x7F, 0xC0, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, + 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, + 0x7C, 0x3E, 0xFF, 0x1F, 0xCF, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, + 0xF0, 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3E, 0x0F, 0x9F, 0x07, 0xCF, 0x83, + 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xFC, 0x7F, 0x39, 0xFB, 0xF7, + 0xE7, 0x80, 0x00, 0x00, 0xFC, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, + 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x7F, 0x03, 0xC0, 0xFC, 0x1F, 0x83, 0xF0, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, + 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, + 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7D, 0xCF, 0xF9, 0xEE, 0x7C, 0xFF, 0x0F, + 0x80, 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, + 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x7F, 0x9F, 0x07, 0x87, + 0xC1, 0x81, 0xF0, 0xC0, 0x7C, 0x60, 0x1F, 0x30, 0x07, 0xDE, 0x01, 0xFF, + 0xC0, 0x7F, 0xF0, 0x1F, 0x3E, 0x07, 0xCF, 0xC1, 0xF1, 0xF8, 0x7C, 0x3E, + 0x1F, 0x07, 0xC7, 0xC1, 0xFB, 0xF9, 0xFF, 0xFC, 0xF9, 0xF3, 0xE7, 0xCF, + 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, + 0xE7, 0xCF, 0x9F, 0x7F, 0xFC, 0x7C, 0x1F, 0x0F, 0xBF, 0xCF, 0xF1, 0xF8, + 0xFF, 0x3F, 0x3E, 0x0F, 0x83, 0xE7, 0xC1, 0xF0, 0x7C, 0xF8, 0x3E, 0x0F, + 0x9F, 0x07, 0xC1, 0xF3, 0xE0, 0xF8, 0x3E, 0x7C, 0x1F, 0x07, 0xCF, 0x83, + 0xE0, 0xF9, 0xF0, 0x7C, 0x1F, 0x3E, 0x0F, 0x83, 0xE7, 0xC1, 0xF0, 0x7C, + 0xF8, 0x3E, 0x0F, 0x9F, 0x07, 0xC1, 0xF7, 0xF1, 0xFC, 0x7F, 0xFC, 0x7C, + 0x3E, 0xFF, 0x1F, 0xCF, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, + 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3E, 0x0F, 0x9F, 0x07, 0xCF, 0x83, 0xE7, + 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xFC, 0x7F, 0x07, 0xF0, 0x0F, 0xFE, + 0x0F, 0x8F, 0x8F, 0x87, 0xE7, 0xC1, 0xF7, 0xE0, 0xFF, 0xF0, 0x7F, 0xF8, + 0x3F, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0x07, 0xEF, 0x83, 0xE7, 0xC1, 0xF1, + 0xF1, 0xF0, 0x7F, 0xF0, 0x0F, 0xE0, 0xFE, 0x7C, 0x07, 0xDF, 0xE0, 0xFE, + 0x3E, 0x1F, 0x07, 0xE3, 0xE0, 0x7C, 0x7C, 0x0F, 0xCF, 0x81, 0xF9, 0xF0, + 0x3F, 0x3E, 0x07, 0xE7, 0xC0, 0xFC, 0xF8, 0x1F, 0x9F, 0x03, 0xE3, 0xE0, + 0xFC, 0x7E, 0x3F, 0x0F, 0xBF, 0xC1, 0xF3, 0xE0, 0x3E, 0x00, 0x07, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x1F, 0xE0, + 0x00, 0x07, 0xC1, 0x0F, 0xF9, 0x8F, 0xCD, 0xCF, 0xC3, 0xE7, 0xC1, 0xF7, + 0xE0, 0xFB, 0xF0, 0x7D, 0xF8, 0x3E, 0xFC, 0x1F, 0x7E, 0x0F, 0xBF, 0x07, + 0xDF, 0x83, 0xE7, 0xE1, 0xF1, 0xF1, 0xF8, 0x7F, 0x7C, 0x1F, 0x3E, 0x00, + 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x01, 0xF8, + 0x01, 0xFE, 0xFC, 0x73, 0xEF, 0xDF, 0xFE, 0xFC, 0xF7, 0xC3, 0xBE, 0x01, + 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, + 0x01, 0xF0, 0x1F, 0xE0, 0x1E, 0x23, 0xFE, 0x70, 0xEE, 0x06, 0xE0, 0x2F, + 0x80, 0xFF, 0x07, 0xFC, 0x3F, 0xE0, 0xFF, 0x81, 0xF8, 0x07, 0xC0, 0x7E, + 0x0E, 0xBF, 0xC8, 0xF8, 0x04, 0x03, 0x01, 0xC0, 0xF0, 0x7C, 0x3F, 0xEF, + 0xF9, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, + 0x7C, 0x5F, 0x37, 0xF8, 0xFE, 0x1E, 0x00, 0xFC, 0x7F, 0x1F, 0x07, 0xC7, + 0xC1, 0xF1, 0xF0, 0x7C, 0x7C, 0x1F, 0x1F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, + 0x7C, 0x7C, 0x1F, 0x1F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, 0x7C, 0x7C, 0x1F, + 0x1F, 0x8F, 0xC3, 0xFD, 0xFC, 0x7C, 0x60, 0xFF, 0x9F, 0xBF, 0x83, 0x0F, + 0x81, 0x87, 0xE0, 0x81, 0xF0, 0x40, 0xF8, 0x40, 0x3E, 0x20, 0x1F, 0x30, + 0x07, 0xD0, 0x03, 0xF8, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x0E, + 0x00, 0x07, 0x00, 0x01, 0x00, 0xFF, 0x3F, 0xCF, 0x7E, 0x1F, 0x06, 0x3E, + 0x0F, 0x06, 0x3E, 0x0F, 0x84, 0x1F, 0x0F, 0x8C, 0x1F, 0x1F, 0x88, 0x0F, + 0x17, 0xC8, 0x0F, 0x97, 0xD8, 0x0F, 0xB3, 0xD0, 0x07, 0xE3, 0xF0, 0x07, + 0xE3, 0xE0, 0x03, 0xC1, 0xE0, 0x03, 0xC1, 0xE0, 0x03, 0x81, 0xC0, 0x01, + 0x80, 0xC0, 0x01, 0x80, 0x80, 0xFF, 0x3F, 0x7E, 0x0C, 0x3E, 0x08, 0x3F, + 0x18, 0x1F, 0x30, 0x0F, 0xE0, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xE0, 0x03, + 0xF0, 0x05, 0xF8, 0x0C, 0xF8, 0x18, 0xFC, 0x30, 0x7E, 0x70, 0x7E, 0xFC, + 0xFF, 0xFF, 0x3F, 0x7E, 0x0C, 0x7C, 0x0C, 0x3E, 0x08, 0x3E, 0x08, 0x1E, + 0x18, 0x1F, 0x10, 0x0F, 0x30, 0x0F, 0xA0, 0x0F, 0xA0, 0x07, 0xE0, 0x07, + 0xC0, 0x03, 0xC0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x01, + 0x00, 0x61, 0x00, 0xF2, 0x00, 0xF6, 0x00, 0xFC, 0x00, 0x78, 0x00, 0x7F, + 0xFD, 0xFF, 0xF7, 0x0F, 0xD0, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x01, + 0xF0, 0x0F, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0xC1, 0x3E, 0x05, 0xF8, 0x7F, + 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0xF8, 0x3E, 0x07, 0x80, 0xF0, 0x1E, 0x03, + 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x87, + 0x80, 0x1E, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, + 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF8, 0x0F, 0x80, 0x78, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x0F, 0x80, 0xF0, + 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, + 0x01, 0xE0, 0x3C, 0x03, 0xC0, 0x0F, 0x0F, 0x03, 0xC0, 0x78, 0x0F, 0x01, + 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, 0xE0, + 0xF8, 0x3C, 0x00, 0x3E, 0x00, 0x7F, 0xC6, 0xFF, 0xFF, 0x61, 0xFE, 0x00, + 0x7C }; + +const GFXglyph FreeSerifBold18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' + { 0, 6, 24, 12, 3, -23 }, // 0x21 '!' + { 18, 13, 10, 19, 3, -23 }, // 0x22 '"' + { 35, 18, 24, 17, 0, -23 }, // 0x23 '#' + { 89, 15, 28, 17, 1, -25 }, // 0x24 '$' + { 142, 27, 24, 35, 4, -23 }, // 0x25 '%' + { 223, 26, 25, 29, 2, -23 }, // 0x26 '&' + { 305, 4, 10, 10, 3, -23 }, // 0x27 ''' + { 310, 9, 30, 12, 2, -23 }, // 0x28 '(' + { 344, 9, 30, 12, 1, -23 }, // 0x29 ')' + { 378, 14, 15, 18, 2, -23 }, // 0x2A '*' + { 405, 19, 19, 24, 2, -17 }, // 0x2B '+' + { 451, 6, 12, 9, 1, -5 }, // 0x2C ',' + { 460, 8, 4, 12, 2, -9 }, // 0x2D '-' + { 464, 6, 6, 9, 1, -5 }, // 0x2E '.' + { 469, 11, 25, 10, -1, -23 }, // 0x2F '/' + { 504, 16, 24, 18, 1, -23 }, // 0x30 '0' + { 552, 12, 24, 18, 3, -23 }, // 0x31 '1' + { 588, 16, 24, 17, 1, -23 }, // 0x32 '2' + { 636, 16, 24, 18, 0, -23 }, // 0x33 '3' + { 684, 15, 24, 18, 1, -23 }, // 0x34 '4' + { 729, 15, 24, 18, 1, -23 }, // 0x35 '5' + { 774, 16, 24, 18, 1, -23 }, // 0x36 '6' + { 822, 16, 24, 17, 1, -23 }, // 0x37 '7' + { 870, 16, 24, 17, 1, -23 }, // 0x38 '8' + { 918, 16, 24, 18, 1, -23 }, // 0x39 '9' + { 966, 6, 16, 12, 3, -15 }, // 0x3A ':' + { 978, 7, 22, 12, 2, -15 }, // 0x3B ';' + { 998, 19, 20, 24, 2, -18 }, // 0x3C '<' + { 1046, 19, 12, 24, 2, -14 }, // 0x3D '=' + { 1075, 19, 20, 24, 3, -18 }, // 0x3E '>' + { 1123, 14, 24, 18, 2, -23 }, // 0x3F '?' + { 1165, 24, 25, 33, 4, -23 }, // 0x40 '@' + { 1240, 24, 24, 25, 1, -23 }, // 0x41 'A' + { 1312, 21, 24, 23, 1, -23 }, // 0x42 'B' + { 1375, 23, 25, 25, 1, -23 }, // 0x43 'C' + { 1447, 23, 24, 26, 1, -23 }, // 0x44 'D' + { 1516, 21, 24, 23, 2, -23 }, // 0x45 'E' + { 1579, 19, 24, 22, 2, -23 }, // 0x46 'F' + { 1636, 25, 25, 27, 1, -23 }, // 0x47 'G' + { 1715, 24, 24, 27, 2, -23 }, // 0x48 'H' + { 1787, 11, 24, 14, 2, -23 }, // 0x49 'I' + { 1820, 16, 27, 18, 0, -23 }, // 0x4A 'J' + { 1874, 25, 24, 27, 2, -23 }, // 0x4B 'K' + { 1949, 21, 24, 23, 2, -23 }, // 0x4C 'L' + { 2012, 31, 24, 33, 1, -23 }, // 0x4D 'M' + { 2105, 23, 24, 25, 1, -23 }, // 0x4E 'N' + { 2174, 25, 25, 27, 1, -23 }, // 0x4F 'O' + { 2253, 19, 24, 22, 2, -23 }, // 0x50 'P' + { 2310, 25, 30, 27, 1, -23 }, // 0x51 'Q' + { 2404, 23, 24, 25, 2, -23 }, // 0x52 'R' + { 2473, 16, 25, 20, 2, -23 }, // 0x53 'S' + { 2523, 21, 24, 23, 1, -23 }, // 0x54 'T' + { 2586, 22, 25, 25, 2, -23 }, // 0x55 'U' + { 2655, 24, 24, 25, 0, -23 }, // 0x56 'V' + { 2727, 34, 25, 34, 0, -23 }, // 0x57 'W' + { 2834, 24, 24, 25, 1, -23 }, // 0x58 'X' + { 2906, 24, 24, 25, 1, -23 }, // 0x59 'Y' + { 2978, 21, 24, 23, 1, -23 }, // 0x5A 'Z' + { 3041, 8, 29, 12, 2, -23 }, // 0x5B '[' + { 3070, 11, 25, 10, -1, -23 }, // 0x5C '\' + { 3105, 8, 29, 12, 2, -23 }, // 0x5D ']' + { 3134, 15, 13, 20, 3, -23 }, // 0x5E '^' + { 3159, 18, 3, 17, 0, 3 }, // 0x5F '_' + { 3166, 8, 6, 12, 0, -23 }, // 0x60 '`' + { 3172, 16, 16, 18, 1, -15 }, // 0x61 'a' + { 3204, 18, 24, 19, 1, -23 }, // 0x62 'b' + { 3258, 14, 16, 15, 1, -15 }, // 0x63 'c' + { 3286, 18, 24, 19, 1, -23 }, // 0x64 'd' + { 3340, 14, 16, 16, 1, -15 }, // 0x65 'e' + { 3368, 11, 24, 14, 2, -23 }, // 0x66 'f' + { 3401, 17, 23, 17, 1, -15 }, // 0x67 'g' + { 3450, 17, 24, 19, 1, -23 }, // 0x68 'h' + { 3501, 7, 24, 10, 2, -23 }, // 0x69 'i' + { 3522, 11, 31, 14, 0, -23 }, // 0x6A 'j' + { 3565, 18, 24, 19, 1, -23 }, // 0x6B 'k' + { 3619, 7, 24, 10, 1, -23 }, // 0x6C 'l' + { 3640, 27, 16, 29, 1, -15 }, // 0x6D 'm' + { 3694, 17, 16, 19, 1, -15 }, // 0x6E 'n' + { 3728, 17, 16, 18, 1, -15 }, // 0x6F 'o' + { 3762, 19, 23, 19, 0, -15 }, // 0x70 'p' + { 3817, 17, 23, 19, 1, -15 }, // 0x71 'q' + { 3866, 13, 16, 15, 1, -15 }, // 0x72 'r' + { 3892, 12, 16, 14, 1, -15 }, // 0x73 's' + { 3916, 10, 21, 12, 1, -20 }, // 0x74 't' + { 3943, 18, 16, 20, 1, -15 }, // 0x75 'u' + { 3979, 17, 16, 17, 0, -15 }, // 0x76 'v' + { 4013, 24, 16, 25, 0, -15 }, // 0x77 'w' + { 4061, 16, 16, 18, 1, -15 }, // 0x78 'x' + { 4093, 16, 23, 17, 0, -15 }, // 0x79 'y' + { 4139, 14, 16, 16, 0, -15 }, // 0x7A 'z' + { 4167, 11, 31, 14, 1, -24 }, // 0x7B '{' + { 4210, 3, 25, 8, 2, -23 }, // 0x7C '|' + { 4220, 11, 31, 14, 3, -24 }, // 0x7D '}' + { 4263, 16, 5, 18, 1, -11 } }; // 0x7E '~' + +const GFXfont FreeSerifBold18pt7b PROGMEM = { + (uint8_t *)FreeSerifBold18pt7bBitmaps, + (GFXglyph *)FreeSerifBold18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 4945 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h new file mode 100644 index 0000000..0eb2d0b --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h @@ -0,0 +1,759 @@ +const uint8_t FreeSerifBold24pt7bBitmaps[] PROGMEM = { + 0x3C, 0x7E, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7E, 0x7C, 0x7C, + 0x3C, 0x3C, 0x38, 0x38, 0x38, 0x38, 0x18, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x70, 0x07, + 0x7C, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xC0, + 0x3E, 0xE0, 0x0E, 0x70, 0x07, 0x38, 0x03, 0x9C, 0x01, 0xC4, 0x00, 0xE2, + 0x00, 0x20, 0x00, 0xF0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x0F, + 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x00, 0x78, 0x3C, 0x00, 0xF0, + 0x78, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, + 0xF3, 0xFF, 0xFF, 0xE0, 0x78, 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xC0, 0xE0, + 0x03, 0x81, 0xC0, 0x0F, 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x0F, + 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0x03, 0x81, 0xC0, 0x0F, + 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x00, 0x78, 0x3C, 0x00, 0xF0, + 0x78, 0x01, 0xE0, 0xE0, 0x03, 0x81, 0xC0, 0x07, 0x07, 0x80, 0x1E, 0x0F, + 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, + 0x7F, 0xF0, 0x0F, 0x37, 0xE0, 0xE1, 0x8F, 0x8E, 0x0C, 0x3C, 0x70, 0x60, + 0xE7, 0x83, 0x03, 0x3C, 0x18, 0x19, 0xF0, 0xC0, 0x4F, 0xC6, 0x02, 0x7F, + 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xF0, + 0x03, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x3F, 0xF8, 0x01, + 0xFF, 0xC0, 0x0C, 0xFF, 0x00, 0x63, 0xFA, 0x03, 0x0F, 0xD0, 0x18, 0x3E, + 0x80, 0xC1, 0xF6, 0x06, 0x0F, 0xB8, 0x30, 0x79, 0xC1, 0x87, 0xCF, 0x0C, + 0x3C, 0x7E, 0x67, 0xC0, 0xFF, 0xF8, 0x00, 0xFE, 0x00, 0x00, 0xC0, 0x00, + 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x3E, 0x00, 0x0C, 0x00, 0x0F, 0xF0, 0x03, 0x80, 0x07, 0xE7, 0x03, + 0xE0, 0x01, 0xF8, 0x7F, 0xFC, 0x00, 0x3E, 0x07, 0xF7, 0x00, 0x0F, 0xC0, + 0x80, 0xE0, 0x03, 0xF0, 0x10, 0x38, 0x00, 0x7E, 0x02, 0x07, 0x00, 0x0F, + 0x80, 0x41, 0xC0, 0x03, 0xF0, 0x10, 0x30, 0x00, 0x7E, 0x02, 0x0E, 0x00, + 0x0F, 0x80, 0xC1, 0x80, 0x01, 0xF0, 0x10, 0x70, 0x00, 0x3E, 0x06, 0x1C, + 0x00, 0x07, 0xC1, 0x83, 0x80, 0x00, 0x7C, 0x60, 0xE0, 0x1F, 0x07, 0xF8, + 0x18, 0x0F, 0xF8, 0x7C, 0x07, 0x07, 0xF1, 0x00, 0x00, 0xC1, 0xF8, 0x10, + 0x00, 0x38, 0x3F, 0x02, 0x00, 0x06, 0x0F, 0xC0, 0x40, 0x01, 0xC3, 0xF0, + 0x08, 0x00, 0x30, 0x7E, 0x01, 0x00, 0x0E, 0x1F, 0x80, 0x40, 0x03, 0x83, + 0xF0, 0x08, 0x00, 0x60, 0x7E, 0x01, 0x00, 0x1C, 0x0F, 0x80, 0x40, 0x03, + 0x01, 0xF0, 0x18, 0x00, 0xE0, 0x3E, 0x02, 0x00, 0x18, 0x03, 0xC0, 0xC0, + 0x07, 0x00, 0x7C, 0x70, 0x00, 0xC0, 0x07, 0xFC, 0x00, 0x38, 0x00, 0x7E, + 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x07, 0x8F, + 0xE0, 0x00, 0x03, 0xC1, 0xF8, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x7C, + 0x07, 0xC0, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x07, 0xE0, 0x7C, 0x00, 0x01, + 0xF8, 0x1E, 0x00, 0x00, 0x7F, 0x07, 0x80, 0x00, 0x1F, 0xE3, 0x80, 0x00, + 0x03, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xE0, 0x3F, + 0xF0, 0x07, 0xFC, 0x01, 0xF0, 0x07, 0xFF, 0x00, 0x78, 0x07, 0xBF, 0xE0, + 0x1C, 0x03, 0x87, 0xFC, 0x07, 0x01, 0xE0, 0xFF, 0x81, 0x80, 0xF0, 0x3F, + 0xE0, 0xC0, 0x7C, 0x07, 0xFC, 0x30, 0x1F, 0x00, 0xFF, 0x98, 0x0F, 0xC0, + 0x3F, 0xFC, 0x03, 0xF0, 0x07, 0xFF, 0x00, 0xFE, 0x00, 0xFF, 0x80, 0x3F, + 0x80, 0x3F, 0xF0, 0x0F, 0xF0, 0x07, 0xFE, 0x03, 0xFC, 0x00, 0xFF, 0x81, + 0x7F, 0x80, 0x3F, 0xF8, 0xDF, 0xF0, 0x1F, 0xFF, 0xE3, 0xFF, 0x0E, 0xFF, + 0xF8, 0xFF, 0xFE, 0x1F, 0xFC, 0x0F, 0xFE, 0x03, 0xFE, 0x00, 0xFE, 0x00, + 0x3E, 0x00, 0x77, 0xFF, 0xFF, 0xFF, 0xEE, 0x73, 0x9C, 0xE2, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x60, 0x1C, 0x03, 0x80, 0x70, 0x06, 0x00, 0xE0, 0x1C, + 0x01, 0xC0, 0x3C, 0x03, 0xC0, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0xF8, + 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, + 0x0F, 0x80, 0x78, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xC0, 0x1C, + 0x00, 0xE0, 0x0E, 0x00, 0x70, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x03, 0x00, + 0x10, 0x00, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, + 0x70, 0x03, 0x80, 0x38, 0x03, 0xC0, 0x3C, 0x03, 0xE0, 0x1E, 0x01, 0xE0, + 0x1E, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xF0, + 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3C, 0x03, 0xC0, + 0x38, 0x03, 0x80, 0x70, 0x07, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x0C, + 0x00, 0x80, 0x00, 0x01, 0xC0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, + 0x03, 0xE0, 0x3C, 0x78, 0xEF, 0x9C, 0x7B, 0xF7, 0x3F, 0xFE, 0xDF, 0x8F, + 0xFF, 0xC0, 0x7F, 0x00, 0x3F, 0xC0, 0x7E, 0xBF, 0x3F, 0x77, 0xEF, 0x9C, + 0xFF, 0xC7, 0x1E, 0x63, 0xE3, 0x80, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, + 0x01, 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, + 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x3C, 0x7E, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x07, 0x06, 0x06, 0x0C, + 0x18, 0x30, 0x60, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3C, + 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x00, 0x1E, 0x00, 0x7C, 0x00, + 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, + 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x01, + 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x01, 0xE0, + 0x03, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x03, + 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x00, + 0x0F, 0x3C, 0x00, 0x78, 0x78, 0x03, 0xE1, 0xF0, 0x1F, 0x03, 0xE0, 0x7C, + 0x0F, 0x83, 0xF0, 0x3F, 0x0F, 0xC0, 0xFC, 0x7F, 0x03, 0xF9, 0xFC, 0x0F, + 0xE7, 0xF0, 0x3F, 0xBF, 0xC0, 0xFE, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, + 0xF0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, + 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x3F, + 0x9F, 0xC0, 0xFE, 0x7F, 0x03, 0xF9, 0xFC, 0x0F, 0xE3, 0xF0, 0x3F, 0x0F, + 0xC0, 0xFC, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x80, 0xF8, 0x7C, 0x01, 0xE1, + 0xE0, 0x03, 0xCF, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x18, 0x00, 0x1E, 0x00, + 0x1F, 0x80, 0x1F, 0xE0, 0x1F, 0xF8, 0x1D, 0xFE, 0x00, 0x3F, 0x80, 0x0F, + 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, + 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, + 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, + 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, + 0x00, 0xFE, 0x00, 0x7F, 0x80, 0x3F, 0xF8, 0xFF, 0xFF, 0xC0, 0x00, 0xFC, + 0x00, 0x1F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x1C, + 0x1F, 0xF1, 0xC0, 0x7F, 0x8C, 0x01, 0xFC, 0x40, 0x0F, 0xE0, 0x00, 0x3F, + 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, + 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, + 0x00, 0x70, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x38, + 0x01, 0x03, 0x80, 0x18, 0x38, 0x00, 0x81, 0x80, 0x1C, 0x1F, 0xFF, 0xE1, + 0xFF, 0xFF, 0x1F, 0xFF, 0xF9, 0xFF, 0xFF, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, + 0xE0, 0x00, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x30, 0xFF, 0xC2, + 0x01, 0xFE, 0x30, 0x0F, 0xF1, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, + 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, + 0x1F, 0xC0, 0x03, 0xFF, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xF0, 0x00, 0xFF, + 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0xFC, 0x00, + 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0x80, 0x00, 0x3C, + 0x00, 0x01, 0xC7, 0x80, 0x0E, 0x7F, 0x00, 0xE3, 0xFC, 0x06, 0x1F, 0xF8, + 0xE0, 0x7F, 0xFC, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x1E, + 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, + 0xFF, 0x00, 0x0D, 0xF8, 0x00, 0xEF, 0xC0, 0x06, 0x7E, 0x00, 0x63, 0xF0, + 0x07, 0x1F, 0x80, 0x30, 0xFC, 0x03, 0x07, 0xE0, 0x38, 0x3F, 0x03, 0x81, + 0xF8, 0x18, 0x0F, 0xC1, 0xC0, 0x7E, 0x1C, 0x03, 0xF0, 0xC0, 0x1F, 0x8E, + 0x00, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, + 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x07, 0xFF, + 0xF0, 0x7F, 0xFF, 0x0F, 0xFF, 0xE0, 0xFF, 0xFE, 0x0F, 0xFF, 0xE1, 0xFF, + 0xFC, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x3F, + 0x80, 0x03, 0xFF, 0x80, 0x7F, 0xFE, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0x87, + 0xFF, 0xFC, 0x7F, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x7E, + 0x00, 0x03, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, + 0xC0, 0x00, 0x0C, 0x78, 0x00, 0x8F, 0xE0, 0x18, 0xFF, 0x87, 0x0F, 0xFF, + 0xE0, 0x7F, 0xF8, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x38, 0x00, 0x1F, 0x00, + 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, + 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, + 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xFF, 0x01, 0xFF, 0xFE, 0x1F, 0xF1, 0xFC, + 0xFF, 0x07, 0xE7, 0xF8, 0x3F, 0xBF, 0xC1, 0xFD, 0xFE, 0x07, 0xFF, 0xF0, + 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0xFF, 0x03, 0xFB, + 0xF8, 0x1F, 0xDF, 0xC0, 0xFE, 0xFE, 0x07, 0xE3, 0xF0, 0x3F, 0x1F, 0xC1, + 0xF0, 0x7E, 0x0F, 0x01, 0xF0, 0xF8, 0x03, 0xC7, 0x00, 0x07, 0xE0, 0x00, + 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xE7, 0xFF, + 0xFF, 0x3F, 0xFF, 0xF9, 0x80, 0x07, 0x98, 0x00, 0x3C, 0xC0, 0x03, 0xE4, + 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, + 0xC0, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, + 0x07, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xF0, + 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x01, + 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, + 0x01, 0xFE, 0x00, 0x38, 0x7C, 0x07, 0x80, 0xF0, 0x78, 0x07, 0xC3, 0xC0, + 0x1F, 0x3E, 0x00, 0xF9, 0xF0, 0x07, 0xCF, 0xC0, 0x3E, 0x7E, 0x01, 0xF3, + 0xF8, 0x0F, 0x1F, 0xE0, 0xF8, 0x7F, 0xC7, 0x83, 0xFF, 0xF0, 0x0F, 0xFE, + 0x00, 0x7F, 0xFC, 0x01, 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x1F, 0xFF, 0x03, + 0xBF, 0xFC, 0x7C, 0x7F, 0xE7, 0xC1, 0xFF, 0x3E, 0x07, 0xFF, 0xE0, 0x1F, + 0xFF, 0x00, 0x7F, 0xF8, 0x03, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, + 0x03, 0xE7, 0x80, 0x1F, 0x3E, 0x01, 0xF0, 0xF8, 0x0F, 0x83, 0xE1, 0xF8, + 0x0F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x1C, 0x3C, 0x00, + 0xF0, 0x78, 0x07, 0x81, 0xF8, 0x3E, 0x07, 0xE1, 0xF8, 0x0F, 0xC7, 0xE0, + 0x3F, 0x3F, 0x80, 0xFE, 0xFE, 0x03, 0xFB, 0xF8, 0x0F, 0xFF, 0xE0, 0x3F, + 0xFF, 0x80, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x0F, 0xFF, 0xE0, 0x3F, 0xDF, + 0xC0, 0xFF, 0x7F, 0x03, 0xFC, 0xFC, 0x0F, 0xF3, 0xFC, 0x7F, 0x83, 0xFF, + 0xFE, 0x07, 0xF7, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xF8, + 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xC0, 0x00, + 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x3F, 0x00, + 0x03, 0x80, 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, + 0xFF, 0xFF, 0x7E, 0x3C, 0x3C, 0x3F, 0x3F, 0xDF, 0xEF, 0xF7, 0xF9, 0xF8, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7F, 0x7F, + 0xBF, 0xFF, 0xFF, 0xFB, 0xFC, 0xFE, 0x07, 0x03, 0x01, 0x81, 0x81, 0x81, + 0x83, 0x81, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x01, + 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, + 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, + 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, + 0xE0, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFF, 0x00, + 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, + 0xC0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, + 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, + 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x1F, + 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, + 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x0F, + 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x00, 0x07, 0xF0, 0x07, 0xFF, 0x03, 0x87, 0xE1, 0xC0, 0xFC, 0xF0, 0x3F, + 0xBE, 0x07, 0xEF, 0xC1, 0xFF, 0xF0, 0x7F, 0xFC, 0x1F, 0xDF, 0x07, 0xF7, + 0x81, 0xFC, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x07, 0xE0, 0x03, + 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x18, 0x00, 0x04, 0x00, 0x01, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x1F, 0x80, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0xFF, 0x00, 0x3F, + 0xC0, 0x07, 0xE0, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x1F, + 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x1E, 0x00, 0x3C, + 0x00, 0x03, 0x80, 0x3C, 0x00, 0x00, 0xE0, 0x3C, 0x00, 0x00, 0x30, 0x3E, + 0x00, 0x00, 0x0C, 0x3E, 0x00, 0x3C, 0x37, 0x1F, 0x00, 0x7E, 0xF1, 0x9F, + 0x00, 0x7C, 0xF8, 0xCF, 0x80, 0x78, 0x7C, 0x37, 0xC0, 0x7C, 0x3C, 0x1F, + 0xC0, 0x3C, 0x1E, 0x0F, 0xE0, 0x3C, 0x0F, 0x07, 0xF0, 0x3E, 0x0F, 0x03, + 0xF8, 0x1E, 0x07, 0x81, 0xFC, 0x0F, 0x03, 0xC0, 0xFE, 0x0F, 0x03, 0xE0, + 0x7F, 0x07, 0x81, 0xE0, 0x6F, 0x83, 0xC1, 0xF0, 0x37, 0xC1, 0xE1, 0x78, + 0x31, 0xF0, 0xF9, 0xBC, 0x18, 0xF8, 0x3F, 0x9E, 0x38, 0x3C, 0x0F, 0x0F, + 0xF8, 0x1F, 0x00, 0x01, 0xF0, 0x07, 0x80, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0xC0, 0x01, 0xF8, 0x03, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x03, + 0xFF, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, + 0x03, 0x80, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0x07, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, + 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, + 0x37, 0xF8, 0x00, 0x00, 0x33, 0xF8, 0x00, 0x00, 0x33, 0xFC, 0x00, 0x00, + 0x61, 0xFC, 0x00, 0x00, 0x61, 0xFE, 0x00, 0x00, 0xC1, 0xFE, 0x00, 0x00, + 0xC0, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x01, 0x80, 0x7F, 0x00, 0x01, + 0x80, 0x7F, 0x80, 0x03, 0x80, 0x7F, 0x80, 0x03, 0xFF, 0xFF, 0xC0, 0x03, + 0xFF, 0xFF, 0xC0, 0x07, 0x00, 0x3F, 0xC0, 0x06, 0x00, 0x1F, 0xE0, 0x0E, + 0x00, 0x1F, 0xE0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, 0x00, 0x0F, 0xF0, 0x1C, + 0x00, 0x0F, 0xF8, 0x1C, 0x00, 0x0F, 0xF8, 0x7E, 0x00, 0x0F, 0xFC, 0xFF, + 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xF8, + 0x7F, 0x00, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x01, 0xFE, + 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, + 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, + 0x00, 0xFF, 0x0F, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x0F, + 0xF0, 0xFF, 0x00, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, 0x01, + 0xFE, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, + 0xFF, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0x00, 0xFF, 0x0F, 0xF0, + 0x0F, 0xE0, 0xFF, 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x87, 0xF0, + 0x3F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x01, + 0xFF, 0xF0, 0x60, 0x0F, 0xC1, 0xF9, 0x80, 0xFC, 0x01, 0xFE, 0x07, 0xE0, + 0x01, 0xF8, 0x3F, 0x00, 0x03, 0xE1, 0xFC, 0x00, 0x07, 0x87, 0xE0, 0x00, + 0x1E, 0x3F, 0x80, 0x00, 0x38, 0xFE, 0x00, 0x00, 0x67, 0xF8, 0x00, 0x01, + 0x9F, 0xC0, 0x00, 0x02, 0x7F, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x0F, + 0xF0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFC, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x87, 0xF0, 0x00, 0x07, 0x0F, 0xE0, 0x00, 0x38, 0x1F, 0x80, 0x01, 0xC0, + 0x3F, 0x00, 0x1E, 0x00, 0x7F, 0x01, 0xE0, 0x00, 0x7F, 0xFF, 0x00, 0x00, + 0x3F, 0xE0, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x0F, + 0xF8, 0x7F, 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x07, 0xF0, 0x0F, 0xF0, 0x03, 0xF8, 0x0F, 0xF0, 0x03, 0xFC, 0x0F, + 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, + 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, + 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, + 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, + 0xF0, 0x00, 0xFE, 0x0F, 0xF0, 0x00, 0xFE, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, + 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x03, 0xF8, 0x0F, + 0xF0, 0x03, 0xF0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x0F, 0xC0, 0x0F, + 0xF8, 0x3F, 0x80, 0x1F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, + 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x1F, 0xE0, 0x1F, 0xC1, 0xFE, 0x00, + 0x3C, 0x1F, 0xE0, 0x01, 0xC1, 0xFE, 0x00, 0x0C, 0x1F, 0xE0, 0x00, 0xC1, + 0xFE, 0x00, 0x04, 0x1F, 0xE0, 0x20, 0x41, 0xFE, 0x02, 0x00, 0x1F, 0xE0, + 0x60, 0x01, 0xFE, 0x06, 0x00, 0x1F, 0xE0, 0xE0, 0x01, 0xFE, 0x1E, 0x00, + 0x1F, 0xFF, 0xE0, 0x01, 0xFF, 0xFE, 0x00, 0x1F, 0xE3, 0xE0, 0x01, 0xFE, + 0x0E, 0x00, 0x1F, 0xE0, 0x60, 0x01, 0xFE, 0x06, 0x00, 0x1F, 0xE0, 0x20, + 0x01, 0xFE, 0x02, 0x00, 0x1F, 0xE0, 0x00, 0x11, 0xFE, 0x00, 0x03, 0x1F, + 0xE0, 0x00, 0x71, 0xFE, 0x00, 0x07, 0x1F, 0xE0, 0x00, 0xE1, 0xFE, 0x00, + 0x1E, 0x1F, 0xE0, 0x03, 0xE3, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xC7, 0xFC, 0x07, + 0xE3, 0xFC, 0x00, 0xF1, 0xFE, 0x00, 0x38, 0xFF, 0x00, 0x0C, 0x7F, 0x80, + 0x06, 0x3F, 0xC0, 0x01, 0x1F, 0xE0, 0x20, 0x8F, 0xF0, 0x10, 0x07, 0xF8, + 0x18, 0x03, 0xFC, 0x0C, 0x01, 0xFE, 0x0E, 0x00, 0xFF, 0x1F, 0x00, 0x7F, + 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xE3, 0xE0, 0x0F, 0xF0, 0x70, 0x07, + 0xF8, 0x18, 0x03, 0xFC, 0x0C, 0x01, 0xFE, 0x02, 0x00, 0xFF, 0x01, 0x00, + 0x7F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, + 0x07, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x00, + 0x3F, 0xFE, 0x0C, 0x00, 0x3F, 0x07, 0xC6, 0x00, 0x7E, 0x00, 0xFF, 0x00, + 0x7E, 0x00, 0x1F, 0x80, 0x7E, 0x00, 0x07, 0xC0, 0x7F, 0x00, 0x01, 0xE0, + 0x3F, 0x00, 0x00, 0x70, 0x3F, 0x80, 0x00, 0x38, 0x1F, 0xC0, 0x00, 0x0C, + 0x1F, 0xE0, 0x00, 0x06, 0x0F, 0xE0, 0x00, 0x01, 0x07, 0xF0, 0x00, 0x00, + 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x03, 0xFF, 0xFF, 0xF8, 0x00, + 0x3F, 0xF1, 0xFC, 0x00, 0x0F, 0xF0, 0xFF, 0x00, 0x07, 0xF8, 0x7F, 0x80, + 0x03, 0xFC, 0x1F, 0xC0, 0x01, 0xFE, 0x0F, 0xE0, 0x00, 0xFF, 0x03, 0xF8, + 0x00, 0x7F, 0x80, 0xFC, 0x00, 0x3F, 0xC0, 0x3F, 0x00, 0x1F, 0xE0, 0x0F, + 0xC0, 0x0F, 0xF0, 0x03, 0xF8, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0xC0, 0x00, + 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x1F, 0xFF, 0x9F, 0xF8, 0x03, 0xFF, + 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, + 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0x7F, 0x80, 0x0F, 0xF0, 0x3F, 0xC0, 0x07, + 0xF8, 0x1F, 0xE0, 0x03, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, + 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, + 0x1F, 0xE0, 0x7F, 0x80, 0x0F, 0xF0, 0x3F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, + 0xFF, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, + 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0x7F, + 0x80, 0x0F, 0xF0, 0x3F, 0xC0, 0x07, 0xF8, 0x1F, 0xE0, 0x03, 0xFC, 0x0F, + 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, + 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0xFF, 0xC0, 0x1F, 0xF9, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFE, 0x7F, 0xE0, 0x7F, 0x80, 0xFF, 0x01, + 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, + 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, + 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, + 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, + 0x0F, 0xFC, 0x7F, 0xFF, 0x01, 0xFF, 0xFC, 0x00, 0xFF, 0xC0, 0x01, 0xFE, + 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, + 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, + 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, + 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, + 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, + 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x78, 0x1F, 0xE3, + 0xF0, 0x7F, 0x8F, 0xC1, 0xFC, 0x3F, 0x07, 0xF0, 0xFC, 0x1F, 0xC1, 0xE0, + 0xFE, 0x07, 0xC3, 0xF0, 0x0F, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0xFF, 0xFC, + 0x1F, 0xFF, 0x0F, 0xFC, 0x00, 0xFF, 0x01, 0xFE, 0x00, 0x1E, 0x00, 0x7F, + 0x80, 0x07, 0x00, 0x1F, 0xE0, 0x03, 0x80, 0x07, 0xF8, 0x01, 0xC0, 0x01, + 0xFE, 0x00, 0xE0, 0x00, 0x7F, 0x80, 0x70, 0x00, 0x1F, 0xE0, 0x38, 0x00, + 0x07, 0xF8, 0x1C, 0x00, 0x01, 0xFE, 0x0E, 0x00, 0x00, 0x7F, 0x87, 0x00, + 0x00, 0x1F, 0xE3, 0xC0, 0x00, 0x07, 0xF9, 0xF8, 0x00, 0x01, 0xFE, 0xFE, + 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x07, 0xFD, + 0xFF, 0x00, 0x01, 0xFE, 0x7F, 0xE0, 0x00, 0x7F, 0x8F, 0xF8, 0x00, 0x1F, + 0xE1, 0xFF, 0x00, 0x07, 0xF8, 0x3F, 0xE0, 0x01, 0xFE, 0x07, 0xFC, 0x00, + 0x7F, 0x81, 0xFF, 0x80, 0x1F, 0xE0, 0x3F, 0xE0, 0x07, 0xF8, 0x07, 0xFC, + 0x01, 0xFE, 0x00, 0xFF, 0x80, 0x7F, 0x80, 0x1F, 0xF0, 0x1F, 0xE0, 0x07, + 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x83, 0xFF, 0x00, 0x3F, 0xF3, 0xFF, 0xF0, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, + 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, + 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, + 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, + 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, + 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x01, 0x1F, 0xE0, 0x00, 0x31, 0xFE, + 0x00, 0x03, 0x1F, 0xE0, 0x00, 0x71, 0xFE, 0x00, 0x07, 0x1F, 0xE0, 0x00, + 0xE1, 0xFE, 0x00, 0x1E, 0x1F, 0xE0, 0x07, 0xE3, 0xFF, 0x01, 0xFE, 0xFF, + 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0x7F, 0xF0, 0x00, 0x01, 0xFF, 0xE1, + 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x1F, 0xE0, 0x00, 0x0F, 0xFC, 0x03, 0xFC, + 0x00, 0x01, 0xFF, 0x80, 0x7F, 0xC0, 0x00, 0x2F, 0xF0, 0x0B, 0xF8, 0x00, + 0x0D, 0xFE, 0x01, 0x7F, 0x80, 0x01, 0xBF, 0xC0, 0x27, 0xF0, 0x00, 0x67, + 0xF8, 0x04, 0xFF, 0x00, 0x0C, 0xFF, 0x00, 0x8F, 0xE0, 0x03, 0x1F, 0xE0, + 0x11, 0xFE, 0x00, 0x63, 0xFC, 0x02, 0x3F, 0xC0, 0x08, 0x7F, 0x80, 0x43, + 0xF8, 0x03, 0x0F, 0xF0, 0x08, 0x7F, 0x80, 0x61, 0xFE, 0x01, 0x07, 0xF0, + 0x18, 0x3F, 0xC0, 0x20, 0xFF, 0x03, 0x07, 0xF8, 0x04, 0x0F, 0xE0, 0xC0, + 0xFF, 0x00, 0x81, 0xFE, 0x18, 0x1F, 0xE0, 0x10, 0x3F, 0xC6, 0x03, 0xFC, + 0x02, 0x03, 0xF8, 0xC0, 0x7F, 0x80, 0x40, 0x7F, 0x98, 0x0F, 0xF0, 0x08, + 0x07, 0xF6, 0x01, 0xFE, 0x01, 0x00, 0xFF, 0xC0, 0x3F, 0xC0, 0x20, 0x0F, + 0xF0, 0x07, 0xF8, 0x04, 0x01, 0xFE, 0x00, 0xFF, 0x00, 0x80, 0x1F, 0x80, + 0x1F, 0xE0, 0x10, 0x03, 0xF0, 0x03, 0xFC, 0x02, 0x00, 0x7E, 0x00, 0x7F, + 0x80, 0x40, 0x07, 0x80, 0x0F, 0xF0, 0x0C, 0x00, 0xF0, 0x01, 0xFE, 0x07, + 0xC0, 0x0C, 0x00, 0x7F, 0xE7, 0xFF, 0x01, 0x80, 0x3F, 0xFF, 0xFF, 0xC0, + 0x03, 0xFE, 0xFF, 0xC0, 0x01, 0xF0, 0xFF, 0xC0, 0x01, 0xC0, 0xFF, 0xC0, + 0x01, 0x80, 0xFF, 0x80, 0x03, 0x01, 0xFF, 0x80, 0x06, 0x03, 0xFF, 0x80, + 0x0C, 0x07, 0xFF, 0x80, 0x18, 0x0D, 0xFF, 0x80, 0x30, 0x19, 0xFF, 0x00, + 0x60, 0x31, 0xFF, 0x00, 0xC0, 0x61, 0xFF, 0x01, 0x80, 0xC1, 0xFF, 0x03, + 0x01, 0x83, 0xFF, 0x06, 0x03, 0x03, 0xFE, 0x0C, 0x06, 0x03, 0xFE, 0x18, + 0x0C, 0x03, 0xFE, 0x30, 0x18, 0x03, 0xFE, 0x60, 0x30, 0x03, 0xFE, 0xC0, + 0x60, 0x07, 0xFD, 0x80, 0xC0, 0x07, 0xFF, 0x01, 0x80, 0x07, 0xFE, 0x03, + 0x00, 0x07, 0xFC, 0x06, 0x00, 0x07, 0xF8, 0x0C, 0x00, 0x07, 0xF0, 0x18, + 0x00, 0x0F, 0xE0, 0x30, 0x00, 0x0F, 0xC0, 0x60, 0x00, 0x0F, 0x80, 0xC0, + 0x00, 0x0F, 0x01, 0xC0, 0x00, 0x0E, 0x0F, 0xC0, 0x00, 0x1C, 0x7F, 0xE0, + 0x00, 0x18, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x3F, + 0x07, 0xF0, 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x7E, + 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, 0x3F, 0x00, 0x03, 0xF8, 0x3F, + 0x80, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, 0x3F, 0xCF, + 0xE0, 0x00, 0x0F, 0xEF, 0xF0, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x03, 0xFF, + 0xFC, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x7F, + 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x0F, + 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x03, 0xFD, 0xFC, 0x00, 0x01, + 0xFC, 0xFE, 0x00, 0x01, 0xFE, 0x7F, 0x80, 0x00, 0xFF, 0x1F, 0xC0, 0x00, + 0x7F, 0x0F, 0xE0, 0x00, 0x3F, 0x83, 0xF8, 0x00, 0x3F, 0x80, 0xFC, 0x00, + 0x1F, 0x80, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x03, 0xF8, + 0x3F, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, + 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x01, 0xFE, 0x1F, 0xE0, 0x7F, 0x81, 0xFC, + 0x1F, 0xE0, 0x7F, 0x87, 0xF8, 0x0F, 0xE1, 0xFE, 0x03, 0xFC, 0x7F, 0x80, + 0xFF, 0x1F, 0xE0, 0x3F, 0xC7, 0xF8, 0x0F, 0xF1, 0xFE, 0x03, 0xFC, 0x7F, + 0x80, 0xFF, 0x1F, 0xE0, 0x3F, 0x87, 0xF8, 0x1F, 0xE1, 0xFE, 0x07, 0xF0, + 0x7F, 0x87, 0xF8, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xF8, 0x01, 0xFE, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x01, + 0xFE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, + 0x03, 0xFF, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, + 0x3F, 0xFF, 0x80, 0x00, 0x3F, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0xFC, 0x00, + 0x7E, 0x00, 0x3F, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, + 0x3F, 0x00, 0x03, 0xF8, 0x3F, 0x80, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, + 0x1F, 0xE0, 0x00, 0x3F, 0xCF, 0xE0, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, + 0xF7, 0xF8, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xC0, 0x00, + 0x1F, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x00, + 0x03, 0xFD, 0xFC, 0x00, 0x01, 0xFC, 0xFE, 0x00, 0x01, 0xFE, 0x7F, 0x80, + 0x00, 0xFF, 0x1F, 0xC0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x3F, 0x83, 0xF8, + 0x00, 0x3F, 0x80, 0xFC, 0x00, 0x1F, 0x80, 0x3F, 0x00, 0x1F, 0x80, 0x0F, + 0xC0, 0x1F, 0x80, 0x03, 0xF0, 0x1F, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, + 0x0F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, + 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x07, 0xFF, 0x80, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, + 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xC3, 0xFC, 0x00, 0xFF, 0x01, 0xFC, + 0x01, 0xFE, 0x03, 0xFC, 0x03, 0xFC, 0x03, 0xF8, 0x07, 0xF8, 0x07, 0xF8, + 0x0F, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x1F, 0xE0, 0x3F, 0xC0, 0x3F, 0xC0, + 0x7F, 0x80, 0x7F, 0x80, 0xFF, 0x00, 0xFF, 0x01, 0xFE, 0x01, 0xFC, 0x03, + 0xFC, 0x07, 0xF8, 0x07, 0xF8, 0x1F, 0xE0, 0x0F, 0xF0, 0xFF, 0x00, 0x1F, + 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0x9F, 0xE0, 0x00, 0xFF, + 0x3F, 0xC0, 0x01, 0xFE, 0x3F, 0xC0, 0x03, 0xFC, 0x7F, 0xC0, 0x07, 0xF8, + 0x7F, 0xC0, 0x0F, 0xF0, 0x7F, 0x80, 0x1F, 0xE0, 0xFF, 0x80, 0x3F, 0xC0, + 0xFF, 0x80, 0x7F, 0x80, 0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x01, 0xFE, 0x01, + 0xFF, 0x03, 0xFC, 0x01, 0xFF, 0x0F, 0xFC, 0x03, 0xFE, 0x7F, 0xFE, 0x03, + 0xFF, 0x03, 0xF8, 0x10, 0x7F, 0xF9, 0x87, 0xC1, 0xFC, 0x78, 0x03, 0xE7, + 0x80, 0x0F, 0x3C, 0x00, 0x3B, 0xE0, 0x01, 0xDF, 0x00, 0x06, 0xF8, 0x00, + 0x37, 0xE0, 0x00, 0xBF, 0x80, 0x01, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x3F, + 0xFC, 0x01, 0xFF, 0xF8, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, + 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x07, 0xFC, 0x00, + 0x1F, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, + 0xC0, 0x01, 0xEE, 0x00, 0x0F, 0x78, 0x00, 0xF3, 0xE0, 0x0F, 0x9F, 0xC0, + 0xF8, 0x8F, 0xFF, 0x04, 0x0F, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x3F, 0xC3, 0xFF, 0x03, 0xFC, 0x0F, 0xE0, 0x3F, 0xC0, + 0x7C, 0x03, 0xFC, 0x03, 0xC0, 0x3F, 0xC0, 0x38, 0x03, 0xFC, 0x01, 0x80, + 0x3F, 0xC0, 0x10, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, + 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, + 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0xFF, + 0xFE, 0x07, 0xFC, 0xFF, 0xC0, 0x07, 0xC1, 0xFE, 0x00, 0x0E, 0x07, 0xF8, + 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, + 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, + 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, + 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, + 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, + 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, + 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x03, + 0x00, 0xFF, 0x00, 0x0C, 0x03, 0xFC, 0x00, 0x30, 0x07, 0xF0, 0x01, 0x80, + 0x0F, 0xE0, 0x0E, 0x00, 0x1F, 0xE0, 0xF0, 0x00, 0x1F, 0xFF, 0x00, 0x00, + 0x1F, 0xF0, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0x9F, 0xFC, 0x00, 0x1F, 0x07, + 0xFC, 0x00, 0x07, 0x01, 0xFE, 0x00, 0x03, 0x00, 0x7F, 0x80, 0x03, 0x80, + 0x3F, 0xC0, 0x01, 0x80, 0x1F, 0xE0, 0x00, 0xC0, 0x07, 0xF8, 0x00, 0xC0, + 0x03, 0xFC, 0x00, 0x60, 0x00, 0xFF, 0x00, 0x30, 0x00, 0x7F, 0x80, 0x30, + 0x00, 0x1F, 0xE0, 0x18, 0x00, 0x0F, 0xF0, 0x18, 0x00, 0x07, 0xF8, 0x0C, + 0x00, 0x01, 0xFE, 0x06, 0x00, 0x00, 0xFF, 0x06, 0x00, 0x00, 0x3F, 0xC3, + 0x00, 0x00, 0x1F, 0xE3, 0x80, 0x00, 0x0F, 0xF1, 0x80, 0x00, 0x03, 0xFC, + 0xC0, 0x00, 0x01, 0xFE, 0xC0, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x3F, + 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, + 0xF8, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x80, 0x00, 0xFF, 0xF8, 0x7F, 0xFF, 0x0F, 0xFB, 0xFF, 0x00, 0xFF, + 0xC0, 0x1F, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x70, 0x3F, 0x80, 0x0F, 0xE0, + 0x03, 0x81, 0xFE, 0x00, 0x7F, 0x80, 0x1C, 0x0F, 0xF0, 0x03, 0xFC, 0x00, + 0xC0, 0x3F, 0x80, 0x0F, 0xE0, 0x06, 0x01, 0xFE, 0x00, 0x7F, 0x00, 0x70, + 0x0F, 0xF0, 0x07, 0xFC, 0x03, 0x00, 0x3F, 0x80, 0x3F, 0xE0, 0x18, 0x01, + 0xFE, 0x01, 0xFF, 0x01, 0xC0, 0x0F, 0xF0, 0x1B, 0xFC, 0x0C, 0x00, 0x3F, + 0x80, 0xCF, 0xE0, 0x60, 0x01, 0xFE, 0x06, 0x7F, 0x07, 0x00, 0x0F, 0xF0, + 0x63, 0xFC, 0x30, 0x00, 0x3F, 0x83, 0x0F, 0xE1, 0x80, 0x01, 0xFE, 0x30, + 0x7F, 0x1C, 0x00, 0x07, 0xF1, 0x81, 0xFC, 0xC0, 0x00, 0x3F, 0x8C, 0x0F, + 0xE6, 0x00, 0x01, 0xFE, 0xC0, 0x7F, 0x70, 0x00, 0x07, 0xF6, 0x01, 0xFB, + 0x00, 0x00, 0x3F, 0xE0, 0x0F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x7F, 0xC0, + 0x00, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, + 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x00, + 0x3E, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x07, + 0x00, 0x01, 0xC0, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, + 0x00, 0x70, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x0F, + 0xFF, 0x3F, 0xF8, 0x01, 0xF8, 0x1F, 0xF8, 0x01, 0xE0, 0x0F, 0xF8, 0x01, + 0xC0, 0x0F, 0xF8, 0x01, 0x80, 0x07, 0xFC, 0x03, 0x80, 0x03, 0xFE, 0x07, + 0x00, 0x03, 0xFE, 0x06, 0x00, 0x01, 0xFF, 0x0C, 0x00, 0x00, 0xFF, 0x9C, + 0x00, 0x00, 0xFF, 0x98, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x3F, 0xF0, + 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x0F, 0xFC, + 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x19, 0xFE, 0x00, 0x00, 0x31, 0xFF, + 0x00, 0x00, 0x70, 0xFF, 0x80, 0x00, 0x60, 0x7F, 0x80, 0x00, 0xC0, 0x7F, + 0xC0, 0x01, 0xC0, 0x3F, 0xE0, 0x03, 0x80, 0x1F, 0xE0, 0x07, 0x00, 0x1F, + 0xF0, 0x07, 0x00, 0x0F, 0xF8, 0x0F, 0x00, 0x0F, 0xF8, 0x3F, 0x80, 0x1F, + 0xFC, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0xF0, 0x00, + 0x7E, 0x1F, 0xF0, 0x00, 0x38, 0x1F, 0xF0, 0x00, 0x38, 0x0F, 0xF0, 0x00, + 0x70, 0x0F, 0xF8, 0x00, 0x60, 0x07, 0xF8, 0x00, 0x60, 0x07, 0xFC, 0x00, + 0xC0, 0x03, 0xFC, 0x01, 0xC0, 0x01, 0xFE, 0x01, 0x80, 0x01, 0xFE, 0x03, + 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x86, 0x00, 0x00, 0x7F, 0x8E, + 0x00, 0x00, 0x7F, 0xCC, 0x00, 0x00, 0x3F, 0xD8, 0x00, 0x00, 0x3F, 0xF8, + 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xFE, + 0x00, 0x3F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x7F, 0xC3, + 0xE0, 0x07, 0xF8, 0x38, 0x00, 0xFF, 0x83, 0x80, 0x0F, 0xF0, 0x30, 0x01, + 0xFE, 0x07, 0x00, 0x3F, 0xE0, 0x60, 0x03, 0xFC, 0x06, 0x00, 0x7F, 0xC0, + 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, + 0xFE, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x7F, 0x80, + 0x00, 0x0F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, + 0xFE, 0x00, 0x00, 0x3F, 0xC0, 0x01, 0x07, 0xFC, 0x00, 0x30, 0xFF, 0x80, + 0x03, 0x0F, 0xF0, 0x00, 0x31, 0xFF, 0x00, 0x07, 0x1F, 0xE0, 0x00, 0xF3, + 0xFE, 0x00, 0x1E, 0x7F, 0xC0, 0x03, 0xE7, 0xF8, 0x01, 0xFE, 0xFF, 0xFF, + 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xF0, 0x7C, 0x0F, 0x81, + 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, + 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, + 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, + 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xFF, 0xFF, 0xF8, 0xF0, + 0x01, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x0F, 0x00, + 0x1F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, + 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1F, + 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, + 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, + 0x1E, 0xFF, 0xFF, 0xFC, 0x1F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, + 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, + 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, + 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, + 0x0F, 0x81, 0xF0, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x78, 0x00, 0x07, 0xC0, + 0x00, 0x3F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xE0, 0x01, 0xEF, 0x00, 0x0F, + 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x87, 0x80, 0x78, 0x3C, 0x03, 0xC0, 0xF0, + 0x3C, 0x07, 0x81, 0xE0, 0x1E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0xCF, 0x00, + 0x1E, 0x78, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x70, 0x1F, 0x03, 0xF0, 0x7E, 0x03, 0xE0, 0x3E, 0x01, 0xE0, 0x1E, + 0x00, 0xE0, 0x03, 0xFC, 0x00, 0x3F, 0xFC, 0x03, 0xE1, 0xF8, 0x0F, 0x03, + 0xF0, 0x7C, 0x07, 0xC1, 0xF8, 0x1F, 0x87, 0xE0, 0x7E, 0x1F, 0x81, 0xF8, + 0x3C, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x01, 0xFE, 0x00, 0x3F, 0xF8, 0x03, + 0xE7, 0xE0, 0x3E, 0x1F, 0x83, 0xF0, 0x7E, 0x1F, 0x81, 0xF8, 0x7E, 0x07, + 0xE3, 0xF8, 0x1F, 0x8F, 0xE0, 0x7E, 0x3F, 0x83, 0xF8, 0xFF, 0x1F, 0xE1, + 0xFF, 0xDF, 0xF7, 0xFE, 0x3F, 0x07, 0xE0, 0xF8, 0xFF, 0x80, 0x00, 0x1F, + 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, + 0x0F, 0xC7, 0xF0, 0x07, 0xEF, 0xFE, 0x03, 0xFC, 0x3F, 0x81, 0xFC, 0x0F, + 0xE0, 0xFC, 0x03, 0xF0, 0x7E, 0x01, 0xFC, 0x3F, 0x00, 0xFE, 0x1F, 0x80, + 0x3F, 0x8F, 0xC0, 0x1F, 0xC7, 0xE0, 0x0F, 0xE3, 0xF0, 0x07, 0xF1, 0xF8, + 0x03, 0xF8, 0xFC, 0x01, 0xFC, 0x7E, 0x00, 0xFE, 0x3F, 0x00, 0x7F, 0x1F, + 0x80, 0x3F, 0x0F, 0xC0, 0x1F, 0x87, 0xE0, 0x1F, 0xC3, 0xF0, 0x0F, 0xC1, + 0xF8, 0x07, 0xE0, 0xFE, 0x07, 0xE0, 0x73, 0x87, 0xE0, 0x30, 0xFF, 0xC0, + 0x10, 0x1F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x7F, 0xE0, 0x3E, 0x3E, 0x0F, + 0x83, 0xE3, 0xE0, 0x7C, 0x7C, 0x0F, 0x9F, 0x01, 0xF3, 0xE0, 0x1C, 0x7C, + 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, + 0x00, 0x3F, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x01, 0xFC, + 0x00, 0x1F, 0xC0, 0x21, 0xFE, 0x0C, 0x3F, 0xFF, 0x01, 0xFF, 0x80, 0x0F, + 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, + 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, + 0xF8, 0x00, 0x01, 0xF8, 0x03, 0xF1, 0xF8, 0x07, 0xFD, 0xF8, 0x1F, 0xC7, + 0xF8, 0x1F, 0x83, 0xF8, 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7E, 0x01, + 0xF8, 0x7E, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, + 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, + 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x7F, 0x01, + 0xF8, 0x3F, 0x03, 0xF8, 0x3F, 0x03, 0xF8, 0x1F, 0x87, 0xFC, 0x0F, 0xFD, + 0xFF, 0x03, 0xF1, 0xC0, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xE1, 0xE0, 0xF8, + 0x7C, 0x3C, 0x0F, 0x1F, 0x03, 0xE7, 0xC0, 0xFB, 0xF0, 0x3E, 0xFC, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, + 0xC0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x1F, 0x80, 0x07, 0xF0, 0x0C, 0xFC, + 0x06, 0x3F, 0xC3, 0x07, 0xFF, 0x80, 0xFF, 0xC0, 0x0F, 0xC0, 0x00, 0xFC, + 0x01, 0xFF, 0x81, 0xF1, 0xC1, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, + 0x1C, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x1F, 0xFF, 0x0F, + 0xFF, 0x80, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, + 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, + 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, + 0xFC, 0x00, 0x7E, 0x00, 0x7F, 0x80, 0xFF, 0xF8, 0x00, 0x07, 0xF0, 0x03, + 0xFF, 0xFC, 0xF8, 0x7F, 0xBE, 0x07, 0x87, 0xC0, 0xF9, 0xF8, 0x1F, 0xBF, + 0x03, 0xF7, 0xE0, 0x7E, 0xFC, 0x0F, 0xDF, 0x81, 0xF9, 0xF0, 0x3F, 0x3E, + 0x07, 0xC3, 0xE1, 0xF8, 0x3C, 0x7E, 0x01, 0xFF, 0x00, 0x60, 0x00, 0x38, + 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, 0x7F, 0xFF, 0x0F, 0xFF, 0xF9, 0xFF, + 0xFF, 0x9F, 0xFF, 0xF9, 0xFF, 0xFF, 0x0F, 0xFF, 0xEF, 0x00, 0x3F, 0xC0, + 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x1C, 0xF8, 0x07, 0x0F, 0xFF, 0xC0, 0x7F, + 0xC0, 0xFF, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, + 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, + 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x87, 0xE0, 0x1F, 0x9F, 0xF0, 0x1F, 0xBF, + 0xF8, 0x1F, 0xF1, 0xF8, 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, + 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, + 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, + 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, + 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x3F, 0xC1, 0xFE, 0xFF, 0xE3, + 0xFF, 0x0F, 0x07, 0xE1, 0xFE, 0x3F, 0xC7, 0xF8, 0x7F, 0x03, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC3, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, + 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, + 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE1, 0xFE, 0xFF, 0xE0, 0x00, + 0x70, 0x07, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x07, 0xF0, 0x0F, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFC, 0x03, 0xF0, + 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, + 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, + 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, + 0xDC, 0x3F, 0xF8, 0xFB, 0xE3, 0xEF, 0x0F, 0xBC, 0x7C, 0x7F, 0xE0, 0x7E, + 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, + 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, + 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE1, 0xFF, 0x83, + 0xF0, 0x3F, 0x01, 0xF8, 0x0E, 0x00, 0xFC, 0x06, 0x00, 0x7E, 0x06, 0x00, + 0x3F, 0x06, 0x00, 0x1F, 0x86, 0x00, 0x0F, 0xC7, 0x00, 0x07, 0xE7, 0x80, + 0x03, 0xF7, 0xE0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7E, 0x7F, + 0x00, 0x3F, 0x1F, 0xC0, 0x1F, 0x8F, 0xE0, 0x0F, 0xC3, 0xF8, 0x07, 0xE0, + 0xFE, 0x03, 0xF0, 0x7F, 0x81, 0xF8, 0x1F, 0xC0, 0xFC, 0x0F, 0xF0, 0xFF, + 0x07, 0xFD, 0xFF, 0xC7, 0xFF, 0xFF, 0x87, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, + 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, + 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, + 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x0F, 0xF7, + 0xFF, 0x00, 0x07, 0xE0, 0x3F, 0x07, 0xFC, 0xFF, 0x87, 0xFC, 0x0F, 0xEF, + 0xFE, 0x7F, 0xF0, 0x3F, 0xC3, 0xFF, 0x1F, 0x81, 0xFC, 0x0F, 0xE0, 0x7E, + 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x03, 0xF0, 0x1F, 0x83, 0xF0, 0x1F, + 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0xFC, 0x07, 0xE0, 0x3F, 0x07, + 0xE0, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x0F, 0xC1, 0xF8, 0x0F, 0xC0, + 0x7E, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x03, 0xF0, 0x1F, 0x83, 0xF0, + 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0xFC, 0x07, 0xE0, 0x3F, + 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x0F, 0xC1, 0xF8, 0x0F, + 0xC0, 0x7E, 0x1F, 0xE0, 0xFF, 0x07, 0xFB, 0xFF, 0x8F, 0xFC, 0x7F, 0xE0, + 0x00, 0x07, 0xE0, 0xFF, 0x9F, 0xF0, 0x3F, 0xBF, 0xF8, 0x1F, 0xF1, 0xF8, + 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, + 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, + 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, + 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, + 0x1F, 0x80, 0xFC, 0x3F, 0xC1, 0xFE, 0xFF, 0xE3, 0xFF, 0x01, 0xFC, 0x00, + 0x3F, 0xF8, 0x03, 0xE3, 0xE0, 0x3E, 0x0F, 0x83, 0xF0, 0x7E, 0x1F, 0x01, + 0xF1, 0xF8, 0x0F, 0xCF, 0xC0, 0x7E, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, + 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, + 0xFF, 0xC0, 0x7F, 0x7E, 0x03, 0xF3, 0xF0, 0x1F, 0x8F, 0x80, 0xF8, 0x7E, + 0x0F, 0xC1, 0xF0, 0x7C, 0x07, 0xC7, 0xC0, 0x1F, 0xFC, 0x00, 0x3F, 0x80, + 0x00, 0x0F, 0xC0, 0xFF, 0xBF, 0xF0, 0x3F, 0xF1, 0xF8, 0x1F, 0xC0, 0xFC, + 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFE, 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0x7F, + 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, + 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, + 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0xFE, 0x1F, 0x80, 0xFC, + 0x1F, 0xC1, 0xF8, 0x1F, 0xE3, 0xF8, 0x1F, 0xBF, 0xE0, 0x1F, 0x8F, 0xC0, + 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, + 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xF8, 0x00, + 0x00, 0xF8, 0x08, 0x07, 0xFE, 0x18, 0x0F, 0xC7, 0x38, 0x1F, 0x83, 0xF8, + 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7E, 0x01, 0xF8, + 0x7E, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, + 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, + 0xFE, 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, + 0x3F, 0x83, 0xF8, 0x1F, 0xC7, 0xF8, 0x0F, 0xFD, 0xF8, 0x03, 0xF1, 0xF8, + 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, + 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xFF, + 0x00, 0x07, 0x9F, 0xF3, 0xF8, 0xFE, 0xFF, 0x8F, 0xFF, 0xF1, 0xFE, 0x7E, + 0x3F, 0x87, 0x87, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, + 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, + 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, + 0xF8, 0x00, 0x7F, 0x80, 0x3F, 0xFC, 0x00, 0x0F, 0x84, 0x3F, 0xF8, 0xE1, + 0xF3, 0x80, 0xEF, 0x00, 0xDE, 0x01, 0xBE, 0x01, 0x7E, 0x00, 0xFF, 0x01, + 0xFF, 0x81, 0xFF, 0xC3, 0xFF, 0xC3, 0xFF, 0xC1, 0xFF, 0x80, 0xFF, 0x80, + 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x00, 0x7E, 0x00, 0xFE, 0x01, 0xDF, 0x0F, + 0x37, 0xFC, 0x43, 0xF0, 0x01, 0x00, 0x0C, 0x00, 0x70, 0x01, 0xC0, 0x0F, + 0x00, 0x7C, 0x03, 0xF0, 0x1F, 0xC0, 0xFF, 0xF3, 0xFF, 0xC3, 0xF0, 0x0F, + 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, + 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, + 0xFC, 0x23, 0xF0, 0x8F, 0xE6, 0x1F, 0xF0, 0x7F, 0x80, 0xF8, 0x00, 0xFF, + 0x87, 0xFC, 0x1F, 0xC0, 0xFE, 0x07, 0xE0, 0x3F, 0x03, 0xF0, 0x1F, 0x81, + 0xF8, 0x0F, 0xC0, 0xFC, 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x01, 0xF8, + 0x1F, 0x80, 0xFC, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, 0xF0, 0x1F, + 0x81, 0xF8, 0x0F, 0xC0, 0xFC, 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x01, + 0xF8, 0x1F, 0x80, 0xFC, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x7F, 0x03, 0xF8, + 0x7F, 0xC0, 0xFF, 0xEF, 0xF8, 0x3F, 0xE7, 0xC0, 0x0F, 0xC2, 0x00, 0xFF, + 0xF1, 0xFC, 0xFF, 0x01, 0xE3, 0xFC, 0x03, 0x07, 0xF0, 0x0C, 0x1F, 0xC0, + 0x60, 0x3F, 0x81, 0x80, 0xFE, 0x04, 0x01, 0xF8, 0x30, 0x07, 0xF0, 0xC0, + 0x1F, 0xC6, 0x00, 0x3F, 0x98, 0x00, 0xFE, 0x40, 0x01, 0xFB, 0x00, 0x07, + 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, 0x01, 0xF0, + 0x00, 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, + 0x01, 0x00, 0x00, 0xFF, 0xE7, 0xFF, 0x3F, 0xBF, 0xE0, 0xFE, 0x07, 0x0F, + 0xE0, 0x7F, 0x03, 0x83, 0xF0, 0x1F, 0x81, 0x81, 0xFC, 0x0F, 0xC0, 0xC0, + 0xFE, 0x07, 0xF0, 0x40, 0x3F, 0x03, 0xF8, 0x60, 0x1F, 0xC3, 0xFC, 0x30, + 0x07, 0xE1, 0xFE, 0x10, 0x03, 0xF0, 0x9F, 0x98, 0x01, 0xFC, 0xCF, 0xCC, + 0x00, 0x7E, 0x67, 0xEC, 0x00, 0x3F, 0xE1, 0xFE, 0x00, 0x1F, 0xF0, 0xFE, + 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x03, 0xF8, 0x3F, 0x80, 0x00, 0xFC, 0x0F, + 0x80, 0x00, 0x7C, 0x07, 0xC0, 0x00, 0x3E, 0x03, 0xE0, 0x00, 0x0F, 0x00, + 0xE0, 0x00, 0x07, 0x00, 0x70, 0x00, 0x03, 0x80, 0x38, 0x00, 0x00, 0x80, + 0x08, 0x00, 0xFF, 0xF3, 0xFD, 0xFF, 0x03, 0xC3, 0xFC, 0x0E, 0x07, 0xF0, + 0x30, 0x1F, 0xE1, 0x80, 0x3F, 0x8C, 0x00, 0x7F, 0x70, 0x01, 0xFF, 0x80, + 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0x80, 0x00, + 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1B, 0xF8, 0x00, 0xCF, 0xF0, 0x06, 0x1F, + 0xC0, 0x38, 0x3F, 0x80, 0xC0, 0xFF, 0x07, 0x01, 0xFC, 0x3C, 0x07, 0xFB, + 0xFC, 0x7F, 0xF0, 0xFF, 0xE3, 0xFB, 0xFC, 0x07, 0x8F, 0xE0, 0x18, 0x7F, + 0x01, 0x81, 0xF8, 0x0C, 0x0F, 0xE0, 0x60, 0x7F, 0x06, 0x01, 0xF8, 0x30, + 0x0F, 0xE1, 0x80, 0x7F, 0x18, 0x01, 0xF8, 0xC0, 0x0F, 0xE6, 0x00, 0x3F, + 0x60, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, + 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x03, 0x82, 0x00, 0x3E, + 0x30, 0x01, 0xF1, 0x00, 0x0F, 0x98, 0x00, 0x3F, 0x80, 0x00, 0xF0, 0x00, + 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFD, 0xE0, 0x7F, 0x30, 0x1F, 0xC6, 0x07, + 0xF8, 0x80, 0xFE, 0x00, 0x3F, 0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x3F, + 0x80, 0x0F, 0xE0, 0x03, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xE0, 0x03, 0xF8, + 0x00, 0xFE, 0x03, 0x3F, 0xC0, 0x67, 0xF0, 0x19, 0xFE, 0x07, 0x3F, 0x83, + 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x00, 0x7C, 0x07, 0xE0, 0x3E, 0x00, + 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, + 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, + 0x1F, 0x00, 0xF8, 0x03, 0xC0, 0x3C, 0x01, 0xF0, 0x00, 0xF0, 0x03, 0xE0, + 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, + 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, + 0x00, 0x3E, 0x00, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x3E, 0x00, + 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, + 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0x7C, 0x00, 0xF0, + 0x00, 0xF0, 0x03, 0xE0, 0x3C, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, + 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, + 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x07, 0xC0, 0x7E, + 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0xC0, 0x47, 0xFF, 0xC3, 0x9F, + 0xFF, 0xFF, 0x70, 0x7F, 0xF8, 0x80, 0x7F, 0xC0, 0x00, 0x3E, 0x00 }; + +const GFXglyph FreeSerifBold24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' + { 0, 8, 34, 16, 4, -32 }, // 0x21 '!' + { 34, 17, 13, 26, 4, -32 }, // 0x22 '"' + { 62, 23, 33, 23, 0, -32 }, // 0x23 '#' + { 157, 21, 39, 24, 1, -34 }, // 0x24 '$' + { 260, 35, 34, 47, 6, -32 }, // 0x25 '%' + { 409, 34, 34, 39, 3, -32 }, // 0x26 '&' + { 554, 5, 13, 13, 4, -32 }, // 0x27 ''' + { 563, 12, 41, 16, 2, -32 }, // 0x28 '(' + { 625, 12, 41, 16, 1, -32 }, // 0x29 ')' + { 687, 18, 21, 24, 3, -32 }, // 0x2A '*' + { 735, 26, 25, 32, 3, -24 }, // 0x2B '+' + { 817, 8, 15, 12, 2, -6 }, // 0x2C ',' + { 832, 11, 5, 16, 2, -12 }, // 0x2D '-' + { 839, 8, 8, 12, 2, -6 }, // 0x2E '.' + { 847, 15, 33, 13, -1, -32 }, // 0x2F '/' + { 909, 22, 34, 23, 1, -32 }, // 0x30 '0' + { 1003, 18, 33, 23, 3, -32 }, // 0x31 '1' + { 1078, 21, 33, 24, 1, -32 }, // 0x32 '2' + { 1165, 21, 34, 24, 1, -32 }, // 0x33 '3' + { 1255, 21, 33, 24, 1, -32 }, // 0x34 '4' + { 1342, 20, 32, 23, 2, -31 }, // 0x35 '5' + { 1422, 21, 34, 24, 1, -32 }, // 0x36 '6' + { 1512, 21, 32, 23, 1, -31 }, // 0x37 '7' + { 1596, 21, 34, 23, 1, -32 }, // 0x38 '8' + { 1686, 22, 34, 23, 1, -32 }, // 0x39 '9' + { 1780, 8, 24, 16, 4, -22 }, // 0x3A ':' + { 1804, 9, 31, 16, 3, -22 }, // 0x3B ';' + { 1839, 26, 26, 32, 3, -24 }, // 0x3C '<' + { 1924, 26, 17, 32, 3, -20 }, // 0x3D '=' + { 1980, 26, 26, 32, 3, -24 }, // 0x3E '>' + { 2065, 18, 34, 24, 3, -32 }, // 0x3F '?' + { 2142, 33, 34, 44, 5, -32 }, // 0x40 '@' + { 2283, 32, 33, 34, 1, -32 }, // 0x41 'A' + { 2415, 28, 32, 31, 1, -31 }, // 0x42 'B' + { 2527, 30, 34, 33, 2, -32 }, // 0x43 'C' + { 2655, 32, 32, 34, 1, -31 }, // 0x44 'D' + { 2783, 28, 32, 32, 2, -31 }, // 0x45 'E' + { 2895, 25, 32, 29, 2, -31 }, // 0x46 'F' + { 2995, 33, 34, 36, 2, -32 }, // 0x47 'G' + { 3136, 33, 32, 37, 2, -31 }, // 0x48 'H' + { 3268, 15, 32, 18, 2, -31 }, // 0x49 'I' + { 3328, 22, 37, 24, 0, -31 }, // 0x4A 'J' + { 3430, 34, 32, 36, 2, -31 }, // 0x4B 'K' + { 3566, 28, 32, 31, 2, -31 }, // 0x4C 'L' + { 3678, 43, 32, 45, 0, -31 }, // 0x4D 'M' + { 3850, 31, 32, 34, 1, -31 }, // 0x4E 'N' + { 3974, 33, 34, 37, 2, -32 }, // 0x4F 'O' + { 4115, 26, 32, 30, 2, -31 }, // 0x50 'P' + { 4219, 33, 41, 37, 2, -32 }, // 0x51 'Q' + { 4389, 31, 32, 34, 2, -31 }, // 0x52 'R' + { 4513, 21, 34, 27, 3, -32 }, // 0x53 'S' + { 4603, 28, 32, 30, 1, -31 }, // 0x54 'T' + { 4715, 30, 33, 34, 2, -31 }, // 0x55 'U' + { 4839, 33, 32, 33, 0, -31 }, // 0x56 'V' + { 4971, 45, 33, 46, 1, -31 }, // 0x57 'W' + { 5157, 32, 32, 34, 1, -31 }, // 0x58 'X' + { 5285, 32, 32, 33, 1, -31 }, // 0x59 'Y' + { 5413, 28, 32, 30, 1, -31 }, // 0x5A 'Z' + { 5525, 11, 39, 16, 3, -31 }, // 0x5B '[' + { 5579, 15, 33, 13, -1, -32 }, // 0x5C '\' + { 5641, 11, 39, 16, 2, -31 }, // 0x5D ']' + { 5695, 21, 17, 27, 3, -31 }, // 0x5E '^' + { 5740, 24, 3, 23, 0, 5 }, // 0x5F '_' + { 5749, 11, 9, 16, 0, -33 }, // 0x60 '`' + { 5762, 22, 24, 23, 1, -22 }, // 0x61 'a' + { 5828, 25, 33, 26, 0, -31 }, // 0x62 'b' + { 5932, 19, 24, 20, 1, -22 }, // 0x63 'c' + { 5989, 24, 33, 26, 1, -31 }, // 0x64 'd' + { 6088, 18, 24, 21, 1, -22 }, // 0x65 'e' + { 6142, 17, 33, 18, 1, -32 }, // 0x66 'f' + { 6213, 19, 32, 24, 2, -22 }, // 0x67 'g' + { 6289, 24, 32, 26, 0, -31 }, // 0x68 'h' + { 6385, 11, 33, 14, 1, -32 }, // 0x69 'i' + { 6431, 14, 42, 18, 0, -32 }, // 0x6A 'j' + { 6505, 25, 32, 26, 0, -31 }, // 0x6B 'k' + { 6605, 11, 32, 13, 0, -31 }, // 0x6C 'l' + { 6649, 37, 23, 39, 0, -22 }, // 0x6D 'm' + { 6756, 24, 23, 26, 0, -22 }, // 0x6E 'n' + { 6825, 21, 24, 24, 1, -22 }, // 0x6F 'o' + { 6888, 24, 32, 26, 0, -22 }, // 0x70 'p' + { 6984, 24, 32, 26, 1, -22 }, // 0x71 'q' + { 7080, 19, 23, 20, 0, -22 }, // 0x72 'r' + { 7135, 15, 24, 19, 2, -22 }, // 0x73 's' + { 7180, 14, 31, 16, 1, -29 }, // 0x74 't' + { 7235, 25, 23, 27, 0, -21 }, // 0x75 'u' + { 7307, 22, 23, 23, 0, -21 }, // 0x76 'v' + { 7371, 33, 23, 33, 0, -21 }, // 0x77 'w' + { 7466, 22, 22, 24, 1, -21 }, // 0x78 'x' + { 7527, 21, 31, 23, 0, -21 }, // 0x79 'y' + { 7609, 19, 22, 21, 1, -21 }, // 0x7A 'z' + { 7662, 14, 42, 19, 1, -33 }, // 0x7B '{' + { 7736, 4, 33, 10, 3, -32 }, // 0x7C '|' + { 7753, 14, 42, 19, 4, -33 }, // 0x7D '}' + { 7827, 22, 7, 24, 1, -14 } }; // 0x7E '~' + +const GFXfont FreeSerifBold24pt7b PROGMEM = { + (uint8_t *)FreeSerifBold24pt7bBitmaps, + (GFXglyph *)FreeSerifBold24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 8519 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h new file mode 100644 index 0000000..52dbe36 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h @@ -0,0 +1,202 @@ +const uint8_t FreeSerifBold9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xF4, 0x92, 0x1F, 0xF0, 0xCF, 0x3C, 0xE3, 0x88, 0x13, 0x09, 0x84, + 0xC2, 0x47, 0xF9, 0x90, 0xC8, 0x4C, 0xFF, 0x13, 0x09, 0x0C, 0x86, 0x40, + 0x10, 0x38, 0xD6, 0x92, 0xD2, 0xF0, 0x7C, 0x3E, 0x17, 0x93, 0x93, 0xD6, + 0x7C, 0x10, 0x3C, 0x21, 0xCF, 0x0E, 0x24, 0x30, 0xA0, 0xC5, 0x03, 0x34, + 0xE7, 0x26, 0x40, 0xB9, 0x04, 0xC4, 0x23, 0x30, 0x8C, 0x84, 0x1C, 0x0F, + 0x00, 0xCC, 0x06, 0x60, 0x3E, 0x00, 0xE7, 0x8F, 0x18, 0x9C, 0x8C, 0xE4, + 0xE3, 0xC7, 0x9E, 0x3C, 0x72, 0xFD, 0xE0, 0xFF, 0x80, 0x32, 0x44, 0xCC, + 0xCC, 0xCC, 0xC4, 0x62, 0x10, 0x84, 0x22, 0x33, 0x33, 0x33, 0x32, 0x64, + 0x80, 0x31, 0x6B, 0xB1, 0x8E, 0xD6, 0x8C, 0x00, 0x08, 0x04, 0x02, 0x01, + 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xDF, 0x95, 0x00, 0xFF, 0xFF, + 0x80, 0x0C, 0x21, 0x86, 0x10, 0xC3, 0x08, 0x61, 0x84, 0x30, 0xC0, 0x1C, + 0x33, 0x98, 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xB1, 0x98, 0xC3, + 0x80, 0x08, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xBF, 0x3C, 0x3F, + 0x23, 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x18, 0x18, 0x18, 0x5F, 0xDF, 0xE0, + 0x7C, 0x8E, 0x0E, 0x0E, 0x0C, 0x1E, 0x07, 0x03, 0x03, 0x02, 0xE6, 0xF8, + 0x06, 0x0E, 0x0E, 0x3E, 0x2E, 0x4E, 0x8E, 0x8E, 0xFF, 0xFF, 0x0E, 0x0E, + 0x3F, 0x7E, 0x40, 0x40, 0xF8, 0xFC, 0x1E, 0x06, 0x02, 0x02, 0xE4, 0xF8, + 0x07, 0x1C, 0x30, 0x70, 0xFC, 0xE6, 0xE7, 0xE7, 0xE7, 0x67, 0x66, 0x3C, + 0x7F, 0x3F, 0xA0, 0xD0, 0x40, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x04, 0x06, + 0x03, 0x00, 0x3C, 0xC6, 0xC6, 0xC6, 0xFC, 0x7C, 0x3E, 0xCF, 0xC7, 0xC7, + 0xC6, 0x7C, 0x3E, 0x33, 0xB8, 0xDC, 0x7E, 0x3F, 0x1D, 0xCE, 0x7F, 0x07, + 0x07, 0x0F, 0x1C, 0x00, 0xFF, 0x80, 0x3F, 0xE0, 0xFF, 0x80, 0x37, 0xE5, + 0x40, 0x00, 0x00, 0x70, 0x78, 0x78, 0x78, 0x38, 0x03, 0x80, 0x3C, 0x03, + 0xC0, 0x30, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0xC0, 0x3C, 0x03, + 0xC0, 0x1C, 0x01, 0xC1, 0xE1, 0xE1, 0xE0, 0xE0, 0x00, 0x00, 0x3D, 0x9F, + 0x3E, 0x70, 0xE1, 0x04, 0x08, 0x00, 0x70, 0xE1, 0xC0, 0x0F, 0x81, 0x83, + 0x18, 0xC4, 0x89, 0x9C, 0x4C, 0xE4, 0x67, 0x22, 0x39, 0x22, 0x4F, 0xE3, + 0x00, 0x0C, 0x10, 0x1F, 0x00, 0x02, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, + 0xB8, 0x05, 0xC0, 0x4F, 0x02, 0x38, 0x3F, 0xE1, 0x07, 0x18, 0x3D, 0xE3, + 0xF0, 0xFF, 0x87, 0x1C, 0xE3, 0x9C, 0x73, 0x9C, 0x7F, 0x0E, 0x71, 0xC7, + 0x38, 0xE7, 0x1C, 0xE7, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0xC1, 0xB0, 0x1E, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x0E, 0x04, 0xE1, 0x0F, 0xC0, 0xFF, + 0x0E, 0x71, 0xC7, 0x38, 0x77, 0x0E, 0xE1, 0xDC, 0x3B, 0x87, 0x70, 0xCE, + 0x39, 0xC6, 0x7F, 0x80, 0xFF, 0xCE, 0x19, 0xC1, 0x38, 0x87, 0x30, 0xFE, + 0x1C, 0xC3, 0x88, 0x70, 0x2E, 0x0D, 0xC3, 0x7F, 0xE0, 0xFF, 0xDC, 0x37, + 0x05, 0xC4, 0x73, 0x1F, 0xC7, 0x31, 0xC4, 0x70, 0x1C, 0x07, 0x03, 0xE0, + 0x1F, 0x23, 0x0E, 0x70, 0x6E, 0x02, 0xE0, 0x0E, 0x00, 0xE1, 0xFE, 0x0E, + 0x60, 0xE7, 0x0E, 0x38, 0xE0, 0xF8, 0xF9, 0xF7, 0x0E, 0x70, 0xE7, 0x0E, + 0x70, 0xE7, 0xFE, 0x70, 0xE7, 0x0E, 0x70, 0xE7, 0x0E, 0x70, 0xEF, 0x9F, + 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0x1F, 0x0E, 0x0E, 0x0E, + 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xCE, 0xCC, 0x78, 0xF9, 0xF3, + 0x82, 0x1C, 0x20, 0xE2, 0x07, 0x20, 0x3F, 0x01, 0xDC, 0x0E, 0x70, 0x73, + 0xC3, 0x8F, 0x1C, 0x3D, 0xF3, 0xF0, 0xF8, 0x0E, 0x01, 0xC0, 0x38, 0x07, + 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x2E, 0x09, 0xC3, 0x7F, 0xE0, 0xF8, + 0x0F, 0x3C, 0x1E, 0x3C, 0x1E, 0x2E, 0x2E, 0x2E, 0x2E, 0x26, 0x4E, 0x27, + 0x4E, 0x27, 0x4E, 0x23, 0x8E, 0x23, 0x8E, 0x21, 0x0E, 0x71, 0x1F, 0xF0, + 0xEE, 0x09, 0xE1, 0x3E, 0x25, 0xE4, 0x9E, 0x91, 0xD2, 0x1E, 0x43, 0xC8, + 0x39, 0x03, 0x70, 0x20, 0x1F, 0x83, 0x0C, 0x70, 0xEE, 0x07, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x77, 0x0E, 0x30, 0xC1, 0xF8, 0xFF, 0x1C, + 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0xE7, 0xF1, 0xC0, 0x70, 0x1C, 0x07, 0x03, + 0xE0, 0x0F, 0x83, 0x9C, 0x70, 0xE6, 0x06, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, + 0x07, 0xE0, 0x76, 0x06, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0x78, 0x03, 0xE0, + 0xFF, 0x07, 0x38, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x38, 0x7E, 0x07, 0x70, + 0x77, 0x87, 0x3C, 0x71, 0xEF, 0x8F, 0x39, 0x47, 0xC1, 0xC0, 0xF0, 0x7C, + 0x3E, 0x0F, 0x83, 0xC3, 0xC6, 0xBC, 0xFF, 0xFC, 0xE3, 0x8E, 0x10, 0xE0, + 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xF0, + 0xF8, 0xEE, 0x09, 0xC1, 0x38, 0x27, 0x04, 0xE0, 0x9C, 0x13, 0x82, 0x70, + 0x4E, 0x08, 0xE2, 0x0F, 0x80, 0xFC, 0x7B, 0xC1, 0x0E, 0x08, 0x70, 0x81, + 0xC4, 0x0E, 0x20, 0x7A, 0x01, 0xD0, 0x0E, 0x80, 0x38, 0x01, 0xC0, 0x04, + 0x00, 0x20, 0x00, 0xFD, 0xFB, 0xDC, 0x38, 0x43, 0x87, 0x10, 0xE1, 0xC4, + 0x38, 0xF2, 0x07, 0x2E, 0x81, 0xD3, 0xA0, 0x34, 0x70, 0x0E, 0x1C, 0x03, + 0x87, 0x00, 0x60, 0x80, 0x10, 0x20, 0xFE, 0xF3, 0xC3, 0x0F, 0x10, 0x39, + 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x01, 0x70, 0x09, 0xC0, 0x8F, 0x08, 0x3D, + 0xF3, 0xF0, 0xFC, 0x7B, 0xC1, 0x8E, 0x08, 0x38, 0x81, 0xE8, 0x07, 0x40, + 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x1F, 0x00, 0xFF, 0xD8, + 0x72, 0x1E, 0x43, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xC0, 0x38, 0x2E, 0x0F, + 0x83, 0x7F, 0xE0, 0xFC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF0, 0xC1, + 0x06, 0x18, 0x20, 0xC3, 0x04, 0x18, 0x60, 0x83, 0x0C, 0xF3, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0xF0, 0x18, 0x1C, 0x34, 0x26, 0x62, 0x43, 0xC1, + 0xFF, 0x80, 0xC6, 0x30, 0x7C, 0x63, 0xB1, 0xC0, 0xE1, 0xF3, 0x3B, 0x9D, + 0xCE, 0xFF, 0x80, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0x77, 0x1D, + 0xC7, 0x71, 0xDC, 0x77, 0x39, 0x3C, 0x3C, 0xED, 0x9F, 0x0E, 0x1C, 0x38, + 0x39, 0x3C, 0x07, 0x80, 0xE0, 0x38, 0xEE, 0x77, 0xB8, 0xEE, 0x3B, 0x8E, + 0xE3, 0xB8, 0xE7, 0x78, 0xEF, 0x3C, 0x66, 0xE6, 0xFE, 0xE0, 0xE0, 0xE0, + 0x72, 0x3C, 0x3E, 0xED, 0xC7, 0xC7, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC7, + 0xC0, 0x31, 0xDF, 0xBF, 0x7E, 0xE7, 0x90, 0x60, 0xFC, 0xFE, 0x0C, 0x17, + 0xC0, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0xE7, 0x39, 0xCE, 0x73, + 0x9C, 0xE7, 0x3B, 0xFF, 0x73, 0x9D, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, + 0x1C, 0x71, 0xCF, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x7D, 0xBE, + 0xF0, 0x1C, 0x07, 0x01, 0xCE, 0x71, 0x1C, 0x87, 0x41, 0xF8, 0x77, 0x1C, + 0xE7, 0x1B, 0xEF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0xF7, + 0x38, 0xF7, 0xB9, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, + 0x39, 0xCE, 0xFF, 0xFE, 0xF7, 0x1E, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, + 0x39, 0xCE, 0xFF, 0xC0, 0x3E, 0x31, 0xB8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8E, + 0xC6, 0x3E, 0x00, 0xF7, 0x1E, 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0x77, 0x1D, + 0xCE, 0x7F, 0x1C, 0x07, 0x01, 0xC0, 0xF8, 0x00, 0x3C, 0x9C, 0xEE, 0x3B, + 0x8E, 0xE3, 0xB8, 0xEE, 0x39, 0xCE, 0x3F, 0x80, 0xE0, 0x38, 0x0E, 0x07, + 0xC0, 0xF7, 0x7B, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xF8, 0x7E, 0x73, + 0xC7, 0x8E, 0x39, 0xB0, 0x10, 0xCF, 0x9C, 0x71, 0xC7, 0x1C, 0x71, 0xD3, + 0x80, 0xF7, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x3F, + 0xC0, 0xFB, 0xB8, 0x8C, 0x87, 0x43, 0xC0, 0xE0, 0x70, 0x10, 0x08, 0x00, + 0xF7, 0xB6, 0x31, 0x73, 0xA3, 0x3A, 0x3D, 0xA3, 0xDC, 0x18, 0xC1, 0x88, + 0x10, 0x80, 0xFB, 0xB8, 0x8E, 0x83, 0x81, 0xC0, 0xF0, 0x98, 0xCE, 0xEF, + 0x80, 0xF7, 0x62, 0x72, 0x34, 0x34, 0x3C, 0x18, 0x18, 0x10, 0x10, 0x10, + 0xE0, 0xE0, 0xFF, 0x1C, 0x70, 0xE3, 0x87, 0x1C, 0x71, 0xFE, 0x19, 0x8C, + 0x63, 0x18, 0xCC, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF8, 0xC3, 0x18, + 0xC6, 0x31, 0x86, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xF0, 0x8E }; + +const GFXglyph FreeSerifBold9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 3, 12, 6, 1, -11 }, // 0x21 '!' + { 5, 6, 5, 10, 2, -11 }, // 0x22 '"' + { 9, 9, 13, 9, 0, -12 }, // 0x23 '#' + { 24, 8, 14, 9, 1, -12 }, // 0x24 '$' + { 38, 14, 12, 18, 2, -11 }, // 0x25 '%' + { 59, 13, 12, 15, 1, -11 }, // 0x26 '&' + { 79, 2, 5, 5, 1, -11 }, // 0x27 ''' + { 81, 4, 15, 6, 1, -11 }, // 0x28 '(' + { 89, 4, 15, 6, 1, -11 }, // 0x29 ')' + { 97, 7, 7, 9, 2, -11 }, // 0x2A '*' + { 104, 9, 9, 12, 1, -8 }, // 0x2B '+' + { 115, 3, 6, 4, 1, -2 }, // 0x2C ',' + { 118, 4, 2, 6, 1, -4 }, // 0x2D '-' + { 119, 3, 3, 4, 1, -2 }, // 0x2E '.' + { 121, 6, 13, 5, 0, -11 }, // 0x2F '/' + { 131, 9, 12, 9, 0, -11 }, // 0x30 '0' + { 145, 6, 12, 9, 1, -11 }, // 0x31 '1' + { 154, 9, 12, 9, 0, -11 }, // 0x32 '2' + { 168, 8, 12, 9, 0, -11 }, // 0x33 '3' + { 180, 8, 12, 9, 1, -11 }, // 0x34 '4' + { 192, 8, 12, 9, 1, -11 }, // 0x35 '5' + { 204, 8, 12, 9, 1, -11 }, // 0x36 '6' + { 216, 9, 12, 9, 0, -11 }, // 0x37 '7' + { 230, 8, 12, 9, 1, -11 }, // 0x38 '8' + { 242, 9, 12, 9, 0, -11 }, // 0x39 '9' + { 256, 3, 9, 6, 1, -8 }, // 0x3A ':' + { 260, 3, 12, 6, 2, -8 }, // 0x3B ';' + { 265, 10, 10, 12, 1, -9 }, // 0x3C '<' + { 278, 10, 5, 12, 1, -6 }, // 0x3D '=' + { 285, 10, 10, 12, 1, -8 }, // 0x3E '>' + { 298, 7, 12, 9, 1, -11 }, // 0x3F '?' + { 309, 13, 12, 17, 2, -11 }, // 0x40 '@' + { 329, 13, 12, 13, 0, -11 }, // 0x41 'A' + { 349, 11, 12, 12, 0, -11 }, // 0x42 'B' + { 366, 11, 12, 13, 1, -11 }, // 0x43 'C' + { 383, 11, 12, 13, 1, -11 }, // 0x44 'D' + { 400, 11, 12, 12, 1, -11 }, // 0x45 'E' + { 417, 10, 12, 11, 1, -11 }, // 0x46 'F' + { 432, 12, 12, 14, 1, -11 }, // 0x47 'G' + { 450, 12, 12, 14, 1, -11 }, // 0x48 'H' + { 468, 5, 12, 7, 1, -11 }, // 0x49 'I' + { 476, 8, 14, 9, 0, -11 }, // 0x4A 'J' + { 490, 13, 12, 14, 1, -11 }, // 0x4B 'K' + { 510, 11, 12, 12, 1, -11 }, // 0x4C 'L' + { 527, 16, 12, 17, 0, -11 }, // 0x4D 'M' + { 551, 11, 12, 13, 1, -11 }, // 0x4E 'N' + { 568, 12, 12, 14, 1, -11 }, // 0x4F 'O' + { 586, 10, 12, 11, 1, -11 }, // 0x50 'P' + { 601, 12, 15, 14, 1, -11 }, // 0x51 'Q' + { 624, 12, 12, 13, 1, -11 }, // 0x52 'R' + { 642, 8, 12, 10, 1, -11 }, // 0x53 'S' + { 654, 12, 12, 12, 0, -11 }, // 0x54 'T' + { 672, 11, 12, 13, 1, -11 }, // 0x55 'U' + { 689, 13, 13, 13, 0, -11 }, // 0x56 'V' + { 711, 18, 12, 18, 0, -11 }, // 0x57 'W' + { 738, 13, 12, 13, 0, -11 }, // 0x58 'X' + { 758, 13, 12, 13, 0, -11 }, // 0x59 'Y' + { 778, 11, 12, 12, 1, -11 }, // 0x5A 'Z' + { 795, 4, 15, 6, 1, -11 }, // 0x5B '[' + { 803, 6, 13, 5, 0, -11 }, // 0x5C '\' + { 813, 4, 15, 6, 1, -11 }, // 0x5D ']' + { 821, 8, 7, 10, 1, -11 }, // 0x5E '^' + { 828, 9, 1, 9, 0, 3 }, // 0x5F '_' + { 830, 4, 3, 6, 0, -12 }, // 0x60 '`' + { 832, 9, 9, 9, 0, -8 }, // 0x61 'a' + { 843, 10, 12, 10, 0, -11 }, // 0x62 'b' + { 858, 7, 9, 8, 0, -8 }, // 0x63 'c' + { 866, 10, 12, 10, 0, -11 }, // 0x64 'd' + { 881, 8, 9, 8, 0, -8 }, // 0x65 'e' + { 890, 7, 12, 7, 0, -11 }, // 0x66 'f' + { 901, 7, 13, 9, 1, -8 }, // 0x67 'g' + { 913, 10, 12, 10, 0, -11 }, // 0x68 'h' + { 928, 5, 12, 5, 0, -11 }, // 0x69 'i' + { 936, 6, 16, 7, 0, -11 }, // 0x6A 'j' + { 948, 10, 12, 10, 0, -11 }, // 0x6B 'k' + { 963, 5, 12, 5, 0, -11 }, // 0x6C 'l' + { 971, 15, 9, 15, 0, -8 }, // 0x6D 'm' + { 988, 10, 9, 10, 0, -8 }, // 0x6E 'n' + { 1000, 9, 9, 9, 0, -8 }, // 0x6F 'o' + { 1011, 10, 13, 10, 0, -8 }, // 0x70 'p' + { 1028, 10, 13, 10, 0, -8 }, // 0x71 'q' + { 1045, 8, 9, 8, 0, -8 }, // 0x72 'r' + { 1054, 5, 9, 7, 1, -8 }, // 0x73 's' + { 1060, 6, 11, 6, 0, -10 }, // 0x74 't' + { 1069, 10, 9, 10, 0, -8 }, // 0x75 'u' + { 1081, 9, 9, 9, 0, -8 }, // 0x76 'v' + { 1092, 12, 9, 13, 0, -8 }, // 0x77 'w' + { 1106, 9, 9, 9, 0, -8 }, // 0x78 'x' + { 1117, 8, 13, 9, 0, -8 }, // 0x79 'y' + { 1130, 7, 9, 8, 1, -8 }, // 0x7A 'z' + { 1138, 5, 16, 7, 0, -12 }, // 0x7B '{' + { 1148, 1, 13, 4, 1, -11 }, // 0x7C '|' + { 1150, 5, 16, 7, 2, -12 }, // 0x7D '}' + { 1160, 8, 2, 9, 1, -4 } }; // 0x7E '~' + +const GFXfont FreeSerifBold9pt7b PROGMEM = { + (uint8_t *)FreeSerifBold9pt7bBitmaps, + (GFXglyph *)FreeSerifBold9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1834 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h new file mode 100644 index 0000000..1f674e9 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h @@ -0,0 +1,292 @@ +const uint8_t FreeSerifBoldItalic12pt7bBitmaps[] PROGMEM = { + 0x07, 0x07, 0x07, 0x0F, 0x0E, 0x0E, 0x0C, 0x0C, 0x08, 0x18, 0x10, 0x00, + 0x00, 0x60, 0xF0, 0xF0, 0x60, 0x61, 0xF1, 0xF8, 0xF8, 0x6C, 0x34, 0x12, + 0x08, 0x01, 0x8C, 0x06, 0x60, 0x31, 0x80, 0xCC, 0x06, 0x30, 0xFF, 0xF0, + 0xC6, 0x03, 0x18, 0x0C, 0xC0, 0x63, 0x0F, 0xFF, 0x0C, 0x60, 0x33, 0x01, + 0x8C, 0x06, 0x30, 0x19, 0x80, 0x00, 0x80, 0x08, 0x07, 0xC1, 0x96, 0x31, + 0x33, 0x13, 0x3A, 0x23, 0xE0, 0x1E, 0x01, 0xF0, 0x07, 0x80, 0x7C, 0x05, + 0xC4, 0xCC, 0x48, 0xCC, 0x8C, 0xF8, 0x83, 0x30, 0x1E, 0x01, 0x00, 0x00, + 0x02, 0x07, 0x83, 0x03, 0x9F, 0x81, 0xC4, 0x20, 0x71, 0x10, 0x3C, 0x44, + 0x0E, 0x22, 0x03, 0x88, 0x80, 0xE4, 0x40, 0x1E, 0x31, 0xE0, 0x08, 0xE4, + 0x06, 0x71, 0x01, 0x3C, 0x40, 0x8E, 0x10, 0x23, 0x88, 0x10, 0xE2, 0x04, + 0x39, 0x02, 0x07, 0x80, 0x00, 0xF0, 0x01, 0x98, 0x03, 0x98, 0x03, 0x98, + 0x03, 0xB0, 0x03, 0xE0, 0x03, 0x80, 0x0F, 0x9F, 0x19, 0xCE, 0x31, 0xCC, + 0x61, 0xC8, 0xE1, 0xC8, 0xE0, 0xF0, 0xE0, 0xE0, 0xF0, 0x70, 0x78, 0x79, + 0x3F, 0xBE, 0x7F, 0xED, 0x20, 0x02, 0x08, 0x20, 0xC3, 0x0E, 0x18, 0x30, + 0xE1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x20, 0x40, 0x80, 0x81, 0x01, 0x00, + 0x10, 0x10, 0x20, 0x20, 0x40, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x70, 0xE1, + 0x83, 0x0C, 0x18, 0x61, 0x86, 0x00, 0x00, 0x0C, 0x33, 0x6C, 0x9B, 0xAE, + 0x1C, 0x3F, 0xEC, 0x9B, 0x36, 0x0C, 0x02, 0x00, 0x06, 0x00, 0x60, 0x06, + 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, + 0x00, 0x60, 0x31, 0xCE, 0x31, 0x08, 0x98, 0xFF, 0xFF, 0xC0, 0x6F, 0xF6, + 0x01, 0x80, 0x60, 0x30, 0x0C, 0x07, 0x01, 0x80, 0xE0, 0x30, 0x1C, 0x06, + 0x01, 0x80, 0xC0, 0x30, 0x18, 0x06, 0x03, 0x00, 0x03, 0x81, 0xC8, 0x71, + 0x1C, 0x33, 0x86, 0xE1, 0xDC, 0x3B, 0x87, 0xE0, 0xFC, 0x3B, 0x87, 0x70, + 0xEC, 0x39, 0x87, 0x31, 0xC2, 0x30, 0x3C, 0x00, 0x01, 0xC3, 0xF0, 0x38, + 0x0E, 0x03, 0x81, 0xE0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x1E, + 0x07, 0x01, 0xC0, 0xF0, 0xFF, 0x80, 0x07, 0x81, 0xF8, 0x47, 0x90, 0x70, + 0x0E, 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, 0x80, + 0x40, 0x8F, 0xF3, 0xFC, 0xFF, 0x80, 0x07, 0xC3, 0x3C, 0x03, 0x80, 0x70, + 0x0C, 0x03, 0x81, 0xC0, 0xFC, 0x07, 0xC0, 0x78, 0x07, 0x00, 0xE0, 0x1C, + 0x03, 0x30, 0xE7, 0x10, 0x7C, 0x00, 0x00, 0x10, 0x01, 0x80, 0x3C, 0x03, + 0xE0, 0x2E, 0x02, 0x70, 0x23, 0x82, 0x38, 0x21, 0xC2, 0x0E, 0x1F, 0xF9, + 0xFF, 0xC0, 0x38, 0x01, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0xF0, 0x7E, 0x0F, + 0xE0, 0x80, 0x08, 0x01, 0xE0, 0x1F, 0x83, 0xF8, 0x03, 0xC0, 0x1C, 0x00, + 0xC0, 0x0C, 0x00, 0xC0, 0x08, 0x61, 0x8F, 0x30, 0x7C, 0x00, 0x00, 0x60, + 0x78, 0x1C, 0x0F, 0x01, 0xC0, 0x70, 0x1F, 0xC3, 0x8C, 0xE1, 0xDC, 0x3B, + 0x87, 0x61, 0xEC, 0x3D, 0x87, 0x31, 0xE2, 0x38, 0x3C, 0x00, 0x3F, 0xEF, + 0xF9, 0xFF, 0x60, 0xC8, 0x18, 0x06, 0x00, 0x80, 0x30, 0x0C, 0x01, 0x80, + 0x60, 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x00, 0x03, 0x81, 0x88, 0x61, + 0x8C, 0x31, 0x86, 0x38, 0xC7, 0xB0, 0x78, 0x0F, 0x86, 0x71, 0x87, 0x60, + 0x6C, 0x0D, 0x81, 0xB0, 0x63, 0x18, 0x3E, 0x00, 0x07, 0x81, 0xC8, 0x71, + 0x8E, 0x33, 0xC6, 0x70, 0xCE, 0x39, 0xC7, 0x38, 0xE3, 0x38, 0x3F, 0x01, + 0xC0, 0x38, 0x0E, 0x03, 0x81, 0xC0, 0xE0, 0x00, 0x0C, 0x3C, 0x78, 0x60, + 0x00, 0x00, 0x00, 0x61, 0xE3, 0xC3, 0x00, 0x0E, 0x0F, 0x0F, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x18, 0x10, 0x20, 0x40, 0x00, 0x10, + 0x07, 0x01, 0xF0, 0x7C, 0x3F, 0x0F, 0x80, 0xE0, 0x0F, 0x80, 0x3E, 0x00, + 0xF8, 0x03, 0xE0, 0x07, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0x80, 0x07, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x7C, 0x00, + 0xF8, 0x01, 0xE0, 0x1F, 0x07, 0xE0, 0xF8, 0x1F, 0x01, 0xE0, 0x0C, 0x00, + 0x00, 0x1E, 0x19, 0x8C, 0xE6, 0x70, 0x38, 0x38, 0x1C, 0x18, 0x18, 0x08, + 0x08, 0x00, 0x00, 0x03, 0x03, 0xC1, 0xE0, 0x60, 0x00, 0x03, 0xF0, 0x07, + 0x06, 0x06, 0x00, 0x86, 0x0E, 0x66, 0x0D, 0xDB, 0x0C, 0xE7, 0x06, 0x33, + 0x83, 0x31, 0xC3, 0x18, 0xE1, 0x8C, 0x70, 0xCC, 0x4C, 0x66, 0x46, 0x1F, + 0xC1, 0x80, 0x00, 0x30, 0x10, 0x07, 0xF0, 0x00, 0x10, 0x00, 0x30, 0x00, + 0x70, 0x00, 0x70, 0x00, 0xF0, 0x01, 0xF0, 0x01, 0x78, 0x03, 0x78, 0x02, + 0x38, 0x04, 0x38, 0x0C, 0x38, 0x0F, 0xF8, 0x18, 0x3C, 0x30, 0x3C, 0x20, + 0x3C, 0x60, 0x3C, 0xF8, 0x7F, 0x1F, 0xFC, 0x07, 0x9E, 0x07, 0x0F, 0x07, + 0x0F, 0x0F, 0x0F, 0x0F, 0x1E, 0x0E, 0x3C, 0x0F, 0xE0, 0x1E, 0x3C, 0x1E, + 0x1E, 0x1C, 0x1E, 0x3C, 0x1E, 0x3C, 0x1E, 0x3C, 0x3E, 0x38, 0x3C, 0x7C, + 0x78, 0xFF, 0xE0, 0x01, 0xF2, 0x0E, 0x1C, 0x38, 0x18, 0xE0, 0x33, 0xC0, + 0x4F, 0x00, 0x9E, 0x00, 0x7C, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, + 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x1E, 0x04, 0x1E, 0x30, 0x0F, 0x80, 0x1F, + 0xFC, 0x01, 0xE3, 0xC0, 0x70, 0x78, 0x1C, 0x0E, 0x0F, 0x03, 0xC3, 0xC0, + 0xF0, 0xE0, 0x3C, 0x38, 0x0F, 0x1E, 0x03, 0xC7, 0x81, 0xF1, 0xC0, 0x78, + 0xF0, 0x1E, 0x3C, 0x0F, 0x0F, 0x03, 0xC3, 0x81, 0xC1, 0xE1, 0xE0, 0xFF, + 0xE0, 0x00, 0x1F, 0xFF, 0x83, 0xC1, 0xC1, 0xC0, 0x40, 0xE0, 0x20, 0xF0, + 0x00, 0x78, 0xC0, 0x38, 0x40, 0x1F, 0xE0, 0x1E, 0x70, 0x0F, 0x18, 0x07, + 0x08, 0x03, 0x84, 0x03, 0xC0, 0x61, 0xE0, 0x20, 0xE0, 0x30, 0xF8, 0x78, + 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x07, 0x87, 0x07, 0x02, 0x07, 0x02, 0x0F, + 0x00, 0x0F, 0x18, 0x0E, 0x10, 0x0F, 0xF0, 0x1E, 0x70, 0x1E, 0x30, 0x1C, + 0x20, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x7C, 0x00, 0xFE, + 0x00, 0x01, 0xF9, 0x03, 0xC3, 0x83, 0x81, 0xC3, 0x80, 0x43, 0xC0, 0x23, + 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x00, 0xF0, 0x3F, 0xF8, 0x0F, 0x3C, 0x07, + 0x9E, 0x03, 0xCF, 0x01, 0xC3, 0x80, 0xE1, 0xE0, 0xF0, 0x78, 0x70, 0x0F, + 0xE0, 0x00, 0x1F, 0xE7, 0xF0, 0x78, 0x3C, 0x07, 0x83, 0xC0, 0x70, 0x3C, + 0x0F, 0x03, 0x80, 0xF0, 0x78, 0x0E, 0x07, 0x80, 0xE0, 0x70, 0x1F, 0xFF, + 0x01, 0xE0, 0xF0, 0x1C, 0x0F, 0x03, 0xC0, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, + 0xE0, 0x38, 0x1E, 0x07, 0xC3, 0xE0, 0xFE, 0x7F, 0x00, 0x1F, 0xC1, 0xE0, + 0x70, 0x1C, 0x0F, 0x03, 0xC0, 0xE0, 0x38, 0x1E, 0x07, 0x81, 0xC0, 0x70, + 0x3C, 0x0F, 0x03, 0x81, 0xF0, 0xFE, 0x00, 0x01, 0xFC, 0x03, 0xC0, 0x0F, + 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, + 0x00, 0x3C, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x0E, 0x70, 0x3B, 0xC0, 0xCE, + 0x01, 0xF0, 0x00, 0x1F, 0xEF, 0x83, 0xC1, 0x81, 0xC1, 0x80, 0xE1, 0x80, + 0xF1, 0x80, 0x79, 0x00, 0x39, 0x00, 0x1F, 0x80, 0x1F, 0xE0, 0x0F, 0x70, + 0x07, 0x3C, 0x07, 0x8E, 0x03, 0xC7, 0x01, 0xE3, 0xC0, 0xE0, 0xE0, 0xF8, + 0x78, 0xFE, 0xFE, 0x00, 0x1F, 0xE0, 0x0F, 0x00, 0x1C, 0x00, 0x38, 0x00, + 0xF0, 0x01, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, + 0x00, 0xE0, 0x03, 0xC0, 0x27, 0x00, 0xCE, 0x03, 0x3C, 0x1E, 0xFF, 0xFC, + 0x0F, 0x80, 0x7E, 0x0F, 0x00, 0xF0, 0x1E, 0x03, 0xE0, 0x3C, 0x0F, 0x80, + 0xB8, 0x17, 0x01, 0x70, 0x5E, 0x02, 0xF1, 0xBC, 0x05, 0xE2, 0x70, 0x11, + 0xC8, 0xE0, 0x23, 0xB3, 0xC0, 0x47, 0x47, 0x81, 0x0F, 0x8E, 0x02, 0x1E, + 0x1C, 0x04, 0x38, 0x78, 0x08, 0x70, 0xF0, 0x30, 0xC3, 0xE0, 0xF9, 0x8F, + 0xE0, 0x1F, 0x03, 0xE0, 0xF0, 0x38, 0x1E, 0x02, 0x03, 0xE0, 0xC0, 0xBC, + 0x10, 0x13, 0xC2, 0x02, 0x78, 0x40, 0x47, 0x90, 0x10, 0xF2, 0x02, 0x0F, + 0x40, 0x41, 0xE8, 0x18, 0x1E, 0x02, 0x03, 0xC0, 0x40, 0x38, 0x08, 0x06, + 0x03, 0x00, 0x40, 0x10, 0x08, 0x00, 0x01, 0xF8, 0x07, 0x1C, 0x0E, 0x0E, + 0x1E, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x78, 0x0F, 0x78, 0x0F, 0xF8, 0x1F, + 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, 0x70, 0x70, + 0x38, 0xE0, 0x1F, 0x80, 0x1F, 0xFC, 0x07, 0x9E, 0x07, 0x0F, 0x07, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x1E, 0x0E, 0x3C, 0x1F, 0xF0, 0x1E, 0x00, + 0x1C, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7C, 0x00, + 0xFE, 0x00, 0x01, 0xF8, 0x07, 0x1C, 0x0E, 0x0E, 0x1E, 0x0F, 0x3C, 0x0F, + 0x3C, 0x0F, 0x78, 0x0F, 0x78, 0x1F, 0xF8, 0x1F, 0xF0, 0x1E, 0xF0, 0x1E, + 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, 0x70, 0x70, 0x39, 0xC0, 0x0E, 0x00, + 0x08, 0x02, 0x3F, 0x04, 0x7F, 0xF8, 0x83, 0xF0, 0x1F, 0xF8, 0x07, 0x9E, + 0x07, 0x8F, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1E, 0x0E, 0x3C, + 0x1F, 0xF0, 0x1E, 0xF0, 0x1C, 0xF0, 0x3C, 0xF0, 0x3C, 0x78, 0x3C, 0x78, + 0x3C, 0x78, 0x7C, 0x3C, 0xFE, 0x3E, 0x07, 0x91, 0xC7, 0x18, 0x73, 0x82, + 0x38, 0x23, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x01, 0xE0, 0x1E, + 0x40, 0xE4, 0x0E, 0x60, 0xCE, 0x1C, 0x9F, 0x00, 0x7F, 0xFE, 0xE7, 0x9D, + 0x0E, 0x16, 0x3C, 0x20, 0x78, 0x40, 0xE0, 0x01, 0xC0, 0x07, 0x80, 0x0F, + 0x00, 0x1C, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, + 0x1E, 0x00, 0xFF, 0x00, 0x7F, 0x1F, 0x3C, 0x0E, 0x38, 0x04, 0x38, 0x0C, + 0x78, 0x08, 0x78, 0x08, 0x70, 0x08, 0x70, 0x10, 0xF0, 0x10, 0xF0, 0x10, + 0xF0, 0x10, 0xF0, 0x20, 0xF0, 0x20, 0xF0, 0x20, 0xF0, 0x40, 0x78, 0xC0, + 0x3F, 0x00, 0xFF, 0x1F, 0x3C, 0x06, 0x3C, 0x04, 0x3C, 0x08, 0x3C, 0x08, + 0x3C, 0x10, 0x1C, 0x20, 0x1C, 0x20, 0x1E, 0x40, 0x1E, 0x80, 0x1E, 0x80, + 0x1F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x08, 0x00, 0xFE, 0x7C, + 0x79, 0xE1, 0xC1, 0x8F, 0x0E, 0x08, 0x78, 0x70, 0x43, 0xC7, 0x84, 0x1E, + 0x3E, 0x20, 0x72, 0xF2, 0x03, 0x97, 0x90, 0x1D, 0x1D, 0x00, 0xE8, 0xE8, + 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, 0xC1, 0xC0, 0x0E, 0x0E, 0x00, 0x20, + 0x60, 0x01, 0x02, 0x00, 0x1F, 0xCF, 0x83, 0xC1, 0x81, 0xE1, 0x80, 0x71, + 0x80, 0x39, 0x80, 0x1F, 0x80, 0x07, 0x80, 0x03, 0x80, 0x01, 0xE0, 0x01, + 0xF0, 0x00, 0xB8, 0x00, 0x9C, 0x00, 0x8F, 0x00, 0x83, 0x80, 0xC1, 0xC0, + 0xE0, 0xF0, 0xF9, 0xFE, 0x00, 0xFE, 0x7C, 0xE0, 0x63, 0x81, 0x0F, 0x08, + 0x1C, 0x40, 0x71, 0x01, 0xE8, 0x03, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, + 0x07, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x00, 0xFF, 0x00, 0x1F, + 0xFE, 0x38, 0x78, 0x60, 0xF1, 0x83, 0xC2, 0x0F, 0x00, 0x1E, 0x00, 0x78, + 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x47, + 0x81, 0x1F, 0x06, 0x3C, 0x3C, 0xFF, 0xF0, 0x07, 0xC1, 0x80, 0xE0, 0x30, + 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x06, 0x03, 0x80, 0xC0, 0x30, 0x0C, + 0x07, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, 0xE0, 0xC3, 0x06, 0x18, 0x61, + 0x83, 0x0C, 0x30, 0xC1, 0x86, 0x18, 0x60, 0xC3, 0x0F, 0x81, 0xC0, 0xE0, + 0x60, 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x81, 0x80, 0xC0, 0x60, + 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x1F, 0x00, 0x0C, 0x07, 0x81, 0xE0, 0xDC, + 0x33, 0x18, 0xC6, 0x1B, 0x06, 0xC0, 0xC0, 0xFF, 0xF0, 0xC7, 0x0C, 0x30, + 0x07, 0x70, 0xCE, 0x1C, 0xE3, 0x8E, 0x70, 0xC7, 0x0C, 0x71, 0xCE, 0x1C, + 0xE1, 0x8E, 0x79, 0xE9, 0xA7, 0x1C, 0x02, 0x07, 0xC0, 0x38, 0x06, 0x01, + 0xC0, 0x38, 0x06, 0x71, 0xF7, 0x38, 0xE7, 0x1C, 0xC3, 0xB8, 0x77, 0x1C, + 0xE3, 0xB8, 0xE7, 0x18, 0xE6, 0x0F, 0x80, 0x07, 0x0C, 0xCE, 0x66, 0x07, + 0x03, 0x83, 0x81, 0xC0, 0xE0, 0x70, 0xBC, 0x87, 0x80, 0x00, 0x08, 0x03, + 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x77, 0x03, 0x3C, 0x18, + 0xE0, 0xE3, 0x87, 0x0E, 0x1C, 0x70, 0x71, 0xC3, 0x87, 0x0E, 0x3C, 0x38, + 0xE8, 0xE5, 0xA1, 0xE7, 0x00, 0x07, 0x0C, 0xCE, 0x66, 0x37, 0x33, 0xBB, + 0xB1, 0xE0, 0xE0, 0x70, 0xB8, 0x87, 0x80, 0x00, 0x38, 0x01, 0xB0, 0x0C, + 0xC0, 0x30, 0x01, 0xC0, 0x07, 0x00, 0x7E, 0x00, 0xE0, 0x03, 0x80, 0x0E, + 0x00, 0x30, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x03, 0x80, 0x0E, + 0x00, 0x38, 0x00, 0xC0, 0x33, 0x00, 0xD8, 0x01, 0xC0, 0x00, 0x03, 0x80, + 0x73, 0xC7, 0x1C, 0x38, 0xE1, 0xCF, 0x06, 0x70, 0x1E, 0x01, 0x00, 0x1C, + 0x00, 0xF8, 0x07, 0xF0, 0xC7, 0x8C, 0x0C, 0x60, 0x63, 0x86, 0x07, 0xE0, + 0x01, 0x00, 0xF8, 0x01, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x31, 0xC3, + 0xBE, 0x1E, 0x70, 0xE3, 0x8F, 0x38, 0x71, 0xC3, 0x8E, 0x1C, 0xE1, 0xC7, + 0x0E, 0x3A, 0x71, 0xD3, 0x0F, 0x00, 0x1C, 0x71, 0xC0, 0x00, 0x6F, 0x8E, + 0x31, 0xC7, 0x18, 0x63, 0x8E, 0xBC, 0xE0, 0x00, 0xE0, 0x1C, 0x03, 0x80, + 0x00, 0x00, 0x0F, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x70, 0x0E, 0x01, 0xC0, + 0x38, 0x0E, 0x01, 0xC0, 0x38, 0x06, 0x01, 0xC3, 0x38, 0x6E, 0x07, 0x80, + 0x01, 0x00, 0xF8, 0x01, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x33, 0xE3, + 0x8C, 0x1C, 0xC0, 0xE4, 0x06, 0x40, 0x7E, 0x03, 0xF0, 0x1D, 0x81, 0xCE, + 0x0E, 0x72, 0x71, 0xA3, 0x8E, 0x00, 0x06, 0x7C, 0x70, 0xE1, 0xC3, 0x0E, + 0x1C, 0x38, 0x61, 0xC3, 0x87, 0x0C, 0x38, 0x72, 0xE9, 0xE0, 0x3C, 0x73, + 0xC7, 0x7D, 0x71, 0xE7, 0x9C, 0xF1, 0xCE, 0x3C, 0xF3, 0x8E, 0x39, 0xC3, + 0x8E, 0x71, 0xC3, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xD7, 0x1C, 0x7B, 0x8E, + 0x1C, 0x3C, 0xF1, 0xD7, 0x1E, 0x73, 0xCE, 0x3C, 0xE3, 0x8E, 0x39, 0xC7, + 0x9C, 0x71, 0xC7, 0x1D, 0x71, 0xEE, 0x1C, 0x0F, 0x06, 0x63, 0x9D, 0xC7, + 0x71, 0xF8, 0x7E, 0x3F, 0x8E, 0xE3, 0xB9, 0xC6, 0x60, 0xF0, 0x0F, 0x38, + 0x1F, 0x70, 0x71, 0xC1, 0xC7, 0x0E, 0x1C, 0x38, 0xF0, 0xE3, 0x83, 0x8E, + 0x1C, 0x70, 0x71, 0xC1, 0xCE, 0x07, 0xE0, 0x38, 0x00, 0xE0, 0x03, 0x80, + 0x3F, 0x00, 0x07, 0x70, 0xCE, 0x18, 0xE3, 0x8E, 0x70, 0xE7, 0x1C, 0xF1, + 0xCE, 0x1C, 0xE3, 0x8E, 0x38, 0xE7, 0x87, 0xB0, 0x07, 0x00, 0x70, 0x0F, + 0x03, 0xF8, 0x0D, 0xDF, 0x71, 0xAC, 0xF0, 0x38, 0x0E, 0x03, 0x81, 0xC0, + 0x70, 0x1C, 0x0E, 0x00, 0x1D, 0x99, 0x8C, 0x46, 0x23, 0x80, 0xE0, 0x70, + 0x1C, 0x06, 0x23, 0x19, 0x17, 0x00, 0x0C, 0x10, 0xE3, 0xF3, 0x86, 0x1C, + 0x38, 0x71, 0xC3, 0x87, 0x0E, 0x9E, 0x38, 0x00, 0xF8, 0xE3, 0x8E, 0x38, + 0xC3, 0x9C, 0x71, 0xC7, 0x18, 0x71, 0x87, 0x38, 0xE3, 0x8E, 0xFA, 0xF3, + 0xAE, 0x3C, 0xF0, 0xDC, 0x33, 0x0C, 0xC2, 0x31, 0x8C, 0xC3, 0x60, 0xF0, + 0x38, 0x0C, 0x02, 0x00, 0xE0, 0x86, 0xE3, 0x0C, 0xC6, 0x19, 0x9C, 0x23, + 0x78, 0xC7, 0xF9, 0x0E, 0x74, 0x1C, 0xF0, 0x31, 0xC0, 0x43, 0x00, 0x84, + 0x00, 0x0E, 0x31, 0xF3, 0x83, 0xA0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, + 0x00, 0xE0, 0x0B, 0x02, 0x5D, 0x3C, 0xF1, 0xC3, 0x00, 0x04, 0x67, 0x8C, + 0x79, 0x87, 0x10, 0xE2, 0x1C, 0x81, 0x90, 0x3A, 0x07, 0x80, 0xF0, 0x1C, + 0x03, 0x00, 0x40, 0x08, 0x32, 0x07, 0x80, 0x3F, 0xCF, 0xE6, 0x30, 0x08, + 0x04, 0x02, 0x01, 0x00, 0xC0, 0x30, 0x1E, 0x0F, 0x98, 0x76, 0x07, 0x00, + 0x01, 0xE0, 0x70, 0x1C, 0x03, 0x80, 0x60, 0x1C, 0x03, 0x80, 0x60, 0x0C, + 0x03, 0x80, 0xF0, 0x3C, 0x07, 0x00, 0x40, 0x0C, 0x01, 0x80, 0x70, 0x0E, + 0x01, 0xC0, 0x30, 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xE0, + 0x18, 0x06, 0x01, 0x80, 0xE0, 0x38, 0x0C, 0x03, 0x00, 0xC0, 0x10, 0x1F, + 0x07, 0x03, 0x80, 0xE0, 0x30, 0x0C, 0x07, 0x01, 0x80, 0xE0, 0xE0, 0x00, + 0x38, 0x0F, 0xCD, 0x1F, 0x80, 0xE0 }; + +const GFXglyph FreeSerifBoldItalic12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 8, 17, 9, 2, -15 }, // 0x21 '!' + { 17, 9, 7, 13, 4, -15 }, // 0x22 '"' + { 25, 14, 16, 12, -1, -15 }, // 0x23 '#' + { 53, 12, 20, 12, 0, -17 }, // 0x24 '$' + { 83, 18, 18, 20, 1, -16 }, // 0x25 '%' + { 124, 16, 17, 19, 0, -15 }, // 0x26 '&' + { 158, 3, 7, 7, 3, -15 }, // 0x27 ''' + { 161, 7, 21, 8, 1, -15 }, // 0x28 '(' + { 180, 7, 21, 8, -1, -15 }, // 0x29 ')' + { 199, 10, 10, 12, 1, -15 }, // 0x2A '*' + { 212, 12, 12, 14, 1, -11 }, // 0x2B '+' + { 230, 5, 8, 6, -2, -3 }, // 0x2C ',' + { 235, 6, 3, 8, 0, -6 }, // 0x2D '-' + { 238, 4, 4, 6, 0, -2 }, // 0x2E '.' + { 240, 10, 16, 8, 0, -15 }, // 0x2F '/' + { 260, 11, 17, 12, 0, -15 }, // 0x30 '0' + { 284, 10, 17, 12, 0, -15 }, // 0x31 '1' + { 306, 11, 17, 12, 0, -15 }, // 0x32 '2' + { 330, 11, 17, 12, 0, -15 }, // 0x33 '3' + { 354, 13, 16, 12, 0, -15 }, // 0x34 '4' + { 380, 12, 17, 12, 0, -15 }, // 0x35 '5' + { 406, 11, 17, 12, 1, -15 }, // 0x36 '6' + { 430, 11, 16, 12, 2, -15 }, // 0x37 '7' + { 452, 11, 17, 12, 0, -15 }, // 0x38 '8' + { 476, 11, 17, 12, 0, -15 }, // 0x39 '9' + { 500, 7, 12, 6, 0, -10 }, // 0x3A ':' + { 511, 8, 15, 6, -1, -10 }, // 0x3B ';' + { 526, 12, 13, 14, 1, -12 }, // 0x3C '<' + { 546, 12, 6, 14, 2, -8 }, // 0x3D '=' + { 555, 13, 13, 14, 1, -12 }, // 0x3E '>' + { 577, 9, 17, 12, 2, -15 }, // 0x3F '?' + { 597, 17, 16, 20, 1, -15 }, // 0x40 '@' + { 631, 16, 17, 17, 0, -15 }, // 0x41 'A' + { 665, 16, 17, 15, 0, -15 }, // 0x42 'B' + { 699, 15, 17, 15, 1, -15 }, // 0x43 'C' + { 731, 18, 17, 17, 0, -15 }, // 0x44 'D' + { 770, 17, 17, 15, 0, -15 }, // 0x45 'E' + { 807, 16, 17, 15, 0, -15 }, // 0x46 'F' + { 841, 17, 17, 17, 1, -15 }, // 0x47 'G' + { 878, 20, 17, 18, 0, -15 }, // 0x48 'H' + { 921, 10, 17, 9, 0, -15 }, // 0x49 'I' + { 943, 14, 18, 12, 0, -15 }, // 0x4A 'J' + { 975, 17, 17, 16, 0, -15 }, // 0x4B 'K' + { 1012, 15, 17, 15, 0, -15 }, // 0x4C 'L' + { 1044, 23, 17, 21, 0, -15 }, // 0x4D 'M' + { 1093, 19, 17, 17, 0, -15 }, // 0x4E 'N' + { 1134, 16, 17, 16, 1, -15 }, // 0x4F 'O' + { 1168, 16, 17, 14, 0, -15 }, // 0x50 'P' + { 1202, 16, 21, 16, 1, -15 }, // 0x51 'Q' + { 1244, 16, 17, 16, 0, -15 }, // 0x52 'R' + { 1278, 12, 17, 12, 0, -15 }, // 0x53 'S' + { 1304, 15, 17, 14, 2, -15 }, // 0x54 'T' + { 1336, 16, 17, 17, 3, -15 }, // 0x55 'U' + { 1370, 16, 16, 17, 3, -15 }, // 0x56 'V' + { 1402, 21, 16, 22, 3, -15 }, // 0x57 'W' + { 1444, 17, 17, 17, 0, -15 }, // 0x58 'X' + { 1481, 14, 17, 15, 3, -15 }, // 0x59 'Y' + { 1511, 15, 17, 13, 0, -15 }, // 0x5A 'Z' + { 1543, 10, 20, 8, -1, -15 }, // 0x5B '[' + { 1568, 6, 16, 10, 3, -15 }, // 0x5C '\' + { 1580, 9, 20, 8, -1, -15 }, // 0x5D ']' + { 1603, 10, 9, 14, 2, -15 }, // 0x5E '^' + { 1615, 12, 1, 12, 0, 4 }, // 0x5F '_' + { 1617, 5, 4, 8, 2, -15 }, // 0x60 '`' + { 1620, 12, 12, 12, 0, -10 }, // 0x61 'a' + { 1638, 11, 18, 12, 1, -16 }, // 0x62 'b' + { 1663, 9, 12, 10, 1, -10 }, // 0x63 'c' + { 1677, 14, 18, 12, 0, -16 }, // 0x64 'd' + { 1709, 9, 12, 10, 1, -10 }, // 0x65 'e' + { 1723, 14, 22, 12, -2, -16 }, // 0x66 'f' + { 1762, 13, 16, 12, -1, -10 }, // 0x67 'g' + { 1788, 13, 18, 13, 0, -16 }, // 0x68 'h' + { 1818, 6, 17, 7, 1, -15 }, // 0x69 'i' + { 1831, 11, 21, 8, -2, -15 }, // 0x6A 'j' + { 1860, 13, 18, 12, 0, -16 }, // 0x6B 'k' + { 1890, 7, 18, 7, 1, -16 }, // 0x6C 'l' + { 1906, 18, 12, 18, 0, -10 }, // 0x6D 'm' + { 1933, 12, 12, 13, 0, -10 }, // 0x6E 'n' + { 1951, 10, 12, 11, 1, -10 }, // 0x6F 'o' + { 1966, 14, 16, 12, -2, -10 }, // 0x70 'p' + { 1994, 12, 16, 12, 0, -10 }, // 0x71 'q' + { 2018, 10, 11, 10, 0, -10 }, // 0x72 'r' + { 2032, 9, 12, 9, 0, -10 }, // 0x73 's' + { 2046, 7, 15, 7, 1, -13 }, // 0x74 't' + { 2060, 12, 12, 13, 1, -10 }, // 0x75 'u' + { 2078, 10, 11, 11, 1, -10 }, // 0x76 'v' + { 2092, 15, 11, 16, 1, -10 }, // 0x77 'w' + { 2113, 13, 12, 11, -1, -10 }, // 0x78 'x' + { 2133, 11, 16, 10, -1, -10 }, // 0x79 'y' + { 2155, 10, 13, 10, 0, -10 }, // 0x7A 'z' + { 2172, 11, 21, 8, 0, -16 }, // 0x7B '{' + { 2201, 2, 16, 6, 3, -15 }, // 0x7C '|' + { 2205, 10, 21, 8, -3, -16 }, // 0x7D '}' + { 2232, 11, 4, 14, 1, -7 } }; // 0x7E '~' + +const GFXfont FreeSerifBoldItalic12pt7b PROGMEM = { + (uint8_t *)FreeSerifBoldItalic12pt7bBitmaps, + (GFXglyph *)FreeSerifBoldItalic12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2910 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h new file mode 100644 index 0000000..e24eea6 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h @@ -0,0 +1,500 @@ +const uint8_t FreeSerifBoldItalic18pt7bBitmaps[] PROGMEM = { + 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x3C, 0x07, + 0x80, 0xE0, 0x1C, 0x03, 0x00, 0x60, 0x0C, 0x03, 0x00, 0x60, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x81, 0xF8, 0x3F, 0x07, 0xE0, 0x78, 0x00, 0x38, + 0x1D, 0xE0, 0xF7, 0x83, 0xDC, 0x0E, 0x70, 0x39, 0xC0, 0xE6, 0x03, 0x18, + 0x0C, 0x40, 0x23, 0x01, 0x80, 0x00, 0x38, 0x60, 0x07, 0x0E, 0x00, 0x70, + 0xC0, 0x06, 0x1C, 0x00, 0xE1, 0xC0, 0x0E, 0x38, 0x01, 0xC3, 0x81, 0xFF, + 0xFF, 0x1F, 0xFF, 0xE1, 0xFF, 0xFE, 0x03, 0x86, 0x00, 0x30, 0xE0, 0x07, + 0x0E, 0x00, 0x71, 0xC0, 0x0E, 0x1C, 0x0F, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, + 0xFF, 0xF0, 0x1C, 0x30, 0x01, 0x87, 0x00, 0x38, 0x70, 0x03, 0x0E, 0x00, + 0x70, 0xE0, 0x07, 0x0C, 0x00, 0xE1, 0xC0, 0x00, 0x00, 0x08, 0x00, 0x0C, + 0x00, 0x7E, 0x00, 0xFF, 0xC0, 0xF3, 0x70, 0x71, 0x9C, 0x70, 0xC6, 0x38, + 0x43, 0x1C, 0x61, 0x0F, 0x30, 0x87, 0xD8, 0x03, 0xF8, 0x00, 0xFE, 0x00, + 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xDF, 0x10, 0x47, + 0x88, 0x63, 0xCC, 0x31, 0xE6, 0x10, 0xF3, 0x98, 0x71, 0xCC, 0x78, 0x7E, + 0x78, 0x07, 0xF8, 0x03, 0xF0, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x03, 0xC0, + 0x18, 0x01, 0xFE, 0x0F, 0x00, 0x7C, 0xFF, 0xC0, 0x1F, 0x0F, 0x98, 0x07, + 0xC1, 0x06, 0x00, 0xF8, 0x21, 0x80, 0x3E, 0x04, 0x30, 0x07, 0xC1, 0x8C, + 0x00, 0xF0, 0x21, 0x80, 0x1E, 0x0C, 0x60, 0x03, 0xC1, 0x0C, 0x00, 0x78, + 0xC3, 0x03, 0xC7, 0xF8, 0x61, 0xFC, 0x7C, 0x18, 0x7C, 0xC0, 0x06, 0x1F, + 0x08, 0x00, 0xC7, 0xC1, 0x00, 0x30, 0xF0, 0x20, 0x06, 0x3E, 0x04, 0x01, + 0x87, 0xC1, 0x00, 0x30, 0xF0, 0x20, 0x0C, 0x1E, 0x0C, 0x03, 0x03, 0xC1, + 0x00, 0x60, 0x3C, 0xC0, 0x18, 0x07, 0xF8, 0x03, 0x00, 0x7C, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x1E, 0x38, 0x00, 0x0E, 0x0E, 0x00, + 0x0F, 0x07, 0x00, 0x07, 0x83, 0x80, 0x03, 0xC3, 0x80, 0x01, 0xE3, 0x80, + 0x00, 0xF7, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7F, 0x0F, + 0xF0, 0xE7, 0x81, 0xE0, 0xE3, 0xE0, 0xE0, 0xE1, 0xF0, 0x60, 0xE0, 0x7C, + 0x60, 0xF0, 0x3E, 0x20, 0x78, 0x1F, 0xB0, 0x3C, 0x07, 0xF0, 0x1F, 0x03, + 0xF0, 0x0F, 0x80, 0xFC, 0x03, 0xF0, 0x7F, 0x8D, 0xFF, 0xEF, 0xFC, 0x7F, + 0xE3, 0xFC, 0x0F, 0xC0, 0x78, 0x00, 0x3B, 0xDE, 0xE7, 0x39, 0x8C, 0x46, + 0x00, 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x1C, 0x07, 0x01, 0xE0, + 0x38, 0x0F, 0x01, 0xC0, 0x38, 0x0F, 0x01, 0xE0, 0x38, 0x07, 0x00, 0xE0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x06, + 0x00, 0xC0, 0x08, 0x00, 0x80, 0x10, 0x00, 0x06, 0x00, 0x40, 0x04, 0x00, + 0x80, 0x18, 0x01, 0x00, 0x30, 0x06, 0x00, 0xC0, 0x1C, 0x03, 0x80, 0x70, + 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x01, 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x3C, + 0x07, 0x00, 0xE0, 0x38, 0x06, 0x01, 0xC0, 0x70, 0x18, 0x06, 0x01, 0x80, + 0x00, 0x07, 0x00, 0x38, 0x01, 0xC1, 0x8E, 0x3E, 0x23, 0xF9, 0x3F, 0xEB, + 0xE0, 0xE0, 0xFF, 0xF7, 0x93, 0xF8, 0x9F, 0x8E, 0x60, 0x70, 0x03, 0x80, + 0x08, 0x00, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, + 0x00, 0x0E, 0x00, 0x07, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, + 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, + 0x01, 0xC0, 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xE1, 0xC3, 0x0C, 0x30, 0xC2, + 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x7B, 0xFF, 0xFF, 0x78, 0x00, 0x1C, + 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, + 0x01, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x70, + 0x03, 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xC0, + 0x07, 0x00, 0x1C, 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x07, 0x30, 0x1C, 0x30, + 0x78, 0x60, 0xE0, 0xE3, 0xC1, 0xCF, 0x83, 0x9E, 0x0F, 0x3C, 0x1E, 0xF8, + 0x3D, 0xE0, 0x7B, 0xC1, 0xFF, 0x83, 0xFF, 0x07, 0xBC, 0x0F, 0x78, 0x3E, + 0xF0, 0x7D, 0xE0, 0xF3, 0x81, 0xE7, 0x07, 0x8E, 0x0F, 0x0C, 0x3C, 0x18, + 0x70, 0x19, 0xC0, 0x1E, 0x00, 0x00, 0x06, 0x01, 0xF8, 0x1F, 0xF0, 0x03, + 0xE0, 0x07, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, + 0x07, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xE0, 0x07, + 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, + 0x0F, 0xC0, 0xFF, 0xF0, 0x00, 0xF8, 0x01, 0xFC, 0x03, 0xFE, 0x06, 0x3F, + 0x08, 0x1F, 0x18, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, + 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0xC0, + 0x01, 0x80, 0x03, 0x00, 0x06, 0x02, 0x0C, 0x06, 0x08, 0x0C, 0x1F, 0xFC, + 0x3F, 0xFC, 0x7F, 0xF8, 0xFF, 0xF8, 0x00, 0xF0, 0x07, 0xF8, 0x1F, 0xF0, + 0x61, 0xF0, 0x81, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0E, 0x00, 0x3C, 0x00, + 0xE0, 0x07, 0xC0, 0x3F, 0xC0, 0x1F, 0x80, 0x0F, 0x80, 0x1F, 0x00, 0x1E, + 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xC0, 0x07, 0x9C, 0x0E, 0x3C, + 0x38, 0x7F, 0xE0, 0x7E, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x3C, + 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x02, 0xF8, 0x01, 0x3C, 0x00, + 0x9F, 0x00, 0x47, 0xC0, 0x31, 0xE0, 0x18, 0x78, 0x0C, 0x3E, 0x06, 0x0F, + 0x83, 0x03, 0xC1, 0x80, 0xF0, 0x7F, 0xFF, 0x1F, 0xFF, 0xCF, 0xFF, 0xF0, + 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, + 0xFF, 0x00, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x60, 0x00, 0x30, 0x00, + 0x10, 0x00, 0x1F, 0x00, 0x0F, 0xE0, 0x0F, 0xF8, 0x07, 0xFE, 0x00, 0x3F, + 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1C, 0x00, + 0x0E, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x87, 0x83, 0x83, 0xE3, 0x81, + 0xFF, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x03, 0x80, 0x0F, 0x80, 0x1F, 0x00, + 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x1F, 0x00, + 0x1F, 0xF0, 0x1F, 0xFE, 0x0F, 0xCF, 0x07, 0xC3, 0xC7, 0xE1, 0xE3, 0xE0, + 0xF1, 0xF0, 0x78, 0xF8, 0x3C, 0x78, 0x3E, 0x3C, 0x1F, 0x1E, 0x0F, 0x0F, + 0x0F, 0x83, 0x87, 0x81, 0xE7, 0x80, 0x7F, 0x80, 0x0F, 0x80, 0x00, 0x3F, + 0xFF, 0x3F, 0xFE, 0x3F, 0xFE, 0x7F, 0xFC, 0x60, 0x1C, 0x80, 0x38, 0x80, + 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x01, 0xC0, 0x01, 0xC0, 0x03, + 0x80, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x1C, + 0x00, 0x38, 0x00, 0x38, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0x00, + 0xF8, 0x00, 0xFF, 0x00, 0xE1, 0xC0, 0xE0, 0xF0, 0xF0, 0x38, 0x78, 0x1C, + 0x3C, 0x0E, 0x1F, 0x07, 0x0F, 0x87, 0x07, 0xE7, 0x01, 0xFF, 0x00, 0x7E, + 0x00, 0x1F, 0x80, 0x3F, 0xE0, 0x73, 0xF0, 0x70, 0xFC, 0x70, 0x3E, 0x70, + 0x0F, 0x38, 0x07, 0x9C, 0x03, 0xCE, 0x01, 0xE7, 0x00, 0xE1, 0xC0, 0xE0, + 0x70, 0xE0, 0x0F, 0xC0, 0x00, 0x00, 0xF8, 0x01, 0xFF, 0x01, 0xF3, 0xC1, + 0xF0, 0xE1, 0xF0, 0x70, 0xF0, 0x3C, 0xF8, 0x1E, 0x7C, 0x0F, 0x3C, 0x0F, + 0x9E, 0x07, 0xCF, 0x03, 0xE7, 0x83, 0xF3, 0xC1, 0xF0, 0xF1, 0xF8, 0x3F, + 0xF8, 0x0F, 0xFC, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, + 0x3C, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0xF0, 0x00, 0xC0, 0x00, 0x00, 0x07, + 0x83, 0xF0, 0xFC, 0x3F, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x3F, 0x0F, 0xC3, 0xF0, 0x78, 0x00, 0x03, 0xC0, 0xFC, + 0x1F, 0x83, 0xF0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x03, 0xC0, 0x7C, 0x0F, 0x80, 0xF0, 0x0E, 0x01, 0x80, 0x30, 0x0C, + 0x03, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x7C, 0x00, + 0x7F, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFE, 0x00, 0xFE, 0x00, + 0x3E, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, + 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x04, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, + 0x38, 0x00, 0x0F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xFC, 0x00, + 0x3F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0xFC, 0x00, + 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFC, 0x03, 0xFC, 0x00, 0xFC, 0x00, + 0x3C, 0x00, 0x08, 0x00, 0x00, 0x07, 0xC0, 0xFF, 0x0E, 0x3C, 0x70, 0xF3, + 0xC7, 0x8C, 0x3C, 0x01, 0xE0, 0x1F, 0x00, 0xF0, 0x07, 0x80, 0x78, 0x07, + 0x80, 0x30, 0x03, 0x00, 0x10, 0x01, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x80, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0x78, 0x00, 0x00, 0x3F, + 0x80, 0x00, 0xFF, 0xF8, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x03, 0x81, 0xC0, + 0x00, 0xE1, 0xC0, 0x18, 0x38, 0xE0, 0x3F, 0xCC, 0xE0, 0x3C, 0xE7, 0x70, + 0x3C, 0x71, 0xF0, 0x1C, 0x30, 0xF8, 0x1E, 0x38, 0x7C, 0x0E, 0x1C, 0x3E, + 0x0F, 0x0E, 0x1F, 0x07, 0x0E, 0x0F, 0x83, 0x87, 0x0D, 0xC1, 0xC7, 0x86, + 0x70, 0xE5, 0xC6, 0x38, 0x7C, 0xFE, 0x1C, 0x1C, 0x3E, 0x07, 0x00, 0x00, + 0x01, 0xC0, 0x00, 0x00, 0x78, 0x00, 0x40, 0x1F, 0x00, 0xE0, 0x03, 0xFF, + 0xE0, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, + 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x17, 0xC0, 0x00, 0x67, 0x80, 0x00, 0x8F, + 0x00, 0x03, 0x1F, 0x00, 0x0C, 0x3E, 0x00, 0x10, 0x7C, 0x00, 0x60, 0xF8, + 0x00, 0x81, 0xF0, 0x03, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x18, 0x07, 0xC0, + 0x60, 0x0F, 0x81, 0xC0, 0x1F, 0x03, 0x00, 0x3E, 0x0E, 0x00, 0x7C, 0x3C, + 0x00, 0xFC, 0xFE, 0x0F, 0xFE, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x01, + 0xF8, 0x7E, 0x01, 0xF8, 0x3F, 0x01, 0xF0, 0x3F, 0x01, 0xF0, 0x3F, 0x01, + 0xF0, 0x3F, 0x03, 0xE0, 0x3F, 0x03, 0xE0, 0x7E, 0x03, 0xE0, 0xFC, 0x03, + 0xE3, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xC3, 0xE0, 0x07, 0xC1, 0xF8, 0x0F, + 0xC0, 0xF8, 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFC, 0x1F, + 0x80, 0xFC, 0x1F, 0x01, 0xFC, 0x1F, 0x01, 0xF8, 0x1F, 0x03, 0xF0, 0x3F, + 0x0F, 0xE0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0x82, 0x01, + 0xFF, 0xE8, 0x07, 0xE0, 0xF0, 0x3F, 0x80, 0xE0, 0xFE, 0x00, 0xC1, 0xF8, + 0x01, 0x87, 0xE0, 0x02, 0x1F, 0x80, 0x04, 0x3F, 0x00, 0x00, 0xFC, 0x00, + 0x01, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, + 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x03, + 0xF0, 0x00, 0x03, 0xE0, 0x01, 0x07, 0xE0, 0x06, 0x07, 0xE0, 0x18, 0x07, + 0xE0, 0xE0, 0x07, 0xFF, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xFF, 0xE0, 0x01, + 0xFF, 0xFE, 0x00, 0x1F, 0x87, 0xE0, 0x07, 0xE0, 0x7C, 0x01, 0xF0, 0x1F, + 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x0F, 0x80, 0x3F, 0x03, 0xE0, + 0x0F, 0xC0, 0xF8, 0x03, 0xF0, 0x3E, 0x00, 0xFC, 0x1F, 0x00, 0x3F, 0x07, + 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xF0, 0xFC, 0x01, 0xF8, 0x3E, 0x00, 0x7E, + 0x0F, 0x80, 0x3F, 0x83, 0xE0, 0x0F, 0xC1, 0xF8, 0x07, 0xF0, 0x7C, 0x01, + 0xF8, 0x1F, 0x00, 0xFC, 0x07, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x01, 0xFF, + 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, + 0x07, 0xE0, 0x78, 0x0F, 0xC0, 0x60, 0x1F, 0x00, 0x40, 0x3E, 0x00, 0x80, + 0x7C, 0x01, 0x01, 0xF8, 0x10, 0x03, 0xE0, 0x60, 0x07, 0xC3, 0x80, 0x0F, + 0xFF, 0x00, 0x3F, 0xFE, 0x00, 0x7C, 0x38, 0x00, 0xF8, 0x30, 0x03, 0xF0, + 0x60, 0x07, 0xC0, 0x80, 0x0F, 0x81, 0x00, 0x1F, 0x00, 0x10, 0x7E, 0x00, + 0x60, 0xF8, 0x01, 0xC1, 0xF0, 0x07, 0x03, 0xE0, 0x1E, 0x0F, 0xC0, 0xFC, + 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, + 0x07, 0xE0, 0x78, 0x0F, 0xC0, 0x60, 0x1F, 0x00, 0x40, 0x3E, 0x00, 0x80, + 0x7C, 0x01, 0x01, 0xF8, 0x20, 0x03, 0xE0, 0xC0, 0x07, 0xC3, 0x80, 0x0F, + 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0x7C, 0x38, 0x00, 0xF8, 0x30, 0x03, 0xF0, + 0x60, 0x07, 0xC0, 0x80, 0x0F, 0x81, 0x00, 0x1F, 0x00, 0x00, 0x7E, 0x00, + 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, + 0x3F, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x1F, 0xC2, 0x00, 0xFF, 0xF6, + 0x01, 0xF8, 0x3C, 0x03, 0xE0, 0x1C, 0x0F, 0xC0, 0x0C, 0x0F, 0xC0, 0x08, + 0x1F, 0x80, 0x08, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFC, 0x03, 0xFF, + 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0xF8, 0xFC, 0x00, 0xF8, 0xFC, 0x00, 0xF8, + 0xFC, 0x00, 0xF0, 0x7C, 0x01, 0xF0, 0x7E, 0x01, 0xF0, 0x3E, 0x01, 0xF0, + 0x1F, 0x83, 0xE0, 0x0F, 0xFF, 0x80, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0x3F, + 0xF8, 0x0F, 0xE0, 0x7F, 0x00, 0x7E, 0x01, 0xF8, 0x03, 0xF0, 0x0F, 0x80, + 0x1F, 0x00, 0x7C, 0x00, 0xF8, 0x07, 0xE0, 0x07, 0xC0, 0x3E, 0x00, 0x7E, + 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0xF8, 0x00, 0xF8, 0x07, + 0xC0, 0x0F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF0, 0x03, 0xE0, 0x1F, 0x00, + 0x3F, 0x00, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x7E, 0x00, 0x7C, + 0x03, 0xE0, 0x07, 0xE0, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x01, 0xF0, 0x0F, + 0xC0, 0x0F, 0x80, 0x7C, 0x00, 0xFC, 0x03, 0xE0, 0x0F, 0xE0, 0x3F, 0x80, + 0xFF, 0xC7, 0xFF, 0x00, 0x07, 0xFE, 0x03, 0xF8, 0x07, 0xE0, 0x0F, 0xC0, + 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, + 0x80, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xF0, 0x07, 0xC0, 0x0F, 0x80, + 0x1F, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0xC0, 0x3F, + 0x80, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x01, 0xFE, 0x00, 0x0F, 0xC0, 0x00, + 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xF0, 0x00, + 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, + 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, + 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x61, 0xF0, + 0x0F, 0x3F, 0x00, 0xE7, 0xE0, 0x07, 0xFC, 0x00, 0x3F, 0x00, 0x00, 0x07, + 0xFF, 0x3F, 0x80, 0xFE, 0x07, 0x80, 0x7E, 0x03, 0x00, 0x3F, 0x03, 0x00, + 0x1F, 0x03, 0x00, 0x0F, 0x83, 0x00, 0x07, 0xC3, 0x00, 0x07, 0xE3, 0x00, + 0x03, 0xE3, 0x00, 0x01, 0xF3, 0x00, 0x00, 0xFB, 0x80, 0x00, 0xFB, 0xC0, + 0x00, 0x7F, 0xE0, 0x00, 0x3E, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x1F, + 0x00, 0x0F, 0x8F, 0x80, 0x07, 0xC7, 0xE0, 0x07, 0xE1, 0xF0, 0x03, 0xE0, + 0xFC, 0x01, 0xF0, 0x3E, 0x00, 0xF8, 0x1F, 0x00, 0xFC, 0x07, 0xC0, 0xFE, + 0x07, 0xF0, 0xFF, 0xCF, 0xFC, 0x00, 0x07, 0xFF, 0x00, 0x07, 0xF0, 0x00, + 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, + 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, + 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x03, + 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x11, 0xF0, 0x00, 0xC7, 0xC0, + 0x06, 0x1F, 0x00, 0x38, 0x7C, 0x01, 0xE3, 0xF0, 0x3F, 0x9F, 0xFF, 0xFC, + 0xFF, 0xFF, 0xF0, 0x07, 0xF8, 0x00, 0x7F, 0x80, 0xFC, 0x00, 0x3F, 0x80, + 0x3E, 0x00, 0x3F, 0x80, 0x1F, 0x00, 0x3F, 0x80, 0x1F, 0x80, 0x1F, 0xC0, + 0x0F, 0xE0, 0x1B, 0xE0, 0x07, 0xF0, 0x0D, 0xF0, 0x02, 0xF8, 0x0D, 0xF0, + 0x03, 0x7C, 0x0C, 0xF8, 0x01, 0xBE, 0x06, 0x7C, 0x00, 0xDF, 0x06, 0x7C, + 0x00, 0xCF, 0x83, 0x3E, 0x00, 0x67, 0xC3, 0x1F, 0x00, 0x31, 0xE3, 0x0F, + 0x80, 0x38, 0xF9, 0x8F, 0x80, 0x18, 0x7D, 0x87, 0xC0, 0x0C, 0x3F, 0x83, + 0xE0, 0x06, 0x1F, 0xC1, 0xF0, 0x06, 0x0F, 0xC1, 0xF0, 0x03, 0x07, 0xC0, + 0xF8, 0x01, 0x83, 0xE0, 0x7C, 0x01, 0xC0, 0xE0, 0x7E, 0x00, 0xE0, 0x70, + 0x3F, 0x00, 0xF8, 0x30, 0x3F, 0x80, 0xFF, 0x10, 0x7F, 0xF0, 0x00, 0x07, + 0xF0, 0x0F, 0xE0, 0x3E, 0x00, 0x78, 0x07, 0xE0, 0x06, 0x00, 0x7C, 0x00, + 0xC0, 0x1F, 0xC0, 0x10, 0x03, 0xF8, 0x06, 0x00, 0x6F, 0x80, 0xC0, 0x19, + 0xF0, 0x10, 0x03, 0x3F, 0x02, 0x00, 0x63, 0xE0, 0xC0, 0x0C, 0x7C, 0x18, + 0x03, 0x07, 0xC2, 0x00, 0x60, 0xF8, 0x40, 0x0C, 0x0F, 0x98, 0x03, 0x81, + 0xF3, 0x00, 0x60, 0x3F, 0x40, 0x0C, 0x03, 0xF8, 0x01, 0x80, 0x7F, 0x00, + 0x60, 0x07, 0xC0, 0x0C, 0x00, 0xF8, 0x01, 0x80, 0x0F, 0x00, 0x70, 0x01, + 0xE0, 0x0E, 0x00, 0x18, 0x03, 0xE0, 0x03, 0x00, 0x02, 0x00, 0x60, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xC0, 0x07, 0xC3, 0xE0, 0x1F, 0x03, 0xC0, + 0x7C, 0x03, 0xC1, 0xF0, 0x07, 0x87, 0xE0, 0x0F, 0x8F, 0x80, 0x1F, 0x3F, + 0x00, 0x3E, 0x7C, 0x00, 0x7D, 0xF8, 0x01, 0xFB, 0xE0, 0x03, 0xF7, 0xC0, + 0x07, 0xDF, 0x80, 0x1F, 0xBF, 0x00, 0x3F, 0x7C, 0x00, 0x7C, 0xF8, 0x01, + 0xF9, 0xF0, 0x03, 0xE3, 0xE0, 0x0F, 0xC7, 0xC0, 0x1F, 0x07, 0x80, 0x7C, + 0x0F, 0x81, 0xF0, 0x0F, 0x87, 0xC0, 0x0F, 0xFE, 0x00, 0x07, 0xF0, 0x00, + 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x07, 0xE3, 0xF0, 0x0F, 0x83, 0xE0, + 0x1F, 0x07, 0xE0, 0x3E, 0x0F, 0xC0, 0x7C, 0x1F, 0x81, 0xF0, 0x3F, 0x03, + 0xE0, 0xFE, 0x07, 0xC1, 0xF8, 0x0F, 0x87, 0xF0, 0x3E, 0x1F, 0xC0, 0x7F, + 0xFE, 0x00, 0xFF, 0xF0, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, + 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, + 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xC0, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xC0, 0x07, 0xC3, 0xE0, 0x1F, 0x03, 0xC0, + 0x7C, 0x03, 0xC1, 0xF0, 0x07, 0x87, 0xE0, 0x0F, 0x8F, 0x80, 0x1F, 0x3F, + 0x00, 0x3E, 0x7C, 0x00, 0x7D, 0xF8, 0x01, 0xFB, 0xF0, 0x03, 0xF7, 0xC0, + 0x07, 0xDF, 0x80, 0x0F, 0xBF, 0x00, 0x3F, 0x7C, 0x00, 0x7C, 0xF8, 0x01, + 0xF9, 0xF0, 0x03, 0xE3, 0xE0, 0x07, 0xC7, 0xC0, 0x1F, 0x07, 0x80, 0x7C, + 0x0F, 0x01, 0xF0, 0x0F, 0x07, 0x80, 0x07, 0xFE, 0x00, 0x03, 0x80, 0x00, + 0x0C, 0x00, 0x00, 0x3C, 0x00, 0x20, 0xFF, 0xC1, 0x87, 0xFF, 0xFE, 0x1E, + 0xFF, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, + 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF0, 0x3F, + 0x01, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xE0, 0x7E, 0x03, 0xE0, 0xFE, + 0x03, 0xE1, 0xF8, 0x07, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xDF, 0xC0, + 0x0F, 0xCF, 0xC0, 0x0F, 0xCF, 0xC0, 0x0F, 0x8F, 0xE0, 0x0F, 0x87, 0xE0, + 0x1F, 0x87, 0xE0, 0x1F, 0x03, 0xF0, 0x1F, 0x03, 0xF0, 0x1F, 0x03, 0xF0, + 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0xFF, 0xE1, 0xFE, 0x00, 0xF8, 0x40, + 0xFF, 0xB0, 0x38, 0x3C, 0x1C, 0x07, 0x0F, 0x01, 0xC3, 0xC0, 0x20, 0xF0, + 0x08, 0x3E, 0x02, 0x0F, 0xC0, 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, + 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x00, + 0x03, 0xC4, 0x00, 0xF1, 0x00, 0x3C, 0x60, 0x0F, 0x38, 0x07, 0x8F, 0x83, + 0xC2, 0x3F, 0xE0, 0x83, 0xF0, 0x00, 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xCF, + 0x1F, 0x1E, 0x70, 0xF8, 0x77, 0x0F, 0x83, 0x30, 0x7C, 0x09, 0x03, 0xE0, + 0x40, 0x3F, 0x02, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, + 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, + 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, + 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0xFF, 0xF0, 0x00, + 0x7F, 0xF0, 0xFF, 0x1F, 0xC0, 0x3E, 0x1F, 0x80, 0x1C, 0x1F, 0x80, 0x18, + 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x30, 0x3F, 0x00, 0x30, + 0x3E, 0x00, 0x30, 0x3E, 0x00, 0x30, 0x7E, 0x00, 0x60, 0x7C, 0x00, 0x60, + 0x7C, 0x00, 0x60, 0x7C, 0x00, 0xC0, 0x7C, 0x00, 0xC0, 0xF8, 0x00, 0xC0, + 0xF8, 0x00, 0xC0, 0xF8, 0x01, 0x80, 0xF8, 0x01, 0x80, 0xF8, 0x03, 0x80, + 0xF8, 0x03, 0x00, 0x7C, 0x06, 0x00, 0x7E, 0x1E, 0x00, 0x3F, 0xF8, 0x00, + 0x0F, 0xE0, 0x00, 0xFF, 0xE0, 0x7F, 0x3F, 0x80, 0x1C, 0x1F, 0x80, 0x18, + 0x1F, 0x80, 0x18, 0x1F, 0x80, 0x30, 0x1F, 0x80, 0x30, 0x0F, 0x80, 0x60, + 0x0F, 0x80, 0x40, 0x0F, 0x80, 0xC0, 0x0F, 0x81, 0x80, 0x0F, 0x81, 0x00, + 0x0F, 0xC3, 0x00, 0x0F, 0xC6, 0x00, 0x07, 0xC6, 0x00, 0x07, 0xCC, 0x00, + 0x07, 0xC8, 0x00, 0x07, 0xD8, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, + 0x07, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0x80, 0x00, + 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0xFF, 0xCF, 0xF8, 0x7E, 0x7F, 0x07, + 0xE0, 0x38, 0x7C, 0x07, 0x80, 0x60, 0xF8, 0x0F, 0x00, 0x81, 0xF0, 0x1E, + 0x03, 0x03, 0xE0, 0x3E, 0x04, 0x07, 0xE0, 0xFC, 0x18, 0x07, 0xC1, 0xF8, + 0x20, 0x0F, 0x87, 0xF0, 0xC0, 0x1F, 0x0B, 0xE1, 0x00, 0x3E, 0x37, 0xC6, + 0x00, 0x7C, 0x47, 0x88, 0x00, 0xF9, 0x8F, 0x30, 0x01, 0xF2, 0x1F, 0x40, + 0x03, 0xEC, 0x3E, 0x80, 0x03, 0xF0, 0x7F, 0x00, 0x07, 0xE0, 0xFC, 0x00, + 0x0F, 0x81, 0xF8, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x3C, 0x07, 0xC0, 0x00, + 0x78, 0x07, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x01, + 0x80, 0x30, 0x00, 0x02, 0x00, 0x40, 0x00, 0x0F, 0xFE, 0x3F, 0x81, 0xFC, + 0x07, 0x80, 0x7C, 0x03, 0x00, 0x3F, 0x03, 0x00, 0x0F, 0x83, 0x80, 0x07, + 0xC1, 0x80, 0x03, 0xE1, 0x80, 0x00, 0xF9, 0x80, 0x00, 0x7D, 0x80, 0x00, + 0x3F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, + 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xCF, 0x00, + 0x00, 0xC7, 0xC0, 0x00, 0xC3, 0xE0, 0x00, 0xC1, 0xF0, 0x00, 0xC0, 0x7C, + 0x00, 0xE0, 0x3E, 0x00, 0xE0, 0x1F, 0x00, 0xF8, 0x1F, 0xE0, 0xFF, 0x1F, + 0xF8, 0x00, 0xFF, 0xC3, 0xF9, 0xF8, 0x07, 0x87, 0xC0, 0x38, 0x3E, 0x01, + 0x81, 0xF0, 0x18, 0x07, 0xC0, 0x80, 0x3E, 0x0C, 0x01, 0xF0, 0xC0, 0x07, + 0xC4, 0x00, 0x3E, 0x60, 0x01, 0xF6, 0x00, 0x07, 0xA0, 0x00, 0x3F, 0x00, + 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, + 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, + 0x7E, 0x00, 0x07, 0xF0, 0x00, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x3F, + 0xFF, 0xC3, 0xE0, 0x7E, 0x1C, 0x07, 0xE0, 0xC0, 0x3E, 0x0C, 0x03, 0xF0, + 0x40, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x1F, + 0x80, 0x00, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, + 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x83, 0xE0, 0x0C, 0x3F, 0x00, + 0xC3, 0xF0, 0x0E, 0x1F, 0x00, 0xF1, 0xF8, 0x1F, 0x9F, 0xFF, 0xF8, 0xFF, + 0xFF, 0xC0, 0x01, 0xFC, 0x0F, 0xE0, 0x3C, 0x00, 0xE0, 0x03, 0x80, 0x1E, + 0x00, 0x78, 0x01, 0xC0, 0x07, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0x80, 0x0E, + 0x00, 0x38, 0x01, 0xE0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, + 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, + 0x00, 0x3C, 0x00, 0xFF, 0x03, 0xF8, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0, + 0x70, 0x0C, 0x03, 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x70, 0x0C, 0x03, + 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x70, 0x0C, 0x03, 0x80, 0xE0, 0x38, + 0x07, 0x01, 0xC0, 0x03, 0xFC, 0x0F, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x38, + 0x01, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x00, 0x38, + 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, 0x00, 0x3C, + 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x00, 0x1C, + 0x00, 0xF0, 0x03, 0xC0, 0xFE, 0x03, 0xF8, 0x00, 0x03, 0xC0, 0x03, 0xC0, + 0x07, 0xE0, 0x07, 0xE0, 0x0E, 0x70, 0x0E, 0x70, 0x1C, 0x78, 0x1C, 0x38, + 0x3C, 0x3C, 0x38, 0x1C, 0x78, 0x1E, 0x70, 0x0E, 0xF0, 0x0E, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE1, 0xE3, 0xC1, 0xC1, 0xC0, 0xC0, 0x00, + 0xF7, 0x80, 0xFD, 0xE0, 0x7C, 0xF0, 0x3C, 0x3C, 0x1E, 0x0F, 0x0F, 0x83, + 0x83, 0xC1, 0xE1, 0xE0, 0x78, 0x78, 0x1C, 0x3E, 0x0F, 0x0F, 0x03, 0xC3, + 0xC1, 0xF0, 0xF0, 0xFC, 0xFE, 0x6F, 0x6F, 0xF3, 0xF1, 0xF8, 0xF8, 0x3C, + 0x1C, 0x00, 0x01, 0xE0, 0x1F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0x80, + 0x07, 0x80, 0x0F, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x3C, 0x1E, 0xFE, + 0x1F, 0x9F, 0x1F, 0x0F, 0x1E, 0x0F, 0x3E, 0x0F, 0x3C, 0x0F, 0x3C, 0x1F, + 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x78, 0x3C, 0xF0, 0x78, 0xF0, 0xF0, + 0xF1, 0xE0, 0x7F, 0xC0, 0x3F, 0x00, 0x01, 0xF0, 0x3F, 0xC3, 0xCE, 0x3C, + 0xF3, 0xC7, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x03, 0x78, 0x31, 0xE3, 0x0F, 0xF0, 0x1E, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x0F, + 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x01, 0xEF, 0x00, 0x7F, 0xE0, 0x3E, 0x7C, + 0x07, 0x8F, 0x01, 0xE1, 0xE0, 0x78, 0x3C, 0x0F, 0x0F, 0x83, 0xC1, 0xE0, + 0x78, 0x3C, 0x1E, 0x0F, 0x83, 0xC1, 0xF0, 0x78, 0x7C, 0x0F, 0x0F, 0x91, + 0xE3, 0xF6, 0x3F, 0xDF, 0x83, 0xF3, 0xE0, 0x3C, 0x38, 0x00, 0x01, 0xE0, + 0x3F, 0x83, 0xCE, 0x3C, 0x73, 0xC3, 0x9E, 0x1D, 0xE1, 0xCF, 0x1C, 0xFB, + 0xC7, 0xF8, 0x3C, 0x01, 0xE0, 0x0F, 0x02, 0x78, 0x31, 0xE3, 0x0F, 0xF0, + 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x1D, 0xC0, 0x01, 0xCE, 0x00, 0x1C, + 0x70, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, + 0x3C, 0x00, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x00, 0xF0, 0x00, 0x07, 0x80, + 0x00, 0x3C, 0x00, 0x03, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, + 0x80, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, + 0x07, 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, + 0x00, 0x0F, 0x00, 0x0E, 0x70, 0x00, 0x77, 0x80, 0x03, 0xF8, 0x00, 0x0F, + 0x80, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0xFC, 0x1F, 0x1F, 0x87, 0xC3, 0xC1, + 0xF0, 0x78, 0x3C, 0x1F, 0x07, 0x83, 0xE0, 0xF0, 0xF8, 0x0E, 0x3E, 0x01, + 0xFF, 0x80, 0x3F, 0xC0, 0x0C, 0x00, 0x03, 0xC0, 0x00, 0x7F, 0x80, 0x0F, + 0xFE, 0x00, 0x7F, 0xF0, 0x70, 0xFF, 0x1C, 0x03, 0xE3, 0x80, 0x3C, 0x70, + 0x07, 0x0F, 0x03, 0xE0, 0xFF, 0xF0, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x03, + 0xE0, 0x00, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, + 0x1F, 0x00, 0x0F, 0x0E, 0x07, 0x9F, 0x83, 0xDF, 0xC3, 0xE9, 0xE1, 0xE8, + 0xF0, 0xF8, 0xF8, 0x7C, 0x78, 0x7C, 0x3C, 0x3E, 0x3E, 0x1E, 0x1E, 0x1F, + 0x0F, 0x0F, 0x0F, 0x87, 0x87, 0xCB, 0xC3, 0xCB, 0xE1, 0xE9, 0xE0, 0xFC, + 0xF0, 0x38, 0x00, 0x03, 0x03, 0xC1, 0xE0, 0xF0, 0x30, 0x00, 0x00, 0x00, + 0x07, 0x3F, 0x87, 0x83, 0xC1, 0xE0, 0xF0, 0xF0, 0x78, 0x3C, 0x1E, 0x1E, + 0x0F, 0x27, 0x17, 0x93, 0xF1, 0xF8, 0x70, 0x00, 0x00, 0x06, 0x00, 0x0F, + 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0xFE, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, + 0x00, 0x7C, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF8, 0x00, 0xF0, + 0x00, 0xF0, 0x00, 0xF0, 0x01, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, + 0x03, 0xC0, 0xE3, 0xC0, 0xE7, 0x80, 0xFF, 0x00, 0x7C, 0x00, 0x1F, 0xC0, + 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, + 0x00, 0x1F, 0x00, 0x0F, 0x3F, 0x87, 0x87, 0x83, 0xC3, 0x03, 0xE3, 0x01, + 0xE3, 0x00, 0xF3, 0x00, 0x7B, 0x80, 0x7B, 0xC0, 0x3F, 0xE0, 0x1E, 0xF0, + 0x1F, 0x78, 0x0F, 0x1E, 0x07, 0x8F, 0x13, 0xC7, 0x93, 0xE1, 0xF9, 0xE0, + 0xF8, 0xF0, 0x38, 0x00, 0x1F, 0xC0, 0xF8, 0x1F, 0x03, 0xC0, 0x78, 0x1F, + 0x03, 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, + 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x8F, 0x31, 0xEC, 0x3F, 0x07, + 0xC0, 0x70, 0x00, 0x01, 0x87, 0x07, 0x0F, 0xE7, 0xE7, 0xE0, 0xF3, 0xF9, + 0xF8, 0x3D, 0x9E, 0x9E, 0x0F, 0x47, 0xC7, 0x83, 0xE1, 0xD1, 0xE1, 0xF8, + 0xF8, 0xF0, 0x7C, 0x3C, 0x3C, 0x1F, 0x0F, 0x1F, 0x0F, 0x87, 0xC7, 0x83, + 0xE1, 0xE1, 0xE0, 0xF0, 0x78, 0x78, 0x3C, 0x1E, 0x3C, 0x1F, 0x0F, 0x0F, + 0x27, 0x83, 0xC3, 0xD1, 0xE0, 0xF0, 0xFC, 0xF8, 0x78, 0x1C, 0x00, 0x01, + 0x8F, 0x0F, 0xE7, 0xE0, 0xF3, 0xF8, 0x3C, 0x9E, 0x0F, 0x47, 0x87, 0xA3, + 0xC1, 0xE8, 0xF0, 0x7C, 0x3C, 0x1E, 0x1E, 0x0F, 0x87, 0x83, 0xE1, 0xE0, + 0xF0, 0xF8, 0x3C, 0x3C, 0x1F, 0x0F, 0x27, 0x83, 0xD1, 0xE0, 0xFC, 0x78, + 0x1C, 0x00, 0x01, 0xF0, 0x0E, 0x30, 0x38, 0x70, 0xF0, 0xF3, 0xC1, 0xE7, + 0x83, 0xDE, 0x07, 0xBC, 0x1F, 0xF8, 0x3F, 0xE0, 0x7B, 0xC0, 0xF7, 0x83, + 0xCF, 0x07, 0x9E, 0x1E, 0x1C, 0x38, 0x1C, 0xE0, 0x1F, 0x00, 0x00, 0xE3, + 0x80, 0xFD, 0xF8, 0x0F, 0xFF, 0x81, 0xE8, 0xF0, 0x3E, 0x1E, 0x07, 0x83, + 0xC0, 0xF0, 0x78, 0x3E, 0x1F, 0x07, 0x83, 0xC0, 0xF0, 0x78, 0x1E, 0x1F, + 0x07, 0x83, 0xC0, 0xF0, 0xF8, 0x1E, 0x1E, 0x03, 0xC7, 0x80, 0xFF, 0xE0, + 0x1E, 0xF0, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, + 0xF8, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xEF, 0x07, 0xFF, 0x0F, 0x1E, 0x1E, + 0x1E, 0x1E, 0x1E, 0x3C, 0x1E, 0x7C, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xF0, + 0x7C, 0xF0, 0x78, 0xF0, 0xF8, 0xF0, 0xF8, 0xF1, 0xF0, 0xFE, 0xF0, 0x7E, + 0xF0, 0x39, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, + 0xC0, 0x1F, 0xF8, 0x03, 0x9C, 0x7F, 0x7C, 0x3D, 0xF8, 0x7A, 0xE0, 0xF8, + 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF0, 0x01, + 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0x07, 0x18, 0xFF, + 0xC7, 0x1C, 0x70, 0x63, 0x81, 0x1E, 0x08, 0xF8, 0x07, 0xE0, 0x1F, 0x00, + 0x7C, 0x01, 0xF0, 0x07, 0x84, 0x3C, 0x20, 0xE1, 0x87, 0x1C, 0x70, 0x9E, + 0x00, 0x00, 0x80, 0x60, 0x30, 0x1C, 0x1F, 0x1F, 0xF7, 0xFC, 0x78, 0x1E, + 0x07, 0x83, 0xC0, 0xF0, 0x3C, 0x1F, 0x07, 0x81, 0xE0, 0x79, 0x3C, 0x4F, + 0x23, 0xF0, 0xFC, 0x1C, 0x00, 0x0F, 0x0F, 0x3F, 0x87, 0x8F, 0x83, 0xC7, + 0xC1, 0xE3, 0xE1, 0xE1, 0xE0, 0xF0, 0xF0, 0x78, 0xF8, 0x78, 0x78, 0x3C, + 0x3C, 0x3E, 0x1E, 0x1F, 0x1E, 0x1F, 0x0F, 0x17, 0x97, 0x9B, 0xCB, 0xF9, + 0xF9, 0xF8, 0xF8, 0x78, 0x38, 0x00, 0x18, 0x37, 0xC3, 0xDE, 0x1E, 0x78, + 0x73, 0xC1, 0x9E, 0x08, 0xF0, 0xC7, 0x84, 0x3C, 0x41, 0xE4, 0x0F, 0x40, + 0x7C, 0x03, 0xC0, 0x1C, 0x00, 0xC0, 0x04, 0x00, 0x38, 0x10, 0xDF, 0x06, + 0x3D, 0xE0, 0xC7, 0xBC, 0x38, 0x73, 0xC7, 0x06, 0x79, 0xF0, 0x8F, 0x3E, + 0x11, 0xEB, 0xC4, 0x3F, 0x79, 0x07, 0xCF, 0x60, 0xF9, 0xE8, 0x1E, 0x3E, + 0x03, 0x87, 0x80, 0x70, 0xF0, 0x0C, 0x0C, 0x01, 0x01, 0x00, 0x03, 0x83, + 0x87, 0xF1, 0xF0, 0x3C, 0xF8, 0x0F, 0x60, 0x03, 0xD0, 0x00, 0xF8, 0x00, + 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x0F, + 0xC0, 0x02, 0xF1, 0x39, 0x3C, 0xCF, 0xCF, 0xE3, 0xE1, 0xF0, 0x70, 0x38, + 0x00, 0x01, 0x83, 0x07, 0xE3, 0xC1, 0xF1, 0xE0, 0x78, 0xF0, 0x3E, 0x18, + 0x1F, 0x08, 0x07, 0x84, 0x03, 0xC6, 0x01, 0xE2, 0x00, 0xFB, 0x00, 0x3D, + 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, + 0xE0, 0x00, 0x60, 0x00, 0x60, 0x0E, 0x60, 0x0F, 0xE0, 0x07, 0xE0, 0x01, + 0xC0, 0x00, 0x1F, 0xFC, 0x3F, 0xF8, 0x7F, 0xE1, 0x81, 0x82, 0x06, 0x00, + 0x08, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x40, + 0x01, 0x80, 0x07, 0xC0, 0x1F, 0x86, 0x3F, 0x8E, 0xCF, 0x9C, 0x07, 0x30, + 0x03, 0xC0, 0x00, 0x1E, 0x00, 0xF8, 0x03, 0xC0, 0x0F, 0x00, 0x1E, 0x00, + 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x3C, + 0x00, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x1F, 0x00, 0x7E, 0x00, 0x30, 0x00, + 0x60, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, + 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, 0x00, 0x0C, 0x00, + 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, + 0x00, 0xF0, 0x00, 0x70, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0xC0, 0x07, + 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x10, 0x00, 0xF0, 0x03, 0xF0, + 0x0F, 0x00, 0x1E, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, + 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x0F, 0x80, 0x7C, 0x00, + 0x3E, 0x00, 0x7F, 0xC6, 0xFF, 0xFF, 0x61, 0xFE, 0x00, 0x7C }; + +const GFXglyph FreeSerifBoldItalic18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' + { 0, 11, 25, 14, 2, -23 }, // 0x21 '!' + { 35, 14, 10, 19, 4, -23 }, // 0x22 '"' + { 53, 20, 25, 17, -1, -24 }, // 0x23 '#' + { 116, 17, 29, 18, 0, -25 }, // 0x24 '$' + { 178, 27, 25, 29, 1, -23 }, // 0x25 '%' + { 263, 25, 25, 27, 0, -23 }, // 0x26 '&' + { 342, 5, 10, 10, 4, -23 }, // 0x27 ''' + { 349, 11, 30, 12, 1, -23 }, // 0x28 '(' + { 391, 11, 30, 12, -2, -23 }, // 0x29 ')' + { 433, 13, 15, 18, 2, -23 }, // 0x2A '*' + { 458, 17, 17, 20, 1, -16 }, // 0x2B '+' + { 495, 7, 11, 9, -2, -4 }, // 0x2C ',' + { 505, 9, 4, 12, 0, -9 }, // 0x2D '-' + { 510, 6, 5, 9, 0, -3 }, // 0x2E '.' + { 514, 14, 25, 12, 0, -23 }, // 0x2F '/' + { 558, 15, 25, 18, 1, -23 }, // 0x30 '0' + { 605, 15, 25, 17, 0, -23 }, // 0x31 '1' + { 652, 16, 25, 18, 0, -23 }, // 0x32 '2' + { 702, 15, 25, 17, 1, -23 }, // 0x33 '3' + { 749, 18, 24, 17, 0, -23 }, // 0x34 '4' + { 803, 17, 25, 18, 0, -23 }, // 0x35 '5' + { 857, 17, 25, 18, 1, -23 }, // 0x36 '6' + { 911, 16, 24, 17, 3, -23 }, // 0x37 '7' + { 959, 17, 25, 18, 0, -23 }, // 0x38 '8' + { 1013, 17, 25, 18, 0, -23 }, // 0x39 '9' + { 1067, 10, 17, 9, 0, -15 }, // 0x3A ':' + { 1089, 11, 22, 9, -1, -15 }, // 0x3B ';' + { 1120, 18, 19, 20, 1, -18 }, // 0x3C '<' + { 1163, 18, 10, 20, 2, -13 }, // 0x3D '=' + { 1186, 18, 19, 20, 2, -18 }, // 0x3E '>' + { 1229, 13, 25, 17, 3, -23 }, // 0x3F '?' + { 1270, 25, 25, 29, 2, -23 }, // 0x40 '@' + { 1349, 23, 25, 24, 0, -23 }, // 0x41 'A' + { 1421, 24, 25, 22, 0, -23 }, // 0x42 'B' + { 1496, 23, 25, 22, 1, -23 }, // 0x43 'C' + { 1568, 26, 25, 25, 0, -23 }, // 0x44 'D' + { 1650, 23, 25, 22, 0, -23 }, // 0x45 'E' + { 1722, 23, 25, 21, 0, -23 }, // 0x46 'F' + { 1794, 24, 25, 25, 2, -23 }, // 0x47 'G' + { 1869, 29, 25, 26, 0, -23 }, // 0x48 'H' + { 1960, 15, 25, 13, 0, -23 }, // 0x49 'I' + { 2007, 20, 27, 17, 0, -23 }, // 0x4A 'J' + { 2075, 25, 25, 23, 0, -23 }, // 0x4B 'K' + { 2154, 22, 25, 21, 0, -23 }, // 0x4C 'L' + { 2223, 33, 25, 31, 0, -23 }, // 0x4D 'M' + { 2327, 27, 25, 25, 0, -23 }, // 0x4E 'N' + { 2412, 23, 25, 24, 1, -23 }, // 0x4F 'O' + { 2484, 23, 25, 21, 0, -23 }, // 0x50 'P' + { 2556, 23, 31, 24, 1, -23 }, // 0x51 'Q' + { 2646, 24, 25, 23, 0, -23 }, // 0x52 'R' + { 2721, 18, 25, 18, 0, -23 }, // 0x53 'S' + { 2778, 21, 25, 21, 3, -23 }, // 0x54 'T' + { 2844, 24, 25, 25, 4, -23 }, // 0x55 'U' + { 2919, 24, 25, 25, 4, -23 }, // 0x56 'V' + { 2994, 31, 25, 32, 4, -23 }, // 0x57 'W' + { 3091, 25, 25, 24, 0, -23 }, // 0x58 'X' + { 3170, 21, 25, 22, 4, -23 }, // 0x59 'Y' + { 3236, 21, 25, 20, 0, -23 }, // 0x5A 'Z' + { 3302, 14, 30, 12, -1, -23 }, // 0x5B '[' + { 3355, 10, 25, 14, 4, -23 }, // 0x5C '\' + { 3387, 14, 30, 12, -2, -23 }, // 0x5D ']' + { 3440, 16, 13, 20, 2, -23 }, // 0x5E '^' + { 3466, 18, 3, 17, 0, 3 }, // 0x5F '_' + { 3473, 7, 6, 12, 3, -23 }, // 0x60 '`' + { 3479, 18, 17, 18, 0, -15 }, // 0x61 'a' + { 3518, 16, 26, 17, 1, -24 }, // 0x62 'b' + { 3570, 13, 17, 15, 1, -15 }, // 0x63 'c' + { 3598, 19, 25, 18, 1, -23 }, // 0x64 'd' + { 3658, 13, 17, 15, 1, -15 }, // 0x65 'e' + { 3686, 21, 32, 17, -3, -24 }, // 0x66 'f' + { 3770, 19, 23, 17, -1, -15 }, // 0x67 'g' + { 3825, 17, 25, 19, 1, -23 }, // 0x68 'h' + { 3879, 9, 25, 10, 1, -23 }, // 0x69 'i' + { 3908, 16, 31, 12, -3, -23 }, // 0x6A 'j' + { 3970, 17, 25, 18, 1, -23 }, // 0x6B 'k' + { 4024, 11, 25, 10, 1, -23 }, // 0x6C 'l' + { 4059, 26, 17, 27, 0, -15 }, // 0x6D 'm' + { 4115, 18, 17, 18, 0, -15 }, // 0x6E 'n' + { 4154, 15, 17, 17, 1, -15 }, // 0x6F 'o' + { 4186, 19, 23, 17, -2, -15 }, // 0x70 'p' + { 4241, 16, 23, 17, 1, -15 }, // 0x71 'q' + { 4287, 15, 16, 14, 0, -15 }, // 0x72 'r' + { 4317, 13, 17, 12, 0, -15 }, // 0x73 's' + { 4345, 10, 22, 10, 1, -20 }, // 0x74 't' + { 4373, 17, 17, 19, 1, -15 }, // 0x75 'u' + { 4410, 13, 16, 15, 2, -15 }, // 0x76 'v' + { 4436, 19, 16, 23, 3, -15 }, // 0x77 'w' + { 4474, 18, 17, 17, -1, -15 }, // 0x78 'x' + { 4513, 17, 23, 15, -2, -15 }, // 0x79 'y' + { 4562, 15, 19, 14, 0, -15 }, // 0x7A 'z' + { 4598, 15, 32, 12, 0, -24 }, // 0x7B '{' + { 4658, 3, 25, 9, 4, -23 }, // 0x7C '|' + { 4668, 15, 32, 12, -5, -24 }, // 0x7D '}' + { 4728, 16, 5, 20, 2, -11 } }; // 0x7E '~' + +const GFXfont FreeSerifBoldItalic18pt7b PROGMEM = { + (uint8_t *)FreeSerifBoldItalic18pt7bBitmaps, + (GFXglyph *)FreeSerifBoldItalic18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 5410 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h new file mode 100644 index 0000000..fcb857e --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h @@ -0,0 +1,793 @@ +const uint8_t FreeSerifBoldItalic24pt7bBitmaps[] PROGMEM = { + 0x00, 0x3C, 0x00, 0xFC, 0x01, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, + 0x3F, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1E, + 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x00, 0x0E, 0x00, + 0x18, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x03, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x3F, 0x00, + 0x3C, 0x00, 0x1C, 0x01, 0xC7, 0xC0, 0x7D, 0xF8, 0x1F, 0xBF, 0x03, 0xF7, + 0xC0, 0x7C, 0xF8, 0x0F, 0x9E, 0x01, 0xE3, 0xC0, 0x3C, 0x70, 0x07, 0x1E, + 0x00, 0xE3, 0x80, 0x38, 0x70, 0x07, 0x0C, 0x00, 0xC0, 0x00, 0x03, 0xC1, + 0xE0, 0x00, 0x70, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xE0, 0x00, + 0x70, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0x81, 0xC0, 0x00, 0xF0, 0x78, + 0x00, 0x1E, 0x0F, 0x00, 0x07, 0x83, 0xC0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, + 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x00, 0xE0, 0x70, 0x00, 0x3C, 0x1E, 0x00, + 0x07, 0x83, 0xC0, 0x00, 0xE0, 0x70, 0x00, 0x3C, 0x1E, 0x00, 0x07, 0x83, + 0xC0, 0x00, 0xE0, 0x70, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, 0x1F, + 0xFF, 0xFF, 0x00, 0x38, 0x1C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xE0, 0xF0, + 0x00, 0x38, 0x1C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xC0, 0xE0, 0x00, 0x78, + 0x3C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xC0, 0xE0, 0x00, 0x78, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x1F, + 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xF1, 0x9E, 0x01, 0xC1, 0x8F, 0x03, 0x83, + 0x8F, 0x03, 0x83, 0x06, 0x07, 0x83, 0x06, 0x07, 0x87, 0x06, 0x07, 0xC7, + 0x04, 0x07, 0xE6, 0x04, 0x07, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFF, + 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x1F, + 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xF0, 0x00, 0x3B, 0xF8, 0x20, 0x31, + 0xF8, 0x20, 0x30, 0xF8, 0x60, 0x70, 0xF8, 0x60, 0x60, 0xF8, 0x60, 0x60, + 0xF8, 0xF0, 0xE0, 0xF0, 0xF0, 0xE1, 0xE0, 0x78, 0xC3, 0xE0, 0x3C, 0xC7, + 0xC0, 0x0F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x01, 0x80, 0x00, 0x03, 0x80, + 0x00, 0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0xF0, + 0x00, 0x70, 0x00, 0xFF, 0x80, 0x1C, 0x00, 0x3F, 0x38, 0x1F, 0x00, 0x0F, + 0xC7, 0xFF, 0xE0, 0x03, 0xF0, 0x3F, 0xB8, 0x00, 0x7E, 0x04, 0x07, 0x00, + 0x1F, 0x80, 0x81, 0xC0, 0x03, 0xF0, 0x10, 0x38, 0x00, 0xFC, 0x02, 0x0E, + 0x00, 0x1F, 0x80, 0x81, 0x80, 0x03, 0xF0, 0x10, 0x70, 0x00, 0x7C, 0x06, + 0x1C, 0x00, 0x0F, 0x80, 0x83, 0x80, 0x01, 0xF0, 0x30, 0xE0, 0x00, 0x1E, + 0x0C, 0x1C, 0x07, 0xC3, 0xE3, 0x07, 0x03, 0xFC, 0x3F, 0xC0, 0xC0, 0xFC, + 0x43, 0xE0, 0x38, 0x3E, 0x0C, 0x00, 0x0E, 0x0F, 0xC0, 0x80, 0x01, 0xC3, + 0xF0, 0x10, 0x00, 0x70, 0xFC, 0x02, 0x00, 0x0C, 0x1F, 0x80, 0x40, 0x03, + 0x83, 0xE0, 0x08, 0x00, 0x60, 0xFC, 0x02, 0x00, 0x1C, 0x1F, 0x80, 0x40, + 0x07, 0x03, 0xE0, 0x10, 0x00, 0xE0, 0x7C, 0x02, 0x00, 0x38, 0x0F, 0x80, + 0xC0, 0x06, 0x01, 0xF0, 0x30, 0x01, 0xC0, 0x1F, 0x0C, 0x00, 0x30, 0x01, + 0xFF, 0x00, 0x0E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x01, 0xF1, 0xE0, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x00, + 0xF0, 0x3C, 0x00, 0x00, 0x78, 0x1E, 0x00, 0x00, 0x7C, 0x0F, 0x00, 0x00, + 0x3E, 0x0F, 0x80, 0x00, 0x1F, 0x07, 0x80, 0x00, 0x0F, 0x87, 0x80, 0x00, + 0x07, 0xC7, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0x07, 0xFE, + 0x03, 0xCF, 0xC0, 0xFE, 0x03, 0xC7, 0xE0, 0x3C, 0x07, 0xC3, 0xF0, 0x1C, + 0x07, 0xC0, 0xFC, 0x0C, 0x03, 0xC0, 0x7E, 0x0E, 0x03, 0xE0, 0x3F, 0x0E, + 0x01, 0xF0, 0x1F, 0xC6, 0x01, 0xF8, 0x07, 0xF6, 0x00, 0xFC, 0x03, 0xFF, + 0x00, 0x7E, 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x7F, 0x80, 0x1F, 0xC0, 0x1F, + 0xC0, 0x07, 0xF0, 0x0F, 0xF0, 0x13, 0xFE, 0x0F, 0xFE, 0x18, 0xFF, 0xFE, + 0xFF, 0xF8, 0x3F, 0xFE, 0x3F, 0xF8, 0x07, 0xF8, 0x03, 0xF0, 0x00, 0x1C, + 0x7D, 0xFB, 0xF7, 0xCF, 0x9E, 0x3C, 0x71, 0xE3, 0x87, 0x0C, 0x00, 0x00, + 0x04, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x3C, 0x01, 0xE0, 0x0F, 0x80, 0x3C, 0x00, 0xF0, 0x07, + 0xC0, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF0, 0x03, + 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, + 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x01, 0x80, + 0x06, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0x00, 0x00, 0x01, + 0x00, 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x40, 0x01, 0x80, 0x06, 0x00, + 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0xF0, + 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x7C, + 0x01, 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3C, + 0x01, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x00, 0xF0, + 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x06, 0x00, 0x30, 0x00, 0x80, 0x00, 0x00, + 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x07, 0x0E, 0x1D, 0xF1, + 0xC7, 0xFF, 0x11, 0xFF, 0xE2, 0x3F, 0x7E, 0x4F, 0xC0, 0x3E, 0x00, 0x07, + 0xC0, 0x3F, 0x27, 0xEF, 0xC4, 0x7F, 0xF8, 0x8F, 0xFE, 0x38, 0xFB, 0x87, + 0x0E, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x70, 0x00, 0x00, + 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, + 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x03, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x01, + 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, + 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, + 0x07, 0x80, 0x00, 0x0F, 0x07, 0xE1, 0xFC, 0x7F, 0x1F, 0xC3, 0xF0, 0x7C, + 0x0E, 0x03, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x1C, 0x04, 0x00, 0x7F, 0xF7, + 0xFF, 0x7F, 0xEF, 0xFE, 0xFF, 0xE0, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0x7E, + 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, + 0x78, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x07, + 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3C, + 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x01, 0xE0, + 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, + 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, + 0x1E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0xE3, 0x80, 0x0F, 0x07, 0x00, 0x7C, 0x1C, 0x03, 0xE0, 0x78, 0x0F, 0x81, + 0xE0, 0x7C, 0x07, 0x83, 0xF0, 0x1F, 0x0F, 0xC0, 0xFC, 0x7E, 0x03, 0xF1, + 0xF8, 0x0F, 0xCF, 0xE0, 0x3F, 0x3F, 0x00, 0xFD, 0xFC, 0x07, 0xF7, 0xF0, + 0x1F, 0xDF, 0xC0, 0x7F, 0x7E, 0x01, 0xFB, 0xF8, 0x0F, 0xEF, 0xE0, 0x3F, + 0xBF, 0x80, 0xFE, 0xFC, 0x03, 0xF3, 0xF0, 0x1F, 0xCF, 0xC0, 0x7F, 0x3F, + 0x01, 0xF8, 0xFC, 0x07, 0xE3, 0xE0, 0x3F, 0x0F, 0x80, 0xFC, 0x1E, 0x07, + 0xE0, 0x78, 0x1F, 0x00, 0xE0, 0x78, 0x03, 0x83, 0xC0, 0x07, 0x1E, 0x00, + 0x07, 0xE0, 0x00, 0x00, 0x00, 0x70, 0x01, 0xFE, 0x01, 0xFF, 0xE0, 0x00, + 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, + 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x00, + 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xE0, + 0x00, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xFC, + 0x00, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF0, 0x00, 0x3F, + 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x1F, 0xF8, 0x0F, 0xFF, 0xF0, 0x00, + 0x0F, 0x80, 0x01, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x7F, 0xFE, 0x03, 0x83, + 0xF8, 0x0C, 0x07, 0xF0, 0x60, 0x1F, 0xC3, 0x00, 0x3F, 0x00, 0x00, 0xFC, + 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF8, 0x00, + 0x07, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1E, + 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, + 0x0E, 0x00, 0x00, 0x70, 0x06, 0x03, 0x80, 0x10, 0x1C, 0x00, 0xC0, 0xE0, + 0x06, 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, + 0x3F, 0xFF, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, + 0x60, 0xFE, 0x03, 0x01, 0xFC, 0x08, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, + 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0xFC, + 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xF0, 0x00, + 0x7F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x03, + 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, + 0x00, 0x0F, 0x80, 0x00, 0x3C, 0x1C, 0x01, 0xF0, 0xF8, 0x07, 0x83, 0xF0, + 0x3C, 0x0F, 0xE1, 0xE0, 0x1F, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xE0, 0x00, + 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x07, 0xFC, 0x00, + 0x06, 0xFC, 0x00, 0x06, 0x7E, 0x00, 0x06, 0x3F, 0x00, 0x06, 0x3F, 0x00, + 0x06, 0x1F, 0x80, 0x06, 0x0F, 0xC0, 0x06, 0x07, 0xE0, 0x03, 0x07, 0xE0, + 0x03, 0x03, 0xF0, 0x03, 0x01, 0xF8, 0x03, 0x01, 0xFC, 0x03, 0x00, 0xFC, + 0x03, 0x00, 0x7E, 0x03, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, + 0xF0, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x03, + 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, + 0x7F, 0xFC, 0x00, 0xFF, 0xFC, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, + 0x80, 0x00, 0x03, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x07, + 0xFF, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x00, 0xFF, 0xE0, 0x00, + 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, + 0x03, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, + 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0xFC, + 0x07, 0x80, 0xFC, 0x0F, 0x00, 0xFE, 0x1E, 0x00, 0x7F, 0xF8, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, + 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x01, 0xFC, + 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, + 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x0F, 0xE1, 0xF0, 0x3F, 0x81, 0xF0, + 0x7F, 0x03, 0xF0, 0xFC, 0x07, 0xE3, 0xF8, 0x0F, 0xC7, 0xF0, 0x1F, 0x8F, + 0xC0, 0x7F, 0x1F, 0x80, 0xFE, 0x3F, 0x01, 0xFC, 0x7C, 0x03, 0xF0, 0xF8, + 0x0F, 0xE1, 0xF0, 0x1F, 0xC1, 0xE0, 0x3F, 0x03, 0xC0, 0xFC, 0x07, 0x81, + 0xF0, 0x07, 0x87, 0xC0, 0x07, 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xFF, + 0xFC, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xE0, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, + 0x07, 0x00, 0x1C, 0x08, 0x00, 0x78, 0x30, 0x01, 0xE0, 0x40, 0x03, 0xC0, + 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, + 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, + 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, + 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, + 0x00, 0x78, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0xFE, 0x00, 0x3C, 0x78, + 0x03, 0xC1, 0xE0, 0x3C, 0x07, 0x81, 0xE0, 0x3C, 0x1F, 0x01, 0xE0, 0xF8, + 0x0F, 0x07, 0xC0, 0x78, 0x3F, 0x03, 0xC1, 0xF8, 0x3C, 0x0F, 0xE1, 0xE0, + 0x3F, 0x9E, 0x01, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x3F, 0xC0, 0x00, 0xFF, + 0x00, 0x1F, 0xFC, 0x03, 0xCF, 0xF0, 0x3C, 0x3F, 0x83, 0xC0, 0xFC, 0x3C, + 0x03, 0xF1, 0xE0, 0x1F, 0x9E, 0x00, 0x7C, 0xF0, 0x03, 0xE7, 0x80, 0x1F, + 0x3C, 0x00, 0xF9, 0xE0, 0x07, 0x87, 0x00, 0x3C, 0x3C, 0x03, 0xC0, 0xF0, + 0x3C, 0x03, 0xC3, 0xC0, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, + 0xE0, 0x03, 0xF1, 0xE0, 0x0F, 0xC1, 0xC0, 0x3F, 0x03, 0xC0, 0xFE, 0x07, + 0x81, 0xF8, 0x0F, 0x87, 0xF0, 0x1F, 0x0F, 0xC0, 0x3E, 0x3F, 0x80, 0xFC, + 0x7F, 0x01, 0xF8, 0xFC, 0x03, 0xF1, 0xF8, 0x07, 0xE3, 0xF0, 0x1F, 0xC7, + 0xE0, 0x3F, 0x8F, 0xC0, 0x7E, 0x0F, 0x81, 0xFC, 0x1F, 0x03, 0xF8, 0x1F, + 0x0F, 0xE0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x03, + 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF8, + 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, + 0x1F, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x01, 0xE0, 0x1F, 0x81, 0xFE, 0x0F, + 0xF0, 0x7F, 0x81, 0xF8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x7E, 0x07, 0xF8, 0x3F, + 0xC1, 0xFE, 0x07, 0xE0, 0x1E, 0x00, 0x00, 0x78, 0x01, 0xF8, 0x07, 0xF8, + 0x0F, 0xF0, 0x1F, 0xE0, 0x1F, 0x80, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, + 0x1F, 0x80, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x00, 0xFC, 0x00, 0xF8, 0x00, + 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x0C, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x7F, 0x00, 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, + 0x01, 0xFF, 0xC0, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x00, + 0xFF, 0x80, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xE0, 0x00, + 0x1F, 0xF8, 0x00, 0x07, 0xFE, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, + 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFF, 0x80, + 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFF, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x3F, 0x00, 0x00, 0xFF, 0x00, 0x03, 0xFF, 0x00, 0x1F, 0xFC, + 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x3F, 0xF0, 0x00, + 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xE0, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x01, 0xF8, 0x01, 0xFF, 0x80, 0xF1, 0xF0, 0x38, 0x3E, + 0x1E, 0x0F, 0xC7, 0xC3, 0xF1, 0xF0, 0xFC, 0x7C, 0x3F, 0x0E, 0x0F, 0xC0, + 0x07, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x07, + 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xC0, 0x01, 0xF8, 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x0F, 0xF0, + 0x01, 0xF8, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, + 0xFF, 0xC0, 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x7C, + 0x00, 0x03, 0x80, 0x7C, 0x00, 0x00, 0xE0, 0x7C, 0x00, 0x00, 0x38, 0x3C, + 0x00, 0xF0, 0x4C, 0x3E, 0x00, 0xFD, 0xE7, 0x1E, 0x00, 0xF3, 0xF1, 0x9F, + 0x00, 0xF1, 0xF0, 0xEF, 0x80, 0xF0, 0x78, 0x3F, 0x80, 0xF0, 0x3C, 0x1F, + 0xC0, 0x78, 0x1E, 0x0F, 0xE0, 0x78, 0x1E, 0x07, 0xF0, 0x3C, 0x0F, 0x03, + 0xF8, 0x3E, 0x07, 0x81, 0xFC, 0x1E, 0x07, 0x81, 0xFE, 0x0F, 0x03, 0xC0, + 0xDF, 0x07, 0x83, 0xC0, 0x6F, 0x83, 0xC3, 0xE0, 0x63, 0xE1, 0xF3, 0xF0, + 0x71, 0xF0, 0x7E, 0x78, 0x70, 0xF8, 0x1E, 0x3F, 0xF0, 0x3E, 0x00, 0x07, + 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x01, 0xF0, 0x00, + 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x80, 0x03, 0xF0, + 0x07, 0xC0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, + 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, + 0x7E, 0x00, 0x00, 0x06, 0xFC, 0x00, 0x00, 0x19, 0xF8, 0x00, 0x00, 0x63, + 0xF8, 0x00, 0x00, 0xC7, 0xF0, 0x00, 0x03, 0x07, 0xE0, 0x00, 0x06, 0x0F, + 0xC0, 0x00, 0x18, 0x1F, 0x80, 0x00, 0x60, 0x3F, 0x00, 0x00, 0xC0, 0x7F, + 0x00, 0x03, 0x00, 0xFE, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF8, + 0x00, 0x60, 0x03, 0xF0, 0x00, 0xC0, 0x07, 0xE0, 0x03, 0x00, 0x0F, 0xE0, + 0x0E, 0x00, 0x1F, 0xC0, 0x18, 0x00, 0x3F, 0x80, 0x70, 0x00, 0x7F, 0x01, + 0xC0, 0x00, 0xFE, 0x03, 0x80, 0x01, 0xFE, 0x1F, 0x80, 0x07, 0xFE, 0x7F, + 0xC0, 0x3F, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x00, + 0xFE, 0x1F, 0xE0, 0x01, 0xFC, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x0F, + 0xE0, 0x3F, 0xC0, 0x1F, 0xC0, 0x7F, 0x80, 0x3F, 0x80, 0xFF, 0x00, 0x7F, + 0x01, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x03, 0xF8, 0x0F, 0xF0, 0x07, 0xF0, + 0x1F, 0xC0, 0x0F, 0xC0, 0x7F, 0x00, 0x3F, 0x87, 0xF0, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0xFE, 0x1F, 0xC0, 0x03, 0xF8, 0x0F, 0xE0, 0x07, 0xF0, 0x0F, + 0xE0, 0x0F, 0xE0, 0x1F, 0xC0, 0x1F, 0xC0, 0x3F, 0xC0, 0x7F, 0x00, 0x7F, + 0x80, 0xFE, 0x00, 0xFF, 0x01, 0xFC, 0x01, 0xFE, 0x03, 0xF0, 0x07, 0xFC, + 0x0F, 0xE0, 0x0F, 0xF0, 0x1F, 0xC0, 0x3F, 0xE0, 0x3F, 0x80, 0x7F, 0x80, + 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x0F, 0xF8, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, + 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x08, 0x00, 0x7F, 0xFE, 0xC0, + 0x0F, 0xF0, 0x7E, 0x00, 0xFE, 0x01, 0xF0, 0x1F, 0xE0, 0x07, 0x01, 0xFE, + 0x00, 0x38, 0x1F, 0xE0, 0x00, 0xC0, 0xFE, 0x00, 0x06, 0x0F, 0xF0, 0x00, + 0x30, 0xFF, 0x00, 0x01, 0x07, 0xF8, 0x00, 0x08, 0x7F, 0x80, 0x00, 0x03, + 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x03, + 0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x00, 0x06, 0x03, 0xFC, 0x00, + 0x70, 0x0F, 0xE0, 0x07, 0x00, 0x1F, 0xC0, 0xE0, 0x00, 0x7F, 0xFE, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xFE, + 0x00, 0x00, 0xFE, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x3F, 0x00, 0x03, 0xF8, + 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x03, + 0xF8, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x1F, 0xC0, 0x03, 0xFC, + 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x7F, 0x00, 0x0F, 0xF0, 0x0F, 0xC0, 0x01, + 0xFE, 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x7F, 0x00, 0x07, 0xF8, 0x0F, 0xE0, + 0x01, 0xFF, 0x03, 0xF8, 0x00, 0x3F, 0xE0, 0x7F, 0x00, 0x07, 0xF8, 0x0F, + 0xE0, 0x00, 0xFF, 0x01, 0xFC, 0x00, 0x3F, 0xE0, 0x7F, 0x00, 0x07, 0xF8, + 0x0F, 0xE0, 0x01, 0xFF, 0x01, 0xFC, 0x00, 0x3F, 0xC0, 0x3F, 0x00, 0x0F, + 0xF0, 0x0F, 0xE0, 0x01, 0xFC, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0x80, + 0x1F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0x7F, + 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, + 0x00, 0x7F, 0xFF, 0xFF, 0x00, 0x3F, 0xC0, 0x7E, 0x00, 0x3F, 0x80, 0x1E, + 0x00, 0x3F, 0x80, 0x0E, 0x00, 0x7F, 0x00, 0x06, 0x00, 0x7F, 0x00, 0x04, + 0x00, 0x7F, 0x00, 0x04, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x80, + 0x00, 0xFE, 0x01, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0xFC, 0x0F, 0x00, + 0x01, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFC, 0x3E, 0x00, + 0x03, 0xF8, 0x1E, 0x00, 0x03, 0xF8, 0x0C, 0x00, 0x03, 0xF8, 0x0C, 0x00, + 0x03, 0xF8, 0x0C, 0x00, 0x07, 0xF0, 0x08, 0x00, 0x07, 0xF0, 0x00, 0x08, + 0x07, 0xF0, 0x00, 0x18, 0x07, 0xE0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, + 0x0F, 0xE0, 0x00, 0x70, 0x0F, 0xE0, 0x01, 0xE0, 0x1F, 0xC0, 0x07, 0xE0, + 0x1F, 0xE0, 0x3F, 0xE0, 0x3F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xC0, + 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0x03, 0xF0, + 0x01, 0xFC, 0x01, 0xE0, 0x03, 0xF8, 0x01, 0xC0, 0x0F, 0xE0, 0x01, 0x80, + 0x1F, 0xC0, 0x02, 0x00, 0x3F, 0x80, 0x04, 0x00, 0x7F, 0x00, 0x00, 0x01, + 0xFC, 0x03, 0x00, 0x03, 0xF8, 0x04, 0x00, 0x07, 0xF0, 0x18, 0x00, 0x0F, + 0xC0, 0xF0, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0xFE, + 0x1F, 0x00, 0x03, 0xF8, 0x1E, 0x00, 0x07, 0xF0, 0x18, 0x00, 0x0F, 0xE0, + 0x30, 0x00, 0x1F, 0xC0, 0x60, 0x00, 0x7F, 0x00, 0x80, 0x00, 0xFE, 0x01, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x01, 0xFE, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x02, 0x00, 0x0F, 0xFF, 0xEE, 0x00, 0x3F, 0xC0, + 0xFC, 0x00, 0x7F, 0x00, 0x7C, 0x01, 0xFE, 0x00, 0x3C, 0x03, 0xFC, 0x00, + 0x38, 0x07, 0xF8, 0x00, 0x18, 0x07, 0xF0, 0x00, 0x18, 0x0F, 0xF0, 0x00, + 0x10, 0x1F, 0xE0, 0x00, 0x10, 0x1F, 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x7F, 0x80, 0x00, + 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x1F, + 0xFF, 0xFF, 0x00, 0x07, 0xFC, 0xFF, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, + 0xF8, 0xFF, 0x00, 0x03, 0xF0, 0xFF, 0x00, 0x03, 0xF0, 0xFF, 0x00, 0x07, + 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xE0, 0x7F, 0x80, 0x07, + 0xE0, 0x3F, 0x80, 0x0F, 0xE0, 0x1F, 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x0F, + 0xC0, 0x07, 0xF0, 0x3F, 0x80, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xE0, + 0x00, 0x01, 0xFF, 0xFC, 0x7F, 0xFE, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x00, + 0xFE, 0x00, 0x3F, 0xC0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, + 0xFE, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x00, + 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, + 0x7F, 0x00, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x01, 0xFC, 0x00, + 0x0F, 0xC0, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x7F, 0xFF, + 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x7F, 0x00, + 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0x1F, 0xC0, + 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x3F, 0x80, + 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, + 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x0F, 0xE0, + 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x01, 0xFE, 0x00, 0x7F, 0x80, 0x07, 0xFC, + 0x01, 0xFF, 0x00, 0x3F, 0xFF, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xF8, + 0x03, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x3F, + 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, + 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, + 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, + 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, + 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xFC, + 0x00, 0x1F, 0xF0, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, + 0x3F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, + 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, + 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x07, 0x03, 0xF0, 0x01, 0xF0, 0xFE, 0x00, + 0x3E, 0x1F, 0xC0, 0x07, 0xC3, 0xF0, 0x00, 0xF8, 0xFC, 0x00, 0x0F, 0x3F, + 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0xF8, + 0xFF, 0xC0, 0x1F, 0xF8, 0x0F, 0xC0, 0x03, 0xF8, 0x01, 0xC0, 0x00, 0xFE, + 0x00, 0xE0, 0x00, 0x3F, 0x80, 0x70, 0x00, 0x1F, 0xC0, 0x38, 0x00, 0x07, + 0xF0, 0x1C, 0x00, 0x01, 0xFC, 0x0E, 0x00, 0x00, 0x7F, 0x07, 0x00, 0x00, + 0x3F, 0x83, 0x80, 0x00, 0x0F, 0xE1, 0xC0, 0x00, 0x03, 0xF8, 0xE0, 0x00, + 0x00, 0xFC, 0x60, 0x00, 0x00, 0x7F, 0x7C, 0x00, 0x00, 0x1F, 0xFF, 0x00, + 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0x7F, + 0x00, 0x00, 0x3F, 0x9F, 0xC0, 0x00, 0x0F, 0xE3, 0xF8, 0x00, 0x07, 0xF0, + 0xFE, 0x00, 0x01, 0xFC, 0x1F, 0xC0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0x1F, + 0x80, 0xFE, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x03, 0xF8, 0x0F, 0xE0, 0x00, + 0xFE, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x1F, 0xE0, 0x0F, 0xE0, + 0x0F, 0xF8, 0x07, 0xFC, 0x0F, 0xFF, 0xC7, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, + 0x00, 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, + 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x80, + 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7F, 0x00, + 0x00, 0x03, 0xF8, 0x00, 0x04, 0x1F, 0xC0, 0x00, 0x60, 0xFC, 0x00, 0x06, + 0x0F, 0xE0, 0x00, 0x30, 0x7F, 0x00, 0x03, 0x83, 0xF8, 0x00, 0x7C, 0x3F, + 0x80, 0x0F, 0xC1, 0xFE, 0x03, 0xFE, 0x1F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, + 0xFF, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x03, 0xFC, 0x00, 0x03, + 0xFC, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x0F, 0xF8, + 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFC, 0x00, 0x1F, 0xF0, 0x00, + 0x6F, 0xC0, 0x03, 0xFF, 0x00, 0x06, 0xFC, 0x00, 0x37, 0xF0, 0x00, 0x6F, + 0xE0, 0x06, 0x7E, 0x00, 0x04, 0xFE, 0x00, 0xEF, 0xE0, 0x00, 0xCF, 0xE0, + 0x0C, 0xFE, 0x00, 0x0C, 0xFE, 0x01, 0x8F, 0xE0, 0x00, 0xCF, 0xE0, 0x38, + 0xFC, 0x00, 0x18, 0x7E, 0x03, 0x1F, 0xC0, 0x01, 0x87, 0xE0, 0x61, 0xFC, + 0x00, 0x18, 0x7E, 0x0E, 0x1F, 0xC0, 0x01, 0x87, 0xE0, 0xC3, 0xF8, 0x00, + 0x30, 0x7F, 0x18, 0x3F, 0x80, 0x03, 0x07, 0xF3, 0x83, 0xF8, 0x00, 0x30, + 0x7F, 0x30, 0x3F, 0x00, 0x06, 0x07, 0xF7, 0x07, 0xF0, 0x00, 0x60, 0x3F, + 0xE0, 0x7F, 0x00, 0x06, 0x03, 0xFC, 0x07, 0xF0, 0x00, 0xE0, 0x3F, 0xC0, + 0x7E, 0x00, 0x0C, 0x03, 0xF8, 0x0F, 0xE0, 0x00, 0xC0, 0x3F, 0x00, 0xFE, + 0x00, 0x0C, 0x03, 0xF0, 0x0F, 0xE0, 0x01, 0xC0, 0x3E, 0x01, 0xFC, 0x00, + 0x1C, 0x03, 0xC0, 0x1F, 0xC0, 0x07, 0xE0, 0x3C, 0x03, 0xFE, 0x00, 0xFF, + 0xC1, 0x81, 0xFF, 0xFC, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0xFF, + 0x00, 0x1F, 0xF8, 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x0F, 0xE0, 0x00, 0xF0, + 0x00, 0x7F, 0x00, 0x07, 0x00, 0x03, 0xFC, 0x00, 0x38, 0x00, 0x1F, 0xE0, + 0x01, 0x80, 0x01, 0xBF, 0x80, 0x0C, 0x00, 0x0D, 0xFC, 0x00, 0x60, 0x00, + 0x67, 0xF0, 0x07, 0x00, 0x02, 0x3F, 0x80, 0x30, 0x00, 0x30, 0xFE, 0x01, + 0x80, 0x01, 0x87, 0xF0, 0x0C, 0x00, 0x0C, 0x1F, 0xC0, 0xC0, 0x00, 0xC0, + 0xFE, 0x06, 0x00, 0x06, 0x07, 0xF8, 0x30, 0x00, 0x30, 0x1F, 0xC1, 0x80, + 0x01, 0x80, 0xFF, 0x18, 0x00, 0x18, 0x03, 0xF8, 0xC0, 0x00, 0xC0, 0x1F, + 0xC6, 0x00, 0x06, 0x00, 0x7F, 0x60, 0x00, 0x60, 0x03, 0xFB, 0x00, 0x03, + 0x00, 0x0F, 0xF8, 0x00, 0x18, 0x00, 0x7F, 0xC0, 0x01, 0xC0, 0x01, 0xFC, + 0x00, 0x0C, 0x00, 0x0F, 0xE0, 0x00, 0x60, 0x00, 0x3F, 0x00, 0x03, 0x00, + 0x01, 0xF0, 0x00, 0x38, 0x00, 0x07, 0x80, 0x01, 0xC0, 0x00, 0x3C, 0x00, + 0x3F, 0x00, 0x01, 0xE0, 0x03, 0xFF, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x7E, + 0x1F, 0x80, 0x01, 0xF0, 0x0F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, + 0x1F, 0x80, 0xFE, 0x00, 0x3F, 0x03, 0xF8, 0x00, 0x7E, 0x07, 0xF0, 0x00, + 0xFE, 0x1F, 0xC0, 0x01, 0xFC, 0x7F, 0x80, 0x03, 0xF8, 0xFE, 0x00, 0x07, + 0xF3, 0xFC, 0x00, 0x1F, 0xE7, 0xF0, 0x00, 0x3F, 0xDF, 0xE0, 0x00, 0x7F, + 0xBF, 0xC0, 0x00, 0xFE, 0x7F, 0x80, 0x03, 0xFC, 0xFE, 0x00, 0x07, 0xFB, + 0xFC, 0x00, 0x0F, 0xF7, 0xF8, 0x00, 0x3F, 0xCF, 0xF0, 0x00, 0x7F, 0x9F, + 0xC0, 0x00, 0xFE, 0x3F, 0x80, 0x03, 0xFC, 0x7F, 0x00, 0x07, 0xF0, 0xFE, + 0x00, 0x1F, 0xC0, 0xFC, 0x00, 0x3F, 0x81, 0xF8, 0x00, 0xFE, 0x03, 0xF0, + 0x03, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x03, 0xE0, + 0xFC, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x01, 0xFF, + 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0xFE, 0x1F, 0xE0, 0x01, 0xFC, + 0x1F, 0xE0, 0x03, 0xF0, 0x1F, 0xC0, 0x0F, 0xE0, 0x3F, 0xC0, 0x1F, 0xC0, + 0x7F, 0x80, 0x3F, 0x80, 0xFF, 0x00, 0x7E, 0x01, 0xFE, 0x01, 0xFC, 0x03, + 0xFC, 0x03, 0xF8, 0x0F, 0xF8, 0x07, 0xF0, 0x1F, 0xE0, 0x0F, 0xC0, 0x7F, + 0x80, 0x3F, 0x81, 0xFE, 0x00, 0x7F, 0x07, 0xF8, 0x00, 0xFF, 0xFF, 0xC0, + 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, + 0x1F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, + 0xFC, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0xFC, + 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x7E, 0x1F, 0x80, 0x01, + 0xF0, 0x0F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x80, 0x1F, 0x80, 0xFE, + 0x00, 0x3F, 0x03, 0xF8, 0x00, 0x7E, 0x07, 0xF0, 0x00, 0xFE, 0x1F, 0xC0, + 0x01, 0xFC, 0x7F, 0x80, 0x03, 0xF8, 0xFE, 0x00, 0x07, 0xF3, 0xFC, 0x00, + 0x1F, 0xE7, 0xF8, 0x00, 0x3F, 0xDF, 0xE0, 0x00, 0x7F, 0xBF, 0xC0, 0x00, + 0xFF, 0x7F, 0x80, 0x01, 0xFC, 0xFE, 0x00, 0x07, 0xFB, 0xFC, 0x00, 0x0F, + 0xF7, 0xF8, 0x00, 0x1F, 0xCF, 0xF0, 0x00, 0x7F, 0x9F, 0xC0, 0x00, 0xFE, + 0x3F, 0x80, 0x01, 0xFC, 0x7F, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0x0F, 0xE1, + 0xFC, 0x00, 0x3F, 0x81, 0xF8, 0x00, 0x7E, 0x03, 0xF0, 0x01, 0xF8, 0x03, + 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x1F, 0x80, 0x03, 0xE0, 0x7E, 0x00, 0x03, + 0xF3, 0xF0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x7F, 0xE0, 0x03, 0x03, 0xFF, + 0xF8, 0x1C, 0x0F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xC0, 0xE0, 0x3F, + 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, + 0xFF, 0xF8, 0x00, 0x3F, 0xC3, 0xFC, 0x00, 0x3F, 0x81, 0xFE, 0x00, 0x3F, + 0x80, 0xFF, 0x00, 0x7F, 0x80, 0xFF, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0x7F, + 0x00, 0xFF, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0xFF, 0x01, 0xFE, 0x00, 0xFE, + 0x01, 0xFE, 0x00, 0xFE, 0x03, 0xFC, 0x00, 0xFE, 0x07, 0xF8, 0x01, 0xFC, + 0x1F, 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFE, 0x00, 0x03, 0xFD, + 0xFE, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, 0xF8, + 0xFF, 0x00, 0x07, 0xF8, 0x7F, 0x80, 0x07, 0xF0, 0x7F, 0x80, 0x07, 0xF0, + 0x3F, 0x80, 0x07, 0xF0, 0x3F, 0xC0, 0x0F, 0xE0, 0x3F, 0xC0, 0x0F, 0xE0, + 0x1F, 0xC0, 0x0F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, + 0x0F, 0xF0, 0x3F, 0xF0, 0x0F, 0xF8, 0xFF, 0xFC, 0x0F, 0xFE, 0x00, 0x1F, + 0x83, 0x00, 0x7F, 0xF7, 0x00, 0xF8, 0x7E, 0x01, 0xE0, 0x1E, 0x03, 0xC0, + 0x0E, 0x03, 0xC0, 0x0E, 0x07, 0xC0, 0x0E, 0x07, 0xC0, 0x04, 0x07, 0xC0, + 0x04, 0x07, 0xE0, 0x04, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFC, + 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x7F, + 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x07, + 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x20, 0x00, 0xF8, 0x20, 0x00, + 0xF8, 0x20, 0x00, 0xF8, 0x70, 0x00, 0xF8, 0x70, 0x00, 0xF0, 0x78, 0x01, + 0xF0, 0x78, 0x03, 0xE0, 0x7E, 0x07, 0xC0, 0x47, 0xFF, 0x80, 0xC0, 0xFC, + 0x00, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFC, 0xFE, 0x3F, 0x8F, 0x9E, + 0x07, 0xF0, 0xF3, 0x81, 0xFC, 0x0E, 0x60, 0x3F, 0x81, 0x98, 0x07, 0xF0, + 0x13, 0x00, 0xFC, 0x02, 0x00, 0x3F, 0x80, 0x40, 0x07, 0xF0, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0x1F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, + 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, + 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, + 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0xFC, 0x07, 0xF0, 0x00, 0x38, 0x07, 0xF0, + 0x00, 0x38, 0x07, 0xF0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, 0x0F, 0xE0, + 0x00, 0x70, 0x0F, 0xE0, 0x00, 0x60, 0x0F, 0xE0, 0x00, 0x60, 0x1F, 0xC0, + 0x00, 0xE0, 0x1F, 0xC0, 0x00, 0xC0, 0x1F, 0xC0, 0x00, 0xC0, 0x3F, 0x80, + 0x00, 0xC0, 0x3F, 0x80, 0x01, 0x80, 0x3F, 0x80, 0x01, 0x80, 0x3F, 0x80, + 0x01, 0x80, 0x7F, 0x00, 0x01, 0x80, 0x7F, 0x00, 0x03, 0x00, 0x7F, 0x00, + 0x03, 0x00, 0x7E, 0x00, 0x03, 0x00, 0xFE, 0x00, 0x06, 0x00, 0xFE, 0x00, + 0x06, 0x00, 0xFC, 0x00, 0x06, 0x00, 0xFC, 0x00, 0x0E, 0x00, 0xFC, 0x00, + 0x0C, 0x00, 0xFC, 0x00, 0x1C, 0x00, 0xFC, 0x00, 0x18, 0x00, 0x7E, 0x00, + 0x38, 0x00, 0x7E, 0x00, 0x70, 0x00, 0x3F, 0x81, 0xE0, 0x00, 0x0F, 0xFF, + 0x80, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x03, 0xFE, 0x7F, 0xE0, + 0x01, 0xF8, 0x7F, 0x80, 0x01, 0xC0, 0xFF, 0x00, 0x03, 0x80, 0xFE, 0x00, + 0x0E, 0x01, 0xFC, 0x00, 0x18, 0x03, 0xF8, 0x00, 0x70, 0x07, 0xF0, 0x00, + 0xC0, 0x0F, 0xF0, 0x03, 0x80, 0x1F, 0xE0, 0x0E, 0x00, 0x1F, 0xC0, 0x18, + 0x00, 0x3F, 0x80, 0x70, 0x00, 0x7F, 0x00, 0xC0, 0x00, 0xFE, 0x03, 0x00, + 0x01, 0xFC, 0x0E, 0x00, 0x03, 0xF8, 0x18, 0x00, 0x07, 0xF8, 0x60, 0x00, + 0x07, 0xF1, 0xC0, 0x00, 0x0F, 0xE3, 0x00, 0x00, 0x1F, 0xCC, 0x00, 0x00, + 0x3F, 0xB8, 0x00, 0x00, 0x7F, 0x60, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xFF, 0xF8, + 0xFF, 0xF0, 0xFF, 0x9F, 0xF8, 0x1F, 0xE0, 0x0F, 0x87, 0xF8, 0x07, 0xE0, + 0x07, 0x03, 0xF8, 0x03, 0xF0, 0x03, 0x80, 0xFE, 0x01, 0xF8, 0x01, 0x80, + 0x7F, 0x00, 0xFC, 0x00, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xC0, 0x1F, 0xC0, + 0x7F, 0x80, 0x60, 0x0F, 0xE0, 0x3F, 0xC0, 0x60, 0x07, 0xF0, 0x37, 0xE0, + 0x30, 0x03, 0xF8, 0x1B, 0xF0, 0x30, 0x00, 0xFC, 0x19, 0xF8, 0x18, 0x00, + 0x7E, 0x0C, 0xFE, 0x18, 0x00, 0x3F, 0x84, 0x7F, 0x0C, 0x00, 0x1F, 0xC6, + 0x3F, 0x8C, 0x00, 0x0F, 0xE2, 0x1F, 0xC6, 0x00, 0x07, 0xF3, 0x07, 0xE6, + 0x00, 0x03, 0xF9, 0x83, 0xF3, 0x00, 0x01, 0xFD, 0x81, 0xFB, 0x00, 0x00, + 0x7E, 0xC0, 0xFD, 0x80, 0x00, 0x3F, 0xC0, 0x7F, 0x80, 0x00, 0x1F, 0xE0, + 0x3F, 0xC0, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x0F, 0xE0, + 0x00, 0x03, 0xF0, 0x07, 0xE0, 0x00, 0x01, 0xF8, 0x01, 0xF0, 0x00, 0x00, + 0x78, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x00, 0x1C, 0x00, + 0x38, 0x00, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x00, + 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0xFF, 0xC0, 0x3F, + 0xE0, 0x0F, 0xC0, 0x03, 0xF8, 0x01, 0xE0, 0x00, 0xFE, 0x00, 0xE0, 0x00, + 0x3F, 0x80, 0x70, 0x00, 0x07, 0xE0, 0x18, 0x00, 0x01, 0xFC, 0x0C, 0x00, + 0x00, 0x7F, 0x06, 0x00, 0x00, 0x0F, 0xC3, 0x00, 0x00, 0x03, 0xF9, 0x80, + 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF8, + 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x0F, + 0xC0, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x00, 0x77, 0xF0, 0x00, 0x00, 0x39, 0xFC, 0x00, 0x00, + 0x1C, 0x3F, 0x00, 0x00, 0x06, 0x0F, 0xE0, 0x00, 0x03, 0x03, 0xF8, 0x00, + 0x01, 0x80, 0x7E, 0x00, 0x00, 0xE0, 0x1F, 0xC0, 0x00, 0x70, 0x07, 0xF0, + 0x00, 0x38, 0x01, 0xFC, 0x00, 0x1E, 0x00, 0x7F, 0x80, 0x1F, 0xC0, 0x1F, + 0xF0, 0x0F, 0xFC, 0x3F, 0xFF, 0x80, 0xFF, 0xF8, 0x3F, 0xF3, 0xFC, 0x00, + 0xFC, 0x1F, 0xC0, 0x07, 0x81, 0xFC, 0x00, 0x70, 0x0F, 0xC0, 0x0E, 0x00, + 0xFE, 0x00, 0xC0, 0x0F, 0xE0, 0x1C, 0x00, 0x7E, 0x03, 0x80, 0x07, 0xF0, + 0x30, 0x00, 0x7F, 0x06, 0x00, 0x03, 0xF0, 0xE0, 0x00, 0x3F, 0x8C, 0x00, + 0x03, 0xF9, 0x80, 0x00, 0x1F, 0xB0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, + 0xE0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x1F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, + 0xF8, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, + 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, + 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x3F, + 0xFF, 0xFF, 0x03, 0xF8, 0x0F, 0xF0, 0x7C, 0x01, 0xFE, 0x07, 0x80, 0x3F, + 0xC0, 0x70, 0x03, 0xF8, 0x06, 0x00, 0x7F, 0x80, 0xC0, 0x0F, 0xF0, 0x08, + 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, + 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, + 0x07, 0xF8, 0x00, 0xC0, 0xFF, 0x00, 0x0C, 0x1F, 0xE0, 0x01, 0x81, 0xFE, + 0x00, 0x38, 0x3F, 0xC0, 0x07, 0x87, 0xF8, 0x01, 0xF0, 0xFF, 0x00, 0xFF, + 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xE0, 0x0F, + 0xFC, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, + 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF0, + 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, + 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, + 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xFE, 0x01, + 0xFF, 0xC0, 0x00, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x1C, + 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, + 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x07, 0x00, 0x3C, 0x01, 0xE0, 0x0F, 0x00, + 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x01, + 0xC0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x00, 0x78, 0x00, 0x7F, 0xE0, + 0x0F, 0xFC, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, + 0x07, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, + 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x00, + 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, + 0xE0, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, + 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x07, 0xFC, + 0x01, 0xFF, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x7F, 0x00, + 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xEF, 0x00, 0x1E, 0x78, 0x00, 0xF1, + 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x3C, 0x07, 0xC1, 0xE0, 0x3C, 0x07, 0x83, + 0xE0, 0x3C, 0x1E, 0x00, 0xF1, 0xF0, 0x07, 0x8F, 0x00, 0x1E, 0xF8, 0x00, + 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x3E, + 0x0F, 0x83, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x0E, 0x01, 0xC0, 0x00, 0x3C, + 0x0C, 0x03, 0xF9, 0xF0, 0x1F, 0x3F, 0x80, 0xF8, 0x7E, 0x07, 0xC1, 0xF8, + 0x3F, 0x07, 0xC0, 0xF8, 0x1F, 0x07, 0xE0, 0x7C, 0x3F, 0x01, 0xF0, 0xFC, + 0x0F, 0x87, 0xE0, 0x3E, 0x1F, 0x80, 0xF8, 0x7E, 0x03, 0xC3, 0xF8, 0x1F, + 0x0F, 0xC0, 0x7C, 0x3F, 0x03, 0xF0, 0xFC, 0x0F, 0x83, 0xF0, 0x7E, 0x3F, + 0xC2, 0xF8, 0xBF, 0x9B, 0xE4, 0x7F, 0xCF, 0xE0, 0xFE, 0x3F, 0x01, 0xE0, + 0x78, 0x00, 0x00, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0x7E, + 0x00, 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, + 0x03, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x3E, 0x01, 0xF9, 0xFC, 0x07, + 0xEF, 0xF8, 0x1F, 0x47, 0xF0, 0x7E, 0x0F, 0xC3, 0xF8, 0x3F, 0x0F, 0xC0, + 0xFC, 0x3F, 0x03, 0xF1, 0xF8, 0x0F, 0xC7, 0xE0, 0x3F, 0x1F, 0x01, 0xF8, + 0x7C, 0x07, 0xE3, 0xF0, 0x1F, 0x8F, 0xC0, 0xFC, 0x3E, 0x03, 0xF1, 0xF8, + 0x0F, 0x87, 0xE0, 0x7C, 0x1F, 0x03, 0xE0, 0xFC, 0x0F, 0x03, 0xF0, 0x78, + 0x0F, 0xC7, 0xC0, 0x1F, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x3F, 0x00, + 0x3F, 0xE0, 0x1E, 0x3C, 0x0F, 0x0F, 0x07, 0x87, 0xC3, 0xE1, 0xF1, 0xF0, + 0x38, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, + 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x03, 0x3F, + 0x00, 0xCF, 0xE0, 0x61, 0xFC, 0x70, 0x3F, 0xF8, 0x07, 0xFC, 0x00, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, + 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, + 0x07, 0x9F, 0x80, 0x0F, 0xFF, 0xC0, 0x0F, 0x9F, 0xE0, 0x0F, 0x87, 0xF0, + 0x0F, 0x83, 0xF0, 0x0F, 0xC1, 0xF8, 0x07, 0xC0, 0xFC, 0x07, 0xE0, 0x7C, + 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x1F, 0x81, 0xF8, 0x0F, + 0x80, 0xFC, 0x0F, 0xC0, 0xFE, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, + 0xF0, 0x1F, 0x83, 0xF8, 0x0F, 0xC1, 0xF8, 0xC7, 0xE1, 0xFC, 0xC3, 0xF9, + 0xBE, 0xC0, 0xFF, 0x9F, 0xC0, 0x7F, 0x8F, 0xC0, 0x0F, 0x83, 0xC0, 0x00, + 0x00, 0x3F, 0x00, 0x3F, 0xE0, 0x1E, 0x3C, 0x0F, 0x0F, 0x07, 0x83, 0xC3, + 0xE0, 0xF1, 0xF0, 0x3C, 0xFC, 0x1E, 0x3F, 0x0F, 0x9F, 0x83, 0xC7, 0xE3, + 0xE1, 0xFB, 0xE0, 0xFF, 0xE0, 0x3F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, 0x00, + 0xFC, 0x03, 0x3F, 0x01, 0x8F, 0xC0, 0xC1, 0xF8, 0x70, 0x7F, 0xF8, 0x07, + 0xFC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xCE, 0x00, + 0x00, 0x78, 0xF0, 0x00, 0x0F, 0x8F, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x1F, + 0x06, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F, + 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, + 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x00, + 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, + 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x06, 0x1F, 0x00, 0x00, 0xF1, 0xE0, + 0x00, 0x0F, 0x3E, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x07, 0xF8, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x7F, 0xF0, 0x00, 0x7E, + 0x3F, 0xE0, 0x7C, 0x0F, 0xF0, 0x7E, 0x07, 0xC0, 0x7E, 0x03, 0xE0, 0x3F, + 0x01, 0xF0, 0x1F, 0x01, 0xF8, 0x0F, 0x80, 0xFC, 0x07, 0xC0, 0xFC, 0x01, + 0xE0, 0xFC, 0x00, 0x78, 0xFC, 0x00, 0x1F, 0xFC, 0x00, 0x0F, 0xF0, 0x00, + 0x1C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xF8, 0x00, + 0x07, 0xFF, 0x80, 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x77, 0xFF, + 0x80, 0xF0, 0x7F, 0xC0, 0xF0, 0x07, 0xE0, 0xF0, 0x01, 0xF0, 0x78, 0x00, + 0xF8, 0x3C, 0x00, 0x78, 0x1F, 0x00, 0x7C, 0x07, 0xC0, 0x78, 0x01, 0xFF, + 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x04, 0x00, 0x01, 0xF8, 0x00, 0x1F, + 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, + 0x00, 0x1F, 0x87, 0xC0, 0x3E, 0x1F, 0xC0, 0xFC, 0x7F, 0x81, 0xF9, 0x9F, + 0x03, 0xE6, 0x3E, 0x07, 0xD8, 0x7C, 0x1F, 0xA0, 0xF8, 0x3F, 0x83, 0xF0, + 0x7F, 0x07, 0xE0, 0xFC, 0x0F, 0xC3, 0xF8, 0x3F, 0x07, 0xE0, 0x7E, 0x0F, + 0xC0, 0xFC, 0x3F, 0x03, 0xF0, 0x7E, 0x07, 0xE0, 0xFC, 0x0F, 0xC1, 0xF0, + 0x3F, 0x17, 0xE0, 0x7E, 0x6F, 0xC0, 0xF9, 0x9F, 0x01, 0xF6, 0x3E, 0x03, + 0xF8, 0xFC, 0x07, 0xF1, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x3F, 0x03, 0xF0, + 0x3F, 0x03, 0xF0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC7, + 0xFC, 0x1F, 0xC0, 0xF8, 0x0F, 0x81, 0xF8, 0x1F, 0x81, 0xF0, 0x1F, 0x03, + 0xF0, 0x3E, 0x03, 0xE0, 0x3E, 0x07, 0xE0, 0x7C, 0x07, 0xC0, 0xFC, 0x2F, + 0x84, 0xF8, 0xCF, 0x98, 0xFF, 0x0F, 0xE0, 0x78, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, + 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xC0, + 0x00, 0x3E, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, + 0x7C, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, + 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, + 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x1F, + 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0x00, + 0x60, 0xF8, 0x03, 0xC3, 0xC0, 0x0F, 0x1F, 0x00, 0x3C, 0xF8, 0x00, 0x7F, + 0xC0, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFC, 0x00, 0x07, + 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x01, + 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x03, + 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE3, 0xFF, 0x03, 0xE0, 0xFC, 0x07, + 0xE0, 0xF0, 0x07, 0xE0, 0xE0, 0x07, 0xC1, 0xC0, 0x0F, 0xC3, 0x80, 0x0F, + 0xC7, 0x00, 0x0F, 0x8E, 0x00, 0x0F, 0xBE, 0x00, 0x1F, 0xFE, 0x00, 0x1F, + 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0x1F, 0x3E, 0x00, 0x3F, 0x3F, 0x00, 0x3F, + 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x7E, 0x1F, 0x04, 0x7E, 0x1F, 0x8C, 0x7E, + 0x0F, 0x98, 0x7C, 0x0F, 0xF0, 0xFC, 0x07, 0xE0, 0xE0, 0x03, 0xC0, 0x00, + 0x08, 0x0F, 0xC7, 0xFE, 0x07, 0xF0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7C, + 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0x80, 0x7C, 0x07, 0xE0, 0x3E, 0x01, + 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xC0, 0x3E, 0x03, 0xF0, 0x1F, 0x80, 0xF8, + 0x0F, 0xC0, 0x7E, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x8F, 0x8C, 0x7C, 0x43, + 0xE4, 0x1F, 0xE0, 0xFE, 0x03, 0xC0, 0x00, 0x00, 0x70, 0x78, 0x0F, 0x83, + 0xFE, 0x3F, 0x87, 0xF8, 0x1F, 0xCF, 0xF1, 0xFF, 0x03, 0xF1, 0x3E, 0x73, + 0xE0, 0x7E, 0x47, 0xD8, 0x7C, 0x0F, 0xD0, 0xFB, 0x1F, 0x81, 0xF4, 0x3E, + 0xC3, 0xF0, 0x3E, 0x87, 0xF0, 0x7C, 0x0F, 0xE0, 0xFE, 0x1F, 0x81, 0xF4, + 0x1F, 0x83, 0xF0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xE0, 0xFC, 0x1F, 0x81, + 0xF8, 0x1F, 0x83, 0xF0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xE0, 0xFC, 0x0F, + 0x80, 0xF8, 0x1F, 0x03, 0xF0, 0x3F, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0xFC, + 0x0F, 0x88, 0xF8, 0x1F, 0x81, 0xF3, 0x3F, 0x03, 0xE0, 0x3E, 0x47, 0xE0, + 0xFC, 0x07, 0xF0, 0xFC, 0x1F, 0x80, 0xFE, 0x18, 0x00, 0x00, 0x0F, 0x00, + 0x00, 0x70, 0xF8, 0x7F, 0xC3, 0xF8, 0x1F, 0x8F, 0xF0, 0x3F, 0x33, 0xE0, + 0x7C, 0x87, 0xC1, 0xF9, 0x0F, 0x83, 0xF4, 0x1F, 0x07, 0xD0, 0x3E, 0x0F, + 0xE0, 0xFC, 0x3F, 0x81, 0xF8, 0x7F, 0x03, 0xE0, 0xFC, 0x0F, 0xC1, 0xF8, + 0x1F, 0x87, 0xE0, 0x3E, 0x0F, 0xC0, 0xFC, 0x1F, 0x81, 0xF0, 0x3E, 0x03, + 0xE0, 0xFC, 0x0F, 0xC9, 0xF8, 0x1F, 0x33, 0xE0, 0x3E, 0x47, 0xC0, 0x7F, + 0x1F, 0x80, 0xFE, 0x38, 0x00, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x0E, 0x38, + 0x03, 0xC1, 0xC0, 0x78, 0x1E, 0x0F, 0x81, 0xF0, 0xF0, 0x1F, 0x1F, 0x01, + 0xF3, 0xE0, 0x1F, 0x3E, 0x03, 0xF7, 0xC0, 0x3F, 0x7C, 0x03, 0xF7, 0xC0, + 0x3E, 0xFC, 0x03, 0xEF, 0xC0, 0x7E, 0xF8, 0x07, 0xCF, 0x80, 0x7C, 0xF8, + 0x0F, 0x8F, 0x80, 0xF8, 0xF8, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x3C, 0x03, + 0xC7, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x1F, 0x00, 0x3F, 0xE7, 0xF8, + 0x01, 0xF9, 0xFF, 0x00, 0x1F, 0x47, 0xF0, 0x07, 0xF0, 0x7E, 0x00, 0xFE, + 0x0F, 0xC0, 0x1F, 0x81, 0xF8, 0x03, 0xF0, 0x3F, 0x00, 0xFC, 0x07, 0xE0, + 0x1F, 0x81, 0xFC, 0x03, 0xE0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x1F, 0x81, + 0xFC, 0x03, 0xF0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x0F, 0x81, 0xF8, 0x03, + 0xF0, 0x3E, 0x00, 0x7E, 0x0F, 0xC0, 0x0F, 0x81, 0xF0, 0x01, 0xF0, 0x7C, + 0x00, 0x7F, 0x1F, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xF3, 0xE0, 0x00, 0x3E, + 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x0F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0xFC, + 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0xF9, 0xF0, 0x1F, 0x1F, 0xC0, 0xF8, + 0x7E, 0x07, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xF8, 0x1F, 0x87, 0xE0, 0x7C, + 0x3F, 0x01, 0xF0, 0xFC, 0x0F, 0xC7, 0xE0, 0x3E, 0x1F, 0x80, 0xF8, 0x7E, + 0x07, 0xE3, 0xF0, 0x1F, 0x8F, 0xC0, 0x7C, 0x3F, 0x03, 0xF0, 0xFC, 0x0F, + 0xC3, 0xF0, 0x7E, 0x0F, 0xC3, 0xF8, 0x3F, 0x9B, 0xE0, 0x7F, 0xDF, 0x01, + 0xFE, 0x7C, 0x01, 0xF1, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3E, 0x00, 0x00, + 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xF8, + 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x71, 0xE1, 0xFF, 0x3E, 0x07, 0xE7, 0xF0, + 0x7E, 0xFF, 0x07, 0xE9, 0xE0, 0x7D, 0x0E, 0x07, 0xD0, 0x00, 0xFE, 0x00, + 0x0F, 0xE0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0x80, + 0x01, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xF0, + 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xC0, 0x00, 0x01, + 0xF1, 0x07, 0xFF, 0x0F, 0x0F, 0x0E, 0x07, 0x1E, 0x06, 0x1E, 0x06, 0x1F, + 0x02, 0x1F, 0x02, 0x1F, 0x80, 0x0F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x07, + 0xF8, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFC, 0x40, 0x7C, 0x40, 0x7C, 0x60, + 0x3C, 0xE0, 0x38, 0xF0, 0x38, 0xF8, 0xF0, 0xDF, 0xC0, 0x00, 0x20, 0x03, + 0x00, 0x38, 0x03, 0x80, 0x3C, 0x03, 0xE0, 0x7F, 0x07, 0xFF, 0x3F, 0xF8, + 0x7C, 0x07, 0xE0, 0x3F, 0x01, 0xF0, 0x0F, 0x80, 0xFC, 0x07, 0xC0, 0x3E, + 0x03, 0xF0, 0x1F, 0x80, 0xF8, 0x07, 0xC0, 0x7E, 0x03, 0xF1, 0x1F, 0x08, + 0xF8, 0x87, 0xC8, 0x3F, 0xC1, 0xFC, 0x07, 0x80, 0x00, 0x00, 0x40, 0x00, + 0x1F, 0x03, 0xF7, 0xF8, 0x0F, 0x87, 0xE0, 0x3E, 0x1F, 0x81, 0xF8, 0x7E, + 0x07, 0xC1, 0xF0, 0x1F, 0x07, 0xC0, 0xFC, 0x3F, 0x03, 0xE0, 0xF8, 0x0F, + 0x83, 0xE0, 0x7E, 0x0F, 0x81, 0xF8, 0x7E, 0x0F, 0xC1, 0xF0, 0x3F, 0x07, + 0xC1, 0xFC, 0x1F, 0x07, 0xE0, 0xF8, 0x2F, 0x83, 0xE1, 0x3C, 0x6F, 0x8D, + 0xF1, 0x3E, 0x67, 0xC8, 0xFF, 0x1F, 0xE3, 0xF8, 0x7F, 0x07, 0xC0, 0xF0, + 0x00, 0x06, 0x07, 0x1F, 0x07, 0xBF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, + 0xF8, 0x3C, 0x7C, 0x0C, 0x3E, 0x06, 0x1F, 0x03, 0x0F, 0x83, 0x07, 0xC1, + 0x83, 0xE1, 0x81, 0xF1, 0x80, 0xF9, 0x80, 0x7C, 0xC0, 0x3E, 0xC0, 0x1F, + 0xC0, 0x0F, 0xC0, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x00, 0xC0, 0x00, + 0x40, 0x00, 0x06, 0x01, 0x81, 0xC7, 0xC0, 0x30, 0x7F, 0xF8, 0x0E, 0x0F, + 0x9F, 0x01, 0xC1, 0xF3, 0xE0, 0x78, 0x3E, 0x7C, 0x1F, 0x03, 0xCF, 0xC3, + 0xE0, 0x30, 0xF8, 0xFC, 0x06, 0x1F, 0x1F, 0xC0, 0x83, 0xE7, 0xF8, 0x30, + 0x7C, 0xFF, 0x04, 0x0F, 0xB7, 0xE1, 0x81, 0xF6, 0xFC, 0x60, 0x3F, 0x8F, + 0x98, 0x07, 0xE1, 0xF3, 0x00, 0xFC, 0x3E, 0xC0, 0x1F, 0x07, 0xF0, 0x03, + 0xE0, 0xFC, 0x00, 0x78, 0x1F, 0x80, 0x0F, 0x03, 0xE0, 0x01, 0xC0, 0x78, + 0x00, 0x30, 0x0E, 0x00, 0x06, 0x01, 0x80, 0x00, 0x00, 0xF0, 0x1E, 0x0F, + 0xF0, 0x3E, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0xFF, 0x00, 0xF9, 0x8E, 0x00, + 0xFB, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, + 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xBF, 0x00, 0x01, + 0xBF, 0x08, 0x73, 0x1F, 0x18, 0xFF, 0x1F, 0x30, 0xFE, 0x1F, 0xE0, 0xFC, + 0x0F, 0xC0, 0x78, 0x07, 0x80, 0x00, 0x30, 0x1C, 0x0F, 0xF0, 0x7C, 0x07, + 0xE0, 0xF8, 0x0F, 0xC1, 0xF0, 0x0F, 0xC1, 0xE0, 0x1F, 0x81, 0xC0, 0x3F, + 0x03, 0x00, 0x3E, 0x06, 0x00, 0x7E, 0x08, 0x00, 0xFC, 0x30, 0x01, 0xF8, + 0x60, 0x01, 0xF1, 0x80, 0x03, 0xE3, 0x00, 0x07, 0xCC, 0x00, 0x0F, 0xD8, + 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, + 0x00, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x01, 0xC1, 0x80, 0x07, 0xE6, + 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x07, + 0xFF, 0xE1, 0xFF, 0xF8, 0x3F, 0xFF, 0x07, 0xFF, 0xC0, 0x80, 0x70, 0x30, + 0x1C, 0x04, 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, + 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x30, + 0x00, 0x0C, 0x00, 0x03, 0xE0, 0x00, 0xFE, 0x00, 0x1F, 0xE0, 0xC7, 0xFC, + 0x3D, 0xCF, 0xC7, 0x90, 0xF8, 0xF0, 0x07, 0x9C, 0x00, 0x3E, 0x00, 0x00, + 0x01, 0xF0, 0x00, 0xFC, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, + 0x07, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, + 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xE0, + 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0xC0, + 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, + 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, + 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, + 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, + 0x03, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, + 0x3E, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, + 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, + 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, + 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, + 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x00, + 0x7C, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, + 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, + 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, + 0x03, 0xF0, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x03, 0xFF, 0x01, 0x3F, + 0xFE, 0x1D, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0x00, 0x1F, 0xF0, 0x00, 0x1F, + 0x00 }; + +const GFXglyph FreeSerifBoldItalic24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' + { 0, 15, 33, 18, 3, -31 }, // 0x21 '!' + { 62, 19, 13, 26, 6, -31 }, // 0x22 '"' + { 93, 27, 33, 23, -2, -32 }, // 0x23 '#' + { 205, 24, 39, 24, -1, -33 }, // 0x24 '$' + { 322, 35, 32, 39, 2, -30 }, // 0x25 '%' + { 462, 33, 33, 37, 0, -31 }, // 0x26 '&' + { 599, 7, 13, 13, 6, -31 }, // 0x27 ''' + { 611, 14, 41, 16, 1, -31 }, // 0x28 '(' + { 683, 14, 41, 16, -2, -31 }, // 0x29 ')' + { 755, 19, 20, 23, 3, -31 }, // 0x2A '*' + { 803, 22, 23, 27, 2, -22 }, // 0x2B '+' + { 867, 10, 15, 12, -3, -5 }, // 0x2C ',' + { 886, 12, 5, 16, 0, -12 }, // 0x2D '-' + { 894, 8, 7, 12, 0, -5 }, // 0x2E '.' + { 901, 19, 33, 16, 0, -31 }, // 0x2F '/' + { 980, 22, 33, 23, 1, -31 }, // 0x30 '0' + { 1071, 20, 32, 23, 0, -31 }, // 0x31 '1' + { 1151, 22, 32, 23, 1, -31 }, // 0x32 '2' + { 1239, 22, 33, 24, 0, -31 }, // 0x33 '3' + { 1330, 25, 32, 23, 0, -31 }, // 0x34 '4' + { 1430, 24, 32, 24, 0, -30 }, // 0x35 '5' + { 1526, 23, 32, 24, 1, -30 }, // 0x36 '6' + { 1618, 23, 31, 23, 3, -30 }, // 0x37 '7' + { 1708, 21, 33, 23, 1, -31 }, // 0x38 '8' + { 1795, 23, 33, 23, 0, -31 }, // 0x39 '9' + { 1890, 13, 22, 12, 0, -20 }, // 0x3A ':' + { 1926, 15, 30, 12, -2, -20 }, // 0x3B ';' + { 1983, 24, 25, 27, 1, -23 }, // 0x3C '<' + { 2058, 24, 14, 27, 3, -18 }, // 0x3D '=' + { 2100, 24, 25, 27, 3, -23 }, // 0x3E '>' + { 2175, 18, 33, 24, 4, -31 }, // 0x3F '?' + { 2250, 33, 33, 39, 3, -31 }, // 0x40 '@' + { 2387, 31, 32, 33, 0, -31 }, // 0x41 'A' + { 2511, 31, 31, 30, 0, -30 }, // 0x42 'B' + { 2632, 29, 33, 29, 2, -31 }, // 0x43 'C' + { 2752, 35, 31, 34, 0, -30 }, // 0x44 'D' + { 2888, 32, 31, 30, 0, -30 }, // 0x45 'E' + { 3012, 31, 31, 29, 0, -30 }, // 0x46 'F' + { 3133, 32, 33, 33, 2, -31 }, // 0x47 'G' + { 3265, 39, 31, 35, 0, -30 }, // 0x48 'H' + { 3417, 21, 31, 18, 0, -30 }, // 0x49 'I' + { 3499, 27, 36, 23, 0, -30 }, // 0x4A 'J' + { 3621, 34, 31, 31, 0, -30 }, // 0x4B 'K' + { 3753, 29, 31, 29, 0, -30 }, // 0x4C 'L' + { 3866, 44, 32, 41, 0, -30 }, // 0x4D 'M' + { 4042, 37, 32, 33, 0, -30 }, // 0x4E 'N' + { 4190, 31, 33, 32, 2, -31 }, // 0x4F 'O' + { 4318, 31, 31, 28, 0, -30 }, // 0x50 'P' + { 4439, 31, 42, 32, 2, -31 }, // 0x51 'Q' + { 4602, 32, 31, 31, 0, -30 }, // 0x52 'R' + { 4726, 24, 33, 24, 0, -31 }, // 0x53 'S' + { 4825, 27, 31, 28, 4, -30 }, // 0x54 'T' + { 4930, 32, 32, 34, 5, -30 }, // 0x55 'U' + { 5058, 31, 32, 33, 6, -30 }, // 0x56 'V' + { 5182, 41, 32, 44, 6, -30 }, // 0x57 'W' + { 5346, 34, 31, 33, 0, -30 }, // 0x58 'X' + { 5478, 28, 31, 30, 6, -30 }, // 0x59 'Y' + { 5587, 28, 31, 26, 0, -30 }, // 0x5A 'Z' + { 5696, 19, 38, 16, -2, -30 }, // 0x5B '[' + { 5787, 13, 33, 19, 6, -31 }, // 0x5C '\' + { 5841, 19, 38, 16, -3, -30 }, // 0x5D ']' + { 5932, 21, 17, 27, 3, -30 }, // 0x5E '^' + { 5977, 24, 3, 23, 0, 5 }, // 0x5F '_' + { 5986, 10, 9, 16, 4, -32 }, // 0x60 '`' + { 5998, 22, 23, 24, 1, -21 }, // 0x61 'a' + { 6062, 22, 33, 23, 1, -31 }, // 0x62 'b' + { 6153, 18, 23, 20, 1, -21 }, // 0x63 'c' + { 6205, 25, 34, 24, 1, -32 }, // 0x64 'd' + { 6312, 18, 23, 20, 1, -21 }, // 0x65 'e' + { 6364, 28, 41, 23, -4, -31 }, // 0x66 'f' + { 6508, 25, 31, 23, -1, -21 }, // 0x67 'g' + { 6605, 23, 34, 26, 1, -32 }, // 0x68 'h' + { 6703, 12, 33, 14, 2, -31 }, // 0x69 'i' + { 6753, 22, 42, 16, -4, -31 }, // 0x6A 'j' + { 6869, 24, 34, 24, 1, -32 }, // 0x6B 'k' + { 6971, 13, 34, 14, 2, -32 }, // 0x6C 'l' + { 7027, 35, 23, 36, 0, -21 }, // 0x6D 'm' + { 7128, 23, 23, 25, 0, -21 }, // 0x6E 'n' + { 7195, 20, 23, 22, 1, -21 }, // 0x6F 'o' + { 7253, 27, 31, 23, -4, -21 }, // 0x70 'p' + { 7358, 22, 31, 23, 1, -21 }, // 0x71 'q' + { 7444, 20, 22, 19, 0, -21 }, // 0x72 'r' + { 7499, 16, 23, 17, 0, -21 }, // 0x73 's' + { 7545, 13, 29, 13, 2, -27 }, // 0x74 't' + { 7593, 22, 23, 25, 2, -21 }, // 0x75 'u' + { 7657, 17, 23, 21, 3, -21 }, // 0x76 'v' + { 7706, 27, 23, 31, 3, -21 }, // 0x77 'w' + { 7784, 24, 23, 22, -1, -21 }, // 0x78 'x' + { 7853, 23, 31, 20, -3, -21 }, // 0x79 'y' + { 7943, 19, 25, 19, 0, -20 }, // 0x7A 'z' + { 8003, 20, 41, 16, 0, -31 }, // 0x7B '{' + { 8106, 4, 33, 13, 5, -31 }, // 0x7C '|' + { 8123, 20, 41, 16, -6, -31 }, // 0x7D '}' + { 8226, 21, 7, 27, 3, -14 } }; // 0x7E '~' + +const GFXfont FreeSerifBoldItalic24pt7b PROGMEM = { + (uint8_t *)FreeSerifBoldItalic24pt7bBitmaps, + (GFXglyph *)FreeSerifBoldItalic24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 8917 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h new file mode 100644 index 0000000..47711ee --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h @@ -0,0 +1,215 @@ +const uint8_t FreeSerifBoldItalic9pt7bBitmaps[] PROGMEM = { + 0x0C, 0x31, 0xC6, 0x18, 0x41, 0x08, 0x20, 0x0E, 0x38, 0xE0, 0xCF, 0x38, + 0xA2, 0x88, 0x02, 0x40, 0xC8, 0x13, 0x06, 0x43, 0xFC, 0x32, 0x06, 0x40, + 0x98, 0x7F, 0x84, 0xC0, 0x90, 0x32, 0x04, 0xC0, 0x01, 0x01, 0xF0, 0x4B, + 0x99, 0x33, 0x24, 0x78, 0x07, 0x80, 0x38, 0x0B, 0x89, 0x31, 0x26, 0x64, + 0xC7, 0x30, 0x3C, 0x04, 0x00, 0x38, 0x41, 0x9F, 0x06, 0x48, 0x31, 0x60, + 0xCD, 0x03, 0x2C, 0x07, 0x27, 0x81, 0x39, 0x05, 0xC4, 0x26, 0x10, 0x98, + 0x84, 0x66, 0x10, 0xE0, 0x03, 0x80, 0x22, 0x03, 0x10, 0x19, 0x00, 0xF0, + 0x0F, 0x3C, 0xF8, 0xCC, 0xC4, 0xE7, 0x47, 0x3E, 0x38, 0xE1, 0xE7, 0x97, + 0xCF, 0x00, 0xFA, 0x80, 0x08, 0x88, 0x84, 0x62, 0x10, 0x84, 0x21, 0x08, + 0x41, 0x00, 0x20, 0x84, 0x10, 0x84, 0x21, 0x08, 0xC6, 0x23, 0x11, 0x00, + 0x18, 0x18, 0xD6, 0x38, 0x18, 0xF7, 0x18, 0x18, 0x08, 0x04, 0x02, 0x01, + 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0x6D, 0x95, 0x00, 0xFF, 0xC0, + 0xFF, 0x80, 0x06, 0x0C, 0x30, 0x60, 0x83, 0x04, 0x18, 0x20, 0xC1, 0x06, + 0x00, 0x0F, 0x0C, 0x8C, 0x6E, 0x37, 0x1B, 0x1F, 0x8F, 0xC7, 0xC7, 0x63, + 0xB1, 0x89, 0x83, 0x80, 0x06, 0x1E, 0x0E, 0x0E, 0x0C, 0x0C, 0x1C, 0x18, + 0x18, 0x18, 0x38, 0x38, 0xFC, 0x1F, 0x13, 0xD0, 0xE0, 0x70, 0x38, 0x38, + 0x18, 0x18, 0x18, 0x08, 0x08, 0x4F, 0xCF, 0xE0, 0x1F, 0x11, 0xC0, 0xE0, + 0x60, 0xC1, 0xF0, 0x38, 0x0C, 0x06, 0x03, 0x01, 0x19, 0x8F, 0x00, 0x00, + 0x80, 0xC0, 0xE1, 0xE0, 0xB0, 0x98, 0x9C, 0x8C, 0xFF, 0x07, 0x03, 0x01, + 0x80, 0x0F, 0x88, 0x08, 0x07, 0x83, 0xE0, 0x78, 0x1C, 0x06, 0x03, 0x01, + 0x80, 0x9C, 0x87, 0x80, 0x03, 0x87, 0x07, 0x07, 0x07, 0x03, 0xE3, 0x99, + 0xCC, 0xC6, 0x63, 0x33, 0x89, 0x87, 0x80, 0x3F, 0xBF, 0x90, 0x80, 0xC0, + 0x40, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x13, 0x31, + 0x31, 0x3A, 0x1C, 0x1C, 0x6E, 0xC6, 0xC6, 0xC6, 0x44, 0x38, 0x0E, 0x1C, + 0x8C, 0x6C, 0x36, 0x3B, 0x1D, 0x8E, 0x7E, 0x0E, 0x07, 0x07, 0x0E, 0x0C, + 0x00, 0x39, 0xCE, 0x00, 0x03, 0x9C, 0xE0, 0x39, 0xCE, 0x00, 0x01, 0x8C, + 0x22, 0x20, 0x00, 0x01, 0xC3, 0xC7, 0x8E, 0x06, 0x01, 0xE0, 0x3C, 0x07, + 0x80, 0x40, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x60, 0x1E, 0x03, + 0xC0, 0x78, 0x1C, 0x3C, 0x78, 0xF0, 0x40, 0x00, 0x1C, 0x27, 0x37, 0x07, + 0x0E, 0x1C, 0x30, 0x60, 0x40, 0x00, 0xE0, 0xE0, 0xE0, 0x0F, 0x80, 0xC3, + 0x08, 0x04, 0xC3, 0x3C, 0x24, 0xE2, 0x27, 0x33, 0x39, 0x11, 0xC9, 0x93, + 0x77, 0x18, 0x00, 0x70, 0x40, 0xFC, 0x00, 0x00, 0x80, 0x18, 0x01, 0x80, + 0x38, 0x05, 0x80, 0x5C, 0x09, 0xC1, 0x1C, 0x1F, 0xC2, 0x0C, 0x20, 0xC4, + 0x0E, 0xF3, 0xF0, 0x3F, 0xE0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0xE1, 0xF0, + 0x39, 0xC3, 0x8E, 0x38, 0xE3, 0x0E, 0x71, 0xE7, 0x1C, 0xFF, 0x00, 0x07, + 0xD1, 0xC7, 0x38, 0x27, 0x02, 0x70, 0x0F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, + 0x0E, 0x00, 0x60, 0x87, 0x18, 0x1E, 0x00, 0x3F, 0xE0, 0x30, 0xE0, 0xC1, + 0x87, 0x07, 0x1C, 0x1C, 0x60, 0x73, 0x81, 0xCE, 0x07, 0x38, 0x38, 0xC0, + 0xE7, 0x07, 0x1C, 0x78, 0xFF, 0x80, 0x1F, 0xF8, 0x61, 0xC3, 0x04, 0x38, + 0x81, 0xCC, 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x81, 0x1C, 0x18, + 0xE3, 0x8F, 0xFC, 0x00, 0x3F, 0xF8, 0x61, 0xC3, 0x04, 0x38, 0x81, 0xCC, + 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x80, 0x1C, 0x00, 0xE0, 0x0F, + 0x80, 0x00, 0x07, 0x91, 0xC7, 0x38, 0x27, 0x00, 0x70, 0x0F, 0x00, 0xE1, + 0xFE, 0x0E, 0xE0, 0xCE, 0x0C, 0x60, 0xC7, 0x1C, 0x1F, 0x00, 0x1F, 0x7E, + 0x1C, 0x38, 0x30, 0x60, 0xE1, 0xC1, 0xC3, 0x83, 0x06, 0x0F, 0xFC, 0x1C, + 0x38, 0x38, 0x70, 0x60, 0xC1, 0xC3, 0x83, 0x87, 0x0F, 0x9F, 0x00, 0x3F, + 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x38, 0x30, 0x70, 0x70, 0xF8, + 0x07, 0xC0, 0xE0, 0x38, 0x0C, 0x07, 0x01, 0xC0, 0x70, 0x18, 0x0E, 0x03, + 0x80, 0xC3, 0x30, 0xDC, 0x1E, 0x00, 0x1F, 0x78, 0x71, 0x83, 0x18, 0x39, + 0x81, 0xD0, 0x0D, 0x00, 0xFC, 0x07, 0x60, 0x3B, 0x81, 0x8C, 0x1C, 0x70, + 0xE1, 0x8F, 0xBE, 0x00, 0x1F, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x1C, 0x01, + 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x01, 0x70, 0x37, 0x0E, 0xFF, 0xE0, + 0x1E, 0x07, 0x87, 0x07, 0x83, 0x83, 0x82, 0xC3, 0xC1, 0x62, 0xE0, 0xB1, + 0x70, 0x99, 0x30, 0x4D, 0xB8, 0x27, 0x9C, 0x13, 0x8C, 0x11, 0xC6, 0x0C, + 0xC7, 0x0F, 0x47, 0xC0, 0x3C, 0x3C, 0x38, 0x20, 0xE0, 0x85, 0xC4, 0x13, + 0x10, 0x4E, 0x42, 0x3A, 0x08, 0x78, 0x21, 0xE0, 0x83, 0x84, 0x0C, 0x18, + 0x10, 0x00, 0x40, 0x07, 0xC1, 0xCE, 0x38, 0x73, 0x87, 0x70, 0x77, 0x07, + 0xF0, 0xFE, 0x0E, 0xE0, 0xEE, 0x1C, 0xE1, 0xC6, 0x38, 0x3E, 0x00, 0x3F, + 0xC0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0xC3, 0x80, 0x30, + 0x03, 0x00, 0x70, 0x07, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0xCE, 0x38, 0x73, + 0x87, 0x70, 0x77, 0x07, 0xF0, 0x7E, 0x0E, 0xE0, 0xEE, 0x0C, 0xE1, 0xC6, + 0x38, 0x36, 0x01, 0x80, 0x3C, 0x2D, 0xFC, 0x3F, 0xC0, 0xE7, 0x0C, 0x71, + 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0x83, 0xB8, 0x3B, 0x83, 0x3C, 0x71, 0xC7, + 0x1C, 0xF9, 0xF0, 0x0C, 0x89, 0x8C, 0x46, 0x23, 0x80, 0xE0, 0x78, 0x0E, + 0x03, 0x21, 0x90, 0xCC, 0xC9, 0xC0, 0x7F, 0xE9, 0xDF, 0x31, 0x4E, 0x21, + 0xC0, 0x38, 0x06, 0x01, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x38, 0x0F, 0xC0, + 0x7C, 0xF3, 0x82, 0x30, 0x27, 0x04, 0x70, 0x46, 0x04, 0xE0, 0x4E, 0x08, + 0xE0, 0x8E, 0x08, 0xE1, 0x0F, 0x30, 0x3C, 0x00, 0xFC, 0x73, 0x82, 0x38, + 0x23, 0x84, 0x38, 0x83, 0x90, 0x39, 0x01, 0xA0, 0x1C, 0x01, 0xC0, 0x18, + 0x01, 0x00, 0xF9, 0xF7, 0x30, 0xE2, 0x30, 0xC2, 0x38, 0xC4, 0x3B, 0xC4, + 0x3A, 0xE8, 0x3C, 0xE8, 0x3C, 0xF0, 0x18, 0xF0, 0x18, 0x60, 0x10, 0x60, + 0x10, 0x40, 0x3F, 0x78, 0x61, 0x83, 0x98, 0x1D, 0x00, 0x70, 0x03, 0x80, + 0x1C, 0x01, 0x60, 0x0B, 0x80, 0x9C, 0x08, 0x60, 0xC3, 0x8F, 0x7E, 0x00, + 0xF9, 0xE6, 0x18, 0xC2, 0x1C, 0x81, 0xA0, 0x34, 0x07, 0x00, 0xC0, 0x18, + 0x07, 0x00, 0xE0, 0x1C, 0x0F, 0xC0, 0x3F, 0xE6, 0x19, 0x87, 0x21, 0xC0, + 0x30, 0x0E, 0x03, 0x80, 0x60, 0x1C, 0x07, 0x05, 0xC1, 0x38, 0xEF, 0xFC, + 0x0E, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, 0x20, 0x60, 0x60, + 0x60, 0x40, 0xF0, 0xC6, 0x10, 0xC6, 0x10, 0x86, 0x30, 0x86, 0x30, 0x1E, + 0x0C, 0x18, 0x20, 0xC1, 0x83, 0x04, 0x18, 0x30, 0x60, 0x83, 0x06, 0x3C, + 0x00, 0x18, 0x1C, 0x34, 0x26, 0x66, 0x43, 0xC3, 0xFF, 0x80, 0xC6, 0x30, + 0x0D, 0x9D, 0x8C, 0xCC, 0x6E, 0x26, 0x33, 0x19, 0xBE, 0x66, 0x00, 0x00, + 0x78, 0x18, 0x30, 0x30, 0x3E, 0x73, 0x63, 0x63, 0x63, 0xC6, 0xC6, 0xCC, + 0x70, 0x0F, 0x3B, 0x70, 0x70, 0xE0, 0xE0, 0xE2, 0xE4, 0x78, 0x00, 0x00, + 0xF0, 0x1C, 0x06, 0x01, 0x83, 0xE3, 0x30, 0xCC, 0x63, 0x19, 0xCC, 0x63, + 0x38, 0xCF, 0x1D, 0x80, 0x0E, 0x75, 0xCB, 0xBE, 0xDE, 0x38, 0x72, 0x78, + 0x00, 0xE0, 0x34, 0x0C, 0x01, 0x80, 0x30, 0x1F, 0x01, 0x80, 0x30, 0x06, + 0x01, 0xC0, 0x30, 0x06, 0x00, 0xC0, 0x30, 0x06, 0x04, 0x80, 0xE0, 0x00, + 0x1C, 0x19, 0xD8, 0xCC, 0x66, 0x60, 0xE1, 0x80, 0xF0, 0x7E, 0x43, 0x21, + 0x8F, 0x00, 0x00, 0x1E, 0x07, 0x03, 0x01, 0x80, 0xD8, 0xFC, 0x76, 0x33, + 0x19, 0x99, 0xCC, 0xD6, 0x77, 0x30, 0x39, 0xC0, 0x0F, 0x31, 0x8C, 0xC6, + 0x31, 0xAE, 0x00, 0x03, 0x81, 0xC0, 0x00, 0x00, 0xE0, 0x30, 0x18, 0x18, + 0x0C, 0x06, 0x03, 0x03, 0x01, 0x80, 0xC2, 0xC1, 0xC0, 0x00, 0x0F, 0x00, + 0xC0, 0x60, 0x18, 0x06, 0xF3, 0x90, 0xC8, 0x34, 0x0F, 0x06, 0xC1, 0x98, + 0x66, 0xB9, 0xC0, 0x03, 0xCC, 0x63, 0x39, 0x8C, 0x66, 0x31, 0x8E, 0x70, + 0x7B, 0x99, 0xAF, 0xCE, 0x66, 0x63, 0x67, 0x33, 0x31, 0x99, 0x8C, 0xCC, + 0xE7, 0xC6, 0x30, 0x73, 0x7F, 0x73, 0x73, 0x63, 0x67, 0xE6, 0xC7, 0xC6, + 0x1E, 0x33, 0x63, 0x63, 0xC3, 0xC6, 0xC6, 0xCC, 0x78, 0x1D, 0xC3, 0xB1, + 0xCC, 0x63, 0x19, 0xCE, 0x63, 0x18, 0xCC, 0x3E, 0x1C, 0x06, 0x03, 0xE0, + 0x0D, 0x99, 0x8C, 0xCC, 0x6E, 0x76, 0x33, 0x19, 0x9C, 0x7C, 0x06, 0x07, + 0x07, 0xC0, 0x76, 0x3A, 0x30, 0x70, 0x60, 0x60, 0x60, 0xE0, 0x3D, 0x14, + 0x58, 0x38, 0x60, 0xA2, 0xF0, 0x08, 0xCC, 0xF6, 0x31, 0x98, 0xC6, 0x35, + 0xC0, 0xE3, 0x63, 0x66, 0x66, 0x66, 0xCC, 0xCC, 0xFE, 0xEC, 0xE6, 0xCD, + 0x8B, 0x26, 0x8E, 0x18, 0x20, 0xE4, 0xD9, 0x36, 0xE5, 0xDA, 0x77, 0x19, + 0xC6, 0x61, 0x10, 0x39, 0xC7, 0xB0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xE1, + 0x5A, 0x67, 0x00, 0x39, 0x8C, 0xC3, 0x21, 0xA0, 0xD0, 0x68, 0x38, 0x0C, + 0x04, 0x04, 0x14, 0x0C, 0x00, 0x3E, 0x46, 0x0C, 0x08, 0x10, 0x20, 0x70, + 0x1A, 0x0E, 0x03, 0x0E, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x10, 0x60, 0x30, + 0x30, 0x30, 0x60, 0x60, 0x60, 0x30, 0xFF, 0xF0, 0x0C, 0x06, 0x06, 0x06, + 0x04, 0x0C, 0x0C, 0x0C, 0x06, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0xE0, + 0x71, 0x8F }; + +const GFXglyph FreeSerifBoldItalic9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 6, 13, 7, 1, -11 }, // 0x21 '!' + { 10, 6, 5, 10, 3, -11 }, // 0x22 '"' + { 14, 11, 13, 9, -1, -12 }, // 0x23 '#' + { 32, 11, 15, 9, -1, -12 }, // 0x24 '$' + { 53, 14, 13, 15, 1, -11 }, // 0x25 '%' + { 76, 13, 13, 14, 0, -11 }, // 0x26 '&' + { 98, 2, 5, 5, 3, -11 }, // 0x27 ''' + { 100, 5, 16, 6, 1, -11 }, // 0x28 '(' + { 110, 5, 16, 6, -1, -11 }, // 0x29 ')' + { 120, 8, 8, 9, 1, -11 }, // 0x2A '*' + { 128, 9, 9, 10, 0, -8 }, // 0x2B '+' + { 139, 3, 6, 5, -1, -2 }, // 0x2C ',' + { 142, 5, 2, 6, 0, -4 }, // 0x2D '-' + { 144, 3, 3, 4, 0, -1 }, // 0x2E '.' + { 146, 7, 12, 6, 0, -11 }, // 0x2F '/' + { 157, 9, 13, 9, 0, -11 }, // 0x30 '0' + { 172, 8, 13, 9, 0, -11 }, // 0x31 '1' + { 185, 9, 13, 9, 0, -11 }, // 0x32 '2' + { 200, 9, 13, 9, 0, -11 }, // 0x33 '3' + { 215, 9, 12, 9, 0, -11 }, // 0x34 '4' + { 229, 9, 13, 9, 0, -11 }, // 0x35 '5' + { 244, 9, 13, 9, 1, -11 }, // 0x36 '6' + { 259, 9, 12, 9, 1, -11 }, // 0x37 '7' + { 273, 8, 13, 9, 0, -11 }, // 0x38 '8' + { 286, 9, 13, 9, 0, -11 }, // 0x39 '9' + { 301, 5, 9, 5, 0, -7 }, // 0x3A ':' + { 307, 5, 11, 5, 0, -7 }, // 0x3B ';' + { 314, 9, 10, 10, 1, -9 }, // 0x3C '<' + { 326, 9, 5, 10, 1, -6 }, // 0x3D '=' + { 332, 9, 10, 10, 1, -9 }, // 0x3E '>' + { 344, 8, 13, 9, 1, -11 }, // 0x3F '?' + { 357, 13, 13, 15, 1, -12 }, // 0x40 '@' + { 379, 12, 13, 13, 0, -11 }, // 0x41 'A' + { 399, 12, 13, 12, 0, -11 }, // 0x42 'B' + { 419, 12, 13, 11, 1, -11 }, // 0x43 'C' + { 439, 14, 13, 13, 0, -11 }, // 0x44 'D' + { 462, 13, 13, 11, 0, -11 }, // 0x45 'E' + { 484, 13, 13, 11, 0, -11 }, // 0x46 'F' + { 506, 12, 13, 13, 1, -11 }, // 0x47 'G' + { 526, 15, 13, 14, 0, -11 }, // 0x48 'H' + { 551, 8, 13, 7, 0, -11 }, // 0x49 'I' + { 564, 10, 14, 9, 0, -11 }, // 0x4A 'J' + { 582, 13, 13, 12, 0, -11 }, // 0x4B 'K' + { 604, 12, 13, 11, 0, -11 }, // 0x4C 'L' + { 624, 17, 13, 16, 0, -11 }, // 0x4D 'M' + { 652, 14, 13, 13, 0, -11 }, // 0x4E 'N' + { 675, 12, 13, 12, 1, -11 }, // 0x4F 'O' + { 695, 12, 13, 11, 0, -11 }, // 0x50 'P' + { 715, 12, 16, 12, 1, -11 }, // 0x51 'Q' + { 739, 12, 13, 12, 0, -11 }, // 0x52 'R' + { 759, 9, 13, 9, 0, -11 }, // 0x53 'S' + { 774, 11, 13, 11, 2, -11 }, // 0x54 'T' + { 792, 12, 13, 13, 2, -11 }, // 0x55 'U' + { 812, 12, 12, 13, 2, -11 }, // 0x56 'V' + { 830, 16, 12, 17, 2, -11 }, // 0x57 'W' + { 854, 13, 13, 13, 0, -11 }, // 0x58 'X' + { 876, 11, 13, 11, 2, -11 }, // 0x59 'Y' + { 894, 11, 13, 10, 0, -11 }, // 0x5A 'Z' + { 912, 8, 15, 6, -1, -11 }, // 0x5B '[' + { 927, 5, 12, 7, 2, -11 }, // 0x5C '\' + { 935, 7, 15, 6, -1, -11 }, // 0x5D ']' + { 949, 8, 7, 10, 1, -11 }, // 0x5E '^' + { 956, 9, 1, 9, 0, 3 }, // 0x5F '_' + { 958, 4, 3, 6, 2, -11 }, // 0x60 '`' + { 960, 9, 9, 9, 0, -7 }, // 0x61 'a' + { 971, 8, 14, 9, 0, -12 }, // 0x62 'b' + { 985, 8, 9, 8, 0, -7 }, // 0x63 'c' + { 994, 10, 14, 9, 0, -12 }, // 0x64 'd' + { 1012, 7, 9, 7, 0, -7 }, // 0x65 'e' + { 1020, 11, 17, 9, -2, -12 }, // 0x66 'f' + { 1044, 9, 12, 9, 0, -7 }, // 0x67 'g' + { 1058, 9, 14, 10, 0, -12 }, // 0x68 'h' + { 1074, 5, 13, 5, 1, -11 }, // 0x69 'i' + { 1083, 9, 16, 6, -1, -11 }, // 0x6A 'j' + { 1101, 10, 14, 9, 0, -12 }, // 0x6B 'k' + { 1119, 5, 14, 5, 1, -12 }, // 0x6C 'l' + { 1128, 13, 9, 14, 0, -7 }, // 0x6D 'm' + { 1143, 8, 9, 9, 0, -7 }, // 0x6E 'n' + { 1152, 8, 9, 9, 0, -7 }, // 0x6F 'o' + { 1161, 10, 12, 9, -2, -7 }, // 0x70 'p' + { 1176, 9, 12, 9, 0, -7 }, // 0x71 'q' + { 1190, 8, 8, 7, 0, -7 }, // 0x72 'r' + { 1198, 6, 9, 6, 0, -7 }, // 0x73 's' + { 1205, 5, 12, 5, 1, -10 }, // 0x74 't' + { 1213, 8, 9, 10, 1, -7 }, // 0x75 'u' + { 1222, 7, 8, 8, 1, -7 }, // 0x76 'v' + { 1229, 10, 8, 12, 1, -7 }, // 0x77 'w' + { 1239, 10, 9, 9, -1, -7 }, // 0x78 'x' + { 1251, 9, 12, 8, -1, -7 }, // 0x79 'y' + { 1265, 8, 9, 7, 0, -7 }, // 0x7A 'z' + { 1274, 8, 16, 6, 0, -12 }, // 0x7B '{' + { 1290, 1, 12, 5, 2, -11 }, // 0x7C '|' + { 1292, 8, 16, 6, -2, -12 }, // 0x7D '}' + { 1308, 8, 2, 10, 1, -4 } }; // 0x7E '~' + +const GFXfont FreeSerifBoldItalic9pt7b PROGMEM = { + (uint8_t *)FreeSerifBoldItalic9pt7bBitmaps, + (GFXglyph *)FreeSerifBoldItalic9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1982 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h new file mode 100644 index 0000000..52332a7 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h @@ -0,0 +1,271 @@ +const uint8_t FreeSerifItalic12pt7bBitmaps[] PROGMEM = { + 0x0C, 0x31, 0xC6, 0x18, 0x43, 0x0C, 0x20, 0x84, 0x10, 0x03, 0x0C, 0x30, + 0x66, 0xCD, 0x12, 0x24, 0x51, 0x00, 0x03, 0x10, 0x11, 0x80, 0x8C, 0x0C, + 0x40, 0x46, 0x1F, 0xFC, 0x21, 0x01, 0x18, 0x18, 0x80, 0x84, 0x3F, 0xF8, + 0x62, 0x02, 0x30, 0x31, 0x01, 0x08, 0x08, 0xC0, 0x00, 0x40, 0x08, 0x07, + 0xC0, 0xCA, 0x18, 0xA1, 0x92, 0x19, 0x01, 0xD0, 0x0F, 0x00, 0x78, 0x03, + 0xC0, 0x2E, 0x02, 0x64, 0x46, 0x44, 0x64, 0x46, 0x64, 0xC1, 0xF0, 0x08, + 0x00, 0x80, 0x00, 0x08, 0x0F, 0x0C, 0x0C, 0x7C, 0x0C, 0x22, 0x06, 0x12, + 0x06, 0x09, 0x03, 0x09, 0x01, 0x84, 0x80, 0xC4, 0x8F, 0x3C, 0x4C, 0x40, + 0x4C, 0x20, 0x4E, 0x10, 0x26, 0x08, 0x23, 0x08, 0x11, 0x84, 0x10, 0xC4, + 0x08, 0x3C, 0x00, 0x00, 0xE0, 0x02, 0x60, 0x0C, 0xC0, 0x19, 0x80, 0x36, + 0x00, 0x70, 0x00, 0xC0, 0x07, 0x9F, 0x33, 0x08, 0xC3, 0x13, 0x06, 0x46, + 0x0D, 0x0C, 0x0C, 0x18, 0x1C, 0x1C, 0x5C, 0x9F, 0x1E, 0xFA, 0xA0, 0x02, + 0x08, 0x20, 0xC3, 0x06, 0x18, 0x30, 0xE1, 0x83, 0x06, 0x0C, 0x18, 0x30, + 0x60, 0x40, 0x80, 0x81, 0x00, 0x08, 0x10, 0x10, 0x20, 0x40, 0xC1, 0x83, + 0x06, 0x0C, 0x18, 0x70, 0xC1, 0x83, 0x0C, 0x10, 0x41, 0x04, 0x00, 0x18, + 0x18, 0x18, 0x93, 0x74, 0x38, 0xD7, 0x93, 0x18, 0x18, 0x04, 0x00, 0x80, + 0x10, 0x02, 0x00, 0x41, 0xFF, 0xC1, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, + 0x00, 0x6C, 0x95, 0x00, 0xF8, 0xFC, 0x00, 0x40, 0x18, 0x02, 0x00, 0xC0, + 0x30, 0x06, 0x01, 0x80, 0x20, 0x0C, 0x01, 0x00, 0x60, 0x18, 0x03, 0x00, + 0xC0, 0x10, 0x06, 0x00, 0x07, 0x81, 0x98, 0x61, 0x18, 0x33, 0x06, 0xC0, + 0xD8, 0x1B, 0x03, 0xE0, 0xF8, 0x1F, 0x03, 0x60, 0x6C, 0x19, 0x83, 0x10, + 0xC3, 0x30, 0x3C, 0x00, 0x01, 0x87, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x18, + 0x0C, 0x06, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, 0xFE, 0x00, + 0x0F, 0x0C, 0x64, 0x0C, 0x03, 0x00, 0xC0, 0x20, 0x18, 0x0C, 0x02, 0x01, + 0x00, 0x80, 0x40, 0x20, 0x10, 0x2F, 0xF0, 0x07, 0x86, 0x30, 0x0C, 0x03, + 0x01, 0x81, 0x81, 0xF0, 0x1E, 0x03, 0x80, 0x60, 0x18, 0x06, 0x01, 0x00, + 0xCC, 0x63, 0xE0, 0x00, 0x20, 0x0C, 0x03, 0x80, 0xA0, 0x2C, 0x09, 0x82, + 0x30, 0x84, 0x31, 0x8C, 0x33, 0x06, 0x7F, 0xE0, 0x30, 0x06, 0x00, 0x80, + 0x30, 0x03, 0xE1, 0x80, 0x20, 0x06, 0x00, 0xF0, 0x0F, 0x00, 0x60, 0x06, + 0x00, 0xC0, 0x18, 0x03, 0x00, 0x40, 0x18, 0x02, 0x30, 0x87, 0xE0, 0x00, + 0x70, 0x3C, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x7F, 0x07, 0x18, 0x60, + 0xCE, 0x0C, 0xC0, 0xCC, 0x0C, 0xC0, 0xCC, 0x18, 0x41, 0x86, 0x30, 0x3E, + 0x00, 0x7F, 0xF0, 0x18, 0x03, 0x00, 0xC0, 0x10, 0x06, 0x01, 0x80, 0x30, + 0x0C, 0x01, 0x00, 0x60, 0x08, 0x03, 0x00, 0xC0, 0x10, 0x06, 0x00, 0x0F, + 0x83, 0x18, 0xC1, 0x98, 0x33, 0x06, 0x71, 0x87, 0x60, 0x70, 0x17, 0x0C, + 0x71, 0x07, 0x60, 0x6C, 0x0D, 0x81, 0xB0, 0x63, 0x1C, 0x3E, 0x00, 0x07, + 0x83, 0x18, 0xC1, 0x18, 0x36, 0x06, 0xC0, 0xD8, 0x1B, 0x07, 0x60, 0xE6, + 0x38, 0x7F, 0x00, 0xC0, 0x30, 0x0C, 0x07, 0x03, 0xC0, 0xC0, 0x00, 0x33, + 0x30, 0x00, 0x00, 0xCC, 0xC0, 0x18, 0xC6, 0x00, 0x00, 0x00, 0x03, 0x18, + 0x44, 0x40, 0x00, 0x00, 0x03, 0x00, 0xF0, 0x38, 0x1E, 0x07, 0x80, 0xE0, + 0x0F, 0x00, 0x1C, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x00, 0x10, 0xFF, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x0C, 0x00, 0xF0, 0x01, + 0xC0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x0F, 0x03, 0xC1, 0xE0, 0x78, 0x0E, + 0x00, 0x80, 0x00, 0x3E, 0x21, 0x90, 0x60, 0x30, 0x38, 0x38, 0x30, 0x30, + 0x20, 0x20, 0x10, 0x00, 0x00, 0x06, 0x03, 0x01, 0x80, 0x07, 0xE0, 0x1C, + 0x18, 0x30, 0x04, 0x60, 0x02, 0x61, 0xDA, 0xC3, 0x31, 0xC6, 0x31, 0xC4, + 0x31, 0xCC, 0x31, 0xCC, 0x21, 0xCC, 0x62, 0x6C, 0xE4, 0x67, 0x38, 0x30, + 0x00, 0x1C, 0x08, 0x07, 0xF0, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x80, 0x0B, + 0x00, 0x16, 0x00, 0x4E, 0x00, 0x9C, 0x02, 0x18, 0x08, 0x30, 0x1F, 0xE0, + 0x40, 0xC1, 0x81, 0xC2, 0x03, 0x8C, 0x07, 0x3C, 0x1F, 0x80, 0x1F, 0xF0, + 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x38, 0x60, 0xC3, 0x03, 0xF0, + 0x1C, 0x30, 0x60, 0x61, 0x81, 0x86, 0x06, 0x38, 0x18, 0xC0, 0xC3, 0x06, + 0x3F, 0xF0, 0x01, 0xF9, 0x06, 0x0F, 0x1C, 0x06, 0x38, 0x02, 0x30, 0x02, + 0x60, 0x00, 0x60, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, + 0xC0, 0x00, 0xC0, 0x08, 0x60, 0x10, 0x30, 0x60, 0x1F, 0x80, 0x1F, 0xF0, + 0x07, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0E, 0x03, 0x0C, 0x03, + 0x0C, 0x03, 0x1C, 0x03, 0x1C, 0x07, 0x18, 0x06, 0x18, 0x06, 0x38, 0x0C, + 0x30, 0x18, 0x30, 0x70, 0xFF, 0x80, 0x1F, 0xFF, 0x07, 0x07, 0x06, 0x02, + 0x06, 0x02, 0x06, 0x00, 0x0E, 0x10, 0x0C, 0x30, 0x0F, 0xF0, 0x1C, 0x20, + 0x18, 0x20, 0x18, 0x00, 0x18, 0x00, 0x38, 0x04, 0x30, 0x08, 0x30, 0x38, + 0xFF, 0xF8, 0x1F, 0xFF, 0x07, 0x07, 0x07, 0x02, 0x06, 0x02, 0x06, 0x00, + 0x0E, 0x10, 0x0C, 0x30, 0x0F, 0xF0, 0x1C, 0x20, 0x1C, 0x20, 0x18, 0x00, + 0x18, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0xFC, 0x00, 0x01, 0xF1, + 0x06, 0x0F, 0x18, 0x07, 0x38, 0x02, 0x30, 0x02, 0x60, 0x00, 0x60, 0x00, + 0xE0, 0x00, 0xC0, 0x7F, 0xC0, 0x1C, 0xC0, 0x1C, 0xC0, 0x18, 0xC0, 0x18, + 0x60, 0x18, 0x30, 0x38, 0x0F, 0xC0, 0x1F, 0xC7, 0xE0, 0xE0, 0x70, 0x18, + 0x0E, 0x03, 0x01, 0x80, 0x60, 0x30, 0x1C, 0x0E, 0x03, 0x01, 0x80, 0x7F, + 0xF0, 0x1C, 0x06, 0x03, 0x01, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, 0x81, + 0xC0, 0x60, 0x38, 0x0C, 0x06, 0x07, 0xE3, 0xF0, 0x1F, 0x83, 0x81, 0x80, + 0xC0, 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x81, 0x80, + 0xC1, 0xF8, 0x03, 0xF0, 0x0C, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x18, 0x03, + 0x80, 0x30, 0x03, 0x00, 0x30, 0x07, 0x00, 0x60, 0x06, 0x0C, 0xE0, 0xCC, + 0x07, 0x80, 0x1F, 0xCF, 0x83, 0x83, 0x81, 0x81, 0x00, 0xC3, 0x00, 0x62, + 0x00, 0x72, 0x00, 0x36, 0x00, 0x1E, 0x00, 0x1D, 0x80, 0x0C, 0xE0, 0x06, + 0x30, 0x03, 0x1C, 0x03, 0x87, 0x01, 0x81, 0x80, 0xC0, 0xE1, 0xF9, 0xFC, + 0x1F, 0xC0, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x38, 0x00, 0xC0, + 0x03, 0x00, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x38, 0x0C, 0xC0, + 0x23, 0x03, 0xBF, 0xFE, 0x0F, 0x00, 0x78, 0x38, 0x07, 0x81, 0xC0, 0x38, + 0x0E, 0x02, 0xC0, 0x70, 0x3E, 0x05, 0xC1, 0x70, 0x2E, 0x13, 0x01, 0x31, + 0x98, 0x11, 0x89, 0xC0, 0x8C, 0x8C, 0x04, 0x6C, 0x60, 0x23, 0x43, 0x02, + 0x1C, 0x38, 0x10, 0xE1, 0x81, 0x86, 0x1C, 0x1F, 0x23, 0xF8, 0x1E, 0x07, + 0xC1, 0xC0, 0x60, 0x70, 0x10, 0x1C, 0x0C, 0x05, 0x82, 0x02, 0x60, 0x80, + 0x9C, 0x60, 0x23, 0x10, 0x10, 0xC4, 0x04, 0x19, 0x01, 0x06, 0xC0, 0x40, + 0xE0, 0x20, 0x38, 0x08, 0x0E, 0x06, 0x01, 0x03, 0xE0, 0x40, 0x01, 0xF0, + 0x0C, 0x10, 0x30, 0x10, 0xC0, 0x33, 0x00, 0x6E, 0x00, 0xD8, 0x01, 0xF0, + 0x03, 0xC0, 0x0D, 0x80, 0x1B, 0x00, 0x76, 0x00, 0xCC, 0x03, 0x08, 0x0C, + 0x18, 0x70, 0x0F, 0x80, 0x1F, 0xF0, 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x38, 0x30, 0xC1, 0x83, 0x0E, 0x1F, 0xE0, 0x60, 0x01, 0x80, 0x06, + 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x06, 0x10, + 0x30, 0x30, 0xC0, 0x33, 0x00, 0x66, 0x00, 0xD8, 0x01, 0xB0, 0x03, 0xE0, + 0x0F, 0x80, 0x1B, 0x00, 0x36, 0x00, 0xCC, 0x03, 0x98, 0x06, 0x18, 0x18, + 0x18, 0xC0, 0x0E, 0x00, 0x20, 0x01, 0xF8, 0x36, 0x7F, 0x80, 0x1F, 0xF0, + 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x38, 0x70, 0xC3, 0x83, 0xF8, + 0x1D, 0xC0, 0x63, 0x01, 0x8C, 0x06, 0x18, 0x38, 0x60, 0xC1, 0xC3, 0x03, + 0x3F, 0x0F, 0x07, 0x90, 0xC7, 0x18, 0x21, 0x82, 0x18, 0x01, 0xC0, 0x0E, + 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xC4, 0x0C, 0x40, 0xC6, 0x08, 0xE1, + 0x89, 0xE0, 0x7F, 0xFE, 0xC7, 0x1D, 0x0C, 0x14, 0x18, 0x20, 0x70, 0x00, + 0xE0, 0x01, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, + 0x01, 0xC0, 0x03, 0x00, 0x0E, 0x00, 0x7F, 0x80, 0x7E, 0x1F, 0x38, 0x0C, + 0x38, 0x0C, 0x30, 0x08, 0x30, 0x08, 0x70, 0x08, 0x70, 0x10, 0x60, 0x10, + 0x60, 0x10, 0xE0, 0x10, 0xC0, 0x20, 0xC0, 0x20, 0xC0, 0x60, 0xC0, 0x40, + 0x61, 0x80, 0x3F, 0x00, 0xFC, 0x3E, 0xE0, 0x18, 0xC0, 0x21, 0x80, 0xC3, + 0x81, 0x07, 0x04, 0x0E, 0x08, 0x0C, 0x20, 0x18, 0x80, 0x31, 0x00, 0x64, + 0x00, 0xF0, 0x01, 0xE0, 0x01, 0x80, 0x02, 0x00, 0x04, 0x00, 0xFD, 0xF8, + 0xF7, 0x07, 0x06, 0x30, 0x60, 0x63, 0x07, 0x04, 0x30, 0x70, 0x83, 0x8F, + 0x08, 0x38, 0xB1, 0x03, 0x93, 0x10, 0x19, 0x32, 0x01, 0xA3, 0x20, 0x1A, + 0x34, 0x01, 0xC3, 0x40, 0x1C, 0x38, 0x01, 0x83, 0x00, 0x18, 0x30, 0x01, + 0x02, 0x00, 0x1F, 0x9F, 0x0E, 0x06, 0x06, 0x04, 0x07, 0x08, 0x03, 0x10, + 0x03, 0x20, 0x03, 0xC0, 0x01, 0x80, 0x01, 0xC0, 0x03, 0xC0, 0x06, 0xE0, + 0x0C, 0x60, 0x18, 0x60, 0x30, 0x70, 0x70, 0x78, 0xF8, 0xFC, 0xFC, 0xFB, + 0x81, 0x8C, 0x08, 0x60, 0x83, 0x8C, 0x0C, 0xC0, 0x64, 0x03, 0xC0, 0x0C, + 0x00, 0xE0, 0x07, 0x00, 0x30, 0x01, 0x80, 0x1C, 0x00, 0xC0, 0x1F, 0xC0, + 0x1F, 0xFE, 0x30, 0x38, 0xC0, 0xF1, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, + 0x70, 0x01, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, + 0x47, 0x01, 0x1C, 0x06, 0x7F, 0xF8, 0x07, 0x04, 0x08, 0x08, 0x08, 0x18, + 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, + 0x80, 0xE0, 0xC0, 0xC0, 0x40, 0x60, 0x20, 0x30, 0x30, 0x18, 0x18, 0x08, + 0x0C, 0x04, 0x06, 0x06, 0x03, 0x03, 0x0E, 0x04, 0x08, 0x10, 0x60, 0x81, + 0x02, 0x04, 0x18, 0x20, 0x40, 0x81, 0x02, 0x08, 0x10, 0x20, 0x47, 0x80, + 0x0C, 0x03, 0x81, 0xE0, 0x4C, 0x33, 0x08, 0x66, 0x19, 0x03, 0xC0, 0xC0, + 0xFF, 0xF0, 0xCE, 0x63, 0x07, 0xA0, 0xCE, 0x18, 0x63, 0x04, 0x60, 0xC6, + 0x0C, 0xC0, 0xCC, 0x18, 0xC3, 0x8C, 0x5A, 0x79, 0xC0, 0x38, 0x06, 0x01, + 0x80, 0x40, 0x30, 0x0C, 0xE3, 0xCC, 0xC3, 0x70, 0xD8, 0x36, 0x19, 0x06, + 0xC3, 0x30, 0x8C, 0xC3, 0xE0, 0x0F, 0x0C, 0xCC, 0x6C, 0x06, 0x06, 0x03, + 0x01, 0x80, 0xC0, 0x73, 0x1E, 0x00, 0x00, 0x70, 0x01, 0x80, 0x0C, 0x00, + 0x60, 0x02, 0x03, 0xF0, 0x31, 0x83, 0x08, 0x30, 0xC3, 0x06, 0x18, 0x31, + 0x81, 0x8C, 0x18, 0x61, 0xCB, 0x16, 0x8F, 0x38, 0x07, 0x19, 0x31, 0x63, + 0x62, 0xEC, 0xD0, 0xC0, 0xC0, 0xE6, 0x78, 0x00, 0x38, 0x01, 0x30, 0x0C, + 0x00, 0x20, 0x01, 0x80, 0x06, 0x00, 0xFE, 0x00, 0x40, 0x03, 0x00, 0x0C, + 0x00, 0x30, 0x00, 0x80, 0x06, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, 0x04, + 0x00, 0x30, 0x00, 0xC0, 0x02, 0x00, 0x90, 0x03, 0x80, 0x00, 0x07, 0xC0, + 0xC7, 0x18, 0x61, 0x86, 0x18, 0xE1, 0x8C, 0x07, 0x80, 0x80, 0x1C, 0x00, + 0xF0, 0x33, 0x84, 0x18, 0x80, 0x88, 0x08, 0x61, 0x03, 0xE0, 0x1C, 0x00, + 0xC0, 0x0C, 0x00, 0xC0, 0x18, 0x01, 0x8E, 0x1B, 0x61, 0xC6, 0x38, 0x63, + 0x8C, 0x30, 0xC3, 0x0C, 0x60, 0xC6, 0x1A, 0x61, 0xA4, 0x1C, 0x18, 0xC6, + 0x00, 0x0B, 0xC6, 0x23, 0x18, 0x8C, 0x63, 0x5C, 0x01, 0x80, 0xC0, 0x60, + 0x00, 0x00, 0x0C, 0x1E, 0x02, 0x03, 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, + 0x18, 0x08, 0x0C, 0x06, 0x02, 0x1B, 0x0F, 0x00, 0x1C, 0x01, 0x80, 0x30, + 0x06, 0x01, 0x80, 0x33, 0xC6, 0x30, 0x88, 0x32, 0x06, 0x80, 0xF0, 0x1B, + 0x06, 0x60, 0xC4, 0x18, 0xD2, 0x0C, 0x3C, 0x61, 0x86, 0x18, 0xC3, 0x0C, + 0x21, 0x86, 0x18, 0x43, 0x2D, 0x38, 0x78, 0xE7, 0x0D, 0xB5, 0x8D, 0x1C, + 0xC7, 0x0C, 0x63, 0x8E, 0x31, 0x86, 0x30, 0xC3, 0x18, 0xC1, 0x0C, 0x61, + 0x84, 0xB0, 0xC6, 0xB0, 0x63, 0x80, 0x78, 0xE1, 0xB6, 0x14, 0x63, 0x84, + 0x38, 0xC3, 0x0C, 0x70, 0x86, 0x18, 0x61, 0x96, 0x1A, 0xC1, 0xC0, 0x0F, + 0x06, 0x63, 0x0D, 0x83, 0x60, 0xF0, 0x3C, 0x1B, 0x06, 0xC3, 0x39, 0x87, + 0x80, 0x1E, 0xF0, 0x39, 0xC1, 0x86, 0x0C, 0x30, 0xC1, 0x86, 0x0C, 0x30, + 0xC3, 0x06, 0x18, 0x60, 0xC6, 0x07, 0xC0, 0x60, 0x03, 0x00, 0x18, 0x00, + 0xC0, 0x1F, 0x00, 0x07, 0x81, 0x9C, 0x63, 0x98, 0x76, 0x0C, 0xC1, 0xB0, + 0x76, 0x0E, 0xC3, 0x98, 0xB1, 0xE6, 0x00, 0x80, 0x30, 0x06, 0x00, 0xC0, + 0xFC, 0x79, 0x8F, 0xC5, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, + 0x10, 0x00, 0x1E, 0x98, 0xCC, 0x27, 0x11, 0x80, 0xE0, 0x39, 0x0C, 0x86, + 0x62, 0x2E, 0x00, 0x08, 0x67, 0xCC, 0x30, 0xC6, 0x18, 0x61, 0x8C, 0x34, + 0xE0, 0xF0, 0xCC, 0x19, 0x83, 0x30, 0xC6, 0x18, 0x87, 0x31, 0x66, 0x3C, + 0xCB, 0x1A, 0x6B, 0x8E, 0x00, 0x70, 0xCC, 0x33, 0x04, 0xC2, 0x18, 0x86, + 0x41, 0x90, 0x68, 0x1C, 0x06, 0x01, 0x00, 0x61, 0x0F, 0x84, 0x36, 0x30, + 0xDC, 0xC1, 0x35, 0x08, 0xD4, 0x23, 0x91, 0x0E, 0x48, 0x30, 0xE0, 0xC3, + 0x02, 0x08, 0x00, 0x0C, 0x63, 0x4A, 0x07, 0x00, 0x70, 0x06, 0x00, 0x20, + 0x07, 0x00, 0xB0, 0x0B, 0x21, 0x14, 0xE1, 0x80, 0x38, 0x63, 0x0C, 0x30, + 0x86, 0x10, 0xC4, 0x0C, 0x81, 0xA0, 0x34, 0x07, 0x00, 0x60, 0x08, 0x02, + 0x00, 0x40, 0x10, 0x04, 0x07, 0x00, 0x1F, 0x90, 0x80, 0x80, 0xC0, 0xC0, + 0x40, 0x60, 0x60, 0x60, 0x38, 0x3E, 0x03, 0xA0, 0x60, 0x00, 0x83, 0x81, + 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x10, 0x10, 0x1C, 0x06, 0x03, 0x03, + 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x18, 0x07, 0x00, 0xFF, 0xFF, 0x07, + 0x00, 0xC0, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x06, 0x06, 0x03, 0x01, 0x80, + 0x60, 0x40, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x06, 0x06, 0x06, 0x00, 0x78, + 0x18, 0x8C, 0x0F, 0x00 }; + +const GFXglyph FreeSerifItalic12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 6, 16, 8, 1, -15 }, // 0x21 '!' + { 12, 7, 6, 8, 3, -15 }, // 0x22 '"' + { 18, 13, 16, 12, 0, -15 }, // 0x23 '#' + { 44, 12, 20, 12, 0, -17 }, // 0x24 '$' + { 74, 17, 17, 20, 2, -16 }, // 0x25 '%' + { 111, 15, 16, 19, 2, -15 }, // 0x26 '&' + { 141, 2, 6, 5, 4, -15 }, // 0x27 ''' + { 143, 7, 20, 8, 1, -15 }, // 0x28 '(' + { 161, 7, 20, 8, 0, -15 }, // 0x29 ')' + { 179, 8, 10, 12, 4, -15 }, // 0x2A '*' + { 189, 11, 11, 16, 2, -10 }, // 0x2B '+' + { 205, 3, 6, 6, 0, -2 }, // 0x2C ',' + { 208, 5, 1, 8, 1, -5 }, // 0x2D '-' + { 209, 2, 3, 6, 1, -2 }, // 0x2E '.' + { 210, 11, 16, 7, 0, -15 }, // 0x2F '/' + { 232, 11, 17, 12, 1, -16 }, // 0x30 '0' + { 256, 9, 17, 12, 1, -16 }, // 0x31 '1' + { 276, 10, 15, 12, 1, -14 }, // 0x32 '2' + { 295, 10, 16, 12, 1, -15 }, // 0x33 '3' + { 315, 11, 16, 12, 0, -15 }, // 0x34 '4' + { 337, 11, 16, 12, 0, -15 }, // 0x35 '5' + { 359, 12, 17, 12, 1, -16 }, // 0x36 '6' + { 385, 11, 16, 12, 2, -15 }, // 0x37 '7' + { 407, 11, 17, 12, 1, -16 }, // 0x38 '8' + { 431, 11, 17, 12, 1, -16 }, // 0x39 '9' + { 455, 4, 11, 6, 1, -10 }, // 0x3A ':' + { 461, 5, 14, 6, 0, -10 }, // 0x3B ';' + { 470, 12, 13, 14, 1, -12 }, // 0x3C '<' + { 490, 12, 6, 16, 2, -8 }, // 0x3D '=' + { 499, 12, 13, 14, 2, -12 }, // 0x3E '>' + { 519, 9, 16, 11, 3, -15 }, // 0x3F '?' + { 537, 16, 16, 19, 2, -15 }, // 0x40 '@' + { 569, 15, 15, 16, 0, -14 }, // 0x41 'A' + { 598, 14, 16, 14, 0, -15 }, // 0x42 'B' + { 626, 16, 16, 15, 1, -15 }, // 0x43 'C' + { 658, 16, 16, 17, 0, -15 }, // 0x44 'D' + { 690, 16, 16, 14, 0, -15 }, // 0x45 'E' + { 722, 16, 16, 14, 0, -15 }, // 0x46 'F' + { 754, 16, 16, 17, 1, -15 }, // 0x47 'G' + { 786, 19, 16, 17, 0, -15 }, // 0x48 'H' + { 824, 9, 16, 8, 0, -15 }, // 0x49 'I' + { 842, 12, 16, 10, 0, -15 }, // 0x4A 'J' + { 866, 17, 16, 15, 0, -15 }, // 0x4B 'K' + { 900, 14, 16, 14, 0, -15 }, // 0x4C 'L' + { 928, 21, 16, 20, 0, -15 }, // 0x4D 'M' + { 970, 18, 16, 16, 0, -15 }, // 0x4E 'N' + { 1006, 15, 16, 16, 1, -15 }, // 0x4F 'O' + { 1036, 14, 16, 14, 0, -15 }, // 0x50 'P' + { 1064, 15, 20, 16, 1, -15 }, // 0x51 'Q' + { 1102, 14, 16, 15, 0, -15 }, // 0x52 'R' + { 1130, 12, 16, 11, 0, -15 }, // 0x53 'S' + { 1154, 15, 16, 14, 2, -15 }, // 0x54 'T' + { 1184, 16, 16, 17, 3, -15 }, // 0x55 'U' + { 1216, 15, 16, 16, 3, -15 }, // 0x56 'V' + { 1246, 20, 16, 21, 3, -15 }, // 0x57 'W' + { 1286, 16, 16, 16, 0, -15 }, // 0x58 'X' + { 1318, 13, 16, 14, 3, -15 }, // 0x59 'Y' + { 1344, 15, 16, 14, 0, -15 }, // 0x5A 'Z' + { 1374, 8, 20, 9, 1, -15 }, // 0x5B '[' + { 1394, 8, 16, 12, 3, -15 }, // 0x5C '\' + { 1410, 7, 20, 9, 1, -15 }, // 0x5D ']' + { 1428, 10, 9, 10, 0, -15 }, // 0x5E '^' + { 1440, 12, 1, 12, 0, 3 }, // 0x5F '_' + { 1442, 4, 4, 6, 3, -15 }, // 0x60 '`' + { 1444, 12, 11, 12, 0, -10 }, // 0x61 'a' + { 1461, 10, 16, 11, 1, -15 }, // 0x62 'b' + { 1481, 9, 11, 10, 1, -10 }, // 0x63 'c' + { 1494, 13, 16, 12, 0, -15 }, // 0x64 'd' + { 1520, 8, 11, 10, 1, -10 }, // 0x65 'e' + { 1531, 14, 22, 10, -2, -16 }, // 0x66 'f' + { 1570, 12, 16, 11, -1, -10 }, // 0x67 'g' + { 1594, 12, 16, 12, 0, -15 }, // 0x68 'h' + { 1618, 5, 16, 6, 1, -15 }, // 0x69 'i' + { 1628, 9, 21, 7, -2, -15 }, // 0x6A 'j' + { 1652, 11, 16, 11, 0, -15 }, // 0x6B 'k' + { 1674, 6, 16, 6, 1, -15 }, // 0x6C 'l' + { 1686, 17, 11, 17, 0, -10 }, // 0x6D 'm' + { 1710, 12, 11, 12, 0, -10 }, // 0x6E 'n' + { 1727, 10, 11, 11, 1, -10 }, // 0x6F 'o' + { 1741, 13, 16, 11, -2, -10 }, // 0x70 'p' + { 1767, 11, 16, 12, 0, -10 }, // 0x71 'q' + { 1789, 9, 11, 9, 0, -10 }, // 0x72 'r' + { 1802, 9, 11, 8, 0, -10 }, // 0x73 's' + { 1815, 6, 13, 6, 1, -12 }, // 0x74 't' + { 1825, 11, 11, 12, 1, -10 }, // 0x75 'u' + { 1841, 10, 11, 11, 1, -10 }, // 0x76 'v' + { 1855, 14, 11, 16, 2, -10 }, // 0x77 'w' + { 1875, 12, 11, 10, -1, -10 }, // 0x78 'x' + { 1892, 11, 16, 11, 0, -10 }, // 0x79 'y' + { 1914, 9, 13, 9, 0, -10 }, // 0x7A 'z' + { 1929, 9, 21, 10, 1, -16 }, // 0x7B '{' + { 1953, 1, 16, 7, 3, -15 }, // 0x7C '|' + { 1955, 9, 21, 10, 0, -16 }, // 0x7D '}' + { 1979, 11, 3, 13, 1, -6 } }; // 0x7E '~' + +const GFXfont FreeSerifItalic12pt7b PROGMEM = { + (uint8_t *)FreeSerifItalic12pt7bBitmaps, + (GFXglyph *)FreeSerifItalic12pt7bGlyphs, + 0x20, 0x7E, 29 }; + +// Approx. 2656 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h new file mode 100644 index 0000000..666ae7e --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h @@ -0,0 +1,450 @@ +const uint8_t FreeSerifItalic18pt7bBitmaps[] PROGMEM = { + 0x01, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0x81, 0xE0, 0x70, 0x1C, 0x06, 0x01, + 0x80, 0xC0, 0x30, 0x0C, 0x02, 0x01, 0x80, 0x40, 0x10, 0x00, 0x00, 0x01, + 0x80, 0xF0, 0x3C, 0x06, 0x00, 0x38, 0x77, 0x8F, 0x78, 0xF7, 0x0E, 0x60, + 0xE6, 0x0C, 0xC1, 0x8C, 0x18, 0x81, 0x00, 0x00, 0x60, 0xC0, 0x0C, 0x38, + 0x03, 0x86, 0x00, 0x60, 0xC0, 0x0C, 0x38, 0x03, 0x06, 0x00, 0x60, 0xC0, + 0xFF, 0xFF, 0x1F, 0xFF, 0xE0, 0x61, 0xC0, 0x1C, 0x30, 0x03, 0x06, 0x00, + 0x61, 0xC0, 0x18, 0x30, 0x3F, 0xFF, 0xC7, 0xFF, 0xF8, 0x18, 0x30, 0x03, + 0x0E, 0x00, 0xE1, 0x80, 0x18, 0x30, 0x03, 0x0C, 0x00, 0xC1, 0x80, 0x18, + 0x70, 0x00, 0x00, 0x08, 0x00, 0x30, 0x00, 0x40, 0x0F, 0xC0, 0x61, 0xE1, + 0x86, 0xC6, 0x0D, 0x8C, 0x1A, 0x18, 0x24, 0x38, 0xC0, 0x39, 0x80, 0x7F, + 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xDC, 0x03, 0x38, + 0x06, 0x32, 0x0C, 0x64, 0x18, 0xDC, 0x71, 0xB8, 0xC6, 0x39, 0x8C, 0x3F, + 0x30, 0x1F, 0x80, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x07, 0x80, 0x60, + 0x0F, 0xE0, 0xE0, 0x0F, 0x0F, 0xB0, 0x0E, 0x04, 0x30, 0x07, 0x02, 0x18, + 0x07, 0x01, 0x18, 0x03, 0x00, 0x8C, 0x01, 0x80, 0x8C, 0x00, 0xC0, 0x4C, + 0x00, 0x60, 0x66, 0x1F, 0x30, 0x66, 0x1F, 0xCC, 0x63, 0x1C, 0x67, 0xE3, + 0x1C, 0x19, 0xE1, 0x1C, 0x04, 0x01, 0x8C, 0x02, 0x00, 0x8E, 0x01, 0x00, + 0xC7, 0x00, 0x80, 0xC3, 0x00, 0x80, 0x61, 0x80, 0xC0, 0x60, 0xC0, 0xC0, + 0x20, 0x70, 0xE0, 0x30, 0x1F, 0xC0, 0x10, 0x07, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xFC, 0x00, 0x07, 0x18, 0x00, 0x18, 0x60, 0x00, 0xE1, 0x80, 0x03, + 0x8C, 0x00, 0x0E, 0x60, 0x00, 0x3B, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, + 0x00, 0x7F, 0x1F, 0xC3, 0x3C, 0x1C, 0x38, 0x70, 0x61, 0xE1, 0xE3, 0x87, + 0x07, 0x8C, 0x3C, 0x0F, 0x60, 0xF0, 0x3D, 0x03, 0xC0, 0x78, 0x0F, 0x01, + 0xE0, 0x3E, 0x07, 0xC0, 0x7C, 0x77, 0x84, 0xFF, 0x8F, 0xE1, 0xF8, 0x0F, + 0x00, 0x3B, 0xDE, 0xE7, 0x33, 0x18, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, + 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x01, + 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x01, 0x00, 0x80, 0x40, 0x30, + 0x08, 0x04, 0x02, 0x00, 0x04, 0x01, 0x00, 0x80, 0x60, 0x10, 0x08, 0x04, + 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x81, + 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x30, 0x18, 0x18, 0x08, 0x08, 0x08, 0x08, + 0x00, 0x06, 0x00, 0x60, 0x06, 0x0C, 0x43, 0xE4, 0xF1, 0x58, 0x0E, 0x00, + 0xF0, 0x74, 0xEE, 0x47, 0xC4, 0x30, 0x60, 0x06, 0x00, 0x60, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, + 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x31, 0xCE, + 0x31, 0x08, 0x98, 0xFF, 0xFF, 0x6F, 0xF6, 0x00, 0x06, 0x00, 0x0E, 0x00, + 0x0C, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, + 0xE0, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x00, 0x07, 0x00, 0x06, + 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, + 0x00, 0x60, 0x00, 0xE0, 0x00, 0x00, 0x78, 0x00, 0xC3, 0x00, 0xC1, 0xC0, + 0xC0, 0x60, 0xE0, 0x30, 0xE0, 0x1C, 0x70, 0x0E, 0x70, 0x07, 0x38, 0x03, + 0xBC, 0x01, 0xDC, 0x01, 0xEE, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x3B, 0x80, + 0x1D, 0xC0, 0x1E, 0xE0, 0x0E, 0x70, 0x0F, 0x38, 0x07, 0x1C, 0x07, 0x06, + 0x03, 0x83, 0x83, 0x80, 0xC3, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x7F, 0x00, + 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x01, + 0xC0, 0x38, 0x03, 0x80, 0x38, 0x03, 0x80, 0x70, 0x07, 0x00, 0x70, 0x0E, + 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x1E, 0x0F, 0xF8, 0x01, 0xF0, 0x07, 0xFC, + 0x0C, 0x3E, 0x10, 0x1F, 0x20, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, + 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0xE0, + 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x04, + 0x30, 0x0C, 0x7F, 0xF8, 0xFF, 0xF0, 0x00, 0x7C, 0x00, 0xFF, 0x00, 0xC3, + 0xC0, 0x80, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1C, 0x00, + 0x38, 0x00, 0xF0, 0x03, 0xFC, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x01, 0xE0, + 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x07, + 0x00, 0x03, 0x07, 0x87, 0x03, 0xFF, 0x00, 0xFC, 0x00, 0x00, 0x01, 0x80, + 0x01, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x01, 0xB0, 0x01, 0xB8, + 0x01, 0x9C, 0x01, 0x8C, 0x00, 0x86, 0x00, 0x87, 0x00, 0x83, 0x80, 0x81, + 0x80, 0x81, 0xC0, 0xC0, 0xE0, 0xC0, 0x70, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, + 0x1C, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0x80, + 0x01, 0xFF, 0x01, 0xFF, 0x02, 0x00, 0x02, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x0F, 0xC0, 0x0F, 0xF0, 0x00, 0xF8, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1C, + 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x18, + 0x00, 0x30, 0x00, 0x30, 0x70, 0xE0, 0xFF, 0x80, 0x7E, 0x00, 0x00, 0x03, + 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, + 0x00, 0x3C, 0x00, 0x3D, 0xF0, 0x1F, 0xFE, 0x1F, 0x0F, 0x8E, 0x03, 0xC7, + 0x00, 0xF7, 0x00, 0x7B, 0x80, 0x3D, 0x80, 0x1E, 0xC0, 0x0F, 0x60, 0x0F, + 0xB0, 0x07, 0x98, 0x03, 0xC4, 0x03, 0xC3, 0x03, 0xC0, 0xC3, 0x80, 0x1F, + 0x00, 0x3F, 0xFF, 0x7F, 0xFE, 0x40, 0x0E, 0x80, 0x0C, 0x00, 0x18, 0x00, + 0x18, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xC0, 0x01, 0xC0, 0x01, + 0x80, 0x03, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, + 0x00, 0x18, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0x00, + 0xF8, 0x03, 0x0E, 0x06, 0x06, 0x0C, 0x03, 0x0C, 0x03, 0x0C, 0x03, 0x0C, + 0x03, 0x0E, 0x06, 0x07, 0x8E, 0x07, 0xD8, 0x03, 0xE0, 0x07, 0xF0, 0x1C, + 0xF8, 0x30, 0x3C, 0x60, 0x1C, 0x60, 0x0E, 0xC0, 0x06, 0xC0, 0x06, 0xC0, + 0x06, 0xC0, 0x06, 0xE0, 0x0C, 0x60, 0x18, 0x38, 0x30, 0x0F, 0xC0, 0x01, + 0xF8, 0x07, 0x8C, 0x0E, 0x06, 0x1E, 0x02, 0x3C, 0x03, 0x3C, 0x03, 0x78, + 0x03, 0x78, 0x03, 0x78, 0x03, 0x78, 0x07, 0x78, 0x07, 0x78, 0x07, 0x3C, + 0x0E, 0x3E, 0x1E, 0x1F, 0xEE, 0x07, 0x9C, 0x00, 0x38, 0x00, 0x78, 0x00, + 0x70, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xE0, 0x00, 0x0C, + 0x3C, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1E, 0x18, + 0x00, 0x07, 0x03, 0xC1, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x03, 0x81, 0xC0, 0xE0, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x01, 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x01, + 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xE0, + 0x00, 0x7E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, + 0x00, 0x03, 0xC0, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, + 0xFF, 0xC0, 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, + 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3F, 0x00, 0x03, 0xC0, 0x01, + 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x01, 0xF0, 0x03, 0xF0, 0x03, + 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x00, 0x00, 0x0F, 0x81, 0x86, 0x30, 0x33, + 0x03, 0x30, 0x30, 0x03, 0x00, 0x60, 0x0E, 0x01, 0xC0, 0x38, 0x06, 0x00, + 0xC0, 0x08, 0x01, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, + 0x00, 0xF0, 0x0F, 0x00, 0x60, 0x00, 0x00, 0x7F, 0x00, 0x03, 0xFF, 0xE0, + 0x07, 0x80, 0xF0, 0x0E, 0x00, 0x38, 0x1C, 0x00, 0x0C, 0x38, 0x0E, 0x06, + 0x70, 0x3F, 0xE2, 0x70, 0x71, 0xE3, 0xF0, 0x60, 0xE1, 0xE0, 0xC0, 0xC1, + 0xE0, 0xC0, 0xC1, 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0x82, + 0xE1, 0x83, 0x82, 0x71, 0x83, 0x86, 0x71, 0xC7, 0x8C, 0x38, 0xF9, 0xF8, + 0x3C, 0xF0, 0xF0, 0x1E, 0x00, 0x00, 0x0F, 0x80, 0x30, 0x03, 0xFF, 0xE0, + 0x00, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, + 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x5E, 0x00, 0x04, 0xF0, + 0x00, 0x63, 0x80, 0x02, 0x1C, 0x00, 0x20, 0xE0, 0x01, 0x07, 0x00, 0x10, + 0x3C, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0xC0, 0x38, 0x04, 0x01, 0xC0, + 0x60, 0x0E, 0x06, 0x00, 0x78, 0x30, 0x03, 0xC3, 0x00, 0x1E, 0x38, 0x00, + 0xFB, 0xF0, 0x1F, 0xE0, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x78, 0x3C, + 0x03, 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xE0, 0x3C, 0x07, 0x01, 0xE0, 0x78, + 0x1E, 0x03, 0x83, 0xE0, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0x0F, 0x00, + 0x70, 0x3C, 0x03, 0x80, 0xF0, 0x3C, 0x07, 0x81, 0xC0, 0x3C, 0x0E, 0x01, + 0xE0, 0xF0, 0x0F, 0x07, 0x80, 0xF0, 0x38, 0x0F, 0x81, 0xC1, 0xF8, 0x1F, + 0xFF, 0x83, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0x08, 0x07, 0xFF, 0xC0, 0xF8, + 0x3E, 0x0F, 0x00, 0x70, 0xF0, 0x03, 0x8F, 0x00, 0x08, 0xF0, 0x00, 0x47, + 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, + 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, + 0x00, 0x03, 0x80, 0x02, 0x1E, 0x00, 0x20, 0x78, 0x02, 0x03, 0xE0, 0x60, + 0x07, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, + 0x00, 0x78, 0x1F, 0x00, 0x3C, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x0E, 0x00, + 0x78, 0x07, 0x00, 0x1E, 0x07, 0x80, 0x0F, 0x03, 0x80, 0x07, 0x81, 0xC0, + 0x03, 0xC1, 0xE0, 0x01, 0xE0, 0xF0, 0x00, 0xF0, 0x70, 0x00, 0x78, 0x38, + 0x00, 0x78, 0x3C, 0x00, 0x3C, 0x1E, 0x00, 0x3E, 0x0E, 0x00, 0x1E, 0x0F, + 0x00, 0x1E, 0x07, 0x80, 0x1E, 0x03, 0x80, 0x3E, 0x01, 0xC0, 0x7E, 0x01, + 0xFF, 0xFC, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x07, 0xFF, 0xF0, + 0x1E, 0x01, 0xC0, 0x78, 0x02, 0x01, 0xE0, 0x08, 0x07, 0x00, 0x00, 0x1C, + 0x08, 0x00, 0xF0, 0x60, 0x03, 0x83, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xF0, + 0x01, 0xE0, 0xC0, 0x07, 0x03, 0x00, 0x1C, 0x08, 0x00, 0xF0, 0x20, 0x03, + 0x80, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x81, 0xE0, 0x06, 0x07, 0x00, + 0x38, 0x1C, 0x03, 0xC0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x07, 0xFF, + 0xFC, 0x07, 0xFF, 0xF0, 0x1E, 0x01, 0xC0, 0x78, 0x02, 0x01, 0xE0, 0x08, + 0x07, 0x00, 0x20, 0x1C, 0x00, 0x00, 0xF0, 0x20, 0x03, 0x81, 0x80, 0x0E, + 0x0C, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xC0, 0x07, 0x03, 0x00, 0x1C, 0x0C, + 0x00, 0xF0, 0x20, 0x03, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x01, + 0xE0, 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0xF8, + 0x00, 0x00, 0x00, 0x3F, 0x02, 0x01, 0xFF, 0x88, 0x0F, 0x81, 0xF0, 0x3C, + 0x01, 0xE0, 0xF0, 0x01, 0xC3, 0xC0, 0x01, 0x0F, 0x80, 0x02, 0x1E, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, 0x00, + 0x0F, 0x00, 0x3F, 0xFE, 0x00, 0x1E, 0x3C, 0x00, 0x38, 0x78, 0x00, 0x70, + 0xF0, 0x00, 0xE0, 0xE0, 0x01, 0xC1, 0xE0, 0x07, 0x01, 0xE0, 0x0E, 0x01, + 0xF0, 0x3C, 0x01, 0xFF, 0xF0, 0x00, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x3F, + 0xE0, 0x3E, 0x00, 0xF0, 0x07, 0x80, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x1C, + 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x1E, 0x00, 0x70, + 0x03, 0x80, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x1F, 0xFF, 0xF0, 0x03, 0xFF, + 0xFE, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, + 0x70, 0x03, 0xC0, 0x0E, 0x00, 0x78, 0x03, 0xC0, 0x0E, 0x00, 0x78, 0x01, + 0xC0, 0x0E, 0x00, 0x78, 0x01, 0xC0, 0x0E, 0x00, 0x78, 0x03, 0xE0, 0x3F, + 0xE1, 0xFF, 0x00, 0x07, 0xFC, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x01, 0xC0, + 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, + 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, + 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x0F, + 0x00, 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, + 0x70, 0x00, 0x38, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, + 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, + 0x1E, 0x78, 0x0F, 0x38, 0x07, 0xF8, 0x01, 0xF0, 0x00, 0x07, 0xFC, 0x7F, + 0x80, 0xF8, 0x0F, 0x00, 0x38, 0x07, 0x00, 0x3C, 0x07, 0x00, 0x1C, 0x06, + 0x00, 0x0E, 0x06, 0x00, 0x07, 0x0C, 0x00, 0x07, 0x8C, 0x00, 0x03, 0x9C, + 0x00, 0x01, 0xD8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x73, + 0x80, 0x00, 0x39, 0xE0, 0x00, 0x3C, 0x78, 0x00, 0x1C, 0x1C, 0x00, 0x0E, + 0x0F, 0x00, 0x07, 0x03, 0x80, 0x07, 0x81, 0xE0, 0x03, 0x80, 0x70, 0x01, + 0xC0, 0x3C, 0x01, 0xE0, 0x1F, 0x03, 0xFE, 0x3F, 0xE0, 0x07, 0xFC, 0x00, + 0x1F, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, + 0x01, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, + 0x00, 0x78, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x00, 0xE0, + 0x00, 0x0E, 0x00, 0x11, 0xE0, 0x03, 0x1E, 0x00, 0x61, 0xC0, 0x06, 0x1C, + 0x01, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0xC0, 0x07, 0xF0, 0x00, 0x7E, 0x03, + 0xE0, 0x01, 0xF0, 0x03, 0xC0, 0x03, 0xE0, 0x07, 0x80, 0x0F, 0x80, 0x1F, + 0x00, 0x37, 0x00, 0x2E, 0x00, 0x5E, 0x00, 0x5C, 0x01, 0xB8, 0x01, 0xB8, + 0x06, 0x70, 0x02, 0x78, 0x09, 0xE0, 0x04, 0x70, 0x33, 0xC0, 0x08, 0xE0, + 0xC7, 0x00, 0x31, 0xC1, 0x0E, 0x00, 0x43, 0x86, 0x3C, 0x00, 0x87, 0x18, + 0x70, 0x03, 0x0E, 0x20, 0xE0, 0x06, 0x1C, 0xC3, 0xC0, 0x08, 0x3B, 0x07, + 0x80, 0x10, 0x7C, 0x0E, 0x00, 0x60, 0x78, 0x1C, 0x00, 0x80, 0xE0, 0x78, + 0x03, 0x01, 0x80, 0xF0, 0x07, 0x03, 0x03, 0xE0, 0x3F, 0x84, 0x1F, 0xF0, + 0x00, 0x07, 0xC0, 0x3F, 0xC0, 0x78, 0x03, 0xE0, 0x0E, 0x00, 0x70, 0x03, + 0xC0, 0x18, 0x01, 0xF0, 0x0E, 0x00, 0x6C, 0x03, 0x00, 0x1B, 0x80, 0xC0, + 0x0C, 0xE0, 0x30, 0x03, 0x18, 0x1C, 0x00, 0xC7, 0x06, 0x00, 0x30, 0xC1, + 0x80, 0x18, 0x38, 0xE0, 0x06, 0x06, 0x30, 0x01, 0x81, 0x8C, 0x00, 0xC0, + 0x73, 0x00, 0x30, 0x0D, 0xC0, 0x0C, 0x03, 0xE0, 0x03, 0x00, 0x78, 0x01, + 0x80, 0x1E, 0x00, 0x60, 0x07, 0x00, 0x38, 0x00, 0xC0, 0x0E, 0x00, 0x30, + 0x0F, 0xE0, 0x04, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x07, 0xC1, + 0xE0, 0x1E, 0x01, 0xE0, 0x78, 0x01, 0xC1, 0xE0, 0x03, 0xC7, 0x80, 0x07, + 0x9F, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF8, 0x00, 0x3D, 0xE0, 0x00, 0xFF, + 0xC0, 0x01, 0xEF, 0x80, 0x03, 0xDE, 0x00, 0x0F, 0xBC, 0x00, 0x1E, 0x78, + 0x00, 0x7C, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC1, 0xC0, 0x0F, 0x03, 0xC0, + 0x3C, 0x03, 0xC1, 0xF0, 0x03, 0xFF, 0x80, 0x01, 0xFC, 0x00, 0x00, 0x07, + 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x0E, 0x0F, 0x80, 0x78, 0x1F, 0x01, 0xC0, + 0x3C, 0x07, 0x00, 0xF0, 0x1C, 0x03, 0xC0, 0xF0, 0x0F, 0x03, 0x80, 0x78, + 0x0E, 0x01, 0xE0, 0x78, 0x1F, 0x01, 0xFF, 0xF8, 0x07, 0x7F, 0x00, 0x1C, + 0x00, 0x00, 0xF0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, + 0x01, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x00, 0x0F, + 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xC1, 0xE0, + 0x1E, 0x01, 0xC0, 0x78, 0x03, 0xC1, 0xE0, 0x03, 0x87, 0x80, 0x07, 0x8F, + 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xC0, + 0x01, 0xFF, 0x80, 0x03, 0xDE, 0x00, 0x07, 0xBC, 0x00, 0x1F, 0x78, 0x00, + 0x3C, 0xF0, 0x00, 0xF1, 0xE0, 0x01, 0xE3, 0xC0, 0x07, 0x83, 0x80, 0x1E, + 0x07, 0x80, 0x78, 0x07, 0x01, 0xC0, 0x03, 0xDE, 0x00, 0x01, 0xC0, 0x00, + 0x06, 0x00, 0x00, 0x18, 0x00, 0x10, 0x7F, 0xC0, 0xC3, 0xFF, 0xFF, 0x08, + 0x07, 0xF0, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x78, 0x3C, 0x03, + 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xE0, 0x3C, 0x07, 0x01, 0xE0, 0x78, 0x1E, + 0x03, 0x83, 0xF0, 0x1F, 0xFE, 0x01, 0xFF, 0xC0, 0x0F, 0x38, 0x00, 0x71, + 0xE0, 0x03, 0x87, 0x00, 0x3C, 0x38, 0x01, 0xC1, 0xE0, 0x0E, 0x07, 0x00, + 0xF0, 0x3C, 0x07, 0x81, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x3C, 0x1E, 0x00, + 0xF3, 0xFC, 0x07, 0xC0, 0x00, 0xF8, 0x81, 0xFF, 0xC1, 0xE1, 0xE1, 0xE0, + 0x70, 0xF0, 0x10, 0x78, 0x08, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x01, + 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, + 0x80, 0x3C, 0x40, 0x1E, 0x20, 0x0F, 0x38, 0x07, 0x9E, 0x07, 0x8F, 0x87, + 0x84, 0x7F, 0xC2, 0x0F, 0x80, 0x3F, 0xFF, 0xF7, 0xFF, 0xFF, 0x70, 0x78, + 0x76, 0x07, 0x02, 0xC0, 0x70, 0x28, 0x0F, 0x02, 0x00, 0xF0, 0x00, 0x0E, + 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, + 0xC0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, 0x00, + 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, + 0xFF, 0xE0, 0x00, 0x7F, 0xE0, 0xFE, 0x3F, 0x00, 0x78, 0x3C, 0x00, 0x60, + 0xF0, 0x01, 0x81, 0xE0, 0x03, 0x03, 0xC0, 0x06, 0x07, 0x00, 0x08, 0x1E, + 0x00, 0x30, 0x3C, 0x00, 0x60, 0x70, 0x00, 0x81, 0xE0, 0x01, 0x03, 0xC0, + 0x06, 0x07, 0x80, 0x0C, 0x0E, 0x00, 0x10, 0x3C, 0x00, 0x60, 0x78, 0x00, + 0xC0, 0xF0, 0x01, 0x01, 0xE0, 0x06, 0x03, 0xC0, 0x08, 0x03, 0xC0, 0x30, + 0x07, 0xC1, 0xC0, 0x07, 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFF, 0x01, + 0xFB, 0xE0, 0x07, 0x8E, 0x00, 0x18, 0x78, 0x01, 0x83, 0xC0, 0x0C, 0x1E, + 0x00, 0xC0, 0xF0, 0x06, 0x03, 0x80, 0x60, 0x1C, 0x02, 0x00, 0xE0, 0x30, + 0x07, 0x83, 0x00, 0x3C, 0x10, 0x01, 0xE1, 0x80, 0x07, 0x08, 0x00, 0x38, + 0x80, 0x01, 0xC4, 0x00, 0x0E, 0x40, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, + 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0xFF, + 0x3F, 0xC3, 0xFB, 0xE0, 0x78, 0x07, 0x8E, 0x03, 0xC0, 0x18, 0x78, 0x0E, + 0x01, 0x83, 0xC0, 0x70, 0x0C, 0x1E, 0x03, 0x80, 0x40, 0xF0, 0x3C, 0x06, + 0x03, 0x81, 0xE0, 0x60, 0x1C, 0x17, 0x83, 0x00, 0xE0, 0xBC, 0x30, 0x07, + 0x09, 0xE1, 0x00, 0x38, 0x47, 0x18, 0x01, 0xE4, 0x38, 0x80, 0x0F, 0x21, + 0xCC, 0x00, 0x7A, 0x0E, 0x40, 0x01, 0xD0, 0x76, 0x00, 0x0F, 0x03, 0xA0, + 0x00, 0x78, 0x1F, 0x00, 0x03, 0x80, 0xF0, 0x00, 0x1C, 0x07, 0x00, 0x00, + 0xC0, 0x38, 0x00, 0x06, 0x00, 0x80, 0x00, 0x20, 0x04, 0x00, 0x00, 0x0F, + 0xF8, 0x7F, 0x03, 0xE0, 0x3E, 0x01, 0xC0, 0x18, 0x01, 0xE0, 0x30, 0x01, + 0xE0, 0x60, 0x00, 0xE0, 0xC0, 0x00, 0xF1, 0xC0, 0x00, 0x71, 0x80, 0x00, + 0x7B, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xCE, 0x00, 0x01, 0x8F, 0x00, 0x01, + 0x07, 0x00, 0x03, 0x07, 0x00, 0x06, 0x07, 0x80, 0x0C, 0x03, 0x80, 0x18, + 0x03, 0xC0, 0x78, 0x03, 0xE0, 0xFE, 0x1F, 0xF8, 0xFF, 0x87, 0xE7, 0xC0, + 0x38, 0x70, 0x06, 0x0E, 0x01, 0x81, 0xE0, 0x30, 0x1C, 0x0C, 0x03, 0x83, + 0x00, 0x78, 0xC0, 0x07, 0x30, 0x00, 0xE4, 0x00, 0x1D, 0x80, 0x03, 0xE0, + 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, + 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, + 0x3F, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xE0, 0xE0, 0x0F, 0x82, + 0x00, 0x3C, 0x18, 0x01, 0xE0, 0x40, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, + 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x00, 0x07, + 0x80, 0x00, 0x3C, 0x00, 0xC1, 0xE0, 0x02, 0x0F, 0x00, 0x18, 0x38, 0x01, + 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x01, 0xF8, 0x0C, 0x00, 0xC0, + 0x06, 0x00, 0x30, 0x01, 0x80, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x03, + 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x60, 0x03, 0x00, 0x18, 0x01, 0xC0, + 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x06, + 0x00, 0x30, 0x01, 0xF8, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x30, + 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x0E, 0x00, 0x60, 0x07, + 0x00, 0x30, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x0E, 0x00, + 0x60, 0x07, 0x00, 0x30, 0x03, 0xF0, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x0E, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x01, 0x80, 0x18, 0x01, 0x80, + 0x18, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x06, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x0F, 0xC0, 0x03, 0x80, + 0x07, 0x00, 0x1F, 0x00, 0x36, 0x00, 0xCE, 0x01, 0x8C, 0x06, 0x1C, 0x0C, + 0x18, 0x38, 0x38, 0x60, 0x31, 0xC0, 0x73, 0x00, 0x6E, 0x00, 0xE0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xE3, 0x8F, 0x0E, 0x18, 0x30, 0x01, 0xEC, 0x0E, + 0x58, 0x30, 0x70, 0xE0, 0xC3, 0x81, 0x86, 0x07, 0x1C, 0x0C, 0x38, 0x18, + 0xE0, 0x71, 0xC0, 0xE3, 0x83, 0x87, 0x0B, 0x2F, 0x36, 0xCF, 0xCF, 0x1F, + 0x1C, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x06, 0x00, + 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, 0x7C, 0x1C, 0xFE, + 0x19, 0x8F, 0x1A, 0x07, 0x3C, 0x07, 0x38, 0x07, 0x38, 0x07, 0x70, 0x0E, + 0x70, 0x0E, 0x70, 0x1C, 0x60, 0x18, 0xE0, 0x30, 0xE0, 0x60, 0xE1, 0xC0, + 0x3F, 0x00, 0x01, 0xF0, 0x38, 0xC3, 0x8E, 0x78, 0x73, 0x80, 0x3C, 0x01, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x47, 0x84, 0x3F, + 0xC0, 0x7C, 0x00, 0x00, 0x01, 0x80, 0x07, 0xC0, 0x00, 0xE0, 0x00, 0x60, + 0x00, 0x30, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0xF7, + 0x01, 0xC7, 0x81, 0xC3, 0x81, 0xC1, 0xC1, 0xE0, 0xE0, 0xE0, 0x60, 0xF0, + 0x30, 0x78, 0x38, 0x78, 0x18, 0x3C, 0x0C, 0x1E, 0x0C, 0x0F, 0x0E, 0x27, + 0xCB, 0x21, 0xF9, 0xE0, 0x78, 0xE0, 0x00, 0xF0, 0x1C, 0xC3, 0x86, 0x38, + 0x33, 0xC3, 0x1C, 0x31, 0xE3, 0x1F, 0xE0, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x47, 0x84, 0x3F, 0xC0, 0x7C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x33, + 0x00, 0x06, 0x30, 0x00, 0xC0, 0x00, 0x0C, 0x00, 0x01, 0xC0, 0x00, 0x18, + 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0x80, 0x03, + 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, + 0x60, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0xC0, 0x00, + 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, + 0x03, 0x00, 0x00, 0x30, 0x00, 0xC6, 0x00, 0x0C, 0xC0, 0x00, 0x78, 0x00, + 0x00, 0x01, 0xF8, 0x07, 0x1F, 0x0E, 0x0F, 0x0C, 0x0E, 0x18, 0x0E, 0x18, + 0x0E, 0x18, 0x1E, 0x18, 0x3C, 0x0C, 0x78, 0x07, 0xE0, 0x08, 0x00, 0x18, + 0x00, 0x1E, 0x00, 0x0F, 0xE0, 0x13, 0xF0, 0x60, 0x78, 0xC0, 0x38, 0xC0, + 0x18, 0xC0, 0x18, 0xC0, 0x30, 0x60, 0x60, 0x3F, 0x80, 0x03, 0x00, 0x1F, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0E, + 0x00, 0x0C, 0x00, 0x1C, 0x38, 0x1C, 0x7C, 0x1C, 0xCC, 0x19, 0x0C, 0x3A, + 0x0C, 0x3C, 0x1C, 0x3C, 0x18, 0x38, 0x18, 0x70, 0x38, 0x70, 0x38, 0x70, + 0x30, 0x60, 0x72, 0xE0, 0x76, 0xE0, 0x7C, 0xC0, 0x70, 0x03, 0x03, 0xC1, + 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7E, 0x0F, 0x03, 0x81, 0x81, + 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x1C, 0x1C, 0x4C, 0x47, 0xC3, 0xC0, 0x00, + 0x0C, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x03, 0xF0, 0x00, 0xE0, 0x01, 0x80, 0x03, 0x00, + 0x0E, 0x00, 0x1C, 0x00, 0x30, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x80, 0x06, + 0x00, 0x0C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, 0x00, + 0x0C, 0x06, 0x30, 0x0C, 0xC0, 0x0F, 0x00, 0x00, 0x03, 0x00, 0x3E, 0x00, + 0x1C, 0x00, 0x38, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0C, + 0x00, 0x38, 0xFC, 0x70, 0x60, 0xE1, 0x81, 0x86, 0x07, 0x10, 0x0E, 0x40, + 0x1B, 0x80, 0x3F, 0x00, 0xE7, 0x01, 0xCE, 0x03, 0x0C, 0x06, 0x1C, 0x5C, + 0x1D, 0x38, 0x3E, 0x60, 0x38, 0x03, 0x1F, 0x07, 0x07, 0x06, 0x0E, 0x0E, + 0x0E, 0x0C, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x38, 0x30, 0x70, 0x70, 0x70, + 0x64, 0xE4, 0xE8, 0xF0, 0xE0, 0x00, 0x06, 0x18, 0x1E, 0x3E, 0x3C, 0x3F, + 0x0E, 0x4C, 0x47, 0x0C, 0x8C, 0x8E, 0x1D, 0x0D, 0x0E, 0x1E, 0x1A, 0x0E, + 0x1C, 0x1E, 0x0C, 0x3C, 0x1C, 0x1C, 0x38, 0x38, 0x1C, 0x38, 0x38, 0x1C, + 0x30, 0x38, 0x18, 0x70, 0x30, 0x39, 0x70, 0x70, 0x32, 0x60, 0x70, 0x3C, + 0x60, 0x60, 0x38, 0x06, 0x0E, 0x1F, 0x1F, 0x83, 0x99, 0xC1, 0x98, 0xC1, + 0xD8, 0xE0, 0xE8, 0x70, 0x78, 0x30, 0x38, 0x38, 0x3C, 0x1C, 0x1C, 0x0E, + 0x0E, 0x06, 0x0E, 0x03, 0x17, 0x01, 0xB3, 0x80, 0xF1, 0x80, 0x70, 0x01, + 0xF0, 0x0E, 0x38, 0x38, 0x30, 0xE0, 0x73, 0x80, 0xEE, 0x01, 0xDC, 0x03, + 0xF8, 0x0F, 0xE0, 0x1D, 0xC0, 0x3B, 0x80, 0xE7, 0x03, 0x8E, 0x06, 0x0E, + 0x38, 0x07, 0xC0, 0x00, 0x00, 0xE7, 0xC0, 0x7C, 0xFE, 0x01, 0xD1, 0xF0, + 0x1E, 0x0F, 0x01, 0xC0, 0xF0, 0x38, 0x0F, 0x03, 0x80, 0xF0, 0x38, 0x0E, + 0x03, 0x01, 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0x60, 0x78, 0x06, 0x0F, + 0x00, 0xE1, 0xC0, 0x0F, 0xF0, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, + 0x00, 0x1C, 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x0F, 0xF0, 0x00, 0x00, + 0xF7, 0x03, 0xCE, 0x0F, 0x06, 0x1E, 0x06, 0x1C, 0x04, 0x3C, 0x04, 0x78, + 0x04, 0x78, 0x0C, 0xF0, 0x08, 0xF0, 0x18, 0xF0, 0x38, 0xF0, 0xF0, 0xF9, + 0x70, 0x7E, 0x70, 0x3C, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, + 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x0F, 0xF0, 0x7C, 0x70, 0xE7, 0xC7, 0x4C, + 0x34, 0x01, 0xA0, 0x1E, 0x00, 0xF0, 0x07, 0x00, 0x78, 0x03, 0x80, 0x1C, + 0x00, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x00, 0x07, 0x88, 0x63, 0x86, + 0x0C, 0x30, 0x21, 0xC1, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x1C, + 0x10, 0x60, 0x83, 0x06, 0x18, 0x71, 0x82, 0x78, 0x00, 0x02, 0x03, 0x03, + 0x07, 0xF7, 0xF8, 0xE0, 0x60, 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, + 0x01, 0x91, 0xC8, 0xF8, 0x78, 0x00, 0x1C, 0x0D, 0xF8, 0x38, 0x60, 0x70, + 0xC1, 0xC3, 0x83, 0x87, 0x07, 0x0C, 0x1E, 0x38, 0x78, 0x70, 0xB0, 0xE2, + 0x61, 0x8D, 0xC7, 0x33, 0x2C, 0xC6, 0x5F, 0x0F, 0x38, 0x1C, 0x00, 0x18, + 0x1B, 0xE0, 0x73, 0x81, 0xC6, 0x03, 0x18, 0x0C, 0x70, 0x21, 0xC1, 0x83, + 0x0C, 0x0C, 0x20, 0x31, 0x00, 0xC8, 0x03, 0x40, 0x0E, 0x00, 0x30, 0x00, + 0x80, 0x00, 0x18, 0x04, 0x1B, 0xE0, 0x30, 0x71, 0x80, 0xC1, 0xC6, 0x07, + 0x01, 0x1C, 0x2C, 0x08, 0x70, 0xB0, 0x20, 0xC4, 0xC1, 0x03, 0x21, 0x84, + 0x0D, 0x86, 0x20, 0x34, 0x19, 0x00, 0xE0, 0x68, 0x03, 0x81, 0xA0, 0x0C, + 0x07, 0x00, 0x30, 0x18, 0x00, 0x80, 0x40, 0x00, 0x03, 0x07, 0x0F, 0x8F, + 0x13, 0x93, 0x01, 0xB0, 0x01, 0xE0, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xC0, + 0x01, 0xC0, 0x03, 0xE0, 0x02, 0x60, 0x04, 0x62, 0x08, 0x64, 0xF0, 0x7C, + 0xE0, 0x30, 0x06, 0x06, 0x3F, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x81, + 0x03, 0x82, 0x01, 0x82, 0x01, 0xC4, 0x01, 0xC4, 0x01, 0xC8, 0x00, 0xC8, + 0x00, 0xD0, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x80, + 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x78, 0x00, 0x70, 0x00, 0x1F, 0xFC, + 0x7F, 0xE1, 0x01, 0x08, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, + 0x06, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x38, 0x01, 0xF0, 0x0B, 0xE0, + 0x01, 0xC6, 0x03, 0x98, 0x03, 0x80, 0x00, 0x70, 0x0C, 0x01, 0x80, 0x38, + 0x03, 0x80, 0x30, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, 0x00, 0xE0, + 0x0C, 0x01, 0xC0, 0x1C, 0x07, 0x80, 0x30, 0x04, 0x00, 0x20, 0x03, 0x00, + 0x30, 0x07, 0x00, 0x70, 0x06, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0C, 0x00, + 0xC0, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xC0, 0x06, + 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, + 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0C, 0x00, 0x40, 0x04, 0x00, 0xC0, 0x1E, + 0x03, 0x80, 0x38, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, 0x00, 0xE0, + 0x0E, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x70, 0x00, 0x1E, 0x00, 0x3F, 0xE1, + 0xF8, 0x7F, 0xC0, 0x07, 0x80 }; + +const GFXglyph FreeSerifItalic18pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' + { 0, 10, 23, 12, 1, -22 }, // 0x21 '!' + { 29, 12, 9, 12, 4, -22 }, // 0x22 '"' + { 43, 19, 23, 17, 0, -22 }, // 0x23 '#' + { 98, 15, 29, 17, 1, -25 }, // 0x24 '$' + { 153, 25, 23, 29, 3, -22 }, // 0x25 '%' + { 225, 22, 23, 27, 3, -22 }, // 0x26 '&' + { 289, 5, 9, 7, 4, -22 }, // 0x27 ''' + { 295, 9, 29, 12, 1, -22 }, // 0x28 '(' + { 328, 9, 29, 12, 1, -22 }, // 0x29 ')' + { 361, 12, 14, 18, 5, -22 }, // 0x2A '*' + { 382, 16, 18, 24, 4, -17 }, // 0x2B '+' + { 418, 5, 8, 9, -1, -2 }, // 0x2C ',' + { 423, 8, 2, 12, 2, -8 }, // 0x2D '-' + { 425, 4, 4, 9, 1, -3 }, // 0x2E '.' + { 427, 16, 23, 10, 0, -22 }, // 0x2F '/' + { 473, 17, 24, 17, 1, -23 }, // 0x30 '0' + { 524, 12, 24, 17, 2, -23 }, // 0x31 '1' + { 560, 16, 23, 17, 1, -22 }, // 0x32 '2' + { 606, 17, 24, 18, 0, -23 }, // 0x33 '3' + { 657, 17, 24, 17, 0, -23 }, // 0x34 '4' + { 708, 16, 23, 18, 0, -22 }, // 0x35 '5' + { 754, 17, 24, 18, 1, -23 }, // 0x36 '6' + { 805, 16, 23, 17, 3, -22 }, // 0x37 '7' + { 851, 16, 24, 18, 1, -23 }, // 0x38 '8' + { 899, 16, 24, 17, 1, -23 }, // 0x39 '9' + { 947, 7, 15, 9, 2, -14 }, // 0x3A ':' + { 961, 9, 20, 9, 1, -14 }, // 0x3B ';' + { 984, 18, 18, 20, 2, -17 }, // 0x3C '<' + { 1025, 18, 9, 23, 3, -12 }, // 0x3D '=' + { 1046, 18, 18, 20, 2, -17 }, // 0x3E '>' + { 1087, 12, 23, 16, 4, -22 }, // 0x3F '?' + { 1122, 24, 23, 27, 2, -22 }, // 0x40 '@' + { 1191, 21, 23, 23, 0, -22 }, // 0x41 'A' + { 1252, 21, 23, 21, 0, -22 }, // 0x42 'B' + { 1313, 21, 23, 21, 2, -22 }, // 0x43 'C' + { 1374, 25, 23, 25, 0, -22 }, // 0x44 'D' + { 1446, 22, 23, 20, 0, -22 }, // 0x45 'E' + { 1510, 22, 23, 20, 0, -22 }, // 0x46 'F' + { 1574, 23, 23, 24, 2, -22 }, // 0x47 'G' + { 1641, 27, 23, 25, 0, -22 }, // 0x48 'H' + { 1719, 14, 23, 11, 0, -22 }, // 0x49 'I' + { 1760, 17, 23, 15, 0, -22 }, // 0x4A 'J' + { 1809, 25, 23, 22, 0, -22 }, // 0x4B 'K' + { 1881, 20, 23, 20, 0, -22 }, // 0x4C 'L' + { 1939, 31, 23, 29, 0, -22 }, // 0x4D 'M' + { 2029, 26, 23, 24, 0, -22 }, // 0x4E 'N' + { 2104, 23, 23, 23, 1, -22 }, // 0x4F 'O' + { 2171, 22, 23, 20, 0, -22 }, // 0x50 'P' + { 2235, 23, 29, 23, 1, -22 }, // 0x51 'Q' + { 2319, 21, 23, 22, 0, -22 }, // 0x52 'R' + { 2380, 17, 23, 16, 0, -22 }, // 0x53 'S' + { 2429, 20, 23, 21, 3, -22 }, // 0x54 'T' + { 2487, 23, 23, 25, 4, -22 }, // 0x55 'U' + { 2554, 21, 23, 23, 5, -22 }, // 0x56 'V' + { 2615, 29, 23, 31, 5, -22 }, // 0x57 'W' + { 2699, 24, 23, 23, 0, -22 }, // 0x58 'X' + { 2768, 19, 23, 21, 4, -22 }, // 0x59 'Y' + { 2823, 22, 23, 20, 0, -22 }, // 0x5A 'Z' + { 2887, 13, 28, 14, 1, -22 }, // 0x5B '[' + { 2933, 12, 23, 17, 4, -22 }, // 0x5C '\' + { 2968, 12, 28, 14, 1, -22 }, // 0x5D ']' + { 3010, 15, 13, 15, 0, -22 }, // 0x5E '^' + { 3035, 18, 2, 17, 0, 3 }, // 0x5F '_' + { 3040, 6, 6, 9, 5, -22 }, // 0x60 '`' + { 3045, 15, 15, 17, 1, -14 }, // 0x61 'a' + { 3074, 16, 24, 17, 1, -23 }, // 0x62 'b' + { 3122, 13, 15, 14, 1, -14 }, // 0x63 'c' + { 3147, 17, 24, 18, 1, -23 }, // 0x64 'd' + { 3198, 13, 15, 14, 1, -14 }, // 0x65 'e' + { 3223, 20, 31, 15, -3, -23 }, // 0x66 'f' + { 3301, 16, 22, 15, -1, -14 }, // 0x67 'g' + { 3345, 16, 24, 17, 1, -23 }, // 0x68 'h' + { 3393, 9, 23, 9, 1, -22 }, // 0x69 'i' + { 3419, 15, 30, 10, -3, -22 }, // 0x6A 'j' + { 3476, 15, 24, 16, 1, -23 }, // 0x6B 'k' + { 3521, 8, 25, 9, 1, -23 }, // 0x6C 'l' + { 3546, 24, 15, 25, 0, -14 }, // 0x6D 'm' + { 3591, 17, 15, 17, 0, -14 }, // 0x6E 'n' + { 3623, 15, 15, 17, 1, -14 }, // 0x6F 'o' + { 3652, 20, 22, 16, -3, -14 }, // 0x70 'p' + { 3707, 16, 22, 17, 1, -14 }, // 0x71 'q' + { 3751, 13, 15, 13, 1, -14 }, // 0x72 'r' + { 3776, 13, 15, 12, 0, -14 }, // 0x73 's' + { 3801, 9, 18, 8, 1, -17 }, // 0x74 't' + { 3822, 15, 15, 17, 1, -14 }, // 0x75 'u' + { 3851, 14, 15, 16, 2, -14 }, // 0x76 'v' + { 3878, 22, 15, 24, 1, -14 }, // 0x77 'w' + { 3920, 16, 15, 15, -1, -14 }, // 0x78 'x' + { 3950, 16, 22, 16, 0, -14 }, // 0x79 'y' + { 3994, 14, 18, 14, 0, -14 }, // 0x7A 'z' + { 4026, 12, 30, 14, 2, -23 }, // 0x7B '{' + { 4071, 2, 23, 10, 4, -22 }, // 0x7C '|' + { 4077, 12, 31, 14, 0, -24 }, // 0x7D '}' + { 4124, 17, 4, 19, 1, -10 } }; // 0x7E '~' + +const GFXfont FreeSerifItalic18pt7b PROGMEM = { + (uint8_t *)FreeSerifItalic18pt7bBitmaps, + (GFXglyph *)FreeSerifItalic18pt7bGlyphs, + 0x20, 0x7E, 42 }; + +// Approx. 4805 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h new file mode 100644 index 0000000..75da1e0 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h @@ -0,0 +1,737 @@ +const uint8_t FreeSerifItalic24pt7bBitmaps[] PROGMEM = { + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x1C, + 0x01, 0xC0, 0x3C, 0x03, 0x80, 0x38, 0x03, 0x80, 0x30, 0x07, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x04, 0x00, 0x40, 0x0C, 0x00, 0x80, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xF8, 0x0F, 0x80, 0xF8, 0x07, 0x00, + 0x38, 0x1D, 0xE0, 0x77, 0x83, 0xDC, 0x0E, 0x70, 0x39, 0xC1, 0xEE, 0x07, + 0x38, 0x1C, 0xC0, 0x63, 0x01, 0x8C, 0x06, 0x20, 0x10, 0x00, 0x06, 0x03, + 0x00, 0x07, 0x03, 0x80, 0x03, 0x81, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0xC0, + 0xE0, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x70, 0x38, 0x00, 0x30, + 0x18, 0x00, 0x38, 0x1C, 0x03, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x0E, + 0x07, 0x00, 0x06, 0x03, 0x00, 0x07, 0x03, 0x80, 0x03, 0x81, 0xC0, 0x03, + 0x81, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0xE0, 0x70, 0x1F, 0xFF, 0xFF, 0x8F, + 0xFF, 0xFF, 0x80, 0x70, 0x38, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x0C, 0x00, + 0x1C, 0x0E, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x07, 0x03, 0x80, + 0x03, 0x81, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0x80, 0x1C, 0x2F, 0x01, + 0x83, 0x3C, 0x1C, 0x18, 0xE1, 0xC0, 0xC3, 0x0E, 0x06, 0x18, 0x70, 0x60, + 0x83, 0x83, 0x04, 0x1E, 0x18, 0x00, 0xF8, 0xC0, 0x03, 0xEC, 0x00, 0x0F, + 0xE0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, + 0x00, 0x7F, 0x00, 0x03, 0x7C, 0x00, 0x19, 0xE0, 0x01, 0x87, 0x80, 0x0C, + 0x3C, 0x00, 0x60, 0xE2, 0x03, 0x07, 0x10, 0x30, 0x39, 0x81, 0x81, 0xCE, + 0x0C, 0x0C, 0x70, 0x60, 0xE3, 0xC6, 0x06, 0x0F, 0x30, 0x60, 0x1F, 0x9E, + 0x00, 0x3F, 0x80, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, + 0x80, 0x00, 0x01, 0xF0, 0x00, 0xC0, 0x03, 0xFE, 0x01, 0xE0, 0x03, 0xC7, + 0x83, 0xE0, 0x03, 0xC0, 0x7F, 0x60, 0x03, 0xC0, 0x20, 0x70, 0x01, 0xC0, + 0x10, 0x30, 0x01, 0xE0, 0x08, 0x38, 0x00, 0xE0, 0x04, 0x18, 0x00, 0xF0, + 0x02, 0x1C, 0x00, 0x70, 0x02, 0x0C, 0x00, 0x38, 0x01, 0x0E, 0x00, 0x1C, + 0x01, 0x8E, 0x00, 0x0E, 0x00, 0x86, 0x00, 0x07, 0x00, 0x87, 0x03, 0xE1, + 0x80, 0xC3, 0x07, 0xFC, 0xE1, 0xC3, 0x87, 0xC6, 0x3F, 0x81, 0x87, 0x81, + 0x8F, 0x81, 0xC7, 0x80, 0x40, 0x00, 0xC3, 0xC0, 0x20, 0x00, 0xE3, 0xC0, + 0x10, 0x00, 0x61, 0xC0, 0x08, 0x00, 0x61, 0xE0, 0x04, 0x00, 0x70, 0xF0, + 0x06, 0x00, 0x30, 0x70, 0x02, 0x00, 0x38, 0x38, 0x03, 0x00, 0x18, 0x1C, + 0x01, 0x00, 0x1C, 0x0E, 0x01, 0x80, 0x0C, 0x07, 0x01, 0x80, 0x0E, 0x01, + 0xC3, 0x80, 0x06, 0x00, 0x7F, 0x80, 0x06, 0x00, 0x1F, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x71, + 0xC0, 0x00, 0x01, 0xC3, 0x80, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x38, 0x38, + 0x00, 0x01, 0xE0, 0xE0, 0x00, 0x07, 0x87, 0x00, 0x00, 0x1E, 0x18, 0x00, + 0x00, 0x78, 0xC0, 0x00, 0x01, 0xE6, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7F, + 0xC1, 0xFE, 0x03, 0x9F, 0x03, 0xE0, 0x3C, 0x3C, 0x07, 0x01, 0xE0, 0xF8, + 0x1C, 0x0F, 0x03, 0xE0, 0xE0, 0x7C, 0x07, 0x83, 0x01, 0xE0, 0x1F, 0x1C, + 0x07, 0x80, 0x7C, 0x60, 0x3E, 0x00, 0xFB, 0x00, 0xF8, 0x03, 0xFC, 0x03, + 0xE0, 0x07, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x7C, + 0x00, 0xFC, 0x01, 0xF8, 0x0F, 0xF0, 0x03, 0xF0, 0xF3, 0xF0, 0x87, 0xFF, + 0x07, 0xFC, 0x07, 0xF0, 0x07, 0xC0, 0x39, 0xDE, 0xE7, 0x3B, 0x9C, 0xC6, + 0x31, 0x00, 0x00, 0x10, 0x01, 0x00, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, + 0x1C, 0x00, 0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x78, 0x03, 0x80, 0x3C, + 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0E, 0x00, + 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, + 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x01, 0x80, 0x0C, 0x00, 0x60, + 0x01, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x80, 0x06, 0x00, 0x10, 0x00, + 0x80, 0x06, 0x00, 0x30, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, + 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, + 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x07, + 0x80, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, + 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x10, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0xE1, 0x07, 0xE1, 0x0F, + 0xF1, 0x1F, 0x19, 0x30, 0x07, 0xC0, 0x03, 0x80, 0x0D, 0x60, 0x79, 0x3C, + 0xF1, 0x1F, 0xE1, 0x0F, 0xE1, 0x07, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, + 0x03, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, + 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, + 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, + 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x7C, 0xF9, + 0xF1, 0xE1, 0xC3, 0x0C, 0x10, 0xC1, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, + 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x3C, + 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, + 0xF0, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x3C, 0x00, + 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, + 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x3C, 0x00, 0x01, + 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, 0x00, + 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, + 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x03, 0x86, + 0x00, 0x30, 0x18, 0x03, 0x00, 0xC0, 0x38, 0x03, 0x03, 0x80, 0x18, 0x38, + 0x00, 0xC1, 0xC0, 0x07, 0x1C, 0x00, 0x38, 0xE0, 0x01, 0xCF, 0x00, 0x0E, + 0x70, 0x00, 0x77, 0x80, 0x07, 0xBC, 0x00, 0x3D, 0xE0, 0x01, 0xEE, 0x00, + 0x0F, 0xF0, 0x00, 0x77, 0x80, 0x07, 0xBC, 0x00, 0x3D, 0xC0, 0x01, 0xCE, + 0x00, 0x1E, 0x70, 0x00, 0xF3, 0x80, 0x07, 0x1C, 0x00, 0x78, 0xE0, 0x03, + 0x83, 0x00, 0x38, 0x18, 0x03, 0x80, 0xE0, 0x18, 0x03, 0x01, 0x80, 0x0C, + 0x38, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xC0, 0x3F, 0xE0, + 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1E, + 0x00, 0x0F, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, + 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x1E, 0x00, + 0x0F, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x01, 0xE0, + 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0x01, 0xFF, + 0xF0, 0x00, 0x3F, 0x00, 0x07, 0xFE, 0x00, 0x7F, 0xF8, 0x07, 0x07, 0xE0, + 0x60, 0x1F, 0x06, 0x00, 0x7C, 0x20, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, + 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0E, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, + 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, + 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x01, 0x03, 0x00, 0x08, + 0x30, 0x00, 0xC3, 0xFF, 0xFC, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, 0x00, 0x00, + 0x0F, 0xC0, 0x00, 0xFF, 0xC0, 0x06, 0x0F, 0x80, 0x30, 0x1E, 0x01, 0x80, + 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x78, + 0x00, 0x01, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x01, + 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x0F, + 0x80, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, + 0x00, 0x1E, 0x00, 0x00, 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, + 0x38, 0x00, 0x00, 0xC0, 0x70, 0x06, 0x03, 0xF8, 0x70, 0x07, 0xFF, 0x00, + 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x03, 0xC0, + 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x37, 0x80, 0x00, + 0xDC, 0x00, 0x06, 0x70, 0x00, 0x33, 0xC0, 0x01, 0x8F, 0x00, 0x0C, 0x38, + 0x00, 0x60, 0xE0, 0x03, 0x07, 0x80, 0x18, 0x1E, 0x00, 0xC0, 0x70, 0x06, + 0x03, 0xC0, 0x30, 0x0F, 0x01, 0x80, 0x38, 0x0C, 0x00, 0xE0, 0x70, 0x07, + 0x81, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0x00, 0x0F, 0x00, + 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, + 0x70, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0xFF, + 0xF0, 0x07, 0xFF, 0x80, 0x10, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x70, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x3F, + 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3C, + 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, + 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0C, 0x00, 0x00, + 0x70, 0x00, 0x01, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, + 0x70, 0x0E, 0x03, 0xF0, 0xE0, 0x07, 0xFF, 0x00, 0x0F, 0xE0, 0x00, 0x00, + 0x00, 0x0E, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, + 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, + 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF9, 0xF8, 0x01, 0xFF, 0xFC, + 0x07, 0xE0, 0x7C, 0x0F, 0x80, 0x7C, 0x3E, 0x00, 0x78, 0x78, 0x00, 0x78, + 0xF0, 0x00, 0xF3, 0xC0, 0x01, 0xE7, 0x80, 0x03, 0xCF, 0x00, 0x07, 0x9C, + 0x00, 0x0F, 0x38, 0x00, 0x3E, 0x70, 0x00, 0x78, 0xE0, 0x00, 0xF1, 0xC0, + 0x03, 0xC1, 0x80, 0x07, 0x83, 0x00, 0x1E, 0x03, 0x00, 0x38, 0x06, 0x01, + 0xE0, 0x03, 0x07, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xFF, 0xF9, 0xFF, 0xFF, + 0xCF, 0xFF, 0xFC, 0xE0, 0x00, 0xCC, 0x00, 0x0E, 0x40, 0x00, 0x60, 0x00, + 0x07, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x01, 0x80, + 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x07, + 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, + 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, + 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x38, + 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x03, 0x83, + 0x80, 0x1C, 0x03, 0x00, 0xE0, 0x0E, 0x07, 0x00, 0x1C, 0x1C, 0x00, 0x70, + 0x70, 0x01, 0xC1, 0xC0, 0x07, 0x07, 0x80, 0x1C, 0x1E, 0x00, 0xE0, 0x3C, + 0x07, 0x80, 0xFC, 0x38, 0x01, 0xFB, 0xC0, 0x03, 0xF8, 0x00, 0x0F, 0xE0, + 0x00, 0x7F, 0xC0, 0x07, 0x1F, 0x80, 0x78, 0x3F, 0x03, 0x80, 0x7C, 0x1E, + 0x00, 0xF8, 0x70, 0x01, 0xE3, 0x80, 0x03, 0xCE, 0x00, 0x07, 0x38, 0x00, + 0x1C, 0xE0, 0x00, 0x73, 0x80, 0x01, 0xCE, 0x00, 0x06, 0x1C, 0x00, 0x38, + 0x70, 0x01, 0xC0, 0xE0, 0x0E, 0x01, 0xE0, 0xE0, 0x01, 0xFE, 0x00, 0x00, + 0x1F, 0x80, 0x03, 0xC3, 0x00, 0x1C, 0x02, 0x00, 0xE0, 0x0C, 0x07, 0x00, + 0x18, 0x3C, 0x00, 0x60, 0xE0, 0x01, 0xC7, 0x80, 0x07, 0x1E, 0x00, 0x1C, + 0xF0, 0x00, 0x73, 0xC0, 0x01, 0xCF, 0x00, 0x07, 0x3C, 0x00, 0x3C, 0xF0, + 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x1E, 0x1E, 0x00, 0x78, 0x7C, 0x03, + 0xE0, 0xF8, 0x3F, 0x01, 0xFF, 0xBC, 0x03, 0xF1, 0xE0, 0x00, 0x0F, 0x80, + 0x00, 0x3C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, + 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x78, 0x00, + 0x0F, 0x80, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x07, 0xC3, 0xE1, 0xF0, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x3E, 0x1F, 0x0F, 0x83, 0x80, 0x01, 0xC0, 0x7C, 0x0F, 0x81, + 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x07, 0x80, 0xF8, 0x1F, 0x01, 0xE0, + 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, + 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, + 0xC0, 0x01, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x1F, 0x80, + 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, + 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, + 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, + 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, + 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, + 0x00, 0x00, 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xE0, + 0x00, 0x7F, 0x80, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, 0x00, + 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x03, 0xF0, 0x06, 0x1C, 0x0C, 0x0E, 0x1C, 0x06, 0x1C, 0x07, 0x1C, 0x07, + 0x1C, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x3C, + 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x00, + 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xF8, 0x00, + 0xF8, 0x00, 0xF8, 0x00, 0x70, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, + 0xFF, 0x80, 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x7C, + 0x00, 0x07, 0x80, 0x7C, 0x00, 0x00, 0xE0, 0x3C, 0x00, 0x00, 0x38, 0x3C, + 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x78, 0x07, 0x1E, 0x00, 0xFE, 0xE1, 0x9E, + 0x00, 0xF1, 0xF0, 0xEF, 0x00, 0xE0, 0xF0, 0x37, 0x80, 0xE0, 0x38, 0x1F, + 0x80, 0x70, 0x1C, 0x0F, 0xC0, 0x70, 0x1E, 0x07, 0xE0, 0x38, 0x0F, 0x03, + 0xF0, 0x18, 0x07, 0x01, 0xF8, 0x1C, 0x03, 0x80, 0xFC, 0x0E, 0x01, 0xC0, + 0xDE, 0x07, 0x01, 0xE0, 0x6F, 0x03, 0x80, 0xE0, 0x73, 0xC1, 0xC0, 0xF0, + 0x31, 0xE0, 0xF0, 0xF8, 0x30, 0xF0, 0x38, 0xDC, 0x30, 0x3C, 0x1F, 0xC7, + 0xF0, 0x0E, 0x07, 0x81, 0xF0, 0x07, 0x80, 0x00, 0x00, 0x01, 0xE0, 0x00, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x03, 0xF0, + 0x0F, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x03, 0xF0, + 0x00, 0x00, 0x37, 0x80, 0x00, 0x03, 0x3C, 0x00, 0x00, 0x19, 0xE0, 0x00, + 0x01, 0x8F, 0x80, 0x00, 0x08, 0x7C, 0x00, 0x00, 0xC3, 0xE0, 0x00, 0x0C, + 0x0F, 0x00, 0x00, 0x60, 0x78, 0x00, 0x06, 0x03, 0xC0, 0x00, 0x20, 0x1F, + 0x00, 0x03, 0x00, 0xF8, 0x00, 0x3F, 0xFF, 0xC0, 0x01, 0xFF, 0xFE, 0x00, + 0x18, 0x00, 0xF0, 0x00, 0xC0, 0x07, 0x80, 0x0C, 0x00, 0x3E, 0x00, 0xE0, + 0x01, 0xF0, 0x06, 0x00, 0x0F, 0x80, 0x70, 0x00, 0x3C, 0x03, 0x00, 0x01, + 0xE0, 0x38, 0x00, 0x0F, 0x83, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xF3, + 0xFC, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF8, 0x00, + 0x3E, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xC0, + 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x78, 0x01, 0xF0, + 0x07, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF0, + 0x3F, 0x00, 0x1F, 0xFF, 0x80, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0x07, 0xE0, + 0x01, 0xE0, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x3C, + 0x00, 0x7C, 0x03, 0xC0, 0x07, 0xC0, 0x7C, 0x00, 0x7C, 0x07, 0xC0, 0x07, + 0xC0, 0x78, 0x00, 0x7C, 0x0F, 0x80, 0x0F, 0x80, 0xF8, 0x00, 0xF8, 0x0F, + 0x00, 0x1F, 0x00, 0xF0, 0x03, 0xE0, 0x1F, 0x81, 0xFC, 0x03, 0xFF, 0xFF, + 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x01, 0xFE, 0x04, 0x00, 0x3F, 0xFF, + 0xE0, 0x03, 0xF0, 0x1F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0xF0, 0x00, 0x78, + 0x0F, 0x80, 0x00, 0xE0, 0x3C, 0x00, 0x03, 0x81, 0xF0, 0x00, 0x04, 0x0F, + 0x80, 0x00, 0x10, 0x7C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0x01, 0xF0, 0x00, 0x02, 0x07, 0xC0, 0x00, 0x18, 0x0F, 0x80, + 0x00, 0xC0, 0x3E, 0x00, 0x06, 0x00, 0x7C, 0x00, 0x70, 0x00, 0xFC, 0x07, + 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, + 0x00, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x0F, 0xC0, 0xFC, 0x00, 0x07, 0xC0, + 0x1F, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x01, 0xF0, + 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x3C, + 0x00, 0x07, 0xC0, 0x3E, 0x00, 0x03, 0xE0, 0x1F, 0x00, 0x01, 0xF0, 0x0F, + 0x00, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0x7C, 0x07, 0xC0, 0x00, 0x3E, 0x03, + 0xE0, 0x00, 0x1F, 0x01, 0xE0, 0x00, 0x1F, 0x81, 0xF0, 0x00, 0x0F, 0x80, + 0xF8, 0x00, 0x07, 0xC0, 0x78, 0x00, 0x03, 0xE0, 0x3C, 0x00, 0x03, 0xE0, + 0x3E, 0x00, 0x01, 0xF0, 0x1F, 0x00, 0x01, 0xF0, 0x0F, 0x00, 0x01, 0xF0, + 0x0F, 0x80, 0x01, 0xF8, 0x07, 0xC0, 0x01, 0xF0, 0x03, 0xE0, 0x01, 0xF0, + 0x01, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x0F, 0xE0, 0x01, 0xFF, 0xFF, 0xC0, + 0x03, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, + 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, 0x30, 0x03, 0xE0, 0x01, 0x00, + 0x1E, 0x00, 0x08, 0x01, 0xF0, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x03, 0xC0, 0x10, 0x00, 0x3E, 0x01, 0x80, 0x01, 0xF0, 0x08, + 0x00, 0x0F, 0x01, 0xC0, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, + 0x3E, 0x07, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x1F, 0x00, 0xC0, 0x00, 0xF8, + 0x04, 0x00, 0x07, 0x80, 0x20, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x0F, 0x80, 0x00, 0xC0, + 0x7C, 0x00, 0x0E, 0x03, 0xC0, 0x00, 0xE0, 0x1E, 0x00, 0x0F, 0x01, 0xF8, + 0x03, 0xF8, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFC, 0x00, 0x03, 0xFF, + 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, + 0x30, 0x03, 0xE0, 0x01, 0x00, 0x1E, 0x00, 0x08, 0x01, 0xF0, 0x00, 0x40, + 0x0F, 0x80, 0x02, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3E, + 0x00, 0x80, 0x01, 0xF0, 0x0C, 0x00, 0x0F, 0x00, 0xC0, 0x00, 0xF8, 0x0E, + 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, 0xE0, 0x18, 0x00, + 0x1F, 0x00, 0xC0, 0x00, 0xF8, 0x06, 0x00, 0x07, 0xC0, 0x20, 0x00, 0x3C, + 0x01, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFF, + 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x02, 0x00, 0x1F, 0xFF, 0x8C, 0x00, + 0xFC, 0x07, 0xF8, 0x03, 0xE0, 0x03, 0xF0, 0x0F, 0x00, 0x03, 0xC0, 0x3C, + 0x00, 0x03, 0x80, 0xF0, 0x00, 0x07, 0x03, 0xC0, 0x00, 0x0E, 0x0F, 0x80, + 0x00, 0x08, 0x3E, 0x00, 0x00, 0x10, 0x7C, 0x00, 0x00, 0x01, 0xF0, 0x00, + 0x00, 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x3F, + 0xFF, 0xE0, 0x00, 0x0F, 0xE7, 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x1E, + 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x01, 0xE0, + 0x78, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x0F, 0x01, 0xF0, 0x00, 0x1E, 0x01, + 0xF0, 0x00, 0x3C, 0x01, 0xE0, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x01, + 0xF8, 0x0F, 0x80, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, + 0xFF, 0xE0, 0x7F, 0xF0, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x3E, 0x00, 0x0F, + 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, + 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3E, + 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, + 0x03, 0xC0, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x01, + 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, + 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, + 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, + 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xF8, 0x00, + 0xFE, 0x00, 0xFF, 0xE0, 0x7F, 0xFC, 0x00, 0x01, 0xFF, 0xC0, 0x1F, 0xE0, + 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, + 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, + 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xF8, 0x00, + 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1E, + 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, + 0x0F, 0xE0, 0x0F, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x00, + 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, + 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, + 0x00, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x01, 0xC1, 0xE0, 0x07, 0xC7, + 0x80, 0x0F, 0x8F, 0x00, 0x1F, 0x3C, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0x80, + 0x00, 0x01, 0xFF, 0xE1, 0xFF, 0x80, 0x3F, 0xC0, 0x1F, 0x80, 0x0F, 0x80, + 0x0F, 0x00, 0x07, 0xC0, 0x0F, 0x00, 0x03, 0xC0, 0x0F, 0x00, 0x01, 0xE0, + 0x0E, 0x00, 0x01, 0xF0, 0x0E, 0x00, 0x00, 0xF8, 0x0E, 0x00, 0x00, 0x78, + 0x1C, 0x00, 0x00, 0x3C, 0x1C, 0x00, 0x00, 0x3E, 0x3C, 0x00, 0x00, 0x1F, + 0x38, 0x00, 0x00, 0x0F, 0x38, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, + 0xFE, 0x00, 0x00, 0x03, 0xDF, 0x00, 0x00, 0x01, 0xE7, 0xC0, 0x00, 0x01, + 0xF3, 0xE0, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x00, + 0x3C, 0x1F, 0x00, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xE0, 0x00, + 0x0F, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x3C, 0x00, 0x07, 0xC0, 0x1F, 0x00, + 0x03, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x03, 0xE0, 0x01, 0xF0, 0x01, 0xF8, + 0x01, 0xFC, 0x01, 0xFE, 0x03, 0xFF, 0xC3, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, + 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, + 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, + 0x00, 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, + 0xF0, 0x00, 0x08, 0x3C, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x41, 0xF0, 0x00, + 0x18, 0x3C, 0x00, 0x07, 0x07, 0x80, 0x01, 0xC1, 0xF8, 0x01, 0xF8, 0x7F, + 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0xC0, + 0x0F, 0xC0, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0xFC, + 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, + 0xFF, 0x00, 0x02, 0xF0, 0x00, 0x37, 0x80, 0x01, 0xBC, 0x00, 0x19, 0xE0, + 0x00, 0x6F, 0x80, 0x0E, 0xF8, 0x00, 0x1B, 0xE0, 0x03, 0x3E, 0x00, 0x04, + 0x78, 0x01, 0x8F, 0x00, 0x03, 0x1E, 0x00, 0xE7, 0xC0, 0x00, 0xC7, 0x80, + 0x31, 0xF0, 0x00, 0x21, 0xE0, 0x18, 0x78, 0x00, 0x18, 0x78, 0x0E, 0x1E, + 0x00, 0x06, 0x1E, 0x03, 0x0F, 0x80, 0x01, 0x87, 0x81, 0x83, 0xE0, 0x00, + 0x41, 0xF0, 0xE0, 0xF0, 0x00, 0x30, 0x7C, 0x30, 0x3C, 0x00, 0x0C, 0x0F, + 0x18, 0x1F, 0x00, 0x03, 0x03, 0xCE, 0x07, 0xC0, 0x01, 0x80, 0xF3, 0x01, + 0xE0, 0x00, 0x60, 0x3D, 0x80, 0xF8, 0x00, 0x18, 0x0F, 0xE0, 0x3E, 0x00, + 0x0C, 0x03, 0xF0, 0x0F, 0x00, 0x03, 0x00, 0xF8, 0x03, 0xC0, 0x00, 0xC0, + 0x3E, 0x01, 0xF0, 0x00, 0x70, 0x0F, 0x00, 0x7C, 0x00, 0x1C, 0x01, 0x80, + 0x3F, 0x00, 0x0F, 0x80, 0x60, 0x1F, 0xC0, 0x0F, 0xF8, 0x10, 0x1F, 0xFE, + 0x00, 0x03, 0xFC, 0x00, 0x3F, 0xE0, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0xF8, + 0x00, 0x1C, 0x00, 0x1F, 0x00, 0x03, 0x80, 0x03, 0xF0, 0x00, 0x60, 0x00, + 0x7E, 0x00, 0x0C, 0x00, 0x0B, 0xE0, 0x03, 0x80, 0x03, 0x7C, 0x00, 0x60, + 0x00, 0x67, 0x80, 0x0C, 0x00, 0x0C, 0xF8, 0x03, 0x80, 0x03, 0x0F, 0x00, + 0x70, 0x00, 0x61, 0xF0, 0x0C, 0x00, 0x0C, 0x3E, 0x01, 0x80, 0x01, 0x83, + 0xC0, 0x70, 0x00, 0x60, 0x7C, 0x0C, 0x00, 0x0C, 0x07, 0x81, 0x80, 0x01, + 0x80, 0xF8, 0x30, 0x00, 0x60, 0x0F, 0x0E, 0x00, 0x0C, 0x01, 0xE1, 0x80, + 0x01, 0x80, 0x3E, 0x30, 0x00, 0x30, 0x03, 0xCE, 0x00, 0x0C, 0x00, 0x7D, + 0x80, 0x01, 0x80, 0x07, 0xB0, 0x00, 0x30, 0x00, 0xF6, 0x00, 0x0E, 0x00, + 0x1F, 0xC0, 0x01, 0x80, 0x01, 0xF0, 0x00, 0x30, 0x00, 0x3E, 0x00, 0x0E, + 0x00, 0x03, 0xC0, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x7C, 0x00, 0x06, 0x00, + 0x3F, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x0F, 0x00, 0x78, + 0x00, 0x78, 0x00, 0xF0, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x07, 0x81, + 0xF0, 0x00, 0x1E, 0x07, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x01, 0xF1, 0xF0, + 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x1F, 0x3F, 0x00, 0x00, 0x7C, 0xF8, 0x00, + 0x01, 0xF7, 0xE0, 0x00, 0x0F, 0xDF, 0x00, 0x00, 0x3F, 0x7C, 0x00, 0x00, + 0xFB, 0xF0, 0x00, 0x07, 0xEF, 0xC0, 0x00, 0x1F, 0xBE, 0x00, 0x00, 0x7C, + 0xF8, 0x00, 0x03, 0xF3, 0xE0, 0x00, 0x0F, 0x8F, 0x80, 0x00, 0x3E, 0x3E, + 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x0F, 0x81, 0xE0, 0x00, 0x3E, 0x07, 0x80, + 0x01, 0xF0, 0x1F, 0x00, 0x0F, 0x80, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x03, + 0xC0, 0x00, 0xF8, 0x3E, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x01, 0xFC, 0x00, + 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0x81, 0xF8, + 0x00, 0x7C, 0x03, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x1E, 0x00, 0x7C, 0x01, + 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x78, 0x00, 0xF8, 0x03, 0xC0, + 0x07, 0xC0, 0x3E, 0x00, 0x3C, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x00, 0x3E, + 0x00, 0xF8, 0x03, 0xF0, 0x07, 0xC0, 0x7E, 0x00, 0x3F, 0xFF, 0xE0, 0x01, + 0xEF, 0xF8, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x80, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0xC0, + 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, + 0xFE, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x0F, 0x00, 0x78, 0x00, 0x78, 0x00, + 0xF0, 0x03, 0xC0, 0x03, 0xE0, 0x1E, 0x00, 0x07, 0x80, 0xF0, 0x00, 0x1E, + 0x07, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x01, 0xF1, 0xF8, 0x00, 0x07, 0xC7, + 0xC0, 0x00, 0x1F, 0x3F, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x01, 0xF7, 0xE0, + 0x00, 0x0F, 0xDF, 0x80, 0x00, 0x3F, 0x7C, 0x00, 0x00, 0xFB, 0xF0, 0x00, + 0x03, 0xEF, 0xC0, 0x00, 0x1F, 0xBE, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x01, + 0xF3, 0xE0, 0x00, 0x0F, 0x8F, 0x80, 0x00, 0x3E, 0x3E, 0x00, 0x01, 0xF0, + 0xF8, 0x00, 0x07, 0xC3, 0xE0, 0x00, 0x3E, 0x07, 0x80, 0x01, 0xF0, 0x1F, + 0x00, 0x07, 0x80, 0x3C, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x01, 0xE0, + 0x1E, 0x00, 0x01, 0xF3, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x04, 0x0F, 0xF0, 0x00, + 0x60, 0x7F, 0xFC, 0x07, 0x03, 0xFF, 0xFF, 0xF8, 0x38, 0x1F, 0xFF, 0x80, + 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF8, 0x00, + 0x3E, 0x0F, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xC0, + 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x78, 0x01, 0xF0, + 0x07, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF0, + 0x1F, 0x80, 0x1F, 0xFF, 0xE0, 0x01, 0xFF, 0xF0, 0x00, 0x1E, 0x1E, 0x00, + 0x01, 0xE1, 0xE0, 0x00, 0x3E, 0x1F, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x3C, + 0x0F, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x7C, 0x07, 0x80, 0x07, 0xC0, 0x7C, + 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x80, 0x3C, 0x00, 0xF8, 0x03, 0xE0, 0x0F, + 0x00, 0x1E, 0x00, 0xF0, 0x01, 0xE0, 0x1F, 0x00, 0x1F, 0x03, 0xF8, 0x00, + 0xF8, 0xFF, 0xE0, 0x0F, 0xE0, 0x00, 0x3F, 0x06, 0x01, 0xFF, 0xDC, 0x07, + 0xC1, 0xF0, 0x1E, 0x01, 0xE0, 0x3C, 0x01, 0xC0, 0xF0, 0x03, 0x81, 0xE0, + 0x03, 0x03, 0xC0, 0x04, 0x07, 0x80, 0x08, 0x0F, 0x80, 0x00, 0x1F, 0x00, + 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, + 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x08, 0x00, 0x78, 0x10, + 0x00, 0xF0, 0x20, 0x01, 0xE0, 0xC0, 0x03, 0xC1, 0x80, 0x07, 0x83, 0x80, + 0x1E, 0x07, 0x00, 0x3C, 0x0F, 0x00, 0xF0, 0x1F, 0x87, 0xC0, 0x23, 0xFF, + 0x00, 0x81, 0xF8, 0x00, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFD, 0xF0, + 0x3E, 0x07, 0xB8, 0x07, 0xC0, 0x76, 0x00, 0xF8, 0x04, 0x80, 0x3E, 0x00, + 0xB0, 0x07, 0xC0, 0x14, 0x00, 0xF8, 0x02, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xC0, 0x00, + 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, + 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, + 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x3F, 0xFF, 0x00, + 0x00, 0x7F, 0xFE, 0x03, 0xFE, 0x1F, 0xE0, 0x01, 0xF8, 0x1F, 0x80, 0x01, + 0xC0, 0x3E, 0x00, 0x03, 0x80, 0x7C, 0x00, 0x07, 0x00, 0xF8, 0x00, 0x0C, + 0x03, 0xE0, 0x00, 0x18, 0x07, 0xC0, 0x00, 0x70, 0x0F, 0x80, 0x00, 0xC0, + 0x1F, 0x00, 0x01, 0x80, 0x7C, 0x00, 0x03, 0x00, 0xF8, 0x00, 0x0E, 0x01, + 0xF0, 0x00, 0x18, 0x07, 0xC0, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x60, 0x1F, + 0x00, 0x01, 0x80, 0x3E, 0x00, 0x03, 0x00, 0xF8, 0x00, 0x06, 0x01, 0xF0, + 0x00, 0x18, 0x03, 0xE0, 0x00, 0x30, 0x07, 0xC0, 0x00, 0x60, 0x1F, 0x00, + 0x00, 0xC0, 0x3E, 0x00, 0x03, 0x00, 0x7C, 0x00, 0x06, 0x00, 0xF8, 0x00, + 0x18, 0x01, 0xF0, 0x00, 0x30, 0x03, 0xE0, 0x00, 0xC0, 0x03, 0xE0, 0x03, + 0x80, 0x03, 0xE0, 0x0E, 0x00, 0x03, 0xF0, 0x78, 0x00, 0x03, 0xFF, 0xC0, + 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x0F, 0xF9, 0xFC, 0x00, 0x1F, + 0x07, 0xC0, 0x00, 0x78, 0x3E, 0x00, 0x03, 0x81, 0xF0, 0x00, 0x18, 0x0F, + 0x80, 0x01, 0xC0, 0x7C, 0x00, 0x0C, 0x01, 0xE0, 0x00, 0xC0, 0x0F, 0x80, + 0x06, 0x00, 0x7C, 0x00, 0x60, 0x03, 0xE0, 0x07, 0x00, 0x1F, 0x00, 0x30, + 0x00, 0xF8, 0x03, 0x00, 0x03, 0xC0, 0x18, 0x00, 0x1E, 0x01, 0x80, 0x00, + 0xF8, 0x1C, 0x00, 0x07, 0xC0, 0xC0, 0x00, 0x3E, 0x0C, 0x00, 0x01, 0xF0, + 0x60, 0x00, 0x07, 0x86, 0x00, 0x00, 0x3C, 0x30, 0x00, 0x01, 0xE3, 0x00, + 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x7D, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, + 0x0F, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0xFF, 0xE3, 0xFF, 0x81, 0xFE, 0x7F, 0x01, 0xFC, 0x00, 0xF8, 0x7C, + 0x01, 0xF0, 0x00, 0xE0, 0xF8, 0x03, 0xE0, 0x01, 0x81, 0xF0, 0x03, 0xC0, + 0x07, 0x03, 0xE0, 0x07, 0x80, 0x0C, 0x03, 0xC0, 0x0F, 0x00, 0x18, 0x07, + 0x80, 0x1E, 0x00, 0x60, 0x0F, 0x00, 0x7E, 0x00, 0xC0, 0x1F, 0x00, 0xFC, + 0x03, 0x00, 0x3E, 0x03, 0xF8, 0x06, 0x00, 0x7C, 0x05, 0xF0, 0x18, 0x00, + 0xF8, 0x1B, 0xE0, 0x30, 0x01, 0xF0, 0x33, 0xC0, 0xC0, 0x01, 0xE0, 0xC7, + 0x83, 0x80, 0x03, 0xC1, 0x8F, 0x06, 0x00, 0x07, 0x86, 0x1E, 0x1C, 0x00, + 0x0F, 0x0C, 0x3C, 0x30, 0x00, 0x1F, 0x30, 0x7C, 0xE0, 0x00, 0x3E, 0x60, + 0xF9, 0x80, 0x00, 0x7D, 0x81, 0xF7, 0x00, 0x00, 0xFB, 0x03, 0xEC, 0x00, + 0x01, 0xFC, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x07, 0xE0, 0x00, 0x03, 0xE0, + 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x1F, 0x00, 0x00, 0x0F, 0x00, 0x3C, 0x00, + 0x00, 0x1E, 0x00, 0x78, 0x00, 0x00, 0x38, 0x00, 0xE0, 0x00, 0x00, 0x70, + 0x01, 0xC0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x80, 0x06, 0x00, + 0x00, 0x07, 0xFF, 0x83, 0xFF, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x7C, 0x00, + 0x78, 0x00, 0x7C, 0x00, 0x70, 0x00, 0x3C, 0x00, 0xE0, 0x00, 0x3E, 0x01, + 0xC0, 0x00, 0x3E, 0x01, 0x80, 0x00, 0x1F, 0x03, 0x00, 0x00, 0x1F, 0x07, + 0x00, 0x00, 0x0F, 0x0E, 0x00, 0x00, 0x0F, 0x9C, 0x00, 0x00, 0x0F, 0xB8, + 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, 0xC0, + 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1C, 0xF0, 0x00, 0x00, 0x38, 0xF8, + 0x00, 0x00, 0x30, 0xF8, 0x00, 0x00, 0x60, 0x7C, 0x00, 0x00, 0xC0, 0x7C, + 0x00, 0x01, 0xC0, 0x3C, 0x00, 0x03, 0x80, 0x3E, 0x00, 0x07, 0x00, 0x3E, + 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x7F, 0x00, 0x3F, + 0xC0, 0xFF, 0xC1, 0xFF, 0xF0, 0x7F, 0xF0, 0x7F, 0xC7, 0xF0, 0x03, 0xE0, + 0xF8, 0x00, 0x70, 0x3E, 0x00, 0x38, 0x07, 0x80, 0x0C, 0x01, 0xE0, 0x07, + 0x00, 0x7C, 0x03, 0x80, 0x1F, 0x00, 0xC0, 0x03, 0xC0, 0x60, 0x00, 0xF0, + 0x30, 0x00, 0x3E, 0x1C, 0x00, 0x07, 0x8E, 0x00, 0x01, 0xE3, 0x00, 0x00, + 0x7D, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF8, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, + 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x0F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x03, 0xFF, + 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0x81, 0xF0, 0x00, 0xFC, 0x0E, 0x00, 0x0F, + 0xC0, 0x60, 0x00, 0xFC, 0x06, 0x00, 0x0F, 0xC0, 0x20, 0x00, 0x7C, 0x00, + 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, + 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, + 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, + 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, + 0x08, 0x0F, 0xC0, 0x00, 0x80, 0xFC, 0x00, 0x0C, 0x07, 0xC0, 0x00, 0x60, + 0x7E, 0x00, 0x07, 0x07, 0xE0, 0x01, 0xF0, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, + 0xFF, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0xE0, + 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, + 0x00, 0x03, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x07, 0x00, + 0x03, 0x80, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, + 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x80, 0x03, + 0xFC, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0x80, + 0x01, 0xE0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, + 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x03, 0x80, + 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, + 0x80, 0x01, 0xE0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x07, 0x00, + 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, + 0x80, 0x00, 0xFF, 0x80, 0x07, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0xF0, + 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x07, + 0x00, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, 0x00, + 0x38, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, + 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x78, 0x00, 0x38, + 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, + 0xC0, 0x00, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x38, 0x03, 0xFC, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xBC, + 0x00, 0x39, 0xC0, 0x07, 0x1E, 0x00, 0x70, 0xE0, 0x0E, 0x0F, 0x00, 0xE0, + 0x70, 0x1E, 0x07, 0x81, 0xC0, 0x38, 0x3C, 0x03, 0xC3, 0x80, 0x1C, 0x78, + 0x01, 0xE7, 0x00, 0x0E, 0xF0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x60, 0xF0, 0xF8, 0x78, 0x3C, 0x1E, 0x0E, 0x07, 0x00, 0x1E, 0x70, + 0x03, 0x0B, 0x80, 0x70, 0x3C, 0x07, 0x01, 0xE0, 0x70, 0x0E, 0x07, 0x00, + 0x70, 0x78, 0x03, 0x83, 0x80, 0x38, 0x3C, 0x01, 0xC1, 0xC0, 0x0E, 0x1E, + 0x00, 0xF0, 0xF0, 0x07, 0x0F, 0x00, 0x78, 0x78, 0x03, 0xC3, 0xC0, 0x3E, + 0x1E, 0x01, 0x70, 0xF0, 0x17, 0x0F, 0x81, 0x38, 0xBE, 0x11, 0xC8, 0xFF, + 0x0F, 0x83, 0xF0, 0x70, 0x00, 0x00, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, + 0x78, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x0F, + 0x80, 0x71, 0xFE, 0x03, 0x98, 0xF8, 0x3D, 0x03, 0xE1, 0xE8, 0x0F, 0x0E, + 0x80, 0x78, 0x78, 0x03, 0xC7, 0xC0, 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x0F, + 0x1E, 0x00, 0x78, 0xF0, 0x03, 0xC7, 0x80, 0x3C, 0x38, 0x01, 0xE3, 0xC0, + 0x1E, 0x1E, 0x00, 0xE0, 0xE0, 0x0E, 0x07, 0x00, 0xF0, 0x78, 0x07, 0x03, + 0xC0, 0xE0, 0x0F, 0x0E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x38, + 0x60, 0x38, 0x1C, 0x1C, 0x0F, 0x0E, 0x03, 0x87, 0x80, 0x03, 0xC0, 0x00, + 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xF0, + 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x02, 0x3E, 0x01, + 0x87, 0x80, 0xC1, 0xF0, 0x60, 0x3F, 0xF0, 0x03, 0xF0, 0x00, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3C, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x71, + 0x70, 0x00, 0xC1, 0x70, 0x03, 0x80, 0xF0, 0x07, 0x80, 0xE0, 0x07, 0x01, + 0xE0, 0x0E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3C, 0x01, 0xC0, 0x3C, 0x01, + 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0x80, 0xF0, 0x07, + 0x80, 0xF0, 0x07, 0x80, 0xF0, 0x0F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x17, + 0x08, 0xF0, 0x27, 0x10, 0x78, 0x47, 0x20, 0x7F, 0x87, 0xC0, 0x1E, 0x07, + 0x00, 0x00, 0x1F, 0x00, 0x1C, 0xF0, 0x1C, 0x1C, 0x0E, 0x07, 0x07, 0x01, + 0xC3, 0xC0, 0xF1, 0xE0, 0x38, 0x70, 0x1C, 0x3C, 0x0E, 0x1F, 0x0F, 0x07, + 0x8F, 0x01, 0xFE, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, + 0x00, 0xF0, 0x01, 0x3C, 0x00, 0xC7, 0x80, 0x61, 0xF0, 0x60, 0x3F, 0xF0, + 0x03, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x03, 0x1C, 0x00, 0x00, + 0xC3, 0x80, 0x00, 0x38, 0x70, 0x00, 0x06, 0x00, 0x00, 0x01, 0xC0, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x07, 0xFF, 0xC0, 0x00, + 0xFF, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x00, + 0x00, 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, + 0xE0, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xF0, 0x00, + 0x00, 0x1C, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, + 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0x80, 0x00, 0x38, + 0x60, 0x00, 0x07, 0x0C, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x0F, 0x80, 0x00, + 0x00, 0x00, 0x3F, 0x00, 0x07, 0x0E, 0x00, 0x70, 0x3E, 0x07, 0x01, 0xF0, + 0x70, 0x0E, 0x07, 0x80, 0x70, 0x3C, 0x03, 0x81, 0xC0, 0x1C, 0x0E, 0x01, + 0xE0, 0x70, 0x0E, 0x03, 0x80, 0xF0, 0x0E, 0x0F, 0x00, 0x30, 0xE0, 0x00, + 0xFE, 0x00, 0x0C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x00, + 0x03, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x8F, 0xF0, 0x18, 0x0F, 0xC1, 0x80, + 0x1F, 0x18, 0x00, 0x78, 0xC0, 0x01, 0xC6, 0x00, 0x0E, 0x30, 0x00, 0x61, + 0xC0, 0x07, 0x06, 0x00, 0x70, 0x1C, 0x0E, 0x00, 0x3F, 0xC0, 0x00, 0x00, + 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, + 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, + 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x03, 0x80, 0x78, 0x7E, 0x03, 0x86, 0x70, + 0x3C, 0x43, 0x81, 0xE4, 0x1C, 0x0E, 0x40, 0xE0, 0x74, 0x0E, 0x07, 0xA0, + 0x70, 0x3E, 0x03, 0x81, 0xE0, 0x1C, 0x0F, 0x00, 0xE0, 0xF0, 0x0E, 0x07, + 0x80, 0x70, 0x38, 0x03, 0x81, 0xC0, 0x1C, 0x1E, 0x00, 0xC2, 0xF0, 0x0E, + 0x27, 0x00, 0x73, 0x38, 0x03, 0x93, 0xC0, 0x1F, 0x1E, 0x00, 0xE0, 0x03, + 0x81, 0xF0, 0x7C, 0x1F, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x71, 0xFC, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x03, 0xC0, 0xF0, + 0x38, 0x0E, 0x07, 0x81, 0xE0, 0x70, 0x1C, 0x0F, 0x03, 0x84, 0xE2, 0x39, + 0x0F, 0x81, 0xC0, 0x00, 0x01, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, + 0xF0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x3F, 0xC0, 0x00, 0xF0, 0x00, 0x1E, + 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0E, 0x00, 0x03, 0xC0, 0x00, 0x78, + 0x00, 0x0F, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xE0, + 0x00, 0x38, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x00, + 0x00, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, + 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x01, 0xC7, 0x00, 0x38, 0xC0, 0x07, + 0x30, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, + 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, + 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, + 0x00, 0x70, 0xFF, 0x83, 0x80, 0xF0, 0x3C, 0x06, 0x01, 0xE0, 0x60, 0x0E, + 0x06, 0x00, 0x70, 0xE0, 0x07, 0x8C, 0x00, 0x3C, 0xC0, 0x01, 0xCC, 0x00, + 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0x9E, 0x00, 0x38, 0xF0, 0x01, 0xC3, + 0x80, 0x1E, 0x1E, 0x00, 0xF0, 0x70, 0x07, 0x03, 0xC2, 0x78, 0x0E, 0x13, + 0xC0, 0x79, 0x1E, 0x01, 0xF0, 0x00, 0x07, 0x00, 0x00, 0xE1, 0xFC, 0x0F, + 0x80, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1C, 0x07, 0x80, 0xF0, 0x1E, 0x03, + 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x70, 0x1E, 0x03, 0xC0, 0x78, 0x0E, 0x03, + 0xC0, 0x78, 0x0E, 0x01, 0xC0, 0x78, 0x0F, 0x01, 0xC0, 0x38, 0x4F, 0x11, + 0xE4, 0x39, 0x07, 0xC0, 0x70, 0x00, 0x07, 0x81, 0xC0, 0x78, 0xFE, 0x0F, + 0xC1, 0xF8, 0x3C, 0x33, 0x84, 0x70, 0x78, 0x87, 0x10, 0xE0, 0xF2, 0x0E, + 0x41, 0xC1, 0xC8, 0x39, 0x07, 0x87, 0xA0, 0x74, 0x0F, 0x0F, 0x40, 0xE8, + 0x1E, 0x1F, 0x01, 0xE0, 0x38, 0x3C, 0x07, 0xC0, 0xF0, 0xF8, 0x0F, 0x01, + 0xE1, 0xE0, 0x1E, 0x03, 0xC3, 0xC0, 0x38, 0x07, 0x07, 0x00, 0xF0, 0x1E, + 0x1E, 0x01, 0xE0, 0x3C, 0x3C, 0x03, 0x80, 0x79, 0x70, 0x07, 0x00, 0xE2, + 0xE0, 0x1E, 0x03, 0x8B, 0xC0, 0x3C, 0x07, 0x27, 0x80, 0x70, 0x0F, 0x8E, + 0x00, 0xE0, 0x1E, 0x00, 0x07, 0x81, 0xE3, 0xFC, 0x3F, 0x83, 0xC2, 0x3C, + 0x1E, 0x21, 0xE0, 0xF2, 0x0F, 0x07, 0x20, 0x70, 0x39, 0x07, 0x83, 0xD0, + 0x3C, 0x1F, 0x01, 0xE0, 0xE8, 0x0E, 0x0F, 0x80, 0xF0, 0x78, 0x07, 0x83, + 0xC0, 0x38, 0x1C, 0x01, 0xC1, 0xE0, 0x1E, 0x0F, 0x00, 0xF1, 0x70, 0x07, + 0x0B, 0x80, 0x38, 0xBC, 0x01, 0xC9, 0xE0, 0x0F, 0x8E, 0x00, 0x38, 0x00, + 0x00, 0x1F, 0x80, 0x07, 0x8F, 0x00, 0x70, 0x3C, 0x07, 0x00, 0xE0, 0x70, + 0x07, 0x87, 0x80, 0x3C, 0x78, 0x01, 0xE7, 0x80, 0x0F, 0x3C, 0x00, 0x7B, + 0xC0, 0x03, 0xDE, 0x00, 0x3D, 0xF0, 0x01, 0xEF, 0x80, 0x0F, 0x78, 0x00, + 0xF3, 0xC0, 0x07, 0x9E, 0x00, 0x78, 0xF0, 0x03, 0x87, 0x80, 0x38, 0x1C, + 0x03, 0x80, 0xF0, 0x38, 0x03, 0xC3, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x3C, + 0x3F, 0x00, 0x7F, 0x8F, 0xF0, 0x01, 0xF7, 0x3F, 0x00, 0x1D, 0x83, 0xF0, + 0x07, 0xA0, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x1E, 0x00, 0xF8, 0x03, 0xC0, + 0x1F, 0x00, 0xF0, 0x03, 0xE0, 0x1E, 0x00, 0x7C, 0x03, 0xC0, 0x1F, 0x00, + 0x70, 0x03, 0xE0, 0x1E, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0x00, 0x70, 0x03, + 0xC0, 0x0E, 0x00, 0xF8, 0x03, 0xC0, 0x1E, 0x00, 0x78, 0x07, 0x80, 0x0F, + 0x01, 0xE0, 0x01, 0xE0, 0x70, 0x00, 0x7C, 0x3C, 0x00, 0x0F, 0x7C, 0x00, + 0x01, 0xC0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, + 0x00, 0x00, 0x38, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x8D, + 0xC0, 0x38, 0x2E, 0x07, 0x80, 0xF0, 0x78, 0x07, 0x03, 0x80, 0x38, 0x38, + 0x03, 0xC3, 0xC0, 0x1E, 0x3C, 0x00, 0xE1, 0xE0, 0x07, 0x1E, 0x00, 0x78, + 0xF0, 0x03, 0x87, 0x80, 0x3C, 0x78, 0x01, 0xE3, 0xC0, 0x1F, 0x1E, 0x01, + 0x70, 0xF0, 0x17, 0x87, 0x80, 0xBC, 0x3C, 0x09, 0xC0, 0xF1, 0x8E, 0x07, + 0xF8, 0xF0, 0x1F, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1E, + 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, + 0x3E, 0x00, 0x0F, 0xFE, 0x00, 0x07, 0x87, 0x3F, 0x87, 0xC3, 0xC7, 0xE1, + 0xE6, 0xF0, 0xF6, 0x00, 0x72, 0x00, 0x3A, 0x00, 0x1D, 0x00, 0x1F, 0x00, + 0x0E, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, + 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, + 0x00, 0x00, 0x01, 0xF8, 0x81, 0x87, 0xC1, 0x80, 0xE1, 0xC0, 0x60, 0xE0, + 0x10, 0x70, 0x08, 0x3C, 0x04, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, + 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC1, 0x01, 0xE0, 0x80, 0x70, + 0x40, 0x38, 0x30, 0x1C, 0x38, 0x0C, 0x1C, 0x0E, 0x0F, 0x0E, 0x04, 0x7C, + 0x00, 0x00, 0xC0, 0x18, 0x03, 0x80, 0x78, 0x1F, 0x03, 0xFF, 0x7F, 0xF0, + 0xF0, 0x0E, 0x00, 0xE0, 0x1E, 0x01, 0xE0, 0x1C, 0x01, 0xC0, 0x3C, 0x03, + 0xC0, 0x38, 0x03, 0x80, 0x78, 0x07, 0x80, 0x70, 0x8F, 0x10, 0xF1, 0x0F, + 0x20, 0xFC, 0x07, 0x80, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x7F, 0x00, 0xE0, + 0xF0, 0x1E, 0x0E, 0x01, 0xE1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, + 0x1C, 0x07, 0xC3, 0xC0, 0x78, 0x3C, 0x0F, 0x83, 0xC0, 0xB8, 0x38, 0x1F, + 0x87, 0x83, 0x70, 0x78, 0x27, 0x07, 0x86, 0x70, 0x70, 0xC7, 0x1F, 0x08, + 0xE1, 0xE1, 0x0E, 0x2E, 0x60, 0xE4, 0xFC, 0x0F, 0x87, 0x00, 0x70, 0x1C, + 0x03, 0xBF, 0x00, 0xF1, 0xE0, 0x3C, 0x78, 0x07, 0x1E, 0x00, 0xC3, 0x80, + 0x30, 0xE0, 0x08, 0x38, 0x06, 0x0E, 0x01, 0x03, 0x80, 0xC0, 0xF0, 0x20, + 0x3C, 0x10, 0x07, 0x04, 0x01, 0xC2, 0x00, 0x71, 0x00, 0x1C, 0xC0, 0x07, + 0x60, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x01, 0x00, + 0x00, 0x0C, 0x00, 0x40, 0x3B, 0xF8, 0x01, 0x00, 0xF1, 0xE0, 0x0C, 0x03, + 0xC3, 0x80, 0x78, 0x07, 0x0E, 0x01, 0xE0, 0x0C, 0x38, 0x0F, 0x80, 0x20, + 0xE0, 0x6E, 0x00, 0x83, 0x81, 0x38, 0x04, 0x0F, 0x0C, 0xE0, 0x10, 0x1C, + 0x23, 0x80, 0x80, 0x71, 0x8E, 0x06, 0x01, 0xCC, 0x38, 0x10, 0x07, 0x20, + 0xE0, 0x80, 0x1D, 0x83, 0x86, 0x00, 0x7C, 0x07, 0x30, 0x01, 0xF0, 0x1C, + 0x80, 0x07, 0x80, 0x74, 0x00, 0x1E, 0x01, 0xF0, 0x00, 0x70, 0x07, 0x80, + 0x01, 0xC0, 0x1C, 0x00, 0x06, 0x00, 0x60, 0x00, 0x10, 0x01, 0x00, 0x00, + 0x00, 0xE0, 0x38, 0x1F, 0x81, 0xF0, 0x8F, 0x09, 0x80, 0x3C, 0x40, 0x00, + 0x72, 0x00, 0x01, 0xD0, 0x00, 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x38, + 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, + 0x01, 0x70, 0x00, 0x09, 0xC0, 0x00, 0x67, 0x00, 0x01, 0x1E, 0x10, 0x08, + 0x38, 0x40, 0x40, 0xE2, 0x39, 0x03, 0xD0, 0xF8, 0x0F, 0x83, 0xC0, 0x1C, + 0x00, 0x07, 0x80, 0x33, 0xFC, 0x03, 0xC1, 0xE0, 0x1E, 0x07, 0x80, 0x70, + 0x3C, 0x01, 0x80, 0xE0, 0x0C, 0x07, 0x80, 0x40, 0x3C, 0x02, 0x00, 0xE0, + 0x20, 0x07, 0x81, 0x00, 0x3C, 0x18, 0x01, 0xE0, 0x80, 0x07, 0x0C, 0x00, + 0x38, 0x40, 0x01, 0xE4, 0x00, 0x0F, 0x60, 0x00, 0x3A, 0x00, 0x01, 0xF0, + 0x00, 0x0F, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, 0x00, + 0x80, 0x00, 0x0C, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, + 0x04, 0x00, 0x0E, 0x40, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, + 0xFF, 0x87, 0xFF, 0x82, 0x00, 0x83, 0x00, 0xC1, 0x00, 0xC0, 0x00, 0xC0, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, + 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x1E, + 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xE8, 0xFC, 0x70, 0x1E, 0x38, 0x03, 0x88, + 0x00, 0x78, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x0F, + 0x00, 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, + 0x70, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, + 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x00, 0x80, + 0x00, 0x60, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x07, + 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, + 0x38, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x01, 0x80, + 0x00, 0x70, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x07, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, + 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3C, + 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x18, 0x00, 0x08, 0x00, 0x1C, + 0x00, 0x7E, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, + 0x01, 0xC0, 0x01, 0xC0, 0x03, 0xC0, 0x03, 0x80, 0x03, 0x80, 0x07, 0x80, + 0x07, 0x80, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x1C, 0x00, + 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFF, 0x80, 0xC7, 0xFF, 0x87, 0xBC, 0x3F, + 0xFE, 0x60, 0x3F, 0xF0, 0x00, 0x1F, 0x00 }; + +const GFXglyph FreeSerifItalic24pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' + { 0, 12, 32, 16, 2, -30 }, // 0x21 '!' + { 48, 14, 12, 16, 6, -31 }, // 0x22 '"' + { 69, 25, 31, 23, 0, -30 }, // 0x23 '#' + { 166, 21, 38, 24, 2, -33 }, // 0x24 '$' + { 266, 33, 32, 39, 4, -30 }, // 0x25 '%' + { 398, 30, 33, 37, 4, -31 }, // 0x26 '&' + { 522, 5, 12, 9, 6, -31 }, // 0x27 ''' + { 530, 13, 39, 16, 2, -30 }, // 0x28 '(' + { 594, 13, 39, 16, 0, -30 }, // 0x29 ')' + { 658, 16, 20, 23, 7, -31 }, // 0x2A '*' + { 698, 23, 23, 32, 4, -22 }, // 0x2B '+' + { 765, 7, 11, 12, -1, -4 }, // 0x2C ',' + { 775, 11, 3, 16, 2, -11 }, // 0x2D '-' + { 780, 5, 5, 12, 1, -3 }, // 0x2E '.' + { 784, 21, 33, 14, 0, -31 }, // 0x2F '/' + { 871, 21, 31, 23, 2, -30 }, // 0x30 '0' + { 953, 17, 32, 23, 2, -31 }, // 0x31 '1' + { 1021, 21, 31, 24, 0, -30 }, // 0x32 '2' + { 1103, 22, 32, 23, 0, -31 }, // 0x33 '3' + { 1191, 22, 32, 23, 0, -31 }, // 0x34 '4' + { 1279, 22, 32, 24, 0, -31 }, // 0x35 '5' + { 1367, 23, 32, 23, 1, -31 }, // 0x36 '6' + { 1459, 21, 32, 23, 4, -31 }, // 0x37 '7' + { 1543, 22, 32, 23, 1, -31 }, // 0x38 '8' + { 1631, 22, 33, 23, 1, -31 }, // 0x39 '9' + { 1722, 9, 22, 12, 2, -20 }, // 0x3A ':' + { 1747, 11, 27, 12, 1, -20 }, // 0x3B ';' + { 1785, 23, 25, 27, 3, -24 }, // 0x3C '<' + { 1857, 24, 12, 31, 4, -17 }, // 0x3D '=' + { 1893, 24, 25, 27, 3, -24 }, // 0x3E '>' + { 1968, 16, 33, 21, 6, -31 }, // 0x3F '?' + { 2034, 33, 33, 37, 3, -31 }, // 0x40 '@' + { 2171, 29, 31, 31, 0, -30 }, // 0x41 'A' + { 2284, 28, 31, 28, 0, -30 }, // 0x42 'B' + { 2393, 30, 33, 29, 2, -31 }, // 0x43 'C' + { 2517, 33, 31, 33, 0, -30 }, // 0x44 'D' + { 2645, 29, 31, 27, 0, -30 }, // 0x45 'E' + { 2758, 29, 31, 27, 0, -30 }, // 0x46 'F' + { 2871, 31, 33, 32, 2, -31 }, // 0x47 'G' + { 2999, 36, 31, 33, 0, -30 }, // 0x48 'H' + { 3139, 18, 31, 15, 0, -30 }, // 0x49 'I' + { 3209, 23, 32, 20, 0, -30 }, // 0x4A 'J' + { 3301, 33, 31, 30, 0, -30 }, // 0x4B 'K' + { 3429, 27, 31, 27, 0, -30 }, // 0x4C 'L' + { 3534, 42, 31, 39, 0, -30 }, // 0x4D 'M' + { 3697, 35, 32, 32, 0, -30 }, // 0x4E 'N' + { 3837, 30, 33, 31, 2, -31 }, // 0x4F 'O' + { 3961, 29, 31, 27, 0, -30 }, // 0x50 'P' + { 4074, 30, 41, 31, 2, -31 }, // 0x51 'Q' + { 4228, 28, 31, 29, 0, -30 }, // 0x52 'R' + { 4337, 23, 33, 21, 0, -31 }, // 0x53 'S' + { 4432, 27, 31, 28, 4, -30 }, // 0x54 'T' + { 4537, 31, 32, 33, 5, -30 }, // 0x55 'U' + { 4661, 29, 32, 31, 6, -30 }, // 0x56 'V' + { 4777, 39, 32, 42, 6, -30 }, // 0x57 'W' + { 4933, 32, 31, 31, 0, -30 }, // 0x58 'X' + { 5057, 26, 31, 28, 5, -30 }, // 0x59 'Y' + { 5158, 29, 31, 26, 0, -30 }, // 0x5A 'Z' + { 5271, 17, 39, 18, 1, -31 }, // 0x5B '[' + { 5354, 17, 33, 23, 5, -31 }, // 0x5C '\' + { 5425, 17, 39, 18, 1, -31 }, // 0x5D ']' + { 5508, 20, 17, 20, 0, -31 }, // 0x5E '^' + { 5551, 24, 2, 23, 0, 5 }, // 0x5F '_' + { 5557, 8, 8, 12, 6, -31 }, // 0x60 '`' + { 5565, 21, 21, 23, 1, -20 }, // 0x61 'a' + { 5621, 21, 33, 22, 1, -31 }, // 0x62 'b' + { 5708, 18, 22, 19, 1, -20 }, // 0x63 'c' + { 5758, 24, 33, 23, 1, -31 }, // 0x64 'd' + { 5857, 18, 22, 19, 1, -20 }, // 0x65 'e' + { 5907, 27, 42, 20, -4, -31 }, // 0x66 'f' + { 6049, 21, 31, 21, -1, -20 }, // 0x67 'g' + { 6131, 21, 32, 23, 1, -31 }, // 0x68 'h' + { 6215, 10, 32, 12, 2, -30 }, // 0x69 'i' + { 6255, 19, 41, 13, -3, -30 }, // 0x6A 'j' + { 6353, 21, 33, 21, 1, -31 }, // 0x6B 'k' + { 6440, 11, 33, 12, 2, -31 }, // 0x6C 'l' + { 6486, 31, 21, 34, 1, -20 }, // 0x6D 'm' + { 6568, 21, 21, 23, 1, -20 }, // 0x6E 'n' + { 6624, 21, 22, 22, 1, -20 }, // 0x6F 'o' + { 6682, 27, 31, 22, -4, -20 }, // 0x70 'p' + { 6787, 21, 31, 23, 1, -20 }, // 0x71 'q' + { 6869, 17, 21, 17, 1, -20 }, // 0x72 'r' + { 6914, 17, 22, 16, 0, -20 }, // 0x73 's' + { 6961, 12, 26, 11, 1, -24 }, // 0x74 't' + { 7000, 20, 22, 23, 1, -20 }, // 0x75 'u' + { 7055, 18, 22, 21, 3, -20 }, // 0x76 'v' + { 7105, 30, 22, 32, 2, -20 }, // 0x77 'w' + { 7188, 22, 22, 20, -1, -20 }, // 0x78 'x' + { 7249, 21, 31, 22, 1, -20 }, // 0x79 'y' + { 7331, 17, 24, 18, 0, -19 }, // 0x7A 'z' + { 7382, 17, 40, 19, 2, -31 }, // 0x7B '{' + { 7467, 3, 33, 13, 5, -31 }, // 0x7C '|' + { 7480, 16, 41, 19, 0, -32 }, // 0x7D '}' + { 7562, 22, 6, 25, 2, -14 } }; // 0x7E '~' + +const GFXfont FreeSerifItalic24pt7b PROGMEM = { + (uint8_t *)FreeSerifItalic24pt7bBitmaps, + (GFXglyph *)FreeSerifItalic24pt7bGlyphs, + 0x20, 0x7E, 56 }; + +// Approx. 8251 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h new file mode 100644 index 0000000..34e6b8d --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h @@ -0,0 +1,202 @@ +const uint8_t FreeSerifItalic9pt7bBitmaps[] PROGMEM = { + 0x11, 0x12, 0x22, 0x24, 0x40, 0x0C, 0xDE, 0xE5, 0x40, 0x04, 0x82, 0x20, + 0x98, 0x24, 0x7F, 0xC4, 0x82, 0x23, 0xFC, 0x24, 0x11, 0x04, 0x83, 0x20, + 0x1C, 0x1B, 0x99, 0x4D, 0x26, 0x81, 0xC0, 0x70, 0x1C, 0x13, 0x49, 0xA4, + 0xDA, 0xC7, 0xC1, 0x00, 0x80, 0x1C, 0x61, 0xCF, 0x0E, 0x28, 0x30, 0xA0, + 0xC5, 0x03, 0x34, 0xE7, 0xAE, 0x40, 0xB1, 0x05, 0x84, 0x26, 0x20, 0x99, + 0x84, 0x3C, 0x03, 0x80, 0x6C, 0x06, 0xC0, 0x78, 0x06, 0x01, 0xEF, 0x66, + 0x24, 0x24, 0xC3, 0x8C, 0x10, 0xE3, 0x87, 0xCE, 0xFA, 0x08, 0x21, 0x08, + 0x61, 0x8C, 0x30, 0xC3, 0x0C, 0x30, 0x41, 0x02, 0x00, 0x10, 0x40, 0x82, + 0x0C, 0x30, 0xC3, 0x0C, 0x61, 0x84, 0x21, 0x08, 0x00, 0x30, 0xCA, 0x5E, + 0x6A, 0x93, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, 0xF8, 0x40, 0x20, 0x10, + 0x08, 0x00, 0x56, 0xF0, 0xF0, 0x03, 0x02, 0x06, 0x04, 0x08, 0x08, 0x10, + 0x30, 0x20, 0x60, 0x40, 0xC0, 0x0E, 0x0C, 0x8C, 0x6C, 0x36, 0x1F, 0x0F, + 0x07, 0x87, 0xC3, 0x61, 0xB1, 0x88, 0x83, 0x80, 0x04, 0x70, 0xC3, 0x08, + 0x21, 0x86, 0x10, 0x43, 0x08, 0xF8, 0x1C, 0x67, 0x83, 0x03, 0x02, 0x06, + 0x0C, 0x08, 0x10, 0x20, 0x42, 0xFC, 0x0F, 0x08, 0xC0, 0x60, 0xC1, 0xE0, + 0x38, 0x0C, 0x06, 0x03, 0x01, 0x01, 0x1F, 0x00, 0x01, 0x01, 0x81, 0x41, + 0x61, 0x21, 0x11, 0x18, 0x88, 0xFF, 0x02, 0x03, 0x01, 0x00, 0x0F, 0x84, + 0x04, 0x03, 0x80, 0x60, 0x18, 0x0C, 0x06, 0x03, 0x03, 0x03, 0x1E, 0x00, + 0x01, 0x83, 0x87, 0x07, 0x03, 0x03, 0x73, 0xCD, 0x86, 0xC3, 0x61, 0xB1, + 0x88, 0xC3, 0xC0, 0x7F, 0x40, 0x80, 0x80, 0x40, 0x40, 0x60, 0x20, 0x20, + 0x10, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x19, 0xCC, 0x66, 0x33, 0xB0, 0xE0, + 0x50, 0xCC, 0xC3, 0x61, 0xB0, 0xCC, 0xC3, 0xC0, 0x0E, 0x19, 0x8C, 0x6C, + 0x36, 0x1B, 0x0D, 0x86, 0xE6, 0x3F, 0x03, 0x03, 0x06, 0x0C, 0x00, 0x33, + 0x00, 0x00, 0xCC, 0x33, 0x00, 0x00, 0x44, 0x48, 0x01, 0x83, 0x86, 0x1C, + 0x0C, 0x03, 0x80, 0x30, 0x07, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x00, 0x0F, + 0xF8, 0xC0, 0x1C, 0x03, 0x80, 0x70, 0x18, 0x38, 0x70, 0xC0, 0x80, 0x00, + 0x3C, 0x8C, 0x18, 0x30, 0xC3, 0x0C, 0x20, 0x40, 0x80, 0x06, 0x00, 0x0F, + 0xC0, 0xC3, 0x0C, 0x04, 0xC7, 0xBC, 0x64, 0xE2, 0x27, 0x31, 0x39, 0x91, + 0xCC, 0x93, 0x3B, 0x0E, 0x00, 0x1F, 0x80, 0x01, 0x00, 0x60, 0x14, 0x04, + 0xC0, 0x98, 0x23, 0x07, 0xE1, 0x04, 0x20, 0x88, 0x1B, 0x8F, 0x80, 0x3F, + 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3E, 0x04, 0x61, 0x86, 0x30, 0xC4, + 0x19, 0x86, 0x7F, 0x80, 0x07, 0x91, 0x86, 0x30, 0x26, 0x02, 0x60, 0x0C, + 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x61, 0x83, 0xE0, 0x3F, 0xC0, + 0x63, 0x82, 0x0C, 0x30, 0x31, 0x81, 0x8C, 0x0C, 0x40, 0x66, 0x07, 0x30, + 0x31, 0x03, 0x18, 0x71, 0xFE, 0x00, 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, + 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, 0x30, 0x02, 0x04, 0x60, 0x8F, 0xF8, + 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, + 0x30, 0x02, 0x00, 0x60, 0x0F, 0x80, 0x07, 0x91, 0x87, 0x30, 0x26, 0x02, + 0x60, 0x0C, 0x00, 0xC1, 0xFC, 0x0C, 0xC0, 0xCC, 0x0C, 0x60, 0x83, 0xF0, + 0x3E, 0x3C, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x18, 0x30, 0x7F, 0x81, 0x06, + 0x0C, 0x18, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x3C, 0x78, 0x1E, 0x18, 0x20, + 0xC1, 0x83, 0x04, 0x18, 0x30, 0x41, 0x87, 0x80, 0x0F, 0x81, 0x80, 0x80, + 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x04, 0x36, 0x1E, 0x00, 0x3E, 0x78, + 0x61, 0x82, 0x10, 0x31, 0x01, 0xB0, 0x0E, 0x00, 0x58, 0x06, 0x60, 0x33, + 0x01, 0x0C, 0x18, 0x61, 0xE7, 0xC0, 0x3E, 0x01, 0x80, 0x20, 0x0C, 0x01, + 0x80, 0x30, 0x04, 0x01, 0x80, 0x30, 0x04, 0x0D, 0x83, 0x7F, 0xE0, 0x1C, + 0x07, 0x0C, 0x0E, 0x0C, 0x14, 0x14, 0x1C, 0x14, 0x2C, 0x16, 0x4C, 0x26, + 0x48, 0x26, 0x98, 0x27, 0x18, 0x27, 0x10, 0x42, 0x30, 0xF4, 0x7C, 0x38, + 0x78, 0x60, 0x83, 0x04, 0x2C, 0x41, 0x22, 0x09, 0x10, 0x4D, 0x84, 0x28, + 0x21, 0x41, 0x06, 0x10, 0x21, 0xE1, 0x00, 0x07, 0x83, 0x18, 0xC1, 0xB0, + 0x36, 0x07, 0xC0, 0xF0, 0x3E, 0x06, 0xC0, 0xD8, 0x31, 0x8C, 0x1E, 0x00, + 0x3F, 0xC1, 0x9C, 0x21, 0x8C, 0x31, 0x86, 0x31, 0x87, 0xE1, 0x80, 0x30, + 0x04, 0x01, 0x80, 0x78, 0x00, 0x07, 0x83, 0x18, 0xC1, 0x98, 0x36, 0x07, + 0xC0, 0xF0, 0x1E, 0x06, 0xC0, 0xD8, 0x31, 0x04, 0x13, 0x01, 0x80, 0x70, + 0xB7, 0xE0, 0x3F, 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3F, 0x04, 0xC1, + 0x98, 0x31, 0x84, 0x31, 0x86, 0x78, 0x70, 0x1E, 0x4C, 0x63, 0x08, 0xC0, + 0x38, 0x07, 0x00, 0x60, 0x0C, 0x43, 0x10, 0xC6, 0x62, 0x70, 0x7F, 0xE9, + 0x8E, 0x31, 0x04, 0x01, 0x80, 0x30, 0x06, 0x00, 0x80, 0x30, 0x06, 0x00, + 0x80, 0x7E, 0x00, 0x7C, 0xF3, 0x02, 0x30, 0x46, 0x04, 0x60, 0x46, 0x04, + 0x40, 0x8C, 0x08, 0xC0, 0x8C, 0x10, 0xE3, 0x03, 0xC0, 0xF8, 0xEC, 0x0C, + 0x81, 0x18, 0x43, 0x08, 0x62, 0x0C, 0x81, 0x90, 0x14, 0x03, 0x00, 0x60, + 0x08, 0x00, 0xFB, 0xCE, 0x43, 0x0C, 0x86, 0x11, 0x8C, 0x43, 0x38, 0x86, + 0xB2, 0x0D, 0x24, 0x1C, 0x50, 0x38, 0xA0, 0x21, 0x80, 0x42, 0x01, 0x04, + 0x00, 0x3E, 0x71, 0x82, 0x0C, 0x40, 0xC8, 0x07, 0x00, 0x60, 0x06, 0x00, + 0xB0, 0x13, 0x02, 0x18, 0x61, 0x8F, 0x3E, 0xF9, 0xC8, 0x23, 0x10, 0xC8, + 0x34, 0x05, 0x01, 0x80, 0x40, 0x30, 0x0C, 0x03, 0x03, 0xE0, 0x3F, 0xE4, + 0x19, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x40, 0x18, 0x06, 0x05, + 0x81, 0x7F, 0xE0, 0x0E, 0x10, 0x20, 0x81, 0x02, 0x04, 0x10, 0x20, 0x40, + 0x82, 0x04, 0x08, 0x1C, 0x00, 0x81, 0x04, 0x18, 0x20, 0xC1, 0x04, 0x08, + 0x20, 0x41, 0x38, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0xC2, 0x08, 0x20, + 0x8C, 0x00, 0x18, 0x18, 0x2C, 0x24, 0x46, 0x42, 0x83, 0xFF, 0x80, 0xD8, + 0x80, 0x1F, 0x98, 0x98, 0x4C, 0x2C, 0x36, 0x33, 0x3A, 0xEE, 0x38, 0x08, + 0x04, 0x02, 0x03, 0x71, 0xCC, 0xC6, 0xC3, 0x63, 0x21, 0x93, 0x8F, 0x00, + 0x1F, 0x33, 0x60, 0xC0, 0xC0, 0xC0, 0xC4, 0x78, 0x01, 0x80, 0x40, 0x60, + 0x20, 0xF1, 0x89, 0x8C, 0xC4, 0xC2, 0x63, 0x33, 0xAE, 0xE0, 0x0E, 0x65, + 0x8B, 0x2F, 0x98, 0x31, 0x3C, 0x01, 0xE0, 0x40, 0x08, 0x02, 0x00, 0x40, + 0x3E, 0x03, 0x00, 0x40, 0x08, 0x01, 0x00, 0x60, 0x0C, 0x01, 0x00, 0x20, + 0x04, 0x01, 0x00, 0xC0, 0x00, 0x1E, 0x19, 0xD8, 0xCC, 0xE1, 0xC3, 0x01, + 0xE0, 0xBC, 0x82, 0x41, 0x31, 0x0F, 0x00, 0x38, 0x08, 0x04, 0x02, 0x03, + 0x39, 0x6C, 0xC6, 0x46, 0x63, 0x21, 0x11, 0xB8, 0xE0, 0x30, 0x00, 0xE2, + 0x44, 0xC8, 0xCE, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x83, 0x04, 0x08, 0x10, + 0x60, 0x81, 0x02, 0x04, 0x70, 0x38, 0x10, 0x10, 0x10, 0x37, 0x22, 0x24, + 0x38, 0x78, 0x48, 0x4D, 0xC6, 0x73, 0x32, 0x26, 0x64, 0x4C, 0xDE, 0x77, + 0x39, 0x5E, 0xCC, 0xCC, 0xCE, 0x66, 0x62, 0x22, 0x11, 0x11, 0xB9, 0x8E, + 0x77, 0x3B, 0x33, 0x62, 0x62, 0x42, 0x4D, 0xCE, 0x0F, 0x18, 0xD8, 0x7C, + 0x3C, 0x3E, 0x1B, 0x18, 0xF0, 0x3B, 0x87, 0x31, 0x8C, 0x43, 0x31, 0x88, + 0x62, 0x30, 0xF0, 0x60, 0x10, 0x04, 0x03, 0x80, 0x0F, 0x18, 0x98, 0x4C, + 0x2C, 0x26, 0x33, 0x38, 0xEC, 0x04, 0x02, 0x03, 0x03, 0xC0, 0x76, 0x50, + 0xC1, 0x06, 0x08, 0x10, 0x60, 0x1A, 0x6C, 0xC8, 0xC0, 0xD1, 0xB3, 0x5C, + 0x23, 0xC8, 0xC4, 0x21, 0x18, 0xE0, 0xC3, 0x42, 0x42, 0xC6, 0x86, 0x8C, + 0x9D, 0xEE, 0x62, 0xC4, 0x89, 0xA3, 0x47, 0x0C, 0x10, 0xE2, 0x2C, 0x44, + 0xD8, 0x9D, 0x23, 0xA4, 0x65, 0x0C, 0xC1, 0x10, 0x19, 0x95, 0x43, 0x01, + 0x80, 0xC0, 0xA0, 0x91, 0x8E, 0x70, 0x88, 0x46, 0x23, 0x20, 0x90, 0x50, + 0x28, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x3F, 0x42, 0x04, 0x08, 0x10, + 0x20, 0x40, 0x72, 0x0E, 0x08, 0x61, 0x04, 0x30, 0x86, 0x08, 0x61, 0x04, + 0x30, 0xC3, 0x8F, 0x00, 0xFF, 0xF0, 0x1E, 0x0C, 0x10, 0x20, 0xC1, 0x82, + 0x04, 0x1C, 0x30, 0x40, 0x83, 0x04, 0x08, 0x20, 0x60, 0x99, 0x8E }; + +const GFXglyph FreeSerifItalic9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' + { 0, 4, 12, 6, 1, -11 }, // 0x21 '!' + { 6, 5, 4, 6, 3, -11 }, // 0x22 '"' + { 9, 10, 12, 9, 0, -11 }, // 0x23 '#' + { 24, 9, 15, 9, 1, -12 }, // 0x24 '$' + { 41, 14, 12, 15, 1, -11 }, // 0x25 '%' + { 62, 12, 12, 14, 1, -11 }, // 0x26 '&' + { 80, 2, 4, 4, 3, -11 }, // 0x27 ''' + { 81, 6, 15, 6, 1, -11 }, // 0x28 '(' + { 93, 6, 15, 6, 0, -11 }, // 0x29 ')' + { 105, 6, 8, 9, 3, -11 }, // 0x2A '*' + { 111, 9, 9, 12, 1, -8 }, // 0x2B '+' + { 122, 2, 4, 5, 0, -1 }, // 0x2C ',' + { 123, 4, 1, 6, 1, -3 }, // 0x2D '-' + { 124, 2, 2, 5, 0, -1 }, // 0x2E '.' + { 125, 8, 12, 5, 0, -11 }, // 0x2F '/' + { 137, 9, 13, 9, 1, -12 }, // 0x30 '0' + { 152, 6, 13, 9, 1, -12 }, // 0x31 '1' + { 162, 8, 12, 9, 1, -11 }, // 0x32 '2' + { 174, 9, 12, 9, 0, -11 }, // 0x33 '3' + { 188, 9, 12, 9, 0, -11 }, // 0x34 '4' + { 202, 9, 12, 9, 0, -11 }, // 0x35 '5' + { 216, 9, 13, 9, 1, -12 }, // 0x36 '6' + { 231, 9, 12, 9, 1, -11 }, // 0x37 '7' + { 245, 9, 13, 9, 1, -12 }, // 0x38 '8' + { 260, 9, 13, 9, 0, -12 }, // 0x39 '9' + { 275, 4, 8, 4, 1, -7 }, // 0x3A ':' + { 279, 4, 10, 4, 1, -7 }, // 0x3B ';' + { 284, 9, 9, 10, 1, -8 }, // 0x3C '<' + { 295, 9, 5, 12, 2, -6 }, // 0x3D '=' + { 301, 9, 9, 10, 1, -8 }, // 0x3E '>' + { 312, 7, 12, 8, 2, -11 }, // 0x3F '?' + { 323, 13, 12, 14, 1, -11 }, // 0x40 '@' + { 343, 11, 11, 12, 0, -10 }, // 0x41 'A' + { 359, 11, 12, 11, 0, -11 }, // 0x42 'B' + { 376, 12, 12, 11, 1, -11 }, // 0x43 'C' + { 394, 13, 12, 13, 0, -11 }, // 0x44 'D' + { 414, 12, 12, 10, 0, -11 }, // 0x45 'E' + { 432, 12, 12, 10, 0, -11 }, // 0x46 'F' + { 450, 12, 12, 12, 1, -11 }, // 0x47 'G' + { 468, 14, 12, 13, 0, -11 }, // 0x48 'H' + { 489, 7, 12, 6, 0, -11 }, // 0x49 'I' + { 500, 9, 12, 8, 0, -11 }, // 0x4A 'J' + { 514, 13, 12, 12, 0, -11 }, // 0x4B 'K' + { 534, 11, 12, 10, 0, -11 }, // 0x4C 'L' + { 551, 16, 12, 15, 0, -11 }, // 0x4D 'M' + { 575, 13, 12, 12, 0, -11 }, // 0x4E 'N' + { 595, 11, 12, 12, 1, -11 }, // 0x4F 'O' + { 612, 11, 12, 10, 0, -11 }, // 0x50 'P' + { 629, 11, 15, 12, 1, -11 }, // 0x51 'Q' + { 650, 11, 12, 11, 0, -11 }, // 0x52 'R' + { 667, 10, 12, 8, 0, -11 }, // 0x53 'S' + { 682, 11, 12, 11, 2, -11 }, // 0x54 'T' + { 699, 12, 12, 13, 2, -11 }, // 0x55 'U' + { 717, 11, 12, 12, 2, -11 }, // 0x56 'V' + { 734, 15, 12, 16, 2, -11 }, // 0x57 'W' + { 757, 12, 12, 12, 0, -11 }, // 0x58 'X' + { 775, 10, 12, 11, 2, -11 }, // 0x59 'Y' + { 790, 11, 12, 10, 0, -11 }, // 0x5A 'Z' + { 807, 7, 15, 7, 0, -11 }, // 0x5B '[' + { 821, 6, 12, 9, 2, -11 }, // 0x5C '\' + { 830, 6, 15, 7, 1, -11 }, // 0x5D ']' + { 842, 8, 7, 8, 0, -11 }, // 0x5E '^' + { 849, 9, 1, 9, 0, 2 }, // 0x5F '_' + { 851, 3, 3, 5, 2, -11 }, // 0x60 '`' + { 853, 9, 8, 9, 0, -7 }, // 0x61 'a' + { 862, 9, 12, 9, 0, -11 }, // 0x62 'b' + { 876, 8, 8, 7, 0, -7 }, // 0x63 'c' + { 884, 9, 12, 9, 0, -11 }, // 0x64 'd' + { 898, 7, 8, 7, 0, -7 }, // 0x65 'e' + { 905, 11, 17, 8, -1, -12 }, // 0x66 'f' + { 929, 9, 12, 8, 0, -7 }, // 0x67 'g' + { 943, 9, 12, 9, 0, -11 }, // 0x68 'h' + { 957, 4, 12, 4, 1, -11 }, // 0x69 'i' + { 963, 7, 16, 5, -1, -11 }, // 0x6A 'j' + { 977, 8, 12, 8, 0, -11 }, // 0x6B 'k' + { 989, 4, 12, 5, 1, -11 }, // 0x6C 'l' + { 995, 13, 8, 13, 0, -7 }, // 0x6D 'm' + { 1008, 8, 8, 9, 0, -7 }, // 0x6E 'n' + { 1016, 9, 8, 9, 0, -7 }, // 0x6F 'o' + { 1025, 10, 12, 8, -1, -7 }, // 0x70 'p' + { 1040, 9, 12, 9, 0, -7 }, // 0x71 'q' + { 1054, 7, 8, 7, 0, -7 }, // 0x72 'r' + { 1061, 7, 8, 6, 0, -7 }, // 0x73 's' + { 1068, 5, 9, 4, 0, -8 }, // 0x74 't' + { 1074, 8, 8, 9, 1, -7 }, // 0x75 'u' + { 1082, 7, 8, 8, 1, -7 }, // 0x76 'v' + { 1089, 11, 8, 12, 1, -7 }, // 0x77 'w' + { 1100, 9, 8, 8, -1, -7 }, // 0x78 'x' + { 1109, 9, 12, 9, 0, -7 }, // 0x79 'y' + { 1123, 8, 9, 7, 0, -7 }, // 0x7A 'z' + { 1132, 6, 15, 7, 1, -11 }, // 0x7B '{' + { 1144, 1, 12, 5, 2, -11 }, // 0x7C '|' + { 1146, 7, 16, 7, 0, -12 }, // 0x7D '}' + { 1160, 8, 3, 10, 1, -5 } }; // 0x7E '~' + +const GFXfont FreeSerifItalic9pt7b PROGMEM = { + (uint8_t *)FreeSerifItalic9pt7bBitmaps, + (GFXglyph *)FreeSerifItalic9pt7bGlyphs, + 0x20, 0x7E, 22 }; + +// Approx. 1835 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h new file mode 100644 index 0000000..ac41f31 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h @@ -0,0 +1,131 @@ +// Org_v01 by Orgdot (www.orgdot.com/aliasfonts). A tiny, +// stylized font with all characters within a 6 pixel height. + +const uint8_t Org_01Bitmaps[] PROGMEM = { + 0xE8, 0xA0, 0x57, 0xD5, 0xF5, 0x00, 0xFD, 0x3E, 0x5F, 0x80, 0x88, 0x88, + 0x88, 0x80, 0xF4, 0xBF, 0x2E, 0x80, 0x80, 0x6A, 0x40, 0x95, 0x80, 0xAA, + 0x80, 0x5D, 0x00, 0xC0, 0xF0, 0x80, 0x08, 0x88, 0x88, 0x00, 0xFC, 0x63, + 0x1F, 0x80, 0xF8, 0xF8, 0x7F, 0x0F, 0x80, 0xF8, 0x7E, 0x1F, 0x80, 0x8C, + 0x7E, 0x10, 0x80, 0xFC, 0x3E, 0x1F, 0x80, 0xFC, 0x3F, 0x1F, 0x80, 0xF8, + 0x42, 0x10, 0x80, 0xFC, 0x7F, 0x1F, 0x80, 0xFC, 0x7E, 0x1F, 0x80, 0x90, + 0xB0, 0x2A, 0x22, 0xF0, 0xF0, 0x88, 0xA8, 0xF8, 0x4E, 0x02, 0x00, 0xFD, + 0x6F, 0x0F, 0x80, 0xFC, 0x7F, 0x18, 0x80, 0xF4, 0x7D, 0x1F, 0x00, 0xFC, + 0x21, 0x0F, 0x80, 0xF4, 0x63, 0x1F, 0x00, 0xFC, 0x3F, 0x0F, 0x80, 0xFC, + 0x3F, 0x08, 0x00, 0xFC, 0x2F, 0x1F, 0x80, 0x8C, 0x7F, 0x18, 0x80, 0xF9, + 0x08, 0x4F, 0x80, 0x78, 0x85, 0x2F, 0x80, 0x8D, 0xB1, 0x68, 0x80, 0x84, + 0x21, 0x0F, 0x80, 0xFD, 0x6B, 0x5A, 0x80, 0xFC, 0x63, 0x18, 0x80, 0xFC, + 0x63, 0x1F, 0x80, 0xFC, 0x7F, 0x08, 0x00, 0xFC, 0x63, 0x3F, 0x80, 0xFC, + 0x7F, 0x29, 0x00, 0xFC, 0x3E, 0x1F, 0x80, 0xF9, 0x08, 0x42, 0x00, 0x8C, + 0x63, 0x1F, 0x80, 0x8C, 0x62, 0xA2, 0x00, 0xAD, 0x6B, 0x5F, 0x80, 0x8A, + 0x88, 0xA8, 0x80, 0x8C, 0x54, 0x42, 0x00, 0xF8, 0x7F, 0x0F, 0x80, 0xEA, + 0xC0, 0x82, 0x08, 0x20, 0x80, 0xD5, 0xC0, 0x54, 0xF8, 0x80, 0xF1, 0xFF, + 0x8F, 0x99, 0xF0, 0xF8, 0x8F, 0x1F, 0x99, 0xF0, 0xFF, 0x8F, 0x6B, 0xA4, + 0xF9, 0x9F, 0x10, 0x8F, 0x99, 0x90, 0xF0, 0x55, 0xC0, 0x8A, 0xF9, 0x90, + 0xF8, 0xFD, 0x63, 0x10, 0xF9, 0x99, 0xF9, 0x9F, 0xF9, 0x9F, 0x80, 0xF9, + 0x9F, 0x20, 0xF8, 0x88, 0x47, 0x1F, 0x27, 0xC8, 0x42, 0x00, 0x99, 0x9F, + 0x99, 0x97, 0x8C, 0x6B, 0xF0, 0x96, 0x69, 0x99, 0x9F, 0x10, 0x2E, 0x8F, + 0x2B, 0x22, 0xF8, 0x89, 0xA8, 0x0F, 0xE0 }; + +const GFXglyph Org_01Glyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' + { 1, 3, 1, 4, 0, -4 }, // 0x22 '"' + { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' + { 6, 5, 5, 6, 0, -4 }, // 0x24 '$' + { 10, 5, 5, 6, 0, -4 }, // 0x25 '%' + { 14, 5, 5, 6, 0, -4 }, // 0x26 '&' + { 18, 1, 1, 2, 0, -4 }, // 0x27 ''' + { 19, 2, 5, 3, 0, -4 }, // 0x28 '(' + { 21, 2, 5, 3, 0, -4 }, // 0x29 ')' + { 23, 3, 3, 4, 0, -3 }, // 0x2A '*' + { 25, 3, 3, 4, 0, -3 }, // 0x2B '+' + { 27, 1, 2, 2, 0, 0 }, // 0x2C ',' + { 28, 4, 1, 5, 0, -2 }, // 0x2D '-' + { 29, 1, 1, 2, 0, 0 }, // 0x2E '.' + { 30, 5, 5, 6, 0, -4 }, // 0x2F '/' + { 34, 5, 5, 6, 0, -4 }, // 0x30 '0' + { 38, 1, 5, 2, 0, -4 }, // 0x31 '1' + { 39, 5, 5, 6, 0, -4 }, // 0x32 '2' + { 43, 5, 5, 6, 0, -4 }, // 0x33 '3' + { 47, 5, 5, 6, 0, -4 }, // 0x34 '4' + { 51, 5, 5, 6, 0, -4 }, // 0x35 '5' + { 55, 5, 5, 6, 0, -4 }, // 0x36 '6' + { 59, 5, 5, 6, 0, -4 }, // 0x37 '7' + { 63, 5, 5, 6, 0, -4 }, // 0x38 '8' + { 67, 5, 5, 6, 0, -4 }, // 0x39 '9' + { 71, 1, 4, 2, 0, -3 }, // 0x3A ':' + { 72, 1, 4, 2, 0, -3 }, // 0x3B ';' + { 73, 3, 5, 4, 0, -4 }, // 0x3C '<' + { 75, 4, 3, 5, 0, -3 }, // 0x3D '=' + { 77, 3, 5, 4, 0, -4 }, // 0x3E '>' + { 79, 5, 5, 6, 0, -4 }, // 0x3F '?' + { 83, 5, 5, 6, 0, -4 }, // 0x40 '@' + { 87, 5, 5, 6, 0, -4 }, // 0x41 'A' + { 91, 5, 5, 6, 0, -4 }, // 0x42 'B' + { 95, 5, 5, 6, 0, -4 }, // 0x43 'C' + { 99, 5, 5, 6, 0, -4 }, // 0x44 'D' + { 103, 5, 5, 6, 0, -4 }, // 0x45 'E' + { 107, 5, 5, 6, 0, -4 }, // 0x46 'F' + { 111, 5, 5, 6, 0, -4 }, // 0x47 'G' + { 115, 5, 5, 6, 0, -4 }, // 0x48 'H' + { 119, 5, 5, 6, 0, -4 }, // 0x49 'I' + { 123, 5, 5, 6, 0, -4 }, // 0x4A 'J' + { 127, 5, 5, 6, 0, -4 }, // 0x4B 'K' + { 131, 5, 5, 6, 0, -4 }, // 0x4C 'L' + { 135, 5, 5, 6, 0, -4 }, // 0x4D 'M' + { 139, 5, 5, 6, 0, -4 }, // 0x4E 'N' + { 143, 5, 5, 6, 0, -4 }, // 0x4F 'O' + { 147, 5, 5, 6, 0, -4 }, // 0x50 'P' + { 151, 5, 5, 6, 0, -4 }, // 0x51 'Q' + { 155, 5, 5, 6, 0, -4 }, // 0x52 'R' + { 159, 5, 5, 6, 0, -4 }, // 0x53 'S' + { 163, 5, 5, 6, 0, -4 }, // 0x54 'T' + { 167, 5, 5, 6, 0, -4 }, // 0x55 'U' + { 171, 5, 5, 6, 0, -4 }, // 0x56 'V' + { 175, 5, 5, 6, 0, -4 }, // 0x57 'W' + { 179, 5, 5, 6, 0, -4 }, // 0x58 'X' + { 183, 5, 5, 6, 0, -4 }, // 0x59 'Y' + { 187, 5, 5, 6, 0, -4 }, // 0x5A 'Z' + { 191, 2, 5, 3, 0, -4 }, // 0x5B '[' + { 193, 5, 5, 6, 0, -4 }, // 0x5C '\' + { 197, 2, 5, 3, 0, -4 }, // 0x5D ']' + { 199, 3, 2, 4, 0, -4 }, // 0x5E '^' + { 200, 5, 1, 6, 0, 1 }, // 0x5F '_' + { 201, 1, 1, 2, 0, -4 }, // 0x60 '`' + { 202, 4, 4, 5, 0, -3 }, // 0x61 'a' + { 204, 4, 5, 5, 0, -4 }, // 0x62 'b' + { 207, 4, 4, 5, 0, -3 }, // 0x63 'c' + { 209, 4, 5, 5, 0, -4 }, // 0x64 'd' + { 212, 4, 4, 5, 0, -3 }, // 0x65 'e' + { 214, 3, 5, 4, 0, -4 }, // 0x66 'f' + { 216, 4, 5, 5, 0, -3 }, // 0x67 'g' + { 219, 4, 5, 5, 0, -4 }, // 0x68 'h' + { 222, 1, 4, 2, 0, -3 }, // 0x69 'i' + { 223, 2, 5, 3, 0, -3 }, // 0x6A 'j' + { 225, 4, 5, 5, 0, -4 }, // 0x6B 'k' + { 228, 1, 5, 2, 0, -4 }, // 0x6C 'l' + { 229, 5, 4, 6, 0, -3 }, // 0x6D 'm' + { 232, 4, 4, 5, 0, -3 }, // 0x6E 'n' + { 234, 4, 4, 5, 0, -3 }, // 0x6F 'o' + { 236, 4, 5, 5, 0, -3 }, // 0x70 'p' + { 239, 4, 5, 5, 0, -3 }, // 0x71 'q' + { 242, 4, 4, 5, 0, -3 }, // 0x72 'r' + { 244, 4, 4, 5, 0, -3 }, // 0x73 's' + { 246, 5, 5, 6, 0, -4 }, // 0x74 't' + { 250, 4, 4, 5, 0, -3 }, // 0x75 'u' + { 252, 4, 4, 5, 0, -3 }, // 0x76 'v' + { 254, 5, 4, 6, 0, -3 }, // 0x77 'w' + { 257, 4, 4, 5, 0, -3 }, // 0x78 'x' + { 259, 4, 5, 5, 0, -3 }, // 0x79 'y' + { 262, 4, 4, 5, 0, -3 }, // 0x7A 'z' + { 264, 3, 5, 4, 0, -4 }, // 0x7B '{' + { 266, 1, 5, 2, 0, -4 }, // 0x7C '|' + { 267, 3, 5, 4, 0, -4 }, // 0x7D '}' + { 269, 5, 3, 6, 0, -3 } }; // 0x7E '~' + +const GFXfont Org_01 PROGMEM = { + (uint8_t *)Org_01Bitmaps, + (GFXglyph *)Org_01Glyphs, + 0x20, 0x7E, 7 }; + +// Approx. 943 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h new file mode 100644 index 0000000..0ed6543 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h @@ -0,0 +1,123 @@ +// Picopixel by Sebastian Weber. A tiny font +// with all characters within a 6 pixel height. + +const uint8_t PicopixelBitmaps[] PROGMEM = { + 0xE8, 0xB4, 0x57, 0xD5, 0xF5, 0x00, 0x4E, 0x3E, 0x80, 0xA5, 0x4A, 0x4A, + 0x5A, 0x50, 0xC0, 0x6A, 0x40, 0x95, 0x80, 0xAA, 0x80, 0x5D, 0x00, 0x60, + 0xE0, 0x80, 0x25, 0x48, 0x56, 0xD4, 0x75, 0x40, 0xC5, 0x4E, 0xC5, 0x1C, + 0x97, 0x92, 0xF3, 0x1C, 0x53, 0x54, 0xE5, 0x48, 0x55, 0x54, 0x55, 0x94, + 0xA0, 0x46, 0x64, 0xE3, 0x80, 0x98, 0xC5, 0x04, 0x56, 0xC6, 0x57, 0xDA, + 0xD7, 0x5C, 0x72, 0x46, 0xD6, 0xDC, 0xF3, 0xCE, 0xF3, 0x48, 0x72, 0xD4, + 0xB7, 0xDA, 0xF8, 0x24, 0xD4, 0xBB, 0x5A, 0x92, 0x4E, 0x8E, 0xEB, 0x58, + 0x80, 0x9D, 0xB9, 0x90, 0x56, 0xD4, 0xD7, 0x48, 0x56, 0xD4, 0x40, 0xD7, + 0x5A, 0x71, 0x1C, 0xE9, 0x24, 0xB6, 0xD4, 0xB6, 0xA4, 0x8C, 0x6B, 0x55, + 0x00, 0xB5, 0x5A, 0xB5, 0x24, 0xE5, 0x4E, 0xEA, 0xC0, 0x91, 0x12, 0xD5, + 0xC0, 0x54, 0xF0, 0x90, 0xC7, 0xF0, 0x93, 0x5E, 0x71, 0x80, 0x25, 0xDE, + 0x5E, 0x30, 0x6E, 0x80, 0x77, 0x9C, 0x93, 0x5A, 0xB8, 0x45, 0x60, 0x92, + 0xEA, 0xAA, 0x40, 0xD5, 0x6A, 0xD6, 0x80, 0x55, 0x00, 0xD7, 0x40, 0x75, + 0x90, 0xE8, 0x71, 0xE0, 0xBA, 0x40, 0xB5, 0x80, 0xB5, 0x00, 0x8D, 0x54, + 0xAA, 0x80, 0xAC, 0xE0, 0xE5, 0x70, 0x6A, 0x26, 0xFC, 0xC8, 0xAC, 0x5A }; + +const GFXglyph PicopixelGlyphs[] PROGMEM = { + { 0, 0, 0, 2, 0, 1 }, // 0x20 ' ' + { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' + { 1, 3, 2, 4, 0, -4 }, // 0x22 '"' + { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' + { 6, 3, 6, 4, 0, -4 }, // 0x24 '$' + { 9, 3, 5, 4, 0, -4 }, // 0x25 '%' + { 11, 4, 5, 5, 0, -4 }, // 0x26 '&' + { 14, 1, 2, 2, 0, -4 }, // 0x27 ''' + { 15, 2, 5, 3, 0, -4 }, // 0x28 '(' + { 17, 2, 5, 3, 0, -4 }, // 0x29 ')' + { 19, 3, 3, 4, 0, -3 }, // 0x2A '*' + { 21, 3, 3, 4, 0, -3 }, // 0x2B '+' + { 23, 2, 2, 3, 0, 0 }, // 0x2C ',' + { 24, 3, 1, 4, 0, -2 }, // 0x2D '-' + { 25, 1, 1, 2, 0, 0 }, // 0x2E '.' + { 26, 3, 5, 4, 0, -4 }, // 0x2F '/' + { 28, 3, 5, 4, 0, -4 }, // 0x30 '0' + { 30, 2, 5, 3, 0, -4 }, // 0x31 '1' + { 32, 3, 5, 4, 0, -4 }, // 0x32 '2' + { 34, 3, 5, 4, 0, -4 }, // 0x33 '3' + { 36, 3, 5, 4, 0, -4 }, // 0x34 '4' + { 38, 3, 5, 4, 0, -4 }, // 0x35 '5' + { 40, 3, 5, 4, 0, -4 }, // 0x36 '6' + { 42, 3, 5, 4, 0, -4 }, // 0x37 '7' + { 44, 3, 5, 4, 0, -4 }, // 0x38 '8' + { 46, 3, 5, 4, 0, -4 }, // 0x39 '9' + { 48, 1, 3, 2, 0, -3 }, // 0x3A ':' + { 49, 2, 4, 3, 0, -3 }, // 0x3B ';' + { 50, 2, 3, 3, 0, -3 }, // 0x3C '<' + { 51, 3, 3, 4, 0, -3 }, // 0x3D '=' + { 53, 2, 3, 3, 0, -3 }, // 0x3E '>' + { 54, 3, 5, 4, 0, -4 }, // 0x3F '?' + { 56, 3, 5, 4, 0, -4 }, // 0x40 '@' + { 58, 3, 5, 4, 0, -4 }, // 0x41 'A' + { 60, 3, 5, 4, 0, -4 }, // 0x42 'B' + { 62, 3, 5, 4, 0, -4 }, // 0x43 'C' + { 64, 3, 5, 4, 0, -4 }, // 0x44 'D' + { 66, 3, 5, 4, 0, -4 }, // 0x45 'E' + { 68, 3, 5, 4, 0, -4 }, // 0x46 'F' + { 70, 3, 5, 4, 0, -4 }, // 0x47 'G' + { 72, 3, 5, 4, 0, -4 }, // 0x48 'H' + { 74, 1, 5, 2, 0, -4 }, // 0x49 'I' + { 75, 3, 5, 4, 0, -4 }, // 0x4A 'J' + { 77, 3, 5, 4, 0, -4 }, // 0x4B 'K' + { 79, 3, 5, 4, 0, -4 }, // 0x4C 'L' + { 81, 5, 5, 6, 0, -4 }, // 0x4D 'M' + { 85, 4, 5, 5, 0, -4 }, // 0x4E 'N' + { 88, 3, 5, 4, 0, -4 }, // 0x4F 'O' + { 90, 3, 5, 4, 0, -4 }, // 0x50 'P' + { 92, 3, 6, 4, 0, -4 }, // 0x51 'Q' + { 95, 3, 5, 4, 0, -4 }, // 0x52 'R' + { 97, 3, 5, 4, 0, -4 }, // 0x53 'S' + { 99, 3, 5, 4, 0, -4 }, // 0x54 'T' + { 101, 3, 5, 4, 0, -4 }, // 0x55 'U' + { 103, 3, 5, 4, 0, -4 }, // 0x56 'V' + { 105, 5, 5, 6, 0, -4 }, // 0x57 'W' + { 109, 3, 5, 4, 0, -4 }, // 0x58 'X' + { 111, 3, 5, 4, 0, -4 }, // 0x59 'Y' + { 113, 3, 5, 4, 0, -4 }, // 0x5A 'Z' + { 115, 2, 5, 3, 0, -4 }, // 0x5B '[' + { 117, 3, 5, 4, 0, -4 }, // 0x5C '\' + { 119, 2, 5, 3, 0, -4 }, // 0x5D ']' + { 121, 3, 2, 4, 0, -4 }, // 0x5E '^' + { 122, 4, 1, 4, 0, 1 }, // 0x5F '_' + { 123, 2, 2, 3, 0, -4 }, // 0x60 '`' + { 124, 3, 4, 4, 0, -3 }, // 0x61 'a' + { 126, 3, 5, 4, 0, -4 }, // 0x62 'b' + { 128, 3, 3, 4, 0, -2 }, // 0x63 'c' + { 130, 3, 5, 4, 0, -4 }, // 0x64 'd' + { 132, 3, 4, 4, 0, -3 }, // 0x65 'e' + { 134, 2, 5, 3, 0, -4 }, // 0x66 'f' + { 136, 3, 5, 4, 0, -3 }, // 0x67 'g' + { 138, 3, 5, 4, 0, -4 }, // 0x68 'h' + { 140, 1, 5, 2, 0, -4 }, // 0x69 'i' + { 141, 2, 6, 3, 0, -4 }, // 0x6A 'j' + { 143, 3, 5, 4, 0, -4 }, // 0x6B 'k' + { 145, 2, 5, 3, 0, -4 }, // 0x6C 'l' + { 147, 5, 3, 6, 0, -2 }, // 0x6D 'm' + { 149, 3, 3, 4, 0, -2 }, // 0x6E 'n' + { 151, 3, 3, 4, 0, -2 }, // 0x6F 'o' + { 153, 3, 4, 4, 0, -2 }, // 0x70 'p' + { 155, 3, 4, 4, 0, -2 }, // 0x71 'q' + { 157, 2, 3, 3, 0, -2 }, // 0x72 'r' + { 158, 3, 4, 4, 0, -3 }, // 0x73 's' + { 160, 2, 5, 3, 0, -4 }, // 0x74 't' + { 162, 3, 3, 4, 0, -2 }, // 0x75 'u' + { 164, 3, 3, 4, 0, -2 }, // 0x76 'v' + { 166, 5, 3, 6, 0, -2 }, // 0x77 'w' + { 168, 3, 3, 4, 0, -2 }, // 0x78 'x' + { 170, 3, 4, 4, 0, -2 }, // 0x79 'y' + { 172, 3, 4, 4, 0, -3 }, // 0x7A 'z' + { 174, 3, 5, 4, 0, -4 }, // 0x7B '{' + { 176, 1, 6, 2, 0, -4 }, // 0x7C '|' + { 177, 3, 5, 4, 0, -4 }, // 0x7D '}' + { 179, 4, 2, 5, 0, -3 } }; // 0x7E '~' + +const GFXfont Picopixel PROGMEM = { + (uint8_t *)PicopixelBitmaps, + (GFXglyph *)PicopixelGlyphs, + 0x20, 0x7E, 7 }; + +// Approx. 852 bytes diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h new file mode 100644 index 0000000..dad420d --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h @@ -0,0 +1,474 @@ +/** +** The original 3x5 font is licensed under the 3-clause BSD license: +** +** Copyright 1999 Brian J. Swetland +** Copyright 1999 Vassilii Khachaturov +** Portions (of vt100.c/vt100.h) copyright Dan Marks +** +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions +** are met: +** 1. Redistributions of source code must retain the above copyright +** notice, this list of conditions, and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions, and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** 3. The name of the authors may not be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +** Modifications to Tom Thumb for improved readability are from Robey Pointer, +** see: +** http://robey.lag.net/2010/01/23/tiny-monospace-font.html +** +** The original author does not have any objection to relicensing of Robey +** Pointer's modifications (in this file) in a more permissive license. See +** the discussion at the above blog, and also here: +** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license +** +** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font, +** with the help of this Python script: +** https://gist.github.com/skelliam/322d421f028545f16f6d +** William Skellenger (williamj@skellenger.net) +** Twitter: @skelliam +** +*/ + +#define TOMTHUMB_USE_EXTENDED 0 + +const uint8_t TomThumbBitmaps[] PROGMEM = { + 0x00, /* 0x20 space */ + 0x80, 0x80, 0x80, 0x00, 0x80, /* 0x21 exclam */ + 0xA0, 0xA0, /* 0x22 quotedbl */ + 0xA0, 0xE0, 0xA0, 0xE0, 0xA0, /* 0x23 numbersign */ + 0x60, 0xC0, 0x60, 0xC0, 0x40, /* 0x24 dollar */ + 0x80, 0x20, 0x40, 0x80, 0x20, /* 0x25 percent */ + 0xC0, 0xC0, 0xE0, 0xA0, 0x60, /* 0x26 ampersand */ + 0x80, 0x80, /* 0x27 quotesingle */ + 0x40, 0x80, 0x80, 0x80, 0x40, /* 0x28 parenleft */ + 0x80, 0x40, 0x40, 0x40, 0x80, /* 0x29 parenright */ + 0xA0, 0x40, 0xA0, /* 0x2A asterisk */ + 0x40, 0xE0, 0x40, /* 0x2B plus */ + 0x40, 0x80, /* 0x2C comma */ + 0xE0, /* 0x2D hyphen */ + 0x80, /* 0x2E period */ + 0x20, 0x20, 0x40, 0x80, 0x80, /* 0x2F slash */ + 0x60, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x30 zero */ + 0x40, 0xC0, 0x40, 0x40, 0x40, /* 0x31 one */ + 0xC0, 0x20, 0x40, 0x80, 0xE0, /* 0x32 two */ + 0xC0, 0x20, 0x40, 0x20, 0xC0, /* 0x33 three */ + 0xA0, 0xA0, 0xE0, 0x20, 0x20, /* 0x34 four */ + 0xE0, 0x80, 0xC0, 0x20, 0xC0, /* 0x35 five */ + 0x60, 0x80, 0xE0, 0xA0, 0xE0, /* 0x36 six */ + 0xE0, 0x20, 0x40, 0x80, 0x80, /* 0x37 seven */ + 0xE0, 0xA0, 0xE0, 0xA0, 0xE0, /* 0x38 eight */ + 0xE0, 0xA0, 0xE0, 0x20, 0xC0, /* 0x39 nine */ + 0x80, 0x00, 0x80, /* 0x3A colon */ + 0x40, 0x00, 0x40, 0x80, /* 0x3B semicolon */ + 0x20, 0x40, 0x80, 0x40, 0x20, /* 0x3C less */ + 0xE0, 0x00, 0xE0, /* 0x3D equal */ + 0x80, 0x40, 0x20, 0x40, 0x80, /* 0x3E greater */ + 0xE0, 0x20, 0x40, 0x00, 0x40, /* 0x3F question */ + 0x40, 0xA0, 0xE0, 0x80, 0x60, /* 0x40 at */ + 0x40, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x41 A */ + 0xC0, 0xA0, 0xC0, 0xA0, 0xC0, /* 0x42 B */ + 0x60, 0x80, 0x80, 0x80, 0x60, /* 0x43 C */ + 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x44 D */ + 0xE0, 0x80, 0xE0, 0x80, 0xE0, /* 0x45 E */ + 0xE0, 0x80, 0xE0, 0x80, 0x80, /* 0x46 F */ + 0x60, 0x80, 0xE0, 0xA0, 0x60, /* 0x47 G */ + 0xA0, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x48 H */ + 0xE0, 0x40, 0x40, 0x40, 0xE0, /* 0x49 I */ + 0x20, 0x20, 0x20, 0xA0, 0x40, /* 0x4A J */ + 0xA0, 0xA0, 0xC0, 0xA0, 0xA0, /* 0x4B K */ + 0x80, 0x80, 0x80, 0x80, 0xE0, /* 0x4C L */ + 0xA0, 0xE0, 0xE0, 0xA0, 0xA0, /* 0x4D M */ + 0xA0, 0xE0, 0xE0, 0xE0, 0xA0, /* 0x4E N */ + 0x40, 0xA0, 0xA0, 0xA0, 0x40, /* 0x4F O */ + 0xC0, 0xA0, 0xC0, 0x80, 0x80, /* 0x50 P */ + 0x40, 0xA0, 0xA0, 0xE0, 0x60, /* 0x51 Q */ + 0xC0, 0xA0, 0xE0, 0xC0, 0xA0, /* 0x52 R */ + 0x60, 0x80, 0x40, 0x20, 0xC0, /* 0x53 S */ + 0xE0, 0x40, 0x40, 0x40, 0x40, /* 0x54 T */ + 0xA0, 0xA0, 0xA0, 0xA0, 0x60, /* 0x55 U */ + 0xA0, 0xA0, 0xA0, 0x40, 0x40, /* 0x56 V */ + 0xA0, 0xA0, 0xE0, 0xE0, 0xA0, /* 0x57 W */ + 0xA0, 0xA0, 0x40, 0xA0, 0xA0, /* 0x58 X */ + 0xA0, 0xA0, 0x40, 0x40, 0x40, /* 0x59 Y */ + 0xE0, 0x20, 0x40, 0x80, 0xE0, /* 0x5A Z */ + 0xE0, 0x80, 0x80, 0x80, 0xE0, /* 0x5B bracketleft */ + 0x80, 0x40, 0x20, /* 0x5C backslash */ + 0xE0, 0x20, 0x20, 0x20, 0xE0, /* 0x5D bracketright */ + 0x40, 0xA0, /* 0x5E asciicircum */ + 0xE0, /* 0x5F underscore */ + 0x80, 0x40, /* 0x60 grave */ + 0xC0, 0x60, 0xA0, 0xE0, /* 0x61 a */ + 0x80, 0xC0, 0xA0, 0xA0, 0xC0, /* 0x62 b */ + 0x60, 0x80, 0x80, 0x60, /* 0x63 c */ + 0x20, 0x60, 0xA0, 0xA0, 0x60, /* 0x64 d */ + 0x60, 0xA0, 0xC0, 0x60, /* 0x65 e */ + 0x20, 0x40, 0xE0, 0x40, 0x40, /* 0x66 f */ + 0x60, 0xA0, 0xE0, 0x20, 0x40, /* 0x67 g */ + 0x80, 0xC0, 0xA0, 0xA0, 0xA0, /* 0x68 h */ + 0x80, 0x00, 0x80, 0x80, 0x80, /* 0x69 i */ + 0x20, 0x00, 0x20, 0x20, 0xA0, 0x40, /* 0x6A j */ + 0x80, 0xA0, 0xC0, 0xC0, 0xA0, /* 0x6B k */ + 0xC0, 0x40, 0x40, 0x40, 0xE0, /* 0x6C l */ + 0xE0, 0xE0, 0xE0, 0xA0, /* 0x6D m */ + 0xC0, 0xA0, 0xA0, 0xA0, /* 0x6E n */ + 0x40, 0xA0, 0xA0, 0x40, /* 0x6F o */ + 0xC0, 0xA0, 0xA0, 0xC0, 0x80, /* 0x70 p */ + 0x60, 0xA0, 0xA0, 0x60, 0x20, /* 0x71 q */ + 0x60, 0x80, 0x80, 0x80, /* 0x72 r */ + 0x60, 0xC0, 0x60, 0xC0, /* 0x73 s */ + 0x40, 0xE0, 0x40, 0x40, 0x60, /* 0x74 t */ + 0xA0, 0xA0, 0xA0, 0x60, /* 0x75 u */ + 0xA0, 0xA0, 0xE0, 0x40, /* 0x76 v */ + 0xA0, 0xE0, 0xE0, 0xE0, /* 0x77 w */ + 0xA0, 0x40, 0x40, 0xA0, /* 0x78 x */ + 0xA0, 0xA0, 0x60, 0x20, 0x40, /* 0x79 y */ + 0xE0, 0x60, 0xC0, 0xE0, /* 0x7A z */ + 0x60, 0x40, 0x80, 0x40, 0x60, /* 0x7B braceleft */ + 0x80, 0x80, 0x00, 0x80, 0x80, /* 0x7C bar */ + 0xC0, 0x40, 0x20, 0x40, 0xC0, /* 0x7D braceright */ + 0x60, 0xC0, /* 0x7E asciitilde */ +#if (TOMTHUMB_USE_EXTENDED) + 0x80, 0x00, 0x80, 0x80, 0x80, /* 0xA1 exclamdown */ + 0x40, 0xE0, 0x80, 0xE0, 0x40, /* 0xA2 cent */ + 0x60, 0x40, 0xE0, 0x40, 0xE0, /* 0xA3 sterling */ + 0xA0, 0x40, 0xE0, 0x40, 0xA0, /* 0xA4 currency */ + 0xA0, 0xA0, 0x40, 0xE0, 0x40, /* 0xA5 yen */ + 0x80, 0x80, 0x00, 0x80, 0x80, /* 0xA6 brokenbar */ + 0x60, 0x40, 0xA0, 0x40, 0xC0, /* 0xA7 section */ + 0xA0, /* 0xA8 dieresis */ + 0x60, 0x80, 0x60, /* 0xA9 copyright */ + 0x60, 0xA0, 0xE0, 0x00, 0xE0, /* 0xAA ordfeminine */ + 0x40, 0x80, 0x40, /* 0xAB guillemotleft */ + 0xE0, 0x20, /* 0xAC logicalnot */ + 0xC0, /* 0xAD softhyphen */ + 0xC0, 0xC0, 0xA0, /* 0xAE registered */ + 0xE0, /* 0xAF macron */ + 0x40, 0xA0, 0x40, /* 0xB0 degree */ + 0x40, 0xE0, 0x40, 0x00, 0xE0, /* 0xB1 plusminus */ + 0xC0, 0x40, 0x60, /* 0xB2 twosuperior */ + 0xE0, 0x60, 0xE0, /* 0xB3 threesuperior */ + 0x40, 0x80, /* 0xB4 acute */ + 0xA0, 0xA0, 0xA0, 0xC0, 0x80, /* 0xB5 mu */ + 0x60, 0xA0, 0x60, 0x60, 0x60, /* 0xB6 paragraph */ + 0xE0, 0xE0, 0xE0, /* 0xB7 periodcentered */ + 0x40, 0x20, 0xC0, /* 0xB8 cedilla */ + 0x80, 0x80, 0x80, /* 0xB9 onesuperior */ + 0x40, 0xA0, 0x40, 0x00, 0xE0, /* 0xBA ordmasculine */ + 0x80, 0x40, 0x80, /* 0xBB guillemotright */ + 0x80, 0x80, 0x00, 0x60, 0x20, /* 0xBC onequarter */ + 0x80, 0x80, 0x00, 0xC0, 0x60, /* 0xBD onehalf */ + 0xC0, 0xC0, 0x00, 0x60, 0x20, /* 0xBE threequarters */ + 0x40, 0x00, 0x40, 0x80, 0xE0, /* 0xBF questiondown */ + 0x40, 0x20, 0x40, 0xE0, 0xA0, /* 0xC0 Agrave */ + 0x40, 0x80, 0x40, 0xE0, 0xA0, /* 0xC1 Aacute */ + 0xE0, 0x00, 0x40, 0xE0, 0xA0, /* 0xC2 Acircumflex */ + 0x60, 0xC0, 0x40, 0xE0, 0xA0, /* 0xC3 Atilde */ + 0xA0, 0x40, 0xA0, 0xE0, 0xA0, /* 0xC4 Adieresis */ + 0xC0, 0xC0, 0xA0, 0xE0, 0xA0, /* 0xC5 Aring */ + 0x60, 0xC0, 0xE0, 0xC0, 0xE0, /* 0xC6 AE */ + 0x60, 0x80, 0x80, 0x60, 0x20, 0x40, /* 0xC7 Ccedilla */ + 0x40, 0x20, 0xE0, 0xC0, 0xE0, /* 0xC8 Egrave */ + 0x40, 0x80, 0xE0, 0xC0, 0xE0, /* 0xC9 Eacute */ + 0xE0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCA Ecircumflex */ + 0xA0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCB Edieresis */ + 0x40, 0x20, 0xE0, 0x40, 0xE0, /* 0xCC Igrave */ + 0x40, 0x80, 0xE0, 0x40, 0xE0, /* 0xCD Iacute */ + 0xE0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCE Icircumflex */ + 0xA0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCF Idieresis */ + 0xC0, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD0 Eth */ + 0xC0, 0x60, 0xA0, 0xE0, 0xA0, /* 0xD1 Ntilde */ + 0x40, 0x20, 0xE0, 0xA0, 0xE0, /* 0xD2 Ograve */ + 0x40, 0x80, 0xE0, 0xA0, 0xE0, /* 0xD3 Oacute */ + 0xE0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD4 Ocircumflex */ + 0xC0, 0x60, 0xE0, 0xA0, 0xE0, /* 0xD5 Otilde */ + 0xA0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD6 Odieresis */ + 0xA0, 0x40, 0xA0, /* 0xD7 multiply */ + 0x60, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD8 Oslash */ + 0x80, 0x40, 0xA0, 0xA0, 0xE0, /* 0xD9 Ugrave */ + 0x20, 0x40, 0xA0, 0xA0, 0xE0, /* 0xDA Uacute */ + 0xE0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDB Ucircumflex */ + 0xA0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDC Udieresis */ + 0x20, 0x40, 0xA0, 0xE0, 0x40, /* 0xDD Yacute */ + 0x80, 0xE0, 0xA0, 0xE0, 0x80, /* 0xDE Thorn */ + 0x60, 0xA0, 0xC0, 0xA0, 0xC0, 0x80, /* 0xDF germandbls */ + 0x40, 0x20, 0x60, 0xA0, 0xE0, /* 0xE0 agrave */ + 0x40, 0x80, 0x60, 0xA0, 0xE0, /* 0xE1 aacute */ + 0xE0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE2 acircumflex */ + 0x60, 0xC0, 0x60, 0xA0, 0xE0, /* 0xE3 atilde */ + 0xA0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE4 adieresis */ + 0x60, 0x60, 0x60, 0xA0, 0xE0, /* 0xE5 aring */ + 0x60, 0xE0, 0xE0, 0xC0, /* 0xE6 ae */ + 0x60, 0x80, 0x60, 0x20, 0x40, /* 0xE7 ccedilla */ + 0x40, 0x20, 0x60, 0xE0, 0x60, /* 0xE8 egrave */ + 0x40, 0x80, 0x60, 0xE0, 0x60, /* 0xE9 eacute */ + 0xE0, 0x00, 0x60, 0xE0, 0x60, /* 0xEA ecircumflex */ + 0xA0, 0x00, 0x60, 0xE0, 0x60, /* 0xEB edieresis */ + 0x80, 0x40, 0x80, 0x80, 0x80, /* 0xEC igrave */ + 0x40, 0x80, 0x40, 0x40, 0x40, /* 0xED iacute */ + 0xE0, 0x00, 0x40, 0x40, 0x40, /* 0xEE icircumflex */ + 0xA0, 0x00, 0x40, 0x40, 0x40, /* 0xEF idieresis */ + 0x60, 0xC0, 0x60, 0xA0, 0x60, /* 0xF0 eth */ + 0xC0, 0x60, 0xC0, 0xA0, 0xA0, /* 0xF1 ntilde */ + 0x40, 0x20, 0x40, 0xA0, 0x40, /* 0xF2 ograve */ + 0x40, 0x80, 0x40, 0xA0, 0x40, /* 0xF3 oacute */ + 0xE0, 0x00, 0x40, 0xA0, 0x40, /* 0xF4 ocircumflex */ + 0xC0, 0x60, 0x40, 0xA0, 0x40, /* 0xF5 otilde */ + 0xA0, 0x00, 0x40, 0xA0, 0x40, /* 0xF6 odieresis */ + 0x40, 0x00, 0xE0, 0x00, 0x40, /* 0xF7 divide */ + 0x60, 0xE0, 0xA0, 0xC0, /* 0xF8 oslash */ + 0x80, 0x40, 0xA0, 0xA0, 0x60, /* 0xF9 ugrave */ + 0x20, 0x40, 0xA0, 0xA0, 0x60, /* 0xFA uacute */ + 0xE0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFB ucircumflex */ + 0xA0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFC udieresis */ + 0x20, 0x40, 0xA0, 0x60, 0x20, 0x40, /* 0xFD yacute */ + 0x80, 0xC0, 0xA0, 0xC0, 0x80, /* 0xFE thorn */ + 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x40, /* 0xFF ydieresis */ + 0x00, /* 0x11D gcircumflex */ + 0x60, 0xC0, 0xE0, 0xC0, 0x60, /* 0x152 OE */ + 0x60, 0xE0, 0xC0, 0xE0, /* 0x153 oe */ + 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x160 Scaron */ + 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x161 scaron */ + 0xA0, 0x00, 0xA0, 0x40, 0x40, /* 0x178 Ydieresis */ + 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17D Zcaron */ + 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17E zcaron */ + 0x00, /* 0xEA4 uni0EA4 */ + 0x00, /* 0x13A0 uni13A0 */ + 0x80, /* 0x2022 bullet */ + 0xA0, /* 0x2026 ellipsis */ + 0x60, 0xE0, 0xE0, 0xC0, 0x60, /* 0x20AC Euro */ + 0xE0, 0xA0, 0xA0, 0xA0, 0xE0, /* 0xFFFD uniFFFD */ +#endif /* (TOMTHUMB_USE_EXTENDED) */ + }; + + +/* {offset, width, height, advance cursor, x offset, y offset} */ +const GFXglyph TomThumbGlyphs[] PROGMEM = { + { 0, 8, 1, 2, 0, -5 }, /* 0x20 space */ + { 1, 8, 5, 2, 0, -5 }, /* 0x21 exclam */ + { 6, 8, 2, 4, 0, -5 }, /* 0x22 quotedbl */ + { 8, 8, 5, 4, 0, -5 }, /* 0x23 numbersign */ + { 13, 8, 5, 4, 0, -5 }, /* 0x24 dollar */ + { 18, 8, 5, 4, 0, -5 }, /* 0x25 percent */ + { 23, 8, 5, 4, 0, -5 }, /* 0x26 ampersand */ + { 28, 8, 2, 2, 0, -5 }, /* 0x27 quotesingle */ + { 30, 8, 5, 3, 0, -5 }, /* 0x28 parenleft */ + { 35, 8, 5, 3, 0, -5 }, /* 0x29 parenright */ + { 40, 8, 3, 4, 0, -5 }, /* 0x2A asterisk */ + { 43, 8, 3, 4, 0, -4 }, /* 0x2B plus */ + { 46, 8, 2, 3, 0, -2 }, /* 0x2C comma */ + { 48, 8, 1, 4, 0, -3 }, /* 0x2D hyphen */ + { 49, 8, 1, 2, 0, -1 }, /* 0x2E period */ + { 50, 8, 5, 4, 0, -5 }, /* 0x2F slash */ + { 55, 8, 5, 4, 0, -5 }, /* 0x30 zero */ + { 60, 8, 5, 3, 0, -5 }, /* 0x31 one */ + { 65, 8, 5, 4, 0, -5 }, /* 0x32 two */ + { 70, 8, 5, 4, 0, -5 }, /* 0x33 three */ + { 75, 8, 5, 4, 0, -5 }, /* 0x34 four */ + { 80, 8, 5, 4, 0, -5 }, /* 0x35 five */ + { 85, 8, 5, 4, 0, -5 }, /* 0x36 six */ + { 90, 8, 5, 4, 0, -5 }, /* 0x37 seven */ + { 95, 8, 5, 4, 0, -5 }, /* 0x38 eight */ + { 100, 8, 5, 4, 0, -5 }, /* 0x39 nine */ + { 105, 8, 3, 2, 0, -4 }, /* 0x3A colon */ + { 108, 8, 4, 3, 0, -4 }, /* 0x3B semicolon */ + { 112, 8, 5, 4, 0, -5 }, /* 0x3C less */ + { 117, 8, 3, 4, 0, -4 }, /* 0x3D equal */ + { 120, 8, 5, 4, 0, -5 }, /* 0x3E greater */ + { 125, 8, 5, 4, 0, -5 }, /* 0x3F question */ + { 130, 8, 5, 4, 0, -5 }, /* 0x40 at */ + { 135, 8, 5, 4, 0, -5 }, /* 0x41 A */ + { 140, 8, 5, 4, 0, -5 }, /* 0x42 B */ + { 145, 8, 5, 4, 0, -5 }, /* 0x43 C */ + { 150, 8, 5, 4, 0, -5 }, /* 0x44 D */ + { 155, 8, 5, 4, 0, -5 }, /* 0x45 E */ + { 160, 8, 5, 4, 0, -5 }, /* 0x46 F */ + { 165, 8, 5, 4, 0, -5 }, /* 0x47 G */ + { 170, 8, 5, 4, 0, -5 }, /* 0x48 H */ + { 175, 8, 5, 4, 0, -5 }, /* 0x49 I */ + { 180, 8, 5, 4, 0, -5 }, /* 0x4A J */ + { 185, 8, 5, 4, 0, -5 }, /* 0x4B K */ + { 190, 8, 5, 4, 0, -5 }, /* 0x4C L */ + { 195, 8, 5, 4, 0, -5 }, /* 0x4D M */ + { 200, 8, 5, 4, 0, -5 }, /* 0x4E N */ + { 205, 8, 5, 4, 0, -5 }, /* 0x4F O */ + { 210, 8, 5, 4, 0, -5 }, /* 0x50 P */ + { 215, 8, 5, 4, 0, -5 }, /* 0x51 Q */ + { 220, 8, 5, 4, 0, -5 }, /* 0x52 R */ + { 225, 8, 5, 4, 0, -5 }, /* 0x53 S */ + { 230, 8, 5, 4, 0, -5 }, /* 0x54 T */ + { 235, 8, 5, 4, 0, -5 }, /* 0x55 U */ + { 240, 8, 5, 4, 0, -5 }, /* 0x56 V */ + { 245, 8, 5, 4, 0, -5 }, /* 0x57 W */ + { 250, 8, 5, 4, 0, -5 }, /* 0x58 X */ + { 255, 8, 5, 4, 0, -5 }, /* 0x59 Y */ + { 260, 8, 5, 4, 0, -5 }, /* 0x5A Z */ + { 265, 8, 5, 4, 0, -5 }, /* 0x5B bracketleft */ + { 270, 8, 3, 4, 0, -4 }, /* 0x5C backslash */ + { 273, 8, 5, 4, 0, -5 }, /* 0x5D bracketright */ + { 278, 8, 2, 4, 0, -5 }, /* 0x5E asciicircum */ + { 280, 8, 1, 4, 0, -1 }, /* 0x5F underscore */ + { 281, 8, 2, 3, 0, -5 }, /* 0x60 grave */ + { 283, 8, 4, 4, 0, -4 }, /* 0x61 a */ + { 287, 8, 5, 4, 0, -5 }, /* 0x62 b */ + { 292, 8, 4, 4, 0, -4 }, /* 0x63 c */ + { 296, 8, 5, 4, 0, -5 }, /* 0x64 d */ + { 301, 8, 4, 4, 0, -4 }, /* 0x65 e */ + { 305, 8, 5, 4, 0, -5 }, /* 0x66 f */ + { 310, 8, 5, 4, 0, -4 }, /* 0x67 g */ + { 315, 8, 5, 4, 0, -5 }, /* 0x68 h */ + { 320, 8, 5, 2, 0, -5 }, /* 0x69 i */ + { 325, 8, 6, 4, 0, -5 }, /* 0x6A j */ + { 331, 8, 5, 4, 0, -5 }, /* 0x6B k */ + { 336, 8, 5, 4, 0, -5 }, /* 0x6C l */ + { 341, 8, 4, 4, 0, -4 }, /* 0x6D m */ + { 345, 8, 4, 4, 0, -4 }, /* 0x6E n */ + { 349, 8, 4, 4, 0, -4 }, /* 0x6F o */ + { 353, 8, 5, 4, 0, -4 }, /* 0x70 p */ + { 358, 8, 5, 4, 0, -4 }, /* 0x71 q */ + { 363, 8, 4, 4, 0, -4 }, /* 0x72 r */ + { 367, 8, 4, 4, 0, -4 }, /* 0x73 s */ + { 371, 8, 5, 4, 0, -5 }, /* 0x74 t */ + { 376, 8, 4, 4, 0, -4 }, /* 0x75 u */ + { 380, 8, 4, 4, 0, -4 }, /* 0x76 v */ + { 384, 8, 4, 4, 0, -4 }, /* 0x77 w */ + { 388, 8, 4, 4, 0, -4 }, /* 0x78 x */ + { 392, 8, 5, 4, 0, -4 }, /* 0x79 y */ + { 397, 8, 4, 4, 0, -4 }, /* 0x7A z */ + { 401, 8, 5, 4, 0, -5 }, /* 0x7B braceleft */ + { 406, 8, 5, 2, 0, -5 }, /* 0x7C bar */ + { 411, 8, 5, 4, 0, -5 }, /* 0x7D braceright */ + { 416, 8, 2, 4, 0, -5 }, /* 0x7E asciitilde */ +#if (TOMTHUMB_USE_EXTENDED) + { 418, 8, 5, 2, 0, -5 }, /* 0xA1 exclamdown */ + { 423, 8, 5, 4, 0, -5 }, /* 0xA2 cent */ + { 428, 8, 5, 4, 0, -5 }, /* 0xA3 sterling */ + { 433, 8, 5, 4, 0, -5 }, /* 0xA4 currency */ + { 438, 8, 5, 4, 0, -5 }, /* 0xA5 yen */ + { 443, 8, 5, 2, 0, -5 }, /* 0xA6 brokenbar */ + { 448, 8, 5, 4, 0, -5 }, /* 0xA7 section */ + { 453, 8, 1, 4, 0, -5 }, /* 0xA8 dieresis */ + { 454, 8, 3, 4, 0, -5 }, /* 0xA9 copyright */ + { 457, 8, 5, 4, 0, -5 }, /* 0xAA ordfeminine */ + { 462, 8, 3, 3, 0, -5 }, /* 0xAB guillemotleft */ + { 465, 8, 2, 4, 0, -4 }, /* 0xAC logicalnot */ + { 467, 8, 1, 3, 0, -3 }, /* 0xAD softhyphen */ + { 468, 8, 3, 4, 0, -5 }, /* 0xAE registered */ + { 471, 8, 1, 4, 0, -5 }, /* 0xAF macron */ + { 472, 8, 3, 4, 0, -5 }, /* 0xB0 degree */ + { 475, 8, 5, 4, 0, -5 }, /* 0xB1 plusminus */ + { 480, 8, 3, 4, 0, -5 }, /* 0xB2 twosuperior */ + { 483, 8, 3, 4, 0, -5 }, /* 0xB3 threesuperior */ + { 486, 8, 2, 3, 0, -5 }, /* 0xB4 acute */ + { 488, 8, 5, 4, 0, -5 }, /* 0xB5 mu */ + { 493, 8, 5, 4, 0, -5 }, /* 0xB6 paragraph */ + { 498, 8, 3, 4, 0, -4 }, /* 0xB7 periodcentered */ + { 501, 8, 3, 4, 0, -3 }, /* 0xB8 cedilla */ + { 504, 8, 3, 2, 0, -5 }, /* 0xB9 onesuperior */ + { 507, 8, 5, 4, 0, -5 }, /* 0xBA ordmasculine */ + { 512, 8, 3, 3, 0, -5 }, /* 0xBB guillemotright */ + { 515, 8, 5, 4, 0, -5 }, /* 0xBC onequarter */ + { 520, 8, 5, 4, 0, -5 }, /* 0xBD onehalf */ + { 525, 8, 5, 4, 0, -5 }, /* 0xBE threequarters */ + { 530, 8, 5, 4, 0, -5 }, /* 0xBF questiondown */ + { 535, 8, 5, 4, 0, -5 }, /* 0xC0 Agrave */ + { 540, 8, 5, 4, 0, -5 }, /* 0xC1 Aacute */ + { 545, 8, 5, 4, 0, -5 }, /* 0xC2 Acircumflex */ + { 550, 8, 5, 4, 0, -5 }, /* 0xC3 Atilde */ + { 555, 8, 5, 4, 0, -5 }, /* 0xC4 Adieresis */ + { 560, 8, 5, 4, 0, -5 }, /* 0xC5 Aring */ + { 565, 8, 5, 4, 0, -5 }, /* 0xC6 AE */ + { 570, 8, 6, 4, 0, -5 }, /* 0xC7 Ccedilla */ + { 576, 8, 5, 4, 0, -5 }, /* 0xC8 Egrave */ + { 581, 8, 5, 4, 0, -5 }, /* 0xC9 Eacute */ + { 586, 8, 5, 4, 0, -5 }, /* 0xCA Ecircumflex */ + { 591, 8, 5, 4, 0, -5 }, /* 0xCB Edieresis */ + { 596, 8, 5, 4, 0, -5 }, /* 0xCC Igrave */ + { 601, 8, 5, 4, 0, -5 }, /* 0xCD Iacute */ + { 606, 8, 5, 4, 0, -5 }, /* 0xCE Icircumflex */ + { 611, 8, 5, 4, 0, -5 }, /* 0xCF Idieresis */ + { 616, 8, 5, 4, 0, -5 }, /* 0xD0 Eth */ + { 621, 8, 5, 4, 0, -5 }, /* 0xD1 Ntilde */ + { 626, 8, 5, 4, 0, -5 }, /* 0xD2 Ograve */ + { 631, 8, 5, 4, 0, -5 }, /* 0xD3 Oacute */ + { 636, 8, 5, 4, 0, -5 }, /* 0xD4 Ocircumflex */ + { 641, 8, 5, 4, 0, -5 }, /* 0xD5 Otilde */ + { 646, 8, 5, 4, 0, -5 }, /* 0xD6 Odieresis */ + { 651, 8, 3, 4, 0, -4 }, /* 0xD7 multiply */ + { 654, 8, 5, 4, 0, -5 }, /* 0xD8 Oslash */ + { 659, 8, 5, 4, 0, -5 }, /* 0xD9 Ugrave */ + { 664, 8, 5, 4, 0, -5 }, /* 0xDA Uacute */ + { 669, 8, 5, 4, 0, -5 }, /* 0xDB Ucircumflex */ + { 674, 8, 5, 4, 0, -5 }, /* 0xDC Udieresis */ + { 679, 8, 5, 4, 0, -5 }, /* 0xDD Yacute */ + { 684, 8, 5, 4, 0, -5 }, /* 0xDE Thorn */ + { 689, 8, 6, 4, 0, -5 }, /* 0xDF germandbls */ + { 695, 8, 5, 4, 0, -5 }, /* 0xE0 agrave */ + { 700, 8, 5, 4, 0, -5 }, /* 0xE1 aacute */ + { 705, 8, 5, 4, 0, -5 }, /* 0xE2 acircumflex */ + { 710, 8, 5, 4, 0, -5 }, /* 0xE3 atilde */ + { 715, 8, 5, 4, 0, -5 }, /* 0xE4 adieresis */ + { 720, 8, 5, 4, 0, -5 }, /* 0xE5 aring */ + { 725, 8, 4, 4, 0, -4 }, /* 0xE6 ae */ + { 729, 8, 5, 4, 0, -4 }, /* 0xE7 ccedilla */ + { 734, 8, 5, 4, 0, -5 }, /* 0xE8 egrave */ + { 739, 8, 5, 4, 0, -5 }, /* 0xE9 eacute */ + { 744, 8, 5, 4, 0, -5 }, /* 0xEA ecircumflex */ + { 749, 8, 5, 4, 0, -5 }, /* 0xEB edieresis */ + { 754, 8, 5, 3, 0, -5 }, /* 0xEC igrave */ + { 759, 8, 5, 3, 0, -5 }, /* 0xED iacute */ + { 764, 8, 5, 4, 0, -5 }, /* 0xEE icircumflex */ + { 769, 8, 5, 4, 0, -5 }, /* 0xEF idieresis */ + { 774, 8, 5, 4, 0, -5 }, /* 0xF0 eth */ + { 779, 8, 5, 4, 0, -5 }, /* 0xF1 ntilde */ + { 784, 8, 5, 4, 0, -5 }, /* 0xF2 ograve */ + { 789, 8, 5, 4, 0, -5 }, /* 0xF3 oacute */ + { 794, 8, 5, 4, 0, -5 }, /* 0xF4 ocircumflex */ + { 799, 8, 5, 4, 0, -5 }, /* 0xF5 otilde */ + { 804, 8, 5, 4, 0, -5 }, /* 0xF6 odieresis */ + { 809, 8, 5, 4, 0, -5 }, /* 0xF7 divide */ + { 814, 8, 4, 4, 0, -4 }, /* 0xF8 oslash */ + { 818, 8, 5, 4, 0, -5 }, /* 0xF9 ugrave */ + { 823, 8, 5, 4, 0, -5 }, /* 0xFA uacute */ + { 828, 8, 5, 4, 0, -5 }, /* 0xFB ucircumflex */ + { 833, 8, 5, 4, 0, -5 }, /* 0xFC udieresis */ + { 838, 8, 6, 4, 0, -5 }, /* 0xFD yacute */ + { 844, 8, 5, 4, 0, -4 }, /* 0xFE thorn */ + { 849, 8, 6, 4, 0, -5 }, /* 0xFF ydieresis */ + { 855, 8, 1, 2, 0, -1 }, /* 0x11D gcircumflex */ + { 856, 8, 5, 4, 0, -5 }, /* 0x152 OE */ + { 861, 8, 4, 4, 0, -4 }, /* 0x153 oe */ + { 865, 8, 5, 4, 0, -5 }, /* 0x160 Scaron */ + { 870, 8, 5, 4, 0, -5 }, /* 0x161 scaron */ + { 875, 8, 5, 4, 0, -5 }, /* 0x178 Ydieresis */ + { 880, 8, 5, 4, 0, -5 }, /* 0x17D Zcaron */ + { 885, 8, 5, 4, 0, -5 }, /* 0x17E zcaron */ + { 890, 8, 1, 2, 0, -1 }, /* 0xEA4 uni0EA4 */ + { 891, 8, 1, 2, 0, -1 }, /* 0x13A0 uni13A0 */ + { 892, 8, 1, 2, 0, -3 }, /* 0x2022 bullet */ + { 893, 8, 1, 4, 0, -1 }, /* 0x2026 ellipsis */ + { 894, 8, 5, 4, 0, -5 }, /* 0x20AC Euro */ + { 899, 8, 5, 4, 0, -5 }, /* 0xFFFD uniFFFD */ +#endif /* (TOMTHUMB_USE_EXTENDED) */ +}; + +const GFXfont TomThumb PROGMEM = { + (uint8_t *)TomThumbBitmaps, + (GFXglyph *)TomThumbGlyphs, + 0x20, 0x7E, 6 }; diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/README.md b/SD_Makefile_Build/libs/Adafruit_GFX/README.md new file mode 100644 index 0000000..972c966 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/README.md @@ -0,0 +1,21 @@ +# Adafruit GFX Library + +This is the core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.). It needs to be paired with a hardware-specific library for each display device we carry (to handle the lower-level functions). + +Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! + +Written by Limor Fried/Ladyada for Adafruit Industries. +BSD license, check license.txt for more information. +All text above must be included in any redistribution. + +Recent Arduino IDE releases include the Library Manager for easy installation. Otherwise, to download, click the DOWNLOAD ZIP button, uncompress and rename the uncompressed folder Adafruit_GFX. Confirm that the Adafruit_GFX folder contains Adafruit_GFX.cpp and Adafruit_GFX.h. Place the Adafruit_GFX library folder your /Libraries/ folder. You may need to create the Libraries subfolder if its your first library. Restart the IDE. + +# Useful Resources + +- Image2Code: This is a handy Java GUI utility to convert a BMP file into the array code necessary to display the image with the drawBitmap function. Check out the code at ehubin's GitHub repository: https://github.com/ehubin/Adafruit-GFX-Library/tree/master/Img2Code + +- drawXBitmap function: You can use the GIMP photo editor to save a .xbm file and use the array saved in the file to draw a bitmap with the drawXBitmap function. See the pull request here for more details: https://github.com/adafruit/Adafruit-GFX-Library/pull/31 + +- 'Fonts' folder contains bitmap fonts for use with recent (1.1 and later) Adafruit_GFX. To use a font in your Arduino sketch, #include the corresponding .h file and pass address of GFXfont struct to setFont(). Pass NULL to revert to 'classic' fixed-space bitmap font. + +- 'fontconvert' folder contains a command-line tool for converting TTF fonts to Adafruit_GFX .h format. diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile new file mode 100644 index 0000000..47f5a0e --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile @@ -0,0 +1,12 @@ +all: fontconvert + +CC = gcc +CFLAGS = -Wall -I/usr/local/include/freetype2 -I/usr/include/freetype2 -I/usr/include +LIBS = -lfreetype + +fontconvert: fontconvert.c + $(CC) $(CFLAGS) $< $(LIBS) -o $@ + strip $@ + +clean: + rm -f fontconvert diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c new file mode 100644 index 0000000..c6d6498 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c @@ -0,0 +1,278 @@ +/* +TrueType to Adafruit_GFX font converter. Derived from Peter Jakobs' +Adafruit_ftGFX fork & makefont tool, and Paul Kourany's Adafruit_mfGFX. + +NOT AN ARDUINO SKETCH. This is a command-line tool for preprocessing +fonts to be used with the Adafruit_GFX Arduino library. + +For UNIX-like systems. Outputs to stdout; redirect to header file, e.g.: + ./fontconvert ~/Library/Fonts/FreeSans.ttf 18 > FreeSans18pt7b.h + +REQUIRES FREETYPE LIBRARY. www.freetype.org + +Currently this only extracts the printable 7-bit ASCII chars of a font. +Will eventually extend with some int'l chars a la ftGFX, not there yet. +Keep 7-bit fonts around as an option in that case, more compact. + +See notes at end for glyph nomenclature & other tidbits. +*/ + +#include +#include +#include +#include +#include FT_GLYPH_H +#include "../gfxfont.h" // Adafruit_GFX font structures + +#define DPI 141 // Approximate res. of Adafruit 2.8" TFT + +// Accumulate bits for output, with periodic hexadecimal byte write +void enbit(uint8_t value) { + static uint8_t row = 0, sum = 0, bit = 0x80, firstCall = 1; + if(value) sum |= bit; // Set bit if needed + if(!(bit >>= 1)) { // Advance to next bit, end of byte reached? + if(!firstCall) { // Format output table nicely + if(++row >= 12) { // Last entry on line? + printf(",\n "); // Newline format output + row = 0; // Reset row counter + } else { // Not end of line + printf(", "); // Simple comma delim + } + } + printf("0x%02X", sum); // Write byte value + sum = 0; // Clear for next byte + bit = 0x80; // Reset bit counter + firstCall = 0; // Formatting flag + } +} + +int main(int argc, char *argv[]) { + int i, j, err, size, first=' ', last='~', + bitmapOffset = 0, x, y, byte; + char *fontName, c, *ptr; + FT_Library library; + FT_Face face; + FT_Glyph glyph; + FT_Bitmap *bitmap; + FT_BitmapGlyphRec *g; + GFXglyph *table; + uint8_t bit; + + // Parse command line. Valid syntaxes are: + // fontconvert [filename] [size] + // fontconvert [filename] [size] [last char] + // fontconvert [filename] [size] [first char] [last char] + // Unless overridden, default first and last chars are + // ' ' (space) and '~', respectively + + if(argc < 3) { + fprintf(stderr, "Usage: %s fontfile size [first] [last]\n", + argv[0]); + return 1; + } + + size = atoi(argv[2]); + + if(argc == 4) { + last = atoi(argv[3]); + } else if(argc == 5) { + first = atoi(argv[3]); + last = atoi(argv[4]); + } + + if(last < first) { + i = first; + first = last; + last = i; + } + + ptr = strrchr(argv[1], '/'); // Find last slash in filename + if(ptr) ptr++; // First character of filename (path stripped) + else ptr = argv[1]; // No path; font in local dir. + + // Allocate space for font name and glyph table + if((!(fontName = malloc(strlen(ptr) + 20))) || + (!(table = (GFXglyph *)malloc((last - first + 1) * + sizeof(GFXglyph))))) { + fprintf(stderr, "Malloc error\n"); + return 1; + } + + // Derive font table names from filename. Period (filename + // extension) is truncated and replaced with the font size & bits. + strcpy(fontName, ptr); + ptr = strrchr(fontName, '.'); // Find last period (file ext) + if(!ptr) ptr = &fontName[strlen(fontName)]; // If none, append + // Insert font size and 7/8 bit. fontName was alloc'd w/extra + // space to allow this, we're not sprintfing into Forbidden Zone. + sprintf(ptr, "%dpt%db", size, (last > 127) ? 8 : 7); + // Space and punctuation chars in name replaced w/ underscores. + for(i=0; (c=fontName[i]); i++) { + if(isspace(c) || ispunct(c)) fontName[i] = '_'; + } + + // Init FreeType lib, load font + if((err = FT_Init_FreeType(&library))) { + fprintf(stderr, "FreeType init error: %d", err); + return err; + } + if((err = FT_New_Face(library, argv[1], 0, &face))) { + fprintf(stderr, "Font load error: %d", err); + FT_Done_FreeType(library); + return err; + } + + // << 6 because '26dot6' fixed-point format + FT_Set_Char_Size(face, size << 6, 0, DPI, 0); + + // Currently all symbols from 'first' to 'last' are processed. + // Fonts may contain WAY more glyphs than that, but this code + // will need to handle encoding stuff to deal with extracting + // the right symbols, and that's not done yet. + // fprintf(stderr, "%ld glyphs\n", face->num_glyphs); + + printf("const uint8_t %sBitmaps[] PROGMEM = {\n ", fontName); + + // Process glyphs and output huge bitmap data array + for(i=first, j=0; i<=last; i++, j++) { + // MONO renderer provides clean image with perfect crop + // (no wasted pixels) via bitmap struct. + if((err = FT_Load_Char(face, i, FT_LOAD_TARGET_MONO))) { + fprintf(stderr, "Error %d loading char '%c'\n", + err, i); + continue; + } + + if((err = FT_Render_Glyph(face->glyph, + FT_RENDER_MODE_MONO))) { + fprintf(stderr, "Error %d rendering char '%c'\n", + err, i); + continue; + } + + if((err = FT_Get_Glyph(face->glyph, &glyph))) { + fprintf(stderr, "Error %d getting glyph '%c'\n", + err, i); + continue; + } + + bitmap = &face->glyph->bitmap; + g = (FT_BitmapGlyphRec *)glyph; + + // Minimal font and per-glyph information is stored to + // reduce flash space requirements. Glyph bitmaps are + // fully bit-packed; no per-scanline pad, though end of + // each character may be padded to next byte boundary + // when needed. 16-bit offset means 64K max for bitmaps, + // code currently doesn't check for overflow. (Doesn't + // check that size & offsets are within bounds either for + // that matter...please convert fonts responsibly.) + table[j].bitmapOffset = bitmapOffset; + table[j].width = bitmap->width; + table[j].height = bitmap->rows; + table[j].xAdvance = face->glyph->advance.x >> 6; + table[j].xOffset = g->left; + table[j].yOffset = 1 - g->top; + + for(y=0; y < bitmap->rows; y++) { + for(x=0;x < bitmap->width; x++) { + byte = x / 8; + bit = 0x80 >> (x & 7); + enbit(bitmap->buffer[ + y * bitmap->pitch + byte] & bit); + } + } + + // Pad end of char bitmap to next byte boundary if needed + int n = (bitmap->width * bitmap->rows) & 7; + if(n) { // Pixel count not an even multiple of 8? + n = 8 - n; // # bits to next multiple + while(n--) enbit(0); + } + bitmapOffset += (bitmap->width * bitmap->rows + 7) / 8; + + FT_Done_Glyph(glyph); + } + + printf(" };\n\n"); // End bitmap array + + // Output glyph attributes table (one per character) + printf("const GFXglyph %sGlyphs[] PROGMEM = {\n", fontName); + for(i=first, j=0; i<=last; i++, j++) { + printf(" { %5d, %3d, %3d, %3d, %4d, %4d }", + table[j].bitmapOffset, + table[j].width, + table[j].height, + table[j].xAdvance, + table[j].xOffset, + table[j].yOffset); + if(i < last) { + printf(", // 0x%02X", i); + if((i >= ' ') && (i <= '~')) { + printf(" '%c'", i); + } + putchar('\n'); + } + } + printf(" }; // 0x%02X", last); + if((last >= ' ') && (last <= '~')) printf(" '%c'", last); + printf("\n\n"); + + // Output font structure + printf("const GFXfont %s PROGMEM = {\n", fontName); + printf(" (uint8_t *)%sBitmaps,\n", fontName); + printf(" (GFXglyph *)%sGlyphs,\n", fontName); + printf(" 0x%02X, 0x%02X, %ld };\n\n", + first, last, face->size->metrics.height >> 6); + printf("// Approx. %d bytes\n", + bitmapOffset + (last - first + 1) * 7 + 7); + // Size estimate is based on AVR struct and pointer sizes; + // actual size may vary. + + FT_Done_FreeType(library); + + return 0; +} + +/* ------------------------------------------------------------------------- + +Character metrics are slightly different from classic GFX & ftGFX. +In classic GFX: cursor position is the upper-left pixel of each 5x7 +character; lower extent of most glyphs (except those w/descenders) +is +6 pixels in Y direction. +W/new GFX fonts: cursor position is on baseline, where baseline is +'inclusive' (containing the bottom-most row of pixels in most symbols, +except those with descenders; ftGFX is one pixel lower). + +Cursor Y will be moved automatically when switching between classic +and new fonts. If you switch fonts, any print() calls will continue +along the same baseline. + + ...........#####.. -- yOffset + ..........######.. + ..........######.. + .........#######.. + ........#########. + * = Cursor pos. ........#########. + .......##########. + ......#####..####. + ......#####..####. + *.#.. .....#####...####. + .#.#. ....############## + #...# ...############### + #...# ...############### + ##### ..#####......##### + #...# .#####.......##### +====== #...# ====== #*###.........#### ======= Baseline + || xOffset + +glyph->xOffset and yOffset are pixel offsets, in GFX coordinate space +(+Y is down), from the cursor position to the top-left pixel of the +glyph bitmap. i.e. yOffset is typically negative, xOffset is typically +zero but a few glyphs will have other values (even negative xOffsets +sometimes, totally normal). glyph->xAdvance is the distance to move +the cursor on the X axis after drawing the corresponding symbol. + +There's also some changes with regard to 'background' color and new GFX +fonts (classic fonts unchanged). See Adafruit_GFX.cpp for explanation. +*/ diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md new file mode 100644 index 0000000..1932841 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md @@ -0,0 +1,88 @@ +### A short guide to use fontconvert.c to create your own fonts using MinGW. + +#### STEP 1: INSTALL MinGW + +Install MinGW (Minimalist GNU for Windows) from [MinGW.org](http://www.mingw.org/). +Please read carefully the instructions found on [Getting started page](http://www.mingw.org/wiki/Getting_Started). +I suggest installing with the "Graphical User Interface Installer". +To complete your initial installation you should further install some "packages". +For our purpose you should only install the "Basic Setup" packages. +To do that: + +1. Open the MinGW Installation Manager +2. From the left panel click "Basic Setup". +3. On the right panel choose "mingw32-base", "mingw-gcc-g++", "mingw-gcc-objc" and "msys-base" +and click "Mark for installation" +4. From the Menu click "Installation" and then "Apply changes". In the pop-up window select "Apply". + + +#### STEP 2: INSTALL Freetype Library + +To read about the freetype project visit [freetype.org](https://www.freetype.org/). +To Download the latest version of freetype go to [download page](http://download.savannah.gnu.org/releases/freetype/) +and choose "freetype-2.7.tar.gz" file (or a newer version if available). +To avoid long cd commands later in the command prompt, I suggest you unzip the file in the C:\ directory. +(I also renamed the folder to "ft27") +Before you build the library it's good to read these articles: +* [Using MSYS with MinGW](http://www.mingw.org/wiki/MSYS) +* [Installation and Use of Supplementary Libraries with MinGW](http://www.mingw.org/wiki/LibraryPathHOWTO) +* [Include Path](http://www.mingw.org/wiki/IncludePathHOWTO) + +Inside the unzipped folder there is another folder named "docs". Open it and read the INSTALL.UNIX (using notepad). +Pay attention to paragraph 3 (Build and Install the Library). So, let's begin the installation. +To give the appropriate commands we will use the MSYS command prompt (not cmd.exe of windows) which is UNIX like. +Follow the path C:\MinGW\msys\1.0 and double click "msys.bat". The command prompt environment appears. +Enter "ft27" directory using the cd commands: +``` +cd /c +cd ft27 +``` + +and then type one by one the commands: +``` +./configure --prefix=/mingw +make +make install +``` +Once you're finished, go inside "C:\MinGW\include" and there should be a new folder named "freetype2". +That, hopefully, means that you have installed the library correctly !! + +#### STEP 3: Build fontconvert.c + +Before proceeding I suggest you make a copy of Adafruit_GFX_library folder in C:\ directory. +Then, inside "fontconvert" folder open the "makefile" with an editor ( I used notepad++). +Change the commands so in the end the program looks like : +``` +all: fontconvert + +CC = gcc +CFLAGS = -Wall -I c:/mingw/include/freetype2 +LIBS = -lfreetype + +fontconvert: fontconvert.c + $(CC) $(CFLAGS) $< $(LIBS) -o $@ + +clean: + rm -f fontconvert +``` +Go back in the command prompt and with a cd command enter the fontconvert directory. +``` +cd /c/adafruit_gfx_library\fontconvert +``` +Give the command: +``` +make +``` +This command will, eventually, create a "fontconvert.exe" file inside fontconvert directory. + +#### STEP 4: Create your own font header files + +Now that you have an executable file, you can use it to create your own fonts to work with Adafruit GFX lib. +So, if we suppose that you already have a .ttf file with your favorite fonts, jump to the command prompt and type: +``` +./fontconvert yourfonts.ttf 9 > yourfonts9pt7b.h +``` +You can read more details at: [learn.adafruit](https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts). + +Taraaaaaammm !! you've just created your new font header file. Put it inside the "Fonts" folder, grab a cup of coffee +and start playing with your Arduino (or whatever else ....)+ display module project. diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh new file mode 100755 index 0000000..35f07ea --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Ugly little Bash script, generates a set of .h files for GFX using +# GNU FreeFont sources. There are three fonts: 'Mono' (Courier-like), +# 'Sans' (Helvetica-like) and 'Serif' (Times-like); four styles: regular, +# bold, oblique or italic, and bold+oblique or bold+italic; and four +# sizes: 9, 12, 18 and 24 point. No real error checking or anything, +# this just powers through all the combinations, calling the fontconvert +# utility and redirecting the output to a .h file for each combo. + +# Adafruit_GFX repository does not include the source outline fonts +# (huge zipfile, different license) but they're easily acquired: +# http://savannah.gnu.org/projects/freefont/ + +convert=./fontconvert +inpath=~/Desktop/freefont/ +outpath=../Fonts/ +fonts=(FreeMono FreeSans FreeSerif) +styles=("" Bold Italic BoldItalic Oblique BoldOblique) +sizes=(9 12 18 24) + +for f in ${fonts[*]} +do + for index in ${!styles[*]} + do + st=${styles[$index]} + for si in ${sizes[*]} + do + infile=$inpath$f$st".ttf" + if [ -f $infile ] # Does source combination exist? + then + outfile=$outpath$f$st$si"pt7b.h" +# printf "%s %s %s > %s\n" $convert $infile $si $outfile + $convert $infile $si > $outfile + fi + done + done +done diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h b/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h new file mode 100644 index 0000000..07381ed --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h @@ -0,0 +1,24 @@ +// Font structures for newer Adafruit_GFX (1.1 and later). +// Example fonts are included in 'Fonts' directory. +// To use a font in your Arduino sketch, #include the corresponding .h +// file and pass address of GFXfont struct to setFont(). Pass NULL to +// revert to 'classic' fixed-space bitmap font. + +#ifndef _GFXFONT_H_ +#define _GFXFONT_H_ + +typedef struct { // Data stored PER GLYPH + uint16_t bitmapOffset; // Pointer into GFXfont->bitmap + uint8_t width, height; // Bitmap dimensions in pixels + uint8_t xAdvance; // Distance to advance cursor (x axis) + int8_t xOffset, yOffset; // Dist from cursor pos to UL corner +} GFXglyph; + +typedef struct { // Data stored for FONT AS A WHOLE: + uint8_t *bitmap; // Glyph bitmaps, concatenated + GFXglyph *glyph; // Glyph array + uint8_t first, last; // ASCII extents + uint8_t yAdvance; // Newline distance (y axis) +} GFXfont; + +#endif // _GFXFONT_H_ diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c b/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c new file mode 100644 index 0000000..6f88bd2 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c @@ -0,0 +1,276 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#ifndef FONT5X7_H +#define FONT5X7_H + +#ifdef __AVR__ + #include + #include +#elif defined(ESP8266) + #include +#else + #define PROGMEM +#endif + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, + 0x00, 0x18, 0x3C, 0x18, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, + 0x00, 0x18, 0x24, 0x18, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, + 0x30, 0x48, 0x3A, 0x06, 0x0E, + 0x26, 0x29, 0x79, 0x29, 0x26, + 0x40, 0x7F, 0x05, 0x05, 0x07, + 0x40, 0x7F, 0x05, 0x25, 0x3F, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, + 0x14, 0x22, 0x7F, 0x22, 0x14, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, + 0x06, 0x09, 0x7F, 0x01, 0x7F, + 0x00, 0x66, 0x89, 0x95, 0x6A, + 0x60, 0x60, 0x60, 0x60, 0x60, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, + 0x08, 0x04, 0x7E, 0x04, 0x08, + 0x10, 0x20, 0x7E, 0x20, 0x10, + 0x08, 0x08, 0x2A, 0x1C, 0x08, + 0x08, 0x1C, 0x2A, 0x08, 0x08, + 0x1E, 0x10, 0x10, 0x10, 0x10, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, + 0x30, 0x38, 0x3E, 0x38, 0x30, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, + 0x23, 0x13, 0x08, 0x64, 0x62, + 0x36, 0x49, 0x56, 0x20, 0x50, + 0x00, 0x08, 0x07, 0x03, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, + 0x08, 0x08, 0x3E, 0x08, 0x08, + 0x00, 0x80, 0x70, 0x30, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, + 0x00, 0x00, 0x60, 0x60, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, + 0x3E, 0x51, 0x49, 0x45, 0x3E, + 0x00, 0x42, 0x7F, 0x40, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, + 0x21, 0x41, 0x49, 0x4D, 0x33, + 0x18, 0x14, 0x12, 0x7F, 0x10, + 0x27, 0x45, 0x45, 0x45, 0x39, + 0x3C, 0x4A, 0x49, 0x49, 0x31, + 0x41, 0x21, 0x11, 0x09, 0x07, + 0x36, 0x49, 0x49, 0x49, 0x36, + 0x46, 0x49, 0x49, 0x29, 0x1E, + 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x00, 0x41, 0x22, 0x14, 0x08, + 0x02, 0x01, 0x59, 0x09, 0x06, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, + 0x7C, 0x12, 0x11, 0x12, 0x7C, + 0x7F, 0x49, 0x49, 0x49, 0x36, + 0x3E, 0x41, 0x41, 0x41, 0x22, + 0x7F, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x49, 0x49, 0x49, 0x41, + 0x7F, 0x09, 0x09, 0x09, 0x01, + 0x3E, 0x41, 0x41, 0x51, 0x73, + 0x7F, 0x08, 0x08, 0x08, 0x7F, + 0x00, 0x41, 0x7F, 0x41, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, + 0x7F, 0x08, 0x14, 0x22, 0x41, + 0x7F, 0x40, 0x40, 0x40, 0x40, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, + 0x7F, 0x04, 0x08, 0x10, 0x7F, + 0x3E, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x09, 0x09, 0x09, 0x06, + 0x3E, 0x41, 0x51, 0x21, 0x5E, + 0x7F, 0x09, 0x19, 0x29, 0x46, + 0x26, 0x49, 0x49, 0x49, 0x32, + 0x03, 0x01, 0x7F, 0x01, 0x03, + 0x3F, 0x40, 0x40, 0x40, 0x3F, + 0x1F, 0x20, 0x40, 0x20, 0x1F, + 0x3F, 0x40, 0x38, 0x40, 0x3F, + 0x63, 0x14, 0x08, 0x14, 0x63, + 0x03, 0x04, 0x78, 0x04, 0x03, + 0x61, 0x59, 0x49, 0x4D, 0x43, + 0x00, 0x7F, 0x41, 0x41, 0x41, + 0x02, 0x04, 0x08, 0x10, 0x20, + 0x00, 0x41, 0x41, 0x41, 0x7F, + 0x04, 0x02, 0x01, 0x02, 0x04, + 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x03, 0x07, 0x08, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, + 0x7F, 0x28, 0x44, 0x44, 0x38, + 0x38, 0x44, 0x44, 0x44, 0x28, + 0x38, 0x44, 0x44, 0x28, 0x7F, + 0x38, 0x54, 0x54, 0x54, 0x18, + 0x00, 0x08, 0x7E, 0x09, 0x02, + 0x18, 0xA4, 0xA4, 0x9C, 0x78, + 0x7F, 0x08, 0x04, 0x04, 0x78, + 0x00, 0x44, 0x7D, 0x40, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, + 0x7C, 0x08, 0x04, 0x04, 0x78, + 0x38, 0x44, 0x44, 0x44, 0x38, + 0xFC, 0x18, 0x24, 0x24, 0x18, + 0x18, 0x24, 0x24, 0x18, 0xFC, + 0x7C, 0x08, 0x04, 0x04, 0x08, + 0x48, 0x54, 0x54, 0x54, 0x24, + 0x04, 0x04, 0x3F, 0x44, 0x24, + 0x3C, 0x40, 0x40, 0x20, 0x7C, + 0x1C, 0x20, 0x40, 0x20, 0x1C, + 0x3C, 0x40, 0x30, 0x40, 0x3C, + 0x44, 0x28, 0x10, 0x28, 0x44, + 0x4C, 0x90, 0x90, 0x90, 0x7C, + 0x44, 0x64, 0x54, 0x4C, 0x44, + 0x00, 0x08, 0x36, 0x41, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, + 0x3C, 0x26, 0x23, 0x26, 0x3C, + 0x1E, 0xA1, 0xA1, 0x61, 0x12, + 0x3A, 0x40, 0x40, 0x20, 0x7A, + 0x38, 0x54, 0x54, 0x55, 0x59, + 0x21, 0x55, 0x55, 0x79, 0x41, + 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut + 0x21, 0x55, 0x54, 0x78, 0x40, + 0x20, 0x54, 0x55, 0x79, 0x40, + 0x0C, 0x1E, 0x52, 0x72, 0x12, + 0x39, 0x55, 0x55, 0x55, 0x59, + 0x39, 0x54, 0x54, 0x54, 0x59, + 0x39, 0x55, 0x54, 0x54, 0x58, + 0x00, 0x00, 0x45, 0x7C, 0x41, + 0x00, 0x02, 0x45, 0x7D, 0x42, + 0x00, 0x01, 0x45, 0x7C, 0x40, + 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut + 0xF0, 0x28, 0x25, 0x28, 0xF0, + 0x7C, 0x54, 0x55, 0x45, 0x00, + 0x20, 0x54, 0x54, 0x7C, 0x54, + 0x7C, 0x0A, 0x09, 0x7F, 0x49, + 0x32, 0x49, 0x49, 0x49, 0x32, + 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut + 0x32, 0x4A, 0x48, 0x48, 0x30, + 0x3A, 0x41, 0x41, 0x21, 0x7A, + 0x3A, 0x42, 0x40, 0x20, 0x78, + 0x00, 0x9D, 0xA0, 0xA0, 0x7D, + 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut + 0x3D, 0x40, 0x40, 0x40, 0x3D, + 0x3C, 0x24, 0xFF, 0x24, 0x24, + 0x48, 0x7E, 0x49, 0x43, 0x66, + 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, + 0xFF, 0x09, 0x29, 0xF6, 0x20, + 0xC0, 0x88, 0x7E, 0x09, 0x03, + 0x20, 0x54, 0x54, 0x79, 0x41, + 0x00, 0x00, 0x44, 0x7D, 0x41, + 0x30, 0x48, 0x48, 0x4A, 0x32, + 0x38, 0x40, 0x40, 0x22, 0x7A, + 0x00, 0x7A, 0x0A, 0x0A, 0x72, + 0x7D, 0x0D, 0x19, 0x31, 0x7D, + 0x26, 0x29, 0x29, 0x2F, 0x28, + 0x26, 0x29, 0x29, 0x29, 0x26, + 0x30, 0x48, 0x4D, 0x40, 0x20, + 0x38, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x38, + 0x2F, 0x10, 0xC8, 0xAC, 0xBA, + 0x2F, 0x10, 0x28, 0x34, 0xFA, + 0x00, 0x00, 0x7B, 0x00, 0x00, + 0x08, 0x14, 0x2A, 0x14, 0x22, + 0x22, 0x14, 0x2A, 0x14, 0x08, + 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code + 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block + 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block + 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x10, 0x10, 0x10, 0xFF, 0x00, + 0x14, 0x14, 0x14, 0xFF, 0x00, + 0x10, 0x10, 0xFF, 0x00, 0xFF, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x14, 0x14, 0x14, 0xFC, 0x00, + 0x14, 0x14, 0xF7, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x14, 0x14, 0xF4, 0x04, 0xFC, + 0x14, 0x14, 0x17, 0x10, 0x1F, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0x1F, 0x00, + 0x10, 0x10, 0x10, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0xF0, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0xFF, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x14, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x1F, 0x10, 0x17, + 0x00, 0x00, 0xFC, 0x04, 0xF4, + 0x14, 0x14, 0x17, 0x10, 0x17, + 0x14, 0x14, 0xF4, 0x04, 0xF4, + 0x00, 0x00, 0xFF, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0xF7, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x17, 0x14, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0xF4, 0x14, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x00, 0x00, 0x1F, 0x10, 0x1F, + 0x00, 0x00, 0x00, 0x1F, 0x14, + 0x00, 0x00, 0x00, 0xFC, 0x14, + 0x00, 0x00, 0xF0, 0x10, 0xF0, + 0x10, 0x10, 0xFF, 0x10, 0xFF, + 0x14, 0x14, 0x14, 0xFF, 0x14, + 0x10, 0x10, 0x10, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x10, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x38, 0x44, 0x44, 0x38, 0x44, + 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta + 0x7E, 0x02, 0x02, 0x06, 0x06, + 0x02, 0x7E, 0x02, 0x7E, 0x02, + 0x63, 0x55, 0x49, 0x41, 0x63, + 0x38, 0x44, 0x44, 0x3C, 0x04, + 0x40, 0x7E, 0x20, 0x1E, 0x20, + 0x06, 0x02, 0x7E, 0x02, 0x02, + 0x99, 0xA5, 0xE7, 0xA5, 0x99, + 0x1C, 0x2A, 0x49, 0x2A, 0x1C, + 0x4C, 0x72, 0x01, 0x72, 0x4C, + 0x30, 0x4A, 0x4D, 0x4D, 0x30, + 0x30, 0x48, 0x78, 0x48, 0x30, + 0xBC, 0x62, 0x5A, 0x46, 0x3D, + 0x3E, 0x49, 0x49, 0x49, 0x00, + 0x7E, 0x01, 0x01, 0x01, 0x7E, + 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, + 0x44, 0x44, 0x5F, 0x44, 0x44, + 0x40, 0x51, 0x4A, 0x44, 0x40, + 0x40, 0x44, 0x4A, 0x51, 0x40, + 0x00, 0x00, 0xFF, 0x01, 0x03, + 0xE0, 0x80, 0xFF, 0x00, 0x00, + 0x08, 0x08, 0x6B, 0x6B, 0x08, + 0x36, 0x12, 0x36, 0x24, 0x36, + 0x06, 0x0F, 0x09, 0x0F, 0x06, + 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, + 0x30, 0x40, 0xFF, 0x01, 0x01, + 0x00, 0x1F, 0x01, 0x01, 0x1E, + 0x00, 0x19, 0x1D, 0x17, 0x12, + 0x00, 0x3C, 0x3C, 0x3C, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP +}; +#endif // FONT5X7_H diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/library.properties b/SD_Makefile_Build/libs/Adafruit_GFX/library.properties new file mode 100644 index 0000000..d535336 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/library.properties @@ -0,0 +1,9 @@ +name=Adafruit GFX Library +version=1.1.9 +author=Adafruit +maintainer=Adafruit +sentence=Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from. +paragraph=Install this library in addition to the display library for your hardware. +category=Display +url=https://github.com/adafruit/Adafruit-GFX-Library +architectures=* diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/license.txt b/SD_Makefile_Build/libs/Adafruit_GFX/license.txt new file mode 100644 index 0000000..7492e93 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_GFX/license.txt @@ -0,0 +1,24 @@ +Software License Agreement (BSD License) + +Copyright (c) 2012 Adafruit Industries. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md b/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..f0e2614 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,46 @@ +Thank you for opening an issue on an Adafruit Arduino library repository. To +improve the speed of resolution please review the following guidelines and +common troubleshooting steps below before creating the issue: + +- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use + the forums at http://forums.adafruit.com to ask questions and troubleshoot why + something isn't working as expected. In many cases the problem is a common issue + that you will more quickly receive help from the forum community. GitHub issues + are meant for known defects in the code. If you don't know if there is a defect + in the code then start with troubleshooting on the forum first. + +- **If following a tutorial or guide be sure you didn't miss a step.** Carefully + check all of the steps and commands to run have been followed. Consult the + forum if you're unsure or have questions about steps in a guide/tutorial. + +- **For Arduino projects check these very common issues to ensure they don't apply**: + + - For uploading sketches or communicating with the board make sure you're using + a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes + very hard to tell the difference between a data and charge cable! Try using the + cable with other devices or swapping to another cable to confirm it is not + the problem. + + - **Be sure you are supplying adequate power to the board.** Check the specs of + your board and plug in an external power supply. In many cases just + plugging a board into your computer is not enough to power it and other + peripherals. + + - **Double check all soldering joints and connections.** Flakey connections + cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints. + + - **Ensure you are using an official Arduino or Adafruit board.** We can't + guarantee a clone board will have the same functionality and work as expected + with this code and don't support them. + +If you're sure this issue is a defect in the code and checked the steps above +please fill in the following fields to provide enough troubleshooting information. +You may delete the guideline and text above to just leave the following details: + +- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE** + +- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO + VERSION HERE** + +- List the steps to reproduce the problem below (if possible attach a sketch or + copy the sketch code in too): **LIST REPRO STEPS BELOW** diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md b/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..7b641eb --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +Thank you for creating a pull request to contribute to Adafruit's GitHub code! +Before you open the request please review the following guidelines and tips to +help it be more easily integrated: + +- **Describe the scope of your change--i.e. what the change does and what parts + of the code were modified.** This will help us understand any risks of integrating + the code. + +- **Describe any known limitations with your change.** For example if the change + doesn't apply to a supported platform of the library please mention it. + +- **Please run any tests or examples that can exercise your modified code.** We + strive to not break users of the code and running tests/examples helps with this + process. + +Thank you again for contributing! We will try to test and integrate the change +as soon as we can, but be aware we have many GitHub repositories to manage and +can't immediately respond to every request. There is no need to bump or check in +on a pull request (it will clutter the discussion of the request). + +Also don't be worried if the request is closed or not integrated--sometimes the +priorities of Adafruit's GitHub code (education, ease of use) might not match the +priorities of the pull request. Don't fret, the open source community thrives on +forks and GitHub makes it easy to keep your changes in a forked repo. + +After reviewing the guidelines above you can delete this text from the pull request. diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp b/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp new file mode 100755 index 0000000..d6cf251 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp @@ -0,0 +1,736 @@ +/*************************************************** + This is a library for the Adafruit 1.8" SPI display. + +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include "Adafruit_ST7735.h" +#include +#include "pins_arduino.h" +#include "wiring_private.h" +#include + +inline uint16_t swapcolor(uint16_t x) { + return (x << 11) | (x & 0x07E0) | (x >> 11); +} + +#if defined (SPI_HAS_TRANSACTION) + static SPISettings mySPISettings; +#elif defined (__AVR__) + static uint8_t SPCRbackup; + static uint8_t mySPCR; +#endif + + + +// Constructor when using software SPI. All output pins are configurable. +Adafruit_ST7735::Adafruit_ST7735(int8_t cs, int8_t rs, int8_t sid, int8_t sclk, int8_t rst) + : Adafruit_GFX(ST7735_TFTWIDTH, ST7735_TFTHEIGHT_18) +{ + _cs = cs; + _rs = rs; + _sid = sid; + _sclk = sclk; + _rst = rst; + hwSPI = false; +} + + +// Constructor when using hardware SPI. Faster, but must use SPI pins +// specific to each board type (e.g. 11,13 for Uno, 51,52 for Mega, etc.) +Adafruit_ST7735::Adafruit_ST7735(int8_t cs, int8_t rs, int8_t rst) + : Adafruit_GFX(ST7735_TFTWIDTH, ST7735_TFTHEIGHT_18) { + _cs = cs; + _rs = rs; + _rst = rst; + hwSPI = true; + _sid = _sclk = 0; +} + +#if defined(CORE_TEENSY) && !defined(__AVR__) +#define __AVR__ +#endif + +inline void Adafruit_ST7735::spiwrite(uint8_t c) { + + //Serial.println(c, HEX); + + if (hwSPI) { +#if defined (SPI_HAS_TRANSACTION) + SPI.transfer(c); +#elif defined (__AVR__) + SPCRbackup = SPCR; + SPCR = mySPCR; + SPI.transfer(c); + SPCR = SPCRbackup; +// SPDR = c; +// while(!(SPSR & _BV(SPIF))); +#elif defined (__arm__) + SPI.setClockDivider(21); //4MHz + SPI.setDataMode(SPI_MODE0); + SPI.transfer(c); +#endif + } else { + // Fast SPI bitbang swiped from LPD8806 library + for(uint8_t bit = 0x80; bit; bit >>= 1) { + if(c & bit) *dataport |= datapinmask; + else *dataport &= ~datapinmask; + *clkport |= clkpinmask; + *clkport &= ~clkpinmask; + } + } +} + + +void Adafruit_ST7735::writecommand(uint8_t c) { +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport &= ~rspinmask; + *csport &= ~cspinmask; + + //Serial.print("C "); + spiwrite(c); + + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + + +void Adafruit_ST7735::writedata(uint8_t c) { +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + + //Serial.print("D "); + spiwrite(c); + + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + +// Rather than a bazillion writecommand() and writedata() calls, screen +// initialization commands and arguments are organized in these tables +// stored in PROGMEM. The table may look bulky, but that's mostly the +// formatting -- storage-wise this is hundreds of bytes more compact +// than the equivalent code. Companion function follows. +#define DELAY 0x80 +static const uint8_t PROGMEM + Bcmd[] = { // Initialization commands for 7735B screens + 18, // 18 commands in list: + ST7735_SWRESET, DELAY, // 1: Software reset, no args, w/delay + 50, // 50 ms delay + ST7735_SLPOUT , DELAY, // 2: Out of sleep mode, no args, w/delay + 255, // 255 = 500 ms delay + ST7735_COLMOD , 1+DELAY, // 3: Set color mode, 1 arg + delay: + 0x05, // 16-bit color + 10, // 10 ms delay + ST7735_FRMCTR1, 3+DELAY, // 4: Frame rate control, 3 args + delay: + 0x00, // fastest refresh + 0x06, // 6 lines front porch + 0x03, // 3 lines back porch + 10, // 10 ms delay + ST7735_MADCTL , 1 , // 5: Memory access ctrl (directions), 1 arg: + 0x08, // Row addr/col addr, bottom to top refresh + ST7735_DISSET5, 2 , // 6: Display settings #5, 2 args, no delay: + 0x15, // 1 clk cycle nonoverlap, 2 cycle gate + // rise, 3 cycle osc equalize + 0x02, // Fix on VTL + ST7735_INVCTR , 1 , // 7: Display inversion control, 1 arg: + 0x0, // Line inversion + ST7735_PWCTR1 , 2+DELAY, // 8: Power control, 2 args + delay: + 0x02, // GVDD = 4.7V + 0x70, // 1.0uA + 10, // 10 ms delay + ST7735_PWCTR2 , 1 , // 9: Power control, 1 arg, no delay: + 0x05, // VGH = 14.7V, VGL = -7.35V + ST7735_PWCTR3 , 2 , // 10: Power control, 2 args, no delay: + 0x01, // Opamp current small + 0x02, // Boost frequency + ST7735_VMCTR1 , 2+DELAY, // 11: Power control, 2 args + delay: + 0x3C, // VCOMH = 4V + 0x38, // VCOML = -1.1V + 10, // 10 ms delay + ST7735_PWCTR6 , 2 , // 12: Power control, 2 args, no delay: + 0x11, 0x15, + ST7735_GMCTRP1,16 , // 13: Magical unicorn dust, 16 args, no delay: + 0x09, 0x16, 0x09, 0x20, // (seriously though, not sure what + 0x21, 0x1B, 0x13, 0x19, // these config values represent) + 0x17, 0x15, 0x1E, 0x2B, + 0x04, 0x05, 0x02, 0x0E, + ST7735_GMCTRN1,16+DELAY, // 14: Sparkles and rainbows, 16 args + delay: + 0x0B, 0x14, 0x08, 0x1E, // (ditto) + 0x22, 0x1D, 0x18, 0x1E, + 0x1B, 0x1A, 0x24, 0x2B, + 0x06, 0x06, 0x02, 0x0F, + 10, // 10 ms delay + ST7735_CASET , 4 , // 15: Column addr set, 4 args, no delay: + 0x00, 0x02, // XSTART = 2 + 0x00, 0x81, // XEND = 129 + ST7735_RASET , 4 , // 16: Row addr set, 4 args, no delay: + 0x00, 0x02, // XSTART = 1 + 0x00, 0x81, // XEND = 160 + ST7735_NORON , DELAY, // 17: Normal display on, no args, w/delay + 10, // 10 ms delay + ST7735_DISPON , DELAY, // 18: Main screen turn on, no args, w/delay + 255 }, // 255 = 500 ms delay + + Rcmd1[] = { // Init for 7735R, part 1 (red or green tab) + 15, // 15 commands in list: + ST7735_SWRESET, DELAY, // 1: Software reset, 0 args, w/delay + 150, // 150 ms delay + ST7735_SLPOUT , DELAY, // 2: Out of sleep mode, 0 args, w/delay + 255, // 500 ms delay + ST7735_FRMCTR1, 3 , // 3: Frame rate ctrl - normal mode, 3 args: + 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) + ST7735_FRMCTR2, 3 , // 4: Frame rate control - idle mode, 3 args: + 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) + ST7735_FRMCTR3, 6 , // 5: Frame rate ctrl - partial mode, 6 args: + 0x01, 0x2C, 0x2D, // Dot inversion mode + 0x01, 0x2C, 0x2D, // Line inversion mode + ST7735_INVCTR , 1 , // 6: Display inversion ctrl, 1 arg, no delay: + 0x07, // No inversion + ST7735_PWCTR1 , 3 , // 7: Power control, 3 args, no delay: + 0xA2, + 0x02, // -4.6V + 0x84, // AUTO mode + ST7735_PWCTR2 , 1 , // 8: Power control, 1 arg, no delay: + 0xC5, // VGH25 = 2.4C VGSEL = -10 VGH = 3 * AVDD + ST7735_PWCTR3 , 2 , // 9: Power control, 2 args, no delay: + 0x0A, // Opamp current small + 0x00, // Boost frequency + ST7735_PWCTR4 , 2 , // 10: Power control, 2 args, no delay: + 0x8A, // BCLK/2, Opamp current small & Medium low + 0x2A, + ST7735_PWCTR5 , 2 , // 11: Power control, 2 args, no delay: + 0x8A, 0xEE, + ST7735_VMCTR1 , 1 , // 12: Power control, 1 arg, no delay: + 0x0E, + ST7735_INVOFF , 0 , // 13: Don't invert display, no args, no delay + ST7735_MADCTL , 1 , // 14: Memory access control (directions), 1 arg: + 0xC8, // row addr/col addr, bottom to top refresh + ST7735_COLMOD , 1 , // 15: set color mode, 1 arg, no delay: + 0x05 }, // 16-bit color + + Rcmd2green[] = { // Init for 7735R, part 2 (green tab only) + 2, // 2 commands in list: + ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: + 0x00, 0x02, // XSTART = 0 + 0x00, 0x7F+0x02, // XEND = 127 + ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: + 0x00, 0x01, // XSTART = 0 + 0x00, 0x9F+0x01 }, // XEND = 159 + Rcmd2red[] = { // Init for 7735R, part 2 (red tab only) + 2, // 2 commands in list: + ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: + 0x00, 0x00, // XSTART = 0 + 0x00, 0x7F, // XEND = 127 + ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: + 0x00, 0x00, // XSTART = 0 + 0x00, 0x9F }, // XEND = 159 + + Rcmd2green144[] = { // Init for 7735R, part 2 (green 1.44 tab) + 2, // 2 commands in list: + ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: + 0x00, 0x00, // XSTART = 0 + 0x00, 0x7F, // XEND = 127 + ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: + 0x00, 0x00, // XSTART = 0 + 0x00, 0x7F }, // XEND = 127 + + Rcmd3[] = { // Init for 7735R, part 3 (red or green tab) + 4, // 4 commands in list: + ST7735_GMCTRP1, 16 , // 1: Magical unicorn dust, 16 args, no delay: + 0x02, 0x1c, 0x07, 0x12, + 0x37, 0x32, 0x29, 0x2d, + 0x29, 0x25, 0x2B, 0x39, + 0x00, 0x01, 0x03, 0x10, + ST7735_GMCTRN1, 16 , // 2: Sparkles and rainbows, 16 args, no delay: + 0x03, 0x1d, 0x07, 0x06, + 0x2E, 0x2C, 0x29, 0x2D, + 0x2E, 0x2E, 0x37, 0x3F, + 0x00, 0x00, 0x02, 0x10, + ST7735_NORON , DELAY, // 3: Normal display on, no args, w/delay + 10, // 10 ms delay + ST7735_DISPON , DELAY, // 4: Main screen turn on, no args w/delay + 100 }; // 100 ms delay + + +// Companion code to the above tables. Reads and issues +// a series of LCD commands stored in PROGMEM byte array. +void Adafruit_ST7735::commandList(const uint8_t *addr) { + + uint8_t numCommands, numArgs; + uint16_t ms; + + numCommands = pgm_read_byte(addr++); // Number of commands to follow + while(numCommands--) { // For each command... + writecommand(pgm_read_byte(addr++)); // Read, issue command + numArgs = pgm_read_byte(addr++); // Number of args to follow + ms = numArgs & DELAY; // If hibit set, delay follows args + numArgs &= ~DELAY; // Mask out delay bit + while(numArgs--) { // For each argument... + writedata(pgm_read_byte(addr++)); // Read, issue argument + } + + if(ms) { + ms = pgm_read_byte(addr++); // Read post-command delay time (ms) + if(ms == 255) ms = 500; // If 255, delay for 500 ms + delay(ms); + } + } +} + + +// Initialization code common to both 'B' and 'R' type displays +void Adafruit_ST7735::commonInit(const uint8_t *cmdList) { + colstart = rowstart = 0; // May be overridden in init func + + pinMode(_rs, OUTPUT); + pinMode(_cs, OUTPUT); + csport = portOutputRegister(digitalPinToPort(_cs)); + rsport = portOutputRegister(digitalPinToPort(_rs)); + cspinmask = digitalPinToBitMask(_cs); + rspinmask = digitalPinToBitMask(_rs); + + if(hwSPI) { // Using hardware SPI +#if defined (SPI_HAS_TRANSACTION) + SPI.begin(); + mySPISettings = SPISettings(8000000, MSBFIRST, SPI_MODE0); +#elif defined (__AVR__) + SPCRbackup = SPCR; + SPI.begin(); + SPI.setClockDivider(SPI_CLOCK_DIV4); + SPI.setDataMode(SPI_MODE0); + mySPCR = SPCR; // save our preferred state + //Serial.print("mySPCR = 0x"); Serial.println(SPCR, HEX); + SPCR = SPCRbackup; // then restore +#elif defined (__SAM3X8E__) + SPI.begin(); + SPI.setClockDivider(21); //4MHz + SPI.setDataMode(SPI_MODE0); +#endif + } else { + pinMode(_sclk, OUTPUT); + pinMode(_sid , OUTPUT); + clkport = portOutputRegister(digitalPinToPort(_sclk)); + dataport = portOutputRegister(digitalPinToPort(_sid)); + clkpinmask = digitalPinToBitMask(_sclk); + datapinmask = digitalPinToBitMask(_sid); + *clkport &= ~clkpinmask; + *dataport &= ~datapinmask; + } + + // toggle RST low to reset; CS low so it'll listen to us + *csport &= ~cspinmask; + if (_rst) { + pinMode(_rst, OUTPUT); + digitalWrite(_rst, HIGH); + delay(500); + digitalWrite(_rst, LOW); + delay(500); + digitalWrite(_rst, HIGH); + delay(500); + } + + if(cmdList) commandList(cmdList); +} + + +// Initialization for ST7735B screens +void Adafruit_ST7735::initB(void) { + commonInit(Bcmd); +} + + +// Initialization for ST7735R screens (green or red tabs) +void Adafruit_ST7735::initR(uint8_t options) { + commonInit(Rcmd1); + if(options == INITR_GREENTAB) { + commandList(Rcmd2green); + colstart = 2; + rowstart = 1; + } else if(options == INITR_144GREENTAB) { + _height = ST7735_TFTHEIGHT_144; + commandList(Rcmd2green144); + colstart = 2; + rowstart = 3; + } else { + // colstart, rowstart left at default '0' values + commandList(Rcmd2red); + } + commandList(Rcmd3); + + // if black, change MADCTL color filter + if (options == INITR_BLACKTAB) { + writecommand(ST7735_MADCTL); + writedata(0xC0); + } + + tabcolor = options; +} + + +void Adafruit_ST7735::setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, + uint8_t y1) { + + writecommand(ST7735_CASET); // Column addr set + writedata(0x00); + writedata(x0+colstart); // XSTART + writedata(0x00); + writedata(x1+colstart); // XEND + + writecommand(ST7735_RASET); // Row addr set + writedata(0x00); + writedata(y0+rowstart); // YSTART + writedata(0x00); + writedata(y1+rowstart); // YEND + + writecommand(ST7735_RAMWR); // write to RAM +} + + +void Adafruit_ST7735::pushColor(uint16_t color) { +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + + spiwrite(color >> 8); + spiwrite(color); + + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + +void Adafruit_ST7735::drawPixel(int16_t x, int16_t y, uint16_t color) { + + if((x < 0) ||(x >= _width) || (y < 0) || (y >= _height)) return; + + setAddrWindow(x,y,x+1,y+1); + +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + + spiwrite(color >> 8); + spiwrite(color); + + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + + +void Adafruit_ST7735::drawFastVLine(int16_t x, int16_t y, int16_t h, + uint16_t color) { + + // Rudimentary clipping + if((x >= _width) || (y >= _height)) return; + if((y+h-1) >= _height) h = _height-y; + setAddrWindow(x, y, x, y+h-1); + + uint8_t hi = color >> 8, lo = color; + +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + while (h--) { + spiwrite(hi); + spiwrite(lo); + } + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + + +void Adafruit_ST7735::drawFastHLine(int16_t x, int16_t y, int16_t w, + uint16_t color) { + + // Rudimentary clipping + if((x >= _width) || (y >= _height)) return; + if((x+w-1) >= _width) w = _width-x; + setAddrWindow(x, y, x+w-1, y); + + uint8_t hi = color >> 8, lo = color; + +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + while (w--) { + spiwrite(hi); + spiwrite(lo); + } + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + + + +void Adafruit_ST7735::fillScreen(uint16_t color) { + fillRect(0, 0, _width, _height, color); +} + + + +// fill a rectangle +void Adafruit_ST7735::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, + uint16_t color) { + + // rudimentary clipping (drawChar w/big text requires this) + if((x >= _width) || (y >= _height)) return; + if((x + w - 1) >= _width) w = _width - x; + if((y + h - 1) >= _height) h = _height - y; + + setAddrWindow(x, y, x+w-1, y+h-1); + + uint8_t hi = color >> 8, lo = color; + +#if defined (SPI_HAS_TRANSACTION) + SPI.beginTransaction(mySPISettings); +#endif + *rsport |= rspinmask; + *csport &= ~cspinmask; + for(y=h; y>0; y--) { + for(x=w; x>0; x--) { + spiwrite(hi); + spiwrite(lo); + } + } + + *csport |= cspinmask; +#if defined (SPI_HAS_TRANSACTION) + SPI.endTransaction(); +#endif +} + + +// Pass 8-bit (each) R,G,B, get back 16-bit packed color +uint16_t Adafruit_ST7735::Color565(uint8_t r, uint8_t g, uint8_t b) { + return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3); +} + + +#define MADCTL_MY 0x80 +#define MADCTL_MX 0x40 +#define MADCTL_MV 0x20 +#define MADCTL_ML 0x10 +#define MADCTL_RGB 0x00 +#define MADCTL_BGR 0x08 +#define MADCTL_MH 0x04 + +void Adafruit_ST7735::setRotation(uint8_t m) { + + writecommand(ST7735_MADCTL); + rotation = m % 4; // can't be higher than 3 + switch (rotation) { + case 0: + if (tabcolor == INITR_BLACKTAB) { + writedata(MADCTL_MX | MADCTL_MY | MADCTL_RGB); + } else { + writedata(MADCTL_MX | MADCTL_MY | MADCTL_BGR); + } + _width = ST7735_TFTWIDTH; + + if (tabcolor == INITR_144GREENTAB) + _height = ST7735_TFTHEIGHT_144; + else + _height = ST7735_TFTHEIGHT_18; + + break; + case 1: + if (tabcolor == INITR_BLACKTAB) { + writedata(MADCTL_MY | MADCTL_MV | MADCTL_RGB); + } else { + writedata(MADCTL_MY | MADCTL_MV | MADCTL_BGR); + } + + if (tabcolor == INITR_144GREENTAB) + _width = ST7735_TFTHEIGHT_144; + else + _width = ST7735_TFTHEIGHT_18; + + _height = ST7735_TFTWIDTH; + break; + case 2: + if (tabcolor == INITR_BLACKTAB) { + writedata(MADCTL_RGB); + } else { + writedata(MADCTL_BGR); + } + _width = ST7735_TFTWIDTH; + if (tabcolor == INITR_144GREENTAB) + _height = ST7735_TFTHEIGHT_144; + else + _height = ST7735_TFTHEIGHT_18; + + break; + case 3: + if (tabcolor == INITR_BLACKTAB) { + writedata(MADCTL_MX | MADCTL_MV | MADCTL_RGB); + } else { + writedata(MADCTL_MX | MADCTL_MV | MADCTL_BGR); + } + if (tabcolor == INITR_144GREENTAB) + _width = ST7735_TFTHEIGHT_144; + else + _width = ST7735_TFTHEIGHT_18; + + _height = ST7735_TFTWIDTH; + break; + } +} + + +void Adafruit_ST7735::invertDisplay(boolean i) { + writecommand(i ? ST7735_INVON : ST7735_INVOFF); +} + + +////////// stuff not actively being used, but kept for posterity +/* + + uint8_t Adafruit_ST7735::spiread(void) { + uint8_t r = 0; + if (_sid > 0) { + r = shiftIn(_sid, _sclk, MSBFIRST); + } else { + //SID_DDR &= ~_BV(SID); + //int8_t i; + //for (i=7; i>=0; i--) { + // SCLK_PORT &= ~_BV(SCLK); + // r <<= 1; + // r |= (SID_PIN >> SID) & 0x1; + // SCLK_PORT |= _BV(SCLK); + //} + //SID_DDR |= _BV(SID); + + } + return r; + } + + + void Adafruit_ST7735::dummyclock(void) { + + if (_sid > 0) { + digitalWrite(_sclk, LOW); + digitalWrite(_sclk, HIGH); + } else { + // SCLK_PORT &= ~_BV(SCLK); + //SCLK_PORT |= _BV(SCLK); + } + } + uint8_t Adafruit_ST7735::readdata(void) { + *portOutputRegister(rsport) |= rspin; + + *portOutputRegister(csport) &= ~ cspin; + + uint8_t r = spiread(); + + *portOutputRegister(csport) |= cspin; + + return r; + + } + + uint8_t Adafruit_ST7735::readcommand8(uint8_t c) { + digitalWrite(_rs, LOW); + + *portOutputRegister(csport) &= ~ cspin; + + spiwrite(c); + + digitalWrite(_rs, HIGH); + pinMode(_sid, INPUT); // input! + digitalWrite(_sid, LOW); // low + spiread(); + uint8_t r = spiread(); + + + *portOutputRegister(csport) |= cspin; + + + pinMode(_sid, OUTPUT); // back to output + return r; + } + + + uint16_t Adafruit_ST7735::readcommand16(uint8_t c) { + digitalWrite(_rs, LOW); + if (_cs) + digitalWrite(_cs, LOW); + + spiwrite(c); + pinMode(_sid, INPUT); // input! + uint16_t r = spiread(); + r <<= 8; + r |= spiread(); + if (_cs) + digitalWrite(_cs, HIGH); + + pinMode(_sid, OUTPUT); // back to output + return r; + } + + uint32_t Adafruit_ST7735::readcommand32(uint8_t c) { + digitalWrite(_rs, LOW); + if (_cs) + digitalWrite(_cs, LOW); + spiwrite(c); + pinMode(_sid, INPUT); // input! + + dummyclock(); + dummyclock(); + + uint32_t r = spiread(); + r <<= 8; + r |= spiread(); + r <<= 8; + r |= spiread(); + r <<= 8; + r |= spiread(); + if (_cs) + digitalWrite(_cs, HIGH); + + pinMode(_sid, OUTPUT); // back to output + return r; + } + + */ diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h b/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h new file mode 100755 index 0000000..0598720 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h @@ -0,0 +1,188 @@ +/*************************************************** + This is a library for the Adafruit 1.8" SPI display. + +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#ifndef _ADAFRUIT_ST7735H_ +#define _ADAFRUIT_ST7735H_ + +#if ARDUINO >= 100 + #include "Arduino.h" + #include "Print.h" +#else + #include "WProgram.h" +#endif + +#include + +#if defined(__SAM3X8E__) + #include + #define PROGMEM + #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) + #define pgm_read_word(addr) (*(const unsigned short *)(addr)) + typedef unsigned char prog_uchar; +#elif defined(__AVR__) + #include +#elif defined(ESP8266) + #include +#endif + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +// some flags for initR() :( +#define INITR_GREENTAB 0x0 +#define INITR_REDTAB 0x1 +#define INITR_BLACKTAB 0x2 + +#define INITR_18GREENTAB INITR_GREENTAB +#define INITR_18REDTAB INITR_REDTAB +#define INITR_18BLACKTAB INITR_BLACKTAB +#define INITR_144GREENTAB 0x1 + +#define ST7735_TFTWIDTH 128 +// for 1.44" display +#define ST7735_TFTHEIGHT_144 128 +// for 1.8" display +#define ST7735_TFTHEIGHT_18 160 + +#define ST7735_NOP 0x00 +#define ST7735_SWRESET 0x01 +#define ST7735_RDDID 0x04 +#define ST7735_RDDST 0x09 + +#define ST7735_SLPIN 0x10 +#define ST7735_SLPOUT 0x11 +#define ST7735_PTLON 0x12 +#define ST7735_NORON 0x13 + +#define ST7735_INVOFF 0x20 +#define ST7735_INVON 0x21 +#define ST7735_DISPOFF 0x28 +#define ST7735_DISPON 0x29 +#define ST7735_CASET 0x2A +#define ST7735_RASET 0x2B +#define ST7735_RAMWR 0x2C +#define ST7735_RAMRD 0x2E + +#define ST7735_PTLAR 0x30 +#define ST7735_COLMOD 0x3A +#define ST7735_MADCTL 0x36 + +#define ST7735_FRMCTR1 0xB1 +#define ST7735_FRMCTR2 0xB2 +#define ST7735_FRMCTR3 0xB3 +#define ST7735_INVCTR 0xB4 +#define ST7735_DISSET5 0xB6 + +#define ST7735_PWCTR1 0xC0 +#define ST7735_PWCTR2 0xC1 +#define ST7735_PWCTR3 0xC2 +#define ST7735_PWCTR4 0xC3 +#define ST7735_PWCTR5 0xC4 +#define ST7735_VMCTR1 0xC5 + +#define ST7735_RDID1 0xDA +#define ST7735_RDID2 0xDB +#define ST7735_RDID3 0xDC +#define ST7735_RDID4 0xDD + +#define ST7735_PWCTR6 0xFC + +#define ST7735_GMCTRP1 0xE0 +#define ST7735_GMCTRN1 0xE1 + +// Color definitions +#define ST7735_BLACK 0x0000 +#define ST7735_BLUE 0x001F +#define ST7735_RED 0xF800 +#define ST7735_GREEN 0x07E0 +#define ST7735_CYAN 0x07FF +#define ST7735_MAGENTA 0xF81F +#define ST7735_YELLOW 0xFFE0 +#define ST7735_WHITE 0xFFFF + + +class Adafruit_ST7735 : public Adafruit_GFX { + + public: + + Adafruit_ST7735(int8_t CS, int8_t RS, int8_t SID, int8_t SCLK, int8_t RST = -1); + Adafruit_ST7735(int8_t CS, int8_t RS, int8_t RST = -1); + + void initB(void), // for ST7735B displays + initR(uint8_t options = INITR_GREENTAB), // for ST7735R + setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1), + pushColor(uint16_t color), + fillScreen(uint16_t color), + drawPixel(int16_t x, int16_t y, uint16_t color), + drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color), + drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color), + fillRect(int16_t x, int16_t y, int16_t w, int16_t h, + uint16_t color), + setRotation(uint8_t r), + invertDisplay(boolean i); + uint16_t Color565(uint8_t r, uint8_t g, uint8_t b); + + /* These are not for current use, 8-bit protocol only! + uint8_t readdata(void), + readcommand8(uint8_t); + uint16_t readcommand16(uint8_t); + uint32_t readcommand32(uint8_t); + void dummyclock(void); + */ + + private: + uint8_t tabcolor; + + void spiwrite(uint8_t), + writecommand(uint8_t c), + writedata(uint8_t d), + commandList(const uint8_t *addr), + commonInit(const uint8_t *cmdList); +//uint8_t spiread(void); + + boolean hwSPI; + +#if defined(__AVR__) || defined(CORE_TEENSY) + volatile uint8_t *dataport, *clkport, *csport, *rsport; + uint8_t _cs, _rs, _rst, _sid, _sclk, + datapinmask, clkpinmask, cspinmask, rspinmask, + colstart, rowstart; // some displays need this changed +#elif defined(__arm__) + volatile RwReg *dataport, *clkport, *csport, *rsport; + uint32_t _cs, _rs, _sid, _sclk, + datapinmask, clkpinmask, cspinmask, rspinmask, + colstart, rowstart; // some displays need this changed + int32_t _rst; // Must use signed type since a -1 sentinel is assigned. +#elif defined(ESP8266) + volatile uint32_t *dataport, *clkport, *csport, *rsport; + uint32_t _cs, _rs, _rst, _sid, _sclk, + datapinmask, clkpinmask, cspinmask, rspinmask, + colstart, rowstart; // some displays need this changed + +#endif + +}; + +#endif diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt b/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt new file mode 100644 index 0000000..e7881f6 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt @@ -0,0 +1,26 @@ +This is a library for the Adafruit 1.8" SPI display. +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + +Check out the links above for our tutorials and wiring diagrams. +These displays use SPI to communicate, 4 or 5 pins are required +to interface (RST is optional). +Adafruit invests time and resources providing this open source code, +please support Adafruit and open-source hardware by purchasing +products from Adafruit! + +Written by Limor Fried/Ladyada for Adafruit Industries. +MIT license, all text above must be included in any redistribution + +To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder Adafruit_ST7735. Check that the Adafruit_ST7735 folder contains Adafruit_ST7735.cpp and Adafruit_ST7735. + +Place the Adafruit_ST7735 library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE + +Also requires the Adafruit_GFX library for Arduino. diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino new file mode 100644 index 0000000..11a0cf5 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino @@ -0,0 +1,300 @@ +/*************************************************** + This is a library for the Adafruit 1.8" SPI display. + +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include // Core graphics library +#include // Hardware-specific library +#include + + +// For the breakout, you can use any 2 or 3 pins +// These pins will also work for the 1.8" TFT shield +#define TFT_CS 10 +#define TFT_RST 9 // you can also connect this to the Arduino reset + // in which case, set this #define pin to 0! +#define TFT_DC 8 + +// Option 1 (recommended): must use the hardware SPI pins +// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be +// an output. This is much faster - also required if you want +// to use the microSD card (see the image drawing example) +Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); + +// Option 2: use any pins but a little slower! +#define TFT_SCLK 13 // set these to be whatever pins you like! +#define TFT_MOSI 11 // set these to be whatever pins you like! +//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); + + +float p = 3.1415926; + +void setup(void) { + Serial.begin(9600); + Serial.print("Hello! ST7735 TFT Test"); + + // Use this initializer if you're using a 1.8" TFT + tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab + + // Use this initializer (uncomment) if you're using a 1.44" TFT + //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab + + Serial.println("Initialized"); + + uint16_t time = millis(); + tft.fillScreen(ST7735_BLACK); + time = millis() - time; + + Serial.println(time, DEC); + delay(500); + + // large block of text + tft.fillScreen(ST7735_BLACK); + testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST7735_WHITE); + delay(1000); + + // tft print function! + tftPrintTest(); + delay(4000); + + // a single pixel + tft.drawPixel(tft.width()/2, tft.height()/2, ST7735_GREEN); + delay(500); + + // line draw test + testlines(ST7735_YELLOW); + delay(500); + + // optimized lines + testfastlines(ST7735_RED, ST7735_BLUE); + delay(500); + + testdrawrects(ST7735_GREEN); + delay(500); + + testfillrects(ST7735_YELLOW, ST7735_MAGENTA); + delay(500); + + tft.fillScreen(ST7735_BLACK); + testfillcircles(10, ST7735_BLUE); + testdrawcircles(10, ST7735_WHITE); + delay(500); + + testroundrects(); + delay(500); + + testtriangles(); + delay(500); + + mediabuttons(); + delay(500); + + Serial.println("done"); + delay(1000); +} + +void loop() { + tft.invertDisplay(true); + delay(500); + tft.invertDisplay(false); + delay(500); +} + +void testlines(uint16_t color) { + tft.fillScreen(ST7735_BLACK); + for (int16_t x=0; x < tft.width(); x+=6) { + tft.drawLine(0, 0, x, tft.height()-1, color); + } + for (int16_t y=0; y < tft.height(); y+=6) { + tft.drawLine(0, 0, tft.width()-1, y, color); + } + + tft.fillScreen(ST7735_BLACK); + for (int16_t x=0; x < tft.width(); x+=6) { + tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); + } + for (int16_t y=0; y < tft.height(); y+=6) { + tft.drawLine(tft.width()-1, 0, 0, y, color); + } + + tft.fillScreen(ST7735_BLACK); + for (int16_t x=0; x < tft.width(); x+=6) { + tft.drawLine(0, tft.height()-1, x, 0, color); + } + for (int16_t y=0; y < tft.height(); y+=6) { + tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); + } + + tft.fillScreen(ST7735_BLACK); + for (int16_t x=0; x < tft.width(); x+=6) { + tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); + } + for (int16_t y=0; y < tft.height(); y+=6) { + tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); + } +} + +void testdrawtext(char *text, uint16_t color) { + tft.setCursor(0, 0); + tft.setTextColor(color); + tft.setTextWrap(true); + tft.print(text); +} + +void testfastlines(uint16_t color1, uint16_t color2) { + tft.fillScreen(ST7735_BLACK); + for (int16_t y=0; y < tft.height(); y+=5) { + tft.drawFastHLine(0, y, tft.width(), color1); + } + for (int16_t x=0; x < tft.width(); x+=5) { + tft.drawFastVLine(x, 0, tft.height(), color2); + } +} + +void testdrawrects(uint16_t color) { + tft.fillScreen(ST7735_BLACK); + for (int16_t x=0; x < tft.width(); x+=6) { + tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); + } +} + +void testfillrects(uint16_t color1, uint16_t color2) { + tft.fillScreen(ST7735_BLACK); + for (int16_t x=tft.width()-1; x > 6; x-=6) { + tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); + tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); + } +} + +void testfillcircles(uint8_t radius, uint16_t color) { + for (int16_t x=radius; x < tft.width(); x+=radius*2) { + for (int16_t y=radius; y < tft.height(); y+=radius*2) { + tft.fillCircle(x, y, radius, color); + } + } +} + +void testdrawcircles(uint8_t radius, uint16_t color) { + for (int16_t x=0; x < tft.width()+radius; x+=radius*2) { + for (int16_t y=0; y < tft.height()+radius; y+=radius*2) { + tft.drawCircle(x, y, radius, color); + } + } +} + +void testtriangles() { + tft.fillScreen(ST7735_BLACK); + int color = 0xF800; + int t; + int w = tft.width()/2; + int x = tft.height()-1; + int y = 0; + int z = tft.width(); + for(t = 0 ; t <= 15; t+=1) { + tft.drawTriangle(w, y, y, x, z, x, color); + x-=4; + y+=4; + z-=4; + color+=100; + } +} + +void testroundrects() { + tft.fillScreen(ST7735_BLACK); + int color = 100; + int i; + int t; + for(t = 0 ; t <= 4; t+=1) { + int x = 0; + int y = 0; + int w = tft.width()-2; + int h = tft.height()-2; + for(i = 0 ; i <= 16; i+=1) { + tft.drawRoundRect(x, y, w, h, 5, color); + x+=2; + y+=3; + w-=4; + h-=6; + color+=1100; + } + color+=100; + } +} + +void tftPrintTest() { + tft.setTextWrap(false); + tft.fillScreen(ST7735_BLACK); + tft.setCursor(0, 30); + tft.setTextColor(ST7735_RED); + tft.setTextSize(1); + tft.println("Hello World!"); + tft.setTextColor(ST7735_YELLOW); + tft.setTextSize(2); + tft.println("Hello World!"); + tft.setTextColor(ST7735_GREEN); + tft.setTextSize(3); + tft.println("Hello World!"); + tft.setTextColor(ST7735_BLUE); + tft.setTextSize(4); + tft.print(1234.567); + delay(1500); + tft.setCursor(0, 0); + tft.fillScreen(ST7735_BLACK); + tft.setTextColor(ST7735_WHITE); + tft.setTextSize(0); + tft.println("Hello World!"); + tft.setTextSize(1); + tft.setTextColor(ST7735_GREEN); + tft.print(p, 6); + tft.println(" Want pi?"); + tft.println(" "); + tft.print(8675309, HEX); // print 8,675,309 out in HEX! + tft.println(" Print HEX!"); + tft.println(" "); + tft.setTextColor(ST7735_WHITE); + tft.println("Sketch has been"); + tft.println("running for: "); + tft.setTextColor(ST7735_MAGENTA); + tft.print(millis() / 1000); + tft.setTextColor(ST7735_WHITE); + tft.print(" seconds."); +} + +void mediabuttons() { + // play + tft.fillScreen(ST7735_BLACK); + tft.fillRoundRect(25, 10, 78, 60, 8, ST7735_WHITE); + tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_RED); + delay(500); + // pause + tft.fillRoundRect(25, 90, 78, 60, 8, ST7735_WHITE); + tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_GREEN); + tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_GREEN); + delay(500); + // play color + tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_BLUE); + delay(50); + // pause color + tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_RED); + tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_RED); + // play color + tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_GREEN); +} diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino new file mode 100644 index 0000000..0357f59 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino @@ -0,0 +1,285 @@ +/*************************************************** + This is a library for the Adafruit 1.8" SPI display. + +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include // Core graphics library +#include // Hardware-specific library +#include + + +// For the breakout, you can use any 2 or 3 pins +// These pins will also work for the 1.8" TFT shield +#define TFT_CS 10 +#define TFT_RST 9 // you can also connect this to the Arduino reset + // in which case, set this #define pin to 0! +#define TFT_DC 8 + +// Option 1 (recommended): must use the hardware SPI pins +// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be +// an output. This is much faster - also required if you want +// to use the microSD card (see the image drawing example) +Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); + +// Option 2: use any pins but a little slower! +#define TFT_SCLK 13 // set these to be whatever pins you like! +#define TFT_MOSI 11 // set these to be whatever pins you like! +//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); + +void setup(void) { + Serial.begin(9600); + Serial.print("Hello! Adafruit ST7735 rotation test"); + + // Use this initializer if you're using a 1.8" TFT + tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab + + // Use this initializer (uncomment) if you're using a 1.44" TFT + //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab + + Serial.println("init"); + + tft.setTextWrap(false); // Allow text to run off right edge + tft.fillScreen(ST7735_BLACK); + + Serial.println("This is a test of the rotation capabilities of the TFT library!"); + Serial.println("Press (or type a character) to advance"); +} + +void loop(void) { + rotateLine(); + rotateText(); + rotatePixel(); + rotateFastline(); + rotateDrawrect(); + rotateFillrect(); + rotateDrawcircle(); + rotateFillcircle(); + rotateTriangle(); + rotateFillTriangle(); + rotateRoundRect(); + rotateFillRoundRect(); + rotateChar(); + rotateString(); +} + +void rotateText() { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.setCursor(0, 30); + tft.setTextColor(ST7735_RED); + tft.setTextSize(1); + tft.println("Hello World!"); + tft.setTextColor(ST7735_YELLOW); + tft.setTextSize(2); + tft.println("Hello World!"); + tft.setTextColor(ST7735_GREEN); + tft.setTextSize(3); + tft.println("Hello World!"); + tft.setTextColor(ST7735_BLUE); + tft.setTextSize(4); + tft.print(1234.567); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateFillcircle(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.fillCircle(10, 30, 10, ST7735_YELLOW); + + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateDrawcircle(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawCircle(10, 30, 10, ST7735_YELLOW); + + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateFillrect(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.fillRect(10, 20, 10, 20, ST7735_GREEN); + + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateDrawrect(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawRect(10, 20, 10, 20, ST7735_GREEN); + + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateFastline(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawFastHLine(0, 20, tft.width(), ST7735_RED); + tft.drawFastVLine(20, 0, tft.height(), ST7735_BLUE); + + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateLine(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawLine(tft.width()/2, tft.height()/2, 0, 0, ST7735_RED); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotatePixel(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawPixel(10,20, ST7735_WHITE); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateTriangle(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawTriangle(20, 10, 10, 30, 30, 30, ST7735_GREEN); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateFillTriangle(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.fillTriangle(20, 10, 10, 30, 30, 30, ST7735_RED); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateRoundRect(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawRoundRect(20, 10, 25, 15, 5, ST7735_BLUE); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateFillRoundRect(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.fillRoundRect(20, 10, 25, 15, 5, ST7735_CYAN); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateChar(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.drawChar(25, 15, 'A', ST7735_WHITE, ST7735_WHITE, 1); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + +void rotateString(void) { + for (uint8_t i=0; i<4; i++) { + tft.fillScreen(ST7735_BLACK); + Serial.println(tft.getRotation(), DEC); + + tft.setCursor(8, 25); + tft.setTextSize(1); + tft.setTextColor(ST7735_WHITE); + tft.print("Adafruit Industries"); + while (!Serial.available()); + Serial.read(); Serial.read(); Serial.read(); + + tft.setRotation(tft.getRotation()+1); + } +} + diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino new file mode 100644 index 0000000..d88dbc6 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino @@ -0,0 +1,256 @@ +/*************************************************** + This is an example sketch for the Adafruit 1.8" TFT shield with joystick + ----> http://www.adafruit.com/products/802 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 pins are required to + interface + One pin is also needed for the joystick, we use analog 3 + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include +#include +#include +#include + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +// TFT display and SD card will share the hardware SPI interface. +// Hardware SPI pins are specific to the Arduino board type and +// cannot be remapped to alternate pins. For Arduino Uno, +// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. +#define SD_CS 4 // Chip select line for SD card +#define TFT_CS 10 // Chip select line for TFT display +#define TFT_DC 8 // Data/command line for TFT +#define TFT_RST -1 // Reset line for TFT (or connect to +5V) + +Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); + +#define BUTTON_NONE 0 +#define BUTTON_DOWN 1 +#define BUTTON_RIGHT 2 +#define BUTTON_SELECT 3 +#define BUTTON_UP 4 +#define BUTTON_LEFT 5 + +void setup(void) { + Serial.begin(9600); + + // Initialize 1.8" TFT + tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab + + Serial.println("OK!"); + tft.fillScreen(ST7735_BLACK); +} + + +uint8_t readButton(void) { + float a = analogRead(3); + + a *= 5.0; + a /= 1024.0; + + Serial.print("Button read analog = "); + Serial.println(a); + if (a < 0.2) return BUTTON_DOWN; + if (a < 1.0) return BUTTON_RIGHT; + if (a < 1.5) return BUTTON_SELECT; + if (a < 2.0) return BUTTON_UP; + if (a < 3.2) return BUTTON_LEFT; + else return BUTTON_NONE; +} + +uint8_t buttonhistory = 0; + +void loop() { + uint8_t b = readButton(); + tft.setTextSize(3); + if (b == BUTTON_DOWN) { + tft.setTextColor(ST7735_RED); + tft.setCursor(0, 10); + tft.print("Down "); + buttonhistory |= 1; + } + if (b == BUTTON_LEFT) { + tft.setTextColor(ST7735_YELLOW); + tft.setCursor(0, 35); + tft.print("Left "); + buttonhistory |= 2; + } + if (b == BUTTON_UP) { + tft.setTextColor(ST7735_GREEN); + tft.setCursor(0, 60); + tft.print("Up"); + buttonhistory |= 4; + } + if (b == BUTTON_RIGHT) { + tft.setTextColor(ST7735_BLUE); + tft.setCursor(0, 85); + tft.print("Right"); + buttonhistory |= 8; + } + if ((b == BUTTON_SELECT) && (buttonhistory == 0xF)) { + tft.setTextColor(ST7735_MAGENTA); + tft.setCursor(0, 110); + tft.print("SELECT"); + buttonhistory |= 8; + delay(2000); + Serial.print("Initializing SD card..."); + if (!SD.begin(SD_CS)) { + Serial.println("failed!"); + return; + } + bmpDraw("parrot.bmp", 0, 0); + while (1); + } + delay(100); +} + +// This function opens a Windows Bitmap (BMP) file and +// displays it at the given coordinates. It's sped up +// by reading many pixels worth of data at a time +// (rather than pixel by pixel). Increasing the buffer +// size takes more of the Arduino's precious RAM but +// makes loading a little faster. 20 pixels seems a +// good balance. + +#define BUFFPIXEL 20 + +void bmpDraw(char *filename, uint8_t x, uint8_t y) { + + File bmpFile; + int bmpWidth, bmpHeight; // W+H in pixels + uint8_t bmpDepth; // Bit depth (currently must be 24) + uint32_t bmpImageoffset; // Start of image data in file + uint32_t rowSize; // Not always = bmpWidth; may have padding + uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) + uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer + boolean goodBmp = false; // Set to true on valid header parse + boolean flip = true; // BMP is stored bottom-to-top + int w, h, row, col; + uint8_t r, g, b; + uint32_t pos = 0, startTime = millis(); + + if((x >= tft.width()) || (y >= tft.height())) return; + + Serial.println(); + Serial.print("Loading image '"); + Serial.print(filename); + Serial.println('\''); + + // Open requested file on SD card + if ((bmpFile = SD.open(filename)) == NULL) { + Serial.print("File not found"); + return; + } + + // Parse BMP header + if(read16(bmpFile) == 0x4D42) { // BMP signature + Serial.print("File size: "); Serial.println(read32(bmpFile)); + (void)read32(bmpFile); // Read & ignore creator bytes + bmpImageoffset = read32(bmpFile); // Start of image data + Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); + // Read DIB header + Serial.print("Header size: "); Serial.println(read32(bmpFile)); + bmpWidth = read32(bmpFile); + bmpHeight = read32(bmpFile); + if(read16(bmpFile) == 1) { // # planes -- must be '1' + bmpDepth = read16(bmpFile); // bits per pixel + Serial.print("Bit Depth: "); Serial.println(bmpDepth); + if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed + + goodBmp = true; // Supported BMP format -- proceed! + Serial.print("Image size: "); + Serial.print(bmpWidth); + Serial.print('x'); + Serial.println(bmpHeight); + + // BMP rows are padded (if needed) to 4-byte boundary + rowSize = (bmpWidth * 3 + 3) & ~3; + + // If bmpHeight is negative, image is in top-down order. + // This is not canon but has been observed in the wild. + if(bmpHeight < 0) { + bmpHeight = -bmpHeight; + flip = false; + } + + // Crop area to be loaded + w = bmpWidth; + h = bmpHeight; + if((x+w-1) >= tft.width()) w = tft.width() - x; + if((y+h-1) >= tft.height()) h = tft.height() - y; + + // Set TFT address window to clipped image bounds + tft.setAddrWindow(x, y, x+w-1, y+h-1); + + for (row=0; row= sizeof(sdbuffer)) { // Indeed + bmpFile.read(sdbuffer, sizeof(sdbuffer)); + buffidx = 0; // Set index to beginning + } + + // Convert pixel from BMP to TFT format, push to display + b = sdbuffer[buffidx++]; + g = sdbuffer[buffidx++]; + r = sdbuffer[buffidx++]; + tft.pushColor(tft.Color565(r,g,b)); + } // end pixel + } // end scanline + Serial.print("Loaded in "); + Serial.print(millis() - startTime); + Serial.println(" ms"); + } // end goodBmp + } + } + + bmpFile.close(); + if(!goodBmp) Serial.println("BMP format not recognized."); +} + +// These read 16- and 32-bit types from the SD card file. +// BMP data is stored little-endian, Arduino is little-endian too. +// May need to reverse subscript order if porting elsewhere. + +uint16_t read16(File f) { + uint16_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); // MSB + return result; +} + +uint32_t read32(File f) { + uint32_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); + ((uint8_t *)&result)[2] = f.read(); + ((uint8_t *)&result)[3] = f.read(); // MSB + return result; +} diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino new file mode 100644 index 0000000..89eb2e3 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino @@ -0,0 +1,219 @@ +/*************************************************** + This is an example sketch for the Adafruit 1.8" SPI display. + This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 + as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include // Core graphics library +#include // Hardware-specific library +#include +#include + +#if defined(__SAM3X8E__) + #undef __FlashStringHelper::F(string_literal) + #define F(string_literal) string_literal +#endif + +// TFT display and SD card will share the hardware SPI interface. +// Hardware SPI pins are specific to the Arduino board type and +// cannot be remapped to alternate pins. For Arduino Uno, +// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. +#define SPI_SCK 13 +#define SPI_DI 12 +#define SPI_DO 11 + +#define SD_CS 4 // Chip select line for SD card +//#define TFT_CS 10 // Chip select line for TFT display +//#define TFT_DC 9 // Data/command line for TFT +//#define TFT_RST 8 // Reset line for TFT (or connect to +5V) + +//Use these pins for the shield! +#define TFT_CS 10 +#define TFT_DC 8 +#define TFT_RST 0 // you can also connect this to the Arduino reset + +Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, SPI_DO, SPI_SCK, TFT_RST); + +void setup(void) { + Serial.begin(9600); + + // Our supplier changed the 1.8" display slightly after Jan 10, 2012 + // so that the alignment of the TFT had to be shifted by a few pixels + // this just means the init code is slightly different. Check the + // color of the tab to see which init code to try. If the display is + // cut off or has extra 'random' pixels on the top & left, try the + // other option! + // If you are seeing red and green color inversion, use Black Tab + + // If your TFT's plastic wrap has a Black Tab, use the following: + tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab + // If your TFT's plastic wrap has a Red Tab, use the following: + //tft.initR(INITR_REDTAB); // initialize a ST7735R chip, red tab + // If your TFT's plastic wrap has a Green Tab, use the following: + //tft.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab + + Serial.print("Initializing SD card..."); + if (!SD.begin(SD_CS, SPI_DO, SPI_DI, SPI_SCK)) { + Serial.println("failed!"); + return; + } + Serial.println("OK!"); + + bmpDraw("parrot.bmp", 0, 0); +} + +void loop() { +} + +// This function opens a Windows Bitmap (BMP) file and +// displays it at the given coordinates. It's sped up +// by reading many pixels worth of data at a time +// (rather than pixel by pixel). Increasing the buffer +// size takes more of the Arduino's precious RAM but +// makes loading a little faster. 20 pixels seems a +// good balance. + +#define BUFFPIXEL 20 + +void bmpDraw(char *filename, uint8_t x, uint8_t y) { + + File bmpFile; + int bmpWidth, bmpHeight; // W+H in pixels + uint8_t bmpDepth; // Bit depth (currently must be 24) + uint32_t bmpImageoffset; // Start of image data in file + uint32_t rowSize; // Not always = bmpWidth; may have padding + uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) + uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer + boolean goodBmp = false; // Set to true on valid header parse + boolean flip = true; // BMP is stored bottom-to-top + int w, h, row, col; + uint8_t r, g, b; + uint32_t pos = 0, startTime = millis(); + + if((x >= tft.width()) || (y >= tft.height())) return; + + Serial.println(); + Serial.print("Loading image '"); + Serial.print(filename); + Serial.println('\''); + + // Open requested file on SD card + if ((bmpFile = SD.open(filename)) == NULL) { + Serial.print("File not found"); + return; + } + + // Parse BMP header + if(read16(bmpFile) == 0x4D42) { // BMP signature + Serial.print("File size: "); Serial.println(read32(bmpFile)); + (void)read32(bmpFile); // Read & ignore creator bytes + bmpImageoffset = read32(bmpFile); // Start of image data + Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); + // Read DIB header + Serial.print("Header size: "); Serial.println(read32(bmpFile)); + bmpWidth = read32(bmpFile); + bmpHeight = read32(bmpFile); + if(read16(bmpFile) == 1) { // # planes -- must be '1' + bmpDepth = read16(bmpFile); // bits per pixel + Serial.print("Bit Depth: "); Serial.println(bmpDepth); + if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed + + goodBmp = true; // Supported BMP format -- proceed! + Serial.print("Image size: "); + Serial.print(bmpWidth); + Serial.print('x'); + Serial.println(bmpHeight); + + // BMP rows are padded (if needed) to 4-byte boundary + rowSize = (bmpWidth * 3 + 3) & ~3; + + // If bmpHeight is negative, image is in top-down order. + // This is not canon but has been observed in the wild. + if(bmpHeight < 0) { + bmpHeight = -bmpHeight; + flip = false; + } + + // Crop area to be loaded + w = bmpWidth; + h = bmpHeight; + if((x+w-1) >= tft.width()) w = tft.width() - x; + if((y+h-1) >= tft.height()) h = tft.height() - y; + + // Set TFT address window to clipped image bounds + tft.setAddrWindow(x, y, x+w-1, y+h-1); + + for (row=0; row= sizeof(sdbuffer)) { // Indeed + bmpFile.read(sdbuffer, sizeof(sdbuffer)); + buffidx = 0; // Set index to beginning + } + + // Convert pixel from BMP to TFT format, push to display + b = sdbuffer[buffidx++]; + g = sdbuffer[buffidx++]; + r = sdbuffer[buffidx++]; + tft.pushColor(tft.Color565(r,g,b)); + } // end pixel + } // end scanline + Serial.print("Loaded in "); + Serial.print(millis() - startTime); + Serial.println(" ms"); + } // end goodBmp + } + } + + bmpFile.close(); + if(!goodBmp) Serial.println("BMP format not recognized."); +} + +// These read 16- and 32-bit types from the SD card file. +// BMP data is stored little-endian, Arduino is little-endian too. +// May need to reverse subscript order if porting elsewhere. + +uint16_t read16(File f) { + uint16_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); // MSB + return result; +} + +uint32_t read32(File f) { + uint32_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); + ((uint8_t *)&result)[2] = f.read(); + ((uint8_t *)&result)[3] = f.read(); // MSB + return result; +} + diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino new file mode 100644 index 0000000..760a206 --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino @@ -0,0 +1,215 @@ +/*************************************************** + This is a library for the Adafruit 1.8" SPI display. + +This library works with the Adafruit 1.8" TFT Breakout w/SD card + ----> http://www.adafruit.com/products/358 +The 1.8" TFT shield + ----> https://www.adafruit.com/product/802 +The 1.44" TFT breakout + ----> https://www.adafruit.com/product/2088 +as well as Adafruit raw 1.8" TFT display + ----> http://www.adafruit.com/products/618 + + Check out the links above for our tutorials and wiring diagrams + These displays use SPI to communicate, 4 or 5 pins are required to + interface (RST is optional) + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + MIT license, all text above must be included in any redistribution + ****************************************************/ + +#include // Core graphics library +#include // Hardware-specific library +#include +#include + +// TFT display and SD card will share the hardware SPI interface. +// Hardware SPI pins are specific to the Arduino board type and +// cannot be remapped to alternate pins. For Arduino Uno, +// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. +#define TFT_CS 10 // Chip select line for TFT display +#define TFT_RST 9 // Reset line for TFT (or see below...) +#define TFT_DC 8 // Data/command line for TFT + +#define SD_CS 4 // Chip select line for SD card + +//Use this reset pin for the shield! +//#define TFT_RST 0 // you can also connect this to the Arduino reset! + +Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); + +void setup(void) { + Serial.begin(9600); + + // Use this initializer if you're using a 1.8" TFT + tft.initR(INITR_BLACKTAB); + + // Use this initializer (uncomment) if you're using a 1.44" TFT + //tft.initR(INITR_144GREENTAB); + + Serial.print("Initializing SD card..."); + if (!SD.begin(SD_CS)) { + Serial.println("failed!"); + return; + } + Serial.println("OK!"); + + // change the name here! + bmpDraw("parrot.bmp", 0, 0); + // wait 5 seconds + delay(5000); +} + +void loop() { +// uncomment these lines to draw bitmaps in different locations/rotations! +/* + tft.fillScreen(ST7735_BLACK); // Clear display + for(uint8_t i=0; i<4; i++) // Draw 4 parrots + bmpDraw("parrot.bmp", tft.width() / 4 * i, tft.height() / 4 * i); + delay(1000); + tft.setRotation(tft.getRotation() + 1); // Inc rotation 90 degrees +*/ +} + +// This function opens a Windows Bitmap (BMP) file and +// displays it at the given coordinates. It's sped up +// by reading many pixels worth of data at a time +// (rather than pixel by pixel). Increasing the buffer +// size takes more of the Arduino's precious RAM but +// makes loading a little faster. 20 pixels seems a +// good balance. + +#define BUFFPIXEL 20 + +void bmpDraw(char *filename, uint8_t x, uint8_t y) { + + File bmpFile; + int bmpWidth, bmpHeight; // W+H in pixels + uint8_t bmpDepth; // Bit depth (currently must be 24) + uint32_t bmpImageoffset; // Start of image data in file + uint32_t rowSize; // Not always = bmpWidth; may have padding + uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) + uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer + boolean goodBmp = false; // Set to true on valid header parse + boolean flip = true; // BMP is stored bottom-to-top + int w, h, row, col; + uint8_t r, g, b; + uint32_t pos = 0, startTime = millis(); + + if((x >= tft.width()) || (y >= tft.height())) return; + + Serial.println(); + Serial.print("Loading image '"); + Serial.print(filename); + Serial.println('\''); + + // Open requested file on SD card + if ((bmpFile = SD.open(filename)) == NULL) { + Serial.print("File not found"); + return; + } + + // Parse BMP header + if(read16(bmpFile) == 0x4D42) { // BMP signature + Serial.print("File size: "); Serial.println(read32(bmpFile)); + (void)read32(bmpFile); // Read & ignore creator bytes + bmpImageoffset = read32(bmpFile); // Start of image data + Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); + // Read DIB header + Serial.print("Header size: "); Serial.println(read32(bmpFile)); + bmpWidth = read32(bmpFile); + bmpHeight = read32(bmpFile); + if(read16(bmpFile) == 1) { // # planes -- must be '1' + bmpDepth = read16(bmpFile); // bits per pixel + Serial.print("Bit Depth: "); Serial.println(bmpDepth); + if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed + + goodBmp = true; // Supported BMP format -- proceed! + Serial.print("Image size: "); + Serial.print(bmpWidth); + Serial.print('x'); + Serial.println(bmpHeight); + + // BMP rows are padded (if needed) to 4-byte boundary + rowSize = (bmpWidth * 3 + 3) & ~3; + + // If bmpHeight is negative, image is in top-down order. + // This is not canon but has been observed in the wild. + if(bmpHeight < 0) { + bmpHeight = -bmpHeight; + flip = false; + } + + // Crop area to be loaded + w = bmpWidth; + h = bmpHeight; + if((x+w-1) >= tft.width()) w = tft.width() - x; + if((y+h-1) >= tft.height()) h = tft.height() - y; + + // Set TFT address window to clipped image bounds + tft.setAddrWindow(x, y, x+w-1, y+h-1); + + for (row=0; row= sizeof(sdbuffer)) { // Indeed + bmpFile.read(sdbuffer, sizeof(sdbuffer)); + buffidx = 0; // Set index to beginning + } + + // Convert pixel from BMP to TFT format, push to display + b = sdbuffer[buffidx++]; + g = sdbuffer[buffidx++]; + r = sdbuffer[buffidx++]; + tft.pushColor(tft.Color565(r,g,b)); + } // end pixel + } // end scanline + Serial.print("Loaded in "); + Serial.print(millis() - startTime); + Serial.println(" ms"); + } // end goodBmp + } + } + + bmpFile.close(); + if(!goodBmp) Serial.println("BMP format not recognized."); +} + +// These read 16- and 32-bit types from the SD card file. +// BMP data is stored little-endian, Arduino is little-endian too. +// May need to reverse subscript order if porting elsewhere. + +uint16_t read16(File f) { + uint16_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); // MSB + return result; +} + +uint32_t read32(File f) { + uint32_t result; + ((uint8_t *)&result)[0] = f.read(); // LSB + ((uint8_t *)&result)[1] = f.read(); + ((uint8_t *)&result)[2] = f.read(); + ((uint8_t *)&result)[3] = f.read(); // MSB + return result; +} \ No newline at end of file diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties b/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties new file mode 100644 index 0000000..a8d97af --- /dev/null +++ b/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties @@ -0,0 +1,9 @@ +name=Adafruit ST7735 Library +version=1.0.4 +author=Adafruit +maintainer=Adafruit +sentence=This is a library for the Adafruit 1.8" SPI displays. +paragraph=This is a library for the Adafruit 1.8" SPI displays. +category=Display +url=https://github.com/adafruit/Adafruit-ST7735-Library +architectures=* diff --git a/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md b/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md new file mode 100644 index 0000000..e7c13ba --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md @@ -0,0 +1,10 @@ +Code style +---------- + +1. Please use ``fixed integers``, see `stdint.h`_. Why? This library is compatible to different boards which use different architectures (16bit vs 32bit). So unfixed ``int`` has different sizes on different environments and may cause unpredictable behaviour. + +2. If possible: use advantages of `c++11`, e.g. `constexpr`. + +3. Use tab in source files. Space in examples. + +4. Add documentation to **every** new function or parameter. Add documentation to most steps in your source code. diff --git a/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md b/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..6844f95 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,39 @@ +### Step 1: Are you in the right place? +GitHub issues only for **bugs** or **improvements** of the library. All other topics, e.g. hardware/programming, will be closed. + +For general support from the community, see [Arduino Forum](https://forum.arduino.cc/) or [StackOverflow](https://stackoverflow.com/questions/tagged/mifare). + +### Step 2: Describe your environment + + * OS version: _____ + * Arduino IDE version: _____ + * MFRC522 Library version: _____ + * Arduino device: _____ + * MFRC522 device: _____ + +### Step 3: Describe the problem + +#### Affected file(s) or example(s): + + * Filename 1 + * Filename 2 + +#### Steps to reproduce: + + 1. _____ + 2. _____ + 3. _____ + +#### Observed Results: + + * What happened? This could be a description, log output, etc. + +#### Expected Results: + + * What did you expect to happen? + +#### Relevant Code: + +```arduino + // TODO(you): code here to reproduce the problem +``` diff --git a/SD_Makefile_Build/libs/MFRC522/.gitignore b/SD_Makefile_Build/libs/MFRC522/.gitignore new file mode 100644 index 0000000..4f9e484 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/.gitignore @@ -0,0 +1,6 @@ +MFRC522.zip + +# ignore IDE files +.idea +cmake +CMakeLists.txt \ No newline at end of file diff --git a/SD_Makefile_Build/libs/MFRC522/.travis.yml b/SD_Makefile_Build/libs/MFRC522/.travis.yml new file mode 100644 index 0000000..bc59bdd --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/.travis.yml @@ -0,0 +1,40 @@ +language: python +python: + - "2.7" + +# Cache PlatformIO packages using Travis CI container-based infrastructure +sudo: false +cache: + directories: + - "~/.platformio" + +env: + # add examples here and define which boards should be tested (only compile test) + - PLATFORMIO_CI_SRC=examples/ChangeUID/ChangeUID.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/DumpInfo/DumpInfo.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/firmware_check/firmware_check.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/FixBrickedUID/FixBrickedUID.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/MifareClassicValueBlock/MifareClassicValueBlock.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/MinimalInterrupt/MinimalInterrupt.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/ReadAndWrite/ReadAndWrite.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/ReadUidMultiReader/ReadUidMultiReader.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/rfid_default_keys/rfid_default_keys.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/rfid_write_personal_data/rfid_write_personal_data.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/Ntag216_AUTH/Ntag216_AUTH.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/ReadNUID/ReadNUID.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/AccessControl/AccessControl.ino TESTBOARD=arduino_avr + - PLATFORMIO_CI_SRC=examples/RFID-Cloner/RFID-Cloner.ino TESTBOARD=arduino_avr,arduino_arm,esp + - PLATFORMIO_CI_SRC=examples/rfid_read_personal_data/rfid_read_personal_data.ino TESTBOARD=arduino_avr,arduino_arm,teensy,esp + +install: + - pip install -U platformio + +script: + # short the string comparison + - stringContain() { [ -z "${2##*$1*}" ]; } + # selectable board tests @Rotzbua + # prints only warnings and errors, to show all remove "1>/dev/null" + - board="arduino_avr"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=uno --board=megaatmega1280); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi + - board="arduino_arm"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=due --board=zero); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi + - board="teensy"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=teensy20 --board=teensy31); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi + - board="esp"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=d1_mini); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi diff --git a/SD_Makefile_Build/libs/MFRC522/Makefile b/SD_Makefile_Build/libs/MFRC522/Makefile new file mode 100644 index 0000000..1c737e0 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/Makefile @@ -0,0 +1,17 @@ +# Makefile for MFRC522 library +# + +all: package + +help: + @echo "Please use \`make ' where is one of" + @echo " clean to clean the project (e.g. remove process files)" + @echo " package to package the library (into a zip file)" + +clean: + rm ./MFRC522.zip + @echo + @echo "Clean finished." + +package: + zip -o ./MFRC522.zip ./MFRC522.h ./MFRC522.cpp diff --git a/SD_Makefile_Build/libs/MFRC522/README.rst b/SD_Makefile_Build/libs/MFRC522/README.rst new file mode 100644 index 0000000..ea59fe8 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/README.rst @@ -0,0 +1,295 @@ +MFRC522 +======= + +.. image:: https://travis-ci.org/miguelbalboa/rfid.svg?branch=master + :target: https://travis-ci.org/miguelbalboa/rfid +.. image:: https://img.shields.io/badge/C%2B%2B-11-brightgreen.svg + :target: `compatible ide`_ +.. image:: https://img.shields.io/github/release/miguelbalboa/rfid.svg?colorB=green + :target: https://github.com/miguelbalboa/rfid/releases +.. image:: https://img.shields.io/badge/ArduinoIDE-%3E%3D1.6.10-lightgrey.svg + :target: `compatible ide`_ + +Arduino library for MFRC522 and other RFID RC522 based modules. + +Read and write different types of Radio-Frequency IDentification (RFID) cards +on your Arduino using a RC522 based reader connected via the Serial Peripheral +Interface (SPI) interface. + + +.. _development: +Development +---------- +**The development by owner miguelbalboa has ended**. Further development will be done by community. This library is still maintained by miguelbalboa, so make pull request if you like some new features or fixes. Support/issues should be solved by community. + + +.. _what works and not: +What works and not? +---------- + +* **Works** + + #. Communication (Crypto1) with MIFARE Classic (1k, 4k, Mini). + #. Communication (Crypto1) with MIFARE Classic compatible PICCs. + #. Firmware self check of MFRC522. + #. Set the UID, write to sector 0, and unbrick Chinese UID changeable MIFARE cards. + +* **Partial** + + #. Communication with MIFARE Ultralight. + #. Other PICCs (Ntag216). + #. More than 2 modules, require a multiplexer `#191 `_. + +* **Works not** + + #. MIFARE DESFire, MIFARE DESFire EV1/EV2, not supported by software. + #. Communication with 3DES or AES, not supported by software. + #. Peer-to-peer (ISO/IEC 18092), not `supported by hardware`_. + #. Communication with smart phone, not `supported by hardware`_. + #. Card emulation, not `supported by hardware`_. + #. Use of IRQ pin. But there is a proof-of-concept example. + #. With Arduino Yun like `#111 `_, not supported by software. + #. Power reduction modes `#269 `_, not supported by software. + #. I2C instead of SPI `#240 `_, not supported by software. + #. UART instead of SPI `#281 `_, not supported by software. + +* **Need more?** + + #. If software: code it and make a pull request. + #. If hardware: buy a more expensive like PN532 (supports NFC and many more, but costs about $15). + + +.. _compatible ide: +Compatible IDE +---------- +This library works with Arduino IDE 1.6, older versions are **not supported** and will cause compile errors. The built-in library manager is supported. + +If you use your own compiler, you have to enable ``c++11``-support. + + +.. _compatible boards: +Compatible boards +---------- + +**!!!Only for advanced user!!!** + +This library is compatible to Teensy and ESP8266, if you use board plugin of the Arduino IDE. Not all examples are available for every board. You also have to change pins, see `pin layout`_. + +Some user made some patches/suggestions/ports for other boards: + +* Linux: https://github.com/miguelbalboa/rfid/pull/216 +* chipKIT: https://github.com/miguelbalboa/rfid/pull/230 +* ESP8266 (native): https://github.com/miguelbalboa/rfid/pull/235 +* ESP8266 nonos sdk: https://github.com/mmmmar/esp8266-mfrc522 +* LPCOPen (in C): https://github.com/miguelbalboa/rfid/pull/258 + +Note that the main target/support of library is still Arduino. + +.. _support issue: +Support/issue +---------- +1. First checkout `what works and not`_ and `troubleshooting`_ . + +2. It seems to be a hardware issue or you need support to program your project? + Please ask in the official `Arduino forum`_, there you would get a much faster answer then on github. + +3. It seems to be a software issue? + Open an issue on github. + + +.. _code style: +Code style +---------- + +Please use ``fixed integers``, see `stdint.h`_. Why? This library is compatible to different boards which use different architectures (16bit vs 32bit). So unfixed ``int`` has different sizes on different environments and may cause unpredictable behaviour. + + +.. _pin layout: +Pin Layout +---------- + +The following table shows the typical pin layout used: + ++-----------+----------+---------------------------------------------------------------+--------------------------+ +| | PCD | Arduino | Teensy | +| +----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| | MFRC522 | Uno / 101 | Mega | Nano v3 |Leonardo / Micro | Pro Micro | 2.0 | ++ 2.0 | 3.1 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| Signal | Pin | Pin | Pin | Pin | Pin | Pin | Pin | Pin | Pin | ++===========+==========+=============+=========+=========+=================+===========+========+========+========+ +| RST/Reset | RST | 9 [1]_ | 5 [1]_ | D9 | RESET / ICSP-5 | RST | 7 | 4 | 9 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| SPI SS | SDA [3]_ | 10 [2]_ | 53 [2]_ | D10 | 10 | 10 | 0 | 20 | 10 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| SPI MOSI | MOSI | 11 / ICSP-4 | 51 | D11 | ICSP-4 | 16 | 2 | 22 | 11 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| SPI MISO | MISO | 12 / ICSP-1 | 50 | D12 | ICSP-1 | 14 | 3 | 23 | 12 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ +| SPI SCK | SCK | 13 / ICSP-3 | 52 | D13 | ICSP-3 | 15 | 1 | 21 | 13 | ++-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ + +.. [1] Configurable, typically defined as RST_PIN in sketch/program. +.. [2] Configurable, typically defined as SS_PIN in sketch/program. +.. [3] The SDA pin might be labeled SS on some/older MFRC522 boards. + + +.. _hardware: +Hardware +-------- + +There are three hardware components involved: + +1. **Micro Controller**: + +* An `Arduino`_ or compatible executing the Sketch using this library. + +* Prices vary from USD 7 for clones, to USD 75 for "starter kits" (which + might be a good choice if this is your first exposure to Arduino; + check if such kit already includes the Arduino, Reader, and some Tags). + +2. **Proximity Coupling Device (PCD)**: + +* The PCD is the actual RFID **Reader** based on `NXP MFRC522`_ Contactless + Reader Integrated Circuit). + +* Readers can be found on `eBay`_ for around USD 5: search for *"rc522"*. + +* You can also find them at several web stores, they are often included in + *"starter kits"*; so check your favourite electronics provider as well. + +3. **Proximity Integrated Circuit Card (PICC)**: + +* The PICC is the RFID **Card** or **Tag** using the `ISO/IEC 14443A`_ + interface, for example Mifare or NTAG203. + +* One or two might be included with the Reader or *"starter kit"* already. + + +.. _protocol: +Protocols +--------- + +1. The micro controller and the reader use SPI for communication. + +* The protocol is described in the `NXP MFRC522`_ datasheet. + +* See the `Pin Layout`_ section for details on connecting the pins. + +2. The reader and the tags communicate using a 13.56 MHz electromagnetic field. + +* The protocol is defined in ISO/IEC 14443-3:2011 Part 3 Type A. + + * Details are found in chapter 6 *"Type A – Initialization and anticollision"*. + + * See http://wg8.de/wg8n1496_17n3613_Ballot_FCD14443-3.pdf for a free version + of the final draft (which might be outdated in some areas). + + * The reader does not support ISO/IEC 14443-3 Type B. + + +.. _security: +Security +------- +This library only supports crypto1-encrypted communication. Crypto1 has been known as `broken`_ for a few years, so it does NOT offer ANY security, it is virtually unencrypted communication. **Do not use it for any security related applications!** + +This library does not offer 3DES or AES authentication used by cards like the Mifare DESFire, it may be possible to be implemented because the datasheet says there is support. We hope for pull requests :). + + +.. _troubleshooting: +Troubleshooting +------- + +* **I don't get input from reader** or **WARNING: Communication failure, is the MFRC522 properly connected?** + + #. Check your connection, see `Pin Layout`_ . + #. Check voltage. Most breakouts work with 3.3V. + #. SPI only works with 3.3V, most breakouts seem 5V tollerant, but try a level shifter. + #. SPI do not like long connections. Try shorter connections. + #. SPI do not like prototyping boards. Maybe try a soldered connections. + #. According to reports #101, #126 and #131, there may be a problem with the soldering on the MFRC522 breakout. You could fix this on your own. + + +* **Sometimes I get timeouts** or **sometimes tag/card does not work.** + + #. Try other side of the antenna. + #. Try to decrease distance between MFRC522. + #. Increase antenna gain per firmware: ``mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);`` + #. Use better power supply. + #. Hardware may be corrupted, most products are from china and sometimes the quality is really poor. Contact your seller. + + +* **My tag/card doesn't work.** + + #. Distance between antenna and token too large (>1cm). + #. You got the wrong type PICC. Is it really 13.56 MHz? Is it really a Mifare Type A? + #. NFC tokens are not supported. Some may work. + #. Animal RFID tags are not supported. They use a different frequency (125 kHz). + #. Hardware may be corrupted, most products are from china and sometimes the quality is really poor. Contact your seller. + #. Newer versions of Mifare cards like DESFire/Ultralight maybe not work according to missing authentification, see `security`_ or different `protocol`_. + #. Some boards bought from chinese manufactures do not use the best components and this can affect the detection of different types of tag/card. In some of these boards, the L1 and L2 inductors do not have a high enough current so the signal generated is not enough to get Ultralight C and NTAG203 tags to work, replacing those with same inductance (2.2uH) but higher operating current inductors should make things work smoothly. Also, in some of those boards the harmonic and matching circuit needs to be tuned, for this replace C4 and C5 with 33pf capacitors and you are all set. (Source: `Mikro Elektronika`_) + +* **My mobile phone doesn't recognize the MFRC522** or **my MFRC522 can't read data from other MFRC522** + + #. Card simmulation is not supported. + #. Communication with mobile phones is not supported. + #. Peer to peer communication is not supported. + + +* **I need more features.** + + #. If software: code it and make a pull request. + #. If hardware: buy a more expensive like PN532 (supports NFC and many more, but costs about $15) + + +.. _license: +License +------- +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to https://unlicense.org/ + + +History +------- + +The MFRC522 library was first created in Jan 2012 by Miguel Balboa (from +http://circuitito.com) based on code by Dr. Leong (from http://B2CQSHOP.com) +for *"Arduino RFID module Kit 13.56 Mhz with Tags SPI W and R By COOQRobot"*. + +It was translated into English and rewritten/refactored in the fall of 2013 +by Søren Thing Andersen (from http://access.thing.dk). + +It has been extended with functionality to alter sector 0 on Chinese UID changeable MIFARE card in Oct 2014 by Tom Clement (from http://tomclement.nl). + + +.. _arduino: https://arduino.cc/ +.. _ebay: https://www.ebay.com/ +.. _iso/iec 14443a: https://en.wikipedia.org/wiki/ISO/IEC_14443 +.. _iso/iec 14443-3\:2011 part 3: +.. _nxp mfrc522: https://www.nxp.com/documents/data_sheet/MFRC522.pdf +.. _broken: https://eprint.iacr.org/2008/166 +.. _supported by hardware: https://web.archive.org/web/20151210045625/http://www.nxp.com/documents/leaflet/939775017564.pdf +.. _Arduino forum: https://forum.arduino.cc +.. _stdint.h: https://en.wikibooks.org/wiki/C_Programming/C_Reference/stdint.h +.. _Mikro Elektronika: https://forum.mikroe.com/viewtopic.php?f=147&t=64203 diff --git a/SD_Makefile_Build/libs/MFRC522/UNLICENSE b/SD_Makefile_Build/libs/MFRC522/UNLICENSE new file mode 100644 index 0000000..00d2e13 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/UNLICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to \ No newline at end of file diff --git a/SD_Makefile_Build/libs/MFRC522/changes.txt b/SD_Makefile_Build/libs/MFRC522/changes.txt new file mode 100644 index 0000000..d1c3d35 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/changes.txt @@ -0,0 +1,134 @@ +-- Add changes to unreleased tag until we make a release. + +unreleased +- + +8 Apr 2017, v1.3.5 +- Updated "AccessControl.ino", bugs fixed and alterate Wipe button polling method without using other library @beyondszine reviewed by @omersiar +- Updated README notice about port for esp8266 @mmmmar + +7 Apr 2017, v1.3.4 +- Added new example "rfid_read_personal_data.ino" @ryand1011 +- Updated example "rfid_write_personal_data.ino" code style to Arduino IDE @Rotzbua +- Removed (temp.) Teensy from travis build script because fails @Rotzbua + +26 Mar 2017, v1.3.3 +- Fixed bugs in MFRC522Extended, now should work with Desfire.h from JPG-Consulting @Rotzbua +- Fixed UINT8_MAX error @Rotzbua + +15 Mar 2017, v1.3.2 +- Added ESP8266 to library.properties + +15 Mar 2017, v1.3.1 +- Fixed compiler warning in MFRC522Extended @Rotzbua +- Removed unused function @Rotzbua + +13 Mar 2017, v1.3.0 +- Warning: Source has moved to folder src! +- Added addtional class to support ISO/IEC 14443-4 PICCs @JPG-Consulting +- Added RATS (Request for Answer To Select) @JPG-Consulting +- More information see https://github.com/miguelbalboa/rfid/pull/271 @JPG-Consulting + +13 Mar 2017, v1.2.1 +- Removed need for reset pin #275 @tkoester +- Added SPI speed option + Various minor changes #276 @tuyethoa08041997 +- Updated documentation, travis build script and small code change @Rotzbua + +3 Jan 2017, v1.2.0 +- Warning: This version introduce usage of stdint.h, usage of not well defined int types are abandoned. + Interface has changed: e.g. long -> int32_t + @Rotzbua +- Removed problematic example examples/servo_motor/servo_motor.ino @omersiar +- Added examples/AccessControl/AccessControl.ino @omersiar +- Fixed minor issues reported in #211 @omersiar +- Added bad components hint to README @danielcbit +- Fixed selftest @surr +- Fixed auth problem with long UIDs @surr + +26 Aug 2016, v1.1.9 +- Warning: Only Arduino IDE version 1.6 is supported, please update your IDE to 1.6 to use this Library. +- Added ESP8266 platform support @Rotzbua +- Changed README.rst content to show more info @Rotzbua +- Minor Changes to examples/ReadUidMultiReader/ReadUidMultiReader.ino example @Rotzbua + +11 Feb 2016, v1.1.8 +- Added examples/MinimalInterrupt/MinimalInterrupt.ino example, Interrupt example @lmmeng +- Added .gitignore file allows the project to be more easily used as a subproject. @BenWiederhake +- Added Added Teensy 2.0 & Tensy++ 2.0 pinouts to README.rst @jkutianski + +16 Jan 2016, v1.1.7 +- README.rst Spelling and Grammar Tweak @cuthbertnibbles +- Added examples/servo_motor/servo_motor.ino example, Arduino RFID Access Control with a Servo Motor @techied +- Added examples/RFID-Cloner/RFID-Cloner.ino Copy from rfid cards with standard authentication @stefanblommaert +- Fix compile error at examples/RFID-Cloner/RFID-Cloner.ino, using MFRC522:::PICC_Type, @Rotzbua + +06 Jan 2016, v1.1.6 +- Fixed compilation error for examples/ReadNUID/ReadNUID.ino example. @Rotzbua + +04 Jan 2016, v1.1.5 +- Use settings functions on SPI libraries, setSPIConfig was deleted, now the library use SPI.beginTransaction() and SPI.endTransaction() @sophiekovalevsky +- Added examples/ReadNUID/ReadNUID.ino example, showing how to read new NUID from a PICC to serial. @sophiekovalevsky + +03 Jan 2016, v1.1.4 +- Added Authentication with Ntag 213,215,216 returns the pACK MFRC522::PCD_NTAG216_AUTH @Gargantuanman +- Starting to use versions http://semver.org/ +- Continuous Integration @ivankravets +- functions return MFRC522::StatusCode and MFRC522::PICC_Type instead of generic byte @rotzbua +- removed int-values of MFRC522::StatusCode and MFRC522::PICC_Type @rotzbua + +05 Dec 2015 +- recognize infineon cards correctly @mayatforest +- added multi reader support, see example @lmmeng + +10 Nov 2014 +- Updated the changelog. +- Added makefile. + +24 Oct 2014 +- Added PlatformIO-based manifest file. + +17 Jul 2014 +- Written documentation for the library. +- Added rfid_default_keys example. + +11 Jun 2014 +- Updated example: ReadAndWrite. + +14 Apr 2014 +- Updated examples: DumpInfo, MifareClassicValueBlock, and ReadAndWrite. + +12 Feb 2014 +- Fixed resetPowerDownPin initial state. + +29 Jan 2014 +- Fixed chipSelectPin initial state. + +30 Nov 2013 +- Examples put in their own folders. +- Updated the keywords.txt file. + +12 Nov 2013 +- Updated examples: DumpInfo, MifareClassicValueBlock, and ReadAndWrite. + +20 Oct 2013 +- All constants, functions and parameters are now commented in English. +- Code refactored, most function names have changed. +- Support ISO-14443-3 anti collission and 4/7/10 byte UIDs (cascade levels). +- Added functions for MIFARE Classic Decrement/Increment/Restore/Transfer + and MIFARE Ultralight Write. +- New examples written. + +19 Oct 2013 +- Renamed library from RFID to MFRC522 (RFID seemed to generic). +- Register names changed to comply with datasheet. +- Global defines moved into class. + +24 Sep 2013 +- Turn off encryption when tag is halted. + +27 Jan 2013 +- Added README and small TODO list. +- Added example to show Serial on LCD display. + +09 Sep 2012 +- Initial commit to GitHub. diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz b/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz new file mode 100644 index 0000000000000000000000000000000000000000..7c98c49de0616fabec5be6a9cf75ddb4f23c187f GIT binary patch literal 23140 zcmeIab#NrV^5EHKW*jp!Gc%8wJ!WQRW@ct)W*Rdy^LWfKW@bFk`|ZWseGz+iyLW$G ze7mC+)mf!Xm8z5~eM(CC?;xP40000Ipv`Y7S~Y*&Qi%ZolzIRI2*0F)4o1%AHny}X zUq1(CT32%?Gg?J4NfBB_VOAz4Iunoc>@CN2j)ak|Keh75Iv04LAOw)WYGYPQlUj!+ zk1aOTnVIdaNi+-L7FH9aV~Iu|FQiYx1*B<3VBuzQ(L93*1V|Qsx;qOSfX%mq)Ax=2 zSf?(H8oW)}Z}|(7FLml0H28d7*&kb>uFS0O6OUV6?YbL08^ww1_YSY75A(H4*c5X? zIw(|7hWjRT^T$T*4D@j$p>hkCJ()%aQ}-6#-D{`_4|38GGj9in=XV3COP`ZH#ix(Q z2Hd_+PN^SzBlsUWoi7Vc4ca!B^Q{XvL!}+h9tmB1=`x$8nFqPIr`(Qnp)wDah|w=VJI@JwDd z#&+wJ-ez{*)UG8ijNN-(zn0#g9Pb>CENxi4yS&)8x~I$XRj0ClYJH?*fz%%iI5j+X zzT7xI7@6!I8~L=p-CgN7ds@+5+jRZ>B<#}k9@|uGKD&C!9Qt$T)2&VSruAWO|2`jF z*vX;mc5}<`^YPTm;;qGN%$wY`W8N`d(>dSU9sJX?F`#J+perUt#zIfGZjXLMw87{66l75{S5)OPedH+I2W>E@89 zMlJT(tl&k}LmVBe#xKY;| zo;5kT%Zi1aU@mYczkpL(1rBM$BFXA7e#z_f-^@3zfAX+}uUp@oRX}XGI#Z;mEltgP ze0KUiPRKPr@(*YEM%g%zo0BcRgiLe(5t`%38QEovKW0VQE#zs-Z>u-57uNQk?w((I zpIVth8}o6sNzJXl24dL(*{?{(V2EzO(Z3+sx8qj_8nK4lh5moShDzLN}r@Jp&$!Eb(nv zriJ9gXxb-V#AK;@h%_T&#Y4}P$Fdqi`cd^VdM2(~#@Po`WAFw@3fxu=I4_&kZEq`U zQGRu(N^a|u{d4bb58eljor$^6d1O=5$-%@q+}&FO6?zo8mImGHxt^T(%-Zk?vuFE;ei&V|$8e)&RE{VIsiI zlz8f?je=OLfBTKQUYKpY3%4|ll!Q&u@SX$c@D~xlrOtDrx&Kw)49zC*+k9(U@8Kog zNdF6Hdk<$@1^!AAr6PFzm0y*_2Pxl?eqd&)^sW9kO>H!`SBH<(Ey8Y;@z-T0`y6OX zZ+qT5{oLHNnYVtBw<9VmSK?)!Aj4h1J8ijHpYN0=Z>o`|FvOB2YR#t&14O*>S?fhK`Yn- zw(7aDdvV6>hPg5cIqCv_Z^F!64F=Fu%xYwZ9-WM3J2A$o;it988kX;9j&V=_#d-*B~S=g}l${`k@O z1ZJ?tGYPa=8|{QquCyR6*O^yxwSaG!DFb|Llqn_F-+~C9GPN{oQ+1@A>DrceUpkx7 z1XG!4s2QN!o1G=nq5v~_*rJbAH`U&9u&i^1K@GKoF_9vHXGbo6vZ%ZbkI__K%H^(n zzdF`J2L5|2;8)spg5yl0xJqocRVEwg?=gi-hx69Nu3Dm5(I;KAeq>dF`Y>4?5k&Jw zkvs{~ZIc$q&Ip26w*;t%JT;`nI($1D1=D%@ZjjTYGsoS7lPm;gT^hb7h%-KGkk^&F za*Qg3zENuu-$U%u=)JG&Dp>U33htUG22TXn$z1+;6`9!kIRr&?+R2>uNDy*j2I+sg zK+rJF?dXQjJb)4!hXIbzELWJ*{8%O@-kgx9ckyijYVJp}`{VN#J^52>{A1L}tK38! zcZW1>XzmKYi_9FZn^-CW#}@+FSHF1R%&vUkJ2h^FGdx*jw|lm*PdiXGb{QwM0Qt3( z3tA^#<>4UAayFR!LZd;XjKHH+<^Z4~e~G{*|43QbwM{Q`9bhrDj03UrV71{4Sf2Ga zGH`Xlzq_GM3c8|3mAG*=B^RRKEtAEQ(!qiHdrn*iCRe~hRlimw<9oZvtR|YZA0@|Y(4qY&=U0P-(AHHEF z-O@Tr$4M6i_&;6n;37fisyOyY=0wPcEA46U8z~6wtzxp7PWlS=jSlpp7)(-V)yC~7 zFcMx=W8len*ho)?1v9yi#1KQ^6WN z?qt4bKn`{12H0i}5Y!iGnejVS>3ka7ki$tYw2O~ z>#By9Yb8*?iF62c5H=)|(&0mz6fJJR<}2t4?s)i}aqf15$Ah6(;We}BI>7XJ{K|P} zc+nGLY2%`IX(eU2?hYB0z1ACYf6T4^wIeQ+6~bFg;0J=0a&9+<1N}0*oBZk5VHbB_hpCo_$k3BL zlPEiCVpRJt$G!ay(VLMnQ~@3digSDn;juT>;?!2!>wfMgQ3WzXU`d5sF{r!5!rfpZ}FZoPWs$L(h7@ zdDa1O3*0d7o8h(r@$ReR@)(9z;mO2v37jw5>`lu$xNND6`FiV1}{ zS~66Mf#9&axCRZSK#;rwNE6k! z;2p+((;2^#>2g(;;_24^Oex&MhDHllmqymX0U1CgjUshHi%+ntph61|M|KMWu^6?_ z40Q?;t_+B}goKE#@E_r5O7foo_fm4jh*7}Vn;q95&mJJk#TkZ1WR@Pi1e||^us|9KdWqQ`r~#e|2xnDs+c|Aeas&W(!KZ#Bi`F_goNp#+nGpp~w(Vxd!>UJ|?ck$zo zFzP-FTh5SLA(12vxgX&YthHR|NF|U{%rVeNNFvPA5+YEX7B_hSSd0K%pfvtD0Z2>A z0aduCl#3c{Nc{u0nHt0rZy|LpBM^CGiYmB%6R=83TKYkK9vvF##JB<|9T(eQ$7M$lk^D!3vq1gK*>Z5VjjbBa@R|+PaEvq&2~3Hd9gFjxR_|3D|eSslBnV_$9fu75tC|EArnGW-};472>Q18+o&F` z@pb{w*5ZaS$hWBLpr7=RhV!~SRy|lz=ztXZXC_a)A2$uR(cI&mRO|i9?csy7hAHer=_w)L{nZ79;nDL zA?2Kiu!UF0c?x2^w&O^C{_CjwYZ(4{_}&ESGISA6gQGbwb(7KUxkr;lQA#q1ehU-Z(+9%la5jWUGsUPX>=lO+c%PgI! z=-T5MUw~affZnUd`gfzwuQ{Cy|1H~+&_$=1e${zPUs#2)vs#jkb>%0*JWbr<{7j&RDfWt4r2?g{xt(>*u<5e zj!eaA94NQDb&J{Qa0rd-L?e|H(0b61$7e@)t5fqVzqrD2sl*rQlaKG_&eGpj03jpr z>kfpB`#RBZ@dHkuTmhKNS~x18#D=_-qv{G(86JaKA`0P#S|&-!>W0S(gW-Ay;hfA; z26#{)HerSg_aFm?ycUo|8XFYT5{Hg3uMW+;kyGdo$utodrb@+X>x6Ou_p0(AT_=@E zvzBEgn{)A)+%jK)gBZV$vwyR+?8_ZjB?pkMpg|OVAD`vqGuL0dBLCh-;oivCxmoU zRgea24|mH5!*qF%N7S#scZ2tsWKr~KBuuNjyQD=)kVqeaxx<$D5yak85RLw;iZE}- z3?(U}>`T*?o0H>(6WDIlm6|=4)FcVP2WYI@lTdfzBOrK&UsaLz>;I}AHTwFkq0VCqeac271)Xa_%LPrOICqbk1pT8i zXei9d6fU~AMz$hS2^F3|+L5jRVpm3Fq}TRxc&b`VJ@`=04C`5FkCKp~XfqYNj1dc= zWPm+Gnt}f-=>st)=4S==(6=_Pi&XWRGeoC9jfd_Hex#Dzvg2HB0fH+}$m zj4ogNpO&<=7D0q{Q!!%VL%QKjv7Ynw9{{US$W(6q$STHEC+E^~hovKHwi7rvERWR2b|t!1U#i00T)YO>$wFB_63r`*nxAUw589FVv_y zXH|wuXjn*`RC{_${N@Z^VeBdQuR;8o4+A)cpm9*H`s;vIIy$-wz{1PFuxLS@U#al2qz{dn~0IHJut#QL>v`JrFgj@^3J3 zKb97g(X3=DhB2zFlXgH0UjPHC|9Uu}0HMO2b>B7k5GC)cl9-=w?7i)1LF|wqh3+b|F&}q>a?G$ zsYOu?&U2?xpx0H!98?e{bPwftY3=I6aM|BzugA=aGb^OFZDg6o7h01|RM^-jEV4lQ^Ln zReVW+)6sn;4^VShU&TTX4cfhSgc80)YFRvw`RSQQ(W5k^7`OKE3k3m z12mYEYCNF8^selYX+3mX7hkLZ#IGI+4YbgPw|qoh|123LPMX`vh+hwj6E?<5kD}_U z5#s%Agd<)T#kwZoA_)vOhbq+$Wt9=5h7e?6#F0L?H-B};!d+J#uiRkXmVdeLsUZcy zxDgM<*!r8*%BH{z(Li$e0)LKWMI03n`zrAR0i3@N9U~;S;f8bZII8R9%`!zM&krro zjwpR&1uJ1PT}uP~^~=VjAnSwID$0jSVsWEiZZC`={+^V8_&0&bD=K_ZL&|O$j)bvy z#fTjn)EfUZRaZMz+}Z2p2blc-K>7)~QE*Yg008%iTD=FBOx1*evE>snx`0_z$ND$#YxQ18cVJls~PA3#iqgS*!;kNh7oNhq%e+S>y$ z;X&d%2kH68roBS!H*Rg+Jg;q?im#^hBQs|NH!XaD$=f&7vffm{sM@C%C56W&CU>l- z1?x%#uG#LX<8KyhDt{7d%r{+BK}=3mYuT@yEHX-#RywqQHLGIq9%80ANBRd;r}gfi zMZD6)cE7i|d2^dC8VYTEOKEw*qTVyr!w48jkr@|n@=$KLc9_`qZUPwqD6!8HHty1F zjLVP=<1>gOPDu3LqG5#7MDm9QF|JB{Lx7?@T_ma}s}K9ouaOQLNn9;`teERyR;l03 zq0*wc7=o-R^`+f@jv?1P3GB$<$siTBd!ywJWl*e-aLmhxz{IsafXPHPP@JQ&2a7fS zF;Lr$^Ul1D~g@z}>ze)N;_Z+V{-(X(hQl(`KP8tXY1Ij%G_mJLFjY&1^T42kO zx#L|C)&`4#sV7To%zEEnch;0eeg}fVB{nMXC0^B9nH|;B40{f*U~@J(bva3_d<%(( zEaRuLh^|}$p<3oqHbzCbf3i`I$(9(W;9z>TB8`P5`kth*NU!MpHu_$5GdnQ#&EUp~ zyn>L6@>yqyrHcOC11J*i);sORk|B2d)X;hS35|p&%)XQy8&6Srhmj+TbaZ9_vJ+A> zx;S@WLT2SFe=RY!_-9A^5bCXFMP3w)eg;&YTkgHEl2KHWpQ^kNg~whZErk z3b%?wH~>LtG21-xcUYt5PU2)_4a(aj-f%iT*N&la|C23^25&L#tF&6(_3t5RiRqjB zh#l{_vS%Bry*r#=MOjt1gTf<0Og_ITON4~l;Ii;LF3Pr9lH5<;pgEw+z}p=>N7nf0 z`;gQtP!x8&g)}XIxs^hzfPW4*BjD}#otxkPrejw3)#G~i>G>nSaK(ioW;?{Qang3S z+{O!PF=kV3WQh?e{J`B6had|*)|klST@vF(KOMuY^V+fiLw-05cV|CNEOEZ5&hBJqEsZh;c@Vz2YN&{c>2W;Kt=c#JPvtW3ab zotb&Te@Vv4MssK@kU;xvlz>2+A6w@tN^GSi#LYrJ&V!m4{4N0j7r*?J3tFC^DqU-f z-iTFJ-cDNa6nzn-9;^0=q$X?&MN?ue)aOGZF76bGDoB`CKpjb(2^Gi}|nWZ#eI-XGTf&HuG;)ds4?ar0SOn2ohHxW!Yk zX+zAc!#e+*O;i(Q7WF((;o(npql|jM_f?Y5+=r*N&;QZScJo#S9iRgMnQs8V_b)%| z=weD|;9#t8WMHfBVD#U6ToyJ%R%1qE4o)Tm4h{}B1AQh&BW89+HWOnb1{P*RV_inw z|1RT~o^$P2$91-r5ARQC?Z-_?ZndIopEgO?Up!przgs*LojMwOoRl@}S(=NZst)IR ze1MRP1Q5M|nU)5prHzzG?D%-5UG1iUo~|x0ZEH+z)jHPiU2cznr27KbEE<37)Ud0? z;=R4yXb|B|+B`;19qf8^Xz+T}t?@m*s`+|8=}Izrc52c-R8FjQ+<)Akt=V*aD)F+s zzTNwL9`3%qZFIOEQ#&$lT+~eWq>+Yu+&r8wNiVgxdpntIJj0tl5&(MJf9^@6d9?e! zAHkL=6Ob%tHm<#jn+o`%_g7rbuAK$8e+})+zi(Tyd3OEK?b;@bQ{qRkRec>gFz87$-a_?7f|`U|lj)dH!+#~qOS-|ya|}Xu7I%2nZ`AFSV{6UTAT=(gO~vT3a_xzwo#JWLN{OX)F0I$+oF z|7~OKGJ9lY@+qmgNGM--@?oZh817FyQL=;M14qY_796Lyo z?Y}DMS9y7dM~mu>$)hq|ePeA7|LetAEq~9`;mV)Np#zK5&fxu(twp!?H|vg7?UD-Y zWTOY>V6UG{wV=Cal@7c3QW@ISY?az2*gmg$HM#{=W|c|oFvUzdn`>yh^4NLt%&ht7C*fm+IHkrXvE70 zQD+#xC*MSJzUQ`UP?4O7y*7LhF|K@OZBVRwEhh3$5(rQd7$sDg zOD)3AT2p>Q*DxfKRpHN=X<$@=5Q=9ldF36&ZfqmOfGkL|69rR%UX&qGBpl5OXQ5YO zP5r2)k=Ykjp(j7|pi@j}y?k#heYPqOt~F_Vx2bPm(kgA5G3e3k`Q!nj1jIp#>O00k zk3o@!O{1`u=D&z)PhBF4yt6|%UIkZo)tbOtwqan=xA^FHvt&G|JUGrav49QrWK4H$ z__nF~cK)(?kbHO@5@UY7PhCrHjok34UsJ2;nmDT&CsoteW(+89cQM)@#mtNmG?*MKTHnLff% z(NyB2xLzPZK^hA*Zao`Rl2l%^618u>S>@m8VY@}cCSsS=Xn*s@D0;NhPS;cnF;k26 zvhgT-Zg3#I)(Hia`@S;|=jY)j8%cyL3H#B}kXDOkt z0byP_pc{LFYYhHYBi#`>;s;Q!t$@R$uS5^rM$+rMT{K^^^An%da|;6PLor^m!sOBK z8?e3_1j4h%CEWC&fDRy!taz^5L{Yu;{)}CoqeOTbyt+V9eeClEQmCZ#lse_<=&u?V zdQ74ERi;bq?;~d361njZJ7rwcdq!u_2iz8R?>jNn8?9v3Jp6VX^Y}H?47Lwo=;UVn|Pk^bYi& z#Uy*hBJD}5qhU)8U}gB~ET)^X^<3F87)h9d2*4&c0e!q%O3G|H%FLk-YYjOVlq*c5 zd$5XpI*SHWxS&oySZ^fI3PpnfZBr-ks>C8R8peKAqx?VC1SD^VFOyIM01DxS*RkBH zJ8m|L1#aS%DQ}pDXfdS}OE|1CyCdIDJ}}_UC?hiUl#Lh7`WEb|1KIKD3!0IokQ$U|JabepsqF$b zg}`jDsYdX|41$50g0(DX&6h@rF~DZgi8fW8#chm?BY{_87%xYi(KL(}0AO*LOpehv z(7f^|lg(|vfWQ#3*c_*j851$1i6gs_A+E64l&1gw<-p>oNe}?K3z?d16uE1*x6(%H zbx3<&U;Q>x?<@+K(BHuy2@Q8c{VN`{mBRDHfr!Hu+_bj>;uz)_2Fel-GX&`<7{=}8 z@H-1jcfcv)0us&`A~jSAC#E*Q5pWrl=KMY=ZIA%X%XJn1771h|K9%$@LuWu=dr_ZB zhezs3>;MxA%qwZ}@#FRpRkdY6cVaLei7G;edxt-^;;{v6oBHaUesMgE!sW4pcUo)3 z{9dhK_glfNh|y9D6lKGb0OT_=kF}Z0^3CqdY7PU)41LJ<#2d^c0KtqqEPn*|3q`Vl z+af{e*Oy6RxT_@quJ+8;c~xoqak$RrlE4&EnQO-3X_C_5p-!(c8vx`zlZ=D;b_X$4 z2%yCwQ5jj6#bA0UJzAhn!w0t=2jpH&;C3L#?`MWhG;n%!a}2Fo;Ug!t%S~wNMLybs zj5PER(E6q|O=Nh2b`skD4sJH^No5J0z`kCLG~5s=OT;WR{1E!of`8mCec*#2k{}Ug zW(7HD2B=_|GJb{LllH6X^4VTW8Tpe8bRfsuyQ}78sp5i>;MiB)sx+QCLHifo2IVKg z1d-&DlN2Wz$X?+dHm1k~TSBE&jB(vUTaqqk#^HLL4z=DhathFOFl&;F`5q_H(QrRy z=6=3kmd+%O#D1=QAFUFwd=$+&J562BO;g>)0xZe->QQ2`4I0<}%yI*>#0zUg5l>>@(Q7$~ zFR*ADv<{{iKCX-*pEPfUcodTsPVj5K4=p{aA?r32+wx3aQ-4;tQg$V;4jA4W6DLWb!JKSRWt43Rg4dS9)|(GtmLtyzInOBRO~wF>R}p-Xd28PcsTOrLCxi z^=WUJ^BKz`X@7i52R8$DSkjurx|-_p2mGWMz?jJFIc!`M`VfR&-Cpy#iYCA|=-1hPVqsaRJ1b=~abWi6mL63Jj1T+lPGXRThoR^ndygSQG>Yyo8!MQ7T;XsvMFytq!mz95sx(BX<)Kj z$g#*Pt7q+wKAA;iU`IO9Tv8E+{cE6ZgJgwZE$Ccf@bdnpV~1|d(LIo0(Yxj#G(bBJ zwkwdkS5bY~uBu1+e3By61cz{szfAB$#0K2<^+z-jx)zv~2)&S%^!pN&+C4)M7p5bI z-w3zBxV!_?g>F&zK3z|h)S+9&wg6d4~gDt zodPoiIFG!?sVh1{}dj4^gf60<4>`;s-um&=rc^gx;)> zDn?v;<%7}@(n%F>DNiy^Avkc#v+0~-c7XI|I+n|%NvTV$VNeirWQ9YhVM;_uY7-Pn zL4YAASiSqa9ED!?F_}&n#gH;|j3f|J1sVilTK|cHJ#DcMDxI*F0<`n|<-_`8P4jTw zBy>>MQ+E$319GA$7on@I@GrrY?)oEbsN`7l)9 z)rts`F)na4Ju?#i)U{x-Rmio7-d5rBu9gHY=X8>sI4%d13FZJw^H_<#lldRs1Mu>i zr;BlZ@TEt9*uH}>;b`j8qQvbe7loQSPMD>2Zb6%-K9^{Bq)}omb*x0O6MU9)u*oAx zS=OcpuDv`Y*~PlvDTafFwwJ~hBRYoP zHo8uoS#j)RwzsbiHAo}_O+Cc61S{kSt5!uXZl~E0{482 z{g@(sWmU61Zi|=w^PR)M`+e{GqAmmES0zOm1toiyp8)p*0r!srOA!;K9BitH_ojYI z`AFsT)IFfwBccqUF>{-dprEkIsM8(-fb5Nc@{thdN}vi@#sSX~M$d8a2+Q10xv}^N zh*1wHRiuYR<-J;(!<0L5zz zzbnoNLWXsbaG2Z;p>fl^B=jnU_bl3h4e8zqa7RN*!>P%G4o6xhVE)~LCA$`#xK#3TSCAwFJfm07(nv8Q^Tyec)<*b+ugNURYs_5J%0DH4pBH z0to{U!+Jg_g>itipu-Y-6Rw0T{5Hpy<)}kUWC~xYTCzWmc%|dwVVi;hTNstog6KYn z_?bWqcRI^YtQvusTVqq10eiYSftWpVVF$W8hJ+5e(n=OHhOul}G40?3Ok+s-AqOHb z5kv-24-OL=UD2hlX#8O>*qco*Z3Nkh%eW<=3X z#_zaBN_KcLeryZT$CD3u(lrRU9`atQWU{zbr#9u-a3Eb0rVD{1<`TyvPd>9$k!NVg z!Rqnq&j3R2#Ynwb>hR!9coniMRhF^6mE}QBhqTW)3m_VET(^!%s=m&_q-z0cr+rpP zVVBqXn_ z1}=@tCU&VsaQpk-J%zsoPkZQ$Pm=sw@a|P^T>8>T+N8(ME;gvkFTL)Ud<|;m^LCq= zY?6%t(JEn;Z`BT2f11MIf}p%-gDhwx2nT-QLN8u{7r6*oYpI@1xenqzIq#l{+Q}3z zWfwDI7-oo!WK%8?I!)PfWqijbnE_{kB3`UIia@R$fPBpV`CCb041P@PFh>V4u(lK( zqpI8}+^j?Z`%v~%S^2UbWKWE2O$Q)czU&;b!Zo{Fy(%V>#QSSarrvDDd>eAmGvHEd z?BhsJYf=%mjR%pA7q|Z&C)}6dcaf!~sHHpJxQy6&!>ENh!A89QIDFq}QzmG()|NzP zzU5k#omw@gJdwODEtHYPjWeMb!B$3(hsBFCW5_~nZXOwl9)f*^unWTQi#12NuS69gJ2j)h-_#G_RQ>cMew z<2W?u{f5wrhwux^zCwo4;}iiTfv6%Zt@I=@j}o4Tpj)j0xn!d{dk`1v0FUOe3>#vL z=LG0Bu2#dFEzEeysaPLk@vzZ7=Is}VAw+cSP;AIaeS+BKIj-M|x~#t`8k?$maT)rR zLICV$@#n^xia#yl(1`={#O3N4v{eA4n8qU}M}-3VDqx39v-I`U4LuX%HO=vK058hq zyt%7`d-cL{3OH(+!uK5HJ@A$YOX~edx+#VxDoBiN{$~Tr@E>!xVzbGOStv4By)x%R zm#D3Dc7P+2CGx8&<)BR|nImJU^<1elT7Y{I4@#Q~LCr}d#)sk~*rzmlb+*mdA z7!)N1wCnNE=jP3jYxp2|ZA<%U0Y%Aqo8H7n@cv ztn0g`T+O*GNYxsAHjUNXmlgS|vC~$kqc0Ycp-Q5DE zMMg1MS8moXeU-kkT&d?vuauS3Nmf%YTUdPk1IBF&E^*=c=7tMS2d$5Z7L$dGH z0}`(yk&~?noK9+V*0t)6M7(TiTeMD2_D~y%)ov$cSrkQsnWtp;_9QqpWK3E`QuNKPQHJ<4UE2d^KR7t@ib^rwj)e%_|anJBkq+G&$xYM zJ%3a2#IsJci@kSS6>)`TydJrCn-p$1OA5K+vrkbpdKo{nfG2yXeu32~K?&FGe9PkX z?Ya5Jy*t45nH5S`%%{UECDQKG0UG%p_tt&07wVRDw;VC6!Th=5*!fnJqB9Z)Yy2j( z-LSh%GPH3dn{%0>fnAyRrL(>z&gu7%@o)BdjGej zAiBNo(#=6XZ~E<*!6&AZ)011ba}ir74>zAzRqr>5|2a+P|8F$i+|btMf03jAE6YCw z{U3t<4?+Kjp#MYA{~_rA5cGct`acByAAPvA=vO+jhbQ0w04Eaw!290_x}BlH{~|#Do8yb04{2)Hu5%#zT-MH7 zV2sic%ymkl*+(2wHJHKgn?-h`##D0&DUHQ7%gpQc6j7`>kZ8I{RYD=+;!JyGL=F&l z*y8nUar5^(VUgPVLIAbx1zj_I6TNQhadh-Po4_^AfZLth<_jPAkj*;lT=Q&x4ZY-s zFy|QUkH1AUcAd7zGUity|8vil~Kk}$Da~xY=Xf(Xgt(osd zzzG+E_<$N*nHJN~(H#j$#GIgT$sXy3xo-xo{8e|#gJzrE!GN`8{Jfq;1&#lJvN7Th zF9Zsj#+3ka!qpmR?iNp`TliXcX`=A9f6?WzICDXf1&`~P%U`;)!l3dCG8V18(be6{ z;pyPe;&Z~712ee%6J(A)afepk&D9g839Ki_q^;Mpq_|cxL1vy}I?En2)VyY7o%|0Q z?oO6=@t@Uib*oVQ8ci2aw%FC05F_-F)_Td7Tvav^stetyi;ykbBm zuy6!%Ns=Y6DeQRjJ$?`pdiPCH{kidPJZPYL(qZBp^3(d^lptYx5j;Rwe!$3jGjFU( z$dHmt-d#iV8B{m{7>xpmAVOF4erfhkV2H4g{l%)bz2V9)a7B8G9=Dl7J^p$UhcDJ8 zSEeM6H7tN6JFC#j^~$H$RShIKPEmB@uf?UWSDu)rwVz!A9bIo5%s*9SRcsRbuGaN% zy2Wzytc+4ow#4n*XaLUZb_~ZI<~O=Likxuw+BC|;N@}2-i0a1G-~{b8iD+2+3Lao z(^hrcV9292odg&vw*hRpt9JqI@X$4u&;Bx?j{NEZbw5DFG*zu;(;|I35X{uGk9rbd zDqk+8`I4g*Bs9b|1Yjz@lheA-=DbIjWxT8T_Q<@?9H@x{M{r?BN0+@w5d1Kh-IX9P zVQllutF-WASpv4+vSo&t>FLP;`Q_DHf>AI`vxpvwJ_1B0pd>n|ZmMG@veX&3Gi|{{ zToD6k*$4KF*ArPX$d`dY=dCXYtRQdsTeK=htmr@&WSH;6`&*X~;Ogw(!dVXrFZN+p zF(b2F+4z~h>cPykxgP0XC#Bvb1SaULyj?_%9aq8u%T+lQRmK&NqGiO45;mNi@O9Rc zBZ7w34Zk3)UI@$+Hj#tT#X;s+_z|_2jKAM(TRfw`%dt#N!ntv7mlEDk1wq1ht+0Z)#Kylpu0b!H7mx zb1w7{d2LD+Km-DHVgvzxZU;*QU$=ELBjiS%Y2Yx zJb1?>j=UCUM8sQfi|&aev?SON;Mz_sP-t?60^X8WK_g3()LSZKsO8u3p@7u6;c+d4 z(dsJqP5*=OgyXu>Ic}^;qI?;N#Rx$4*KxbCfZnCHg zAYRUQ%E8t&L4`9wflC!zad^68$Twt+SOMJsjqf1xnuoq7XGiA#njY9*IA8FTbIt-4 zDN@17;fT2NzW39J`O3ED;e8>o5hXHSjv-Gy1&kLc4z%d%uEF@3fB~$kqs2q($%7MDF`fytr1Rl-aAGPvM9|b}w_@}@DNuhjGpF#^w>v#R(dtyfM z)(VdWYoCHQhH+&R0XWRt#PCz1!3wQBr~DXC!Vs{}YCW?@9Z$@Z<9yse!i!{bjgjVo zvLcQsE@`qvhU!$k3n80~dtkeKe61z=%MK#}0Z0qlc9m&PTV6i9atz=Q$*N9vrSrf` zDY?sO_}V|j!?_~{pYpMa&uN7B$SHysp~TL{mNJa#iQJ=|GBf7qrG>(L)eDq z)zmBAt}|RlEP_oSqA55!zDqGnEii+q<9jpnK0z(bHb=4vEvvIT2q#!!Z{rtd1(r{N zXt0b(MHOuYh_eCH(|{=aN$tbIu?oP`gxKVHJlE zK=QwJqK<}U#@6~y=7#@^UFpB`{e2;wu4|hqf!MosOWAVQSM5}_cJMjY_LIxOnZAok zQtlC5L4Ey*K?Ei`+vjE405)xVuqu2$^cOcnf)9Ddef^L;TE}lY z_(%4pOad{A5lg)|ePWf-Xc}Kh16UI$m9R3fyJqtgYflBqeZ%_m7DHLXxl~}G_ z@hL{j1Ms9Mf7F|`j|V5A{y7K+xu>b>_ zD>>Q#IFE_k%A&;#6{_PbD>z)%1XUoJLUGym!em*`sobJ0*935>XIk8bStqAId#rVoxJX-4XKJ@ z6~dmJsz;LxNHK|PgJ{P>W*up(&@!SQ)Eu~<=O74O2Okm?A%><56sN!0DU4J~klLMF z*+RVr2*V48ifbsw5?3sz(VA`?y4y*rx}a)%e3qt_s&dvpX`Vz4=DfzOygy`0KW?GgWak^+V(@~Q=zt|T$bE$=L!-# z8ub)*f`(;-30vdJIqB)TKC+MbkZS>aO5y-YlOF z6bnhdpRB>7U;hbQFdqeK3k|C56sVJAAxuQJ7b2Ck6-TY?Q0Yu6dxCOWS{$Bon|HY# zcyNGOgK`@y8XLM;Z29UKME+OsjJ>7uH1Bw${^69hKq#SCp&fXbV7m7=0__1XoO3F- z6DOc^5s*Mx8fmNcmJj3wu&8~WRN%eZ8TNfAmPIk%ml^cIvv(ZAfq8w&g?wje3|fvH zTzXj(!`bUy8a5BOoC z=}1GrcS<~CNm0NXt{V1GlSlLGaazcqdK-?Yf6b+ffzIW*J{wC!2}O@7Y`O1dYl(N1vn4y;dx^^N#lTmR04Iu-hmlM}@+O!7Iv+r*rZJKq(%q_fFc9(r6wfzeDcykvt0U0-ze*aCh{MT>5m zdVs5s>1Qy}&L8<;Uq(9HIoEHikxkmQo+-4JH>KiQF8>}PG31f2Y(nPUS$sM<)Jx|a zMd(nkOOd*}p~;-Sdyy7~5wZ}OEB_q`7y$U62lf4OSOB2E$-h4Tw;_K2Q{8_?4*09( zzto+4#S-}6izD!#HvV(f?7wX&;{JcShW7u;@ZSkW|2CY*@?VDkUraapPhU)=%S|Mtl2KTZ8-kM(a;fim)e-{Pf|G}E%f9Lxuu>5zhudyWn0RHv$ N{JIGj)c*eaKLF^J1kC^d literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png b/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5f59d9249ad73417121c035ef90600dac7ea7d GIT binary patch literal 289125 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

uR`)25m4Fp>N<7-N$ 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

`FxiHb!UO%TX+cOg*(@&FUwTUzTtuNa#I>5N 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�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 CsryF& literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz b/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz new file mode 100644 index 0000000000000000000000000000000000000000..1866b0430f792906adbf0512ccd42205679de524 GIT binary patch literal 17796 zcmeI4WpEtLmZn<_7E2a0OBS}6Sr#)`%*@Qp%*@Qp*tVE0uviv@EoO$*cfX0bGdE&( zV`lfyMmQ^?qv+&YSzVRqR6Kc7K^g)Q0{{TP0;atTKX3IT&Y?g701Q|F0Q>u1djm&j z1|@MxQFZ#a&aIiTXa_7$WHd!ZbW|sc^K@i4$dtdmCx4-oaPwMVtd&*|*N#Y)bCIqd< z9e2c*G!O<|=BK^361GFa)GjOPPpuzBB|y}3&-b>a_2h{RVat@rtOnEVSw*DBtC0J# z=$VplYT(X(o;T-Buf)C*{K#+VI~Q>Dnn&i&cd#5Cx+!nLYoLMGZ9gV4z=6;OzF88%N=?6=5> zWi3m!+m8j6EOlwvFpa53a&IdUO5}N{B3@9FBm;jcO&<@&-_b2>%P1v_s_B5rEJ;#| ziuMvPr94Vl4DO32jX5qosNj#`o8dix6CX#zz0W`J9VnBTD>AZ0^hKt_*fLcquZ85J zj1Fw3>*huwElpq)tFh{mbl_)dOa=$j`dsc(RAi!6GoOTWfH>>a6!)IgkY8hKL0My` z9ut4YSZmFZbQrHZkDRDzzudf4=NO?P^Hu|GQgclia?V~)nnZ>uUTJ*HUZ@a82z=C| zNTqK2{e~(b%)R}}7hXTKDlKQFF|(9ecQ>m=GHh85Y+-?H|Be}5^e*MjGvXb^Ncm2V zJ!Y|wU_oW{;Cs49g7KT>%x^p+G(pM3oH~RbShAZDWO*T;OYMDB#XVS!!0rvuSZa0y zz@_mm9uoS??|0DydCY8B9h4~2V9zDPxjA%{a2;GIg_YcABt!EC#oEqAsJgW?n0&{T zuA7=a=6OJ4-RX=4?^aK!|KwK-(&U#d$vP8Bqr-CZn5x)hO)atNFu8--WH1r_ed;Dv z5s&hn^ep4(uvF!Aic2e*-W^=)28}k*&U{>U6LTZ9$n`RvAaKy>OHWVFGar7k( zvJOA?M_1%3ncH5I@(GKD?V%Ur=s*b>l;HrOg>NFMK@r-mHWxBzXWf9#ceF?*|LoYh z203kq=2=PkVI@IlkHl+bEX_?yGbzAs%`#tyb?DwyhPH0rrbSHr#SQ+vaM`k;Ld6c5 zw@{Vim%TkenWE0LI`kE|SaV1P7R41u)`fchHiIP2v1%S8 zV$NJD-YkA%9>ZrIgFB5oT*xLD;L7yulU42EPZ#C0ufET- z8_-q+fG85Sz!pmws}nG*dB6fUX0;1^egDi)_AgI>F9;Q=)jB+1ypX?iLD%0l=$|P2 zx3C_qvTGawmU-XhV98CgK4dBy~-zragACVRQQy&|6 z#$4F<-oKs^f&rx8`&cJeGX_IP69Z#II|E1K|J2(84O!SZje+be?}dZIl*JIp2?VkO znboG5?#nyp#Y`0|Zsi~F^Hi|=_H77o)7{zJ;@+ThPY3s#cOv=Y=&GAKy3WDj?Tp6B)Ez4* zj5v7ehQKUov}IM!+tG#Hqv?xo&oV!EKMk{FxL(-rf$4I@_zh72(}L?I}jxIu4E|8;!BO-sCorP3_fZ z#)E^XqrpkTmL9%g8h(K%M-P@R&2;GZdvdt-P>bRPwHjxK6~u;!@~Lgi)S>IuhDGno z87O;$E{64hv2Fb5=qwu3?0`U+v28Ibeg$ujmzQz1eIaaWTu$Y->#DLUWrGo`&Mu1I zoS&Jd3V6fVc6FGx%Ej|5Eow0;hOjfLOq$-#_xm>rhugiVvJJk6hv786w`W7onB)1FHIUd zGtaSd=t`W~Iu{mR?x#;v!I@FpR*k+qSx0KKBCXh!`y|ycmnW`Guc~cFQt}dJ=qyT9 zXB6y@7_Yvm!7LTUGK@DP(dmLLwQQ6k1KbAvJ;ACUVRK?dN}iz zkQ`1&_Ne%DHu@U6;nIL3`Ek!#O02RBw_HhsHe-faS~h|1qod`k`g(OU<>Sz!$(4wb z?wgNe(fkxN-$OqnSt9AsYkZ~0*flIut4iS5S~~eoC&4&~$LJ7x0LWo_<)(t&)LDQ6 zo0M#Vt0V}|N|{)ZY)xydnOrex^4j)E7E_EsS8nVmL_*SF?|=eLnYuir||Bl+vTud63PTe31b z>pH(qKNT$^rp(TJPb#ateV-U1s=En(_Uu`qd^m_oDF9p4+f`qmWFKF)^s+zkk^70n z@Y}+tAqP}ZYlB79I(qEs(b75n?9}wK?b)G84z<_yHTdle>x}Kvd{fePAuTHENVf5% z#M_+BuW3D5eoqXP`;)FtK$my9IxQ_Jt#hweBDG4-?x3kHs<`~=#IV=9C)=vES$F<) zP9piO`&p-oN~zGC(pCS4`%PUxsUn@Vp<<)5!(_4vUBoitN4ro0&F3QBK4k`HJ7D~x zfrrsk_w8z1)5jzn8YX^^i*)qM^EHg)nZ^TkzL$O%k%PDeB26r0hU4C2fgheZ<<(iq zGQBFVk%Z@0fps5EnTaacr6i{r2#stooG$ctPpl*y%m}JS*R*cT154n>>oTQudBqVD zTvg?68mB5tr1?TE4>b;}7pH3o$$So(G0Sp~t2H_2lh|&`mHC!y2tWHAI-r&19#(QY zwdPj0tlzyk-^tC_`Om> zsPL(PQx8vr5TYrek^A0&m33oRHJ*A*^PQEJmf{1&#H7-(*|epnO{X#&j?=OuO+y9& zozhq`M+y0b(iky~(=u-Bk6rY$Vmd>-Fr`^@nvd`aiK#%P6F8C=Wc7VI`laPxbh-*? zn=ACv0&8iuk7Jti^5_v=RK)eIj%}^ z&M6!-S7e6AQ;nITtxinEtd*_=kR#%%bv^Jmml;A5TTa(oUaOLI=*bUW07_1nQ3`+? za*;b=QXDGb$ugy?aN;UMJzxTaB}_=T3gWHW;w%0Y>$bRY%GfY5<(c6yYA0u<7n~su z)8Uqpm5M*TDSGh%!~GwJgdnOY4fz{PYc<9x9e6Db@S(MqN%}mmR1y3&jj^$;zqEi3 zz`tU`83l!@+1#$JkER0hvEcBm!uZ;_5^jJH-~dB%^XiLZ03oMcbW87Y004jshik=# z>J$<2fzBEYViOk;*YU4SMI-1_7fZ0s80eVp%y4$RyQzQ!PM{3s;1q|A`r})KH(`wiIUt?|y3pm@qOJNOTKdSqz|gKafw7R`A2v zxqP+*V_RW+Jt7_4pWwsaY8te%XZgJZ|GvkD{WOmC{V+1FqijS4V^ThVdN^n(liFl= zj4feV6w0525Zdk#C7xyROVf=uzRn`s$BRY_!ns z5I;ft>u5~Z_Z|8t8lnEu1Oi~k1I5*42eb_r8uG14;!ou%15b6@~x6CtB& z$}(7IZybQ7iBM7XjF|}LI1a#eG#{*0kD)HknGo2Y11MdPsXJP2kl(+QK#V`Bn( zoRy*ZHk*+aR8nnL+m0T`bSS6ut&)QS=96Q5cVJ!*!o<|KoO$%^iSH!MsrgrZIe9@2 zZK=VxroT{dGYnevaxE86t)+#nY#s{BXd*-;7gm#l5ht1~4^}hT_)-(1GqqQEopOze z?^#jFC&@`@vnc8Ivge{_y0WaQ%3{!Xgcfqh$6)F*F2Qc-i*(;1G6S5O% zR4bT%ACQ042rb*&@YVv$G`0x+!ak@S1aZ(RE7_l7A&=5C_T_7df;j1@_RKhOV+Y*#{1E(Ns-cE_>YsUIuQ0Pv}+K{f4D^>Vow<@BR$tYa*{X_;Ojx52B zAyMYdQiCmc4NmQ;;#&P(F~B)1FQEe^=wuY z3(FrS3v{}*M0kaPIhi*$hUcBXC0w~TZ><%!N*zyKh$~x{w}wGC=c@Z(&E~r{0?JoH z!_wqIlDR%t%9nE-dT$$7c6nhy^>zBNq+I3T!$)9S?^;6-#LcBsq~-JTUR7N#pJc9p z4{l|J5qeZokuv#Frej-aZ46y|TCuVWfc0ekdtipLGTmV&d|PQOA3X*KSE-2|3ix!h zlhp@`fgYBKdA7;5Ozze;1=2^h6hNlysbfK3O+~rY%8mi|ZHK~4U3t8NE$eUR2J`)O z^VE4Ny*pis?emys&`OoDT9y~cD{+&WgWCunPPcQ$^BlcNeLf!oi}uZ&^gS}*ITk~= zUS;AF&_wqp1x*wvIUfLhpZo>^B?oujRZ_2u1nR6OCJlN$2Pq0K2o&H zf){?Ofx2i?A=RemR?&;b8c?Av8B_QT!+f$gL&w4p1%d-}6%*(736c#^q8IOgRiE=| zr`cXiBjX)VP*z#F%QW1O1eZYt*`Fj}08ApM!1_GKI{F^A%iu^Q&_@wiM4vs|KaYK* z4xJvUZJ|e0w0JF$Fiylis0suN4UhBjFa`?Z6wdN-h!WD$UPW1UB6Em&=TDG{fsbLN z+}3y$T10{ck@1)AC-{Pygipa;+1nqNMFT_z%1GRI-4NIV<&Pb%g$v=apU?AQf{5Tf zzdo71;c-NHI0(m)uQZG&OV+Lt@LOOiT@P+g6ILqGO&&HCdF{MtB(IE4$)xx2Du(aB zamRvKgr^_jARhwbKNIoa*1JvCObO_IZ;kqn#`lY6Tf)%^Gff|X;BnfG?o|-!Nzmms z#(K~*Gl;xj_B3O&(E}LAjyHs89Sm>SOJ6NiMl=HhbTST?z$frV?*%oOZz(%~g^$9^WiR4Gjz22KlDH7bFF7E-O z&rC9SjVg{LmFyU-gW2Pcm1U~^?((tj$HdSU{ePcjK43K5pxlK@(qkF|KRfQE?j*Q@ zQ$Hu_#ra)HEF|$M8IedZjSBHs7bjOqG^r}(ku18DGCAD*F9v0Cl#)ZFAg@nib+Cz~ zGuoCeDGThlk~HeTqG}-Sf-i?r@=kxh2%i*4PY%1rzcGGleN%Q`(<&>d#KM6@QJT>G z!G|->X#q38E9kG!?4RQ>yfE+dz=S$%3m#d!bA#WG~cKEBHf zh?d#KZ7XhmIdNpA%*kxMYt~_ z1FBKqo1(jP>@7#iY;&`A&#`LC!cp4W-`+Ojulh)@DAqN8;fAt*(xz;_xdE)Yu?_=o z4*KoXVuWC+_w5)J_pNPtCy5??L7(9a?^2(~kBcj1p}ZGziPRbHt7+7Q8vNNJV958E z`vO2T(xOymsTUsm*QfRsgRZQPJWsCluky;Z;S=^pIpASnL8M}xkvR2_B+XQ)Ea{9K zPW_7qL=&FyK*lSstO)@^8B!i6&HEsXd7Y~psqgSwK4-_`S_i9U^11}1$Ks3enH&_m z`)fZLHZrjSPbgv7l)p^4F+MM~^emH4y4UPYB9W*ycjj(M_AJxqgVLJ1RruG70b-x7 zYy&zGL)~~1-2$7Prn(Ss@AGu`mE@dUq=v1Y@+5hLy0xn7a(hU10}WVZfRwIUZEoPL zSDiWFh5}$0Okfo&1St*Z^*OOW={KwVsJN#ej6O(cMELOXa2je|!Dno> zV3cJ2HPX6?_aM@GJIg6|(NH5v7GqhyQ|U z4R>JmB&9bmLBE>WU+Yt`6-G;s)vBN4ZL3?1A`}KfG zR5Um2-3*A`3zTHD$(aLD58Mw|@JRbwiCqTki`+;TB{aL~`s;?^#OZIM=bK;wV& z{QR!)Ay@1a2KK(91P~7ErDO5mTlV+ zmfOvtQAZQu#BkHD*=5r3$LBrc1mu;9(vm+AK)+6aJul%cXp7xKT_wdM(%#zpl5XaM zD177v1tgx4J{l`dFbjbO5fp@8n1z^89&I#*LvDs;lwb#ZvoZyd{0d{CpWa17Zsp;g zvP>iI9*$5Gl7@T>mFQ4LOGQhgO_y`TeSeGk>iMmy8Z%yok@vU|3xtWhre6Du5P5zv zgSjNin6qPsz`pb=yyE1I-zcTPz9jmd*efeby-Rd)pDwuDW&s!SOqJZb$chfQOcH>* zG|HeY#wMWxdl`d!3F>>PHbn!OY93%@6zP2Wl)z`E9&06@QxG5Em< zgJh*S%ii2cU)lKz>fg{?N?~qSn}hpa(KUbDWx@fTJoc3U=;S~iJk zEZUsw0mcW*ROooZ-0+rldB^ApV*E1=r|A|6Q3aI^4aYZdaDOseSh2N?YW~RUT8iMy zNF?6)HSk({|E=tLIPdz6umPm4Da70d~&=A{=#>8#N{DGJNOd{H;5>H0L`Vbrq z&HskrZU3f#oZV-O8V;b~#ZiYv(@^n2T#6X;EH)|C8T6SlFqQmnpjb>MJU6i;H{lIo zqWEc$m4XG1D`icm6`2K$Q?Fc~5-l?$xTm*NpR!<>+Sy!%89je(yc?6r61d`J18<3z z*LI-7k)9cSo0yfD`L(+pCH8%NEGsZG8Xq6Nl(MMjjk1gqFs?W(DVx6$p{$SuHq7i^ z<)dB!C!1lIjAPjcI~q?+B`vFM#=8H5oSJb?qZOGA4w1!KDXBdeg~)`rJmRban-4eT z2jnl<@b{*g0@piYp;)+DO|ntHyH8Y%ju-^%TLRZT;<(rzf+vr}WQTYjnae1t@Yulw z5P=7j5V4zgYEQ5o5yPR%O?v9YgK&$xjcfOG6lN_#loy-*1yn`X@Jpj90dfLo9|7T?y|A&IY0xME z>?6Q{=+$9h{TWSr=27OsI2# zF*xjGN!b0y6VYSc$uMrI3iaRw{D1~0w78IY#B)gT?|P8%a>$Lc#h;j5YstQnKIzYi zazl_Eh=EgRIcx4E{|rcQWDLWXWb1r5B?z3(`i2i4H!+vHea06!^H-diOaAC&5p<`SQ1|rC(Uu*fMJHeJ?pAlsOuC(+1+OCZXB}TCotg__ea+5Iu)l)-X@aGtNpRrCfy+U zI7V+jo}g#{!)zLCXXH)6HlQrtYExMsCZWycd~1?~D#F=ZNo*`&3L(U>hitefZr_Dm zO-u+~OWa#lotTV(i`s|vjI@Ooewa%BAjX(p1T2AvaO&g~_&HyrQdZ_7mu$@-avE>F ze;tOtee7oZHzFK4x1;M0`)SAg`PeroPIIF?qYutNC=6w6F2Yd$c`pXO_P(VpdUncC z=){nOe${*Bo~VT&hG;zBNShx;qzF5rLC`r-E@e1Dtz?u^Igm#BKG8x5o(&pJ+MsMu zJQTmW9Fe|pK}nc;A|bJfpaR}?0d>$IX}zS&=c_T6s>-jDj$}hh;9Nnn8q?KnoQtbn zI((c#vZ^C=t#cj^7UL=k8YX_gDZxgSvFNCzO@!_^7UOk|!&=9e#6W;2Crwnotk)7>-6B7Kxc;F8n_=5-j;DJAQ;13@7g9rZLfj@ZQ4<7h~2mauJ z|1a>s;!Su|7c>CC1q1;2{tXY<8yWsL>A+tW?{HvJOT%te9L4v0o&GYoEtq4=9RtL; zm^T!|HUxhnF=GJT3=lO8jd~&S>Zl8bQ8KxI2rUB}w&VJEqRr`a?V_Lr9Se9IJ zc%C0iW){E)w8v$X{3Fq#UY;nz-ic62?0petf-(q`v^^w$xKnN^4rCt=HOxt_+n*0U z$(5ysZjoSN@htKccqGqqR(a^XYbx%=-f43Tt#rRF0AOa>UeVwa*tmkkG)XddlX|?x zegNe7uazyaeT)*ldGO#&lmle=)DX7eG!WtXk-T8%{@`f(-(T%$C{PkB@8&n|m+NTp z1M^G+h@pcwvHYnyy8)08f%X;ic=n_zz7RC&$+{1Tzd2A4B#SmY;X%YS9kT$1z6;a# z&Ynn6oO*T-8e%AEj1s}fmdHI@^xWc`cK*-YhgQ)$5jj=cxo_v=`uM%#LG`_Us)szIV=VBSP-*tPFEfOo7 z>O~2Hx2i&lpC%%qK$i>Z&%NBD#LMs(aF=N!8VA`9LaWsZ0T!3^S7G%HAmEItboF-` ze&_2jQadYL1ZkV|z)A^hwp_BfSWiN4t6zY{6#F2T?+VX^yi`o^#WylE`lnhJCjpUL zE&M*Y89djlfJli_=G!Nw^!G9mh!+MnTR#O*U)obO1r%bY?bx-!W9-!33wCMbp9e_c zw`#(qk6fV`m0-2vz`S3F|Ke_;4cS)@27UX<3GeX){k``~ng3G$EB`u3&8T1-2HY7) zMQi1F=d0h~tbny#`OMxU_;n4L>&(>0cn=q{Ijf@~rK>ndttUUw-&qm8Sp_{zh=Yeh z?No`uk^?>2h3l7TS@92{Er=S^z%>|J#U)EN6b(YOmM2lIG~HdHnbF5;Y`$YtekIc_ z+CcUfWGD|L(e5mdiWDo9Y1@4=wNqdq`_6maZaWbrM9v^9+lKddWfnasRSl-A$6+tn ztl$C^=T*CId)aRGwm(-^B>lFz`SK`|mnRVL5nDpC;WPNx4QetclK3=%f`^32q~w4y zH5pi-npIaGOn$p^B^a?_y*P28zx%@+DGCB?tp&BdcmE{>bo-@sT=@+#QXt1z6J*Gb z@w^PAWKT|3Y6n4%njrtBiwad{WiQ zf$%dmo7AELaYYJppEws*O{6(P6@e;*dkCP6dBz|GS=LZ_)2v+egXO5`stn#4^)A?f z#z}lZc5E@KF#bL*9k?^ZHLw2q@PcGs@BWf3li zkXbFEDYp_jl++9^$~;}c#!JNI2DR!k6kkw%!a-}8fe`W$lW`rMutIvVCr(OreOsDh zSkiA+nfR{stVmq||Ee8@mFfp@VTGdwOh|^CT)_}KL^I-!(%gYD5oIy1`^wPU+vD@j zQbUQJWs?BoT}N*06x@fGFULfcO6|v85rr<-ImSH@f;bFk6h|fSY14jkuIkk2;nuFo3W^fXgu}HkrRQxmZdX;Wgu2^5?yUV$*C%pra!akK=eIRbcVA0VDQ@3vd{ITv!J;5Bu(DsdTHU-_X%>tJF+ z^%*NPK@{g3=ESMg>&tL=GT;mf})X7r3fK5 zlxn3U_Wh0w)m;2)I9dvx$^=^5ZNpN;?^B}g1_vkgPa)L0Y#EF2wxjhYB-I89pJ!E5 zJMo6SkLPIY>5EK6FBWa!AlleiGu@BdsvL!~UTv*L$v{D+9xz4+n$d@j9z_A&HsekC>rWM-q!+h#7sUoG~3J^35hp_vc3|8@$wATuuw6~6pd?;#{13Zw&!HE zi*psU8S6zd!c&oOwWi|8crg0?g4B*AQP0ac*LZ2`)9OlOFib?3Pkg&3qMWmw5jDH# z5e#cl#ZO@H(bH;I7Gs{-8E8#;xTxVixP>vIs~E*>BZc^0Up>XdieNFN4$E8%H8FF? z_fx)Y^f(G5y$)%m$zjSRkYbY9Q&WGiU$_`DB(Ws^Kh})Vua9k4eGr-x zTvyV<kgd?~nd!Gh*bZH-h5j;~c%4q9eLz{X(g5+f|G1Z?3Y;$CWX`A2uL~y$C~OWS-BQ5%97rGr9u_7u2v1*)63z-T&?z_P)NDJQ0`-;dhfK_R z&p(EqT%EqwMNBYe)~f`&N0k8WGn^td<^4OceuFc?7$NCvJQScO2Ye?y6YU|k0z*ug zz-RegiEP{~EhK*Q0S8>R5eer7N+{IMvPnLO1fnZcL*Cy(ZKPZ$K7c@RoH>d9$$zLD z#k{&VeTHJP(rCz&E1iTXc+%FFAR0%fubt5EDLcKPlh{a#SCPiJ(WGwS2k3ilC{7on zDINAG;&^QV^bQsz9(JoKkuMPfo-*({2S46vd+4-Jc1HrDiWe52vmT1ZUX?|&MkH@Xuo-9{T~{FCQ4Z>bw@&EwCh64##L|lFz@x zvR_7_vl!vHXmR!j6nk!u<)};Hpw1m!-Gsr8<1Fs0`LI3_KmqEqOf?g`p~rN!6fBi8Vj>{?WP(l276qy8ZnFAgh?L##o7ayA@m zEaRZJLPcy-@1sGDkvGjjjjW5>S+*X-?P(bi4``RgVfeZ5BVPVYbI+M_+O>_AGrIh! zi+PsKKArnyE&Ixlp46{7>eZ5D$H&$_rwPUt-=mRe?p8C`QF;pG-!VUDKRhhNzo(hT zDveLmRDepA7HOJhnIENM%H(7!7J{zE!N_8>^rpP%EWk8XC10L~?=Ojf&)9mjJJNg3 zrAmYceEvW1VA88~Kee!ZRO>x}VtomR!AmswV(MxbOp&ytHfcy!S6RJM+E-rPrWnN1 z0{_EWYjAKFYPAm95~|}&ZqvI&=yqmseR&bJR?r0@dO@ZC-S-DEg#)6k|om^ zy^3E&^DT;Hy0I}%zjD3!hIvbmL-TPA`Eb`aZ{{lW8 BpS%D7 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png b/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..4444909be37f567a01042e6a63ac963b51e6c05c GIT binary patch literal 30070 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

igLG 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%0DDjO|`9qZGuY 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%0D%0im7$=3p6RdL<5dFtG0do&rs+?U1^qZpDC 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

Yj* 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 U9How`zdCMV8j{BS|6_sw0E%}~00000 literal 0 HcmV?d00001 diff --git a/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf b/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf new file mode 100644 index 0000000000000000000000000000000000000000..526c71d388e372c524986cbe35bd2d2e6912dca9 GIT binary patch literal 255101 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%0DGyu=t38A2f9af1*FOj+Ngl90JU)iTNCkz~173 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

}h||$9&LY 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� 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 TAGS+^------------------------------------------+ + | +--------------------+ | + | | | | + | | | | + | +----v-----+ +-----v----+ | + | |MASTER TAG| |OTHER TAGS| | + | +--+-------+ ++-------------+ | + | | | | | + | | | | | + | +-----v---+ +----v----+ +----v------+ | + | +------------+READ TAGS+---+ |KNOWN TAG| |UNKNOWN TAG| | + | | +-+-------+ | +-----------+ +------------------+ | + | | | | | | | + | +----v-----+ +----v----+ +--v--------+ +-v----------+ +------v----+ | + | |MASTER TAG| |KNOWN TAG| |UNKNOWN TAG| |GRANT ACCESS| |DENY ACCESS| | + | +----------+ +---+-----+ +-----+-----+ +-----+------+ +-----+-----+ | + | | | | | | + | +----+ +----v------+ +--v---+ | +---------------> + +-------+EXIT| |DELETE FROM| |ADD TO| | | + +----+ | EEPROM | |EEPROM| | | + +-----------+ +------+ +-------------------------------+ + + + Use a Master Card which is act as Programmer then you can able to choose card holders who will granted access or not + + * **Easy User Interface** + + Just one RFID tag needed whether Delete or Add Tags. You can choose to use Leds for output or Serial LCD module to inform users. + + * **Stores Information on EEPROM** + + Information stored on non volatile Arduino's EEPROM memory to preserve Users' tag and Master Card. No Information lost + if power lost. EEPROM has unlimited Read cycle but roughly 100,000 limited Write cycle. + + * **Security** + To keep it simple we are going to use Tag's Unique IDs. It's simple and not hacker proof. + + @license Released into the public domain. + + Typical pin layout used: + ----------------------------------------------------------------------------------------- + MFRC522 Arduino Arduino Arduino Arduino Arduino + Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + Signal Pin Pin Pin Pin Pin Pin + ----------------------------------------------------------------------------------------- + RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + SPI SS SDA(SS) 10 53 D10 10 10 + SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 +*/ + +#include // We are going to read and write PICC's UIDs from/to EEPROM +#include // RC522 Module uses SPI protocol +#include // Library for Mifare RC522 Devices + +/* + Instead of a Relay you may want to use a servo. Servos can lock and unlock door locks too + Relay will be used by default +*/ + +// #include + +/* + For visualizing whats going on hardware we need some leds and to control door lock a relay and a wipe button + (or some other hardware) Used common anode led,digitalWriting HIGH turns OFF led Mind that if you are going + to use common cathode led or just seperate leds, simply comment out #define COMMON_ANODE, +*/ + +#define COMMON_ANODE + +#ifdef COMMON_ANODE +#define LED_ON LOW +#define LED_OFF HIGH +#else +#define LED_ON HIGH +#define LED_OFF LOW +#endif + +#define redLed 7 // Set Led Pins +#define greenLed 6 +#define blueLed 5 + +#define relay 4 // Set Relay Pin +#define wipeB 3 // Button pin for WipeMode + +boolean match = false; // initialize card match to false +boolean programMode = false; // initialize programming mode to false +boolean replaceMaster = false; + +uint8_t successRead; // Variable integer to keep if we have Successful Read from Reader + +byte storedCard[4]; // Stores an ID read from EEPROM +byte readCard[4]; // Stores scanned ID read from RFID Module +byte masterCard[4]; // Stores master card's ID read from EEPROM + +// Create MFRC522 instance. +#define SS_PIN 10 +#define RST_PIN 9 +MFRC522 mfrc522(SS_PIN, RST_PIN); + +///////////////////////////////////////// Setup /////////////////////////////////// +void setup() { + //Arduino Pin Configuration + pinMode(redLed, OUTPUT); + pinMode(greenLed, OUTPUT); + pinMode(blueLed, OUTPUT); + pinMode(wipeB, INPUT_PULLUP); // Enable pin's pull up resistor + pinMode(relay, OUTPUT); + //Be careful how relay circuit behave on while resetting or power-cycling your Arduino + digitalWrite(relay, HIGH); // Make sure door is locked + digitalWrite(redLed, LED_OFF); // Make sure led is off + digitalWrite(greenLed, LED_OFF); // Make sure led is off + digitalWrite(blueLed, LED_OFF); // Make sure led is off + + //Protocol Configuration + Serial.begin(9600); // Initialize serial communications with PC + SPI.begin(); // MFRC522 Hardware uses SPI protocol + mfrc522.PCD_Init(); // Initialize MFRC522 Hardware + + //If you set Antenna Gain to Max it will increase reading distance + //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); + + Serial.println(F("Access Control Example v0.1")); // For debugging purposes + ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details + + //Wipe Code - If the Button (wipeB) Pressed while setup run (powered on) it wipes EEPROM + if (digitalRead(wipeB) == LOW) { // when button pressed pin should get low, button connected to ground + digitalWrite(redLed, LED_ON); // Red Led stays on to inform user we are going to wipe + Serial.println(F("Wipe Button Pressed")); + Serial.println(F("You have 10 seconds to Cancel")); + Serial.println(F("This will be remove all records and cannot be undone")); + bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation + if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM + Serial.println(F("Starting Wiping EEPROM")); + for (uint16_t x = 0; x < EEPROM.length(); x = x + 1) { //Loop end of EEPROM address + if (EEPROM.read(x) == 0) { //If EEPROM address 0 + // do nothing, already clear, go to the next address in order to save time and reduce writes to EEPROM + } + else { + EEPROM.write(x, 0); // if not write 0 to clear, it takes 3.3mS + } + } + Serial.println(F("EEPROM Successfully Wiped")); + digitalWrite(redLed, LED_OFF); // visualize a successful wipe + delay(200); + digitalWrite(redLed, LED_ON); + delay(200); + digitalWrite(redLed, LED_OFF); + delay(200); + digitalWrite(redLed, LED_ON); + delay(200); + digitalWrite(redLed, LED_OFF); + } + else { + Serial.println(F("Wiping Cancelled")); // Show some feedback that the wipe button did not pressed for 15 seconds + digitalWrite(redLed, LED_OFF); + } + } + // Check if master card defined, if not let user choose a master card + // This also useful to just redefine the Master Card + // You can keep other EEPROM records just write other than 143 to EEPROM address 1 + // EEPROM address 1 should hold magical number which is '143' + if (EEPROM.read(1) != 143) { + Serial.println(F("No Master Card Defined")); + Serial.println(F("Scan A PICC to Define as Master Card")); + do { + successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 + digitalWrite(blueLed, LED_ON); // Visualize Master Card need to be defined + delay(200); + digitalWrite(blueLed, LED_OFF); + delay(200); + } + while (!successRead); // Program will not go further while you not get a successful read + for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times + EEPROM.write( 2 + j, readCard[j] ); // Write scanned PICC's UID to EEPROM, start from address 3 + } + EEPROM.write(1, 143); // Write to EEPROM we defined Master Card. + Serial.println(F("Master Card Defined")); + } + Serial.println(F("-------------------")); + Serial.println(F("Master Card's UID")); + for ( uint8_t i = 0; i < 4; i++ ) { // Read Master Card's UID from EEPROM + masterCard[i] = EEPROM.read(2 + i); // Write it to masterCard + Serial.print(masterCard[i], HEX); + } + Serial.println(""); + Serial.println(F("-------------------")); + Serial.println(F("Everything is ready")); + Serial.println(F("Waiting PICCs to be scanned")); + cycleLeds(); // Everything ready lets give user some feedback by cycling leds +} + + +///////////////////////////////////////// Main Loop /////////////////////////////////// +void loop () { + do { + successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 + // When device is in use if wipe button pressed for 10 seconds initialize Master Card wiping + if (digitalRead(wipeB) == LOW) { // Check if button is pressed + // Visualize normal operation is iterrupted by pressing wipe button Red is like more Warning to user + digitalWrite(redLed, LED_ON); // Make sure led is off + digitalWrite(greenLed, LED_OFF); // Make sure led is off + digitalWrite(blueLed, LED_OFF); // Make sure led is off + // Give some feedback + Serial.println(F("Wipe Button Pressed")); + Serial.println(F("Master Card will be Erased! in 10 seconds")); + bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation + if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM + EEPROM.write(1, 0); // Reset Magic Number. + Serial.println(F("Master Card Erased from device")); + Serial.println(F("Please reset to re-program Master Card")); + while (1); + } + Serial.println(F("Master Card Erase Cancelled")); + } + if (programMode) { + cycleLeds(); // Program Mode cycles through Red Green Blue waiting to read a new card + } + else { + normalModeOn(); // Normal mode, blue Power LED is on, all others are off + } + } + while (!successRead); //the program will not go further while you are not getting a successful read + if (programMode) { + if ( isMaster(readCard) ) { //When in program mode check First If master card scanned again to exit program mode + Serial.println(F("Master Card Scanned")); + Serial.println(F("Exiting Program Mode")); + Serial.println(F("-----------------------------")); + programMode = false; + return; + } + else { + if ( findID(readCard) ) { // If scanned card is known delete it + Serial.println(F("I know this PICC, removing...")); + deleteID(readCard); + Serial.println("-----------------------------"); + Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); + } + else { // If scanned card is not known add it + Serial.println(F("I do not know this PICC, adding...")); + writeID(readCard); + Serial.println(F("-----------------------------")); + Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); + } + } + } + else { + if ( isMaster(readCard)) { // If scanned card's ID matches Master Card's ID - enter program mode + programMode = true; + Serial.println(F("Hello Master - Entered Program Mode")); + uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that + Serial.print(F("I have ")); // stores the number of ID's in EEPROM + Serial.print(count); + Serial.print(F(" record(s) on EEPROM")); + Serial.println(""); + Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); + Serial.println(F("Scan Master Card again to Exit Program Mode")); + Serial.println(F("-----------------------------")); + } + else { + if ( findID(readCard) ) { // If not, see if the card is in the EEPROM + Serial.println(F("Welcome, You shall pass")); + granted(300); // Open the door lock for 300 ms + } + else { // If not, show that the ID was not valid + Serial.println(F("You shall not pass")); + denied(); + } + } + } +} + +///////////////////////////////////////// Access Granted /////////////////////////////////// +void granted ( uint16_t setDelay) { + digitalWrite(blueLed, LED_OFF); // Turn off blue LED + digitalWrite(redLed, LED_OFF); // Turn off red LED + digitalWrite(greenLed, LED_ON); // Turn on green LED + digitalWrite(relay, LOW); // Unlock door! + delay(setDelay); // Hold door lock open for given seconds + digitalWrite(relay, HIGH); // Relock door + delay(1000); // Hold green LED on for a second +} + +///////////////////////////////////////// Access Denied /////////////////////////////////// +void denied() { + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + digitalWrite(redLed, LED_ON); // Turn on red LED + delay(1000); +} + + +///////////////////////////////////////// Get PICC's UID /////////////////////////////////// +uint8_t getID() { + // Getting ready for Reading PICCs + if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue + return 0; + } + if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue + return 0; + } + // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC + // I think we should assume every PICC as they have 4 byte UID + // Until we support 7 byte PICCs + Serial.println(F("Scanned PICC's UID:")); + for ( uint8_t i = 0; i < 4; i++) { // + readCard[i] = mfrc522.uid.uidByte[i]; + Serial.print(readCard[i], HEX); + } + Serial.println(""); + mfrc522.PICC_HaltA(); // Stop reading + return 1; +} + +void ShowReaderDetails() { + // Get the MFRC522 software version + byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); + Serial.print(F("MFRC522 Software Version: 0x")); + Serial.print(v, HEX); + if (v == 0x91) + Serial.print(F(" = v1.0")); + else if (v == 0x92) + Serial.print(F(" = v2.0")); + else + Serial.print(F(" (unknown),probably a chinese clone?")); + Serial.println(""); + // When 0x00 or 0xFF is returned, communication probably failed + if ((v == 0x00) || (v == 0xFF)) { + Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); + Serial.println(F("SYSTEM HALTED: Check connections.")); + // Visualize system is halted + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + digitalWrite(redLed, LED_ON); // Turn on red LED + while (true); // do not go further + } +} + +///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// +void cycleLeds() { + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + digitalWrite(greenLed, LED_ON); // Make sure green LED is on + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + delay(200); + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + digitalWrite(blueLed, LED_ON); // Make sure blue LED is on + delay(200); + digitalWrite(redLed, LED_ON); // Make sure red LED is on + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + delay(200); +} + +//////////////////////////////////////// Normal Mode Led /////////////////////////////////// +void normalModeOn () { + digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card + digitalWrite(redLed, LED_OFF); // Make sure Red LED is off + digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off + digitalWrite(relay, HIGH); // Make sure Door is Locked +} + +//////////////////////////////////////// Read an ID from EEPROM ////////////////////////////// +void readID( uint8_t number ) { + uint8_t start = (number * 4 ) + 2; // Figure out starting position + for ( uint8_t i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes + storedCard[i] = EEPROM.read(start + i); // Assign values read from EEPROM to array + } +} + +///////////////////////////////////////// Add ID to EEPROM /////////////////////////////////// +void writeID( byte a[] ) { + if ( !findID( a ) ) { // Before we write to the EEPROM, check to see if we have seen this card before! + uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards + uint8_t start = ( num * 4 ) + 6; // Figure out where the next slot starts + num++; // Increment the counter by one + EEPROM.write( 0, num ); // Write the new count to the counter + for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times + EEPROM.write( start + j, a[j] ); // Write the array values to EEPROM in the right position + } + successWrite(); + Serial.println(F("Succesfully added ID record to EEPROM")); + } + else { + failedWrite(); + Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); + } +} + +///////////////////////////////////////// Remove ID from EEPROM /////////////////////////////////// +void deleteID( byte a[] ) { + if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card! + failedWrite(); // If not + Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); + } + else { + uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards + uint8_t slot; // Figure out the slot number of the card + uint8_t start; // = ( num * 4 ) + 6; // Figure out where the next slot starts + uint8_t looping; // The number of times the loop repeats + uint8_t j; + uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards + slot = findIDSLOT( a ); // Figure out the slot number of the card to delete + start = (slot * 4) + 2; + looping = ((num - slot) * 4); + num--; // Decrement the counter by one + EEPROM.write( 0, num ); // Write the new count to the counter + for ( j = 0; j < looping; j++ ) { // Loop the card shift times + EEPROM.write( start + j, EEPROM.read(start + 4 + j)); // Shift the array values to 4 places earlier in the EEPROM + } + for ( uint8_t k = 0; k < 4; k++ ) { // Shifting loop + EEPROM.write( start + j + k, 0); + } + successDelete(); + Serial.println(F("Succesfully removed ID record from EEPROM")); + } +} + +///////////////////////////////////////// Check Bytes /////////////////////////////////// +boolean checkTwo ( byte a[], byte b[] ) { + if ( a[0] != 0 ) // Make sure there is something in the array first + match = true; // Assume they match at first + for ( uint8_t k = 0; k < 4; k++ ) { // Loop 4 times + if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail + match = false; + } + if ( match ) { // Check to see if if match is still true + return true; // Return true + } + else { + return false; // Return false + } +} + +///////////////////////////////////////// Find Slot /////////////////////////////////// +uint8_t findIDSLOT( byte find[] ) { + uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that + for ( uint8_t i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry + readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] + if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM + // is the same as the find[] ID card passed + return i; // The slot number of the card + break; // Stop looking we found it + } + } +} + +///////////////////////////////////////// Find ID From EEPROM /////////////////////////////////// +boolean findID( byte find[] ) { + uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that + for ( uint8_t i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry + readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] + if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM + return true; + break; // Stop looking we found it + } + else { // If not, return false + } + } + return false; +} + +///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// +// Flashes the green LED 3 times to indicate a successful write to EEPROM +void successWrite() { + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + digitalWrite(greenLed, LED_OFF); // Make sure green LED is on + delay(200); + digitalWrite(greenLed, LED_ON); // Make sure green LED is on + delay(200); + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + delay(200); + digitalWrite(greenLed, LED_ON); // Make sure green LED is on + delay(200); + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + delay(200); + digitalWrite(greenLed, LED_ON); // Make sure green LED is on + delay(200); +} + +///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// +// Flashes the red LED 3 times to indicate a failed write to EEPROM +void failedWrite() { + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + delay(200); + digitalWrite(redLed, LED_ON); // Make sure red LED is on + delay(200); + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + delay(200); + digitalWrite(redLed, LED_ON); // Make sure red LED is on + delay(200); + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + delay(200); + digitalWrite(redLed, LED_ON); // Make sure red LED is on + delay(200); +} + +///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// +// Flashes the blue LED 3 times to indicate a success delete to EEPROM +void successDelete() { + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + digitalWrite(redLed, LED_OFF); // Make sure red LED is off + digitalWrite(greenLed, LED_OFF); // Make sure green LED is off + delay(200); + digitalWrite(blueLed, LED_ON); // Make sure blue LED is on + delay(200); + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + delay(200); + digitalWrite(blueLed, LED_ON); // Make sure blue LED is on + delay(200); + digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off + delay(200); + digitalWrite(blueLed, LED_ON); // Make sure blue LED is on + delay(200); +} + +////////////////////// Check readCard IF is masterCard /////////////////////////////////// +// Check to see if the ID passed is the master programing card +boolean isMaster( byte test[] ) { + if ( checkTwo( test, masterCard ) ) + return true; + else + return false; +} + +bool monitorWipeButton(uint32_t interval) { + uint32_t now = (uint32_t)millis(); + while ((uint32_t)millis() - now < interval) { + // check on every half a second + if (((uint32_t)millis() % 500) == 0) { + if (digitalRead(wipeB) != LOW) + return false; + } + } + return true; +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino b/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino new file mode 100644 index 0000000..19315cd --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino @@ -0,0 +1,111 @@ +/* + * -------------------------------------------------------------------------------------------------------------------- + * Example to change UID of changeable MIFARE card. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * This sample shows how to set the UID on a UID changeable MIFARE card. + * NOTE: for more informations read the README.rst + * + * @author Tom Clement + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +/* Set your new UID here! */ +#define NEW_UID {0xDE, 0xAD, 0xBE, 0xEF} + +MFRC522::MIFARE_Key key; + +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!")); + + // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } +} + +// Setting the UID can be as simple as this: +//void loop() { +// byte newUid[] = NEW_UID; +// if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) { +// Serial.println("Wrote new UID to card."); +// } +// delay(1000); +//} + +// But of course this is a more proper approach +void loop() { + + // Look for new cards, and select one if present + if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) { + delay(50); + return; + } + + // Now a card is selected. The UID and SAK is in mfrc522.uid. + + // Dump UID + Serial.print(F("Card UID:")); + for (byte i = 0; i < mfrc522.uid.size; i++) { + Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); + Serial.print(mfrc522.uid.uidByte[i], HEX); + } + Serial.println(); + + // Dump PICC type +// MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); +// Serial.print(F("PICC type: ")); +// Serial.print(mfrc522.PICC_GetTypeName(piccType)); +// Serial.print(F(" (SAK ")); +// Serial.print(mfrc522.uid.sak); +// Serial.print(")\r\n"); +// if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI +// && piccType != MFRC522::PICC_TYPE_MIFARE_1K +// && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { +// Serial.println(F("This sample only works with MIFARE Classic cards.")); +// return; +// } + + // Set new UID + byte newUid[] = NEW_UID; + if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) { + Serial.println(F("Wrote new UID to card.")); + } + + // Halt PICC and re-select it so DumpToSerial doesn't get confused + mfrc522.PICC_HaltA(); + if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) { + return; + } + + // Dump the new memory contents + Serial.println(F("New UID and contents:")); + mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); + + delay(2000); +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino b/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino new file mode 100644 index 0000000..5cb0aaa --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino @@ -0,0 +1,66 @@ +/* + * -------------------------------------------------------------------------------------------------------------------- + * Example sketch/program showing how to read data from a PICC to serial. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID + * Reader on the Arduino SPI interface. + * + * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE + * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When + * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output + * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages + * when removing the PICC from reading distance too early. + * + * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading). + * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all + * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so + * keep the PICCs at reading distance until complete. + * + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 + mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details + Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); +} + +void loop() { + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) { + return; + } + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) { + return; + } + + // Dump debug info about the card; PICC_HaltA() is automatically called + mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino b/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino new file mode 100644 index 0000000..391a252 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino @@ -0,0 +1,53 @@ +/* + * -------------------------------------------------------------------------------------------------------------------- + * Example sketch/program to fix a broken UID changeable MIFARE cards. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * This sample shows how to fix a broken UID changeable MIFARE cards that have a corrupted sector 0. + * + * @author Tom Clement + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +MFRC522::MIFARE_Key key; + +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Warning: this example clears your mifare UID, use with care!")); + + // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } +} + +void loop() { + if ( mfrc522.MIFARE_UnbrickUidSector(false) ) { + Serial.println(F("Cleared sector 0, set UID to 1234. Card should be responsive again now.")); + } + delay(1000); +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino b/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino new file mode 100644 index 0000000..1d78832 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino @@ -0,0 +1,319 @@ +/** + * ---------------------------------------------------------------------------- + * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid + * for further details and other examples. + * + * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. + * + * Released into the public domain. + * ---------------------------------------------------------------------------- + * This sample shows how to setup blocks on a MIFARE Classic PICC (= card/tag) + * to be in "Value Block" mode: in this mode the operations Increment/Decrement, + * Restore and Transfer can be used. + * + * BEWARE: Data will be written to the PICC, in sector #1 (blocks #4 to #7). + * + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. + +MFRC522::MIFARE_Key key; + +/** + * Initialize. + */ +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + + // Prepare the key (used both as key A and as key B) + // using FFFFFFFFFFFFh which is the default at chip delivery from the factory + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + + Serial.println(F("Scan a MIFARE Classic PICC to demonstrate Value Block mode.")); + Serial.print(F("Using key (for A and B):")); + dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); + Serial.println(); + + Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1")); +} + +/** + * Main loop. + */ +void loop() { + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) + return; + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) + return; + + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + // Check for compatibility + if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI + && piccType != MFRC522::PICC_TYPE_MIFARE_1K + && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { + Serial.println(F("This sample only works with MIFARE Classic cards.")); + return; + } + + // In this sample we use the second sector, + // that is: sector #1, covering block #4 up to and including block #7 + byte sector = 1; + byte valueBlockA = 5; + byte valueBlockB = 6; + byte trailerBlock = 7; + MFRC522::StatusCode status; + byte buffer[18]; + byte size = sizeof(buffer); + int32_t value; + + // Authenticate using key A + Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Show the whole sector as it currently is + Serial.println(F("Current data in sector:")); + mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); + Serial.println(); + + // We need a sector trailer that defines blocks 5 and 6 as Value Blocks and enables key B + // The last block in a sector (block #3 for Mifare Classic 1K) is the Sector Trailer. + // See http://www.nxp.com/documents/data_sheet/MF1S503x.pdf sections 8.6 and 8.7: + // Bytes 0-5: Key A + // Bytes 6-8: Access Bits + // Bytes 9: User data + // Bytes 10-15: Key B (or user data) + byte trailerBuffer[] = { + 255, 255, 255, 255, 255, 255, // Keep default key A + 0, 0, 0, + 0, + 255, 255, 255, 255, 255, 255}; // Keep default key B + // The access bits are stored in a peculiar fashion. + // There are four groups: + // g[0] Access bits for block 0 (for sectors 0-31) + // or blocks 0-4 (for sectors 32-39) + // g[1] Access bits for block 1 (for sectors 0-31) + // or blocks 5-9 (for sectors 32-39) + // g[2] Access bits for block 2 (for sectors 0-31) + // or blocks 10-14 (for sectors 32-39) + // g[3] Access bits for the Sector Trailer: block 3 (for sectors 0-31) + // or block 15 (for sectors 32-39) + // Each group has access bits [C1 C2 C3], in this code C1 is MSB and C3 is LSB. + // Determine the bit pattern needed using MIFARE_SetAccessBits: + // g0=0 access bits for block 0 (of this sector) using [0 0 0] = 000b = 0 + // which means key A|B have r/w for block 0 of this sector + // which (in this example) translates to block #4 within sector #1; + // this is the transport configuration (at factory delivery). + // g1=6 access bits for block 1 (of this sector) using [1 1 0] = 110b = 6 + // which means block 1 (of this sector) is used as a value block, + // which (in this example) translates to block #5 within sector #1; + // where key A|B have r, key B has w, key B can increment, + // and key A|B can decrement, transfer, and restore. + // g2=6 same thing for block 2 (of this sector): set it to a value block; + // which (in this example) translates to block #6 within sector #1; + // g3=3 access bits for block 3 (of this sector): the Sector Trailer here; + // using [0 1 1] = 011b = 3 which means only key B has r/w access + // to the Sector Trailer (block 3 of this sector) from now on + // which (in this example) translates to block #7 within sector #1; + mfrc522.MIFARE_SetAccessBits(&trailerBuffer[6], 0, 6, 6, 3); + + // Read the sector trailer as it is currently stored on the PICC + Serial.println(F("Reading sector trailer...")); + status = mfrc522.MIFARE_Read(trailerBlock, buffer, &size); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + // Check if it matches the desired access pattern already; + // because if it does, we don't need to write it again... + if ( buffer[6] != trailerBuffer[6] + || buffer[7] != trailerBuffer[7] + || buffer[8] != trailerBuffer[8]) { + // They don't match (yet), so write it to the PICC + Serial.println(F("Writing new sector trailer...")); + status = mfrc522.MIFARE_Write(trailerBlock, trailerBuffer, 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + } + + // Authenticate using key B + Serial.println(F("Authenticating again using key B...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // A value block has a 32 bit signed value stored three times + // and an 8 bit address stored 4 times. Make sure that valueBlockA + // and valueBlockB have that format (note that it will only format + // the block when it doesn't comply to the expected format already). + formatValueBlock(valueBlockA); + formatValueBlock(valueBlockB); + + // Add 1 to the value of valueBlockA and store the result in valueBlockA. + Serial.print("Adding 1 to value of block "); Serial.println(valueBlockA); + status = mfrc522.MIFARE_Increment(valueBlockA, 1); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Increment() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + status = mfrc522.MIFARE_Transfer(valueBlockA); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Transfer() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + // Show the new value of valueBlockA + status = mfrc522.MIFARE_GetValue(valueBlockA, &value); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("mifare_GetValue() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + Serial.print("New value of value block "); Serial.print(valueBlockA); + Serial.print(" = "); Serial.println(value); + + // Decrement 10 from the value of valueBlockB and store the result in valueBlockB. + Serial.print("Subtracting 10 from value of block "); Serial.println(valueBlockB); + status = mfrc522.MIFARE_Decrement(valueBlockB, 10); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Decrement() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + status = mfrc522.MIFARE_Transfer(valueBlockB); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Transfer() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + // Show the new value of valueBlockB + status = mfrc522.MIFARE_GetValue(valueBlockB, &value); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("mifare_GetValue() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + Serial.print(F("New value of value block ")); Serial.print(valueBlockB); + Serial.print(F(" = ")); Serial.println(value); + // Check some boundary... + if (value <= -100) { + Serial.println(F("Below -100, so resetting it to 255 = 0xFF just for fun...")); + status = mfrc522.MIFARE_SetValue(valueBlockB, 255); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("mifare_SetValue() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + } + + // Dump the sector data + mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); + Serial.println(); + + // Halt PICC + mfrc522.PICC_HaltA(); + // Stop encryption on PCD + mfrc522.PCD_StopCrypto1(); +} + +/** + * Helper routine to dump a byte array as hex values to Serial. + */ +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} + +/** + * Ensure that a given block is formatted as a Value Block. + */ +void formatValueBlock(byte blockAddr) { + byte buffer[18]; + byte size = sizeof(buffer); + MFRC522::StatusCode status; + + Serial.print(F("Reading block ")); Serial.println(blockAddr); + status = mfrc522.MIFARE_Read(blockAddr, buffer, &size); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + if ( (buffer[0] == (byte)~buffer[4]) + && (buffer[1] == (byte)~buffer[5]) + && (buffer[2] == (byte)~buffer[6]) + && (buffer[3] == (byte)~buffer[7]) + + && (buffer[0] == buffer[8]) + && (buffer[1] == buffer[9]) + && (buffer[2] == buffer[10]) + && (buffer[3] == buffer[11]) + + && (buffer[12] == (byte)~buffer[13]) + && (buffer[12] == buffer[14]) + && (buffer[12] == (byte)~buffer[15])) { + Serial.println(F("Block has correct Value Block format.")); + } + else { + Serial.println(F("Formatting as Value Block...")); + byte valueBlock[] = { + 0, 0, 0, 0, + 255, 255, 255, 255, + 0, 0, 0, 0, + blockAddr, ~blockAddr, blockAddr, ~blockAddr }; + status = mfrc522.MIFARE_Write(blockAddr, valueBlock, 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino b/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino new file mode 100644 index 0000000..b6ff703 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino @@ -0,0 +1,137 @@ +/** + * ---------------------------------------------------------------------------- + * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid + * for further details and other examples. + * + * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. + * + * Released into the public domain. + * ---------------------------------------------------------------------------- + * Minimal example how to use the interrupts to read the UID of a MIFARE Classic PICC + * (= card/tag). + * + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 3 10 + * IRQ ? ? ? ? 2 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 3 // Configurable, see typical pin layout above +#define IRQ_PIN 2 // Configurable, depends on hardware + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. + +MFRC522::MIFARE_Key key; + +volatile boolean bNewInt = false; +byte regVal = 0x7F; +void activateRec(MFRC522 mfrc522); +void clearInt(MFRC522 mfrc522); + +/** + * Initialize. + */ +void setup() { + Serial.begin(115200); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + + mfrc522.PCD_Init(); // Init MFRC522 card + + /* read and printout the MFRC522 version (valid values 0x91 & 0x92)*/ + Serial.print(F("Ver: 0x")); + byte readReg = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); + Serial.println(readReg, HEX); + + /* setup the IRQ pin*/ + pinMode(IRQ_PIN, INPUT_PULLUP); + + /* + * Allow the ... irq to be propagated to the IRQ pin + * For test purposes propagate the IdleIrq and loAlert + */ + regVal = 0xA0; //rx irq + mfrc522.PCD_WriteRegister(mfrc522.ComIEnReg, regVal); + + bNewInt = false; //interrupt flag + + /*Activate the interrupt*/ + attachInterrupt(digitalPinToInterrupt(IRQ_PIN), readCard, FALLING); + + do { //clear a spourious interrupt at start + ; + } while (!bNewInt); + bNewInt = false; + + Serial.println(F("End setup")); +} + +/** + * Main loop. + */ +void loop() { + if (bNewInt) { //new read interrupt + Serial.print(F("Interrupt. ")); + mfrc522.PICC_ReadCardSerial(); //read the tag data + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + + clearInt(mfrc522); + mfrc522.PICC_HaltA(); + bNewInt = false; + } + + // The receiving block needs regular retriggering (tell the tag it should transmit??) + // (mfrc522.PCD_WriteRegister(mfrc522.FIFODataReg,mfrc522.PICC_CMD_REQA);) + activateRec(mfrc522); + delay(100); +} //loop() + +/** + * Helper routine to dump a byte array as hex values to Serial. + */ +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} +/** + * MFRC522 interrupt serving routine + */ +void readCard() { + bNewInt = true; +} + +/* + * The function sending to the MFRC522 the needed commands to activate the reception + */ +void activateRec(MFRC522 mfrc522) { + mfrc522.PCD_WriteRegister(mfrc522.FIFODataReg, mfrc522.PICC_CMD_REQA); + mfrc522.PCD_WriteRegister(mfrc522.CommandReg, mfrc522.PCD_Transceive); + mfrc522.PCD_WriteRegister(mfrc522.BitFramingReg, 0x87); +} + +/* + * The function to clear the pending interrupt bits after interrupt serving routine + */ +void clearInt(MFRC522 mfrc522) { + mfrc522.PCD_WriteRegister(mfrc522.ComIrqReg, 0x7F); +} + diff --git a/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino b/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino new file mode 100644 index 0000000..fc9f22c --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino @@ -0,0 +1,58 @@ +//This example show how you can get Authenticated by the NTAG213,215,216 by default the tags are unprotected in order to protect them we need to write 4 different values: +// Using mfrc522.MIFARE_Ultralight_Write(PageNum, Data, #Databytes)) +//1.- we need to write the 32bit passWord to page 0xE5 !for ntag 213 and 215 page is different refer to nxp documentation! +//2.- Now Write the 16 bits pACK to the page 0xE6 use the 2 high bytes like this: pACKH + pACKL + 00 + 00 after an authentication the tag will return this secret bytes +//3.- Now we need to write the first page we want to protect this is a 1 byte data in page 0xE3 we need to write 00 + 00 + 00 + firstPage all pages after this one are write protected +// Now WRITE protection is ACTIVATED so we need to get authenticated in order to write the last data +//4.- Finally we need to write an access record in order to READ protect the card this step is optional only if you want to read protect also write 80 + 00 + 00 + 00 to 0xE4 +//After completeing all these steps you will nee to authentiate first in order to read or write ant page after the first page you selected to protect +//To disengage proection just write the page (0xE3) to 00 + 00 + 00 + FF that going to remove all protection +//Made by GARGANTUA from RoboCreators.com & paradoxalabs.com + +#include +#include + +#define RST_PIN 9 // +#define SS_PIN 10 // + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 + Serial.println(F("Scan PICC to see UID, type, and data blocks...")); +} + +void loop() { + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) { + return; + } + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) { + return; + } + + byte PSWBuff[] = {0xFF, 0xFF, 0xFF, 0xFF}; //32 bit PassWord default FFFFFFFF + byte pACK[] = {0, 0}; //16 bit PassWord ACK returned by the NFCtag + + Serial.print("Auth: "); + Serial.println(mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK)); //Request Authentification if return STATUS_OK we are good + + //Print PassWordACK + Serial.print(pACK[0], HEX); + Serial.println(pACK[1], HEX); + + byte WBuff[] = {0x00, 0x00, 0x00, 0x04}; + byte RBuff[18]; + + //Serial.print("CHG BLK: "); + //Serial.println(mfrc522.MIFARE_Ultralight_Write(0xE3, WBuff, 4)); //How to write to a page + + mfrc522.PICC_DumpMifareUltralightToSerial(); //This is a modifier dunp just cghange the for cicle to < 232 instead of < 16 in order to see all the pages on NTAG216 + + delay(3000); +} \ No newline at end of file diff --git a/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino b/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino new file mode 100644 index 0000000..fc7361e --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino @@ -0,0 +1,312 @@ +/* + * Copy the RFID card data into variables and then + * scan the second empty card to copy all the date + * ---------------------------------------------------------------------------- + * Example sketch/program which will try the most used default keys listed in + * https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys to dump the + * block 0 of a MIFARE RFID card using a RFID-RC522 reader. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. + +byte buffer[18]; +byte block; +byte waarde[64][16]; +MFRC522::StatusCode status; + +MFRC522::MIFARE_Key key; + +// Number of known default keys (hard-coded) +// NOTE: Synchronize the NR_KNOWN_KEYS define with the defaultKeys[] array +#define NR_KNOWN_KEYS 8 +// Known keys, see: https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys +byte knownKeys[NR_KNOWN_KEYS][MFRC522::MF_KEY_SIZE] = { + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // FF FF FF FF FF FF = factory default + {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // A0 A1 A2 A3 A4 A5 + {0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5}, // B0 B1 B2 B3 B4 B5 + {0x4d, 0x3a, 0x99, 0xc3, 0x51, 0xdd}, // 4D 3A 99 C3 51 DD + {0x1a, 0x98, 0x2c, 0x7e, 0x45, 0x9a}, // 1A 98 2C 7E 45 9A + {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // D3 F7 D3 F7 D3 F7 + {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}, // AA BB CC DD EE FF + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // 00 00 00 00 00 00 +}; + +char choice; +/* + * Initialize. + */ +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Try the most used default keys to print block 0 to 63 of a MIFARE PICC.")); + Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); + + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } +} + + + + //Via seriele monitor de bytes uitlezen in hexadecimaal + +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} +//Via seriele monitor de bytes uitlezen in ASCI + +void dump_byte_array1(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.write(buffer[i]); + } +} + +/* + * Try using the PICC (the tag/card) with the given key to access block 0 to 63. + * On success, it will show the key details, and dump the block data on Serial. + * + * @return true when the given key worked, false otherwise. + */ + +boolean try_key(MFRC522::MIFARE_Key *key) +{ + boolean result = false; + + for(byte block = 0; block < 64; block++){ + + // Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return false; + } + + // Read block + byte byteCount = sizeof(buffer); + status = mfrc522.MIFARE_Read(block, buffer, &byteCount); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + else { + // Successful read + result = true; + Serial.print(F("Success with key:")); + dump_byte_array((*key).keyByte, MFRC522::MF_KEY_SIZE); + Serial.println(); + + // Dump block data + Serial.print(F("Block ")); Serial.print(block); Serial.print(F(":")); + dump_byte_array1(buffer, 16); //omzetten van hex naar ASCI + Serial.println(); + + for (int p = 0; p < 16; p++) //De 16 bits uit de block uitlezen + { + waarde [block][p] = buffer[p]; + Serial.print(waarde[block][p]); + Serial.print(" "); + } + + } + } + Serial.println(); + + Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); + + mfrc522.PICC_HaltA(); // Halt PICC + mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD + return result; + + start(); +} + +/* + * Main loop. + */ +void loop() { + start(); + +} + +void start(){ + choice = Serial.read(); + + if(choice == '1') + { + Serial.println("Read the card"); + keuze1(); + + } + else if(choice == '2') + { + Serial.println("See what is in the variables"); + keuze2(); + } + else if(choice == '3') + { + Serial.println("Copying the data on to the new card"); + keuze3(); + } +} + +void keuze2(){ //Test waardes in blokken + + for(block = 4; block <= 62; block++){ + if(block == 7 || block == 11 || block == 15 || block == 19 || block == 23 || block == 27 || block == 31 || block == 35 || block == 39 || block == 43 || block == 47 || block == 51 || block == 55 || block == 59){ + block ++; + } + + Serial.print(F("Writing data into block ")); + Serial.print(block); + Serial.println("\n"); + + for(int j = 0; j < 16; j++){ + Serial.print(waarde[block][j]); + Serial.print(" "); + } + Serial.println("\n"); + + } + + Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); + start(); +} + +void keuze3(){ //Copy the data in the new card +Serial.println("Insert new card..."); + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) + return; + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) + return; + + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + // Try the known default keys + /*MFRC522::MIFARE_Key key; + for (byte k = 0; k < NR_KNOWN_KEYS; k++) { + // Copy the known key into the MIFARE_Key structure + for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { + key.keyByte[i] = knownKeys[k][i]; + } + }*/ + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + + for(int i = 4; i <= 62; i++){ //De blocken 4 tot 62 kopieren, behalve al deze onderstaande blocken (omdat deze de authenticatie blokken zijn) + if(i == 7 || i == 11 || i == 15 || i == 19 || i == 23 || i == 27 || i == 31 || i == 35 || i == 39 || i == 43 || i == 47 || i == 51 || i == 55 || i == 59){ + i++; + } + block = i; + + // Authenticate using key A + Serial.println(F("Authenticating using key A...")); + status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Authenticate using key B + Serial.println(F("Authenticating again using key B...")); + status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Write data to the block + Serial.print(F("Writing data into block ")); + Serial.print(block); + Serial.println("\n"); + + dump_byte_array(waarde[block], 16); + + + status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(block, waarde[block], 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + + + Serial.println("\n"); + + } + mfrc522.PICC_HaltA(); // Halt PICC + mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD + + Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); + start(); +} + +void keuze1(){ //Read card + Serial.println("Insert card..."); + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) + return; + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) + return; + + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + // Try the known default keys + MFRC522::MIFARE_Key key; + for (byte k = 0; k < NR_KNOWN_KEYS; k++) { + // Copy the known key into the MIFARE_Key structure + for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { + key.keyByte[i] = knownKeys[k][i]; + } + // Try the key + if (try_key(&key)) { + // Found and reported on the key and block, + // no need to try other keys for this PICC + break; + } + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino b/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino new file mode 100644 index 0000000..6f7d822 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino @@ -0,0 +1,200 @@ +/** + * ---------------------------------------------------------------------------- + * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid + * for further details and other examples. + * + * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. + * + * Released into the public domain. + * ---------------------------------------------------------------------------- + * This sample shows how to read and write data blocks on a MIFARE Classic PICC + * (= card/tag). + * + * BEWARE: Data will be written to the PICC, in sector #1 (blocks #4 to #7). + * + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. + +MFRC522::MIFARE_Key key; + +/** + * Initialize. + */ +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + + // Prepare the key (used both as key A and as key B) + // using FFFFFFFFFFFFh which is the default at chip delivery from the factory + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + + Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write.")); + Serial.print(F("Using key (for A and B):")); + dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); + Serial.println(); + + Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1")); +} + +/** + * Main loop. + */ +void loop() { + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) + return; + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) + return; + + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + // Check for compatibility + if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI + && piccType != MFRC522::PICC_TYPE_MIFARE_1K + && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { + Serial.println(F("This sample only works with MIFARE Classic cards.")); + return; + } + + // In this sample we use the second sector, + // that is: sector #1, covering block #4 up to and including block #7 + byte sector = 1; + byte blockAddr = 4; + byte dataBlock[] = { + 0x01, 0x02, 0x03, 0x04, // 1, 2, 3, 4, + 0x05, 0x06, 0x07, 0x08, // 5, 6, 7, 8, + 0x08, 0x09, 0xff, 0x0b, // 9, 10, 255, 12, + 0x0c, 0x0d, 0x0e, 0x0f // 13, 14, 15, 16 + }; + byte trailerBlock = 7; + MFRC522::StatusCode status; + byte buffer[18]; + byte size = sizeof(buffer); + + // Authenticate using key A + Serial.println(F("Authenticating using key A...")); + status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Show the whole sector as it currently is + Serial.println(F("Current data in sector:")); + mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); + Serial.println(); + + // Read data from the block + Serial.print(F("Reading data from block ")); Serial.print(blockAddr); + Serial.println(F(" ...")); + status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":")); + dump_byte_array(buffer, 16); Serial.println(); + Serial.println(); + + // Authenticate using key B + Serial.println(F("Authenticating again using key B...")); + status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Write data to the block + Serial.print(F("Writing data into block ")); Serial.print(blockAddr); + Serial.println(F(" ...")); + dump_byte_array(dataBlock, 16); Serial.println(); + status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + Serial.println(); + + // Read data from the block (again, should now be what we have written) + Serial.print(F("Reading data from block ")); Serial.print(blockAddr); + Serial.println(F(" ...")); + status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + } + Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":")); + dump_byte_array(buffer, 16); Serial.println(); + + // Check that data in block is what we have written + // by counting the number of bytes that are equal + Serial.println(F("Checking result...")); + byte count = 0; + for (byte i = 0; i < 16; i++) { + // Compare buffer (= what we've read) with dataBlock (= what we've written) + if (buffer[i] == dataBlock[i]) + count++; + } + Serial.print(F("Number of bytes that match = ")); Serial.println(count); + if (count == 16) { + Serial.println(F("Success :-)")); + } else { + Serial.println(F("Failure, no match :-(")); + Serial.println(F(" perhaps the write didn't work properly...")); + } + Serial.println(); + + // Dump the sector data + Serial.println(F("Current data in sector:")); + mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); + Serial.println(); + + // Halt PICC + mfrc522.PICC_HaltA(); + // Stop encryption on PCD + mfrc522.PCD_StopCrypto1(); +} + +/** + * Helper routine to dump a byte array as hex values to Serial. + */ +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino b/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino new file mode 100644 index 0000000..9ff99da --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino @@ -0,0 +1,127 @@ +/* + * -------------------------------------------------------------------------------------------------------------------- + * Example sketch/program showing how to read new NUID from a PICC to serial. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * Example sketch/program showing how to the read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID + * Reader on the Arduino SPI interface. + * + * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE + * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When + * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output + * will show the type, and the NUID if a new card has been detected. Note: you may see "Timeout in communication" messages + * when removing the PICC from reading distance too early. + * + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + */ + +#include +#include + +#define SS_PIN 10 +#define RST_PIN 9 + +MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class + +MFRC522::MIFARE_Key key; + +// Init array that will store new NUID +byte nuidPICC[4]; + +void setup() { + Serial.begin(9600); + SPI.begin(); // Init SPI bus + rfid.PCD_Init(); // Init MFRC522 + + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + + Serial.println(F("This code scan the MIFARE Classsic NUID.")); + Serial.print(F("Using the following key:")); + printHex(key.keyByte, MFRC522::MF_KEY_SIZE); +} + +void loop() { + + // Look for new cards + if ( ! rfid.PICC_IsNewCardPresent()) + return; + + // Verify if the NUID has been readed + if ( ! rfid.PICC_ReadCardSerial()) + return; + + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); + Serial.println(rfid.PICC_GetTypeName(piccType)); + + // Check is the PICC of Classic MIFARE type + if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && + piccType != MFRC522::PICC_TYPE_MIFARE_1K && + piccType != MFRC522::PICC_TYPE_MIFARE_4K) { + Serial.println(F("Your tag is not of type MIFARE Classic.")); + return; + } + + if (rfid.uid.uidByte[0] != nuidPICC[0] || + rfid.uid.uidByte[1] != nuidPICC[1] || + rfid.uid.uidByte[2] != nuidPICC[2] || + rfid.uid.uidByte[3] != nuidPICC[3] ) { + Serial.println(F("A new card has been detected.")); + + // Store NUID into nuidPICC array + for (byte i = 0; i < 4; i++) { + nuidPICC[i] = rfid.uid.uidByte[i]; + } + + Serial.println(F("The NUID tag is:")); + Serial.print(F("In hex: ")); + printHex(rfid.uid.uidByte, rfid.uid.size); + Serial.println(); + Serial.print(F("In dec: ")); + printDec(rfid.uid.uidByte, rfid.uid.size); + Serial.println(); + } + else Serial.println(F("Card read previously.")); + + // Halt PICC + rfid.PICC_HaltA(); + + // Stop encryption on PCD + rfid.PCD_StopCrypto1(); +} + + +/** + * Helper routine to dump a byte array as hex values to Serial. + */ +void printHex(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} + +/** + * Helper routine to dump a byte array as dec values to Serial. + */ +void printDec(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], DEC); + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino b/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino new file mode 100644 index 0000000..c14c17a --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino @@ -0,0 +1,97 @@ +/** + * -------------------------------------------------------------------------------------------------------------------- + * Example sketch/program showing how to read data from more than one PICC to serial. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * Example sketch/program showing how to read data from more than one PICC (that is: a RFID Tag or Card) using a + * MFRC522 based RFID Reader on the Arduino SPI interface. + * + * Warning: This may not work! Multiple devices at one SPI are difficult and cause many trouble!! Engineering skill + * and knowledge are required! + * + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS 1 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required ** + * SPI SS 2 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required ** + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2 +#define SS_2_PIN 8 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1 + +#define NR_OF_READERS 2 + +byte ssPins[] = {SS_1_PIN, SS_2_PIN}; + +MFRC522 mfrc522[NR_OF_READERS]; // Create MFRC522 instance. + +/** + * Initialize. + */ +void setup() { + + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + + SPI.begin(); // Init SPI bus + + for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) { + mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card + Serial.print(F("Reader ")); + Serial.print(reader); + Serial.print(F(": ")); + mfrc522[reader].PCD_DumpVersionToSerial(); + } +} + +/** + * Main loop. + */ +void loop() { + + for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) { + // Look for new cards + + if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) { + Serial.print(F("Reader ")); + Serial.print(reader); + // Show some details of the PICC (that is: the tag/card) + Serial.print(F(": Card UID:")); + dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak); + Serial.println(mfrc522[reader].PICC_GetTypeName(piccType)); + + // Halt PICC + mfrc522[reader].PICC_HaltA(); + // Stop encryption on PCD + mfrc522[reader].PCD_StopCrypto1(); + } //if (mfrc522[reader].PICC_IsNewC + } //for(uint8_t reader +} + +/** + * Helper routine to dump a byte array as hex values to Serial. + */ +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino b/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino new file mode 100644 index 0000000..943ce5b --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino @@ -0,0 +1,62 @@ +/* + * -------------------------------------------------------------------------------------------------------------------- + * Example sketch/program to test your firmware. + * -------------------------------------------------------------------------------------------------------------------- + * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid + * + * This example test the firmware of your MFRC522 reader module, only known version can be checked. If the test passed + * it do not mean that your module is faultless! Some modules have bad or broken antennas or the PICC is broken. + * NOTE: for more informations read the README.rst + * + * @author Rotzbua + * @license Released into the public domain. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +/** + * Check firmware only once at startup + */ +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 module + + Serial.println(F("*****************************")); + Serial.println(F("MFRC522 Digital self test")); + Serial.println(F("*****************************")); + mfrc522.PCD_DumpVersionToSerial(); // Show version of PCD - MFRC522 Card Reader + Serial.println(F("-----------------------------")); + Serial.println(F("Only known versions supported")); + Serial.println(F("-----------------------------")); + Serial.println(F("Performing test...")); + bool result = mfrc522.PCD_PerformSelfTest(); // perform the test + Serial.println(F("-----------------------------")); + Serial.print(F("Result: ")); + if (result) + Serial.println(F("OK")); + else + Serial.println(F("DEFECT or UNKNOWN")); + Serial.println(); +} + +void loop() {} // nothing to do diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino b/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino new file mode 100644 index 0000000..78227cf --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino @@ -0,0 +1,157 @@ +/* + * ---------------------------------------------------------------------------- + * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid + * for further details and other examples. + * + * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. + * + * Released into the public domain. + * ---------------------------------------------------------------------------- + * Example sketch/program which will try the most used default keys listed in + * https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys to dump the + * block 0 of a MIFARE RFID card using a RFID-RC522 reader. + * + * Typical pin layout used: + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. + +// Number of known default keys (hard-coded) +// NOTE: Synchronize the NR_KNOWN_KEYS define with the defaultKeys[] array +#define NR_KNOWN_KEYS 8 +// Known keys, see: https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys +byte knownKeys[NR_KNOWN_KEYS][MFRC522::MF_KEY_SIZE] = { + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // FF FF FF FF FF FF = factory default + {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // A0 A1 A2 A3 A4 A5 + {0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5}, // B0 B1 B2 B3 B4 B5 + {0x4d, 0x3a, 0x99, 0xc3, 0x51, 0xdd}, // 4D 3A 99 C3 51 DD + {0x1a, 0x98, 0x2c, 0x7e, 0x45, 0x9a}, // 1A 98 2C 7E 45 9A + {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // D3 F7 D3 F7 D3 F7 + {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}, // AA BB CC DD EE FF + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // 00 00 00 00 00 00 +}; + +/* + * Initialize. + */ +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Try the most used default keys to print block 0 of a MIFARE PICC.")); +} + +/* + * Helper routine to dump a byte array as hex values to Serial. + */ +void dump_byte_array(byte *buffer, byte bufferSize) { + for (byte i = 0; i < bufferSize; i++) { + Serial.print(buffer[i] < 0x10 ? " 0" : " "); + Serial.print(buffer[i], HEX); + } +} + +/* + * Try using the PICC (the tag/card) with the given key to access block 0. + * On success, it will show the key details, and dump the block data on Serial. + * + * @return true when the given key worked, false otherwise. + */ +boolean try_key(MFRC522::MIFARE_Key *key) +{ + boolean result = false; + byte buffer[18]; + byte block = 0; + MFRC522::StatusCode status; + + // http://arduino.stackexchange.com/a/14316 + if ( ! mfrc522.PICC_IsNewCardPresent()) + return false; + if ( ! mfrc522.PICC_ReadCardSerial()) + return false; + // Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + // Serial.print(F("PCD_Authenticate() failed: ")); + // Serial.println(mfrc522.GetStatusCodeName(status)); + return false; + } + + // Read block + byte byteCount = sizeof(buffer); + status = mfrc522.MIFARE_Read(block, buffer, &byteCount); + if (status != MFRC522::STATUS_OK) { + // Serial.print(F("MIFARE_Read() failed: ")); + // Serial.println(mfrc522.GetStatusCodeName(status)); + } + else { + // Successful read + result = true; + Serial.print(F("Success with key:")); + dump_byte_array((*key).keyByte, MFRC522::MF_KEY_SIZE); + Serial.println(); + // Dump block data + Serial.print(F("Block ")); Serial.print(block); Serial.print(F(":")); + dump_byte_array(buffer, 16); + Serial.println(); + } + Serial.println(); + + mfrc522.PICC_HaltA(); // Halt PICC + mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD + return result; +} + +/* + * Main loop. + */ +void loop() { + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) + return; + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) + return; + + // Show some details of the PICC (that is: the tag/card) + Serial.print(F("Card UID:")); + dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); + Serial.println(); + Serial.print(F("PICC type: ")); + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + // Try the known default keys + MFRC522::MIFARE_Key key; + for (byte k = 0; k < NR_KNOWN_KEYS; k++) { + // Copy the known key into the MIFARE_Key structure + for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { + key.keyByte[i] = knownKeys[k][i]; + } + // Try the key + if (try_key(&key)) { + // Found and reported on the key and block, + // no need to try other keys for this PICC + break; + } + } +} diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino b/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino new file mode 100644 index 0000000..5271cd1 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino @@ -0,0 +1,138 @@ +/* + * Initial Author: ryand1011 (https://github.com/ryand1011) + * + * Reads data written by a program such as "rfid_write_personal_data.ino" + * + * See: https://github.com/miguelbalboa/rfid/tree/master/examples/rfid_write_personal_data + * + * Uses MIFARE RFID card using RFID-RC522 reader + * Uses MFRC522 - Library + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 +*/ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +//*****************************************************************************************// +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Read personal data on a MIFARE PICC:")); //shows in serial that it is ready to read +} + +//*****************************************************************************************// +void loop() { + + // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + MFRC522::MIFARE_Key key; + for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF; + + //some variables we need + byte block; + byte len; + MFRC522::StatusCode status; + + //------------------------------------------- + + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) { + return; + } + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) { + return; + } + + Serial.println(F("**Card Detected:**")); + + //------------------------------------------- + + mfrc522.PICC_DumpDetailsToSerial(&(mfrc522.uid)); //dump some details about the card + + //mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); //uncomment this to see all blocks in hex + + //------------------------------------------- + + Serial.print(F("Name: ")); + + byte buffer1[18]; + + block = 4; + len = 18; + + //------------------------------------------- GET FIRST NAME + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 4, &key, &(mfrc522.uid)); //line 834 of MFRC522.cpp file + if (status != MFRC522::STATUS_OK) { + Serial.print(F("Authentication failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + status = mfrc522.MIFARE_Read(block, buffer1, &len); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("Reading failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + //PRINT FIRST NAME + for (uint8_t i = 0; i < 16; i++) + { + if (buffer1[i] != 32) + { + Serial.write(buffer1[i]); + } + } + Serial.print(" "); + + //---------------------------------------- GET LAST NAME + + byte buffer2[18]; + block = 1; + + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 1, &key, &(mfrc522.uid)); //line 834 + if (status != MFRC522::STATUS_OK) { + Serial.print(F("Authentication failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + status = mfrc522.MIFARE_Read(block, buffer2, &len); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("Reading failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + //PRINT LAST NAME + for (uint8_t i = 0; i < 16; i++) { + Serial.write(buffer2[i] ); + } + + + //---------------------------------------- + + Serial.println(F("\n**End Reading**\n")); + + delay(1000); //change value if you want to read cards faster + + mfrc522.PICC_HaltA(); + mfrc522.PCD_StopCrypto1(); +} +//*****************************************************************************************// diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino b/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino new file mode 100644 index 0000000..75bb2fb --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino @@ -0,0 +1,156 @@ +/* + * Write personal data of a MIFARE RFID card using a RFID-RC522 reader + * Uses MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. + * ----------------------------------------------------------------------------------------- + * MFRC522 Arduino Arduino Arduino Arduino Arduino + * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro + * Signal Pin Pin Pin Pin Pin Pin + * ----------------------------------------------------------------------------------------- + * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST + * SPI SS SDA(SS) 10 53 D10 10 10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 + * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 + * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 + * + * Hardware required: + * Arduino + * PCD (Proximity Coupling Device): NXP MFRC522 Contactless Reader IC + * PICC (Proximity Integrated Circuit Card): A card or tag using the ISO 14443A interface, eg Mifare or NTAG203. + * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com. + */ + +#include +#include + +#define RST_PIN 9 // Configurable, see typical pin layout above +#define SS_PIN 10 // Configurable, see typical pin layout above + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance + +void setup() { + Serial.begin(9600); // Initialize serial communications with the PC + SPI.begin(); // Init SPI bus + mfrc522.PCD_Init(); // Init MFRC522 card + Serial.println(F("Write personal data on a MIFARE PICC ")); +} + +void loop() { + + // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + MFRC522::MIFARE_Key key; + for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF; + + // Look for new cards + if ( ! mfrc522.PICC_IsNewCardPresent()) { + return; + } + + // Select one of the cards + if ( ! mfrc522.PICC_ReadCardSerial()) { + return; + } + + Serial.print(F("Card UID:")); //Dump UID + for (byte i = 0; i < mfrc522.uid.size; i++) { + Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); + Serial.print(mfrc522.uid.uidByte[i], HEX); + } + Serial.print(F(" PICC type: ")); // Dump PICC type + MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); + Serial.println(mfrc522.PICC_GetTypeName(piccType)); + + byte buffer[34]; + byte block; + MFRC522::StatusCode status; + byte len; + + Serial.setTimeout(20000L) ; // wait until 20 seconds for input from serial + // Ask personal data: Family name + Serial.println(F("Type Family name, ending with #")); + len = Serial.readBytesUntil('#', (char *) buffer, 30) ; // read family name from serial + for (byte i = len; i < 30; i++) buffer[i] = ' '; // pad with spaces + + block = 1; + //Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + else Serial.println(F("PCD_Authenticate() success: ")); + + // Write block + status = mfrc522.MIFARE_Write(block, buffer, 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + else Serial.println(F("MIFARE_Write() success: ")); + + block = 2; + //Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Write block + status = mfrc522.MIFARE_Write(block, &buffer[16], 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + else Serial.println(F("MIFARE_Write() success: ")); + + // Ask personal data: First name + Serial.println(F("Type First name, ending with #")); + len = Serial.readBytesUntil('#', (char *) buffer, 20) ; // read first name from serial + for (byte i = len; i < 20; i++) buffer[i] = ' '; // pad with spaces + + block = 4; + //Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Write block + status = mfrc522.MIFARE_Write(block, buffer, 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + else Serial.println(F("MIFARE_Write() success: ")); + + block = 5; + //Serial.println(F("Authenticating using key A...")); + status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + + // Write block + status = mfrc522.MIFARE_Write(block, &buffer[16], 16); + if (status != MFRC522::STATUS_OK) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(mfrc522.GetStatusCodeName(status)); + return; + } + else Serial.println(F("MIFARE_Write() success: ")); + + + Serial.println(" "); + mfrc522.PICC_HaltA(); // Halt PICC + mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD + +} \ No newline at end of file diff --git a/SD_Makefile_Build/libs/MFRC522/keywords.txt b/SD_Makefile_Build/libs/MFRC522/keywords.txt new file mode 100644 index 0000000..46363a7 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/keywords.txt @@ -0,0 +1,219 @@ +####################################### +# Syntax Coloring Map for library MFRC522 +####################################### + +####################################### +# KEYWORD1 Classes, datatypes, and C++ keywords +####################################### +MFRC522 KEYWORD1 +MFRC522Extended KEYWORD1 +PCD_Register KEYWORD1 +PCD_Command KEYWORD1 +PCD_RxGain KEYWORD1 +PICC_Command KEYWORD1 +MIFARE_Misc KEYWORD1 +PICC_Type KEYWORD1 +StatusCode KEYWORD1 +TagBitRates KEYWORD1 +Uid KEYWORD1 +CardInfo KEYWORD1 +MIFARE_Key KEYWORD1 +PcbBlock KEYWORD1 + +####################################### +# KEYWORD2 Methods and functions +####################################### + +# Basic interface functions for communicating with the MFRC522 +PCD_WriteRegister KEYWORD2 +PCD_WriteRegister KEYWORD2 +PCD_ReadRegister KEYWORD2 +PCD_ReadRegister KEYWORD2 +setBitMask KEYWORD2 +PCD_SetRegisterBitMask KEYWORD2 +PCD_ClearRegisterBitMask KEYWORD2 +PCD_CalculateCRC KEYWORD2 + +# Functions for manipulating the MFRC522 +PCD_Init KEYWORD2 +PCD_Reset KEYWORD2 +PCD_AntennaOn KEYWORD2 +PCD_AntennaOff KEYWORD2 +PCD_GetAntennaGain KEYWORD2 +PCD_SetAntennaGain KEYWORD2 +PCD_PerformSelfTest KEYWORD2 + +# Functions for communicating with PICCs +PCD_TransceiveData KEYWORD2 +PCD_CommunicateWithPICC KEYWORD2 +PICC_RequestA KEYWORD2 +PICC_WakeupA KEYWORD2 +PICC_REQA_or_WUPA KEYWORD2 +PICC_Select KEYWORD2 +PICC_HaltA KEYWORD2 +PICC_RATS KEYWORD2 +PICC_PPS KEYWORD2 + +# Functions for communicating with ISO/IEC 14433-4 cards +TCL_Transceive KEYWORD2 +TCL_TransceiveRBlock KEYWORD2 +TCL_Deselect KEYWORD2 + +# Functions for communicating with MIFARE PICCs +PCD_Authenticate KEYWORD2 +PCD_StopCrypto1 KEYWORD2 +MIFARE_Read KEYWORD2 +MIFARE_Write KEYWORD2 +MIFARE_Increment KEYWORD2 +MIFARE_Ultralight_Write KEYWORD2 +MIFARE_GetValue KEYWORD2 +MIFARE_SetValue KEYWORD2 +PCD_NTAG216_AUTH KEYWORD2 + +# Support functions +PCD_MIFARE_Transceive KEYWORD2 +GetStatusCodeName KEYWORD2 +PICC_GetType KEYWORD2 +PICC_GetTypeName KEYWORD2 + +# Support functions for debuging +PCD_DumpVersionToSerial KEYWORD2 +PICC_DumpToSerial KEYWORD2 +PICC_DumpDetailsToSerial KEYWORD2 +PICC_DumpMifareClassicToSerial KEYWORD2 +PICC_DumpMifareClassicSectorToSerial KEYWORD2 +PICC_DumpMifareUltralightToSerial KEYWORD2 +PICC_DumpISO14443_4 KEYWORD2 + +# Advanced functions for MIFARE +MIFARE_SetAccessBits KEYWORD2 +MIFARE_OpenUidBackdoor KEYWORD2 +MIFARE_SetUid KEYWORD2 +MIFARE_UnbrickUidSector KEYWORD2 + +# Convenience functions - does not add extra functionality +PICC_IsNewCardPresent KEYWORD2 +PICC_ReadCardSerial KEYWORD2 + +####################################### +# KEYWORD3 setup and loop functions, as well as the Serial keywords +####################################### + +####################################### +LITERAL1 Constants +####################################### +CommandReg LITERAL1 +ComIEnReg LITERAL1 +DivIEnReg LITERAL1 +ComIrqReg LITERAL1 +DivIrqReg LITERAL1 +ErrorReg LITERAL1 +Status1Reg LITERAL1 +Status2Reg LITERAL1 +FIFODataReg LITERAL1 +FIFOLevelReg LITERAL1 +WaterLevelReg LITERAL1 +ControlReg LITERAL1 +BitFramingReg LITERAL1 +CollReg LITERAL1 +ModeReg LITERAL1 +TxModeReg LITERAL1 +RxModeReg LITERAL1 +TxControlReg LITERAL1 +TxASKReg LITERAL1 +TxSelReg LITERAL1 +RxSelReg LITERAL1 +RxThresholdReg LITERAL1 +DemodReg LITERAL1 +MfTxReg LITERAL1 +MfRxReg LITERAL1 +SerialSpeedReg LITERAL1 +CRCResultRegH LITERAL1 +CRCResultRegL LITERAL1 +ModWidthReg LITERAL1 +RFCfgReg LITERAL1 +GsNReg LITERAL1 +CWGsPReg LITERAL1 +ModGsPReg LITERAL1 +TModeReg LITERAL1 +TPrescalerReg LITERAL1 +TReloadRegH LITERAL1 +TReloadRegL LITERAL1 +TCounterValueRegH LITERAL1 +TCounterValueRegL LITERAL1 +TestSel1Reg LITERAL1 +TestSel2Reg LITERAL1 +TestPinEnReg LITERAL1 +TestPinValueReg LITERAL1 +TestBusReg LITERAL1 +AutoTestReg LITERAL1 +VersionReg LITERAL1 +AnalogTestReg LITERAL1 +TestDAC1Reg LITERAL1 +TestDAC2Reg LITERAL1 +TestADCReg LITERAL1 +PCD_Idle LITERAL1 +PCD_Mem LITERAL1 +PCD_GenerateRandomID LITERAL1 +PCD_CalcCRC LITERAL1 +PCD_Transmit LITERAL1 +PCD_NoCmdChange LITERAL1 +PCD_Receive LITERAL1 +PCD_Transceive LITERAL1 +PCD_MFAuthent LITERAL1 +PCD_SoftReset LITERAL1 +RxGain_18dB LITERAL1 +RxGain_23dB LITERAL1 +RxGain_18dB_2 LITERAL1 +RxGain_23dB_2 LITERAL1 +RxGain_33dB LITERAL1 +RxGain_38dB LITERAL1 +RxGain_43dB LITERAL1 +RxGain_48dB LITERAL1 +RxGain_min LITERAL1 +RxGain_avg LITERAL1 +RxGain_max LITERAL1 +PICC_CMD_REQA LITERAL1 +PICC_CMD_WUPA LITERAL1 +PICC_CMD_CT LITERAL1 +PICC_CMD_SEL_CL1 LITERAL1 +PICC_CMD_SEL_CL2 LITERAL1 +PICC_CMD_SEL_CL3 LITERAL1 +PICC_CMD_HLTA LITERAL1 +PICC_CMD_RATS LITERAL1 +PICC_CMD_MF_AUTH_KEY_A LITERAL1 +PICC_CMD_MF_AUTH_KEY_B LITERAL1 +PICC_CMD_MF_READ LITERAL1 +PICC_CMD_MF_WRITE LITERAL1 +PICC_CMD_MF_DECREMENT LITERAL1 +PICC_CMD_MF_INCREMENT LITERAL1 +PICC_CMD_MF_RESTORE LITERAL1 +PICC_CMD_MF_TRANSFER LITERAL1 +PICC_CMD_UL_WRITE LITERAL1 +MF_ACK LITERAL1 +MF_KEY_SIZE LITERAL1 +PICC_TYPE_UNKNOWN LITERAL1 +PICC_TYPE_ISO_14443_4 LITERAL1 +PICC_TYPE_ISO_18092 LITERAL1 +PICC_TYPE_MIFARE_MINI LITERAL1 +PICC_TYPE_MIFARE_1K LITERAL1 +PICC_TYPE_MIFARE_4K LITERAL1 +PICC_TYPE_MIFARE_UL LITERAL1 +PICC_TYPE_MIFARE_PLUS LITERAL1 +PICC_TYPE_MIFARE_DESFIRE LITERAL1 +PICC_TYPE_TNP3XXX LITERAL1 +PICC_TYPE_NOT_COMPLETE LITERAL1 +STATUS_OK LITERAL1 +STATUS_ERROR LITERAL1 +STATUS_COLLISION LITERAL1 +STATUS_TIMEOUT LITERAL1 +STATUS_NO_ROOM LITERAL1 +STATUS_INTERNAL_ERROR LITERAL1 +STATUS_INVALID LITERAL1 +STATUS_CRC_WRONG LITERAL1 +STATUS_MIFARE_NACK LITERAL1 +FIFO_SIZE LITERAL1 +BITRATE_106KBITS LITERAL1 +BITRATE_212KBITS LITERAL1 +BITRATE_424KBITS LITERAL1 +BITRATE_848KBITS LITERAL1 \ No newline at end of file diff --git a/SD_Makefile_Build/libs/MFRC522/library.json b/SD_Makefile_Build/libs/MFRC522/library.json new file mode 100644 index 0000000..6dfd958 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/library.json @@ -0,0 +1,14 @@ +{ + "name": "MFRC522", + "keywords": "rfid, spi", + "description": "Read a card using a MFRC522 reader on your SPI interface", + "repository": + { + "type": "git", + "url": "https://github.com/miguelbalboa/rfid.git" + }, + "version": "1.3.5", + "exclude": "doc", + "frameworks": "arduino", + "platforms": ["atmelavr", "ststm32", "teensy", "espressif8266"] +} diff --git a/SD_Makefile_Build/libs/MFRC522/library.properties b/SD_Makefile_Build/libs/MFRC522/library.properties new file mode 100644 index 0000000..0c9e012 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/library.properties @@ -0,0 +1,9 @@ +name=MFRC522 +version=1.3.5 +author=GithubCommunity +maintainer=miguelbalboa +sentence=Arduino RFID Library for MFRC522 (SPI) +paragraph=Read/Write a RFID Card or Tag using the ISO/IEC 14443A/MIFARE interface. +category=Communication +url=https://github.com/miguelbalboa/rfid +architectures=avr,STM32F1,teensy,esp8266 diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp b/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp new file mode 100644 index 0000000..7800e24 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp @@ -0,0 +1,1898 @@ +/* +* MFRC522.cpp - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. +* NOTE: Please also check the comments in MFRC522.h - they provide useful hints and background information. +* Released into the public domain. +*/ + +#include +#include "MFRC522.h" + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for setting up the Arduino +///////////////////////////////////////////////////////////////////////////////////// +/** + * Constructor. + */ +MFRC522::MFRC522(): MFRC522(SS, UINT8_MAX) { // SS is defined in pins_arduino.h, UINT8_MAX means there is no connection from Arduino to MFRC522's reset and power down input +} // End constructor + +/** + * Constructor. + * Prepares the output pins. + */ +MFRC522::MFRC522( byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low). If there is no connection from the CPU to NRSTPD, set this to UINT8_MAX. In this case, only soft reset will be used in PCD_Init(). + ): MFRC522(SS, resetPowerDownPin) { // SS is defined in pins_arduino.h +} // End constructor + +/** + * Constructor. + * Prepares the output pins. + */ +MFRC522::MFRC522( byte chipSelectPin, ///< Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) + byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low). If there is no connection from the CPU to NRSTPD, set this to UINT8_MAX. In this case, only soft reset will be used in PCD_Init(). + ) { + _chipSelectPin = chipSelectPin; + _resetPowerDownPin = resetPowerDownPin; +} // End constructor + +///////////////////////////////////////////////////////////////////////////////////// +// Basic interface functions for communicating with the MFRC522 +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Writes a byte to the specified register in the MFRC522 chip. + * The interface is described in the datasheet section 8.1.2. + */ +void MFRC522::PCD_WriteRegister( PCD_Register reg, ///< The register to write to. One of the PCD_Register enums. + byte value ///< The value to write. + ) { + SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus + digitalWrite(_chipSelectPin, LOW); // Select slave + SPI.transfer(reg); // MSB == 0 is for writing. LSB is not used in address. Datasheet section 8.1.2.3. + SPI.transfer(value); + digitalWrite(_chipSelectPin, HIGH); // Release slave again + SPI.endTransaction(); // Stop using the SPI bus +} // End PCD_WriteRegister() + +/** + * Writes a number of bytes to the specified register in the MFRC522 chip. + * The interface is described in the datasheet section 8.1.2. + */ +void MFRC522::PCD_WriteRegister( PCD_Register reg, ///< The register to write to. One of the PCD_Register enums. + byte count, ///< The number of bytes to write to the register + byte *values ///< The values to write. Byte array. + ) { + SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus + digitalWrite(_chipSelectPin, LOW); // Select slave + SPI.transfer(reg); // MSB == 0 is for writing. LSB is not used in address. Datasheet section 8.1.2.3. + for (byte index = 0; index < count; index++) { + SPI.transfer(values[index]); + } + digitalWrite(_chipSelectPin, HIGH); // Release slave again + SPI.endTransaction(); // Stop using the SPI bus +} // End PCD_WriteRegister() + +/** + * Reads a byte from the specified register in the MFRC522 chip. + * The interface is described in the datasheet section 8.1.2. + */ +byte MFRC522::PCD_ReadRegister( PCD_Register reg ///< The register to read from. One of the PCD_Register enums. + ) { + byte value; + SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus + digitalWrite(_chipSelectPin, LOW); // Select slave + SPI.transfer(0x80 | reg); // MSB == 1 is for reading. LSB is not used in address. Datasheet section 8.1.2.3. + value = SPI.transfer(0); // Read the value back. Send 0 to stop reading. + digitalWrite(_chipSelectPin, HIGH); // Release slave again + SPI.endTransaction(); // Stop using the SPI bus + return value; +} // End PCD_ReadRegister() + +/** + * Reads a number of bytes from the specified register in the MFRC522 chip. + * The interface is described in the datasheet section 8.1.2. + */ +void MFRC522::PCD_ReadRegister( PCD_Register reg, ///< The register to read from. One of the PCD_Register enums. + byte count, ///< The number of bytes to read + byte *values, ///< Byte array to store the values in. + byte rxAlign ///< Only bit positions rxAlign..7 in values[0] are updated. + ) { + if (count == 0) { + return; + } + //Serial.print(F("Reading ")); Serial.print(count); Serial.println(F(" bytes from register.")); + byte address = 0x80 | reg; // MSB == 1 is for reading. LSB is not used in address. Datasheet section 8.1.2.3. + byte index = 0; // Index in values array. + SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus + digitalWrite(_chipSelectPin, LOW); // Select slave + count--; // One read is performed outside of the loop + SPI.transfer(address); // Tell MFRC522 which address we want to read + if (rxAlign) { // Only update bit positions rxAlign..7 in values[0] + // Create bit mask for bit positions rxAlign..7 + byte mask = (0xFF << rxAlign) & 0xFF; + // Read value and tell that we want to read the same address again. + byte value = SPI.transfer(address); + // Apply mask to both current value of values[0] and the new data in value. + values[0] = (values[0] & ~mask) | (value & mask); + index++; + } + while (index < count) { + values[index] = SPI.transfer(address); // Read value and tell that we want to read the same address again. + index++; + } + values[index] = SPI.transfer(0); // Read the final byte. Send 0 to stop reading. + digitalWrite(_chipSelectPin, HIGH); // Release slave again + SPI.endTransaction(); // Stop using the SPI bus +} // End PCD_ReadRegister() + +/** + * Sets the bits given in mask in register reg. + */ +void MFRC522::PCD_SetRegisterBitMask( PCD_Register reg, ///< The register to update. One of the PCD_Register enums. + byte mask ///< The bits to set. + ) { + byte tmp; + tmp = PCD_ReadRegister(reg); + PCD_WriteRegister(reg, tmp | mask); // set bit mask +} // End PCD_SetRegisterBitMask() + +/** + * Clears the bits given in mask from register reg. + */ +void MFRC522::PCD_ClearRegisterBitMask( PCD_Register reg, ///< The register to update. One of the PCD_Register enums. + byte mask ///< The bits to clear. + ) { + byte tmp; + tmp = PCD_ReadRegister(reg); + PCD_WriteRegister(reg, tmp & (~mask)); // clear bit mask +} // End PCD_ClearRegisterBitMask() + + +/** + * Use the CRC coprocessor in the MFRC522 to calculate a CRC_A. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PCD_CalculateCRC( byte *data, ///< In: Pointer to the data to transfer to the FIFO for CRC calculation. + byte length, ///< In: The number of bytes to transfer. + byte *result ///< Out: Pointer to result buffer. Result is written to result[0..1], low byte first. + ) { + PCD_WriteRegister(CommandReg, PCD_Idle); // Stop any active command. + PCD_WriteRegister(DivIrqReg, 0x04); // Clear the CRCIRq interrupt request bit + PCD_WriteRegister(FIFOLevelReg, 0x80); // FlushBuffer = 1, FIFO initialization + PCD_WriteRegister(FIFODataReg, length, data); // Write data to the FIFO + PCD_WriteRegister(CommandReg, PCD_CalcCRC); // Start the calculation + + // Wait for the CRC calculation to complete. Each iteration of the while-loop takes 17.73μs. + // TODO check/modify for other architectures than Arduino Uno 16bit + + // Wait for the CRC calculation to complete. Each iteration of the while-loop takes 17.73us. + for (uint16_t i = 5000; i > 0; i--) { + // DivIrqReg[7..0] bits are: Set2 reserved reserved MfinActIRq reserved CRCIRq reserved reserved + byte n = PCD_ReadRegister(DivIrqReg); + if (n & 0x04) { // CRCIRq bit set - calculation done + PCD_WriteRegister(CommandReg, PCD_Idle); // Stop calculating CRC for new content in the FIFO. + // Transfer the result from the registers to the result buffer + result[0] = PCD_ReadRegister(CRCResultRegL); + result[1] = PCD_ReadRegister(CRCResultRegH); + return STATUS_OK; + } + } + // 89ms passed and nothing happend. Communication with the MFRC522 might be down. + return STATUS_TIMEOUT; +} // End PCD_CalculateCRC() + + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for manipulating the MFRC522 +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Initializes the MFRC522 chip. + */ +void MFRC522::PCD_Init() { + bool hardReset = false; + + // Set the chipSelectPin as digital output, do not select the slave yet + pinMode(_chipSelectPin, OUTPUT); + digitalWrite(_chipSelectPin, HIGH); + + // If a valid pin number has been set, pull device out of power down / reset state. + if (_resetPowerDownPin != UINT8_MAX) { + // Set the resetPowerDownPin as digital output, do not reset or power down. + pinMode(_resetPowerDownPin, OUTPUT); + + if (digitalRead(_resetPowerDownPin) == LOW) { // The MFRC522 chip is in power down mode. + digitalWrite(_resetPowerDownPin, HIGH); // Exit power down mode. This triggers a hard reset. + // Section 8.8.2 in the datasheet says the oscillator start-up time is the start up time of the crystal + 37,74μs. Let us be generous: 50ms. + delay(50); + hardReset = true; + } + } + + if (!hardReset) { // Perform a soft reset if we haven't triggered a hard reset above. + PCD_Reset(); + } + + // Reset baud rates + PCD_WriteRegister(TxModeReg, 0x00); + PCD_WriteRegister(RxModeReg, 0x00); + // Reset ModWidthReg + PCD_WriteRegister(ModWidthReg, 0x26); + + // When communicating with a PICC we need a timeout if something goes wrong. + // f_timer = 13.56 MHz / (2*TPreScaler+1) where TPreScaler = [TPrescaler_Hi:TPrescaler_Lo]. + // TPrescaler_Hi are the four low bits in TModeReg. TPrescaler_Lo is TPrescalerReg. + PCD_WriteRegister(TModeReg, 0x80); // TAuto=1; timer starts automatically at the end of the transmission in all communication modes at all speeds + PCD_WriteRegister(TPrescalerReg, 0xA9); // TPreScaler = TModeReg[3..0]:TPrescalerReg, ie 0x0A9 = 169 => f_timer=40kHz, ie a timer period of 25μs. + PCD_WriteRegister(TReloadRegH, 0x03); // Reload timer with 0x3E8 = 1000, ie 25ms before timeout. + PCD_WriteRegister(TReloadRegL, 0xE8); + + PCD_WriteRegister(TxASKReg, 0x40); // Default 0x00. Force a 100 % ASK modulation independent of the ModGsPReg register setting + PCD_WriteRegister(ModeReg, 0x3D); // Default 0x3F. Set the preset value for the CRC coprocessor for the CalcCRC command to 0x6363 (ISO 14443-3 part 6.2.4) + PCD_AntennaOn(); // Enable the antenna driver pins TX1 and TX2 (they were disabled by the reset) +} // End PCD_Init() + +/** + * Initializes the MFRC522 chip. + */ +void MFRC522::PCD_Init( byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) + ) { + PCD_Init(SS, resetPowerDownPin); // SS is defined in pins_arduino.h +} // End PCD_Init() + +/** + * Initializes the MFRC522 chip. + */ +void MFRC522::PCD_Init( byte chipSelectPin, ///< Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) + byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) + ) { + _chipSelectPin = chipSelectPin; + _resetPowerDownPin = resetPowerDownPin; + // Set the chipSelectPin as digital output, do not select the slave yet + PCD_Init(); +} // End PCD_Init() + +/** + * Performs a soft reset on the MFRC522 chip and waits for it to be ready again. + */ +void MFRC522::PCD_Reset() { + PCD_WriteRegister(CommandReg, PCD_SoftReset); // Issue the SoftReset command. + // The datasheet does not mention how long the SoftRest command takes to complete. + // But the MFRC522 might have been in soft power-down mode (triggered by bit 4 of CommandReg) + // Section 8.8.2 in the datasheet says the oscillator start-up time is the start up time of the crystal + 37,74μs. Let us be generous: 50ms. + delay(50); + // Wait for the PowerDown bit in CommandReg to be cleared + while (PCD_ReadRegister(CommandReg) & (1<<4)) { + // PCD still restarting - unlikely after waiting 50ms, but better safe than sorry. + } +} // End PCD_Reset() + +/** + * Turns the antenna on by enabling pins TX1 and TX2. + * After a reset these pins are disabled. + */ +void MFRC522::PCD_AntennaOn() { + byte value = PCD_ReadRegister(TxControlReg); + if ((value & 0x03) != 0x03) { + PCD_WriteRegister(TxControlReg, value | 0x03); + } +} // End PCD_AntennaOn() + +/** + * Turns the antenna off by disabling pins TX1 and TX2. + */ +void MFRC522::PCD_AntennaOff() { + PCD_ClearRegisterBitMask(TxControlReg, 0x03); +} // End PCD_AntennaOff() + +/** + * Get the current MFRC522 Receiver Gain (RxGain[2:0]) value. + * See 9.3.3.6 / table 98 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf + * NOTE: Return value scrubbed with (0x07<<4)=01110000b as RCFfgReg may use reserved bits. + * + * @return Value of the RxGain, scrubbed to the 3 bits used. + */ +byte MFRC522::PCD_GetAntennaGain() { + return PCD_ReadRegister(RFCfgReg) & (0x07<<4); +} // End PCD_GetAntennaGain() + +/** + * Set the MFRC522 Receiver Gain (RxGain) to value specified by given mask. + * See 9.3.3.6 / table 98 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf + * NOTE: Given mask is scrubbed with (0x07<<4)=01110000b as RCFfgReg may use reserved bits. + */ +void MFRC522::PCD_SetAntennaGain(byte mask) { + if (PCD_GetAntennaGain() != mask) { // only bother if there is a change + PCD_ClearRegisterBitMask(RFCfgReg, (0x07<<4)); // clear needed to allow 000 pattern + PCD_SetRegisterBitMask(RFCfgReg, mask & (0x07<<4)); // only set RxGain[2:0] bits + } +} // End PCD_SetAntennaGain() + +/** + * Performs a self-test of the MFRC522 + * See 16.1.1 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf + * + * @return Whether or not the test passed. Or false if no firmware reference is available. + */ +bool MFRC522::PCD_PerformSelfTest() { + // This follows directly the steps outlined in 16.1.1 + // 1. Perform a soft reset. + PCD_Reset(); + + // 2. Clear the internal buffer by writing 25 bytes of 00h + byte ZEROES[25] = {0x00}; + PCD_WriteRegister(FIFOLevelReg, 0x80); // flush the FIFO buffer + PCD_WriteRegister(FIFODataReg, 25, ZEROES); // write 25 bytes of 00h to FIFO + PCD_WriteRegister(CommandReg, PCD_Mem); // transfer to internal buffer + + // 3. Enable self-test + PCD_WriteRegister(AutoTestReg, 0x09); + + // 4. Write 00h to FIFO buffer + PCD_WriteRegister(FIFODataReg, 0x00); + + // 5. Start self-test by issuing the CalcCRC command + PCD_WriteRegister(CommandReg, PCD_CalcCRC); + + // 6. Wait for self-test to complete + byte n; + for (uint8_t i = 0; i < 0xFF; i++) { + // The datasheet does not specify exact completion condition except + // that FIFO buffer should contain 64 bytes. + // While selftest is initiated by CalcCRC command + // it behaves differently from normal CRC computation, + // so one can't reliably use DivIrqReg to check for completion. + // It is reported that some devices does not trigger CRCIRq flag + // during selftest. + n = PCD_ReadRegister(FIFOLevelReg); + if (n >= 64) { + break; + } + } + PCD_WriteRegister(CommandReg, PCD_Idle); // Stop calculating CRC for new content in the FIFO. + + // 7. Read out resulting 64 bytes from the FIFO buffer. + byte result[64]; + PCD_ReadRegister(FIFODataReg, 64, result, 0); + + // Auto self-test done + // Reset AutoTestReg register to be 0 again. Required for normal operation. + PCD_WriteRegister(AutoTestReg, 0x00); + + // Determine firmware version (see section 9.3.4.8 in spec) + byte version = PCD_ReadRegister(VersionReg); + + // Pick the appropriate reference values + const byte *reference; + switch (version) { + case 0x88: // Fudan Semiconductor FM17522 clone + reference = FM17522_firmware_reference; + break; + case 0x90: // Version 0.0 + reference = MFRC522_firmware_referenceV0_0; + break; + case 0x91: // Version 1.0 + reference = MFRC522_firmware_referenceV1_0; + break; + case 0x92: // Version 2.0 + reference = MFRC522_firmware_referenceV2_0; + break; + default: // Unknown version + return false; // abort test + } + + // Verify that the results match up to our expectations + for (uint8_t i = 0; i < 64; i++) { + if (result[i] != pgm_read_byte(&(reference[i]))) { + return false; + } + } + + // Test passed; all is good. + return true; +} // End PCD_PerformSelfTest() + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for communicating with PICCs +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Executes the Transceive command. + * CRC validation can only be done if backData and backLen are specified. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PCD_TransceiveData( byte *sendData, ///< Pointer to the data to transfer to the FIFO. + byte sendLen, ///< Number of bytes to transfer to the FIFO. + byte *backData, ///< NULL or pointer to buffer if data should be read back after executing the command. + byte *backLen, ///< In: Max number of bytes to write to *backData. Out: The number of bytes returned. + byte *validBits, ///< In/Out: The number of valid bits in the last byte. 0 for 8 valid bits. Default NULL. + byte rxAlign, ///< In: Defines the bit position in backData[0] for the first bit received. Default 0. + bool checkCRC ///< In: True => The last two bytes of the response is assumed to be a CRC_A that must be validated. + ) { + byte waitIRq = 0x30; // RxIRq and IdleIRq + return PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, sendData, sendLen, backData, backLen, validBits, rxAlign, checkCRC); +} // End PCD_TransceiveData() + +/** + * Transfers data to the MFRC522 FIFO, executes a command, waits for completion and transfers data back from the FIFO. + * CRC validation can only be done if backData and backLen are specified. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PCD_CommunicateWithPICC( byte command, ///< The command to execute. One of the PCD_Command enums. + byte waitIRq, ///< The bits in the ComIrqReg register that signals successful completion of the command. + byte *sendData, ///< Pointer to the data to transfer to the FIFO. + byte sendLen, ///< Number of bytes to transfer to the FIFO. + byte *backData, ///< NULL or pointer to buffer if data should be read back after executing the command. + byte *backLen, ///< In: Max number of bytes to write to *backData. Out: The number of bytes returned. + byte *validBits, ///< In/Out: The number of valid bits in the last byte. 0 for 8 valid bits. + byte rxAlign, ///< In: Defines the bit position in backData[0] for the first bit received. Default 0. + bool checkCRC ///< In: True => The last two bytes of the response is assumed to be a CRC_A that must be validated. + ) { + // Prepare values for BitFramingReg + byte txLastBits = validBits ? *validBits : 0; + byte bitFraming = (rxAlign << 4) + txLastBits; // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] + + PCD_WriteRegister(CommandReg, PCD_Idle); // Stop any active command. + PCD_WriteRegister(ComIrqReg, 0x7F); // Clear all seven interrupt request bits + PCD_WriteRegister(FIFOLevelReg, 0x80); // FlushBuffer = 1, FIFO initialization + PCD_WriteRegister(FIFODataReg, sendLen, sendData); // Write sendData to the FIFO + PCD_WriteRegister(BitFramingReg, bitFraming); // Bit adjustments + PCD_WriteRegister(CommandReg, command); // Execute the command + if (command == PCD_Transceive) { + PCD_SetRegisterBitMask(BitFramingReg, 0x80); // StartSend=1, transmission of data starts + } + + // Wait for the command to complete. + // In PCD_Init() we set the TAuto flag in TModeReg. This means the timer automatically starts when the PCD stops transmitting. + // Each iteration of the do-while-loop takes 17.86μs. + // TODO check/modify for other architectures than Arduino Uno 16bit + uint16_t i; + for (i = 2000; i > 0; i--) { + byte n = PCD_ReadRegister(ComIrqReg); // ComIrqReg[7..0] bits are: Set1 TxIRq RxIRq IdleIRq HiAlertIRq LoAlertIRq ErrIRq TimerIRq + if (n & waitIRq) { // One of the interrupts that signal success has been set. + break; + } + if (n & 0x01) { // Timer interrupt - nothing received in 25ms + return STATUS_TIMEOUT; + } + } + // 35.7ms and nothing happend. Communication with the MFRC522 might be down. + if (i == 0) { + return STATUS_TIMEOUT; + } + + // Stop now if any errors except collisions were detected. + byte errorRegValue = PCD_ReadRegister(ErrorReg); // ErrorReg[7..0] bits are: WrErr TempErr reserved BufferOvfl CollErr CRCErr ParityErr ProtocolErr + if (errorRegValue & 0x13) { // BufferOvfl ParityErr ProtocolErr + return STATUS_ERROR; + } + + byte _validBits = 0; + + // If the caller wants data back, get it from the MFRC522. + if (backData && backLen) { + byte n = PCD_ReadRegister(FIFOLevelReg); // Number of bytes in the FIFO + if (n > *backLen) { + return STATUS_NO_ROOM; + } + *backLen = n; // Number of bytes returned + PCD_ReadRegister(FIFODataReg, n, backData, rxAlign); // Get received data from FIFO + _validBits = PCD_ReadRegister(ControlReg) & 0x07; // RxLastBits[2:0] indicates the number of valid bits in the last received byte. If this value is 000b, the whole byte is valid. + if (validBits) { + *validBits = _validBits; + } + } + + // Tell about collisions + if (errorRegValue & 0x08) { // CollErr + return STATUS_COLLISION; + } + + // Perform CRC_A validation if requested. + if (backData && backLen && checkCRC) { + // In this case a MIFARE Classic NAK is not OK. + if (*backLen == 1 && _validBits == 4) { + return STATUS_MIFARE_NACK; + } + // We need at least the CRC_A value and all 8 bits of the last byte must be received. + if (*backLen < 2 || _validBits != 0) { + return STATUS_CRC_WRONG; + } + // Verify CRC_A - do our own calculation and store the control in controlBuffer. + byte controlBuffer[2]; + MFRC522::StatusCode status = PCD_CalculateCRC(&backData[0], *backLen - 2, &controlBuffer[0]); + if (status != STATUS_OK) { + return status; + } + if ((backData[*backLen - 2] != controlBuffer[0]) || (backData[*backLen - 1] != controlBuffer[1])) { + return STATUS_CRC_WRONG; + } + } + + return STATUS_OK; +} // End PCD_CommunicateWithPICC() + +/** + * Transmits a REQuest command, Type A. Invites PICCs in state IDLE to go to READY and prepare for anticollision or selection. 7 bit frame. + * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PICC_RequestA( byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in + byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. + ) { + return PICC_REQA_or_WUPA(PICC_CMD_REQA, bufferATQA, bufferSize); +} // End PICC_RequestA() + +/** + * Transmits a Wake-UP command, Type A. Invites PICCs in state IDLE and HALT to go to READY(*) and prepare for anticollision or selection. 7 bit frame. + * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PICC_WakeupA( byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in + byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. + ) { + return PICC_REQA_or_WUPA(PICC_CMD_WUPA, bufferATQA, bufferSize); +} // End PICC_WakeupA() + +/** + * Transmits REQA or WUPA commands. + * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PICC_REQA_or_WUPA( byte command, ///< The command to send - PICC_CMD_REQA or PICC_CMD_WUPA + byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in + byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. + ) { + byte validBits; + MFRC522::StatusCode status; + + if (bufferATQA == NULL || *bufferSize < 2) { // The ATQA response is 2 bytes long. + return STATUS_NO_ROOM; + } + PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. + validBits = 7; // For REQA and WUPA we need the short frame format - transmit only 7 bits of the last (and only) byte. TxLastBits = BitFramingReg[2..0] + status = PCD_TransceiveData(&command, 1, bufferATQA, bufferSize, &validBits); + if (status != STATUS_OK) { + return status; + } + if (*bufferSize != 2 || validBits != 0) { // ATQA must be exactly 16 bits. + return STATUS_ERROR; + } + return STATUS_OK; +} // End PICC_REQA_or_WUPA() + +/** + * Transmits SELECT/ANTICOLLISION commands to select a single PICC. + * Before calling this function the PICCs must be placed in the READY(*) state by calling PICC_RequestA() or PICC_WakeupA(). + * On success: + * - The chosen PICC is in state ACTIVE(*) and all other PICCs have returned to state IDLE/HALT. (Figure 7 of the ISO/IEC 14443-3 draft.) + * - The UID size and value of the chosen PICC is returned in *uid along with the SAK. + * + * A PICC UID consists of 4, 7 or 10 bytes. + * Only 4 bytes can be specified in a SELECT command, so for the longer UIDs two or three iterations are used: + * UID size Number of UID bytes Cascade levels Example of PICC + * ======== =================== ============== =============== + * single 4 1 MIFARE Classic + * double 7 2 MIFARE Ultralight + * triple 10 3 Not currently in use? + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PICC_Select( Uid *uid, ///< Pointer to Uid struct. Normally output, but can also be used to supply a known UID. + byte validBits ///< The number of known UID bits supplied in *uid. Normally 0. If set you must also supply uid->size. + ) { + bool uidComplete; + bool selectDone; + bool useCascadeTag; + byte cascadeLevel = 1; + MFRC522::StatusCode result; + byte count; + byte index; + byte uidIndex; // The first index in uid->uidByte[] that is used in the current Cascade Level. + int8_t currentLevelKnownBits; // The number of known UID bits in the current Cascade Level. + byte buffer[9]; // The SELECT/ANTICOLLISION commands uses a 7 byte standard frame + 2 bytes CRC_A + byte bufferUsed; // The number of bytes used in the buffer, ie the number of bytes to transfer to the FIFO. + byte rxAlign; // Used in BitFramingReg. Defines the bit position for the first bit received. + byte txLastBits; // Used in BitFramingReg. The number of valid bits in the last transmitted byte. + byte *responseBuffer; + byte responseLength; + + // Description of buffer structure: + // Byte 0: SEL Indicates the Cascade Level: PICC_CMD_SEL_CL1, PICC_CMD_SEL_CL2 or PICC_CMD_SEL_CL3 + // Byte 1: NVB Number of Valid Bits (in complete command, not just the UID): High nibble: complete bytes, Low nibble: Extra bits. + // Byte 2: UID-data or CT See explanation below. CT means Cascade Tag. + // Byte 3: UID-data + // Byte 4: UID-data + // Byte 5: UID-data + // Byte 6: BCC Block Check Character - XOR of bytes 2-5 + // Byte 7: CRC_A + // Byte 8: CRC_A + // The BCC and CRC_A are only transmitted if we know all the UID bits of the current Cascade Level. + // + // Description of bytes 2-5: (Section 6.5.4 of the ISO/IEC 14443-3 draft: UID contents and cascade levels) + // UID size Cascade level Byte2 Byte3 Byte4 Byte5 + // ======== ============= ===== ===== ===== ===== + // 4 bytes 1 uid0 uid1 uid2 uid3 + // 7 bytes 1 CT uid0 uid1 uid2 + // 2 uid3 uid4 uid5 uid6 + // 10 bytes 1 CT uid0 uid1 uid2 + // 2 CT uid3 uid4 uid5 + // 3 uid6 uid7 uid8 uid9 + + // Sanity checks + if (validBits > 80) { + return STATUS_INVALID; + } + + // Prepare MFRC522 + PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. + + // Repeat Cascade Level loop until we have a complete UID. + uidComplete = false; + while (!uidComplete) { + // Set the Cascade Level in the SEL byte, find out if we need to use the Cascade Tag in byte 2. + switch (cascadeLevel) { + case 1: + buffer[0] = PICC_CMD_SEL_CL1; + uidIndex = 0; + useCascadeTag = validBits && uid->size > 4; // When we know that the UID has more than 4 bytes + break; + + case 2: + buffer[0] = PICC_CMD_SEL_CL2; + uidIndex = 3; + useCascadeTag = validBits && uid->size > 7; // When we know that the UID has more than 7 bytes + break; + + case 3: + buffer[0] = PICC_CMD_SEL_CL3; + uidIndex = 6; + useCascadeTag = false; // Never used in CL3. + break; + + default: + return STATUS_INTERNAL_ERROR; + break; + } + + // How many UID bits are known in this Cascade Level? + currentLevelKnownBits = validBits - (8 * uidIndex); + if (currentLevelKnownBits < 0) { + currentLevelKnownBits = 0; + } + // Copy the known bits from uid->uidByte[] to buffer[] + index = 2; // destination index in buffer[] + if (useCascadeTag) { + buffer[index++] = PICC_CMD_CT; + } + byte bytesToCopy = currentLevelKnownBits / 8 + (currentLevelKnownBits % 8 ? 1 : 0); // The number of bytes needed to represent the known bits for this level. + if (bytesToCopy) { + byte maxBytes = useCascadeTag ? 3 : 4; // Max 4 bytes in each Cascade Level. Only 3 left if we use the Cascade Tag + if (bytesToCopy > maxBytes) { + bytesToCopy = maxBytes; + } + for (count = 0; count < bytesToCopy; count++) { + buffer[index++] = uid->uidByte[uidIndex + count]; + } + } + // Now that the data has been copied we need to include the 8 bits in CT in currentLevelKnownBits + if (useCascadeTag) { + currentLevelKnownBits += 8; + } + + // Repeat anti collision loop until we can transmit all UID bits + BCC and receive a SAK - max 32 iterations. + selectDone = false; + while (!selectDone) { + // Find out how many bits and bytes to send and receive. + if (currentLevelKnownBits >= 32) { // All UID bits in this Cascade Level are known. This is a SELECT. + //Serial.print(F("SELECT: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); + buffer[1] = 0x70; // NVB - Number of Valid Bits: Seven whole bytes + // Calculate BCC - Block Check Character + buffer[6] = buffer[2] ^ buffer[3] ^ buffer[4] ^ buffer[5]; + // Calculate CRC_A + result = PCD_CalculateCRC(buffer, 7, &buffer[7]); + if (result != STATUS_OK) { + return result; + } + txLastBits = 0; // 0 => All 8 bits are valid. + bufferUsed = 9; + // Store response in the last 3 bytes of buffer (BCC and CRC_A - not needed after tx) + responseBuffer = &buffer[6]; + responseLength = 3; + } + else { // This is an ANTICOLLISION. + //Serial.print(F("ANTICOLLISION: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); + txLastBits = currentLevelKnownBits % 8; + count = currentLevelKnownBits / 8; // Number of whole bytes in the UID part. + index = 2 + count; // Number of whole bytes: SEL + NVB + UIDs + buffer[1] = (index << 4) + txLastBits; // NVB - Number of Valid Bits + bufferUsed = index + (txLastBits ? 1 : 0); + // Store response in the unused part of buffer + responseBuffer = &buffer[index]; + responseLength = sizeof(buffer) - index; + } + + // Set bit adjustments + rxAlign = txLastBits; // Having a separate variable is overkill. But it makes the next line easier to read. + PCD_WriteRegister(BitFramingReg, (rxAlign << 4) + txLastBits); // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] + + // Transmit the buffer and receive the response. + result = PCD_TransceiveData(buffer, bufferUsed, responseBuffer, &responseLength, &txLastBits, rxAlign); + if (result == STATUS_COLLISION) { // More than one PICC in the field => collision. + byte valueOfCollReg = PCD_ReadRegister(CollReg); // CollReg[7..0] bits are: ValuesAfterColl reserved CollPosNotValid CollPos[4:0] + if (valueOfCollReg & 0x20) { // CollPosNotValid + return STATUS_COLLISION; // Without a valid collision position we cannot continue + } + byte collisionPos = valueOfCollReg & 0x1F; // Values 0-31, 0 means bit 32. + if (collisionPos == 0) { + collisionPos = 32; + } + if (collisionPos <= currentLevelKnownBits) { // No progress - should not happen + return STATUS_INTERNAL_ERROR; + } + // Choose the PICC with the bit set. + currentLevelKnownBits = collisionPos; + count = (currentLevelKnownBits - 1) % 8; // The bit to modify + index = 1 + (currentLevelKnownBits / 8) + (count ? 1 : 0); // First byte is index 0. + buffer[index] |= (1 << count); + } + else if (result != STATUS_OK) { + return result; + } + else { // STATUS_OK + if (currentLevelKnownBits >= 32) { // This was a SELECT. + selectDone = true; // No more anticollision + // We continue below outside the while. + } + else { // This was an ANTICOLLISION. + // We now have all 32 bits of the UID in this Cascade Level + currentLevelKnownBits = 32; + // Run loop again to do the SELECT. + } + } + } // End of while (!selectDone) + + // We do not check the CBB - it was constructed by us above. + + // Copy the found UID bytes from buffer[] to uid->uidByte[] + index = (buffer[2] == PICC_CMD_CT) ? 3 : 2; // source index in buffer[] + bytesToCopy = (buffer[2] == PICC_CMD_CT) ? 3 : 4; + for (count = 0; count < bytesToCopy; count++) { + uid->uidByte[uidIndex + count] = buffer[index++]; + } + + // Check response SAK (Select Acknowledge) + if (responseLength != 3 || txLastBits != 0) { // SAK must be exactly 24 bits (1 byte + CRC_A). + return STATUS_ERROR; + } + // Verify CRC_A - do our own calculation and store the control in buffer[2..3] - those bytes are not needed anymore. + result = PCD_CalculateCRC(responseBuffer, 1, &buffer[2]); + if (result != STATUS_OK) { + return result; + } + if ((buffer[2] != responseBuffer[1]) || (buffer[3] != responseBuffer[2])) { + return STATUS_CRC_WRONG; + } + if (responseBuffer[0] & 0x04) { // Cascade bit set - UID not complete yes + cascadeLevel++; + } + else { + uidComplete = true; + uid->sak = responseBuffer[0]; + } + } // End of while (!uidComplete) + + // Set correct uid->size + uid->size = 3 * cascadeLevel + 1; + + return STATUS_OK; +} // End PICC_Select() + +/** + * Instructs a PICC in state ACTIVE(*) to go to state HALT. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PICC_HaltA() { + MFRC522::StatusCode result; + byte buffer[4]; + + // Build command buffer + buffer[0] = PICC_CMD_HLTA; + buffer[1] = 0; + // Calculate CRC_A + result = PCD_CalculateCRC(buffer, 2, &buffer[2]); + if (result != STATUS_OK) { + return result; + } + + // Send the command. + // The standard says: + // If the PICC responds with any modulation during a period of 1 ms after the end of the frame containing the + // HLTA command, this response shall be interpreted as 'not acknowledge'. + // We interpret that this way: Only STATUS_TIMEOUT is a success. + result = PCD_TransceiveData(buffer, sizeof(buffer), NULL, 0); + if (result == STATUS_TIMEOUT) { + return STATUS_OK; + } + if (result == STATUS_OK) { // That is ironically NOT ok in this case ;-) + return STATUS_ERROR; + } + return result; +} // End PICC_HaltA() + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for communicating with MIFARE PICCs +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Executes the MFRC522 MFAuthent command. + * This command manages MIFARE authentication to enable a secure communication to any MIFARE Mini, MIFARE 1K and MIFARE 4K card. + * The authentication is described in the MFRC522 datasheet section 10.3.1.9 and http://www.nxp.com/documents/data_sheet/MF1S503x.pdf section 10.1. + * For use with MIFARE Classic PICCs. + * The PICC must be selected - ie in state ACTIVE(*) - before calling this function. + * Remember to call PCD_StopCrypto1() after communicating with the authenticated PICC - otherwise no new communications can start. + * + * All keys are set to FFFFFFFFFFFFh at chip delivery. + * + * @return STATUS_OK on success, STATUS_??? otherwise. Probably STATUS_TIMEOUT if you supply the wrong key. + */ +MFRC522::StatusCode MFRC522::PCD_Authenticate(byte command, ///< PICC_CMD_MF_AUTH_KEY_A or PICC_CMD_MF_AUTH_KEY_B + byte blockAddr, ///< The block number. See numbering in the comments in the .h file. + MIFARE_Key *key, ///< Pointer to the Crypteo1 key to use (6 bytes) + Uid *uid ///< Pointer to Uid struct. The first 4 bytes of the UID is used. + ) { + byte waitIRq = 0x10; // IdleIRq + + // Build command buffer + byte sendData[12]; + sendData[0] = command; + sendData[1] = blockAddr; + for (byte i = 0; i < MF_KEY_SIZE; i++) { // 6 key bytes + sendData[2+i] = key->keyByte[i]; + } + // Use the last uid bytes as specified in http://cache.nxp.com/documents/application_note/AN10927.pdf + // section 3.2.5 "MIFARE Classic Authentication". + // The only missed case is the MF1Sxxxx shortcut activation, + // but it requires cascade tag (CT) byte, that is not part of uid. + for (byte i = 0; i < 4; i++) { // The last 4 bytes of the UID + sendData[8+i] = uid->uidByte[i+uid->size-4]; + } + + // Start the authentication. + return PCD_CommunicateWithPICC(PCD_MFAuthent, waitIRq, &sendData[0], sizeof(sendData)); +} // End PCD_Authenticate() + +/** + * Used to exit the PCD from its authenticated state. + * Remember to call this function after communicating with an authenticated PICC - otherwise no new communications can start. + */ +void MFRC522::PCD_StopCrypto1() { + // Clear MFCrypto1On bit + PCD_ClearRegisterBitMask(Status2Reg, 0x08); // Status2Reg[7..0] bits are: TempSensClear I2CForceHS reserved reserved MFCrypto1On ModemState[2:0] +} // End PCD_StopCrypto1() + +/** + * Reads 16 bytes (+ 2 bytes CRC_A) from the active PICC. + * + * For MIFARE Classic the sector containing the block must be authenticated before calling this function. + * + * For MIFARE Ultralight only addresses 00h to 0Fh are decoded. + * The MF0ICU1 returns a NAK for higher addresses. + * The MF0ICU1 responds to the READ command by sending 16 bytes starting from the page address defined by the command argument. + * For example; if blockAddr is 03h then pages 03h, 04h, 05h, 06h are returned. + * A roll-back is implemented: If blockAddr is 0Eh, then the contents of pages 0Eh, 0Fh, 00h and 01h are returned. + * + * The buffer must be at least 18 bytes because a CRC_A is also returned. + * Checks the CRC_A before returning STATUS_OK. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Read( byte blockAddr, ///< MIFARE Classic: The block (0-0xff) number. MIFARE Ultralight: The first page to return data from. + byte *buffer, ///< The buffer to store the data in + byte *bufferSize ///< Buffer size, at least 18 bytes. Also number of bytes returned if STATUS_OK. + ) { + MFRC522::StatusCode result; + + // Sanity check + if (buffer == NULL || *bufferSize < 18) { + return STATUS_NO_ROOM; + } + + // Build command buffer + buffer[0] = PICC_CMD_MF_READ; + buffer[1] = blockAddr; + // Calculate CRC_A + result = PCD_CalculateCRC(buffer, 2, &buffer[2]); + if (result != STATUS_OK) { + return result; + } + + // Transmit the buffer and receive the response, validate CRC_A. + return PCD_TransceiveData(buffer, 4, buffer, bufferSize, NULL, 0, true); +} // End MIFARE_Read() + +/** + * Writes 16 bytes to the active PICC. + * + * For MIFARE Classic the sector containing the block must be authenticated before calling this function. + * + * For MIFARE Ultralight the operation is called "COMPATIBILITY WRITE". + * Even though 16 bytes are transferred to the Ultralight PICC, only the least significant 4 bytes (bytes 0 to 3) + * are written to the specified address. It is recommended to set the remaining bytes 04h to 0Fh to all logic 0. + * * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Write( byte blockAddr, ///< MIFARE Classic: The block (0-0xff) number. MIFARE Ultralight: The page (2-15) to write to. + byte *buffer, ///< The 16 bytes to write to the PICC + byte bufferSize ///< Buffer size, must be at least 16 bytes. Exactly 16 bytes are written. + ) { + MFRC522::StatusCode result; + + // Sanity check + if (buffer == NULL || bufferSize < 16) { + return STATUS_INVALID; + } + + // Mifare Classic protocol requires two communications to perform a write. + // Step 1: Tell the PICC we want to write to block blockAddr. + byte cmdBuffer[2]; + cmdBuffer[0] = PICC_CMD_MF_WRITE; + cmdBuffer[1] = blockAddr; + result = PCD_MIFARE_Transceive(cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. + if (result != STATUS_OK) { + return result; + } + + // Step 2: Transfer the data + result = PCD_MIFARE_Transceive(buffer, bufferSize); // Adds CRC_A and checks that the response is MF_ACK. + if (result != STATUS_OK) { + return result; + } + + return STATUS_OK; +} // End MIFARE_Write() + +/** + * Writes a 4 byte page to the active MIFARE Ultralight PICC. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Ultralight_Write( byte page, ///< The page (2-15) to write to. + byte *buffer, ///< The 4 bytes to write to the PICC + byte bufferSize ///< Buffer size, must be at least 4 bytes. Exactly 4 bytes are written. + ) { + MFRC522::StatusCode result; + + // Sanity check + if (buffer == NULL || bufferSize < 4) { + return STATUS_INVALID; + } + + // Build commmand buffer + byte cmdBuffer[6]; + cmdBuffer[0] = PICC_CMD_UL_WRITE; + cmdBuffer[1] = page; + memcpy(&cmdBuffer[2], buffer, 4); + + // Perform the write + result = PCD_MIFARE_Transceive(cmdBuffer, 6); // Adds CRC_A and checks that the response is MF_ACK. + if (result != STATUS_OK) { + return result; + } + return STATUS_OK; +} // End MIFARE_Ultralight_Write() + +/** + * MIFARE Decrement subtracts the delta from the value of the addressed block, and stores the result in a volatile memory. + * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. + * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. + * Use MIFARE_Transfer() to store the result in a block. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Decrement( byte blockAddr, ///< The block (0-0xff) number. + int32_t delta ///< This number is subtracted from the value of block blockAddr. + ) { + return MIFARE_TwoStepHelper(PICC_CMD_MF_DECREMENT, blockAddr, delta); +} // End MIFARE_Decrement() + +/** + * MIFARE Increment adds the delta to the value of the addressed block, and stores the result in a volatile memory. + * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. + * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. + * Use MIFARE_Transfer() to store the result in a block. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Increment( byte blockAddr, ///< The block (0-0xff) number. + int32_t delta ///< This number is added to the value of block blockAddr. + ) { + return MIFARE_TwoStepHelper(PICC_CMD_MF_INCREMENT, blockAddr, delta); +} // End MIFARE_Increment() + +/** + * MIFARE Restore copies the value of the addressed block into a volatile memory. + * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. + * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. + * Use MIFARE_Transfer() to store the result in a block. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Restore( byte blockAddr ///< The block (0-0xff) number. + ) { + // The datasheet describes Restore as a two step operation, but does not explain what data to transfer in step 2. + // Doing only a single step does not work, so I chose to transfer 0L in step two. + return MIFARE_TwoStepHelper(PICC_CMD_MF_RESTORE, blockAddr, 0L); +} // End MIFARE_Restore() + +/** + * Helper function for the two-step MIFARE Classic protocol operations Decrement, Increment and Restore. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_TwoStepHelper( byte command, ///< The command to use + byte blockAddr, ///< The block (0-0xff) number. + int32_t data ///< The data to transfer in step 2 + ) { + MFRC522::StatusCode result; + byte cmdBuffer[2]; // We only need room for 2 bytes. + + // Step 1: Tell the PICC the command and block address + cmdBuffer[0] = command; + cmdBuffer[1] = blockAddr; + result = PCD_MIFARE_Transceive( cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. + if (result != STATUS_OK) { + return result; + } + + // Step 2: Transfer the data + result = PCD_MIFARE_Transceive( (byte *)&data, 4, true); // Adds CRC_A and accept timeout as success. + if (result != STATUS_OK) { + return result; + } + + return STATUS_OK; +} // End MIFARE_TwoStepHelper() + +/** + * MIFARE Transfer writes the value stored in the volatile memory into one MIFARE Classic block. + * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. + * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_Transfer( byte blockAddr ///< The block (0-0xff) number. + ) { + MFRC522::StatusCode result; + byte cmdBuffer[2]; // We only need room for 2 bytes. + + // Tell the PICC we want to transfer the result into block blockAddr. + cmdBuffer[0] = PICC_CMD_MF_TRANSFER; + cmdBuffer[1] = blockAddr; + result = PCD_MIFARE_Transceive( cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. + if (result != STATUS_OK) { + return result; + } + return STATUS_OK; +} // End MIFARE_Transfer() + +/** + * Helper routine to read the current value from a Value Block. + * + * Only for MIFARE Classic and only for blocks in "value block" mode, that + * is: with access bits [C1 C2 C3] = [110] or [001]. The sector containing + * the block must be authenticated before calling this function. + * + * @param[in] blockAddr The block (0x00-0xff) number. + * @param[out] value Current value of the Value Block. + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_GetValue(byte blockAddr, int32_t *value) { + MFRC522::StatusCode status; + byte buffer[18]; + byte size = sizeof(buffer); + + // Read the block + status = MIFARE_Read(blockAddr, buffer, &size); + if (status == STATUS_OK) { + // Extract the value + *value = (int32_t(buffer[3])<<24) | (int32_t(buffer[2])<<16) | (int32_t(buffer[1])<<8) | int32_t(buffer[0]); + } + return status; +} // End MIFARE_GetValue() + +/** + * Helper routine to write a specific value into a Value Block. + * + * Only for MIFARE Classic and only for blocks in "value block" mode, that + * is: with access bits [C1 C2 C3] = [110] or [001]. The sector containing + * the block must be authenticated before calling this function. + * + * @param[in] blockAddr The block (0x00-0xff) number. + * @param[in] value New value of the Value Block. + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::MIFARE_SetValue(byte blockAddr, int32_t value) { + byte buffer[18]; + + // Translate the int32_t into 4 bytes; repeated 2x in value block + buffer[0] = buffer[ 8] = (value & 0xFF); + buffer[1] = buffer[ 9] = (value & 0xFF00) >> 8; + buffer[2] = buffer[10] = (value & 0xFF0000) >> 16; + buffer[3] = buffer[11] = (value & 0xFF000000) >> 24; + // Inverse 4 bytes also found in value block + buffer[4] = ~buffer[0]; + buffer[5] = ~buffer[1]; + buffer[6] = ~buffer[2]; + buffer[7] = ~buffer[3]; + // Address 2x with inverse address 2x + buffer[12] = buffer[14] = blockAddr; + buffer[13] = buffer[15] = ~blockAddr; + + // Write the whole data block + return MIFARE_Write(blockAddr, buffer, 16); +} // End MIFARE_SetValue() + +/** + * Authenticate with a NTAG216. + * + * Only for NTAG216. First implemented by Gargantuanman. + * + * @param[in] passWord password. + * @param[in] pACK result success???. + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PCD_NTAG216_AUTH(byte* passWord, byte pACK[]) //Authenticate with 32bit password +{ + // TODO: Fix cmdBuffer length and rxlength. They really should match. + // (Better still, rxlength should not even be necessary.) + + MFRC522::StatusCode result; + byte cmdBuffer[18]; // We need room for 16 bytes data and 2 bytes CRC_A. + + cmdBuffer[0] = 0x1B; //Comando de autentificacion + + for (byte i = 0; i<4; i++) + cmdBuffer[i+1] = passWord[i]; + + result = PCD_CalculateCRC(cmdBuffer, 5, &cmdBuffer[5]); + + if (result!=STATUS_OK) { + return result; + } + + // Transceive the data, store the reply in cmdBuffer[] + byte waitIRq = 0x30; // RxIRq and IdleIRq +// byte cmdBufferSize = sizeof(cmdBuffer); + byte validBits = 0; + byte rxlength = 5; + result = PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, cmdBuffer, 7, cmdBuffer, &rxlength, &validBits); + + pACK[0] = cmdBuffer[0]; + pACK[1] = cmdBuffer[1]; + + if (result!=STATUS_OK) { + return result; + } + + return STATUS_OK; +} // End PCD_NTAG216_AUTH() + + +///////////////////////////////////////////////////////////////////////////////////// +// Support functions +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Wrapper for MIFARE protocol communication. + * Adds CRC_A, executes the Transceive command and checks that the response is MF_ACK or a timeout. + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522::PCD_MIFARE_Transceive( byte *sendData, ///< Pointer to the data to transfer to the FIFO. Do NOT include the CRC_A. + byte sendLen, ///< Number of bytes in sendData. + bool acceptTimeout ///< True => A timeout is also success + ) { + MFRC522::StatusCode result; + byte cmdBuffer[18]; // We need room for 16 bytes data and 2 bytes CRC_A. + + // Sanity check + if (sendData == NULL || sendLen > 16) { + return STATUS_INVALID; + } + + // Copy sendData[] to cmdBuffer[] and add CRC_A + memcpy(cmdBuffer, sendData, sendLen); + result = PCD_CalculateCRC(cmdBuffer, sendLen, &cmdBuffer[sendLen]); + if (result != STATUS_OK) { + return result; + } + sendLen += 2; + + // Transceive the data, store the reply in cmdBuffer[] + byte waitIRq = 0x30; // RxIRq and IdleIRq + byte cmdBufferSize = sizeof(cmdBuffer); + byte validBits = 0; + result = PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, cmdBuffer, sendLen, cmdBuffer, &cmdBufferSize, &validBits); + if (acceptTimeout && result == STATUS_TIMEOUT) { + return STATUS_OK; + } + if (result != STATUS_OK) { + return result; + } + // The PICC must reply with a 4 bit ACK + if (cmdBufferSize != 1 || validBits != 4) { + return STATUS_ERROR; + } + if (cmdBuffer[0] != MF_ACK) { + return STATUS_MIFARE_NACK; + } + return STATUS_OK; +} // End PCD_MIFARE_Transceive() + +/** + * Returns a __FlashStringHelper pointer to a status code name. + * + * @return const __FlashStringHelper * + */ +const __FlashStringHelper *MFRC522::GetStatusCodeName(MFRC522::StatusCode code ///< One of the StatusCode enums. + ) { + switch (code) { + case STATUS_OK: return F("Success."); + case STATUS_ERROR: return F("Error in communication."); + case STATUS_COLLISION: return F("Collission detected."); + case STATUS_TIMEOUT: return F("Timeout in communication."); + case STATUS_NO_ROOM: return F("A buffer is not big enough."); + case STATUS_INTERNAL_ERROR: return F("Internal error in the code. Should not happen."); + case STATUS_INVALID: return F("Invalid argument."); + case STATUS_CRC_WRONG: return F("The CRC_A does not match."); + case STATUS_MIFARE_NACK: return F("A MIFARE PICC responded with NAK."); + default: return F("Unknown error"); + } +} // End GetStatusCodeName() + +/** + * Translates the SAK (Select Acknowledge) to a PICC type. + * + * @return PICC_Type + */ +MFRC522::PICC_Type MFRC522::PICC_GetType(byte sak ///< The SAK byte returned from PICC_Select(). + ) { + // http://www.nxp.com/documents/application_note/AN10833.pdf + // 3.2 Coding of Select Acknowledge (SAK) + // ignore 8-bit (iso14443 starts with LSBit = bit 1) + // fixes wrong type for manufacturer Infineon (http://nfc-tools.org/index.php?title=ISO14443A) + sak &= 0x7F; + switch (sak) { + case 0x04: return PICC_TYPE_NOT_COMPLETE; // UID not complete + case 0x09: return PICC_TYPE_MIFARE_MINI; + case 0x08: return PICC_TYPE_MIFARE_1K; + case 0x18: return PICC_TYPE_MIFARE_4K; + case 0x00: return PICC_TYPE_MIFARE_UL; + case 0x10: + case 0x11: return PICC_TYPE_MIFARE_PLUS; + case 0x01: return PICC_TYPE_TNP3XXX; + case 0x20: return PICC_TYPE_ISO_14443_4; + case 0x40: return PICC_TYPE_ISO_18092; + default: return PICC_TYPE_UNKNOWN; + } +} // End PICC_GetType() + +/** + * Returns a __FlashStringHelper pointer to the PICC type name. + * + * @return const __FlashStringHelper * + */ +const __FlashStringHelper *MFRC522::PICC_GetTypeName(PICC_Type piccType ///< One of the PICC_Type enums. + ) { + switch (piccType) { + case PICC_TYPE_ISO_14443_4: return F("PICC compliant with ISO/IEC 14443-4"); + case PICC_TYPE_ISO_18092: return F("PICC compliant with ISO/IEC 18092 (NFC)"); + case PICC_TYPE_MIFARE_MINI: return F("MIFARE Mini, 320 bytes"); + case PICC_TYPE_MIFARE_1K: return F("MIFARE 1KB"); + case PICC_TYPE_MIFARE_4K: return F("MIFARE 4KB"); + case PICC_TYPE_MIFARE_UL: return F("MIFARE Ultralight or Ultralight C"); + case PICC_TYPE_MIFARE_PLUS: return F("MIFARE Plus"); + case PICC_TYPE_MIFARE_DESFIRE: return F("MIFARE DESFire"); + case PICC_TYPE_TNP3XXX: return F("MIFARE TNP3XXX"); + case PICC_TYPE_NOT_COMPLETE: return F("SAK indicates UID is not complete."); + case PICC_TYPE_UNKNOWN: + default: return F("Unknown type"); + } +} // End PICC_GetTypeName() + +/** + * Dumps debug info about the connected PCD to Serial. + * Shows all known firmware versions + */ +void MFRC522::PCD_DumpVersionToSerial() { + // Get the MFRC522 firmware version + byte v = PCD_ReadRegister(VersionReg); + Serial.print(F("Firmware Version: 0x")); + Serial.print(v, HEX); + // Lookup which version + switch(v) { + case 0x88: Serial.println(F(" = (clone)")); break; + case 0x90: Serial.println(F(" = v0.0")); break; + case 0x91: Serial.println(F(" = v1.0")); break; + case 0x92: Serial.println(F(" = v2.0")); break; + default: Serial.println(F(" = (unknown)")); + } + // When 0x00 or 0xFF is returned, communication probably failed + if ((v == 0x00) || (v == 0xFF)) + Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); +} // End PCD_DumpVersionToSerial() + +/** + * Dumps debug info about the selected PICC to Serial. + * On success the PICC is halted after dumping the data. + * For MIFARE Classic the factory default key of 0xFFFFFFFFFFFF is tried. + * + * @DEPRECATED Kept for bakward compatibility + */ +void MFRC522::PICC_DumpToSerial(Uid *uid ///< Pointer to Uid struct returned from a successful PICC_Select(). + ) { + MIFARE_Key key; + + // Dump UID, SAK and Type + PICC_DumpDetailsToSerial(uid); + + // Dump contents + PICC_Type piccType = PICC_GetType(uid->sak); + switch (piccType) { + case PICC_TYPE_MIFARE_MINI: + case PICC_TYPE_MIFARE_1K: + case PICC_TYPE_MIFARE_4K: + // All keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + PICC_DumpMifareClassicToSerial(uid, piccType, &key); + break; + + case PICC_TYPE_MIFARE_UL: + PICC_DumpMifareUltralightToSerial(); + break; + + case PICC_TYPE_ISO_14443_4: + case PICC_TYPE_MIFARE_DESFIRE: + case PICC_TYPE_ISO_18092: + case PICC_TYPE_MIFARE_PLUS: + case PICC_TYPE_TNP3XXX: + Serial.println(F("Dumping memory contents not implemented for that PICC type.")); + break; + + case PICC_TYPE_UNKNOWN: + case PICC_TYPE_NOT_COMPLETE: + default: + break; // No memory dump here + } + + Serial.println(); + PICC_HaltA(); // Already done if it was a MIFARE Classic PICC. +} // End PICC_DumpToSerial() + +/** + * Dumps card info (UID,SAK,Type) about the selected PICC to Serial. + * + * @DEPRECATED kept for backward compatibility + */ +void MFRC522::PICC_DumpDetailsToSerial(Uid *uid ///< Pointer to Uid struct returned from a successful PICC_Select(). + ) { + // UID + Serial.print(F("Card UID:")); + for (byte i = 0; i < uid->size; i++) { + if(uid->uidByte[i] < 0x10) + Serial.print(F(" 0")); + else + Serial.print(F(" ")); + Serial.print(uid->uidByte[i], HEX); + } + Serial.println(); + + // SAK + Serial.print(F("Card SAK: ")); + if(uid->sak < 0x10) + Serial.print(F("0")); + Serial.println(uid->sak, HEX); + + // (suggested) PICC type + PICC_Type piccType = PICC_GetType(uid->sak); + Serial.print(F("PICC type: ")); + Serial.println(PICC_GetTypeName(piccType)); +} // End PICC_DumpDetailsToSerial() + +/** + * Dumps memory contents of a MIFARE Classic PICC. + * On success the PICC is halted after dumping the data. + */ +void MFRC522::PICC_DumpMifareClassicToSerial( Uid *uid, ///< Pointer to Uid struct returned from a successful PICC_Select(). + PICC_Type piccType, ///< One of the PICC_Type enums. + MIFARE_Key *key ///< Key A used for all sectors. + ) { + byte no_of_sectors = 0; + switch (piccType) { + case PICC_TYPE_MIFARE_MINI: + // Has 5 sectors * 4 blocks/sector * 16 bytes/block = 320 bytes. + no_of_sectors = 5; + break; + + case PICC_TYPE_MIFARE_1K: + // Has 16 sectors * 4 blocks/sector * 16 bytes/block = 1024 bytes. + no_of_sectors = 16; + break; + + case PICC_TYPE_MIFARE_4K: + // Has (32 sectors * 4 blocks/sector + 8 sectors * 16 blocks/sector) * 16 bytes/block = 4096 bytes. + no_of_sectors = 40; + break; + + default: // Should not happen. Ignore. + break; + } + + // Dump sectors, highest address first. + if (no_of_sectors) { + Serial.println(F("Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits")); + for (int8_t i = no_of_sectors - 1; i >= 0; i--) { + PICC_DumpMifareClassicSectorToSerial(uid, key, i); + } + } + PICC_HaltA(); // Halt the PICC before stopping the encrypted session. + PCD_StopCrypto1(); +} // End PICC_DumpMifareClassicToSerial() + +/** + * Dumps memory contents of a sector of a MIFARE Classic PICC. + * Uses PCD_Authenticate(), MIFARE_Read() and PCD_StopCrypto1. + * Always uses PICC_CMD_MF_AUTH_KEY_A because only Key A can always read the sector trailer access bits. + */ +void MFRC522::PICC_DumpMifareClassicSectorToSerial(Uid *uid, ///< Pointer to Uid struct returned from a successful PICC_Select(). + MIFARE_Key *key, ///< Key A for the sector. + byte sector ///< The sector to dump, 0..39. + ) { + MFRC522::StatusCode status; + byte firstBlock; // Address of lowest address to dump actually last block dumped) + byte no_of_blocks; // Number of blocks in sector + bool isSectorTrailer; // Set to true while handling the "last" (ie highest address) in the sector. + + // The access bits are stored in a peculiar fashion. + // There are four groups: + // g[3] Access bits for the sector trailer, block 3 (for sectors 0-31) or block 15 (for sectors 32-39) + // g[2] Access bits for block 2 (for sectors 0-31) or blocks 10-14 (for sectors 32-39) + // g[1] Access bits for block 1 (for sectors 0-31) or blocks 5-9 (for sectors 32-39) + // g[0] Access bits for block 0 (for sectors 0-31) or blocks 0-4 (for sectors 32-39) + // Each group has access bits [C1 C2 C3]. In this code C1 is MSB and C3 is LSB. + // The four CX bits are stored together in a nible cx and an inverted nible cx_. + byte c1, c2, c3; // Nibbles + byte c1_, c2_, c3_; // Inverted nibbles + bool invertedError; // True if one of the inverted nibbles did not match + byte g[4]; // Access bits for each of the four groups. + byte group; // 0-3 - active group for access bits + bool firstInGroup; // True for the first block dumped in the group + + // Determine position and size of sector. + if (sector < 32) { // Sectors 0..31 has 4 blocks each + no_of_blocks = 4; + firstBlock = sector * no_of_blocks; + } + else if (sector < 40) { // Sectors 32-39 has 16 blocks each + no_of_blocks = 16; + firstBlock = 128 + (sector - 32) * no_of_blocks; + } + else { // Illegal input, no MIFARE Classic PICC has more than 40 sectors. + return; + } + + // Dump blocks, highest address first. + byte byteCount; + byte buffer[18]; + byte blockAddr; + isSectorTrailer = true; + invertedError = false; // Avoid "unused variable" warning. + for (int8_t blockOffset = no_of_blocks - 1; blockOffset >= 0; blockOffset--) { + blockAddr = firstBlock + blockOffset; + // Sector number - only on first line + if (isSectorTrailer) { + if(sector < 10) + Serial.print(F(" ")); // Pad with spaces + else + Serial.print(F(" ")); // Pad with spaces + Serial.print(sector); + Serial.print(F(" ")); + } + else { + Serial.print(F(" ")); + } + // Block number + if(blockAddr < 10) + Serial.print(F(" ")); // Pad with spaces + else { + if(blockAddr < 100) + Serial.print(F(" ")); // Pad with spaces + else + Serial.print(F(" ")); // Pad with spaces + } + Serial.print(blockAddr); + Serial.print(F(" ")); + // Establish encrypted communications before reading the first block + if (isSectorTrailer) { + status = PCD_Authenticate(PICC_CMD_MF_AUTH_KEY_A, firstBlock, key, uid); + if (status != STATUS_OK) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(GetStatusCodeName(status)); + return; + } + } + // Read block + byteCount = sizeof(buffer); + status = MIFARE_Read(blockAddr, buffer, &byteCount); + if (status != STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(GetStatusCodeName(status)); + continue; + } + // Dump data + for (byte index = 0; index < 16; index++) { + if(buffer[index] < 0x10) + Serial.print(F(" 0")); + else + Serial.print(F(" ")); + Serial.print(buffer[index], HEX); + if ((index % 4) == 3) { + Serial.print(F(" ")); + } + } + // Parse sector trailer data + if (isSectorTrailer) { + c1 = buffer[7] >> 4; + c2 = buffer[8] & 0xF; + c3 = buffer[8] >> 4; + c1_ = buffer[6] & 0xF; + c2_ = buffer[6] >> 4; + c3_ = buffer[7] & 0xF; + invertedError = (c1 != (~c1_ & 0xF)) || (c2 != (~c2_ & 0xF)) || (c3 != (~c3_ & 0xF)); + g[0] = ((c1 & 1) << 2) | ((c2 & 1) << 1) | ((c3 & 1) << 0); + g[1] = ((c1 & 2) << 1) | ((c2 & 2) << 0) | ((c3 & 2) >> 1); + g[2] = ((c1 & 4) << 0) | ((c2 & 4) >> 1) | ((c3 & 4) >> 2); + g[3] = ((c1 & 8) >> 1) | ((c2 & 8) >> 2) | ((c3 & 8) >> 3); + isSectorTrailer = false; + } + + // Which access group is this block in? + if (no_of_blocks == 4) { + group = blockOffset; + firstInGroup = true; + } + else { + group = blockOffset / 5; + firstInGroup = (group == 3) || (group != (blockOffset + 1) / 5); + } + + if (firstInGroup) { + // Print access bits + Serial.print(F(" [ ")); + Serial.print((g[group] >> 2) & 1, DEC); Serial.print(F(" ")); + Serial.print((g[group] >> 1) & 1, DEC); Serial.print(F(" ")); + Serial.print((g[group] >> 0) & 1, DEC); + Serial.print(F(" ] ")); + if (invertedError) { + Serial.print(F(" Inverted access bits did not match! ")); + } + } + + if (group != 3 && (g[group] == 1 || g[group] == 6)) { // Not a sector trailer, a value block + int32_t value = (int32_t(buffer[3])<<24) | (int32_t(buffer[2])<<16) | (int32_t(buffer[1])<<8) | int32_t(buffer[0]); + Serial.print(F(" Value=0x")); Serial.print(value, HEX); + Serial.print(F(" Adr=0x")); Serial.print(buffer[12], HEX); + } + Serial.println(); + } + + return; +} // End PICC_DumpMifareClassicSectorToSerial() + +/** + * Dumps memory contents of a MIFARE Ultralight PICC. + */ +void MFRC522::PICC_DumpMifareUltralightToSerial() { + MFRC522::StatusCode status; + byte byteCount; + byte buffer[18]; + byte i; + + Serial.println(F("Page 0 1 2 3")); + // Try the mpages of the original Ultralight. Ultralight C has more pages. + for (byte page = 0; page < 16; page +=4) { // Read returns data for 4 pages at a time. + // Read pages + byteCount = sizeof(buffer); + status = MIFARE_Read(page, buffer, &byteCount); + if (status != STATUS_OK) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(GetStatusCodeName(status)); + break; + } + // Dump data + for (byte offset = 0; offset < 4; offset++) { + i = page + offset; + if(i < 10) + Serial.print(F(" ")); // Pad with spaces + else + Serial.print(F(" ")); // Pad with spaces + Serial.print(i); + Serial.print(F(" ")); + for (byte index = 0; index < 4; index++) { + i = 4 * offset + index; + if(buffer[i] < 0x10) + Serial.print(F(" 0")); + else + Serial.print(F(" ")); + Serial.print(buffer[i], HEX); + } + Serial.println(); + } + } +} // End PICC_DumpMifareUltralightToSerial() + +/** + * Calculates the bit pattern needed for the specified access bits. In the [C1 C2 C3] tuples C1 is MSB (=4) and C3 is LSB (=1). + */ +void MFRC522::MIFARE_SetAccessBits( byte *accessBitBuffer, ///< Pointer to byte 6, 7 and 8 in the sector trailer. Bytes [0..2] will be set. + byte g0, ///< Access bits [C1 C2 C3] for block 0 (for sectors 0-31) or blocks 0-4 (for sectors 32-39) + byte g1, ///< Access bits C1 C2 C3] for block 1 (for sectors 0-31) or blocks 5-9 (for sectors 32-39) + byte g2, ///< Access bits C1 C2 C3] for block 2 (for sectors 0-31) or blocks 10-14 (for sectors 32-39) + byte g3 ///< Access bits C1 C2 C3] for the sector trailer, block 3 (for sectors 0-31) or block 15 (for sectors 32-39) + ) { + byte c1 = ((g3 & 4) << 1) | ((g2 & 4) << 0) | ((g1 & 4) >> 1) | ((g0 & 4) >> 2); + byte c2 = ((g3 & 2) << 2) | ((g2 & 2) << 1) | ((g1 & 2) << 0) | ((g0 & 2) >> 1); + byte c3 = ((g3 & 1) << 3) | ((g2 & 1) << 2) | ((g1 & 1) << 1) | ((g0 & 1) << 0); + + accessBitBuffer[0] = (~c2 & 0xF) << 4 | (~c1 & 0xF); + accessBitBuffer[1] = c1 << 4 | (~c3 & 0xF); + accessBitBuffer[2] = c3 << 4 | c2; +} // End MIFARE_SetAccessBits() + + +/** + * Performs the "magic sequence" needed to get Chinese UID changeable + * Mifare cards to allow writing to sector 0, where the card UID is stored. + * + * Note that you do not need to have selected the card through REQA or WUPA, + * this sequence works immediately when the card is in the reader vicinity. + * This means you can use this method even on "bricked" cards that your reader does + * not recognise anymore (see MFRC522::MIFARE_UnbrickUidSector). + * + * Of course with non-bricked devices, you're free to select them before calling this function. + */ +bool MFRC522::MIFARE_OpenUidBackdoor(bool logErrors) { + // Magic sequence: + // > 50 00 57 CD (HALT + CRC) + // > 40 (7 bits only) + // < A (4 bits only) + // > 43 + // < A (4 bits only) + // Then you can write to sector 0 without authenticating + + PICC_HaltA(); // 50 00 57 CD + + byte cmd = 0x40; + byte validBits = 7; /* Our command is only 7 bits. After receiving card response, + this will contain amount of valid response bits. */ + byte response[32]; // Card's response is written here + byte received; + MFRC522::StatusCode status = PCD_TransceiveData(&cmd, (byte)1, response, &received, &validBits, (byte)0, false); // 40 + if(status != STATUS_OK) { + if(logErrors) { + Serial.println(F("Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?")); + Serial.print(F("Error name: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + if (received != 1 || response[0] != 0x0A) { + if (logErrors) { + Serial.print(F("Got bad response on backdoor 0x40 command: ")); + Serial.print(response[0], HEX); + Serial.print(F(" (")); + Serial.print(validBits); + Serial.print(F(" valid bits)\r\n")); + } + return false; + } + + cmd = 0x43; + validBits = 8; + status = PCD_TransceiveData(&cmd, (byte)1, response, &received, &validBits, (byte)0, false); // 43 + if(status != STATUS_OK) { + if(logErrors) { + Serial.println(F("Error in communication at command 0x43, after successfully executing 0x40")); + Serial.print(F("Error name: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + if (received != 1 || response[0] != 0x0A) { + if (logErrors) { + Serial.print(F("Got bad response on backdoor 0x43 command: ")); + Serial.print(response[0], HEX); + Serial.print(F(" (")); + Serial.print(validBits); + Serial.print(F(" valid bits)\r\n")); + } + return false; + } + + // You can now write to sector 0 without authenticating! + return true; +} // End MIFARE_OpenUidBackdoor() + +/** + * Reads entire block 0, including all manufacturer data, and overwrites + * that block with the new UID, a freshly calculated BCC, and the original + * manufacturer data. + * + * It assumes a default KEY A of 0xFFFFFFFFFFFF. + * Make sure to have selected the card before this function is called. + */ +bool MFRC522::MIFARE_SetUid(byte *newUid, byte uidSize, bool logErrors) { + + // UID + BCC byte can not be larger than 16 together + if (!newUid || !uidSize || uidSize > 15) { + if (logErrors) { + Serial.println(F("New UID buffer empty, size 0, or size > 15 given")); + } + return false; + } + + // Authenticate for reading + MIFARE_Key key = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; + MFRC522::StatusCode status = PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, (byte)1, &key, &uid); + if (status != STATUS_OK) { + + if (status == STATUS_TIMEOUT) { + // We get a read timeout if no card is selected yet, so let's select one + + // Wake the card up again if sleeping +// byte atqa_answer[2]; +// byte atqa_size = 2; +// PICC_WakeupA(atqa_answer, &atqa_size); + + if (!PICC_IsNewCardPresent() || !PICC_ReadCardSerial()) { + Serial.println(F("No card was previously selected, and none are available. Failed to set UID.")); + return false; + } + + status = PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, (byte)1, &key, &uid); + if (status != STATUS_OK) { + // We tried, time to give up + if (logErrors) { + Serial.println(F("Failed to authenticate to card for reading, could not set UID: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + } + else { + if (logErrors) { + Serial.print(F("PCD_Authenticate() failed: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + } + + // Read block 0 + byte block0_buffer[18]; + byte byteCount = sizeof(block0_buffer); + status = MIFARE_Read((byte)0, block0_buffer, &byteCount); + if (status != STATUS_OK) { + if (logErrors) { + Serial.print(F("MIFARE_Read() failed: ")); + Serial.println(GetStatusCodeName(status)); + Serial.println(F("Are you sure your KEY A for sector 0 is 0xFFFFFFFFFFFF?")); + } + return false; + } + + // Write new UID to the data we just read, and calculate BCC byte + byte bcc = 0; + for (uint8_t i = 0; i < uidSize; i++) { + block0_buffer[i] = newUid[i]; + bcc ^= newUid[i]; + } + + // Write BCC byte to buffer + block0_buffer[uidSize] = bcc; + + // Stop encrypted traffic so we can send raw bytes + PCD_StopCrypto1(); + + // Activate UID backdoor + if (!MIFARE_OpenUidBackdoor(logErrors)) { + if (logErrors) { + Serial.println(F("Activating the UID backdoor failed.")); + } + return false; + } + + // Write modified block 0 back to card + status = MIFARE_Write((byte)0, block0_buffer, (byte)16); + if (status != STATUS_OK) { + if (logErrors) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + + // Wake the card up again + byte atqa_answer[2]; + byte atqa_size = 2; + PICC_WakeupA(atqa_answer, &atqa_size); + + return true; +} + +/** + * Resets entire sector 0 to zeroes, so the card can be read again by readers. + */ +bool MFRC522::MIFARE_UnbrickUidSector(bool logErrors) { + MIFARE_OpenUidBackdoor(logErrors); + + byte block0_buffer[] = {0x01, 0x02, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + + // Write modified block 0 back to card + MFRC522::StatusCode status = MIFARE_Write((byte)0, block0_buffer, (byte)16); + if (status != STATUS_OK) { + if (logErrors) { + Serial.print(F("MIFARE_Write() failed: ")); + Serial.println(GetStatusCodeName(status)); + } + return false; + } + return true; +} + +///////////////////////////////////////////////////////////////////////////////////// +// Convenience functions - does not add extra functionality +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Returns true if a PICC responds to PICC_CMD_REQA. + * Only "new" cards in state IDLE are invited. Sleeping cards in state HALT are ignored. + * + * @return bool + */ +bool MFRC522::PICC_IsNewCardPresent() { + byte bufferATQA[2]; + byte bufferSize = sizeof(bufferATQA); + + // Reset baud rates + PCD_WriteRegister(TxModeReg, 0x00); + PCD_WriteRegister(RxModeReg, 0x00); + // Reset ModWidthReg + PCD_WriteRegister(ModWidthReg, 0x26); + + MFRC522::StatusCode result = PICC_RequestA(bufferATQA, &bufferSize); + return (result == STATUS_OK || result == STATUS_COLLISION); +} // End PICC_IsNewCardPresent() + +/** + * Simple wrapper around PICC_Select. + * Returns true if a UID could be read. + * Remember to call PICC_IsNewCardPresent(), PICC_RequestA() or PICC_WakeupA() first. + * The read UID is available in the class variable uid. + * + * @return bool + */ +bool MFRC522::PICC_ReadCardSerial() { + MFRC522::StatusCode result = PICC_Select(&uid); + return (result == STATUS_OK); +} // End diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h b/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h new file mode 100644 index 0000000..09c72fc --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h @@ -0,0 +1,424 @@ +/** + * MFRC522.h - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. + * Based on code Dr.Leong ( WWW.B2CQSHOP.COM ) + * Created by Miguel Balboa (circuitito.com), Jan, 2012. + * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.) + * Extended by Tom Clement with functionality to write to sector 0 of UID changeable Mifare cards. + * Released into the public domain. + * + * Please read this file for an overview and then MFRC522.cpp for comments on the specific functions. + * Search for "mf-rc522" on ebay.com to purchase the MF-RC522 board. + * + * There are three hardware components involved: + * 1) The micro controller: An Arduino + * 2) The PCD (short for Proximity Coupling Device): NXP MFRC522 Contactless Reader IC + * 3) The PICC (short for Proximity Integrated Circuit Card): A card or tag using the ISO 14443A interface, eg Mifare or NTAG203. + * + * The microcontroller and card reader uses SPI for communication. + * The protocol is described in the MFRC522 datasheet: http://www.nxp.com/documents/data_sheet/MFRC522.pdf + * + * The card reader and the tags communicate using a 13.56MHz electromagnetic field. + * The protocol is defined in ISO/IEC 14443-3 Identification cards -- Contactless integrated circuit cards -- Proximity cards -- Part 3: Initialization and anticollision". + * A free version of the final draft can be found at http://wg8.de/wg8n1496_17n3613_Ballot_FCD14443-3.pdf + * Details are found in chapter 6, Type A – Initialization and anticollision. + * + * If only the PICC UID is wanted, the above documents has all the needed information. + * To read and write from MIFARE PICCs, the MIFARE protocol is used after the PICC has been selected. + * The MIFARE Classic chips and protocol is described in the datasheets: + * 1K: http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf + * 4K: http://datasheet.octopart.com/MF1S7035DA4,118-NXP-Semiconductors-datasheet-11046188.pdf + * Mini: http://www.idcardmarket.com/download/mifare_S20_datasheet.pdf + * The MIFARE Ultralight chip and protocol is described in the datasheets: + * Ultralight: http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf + * Ultralight C: http://www.nxp.com/documents/short_data_sheet/MF0ICU2_SDS.pdf + * + * MIFARE Classic 1K (MF1S503x): + * Has 16 sectors * 4 blocks/sector * 16 bytes/block = 1024 bytes. + * The blocks are numbered 0-63. + * Block 3 in each sector is the Sector Trailer. See http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf sections 8.6 and 8.7: + * Bytes 0-5: Key A + * Bytes 6-8: Access Bits + * Bytes 9: User data + * Bytes 10-15: Key B (or user data) + * Block 0 is read-only manufacturer data. + * To access a block, an authentication using a key from the block's sector must be performed first. + * Example: To read from block 10, first authenticate using a key from sector 3 (blocks 8-11). + * All keys are set to FFFFFFFFFFFFh at chip delivery. + * Warning: Please read section 8.7 "Memory Access". It includes this text: if the PICC detects a format violation the whole sector is irreversibly blocked. + * To use a block in "value block" mode (for Increment/Decrement operations) you need to change the sector trailer. Use PICC_SetAccessBits() to calculate the bit patterns. + * MIFARE Classic 4K (MF1S703x): + * Has (32 sectors * 4 blocks/sector + 8 sectors * 16 blocks/sector) * 16 bytes/block = 4096 bytes. + * The blocks are numbered 0-255. + * The last block in each sector is the Sector Trailer like above. + * MIFARE Classic Mini (MF1 IC S20): + * Has 5 sectors * 4 blocks/sector * 16 bytes/block = 320 bytes. + * The blocks are numbered 0-19. + * The last block in each sector is the Sector Trailer like above. + * + * MIFARE Ultralight (MF0ICU1): + * Has 16 pages of 4 bytes = 64 bytes. + * Pages 0 + 1 is used for the 7-byte UID. + * Page 2 contains the last check digit for the UID, one byte manufacturer internal data, and the lock bytes (see http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf section 8.5.2) + * Page 3 is OTP, One Time Programmable bits. Once set to 1 they cannot revert to 0. + * Pages 4-15 are read/write unless blocked by the lock bytes in page 2. + * MIFARE Ultralight C (MF0ICU2): + * Has 48 pages of 4 bytes = 192 bytes. + * Pages 0 + 1 is used for the 7-byte UID. + * Page 2 contains the last check digit for the UID, one byte manufacturer internal data, and the lock bytes (see http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf section 8.5.2) + * Page 3 is OTP, One Time Programmable bits. Once set to 1 they cannot revert to 0. + * Pages 4-39 are read/write unless blocked by the lock bytes in page 2. + * Page 40 Lock bytes + * Page 41 16 bit one way counter + * Pages 42-43 Authentication configuration + * Pages 44-47 Authentication key + */ +#ifndef MFRC522_h +#define MFRC522_h + +// Enable integer limits +#define __STDC_LIMIT_MACROS +#include +#include +#include + +#define MFRC522_SPICLOCK SPI_CLOCK_DIV4 // MFRC522 accept upto 10MHz + +// Firmware data for self-test +// Reference values based on firmware version +// Hint: if needed, you can remove unused self-test data to save flash memory +// +// Version 0.0 (0x90) +// Philips Semiconductors; Preliminary Specification Revision 2.0 - 01 August 2005; 16.1 self-test +const byte MFRC522_firmware_referenceV0_0[] PROGMEM = { + 0x00, 0x87, 0x98, 0x0f, 0x49, 0xFF, 0x07, 0x19, + 0xBF, 0x22, 0x30, 0x49, 0x59, 0x63, 0xAD, 0xCA, + 0x7F, 0xE3, 0x4E, 0x03, 0x5C, 0x4E, 0x49, 0x50, + 0x47, 0x9A, 0x37, 0x61, 0xE7, 0xE2, 0xC6, 0x2E, + 0x75, 0x5A, 0xED, 0x04, 0x3D, 0x02, 0x4B, 0x78, + 0x32, 0xFF, 0x58, 0x3B, 0x7C, 0xE9, 0x00, 0x94, + 0xB4, 0x4A, 0x59, 0x5B, 0xFD, 0xC9, 0x29, 0xDF, + 0x35, 0x96, 0x98, 0x9E, 0x4F, 0x30, 0x32, 0x8D +}; +// Version 1.0 (0x91) +// NXP Semiconductors; Rev. 3.8 - 17 September 2014; 16.1.1 self-test +const byte MFRC522_firmware_referenceV1_0[] PROGMEM = { + 0x00, 0xC6, 0x37, 0xD5, 0x32, 0xB7, 0x57, 0x5C, + 0xC2, 0xD8, 0x7C, 0x4D, 0xD9, 0x70, 0xC7, 0x73, + 0x10, 0xE6, 0xD2, 0xAA, 0x5E, 0xA1, 0x3E, 0x5A, + 0x14, 0xAF, 0x30, 0x61, 0xC9, 0x70, 0xDB, 0x2E, + 0x64, 0x22, 0x72, 0xB5, 0xBD, 0x65, 0xF4, 0xEC, + 0x22, 0xBC, 0xD3, 0x72, 0x35, 0xCD, 0xAA, 0x41, + 0x1F, 0xA7, 0xF3, 0x53, 0x14, 0xDE, 0x7E, 0x02, + 0xD9, 0x0F, 0xB5, 0x5E, 0x25, 0x1D, 0x29, 0x79 +}; +// Version 2.0 (0x92) +// NXP Semiconductors; Rev. 3.8 - 17 September 2014; 16.1.1 self-test +const byte MFRC522_firmware_referenceV2_0[] PROGMEM = { + 0x00, 0xEB, 0x66, 0xBA, 0x57, 0xBF, 0x23, 0x95, + 0xD0, 0xE3, 0x0D, 0x3D, 0x27, 0x89, 0x5C, 0xDE, + 0x9D, 0x3B, 0xA7, 0x00, 0x21, 0x5B, 0x89, 0x82, + 0x51, 0x3A, 0xEB, 0x02, 0x0C, 0xA5, 0x00, 0x49, + 0x7C, 0x84, 0x4D, 0xB3, 0xCC, 0xD2, 0x1B, 0x81, + 0x5D, 0x48, 0x76, 0xD5, 0x71, 0x61, 0x21, 0xA9, + 0x86, 0x96, 0x83, 0x38, 0xCF, 0x9D, 0x5B, 0x6D, + 0xDC, 0x15, 0xBA, 0x3E, 0x7D, 0x95, 0x3B, 0x2F +}; +// Clone +// Fudan Semiconductor FM17522 (0x88) +const byte FM17522_firmware_reference[] PROGMEM = { + 0x00, 0xD6, 0x78, 0x8C, 0xE2, 0xAA, 0x0C, 0x18, + 0x2A, 0xB8, 0x7A, 0x7F, 0xD3, 0x6A, 0xCF, 0x0B, + 0xB1, 0x37, 0x63, 0x4B, 0x69, 0xAE, 0x91, 0xC7, + 0xC3, 0x97, 0xAE, 0x77, 0xF4, 0x37, 0xD7, 0x9B, + 0x7C, 0xF5, 0x3C, 0x11, 0x8F, 0x15, 0xC3, 0xD7, + 0xC1, 0x5B, 0x00, 0x2A, 0xD0, 0x75, 0xDE, 0x9E, + 0x51, 0x64, 0xAB, 0x3E, 0xE9, 0x15, 0xB5, 0xAB, + 0x56, 0x9A, 0x98, 0x82, 0x26, 0xEA, 0x2A, 0x62 +}; + +class MFRC522 { +public: + // Size of the MFRC522 FIFO + static const byte FIFO_SIZE = 64; // The FIFO is 64 bytes. + + // MFRC522 registers. Described in chapter 9 of the datasheet. + // When using SPI all addresses are shifted one bit left in the "SPI address byte" (section 8.1.2.3) + enum PCD_Register : byte { + // Page 0: Command and status + // 0x00 // reserved for future use + CommandReg = 0x01 << 1, // starts and stops command execution + ComIEnReg = 0x02 << 1, // enable and disable interrupt request control bits + DivIEnReg = 0x03 << 1, // enable and disable interrupt request control bits + ComIrqReg = 0x04 << 1, // interrupt request bits + DivIrqReg = 0x05 << 1, // interrupt request bits + ErrorReg = 0x06 << 1, // error bits showing the error status of the last command executed + Status1Reg = 0x07 << 1, // communication status bits + Status2Reg = 0x08 << 1, // receiver and transmitter status bits + FIFODataReg = 0x09 << 1, // input and output of 64 byte FIFO buffer + FIFOLevelReg = 0x0A << 1, // number of bytes stored in the FIFO buffer + WaterLevelReg = 0x0B << 1, // level for FIFO underflow and overflow warning + ControlReg = 0x0C << 1, // miscellaneous control registers + BitFramingReg = 0x0D << 1, // adjustments for bit-oriented frames + CollReg = 0x0E << 1, // bit position of the first bit-collision detected on the RF interface + // 0x0F // reserved for future use + + // Page 1: Command + // 0x10 // reserved for future use + ModeReg = 0x11 << 1, // defines general modes for transmitting and receiving + TxModeReg = 0x12 << 1, // defines transmission data rate and framing + RxModeReg = 0x13 << 1, // defines reception data rate and framing + TxControlReg = 0x14 << 1, // controls the logical behavior of the antenna driver pins TX1 and TX2 + TxASKReg = 0x15 << 1, // controls the setting of the transmission modulation + TxSelReg = 0x16 << 1, // selects the internal sources for the antenna driver + RxSelReg = 0x17 << 1, // selects internal receiver settings + RxThresholdReg = 0x18 << 1, // selects thresholds for the bit decoder + DemodReg = 0x19 << 1, // defines demodulator settings + // 0x1A // reserved for future use + // 0x1B // reserved for future use + MfTxReg = 0x1C << 1, // controls some MIFARE communication transmit parameters + MfRxReg = 0x1D << 1, // controls some MIFARE communication receive parameters + // 0x1E // reserved for future use + SerialSpeedReg = 0x1F << 1, // selects the speed of the serial UART interface + + // Page 2: Configuration + // 0x20 // reserved for future use + CRCResultRegH = 0x21 << 1, // shows the MSB and LSB values of the CRC calculation + CRCResultRegL = 0x22 << 1, + // 0x23 // reserved for future use + ModWidthReg = 0x24 << 1, // controls the ModWidth setting? + // 0x25 // reserved for future use + RFCfgReg = 0x26 << 1, // configures the receiver gain + GsNReg = 0x27 << 1, // selects the conductance of the antenna driver pins TX1 and TX2 for modulation + CWGsPReg = 0x28 << 1, // defines the conductance of the p-driver output during periods of no modulation + ModGsPReg = 0x29 << 1, // defines the conductance of the p-driver output during periods of modulation + TModeReg = 0x2A << 1, // defines settings for the internal timer + TPrescalerReg = 0x2B << 1, // the lower 8 bits of the TPrescaler value. The 4 high bits are in TModeReg. + TReloadRegH = 0x2C << 1, // defines the 16-bit timer reload value + TReloadRegL = 0x2D << 1, + TCounterValueRegH = 0x2E << 1, // shows the 16-bit timer value + TCounterValueRegL = 0x2F << 1, + + // Page 3: Test Registers + // 0x30 // reserved for future use + TestSel1Reg = 0x31 << 1, // general test signal configuration + TestSel2Reg = 0x32 << 1, // general test signal configuration + TestPinEnReg = 0x33 << 1, // enables pin output driver on pins D1 to D7 + TestPinValueReg = 0x34 << 1, // defines the values for D1 to D7 when it is used as an I/O bus + TestBusReg = 0x35 << 1, // shows the status of the internal test bus + AutoTestReg = 0x36 << 1, // controls the digital self-test + VersionReg = 0x37 << 1, // shows the software version + AnalogTestReg = 0x38 << 1, // controls the pins AUX1 and AUX2 + TestDAC1Reg = 0x39 << 1, // defines the test value for TestDAC1 + TestDAC2Reg = 0x3A << 1, // defines the test value for TestDAC2 + TestADCReg = 0x3B << 1 // shows the value of ADC I and Q channels + // 0x3C // reserved for production tests + // 0x3D // reserved for production tests + // 0x3E // reserved for production tests + // 0x3F // reserved for production tests + }; + + // MFRC522 commands. Described in chapter 10 of the datasheet. + enum PCD_Command : byte { + PCD_Idle = 0x00, // no action, cancels current command execution + PCD_Mem = 0x01, // stores 25 bytes into the internal buffer + PCD_GenerateRandomID = 0x02, // generates a 10-byte random ID number + PCD_CalcCRC = 0x03, // activates the CRC coprocessor or performs a self-test + PCD_Transmit = 0x04, // transmits data from the FIFO buffer + PCD_NoCmdChange = 0x07, // no command change, can be used to modify the CommandReg register bits without affecting the command, for example, the PowerDown bit + PCD_Receive = 0x08, // activates the receiver circuits + PCD_Transceive = 0x0C, // transmits data from FIFO buffer to antenna and automatically activates the receiver after transmission + PCD_MFAuthent = 0x0E, // performs the MIFARE standard authentication as a reader + PCD_SoftReset = 0x0F // resets the MFRC522 + }; + + // MFRC522 RxGain[2:0] masks, defines the receiver's signal voltage gain factor (on the PCD). + // Described in 9.3.3.6 / table 98 of the datasheet at http://www.nxp.com/documents/data_sheet/MFRC522.pdf + enum PCD_RxGain : byte { + RxGain_18dB = 0x00 << 4, // 000b - 18 dB, minimum + RxGain_23dB = 0x01 << 4, // 001b - 23 dB + RxGain_18dB_2 = 0x02 << 4, // 010b - 18 dB, it seems 010b is a duplicate for 000b + RxGain_23dB_2 = 0x03 << 4, // 011b - 23 dB, it seems 011b is a duplicate for 001b + RxGain_33dB = 0x04 << 4, // 100b - 33 dB, average, and typical default + RxGain_38dB = 0x05 << 4, // 101b - 38 dB + RxGain_43dB = 0x06 << 4, // 110b - 43 dB + RxGain_48dB = 0x07 << 4, // 111b - 48 dB, maximum + RxGain_min = 0x00 << 4, // 000b - 18 dB, minimum, convenience for RxGain_18dB + RxGain_avg = 0x04 << 4, // 100b - 33 dB, average, convenience for RxGain_33dB + RxGain_max = 0x07 << 4 // 111b - 48 dB, maximum, convenience for RxGain_48dB + }; + + // Commands sent to the PICC. + enum PICC_Command : byte { + // The commands used by the PCD to manage communication with several PICCs (ISO 14443-3, Type A, section 6.4) + PICC_CMD_REQA = 0x26, // REQuest command, Type A. Invites PICCs in state IDLE to go to READY and prepare for anticollision or selection. 7 bit frame. + PICC_CMD_WUPA = 0x52, // Wake-UP command, Type A. Invites PICCs in state IDLE and HALT to go to READY(*) and prepare for anticollision or selection. 7 bit frame. + PICC_CMD_CT = 0x88, // Cascade Tag. Not really a command, but used during anti collision. + PICC_CMD_SEL_CL1 = 0x93, // Anti collision/Select, Cascade Level 1 + PICC_CMD_SEL_CL2 = 0x95, // Anti collision/Select, Cascade Level 2 + PICC_CMD_SEL_CL3 = 0x97, // Anti collision/Select, Cascade Level 3 + PICC_CMD_HLTA = 0x50, // HaLT command, Type A. Instructs an ACTIVE PICC to go to state HALT. + PICC_CMD_RATS = 0xE0, // Request command for Answer To Reset. + // The commands used for MIFARE Classic (from http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf, Section 9) + // Use PCD_MFAuthent to authenticate access to a sector, then use these commands to read/write/modify the blocks on the sector. + // The read/write commands can also be used for MIFARE Ultralight. + PICC_CMD_MF_AUTH_KEY_A = 0x60, // Perform authentication with Key A + PICC_CMD_MF_AUTH_KEY_B = 0x61, // Perform authentication with Key B + PICC_CMD_MF_READ = 0x30, // Reads one 16 byte block from the authenticated sector of the PICC. Also used for MIFARE Ultralight. + PICC_CMD_MF_WRITE = 0xA0, // Writes one 16 byte block to the authenticated sector of the PICC. Called "COMPATIBILITY WRITE" for MIFARE Ultralight. + PICC_CMD_MF_DECREMENT = 0xC0, // Decrements the contents of a block and stores the result in the internal data register. + PICC_CMD_MF_INCREMENT = 0xC1, // Increments the contents of a block and stores the result in the internal data register. + PICC_CMD_MF_RESTORE = 0xC2, // Reads the contents of a block into the internal data register. + PICC_CMD_MF_TRANSFER = 0xB0, // Writes the contents of the internal data register to a block. + // The commands used for MIFARE Ultralight (from http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf, Section 8.6) + // The PICC_CMD_MF_READ and PICC_CMD_MF_WRITE can also be used for MIFARE Ultralight. + PICC_CMD_UL_WRITE = 0xA2 // Writes one 4 byte page to the PICC. + }; + + // MIFARE constants that does not fit anywhere else + enum MIFARE_Misc { + MF_ACK = 0xA, // The MIFARE Classic uses a 4 bit ACK/NAK. Any other value than 0xA is NAK. + MF_KEY_SIZE = 6 // A Mifare Crypto1 key is 6 bytes. + }; + + // PICC types we can detect. Remember to update PICC_GetTypeName() if you add more. + // last value set to 0xff, then compiler uses less ram, it seems some optimisations are triggered + enum PICC_Type : byte { + PICC_TYPE_UNKNOWN , + PICC_TYPE_ISO_14443_4 , // PICC compliant with ISO/IEC 14443-4 + PICC_TYPE_ISO_18092 , // PICC compliant with ISO/IEC 18092 (NFC) + PICC_TYPE_MIFARE_MINI , // MIFARE Classic protocol, 320 bytes + PICC_TYPE_MIFARE_1K , // MIFARE Classic protocol, 1KB + PICC_TYPE_MIFARE_4K , // MIFARE Classic protocol, 4KB + PICC_TYPE_MIFARE_UL , // MIFARE Ultralight or Ultralight C + PICC_TYPE_MIFARE_PLUS , // MIFARE Plus + PICC_TYPE_MIFARE_DESFIRE, // MIFARE DESFire + PICC_TYPE_TNP3XXX , // Only mentioned in NXP AN 10833 MIFARE Type Identification Procedure + PICC_TYPE_NOT_COMPLETE = 0xff // SAK indicates UID is not complete. + }; + + // Return codes from the functions in this class. Remember to update GetStatusCodeName() if you add more. + // last value set to 0xff, then compiler uses less ram, it seems some optimisations are triggered + enum StatusCode : byte { + STATUS_OK , // Success + STATUS_ERROR , // Error in communication + STATUS_COLLISION , // Collission detected + STATUS_TIMEOUT , // Timeout in communication. + STATUS_NO_ROOM , // A buffer is not big enough. + STATUS_INTERNAL_ERROR , // Internal error in the code. Should not happen ;-) + STATUS_INVALID , // Invalid argument. + STATUS_CRC_WRONG , // The CRC_A does not match + STATUS_MIFARE_NACK = 0xff // A MIFARE PICC responded with NAK. + }; + + // A struct used for passing the UID of a PICC. + typedef struct { + byte size; // Number of bytes in the UID. 4, 7 or 10. + byte uidByte[10]; + byte sak; // The SAK (Select acknowledge) byte returned from the PICC after successful selection. + } Uid; + + // A struct used for passing a MIFARE Crypto1 key + typedef struct { + byte keyByte[MF_KEY_SIZE]; + } MIFARE_Key; + + // Member variables + Uid uid; // Used by PICC_ReadCardSerial(). + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for setting up the Arduino + ///////////////////////////////////////////////////////////////////////////////////// + MFRC522(); + MFRC522(byte resetPowerDownPin); + MFRC522(byte chipSelectPin, byte resetPowerDownPin); + + ///////////////////////////////////////////////////////////////////////////////////// + // Basic interface functions for communicating with the MFRC522 + ///////////////////////////////////////////////////////////////////////////////////// + void PCD_WriteRegister(PCD_Register reg, byte value); + void PCD_WriteRegister(PCD_Register reg, byte count, byte *values); + byte PCD_ReadRegister(PCD_Register reg); + void PCD_ReadRegister(PCD_Register reg, byte count, byte *values, byte rxAlign = 0); + void PCD_SetRegisterBitMask(PCD_Register reg, byte mask); + void PCD_ClearRegisterBitMask(PCD_Register reg, byte mask); + StatusCode PCD_CalculateCRC(byte *data, byte length, byte *result); + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for manipulating the MFRC522 + ///////////////////////////////////////////////////////////////////////////////////// + void PCD_Init(); + void PCD_Init(byte resetPowerDownPin); + void PCD_Init(byte chipSelectPin, byte resetPowerDownPin); + void PCD_Reset(); + void PCD_AntennaOn(); + void PCD_AntennaOff(); + byte PCD_GetAntennaGain(); + void PCD_SetAntennaGain(byte mask); + bool PCD_PerformSelfTest(); + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for communicating with PICCs + ///////////////////////////////////////////////////////////////////////////////////// + StatusCode PCD_TransceiveData(byte *sendData, byte sendLen, byte *backData, byte *backLen, byte *validBits = NULL, byte rxAlign = 0, bool checkCRC = false); + StatusCode PCD_CommunicateWithPICC(byte command, byte waitIRq, byte *sendData, byte sendLen, byte *backData = NULL, byte *backLen = NULL, byte *validBits = NULL, byte rxAlign = 0, bool checkCRC = false); + StatusCode PICC_RequestA(byte *bufferATQA, byte *bufferSize); + StatusCode PICC_WakeupA(byte *bufferATQA, byte *bufferSize); + StatusCode PICC_REQA_or_WUPA(byte command, byte *bufferATQA, byte *bufferSize); + virtual StatusCode PICC_Select(Uid *uid, byte validBits = 0); + StatusCode PICC_HaltA(); + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for communicating with MIFARE PICCs + ///////////////////////////////////////////////////////////////////////////////////// + StatusCode PCD_Authenticate(byte command, byte blockAddr, MIFARE_Key *key, Uid *uid); + void PCD_StopCrypto1(); + StatusCode MIFARE_Read(byte blockAddr, byte *buffer, byte *bufferSize); + StatusCode MIFARE_Write(byte blockAddr, byte *buffer, byte bufferSize); + StatusCode MIFARE_Ultralight_Write(byte page, byte *buffer, byte bufferSize); + StatusCode MIFARE_Decrement(byte blockAddr, int32_t delta); + StatusCode MIFARE_Increment(byte blockAddr, int32_t delta); + StatusCode MIFARE_Restore(byte blockAddr); + StatusCode MIFARE_Transfer(byte blockAddr); + StatusCode MIFARE_GetValue(byte blockAddr, int32_t *value); + StatusCode MIFARE_SetValue(byte blockAddr, int32_t value); + StatusCode PCD_NTAG216_AUTH(byte *passWord, byte pACK[]); + + ///////////////////////////////////////////////////////////////////////////////////// + // Support functions + ///////////////////////////////////////////////////////////////////////////////////// + StatusCode PCD_MIFARE_Transceive(byte *sendData, byte sendLen, bool acceptTimeout = false); + // old function used too much memory, now name moved to flash; if you need char, copy from flash to memory + //const char *GetStatusCodeName(byte code); + static const __FlashStringHelper *GetStatusCodeName(StatusCode code); + static PICC_Type PICC_GetType(byte sak); + // old function used too much memory, now name moved to flash; if you need char, copy from flash to memory + //const char *PICC_GetTypeName(byte type); + static const __FlashStringHelper *PICC_GetTypeName(PICC_Type type); + + // Support functions for debuging + void PCD_DumpVersionToSerial(); + void PICC_DumpToSerial(Uid *uid); + void PICC_DumpDetailsToSerial(Uid *uid); + void PICC_DumpMifareClassicToSerial(Uid *uid, PICC_Type piccType, MIFARE_Key *key); + void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, byte sector); + void PICC_DumpMifareUltralightToSerial(); + + // Advanced functions for MIFARE + void MIFARE_SetAccessBits(byte *accessBitBuffer, byte g0, byte g1, byte g2, byte g3); + bool MIFARE_OpenUidBackdoor(bool logErrors); + bool MIFARE_SetUid(byte *newUid, byte uidSize, bool logErrors); + bool MIFARE_UnbrickUidSector(bool logErrors); + + ///////////////////////////////////////////////////////////////////////////////////// + // Convenience functions - does not add extra functionality + ///////////////////////////////////////////////////////////////////////////////////// + virtual bool PICC_IsNewCardPresent(); + virtual bool PICC_ReadCardSerial(); + +protected: + byte _chipSelectPin; // Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) + byte _resetPowerDownPin; // Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) + StatusCode MIFARE_TwoStepHelper(byte command, byte blockAddr, int32_t data); +}; + +#endif diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp b/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp new file mode 100644 index 0000000..da603ab --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp @@ -0,0 +1,1160 @@ +/* + * Library extends MFRC522.h to support RATS for ISO-14443-4 PICC. + * RATS - Request for Answer To Select. + * NOTE: Please also check the comments in MFRC522Extended.h + * @author JPG-Consulting +*/ + +#include "MFRC522Extended.h" + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for communicating with PICCs +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Transmits SELECT/ANTICOLLISION commands to select a single PICC. + * Before calling this function the PICCs must be placed in the READY(*) state by calling PICC_RequestA() or PICC_WakeupA(). + * On success: + * - The chosen PICC is in state ACTIVE(*) and all other PICCs have returned to state IDLE/HALT. (Figure 7 of the ISO/IEC 14443-3 draft.) + * - The UID size and value of the chosen PICC is returned in *uid along with the SAK. + * + * A PICC UID consists of 4, 7 or 10 bytes. + * Only 4 bytes can be specified in a SELECT command, so for the longer UIDs two or three iterations are used: + * UID size Number of UID bytes Cascade levels Example of PICC + * ======== =================== ============== =============== + * single 4 1 MIFARE Classic + * double 7 2 MIFARE Ultralight + * triple 10 3 Not currently in use? + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522Extended::PICC_Select( Uid *uid, ///< Pointer to Uid struct. Normally output, but can also be used to supply a known UID. + byte validBits ///< The number of known UID bits supplied in *uid. Normally 0. If set you must also supply uid->size. + ) { + bool uidComplete; + bool selectDone; + bool useCascadeTag; + byte cascadeLevel = 1; + MFRC522::StatusCode result; + byte count; + byte index; + byte uidIndex; // The first index in uid->uidByte[] that is used in the current Cascade Level. + int8_t currentLevelKnownBits; // The number of known UID bits in the current Cascade Level. + byte buffer[9]; // The SELECT/ANTICOLLISION commands uses a 7 byte standard frame + 2 bytes CRC_A + byte bufferUsed; // The number of bytes used in the buffer, ie the number of bytes to transfer to the FIFO. + byte rxAlign; // Used in BitFramingReg. Defines the bit position for the first bit received. + byte txLastBits; // Used in BitFramingReg. The number of valid bits in the last transmitted byte. + byte *responseBuffer; + byte responseLength; + + // Description of buffer structure: + // Byte 0: SEL Indicates the Cascade Level: PICC_CMD_SEL_CL1, PICC_CMD_SEL_CL2 or PICC_CMD_SEL_CL3 + // Byte 1: NVB Number of Valid Bits (in complete command, not just the UID): High nibble: complete bytes, Low nibble: Extra bits. + // Byte 2: UID-data or CT See explanation below. CT means Cascade Tag. + // Byte 3: UID-data + // Byte 4: UID-data + // Byte 5: UID-data + // Byte 6: BCC Block Check Character - XOR of bytes 2-5 + // Byte 7: CRC_A + // Byte 8: CRC_A + // The BCC and CRC_A are only transmitted if we know all the UID bits of the current Cascade Level. + // + // Description of bytes 2-5: (Section 6.5.4 of the ISO/IEC 14443-3 draft: UID contents and cascade levels) + // UID size Cascade level Byte2 Byte3 Byte4 Byte5 + // ======== ============= ===== ===== ===== ===== + // 4 bytes 1 uid0 uid1 uid2 uid3 + // 7 bytes 1 CT uid0 uid1 uid2 + // 2 uid3 uid4 uid5 uid6 + // 10 bytes 1 CT uid0 uid1 uid2 + // 2 CT uid3 uid4 uid5 + // 3 uid6 uid7 uid8 uid9 + + // Sanity checks + if (validBits > 80) { + return STATUS_INVALID; + } + + // Prepare MFRC522 + PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. + + // Repeat Cascade Level loop until we have a complete UID. + uidComplete = false; + while (!uidComplete) { + // Set the Cascade Level in the SEL byte, find out if we need to use the Cascade Tag in byte 2. + switch (cascadeLevel) { + case 1: + buffer[0] = PICC_CMD_SEL_CL1; + uidIndex = 0; + useCascadeTag = validBits && uid->size > 4; // When we know that the UID has more than 4 bytes + break; + + case 2: + buffer[0] = PICC_CMD_SEL_CL2; + uidIndex = 3; + useCascadeTag = validBits && uid->size > 7; // When we know that the UID has more than 7 bytes + break; + + case 3: + buffer[0] = PICC_CMD_SEL_CL3; + uidIndex = 6; + useCascadeTag = false; // Never used in CL3. + break; + + default: + return STATUS_INTERNAL_ERROR; + break; + } + + // How many UID bits are known in this Cascade Level? + currentLevelKnownBits = validBits - (8 * uidIndex); + if (currentLevelKnownBits < 0) { + currentLevelKnownBits = 0; + } + // Copy the known bits from uid->uidByte[] to buffer[] + index = 2; // destination index in buffer[] + if (useCascadeTag) { + buffer[index++] = PICC_CMD_CT; + } + byte bytesToCopy = currentLevelKnownBits / 8 + (currentLevelKnownBits % 8 ? 1 : 0); // The number of bytes needed to represent the known bits for this level. + if (bytesToCopy) { + byte maxBytes = useCascadeTag ? 3 : 4; // Max 4 bytes in each Cascade Level. Only 3 left if we use the Cascade Tag + if (bytesToCopy > maxBytes) { + bytesToCopy = maxBytes; + } + for (count = 0; count < bytesToCopy; count++) { + buffer[index++] = uid->uidByte[uidIndex + count]; + } + } + // Now that the data has been copied we need to include the 8 bits in CT in currentLevelKnownBits + if (useCascadeTag) { + currentLevelKnownBits += 8; + } + + // Repeat anti collision loop until we can transmit all UID bits + BCC and receive a SAK - max 32 iterations. + selectDone = false; + while (!selectDone) { + // Find out how many bits and bytes to send and receive. + if (currentLevelKnownBits >= 32) { // All UID bits in this Cascade Level are known. This is a SELECT. + //Serial.print(F("SELECT: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); + buffer[1] = 0x70; // NVB - Number of Valid Bits: Seven whole bytes + // Calculate BCC - Block Check Character + buffer[6] = buffer[2] ^ buffer[3] ^ buffer[4] ^ buffer[5]; + // Calculate CRC_A + result = PCD_CalculateCRC(buffer, 7, &buffer[7]); + if (result != STATUS_OK) { + return result; + } + txLastBits = 0; // 0 => All 8 bits are valid. + bufferUsed = 9; + // Store response in the last 3 bytes of buffer (BCC and CRC_A - not needed after tx) + responseBuffer = &buffer[6]; + responseLength = 3; + } + else { // This is an ANTICOLLISION. + //Serial.print(F("ANTICOLLISION: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); + txLastBits = currentLevelKnownBits % 8; + count = currentLevelKnownBits / 8; // Number of whole bytes in the UID part. + index = 2 + count; // Number of whole bytes: SEL + NVB + UIDs + buffer[1] = (index << 4) + txLastBits; // NVB - Number of Valid Bits + bufferUsed = index + (txLastBits ? 1 : 0); + // Store response in the unused part of buffer + responseBuffer = &buffer[index]; + responseLength = sizeof(buffer) - index; + } + + // Set bit adjustments + rxAlign = txLastBits; // Having a separate variable is overkill. But it makes the next line easier to read. + PCD_WriteRegister(BitFramingReg, (rxAlign << 4) + txLastBits); // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] + + // Transmit the buffer and receive the response. + result = PCD_TransceiveData(buffer, bufferUsed, responseBuffer, &responseLength, &txLastBits, rxAlign); + if (result == STATUS_COLLISION) { // More than one PICC in the field => collision. + byte valueOfCollReg = PCD_ReadRegister(CollReg); // CollReg[7..0] bits are: ValuesAfterColl reserved CollPosNotValid CollPos[4:0] + if (valueOfCollReg & 0x20) { // CollPosNotValid + return STATUS_COLLISION; // Without a valid collision position we cannot continue + } + byte collisionPos = valueOfCollReg & 0x1F; // Values 0-31, 0 means bit 32. + if (collisionPos == 0) { + collisionPos = 32; + } + if (collisionPos <= currentLevelKnownBits) { // No progress - should not happen + return STATUS_INTERNAL_ERROR; + } + // Choose the PICC with the bit set. + currentLevelKnownBits = collisionPos; + count = (currentLevelKnownBits - 1) % 8; // The bit to modify + index = 1 + (currentLevelKnownBits / 8) + (count ? 1 : 0); // First byte is index 0. + buffer[index] |= (1 << count); + } + else if (result != STATUS_OK) { + return result; + } + else { // STATUS_OK + if (currentLevelKnownBits >= 32) { // This was a SELECT. + selectDone = true; // No more anticollision + // We continue below outside the while. + } + else { // This was an ANTICOLLISION. + // We now have all 32 bits of the UID in this Cascade Level + currentLevelKnownBits = 32; + // Run loop again to do the SELECT. + } + } + } // End of while (!selectDone) + + // We do not check the CBB - it was constructed by us above. + + // Copy the found UID bytes from buffer[] to uid->uidByte[] + index = (buffer[2] == PICC_CMD_CT) ? 3 : 2; // source index in buffer[] + bytesToCopy = (buffer[2] == PICC_CMD_CT) ? 3 : 4; + for (count = 0; count < bytesToCopy; count++) { + uid->uidByte[uidIndex + count] = buffer[index++]; + } + + // Check response SAK (Select Acknowledge) + if (responseLength != 3 || txLastBits != 0) { // SAK must be exactly 24 bits (1 byte + CRC_A). + return STATUS_ERROR; + } + // Verify CRC_A - do our own calculation and store the control in buffer[2..3] - those bytes are not needed anymore. + result = PCD_CalculateCRC(responseBuffer, 1, &buffer[2]); + if (result != STATUS_OK) { + return result; + } + if ((buffer[2] != responseBuffer[1]) || (buffer[3] != responseBuffer[2])) { + return STATUS_CRC_WRONG; + } + if (responseBuffer[0] & 0x04) { // Cascade bit set - UID not complete yes + cascadeLevel++; + } + else { + uidComplete = true; + uid->sak = responseBuffer[0]; + } + } // End of while (!uidComplete) + + // Set correct uid->size + uid->size = 3 * cascadeLevel + 1; + + // IF SAK bit 6 = 1 then it is ISO/IEC 14443-4 (T=CL) + // A Request ATS command should be sent + // We also check SAK bit 3 is cero, as it stands for UID complete (1 would tell us it is incomplete) + if ((uid->sak & 0x24) == 0x20) { + Ats ats; + result = PICC_RequestATS(&ats); + if (result == STATUS_OK) { + // Check the ATS + if (ats.size > 0) + { + // TA1 has been transmitted? + // PPS must be supported... + if (ats.ta1.transmitted) + { + // TA1 + // 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | Description + // ---+---+---+---+---+---+---+---+------------------------------------------ + // 0 | - | - | - | 0 | - | - | - | Different D for each direction supported + // 1 | - | - | - | 0 | - | - | - | Only same D for both direction supported + // - | x | x | x | 0 | - | - | - | DS (Send D) + // - | - | - | - | 0 | x | x | x | DR (Receive D) + // + // D to bitrate table + // 3 | 2 | 1 | Value + // ---+---+---+----------------------------- + // 1 | - | - | 848 kBaud is supported + // - | 1 | - | 424 kBaud is supported + // - | - | 1 | 212 kBaud is supported + // 0 | 0 | 0 | Only 106 kBaud is supported + // + // Note: 106 kBaud is always supported + // + // I have almost constant timeouts when changing speeds :( + // default never used, so only delarate + //TagBitRates ds = BITRATE_106KBITS; + //TagBitRates dr = BITRATE_106KBITS; + TagBitRates ds; + TagBitRates dr; + + //// TODO Not working at 848 or 424 + //if (ats.ta1.ds & 0x04) + //{ + // ds = BITRATE_848KBITS; + //} + //else if (ats.ta1.ds & 0x02) + //{ + // ds = BITRATE_424KBITS; + //} + //else if (ats.ta1.ds & 0x01) + //{ + // ds = BITRATE_212KBITS; + //} + //else + //{ + // ds = BITRATE_106KBITS; + //} + + if (ats.ta1.ds & 0x01) + { + ds = BITRATE_212KBITS; + } + else + { + ds = BITRATE_106KBITS; + } + + //// Not working at 848 or 424 + //if (ats.ta1.dr & 0x04) + //{ + // dr = BITRATE_848KBITS; + //} + //else if (ats.ta1.dr & 0x02) + //{ + // dr = BITRATE_424KBITS; + //} + //else if (ats.ta1.dr & 0x01) + //{ + // dr = BITRATE_212KBITS; + //} + //else + //{ + // dr = BITRATE_106KBITS; + //} + + if (ats.ta1.dr & 0x01) + { + dr = BITRATE_212KBITS; + } + else + { + dr = BITRATE_106KBITS; + } + + PICC_PPS(ds, dr); + } + } + } + } + + return STATUS_OK; +} // End PICC_Select() + +/** + * Transmits a Request command for Answer To Select (ATS). + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522Extended::PICC_RequestATS(Ats *ats) +{ + // TODO unused variable + //byte count; + MFRC522::StatusCode result; + + byte bufferATS[FIFO_SIZE]; + byte bufferSize = FIFO_SIZE; + + memset(bufferATS, 0, FIFO_SIZE); + + // Build command buffer + bufferATS[0] = PICC_CMD_RATS; + + // The CID defines the logical number of the addressed card and has a range of 0 + // through 14; 15 is reserved for future use (RFU). + // + // FSDI codes the maximum frame size (FSD) that the terminal can receive. + // + // FSDI | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9-F + // ------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------- + // FSD (bytes) | 16 | 24 | 32 | 40 | 48 | 64 | 96 | 128 | 256 | RFU > 256 + // + bufferATS[1] = 0x50; // FSD=64, CID=0 + + // Calculate CRC_A + result = PCD_CalculateCRC(bufferATS, 2, &bufferATS[2]); + if (result != STATUS_OK) { + return result; + } + + // Transmit the buffer and receive the response, validate CRC_A. + result = PCD_TransceiveData(bufferATS, 4, bufferATS, &bufferSize, NULL, 0, true); + if (result != STATUS_OK) { + PICC_HaltA(); + } + + // Set the ats structure data + ats->size = bufferATS[0]; + + // T0 byte: + // + // b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | Meaning + //----+----+----+----+----+----+----+----+--------------------------- + // 0 | ...| ...| ...| ...|... | ...| ...| Set to 0 (RFU) + // 0 | 1 | x | x | ...|... | ...| ...| TC1 transmitted + // 0 | x | 1 | x | ...|... | ...| ...| TB1 transmitted + // 0 | x | x | 1 | ...|... | ...| ...| TA1 transmitted + // 0 | ...| ...| ...| x | x | x | x | Maximum frame size (FSCI) + // + // FSCI | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9-F + // ------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------- + // FSC (bytes) | 16 | 24 | 32 | 40 | 48 | 64 | 96 | 128 | 256 | RFU > 256 + // + // Default FSCI is 2 (32 bytes) + if (ats->size > 0x01) + { + // TC1, TB1 and TA1 where NOT transmitted + ats->ta1.transmitted = (bool)(bufferATS[1] & 0x40); + ats->tb1.transmitted = (bool)(bufferATS[1] & 0x20); + ats->tc1.transmitted = (bool)(bufferATS[1] & 0x10); + + // Decode FSCI + switch (bufferATS[1] & 0x0F) + { + case 0x00: + ats->fsc = 16; + break; + case 0x01: + ats->fsc = 24; + break; + case 0x02: + ats->fsc = 32; + break; + case 0x03: + ats->fsc = 40; + break; + case 0x04: + ats->fsc = 48; + break; + case 0x05: + ats->fsc = 64; + break; + case 0x06: + ats->fsc = 96; + break; + case 0x07: + ats->fsc = 128; + break; + case 0x08: + // This value cannot be hold by a byte + // The reason I ignore it is that MFRC255 FIFO is 64 bytes so this is not a possible value (or atleast it shouldn't) + //ats->fsc = 256; + break; + // TODO: What to do with RFU (Reserved for future use)? + default: + break; + } + + // TA1 + if (ats->ta1.transmitted) + { + ats->ta1.sameD = (bool)(bufferATS[2] & 0x80); + ats->ta1.ds = (TagBitRates)((bufferATS[2] & 0x70) >> 4); + ats->ta1.dr = (TagBitRates)(bufferATS[2] & 0x07); + } + else + { + // Default TA1 + ats->ta1.ds = BITRATE_106KBITS; + ats->ta1.dr = BITRATE_106KBITS; + } + + // TB1 + if (ats->tb1.transmitted) + { + uint8_t tb1Index = 2; + + if (ats->ta1.transmitted) + tb1Index++; + + ats->tb1.fwi = (bufferATS[tb1Index] & 0xF0) >> 4; + ats->tb1.sfgi = bufferATS[tb1Index] & 0x0F; + } + else + { + // Defaults for TB1 + ats->tb1.fwi = 0; // TODO: Don't know the default for this! + ats->tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) + } + + // TC1 + if (ats->tc1.transmitted) + { + uint8_t tc1Index = 2; + + if (ats->ta1.transmitted) + tc1Index++; + if (ats->tb1.transmitted) + tc1Index++; + + ats->tc1.supportsCID = (bool)(bufferATS[tc1Index] & 0x02); + ats->tc1.supportsNAD = (bool)(bufferATS[tc1Index] & 0x01); + } + else + { + // Defaults for TC1 + ats->tc1.supportsCID = true; + ats->tc1.supportsNAD = false; + } + } + else + { + // TC1, TB1 and TA1 where NOT transmitted + ats->ta1.transmitted = false; + ats->tb1.transmitted = false; + ats->tc1.transmitted = false; + + // Default FSCI + ats->fsc = 32; // Defaults to FSCI 2 (32 bytes) + + // Default TA1 + ats->ta1.sameD = false; + ats->ta1.ds = BITRATE_106KBITS; + ats->ta1.dr = BITRATE_106KBITS; + + // Defaults for TB1 + ats->tb1.transmitted = false; + ats->tb1.fwi = 0; // TODO: Don't know the default for this! + ats->tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) + + // Defaults for TC1 + ats->tc1.transmitted = false; + ats->tc1.supportsCID = true; + ats->tc1.supportsNAD = false; + } + + memcpy(ats->data, bufferATS, bufferSize - 2); + + return result; +} // End PICC_RequestATS() + +/** + * Transmits Protocol and Parameter Selection Request (PPS) without parameter 1 + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522Extended::PICC_PPS() +{ + StatusCode result; + + byte ppsBuffer[4]; + byte ppsBufferSize = 4; + // Start byte: The start byte (PPS) consists of two parts: + // –The upper nibble(b8–b5) is set to’D'to identify the PPS. All other values are RFU. + // -The lower nibble(b4–b1), which is called the ‘card identifier’ (CID), defines the logical number of the addressed card. + ppsBuffer[0] = 0xD0; // CID is hardcoded as 0 in RATS + ppsBuffer[1] = 0x00; // PPS0 indicates whether PPS1 is present + + // Calculate CRC_A + result = PCD_CalculateCRC(ppsBuffer, 2, &ppsBuffer[2]); + if (result != STATUS_OK) { + return result; + } + + // Transmit the buffer and receive the response, validate CRC_A. + result = PCD_TransceiveData(ppsBuffer, 4, ppsBuffer, &ppsBufferSize, NULL, 0, true); + if (result == STATUS_OK) + { + // Enable CRC for T=CL + byte txReg = PCD_ReadRegister(TxModeReg) | 0x80; + byte rxReg = PCD_ReadRegister(RxModeReg) | 0x80; + + PCD_WriteRegister(TxModeReg, txReg); + PCD_WriteRegister(RxModeReg, rxReg); + } + + return result; +} // End PICC_PPS() + +/** + * Transmits Protocol and Parameter Selection Request (PPS) + * + * @return STATUS_OK on success, STATUS_??? otherwise. + */ +MFRC522::StatusCode MFRC522Extended::PICC_PPS(TagBitRates sendBitRate, ///< DS + TagBitRates receiveBitRate ///< DR +) { + StatusCode result; + + // TODO not used + //byte txReg = PCD_ReadRegister(TxModeReg) & 0x8F; + //byte rxReg = PCD_ReadRegister(RxModeReg) & 0x8F; + + byte ppsBuffer[5]; + byte ppsBufferSize = 5; + // Start byte: The start byte (PPS) consists of two parts: + // –The upper nibble(b8–b5) is set to’D'to identify the PPS. All other values are RFU. + // -The lower nibble(b4–b1), which is called the ‘card identifier’ (CID), defines the logical number of the addressed card. + ppsBuffer[0] = 0xD0; // CID is hardcoded as 0 in RATS + ppsBuffer[1] = 0x11; // PPS0 indicates whether PPS1 is present + + // Bit 8 - Set to '0' as MFRC522 allows different bit rates for send and receive + // Bit 4 - Set to '0' as it is Reserved for future use. + //ppsBuffer[2] = (((sendBitRate & 0x03) << 4) | (receiveBitRate & 0x03)) & 0xE7; + ppsBuffer[2] = (((sendBitRate & 0x03) << 2) | (receiveBitRate & 0x03)) & 0xE7; + + // Calculate CRC_A + result = PCD_CalculateCRC(ppsBuffer, 3, &ppsBuffer[3]); + if (result != STATUS_OK) { + return result; + } + + // Transmit the buffer and receive the response, validate CRC_A. + result = PCD_TransceiveData(ppsBuffer, 5, ppsBuffer, &ppsBufferSize, NULL, 0, true); + if (result == STATUS_OK) + { + // Make sure it is an answer to our PPS + // We should receive our PPS byte and 2 CRC bytes + if ((ppsBufferSize == 3) && (ppsBuffer[0] == 0xD0)) { + byte txReg = PCD_ReadRegister(TxModeReg) & 0x8F; + byte rxReg = PCD_ReadRegister(RxModeReg) & 0x8F; + + // Set bit rate and enable CRC for T=CL + txReg = (txReg & 0x8F) | ((receiveBitRate & 0x03) << 4) | 0x80; + rxReg = (rxReg & 0x8F) | ((sendBitRate & 0x03) << 4) | 0x80; + rxReg &= 0xF0; //Enforce although this should be set already + + // From ConfigIsoType + //rxReg |= 0x06; + + PCD_WriteRegister(TxModeReg, txReg); + PCD_WriteRegister(RxModeReg, rxReg); + + // At 212kBps + switch (sendBitRate) { + case BITRATE_212KBITS: + { + //PCD_WriteRegister(ModWidthReg, 0x13); + PCD_WriteRegister(ModWidthReg, 0x15); + } + break; + case BITRATE_424KBITS: + { + PCD_WriteRegister(ModWidthReg, 0x0A); + } + break; + case BITRATE_848KBITS: + { + PCD_WriteRegister(ModWidthReg, 0x05); + } + break; + default: + { + PCD_WriteRegister(ModWidthReg, 0x26); // Default value + } + break; + } + + //PCD_WriteRegister(RxThresholdReg, 0x84); // ISO-14443.4 Type A (default) + //PCD_WriteRegister(ControlReg, 0x10); + + delayMicroseconds(10); + } + else + { + return STATUS_ERROR; + } + } + + return result; +} // End PICC_PPS() + + +///////////////////////////////////////////////////////////////////////////////////// +// Functions for communicating with ISO/IEC 14433-4 cards +///////////////////////////////////////////////////////////////////////////////////// + +MFRC522::StatusCode MFRC522Extended::TCL_Transceive(PcbBlock *send, PcbBlock *back) +{ + MFRC522::StatusCode result; + byte inBuffer[FIFO_SIZE]; + byte inBufferSize = FIFO_SIZE; + byte outBuffer[send->inf.size + 5]; // PCB + CID + NAD + INF + EPILOGUE (CRC) + byte outBufferOffset = 1; + byte inBufferOffset = 1; + + // Set the PCB byte + outBuffer[0] = send->prologue.pcb; + + // Set the CID byte if available + if (send->prologue.pcb & 0x08) { + outBuffer[outBufferOffset] = send->prologue.cid; + outBufferOffset++; + } + + // Set the NAD byte if available + if (send->prologue.pcb & 0x04) { + outBuffer[outBufferOffset] = send->prologue.nad; + outBufferOffset++; + } + + // Copy the INF field if available + if (send->inf.size > 0) { + memcpy(&outBuffer[outBufferOffset], send->inf.data, send->inf.size); + outBufferOffset += send->inf.size; + } + + // Is the CRC enabled for transmission? + byte txModeReg = PCD_ReadRegister(TxModeReg); + if ((txModeReg & 0x80) != 0x80) { + // Calculate CRC_A + result = PCD_CalculateCRC(outBuffer, outBufferOffset, &outBuffer[outBufferOffset]); + if (result != STATUS_OK) { + return result; + } + + outBufferOffset += 2; + } + + // Transceive the block + result = PCD_TransceiveData(outBuffer, outBufferOffset, inBuffer, &inBufferSize); + if (result != STATUS_OK) { + return result; + } + + // We want to turn the received array back to a PcbBlock + back->prologue.pcb = inBuffer[0]; + + // CID byte is present? + if (send->prologue.pcb & 0x08) { + back->prologue.cid = inBuffer[inBufferOffset]; + inBufferOffset++; + } + + // NAD byte is present? + if (send->prologue.pcb & 0x04) { + back->prologue.nad = inBuffer[inBufferOffset]; + inBufferOffset++; + } + + // Check if CRC is taken care of by MFRC522 + byte rxModeReg = PCD_ReadRegister(TxModeReg); + if ((rxModeReg & 0x80) != 0x80) { + Serial.print("CRC is not taken care of by MFRC522: "); + Serial.println(rxModeReg, HEX); + + // Check the CRC + // We need at least the CRC_A value. + if ((int)(inBufferSize - inBufferOffset) < 2) { + return STATUS_CRC_WRONG; + } + + // Verify CRC_A - do our own calculation and store the control in controlBuffer. + byte controlBuffer[2]; + MFRC522::StatusCode status = PCD_CalculateCRC(inBuffer, inBufferSize - 2, controlBuffer); + if (status != STATUS_OK) { + return status; + } + + if ((inBuffer[inBufferSize - 2] != controlBuffer[0]) || (inBuffer[inBufferSize - 1] != controlBuffer[1])) { + return STATUS_CRC_WRONG; + } + + // Take away the CRC bytes + inBufferSize -= 2; + } + + // Got more data? + if (inBufferSize > inBufferOffset) { + if ((inBufferSize - inBufferOffset) > back->inf.size) { + return STATUS_NO_ROOM; + } + + memcpy(back->inf.data, &inBuffer[inBufferOffset], inBufferSize - inBufferOffset); + back->inf.size = inBufferSize - inBufferOffset; + } else { + back->inf.size = 0; + } + + // If the response is a R-Block check NACK + if (((inBuffer[0] & 0xC0) == 0x80) && (inBuffer[0] & 0x20)) { + return STATUS_MIFARE_NACK; + } + + return result; +} +/** + * Send an I-Block (Application) + */ +MFRC522::StatusCode MFRC522Extended::TCL_Transceive(TagInfo *tag, byte *sendData, byte sendLen, byte *backData, byte *backLen) +{ + MFRC522::StatusCode result; + + PcbBlock out; + PcbBlock in; + byte outBuffer[FIFO_SIZE]; + byte outBufferSize = FIFO_SIZE; + byte totalBackLen = *backLen; + + // This command sends an I-Block + out.prologue.pcb = 0x02; + + if (tag->ats.tc1.supportsCID) { + out.prologue.pcb |= 0x08; + out.prologue.cid = 0x00; // CID is curentlly hardcoded as 0x00 + } + + // This command doe not support NAD + out.prologue.pcb &= 0xFB; + out.prologue.nad = 0x00; + + // Set the block number + if (tag->blockNumber) { + out.prologue.pcb |= 0x01; + } + + // Do we have data to send? + if (sendData && (sendLen > 0)) { + out.inf.size = sendLen; + out.inf.data = sendData; + } else { + out.inf.size = 0; + out.inf.data = NULL; + } + + // Initialize the receiving data + // TODO Warning: Value escapes the local scope + in.inf.data = outBuffer; + in.inf.size = outBufferSize; + + result = TCL_Transceive(&out, &in); + if (result != STATUS_OK) { + return result; + } + + // Swap block number on success + tag->blockNumber = !tag->blockNumber; + + if (backData && (backLen > 0)) { + if (*backLen < in.inf.size) + return STATUS_NO_ROOM; + + *backLen = in.inf.size; + memcpy(backData, in.inf.data, in.inf.size); + } + + // Check chaining + if ((in.prologue.pcb & 0x10) == 0x00) + return result; + + // Result is chained + // Send an ACK to receive more data + // TODO: Should be checked I've never needed to send an ACK + while (in.prologue.pcb & 0x10) { + byte ackData[FIFO_SIZE]; + byte ackDataSize = FIFO_SIZE; + + result = TCL_TransceiveRBlock(tag, true, ackData, &ackDataSize); + if (result != STATUS_OK) + return result; + + if (backData && (backLen > 0)) { + if ((*backLen + ackDataSize) > totalBackLen) + return STATUS_NO_ROOM; + + memcpy(&(backData[*backLen]), ackData, ackDataSize); + *backLen += ackDataSize; + } + } + + return result; +} // End TCL_Transceive() + +/** + * Send R-Block to the PICC. + */ +MFRC522::StatusCode MFRC522Extended::TCL_TransceiveRBlock(TagInfo *tag, bool ack, byte *backData, byte *backLen) +{ + MFRC522::StatusCode result; + + PcbBlock out; + PcbBlock in; + byte outBuffer[FIFO_SIZE]; + byte outBufferSize = FIFO_SIZE; + + // This command sends an R-Block + if (ack) + out.prologue.pcb = 0xA2; // ACK + else + out.prologue.pcb = 0xB2; // NAK + + + if (tag->ats.tc1.supportsCID) { + out.prologue.pcb |= 0x08; + out.prologue.cid = 0x00; // CID is curentlly hardcoded as 0x00 + } + + // This command doe not support NAD + out.prologue.pcb &= 0xFB; + out.prologue.nad = 0x00; + + // Set the block number + if (tag->blockNumber) { + out.prologue.pcb |= 0x01; + } + + // No INF data for R-Block + out.inf.size = 0; + out.inf.data = NULL; + + // Initialize the receiving data + // TODO Warning: Value escapes the local scope + in.inf.data = outBuffer; + in.inf.size = outBufferSize; + + result = TCL_Transceive(&out, &in); + if (result != STATUS_OK) { + return result; + } + + // Swap block number on success + tag->blockNumber = !tag->blockNumber; + + if (backData && backLen) { + if (*backLen < in.inf.size) + return STATUS_NO_ROOM; + + *backLen = in.inf.size; + memcpy(backData, in.inf.data, in.inf.size); + } + + return result; +} // End TCL_TransceiveRBlock() + +/** + * Send an S-Block to deselect the card. + */ +MFRC522::StatusCode MFRC522Extended::TCL_Deselect(TagInfo *tag) +{ + MFRC522::StatusCode result; + byte outBuffer[4]; + byte outBufferSize = 1; + byte inBuffer[FIFO_SIZE]; + byte inBufferSize = FIFO_SIZE; + + outBuffer[0] = 0xC2; + if (tag->ats.tc1.supportsCID) + { + outBuffer[0] |= 0x08; + outBuffer[1] = 0x00; // CID is hardcoded + outBufferSize = 2; + } + + result = PCD_TransceiveData(outBuffer, outBufferSize, inBuffer, &inBufferSize); + if (result != STATUS_OK) { + return result; + } + + // TODO:Maybe do some checks? In my test it returns: CA 00 (Same data as I sent to my card) + + return result; +} // End TCL_Deselect() + +///////////////////////////////////////////////////////////////////////////////////// +// Support functions +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Get the PICC type. + * + * @return PICC_Type + */ +MFRC522::PICC_Type MFRC522Extended::PICC_GetType(TagInfo *tag ///< The TagInfo returned from PICC_Select(). +) { + // http://www.nxp.com/documents/application_note/AN10833.pdf + // 3.2 Coding of Select Acknowledge (SAK) + // ignore 8-bit (iso14443 starts with LSBit = bit 1) + // fixes wrong type for manufacturer Infineon (http://nfc-tools.org/index.php?title=ISO14443A) + byte sak = tag->uid.sak & 0x7F; + switch (sak) { + case 0x04: return PICC_TYPE_NOT_COMPLETE; // UID not complete + case 0x09: return PICC_TYPE_MIFARE_MINI; + case 0x08: return PICC_TYPE_MIFARE_1K; + case 0x18: return PICC_TYPE_MIFARE_4K; + case 0x00: return PICC_TYPE_MIFARE_UL; + case 0x10: + case 0x11: return PICC_TYPE_MIFARE_PLUS; + case 0x01: return PICC_TYPE_TNP3XXX; + case 0x20: + if (tag->atqa == 0x0344) + return PICC_TYPE_MIFARE_DESFIRE; + return PICC_TYPE_ISO_14443_4; + case 0x40: return PICC_TYPE_ISO_18092; + default: return PICC_TYPE_UNKNOWN; + } +} // End PICC_GetType() + +/** + * Dumps debug info about the selected PICC to Serial. + * On success the PICC is halted after dumping the data. + * For MIFARE Classic the factory default key of 0xFFFFFFFFFFFF is tried. + */ +void MFRC522Extended::PICC_DumpToSerial(TagInfo *tag) +{ + MIFARE_Key key; + + // Dump UID, SAK and Type + PICC_DumpDetailsToSerial(tag); + + // Dump contents + PICC_Type piccType = MFRC522::PICC_GetType(tag->uid.sak); + switch (piccType) { + case PICC_TYPE_MIFARE_MINI: + case PICC_TYPE_MIFARE_1K: + case PICC_TYPE_MIFARE_4K: + // All keys are set to FFFFFFFFFFFFh at chip delivery from the factory. + for (byte i = 0; i < 6; i++) { + key.keyByte[i] = 0xFF; + } + PICC_DumpMifareClassicToSerial(&tag->uid, piccType, &key); + break; + + case PICC_TYPE_MIFARE_UL: + PICC_DumpMifareUltralightToSerial(); + break; + + case PICC_TYPE_ISO_14443_4: + case PICC_TYPE_MIFARE_DESFIRE: + PICC_DumpISO14443_4(tag); + Serial.println(F("Dumping memory contents not implemented for that PICC type.")); + break; + case PICC_TYPE_ISO_18092: + case PICC_TYPE_MIFARE_PLUS: + case PICC_TYPE_TNP3XXX: + Serial.println(F("Dumping memory contents not implemented for that PICC type.")); + break; + + case PICC_TYPE_UNKNOWN: + case PICC_TYPE_NOT_COMPLETE: + default: + break; // No memory dump here + } + + Serial.println(); + PICC_HaltA(); // Already done if it was a MIFARE Classic PICC. +} + +/** + * Dumps card info (UID,SAK,Type) about the selected PICC to Serial. + */ +void MFRC522Extended::PICC_DumpDetailsToSerial(TagInfo *tag ///< Pointer to TagInfo struct returned from a successful PICC_Select(). +) { + // ATQA + Serial.print(F("Card ATQA:")); + if (((tag->atqa & 0xFF00u) >> 8) < 0x10) + Serial.print(F(" 0")); + Serial.print((tag->atqa & 0xFF00u) >> 8, HEX); + if ((tag->atqa & 0x00FFu) < 0x10) + Serial.print(F("0")); + else + Serial.print(F(" ")); + Serial.println(tag->atqa & 0x00FFu, HEX); + + // UID + Serial.print(F("Card UID:")); + for (byte i = 0; i < tag->uid.size; i++) { + if (tag->uid.uidByte[i] < 0x10) + Serial.print(F(" 0")); + else + Serial.print(F(" ")); + Serial.print(tag->uid.uidByte[i], HEX); + } + Serial.println(); + + // SAK + Serial.print(F("Card SAK: ")); + if (tag->uid.sak < 0x10) + Serial.print(F("0")); + Serial.println(tag->uid.sak, HEX); + + // (suggested) PICC type + PICC_Type piccType = PICC_GetType(tag); + Serial.print(F("PICC type: ")); + Serial.println(PICC_GetTypeName(piccType)); +} // End PICC_DumpDetailsToSerial() + +/** + * Dumps memory contents of a ISO-14443-4 PICC. + */ +void MFRC522Extended::PICC_DumpISO14443_4(TagInfo *tag) +{ + // ATS + if (tag->ats.size > 0x00) { // The first byte is the ATS length including the length byte + Serial.print(F("Card ATS:")); + for (byte offset = 0; offset < tag->ats.size; offset++) { + if (tag->ats.data[offset] < 0x10) + Serial.print(F(" 0")); + else + Serial.print(F(" ")); + Serial.print(tag->ats.data[offset], HEX); + } + Serial.println(); + } + +} // End PICC_DumpISO14443_4 + +///////////////////////////////////////////////////////////////////////////////////// +// Convenience functions - does not add extra functionality +///////////////////////////////////////////////////////////////////////////////////// + +/** + * Returns true if a PICC responds to PICC_CMD_REQA. + * Only "new" cards in state IDLE are invited. Sleeping cards in state HALT are ignored. + * + * @return bool + */ +bool MFRC522Extended::PICC_IsNewCardPresent() { + byte bufferATQA[2]; + byte bufferSize = sizeof(bufferATQA); + + // Reset baud rates + PCD_WriteRegister(TxModeReg, 0x00); + PCD_WriteRegister(RxModeReg, 0x00); + // Reset ModWidthReg + PCD_WriteRegister(ModWidthReg, 0x26); + + MFRC522::StatusCode result = PICC_RequestA(bufferATQA, &bufferSize); + + if (result == STATUS_OK || result == STATUS_COLLISION) { + tag.atqa = ((uint16_t)bufferATQA[1] << 8) | bufferATQA[0]; + tag.ats.size = 0; + tag.ats.fsc = 32; // default FSC value + + // Defaults for TA1 + tag.ats.ta1.transmitted = false; + tag.ats.ta1.sameD = false; + tag.ats.ta1.ds = MFRC522Extended::BITRATE_106KBITS; + tag.ats.ta1.dr = MFRC522Extended::BITRATE_106KBITS; + + // Defaults for TB1 + tag.ats.tb1.transmitted = false; + tag.ats.tb1.fwi = 0; // TODO: Don't know the default for this! + tag.ats.tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) + + // Defaults for TC1 + tag.ats.tc1.transmitted = false; + tag.ats.tc1.supportsCID = true; + tag.ats.tc1.supportsNAD = false; + + memset(tag.ats.data, 0, FIFO_SIZE - 2); + + tag.blockNumber = false; + return true; + } + return false; +} // End PICC_IsNewCardPresent() + +/** + * Simple wrapper around PICC_Select. + * Returns true if a UID could be read. + * Remember to call PICC_IsNewCardPresent(), PICC_RequestA() or PICC_WakeupA() first. + * The read UID is available in the class variable uid. + * + * @return bool + */ +bool MFRC522Extended::PICC_ReadCardSerial() { + MFRC522::StatusCode result = PICC_Select(&tag.uid); + + // Backward compatibility + uid.size = tag.uid.size; + uid.sak = tag.uid.sak; + memcpy(uid.uidByte, tag.uid.uidByte, sizeof(tag.uid.uidByte)); + + return (result == STATUS_OK); +} // End diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h b/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h new file mode 100644 index 0000000..9fd8ff8 --- /dev/null +++ b/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h @@ -0,0 +1,120 @@ +/** + * Library extends MFRC522.h to support RATS for ISO-14443-4 PICC. + * RATS - Request for Answer To Select. + * @author JPG-Consulting + */ +#ifndef MFRC522Extended_h +#define MFRC522Extended_h + +#include +#include "MFRC522.h" + +class MFRC522Extended : public MFRC522 { + +public: + // ISO/IEC 14443-4 bit rates + enum TagBitRates : byte { + BITRATE_106KBITS = 0x00, + BITRATE_212KBITS = 0x01, + BITRATE_424KBITS = 0x02, + BITRATE_848KBITS = 0x03 + }; + + // Structure to store ISO/IEC 14443-4 ATS + typedef struct { + byte size; + byte fsc; // Frame size for proximity card + + struct { + bool transmitted; + bool sameD; // Only the same D for both directions supported + TagBitRates ds; // Send D + TagBitRates dr; // Receive D + } ta1; + + struct { + bool transmitted; + byte fwi; // Frame waiting time integer + byte sfgi; // Start-up frame guard time integer + } tb1; + + struct { + bool transmitted; + bool supportsCID; + bool supportsNAD; + } tc1; + + // Raw data from ATS + byte data[FIFO_SIZE - 2]; // ATS cannot be bigger than FSD - 2 bytes (CRC), according to ISO 14443-4 5.2.2 + } Ats; + + // A struct used for passing the PICC information + typedef struct { + uint16_t atqa; + Uid uid; + Ats ats; + + // For Block PCB + bool blockNumber; + } TagInfo; + + // A struct used for passing PCB Block + typedef struct { + struct { + byte pcb; + byte cid; + byte nad; + } prologue; + struct { + byte size; + byte *data; + } inf; + } PcbBlock; + + // Member variables + TagInfo tag; + + ///////////////////////////////////////////////////////////////////////////////////// + // Contructors + ///////////////////////////////////////////////////////////////////////////////////// + MFRC522Extended() : MFRC522() {}; + MFRC522Extended(uint8_t rst) : MFRC522(rst) {}; + MFRC522Extended(uint8_t ss, uint8_t rst) : MFRC522(ss, rst) {}; + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for communicating with PICCs + ///////////////////////////////////////////////////////////////////////////////////// + StatusCode PICC_Select(Uid *uid, byte validBits = 0) override; // overrride + StatusCode PICC_RequestATS(Ats *ats); + StatusCode PICC_PPS(); // PPS command without bitrate parameter + StatusCode PICC_PPS(TagBitRates sendBitRate, TagBitRates receiveBitRate); // Different D values + + ///////////////////////////////////////////////////////////////////////////////////// + // Functions for communicating with ISO/IEC 14433-4 cards + ///////////////////////////////////////////////////////////////////////////////////// + StatusCode TCL_Transceive(PcbBlock *send, PcbBlock *back); + StatusCode TCL_Transceive(TagInfo * tag, byte *sendData, byte sendLen, byte *backData = NULL, byte *backLen = NULL); + StatusCode TCL_TransceiveRBlock(TagInfo *tag, bool ack, byte *backData = NULL, byte *backLen = NULL); + StatusCode TCL_Deselect(TagInfo *tag); + + ///////////////////////////////////////////////////////////////////////////////////// + // Support functions + ///////////////////////////////////////////////////////////////////////////////////// + static PICC_Type PICC_GetType(TagInfo *tag); + using MFRC522::PICC_GetType;// // make old PICC_GetType(byte sak) available, otherwise would be hidden by PICC_GetType(TagInfo *tag) + + // Support functions for debuging + void PICC_DumpToSerial(TagInfo *tag); + using MFRC522::PICC_DumpToSerial; // make old PICC_DumpToSerial(Uid *uid) available, otherwise would be hidden by PICC_DumpToSerial(TagInfo *tag) + void PICC_DumpDetailsToSerial(TagInfo *tag); + using MFRC522::PICC_DumpDetailsToSerial; // make old PICC_DumpDetailsToSerial(Uid *uid) available, otherwise would be hidden by PICC_DumpDetailsToSerial(TagInfo *tag) + void PICC_DumpISO14443_4(TagInfo *tag); + + ///////////////////////////////////////////////////////////////////////////////////// + // Convenience functions - does not add extra functionality + ///////////////////////////////////////////////////////////////////////////////////// + bool PICC_IsNewCardPresent() override; // overrride + bool PICC_ReadCardSerial() override; // overrride +}; + +#endif diff --git a/SD_Makefile_Build/libs/SPI b/SD_Makefile_Build/libs/SPI new file mode 160000 index 0000000..a8af486 --- /dev/null +++ b/SD_Makefile_Build/libs/SPI @@ -0,0 +1 @@ +Subproject commit a8af486c7be94edee0854e7673badb7310a691e1 diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore b/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore new file mode 100644 index 0000000..1170214 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore @@ -0,0 +1,2 @@ +*~ +*.zip diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/README.md b/SD_Makefile_Build/libs/Sodaq_DS3231/README.md new file mode 100644 index 0000000..70a0a59 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/README.md @@ -0,0 +1,16 @@ +# Sodaq_DS3231 + +This is an Arduino library for the DS3231 RTC (Real Time Clock). + +# Old README + +RDS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used +in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) +& to generate timestamp for data logging. DateTime Class is a modified +version supporting day-of-week. + +Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs +http://jeelabs.net/projects/cafe/wiki/RTClib + +Released under MIT License http://opensource.org/licenses/mit-license.php + diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde new file mode 100644 index 0000000..e5777e2 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde @@ -0,0 +1,40 @@ +// Date and time functions using a RX8025 RTC connected via I2C and Wire lib + +#include +#include "Sodaq_DS3231.h" + +char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; + +//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6) +//writing any non-existent time-data may interfere with normal operation of the RTC. +//Take care of week-day also. +DateTime dt(2011, 11, 10, 15, 18, 0, 5); + + +void setup () +{ + Serial.begin(57600); + Wire.begin(); + rtc.begin(); + rtc.setDateTime(dt); //Adjust date-time as defined 'dt' above +} + +void loop () +{ + DateTime now = rtc.now(); //get the current date-time + Serial.print(now.year(), DEC); + Serial.print('/'); + Serial.print(now.month(), DEC); + Serial.print('/'); + Serial.print(now.date(), DEC); + Serial.print(' '); + Serial.print(now.hour(), DEC); + Serial.print(':'); + Serial.print(now.minute(), DEC); + Serial.print(':'); + Serial.print(now.second(), DEC); + Serial.println(); + Serial.print(weekDay[now.dayOfWeek()]); + Serial.println(); + delay(1000); +} diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde new file mode 100644 index 0000000..3c6f857 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde @@ -0,0 +1,60 @@ +//Interrupts for Battery management/saving using MCU power down mode. /INT from DS3231 is connected to INT0 of MCU. + +#include +#include +#include "Sodaq_DS3231.h" + +static uint8_t prevSecond=0; + +void setup () +{ + /*Initialize INT0 for accepting interrupts */ + PORTD |= 0x04; + DDRD &=~ 0x04; + + Serial.begin(57600); + Wire.begin(); + + rtc.begin(); + attachInterrupt(0, INT0_ISR, FALLING); + + //Enable Interrupt + rtc.enableInterrupts(EveryMinute); //interrupt at EverySecond, EveryMinute, EveryHour + // or this + //rtc.enableInterrupts(18,4,0); // interrupt at (h,m,s) +} + + +void loop () +{ + + DateTime now = rtc.now(); //get the current date-time + if((now.second()) != prevSecond ) + { + //print only when there is a change in seconds + Serial.print(now.year(), DEC); + Serial.print('/'); + Serial.print(now.month(), DEC); + Serial.print('/'); + Serial.print(now.date(), DEC); + Serial.print(' '); + Serial.print(now.hour(), DEC); + Serial.print(':'); + Serial.print(now.minute(), DEC); + Serial.print(':'); + Serial.print(now.second(), DEC); + Serial.println(' '); + } + prevSecond = now.second(); + rtc.clearINTStatus(); + +} + + +//Interrupt service routine for external interrupt on INT0 pin conntected to /INT +void INT0_ISR() +{ + //Keep this as short as possible. Possibly avoid using function calls + + Serial.println(" External Interrupt detected "); +} diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde new file mode 100644 index 0000000..7eacd6d --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde @@ -0,0 +1,43 @@ +// Date and time functions using RX8025 RTC connected via I2C and Wire lib + +#include +#include "Sodaq_DS3231.h" + +char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; + +void setup () +{ + Serial.begin(57600); + Wire.begin(); + rtc.begin(); +} + +uint32_t old_ts; + +void loop () +{ + DateTime now = rtc.now(); //get the current date-time + uint32_t ts = now.getEpoch(); + + if (old_ts == 0 || old_ts != ts) { + old_ts = ts; + Serial.print(now.year(), DEC); + Serial.print('/'); + Serial.print(now.month(), DEC); + Serial.print('/'); + Serial.print(now.date(), DEC); + Serial.print(' '); + Serial.print(now.hour(), DEC); + Serial.print(':'); + Serial.print(now.minute(), DEC); + Serial.print(':'); + Serial.print(now.second(), DEC); + Serial.print(' '); + Serial.print(weekDay[now.dayOfWeek()]); + Serial.println(); + Serial.print("Seconds since Unix Epoch: "); + Serial.print(ts, DEC); + Serial.println(); + } + delay(1000); +} diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde new file mode 100644 index 0000000..7d8f9bb --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde @@ -0,0 +1,19 @@ +// Date and time functions using DS3231 RTC connected via I2C and Wire lib + +#include +#include "Sodaq_DS3231.h" + +void setup () +{ + Serial.begin(57600); + Wire.begin(); + rtc.begin(); +} + +void loop () +{ + rtc.convertTemperature(); //convert current temperature into registers + Serial.print(rtc.getTemperature()); //read registers and display the temperature + Serial.println("deg C"); + delay(1000); +} diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt b/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt new file mode 100644 index 0000000..685ad91 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt @@ -0,0 +1,47 @@ +####################################### +# Syntax Coloring Map for NewSoftSerial +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +Sodaq_DS3231 KEYWORD1 +DateTime KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +second KEYWORD2 +minute KEYWORD2 +hour KEYWORD2 +date KEYWORD2 +month KEYWORD2 +year KEYWORD2 +active KEYWORD2 +dayOfWeek KEYWORD2 +get KEYWORD2 +begin KEYWORD2 +setDateTime KEYWORD2 +enableInterrupts KEYWORD2 +disableInterrupts KEYWORD2 +clearINTStatus KEYWORD2 +convertTemperature KEYWORD2 +getTemperature KEYWORD2 +now KEYWORD2 + +####################################### +# Instances (KEYWORD3) +####################################### + +rtc KEYWORD3 + +####################################### +# Constants (LITERAL1) +####################################### + +EverySecond LITERAL1 +EveryMinute LITERAL1 +EveryHour LITERAL1 +EveryMonth LITERAL1 diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties b/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties new file mode 100644 index 0000000..a988fcb --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties @@ -0,0 +1,9 @@ +name=Sodaq_DS3231 +version=1.2.1 +author=keestux,SODAQ +maintainer=Kees Bakker +sentence=An Arduino library for the DS3231 RTC (Real Time Clock). +paragraph= +category=Sensors +url=https://github.com/SodaqMoja/Sodaq_DS3231 +architectures=* diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh b/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh new file mode 100755 index 0000000..f6c952c --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Make a ZIP file for distribution / publishing. + +#VERSION=$(git describe --abbrev=0 --tags 2> /dev/null) +VERSION=$(git describe --tags 2> /dev/null) +[ -z "${VERSION}" ] && { echo "ERROR: Cannot determine version. Did you do a git-tag?"; exit 1; } + +FILES=$(git ls-files|grep -v .gitignore) +[ -z "${FILES}" ] && { echo "ERROR: No files to put in ZIP."; exit 1; } + +DIRNAME="$(basename $(pwd))" +ZIPNAME="${DIRNAME}-${VERSION}" + +TDIR=/tmp/$DIRNAME +[ -d "${TDIR}" ] && { echo "ERROR: Directory '${TDIR}' exists. Please remove."; exit 1; } + +mkdir -p ${TDIR} +git ls-files | +grep -v .gitignore | +cpio -pmud ${TDIR}/ +(cd /tmp && zip -r $ZIPNAME.zip $DIRNAME) +mv /tmp/$ZIPNAME.zip . +ln -sf -T $ZIPNAME.zip ${DIRNAME}.zip +rm -fr ${TDIR} diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp b/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp new file mode 100644 index 0000000..3ca8ae5 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp @@ -0,0 +1,391 @@ +// Sodaq_DS3231 Class is a modified version of DS3231. +// DS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used +// in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) +// & to generate timestamp for data logging. DateTime Class is a modified +// version supporting day-of-week. + +// Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs +// http://jeelabs.net/projects/cafe/wiki/RTClib +// Released under MIT License http://opensource.org/licenses/mit-license.php + +#include +#include +#include "Sodaq_DS3231.h" +#include "Arduino.h" + +#define EPOCH_TIME_OFF 946684800 // This is 2000-jan-01 00:00:00 in epoch time +#define SECONDS_PER_DAY 86400L + +#define DS3231_ADDRESS 0x68 //I2C Slave address + +/* DS3231 Registers. Refer Sec 8.2 of application manual */ +#define DS3231_SEC_REG 0x00 +#define DS3231_MIN_REG 0x01 +#define DS3231_HOUR_REG 0x02 +#define DS3231_WDAY_REG 0x03 +#define DS3231_MDAY_REG 0x04 +#define DS3231_MONTH_REG 0x05 +#define DS3231_YEAR_REG 0x06 + +#define DS3231_AL1SEC_REG 0x07 +#define DS3231_AL1MIN_REG 0x08 +#define DS3231_AL1HOUR_REG 0x09 +#define DS3231_AL1WDAY_REG 0x0A + +#define DS3231_AL2MIN_REG 0x0B +#define DS3231_AL2HOUR_REG 0x0C +#define DS3231_AL2WDAY_REG 0x0D + +#define DS3231_CONTROL_REG 0x0E +#define DS3231_STATUS_REG 0x0F +#define DS3231_AGING_OFFSET_REG 0x0F +#define DS3231_TMP_UP_REG 0x11 +#define DS3231_TMP_LOW_REG 0x12 + +//////////////////////////////////////////////////////////////////////////////// +// utility code, some of this could be exposed in the DateTime API if needed + +static const uint8_t daysInMonth [] PROGMEM = { 31,28,31,30,31,30,31,31,30,31,30,31 }; + +// number of days since 2000/01/01, valid for 2001..2099 +static uint16_t date2days(uint16_t y, uint8_t m, uint8_t d) { + if (y >= 2000) + y -= 2000; + uint16_t days = d; + for (uint8_t i = 1; i < m; ++i) + days += pgm_read_byte(daysInMonth + i - 1); + if (m > 2 && y % 4 == 0) + ++days; + return days + 365 * y + (y + 3) / 4 - 1; +} + +static uint32_t time2long(uint16_t days, uint8_t h, uint8_t m, uint8_t s) { + return ((days * 24L + h) * 60 + m) * 60 + s; +} + +static uint8_t conv2d(const char* p) { + uint8_t v = 0; + if ('0' <= *p && *p <= '9') + v = *p - '0'; + return 10 * v + *++p - '0'; +} + +//////////////////////////////////////////////////////////////////////////////// +// DateTime implementation - ignores time zones and DST changes +// NOTE: also ignores leap seconds, see http://en.wikipedia.org/wiki/Leap_second + +DateTime::DateTime (long t) { + ss = t % 60; + t /= 60; + mm = t % 60; + t /= 60; + hh = t % 24; + uint16_t days = t / 24; + uint8_t leap; + for (yOff = 0; ; ++yOff) { + leap = yOff % 4 == 0; + if (days < 365 + leap) + break; + days -= 365 + leap; + } + for (m = 1; ; ++m) { + uint8_t daysPerMonth = pgm_read_byte(daysInMonth + m - 1); + if (leap && m == 2) + ++daysPerMonth; + if (days < daysPerMonth) + break; + days -= daysPerMonth; + } + d = days + 1; + wday = 0; // FIXME This is not properly initialized +} + +DateTime::DateTime (uint16_t year, uint8_t month, uint8_t date, uint8_t hour, uint8_t min, uint8_t sec, uint8_t wd) { + if (year >= 2000) + year -= 2000; + yOff = year; + m = month; + d = date; + hh = hour; + mm = min; + ss = sec; + wday = wd; +} + +// A convenient constructor for using "the compiler's time": +// DateTime now (__DATE__, __TIME__); +// NOTE: using PSTR would further reduce the RAM footprint +DateTime::DateTime (const char* date, const char* time) { + // sample input: date = "Dec 26 2009", time = "12:34:56" + yOff = conv2d(date + 9); + // Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec + switch (date[0]) { + case 'J': m = date[1] == 'a' ? 1 : date[2] == 'n' ? 6 : 7; break; + case 'F': m = 2; break; + case 'A': m = date[2] == 'r' ? 4 : 8; break; + case 'M': m = date[2] == 'r' ? 3 : 5; break; + case 'S': m = 9; break; + case 'O': m = 10; break; + case 'N': m = 11; break; + case 'D': m = 12; break; + } + d = conv2d(date + 4); + hh = conv2d(time); + mm = conv2d(time + 3); + ss = conv2d(time + 6); + wday = 0; // FIXME This is not properly initialized +} + +uint32_t DateTime::get() const { + uint16_t days = date2days(yOff, m, d); + return time2long(days, hh, mm, ss); +} + +uint32_t DateTime::getEpoch() const +{ + return get() + EPOCH_TIME_OFF; +} + +/* + * Format an integer as %0*d + * + * Arduino formatting sucks. + */ +static void add0Nd(String &str, uint16_t val, size_t width) +{ + if (width >= 5 && val < 1000) { + str += '0'; + } + if (width >= 4 && val < 100) { + str += '0'; + } + if (width >= 3 && val < 100) { + str += '0'; + } + if (width >= 2 && val < 10) { + str += '0'; + } + str += val; +} +static inline void add04d(String &str, uint16_t val) { add0Nd(str, val, 4); } +static inline void add02d(String &str, uint16_t val) { add0Nd(str, val, 2); } + +void DateTime::addToString(String & str) const +{ + add04d(str, year()); + str += '-'; + add02d(str, month()); + str += '-'; + add02d(str, date()); + str += ' '; + add02d(str, hour()); + str += ':'; + add02d(str, minute()); + str += ':'; + add02d(str, second()); +} + +static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); } +static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); } + +//////////////////////////////////////////////////////////////////////////////// +// RTC DS3231 implementation + +uint8_t Sodaq_DS3231::readRegister(uint8_t regaddress) +{ + Wire.beginTransmission(DS3231_ADDRESS); + Wire.write((byte)regaddress); + Wire.endTransmission(); + + Wire.requestFrom(DS3231_ADDRESS, 1); + return Wire.read(); +} + +void Sodaq_DS3231::writeRegister(uint8_t regaddress,uint8_t value) +{ + Wire.beginTransmission(DS3231_ADDRESS); + Wire.write((byte)regaddress); + Wire.write((byte)value); + Wire.endTransmission(); +} + +uint8_t Sodaq_DS3231::begin(void) { + + unsigned char ctReg=0; + + Wire.begin(); + ctReg |= 0b00011100; + writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address + delay(10); + + // set the clock to 24hr format + uint8_t hrReg = readRegister(DS3231_HOUR_REG); + hrReg &= 0b10111111; + writeRegister(DS3231_HOUR_REG, hrReg); + + delay(10); + + return 1; +} + +//set the time-date specified in DateTime format +//writing any non-existent time-data may interfere with normal operation of the RTC +void Sodaq_DS3231::setDateTime(const DateTime& dt) { + + Wire.beginTransmission(DS3231_ADDRESS); + Wire.write((byte)DS3231_SEC_REG); //beginning from SEC Register address + + Wire.write((byte)bin2bcd(dt.second())); + Wire.write((byte)bin2bcd(dt.minute())); + Wire.write((byte)bin2bcd((dt.hour()) & 0b10111111)); //Make sure clock is still 24 Hour + Wire.write((byte)dt.dayOfWeek()); + Wire.write((byte)bin2bcd(dt.date())); + Wire.write((byte)bin2bcd(dt.month())); + Wire.write((byte)bin2bcd(dt.year() - 2000)); + Wire.endTransmission(); + +} + +DateTime Sodaq_DS3231::makeDateTime(unsigned long t) +{ + if (t < EPOCH_TIME_OFF) + return DateTime(0); + return DateTime(t - EPOCH_TIME_OFF); +} + +// Set the RTC using timestamp (seconds since epoch) +void Sodaq_DS3231::setEpoch(uint32_t ts) +{ + setDateTime(makeDateTime(ts)); +} + +//Read the current time-date and return it in DateTime format +DateTime Sodaq_DS3231::now() { + Wire.beginTransmission(DS3231_ADDRESS); + Wire.write((byte)0x00); + Wire.endTransmission(); + + Wire.requestFrom(DS3231_ADDRESS, 8); + uint8_t ss = bcd2bin(Wire.read()); + uint8_t mm = bcd2bin(Wire.read()); + + uint8_t hrreg = Wire.read(); + uint8_t hh = bcd2bin((hrreg & ~0b11000000)); //Ignore 24 Hour bit + + uint8_t wd = Wire.read(); + uint8_t d = bcd2bin(Wire.read()); + uint8_t m = bcd2bin(Wire.read()); + uint16_t y = bcd2bin(Wire.read()) + 2000; + + return DateTime (y, m, d, hh, mm, ss, wd); +} + +//Enable periodic interrupt at /INT pin. Supports only the level interrupt +//for consistency with other /INT interrupts. All interrupts works like single-shot counter +//Use refreshINTA() to re-enable interrupt. +void Sodaq_DS3231::enableInterrupts(uint8_t periodicity) +{ + + unsigned char ctReg=0; + ctReg |= 0b00011101; + writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address + + switch(periodicity) + { + case EverySecond: + writeRegister(DS3231_AL1SEC_REG, 0b10000000 ); //set AM1 + writeRegister(DS3231_AL1MIN_REG, 0b10000000 ); //set AM2 + writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //set AM3 + writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 + + break; + + case EveryMinute: + writeRegister(DS3231_AL1SEC_REG, 0b00000000 ); //Clr AM1 + writeRegister(DS3231_AL1MIN_REG, 0b10000000 ); //set AM2 + writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //set AM3 + writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 + + break; + + case EveryHour: + writeRegister(DS3231_AL1SEC_REG, 0b00000000 ); //Clr AM1 + writeRegister(DS3231_AL1MIN_REG, 0b00000000 ); //Clr AM2 + writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //Set AM3 + writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 + + break; + } +} + +//Enable HH/MM/SS interrupt on /INTA pin. All interrupts works like single-shot counter +void Sodaq_DS3231::enableInterrupts(uint8_t hh24, uint8_t mm, uint8_t ss) +{ + unsigned char ctReg=0; + ctReg |= 0b00011101; + writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address + + writeRegister(DS3231_AL1SEC_REG, 0b00000000 | bin2bcd(ss) ); //Clr AM1 + writeRegister(DS3231_AL1MIN_REG, 0b00000000 | bin2bcd(mm)); //Clr AM2 + writeRegister(DS3231_AL1HOUR_REG, (0b00000000 | (bin2bcd(hh24) & 0b10111111))); //Clr AM3 + writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 +} + +//Disable Interrupts. This is equivalent to begin() method. +void Sodaq_DS3231::disableInterrupts() +{ + begin(); //Restore to initial value. +} + +//Clears the interrrupt flag in status register. +//This is equivalent to preparing the DS3231 /INT pin to high for MCU to get ready for recognizing the next INT0 interrupt +void Sodaq_DS3231::clearINTStatus() +{ + // Clear interrupt flag + uint8_t statusReg = readRegister(DS3231_STATUS_REG); + statusReg &= 0b11111110; + writeRegister(DS3231_STATUS_REG, statusReg); + +} + +//force temperature sampling and converting to registers. If this function is not used the temperature is sampled once 64 Sec. +void Sodaq_DS3231::convertTemperature() +{ + // Set CONV + uint8_t ctReg = readRegister(DS3231_CONTROL_REG); + ctReg |= 0b00100000; + writeRegister(DS3231_CONTROL_REG,ctReg); + + + //wait until CONV is cleared. Indicates new temperature value is available in register. + do + { + //do nothing + } while ((readRegister(DS3231_CONTROL_REG) & 0b00100000) == 0b00100000 ); + +} + +//Read the temperature value from the register and convert it into float (deg C) +float Sodaq_DS3231::getTemperature() +{ + float fTemperatureCelsius; + uint8_t tUBYTE = readRegister(DS3231_TMP_UP_REG); //Two's complement form + uint8_t tLRBYTE = readRegister(DS3231_TMP_LOW_REG); //Fractional part + + if(tUBYTE & 0b10000000) //check if -ve number + { + tUBYTE ^= 0b11111111; + tUBYTE += 0x1; + fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25); + fTemperatureCelsius = fTemperatureCelsius * -1; + } + else + { + fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25); + } + + return (fTemperatureCelsius); + +} + +Sodaq_DS3231 rtc; diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h b/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h new file mode 100644 index 0000000..f8cd0b9 --- /dev/null +++ b/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h @@ -0,0 +1,82 @@ +// Sodaq_DS3231 Class is a modified version of DS3231. +// DS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used +// in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) +// & to generate timestamp for data logging. DateTime Class is a modified +// version supporting day-of-week. + +// Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs +// http://jeelabs.net/projects/cafe/wiki/RTClib +// Released under MIT License http://opensource.org/licenses/mit-license.php + +#ifndef SODAQ_DS3231_H +#define SODAQ_DS3231_H + +#include +#include + + + + +// Simple general-purpose date/time class (no TZ / DST / leap second handling!) +class DateTime { +public: + DateTime (long t =0); + DateTime (uint16_t year, uint8_t month, uint8_t date, + uint8_t hour, uint8_t min, uint8_t sec, uint8_t wday); + DateTime (const char* date, const char* time); + + uint8_t second() const { return ss; } + uint8_t minute() const { return mm; } + uint8_t hour() const { return hh; } + + uint8_t date() const { return d; } + uint8_t month() const { return m; } + uint16_t year() const { return 2000 + yOff; } // Notice the 2000 ! + + uint8_t dayOfWeek() const { return wday;} /*Su=1 Mo=2 Tu=3 We=4 Th=5 Fr=6 Sa=7 */ + + // 32-bit time as seconds since 1/1/2000 + uint32_t get() const; + // 32-bit number of seconds since Unix epoch (1970-01-01) + uint32_t getEpoch() const; + + void addToString(String & str) const; + +protected: + uint8_t yOff, m, d, hh, mm, ss, wday; +}; + +// These are the constants for periodicity of enableInterrupts() below. +#define EverySecond 0x01 +#define EveryMinute 0x02 +#define EveryHour 0x03 + +// RTC DS3231 chip connected via I2C and uses the Wire library. +// Only 24 Hour time format is supported in this implementation +class Sodaq_DS3231 { +public: + uint8_t begin(void); + + void setDateTime(const DateTime& dt); //Changes the date-time + void setEpoch(uint32_t ts); // Set the RTC using timestamp (seconds since epoch) + DateTime now(); //Gets the current date-time + + DateTime makeDateTime(unsigned long t); + + //Decides the /INT pin's output setting + //periodicity can be any of following defines: EverySecond, EveryMinute, EveryHour + void enableInterrupts(uint8_t periodicity); + void enableInterrupts(uint8_t hh24, uint8_t mm,uint8_t ss); + void disableInterrupts(); + void clearINTStatus(); + + void convertTemperature(); + float getTemperature(); +private: + uint8_t readRegister(uint8_t regaddress); + void writeRegister(uint8_t regaddress, uint8_t value); +}; + +extern Sodaq_DS3231 rtc; + +#endif diff --git a/SD_Makefile_Build/src/LCD_module.cpp b/SD_Makefile_Build/src/LCD_module.cpp new file mode 100644 index 0000000..b540d95 --- /dev/null +++ b/SD_Makefile_Build/src/LCD_module.cpp @@ -0,0 +1,141 @@ +#include + +display::display(Adafruit_ST7735* lcd) +{ + disp_pntr = lcd; +} + +void display::initializeTFT_LCD() // Setup for TFT LCD - GREENTAB*! +{ + disp_pntr->initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab + // Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. + disp_pntr->fillScreen(ST7735_BLACK); // Clear screen + disp_pntr->setTextSize(1); + disp_pntr->setTextColor(ST7735_BLUE); +} + +void display::initialize_SD_storage() +{ + if (!SD.begin(SD_CS)) { // Initialize SD + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->println("SD CARD"); + disp_pntr->setCursor(10,50); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("INITIATE"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the SD card + } + + if (SD.exists("records.csv")) { + } + else { // If file does not exist, create it + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println ("USER,DATE,MONTH,YEAR,TIME"); + csv_file.close(); + } +} + +bool display::validate_card(tag my_tag, timeState* my_time) +{ + disp_pntr->fillRect(25, 30, 100, 10, ST7735_BLACK ); // Clear default status from screen (only) + if(my_tag.access == 1){ + disp_pntr->setCursor(40, 30); + disp_pntr->println("WELCOME"); + disp_pntr->fillCircle(60, 120, 20, ST7735_GREEN); + disp_pntr->setCursor(40, 40); + disp_pntr->println(my_tag.name); + digitalWrite(ACC_GRANTED, HIGH); + digitalWrite(ACC_DENIED, LOW); + delay (2000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + write_time_register(my_tag.name, my_time); // Write to SD records + return true; + } + else { + disp_pntr->setCursor(30, 30); + disp_pntr->println("ACCESS DENIED"); + disp_pntr->setCursor(30, 40); + disp_pntr->println("Try again"); + disp_pntr->fillCircle(60, 120, 20, ST7735_RED); + delay (1000); + disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); + disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); + return false; + } +} + +void display::access_default_status() { + disp_pntr->setCursor(25, 30); + disp_pntr->println("PLACE YOUR TAG"); + digitalWrite(ACC_GRANTED, LOW); + digitalWrite(ACC_DENIED, HIGH); +} + +void display::write_time_register(String name, timeState* myTime) { + if (SD.exists("records.csv")) { // Check to see if the file exists: + } + else { // Error: records.csv doesn't exist + disp_pntr->fillScreen(ST7735_BLACK); + disp_pntr->setTextSize(2); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setCursor(10, 10); + disp_pntr->println("ERROR:"); + disp_pntr->setCursor(10,30); + disp_pntr->setTextColor(ST7735_GREEN); + disp_pntr->setTextSize(1); + disp_pntr->println("file: records.csv"); + disp_pntr->setCursor(10,50); + disp_pntr->setTextColor(ST7735_RED); + disp_pntr->setTextSize(2); + disp_pntr->println("DOES NOT"); + disp_pntr->setCursor(10,70); + disp_pntr->println("EXIST"); + disp_pntr->setCursor(10,90); + disp_pntr->println("CHECK &"); + disp_pntr->setCursor(10,110); + disp_pntr->println("RESET"); + while(1){} // If it breaks here: Something is wrong with the file initialization prob. Typo! + } + csv_file = SD.open("records.csv", FILE_WRITE); + csv_file.println(name +',' + String(myTime->get_current_time().date(),DEC) +','+ String(myTime->get_current_time().month(),DEC) + ',' + String(myTime->get_current_time().year(),DEC) + ',' + String(myTime->get_current_time().hour(),DEC) + ":" + String(myTime->get_current_time().minute(),DEC) + ":" + String(myTime->get_current_time().second(),DEC)); + csv_file.close(); +} + +void display::print_date_time (timeState* myTime) { + if (myTime->get_u_date()){ + disp_pntr->fillRect(40, 00, 70, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->fillRect(00, 10, 51, 7, ST7735_BLACK ); /* Clear screen only when date changes */ + disp_pntr->setCursor(10, 0); + disp_pntr->println(String("Date: ") + String(myTime->get_current_time().date(),DEC) +'.'+ String(myTime->get_current_time().month(),DEC) + '.' + String(myTime->get_current_time().year(),DEC)); + disp_pntr->setCursor(10, 10); + disp_pntr->print(myTime->get_week_day()); + } + + if (myTime->get_u_hour()){ + disp_pntr->fillRect(45, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when hour changes */ + disp_pntr->setCursor(45, 10); + disp_pntr->print(String(myTime->get_current_time().hour(),DEC) + ":"); + } + + if (myTime->get_u_minute()){ + disp_pntr->fillRect(65, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when minute changes */ + disp_pntr->setCursor(65, 10); + disp_pntr->print(String(myTime->get_current_time().minute(),DEC) + ':'); + } + + if (myTime->get_u_second()){ + disp_pntr->fillRect(85, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when sec changes */ + disp_pntr->setCursor(85, 10); + disp_pntr->println(myTime->get_current_time().second(),DEC); + } +} diff --git a/SD_Makefile_Build/src/RFID_module.cpp b/SD_Makefile_Build/src/RFID_module.cpp new file mode 100644 index 0000000..db2e1d9 --- /dev/null +++ b/SD_Makefile_Build/src/RFID_module.cpp @@ -0,0 +1,67 @@ +#include + + +rfid_unit::rfid_unit(MFRC522* my_rfid){ + rfid_pntr = my_rfid; +} + + +tag rfid_unit::check_acces() { + RFID_Scan(); + byte count; + tag info; + for (byte n = 0; n < rows; n++) { + count = 0; + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] == authorized_keys[n][i]) + count ++; + } + if (count == cols) { // If the scanned key matches any of the authorised_keys.h + info.access = true; // Grant access + info.name = names[n]; // Parse User Name + return info; + } + else { + info.access = false; + } + } + return info; +} + +bool rfid_unit::check_new_card() { // returns true if the card is different + for (byte i = 0; i < cols; i++) { + if(rfid_pntr->uid.uidByte[i] != nuidPICC[i]) + { + for (byte j = 0; j < cols; j++) + { // Store NUID into nuidPICC array + nuidPICC[j] = rfid_pntr->uid.uidByte[j]; + } + return 1; + } + else { + return 0; + } + } +} + +void rfid_unit::clear_nuid() { + for (byte i = 0; i < cols; i++) + { + rfid_pntr->uid.uidByte[i] = 0; + nuidPICC[i] = 0; + } +} + +void rfid_unit::RFID_Scan() { + if ( ! rfid_pntr->PICC_IsNewCardPresent()) // Look for new cards + return; + if ( ! rfid_pntr->PICC_ReadCardSerial()) // Verify if the NUID has been readed + return; + rfid_pntr->PICC_HaltA(); // Halt PICC + rfid_pntr->PCD_StopCrypto1(); // Stop encryption on PCD +} + +void rfid_unit::initializeRFID() { + SPI.begin(); // Init SPI bus + rfid_pntr->PCD_Init(); // Init MFRC522 +} diff --git a/SD_Makefile_Build/src/RTC_module.cpp b/SD_Makefile_Build/src/RTC_module.cpp new file mode 100644 index 0000000..9cc8f7f --- /dev/null +++ b/SD_Makefile_Build/src/RTC_module.cpp @@ -0,0 +1,22 @@ +#include + +DateTime current, prev; +bool u_date, u_month, u_year, u_hour, u_minute, u_second; + +void timeState::initializeDS3231 () //Initialize wire transfer and instansiate a RTC DS3231 +{ + Wire.begin(); + rtc.begin(); +} + +void timeState::update_time() +{ + current = rtc.now(); // Get the current date-time + if (current.year() == prev.year()) {u_year = false;} else{u_year = true;} + if (current.month() == prev.month()) {u_month = false;} else{u_month = true;} + if (current.date() == prev.date()) {u_date = false;} else{u_date = true;} + if (current.hour() == prev.hour()) {u_hour = false;} else{u_hour = true;} + if (current.minute() == prev.minute()) {u_minute = false;} else{u_minute = true;} + if (current.second() == prev.second()) {u_second = false;} else {u_second = true;} + prev = current; +} From e43fc6cf5d8400d09b6df744ff6291a7942f318d Mon Sep 17 00:00:00 2001 From: rocadura Date: Wed, 10 May 2017 06:57:06 +0200 Subject: [PATCH 14/35] Reorganized --- SD_for_Ard_IDE/access_control/HOW_TO_USE.txt | 19 --- SD_for_Ard_IDE/access_control/LCD_module.cpp | 141 ------------------ SD_for_Ard_IDE/access_control/LCD_module.h | 37 ----- SD_for_Ard_IDE/access_control/README.md | 55 ------- SD_for_Ard_IDE/access_control/RFID_module.cpp | 67 --------- SD_for_Ard_IDE/access_control/RFID_module.h | 29 ---- SD_for_Ard_IDE/access_control/RTC_module.cpp | 22 --- SD_for_Ard_IDE/access_control/RTC_module.h | 28 ---- SD_for_Ard_IDE/access_control/UNLICENSE | 24 --- .../access_control/access_control.ino | 60 -------- .../access_control/authorized_keys.h | 26 ---- .../access_control/libraries/Adafruit_GFX | 1 - .../access_control/libraries/Adafruit_ST3775 | 1 - .../access_control/libraries/MFRC522 | 1 - .../access_control/libraries/Sodaq_DS3231 | 1 - SD_for_Ard_IDE/access_control/pin_layout.h | 48 ------ .../access_control/platform.local.txt | 8 - 17 files changed, 568 deletions(-) delete mode 100644 SD_for_Ard_IDE/access_control/HOW_TO_USE.txt delete mode 100644 SD_for_Ard_IDE/access_control/LCD_module.cpp delete mode 100644 SD_for_Ard_IDE/access_control/LCD_module.h delete mode 100644 SD_for_Ard_IDE/access_control/README.md delete mode 100644 SD_for_Ard_IDE/access_control/RFID_module.cpp delete mode 100644 SD_for_Ard_IDE/access_control/RFID_module.h delete mode 100644 SD_for_Ard_IDE/access_control/RTC_module.cpp delete mode 100644 SD_for_Ard_IDE/access_control/RTC_module.h delete mode 100644 SD_for_Ard_IDE/access_control/UNLICENSE delete mode 100644 SD_for_Ard_IDE/access_control/access_control.ino delete mode 100644 SD_for_Ard_IDE/access_control/authorized_keys.h delete mode 160000 SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX delete mode 160000 SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 delete mode 160000 SD_for_Ard_IDE/access_control/libraries/MFRC522 delete mode 160000 SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 delete mode 100644 SD_for_Ard_IDE/access_control/pin_layout.h delete mode 100644 SD_for_Ard_IDE/access_control/platform.local.txt diff --git a/SD_for_Ard_IDE/access_control/HOW_TO_USE.txt b/SD_for_Ard_IDE/access_control/HOW_TO_USE.txt deleted file mode 100644 index f63d162..0000000 --- a/SD_for_Ard_IDE/access_control/HOW_TO_USE.txt +++ /dev/null @@ -1,19 +0,0 @@ -(SEE README.md->INSTALATION REQUIREMENTS). - -HOW TO USE: - -1- Go to ,,authorized_keys.h" and modify the NUID of your authorized -tags (IN DECIMAL FORMAT) as well as the corresponding Names of each -Tag. More info see the MRFC 522 examples. - -2- Open the file ,,pin_layout.h" and follow or modify the proposed -connections for the HW. - -3- Open Your Arduino IDE v.1.8.0 (not tested in any other), verify, -upload and try your cards! - -4- Remove the SD card, and read it from a PC, you should find a file -called ,,records.csv". You can open and further use this file in any -spreadsheet program such as ,,LibreOffice Calc". - -QUESTIONS & BUGS report to the main repo diff --git a/SD_for_Ard_IDE/access_control/LCD_module.cpp b/SD_for_Ard_IDE/access_control/LCD_module.cpp deleted file mode 100644 index 56ab10e..0000000 --- a/SD_for_Ard_IDE/access_control/LCD_module.cpp +++ /dev/null @@ -1,141 +0,0 @@ -#include "LCD_module.h" - -display::display(Adafruit_ST7735* lcd) -{ - disp_pntr = lcd; -} - -void display::initializeTFT_LCD() // Setup for TFT LCD - GREENTAB*! -{ - disp_pntr->initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab - // Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. - disp_pntr->fillScreen(ST7735_BLACK); // Clear screen - disp_pntr->setTextSize(1); - disp_pntr->setTextColor(ST7735_BLUE); -} - -void display::initialize_SD_storage() -{ - if (!SD.begin(SD_CS)) { // Initialize SD - disp_pntr->fillScreen(ST7735_BLACK); - disp_pntr->setTextSize(2); - disp_pntr->setTextColor(ST7735_RED); - disp_pntr->setCursor(10, 10); - disp_pntr->println("ERROR:"); - disp_pntr->setCursor(10,30); - disp_pntr->println("SD CARD"); - disp_pntr->setCursor(10,50); - disp_pntr->println("DOES NOT"); - disp_pntr->setCursor(10,70); - disp_pntr->println("INITIATE"); - disp_pntr->setCursor(10,90); - disp_pntr->println("CHECK &"); - disp_pntr->setCursor(10,110); - disp_pntr->println("RESET"); - while(1){} // If it breaks here: Something is wrong with the SD card - } - - if (SD.exists("records.csv")) { - } - else { // If file does not exist, create it - csv_file = SD.open("records.csv", FILE_WRITE); - csv_file.println ("USER,DATE,MONTH,YEAR,TIME"); - csv_file.close(); - } -} - -bool display::validate_card(tag my_tag, timeState* my_time) -{ - disp_pntr->fillRect(25, 30, 100, 10, ST7735_BLACK ); // Clear default status from screen (only) - if(my_tag.access == 1){ - disp_pntr->setCursor(40, 30); - disp_pntr->println("WELCOME"); - disp_pntr->fillCircle(60, 120, 20, ST7735_GREEN); - disp_pntr->setCursor(40, 40); - disp_pntr->println(my_tag.name); - digitalWrite(ACC_GRANTED, HIGH); - digitalWrite(ACC_DENIED, LOW); - delay (2000); - disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); - disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); - write_time_register(my_tag.name, my_time); // Write to SD records - return true; - } - else { - disp_pntr->setCursor(30, 30); - disp_pntr->println("ACCESS DENIED"); - disp_pntr->setCursor(30, 40); - disp_pntr->println("Try again"); - disp_pntr->fillCircle(60, 120, 20, ST7735_RED); - delay (1000); - disp_pntr->fillRect(00, 30, 110, 21, ST7735_BLACK ); - disp_pntr->fillCircle(60, 120, 20, ST7735_BLACK); - return false; - } -} - -void display::access_default_status() { - disp_pntr->setCursor(25, 30); - disp_pntr->println("PLACE YOUR TAG"); - digitalWrite(ACC_GRANTED, LOW); - digitalWrite(ACC_DENIED, HIGH); -} - -void display::write_time_register(String name, timeState* myTime) { - if (SD.exists("records.csv")) { // Check to see if the file exists: - } - else { // Error: records.csv doesn't exist - disp_pntr->fillScreen(ST7735_BLACK); - disp_pntr->setTextSize(2); - disp_pntr->setTextColor(ST7735_RED); - disp_pntr->setCursor(10, 10); - disp_pntr->println("ERROR:"); - disp_pntr->setCursor(10,30); - disp_pntr->setTextColor(ST7735_GREEN); - disp_pntr->setTextSize(1); - disp_pntr->println("file: records.csv"); - disp_pntr->setCursor(10,50); - disp_pntr->setTextColor(ST7735_RED); - disp_pntr->setTextSize(2); - disp_pntr->println("DOES NOT"); - disp_pntr->setCursor(10,70); - disp_pntr->println("EXIST"); - disp_pntr->setCursor(10,90); - disp_pntr->println("CHECK &"); - disp_pntr->setCursor(10,110); - disp_pntr->println("RESET"); - while(1){} // If it breaks here: Something is wrong with the file initialization prob. Typo! - } - csv_file = SD.open("records.csv", FILE_WRITE); - csv_file.println(name +',' + String(myTime->get_current_time().date(),DEC) +','+ String(myTime->get_current_time().month(),DEC) + ',' + String(myTime->get_current_time().year(),DEC) + ',' + String(myTime->get_current_time().hour(),DEC) + ":" + String(myTime->get_current_time().minute(),DEC) + ":" + String(myTime->get_current_time().second(),DEC)); - csv_file.close(); -} - -void display::print_date_time (timeState* myTime) { - if (myTime->get_u_date()){ - disp_pntr->fillRect(40, 00, 70, 7, ST7735_BLACK ); /* Clear screen only when date changes */ - disp_pntr->fillRect(00, 10, 51, 7, ST7735_BLACK ); /* Clear screen only when date changes */ - disp_pntr->setCursor(10, 0); - disp_pntr->println(String("Date: ") + String(myTime->get_current_time().date(),DEC) +'.'+ String(myTime->get_current_time().month(),DEC) + '.' + String(myTime->get_current_time().year(),DEC)); - disp_pntr->setCursor(10, 10); - disp_pntr->print(myTime->get_week_day()); - } - - if (myTime->get_u_hour()){ - disp_pntr->fillRect(45, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when hour changes */ - disp_pntr->setCursor(45, 10); - disp_pntr->print(String(myTime->get_current_time().hour(),DEC) + ":"); - } - - if (myTime->get_u_minute()){ - disp_pntr->fillRect(65, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when minute changes */ - disp_pntr->setCursor(65, 10); - disp_pntr->print(String(myTime->get_current_time().minute(),DEC) + ':'); - } - - if (myTime->get_u_second()){ - disp_pntr->fillRect(85, 10, 20, 7, ST7735_BLACK ); /* Clear screen only when sec changes */ - disp_pntr->setCursor(85, 10); - disp_pntr->println(myTime->get_current_time().second(),DEC); - } -} diff --git a/SD_for_Ard_IDE/access_control/LCD_module.h b/SD_for_Ard_IDE/access_control/LCD_module.h deleted file mode 100644 index c246157..0000000 --- a/SD_for_Ard_IDE/access_control/LCD_module.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _TFT_LCD_ -#define _TFT_LCD_ - -#include "pin_layout.h" -#include "RFID_module.h" -#include "RTC_module.h" -#include -#include // Core graphics library for TFT LCD - GREENTAB*! -#include // Hardware-specific library for TFT LCD - GREENTAB*! - //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. -#include // Include required libraries for RTCDS3231 - -#if defined(__SAM3X8E__) - #undef __FlashStringHelper::F(string_literal) - #define F(string_literal) string_literal -#endif - -//////////////////////////////////////////////////////////////////////// - -class display { -public: - display(Adafruit_ST7735* lcd); // Constructor for specific Adafruit Hardware - // display(ANY HARDWARE* lcd); // Can be defined for any other specific HW. (REUSE!) - void initializeTFT_LCD(); // Setup for TFT LCD - GREENTAB*! - void initialize_SD_storage(); - void write_time_register(String name, timeState* myTime); - void access_default_status(); - void print_date_time(timeState* myTime); - bool validate_card(tag my_tag, timeState* my_time); - -private: - Adafruit_ST7735* disp_pntr; - File csv_file; -}; - - -#endif // _TFT_LCD_ diff --git a/SD_for_Ard_IDE/access_control/README.md b/SD_for_Ard_IDE/access_control/README.md deleted file mode 100644 index 818e6f2..0000000 --- a/SD_for_Ard_IDE/access_control/README.md +++ /dev/null @@ -1,55 +0,0 @@ -HARDWARE REQUIREMENTS: - -This project has been implmented with this Hardware, further implementation -for additional HW by future colaborators. - -- Arduino Mega2560 like this: - https://www.arduino.cc/en/Main/ArduinoBoardMega2560 - -- DS_3231 like this: - http://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ - -- SainSmart 1.8 ST7735R TFT LCD Module with MicroSD like this: - https://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html - -- MFRC522 like this: - http://www.instructables.com/id/Arduino-RFID-Reader-MFRC522-Turorial/ - -INSTALATION REQUIREMENTS: - -Arduino IDE: -(Makefile Builds is more convenient and will be available in separate branch) -This project has been tested using Arduino IDE v.1.8.0 and NOT any -other. Please note that the project uses C++11 and therefore an extra -compiling flag has been included in the file ,,platform.local.txt''. -You may need to update your compiler. - -EXTERNAL LIBRARIES: -All libraries have been packaged as submodules in the folder "./libraries" and refer -to their original repository. To clone them go to your command line and type: - -$ git submodule init && git submodule update - -or go to each repo and clone: - -- DS_3231 requires this library: - https://github.com/SodaqMoja/Sodaq_DS3231 - -- 1.8 ST7735R TFT LCD Module with MicroSD requires this libraries: - https://github.com/adafruit/Adafruit-GFX-Library - https://github.com/adafruit/Adafruit-ST7735-Library - -- MFRC522 requires this library: - https://github.com/miguelbalboa/rfid - -Please clone this repos and copy them inside your local sketchbook/libraries folder: -(Something like ,,my/path/to/my/sketchbook/libraries/") -To find the complete path, open Arduino IDE->File->Preferences and look for -,,sketchbook location" - -USAGE: -Read HOW_TO_USE.txt - -TODOs: -Implementation for further HW, probably using Polymorphism (Virtual classes) -Define more TODOs! diff --git a/SD_for_Ard_IDE/access_control/RFID_module.cpp b/SD_for_Ard_IDE/access_control/RFID_module.cpp deleted file mode 100644 index 1bf779f..0000000 --- a/SD_for_Ard_IDE/access_control/RFID_module.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "RFID_module.h" - - -rfid_unit::rfid_unit(MFRC522* my_rfid){ - rfid_pntr = my_rfid; -} - - -tag rfid_unit::check_acces() { - RFID_Scan(); - byte count; - tag info; - for (byte n = 0; n < rows; n++) { - count = 0; - for (byte i = 0; i < cols; i++) { - if(rfid_pntr->uid.uidByte[i] == authorized_keys[n][i]) - count ++; - } - if (count == cols) { // If the scanned key matches any of the authorised_keys.h - info.access = true; // Grant access - info.name = names[n]; // Parse User Name - return info; - } - else { - info.access = false; - } - } - return info; -} - -bool rfid_unit::check_new_card() { // returns true if the card is different - for (byte i = 0; i < cols; i++) { - if(rfid_pntr->uid.uidByte[i] != nuidPICC[i]) - { - for (byte j = 0; j < cols; j++) - { // Store NUID into nuidPICC array - nuidPICC[j] = rfid_pntr->uid.uidByte[j]; - } - return 1; - } - else { - return 0; - } - } -} - -void rfid_unit::clear_nuid() { - for (byte i = 0; i < cols; i++) - { - rfid_pntr->uid.uidByte[i] = 0; - nuidPICC[i] = 0; - } -} - -void rfid_unit::RFID_Scan() { - if ( ! rfid_pntr->PICC_IsNewCardPresent()) // Look for new cards - return; - if ( ! rfid_pntr->PICC_ReadCardSerial()) // Verify if the NUID has been readed - return; - rfid_pntr->PICC_HaltA(); // Halt PICC - rfid_pntr->PCD_StopCrypto1(); // Stop encryption on PCD -} - -void rfid_unit::initializeRFID() { - SPI.begin(); // Init SPI bus - rfid_pntr->PCD_Init(); // Init MFRC522 -} diff --git a/SD_for_Ard_IDE/access_control/RFID_module.h b/SD_for_Ard_IDE/access_control/RFID_module.h deleted file mode 100644 index 64d9f89..0000000 --- a/SD_for_Ard_IDE/access_control/RFID_module.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _RFID_ -#define _RFID_ - -#include "pin_layout.h" -#include "authorized_keys.h" -#include - -typedef struct {String name; bool access;} tag; // Declaration of tag info structure - -//////////////////////////////////////////////////////////////////////// - -class rfid_unit{ -public: - rfid_unit(MFRC522* my_rfid); - tag check_acces(); - bool check_new_card(); - void clear_nuid(); - void initializeRFID(); - void RFID_Scan(); - -private: - MFRC522* rfid_pntr; - byte nuidPICC [cols]; // Declaration of global old UID-Key (state memory) -}; - - - - -#endif // _RFID_ diff --git a/SD_for_Ard_IDE/access_control/RTC_module.cpp b/SD_for_Ard_IDE/access_control/RTC_module.cpp deleted file mode 100644 index 30c771a..0000000 --- a/SD_for_Ard_IDE/access_control/RTC_module.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "RTC_module.h" - -DateTime current, prev; -bool u_date, u_month, u_year, u_hour, u_minute, u_second; - -void timeState::initializeDS3231 () //Initialize wire transfer and instansiate a RTC DS3231 -{ - Wire.begin(); - rtc.begin(); -} - -void timeState::update_time() -{ - current = rtc.now(); // Get the current date-time - if (current.year() == prev.year()) {u_year = false;} else{u_year = true;} - if (current.month() == prev.month()) {u_month = false;} else{u_month = true;} - if (current.date() == prev.date()) {u_date = false;} else{u_date = true;} - if (current.hour() == prev.hour()) {u_hour = false;} else{u_hour = true;} - if (current.minute() == prev.minute()) {u_minute = false;} else{u_minute = true;} - if (current.second() == prev.second()) {u_second = false;} else {u_second = true;} - prev = current; -} diff --git a/SD_for_Ard_IDE/access_control/RTC_module.h b/SD_for_Ard_IDE/access_control/RTC_module.h deleted file mode 100644 index ed02ad8..0000000 --- a/SD_for_Ard_IDE/access_control/RTC_module.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _RTC_DS3231_ -#define _RTC_DS3231_ - -#include -#include // Include required libraries for RTCDS3231 -#include - -//////////////////////////////////////////////////////////////////////// - -class timeState { -public: - void initializeDS3231 (); //Initialize wire transfer and instansiate a RTC DS3231 - void update_time(); - inline DateTime get_current_time() {return current;} - inline String get_week_day() {return weekDay[current.dayOfWeek()-1];} - inline bool get_u_date() {return u_date;} - inline bool get_u_hour() {return u_hour;} - inline bool get_u_minute() {return u_minute;} - inline bool get_u_second() {return u_second;} - -protected: - DateTime current, prev; // Time state variables - char weekDay[8][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // Define the names of week day for diff languages. - bool u_year, u_month, u_date, u_hour, u_minute, u_second; // Return true if the value has been updated -}; - - -#endif // _RTC_DS3231_ diff --git a/SD_for_Ard_IDE/access_control/UNLICENSE b/SD_for_Ard_IDE/access_control/UNLICENSE deleted file mode 100644 index 00d2e13..0000000 --- a/SD_for_Ard_IDE/access_control/UNLICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to \ No newline at end of file diff --git a/SD_for_Ard_IDE/access_control/access_control.ino b/SD_for_Ard_IDE/access_control/access_control.ino deleted file mode 100644 index 6177a8e..0000000 --- a/SD_for_Ard_IDE/access_control/access_control.ino +++ /dev/null @@ -1,60 +0,0 @@ - /******************************************************************************************** - * RFID-based access control and time records storage into SD card * - * Based on: See README.md * - * Author: Juan Reyes, Apr, 2017. * - * Copyright: Unlicense -> For more information, please refer to * - * Usage: See README.md * - ********************************************************************************************/ - -#include -#include -#include - -#include -#include -#include // Core graphics library for TFT LCD - GREENTAB*! -#include // Hardware-specific library for TFT LCD - GREENTAB*! - //GREENTAB*: Specific implementation for GREENTAB_LCD_HW, refer to Adafruit library documentation. - -#include "pin_layout.h" -#include "RFID_module.h" -#include "RTC_module.h" -#include "LCD_module.h" - - -timeState time; // Create a time object acc. to a unique RTC_DS3231 HW -Adafruit_ST7735 tft (LCD_CS, LCD_DC, LCD_RST); // Instantiate an object using HW manufacturer's library -display display_1(&tft); // Create a display object acc to specific HW (this enables the usage of multiple displays) -MFRC522 rfid(RFID_SS, RFID_RST); // Instantiate an object using HW manufacturer's library -rfid_unit rfid_unit_1(&rfid); -tag rfid_tag; // Tag information structure (Key & assigned name) - - - -void setup() -{ - time.initializeDS3231 (); // Setup for DS3231 - display_1.initializeTFT_LCD(); // Setup for LCD - rfid_unit_1.initializeRFID(); // Setup for RFID MFRC522 */ - display_1.initialize_SD_storage(); // Setup for records file in SD storage - pinMode(ACC_DENIED, OUTPUT); - pinMode(ACC_GRANTED, OUTPUT); - - // Enable this to adjust the RTC current time (ONLY ONCE) - // rtc.setDateTime (DateTime (2017, 04, 23, 13, 05, 00, 1)); - // DateTime (Year,Month,Date,Hour, Minute, Second, Weekday) --> (Sunday = 1) -} - - -void loop() -{ - display_1.print_date_time(&time); // LCD print current time & date - time.update_time(); // RTC Update current time - display_1.access_default_status(); // Acces denied by default - rfid_tag = rfid_unit_1.check_acces(); // Compare Tag info with authorized keys and parse user name - - if (rfid_unit_1.check_new_card()){ // To avoid recurrent tag loading: Execute only if new card has been loaded - display_1.validate_card(rfid_tag, &time); // Validate and execute access control - rfid_unit_1.clear_nuid(); // Clear RFID NUIDs - } -} diff --git a/SD_for_Ard_IDE/access_control/authorized_keys.h b/SD_for_Ard_IDE/access_control/authorized_keys.h deleted file mode 100644 index e78fa5b..0000000 --- a/SD_for_Ard_IDE/access_control/authorized_keys.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _AUTHORIZED_KEYS_ -#define _AUTHORIZED_KEYS_ - -#include - -const byte authorized_keys [5][4] = { // Authorized tag UIDs [number of tags] [Tag's UID-bytes] - {00,00,000,00}, // USE the decimal format!! - {00,00,000,00}, - {00,00,000,00}, - {00,00,000,00}, - {00,00,000,00}, -}; - -const int rows = sizeof(authorized_keys)/sizeof(authorized_keys[0]); -const int cols = sizeof(authorized_keys[0]); - -const String names [rows]={ // Corresponding name of each tag/key - {"JOHN"}, - {"DOE"}, - {"MARCO"}, - {"POLO"}, - {"ARDUINO"}, -}; - - -#endif // _AUTHORIZED_KEYS_ diff --git a/SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX b/SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX deleted file mode 160000 index cb95e03..0000000 --- a/SD_for_Ard_IDE/access_control/libraries/Adafruit_GFX +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 b/SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 deleted file mode 160000 index d53d4bf..0000000 --- a/SD_for_Ard_IDE/access_control/libraries/Adafruit_ST3775 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD_for_Ard_IDE/access_control/libraries/MFRC522 b/SD_for_Ard_IDE/access_control/libraries/MFRC522 deleted file mode 160000 index c5781e7..0000000 --- a/SD_for_Ard_IDE/access_control/libraries/MFRC522 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c5781e75598e76167d9079051bb77d02bfc595a4 diff --git a/SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 b/SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 deleted file mode 160000 index 162b718..0000000 --- a/SD_for_Ard_IDE/access_control/libraries/Sodaq_DS3231 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 162b71811f1d40323632c2df2700533604a8872f diff --git a/SD_for_Ard_IDE/access_control/pin_layout.h b/SD_for_Ard_IDE/access_control/pin_layout.h deleted file mode 100644 index 694a2d1..0000000 --- a/SD_for_Ard_IDE/access_control/pin_layout.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _PIN_LAYOUT_ -#define _PIN_LAYOUT_ - -/*Fixed pins for Arduino Mega 2560: - * SDA 20 - * SCL 21 - * SPI MOSI 51 - * SPI MISO 50 - * SPI SCK 52 -*/ - - -/* Connections from RTC DS3231 to Arduino Mega 2560: - * VCC 5V - * GND - * SDA 20 - * SCL 21 -*/ - - -/* Connections from SainSmart 1.8 ST7735R TFT LCD Module with MicroSD to Arduino Mega 2560:*/ -#define LCD_CS 46 // SainSmart: CS -#define LCD_DC 47 // SainSmart: RS/DC -#define LCD_RST 48 // SainSmart: RES -#define SD_CS 49 // SainSmart: SD card CS pin -// SD_MISO 50 // SainSmart: SD card MISO pin -// SDA & SD_MOSI 51 // Parallel connection -// SCL & SD_SCLK 52 // Parallel connection - - -/* Connection from MFRC522 to Arduino Mega 2560:*/ -// VCC 3.3V -#define RFID_RST 44 // MFRC522 Connection pin (RST) -#define RFID_SS 45 // MFRC522 Connection pin (SDA) -// MISO 50 // Parallel connection -// MOSI 51 // Parallel connection -// SCK 52 // Parallel connection - - -/* Output Connections */ - -#define ACC_DENIED 42 // Output / Led Signal for Access denied -#define ACC_GRANTED 43 // Output / Led Signal Access granted - -// If you connect a LED do not forget to add the resistor and GND connection. - - -#endif // _PIN_LAYOUT_ diff --git a/SD_for_Ard_IDE/access_control/platform.local.txt b/SD_for_Ard_IDE/access_control/platform.local.txt deleted file mode 100644 index 8863163..0000000 --- a/SD_for_Ard_IDE/access_control/platform.local.txt +++ /dev/null @@ -1,8 +0,0 @@ -# These can be overridden in platform.local.txt -compiler.c.extra_flags= -compiler.c.elf.extra_flags= -compiler.S.extra_flags= -compiler.cpp.extra_flags=-std=c++11 -compiler.ar.extra_flags= -compiler.objcopy.eep.extra_flags= -compiler.elf2hex.extra_flags= From ace0fcfbf39142ef5e1418fe3282389f298c7ccf Mon Sep 17 00:00:00 2001 From: rocadura Date: Wed, 10 May 2017 07:01:08 +0200 Subject: [PATCH 15/35] Deleted build files --- .../build-mega2560/SD_Makefile_Build.eep | 1 - .../build-mega2560/SD_Makefile_Build.elf | Bin 53472 -> 0 bytes .../build-mega2560/SD_Makefile_Build.hex | 2072 ----------------- .../SD_Makefile_Build.hex.sizeok | 0 .../build-mega2560/acces_control.d | 29 - .../build-mega2560/acces_control.o | Bin 5356 -> 0 bytes SD_Makefile_Build/build-mega2560/core/CDC.d | 14 - SD_Makefile_Build/build-mega2560/core/CDC.o | Bin 708 -> 0 bytes SD_Makefile_Build/build-mega2560/core/HID.d | 15 - SD_Makefile_Build/build-mega2560/core/HID.o | Bin 708 -> 0 bytes .../build-mega2560/core/HardwareSerial.d | 13 - .../build-mega2560/core/HardwareSerial.o | Bin 11208 -> 0 bytes .../build-mega2560/core/IPAddress.d | 14 - .../build-mega2560/core/IPAddress.o | Bin 3476 -> 0 bytes SD_Makefile_Build/build-mega2560/core/Print.d | 12 - SD_Makefile_Build/build-mega2560/core/Print.o | Bin 8812 -> 0 bytes .../build-mega2560/core/Stream.d | 12 - .../build-mega2560/core/Stream.o | Bin 6288 -> 0 bytes SD_Makefile_Build/build-mega2560/core/Tone.d | 12 - SD_Makefile_Build/build-mega2560/core/Tone.o | Bin 8892 -> 0 bytes .../build-mega2560/core/USBCore.d | 15 - .../build-mega2560/core/USBCore.o | Bin 712 -> 0 bytes .../build-mega2560/core/WInterrupts.d | 6 - .../build-mega2560/core/WInterrupts.o | Bin 4724 -> 0 bytes SD_Makefile_Build/build-mega2560/core/WMath.d | 2 - SD_Makefile_Build/build-mega2560/core/WMath.o | Bin 2044 -> 0 bytes .../build-mega2560/core/WString.d | 3 - .../build-mega2560/core/WString.o | Bin 20808 -> 0 bytes .../build-mega2560/core/avr-libc/malloc.d | 4 - .../build-mega2560/core/avr-libc/malloc.o | Bin 2976 -> 0 bytes .../build-mega2560/core/avr-libc/realloc.d | 4 - .../build-mega2560/core/avr-libc/realloc.o | Bin 2040 -> 0 bytes SD_Makefile_Build/build-mega2560/core/main.d | 12 - SD_Makefile_Build/build-mega2560/core/main.o | Bin 1076 -> 0 bytes SD_Makefile_Build/build-mega2560/core/new.d | 3 - SD_Makefile_Build/build-mega2560/core/new.o | Bin 1916 -> 0 bytes .../build-mega2560/core/wiring.d | 6 - .../build-mega2560/core/wiring.o | Bin 2868 -> 0 bytes .../build-mega2560/core/wiring_analog.d | 6 - .../build-mega2560/core/wiring_analog.o | Bin 2688 -> 0 bytes .../build-mega2560/core/wiring_digital.d | 6 - .../build-mega2560/core/wiring_digital.o | Bin 3852 -> 0 bytes .../build-mega2560/core/wiring_pulse.d | 6 - .../build-mega2560/core/wiring_pulse.o | Bin 1532 -> 0 bytes .../build-mega2560/core/wiring_shift.d | 6 - .../build-mega2560/core/wiring_shift.o | Bin 1516 -> 0 bytes SD_Makefile_Build/build-mega2560/libcore.a | Bin 309310 -> 0 bytes .../build-mega2560/libs/SD/File.d | 19 - .../build-mega2560/libs/SD/File.o | Bin 5376 -> 0 bytes SD_Makefile_Build/build-mega2560/libs/SD/SD.d | 19 - SD_Makefile_Build/build-mega2560/libs/SD/SD.o | Bin 8376 -> 0 bytes .../build-mega2560/libs/SD/utility/Sd2Card.d | 15 - .../build-mega2560/libs/SD/utility/Sd2Card.o | Bin 9936 -> 0 bytes .../build-mega2560/libs/SD/utility/SdFile.d | 18 - .../build-mega2560/libs/SD/utility/SdFile.o | Bin 21964 -> 0 bytes .../build-mega2560/libs/SD/utility/SdVolume.d | 11 - .../build-mega2560/libs/SD/utility/SdVolume.o | Bin 8136 -> 0 bytes .../build-mega2560/libs/Wire/Wire.d | 9 - .../build-mega2560/libs/Wire/Wire.o | Bin 8608 -> 0 bytes .../build-mega2560/libs/Wire/utility/twi.d | 6 - .../build-mega2560/libs/Wire/utility/twi.o | Bin 7788 -> 0 bytes .../build-mega2560/src/LCD_module.d | 28 - .../build-mega2560/src/LCD_module.o | Bin 10388 -> 0 bytes .../build-mega2560/src/RFID_module.d | 15 - .../build-mega2560/src/RFID_module.o | Bin 4280 -> 0 bytes .../build-mega2560/src/RTC_module.d | 15 - .../build-mega2560/src/RTC_module.o | Bin 2920 -> 0 bytes .../userlibs/Adafruit_GFX/Adafruit_GFX.d | 16 - .../userlibs/Adafruit_GFX/Adafruit_GFX.o | Bin 31416 -> 0 bytes .../userlibs/Adafruit_GFX/glcdfont.d | 2 - .../userlibs/Adafruit_GFX/glcdfont.o | Bin 712 -> 0 bytes .../Adafruit_ST3775/Adafruit_ST7735.d | 19 - .../Adafruit_ST3775/Adafruit_ST7735.o | Bin 13076 -> 0 bytes .../userlibs/MFRC522/src/MFRC522.d | 14 - .../userlibs/MFRC522/src/MFRC522.o | Bin 53008 -> 0 bytes .../userlibs/MFRC522/src/MFRC522Extended.d | 15 - .../userlibs/MFRC522/src/MFRC522Extended.o | Bin 18256 -> 0 bytes .../build-mega2560/userlibs/SPI/SPI.d | 13 - .../build-mega2560/userlibs/SPI/SPI.o | Bin 2464 -> 0 bytes .../userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d | 15 - .../userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o | Bin 10876 -> 0 bytes 81 files changed, 2522 deletions(-) delete mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep delete mode 100755 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf delete mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex delete mode 100644 SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok delete mode 100644 SD_Makefile_Build/build-mega2560/acces_control.d delete mode 100644 SD_Makefile_Build/build-mega2560/acces_control.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/CDC.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/CDC.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/HID.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/HID.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/HardwareSerial.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/HardwareSerial.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/IPAddress.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/IPAddress.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/Print.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/Print.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/Stream.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/Stream.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/Tone.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/Tone.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/USBCore.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/USBCore.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/WInterrupts.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/WInterrupts.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/WMath.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/WMath.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/WString.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/WString.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/malloc.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/malloc.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/main.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/main.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/new.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/new.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_analog.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_analog.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_digital.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_digital.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_pulse.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_pulse.o delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_shift.d delete mode 100644 SD_Makefile_Build/build-mega2560/core/wiring_shift.o delete mode 100644 SD_Makefile_Build/build-mega2560/libcore.a delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/File.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/File.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/SD.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/SD.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdFile.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdFile.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/Wire.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/Wire.o delete mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d delete mode 100644 SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o delete mode 100644 SD_Makefile_Build/build-mega2560/src/LCD_module.d delete mode 100644 SD_Makefile_Build/build-mega2560/src/LCD_module.o delete mode 100644 SD_Makefile_Build/build-mega2560/src/RFID_module.d delete mode 100644 SD_Makefile_Build/build-mega2560/src/RFID_module.o delete mode 100644 SD_Makefile_Build/build-mega2560/src/RTC_module.d delete mode 100644 SD_Makefile_Build/build-mega2560/src/RTC_module.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/Adafruit_GFX.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/Adafruit_GFX.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/glcdfont.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_GFX/glcdfont.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/SPI/SPI.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/SPI/SPI.o delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d delete mode 100644 SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep deleted file mode 100644 index 1996e8f..0000000 --- a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.eep +++ /dev/null @@ -1 +0,0 @@ -:00000001FF diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.elf deleted file mode 100755 index eaee68cfb46bf190dc16ba494ccdd4a830b07e83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53472 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 diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex deleted file mode 100644 index 7b59dbe..0000000 --- a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex +++ /dev/null @@ -1,2072 +0,0 @@ -:100000000C9489040C94BA040C94BA040C94BA04A9 -:100010000C94BA040C94BA040C94BA040C94BA0468 -:100020000C94BA040C94BA040C94BA040C94BA0458 -:100030000C94BA040C94BA040C94BA040C94BA0448 -:100040000C94BA040C94BA040C94BA040C94BA0438 -:100050000C94BA040C94BA040C94BA040C94D30C07 -:100060000C94BA040C944A3A0C943A3B0C94BA049B -:100070000C94BA040C94BA040C94BA040C94BA0408 -:100080000C94BA040C94BA040C94BA040C94BA04F8 -:100090000C947E3A0C94793B0C94BA040C94E53D94 -:1000A0000C94BA040C94BA040C94BA040C94BA04D8 -:1000B0000C94BA040C94BA040C94BA040C94BA04C8 -:1000C0000C94BA040C94BA040C94BA040C94B23A8A -:1000D0000C94B83B0C94BA040C94E63A0C94F73B9D -:1000E0000C94BA04ED0DF00DE30DE70D270EF40DA1 -:1000F000F80DFE0D020E060E0C0E100E140E270E3D -:100100001A0E1E0E220E0C94BB300C94BD0E0C94D5 -:100110001A2F0C949A350C9477140C945E250C9439 -:10012000FE0D0C94242C0C94060E0C94F80D0C94DB -:10013000D3050C94020E0C9487240C94E22F0C949B -:10014000ED390C94E70D0C94A3240C94300C0C9412 -:100150007C150C94140E0C94A4140C94832F0C9402 -:10016000B3330C94C5260C948F240C94270E0C9456 -:10017000BC0C0C94B40B0C941F260C94E30D0C9443 -:10018000193B0C94C0140C94C1300C9462250C944F -:100190003C260C94F00D0C9441300C9413260C94D6 -:1001A00016270C940A280C94DF140C9413050C9455 -:1001B000B2240C948E140C94100E0C94363C0C94B7 -:1001C000F42C0C94F1050C94C2390C941A0E0C9476 -:1001D00096390C94A6390C94ED0D0C94DC110C940A -:1001E000AA270C94E2390C9409280C94960B0C94D1 -:1001F0000C260C94B3240C940C0E0C943B260C94FB -:10020000E3240C94D51C0C94F40D0C94E9140C9478 -:10021000342D0C9434270C940B260C942B260C9420 -:100220001E0E0C9481260C943B2B0C94DB110C9429 -:10023000220E0000090A02080B0C0D070603040138 -:1002400000000000000000000000000000000000AE -:10025000000000000000000000000000000011107D -:100260000F0000000000000000000000000000007F -:10027000000000000000000001021020200808100B -:100280002040102040800201020108040201010206 -:1002900004081020408080402010080402018004DF -:1002A000020180402010080402010804020101023A -:1002B0000408102040800102040810204080050539 -:1002C0000505070508080808020202020A0A0808CC -:1002D00004040404010101010101010103030303FA -:1002E00003030303040707070C0C0C0C0C0C0C0C89 -:1002F0000202020206060606060606060B0B0B0B9A -:100300000B0B0B0B000020002300260029002C0003 -:100310002F00320000010000030106010901000066 -:100320002200250028002B002E003100340002019D -:100330000000050108010B01000021002400270036 -:100340002A002D00300033000101000004010701E4 -:100350000A017C3C3E5E2B3D3F2F5B5D3B2C2A22FD -:100360005C0000000000003E5B4F5B3E3E6B4F6B4D -:100370003E1C3E7C3E1C183C7E3C181C577D571C86 -:100380001C5E7F5E1C00183C1800FFE7C3E7FF00FF -:1003900018241800FFE7DBE7FF30483A060E26294D -:1003A000792926407F050507407F05253F5A3CE710 -:1003B0003C5A7F3E1C1C08081C1C3E7F14227F22D6 -:1003C000145F5F005F5F06097F017F006689956AA1 -:1003D000606060606094A2FFA29408047E0408102C -:1003E000207E201008082A1C08081C2A08081E1055 -:1003F0001010100C1E0C1E0C30383E3830060E3E0D -:100400000E06000000000000005F0000000700076B -:1004100000147F147F14242A7F2A12231308646295 -:1004200036495620500008070300001C22410000F6 -:1004300041221C002A1C7F1C2A08083E0808008054 -:1004400070300008080808080000606000201008EC -:1004500004023E5149453E00427F400072494949ED -:10046000462141494D331814127F1027454545391F -:100470003C4A494931412111090736494949364623 -:100480004949291E00001400000040340000000803 -:1004900014224114141414140041221408020159A6 -:1004A00009063E415D594E7C1211127C7F49494933 -:1004B000363E414141227F4141413E7F49494941C8 -:1004C0007F090909013E414151737F0808087F00F7 -:1004D000417F41002040413F017F081422417F407D -:1004E0004040407F021C027F7F0408107F3E414154 -:1004F000413E7F090909063E4151215E7F091929C4 -:1005000046264949493203017F01033F4040403FAD -:100510001F2040201F3F4038403F631408146303EE -:10052000047804036159494D43007F41414102046D -:10053000081020004141417F040201020440404074 -:100540004040000307080020545478407F2844446A -:10055000383844444428384444287F385454541884 -:1005600000087E090218A4A49C787F08040478007F -:10057000447D40002040403D007F10284400004161 -:100580007F40007C047804787C0804047838444474 -:100590004438FC1824241818242418FC7C0804046B -:1005A00008485454542404043F44243C4040207CD4 -:1005B0001C2040201C3C4030403C44281028444C27 -:1005C0009090907C4464544C4400083641000000F4 -:1005D000770000004136080002010204023C262395 -:1005E000263C1EA1A161123A4040207A385454554D -:1005F0005921555579412254547842215554784017 -:1006000020545579400C1E5272123955555559399E -:100610005454545939555454580000457C410002F3 -:10062000457D420001457C407D1211127DF0282558 -:1006300028F07C545545002054547C547C0A097F92 -:100640004932494949323A4444443A324A484830A6 -:100650003A4141217A3A42402078009DA0A07D3D58 -:100660004242423D3D4040403D3C24FF2424487EE0 -:100670004943662B2FFC2F2BFF0929F620C0887ECB -:10068000090320545479410000447D413048484AD0 -:1006900032384040227A007A0A0A727D0D19317D83 -:1006A0002629292F28262929292630484D40203857 -:1006B0000808080808080808382F10C8ACBA2F1016 -:1006C0002834FA00007B000008142A142222142A7D -:1006D00014085500550055AA55AA55AAFF55FF55AF -:1006E000FF000000FF00101010FF00141414FF00A2 -:1006F0001010FF00FF1010F010F0141414FC001480 -:1007000014F700FF0000FF00FF1414F404FC14149D -:1007100017101F10101F101F1414141F001010109A -:10072000F0000000001F101010101F10101010F02B -:1007300010000000FF101010101010101010FF100B -:10074000000000FF140000FF00FF00001F10170052 -:1007500000FC04F414141710171414F404F400002B -:10076000FF00F714141414141414F700F7141414DD -:10077000171410101F101F141414F4141010F0107C -:10078000F000001F101F0000001F14000000FC14E8 -:100790000000F010F01010FF10FF141414FF1410DC -:1007A00010101F00000000F010FFFFFFFFFFF0F02F -:1007B000F0F0F0FFFFFF0000000000FFFF0F0F0F41 -:1007C0000F0F3844443844FC4A4A4A347E02020639 -:1007D00006027E027E0263554941633844443C046C -:1007E000407E201E2006027E020299A5E7A5991CE4 -:1007F0002A492A1C4C7201724C304A4D4D30304807 -:10080000784830BC625A463D3E494949007E010164 -:10081000017E2A2A2A2A2A44445F444440514A44F9 -:100820004040444A51400000FF0103E080FF0000C7 -:1008300008086B6B083612362436060F090F0600BF -:100840000018180000001010003040FF0101001FC8 -:1008500001011E00191D1712003C3C3C3C00000029 -:10086000000004E010021C07123732292D29252B25 -:100870003900010310E110031D07062E2C292D2E2F -:100880002E373F0000021013800A298064022A04D8 -:100890000000007F2B040000007F022A04000000FB -:1008A0007F2B040000009F022A04000200812B0419 -:1008B000000100A00F0180961180FFB103012C2DD3 -:1008C000B203012C2DB306012C2D012C2DB40107F0 -:1008D000C003A20284C101C5C2020A00C3028A2A5F -:1008E000C4028AEEC5010E20003601C83A01051F78 -:1008F0001C1F1E1F1E1F1F1E1F1E1F001305D305BA -:10090000960B300C77145E25BB30363CF105B40BEA -:10091000BC0C11241FBECFEFD1E2DEBFCDBF00E083 -:100920000CBF13E0A0E0B2E0E4EFFFE700E00BBF94 -:1009300002C007900D92A636B107D9F72AE0A6E6C5 -:10094000B3E001C01D92A834B207E1F714E0C6E895 -:10095000D4E000E006C021970109802FFE010E942B -:10096000C63FCE37D10780E00807A9F70E94CE1115 -:100970000C94163F0C94000086ED96E00E94222510 -:100980008DE297E00C94C336CF93DF93EC018DE2B8 -:1009900097E00E94E936288339834A835B836C831E -:1009A0007D838E8330E02053384F8F8190E08053D9 -:1009B000984F2817390711F41EA602C081E08EA7B0 -:1009C00099818885981302C01FA602C081E08FA775 -:1009D0009A818985981302C018AA02C081E088AB69 -:1009E0009B818A85981302C019AA02C081E089AB55 -:1009F0009C818B85981302C01AAA02C081E08AAB41 -:100A00009D818C85981302C01BAA02C081E08BAB2C -:100A100087E0FE01DE01179601900D928A95E1F7BD -:100A2000DF91CF91089540E050E0BA018DE693E068 -:100A30000E94283640E050E0BA0186E693E00C942C -:100A40002836FC01718360830895FC01A081B18187 -:100A500013968C9113979281891771F08283149663 -:100A60008C911497838315968C9115978483169691 -:100A70008C91858381E0089580E00895CF93DF9382 -:100A8000DC01129620E030E0EC01E881F981E20F10 -:100A9000F31F13821D922F5F3F4F24303105A1F7C2 -:100AA000DF91CF910895CF93DF93EC0188819981F5 -:100AB000DC01ED91FC910280F381E02D19958823F2 -:100AC000A9F088819981DC01ED91FC910480F58188 -:100AD000E02D1995882351F0888199810E94CB35AA -:100AE00088819981DF91CF910C940E36DF91CF915F -:100AF0000895CF92DF92EF92FF920F931F93CF93BF -:100B0000DF93EC018B01CB010E94530560ED72E095 -:100B1000CE010E945610D8016D917C91E6E2F2E080 -:100B200020E030E06D5F7F4F6B0180E090E040E0BF -:100B3000D6011D916D017F01E80EF91ED7015C9170 -:100B4000151301C04F5F01968430910589F7443039 -:100B500071F481E08F8387E0829FB001839F700DE5 -:100B600011246C587C4FCE010E94A21007C01F8236 -:100B70002F5F3F4F349625303105B1F6CE01DF911E -:100B8000CF911F910F91FF90EF90DF90CF9008953C -:100B9000CF93DF93EC010E94123688819981DF9117 -:100BA000CF910C9468326AE072E084E793E00E948F -:100BB00056106FE072E08BE793E00E94561063E1FD -:100BC00072E082E893E00E94561069E172E089E8E1 -:100BD00093E00E9456106EE172E080E993E00C947D -:100BE0005610CF93DF93C7E9D3E02797CE010E9439 -:100BF000E80F83E0C437D807C1F7DF91CF9108959C -:100C00000F931F93CF93DF93EC018B0102960E9409 -:100C1000481519830883DF91CF911F910F91089593 -:100C2000CF93DF93EC0160E0888199810E948E2E42 -:100C300088819981DC01ED91FC91068CF78DE02D86 -:100C400060E070E0199561E0888199810E94182C1C -:100C50006FE170E088819981DF91CF910C941E2C17 -:100C6000EF92FF920F931F93CF93DF93CDB7DEB731 -:100C70006B970FB6F894DEBF0FBECDBF8C0161E35A -:100C800084E894E00E94D71281117AC0D8018D9136 -:100C90009C91DC01ED91FC91068CF78DE02D60E0DC -:100CA00070E0199562E0F801808191810E94182C12 -:100CB00060E078EFD8018D919C910E941E2C4AE053 -:100CC00050E06AE070E0F801808191810E94122C6E -:100CD0006AE372E0D8018D919C910E945C0F4EE115 -:100CE00050E06AE070E0F801808191810E94122C4E -:100CF00061E472E0D8018D919C910E945C0F42E307 -:100D000050E06AE070E0F801808191810E94122C2D -:100D100069E472E0D8018D919C910E945C0F46E4D9 -:100D200050E06AE070E0F801808191810E94122C0D -:100D300062E572E0D8018D919C910E945C0F4AE5BA -:100D400050E06AE070E0F801808191810E94122CED -:100D50006BE572E0D8018D919C910E945C0F4EE68C -:100D600050E06AE070E0F801808191810E94122CCD -:100D700063E672E0D8018D919C910E945C0FFFCFD9 -:100D800068E972E084E894E00E946C1481113EC02E -:100D900023E148E952E064E874E0CE0101960E9444 -:100DA000EA137801B2E0EB0EF11C8B819C81F80113 -:100DB000958384838D819E81AF81B8858683978357 -:100DC000A087B18789859A85AB85BC858287938703 -:100DD000A487B5878DE0FE013D96D8011E9601904F -:100DE0000D928A95E1F78A8D9B8DD8015C969C9334 -:100DF0008E935B97CE0101960E945B1569E672E0C7 -:100E0000C7010E945C0FC7010E94AB156B960FB61D -:100E1000F894DEBF0FBECDBFDF91CF911F910F9130 -:100E2000FF90EF900895CF93DF93EC014EE150E0F7 -:100E300069E170E0888199810E94122C63E872E078 -:100E4000888199810E945C0F60E08BE20E94640EB1 -:100E500061E08AE2DF91CF910C94640EAF92BF9271 -:100E6000CF92DF92EF92FF920F931F93CF93DF9376 -:100E7000CDB7DEB7CF56D1090FB6F894DEBF0FBE9F -:100E8000CDBF8C015B017A0168E972E084E894E0EF -:100E90000E946C14811194C0D8018D919C91DC0149 -:100EA000ED91FC91068CF78DE02D60E070E01995D6 -:100EB00062E0F801808191810E94182C60E078EF57 -:100EC000D8018D919C910E941E2C4AE050E06AE06E -:100ED00070E0F801808191810E94122C6AE372E037 -:100EE000D8018D919C910E945C0F4EE150E06AE028 -:100EF00070E0F801808191810E94122C60EE77E011 -:100F0000D8018D919C910E941E2C61E0F801808196 -:100F100091810E94182C62E972E0D8018D919C9118 -:100F20000E945C0F42E350E06AE070E0F8018081CB -:100F300091810E94122C60E078EFD8018D919C91F4 -:100F40000E941E2C62E0F801808191810E94182C81 -:100F500069E472E0D8018D919C910E945C0F46E497 -:100F600050E06AE070E0F801808191810E94122CCB -:100F700064EA72E0D8018D919C910E945C0F4AE571 -:100F800050E06AE070E0F801808191810E94122CAB -:100F90006BE572E0D8018D919C910E945C0F4EE64A -:100FA00050E06AE070E0F801808191810E94122C8B -:100FB00063E672E0D8018D919C910E945C0FFFCF97 -:100FC00023E148E952E064E874E0CE0101960E9412 -:100FD000EA136801B2E0CB0ED11C8B819C81F80131 -:100FE000958384838D819E81AF81B8858683978325 -:100FF000A087B18789859A85AB85BC8582879387D1 -:10100000A487B5878DE0FE013D96D8011E9601901C -:101010000D928A95E1F78A8D9B8DD8015C969C9301 -:101020008E935B97CE0101960E945B1587E0F701D6 -:10103000DE01D89601900D928A95E1F74AE06DADF8 -:10104000CE01CF960E94E61087E0F701DE01D1962F -:1010500001900D928A95E1F74AE06DA9CE018A5B75 -:101060009F4F0E94E61087E0F701DE019A960190FB -:101070000D928A95E1F74AE06DA5CE01835B9F4F03 -:101080000E94E61087E0F701DE01939601900D9231 -:101090008A95E1F72BA130E0B9016053784F4AE01F -:1010A000CE018C5A9F4F0E94141187E0F701DE0198 -:1010B0005C9601900D928A95E1F74AE06D8DCE0124 -:1010C000855A9F4F0E94E61087E0F701DE011196D6 -:1010D00001900D928A95E1F74AE06B81CE018E591D -:1010E0009F4F0E94E610B501CE0187599F4F0E9485 -:1010F000B9106CE2CE0187599F4F0E94AF11BE011B -:101100006E597F4F0E9483116CE20E94AF11BE01A5 -:10111000655A7F4F0E9483116CE20E94AF11BE019D -:101120006C5A7F4F0E9483116CE20E94AF11BE0186 -:10113000635B7F4F0E9483116FE372E00E94961100 -:10114000BE016A5B7F4F0E9483116FE372E00E94D1 -:101150009611BE01615C7F4F0E948311BC01C601E4 -:101160000E944A0FCE0187599F4F0E94E80FCE017F -:101170008E599F4F0E94E80FCE01855A9F4F0E94C3 -:10118000E80FCE018C5A9F4F0E94E80FCE01835B7F -:101190009F4F0E94E80FCE018A5B9F4F0E94E80F8D -:1011A000CE01CF960E94E80FC6010E94AB15C1592F -:1011B000DF4F0FB6F894DEBF0FBECDBFDF91CF91EA -:1011C0001F910F91FF90EF90DF90CF90BF90AF9065 -:1011D00008956F927F929F92AF92BF92CF92DF92CB -:1011E000EF92FF920F931F93CF93DF93CDB7DEB7AC -:1011F00027970FB6F894DEBF0FBECDBF6C015B0121 -:101200003A01DC018D919C91DC01ED91FC91048C03 -:10121000F58DE02DE12CF12C0AE010E024E630E021 -:101220004EE150E069E170E01995F5019780D60133 -:101230008D919C914EE150E0992009F465C068E2DF -:1012400070E00E94122C6AEA72E0F60180819181BE -:101250000E945C0F00EE17E024E130E048E750E028 -:101260006CE370E0D6018D919C910E94142948E2B4 -:1012700050E068E270E0F601808191810E94122CBA -:10128000B501D6018D919C910E944A0F61E08BE2DD -:101290000E94640E60E08AE20E94640E60ED77E0D6 -:1012A00080E090E00E944E0DF60180819181DC018A -:1012B000ED91FC91048CF58DE02D05E110E02EE61A -:1012C00030E04EE150E060E070E0199500E010E0A1 -:1012D00024E130E048E750E06CE370E0F601808103 -:1012E00091810E941429B501CE0101960E94B91086 -:1012F000A301BE016F5F7F4FC6010E942E07CE0182 -:1013000001960E94E80F4FC06EE170E00E94122C1F -:1013100062EB72E0D6018D919C910E945C0F48E2D5 -:1013200050E06EE170E0F601808191810E94122C04 -:1013300060EC72E0D6018D919C910E945C0F00E000 -:1013400018EF24E130E048E750E06CE370E0F6018C -:10135000808191810E94142968EE73E080E090E022 -:101360000E944E0DD6018D919C91DC01ED91FC9176 -:10137000048CF58DE02DE12CF12C05E110E02EE63A -:1013800030E04EE150E060E070E0199500E010E0E0 -:1013900024E130E048E750E06CE370E0F601808142 -:1013A00091810E941429892D27960FB6F894DEBFEB -:1013B0000FBECDBFDF91CF911F910F91FF90EF90A6 -:1013C000DF90CF90BF90AF909F907F906F900895E7 -:1013D000AF92BF92CF92DF92EF92FF920F931F9343 -:1013E000CF93DF93CDB7DEB7E8970FB6F894DEBFA3 -:1013F0000FBECDBF6C015B01DB01D0968C918823C1 -:1014000009F4BCC0F60180819181DC01ED91FC9171 -:10141000048CF58DE02DE12CF12C07E010E026E4A2 -:1014200030E040E050E068E270E01995F60180811C -:101430009181DC01ED91FC91048CF58DE02D23E38D -:1014400030E04AE050E060E070E0199540E050E0A4 -:101450006AE070E0F601808191810E94122C87E0A1 -:10146000F501DE01949601900D928A95E1F76CA149 -:1014700070E06053784F4AE0CE0101960E9414114B -:1014800087E0F501DE015D9601900D928A95E1F706 -:101490004AE06E8DCE0108960E94E61087E0F501C5 -:1014A000DE01569601900D928A95E1F74AE0688D2B -:1014B000CE018B960E94E6106AEC72E0CE01C296D5 -:1014C0000E945610BE016E5C7F4FCE010F960E94A7 -:1014D000B910BE01655D7F4FCE010F960E9483114A -:1014E0006EE20E94AF11BE01685F7F4F0E948311C0 -:1014F0006EE20E94AF11BE016F5F7F4F0E948311A9 -:10150000BC01D6018D919C910E944A0FCE010F968D -:101510000E94E80FCE01C2960E94E80FCE018B9682 -:101520000E94E80FCE0108960E94E80FCE010196B6 -:101530000E94E80F4AE050E06AE070E0F601808126 -:1015400091810E94122CD50116968C91B501B4E0C0 -:101550008B9F600D711D1124665F7F4FCE01019638 -:101560000E945610BE016F5F7F4FF601808191810E -:101570000E94FA0ECE0101960E94E80FD501D19685 -:101580008C91882309F446C0F60180819181DC01A9 -:10159000ED91FC91048CF58DE02DE12CF12C07E010 -:1015A00010E024E130E04AE050E06DE270E019958F -:1015B0004AE050E06DE270E0F601808191810E9486 -:1015C000122C87E0F501DE011F9601900D928A959D -:1015D000E1F74AE06A89CE0108960E94E610BE0152 -:1015E000685F7F4FCE0101960E94B9106FE372E0F1 -:1015F000CE0101960E949611BC01D6018D919C915D -:101600000E94FA0ECE0101960E94E80FCE010896C4 -:101610000E94E80FF50182A9882309F445C0D6018C -:101620008D919C91DC01ED91FC91048CF58DE02D68 -:10163000E12CF12C07E010E024E130E04AE050E03A -:1016400061E470E019954AE050E061E470E0F60171 -:10165000808191810E94122C87E0F501DE011896AD -:1016600001900D928A95E1F74AE06C85CE018B9648 -:101670000E94E610BE01655D7F4FCE0101960E947B -:10168000B9106AE3CE0101960E94AF11BC01D601E8 -:101690008D919C910E94FA0ECE0101960E94E80F56 -:1016A000CE018B960E94E80FF50183A9882369F18A -:1016B000D6018D919C91DC01ED91FC91048CF58D0E -:1016C000E02DE12CF12C07E010E024E130E04AE0CD -:1016D00050E065E570E019954AE050E065E570E09E -:1016E000F601808191810E94122C87E0F501DE01D4 -:1016F000119601900D928A95E1F74AE050E06E81D3 -:10170000D6018D919C910E94D10FE8960FB6F89466 -:10171000DEBF0FBECDBFDF91CF911F910F91FF9024 -:10172000EF90DF90CF90BF90AF9008956AE072E0A5 -:1017300087E993E00E9456106FE072E08EE993E033 -:101740000E94561063E172E085EA93E00E94561011 -:1017500069E172E08CEA93E00E9456106EE172E05B -:1017600083EB93E00C945610CF93DF93CAEBD3E056 -:101770002797CE010E94E80F83E0C739D807C1F749 -:10178000DF91CF91089584E294E00E94BC0488ED3B -:1017900093E00E94100682EC93E00E94C80588ED59 -:1017A00093E00E94300661E08AE20E94280E61E028 -:1017B0008BE20C94280ECF93DF93CDB7DEB728973A -:1017C0000FB6F894DEBF0FBECDBF64E274E088EDC3 -:1017D00093E00E94E80984E294E00E94C40488ED4A -:1017E00093E00E94130762EC73E0CE0101960E9421 -:1017F0007905BE016F5F7F4F8AEB93E00E94C310B3 -:1018000088858093C103CE0101960E94E80F82EC87 -:1018100093E00E9425058823D1F06AEB73E0CE01A6 -:1018200001960E94B9108091C103888744E254E078 -:10183000BE016F5F7F4F88ED93E00E94E908CE0103 -:1018400001960E94E80F82EC93E00E943E052896E4 -:101850000FB6F894DEBF0FBECDBFDF91CF910895D4 -:101860006AE072E088E594E00E9456106FE072E052 -:101870008FE594E00E94561063E172E086E694E002 -:101880000E94561069E172E08DE694E00E945610C5 -:101890006EE172E084E794E00E94561040E050E070 -:1018A000BA0184E294E00E94283640E050E0BA0198 -:1018B0008BE294E00E94283680E2E2E3F4E0DF016C -:1018C0001D928A95E9F7E4E2F4E083E595E7AEE658 -:1018D000B0E086879787A08BB18B8DE49FE6AEE65C -:1018E000B0E0828B938BA48BB58B84E595E7A5E65E -:1018F000B0E0868B978BA08FB18F87E595E6A4E645 -:10190000B0E0828F938FA48FB58F84E598E6A5E72A -:10191000B0E0868F978FA0A3B1A386E492E7A9E6F3 -:10192000B0E082A393A3A4A3B5A383E591E6A4E7C3 -:10193000B0E086A397A3A0A7B1A720E34FE26EE291 -:1019400085EF93E00E94652C65EF73E088ED93E0EE -:101950000E9400064CE26DE288EC93E00E942B317D -:1019600068EC73E082EC93E00E94210560ED72E088 -:101970008AEB93E00C945610CF93DF938AEB93E0BD -:101980000E94E80F8AED93E00E945B15CBE7D4E05C -:101990002797CE010E94E80F84E0C835D807C1F729 -:1019A000DF91CF9108951F920F920FB60F921124DD -:1019B0002F933F938F939F93AF93BF9380917C041A -:1019C00090917D04A0917E04B0917F0430917B04BE -:1019D00023E0230F2D3720F40196A11DB11D05C072 -:1019E00026E8230F0296A11DB11D20937B0480934E -:1019F0007C0490937D04A0937E04B0937F04809137 -:101A0000800490918104A0918204B0918304019696 -:101A1000A11DB11D8093800490938104A093820442 -:101A2000B0938304BF91AF919F918F913F912F917C -:101A30000F900FBE0F901F9018952FB7F8946091DC -:101A40007C0470917D0480917E0490917F042FBF6F -:101A500008953FB7F8948091800490918104A091FB -:101A60008204B091830426B5A89B05C02F3F19F0CE -:101A70000196A11DB11D3FBFBA2FA92F982F88270E -:101A8000820F911DA11DB11DBC01CD0142E0660F69 -:101A9000771F881F991F4A95D1F70895CF92DF923B -:101AA000EF92FF92CF93DF936B017C010E94290D8F -:101AB000EB01C114D104E104F10479F00E94290D75 -:101AC0006C1B7D0B683E7340A0F381E0C81AD108FF -:101AD000E108F108C851DC4FECCFDF91CF91FF90C6 -:101AE000EF90DF90CF900895789484B5826084BDA4 -:101AF00084B5816084BD85B5826085BD85B5816012 -:101B000085BDEEE6F0E0808181608083E1E8F0E071 -:101B10001082808182608083808181608083E0E8A0 -:101B2000F0E0808181608083E1EBF0E0808184607F -:101B30008083E0EBF0E0808181608083E1E9F0E088 -:101B4000808182608083808181608083E0E9F0E031 -:101B5000808181608083E1EAF0E08081826080831F -:101B6000808181608083E0EAF0E080818160808311 -:101B7000E1E2F1E080818260808380818160808306 -:101B8000E0E2F1E0808181608083EAE7F0E080813B -:101B90008460808380818260808380818160808393 -:101BA0008081806880831092C100089590E0FC01DC -:101BB0003197E131F10508F04AC08827EE58FF4F10 -:101BC0008F4F0C94C63F809180008F7703C0809127 -:101BD00080008F7D80938000089584B58F7702C048 -:101BE00084B58F7D84BD08958091B0008F7703C048 -:101BF0008091B0008F7D8093B00008958091900017 -:101C00008F7707C0809190008F7D03C080919000F6 -:101C1000877F8093900008958091A0008F7707C000 -:101C20008091A0008F7D03C08091A000877F80936A -:101C3000A0000895809120018F7707C08091200136 -:101C40008F7D03C080912001877F809320010895BC -:101C5000CF93DF9390E0FC01E858FD4F2491FC0105 -:101C6000E254FD4F8491882361F190E0880F991F21 -:101C7000FC01E85CFC4FC591D491FC01E25EFC4F95 -:101C8000A591B491611109C09FB7F89488812095FE -:101C900082238883EC912E230BC0623061F49FB7BE -:101CA000F8943881822F809583238883EC912E2BA2 -:101CB0002C939FBF06C08FB7F894E8812E2B288302 -:101CC0008FBFDF91CF9108951F93CF93DF93282F7C -:101CD00030E0F901EE5CFD4F8491F901E858FD4FC9 -:101CE000D491F901E254FD4FC491CC23C9F0162FD1 -:101CF00081110E94D60DEC2FF0E0EE0FFF1FE25E87 -:101D0000FC4FA591B4918FB7F894111105C09C9127 -:101D1000ED2FE095E92302C0EC91ED2BEC938FBF02 -:101D2000DF91CF911F910895CF93DF93282F30E05B -:101D3000F901EE5CFD4F8491F901E858FD4FD49113 -:101D4000F901E254FD4FC491CC2391F081110E941E -:101D5000D60DEC2FF0E0EE0FFF1FEC5FFC4FA591CE -:101D6000B491EC91ED2381E090E021F480E002C099 -:101D700080E090E0DF91CF910895CF92DF92EF92D3 -:101D8000FF920F931F93CF93DF936C01EB017B01C5 -:101D9000E40EF51E00E010E0CE15DF0561F069915C -:101DA000D601ED91FC910190F081E02DC6011995CD -:101DB000080F191FF1CFC801DF91CF911F910F912B -:101DC000FF90EF90DF90CF9008956115710579F045 -:101DD000FB0101900020E9F73197AF01461B570B3B -:101DE000DC01ED91FC910280F381E02D199480E0FB -:101DF00090E00895AF92BF92CF92DF92EF92FF9260 -:101E00000F931F93CF93DF936C017B01C0E0D0E071 -:101E100000E010E0D70114968D919C911597C8179A -:101E2000D90788F4D601ED91FC91A080B180BE0164 -:101E3000C7010E94BD11682FC601F5011995080F51 -:101E4000191F2196E7CFC801DF91CF911F910F9104 -:101E5000FF90EF90DF90CF90BF90AF900895DC019E -:101E6000ED91FC910190F081E02D19940F931F9357 -:101E7000CF93DF93EC016DE00E942F0F8C016AE09D -:101E8000CE010E942F0F800F911FDF91CF911F91E4 -:101E90000F9108950F931F93CF93DF93EC010E944E -:101EA000FA0E8C01CE010E94360F800F911FDF9138 -:101EB000CF911F910F9108950F931F93CF93DF93AD -:101EC000EC010E94E50E8C01CE010E94360F800FBE -:101ED000911FDF91CF911F910F9108958F929F9243 -:101EE000AF92BF92CF92DF92EF92FF920F931F9328 -:101EF000CF93DF93CDB7DEB7A1970FB6F894DEBFCF -:101F00000FBECDBF6C01142FE52FCB01022F19A2FC -:101F1000223008F40AE07E0121E2E20EF11C802E5C -:101F2000912CA12CB12C612F7E2FA50194010E9430 -:101F3000853F029F1019112481E0E81AF1081A3038 -:101F400014F4105D01C0195CF7011083122FE32F08 -:101F5000CA01232B242B252B31F7B701C6010E9480 -:101F6000E50EA1960FB6F894DEBF0FBECDBFDF9190 -:101F7000CF911F910F91FF90EF90DF90CF90BF9086 -:101F8000AF909F908F9008952115310541F4DC01A9 -:101F9000ED91FC910190F081E02D642F19940C9447 -:101FA0006E0F0F931F93CF93DF93EC019A01462F8F -:101FB00050E060E070E00E94C40F8C01CE010E94EE -:101FC000360F800F911FDF91CF911F910F910895D0 -:101FD000FC01808191810C94FE38CF93DF93EC015A -:101FE00088819981009711F00E94FE381982188229 -:101FF0001D821C821B821A82DF91CF9108950F935C -:102000001F93CF93DF93EC018B016F5F7F4F88812C -:1020100099810E948037009731F0998388831B83D0 -:102020000A8381E001C080E0DF91CF911F910F9181 -:102030000895CF93DF93EC0188819981892B29F052 -:102040008A819B818617970760F4CE010E94FF0F5B -:10205000882341F08C819D81892B19F4E881F981D5 -:10206000108281E0DF91CF910895EF92FF920F935C -:102070001F93CF93DF93EC017B018A01BA010E9489 -:102080001910811104C0CE010E94ED0F07C01D83FD -:102090000C83B701888199810E943A3FCE01DF917C -:1020A000CF911F910F91FF90EF900895FC01118245 -:1020B00010821382128215821482168261157105B4 -:1020C00051F0FB0101900020E9F73197AF01461B69 -:1020D000570B0C94351008950F931F93CF93DF93F4 -:1020E0008C01EB01FC0180819181009799F0428184 -:1020F00053812C813D814217530750F068817981CB -:102100000E943A3F8C819D81F8019583848313C09E -:102110000E94FE3888819981F801918380838A81A9 -:102120009B81938382838C819D8195838483198293 -:1021300018821B821A821D821C82DF91CF911F910F -:102140000F910895CF93DF93EC01FB01861797075A -:1021500061F0608171816115710529F044815581BB -:102160000E94351002C00E94ED0FCE01DF91CF9189 -:102170000895FC011182108213821282158214824A -:1021800016820C94A210CF93DF93EC018617970769 -:1021900011F00E946C10CE01DF91CF910895CF9382 -:1021A000DF93EC016115710559F0FB0101900020EE -:1021B000E9F73197AF01461B570B0E94351002C05B -:1021C0000E94ED0FCE01DF91CF9108950F931F93E1 -:1021D000CF93DF93CDB7DEB729970FB6F894DEBF64 -:1021E0000FBECDBF8C01862FF801118210821382A1 -:1021F000128215821482168250E0BE016F5F7F4FFB -:1022000090E00E94503FBE016F5F7F4FC8010E9467 -:10221000CF1029960FB6F894DEBF0FBECDBFDF9169 -:10222000CF911F910F9108950F931F93CF93DF9339 -:10223000CDB7DEB761970FB6F894DEBF0FBECDBF46 -:102240008C01CB01F8011182108213821282158257 -:102250001482168250E0BE016F5F7F4F0E94503F94 -:10226000BE016F5F7F4FC8010E94CF1061960FB60D -:10227000F894DEBF0FBECDBFDF91CF911F910F91BC -:102280000895EF92FF920F931F93CF93DF93FC017A -:10229000248135816115710511F480E019C0411563 -:1022A0005105A9F07B01EC018A01020F131FB8014F -:1022B0000E941910882389F3288139818C819D819E -:1022C000B701820F931F0E943A3F1D830C8381E068 -:1022D000DF91CF911F910F91FF90EF900895CF93D1 -:1022E000DF931F921F92CDB7DEB769831A8241E058 -:1022F00050E0BE016F5F7F4F0E9441110F900F9021 -:10230000DF91CF910895CF93DF93EC01FB014481DE -:102310005581608171810E944111811103C0CE01FC -:102320000E94ED0FCE01DF91CF910895CF93DF93FF -:10233000EC016115710561F0FB0101900020E9F7E6 -:102340003197AF01461B570B0E944111811103C009 -:10235000CE010E94ED0FCE01DF91CF910895CF9372 -:10236000DF93EC010E946F11811103C0CE010E9426 -:10237000ED0FCE01DF91CF910895FC0124813581CD -:102380006217730748F480819181009729F0FC015E -:10239000E60FF71F8081089580E008950E94740D74 -:1023A0000E94C30BC9E1DBE30E94DB0B2097E1F342 -:1023B0000E94193BF9CF08951F93CF93DF93CDB7B8 -:1023C000DEB76D970FB6F894DEBF0FBECDBFAB0181 -:1023D0001C821B8227EE32E03A8329831E8221E091 -:1023E000BC01CE0101960E94461A182F882321F0C5 -:1023F000CE0101960E941219812F6D960FB6F894A6 -:10240000DEBF0FBECDBFDF91CF911F9108950F9317 -:102410001F93CF93DF93DA01EB0128813981FC010F -:10242000E20FF31F40814F3211F42F5F3F4F8D01B8 -:10243000E0E0F0E0AC01420F531FEA0158815F3247 -:1024400059F0552349F031962F5F3F4FE8015993DA -:102450008E01EC30F10571F7EA0FFB1F1082FC01D1 -:10246000E20FF31F40814F3211F42F5F3F4FFB010A -:1024700031832083FC01E20FF31F81E090819111F1 -:1024800001C080E0DF91CF911F910F9108954F928D -:102490005F926F927F928F929F92AF92BF92CF92F4 -:1024A000DF92EF92FF920F931F93CF93DF93CDB7FD -:1024B000DEB7C954D1090FB6F894DEBF0FBECDBF49 -:1024C0005C016B013A01490119A218A287EE92E062 -:1024D0009F8F8E8F1BA21C821B829A8389831E82F0 -:1024E0002A961FAE1EAE2A978B017E018EE1E80E62 -:1024F000F11C44244394AE01455C5F4FBE01685B10 -:102500007F4FC5010E940712582E482F4425940181 -:10251000BE01655C7F4FC801F3011995811108C0A8 -:102520000C151D0519F0C8010E94121980E027C082 -:102530005520B9F021E0AE01455C5F4FB801C701FD -:102540000E94461A582E0C151D0599F0C8010E94CC -:102550001219552059F3902F812F8701E92EF82E5B -:10256000CACF0C151D0519F0C8010E94121981E08F -:1025700006C08823D9F28E010F5F1F4FECCFC75BD7 -:10258000DF4F0FB6F894DEBF0FBECDBFDF91CF9106 -:102590001F910F91FF90EF90DF90CF90BF90AF9081 -:1025A0009F908F907F906F905F904F9008950F93C2 -:1025B0001F93CF93DF93EC01462F61E00E94BA1D79 -:1025C000882391F08E01045F1F4F41E0BE01C801D6 -:1025D0000E947023882351F0B801CE018A960E9490 -:1025E000961691E081110AC090E008C040E0BE015B -:1025F000C8010E9470238823B9F3EECF892FDF91A1 -:10260000CF911F910F910895FC01DB0112968D91DE -:102610009C9113979383828387EE92E091838083CA -:1026200014968C911497848315968C9115978583B5 -:1026300016964D915D916D917C91199746835783C4 -:10264000608771871A964D915D916D917C911D9770 -:1026500042875387648775871E964D915D916D9172 -:102660007C91519746875787608B718B52968C91DE -:102670005297828B53964D915D916D917C915697B7 -:10268000438B548B658B768B57964D915D916D91F5 -:102690007C915A97478B508F618F728F5B968D918B -:1026A0009C915C97948F838F08954F925F926F9265 -:1026B0007F928F929F92AF92BF92CF92DF92EF92D2 -:1026C000FF920F931F93CF93DF93CDB7DEB7C7541D -:1026D000D1090FB6F894DEBF0FBECDBF6C015A0111 -:1026E0004901665D7F4F7E018EE1E80EF11CC70156 -:1026F0000E9404131C821B8287EE92E09A838983D6 -:102700001E828501FE0131963F0127016FE270E0D4 -:10271000C8010E942F3F0097D9F1F80120812F3284 -:1027200019F40F5F1F4FF2CF801B8D3008F08CE043 -:10273000E82EF12CA701B801CE01CB960E94413FB3 -:10274000EBE3F0E0EC0FFD1FEE0DFF1D1082C30167 -:102750000E94121921E0AE01455C5F4FB201C30136 -:102760000E94461A811109C0F6011382128287EE77 -:1027700092E091838083158214C00E0D1F1DC2014B -:102780000E941219942D852D2301692E782EBECF1B -:102790000A191B09F40111830083B201C6010E94CA -:1027A0000413C601C95BDF4F0FB6F894DEBF0FBE3E -:1027B000CDBFDF91CF911F910F91FF90EF90DF90F0 -:1027C000CF90BF90AF909F908F907F906F905F90D1 -:1027D0004F900895CF92DF92FF920F931F93CF9364 -:1027E000DF93CDB7DEB7C955D1090FB6F894DEBF78 -:1027F0000FBECDBF6C018A01F22E9E01285A3F4FB9 -:10280000CE01CB960E9455136A968EAD9FAD6A9706 -:10281000080F191FF801808181110AC0BE01655C93 -:102820007F4FCE0101960E94041341ED52E03EC05D -:1028300019A218A287EE92E09F8F8E8F1BA221967D -:102840008FAD2197811104C0C6010E94481534C084 -:1028500082502F2DA801823048F46EEA74E0CE0138 -:102860004E960E94461A81110EC0EECFBE01655CE5 -:102870007F4FCE014E960E94461A882329F3CE013F -:10288000CB960E9412199F2D967041F049A95AA922 -:102890006BA97CA9CE014E960E943518BE01625EDE -:1028A0007F4FCE0101960E940413A801BE016F5F05 -:1028B0007F4FC6010E941315C601C75ADF4F0FB6DE -:1028C000F894DEBF0FBECDBFDF91CF911F910F9166 -:1028D000FF90DF90CF900895FB01BC01665D7F4FB4 -:1028E00020E030E04CED51E1CF010C944712E4E8D8 -:1028F000F4E0158216821186138682E090E0A0E053 -:10290000B0E084879587A687B78713A215A614A67B -:1029100087EE92E093A782A717A60895CF93DF933F -:102920001F92CDB7DEB76983DC01ED91FC91028087 -:10293000F381E02D41E050E0BE016F5F7F4F1995BC -:102940000F90DF91CF910895CF93DF93EC01898DA4 -:102950009A8D009739F481E090E09B838A8380E030 -:1029600090E00BC0FC01138212820E94341BE98D9F -:10297000FA8D22813381232B71F7DF91CF91089556 -:10298000FC01818D928D009711F00C94CB18089565 -:10299000CF93DF931F92CDB7DEB741E050E0BE0189 -:1029A0006F5F7F4F0E94E716019719F4898190E0CD -:1029B00002C08FEF9FEF0F90DF91CF910895FC0140 -:1029C000818D928D009711F00C94C8148FEF9FEFBA -:1029D00008950F931F93CF93DF93FC01818D928D08 -:1029E0000097B9F0EF010E94C8148C010F3F8FEFE0 -:1029F000180791F0898D9A8DFC0142855385648575 -:102A0000758541505109610971090E943518C80145 -:102A100005C080E090E002C08FEF9FEFDF91CF9183 -:102A20001F910F910895EF92FF920F931F93CF93F1 -:102A3000DF93EC017B018A011B821A8288EE93E00E -:102A4000A0E0B0E08C839D83AE83BF8387ED92E0EE -:102A5000998388838DE190E00E9469389A8F898FED -:102A6000009779F02DE1F701DC0101900D922A9594 -:102A7000E1F74CE050E0B801CE010C960E94413FD6 -:102A8000188EDF91CF911F910F91FF90EF900895D5 -:102A9000FC011382128288EE93E0A0E0B0E0848310 -:102AA0009583A683B78387ED92E091838083128E0E -:102AB000118E148608950895DC015996ED91FC91CC -:102AC0005A97309729F06285738584859585089596 -:102AD0006FEF7FEFCB010895DC015996ED91FC91EA -:102AE0005A97309729F06389748985899689089562 -:102AF00060E070E0CB010895CF92DF92EF92FF92F9 -:102B0000CF93DF93FC01218D328D232BD9F0EC0183 -:102B10000E946C156B017C01CE010E945C15A7011F -:102B20009601261B370B480B590BDA01C901811599 -:102B300030E89307A105B10538F08FEF9FE7A0E0DB -:102B4000B0E002C080E090E0DF91CF91FF90EF9085 -:102B5000DF90CF900895CF93DF93EC01898D9A8D0C -:102B6000009741F00E941219898D9A8D0E94FE38BB -:102B70001A8E198EDF91CF910895CF93DF93EC01D8 -:102B80009C012A5F3F4F41E050E060E070E08B8D98 -:102B90009C8D0E9405228823A1F08F89988DA98D94 -:102BA000BA8D892B8A2B8B2B59F48E819F81A88516 -:102BB000B9858F8B988FA98FBA8F8C8180688C8311 -:102BC00081E0DF91CF910895CF92DF92EF92FF9253 -:102BD0001F93CF93DF93EC010E94BD15811102C0BA -:102BE00080E04AC0EB8DFC8DCE80DF80E884F984E4 -:102BF00082E0C81AD108E108F108058404C0CC0CB1 -:102C0000DD1CEE1CFF1C0A94D2F786859785A089EF -:102C1000B189C80ED91EEA1EFB1E148181E0C81AB4 -:102C2000D108E108F108112361F0C701B601610F75 -:102C3000711D811D911D0E945420882389F211501D -:102C4000F2CFEB8DFC8D80E092E0A0E0B0E0058457 -:102C500004C0880F991FAA1FBB1F0A94D2F74B8983 -:102C60005C896D897E89840F951FA61FB71F8B8B8A -:102C70009C8BAD8BBE8B81E0DF91CF911F91FF903C -:102C8000EF90DF90CF900895CF93DF93EC01462F24 -:102C90006E857F85888999890E941920882341F053 -:102CA0008A8920E2829FC00111248A529B4F02C070 -:102CB00080E090E0DF91CF910895FB019B01255FBB -:102CC0003F4F40E24193E217F307E1F7DC0190E068 -:102CD00027E08D91882319F18E3219F0E2E5F3E0B7 -:102CE00008C02A3009F198E02AE0F3CF319638176E -:102CF000D9F034913111FACF2917B0F03FED380FE8 -:102D00003E3590F431E0390FFB01E90FF11D9FE9E9 -:102D1000980F9A3108F480528083932FDACF81E0A4 -:102D2000FB019081903209F480E008950F931F9386 -:102D3000CF93DF93FC012581222311F080E042C074 -:102D40008B01EC01FB0187898031B1F482E08D8336 -:102D50001F8A188E198E1A8E808D918DA0E0B0E09A -:102D600025E0880F991FAA1FBB1F2A95D1F78B8BCF -:102D70009C8BAD8BBE8B15C0803201F783E08D83B9 -:102D8000FB01428D538D648D758D4F8B588F698FEC -:102D90007A8F9E012D5E3F4FC8010E94FC20882340 -:102DA00069F21C8F0B8F81E08C831E821F82188634 -:102DB00019861A861B861C861D861E861F86188A03 -:102DC000198A1A8ADF91CF911F910F9108952F923E -:102DD0003F924F925F926F927F928F929F92AF92AB -:102DE000BF92CF92DF92EF92FF920F931F93CF93F8 -:102DF000DF93EC015B014A018D81811103C08FEFEC -:102E00009FEFD7C08C8180FFFACF4B885C886D889C -:102E10007E884A855B856C857D85C401A0E0B0E035 -:102E200093018201041B150B260B370B081719079A -:102E30002A073B0718F44201841A950A24011E014F -:102E400026E0220E311C4114510409F47EC04A854B -:102E50005B856C857D856A0181E0D822ED818A01E0 -:102E60009B0189E036952795179507958A95D1F7A7 -:102E70008B8D9C8DE23061F4FC01828D938DA48D4D -:102E8000B58DBC01CD01600F711F821F931F3FC024 -:102E9000FC0174807A947022C114D104C9F47110B9 -:102EA00017C0452B462B472B49F48F89988DA98D48 -:102EB000BA8D8E839F83A887B9870AC04E815F81B0 -:102EC0006885798591010E947820882309F497CF3D -:102ED000EB8DFC8D8E819F81A885B9850297A10914 -:102EE000B109058404C0880F991FAA1FBB1F0A944B -:102EF000D2F74685578560897189840F951FA61F73 -:102F0000B71FBC01CD01670D711D811D911D20E012 -:102F100032E02C193D0932012415350508F4390138 -:102F20002C8126FD04C06114F2E07F0679F5009142 -:102F300000021091010220910202309103026017F9 -:102F400071078207930719F421C0C40132C07501CB -:102F500083019601AB01BC018091D4049091D5040A -:102F60000E943C1F882309F44ACFA60CB71C8A850F -:102F70009B85AC85BD85860D971DA11DB11D8A87DA -:102F80009B87AC87BD87461857085DCF40E00E94FD -:102F90001920882309F433CFF601EA52FB4FD501FB -:102FA000CF01860D971DE817F907F9F221912D93AE -:102FB000FACFDF91CF911F910F91FF90EF90DF90AB -:102FC000CF90BF90AF909F908F907F906F905F90C9 -:102FD0004F903F902F900895FF920F931F93CF93A0 -:102FE000DF931F92CDB7DEB7FC012581223018F4A4 -:102FF00080E090E033C08C01FC01428553856485FC -:10300000758585E076956795579547958A95D1F7AB -:10301000F42FFF70FF2E41E050E0BE016F5F7F4F45 -:10302000C8010E94E716019719F4898190E002C057 -:103030008FEF9FEF0196E1F2F80182859385A485D9 -:10304000B5854F96A11DB11D82879387A487B5874B -:10305000F0E2FF9EC00111248A529B4F0F90DF9136 -:10306000CF911F910F91FF9008958F929F92AF92F1 -:10307000BF92CF92DF92EF92FF920F931F93CF9365 -:10308000DF93EC018D81811102C080E077C00B8954 -:103090001C892D893E890417150726073707A8F3D1 -:1030A0006A017B01823029F4CA86DB86EC86FD86C4 -:1030B0000DC0C114D104E104F10451F41E821F8239 -:1030C000188619861A861B861C861D8681E056C0C6 -:1030D0008A849B84AC84BD84EB8DFC8D258530E097 -:1030E000275F3F4FB501A4014150510961097109A2 -:1030F000022E04C076956795579547950A94D2F7A6 -:10310000D701C6010197A109B10904C0B695A795D9 -:10311000979587952A95D2F784179507A607B7073D -:1031200020F089288A288B2849F44F89588D698D89 -:103130007A8D4E835F836887798704C0841B950BE3 -:10314000A60BB70B4C015D018E010A5F1F4F811466 -:103150009104A104B10409F4A7CF4E815F81688571 -:10316000798598018B8D9C8D0E94782091E0891A39 -:103170009108A108B1088111EACF87CFDF91CF91E3 -:103180001F910F91FF90EF90DF90CF90BF90AF9085 -:103190009F908F9008950F931F93CF93DF93EC012F -:1031A0008D818823C9F18C8187FF30C061E0CE0119 -:1031B0000E9444168C01892B79F18D81823048F46C -:1031C0008B899C89AD89BE89F801848F958FA68FE4 -:1031D000B78F8F89988DA98DBA8DF801938F828FC3 -:1031E000B58BA48BE091CD04F091CE04309759F0CB -:1031F000B8016A5E7F4FC80148961995F801808D25 -:10320000918D938B828B8C818F778C83DF91CF9183 -:103210001F910F910C94DE1F80E0DF91CF911F91E1 -:103220000F910895CF93DF93EC010E94CB18882370 -:1032300011F01D8281E0DF91CF9108954F925F924E -:103240006F927F928F929F92AF92BF92EF92FF9276 -:103250000F931F93CF93DF9300D01F92CDB7DEB7AC -:10326000FC0185818130E9F4848181FF1AC0838962 -:103270009489A589B68984179507A607B70788F0AA -:10328000892B8A2B8B2B09F479C04A015B017F01C2 -:103290004284538464847584CF010E94351881115F -:1032A00002C080E06CC0F701838D948D811491047D -:1032B000A104B10471F44789508D618D728D0E9413 -:1032C0001A23882371F3F701178A108E118E128E3C -:1032D0003AC0F70146815781608571859E012F5F55 -:1032E0003F4F0E9478208823E1F249815A816B8107 -:1032F0007C81F701838D948DFC012789203129F091 -:1033000008EF1FEF2FEF3FE004C008EF1FEF20E0B2 -:1033100030E04017510762077307A8F40E941A2390 -:10332000882309F4BECFF7014681578160857185F6 -:103330000FEF1FEF2FEF3FE0838D948D0E946521EB -:10334000882309F4AECFF701838A948AA58AB68AC6 -:10335000848180688483C7010E94CB18882309F484 -:10336000A0CFB501A401481459046A047B0410F4E9 -:10337000B301A201C7010E94351801C081E00F907E -:103380000F900F900F90DF91CF911F910F91FF90B1 -:10339000EF90BF90AF909F908F907F906F905F90D5 -:1033A0004F9008951F93CF93DF93EC0180E2689FC5 -:1033B000F00111249F012A523B4FD9011B969C9189 -:1033C000917129F0842F827411F080E05BC0142F7A -:1033D0006A8B8091000290910102A0910202B0914B -:1033E00003028E879F87A88BB98BEA52FB4F4489D3 -:1033F000558960E070E0BA01552744274F8B588FFC -:10340000698F7A8F828D938DA0E0B0E0482B592B85 -:103410006A2B7B2B4F8B588F698F7A8FD9011B9624 -:103420008C91887151F4848D958DA68DB78D8B8B81 -:103430009C8BAD8BBE8B81E00DC0803131F69E013F -:103440002D5E3F4F8B8D9C8D0E94FC20882309F4BC -:10345000BCCF84E08D83812F8F708C831E821F826E -:10346000188619861A861B861C861D8616FF09C0BB -:1034700040E050E0BA01CE01DF91CF911F910C9452 -:103480001E1981E0DF91CF911F910895CF92DF92B5 -:10349000EF92FF920F931F93CF93DF93CDB7DEB7D9 -:1034A0002C970FB6F894DEBF0FBECDBFFC0135815F -:1034B0003111C2C0D22E8B017C01BE016F5F7F4FE4 -:1034C000CA010E945D16882309F4B6C0F801838DF5 -:1034D000948DF701948F838FF801168217821086DE -:1034E0001186128613861486158630E0F8018285CF -:1034F0009385A485B5854389548965897689841720 -:103500009507A607B70708F041C025E0B695A7952F -:10351000979587952A95D1F7F82FFF70CF2EC80180 -:103520003C870E94EC173C85009709F485C0FC019C -:103530002081222309F484C0253E99F04BE050E01D -:10354000BC01CE0101963C870E94193F3C85892B26 -:1035500069F68D2D8073803309F46EC04D2D6C2D6E -:1035600067C031116BC0F701C28A409100025091CF -:103570000102609102027091030246875787608BB7 -:10358000718BFC01808131E08111B0CF8D2D827172 -:10359000823109F051C0332341F061E0C7010E943C -:1035A00044168C01892B79F447C0F801858182305B -:1035B00009F442C0C8010E94E4158823E9F1F7012B -:1035C000128A06ED14E080E2F80111928A95E9F77B -:1035D0008BE0FE013196D80101900D928A95E1F7BA -:1035E000E091CD04F091CE04309739F0B801625FDC -:1035F0007F4FC8014096199509C081E298E2F80111 -:10360000918B808B80E098E097878687F80180898E -:103610009189938B828B918F808F86859785978BED -:10362000868B0E94DE1F882339F04D2DF7016289B9 -:10363000C7010E94D21909C080E007C031E056CF0F -:10364000332309F490CF31E0A1CF2C960FB6F89434 -:10365000DEBF0FBECDBFDF91CF911F910F91FF90C5 -:10366000EF90DF90CF9008952F923F924F925F920C -:103670006F927F928F929F92AF92BF92CF92DF9282 -:10368000EF92FF920F931F93CF93DF9300D01F927F -:10369000CDB7DEB78C016B013A01DC0115968C9138 -:1036A00015978130C9F414968C9181FF15C082FF63 -:1036B0001DC0F8014389548965897689828593857F -:1036C000A485B58584179507A607B70779F0C801C3 -:1036D0000E94351881110AC081E090E0D80113964C -:1036E0009C938E93129780E090E048C1430184C080 -:1036F000D8015B968D919C915C97FC0154802FEFD3 -:10370000250D1A012B0139E05694479437942794DC -:103710003A95D1F7522E52207A01F1E0FF2255203E -:1037200009F476C080E092E08E199F095401881553 -:10373000990508F45C01D8015B962D913C915C974A -:1037400016968D919D910D90BC91A02D0297A10987 -:10375000B109F901058404C0880F991FAA1FBB1F76 -:103760000A94D2F74685578560897189840F951F21 -:10377000A61FB71F9C01AD01250D311D411D511D17 -:1037800019012A01A11432E0B30609F088C0809122 -:10379000000290910102A0910202B09103028215F1 -:1037A0009305A405B50559F48FEF9FEFDC018093D5 -:1037B000000290930102A0930202B09303029601CB -:1037C000B201A1018091D4049091D5040E94901F70 -:1037D000882309F481CF9EEFD91A8A189B08F80133 -:1037E00082859385A485B5858A0D9B1DA11DB11D7C -:1037F00082879387A487B587D8011A964D915D91EA -:103800006D917C911D978114910409F071CF87C04F -:10381000E114F10409F086CF16964D915D916D91FA -:103820007C911997411551056105710559F4579619 -:103830008D919D910D90BC91A02D0097A105B10592 -:1038400041F521C09E012F5F3F4F0E9478208823C1 -:1038500009F44ACF89819A81AB81BC81F801238D1B -:10386000348DF9012789203129F048EF5FEF6FEFA0 -:103870007FE004C048EF5FEF60E070E084179507D9 -:10388000A607B70730F0C8010E94BD1581114ACFC5 -:1038900023CFF80186839783A087B18743CFE114B4 -:1038A000F10429F5D8011A964D915D916D917C91A5 -:1038B0001D9753968D919D910D90BC91A02D481709 -:1038C00059076A077B0798F00E94DE1F882309F4D6 -:1038D00003CF2092000230920102409202025092E5 -:1038E00003028091D30481608093D30408C041E037 -:1038F000C201B1010E941920882309F4EDCED6013E -:10390000F701EA52FB4FCF018A0D9B1DE817F9071B -:1039100019F02D912193FACFCA0CDB1C5ECF539680 -:10392000CD90DD90ED90FC90569714968C91C41636 -:10393000D506E606F70640F4F801438B548B658BF9 -:10394000768B806884830DC02091CD043091CE04A5 -:10395000232B39F06114710421F08068D80114968A -:103960008C93F801848183FD02C0C30107C0C801A4 -:103970000E94CB18882309F4AFCEF7CF0F900F9099 -:103980000F900F90DF91CF911F910F91FF90EF90CB -:10399000DF90CF90BF90AF909F908F907F906F906F -:1039A0005F904F903F902F900895CF93DF931F9299 -:1039B000CDB7DEB7698341E050E0BE016F5F7F4F56 -:1039C0000E94341B0F90DF91CF9108958EBD0DB4EE -:1039D00007FEFDCF08958FEF0E94E61C8EB5089577 -:1039E00061E0FC0184810C94640E60E0FC01848140 -:1039F0000C94640ECF93DF93FC0186818823D1F071 -:103A00008FEF8EBD4FEF878190859C012F5F3F4FD9 -:103A1000308727838130924028F40DB407FEFDCF14 -:103A20004EBDF1CF0DB407FEFDCFEF01CF010E94D7 -:103A3000F01C1E82DF91CF910895673028F026E1B7 -:103A4000FC01258380E008958DB560FD02C06630DD -:103A500011F48E7F01C081608DBD8CB58C7F8CBDD3 -:103A60009CB562FD02C080E001C082E06695617095 -:103A7000692B862B8CBD81E008950F931F93CF9304 -:103A8000DF93EB010E941D0D8B010E94EB1C8F3F09 -:103A900049F00E941D0D601B710B6C177D07A8F388 -:103AA00080E001C081E0DF91CF911F910F910895D7 -:103AB000CF92DF92FF920F931F93CF93DF9300D0AB -:103AC0001F92CDB7DEB76C01F62E29833A834B8364 -:103AD0005C830E94FA1CC6010E94F51C6CE271E036 -:103AE000C6010E943D1D8F2D80640E94E61C08E1E6 -:103AF00010E05C814B813A812981DA01C901002EF5 -:103B000004C0B695A795979587950A94D2F729830F -:103B10003A834B835C830E94E61C0850110929817B -:103B20003A814B815C81083F8FEF180731F7FF2006 -:103B300029F0E8E0FE1204C087E803C085E901C06F -:103B40008FEF0E94E61C10E00E94EB1CF6018287BA -:103B500087FF04C01F3F11F01F5FF6CF0F900F903B -:103B60000F900F90DF91CF911F910F91FF90DF90F9 -:103B7000CF9008958F929F92AF92BF92EF92FF9253 -:103B80000F931F93CF93DF93EC01E62E1B861986CC -:103B90001E821D824C830E941D0D8B0161E08C8171 -:103BA0000E94280ECE010E94F01C60E082E30E9479 -:103BB000280E61E083E30E94280E61E084E30E9406 -:103BC000280E61E085E30E94280E61E085E30E94F3 -:103BD000640E83E58CBD8DB58E7F8DBD2AE0F22EFF -:103BE0008FEF0E94E61CFA94F110FACFCE010E94EA -:103BF000F51C20E030E0A90160E0CE010E94581DD4 -:103C0000F82E8A8781E0F81649F00E941D0D601B8E -:103C1000710B613D774068F381E04CC02AEA31E0E6 -:103C200040E050E068E0CE010E94581D82FF02C0D3 -:103C3000FB860EC094E0F92E0E94EB1C8A87FA9452 -:103C4000F110FACF8A3A11F082E034C082E08B871B -:103C50008B85823021F0812C912C540105C0812C60 -:103C6000912CA12C80E4B82E20E030E0A90167E37C -:103C7000CE010E94581DA501940169E2CE010E9467 -:103C8000581D8A87882349F00E941D0D601B710B07 -:103C9000613D774048F388E00DC08B85823039F56F -:103CA00020E030E0A9016AE3CE010E94581D88237C -:103CB00089F086E08D83CE010E94F01C80E0DF91C8 -:103CC000CF911F910F91FF90EF90BF90AF909F9079 -:103CD0008F9008950E94EB1C807C803C11F483E05F -:103CE0008B870E94EB1C0E94EB1C0E94EB1CCE01F8 -:103CF0000E94F01C6E2DCE01DF91CF911F910F918C -:103D0000FF90EF90BF90AF909F908F900C941D1DEF -:103D10000F931F93CF93DF93EC010E941D0D8B0136 -:103D20000E94EB1C8A878F3F49F40E941D0D601B87 -:103D3000710B6D327140A0F38FE003C08E3F39F0FC -:103D40008DE08D83CE010E94F01C80E001C081E0F7 -:103D5000DF91CF911F910F910895CF92DF92EF9253 -:103D6000FF920F931F93CF93DF93EC016901C8017A -:103D7000820F931F8130924008F06FC08E8188239C -:103D800071F088819981AA81BB81481759076A0718 -:103D90007B0729F48F819885C816D90618F54883C2 -:103DA00059836A837B838B85833039F089E0440FA4 -:103DB000551F661F771F8A95D1F79A01AB0161E104 -:103DC000CE010E94581D882319F083E08D8345C0E1 -:103DD000CE010E94881E882309F43FC018861F82E6 -:103DE00081E08E838FEF8EBD2FEF8F8198858C15AC -:103DF0009D0550F40DB407FEFDCF2EBD8F81988533 -:103E0000019698878F83F1CFC8010197F7014FEF93 -:103E10009F012E193F092817390738F40DB407FE02 -:103E2000FDCF2EB521934EBDF3CF0DB407FEFDCFD0 -:103E30002EB5F701E80FF91F20838F819885080FB1 -:103E4000191F18870F838985882319F001151240DF -:103E500048F0CE010E94FA1C05C0CE010E94F01C61 -:103E600080E001C081E0DF91CF911F910F91FF9021 -:103E7000EF90DF90CF900895EF92FF920F931F93F2 -:103E80000115110519F00E94AD1E01C081E01F91BE -:103E90000F91FF90EF900895EF92FF920F931F9371 -:103EA000790100E012E020E030E00E94AD1E1F9199 -:103EB0000F91FF90EF900895CF93DF93EC016EBDCB -:103EC00020E030E00DB407FEFDCFFA01E20FF31F52 -:103ED00080818EBD0DB407FEFDCF81818EBD2E5F2A -:103EE0003F4F211582E0380769F70DB407FEFDCF7B -:103EF0008FEF0E94E61C8FEF0E94E61C0E94EB1CD5 -:103F00008A87982F9F71953039F081E18D83CE019A -:103F10000E94F01C80E001C081E0DF91CF91089504 -:103F20000F931F93CF93DF93EC0189014115510546 -:103F30006105710511F482E132C08B85833039F05F -:103F400089E0440F551F661F771F8A95D1F79A01A4 -:103F5000AB0168E1CE010E94581D882311F084E076 -:103F60001EC0A8016EEFCE010E945C1F8823C1F025 -:103F700068E572E0CE010E943D1D811102C085E11D -:103F80000EC020E030E0A9016DE0CE010E94581D76 -:103F9000811104C00E94EB1C882339F084E18D83D9 -:103FA000CE010E94F01C80E004C0CE010E94F01CF3 -:103FB00081E0DF91CF911F910F9108958091D304FB -:103FC0008823A9F140910002509101026091020200 -:103FD0007091030226ED34E08091D4049091D504D1 -:103FE0000E94901F811102C080E008954091CF048B -:103FF0005091D0046091D1047091D20441155105C3 -:104000006105710591F026ED34E08091D404909122 -:10401000D5040E94901F882339F31092CF04109288 -:10402000D0041092D1041092D2041092D30481E0F3 -:104030000895CF92DF92EF92FF92CF936B017C01B4 -:10404000C42F8091000290910102A0910202B091D0 -:1040500003028C159D05AE05BF05D1F00E94DE1F41 -:10406000811102C080E01AC026ED34E0B701A6013C -:104070008091D4049091D5040E944C1F882391F321 -:10408000C0920002D0920102E0920202F09203027A -:104090008091D304C82BC093D30481E0CF91FF90CB -:1040A000EF90DF90CF900895CF92DF92EF92FF9242 -:1040B0006B017C010E94DE1F8823A9F0E6EDF4E08D -:1040C000119286E0E63DF807D9F7C0920002D0923F -:1040D0000102E0920202F09203028091D304816017 -:1040E0008093D30481E0FF90EF90DF90CF9008950C -:1040F0008F929F92AF92BF92CF92DF92EF92FF92F8 -:104100000F931F93CF93DF93FC0181859285A38545 -:10411000B4850196A11DB11D84179507A607B707A1 -:1041200010F480E05CC083899489A589B689C78929 -:10413000C03129F4852E962EA72EBB2409C04A0132 -:104140005B01C7E0B694A79497948794CA95D1F77A -:10415000E9016A017B018F01BC01CD01680D791D68 -:104160008A1D9B1D8090000290900102A090020287 -:10417000B0900302681579058A059B0599F4F8014A -:1041800087898031A9F4B701A601552766277727CB -:10419000440F551FFA01EA52FB4F80819181A0E044 -:1041A000B0E018C040E00E9419208111E8CFB9CFDB -:1041B000B701A6014F77552766277727440F551F6C -:1041C000440F551FFA01EA52FB4F80819181A28171 -:1041D000B381BF7088839983AA83BB8381E0DF9119 -:1041E000CF911F910F91FF90EF90DF90CF90BF90F4 -:1041F000AF909F908F9008954F925F926F927F92B1 -:10420000AF92BF92CF92DF92EF92FF920F931F93E4 -:10421000CF93DF9300D01F92CDB7DEB78C014983D7 -:104220005A836B837C835901C12CD12C7601412C9C -:1042300082E0582E612C712C49815A816B817C81DE -:104240009E012F5F3F4FC8010E947820882351F1C3 -:10425000D301C201F801058404C0880F991FAA1F69 -:10426000BB1F0A94D2F7C80ED91EEA1EFB1E498155 -:104270005A816B817C818789803129F088EF9FEF9B -:10428000AFEFBFE004C088EF9FEFA0E0B0E04817B9 -:1042900059076A077B0780F2F501C082D182E2826A -:1042A000F38281E00F900F900F900F90DF91CF91EC -:1042B0001F910F91FF90EF90DF90CF90BF90AF9044 -:1042C0007F906F905F904F9008954F925F926F92A2 -:1042D0007F928F929F92AF92BF92CF92DF92EF9296 -:1042E000FF920F931F93CF93DF93EC016A017B0141 -:1042F00028013901423051056105710510F480E053 -:1043000073C089859A85AB85BC850196A11DB11DB9 -:1043100084179507A607B70790F38B889C88AD880C -:10432000BE888F89803129F4BB27AF2D9E2D8D2D1E -:1043300009C0DB01CA0147E0B695A7959795879517 -:104340004A95D1F7880E991EAA1EBB1E80910002C5 -:1043500090910102A0910202B09103028816990681 -:10436000AA06BB0679F48F898031A1F4DD24EE24FE -:10437000FF24C601880F991FFC01EA52FB4F5182AE -:10438000408219C040E0C501B4010E94192081118A -:10439000EACFB5CFE894C7F8DD24EE24FF24C601A8 -:1043A000880F991F880F991FFC01EA52FB4F40822A -:1043B0005182628273828091D30481608093D3049E -:1043C0008A89823080F08D819E81AF81B885880E88 -:1043D000991EAA1EBB1E8092CF049092D004A09278 -:1043E000D104B092D20481E0DF91CF911F910F915F -:1043F000FF90EF90DF90CF90BF90AF909F908F9005 -:104400007F906F905F904F9008952F923F924F92C0 -:104410005F926F927F929F92AF92BF92CF92DF9204 -:10442000EF92FF920F931F93CF93DF93CDB7DEB739 -:1044300060970FB6F894DEBF0FBECDBF5C01498711 -:104440005A876B877C871901D901CD90DD90ED905B -:10445000FC90C114D104E104F10431F0BFEFCB1A98 -:10446000DB0AEB0AFB0A10C0FC01C080D180E280AD -:10447000F3809924939409851A852B853C85013016 -:1044800011052105310509F0912CF50181859285F1 -:10449000A385B4858C019D010F5F1F4F2F4F3F4FA8 -:1044A0000D871E872F87388B260137011D821E82BC -:1044B0001F821886F50181859285A385B4850D81BB -:1044C0001E812F813885081719072A073B0708F036 -:1044D00056C02D853E854F855889241535054605DE -:1044E000570550F482E0482E512C612C712C92E03B -:1044F000C92ED12CE12CF12C9E012F5F3F4FB3012F -:10450000A201C5010E9478208823C9F149815A81FE -:104510006B817C81D301C2010196A11DB11D452B88 -:10452000462B472B19F06C017D010FC0AC01BD017A -:104530004C195D096E097F0909851A852B853C8513 -:10454000401751076207730779F02D813E814F8133 -:1045500058852F5F3F4F4F4F5F4F2D833E834F83D3 -:1045600058872C013D01A6CF0FEF1FEF2FEF3FE043 -:10457000B301A201C5010E946521811118C080E02C -:1045800041C0D301C2010197A109B1098D839E8366 -:10459000AF83B88793018201AC01BD01C5010E94C0 -:1045A0006521882361F34D805E806F807884C41418 -:1045B000D504E604F70428F3D1014D915D916D9186 -:1045C0007C91411551056105710599F4F101C08295 -:1045D000D182E282F3829920A1F0FFEFCF1ADF0AA5 -:1045E000EF0AFF0AD501CD92DD92ED92FC9213976E -:1045F00008C097018601C5010E9465218111E6CF9F -:10460000BECF81E060960FB6F894DEBF0FBECDBF7F -:10461000DF91CF911F910F91FF90EF90DF90CF909E -:10462000BF90AF909F907F906F905F904F903F9022 -:104630002F900895AF92BF92CF92DF92EF92FF92A8 -:104640000F931F93CF93DF9300D01F92CDB7DEB7A8 -:104650005C016A017B0182E090E0A0E0B0E0F5013E -:1046600080839183A283B3839E012F5F3F4FB70165 -:10467000A601C5010E947820882311F100E010E016 -:104680009801B701A601C5010E9465218823C1F0E8 -:10469000C980DA80EB80FC80F5018789803129F0C0 -:1046A00088EF9FEFAFEFBFE004C088EF9FEFA0E07F -:1046B000B0E0C816D906EA06FB06B0F281E001C0F8 -:1046C00080E00F900F900F900F90DF91CF911F918E -:1046D0000F91FF90EF90DF90CF90BF90AF90089533 -:1046E0008F929F92AF92BF92CF92DF92EF92FF9202 -:1046F0000F931F93CF93DF93EC01142F7093D50486 -:104700006093D404442369F1453010F080E0F2C096 -:1047100040E060E070E0CB010E9419208823B1F3F3 -:1047200020E1129FA00111244A535B4FFA01E25489 -:10473000FE4F80818F7751F73C9680819181A281D5 -:10474000B38184369105A105B10500F33497C0808B -:10475000D180E280F380C114D104E104F10421F49A -:10476000D5CFC12CD12C760140E0C701B6010E9403 -:104770001920882359F28091E1049091E204811577 -:10478000924021F69091E604992309F4BFCF20913D -:10479000E4043091E504232B09F4B8CF8091E304BD -:1047A000882309F4B3CF9A8B8C831D8690E061E057 -:1047B00070E02D85E22FAB01022E02C0440F551F81 -:1047C0000A94E2F78417950731F031E0320F3D8704 -:1047D000283078F39BCF2091EC043091ED04211523 -:1047E000310519F040E050E008C02091FA04309102 -:1047F000FB044091FC045091FD042D833E834F83C4 -:1048000058878091E4049091E50446015701880E91 -:10481000991EA11CB11C8B8A9C8AAD8ABE8A00910C -:10482000E7041091E804198F088FA091E604B0E026 -:104830000E94DD3F860E971EA81EB91E8A8E9B8E93 -:10484000AC8EBD8E85E0000F111F8A95E1F70150F7 -:104850001E4F012F11270695800E911EA11CB11C21 -:104860008E869F86A88AB98A2091E9043091EA044D -:104870002115310521F0A90160E070E008C04091E8 -:10488000F6045091F7046091F8047091F904D7018F -:10489000C60188199909AA09BB09840F951FA61F8B -:1048A000B71F04C0B695A79597958795EA95D2F757 -:1048B00089879A87AB87BC87853F2FE09207A10540 -:1048C000B10510F48CE014C0853F9F4FA105B105E0 -:1048D00010F480E10DC08091020590910305A09134 -:1048E0000405B09105058A8F9B8FAC8FBD8F80E248 -:1048F0008F8B81E0DF91CF911F910F91FF90EF900F -:10490000DF90CF90BF90AF909F908F90089580914F -:10491000060790E020910707821B91090895909166 -:10492000070780910607981750F4E92FF0E0E85F39 -:10493000F84F208130E09F5F9093070702C02FEF70 -:104940003FEFC9010895E091070780910607E81736 -:1049500030F4F0E0E85FF84F808190E008958FEF49 -:104960009FEF08950895CF92DF92EF92FF920F93F9 -:104970001F93CF93DF937C01262F972F8A0180917D -:10498000E206882391F0C62FD72F6E01C40ED51EE4 -:10499000CC15DD0571F06991D701ED91FC91019085 -:1049A000F081E02DC7011995F3CF642F822F0E946B -:1049B000BC3DC801DF91CF911F910F91FF90EF9007 -:1049C000DF90CF900895CF93DF931F92CDB7DEB7DE -:1049D00069832091E2062223D1F02091E306203260 -:1049E00040F021E030E0FC013383228380E090E05E -:1049F00015C08091E406E82FF0E0EB51F94F998162 -:104A000090838F5F8093E4068093E30605C061E0A6 -:104A1000CE0101960E94BC3D81E090E00F90DF91B5 -:104A2000CF910895FC011382128288EE93E0A0E0FA -:104A3000B0E084839583A683B7838FEE92E0918361 -:104A40008083089510920707109206071092E406DB -:104A50001092E3060C94083D862F413208F040E2A4 -:104A600068E077E00E94263D1092070780930607D2 -:104A7000089521E00C942C2581E08093E206609358 -:104A800005071092E4061092E30608950C943C2565 -:104A90000F93062F21E04091E30665EE76E08091CA -:104AA00005070E946A3D1092E4061092E3061092F8 -:104AB000E2060F91089561E00C94482586ED96E09A -:104AC0000C9412252F923F924F925F926F927F9299 -:104AD0008F929F92AF92BF92CF92DF92EF92FF920E -:104AE0000F931F93CF93DF9300D0CDB7DEB74C0168 -:104AF0007B836A836A01590117019801241B350BD6 -:104B000037FF03C0319521953109C5014A815B8189 -:104B1000841B950B97FF03C091958195910951E0F6 -:104B200059838217930714F019820BC09A2D8B2D8D -:104B30005801092F182F9A818B81DB82CA82C92ED6 -:104B4000D82E8A819B81A816B9065CF49C2D8D2DE8 -:104B50006801092F182F9A818B81BB82AA82A92E06 -:104B6000B82E2501AA81BB814A1A5B0A38016C184C -:104B70007D0877FE03C0719461947108720157FE3D -:104B800003C0BFEFEB1AFB0AF594E794C016D106F9 -:104B90001CF00FEF1FEF1FC001E010E01CC0D4019C -:104BA000ED91FC91B9810084F185E02D9101BB2349 -:104BB000C1F04A815B81B601C4011995E618F70876 -:104BC000F7FE04C0C00ED11EE40CF51CEA81FB8187 -:104BD0003196FB83EA834A815B81A416B506FCF615 -:104BE00004C0A6016A817B81E7CF0F900F900F90E0 -:104BF000DF91CF911F910F91FF90EF90DF90CF90B9 -:104C0000BF90AF909F908F907F906F905F904F90EC -:104C10003F902F9008950895DC01ED91FC91048060 -:104C2000F581E02D19940F931F93DC01ED91FC9118 -:104C3000008CF18DE02D19951F910F9108950F9320 -:104C40001F93DC01ED91FC91028CF38DE02D199501 -:104C50001F910F910895EF92FF920F931F93DC0124 -:104C6000ED91FC91048CF58DE02D19951F910F911C -:104C7000FF90EF9008950895AF92BF92CF92DF9288 -:104C8000EF92FF920F931F93CF93DF9300D01F9269 -:104C9000CDB7DEB75C016901DC01ED91FC910680C6 -:104CA000F781E02D4B835C8369837A831995D50165 -:104CB000ED91FC914B815C81C40ED51EB1E0CB1A05 -:104CC000D1080088F189E02D7801860169817A8117 -:104CD0009B01C5011995D501ED91FC910288F389DD -:104CE000E02DC5010F900F900F900F90DF91CF91A5 -:104CF0001F910F91FF90EF90DF90CF90BF90AF90FA -:104D00001994AF92BF92CF92DF92EF92FF920F93DE -:104D10001F93CF93DF9300D01F92CDB7DEB75C0116 -:104D20006901DC01ED91FC910680F781E02D4B8358 -:104D30005C8369837A831995D501ED91FC91698132 -:104D40007A819B012C0D3D1D215031090088F1898C -:104D5000E02D78014B815C818A01C5011995D5014F -:104D6000ED91FC910288F389E02DC5010F900F9021 -:104D70000F900F90DF91CF911F910F91FF90EF90C7 -:104D8000DF90CF90BF90AF9019944F925F926F9247 -:104D90007F928F929F92AF92BF92CF92DF92EF92CB -:104DA000FF920F931F93CF93DF931F921F92CDB764 -:104DB000DEB76C015A0139014801DC01ED91FC912B -:104DC0000680F781E02D69837A8319956981462EE3 -:104DD0007A81572E640C751CD601ED91FC91461416 -:104DE00057046CF40484F585E02D87019401A50136 -:104DF000B201C6011995BFEF4B1A5B0AEDCF0288CD -:104E0000F389E02DC6010F900F90DF91CF911F9194 -:104E10000F91FF90EF90DF90CF90BF90AF909F9059 -:104E20008F907F906F905F904F901994EF92FF92C8 -:104E30000F931F93DC01ED91FC9111971A960D9140 -:104E40001C911B9718962D913C911997048CF58D08 -:104E5000E02D7B0140E050E060E070E019951F918B -:104E60000F91FF90EF900895CF92DF92EF92FF9213 -:104E70000F931F93CF93DF9300D000D0CDB7DEB751 -:104E80006C01DC01ED91FC916217730789F4041742 -:104E900015072CF4942F852FA801092F182F041B18 -:104EA000150B98012F5F3F4F008CF18DE02D12C044 -:104EB0004017510709F5261737072CF4962F872F2F -:104EC000B901292F382F261B370B2F5F3F4F028C3C -:104ED000F38DE02D8701C601199526960FB6F8943B -:104EE000DEBF0FBECDBFDF91CF911F910F91FF901D -:104EF000EF90DF90CF9008950680F781E02D2D830D -:104F00003E834B835C8369837A831995D601ED9147 -:104F1000FC910088F189E02D2D813E814B815C81DF -:104F200069817A81C6011995D601ED91FC910288BB -:104F3000F389E02DC60126960FB6F894DEBF0FBEAA -:104F4000CDBFDF91CF911F910F91FF90EF90DF9038 -:104F5000CF9019946F927F928F929F92AF92BF924F -:104F6000CF92DF92EF92FF920F931F93CF93DF9335 -:104F7000EC014B015A0169013801E881F981068091 -:104F8000F781E02D1995E881F9810684F785E02DF8 -:104F900087019601A501B401CE011995E881F98137 -:104FA000A501460D571D415051090684F785E02D96 -:104FB0009601B401CE011995E881F9810484F58543 -:104FC000E02D9301A501B401CE011995E881F98185 -:104FD000C80CD91CB601615071090484F585E02D17 -:104FE0009301A501CE011995E881F9810288F38921 -:104FF000E02DCE01DF91CF911F910F91FF90EF90A7 -:10500000DF90CF90BF90AF909F908F907F906F90E8 -:1050100019940895FC016370658B848195812681C4 -:105020003781613039F0633029F091878087338789 -:105030002287089531872087938782870895FC010E -:10504000138212828FEF92E0918380837583648351 -:10505000578346837187608753874287158A1586F1 -:1050600014861786168681E0848B2FEF3FEF338BF3 -:10507000228B318B208B868B178A118E108E089590 -:105080002F923F924F925F926F927F928F929F9258 -:10509000AF92BF92CF92DF92EF92FF920F931F9346 -:1050A000CF93DF93CDB7DEB728970FB6F894DEBF66 -:1050B0000FBECDBF5C013B014A0138872F83FC82C4 -:1050C000EB8281E090E02C01421A530AC9019195CC -:1050D000819591099C01220F331F3A83298317017F -:1050E00033E0230E311CEE24E394F12C802F8170E9 -:1050F0008D8302700E83C7010197EF81F8858E17AB -:105100009F070CF078C057FC0CC0AF81B885119791 -:10511000B887AF83E981FA813296FA83E9834E0E2C -:105120005F1EC701880F991F0196480E591EFD8109 -:10513000FF2359F1D501ED91FC912F813885220F84 -:10514000331F2F5F3F4F8B819C81280F391F0484B1 -:10515000F585E02D8601A401AF81B8854A1B5B0B64 -:10516000B701660D771DC5011995D501ED91FC912B -:105170000484F585E02D9101A4014E195F096F812A -:105180007885660D771DC5011995BE81BB2361F138 -:10519000D501ED91FC912F813885220F331F2F5FB0 -:1051A0003F4F8B819C81280F391F0484F585E02DAA -:1051B0008601A401AF81B8854A1B5B0BB3016E1950 -:1051C0007F09C5011995D501ED91FC910484F58500 -:1051D000E02D9101A4014E195F09B3018F819885DB -:1051E000681B790BC50119959FEFE91AF90AA2E02E -:1051F0002A0E311C80CF28960FB6F894DEBF0FBE62 -:10520000CDBFDF91CF911F910F91FF90EF90DF9075 -:10521000CF90BF90AF909F908F907F906F905F9056 -:105220004F903F902F9008956F927F928F929F9210 -:10523000AF92BF92CF92DF92EF92FF920F931F93A4 -:10524000CF93DF93EC014B013A0159016801E881EA -:10525000F9810680F781E02D1995E881F9819501A2 -:10526000220F331F2F5F3F4FA3014A195B090484AC -:10527000F585E02DB401CE011995E12CF12C03E068 -:105280009501A301B401CE010E944028E881F98173 -:105290000288F389E02DCE01DF91CF911F910F910C -:1052A000FF90EF90DF90CF90BF90AF909F908F9046 -:1052B0007F906F9019942F923F924F925F926F92CE -:1052C0007F928F929F92AF92BF92CF92DF92EF9296 -:1052D000FF920F931F93CF93DF93CDB7DEB76B97FA -:1052E0000FB6F894DEBF0FBECDBF9B8F8A8F1B0118 -:1052F0005A8349831F830E83FD82EC82CB82DC01BB -:1053000058964D915C9159974115510509F0B0C0DF -:1053100018968D919C911997681779070CF092C196 -:105320001A968D919C911B97E981FA81E817F907EC -:105330000CF088C1AC2CB12CCB01F6E0CF9E800DD7 -:10534000911D1124181619060CF07CC1C50133E01B -:10535000880F991F3A95E1F749815A81840F951F6B -:10536000181619060CF06EC157968C91811103C066 -:10537000203B08F02F5FAA8DBB8DED91FC9111971A -:105380000680F781E02DCD01298F1995298DB5E093 -:105390002B9F9001112461014101212CF901EC198D -:1053A000FD09F987E88729813A81285F3F4F3B87CC -:1053B0002A8735E0231641F0E885F985EC0DFD1DBF -:1053C000EE59FC4F349001C0312C49805A80320193 -:1053D00030FE13C0AA8DBB8DED91FC91BB81B13025 -:1053E00031F40084F185E02D2E813F8119C00284C3 -:1053F000F385E02DEE80FF801EC0EC81FD812E81C3 -:105400003F81E217F307F1F0AA8DBB8DED91FC917E -:10541000BB81B13059F40084F185E02D2C813D81B0 -:10542000A301B6018A8D9B8D19950CC00284F3856A -:10543000E02DEC80FD8085019501A201B4018A8DEB -:105440009B8D199536944A0C5B1CEFEF6E1A7E0A01 -:105450002A853B856216730609F0BACF23948A0C1D -:105460009B1C3FEFC31AD30A46E02412A2CFC8C048 -:10547000FA0134969491329765917491291BCB016E -:10548000B7E02B9F800D911D1124FA0125913491D5 -:105490003A8B298BFC0165907490FC013296449004 -:1054A000319634913C873296C490319654904B811A -:1054B000423058F08C2C0C2C000C9908852D052CB2 -:1054C000000C990B9987888704C019861886812C4F -:1054D000912CAA8DBB8DED91FC9111970680F781DF -:1054E000E02DCD011995BB81AB2EB12C8A9CC0015A -:1054F0008B9C900D9A9C900D1124FC01E20DF31DE4 -:10550000F88BEF871C82912C812CEC2DCC0CFF0B9F -:1055100091012E0F3F1F3B872A876101C40CD11CCC -:10552000A6014E0F5F1F5E8B4D8B89819A81850D81 -:10553000911D57FC9A95988F8F8B4C85841608F097 -:105540005FC0882D90E048855985480F591F4A9DB6 -:1055500090014B9D300D5A9D300D1124A981BA81C7 -:10556000A20FB31FBE87AD87CA84DB842F8438881F -:105570005C80BA855B1AEF89F88DE80FF91FFC8B08 -:10558000EB8B852D8C0D2D893E89C216D30699F1A2 -:10559000877041F4C3010196E989FA89E60DF71D88 -:1055A00094903C0197FE20C0AA8DBB8DED91FC919B -:1055B000BB81B13061F40084F185E02D2E813F8103 -:1055C0004B895C89B6018A8D9B8D19950DC002842B -:1055D000F385E02DEE80FF80850195014D855E8588 -:1055E000B1018A8D9B8D1995990C2A0C3B1CEFEF0C -:1055F000CE1ADE0AC6CF3C81340D3C8383949DCF06 -:10560000AA8DBB8DED91FC9111970288F389E02D55 -:10561000CD016B960FB6F894DEBF0FBECDBFDF9104 -:10562000CF911F910F91FF90EF90DF90CF90BF909F -:10563000AF909F908F907F906F905F904F903F9032 -:105640002F9019946B960FB6F894DEBF0FBECDBFA6 -:10565000DF91CF911F910F91FF90EF90DF90CF904E -:10566000BF90AF909F908F907F906F905F904F9082 -:105670003F902F900895AF92BF92CF92EF92FF92FA -:105680000F931F93CF93DF93EC01262F888D998D75 -:10569000009709F042C06A3069F42C898E859F8595 -:1056A00038E0239F800D911D11249F878E871D86D2 -:1056B0001C86ACC06D3009F4A9C08E898823C1F066 -:1056C0003C898C859D8546E0349F800D911D112479 -:1056D00048855985841795075CF01D861C868E8544 -:1056E0009F85E8E03E9F800D911D11249F878E8746 -:1056F000EA88FB88088919894E855F856C857D85D8 -:10570000CC88CE010E945B292C898C859D85F6E092 -:105710002F9F800D911D112441C06A3079F41D86A0 -:105720001C862C89FC013696E4918E859F852E9FE0 -:10573000800D911D11249F878E8768C06D3009F4FC -:1057400065C0AC014C5F5F4FFA013491631708F4F8 -:105750005DC03196E491E61708F458C0FA0144910F -:10576000362F341BFC013296A590B490F7E03F9F92 -:10577000A00CB11C1124F501329634913196E491BC -:10578000332311F0E1110DC0F5013496E4912C8919 -:105790008C859D85E29F800D911D11249D878C87AE -:1057A00035C0F501359644915E89552311F16C8918 -:1057B000E32FF0E0E40FF11D47FDFA956E9FD00155 -:1057C0006F9FB00D11244C855D854A0F5B1FE885E6 -:1057D000F9854E175F076CF01D861C86FC01369616 -:1057E000E4918E859F856E9F800D911D11249F876A -:1057F0008E87EA88FB88088919894E855F856C85C4 -:105800007D85CC88CE010E945B29BECF81E090E0EF -:10581000DF91CF911F910F91FF90EF90CF90BF90AC -:10582000AF900895FC017587648757874687089570 -:10583000611101C061E0FC01648B0895FC01738B70 -:10584000628B718B608B0895EF92FF920F931F9381 -:10585000DC01ED91FC9111971A960D911C911B970B -:1058600018962D913C911997048CF58DE02D7B01B4 -:1058700040E050E060E070E019951F910F91FF90BB -:10588000EF90089520912C07222381F0213051F4CC -:105890002DB320932A073DB320912B072095232376 -:1058A0002DBB04C02FB7F89420932A078CBD9DBD53 -:1058B000089590912C07992339F080912A0791300F -:1058C00011F48DBB08958FBF0895EF92FF920F934F -:1058D0001F93CF93DF931F92CDB7DEB77C01062FC6 -:1058E000142F40EA50E060E870E029830E941F28EE -:1058F00087E293E0F7019183808304A315A32981B4 -:1059000026A381E0838F10A617A20F90DF91CF917D -:105910001F910F91FF90EF900895FC01838D8823D4 -:1059200039F06EBD00000DB407FEFDCF8EB50895B1 -:1059300028E030E090E8A48DB58D81A5492F46235D -:1059400019F04C91842B03C04C91809584238C9347 -:10595000A68DB78D4C9182A5842B8C93A68DB78D87 -:105960004C9182A5809584238C9396952150310982 -:1059700011F708950F931F93CF93DF931F92CDB725 -:10598000DEB78C01809128079091290769830E94D6 -:10599000422CD8019296ED91FC91939790819C9620 -:1059A0008C919C978095892380839096ED91FC91B2 -:1059B000919790819B968C918095892380836981B2 -:1059C000C8010E948D2CD8019096ED91FC91919781 -:1059D00090819B968C91892B80830F90DF91CF9142 -:1059E0001F910F910C94592C611102C060E201C00B -:1059F00061E20C94BA2C0F931F93CF93DF931F9205 -:105A0000CDB7DEB78C018091280790912907698373 -:105A10000E94422CD8019296ED91FC91939790812F -:105A20009C968C919C97892B80839096ED91FC910C -:105A3000919790819B968C91809589238083698131 -:105A4000C8010E948D2CD8019096ED91FC91919700 -:105A500090819B968C91892B80830F90DF91CF91C1 -:105A60001F910F910C94592C1F93CF93DF93EC014E -:105A7000162F66E30E94BA2C612F63706D8B8A8D9E -:105A8000623089F16330A9F16130D1F0823011F4D4 -:105A900060EC01C068ECCE010E94FB2C80E890E035 -:105AA000998788878A8D813019F480E890E002C058 -:105AB00080EA90E09B878A87DF91CF911F910895BC -:105AC000823011F460EA01C068EACE010E94FB2C2A -:105AD0008A8D813019F480E890E002C080EA90E07D -:105AE00099878887E2CF823011F460E0D4CF68E0F4 -:105AF000D2CF823011F460E6E8CF68E6E6CFAF920D -:105B0000BF92CF92DF92EF92FF920F931F93CF93AA -:105B1000DF938C01EB012196FB01D490DD2009F489 -:105B200036C0FE016491C8010E94BA2C5E01F2E009 -:105B3000AF0EB11CFE013196C4918C2F8078C82E17 -:105B4000CF777501DC2FD15048F0F7016491C8017F -:105B50000E94FB2CFFEFEF1AFF0AF5CFC5018C0F57 -:105B6000911DEC01CC2089F07C019FEFE91AF90A24 -:105B7000FE01649170E06F3F710511F464EF71E014 -:105B800080E090E00E944E0DE701DA94C7CFDF91EC -:105B9000CF911F910F91FF90EF90DF90CF90BF902A -:105BA000AF9008950F931F93CF93DF93EC018B0178 -:105BB0001EA61DA661E08DA10E94280E61E08CA1A9 -:105BC0000E94280E2CA130E0F901E254FD4FE4912F -:105BD000F0E0EE0FFF1FE25EFC4F8591949199A3D8 -:105BE00088A34DA150E0FA01E254FD4F8491E82FC3 -:105BF000F0E0EE0FFF1FE25EFC4F859194919BA3B6 -:105C00008AA3F901E858FD4FE491EBA7FA01E8589F -:105C1000FD4FE491ECA78B8D882349F00E9412364A -:105C200080E58093280781E0809329073CC061E0EC -:105C300088A50E94280E61E08FA10E94280E88A5E9 -:105C400090E0FC01E254FD4FE491F0E0EE0FFF1F05 -:105C5000E25EFC4FA591B491BF8FAE8F2FA130E0D3 -:105C6000F901E254FD4FE491F0E0EE0FFF1FE25E18 -:105C7000FC4F459154915D8F4C8FFC01E858FD4FCE -:105C800084918AA7F901E858FD4FE491E9A79C9116 -:105C9000E82FE095E923EC93EC8DFD8D908189A5AB -:105CA000809589238083E8A1F9A190818BA58095B7 -:105CB000892380838EA1882309F161E00E94280E48 -:105CC00061E08EA10E94640E64EF71E080E090E0DC -:105CD0000E944E0D60E08EA10E94640E64EF71E0A0 -:105CE00080E090E00E944E0D61E08EA10E94640E63 -:105CF00064EF71E080E090E00E944E0D0115110507 -:105D000041F0B801CE01DF91CF911F910F910C941A -:105D10007F2DDF91CF911F910F9108951F93CF9306 -:105D2000DF93EC01162F64EB78E00E94D22D111165 -:105D300009C067EA78E0CE010E947F2D82E08DA73E -:105D400081E00EC0113071F480E890E09B878A8773 -:105D50006DE878E0CE010E947F2D82E08DA783E080 -:105D60008EA705C06AE978E0CE010E947F2D62E629 -:105D700078E0CE010E947F2D123041F466E3CE011F -:105D80000E94BA2C60ECCE010E94FB2C1A8FDF918E -:105D9000CF911F910895EF92FF920F931F93CF938E -:105DA000DF931F921F92CDB7DEB77C01162F6AE2F8 -:105DB00029834A830E94BA2C60E0C7010E94FB2C11 -:105DC000F70185A5612F680FC7010E94FB2C60E0D9 -:105DD000C7010E94FB2CF70185A52981622F680F5E -:105DE000C7010E94FB2C6BE2C7010E94BA2C60E045 -:105DF000C7010E94FB2CF70186A54A81642F680F1A -:105E0000C7010E94FB2C60E0C7010E94FB2CF70138 -:105E100086A5602F680FC7010E94FB2C6CE2C701AA -:105E20000F900F90DF91CF911F910F91FF90EF9006 -:105E30000C94BA2CEF92FF920F931F93CF93DF93A2 -:105E40001F92CDB7DEB77C01CB01122F77FD53C077 -:105E5000D70118966D917C911997861797070CF0CA -:105E60004AC057FD48C01A966D917C911B97461702 -:105E700057070CF040C001E0040F21E0280F682F05 -:105E8000C70139830E94CB2E809128079091290762 -:105E90000E94422CD7019296ED91FC9193979081AC -:105EA0009C968C919C97892B80839096ED91FC9188 -:105EB000919790819B968C918095892380833981DD -:105EC000632FC7010E948D2C612FC7010E948D2C6A -:105ED000D7019096ED91FC91919790819B968C9132 -:105EE000892B80830F90DF91CF911F910F91FF90AD -:105EF000EF900C94592C0F90DF91CF911F910F913F -:105F0000FF90EF900895DF92EF92FF920F931F930F -:105F1000CF93DF93EC017901D02E8885998568179E -:105F200079070CF047C08A859B85481759070CF004 -:105F300041C09A012E0D3F1D821793071CF47C016E -:105F4000E41AF50A0FEF040F0E0D262FCE010E9462 -:105F5000CB2E80912807909129070E94422CEAA11C -:105F6000FBA190818CA5892B8083E8A1F9A1908168 -:105F70008BA5809589238083E114F10461F0612F62 -:105F8000CE010E948D2C6D2DCE010E948D2C81E0C2 -:105F9000E81AF108F1CFE8A1F9A190818BA5892B2E -:105FA0008083DF91CF911F910F91FF90EF90DF9051 -:105FB0000C94592CDF91CF911F910F91FF90EF908E -:105FC000DF900895DF92EF92FF920F931F93CF938C -:105FD000DF93EC017901D02E8885998568177907C0 -:105FE0000CF047C02A853B85421753070CF041C08F -:105FF0009B012E0D3F1D821793071CF47C01E61AAE -:10600000F70A2FEF260F2E0D042FCE010E94CB2E64 -:1060100080912807909129070E94422CEAA1FBA1B8 -:1060200090818CA5892B8083E8A1F9A190818BA513 -:10603000809589238083E114F10461F0612FCE0102 -:106040000E948D2C6D2DCE010E948D2C81E0E81ACE -:10605000F108F1CFE8A1F9A190818BA5892B80836C -:10606000DF91CF911F910F91FF90EF90DF900C94F3 -:10607000592CDF91CF911F910F91FF90EF90DF90FE -:106080000895AF92BF92CF92DF92EF92FF920F935B -:106090001F93CF93DF93EC0159016801288539855F -:1060A000621773070CF05CC08A859B8548175907F7 -:1060B0000CF056C0FB01EA0DFB1D2E173F071CF428 -:1060C0005901A61AB70A9A012C0D3D1D8217930794 -:1060D0001CF46C01C41AD50A0FEF040F0C0D2FEF3E -:1060E000260F2A0DCE010E94CB2E80912807909179 -:1060F00029070E94422CEAA1FBA190818CA5892B43 -:106100008083E8A1F9A190818BA580958923808364 -:106110001C141D049CF48501101611065CF46F2DEF -:10612000CE010E948D2C6E2DCE010E948D2C01502F -:106130001109F2CF81E0C81AD108EACFE8A1F9A18C -:1061400090818BA5892B8083DF91CF911F910F9137 -:10615000FF90EF90DF90CF90BF90AF900C94592CB0 -:10616000DF91CF911F910F91FF90EF90DF90CF9033 -:10617000BF90AF900895E8E2F7E080E58083118258 -:106180000895DC01ED91FD91BD010190F081E02DBC -:1061900040E0199591E0811190E0892F08958EBD1E -:1061A00000000DB407FEFDCF8EB50895BF92CF92CB -:1061B000DF92EF92FF920F931F93CF93DF937C01B7 -:1061C000C42F69016068B62E83E590E00E94422CDE -:1061D00060E0F70186850E94640E8B2D0E94CF300F -:1061E0000023A9F0AFEFB0E0CD0102C0880F991FE6 -:1061F0000A95E2F78C018B2D0E94CF308023009509 -:10620000F60190810923082B008311E001C010E002 -:106210000FEF0C0FE12FF0E0E601CE0FDF1F10179C -:1062200030F48B2D0E94CF3088831F5FF3CF80E046 -:106230000E94CF30888361E0F70186850E94640E5A -:10624000DF91CF911F910F91FF90EF90DF90CF9052 -:10625000BF900C94592CFC018FE493E091838083D0 -:10626000668747870895EF92FF921F93CF93DF933E -:106270001F92CDB7DEB77C01162F83E590E04983EE -:106280000E94422C60E0F70186850E94640E812FF7 -:106290000E94CF304981842F0E94CF3061E0F70106 -:1062A00086850E94640E0F90DF91CF911F91FF9021 -:1062B000EF900C94592CCF92DF92EF92FF920F93B4 -:1062C0001F93CF93DF931F921F92CDB7DEB78C0140 -:1062D000E62EF42E83E590E029833A830E94422C37 -:1062E00060E0F80186850E94640E8E2D0E94CF30FA -:1062F0002981E22EC22E3A81D32E8C2D8E198F1534 -:1063000030F4F60181916F010E94CF30F6CF61E049 -:10631000F80186850E94640E0F900F90DF91CF9157 -:106320001F910F91FF90EF90DF90CF900C94592C1C -:106330001F93CF93DF93EC01162F83E590E00E942B -:10634000422C60E08E850E94640E812F80680E943E -:10635000CF3080E00E94CF30182F61E08E850E9400 -:10636000640E0E94592C812FDF91CF911F910895C7 -:106370000F9341110E94D6300F910895EF92FF9232 -:106380001F93CF93DF931F92CDB7DEB77C01162FFB -:1063900049830E9498314981482B612FC7010F9092 -:1063A000DF91CF911F91FF90EF900C943331EF92DA -:1063B000FF921F93CF93DF931F92CDB7DEB77C017F -:1063C000162F49830E949831498140954823612FB7 -:1063D000C7010F90DF91CF911F91FF90EF900C9428 -:1063E0003331CF92DF92EF92FF920F931F93CF93AF -:1063F000DF93EC016B01142F790140E062E00E9411 -:10640000333144E06AE0CE010E94333140E864E178 -:10641000CE010E9433319601412F62E1CE010E94EC -:106420005B3143E062E0CE010E94333108E813E1C2 -:106430006AE0CE010E94983182FF13C040E062E022 -:10644000CE010E94333164E4CE010E949831F701FD -:10645000808362E4CE010E949831F701818380E05D -:1064600004C00150110921F783E0DF91CF911F9102 -:106470000F91FF90EF90DF90CF900895CF93DF932F -:10648000EC014FE062E00E94333162E370E080E0B3 -:1064900090E00E944E0D62E0CE010E94983184FD92 -:1064A000FACFDF91CF910895CF93DF93EC0168E2AB -:1064B0000E949831482F8370833039F0436068E23E -:1064C000CE01DF91CF910C943331DF91CF910895BC -:1064D000CF93DF93EC0161E08E850E94280E61E08E -:1064E0008E850E94640E8F858F3F09F444C061E061 -:1064F0000E94280E8F850E94940E892BE1F561E0A1 -:106500008F850E94640E62E370E080E090E00E945C -:106510004E0D40E064E2CE010E94333140E066E27D -:10652000CE010E94333146E268E4CE010E9433314D -:1065300040E864E5CE010E94333149EA66E5CE01C8 -:106540000E94333143E068E5CE010E94333148EECA -:106550006AE5CE010E94333140E46AE2CE010E9436 -:1065600033314DE362E2CE010E943331CE01DF913F -:10657000CF910C945432CE010E943E32CACF5F922A -:106580006F927F928F929F92AF92BF92CF92DF9243 -:10659000EF92FF920F931F93CF93DF9300D01F9240 -:1065A000CDB7DEB73C01162F942EA114B10419F01B -:1065B000F501408101C040E0542EF0E18F9E500C67 -:1065C000112440E062E0C3012B833C830E943331FD -:1065D0004FE768E0C3010E94333140E864E1C30142 -:1065E0000E9433312B813C81402F62E1C3010E9424 -:1065F0005B31452D6AE1C3010E943331412F62E0D6 -:10660000C3010E9433311C3029F440E86AE1C30120 -:106610000E94BE3100ED17E068E0C3010E9498318E -:10662000982F992139F480FD03C001501109A1F779 -:1066300083E066C06CE0C3010E949831182F83711B -:1066400009F05DC0E114F104F9F0C114D104E1F0E6 -:1066500064E1C3010E949831482FF60180818417BC -:1066600008F447C04083082D970162E1C3010E94EE -:10667000B83168E1C3010E9498318770A114B10458 -:1066800021F0F501808301C080E013FD34C0E114E6 -:10669000F10499F1C114D10481F19F89992369F121 -:1066A000F6014081413019F4843019F420C04230A1 -:1066B00010F487E025C08111FCCF42509E012F5F6E -:1066C0003F4FB701C3010E94F131811119C0F6019A -:1066D0008081E80EF11CF70132979081898198132F -:1066E000E8CF319690818A819813E3CF06C08FEF6F -:1066F00007C084E005C082E003C080E001C081E003 -:106700000F900F900F900F90DF91CF911F910F91ED -:10671000FF90EF90DF90CF90BF90AF909F908F90C1 -:106720007F906F905F9008958F92AF92BF92CF92BB -:10673000DF92EF92FF920F931F93AF928C2C570131 -:1067400068017901042F9B0140E36CE00E94BF3295 -:106750000F901F910F91FF90EF90DF90CF90BF901F -:10676000AF908F9008952F923F924F925F926F92C9 -:106770007F928F929F92AF92BF92CF92DF92EF92D1 -:10678000FF920F931F93CF93DF93CDB7DEB72D9773 -:106790000FB6F894DEBF0FBECDBF413508F00BC178 -:1067A000342E3B014C0140E86CE10E94D731BB2400 -:1067B000B39422E0B21691F033E0B316E1F041E079 -:1067C000B412FDC083E989833320D1F081E0F30165 -:1067D0009081953008F480E0D12C17C085E9898339 -:1067E000332081F081E0F3019081983008F480E05B -:1067F00053E0D52E0AC087E9898346E0D42E04C031 -:10680000D12C02C033E0D32E80E0532DF8EFDF9E71 -:10681000500D112457FD50E0882321F098E89B8308 -:1068200043E001C042E021E0952F977009F420E099 -:10683000952F959595959595290F21F4882311F11C -:10684000585F20C0811102C094E001C093E0291775 -:1068500008F4922F20E030E06D2D70E0E42FE20F7D -:10686000A1E0B0E0AC0FBD1FAE0FB11DF901E60F06 -:10687000F71FE60DF71DE181EC932F5F3F4F2917BE -:1068800068F3DCCF23E0222E5032FCF020E72A838D -:106890009C818B8189279D8189279E8189278F8370 -:1068A0009E01285F3F4F47E0BE016F5F7F4FC401ED -:1068B0005D870E94F1315D858111CDC01B862A86DE -:1068C000CE0107962C0179E01EC0952F97709B870B -:1068D000252F25952595259582E0820F392FE0E11A -:1068E0008E9F300D11243A8371E0911101C070E048 -:1068F000780F44244394512C4C0E5D1E480E511CBD -:1069000087E0821B8A87CB844C2D4295407F4C0DBB -:106910006AE1C4015D877C870E943331A12C9E010E -:10692000255F3F4F79018E01065F1F4F92017C85E5 -:10693000472FBE016F5F7F4FC4010E9494335D8576 -:10694000823099F56CE1C4010E9498315D8585FD26 -:1069500034C08F7109F480E2282F30E0452F550FA5 -:10696000550B421753075CF5582FC90101978770E3 -:10697000992725952595259531E0320F21E000973F -:1069800009F420E0230FE1E0F0E0EC0FFD1FE20F3F -:10699000F11D21E030E002C0220F331F8A95E2F79B -:1069A000C9019081892B80836FCF811154C05032EF -:1069B00044F450E26BCF86E04EC082E04CC085E0EC -:1069C0004AC08B81883809F043C033E023E080E07F -:1069D00090E06D2D70E0FC01E60FF71FE60DF71D4E -:1069E000432F480FA1E0B0E0AC0FBD1FA40FB11DB5 -:1069F0004C9141830196821770F38A85833021F58B -:106A00008B85811121C09E012D5F3F4F41E0B20176 -:106A1000C4010E94F13181111EC09B81F20181816C -:106A2000981314C09C818281981310C0808182FFCA -:106A300002C0B394BECEF30183878B2D880FB80EAE -:106A4000B394B08280E007C081E005C087E003C056 -:106A500032E024E0BCCF2D960FB6F894DEBF0FBE17 -:106A6000CDBFDF91CF911F910F91FF90EF90DF90FD -:106A7000CF90BF90AF909F908F907F906F905F90DE -:106A80004F903F902F9008954F925F926F927F9218 -:106A90008F929F92AF92CF92EF92FF920F931F939C -:106AA000CF93DF931F921F92CDB7DEB76A83411554 -:106AB000510539F1F9016081623018F149012A016B -:106AC0003C0140E86CE10E94D73187E08983A12C2A -:106AD000C12CCE0101967C018401920141E0BE01EE -:106AE0006E5F7F4FC3010E94943381110DC0F4018A -:106AF0008081823041F481E09981911105C080E06C -:106B000003C084E001C081E00F900F90DF91CF912E -:106B10001F910F91FF90EF90CF90AF909F908F902B -:106B20007F906F905F904F9008959A01AB0166E25D -:106B30000C9444350F931F93CF93DF9300D0CDB7C0 -:106B4000DEB78C0182E08B8340E064E2C8010E94E2 -:106B5000333140E066E2C8010E94333146E268E426 -:106B6000C8010E943331AE014D5F5F4FBE016F5FC0 -:106B70007F4FC8010E949535982F81E0992319F025 -:106B8000923009F080E00F900F900F90DF91CF913D -:106B90001F910F9108958F929F92AF92CF92EF9293 -:106BA000FF920F931F93CF93DF9300D01F92CDB727 -:106BB000DEB74C0180E589831A829E012D5F3F4F2D -:106BC00042E0BE016F5F7F4FC4010E94F13181112D -:106BD00016C0A12CC12CE12CF12C00E010E020E02B -:106BE00030E044E0BE016F5F7F4FC4010E949433E8 -:106BF000833021F0811103C081E001C080E00F905B -:106C00000F900F900F90DF91CF911F910F91FF90F8 -:106C1000EF90CF90AF909F908F90089548E060E103 -:106C20000C94D73161E085E30E94640E61E085E356 -:106C30000E94280E8CB580618CBD8CB580648CBDA3 -:106C400061E084E30E94280E61E083E30C94280E47 -:106C5000CF92DF92EF92FF92CF93DF93EC018CE320 -:106C6000C82ED12CE12CF12CCB01BA01A701960141 -:106C70000E94A73F6D83CA01B901A70196010E9436 -:106C8000A73F6C83CA01B90128E130E040E050E041 -:106C90000E94A73F6B83188263E97EEF8881482FAB -:106CA000437091E009F090E0492F50E0FA01E35978 -:106CB000FE4F2E173F0740F0FB01E41BF50B2E0F94 -:106CC0003F1F8F5F8883EACF81E089838981E82F26 -:106CD000F0E0E251F74FE491992319F0823009F482 -:106CE000EF5FF0E02E173F0720F02E1B3F0B8F5F6A -:106CF000ECCF2F5F2A831E82DF91CF91FF90EF9020 -:106D0000DF90CF9008951F93CF93DF931F92CDB75D -:106D1000DEB7162F68E670E086ED96E049830E94A4 -:106D20004625612F86ED96E00E94E3244981642F79 -:106D300086ED96E00E94E32486ED96E00F90DF91C9 -:106D4000CF911F910C945B25CF93C62F68E670E01E -:106D500086ED96E00E9446256C2F86ED96E00E9417 -:106D6000E32486ED96E00E945B2541E050E068E672 -:106D700070E086ED96E00E94392586ED96E00E944F -:106D80008F24CF910895CF93DF93EC0186ED96E0A9 -:106D90000E9422254CE16EE0CE010E9483366AE01B -:106DA00070E080E090E00E944E0D62E0CE010E9413 -:106DB000A436482F4F7B62E0CE010E9483366AE002 -:106DC00070E080E090E00E944E0D81E0DF91CF9175 -:106DD00008950F931F93CF93DF93CDB7DEB72C9712 -:106DE0000FB6F894DEBF0FBECDBF68E670E086ED4B -:106DF00096E00E94462560E086ED96E00E94E3243E -:106E000086ED96E00E945B2548E050E068E670E081 -:106E100086ED96E00E94392586ED96E00E948F244B -:106E20009C01332794E0359527959A95E1F71AEF61 -:106E3000782F129F700D112486ED96E07C870E94BA -:106E40008F249C01332744E0359527954A95E1F737 -:106E5000682F129F600D112486ED96E06B870E94CB -:106E60008F248F73982F92959F70582F919F500D5C -:106E7000112486ED96E05A870E948F24082F86ED14 -:106E800096E00E948F249C01992754E09595879560 -:106E90005A95E1F7422F189F400D112486ED96E098 -:106EA00049870E948F249C01992764E095958795D6 -:106EB0006A95E1F7322F189F300D112486ED96E088 -:106EC00038870E948F24DC01BB2774E0B595A79515 -:106ED0007A95E1F7282F1A9F200D112438854985CE -:106EE0005A856B857C85802F90E02C960FB6F894A0 -:106EF000DEBF0FBECDBFDF91CF911F910F910895DF -:106F00006F927F928F929F92AF92BF92CF92DF92B9 -:106F1000EF92FF920F931F93CF93DF93EC010097B3 -:106F200089F4CB01DF91CF911F910F91FF90EF90EA -:106F3000DF90CF90BF90AF909F908F907F906F9099 -:106F40000C946938FC01E60FF71F9C0122503109AF -:106F5000E217F30708F4ACC0D9010D911C91119709 -:106F600006171707B0F00530110508F49FC0C801D7 -:106F700004978617970708F499C002501109061B59 -:106F8000170B019311936D937C93CF010E94FE38F0 -:106F90008DC05B01A01AB10A4C01800E911EA09118 -:106FA000460AB091470A40E050E0E12CF12C1097DE -:106FB00009F44AC0A815B905D1F56D907C901197D8 -:106FC000630182E0C80ED11CCA14DB0480F1A30166 -:106FD0004A195B096A0182E0C80ED11C1296BC9066 -:106FE00012971396AC91B5E0CB16D10440F0B28263 -:106FF000A38351834083D9016D937C930AC00E5FB4 -:107000001F4FC301800F911FF90191838083EB2DE6 -:10701000FA2FE114F10431F0D7011396FC93EE93AB -:10702000129744C0F093470AE093460A3FC08D91FF -:107030009C9111974817590708F4AC017D011296ED -:107040000D90BC91A02DB3CF8091440A9091450A38 -:1070500088159905E1F446175707C8F48091040292 -:1070600090910502009741F48DB79EB740910802B8 -:1070700050910902841B950BE817F907C8F4F093A7 -:10708000450AE093440AF901718360830FC0CB0184 -:107090000E9469387C01009759F0A801BE010E9446 -:1070A000263FCE010E94FE38C70104C0CE0102C0B7 -:1070B00080E090E0DF91CF911F910F91FF90EF90D2 -:1070C000DF90CF90BF90AF909F908F907F906F9008 -:1070D0000895CF93DF938230910510F482E090E021 -:1070E000E091460AF091470A20E030E0C0E0D0E0AD -:1070F000309711F14081518148175907C0F0481766 -:10710000590761F482819381209719F09B838A83C8 -:107110002BC09093470A8093460A26C0211531055B -:1071200019F04217530718F49A01BE01DF01EF016D -:107130000280F381E02DDCCF2115310509F1281BF8 -:10714000390B2430310590F412968D919C91139750 -:107150006115710521F0FB019383828304C0909334 -:10716000470A8093460AFD01329644C0FD01E20FB2 -:10717000F31F81939193225031092D933C933AC090 -:107180002091440A3091450A232B41F420910602B4 -:10719000309107023093450A2093440A209104025B -:1071A000309105022115310541F42DB73EB74091CC -:1071B000080250910902241B350BE091440AF0911A -:1071C000450AE217F307A0F42E1B3F0B28173907D7 -:1071D00078F0AC014E5F5F4F2417350748F04E0F33 -:1071E0005F1F5093450A4093440A8193919302C0D4 -:1071F000E0E0F0E0CF01DF91CF9108950F931F936E -:10720000CF93DF93009709F48CC0FC01329713826F -:1072100012820091460A1091470A0115110581F466 -:1072200020813181820F931F2091440A3091450AB9 -:107230002817390779F5F093450AE093440A71C09D -:10724000D80140E050E0AE17BF0750F412962D91E0 -:107250003C911397AD012115310509F1D901F3CF07 -:107260009D01DA013383228360817181860F971F2C -:107270008217930769F4EC0128813981260F371FA3 -:107280002E5F3F4F318320838A819B81938382834A -:10729000452B29F4F093470AE093460A42C013961F -:1072A000FC93EE931297ED01499159919E01240FA1 -:1072B000351FE217F30771F480819181840F951FC8 -:1072C000029611969C938E938281938113969C9340 -:1072D0008E931297E0E0F0E0D80112968D919C9188 -:1072E0001397009719F0F8018C01F6CF8D919C91BE -:1072F00098012E5F3F4F820F931F2091440A3091D7 -:10730000450A2817390769F4309729F41092470A7B -:107310001092460A02C0138212821093450A00930B -:10732000440ADF91CF911F910F910895FC012485AC -:107330003585F901E05CFF4F808191813296208193 -:107340003181821B930B8F7399270895DC011C9662 -:10735000ED91FC911D97DF01A05CBF4F2D913C91F9 -:10736000119712968D919C9111972817390739F032 -:107370008D919C91E80FF91F808190E008958FEF27 -:107380009FEF0895FC01A485B585FD01E05CFF4FEA -:10739000208131813296808191812817390779F0D7 -:1073A00080819181A80FB91F8C91208131812F5F3D -:1073B0003F4F2F7333273183208390E008958FEF61 -:1073C0009FEF0895FC0181A1882329F0A489B58944 -:1073D0008C9186FFFBCF11A208950F931F93CF933B -:1073E000DF93FC01A685B7858D01005C1F4FE80186 -:1073F0008881998101968F739927AD014E5B5F4F0C -:10740000EA012881398182179307D1F3E8012881A5 -:107410003981A20FB31F6C93A685B785A05CBF4FBF -:1074200011969C938E93A689B7892C9181E090E068 -:10743000078C02C0880F991F0A94E2F7822B8C9365 -:1074400081E081A30488F589E02D808180648083B8 -:1074500081E090E0DF91CF911F910F910895FB01A2 -:10746000E05CFF4F208131812F5F3F4F2F73332727 -:10747000DB01AE5BBF4F4D915C912417350741F0A6 -:1074800040815181DB01A40FB51F8C933183208390 -:10749000089508951F920F920FB60F9211240BB604 -:1074A0000F922F933F934F935F936F937F938F939D -:1074B0009F93AF93BF93EF93FF938091C00082FDA2 -:1074C00007C08091C60062E979E00E942F3A02C0AD -:1074D0008091C600FF91EF91BF91AF919F918F91E5 -:1074E0007F916F915F914F913F912F910F900BBEC4 -:1074F0000F900FBE0F901F90189508951F920F9236 -:107500000FB60F9211240BB60F922F933F934F9308 -:107510005F936F937F938F939F93AF93BF93EF93FB -:10752000FF938091C80082FD07C08091CE006AE081 -:1075300079E00E942F3A02C08091CE00FF91EF9136 -:10754000BF91AF919F918F917F916F915F914F917B -:107550003F912F910F900BBE0F900FBE0F901F9079 -:10756000189508951F920F920FB60F9211240BB623 -:107570000F922F933F934F935F936F937F938F93CC -:107580009F93AF93BF93EF93FF938091D00082FDC1 -:1075900007C08091D60062E878E00E942F3A02C0CE -:1075A0008091D600FF91EF91BF91AF919F918F9104 -:1075B0007F916F915F914F913F912F910F900BBEF3 -:1075C0000F900FBE0F901F90189508951F920F9265 -:1075D0000FB60F9211240BB60F922F933F934F9338 -:1075E0005F936F937F938F939F93AF93BF93EF932B -:1075F000FF938091300182FD07C0809136016AEFD0 -:1076000077E00E942F3A02C080913601FF91EF91FE -:10761000BF91AF919F918F917F916F915F914F91AA -:107620003F912F910F900BBE0F900FBE0F901F90A8 -:10763000189584E997E00E949639892B11F00E94F1 -:10764000493A82E797E00E949639892B11F00E940F -:107650007D3A80E597E00E949639892B11F00E94CF -:10766000B13A8EE297E00E949639892B11F00C9482 -:10767000E53A08951F920F920FB60F9211240BB6A0 -:107680000F922F933F938F939F93EF93FF932091AC -:107690008E0930918F098091900990919109281756 -:1076A000390731F48091C1008F7D8093C10014C0EF -:1076B000E0919009F0919109E25BF64F2081809171 -:1076C00090099091910901968F7399279093910950 -:1076D000809390092093C600FF91EF919F918F9125 -:1076E0003F912F910F900BBE0F900FBE0F901F90E8 -:1076F00018951F920F920FB60F9211240BB60F928E -:107700002F933F938F939F93EF93FF9320910609BD -:1077100030910709809108099091090928173907C4 -:1077200031F48091C9008F7D8093C90014C0E0912D -:107730000809F0910909EA53F74F2081809108095F -:107740009091090901968F73992790930909809365 -:1077500008092093CE00FF91EF919F918F913F9167 -:107760002F910F900BBE0F900FBE0F901F9018958A -:107770001F920F920FB60F9211240BB60F922F93F8 -:107780003F938F939F93EF93FF9320917E083091C7 -:107790007F0880918008909181082817390731F47B -:1077A0008091D1008F7D8093D10014C0E09180083A -:1077B000F0918108E25CF74F2081809180089091E0 -:1077C000810801968F739927909381088093800890 -:1077D0002093D600FF91EF919F918F913F912F9130 -:1077E0000F900BBE0F900FBE0F901F9018951F9219 -:1077F0000F920FB60F9211240BB60F922F933F9357 -:107800008F939F93EF93FF932091F6073091F707A3 -:107810008091F8079091F9072817390731F4809182 -:1078200031018F7D8093310114C0E091F807F09110 -:10783000F907EA54F84F20818091F8079091F907F1 -:1078400001968F7399279093F9078093F8072093F7 -:107850003601FF91EF919F918F913F912F910F9062 -:107860000BBE0F900FBE0F901F901895CF92DF9216 -:10787000EF92FF92E4E9F7E01382128288EEC82EBD -:1078800083E0D82EE12CF12CC482D582E682F782E7 -:1078900069E573E07183608382E999E09587848765 -:1078A0008EE499E09787868785EC90E0918B808BBA -:1078B00084EC90E0938B828B80EC90E0958B848BB2 -:1078C00081EC90E0978B868B82EC90E0918F808F9B -:1078D00086EC90E0938F828F44E0448F33E0358FC5 -:1078E00027E0268F95E0978F81E080A3E2E7F7E01D -:1078F00013821282C482D582E682F782718360830A -:10790000AAE0B9E0B587A487A6ECB8E0B787A68758 -:10791000ADECB0E0B18BA08BACECB0E0B38BA28B44 -:10792000A8ECB0E0B58BA48BA9ECB0E0B78BA68B2C -:10793000AAECB0E0B18FA08FAEECB0E0B38FA28F15 -:10794000448F358F268F978F80A3E0E5F7E0138271 -:107950001282C482D582E682F78271836083A2E8B4 -:10796000B8E0B587A487AEE3B8E0B787A687A5EDF2 -:10797000B0E0B18BA08BA4EDB0E0B38BA28BA0EDF7 -:10798000B0E0B58BA48BA1EDB0E0B78BA68BA2EDD8 -:10799000B0E0B18FA08FA6EDB0E0B38FA28F448F7F -:1079A000358F268F978F80A3EEE2F7E01382128245 -:1079B000C482D582E682F782718360836AEF77E0C2 -:1079C0007587648766EB77E07787668765E371E0A4 -:1079D000718B608B64E371E0738B628B60E371E0A9 -:1079E000758B648B61E371E0778B668B62E371E08A -:1079F000718F608F66E371E0738F628F448F358F74 -:107A0000268F978F80A3FF90EF90DF90CF900895FF -:107A10001092430A81E08093410A1092400A61E08B -:107A200084E10E94640E61E085E10E94640EE9EB4E -:107A3000F0E080818E7F808380818D7F808388E4E9 -:107A40008093B80085E48093BC000895413208F02B -:107A50003FC09091430A9111FCCF91E09093430A6B -:107A60002093410A2FEF2093D60910921B0A240F6E -:107A700020931A0A9093420A9091420A880F892B08 -:107A80008093420A8091400A813041F41092400A6A -:107A90008091420A8093BB0085EC01C085EE809303 -:107AA000BC008091430A8130E1F380911B0A841766 -:107AB00010F440911B0A2CE13AE0FB01D9018A2F16 -:107AC000821B841718F48D918193F9CF842F089528 -:107AD00080E008950F93413208F046C09091430A28 -:107AE0009111FCCF32E03093430A0093410A3FEFFB -:107AF0003093D60910921B0A40931A0AFB016CE1DD -:107B00007AE0DB013A2F361B341718F431913D939C -:107B1000F9CF1092420A3091420A880F832B80934A -:107B2000420A8091400A813041F41092400A8091CB -:107B3000420A8093BB0085EC01C085EE8093BC00B7 -:107B4000222321F08091430A8230D1F38091D6091B -:107B50008F3F79F08091D609803241F08091D6092B -:107B6000803331F094E005C091E003C092E001C0A1 -:107B700093E0892F0F910895613298F42091430A80 -:107B8000243089F46093F809FC012AEF39E0D90127 -:107B90008A2F821B861718F481918D93F9CF80E08C -:107BA000089581E0089582E0089585ED8093BC00FA -:107BB0008091BC0084FDFCCF1092430A089585ECAF -:107BC0008093BC001092430A08951F920F920FB643 -:107BD0000F9211240BB60F922F933F934F935F9305 -:107BE0006F937F938F939F93AF93BF93EF93FF9385 -:107BF0008091B900887F803609F49CC068F588328E -:107C000009F45BC090F4803109F454C038F488233F -:107C100009F4F5C0883009F44DC0F5C0883109F485 -:107C20004CC0803209F45DC0EEC0803409F468C0F5 -:107C300048F4803309F455C0883309F0E4C08093D8 -:107C4000D609A8C0803509F44FC0883509F45DC055 -:107C5000883409F0D8C0D5C0883909F4C6C0A8F462 -:107C6000883709F467C038F4883609F463C0803770 -:107C700009F460C0C8C0883809F4B7C0803909F475 -:107C80005FC0803809F0BFC05BC0803B09F485C08D -:107C900038F4803A09F466C0883A09F47EC0B3C06B -:107CA000803C09F4A6C0883C09F4A3C0883B09F4D1 -:107CB00089C0A9C08091420A10C090911B0A80918E -:107CC0001A0A981770F5E0911B0A81E08E0F8093D5 -:107CD0001B0AF0E0E45EF54F80818093BB0085ECE9 -:107CE00085C08093D6098DC0E0911B0A81E08E0F7C -:107CF00080931B0A8091BB00F0E0E45EF54F808327 -:107D000090911B0A80911A0A6DC0E0911B0A81E0D4 -:107D10008E0F80931B0A8091BB00F0E0E45EF54F6C -:107D200080838091410A81116CC081E08093400A78 -:107D300084EA60C083E08093430A1092D709CFCFD2 -:107D40008091D709803208F050C0E091D70981E0D6 -:107D50008E0F8093D7098091BB00F0E0E852F64F78 -:107D60008083BDCF8091D709803230F4E091D7096C -:107D7000F0E0E852F64F10820E94D53D6091D7099D -:107D800070E0E0913C0AF0913D0A88ED99E0199588 -:107D90001092D7090E94DF3D36C084E08093430AE9 -:107DA0001092F9091092F809E0913E0AF0913F0A09 -:107DB00019958091F809811105C081E08093F80937 -:107DC0001092FA09E091F90981E08E0F8093F90988 -:107DD000F0E0E650F64F80818093BB009091F90966 -:107DE0008091F809981708F47ACF85E88093BC0051 -:107DF0000AC085EC8093BC001092430A04C0109224 -:107E0000D6090E94D53DFF91EF91BF91AF919F910F -:107E10008F917F916F915F914F913F912F910F9033 -:107E20000BBE0F900FBE0F901F901895F8940C94F6 -:107E3000E83FFB01DC0104C08D910190801921F421 -:107E400041505040C8F7881B990B0895FB01DC0195 -:107E500002C001900D9241505040D8F70895FC01A6 -:107E60008191861721F08823D9F7992708953197B2 -:107E7000CF010895FB01DC0101900D920020E1F794 -:107E80000895FB01DC014150504048F001900D92F3 -:107E90000020C9F701C01D9241505040E0F70895FD -:107EA0004532510520F4423010F00C945B3FFB0149 -:107EB0001082CB010895BB27FB015527AA27880F05 -:107EC000991FAA1FA41710F0A41B83955051B9F74E -:107ED000A05DAA3308F0A95DA193009779F7B111CD -:107EE000B1931192CB010C94753FDC01FC01672F1B -:107EF00071917723E1F7329704C07C916D93708381 -:107F00006291AE17BF07C8F30895A1E21A2EAA1B0B -:107F1000BB1BFD010DC0AA1FBB1FEE1FFF1FA21739 -:107F2000B307E407F50720F0A21BB30BE40BF50B36 -:107F3000661F771F881F991F1A9469F760957095BF -:107F4000809590959B01AC01BD01CF010895052E50 -:107F500097FB1EF400940E94BE3F57FD07D00E947D -:107F6000853F07FC03D04EF40C94BE3F50954095DE -:107F7000309521953F4F4F4F5F4F089590958095D5 -:107F8000709561957F4F8F4F9F4F0895EE0FFF1FA4 -:107F9000881F8BBF0790F691E02D1994A29FB00126 -:107FA000B39FC001A39F700D811D1124911DB29F2D -:107FB000700D811D1124911D08950E94CE3FA59F33 -:107FC000900DB49F900DA49F800D911D11240895D4 -:107FD00014E0C6E8D4E000E006C0802FFE010E9455 -:107FE000C63F2196011DC938D10780E00807A9F7CF -:047FF000F894FFCF33 -:107FF400FFFFFFFF0000480A80004A4F484E00443C -:108004004F45004D4152434F00504F4C4F00415299 -:108014004455494E4F0026398C186DEA07CB6DEA5A -:108024002FCB6DEA2F1403398C184552524F523A14 -:10803400005344204341524400444F4553204E4F83 -:108044005400494E49544941544500434845434B23 -:10805400202600524553455400555345522C444163 -:1080640054452C4D4F4E54482C594541522C54499B -:108074004D4500504C41434520594F5552205441E1 -:10808400470066696C653A207265636F7264732E8B -:108094006373760045584953540057454C434F4D3C -:1080A40045004143434553532044454E494544000C -:1080B40054727920616761696E00446174653A2085 -:1080C400002F00000000008E14A4147C15DF14E9B6 -:1080D40014C01400000000D51CBD0E00000000E315 -:1080E40024B32487248F24A324B224000000003B5B -:1080F4002BBD0EDB110B260C262B2613261F266206 -:10810400253B260A2809283C268126C5261627341D -:1081140027AA27000000003B2BBD0E1A2F0B260CAC -:10812400262B2613261F2662253B26342DF42C836A -:108134002FE22F4130242C3427AA2700000000B35B -:10814400339A35C13000000000ED39BD0E9639C2B6 -:0681540039A639E23900F2 -:00000001FF diff --git a/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok b/SD_Makefile_Build/build-mega2560/SD_Makefile_Build.hex.sizeok deleted file mode 100644 index e69de29..0000000 diff --git a/SD_Makefile_Build/build-mega2560/acces_control.d b/SD_Makefile_Build/build-mega2560/acces_control.d deleted file mode 100644 index 73f726d..0000000 --- a/SD_Makefile_Build/build-mega2560/acces_control.d +++ /dev/null @@ -1,29 +0,0 @@ -build-mega2560/acces_control.o: acces_control.ino \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - inc/pin_layout.h inc/RFID_module.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ - inc/authorized_keys.h inc/RTC_module.h \ - /usr/share/arduino/libraries/Wire/Wire.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ - inc/LCD_module.h /usr/share/arduino/libraries/SD/SD.h \ - /usr/share/arduino/libraries/SD/utility/SdFat.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h \ - /usr/share/arduino/libraries/SD/utility/FatStructs.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/libraries/SD/utility/SdFatUtil.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_Makefile_Build/build-mega2560/acces_control.o b/SD_Makefile_Build/build-mega2560/acces_control.o deleted file mode 100644 index 6c0f4eedfa885b6e0bf840a1c20ac31b54d0ea5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5356 zcmb7HU2Igx6`r+?7bt=FmZZ><)`2uQE!nXC!KP7LjMsKZY_Dq*sj@2FT<>1ntFCvg z-D?VY!3qSNIIRIgoQFz9vZFLnRDmj*Di0xj=u0G$K2}14l?x_{s>(>I8da6(_uV^Z z_j+Plb#b7sc(cxO*nBoa|V5jChPoKmknsMIMan|*@@wL@)JQ>8Pd&F9s9 zd#Cj367^1LW@!`pPv&mUU3>4wdkynj{_w^58&|h{aP8^~rHRu0;!yW-B=S0Ad=Sao z$CF|?{qoeDQlcwMcSTmhK2v9vnm&D?)L&ZdZTdC5UdiX?*-y@{zwm7GnLd?BcB4OJ zWBJWH(9h1#UR=1maO&2%J8x6JFt@O{aAo1d?X$~^)Gy30Tzu>DTlIfSF6EXayYSq4 zmd4kViw(CI#2prQ=|3#}rL=qg<48~`AMX8YH1c_{%5doJ==ec>LwDcvPt-TZ_Qx8P ziWQHId(JR=uMqTOf;{)Ar($Wxb5v}&SX8lsn{{H8#)_^tIT03Q^Lg@lS~FBU77we7 zo>PEF%5-GZ?%0QY@ZJ7kyorRl1ba1GwNp< zaFe-=XCnhq2PmB>PGp^9qVPsAJz4~55ZOaLEjef0MJB2I__&+%{B>Ua6F#Rk>h8U; zwtCemR;pT6h1KAz)z=~UQCWKT-VWd&hWPIS|2V|QfS(TWZDmYw_g(_Om7L6cYF1fS zt6GC!Z}1z`Pqbtkf>x;w%GLZX^bz$9!~Saq|A5MC3G=Q}4;cC_2483JmcetiDpaku zRv4ga^^n0oZ185j+tdkdu@}9iYSb&5Z$@9I9#+57JUd*&>XPOkL0^aQ-`6}l>aS~_ zD_e(%cQntA`e> zvdn*n!FL;c%HTbNe_8WS`T0DgUNQ8G2LETxbL={tmX8emb%Xz>!AGm%sEIMQ8vNr1 z-(v8}Nu}JPoyzCDLOvVIIatQI%^Awym0r zw^l3I`-!2eE5qL4qsCJVHwlM9I0ouv1PU9q6@xN4#_3xgbD! zg`19GANkjhUS;~pa+8U%C1L+YQt+HVGjkjFEsF<&F=JAs_{Q|-0@ zZ$uZ>coVSoXdvhLt<_gLUxuj0da<27Nc6_iIdJ z))>cSylzZzyFEQ)WdKy0>PU~G5m%D|-Op|}be#YHv*Xb>$K|;Yl5u%% zxXuT(qO?(|-vXmteK~c!0}i5vL_)Qj$H;qr7OHeW%_fX>X0@H`*lf*jV zw}KFLY>w{fOZq;9{KgUz$TJomw+%J-E((F;^8S%=r-A7Ml}`x(!4wES0UVBZ3zrYq zf${kDCh^V#GoIwvg#a<|LXzJs1mSoqh<64u#zU&*cz*;A=g02?$qA}5{=N1&Kp|)f z1uyyWo|OEq0*CA62!fFplKiegVA{!?Xe)L%*0AGQ6B4^mAu!{a`%9mHtzq{R6`CX- z6ENe2&xqJU8xK`Vix)3TT7zCpQCE9b5DG-|FDK sjBSFR#kC&clt~rZA7}gZK1u%&)(M*g`m@*~@O#?xF6g39XFBw}Us_2*ZvX%Q diff --git a/SD_Makefile_Build/build-mega2560/core/HID.d b/SD_Makefile_Build/build-mega2560/core/HID.d deleted file mode 100644 index 57296ab..0000000 --- a/SD_Makefile_Build/build-mega2560/core/HID.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/core/HID.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/HID.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Platform.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/USBAPI.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/USBDesc.h diff --git a/SD_Makefile_Build/build-mega2560/core/HID.o b/SD_Makefile_Build/build-mega2560/core/HID.o deleted file mode 100644 index 3b2f6a39b0612bb1f5eafa913ff3418d94377598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmah`O-sW-5PdOKD|k?^UMdJykVT{(tY1iN(?XTf;>F97)}WWzknBN4@FM;$|5AQI zoJn?@Z4Y+fW!~GFoq1%x+Wn5>I56R0gi-}O3k6>n1BFkbg`pSz^*fa+Dkvc4ld@7S8h|JDTW tWo#47EUtA3r%ZGhf1K^t`y~BKSSM@}=+9z{!0&0#yP%66otZH6{s3zaLV5rI diff --git a/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d b/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d deleted file mode 100644 index 75337b1..0000000 --- a/SD_Makefile_Build/build-mega2560/core/HardwareSerial.d +++ /dev/null @@ -1,13 +0,0 @@ -build-mega2560/core/HardwareSerial.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h diff --git a/SD_Makefile_Build/build-mega2560/core/HardwareSerial.o b/SD_Makefile_Build/build-mega2560/core/HardwareSerial.o deleted file mode 100644 index 46adf4bda241d517fab44ff0311495425580a8c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11208 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 diff --git a/SD_Makefile_Build/build-mega2560/core/Print.d b/SD_Makefile_Build/build-mega2560/core/Print.d deleted file mode 100644 index 87084ce..0000000 --- a/SD_Makefile_Build/build-mega2560/core/Print.d +++ /dev/null @@ -1,12 +0,0 @@ -build-mega2560/core/Print.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/Print.o b/SD_Makefile_Build/build-mega2560/core/Print.o deleted file mode 100644 index dbbbbbcdbdbb31a36cb9503926f755ea99d29cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8812 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 z 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 M5Y1w#vQXmv2S0bCmH+?% diff --git a/SD_Makefile_Build/build-mega2560/core/Tone.d b/SD_Makefile_Build/build-mega2560/core/Tone.d deleted file mode 100644 index e5011f2..0000000 --- a/SD_Makefile_Build/build-mega2560/core/Tone.d +++ /dev/null @@ -1,12 +0,0 @@ -build-mega2560/core/Tone.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/Tone.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/Tone.o b/SD_Makefile_Build/build-mega2560/core/Tone.o deleted file mode 100644 index cee6040cb6947099a78792e0af3e4dfdb95c9319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8892 zcmb7J4{#LK8GoBxV?Z<^0!Bng02L9FkVFKeBqBXTTYDa^h3s$KoHy)$u9L?_T=orK_y@R?Jpv_r=!Wz6xtlB~-$72i@|R zN_57RBJQ^bDy$)uI9bBq(9o%AlqX8a&UHFfuG6Jrc9+^+8;d8AtJP7F~B%B_6Ws+zWe@sD-tw@!U6mLZIGVByHui5k)#dX(?H&{FvI5R$mFR-sW)~XnY+Ki! zuAg-s>YC{u?0vfT(cTApXZBh{&DIaBl;0M2%d0986#HD2sYLzB=s>5hl5?<8#TK^{ zv+AqQnNKWL$FIk|6Do91W}ObHz&lOF=acDjZFe4?uzq7Zwq4zcclL&H-wxG<)^mIk z#RC-s&sZw)i5>?%D>chbv4#w1$gR+kFw-<=e*oulw^VcR{%TI4HIi*4&WL63ee2nr zUrl+!a`b$fajML%bgT8uGnH+2=T5K&yT^wHIa0V6XjnJgg%dc63nzpI|KV0>tP;OD z#8rT+K_wbjolbk5+FaWiUx%l9+}WlQ&Q`rrq;n#g69FgTycp2ms{31Yj2|J!?f}ku z%~`KG&w%sO08X3cv}w*&R>GNKeYM_p&1nbcewWYS4bQw@ePYw6{@HZGJu34$?H$51 zqCaOqkXLGsq`gan<~>+C@*XUe_aK!g`TjhJ$Pb{Uy?H~-xfv}dmi+gzeaxO>=h(xs zf!N2fW3ks`&&T$~cEvhkkytpkJXR6Q?%m9le`xD8Yp@F_yZ3(TgIhGtb=Ilu-cCEB z9`5LjM>KBLxK(xGZRx`ZA5dF6?#CD(z&iLM7`e`R{oAI0+wprWex$e)yWWnAlDl2M zy=$NovxC*|Eapm9>+UE%W{&}y;^a6vzszyQPCp;N#qo;x@_0BNiFd?z#rMUZkG~!t zh!4jZjr-{1XnknguHJt2Lswgaw7Y17XtAzsS9W&$nfVhg$(opTX;x^+-(x+xf7F3d ztSg50I9i{skv!HoY!BG4+t1tk>|J(;9kIjqa=XGVwsT_VzlNucHYJwdn=!1G+<4>s zf*DJ0{mxYdVzqch?w;D3qmXwVKMH@CoRZ)Fiv`!VRZf{pbZ4J$JMYI-$ zSC&U3>lzyGZb`S!F0F5BuUp;RP}9`X(AJpVIcHs@hE8eL@I4J{qLH@n>@ro<+7?;c z($Jz)BE_=O*-R2{ZCV$OM#52s3|B9?C0P>*^GrXALxn|}a;`T?;uP3Ccgins8E>O3p>0?AoicFQ|)3bd#t502- z%I|+csuL(vUFg$ue0r`=AM4Zed^(?2>dI8(QVLL}8t>C5`1Ff?dcIG;#HUa6>6iL+ zj#lc*RQQPTT$yUJM`L|ce0qUeFP7Kv=<`%a-REKO>0p5zxu`!a8fVs6b*Xx3q*p2S z|3P$)_gFPieIk02pQHYs)_V8so$RIk)1+R_?sYgnuCriQkNQPMV)|FZvhcE9?jwN25wX1zvYkK&4` zweXgsUqG4`Y+TFv|8<}Tg(~GW0PxX5iW!>*txwY=uIy`#H z-?KaEe$N)Bbf4*jfm=2-Z)j|4Zz==ckm}IRzRg10 ze0z|#`L;G~^X-`0=G%z1?b`GWDZJ8uJPEHHIg`j}e7CJB%G*etN^naN91vRX4eOIo zQf+RiYYX#CG!=6+^L&NBwczUlEhNirIdBH-+^6OWUH~~CjeG}d6?Nj9A<4^@tI_B? z5uCfkem7*J*q5Q69l)cm#1F2WXrl%11|BtoR;Bi!jTZc4;7~zwuYF1|gnAZj)J!6! zoeaGZIMZVnc z5IJ(}I0J0*PR1CUyam7}?@Zby*DTrvmjj1zyg>*xS1|J~AYXDVBwz4ia^!fl6xigg z7R-12cHq1@jG|OMFz06@UD-NM-mxkvD0kklD}4*1Uk8-7CU8L
Zz6FNZ8e zW3CUrfxklwz7Kil3SI!Y5KTV^$V#y@*X?3o26?yG`$9@>1U9*PgtHs+5y5*PsWb0; z$omwq;lClABanwZ_)TE)C!@Bbf|=_>VB`Cx@F&5Zg=Xv%fweE>RKbfO=c4hx7C_Dy z`zw%(1Yd#LssuMeu0kW9oV&z+H#p6LcR+4NGo0;W-w94kFl&Cw!}+<`UjXN2vA+j- z7%gvZa*iD*o|nY$0`p!zgmlrEYbkvD1%Cngnc!^LPYLF|3_XN#xzy=f-yX5I!83tPoST6eXCq{l2d@%b1KBD#3fYFn_;(@ZJ%U;D zCc#`!9sp*{?T}jq^S$1IMqhGbg6YfWl7Y|aB1lY6jrrY_Etp%_7{OB^d88wsXDV#} z8dpPd*l6b&3gJi2W}|^K@tKY-Ovf?jG*Cy*b=)@0S&nhYXI@UhJQ8tnTgqFcp~hx@ z&Vq@UW3A7ez`Q4(Icdi&>a%4AZps0!q+Ryq#l-T7T_u=tcy2WDd7mc!O2Lf3N-*O$ zqA~s+$Y!xas8+#@85K<5je_aBSulkD|4Nfk+iP^goAa z`+xi4Ys%U@H|Tsc#doH(n>=C15j`iMIg;Z@jaJSAb5&<9lS{?Et1v1{$wQBr`Fn z8+=f(8IK#z!Fvll@3<{G2k)Z*o~Z#{BYF8ZA%8s9ZZ1{p<%1}w=6OH*3Be5}X!c^pl={{VcBPJ{pe diff --git a/SD_Makefile_Build/build-mega2560/core/USBCore.d b/SD_Makefile_Build/build-mega2560/core/USBCore.d deleted file mode 100644 index dbe1e74..0000000 --- a/SD_Makefile_Build/build-mega2560/core/USBCore.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/core/USBCore.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/USBCore.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Platform.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/USBAPI.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/USBDesc.h diff --git a/SD_Makefile_Build/build-mega2560/core/USBCore.o b/SD_Makefile_Build/build-mega2560/core/USBCore.o deleted file mode 100644 index f37ae740c80dfd543095c2017577ab2dab15b4d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmah`!AiqG5PdOKD=4T3FCMHXBgi6B4_d2eXd_sqH1y(SNo&wcOi1>iMertmmcNuQ zh_lJASv}Z+$Go>Q`(~1T?+yBvWkH7pAGHELNqkVTT{bvqViE9M_q64BcjNt5o1L&D zfMu_d2qu(8TIDCrMED}W9s&`7O|lGZ8b?w1EcC=Wn{yk;i@E~XzqXQk!7P)uu|_B7 zKc{)IMZ9b19pV>;c8GTjP2XWeUP!Ncr@#9&fU$q&#%ai=NdnIOA;0FlB7=&IdR|FJ zm$$?Fl8GqcY4}+3S(wI37<2!p+iIsJ)mFVreMj%RtNQFYeS1`I66W#uS7Ti diff --git a/SD_Makefile_Build/build-mega2560/core/WInterrupts.d b/SD_Makefile_Build/build-mega2560/core/WInterrupts.d deleted file mode 100644 index 24687da..0000000 --- a/SD_Makefile_Build/build-mega2560/core/WInterrupts.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/WInterrupts.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/WInterrupts.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/WInterrupts.o b/SD_Makefile_Build/build-mega2560/core/WInterrupts.o deleted file mode 100644 index 4af23ff49e56d8af7221a9a521b5e0ac30199c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4724 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 diff --git a/SD_Makefile_Build/build-mega2560/core/WString.d b/SD_Makefile_Build/build-mega2560/core/WString.d deleted file mode 100644 index bac548a..0000000 --- a/SD_Makefile_Build/build-mega2560/core/WString.d +++ /dev/null @@ -1,3 +0,0 @@ -build-mega2560/core/WString.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h diff --git a/SD_Makefile_Build/build-mega2560/core/WString.o b/SD_Makefile_Build/build-mega2560/core/WString.o deleted file mode 100644 index 47c0b1832ccb24d52e2e09475ef34b4221f1e52e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20808 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 diff --git a/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d b/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d deleted file mode 100644 index fb27f21..0000000 --- a/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.d +++ /dev/null @@ -1,4 +0,0 @@ -build-mega2560/core/avr-libc/realloc.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/realloc.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/sectionname.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/avr-libc/stdlib_private.h diff --git a/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o b/SD_Makefile_Build/build-mega2560/core/avr-libc/realloc.o deleted file mode 100644 index 92da488e772dbcdc95879d6ecc7206aedff30d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2040 zcmah}U2Icj7=FLC+Zbaj?FLmh-5>_hY{y}C;SXvJvQ09v{P+ja+I43PY`fVt%OKM= zln^iYIX`UGguoKGAY_3_X3&I46E7sr(BO?BUaWXwOeE6AC1z%^KJV!{+o6f_CC~Rh z@AE$2&-uP{&e+!O4j}|tP0%h{&WQReh>oJzZWuPwN~)v*ZA?3Qn=9G+bUAe5BRZc2n%7C)!6w#vi)%91?X|dkF zsp=Q+pOrLE>D!`4ZB*T<3a_`4a^-FAa#n8$XX>aoWjMz++FPh!Iead;Bk4=t7Q7;*YXePhd@B+zwP``9 z$wcz^*1w;=Q=fN=+)tuzVp0D?_oOJD(}}VGrH`wp@l0Lbcku*M;$z{Ns8Oz|ldY6a zV3!K;>6*{6w+`>ya9A3j;_<6zuKG~-14kOhtAFz@z+uh2AU;ZdkfijiaR#G&?zs!% z8zZ}E^xp|e-vkm_CHsH(v0|J$w`_U7d1L4HH=k^7m!6ZJA(Dm;M&iL9#CWV2`z;oi zN8%*)2IE1JdWMEbipk-i#Hth=j6a4MZYxG;X{$C7u2Ka#FrvFFWpg`-mJ= zW-lXmP&Jg7mehQq9{fdH{wVm%wtNHl3%0y%i8IL;HlttOQ|W%3_qiQZL9dz0j~L`3 zC+)B~R)fD&lD}7yhf4BrN&ZPmexf9&m>dj;2SQSa0)burKvy78B;7@_b8DwTcE0ku ze~-c9k-Sba%{j%%y}qcOh^MHFXW~fXSnXd>-tXf@j#& z46zYPQC=R^8j;9L(>57VFvLE!2T{2zA|+Q{0AGqYw~{(7XkKr z;8_dsJdY!;2ds5BfLm)lWpWIo7Mtf;a2~rEvBT6a!LtqA>1H?4c9SE}ZglKFfw;%U z-v@Vk3_JCh9D({w&j@0a^}3=bW^x3=f5MoP&p*LB)@A*O$$7*vaO=4gaO)mF1Lytl z*fXs2hlh5axp@~C!FlWq;w2j|Iv?COz=C1;%8ISsj8@2PbI%<$D6P6~Kdh zo8T#3m%neTS+oTL{}Fsx@-^58yFv0JjQw%quf;t}*!9t-W#KA^5ES k3+L9l98p?oy-55JtDw{Xye_}?oZIJ{K{5`_YSw)J0@{*QDF6Tf diff --git a/SD_Makefile_Build/build-mega2560/core/main.d b/SD_Makefile_Build/build-mega2560/core/main.d deleted file mode 100644 index 9c56317..0000000 --- a/SD_Makefile_Build/build-mega2560/core/main.d +++ /dev/null @@ -1,12 +0,0 @@ -build-mega2560/core/main.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/main.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/main.o b/SD_Makefile_Build/build-mega2560/core/main.o deleted file mode 100644 index a76b6049af80307ec4d740fb799f581d495b9a9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1076 zcma)4!A=xG5PidJKtVxP4=5hSg8>rKg4v52Py@?y0790K5H7<26WwHIcbsX6df~F;5GyP3<2jX)(XKa zMlpi%Unuhel(@Z0+*5f^Bzth^6q8(X_`K~23=ZvmD6NOW|_sIxMDwMfU`HPmsW zBdEhXhsxr1q=cn7%JfO9lBm^zI_f4#+|hPMH@dS{(CfQ3|ISGOA3Tg>KABPG%QsxF z|CD&i$zKwGbn@54ADsNn4HnSrOYL^1!Feio)INr>ZkQL0RaCI)D4q~E2l7294~W}N zE_%qu)KQuu40pD}^)M{KMhTkrMgf|iH@Ei-q?0tv;x7gM8E0LS6pL?lS{ixGi$J)) zSj*$A6}9W9yo%;Y=M?R3H?{4n<0X<4RwqjQfMKc_3dNqE8~jK#lclE0Ff;}T_e^-B znIiTLPxxOpO_l6^*r;m*U)g(kWpw^Mx*68x4EO04&HvoKa-Y_0-+2}l`x-b7P^MK?-#>aH&D{GhB{of@u K-^f|B|GNgnMQJVo diff --git a/SD_Makefile_Build/build-mega2560/core/new.d b/SD_Makefile_Build/build-mega2560/core/new.d deleted file mode 100644 index d76c3b7..0000000 --- a/SD_Makefile_Build/build-mega2560/core/new.d +++ /dev/null @@ -1,3 +0,0 @@ -build-mega2560/core/new.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h diff --git a/SD_Makefile_Build/build-mega2560/core/new.o b/SD_Makefile_Build/build-mega2560/core/new.o deleted file mode 100644 index b8bdd17230bab02a96efd689996009779e9b7174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1916 zcmah}OKVe65T4tF5=-eLS`c)Rs$c}UsAQqFYPHt5XiI3+MUbAJB)7Gamp3;}b)!LW ztzdqG3;%&z|Avcf+?$d64N{y6pVgo1L8C`DrxWZ^f;eWI`zNZfM{h*_3;8vRTy4MK!Jmo0Q zH3`F!%q3!{4v>HenMR&~GZ?vl9376*i0=u00r3ODuOPlFxO{s>*}zwtEcIR> zm#+uweYfhik;_+*>wa2wJEzqBGIcj_BrBua`ykDEbnYpHK#%ut0>*e=8s&OkVqk!N X4&&ssU-~}iotApbNPb|9jrINkvCq;m diff --git a/SD_Makefile_Build/build-mega2560/core/wiring.d b/SD_Makefile_Build/build-mega2560/core/wiring.d deleted file mode 100644 index bdaea2f..0000000 --- a/SD_Makefile_Build/build-mega2560/core/wiring.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/wiring.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring.o b/SD_Makefile_Build/build-mega2560/core/wiring.o deleted file mode 100644 index ab936a7ce7a7225d30dd03130f21230ead07a796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2868 zcmai0U2Kz87=FLDYK4Vv0|^mkXFx!s?ZhQ2B1Ms(kbyYF3oiWDb=}t3u1i-37>Ml{ zh8Pq2vx>wE=AA|p&;(74I!I=+8?$h4vf_pEW28;E@WNz1&*?ec*NWjy-tRo``#$G6 z=R4nfy1l=vXSZcpV$705vJ{ETJ|yx1irtE^SyszR@fUmr-?zR(+lF8B`uMYsuRG+*#vAK>E`>XbA{lrNJ`KOb7&Dv-wOP%q znf%54h5XrkC?CxGa=xE@Ie%_VDfr#rQ+=2}3O72z8E+|syosk#zIu6eF|svfJtIKKAe^5N}cJEW2=&pmq0d)-_0&b{&L>vClwKc8RB-N`NF z=5yYXb2Jvm2AiiK;*b{l1l7Xyl5mjG61$(BQ_Gl@>n>K zjwPb0E_*N)jx=V>dJa-@JenGeCy&~Zy@w7g<}{Q}cd2vRCuTvBamN+TfN4n__QM z%-t@TTUwR^Ah)b&iktOYo9b;%al0JW8C*1J7mtK>?7`S3t&(hr+vK#4*I;bN{y)<3 zJ{5ZfKRL>JRJ=^i>v)xlTjWa}&#HKZT+%TIwcDeyRBU7@5E0uxbkN>w+cnTr1HHTU zDA4=L{)0ypN+(9`RCGw;_oAt!4jS6e+4;JlyHH0>4XBIy9@Luuza6i7-L?mkb|fAR zr)*v~;kkI&R511uF~5DM#_Y%q8oM!WCT_oiF??>_VeiR?L&Icx+=jld~XU6k%Y0NVr-iDEV(@p`{V{jL)0q=Mx+~l9u`PCRX z#|;iK*KWxB=--!O82C*e-L zaRlTTGkU7;k=&sRUqO%OLN0a8{z|}3y$=!0B4^C#O(Ws_z6a2Nrbe#8-`s=8wTv0w z&qy@u-HTTSk8}8~Xk3>)Z;UlM|3aAFW33Oon*`d-x*SoeTMs5xkbDFg-Yf0_S4kd* PJN34q|7MUgX7v6Ah*8oV diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_analog.d b/SD_Makefile_Build/build-mega2560/core/wiring_analog.d deleted file mode 100644 index 2f6e73c..0000000 --- a/SD_Makefile_Build/build-mega2560/core/wiring_analog.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/wiring_analog.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_analog.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_analog.o b/SD_Makefile_Build/build-mega2560/core/wiring_analog.o deleted file mode 100644 index 99ede81e973c7b587eeb0d610ef0dc32a033aa2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcma)-TWDNG7{|YpP1>}iX%oDZTI{NkZcN-XHF&9LV{a*v#E{^HqMUAaPd8h#*=2LI zxrjYVNaF>&+tZM0z2wnLm7?}Z0*eUxAf!bR-@1i9h`uC{Cqd%>f6kfBbZyar+3)xL z=bLZl%zTraJlK86Fbq-6kO5iqM1ET@GL69wFCZcfQZJ4xQad~SkSt9P_3XV8Kj_b%}_f09fGZJWnzV zw><5l7k3f<*UCo>{ck)!?~Uh?=RIiWl!h2;=b^nHXfsEB?L%lEc-p)-7r%vhIX&sP z^O*4|Mn6%b$U^ONXrBcdvrzj2+67Mw8~l>6aoKG)if+Wlj&$`t+Z^tQJ{H|A5*-~++p$4dJLlUWMYc6& zOEeL)V-g)49hGR#8jeM&Mq?wf;Y_mMI%egpk+^lUp;+SI>hrmjt%9?;Ofqeyqse&O z96e!T?O`j(8-#J?KrwS`OT{zkv^8SiN(-l4{zuY)}sqFdj-&go@B9%*xBu&3s zqH!_Jfj;xFY5LIZL;t}p5Bi_#={w?)ozCLIlO9i4xlG_x7M<^FrJ({)dOrGvlueEF zWD=GnQpuDZ8}`M(F)?V`8PiUst(@7{)q|~hrFi`1bauD5gG9!RXR_m__Yl0Qsov~= zC@ZK6*TC~;ttfpDI0U@|mbcV+JAP=dy7u?7VpdCTy+*dF+q4Ai;?`X{X zSMe7#E^7RX#=mR44r{2n+cb`9yieojG(N6z7R+zAVRM0gH`bxg{I`MGYQX)lyd(09 zuzYdkW3aq4@&qhj8kuLvS4Mspwl3h0V0nDhzl3G&lfQ%Iosxfr<=W&wV0ne)TIA$$ zledFeCuFY0dnfM#^Bc$qz~O*j0RP{17Xlg1?_y)^=}o1&2O>EX4BjekC&qa${}tDc zn96n49=L>Bw-wCu??h)Cs`1a4Pl-A^&$}C4&&RjKT2@Wv>w=)?vyra}8uM{|m2VKN z=bM7hzjvxBdJBxvzp{b_w{R6~+qnrQ$ diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_digital.d b/SD_Makefile_Build/build-mega2560/core/wiring_digital.d deleted file mode 100644 index 31b6e9f..0000000 --- a/SD_Makefile_Build/build-mega2560/core/wiring_digital.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/wiring_digital.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_digital.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_digital.o b/SD_Makefile_Build/build-mega2560/core/wiring_digital.o deleted file mode 100644 index c76527e3ff3a813b9b9b72a10f715c1722938fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3852 zcma)7TWnNS6y0}b+RjW1ohc8A8avPmg_hfgjpDmJOH9G0C>TwgPTQdjcG_k-4TutM zq0z<CXs)Wn8-=S-W` zR&hqe%35;zh)mgd+{#(vpB(>|7W^I`|K2}oWiP7;AR;a!!pdfp4S1ZhGxG5XE0?i- z7nBcZ`!3kN3$`y}II96|U&P?Nh~b~q`&k-q=5FV>6INfFb#Od8QDe+x@)MO`R6CX* zvbU7)tL&9*EG$#!ul{{zVk|OwvS#Acbk?kqsh%d|F0EU}PBvPTryP5IL+<=FnK}*o z?_*|t-Ko>pZf9?1{gc%>u3XpHl>f(GdpzslErr*!H&Das#d8uOEXVD;(jo%-pVlf4@GA0_+Zxsj=6ET736cda~50nDjbBoOrY%PW?Z zm3n>d%dtpv!=cJWtTY*(P$c5_hazqGvpj~!@cTT5;qlRAS#6OJb&ErBw_nGVK*~z| z5Dz36^!t4f++bV0N_=HyWfe*oSE{63iAY3hWW8*Z25FQQ6er>}N{s+;ojfgdQZJ@7 z)Ac3#6Y1E%fm9;Bn7u0=>l0Hi!GcURBZ_3v^iVXNNXApq z&UTdZps=1qI+~1)y!Y_P;h|J|kto}Y^%8@_qYv^Ajiw(QkVFTZ{JlfTWPC7v-(AF^ z6~rgAa|H#&yWq=5-Q#vc_evEkuN17ab5DT3?9yw&Uv=r5!C!Rg&lNby?A&(z&ev32 zk54*P{3W1Ad`fe`E2Txczeo=j=@mu#@*;iV+x1GQ$R94!*^PPe%8Gdf%quJ99hZgK z4lDgAuuA-rQu;1nSSsby1$s!nR{G<%e}!CKpjXL{O78|%Nl<=Kx|44?{y{m?W&11S zp3W~hHbnR@nN!Qjrop0MLog9v);{7&17EcW+ z#r1@v&U-yPnjCIHn0}x|Z*0NiDe@Jbi+&)5`>hSG7op}lue~VI{6kg_`|ax_^UqGu zLEJO^&*#nHZSjI%1oG@Em*EG(Qx7S=5H+&W;3;#+{*6n_o4U-5&$ zcU_!!f^$y-kGVMS2JK%0KXY+VDS_Pt^2L(30{L3VdDf+huLJUx(0&of{gS@~JtEy1Qll=bj@5+*UbIunz>(HGi&qUQ^S64!l*)jD6B`tSuW9-f7+hqdW?*f$Rv%pR=A(Dk%{2bciTiV;+N8#v?H zr(GCc#X%oQ_&u$KV_f2IW@__EL+sZ-c>|?>h3`fQ|Xs1D!7k?ym1&=tnWM==u)9 z;Leu`h@69s`Pc`Y&jNSnOF`*|O^eR=0SxYZ4Y*ht*qD!ZOy@fb?#}l!lrGq`=zKXC z-1)w9nV!cv_#yPifd8}?LZvgsur%x!Osd@1=$bf6FQV=N<`@e$)m9m7#@RV4F>y+ TrzyA|3-U=BzVA8-e473bJ!e3} diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d b/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d deleted file mode 100644 index 8b676e6..0000000 --- a/SD_Makefile_Build/build-mega2560/core/wiring_pulse.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/wiring_pulse.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_pulse.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_pulse.o b/SD_Makefile_Build/build-mega2560/core/wiring_pulse.o deleted file mode 100644 index 86ae6ef3f46f969eae0c80bd3dbabb147ac60d4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1532 zcma)5Ye*DP6h7BoH+Oni_JHi6Jt!-g?DeCf+=|pd-Noo7#BJ40C-=qfY;UMQ?D41B zu@#a)0u%dXK?FtQ_9KWSM6e%0?-LR=^F1+v?-?fCOmyf zBX%TDu3{5UH$wV>cAfRG%BZ4UE4*ED*{67F*fHkKbQIqb`h-Wqi}KO((`<^pOpYbn zuAExcJ|EIN^RoD@@J09`yjt+i`PKQ$$-YCniXCB*OlNVo&@Vg|(u+o2pIqNulu59b zoE4t10am;CxI65=#C-s{l1(qnVn7`aQtz>% diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_shift.d b/SD_Makefile_Build/build-mega2560/core/wiring_shift.d deleted file mode 100644 index 824b831..0000000 --- a/SD_Makefile_Build/build-mega2560/core/wiring_shift.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/core/wiring_shift.o: \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_shift.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/core/wiring_shift.o b/SD_Makefile_Build/build-mega2560/core/wiring_shift.o deleted file mode 100644 index 93f96c5c4fe4fd188ef31de008435d2289064ef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1516 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
F9H?&y(0`igOl6 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μ2rR;iaE0jh6s55NKF(dM0UDqm7fY@ESO?;Qwu-%fyM8?m2} z++Q}Z#&HZL+Qw5(;oVnI?0^4HD>v8O127^Zn|e2559eKsy>et|&20m5y7PF^W(=3s z;d$1VjK5{Q>Y}3>xcW`m-k!$A57S$GzL_nqWOs(|U{38Gs5hsdAA9~6W>kYu>Yan0 zrB&*##asSecq1Ft5Y=$pq(%#TMw8j1p|;fe2Bl~C`uDu8L*&Ijnuojou+R3oe>V@! zJmK2D=O8S;blZ(98F{^F#@AclY-jrS~_6hKv+-vE7NMCK9?((~& zw{H3myvr!4`-A!Sy4E_gw#Drm`g1eB!DwEZUY5@HHLv@>t5@&4t#8#W>pcY?woX4_ zk|qx`TKZz2M5{U6(+^gAYJJvQgLAU2V7tPzE2k9Yr#G7OU<1HxWG-&#cCG!-y0>A0 zr`7yMnX|0&lRe^X*EUas=Lye`1X`V^)DzX9YN{x|_otPPkIiyXV&+RsMJ>w!)S@p> zABR%9&hlLewTQyfL^bsFG2Z%1&h4W-7hdHQ)j)aIJ?+!``dp|lF-k!dj?$wYp*(@6 z-iAdr1UQz9IAPqs?hF3ux6N6J)z zG~4Qjk^Yf2apt6T1$Z?Twl{^EXmP5o3sPH4s|ybmrRCf?ZN~Ux`!QZ}{x@YRDl_Y$wK(oLQ0i-GSOpH% z7*=9+O-TuCD4My>!`zP=#z29~w2XWW%_nON*DS zT^kygnWb8)?VOcHTRE$Epeu_BX)B7?JX91iNvdZ8MufiS(;glWPdf>^<9jzgPxE)b z%vvW1$Fwy9fa^wjWy~;Qn8T9To_HbJ%{tI>f4S zK*eF)76=G^t`-HHLs(>}|yhcV92 zlW}0=t&$Rs1gFu?@X9d9WOt18!$IM(Vm+Fof$&a@$6w3%WYF%0%lNAd^I6@A@p(mt zd1W~5ex8c-q8Pj`}BT;h)Pee*-!3Yv@lh%-=<{dvV#O-%d_p z{0;2HFQ~pj;ben0r0FcYe#QbBw#uJkd|QUC_PyQM9i-pi_@NA2^%-dVMuv&W^8ZCdI9qNhNI+Q+NmuXKa8lrfp z4|*KaBQxTp6X zdCq%EhjSd?y(fcmE{m2AgHG@rCC?`&g~NL&-~Xq8UK0~9XL!HlTB^b%zQW`b8OaG6 zj?X#dIiGWm<-6ZWpww6Sa_(1UCa%&E<$yk)S~B2OUVKVYdGU#d?~qxK(eMh>MP9a* zs0$bU;Y9m@XL&^XpdeUMv(|+NQ-k*jq#Yz!YyFQ8A8>3RzLT5)%H}3N4Rky_-#s$9 zc+MCH29E6$Dbo^@?+h8w{B(TEQz2t|zDv9pl=zXdJXzqQhu{y~2>6bYcY#+rER(`y z`x0js=yZ6eED!T-KM{JMZ08P=zgAx>d{GzKChR+PZc`NbsrUoO{*7ZK9QETRFZAyc zV)2|3hyJ2tdEzC{@;KR;aQ)!b_udSvZ_!z9+5usn^zGB}2d*Q02g$Px&KZ<~!mIJX zy!7#)>`k!liU;fGnV0H2<`u~ff+N0a6V^+$IpdssQ3WUTWm~aq?PY&4Z3oGVv=Wo$ zbl!(QaBK&KFRo3AlT7(Q{DBi?=HkBO)%7LDc7IJS$GIBwRt(B>OF*ZC<^oQ`#D*GaIV{oAo}a3t+8KhSXuwBw(z;l4nIG7FK4W1o550gvG- z#xBcbe<#RmUw6E|=~xZ&>M^k`Jx&kI=X!dX5|3>`M?5*qMOfv_u4Or0LW=nbZOFc5 zJ=(!Dj%_suo@o@`H1M*U!C7&n9MU>o7VwyscpYRM@rvPfyb^>tZz-qBw+aFsuM&8y z3-O|59Pw)4b-djObNnf%@ScJ|*Q-Z(vQm<93?7Bo^F57xYawI4%ult;AHeH)XAoxl zDW~%N4Fo#g94wHidWbm-@xq|@J;|P7dq@;F}HydkNXvvMwKrHgNo%) zPT@7#@Ven$F4Gf_zd@OX;TLUq+^4{JRHfwnO5LV^mI)Yxl zQ3!_{FLNN*@hX9r0UWkpiiYR4;Z2w6pdy@Vzfv3CDXn}QU#fi1+VEx}%y{J#-f3Hu~PL+>07`^>6 zfT!*YsZdtsOSR!uwt+XmhBsNmOVjXX+wge)ZImh;s4Cxd8(uE(QV@R!Jo{OdkKfWW z4Pb=Z4@U76D8Af=w@qumVbD`}O$tvY<58>^I&gm17(|pAl8xGVT@VMexB&I#mx+ zy+51ru+##*36QJt$8pAI9v$xlo?%y_EXpaoaZB@-7e7=`l5^*zd9?B1-`jB;_IYGv zWN3d!jL1q(9-f(%If7d|Zs4q=c`JhVc5F5_inW26sbU^gX`$p0b{M zIz+a_v3AsgY|j!4@MQ6_kn-){NED3==f>l<2UzKGo#Eage_GpSA*}n7=^5@A-1)fcw z_=ew!Qt{L!?tppL_h!Pcqm0T6RlcDc@D+D~dz1S+_?}wnMO6M1F+Ve}WiKJV{=ZTZ zE63E%xA*RglUP(qSib77T@Gb|qOB3!XScO)r_fvgn+=nLTF7dh0{5h}P44^Bmc~4k z_#+)cgUyD2{J<_558Jk1*OITIe;=Lf0D^@%6#I+Px{E zv2$HwU9YCN#-Vki>*AXtML&PrutLVb$466__28x`meyu zHqW^~cUz^1ZxH;pOQM$=(M!*nze1jr9yKR*zOVPVnfFAu7x9f+oYk*;g7jaH`S-+= zX5P#PqXV%D%PM`~v=!AF$_ff?UvLi^uXgUrYBhhdt=_>rY}1*wwfN_rwxB? z;8`ux4>p@K4%T*F1m8X7Sl1u-Io|c(Zwg$Zi`E!^L?t*#(Fe~8iS=Wj0D zqegk4mS@Zbjod+Ze-n1}X*G>&+);M`qgvHAL4Ggc4@1yPknX3OZ)a`E6YoVxHe%FnCcoNeG zT`%>?^dx%%D*9_gwdWa}dTq?`EWT_-<_&&_G)()(A_3&4%=YGdqug z@1C*())aVs8qI6Y7m59B+_|UFj<}z9_jljsK8!SvL;nXN&AM+`_7&C-;QqH(lRM!o zI}3Sx9^7L#@&v+Gb4k&%nr-d|kvWmB*I%Ebme7_HC=-&dlL8{c196l55IqdRBMe*==W3 z!;RhZtvTjV&koN6xau~V+^aa+T%54BW95K-1Il{s>2$#C*L8TG(Viim@4H`da~yPU zvfAvIxB>&RqvrI^IlZm>@LpK12#Jl)iEbS(If;kOXH8nhiEps1O6>PkX|-0mhlQ;sz3wUoC~-MaLG^Vr^ei$ z7^p!&qlcLmGd8hpgxAcS@du+>GFps^Z@9&r95+8I98%jDoU@r$-QRv`UTePAXTO}< z8MR|;(=iKv-SKsoISR9SDR!4;_y(EN;=UEtFJ*X2YTWHn{bGhEK9%x#{j;fjrrVod zU$oD2Ed6lNQ=U`lr;1>es%Se-6~in6J7MhQ`_Rkp`F@2bn}7JyyJRMgkC~m=1=fFD zUG7P$a&r%`y)~N5$IWS-zt#JBVPPv=-!$PK!TZQ_W?|=tdsE{DH=iZLBEh21wU8b+ zr^eqO9YA`q4J3b#@efCbFOya3=ggJy-xeA#wSnZ%@mfeIbpYwr^WRH&5zjYYx8HAU zUg0l^f!bMr3(aquQ_bv(bWdy9-^w`0q?+RsW_SFBY5j_@=9p2QL7txGaNo`7(@#?V zQhy<}G~Hda!xK@|#q)FY|9SUi@6MhF#od%+fcC4pH=U|@#`B^3ihEe&70-vB>0NS? zelD-_$zA3red)f6UbLQyY4?e98J~k{+y~qPyN>K*Jp+`RM@*tk?R9^rADPQLukRgr zMz%ESpfMdY*c$f+uZn*~^v2i0{-K!3+QR;!$x|Wodu{AQjf3YuO!&OxVc%f1hS5Cm z8qaFsuFt53>pf$Q!f(9%kY}t0G263+tTAQP-g?@i6)cCZ0oM}4+!xO0uN!-2x{=w! zK5BTj=KYv8I4%-Boji92J<-QE@D9bfu+{ve>(xGAdH(MCu=GmlCta>4VNQ&hpU57S z_bc&aSZ;D2_<@);hm?*k?H_ZSrt_E?c!q3}TC^+mclTFrV&=ze)U>U3A>Q)>k0bEu zF0Up9@_b%<#-tvv@O7r?s~2TpPqPJ&#r-(yS>N{(o{fqSG0%%Jz?e)kKW<~xd%o2P z4@O1W;-YLQfn2TL_@()E$IFe)=k^|2Xl}-dlL_V+&rnacd8gUGjUFmAd5+-U+^z0U zI$!P0>(shx_#1-14I{Sw6HoTV=40ai$kG2=%pVdzGc%hmSDg2tCD8T{xHr3bZ|3t} ze*DI0KEW?Gx5^g%nHZ1fOD}J;+L3oSOJ?O{wad@`o7zR4!+F3{FF~GsTuCS3Nn(9E4xbJ`jGfSFZl^(yk9z#B#}__++}vmB zJih4hHIHw2lJ}4f(5dXSuT#O3o1UzB^1zdC#Qq5_Wi+c%K6J;J9W!>!dyF%|-;aEC zk zvd_2s@VEOa&lb;JRSTvQ^bHM1wgneq{7{@8znq_+|DN{3`p0_+@qg^=3N^@r?G|?OB9pxbpa>Xj(j+ zd@$FXa`2s)dGOs+I;R>jpF~}aD%i1UhreBRZQ50{>%guW?*XqmgSV#QK*jefUa2@} zsurf5$0;=nYKYkmEy|vt1;v7jO%;PRY$iR?cepbK72Odb02L&7F2DjQg-EPJO@1A_q^g^|Ir5MYhC`3bS~-hq=7e$ z#E9hhpJHn}wu`;(tZQAhU7(%S%>DG&ywk_mPnB2X-A5K3v98FmyRWxa#+iJucI{g; z`CzP@eO2~%Id7@8m%#eM9m?08y4*MnZ{m!5E=G;BV zJIb5fGZSl8Y_W=>eFLhn_AorgX#UW9#e3Yu>hg z7d4vfVO|?V;T?eYi0^t|@OE!}q2jw0M)TP7e@Xaf$13-JH!TvX)N0lr{I%LNzW&DA zFI8*50~IwD{Ds5cn{2^%%ik`0q5Qk$`YLUFLt8C58+LNr#q(v^$7OHgt~0Ok?z)9_^P6a)*u>LjTPw`` zwRNuN=VFFDp89O+o91V}w;wI-T-UpMN?eb4aUc2_RuX6jo3jJ$H1jU5;_k!RG;J9t zf7575&v|Oci#vkXH3#jAZy2=WdEbzOwXo!yXO1)brhaaI9RFqX=N0EFI5Q5!bLKZI z23OqbySazia?bm?_v6lA_U1ZzRxRF_rcNncP&&+H&nWa4-Opmp-T2ddGKmh?P5$`s30sOTA_TtWrNGV@A|- zW%2y^)d^cV4)%W2yST^N_H4_W>#JkFlQ{PLPZR#F<0M~-(`YuDub5el^>xFVmerNi z4eIr#`6JZWYQ-z&Ep=ISqiP1#w3^FmOKMxqVT}`NGaIw&Mpq1LJPmG6?OpEiupPWT zH3rXb`=Y!<+mUwKS5b+XFTOmkoX-cUCizSjK> zdw1=sndZe_5!AABXsvIucfOa;zf&KnHSc;Pqw@mz?kRlIqRoL<@C^CJwm)r4-5UorhM9srpHee?zNP6qy%)im&)Tth!RgCzJZx(Pq;% z`jk)E_8wyYvWNJT`K;`teKCV$zKK4v?zf}eS)E6FJh;jOt)=F&2fo%^#&y}Rn?k*5 zR_`wPUh8AnRH)psPrN%Znpa}nrdI9r9`t7WZkFTYV8zag-sOqqM)N9;>gJtQTz4H^ zwcY!OcakqlYOyEy4kWULx1n7RQW|^R8@S{bZ?Hg(EG6Wtx9WMDOKQn=1Z5l zRvCzqTGeWfXnenpSZNxPD#vjXpF7XMxUO3Q`xLkmq5Fa0u9y?*Mxt&J1v7FErKW?|J| zVEf_yt`~aW`Q?>{)d$}(*Bm^7kv7fyE$`H>_xItfFuiAvtbL%|tF>~s)dEH{S4q{o zEWU?)yO!&Gd^7Y=#nOuVDkh1yMBBU#Udqb7O`v%wd!Db=Tv|if+M2~R57y)go^*E2 zc)>3hf4x=ISt0n+9d$eMZh8=NE}qUW601GlSMf<*@J&q>ZM? zR`y5jcC!;!`7fIn>%OeOouT$XZM^>tdtyzenmLWFwR4)f4(;aaQ_-b@?HyZp;n5b% z;8*axSAhKy+su9`gX@Q-PDq(rKPUAib9K(v8JlVfYIr|!*YP)vWj(!GjOiVCH@EX9 zqvc`mhMq>t&iG$c{;~2ilXK-I->!qXogc*A<_nA+&W69Oz2DsCJJ#jd#7|Ma%QatM zoNNfXi!b@w*GT6;?&&J)P*@?c`cmz(NWd$)R*KRVM~@#u+|b@1I&j&ylG=~(QK z@!ZNM%9O6R_TespHA6R~uX8k`4!nPD0nhrpYA)`&w$DQI?E}^be$V$bRuI21|MP&a z^97V@jcKh{l=iH{FR$%pP1S)a@s{@D=9&j;rpDfnU&gnXsj;_%_AvKW9el*q`5vS* zn)SSmWUV&iCs_lRIakgylV(Iv5w<#Hy>&%oJ8H7|nAUr`64Ait~*-7_7(f z!*;}VA;vfL=J_Vtw9F>ff^S+`OWNrl*lT1bQFe^bWnXg+{;ymmV$~4OLa&s4|6g*I zaQ{hsQ(Q$?kJ^iJ{VU}zv#UGK8~#eUXl|>sT_c?RZ{l1lt`mm-FI*{HgL$IIk1!JT z5&J)RwX8W`p3sP2&-yjPc_rL6Bd(=3uNjWT;A&7dkRe{hw|Y`M zJw5F`7s`F*zb*f1`N{I5<+arn<;CR>dU8EeFgLtxzHN?c)bF){b4<9d&ix#1?N+i% zP+7IF>ZvN`+g5IeD^zYTT{Ac4b?rBIk9c=_AK12e+pcYUD|x@?4og_H66@>y1rggf)Ptqw zT?e~$UI5=cCAn8-r&}vhD)>xMR=uaXw7Rak+RI;K+{?m}wcQhIL|?R;{oKRd+z%Jo z!ktkp9q(?&#T56g?(scmL(Y-Jb#b?kVFM?%a6EZ-Y}>U2Pch`IzkF(S`|5Ypbypfz zNhrZyE~K*W%iC`L4JX#H^|(9dvdQs30IQh4Z}_>`dG*#KMdmLbX^A-l-#z8$Li4h@ zXII%SJk_*3Db6vm*O0w#mqj)3jI~zrjHGrRQIF+j_{K{1R@eXN^M9{ITVMUp^OwH( z@~cu;a<`~Renka0=KdM?j~Vm8j0eUfj@djWF>dsh(Q%3QJ$zqc;-amK5{{k3s8N79{^X6|vEnPff%Du@mji?UT>7CeboMDXXmuL)5+)A)9 zQBg)|QHBvkXBfG;hN$qEd!|erV~pSGGK!~6nKG&GxG8rJkBfC~?KWWI#EBzEPn|L) zb6nr<(H%x0cEqG9QwHIqpIBt>%EF(h*nZ<;>5x%uRD?M{y8W1O-vm>Vn%Ekr=UcE81c!(~e;Z zfZo%0(bnkrL6iCeWtao+P#t5TJGM`;3d_1~&oDnhc zVOUF?xY_kEI^f}!fwv57**s_NMAmonoXs7hw@w+x_8WzQj~X_0^5l$B_d_a2Xu8JT=F94|46Pq3*FA}9E@h&pr5}@cV z39e_Xg1-n3#bB~N%!AiJEB-)+LUu!eVy{9)L_)|zmaewYfkG9~SG&?-&}2_&ojP@D z)|QBf_U$9K;NOzDQ^qYp#OO%ZmgJ;l3M2L%{p-;6Vs-0gWVo)HrqRbVlZ^P@J)OpAIF|B%&ixB*EoKhWzhW6Fj9pACSiNi_ z%x)CGN};lx7_66>A&k)7S6ooCj3x)$(h_hp3pOk(1YX-{Swe48-rACTRo*wEJo);{ z!!6{3!a~?{EV*{2vSIDdU!x$ae74FDUs{~E-d@@pN}!kc8VRzO-%x=wGpILvN%68} zt0$ttu7$`VtLAFEC$gz_{g%ocUa)%Ivf`2n1#626^EQSUTg=SB7g0;{Rmt@ z+7JjXWM)8d#I-dw$ZOYIhrG6C(9qA!T)V7f)|!&Ml5plDgGT@?_JkOt4A#iZV72ck zC|*)1E~RVtPUeV!_T*)SMazmgQbUY{+OinI-nX*Q60viG+c>zIV$9rd!NgFXwdSGK zOZ}tbdKnBCgZFDC8OG|*DK5xcy~1iPYwo#LHHI;lua`u0$@qejRe42d-kEphiz(?^ znS@Jmz2;?A0-1d6Jec4*S!6Pcd4W8xUlDOx-;tlkVU@pfrQLdK@VE+?pbbB(kHmFy z$3w+y*AOi*_1_hYl9{nWsm;^x5N)f?r`ol8gBR!=81kK6uxS~mobbiV946K7SW}21 zqAhPsuWdz@?|sD>I9k5;s$`O-L0KCa|s4`!R*YOnJZ@x%lUdq@5&sRlQXF>Z*BhUl496vwdNLq zH=KA`z*9|XYl2(X7c7POR;}(fg%SD73RdKo=o*23)ar0;Xl=>YOEQc}W-TjRmKQb~?T(H944u`q_zA+U zwHj4Hj}I8w(w1?^^q}AA!{(qX*s{>0Mh4|kRJ>-zs%5Lxv7QU22Nj2Num5Rg;z&Ne z6c%GHHqyRsI$Yx6(oM_Ku6E52@ug0)DI(rg^q+YT?`bJednu@4(+cne4WTY4s@J zLTwZ4);CyQX{<^naRga|V7xS1<&O_GT;(vj1~LQZ2(nVeFbw->&SAjth~^x^+F3ww zBWIM(lJxg;AVSOwha2S&U0dNlEPFr}2Ej-m0zRMP#W((hK z3s1L&)#$Lq4q@#tpyCkL!SwLlKmeRWSQ!k69L9ZtfQX-O3*T=Gf6Ermv4wMO;XGS- zi7mX$7KSkl%{hz$EyVJ#w1o?8;nlXV{dy^~#oNaNt!@OI!zc*^z&V0WZen;@qL+M7F225`fVAey%O58J}<+ZiFoF3cL~WgD%!Tr4hqK@IWn9q;yWAV zGHl^>F&>xUY7yVn_=OBtig0)1ybK=};ctkuzQ785U{1_uv{^;>F+6Qe-y_4Xh;W=y zEW;#DoQd2Z!ykxng7HHcZWiH0<2N$Qkxg6CEi#Otu>EsMhIu7Ajbx(-mhI^V!#iOm z@-`VBFTyDXZ5PoEgzpPWczL$?4KkbyT&L0B_>K(o+%hLp{Y-|BiSS^fMTU0*kG7+~ z5lM8MfhXeAjBm;?&yjM%V$Bj6J_#Ks=C>Ld{t7rw*zW$J3=^Xp{HrqT66r@6AIR`b z5zaQcNP9MuM0k{uCBySXc(if93|r~P7#=D8ObuN;z!7^m0zK8mo1zt!xsK(<6#*lCfj?rEqv4#HuPVKY5xKn z>kF>?U@srgbFQx`e*)wzkPq*$_ZTEh-i4OzGjRSCaZ9Y!zg5_PCv_;u+pdSMr%VZyy&-KsT9*A`@jwyyPp zz`lqZ3LSn4`nq~z-T8*J!VUEBE6gEqAg`nl#wv_B^x^3#&7jmhn-I}bmRi03y zON~`|g@tRZit5UlT&Bk4onUtS?ZOV{KqSyQwzhezxQTe%J_ zHTK8zEmxq(PXe7K`30bh;Ugf=2VE}ZTR_XD{87*oQho~bCCQ%#eG8sxe+&8>DR<)c z$-5f=vD8U|{3|KvInF%KoN50ESt58*PEgu1Cw~!g{uXgKt+N>fk7Z4m*fr+CM?g>l z%IALvc>ZqZbG!ozNFqFWrb~g306!UYu;fR8vMs2?-&oV6ycTqptZeE#*v0Xkso0WxdF={P#+JFX&QuVv^sc@%-%;(c9`PQ6BJ6v-%f2 z%Q9N(u>HovJ0NGj(>n|B2TtHXneqML9pG7Bjt!-g4L(BZxWH3~eb&0q^K*jfMV_9|+n49|8GA(0@pI{|LkQO!7P{E(KwxJqww@L1Bp@ zaKIC19ef1%O`sd#9pGO>+Rc*R3Cb}+9UtiXk{=A6GG%U`YWFG#){@;@#4cR-mh z^*;dpv*g*9tS|A80e?Dp>f8(Zoa9e|o`k1PVFb^FMqRj-6z+YE&q5s2x-uINkf%;1yaPPj zvR=x+0u}i}?#~xI^AY0>{BiK?7p6T6>XZB@pskXx1&v`Dpu@W6!bc3T>Ruvw%6T0* zAm_d5fRtYbJtle9k@->Q4bWGl{1oV0QvNZhxPGC-dbDT0;Qe(^)#?tu8akrx;Cn## z5W*4QneHjcp8#dv4#@raf@i*Gr2He$bCPHNk<1r5tOu_(@~mSne8f<#-@$K&O!PZ= zf4_tG_d9rh`-5+W{&Nz?-|vw7`yD*%CHfsa>&|O1BF)No9(dT-FCC@R!wo^K6FY?WxFTqovJj+R*&n=w4 zqGwWQjhT*;=Ul+FY)kR10)7H`&Y?`34LSmzIx9iPOTHA8>*v(j3A#w~>p)B3McF_P zOZgL^N2Hw3M`GSU+E$c@^9c2)q8(bn6Eijf<%Xv`5tQdLP`(|sTFR;au9UmLpOO40 zpnS){w8J3(O3LHF^WBD$kCFUah@UL^ZQv78ricu~NCr)UcYxd18vg^yp9JOe0d-D;@?J*%Ezox)|69;M!?T>k|5)SOqukU_ z0PQDvKJ$p@9LO(%&xU7O@;q;r`g=inUnD;jbP_yuMuAS2{0pG-;Hks$U!w6Guaxup z5Z49x=fF3@tM)uDbxweu(&XYS2k7(c6}}@R4tdcp7~uYX0Y3|JAKMc=$JAMP2Y6nu z>?g|EC+s82&q2<9qPzu^eMI?1$VDH4{|vH=n*0iQ>VE~=s>#P74dr}};~b=T&a>p% zZ?8$--(QfkzuuMdGoT;9t1?`X{2!4|Eb9*afuMZ%N$hH z-VXT%p!dR4pZ&)EBL4YoOELh>^~UxH`aX3*C)`LCq> z1JJV?UyAxTYw-t;{it}{CJo1U?Kc{DT$187dKuoxFJAO5vTikh7i> zsDBJR`;VCHw?wq3a}O9eF%R5fgBZxPNRg3mZfr5K$0OmP5`Yn}nNsY`6sEh=7WS zjush+!TVWX01J zvTLd=6LQjS9N?PSut&2&%42|2xKJwy8kEZh5K&0A5||l z9^C(v^bz%UQzCLQ@^D-y^`Ooq&Q`{C&h&atdU zgsg7@Jk!v0)@ATI-)<-_#3`rvZa{>NyA2B0Oyv}g%Y}}60E(Q-0;+KD7&x9&W8v_{ zUKAg%iM)czIY1RI)xdoZJyty~F>nNJkQ@vY-$fAg_PcYg(_U;pE@i6y)*5`gE?P$- z=@eg;!S|5H*9}<3$NLlJQT>~Q0kKDsAyj;i8hp=!kL^eMxI`+xj|{%Yz{jz#oZ{;U zyD6)3`JU7f1wyEB?Sa$VG zlZ@9k$|=5g48F&}Hw7T_aY4<8wsjLAMHb8%}~>DH6me@eYIUA@E&`bhh7McxB(84ZfXNJnvN` z8XtdCP_OUcc@g{A-inX!9qRV^v6yZ_x^jxT3vfDL8Thzv)4pVQ#g}RDy$(J;4^d8u z{Ov)VZzcG6xktWKc*R#~@Ri|$uBRdaPKl)k-~Hh0Df!5&`0g?I)?v|m0_n;rzC8xt zUah{oj#qpi7<}j9B9rfADyR6~HTd2HAD=_8z9ZljUuUc*%%jH3Ij3RFDiXviu>)|- z0k#Rgx` ze$KoEL^wsg!oUpx4oh3uDctP_E;$bFH3K&yPPwlD7u7D=k#*w&l&<=%$>8(H;p>g{ zUGI557VVa62a{Oh%E4~5fbmmcQ@$A`HFJkcZ0ZzBipNr=*l5e)g zS8DM6V{q(oRb$}3iGzE@!13=j>N`CrKO??p@&YdVH4`8Gks%M%v}1 z=yurxzTy~seSp*XIxLFt@g9b0JTI0ReBXf2tBgXr60b7&x`U79vfr>Ih57ave7*2@ zD6Y%ODZX0_z5w{txVi#hW#4NC-)!*V(j@E@Uz34b0Gt{-1S{MCWTvdr@_^&>7UdMK z4{&<>J*2f?F2KsZOAWqC@O4*Y2o>LKgYQ}J;glrW4`P^aqrtZhd~9Ro6yF+y?;Vh+ z`-%d9m3==q`1p4|maClNyW8L!oFD0rB>*eFUmJYAz!z)WA2D$KfGbypB2?x6)hKr! z%AJCA*7-_!Rc_~#qx)@poO*Nsj(Pm>bhm*|jjLklif^#NcYmCETqtoa!G`Dead6cJ z?%6oFXAIn4;PlT(RlB^eaI)aNc#ttz+Q2~J-Ud#u@0+OaKBTk#*xstXUmAQz;_&^$ z;JX)tN%2)`e5ZDDY;Z~Yx@W|;uPbo6eSyUhzU3O9Px7&^=*|IOk|T;E>r2mjf47Kn z4l{u}A9mX-PYf{-iwZ1g93Sd%~l+bFN9exZDWWo3D=$aPvF(Q*3K_+{IK8T_15AU zFm?#+n`SqqJnG$sFO(l;oVUJz|CDF&iyBXUwVkn>p1b9_4)rxi;Xc0sgtf@A`I!#& zTVH6tPoMgg;xAIW`~08cmw*qKg@#nC9RYi(ooM|e72h+ zza#5dxyfexu&s(jo%h*w;@4%j?WhUfjD7iU-Vvx@-#<`YBVub2dlO=vxT4@IHrr{R z9i6&AzAsS7T?jAaLy+NP{gOBLv+UdOt^H2TpS?DA@BQA+uXS2^q5Y50gV@pf zdpo^hZ|x>u;M!MG-?(O({U_gBS=O;H!?@!|kM=r_oo|0_Z%V8^^N9Vb*FLt=c7DH* zY-OR+^Rc&hQ~uGbL){Gj8hxe!O+l{K-IX9Htp`LqXGbS>28N>Q>?_tW$n5znHz9)#0 z)lH64j?d`S>JWbyE)o}!l8|Td#|}@99QVDps?i<2rm0o!G~bm6hEz`zt3^)8*-`aN zd-YwpzQROD(_@DO^TP309Wc|^+%+wjA5M?tTXR=VIJOwM_-lKrWsYO_eYQ)qb=>)P zrTu$5$;V&*e&6odu(Wn1_S)tSw-`HcF z6<@A}Y~}Zxt%UK`p|Qb5U=SlyhVQqyBB~lh*QrDOM|FCgj^Ov7-%RDczv>sgH>|!X z{QKp*?9|TZpIOyo8+MdmX&>zMua1dF+a-4CJkTdsFRdn@-u^Ad@20zGfAm=1-~Ds^ znqIEVvoyuY8w?%BZ#G+v3d?+Y>whHLKRTv$>-p;^&Tha~<4sZ4AL{jGN8izbiK(62 z{r_ftthM-v_)XTqtH-W(b~m;f^&a@v{zPiU6x(}y zy({{pQ)kv~Xy+f&FTJ~;iQfWPZFfDb8+Pz7mHkp8Lp!V6N!*|L75oNbOTF}l_>BsE zRpH1}yJ>f*=V)_Qm&n{!R|D6H`Ox+`P!w$Y3{c~L`VC`36Yv{_-3FwEBEJA%HEi3k z!W$Zfb*K-8j)iarsP2Yc$8qHw>gwv9kTg1DNXn42hmEytch~)0-Df6vQj>?Iq^6EO z9~aJDPYHA!63BNA!^BZnZl&U~f=IEg+Y;?SL$|>3huwB^$|F2H>cIj3AF~r0 z-FsZCUbKJxlB=WjE7yjhdtDno!!MY6@#5ku;#|7JWe7G7f9d{gMcX+~e zs_QWur+8Oc#~1DPFJa@`Uss(orsH?6Zl{L2o^;wt-o9s?a(a(b&l=XQy{pUqnv=VC zIIG{8J7()rmK2rDEzd2f$Xz7%V@yv+;+%rYN^D40VeDrX$u|N!c4B)|D4Va@QZ?YL=XaK1R_ zXGm=zH$EC}&GvL@_Vl6(e(TnHWz(3Uv}7vwYHJIAq}YlL-w3v1h``NmL;Z$V6jWyB z=a*kvRFYqM&7?xO*0_z2wOg?y=9lhm&ZB+z-bxvcFI`p^V{KK>O_eO?Pg*al_Zs`1dWxeSZ8b z2!~DN%%2(nniIIK{)Ub}-e}HkvG*d* zZ4HSiklYqoBhGE5L=;GF%V+56)}u0pj{;p*x{*HI&`o>!m*|LdTcaZiBzM$bFsP3; z(xXS4TN{Z4x|{WPWMn((k&)@>`jboM*PnP&Z)bf(ARPauoP;OvE=j?668d5M`ZP*D z=bUcnMTWjc>ipY4KRj`~OX`;h{?67*2L6vy=QHWPsIS^LOW`}oDrAZLiPj)PA20R! zqP%Wap42M^{uFDi)bUyd>UXO33#pe2y@$njtmzuyxzE-=q<**1&#?GCiE^y}SyI0i zb|+!JOfb?fH1tJ=zTD934E-KM=X+yxTv?JZAK#KXpUWqq#XghzZlU+Ldhi+>?rr!a z>uhVB)Snmnpzyw0jy}ZNB-5Kj`Y`JusRx9fV!b7Guh4zgKcx=UdDmE5g4sTO3|;NB zrSNl&^yP+ri=po|^uHN;XKl%6`9lr;LPIY$^q(4fWS=DGiu;6YmDKFK$DNMExf6ms zx$^9&pM=HPGICPp2^~?9Q@F}G-1;FG7O}26jGGETB6kF>-AP1&agAMBP+q>Qta3(a ze!(Q}DG*_bB+kiQ9zStLZpBqb&gOR|v1$>%c4A`GX3$7cTlO@&Fp0^OE^lgLCW<>A zv0Z{mhAk6#D-H$tHZsGd`~i)aR)z0@VpT7E;}a_}J=Wb$ETD0V6AKdazNTfMb~6(TXx_oZ!bIJ+ z!~#U$tB74UmK2xfp|6}<4(5rPLi#>LF?RAW;U{1-wzh4bmVQF_Y-@d&xfZu;`{6sJ zMQ?ZF?0$mXz{|67yM%KYFGbqPOGKWgT(~IZbrS!qOxcT&=e&0Evhg&^^5*3%$Zm-r zs9~CM;zFGH$fi*{cZAHFbRG_HL*YHRS>h!?GJJxR`$1M1;uVIrDvYon#0<@gopk0?&B7eu(QBlqoO8MI9mYvauJ_#^3-q6FzBz5Un!Gyr6|+ zech)x*H5&8GV4m8)C~uQ@U8JrCr_YW4`seD!1kfc zy0SgpkXiRM_#`$soFAT;DF`RS6T|Z7%lI6G3*i}`hcF*rKHyp;%fjZ4h62v4U6f>$=I)8tJOQ-`od##OS3pvkvERyOZ}tZcrY@zTx*7%%1LHGCuEWt;qt@e=bYcC}#A+;w32e_W_2~rkg zOqRY97s(GKPpH>>L9D zt_EJM+dDOx^FpoR>|a+u%km;*Te%@WfRJN?@wAaPt9bS=<7p%NQQ5=3Q}(d$)VvmL zDD7E}c;=;DE8&%Gt2B8FWR_Kq@IJ<$g9Dtfv%h91U4RFqN2rM@aA0kYZ@firyw0KsJ_=yPFhLqX2`S7Z3uY|1HwnWP8>oQ_w+txv5 z-lq|A>`{IM;cf7$o$uA;hal6o282&Zc?-f1;8mNS23eKcOUf*l<3yF4MR@`aaP#1m zEc#dWU3bL0F!{O=1n0q;Pv?S9kTUi5@{wjc%9k?+Sorn}geaZ^weRc59U0G;oZ&jb zw_hkkQAYc0NAAk_97j%~oa@N6r+uCyvySZ-IdV_RxHh0;ebsm0y(zO};aKZs~l_L+4mgPL;bE5jx*Q43;#+`QcBN zY2+FYiIAgsvRZ=+YqQd|zpN zxOEBh6#&OPif z48GriuR)O^RD91FeA~hI9n$^q{A-os``qBm!9=+m>B=d-BL-iM*SYrg1IRh6`1-*f z=27kEK?0xYE2qRWfny%OOz6-TI^wAFuVspld*|qU*JJ(Sd{$2J%>Yj4>(oEeAES|bkNfZFd}Rr-zgs_U@XZ6sy^@b>sNx%A@TH7vPSU@hrm28c)CsCQ!;fWrvk@3en!HDH2a1_SA6`tmd>{YeDan{ zK6t2R+y&MO(#lZa`4(@&f7XnT`niEBOUpK0vJ?;&6ahp#v81E1;xM2E{g4eJhV;5nR*I9^98 z$25AL>o63;?pfdlBCm3)9t`zz4tBMy0M?F7#E*ujeTWj*9y(t>PA(gOQ%>>Cm^^#J z$c&8CQlD42@b@&MV}DOGa(G(W7=g^`c*CUWlkvOeiW2ph6RtNSyWSuDJx$2^vqUG#g(EA73$B0Hz>iPY-9IA0Uwgub-btmgaB8&i0+@V@+mM;{8khL{3%$F~B9?AH@N;!oK(IoNg8eX^~_ zfOrRfU3G4_l;}5+`PM7ndHv4j*A2DRf$G&CuUWhG=-RdXsz#4n5*4#}?FGQkq_dO4KZBwB1p^*G7>m29;wqSb~352U`7 zIxhH!)J-W{PTzW})%1lOtSuGqne$r+g*M-f=li|U-wj0iWsB&Qpf6BJ>z$VD>BH9v zBA#(UpVONBPAIb*V-jm)w~EsuQ-f26<>IY(v)-}VQRVR0Pw5{kkJ(m7?5phVzUyp% zC{OhH#L$)Un+N~l{Qb`R)D3o~FHg!7fOBFy96n{g!d4x(8p+_KP#)MNX%?#}AeZ2)WZD|=Y=Ibwa8 z_18jZVzi*;9BEkaoS+}`$I&LGTqz~YDT(ckFNFMuRlN209wEiD(|2QEd>4mtujY-_ zSS)k(^i^Mt_Gxs!FL|;1Td+@+ImP#d9SE+%st#+bJEZKeRr!Uo^tENGMuBR!(tj^sAT>9^<5WjxgdHAO4323SDp}wJd z-;Of7$&0XFxFLyl6EX8}u4c<`2X0$v2>QFu=MANWmZp@24*Cux-X3}=bbsP=eI7`B z_{^{ELy2GZIn?>fGxrCNY~$Pm9(C*=>X(|8(e9Y{uS2VE4sHytA9M@+ZuqU$yY0ci zT@ZTSF3rAS)?WLHwQPqgRHFr(EcsA zrlCgTs;>^!B1c*1+Qf+iCTzbbd3u*C&YIHYqTXvmRcCBi`}3 zr6}e0zO>LJ-^Ga+ zpDezHYMST!t!?jETXy3h$G-GX2EIzOcCbzRC+^1@awPHJeGVjker8{^p4Hedad@8% zxPtmEdX!&gIjxLVYRbYFwrhak7+wv(F^KgEtvEc?U!1Sl^52D9dV+6CxDW0`A55>! zthO7f(C!;n^MDZWzxzkF)lh*7JMdjqADY1Vc9lcOeXfg7sXfSlj$oYUr#S9qOZJ z{Tor={;8|PE2}e4y$D~4er@Lj^U|ziQ|+PlIpI0KHnhI__T(2~x!thRUS-$WnV1bF zm<^E{Heuc4NTj74=d_XQoU^{^J@7`a*96WvFS}mE5TVsFn=gC&6Ylv&j#3+R7LFeonYkgO3(Aua=jv94E_!{ zH{g!#PJ8aQ*^*8Q$B*i_<2ai|+KgAp)|<{4aY`D1G5d|(@6#dGS62Ij7X|Zz6~POu z7gR5;zP{QUnk;*Vy~mYnpi#r<>q5o6(muJmcXdkjd9ZpKSkx#`W1z3-^`)2v&Xu0Y zs?NgBwd#6%mp$2+bA-8>qQ~YMv6FoqS3B)IEuM8&v(@`I)-&27bp;V!7tW$Z+8A14 z_uD^gBS!VY^JhI^&%(@6wYfQXa?lyeJMC_RtU+Uk-55M+*skE|!@jg}zg*p~dU*9B zqunAkjI1%y>nE)?SI=a7oV{`X`s#1(5ACFe-`njP`qrjwJKW=IjL+RRNA@JyUoVMs z8s}T@4XZ;NH#)25M690Q+Z7F^V*N}AIV-4xy)lUEkLq2)TI>s9u8-z5k#k+e^(XgK z>{D+9cwQ4SzcE(r?u<1rM)cdMD{Sm&@#*@gesI{PPJK{)^9`B4ym4yI&ST_>Q$*1uD!7O*QtLV@Y#Ul172P8YL&M>rP{xJ zW>sMO)~d$sudFFuyL9b9pSOPS#?-am{gGbIGkTA6D%RPsLp{zoxaYvx=a|LaDtJc1 znWqNrvPQ(M#gTW9PTUVYZoMXmJ0b4T!2KHn!4CBSFs~+a6HAjNH*yu_xzFKWCsJ5G zN|$l#q5XI}-q==hh@<}%ANMI>Db)P?vqHr_r8SDXuUByQMU2(>BJ`JV_vL8jQRR9u z>-F=kV@zet8}bfRf4cEETcxthuAz0op15wk-rg_n9D>0B#$tqB@%mxgmv(MY>CRIs z^(-t>hmEUMeuZStt5z#*qqy6TuJrC z&ORE-#^Xod==D)YKYH;iT%oC0oSgX7N3@cP8@~P6{_}B1hMM4R_1@Lfd|9FHp^NJ; zsPBbm8S7W?^xayJ0h+$c*u9O>{uvNf2{s!+3`U$dt_rJ=Cwpw=%J%m z4SFoJynadj(?A~T@g-6oEPE()Tm3`z50*VMsNaD8+lTh}31a)=E{@s(-~O_|w~Ghl ze06p5qxRy&Yx*1-_OzW_cFiEl^d-Zt+W54cCu914d(EJ-ua^v~D{B~b^TtA7epy*) z8Oq!4+g?^Qtlzgc4yyUOXxP$?Q_3zL#9C|%je^~~V9kJGJAFIL*86Hg_4R9UN4U1W zYS@;IpKLyeRbh2Xftbx~9jkF)Dr>wtrG2v1>Bf`oh62=#{Wh@2XjpDFzMHJ~?#KI` zJE6aK{`}0wz)RmO9+dMnM@(e==;#+)NiR;xEsLMKAI6)`_Rr8qxTn@F2n4wfW8G^? z#(il`=r-KV{>i>^(7Hj73>y-x8a6bzz+P%UGE`^r?oSInVc#X@GV7_Q`7wr;hF1bL zYBH1OZ@(0KKVi;<_Tiqq*f>{2&RcJYy&jt1Jw-pO=N>-S*?&KJF!5ttnK{q)BKyxc zXCAIC7ex&-!rg)rVVS>(*#p+5SW%-M;qkz`j+b5crL={Cy$4( za@5t1-V(}cCoSF;va*%CZwoQqDdWFgHz@FR$ak=8%dk4E6I`qQRsYxe z!^5_utSVcVcz9T*K-Br_%EtP}49oH5l`T$e@NGkS71GyXC!V5V-f!<4aNAc8C*RlU znckUYcMi3_eRV+NS8pZ1+Ud`|>3=u)qOxCO-S~rVw>=@mryLd@D?8Cdaoi0Av zU!PT98Jd`Qai0~4-{K3@Z!McLZ2Gpq{==?g*lVOp#2g;ht>MVFZadQU_jhpzk~PDU z8a8d?88)#ta{a}pdmP{9UnV%Z@6gVx)9v?CId%gFH{P)}wBZituDl9&<#=j+MW0zt zpYZN{=@ood6&dH|4AXnbJfHF2ef{lx`mjE@0jrOhmm{<&d=}D~#M$|F)$2^biUM2L zwb9m{sXW&@JCfP&v5VKZ?oUkx&r^iUuJ(}pI(nPM2k4F?E?RjvAi#_8Y88tng@Nj(~iMT zJf2%^-E9xRbq$~WOtZ)Ja#A4%^i(DJAUvP%C@q8$BOKt5oJXQ7WJpE=|mo?c( zaE1+3JA9EVCYB4{sPh5tsP^9(F8dWVN}@2E#9uS9w{at$8f|^Rp0tq9g_bN-_vf)# z^-KGp(EaMKGO8!ly;yV$@^99<73N%Yo@)j|IdR5jhx+zi z2Yc|B`{Njk?c|#U2?@@?RPQN7UIkDCHac|8m^wLg_M~j_+2PalVN)pgUO4G8Z>D!K zFck&-AkUlTEvoRQT{~HG=c_Vj7v$#aresZ+n4P%{rIl0`Ey}Gd(9zsx`CV8mB#$EnZwu?k!kaR(V~rx1wl8fj2GL z%eqrM&znBdyQFA&L5byEo?Bd$@69W!tQgX{qvaiJT>#_qa`V0A1r=qbB^3qU(vnE? zrd>N?I4U9b2ZHI7%FDr7lDo7ZtQ3`q^kpS%ry}IdtyCG%*dvCcI*ai=GdgC`qJoNw z#mkCO*Me&c7A+GU3P{?IFe*)z5w=4bHGy4_j~cSgohs$CYgmr7WJ>1rxhi|AH)`M% zRdS5viY8rDm|L=>fGv*}DLCKqT3%R+BM)+@HXAm%OA5RgXx?7 z#$zy9*fnc{xAM9&j*K)*bia>^m+H@@*zeuF|rC zatt>VQX=LSdhuNE;AJIOm6TpnGK9+Vj8yb0!gLv?IpN?%#pv}R*5sn{rPpvCUQ$qA zf#E$4BgwkhArRHIP)jd%bP~%%g%~+7gQE}A2Gyx7NR?gZojWsY_`G@Zlsa+J9IzKC zHLG}8g_18Wt}M?jE?QDp$vLcP6BJ^^h2xc&9ua3?&#Gka@QgHX-gT7)vQvZ|MY$!F z-fM~~3%yh4%<@g0G{KubCT(nncks-~6NWgQ7Y{dL#E9W3Bf^!&-UOxPR;JgP0#5hH ziH2?yMa;~+Fx8rio|rIuLUyJ%zqG(<5iz<`EzAH^4ilh!$ujmfW3WV&9Qq-D7I*60ltYR2Pza9C8-v+ zmMSi)U?+O>(JfqSQ{{@*96ZNauJE$|d)IC{a9^jML!Vl4!ym4Ev}$rj`FXr`y(3fA#*0ms>;MT=wDai}HVd-Y2I%{_{(A?W`L3>CimuZ;PM4 z^o9QQZ+_hQ+(GLXe0a-G?y>q_zP{?Baes4ly33lna@CASUw!+G;1yGrzk79V-=D2% zs2=miEtfC-)2UCN_doSN@mVjAemCREOBcMfZ{>_Xmi?xp>!G*rTX_3<^SeKomiybX z|4q&BSN`~O1x-i#J^P39k+0pC+2@{r&guT)^{ziAKECkmGlyJft=*Y8^?1VRFZ4^B zdfB31{O*R2XSx^6oSJpPuF<)FJ@9hsviW~+cdqNgYcr0|`^m~rtnH6YyX^9R|8~en zBO7+^o|TrdSvz;1nCODI>1IR)iKxy6&r?bgDZ7W~-l_{Lx+l~my5 z*ldTk2zB$lF`~CL3!6NO*9EkAHns+=z?hvhb53@8h7&7e3bP6eQ_FJ8E3uHoromPk zW;Im_NGgn@T3QrH`fw;)1Fr%i=J%F?Uux%hKD@Eb+>2OI|ipc zKAf0Lo*zqcXO+aojUi0zY8Y=+MG$e@QG>*>I9)W8GH3DPxb~zAt_!f)p=0_5xkd4f zcfjaB9UQN-v1FjCSq0^|I9NKTpm_1z0_^=5uhto&{U(G@0tJ`i^v5*^dkZ>!gYLoq z!n}Aj78Ma&c`hoz)$>H|W7)Qx>0)hzi8#$n%EDM2esNLr4K~&E%}8gxswZym;=E)`nr+*%7bdGNj$&l-N?Agzd%>B<+rC_Gr{?PGxT8vWf|~ zGM$OLU~&3Si^NTeYmXT2$Uhf%Nb#F{lnzq`IM+!cV;p*CrQ@BIyi1u|8s~CKbyvm+ zQ4+IEEU3i&Q$;vSc(saC*l@>4W}Q*A7`H}Zx8$Nl&fR2lnr0I=-t-vmtO?DCn^R&5 z&>E##0r3oXmc9soWbTHGh`SUy>n!tzv1UW59cGs-T9jRJO?IVtXcK*r#^td^4z*`> zxS!OL!82s|W}7DlV}D$&oD4PiXW?cEr=9WgS=l6>=SsO5bDRcBSBn}78lIiKsD-St zY9R7tkNQ!$M*gT=%{L8>R4%@S&G#a1ODRkEp^rpplPY!egI8NUHAiNTI$UoK+{sk{s5Ym`nc^hEp_+*`EtY=3+XMb zHvji)9$83B%hCxeq@{D+2`i+>UzdEQbjPSnEyapG;Eptd{- zaZcVX4bZl;v@`_U&eGB#YdcFz=Zm(pv@}rK%+f*+;m=d?pPRJWz2c7meCE>Z(U{Y# zEiG*=JXdSOkZ7&s7DqyBnOhtHtz~Yp-&@PvVt2QaxusrqE*<0}(iqP^ofdED$^d^a z;6Q1OqNNjm8!1{kueXt+rPFpBDOwu3ZKP;vO=}}XOT)O06fF(rHd3@Sq}xc*(!g#T zMN7lG4SzgvMtFlMMX= zL!WBsYV2aEgQ()EV7t+%ZCQs>CB@$p-o)Vb%Q zZM|V}A747Byw@$4+tIoAu#KHg$4MPuT0no-Nt8!7cD5{&>6s$E+DI?5ek#*X7U{28 z4@sSSR@&CDt-naUztCT@ddbg=xGve&@2pu;?;-TxTC1e)@cqX6rPTY0^p~yAq@F1B zy;gtuEr_H4%9BlSj9;)KZ_cV7pQ9KV_Yp;3TryZ0kvD znbg^hw)KSd3#mKyJ#PIaD*Z9*Od1B~wEv@yB9CtT`sc+moy}-l4_iNzx>Mdm*72zH z2d#@aFyI(%33O=O5L&NPOBpuK8(M^%8k9tB=%YAkG%QW+0Nq!EIGoD`YzNU$w1U ztcRuU)cZA0X*6UID9ZqI>bX&^|{TeHQhQOTz zZ(F|uDQ z#|-^(Lw~~1pEUHR4BcG+%=7g#2L4$?f6maKH}n?_z0uHLH1wAY{a1#**U*1$=r0@k zZw&nvL;tOz|IW~VZ|JWY`fG;%x}m>e=x-YOTZaC&q5r|q-!b%e4gEbsf8Wse8Tua$ z{R2b)lcCFta~bOvXXywe*6(*;CD(hNZ}|J&Tcn-}oxk7xjMT}(Q~5qa|CgaBol2zh zTO$1Z?x9lW`J^9q&YvoEV#s%i)Jcp4$xl4yluy zzt{bkq5oRySt7lM^_A3D2>o;`g%2>`{P0Qm#gBzj?*u_?W?E;QPNZe!!6)JV+%I(}eUgsF~d_ARlVk-AgABI|IJewCHTi7Xx4|1?8C&(JS2^q)%o3FJ+}{ov1y^cM{M z9jOm&M|`Q(?@U#?)BmZ4KF-i*7o$+wB^|;i>iSbuq9g_Ne!oFoz;#tw>RSXpU_B;vva^WK4Q?j!iVY(yC zo^*i_W@paGnlGfvrDb?xyhO+=3d&2BqP=O{)^GpR=al%h_7)#YBfZ7P%6t&r8io&& zTf^}2wEn_<8$REPdM~@JPvx^SP>j}IZO%9PN9JR-eoT4kKQiC&ADM5&kIXmnN9G&# zBlC^Lgat-aLpgTP`TjI0=~ac4*ONUQMZUT+m1J@8wFNB4BA@aP%R z_BWgK8QkVvX2Z7Odp+m%0i(&xHs>>Xw9WaV8~+5omL4^BPY|ck6DNu_x}Q!I zYjiK3DAwpcK2faykr9v`JxfoNt6QMUnP2JunF*HupP6Cl|CuS4{-2p+_*zW+yjefPpRljk#pyiygx2OS8-HXr z^HkU7^0JNj*7l6XjB0yEW6rcaqcJPmo-umdx8bdHeOR>iJ?js^8oksCv(YuJp`-hw zHFR_*w1$pu`PR_U&D|P0di7`x9la>DhK@d=#{GgnYSP6;na^}$?784v$Vazre7@*b zjgO0N&-l3LmW+>!p7QZ=(P#KpH+RsUtHs+P4v@&+ZKLwA687Y zH5FS}aDUMXbczNZUc`+C%a@f^&cF^Xlj0@L$z2{lQS2@jl~dnhE~>cZ`^x1PEh(zZ zEf(9-kVCzpDz=2noc|wKWyVSEvHkjSi8Mxpr|e0@(YS{uZyaw_*6!1r^XG^ zw5*Zc*p^$^EtP}Sl0%1$850pjnMrh#H^lBTCe z?~JCWh{@FU?a=hBG4?>ylVfdsrlm&~?eM;|`fg`BQtemNe2X&;l^%0nvsi$r&CGN_ z^Bv6e)EL{A#Y)DPVv)Vdbbx5-7#oynn3neJ)8}Wp+H6MKicF)4x&N4+-iE*VL>H%j z0~dW>X!Ro|ov4M!p_a3`7||oM%5h2^S;pg}tP9h}W@k?>&aEh%Q;C=*&IWhQaD_#Y zsL>*8aY;*=)j6>(4^Lw-iv7qcl$iH>B zYv*A2u0gx@j?6!YyCr_0hT;1b?#{p=bTMA%?}GOZ5J!H+i73m31K;!U!Y8>Le(@ef z2S-k0yvLD8L3ZIKTD}Kx9=sd!M1+%NydU9oc!ke_Obp+v;JX;iTZQmic!dc-CZ-VK zDlNW-vb5oD$_b7Qte2;wE$Ya6CP?{*#`BdBRo?-WWm%%`vcBSdA}ODvVMHCJJ#2r) zBic&xu&q=br$Kh%ou+vR#XB#O^AhN8#7{)H5MJ4^oU-I+A1VIRGz`ap;urQy&QuK} z?3X-jt0c5Do#5dCPT)BJ;PiM=7a7mjNs^>2>MLa(Bicv4x5e?G@S?u5EY{zRh7Taj zfmayzeUijfYV!4viC>3s6}$`bOoSZ6DzC7)r!zK0n@AqEi5u_Xu%9_E6n_$A7b?^b zp}@on`BVO7$g|aMH zw2zb*Xz`0RxlEH+XfoSG@odrLotnIdG7X2j7d}b8n{+>9)@3|G591-ziMEn*JLpOB zT`kTp)rO+2`V#G|Q7$wl$5Bssg&#_p5pZ63RW94a)!)I7W4x^UWXf{z_J0d64t{t&{0@XT8Y{4rwWyO>{5J`D#r zo+gR!gpkvlc* z*(v2c2sy_YPnlzec5;q#&N99cA;${ie~0iLDSwD?pOnu+z5fK6c*-FuhsO!x4aV#Ha}4bu`U{xb5VuCgZ$QZJJ=HvVhw=~* z!u<&{IVU3T0mh%^#D5Bz<<3R?XA<)dguEyuo^9Ss%4Z==gC~9z!Z9*F1L1fX-w$~w zOPO{~gD1}dgfnIQKwxG|nV3s7nctt1pYb{Hq8$+C$@otZ@|#q~mm%CK6CU{H~RG-$eMjlzHtIk}~ri)a1jO{F#&s5psMdv4U`ODa*Mw zAF_Lxvp!wVcsVb`_(c3B#BG3gLB0>67^@P$UB*9vkmH^h%6p`IH^O`26~8!N%e<(P z#K-Yujo#|h_`8~6aiVtD4Iy_N7P{#s4uTvPEL$VtG{b%1yKoa-+( zff|zoG&xn1{gfF2Hx1r}yt5I`)MTB%JL28==#Im91iWhJaWcLT;U$ch^;!Vg1^i-! zIq=L&jHs`aCqs9kk;ozH4mk%h`$qLwJIeAprzd0=3ZIYAtI5o-?D0c(1H88W0_+rRO1j1peS}woS*TM$K zEJxS?nf0R$F27R`wgY9>H3{D3cgAOT$ew@V0CyUEf|S`-F28fXD{O|0|KeW41%Y-A zgm?KJ9yW*PGaTSJXA`7MJ3RklEY@E51S!)FPZMLEb8CW>IrcpN5Yb|6BuLrM_|KjA z@dy&6%>MEmbK==<2~wtgo}*6uOvX!jHsk;9#Ls2Cl-bvwFP!-KjF+-#+Y6mGV|$)- zr-SK)pre#UU(9g&SKuLgkuLfIGVK+80hw*z1>Oaj{n-`X4S6xb?lPYB=qY8!vtK=* z-~h*dNsw|s$mF5D1Ef3xA^U>ytY5N}$s_vW5Ck~U7gFZ5AwCBo+n+M=819zmV;tZ( z>=LBR`gs1vSZ5w4NSStfJ{8eo4NQA`gs20#4ljH zlyew=(237uyp(CH=YSJm$apEUeLY8<_!7oTnSG?LAJ{LR{SKxRF;Zq9dCs#%0{bXI z%Iv?S^PPD1g~D)-D2$gFzk?YF*>#yS1_n!+eUvO^woNL$Cxio>=$DWX#re*Syd1Nl zk04KhEcysC^NK$Dvx66XBxOIMR9?|vA32zb2oj_`S;LUm^Pz*8MvRoFYZ#X2`ICbY z{U~KIr)2xEPgOgxPm?m8c323R?NEX+2j26)IKYX1lyW|F)t>BA#d9TO#lt@G{1FGZ zF7OFbW*@1%>?4)8J7m>gXF+!5YV!gz`yv(IvkwP2(f(4-fbIrn3_{{O@8bZ+zDSTV z(^R?a7ga9%MU^YsR<@65TPd?`)i_}rvaDVR*@lW!%nOO1NBjgEN9TO(c~6Mqd0K*$ za}cHSinf(`*|y4_V#sWV6$sfMo_BG8D}zsvayewhQ^|PAvmCPG322xq4YP`viH@Bc zC}aJktAY2tBSdjuoFL`xjFQ^vYPcPG5U-wj#eAAzjK$tcLKLg)N7 z5waWde1z-^#1Hr&g2 zX~TVxRok-NSl_1+J_hf39S684;1i_$6l9k5JA}`}6aO;8MtIL_IKaIGpCIMEkQJUd z&#O4Vy#k*gWpXLo7^Q4uk;=Ax8s-BH!=*>foe(j<#{upDe1en@LRS2T7%%I77_#F3 z3^MD&d)Dt5pMe8hJLoE&kDEO-7LLzA5~R%MEQ+7cL==A)$cn!^WxvQO?w1vw_sa@@ z7BO<2*0NrRZ6Ph-4n=bnt0axch=f2f8@)-b8W zNd63Be&z6wAV$ig7%w@;FkZ^syG!v;(J<3A%yeQTe-<$>IsCJUk@8%|OU_FeFXefV z75_rW>@T)+4!q|@hbIqmf|T))8y~IfQWyVX+R~Rql-$7RV?`W9! zG|WC?&5vj^$oRbN!EV{dE@Pq;wqMxMU{{ z7oxaUJLwKb9*3Z#l>LyIw>QG^@E*B!#ze>oQl89sS;r}im+~~oYCW6{*)4e%FdjD3 z<-jw3Cc?q+9-buOhQcREIT^CzPi4I1PlK%Zr&At*1KeDASHQV8xdgK3IUL}49he~H z`H&SS?NOWyA*(*hr|ic8?n-!tFNUn}Yk)+C!z)e;?XEaokkuUFH3sp^f$c8kag^cRXyDTj z(o^n<&vO$PeJI>#9AlJkLpT&(*>efyAvnM- zgm+=E*C5Q3GE~uqo+lx|vFrpXvprSauVlO&V{BX1K4ru_fdd@dGeOF1PnDPLsq$V6 zS&dK8hJHlAu?-b|4P=E!Q-;f8ecdp46^6lf$gIoF2zN=D-MU-Ktk-Sup2u;3+XJ5< zZ!T&G%-ws<1&;W<>w)*yp4>P?e-F6#s8{?d0oT2 zNsOGE?-27S4sh?mCrFudobAACTQN6f|MFgdZIX(R*Z-805O#$p9{+{zVddaBe-ot4 zbynHjlkw7K{(VjL^;yI`?Bw+lBjtXKm-qpUm-0Z!s=mpPX#@K_12SzJhj5IPs}PceaL^t6?r7Mz-^OVjgt(7Z4-mg^ZW{ zIgFQb9%RK|tYJzt4DVAEemf1sA*_+|c7%2CI!FbwC-9th+4$TB9b84x! z;v7_M^%P{)R-AX_Spy!OPr9GSrsxAv4E8B7)lk;VS zS2CW14z3(B`L`hC*j8nUvCYnh6JuM-D}hmET@P866@aYTZ4G6=$ZBnZtm=Ln;uK~ zJmV!#BV@(nMIO}`10i#Mc@PeU=lr6~A?Ui@dG5=3s@jwDk?|!6XG*yoVHUjSE*#)E zCljPR7qYVF62?n==0R5Nxsb9S2e^EAgsFVFSx8lX4}(cJS?o;sD1w zwD$?o>OlEqM{eu!kpZ~2)4*&G@_Y!-xy7>RP24$%Q#elxxQQB$uVlvKo37z_{#3X# z5D!(<6M?u7VyGO`==#D_c2j|4f9Ou(1|gDmw}wjwhI!b&bmZ$TBy>bw;OsFc;yt|W<=?;qsrEYoNo|6C;a5Yp|1m!}4yE4~k)>3n0rcQ4||mnhT7 zHxL6k`$DFmIbYgL5rRHQ3DuE)%y__%&%kw7}8(N#du`38e;3gTJc z9`K5fYbEn2z9uLupex5Tx`!d?d}ZLvK|J|RhgW=G0LMIvuf!D@vxpXH3_myc-qh^l zoK<`o$glG~0G<7$9MkAh5U<wL_hMpl9oP*+9YVZvJAIClG+Xr6p zJ#O&vxhK~^CCiD1Z!kAUg^&R+5`kL|@gs{LLDU##)> zxWVVw_);`JKEKrY-Uc7fC(0@N-Z%KBYkWLitNONwp!0nIJyw00fqDG0pm`c!y2h7b z@EwFcO6Fmp>`O8D^1+veboR$^c$UR>$~O3Vwa0p@NRY0?`3B#1@a;q*`9{JkzRd<- zGCGFWipnW*oxzv97V{EwhJ2&p72oRy-+KwpeVEDjTZ1oWePq0h)%ZG~ezZZ2m+t7? ze&|c(lzndCXoFuS6oZd{OQC%~fmim8Huy&2NLNnrO*8m9ZH=_w9Do(yPYu4ie`?E zbC1FIEcjwwkMA+~255YjYWBTp@Vx`Rp{lY7RegVN@TF;dmuY<87<}J@uQCSTzYM-} zz^AUSF4y=5V({wyTaJt8=VS2o1y1kZx!_ahqboE%{zi|^mxhb~Sl9Pi2Hz_14FC_v zOSZ!Br`oUD;JX)mQvf1gF1#8qj~IM+gKw82L#X(EVelOTpPIjmG`>F@ ze124RVGO=~2H$t!D@0+muR!DLc~W%y?FL`0`Ed$xdVl2CM%r(Q#&^EK_ZaxfW7s#& z;9CbiKL4S8MH=5V1|NTeCKg}0!8c}`^IVR6S804dGx&Cb?+K(Ur~2bggRf~ju8ZaQ zd?~=He-9dbGrQv+mWk3SzK;yP-gw^h4(1H)D}`5l=i+3>JZk-`#3YJ!z8nLb-XF(y zNA9Pu*7$BQ_}&BGIAs)YO5ADi?YtGwm}Gq`G`>F?d|i9RzTbbx;Onpl=PeY*`YzM> zI^+6>HlQfso(3O=OxUUT4#4U4?RrP#`sEs+Rr_5e`BeM83ckZ(wn%-a8+C9-&M|Nq-q`2CYYg19IJjRJxIEwn#3=V;1GfgaF)?tb<2p{S@AJU*h=H4B z;NAr;)^ozu2JUm<{4w~RF>vX9oxcYusA}iW4cz|#m##nv74B?YpHWu*_5g5+F>tvC z?m6IM_3tePt`WH87<_*;a7TcH$zf+p=~Ng)S=skBaMQx5NIfnxa1;8)uE%BrHygNE z_4uuUyBN4w^=Oal72UodaIxx+RR6fArrQm_~P{fjbj8T+)P{!o6YO&IS&r zp0HE65jfB5<@$gd7)Cj1RBtqJ7X!yNPdUZ+y@9(7IF|w;RJcXB9?;9ZJPz&^19wH7 za#Qf|Sm(=)!&hhE7RAARY2XTgbH}L16Pn;~VM1-B<``Ex`0H@!-DclegLRqaT6M^%E*&_8VHE-J^G!ChhCZjFQ6u5d2LsE>e)wVrMTt{ouC_9H)!Jootk@l50V`jn)8Rt?){ zU(|5(wk_MTb}Ve@UAJ&Y;6Qf6rfu0fYM|BZsKv2%M;(rJJGSAtZO3*Tx9_OOv3^Gb zjtx6@;J9N)Ftii-cJ83`$Ud`f1M2X7L)WTc$Z8CP5^MO6b?H-^i2BT` z%dRV}yP;2D3o=~AMkfV+XwbrjqBh82N1#sK88OCe+d3?lO3$?hmtl1 z2mAW<={KlfpC-G1^kQP>> z^{PVuv=1kKer6!J(^pr2Ygv=Mqk3yuV6D~IqpIr~l(3pe9p7X(1Z%r(%~tt>qApE# z-P&MTHSz^Rcq0U*B~_hP)oo4SK(P9hDwa&XV5n;CDQo&Q%=$&Y9a*9ASr?u3sJ++j z)WC5T^u2NUN3$aRqWbfA&C!}SY96e)wPtJ04K<}T*)_9jI@JGv#eEBSRmHjXUIdeP zfel-#6oG63xh8ujAwr~9!zCCrLL^uzT9ZH$5==-;qN4I^c6NY(5fUKTXf3q;`?o%) zsGMr8^>|5JFL){1)?=x)cA+^QTTz1Lue7yt-gnk~d(U1;NT@u|nPm37^UXKkd^7XS ztXa2NGEyY$tFJw;r)*Ez&K}RVn(ceTjUR0ek7?R%rK#R@toOM-d-Uw0lqHTWEU_h)NHt8_QCV4o*nk@@cY&XPggFi`AXPbENJA&IU-yT2Od$%O}|CiUABYy71*l?^XEASO7-^%%*>JUr*k4ca2oY9?br+UAd zG7YU*(RukJfk!GL_jI?}t=?~?BzCUp-1ErRN7h6>?C!A-d;gh|*;&u; zI(4D_24du&Y5ykBXcwj(Kk~=j1;a*8y6&F^Hpk?y4+79A5SfoQn`d8WcLXD~)-gZA z4&|nKtz+a{UW7JRNJZhI&Y**v8fv0{WJ z2ul#IMBP_LDmnuXUH(u- zWKHMdy+wQ1L~e(stW7!US01@2cu@!cn(QX;CBd9S&3n?(3Tfz{w8+hNJ7m<_>%8CW zUKF?{HGlXw#^(*cX6z=r>4Gw7Q5Grhd~I)eBtLClN6y{(!`2)UEvh^3exzFI@}1NJ z);%lsELm@Dwa!_QvSho3w1=uAR|G}xn8r=%*0Czch*38D)6=!>X6snvyHkVdc5d)m z@3m*oJHIe#=&|L&mnw;SX-~8pF?!gWpGA9belRcEuirzz=C{uc zTb)hlOSH;EWf5nrmjjopUZ_%iRTY_Q|Hzo_U|;CpPpnV~_prL0K5tUEG1PRz)Ai_1 zPuE|p@TPC3-RJ%3@JDyNbDsWofu^6YUQJBw4g0*&m zz3_tT&OT;^u?B5EzawdA4@VVe^OfHEl;%)J$kC6bhAwymeb>5!tCVw_He=<}w!SUf zI<~=Cjdggsnw3RPR-LY4meV2*?VEQywCSKtkKAcJ@n0VfKRWiemXoht z=a_-i8Id&nj(<2Ua=@}Wr>NuD6xi`aDC?rg!`71Pxt6cQ9Q|5!rSmCfp^&|KN@MtE zqkc8i>ao5w@(iozBJ}S?k%K4$Ut;gc-%(&s>0JBJ-49KPyr6P&6gS(?owSvbJIvL2 zKga9k=J7h;y56d=KDCM)o9vga`{R<9@Qce|&-sVdcrROMi$U9u)X`1*k*fGYKDL0HT*KTp9lJSI4}GPu&0ak(M>}C za?|K0(hpeMuHUod6{Ou4ZV5jRN@Mq{h_!^D14b)fr&{?s9tmlSoZVTz*~*7T9YtF+ zS6+y@KE)_SOXJ)jCtP4tc17s+5M?{<{Tk(meuj86#wA<7v3ogIhXx&E`WN6@-tu)ljU)*X{06An*6I3e;6%YQF>Xu6J1gndtp%tQU> z+OZk%?C1;#onhT<_5MdN$8U1SXI96CJ-6M*weYca{`Ty|?=Bqoo9*O|T^XdeU9%l4 zwoQn)Wm-LLS=O;8;4u6K_>J(J;TuEkq2{a|Ia~oE2EXk{az_h7o{u_b+#g!zT)G)^ zS5Cxp%%oL@IK#%~+m=vchQkp*57RDgn?hchi%lsb>@A_uu%o-ILzp8z#Vpyk6z2cb zS``u*DMhp@XKpv;-Mc~ZODc0#Z;;plW#RjSW}em{+y5zxJkGft&xUxG8*7h$SR2*( zW_-Jhu(xh7wQsstN{?>?NBfociWZ`Md}*;5dPH3zc(%_oul3eFsusts4I8L=Ua%$5 zo_fs6i2N!2D9+T)^YlGO?hD@^{$}`r@VCOd!%tXiab3hY_P(fOc)BEf!g3H>CSH5d z+DY&497xW8dY=J%JbsTq-7~+WuGBwwS>YTHKM3M)xV^RvOCL=yoO=}_F}`aTEtrF7 zx{>jkxpO=V@PP+>#>0;<=G4^P?q5~IZ~inm>#NG@+N!c@M9WJ3J^Kxo#xL9ToTB{J5KetSL5>&2pj60utHEn*}4W#Kz;5Zu(H11 z6R5*imja{)@KFhTYGvWl`4?wq=B`6EO3O<7`@Yx!+4}#?&j1-SE>_=Wkq-zhE6goe zTv#-7ZbN;pR<*XSW;Gf+uzJ<1qWasMuWaPpav% z3s$Y1S5>p>rrg4e0oBP&kC(92$;mF5jhZc5TV9j9vY?_cb3jQMed!XFQBXk{gAtQS zg%*_6msORm!q;<5MFwn+Ox26{fYCAx>{H7-z-M%#6&X;6OOy_rBo-Ae$;isenpu=} zYO3`2nHjeZgC7^pm%OOcvKr?zMQ)8mmNGtmcC){E;bawaKG6uPJ&n@RPp7oO$QrC6 zIF-#l{UT?devz|IzsQSEzsRi9FLLJT7nynbMGk7joSIz@YS^5T$iY;5z?sV#G=oxZ zaI*AttdE-fR%ow@%M(~tQ_VG*C$PG%=9XGx9pymFpbYgKJz+#~uTY^Zp3+y_A5qwP81UyJ+TnKF`eA{oDs*J;7M}D&AZ{$ z&wQGKar0>s#?7Ze80Q`0m`m{BK|8}G#Jvqpe)H*R#?8C-jGIp_Fm66g!1#FF&2=0# zwea?Er;hW!vgOI}{9eb|6Bd`_x^bL%&{L-4ynk-tZGU-x(aE3YITFX8s@_|qNT<9R zp4)X7JMyNheI1$3`|6f@8IZcjQfWnDuW$+|wSc z|0K`PH2$6NyX&vXfKZ-8?49=y+UhG(^ozpmm* zo(>%+&j|SauK1sHyc>4n!xIf(Hij7aFLTAKUGYt>c&97QcQxrAgZE+lJ?%>WSjXq7 z^1Yr56BWDqVfiz4JQ;fWFh0v&>EG7z1{j+4Nik@Kj4a=&~c9M3t@j>G9Jufevj*nIk2j>7GHlXEGWw3 zcOMDz9k4X_3I&$Vy}Dq9LJifmMRjGX6~3dau0|q#t+-F^@Z9I3{ggx$IUgnObpSmz zAQLH`AX%sw3ro87k%edTDt zGsG{JyFV)(Z0SY)80a9^n|<2l;PNWX`#rJdC(LR-Sq(d8gUtWD#d1=||%KC<~x?EnW%5*+EuPO1LC-3ho-n}$9+2uO(8@1|V z(eq2HR^3vCOJleNoy$u=xIShwsn4;;E?+Icl`qW(PW)G_jAM6w1U&wGyRi?L_tH6b z#V)>`l#XoolQa_*IElbMF9E90+FxC{s;;KK43~#X>-!Wkz?DFwoiOd8L+4kOmDGu* zxa4?sN&QXz^=mJU`@A|Af2FYB?^my)`h9*Xx>qr$a5=HBcI{Kk=w+|iHN-yip6tS5 z-x*GFwXm-YgFX7hn(Gul0lvog40iOR+$K@W>+@6LZqvs7jUs&|ba6>_87;-RG^wtQ z#&nDpbdnF1_v+_COtyX7{D4;?(eQFf921sN30xdE(q{f|eh|E`iwv$0YvY!TX9!L( zc{au6X#!3rxs2r5uuoqMm}Fp{RS7+Zm_Kj};fEmaGYEP9K)eqj*S3_|g)k3(2u|x4 zAiM$I#}gsAmGJxyH}`B@5A2&ysufkK#2MAv`@EZm`XyCUEY#X@Sz#jus|MQ?5_Yx)M zo`*btVOe7l`ZawaLhflto>YX>;mH#~xIp785f;Fc=Pra_)A$C2E8xk0Bf|9>e;Z+w z#t$G=du6htv^xX*F9YNB$wPbq;ZTi#jWAK;Hxbe{$nzFL+6VDF2+_3)zl)H~O8WZ< zN5S(u<-F=L2VVL*N7LDdHK{`wn~BG?T8&-D1$&fQNvGx^35V_8skvbmHB>qR)c{eopf|gYXT~wVt+tXck(=juuWt3yBbrVe**sRYPyYZug3cj{s>;lM94Z*PB+5+8go3o4lg|K zXv{Wv*TAeJ^K#Dz){FdSAshiuI_orEY|NJlvm9>e6H2V+Q^lnEDKX99*zc{09)G!;?N7;T(-GLwG4XW&RxDLId-AC(?#D zXgYOUqwxy}Z#D3GjhhfQYP=CD>;z`HFC*Ly@59_e_dU%+`oF;o&prb`1?GSXdr^W^7>1cb7aj~DFv^P!XzIntP2RvpF({4Eyh`CS8W$;qgLQOw_ zFb_V_r;76M_>rV>KIw}c`eM>G=JCb1#G&(;B0N0C2oH}jz5<7*4tNN3co`v&!BVd+ zz@q0H-6oOw*Skyj9~yg!|xqkV*GAJo%3yd;y+vIDd1F6a1FOpCJ4*yy)2j zEP3uSB@pz)xw+ve>^;);qwI zNq%)~I?vgk0pVzkmm~CR z%zmDrF>OHE1LTt@UDK&cmd2zn)wmepIq-@4l0J1v(wI8P7~#;8F+zQOU&9X^^&SGH zXm@`2#98=(qdrL*PXZP>lSyZTz)??;L*0aj*@P#XJlEj|E(e}v32KYe?61 ztO6GKYk@`nI$+l2VT2ns-iojVJ~0zNa9iM$G;RfEy|yDHUt$J+;M(AmG-jHVyOZ?A z_<`$$mvX-gEIi)>7M|~u=j-@^+Y8UK8W2)H;ok=={67Nrt-uf5 z7n1iW(zQO%0E<2^0J9z5K)4@1QQyjX88}JfS4r1-50I|$>%bz1bCmGBZScH9o&x;9 z@%ZG!xS;zpd}2UB&tU{f8h=c>mfu6V#-9L7S;vX5#}C}+@WSuG_!s_jfPEaWa3kP{ zOmz0m9|fG4MyhlEkfbr1AS!1Ju*ew;EagrHrW}gR()dz@950Ef_<_rYPtte}a02*q z5RxxZ-)6iFI7wrsiT)f@QZC1ol*{H5o}~uQGV*AfSpm$lCLpAK!ha*M$mF;Xn_)X7 zOmW)aJdN1~es~`N+*Ej9k%DTj90LAUM5(`*iEugaBQ&P|BQ;j~>+|1I(0#@DfvbRL zxs+1{?<>I%TrIrNZw2ktmnxDnw{jq?yD8aUa&XKBoSI7j0~gu^wa zOxh~tHzHIrv9_dBGMNcZ$;5S)Q*o1VKTnHN*=WC%!{%HG&$8$*fXC2LdY(Um|`qqBG~UmVlu?g236wWebo zfwC!&_AC0mq~&EY6I>1&cd`T3FXhqyLGwwu<>2Ep0^-O+$8&JA+&8e6;2M+Va;}te zQ;?T=MBZEI1lCuaz%k%6k1k;wW^FytN6^3XiWW%+O{(U^hIkGSNu;NdwL zmy^IJ`sDyn2g$b(!UR*E=(p9ymj^x+5p}}%wu|p7@bNe$PWYx`yqe`+3qF`?)Cu36 zF20g}^pic=MfX+UGY@GZkIw;_<*w~VUW1FT7JPlx_eB?9J^1>n?-)$}X1V{TpK_~R ze0TT5*X801^`qapI4GOtHiNIPb}4o7Z37=nFzTfJ_PO|8>4)!x@aYao!u5c@+U4)y zqb=s>l8(VnCjry$c?!rh+Qm4`v(y38w{jyP4@E~E)95*;oBcEqd}%yTYA5wzD7M0+ z0!%77=*v04e9n~RV(9nUi>GY@^fM|V@(K$U1!{t7a~<^)-HQhs?)0@6Pi7W(J@lM%i@w>m^z5gcLc^kO}VPiM^2c$LbK+#>?9VTSA+ii$Z z8g>l;3O?J%yJ4sCb*gMM?)<8f`udAk;?aw>e49w#If^FD#CujuhgsN(ZBQ=-@r^Bcslxpl)Jb#Vg)hD;72}y%DS``2ZY{$rRwv<5PZ*q>qo!13 zpyIJ7tyS-vKVo~N^?t_MOy!s`t)1}%W!pUWa@^4q98cym)?B;mTSGucPjFn~FsI$o z6IePL?&t}Qomi>vXRJA*VlKf0qc+^BKXYv!Em$9}He)U!Zl^e=dp%d^I&M2%VxD3jF3D2hvt z4FgKc#Z#MjYqF|r4PKGT01Ls))KCV;57cOZ{zAv$noa2L! zi(oiEyx^$@ru7fy!2ynz$NSPN5Ypy}X}eta%6<4Tz;YiRhlc2Vc&-(FOoZcj;C<{o zge*%i?MpC^SAscz3+5#S!5o94TaKnLN4P*^%Fl-vo&sWJAh@q?U_f^_UZ5j#-D_DwvDodVXR-;DKJv0CXpVI8oXT?V}ET=B^s zFt4ed8e8AnANZBpIq((hN$Uqzr`jQ)I{dQr(`c+p#ikxgw{x)j23M9hg-187`qN!U zT0(ij`L*pf_MNa7VdtU0Tkn1S^Cf}vFHiFH{KM+L;QyZ;@Lry>t*8b2aA0SV@aE75 z!5*7C3U;@vo&T_t#gU>O+sP5Q;PSJ#VULGk(e&{6ChB|wdopk@8`+h^yW=yf_^X@j zb&y~DjoWgH!*jzE!U^H-rstc!-{fs~_U0pZ@10!OE-S28tTWaAel6jH*5UR8fseg^ zNd7qaMDky)L(7hy`Ci6R*Io+8vENi^7WW+7ir-DPvq#iMgj@?BRC^>f&9-{DB5sC1 zZZ(A%-vAtj-weM6{vP;Nw7`CAs49O;_<7aR_aIDAlvbcbh3?h0Pr?3?(gNIRp^ufc zm}6YX9V}#r$-~wqp_Whu_9VJ8RAAe74_4^AFPIh#cqd{9j!EtFyw{A&=)}%lu&6M0 zY+HhzH1B=C-LBZvW>sQuvvq2JvkMC{&aB2R61R4&?x3ISot?rxSROpIPuata(4AJR z^)7bvu*QuX_n;NA_P*z&r1nao{iKCfdT$;V8rMEfER*$2?qFK+^7U6WEsEsFEV|YD z&_ch5YVG2}bxWMxJgVPy!sAv6=x*A|D6Kfkw<=0o^Pc1_?SodPXrh-IF&HV_iz}e^ zUUK&7%*hUSFHgGn{feZP_h603I5M8ZNV8NAZn8hOGCJR}Mt5?LQ|=FnJ#&^9E~s9( zZvFu)Im(j_o{>?WX`wlxt3o$~szY~$wqf^`fNST$J&X{J|r&Ae-)yVy)WsT8(I|7A=) zX)5)M^@Yp;wA?9%<+iGMXIgkp_^R*?;p*^R;ca1O7bU0Fr?{++vrux!YdcPk(^3of}+u$dlGbxZD$5qa3EQTCe` zTzq$pw!&DNW7~PboRw0Rgxn*Mtpu&~E~hdkN)E9eqk}6CIoj%W}ZQZtD%g^-FlY?+xKu!Q082rQj()q@_=>Ulx22D$EJ=IC}m!7^qw5e zxk#6B-;`37z6R-;Nawzql$5Q~-?si^N`w95jvsW~f%K`tF?;+-&)%?T!-@?zZCJmd z5xe}Q_G!5(V^hZCPyL+6jePQF;Z2iUGfNAuS`~j~DSuW;X=!?9>C#z+4RyG%v?e}z zaW>w%DO*-qT{b^6x9TKmYbumG2?vUf?Kso#)heU7xD0Zc?5e0jGgp`K&8GP4WU=II zCfC-isyGQxMg}U6Jx^54bEOGfA~Q10RdYsWH8#ld9w^5?ld?|NuDq4}Bkx^Q5d;KC@uv*)Img1Gxx&{nS*^eS_mFz_1 zJdUw{gZIJE>|ZUVgk<0>vTHL{kgY;=@R1Z!tnf;Trt=Cy6K2mB2YrynK|R5THA&jzteGEi}RtsdR*}&Z9E56`Z=C)F=JBYr@GSRIg2M1{|NOijuxr- z`JAgb_BNlXrQ@|fAO1G!c#DdU^88T8x2X7eo?q(tJQW}9IjZA`D*1nP#m~p}7;!9b zhAV!hj+Z0Nho=W>b$pkKkM-!lKxRI5rFa@7m4F4`J(8$gb;YVCx}{*|{@*Ob;*a?=1~VU>Y}RU9ERS5{MTm#(X{t6qy0hKtpT3+pCG7h1-} zxTPAG#d&>x;Kf&O75iRsp#`1Jz1itpSIzrfbM=yMF0^_jX1G^ZW*sx?%5J`;tiEAk zT}^dvWn7zNaZ!d9NH2lW6__C?N>i_?_s)~i=Yp)4=#1X0u--gs69of^m7}y8Gr_|L427Ts?4(;XSm`2)P>Y@rDiDBzT`b z{Q8MG0m7-{n#MVZ3w;^z5UEI%z$buCUAT4=ywbp|uh46ODTnoLFz9Rx;b{aW&qjo72ch#A zEx6UdZ3f?0!_`^7g?LFc_(jY*MrmROg#@uJ63D(M(s zbSzuOR}QhJ=Na^62A#Gj{1pbBHYW6DgUxAX!msjbI`t4b+t#P)cNp}Y2IiQOc3^#_9XO_Zm*5AEV@G&cci|ZWENwoS zSeL~*3V*i2&!!iC+Jo>fGx%vAB7eETUuy8z8T<_f|E&i9dV}XKgQwBp;kXqY?gti~ z9{?5|b{qT;8vIWf{7)MEPZ|6#82oP<{09yGw+#Mw3?AFy`G7pyCdUwCywGLA`*>ji zE*W0*KMPp&Xa7n+_BX!HBhMWCz)`-)84E0O#siBE(+!?pg*15wG7(tH zqW)4A^_P7sMiGz351b!f-nX1eJPto_svR^>4&uVYG#?d*qkQ2ftH?CzW?8Je@N;fS zxX@XvunmQ7@=%`yFjgUC-DS@LHpdXqFGZMd(3cZmg&#O&+f0O815Y^*BCLZKIZeQn zvmRlqLElBJ<$RA=%b{-4wrm1vTR(a9xaOD@9_lYV>|e15&N;%v`A&FL9koqfX7J<~ zJoA8k{DE5tFLLsLMb4GLVh<~T`EJ`XgyrzUUjZ!qRlvf}wje*p{YH4k+ z-vccCywFGfzk@bd$7ulBaHY?2922Hv8Xe47@g=C3Gj=pof$)8i=cmRP0!3abXhY$1 zblO2oI_CgWPtxfbr#&!_)MGI)ZBv}c%LT!d*A01-K%+e76?uF<)09VBc^qDx$SVcG zl$VS-whc7OOV(-BZv(t3kJrsOM#PD{Mi5MSyC6^MdzMaP{0H!+Jie!X5HxWjkM?TH z`yS-6Z0bijOk=noo_U7A(`5oocA)wd`Y#YO<-Lwcu^TkX8?MtR?{DywC;hP;0%-T* zM89JonDQROdZ!9B${V56C~q_}nDTruM3yH`a zPUOvY$xDU2W-w9SD0q=~lS|%%khevIAryJsU&YjKALQjBo$_FcQF*&u@-mTW9@52$ zyd5ri$01Mb4_y`;wPW>P{D(|>U-dm8zV~RMD_ZOGE zb8vtu1{3A+Sc7b;KX_f1dBk4o&cGfQh>H_>lflP4IXa;VLiQn%@_4)wc_l7+H$pJy z1aTto2A90C5W;q&JU_h1+w79J7xH-g5-0MSUGlOZ?=dh@-UN7&_qa>mpCK<_gdr4p z|L&6a0pt}Uo$@BZi@e{vJZVu$Jzr=~W zWbiRhj!swxdD4DUK@)l06UUVIHOQN;^Dq#3vt9D4ATJ&1tS|XRUX4p$Bji1Sba5hY zjZ5AGkoO>%C@&RWJ3sy2!Ik>3q<`i9E&Dh&FC0C=*9Oe{w-~;0_ix$OdN~Yq^h5@JWA5k) z=8fsp`~Iyb+VH$^`bD;|j+HtP`rleJa=fxFWDL+A1~Ud0f{%7BPTG^9IR@4v-UW}T SM2*${#sJq2SAs{J$on7usfO49 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/File.d b/SD_Makefile_Build/build-mega2560/libs/SD/File.d deleted file mode 100644 index 2e698ba..0000000 --- a/SD_Makefile_Build/build-mega2560/libs/SD/File.d +++ /dev/null @@ -1,19 +0,0 @@ -build-mega2560/libs/SD/File.o: /usr/share/arduino/libraries/SD/File.cpp \ - /usr/share/arduino/libraries/SD/SD.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/SD/utility/SdFat.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h \ - /usr/share/arduino/libraries/SD/utility/FatStructs.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/libraries/SD/utility/SdFatUtil.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/File.o b/SD_Makefile_Build/build-mega2560/libs/SD/File.o deleted file mode 100644 index 26efd6440d91c256937b8d8a4dfa700e91d5e572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5376 zcmai2ZETy>6~3=sH%?O;>Qef(E=gOuQc^E11_B!+U6Qt1yUrtBrFLk>aZKY9$DZw$ zrkmEf#)woT&Bq)z&@{FmY(KV%P19NliB;2nfHqd~XF^j%jWhw1%94&qAXLbn=f3ya zH@6NP>H41MoO7S|+>iI3H#yUNV2|TCLW?7ML=_3~(Jewe1!qVGY!f@gcIj^bX55$1 zu1sE?Y?^re;#(IJg=y#g@f+iwvmfNkJ9d}Da z?lY@T;YbIp!+Ek@nECmPe(J)}^!Q7SlTDM%rs|t<$ncEQ_|S!!wRO%cv%KMaz1UOi zE1oFs4u88oTL1le#=Po?%Wlr(VunrQjhNlc#QcQjz2^MDIqz&ZxBlGI|D7zqP=2ZW zOyOsR-xdBWXZzE_(}j_@$I4`T?!xc|&TPlqA3D>HGj_|w_L4Jq0IPS&`G>Q7iZN?P z^;71@X2$#_cdaz@lZ8^@#ll6&JYG0k2#l^Az3nM~$zNJN3p1@K?^1vvtFL4f`67H2lkX&B?EBdvCJt7rx*7#4J|% zU9ORbt~!qu@WSP8OLPSh-!xNq#&kFJxeW@pG17+*;)e@Px|^Ji~o=L5~#_8$Ds zoz0=({lQ&A1hYfQT(lQ`F5~w7TFb>x&)}Bsf z6S+ica1q*U;`Aa(-5)&}O$do;po#CS0%%@iW$Ew=kJzUoTG0o@QgKA#c8TjmQek$t zq7@XT9uV~c*IPwsdr_ev`c0xiT&j58@qbtNHuM4P$F#zSByJSf6lO<0{Yh{fdI0;g zMja0NS}@<1>S2-b+brCsupYlh;jNNymFThXqY8VZf3-+j__V@&69U-(^9rw*c#Zg_ z!tVUmi9aeFkp2zguL?IyyivTl05^&E6#ky{w}?*^-Xig4v4V*yk!xV#tqQyO+#y1i zU+~@z#?omKiS&dc`yvrnIp8V}ckh+T!@Iv3J}R|bG9Agpk4gP>Jd@JEt}Rxvkp%@d zb)Bmc6yA?pwGydoOEoN%9U6?`Ix{S)#Ml;I&zeZrnhI70raI<6-r7C!94>Ahw6N4v zugqk0U?3F}sH}sr^iVZ?r&*Z{5}B-9n|8XHOCYO~4(l>Kx;Sa4U6HiCT81hXReLlx z3y!vhRF%bQETvt9($wI$yXez-%(<3Rv9n$f(_`Hsr5xTY&(X@v0X zd+^hNUh*h=v$F3&FYmDJP#~;PUc`R`eV3tg*wR)ZE88~cbxP-a0z2>n`6`+RrQs3u z98aAbhtUE-{6JUfDJSZFVGf(RD%Xz_AnU`7zX-65U*j4_L2Lm})>L@ML zB_|f|0CeJjDmij5Xn=H}c@Psu&-}egmpmv*Uxba%3vi+k<{D5%T*hFdb^c!Hq~-nR zQ{{Cjbp}G1zmJ;^M$I z$F&-9ti-%pnLCC1X^OgbQDfXV{Ux+m9Ji0p`MfyhU_X~OE&93pU@+s-!0kFn`3O7F zIPVTL%5ShIZRoi!{5qnKYkv&Qnfk zC^h#-&*MjcCf^+Rw!lU{s1?2!pqu%<1I)9nMe{umgUPoRlhgU}Na_4uhHmnG415Sp zi{|?i3?^S2__+4Wk4IPY{S&&$cM#w>Y+5wm8!(uBrwl%RU247$p__b{0C*($hR3y^VMTK$LRa?9pGB$WeMyi-%r4& z_k*7Wns1Zh^Prc4i?!B$wb9~x34Hqf<(;hg_#MprcsEjR1)qIh=;u2MS4B1faPPD* ghQi)3i+&#rcvvgC7FU(|^3F8*`eEoa25P?l16_+yo&W#< diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/SD.d b/SD_Makefile_Build/build-mega2560/libs/SD/SD.d deleted file mode 100644 index 34eabde..0000000 --- a/SD_Makefile_Build/build-mega2560/libs/SD/SD.d +++ /dev/null @@ -1,19 +0,0 @@ -build-mega2560/libs/SD/SD.o: /usr/share/arduino/libraries/SD/SD.cpp \ - /usr/share/arduino/libraries/SD/SD.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/SD/utility/SdFat.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h \ - /usr/share/arduino/libraries/SD/utility/FatStructs.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/libraries/SD/utility/SdFatUtil.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/SD.o b/SD_Makefile_Build/build-mega2560/libs/SD/SD.o deleted file mode 100644 index 23f0d7430cee86d58ae9a548ccf49f4421d13c9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8376 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 MrP!oy=nN9?f4icMF8}}l diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d b/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d deleted file mode 100644 index 8a6e19c..0000000 --- a/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/libs/SD/utility/Sd2Card.o: \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.cpp \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o b/SD_Makefile_Build/build-mega2560/libs/SD/utility/Sd2Card.o deleted file mode 100644 index 7937e3bdb28c9cc206bfab292d31bc3611b1c14a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9936 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 T#`f5S?+P}n{VEvZnd1BZ!_L|2 diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d b/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d deleted file mode 100644 index 0c06e86..0000000 --- a/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.d +++ /dev/null @@ -1,11 +0,0 @@ -build-mega2560/libs/SD/utility/SdVolume.o: \ - /usr/share/arduino/libraries/SD/utility/SdVolume.cpp \ - /usr/share/arduino/libraries/SD/utility/SdFat.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h \ - /usr/share/arduino/libraries/SD/utility/FatStructs.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h diff --git a/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o b/SD_Makefile_Build/build-mega2560/libs/SD/utility/SdVolume.o deleted file mode 100644 index 5b5ca8c3a4dd1b3047db2d50acc7b542a81e552e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8136 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 diff --git a/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d b/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d deleted file mode 100644 index 893419d..0000000 --- a/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.d +++ /dev/null @@ -1,6 +0,0 @@ -build-mega2560/libs/Wire/utility/twi.o: \ - /usr/share/arduino/libraries/Wire/utility/twi.c \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/Wire/utility/twi.h diff --git a/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o b/SD_Makefile_Build/build-mega2560/libs/Wire/utility/twi.o deleted file mode 100644 index c2e614f18b5bc0c92ccb8c377166a7125ce82858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7788 zcma)A3v5)!6`l32Y-0#(91;wnuzW%sLTzIVHH3ge3i*^0WSj({D(eL=;1qwfUW|hf zJR5@+k`S*KwRr!!oeK{|q zG>YX0{xtcxQnB12ZU6S^NY3j!cECI6^*w{%)CDi|mO6yrcU9?dD(q$6hP}5=ji~Hk zTB-CDl}+ac5iNpRbD6&!VSbp1JXNXik-Ipe2i#X1xJm`Fmw87Wx~Q^;E-}8ej?fNF zQ&$^dBe~k#=Yih_j@I3a}`t+f~<6+SqQ?B>o3=*;?SjeT~tv0k0nC4rISIj)Av4xwgp zM{2_9(&1R0x*EYK^D*xhy`T0Jc&bp zH!Jq88u*WyN$K#Ri{v<~(&5=d;i2%G;h`z>C*rpzvpVx|CYtHY9LPMIc_H(9=Dp12 z%(aY{{;^6O@RkLxs;s)2sx#JGEdD&&6!J!EHlMxFYaSUsX=ylkq0tfw_zgX!VjZIs>$+LZo~j zVXrDRlFMxzY4rN+PBS^W3NQVRRUPDBHSunwU~3=te4l=U20l^QgBo$wkstf(cjHF= z^BSF{$*#PgZ(s}hcIDV_gi&&Xx#`1<$~Nry{3ztCYWlDT?Pxx>ZLHbbxp9T?#_4?o zo8L2L7jd*}>C5T&(yymqNI#oCknT)J(+{Utr)$#T!HK8CgJIO!gO$VT{`>A*5vjU= z!y|V_>Z_Mm*C|!q{bYMGwiPy+Fm|U!$#`#4Rky~HF;%^_yIWN!;=5wiWUG^V+M;b8 zZD`KB-SOnTt*wdp^}<9v*19gy+3pXpC()LSH+TB!WFpql-OkvBdG~@Jy>u{Diu^kZZrI#Dgm=9&tAD!4t$T}PX}J@_;Z2pcKk(oOmO8| z1Aa$y^5+v$Yei2@K;5ApF7R(x-zxCui)Tzw75n@W_3Z-vbhW#{kEo{#{MqW|0)K&e zRs0BSK+O@)n4p^A^CzmG2xIb}sm_WYfeolx;u#ZEH>p1e!<7#xuHI+~sxUqr;qsjIX>UNUjFs*?~mJk{TKNBJA8hXS}NV~>h+nGP zi`5qKQ`#?4JH$V!{RygDeB2X=H&J=wmuded_1ywLtX>nJV^!dJza{=u?cc0^D*hzx z-=fZnzZDy%LQPZW#YeNwSK*$i-ln3_O&g;RM56|*H=t?l{Tejg`^}A8G)lI2MHBHI z8t;uKI>q5#)veDRjqDL+uCV+WM%SF=MD7`Bj!!=;2QKMuea86(%spxkZAWb>-R?Ve z*+r=QflIFNPH~xnQARV>cXMmoj<#fM*JHe9wa&Ssbqsqi)3KK^asCFTGsd;+qwQTw z+FYLn2Kcv^KG`6 z=S>kd9Z%E{Y7lq;R>zT;j6bW+0Eo9Amgy;J0MYZ$dx>5f<*nWpUEc^-BqYi&e_~&7VP&qF9e#gPjIk*V82!H!8 zgypla>&$0Cz8aR#B2a*2g}D01bzYo(T zrUiDD;5D#~sMLG{OP`u1*mZ&*f_(s$ntDu%`-GZ}up5MDU;5OnghuZf;LYG36`nb4 zL1o{^VYz>(uM8O9_T4I)?XY@ZL9+}R`s}+G_6flqu-s2JPM7dW*o5%Rrw7>Xw_f4T zAm%<`#`IwK3qK2dzwn1)2ZV0~pA!CQ*rUQTK7HoU06Zv~rx2{j2bwAtrqr^CGZ4qb>9f3Aju!zo9wqT;x0h*zUKP!gFs#$V<#B2iF4In03H5W`m@TY)n zoL7Kt9O^3MPl`7j{oBOVW-g}%!>BBNiY15lflCDck{X%&8Q_YD>H7gN^W^*TAvLmA z=ZNn#n)Ad}2Iq+7F1R2VMt$OFE&($p_w!YU|2OeM6Xy$Ji66q)7MB7~5KS3ync%68 zrjl6lnF-AGg=wyUr%VFaPCVikODJ^Qf-pk5kyj zg7ma5sJ$EO_^3)zzf8x^EC0AFB{q#6m#=CFwGox2@+R{w#U&-rItjHA)s5E$pLy6~ z<81-q>UbBWtVr7EK7#6w+l+A=(2?VoNE^pZpt|wsoCIeJ+gRFB-FQz=#+@bc_}>dV zk0ZctJicFb;B2w+20*y+D$C7x1@oIIZOrc_R5#v7aLT~hV&n1NbK~_QUL`oj!_@Qn z{S4TRm%Bkc-dk?GK__0=iT4*@JiddF=8MfQ2gZ$e%855c+Bjd{A8vkpf2V@8#m4(5 z2sd8ViFdQKG2Uc!aN|wJJ4W6X8*c)D8}A(AQOEV;e}C9UpLdQMkM{@vM_`MMH_sRE z0^*%2Hu3P;n~%2wI`@6shk{A;AZ5I9yN|j)* diff --git a/SD_Makefile_Build/build-mega2560/src/LCD_module.d b/SD_Makefile_Build/build-mega2560/src/LCD_module.d deleted file mode 100644 index 2049798..0000000 --- a/SD_Makefile_Build/build-mega2560/src/LCD_module.d +++ /dev/null @@ -1,28 +0,0 @@ -build-mega2560/./src/LCD_module.o: src/LCD_module.cpp inc/LCD_module.h \ - inc/pin_layout.h /usr/share/arduino/libraries/SD/SD.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/SD/utility/SdFat.h \ - /usr/share/arduino/libraries/SD/utility/Sd2Card.h \ - /usr/share/arduino/libraries/SD/utility/Sd2PinMap.h \ - /usr/share/arduino/libraries/SD/utility/SdInfo.h \ - /usr/share/arduino/libraries/SD/utility/FatStructs.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/libraries/SD/utility/SdFatUtil.h inc/RFID_module.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ - inc/authorized_keys.h inc/RTC_module.h \ - /usr/share/arduino/libraries/Wire/Wire.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_Makefile_Build/build-mega2560/src/LCD_module.o b/SD_Makefile_Build/build-mega2560/src/LCD_module.o deleted file mode 100644 index 17de48ce7802106482d2d2acbe9d06817efccc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10388 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 diff --git a/SD_Makefile_Build/build-mega2560/src/RFID_module.d b/SD_Makefile_Build/build-mega2560/src/RFID_module.d deleted file mode 100644 index b7a9de8..0000000 --- a/SD_Makefile_Build/build-mega2560/src/RFID_module.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/./src/RFID_module.o: src/RFID_module.cpp inc/RFID_module.h \ - inc/pin_layout.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ - inc/authorized_keys.h diff --git a/SD_Makefile_Build/build-mega2560/src/RFID_module.o b/SD_Makefile_Build/build-mega2560/src/RFID_module.o deleted file mode 100644 index 4bff9475e088b5f9059a39f8421134c7ea844bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4280 zcmb7HU2GIp6u#4?6tGZO%D>Pe|A@jMM4v0vozNZl^#=6S^!a zDv8}9t-c6}i6QYtjK2BMghvu;d=O%YOw>d|Fo4uV3`zaI*}2`>ffhZ<-TR$;?)mPy zXYM^Sd$J+Ws3?k%qKI~p*Myi+D#W`mR+|&nixpy-c&xmg>B!7D|5&-0zMP&vbT&JG zcrg9`BIW+6OgXgj;Y?-$`US(MGYiqblSvyh&iA8@p1XDKrs5u|G`z-L<#zf}`j@hY z74uImAKa|I9$fA96)R)6vZLAD%)82&^rz{Y${*Rs*`of3Y2&3O=g+KC?&n9R_5W2c zI_F~{XeCD}aE?pt3O4T*^}z@N(6s^HPP}H^6?{C=~6r+Q;2Ja1y50;&)ILGkr zDjzCW6%utAN#mM{ZYZ&AU)C`08w@bNX02`yLxDix$$cX!>!1c zWyc5Z4crURQFdkw7$HjvCUsoRV6&BNSF4MNxtgP;YjF+8jl=PLs}}_aCGvi z-cVOWOR4dm=v32c+ZtQy)%K7UH@OmwksI)Ne3MiAa#3iZP^5dR5UQitSXAqZo``Un z!l~W5mePBY9&6K0@yi)rE~hdyTMxZ|)Fi*hTu8%@1Lcr86(>NCZzeDclRgdKXu z(myljmx_xH`(=lI#nQPmH}dzZ!~VBJFS8vnW^<)O_d4{Q4t<|P7iNu!CBi*j5l<+Y z6sp?Zsy3@?4&dq%v^6xDpsj9C>j4w#v80-c95V5VNGc(fr(L)FO)I#{Q`LiliBsMA z$xBM1#b>L)1(v6j-9md|tu3$>6j)efjrVz5Tl{{tS?kj4P#Eo&npQtbvYtr#Q@u$& z;meuxuL_@|{=#=lyPk^15Baf$-64`$16q4S+wOKeAN#Au_hem$eQP@c>e9NqYdRx` zqI?}-P)56zA+?~Ib65>0)I(i~POVGLRpb16^=7cP3AsvZx`YzRUe$aD=2Y|b#J3^O zXc4}vJm_B_o-G7a!8%xka?yz1Ys0K}Zcc>kM02yyK+OALl^6O>FEfY5^XN(}TnX%6 zlN;y#oz966*3=RUw*tEm)EnpzpcMhLKEGw*KJ-bnnal74NukZM@KIp*T8;{F0*yQ$ zpg)5~9>zW$&AlE!?AbP$(EMS{yw1FWjG34fd%DF>-x3R(^~%}{^F?3UnF9I}V@cDO zRh?_mmzY&k=7ANGzO&FX1@t9m-ncILSZnD^T!|)qR|C_R>#RkiFEO`A-v#KIXZjK| z&(hZmOka+(w$hiln&X(y^_egF5^qJ5zJQ{bn}Ept@EFMa5Hlz47x4pOOyr?34>F%T zGewK=T~7m~82JAPDfx`JE`_n%g*M7cG-4MO$Yk@@!NypgHII38t}FKdlWAkW&%!dk z?a-NPDKfqQ2AIbkmO;mBpZR0n`Gr6m^*%KFx^d`yzEULLF$~!G`fYqXf0FNWU_0L@ z&>4#q$;Wr4o$oC8czzfk-~`_lVEV{C{sz1pO$u#n*R5XWg@5_Dh7``B{D5X(_d6_h z31eKB`H=hIM<0D8-vuZlh%|H#L?CHXeO!Or(Blk8#hC=yebSi`uT?-D-uEIk$fqOPwsaNI%|X!sHVgmeBXet z85YLJ>nr)bwD@EkZUBi%B=HvxzQ?xsm~YAVwS%u51Xj5qotX>vqnKyEZ|gB{6%Cfa zY|76TAI}_x^Oz4QoX5s*d3kqf+lG0+OA_c3vWICxRwMBH7~olD<39NOc((0)<+wZ@ IHb=?#FMyJ?iU0rr diff --git a/SD_Makefile_Build/build-mega2560/src/RTC_module.d b/SD_Makefile_Build/build-mega2560/src/RTC_module.d deleted file mode 100644 index b8b3223..0000000 --- a/SD_Makefile_Build/build-mega2560/src/RTC_module.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/./src/RTC_module.o: src/RTC_module.cpp inc/RTC_module.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/libraries/Wire/Wire.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h diff --git a/SD_Makefile_Build/build-mega2560/src/RTC_module.o b/SD_Makefile_Build/build-mega2560/src/RTC_module.o deleted file mode 100644 index 3a0741ff11555b9990636ad220781d68293c58fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2920 zcma)8O>7%g5FW=N2`EV$r;xM(8h#{#s8)4;AmO)Z5)w*CqBsaB5>IP;l~}U9X1z;) zB%sF7rfJot^hbpj!~s!6F1;afK)G=4fg=*JI3d9$q6Z|ThHswVv)5ZnJ<`j3-^}dn zyti-0`EX+TLeuIR9rzTl8!chdT9$yp^!CNzF2;tmj&q zE!m!<@e#|c;EbJhm$ZW`DdU`Dp=eH9d0)cLWcbCmi~r6v(&m;wB3yH$h{Dw1cY}v% zJ1j3&teaaqfnV_PM}c4R@uz^F^YNhyX0W+6ioeyGg7q}kM2D#&Fyl)j_Sar-rxDPz`UV=WF;j8mr;k z>D3zELGy}pS@Lw}7sf=!PI_s}NaS)PL~Kq>2~h^92zBYGIA~%y0j>tH zwGSbs?ppYV$I;ab7%yYdi8RT^79wej#k3ta)1o{r7gR+u{|@(^3$=cVi%uVXkqvKxOO z237+e8idBorZDg@G|v#m*I6K`K|+V zz6LCoTUZ)1*LV%spYJO2@&33zz7IOz_rU&h=H#4Ti^e~}P*2>?b;fPf8TUt>aevnt z*N6=T_rbpvTJ(O~>x}C`96z(ym%#t4$v$5E%c}1(helw0oE=IuWUap;yM{roV{t3< X|0ew1_`9pBB`;+uyz$2-5tGmVRlmBG!ft&mxpjm=i)*|vqI3je)BoH_z4SlfZ(-(qd+n{t}g>q__n&~LPV6ZDhI)uu0++WdY$*r~&_J+z&*ahsQowSCCH zwRTxwHL}VpW?QtCzkUzzpjMvc7kOaw=KmO=Lw;!ggJ$hoqS>bj^0TX4m%$xomj}W!Kf7JgS%Q9gk7y z9vY=3ynu@(2bW(%{Zma#Oa-QGroiSu3ay%ITw=WF@yC!ew%-N)UdO7h)Yzi8@G4$l z+-7{7zX{8TdYbC*k@F@Od+xaJfldEROT-$Z+#eh^d{(@(+!AVE?OnIyb{-tMN3>2M zU&JTy^j;Pcty5r}60^;?AZCTzM*W`zOHJ`z;N;ZlRCyKNW8qEw1phgI3-)=VeJcEs zwTTvbOR&)GJR`8F_o#Ze2DP|b_156lfR<=$k~Of^Nf_tHxWP8dw#-&+6TL(n@xJp> zoRNi6KbHG%7{WW9{D%&4>THTN$DS7EkyG$c*L^%Td(uqN?^v6`e>U_+_>YHPOROdK zRX#E{F?K}ocvsRAz0e}`aYT#f+3QUozu|e|-8a;I(>05p6>Um3*}Y4&nK+8k#$+Rn zBaJXwOw5z*H4t`S(?ILcWj+<-SHKhbm&PBBVk-ih1-kN@FiI^LrI+}7sFS28_!RdA z!%}9=b{;I`wWV3RnjY0d27zpVey z`mk1xRb=x`*0un#+-x=H`)|dH$l5B*d(G+o3kBL-<76Catcc?sCPZT#?|hr{R$5J; z;paJPBkmGE8T^XtfAA_}tC6>M@y~*q-pp!Fwy&;7i^ zHmk!>X)TD&zn``B(DxMXmHTe*pAWxAo#bEC5{Kb?D`z~ZkNgZpN76oN57T` zearXU8oJVRbLi)u*Fxh>VJ3U~yLd(Y-g?%`JJO8vjR*Kh_&+_(D1FE_w)wv1Ojt_v zu$UuH@Yo}>+>;T#BUatdJ86Ehwxaf8n_ClOx@J4tapTLz5ytVxqbPF>`ac)SZ2B2% zOY@u`y7@lR@8adQMq8zS^AO&Vvv>Vo-on}lBeyuOuF}{nl+S@5qNud%4GkkV);PpuH{^ zd9~;MP~MX7u{Fe(N4Y(yms@l%pW&9RKg!SWdgEbZVDnqNI&i=90aJ~l*Rt+W%-7z% zlXHL)kgX#W$N5KvCottj@JzSGdV3FKgrnS#$GA<>_mA)v-yL{FXqniGdwF`mLY*U| z{xN9HrdG($w|DtK>$P(AlXpOYO?T^GQ~5-!>gBP+ZE?1dd|JSxy6}iG5m5mT>cZW| z=%0=_)^sL{_H_GVn~L|FPRAZCe%f>{_FVDnCS&m~)0?zP3_Uc6MtK27`ER!Ou(SDx zE!HDmpXxSO?~xrk)8H{Xq{di{9iZA8t^63D=KkogmwCSX)?tpurWMZ!dXBur3*C1J z8m}2?FX<2|@KNW1kdE=pz{SpXq}TgF>ZvhshqL20iLHK#uMT`n&^X@@QcsNoA)(cF zq&M2133?s-o4XzNJ6l(1j~dx(-(4)>5AaN$Xo)p-ReV!HYfKbR4Vvrn8!nzA#5HE3 zX{5=YkFni@G5s#$?@d>t%43bi^(IZRhw0ZC|90bb^KSnm!qb#|;05D3vv=z`%L}Hj zj5mynnVv`{rTxJ+i1_g~kl5U`56)W;y?YFdBD*{R?3w>ks=EyurB7oFBZ^l{AjD ze--qj%Te1XScA1i4zO2qG(UCCx7%Y)#2GKY&mOB;SnbI|qECsv7k68Ki@Fk}wKZcd z5$}Pg9PPjEY|nHjtA*NY_E{QCi?M2uU+7J)riXj&=mVSS2}NsR7yr()JM@<6ThmwN zH_E^B=nlb}=(bQ#BPuj(r*+`x!rFX)c~bcZxA6*{C%JtO*(zy$Q{Gknt?`zT zF!SBEDzrtr5Z=oI9(myN9&d!$>wHc=v;GGj-+JBB zZh|FX`!&YxMtU~WelI_8t26E3m-8~oqHhZR*j|3UQnVvI;Y3;QlkUI9F6;yGD(7x6P?0G#w5lxMN{rqG1p_Nd|Pq4Zi%);C-9n>eKChl>^`yd z{uqBnuqviCC8rS`$e5& zOOF*D+j5GYAw!^3?YiH!;MBHLb*B!V`mOI@VJX%odwFzya{bKutS4zD`1bg%p~sNYuKW0!_)4Rs9%8|usl&CamZ)2^?()>#f(p0ixA9O1HsV=akw z8Fh>52y+m$Xe4HuvMdFbZI)5K5A?F=$oh%(Q|p)1lSNZ`g~wj(6V7rPuj%Hc!dkrc z#Lg2VJjaL9-hlRfGtF5w1vT4hDm|M+Plmn{T4y?Fdd_sgMB`UuK45;!qhWr>3 zIdlR%lKekIWjnGBpBI7iZ+{Z+mGaAElW4 z;z~XW_hz>$zLnN3`R>Jjzpz)hU!Xe&TEpoK79T~s0=)iwT^`_*Bz zc8@eqG>7@e<1UIUW+~o(Uk&aa#<;Pzugo{h*KUq)vENyI>Hg!e&)u&LOK2RAJ6mzx z7SBa3oJN@D2BFXsfSwUgnO`$|x4dR~%EHivq>s-CJ+-qHp(_h-quJSA#2Y$?tVvSzLSrL-PdoKC%;dVU|8(D;n`ytMZbEl3un{qG6kWR5!!j0@2; zzsMWuhP}Q0y`YbACg^T|A?OVkdNQSY%!MuOSh9~s{mbpSgx}AX;O3Eb7UNaB3cD4@ z2>v*+k3W9ydri0x&{qXlku^`dzdDT02|YUy%U2ef`J!i%4V0E8p6=7`u{AeannwYh zP99%+{umlp-q$lT%!|xx%-hW?+&2oRhHuPW=J=K_%Qv_6%72X&V-#L_*iwI2UfJ88 zxARJ}CV3t8)sct(8Xl^&B3VYX;&bK;cjTS*=EJx3PCJ(DoiYCs@BH_zmgAZRUM=JP z&8y{|?lspaJoE8}+J<1h$dq9UHF=nBR$Q+59iBQ_Ez_+_tP5LHhRzWNMas8zBUj_ZA%M@FL4{Kv>H+VuzlXY}!p0(6EGWd7= z74%rN;thVUHNiTuZe(2-&uc7g?Bb(a(i-Di60Av<(JdE2&1;-$OpRk5yQ18%f7`D! zM-QUZb-$$=D_>w$Ko#u|$!BC|`D^CILG3ly z>uFu;s{5wS9KFjux+b~imwx{Vt67S9=dU<#`Ksnd4ed;t8k2bI0AotKZ1o7y_|gc` zF7u2uM*H1Hxjld}5}&t8#sv2ylL@ojZY_B&TXR=yS!`oq)7_Sk-!#kbF6q72Wj-Rd zx_-a#?u50ihTlfj>^2`UC))0j{Nspaw`EwBzKXT2C9iJVT|@V-Nj1C7hs;xK36d6# z1ib@s>L6W0_|lfFK=``)r)phIV9gA3wz<%}!~9OQc&`*C;QU~Vm2|~65Jpr@7a!O1 znU%0&6i9MAp5@cBvuDDut-1aT?TUx)=K^(ur&-6vCIpiwpJ;rk@tSSYktf{F=)EJZ zLXu!5%`xc1->@!R#k}~;Dz@TNsg^^QUGVFxd~8dab!p9fXcpG|J+{O4ndg;Z58u4e zyza;cyy(b_@U&^>N6nd@i$iHunBku-_1@m@b&7WPX93nmx1{pBtZsZ0@V@XR0=*g9 zXjx%dV3{JkC8{(xn@Lt>Zbh1dw&&Qo_=-A`ZKzvbx4v$fKvO!mE>)mc3cuzW(pe?Y z<@MJ3oT2Nn=3;l=NmzsNzKVA00^Qnbsj{qZSk`dox4(Icwf+*|Y@CI#}@D{F%#-ni;cf~FLb>3;c zX~C1B@nBhq%EBFoU_X_ZRL?sW87}Yd7 zDlH6U;)!`T2HX(XP9QSxRsrA@xG$m--?shE?!r2uts=G z+qu1NO-t}s-%*63@({NjZ#YQlozT|(Q3 ztnHB&J?t{Cw+>;Q zzr(F7Yoik4D6qD9Ez_*?S_5n;M|$g#|BxLqF9iQ4y)4^gl@@QMUeKFX>SejnYK#n? z;3~8o9-4QTYw$laON3iP?1e5=Joo=)meBVnfvo`+Pm}yD%I#;$RPJdEFgu80suNX>wU(-qs`aL2rVOkN z|H0qqDJ{xpZSU{?=zETae!iL%TTorIzvk&0s<*$|j#}i}&JS1{)iv;&yF=#P<~5bu zD;p~JRnzmHzOZC%D}?)XIzi~nfx^88>s*L6GK-&WI@Lt+Ow=^vqelADaU-ub?l;ms zDCtreIVZO#C&*lF-ft!w(z&C;b8o1V&Fe^cpw-zs;sP&PS~l~q+`W;7VLfl9Z*(pmIwOo@jj8@~Atz6wdvT+Uc-B#FBY!g0 zS2pBg7ekczOS@L1t*PGXEo+D^Aql?aLMiokdAs;Gd^IQQ(bqZGIr;y6xW)Wa^RI<3 zuiiOS%-=oK;dTkpJL1=Z=5@Zep`ro1nvPSPo=EB*Qm@o9U2_<|l;{%nNb+|~q(|*0 z{?1zVj^}@e{_nM@?2S*_ul;oMR=FX}OXs8!KUYp(Jach!@|u}zlJ&{kll1{fJCg$R z3wA8f>z9@-)w6)40M`A*ufFJJ0TD#~^^5Mf^ofH#MvUA#a)hC5(4Zmsxp&f{q%V>d zl_l%-I-OphT;>~I7Vev!&9buxJD2e?wz8&q^)d=gN4t+U>6~^t>Ab>rq7}MPRAQ7) z7vhEB7J|RH#N@=d!5+yTgYjuJg>1wj`138pU&N@gQ9k$lOt)hBxQs`_W-;9mEo1ud z6vk4*^=y>BjKGq0I#ymB$8;1JTege|9ZsH|F*%u~mKj({Mn=Yz;VBu@#{~HLlzH7Z zdGh25NtqcL@hQW-orjD=?zkx#86!g&^F`%`1pMfH!&7`Ipdw$LhA(s;oSgFL!Wr9r zynVKpQHkV~l$7u?{3H{bQs(UJ%pse-p$x4kV<}}REXUHF<3#8NrX8YVVe{r~F_cB7r6ne&rKLsUC$cPY-n@AMOt;fn6L9?a!7XJv zC#NkeZHEEvGd#%3ydu+JPMB#s>e#ZKa;a=$S3pEW0L3nn>C%A`;p8+aEh5Qa2-~hl z`}9eMI73oeBoL-GHa2cgTQP518qIx{^zZemKx@NE-Q4Pjf@p(mc$ z@nC9d>Vpr$N)IMQbVo#_@632;<^8c;vG;d7kNhF5t$L@k7EoK!^0XZ(ap~!qqZ18= z@NI0Hi%ZE4_rUlaBSwyljl|E$5pn6$4Pl9bv*9N(*6ZzOUyJpMOt`_=W8^rae8a=> zqnpq0_cZ-=&&MC^(aqrX-3(quR5$DP^6K#F0NVxGHDu$zZeQO{r!HS#f3Hw4{1=Mc zP%74e@(dyp66-~HLZN(4`gVh7aHW-4HY31!fpy36p%s{(A}OC;53P8U74Ag2|G2K!GkqB@s~S4BPACZ zNlu2HVIg58)a*a;#fkm;Q5mE3(@J>Bw7AUa)8pdOx1`6NU%qI{gUJ|1wiEx>V&^Cd zX=&MMX@=REX$C`D=4=Bh<62ue>ecDitkI4085c2bu&1*p7LR}cG{wt{#TmNs4>dwL z4`G4B{C!vw0=4qr7ao4-p^0IU56_rCGAtoxLdRX=#a==F3!R-j-4p zvm&Q7hs7-4uz|&tSX#2zpa;Hk3Xh*L^3->9)|BgKzdQIfM+-P$`UpltB~1rk@@QG?^-NN;X#NnYN%$uQVJh}2}+ zT>XzkBB|ZpQt@L7)@{lwDNQTbP+XX^b#lJC?l|~TZqB+*IUC|95TwEddN(rOt~hRB zO$Fq@{Z>K_tl7);uTM4Np?{xtB(K9CiDlf|A@qVJZzg zI`QM|+Ua?P#d#&U1@6XCrNzVDp@T{ z`Gn|SZ6T=*e%ZBH)c7yaeFMCRLeW?B;?MrTGI4_qhDL zf>rsYN{#pl$_+?%>c-O2qIFnc`#6Imz4*9-bp@qjnaQ(ydmv3Dgjuh8NYht zhSIw$GMb9a$t%puaafJwiH-5>yQ(Sj(}eMsy((UjGXajBx^d-7JQDkOgz`!6um+`q zstRRR?>dT0idL=7TPy6Cu|vidS=k&~dwX^>lPA#jrLY8RF^jp|a+u^B(E#+|ra*<||t1AXnL67L!}Fc5NQ5DXU6~HWoWN$cUFaVvZBLBA&}6MJ;pc zRYc1MsrbRn2a@C->6Pwa&<`s32+)%hd^G3>6#V!enusgi58>C|CUtv;^wQQcXBF?F z;$2m|n~HZ=@g6GPQ^k9$_@Alxp(@@_#nVaC9<(gb&VbUgAT~>q;5rI+C}!Jw@kJ6R zCR(Of@wkXm1T70waD*SO;%Rj3LCZ$i8Bkglsp3be_$U=0qvGRKJWjBRpq2iw2eL@Z z#>u3RYFVO+pQz${pU<@lPb5VxGqB@w3Aiq2>t#+zwJcS|r>XeKDt?NJe^|w5sQ643 zKUKv~Q}NSP{0tQ@dxt32vN@{!c`AOsiho4KFHrFdRs3QV|EP-3R`JVJe2$9GRq=T$ z9{)28MbNSW1xMq#TE!Qt_;o5?Jzsh+f!aR)P@*bds^aPY!eI|uw#CkX(kfOi%Fr^6 zDqqWiW-qK=7D~AtrWr@9bHojpSP1Koc(BY1@tVZbO!Q%4%n#T06lmq~!TL2`;!_1a zg3XY4TB(M!5|*RN-y-qLfa`L+;A2ykF_u{9pFkFaI z5cMBsDZTg%mfMTZWK|MRi4U8~PW9ravETIKr?bCHe3YO+1Mg+1HpWH>?VrUGC4QX1 z&tW?xUTp6?wyzgIpS{$Je}w&B#eXO9m8ipqEnv|EBn29eu@YYh+J`M8{*|<+8OBPtSQDmd7e2 zJ`((JR?7BDJXpbh4yg2Bka%%@SjB#&(tlf(e@Wu0nLb!wuS-0wd_GuTJ*XoHV*Q&~ zn8eHZ<0M|JuaHeu@yjG$#9zmDNIYSZz4xg26Dpo5Pl++P#l?6xICoZdy6}<^1ilL- z$(+d#3&fn1>9ZCIRO#B{?2^1y0=+G-q)29NzpOvbKXZyd1u}y)8R$=09pgJM|~yU7pC`Rc%OXX4oqIMx-YaNHAlXw(i85TZ;K{gHuqI?e8b#Fug|q| zAB~>7@xd11iwXai0o=nLt;f(sglP1@%SoZ8aR(U3EF^pq;8~ z;XbwWTnP8cadZpZM=5^btKZw}-@$z^KvcuibJN>5%YMg8bvwH4#2O?Hn8VEY0W$CK zz89~)*X0&(6`aCR9r1U1+1p>cl%R{SKaCMtEaxmB}K)fNxWMXo*4=$Tbol@SR{5-A$};Hu6k7n!sY8qyr=Gy zA&<5Kq1SaR0VyAVinb`l0~LQZE9tq)^!E`bv``mx=$tY_A&&!1I0;BcE97*a zLGpP>4H8|9G)T8Tbo+QbsEI||IN~F{; zqN)9lNc29WD-a2j=t>1mXE)6-ajb;)fQFhlzM!csNsIgL9-p91_K2slut z{BT4qXlgI{hOCnaS|jNgK$8xQofpYN84E)y*hiuVgCD$>32!C{e~3g!fYuHdePM(| zMe^dFLZgod#nB-#V>AObv<{S-0*2aP2R0S7eUY(mt4-iCAwq89X9D7#&v zcOxaAARQah&m?*jbYc)mUW#;!L|;I95s`4#LAQeR?-9qS60{cdCgfL3^iiZgmvmep zr*@NmK2pLJ^pU>|(Fbx0zL5I>p8~Z(rZW}vA_d(BJ-O_M3Rt`3r*-B7YvD z26Pru@+&Rq%UUMf(h^+-S+S%;?XOkPuSv8Q>c1$_A0VZA3G;KLA4@dZlKM-Sr-45M zH0eBo^d*Tthx9BW=@e=hdmFS5eM*Y(nSxG09+fp9U5!ZkFCu?1a7pfhREH?n6$Dzw ziBr(Uphev9;iBtM7r9Z7x}sW5+`L;V;`^@8r{dz7N@plhKc^c}Pxbe{mP0Zrwe zmgpCeQr%j}d+G&E^?_Nk08RP_kUlTbUJbQ{w1h@?+6wUcPtx6u0K zJd1>)&$vi5tp!w;Y$@zjK&OGGHI&LGA{~cFI;)YUN_06=x<4nK-AI>8^d_XGh(gV6eJSZ*M*6j+ zZ-e|hN&Y9KG`9(p=<5o4BDEFrVx-Fz^v@;wEK=GZkj_P<^eiL#9i$&f^oK}4Mx=HU z{$&L{80{wgAf(|EO?w_;p96U(=tM*+OLP(<>F+~I&qbm$kxoG*ory@(CHgg_S%{=V z{$Hw~$zMrM^Fx>ypkD&rf+*YbSxM(bq~{d!3zGa#Na-CR;Sep13mm*>TtLr(+(z~U zO+NK0q82pGR~jdh)0og0k^D=@X`D#jft1FGmx~i3F+sEavN?)^j}bqFZCVzkx1#?E71u^Mx=grwY0p{qbqU4+4#&Oye=hw5f_S8fZ*O;hd-eJq>iGq%#BQ zN<<%;ya?rpKKBwO?h{D=G-w(>!lZH2!=65SK_Ce0z(ZnP0pK+f9j>59OY}ITgNdGk zJ(5Ig9~RFd#1rj<)DO`o3_l1#h=UJ^=Mg>VArc(}T9YoG9Sop-9>)&?^^N3Yj}?gW zIS6DAjs~=h;{{riA=L@m=P-T{`n2Jwq74$A2tB#pG|-x<;@)Hl$qVo!g~5`(P_IM_ z^`fytJ;~ZsNP%oVhy(~^^FaiFK+nfP(kEGAMEl|gAslg#^l4TE(FBY@ zE;R`M;EBS3{lfX3!vD#B;oME(f7CBB9>V|0e$ike^w%#j_x8Vua6si(d)OWb_Y&KX zu0^DAr>NFTf{c8c^f0CS)k{<8Ve0hg1%t*iB&;V$gn3V?94L>%a73c9tP25Cu2+!t z?t_%tb346w=ujD&n-mCdjtl}?CZj-8zYT~KKAX!}8&c};5Jbv@>DWRZN5@t~XwVcL^C69N^L3MOp6we6IviPmt@aQt2Ip-se49_VyW}r)*y& zK9TH#9@!-bQEuN0D!dAGybbwskn4R~g%|M%V~tQEJX&65y#G?+rDBrJkin43cps|p zUIJb^@(GWYL>Z6nnv`~F1YR2Q7p^z#D~pImmeTL66E9 zq>My-LMr=JIAk(jmJ06{@KU8Rl*o8qmEG6pH57-h05K`w%(EWRePRJMd_` zM|d%aGG3_)uNWJ;02u^&GFha;dlq;B5+32oc&Ai&)mZe-B3}+N-cc3aMMZyUA1~wm zMTM7)JtBRRDF+$vk1D(mfJgTb)ZYX|8P6T-36+ukCCLvqmq8$xNged4i~*5C7apKn zkP_ZFL>X_A3U9kV6Yj8}A_N(4q6)8ck@&8L@DdSayb=}OI{`RP$so{^$+arH>%f!S zH&KCiOoitYgma_}qQE<>!Yf{EZy&8Qa{K^%I34siPK9S!YWJ5^1>SrWUO>1wFQFm? z8G4&aF9Ld4+IoVl_oPZMsvo^~ReA~i)cZE{df6r0zHU5>+U0TURN)!=!P8@XSB}TD ze)J}*^s=CbDtdz4-$Iq%(th-sRC+7=(R)>;w;Fo1KFUF^m%b-f+GPvuBCmflpe)jQPuV_04(??nyg3TI zA{E|0A|3lxqe|~aKYBk`>CyWrh&D(Pti zG~D0!qi0g-o$p8Qb(P*l=qdjhsce@&%X(797jcmhDYbzTS?>?fQ}*`*^!Fp=ll{ov za(}O>@Gkd*_YW1`X*iRNSE|4p>L#{9Belih-IS}UR(yo7fZgsUai4S z*b%_ew@CN{iXtiFvnCO~3b3Ise6T^9f(3CDg=3*RnrQc}Aj{1O;Lc1X{epc=-o+~I zTuyhhe3SUX^4r8$mfs~lv;5(dC1kn0Yi9a8PX!pg1jDCzELZ@}`(1v+c?q2odM&Sj z-t}Ggu^PM&;&DrsKczN&X%)!R@k wgX}A{PSUjq(Iy>BP)pAzqy2*)9i@x>zHvknDQrbn%w<^wRZy0mS7*F8}}l diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d b/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d deleted file mode 100644 index 8180c89..0000000 --- a/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.d +++ /dev/null @@ -1,19 +0,0 @@ -build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o: \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.cpp \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_ST3775/Adafruit_ST7735.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/Adafruit_GFX.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Adafruit_GFX/gfxfont.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/wiring_private.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o b/SD_Makefile_Build/build-mega2560/userlibs/Adafruit_ST3775/Adafruit_ST7735.o deleted file mode 100644 index f9b07ec9597f4bd35ccd7315d4d428f81fb10588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13076 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

$pC&o{n?qYclll-`t3_zHBh`4T3)1 zALl#tJ!9xAgFfC*=%DTUgP|`A`o@C9{+NiU+xw}ZF93a0v@)bx-#$a%Du=$w4t-}} zzOoGHcF4rxaJIrsw7yfobN0tu(8qfa+IIn>wr{ebuL1f_!gU?AzVU{>_8UU}n+mel z_Zvgsol*2HH1u_G=+kF^_Rn30zNers(s}$gLtih4zKb08y=CZo5BmD+#v;}2ea+C9 z?$CF!L*Ms?zW+jBbp(B18T!tKK7GEr#G$V@2CuV!D{**!CW5~1;5qwu8uaP?=u(G1 z{u@0`ed##-M>^l<8v2$&UoYt4c*%3UZZ3yqx}LEkPz-;dB&jLK-A-=VL|vElyP3Vo60 z$FIP1_D9jikpJd6^qptudj$F_BiJ|G(6QO?lAPVHsM^X_Vf85>;Bzm=$q6T_prREg4Va&(AO2uo8H5m zp?&3uTHiU?%veURf7O^ok@m}>;5qx_(ALoX^c4<$HyQdqfWG0{DDX7gV(8m)GoCT2 z_EtIc{l(DN@zluo`|lb05^ux4h05681rB{D;QT`yP?a5aKp%!oFzEb5@SN@Kczfvl zvIuPLzYCN;?Z4Nd??6ynsJ#;meM_NFuUCs5`j#8|9>L8lpKI!%VU3}$3Htau2e$V& zh}ymfl|J3BS-6>vG~b>v>a7It3tbuXY4``D-qO2ZpQ`sNN4=jK`sU!K7h7g9Xnp$( zeVy->=To+$22r=;BrHxWqucQX^r6~d(E9oryf4Aa4zfb+INRW5dL!?HiwxfQD7@br zyaMogMX2`^gSP^_p%Hke;2h^{?=#??9Dz64;JpuCr00ao4c?dFWkt~Uq`}MRF24`b zRPE<44c>3T%g`jGns+A7XT-YSwu6@xftPRao(3;c|K4QqTEI(*pzkjR?{n~Aaxhp5 zod{!ywSC`#H$KP;wc`SVm(wG1JFYQ!Q^1SVj#mucbnqgz;~1P*oc7g%7pWcD25&uh zGb6O)HwNzjcnJ}B&l|kYz>Cz5V>^Z0_s=N2T!VKgO1;+_ynjW}_p!nI3cN`3<4i2> zPXD#<8UB3(uQ6O^@J)hJN4y9(bs733ZwA8F?fFPToKxF z2{tKby~W@~>fdJ#-qqkmTK{^Yuv6a+QR-c3@V0^%$^kw5*SJQ(L6XT2waha*EUXnji!o;QlV=M7#D@LWM{vM!2=7(~u`&jc^hJfC3j zeBhlOLEmbFcR6@D5qK{dyzSscTJQM|5vP4mf){DLWEs2{qVRre@Lr3;+hOqD1us&6 zd}HuF1`ks|7<9j7o)O-Te}fmPy$cMUI8%O4p%rR2nMb16N8rtp7Z`q z^ZKC@V!ft}1kV@L7HV&~!K(rfQ!p5`zDEt-hA8&^VDRn%FVeWr#`@{B?-}rTKd6JQ zccsDm06g5<2ZQFlX7F}{mlb4%+WVcs>((bSZvZ;oX zdb$C;cA#k6KfgEh+~-5&^BU*hJxX6XFvF+NXO08fk7Huk`u+oWe?VCswEvuK<+Vp9 h;Q1dqZa1)ni>wz%V%zsFq&n=&7vcr1B|2z*{~x+mP+tH5 diff --git a/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d b/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d deleted file mode 100644 index a03fd6c..0000000 --- a/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o: \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522Extended.cpp \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522Extended.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/MFRC522/src/MFRC522.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/SPI/SPI.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o b/SD_Makefile_Build/build-mega2560/userlibs/MFRC522/src/MFRC522Extended.o deleted file mode 100644 index dfedb2e4bbf16186ba84e6a758673737972e50e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18256 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 diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d b/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d deleted file mode 100644 index d911ae6..0000000 --- a/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.d +++ /dev/null @@ -1,15 +0,0 @@ -build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o: \ - /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp \ - /usr/share/arduino/libraries/Wire/Wire.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Print.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WString.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Printable.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/new.h \ - /home/rocadura/Documents/Arduino/ACTR/libs/Sodaq_DS3231/src/Sodaq_DS3231.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Arduino.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/binary.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/WCharacter.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/HardwareSerial.h \ - /usr/share/arduino/hardware/arduino//cores/arduino/Stream.h \ - /usr/share/arduino/hardware/arduino//variants/mega/pins_arduino.h diff --git a/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o b/SD_Makefile_Build/build-mega2560/userlibs/Sodaq_DS3231/src/Sodaq_DS3231.o deleted file mode 100644 index a1619aa709e544eab15826b751f1f19f1b4ffd28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10876 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 Lpxeo)3iJIRRgT@{ From 1b4376cfc86122a3e263ca0a034eac1d3c885747 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:00:56 +0200 Subject: [PATCH 16/35] Relocation --- .../SD_Makefile_Build}/Makefile | 0 .../SD_Makefile_Build}/README.md | 0 .../SD_Makefile_Build}/UNLICENSE | 0 .../SD_Makefile_Build}/acces_control.ino | 0 .../SD_Makefile_Build}/inc/LCD_module.h | 0 .../SD_Makefile_Build}/inc/RFID_module.h | 0 .../SD_Makefile_Build}/inc/RTC_module.h | 0 .../SD_Makefile_Build}/inc/authorized_keys.h | 0 .../SD_Makefile_Build}/inc/pin_layout.h | 0 .../libs/Adafruit_GFX/Adafruit_GFX.cpp | 0 .../libs/Adafruit_GFX/Adafruit_GFX.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/Org_01.h | 0 .../libs/Adafruit_GFX/Fonts/Picopixel.h | 0 .../libs/Adafruit_GFX/Fonts/TomThumb.h | 0 .../SD_Makefile_Build}/libs/Adafruit_GFX/README.md | 0 .../libs/Adafruit_GFX/fontconvert/Makefile | 0 .../libs/Adafruit_GFX/fontconvert/fontconvert.c | 0 .../Adafruit_GFX/fontconvert/fontconvert_win.md | 0 .../libs/Adafruit_GFX/fontconvert/makefonts.sh | 0 .../SD_Makefile_Build}/libs/Adafruit_GFX/gfxfont.h | 0 .../SD_Makefile_Build}/libs/Adafruit_GFX/glcdfont.c | 0 .../libs/Adafruit_GFX/library.properties | 0 .../libs/Adafruit_GFX/license.txt | 0 .../libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md | 0 .../.github/PULL_REQUEST_TEMPLATE.md | 0 .../libs/Adafruit_ST3775/Adafruit_ST7735.cpp | 0 .../libs/Adafruit_ST3775/Adafruit_ST7735.h | 0 .../libs/Adafruit_ST3775/README.txt | 0 .../examples/graphicstest/graphicstest.ino | 0 .../examples/rotationtest/rotationtest.ino | 0 .../examples/shieldtest/shieldtest.ino | 0 .../soft_spitftbitmap/soft_spitftbitmap.ino | 0 .../examples/spitftbitmap/spitftbitmap.ino | 0 .../libs/Adafruit_ST3775/library.properties | 0 .../libs/MFRC522/.github/CONTRIBUTING.md | 0 .../libs/MFRC522/.github/ISSUE_TEMPLATE.md | 0 .../SD_Makefile_Build}/libs/MFRC522/.gitignore | 0 .../SD_Makefile_Build}/libs/MFRC522/.travis.yml | 0 .../SD_Makefile_Build}/libs/MFRC522/Makefile | 0 .../SD_Makefile_Build}/libs/MFRC522/README.rst | 0 .../SD_Makefile_Build}/libs/MFRC522/UNLICENSE | 0 .../SD_Makefile_Build}/libs/MFRC522/changes.txt | 0 .../doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz | Bin .../doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png | Bin .../doc/fritzing/RFID-RC522 - Pin Layout.png | Bin .../libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz | Bin .../libs/MFRC522/doc/fritzing/RFID-RC522-v2.png | Bin .../libs/MFRC522/doc/rfidmifare.doc | Bin .../libs/MFRC522/doc/rfidmifare.pdf | Bin .../examples/AccessControl/AccessControl.ino | 0 .../libs/MFRC522/examples/ChangeUID/ChangeUID.ino | 0 .../libs/MFRC522/examples/DumpInfo/DumpInfo.ino | 0 .../examples/FixBrickedUID/FixBrickedUID.ino | 0 .../MifareClassicValueBlock.ino | 0 .../examples/MinimalInterrupt/MinimalInterrupt.ino | 0 .../MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino | 0 .../MFRC522/examples/RFID-Cloner/RFID-Cloner.ino | 0 .../MFRC522/examples/ReadAndWrite/ReadAndWrite.ino | 0 .../libs/MFRC522/examples/ReadNUID/ReadNUID.ino | 0 .../ReadUidMultiReader/ReadUidMultiReader.ino | 0 .../examples/firmware_check/firmware_check.ino | 0 .../rfid_default_keys/rfid_default_keys.ino | 0 .../rfid_read_personal_data.ino | 0 .../rfid_write_personal_data.ino | 0 .../SD_Makefile_Build}/libs/MFRC522/keywords.txt | 0 .../SD_Makefile_Build}/libs/MFRC522/library.json | 0 .../libs/MFRC522/library.properties | 0 .../SD_Makefile_Build}/libs/MFRC522/src/MFRC522.cpp | 0 .../SD_Makefile_Build}/libs/MFRC522/src/MFRC522.h | 0 .../libs/MFRC522/src/MFRC522Extended.cpp | 0 .../libs/MFRC522/src/MFRC522Extended.h | 0 .../SD_Makefile_Build}/libs/SPI | 0 .../SD_Makefile_Build}/libs/Sodaq_DS3231/.gitignore | 0 .../SD_Makefile_Build}/libs/Sodaq_DS3231/README.md | 0 .../libs/Sodaq_DS3231/examples/adjust/adjust.pde | 0 .../Sodaq_DS3231/examples/interrupts/interrupts.pde | 0 .../libs/Sodaq_DS3231/examples/now/now.pde | 0 .../examples/temperature/temperature.pde | 0 .../libs/Sodaq_DS3231/keywords.txt | 0 .../libs/Sodaq_DS3231/library.properties | 0 .../libs/Sodaq_DS3231/make-zip.sh | 0 .../libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp | 0 .../libs/Sodaq_DS3231/src/Sodaq_DS3231.h | 0 .../SD_Makefile_Build}/src/LCD_module.cpp | 0 .../SD_Makefile_Build}/src/RFID_module.cpp | 0 .../SD_Makefile_Build}/src/RTC_module.cpp | 0 134 files changed, 0 insertions(+), 0 deletions(-) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/Makefile (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/README.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/UNLICENSE (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/acces_control.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/inc/LCD_module.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/inc/RFID_module.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/inc/RTC_module.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/inc/authorized_keys.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/inc/pin_layout.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Adafruit_GFX.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Adafruit_GFX.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/Org_01.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/Picopixel.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/Fonts/TomThumb.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/README.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/fontconvert/Makefile (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/fontconvert/fontconvert.c (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/fontconvert/fontconvert_win.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/fontconvert/makefonts.sh (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/gfxfont.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/glcdfont.c (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/library.properties (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_GFX/license.txt (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/Adafruit_ST7735.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/Adafruit_ST7735.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/README.txt (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Adafruit_ST3775/library.properties (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/.github/CONTRIBUTING.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/.github/ISSUE_TEMPLATE.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/.gitignore (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/.travis.yml (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/Makefile (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/README.rst (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/UNLICENSE (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/changes.txt (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/rfidmifare.doc (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/doc/rfidmifare.pdf (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/AccessControl/AccessControl.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/ChangeUID/ChangeUID.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/DumpInfo/DumpInfo.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/ReadNUID/ReadNUID.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/firmware_check/firmware_check.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/keywords.txt (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/library.json (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/library.properties (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/src/MFRC522.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/src/MFRC522.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/src/MFRC522Extended.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/MFRC522/src/MFRC522Extended.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/SPI (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/.gitignore (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/README.md (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/examples/adjust/adjust.pde (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/examples/now/now.pde (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/examples/temperature/temperature.pde (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/keywords.txt (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/library.properties (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/make-zip.sh (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/libs/Sodaq_DS3231/src/Sodaq_DS3231.h (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/src/LCD_module.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/src/RFID_module.cpp (100%) rename {SD_Makefile_Build => SD_v2/SD_Makefile_Build}/src/RTC_module.cpp (100%) diff --git a/SD_Makefile_Build/Makefile b/SD_v2/SD_Makefile_Build/Makefile similarity index 100% rename from SD_Makefile_Build/Makefile rename to SD_v2/SD_Makefile_Build/Makefile diff --git a/SD_Makefile_Build/README.md b/SD_v2/SD_Makefile_Build/README.md similarity index 100% rename from SD_Makefile_Build/README.md rename to SD_v2/SD_Makefile_Build/README.md diff --git a/SD_Makefile_Build/UNLICENSE b/SD_v2/SD_Makefile_Build/UNLICENSE similarity index 100% rename from SD_Makefile_Build/UNLICENSE rename to SD_v2/SD_Makefile_Build/UNLICENSE diff --git a/SD_Makefile_Build/acces_control.ino b/SD_v2/SD_Makefile_Build/acces_control.ino similarity index 100% rename from SD_Makefile_Build/acces_control.ino rename to SD_v2/SD_Makefile_Build/acces_control.ino diff --git a/SD_Makefile_Build/inc/LCD_module.h b/SD_v2/SD_Makefile_Build/inc/LCD_module.h similarity index 100% rename from SD_Makefile_Build/inc/LCD_module.h rename to SD_v2/SD_Makefile_Build/inc/LCD_module.h diff --git a/SD_Makefile_Build/inc/RFID_module.h b/SD_v2/SD_Makefile_Build/inc/RFID_module.h similarity index 100% rename from SD_Makefile_Build/inc/RFID_module.h rename to SD_v2/SD_Makefile_Build/inc/RFID_module.h diff --git a/SD_Makefile_Build/inc/RTC_module.h b/SD_v2/SD_Makefile_Build/inc/RTC_module.h similarity index 100% rename from SD_Makefile_Build/inc/RTC_module.h rename to SD_v2/SD_Makefile_Build/inc/RTC_module.h diff --git a/SD_Makefile_Build/inc/authorized_keys.h b/SD_v2/SD_Makefile_Build/inc/authorized_keys.h similarity index 100% rename from SD_Makefile_Build/inc/authorized_keys.h rename to SD_v2/SD_Makefile_Build/inc/authorized_keys.h diff --git a/SD_Makefile_Build/inc/pin_layout.h b/SD_v2/SD_Makefile_Build/inc/pin_layout.h similarity index 100% rename from SD_Makefile_Build/inc/pin_layout.h rename to SD_v2/SD_Makefile_Build/inc/pin_layout.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/README.md b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/README.md similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/README.md rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/README.md diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/library.properties b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/library.properties similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/library.properties rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/library.properties diff --git a/SD_Makefile_Build/libs/Adafruit_GFX/license.txt b/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/license.txt similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_GFX/license.txt rename to SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/license.txt diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/README.txt rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino diff --git a/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties b/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties similarity index 100% rename from SD_Makefile_Build/libs/Adafruit_ST3775/library.properties rename to SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties diff --git a/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md b/SD_v2/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md rename to SD_v2/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md diff --git a/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md b/SD_v2/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md rename to SD_v2/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md diff --git a/SD_Makefile_Build/libs/MFRC522/.gitignore b/SD_v2/SD_Makefile_Build/libs/MFRC522/.gitignore similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/.gitignore rename to SD_v2/SD_Makefile_Build/libs/MFRC522/.gitignore diff --git a/SD_Makefile_Build/libs/MFRC522/.travis.yml b/SD_v2/SD_Makefile_Build/libs/MFRC522/.travis.yml similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/.travis.yml rename to SD_v2/SD_Makefile_Build/libs/MFRC522/.travis.yml diff --git a/SD_Makefile_Build/libs/MFRC522/Makefile b/SD_v2/SD_Makefile_Build/libs/MFRC522/Makefile similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/Makefile rename to SD_v2/SD_Makefile_Build/libs/MFRC522/Makefile diff --git a/SD_Makefile_Build/libs/MFRC522/README.rst b/SD_v2/SD_Makefile_Build/libs/MFRC522/README.rst similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/README.rst rename to SD_v2/SD_Makefile_Build/libs/MFRC522/README.rst diff --git a/SD_Makefile_Build/libs/MFRC522/UNLICENSE b/SD_v2/SD_Makefile_Build/libs/MFRC522/UNLICENSE similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/UNLICENSE rename to SD_v2/SD_Makefile_Build/libs/MFRC522/UNLICENSE diff --git a/SD_Makefile_Build/libs/MFRC522/changes.txt b/SD_v2/SD_Makefile_Build/libs/MFRC522/changes.txt similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/changes.txt rename to SD_v2/SD_Makefile_Build/libs/MFRC522/changes.txt diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz diff --git a/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png diff --git a/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc diff --git a/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf b/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf rename to SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf diff --git a/SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino diff --git a/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino b/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino rename to SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino diff --git a/SD_Makefile_Build/libs/MFRC522/keywords.txt b/SD_v2/SD_Makefile_Build/libs/MFRC522/keywords.txt similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/keywords.txt rename to SD_v2/SD_Makefile_Build/libs/MFRC522/keywords.txt diff --git a/SD_Makefile_Build/libs/MFRC522/library.json b/SD_v2/SD_Makefile_Build/libs/MFRC522/library.json similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/library.json rename to SD_v2/SD_Makefile_Build/libs/MFRC522/library.json diff --git a/SD_Makefile_Build/libs/MFRC522/library.properties b/SD_v2/SD_Makefile_Build/libs/MFRC522/library.properties similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/library.properties rename to SD_v2/SD_Makefile_Build/libs/MFRC522/library.properties diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp b/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp rename to SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h b/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/src/MFRC522.h rename to SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp b/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp rename to SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp diff --git a/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h b/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h similarity index 100% rename from SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h rename to SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h diff --git a/SD_Makefile_Build/libs/SPI b/SD_v2/SD_Makefile_Build/libs/SPI similarity index 100% rename from SD_Makefile_Build/libs/SPI rename to SD_v2/SD_Makefile_Build/libs/SPI diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/README.md b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/README.md similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/README.md rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/README.md diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/library.properties rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp diff --git a/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h b/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h similarity index 100% rename from SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h rename to SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h diff --git a/SD_Makefile_Build/src/LCD_module.cpp b/SD_v2/SD_Makefile_Build/src/LCD_module.cpp similarity index 100% rename from SD_Makefile_Build/src/LCD_module.cpp rename to SD_v2/SD_Makefile_Build/src/LCD_module.cpp diff --git a/SD_Makefile_Build/src/RFID_module.cpp b/SD_v2/SD_Makefile_Build/src/RFID_module.cpp similarity index 100% rename from SD_Makefile_Build/src/RFID_module.cpp rename to SD_v2/SD_Makefile_Build/src/RFID_module.cpp diff --git a/SD_Makefile_Build/src/RTC_module.cpp b/SD_v2/SD_Makefile_Build/src/RTC_module.cpp similarity index 100% rename from SD_Makefile_Build/src/RTC_module.cpp rename to SD_v2/SD_Makefile_Build/src/RTC_module.cpp From 2e7a6bd1beaa41a614e4ce2fc8c8342b053da9da Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:02:30 +0200 Subject: [PATCH 17/35] Relocation --- SD/access_control/libraries/Adafruit_GFX | 1 - SD/access_control/libraries/Adafruit_ST3775 | 1 - SD/access_control/libraries/MFRC522 | 1 - SD/access_control/libraries/Sodaq_DS3231 | 1 - 4 files changed, 4 deletions(-) delete mode 160000 SD/access_control/libraries/Adafruit_GFX delete mode 160000 SD/access_control/libraries/Adafruit_ST3775 delete mode 160000 SD/access_control/libraries/MFRC522 delete mode 160000 SD/access_control/libraries/Sodaq_DS3231 diff --git a/SD/access_control/libraries/Adafruit_GFX b/SD/access_control/libraries/Adafruit_GFX deleted file mode 160000 index cb95e03..0000000 --- a/SD/access_control/libraries/Adafruit_GFX +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cb95e0307b64fabc0b84103455ae46c63033759e diff --git a/SD/access_control/libraries/Adafruit_ST3775 b/SD/access_control/libraries/Adafruit_ST3775 deleted file mode 160000 index d53d4bf..0000000 --- a/SD/access_control/libraries/Adafruit_ST3775 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD/access_control/libraries/MFRC522 b/SD/access_control/libraries/MFRC522 deleted file mode 160000 index c5781e7..0000000 --- a/SD/access_control/libraries/MFRC522 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c5781e75598e76167d9079051bb77d02bfc595a4 diff --git a/SD/access_control/libraries/Sodaq_DS3231 b/SD/access_control/libraries/Sodaq_DS3231 deleted file mode 160000 index 162b718..0000000 --- a/SD/access_control/libraries/Sodaq_DS3231 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 162b71811f1d40323632c2df2700533604a8872f From e4b92acb0adcb81e5111482f96f6c7d79fdd4705 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:03:03 +0200 Subject: [PATCH 18/35] Relocation --- {SD => SD_v2}/access_control/HOW_TO_USE.txt | 0 {SD => SD_v2}/access_control/LCD_module.cpp | 0 {SD => SD_v2}/access_control/LCD_module.h | 0 {SD => SD_v2}/access_control/README.md | 0 {SD => SD_v2}/access_control/RFID_module.cpp | 0 {SD => SD_v2}/access_control/RFID_module.h | 0 {SD => SD_v2}/access_control/RTC_module.cpp | 0 {SD => SD_v2}/access_control/RTC_module.h | 0 {SD => SD_v2}/access_control/UNLICENSE | 0 {SD => SD_v2}/access_control/access_control.ino | 0 {SD => SD_v2}/access_control/authorized_keys.h | 0 {SD => SD_v2}/access_control/pin_layout.h | 0 {SD => SD_v2}/access_control/platform.local.txt | 0 13 files changed, 0 insertions(+), 0 deletions(-) rename {SD => SD_v2}/access_control/HOW_TO_USE.txt (100%) rename {SD => SD_v2}/access_control/LCD_module.cpp (100%) rename {SD => SD_v2}/access_control/LCD_module.h (100%) rename {SD => SD_v2}/access_control/README.md (100%) rename {SD => SD_v2}/access_control/RFID_module.cpp (100%) rename {SD => SD_v2}/access_control/RFID_module.h (100%) rename {SD => SD_v2}/access_control/RTC_module.cpp (100%) rename {SD => SD_v2}/access_control/RTC_module.h (100%) rename {SD => SD_v2}/access_control/UNLICENSE (100%) rename {SD => SD_v2}/access_control/access_control.ino (100%) rename {SD => SD_v2}/access_control/authorized_keys.h (100%) rename {SD => SD_v2}/access_control/pin_layout.h (100%) rename {SD => SD_v2}/access_control/platform.local.txt (100%) diff --git a/SD/access_control/HOW_TO_USE.txt b/SD_v2/access_control/HOW_TO_USE.txt similarity index 100% rename from SD/access_control/HOW_TO_USE.txt rename to SD_v2/access_control/HOW_TO_USE.txt diff --git a/SD/access_control/LCD_module.cpp b/SD_v2/access_control/LCD_module.cpp similarity index 100% rename from SD/access_control/LCD_module.cpp rename to SD_v2/access_control/LCD_module.cpp diff --git a/SD/access_control/LCD_module.h b/SD_v2/access_control/LCD_module.h similarity index 100% rename from SD/access_control/LCD_module.h rename to SD_v2/access_control/LCD_module.h diff --git a/SD/access_control/README.md b/SD_v2/access_control/README.md similarity index 100% rename from SD/access_control/README.md rename to SD_v2/access_control/README.md diff --git a/SD/access_control/RFID_module.cpp b/SD_v2/access_control/RFID_module.cpp similarity index 100% rename from SD/access_control/RFID_module.cpp rename to SD_v2/access_control/RFID_module.cpp diff --git a/SD/access_control/RFID_module.h b/SD_v2/access_control/RFID_module.h similarity index 100% rename from SD/access_control/RFID_module.h rename to SD_v2/access_control/RFID_module.h diff --git a/SD/access_control/RTC_module.cpp b/SD_v2/access_control/RTC_module.cpp similarity index 100% rename from SD/access_control/RTC_module.cpp rename to SD_v2/access_control/RTC_module.cpp diff --git a/SD/access_control/RTC_module.h b/SD_v2/access_control/RTC_module.h similarity index 100% rename from SD/access_control/RTC_module.h rename to SD_v2/access_control/RTC_module.h diff --git a/SD/access_control/UNLICENSE b/SD_v2/access_control/UNLICENSE similarity index 100% rename from SD/access_control/UNLICENSE rename to SD_v2/access_control/UNLICENSE diff --git a/SD/access_control/access_control.ino b/SD_v2/access_control/access_control.ino similarity index 100% rename from SD/access_control/access_control.ino rename to SD_v2/access_control/access_control.ino diff --git a/SD/access_control/authorized_keys.h b/SD_v2/access_control/authorized_keys.h similarity index 100% rename from SD/access_control/authorized_keys.h rename to SD_v2/access_control/authorized_keys.h diff --git a/SD/access_control/pin_layout.h b/SD_v2/access_control/pin_layout.h similarity index 100% rename from SD/access_control/pin_layout.h rename to SD_v2/access_control/pin_layout.h diff --git a/SD/access_control/platform.local.txt b/SD_v2/access_control/platform.local.txt similarity index 100% rename from SD/access_control/platform.local.txt rename to SD_v2/access_control/platform.local.txt From f494a2781516e49ef327192b30ae78f924881b06 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:07:09 +0200 Subject: [PATCH 19/35] Relocation --- .gitmodules | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.gitmodules b/.gitmodules index b410948..b75ec64 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,27 +1,27 @@ -[submodule "SD/access_control/libraries/Sodaq_DS3231"] - path = SD/access_control/libraries/Sodaq_DS3231 +[submodule "SD_v2/access_control/libraries/Sodaq_DS3231"] + path = SD_v2/access_control/libraries/Sodaq_DS3231 url = https://github.com/SodaqMoja/Sodaq_DS3231.git -[submodule "SD/access_control/libraries/Adafruit_ST3775"] - path = SD/access_control/libraries/Adafruit_ST3775 +[submodule "SD_v2/access_control/libraries/Adafruit_ST3775"] + path = SD_v2/access_control/libraries/Adafruit_ST3775 url = https://github.com/adafruit/Adafruit-ST7735-Library.git -[submodule "SD/access_control/libraries/Adafruit_GFX"] - path = SD/access_control/libraries/Adafruit_GFX +[submodule "SD_v2/access_control/libraries/Adafruit_GFX"] + path = SD_v2/access_control/libraries/Adafruit_GFX url = https://github.com/adafruit/Adafruit-GFX-Library.git -[submodule "SD/access_control/libraries/MFRC522"] - path = SD/access_control/libraries/MFRC522 +[submodule "SD_v2/access_control/libraries/MFRC522"] + path = SD_v2/access_control/libraries/MFRC522 url = https://github.com/miguelbalboa/rfid.git -[submodule "SD_Makefile_Build/access_control/libraries/Sodaq_DS3231"] - path = SD_Makefile_Build/access_control/libraries/Sodaq_DS3231 +[submodule "SD_v2/Makefile_Build/access_control/libraries/Sodaq_DS3231"] + path = SD_v2/Makefile_Build/access_control/libraries/Sodaq_DS3231 url = https://github.com/SodaqMoja/Sodaq_DS3231.git -[submodule "SD_Makefile_Build/access_control/libraries/Adafruit_ST3775"] - path = SD_Makefile_Build/access_control/libraries/Adafruit_ST3775 +[submodule "SD_v2/Makefile_Build/access_control/libraries/Adafruit_ST3775"] + path = SD_v2/Makefile_Build/access_control/libraries/Adafruit_ST3775 url = https://github.com/adafruit/Adafruit-ST7735-Library.git -[submodule "SD_Makefile_Build/access_control/libraries/Adafruit_GFX"] - path = SD_Makefile_Build/access_control/libraries/Adafruit_GFX +[submodule "SD_v2/Makefile_Build/access_control/libraries/Adafruit_GFX"] + path = SD_v2/Makefile_Build/access_control/libraries/Adafruit_GFX url = https://github.com/adafruit/Adafruit-GFX-Library.git -[submodule "SD_Makefile_Build/access_control/libraries/MFRC522"] - path = SD_Makefile_Build/access_control/libraries/MFRC522 +[submodule "SD_v2/Makefile_Build/access_control/libraries/MFRC522"] + path = SD_v2/Makefile_Build/access_control/libraries/MFRC522 url = https://github.com/miguelbalboa/rfid.git -[submodule "SD_Makefile_Build/access_control/libraries/MFRC522"] - path = SD_Makefile_Build/libs/SPI +[submodule "SD_v2/Makefile_Build/access_control/libraries/MFRC522"] + path = SD_v2/Makefile_Build/libs/SPI url = https://github.com/PaulStoffregen/SPI.git From 859533137a3dc786b9606e15a7868c0127d4cf03 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:07:34 +0200 Subject: [PATCH 20/35] Relocation --- .../{SD_Makefile_Build => Makefile_Build}/Makefile | 0 .../{SD_Makefile_Build => Makefile_Build}/README.md | 0 .../{SD_Makefile_Build => Makefile_Build}/UNLICENSE | 0 .../acces_control.ino | 0 .../inc/LCD_module.h | 0 .../inc/RFID_module.h | 0 .../inc/RTC_module.h | 0 .../inc/authorized_keys.h | 0 .../inc/pin_layout.h | 0 .../libs/Adafruit_GFX/Adafruit_GFX.cpp | 0 .../libs/Adafruit_GFX/Adafruit_GFX.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h | 0 .../Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h | 0 .../libs/Adafruit_GFX/Fonts/Org_01.h | 0 .../libs/Adafruit_GFX/Fonts/Picopixel.h | 0 .../libs/Adafruit_GFX/Fonts/TomThumb.h | 0 .../libs/Adafruit_GFX/README.md | 0 .../libs/Adafruit_GFX/fontconvert/Makefile | 0 .../libs/Adafruit_GFX/fontconvert/fontconvert.c | 0 .../Adafruit_GFX/fontconvert/fontconvert_win.md | 0 .../libs/Adafruit_GFX/fontconvert/makefonts.sh | 0 .../libs/Adafruit_GFX/gfxfont.h | 0 .../libs/Adafruit_GFX/glcdfont.c | 0 .../libs/Adafruit_GFX/library.properties | 0 .../libs/Adafruit_GFX/license.txt | 0 .../libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md | 0 .../.github/PULL_REQUEST_TEMPLATE.md | 0 .../libs/Adafruit_ST3775/Adafruit_ST7735.cpp | 0 .../libs/Adafruit_ST3775/Adafruit_ST7735.h | 0 .../libs/Adafruit_ST3775/README.txt | 0 .../examples/graphicstest/graphicstest.ino | 0 .../examples/rotationtest/rotationtest.ino | 0 .../examples/shieldtest/shieldtest.ino | 0 .../soft_spitftbitmap/soft_spitftbitmap.ino | 0 .../examples/spitftbitmap/spitftbitmap.ino | 0 .../libs/Adafruit_ST3775/library.properties | 0 .../libs/MFRC522/.github/CONTRIBUTING.md | 0 .../libs/MFRC522/.github/ISSUE_TEMPLATE.md | 0 .../libs/MFRC522/.gitignore | 0 .../libs/MFRC522/.travis.yml | 0 .../libs/MFRC522/Makefile | 0 .../libs/MFRC522/README.rst | 0 .../libs/MFRC522/UNLICENSE | 0 .../libs/MFRC522/changes.txt | 0 .../doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz | Bin .../doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png | Bin .../doc/fritzing/RFID-RC522 - Pin Layout.png | Bin .../libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz | Bin .../libs/MFRC522/doc/fritzing/RFID-RC522-v2.png | Bin .../libs/MFRC522/doc/rfidmifare.doc | Bin .../libs/MFRC522/doc/rfidmifare.pdf | Bin .../examples/AccessControl/AccessControl.ino | 0 .../libs/MFRC522/examples/ChangeUID/ChangeUID.ino | 0 .../libs/MFRC522/examples/DumpInfo/DumpInfo.ino | 0 .../examples/FixBrickedUID/FixBrickedUID.ino | 0 .../MifareClassicValueBlock.ino | 0 .../examples/MinimalInterrupt/MinimalInterrupt.ino | 0 .../MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino | 0 .../MFRC522/examples/RFID-Cloner/RFID-Cloner.ino | 0 .../MFRC522/examples/ReadAndWrite/ReadAndWrite.ino | 0 .../libs/MFRC522/examples/ReadNUID/ReadNUID.ino | 0 .../ReadUidMultiReader/ReadUidMultiReader.ino | 0 .../examples/firmware_check/firmware_check.ino | 0 .../rfid_default_keys/rfid_default_keys.ino | 0 .../rfid_read_personal_data.ino | 0 .../rfid_write_personal_data.ino | 0 .../libs/MFRC522/keywords.txt | 0 .../libs/MFRC522/library.json | 0 .../libs/MFRC522/library.properties | 0 .../libs/MFRC522/src/MFRC522.cpp | 0 .../libs/MFRC522/src/MFRC522.h | 0 .../libs/MFRC522/src/MFRC522Extended.cpp | 0 .../libs/MFRC522/src/MFRC522Extended.h | 0 .../{SD_Makefile_Build => Makefile_Build}/libs/SPI | 0 .../libs/Sodaq_DS3231/.gitignore | 0 .../libs/Sodaq_DS3231/README.md | 0 .../libs/Sodaq_DS3231/examples/adjust/adjust.pde | 0 .../Sodaq_DS3231/examples/interrupts/interrupts.pde | 0 .../libs/Sodaq_DS3231/examples/now/now.pde | 0 .../examples/temperature/temperature.pde | 0 .../libs/Sodaq_DS3231/keywords.txt | 0 .../libs/Sodaq_DS3231/library.properties | 0 .../libs/Sodaq_DS3231/make-zip.sh | 0 .../libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp | 0 .../libs/Sodaq_DS3231/src/Sodaq_DS3231.h | 0 .../src/LCD_module.cpp | 0 .../src/RFID_module.cpp | 0 .../src/RTC_module.cpp | 0 134 files changed, 0 insertions(+), 0 deletions(-) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/Makefile (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/README.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/UNLICENSE (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/acces_control.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/inc/LCD_module.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/inc/RFID_module.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/inc/RTC_module.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/inc/authorized_keys.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/inc/pin_layout.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Adafruit_GFX.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Adafruit_GFX.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/Org_01.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/Picopixel.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/Fonts/TomThumb.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/README.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/fontconvert/Makefile (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/fontconvert/fontconvert.c (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/fontconvert/fontconvert_win.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/fontconvert/makefonts.sh (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/gfxfont.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/glcdfont.c (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/library.properties (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_GFX/license.txt (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/Adafruit_ST7735.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/Adafruit_ST7735.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/README.txt (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Adafruit_ST3775/library.properties (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/.github/CONTRIBUTING.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/.github/ISSUE_TEMPLATE.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/.gitignore (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/.travis.yml (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/Makefile (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/README.rst (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/UNLICENSE (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/changes.txt (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/rfidmifare.doc (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/doc/rfidmifare.pdf (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/AccessControl/AccessControl.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/ChangeUID/ChangeUID.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/DumpInfo/DumpInfo.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/ReadNUID/ReadNUID.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/firmware_check/firmware_check.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/keywords.txt (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/library.json (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/library.properties (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/src/MFRC522.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/src/MFRC522.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/src/MFRC522Extended.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/MFRC522/src/MFRC522Extended.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/SPI (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/.gitignore (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/README.md (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/examples/adjust/adjust.pde (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/examples/now/now.pde (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/examples/temperature/temperature.pde (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/keywords.txt (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/library.properties (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/make-zip.sh (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/libs/Sodaq_DS3231/src/Sodaq_DS3231.h (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/src/LCD_module.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/src/RFID_module.cpp (100%) rename SD_v2/{SD_Makefile_Build => Makefile_Build}/src/RTC_module.cpp (100%) diff --git a/SD_v2/SD_Makefile_Build/Makefile b/SD_v2/Makefile_Build/Makefile similarity index 100% rename from SD_v2/SD_Makefile_Build/Makefile rename to SD_v2/Makefile_Build/Makefile diff --git a/SD_v2/SD_Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md similarity index 100% rename from SD_v2/SD_Makefile_Build/README.md rename to SD_v2/Makefile_Build/README.md diff --git a/SD_v2/SD_Makefile_Build/UNLICENSE b/SD_v2/Makefile_Build/UNLICENSE similarity index 100% rename from SD_v2/SD_Makefile_Build/UNLICENSE rename to SD_v2/Makefile_Build/UNLICENSE diff --git a/SD_v2/SD_Makefile_Build/acces_control.ino b/SD_v2/Makefile_Build/acces_control.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/acces_control.ino rename to SD_v2/Makefile_Build/acces_control.ino diff --git a/SD_v2/SD_Makefile_Build/inc/LCD_module.h b/SD_v2/Makefile_Build/inc/LCD_module.h similarity index 100% rename from SD_v2/SD_Makefile_Build/inc/LCD_module.h rename to SD_v2/Makefile_Build/inc/LCD_module.h diff --git a/SD_v2/SD_Makefile_Build/inc/RFID_module.h b/SD_v2/Makefile_Build/inc/RFID_module.h similarity index 100% rename from SD_v2/SD_Makefile_Build/inc/RFID_module.h rename to SD_v2/Makefile_Build/inc/RFID_module.h diff --git a/SD_v2/SD_Makefile_Build/inc/RTC_module.h b/SD_v2/Makefile_Build/inc/RTC_module.h similarity index 100% rename from SD_v2/SD_Makefile_Build/inc/RTC_module.h rename to SD_v2/Makefile_Build/inc/RTC_module.h diff --git a/SD_v2/SD_Makefile_Build/inc/authorized_keys.h b/SD_v2/Makefile_Build/inc/authorized_keys.h similarity index 100% rename from SD_v2/SD_Makefile_Build/inc/authorized_keys.h rename to SD_v2/Makefile_Build/inc/authorized_keys.h diff --git a/SD_v2/SD_Makefile_Build/inc/pin_layout.h b/SD_v2/Makefile_Build/inc/pin_layout.h similarity index 100% rename from SD_v2/SD_Makefile_Build/inc/pin_layout.h rename to SD_v2/Makefile_Build/inc/pin_layout.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/README.md b/SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/README.md rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/gfxfont.h rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c b/SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/glcdfont.c rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/library.properties b/SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/library.properties rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/license.txt b/SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_GFX/license.txt rename to SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/README.txt rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino diff --git a/SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Adafruit_ST3775/library.properties rename to SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md b/SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md rename to SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md b/SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md rename to SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/.gitignore b/SD_v2/Makefile_Build/libs/MFRC522/.gitignore similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/.gitignore rename to SD_v2/Makefile_Build/libs/MFRC522/.gitignore diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/.travis.yml b/SD_v2/Makefile_Build/libs/MFRC522/.travis.yml similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/.travis.yml rename to SD_v2/Makefile_Build/libs/MFRC522/.travis.yml diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/Makefile b/SD_v2/Makefile_Build/libs/MFRC522/Makefile similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/Makefile rename to SD_v2/Makefile_Build/libs/MFRC522/Makefile diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/README.rst b/SD_v2/Makefile_Build/libs/MFRC522/README.rst similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/README.rst rename to SD_v2/Makefile_Build/libs/MFRC522/README.rst diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/UNLICENSE b/SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/UNLICENSE rename to SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/changes.txt b/SD_v2/Makefile_Build/libs/MFRC522/changes.txt similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/changes.txt rename to SD_v2/Makefile_Build/libs/MFRC522/changes.txt diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz rename to SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png rename to SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png rename to SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz rename to SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png rename to SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc b/SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.doc similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.doc rename to SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.doc diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf b/SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf rename to SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino rename to SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/keywords.txt b/SD_v2/Makefile_Build/libs/MFRC522/keywords.txt similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/keywords.txt rename to SD_v2/Makefile_Build/libs/MFRC522/keywords.txt diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/library.json b/SD_v2/Makefile_Build/libs/MFRC522/library.json similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/library.json rename to SD_v2/Makefile_Build/libs/MFRC522/library.json diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/library.properties b/SD_v2/Makefile_Build/libs/MFRC522/library.properties similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/library.properties rename to SD_v2/Makefile_Build/libs/MFRC522/library.properties diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.cpp rename to SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522.h rename to SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp rename to SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp diff --git a/SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/MFRC522/src/MFRC522Extended.h rename to SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h diff --git a/SD_v2/SD_Makefile_Build/libs/SPI b/SD_v2/Makefile_Build/libs/SPI similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/SPI rename to SD_v2/Makefile_Build/libs/SPI diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/.gitignore rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/README.md b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/README.md rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/keywords.txt rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/library.properties rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/make-zip.sh rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp diff --git a/SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h similarity index 100% rename from SD_v2/SD_Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h rename to SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h diff --git a/SD_v2/SD_Makefile_Build/src/LCD_module.cpp b/SD_v2/Makefile_Build/src/LCD_module.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/src/LCD_module.cpp rename to SD_v2/Makefile_Build/src/LCD_module.cpp diff --git a/SD_v2/SD_Makefile_Build/src/RFID_module.cpp b/SD_v2/Makefile_Build/src/RFID_module.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/src/RFID_module.cpp rename to SD_v2/Makefile_Build/src/RFID_module.cpp diff --git a/SD_v2/SD_Makefile_Build/src/RTC_module.cpp b/SD_v2/Makefile_Build/src/RTC_module.cpp similarity index 100% rename from SD_v2/SD_Makefile_Build/src/RTC_module.cpp rename to SD_v2/Makefile_Build/src/RTC_module.cpp From c3565f6827eba89dedc8711e2aabbb8a13eff3d0 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:29:07 +0200 Subject: [PATCH 21/35] relocation --- .gitmodules | 21 +- README.md | 21 +- .../libs/Adafruit_GFX/Adafruit_GFX.cpp | 1175 ---------- .../libs/Adafruit_GFX/Adafruit_GFX.h | 177 -- .../libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h | 227 -- .../libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h | 363 ---- .../libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h | 577 ----- .../libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h | 176 -- .../Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h | 250 --- .../Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h | 423 ---- .../Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h | 672 ------ .../Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h | 189 -- .../Fonts/FreeMonoBoldOblique12pt7b.h | 269 --- .../Fonts/FreeMonoBoldOblique18pt7b.h | 460 ---- .../Fonts/FreeMonoBoldOblique24pt7b.h | 742 ------- .../Fonts/FreeMonoBoldOblique9pt7b.h | 203 -- .../Fonts/FreeMonoOblique12pt7b.h | 248 --- .../Fonts/FreeMonoOblique18pt7b.h | 398 ---- .../Fonts/FreeMonoOblique24pt7b.h | 643 ------ .../Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h | 187 -- .../libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h | 270 --- .../libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h | 452 ---- .../libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h | 727 ------- .../libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h | 201 -- .../Adafruit_GFX/Fonts/FreeSansBold12pt7b.h | 288 --- .../Adafruit_GFX/Fonts/FreeSansBold18pt7b.h | 481 ----- .../Adafruit_GFX/Fonts/FreeSansBold24pt7b.h | 784 ------- .../Adafruit_GFX/Fonts/FreeSansBold9pt7b.h | 208 -- .../Fonts/FreeSansBoldOblique12pt7b.h | 317 --- .../Fonts/FreeSansBoldOblique18pt7b.h | 545 ----- .../Fonts/FreeSansBoldOblique24pt7b.h | 893 -------- .../Fonts/FreeSansBoldOblique9pt7b.h | 227 -- .../Fonts/FreeSansOblique12pt7b.h | 302 --- .../Fonts/FreeSansOblique18pt7b.h | 518 ----- .../Fonts/FreeSansOblique24pt7b.h | 840 -------- .../Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h | 220 -- .../libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h | 259 --- .../libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h | 429 ---- .../libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h | 690 ------ .../libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h | 195 -- .../Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h | 271 --- .../Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h | 462 ---- .../Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h | 759 ------- .../Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h | 202 -- .../Fonts/FreeSerifBoldItalic12pt7b.h | 292 --- .../Fonts/FreeSerifBoldItalic18pt7b.h | 500 ----- .../Fonts/FreeSerifBoldItalic24pt7b.h | 793 ------- .../Fonts/FreeSerifBoldItalic9pt7b.h | 215 -- .../Fonts/FreeSerifItalic12pt7b.h | 271 --- .../Fonts/FreeSerifItalic18pt7b.h | 450 ---- .../Fonts/FreeSerifItalic24pt7b.h | 737 ------- .../Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h | 202 -- .../libs/Adafruit_GFX/Fonts/Org_01.h | 131 -- .../libs/Adafruit_GFX/Fonts/Picopixel.h | 123 -- .../libs/Adafruit_GFX/Fonts/TomThumb.h | 474 ---- .../libs/Adafruit_GFX/README.md | 21 - .../libs/Adafruit_GFX/fontconvert/Makefile | 12 - .../Adafruit_GFX/fontconvert/fontconvert.c | 278 --- .../fontconvert/fontconvert_win.md | 88 - .../Adafruit_GFX/fontconvert/makefonts.sh | 38 - .../libs/Adafruit_GFX/gfxfont.h | 24 - .../libs/Adafruit_GFX/glcdfont.c | 276 --- .../libs/Adafruit_GFX/library.properties | 9 - .../libs/Adafruit_GFX/license.txt | 24 - .../Adafruit_ST3775/.github/ISSUE_TEMPLATE.md | 46 - .../.github/PULL_REQUEST_TEMPLATE.md | 26 - .../libs/Adafruit_ST3775/Adafruit_ST7735.cpp | 736 ------- .../libs/Adafruit_ST3775/Adafruit_ST7735.h | 188 -- .../libs/Adafruit_ST3775/README.txt | 26 - .../examples/graphicstest/graphicstest.ino | 300 --- .../examples/rotationtest/rotationtest.ino | 285 --- .../examples/shieldtest/shieldtest.ino | 256 --- .../soft_spitftbitmap/soft_spitftbitmap.ino | 219 -- .../examples/spitftbitmap/spitftbitmap.ino | 215 -- .../libs/Adafruit_ST3775/library.properties | 9 - .../libs/MFRC522/.github/CONTRIBUTING.md | 10 - .../libs/MFRC522/.github/ISSUE_TEMPLATE.md | 39 - SD_v2/Makefile_Build/libs/MFRC522/.gitignore | 6 - SD_v2/Makefile_Build/libs/MFRC522/.travis.yml | 40 - SD_v2/Makefile_Build/libs/MFRC522/Makefile | 17 - SD_v2/Makefile_Build/libs/MFRC522/README.rst | 295 --- SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE | 24 - SD_v2/Makefile_Build/libs/MFRC522/changes.txt | 134 -- .../Arduino-Uno-r3-with-RFID-RC522.fzz | Bin 23140 -> 0 bytes .../Arduino-Uno-r3-with-RFID-RC522.png | Bin 289125 -> 0 bytes .../doc/fritzing/RFID-RC522 - Pin Layout.png | Bin 165594 -> 0 bytes .../MFRC522/doc/fritzing/RFID-RC522-v2.fzpz | Bin 17796 -> 0 bytes .../MFRC522/doc/fritzing/RFID-RC522-v2.png | Bin 30070 -> 0 bytes .../libs/MFRC522/doc/rfidmifare.doc | Bin 406016 -> 0 bytes .../libs/MFRC522/doc/rfidmifare.pdf | Bin 255101 -> 0 bytes .../examples/AccessControl/AccessControl.ino | 550 ----- .../MFRC522/examples/ChangeUID/ChangeUID.ino | 111 - .../MFRC522/examples/DumpInfo/DumpInfo.ino | 66 - .../examples/FixBrickedUID/FixBrickedUID.ino | 53 - .../MifareClassicValueBlock.ino | 319 --- .../MinimalInterrupt/MinimalInterrupt.ino | 137 -- .../examples/Ntag216_AUTH/Ntag216_AUTH.ino | 58 - .../examples/RFID-Cloner/RFID-Cloner.ino | 312 --- .../examples/ReadAndWrite/ReadAndWrite.ino | 200 -- .../MFRC522/examples/ReadNUID/ReadNUID.ino | 127 -- .../ReadUidMultiReader/ReadUidMultiReader.ino | 97 - .../firmware_check/firmware_check.ino | 62 - .../rfid_default_keys/rfid_default_keys.ino | 157 -- .../rfid_read_personal_data.ino | 138 -- .../rfid_write_personal_data.ino | 156 -- .../Makefile_Build/libs/MFRC522/keywords.txt | 219 -- .../Makefile_Build/libs/MFRC522/library.json | 14 - .../libs/MFRC522/library.properties | 9 - .../libs/MFRC522/src/MFRC522.cpp | 1898 ----------------- .../Makefile_Build/libs/MFRC522/src/MFRC522.h | 424 ---- .../libs/MFRC522/src/MFRC522Extended.cpp | 1160 ---------- .../libs/MFRC522/src/MFRC522Extended.h | 120 -- SD_v2/Makefile_Build/libs/SPI | 1 - .../libs/Sodaq_DS3231/.gitignore | 2 - .../libs/Sodaq_DS3231/README.md | 16 - .../Sodaq_DS3231/examples/adjust/adjust.pde | 40 - .../examples/interrupts/interrupts.pde | 60 - .../libs/Sodaq_DS3231/examples/now/now.pde | 43 - .../examples/temperature/temperature.pde | 19 - .../libs/Sodaq_DS3231/keywords.txt | 47 - .../libs/Sodaq_DS3231/library.properties | 9 - .../libs/Sodaq_DS3231/make-zip.sh | 25 - .../libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp | 391 ---- .../libs/Sodaq_DS3231/src/Sodaq_DS3231.h | 82 - SD_v2/access_control/libraries/Adafruit_GFX | 1 + .../access_control/libraries/Adafruit_ST3775 | 1 + SD_v2/access_control/libraries/MFRC522 | 1 + SD_v2/access_control/libraries/Sodaq_DS3231 | 1 + 128 files changed, 27 insertions(+), 32889 deletions(-) delete mode 100755 SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp delete mode 100755 SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md delete mode 100755 SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md delete mode 100755 SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp delete mode 100755 SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino delete mode 100644 SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/.gitignore delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/.travis.yml delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/Makefile delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/README.rst delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/changes.txt delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png delete mode 100755 SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522 - Pin Layout.png delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.doc delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/AccessControl/AccessControl.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/keywords.txt delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/library.json delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/library.properties delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp delete mode 100644 SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h delete mode 160000 SD_v2/Makefile_Build/libs/SPI delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties delete mode 100755 SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp delete mode 100644 SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h create mode 160000 SD_v2/access_control/libraries/Adafruit_GFX create mode 160000 SD_v2/access_control/libraries/Adafruit_ST3775 create mode 160000 SD_v2/access_control/libraries/MFRC522 create mode 160000 SD_v2/access_control/libraries/Sodaq_DS3231 diff --git a/.gitmodules b/.gitmodules index b75ec64..2679152 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,27 +1,12 @@ -[submodule "SD_v2/access_control/libraries/Sodaq_DS3231"] - path = SD_v2/access_control/libraries/Sodaq_DS3231 - url = https://github.com/SodaqMoja/Sodaq_DS3231.git [submodule "SD_v2/access_control/libraries/Adafruit_ST3775"] path = SD_v2/access_control/libraries/Adafruit_ST3775 url = https://github.com/adafruit/Adafruit-ST7735-Library.git [submodule "SD_v2/access_control/libraries/Adafruit_GFX"] path = SD_v2/access_control/libraries/Adafruit_GFX url = https://github.com/adafruit/Adafruit-GFX-Library.git +[submodule "SD_v2/access_control/libraries/Sodaq_DS3231"] + path = SD_v2/access_control/libraries/Sodaq_DS3231 + url = https://github.com/SodaqMoja/Sodaq_DS3231.git [submodule "SD_v2/access_control/libraries/MFRC522"] path = SD_v2/access_control/libraries/MFRC522 url = https://github.com/miguelbalboa/rfid.git -[submodule "SD_v2/Makefile_Build/access_control/libraries/Sodaq_DS3231"] - path = SD_v2/Makefile_Build/access_control/libraries/Sodaq_DS3231 - url = https://github.com/SodaqMoja/Sodaq_DS3231.git -[submodule "SD_v2/Makefile_Build/access_control/libraries/Adafruit_ST3775"] - path = SD_v2/Makefile_Build/access_control/libraries/Adafruit_ST3775 - url = https://github.com/adafruit/Adafruit-ST7735-Library.git -[submodule "SD_v2/Makefile_Build/access_control/libraries/Adafruit_GFX"] - path = SD_v2/Makefile_Build/access_control/libraries/Adafruit_GFX - url = https://github.com/adafruit/Adafruit-GFX-Library.git -[submodule "SD_v2/Makefile_Build/access_control/libraries/MFRC522"] - path = SD_v2/Makefile_Build/access_control/libraries/MFRC522 - url = https://github.com/miguelbalboa/rfid.git -[submodule "SD_v2/Makefile_Build/access_control/libraries/MFRC522"] - path = SD_v2/Makefile_Build/libs/SPI - url = https://github.com/PaulStoffregen/SPI.git diff --git a/README.md b/README.md index fa4f137..c23160d 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,23 @@ including a LCD display, Real Time Clock and time registers on a micro SD card. The project has been uploaded as a "ready to compile" version. This means that if your Hardware matches & all requirements have been properly installed, you won't need to adjust anything else -on the code, except from the specific RFID tag's key. \ No newline at end of file +on the code, except from the specific RFID tag's key. + + + + +[submodule "SD_v2/Makefile_Build/libs/Sodaq_DS3231"] + path = SD_v2/Makefile_Build/libs/Sodaq_DS3231 + url = https://github.com/SodaqMoja/Sodaq_DS3231.git +[submodule "SD_v2/Makefile_Build/libs/Adafruit_ST3775"] + path = SD_v2/Makefile_Build/libs/Adafruit_ST3775 + url = https://github.com/adafruit/Adafruit-ST7735-Library.git +[submodule "SD_v2/Makefile_Build/libs/Adafruit_GFX"] + path = SD_v2/Makefile_Build/libs/Adafruit_GFX + url = https://github.com/adafruit/Adafruit-GFX-Library.git +[submodule "SD_v2/Makefile_Build/libs/MFRC522"] + path = SD_v2/Makefile_Build/libs/MFRC522 + url = https://github.com/miguelbalboa/rfid.git +[submodule "SD_v2/Makefile_Build/libs/MFRC522"] + path = SD_v2/Makefile_Build/libs/SPI + url = https://github.com/PaulStoffregen/SPI.git diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp deleted file mode 100755 index 967eb77..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Adafruit_GFX.cpp +++ /dev/null @@ -1,1175 +0,0 @@ -/* -This is the core graphics library for all our displays, providing a common -set of graphics primitives (points, lines, circles, etc.). It needs to be -paired with a hardware-specific library for each display device we carry -(to handle the lower-level functions). - -Adafruit invests time and resources providing this open source code, please -support Adafruit & open-source hardware by purchasing products from Adafruit! - -Copyright (c) 2013 Adafruit Industries. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - */ - -#include "Adafruit_GFX.h" -#include "glcdfont.c" -#ifdef __AVR__ - #include -#elif defined(ESP8266) || defined(ESP32) - #include -#endif - -// Many (but maybe not all) non-AVR board installs define macros -// for compatibility with existing PROGMEM-reading AVR code. -// Do our own checks and defines here for good measure... - -#ifndef pgm_read_byte - #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) -#endif -#ifndef pgm_read_word - #define pgm_read_word(addr) (*(const unsigned short *)(addr)) -#endif -#ifndef pgm_read_dword - #define pgm_read_dword(addr) (*(const unsigned long *)(addr)) -#endif - -// Pointers are a peculiar case...typically 16-bit on AVR boards, -// 32 bits elsewhere. Try to accommodate both... - -#if !defined(__INT_MAX__) || (__INT_MAX__ > 0xFFFF) - #define pgm_read_pointer(addr) ((void *)pgm_read_dword(addr)) -#else - #define pgm_read_pointer(addr) ((void *)pgm_read_word(addr)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif - -#ifndef _swap_int16_t -#define _swap_int16_t(a, b) { int16_t t = a; a = b; b = t; } -#endif - -Adafruit_GFX::Adafruit_GFX(int16_t w, int16_t h): -WIDTH(w), HEIGHT(h) -{ - _width = WIDTH; - _height = HEIGHT; - rotation = 0; - cursor_y = cursor_x = 0; - textsize = 1; - textcolor = textbgcolor = 0xFFFF; - wrap = true; - _cp437 = false; - gfxFont = NULL; -} - -// Bresenham's algorithm - thx wikpedia -void Adafruit_GFX::writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, - uint16_t color) { - int16_t steep = abs(y1 - y0) > abs(x1 - x0); - if (steep) { - _swap_int16_t(x0, y0); - _swap_int16_t(x1, y1); - } - - if (x0 > x1) { - _swap_int16_t(x0, x1); - _swap_int16_t(y0, y1); - } - - int16_t dx, dy; - dx = x1 - x0; - dy = abs(y1 - y0); - - int16_t err = dx / 2; - int16_t ystep; - - if (y0 < y1) { - ystep = 1; - } else { - ystep = -1; - } - - for (; x0<=x1; x0++) { - if (steep) { - writePixel(y0, x0, color); - } else { - writePixel(x0, y0, color); - } - err -= dy; - if (err < 0) { - y0 += ystep; - err += dx; - } - } -} - -void Adafruit_GFX::startWrite(){ - // Overwrite in subclasses if desired! -} - -void Adafruit_GFX::writePixel(int16_t x, int16_t y, uint16_t color){ - // Overwrite in subclasses if startWrite is defined! - drawPixel(x, y, color); -} - -// (x,y) is topmost point; if unsure, calling function -// should sort endpoints or call writeLine() instead -void Adafruit_GFX::writeFastVLine(int16_t x, int16_t y, - int16_t h, uint16_t color) { - // Overwrite in subclasses if startWrite is defined! - // Can be just writeLine(x, y, x, y+h-1, color); - // or writeFillRect(x, y, 1, h, color); - drawFastVLine(x, y, h, color); -} - -// (x,y) is leftmost point; if unsure, calling function -// should sort endpoints or call writeLine() instead -void Adafruit_GFX::writeFastHLine(int16_t x, int16_t y, - int16_t w, uint16_t color) { - // Overwrite in subclasses if startWrite is defined! - // Example: writeLine(x, y, x+w-1, y, color); - // or writeFillRect(x, y, w, 1, color); - drawFastHLine(x, y, w, color); -} - -void Adafruit_GFX::writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, - uint16_t color) { - // Overwrite in subclasses if desired! - fillRect(x,y,w,h,color); -} - -void Adafruit_GFX::endWrite(){ - // Overwrite in subclasses if startWrite is defined! -} - -// (x,y) is topmost point; if unsure, calling function -// should sort endpoints or call drawLine() instead -void Adafruit_GFX::drawFastVLine(int16_t x, int16_t y, - int16_t h, uint16_t color) { - // Update in subclasses if desired! - startWrite(); - writeLine(x, y, x, y+h-1, color); - endWrite(); -} - -// (x,y) is leftmost point; if unsure, calling function -// should sort endpoints or call drawLine() instead -void Adafruit_GFX::drawFastHLine(int16_t x, int16_t y, - int16_t w, uint16_t color) { - // Update in subclasses if desired! - startWrite(); - writeLine(x, y, x+w-1, y, color); - endWrite(); -} - -void Adafruit_GFX::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, - uint16_t color) { - // Update in subclasses if desired! - startWrite(); - for (int16_t i=x; i y1) _swap_int16_t(y0, y1); - drawFastVLine(x0, y0, y1 - y0 + 1, color); - } else if(y0 == y1){ - if(x0 > x1) _swap_int16_t(x0, x1); - drawFastHLine(x0, y0, x1 - x0 + 1, color); - } else { - startWrite(); - writeLine(x0, y0, x1, y1, color); - endWrite(); - } -} - - -// Draw a circle outline -void Adafruit_GFX::drawCircle(int16_t x0, int16_t y0, int16_t r, - uint16_t color) { - int16_t f = 1 - r; - int16_t ddF_x = 1; - int16_t ddF_y = -2 * r; - int16_t x = 0; - int16_t y = r; - - startWrite(); - writePixel(x0 , y0+r, color); - writePixel(x0 , y0-r, color); - writePixel(x0+r, y0 , color); - writePixel(x0-r, y0 , color); - - while (x= 0) { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - writePixel(x0 + x, y0 + y, color); - writePixel(x0 - x, y0 + y, color); - writePixel(x0 + x, y0 - y, color); - writePixel(x0 - x, y0 - y, color); - writePixel(x0 + y, y0 + x, color); - writePixel(x0 - y, y0 + x, color); - writePixel(x0 + y, y0 - x, color); - writePixel(x0 - y, y0 - x, color); - } - endWrite(); -} - -void Adafruit_GFX::drawCircleHelper( int16_t x0, int16_t y0, - int16_t r, uint8_t cornername, uint16_t color) { - int16_t f = 1 - r; - int16_t ddF_x = 1; - int16_t ddF_y = -2 * r; - int16_t x = 0; - int16_t y = r; - - while (x= 0) { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - if (cornername & 0x4) { - writePixel(x0 + x, y0 + y, color); - writePixel(x0 + y, y0 + x, color); - } - if (cornername & 0x2) { - writePixel(x0 + x, y0 - y, color); - writePixel(x0 + y, y0 - x, color); - } - if (cornername & 0x8) { - writePixel(x0 - y, y0 + x, color); - writePixel(x0 - x, y0 + y, color); - } - if (cornername & 0x1) { - writePixel(x0 - y, y0 - x, color); - writePixel(x0 - x, y0 - y, color); - } - } -} - -void Adafruit_GFX::fillCircle(int16_t x0, int16_t y0, int16_t r, - uint16_t color) { - startWrite(); - writeFastVLine(x0, y0-r, 2*r+1, color); - fillCircleHelper(x0, y0, r, 3, 0, color); - endWrite(); -} - -// Used to do circles and roundrects -void Adafruit_GFX::fillCircleHelper(int16_t x0, int16_t y0, int16_t r, - uint8_t cornername, int16_t delta, uint16_t color) { - - int16_t f = 1 - r; - int16_t ddF_x = 1; - int16_t ddF_y = -2 * r; - int16_t x = 0; - int16_t y = r; - - while (x= 0) { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - if (cornername & 0x1) { - writeFastVLine(x0+x, y0-y, 2*y+1+delta, color); - writeFastVLine(x0+y, y0-x, 2*x+1+delta, color); - } - if (cornername & 0x2) { - writeFastVLine(x0-x, y0-y, 2*y+1+delta, color); - writeFastVLine(x0-y, y0-x, 2*x+1+delta, color); - } - } -} - -// Draw a rectangle -void Adafruit_GFX::drawRect(int16_t x, int16_t y, int16_t w, int16_t h, - uint16_t color) { - startWrite(); - writeFastHLine(x, y, w, color); - writeFastHLine(x, y+h-1, w, color); - writeFastVLine(x, y, h, color); - writeFastVLine(x+w-1, y, h, color); - endWrite(); -} - -// Draw a rounded rectangle -void Adafruit_GFX::drawRoundRect(int16_t x, int16_t y, int16_t w, - int16_t h, int16_t r, uint16_t color) { - // smarter version - startWrite(); - writeFastHLine(x+r , y , w-2*r, color); // Top - writeFastHLine(x+r , y+h-1, w-2*r, color); // Bottom - writeFastVLine(x , y+r , h-2*r, color); // Left - writeFastVLine(x+w-1, y+r , h-2*r, color); // Right - // draw four corners - drawCircleHelper(x+r , y+r , r, 1, color); - drawCircleHelper(x+w-r-1, y+r , r, 2, color); - drawCircleHelper(x+w-r-1, y+h-r-1, r, 4, color); - drawCircleHelper(x+r , y+h-r-1, r, 8, color); - endWrite(); -} - -// Fill a rounded rectangle -void Adafruit_GFX::fillRoundRect(int16_t x, int16_t y, int16_t w, - int16_t h, int16_t r, uint16_t color) { - // smarter version - startWrite(); - writeFillRect(x+r, y, w-2*r, h, color); - - // draw four corners - fillCircleHelper(x+w-r-1, y+r, r, 1, h-2*r-1, color); - fillCircleHelper(x+r , y+r, r, 2, h-2*r-1, color); - endWrite(); -} - -// Draw a triangle -void Adafruit_GFX::drawTriangle(int16_t x0, int16_t y0, - int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) { - drawLine(x0, y0, x1, y1, color); - drawLine(x1, y1, x2, y2, color); - drawLine(x2, y2, x0, y0, color); -} - -// Fill a triangle -void Adafruit_GFX::fillTriangle(int16_t x0, int16_t y0, - int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) { - - int16_t a, b, y, last; - - // Sort coordinates by Y order (y2 >= y1 >= y0) - if (y0 > y1) { - _swap_int16_t(y0, y1); _swap_int16_t(x0, x1); - } - if (y1 > y2) { - _swap_int16_t(y2, y1); _swap_int16_t(x2, x1); - } - if (y0 > y1) { - _swap_int16_t(y0, y1); _swap_int16_t(x0, x1); - } - - startWrite(); - if(y0 == y2) { // Handle awkward all-on-same-line case as its own thing - a = b = x0; - if(x1 < a) a = x1; - else if(x1 > b) b = x1; - if(x2 < a) a = x2; - else if(x2 > b) b = x2; - writeFastHLine(a, y0, b-a+1, color); - endWrite(); - return; - } - - int16_t - dx01 = x1 - x0, - dy01 = y1 - y0, - dx02 = x2 - x0, - dy02 = y2 - y0, - dx12 = x2 - x1, - dy12 = y2 - y1; - int32_t - sa = 0, - sb = 0; - - // For upper part of triangle, find scanline crossings for segments - // 0-1 and 0-2. If y1=y2 (flat-bottomed triangle), the scanline y1 - // is included here (and second loop will be skipped, avoiding a /0 - // error there), otherwise scanline y1 is skipped here and handled - // in the second loop...which also avoids a /0 error here if y0=y1 - // (flat-topped triangle). - if(y1 == y2) last = y1; // Include y1 scanline - else last = y1-1; // Skip it - - for(y=y0; y<=last; y++) { - a = x0 + sa / dy01; - b = x0 + sb / dy02; - sa += dx01; - sb += dx02; - /* longhand: - a = x0 + (x1 - x0) * (y - y0) / (y1 - y0); - b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); - */ - if(a > b) _swap_int16_t(a,b); - writeFastHLine(a, y, b-a+1, color); - } - - // For lower part of triangle, find scanline crossings for segments - // 0-2 and 1-2. This loop is skipped if y1=y2. - sa = dx12 * (y - y1); - sb = dx02 * (y - y0); - for(; y<=y2; y++) { - a = x1 + sa / dy12; - b = x0 + sb / dy02; - sa += dx12; - sb += dx02; - /* longhand: - a = x1 + (x2 - x1) * (y - y1) / (y2 - y1); - b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); - */ - if(a > b) _swap_int16_t(a,b); - writeFastHLine(a, y, b-a+1, color); - } - endWrite(); -} - -// Draw a 1-bit image (bitmap) at the specified (x,y) position from the -// provided bitmap buffer (must be PROGMEM memory) using the specified -// foreground color (unset bits are transparent). -void Adafruit_GFX::drawBitmap(int16_t x, int16_t y, - const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color) { - - int16_t i, j, byteWidth = (w + 7) / 8; - uint8_t byte = 0; - - startWrite(); - for(j=0; j>= 1; - else byte = pgm_read_byte(bitmap + j * byteWidth + i / 8); - if(byte & 0x01) writePixel(x+i, y+j, color); - } - } - endWrite(); -} - -// Draw a character -void Adafruit_GFX::drawChar(int16_t x, int16_t y, unsigned char c, - uint16_t color, uint16_t bg, uint8_t size) { - - if(!gfxFont) { // 'Classic' built-in font - - if((x >= _width) || // Clip right - (y >= _height) || // Clip bottom - ((x + 6 * size - 1) < 0) || // Clip left - ((y + 8 * size - 1) < 0)) // Clip top - return; - - if(!_cp437 && (c >= 176)) c++; // Handle 'classic' charset behavior - - startWrite(); - for(int8_t i=0; i<6; i++ ) { - uint8_t line; - if(i < 5) line = pgm_read_byte(font+(c*5)+i); - else line = 0x0; - for(int8_t j=0; j<8; j++, line >>= 1) { - if(line & 0x1) { - if(size == 1) writePixel(x+i, y+j, color); - else writeFillRect(x+(i*size), y+(j*size), size, size, color); - } else if(bg != color) { - if(size == 1) writePixel(x+i, y+j, bg); - else writeFillRect(x+i*size, y+j*size, size, size, bg); - } - } - } - endWrite(); - - } else { // Custom font - - // Character is assumed previously filtered by write() to eliminate - // newlines, returns, non-printable characters, etc. Calling drawChar() - // directly with 'bad' characters of font may cause mayhem! - - c -= pgm_read_byte(&gfxFont->first); - GFXglyph *glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); - uint8_t *bitmap = (uint8_t *)pgm_read_pointer(&gfxFont->bitmap); - - uint16_t bo = pgm_read_word(&glyph->bitmapOffset); - uint8_t w = pgm_read_byte(&glyph->width), - h = pgm_read_byte(&glyph->height); - int8_t xo = pgm_read_byte(&glyph->xOffset), - yo = pgm_read_byte(&glyph->yOffset); - uint8_t xx, yy, bits = 0, bit = 0; - int16_t xo16 = 0, yo16 = 0; - - if(size > 1) { - xo16 = xo; - yo16 = yo; - } - - // Todo: Add character clipping here - - // NOTE: THERE IS NO 'BACKGROUND' COLOR OPTION ON CUSTOM FONTS. - // THIS IS ON PURPOSE AND BY DESIGN. The background color feature - // has typically been used with the 'classic' font to overwrite old - // screen contents with new data. This ONLY works because the - // characters are a uniform size; it's not a sensible thing to do with - // proportionally-spaced fonts with glyphs of varying sizes (and that - // may overlap). To replace previously-drawn text when using a custom - // font, use the getTextBounds() function to determine the smallest - // rectangle encompassing a string, erase the area with fillRect(), - // then draw new text. This WILL infortunately 'blink' the text, but - // is unavoidable. Drawing 'background' pixels will NOT fix this, - // only creates a new set of problems. Have an idea to work around - // this (a canvas object type for MCUs that can afford the RAM and - // displays supporting setAddrWindow() and pushColors()), but haven't - // implemented this yet. - - startWrite(); - for(yy=0; yy= 100 -size_t Adafruit_GFX::write(uint8_t c) { -#else -void Adafruit_GFX::write(uint8_t c) { -#endif - if(!gfxFont) { // 'Classic' built-in font - - if(c == '\n') { - cursor_y += textsize*8; - cursor_x = 0; - } else if(c == '\r') { - // skip em - } else { - if(wrap && ((cursor_x + textsize * 6) >= _width)) { // Heading off edge? - cursor_x = 0; // Reset x to zero - cursor_y += textsize * 8; // Advance y one line - } - drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); - cursor_x += textsize * 6; - } - - } else { // Custom font - - if(c == '\n') { - cursor_x = 0; - cursor_y += (int16_t)textsize * - (uint8_t)pgm_read_byte(&gfxFont->yAdvance); - } else if(c != '\r') { - uint8_t first = pgm_read_byte(&gfxFont->first); - if((c >= first) && (c <= (uint8_t)pgm_read_byte(&gfxFont->last))) { - uint8_t c2 = c - pgm_read_byte(&gfxFont->first); - GFXglyph *glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c2]); - uint8_t w = pgm_read_byte(&glyph->width), - h = pgm_read_byte(&glyph->height); - if((w > 0) && (h > 0)) { // Is there an associated bitmap? - int16_t xo = (int8_t)pgm_read_byte(&glyph->xOffset); // sic - if(wrap && ((cursor_x + textsize * (xo + w)) >= _width)) { - // Drawing character would go off right edge; wrap to new line - cursor_x = 0; - cursor_y += (int16_t)textsize * - (uint8_t)pgm_read_byte(&gfxFont->yAdvance); - } - drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); - } - cursor_x += pgm_read_byte(&glyph->xAdvance) * (int16_t)textsize; - } - } - - } -#if ARDUINO >= 100 - return 1; -#endif -} - -void Adafruit_GFX::setCursor(int16_t x, int16_t y) { - cursor_x = x; - cursor_y = y; -} - -int16_t Adafruit_GFX::getCursorX(void) const { - return cursor_x; -} - -int16_t Adafruit_GFX::getCursorY(void) const { - return cursor_y; -} - -void Adafruit_GFX::setTextSize(uint8_t s) { - textsize = (s > 0) ? s : 1; -} - -void Adafruit_GFX::setTextColor(uint16_t c) { - // For 'transparent' background, we'll set the bg - // to the same as fg instead of using a flag - textcolor = textbgcolor = c; -} - -void Adafruit_GFX::setTextColor(uint16_t c, uint16_t b) { - textcolor = c; - textbgcolor = b; -} - -void Adafruit_GFX::setTextWrap(boolean w) { - wrap = w; -} - -uint8_t Adafruit_GFX::getRotation(void) const { - return rotation; -} - -void Adafruit_GFX::setRotation(uint8_t x) { - rotation = (x & 3); - switch(rotation) { - case 0: - case 2: - _width = WIDTH; - _height = HEIGHT; - break; - case 1: - case 3: - _width = HEIGHT; - _height = WIDTH; - break; - } -} - -// Enable (or disable) Code Page 437-compatible charset. -// There was an error in glcdfont.c for the longest time -- one character -// (#176, the 'light shade' block) was missing -- this threw off the index -// of every character that followed it. But a TON of code has been written -// with the erroneous character indices. By default, the library uses the -// original 'wrong' behavior and old sketches will still work. Pass 'true' -// to this function to use correct CP437 character values in your code. -void Adafruit_GFX::cp437(boolean x) { - _cp437 = x; -} - -void Adafruit_GFX::setFont(const GFXfont *f) { - if(f) { // Font struct pointer passed in? - if(!gfxFont) { // And no current font struct? - // Switching from classic to new font behavior. - // Move cursor pos down 6 pixels so it's on baseline. - cursor_y += 6; - } - } else if(gfxFont) { // NULL passed. Current font struct defined? - // Switching from new to classic font behavior. - // Move cursor pos up 6 pixels so it's at top-left of char. - cursor_y -= 6; - } - gfxFont = (GFXfont *)f; -} - -// Pass string and a cursor position, returns UL corner and W,H. -void Adafruit_GFX::getTextBounds(char *str, int16_t x, int16_t y, - int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h) { - uint8_t c; // Current character - - *x1 = x; - *y1 = y; - *w = *h = 0; - - if(gfxFont) { - - GFXglyph *glyph; - uint8_t first = pgm_read_byte(&gfxFont->first), - last = pgm_read_byte(&gfxFont->last), - gw, gh, xa; - int8_t xo, yo; - int16_t minx = _width, miny = _height, maxx = -1, maxy = -1, - gx1, gy1, gx2, gy2, ts = (int16_t)textsize, - ya = ts * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); - - while((c = *str++)) { - if(c != '\n') { // Not a newline - if(c != '\r') { // Not a carriage return, is normal char - if((c >= first) && (c <= last)) { // Char present in current font - c -= first; - glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); - gw = pgm_read_byte(&glyph->width); - gh = pgm_read_byte(&glyph->height); - xa = pgm_read_byte(&glyph->xAdvance); - xo = pgm_read_byte(&glyph->xOffset); - yo = pgm_read_byte(&glyph->yOffset); - if(wrap && ((x + (((int16_t)xo + gw) * ts)) >= _width)) { - // Line wrap - x = 0; // Reset x to 0 - y += ya; // Advance y by 1 line - } - gx1 = x + xo * ts; - gy1 = y + yo * ts; - gx2 = gx1 + gw * ts - 1; - gy2 = gy1 + gh * ts - 1; - if(gx1 < minx) minx = gx1; - if(gy1 < miny) miny = gy1; - if(gx2 > maxx) maxx = gx2; - if(gy2 > maxy) maxy = gy2; - x += xa * ts; - } - } // Carriage return = do nothing - } else { // Newline - x = 0; // Reset x - y += ya; // Advance y by 1 line - } - } - // End of string - *x1 = minx; - *y1 = miny; - if(maxx >= minx) *w = maxx - minx + 1; - if(maxy >= miny) *h = maxy - miny + 1; - - } else { // Default font - - uint16_t lineWidth = 0, maxWidth = 0; // Width of current, all lines - - while((c = *str++)) { - if(c != '\n') { // Not a newline - if(c != '\r') { // Not a carriage return, is normal char - if(wrap && ((x + textsize * 6) >= _width)) { - x = 0; // Reset x to 0 - y += textsize * 8; // Advance y by 1 line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line - lineWidth = textsize * 6; // First char on new line - } else { // No line wrap, just keep incrementing X - lineWidth += textsize * 6; // Includes interchar x gap - } - } // Carriage return = do nothing - } else { // Newline - x = 0; // Reset x to 0 - y += textsize * 8; // Advance y by 1 line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line - lineWidth = 0; // Reset lineWidth for new line - } - } - // End of string - if(lineWidth) y += textsize * 8; // Add height of last (or only) line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Is the last or only line the widest? - *w = maxWidth - 1; // Don't include last interchar x gap - *h = y - *y1; - - } // End classic vs custom font -} - -// Same as above, but for PROGMEM strings -void Adafruit_GFX::getTextBounds(const __FlashStringHelper *str, - int16_t x, int16_t y, int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h) { - uint8_t *s = (uint8_t *)str, c; - - *x1 = x; - *y1 = y; - *w = *h = 0; - - if(gfxFont) { - - GFXglyph *glyph; - uint8_t first = pgm_read_byte(&gfxFont->first), - last = pgm_read_byte(&gfxFont->last), - gw, gh, xa; - int8_t xo, yo; - int16_t minx = _width, miny = _height, maxx = -1, maxy = -1, - gx1, gy1, gx2, gy2, ts = (int16_t)textsize, - ya = ts * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); - - while((c = pgm_read_byte(s++))) { - if(c != '\n') { // Not a newline - if(c != '\r') { // Not a carriage return, is normal char - if((c >= first) && (c <= last)) { // Char present in current font - c -= first; - glyph = &(((GFXglyph *)pgm_read_pointer(&gfxFont->glyph))[c]); - gw = pgm_read_byte(&glyph->width); - gh = pgm_read_byte(&glyph->height); - xa = pgm_read_byte(&glyph->xAdvance); - xo = pgm_read_byte(&glyph->xOffset); - yo = pgm_read_byte(&glyph->yOffset); - if(wrap && ((x + (((int16_t)xo + gw) * ts)) >= _width)) { - // Line wrap - x = 0; // Reset x to 0 - y += ya; // Advance y by 1 line - } - gx1 = x + xo * ts; - gy1 = y + yo * ts; - gx2 = gx1 + gw * ts - 1; - gy2 = gy1 + gh * ts - 1; - if(gx1 < minx) minx = gx1; - if(gy1 < miny) miny = gy1; - if(gx2 > maxx) maxx = gx2; - if(gy2 > maxy) maxy = gy2; - x += xa * ts; - } - } // Carriage return = do nothing - } else { // Newline - x = 0; // Reset x - y += ya; // Advance y by 1 line - } - } - // End of string - *x1 = minx; - *y1 = miny; - if(maxx >= minx) *w = maxx - minx + 1; - if(maxy >= miny) *h = maxy - miny + 1; - - } else { // Default font - - uint16_t lineWidth = 0, maxWidth = 0; // Width of current, all lines - - while((c = pgm_read_byte(s++))) { - if(c != '\n') { // Not a newline - if(c != '\r') { // Not a carriage return, is normal char - if(wrap && ((x + textsize * 6) >= _width)) { - x = 0; // Reset x to 0 - y += textsize * 8; // Advance y by 1 line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line - lineWidth = textsize * 6; // First char on new line - } else { // No line wrap, just keep incrementing X - lineWidth += textsize * 6; // Includes interchar x gap - } - } // Carriage return = do nothing - } else { // Newline - x = 0; // Reset x to 0 - y += textsize * 8; // Advance y by 1 line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Save widest line - lineWidth = 0; // Reset lineWidth for new line - } - } - // End of string - if(lineWidth) y += textsize * 8; // Add height of last (or only) line - if(lineWidth > maxWidth) maxWidth = lineWidth; // Is the last or only line the widest? - *w = maxWidth - 1; // Don't include last interchar x gap - *h = y - *y1; - - } // End classic vs custom font -} - -// Return the size of the display (per current rotation) -int16_t Adafruit_GFX::width(void) const { - return _width; -} - -int16_t Adafruit_GFX::height(void) const { - return _height; -} - -void Adafruit_GFX::invertDisplay(boolean i) { - // Do nothing, must be subclassed if supported by hardware -} - -/***************************************************************************/ -// code for the GFX button UI element - -Adafruit_GFX_Button::Adafruit_GFX_Button(void) { - _gfx = 0; -} - -// Classic initButton() function: pass center & size -void Adafruit_GFX_Button::initButton( - Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w, uint16_t h, - uint16_t outline, uint16_t fill, uint16_t textcolor, - char *label, uint8_t textsize) -{ - // Tweak arguments and pass to the newer initButtonUL() function... - initButtonUL(gfx, x - (w / 2), y - (h / 2), w, h, outline, fill, - textcolor, label, textsize); -} - -// Newer function instead accepts upper-left corner & size -void Adafruit_GFX_Button::initButtonUL( - Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w, uint16_t h, - uint16_t outline, uint16_t fill, uint16_t textcolor, - char *label, uint8_t textsize) -{ - _x1 = x1; - _y1 = y1; - _w = w; - _h = h; - _outlinecolor = outline; - _fillcolor = fill; - _textcolor = textcolor; - _textsize = textsize; - _gfx = gfx; - strncpy(_label, label, 9); -} - -void Adafruit_GFX_Button::drawButton(boolean inverted) { - uint16_t fill, outline, text; - - if(!inverted) { - fill = _fillcolor; - outline = _outlinecolor; - text = _textcolor; - } else { - fill = _textcolor; - outline = _outlinecolor; - text = _fillcolor; - } - - uint8_t r = min(_w, _h) / 4; // Corner radius - _gfx->fillRoundRect(_x1, _y1, _w, _h, r, fill); - _gfx->drawRoundRect(_x1, _y1, _w, _h, r, outline); - - _gfx->setCursor(_x1 + (_w/2) - (strlen(_label) * 3 * _textsize), - _y1 + (_h/2) - (4 * _textsize)); - _gfx->setTextColor(text); - _gfx->setTextSize(_textsize); - _gfx->print(_label); -} - -boolean Adafruit_GFX_Button::contains(int16_t x, int16_t y) { - return ((x >= _x1) && (x < (_x1 + _w)) && - (y >= _y1) && (y < (_y1 + _h))); -} - -void Adafruit_GFX_Button::press(boolean p) { - laststate = currstate; - currstate = p; -} - -boolean Adafruit_GFX_Button::isPressed() { return currstate; } -boolean Adafruit_GFX_Button::justPressed() { return (currstate && !laststate); } -boolean Adafruit_GFX_Button::justReleased() { return (!currstate && laststate); } - -// ------------------------------------------------------------------------- - -// GFXcanvas1 and GFXcanvas16 (currently a WIP, don't get too comfy with the -// implementation) provide 1- and 16-bit offscreen canvases, the address of -// which can be passed to drawBitmap() or pushColors() (the latter appears -// to only be in Adafruit_TFTLCD at this time). This is here mostly to -// help with the recently-added proportionally-spaced fonts; adds a way to -// refresh a section of the screen without a massive flickering clear-and- -// redraw...but maybe you'll find other uses too. VERY RAM-intensive, since -// the buffer is in MCU memory and not the display driver...GXFcanvas1 might -// be minimally useful on an Uno-class board, but this and GFXcanvas16 are -// much more likely to require at least a Mega or various recent ARM-type -// boards (recommended, as the text+bitmap draw can be pokey). GFXcanvas1 -// requires 1 bit per pixel (rounded up to nearest byte per scanline), -// GFXcanvas16 requires 2 bytes per pixel (no scanline pad). -// NOT EXTENSIVELY TESTED YET. MAY CONTAIN WORST BUGS KNOWN TO HUMANKIND. - -GFXcanvas1::GFXcanvas1(uint16_t w, uint16_t h) : Adafruit_GFX(w, h) { - uint16_t bytes = ((w + 7) / 8) * h; - if((buffer = (uint8_t *)malloc(bytes))) { - memset(buffer, 0, bytes); - } -} - -GFXcanvas1::~GFXcanvas1(void) { - if(buffer) free(buffer); -} - -uint8_t* GFXcanvas1::getBuffer(void) { - return buffer; -} - -void GFXcanvas1::drawPixel(int16_t x, int16_t y, uint16_t color) { - // Bitmask tables of 0x80>>X and ~(0x80>>X), because X>>Y is slow on AVR - static const uint8_t PROGMEM - GFXsetBit[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }, - GFXclrBit[] = { 0x7F, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE }; - - if(buffer) { - if((x < 0) || (y < 0) || (x >= _width) || (y >= _height)) return; - - int16_t t; - switch(rotation) { - case 1: - t = x; - x = WIDTH - 1 - y; - y = t; - break; - case 2: - x = WIDTH - 1 - x; - y = HEIGHT - 1 - y; - break; - case 3: - t = x; - x = y; - y = HEIGHT - 1 - t; - break; - } - - uint8_t *ptr = &buffer[(x / 8) + y * ((WIDTH + 7) / 8)]; - if(color) *ptr |= pgm_read_byte(&GFXsetBit[x & 7]); - else *ptr &= pgm_read_byte(&GFXclrBit[x & 7]); - } -} - -void GFXcanvas1::fillScreen(uint16_t color) { - if(buffer) { - uint16_t bytes = ((WIDTH + 7) / 8) * HEIGHT; - memset(buffer, color ? 0xFF : 0x00, bytes); - } -} - -GFXcanvas16::GFXcanvas16(uint16_t w, uint16_t h) : Adafruit_GFX(w, h) { - uint16_t bytes = w * h * 2; - if((buffer = (uint16_t *)malloc(bytes))) { - memset(buffer, 0, bytes); - } -} - -GFXcanvas16::~GFXcanvas16(void) { - if(buffer) free(buffer); -} - -uint16_t* GFXcanvas16::getBuffer(void) { - return buffer; -} - -void GFXcanvas16::drawPixel(int16_t x, int16_t y, uint16_t color) { - if(buffer) { - if((x < 0) || (y < 0) || (x >= _width) || (y >= _height)) return; - - int16_t t; - switch(rotation) { - case 1: - t = x; - x = WIDTH - 1 - y; - y = t; - break; - case 2: - x = WIDTH - 1 - x; - y = HEIGHT - 1 - y; - break; - case 3: - t = x; - x = y; - y = HEIGHT - 1 - t; - break; - } - - buffer[x + y * WIDTH] = color; - } -} - -void GFXcanvas16::fillScreen(uint16_t color) { - if(buffer) { - uint8_t hi = color >> 8, lo = color & 0xFF; - if(hi == lo) { - memset(buffer, lo, WIDTH * HEIGHT * 2); - } else { - uint16_t i, pixels = WIDTH * HEIGHT; - for(i=0; i= 100 - #include "Arduino.h" - #include "Print.h" -#else - #include "WProgram.h" -#endif -#include "gfxfont.h" - -class Adafruit_GFX : public Print { - - public: - - Adafruit_GFX(int16_t w, int16_t h); // Constructor - - // This MUST be defined by the subclass: - virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0; - - // TRANSACTION API / CORE DRAW API - // These MAY be overridden by the subclass to provide device-specific - // optimized code. Otherwise 'generic' versions are used. - virtual void startWrite(void); - virtual void writePixel(int16_t x, int16_t y, uint16_t color); - virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); - virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); - virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); - virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color); - virtual void endWrite(void); - - // CONTROL API - // These MAY be overridden by the subclass to provide device-specific - // optimized code. Otherwise 'generic' versions are used. - virtual void setRotation(uint8_t r); - virtual void invertDisplay(boolean i); - - // BASIC DRAW API - // These MAY be overridden by the subclass to provide device-specific - // optimized code. Otherwise 'generic' versions are used. - virtual void - // It's good to implement those, even if using transaction API - drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color), - drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color), - fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color), - fillScreen(uint16_t color), - // Optional and probably not necessary to change - drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color), - drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); - - // These exist only with Adafruit_GFX (no subclass overrides) - void - drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), - drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, - uint16_t color), - fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), - fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, - int16_t delta, uint16_t color), - drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, - int16_t x2, int16_t y2, uint16_t color), - fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, - int16_t x2, int16_t y2, uint16_t color), - drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, - int16_t radius, uint16_t color), - fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, - int16_t radius, uint16_t color), - drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, - int16_t w, int16_t h, uint16_t color), - drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, - int16_t w, int16_t h, uint16_t color, uint16_t bg), - drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, - int16_t w, int16_t h, uint16_t color), - drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, - int16_t w, int16_t h, uint16_t color, uint16_t bg), - drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, - int16_t w, int16_t h, uint16_t color), - drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, - uint16_t bg, uint8_t size), - setCursor(int16_t x, int16_t y), - setTextColor(uint16_t c), - setTextColor(uint16_t c, uint16_t bg), - setTextSize(uint8_t s), - setTextWrap(boolean w), - cp437(boolean x=true), - setFont(const GFXfont *f = NULL), - getTextBounds(char *string, int16_t x, int16_t y, - int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h), - getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y, - int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h); - -#if ARDUINO >= 100 - virtual size_t write(uint8_t); -#else - virtual void write(uint8_t); -#endif - - int16_t height(void) const; - int16_t width(void) const; - - uint8_t getRotation(void) const; - - // get current cursor position (get rotation safe maximum values, using: width() for x, height() for y) - int16_t getCursorX(void) const; - int16_t getCursorY(void) const; - - protected: - const int16_t - WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes - int16_t - _width, _height, // Display w/h as modified by current rotation - cursor_x, cursor_y; - uint16_t - textcolor, textbgcolor; - uint8_t - textsize, - rotation; - boolean - wrap, // If set, 'wrap' text at right edge of display - _cp437; // If set, use correct CP437 charset (default is off) - GFXfont - *gfxFont; -}; - -class Adafruit_GFX_Button { - - public: - Adafruit_GFX_Button(void); - // "Classic" initButton() uses center & size - void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, - uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, - uint16_t textcolor, char *label, uint8_t textsize); - // New/alt initButton() uses upper-left corner & size - void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, - uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, - uint16_t textcolor, char *label, uint8_t textsize); - void drawButton(boolean inverted = false); - boolean contains(int16_t x, int16_t y); - - void press(boolean p); - boolean isPressed(); - boolean justPressed(); - boolean justReleased(); - - private: - Adafruit_GFX *_gfx; - int16_t _x1, _y1; // Coordinates of top-left corner - uint16_t _w, _h; - uint8_t _textsize; - uint16_t _outlinecolor, _fillcolor, _textcolor; - char _label[10]; - - boolean currstate, laststate; -}; - -class GFXcanvas1 : public Adafruit_GFX { - - public: - GFXcanvas1(uint16_t w, uint16_t h); - ~GFXcanvas1(void); - void drawPixel(int16_t x, int16_t y, uint16_t color), - fillScreen(uint16_t color); - uint8_t *getBuffer(void); - private: - uint8_t *buffer; -}; - -class GFXcanvas16 : public Adafruit_GFX { - GFXcanvas16(uint16_t w, uint16_t h); - ~GFXcanvas16(void); - void drawPixel(int16_t x, int16_t y, uint16_t color), - fillScreen(uint16_t color); - uint16_t *getBuffer(void); - private: - uint16_t *buffer; -}; - -#endif // _ADAFRUIT_GFX_H diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h deleted file mode 100644 index 94ecb88..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono12pt7b.h +++ /dev/null @@ -1,227 +0,0 @@ -const uint8_t FreeMono12pt7bBitmaps[] PROGMEM = { - 0x49, 0x24, 0x92, 0x48, 0x01, 0xF8, 0xE7, 0xE7, 0x67, 0x42, 0x42, 0x42, - 0x42, 0x09, 0x02, 0x41, 0x10, 0x44, 0x11, 0x1F, 0xF1, 0x10, 0x4C, 0x12, - 0x3F, 0xE1, 0x20, 0x48, 0x12, 0x04, 0x81, 0x20, 0x48, 0x04, 0x07, 0xA2, - 0x19, 0x02, 0x40, 0x10, 0x03, 0x00, 0x3C, 0x00, 0x80, 0x10, 0x06, 0x01, - 0xE0, 0xA7, 0xC0, 0x40, 0x10, 0x04, 0x00, 0x3C, 0x19, 0x84, 0x21, 0x08, - 0x66, 0x0F, 0x00, 0x0C, 0x1C, 0x78, 0x01, 0xE0, 0xCC, 0x21, 0x08, 0x43, - 0x30, 0x78, 0x3E, 0x30, 0x10, 0x08, 0x02, 0x03, 0x03, 0x47, 0x14, 0x8A, - 0x43, 0x11, 0x8F, 0x60, 0xFD, 0xA4, 0x90, 0x05, 0x25, 0x24, 0x92, 0x48, - 0x92, 0x24, 0x11, 0x24, 0x89, 0x24, 0x92, 0x92, 0x90, 0x00, 0x04, 0x02, - 0x11, 0x07, 0xF0, 0xC0, 0x50, 0x48, 0x42, 0x00, 0x08, 0x04, 0x02, 0x01, - 0x00, 0x87, 0xFC, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3B, 0x9C, 0xCE, - 0x62, 0x00, 0xFF, 0xE0, 0xFF, 0x80, 0x00, 0x80, 0xC0, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x80, - 0x80, 0x40, 0x00, 0x1C, 0x31, 0x90, 0x58, 0x38, 0x0C, 0x06, 0x03, 0x01, - 0x80, 0xC0, 0x60, 0x30, 0x34, 0x13, 0x18, 0x70, 0x30, 0xE1, 0x44, 0x81, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x81, 0x1F, 0xC0, 0x1E, 0x10, 0x90, - 0x68, 0x10, 0x08, 0x0C, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, 0x0E, - 0x07, 0xFE, 0x3E, 0x10, 0x40, 0x08, 0x02, 0x00, 0x80, 0x40, 0xE0, 0x04, - 0x00, 0x80, 0x10, 0x04, 0x01, 0x00, 0xD8, 0x63, 0xE0, 0x06, 0x0A, 0x0A, - 0x12, 0x22, 0x22, 0x42, 0x42, 0x82, 0x82, 0xFF, 0x02, 0x02, 0x02, 0x0F, - 0x7F, 0x20, 0x10, 0x08, 0x04, 0x02, 0xF1, 0x8C, 0x03, 0x00, 0x80, 0x40, - 0x20, 0x18, 0x16, 0x18, 0xF0, 0x0F, 0x8C, 0x08, 0x08, 0x04, 0x04, 0x02, - 0x79, 0x46, 0xC1, 0xE0, 0x60, 0x28, 0x14, 0x19, 0x08, 0x78, 0xFF, 0x81, - 0x81, 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, - 0x08, 0x3E, 0x31, 0xB0, 0x70, 0x18, 0x0C, 0x05, 0x8C, 0x38, 0x63, 0x40, - 0x60, 0x30, 0x18, 0x1B, 0x18, 0xF8, 0x3C, 0x31, 0x30, 0x50, 0x28, 0x0C, - 0x0F, 0x06, 0x85, 0x3C, 0x80, 0x40, 0x40, 0x20, 0x20, 0x63, 0xE0, 0xFF, - 0x80, 0x07, 0xFC, 0x39, 0xCE, 0x00, 0x00, 0x06, 0x33, 0x98, 0xC4, 0x00, - 0x00, 0xC0, 0x60, 0x18, 0x0C, 0x06, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, - 0x00, 0x30, 0x01, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x06, - 0x00, 0x30, 0x01, 0x80, 0x18, 0x01, 0x80, 0xC0, 0x30, 0x18, 0x0C, 0x02, - 0x00, 0x00, 0x3E, 0x60, 0xA0, 0x20, 0x10, 0x08, 0x08, 0x18, 0x10, 0x08, - 0x00, 0x00, 0x00, 0x01, 0xC0, 0xE0, 0x1C, 0x31, 0x10, 0x50, 0x28, 0x14, - 0x3A, 0x25, 0x22, 0x91, 0x4C, 0xA3, 0xF0, 0x08, 0x02, 0x01, 0x80, 0x7C, - 0x3F, 0x00, 0x0C, 0x00, 0x48, 0x01, 0x20, 0x04, 0x40, 0x21, 0x00, 0x84, - 0x04, 0x08, 0x1F, 0xE0, 0x40, 0x82, 0x01, 0x08, 0x04, 0x20, 0x13, 0xE1, - 0xF0, 0xFF, 0x08, 0x11, 0x01, 0x20, 0x24, 0x04, 0x81, 0x1F, 0xC2, 0x06, - 0x40, 0x68, 0x05, 0x00, 0xA0, 0x14, 0x05, 0xFF, 0x00, 0x1E, 0x48, 0x74, - 0x05, 0x01, 0x80, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x04, 0x01, 0x01, - 0x30, 0x87, 0xC0, 0xFE, 0x10, 0x44, 0x09, 0x02, 0x40, 0x50, 0x14, 0x05, - 0x01, 0x40, 0x50, 0x14, 0x0D, 0x02, 0x41, 0x3F, 0x80, 0xFF, 0xC8, 0x09, - 0x01, 0x20, 0x04, 0x00, 0x88, 0x1F, 0x02, 0x20, 0x40, 0x08, 0x01, 0x00, - 0xA0, 0x14, 0x03, 0xFF, 0xC0, 0xFF, 0xE8, 0x05, 0x00, 0xA0, 0x04, 0x00, - 0x88, 0x1F, 0x02, 0x20, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x01, 0xF0, - 0x00, 0x1F, 0x46, 0x19, 0x01, 0x60, 0x28, 0x01, 0x00, 0x20, 0x04, 0x00, - 0x83, 0xF0, 0x0B, 0x01, 0x20, 0x23, 0x0C, 0x3E, 0x00, 0xE1, 0xD0, 0x24, - 0x09, 0x02, 0x40, 0x90, 0x27, 0xF9, 0x02, 0x40, 0x90, 0x24, 0x09, 0x02, - 0x40, 0xB8, 0x70, 0xFE, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x20, - 0x40, 0x81, 0x1F, 0xC0, 0x0F, 0xE0, 0x10, 0x02, 0x00, 0x40, 0x08, 0x01, - 0x00, 0x20, 0x04, 0x80, 0x90, 0x12, 0x02, 0x40, 0xC6, 0x30, 0x7C, 0x00, - 0xF1, 0xE4, 0x0C, 0x41, 0x04, 0x20, 0x44, 0x04, 0x80, 0x5C, 0x06, 0x60, - 0x43, 0x04, 0x10, 0x40, 0x84, 0x08, 0x40, 0xCF, 0x07, 0xF8, 0x04, 0x00, - 0x80, 0x10, 0x02, 0x00, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x04, 0x80, - 0x90, 0x12, 0x03, 0xFF, 0xC0, 0xE0, 0x3B, 0x01, 0x94, 0x14, 0xA0, 0xA4, - 0x89, 0x24, 0x49, 0x14, 0x48, 0xA2, 0x45, 0x12, 0x10, 0x90, 0x04, 0x80, - 0x24, 0x01, 0x78, 0x3C, 0xE0, 0xF6, 0x02, 0x50, 0x25, 0x02, 0x48, 0x24, - 0xC2, 0x44, 0x24, 0x22, 0x43, 0x24, 0x12, 0x40, 0xA4, 0x0A, 0x40, 0x6F, - 0x06, 0x0F, 0x03, 0x0C, 0x60, 0x64, 0x02, 0x80, 0x18, 0x01, 0x80, 0x18, - 0x01, 0x80, 0x18, 0x01, 0x40, 0x26, 0x06, 0x30, 0xC0, 0xF0, 0xFF, 0x10, - 0x64, 0x05, 0x01, 0x40, 0x50, 0x34, 0x19, 0xFC, 0x40, 0x10, 0x04, 0x01, - 0x00, 0x40, 0x3E, 0x00, 0x0F, 0x03, 0x0C, 0x60, 0x64, 0x02, 0x80, 0x18, - 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x40, 0x26, 0x06, 0x30, 0xC1, - 0xF0, 0x0C, 0x01, 0xF1, 0x30, 0xE0, 0xFF, 0x04, 0x18, 0x40, 0xC4, 0x04, - 0x40, 0x44, 0x0C, 0x41, 0x87, 0xE0, 0x43, 0x04, 0x10, 0x40, 0x84, 0x04, - 0x40, 0x4F, 0x03, 0x1F, 0x48, 0x34, 0x05, 0x01, 0x40, 0x08, 0x01, 0xC0, - 0x0E, 0x00, 0x40, 0x18, 0x06, 0x01, 0xE1, 0xA7, 0xC0, 0xFF, 0xF0, 0x86, - 0x10, 0x82, 0x00, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, - 0x02, 0x00, 0x40, 0x7F, 0x00, 0xF0, 0xF4, 0x02, 0x40, 0x24, 0x02, 0x40, - 0x24, 0x02, 0x40, 0x24, 0x02, 0x40, 0x24, 0x02, 0x40, 0x22, 0x04, 0x30, - 0xC0, 0xF0, 0xF8, 0x7C, 0x80, 0x22, 0x01, 0x04, 0x04, 0x10, 0x20, 0x40, - 0x80, 0x82, 0x02, 0x10, 0x08, 0x40, 0x11, 0x00, 0x48, 0x01, 0xA0, 0x03, - 0x00, 0x0C, 0x00, 0xF8, 0x7C, 0x80, 0x22, 0x00, 0x88, 0xC2, 0x23, 0x10, - 0x8E, 0x42, 0x29, 0x09, 0x24, 0x24, 0x90, 0x91, 0x41, 0x85, 0x06, 0x14, - 0x18, 0x70, 0x60, 0x80, 0xF0, 0xF2, 0x06, 0x30, 0x41, 0x08, 0x09, 0x80, - 0x50, 0x06, 0x00, 0x60, 0x0D, 0x00, 0x88, 0x10, 0xC2, 0x04, 0x60, 0x2F, - 0x0F, 0xF0, 0xF2, 0x02, 0x10, 0x41, 0x04, 0x08, 0x80, 0x50, 0x05, 0x00, - 0x20, 0x02, 0x00, 0x20, 0x02, 0x00, 0x20, 0x02, 0x01, 0xFC, 0xFF, 0x40, - 0xA0, 0x90, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x50, 0x30, 0x18, - 0x0F, 0xFC, 0xF2, 0x49, 0x24, 0x92, 0x49, 0x24, 0x9C, 0x80, 0x60, 0x10, - 0x08, 0x02, 0x01, 0x00, 0x40, 0x20, 0x08, 0x04, 0x01, 0x00, 0x80, 0x20, - 0x10, 0x04, 0x02, 0x00, 0x80, 0x40, 0xE4, 0x92, 0x49, 0x24, 0x92, 0x49, - 0x3C, 0x08, 0x0C, 0x09, 0x0C, 0x4C, 0x14, 0x04, 0xFF, 0xFC, 0x84, 0x21, - 0x3E, 0x00, 0x60, 0x08, 0x02, 0x3F, 0x98, 0x28, 0x0A, 0x02, 0xC3, 0x9F, - 0x30, 0xE0, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x13, 0xE0, 0xA0, - 0x86, 0x02, 0x20, 0x09, 0x00, 0x48, 0x02, 0x40, 0x13, 0x01, 0x14, 0x1B, - 0x9F, 0x00, 0x1F, 0x4C, 0x19, 0x01, 0x40, 0x28, 0x01, 0x00, 0x20, 0x02, - 0x00, 0x60, 0x43, 0xF0, 0x00, 0xC0, 0x08, 0x01, 0x00, 0x20, 0x04, 0x3C, - 0x98, 0x52, 0x06, 0x80, 0x50, 0x0A, 0x01, 0x40, 0x24, 0x0C, 0xC2, 0x87, - 0x98, 0x3F, 0x18, 0x68, 0x06, 0x01, 0xFF, 0xE0, 0x08, 0x03, 0x00, 0x60, - 0xC7, 0xC0, 0x0F, 0x98, 0x08, 0x04, 0x02, 0x07, 0xF8, 0x80, 0x40, 0x20, - 0x10, 0x08, 0x04, 0x02, 0x01, 0x03, 0xF8, 0x1E, 0x6C, 0x39, 0x03, 0x40, - 0x28, 0x05, 0x00, 0xA0, 0x12, 0x06, 0x61, 0x43, 0xC8, 0x01, 0x00, 0x20, - 0x08, 0x3E, 0x00, 0xC0, 0x10, 0x04, 0x01, 0x00, 0x40, 0x13, 0x87, 0x11, - 0x82, 0x40, 0x90, 0x24, 0x09, 0x02, 0x40, 0x90, 0x2E, 0x1C, 0x08, 0x04, - 0x02, 0x00, 0x00, 0x03, 0xC0, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, - 0x80, 0x43, 0xFE, 0x04, 0x08, 0x10, 0x00, 0x1F, 0xC0, 0x81, 0x02, 0x04, - 0x08, 0x10, 0x20, 0x40, 0x81, 0x02, 0x0B, 0xE0, 0xE0, 0x02, 0x00, 0x20, - 0x02, 0x00, 0x20, 0x02, 0x3C, 0x21, 0x02, 0x60, 0x2C, 0x03, 0x80, 0x24, - 0x02, 0x20, 0x21, 0x02, 0x08, 0xE1, 0xF0, 0x78, 0x04, 0x02, 0x01, 0x00, - 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x80, 0x43, 0xFE, - 0xDC, 0xE3, 0x19, 0x90, 0x84, 0x84, 0x24, 0x21, 0x21, 0x09, 0x08, 0x48, - 0x42, 0x42, 0x17, 0x18, 0xC0, 0x67, 0x83, 0x84, 0x20, 0x22, 0x02, 0x20, - 0x22, 0x02, 0x20, 0x22, 0x02, 0x20, 0x2F, 0x07, 0x1F, 0x04, 0x11, 0x01, - 0x40, 0x18, 0x03, 0x00, 0x60, 0x0A, 0x02, 0x20, 0x83, 0xE0, 0xCF, 0x85, - 0x06, 0x60, 0x24, 0x01, 0x40, 0x14, 0x01, 0x40, 0x16, 0x02, 0x50, 0x44, - 0xF8, 0x40, 0x04, 0x00, 0x40, 0x0F, 0x00, 0x1E, 0x6C, 0x3B, 0x03, 0x40, - 0x28, 0x05, 0x00, 0xA0, 0x12, 0x06, 0x61, 0x43, 0xC8, 0x01, 0x00, 0x20, - 0x04, 0x03, 0xC0, 0xE3, 0x8B, 0x13, 0x80, 0x80, 0x20, 0x08, 0x02, 0x00, - 0x80, 0x20, 0x3F, 0x80, 0x1F, 0x58, 0x34, 0x05, 0x80, 0x1E, 0x00, 0x60, - 0x06, 0x01, 0xC0, 0xAF, 0xC0, 0x20, 0x04, 0x00, 0x80, 0x10, 0x0F, 0xF0, - 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, 0x03, 0x04, 0x3F, - 0x00, 0xC1, 0xC8, 0x09, 0x01, 0x20, 0x24, 0x04, 0x80, 0x90, 0x12, 0x02, - 0x61, 0xC7, 0xCC, 0xF8, 0xF9, 0x01, 0x08, 0x10, 0x60, 0x81, 0x08, 0x08, - 0x40, 0x22, 0x01, 0x20, 0x05, 0x00, 0x30, 0x00, 0xF0, 0x7A, 0x01, 0x10, - 0x08, 0x8C, 0x42, 0x62, 0x12, 0x90, 0xA5, 0x05, 0x18, 0x28, 0xC0, 0x86, - 0x00, 0x78, 0xF3, 0x04, 0x18, 0x80, 0xD0, 0x06, 0x00, 0x70, 0x09, 0x81, - 0x0C, 0x20, 0x6F, 0x8F, 0xF0, 0xF2, 0x02, 0x20, 0x41, 0x04, 0x10, 0x80, - 0x88, 0x09, 0x00, 0x50, 0x06, 0x00, 0x20, 0x04, 0x00, 0x40, 0x08, 0x0F, - 0xE0, 0xFF, 0x41, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0xBF, - 0xC0, 0x19, 0x08, 0x42, 0x10, 0x84, 0x64, 0x18, 0x42, 0x10, 0x84, 0x20, - 0xC0, 0xFF, 0xFF, 0xC0, 0xC1, 0x08, 0x42, 0x10, 0x84, 0x10, 0x4C, 0x42, - 0x10, 0x84, 0x26, 0x00, 0x38, 0x13, 0x38, 0x38 }; - -const GFXglyph FreeMono12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' - { 0, 3, 15, 14, 6, -14 }, // 0x21 '!' - { 6, 8, 7, 14, 3, -14 }, // 0x22 '"' - { 13, 10, 16, 14, 2, -14 }, // 0x23 '#' - { 33, 10, 17, 14, 2, -14 }, // 0x24 '$' - { 55, 10, 15, 14, 2, -14 }, // 0x25 '%' - { 74, 9, 12, 14, 3, -11 }, // 0x26 '&' - { 88, 3, 7, 14, 5, -14 }, // 0x27 ''' - { 91, 3, 18, 14, 7, -14 }, // 0x28 '(' - { 98, 3, 18, 14, 4, -14 }, // 0x29 ')' - { 105, 9, 9, 14, 3, -14 }, // 0x2A '*' - { 116, 9, 11, 14, 3, -11 }, // 0x2B '+' - { 129, 5, 7, 14, 3, -3 }, // 0x2C ',' - { 134, 11, 1, 14, 2, -6 }, // 0x2D '-' - { 136, 3, 3, 14, 5, -2 }, // 0x2E '.' - { 138, 9, 18, 14, 3, -15 }, // 0x2F '/' - { 159, 9, 15, 14, 3, -14 }, // 0x30 '0' - { 176, 7, 14, 14, 4, -13 }, // 0x31 '1' - { 189, 9, 15, 14, 2, -14 }, // 0x32 '2' - { 206, 10, 15, 14, 2, -14 }, // 0x33 '3' - { 225, 8, 15, 14, 3, -14 }, // 0x34 '4' - { 240, 9, 15, 14, 3, -14 }, // 0x35 '5' - { 257, 9, 15, 14, 3, -14 }, // 0x36 '6' - { 274, 8, 15, 14, 3, -14 }, // 0x37 '7' - { 289, 9, 15, 14, 3, -14 }, // 0x38 '8' - { 306, 9, 15, 14, 3, -14 }, // 0x39 '9' - { 323, 3, 10, 14, 5, -9 }, // 0x3A ':' - { 327, 5, 13, 14, 3, -9 }, // 0x3B ';' - { 336, 11, 11, 14, 2, -11 }, // 0x3C '<' - { 352, 12, 4, 14, 1, -8 }, // 0x3D '=' - { 358, 11, 11, 14, 2, -11 }, // 0x3E '>' - { 374, 9, 14, 14, 3, -13 }, // 0x3F '?' - { 390, 9, 16, 14, 3, -14 }, // 0x40 '@' - { 408, 14, 14, 14, 0, -13 }, // 0x41 'A' - { 433, 11, 14, 14, 2, -13 }, // 0x42 'B' - { 453, 10, 14, 14, 2, -13 }, // 0x43 'C' - { 471, 10, 14, 14, 2, -13 }, // 0x44 'D' - { 489, 11, 14, 14, 2, -13 }, // 0x45 'E' - { 509, 11, 14, 14, 2, -13 }, // 0x46 'F' - { 529, 11, 14, 14, 2, -13 }, // 0x47 'G' - { 549, 10, 14, 14, 2, -13 }, // 0x48 'H' - { 567, 7, 14, 14, 4, -13 }, // 0x49 'I' - { 580, 11, 14, 14, 2, -13 }, // 0x4A 'J' - { 600, 12, 14, 14, 2, -13 }, // 0x4B 'K' - { 621, 11, 14, 14, 2, -13 }, // 0x4C 'L' - { 641, 13, 14, 14, 1, -13 }, // 0x4D 'M' - { 664, 12, 14, 14, 1, -13 }, // 0x4E 'N' - { 685, 12, 14, 14, 1, -13 }, // 0x4F 'O' - { 706, 10, 14, 14, 2, -13 }, // 0x50 'P' - { 724, 12, 17, 14, 1, -13 }, // 0x51 'Q' - { 750, 12, 14, 14, 2, -13 }, // 0x52 'R' - { 771, 10, 14, 14, 2, -13 }, // 0x53 'S' - { 789, 11, 14, 14, 2, -13 }, // 0x54 'T' - { 809, 12, 14, 14, 1, -13 }, // 0x55 'U' - { 830, 14, 14, 14, 0, -13 }, // 0x56 'V' - { 855, 14, 14, 14, 0, -13 }, // 0x57 'W' - { 880, 12, 14, 14, 1, -13 }, // 0x58 'X' - { 901, 12, 14, 14, 1, -13 }, // 0x59 'Y' - { 922, 9, 14, 14, 3, -13 }, // 0x5A 'Z' - { 938, 3, 18, 14, 7, -14 }, // 0x5B '[' - { 945, 9, 18, 14, 3, -15 }, // 0x5C '\' - { 966, 3, 18, 14, 5, -14 }, // 0x5D ']' - { 973, 9, 6, 14, 3, -14 }, // 0x5E '^' - { 980, 14, 1, 14, 0, 3 }, // 0x5F '_' - { 982, 4, 4, 14, 4, -15 }, // 0x60 '`' - { 984, 10, 10, 14, 2, -9 }, // 0x61 'a' - { 997, 13, 15, 14, 0, -14 }, // 0x62 'b' - { 1022, 11, 10, 14, 2, -9 }, // 0x63 'c' - { 1036, 11, 15, 14, 2, -14 }, // 0x64 'd' - { 1057, 10, 10, 14, 2, -9 }, // 0x65 'e' - { 1070, 9, 15, 14, 4, -14 }, // 0x66 'f' - { 1087, 11, 14, 14, 2, -9 }, // 0x67 'g' - { 1107, 10, 15, 14, 2, -14 }, // 0x68 'h' - { 1126, 9, 15, 14, 3, -14 }, // 0x69 'i' - { 1143, 7, 19, 14, 3, -14 }, // 0x6A 'j' - { 1160, 12, 15, 14, 1, -14 }, // 0x6B 'k' - { 1183, 9, 15, 14, 3, -14 }, // 0x6C 'l' - { 1200, 13, 10, 14, 1, -9 }, // 0x6D 'm' - { 1217, 12, 10, 14, 1, -9 }, // 0x6E 'n' - { 1232, 11, 10, 14, 2, -9 }, // 0x6F 'o' - { 1246, 12, 14, 14, 1, -9 }, // 0x70 'p' - { 1267, 11, 14, 14, 2, -9 }, // 0x71 'q' - { 1287, 10, 10, 14, 3, -9 }, // 0x72 'r' - { 1300, 10, 10, 14, 2, -9 }, // 0x73 's' - { 1313, 11, 14, 14, 1, -13 }, // 0x74 't' - { 1333, 11, 10, 14, 2, -9 }, // 0x75 'u' - { 1347, 13, 10, 14, 1, -9 }, // 0x76 'v' - { 1364, 13, 10, 14, 1, -9 }, // 0x77 'w' - { 1381, 12, 10, 14, 1, -9 }, // 0x78 'x' - { 1396, 12, 14, 14, 1, -9 }, // 0x79 'y' - { 1417, 9, 10, 14, 3, -9 }, // 0x7A 'z' - { 1429, 5, 18, 14, 5, -14 }, // 0x7B '{' - { 1441, 1, 18, 14, 7, -14 }, // 0x7C '|' - { 1444, 5, 18, 14, 5, -14 }, // 0x7D '}' - { 1456, 10, 3, 14, 2, -7 } }; // 0x7E '~' - -const GFXfont FreeMono12pt7b PROGMEM = { - (uint8_t *)FreeMono12pt7bBitmaps, - (GFXglyph *)FreeMono12pt7bGlyphs, - 0x20, 0x7E, 24 }; - -// Approx. 2132 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h deleted file mode 100644 index c605d29..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono18pt7b.h +++ /dev/null @@ -1,363 +0,0 @@ -const uint8_t FreeMono18pt7bBitmaps[] PROGMEM = { - 0x27, 0x77, 0x77, 0x77, 0x77, 0x22, 0x22, 0x20, 0x00, 0x6F, 0xF6, 0xF1, - 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1E, 0xC3, 0x98, 0x33, 0x06, 0x60, 0xCC, - 0x18, 0x04, 0x20, 0x10, 0x80, 0x42, 0x01, 0x08, 0x04, 0x20, 0x10, 0x80, - 0x42, 0x01, 0x10, 0x04, 0x41, 0xFF, 0xF0, 0x44, 0x02, 0x10, 0x08, 0x40, - 0x21, 0x0F, 0xFF, 0xC2, 0x10, 0x08, 0x40, 0x21, 0x00, 0x84, 0x02, 0x10, - 0x08, 0x40, 0x23, 0x00, 0x88, 0x02, 0x20, 0x02, 0x00, 0x10, 0x00, 0x80, - 0x1F, 0xA3, 0x07, 0x10, 0x09, 0x00, 0x48, 0x00, 0x40, 0x03, 0x00, 0x0C, - 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x18, 0x00, 0x20, 0x01, 0x80, 0x0C, 0x00, - 0x70, 0x05, 0xE0, 0xC9, 0xF8, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, - 0x10, 0x00, 0x1E, 0x00, 0x42, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x10, 0x08, 0x40, 0x0F, 0x00, 0x00, 0x1E, 0x01, 0xF0, 0x1F, 0x01, 0xE0, - 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x86, 0x02, 0x06, 0x04, 0x04, 0x08, 0x08, - 0x10, 0x30, 0x10, 0xC0, 0x1E, 0x00, 0x0F, 0xC1, 0x00, 0x20, 0x02, 0x00, - 0x20, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x03, 0xC0, 0x6C, 0x3C, 0x62, - 0x82, 0x68, 0x34, 0x81, 0xCC, 0x08, 0x61, 0xC3, 0xE7, 0xFF, 0xFF, 0xF6, - 0x66, 0x66, 0x08, 0xC4, 0x62, 0x31, 0x8C, 0xC6, 0x31, 0x8C, 0x63, 0x18, - 0xC3, 0x18, 0xC2, 0x18, 0xC3, 0x18, 0x86, 0x10, 0xC2, 0x18, 0xC6, 0x10, - 0xC6, 0x31, 0x8C, 0x63, 0x18, 0x8C, 0x62, 0x31, 0x98, 0x80, 0x02, 0x00, - 0x10, 0x00, 0x80, 0x04, 0x0C, 0x21, 0x9D, 0x70, 0x1C, 0x00, 0xA0, 0x0D, - 0x80, 0xC6, 0x04, 0x10, 0x40, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0xFF, 0xFE, 0x02, - 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, - 0x01, 0x00, 0x3E, 0x78, 0xF3, 0xC7, 0x8E, 0x18, 0x70, 0xC1, 0x80, 0xFF, - 0xFE, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x08, 0x00, 0xC0, 0x04, 0x00, 0x60, - 0x02, 0x00, 0x30, 0x01, 0x00, 0x18, 0x00, 0x80, 0x0C, 0x00, 0x40, 0x02, - 0x00, 0x20, 0x01, 0x00, 0x10, 0x00, 0x80, 0x08, 0x00, 0x40, 0x04, 0x00, - 0x20, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, 0x00, 0x00, - 0x0F, 0x81, 0x82, 0x08, 0x08, 0x80, 0x24, 0x01, 0x60, 0x0E, 0x00, 0x30, - 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, - 0x30, 0x03, 0x40, 0x12, 0x00, 0x88, 0x08, 0x60, 0xC0, 0xF8, 0x00, 0x06, - 0x00, 0x70, 0x06, 0x80, 0x64, 0x06, 0x20, 0x31, 0x00, 0x08, 0x00, 0x40, - 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, - 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x0F, 0xFF, 0x80, 0x0F, 0x80, - 0xC3, 0x08, 0x04, 0x80, 0x24, 0x00, 0x80, 0x04, 0x00, 0x20, 0x02, 0x00, - 0x10, 0x01, 0x00, 0x10, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, - 0x18, 0x01, 0x80, 0x58, 0x03, 0x80, 0x1F, 0xFF, 0x80, 0x0F, 0xC0, 0xC0, - 0x86, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x04, 0x00, - 0x20, 0x0F, 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x40, - 0x01, 0x00, 0x04, 0x00, 0x2C, 0x01, 0x9C, 0x0C, 0x0F, 0xC0, 0x01, 0xC0, - 0x14, 0x02, 0x40, 0x64, 0x04, 0x40, 0xC4, 0x08, 0x41, 0x84, 0x10, 0x42, - 0x04, 0x20, 0x44, 0x04, 0x40, 0x48, 0x04, 0xFF, 0xF0, 0x04, 0x00, 0x40, - 0x04, 0x00, 0x40, 0x04, 0x07, 0xF0, 0x3F, 0xF0, 0x80, 0x02, 0x00, 0x08, - 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x0B, 0xF0, 0x30, 0x30, 0x00, 0x60, - 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x10, 0x00, 0x40, 0x01, 0x00, 0x0E, - 0x00, 0x2C, 0x01, 0x0C, 0x18, 0x0F, 0xC0, 0x01, 0xF0, 0x60, 0x18, 0x03, - 0x00, 0x20, 0x04, 0x00, 0x40, 0x0C, 0x00, 0x80, 0x08, 0xF8, 0x98, 0x4A, - 0x02, 0xE0, 0x3C, 0x01, 0x80, 0x14, 0x01, 0x40, 0x14, 0x03, 0x20, 0x21, - 0x0C, 0x0F, 0x80, 0xFF, 0xF8, 0x01, 0x80, 0x18, 0x03, 0x00, 0x20, 0x02, - 0x00, 0x20, 0x04, 0x00, 0x40, 0x04, 0x00, 0xC0, 0x08, 0x00, 0x80, 0x18, - 0x01, 0x00, 0x10, 0x01, 0x00, 0x30, 0x02, 0x00, 0x20, 0x02, 0x00, 0x0F, - 0x81, 0x83, 0x10, 0x05, 0x80, 0x38, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x03, - 0x40, 0x11, 0x83, 0x07, 0xF0, 0x60, 0xC4, 0x01, 0x60, 0x0E, 0x00, 0x30, - 0x01, 0x80, 0x0E, 0x00, 0xD0, 0x04, 0x60, 0xC1, 0xFC, 0x00, 0x1F, 0x03, - 0x08, 0x40, 0x4C, 0x02, 0x80, 0x28, 0x02, 0x80, 0x18, 0x03, 0xC0, 0x74, - 0x05, 0x21, 0x91, 0xF1, 0x00, 0x10, 0x03, 0x00, 0x20, 0x02, 0x00, 0x40, - 0x0C, 0x01, 0x80, 0x60, 0xF8, 0x00, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, - 0x1D, 0xFF, 0xFD, 0xC0, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, - 0x00, 0xF1, 0xE3, 0x8F, 0x1C, 0x38, 0xE1, 0xC3, 0x06, 0x00, 0x00, 0x06, - 0x00, 0x18, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x06, 0x00, 0x38, - 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x0E, - 0x00, 0x07, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0xFF, 0xFC, 0xC0, 0x00, 0xC0, 0x00, 0xE0, 0x00, 0x70, - 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x70, - 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0x60, 0x00, 0x3F, - 0x8E, 0x0C, 0x80, 0x28, 0x01, 0x80, 0x10, 0x01, 0x00, 0x10, 0x02, 0x00, - 0xC0, 0x38, 0x06, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x01, 0xF0, 0x1F, 0x00, 0xE0, 0x0F, 0x01, 0x86, 0x08, 0x08, 0x80, 0x24, - 0x01, 0x40, 0x0A, 0x00, 0x50, 0x1E, 0x83, 0x14, 0x20, 0xA2, 0x05, 0x10, - 0x28, 0x81, 0x46, 0x0A, 0x18, 0x50, 0x3F, 0x80, 0x04, 0x00, 0x10, 0x00, - 0x80, 0x02, 0x00, 0x18, 0x18, 0x3F, 0x00, 0x1F, 0xF0, 0x00, 0x06, 0x80, - 0x00, 0x34, 0x00, 0x01, 0x30, 0x00, 0x18, 0x80, 0x00, 0x86, 0x00, 0x04, - 0x30, 0x00, 0x60, 0x80, 0x02, 0x06, 0x00, 0x10, 0x10, 0x01, 0x80, 0x80, - 0x08, 0x06, 0x00, 0x7F, 0xF0, 0x06, 0x00, 0x80, 0x20, 0x06, 0x01, 0x00, - 0x10, 0x18, 0x00, 0xC0, 0x80, 0x06, 0x04, 0x00, 0x11, 0xFC, 0x0F, 0xF0, - 0xFF, 0xF8, 0x04, 0x01, 0x01, 0x00, 0x20, 0x40, 0x04, 0x10, 0x01, 0x04, - 0x00, 0x41, 0x00, 0x10, 0x40, 0x08, 0x10, 0x0C, 0x07, 0xFF, 0x01, 0x00, - 0x70, 0x40, 0x06, 0x10, 0x00, 0x84, 0x00, 0x11, 0x00, 0x04, 0x40, 0x01, - 0x10, 0x00, 0x44, 0x00, 0x21, 0x00, 0x33, 0xFF, 0xF8, 0x03, 0xF1, 0x06, - 0x0E, 0x8C, 0x01, 0xC4, 0x00, 0x64, 0x00, 0x12, 0x00, 0x0A, 0x00, 0x01, - 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, - 0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x20, 0x01, 0x88, 0x01, 0x83, - 0x03, 0x80, 0x7E, 0x00, 0xFF, 0xE0, 0x20, 0x18, 0x20, 0x0C, 0x20, 0x04, - 0x20, 0x02, 0x20, 0x02, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, - 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x02, 0x20, 0x02, - 0x20, 0x04, 0x20, 0x0C, 0x20, 0x18, 0xFF, 0xE0, 0xFF, 0xFF, 0x08, 0x00, - 0x84, 0x00, 0x42, 0x00, 0x21, 0x00, 0x10, 0x80, 0x00, 0x40, 0x00, 0x20, - 0x40, 0x10, 0x20, 0x0F, 0xF0, 0x04, 0x08, 0x02, 0x04, 0x01, 0x00, 0x00, - 0x80, 0x00, 0x40, 0x02, 0x20, 0x01, 0x10, 0x00, 0x88, 0x00, 0x44, 0x00, - 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0x88, 0x00, 0x44, 0x00, 0x22, 0x00, 0x11, - 0x00, 0x08, 0x80, 0x00, 0x40, 0x00, 0x20, 0x40, 0x10, 0x20, 0x0F, 0xF0, - 0x04, 0x08, 0x02, 0x04, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, - 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xF9, - 0x06, 0x07, 0x84, 0x00, 0xC4, 0x00, 0x24, 0x00, 0x12, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x0F, 0xF8, - 0x00, 0x14, 0x00, 0x09, 0x00, 0x04, 0x80, 0x02, 0x20, 0x01, 0x18, 0x00, - 0x83, 0x01, 0xC0, 0x7F, 0x00, 0xFC, 0x3F, 0x20, 0x04, 0x20, 0x04, 0x20, - 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x3F, - 0xFC, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, - 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xFC, 0x3F, 0xFF, 0xF8, 0x10, - 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, - 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, - 0x00, 0x10, 0x00, 0x81, 0xFF, 0xF0, 0x03, 0xFF, 0x80, 0x04, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, - 0x08, 0x00, 0x04, 0x00, 0x02, 0x10, 0x01, 0x08, 0x00, 0x84, 0x00, 0x42, - 0x00, 0x21, 0x00, 0x10, 0x80, 0x10, 0x20, 0x18, 0x0C, 0x18, 0x01, 0xF0, - 0x00, 0xFF, 0x1F, 0x84, 0x01, 0x81, 0x00, 0xC0, 0x40, 0x60, 0x10, 0x30, - 0x04, 0x18, 0x01, 0x0C, 0x00, 0x46, 0x00, 0x13, 0x00, 0x05, 0xF0, 0x01, - 0xC6, 0x00, 0x60, 0xC0, 0x10, 0x18, 0x04, 0x06, 0x01, 0x00, 0xC0, 0x40, - 0x30, 0x10, 0x04, 0x04, 0x01, 0x81, 0x00, 0x23, 0xFC, 0x0F, 0xFF, 0x80, - 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, - 0x42, 0x00, 0x84, 0x01, 0x08, 0x02, 0x10, 0x04, 0x20, 0x0F, 0xFF, 0xF0, - 0xF0, 0x01, 0xE7, 0x00, 0x70, 0xA0, 0x0A, 0x16, 0x03, 0x42, 0x40, 0x48, - 0x4C, 0x19, 0x08, 0x82, 0x21, 0x10, 0x44, 0x23, 0x18, 0x84, 0x22, 0x10, - 0x86, 0xC2, 0x10, 0x50, 0x42, 0x0E, 0x08, 0x41, 0xC1, 0x08, 0x00, 0x21, - 0x00, 0x04, 0x20, 0x00, 0x84, 0x00, 0x10, 0x80, 0x02, 0x7F, 0x03, 0xF0, - 0xF8, 0x1F, 0xC6, 0x00, 0x41, 0xC0, 0x10, 0x50, 0x04, 0x12, 0x01, 0x04, - 0xC0, 0x41, 0x10, 0x10, 0x46, 0x04, 0x10, 0x81, 0x04, 0x10, 0x41, 0x04, - 0x10, 0x40, 0x84, 0x10, 0x31, 0x04, 0x04, 0x41, 0x01, 0x90, 0x40, 0x24, - 0x10, 0x05, 0x04, 0x01, 0xC1, 0x00, 0x31, 0xFC, 0x0C, 0x03, 0xE0, 0x06, - 0x0C, 0x04, 0x01, 0x04, 0x00, 0x46, 0x00, 0x32, 0x00, 0x0B, 0x00, 0x05, - 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, - 0x0E, 0x00, 0x0D, 0x00, 0x04, 0xC0, 0x06, 0x20, 0x02, 0x08, 0x02, 0x03, - 0x06, 0x00, 0x7C, 0x00, 0xFF, 0xF0, 0x10, 0x0C, 0x10, 0x02, 0x10, 0x03, - 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x03, 0x10, 0x06, 0x10, 0x0C, - 0x1F, 0xF0, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, - 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFF, 0xC0, 0x03, 0xE0, 0x06, 0x0C, - 0x04, 0x01, 0x04, 0x00, 0x46, 0x00, 0x32, 0x00, 0x0B, 0x00, 0x07, 0x00, - 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0E, - 0x00, 0x0D, 0x00, 0x04, 0xC0, 0x06, 0x20, 0x02, 0x08, 0x02, 0x03, 0x06, - 0x00, 0xFC, 0x00, 0x30, 0x00, 0x30, 0x00, 0x7F, 0xC6, 0x38, 0x1E, 0xFF, - 0xF0, 0x02, 0x01, 0x80, 0x40, 0x08, 0x08, 0x01, 0x81, 0x00, 0x10, 0x20, - 0x02, 0x04, 0x00, 0x40, 0x80, 0x18, 0x10, 0x06, 0x02, 0x03, 0x80, 0x7F, - 0xC0, 0x08, 0x18, 0x01, 0x01, 0x80, 0x20, 0x18, 0x04, 0x01, 0x80, 0x80, - 0x10, 0x10, 0x03, 0x02, 0x00, 0x20, 0x40, 0x06, 0x7F, 0x80, 0x70, 0x0F, - 0xC8, 0x61, 0xE2, 0x01, 0x90, 0x02, 0x40, 0x09, 0x00, 0x04, 0x00, 0x08, - 0x00, 0x38, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, - 0x00, 0x60, 0x01, 0x80, 0x0F, 0x00, 0x2B, 0x03, 0x23, 0xF0, 0xFF, 0xFF, - 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x20, 0x20, 0x00, 0x40, 0x00, - 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, - 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x01, 0xFF, 0xC0, - 0xFC, 0x1F, 0x90, 0x01, 0x08, 0x00, 0x84, 0x00, 0x42, 0x00, 0x21, 0x00, - 0x10, 0x80, 0x08, 0x40, 0x04, 0x20, 0x02, 0x10, 0x01, 0x08, 0x00, 0x84, - 0x00, 0x42, 0x00, 0x21, 0x00, 0x10, 0x80, 0x08, 0x40, 0x04, 0x10, 0x04, - 0x0C, 0x06, 0x03, 0x06, 0x00, 0x7C, 0x00, 0xFE, 0x03, 0xF8, 0x80, 0x02, - 0x04, 0x00, 0x10, 0x30, 0x01, 0x80, 0x80, 0x08, 0x06, 0x00, 0xC0, 0x30, - 0x06, 0x00, 0x80, 0x20, 0x06, 0x03, 0x00, 0x30, 0x10, 0x00, 0x80, 0x80, - 0x06, 0x0C, 0x00, 0x10, 0x40, 0x00, 0x86, 0x00, 0x06, 0x20, 0x00, 0x11, - 0x00, 0x00, 0xD8, 0x00, 0x06, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, - 0xFC, 0x0F, 0xE8, 0x00, 0x19, 0x00, 0x03, 0x10, 0x00, 0x62, 0x00, 0x08, - 0x41, 0x81, 0x08, 0x28, 0x21, 0x05, 0x04, 0x21, 0xA0, 0x84, 0x36, 0x30, - 0x84, 0x46, 0x08, 0x88, 0xC1, 0x31, 0x18, 0x24, 0x12, 0x04, 0x82, 0x40, - 0xB0, 0x48, 0x14, 0x09, 0x02, 0x80, 0xA0, 0x30, 0x1C, 0x06, 0x03, 0x80, - 0x7E, 0x0F, 0xC2, 0x00, 0x60, 0x60, 0x0C, 0x06, 0x03, 0x00, 0x60, 0xC0, - 0x0C, 0x10, 0x00, 0xC6, 0x00, 0x0D, 0x80, 0x00, 0xA0, 0x00, 0x1C, 0x00, - 0x03, 0x80, 0x00, 0xD8, 0x00, 0x11, 0x00, 0x06, 0x30, 0x01, 0x83, 0x00, - 0x60, 0x30, 0x08, 0x06, 0x03, 0x00, 0x60, 0xC0, 0x06, 0x7F, 0x07, 0xF0, - 0xFC, 0x1F, 0x98, 0x03, 0x04, 0x01, 0x03, 0x01, 0x80, 0xC1, 0x80, 0x20, - 0x80, 0x18, 0xC0, 0x04, 0x40, 0x03, 0x60, 0x00, 0xE0, 0x00, 0x20, 0x00, - 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x80, - 0x00, 0x40, 0x00, 0x20, 0x03, 0xFF, 0x80, 0xFF, 0xF4, 0x00, 0xA0, 0x09, - 0x00, 0x48, 0x04, 0x40, 0x40, 0x02, 0x00, 0x20, 0x02, 0x00, 0x10, 0x01, - 0x00, 0x10, 0x00, 0x80, 0x08, 0x04, 0x80, 0x24, 0x01, 0x40, 0x0C, 0x00, - 0x60, 0x03, 0xFF, 0xF0, 0xFC, 0x21, 0x08, 0x42, 0x10, 0x84, 0x21, 0x08, - 0x42, 0x10, 0x84, 0x21, 0x08, 0x42, 0x10, 0xF8, 0x80, 0x02, 0x00, 0x10, - 0x00, 0xC0, 0x02, 0x00, 0x18, 0x00, 0x40, 0x03, 0x00, 0x08, 0x00, 0x40, - 0x01, 0x00, 0x08, 0x00, 0x20, 0x01, 0x00, 0x04, 0x00, 0x20, 0x00, 0x80, - 0x04, 0x00, 0x10, 0x00, 0x80, 0x02, 0x00, 0x10, 0x00, 0x40, 0x02, 0x00, - 0x08, 0x00, 0x40, 0xF8, 0x42, 0x10, 0x84, 0x21, 0x08, 0x42, 0x10, 0x84, - 0x21, 0x08, 0x42, 0x10, 0x84, 0x21, 0xF8, 0x02, 0x00, 0x38, 0x03, 0x60, - 0x11, 0x01, 0x8C, 0x18, 0x31, 0x80, 0xD8, 0x03, 0x80, 0x08, 0xFF, 0xFF, - 0xF8, 0xC1, 0x83, 0x06, 0x0C, 0x0F, 0xC0, 0x70, 0x30, 0x00, 0x10, 0x00, - 0x08, 0x00, 0x08, 0x00, 0x08, 0x0F, 0xF8, 0x30, 0x08, 0x40, 0x08, 0x80, - 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x38, 0x60, 0xE8, 0x3F, 0x8F, 0xF0, - 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, - 0x01, 0x0F, 0x80, 0x4C, 0x18, 0x14, 0x01, 0x06, 0x00, 0x21, 0x80, 0x08, - 0x40, 0x01, 0x10, 0x00, 0x44, 0x00, 0x11, 0x00, 0x04, 0x40, 0x01, 0x18, - 0x00, 0x86, 0x00, 0x21, 0xC0, 0x10, 0x5C, 0x18, 0xF1, 0xF8, 0x00, 0x07, - 0xE4, 0x30, 0x78, 0x80, 0x32, 0x00, 0x24, 0x00, 0x50, 0x00, 0x20, 0x00, - 0x40, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x12, 0x00, 0xC3, - 0x07, 0x01, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, - 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x7C, 0x20, 0x60, 0xC8, 0x20, 0x0A, - 0x10, 0x01, 0x84, 0x00, 0x62, 0x00, 0x08, 0x80, 0x02, 0x20, 0x00, 0x88, - 0x00, 0x22, 0x00, 0x08, 0xC0, 0x06, 0x10, 0x01, 0x82, 0x00, 0xE0, 0x60, - 0xE8, 0x0F, 0xE3, 0xC0, 0x07, 0xE0, 0x1C, 0x18, 0x30, 0x0C, 0x60, 0x06, - 0x40, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0xC0, 0x00, - 0x40, 0x00, 0x60, 0x00, 0x30, 0x03, 0x0C, 0x0E, 0x03, 0xF0, 0x03, 0xFC, - 0x18, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x0F, 0xFF, 0x82, 0x00, - 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, - 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0xFF, 0xF0, 0x0F, - 0xC7, 0x9C, 0x3A, 0x18, 0x07, 0x08, 0x01, 0x8C, 0x00, 0xC4, 0x00, 0x22, - 0x00, 0x11, 0x00, 0x08, 0x80, 0x04, 0x40, 0x02, 0x10, 0x03, 0x08, 0x01, - 0x82, 0x01, 0x40, 0xC3, 0x20, 0x3F, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x7F, 0x00, 0xF0, 0x00, - 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x47, - 0xC0, 0x2C, 0x18, 0x1C, 0x04, 0x0C, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, - 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, 0x20, 0x04, 0x10, 0x02, 0x08, 0x01, - 0x04, 0x00, 0x82, 0x00, 0x47, 0xC0, 0xF8, 0x06, 0x00, 0x18, 0x00, 0x60, - 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x02, 0x00, 0x08, - 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, - 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x03, 0xFF, 0xF0, 0x03, 0x00, - 0xC0, 0x30, 0x0C, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x40, 0x10, 0x04, - 0x01, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, - 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x10, 0x08, 0x06, 0xFE, 0x00, 0xF0, - 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, - 0xFE, 0x10, 0x30, 0x10, 0xE0, 0x11, 0xC0, 0x13, 0x00, 0x16, 0x00, 0x1E, - 0x00, 0x1B, 0x00, 0x11, 0x80, 0x10, 0xC0, 0x10, 0x60, 0x10, 0x30, 0x10, - 0x18, 0x10, 0x1C, 0xF0, 0x3F, 0x7E, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, - 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, - 0x00, 0x80, 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x02, 0x00, 0x08, - 0x00, 0x20, 0x00, 0x80, 0xFF, 0xFC, 0xEF, 0x9E, 0x07, 0x1E, 0x20, 0xC1, - 0x82, 0x10, 0x20, 0x42, 0x04, 0x08, 0x40, 0x81, 0x08, 0x10, 0x21, 0x02, - 0x04, 0x20, 0x40, 0x84, 0x08, 0x10, 0x81, 0x02, 0x10, 0x20, 0x42, 0x04, - 0x08, 0x40, 0x81, 0x3E, 0x1C, 0x38, 0x71, 0xF0, 0x0B, 0x06, 0x07, 0x01, - 0x03, 0x00, 0x41, 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, 0x20, 0x04, 0x10, - 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, 0x20, 0x80, 0x13, - 0xF0, 0x3E, 0x07, 0xC0, 0x30, 0x60, 0x80, 0x22, 0x00, 0x24, 0x00, 0x50, - 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x05, 0x00, 0x12, 0x00, - 0x22, 0x00, 0x83, 0x06, 0x01, 0xF0, 0x00, 0xF1, 0xFC, 0x05, 0xC1, 0x81, - 0xC0, 0x10, 0x60, 0x02, 0x18, 0x00, 0xC4, 0x00, 0x11, 0x00, 0x04, 0x40, - 0x01, 0x10, 0x00, 0x44, 0x00, 0x11, 0x80, 0x08, 0x60, 0x02, 0x14, 0x01, - 0x04, 0xC1, 0x81, 0x0F, 0x80, 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, - 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xE3, 0xC6, - 0x0E, 0x86, 0x00, 0xE1, 0x00, 0x18, 0xC0, 0x06, 0x20, 0x00, 0x88, 0x00, - 0x22, 0x00, 0x08, 0x80, 0x02, 0x20, 0x00, 0x84, 0x00, 0x61, 0x00, 0x18, - 0x20, 0x0A, 0x06, 0x0C, 0x80, 0x7C, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, - 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, 0x0F, 0xF0, 0xF8, - 0x7C, 0x11, 0x8C, 0x2C, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x02, 0x00, - 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, - 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xD1, 0x83, 0x98, 0x04, 0x80, 0x24, 0x00, - 0x30, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0x30, 0x00, 0xE0, 0x03, 0x00, 0x1C, - 0x01, 0xF0, 0x1A, 0x7F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, - 0x00, 0x08, 0x00, 0xFF, 0xFC, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, - 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, - 0x00, 0x08, 0x00, 0x08, 0x01, 0x06, 0x0F, 0x03, 0xF8, 0xF0, 0x3E, 0x08, - 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, 0x20, 0x80, 0x10, 0x40, 0x08, - 0x20, 0x04, 0x10, 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, 0x00, 0x41, 0x00, - 0xE0, 0x41, 0xD0, 0x1F, 0x8E, 0xFE, 0x0F, 0xE2, 0x00, 0x20, 0x60, 0x0C, - 0x0C, 0x01, 0x80, 0x80, 0x20, 0x18, 0x0C, 0x01, 0x01, 0x00, 0x30, 0x60, - 0x02, 0x08, 0x00, 0x41, 0x00, 0x0C, 0x60, 0x00, 0x88, 0x00, 0x19, 0x00, - 0x01, 0x40, 0x00, 0x38, 0x00, 0xFC, 0x07, 0xE4, 0x00, 0x10, 0x80, 0x02, - 0x18, 0x20, 0xC3, 0x0E, 0x18, 0x21, 0x42, 0x04, 0x28, 0x40, 0x8D, 0x88, - 0x19, 0x93, 0x03, 0x22, 0x60, 0x2C, 0x68, 0x05, 0x85, 0x00, 0xA0, 0xA0, - 0x1C, 0x1C, 0x01, 0x81, 0x80, 0x7C, 0x1F, 0x18, 0x03, 0x06, 0x03, 0x01, - 0x83, 0x00, 0x63, 0x00, 0x1B, 0x00, 0x07, 0x00, 0x03, 0x80, 0x03, 0x60, - 0x03, 0x18, 0x03, 0x06, 0x03, 0x01, 0x83, 0x00, 0x61, 0x00, 0x33, 0xF0, - 0x7E, 0xFC, 0x1F, 0x90, 0x01, 0x8C, 0x00, 0x86, 0x00, 0xC1, 0x80, 0x40, - 0xC0, 0x60, 0x20, 0x20, 0x18, 0x30, 0x04, 0x10, 0x03, 0x08, 0x00, 0x8C, - 0x00, 0x64, 0x00, 0x16, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, - 0x80, 0x00, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x20, 0x07, 0xFE, 0x00, - 0xFF, 0xF4, 0x01, 0x20, 0x09, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, - 0xC0, 0x04, 0x00, 0x40, 0x04, 0x00, 0x40, 0x14, 0x00, 0xA0, 0x07, 0xFF, - 0xE0, 0x07, 0x0C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x30, 0xC0, 0x30, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x0C, 0x07, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x30, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x07, 0x0C, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0xE0, 0x1C, 0x00, 0x44, 0x0D, 0x84, - 0x36, 0x04, 0x40, 0x07, 0x00 }; - -const GFXglyph FreeMono18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' - { 0, 4, 22, 21, 8, -21 }, // 0x21 '!' - { 11, 11, 10, 21, 5, -20 }, // 0x22 '"' - { 25, 14, 24, 21, 3, -21 }, // 0x23 '#' - { 67, 13, 26, 21, 4, -22 }, // 0x24 '$' - { 110, 15, 21, 21, 3, -20 }, // 0x25 '%' - { 150, 12, 18, 21, 4, -17 }, // 0x26 '&' - { 177, 4, 10, 21, 8, -20 }, // 0x27 ''' - { 182, 5, 25, 21, 10, -20 }, // 0x28 '(' - { 198, 5, 25, 21, 6, -20 }, // 0x29 ')' - { 214, 13, 12, 21, 4, -20 }, // 0x2A '*' - { 234, 15, 17, 21, 3, -17 }, // 0x2B '+' - { 266, 7, 10, 21, 5, -4 }, // 0x2C ',' - { 275, 15, 1, 21, 3, -9 }, // 0x2D '-' - { 277, 5, 5, 21, 8, -4 }, // 0x2E '.' - { 281, 13, 26, 21, 4, -22 }, // 0x2F '/' - { 324, 13, 21, 21, 4, -20 }, // 0x30 '0' - { 359, 13, 21, 21, 4, -20 }, // 0x31 '1' - { 394, 13, 21, 21, 3, -20 }, // 0x32 '2' - { 429, 14, 21, 21, 3, -20 }, // 0x33 '3' - { 466, 12, 21, 21, 4, -20 }, // 0x34 '4' - { 498, 14, 21, 21, 3, -20 }, // 0x35 '5' - { 535, 12, 21, 21, 5, -20 }, // 0x36 '6' - { 567, 12, 21, 21, 4, -20 }, // 0x37 '7' - { 599, 13, 21, 21, 4, -20 }, // 0x38 '8' - { 634, 12, 21, 21, 5, -20 }, // 0x39 '9' - { 666, 5, 15, 21, 8, -14 }, // 0x3A ':' - { 676, 7, 20, 21, 5, -14 }, // 0x3B ';' - { 694, 15, 16, 21, 3, -17 }, // 0x3C '<' - { 724, 17, 6, 21, 2, -12 }, // 0x3D '=' - { 737, 15, 16, 21, 3, -17 }, // 0x3E '>' - { 767, 12, 20, 21, 5, -19 }, // 0x3F '?' - { 797, 13, 23, 21, 4, -20 }, // 0x40 '@' - { 835, 21, 20, 21, 0, -19 }, // 0x41 'A' - { 888, 18, 20, 21, 1, -19 }, // 0x42 'B' - { 933, 17, 20, 21, 2, -19 }, // 0x43 'C' - { 976, 16, 20, 21, 2, -19 }, // 0x44 'D' - { 1016, 17, 20, 21, 1, -19 }, // 0x45 'E' - { 1059, 17, 20, 21, 1, -19 }, // 0x46 'F' - { 1102, 17, 20, 21, 2, -19 }, // 0x47 'G' - { 1145, 16, 20, 21, 2, -19 }, // 0x48 'H' - { 1185, 13, 20, 21, 4, -19 }, // 0x49 'I' - { 1218, 17, 20, 21, 3, -19 }, // 0x4A 'J' - { 1261, 18, 20, 21, 1, -19 }, // 0x4B 'K' - { 1306, 15, 20, 21, 3, -19 }, // 0x4C 'L' - { 1344, 19, 20, 21, 1, -19 }, // 0x4D 'M' - { 1392, 18, 20, 21, 1, -19 }, // 0x4E 'N' - { 1437, 17, 20, 21, 2, -19 }, // 0x4F 'O' - { 1480, 16, 20, 21, 1, -19 }, // 0x50 'P' - { 1520, 17, 24, 21, 2, -19 }, // 0x51 'Q' - { 1571, 19, 20, 21, 1, -19 }, // 0x52 'R' - { 1619, 14, 20, 21, 3, -19 }, // 0x53 'S' - { 1654, 15, 20, 21, 3, -19 }, // 0x54 'T' - { 1692, 17, 20, 21, 2, -19 }, // 0x55 'U' - { 1735, 21, 20, 21, 0, -19 }, // 0x56 'V' - { 1788, 19, 20, 21, 1, -19 }, // 0x57 'W' - { 1836, 19, 20, 21, 1, -19 }, // 0x58 'X' - { 1884, 17, 20, 21, 2, -19 }, // 0x59 'Y' - { 1927, 13, 20, 21, 4, -19 }, // 0x5A 'Z' - { 1960, 5, 25, 21, 10, -20 }, // 0x5B '[' - { 1976, 13, 26, 21, 4, -22 }, // 0x5C '\' - { 2019, 5, 25, 21, 6, -20 }, // 0x5D ']' - { 2035, 13, 9, 21, 4, -20 }, // 0x5E '^' - { 2050, 21, 1, 21, 0, 4 }, // 0x5F '_' - { 2053, 6, 5, 21, 5, -21 }, // 0x60 '`' - { 2057, 16, 15, 21, 3, -14 }, // 0x61 'a' - { 2087, 18, 21, 21, 1, -20 }, // 0x62 'b' - { 2135, 15, 15, 21, 3, -14 }, // 0x63 'c' - { 2164, 18, 21, 21, 2, -20 }, // 0x64 'd' - { 2212, 16, 15, 21, 2, -14 }, // 0x65 'e' - { 2242, 14, 21, 21, 4, -20 }, // 0x66 'f' - { 2279, 17, 22, 21, 2, -14 }, // 0x67 'g' - { 2326, 17, 21, 21, 1, -20 }, // 0x68 'h' - { 2371, 14, 22, 21, 4, -21 }, // 0x69 'i' - { 2410, 10, 29, 21, 5, -21 }, // 0x6A 'j' - { 2447, 16, 21, 21, 2, -20 }, // 0x6B 'k' - { 2489, 14, 21, 21, 4, -20 }, // 0x6C 'l' - { 2526, 19, 15, 21, 1, -14 }, // 0x6D 'm' - { 2562, 17, 15, 21, 1, -14 }, // 0x6E 'n' - { 2594, 15, 15, 21, 3, -14 }, // 0x6F 'o' - { 2623, 18, 22, 21, 1, -14 }, // 0x70 'p' - { 2673, 18, 22, 21, 2, -14 }, // 0x71 'q' - { 2723, 15, 15, 21, 3, -14 }, // 0x72 'r' - { 2752, 13, 15, 21, 4, -14 }, // 0x73 's' - { 2777, 16, 20, 21, 1, -19 }, // 0x74 't' - { 2817, 17, 15, 21, 1, -14 }, // 0x75 'u' - { 2849, 19, 15, 21, 1, -14 }, // 0x76 'v' - { 2885, 19, 15, 21, 1, -14 }, // 0x77 'w' - { 2921, 17, 15, 21, 2, -14 }, // 0x78 'x' - { 2953, 17, 22, 21, 2, -14 }, // 0x79 'y' - { 3000, 13, 15, 21, 4, -14 }, // 0x7A 'z' - { 3025, 8, 25, 21, 6, -20 }, // 0x7B '{' - { 3050, 1, 25, 21, 10, -20 }, // 0x7C '|' - { 3054, 8, 25, 21, 7, -20 }, // 0x7D '}' - { 3079, 15, 5, 21, 3, -11 } }; // 0x7E '~' - -const GFXfont FreeMono18pt7b PROGMEM = { - (uint8_t *)FreeMono18pt7bBitmaps, - (GFXglyph *)FreeMono18pt7bGlyphs, - 0x20, 0x7E, 35 }; - -// Approx. 3761 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h deleted file mode 100644 index 4c8bd15..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono24pt7b.h +++ /dev/null @@ -1,577 +0,0 @@ -const uint8_t FreeMono24pt7bBitmaps[] PROGMEM = { - 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x10, 0x84, 0x21, 0x08, - 0x00, 0x00, 0x00, 0x03, 0xBF, 0xFF, 0xB8, 0xFE, 0x7F, 0x7C, 0x3E, 0x7C, - 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, 0x3C, - 0x3E, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x01, - 0x86, 0x00, 0x30, 0xC0, 0x06, 0x18, 0x00, 0xC3, 0x00, 0x18, 0x60, 0x03, - 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x70, 0x01, 0x8C, 0x00, 0x61, 0x80, 0x0C, - 0x30, 0x3F, 0xFF, 0xF7, 0xFF, 0xFE, 0x06, 0x18, 0x00, 0xC3, 0x00, 0x18, - 0x60, 0x03, 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x30, 0x7F, 0xFF, 0xEF, 0xFF, - 0xFC, 0x06, 0x18, 0x00, 0xC7, 0x00, 0x38, 0xC0, 0x06, 0x18, 0x00, 0xC3, - 0x00, 0x18, 0x60, 0x03, 0x0C, 0x00, 0x61, 0x80, 0x0C, 0x30, 0x01, 0x86, - 0x00, 0x30, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0F, 0xC0, - 0x0F, 0xFD, 0x87, 0x03, 0xE3, 0x80, 0x39, 0xC0, 0x06, 0x60, 0x01, 0x98, - 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0xC0, 0x00, 0x7F, - 0x80, 0x03, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, - 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x80, 0x0E, 0xFC, 0x0F, 0x37, - 0xFF, 0x80, 0x7F, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, - 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x07, 0x80, 0x01, 0xFE, 0x00, 0x38, - 0x70, 0x03, 0x03, 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, - 0x01, 0x80, 0x30, 0x30, 0x03, 0x87, 0x00, 0x1F, 0xE0, 0x30, 0x78, 0x1F, - 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x00, 0xF8, 0x00, - 0x0C, 0x01, 0xE0, 0x00, 0x7F, 0x80, 0x0E, 0x1C, 0x00, 0xC0, 0xC0, 0x18, - 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x0C, 0x0E, 0x00, - 0xE1, 0xC0, 0x07, 0xF8, 0x00, 0x1E, 0x00, 0x03, 0xEC, 0x01, 0xFF, 0x00, - 0xE1, 0x00, 0x70, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x30, - 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x7C, 0x00, 0x3B, 0x83, - 0xD8, 0x60, 0xFE, 0x0C, 0x33, 0x03, 0x98, 0xC0, 0x66, 0x30, 0x0D, 0x8C, - 0x03, 0xC3, 0x00, 0x70, 0x60, 0x1C, 0x1C, 0x0F, 0x03, 0x87, 0x7C, 0x7F, - 0x9F, 0x07, 0x80, 0x00, 0xFE, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x3C, - 0x70, 0xE1, 0xC3, 0x87, 0x00, 0x06, 0x1C, 0x30, 0xE1, 0x87, 0x0E, 0x18, - 0x70, 0xE1, 0xC3, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x0C, - 0x1C, 0x38, 0x70, 0x60, 0xE1, 0xC1, 0x83, 0x83, 0x06, 0x06, 0x04, 0xC1, - 0xC1, 0x83, 0x83, 0x07, 0x0E, 0x0C, 0x1C, 0x38, 0x70, 0xE0, 0xE1, 0xC3, - 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0x87, 0x0E, 0x1C, 0x30, 0x61, 0xC3, - 0x0E, 0x18, 0x70, 0xC1, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, - 0x03, 0x00, 0x00, 0xC0, 0x10, 0x30, 0x3F, 0x8C, 0x7C, 0xFF, 0xFC, 0x07, - 0xF8, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x0C, 0xC0, 0x06, 0x18, 0x03, 0x87, - 0x00, 0xC0, 0xC0, 0x60, 0x18, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, - 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, - 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, - 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, - 0x1F, 0x8F, 0x87, 0xC7, 0xC3, 0xE1, 0xE1, 0xF0, 0xF0, 0x78, 0x38, 0x3C, - 0x1C, 0x0E, 0x06, 0x00, 0x7F, 0xFF, 0xFD, 0xFF, 0xFF, 0xF0, 0x7D, 0xFF, - 0xFF, 0xFF, 0xEF, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x18, 0x00, - 0x06, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, - 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, - 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x18, 0x00, 0x06, - 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x18, 0x00, 0x0E, 0x00, - 0x03, 0x00, 0x01, 0xC0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x0C, 0x00, 0x07, - 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x03, - 0xF0, 0x03, 0xFF, 0x01, 0xE1, 0xE0, 0xE0, 0x18, 0x30, 0x03, 0x1C, 0x00, - 0xE6, 0x00, 0x19, 0x80, 0x06, 0xE0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, - 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, - 0x76, 0x00, 0x19, 0x80, 0x06, 0x70, 0x03, 0x8C, 0x00, 0xC3, 0x80, 0x60, - 0x78, 0x78, 0x0F, 0xFC, 0x00, 0xFC, 0x00, 0x03, 0x80, 0x07, 0x80, 0x0F, - 0x80, 0x1D, 0x80, 0x39, 0x80, 0x71, 0x80, 0xE1, 0x80, 0xC1, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, - 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xC0, 0xE0, - 0xC0, 0x1C, 0x60, 0x03, 0xB8, 0x00, 0x6C, 0x00, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0xC0, 0x00, 0x30, 0x00, 0x18, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, - 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, - 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, - 0x00, 0xD0, 0x00, 0x38, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, - 0xF8, 0x01, 0xFF, 0xC0, 0x70, 0x3C, 0x18, 0x01, 0xC6, 0x00, 0x18, 0x00, - 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, - 0x06, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x01, 0xFC, 0x00, 0x3F, 0x00, 0x00, - 0x78, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, - 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0xD8, 0x00, - 0x3B, 0x80, 0x0E, 0x3E, 0x07, 0x81, 0xFF, 0xE0, 0x07, 0xE0, 0x00, 0x00, - 0x3C, 0x00, 0x7C, 0x00, 0x6C, 0x00, 0xCC, 0x00, 0x8C, 0x01, 0x8C, 0x03, - 0x0C, 0x03, 0x0C, 0x06, 0x0C, 0x04, 0x0C, 0x0C, 0x0C, 0x08, 0x0C, 0x10, - 0x0C, 0x30, 0x0C, 0x20, 0x0C, 0x60, 0x0C, 0x40, 0x0C, 0x80, 0x0C, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, - 0x0C, 0x00, 0x0C, 0x00, 0xFF, 0x00, 0xFF, 0x3F, 0xFF, 0x07, 0xFF, 0xE0, - 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, - 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC7, 0xE0, 0x1F, 0xFF, 0x03, - 0x80, 0x70, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x60, - 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, - 0x00, 0x30, 0x00, 0x06, 0xC0, 0x01, 0xDC, 0x00, 0x71, 0xF0, 0x3C, 0x0F, - 0xFF, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x80, 0x3F, 0xF0, 0x3E, 0x00, 0x1E, - 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, - 0x18, 0x00, 0x06, 0x00, 0x03, 0x80, 0x00, 0xC1, 0xF8, 0x31, 0xFF, 0x0C, - 0xF0, 0xF3, 0x70, 0x0C, 0xD8, 0x01, 0xBC, 0x00, 0x6E, 0x00, 0x0F, 0x80, - 0x03, 0xC0, 0x00, 0xD8, 0x00, 0x36, 0x00, 0x0D, 0x80, 0x03, 0x30, 0x01, - 0x8E, 0x00, 0x61, 0xC0, 0x30, 0x38, 0x38, 0x07, 0xFC, 0x00, 0x7C, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xC0, - 0x00, 0x60, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, - 0x30, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, - 0x00, 0x0C, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, - 0x0C, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, - 0x00, 0x03, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x03, 0xC0, 0xF1, 0xC0, 0x0E, - 0x60, 0x01, 0xB8, 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, - 0x00, 0x36, 0x00, 0x18, 0xC0, 0x0C, 0x1C, 0x0E, 0x03, 0xFF, 0x00, 0xFF, - 0xC0, 0x70, 0x38, 0x30, 0x03, 0x18, 0x00, 0x66, 0x00, 0x1B, 0x00, 0x03, - 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0x60, 0x01, 0x98, - 0x00, 0xE3, 0x00, 0x70, 0x70, 0x38, 0x0F, 0xFC, 0x00, 0xFC, 0x00, 0x07, - 0xE0, 0x03, 0xFE, 0x01, 0xC1, 0xC0, 0xC0, 0x38, 0x60, 0x07, 0x18, 0x00, - 0xCC, 0x00, 0x1B, 0x00, 0x06, 0xC0, 0x01, 0xB0, 0x00, 0x3C, 0x00, 0x1F, - 0x00, 0x07, 0x60, 0x03, 0xD8, 0x01, 0xB3, 0x00, 0xCC, 0xF0, 0xF3, 0x0F, - 0xF8, 0xC1, 0xF8, 0x30, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, - 0xE0, 0x00, 0x30, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x80, - 0x07, 0xC0, 0xFF, 0xC0, 0x1F, 0xC0, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xEF, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, - 0xF7, 0xC0, 0x0F, 0x87, 0xF1, 0xFC, 0x7F, 0x1F, 0xC3, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF1, 0xF8, 0x7C, 0x3F, 0x0F, - 0x83, 0xE0, 0xF0, 0x7C, 0x1E, 0x07, 0x81, 0xC0, 0xF0, 0x38, 0x04, 0x00, - 0x00, 0x00, 0x18, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, - 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, - 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x38, 0x00, 0x00, - 0x20, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, - 0xFF, 0x7F, 0xFF, 0xFF, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, - 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xE0, - 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x01, 0xE0, - 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x60, - 0x00, 0x00, 0x07, 0xF0, 0x1F, 0xFE, 0x3E, 0x07, 0x98, 0x00, 0xEC, 0x00, - 0x36, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x01, 0xC0, - 0x00, 0xC0, 0x01, 0xC0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x00, 0x03, 0x00, - 0x01, 0x80, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x80, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, - 0x78, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xE0, 0xE0, 0xE0, 0x1C, 0x30, - 0x03, 0x1C, 0x00, 0x66, 0x00, 0x19, 0x80, 0x06, 0xC0, 0x01, 0xB0, 0x07, - 0xEC, 0x07, 0xFB, 0x03, 0xC6, 0xC1, 0xC1, 0xB0, 0xE0, 0x6C, 0x30, 0x1B, - 0x0C, 0x06, 0xC3, 0x01, 0xB0, 0xC0, 0x6C, 0x18, 0x1B, 0x07, 0x86, 0xC0, - 0xFF, 0xF0, 0x0F, 0xFC, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, - 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x80, 0xC0, 0xFF, 0xF0, - 0x0F, 0xE0, 0x07, 0xFF, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x1B, 0x00, - 0x00, 0x01, 0x98, 0x00, 0x00, 0x11, 0x80, 0x00, 0x03, 0x0C, 0x00, 0x00, - 0x30, 0xC0, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x60, 0x60, 0x00, 0x06, 0x06, - 0x00, 0x00, 0xC0, 0x30, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x80, 0x30, 0x00, - 0x18, 0x01, 0x80, 0x01, 0x80, 0x18, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, - 0xFC, 0x00, 0x20, 0x00, 0xC0, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, - 0x0C, 0x00, 0x06, 0x00, 0xC0, 0x00, 0x30, 0x0C, 0x00, 0x03, 0x01, 0x80, - 0x00, 0x18, 0x7F, 0xC0, 0x3F, 0xF7, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x03, - 0xFF, 0xFF, 0x01, 0x80, 0x0E, 0x06, 0x00, 0x1C, 0x18, 0x00, 0x38, 0x60, - 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x38, 0x60, 0x01, - 0xC1, 0x80, 0x1E, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x60, 0x03, 0xC1, - 0x80, 0x03, 0x86, 0x00, 0x06, 0x18, 0x00, 0x1C, 0x60, 0x00, 0x31, 0x80, - 0x00, 0xC6, 0x00, 0x03, 0x18, 0x00, 0x0C, 0x60, 0x00, 0x61, 0x80, 0x03, - 0x86, 0x00, 0x1C, 0xFF, 0xFF, 0xE3, 0xFF, 0xFE, 0x00, 0x00, 0xFC, 0x00, - 0x0F, 0xFE, 0x60, 0xF0, 0x3D, 0x87, 0x00, 0x3E, 0x38, 0x00, 0x38, 0xC0, - 0x00, 0xE7, 0x00, 0x01, 0x98, 0x00, 0x06, 0x60, 0x00, 0x03, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, - 0xC7, 0x00, 0x06, 0x0E, 0x00, 0x70, 0x1E, 0x07, 0x80, 0x3F, 0xFC, 0x00, - 0x1F, 0x80, 0xFF, 0xFE, 0x03, 0xFF, 0xFE, 0x03, 0x00, 0x3C, 0x0C, 0x00, - 0x38, 0x30, 0x00, 0x70, 0xC0, 0x00, 0xC3, 0x00, 0x03, 0x8C, 0x00, 0x06, - 0x30, 0x00, 0x1C, 0xC0, 0x00, 0x33, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x30, - 0x00, 0x0C, 0xC0, 0x00, 0x33, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x30, 0x00, - 0x0C, 0xC0, 0x00, 0x33, 0x00, 0x01, 0x8C, 0x00, 0x06, 0x30, 0x00, 0x30, - 0xC0, 0x01, 0xC3, 0x00, 0x0E, 0x0C, 0x00, 0xF0, 0xFF, 0xFF, 0x83, 0xFF, - 0xF8, 0x00, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xE1, 0x80, 0x01, 0x86, 0x00, - 0x06, 0x18, 0x00, 0x18, 0x60, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x00, - 0x18, 0x0C, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x07, 0xFF, 0x00, 0x1F, - 0xFC, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x06, 0x03, 0x00, 0x18, 0x00, - 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0xC6, 0x00, 0x03, 0x18, 0x00, 0x0C, - 0x60, 0x00, 0x31, 0x80, 0x00, 0xC6, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x80, 0x00, 0xC6, 0x00, - 0x03, 0x18, 0x00, 0x0C, 0x60, 0x00, 0x31, 0x80, 0x00, 0xC6, 0x00, 0x00, - 0x18, 0x0C, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x07, 0xFF, 0x00, 0x1F, - 0xFC, 0x00, 0x60, 0x30, 0x01, 0x80, 0xC0, 0x06, 0x03, 0x00, 0x18, 0x00, - 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, - 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0xFF, 0xF0, 0x03, 0xFF, - 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0x98, 0x1E, 0x03, 0xF0, 0x70, - 0x01, 0xE1, 0x80, 0x01, 0xC6, 0x00, 0x01, 0x9C, 0x00, 0x03, 0x30, 0x00, - 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, 0x03, 0xFF, - 0xC0, 0x07, 0xFF, 0x80, 0x00, 0x1B, 0x00, 0x00, 0x37, 0x00, 0x00, 0x66, - 0x00, 0x00, 0xCC, 0x00, 0x01, 0x8C, 0x00, 0x03, 0x1C, 0x00, 0x06, 0x1E, - 0x00, 0x0C, 0x0F, 0x00, 0xF8, 0x0F, 0xFF, 0xC0, 0x03, 0xFC, 0x00, 0x7F, - 0x01, 0xFC, 0xFE, 0x03, 0xF8, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, - 0x03, 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, - 0x30, 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, - 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, - 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, - 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0xFF, 0x01, 0xFF, 0xFE, - 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, - 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, - 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, - 0x30, 0x60, 0x00, 0x60, 0xC0, 0x00, 0xC1, 0x80, 0x01, 0x83, 0x00, 0x03, - 0x06, 0x00, 0x06, 0x0C, 0x00, 0x0C, 0x18, 0x00, 0x30, 0x38, 0x00, 0x60, - 0x38, 0x01, 0x80, 0x3C, 0x0E, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xC0, 0x00, - 0xFF, 0x81, 0xFE, 0xFF, 0x81, 0xFE, 0x18, 0x00, 0x30, 0x18, 0x00, 0xE0, - 0x18, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x18, 0x07, 0x00, 0x18, 0x0E, 0x00, - 0x18, 0x18, 0x00, 0x18, 0x70, 0x00, 0x18, 0xE0, 0x00, 0x19, 0xE0, 0x00, - 0x1B, 0xF8, 0x00, 0x1F, 0x1C, 0x00, 0x1C, 0x06, 0x00, 0x18, 0x03, 0x00, - 0x18, 0x03, 0x80, 0x18, 0x01, 0x80, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, - 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x70, 0x18, 0x00, 0x30, - 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0x1F, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x01, - 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, - 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, - 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, - 0x06, 0x00, 0x18, 0x30, 0x00, 0xC1, 0x80, 0x06, 0x0C, 0x00, 0x30, 0x60, - 0x01, 0x83, 0x00, 0x0C, 0x18, 0x00, 0x60, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xC0, 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x03, 0xF3, 0x60, 0x01, - 0xB0, 0xD8, 0x00, 0x6C, 0x33, 0x00, 0x33, 0x0C, 0xC0, 0x0C, 0xC3, 0x38, - 0x07, 0x30, 0xC6, 0x01, 0x8C, 0x31, 0xC0, 0xE3, 0x0C, 0x30, 0x30, 0xC3, - 0x0C, 0x0C, 0x30, 0xC1, 0x86, 0x0C, 0x30, 0x61, 0x83, 0x0C, 0x0C, 0xC0, - 0xC3, 0x03, 0x30, 0x30, 0xC0, 0x78, 0x0C, 0x30, 0x1E, 0x03, 0x0C, 0x03, - 0x00, 0xC3, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x0C, 0x30, 0x00, 0x03, 0x0C, - 0x00, 0x00, 0xC3, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x0C, 0xFF, 0x00, 0x3F, - 0xFF, 0xC0, 0x0F, 0xF0, 0xFC, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0x1E, 0x00, - 0x0C, 0x1F, 0x00, 0x0C, 0x1B, 0x00, 0x0C, 0x19, 0x80, 0x0C, 0x19, 0xC0, - 0x0C, 0x18, 0xC0, 0x0C, 0x18, 0x60, 0x0C, 0x18, 0x60, 0x0C, 0x18, 0x30, - 0x0C, 0x18, 0x38, 0x0C, 0x18, 0x18, 0x0C, 0x18, 0x0C, 0x0C, 0x18, 0x0E, - 0x0C, 0x18, 0x06, 0x0C, 0x18, 0x03, 0x0C, 0x18, 0x03, 0x0C, 0x18, 0x01, - 0x8C, 0x18, 0x01, 0xCC, 0x18, 0x00, 0xCC, 0x18, 0x00, 0x6C, 0x18, 0x00, - 0x7C, 0x18, 0x00, 0x3C, 0x7F, 0x80, 0x1C, 0x7F, 0x80, 0x1C, 0x00, 0x7E, - 0x00, 0x01, 0xFF, 0xC0, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, 0x00, - 0x38, 0x38, 0x00, 0x1C, 0x30, 0x00, 0x0C, 0x70, 0x00, 0x0E, 0x60, 0x00, - 0x06, 0x60, 0x00, 0x06, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, - 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, - 0x03, 0xC0, 0x00, 0x03, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x70, 0x00, - 0x0E, 0x30, 0x00, 0x0C, 0x38, 0x00, 0x1C, 0x1C, 0x00, 0x38, 0x0E, 0x00, - 0x70, 0x07, 0x81, 0xE0, 0x03, 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0xFF, 0xFF, - 0x07, 0xFF, 0xFE, 0x06, 0x00, 0x78, 0x30, 0x00, 0xE1, 0x80, 0x03, 0x0C, - 0x00, 0x0C, 0x60, 0x00, 0x63, 0x00, 0x03, 0x18, 0x00, 0x18, 0xC0, 0x01, - 0xC6, 0x00, 0x0C, 0x30, 0x00, 0xC1, 0x80, 0x1E, 0x0F, 0xFF, 0xC0, 0x7F, - 0xF8, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, - 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, - 0x00, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x00, 0x00, 0x7E, 0x00, 0x01, 0xFF, - 0x80, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, 0x00, 0x38, 0x38, 0x00, - 0x1C, 0x30, 0x00, 0x0C, 0x70, 0x00, 0x0E, 0x60, 0x00, 0x06, 0x60, 0x00, - 0x06, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, - 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, - 0x03, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x70, 0x00, 0x0E, 0x30, 0x00, - 0x0C, 0x18, 0x00, 0x1C, 0x0C, 0x00, 0x38, 0x06, 0x00, 0x70, 0x03, 0x81, - 0xE0, 0x00, 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x00, 0xE0, 0x00, 0x03, 0xFF, - 0x87, 0x07, 0xFF, 0xFE, 0x07, 0x00, 0xF8, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, - 0x80, 0x18, 0x03, 0xC0, 0x18, 0x00, 0xE0, 0x18, 0x00, 0x60, 0x18, 0x00, - 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, - 0x70, 0x18, 0x00, 0x60, 0x18, 0x01, 0xC0, 0x18, 0x07, 0x80, 0x1F, 0xFF, - 0x00, 0x1F, 0xFC, 0x00, 0x18, 0x0E, 0x00, 0x18, 0x07, 0x00, 0x18, 0x03, - 0x80, 0x18, 0x01, 0xC0, 0x18, 0x00, 0xE0, 0x18, 0x00, 0x60, 0x18, 0x00, - 0x30, 0x18, 0x00, 0x30, 0x18, 0x00, 0x18, 0xFF, 0x80, 0x1F, 0xFF, 0x80, - 0x0F, 0x03, 0xF8, 0x00, 0xFF, 0xE6, 0x1E, 0x07, 0xE3, 0x80, 0x1E, 0x30, - 0x00, 0xE6, 0x00, 0x06, 0x60, 0x00, 0x66, 0x00, 0x06, 0x60, 0x00, 0x07, - 0x00, 0x00, 0x30, 0x00, 0x01, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0xC0, - 0x00, 0x3F, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, - 0x30, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, - 0x06, 0xF8, 0x01, 0xED, 0xE0, 0x7C, 0xCF, 0xFF, 0x00, 0x3F, 0xC0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0x00, 0xF0, 0x0C, 0x03, 0xC0, 0x30, - 0x0F, 0x00, 0xC0, 0x3C, 0x03, 0x00, 0xC0, 0x0C, 0x00, 0x00, 0x30, 0x00, - 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, - 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, - 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, - 0x03, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x00, 0xFF, - 0x01, 0xFF, 0xFE, 0x03, 0xFC, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x00, - 0x01, 0x86, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x0C, 0x30, 0x00, - 0x18, 0x60, 0x00, 0x30, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x00, 0x01, - 0x86, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x0C, 0x30, 0x00, 0x18, - 0x60, 0x00, 0x30, 0xC0, 0x00, 0x61, 0x80, 0x00, 0xC3, 0x80, 0x03, 0x83, - 0x00, 0x06, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x70, 0x07, 0x83, 0xC0, 0x07, - 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x7F, 0xC0, 0x3F, 0xF7, 0xFC, 0x03, 0xFF, - 0x18, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x30, 0x0C, 0x00, 0x03, 0x00, 0x60, - 0x00, 0x30, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, 0x03, 0x00, 0x0C, - 0x00, 0x30, 0x00, 0xC0, 0x03, 0x80, 0x0C, 0x00, 0x18, 0x01, 0x80, 0x01, - 0x80, 0x18, 0x00, 0x0C, 0x03, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x0E, 0x03, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x06, 0x06, 0x00, 0x00, 0x30, 0xC0, 0x00, - 0x03, 0x0C, 0x00, 0x00, 0x30, 0x80, 0x00, 0x01, 0x98, 0x00, 0x00, 0x19, - 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xE0, 0x00, - 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xF3, 0x00, 0x00, 0x30, 0xC0, 0x00, - 0x0C, 0x30, 0x00, 0x03, 0x0C, 0x03, 0x80, 0xC3, 0x01, 0xE0, 0x30, 0x60, - 0x78, 0x0C, 0x18, 0x1F, 0x02, 0x06, 0x04, 0xC0, 0x81, 0x83, 0x30, 0x60, - 0x60, 0xCC, 0x18, 0x18, 0x31, 0x86, 0x06, 0x18, 0x61, 0x81, 0x86, 0x18, - 0x60, 0x71, 0x87, 0x18, 0x0C, 0x40, 0xC6, 0x03, 0x30, 0x31, 0x00, 0xCC, - 0x0C, 0xC0, 0x33, 0x01, 0xB0, 0x0D, 0x80, 0x6C, 0x03, 0x60, 0x1B, 0x00, - 0xD8, 0x06, 0xC0, 0x34, 0x00, 0xF0, 0x07, 0x00, 0x3C, 0x01, 0xC0, 0x0E, - 0x00, 0x7F, 0x00, 0xFF, 0x7F, 0x00, 0xFF, 0x18, 0x00, 0x18, 0x0C, 0x00, - 0x38, 0x0E, 0x00, 0x70, 0x07, 0x00, 0x60, 0x03, 0x00, 0xC0, 0x01, 0x81, - 0x80, 0x01, 0xC3, 0x80, 0x00, 0xE7, 0x00, 0x00, 0x76, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x66, - 0x00, 0x00, 0xC3, 0x00, 0x01, 0x81, 0x80, 0x03, 0x81, 0xC0, 0x07, 0x00, - 0xE0, 0x06, 0x00, 0x60, 0x0C, 0x00, 0x30, 0x18, 0x00, 0x18, 0x38, 0x00, - 0x1C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, - 0xFF, 0x18, 0x00, 0x18, 0x0C, 0x00, 0x30, 0x0E, 0x00, 0x70, 0x06, 0x00, - 0x60, 0x03, 0x00, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0x81, 0x80, 0x00, 0xC3, - 0x00, 0x00, 0xE7, 0x00, 0x00, 0x66, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x07, 0xFF, 0xE0, 0x07, 0xFF, - 0xE0, 0x7F, 0xFF, 0x9F, 0xFF, 0xE6, 0x00, 0x19, 0x80, 0x0C, 0x60, 0x07, - 0x18, 0x03, 0x86, 0x00, 0xC1, 0x80, 0x70, 0x00, 0x38, 0x00, 0x0C, 0x00, - 0x07, 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x1C, - 0x00, 0x06, 0x00, 0x03, 0x80, 0x31, 0xC0, 0x0C, 0x60, 0x03, 0x30, 0x00, - 0xDC, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0xFF, 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, - 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, - 0x0C, 0x18, 0x30, 0x60, 0xFF, 0xFC, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, - 0x01, 0x80, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, - 0x0C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, - 0xC0, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x06, - 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x80, 0x00, 0x60, - 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x18, 0x00, 0x07, 0x00, - 0x00, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, - 0x0C, 0xFF, 0xFC, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, - 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, - 0x18, 0x30, 0x60, 0xC1, 0x83, 0xFF, 0xFC, 0x00, 0x40, 0x00, 0x30, 0x00, - 0x1E, 0x00, 0x0E, 0xC0, 0x07, 0x38, 0x01, 0x87, 0x00, 0xC0, 0xC0, 0x60, - 0x18, 0x38, 0x03, 0x1C, 0x00, 0xE6, 0x00, 0x1F, 0x00, 0x03, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x3C, 0x0E, 0x07, 0x03, - 0x01, 0xFC, 0x00, 0x7F, 0xFC, 0x01, 0xC0, 0x3C, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, - 0x60, 0x0F, 0xF9, 0x81, 0xFF, 0xFE, 0x0F, 0x80, 0x38, 0x70, 0x00, 0x63, - 0x80, 0x01, 0x8C, 0x00, 0x06, 0x30, 0x00, 0x18, 0xC0, 0x00, 0xE3, 0x00, - 0x07, 0x86, 0x00, 0x76, 0x1E, 0x07, 0x9F, 0x3F, 0xF8, 0x7C, 0x3F, 0x80, - 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, - 0x01, 0x80, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x1F, 0x80, - 0x18, 0xFF, 0xC0, 0x33, 0x81, 0xC0, 0x6E, 0x01, 0xC0, 0xF0, 0x00, 0xC1, - 0xE0, 0x01, 0xC3, 0x80, 0x01, 0x87, 0x00, 0x03, 0x8C, 0x00, 0x03, 0x18, - 0x00, 0x06, 0x30, 0x00, 0x0C, 0x60, 0x00, 0x18, 0xC0, 0x00, 0x31, 0x80, - 0x00, 0x63, 0x80, 0x01, 0x87, 0x00, 0x03, 0x0F, 0x00, 0x0E, 0x1F, 0x00, - 0x38, 0x37, 0x00, 0xE3, 0xE7, 0x03, 0x87, 0xC7, 0xFE, 0x00, 0x03, 0xF0, - 0x00, 0x01, 0xFC, 0x00, 0x3F, 0xF9, 0x83, 0xC0, 0xFC, 0x38, 0x01, 0xE3, - 0x00, 0x07, 0x38, 0x00, 0x19, 0x80, 0x00, 0xDC, 0x00, 0x06, 0xC0, 0x00, - 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, - 0x00, 0x03, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, - 0xC7, 0x00, 0x1E, 0x1E, 0x03, 0xC0, 0x7F, 0xFC, 0x00, 0xFF, 0x00, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x01, 0xF8, 0x18, 0x07, - 0xFE, 0x18, 0x0F, 0x07, 0x98, 0x1C, 0x01, 0xD8, 0x38, 0x00, 0xF8, 0x70, - 0x00, 0x78, 0x60, 0x00, 0x38, 0xE0, 0x00, 0x38, 0xC0, 0x00, 0x18, 0xC0, - 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, - 0x00, 0x18, 0x60, 0x00, 0x38, 0x60, 0x00, 0x38, 0x70, 0x00, 0x78, 0x38, - 0x00, 0xD8, 0x1C, 0x01, 0xD8, 0x0F, 0x07, 0x9F, 0x07, 0xFE, 0x1F, 0x01, - 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x3F, 0xF8, 0x07, 0x80, 0xF0, 0x70, 0x01, - 0xC3, 0x00, 0x07, 0x30, 0x00, 0x19, 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, - 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x0C, 0x00, 0x00, - 0x60, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x01, 0xC0, - 0x00, 0xC7, 0x00, 0x0E, 0x1E, 0x03, 0xE0, 0x3F, 0xFC, 0x00, 0x7F, 0x00, - 0x00, 0x7F, 0xC0, 0x3F, 0xFC, 0x0E, 0x00, 0x03, 0x80, 0x00, 0x60, 0x00, - 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0xFF, 0xFF, 0x9F, 0xFF, 0xF0, - 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, - 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, - 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, - 0xC0, 0x03, 0xFF, 0xFC, 0x7F, 0xFF, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xFC, - 0x7C, 0x38, 0x1C, 0xF8, 0xE0, 0x0D, 0x83, 0x00, 0x0F, 0x0E, 0x00, 0x1E, - 0x18, 0x00, 0x1C, 0x70, 0x00, 0x38, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x63, - 0x00, 0x00, 0xC6, 0x00, 0x01, 0x8C, 0x00, 0x03, 0x18, 0x00, 0x06, 0x18, - 0x00, 0x1C, 0x30, 0x00, 0x38, 0x30, 0x00, 0xF0, 0x70, 0x03, 0x60, 0x78, - 0x1C, 0xC0, 0x3F, 0xF1, 0x80, 0x1F, 0x83, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, - 0x80, 0x00, 0x0E, 0x00, 0x3F, 0xF8, 0x00, 0x7F, 0xC0, 0x00, 0xF8, 0x00, - 0x01, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, - 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x3F, 0x00, 0x18, 0xFF, 0x80, - 0x37, 0x03, 0x80, 0x7C, 0x03, 0x80, 0xF0, 0x03, 0x81, 0xC0, 0x03, 0x03, - 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, - 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, 0x00, - 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, 0x00, - 0x63, 0xFC, 0x07, 0xFF, 0xF8, 0x0F, 0xF0, 0x01, 0xC0, 0x00, 0x70, 0x00, - 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x03, 0x00, 0x00, 0xC0, - 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, - 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, - 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, - 0xC0, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0x00, 0x0C, - 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, - 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, - 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, - 0x70, 0x03, 0x80, 0x1C, 0xFF, 0xE3, 0xFF, 0x00, 0xF8, 0x00, 0x03, 0xE0, - 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, - 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x1F, 0xE0, 0x60, 0x7F, 0x81, - 0x80, 0x60, 0x06, 0x07, 0x00, 0x18, 0x38, 0x00, 0x61, 0xC0, 0x01, 0x8E, - 0x00, 0x06, 0x70, 0x00, 0x1B, 0x80, 0x00, 0x7F, 0x00, 0x01, 0xCE, 0x00, - 0x06, 0x1C, 0x00, 0x18, 0x38, 0x00, 0x60, 0x70, 0x01, 0x80, 0xE0, 0x06, - 0x01, 0xC0, 0x18, 0x03, 0x80, 0x60, 0x07, 0x0F, 0x80, 0x7F, 0xFE, 0x01, - 0xFF, 0x3F, 0xC0, 0x0F, 0xF0, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, - 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, - 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, - 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, - 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x0F, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF0, 0x3C, 0x0F, 0x9F, 0x87, 0xE0, 0xFB, - 0x1C, 0xC7, 0x01, 0xE0, 0xD8, 0x38, 0x1C, 0x07, 0x01, 0x81, 0x80, 0x60, - 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, - 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, - 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, - 0x18, 0x06, 0x01, 0x81, 0x80, 0x60, 0x18, 0x18, 0x06, 0x01, 0x8F, 0xE0, - 0x7C, 0x1F, 0xFE, 0x07, 0xC1, 0xF0, 0x00, 0x1F, 0x00, 0xF8, 0xFF, 0x81, - 0xF3, 0x83, 0x80, 0x6C, 0x03, 0x80, 0xF0, 0x03, 0x81, 0xC0, 0x03, 0x03, - 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, - 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, 0x03, 0x00, - 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, 0x30, 0x30, 0x00, - 0x67, 0xFC, 0x03, 0xFF, 0xF8, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0xFE, - 0x00, 0xF0, 0x3C, 0x07, 0x00, 0x38, 0x38, 0x00, 0x71, 0xC0, 0x00, 0xE6, - 0x00, 0x01, 0x98, 0x00, 0x06, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x36, 0x00, 0x01, - 0x98, 0x00, 0x06, 0x70, 0x00, 0x38, 0xE0, 0x01, 0xC1, 0xC0, 0x0E, 0x03, - 0xC0, 0xF0, 0x07, 0xFF, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x01, 0xF1, - 0xFF, 0x83, 0xE7, 0x03, 0x80, 0xD8, 0x01, 0x81, 0xE0, 0x01, 0x83, 0xC0, - 0x03, 0x87, 0x00, 0x03, 0x0E, 0x00, 0x07, 0x18, 0x00, 0x06, 0x30, 0x00, - 0x0C, 0x60, 0x00, 0x18, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x63, 0x00, 0x00, - 0xC7, 0x00, 0x03, 0x0E, 0x00, 0x06, 0x1E, 0x00, 0x18, 0x36, 0x00, 0x70, - 0x67, 0x03, 0xC0, 0xC7, 0xFE, 0x01, 0x83, 0xF0, 0x03, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, - 0x00, 0x00, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x01, - 0xF8, 0x00, 0x07, 0xFF, 0x1F, 0x0F, 0x07, 0x9F, 0x1C, 0x01, 0xD8, 0x38, - 0x00, 0x78, 0x70, 0x00, 0x78, 0x60, 0x00, 0x38, 0xE0, 0x00, 0x38, 0xC0, - 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x18, 0xC0, - 0x00, 0x18, 0xC0, 0x00, 0x18, 0x60, 0x00, 0x38, 0x70, 0x00, 0x78, 0x30, - 0x00, 0x78, 0x1C, 0x01, 0xD8, 0x0F, 0x07, 0x98, 0x07, 0xFF, 0x18, 0x01, - 0xFC, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, - 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x7E, 0x03, 0xC3, 0xF0, 0x7F, 0x81, 0x8F, - 0x0E, 0x0C, 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x00, - 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, - 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, - 0x00, 0x00, 0x30, 0x00, 0x3F, 0xFF, 0xC1, 0xFF, 0xFE, 0x00, 0x07, 0xF0, - 0x07, 0xFF, 0x63, 0xC0, 0xF9, 0xC0, 0x0E, 0x60, 0x01, 0x98, 0x00, 0x66, - 0x00, 0x19, 0xC0, 0x00, 0x38, 0x00, 0x07, 0xC0, 0x00, 0x7F, 0xC0, 0x00, - 0x7C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, - 0xF8, 0x00, 0x7F, 0x00, 0x3B, 0xF0, 0x3C, 0xDF, 0xFE, 0x00, 0xFE, 0x00, - 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, - 0x00, 0x06, 0x00, 0x03, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x0C, 0x00, 0x00, - 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, - 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, - 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, - 0x00, 0xC0, 0x07, 0x07, 0x01, 0xF0, 0x1F, 0xFF, 0x00, 0x3F, 0x80, 0xF8, - 0x03, 0xF1, 0xF0, 0x07, 0xE0, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, - 0x03, 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x18, 0x18, 0x00, - 0x30, 0x30, 0x00, 0x60, 0x60, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, - 0x03, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x38, 0x18, 0x00, 0xF0, - 0x18, 0x03, 0x60, 0x38, 0x3C, 0xF8, 0x3F, 0xF1, 0xF0, 0x1F, 0x00, 0x00, - 0x7F, 0xC0, 0xFF, 0xDF, 0xF0, 0x3F, 0xF0, 0xC0, 0x00, 0xC0, 0x30, 0x00, - 0x30, 0x06, 0x00, 0x1C, 0x01, 0x80, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, - 0x00, 0xC0, 0x03, 0x80, 0x30, 0x00, 0x60, 0x18, 0x00, 0x18, 0x06, 0x00, - 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x30, 0x00, 0x06, 0x18, - 0x00, 0x00, 0xC6, 0x00, 0x00, 0x33, 0x00, 0x00, 0x0E, 0xC0, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x78, 0x00, 0x7F, 0x00, 0x3F, 0xDF, 0xC0, 0x0F, 0xF1, - 0x80, 0x00, 0x20, 0x60, 0x00, 0x18, 0x18, 0x00, 0x06, 0x06, 0x03, 0x01, - 0x80, 0x81, 0xE0, 0x60, 0x30, 0x78, 0x10, 0x0C, 0x1E, 0x0C, 0x03, 0x0C, - 0xC3, 0x00, 0xC3, 0x30, 0xC0, 0x10, 0xCC, 0x30, 0x06, 0x61, 0x98, 0x01, - 0x98, 0x66, 0x00, 0x66, 0x19, 0x80, 0x0B, 0x03, 0x60, 0x03, 0xC0, 0xD0, - 0x00, 0xF0, 0x1C, 0x00, 0x38, 0x07, 0x00, 0x0E, 0x01, 0xC0, 0x3F, 0x81, - 0xFE, 0x3F, 0x81, 0xFE, 0x0C, 0x00, 0x38, 0x06, 0x00, 0x70, 0x03, 0x00, - 0xE0, 0x01, 0x81, 0xC0, 0x00, 0xC3, 0x80, 0x00, 0x67, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x67, 0x00, 0x00, 0xC3, - 0x80, 0x01, 0x81, 0xC0, 0x03, 0x00, 0xE0, 0x06, 0x00, 0x70, 0x0C, 0x00, - 0x38, 0x18, 0x00, 0x1C, 0x7F, 0x81, 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0x00, - 0xFF, 0x7F, 0x00, 0xFF, 0x18, 0x00, 0x0C, 0x18, 0x00, 0x18, 0x0C, 0x00, - 0x18, 0x0C, 0x00, 0x30, 0x06, 0x00, 0x30, 0x06, 0x00, 0x60, 0x03, 0x00, - 0x60, 0x03, 0x00, 0xC0, 0x01, 0x80, 0xC0, 0x01, 0x81, 0x80, 0x00, 0xC1, - 0x80, 0x00, 0xC3, 0x00, 0x00, 0x63, 0x00, 0x00, 0x66, 0x00, 0x00, 0x36, - 0x00, 0x00, 0x34, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, - 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x7F, 0xFC, 0x00, 0x7F, 0xFC, - 0x00, 0xFF, 0xFF, 0x7F, 0xFF, 0xB0, 0x01, 0x98, 0x01, 0xCC, 0x01, 0xC0, - 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xE0, - 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x03, 0x70, - 0x01, 0xB0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE0, 0x7C, 0x0C, - 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, - 0x00, 0x60, 0x0C, 0x03, 0x00, 0xE0, 0xF0, 0x1E, 0x00, 0x70, 0x06, 0x00, - 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, - 0x0C, 0x01, 0x80, 0x18, 0x03, 0xE0, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x1F, 0x00, 0x60, 0x06, 0x00, 0xC0, 0x18, - 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x01, - 0x80, 0x38, 0x01, 0xE0, 0x3C, 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x03, 0x00, - 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0xC0, - 0xF8, 0x1C, 0x00, 0x0F, 0x00, 0x03, 0xFC, 0x03, 0x70, 0xE0, 0x76, 0x07, - 0x8E, 0xC0, 0x1F, 0xC0, 0x00, 0xF0 }; - -const GFXglyph FreeMono24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' - { 0, 5, 30, 28, 11, -28 }, // 0x21 '!' - { 19, 16, 14, 28, 6, -28 }, // 0x22 '"' - { 47, 19, 32, 28, 4, -29 }, // 0x23 '#' - { 123, 18, 33, 28, 5, -29 }, // 0x24 '$' - { 198, 20, 29, 28, 4, -27 }, // 0x25 '%' - { 271, 18, 25, 28, 5, -23 }, // 0x26 '&' - { 328, 7, 14, 28, 11, -28 }, // 0x27 ''' - { 341, 7, 34, 28, 14, -27 }, // 0x28 '(' - { 371, 7, 34, 28, 8, -27 }, // 0x29 ')' - { 401, 18, 16, 28, 5, -27 }, // 0x2A '*' - { 437, 20, 22, 28, 4, -23 }, // 0x2B '+' - { 492, 9, 14, 28, 6, -6 }, // 0x2C ',' - { 508, 22, 2, 28, 3, -13 }, // 0x2D '-' - { 514, 7, 6, 28, 11, -4 }, // 0x2E '.' - { 520, 18, 35, 28, 5, -30 }, // 0x2F '/' - { 599, 18, 30, 28, 5, -28 }, // 0x30 '0' - { 667, 16, 29, 28, 6, -28 }, // 0x31 '1' - { 725, 18, 29, 28, 5, -28 }, // 0x32 '2' - { 791, 19, 30, 28, 5, -28 }, // 0x33 '3' - { 863, 16, 28, 28, 6, -27 }, // 0x34 '4' - { 919, 19, 29, 28, 5, -27 }, // 0x35 '5' - { 988, 18, 30, 28, 6, -28 }, // 0x36 '6' - { 1056, 18, 28, 28, 5, -27 }, // 0x37 '7' - { 1119, 18, 30, 28, 5, -28 }, // 0x38 '8' - { 1187, 18, 30, 28, 6, -28 }, // 0x39 '9' - { 1255, 7, 21, 28, 11, -19 }, // 0x3A ':' - { 1274, 10, 27, 28, 7, -19 }, // 0x3B ';' - { 1308, 22, 22, 28, 3, -23 }, // 0x3C '<' - { 1369, 24, 9, 28, 2, -17 }, // 0x3D '=' - { 1396, 21, 22, 28, 4, -23 }, // 0x3E '>' - { 1454, 17, 28, 28, 6, -26 }, // 0x3F '?' - { 1514, 18, 32, 28, 5, -28 }, // 0x40 '@' - { 1586, 28, 26, 28, 0, -25 }, // 0x41 'A' - { 1677, 22, 26, 28, 3, -25 }, // 0x42 'B' - { 1749, 22, 28, 28, 3, -26 }, // 0x43 'C' - { 1826, 22, 26, 28, 3, -25 }, // 0x44 'D' - { 1898, 22, 26, 28, 3, -25 }, // 0x45 'E' - { 1970, 22, 26, 28, 3, -25 }, // 0x46 'F' - { 2042, 23, 28, 28, 3, -26 }, // 0x47 'G' - { 2123, 23, 26, 28, 3, -25 }, // 0x48 'H' - { 2198, 16, 26, 28, 6, -25 }, // 0x49 'I' - { 2250, 23, 27, 28, 4, -25 }, // 0x4A 'J' - { 2328, 24, 26, 28, 3, -25 }, // 0x4B 'K' - { 2406, 21, 26, 28, 4, -25 }, // 0x4C 'L' - { 2475, 26, 26, 28, 1, -25 }, // 0x4D 'M' - { 2560, 24, 26, 28, 2, -25 }, // 0x4E 'N' - { 2638, 24, 28, 28, 2, -26 }, // 0x4F 'O' - { 2722, 21, 26, 28, 3, -25 }, // 0x50 'P' - { 2791, 24, 32, 28, 2, -26 }, // 0x51 'Q' - { 2887, 24, 26, 28, 3, -25 }, // 0x52 'R' - { 2965, 20, 28, 28, 4, -26 }, // 0x53 'S' - { 3035, 22, 26, 28, 3, -25 }, // 0x54 'T' - { 3107, 23, 27, 28, 3, -25 }, // 0x55 'U' - { 3185, 28, 26, 28, 0, -25 }, // 0x56 'V' - { 3276, 26, 26, 28, 1, -25 }, // 0x57 'W' - { 3361, 24, 26, 28, 2, -25 }, // 0x58 'X' - { 3439, 24, 26, 28, 2, -25 }, // 0x59 'Y' - { 3517, 18, 26, 28, 5, -25 }, // 0x5A 'Z' - { 3576, 7, 34, 28, 13, -27 }, // 0x5B '[' - { 3606, 18, 35, 28, 5, -30 }, // 0x5C '\' - { 3685, 7, 34, 28, 8, -27 }, // 0x5D ']' - { 3715, 18, 12, 28, 5, -28 }, // 0x5E '^' - { 3742, 28, 2, 28, 0, 5 }, // 0x5F '_' - { 3749, 8, 7, 28, 7, -29 }, // 0x60 '`' - { 3756, 22, 22, 28, 3, -20 }, // 0x61 'a' - { 3817, 23, 29, 28, 2, -27 }, // 0x62 'b' - { 3901, 21, 22, 28, 4, -20 }, // 0x63 'c' - { 3959, 24, 29, 28, 3, -27 }, // 0x64 'd' - { 4046, 21, 22, 28, 3, -20 }, // 0x65 'e' - { 4104, 19, 28, 28, 6, -27 }, // 0x66 'f' - { 4171, 23, 30, 28, 3, -20 }, // 0x67 'g' - { 4258, 23, 28, 28, 3, -27 }, // 0x68 'h' - { 4339, 18, 29, 28, 5, -28 }, // 0x69 'i' - { 4405, 14, 38, 28, 6, -28 }, // 0x6A 'j' - { 4472, 22, 28, 28, 4, -27 }, // 0x6B 'k' - { 4549, 18, 28, 28, 5, -27 }, // 0x6C 'l' - { 4612, 28, 21, 28, 0, -20 }, // 0x6D 'm' - { 4686, 23, 21, 28, 2, -20 }, // 0x6E 'n' - { 4747, 22, 22, 28, 3, -20 }, // 0x6F 'o' - { 4808, 23, 30, 28, 2, -20 }, // 0x70 'p' - { 4895, 24, 30, 28, 3, -20 }, // 0x71 'q' - { 4985, 21, 20, 28, 5, -19 }, // 0x72 'r' - { 5038, 18, 22, 28, 5, -20 }, // 0x73 's' - { 5088, 21, 27, 28, 3, -25 }, // 0x74 't' - { 5159, 23, 21, 28, 3, -19 }, // 0x75 'u' - { 5220, 26, 20, 28, 1, -19 }, // 0x76 'v' - { 5285, 26, 20, 28, 1, -19 }, // 0x77 'w' - { 5350, 24, 20, 28, 2, -19 }, // 0x78 'x' - { 5410, 24, 29, 28, 2, -19 }, // 0x79 'y' - { 5497, 17, 20, 28, 6, -19 }, // 0x7A 'z' - { 5540, 11, 34, 28, 8, -27 }, // 0x7B '{' - { 5587, 2, 34, 28, 13, -27 }, // 0x7C '|' - { 5596, 11, 34, 28, 9, -27 }, // 0x7D '}' - { 5643, 20, 6, 28, 4, -15 } }; // 0x7E '~' - -const GFXfont FreeMono24pt7b PROGMEM = { - (uint8_t *)FreeMono24pt7bBitmaps, - (GFXglyph *)FreeMono24pt7bGlyphs, - 0x20, 0x7E, 47 }; - -// Approx. 6330 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h deleted file mode 100644 index c82d786..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMono9pt7b.h +++ /dev/null @@ -1,176 +0,0 @@ -const uint8_t FreeMono9pt7bBitmaps[] PROGMEM = { - 0xAA, 0xA8, 0x0C, 0xED, 0x24, 0x92, 0x48, 0x24, 0x48, 0x91, 0x2F, 0xE4, - 0x89, 0x7F, 0x28, 0x51, 0x22, 0x40, 0x08, 0x3E, 0x62, 0x40, 0x30, 0x0E, - 0x01, 0x81, 0xC3, 0xBE, 0x08, 0x08, 0x71, 0x12, 0x23, 0x80, 0x23, 0xB8, - 0x0E, 0x22, 0x44, 0x70, 0x38, 0x81, 0x02, 0x06, 0x1A, 0x65, 0x46, 0xC8, - 0xEC, 0xE9, 0x24, 0x5A, 0xAA, 0xA9, 0x40, 0xA9, 0x55, 0x5A, 0x80, 0x10, - 0x22, 0x4B, 0xE3, 0x05, 0x11, 0x00, 0x10, 0x20, 0x47, 0xF1, 0x02, 0x04, - 0x00, 0x6B, 0x48, 0xFF, 0x00, 0xF0, 0x02, 0x08, 0x10, 0x60, 0x81, 0x04, - 0x08, 0x20, 0x41, 0x02, 0x08, 0x00, 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x60, - 0xC1, 0x82, 0x88, 0xE0, 0x27, 0x28, 0x42, 0x10, 0x84, 0x21, 0x3E, 0x38, - 0x8A, 0x08, 0x10, 0x20, 0x82, 0x08, 0x61, 0x03, 0xF8, 0x7C, 0x06, 0x02, - 0x02, 0x1C, 0x06, 0x01, 0x01, 0x01, 0x42, 0x3C, 0x18, 0xA2, 0x92, 0x8A, - 0x28, 0xBF, 0x08, 0x21, 0xC0, 0x7C, 0x81, 0x03, 0xE4, 0x40, 0x40, 0x81, - 0x03, 0x88, 0xE0, 0x1E, 0x41, 0x04, 0x0B, 0x98, 0xB0, 0xC1, 0xC2, 0x88, - 0xE0, 0xFE, 0x04, 0x08, 0x20, 0x40, 0x82, 0x04, 0x08, 0x20, 0x40, 0x38, - 0x8A, 0x0C, 0x14, 0x47, 0x11, 0x41, 0x83, 0x8C, 0xE0, 0x38, 0x8A, 0x1C, - 0x18, 0x68, 0xCE, 0x81, 0x04, 0x13, 0xC0, 0xF0, 0x0F, 0x6C, 0x00, 0xD2, - 0xD2, 0x00, 0x03, 0x04, 0x18, 0x60, 0x60, 0x18, 0x04, 0x03, 0xFF, 0x80, - 0x00, 0x1F, 0xF0, 0x40, 0x18, 0x03, 0x00, 0x60, 0x20, 0x60, 0xC0, 0x80, - 0x3D, 0x84, 0x08, 0x30, 0xC2, 0x00, 0x00, 0x00, 0x30, 0x3C, 0x46, 0x82, - 0x8E, 0xB2, 0xA2, 0xA2, 0x9F, 0x80, 0x80, 0x40, 0x3C, 0x3C, 0x01, 0x40, - 0x28, 0x09, 0x01, 0x10, 0x42, 0x0F, 0xC1, 0x04, 0x40, 0x9E, 0x3C, 0xFE, - 0x21, 0x90, 0x48, 0x67, 0xE2, 0x09, 0x02, 0x81, 0x41, 0xFF, 0x80, 0x3E, - 0xB0, 0xF0, 0x30, 0x08, 0x04, 0x02, 0x00, 0x80, 0x60, 0x8F, 0x80, 0xFE, - 0x21, 0x90, 0x68, 0x14, 0x0A, 0x05, 0x02, 0x83, 0x43, 0x7F, 0x00, 0xFF, - 0x20, 0x90, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x81, 0x40, 0xFF, 0xC0, 0xFF, - 0xA0, 0x50, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x80, 0x40, 0x78, 0x00, 0x1E, - 0x98, 0x6C, 0x0A, 0x00, 0x80, 0x20, 0xF8, 0x0B, 0x02, 0x60, 0x87, 0xC0, - 0xE3, 0xA0, 0x90, 0x48, 0x27, 0xF2, 0x09, 0x04, 0x82, 0x41, 0x71, 0xC0, - 0xF9, 0x08, 0x42, 0x10, 0x84, 0x27, 0xC0, 0x1F, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x82, 0x82, 0xC6, 0x78, 0xE3, 0xA1, 0x11, 0x09, 0x05, 0x83, 0x21, - 0x08, 0x84, 0x41, 0x70, 0xC0, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, - 0x41, 0x41, 0xFF, 0xE0, 0xEC, 0x19, 0x45, 0x28, 0xA4, 0xA4, 0x94, 0x91, - 0x12, 0x02, 0x40, 0x5C, 0x1C, 0xC3, 0xB0, 0x94, 0x4A, 0x24, 0x92, 0x49, - 0x14, 0x8A, 0x43, 0x70, 0x80, 0x1E, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, - 0x02, 0x82, 0x63, 0x0F, 0x00, 0xFE, 0x43, 0x41, 0x41, 0x42, 0x7C, 0x40, - 0x40, 0x40, 0xF0, 0x1C, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, 0x02, 0x82, - 0x63, 0x1F, 0x04, 0x07, 0x92, 0x30, 0xFE, 0x21, 0x90, 0x48, 0x24, 0x23, - 0xE1, 0x10, 0x84, 0x41, 0x70, 0xC0, 0x3A, 0xCD, 0x0A, 0x03, 0x01, 0x80, - 0xC1, 0xC7, 0x78, 0xFF, 0xC4, 0x62, 0x21, 0x00, 0x80, 0x40, 0x20, 0x10, - 0x08, 0x1F, 0x00, 0xE3, 0xA0, 0x90, 0x48, 0x24, 0x12, 0x09, 0x04, 0x82, - 0x22, 0x0E, 0x00, 0xF1, 0xE8, 0x10, 0x82, 0x10, 0x42, 0x10, 0x22, 0x04, - 0x80, 0x50, 0x0C, 0x00, 0x80, 0xF1, 0xE8, 0x09, 0x11, 0x25, 0x44, 0xA8, - 0x55, 0x0C, 0xA1, 0x8C, 0x31, 0x84, 0x30, 0xE3, 0xA0, 0x88, 0x82, 0x80, - 0x80, 0xC0, 0x90, 0x44, 0x41, 0x71, 0xC0, 0xE3, 0xA0, 0x88, 0x82, 0x81, - 0x40, 0x40, 0x20, 0x10, 0x08, 0x1F, 0x00, 0xFD, 0x0A, 0x20, 0x81, 0x04, - 0x10, 0x21, 0x83, 0xFC, 0xEA, 0xAA, 0xAA, 0xC0, 0x80, 0x81, 0x03, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0xD5, 0x55, 0x55, 0xC0, - 0x10, 0x51, 0x22, 0x28, 0x20, 0xFF, 0xE0, 0x88, 0x80, 0x7E, 0x00, 0x80, - 0x47, 0xEC, 0x14, 0x0A, 0x0C, 0xFB, 0xC0, 0x20, 0x10, 0x0B, 0xC6, 0x12, - 0x05, 0x02, 0x81, 0x40, 0xB0, 0xB7, 0x80, 0x3A, 0x8E, 0x0C, 0x08, 0x10, - 0x10, 0x9E, 0x03, 0x00, 0x80, 0x47, 0xA4, 0x34, 0x0A, 0x05, 0x02, 0x81, - 0x21, 0x8F, 0x60, 0x3C, 0x43, 0x81, 0xFF, 0x80, 0x80, 0x61, 0x3E, 0x3D, - 0x04, 0x3E, 0x41, 0x04, 0x10, 0x41, 0x0F, 0x80, 0x3D, 0xA1, 0xA0, 0x50, - 0x28, 0x14, 0x09, 0x0C, 0x7A, 0x01, 0x01, 0x87, 0x80, 0xC0, 0x20, 0x10, - 0x0B, 0xC6, 0x32, 0x09, 0x04, 0x82, 0x41, 0x20, 0xB8, 0xE0, 0x10, 0x01, - 0xC0, 0x81, 0x02, 0x04, 0x08, 0x11, 0xFC, 0x10, 0x3E, 0x10, 0x84, 0x21, - 0x08, 0x42, 0x3F, 0x00, 0xC0, 0x40, 0x40, 0x4F, 0x44, 0x58, 0x70, 0x48, - 0x44, 0x42, 0xC7, 0x70, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x23, - 0xF8, 0xB7, 0x64, 0x62, 0x31, 0x18, 0x8C, 0x46, 0x23, 0x91, 0x5E, 0x31, - 0x90, 0x48, 0x24, 0x12, 0x09, 0x05, 0xC7, 0x3E, 0x31, 0xA0, 0x30, 0x18, - 0x0C, 0x05, 0x8C, 0x7C, 0xDE, 0x30, 0x90, 0x28, 0x14, 0x0A, 0x05, 0x84, - 0xBC, 0x40, 0x20, 0x38, 0x00, 0x3D, 0xA1, 0xA0, 0x50, 0x28, 0x14, 0x09, - 0x0C, 0x7A, 0x01, 0x00, 0x80, 0xE0, 0xCE, 0xA1, 0x82, 0x04, 0x08, 0x10, - 0x7C, 0x3A, 0x8D, 0x0B, 0x80, 0xF0, 0x70, 0xDE, 0x40, 0x40, 0xFC, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x41, 0x3E, 0xC3, 0x41, 0x41, 0x41, 0x41, 0x41, - 0x43, 0x3D, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x20, 0xA0, 0x50, 0x10, 0xE3, - 0xC0, 0x92, 0x4B, 0x25, 0x92, 0xA9, 0x98, 0x44, 0xE3, 0x31, 0x05, 0x01, - 0x01, 0x41, 0x11, 0x05, 0xC7, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x40, 0xA0, - 0x60, 0x10, 0x10, 0x08, 0x3E, 0x00, 0xFD, 0x08, 0x20, 0x82, 0x08, 0x10, - 0xBF, 0x29, 0x24, 0xA2, 0x49, 0x26, 0xFF, 0xF8, 0x89, 0x24, 0x8A, 0x49, - 0x2C, 0x61, 0x24, 0x30 }; - -const GFXglyph FreeMono9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' - { 0, 2, 11, 11, 4, -10 }, // 0x21 '!' - { 3, 6, 5, 11, 2, -10 }, // 0x22 '"' - { 7, 7, 12, 11, 2, -10 }, // 0x23 '#' - { 18, 8, 12, 11, 1, -10 }, // 0x24 '$' - { 30, 7, 11, 11, 2, -10 }, // 0x25 '%' - { 40, 7, 10, 11, 2, -9 }, // 0x26 '&' - { 49, 3, 5, 11, 4, -10 }, // 0x27 ''' - { 51, 2, 13, 11, 5, -10 }, // 0x28 '(' - { 55, 2, 13, 11, 4, -10 }, // 0x29 ')' - { 59, 7, 7, 11, 2, -10 }, // 0x2A '*' - { 66, 7, 7, 11, 2, -8 }, // 0x2B '+' - { 73, 3, 5, 11, 2, -1 }, // 0x2C ',' - { 75, 9, 1, 11, 1, -5 }, // 0x2D '-' - { 77, 2, 2, 11, 4, -1 }, // 0x2E '.' - { 78, 7, 13, 11, 2, -11 }, // 0x2F '/' - { 90, 7, 11, 11, 2, -10 }, // 0x30 '0' - { 100, 5, 11, 11, 3, -10 }, // 0x31 '1' - { 107, 7, 11, 11, 2, -10 }, // 0x32 '2' - { 117, 8, 11, 11, 1, -10 }, // 0x33 '3' - { 128, 6, 11, 11, 3, -10 }, // 0x34 '4' - { 137, 7, 11, 11, 2, -10 }, // 0x35 '5' - { 147, 7, 11, 11, 2, -10 }, // 0x36 '6' - { 157, 7, 11, 11, 2, -10 }, // 0x37 '7' - { 167, 7, 11, 11, 2, -10 }, // 0x38 '8' - { 177, 7, 11, 11, 2, -10 }, // 0x39 '9' - { 187, 2, 8, 11, 4, -7 }, // 0x3A ':' - { 189, 3, 11, 11, 3, -7 }, // 0x3B ';' - { 194, 8, 8, 11, 1, -8 }, // 0x3C '<' - { 202, 9, 4, 11, 1, -6 }, // 0x3D '=' - { 207, 9, 8, 11, 1, -8 }, // 0x3E '>' - { 216, 7, 10, 11, 2, -9 }, // 0x3F '?' - { 225, 8, 12, 11, 2, -10 }, // 0x40 '@' - { 237, 11, 10, 11, 0, -9 }, // 0x41 'A' - { 251, 9, 10, 11, 1, -9 }, // 0x42 'B' - { 263, 9, 10, 11, 1, -9 }, // 0x43 'C' - { 275, 9, 10, 11, 1, -9 }, // 0x44 'D' - { 287, 9, 10, 11, 1, -9 }, // 0x45 'E' - { 299, 9, 10, 11, 1, -9 }, // 0x46 'F' - { 311, 10, 10, 11, 1, -9 }, // 0x47 'G' - { 324, 9, 10, 11, 1, -9 }, // 0x48 'H' - { 336, 5, 10, 11, 3, -9 }, // 0x49 'I' - { 343, 8, 10, 11, 2, -9 }, // 0x4A 'J' - { 353, 9, 10, 11, 1, -9 }, // 0x4B 'K' - { 365, 8, 10, 11, 2, -9 }, // 0x4C 'L' - { 375, 11, 10, 11, 0, -9 }, // 0x4D 'M' - { 389, 9, 10, 11, 1, -9 }, // 0x4E 'N' - { 401, 9, 10, 11, 1, -9 }, // 0x4F 'O' - { 413, 8, 10, 11, 1, -9 }, // 0x50 'P' - { 423, 9, 13, 11, 1, -9 }, // 0x51 'Q' - { 438, 9, 10, 11, 1, -9 }, // 0x52 'R' - { 450, 7, 10, 11, 2, -9 }, // 0x53 'S' - { 459, 9, 10, 11, 1, -9 }, // 0x54 'T' - { 471, 9, 10, 11, 1, -9 }, // 0x55 'U' - { 483, 11, 10, 11, 0, -9 }, // 0x56 'V' - { 497, 11, 10, 11, 0, -9 }, // 0x57 'W' - { 511, 9, 10, 11, 1, -9 }, // 0x58 'X' - { 523, 9, 10, 11, 1, -9 }, // 0x59 'Y' - { 535, 7, 10, 11, 2, -9 }, // 0x5A 'Z' - { 544, 2, 13, 11, 5, -10 }, // 0x5B '[' - { 548, 7, 13, 11, 2, -11 }, // 0x5C '\' - { 560, 2, 13, 11, 4, -10 }, // 0x5D ']' - { 564, 7, 5, 11, 2, -10 }, // 0x5E '^' - { 569, 11, 1, 11, 0, 2 }, // 0x5F '_' - { 571, 3, 3, 11, 3, -11 }, // 0x60 '`' - { 573, 9, 8, 11, 1, -7 }, // 0x61 'a' - { 582, 9, 11, 11, 1, -10 }, // 0x62 'b' - { 595, 7, 8, 11, 2, -7 }, // 0x63 'c' - { 602, 9, 11, 11, 1, -10 }, // 0x64 'd' - { 615, 8, 8, 11, 1, -7 }, // 0x65 'e' - { 623, 6, 11, 11, 3, -10 }, // 0x66 'f' - { 632, 9, 11, 11, 1, -7 }, // 0x67 'g' - { 645, 9, 11, 11, 1, -10 }, // 0x68 'h' - { 658, 7, 10, 11, 2, -9 }, // 0x69 'i' - { 667, 5, 13, 11, 3, -9 }, // 0x6A 'j' - { 676, 8, 11, 11, 2, -10 }, // 0x6B 'k' - { 687, 7, 11, 11, 2, -10 }, // 0x6C 'l' - { 697, 9, 8, 11, 1, -7 }, // 0x6D 'm' - { 706, 9, 8, 11, 1, -7 }, // 0x6E 'n' - { 715, 9, 8, 11, 1, -7 }, // 0x6F 'o' - { 724, 9, 11, 11, 1, -7 }, // 0x70 'p' - { 737, 9, 11, 11, 1, -7 }, // 0x71 'q' - { 750, 7, 8, 11, 3, -7 }, // 0x72 'r' - { 757, 7, 8, 11, 2, -7 }, // 0x73 's' - { 764, 8, 10, 11, 2, -9 }, // 0x74 't' - { 774, 8, 8, 11, 1, -7 }, // 0x75 'u' - { 782, 9, 8, 11, 1, -7 }, // 0x76 'v' - { 791, 9, 8, 11, 1, -7 }, // 0x77 'w' - { 800, 9, 8, 11, 1, -7 }, // 0x78 'x' - { 809, 9, 11, 11, 1, -7 }, // 0x79 'y' - { 822, 7, 8, 11, 2, -7 }, // 0x7A 'z' - { 829, 3, 13, 11, 4, -10 }, // 0x7B '{' - { 834, 1, 13, 11, 5, -10 }, // 0x7C '|' - { 836, 3, 13, 11, 4, -10 }, // 0x7D '}' - { 841, 7, 3, 11, 2, -6 } }; // 0x7E '~' - -const GFXfont FreeMono9pt7b PROGMEM = { - (uint8_t *)FreeMono9pt7bBitmaps, - (GFXglyph *)FreeMono9pt7bGlyphs, - 0x20, 0x7E, 18 }; - -// Approx. 1516 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h deleted file mode 100644 index 4ad9d1a..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold12pt7b.h +++ /dev/null @@ -1,250 +0,0 @@ -const uint8_t FreeMonoBold12pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xF6, 0x66, 0x60, 0x6F, 0x60, 0xE7, 0xE7, 0x62, 0x42, - 0x42, 0x42, 0x42, 0x11, 0x87, 0x30, 0xC6, 0x18, 0xC3, 0x31, 0xFF, 0xFF, - 0xF9, 0x98, 0x33, 0x06, 0x60, 0xCC, 0x7F, 0xEF, 0xFC, 0x66, 0x0C, 0xC3, - 0x98, 0x63, 0x04, 0x40, 0x0C, 0x03, 0x00, 0xC0, 0xFE, 0x7F, 0x9C, 0x66, - 0x09, 0x80, 0x78, 0x0F, 0xE0, 0x7F, 0x03, 0xE0, 0xF8, 0x7F, 0xFB, 0xFC, - 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x38, 0x1F, 0x0C, 0x42, 0x10, 0xC4, 0x1F, - 0x03, 0x9C, 0x3C, 0x7F, 0x33, 0xE0, 0x8C, 0x21, 0x08, 0xC3, 0xE0, 0x70, - 0x3E, 0x1F, 0xC6, 0x61, 0x80, 0x70, 0x0C, 0x07, 0x83, 0xEE, 0xDF, 0xB3, - 0xCC, 0x73, 0xFE, 0x7F, 0x80, 0xFD, 0x24, 0x90, 0x39, 0xDC, 0xE6, 0x73, - 0x18, 0xC6, 0x31, 0x8C, 0x31, 0x8E, 0x31, 0xC4, 0xE7, 0x1C, 0xE3, 0x1C, - 0x63, 0x18, 0xC6, 0x31, 0x98, 0xCE, 0x67, 0x10, 0x0C, 0x03, 0x00, 0xC3, - 0xB7, 0xFF, 0xDF, 0xE1, 0xE0, 0xFC, 0x33, 0x0C, 0xC0, 0x06, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x06, 0x00, 0x3B, 0x9C, 0xCE, 0x62, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0x80, 0x00, 0x40, 0x30, 0x1C, 0x07, 0x03, 0x80, 0xE0, 0x30, - 0x1C, 0x06, 0x03, 0x80, 0xC0, 0x70, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0x60, - 0x38, 0x0E, 0x01, 0x00, 0x1E, 0x0F, 0xC6, 0x1B, 0x87, 0xC0, 0xF0, 0x3C, - 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x87, 0x61, 0x8F, 0xC1, 0xE0, 0x1C, - 0x0F, 0x0F, 0xC3, 0xB0, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, - 0xC0, 0x30, 0x0C, 0x3F, 0xFF, 0xFC, 0x1F, 0x1F, 0xEE, 0x1F, 0x83, 0xC0, - 0xC0, 0x70, 0x38, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE3, 0xF0, 0xFF, 0xFF, - 0xFC, 0x3F, 0x0F, 0xF1, 0x87, 0x00, 0x60, 0x0C, 0x03, 0x83, 0xE0, 0x7C, - 0x01, 0xC0, 0x0C, 0x01, 0x80, 0x3C, 0x0F, 0xFF, 0x9F, 0xC0, 0x07, 0x07, - 0x83, 0xC3, 0xE1, 0xB1, 0xD8, 0xCC, 0xC6, 0xE3, 0x7F, 0xFF, 0xE0, 0x61, - 0xF8, 0xFC, 0x7F, 0x9F, 0xE6, 0x01, 0x80, 0x60, 0x1F, 0x87, 0xF9, 0x86, - 0x00, 0xC0, 0x30, 0x0C, 0x03, 0xC1, 0xBF, 0xE7, 0xE0, 0x07, 0xC7, 0xF3, - 0xC1, 0xC0, 0x60, 0x38, 0x0E, 0xF3, 0xFE, 0xF1, 0xF8, 0x3E, 0x0F, 0x83, - 0x71, 0xCF, 0xE1, 0xF0, 0xFF, 0xFF, 0xFC, 0x1F, 0x07, 0x01, 0x80, 0x60, - 0x38, 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x1E, - 0x1F, 0xEE, 0x1F, 0x03, 0xC0, 0xF0, 0x36, 0x19, 0xFE, 0x7F, 0xB8, 0x7C, - 0x0F, 0x03, 0xE1, 0xDF, 0xE3, 0xF0, 0x3E, 0x1F, 0xCE, 0x3B, 0x07, 0xC1, - 0xF0, 0x7E, 0x3D, 0xFF, 0x3D, 0xC0, 0x70, 0x18, 0x0E, 0x0F, 0x3F, 0x8F, - 0x80, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x77, 0x70, 0x00, 0x00, 0x76, 0x6C, - 0xC8, 0x80, 0x00, 0x30, 0x0F, 0x03, 0xE0, 0xF8, 0x3E, 0x0F, 0x80, 0x3E, - 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x0F, 0x80, 0x3E, 0x00, 0xF8, - 0x03, 0xE0, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x0F, 0x00, 0x40, 0x00, 0x7C, - 0x7F, 0xB0, 0xF8, 0x30, 0x18, 0x1C, 0x3C, 0x3C, 0x18, 0x08, 0x00, 0x07, - 0x03, 0x81, 0xC0, 0x1E, 0x07, 0xF1, 0xC7, 0x30, 0x6C, 0x0D, 0x87, 0xB3, - 0xF6, 0xE6, 0xD8, 0xDB, 0x1B, 0x73, 0x67, 0xFC, 0x7F, 0x80, 0x30, 0x03, - 0x00, 0x71, 0xC7, 0xF8, 0x7C, 0x00, 0x3F, 0x80, 0x7F, 0x80, 0x1F, 0x00, - 0x76, 0x00, 0xEE, 0x01, 0x8C, 0x07, 0x18, 0x0E, 0x38, 0x1F, 0xF0, 0x7F, - 0xF0, 0xC0, 0x61, 0x80, 0xCF, 0xC7, 0xFF, 0x8F, 0xC0, 0xFF, 0xC7, 0xFF, - 0x0C, 0x1C, 0x60, 0x63, 0x03, 0x18, 0x38, 0xFF, 0x87, 0xFE, 0x30, 0x39, - 0x80, 0xCC, 0x06, 0x60, 0x7F, 0xFF, 0x7F, 0xF0, 0x0F, 0xF3, 0xFF, 0x70, - 0x76, 0x03, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x60, - 0x37, 0x07, 0x3F, 0xF0, 0xFC, 0xFF, 0x0F, 0xFC, 0x60, 0xE6, 0x06, 0x60, - 0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x76, 0x0E, 0xFF, - 0xCF, 0xF8, 0xFF, 0xF7, 0xFF, 0x8C, 0x0C, 0x60, 0x63, 0x1B, 0x18, 0xC0, - 0xFE, 0x07, 0xF0, 0x31, 0x81, 0x8C, 0xCC, 0x06, 0x60, 0x3F, 0xFF, 0xFF, - 0xFC, 0xFF, 0xFF, 0xFF, 0xCC, 0x06, 0x60, 0x33, 0x19, 0x98, 0xC0, 0xFE, - 0x07, 0xF0, 0x31, 0x81, 0x8C, 0x0C, 0x00, 0x60, 0x0F, 0xF0, 0x7F, 0x80, - 0x0F, 0xF1, 0xFF, 0x9C, 0x1C, 0xC0, 0x6C, 0x03, 0x60, 0x03, 0x00, 0x18, - 0x7F, 0xC3, 0xFE, 0x01, 0xB8, 0x0C, 0xE0, 0xE3, 0xFF, 0x07, 0xE0, 0x7C, - 0xF9, 0xF3, 0xE3, 0x03, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0xFF, 0x0F, - 0xFC, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0xFC, 0xFF, 0xF3, 0xF0, - 0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, - 0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xF0, 0x0F, 0xF8, 0x7F, 0xC0, 0x30, 0x01, - 0x80, 0x0C, 0x00, 0x60, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, 0x31, - 0xC3, 0x0F, 0xF8, 0x1F, 0x00, 0xFC, 0xFB, 0xF3, 0xE3, 0x0E, 0x0C, 0x70, - 0x33, 0x80, 0xFC, 0x03, 0xF0, 0x0F, 0xE0, 0x39, 0xC0, 0xC3, 0x03, 0x0E, - 0x0C, 0x18, 0xFC, 0x7F, 0xF0, 0xF0, 0xFF, 0x0F, 0xF0, 0x18, 0x01, 0x80, - 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x31, 0x83, 0x18, 0x31, 0x83, - 0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0xC0, 0xF7, 0x87, 0x9E, 0x1E, 0x7C, 0xF9, - 0xB3, 0xE6, 0xFD, 0x99, 0xF6, 0x67, 0x99, 0x8E, 0x66, 0x31, 0x98, 0x06, - 0xFC, 0xFF, 0xF3, 0xF0, 0xF1, 0xFF, 0xCF, 0xCF, 0x0C, 0x78, 0x63, 0xE3, - 0x1B, 0x18, 0xDC, 0xC6, 0x76, 0x31, 0xB1, 0x8F, 0x8C, 0x3C, 0x61, 0xE7, - 0xE7, 0x3F, 0x18, 0x0F, 0x03, 0xFC, 0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03, - 0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07, 0x60, 0x67, 0x0E, 0x3F, 0xC0, 0xF0, - 0xFF, 0x8F, 0xFE, 0x30, 0x73, 0x03, 0x30, 0x33, 0x03, 0x30, 0x73, 0xFE, - 0x3F, 0x83, 0x00, 0x30, 0x03, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0x03, 0xFC, - 0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07, - 0x60, 0x67, 0x0E, 0x3F, 0xC1, 0xF0, 0x18, 0x33, 0xFF, 0x3F, 0xE0, 0xFF, - 0x83, 0xFF, 0x83, 0x07, 0x0C, 0x0C, 0x30, 0x30, 0xC1, 0xC3, 0xFE, 0x0F, - 0xF0, 0x31, 0xE0, 0xC3, 0x83, 0x07, 0x0C, 0x0C, 0xFE, 0x3F, 0xF8, 0x70, - 0x3F, 0xDF, 0xFE, 0x1F, 0x03, 0xC0, 0xF8, 0x07, 0xE0, 0x7E, 0x01, 0xF0, - 0x3C, 0x0F, 0x87, 0xFF, 0xBF, 0xC0, 0xFF, 0xFF, 0xFF, 0xC6, 0x3C, 0x63, - 0xC6, 0x3C, 0x63, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x3F, 0xC3, 0xFC, 0xFF, 0xFF, 0xFF, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, - 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, 0x63, 0x9C, 0x1F, 0xC0, 0xF0, - 0xFC, 0x3F, 0xFC, 0x3F, 0x30, 0x0C, 0x38, 0x1C, 0x18, 0x18, 0x1C, 0x38, - 0x1C, 0x38, 0x0E, 0x70, 0x0E, 0x70, 0x0F, 0x60, 0x07, 0xE0, 0x07, 0xE0, - 0x03, 0xC0, 0x03, 0xC0, 0xFC, 0xFF, 0xF3, 0xF6, 0x01, 0xDC, 0xC6, 0x77, - 0x99, 0xDE, 0x67, 0x79, 0x8D, 0xFE, 0x3F, 0xF8, 0xF3, 0xE3, 0xCF, 0x8F, - 0x3C, 0x38, 0x70, 0xE1, 0xC0, 0xF8, 0xFB, 0xE3, 0xE3, 0x86, 0x0F, 0x38, - 0x1F, 0xC0, 0x3E, 0x00, 0x70, 0x03, 0xE0, 0x0F, 0x80, 0x77, 0x03, 0x8E, - 0x1E, 0x1C, 0xFC, 0xFF, 0xF3, 0xF0, 0xF9, 0xFF, 0x9F, 0x30, 0xC3, 0x9C, - 0x19, 0x81, 0xF8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x3F, 0xC3, 0xFC, 0xFF, 0xBF, 0xEC, 0x3B, 0x0C, 0xC6, 0x33, 0x80, 0xC0, - 0x60, 0x38, 0xCC, 0x36, 0x0F, 0x03, 0xFF, 0xFF, 0xF0, 0xFF, 0xF1, 0x8C, - 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC7, 0xFE, 0x40, 0x30, 0x0E, - 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, 0x60, 0x1C, 0x03, 0x00, 0xE0, 0x18, - 0x07, 0x00, 0xC0, 0x38, 0x0E, 0x01, 0xC0, 0x70, 0x0C, 0x01, 0xFF, 0xC6, - 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x1F, 0xFE, 0x04, 0x03, - 0x01, 0xE0, 0xFC, 0x7B, 0x9C, 0x7E, 0x1F, 0x03, 0xFF, 0xFF, 0xFF, 0xF0, - 0xCE, 0x73, 0x3F, 0x07, 0xF8, 0x00, 0xC0, 0x0C, 0x1F, 0xC7, 0xFC, 0x60, - 0xCC, 0x0C, 0xC1, 0xCF, 0xFF, 0x3F, 0xF0, 0xF0, 0x07, 0x80, 0x0C, 0x00, - 0x60, 0x03, 0x7C, 0x1F, 0xF8, 0xF1, 0xC7, 0x07, 0x30, 0x19, 0x80, 0xCC, - 0x06, 0x60, 0x73, 0xC7, 0x7F, 0xFB, 0xDF, 0x00, 0x1F, 0xB3, 0xFF, 0x70, - 0xFE, 0x07, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0x70, 0x77, 0xFF, 0x1F, - 0xC0, 0x01, 0xE0, 0x0F, 0x00, 0x18, 0x00, 0xC1, 0xF6, 0x3F, 0xF1, 0xC7, - 0x9C, 0x1C, 0xC0, 0x66, 0x03, 0x30, 0x19, 0x81, 0xC7, 0x1E, 0x3F, 0xFC, - 0x7D, 0xE0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, - 0x0E, 0x00, 0x70, 0x73, 0xFF, 0x1F, 0xC0, 0x07, 0xC3, 0xFC, 0x60, 0x0C, - 0x0F, 0xFD, 0xFF, 0x86, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, - 0x81, 0xFF, 0xBF, 0xF0, 0x1F, 0x79, 0xFF, 0xDC, 0x79, 0x81, 0xCC, 0x06, - 0x60, 0x33, 0x01, 0x9C, 0x1C, 0x71, 0xE1, 0xFF, 0x07, 0xD8, 0x00, 0xC0, - 0x06, 0x00, 0x70, 0x7F, 0x03, 0xF0, 0xF0, 0x03, 0xC0, 0x03, 0x00, 0x0C, - 0x00, 0x37, 0xC0, 0xFF, 0x83, 0xC7, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, - 0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF3, 0xFF, 0xCF, 0xC0, 0x06, 0x00, 0xC0, - 0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, - 0x03, 0x0F, 0xFF, 0xFF, 0xC0, 0x06, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0xFE, 0xFC, - 0xF0, 0x07, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x3F, 0x19, 0xF8, 0xDE, 0x07, - 0xE0, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x6F, 0x03, 0x1C, 0x78, 0xFF, 0xC7, - 0xE0, 0x7E, 0x0F, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, - 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x61, 0xFF, 0xFF, 0xF8, 0xFE, 0xF1, - 0xFF, 0xF1, 0xCE, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, - 0x8C, 0x63, 0x19, 0xF7, 0xBF, 0xEF, 0x78, 0x77, 0xC1, 0xFF, 0x83, 0xC7, - 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF1, - 0xFF, 0xC7, 0xC0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xC0, 0x3C, 0x03, - 0xC0, 0x3E, 0x07, 0x70, 0xE3, 0xFC, 0x1F, 0x80, 0xF7, 0xE3, 0xFF, 0xC3, - 0xC3, 0x8E, 0x07, 0x30, 0x0C, 0xC0, 0x33, 0x00, 0xCE, 0x07, 0x3C, 0x38, - 0xFF, 0xC3, 0x7E, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x0F, 0xE0, 0x3F, 0x80, - 0x1F, 0xBC, 0xFF, 0xF7, 0x0F, 0x38, 0x1C, 0xC0, 0x33, 0x00, 0xCC, 0x03, - 0x38, 0x1C, 0x70, 0xF0, 0xFF, 0xC1, 0xFB, 0x00, 0x0C, 0x00, 0x30, 0x00, - 0xC0, 0x1F, 0xC0, 0x7F, 0x79, 0xE7, 0xFF, 0x1F, 0x31, 0xC0, 0x18, 0x01, - 0x80, 0x18, 0x01, 0x80, 0x18, 0x0F, 0xFC, 0xFF, 0xC0, 0x3F, 0x9F, 0xFE, - 0x1F, 0x82, 0xFE, 0x1F, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xF0, 0x30, - 0x06, 0x00, 0xC0, 0x7F, 0xEF, 0xFC, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, - 0x00, 0xC0, 0x18, 0x71, 0xFE, 0x1F, 0x00, 0xF1, 0xF7, 0x8F, 0x8C, 0x0C, - 0x60, 0x63, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x38, 0xF0, 0xFF, 0xC3, - 0xEE, 0xFC, 0xFF, 0xF3, 0xF3, 0x87, 0x0E, 0x1C, 0x1C, 0x60, 0x73, 0x80, - 0xEC, 0x03, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xF8, 0x7F, 0xE1, - 0xF7, 0x39, 0x8C, 0xE6, 0x37, 0xB0, 0xFF, 0xC3, 0xFF, 0x07, 0xBC, 0x1C, - 0xF0, 0x73, 0x81, 0x86, 0x00, 0x7C, 0xF9, 0xF3, 0xE3, 0xCF, 0x07, 0xF8, - 0x0F, 0xC0, 0x1E, 0x00, 0xFC, 0x07, 0x38, 0x38, 0x73, 0xF3, 0xFF, 0xCF, - 0xC0, 0xF9, 0xFF, 0x9F, 0x70, 0xE3, 0x0C, 0x39, 0xC1, 0x98, 0x19, 0x81, - 0xF8, 0x0F, 0x00, 0xF0, 0x06, 0x00, 0x60, 0x0E, 0x00, 0xC0, 0xFF, 0x0F, - 0xF0, 0x7F, 0xCF, 0xF9, 0x8E, 0x33, 0x80, 0x70, 0x1C, 0x07, 0x01, 0xC6, - 0x70, 0xFF, 0xFF, 0xFF, 0x80, 0x0E, 0x3C, 0x60, 0xC1, 0x83, 0x06, 0x0C, - 0x39, 0xE3, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x3C, 0x38, 0xFF, 0xFF, - 0xFF, 0xFF, 0xF0, 0xE1, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x3C, - 0x79, 0x83, 0x06, 0x0C, 0x18, 0x31, 0xE3, 0x80, 0x3C, 0x37, 0xE7, 0x67, - 0xE6, 0x1C }; - -const GFXglyph FreeMonoBold12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' - { 0, 4, 15, 14, 5, -14 }, // 0x21 '!' - { 8, 8, 7, 14, 3, -13 }, // 0x22 '"' - { 15, 11, 18, 14, 2, -15 }, // 0x23 '#' - { 40, 10, 20, 14, 2, -16 }, // 0x24 '$' - { 65, 10, 15, 14, 2, -14 }, // 0x25 '%' - { 84, 10, 13, 14, 2, -12 }, // 0x26 '&' - { 101, 3, 7, 14, 5, -13 }, // 0x27 ''' - { 104, 5, 19, 14, 6, -14 }, // 0x28 '(' - { 116, 5, 19, 14, 3, -14 }, // 0x29 ')' - { 128, 10, 10, 14, 2, -14 }, // 0x2A '*' - { 141, 12, 13, 14, 1, -12 }, // 0x2B '+' - { 161, 5, 7, 14, 4, -2 }, // 0x2C ',' - { 166, 12, 2, 14, 1, -7 }, // 0x2D '-' - { 169, 3, 3, 14, 5, -2 }, // 0x2E '.' - { 171, 10, 20, 14, 2, -16 }, // 0x2F '/' - { 196, 10, 15, 14, 2, -14 }, // 0x30 '0' - { 215, 10, 15, 14, 2, -14 }, // 0x31 '1' - { 234, 10, 15, 14, 2, -14 }, // 0x32 '2' - { 253, 11, 15, 14, 1, -14 }, // 0x33 '3' - { 274, 9, 14, 14, 2, -13 }, // 0x34 '4' - { 290, 10, 15, 14, 2, -14 }, // 0x35 '5' - { 309, 10, 15, 14, 2, -14 }, // 0x36 '6' - { 328, 10, 15, 14, 2, -14 }, // 0x37 '7' - { 347, 10, 15, 14, 2, -14 }, // 0x38 '8' - { 366, 10, 15, 14, 3, -14 }, // 0x39 '9' - { 385, 3, 11, 14, 5, -10 }, // 0x3A ':' - { 390, 4, 15, 14, 4, -10 }, // 0x3B ';' - { 398, 12, 11, 14, 1, -11 }, // 0x3C '<' - { 415, 12, 7, 14, 1, -9 }, // 0x3D '=' - { 426, 12, 11, 14, 1, -11 }, // 0x3E '>' - { 443, 9, 14, 14, 3, -13 }, // 0x3F '?' - { 459, 11, 19, 14, 2, -14 }, // 0x40 '@' - { 486, 15, 14, 14, -1, -13 }, // 0x41 'A' - { 513, 13, 14, 14, 0, -13 }, // 0x42 'B' - { 536, 12, 14, 14, 1, -13 }, // 0x43 'C' - { 557, 12, 14, 14, 1, -13 }, // 0x44 'D' - { 578, 13, 14, 14, 0, -13 }, // 0x45 'E' - { 601, 13, 14, 14, 0, -13 }, // 0x46 'F' - { 624, 13, 14, 14, 1, -13 }, // 0x47 'G' - { 647, 14, 14, 14, 0, -13 }, // 0x48 'H' - { 672, 10, 14, 14, 2, -13 }, // 0x49 'I' - { 690, 13, 14, 14, 1, -13 }, // 0x4A 'J' - { 713, 14, 14, 14, 0, -13 }, // 0x4B 'K' - { 738, 12, 14, 14, 1, -13 }, // 0x4C 'L' - { 759, 14, 14, 14, 0, -13 }, // 0x4D 'M' - { 784, 13, 14, 14, 0, -13 }, // 0x4E 'N' - { 807, 12, 14, 14, 1, -13 }, // 0x4F 'O' - { 828, 12, 14, 14, 0, -13 }, // 0x50 'P' - { 849, 12, 17, 14, 1, -13 }, // 0x51 'Q' - { 875, 14, 14, 14, 0, -13 }, // 0x52 'R' - { 900, 10, 14, 14, 2, -13 }, // 0x53 'S' - { 918, 12, 14, 14, 1, -13 }, // 0x54 'T' - { 939, 12, 14, 14, 1, -13 }, // 0x55 'U' - { 960, 16, 14, 14, -1, -13 }, // 0x56 'V' - { 988, 14, 14, 14, 0, -13 }, // 0x57 'W' - { 1013, 14, 14, 14, 0, -13 }, // 0x58 'X' - { 1038, 12, 14, 14, 1, -13 }, // 0x59 'Y' - { 1059, 10, 14, 14, 2, -13 }, // 0x5A 'Z' - { 1077, 5, 19, 14, 6, -14 }, // 0x5B '[' - { 1089, 10, 20, 14, 2, -16 }, // 0x5C '\' - { 1114, 5, 19, 14, 3, -14 }, // 0x5D ']' - { 1126, 10, 8, 14, 2, -15 }, // 0x5E '^' - { 1136, 14, 2, 14, 0, 4 }, // 0x5F '_' - { 1140, 4, 4, 14, 4, -15 }, // 0x60 '`' - { 1142, 12, 11, 14, 1, -10 }, // 0x61 'a' - { 1159, 13, 15, 14, 0, -14 }, // 0x62 'b' - { 1184, 12, 11, 14, 1, -10 }, // 0x63 'c' - { 1201, 13, 15, 14, 1, -14 }, // 0x64 'd' - { 1226, 12, 11, 14, 1, -10 }, // 0x65 'e' - { 1243, 11, 15, 14, 2, -14 }, // 0x66 'f' - { 1264, 13, 16, 14, 1, -10 }, // 0x67 'g' - { 1290, 14, 15, 14, 0, -14 }, // 0x68 'h' - { 1317, 11, 14, 14, 1, -13 }, // 0x69 'i' - { 1337, 8, 19, 15, 3, -13 }, // 0x6A 'j' - { 1356, 13, 15, 14, 1, -14 }, // 0x6B 'k' - { 1381, 11, 15, 14, 1, -14 }, // 0x6C 'l' - { 1402, 15, 11, 14, 0, -10 }, // 0x6D 'm' - { 1423, 14, 11, 14, 0, -10 }, // 0x6E 'n' - { 1443, 12, 11, 14, 1, -10 }, // 0x6F 'o' - { 1460, 14, 16, 14, 0, -10 }, // 0x70 'p' - { 1488, 14, 16, 14, 0, -10 }, // 0x71 'q' - { 1516, 12, 11, 14, 1, -10 }, // 0x72 'r' - { 1533, 10, 11, 14, 2, -10 }, // 0x73 's' - { 1547, 11, 14, 14, 1, -13 }, // 0x74 't' - { 1567, 13, 11, 14, 0, -10 }, // 0x75 'u' - { 1585, 14, 11, 14, 0, -10 }, // 0x76 'v' - { 1605, 14, 11, 14, 0, -10 }, // 0x77 'w' - { 1625, 14, 11, 14, 0, -10 }, // 0x78 'x' - { 1645, 12, 16, 14, 1, -10 }, // 0x79 'y' - { 1669, 11, 11, 14, 1, -10 }, // 0x7A 'z' - { 1685, 7, 19, 14, 3, -14 }, // 0x7B '{' - { 1702, 2, 19, 14, 6, -14 }, // 0x7C '|' - { 1707, 7, 19, 14, 4, -14 }, // 0x7D '}' - { 1724, 12, 4, 14, 1, -7 } }; // 0x7E '~' - -const GFXfont FreeMonoBold12pt7b PROGMEM = { - (uint8_t *)FreeMonoBold12pt7bBitmaps, - (GFXglyph *)FreeMonoBold12pt7bGlyphs, - 0x20, 0x7E, 24 }; - -// Approx. 2402 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h deleted file mode 100644 index 36e0be0..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold18pt7b.h +++ /dev/null @@ -1,423 +0,0 @@ -const uint8_t FreeMonoBold18pt7bBitmaps[] PROGMEM = { - 0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x9C, 0xE7, 0x39, 0xC4, 0x03, 0xBF, - 0xFF, 0xB8, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1E, 0xC1, 0x98, 0x33, - 0x06, 0x60, 0xCC, 0x18, 0x0E, 0x1C, 0x0F, 0x3C, 0x1F, 0x3C, 0x1E, 0x3C, - 0x1E, 0x3C, 0x1E, 0x78, 0x1E, 0x78, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x7F, 0xFE, 0x7F, 0xFE, - 0x7F, 0xFE, 0x7F, 0xFE, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xF0, - 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x03, 0x00, 0x1E, 0x00, 0x78, 0x01, - 0xE0, 0x1F, 0xF1, 0xFF, 0xE7, 0xFF, 0xBE, 0x1E, 0xF0, 0x3B, 0xC0, 0xCF, - 0xE0, 0x3F, 0xF8, 0x7F, 0xF0, 0x7F, 0xE0, 0x1F, 0xF0, 0x0F, 0xE0, 0x3F, - 0x80, 0xFF, 0x87, 0xFF, 0xFE, 0xFF, 0xF3, 0x7F, 0x80, 0x78, 0x01, 0xE0, - 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xC0, 0x1E, 0x00, 0xFF, 0x03, 0x86, - 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x38, 0x70, 0x3F, 0xC2, 0x1E, 0x3E, - 0x03, 0xF8, 0x3F, 0x83, 0xF8, 0x0F, 0x8F, 0x18, 0x7F, 0x01, 0xC7, 0x03, - 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x1C, 0x70, 0x1F, 0xC0, 0x0F, 0x00, 0x03, - 0xD0, 0x1F, 0xF0, 0x7F, 0xE1, 0xFF, 0xC3, 0xE6, 0x07, 0x80, 0x0F, 0x00, - 0x0F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0xFE, 0x03, 0xFE, 0xFF, 0xBD, 0xFE, - 0x3F, 0xFC, 0x3F, 0x7C, 0x7C, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xF8, 0x7E, - 0xF0, 0xFF, 0xFF, 0xF6, 0x66, 0x66, 0x07, 0x0F, 0x1F, 0x1E, 0x3E, 0x3C, - 0x78, 0x78, 0x78, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0x78, 0x78, 0x78, 0x3C, 0x3C, 0x1E, 0x1F, 0x0F, 0x07, 0xE0, 0xF0, 0xF8, - 0x78, 0x7C, 0x3C, 0x3E, 0x1E, 0x1E, 0x1E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0E, 0x1E, 0x1E, 0x1E, 0x3C, 0x3C, 0x78, 0xF8, 0xF0, 0xE0, - 0x01, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, - 0xFF, 0xFF, 0x7F, 0xFE, 0x1F, 0xF8, 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, - 0x1E, 0x78, 0x1C, 0x38, 0x18, 0x18, 0x01, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0x80, 0x3E, 0x78, 0xF3, 0xC7, - 0x8E, 0x1C, 0x70, 0xE1, 0x80, 0x7F, 0xFF, 0xDF, 0xFF, 0xF9, 0xFF, 0xFF, - 0x3F, 0xFF, 0xE0, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x0E, 0x00, 0x3C, 0x00, - 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x38, 0x00, 0xF0, - 0x01, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xE0, 0x03, - 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x78, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x80, - 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, 0x03, 0x00, 0x00, - 0x07, 0xE0, 0x1F, 0xF8, 0x3F, 0xFC, 0x3F, 0xFC, 0x7C, 0x3E, 0x78, 0x1E, - 0xF8, 0x1F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, - 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF8, 0x1F, 0x78, 0x1E, - 0x7C, 0x3E, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, 0x07, 0xC0, - 0x1F, 0x80, 0xFF, 0x03, 0xFE, 0x0F, 0xBC, 0x0C, 0x78, 0x00, 0xF0, 0x01, - 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, - 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x81, 0xFF, 0xFB, 0xFF, 0xF7, - 0xFF, 0xE7, 0xFF, 0x80, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE3, 0xFF, 0xEF, - 0x87, 0xDE, 0x07, 0xF8, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x01, - 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, - 0x78, 0x03, 0xE0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, - 0x0F, 0xC0, 0x7F, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0x3E, 0x00, 0x1E, - 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x3C, 0x03, 0xFC, 0x03, 0xF0, 0x03, 0xF0, - 0x03, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, - 0xE0, 0x3F, 0xFF, 0xFE, 0xFF, 0xFC, 0x7F, 0xF8, 0x1F, 0xE0, 0x00, 0xF8, - 0x03, 0xF0, 0x07, 0xE0, 0x1F, 0xC0, 0x77, 0x80, 0xEF, 0x03, 0x9E, 0x0F, - 0x3C, 0x1C, 0x78, 0x70, 0xF1, 0xE1, 0xE3, 0x83, 0xCF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x78, 0x07, 0xFC, 0x0F, 0xF8, 0x1F, 0xF0, - 0x1F, 0xC0, 0x3F, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0x07, 0xFF, 0x83, 0xC0, - 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x7B, 0xE0, 0x3F, 0xFC, 0x1F, 0xFF, 0x0F, - 0xFF, 0xC3, 0x83, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, - 0x00, 0x0F, 0xB8, 0x0F, 0xBF, 0xFF, 0xCF, 0xFF, 0xC3, 0xFF, 0xC0, 0x7F, - 0x80, 0x00, 0xFC, 0x07, 0xFC, 0x3F, 0xF8, 0xFF, 0xF1, 0xF8, 0x07, 0xC0, - 0x1F, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE7, 0xC3, 0xDF, 0xC7, 0x7F, 0xCF, - 0xFF, 0xDF, 0x8F, 0xFC, 0x07, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x3D, 0xE0, - 0xFB, 0xFF, 0xE3, 0xFF, 0xC3, 0xFF, 0x01, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1E, - 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, - 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, - 0x00, 0x70, 0x00, 0x07, 0xC0, 0x3F, 0xE0, 0xFF, 0xE3, 0xFF, 0xEF, 0x83, - 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1E, 0xF0, 0x78, 0xFF, 0xE0, - 0xFF, 0x81, 0xFF, 0x0F, 0xFF, 0x9E, 0x0F, 0x78, 0x0F, 0xF0, 0x1F, 0xE0, - 0x3F, 0xE0, 0xFB, 0xFF, 0xE7, 0xFF, 0xC7, 0xFF, 0x03, 0xF8, 0x00, 0x0F, - 0xC0, 0x3F, 0xE0, 0xFF, 0xE3, 0xFF, 0xEF, 0xC3, 0xDF, 0x03, 0xBC, 0x07, - 0xF8, 0x0F, 0xF0, 0x1F, 0xF0, 0x3D, 0xF1, 0xFB, 0xFF, 0xF3, 0xFE, 0xE3, - 0xFB, 0xC3, 0xE7, 0x80, 0x1E, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xE7, 0xFF, - 0x8F, 0xFE, 0x1F, 0xF0, 0x1F, 0x80, 0x00, 0x77, 0xFF, 0xF7, 0x00, 0x00, - 0x00, 0x00, 0xEF, 0xFF, 0xEE, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF3, 0xC7, 0x8E, 0x3C, 0x70, 0xE1, 0x87, 0x0C, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0xFE, - 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, - 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7C, 0x00, - 0x07, 0x7F, 0xFF, 0xDF, 0xFF, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0x00, - 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF7, 0xFF, 0xFE, 0x7F, 0xFF, 0xCF, 0xFF, - 0xF8, 0x00, 0x00, 0x3C, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, - 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x3F, 0x80, - 0x3F, 0x80, 0x3F, 0x80, 0x3F, 0x80, 0x3F, 0x80, 0x0F, 0x80, 0x03, 0x80, - 0x00, 0x1F, 0xC0, 0xFF, 0xE3, 0xFF, 0xF7, 0xFF, 0xEF, 0x07, 0xFE, 0x03, - 0xDC, 0x07, 0x80, 0x0F, 0x00, 0x7C, 0x03, 0xF8, 0x1F, 0xC0, 0x1E, 0x00, - 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x3E, - 0x00, 0x7C, 0x00, 0x70, 0x00, 0x07, 0xE0, 0x1F, 0xE0, 0x7F, 0xE1, 0xE1, - 0xC7, 0x83, 0xCE, 0x03, 0xBC, 0x07, 0x70, 0x0E, 0xE0, 0x7D, 0xC3, 0xFB, - 0x8F, 0xF7, 0x3C, 0xEE, 0x71, 0xDC, 0xE3, 0xB9, 0xC7, 0x73, 0xCE, 0xE3, - 0xFF, 0xC3, 0xFF, 0x83, 0xFF, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x1E, 0x02, - 0x1E, 0x1E, 0x3F, 0xFC, 0x1F, 0xF0, 0x1F, 0x80, 0x0F, 0xF8, 0x00, 0x7F, - 0xF0, 0x01, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xF8, - 0x00, 0x1C, 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x1E, 0x1E, 0x00, - 0x78, 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x01, 0xFF, - 0xFE, 0x07, 0xFF, 0xF8, 0x3C, 0x00, 0xF3, 0xFC, 0x1F, 0xEF, 0xF8, 0x7F, - 0xFF, 0xE1, 0xFF, 0x7F, 0x03, 0xF8, 0x7F, 0xFC, 0x0F, 0xFF, 0xF0, 0xFF, - 0xFF, 0x8F, 0xFF, 0xF8, 0x3C, 0x07, 0xC3, 0xC0, 0x3C, 0x3C, 0x03, 0xC3, - 0xC0, 0x7C, 0x3F, 0xFF, 0x83, 0xFF, 0xF0, 0x3F, 0xFF, 0x83, 0xFF, 0xFE, - 0x3C, 0x03, 0xE3, 0xC0, 0x1F, 0x3C, 0x00, 0xF3, 0xC0, 0x0F, 0x3C, 0x01, - 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFC, 0x7F, 0xFF, 0x00, 0x01, - 0xF8, 0xC1, 0xFF, 0xFC, 0x7F, 0xFF, 0x9F, 0xFF, 0xF7, 0xE0, 0x7E, 0xF8, - 0x07, 0xFE, 0x00, 0x7F, 0x80, 0x0E, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, - 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, - 0x07, 0x7F, 0x03, 0xE7, 0xFF, 0xFC, 0x7F, 0xFF, 0x03, 0xFF, 0xC0, 0x1F, - 0xE0, 0xFF, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xE3, 0xFF, 0xFC, 0x78, 0x1F, - 0x9E, 0x03, 0xE7, 0x80, 0x79, 0xE0, 0x0F, 0x78, 0x03, 0xDE, 0x00, 0xF7, - 0x80, 0x3D, 0xE0, 0x0F, 0x78, 0x03, 0xDE, 0x00, 0xF7, 0x80, 0x7D, 0xE0, - 0x1E, 0x78, 0x1F, 0xBF, 0xFF, 0xCF, 0xFF, 0xF3, 0xFF, 0xF0, 0x7F, 0xF0, - 0x00, 0x7F, 0xFF, 0xDF, 0xFF, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xE3, 0xC0, - 0x3C, 0x78, 0x07, 0x8F, 0x1C, 0xF1, 0xE3, 0xCC, 0x3F, 0xF8, 0x07, 0xFF, - 0x00, 0xFF, 0xE0, 0x1F, 0xFC, 0x03, 0xC7, 0x80, 0x78, 0xF1, 0x8F, 0x0C, - 0x79, 0xE0, 0x0F, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF7, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF3, 0xC0, 0x1E, 0x78, 0x63, 0xCF, 0x1E, 0x79, 0xE3, 0xC6, 0x3F, 0xF8, - 0x07, 0xFF, 0x00, 0xFF, 0xE0, 0x1F, 0xFC, 0x03, 0xC7, 0x80, 0x78, 0xE0, - 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x1F, 0xFC, 0x03, 0xFF, 0x80, - 0x7F, 0xF0, 0x07, 0xFC, 0x00, 0x01, 0xFC, 0xE0, 0x7F, 0xFE, 0x1F, 0xFF, - 0xE3, 0xFF, 0xFE, 0x7F, 0x03, 0xE7, 0xC0, 0x1E, 0xF8, 0x00, 0xEF, 0x00, - 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x03, 0xFE, 0xF0, - 0x3F, 0xFF, 0x03, 0xFF, 0xF8, 0x3F, 0xF7, 0x80, 0x1E, 0x7E, 0x01, 0xE3, - 0xFF, 0xFE, 0x1F, 0xFF, 0xE0, 0xFF, 0xF8, 0x01, 0xFE, 0x00, 0x7F, 0x0F, - 0xE3, 0xFC, 0x7F, 0x9F, 0xE3, 0xFC, 0x7F, 0x1F, 0xC1, 0xE0, 0x3C, 0x0F, - 0x01, 0xE0, 0x78, 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0xFF, 0xFE, - 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0x01, 0xE0, 0x78, - 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC3, 0xFC, 0x7F, 0xBF, 0xE3, 0xFF, - 0xFF, 0x1F, 0xF7, 0xF0, 0x7F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, - 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x83, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, - 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, - 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x38, 0x07, 0x8F, - 0x00, 0xF1, 0xE0, 0x1E, 0x3C, 0x03, 0xC7, 0x80, 0xF8, 0xF8, 0x3F, 0x1F, - 0xFF, 0xC3, 0xFF, 0xF0, 0x1F, 0xFC, 0x00, 0x7E, 0x00, 0xFF, 0x0F, 0xCF, - 0xF9, 0xFE, 0xFF, 0x9F, 0xEF, 0xF8, 0xFC, 0x3C, 0x1F, 0x03, 0xC3, 0xE0, - 0x3C, 0x7C, 0x03, 0xCF, 0x80, 0x3D, 0xF0, 0x03, 0xFE, 0x00, 0x3F, 0xF8, - 0x03, 0xFF, 0x80, 0x3E, 0x7C, 0x03, 0xC3, 0xE0, 0x3C, 0x1E, 0x03, 0xC0, - 0xF0, 0x3C, 0x0F, 0x0F, 0xF8, 0x7E, 0xFF, 0x87, 0xFF, 0xF8, 0x7F, 0x7F, - 0x03, 0xE0, 0xFF, 0xC0, 0x3F, 0xF0, 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0x1E, - 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, - 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x01, 0x87, 0x80, 0xF1, 0xE0, 0x3C, - 0x78, 0x0F, 0x1E, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, - 0xFF, 0xC0, 0x3E, 0x00, 0xF8, 0xFC, 0x01, 0xF9, 0xFC, 0x07, 0xF3, 0xF8, - 0x0F, 0xE3, 0xF8, 0x3F, 0x87, 0xF0, 0x7F, 0x0F, 0xF1, 0xFE, 0x1F, 0xE3, - 0xFC, 0x3D, 0xE7, 0x78, 0x7B, 0xDE, 0xF0, 0xF7, 0xBD, 0xE1, 0xE7, 0xF3, - 0xC3, 0xCF, 0xE7, 0x87, 0x8F, 0x8F, 0x0F, 0x1F, 0x1E, 0x1E, 0x1E, 0x3C, - 0x3C, 0x00, 0x79, 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x1F, 0xF7, - 0xF0, 0x1F, 0xC0, 0xFC, 0x1F, 0xEF, 0xE1, 0xFF, 0xFE, 0x1F, 0xFF, 0xF1, - 0xFF, 0x3F, 0x83, 0xC3, 0xF8, 0x3C, 0x3F, 0xC3, 0xC3, 0xFC, 0x3C, 0x3D, - 0xE3, 0xC3, 0xDE, 0x3C, 0x3C, 0xF3, 0xC3, 0xC7, 0xBC, 0x3C, 0x7B, 0xC3, - 0xC3, 0xFC, 0x3C, 0x3F, 0xC3, 0xC1, 0xFC, 0x3C, 0x1F, 0xCF, 0xF8, 0xFC, - 0xFF, 0x87, 0xCF, 0xF8, 0x7C, 0x7F, 0x03, 0xC0, 0x01, 0xF8, 0x00, 0x7F, - 0xE0, 0x0F, 0xFF, 0x81, 0xFF, 0xFC, 0x3F, 0x0F, 0xC7, 0xC0, 0x3E, 0x78, - 0x01, 0xEF, 0x80, 0x1F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, - 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x1F, 0x78, 0x01, 0xE7, 0xC0, 0x3E, - 0x3F, 0x0F, 0xC1, 0xFF, 0xF8, 0x1F, 0xFF, 0x00, 0x7F, 0xE0, 0x01, 0xF8, - 0x00, 0x7F, 0xF8, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, 0xFF, 0xFE, 0x3C, 0x0F, - 0xCF, 0x00, 0xF3, 0xC0, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0xCF, 0x03, 0xF3, - 0xFF, 0xF8, 0xFF, 0xFC, 0x3F, 0xFE, 0x0F, 0xFE, 0x03, 0xC0, 0x00, 0xF0, - 0x00, 0x3C, 0x00, 0x3F, 0xF8, 0x0F, 0xFE, 0x03, 0xFF, 0x80, 0x7F, 0xC0, - 0x00, 0x01, 0xF8, 0x00, 0x7F, 0xE0, 0x0F, 0xFF, 0x01, 0xFF, 0xF8, 0x3F, - 0x0F, 0xC7, 0xC0, 0x3E, 0x78, 0x01, 0xEF, 0x80, 0x1F, 0xF0, 0x00, 0xFF, - 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x1F, - 0x78, 0x01, 0xE7, 0xC0, 0x3E, 0x3F, 0x0F, 0xC1, 0xFF, 0xF8, 0x0F, 0xFF, - 0x00, 0x7F, 0xE0, 0x03, 0xF8, 0x00, 0x3F, 0x8E, 0x07, 0xFF, 0xF0, 0xFF, - 0xFF, 0x0F, 0xFF, 0xE0, 0x60, 0x78, 0x7F, 0xF8, 0x07, 0xFF, 0xF0, 0x3F, - 0xFF, 0xE0, 0xFF, 0xFF, 0x01, 0xE0, 0x7C, 0x0F, 0x01, 0xE0, 0x78, 0x0F, - 0x03, 0xC0, 0x78, 0x1E, 0x0F, 0xC0, 0xFF, 0xFC, 0x07, 0xFF, 0xC0, 0x3F, - 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0x0F, 0x80, 0x78, 0x3C, 0x03, 0xC0, 0xF0, - 0x1E, 0x07, 0xC3, 0xFE, 0x1F, 0xBF, 0xF0, 0x7F, 0xFF, 0x83, 0xF7, 0xF8, - 0x0F, 0x00, 0x07, 0xE7, 0x07, 0xFF, 0x8F, 0xFF, 0xC7, 0xFF, 0xE7, 0xC1, - 0xF3, 0xC0, 0x79, 0xE0, 0x3C, 0xF8, 0x00, 0x7F, 0x80, 0x1F, 0xFC, 0x07, - 0xFF, 0x81, 0xFF, 0xE0, 0x0F, 0xFB, 0x00, 0x7F, 0xC0, 0x1F, 0xE0, 0x0F, - 0xFC, 0x1F, 0xFF, 0xFF, 0xBF, 0xFF, 0x8D, 0xFF, 0x80, 0x3F, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x1F, 0xE1, - 0xE3, 0xFC, 0x3C, 0x7F, 0x87, 0x8F, 0x60, 0xF0, 0xC0, 0x1E, 0x00, 0x03, - 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, - 0x80, 0x00, 0xF0, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0x7F, - 0xE0, 0xFF, 0x0F, 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, 0xFE, 0xFF, 0x1F, 0xF3, - 0xC0, 0x1E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, - 0xE1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x78, 0x03, 0xC3, 0xC0, 0x1E, 0x1E, - 0x00, 0xF0, 0xF0, 0x07, 0x87, 0xC0, 0x7C, 0x1F, 0x07, 0xC0, 0xFF, 0xFE, - 0x03, 0xFF, 0xE0, 0x0F, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x03, 0xFD, - 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFB, 0xF8, 0x1F, 0xE1, 0xC0, 0x07, 0x03, - 0xC0, 0x1E, 0x07, 0x80, 0x3C, 0x07, 0x80, 0xF0, 0x0F, 0x01, 0xE0, 0x0F, - 0x03, 0x80, 0x1E, 0x0F, 0x00, 0x3E, 0x1E, 0x00, 0x3C, 0x78, 0x00, 0x78, - 0xF0, 0x00, 0x7B, 0xC0, 0x00, 0xF7, 0x80, 0x01, 0xFF, 0x00, 0x01, 0xFC, - 0x00, 0x03, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0x0F, - 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, 0xFF, 0xFE, 0x0F, 0xF7, 0x80, 0x0F, 0x3C, - 0x38, 0x78, 0xE3, 0xE3, 0x87, 0x1F, 0x1C, 0x38, 0xF8, 0xE1, 0xEF, 0xE7, - 0x0F, 0x7F, 0x78, 0x7B, 0xBB, 0xC3, 0xFD, 0xFE, 0x0F, 0xEF, 0xF0, 0x7E, - 0x3F, 0x03, 0xF1, 0xF8, 0x1F, 0x8F, 0xC0, 0xFC, 0x3E, 0x07, 0xC1, 0xF0, - 0x3E, 0x0F, 0x81, 0xF0, 0x7C, 0x00, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, 0xFC, - 0x7F, 0xBF, 0x07, 0xE1, 0xE0, 0xF8, 0x3E, 0x3E, 0x03, 0xEF, 0x80, 0x3D, - 0xE0, 0x03, 0xF8, 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, 0x3F, - 0x80, 0x0F, 0x78, 0x03, 0xC7, 0x80, 0xF8, 0x78, 0x3E, 0x0F, 0x8F, 0xE3, - 0xFF, 0xFC, 0x7F, 0xFF, 0x8F, 0xF7, 0xE0, 0xFC, 0x7E, 0x07, 0xEF, 0xF0, - 0xFF, 0xFF, 0x0F, 0xF7, 0xE0, 0x7E, 0x1E, 0x07, 0x81, 0xF0, 0xF8, 0x0F, - 0x0F, 0x00, 0x79, 0xE0, 0x07, 0xFE, 0x00, 0x3F, 0xC0, 0x01, 0xF8, 0x00, - 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, - 0x00, 0xF0, 0x00, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, 0x07, 0xFE, - 0x00, 0xFF, 0xFC, 0xFF, 0xFC, 0xFF, 0xFC, 0xFF, 0xFC, 0xF0, 0x3C, 0xF0, - 0x78, 0xF0, 0xF0, 0x70, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0x80, 0x07, - 0x00, 0x0F, 0x00, 0x1E, 0x0E, 0x1C, 0x0F, 0x38, 0x0F, 0x78, 0x0F, 0x7F, - 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFE, 0xE0, 0x01, - 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x00, 0x0F, 0x00, 0x0E, - 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF0, - 0x00, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, - 0x07, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, 0x00, - 0x38, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x07, 0x00, 0x1F, 0x00, - 0x7F, 0x00, 0xFE, 0x03, 0xDE, 0x0F, 0x1E, 0x3E, 0x3E, 0xF8, 0x3F, 0xE0, - 0x3F, 0x80, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF0, 0xC3, 0x87, 0x0E, 0x1C, 0x30, 0x01, 0xFC, 0x01, 0xFF, 0xC0, - 0x3F, 0xFC, 0x07, 0xFF, 0xC0, 0x00, 0x78, 0x0F, 0xFF, 0x07, 0xFF, 0xE1, - 0xFF, 0xFC, 0x7F, 0xFF, 0x9F, 0x80, 0xF3, 0xC0, 0x1E, 0x78, 0x0F, 0xCF, - 0xFF, 0xFE, 0xFF, 0xFF, 0xCF, 0xFF, 0xF8, 0x7F, 0x3E, 0x7C, 0x00, 0x1F, - 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, - 0x3F, 0x01, 0xFF, 0xF8, 0x3F, 0xFF, 0x87, 0xFF, 0xF0, 0xFC, 0x1F, 0x1F, - 0x01, 0xF3, 0xC0, 0x1E, 0x78, 0x03, 0xCF, 0x00, 0x79, 0xE0, 0x0F, 0x3E, - 0x03, 0xE7, 0xE0, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xCF, 0xFF, 0xF0, 0xF9, - 0xF8, 0x00, 0x03, 0xF3, 0x87, 0xFF, 0xCF, 0xFF, 0xEF, 0xFF, 0xF7, 0xE0, - 0xFF, 0xC0, 0x3F, 0xC0, 0x0F, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3E, - 0x00, 0x4F, 0x80, 0xF7, 0xFF, 0xF9, 0xFF, 0xF8, 0x7F, 0xF8, 0x0F, 0xF0, - 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x03, - 0xC0, 0x00, 0x3C, 0x03, 0xF3, 0xC0, 0xFF, 0xBC, 0x1F, 0xFF, 0xC3, 0xFF, - 0xFC, 0x7E, 0x0F, 0xC7, 0x80, 0x7C, 0xF0, 0x03, 0xCF, 0x00, 0x3C, 0xF0, - 0x03, 0xCF, 0x00, 0x3C, 0xF8, 0x07, 0xC7, 0xE0, 0xFC, 0x7F, 0xFF, 0xF3, - 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, 0x3F, 0x3E, 0x03, 0xF0, 0x03, 0xFF, 0x01, - 0xFF, 0xE0, 0xFF, 0xFC, 0x7E, 0x0F, 0x9E, 0x01, 0xEF, 0x00, 0x3F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xE0, 0x00, 0x7F, 0xFF, - 0xCF, 0xFF, 0xF1, 0xFF, 0xF8, 0x0F, 0xF0, 0x03, 0xFC, 0x07, 0xFF, 0x0F, - 0xFF, 0x1F, 0xFF, 0x1E, 0x00, 0x1E, 0x00, 0xFF, 0xF8, 0xFF, 0xFC, 0xFF, - 0xFC, 0xFF, 0xF8, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, - 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0xFF, 0xF8, 0xFF, 0xF8, 0xFF, - 0xF8, 0xFF, 0xF8, 0x07, 0xE7, 0xC3, 0xFF, 0xFC, 0xFF, 0xFF, 0xBF, 0xFF, - 0xF7, 0xC1, 0xF9, 0xF0, 0x1F, 0x3C, 0x01, 0xE7, 0x80, 0x3C, 0xF0, 0x07, - 0x9E, 0x00, 0xF3, 0xE0, 0x3E, 0x3E, 0x0F, 0xC7, 0xFF, 0xF8, 0x7F, 0xFF, - 0x07, 0xFD, 0xE0, 0x3F, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3E, - 0x03, 0xFF, 0x80, 0x7F, 0xF0, 0x0F, 0xFC, 0x00, 0xFE, 0x00, 0x3E, 0x00, - 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x01, 0xE0, 0x00, 0x0F, - 0x00, 0x00, 0x78, 0xF8, 0x03, 0xDF, 0xE0, 0x1F, 0xFF, 0x80, 0xFF, 0xFE, - 0x07, 0xE1, 0xF0, 0x3E, 0x07, 0x81, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x78, - 0x0F, 0x03, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x1F, 0xC1, 0xFD, - 0xFE, 0x0F, 0xFF, 0xF0, 0x7F, 0xBF, 0x01, 0xF8, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x3F, 0xC0, - 0x3F, 0xC0, 0x3F, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFE, 0xFF, 0xFF, - 0xFF, 0xFF, 0x7F, 0xFE, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x00, 0x00, - 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, - 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, - 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xFF, 0xFE, 0xFF, 0xEF, 0xFC, 0x7F, 0x00, - 0x7C, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0x3C, 0x00, 0x0F, - 0x00, 0x03, 0xC7, 0xF0, 0xF3, 0xFC, 0x3C, 0xFF, 0x0F, 0x3F, 0x83, 0xDF, - 0x00, 0xFF, 0x80, 0x3F, 0xC0, 0x0F, 0xE0, 0x03, 0xFC, 0x00, 0xF7, 0x80, - 0x3C, 0xF0, 0x0F, 0x1F, 0x0F, 0xC3, 0xFB, 0xF1, 0xFF, 0xFC, 0x7F, 0xDF, - 0x0F, 0xE0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0x3D, 0xE3, - 0xC1, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x1F, 0xFF, 0xFE, 0x3E, 0x3C, 0x78, - 0xF0, 0xF1, 0xE3, 0xC3, 0xC7, 0x8F, 0x0F, 0x1E, 0x3C, 0x3C, 0x78, 0xF0, - 0xF1, 0xE3, 0xC3, 0xC7, 0x8F, 0x0F, 0x1E, 0xFE, 0x3E, 0x7F, 0xF8, 0xF9, - 0xFF, 0xE3, 0xE7, 0xDF, 0x0F, 0x1E, 0x1E, 0x7C, 0x03, 0xEF, 0xF0, 0x3F, - 0xFF, 0x83, 0xFF, 0xFC, 0x1F, 0x87, 0xC1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, - 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, - 0x7F, 0x0F, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xF7, 0xE0, 0x7E, 0x03, 0xF8, - 0x01, 0xFF, 0xC0, 0x7F, 0xFC, 0x1F, 0xFF, 0xC7, 0xE0, 0xFD, 0xF0, 0x07, - 0xFC, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xE0, 0x0F, - 0xBF, 0x07, 0xE3, 0xFF, 0xF8, 0x3F, 0xFE, 0x03, 0xFF, 0x80, 0x1F, 0xC0, - 0x3E, 0x7E, 0x03, 0xF7, 0xFC, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC1, 0xF8, - 0x3F, 0x0F, 0x80, 0x7C, 0x78, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x78, - 0xF0, 0x03, 0xC7, 0xC0, 0x3E, 0x3F, 0x07, 0xE1, 0xFF, 0xFE, 0x0F, 0xFF, - 0xE0, 0x7B, 0xFE, 0x03, 0xCF, 0xC0, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, - 0x80, 0x00, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x01, 0xFE, 0x00, - 0x00, 0x03, 0xF3, 0xE0, 0x7F, 0xDF, 0x87, 0xFF, 0xFC, 0x7F, 0xFF, 0xE7, - 0xE0, 0xFC, 0x7C, 0x03, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x78, 0xF0, 0x03, - 0xC7, 0x80, 0x1E, 0x3E, 0x01, 0xF0, 0xFC, 0x1F, 0x83, 0xFF, 0xFC, 0x1F, - 0xFF, 0xE0, 0x3F, 0xEF, 0x00, 0x7E, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, - 0x00, 0x00, 0xF0, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, - 0x3F, 0xC0, 0x7E, 0x1E, 0x7F, 0x3F, 0xFF, 0xBF, 0xFF, 0xFF, 0xF1, 0xFE, - 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, - 0x80, 0x03, 0xC0, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xFF, 0xE1, 0xFF, 0xE0, - 0x07, 0xE6, 0x1F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x78, 0x1E, 0x78, 0x0E, - 0x7F, 0xE0, 0x3F, 0xFC, 0x03, 0xFE, 0x60, 0x1F, 0xE0, 0x0F, 0xF8, 0x1F, - 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFC, 0x07, 0xE0, 0x0C, 0x00, 0x0F, 0x00, - 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x07, 0xFF, 0xF3, 0xFF, 0xF9, 0xFF, - 0xFC, 0xFF, 0xFC, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, - 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x07, 0x8F, 0xFF, 0xC3, 0xFF, - 0xC1, 0xFF, 0xC0, 0x3F, 0x80, 0xFC, 0x1F, 0xBF, 0x0F, 0xEF, 0xC3, 0xFB, - 0xF0, 0xFE, 0x3C, 0x07, 0x8F, 0x01, 0xE3, 0xC0, 0x78, 0xF0, 0x1E, 0x3C, - 0x07, 0x8F, 0x01, 0xE3, 0xC0, 0x78, 0xF8, 0x7E, 0x3F, 0xFF, 0xC7, 0xFF, - 0xF0, 0xFF, 0x7C, 0x0F, 0x9E, 0x7F, 0x07, 0xF7, 0xFC, 0x7F, 0xFF, 0xE3, - 0xFE, 0xFE, 0x0F, 0xE1, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x1E, 0x01, - 0xE0, 0xF0, 0x07, 0x8F, 0x00, 0x3E, 0x78, 0x00, 0xF7, 0x80, 0x07, 0xFC, - 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7E, - 0x03, 0xF7, 0xF8, 0x3F, 0xFF, 0xC1, 0xFE, 0xFC, 0x07, 0xF3, 0xC7, 0x0F, - 0x1E, 0x7C, 0xF0, 0x73, 0xE7, 0x83, 0x9F, 0x7C, 0x1F, 0xFF, 0xC0, 0xFF, - 0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFC, 0xF8, 0x07, 0xC7, 0xC0, - 0x1E, 0x3E, 0x00, 0xE0, 0xE0, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, 0xFC, 0x7F, - 0xBF, 0x07, 0xE1, 0xF1, 0xF0, 0x1F, 0xFC, 0x01, 0xFF, 0x00, 0x1F, 0xC0, - 0x07, 0xF8, 0x01, 0xFF, 0xC0, 0x7E, 0xFC, 0x1F, 0x8F, 0xC7, 0xE0, 0xFD, - 0xFE, 0x3F, 0xFF, 0xC7, 0xFF, 0xF0, 0x7F, 0x7E, 0x0F, 0xDF, 0xE3, 0xFF, - 0xFC, 0x7F, 0xBF, 0x07, 0xE3, 0xC0, 0x78, 0x3C, 0x0E, 0x07, 0x83, 0xC0, - 0x78, 0x70, 0x0F, 0x1E, 0x00, 0xE3, 0x80, 0x1E, 0xF0, 0x01, 0xDC, 0x00, - 0x3F, 0x80, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, - 0x38, 0x00, 0x0F, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x1F, - 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF9, 0xC7, - 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x78, 0x03, 0xC0, 0x1E, 0x07, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x81, 0xF0, 0xFC, 0x7E, 0x1F, - 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xF8, 0xFC, 0x3E, 0x0F, - 0x83, 0xF0, 0x3E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xF0, 0x7E, - 0x0F, 0xC3, 0xF0, 0x38, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x70, 0x3E, 0x0F, 0xC1, 0xF8, 0x3E, - 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x7C, 0x0F, 0xC1, 0xF0, - 0x7C, 0x3F, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x83, 0xE1, 0xF8, - 0xFC, 0x3F, 0x07, 0x00, 0x1E, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xDF, 0xFC, - 0xFF, 0x3F, 0xFB, 0x0F, 0xF8, 0x03, 0xF8, 0x00, 0x78 }; - -const GFXglyph FreeMonoBold18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' - { 0, 5, 22, 21, 8, -21 }, // 0x21 '!' - { 14, 11, 10, 21, 5, -20 }, // 0x22 '"' - { 28, 16, 25, 21, 3, -22 }, // 0x23 '#' - { 78, 14, 28, 21, 4, -23 }, // 0x24 '$' - { 127, 15, 21, 21, 3, -20 }, // 0x25 '%' - { 167, 15, 20, 21, 3, -19 }, // 0x26 '&' - { 205, 4, 10, 21, 8, -20 }, // 0x27 ''' - { 210, 8, 27, 21, 9, -21 }, // 0x28 '(' - { 237, 8, 27, 21, 4, -21 }, // 0x29 ')' - { 264, 16, 15, 21, 3, -21 }, // 0x2A '*' - { 294, 16, 19, 21, 3, -18 }, // 0x2B '+' - { 332, 7, 10, 21, 5, -3 }, // 0x2C ',' - { 341, 19, 4, 21, 1, -11 }, // 0x2D '-' - { 351, 5, 5, 21, 8, -4 }, // 0x2E '.' - { 355, 15, 28, 21, 3, -23 }, // 0x2F '/' - { 408, 16, 23, 21, 3, -22 }, // 0x30 '0' - { 454, 15, 22, 21, 3, -21 }, // 0x31 '1' - { 496, 15, 23, 21, 3, -22 }, // 0x32 '2' - { 540, 16, 23, 21, 3, -22 }, // 0x33 '3' - { 586, 15, 21, 21, 3, -20 }, // 0x34 '4' - { 626, 17, 22, 21, 2, -21 }, // 0x35 '5' - { 673, 15, 23, 21, 4, -22 }, // 0x36 '6' - { 717, 15, 22, 21, 3, -21 }, // 0x37 '7' - { 759, 15, 23, 21, 3, -22 }, // 0x38 '8' - { 803, 15, 23, 21, 4, -22 }, // 0x39 '9' - { 847, 5, 16, 21, 8, -15 }, // 0x3A ':' - { 857, 7, 22, 21, 5, -15 }, // 0x3B ';' - { 877, 18, 16, 21, 1, -17 }, // 0x3C '<' - { 913, 19, 10, 21, 1, -14 }, // 0x3D '=' - { 937, 18, 16, 21, 2, -17 }, // 0x3E '>' - { 973, 15, 21, 21, 4, -20 }, // 0x3F '?' - { 1013, 15, 27, 21, 3, -21 }, // 0x40 '@' - { 1064, 22, 21, 21, -1, -20 }, // 0x41 'A' - { 1122, 20, 21, 21, 1, -20 }, // 0x42 'B' - { 1175, 19, 21, 21, 1, -20 }, // 0x43 'C' - { 1225, 18, 21, 21, 2, -20 }, // 0x44 'D' - { 1273, 19, 21, 21, 1, -20 }, // 0x45 'E' - { 1323, 19, 21, 21, 1, -20 }, // 0x46 'F' - { 1373, 20, 21, 21, 1, -20 }, // 0x47 'G' - { 1426, 21, 21, 21, 0, -20 }, // 0x48 'H' - { 1482, 14, 21, 21, 4, -20 }, // 0x49 'I' - { 1519, 19, 21, 21, 2, -20 }, // 0x4A 'J' - { 1569, 20, 21, 21, 1, -20 }, // 0x4B 'K' - { 1622, 18, 21, 21, 2, -20 }, // 0x4C 'L' - { 1670, 23, 21, 21, -1, -20 }, // 0x4D 'M' - { 1731, 20, 21, 21, 1, -20 }, // 0x4E 'N' - { 1784, 20, 21, 21, 1, -20 }, // 0x4F 'O' - { 1837, 18, 21, 21, 1, -20 }, // 0x50 'P' - { 1885, 20, 26, 21, 1, -20 }, // 0x51 'Q' - { 1950, 21, 21, 21, 0, -20 }, // 0x52 'R' - { 2006, 17, 21, 21, 2, -20 }, // 0x53 'S' - { 2051, 19, 21, 21, 1, -20 }, // 0x54 'T' - { 2101, 21, 21, 21, 0, -20 }, // 0x55 'U' - { 2157, 23, 21, 21, -1, -20 }, // 0x56 'V' - { 2218, 21, 21, 21, 0, -20 }, // 0x57 'W' - { 2274, 19, 21, 21, 1, -20 }, // 0x58 'X' - { 2324, 20, 21, 21, 1, -20 }, // 0x59 'Y' - { 2377, 16, 21, 21, 3, -20 }, // 0x5A 'Z' - { 2419, 8, 27, 21, 9, -21 }, // 0x5B '[' - { 2446, 15, 28, 21, 3, -23 }, // 0x5C '\' - { 2499, 8, 27, 21, 4, -21 }, // 0x5D ']' - { 2526, 15, 11, 21, 3, -21 }, // 0x5E '^' - { 2547, 21, 4, 21, 0, 4 }, // 0x5F '_' - { 2558, 6, 6, 21, 6, -22 }, // 0x60 '`' - { 2563, 19, 16, 21, 1, -15 }, // 0x61 'a' - { 2601, 19, 22, 21, 1, -21 }, // 0x62 'b' - { 2654, 17, 16, 21, 2, -15 }, // 0x63 'c' - { 2688, 20, 22, 21, 1, -21 }, // 0x64 'd' - { 2743, 18, 16, 21, 1, -15 }, // 0x65 'e' - { 2779, 16, 22, 21, 4, -21 }, // 0x66 'f' - { 2823, 19, 23, 21, 1, -15 }, // 0x67 'g' - { 2878, 21, 22, 21, 0, -21 }, // 0x68 'h' - { 2936, 16, 22, 21, 3, -21 }, // 0x69 'i' - { 2980, 12, 29, 21, 5, -21 }, // 0x6A 'j' - { 3024, 18, 22, 21, 2, -21 }, // 0x6B 'k' - { 3074, 16, 22, 21, 3, -21 }, // 0x6C 'l' - { 3118, 22, 16, 21, -1, -15 }, // 0x6D 'm' - { 3162, 20, 16, 21, 0, -15 }, // 0x6E 'n' - { 3202, 19, 16, 21, 1, -15 }, // 0x6F 'o' - { 3240, 21, 23, 21, 0, -15 }, // 0x70 'p' - { 3301, 21, 23, 22, 1, -15 }, // 0x71 'q' - { 3362, 17, 16, 21, 3, -15 }, // 0x72 'r' - { 3396, 16, 16, 21, 3, -15 }, // 0x73 's' - { 3428, 17, 21, 21, 1, -20 }, // 0x74 't' - { 3473, 18, 16, 21, 1, -15 }, // 0x75 'u' - { 3509, 21, 16, 21, 0, -15 }, // 0x76 'v' - { 3551, 21, 16, 21, 0, -15 }, // 0x77 'w' - { 3593, 19, 16, 21, 1, -15 }, // 0x78 'x' - { 3631, 19, 23, 21, 1, -15 }, // 0x79 'y' - { 3686, 14, 16, 21, 3, -15 }, // 0x7A 'z' - { 3714, 10, 27, 21, 6, -21 }, // 0x7B '{' - { 3748, 4, 27, 21, 9, -21 }, // 0x7C '|' - { 3762, 10, 27, 21, 6, -21 }, // 0x7D '}' - { 3796, 17, 8, 21, 2, -13 } }; // 0x7E '~' - -const GFXfont FreeMonoBold18pt7b PROGMEM = { - (uint8_t *)FreeMonoBold18pt7bBitmaps, - (GFXglyph *)FreeMonoBold18pt7bGlyphs, - 0x20, 0x7E, 35 }; - -// Approx. 4485 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h deleted file mode 100644 index aa0dcd0..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold24pt7b.h +++ /dev/null @@ -1,672 +0,0 @@ -const uint8_t FreeMonoBold24pt7bBitmaps[] PROGMEM = { - 0x38, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xF3, 0xE7, 0xCF, - 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE3, 0x82, 0x00, 0x00, 0x00, 0x71, 0xF7, - 0xFF, 0xEF, 0x9E, 0x00, 0xFC, 0x7E, 0xF8, 0x7D, 0xF0, 0xFB, 0xE1, 0xF7, - 0xC3, 0xEF, 0x87, 0xDF, 0x0F, 0xBE, 0x1F, 0x38, 0x1C, 0x70, 0x38, 0xE0, - 0x71, 0xC0, 0xE3, 0x81, 0xC7, 0x03, 0x80, 0x01, 0xC1, 0xC0, 0x0F, 0x8F, - 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, 0x0F, 0x8F, 0x80, - 0x7E, 0x3E, 0x01, 0xF0, 0xF8, 0x07, 0xC7, 0xC0, 0x1F, 0x1F, 0x03, 0xFF, - 0xFF, 0x9F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFD, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, - 0x81, 0xF1, 0xF0, 0x07, 0xC7, 0xC0, 0x1F, 0x1F, 0x00, 0x7C, 0x7C, 0x1F, - 0xFF, 0xFC, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x9F, 0xFF, - 0xFC, 0x0F, 0x8F, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, - 0x0F, 0x8F, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xE0, 0x0F, - 0x8F, 0x80, 0x3C, 0x3C, 0x00, 0x00, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x1F, 0xFF, 0x07, 0xFF, 0xF1, 0xFF, 0xFE, - 0x7F, 0xFF, 0xDF, 0xC1, 0xFB, 0xF0, 0x1F, 0x7C, 0x01, 0xEF, 0x80, 0x39, - 0xF8, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x03, 0xFF, 0xF0, - 0x0F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, - 0x80, 0x1F, 0xF8, 0x07, 0xFF, 0x81, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xCF, - 0xFF, 0xF1, 0xDF, 0xFC, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, - 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x01, 0xC0, 0x00, - 0x0F, 0x80, 0x00, 0xFF, 0x00, 0x1F, 0xFC, 0x00, 0xF0, 0xE0, 0x0F, 0x07, - 0x80, 0x70, 0x1C, 0x03, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xF0, 0x78, 0x03, - 0xC3, 0x80, 0x1F, 0xFC, 0x00, 0x7F, 0xC1, 0xF0, 0xF8, 0x7F, 0x00, 0x3F, - 0xF0, 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xC0, 0x07, 0xE0, 0xF8, 0x38, - 0x1F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0x1E, 0x00, 0xF0, 0x78, 0x07, 0x01, - 0xC0, 0x38, 0x0E, 0x01, 0xC0, 0x70, 0x0F, 0x07, 0x80, 0x38, 0x78, 0x01, - 0xFF, 0xC0, 0x07, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0xFC, - 0x01, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x0F, 0xC7, 0x00, 0x7C, - 0x10, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, - 0x1F, 0x80, 0x00, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xC7, 0xCF, 0xFF, - 0x3F, 0x7E, 0xFF, 0xFF, 0xE7, 0xFF, 0xBE, 0x1F, 0xF9, 0xF0, 0x7F, 0x8F, - 0x83, 0xFC, 0x7C, 0x0F, 0xE3, 0xF0, 0x7F, 0xCF, 0xFF, 0xFF, 0x7F, 0xFF, - 0xF9, 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x0F, 0xE0, 0x00, 0xFD, 0xF7, 0xDF, - 0x7D, 0xF7, 0xDF, 0x38, 0xE3, 0x8E, 0x38, 0xE0, 0x01, 0x80, 0xF0, 0x7C, - 0x3F, 0x0F, 0xC7, 0xE1, 0xF8, 0xFC, 0x3E, 0x0F, 0x87, 0xC1, 0xF0, 0x7C, - 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, - 0x81, 0xF0, 0x7C, 0x1F, 0x07, 0xC0, 0xF8, 0x3E, 0x0F, 0xC1, 0xF0, 0x7E, - 0x0F, 0x83, 0xF0, 0x7C, 0x1F, 0x03, 0xC0, 0x60, 0x3C, 0x0F, 0x83, 0xF0, - 0xFC, 0x1F, 0x83, 0xE0, 0xFC, 0x1F, 0x07, 0xC1, 0xF8, 0x3E, 0x0F, 0x83, - 0xE0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, - 0x1E, 0x0F, 0x83, 0xE0, 0xF8, 0x7C, 0x1F, 0x0F, 0xC3, 0xE1, 0xF8, 0x7C, - 0x3F, 0x0F, 0x83, 0xE0, 0xF0, 0x00, 0x00, 0x70, 0x00, 0x07, 0xC0, 0x00, - 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x10, 0x7C, 0x11, 0xF3, 0xE7, - 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0x87, 0xFF, 0xF0, 0x07, - 0xFC, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0x80, 0x3F, 0x7E, 0x01, 0xFB, 0xF0, - 0x1F, 0x8F, 0xC0, 0xF8, 0x3E, 0x03, 0x80, 0xE0, 0x00, 0x38, 0x00, 0x00, - 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, - 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, - 0x01, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDF, 0xFF, 0xFF, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, - 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, - 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x70, 0x00, 0x1F, - 0x8F, 0x87, 0xC7, 0xC3, 0xE1, 0xE1, 0xF0, 0xF0, 0x78, 0x38, 0x3C, 0x1C, - 0x0E, 0x06, 0x00, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x7D, 0xFF, 0xFF, 0xFF, 0xEF, 0x80, - 0x00, 0x00, 0x60, 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, - 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, - 0xF8, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, - 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, 0x00, 0xF8, 0x00, - 0x1F, 0x80, 0x01, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, - 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, - 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, - 0x00, 0xFC, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x00, 0x01, - 0xFC, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xFF, 0xFE, - 0x1F, 0x83, 0xF1, 0xF8, 0x0F, 0xCF, 0x80, 0x3E, 0x7C, 0x01, 0xF7, 0xC0, - 0x07, 0xFE, 0x00, 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, - 0xE0, 0x03, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xC0, 0x07, 0xFE, 0x00, - 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7D, 0xF0, 0x07, 0xCF, - 0x80, 0x3E, 0x7E, 0x03, 0xF1, 0xF8, 0x3F, 0x0F, 0xFF, 0xF8, 0x3F, 0xFF, - 0x80, 0xFF, 0xF8, 0x03, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, - 0x3F, 0x80, 0x0F, 0xF8, 0x01, 0xFF, 0x80, 0x7F, 0xF8, 0x0F, 0xEF, 0x80, - 0xFC, 0xF8, 0x07, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, - 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, - 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, - 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x3F, 0xFF, 0xE7, - 0xFF, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0x01, 0xFC, - 0x00, 0x3F, 0xF8, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0xC7, 0xFF, 0xFF, 0x3F, - 0x03, 0xFB, 0xF0, 0x07, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFB, 0x80, 0x07, - 0xC0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xF8, 0x00, - 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x00, - 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xE0, - 0x0E, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xF8, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, - 0xE0, 0xFF, 0xFF, 0x8F, 0xFF, 0xFE, 0x7E, 0x03, 0xF1, 0xC0, 0x0F, 0xC0, - 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x0F, - 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x3F, 0xF0, 0x00, - 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x0F, - 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x01, 0xFF, 0xC0, - 0x3F, 0xBF, 0xFF, 0xFD, 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, - 0x1F, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x07, - 0xF8, 0x00, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xEF, 0x80, 0x3E, 0xF8, 0x03, - 0xCF, 0x80, 0x7C, 0xF8, 0x0F, 0x8F, 0x80, 0xF0, 0xF8, 0x1F, 0x0F, 0x81, - 0xE0, 0xF8, 0x3E, 0x0F, 0x87, 0xC0, 0xF8, 0x78, 0x0F, 0x8F, 0xFF, 0xFE, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x0F, - 0x80, 0x07, 0xFE, 0x00, 0xFF, 0xF0, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, 0x07, - 0xFE, 0x3F, 0xFF, 0xC1, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x7F, 0xFF, 0xC3, - 0xFF, 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, - 0x01, 0xF0, 0x00, 0x0F, 0xBF, 0x00, 0x7F, 0xFF, 0x03, 0xFF, 0xFC, 0x1F, - 0xFF, 0xF0, 0xFF, 0xFF, 0x83, 0xC0, 0xFE, 0x00, 0x01, 0xF0, 0x00, 0x0F, - 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, - 0x03, 0xE0, 0x00, 0x3F, 0xF0, 0x03, 0xF7, 0xE0, 0x3F, 0xBF, 0xFF, 0xF9, - 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x1F, 0xFF, 0x80, 0x1F, 0xF0, 0x00, 0x00, - 0x1F, 0xC0, 0x0F, 0xFF, 0x01, 0xFF, 0xF0, 0x7F, 0xFF, 0x0F, 0xFF, 0xE1, - 0xFF, 0x00, 0x1F, 0xC0, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, - 0x7C, 0x00, 0x0F, 0x8F, 0xC0, 0xF9, 0xFF, 0x0F, 0xFF, 0xF8, 0xFF, 0xFF, - 0xCF, 0xFF, 0xFC, 0xFF, 0x0F, 0xEF, 0xE0, 0x3E, 0xFC, 0x03, 0xFF, 0x80, - 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xF7, 0xC0, 0x3F, 0x7E, - 0x03, 0xF3, 0xF0, 0x7E, 0x3F, 0xFF, 0xE1, 0xFF, 0xFC, 0x0F, 0xFF, 0x80, - 0x7F, 0xF0, 0x01, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xF0, 0x03, 0xE0, 0x00, - 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, - 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, - 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, - 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x06, 0x00, 0x01, 0xF8, 0x00, 0xFF, - 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7F, 0xFF, 0xE7, 0xE0, 0x7E, 0xFC, - 0x03, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xF7, - 0xC0, 0x3E, 0x7E, 0x07, 0xE3, 0xFF, 0xFC, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, - 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7F, 0x0F, 0xE7, 0xC0, 0x3E, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xF7, 0xE0, - 0x7E, 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0x80, 0xFF, 0xF0, 0x03, - 0xFC, 0x00, 0x03, 0xF8, 0x00, 0xFF, 0xE0, 0x1F, 0xFF, 0x83, 0xFF, 0xF8, - 0x7F, 0xFF, 0xC7, 0xE0, 0xFE, 0xFC, 0x03, 0xEF, 0x80, 0x3E, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x3F, 0xFC, 0x07, 0xF7, 0xE0, - 0xFF, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, 0xFF, 0x9F, 0x03, - 0xF1, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, - 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x0F, 0xF0, 0x7F, 0xFE, 0x0F, 0xFF, 0xC0, - 0xFF, 0xF8, 0x0F, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, - 0xEF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, - 0xFF, 0xFF, 0xEF, 0x80, 0x0F, 0x87, 0xF1, 0xFC, 0x7F, 0x1F, 0xC3, 0xE0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, - 0x1F, 0x87, 0xE1, 0xF0, 0xFC, 0x3E, 0x0F, 0x03, 0xC1, 0xE0, 0x78, 0x1C, - 0x07, 0x01, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x7F, - 0x00, 0x01, 0xFE, 0x00, 0x07, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xC0, - 0x01, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x00, - 0xFF, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFE, 0x00, 0x01, 0xFF, 0x80, - 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1E, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, - 0x00, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x07, - 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x7F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xF0, 0x01, - 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xF0, - 0x00, 0xFF, 0x80, 0x03, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x01, 0xFF, 0xF0, 0xFF, 0xFF, 0x8F, - 0xFF, 0xFC, 0xFF, 0xFF, 0xEF, 0xC0, 0x7E, 0xF8, 0x03, 0xFF, 0x80, 0x1F, - 0x70, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x3F, - 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x0F, - 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1F, 0x00, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, - 0x3F, 0x80, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0xFF, 0x80, 0x3F, 0xF8, - 0x0F, 0xFF, 0x83, 0xE0, 0xF8, 0x78, 0x07, 0x1E, 0x00, 0xF3, 0x80, 0x0E, - 0x70, 0x01, 0xDE, 0x00, 0x3B, 0x80, 0x3F, 0x70, 0x1F, 0xEE, 0x07, 0xFD, - 0xC1, 0xFF, 0xB8, 0x7E, 0x77, 0x0F, 0x0E, 0xE3, 0xC1, 0xDC, 0x70, 0x3B, - 0x8E, 0x07, 0x71, 0xC0, 0xEE, 0x3C, 0x1D, 0xC3, 0xC3, 0xB8, 0x7F, 0xF7, - 0x07, 0xFF, 0xE0, 0x7F, 0xFC, 0x03, 0xFB, 0xC0, 0x00, 0x38, 0x00, 0x07, - 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x61, 0xF0, 0x3E, 0x1F, 0xFF, 0xC3, - 0xFF, 0xF0, 0x1F, 0xFC, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x7F, - 0xFE, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x7F, 0xFE, - 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x0F, 0xBE, 0x00, - 0x00, 0x7D, 0xF8, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x3E, 0x3E, 0x00, 0x03, - 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF0, 0x3F, 0x00, 0x0F, 0x80, - 0xF8, 0x00, 0x7F, 0xFF, 0xC0, 0x07, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xF8, - 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0xF8, 0x00, 0xF8, 0x0F, - 0x80, 0x03, 0xE1, 0xFF, 0x80, 0xFF, 0xDF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, - 0x7F, 0xFF, 0xFF, 0x83, 0xFF, 0xDF, 0xF8, 0x0F, 0xFC, 0x7F, 0xFF, 0xC0, - 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, - 0xFE, 0x07, 0xC0, 0x1F, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, - 0x00, 0x1F, 0x07, 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0x7F, 0xFF, 0xF0, - 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, - 0xFC, 0x1F, 0x00, 0x3F, 0x87, 0xC0, 0x03, 0xF1, 0xF0, 0x00, 0x7C, 0x7C, - 0x00, 0x1F, 0x1F, 0x00, 0x07, 0xC7, 0xC0, 0x03, 0xF7, 0xFF, 0xFF, 0xFB, - 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, - 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xE7, 0x01, 0xFF, 0xFF, 0xC1, 0xFF, - 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFE, 0x07, 0xF8, 0xFC, 0x01, 0xFC, 0xFC, - 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x0F, 0xBE, 0x00, 0x03, 0x9F, - 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, - 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x1F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x39, 0xFC, 0x00, - 0x7C, 0x7F, 0x80, 0xFF, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0x81, 0xFF, - 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, - 0xFF, 0xF0, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, - 0xF0, 0x0F, 0xF0, 0xF8, 0x01, 0xF8, 0x7C, 0x00, 0x7E, 0x3E, 0x00, 0x1F, - 0x1F, 0x00, 0x0F, 0xCF, 0x80, 0x03, 0xE7, 0xC0, 0x01, 0xF3, 0xE0, 0x00, - 0xF9, 0xF0, 0x00, 0x7C, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x3E, 0x00, - 0x0F, 0x9F, 0x00, 0x07, 0xCF, 0x80, 0x07, 0xE7, 0xC0, 0x03, 0xE3, 0xE0, - 0x03, 0xF1, 0xF0, 0x07, 0xF1, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, 0xFF, - 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFF, - 0x7F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, - 0xF0, 0xF8, 0x00, 0xF8, 0x7C, 0x00, 0x7C, 0x3E, 0x0E, 0x3E, 0x1F, 0x0F, - 0x9F, 0x0F, 0x87, 0xC7, 0x07, 0xC3, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, - 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x00, 0x1F, - 0x0F, 0x80, 0x0F, 0x87, 0xC3, 0x87, 0xC1, 0xC3, 0xE3, 0xE0, 0x01, 0xF1, - 0xF0, 0x00, 0xF8, 0xF8, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, - 0xFF, 0xF8, 0xF8, 0x00, 0x7C, 0x7C, 0x00, 0x3E, 0x3E, 0x00, 0x1F, 0x1F, - 0x07, 0x0F, 0x8F, 0x87, 0xC3, 0x87, 0xC3, 0xE0, 0x03, 0xFF, 0xF0, 0x01, - 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x00, - 0x1F, 0x0F, 0x80, 0x0F, 0x87, 0xC0, 0x07, 0xC3, 0xE0, 0x03, 0xE0, 0xE0, - 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xFF, 0xFC, - 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, - 0x7F, 0x8E, 0x00, 0xFF, 0xF7, 0x81, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE1, - 0xFF, 0xFF, 0xF1, 0xFE, 0x03, 0xF8, 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0x3E, - 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x07, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x0F, - 0xFE, 0xF8, 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xC0, 0x01, 0xF3, 0xF0, 0x00, 0xF9, 0xFC, 0x00, 0x7C, 0x7F, - 0x80, 0xFE, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x80, - 0x7F, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x3F, 0xE1, 0xFF, 0x1F, 0xFC, 0xFF, - 0xE7, 0xFF, 0x3F, 0xF9, 0xFF, 0xCF, 0xFE, 0x3F, 0xE1, 0xFF, 0x07, 0xC0, - 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, - 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFE, - 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xF8, 0x1F, 0x00, - 0x3E, 0x07, 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, - 0x00, 0x3E, 0x07, 0xC0, 0x0F, 0x87, 0xFE, 0x1F, 0xFB, 0xFF, 0xCF, 0xFF, - 0xFF, 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xF7, 0xFE, 0x1F, 0xF8, 0x7F, 0xFF, - 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFC, 0x03, 0xE0, - 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x1F, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, - 0xE0, 0x3F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x07, - 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x07, 0xC0, 0xE0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, - 0x00, 0x7C, 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x1F, 0x83, - 0xF8, 0x3F, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, - 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xE0, 0xFF, 0x9F, 0xFE, - 0x3F, 0xFB, 0xFF, 0xC7, 0xFF, 0x7F, 0xF8, 0xFF, 0xE7, 0xFE, 0x0F, 0xF8, - 0x3E, 0x01, 0xF8, 0x07, 0xC0, 0xFE, 0x00, 0xF8, 0x3F, 0x80, 0x1F, 0x0F, - 0xE0, 0x03, 0xE3, 0xF8, 0x00, 0x7D, 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x01, - 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0xFE, 0x7F, - 0x00, 0x1F, 0x87, 0xF0, 0x03, 0xE0, 0x7E, 0x00, 0x7C, 0x07, 0xE0, 0x0F, - 0x80, 0x7E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x00, 0xF8, 0x1F, 0xF8, 0x1F, - 0xF7, 0xFF, 0x81, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFE, 0x07, 0xFD, 0xFF, - 0x80, 0x7F, 0x00, 0x7F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0x80, - 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x0F, 0x80, 0x0E, 0x07, 0xC0, 0x0F, 0x83, 0xE0, 0x07, 0xC1, - 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, 0x00, 0x7D, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDF, 0xFF, 0xFF, 0xE0, 0x3F, 0x80, 0x03, 0xF8, 0xFF, 0x80, 0x0F, 0xF9, - 0xFF, 0x00, 0x1F, 0xF3, 0xFF, 0x00, 0x7F, 0xE3, 0xFE, 0x00, 0xFF, 0x83, - 0xFE, 0x03, 0xFE, 0x07, 0xFC, 0x07, 0xFC, 0x0F, 0xFC, 0x1F, 0xF8, 0x1F, - 0xF8, 0x3F, 0xF0, 0x3F, 0xF0, 0x7F, 0xE0, 0x7D, 0xF1, 0xF7, 0xC0, 0xFB, - 0xE3, 0xEF, 0x81, 0xF7, 0xEF, 0xDF, 0x03, 0xE7, 0xDF, 0x3E, 0x07, 0xCF, - 0xFE, 0x7C, 0x0F, 0x8F, 0xF8, 0xF8, 0x1F, 0x1F, 0xF1, 0xF0, 0x3E, 0x1F, - 0xE3, 0xE0, 0x7C, 0x3F, 0x87, 0xC0, 0xF8, 0x3F, 0x0F, 0x81, 0xF0, 0x00, - 0x1F, 0x03, 0xE0, 0x00, 0x3E, 0x1F, 0xF8, 0x03, 0xFF, 0x7F, 0xF8, 0x0F, - 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFD, 0xFF, 0x80, 0x3F, - 0xF0, 0x7F, 0x00, 0x7F, 0xEF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, - 0xFC, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE1, 0xFF, 0x00, 0xF8, 0x1F, 0xF0, - 0x0F, 0x81, 0xFF, 0x80, 0xF8, 0x1F, 0xFC, 0x0F, 0x81, 0xFF, 0xC0, 0xF8, - 0x1F, 0x7E, 0x0F, 0x81, 0xF3, 0xF0, 0xF8, 0x1F, 0x3F, 0x0F, 0x81, 0xF1, - 0xF8, 0xF8, 0x1F, 0x0F, 0xCF, 0x81, 0xF0, 0xFC, 0xF8, 0x1F, 0x07, 0xEF, - 0x81, 0xF0, 0x3F, 0xF8, 0x1F, 0x03, 0xFF, 0x81, 0xF0, 0x1F, 0xF8, 0x1F, - 0x00, 0xFF, 0x81, 0xF0, 0x0F, 0xF8, 0x7F, 0xE0, 0x7F, 0x8F, 0xFF, 0x03, - 0xF8, 0xFF, 0xF0, 0x3F, 0x8F, 0xFF, 0x01, 0xF8, 0x7F, 0xE0, 0x0F, 0x80, - 0x00, 0x3F, 0x80, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, - 0xFE, 0x00, 0xFF, 0xFF, 0xE0, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, 0x0F, 0xE1, - 0xF8, 0x00, 0xFC, 0x7E, 0x00, 0x0F, 0xCF, 0x80, 0x00, 0xFB, 0xF0, 0x00, - 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x07, 0xFE, - 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xFF, 0x00, 0x00, - 0x7F, 0xF0, 0x00, 0x1F, 0xBE, 0x00, 0x03, 0xE7, 0xE0, 0x00, 0xFC, 0x7E, - 0x00, 0x3F, 0x0F, 0xE0, 0x0F, 0xE0, 0xFF, 0x07, 0xF8, 0x0F, 0xFF, 0xFE, - 0x00, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xF8, 0x00, 0x03, - 0xF8, 0x00, 0x7F, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, - 0xFF, 0xFC, 0x7F, 0xFF, 0xFE, 0x1F, 0x00, 0xFE, 0x1F, 0x00, 0x3F, 0x1F, - 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, - 0x00, 0x3F, 0x1F, 0x00, 0x7E, 0x1F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x1F, - 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0x1F, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0xFF, - 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFC, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, - 0x00, 0xFF, 0xFF, 0xE0, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, 0x0F, 0xE1, 0xF8, - 0x00, 0xFC, 0x7E, 0x00, 0x0F, 0xCF, 0x80, 0x00, 0xFB, 0xF0, 0x00, 0x1F, - 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x07, 0xFE, 0x00, - 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0xFD, - 0xF0, 0x00, 0x1F, 0x3F, 0x00, 0x07, 0xE7, 0xF0, 0x01, 0xF8, 0x7F, 0x00, - 0x7F, 0x07, 0xF8, 0x3F, 0xC0, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x00, - 0x7F, 0xFF, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0xC0, 0x00, 0x0F, 0x00, - 0x00, 0x03, 0xFF, 0x87, 0x80, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x07, - 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x0F, 0x01, 0xF8, 0x00, 0x7F, 0xFF, - 0x80, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, - 0x7F, 0xFF, 0xFE, 0x00, 0xF8, 0x07, 0xE0, 0x0F, 0x80, 0x3F, 0x00, 0xF8, - 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x00, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x3F, - 0x00, 0xF8, 0x0F, 0xE0, 0x0F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xC0, 0x0F, - 0xFF, 0xF0, 0x00, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xF8, 0x3F, - 0x80, 0x0F, 0x81, 0xFC, 0x00, 0xF8, 0x0F, 0xE0, 0x0F, 0x80, 0x7E, 0x00, - 0xF8, 0x03, 0xF0, 0x7F, 0xF0, 0x1F, 0xEF, 0xFF, 0x81, 0xFF, 0xFF, 0xF8, - 0x0F, 0xFF, 0xFF, 0x80, 0x7F, 0x7F, 0xF0, 0x07, 0xE0, 0x01, 0xFC, 0x70, - 0x1F, 0xFD, 0xE0, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0xFC, - 0x0F, 0xE7, 0xE0, 0x1F, 0x9F, 0x00, 0x3E, 0x7C, 0x00, 0xF9, 0xF0, 0x01, - 0xC7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, - 0xFF, 0xFF, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xE0, 0x00, - 0x0F, 0xDC, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0xC0, 0x0F, - 0xFF, 0xC0, 0xFE, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x1C, - 0xFF, 0xF0, 0x00, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xF0, 0x7F, - 0xE0, 0xF8, 0x3F, 0xF0, 0x7C, 0x1F, 0xF8, 0x3E, 0x0F, 0xFC, 0x1F, 0x07, - 0xFE, 0x0F, 0x83, 0xEE, 0x07, 0xC0, 0xE0, 0x03, 0xE0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, - 0xF0, 0x00, 0x0F, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x03, - 0xFF, 0xF8, 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, - 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE1, - 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, - 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, - 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, - 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, - 0x81, 0xF0, 0x00, 0xF8, 0x1F, 0x80, 0x1F, 0x80, 0xF8, 0x01, 0xF0, 0x0F, - 0xE0, 0x7F, 0x00, 0x7F, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, - 0x80, 0x00, 0xFF, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x7F, 0xE0, 0x1F, 0xFB, - 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0x7F, - 0xE0, 0x1F, 0xF8, 0x7C, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x7C, 0x03, 0xE0, - 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7E, 0x00, - 0xF8, 0x00, 0xF8, 0x07, 0xC0, 0x03, 0xF0, 0x1F, 0x00, 0x07, 0xC0, 0xF8, - 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x7E, 0x1F, 0x00, 0x00, 0xF8, 0x7C, 0x00, - 0x03, 0xF3, 0xF0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x1F, 0xBE, 0x00, 0x00, - 0x3F, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x07, - 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xFC, - 0x00, 0x00, 0x7F, 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, - 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0xE0, 0x7F, 0xE3, 0xE0, 0x00, 0x3C, 0x3E, - 0x0F, 0x83, 0xC3, 0xE1, 0xF8, 0x3C, 0x3E, 0x1F, 0x87, 0xC3, 0xE1, 0xFC, - 0x7C, 0x3E, 0x3F, 0xC7, 0xC1, 0xE3, 0xFC, 0x7C, 0x1F, 0x3F, 0xE7, 0xC1, - 0xF7, 0xFE, 0x78, 0x1F, 0x7F, 0xE7, 0x81, 0xF7, 0x9F, 0xF8, 0x1F, 0xF9, - 0xFF, 0x81, 0xFF, 0x9F, 0xF8, 0x0F, 0xF9, 0xFF, 0x80, 0xFF, 0x0F, 0xF8, - 0x0F, 0xF0, 0xFF, 0x80, 0xFF, 0x0F, 0xF0, 0x0F, 0xE0, 0x7F, 0x00, 0xFE, - 0x07, 0xF0, 0x0F, 0xE0, 0x7F, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x3F, - 0x00, 0x7F, 0x80, 0xFF, 0x3F, 0xF0, 0x7F, 0xEF, 0xFC, 0x1F, 0xFB, 0xFF, - 0x07, 0xFE, 0x7F, 0x80, 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xFC, 0x0F, 0x80, - 0x1F, 0x87, 0xC0, 0x03, 0xF3, 0xE0, 0x00, 0xFF, 0xF8, 0x00, 0x1F, 0xFC, - 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, - 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0xFC, 0xF8, 0x00, - 0x7E, 0x3F, 0x00, 0x3F, 0x07, 0xE0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x1F, - 0x07, 0xFC, 0x0F, 0xFB, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF8, - 0x7F, 0xF7, 0xFC, 0x0F, 0xF8, 0x7F, 0x80, 0x7F, 0xBF, 0xF0, 0x3F, 0xFF, - 0xFC, 0x0F, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0x80, 0x7F, 0x87, 0xE0, 0x1F, - 0x80, 0xFC, 0x07, 0xC0, 0x1F, 0x03, 0xE0, 0x03, 0xE1, 0xF8, 0x00, 0xFC, - 0x7C, 0x00, 0x1F, 0xBE, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xC0, 0x00, - 0x1F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0xFF, 0x00, 0x0F, 0xFF, 0xE0, 0x03, - 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x7F, 0xFF, 0xF3, - 0xFF, 0xFF, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0x3E, 0x03, - 0xF1, 0xF0, 0x1F, 0x8F, 0x81, 0xF8, 0x7C, 0x1F, 0x83, 0xE1, 0xF8, 0x0E, - 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, - 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x70, 0x7E, 0x07, 0xC7, 0xE0, 0x3E, 0x7E, - 0x01, 0xF7, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xBF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xBE, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, - 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, - 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, - 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x60, 0x00, 0x0F, 0x00, 0x00, - 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, - 0x03, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, - 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x03, - 0xE0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, - 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, - 0x00, 0x1F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x07, - 0xC0, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, - 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, - 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, - 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, - 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFF, 0x7F, 0xC0, 0x00, 0x40, 0x00, 0x06, 0x00, 0x00, 0xF0, - 0x00, 0x1F, 0x80, 0x03, 0xFC, 0x00, 0x7F, 0xE0, 0x0F, 0xFF, 0x00, 0xFF, - 0xF8, 0x1F, 0x9F, 0x83, 0xF0, 0xFC, 0x7E, 0x07, 0xEF, 0xC0, 0x3F, 0xF8, - 0x01, 0xFF, 0x80, 0x0F, 0x70, 0x00, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xE0, 0x78, 0x3E, 0x0F, 0xC3, 0xF0, 0x7C, 0x1E, 0x06, 0x01, 0xFF, - 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, - 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x01, 0xFF, - 0xF8, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x7F, 0xFF, - 0xF8, 0x7F, 0x00, 0xF8, 0xFC, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x03, - 0xF8, 0xFC, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, - 0xFF, 0x1F, 0xFE, 0xFE, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xE0, - 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x0F, - 0xE0, 0x03, 0xEF, 0xFF, 0x00, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x81, - 0xFF, 0xFF, 0xF8, 0x3F, 0xE0, 0x7F, 0x07, 0xF0, 0x03, 0xF0, 0xFC, 0x00, - 0x3E, 0x1F, 0x80, 0x07, 0xE3, 0xE0, 0x00, 0x7C, 0x7C, 0x00, 0x0F, 0x8F, - 0x80, 0x01, 0xF1, 0xF0, 0x00, 0x3E, 0x3E, 0x00, 0x07, 0xC7, 0xE0, 0x01, - 0xF8, 0xFC, 0x00, 0x3E, 0x1F, 0xC0, 0x0F, 0xCF, 0xFE, 0x07, 0xF3, 0xFF, - 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xE0, 0xFE, 0x7F, 0xF0, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFF, 0x18, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, - 0xFC, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0x81, 0xFC, 0x7E, 0x00, - 0x7C, 0x7C, 0x00, 0x7C, 0xFC, 0x00, 0x3C, 0xF8, 0x00, 0x38, 0xF8, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x7C, 0x00, 0x06, 0x7E, 0x00, 0x1F, 0x7F, 0x80, 0x7F, 0x3F, 0xFF, - 0xFF, 0x1F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x00, 0xFF, - 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0xF8, 0x00, 0xFE, 0x3E, 0x00, 0xFF, 0xEF, 0x80, 0xFF, 0xFF, - 0xE0, 0x7F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFE, 0x1F, 0xE0, 0xFF, 0x87, 0xE0, - 0x0F, 0xE1, 0xF0, 0x01, 0xF8, 0xFC, 0x00, 0x7E, 0x3E, 0x00, 0x0F, 0x8F, - 0x80, 0x03, 0xE3, 0xE0, 0x00, 0xF8, 0xF8, 0x00, 0x3E, 0x3E, 0x00, 0x0F, - 0x8F, 0xC0, 0x07, 0xE1, 0xF0, 0x01, 0xF8, 0x7E, 0x00, 0xFE, 0x0F, 0xE0, - 0x7F, 0xE3, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xC0, - 0xFF, 0xEF, 0xE0, 0x0F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0xC0, - 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x7F, 0x81, 0xFC, - 0x7E, 0x00, 0x7E, 0xFC, 0x00, 0x3E, 0xF8, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0x80, 0x7E, - 0x3F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, - 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, - 0xFF, 0xFF, 0x07, 0xFF, 0xF8, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x01, 0xF0, - 0x00, 0x07, 0xC0, 0x01, 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, - 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, - 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, - 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x01, - 0xFF, 0xFF, 0x0F, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xE1, 0xFF, - 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xFF, 0xBF, 0x83, 0xFF, 0xFF, 0xE3, - 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFB, 0xFC, 0x3F, 0xF9, 0xF8, 0x07, 0xF0, - 0xF8, 0x01, 0xF8, 0xFC, 0x00, 0xFC, 0x7C, 0x00, 0x3E, 0x3E, 0x00, 0x1F, - 0x1F, 0x00, 0x0F, 0x8F, 0x80, 0x07, 0xC7, 0xC0, 0x03, 0xE3, 0xF0, 0x03, - 0xF0, 0xF8, 0x01, 0xF8, 0x7E, 0x01, 0xFC, 0x3F, 0xC3, 0xFE, 0x0F, 0xFF, - 0xFF, 0x03, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xC0, 0x3F, 0xFB, 0xE0, 0x07, - 0xF1, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x00, - 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFE, 0x00, - 0x0F, 0xFC, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, - 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x0F, 0xC0, 0x07, 0xCF, 0xFC, 0x01, - 0xF7, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x07, 0xFC, 0x1F, - 0x81, 0xFC, 0x03, 0xE0, 0x7E, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, 0xC0, - 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, 0x07, - 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, 0x1F, 0x00, 0x3E, - 0x1F, 0xF0, 0x3F, 0xEF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, - 0xFF, 0xDF, 0xF0, 0x3F, 0xE0, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, - 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, - 0x01, 0xFF, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, - 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, - 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7F, 0xFF, 0xF7, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0x00, 0x00, 0x7C, - 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, - 0xFF, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, - 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, - 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x3F, 0xBF, 0xFF, 0xBF, 0xFF, - 0x9F, 0xFF, 0xCF, 0xFF, 0x83, 0xFF, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x80, - 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xF8, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, - 0x87, 0xFC, 0x07, 0xC7, 0xFF, 0x03, 0xE3, 0xFF, 0x81, 0xF1, 0xFF, 0xC0, - 0xF8, 0x7F, 0xC0, 0x7C, 0xFE, 0x00, 0x3E, 0xFE, 0x00, 0x1F, 0xFE, 0x00, - 0x0F, 0xFE, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, 0xE0, - 0x00, 0xFF, 0xF8, 0x00, 0x7C, 0xFE, 0x00, 0x3E, 0x3F, 0x80, 0x1F, 0x0F, - 0xE0, 0x3F, 0x81, 0xFF, 0xBF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, - 0x7F, 0xFB, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0xFE, - 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, - 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, - 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, - 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, - 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x03, 0xFF, - 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xF8, - 0x00, 0x3C, 0x1F, 0x00, 0xFD, 0xFC, 0xFF, 0x07, 0xFF, 0xFF, 0xFE, 0x1F, - 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xF0, 0xFF, 0x1F, 0x87, 0xC1, 0xF8, - 0x7E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, - 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, - 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, - 0x1F, 0x07, 0xC1, 0xF1, 0xFE, 0x1F, 0x87, 0xEF, 0xFC, 0x7F, 0x1F, 0xFF, - 0xF1, 0xFC, 0x7F, 0xFF, 0xC7, 0xF1, 0xFD, 0xFE, 0x1F, 0x87, 0xE0, 0x00, - 0x1F, 0x80, 0x1F, 0x9F, 0xF8, 0x1F, 0xDF, 0xFE, 0x0F, 0xFF, 0xFF, 0x87, - 0xFF, 0xFF, 0xC1, 0xFF, 0x07, 0xF0, 0x7F, 0x01, 0xF8, 0x3F, 0x00, 0x7C, - 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, 0x83, 0xE0, 0x07, - 0xC1, 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, 0x3E, 0x00, - 0x7C, 0x1F, 0x00, 0x3E, 0x3F, 0xE0, 0x7F, 0xBF, 0xF8, 0x7F, 0xFF, 0xFC, - 0x3F, 0xFF, 0xFE, 0x1F, 0xFB, 0xFE, 0x07, 0xF8, 0x00, 0x7F, 0x00, 0x01, - 0xFF, 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xC1, - 0xFE, 0x0F, 0xF1, 0xFC, 0x01, 0xFC, 0xFC, 0x00, 0x7E, 0xFC, 0x00, 0x1F, - 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, - 0xFF, 0xC0, 0x00, 0x7F, 0xF0, 0x00, 0x7E, 0xF8, 0x00, 0x7E, 0x7F, 0x00, - 0x7F, 0x1F, 0xC0, 0xFF, 0x07, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0x80, 0x7F, - 0xFF, 0x00, 0x1F, 0xFF, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x07, 0xE0, 0x03, - 0xF9, 0xFF, 0xC0, 0x7F, 0xBF, 0xFE, 0x07, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, - 0xFF, 0xC3, 0xFF, 0x83, 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0xFC, 0x00, 0x7E, - 0x0F, 0xC0, 0x03, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, - 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x3F, 0x0F, 0xC0, 0x03, - 0xF0, 0xFE, 0x00, 0x7E, 0x0F, 0xF8, 0x1F, 0xE0, 0xFF, 0xFF, 0xFC, 0x0F, - 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0x0F, 0x9F, 0xFC, 0x00, 0xF8, 0x7F, - 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, - 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x7E, 0x00, - 0x00, 0x3F, 0xF9, 0xFC, 0x0F, 0xFF, 0xDF, 0xE1, 0xFF, 0xFF, 0xFE, 0x3F, - 0xFF, 0xFF, 0xE3, 0xF8, 0x1F, 0xFC, 0x7F, 0x00, 0x7F, 0x07, 0xC0, 0x03, - 0xF0, 0xFC, 0x00, 0x3F, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, - 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0xC0, 0x01, 0xF0, 0xFC, 0x00, - 0x3F, 0x07, 0xE0, 0x07, 0xF0, 0x7F, 0x81, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, - 0x1F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0x9F, 0x00, 0x0F, - 0xE1, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0x00, - 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x01, - 0xF0, 0x3F, 0xC7, 0xFC, 0x7F, 0xCF, 0xFE, 0x7F, 0xDF, 0xFF, 0x7F, 0xFF, - 0xFF, 0x3F, 0xFF, 0x0E, 0x07, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x07, 0xF0, - 0x00, 0x07, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, - 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xC0, - 0x00, 0x7F, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, - 0xE0, 0x7F, 0xFF, 0xC0, 0x03, 0xFC, 0x60, 0x7F, 0xFF, 0x87, 0xFF, 0xFC, - 0x7F, 0xFF, 0xE7, 0xFF, 0xFF, 0x3F, 0x01, 0xF9, 0xF0, 0x07, 0xCF, 0xC0, - 0x1C, 0x7F, 0xF0, 0x03, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, - 0x3F, 0xFF, 0x00, 0x0F, 0xFD, 0xC0, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, - 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xEF, 0xFF, 0xFE, 0x3F, - 0xFF, 0xC0, 0x07, 0xF8, 0x00, 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0xFF, - 0xF8, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, - 0x80, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, - 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x03, 0x83, 0xF0, 0x1F, 0x87, - 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x03, - 0xFC, 0x00, 0x7F, 0x01, 0xFE, 0x7F, 0x81, 0xFF, 0x3F, 0xC0, 0xFF, 0x9F, - 0xE0, 0x7F, 0xC7, 0xF0, 0x1F, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0xF8, - 0x3E, 0x00, 0x7C, 0x1F, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, - 0x83, 0xE0, 0x07, 0xC1, 0xF0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x01, - 0xF8, 0x3F, 0x01, 0xFC, 0x1F, 0xC1, 0xFF, 0x07, 0xFF, 0xFF, 0xC3, 0xFF, - 0xFF, 0xE0, 0xFF, 0xF7, 0xF0, 0x3F, 0xF3, 0xF0, 0x03, 0xF0, 0x00, 0x7F, - 0xE0, 0x7F, 0xEF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, - 0xFF, 0x7F, 0xE0, 0x7F, 0xE0, 0xF8, 0x01, 0xF0, 0x0F, 0xC0, 0x1F, 0x00, - 0x7C, 0x03, 0xE0, 0x07, 0xE0, 0x3E, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xF0, - 0x7C, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF8, 0xF8, 0x00, 0x0F, 0x9F, 0x00, - 0x00, 0xFD, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x03, - 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0x80, - 0x00, 0x7F, 0x80, 0x1F, 0xEF, 0xFC, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, - 0xFC, 0x03, 0xFF, 0x7F, 0x80, 0x1F, 0xE1, 0xF0, 0xF8, 0x7C, 0x1F, 0x1F, - 0x87, 0xC1, 0xF1, 0xF8, 0xFC, 0x1F, 0x1F, 0xCF, 0x80, 0xFB, 0xFC, 0xF8, - 0x0F, 0xBF, 0xDF, 0x80, 0xFB, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, - 0xDF, 0xF0, 0x07, 0xF9, 0xFF, 0x00, 0x7F, 0x9F, 0xE0, 0x07, 0xF0, 0xFE, - 0x00, 0x3F, 0x0F, 0xE0, 0x03, 0xF0, 0x7E, 0x00, 0x3E, 0x07, 0xC0, 0x03, - 0xE0, 0x3C, 0x00, 0x3F, 0xC0, 0xFF, 0x1F, 0xF8, 0x7F, 0xE7, 0xFE, 0x1F, - 0xF9, 0xFF, 0x87, 0xFE, 0x3F, 0xC0, 0xFF, 0x03, 0xF8, 0x7F, 0x00, 0x7F, - 0x3F, 0x80, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, - 0x07, 0xF8, 0x00, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0xE0, 0x01, 0xFF, 0xFE, - 0x00, 0xFE, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x7F, 0xC0, 0xFF, 0xBF, 0xF8, - 0x7F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0x7F, 0xC0, 0xFF, 0x80, - 0x7F, 0x80, 0x7F, 0xBF, 0xF0, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x03, - 0xFF, 0x7F, 0x80, 0x7F, 0x8F, 0xC0, 0x07, 0x81, 0xF0, 0x03, 0xE0, 0x7E, - 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xF0, 0x3E, 0x00, 0x7C, 0x0F, 0x80, - 0x0F, 0x87, 0xC0, 0x03, 0xE1, 0xF0, 0x00, 0x7C, 0xF8, 0x00, 0x1F, 0xFE, - 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x80, 0x00, - 0x07, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0xFF, 0x80, - 0x0F, 0xFF, 0xF0, 0x03, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, - 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xF0, 0x3F, 0xBE, 0x0F, 0xC3, 0x83, 0xF0, 0x00, 0xFC, 0x00, - 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, - 0xC0, 0x3B, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x78, 0x03, 0xF0, 0x1F, 0xC0, 0xFF, 0x07, - 0xF8, 0x1F, 0x80, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, - 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x0F, 0x81, 0xFE, 0x0F, - 0xF0, 0x3F, 0x80, 0xFF, 0x01, 0xFE, 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, - 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF8, - 0x07, 0xF8, 0x0F, 0xF0, 0x3F, 0xC0, 0x7F, 0x00, 0x78, 0x77, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE0, 0x78, 0x03, 0xF0, 0x0F, - 0xE0, 0x3F, 0xC0, 0x7F, 0x00, 0x7E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, - 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, - 0x07, 0xC0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x03, 0xFC, 0x1F, 0xE0, 0xFC, - 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, - 0x00, 0xF8, 0x07, 0xE0, 0x7F, 0x83, 0xFC, 0x0F, 0xF0, 0x3F, 0x80, 0x78, - 0x00, 0x07, 0x80, 0x00, 0x7F, 0x80, 0x03, 0xFF, 0x03, 0x9F, 0xFE, 0x1F, - 0xFF, 0xFC, 0xFF, 0xF3, 0xFF, 0xFF, 0x87, 0xFF, 0x9C, 0x0F, 0xFC, 0x00, - 0x0F, 0xE0, 0x00, 0x1F, 0x00 }; - -const GFXglyph FreeMonoBold24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' - { 0, 7, 31, 28, 10, -29 }, // 0x21 '!' - { 28, 15, 14, 28, 6, -28 }, // 0x22 '"' - { 55, 22, 34, 28, 3, -30 }, // 0x23 '#' - { 149, 19, 38, 28, 5, -31 }, // 0x24 '$' - { 240, 21, 30, 28, 4, -28 }, // 0x25 '%' - { 319, 21, 28, 28, 4, -26 }, // 0x26 '&' - { 393, 6, 14, 28, 11, -28 }, // 0x27 ''' - { 404, 10, 37, 28, 12, -29 }, // 0x28 '(' - { 451, 10, 37, 28, 6, -29 }, // 0x29 ')' - { 498, 21, 19, 28, 4, -28 }, // 0x2A '*' - { 548, 23, 26, 28, 3, -25 }, // 0x2B '+' - { 623, 9, 14, 28, 7, -6 }, // 0x2C ',' - { 639, 24, 5, 28, 2, -15 }, // 0x2D '-' - { 654, 7, 6, 28, 11, -4 }, // 0x2E '.' - { 660, 20, 38, 28, 4, -32 }, // 0x2F '/' - { 755, 21, 31, 28, 4, -29 }, // 0x30 '0' - { 837, 20, 29, 28, 4, -28 }, // 0x31 '1' - { 910, 21, 30, 28, 3, -29 }, // 0x32 '2' - { 989, 21, 31, 28, 4, -29 }, // 0x33 '3' - { 1071, 20, 28, 28, 4, -27 }, // 0x34 '4' - { 1141, 21, 31, 28, 4, -29 }, // 0x35 '5' - { 1223, 20, 31, 28, 5, -29 }, // 0x36 '6' - { 1301, 20, 30, 28, 4, -29 }, // 0x37 '7' - { 1376, 20, 31, 28, 4, -29 }, // 0x38 '8' - { 1454, 20, 31, 28, 5, -29 }, // 0x39 '9' - { 1532, 7, 22, 28, 11, -20 }, // 0x3A ':' - { 1552, 10, 28, 28, 6, -20 }, // 0x3B ';' - { 1587, 24, 21, 28, 2, -23 }, // 0x3C '<' - { 1650, 24, 14, 28, 2, -19 }, // 0x3D '=' - { 1692, 23, 22, 28, 3, -23 }, // 0x3E '>' - { 1756, 20, 29, 28, 5, -27 }, // 0x3F '?' - { 1829, 19, 36, 28, 4, -28 }, // 0x40 '@' - { 1915, 29, 27, 28, -1, -26 }, // 0x41 'A' - { 2013, 26, 27, 28, 1, -26 }, // 0x42 'B' - { 2101, 25, 29, 28, 2, -27 }, // 0x43 'C' - { 2192, 25, 27, 28, 1, -26 }, // 0x44 'D' - { 2277, 25, 27, 28, 1, -26 }, // 0x45 'E' - { 2362, 25, 27, 28, 1, -26 }, // 0x46 'F' - { 2447, 25, 29, 28, 2, -27 }, // 0x47 'G' - { 2538, 26, 27, 28, 1, -26 }, // 0x48 'H' - { 2626, 19, 27, 28, 5, -26 }, // 0x49 'I' - { 2691, 25, 28, 28, 3, -26 }, // 0x4A 'J' - { 2779, 27, 27, 28, 1, -26 }, // 0x4B 'K' - { 2871, 25, 27, 28, 2, -26 }, // 0x4C 'L' - { 2956, 31, 27, 28, -1, -26 }, // 0x4D 'M' - { 3061, 28, 27, 28, 0, -26 }, // 0x4E 'N' - { 3156, 27, 29, 28, 1, -27 }, // 0x4F 'O' - { 3254, 24, 27, 28, 1, -26 }, // 0x50 'P' - { 3335, 27, 35, 28, 1, -27 }, // 0x51 'Q' - { 3454, 28, 27, 28, 0, -26 }, // 0x52 'R' - { 3549, 22, 29, 28, 3, -27 }, // 0x53 'S' - { 3629, 25, 27, 28, 2, -26 }, // 0x54 'T' - { 3714, 28, 28, 28, 0, -26 }, // 0x55 'U' - { 3812, 30, 27, 28, -1, -26 }, // 0x56 'V' - { 3914, 28, 27, 28, 0, -26 }, // 0x57 'W' - { 4009, 26, 27, 28, 1, -26 }, // 0x58 'X' - { 4097, 26, 27, 28, 1, -26 }, // 0x59 'Y' - { 4185, 21, 27, 28, 4, -26 }, // 0x5A 'Z' - { 4256, 10, 37, 28, 12, -29 }, // 0x5B '[' - { 4303, 20, 38, 28, 4, -32 }, // 0x5C '\' - { 4398, 10, 37, 28, 6, -29 }, // 0x5D ']' - { 4445, 20, 15, 28, 4, -29 }, // 0x5E '^' - { 4483, 28, 5, 28, 0, 5 }, // 0x5F '_' - { 4501, 9, 8, 28, 8, -30 }, // 0x60 '`' - { 4510, 24, 23, 28, 2, -21 }, // 0x61 'a' - { 4579, 27, 31, 28, 0, -29 }, // 0x62 'b' - { 4684, 24, 23, 28, 3, -21 }, // 0x63 'c' - { 4753, 26, 31, 28, 2, -29 }, // 0x64 'd' - { 4854, 24, 23, 28, 2, -21 }, // 0x65 'e' - { 4923, 22, 30, 28, 4, -29 }, // 0x66 'f' - { 5006, 25, 31, 28, 2, -21 }, // 0x67 'g' - { 5103, 26, 30, 28, 1, -29 }, // 0x68 'h' - { 5201, 21, 29, 28, 4, -28 }, // 0x69 'i' - { 5278, 17, 38, 28, 5, -28 }, // 0x6A 'j' - { 5359, 25, 30, 28, 2, -29 }, // 0x6B 'k' - { 5453, 21, 30, 28, 4, -29 }, // 0x6C 'l' - { 5532, 30, 22, 28, -1, -21 }, // 0x6D 'm' - { 5615, 25, 22, 28, 1, -21 }, // 0x6E 'n' - { 5684, 25, 23, 28, 2, -21 }, // 0x6F 'o' - { 5756, 28, 31, 28, 0, -21 }, // 0x70 'p' - { 5865, 28, 31, 28, 1, -21 }, // 0x71 'q' - { 5974, 24, 22, 28, 3, -21 }, // 0x72 'r' - { 6040, 21, 23, 28, 4, -21 }, // 0x73 's' - { 6101, 23, 28, 28, 1, -26 }, // 0x74 't' - { 6182, 25, 22, 28, 1, -20 }, // 0x75 'u' - { 6251, 28, 21, 28, 0, -20 }, // 0x76 'v' - { 6325, 28, 21, 28, 0, -20 }, // 0x77 'w' - { 6399, 26, 21, 28, 1, -20 }, // 0x78 'x' - { 6468, 26, 30, 28, 1, -20 }, // 0x79 'y' - { 6566, 19, 21, 28, 5, -20 }, // 0x7A 'z' - { 6616, 14, 37, 28, 7, -29 }, // 0x7B '{' - { 6681, 5, 36, 28, 12, -28 }, // 0x7C '|' - { 6704, 14, 37, 28, 8, -29 }, // 0x7D '}' - { 6769, 22, 10, 28, 3, -17 } }; // 0x7E '~' - -const GFXfont FreeMonoBold24pt7b PROGMEM = { - (uint8_t *)FreeMonoBold24pt7bBitmaps, - (GFXglyph *)FreeMonoBold24pt7bGlyphs, - 0x20, 0x7E, 47 }; - -// Approx. 7469 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h deleted file mode 100644 index 75b1766..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBold9pt7b.h +++ /dev/null @@ -1,189 +0,0 @@ -const uint8_t FreeMonoBold9pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xD2, 0x1F, 0x80, 0xEC, 0x89, 0x12, 0x24, 0x40, 0x36, 0x36, - 0x36, 0x7F, 0x7F, 0x36, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x00, 0x18, 0xFF, - 0xFE, 0x3C, 0x1F, 0x1F, 0x83, 0x46, 0x8D, 0xF0, 0xC1, 0x83, 0x00, 0x61, - 0x22, 0x44, 0x86, 0x67, 0x37, 0x11, 0x22, 0x4C, 0x70, 0x3C, 0x7E, 0x60, - 0x60, 0x30, 0x7B, 0xDF, 0xCE, 0xFF, 0x7F, 0xC9, 0x24, 0x37, 0x66, 0xCC, - 0xCC, 0xCC, 0x66, 0x31, 0xCE, 0x66, 0x33, 0x33, 0x33, 0x66, 0xC8, 0x18, - 0x18, 0xFF, 0xFF, 0x3C, 0x3C, 0x66, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, - 0x18, 0x18, 0x18, 0x6B, 0x48, 0xFF, 0xFF, 0xC0, 0xF0, 0x02, 0x0C, 0x18, - 0x60, 0xC3, 0x06, 0x0C, 0x30, 0x61, 0x83, 0x0C, 0x18, 0x20, 0x00, 0x38, - 0xFB, 0xBE, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0xDD, 0xF1, 0xC0, 0x38, 0xF3, - 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xFD, 0xF8, 0x3C, 0xFE, 0xC7, 0x03, - 0x03, 0x06, 0x0C, 0x18, 0x70, 0xE3, 0xFF, 0xFF, 0x7C, 0xFE, 0x03, 0x03, - 0x03, 0x1E, 0x1E, 0x07, 0x03, 0x03, 0xFE, 0x7C, 0x1C, 0x38, 0xB1, 0x64, - 0xD9, 0xBF, 0xFF, 0x3E, 0x7C, 0x7E, 0x3F, 0x18, 0x0F, 0xC7, 0xF3, 0x1C, - 0x06, 0x03, 0xC3, 0xFF, 0x9F, 0x80, 0x0F, 0x3F, 0x30, 0x60, 0x60, 0xDC, - 0xFE, 0xE3, 0xC3, 0x63, 0x7E, 0x3C, 0xFF, 0xFF, 0xC3, 0x03, 0x06, 0x06, - 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x38, 0xFB, 0x1E, 0x3C, 0x6F, 0x9F, 0x63, - 0xC7, 0x8F, 0xF1, 0xC0, 0x3C, 0x7E, 0xE6, 0xC3, 0xC3, 0xE7, 0x7F, 0x3B, - 0x06, 0x0E, 0xFC, 0xF0, 0xF0, 0x0F, 0x6C, 0x00, 0x1A, 0xD2, 0x00, 0x01, - 0x83, 0x87, 0x0E, 0x0F, 0x80, 0xE0, 0x1C, 0x03, 0xFF, 0xFF, 0xC0, 0x00, - 0x0F, 0xFF, 0xFC, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0xF9, 0xE3, 0xC1, 0x80, - 0x7C, 0xFE, 0xC7, 0x03, 0x0E, 0x1C, 0x00, 0x00, 0x00, 0x30, 0x30, 0x1E, - 0x1F, 0x1C, 0xDC, 0x6C, 0x76, 0x7B, 0x6D, 0xB6, 0xDB, 0x6F, 0xF3, 0xFC, - 0x06, 0x33, 0xF8, 0x78, 0x3C, 0x07, 0xC0, 0x38, 0x05, 0x81, 0xB0, 0x36, - 0x0F, 0xE1, 0xFC, 0x71, 0xDF, 0x7F, 0xEF, 0x80, 0xFF, 0x3F, 0xE6, 0x19, - 0x86, 0x7F, 0x1F, 0xE6, 0x1D, 0x83, 0x60, 0xFF, 0xFF, 0xF0, 0x1F, 0xBF, - 0xD8, 0xF8, 0x3C, 0x06, 0x03, 0x01, 0x80, 0x61, 0xBF, 0xC7, 0xC0, 0xFE, - 0x3F, 0xE6, 0x19, 0x83, 0x60, 0xD8, 0x36, 0x0D, 0x83, 0x61, 0xBF, 0xEF, - 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC3, 0x61, 0xFF, - 0xFF, 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC0, 0x60, - 0x7C, 0x3E, 0x00, 0x1F, 0x9F, 0xE6, 0x1B, 0x06, 0xC0, 0x30, 0x0C, 0x7F, - 0x1F, 0xE1, 0x9F, 0xE3, 0xF0, 0xF7, 0xFB, 0xD8, 0xCC, 0x66, 0x33, 0xF9, - 0xFC, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0xFF, 0xF3, 0x0C, 0x30, 0xC3, 0x0C, - 0x33, 0xFF, 0xC0, 0x1F, 0xC7, 0xF0, 0x30, 0x0C, 0x03, 0x00, 0xCC, 0x33, - 0x0C, 0xC7, 0x3F, 0x87, 0xC0, 0xF7, 0xBD, 0xE6, 0x61, 0xB0, 0x78, 0x1F, - 0x06, 0xE1, 0x98, 0x63, 0x3C, 0xFF, 0x3C, 0xFC, 0x7E, 0x0C, 0x06, 0x03, - 0x01, 0x80, 0xC6, 0x63, 0x31, 0xFF, 0xFF, 0xE0, 0xE0, 0xFE, 0x3D, 0xC7, - 0x3D, 0xE7, 0xBC, 0xD7, 0x9B, 0xB3, 0x76, 0x60, 0xDE, 0x3F, 0xC7, 0x80, - 0xE1, 0xFE, 0x3D, 0xE3, 0x3C, 0x66, 0xCC, 0xDD, 0x99, 0xB3, 0x1E, 0x63, - 0xDE, 0x3B, 0xC3, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x7C, 0x07, 0x80, - 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, 0x00, 0xFE, 0x7F, 0x98, 0x6C, - 0x36, 0x1B, 0xF9, 0xF8, 0xC0, 0x60, 0x7C, 0x3E, 0x00, 0x1F, 0x07, 0xF1, - 0xC7, 0x70, 0x7C, 0x07, 0x80, 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, - 0x0C, 0x33, 0xFE, 0x7F, 0x80, 0xFC, 0x7F, 0x18, 0xCC, 0x66, 0x73, 0xF1, - 0xF0, 0xCC, 0x63, 0x7D, 0xFE, 0x60, 0x3F, 0xBF, 0xF0, 0x78, 0x0F, 0x03, - 0xF8, 0x3F, 0x83, 0xC3, 0xFF, 0xBF, 0x80, 0xFF, 0xFF, 0xF6, 0x7B, 0x3D, - 0x98, 0xC0, 0x60, 0x30, 0x18, 0x3F, 0x1F, 0x80, 0xF1, 0xFE, 0x3D, 0x83, - 0x30, 0x66, 0x0C, 0xC1, 0x98, 0x33, 0x06, 0x60, 0xC7, 0xF0, 0x7C, 0x00, - 0xFB, 0xFF, 0x7D, 0xC3, 0x18, 0xC3, 0x18, 0x36, 0x06, 0xC0, 0x50, 0x0E, - 0x01, 0xC0, 0x10, 0x00, 0xFB, 0xFE, 0xF6, 0x0D, 0x93, 0x6E, 0xDB, 0xB7, - 0xAD, 0xEE, 0x7B, 0x8E, 0xE3, 0x18, 0xF3, 0xFC, 0xF7, 0x38, 0xFC, 0x1E, - 0x03, 0x01, 0xE0, 0xCC, 0x73, 0xBC, 0xFF, 0x3C, 0xF3, 0xFC, 0xF7, 0x38, - 0xCC, 0x1E, 0x07, 0x80, 0xC0, 0x30, 0x0C, 0x0F, 0xC3, 0xF0, 0xFE, 0xFE, - 0xC6, 0xCC, 0x18, 0x18, 0x30, 0x63, 0xC3, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0xFF, 0x01, 0x03, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, - 0x30, 0x30, 0x60, 0x60, 0xC0, 0x80, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, - 0xFF, 0x10, 0x71, 0xE3, 0x6C, 0x70, 0x40, 0xFF, 0xFF, 0xFC, 0x88, 0x80, - 0x7E, 0x3F, 0x8F, 0xCF, 0xEE, 0x36, 0x1B, 0xFE, 0xFF, 0xE0, 0x38, 0x06, - 0x01, 0xBC, 0x7F, 0x9C, 0x76, 0x0D, 0x83, 0x71, 0xFF, 0xEE, 0xF0, 0x3F, - 0xBF, 0xF8, 0x78, 0x3C, 0x07, 0x05, 0xFE, 0x7E, 0x03, 0x80, 0xE0, 0x18, - 0xF6, 0x7F, 0xB8, 0xEC, 0x1B, 0x06, 0xE3, 0x9F, 0xF3, 0xFC, 0x3E, 0x3F, - 0xB0, 0xFF, 0xFF, 0xFE, 0x01, 0xFE, 0x7E, 0x1F, 0x3F, 0x30, 0x7E, 0x7E, - 0x30, 0x30, 0x30, 0x30, 0xFE, 0xFE, 0x3F, 0xBF, 0xF9, 0xD8, 0x6C, 0x37, - 0x39, 0xFC, 0x76, 0x03, 0x01, 0x8F, 0xC7, 0xC0, 0xE0, 0x70, 0x18, 0x0D, - 0xC7, 0xF3, 0x99, 0x8C, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0x18, 0x18, 0x00, - 0x78, 0x78, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x60, 0x3F, 0xFC, - 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0F, 0xFF, 0x80, 0xE0, 0x70, 0x18, 0x0D, - 0xE6, 0xF3, 0xE1, 0xE0, 0xF8, 0x6E, 0x73, 0xF9, 0xE0, 0x78, 0x78, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFD, 0x9F, 0xF9, 0x9B, - 0x33, 0x66, 0x6C, 0xCD, 0xBD, 0xFF, 0xBF, 0xEE, 0x7F, 0x98, 0xCC, 0x66, - 0x33, 0x1B, 0xDF, 0xEF, 0x3E, 0x3F, 0xB8, 0xF8, 0x3C, 0x1F, 0x1D, 0xFC, - 0x7C, 0xEF, 0x1F, 0xF9, 0xC3, 0xB0, 0x36, 0x06, 0xE1, 0xDF, 0xF3, 0x78, - 0x60, 0x0C, 0x03, 0xE0, 0x7C, 0x00, 0x1E, 0xEF, 0xFF, 0x87, 0x60, 0x6C, - 0x0D, 0xC3, 0x9F, 0xF0, 0xF6, 0x00, 0xC0, 0x18, 0x0F, 0x81, 0xF0, 0x77, - 0xBF, 0xCF, 0x06, 0x03, 0x01, 0x83, 0xF9, 0xFC, 0x3F, 0xFF, 0xC3, 0xFC, - 0x3F, 0xC3, 0xFF, 0xFC, 0x60, 0x60, 0x60, 0xFE, 0xFE, 0x60, 0x60, 0x60, - 0x61, 0x7F, 0x3E, 0xE7, 0x73, 0x98, 0xCC, 0x66, 0x33, 0x19, 0xFE, 0x7F, - 0xFB, 0xFF, 0x7C, 0xC6, 0x18, 0xC1, 0xB0, 0x36, 0x03, 0x80, 0x70, 0xF1, - 0xFE, 0x3D, 0xBB, 0x37, 0x63, 0xF8, 0x77, 0x0E, 0xE1, 0x8C, 0xF7, 0xFB, - 0xCD, 0x83, 0x83, 0xC3, 0xBB, 0xDF, 0xEF, 0xF3, 0xFC, 0xF6, 0x18, 0xCC, - 0x33, 0x07, 0x81, 0xE0, 0x30, 0x0C, 0x06, 0x0F, 0xC3, 0xF0, 0xFF, 0xFF, - 0x30, 0xC3, 0x0C, 0x7F, 0xFF, 0x37, 0x66, 0x66, 0xCC, 0x66, 0x66, 0x73, - 0xFF, 0xFF, 0xFF, 0xF0, 0xCE, 0x66, 0x66, 0x33, 0x66, 0x66, 0xEC, 0x70, - 0x7C, 0xF3, 0xC0, 0xC0 }; - -const GFXglyph FreeMonoBold9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' - { 0, 3, 11, 11, 4, -10 }, // 0x21 '!' - { 5, 7, 5, 11, 2, -10 }, // 0x22 '"' - { 10, 8, 12, 11, 1, -10 }, // 0x23 '#' - { 22, 7, 14, 11, 2, -11 }, // 0x24 '$' - { 35, 7, 11, 11, 2, -10 }, // 0x25 '%' - { 45, 8, 10, 11, 1, -9 }, // 0x26 '&' - { 55, 3, 5, 11, 4, -10 }, // 0x27 ''' - { 57, 4, 14, 11, 5, -10 }, // 0x28 '(' - { 64, 4, 14, 11, 2, -10 }, // 0x29 ')' - { 71, 8, 7, 11, 2, -10 }, // 0x2A '*' - { 78, 8, 9, 11, 2, -8 }, // 0x2B '+' - { 87, 3, 5, 11, 3, -1 }, // 0x2C ',' - { 89, 9, 2, 11, 1, -5 }, // 0x2D '-' - { 92, 2, 2, 11, 4, -1 }, // 0x2E '.' - { 93, 7, 15, 11, 2, -12 }, // 0x2F '/' - { 107, 7, 12, 11, 2, -11 }, // 0x30 '0' - { 118, 7, 11, 11, 2, -10 }, // 0x31 '1' - { 128, 8, 12, 11, 1, -11 }, // 0x32 '2' - { 140, 8, 12, 11, 2, -11 }, // 0x33 '3' - { 152, 7, 10, 11, 2, -9 }, // 0x34 '4' - { 161, 9, 11, 11, 1, -10 }, // 0x35 '5' - { 174, 8, 12, 11, 2, -11 }, // 0x36 '6' - { 186, 8, 11, 11, 1, -10 }, // 0x37 '7' - { 197, 7, 12, 11, 2, -11 }, // 0x38 '8' - { 208, 8, 12, 11, 2, -11 }, // 0x39 '9' - { 220, 2, 8, 11, 4, -7 }, // 0x3A ':' - { 222, 3, 11, 11, 3, -7 }, // 0x3B ';' - { 227, 9, 8, 11, 1, -8 }, // 0x3C '<' - { 236, 9, 6, 11, 1, -7 }, // 0x3D '=' - { 243, 9, 8, 11, 1, -8 }, // 0x3E '>' - { 252, 8, 11, 11, 2, -10 }, // 0x3F '?' - { 263, 9, 15, 11, 1, -11 }, // 0x40 '@' - { 280, 11, 11, 11, 0, -10 }, // 0x41 'A' - { 296, 10, 11, 11, 1, -10 }, // 0x42 'B' - { 310, 9, 11, 11, 1, -10 }, // 0x43 'C' - { 323, 10, 11, 11, 0, -10 }, // 0x44 'D' - { 337, 9, 11, 11, 1, -10 }, // 0x45 'E' - { 350, 9, 11, 11, 1, -10 }, // 0x46 'F' - { 363, 10, 11, 11, 1, -10 }, // 0x47 'G' - { 377, 9, 11, 11, 1, -10 }, // 0x48 'H' - { 390, 6, 11, 11, 3, -10 }, // 0x49 'I' - { 399, 10, 11, 11, 1, -10 }, // 0x4A 'J' - { 413, 10, 11, 11, 1, -10 }, // 0x4B 'K' - { 427, 9, 11, 11, 1, -10 }, // 0x4C 'L' - { 440, 11, 11, 11, 0, -10 }, // 0x4D 'M' - { 456, 11, 11, 11, 0, -10 }, // 0x4E 'N' - { 472, 11, 11, 11, 0, -10 }, // 0x4F 'O' - { 488, 9, 11, 11, 1, -10 }, // 0x50 'P' - { 501, 11, 14, 11, 0, -10 }, // 0x51 'Q' - { 521, 9, 11, 11, 1, -10 }, // 0x52 'R' - { 534, 9, 11, 11, 1, -10 }, // 0x53 'S' - { 547, 9, 11, 11, 1, -10 }, // 0x54 'T' - { 560, 11, 11, 11, 0, -10 }, // 0x55 'U' - { 576, 11, 11, 11, 0, -10 }, // 0x56 'V' - { 592, 10, 11, 11, 0, -10 }, // 0x57 'W' - { 606, 10, 11, 11, 0, -10 }, // 0x58 'X' - { 620, 10, 11, 11, 0, -10 }, // 0x59 'Y' - { 634, 8, 11, 11, 2, -10 }, // 0x5A 'Z' - { 645, 4, 14, 11, 5, -10 }, // 0x5B '[' - { 652, 7, 15, 11, 2, -12 }, // 0x5C '\' - { 666, 4, 14, 11, 2, -10 }, // 0x5D ']' - { 673, 7, 6, 11, 2, -11 }, // 0x5E '^' - { 679, 11, 2, 11, 0, 3 }, // 0x5F '_' - { 682, 3, 3, 11, 3, -11 }, // 0x60 '`' - { 684, 9, 8, 11, 1, -7 }, // 0x61 'a' - { 693, 10, 11, 11, 0, -10 }, // 0x62 'b' - { 707, 9, 8, 11, 1, -7 }, // 0x63 'c' - { 716, 10, 11, 11, 1, -10 }, // 0x64 'd' - { 730, 9, 8, 11, 1, -7 }, // 0x65 'e' - { 739, 8, 11, 11, 2, -10 }, // 0x66 'f' - { 750, 9, 12, 11, 1, -7 }, // 0x67 'g' - { 764, 9, 11, 11, 1, -10 }, // 0x68 'h' - { 777, 8, 11, 11, 2, -10 }, // 0x69 'i' - { 788, 6, 15, 11, 2, -10 }, // 0x6A 'j' - { 800, 9, 11, 11, 1, -10 }, // 0x6B 'k' - { 813, 8, 11, 11, 2, -10 }, // 0x6C 'l' - { 824, 11, 8, 11, 0, -7 }, // 0x6D 'm' - { 835, 9, 8, 11, 1, -7 }, // 0x6E 'n' - { 844, 9, 8, 11, 1, -7 }, // 0x6F 'o' - { 853, 11, 12, 11, 0, -7 }, // 0x70 'p' - { 870, 11, 12, 11, 0, -7 }, // 0x71 'q' - { 887, 9, 8, 11, 1, -7 }, // 0x72 'r' - { 896, 8, 8, 11, 2, -7 }, // 0x73 's' - { 904, 8, 11, 11, 1, -10 }, // 0x74 't' - { 915, 9, 8, 11, 1, -7 }, // 0x75 'u' - { 924, 11, 8, 11, 0, -7 }, // 0x76 'v' - { 935, 11, 8, 11, 0, -7 }, // 0x77 'w' - { 946, 9, 8, 11, 1, -7 }, // 0x78 'x' - { 955, 10, 12, 11, 0, -7 }, // 0x79 'y' - { 970, 7, 8, 11, 2, -7 }, // 0x7A 'z' - { 977, 4, 14, 11, 3, -10 }, // 0x7B '{' - { 984, 2, 14, 11, 5, -10 }, // 0x7C '|' - { 988, 4, 14, 11, 4, -10 }, // 0x7D '}' - { 995, 9, 4, 11, 1, -6 } }; // 0x7E '~' - -const GFXfont FreeMonoBold9pt7b PROGMEM = { - (uint8_t *)FreeMonoBold9pt7bBitmaps, - (GFXglyph *)FreeMonoBold9pt7bGlyphs, - 0x20, 0x7E, 18 }; - -// Approx. 1672 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h deleted file mode 100644 index cc3ecb2..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique12pt7b.h +++ /dev/null @@ -1,269 +0,0 @@ -const uint8_t FreeMonoBoldOblique12pt7bBitmaps[] PROGMEM = { - 0x1C, 0xF3, 0xCE, 0x38, 0xE7, 0x1C, 0x61, 0x86, 0x00, 0x63, 0x8C, 0x00, - 0xE7, 0xE7, 0xE6, 0xC6, 0xC6, 0xC4, 0x84, 0x03, 0x30, 0x19, 0x81, 0xDC, - 0x0C, 0xE0, 0x66, 0x1F, 0xFC, 0xFF, 0xE1, 0x98, 0x0C, 0xC0, 0xEE, 0x06, - 0x70, 0xFF, 0xCF, 0xFE, 0x1D, 0xC0, 0xCC, 0x06, 0x60, 0x77, 0x03, 0x30, - 0x00, 0x01, 0x00, 0x70, 0x0C, 0x07, 0xF1, 0xFE, 0x71, 0xCC, 0x11, 0x80, - 0x3F, 0x03, 0xF0, 0x0F, 0x20, 0x6E, 0x0D, 0xC3, 0x3F, 0xE7, 0xF8, 0x1C, - 0x03, 0x00, 0x60, 0x0C, 0x00, 0x0E, 0x03, 0xE0, 0xC4, 0x10, 0x82, 0x30, - 0x7C, 0x07, 0x78, 0x7C, 0x7F, 0x19, 0xF0, 0x62, 0x08, 0x41, 0x18, 0x3E, - 0x03, 0x80, 0x07, 0xC1, 0xF8, 0x62, 0x0C, 0x01, 0x80, 0x38, 0x0F, 0x03, - 0xF7, 0x6F, 0xD8, 0xF3, 0x1E, 0x7F, 0xE7, 0xF8, 0xFF, 0x6D, 0x20, 0x06, - 0x1C, 0x70, 0xC3, 0x06, 0x18, 0x30, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, - 0x70, 0x60, 0xC1, 0x00, 0x0C, 0x18, 0x38, 0x30, 0x60, 0xC1, 0x83, 0x06, - 0x0C, 0x30, 0x61, 0xC3, 0x0E, 0x38, 0x61, 0xC2, 0x00, 0x06, 0x00, 0xC0, - 0x18, 0x3F, 0x7F, 0xFE, 0xFF, 0x07, 0x81, 0xF8, 0x77, 0x0C, 0x60, 0x03, - 0x00, 0x70, 0x07, 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0xE0, 0x0C, - 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x18, 0x00, 0x1C, 0xE3, 0x1C, 0x63, 0x08, - 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0x00, 0x00, 0x08, 0x00, 0x70, 0x01, - 0x80, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x0C, - 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, 0x03, 0x80, 0x0C, 0x00, 0x70, - 0x03, 0x80, 0x0C, 0x00, 0x20, 0x00, 0x07, 0x83, 0xF8, 0xE3, 0x98, 0x37, - 0x06, 0xC0, 0xD8, 0x1B, 0x03, 0xE0, 0xF8, 0x1B, 0x03, 0x60, 0xEE, 0x38, - 0xFE, 0x0F, 0x00, 0x03, 0xC1, 0xF0, 0x7E, 0x0C, 0xC0, 0x38, 0x07, 0x00, - 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0x61, 0xFF, 0xFF, 0xF0, - 0x03, 0xE0, 0x3F, 0x83, 0x8E, 0x38, 0x31, 0x81, 0x80, 0x18, 0x01, 0xC0, - 0x1C, 0x01, 0xC0, 0x38, 0x03, 0x80, 0x38, 0x47, 0x87, 0x3F, 0xF3, 0xFF, - 0x80, 0x07, 0xC1, 0xFF, 0x18, 0x70, 0x03, 0x00, 0x30, 0x06, 0x07, 0xC0, - 0x7C, 0x00, 0xE0, 0x06, 0x00, 0x60, 0x06, 0xC1, 0xCF, 0xF8, 0x7E, 0x00, - 0x01, 0xE0, 0x3C, 0x0F, 0x03, 0x60, 0xCC, 0x3B, 0x8E, 0x63, 0x8C, 0x61, - 0x9F, 0xFB, 0xFF, 0x01, 0x81, 0xF8, 0x3F, 0x00, 0x0F, 0xF1, 0xFE, 0x18, - 0x01, 0x80, 0x18, 0x03, 0xF8, 0x3F, 0xC3, 0x8E, 0x00, 0x60, 0x06, 0x00, - 0x60, 0x0C, 0xC1, 0xCF, 0xF8, 0x7E, 0x00, 0x03, 0xE1, 0xFC, 0x70, 0x1C, - 0x03, 0x00, 0xC0, 0x1B, 0xC7, 0xFC, 0xF3, 0x98, 0x33, 0x06, 0x60, 0xCE, - 0x30, 0xFC, 0x0F, 0x00, 0xFF, 0xFF, 0xFB, 0x07, 0x60, 0xC0, 0x38, 0x06, - 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x1C, 0x03, 0x80, 0x60, 0x08, - 0x00, 0x07, 0x83, 0xF8, 0xE3, 0xB0, 0x36, 0x06, 0xC0, 0xDC, 0x31, 0xFC, - 0x3F, 0x8C, 0x3B, 0x03, 0x60, 0x6C, 0x39, 0xFE, 0x1F, 0x00, 0x07, 0x81, - 0xF8, 0x63, 0x98, 0x33, 0x06, 0x60, 0xCE, 0x79, 0xFF, 0x1E, 0xC0, 0x18, - 0x06, 0x01, 0xC0, 0x71, 0xFC, 0x3E, 0x00, 0x19, 0xCC, 0x00, 0x00, 0x00, - 0x67, 0x30, 0x06, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x38, 0x71, 0xC3, - 0x0E, 0x18, 0x20, 0x00, 0x00, 0x18, 0x03, 0xC0, 0x7C, 0x1F, 0x03, 0xE0, - 0x3E, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0x80, 0x08, 0x7F, 0xFB, - 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFB, 0xFF, 0xC0, 0x30, 0x01, - 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x7C, 0x1F, 0x03, 0xE0, 0x7C, - 0x07, 0x80, 0x20, 0x00, 0x3E, 0x7F, 0xB0, 0xF8, 0x30, 0x18, 0x1C, 0x1C, - 0x3C, 0x38, 0x18, 0x00, 0x06, 0x07, 0x03, 0x00, 0x03, 0xC0, 0x7E, 0x0C, - 0x71, 0x83, 0x30, 0x33, 0x0F, 0x33, 0xE6, 0x76, 0x6C, 0x66, 0xC6, 0x6C, - 0x6C, 0xFC, 0xC7, 0xEC, 0x00, 0xC0, 0x0C, 0x00, 0xE3, 0x07, 0xF0, 0x3C, - 0x00, 0x07, 0xF0, 0x1F, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0x3B, 0x00, 0xE7, - 0x01, 0x8E, 0x07, 0x1C, 0x1F, 0xF8, 0x3F, 0xF0, 0xE0, 0x71, 0x80, 0xEF, - 0xC7, 0xFF, 0x8F, 0xC0, 0x3F, 0xF1, 0xFF, 0xC3, 0x06, 0x38, 0x31, 0xC1, - 0x8C, 0x18, 0x7F, 0xC3, 0xFE, 0x38, 0x39, 0xC0, 0xCC, 0x06, 0x60, 0x6F, - 0xFF, 0x7F, 0xE0, 0x03, 0xEC, 0x3F, 0xF1, 0xC3, 0x8C, 0x06, 0x60, 0x19, - 0x80, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x03, 0x3C, 0x1C, - 0x7F, 0xE0, 0x7E, 0x00, 0x3F, 0xE1, 0xFF, 0x87, 0x0C, 0x30, 0x31, 0x81, - 0x8C, 0x0C, 0xE0, 0x67, 0x03, 0x30, 0x31, 0x81, 0x8C, 0x0C, 0xE1, 0xCF, - 0xFC, 0x7F, 0x80, 0x1F, 0xFE, 0x3F, 0xFC, 0x38, 0x38, 0x70, 0x70, 0xCC, - 0xC1, 0x98, 0x03, 0xF0, 0x0F, 0xE0, 0x1D, 0x80, 0x31, 0x18, 0x60, 0x70, - 0xC0, 0xE7, 0xFF, 0x9F, 0xFF, 0x00, 0x1F, 0xFF, 0x1F, 0xFE, 0x0E, 0x06, - 0x0C, 0x0E, 0x0C, 0xC4, 0x0C, 0xC0, 0x1F, 0xC0, 0x1F, 0xC0, 0x19, 0xC0, - 0x19, 0x80, 0x18, 0x00, 0x38, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x07, 0xEC, - 0x7F, 0xF3, 0x83, 0x9C, 0x06, 0x60, 0x19, 0x80, 0x0C, 0x00, 0x30, 0xFE, - 0xC3, 0xFB, 0x01, 0xCC, 0x07, 0x3C, 0x38, 0x7F, 0xE0, 0x7E, 0x00, 0x0F, - 0xBF, 0x1F, 0xBE, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x1C, 0x0C, 0x1C, 0x1F, - 0xF8, 0x1F, 0xF8, 0x18, 0x18, 0x18, 0x38, 0x18, 0x38, 0x38, 0x30, 0x7C, - 0xFC, 0xFC, 0xF8, 0x3F, 0xF3, 0xFF, 0x03, 0x00, 0x70, 0x07, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xC0, 0xFF, 0xCF, 0xFC, - 0x03, 0xFF, 0x03, 0xFF, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, - 0x00, 0x70, 0x20, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0xE0, 0xE1, 0xC0, - 0xFF, 0x80, 0x3F, 0x00, 0x1F, 0x9F, 0x1F, 0x9E, 0x0E, 0x38, 0x0C, 0x70, - 0x0C, 0xE0, 0x0F, 0xC0, 0x1F, 0xC0, 0x1F, 0xE0, 0x1C, 0xE0, 0x18, 0x60, - 0x18, 0x70, 0x38, 0x70, 0xFE, 0x3C, 0xFC, 0x3C, 0x3F, 0xC1, 0xFE, 0x01, - 0x80, 0x1C, 0x00, 0xE0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x1C, 0x18, 0xE0, - 0xC6, 0x06, 0x30, 0x7F, 0xFF, 0xFF, 0xF8, 0x1E, 0x07, 0x87, 0x81, 0xE0, - 0xF0, 0xF0, 0x7C, 0x7C, 0x1F, 0x1F, 0x06, 0xCF, 0x81, 0xBF, 0x60, 0xEF, - 0x98, 0x3B, 0xEE, 0x0C, 0x73, 0x83, 0x1C, 0xC0, 0xC0, 0x30, 0xFC, 0x7E, - 0x3F, 0x1F, 0x80, 0x3C, 0x3F, 0x3E, 0x3F, 0x1E, 0x0C, 0x1F, 0x1C, 0x1F, - 0x1C, 0x1B, 0x98, 0x3B, 0x98, 0x3B, 0x98, 0x31, 0xF8, 0x31, 0xF8, 0x30, - 0xF0, 0x70, 0xF0, 0xFC, 0x70, 0xF8, 0x70, 0x03, 0xE0, 0x3F, 0xE1, 0xC3, - 0x8C, 0x07, 0x60, 0x0D, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1B, 0x00, - 0x6E, 0x03, 0x1C, 0x38, 0x7F, 0xC0, 0x7C, 0x00, 0x3F, 0xE1, 0xFF, 0x83, - 0x0E, 0x38, 0x31, 0xC1, 0x8C, 0x0C, 0x60, 0xC3, 0xFC, 0x3F, 0xC1, 0xC0, - 0x0C, 0x00, 0x60, 0x0F, 0xF0, 0x7F, 0x80, 0x03, 0xE0, 0x3F, 0xE1, 0xC3, - 0x8C, 0x07, 0x60, 0x0D, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1B, 0x00, - 0x6E, 0x03, 0x1C, 0x38, 0x7F, 0xC0, 0xFC, 0x03, 0x02, 0x1F, 0xFC, 0xFF, - 0xE0, 0x1F, 0xF0, 0x3F, 0xF0, 0x38, 0x70, 0x60, 0x60, 0xC0, 0xC1, 0x87, - 0x07, 0xFC, 0x0F, 0xF0, 0x18, 0xF0, 0x30, 0xE0, 0x60, 0xC1, 0xC1, 0xCF, - 0xE1, 0xFF, 0xC3, 0xC0, 0x0F, 0xB1, 0xFF, 0x30, 0xE6, 0x06, 0x60, 0x67, - 0x80, 0x7F, 0x01, 0xFC, 0x01, 0xC4, 0x0C, 0xC0, 0xCE, 0x18, 0xFF, 0x8B, - 0xE0, 0x7F, 0xFB, 0xFF, 0xD9, 0xCF, 0xCE, 0x7C, 0x63, 0x63, 0x18, 0x18, - 0x01, 0xC0, 0x0E, 0x00, 0x60, 0x03, 0x00, 0x18, 0x0F, 0xF8, 0x7F, 0xC0, - 0x7E, 0xFF, 0xF3, 0xF3, 0x03, 0x1C, 0x0C, 0x60, 0x31, 0x81, 0xC6, 0x06, - 0x38, 0x18, 0xE0, 0x63, 0x03, 0x8C, 0x0C, 0x30, 0x70, 0x7F, 0x80, 0xF8, - 0x00, 0xFC, 0x7F, 0xF8, 0xFD, 0xC0, 0x61, 0x81, 0xC3, 0x87, 0x07, 0x0C, - 0x0E, 0x38, 0x0C, 0x60, 0x19, 0xC0, 0x3F, 0x00, 0x7C, 0x00, 0xF8, 0x00, - 0xE0, 0x01, 0x80, 0x00, 0x7E, 0x7E, 0xFC, 0xFD, 0xC0, 0x73, 0x9C, 0xE7, - 0x79, 0x8E, 0xF7, 0x1B, 0xEE, 0x36, 0xD8, 0x7D, 0xF0, 0xF3, 0xE1, 0xE7, - 0x83, 0x8F, 0x07, 0x1E, 0x1C, 0x38, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x0E, - 0x1C, 0x07, 0x38, 0x07, 0x70, 0x03, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, - 0xE0, 0x0E, 0xE0, 0x1C, 0x70, 0x38, 0x70, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, - 0xFF, 0xC7, 0xCC, 0x38, 0x73, 0x83, 0x9C, 0x0F, 0xC0, 0x7C, 0x01, 0xC0, - 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x0F, 0xF8, 0x7F, 0x80, 0x0F, 0xF8, - 0x7F, 0xE1, 0xC7, 0x86, 0x1C, 0x18, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, - 0x0E, 0x00, 0x70, 0xC3, 0x83, 0x1C, 0x1C, 0x7F, 0xF3, 0xFF, 0x80, 0x0F, - 0x87, 0xC3, 0x03, 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x38, 0x1C, 0x0C, 0x06, - 0x03, 0x03, 0x81, 0xC0, 0xC0, 0x60, 0x3E, 0x3F, 0x00, 0x41, 0xC3, 0x83, - 0x07, 0x0E, 0x1C, 0x18, 0x38, 0x70, 0xE0, 0xC1, 0xC3, 0x83, 0x06, 0x0E, - 0x1C, 0x18, 0x20, 0x1F, 0x0F, 0x80, 0xC0, 0xE0, 0x70, 0x30, 0x18, 0x0C, - 0x0E, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xE0, 0x70, 0x30, 0x18, 0x7C, 0x3E, - 0x00, 0x02, 0x01, 0x80, 0xF0, 0x7E, 0x3B, 0x9C, 0x7E, 0x1F, 0x03, 0xFF, - 0xFF, 0xFF, 0xFC, 0xCE, 0x73, 0x1F, 0xC3, 0xFE, 0x00, 0x60, 0x06, 0x0F, - 0xE3, 0xFE, 0x70, 0xCC, 0x0C, 0xC3, 0xCF, 0xFF, 0x7F, 0xF0, 0x1E, 0x00, - 0x3C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xDF, 0x81, 0xFF, 0x83, 0xC3, 0x8F, - 0x03, 0x1C, 0x06, 0x38, 0x0C, 0x70, 0x18, 0xE0, 0x63, 0xE1, 0x9F, 0xFE, - 0x3D, 0xF8, 0x00, 0x0F, 0xF3, 0xFF, 0x30, 0x76, 0x07, 0xE0, 0x6C, 0x00, - 0xC0, 0x0C, 0x00, 0xE0, 0x67, 0xFE, 0x3F, 0x80, 0x00, 0x3C, 0x00, 0xF0, - 0x01, 0xC0, 0x06, 0x07, 0xD8, 0x7F, 0xE3, 0x0F, 0x98, 0x1E, 0x60, 0x73, - 0x01, 0xCC, 0x07, 0x30, 0x3C, 0xE1, 0xF1, 0xFF, 0xE3, 0xF7, 0x80, 0x0F, - 0xC1, 0xFE, 0x78, 0x76, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x0C, 0x00, 0xE0, - 0xE7, 0xFE, 0x1F, 0x80, 0x00, 0xFC, 0x07, 0xF8, 0x0C, 0x00, 0x38, 0x01, - 0xFF, 0x07, 0xFE, 0x01, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x30, - 0x00, 0x60, 0x01, 0xC0, 0x1F, 0xF8, 0x3F, 0xF0, 0x00, 0x0F, 0xBC, 0x7F, - 0xF3, 0x0F, 0x18, 0x1C, 0xC0, 0x73, 0x01, 0x8C, 0x0E, 0x30, 0x38, 0xE3, - 0xE1, 0xFF, 0x83, 0xEC, 0x00, 0x30, 0x01, 0xC0, 0x06, 0x07, 0xF0, 0x1F, - 0x80, 0x1E, 0x01, 0xF0, 0x03, 0x00, 0x18, 0x00, 0xDE, 0x0F, 0xF8, 0x78, - 0xC3, 0x86, 0x18, 0x30, 0xC1, 0x8E, 0x1C, 0x70, 0xE3, 0x06, 0x7E, 0xFF, - 0xE7, 0xE0, 0x03, 0x80, 0x70, 0x00, 0x0F, 0xC1, 0xF0, 0x06, 0x00, 0xC0, - 0x38, 0x07, 0x00, 0xC0, 0x18, 0x03, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x70, - 0x07, 0x00, 0x00, 0xFF, 0x1F, 0xF0, 0x07, 0x00, 0x70, 0x06, 0x00, 0x60, - 0x06, 0x00, 0xE0, 0x0E, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x1C, 0x03, 0x87, - 0xF0, 0xFE, 0x00, 0x1E, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0C, 0xFC, - 0x33, 0xE0, 0xDE, 0x07, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xF8, 0x06, 0xF0, - 0x39, 0xC3, 0xE7, 0xEF, 0x1F, 0x80, 0x0F, 0x81, 0xF0, 0x06, 0x01, 0xC0, - 0x38, 0x06, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0x61, - 0xFF, 0xFF, 0xF8, 0x3F, 0xBC, 0x7F, 0xFC, 0xF3, 0x98, 0xC6, 0x33, 0x9C, - 0xE7, 0x39, 0xCC, 0x63, 0x18, 0xC6, 0x31, 0x8D, 0xF7, 0xBF, 0xEF, 0x78, - 0x3D, 0xE1, 0xFF, 0x8F, 0x8C, 0x38, 0x61, 0x83, 0x0C, 0x18, 0xE1, 0xC7, - 0x0E, 0x30, 0x67, 0xEF, 0xFE, 0x7E, 0x07, 0xC1, 0xFE, 0x38, 0x76, 0x03, - 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x06, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x1E, - 0xFC, 0x1F, 0xFE, 0x0F, 0x87, 0x0F, 0x03, 0x0E, 0x03, 0x0E, 0x03, 0x0E, - 0x07, 0x0E, 0x06, 0x1F, 0x0C, 0x1F, 0xF8, 0x19, 0xF0, 0x18, 0x00, 0x18, - 0x00, 0x38, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x0F, 0xDE, 0x3F, 0xFC, 0xC3, - 0xE3, 0x03, 0x84, 0x07, 0x18, 0x0E, 0x30, 0x1C, 0x60, 0x78, 0xE1, 0xE0, - 0xFF, 0xC0, 0xF9, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x1C, 0x01, 0xFC, 0x03, - 0xF8, 0x1E, 0x78, 0x7F, 0xF0, 0x7C, 0xC3, 0xC0, 0x0E, 0x00, 0x30, 0x00, - 0xC0, 0x03, 0x00, 0x1C, 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0x07, 0xF1, 0xFF, - 0x30, 0x73, 0x86, 0x3F, 0x81, 0xFE, 0x03, 0xE6, 0x06, 0xE0, 0xEF, 0xFC, - 0xFF, 0x00, 0x0C, 0x07, 0x01, 0x83, 0xFF, 0xFF, 0xCE, 0x03, 0x00, 0xC0, - 0x30, 0x1C, 0x07, 0x01, 0x83, 0x7F, 0xCF, 0xC0, 0xF0, 0xFF, 0x1F, 0x60, - 0x76, 0x07, 0x60, 0x76, 0x06, 0x60, 0x66, 0x0E, 0x61, 0xE7, 0xFF, 0x3E, - 0xF0, 0x7E, 0x7E, 0xFC, 0xFC, 0xE0, 0xC0, 0xC3, 0x81, 0x86, 0x03, 0x98, - 0x07, 0x70, 0x06, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x38, 0x00, 0xF8, 0x7F, - 0xE3, 0xE6, 0x63, 0x1B, 0xDC, 0x6F, 0x61, 0xFF, 0x87, 0xFC, 0x1E, 0xF0, - 0x73, 0x81, 0xCE, 0x06, 0x38, 0x00, 0x3E, 0x7C, 0xF9, 0xF1, 0xE7, 0x03, - 0xF8, 0x07, 0xC0, 0x1F, 0x01, 0xFC, 0x0F, 0x38, 0x78, 0xFB, 0xF7, 0xEF, - 0x9F, 0x80, 0x1F, 0x1F, 0x3E, 0x1F, 0x1C, 0x1C, 0x0C, 0x18, 0x0E, 0x38, - 0x0E, 0x70, 0x06, 0x60, 0x07, 0xE0, 0x07, 0xC0, 0x07, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x07, 0x00, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1F, 0xF1, - 0xFF, 0x38, 0xE3, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC6, 0x38, 0x67, - 0xFE, 0x7F, 0xE0, 0x01, 0xC0, 0xF0, 0x70, 0x18, 0x06, 0x03, 0x80, 0xE0, - 0x30, 0x1C, 0x3E, 0x0F, 0x00, 0x60, 0x18, 0x06, 0x03, 0x80, 0xC0, 0x30, - 0x0F, 0x01, 0xC0, 0x0C, 0x71, 0xC7, 0x18, 0x63, 0x8E, 0x30, 0xC3, 0x1C, - 0x71, 0x86, 0x38, 0xE3, 0x04, 0x00, 0x0E, 0x07, 0x80, 0xC0, 0x60, 0x70, - 0x30, 0x18, 0x0C, 0x06, 0x01, 0xC1, 0xE1, 0xC0, 0xC0, 0xE0, 0x70, 0x30, - 0x38, 0x78, 0x38, 0x00, 0x3C, 0x27, 0xE6, 0xEF, 0xCC, 0x38 }; - -const GFXglyph FreeMonoBoldOblique12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' - { 0, 6, 15, 14, 6, -14 }, // 0x21 '!' - { 12, 8, 7, 14, 6, -13 }, // 0x22 '"' - { 19, 13, 18, 14, 2, -15 }, // 0x23 '#' - { 49, 11, 20, 14, 3, -16 }, // 0x24 '$' - { 77, 11, 15, 14, 3, -14 }, // 0x25 '%' - { 98, 11, 13, 14, 2, -12 }, // 0x26 '&' - { 116, 3, 7, 14, 8, -13 }, // 0x27 ''' - { 119, 7, 19, 14, 7, -14 }, // 0x28 '(' - { 136, 7, 19, 14, 2, -14 }, // 0x29 ')' - { 153, 11, 10, 14, 4, -14 }, // 0x2A '*' - { 167, 12, 13, 14, 3, -12 }, // 0x2B '+' - { 187, 6, 7, 14, 3, -2 }, // 0x2C ',' - { 193, 13, 2, 14, 2, -7 }, // 0x2D '-' - { 197, 3, 3, 14, 6, -2 }, // 0x2E '.' - { 199, 14, 20, 14, 2, -16 }, // 0x2F '/' - { 234, 11, 15, 14, 3, -14 }, // 0x30 '0' - { 255, 11, 15, 14, 2, -14 }, // 0x31 '1' - { 276, 13, 15, 14, 1, -14 }, // 0x32 '2' - { 301, 12, 15, 14, 2, -14 }, // 0x33 '3' - { 324, 11, 14, 14, 3, -13 }, // 0x34 '4' - { 344, 12, 15, 14, 2, -14 }, // 0x35 '5' - { 367, 11, 15, 14, 4, -14 }, // 0x36 '6' - { 388, 11, 15, 14, 4, -14 }, // 0x37 '7' - { 409, 11, 15, 14, 3, -14 }, // 0x38 '8' - { 430, 11, 15, 14, 3, -14 }, // 0x39 '9' - { 451, 5, 11, 14, 5, -10 }, // 0x3A ':' - { 458, 7, 15, 14, 3, -10 }, // 0x3B ';' - { 472, 13, 11, 14, 2, -11 }, // 0x3C '<' - { 490, 13, 7, 14, 2, -9 }, // 0x3D '=' - { 502, 13, 11, 14, 2, -11 }, // 0x3E '>' - { 520, 9, 14, 14, 5, -13 }, // 0x3F '?' - { 536, 12, 19, 14, 2, -14 }, // 0x40 '@' - { 565, 15, 14, 14, 0, -13 }, // 0x41 'A' - { 592, 13, 14, 14, 1, -13 }, // 0x42 'B' - { 615, 14, 14, 14, 2, -13 }, // 0x43 'C' - { 640, 13, 14, 14, 1, -13 }, // 0x44 'D' - { 663, 15, 14, 14, 0, -13 }, // 0x45 'E' - { 690, 16, 14, 14, 0, -13 }, // 0x46 'F' - { 718, 14, 14, 14, 1, -13 }, // 0x47 'G' - { 743, 16, 14, 14, 0, -13 }, // 0x48 'H' - { 771, 12, 14, 14, 2, -13 }, // 0x49 'I' - { 792, 16, 14, 14, 0, -13 }, // 0x4A 'J' - { 820, 16, 14, 14, 0, -13 }, // 0x4B 'K' - { 848, 13, 14, 14, 1, -13 }, // 0x4C 'L' - { 871, 18, 14, 14, 0, -13 }, // 0x4D 'M' - { 903, 16, 14, 14, 1, -13 }, // 0x4E 'N' - { 931, 14, 14, 14, 1, -13 }, // 0x4F 'O' - { 956, 13, 14, 14, 1, -13 }, // 0x50 'P' - { 979, 14, 17, 14, 1, -13 }, // 0x51 'Q' - { 1009, 15, 14, 14, 0, -13 }, // 0x52 'R' - { 1036, 12, 14, 14, 3, -13 }, // 0x53 'S' - { 1057, 13, 14, 14, 2, -13 }, // 0x54 'T' - { 1080, 14, 14, 14, 2, -13 }, // 0x55 'U' - { 1105, 15, 14, 14, 1, -13 }, // 0x56 'V' - { 1132, 15, 14, 14, 1, -13 }, // 0x57 'W' - { 1159, 16, 14, 14, 0, -13 }, // 0x58 'X' - { 1187, 13, 14, 14, 2, -13 }, // 0x59 'Y' - { 1210, 14, 14, 14, 1, -13 }, // 0x5A 'Z' - { 1235, 9, 19, 14, 5, -14 }, // 0x5B '[' - { 1257, 7, 20, 14, 5, -16 }, // 0x5C '\' - { 1275, 9, 19, 14, 3, -14 }, // 0x5D ']' - { 1297, 10, 8, 14, 4, -15 }, // 0x5E '^' - { 1307, 15, 2, 14, -1, 4 }, // 0x5F '_' - { 1311, 4, 4, 14, 7, -15 }, // 0x60 '`' - { 1313, 12, 11, 14, 2, -10 }, // 0x61 'a' - { 1330, 15, 15, 14, -1, -14 }, // 0x62 'b' - { 1359, 12, 11, 14, 2, -10 }, // 0x63 'c' - { 1376, 14, 15, 14, 2, -14 }, // 0x64 'd' - { 1403, 12, 11, 14, 2, -10 }, // 0x65 'e' - { 1420, 15, 15, 14, 2, -14 }, // 0x66 'f' - { 1449, 14, 16, 14, 2, -10 }, // 0x67 'g' - { 1477, 13, 15, 14, 1, -14 }, // 0x68 'h' - { 1502, 11, 14, 14, 2, -13 }, // 0x69 'i' - { 1522, 12, 19, 14, 1, -13 }, // 0x6A 'j' - { 1551, 14, 15, 14, 1, -14 }, // 0x6B 'k' - { 1578, 11, 15, 14, 2, -14 }, // 0x6C 'l' - { 1599, 15, 11, 14, 0, -10 }, // 0x6D 'm' - { 1620, 13, 11, 14, 1, -10 }, // 0x6E 'n' - { 1638, 12, 11, 14, 2, -10 }, // 0x6F 'o' - { 1655, 16, 16, 14, -1, -10 }, // 0x70 'p' - { 1687, 15, 16, 14, 1, -10 }, // 0x71 'q' - { 1717, 14, 11, 14, 1, -10 }, // 0x72 'r' - { 1737, 12, 11, 14, 2, -10 }, // 0x73 's' - { 1754, 10, 14, 14, 2, -13 }, // 0x74 't' - { 1772, 12, 11, 14, 2, -10 }, // 0x75 'u' - { 1789, 15, 11, 14, 1, -10 }, // 0x76 'v' - { 1810, 14, 11, 14, 2, -10 }, // 0x77 'w' - { 1830, 14, 11, 14, 1, -10 }, // 0x78 'x' - { 1850, 16, 16, 14, 0, -10 }, // 0x79 'y' - { 1882, 12, 11, 14, 2, -10 }, // 0x7A 'z' - { 1899, 10, 19, 14, 4, -14 }, // 0x7B '{' - { 1923, 6, 19, 14, 5, -14 }, // 0x7C '|' - { 1938, 9, 19, 14, 3, -14 }, // 0x7D '}' - { 1960, 12, 4, 14, 3, -7 } }; // 0x7E '~' - -const GFXfont FreeMonoBoldOblique12pt7b PROGMEM = { - (uint8_t *)FreeMonoBoldOblique12pt7bBitmaps, - (GFXglyph *)FreeMonoBoldOblique12pt7bGlyphs, - 0x20, 0x7E, 24 }; - -// Approx. 2638 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h deleted file mode 100644 index bc4f20e..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique18pt7b.h +++ /dev/null @@ -1,460 +0,0 @@ -const uint8_t FreeMonoBoldOblique18pt7bBitmaps[] PROGMEM = { - 0x0F, 0x07, 0xC7, 0xE3, 0xF1, 0xF0, 0xF8, 0xFC, 0x7C, 0x3E, 0x1F, 0x0F, - 0x07, 0x87, 0xC3, 0xC1, 0xE0, 0x60, 0x00, 0x38, 0x3E, 0x1F, 0x0F, 0x83, - 0x80, 0xF8, 0xFF, 0x0E, 0xF1, 0xEF, 0x1E, 0xE1, 0xCE, 0x1C, 0xC1, 0xCC, - 0x18, 0xC1, 0x88, 0x18, 0x00, 0xE3, 0x80, 0x79, 0xE0, 0x1C, 0x70, 0x07, - 0x1C, 0x03, 0xCF, 0x00, 0xF3, 0xC0, 0x38, 0xE0, 0x7F, 0xFF, 0x3F, 0xFF, - 0xCF, 0xFF, 0xF3, 0xFF, 0xF8, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0x8E, 0x0F, - 0xFF, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0x83, 0xCF, 0x00, 0xF3, - 0xC0, 0x38, 0xE0, 0x1E, 0x78, 0x07, 0x9E, 0x01, 0xC7, 0x00, 0x71, 0xC0, - 0x00, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x07, 0x80, 0x03, 0xF0, 0x03, 0xFF, - 0x81, 0xFF, 0xF0, 0xFF, 0xF8, 0x3C, 0x1E, 0x1E, 0x07, 0x87, 0x80, 0x01, - 0xF0, 0x00, 0x7F, 0xC0, 0x0F, 0xFC, 0x01, 0xFF, 0x80, 0x07, 0xF0, 0x00, - 0x3C, 0x70, 0x0F, 0x3C, 0x03, 0xCF, 0x83, 0xE3, 0xFF, 0xF8, 0xFF, 0xFC, - 0x3F, 0xFE, 0x0C, 0xFE, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, - 0xF0, 0x00, 0x18, 0x00, 0x03, 0xC0, 0x0F, 0xE0, 0x1C, 0x70, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x70, 0x38, 0xE0, 0x1F, 0xC3, 0x0F, 0x1F, 0x01, 0xFC, - 0x0F, 0xE0, 0x7F, 0x00, 0xF8, 0xF0, 0x83, 0xF8, 0x07, 0x1C, 0x0E, 0x0C, - 0x0C, 0x0C, 0x0C, 0x1C, 0x0E, 0x38, 0x07, 0xF0, 0x03, 0xC0, 0x00, 0x7A, - 0x01, 0xFF, 0x03, 0xFF, 0x07, 0xFE, 0x0F, 0x9C, 0x0F, 0x00, 0x0F, 0x00, - 0x0F, 0x00, 0x07, 0x80, 0x1F, 0x80, 0x3F, 0xC0, 0x7F, 0xCF, 0x79, 0xFF, - 0xF1, 0xFE, 0xF1, 0xFC, 0xF0, 0xF8, 0xFF, 0xFE, 0xFF, 0xFE, 0x7F, 0xFE, - 0x1F, 0xBC, 0x7B, 0xFD, 0xEF, 0x73, 0x9C, 0xC6, 0x00, 0x01, 0xC0, 0xF0, - 0x3C, 0x1E, 0x0F, 0x03, 0xC1, 0xE0, 0x70, 0x3C, 0x0F, 0x07, 0x81, 0xE0, - 0x78, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3E, - 0x07, 0x81, 0xE0, 0x7C, 0x1F, 0x03, 0x80, 0x07, 0x03, 0xC0, 0xF8, 0x3E, - 0x07, 0x81, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, - 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xC0, 0xF0, 0x3C, 0x1E, 0x07, 0x83, 0xC1, - 0xE0, 0x78, 0x3C, 0x0E, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x07, 0x00, 0x0E, - 0x02, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xBF, 0xFE, 0x1F, 0xF0, 0x1F, 0x80, - 0x7F, 0x81, 0xEF, 0x07, 0x8F, 0x0F, 0x1E, 0x08, 0x10, 0x00, 0x00, 0x70, - 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x38, 0x00, - 0x1E, 0x03, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, - 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x07, 0x80, - 0x01, 0xC0, 0x00, 0x70, 0x00, 0x0F, 0x87, 0x87, 0x83, 0x83, 0xC1, 0xC1, - 0xC0, 0xC0, 0xE0, 0x60, 0x00, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x38, 0x00, 0x03, 0xC0, - 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x0F, - 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, - 0x78, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, - 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0xF0, - 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, 0x78, 0x00, 0x03, - 0xC0, 0x00, 0x3C, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x01, 0xFF, - 0x01, 0xFF, 0xC1, 0xFF, 0xE1, 0xF1, 0xF9, 0xE0, 0x7C, 0xF0, 0x1E, 0xF0, - 0x0F, 0x78, 0x07, 0xB8, 0x03, 0x9C, 0x03, 0xDE, 0x01, 0xCF, 0x00, 0xE7, - 0x00, 0x73, 0xC0, 0x79, 0xE0, 0x3C, 0xF0, 0x1C, 0x78, 0x1E, 0x3E, 0x1E, - 0x0F, 0xFF, 0x07, 0xFF, 0x01, 0xFF, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x03, - 0xF8, 0x0F, 0xE0, 0x7F, 0xC0, 0xF7, 0x81, 0x8F, 0x00, 0x1C, 0x00, 0x38, - 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, 0x00, 0x3C, 0x00, - 0x78, 0x00, 0xF0, 0x01, 0xC0, 0x03, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xEF, 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0x07, 0xFC, 0x00, 0xFF, 0xE0, 0x1F, - 0xFF, 0x03, 0xC1, 0xF0, 0x78, 0x0F, 0x07, 0x80, 0xF0, 0x70, 0x0F, 0x00, - 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x3F, 0x00, - 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, - 0x3F, 0x03, 0x87, 0xFF, 0xF8, 0x7F, 0xFF, 0x87, 0xFF, 0xF8, 0xFF, 0xFF, - 0x00, 0x00, 0xFE, 0x00, 0xFF, 0xC0, 0x7F, 0xF8, 0x3F, 0xFF, 0x0E, 0x07, - 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x1F, 0xC0, - 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xFF, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, - 0x1E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xF1, 0xFF, 0xF8, 0xFF, 0xFC, - 0x3F, 0xFE, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0x7F, 0x00, - 0xFE, 0x00, 0xFE, 0x01, 0xEE, 0x03, 0xDE, 0x07, 0x9E, 0x0F, 0x1C, 0x1E, - 0x1C, 0x3C, 0x3C, 0x78, 0x3C, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, - 0xFC, 0x00, 0x70, 0x03, 0xFC, 0x07, 0xFC, 0x07, 0xFC, 0x07, 0xF8, 0x07, - 0xFF, 0xC1, 0xFF, 0xF0, 0x7F, 0xFC, 0x3F, 0xFE, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0xE0, 0x00, 0x3B, 0xE0, 0x1F, 0xFE, 0x07, 0xFF, 0xC1, 0xFF, 0xF8, - 0x78, 0x3E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, - 0x0F, 0x18, 0x0F, 0xCF, 0xFF, 0xE3, 0xFF, 0xF0, 0x7F, 0xF8, 0x07, 0xF0, - 0x00, 0x00, 0x0F, 0xC0, 0x0F, 0xFC, 0x03, 0xFF, 0x81, 0xFF, 0xE0, 0x7F, - 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x9F, - 0x01, 0xEF, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xF1, 0xFC, 0x3E, 0x3E, 0x03, - 0xC7, 0x80, 0x78, 0xF0, 0x0F, 0x1E, 0x03, 0xC3, 0xE0, 0xF8, 0x7F, 0xFE, - 0x07, 0xFF, 0x80, 0x7F, 0xE0, 0x07, 0xF0, 0x00, 0x7F, 0xFF, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0E, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x3C, - 0x00, 0x78, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xC0, - 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x0F, 0x00, 0x0E, 0x00, 0x1E, 0x00, - 0x1C, 0x00, 0x1C, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, - 0xFF, 0xF0, 0xF8, 0x3E, 0x3E, 0x03, 0xC7, 0x80, 0x78, 0xF0, 0x0F, 0x1E, - 0x03, 0xC3, 0xE0, 0xF0, 0x3F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xE0, 0x7F, - 0xFE, 0x1F, 0x83, 0xE3, 0xC0, 0x3C, 0xF0, 0x07, 0x9E, 0x01, 0xF3, 0xE0, - 0x7C, 0x7F, 0xFF, 0x87, 0xFF, 0xE0, 0x7F, 0xF0, 0x03, 0xF8, 0x00, 0x00, - 0x7E, 0x00, 0x7F, 0xC0, 0x3F, 0xF8, 0x1F, 0xFE, 0x0F, 0x87, 0xC3, 0xC0, - 0xF1, 0xE0, 0x3C, 0x78, 0x0F, 0x1E, 0x03, 0xC7, 0x81, 0xF1, 0xF1, 0xFC, - 0x7F, 0xFE, 0x0F, 0xFF, 0x81, 0xFD, 0xE0, 0x3E, 0xF0, 0x00, 0x7C, 0x00, - 0x3E, 0x00, 0x1F, 0x00, 0x1F, 0x81, 0xFF, 0xC0, 0xFF, 0xE0, 0x3F, 0xE0, - 0x07, 0xE0, 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x8F, 0x9F, 0x3E, 0x38, 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x3C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0xF0, 0x1E, - 0x07, 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x30, 0x0E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0xFE, 0x00, - 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, - 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0x38, - 0x3F, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x9F, 0xFF, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x1F, 0xFF, 0xF7, 0xFF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFF, 0xF0, - 0x00, 0x00, 0x03, 0x80, 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, - 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x0F, 0xE0, - 0x07, 0xF0, 0x07, 0xF8, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0x3E, 0x00, 0x07, - 0x00, 0x00, 0x07, 0xE0, 0xFF, 0xC7, 0xFF, 0xBF, 0xFF, 0xF0, 0x7F, 0x80, - 0xFE, 0x03, 0xC0, 0x0F, 0x00, 0x78, 0x0F, 0xE1, 0xFE, 0x0F, 0xF0, 0x7E, - 0x01, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x70, 0x03, 0xE0, 0x0F, 0x80, 0x3E, - 0x00, 0x70, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0xE0, 0x1F, 0xF8, 0x0F, 0x0F, - 0x07, 0x01, 0xC3, 0x80, 0x71, 0xE0, 0x1C, 0x70, 0x0E, 0x18, 0x0F, 0x8E, - 0x1F, 0xE3, 0x8F, 0xF0, 0xE7, 0x9C, 0x33, 0xC7, 0x1C, 0xE1, 0xC7, 0x38, - 0x71, 0xCF, 0x18, 0x73, 0xFE, 0x38, 0x7F, 0xCE, 0x0F, 0xF3, 0x80, 0x00, - 0xE0, 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0xC0, 0x7F, 0xF0, 0x0F, - 0xF8, 0x01, 0xF8, 0x00, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, - 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xBC, 0x00, - 0x1C, 0xF0, 0x00, 0xF3, 0xC0, 0x07, 0x87, 0x80, 0x1E, 0x1E, 0x00, 0xF0, - 0x78, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0x80, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, - 0x1E, 0x00, 0xF1, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE1, 0xFF, 0xFF, - 0x07, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFF, 0x87, 0xFF, 0xFC, 0x1F, 0xFF, - 0xF0, 0x38, 0x0F, 0x81, 0xC0, 0x3C, 0x1E, 0x01, 0xE0, 0xF0, 0x3E, 0x07, - 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0xE0, 0x1F, - 0x87, 0x00, 0x3C, 0x38, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0xF3, 0xFF, - 0xFF, 0xBF, 0xFF, 0xF9, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0x00, 0x00, 0x7F, - 0x30, 0x0F, 0xFF, 0xC1, 0xFF, 0xFE, 0x1F, 0xFF, 0xF1, 0xF8, 0x3F, 0x1F, - 0x00, 0x78, 0xF0, 0x03, 0xCF, 0x80, 0x1C, 0x78, 0x00, 0x03, 0xC0, 0x00, - 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, - 0x00, 0x1F, 0x00, 0x38, 0x7E, 0x07, 0xC3, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, - 0x3F, 0xFC, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xFF, 0x80, 0x7F, 0xFE, 0x07, - 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x78, 0x1F, 0x03, 0x80, 0x7C, 0x1C, 0x01, - 0xE1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x70, 0x03, 0xC3, 0x80, 0x1E, 0x1C, - 0x00, 0xF1, 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x70, 0x07, 0xC3, 0x80, 0x7C, - 0x3C, 0x07, 0xC3, 0xFF, 0xFC, 0x3F, 0xFF, 0xC1, 0xFF, 0xFC, 0x0F, 0xFF, - 0x80, 0x00, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC3, 0xFF, - 0xFF, 0x03, 0xC0, 0x3C, 0x0F, 0x00, 0xE0, 0x3C, 0x73, 0x80, 0xE3, 0xCC, - 0x03, 0xFF, 0x00, 0x1F, 0xFC, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, - 0x1E, 0x00, 0x3C, 0x70, 0x00, 0xF0, 0x07, 0x03, 0xC0, 0x1C, 0x0E, 0x00, - 0xF1, 0xFF, 0xFF, 0xC7, 0xFF, 0xFE, 0x3F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE0, - 0x07, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xE0, - 0x3C, 0x01, 0xC0, 0x70, 0x07, 0x80, 0xE1, 0x8E, 0x03, 0xC7, 0x1C, 0x07, - 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0xF1, - 0xC0, 0x01, 0xE3, 0x80, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x0F, 0xFE, 0x00, - 0x00, 0x00, 0x3F, 0x18, 0x0F, 0xFF, 0xC0, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, - 0xFC, 0x0F, 0x0F, 0x80, 0x38, 0xF8, 0x01, 0x87, 0x80, 0x00, 0x78, 0x00, - 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x7F, 0xEF, 0x07, 0xFF, 0x78, - 0x3F, 0xFB, 0xC0, 0xFF, 0x9E, 0x00, 0x38, 0xFC, 0x03, 0xC3, 0xFF, 0xFE, - 0x1F, 0xFF, 0xE0, 0x3F, 0xFC, 0x00, 0x7F, 0x80, 0x00, 0x03, 0xF8, 0xFE, - 0x0F, 0xF3, 0xFC, 0x1F, 0xE7, 0xF8, 0x3F, 0x8F, 0xE0, 0x3C, 0x07, 0x80, - 0x70, 0x0E, 0x00, 0xE0, 0x1C, 0x03, 0xC0, 0x78, 0x07, 0x80, 0xF0, 0x0F, - 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0xFF, 0xFE, 0x01, 0xE0, - 0x3C, 0x03, 0x80, 0x70, 0x07, 0x00, 0xE0, 0x1E, 0x03, 0xC0, 0xFF, 0x1F, - 0xE1, 0xFE, 0x7F, 0xC7, 0xFC, 0xFF, 0x87, 0xF1, 0xFE, 0x00, 0x07, 0xFF, - 0xE1, 0xFF, 0xFC, 0x3F, 0xFF, 0x87, 0xFF, 0xE0, 0x07, 0x80, 0x00, 0xE0, - 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0x80, - 0x00, 0x70, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0E, 0x00, - 0x01, 0xC0, 0x0F, 0xFF, 0xC3, 0xFF, 0xF8, 0x7F, 0xFF, 0x07, 0xFF, 0xE0, - 0x00, 0x3F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, - 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x1C, 0x03, 0x80, - 0x78, 0x0F, 0x00, 0xF0, 0x1E, 0x01, 0xC0, 0x38, 0x07, 0x80, 0x70, 0x1F, - 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFC, 0x00, - 0x00, 0x07, 0xF8, 0xFC, 0x1F, 0xFB, 0xFC, 0x3F, 0xE7, 0xF0, 0x7F, 0xCF, - 0xE0, 0x3C, 0x1E, 0x00, 0x70, 0xF8, 0x00, 0xE3, 0xE0, 0x03, 0xCF, 0x00, - 0x07, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xF0, 0x00, - 0xF9, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0x83, 0xE0, 0x07, 0x03, 0xC0, 0x1E, - 0x07, 0x80, 0xFF, 0x8F, 0xE3, 0xFF, 0x0F, 0xC7, 0xFE, 0x1F, 0x8F, 0xF8, - 0x3E, 0x00, 0x0F, 0xFE, 0x00, 0xFF, 0xF0, 0x1F, 0xFE, 0x00, 0xFF, 0xE0, - 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0xC0, - 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, 0x60, 0x78, - 0x0F, 0x07, 0x80, 0xF0, 0x70, 0x0E, 0x07, 0x00, 0xE7, 0xFF, 0xFE, 0xFF, - 0xFF, 0xEF, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0x0F, 0xC0, 0x1F, 0x87, 0xE0, - 0x0F, 0xC7, 0xF8, 0x0F, 0xE1, 0xFC, 0x0F, 0xE0, 0x7E, 0x07, 0xE0, 0x3F, - 0x07, 0xF0, 0x3F, 0xC7, 0xF8, 0x1F, 0xE3, 0xF8, 0x0E, 0xF3, 0xDC, 0x07, - 0x7B, 0xDE, 0x03, 0x9F, 0xEF, 0x03, 0xCF, 0xE7, 0x81, 0xE7, 0xE3, 0x80, - 0xE3, 0xF1, 0xC0, 0x70, 0xF1, 0xE0, 0x38, 0x70, 0xF0, 0x3C, 0x00, 0x70, - 0x3F, 0xC1, 0xFE, 0x3F, 0xE1, 0xFF, 0x1F, 0xF0, 0xFF, 0x8F, 0xF0, 0x7F, - 0x80, 0x0F, 0xC1, 0xFE, 0x1F, 0xC1, 0xFF, 0x1F, 0xC3, 0xFE, 0x1F, 0xE1, - 0xFE, 0x07, 0xE0, 0x38, 0x07, 0xF0, 0x78, 0x07, 0xF0, 0x78, 0x0F, 0xF8, - 0x70, 0x0F, 0x78, 0x70, 0x0E, 0x78, 0xF0, 0x0E, 0x7C, 0xF0, 0x1E, 0x3C, - 0xF0, 0x1E, 0x3E, 0xE0, 0x1E, 0x1E, 0xE0, 0x1C, 0x1F, 0xE0, 0x1C, 0x0F, - 0xE0, 0x3C, 0x0F, 0xE0, 0x7F, 0x87, 0xC0, 0xFF, 0x87, 0xC0, 0xFF, 0x87, - 0xC0, 0xFF, 0x03, 0xC0, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x07, 0xFF, 0xC0, - 0xFF, 0xFE, 0x1F, 0x87, 0xE3, 0xE0, 0x1F, 0x3C, 0x01, 0xF7, 0xC0, 0x0F, - 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x01, - 0xEF, 0x00, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x7C, 0x7C, 0x1F, 0x87, 0xFF, - 0xF0, 0x3F, 0xFE, 0x01, 0xFF, 0x80, 0x07, 0xE0, 0x00, 0x0F, 0xFF, 0x80, - 0x7F, 0xFF, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x38, 0x0F, 0x81, 0xC0, - 0x3C, 0x1E, 0x01, 0xE0, 0xF0, 0x0F, 0x07, 0x00, 0xF0, 0x38, 0x0F, 0x83, - 0xFF, 0xF8, 0x1F, 0xFF, 0x80, 0xFF, 0xF8, 0x07, 0xFF, 0x00, 0x38, 0x00, - 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x03, 0xFF, 0x80, 0x3F, 0xFC, 0x01, 0xFF, - 0xE0, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x07, 0xFF, - 0xC0, 0xFF, 0xFE, 0x1F, 0x87, 0xE3, 0xE0, 0x1F, 0x3C, 0x01, 0xF7, 0xC0, - 0x0F, 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, - 0x01, 0xEF, 0x00, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x7C, 0x7C, 0x1F, 0x87, - 0xFF, 0xF0, 0x3F, 0xFE, 0x01, 0xFF, 0x80, 0x07, 0xE0, 0x01, 0xFE, 0x30, - 0x3F, 0xFF, 0x87, 0xFF, 0xF0, 0x7F, 0xFF, 0x07, 0x83, 0xC0, 0x07, 0xFF, - 0x80, 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x03, 0xFF, 0xFE, 0x03, 0xC0, 0xF8, - 0x0E, 0x01, 0xE0, 0x38, 0x07, 0x81, 0xE0, 0x3E, 0x07, 0x83, 0xF0, 0x1F, - 0xFF, 0x80, 0x7F, 0xFC, 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0x3C, 0x3E, - 0x00, 0xE0, 0x7C, 0x03, 0x80, 0xF0, 0x1E, 0x03, 0xE1, 0xFF, 0x07, 0xFF, - 0xFC, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0x80, 0xF8, 0x00, 0x7C, 0xE0, 0x7F, - 0xFC, 0x1F, 0xFF, 0x87, 0xFF, 0xE0, 0xF8, 0x7C, 0x3C, 0x07, 0x87, 0x80, - 0xE0, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xFE, 0x00, 0x3F, 0xF8, 0x03, 0xFF, - 0x80, 0x07, 0xF8, 0x40, 0x1F, 0x3C, 0x01, 0xE7, 0x80, 0x3C, 0xFC, 0x1F, - 0x1F, 0xFF, 0xE3, 0xFF, 0xF8, 0x7F, 0xFE, 0x00, 0x7E, 0x00, 0x7F, 0xFF, - 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0x0E, 0x1F, 0xE1, 0xC3, - 0xBC, 0x78, 0x77, 0x0F, 0x1E, 0xE1, 0xC1, 0x80, 0x38, 0x00, 0x0F, 0x00, - 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x3C, 0x00, - 0x07, 0x80, 0x0F, 0xFE, 0x03, 0xFF, 0xE0, 0x7F, 0xFC, 0x0F, 0xFF, 0x00, - 0x7F, 0x8F, 0xF3, 0xFE, 0x7F, 0xDF, 0xF7, 0xFC, 0xFF, 0x1F, 0xE3, 0xC0, - 0x3C, 0x1C, 0x01, 0xE0, 0xE0, 0x0F, 0x0F, 0x00, 0x70, 0x78, 0x03, 0x83, - 0xC0, 0x3C, 0x1C, 0x01, 0xE0, 0xE0, 0x0E, 0x0F, 0x00, 0x70, 0x78, 0x03, - 0x83, 0xC0, 0x3C, 0x1F, 0x01, 0xC0, 0xFC, 0x3E, 0x03, 0xFF, 0xE0, 0x1F, - 0xFE, 0x00, 0x7F, 0xE0, 0x00, 0xFC, 0x00, 0x00, 0x7F, 0x81, 0xFE, 0xFF, - 0x87, 0xFF, 0xFF, 0x0F, 0xFB, 0xFC, 0x1F, 0xE1, 0xC0, 0x0F, 0x03, 0xC0, - 0x1C, 0x07, 0x80, 0x78, 0x0F, 0x01, 0xE0, 0x1E, 0x03, 0x80, 0x1E, 0x0F, - 0x00, 0x3C, 0x3C, 0x00, 0x78, 0x70, 0x00, 0xF1, 0xE0, 0x01, 0xE7, 0x80, - 0x01, 0xEF, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, - 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7F, 0x87, 0xFF, - 0xFF, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE1, 0xFE, 0x78, 0x00, 0xF1, 0xE3, - 0xC3, 0x87, 0x8F, 0x0E, 0x1E, 0x7C, 0x78, 0x79, 0xF9, 0xC1, 0xEF, 0xEF, - 0x07, 0xBF, 0xBC, 0x1D, 0xFE, 0xE0, 0x77, 0x7F, 0x81, 0xFD, 0xFE, 0x07, - 0xE3, 0xF0, 0x3F, 0x8F, 0xC0, 0xFC, 0x3F, 0x03, 0xF0, 0xF8, 0x0F, 0x83, - 0xE0, 0x3E, 0x0F, 0x80, 0xF0, 0x3C, 0x00, 0x07, 0xE0, 0x7E, 0x0F, 0xF0, - 0xFF, 0x0F, 0xF0, 0xFE, 0x0F, 0xE0, 0xFE, 0x03, 0xC0, 0xF8, 0x01, 0xE1, - 0xE0, 0x01, 0xF3, 0xC0, 0x00, 0xF7, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xEF, - 0x00, 0x07, 0xCF, 0x80, 0x0F, 0x87, 0xC0, 0x1F, 0x03, 0xC0, 0x7F, 0x07, - 0xF0, 0xFF, 0x8F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xE0, 0x7E, 0x0F, - 0xEF, 0xF0, 0xFF, 0xFF, 0x0F, 0xEF, 0xE0, 0xFE, 0x3C, 0x0F, 0x01, 0xE1, - 0xE0, 0x1E, 0x3E, 0x00, 0xF7, 0xC0, 0x0F, 0xF8, 0x00, 0x7F, 0x00, 0x07, - 0xE0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, - 0x78, 0x00, 0x07, 0x00, 0x07, 0xFF, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, 0x00, - 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xE0, 0xFF, 0xFC, 0x3F, 0xFF, 0x87, 0xFF, - 0xF0, 0xF0, 0x7C, 0x1C, 0x1F, 0x03, 0x87, 0xC0, 0x61, 0xF0, 0x00, 0x7C, - 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x07, - 0x07, 0xC0, 0xE1, 0xF0, 0x3C, 0x7C, 0x07, 0x9F, 0xFF, 0xF3, 0xFF, 0xFC, - 0x7F, 0xFF, 0x8F, 0xFF, 0xF0, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xE0, - 0x70, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x3C, - 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x0E, 0x00, - 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, - 0x80, 0xE0, 0x38, 0x0F, 0x03, 0xC0, 0xF0, 0x1C, 0x07, 0x81, 0xE0, 0x78, - 0x0E, 0x03, 0xC0, 0xF0, 0x3C, 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, - 0xF0, 0x3C, 0x0F, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, 0xF0, 0x3C, 0x06, - 0x07, 0xF8, 0x3F, 0xC1, 0xFC, 0x0F, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, - 0x1C, 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0F, - 0x00, 0x78, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, - 0x1C, 0x0F, 0xE0, 0xFF, 0x07, 0xF0, 0x3F, 0x80, 0x00, 0x40, 0x01, 0x80, - 0x07, 0x80, 0x3F, 0x80, 0xFF, 0x03, 0xFF, 0x0F, 0x9F, 0x3E, 0x1E, 0xF8, - 0x3F, 0xE0, 0x3F, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xF0, 0xC3, 0xC7, 0x0E, 0x3C, 0x30, 0x00, 0xFE, 0x00, - 0x7F, 0xF0, 0x1F, 0xFF, 0x03, 0xFF, 0xE0, 0x00, 0x3C, 0x07, 0xFF, 0x83, - 0xFF, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0x80, 0xF3, 0xE0, 0x1E, 0x78, - 0x1F, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xF8, 0xFE, 0x7E, 0x07, - 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xC0, - 0x00, 0x0F, 0x00, 0x00, 0x3C, 0xFC, 0x00, 0xEF, 0xFC, 0x03, 0xFF, 0xF8, - 0x1F, 0xFF, 0xE0, 0x7E, 0x0F, 0xC1, 0xE0, 0x1F, 0x07, 0x00, 0x3C, 0x1C, - 0x00, 0xF0, 0xE0, 0x03, 0xC3, 0x80, 0x1E, 0x0F, 0x00, 0xF8, 0x3E, 0x07, - 0xC7, 0xFF, 0xFF, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0x81, 0xF1, 0xF8, 0x00, - 0x00, 0xFE, 0x60, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, 0xF0, 0x3C, - 0xF8, 0x03, 0x9E, 0x00, 0x67, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, - 0xC0, 0x00, 0x7E, 0x01, 0xC7, 0xFF, 0xF8, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, - 0x7F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, - 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, 0x07, 0xE3, 0x80, 0xFF, 0xDC, 0x0F, - 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xC1, 0xF0, 0xF8, 0x07, 0x87, 0x80, 0x1C, - 0x78, 0x00, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x70, 0xF0, 0x07, 0x87, 0xE0, - 0xFC, 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xC3, 0xFF, 0xFE, 0x07, 0xE3, 0xE0, - 0x00, 0xFC, 0x01, 0xFF, 0xC0, 0xFF, 0xF8, 0x7F, 0xFE, 0x3E, 0x0F, 0xCE, - 0x00, 0xF7, 0x00, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xE0, 0x1E, 0xFF, 0xFF, 0x9F, 0xFF, 0xE3, 0xFF, 0xF0, 0x3F, 0xF0, - 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0xC0, 0x1F, 0xFE, 0x01, 0xFF, 0xE0, 0x0F, - 0x00, 0x00, 0xF0, 0x00, 0x3F, 0xFF, 0x03, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, - 0xFF, 0xFC, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x01, 0xC0, - 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x1F, - 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0xFE, 0x00, 0x01, 0xF9, - 0xF8, 0x3F, 0xFF, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xE3, 0xE0, 0xFC, 0x3E, - 0x03, 0xE1, 0xE0, 0x0E, 0x1E, 0x00, 0x70, 0xF0, 0x03, 0x87, 0x80, 0x3C, - 0x3E, 0x03, 0xE1, 0xF8, 0x7E, 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x80, 0xFF, - 0xFC, 0x01, 0xF9, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, - 0x7F, 0xF8, 0x07, 0xFF, 0x80, 0x3F, 0xF8, 0x00, 0xFF, 0x00, 0x00, 0x0F, - 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x03, 0xC0, 0x00, - 0x38, 0x00, 0x03, 0x9F, 0x00, 0x7F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xFE, - 0x07, 0xC3, 0xE0, 0x70, 0x1E, 0x0F, 0x01, 0xC0, 0xF0, 0x1C, 0x0E, 0x03, - 0xC0, 0xE0, 0x3C, 0x1E, 0x03, 0x81, 0xE0, 0x38, 0x7F, 0x0F, 0xFF, 0xF8, - 0xFF, 0xFF, 0x8F, 0xF7, 0xF0, 0xFE, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, - 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x1F, 0xF0, - 0x0F, 0xF0, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, - 0x01, 0xE0, 0x01, 0xC0, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x3F, 0xFE, 0x0F, 0xFF, 0x81, 0xFF, - 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xF0, - 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x78, 0x00, - 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x1F, 0xFE, - 0x0F, 0xFF, 0x03, 0xFF, 0x80, 0x7F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0xFE, - 0x00, 0x0F, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0xC0, 0x00, 0x3C, 0x00, 0x03, - 0xCF, 0xF0, 0x3C, 0xFF, 0x03, 0x9F, 0xF0, 0x38, 0xFE, 0x07, 0xBF, 0x00, - 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, - 0x0F, 0x7E, 0x00, 0xE3, 0xF0, 0x7E, 0x1F, 0xE7, 0xE1, 0xFE, 0xFE, 0x3F, - 0xE7, 0xE1, 0xFC, 0x03, 0xFC, 0x07, 0xFC, 0x07, 0xF8, 0x07, 0xF8, 0x00, - 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, - 0xF0, 0x00, 0xE0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, - 0xC0, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, - 0x7C, 0x78, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF0, 0xF1, - 0xF1, 0xE1, 0xC3, 0x83, 0xC7, 0x87, 0x07, 0x8F, 0x0E, 0x0E, 0x1C, 0x3C, - 0x1C, 0x38, 0x78, 0x78, 0x70, 0xE0, 0xF1, 0xE1, 0xC1, 0xC7, 0xE3, 0xC3, - 0xFF, 0xCF, 0xC7, 0xFF, 0x9F, 0x9F, 0xFF, 0x3E, 0x3E, 0x0F, 0x8F, 0x80, - 0xFD, 0xFF, 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xE0, 0x7E, 0x1F, 0x07, 0xC0, - 0x78, 0x3C, 0x03, 0x81, 0xE0, 0x1C, 0x0E, 0x01, 0xE0, 0x70, 0x0F, 0x07, - 0x80, 0x70, 0x3C, 0x03, 0x87, 0xF0, 0x3F, 0x7F, 0xC3, 0xFF, 0xFE, 0x1F, - 0xEF, 0xE0, 0xFE, 0x01, 0xFC, 0x01, 0xFF, 0x80, 0xFF, 0xF8, 0x7F, 0xFE, - 0x3E, 0x0F, 0xDF, 0x01, 0xF7, 0x80, 0x3F, 0xC0, 0x0F, 0xF0, 0x03, 0xFC, - 0x01, 0xEF, 0x80, 0xFB, 0xF0, 0x7C, 0x7F, 0xFF, 0x1F, 0xFF, 0x03, 0xFF, - 0x80, 0x3F, 0x80, 0x07, 0xC7, 0xE0, 0x1F, 0xBF, 0xF0, 0x3F, 0xFF, 0xF0, - 0x7F, 0xFF, 0xE0, 0x3F, 0x07, 0xE0, 0x78, 0x03, 0xC0, 0xE0, 0x07, 0x81, - 0xC0, 0x0F, 0x07, 0x00, 0x1E, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xF0, 0x3E, - 0x07, 0xC0, 0xFF, 0xFF, 0x81, 0xFF, 0xFE, 0x03, 0xDF, 0xF0, 0x07, 0x1F, - 0x80, 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x03, 0xFE, 0x00, - 0x0F, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x01, 0xF8, - 0xF8, 0x1F, 0xFF, 0xF1, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x3E, 0x07, 0xC1, - 0xF0, 0x0F, 0x07, 0x80, 0x1C, 0x3C, 0x00, 0x70, 0xF0, 0x03, 0x83, 0xC0, - 0x0E, 0x0F, 0x80, 0x78, 0x3F, 0x07, 0xE0, 0x7F, 0xFF, 0x81, 0xFF, 0xFC, - 0x03, 0xFF, 0x70, 0x03, 0xF3, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0xE0, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0x00, 0x1F, - 0xF8, 0x00, 0x0F, 0xC3, 0xC1, 0xFC, 0xFF, 0x1F, 0xFF, 0xF1, 0xFF, 0xFE, - 0x03, 0xFC, 0x00, 0x3F, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x07, 0x80, - 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0xFF, 0xFC, 0x0F, 0xFF, - 0xE0, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x03, 0xF3, 0x0F, 0xFF, 0x3F, 0xFF, - 0x3F, 0xFF, 0x7C, 0x0E, 0x78, 0x00, 0x7F, 0xE0, 0x3F, 0xFC, 0x1F, 0xFF, - 0x00, 0x3F, 0x70, 0x0F, 0xF8, 0x1F, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xF8, - 0x0F, 0xE0, 0x06, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, - 0x7F, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFC, 0x1C, 0x00, 0x3C, 0x00, - 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0x7C, 0x0E, - 0x7F, 0xFF, 0x7F, 0xFE, 0x3F, 0xFC, 0x0F, 0xE0, 0x7C, 0x0F, 0xFF, 0x07, - 0xFF, 0x81, 0xFF, 0xE0, 0x7E, 0x78, 0x03, 0x9E, 0x00, 0xE7, 0x80, 0x79, - 0xE0, 0x1E, 0x78, 0x07, 0x1E, 0x01, 0xC7, 0x80, 0xF1, 0xE0, 0xFC, 0x7F, - 0xFF, 0x9F, 0xFF, 0xE3, 0xFF, 0xF8, 0x3E, 0x7C, 0x7F, 0x87, 0xFF, 0xFC, - 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F, 0xE1, 0xE0, 0x3C, 0x0F, 0x03, 0xC0, - 0x78, 0x3C, 0x01, 0xE1, 0xC0, 0x0F, 0x1E, 0x00, 0x79, 0xE0, 0x03, 0xCE, - 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0x80, 0x00, - 0x78, 0x00, 0x7E, 0x03, 0xF7, 0xF0, 0x3F, 0xFF, 0x81, 0xFD, 0xF8, 0x0F, - 0xE7, 0x8E, 0x1C, 0x3C, 0xF9, 0xE1, 0xE7, 0xCE, 0x0F, 0x7E, 0xF0, 0x7B, - 0xF7, 0x03, 0xFF, 0xF8, 0x1F, 0xDF, 0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xE0, - 0x3E, 0x3E, 0x01, 0xF1, 0xF0, 0x0F, 0x07, 0x00, 0x0F, 0xE3, 0xF8, 0xFF, - 0x1F, 0xC7, 0xF9, 0xFE, 0x1F, 0x87, 0xF0, 0x7E, 0x7C, 0x01, 0xFF, 0xC0, - 0x07, 0xFC, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x01, 0xF7, - 0xC0, 0x1F, 0x1F, 0x03, 0xF0, 0x7C, 0x7F, 0xCF, 0xFB, 0xFE, 0x7F, 0xDF, - 0xE3, 0xFC, 0x07, 0xF0, 0x7F, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x07, - 0xE0, 0xFE, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0xF0, 0x01, - 0xE1, 0xE0, 0x01, 0xE1, 0xC0, 0x01, 0xE3, 0xC0, 0x00, 0xF7, 0x80, 0x00, - 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x7F, - 0xF0, 0x00, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xF0, 0x00, 0x1F, - 0xFF, 0xC7, 0xFF, 0xF1, 0xFF, 0xF8, 0xFF, 0xFE, 0x3C, 0x1F, 0x0E, 0x1F, - 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, - 0xF8, 0x3C, 0xFF, 0xFF, 0x3F, 0xFF, 0xCF, 0xFF, 0xE3, 0xFF, 0xF8, 0x00, - 0xF0, 0x1F, 0x03, 0xF0, 0x7E, 0x07, 0x80, 0x70, 0x0F, 0x00, 0xF0, 0x0E, - 0x00, 0xE0, 0x1E, 0x01, 0xC0, 0xFC, 0x0F, 0x80, 0xF8, 0x0F, 0xC0, 0x3C, - 0x03, 0xC0, 0x38, 0x03, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0xE0, 0x7E, - 0x03, 0xE0, 0x1C, 0x00, 0x02, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, - 0x1E, 0x1E, 0x1C, 0x1C, 0x1C, 0x3C, 0x3C, 0x38, 0x38, 0x38, 0x78, 0x78, - 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xE0, 0xE0, 0x01, 0xC0, 0x1F, 0x00, 0xFC, - 0x07, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x0F, 0x00, - 0x78, 0x03, 0xC0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x3F, 0x03, 0xC0, 0x1C, - 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x0F, 0xE0, 0x7E, 0x07, - 0xE0, 0x1E, 0x00, 0x0F, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xFF, 0xFC, 0xFF, - 0x3F, 0xFF, 0x0F, 0xF8, 0x03, 0xF8, 0x00, 0xF0 }; - -const GFXglyph FreeMonoBoldOblique18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' - { 0, 9, 22, 21, 9, -21 }, // 0x21 '!' - { 25, 12, 10, 21, 9, -20 }, // 0x22 '"' - { 40, 18, 25, 21, 4, -22 }, // 0x23 '#' - { 97, 18, 28, 21, 4, -23 }, // 0x24 '$' - { 160, 16, 21, 21, 5, -20 }, // 0x25 '%' - { 202, 16, 20, 21, 4, -19 }, // 0x26 '&' - { 242, 5, 10, 21, 12, -20 }, // 0x27 ''' - { 249, 10, 27, 21, 11, -21 }, // 0x28 '(' - { 283, 10, 27, 21, 4, -21 }, // 0x29 ')' - { 317, 15, 15, 21, 6, -21 }, // 0x2A '*' - { 346, 18, 19, 21, 4, -18 }, // 0x2B '+' - { 389, 9, 10, 21, 4, -3 }, // 0x2C ',' - { 401, 18, 4, 21, 4, -11 }, // 0x2D '-' - { 410, 5, 5, 21, 8, -4 }, // 0x2E '.' - { 414, 21, 28, 21, 2, -23 }, // 0x2F '/' - { 488, 17, 23, 21, 5, -22 }, // 0x30 '0' - { 537, 15, 22, 21, 3, -21 }, // 0x31 '1' - { 579, 20, 23, 21, 2, -22 }, // 0x32 '2' - { 637, 18, 23, 21, 3, -22 }, // 0x33 '3' - { 689, 16, 21, 21, 4, -20 }, // 0x34 '4' - { 731, 18, 22, 21, 4, -21 }, // 0x35 '5' - { 781, 19, 23, 21, 5, -22 }, // 0x36 '6' - { 836, 16, 22, 21, 6, -21 }, // 0x37 '7' - { 880, 19, 23, 21, 3, -22 }, // 0x38 '8' - { 935, 18, 23, 21, 4, -22 }, // 0x39 '9' - { 987, 7, 16, 21, 9, -15 }, // 0x3A ':' - { 1001, 11, 22, 21, 4, -15 }, // 0x3B ';' - { 1032, 18, 16, 21, 4, -17 }, // 0x3C '<' - { 1068, 19, 10, 21, 3, -14 }, // 0x3D '=' - { 1092, 19, 16, 21, 3, -17 }, // 0x3E '>' - { 1130, 14, 21, 21, 8, -20 }, // 0x3F '?' - { 1167, 18, 27, 21, 3, -21 }, // 0x40 '@' - { 1228, 22, 21, 21, 0, -20 }, // 0x41 'A' - { 1286, 21, 21, 21, 1, -20 }, // 0x42 'B' - { 1342, 21, 21, 21, 2, -20 }, // 0x43 'C' - { 1398, 21, 21, 21, 1, -20 }, // 0x44 'D' - { 1454, 22, 21, 21, 0, -20 }, // 0x45 'E' - { 1512, 23, 21, 21, 0, -20 }, // 0x46 'F' - { 1573, 21, 21, 21, 2, -20 }, // 0x47 'G' - { 1629, 23, 21, 21, 0, -20 }, // 0x48 'H' - { 1690, 19, 21, 21, 2, -20 }, // 0x49 'I' - { 1740, 23, 21, 21, 0, -20 }, // 0x4A 'J' - { 1801, 23, 21, 21, 0, -20 }, // 0x4B 'K' - { 1862, 20, 21, 21, 1, -20 }, // 0x4C 'L' - { 1915, 25, 21, 21, 0, -20 }, // 0x4D 'M' - { 1981, 24, 21, 21, 1, -20 }, // 0x4E 'N' - { 2044, 20, 21, 21, 2, -20 }, // 0x4F 'O' - { 2097, 21, 21, 21, 1, -20 }, // 0x50 'P' - { 2153, 20, 26, 21, 2, -20 }, // 0x51 'Q' - { 2218, 22, 21, 21, 0, -20 }, // 0x52 'R' - { 2276, 19, 21, 21, 3, -20 }, // 0x53 'S' - { 2326, 19, 21, 21, 3, -20 }, // 0x54 'T' - { 2376, 21, 21, 21, 3, -20 }, // 0x55 'U' - { 2432, 23, 21, 21, 1, -20 }, // 0x56 'V' - { 2493, 22, 21, 21, 2, -20 }, // 0x57 'W' - { 2551, 24, 21, 21, 0, -20 }, // 0x58 'X' - { 2614, 20, 21, 21, 3, -20 }, // 0x59 'Y' - { 2667, 19, 21, 21, 2, -20 }, // 0x5A 'Z' - { 2717, 13, 27, 21, 8, -21 }, // 0x5B '[' - { 2761, 10, 28, 21, 8, -23 }, // 0x5C '\' - { 2796, 13, 27, 21, 4, -21 }, // 0x5D ']' - { 2840, 15, 11, 21, 6, -21 }, // 0x5E '^' - { 2861, 21, 4, 21, -1, 4 }, // 0x5F '_' - { 2872, 6, 6, 21, 10, -22 }, // 0x60 '`' - { 2877, 19, 16, 21, 2, -15 }, // 0x61 'a' - { 2915, 22, 22, 21, 0, -21 }, // 0x62 'b' - { 2976, 19, 16, 21, 3, -15 }, // 0x63 'c' - { 3014, 21, 22, 21, 3, -21 }, // 0x64 'd' - { 3072, 18, 16, 21, 3, -15 }, // 0x65 'e' - { 3108, 21, 22, 21, 3, -21 }, // 0x66 'f' - { 3166, 21, 23, 21, 2, -15 }, // 0x67 'g' - { 3227, 20, 22, 21, 1, -21 }, // 0x68 'h' - { 3282, 16, 22, 21, 3, -21 }, // 0x69 'i' - { 3326, 18, 29, 21, 2, -21 }, // 0x6A 'j' - { 3392, 20, 22, 21, 1, -21 }, // 0x6B 'k' - { 3447, 16, 22, 21, 3, -21 }, // 0x6C 'l' - { 3491, 23, 16, 21, 0, -15 }, // 0x6D 'm' - { 3537, 21, 16, 21, 1, -15 }, // 0x6E 'n' - { 3579, 18, 16, 21, 3, -15 }, // 0x6F 'o' - { 3615, 23, 23, 21, -1, -15 }, // 0x70 'p' - { 3682, 22, 23, 21, 2, -15 }, // 0x71 'q' - { 3746, 20, 16, 21, 2, -15 }, // 0x72 'r' - { 3786, 16, 16, 21, 4, -15 }, // 0x73 's' - { 3818, 16, 21, 21, 4, -20 }, // 0x74 't' - { 3860, 18, 16, 21, 3, -15 }, // 0x75 'u' - { 3896, 21, 16, 21, 2, -15 }, // 0x76 'v' - { 3938, 21, 16, 21, 3, -15 }, // 0x77 'w' - { 3980, 21, 16, 21, 1, -15 }, // 0x78 'x' - { 4022, 24, 23, 21, -1, -15 }, // 0x79 'y' - { 4091, 18, 16, 21, 3, -15 }, // 0x7A 'z' - { 4127, 12, 27, 21, 8, -21 }, // 0x7B '{' - { 4168, 8, 27, 21, 8, -21 }, // 0x7C '|' - { 4195, 13, 27, 21, 4, -21 }, // 0x7D '}' - { 4239, 17, 8, 21, 4, -13 } }; // 0x7E '~' - -const GFXfont FreeMonoBoldOblique18pt7b PROGMEM = { - (uint8_t *)FreeMonoBoldOblique18pt7bBitmaps, - (GFXglyph *)FreeMonoBoldOblique18pt7bGlyphs, - 0x20, 0x7E, 35 }; - -// Approx. 4928 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h deleted file mode 100644 index a2bbbdf..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique24pt7b.h +++ /dev/null @@ -1,742 +0,0 @@ -const uint8_t FreeMonoBoldOblique24pt7bBitmaps[] PROGMEM = { - 0x01, 0xE0, 0x3F, 0x07, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xE0, 0xFE, - 0x0F, 0xE0, 0xFE, 0x0F, 0xC0, 0xFC, 0x1F, 0xC1, 0xF8, 0x1F, 0x81, 0xF8, - 0x1F, 0x81, 0xF0, 0x1F, 0x01, 0xF0, 0x1E, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x03, 0xC0, 0x7E, 0x0F, 0xE0, 0xFE, 0x0F, 0xC0, 0x78, 0x00, 0x7E, - 0x1F, 0xBF, 0x0F, 0xDF, 0x87, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF1, - 0xE0, 0xF8, 0xF0, 0x7C, 0x78, 0x3C, 0x38, 0x1E, 0x1C, 0x0F, 0x0E, 0x07, - 0x0E, 0x03, 0x83, 0x01, 0x80, 0x00, 0x1C, 0x1C, 0x00, 0x3E, 0x3E, 0x00, - 0x3E, 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, 0x00, - 0x7C, 0x7C, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x0F, - 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, - 0xFF, 0xFE, 0x03, 0xE3, 0xE0, 0x03, 0xE3, 0xE0, 0x03, 0xC3, 0xC0, 0x07, - 0xC7, 0xC0, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, - 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0x0F, 0x0F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, - 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x3E, 0x1E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, - 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x7C, 0x7C, 0x00, 0x38, 0x38, 0x00, 0x00, - 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0xFF, 0x00, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, - 0x01, 0xFF, 0xFF, 0x81, 0xFC, 0x1F, 0xC1, 0xF8, 0x03, 0xC0, 0xF8, 0x01, - 0xE0, 0x7C, 0x00, 0x40, 0x3F, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xFF, - 0x80, 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0x00, 0x00, - 0x7F, 0xC0, 0x00, 0x07, 0xE0, 0xE0, 0x01, 0xF0, 0xF0, 0x00, 0xF8, 0xF8, - 0x00, 0xFC, 0x7E, 0x00, 0xFC, 0x3F, 0x81, 0xFE, 0x1F, 0xFF, 0xFE, 0x0F, - 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x00, - 0x01, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xF8, - 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xE0, 0x03, 0xC3, 0xC0, 0x0E, 0x07, 0x00, - 0x70, 0x1C, 0x01, 0xC0, 0x70, 0x07, 0x01, 0xC0, 0x1C, 0x0E, 0x00, 0x78, - 0x78, 0x00, 0xFF, 0xC0, 0x03, 0xFE, 0x1F, 0x03, 0xE3, 0xFC, 0x00, 0x7F, - 0xC0, 0x0F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xC0, 0x03, 0xF8, 0x7C, 0x0F, - 0x07, 0xFC, 0x00, 0x3F, 0xF0, 0x01, 0xE1, 0xE0, 0x07, 0x03, 0x80, 0x38, - 0x0E, 0x00, 0xE0, 0x38, 0x03, 0x80, 0xE0, 0x0E, 0x07, 0x00, 0x3C, 0x3C, - 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, - 0x01, 0xFF, 0x80, 0x3F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFE, 0x01, 0xF1, - 0xE0, 0x1F, 0x04, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, - 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xE3, - 0xE7, 0xFF, 0x3F, 0x7E, 0xFF, 0xFB, 0xE7, 0xFF, 0x9E, 0x1F, 0xF1, 0xF0, - 0xFF, 0x8F, 0x83, 0xF8, 0x7C, 0x1F, 0xC3, 0xF0, 0xFF, 0x9F, 0xFF, 0xFC, - 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x0F, 0xFD, 0xF0, 0x1F, 0x80, 0x00, 0x7E, - 0xFD, 0xF3, 0xE7, 0xCF, 0x3E, 0x7C, 0xF1, 0xE3, 0xC7, 0x0E, 0x18, 0x00, - 0x00, 0x18, 0x00, 0xF0, 0x07, 0xC0, 0x3F, 0x01, 0xF8, 0x07, 0xC0, 0x3E, - 0x01, 0xF8, 0x07, 0xC0, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0xF8, - 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x3E, 0x00, 0xF8, - 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, - 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x80, 0x7E, 0x00, 0xFC, 0x03, - 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x00, 0xC0, 0x07, 0x80, 0x3F, 0x00, 0xFC, - 0x03, 0xF0, 0x07, 0xE0, 0x1F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xF0, 0x07, - 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, - 0xF0, 0x07, 0xC0, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, - 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, - 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x00, 0xF0, 0x00, 0x00, 0x3C, - 0x00, 0x01, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x08, - 0x3C, 0x09, 0xF9, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, - 0x87, 0xFF, 0xE0, 0x07, 0xF8, 0x00, 0x7F, 0xC0, 0x07, 0xFF, 0x00, 0x7F, - 0xF8, 0x07, 0xE7, 0xE0, 0x3E, 0x3F, 0x01, 0xE0, 0xF8, 0x0E, 0x07, 0x80, - 0x00, 0x07, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x7C, 0x00, - 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xF0, 0x00, - 0x01, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xFC, - 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xE0, 0x3C, 0x07, 0x80, 0x78, 0x0F, 0x00, - 0xE0, 0x0C, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3C, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, - 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, - 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, - 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xE0, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x01, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, - 0xE0, 0x7F, 0xFF, 0xC0, 0xFC, 0x1F, 0x83, 0xF0, 0x1F, 0x8F, 0xC0, 0x1F, - 0x1F, 0x00, 0x3E, 0x7C, 0x00, 0x7C, 0xF8, 0x00, 0xF9, 0xF0, 0x01, 0xF3, - 0xC0, 0x07, 0xCF, 0x80, 0x0F, 0x9F, 0x00, 0x1E, 0x3E, 0x00, 0x3C, 0x78, - 0x00, 0xF8, 0xF0, 0x01, 0xF3, 0xE0, 0x03, 0xE7, 0xC0, 0x07, 0x8F, 0x80, - 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0x7C, 0x01, 0xF0, 0xFC, 0x07, - 0xC1, 0xFC, 0x3F, 0x81, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, - 0x03, 0xFF, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x7E, - 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xFB, 0xE0, 0x1F, - 0x9E, 0x00, 0xF1, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, - 0x00, 0x1E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, - 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, - 0x03, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, - 0x01, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, - 0xFF, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x03, 0xFF, 0xF0, - 0x01, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x80, 0x7F, 0x07, 0xF0, 0x1F, 0x00, - 0xFC, 0x0F, 0x80, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF0, 0x01, 0xF0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF8, - 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x70, 0x3F, 0x80, 0x3E, 0x1F, - 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC, - 0x3F, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xFE, 0x00, 0x1F, - 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x0F, 0x81, 0xFC, 0x07, - 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x0F, 0xC0, - 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xC0, 0x01, 0xFF, 0xC0, 0x01, 0xFF, 0xC0, - 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x1F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, - 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x3C, 0x01, - 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, - 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x07, 0xF0, 0x00, - 0x3F, 0xC0, 0x01, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xE0, 0x03, 0xFF, - 0x80, 0x1F, 0xBE, 0x00, 0x7C, 0xF0, 0x03, 0xE7, 0xC0, 0x1F, 0x1F, 0x00, - 0xF8, 0x7C, 0x07, 0xE1, 0xE0, 0x3F, 0x07, 0x81, 0xF8, 0x3E, 0x07, 0xC0, - 0xF8, 0x3E, 0x03, 0xC1, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, - 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0x80, 0x00, 0xF8, 0x00, 0x3F, 0xF8, 0x01, - 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x7F, 0xF0, 0x01, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, 0x3F, - 0xFF, 0xE0, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, - 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF7, 0xF0, 0x00, 0xFF, 0xFE, 0x00, - 0x7F, 0xFF, 0x80, 0x3F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x0F, 0x01, 0xFC, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, - 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0xF8, 0x3C, 0x03, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, - 0xFC, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0x00, - 0x01, 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, - 0xFF, 0xFE, 0x01, 0xFE, 0x1C, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x0F, - 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x3E, - 0xFF, 0x80, 0x7D, 0xFF, 0xC0, 0x7F, 0xFF, 0xE0, 0x7F, 0xFF, 0xE0, 0x7F, - 0x87, 0xF0, 0xFF, 0x03, 0xF0, 0xFC, 0x01, 0xF0, 0xF8, 0x01, 0xF0, 0xF8, - 0x01, 0xF0, 0xF8, 0x01, 0xF0, 0xF8, 0x03, 0xE0, 0xF8, 0x03, 0xE0, 0xFC, - 0x07, 0xC0, 0xFE, 0x0F, 0xC0, 0x7F, 0xFF, 0x80, 0x7F, 0xFF, 0x00, 0x3F, - 0xFE, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xFF, 0xFD, 0xFF, - 0xFF, 0xE7, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFB, 0xE0, 0x07, - 0xCF, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, - 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x01, - 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, - 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x00, - 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, - 0x00, 0x1F, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0xFF, - 0xE0, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0, 0x7F, 0xFF, 0xC0, 0xFC, 0x1F, - 0xC3, 0xF0, 0x1F, 0x8F, 0xC0, 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0x7C, - 0x7C, 0x01, 0xF0, 0xFC, 0x07, 0xE0, 0xFC, 0x1F, 0x81, 0xFF, 0xFE, 0x01, - 0xFF, 0xF0, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xE0, 0xFE, - 0x0F, 0xC3, 0xF0, 0x0F, 0xC7, 0xC0, 0x0F, 0x9F, 0x00, 0x1F, 0x3E, 0x00, - 0x3E, 0x7C, 0x00, 0xFC, 0xFC, 0x03, 0xF1, 0xFC, 0x1F, 0xE3, 0xFF, 0xFF, - 0x83, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x01, 0xFC, 0x00, - 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xFC, 0x01, 0xFF, - 0xFE, 0x03, 0xFF, 0xFE, 0x03, 0xF0, 0x7F, 0x07, 0xE0, 0x3F, 0x07, 0xC0, - 0x1F, 0x0F, 0xC0, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, - 0x3F, 0x0F, 0xC0, 0x7F, 0x0F, 0xE1, 0xFF, 0x07, 0xFF, 0xFE, 0x07, 0xFF, - 0xFE, 0x03, 0xFF, 0xBE, 0x01, 0xFF, 0x7C, 0x00, 0xFC, 0x7C, 0x00, 0x00, - 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x0F, - 0xE0, 0x00, 0x1F, 0xC0, 0x38, 0x7F, 0x80, 0x7F, 0xFF, 0x00, 0xFF, 0xFE, - 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0x07, 0x83, - 0xF1, 0xFC, 0x7F, 0x1F, 0x83, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x1F, 0x8F, 0xE3, 0xF8, 0xFC, - 0x1E, 0x00, 0x00, 0x3C, 0x00, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xC0, - 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x03, 0xE0, 0x0F, 0xC0, - 0x1F, 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x38, - 0x00, 0xF0, 0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x03, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, - 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x0F, - 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, - 0x3F, 0xE0, 0x00, 0x0F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0xE0, - 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, - 0x80, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, - 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, - 0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x80, 0x00, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, - 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x7F, - 0xE0, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x07, 0xFC, - 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0x80, - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x01, 0xFF, - 0xE1, 0xFF, 0xFE, 0x3F, 0xFF, 0xE7, 0xFF, 0xFF, 0xF8, 0x1F, 0xFE, 0x00, - 0xFF, 0x80, 0x1F, 0xF0, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, - 0xE0, 0x07, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xC0, 0x0F, 0xE0, - 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0x00, 0x3F, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, - 0x3F, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xF0, 0x01, - 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xC1, 0xE0, - 0x07, 0x87, 0xC0, 0x0F, 0x0F, 0x00, 0x1C, 0x3C, 0x00, 0x78, 0x78, 0x07, - 0xF1, 0xE0, 0x3F, 0xE3, 0xC1, 0xFF, 0x87, 0x87, 0xFF, 0x0E, 0x1F, 0x9E, - 0x3C, 0x7C, 0x3C, 0x78, 0xF0, 0x78, 0xF3, 0xC0, 0xE1, 0xC7, 0x83, 0xC3, - 0x8F, 0x07, 0x8F, 0x1E, 0x0F, 0x1E, 0x3E, 0x1C, 0x3C, 0x7F, 0xFC, 0x78, - 0x7F, 0xFC, 0xF0, 0x7F, 0xF1, 0xE0, 0x3F, 0xE3, 0xC0, 0x00, 0x07, 0x80, - 0x00, 0x0F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3F, 0x01, - 0xC0, 0x7F, 0xFF, 0x80, 0x7F, 0xFE, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0x80, - 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xE0, - 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, - 0x00, 0x7F, 0xF0, 0x00, 0x01, 0xE7, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, - 0x7C, 0x7C, 0x00, 0x01, 0xE1, 0xF8, 0x00, 0x0F, 0x87, 0xE0, 0x00, 0x7C, - 0x0F, 0x80, 0x01, 0xF0, 0x3E, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x3F, 0xFF, - 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, - 0x01, 0xFF, 0xFF, 0xF8, 0x0F, 0xC0, 0x07, 0xE0, 0x3E, 0x00, 0x0F, 0x87, - 0xFF, 0x03, 0xFF, 0xBF, 0xFC, 0x1F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, - 0xC1, 0xFF, 0xEF, 0xFE, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x3F, - 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, - 0xFF, 0x80, 0x7C, 0x00, 0xFC, 0x03, 0xE0, 0x03, 0xE0, 0x1E, 0x00, 0x1F, - 0x01, 0xF0, 0x00, 0xF8, 0x0F, 0x80, 0x0F, 0x80, 0x7C, 0x01, 0xF8, 0x03, - 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, - 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x03, 0xC0, 0x0F, 0xF0, 0x3E, 0x00, 0x1F, - 0x81, 0xF0, 0x00, 0x7C, 0x0F, 0x80, 0x03, 0xE0, 0x78, 0x00, 0x1F, 0x03, - 0xC0, 0x03, 0xF1, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, - 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xF0, - 0x00, 0x03, 0xFF, 0xE6, 0x00, 0x7F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0x03, - 0xFF, 0xFF, 0xF0, 0x7F, 0x81, 0xFF, 0x0F, 0xE0, 0x07, 0xE1, 0xF8, 0x00, - 0x3E, 0x1F, 0x00, 0x03, 0xE3, 0xF0, 0x00, 0x3C, 0x3E, 0x00, 0x03, 0xC7, - 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xC0, - 0x00, 0x70, 0x7E, 0x00, 0x1F, 0x07, 0xF8, 0x07, 0xF0, 0x3F, 0xFF, 0xFF, - 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, 0x07, 0xFF, - 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0x00, 0xFE, - 0x01, 0xF0, 0x07, 0xE0, 0x1E, 0x00, 0x3F, 0x01, 0xE0, 0x01, 0xF0, 0x3E, - 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x03, 0xC0, 0x01, - 0xF0, 0x7C, 0x00, 0x1F, 0x07, 0xC0, 0x03, 0xF0, 0x7C, 0x00, 0x3E, 0x07, - 0x80, 0x03, 0xE0, 0x78, 0x00, 0x7E, 0x0F, 0x80, 0x07, 0xC0, 0xF8, 0x00, - 0xFC, 0x0F, 0x80, 0x1F, 0x80, 0xF0, 0x07, 0xF0, 0x7F, 0xFF, 0xFE, 0x07, - 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, - 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, - 0xFE, 0x1F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x00, 0x78, 0x00, 0xF8, - 0x07, 0xC0, 0x07, 0xC0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0xF1, 0xE0, 0x0F, - 0x0F, 0x8E, 0x00, 0x78, 0x7C, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x3F, 0xFE, - 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0xFF, 0xFC, 0x00, - 0x07, 0xC3, 0xC0, 0x00, 0x3E, 0x1E, 0x1E, 0x01, 0xE0, 0xE0, 0xF0, 0x0F, - 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x7C, 0x07, 0xC0, 0x03, 0xE1, 0xFF, 0xFF, - 0xFE, 0x1F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFC, - 0x3F, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF8, - 0x1F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xC0, - 0x1F, 0x00, 0x0F, 0x80, 0x3E, 0x00, 0x1E, 0x00, 0x78, 0x00, 0x7C, 0x00, - 0xF0, 0x70, 0xF8, 0x03, 0xE1, 0xF0, 0xE0, 0x07, 0xC3, 0xC0, 0x00, 0x0F, - 0xFF, 0x80, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, - 0xFC, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x03, 0xC3, 0xE0, 0x00, 0x07, 0x87, - 0xC0, 0x00, 0x1F, 0x07, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0x80, - 0x00, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xF8, 0x00, - 0x00, 0x00, 0x07, 0xF8, 0x60, 0x03, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, - 0x1F, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xE0, 0x7F, 0x80, 0xFE, 0x0F, 0xE0, - 0x03, 0xE0, 0xF8, 0x00, 0x3C, 0x1F, 0x00, 0x03, 0xC3, 0xF0, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x7F, 0xFC, 0xF8, 0x0F, 0xFF, - 0xEF, 0x80, 0xFF, 0xFE, 0xF8, 0x0F, 0xFF, 0xCF, 0x80, 0x7F, 0xF8, 0xF8, - 0x00, 0x1F, 0x0F, 0xC0, 0x01, 0xF0, 0xFE, 0x00, 0x1F, 0x07, 0xF8, 0x07, - 0xE0, 0x7F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFC, 0x00, - 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0x0F, 0xF8, 0x0F, - 0xFC, 0x7F, 0xF0, 0x7F, 0xF1, 0xFF, 0xC1, 0xFF, 0xC7, 0xFE, 0x03, 0xFE, - 0x1F, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, - 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, - 0x00, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFE, 0x00, - 0x7F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x07, 0x80, 0x1F, 0x00, 0x1E, - 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, - 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x07, 0xFE, 0x1F, 0xF8, 0x3F, 0xF8, 0xFF, - 0xF0, 0xFF, 0xE3, 0xFF, 0xC3, 0xFF, 0x8F, 0xFE, 0x0F, 0xFC, 0x3F, 0xF8, - 0x00, 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, - 0xFF, 0xF0, 0x7F, 0xFF, 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, - 0x03, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0xC0, 0x01, 0xFF, 0xFF, - 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, - 0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x3F, - 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x01, - 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xF8, - 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x07, 0x00, 0x0F, 0x80, - 0x1F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x78, 0x00, 0x78, 0x01, - 0xF0, 0x01, 0xF0, 0x03, 0xE0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x0F, - 0x80, 0x3F, 0x00, 0x1F, 0xC0, 0xFC, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, - 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xC3, 0xFE, 0x0F, 0xFF, 0x8F, 0xFC, 0x1F, - 0xFF, 0x3F, 0xF8, 0x3F, 0xFE, 0x7F, 0xF0, 0x7F, 0xF8, 0x7F, 0xC0, 0x1F, - 0x01, 0xFC, 0x00, 0x3E, 0x07, 0xF0, 0x00, 0x78, 0x3F, 0x80, 0x01, 0xF0, - 0xFE, 0x00, 0x03, 0xE3, 0xF0, 0x00, 0x07, 0xDF, 0xC0, 0x00, 0x0F, 0xFE, - 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0xFE, - 0x00, 0x01, 0xFC, 0xFC, 0x00, 0x03, 0xE0, 0xFC, 0x00, 0x0F, 0x81, 0xF8, - 0x00, 0x1F, 0x01, 0xF8, 0x00, 0x3E, 0x03, 0xF0, 0x00, 0x78, 0x03, 0xE0, - 0x00, 0xF0, 0x07, 0xE0, 0x1F, 0xFE, 0x0F, 0xF8, 0x7F, 0xFC, 0x1F, 0xF8, - 0xFF, 0xF8, 0x1F, 0xF1, 0xFF, 0xF0, 0x3F, 0xE1, 0xFF, 0xC0, 0x7F, 0x80, - 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x03, 0xFF, - 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x01, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x0E, 0x00, 0xF0, 0x01, 0xE0, 0x3E, 0x00, - 0x7C, 0x07, 0xC0, 0x0F, 0x80, 0xF8, 0x01, 0xF0, 0x1E, 0x00, 0x7C, 0x07, - 0xC0, 0x0F, 0x9F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, - 0x9F, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x3F, - 0xC1, 0xFF, 0x00, 0x1F, 0xF0, 0x7F, 0xC0, 0x07, 0xFC, 0x1F, 0xF0, 0x03, - 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0x3F, 0xE0, - 0x3F, 0xE0, 0x0F, 0xF8, 0x1F, 0xF0, 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0xF7, - 0xC3, 0xFF, 0x00, 0x7D, 0xF1, 0xF7, 0xC0, 0x1F, 0x7C, 0xFD, 0xF0, 0x07, - 0xDF, 0xBE, 0x78, 0x01, 0xE3, 0xFF, 0x3E, 0x00, 0x78, 0xFF, 0xCF, 0x80, - 0x3E, 0x3F, 0xE3, 0xE0, 0x0F, 0x87, 0xF0, 0xF8, 0x03, 0xE1, 0xFC, 0x3C, - 0x00, 0xF0, 0x7E, 0x1F, 0x00, 0x7C, 0x1F, 0x07, 0xC0, 0x1F, 0x00, 0x01, - 0xF0, 0x07, 0xC0, 0x00, 0x78, 0x07, 0xFE, 0x01, 0xFF, 0x83, 0xFF, 0xC0, - 0xFF, 0xF0, 0xFF, 0xF0, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xFE, 0x0F, 0xFC, - 0x03, 0xFF, 0x00, 0x07, 0xF8, 0x07, 0xFF, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, - 0xFC, 0x0F, 0xFF, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFE, 0x0F, 0xFE, 0x01, - 0xFE, 0x00, 0xF8, 0x01, 0xFF, 0x00, 0xF0, 0x01, 0xFF, 0x01, 0xF0, 0x03, - 0xFF, 0x81, 0xF0, 0x03, 0xFF, 0x81, 0xF0, 0x03, 0xEF, 0xC1, 0xF0, 0x03, - 0xCF, 0xC1, 0xE0, 0x07, 0xC7, 0xE3, 0xE0, 0x07, 0xC7, 0xE3, 0xE0, 0x07, - 0xC3, 0xF3, 0xE0, 0x07, 0xC3, 0xF3, 0xC0, 0x07, 0x81, 0xF7, 0xC0, 0x0F, - 0x81, 0xFF, 0xC0, 0x0F, 0x80, 0xFF, 0xC0, 0x0F, 0x80, 0xFF, 0xC0, 0x0F, - 0x00, 0xFF, 0x80, 0x0F, 0x00, 0x7F, 0x80, 0x7F, 0xF0, 0x7F, 0x80, 0xFF, - 0xF0, 0x3F, 0x80, 0xFF, 0xF0, 0x3F, 0x00, 0xFF, 0xF0, 0x1F, 0x00, 0x7F, - 0xE0, 0x1F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, - 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x0F, 0xF0, 0x7F, 0x83, - 0xF8, 0x03, 0xF0, 0xFC, 0x00, 0x7E, 0x1F, 0x00, 0x07, 0xE7, 0xE0, 0x00, - 0x7C, 0xF8, 0x00, 0x0F, 0xBE, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x3E, 0xF0, - 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3E, 0xF8, 0x00, 0x07, - 0xDF, 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x3E, 0x7C, 0x00, 0x0F, 0xCF, 0xC0, - 0x01, 0xF0, 0xF8, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x83, 0xFC, 0x1F, 0xE0, - 0x3F, 0xFF, 0xF8, 0x03, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0x00, 0x03, 0xFF, - 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF8, - 0x07, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xF0, 0x0F, - 0x80, 0x7F, 0x00, 0xF8, 0x01, 0xF0, 0x0F, 0x00, 0x1F, 0x01, 0xF0, 0x01, - 0xF0, 0x1F, 0x00, 0x1F, 0x01, 0xF0, 0x03, 0xE0, 0x1E, 0x00, 0x7E, 0x01, - 0xE0, 0x0F, 0xC0, 0x3F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, - 0xE0, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7F, 0xFF, - 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF0, 0x00, - 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xFF, 0x80, 0x03, - 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x0F, 0xF0, 0x7F, - 0x83, 0xF8, 0x03, 0xF0, 0xFC, 0x00, 0x3F, 0x1F, 0x00, 0x07, 0xE7, 0xC0, - 0x00, 0x7D, 0xF8, 0x00, 0x0F, 0xBE, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x3F, - 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3E, 0xF8, 0x00, - 0x07, 0xDF, 0x00, 0x01, 0xFB, 0xE0, 0x00, 0x3E, 0x7E, 0x00, 0x0F, 0x8F, - 0xC0, 0x03, 0xF0, 0xFC, 0x01, 0xFC, 0x1F, 0xE0, 0xFF, 0x01, 0xFF, 0xFF, - 0xC0, 0x1F, 0xFF, 0xF0, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0xFE, 0x00, 0x01, - 0xFE, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1F, 0xF8, 0x38, 0x0F, 0xFF, 0xFF, - 0x81, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x00, 0xF0, - 0x1F, 0x80, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, - 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x00, 0x7C, 0x03, - 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x1E, 0x00, 0x3E, 0x00, 0xF0, 0x01, 0xF0, - 0x0F, 0x80, 0x1F, 0x80, 0x7C, 0x01, 0xF8, 0x03, 0xE0, 0x3F, 0x80, 0x1F, - 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, - 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x1E, 0x07, 0xF0, 0x01, 0xF0, 0x1F, 0xC0, - 0x0F, 0x80, 0x7E, 0x00, 0x7C, 0x03, 0xF8, 0x03, 0xC0, 0x0F, 0xC0, 0xFF, - 0xE0, 0x7F, 0xCF, 0xFF, 0x01, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, - 0x3F, 0xDF, 0xFC, 0x01, 0xFC, 0x00, 0x0F, 0xE1, 0x80, 0x0F, 0xFF, 0xF0, - 0x0F, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xC1, 0xFC, 0x0F, - 0xE0, 0x7C, 0x01, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x03, 0xE0, - 0x03, 0xC0, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFF, 0x80, 0x01, - 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFE, - 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0xF8, 0xF8, 0x00, - 0x3E, 0x3E, 0x00, 0x1F, 0x8F, 0xC0, 0x0F, 0xC3, 0xFC, 0x0F, 0xF0, 0xFF, - 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x03, 0x9F, 0xFE, 0x00, - 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF7, 0xFF, - 0xFF, 0xFD, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x9F, 0x07, 0x83, 0xE7, - 0x83, 0xE0, 0xFB, 0xE0, 0xF8, 0x3E, 0xF8, 0x3E, 0x0F, 0x3E, 0x0F, 0x07, - 0xCF, 0x07, 0xC1, 0xF3, 0x81, 0xF0, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, - 0x00, 0x7C, 0x00, 0x07, 0xFF, 0xF8, 0x01, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, - 0x80, 0x3F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xF0, 0x7F, 0xE7, - 0xFF, 0x8F, 0xFF, 0x7F, 0xF9, 0xFF, 0xF7, 0xFF, 0x1F, 0xFE, 0x7F, 0xF0, - 0xFF, 0xC1, 0xE0, 0x01, 0xF0, 0x1E, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, - 0x3E, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xE0, 0x3C, 0x00, 0x3E, 0x07, 0xC0, - 0x03, 0xE0, 0x7C, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xC0, 0x7C, 0x00, 0x3C, - 0x07, 0x80, 0x07, 0xC0, 0xF8, 0x00, 0x7C, 0x0F, 0x80, 0x07, 0xC0, 0xF8, - 0x00, 0x78, 0x0F, 0x80, 0x0F, 0x80, 0xFC, 0x01, 0xF8, 0x0F, 0xC0, 0x3F, - 0x00, 0xFF, 0x07, 0xE0, 0x07, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xC0, 0x03, - 0xFF, 0xF0, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x7F, 0xF0, - 0x1F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFC, 0x0F, - 0xFF, 0x7F, 0xE0, 0x3F, 0xF8, 0x7C, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0xF8, - 0x07, 0xC0, 0x03, 0xE0, 0x1F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x00, - 0xF8, 0x03, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x0F, 0xC0, 0xFC, 0x00, 0x1F, - 0x03, 0xE0, 0x00, 0x7C, 0x1F, 0x00, 0x01, 0xF0, 0xFC, 0x00, 0x07, 0xC3, - 0xE0, 0x00, 0x1F, 0x9F, 0x00, 0x00, 0x3E, 0xFC, 0x00, 0x00, 0xFB, 0xE0, - 0x00, 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, - 0x00, 0x7F, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x7F, 0xF0, 0x3F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, - 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0x1E, 0x00, - 0x01, 0xE0, 0xF0, 0x7C, 0x1F, 0x0F, 0x87, 0xE0, 0xF0, 0x7C, 0x3F, 0x0F, - 0x83, 0xE3, 0xF8, 0x7C, 0x1F, 0x1F, 0xE3, 0xC0, 0xF9, 0xFF, 0x3E, 0x07, - 0xCF, 0xF9, 0xF0, 0x3E, 0xFF, 0xCF, 0x01, 0xF7, 0xBE, 0xF8, 0x0F, 0xFD, - 0xF7, 0xC0, 0x7B, 0xCF, 0xFC, 0x03, 0xFE, 0x7F, 0xE0, 0x3F, 0xE3, 0xFF, - 0x01, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0x7F, 0x80, 0x7F, 0x83, 0xFC, 0x03, - 0xF8, 0x1F, 0xC0, 0x1F, 0xC0, 0xFE, 0x00, 0xFC, 0x07, 0xF0, 0x07, 0xE0, - 0x3F, 0x00, 0x3E, 0x01, 0xF8, 0x00, 0x01, 0xFE, 0x03, 0xFE, 0x03, 0xFF, - 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFE, 0x07, 0xFE, 0x03, 0xFC, - 0x03, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x00, 0xFE, 0x07, 0xE0, 0x00, 0x7E, - 0x1F, 0xC0, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x1F, - 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, - 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, - 0xF8, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x01, 0xF8, 0x7E, 0x00, 0x03, 0xF0, - 0x7E, 0x00, 0x07, 0xE0, 0x3F, 0x00, 0x0F, 0xC0, 0x1F, 0x80, 0x7F, 0xE0, - 0x7F, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, - 0xFF, 0xE0, 0x7F, 0xC0, 0xFF, 0xC0, 0x7F, 0xC0, 0x7F, 0xFF, 0xF0, 0x3F, - 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0x80, 0xFF, 0x87, 0xC0, - 0x1F, 0x01, 0xF8, 0x0F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, 0xC3, 0xE0, 0x01, - 0xF1, 0xF0, 0x00, 0x7E, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFE, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF0, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x78, 0x00, 0x07, 0xFF, 0xF0, 0x03, 0xFF, 0xFE, 0x00, - 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0x01, 0xFF, - 0xFF, 0xC0, 0x3F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xE0, - 0x3F, 0xFF, 0xFC, 0x07, 0xC0, 0x3F, 0x00, 0xF8, 0x0F, 0xC0, 0x1F, 0x03, - 0xF0, 0x03, 0xC0, 0xFC, 0x00, 0xF8, 0x3F, 0x00, 0x0E, 0x0F, 0xC0, 0x00, - 0x03, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x80, - 0x00, 0x07, 0xE0, 0x00, 0x01, 0xF8, 0x0E, 0x00, 0x7E, 0x03, 0xE0, 0x1F, - 0x80, 0x7C, 0x07, 0xE0, 0x0F, 0x01, 0xF8, 0x03, 0xE0, 0x7E, 0x00, 0x7C, - 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, - 0xFF, 0x81, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x0F, - 0xFC, 0x07, 0xFF, 0x01, 0xFF, 0x80, 0x7C, 0x00, 0x1E, 0x00, 0x07, 0x80, - 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, - 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF8, - 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x1F, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, - 0x80, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, - 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x00, 0x20, 0x03, 0xC0, 0x3E, 0x01, 0xF0, - 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x0F, 0x80, - 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x03, - 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x03, 0xE0, 0x1F, - 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0xF8, - 0x07, 0xC0, 0x3E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x00, 0xFF, 0xC0, 0x7F, - 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x03, 0xE0, 0x00, 0xF0, - 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, - 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, - 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x80, - 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, - 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x7F, 0xE0, 0x3F, 0xF8, - 0x0F, 0xFC, 0x03, 0xFF, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x08, 0x00, 0x01, - 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x1F, 0xF0, 0x03, - 0xFF, 0x80, 0xFF, 0xF8, 0x1F, 0xCF, 0xC3, 0xF8, 0xFE, 0x7E, 0x07, 0xEF, - 0xC0, 0x3F, 0xF8, 0x03, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0xE0, 0x7F, 0xFF, - 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xEF, 0xFF, 0xFF, 0xFF, 0x00, 0x60, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, - 0x06, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x07, 0xFF, - 0xFE, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x3E, 0x00, 0x7F, 0xFE, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, - 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, 0x00, 0x78, 0x7C, 0x00, 0x78, 0xF8, 0x00, - 0xF8, 0xF8, 0x03, 0xF8, 0xFC, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, - 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFD, 0xFE, 0x0F, 0xE0, 0x00, 0x03, 0xFC, - 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0xF0, 0xFE, 0x00, 0x0F, 0xBF, 0xFC, 0x00, 0x7F, - 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF, 0x00, 0xFF, 0x03, - 0xF8, 0x0F, 0xE0, 0x07, 0xE0, 0x7E, 0x00, 0x3F, 0x03, 0xE0, 0x00, 0xF8, - 0x1F, 0x00, 0x07, 0xC0, 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x01, 0xF0, 0x7C, - 0x00, 0x1F, 0x03, 0xE0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0xC0, 0xFC, 0x00, - 0x7C, 0x0F, 0xE0, 0x07, 0xE3, 0xFF, 0xC0, 0xFE, 0x3F, 0xFF, 0xFF, 0xE1, - 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0x9F, 0xFC, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x1F, 0xE3, 0x80, 0x7F, 0xFF, 0xC0, 0x7F, 0xFF, - 0xE0, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0x01, 0xFC, 0x7E, 0x00, - 0x7C, 0x7E, 0x00, 0x3E, 0x3E, 0x00, 0x0E, 0x3E, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, - 0x00, 0x01, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x0C, 0x7F, 0x80, 0x3F, 0x1F, - 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x00, - 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, - 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x3F, 0x87, 0xC0, 0x0F, - 0xFF, 0x7C, 0x03, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, - 0x81, 0xFC, 0x0F, 0xF8, 0x3F, 0x00, 0x3F, 0x83, 0xE0, 0x01, 0xF0, 0x7C, - 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x0F, 0x80, 0x01, - 0xF0, 0xF8, 0x00, 0x1E, 0x0F, 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x3E, 0x0F, - 0xC0, 0x07, 0xE0, 0xFC, 0x00, 0xFE, 0x07, 0xF0, 0x3F, 0xF8, 0x7F, 0xFF, - 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xC0, 0xFF, 0xE7, 0xF8, - 0x03, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xF0, 0x03, 0xFF, - 0xF8, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x1F, 0xE0, 0x7E, 0x3F, 0x80, - 0x1F, 0x3F, 0x00, 0x0F, 0x7E, 0x00, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, - 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x1C, 0x7F, 0x01, 0xFE, 0x7F, 0xFF, - 0xFE, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x03, 0xFF, - 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xF0, - 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x01, 0xF0, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7F, 0xFF, 0xF0, - 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, - 0xFF, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, - 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x3F, - 0x80, 0x00, 0x0F, 0xFE, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, - 0x0F, 0xFF, 0xFF, 0xF1, 0xFC, 0x1F, 0xFE, 0x3F, 0x80, 0x7F, 0x03, 0xE0, - 0x03, 0xF0, 0x7E, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xE0, 0xF8, 0x00, 0x3E, - 0x0F, 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x3E, 0x0F, 0x80, 0x03, 0xC0, 0xF8, - 0x00, 0x7C, 0x0F, 0xC0, 0x0F, 0xC0, 0xFC, 0x01, 0xFC, 0x07, 0xF0, 0x7F, - 0x80, 0x7F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF8, 0x00, - 0xFF, 0xEF, 0x80, 0x03, 0xF0, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, - 0xF0, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xFF, 0xE0, 0x03, 0xFF, 0xFC, 0x00, - 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x03, - 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, - 0x07, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0x01, 0xF1, 0xF8, 0x00, 0x79, 0xFF, 0x80, 0x1E, 0xFF, 0xF0, 0x0F, - 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xF8, - 0x1F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, 0x81, 0xF0, 0x03, 0xC0, 0x7C, 0x00, - 0xF0, 0x1E, 0x00, 0x7C, 0x0F, 0x80, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF8, - 0x01, 0xE0, 0x3C, 0x00, 0xF8, 0x0F, 0x00, 0x3E, 0x1F, 0xF8, 0x3F, 0xEF, - 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x3F, - 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x3E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x1F, 0xFC, 0x00, - 0x3F, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, - 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, - 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x3F, 0xFF, - 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, - 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x07, - 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0xFF, 0xFE, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, - 0x3F, 0xFF, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, 0x00, - 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF8, 0x00, 0x01, - 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, - 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xC0, 0x0F, - 0xFC, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0xC0, - 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, - 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x3C, 0x3F, 0xF0, - 0x1F, 0x1F, 0xFC, 0x07, 0xC7, 0xFF, 0x01, 0xF1, 0xFF, 0xC0, 0x78, 0x7F, - 0xE0, 0x1E, 0x7F, 0x80, 0x0F, 0xBF, 0x80, 0x03, 0xFF, 0xC0, 0x00, 0xFF, - 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xFC, 0x00, 0x07, 0xFF, 0x80, 0x01, - 0xF7, 0xF0, 0x00, 0x7C, 0xFE, 0x00, 0x1E, 0x1F, 0xC0, 0x0F, 0x83, 0xF8, - 0x1F, 0xE0, 0xFF, 0xEF, 0xF8, 0x3F, 0xFB, 0xFE, 0x1F, 0xFE, 0xFF, 0x07, - 0xFF, 0x9F, 0xC0, 0xFF, 0xC0, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xC0, 0x03, - 0xFF, 0x80, 0x07, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, - 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, - 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, - 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x7F, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0x81, 0xE0, - 0x3F, 0xBF, 0x9F, 0xE1, 0xFF, 0xFE, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0x1F, - 0xFF, 0xFF, 0xFC, 0x7F, 0xC7, 0xF1, 0xF0, 0x7E, 0x1F, 0x87, 0xC1, 0xF0, - 0x7C, 0x1F, 0x07, 0x81, 0xE0, 0x7C, 0x1E, 0x0F, 0x81, 0xE0, 0xF8, 0x3E, - 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3C, 0x0F, 0x03, - 0xC1, 0xF0, 0x7C, 0x0F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF1, - 0xFE, 0x1F, 0x87, 0xEF, 0xFC, 0x7F, 0x1F, 0xFF, 0xF3, 0xFC, 0x7F, 0xFF, - 0xCF, 0xF3, 0xFF, 0xFE, 0x3F, 0x8F, 0xE0, 0x00, 0x01, 0xF8, 0x01, 0xF9, - 0xFF, 0x80, 0xFE, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x83, - 0xFF, 0x07, 0xE0, 0x3F, 0x00, 0xF8, 0x1F, 0x80, 0x3E, 0x07, 0xC0, 0x0F, - 0x81, 0xF0, 0x03, 0xC0, 0x7C, 0x00, 0xF0, 0x1E, 0x00, 0x7C, 0x0F, 0x80, - 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0xF8, 0x01, 0xE0, 0x3C, 0x00, 0xF8, 0x0F, - 0x00, 0x3E, 0x1F, 0xF8, 0x3F, 0xEF, 0xFE, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, - 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x3F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, - 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0xFF, - 0x03, 0xF8, 0xFE, 0x00, 0xFE, 0x7C, 0x00, 0x3F, 0x7C, 0x00, 0x0F, 0xBE, - 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, - 0xC0, 0x00, 0xFB, 0xE0, 0x00, 0xFD, 0xF8, 0x00, 0x7C, 0xFE, 0x00, 0xFE, - 0x3F, 0x81, 0xFE, 0x1F, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, - 0x00, 0x7F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x07, - 0xF9, 0xFF, 0xC0, 0x1F, 0xF7, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xC0, 0x7F, - 0xFF, 0xFF, 0xC0, 0x7F, 0xF0, 0x3F, 0x80, 0x3F, 0x80, 0x1F, 0x80, 0x7E, - 0x00, 0x3F, 0x00, 0xF8, 0x00, 0x3E, 0x01, 0xF0, 0x00, 0x7C, 0x03, 0xC0, - 0x00, 0xF8, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x00, 0x07, 0xE0, 0x3E, 0x00, - 0x0F, 0x80, 0x7C, 0x00, 0x3F, 0x01, 0xFC, 0x00, 0xFC, 0x03, 0xFE, 0x07, - 0xF8, 0x07, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x80, 0x1E, 0xFF, 0xFC, - 0x00, 0x7C, 0xFF, 0xF0, 0x00, 0xF8, 0x7F, 0x00, 0x01, 0xF0, 0x00, 0x00, - 0x03, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, - 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x1F, - 0xFF, 0x80, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x07, 0xFF, 0x3F, 0xC0, 0xFF, 0xFD, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, - 0xFF, 0xFF, 0x8F, 0xE0, 0x7F, 0xF8, 0xFC, 0x00, 0xFE, 0x07, 0xC0, 0x03, - 0xE0, 0x7C, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0xF8, 0x1E, 0x00, 0x07, 0xC1, - 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x01, 0xE0, 0x7C, 0x00, 0x1F, 0x03, 0xF0, - 0x01, 0xF8, 0x1F, 0x80, 0x1F, 0xC0, 0xFF, 0x03, 0xFC, 0x03, 0xFF, 0xFF, - 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, 0xE7, 0xC0, - 0x01, 0xFC, 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x7F, - 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, - 0x00, 0x00, 0x00, 0x0F, 0x80, 0x3F, 0xC3, 0xFE, 0x07, 0xFC, 0xFF, 0xE0, - 0x7F, 0xDF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0x1C, 0x00, 0x7F, - 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x01, 0xE0, 0x00, - 0x07, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, - 0xFF, 0xF0, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xCE, 0x03, 0xFF, 0xFC, - 0x0F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC3, 0xF8, 0x0F, 0x87, - 0xC0, 0x0E, 0x0F, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xFF, 0x80, 0x3F, - 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x00, - 0x3F, 0x1C, 0x00, 0x3E, 0x7C, 0x00, 0x7C, 0xFC, 0x03, 0xF3, 0xFF, 0xFF, - 0xE7, 0xFF, 0xFF, 0x8F, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x00, 0xFF, 0x00, - 0x00, 0x03, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, - 0x80, 0x00, 0x78, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xE0, 0x00, - 0x1E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3C, 0x00, - 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0xF7, 0xFF, - 0xFF, 0x7F, 0xFF, 0xF3, 0xFF, 0xFE, 0x1F, 0xFF, 0x80, 0x7F, 0x80, 0x7F, - 0x01, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xE0, - 0x3F, 0xC7, 0xC0, 0x07, 0x8F, 0x80, 0x1F, 0x3E, 0x00, 0x3E, 0x7C, 0x00, - 0x7C, 0xF8, 0x00, 0xF1, 0xF0, 0x03, 0xE3, 0xE0, 0x07, 0xC7, 0xC0, 0x0F, - 0x8F, 0x80, 0x1F, 0x1F, 0x00, 0x7C, 0x3E, 0x01, 0xF8, 0x7E, 0x0F, 0xFC, - 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF1, 0xFF, 0xEF, 0xE1, 0xFF, 0xBF, 0x80, - 0xFC, 0x00, 0x00, 0x7F, 0xF0, 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, - 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xE1, 0xF8, 0x03, 0xE0, - 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x0F, 0x80, 0xF8, 0x00, 0xFC, - 0x1F, 0x80, 0x07, 0xC1, 0xF0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xE7, 0xE0, - 0x00, 0x3E, 0x7C, 0x00, 0x03, 0xEF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x03, - 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, 0xEF, 0xFC, 0x03, 0xFF, - 0xFF, 0xC0, 0x7F, 0xFF, 0xFC, 0x07, 0xFE, 0x7F, 0x80, 0x3F, 0xC3, 0xE1, - 0xF0, 0xF8, 0x3E, 0x3F, 0x0F, 0x03, 0xE3, 0xF1, 0xF0, 0x3E, 0x7F, 0x1E, - 0x03, 0xE7, 0xF3, 0xE0, 0x3E, 0xFF, 0xBC, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, - 0xFF, 0xFC, 0x03, 0xFE, 0xFF, 0x80, 0x3F, 0xEF, 0xF8, 0x03, 0xFC, 0xFF, - 0x00, 0x3F, 0x8F, 0xF0, 0x03, 0xF8, 0x7E, 0x00, 0x3F, 0x07, 0xE0, 0x01, - 0xF0, 0x7C, 0x00, 0x1E, 0x07, 0xC0, 0x00, 0x03, 0xFE, 0x0F, 0xF8, 0x3F, - 0xF0, 0xFF, 0xC1, 0xFF, 0x8F, 0xFE, 0x0F, 0xFC, 0x7F, 0xF0, 0x7F, 0xC1, - 0xFF, 0x00, 0xFE, 0x1F, 0xC0, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xFF, 0xC0, - 0x00, 0x3F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, - 0x7F, 0xE0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xE3, - 0xF8, 0x00, 0xFE, 0x0F, 0xE0, 0x3F, 0xE0, 0x7F, 0xC3, 0xFF, 0x87, 0xFF, - 0x3F, 0xFC, 0x7F, 0xF9, 0xFF, 0xE3, 0xFF, 0x87, 0xFE, 0x0F, 0xF8, 0x00, - 0x01, 0xFE, 0x03, 0xFE, 0x03, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0xFF, - 0x07, 0xFF, 0x07, 0xFE, 0x03, 0xFC, 0x03, 0xFC, 0x01, 0xF8, 0x01, 0xF0, - 0x00, 0xF8, 0x03, 0xF0, 0x00, 0xF8, 0x03, 0xE0, 0x00, 0xFC, 0x07, 0xC0, - 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x7E, 0x1F, 0x00, - 0x00, 0x7E, 0x3E, 0x00, 0x00, 0x3E, 0x7C, 0x00, 0x00, 0x3E, 0x7C, 0x00, - 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, - 0x07, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, - 0xE0, 0xFF, 0xFF, 0xE0, 0x7C, 0x0F, 0xE0, 0x3C, 0x0F, 0xE0, 0x1E, 0x0F, - 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, - 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0xF0, 0x3F, - 0x00, 0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFE, 0x0F, - 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x80, 0x00, 0x0F, 0x00, 0x1F, 0xC0, 0x1F, - 0xE0, 0x1F, 0xF0, 0x0F, 0xE0, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x03, - 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x3F, 0x80, 0x3F, 0xC0, 0x1F, 0xC0, - 0x0F, 0xE0, 0x07, 0xF8, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, - 0x80, 0x07, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, - 0x7E, 0x00, 0x3F, 0x80, 0x1F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x00, 0x78, - 0x00, 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x3E, - 0x07, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0xF8, 0x1F, 0x03, 0xC0, 0x78, 0x0F, - 0x03, 0xE0, 0x7C, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x3C, 0x07, - 0x80, 0xF0, 0x3E, 0x07, 0xC0, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, - 0xC0, 0x70, 0x00, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0xC0, - 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, - 0x00, 0x0F, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, - 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF8, - 0x07, 0xF8, 0x03, 0xE0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x78, - 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x1F, 0x80, 0x7F, - 0xC0, 0x7F, 0xC0, 0x3F, 0xC0, 0x1F, 0xC0, 0x07, 0x80, 0x00, 0x03, 0xE0, - 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xE0, 0x39, 0xFF, 0xE0, 0xF7, 0xFF, 0xE7, - 0xFF, 0xCF, 0xFF, 0xFE, 0x0F, 0xFF, 0x38, 0x0F, 0xFC, 0x00, 0x0F, 0xE0, - 0x00, 0x0F, 0x80 }; - -const GFXglyph FreeMonoBoldOblique24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' - { 0, 12, 31, 28, 12, -29 }, // 0x21 '!' - { 47, 17, 14, 28, 11, -28 }, // 0x22 '"' - { 77, 24, 34, 28, 5, -30 }, // 0x23 '#' - { 179, 25, 38, 28, 4, -31 }, // 0x24 '$' - { 298, 22, 30, 28, 6, -28 }, // 0x25 '%' - { 381, 21, 28, 28, 5, -26 }, // 0x26 '&' - { 455, 7, 14, 28, 16, -28 }, // 0x27 ''' - { 468, 14, 37, 28, 14, -29 }, // 0x28 '(' - { 533, 14, 37, 28, 5, -29 }, // 0x29 ')' - { 598, 21, 19, 28, 8, -28 }, // 0x2A '*' - { 648, 24, 26, 28, 5, -25 }, // 0x2B '+' - { 726, 12, 14, 28, 6, -6 }, // 0x2C ',' - { 747, 24, 5, 28, 5, -15 }, // 0x2D '-' - { 762, 7, 6, 28, 11, -4 }, // 0x2E '.' - { 768, 28, 38, 28, 3, -32 }, // 0x2F '/' - { 901, 23, 31, 28, 6, -29 }, // 0x30 '0' - { 991, 21, 30, 28, 4, -29 }, // 0x31 '1' - { 1070, 26, 30, 28, 3, -29 }, // 0x32 '2' - { 1168, 25, 31, 28, 4, -29 }, // 0x33 '3' - { 1265, 22, 28, 28, 5, -27 }, // 0x34 '4' - { 1342, 25, 31, 28, 4, -29 }, // 0x35 '5' - { 1439, 24, 31, 28, 7, -29 }, // 0x36 '6' - { 1532, 22, 30, 28, 9, -29 }, // 0x37 '7' - { 1615, 23, 31, 28, 6, -29 }, // 0x38 '8' - { 1705, 24, 31, 28, 5, -29 }, // 0x39 '9' - { 1798, 10, 22, 28, 11, -20 }, // 0x3A ':' - { 1826, 15, 28, 28, 5, -20 }, // 0x3B ';' - { 1879, 25, 21, 28, 5, -23 }, // 0x3C '<' - { 1945, 26, 14, 28, 4, -19 }, // 0x3D '=' - { 1991, 25, 22, 28, 4, -23 }, // 0x3E '>' - { 2060, 19, 29, 28, 10, -27 }, // 0x3F '?' - { 2129, 23, 36, 28, 5, -28 }, // 0x40 '@' - { 2233, 30, 27, 28, 0, -26 }, // 0x41 'A' - { 2335, 29, 27, 28, 1, -26 }, // 0x42 'B' - { 2433, 28, 29, 28, 3, -27 }, // 0x43 'C' - { 2535, 28, 27, 28, 1, -26 }, // 0x44 'D' - { 2630, 29, 27, 28, 1, -26 }, // 0x45 'E' - { 2728, 31, 27, 28, 0, -26 }, // 0x46 'F' - { 2833, 28, 29, 28, 3, -27 }, // 0x47 'G' - { 2935, 30, 27, 28, 1, -26 }, // 0x48 'H' - { 3037, 25, 27, 28, 3, -26 }, // 0x49 'I' - { 3122, 31, 28, 28, 0, -26 }, // 0x4A 'J' - { 3231, 31, 27, 28, 0, -26 }, // 0x4B 'K' - { 3336, 27, 27, 28, 1, -26 }, // 0x4C 'L' - { 3428, 34, 27, 28, 0, -26 }, // 0x4D 'M' - { 3543, 32, 27, 28, 1, -26 }, // 0x4E 'N' - { 3651, 27, 29, 28, 3, -27 }, // 0x4F 'O' - { 3749, 28, 27, 28, 1, -26 }, // 0x50 'P' - { 3844, 27, 35, 28, 3, -27 }, // 0x51 'Q' - { 3963, 29, 27, 28, 0, -26 }, // 0x52 'R' - { 4061, 26, 29, 28, 3, -27 }, // 0x53 'S' - { 4156, 26, 27, 28, 4, -26 }, // 0x54 'T' - { 4244, 28, 28, 28, 4, -26 }, // 0x55 'U' - { 4342, 30, 27, 28, 2, -26 }, // 0x56 'V' - { 4444, 29, 27, 28, 3, -26 }, // 0x57 'W' - { 4542, 32, 27, 28, 0, -26 }, // 0x58 'X' - { 4650, 26, 27, 28, 4, -26 }, // 0x59 'Y' - { 4738, 27, 27, 28, 2, -26 }, // 0x5A 'Z' - { 4830, 18, 37, 28, 10, -29 }, // 0x5B '[' - { 4914, 13, 38, 28, 10, -32 }, // 0x5C '\' - { 4976, 18, 37, 28, 5, -29 }, // 0x5D ']' - { 5060, 20, 15, 28, 8, -29 }, // 0x5E '^' - { 5098, 29, 5, 28, -2, 5 }, // 0x5F '_' - { 5117, 8, 8, 28, 13, -30 }, // 0x60 '`' - { 5125, 24, 23, 28, 3, -21 }, // 0x61 'a' - { 5194, 29, 31, 28, 0, -29 }, // 0x62 'b' - { 5307, 25, 23, 28, 3, -21 }, // 0x63 'c' - { 5379, 28, 31, 28, 3, -29 }, // 0x64 'd' - { 5488, 24, 23, 28, 3, -21 }, // 0x65 'e' - { 5557, 28, 30, 28, 4, -29 }, // 0x66 'f' - { 5662, 28, 31, 28, 3, -21 }, // 0x67 'g' - { 5771, 26, 30, 28, 2, -29 }, // 0x68 'h' - { 5869, 23, 29, 28, 3, -28 }, // 0x69 'i' - { 5953, 23, 38, 28, 3, -28 }, // 0x6A 'j' - { 6063, 26, 30, 28, 2, -29 }, // 0x6B 'k' - { 6161, 23, 30, 28, 3, -29 }, // 0x6C 'l' - { 6248, 30, 22, 28, 0, -21 }, // 0x6D 'm' - { 6331, 26, 22, 28, 2, -21 }, // 0x6E 'n' - { 6403, 25, 23, 28, 3, -21 }, // 0x6F 'o' - { 6475, 31, 31, 28, -1, -21 }, // 0x70 'p' - { 6596, 29, 31, 28, 2, -21 }, // 0x71 'q' - { 6709, 28, 22, 28, 2, -21 }, // 0x72 'r' - { 6786, 23, 23, 28, 4, -21 }, // 0x73 's' - { 6853, 20, 28, 28, 5, -26 }, // 0x74 't' - { 6923, 23, 22, 28, 5, -20 }, // 0x75 'u' - { 6987, 28, 21, 28, 3, -20 }, // 0x76 'v' - { 7061, 28, 21, 28, 3, -20 }, // 0x77 'w' - { 7135, 29, 21, 28, 1, -20 }, // 0x78 'x' - { 7212, 32, 30, 28, -1, -20 }, // 0x79 'y' - { 7332, 25, 21, 28, 4, -20 }, // 0x7A 'z' - { 7398, 17, 37, 28, 10, -29 }, // 0x7B '{' - { 7477, 11, 36, 28, 11, -28 }, // 0x7C '|' - { 7527, 17, 37, 28, 6, -29 }, // 0x7D '}' - { 7606, 23, 10, 28, 5, -17 } }; // 0x7E '~' - -const GFXfont FreeMonoBoldOblique24pt7b PROGMEM = { - (uint8_t *)FreeMonoBoldOblique24pt7bBitmaps, - (GFXglyph *)FreeMonoBoldOblique24pt7bGlyphs, - 0x20, 0x7E, 47 }; - -// Approx. 8307 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h deleted file mode 100644 index b530723..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoBoldOblique9pt7b.h +++ /dev/null @@ -1,203 +0,0 @@ -const uint8_t FreeMonoBoldOblique9pt7bBitmaps[] PROGMEM = { - 0x39, 0xCC, 0x67, 0x31, 0x8C, 0x07, 0x38, 0x6C, 0xD9, 0x36, 0x48, 0x80, - 0x09, 0x0D, 0x86, 0xCF, 0xF7, 0xF9, 0xB3, 0xFD, 0xFE, 0x6C, 0x36, 0x1B, - 0x00, 0x00, 0x06, 0x07, 0x07, 0xE6, 0x33, 0x01, 0xE0, 0x7C, 0x06, 0x43, - 0x33, 0xBF, 0x83, 0x03, 0x00, 0x80, 0x1C, 0x11, 0x10, 0x88, 0x83, 0xB8, - 0xF3, 0xB8, 0x22, 0x21, 0x11, 0x07, 0x00, 0x0F, 0x1F, 0x30, 0x30, 0x38, - 0x7B, 0xDF, 0xCE, 0xFF, 0x7E, 0xFA, 0x80, 0x19, 0x8C, 0xC6, 0x63, 0x18, - 0xC6, 0x31, 0xC6, 0x30, 0x31, 0xC6, 0x31, 0x8C, 0x63, 0x31, 0x98, 0xCC, - 0x40, 0x08, 0x08, 0xFF, 0xFF, 0x38, 0x6C, 0x6C, 0x0C, 0x06, 0x03, 0x1F, - 0xFF, 0xF8, 0xC0, 0x60, 0x30, 0x10, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0xFF, - 0xC0, 0xFC, 0x00, 0x00, 0x0C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x01, 0x80, - 0x30, 0x0C, 0x03, 0x00, 0x60, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x00, 0x0F, - 0x0F, 0xCC, 0x6C, 0x36, 0x1B, 0x0D, 0x05, 0x86, 0xC3, 0x63, 0x3F, 0x8F, - 0x00, 0x06, 0x1C, 0x3C, 0x6C, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x18, 0xFE, - 0xFE, 0x07, 0x83, 0xF1, 0x8C, 0x43, 0x00, 0xC0, 0xE0, 0x70, 0x38, 0x38, - 0x1C, 0x6F, 0xF3, 0xFC, 0x1F, 0x1F, 0xC0, 0x60, 0x30, 0x30, 0x70, 0x38, - 0x06, 0x03, 0x03, 0xBF, 0x9F, 0x80, 0x03, 0x07, 0x0B, 0x1B, 0x32, 0x66, - 0xFF, 0xFF, 0x1E, 0x1E, 0x3F, 0x9F, 0x98, 0x0F, 0xC7, 0xF3, 0x18, 0x0C, - 0x06, 0x06, 0x7F, 0x1E, 0x00, 0x07, 0x87, 0xCE, 0x06, 0x06, 0x03, 0xF3, - 0xFD, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0xFF, 0xFF, 0xC3, 0x06, 0x06, - 0x0C, 0x18, 0x18, 0x30, 0x30, 0x60, 0x1F, 0x1F, 0xDC, 0x6C, 0x36, 0x31, - 0xF1, 0xF8, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0x1E, 0x3F, 0x33, 0x63, - 0x63, 0x67, 0x7F, 0x3E, 0x06, 0x1C, 0xF8, 0xF0, 0x77, 0x00, 0x00, 0xEE, - 0x1C, 0x70, 0x00, 0x00, 0x03, 0x0C, 0x61, 0x08, 0x00, 0x00, 0xC1, 0xE1, - 0xE1, 0xE0, 0xF0, 0x07, 0x00, 0xF0, 0x0C, 0x7F, 0xDF, 0xF0, 0x00, 0x00, - 0x7F, 0xFF, 0xF0, 0x30, 0x0F, 0x00, 0xE0, 0x1E, 0x07, 0xC7, 0x87, 0x83, - 0x00, 0x7D, 0xFF, 0x18, 0x30, 0xE3, 0x9C, 0x30, 0x01, 0xC3, 0x80, 0x0F, - 0x0F, 0xCC, 0x6C, 0x36, 0x72, 0x79, 0x7D, 0xB6, 0xDA, 0x6F, 0xB3, 0xD8, - 0x0C, 0x07, 0xE1, 0xE0, 0x0F, 0x83, 0xF0, 0x1E, 0x03, 0xC0, 0xD8, 0x31, - 0x87, 0xF1, 0xFE, 0x30, 0xDF, 0x3F, 0xC7, 0x80, 0x3F, 0xC7, 0xFC, 0x61, - 0x8C, 0x31, 0xFC, 0x3F, 0x84, 0x19, 0x83, 0x30, 0x6F, 0xFB, 0xFE, 0x00, - 0x0F, 0xF1, 0xFF, 0x30, 0x66, 0x06, 0x60, 0x0C, 0x00, 0xC0, 0x0C, 0x00, - 0xE0, 0xC7, 0xF8, 0x3F, 0x00, 0x3F, 0x87, 0xF8, 0x63, 0x8C, 0x31, 0x06, - 0x60, 0xCC, 0x19, 0x86, 0x31, 0xCF, 0xF3, 0xF8, 0x00, 0x3F, 0xE3, 0xFE, - 0x18, 0x61, 0xB6, 0x1F, 0x01, 0xF0, 0x32, 0x03, 0x00, 0x30, 0x4F, 0xFC, - 0xFF, 0xC0, 0x3F, 0xF3, 0xFE, 0x18, 0x61, 0xB6, 0x1F, 0x03, 0xF0, 0x32, - 0x03, 0x00, 0x30, 0x0F, 0xC0, 0xFC, 0x00, 0x0F, 0xE3, 0xFC, 0xC1, 0x30, - 0x06, 0x01, 0x80, 0x31, 0xF6, 0x3E, 0xE1, 0x9F, 0xF0, 0xF8, 0x00, 0x1E, - 0xF3, 0xCF, 0x18, 0x61, 0x84, 0x10, 0xC3, 0xFC, 0x3F, 0xC3, 0x08, 0x31, - 0x8F, 0xBC, 0xFB, 0xC0, 0x3F, 0xCF, 0xF0, 0x60, 0x10, 0x0C, 0x03, 0x00, - 0xC0, 0x20, 0x18, 0x3F, 0xCF, 0xF0, 0x07, 0xF0, 0x7F, 0x00, 0x80, 0x18, - 0x01, 0x80, 0x18, 0x61, 0x84, 0x10, 0xC3, 0x0F, 0xE0, 0x7C, 0x00, 0x3E, - 0xE7, 0xFC, 0x66, 0x0D, 0x81, 0x60, 0x7C, 0x0E, 0xC1, 0x98, 0x31, 0x1F, - 0x3B, 0xE7, 0x00, 0x3F, 0x07, 0xE0, 0x30, 0x06, 0x00, 0xC0, 0x10, 0x06, - 0x00, 0xC3, 0x18, 0x6F, 0xFB, 0xFF, 0x00, 0x38, 0x39, 0xC3, 0xC7, 0x3C, - 0x79, 0xE3, 0xDA, 0x1F, 0xF0, 0x9D, 0x8C, 0xCC, 0x60, 0x67, 0xCF, 0x3C, - 0x78, 0x3C, 0xF9, 0xE7, 0x87, 0x18, 0x3C, 0xC1, 0x66, 0x1B, 0xB0, 0xCD, - 0x06, 0x78, 0x31, 0xC3, 0xCE, 0x3E, 0x30, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, - 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, 0x9F, 0xC3, 0xC0, 0x3F, 0xC7, 0xFC, - 0x61, 0x8C, 0x31, 0x8E, 0x3F, 0x87, 0xE1, 0x80, 0x30, 0x0F, 0xC3, 0xF0, - 0x00, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, - 0x1F, 0xC3, 0xC0, 0x80, 0x7F, 0x3F, 0xC0, 0x3F, 0xC3, 0xFE, 0x18, 0x61, - 0x86, 0x10, 0xE3, 0xFC, 0x3F, 0x83, 0x18, 0x31, 0xCF, 0x8F, 0xF8, 0x70, - 0x1E, 0xCF, 0xF7, 0x19, 0x80, 0x70, 0x1F, 0x81, 0xF3, 0x0C, 0xC3, 0x3F, - 0x8B, 0xC0, 0x7F, 0xCF, 0xF9, 0x93, 0x66, 0x60, 0xC0, 0x18, 0x02, 0x00, - 0xC0, 0x18, 0x0F, 0xC1, 0xF8, 0x00, 0xF9, 0xFF, 0x7D, 0x83, 0x30, 0x64, - 0x09, 0x83, 0x30, 0x66, 0x0C, 0xE3, 0x0F, 0xC0, 0xF0, 0x00, 0xF9, 0xFE, - 0x3D, 0x83, 0x30, 0xC6, 0x30, 0xE6, 0x0D, 0x81, 0xB0, 0x3C, 0x07, 0x00, - 0x60, 0x00, 0xF9, 0xFF, 0x3D, 0x83, 0x36, 0x64, 0xC8, 0xBF, 0x35, 0xE7, - 0xB8, 0xE7, 0x1C, 0xE3, 0x18, 0x00, 0x3C, 0xF3, 0xCF, 0x1C, 0xC0, 0xD8, - 0x0F, 0x00, 0x60, 0x0F, 0x01, 0xB8, 0x31, 0x8F, 0x3C, 0xF3, 0xC0, 0x79, - 0xEE, 0x38, 0xC6, 0x19, 0x81, 0xE0, 0x38, 0x06, 0x00, 0xC0, 0x18, 0x0F, - 0xC3, 0xF8, 0x00, 0x3F, 0xCF, 0xF3, 0x18, 0xCC, 0x06, 0x03, 0x01, 0x80, - 0xC6, 0x61, 0xBF, 0xCF, 0xF0, 0x1E, 0x3C, 0xC1, 0x83, 0x06, 0x08, 0x30, - 0x60, 0xC1, 0x06, 0x0F, 0x1E, 0x00, 0x06, 0x31, 0x86, 0x31, 0x8C, 0x31, - 0x8C, 0x61, 0x8C, 0x60, 0x1E, 0x78, 0x30, 0x60, 0xC1, 0x86, 0x0C, 0x18, - 0x30, 0x41, 0x8F, 0x1E, 0x00, 0x08, 0x1C, 0x3C, 0x76, 0xE7, 0xC3, 0x7F, - 0xFF, 0xFC, 0x88, 0x80, 0x0F, 0x07, 0xE1, 0xF9, 0xFE, 0xE3, 0x30, 0xCF, - 0xFD, 0xFF, 0x38, 0x07, 0x00, 0x60, 0x0F, 0xC1, 0xFC, 0x71, 0xCC, 0x19, - 0x83, 0x30, 0xDF, 0xFB, 0xBC, 0x00, 0x1F, 0xCF, 0xF6, 0x1B, 0x00, 0xC0, - 0x30, 0x0F, 0xF1, 0xF8, 0x01, 0xE0, 0x38, 0x03, 0x0F, 0x63, 0xFC, 0xC3, - 0x30, 0x66, 0x0C, 0xC3, 0x9F, 0xF9, 0xF7, 0x00, 0x1F, 0x1F, 0xD8, 0x3F, - 0xFF, 0xFE, 0x1B, 0xFC, 0xF8, 0x07, 0xC3, 0xF1, 0x81, 0xFE, 0x7F, 0x84, - 0x03, 0x00, 0xC0, 0x30, 0x3F, 0x8F, 0xE0, 0x1E, 0xE7, 0xFD, 0x86, 0x60, - 0xCC, 0x19, 0xC6, 0x3F, 0xC1, 0xD8, 0x03, 0x00, 0xE1, 0xF8, 0x3E, 0x00, - 0x38, 0x1E, 0x01, 0x00, 0xDC, 0x3F, 0x8C, 0x62, 0x19, 0x84, 0x63, 0x3D, - 0xFF, 0x7C, 0x06, 0x03, 0x00, 0x03, 0xC3, 0xE0, 0x20, 0x30, 0x18, 0x0C, - 0x3F, 0xFF, 0xE0, 0x01, 0x81, 0x80, 0x07, 0xF3, 0xF8, 0x0C, 0x04, 0x06, - 0x03, 0x01, 0x80, 0xC0, 0x40, 0x67, 0xE3, 0xE0, 0x38, 0x0E, 0x01, 0x80, - 0x4F, 0x37, 0xCF, 0x83, 0xC0, 0xF0, 0x26, 0x39, 0xEE, 0x78, 0x1F, 0x0F, - 0x01, 0x80, 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x3F, 0xFF, 0xE0, 0x7E, - 0xE7, 0xFF, 0x33, 0x32, 0x63, 0x66, 0x36, 0x62, 0xF7, 0x7F, 0x67, 0x77, - 0x8F, 0xF8, 0xC3, 0x10, 0x66, 0x08, 0xC3, 0x3C, 0x7F, 0x8F, 0x1F, 0x0F, - 0xE6, 0x1F, 0x03, 0xC0, 0xF8, 0x67, 0xF0, 0xF8, 0x3F, 0xE3, 0xFF, 0x1C, - 0x31, 0x83, 0x18, 0x31, 0x86, 0x3F, 0xE3, 0x78, 0x30, 0x03, 0x00, 0xFC, - 0x0F, 0x80, 0x1E, 0xEF, 0xFD, 0x86, 0x60, 0xCC, 0x19, 0xC7, 0x3F, 0xE1, - 0xE8, 0x03, 0x00, 0x60, 0x3E, 0x07, 0xC0, 0x39, 0xDF, 0xF1, 0xC0, 0x60, - 0x10, 0x0C, 0x0F, 0xF3, 0xF8, 0x1F, 0x7F, 0x63, 0x7E, 0x1F, 0xC3, 0xFE, - 0xFC, 0x10, 0x08, 0x0C, 0x1F, 0xEF, 0xF1, 0x80, 0x80, 0xC0, 0x60, 0x3F, - 0x8F, 0x80, 0xF3, 0xFC, 0xF6, 0x09, 0x86, 0x61, 0x98, 0xE7, 0xF8, 0xFE, - 0xFB, 0xFF, 0x7C, 0xC6, 0x19, 0x83, 0x60, 0x6C, 0x07, 0x00, 0xC0, 0xF1, - 0xFE, 0x3D, 0xB3, 0x37, 0xC7, 0xF8, 0xEE, 0x1D, 0xC3, 0x30, 0x79, 0xEF, - 0x38, 0xEE, 0x0F, 0x01, 0xE0, 0x6E, 0x3C, 0xE7, 0xBC, 0x3C, 0xF3, 0x8F, - 0x18, 0xC1, 0x9C, 0x19, 0x81, 0xF0, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0x80, - 0xFC, 0x0F, 0xC0, 0x7F, 0xBF, 0xD9, 0xC1, 0x83, 0x83, 0x1B, 0xFD, 0xFE, - 0x06, 0x1C, 0x60, 0xC1, 0x86, 0x3C, 0x70, 0x30, 0x41, 0x83, 0x07, 0x06, - 0x00, 0x33, 0x32, 0x26, 0x66, 0x44, 0xCC, 0xC8, 0x0C, 0x0E, 0x04, 0x0C, - 0x0C, 0x0C, 0x0F, 0x0F, 0x18, 0x18, 0x10, 0x30, 0xF0, 0xE0, 0x38, 0x7C, - 0xF7, 0xC1, 0xC0 }; - -const GFXglyph FreeMonoBoldOblique9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' - { 0, 5, 11, 11, 4, -10 }, // 0x21 '!' - { 7, 7, 5, 11, 4, -10 }, // 0x22 '"' - { 12, 9, 12, 11, 2, -10 }, // 0x23 '#' - { 26, 9, 14, 11, 2, -11 }, // 0x24 '$' - { 42, 9, 11, 11, 2, -10 }, // 0x25 '%' - { 55, 8, 10, 11, 2, -9 }, // 0x26 '&' - { 65, 2, 5, 11, 6, -10 }, // 0x27 ''' - { 67, 5, 14, 11, 5, -10 }, // 0x28 '(' - { 76, 5, 14, 11, 2, -10 }, // 0x29 ')' - { 85, 8, 7, 11, 3, -10 }, // 0x2A '*' - { 92, 9, 9, 11, 2, -8 }, // 0x2B '+' - { 103, 4, 5, 11, 2, -1 }, // 0x2C ',' - { 106, 9, 2, 11, 2, -5 }, // 0x2D '-' - { 109, 3, 2, 11, 4, -1 }, // 0x2E '.' - { 110, 11, 15, 11, 1, -12 }, // 0x2F '/' - { 131, 9, 12, 11, 2, -11 }, // 0x30 '0' - { 145, 8, 12, 11, 2, -11 }, // 0x31 '1' - { 157, 10, 12, 11, 1, -11 }, // 0x32 '2' - { 172, 9, 12, 11, 2, -11 }, // 0x33 '3' - { 186, 8, 10, 11, 2, -9 }, // 0x34 '4' - { 196, 9, 11, 11, 3, -10 }, // 0x35 '5' - { 209, 9, 12, 11, 3, -11 }, // 0x36 '6' - { 223, 8, 11, 11, 3, -10 }, // 0x37 '7' - { 234, 9, 12, 11, 2, -11 }, // 0x38 '8' - { 248, 8, 12, 11, 3, -11 }, // 0x39 '9' - { 260, 4, 8, 11, 4, -7 }, // 0x3A ':' - { 264, 6, 11, 11, 2, -7 }, // 0x3B ';' - { 273, 10, 8, 11, 2, -8 }, // 0x3C '<' - { 283, 10, 6, 11, 1, -7 }, // 0x3D '=' - { 291, 10, 8, 11, 1, -8 }, // 0x3E '>' - { 301, 7, 11, 11, 4, -10 }, // 0x3F '?' - { 311, 9, 15, 11, 2, -11 }, // 0x40 '@' - { 328, 11, 11, 11, 0, -10 }, // 0x41 'A' - { 344, 11, 11, 11, 0, -10 }, // 0x42 'B' - { 360, 12, 11, 11, 1, -10 }, // 0x43 'C' - { 377, 11, 11, 11, 0, -10 }, // 0x44 'D' - { 393, 12, 11, 11, 0, -10 }, // 0x45 'E' - { 410, 12, 11, 11, 0, -10 }, // 0x46 'F' - { 427, 11, 11, 11, 1, -10 }, // 0x47 'G' - { 443, 12, 11, 11, 0, -10 }, // 0x48 'H' - { 460, 10, 11, 11, 1, -10 }, // 0x49 'I' - { 474, 12, 11, 11, 0, -10 }, // 0x4A 'J' - { 491, 11, 11, 11, 0, -10 }, // 0x4B 'K' - { 507, 11, 11, 11, 0, -10 }, // 0x4C 'L' - { 523, 13, 11, 11, 0, -10 }, // 0x4D 'M' - { 541, 13, 11, 11, 0, -10 }, // 0x4E 'N' - { 559, 10, 11, 11, 1, -10 }, // 0x4F 'O' - { 573, 11, 11, 11, 0, -10 }, // 0x50 'P' - { 589, 10, 14, 11, 1, -10 }, // 0x51 'Q' - { 607, 12, 11, 11, 0, -10 }, // 0x52 'R' - { 624, 10, 11, 11, 2, -10 }, // 0x53 'S' - { 638, 11, 11, 11, 1, -10 }, // 0x54 'T' - { 654, 11, 11, 11, 1, -10 }, // 0x55 'U' - { 670, 11, 11, 11, 1, -10 }, // 0x56 'V' - { 686, 11, 11, 11, 1, -10 }, // 0x57 'W' - { 702, 12, 11, 11, 0, -10 }, // 0x58 'X' - { 719, 11, 11, 11, 1, -10 }, // 0x59 'Y' - { 735, 10, 11, 11, 1, -10 }, // 0x5A 'Z' - { 749, 7, 14, 11, 4, -10 }, // 0x5B '[' - { 762, 5, 15, 11, 4, -12 }, // 0x5C '\' - { 772, 7, 14, 11, 2, -10 }, // 0x5D ']' - { 785, 8, 6, 11, 3, -11 }, // 0x5E '^' - { 791, 11, 2, 11, -1, 3 }, // 0x5F '_' - { 794, 3, 3, 11, 5, -11 }, // 0x60 '`' - { 796, 10, 8, 11, 1, -7 }, // 0x61 'a' - { 806, 11, 11, 11, 0, -10 }, // 0x62 'b' - { 822, 10, 8, 11, 1, -7 }, // 0x63 'c' - { 832, 11, 11, 11, 1, -10 }, // 0x64 'd' - { 848, 9, 8, 11, 1, -7 }, // 0x65 'e' - { 857, 10, 11, 11, 2, -10 }, // 0x66 'f' - { 871, 11, 12, 11, 1, -7 }, // 0x67 'g' - { 888, 10, 11, 11, 1, -10 }, // 0x68 'h' - { 902, 9, 11, 11, 1, -10 }, // 0x69 'i' - { 915, 9, 15, 11, 1, -10 }, // 0x6A 'j' - { 932, 10, 11, 11, 1, -10 }, // 0x6B 'k' - { 946, 9, 11, 11, 1, -10 }, // 0x6C 'l' - { 959, 12, 8, 11, 0, -7 }, // 0x6D 'm' - { 971, 11, 8, 11, 1, -7 }, // 0x6E 'n' - { 982, 10, 8, 11, 1, -7 }, // 0x6F 'o' - { 992, 12, 12, 11, -1, -7 }, // 0x70 'p' - { 1010, 11, 12, 11, 1, -7 }, // 0x71 'q' - { 1027, 10, 8, 11, 1, -7 }, // 0x72 'r' - { 1037, 8, 8, 11, 2, -7 }, // 0x73 's' - { 1045, 9, 11, 11, 1, -10 }, // 0x74 't' - { 1058, 10, 8, 11, 1, -7 }, // 0x75 'u' - { 1068, 11, 8, 11, 1, -7 }, // 0x76 'v' - { 1079, 11, 8, 11, 1, -7 }, // 0x77 'w' - { 1090, 11, 8, 11, 1, -7 }, // 0x78 'x' - { 1101, 12, 12, 11, 0, -7 }, // 0x79 'y' - { 1119, 9, 8, 11, 2, -7 }, // 0x7A 'z' - { 1128, 7, 14, 11, 3, -10 }, // 0x7B '{' - { 1141, 4, 14, 11, 4, -10 }, // 0x7C '|' - { 1148, 8, 14, 11, 2, -10 }, // 0x7D '}' - { 1162, 9, 4, 11, 2, -6 } }; // 0x7E '~' - -const GFXfont FreeMonoBoldOblique9pt7b PROGMEM = { - (uint8_t *)FreeMonoBoldOblique9pt7bBitmaps, - (GFXglyph *)FreeMonoBoldOblique9pt7bGlyphs, - 0x20, 0x7E, 18 }; - -// Approx. 1839 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h deleted file mode 100644 index 83a9a77..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique12pt7b.h +++ /dev/null @@ -1,248 +0,0 @@ -const uint8_t FreeMonoOblique12pt7bBitmaps[] PROGMEM = { - 0x11, 0x11, 0x12, 0x22, 0x22, 0x00, 0x0E, 0xE0, 0xE7, 0xE7, 0xC6, 0xC6, - 0xC6, 0x84, 0x84, 0x02, 0x40, 0x88, 0x12, 0x02, 0x40, 0x48, 0x7F, 0xC2, - 0x40, 0x48, 0x11, 0x1F, 0xF8, 0x48, 0x09, 0x02, 0x40, 0x48, 0x09, 0x02, - 0x20, 0x02, 0x01, 0x00, 0xF4, 0xC3, 0x60, 0x50, 0x04, 0x00, 0xC0, 0x0F, - 0x00, 0x60, 0x0A, 0x02, 0x81, 0x30, 0xC7, 0xC0, 0x80, 0x20, 0x08, 0x00, - 0x0E, 0x02, 0x20, 0x84, 0x10, 0x82, 0x20, 0x38, 0x00, 0x38, 0x38, 0x38, - 0x08, 0xE0, 0x22, 0x08, 0x41, 0x08, 0x22, 0x03, 0x80, 0x07, 0x84, 0x04, - 0x02, 0x01, 0x00, 0xC1, 0xA2, 0x8A, 0x85, 0x43, 0x31, 0x8F, 0x60, 0xFF, - 0x6D, 0x20, 0x00, 0x44, 0x42, 0x21, 0x08, 0x84, 0x21, 0x08, 0x42, 0x10, - 0x42, 0x00, 0x00, 0x84, 0x10, 0x84, 0x21, 0x08, 0x46, 0x21, 0x10, 0x88, - 0x44, 0x00, 0x04, 0x02, 0x02, 0x1D, 0x13, 0xF0, 0x40, 0x50, 0x48, 0x44, - 0x00, 0x02, 0x00, 0x40, 0x08, 0x02, 0x00, 0x41, 0xFF, 0xC1, 0x00, 0x20, - 0x08, 0x01, 0x00, 0x20, 0x00, 0x1C, 0xE3, 0x18, 0x63, 0x08, 0x00, 0xFF, - 0xE0, 0x7F, 0x00, 0x00, 0x08, 0x00, 0x80, 0x04, 0x00, 0x40, 0x04, 0x00, - 0x60, 0x02, 0x00, 0x20, 0x03, 0x00, 0x10, 0x01, 0x00, 0x18, 0x00, 0x80, - 0x08, 0x00, 0x80, 0x04, 0x00, 0x40, 0x04, 0x00, 0x00, 0x07, 0x06, 0x23, - 0x04, 0x81, 0x40, 0x50, 0x14, 0x06, 0x02, 0x80, 0xA0, 0x28, 0x0A, 0x04, - 0x83, 0x11, 0x83, 0x80, 0x03, 0x03, 0x83, 0x83, 0x43, 0x20, 0x10, 0x08, - 0x08, 0x04, 0x02, 0x01, 0x01, 0x00, 0x80, 0x43, 0xFE, 0x01, 0xC0, 0x62, - 0x0C, 0x10, 0x81, 0x00, 0x10, 0x02, 0x00, 0x60, 0x0C, 0x01, 0x00, 0x20, - 0x0C, 0x01, 0x80, 0x20, 0x04, 0x04, 0xFF, 0xC0, 0x07, 0xC3, 0x0C, 0x00, - 0x80, 0x10, 0x06, 0x01, 0x81, 0xC0, 0x0C, 0x00, 0x40, 0x08, 0x01, 0x00, - 0x20, 0x09, 0x86, 0x0F, 0x00, 0x00, 0xC0, 0x50, 0x24, 0x12, 0x04, 0x82, - 0x21, 0x08, 0x82, 0x21, 0x10, 0x4F, 0xF8, 0x04, 0x01, 0x00, 0x80, 0xF8, - 0x0F, 0xE2, 0x00, 0x40, 0x08, 0x01, 0x00, 0x4E, 0x0E, 0x20, 0x02, 0x00, - 0x40, 0x08, 0x01, 0x00, 0x40, 0x19, 0x06, 0x1F, 0x00, 0x01, 0xE0, 0xC0, - 0x60, 0x18, 0x02, 0x00, 0x80, 0x13, 0xC5, 0x88, 0xE0, 0x98, 0x12, 0x02, - 0x40, 0x48, 0x10, 0x84, 0x0F, 0x00, 0xFF, 0xA0, 0x20, 0x08, 0x04, 0x01, - 0x00, 0x80, 0x20, 0x10, 0x04, 0x02, 0x00, 0x80, 0x40, 0x10, 0x08, 0x02, - 0x00, 0x07, 0x81, 0x08, 0x40, 0x90, 0x12, 0x02, 0x40, 0x84, 0x20, 0x78, - 0x30, 0x88, 0x0A, 0x01, 0x40, 0x28, 0x08, 0x82, 0x0F, 0x80, 0x07, 0x81, - 0x08, 0x40, 0x90, 0x12, 0x02, 0x40, 0xC8, 0x39, 0x8D, 0x1E, 0x40, 0x08, - 0x02, 0x00, 0xC0, 0x30, 0x18, 0x3E, 0x00, 0x19, 0xCC, 0x00, 0x00, 0x0C, - 0xE6, 0x00, 0x06, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x1C, 0x30, 0xE1, 0x86, - 0x08, 0x00, 0x00, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x06, 0x00, 0x30, - 0x00, 0xC0, 0x06, 0x00, 0x18, 0x00, 0xC0, 0x7F, 0xF8, 0x00, 0x00, 0x01, - 0xFF, 0xE0, 0x18, 0x00, 0xC0, 0x03, 0x00, 0x18, 0x00, 0x60, 0x03, 0x00, - 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x3E, 0xC3, 0x81, 0x01, 0x03, - 0x06, 0x18, 0x20, 0x20, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x07, 0x82, 0x31, - 0x04, 0x81, 0x20, 0x48, 0x74, 0x65, 0x21, 0x48, 0x92, 0x28, 0x7A, 0x00, - 0x80, 0x20, 0x04, 0x00, 0xF8, 0x07, 0xE0, 0x02, 0x80, 0x0A, 0x00, 0x48, - 0x01, 0x20, 0x08, 0x40, 0x41, 0x01, 0x04, 0x0F, 0xF0, 0x20, 0x41, 0x01, - 0x04, 0x02, 0x20, 0x0B, 0xE1, 0xF0, 0x1F, 0xF0, 0x40, 0xC2, 0x02, 0x10, - 0x10, 0x81, 0x84, 0x18, 0x7F, 0x82, 0x02, 0x10, 0x08, 0x80, 0x44, 0x02, - 0x60, 0x22, 0x03, 0x7F, 0xE0, 0x07, 0x91, 0x87, 0x20, 0x34, 0x02, 0x40, - 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x04, 0x04, 0x61, - 0x81, 0xE0, 0x1F, 0xE0, 0x41, 0x82, 0x06, 0x10, 0x11, 0x00, 0x88, 0x04, - 0x40, 0x22, 0x01, 0x10, 0x11, 0x00, 0x88, 0x08, 0x40, 0xC2, 0x0C, 0x7F, - 0x80, 0x1F, 0xFC, 0x20, 0x10, 0x80, 0x82, 0x00, 0x08, 0x00, 0x22, 0x01, - 0xF8, 0x04, 0x20, 0x10, 0x00, 0x40, 0x01, 0x01, 0x0C, 0x04, 0x20, 0x13, - 0xFF, 0xC0, 0x1F, 0xFC, 0x20, 0x10, 0x80, 0x42, 0x01, 0x08, 0x00, 0x22, - 0x01, 0xF8, 0x04, 0x20, 0x10, 0x00, 0x40, 0x01, 0x00, 0x0C, 0x00, 0x20, - 0x03, 0xF8, 0x00, 0x07, 0xD0, 0x83, 0x30, 0x12, 0x00, 0x40, 0x04, 0x00, - 0x80, 0x08, 0x00, 0x83, 0xE8, 0x04, 0x80, 0x4C, 0x04, 0x60, 0x41, 0xF8, - 0x0F, 0x3C, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x81, 0x01, 0x02, 0x03, - 0xFC, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0x80, 0x81, 0x02, 0x02, - 0x1F, 0x1E, 0x00, 0x3F, 0xE0, 0x40, 0x08, 0x01, 0x00, 0x20, 0x08, 0x01, - 0x00, 0x20, 0x04, 0x00, 0x80, 0x20, 0x04, 0x00, 0x81, 0xFF, 0x00, 0x03, - 0xFE, 0x00, 0x20, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, - 0x00, 0x20, 0x40, 0x40, 0x80, 0x81, 0x01, 0x02, 0x04, 0x06, 0x10, 0x07, - 0xC0, 0x00, 0x1F, 0x1E, 0x10, 0x10, 0x20, 0xC0, 0x43, 0x00, 0x88, 0x01, - 0x20, 0x07, 0xC0, 0x0C, 0x40, 0x10, 0x40, 0x20, 0x80, 0x41, 0x01, 0x81, - 0x02, 0x02, 0x1F, 0x87, 0x00, 0x3F, 0x80, 0x40, 0x04, 0x00, 0x40, 0x08, - 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x01, 0x01, 0x10, 0x11, 0x02, 0x10, - 0x2F, 0xFE, 0x1C, 0x03, 0x85, 0x03, 0x02, 0x82, 0x81, 0x41, 0x40, 0xA1, - 0x20, 0x89, 0x30, 0x44, 0x90, 0x22, 0x88, 0x11, 0x44, 0x08, 0x42, 0x08, - 0x03, 0x04, 0x01, 0x02, 0x00, 0x87, 0xC3, 0xE0, 0x3C, 0x3E, 0x18, 0x08, - 0x38, 0x20, 0x50, 0x41, 0x20, 0x82, 0x61, 0x04, 0x42, 0x08, 0x88, 0x10, - 0x90, 0x41, 0x20, 0x83, 0x41, 0x02, 0x82, 0x06, 0x1F, 0x04, 0x00, 0x03, - 0xC0, 0x61, 0x84, 0x04, 0x40, 0x14, 0x00, 0xA0, 0x06, 0x00, 0x30, 0x01, - 0x80, 0x14, 0x00, 0xA0, 0x08, 0x80, 0x86, 0x18, 0x0F, 0x00, 0x1F, 0xE0, - 0x40, 0x82, 0x02, 0x10, 0x10, 0x80, 0x84, 0x08, 0x40, 0x83, 0xF8, 0x10, - 0x00, 0x80, 0x04, 0x00, 0x60, 0x02, 0x00, 0x7F, 0x00, 0x03, 0xC0, 0x61, - 0x84, 0x04, 0x40, 0x14, 0x00, 0xA0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x14, - 0x00, 0xA0, 0x08, 0x80, 0x86, 0x18, 0x1F, 0x00, 0x40, 0x0F, 0xC4, 0x41, - 0xC0, 0x1F, 0xE0, 0x40, 0x82, 0x02, 0x10, 0x10, 0x80, 0x84, 0x08, 0x60, - 0x83, 0xF8, 0x10, 0xC0, 0x82, 0x04, 0x08, 0x40, 0x42, 0x03, 0x7E, 0x0C, - 0x07, 0xA3, 0x0C, 0x40, 0x90, 0x12, 0x00, 0x40, 0x06, 0x00, 0x3C, 0x00, - 0x40, 0x0A, 0x01, 0x40, 0x4C, 0x11, 0x7C, 0x00, 0xFF, 0xE8, 0x42, 0x84, - 0x20, 0x40, 0x04, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x10, - 0x01, 0x00, 0x10, 0x0F, 0xE0, 0xF8, 0xF9, 0x00, 0x88, 0x08, 0x80, 0x44, - 0x02, 0x20, 0x11, 0x01, 0x08, 0x08, 0x80, 0x44, 0x02, 0x20, 0x31, 0x01, - 0x04, 0x30, 0x1E, 0x00, 0xF8, 0x7D, 0x00, 0x42, 0x01, 0x08, 0x08, 0x20, - 0x40, 0x81, 0x02, 0x08, 0x08, 0x20, 0x11, 0x00, 0x48, 0x01, 0x20, 0x05, - 0x00, 0x14, 0x00, 0x60, 0x00, 0xF8, 0x7D, 0x00, 0x44, 0x01, 0x11, 0x84, - 0x46, 0x21, 0x18, 0x84, 0xA2, 0x12, 0x90, 0x91, 0x42, 0x45, 0x0A, 0x14, - 0x28, 0x60, 0xC1, 0x83, 0x06, 0x00, 0x1E, 0x1E, 0x10, 0x10, 0x10, 0x40, - 0x21, 0x00, 0x24, 0x00, 0x78, 0x00, 0x60, 0x01, 0xC0, 0x06, 0x80, 0x09, - 0x80, 0x21, 0x00, 0x81, 0x02, 0x02, 0x1E, 0x1F, 0x00, 0xF0, 0xF4, 0x04, - 0x20, 0x82, 0x18, 0x11, 0x01, 0x20, 0x1C, 0x00, 0x80, 0x08, 0x00, 0x80, - 0x10, 0x01, 0x00, 0x10, 0x0F, 0xE0, 0x0F, 0xF1, 0x01, 0x10, 0x21, 0x04, - 0x00, 0x80, 0x10, 0x02, 0x00, 0x40, 0x0C, 0x01, 0x82, 0x10, 0x22, 0x04, - 0x40, 0x47, 0xFC, 0x0E, 0x20, 0x40, 0x81, 0x02, 0x08, 0x10, 0x20, 0x40, - 0x82, 0x04, 0x08, 0x10, 0x20, 0x81, 0xE0, 0x84, 0x20, 0x84, 0x20, 0x84, - 0x21, 0x04, 0x21, 0x08, 0x21, 0x08, 0x40, 0x1E, 0x04, 0x08, 0x20, 0x40, - 0x81, 0x02, 0x04, 0x10, 0x20, 0x40, 0x81, 0x02, 0x08, 0x11, 0xE0, 0x04, - 0x06, 0x04, 0x84, 0x44, 0x14, 0x0C, 0xFF, 0xFE, 0x99, 0x90, 0x1F, 0xC0, - 0x06, 0x00, 0x20, 0x02, 0x1F, 0xE6, 0x04, 0xC0, 0x48, 0x04, 0x81, 0xC7, - 0xEF, 0x18, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x09, 0xF0, 0x50, - 0xC3, 0x03, 0x10, 0x08, 0x80, 0x48, 0x02, 0x40, 0x23, 0x03, 0x1C, 0x33, - 0xBE, 0x00, 0x0F, 0xD3, 0x07, 0x60, 0x24, 0x02, 0x80, 0x08, 0x00, 0x80, - 0x08, 0x06, 0x41, 0xC3, 0xF0, 0x00, 0x38, 0x00, 0x40, 0x02, 0x00, 0x20, - 0x01, 0x07, 0xC8, 0x43, 0x44, 0x0E, 0x40, 0x24, 0x01, 0x20, 0x09, 0x00, - 0xC8, 0x0E, 0x20, 0xE0, 0xF9, 0xC0, 0x0F, 0x86, 0x09, 0x00, 0xA0, 0x1F, - 0xFF, 0x00, 0x20, 0x06, 0x00, 0x60, 0xC7, 0xE0, 0x01, 0xF8, 0x10, 0x01, - 0x00, 0x08, 0x00, 0x40, 0x1F, 0xF0, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, - 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x03, 0xFE, 0x00, 0x0F, 0x31, 0x86, - 0x10, 0x10, 0x80, 0x88, 0x04, 0x40, 0x22, 0x02, 0x10, 0x10, 0x43, 0x81, - 0xE4, 0x00, 0x40, 0x02, 0x00, 0x20, 0x3E, 0x00, 0x1C, 0x00, 0x20, 0x03, - 0x00, 0x10, 0x00, 0x80, 0x05, 0xF0, 0x30, 0xC3, 0x02, 0x10, 0x10, 0x80, - 0x84, 0x0C, 0x20, 0x63, 0x02, 0x10, 0x13, 0xE3, 0xE0, 0x01, 0x80, 0x40, - 0x10, 0x00, 0x00, 0x07, 0xC0, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, - 0x04, 0x01, 0x0F, 0xFC, 0x00, 0x40, 0x10, 0x0C, 0x00, 0x00, 0x07, 0xF0, - 0x04, 0x01, 0x00, 0x40, 0x20, 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, - 0x01, 0x00, 0x8F, 0xC0, 0x18, 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x01, - 0x1F, 0x10, 0x81, 0x30, 0x14, 0x01, 0xC0, 0x26, 0x02, 0x20, 0x21, 0x02, - 0x08, 0xE1, 0xE0, 0x0F, 0x80, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, 0x20, - 0x08, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, 0x01, 0x0F, 0xFC, 0x3B, 0xB8, - 0x33, 0x91, 0x08, 0x44, 0x21, 0x10, 0x84, 0x42, 0x12, 0x10, 0x48, 0x42, - 0x21, 0x0B, 0xC6, 0x30, 0x19, 0xE0, 0xE3, 0x08, 0x11, 0x01, 0x10, 0x11, - 0x02, 0x10, 0x21, 0x02, 0x20, 0x2F, 0x87, 0x0F, 0x86, 0x19, 0x80, 0xA0, - 0x18, 0x03, 0x00, 0x60, 0x14, 0x06, 0x61, 0x87, 0xC0, 0x19, 0xF0, 0x28, - 0x20, 0xC0, 0x42, 0x01, 0x10, 0x04, 0x40, 0x11, 0x00, 0x86, 0x06, 0x14, - 0x30, 0xCF, 0x02, 0x00, 0x08, 0x00, 0x20, 0x03, 0xF0, 0x00, 0x0F, 0x39, - 0x85, 0x18, 0x18, 0x80, 0x88, 0x04, 0x40, 0x22, 0x01, 0x18, 0x18, 0x63, - 0x81, 0xE4, 0x00, 0x20, 0x01, 0x00, 0x10, 0x07, 0xE0, 0x1C, 0x78, 0x2C, - 0x01, 0x80, 0x18, 0x00, 0x80, 0x04, 0x00, 0x20, 0x02, 0x00, 0x10, 0x07, - 0xFC, 0x00, 0x0F, 0x44, 0x32, 0x04, 0x80, 0x1E, 0x00, 0x60, 0x0A, 0x02, - 0xC1, 0x2F, 0x80, 0x10, 0x08, 0x04, 0x02, 0x0F, 0xF9, 0x00, 0x80, 0x40, - 0x20, 0x20, 0x10, 0x08, 0x04, 0x19, 0xF0, 0xE0, 0xF2, 0x02, 0x40, 0x24, - 0x02, 0x40, 0x24, 0x06, 0x40, 0x44, 0x04, 0x41, 0xC3, 0xE6, 0xF8, 0xFA, - 0x01, 0x08, 0x10, 0x41, 0x02, 0x08, 0x10, 0x80, 0x48, 0x02, 0x40, 0x14, - 0x00, 0xC0, 0x00, 0xE0, 0x7A, 0x01, 0x10, 0x08, 0x8C, 0x84, 0xA4, 0x25, - 0x21, 0x4A, 0x0A, 0x50, 0x63, 0x02, 0x18, 0x00, 0x1E, 0x3C, 0x20, 0x40, - 0x46, 0x00, 0xB0, 0x03, 0x00, 0x0E, 0x00, 0xC8, 0x06, 0x10, 0x20, 0x23, - 0xE3, 0xC0, 0x3C, 0x3C, 0x40, 0x20, 0x81, 0x02, 0x08, 0x08, 0x20, 0x31, - 0x00, 0x48, 0x01, 0x40, 0x05, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x08, - 0x03, 0xF0, 0x00, 0x3F, 0xC4, 0x18, 0x06, 0x01, 0x80, 0x60, 0x10, 0x04, - 0x01, 0x00, 0x40, 0x9F, 0xF0, 0x06, 0x10, 0x20, 0x41, 0x02, 0x04, 0x08, - 0x21, 0x80, 0x81, 0x02, 0x08, 0x10, 0x20, 0x40, 0xC0, 0x01, 0x11, 0x12, - 0x22, 0x24, 0x44, 0x44, 0x88, 0x80, 0x0C, 0x08, 0x10, 0x20, 0x40, 0x82, - 0x04, 0x08, 0x0C, 0x20, 0x81, 0x02, 0x04, 0x08, 0x21, 0x80, 0x38, 0x28, - 0x88, 0x0E, 0x00 }; - -const GFXglyph FreeMonoOblique12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 14, 0, 1 }, // 0x20 ' ' - { 0, 4, 15, 14, 6, -14 }, // 0x21 '!' - { 8, 8, 7, 14, 5, -14 }, // 0x22 '"' - { 15, 11, 16, 14, 3, -14 }, // 0x23 '#' - { 37, 10, 18, 14, 4, -15 }, // 0x24 '$' - { 60, 11, 15, 14, 3, -14 }, // 0x25 '%' - { 81, 9, 12, 14, 3, -11 }, // 0x26 '&' - { 95, 3, 7, 14, 8, -14 }, // 0x27 ''' - { 98, 5, 18, 14, 8, -14 }, // 0x28 '(' - { 110, 5, 18, 14, 4, -14 }, // 0x29 ')' - { 122, 9, 9, 14, 5, -14 }, // 0x2A '*' - { 133, 11, 11, 14, 3, -11 }, // 0x2B '+' - { 149, 6, 7, 14, 3, -3 }, // 0x2C ',' - { 155, 11, 1, 14, 3, -6 }, // 0x2D '-' - { 157, 3, 3, 14, 6, -2 }, // 0x2E '.' - { 159, 13, 18, 14, 2, -15 }, // 0x2F '/' - { 189, 10, 15, 14, 4, -14 }, // 0x30 '0' - { 208, 9, 15, 14, 3, -14 }, // 0x31 '1' - { 225, 12, 15, 14, 2, -14 }, // 0x32 '2' - { 248, 11, 15, 14, 3, -14 }, // 0x33 '3' - { 269, 10, 15, 14, 3, -14 }, // 0x34 '4' - { 288, 11, 15, 14, 3, -14 }, // 0x35 '5' - { 309, 11, 15, 14, 4, -14 }, // 0x36 '6' - { 330, 10, 15, 14, 5, -14 }, // 0x37 '7' - { 349, 11, 15, 14, 3, -14 }, // 0x38 '8' - { 370, 11, 15, 14, 3, -14 }, // 0x39 '9' - { 391, 5, 10, 14, 5, -9 }, // 0x3A ':' - { 398, 7, 13, 14, 3, -9 }, // 0x3B ';' - { 410, 12, 11, 14, 3, -11 }, // 0x3C '<' - { 427, 13, 4, 14, 2, -8 }, // 0x3D '=' - { 434, 12, 11, 14, 2, -11 }, // 0x3E '>' - { 451, 8, 14, 14, 6, -13 }, // 0x3F '?' - { 465, 10, 16, 14, 3, -14 }, // 0x40 '@' - { 485, 14, 14, 14, 0, -13 }, // 0x41 'A' - { 510, 13, 14, 14, 1, -13 }, // 0x42 'B' - { 533, 12, 14, 14, 3, -13 }, // 0x43 'C' - { 554, 13, 14, 14, 1, -13 }, // 0x44 'D' - { 577, 14, 14, 14, 1, -13 }, // 0x45 'E' - { 602, 14, 14, 14, 1, -13 }, // 0x46 'F' - { 627, 12, 14, 14, 3, -13 }, // 0x47 'G' - { 648, 15, 14, 14, 1, -13 }, // 0x48 'H' - { 675, 11, 14, 14, 3, -13 }, // 0x49 'I' - { 695, 15, 14, 14, 2, -13 }, // 0x4A 'J' - { 722, 15, 14, 14, 1, -13 }, // 0x4B 'K' - { 749, 12, 14, 14, 2, -13 }, // 0x4C 'L' - { 770, 17, 14, 14, 0, -13 }, // 0x4D 'M' - { 800, 15, 14, 14, 1, -13 }, // 0x4E 'N' - { 827, 13, 14, 14, 2, -13 }, // 0x4F 'O' - { 850, 13, 14, 14, 1, -13 }, // 0x50 'P' - { 873, 13, 17, 14, 2, -13 }, // 0x51 'Q' - { 901, 13, 14, 14, 1, -13 }, // 0x52 'R' - { 924, 11, 14, 14, 3, -13 }, // 0x53 'S' - { 944, 12, 14, 14, 4, -13 }, // 0x54 'T' - { 965, 13, 14, 14, 3, -13 }, // 0x55 'U' - { 988, 14, 14, 14, 3, -13 }, // 0x56 'V' - { 1013, 14, 14, 14, 3, -13 }, // 0x57 'W' - { 1038, 15, 14, 14, 1, -13 }, // 0x58 'X' - { 1065, 12, 14, 14, 4, -13 }, // 0x59 'Y' - { 1086, 12, 14, 14, 2, -13 }, // 0x5A 'Z' - { 1107, 7, 18, 14, 6, -14 }, // 0x5B '[' - { 1123, 5, 18, 14, 6, -15 }, // 0x5C '\' - { 1135, 7, 18, 14, 3, -14 }, // 0x5D ']' - { 1151, 9, 6, 14, 5, -14 }, // 0x5E '^' - { 1158, 15, 1, 14, -1, 3 }, // 0x5F '_' - { 1160, 3, 4, 14, 6, -15 }, // 0x60 '`' - { 1162, 12, 10, 14, 2, -9 }, // 0x61 'a' - { 1177, 13, 15, 14, 1, -14 }, // 0x62 'b' - { 1202, 12, 10, 14, 3, -9 }, // 0x63 'c' - { 1217, 13, 15, 14, 2, -14 }, // 0x64 'd' - { 1242, 11, 10, 14, 3, -9 }, // 0x65 'e' - { 1256, 13, 15, 14, 3, -14 }, // 0x66 'f' - { 1281, 13, 14, 14, 3, -9 }, // 0x67 'g' - { 1304, 13, 15, 14, 1, -14 }, // 0x68 'h' - { 1329, 10, 15, 14, 2, -14 }, // 0x69 'i' - { 1348, 10, 19, 14, 2, -14 }, // 0x6A 'j' - { 1372, 12, 15, 14, 2, -14 }, // 0x6B 'k' - { 1395, 10, 15, 14, 2, -14 }, // 0x6C 'l' - { 1414, 14, 10, 14, 0, -9 }, // 0x6D 'm' - { 1432, 12, 10, 14, 1, -9 }, // 0x6E 'n' - { 1447, 11, 10, 14, 3, -9 }, // 0x6F 'o' - { 1461, 14, 14, 14, 0, -9 }, // 0x70 'p' - { 1486, 13, 14, 14, 3, -9 }, // 0x71 'q' - { 1509, 13, 10, 14, 2, -9 }, // 0x72 'r' - { 1526, 10, 10, 14, 3, -9 }, // 0x73 's' - { 1539, 9, 14, 14, 3, -13 }, // 0x74 't' - { 1555, 12, 10, 14, 2, -9 }, // 0x75 'u' - { 1570, 13, 10, 14, 3, -9 }, // 0x76 'v' - { 1587, 13, 10, 14, 3, -9 }, // 0x77 'w' - { 1604, 14, 10, 14, 1, -9 }, // 0x78 'x' - { 1622, 14, 14, 14, 1, -9 }, // 0x79 'y' - { 1647, 11, 10, 14, 3, -9 }, // 0x7A 'z' - { 1661, 7, 18, 14, 5, -14 }, // 0x7B '{' - { 1677, 4, 17, 14, 6, -13 }, // 0x7C '|' - { 1686, 7, 18, 14, 4, -14 }, // 0x7D '}' - { 1702, 11, 3, 14, 3, -7 } }; // 0x7E '~' - -const GFXfont FreeMonoOblique12pt7b PROGMEM = { - (uint8_t *)FreeMonoOblique12pt7bBitmaps, - (GFXglyph *)FreeMonoOblique12pt7bGlyphs, - 0x20, 0x7E, 24 }; - -// Approx. 2379 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h deleted file mode 100644 index 1979e72..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique18pt7b.h +++ /dev/null @@ -1,398 +0,0 @@ -const uint8_t FreeMonoOblique18pt7bBitmaps[] PROGMEM = { - 0x00, 0x1C, 0x38, 0x70, 0xC1, 0x83, 0x06, 0x18, 0x30, 0x60, 0xC1, 0x02, - 0x04, 0x00, 0x00, 0x01, 0xC7, 0x8F, 0x1C, 0x00, 0x78, 0x7B, 0xC3, 0xFC, - 0x3D, 0xE1, 0xEF, 0x0F, 0x70, 0x73, 0x83, 0x98, 0x18, 0xC0, 0xC6, 0x06, - 0x00, 0x00, 0x8C, 0x01, 0x18, 0x06, 0x20, 0x08, 0x40, 0x11, 0x80, 0x62, - 0x00, 0xC4, 0x01, 0x18, 0x02, 0x30, 0x7F, 0xFC, 0x10, 0x80, 0x23, 0x00, - 0xC4, 0x01, 0x88, 0x3F, 0xFF, 0x04, 0x60, 0x18, 0x80, 0x21, 0x00, 0x46, - 0x01, 0x88, 0x03, 0x10, 0x04, 0x60, 0x08, 0xC0, 0x31, 0x00, 0x00, 0x30, - 0x00, 0x20, 0x00, 0x20, 0x00, 0xF9, 0x03, 0x0F, 0x06, 0x03, 0x04, 0x03, - 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0xC0, 0x00, 0x78, - 0x00, 0x0C, 0x00, 0x04, 0x00, 0x04, 0x40, 0x04, 0x40, 0x08, 0x40, 0x18, - 0xF0, 0x60, 0x9F, 0x80, 0x02, 0x00, 0x06, 0x00, 0x04, 0x00, 0x04, 0x00, - 0x04, 0x00, 0x03, 0xC0, 0x0C, 0x60, 0x08, 0x20, 0x10, 0x20, 0x10, 0x20, - 0x10, 0x40, 0x18, 0x80, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x78, 0x07, 0xC0, - 0x3C, 0x00, 0xE0, 0x00, 0x01, 0xE0, 0x02, 0x18, 0x04, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x10, 0x0C, 0x20, 0x07, 0xC0, 0x01, 0xF0, 0x11, 0x81, - 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x80, 0x04, 0x00, 0xF0, - 0x09, 0x86, 0x84, 0x48, 0x32, 0x40, 0xA2, 0x07, 0x10, 0x30, 0x43, 0x81, - 0xE7, 0x80, 0x7B, 0xFD, 0xEF, 0x73, 0x98, 0xC6, 0x00, 0x01, 0x02, 0x06, - 0x0C, 0x0C, 0x18, 0x10, 0x30, 0x30, 0x60, 0x60, 0x60, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x60, 0x60, 0x20, 0x04, 0x06, - 0x06, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06, - 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x10, 0x30, 0x60, 0x40, 0xC0, 0x01, - 0x00, 0x04, 0x00, 0x10, 0x00, 0xC6, 0xE3, 0xF8, 0x7E, 0x00, 0x70, 0x03, - 0x40, 0x19, 0x80, 0xC2, 0x06, 0x0C, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x02, - 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0xFF, 0xFE, - 0x02, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x02, - 0x00, 0x04, 0x00, 0x0F, 0x87, 0x87, 0x83, 0x83, 0xC1, 0xC1, 0xC0, 0xC0, - 0xE0, 0x60, 0x00, 0xFF, 0xFF, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x60, - 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x04, 0x00, - 0x01, 0x80, 0x00, 0x60, 0x00, 0x08, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, - 0x10, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x20, 0x00, 0x0C, 0x00, 0x03, - 0x00, 0x00, 0x40, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x20, - 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 0x01, - 0xF0, 0x18, 0x60, 0x80, 0x86, 0x01, 0x10, 0x04, 0x80, 0x12, 0x00, 0x50, - 0x01, 0x40, 0x0D, 0x00, 0x24, 0x00, 0xA0, 0x02, 0x80, 0x1A, 0x00, 0x48, - 0x01, 0x20, 0x0C, 0x80, 0x22, 0x01, 0x84, 0x0C, 0x18, 0x60, 0x3E, 0x00, - 0x00, 0x60, 0x07, 0x00, 0x68, 0x06, 0x40, 0xE4, 0x04, 0x20, 0x01, 0x00, - 0x08, 0x00, 0x40, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, - 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x80, 0x04, 0x0F, 0xFF, 0x80, 0x00, - 0x3C, 0x00, 0x61, 0x80, 0x40, 0x40, 0x40, 0x10, 0x60, 0x08, 0x00, 0x04, - 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x07, - 0x00, 0x06, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x0C, - 0x00, 0x1C, 0x01, 0x1C, 0x00, 0x8F, 0xFF, 0xC0, 0x00, 0xFC, 0x03, 0x06, - 0x06, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, - 0x00, 0x0C, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x40, 0x18, 0x70, 0x30, - 0x0F, 0xC0, 0x00, 0x1C, 0x00, 0xD0, 0x06, 0x80, 0x32, 0x00, 0x88, 0x04, - 0x20, 0x30, 0x81, 0x84, 0x04, 0x10, 0x20, 0x41, 0x81, 0x0C, 0x08, 0x60, - 0x21, 0x00, 0x8F, 0xFF, 0x80, 0x18, 0x00, 0x40, 0x01, 0x00, 0x04, 0x00, - 0x10, 0x07, 0xE0, 0x03, 0xFF, 0x03, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, - 0x40, 0x00, 0x20, 0x00, 0x30, 0x00, 0x1B, 0xE0, 0x0E, 0x0C, 0x00, 0x02, - 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, - 0x08, 0x00, 0x04, 0x60, 0x04, 0x18, 0x04, 0x06, 0x0C, 0x00, 0xF8, 0x00, - 0x00, 0x3F, 0x00, 0xC0, 0x03, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, - 0x30, 0x00, 0x20, 0x00, 0x40, 0x00, 0x43, 0xE0, 0x4C, 0x30, 0xB0, 0x18, - 0xE0, 0x08, 0xC0, 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x10, 0xC0, 0x10, - 0x40, 0x20, 0x20, 0xC0, 0x1F, 0x00, 0xFF, 0xFC, 0x00, 0xE0, 0x04, 0x00, - 0x60, 0x02, 0x00, 0x30, 0x01, 0x00, 0x18, 0x00, 0x80, 0x0C, 0x00, 0x40, - 0x06, 0x00, 0x20, 0x03, 0x00, 0x10, 0x01, 0x80, 0x08, 0x00, 0xC0, 0x04, - 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0xF0, 0x06, 0x18, 0x10, 0x18, 0x40, - 0x11, 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x02, 0x18, 0x08, 0x18, 0x60, - 0x1F, 0x80, 0xC1, 0x82, 0x01, 0x88, 0x01, 0x20, 0x02, 0x40, 0x04, 0x80, - 0x09, 0x00, 0x23, 0x00, 0x83, 0x06, 0x01, 0xF0, 0x00, 0x00, 0xF0, 0x06, - 0x18, 0x10, 0x10, 0x40, 0x30, 0x80, 0x22, 0x00, 0x44, 0x00, 0x88, 0x03, - 0x10, 0x0E, 0x30, 0x34, 0x30, 0xD0, 0x3E, 0x20, 0x00, 0x40, 0x01, 0x00, - 0x02, 0x00, 0x08, 0x00, 0x20, 0x00, 0xC0, 0x02, 0x00, 0x18, 0x0F, 0xC0, - 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xC7, 0xCF, - 0x9F, 0x1C, 0x00, 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x1C, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x07, 0x81, 0xE0, 0x3C, 0x0F, 0x01, - 0xC0, 0x70, 0x0E, 0x03, 0x80, 0x60, 0x00, 0x00, 0x01, 0x80, 0x03, 0x80, - 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, - 0xE0, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x07, - 0x00, 0x00, 0xE0, 0x00, 0x38, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x18, 0x00, 0x03, 0x80, - 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, - 0x00, 0x0E, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, - 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x1F, 0xCE, 0x06, 0x80, - 0x38, 0x01, 0x80, 0x10, 0x01, 0x00, 0x20, 0x04, 0x01, 0x80, 0xF0, 0x18, - 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x80, 0xF8, - 0x07, 0x00, 0x01, 0xF0, 0x0C, 0x30, 0x30, 0x30, 0x40, 0x21, 0x00, 0x44, - 0x00, 0x88, 0x01, 0x10, 0x1E, 0x40, 0xC4, 0x86, 0x11, 0x08, 0x22, 0x20, - 0x48, 0x40, 0x90, 0x82, 0x21, 0x84, 0x40, 0xFC, 0x80, 0x01, 0x00, 0x02, - 0x00, 0x04, 0x00, 0x04, 0x00, 0x0C, 0x18, 0x07, 0xC0, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x68, 0x00, 0x06, 0x40, 0x00, 0x32, 0x00, 0x03, 0x10, 0x00, - 0x10, 0x80, 0x01, 0x84, 0x00, 0x18, 0x10, 0x00, 0xC0, 0x80, 0x0C, 0x04, - 0x00, 0x60, 0x20, 0x06, 0x01, 0x00, 0x3F, 0xFC, 0x02, 0x00, 0x20, 0x10, - 0x01, 0x01, 0x00, 0x08, 0x08, 0x00, 0x40, 0x80, 0x02, 0x0C, 0x00, 0x09, - 0xFC, 0x07, 0xF0, 0x0F, 0xFF, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, - 0x02, 0x00, 0x40, 0x80, 0x10, 0x40, 0x08, 0x10, 0x06, 0x04, 0x03, 0x01, - 0xFF, 0x80, 0x40, 0x38, 0x20, 0x02, 0x08, 0x00, 0x42, 0x00, 0x10, 0x80, - 0x04, 0x40, 0x01, 0x10, 0x00, 0x84, 0x00, 0x41, 0x00, 0x23, 0xFF, 0xF0, - 0x00, 0xFC, 0x40, 0xC1, 0xF0, 0xC0, 0x1C, 0x60, 0x06, 0x10, 0x00, 0x88, - 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x08, 0x00, - 0x02, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x03, 0x00, 0x00, - 0x40, 0x06, 0x08, 0x03, 0x01, 0x83, 0x80, 0x3F, 0x00, 0x0F, 0xFE, 0x00, - 0x80, 0xC0, 0x20, 0x18, 0x10, 0x02, 0x04, 0x00, 0x41, 0x00, 0x10, 0x40, - 0x04, 0x20, 0x01, 0x08, 0x00, 0x42, 0x00, 0x10, 0x80, 0x08, 0x20, 0x02, - 0x10, 0x00, 0x84, 0x00, 0x21, 0x00, 0x10, 0x40, 0x08, 0x20, 0x06, 0x08, - 0x03, 0x02, 0x01, 0x83, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x10, 0x02, 0x02, - 0x00, 0x60, 0x20, 0x06, 0x02, 0x00, 0x60, 0x20, 0x00, 0x04, 0x00, 0x00, - 0x40, 0x80, 0x04, 0x10, 0x00, 0x7F, 0x00, 0x04, 0x10, 0x00, 0x81, 0x00, - 0x08, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x81, 0x00, 0x08, 0x10, 0x00, - 0x81, 0x00, 0x18, 0x10, 0x01, 0x8F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x10, - 0x03, 0x02, 0x00, 0x30, 0x20, 0x03, 0x02, 0x00, 0x20, 0x20, 0x00, 0x04, - 0x00, 0x00, 0x40, 0x80, 0x04, 0x10, 0x00, 0x7F, 0x00, 0x04, 0x10, 0x00, - 0x81, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, - 0x10, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFE, - 0x40, 0xC0, 0xF0, 0x40, 0x1C, 0x20, 0x03, 0x10, 0x00, 0x88, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x01, - 0xFE, 0x80, 0x02, 0x20, 0x00, 0x88, 0x00, 0x22, 0x00, 0x08, 0x40, 0x04, - 0x18, 0x01, 0x03, 0x81, 0xC0, 0x3F, 0x80, 0x07, 0xE1, 0xF8, 0x08, 0x02, - 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x20, 0x04, 0x01, 0x00, 0x20, 0x18, - 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x3F, 0xFC, 0x01, 0x00, 0x60, - 0x10, 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x80, 0x20, 0x04, 0x02, 0x00, - 0x40, 0x10, 0x02, 0x00, 0x80, 0x10, 0x04, 0x00, 0x81, 0xF8, 0x3F, 0x00, - 0x0F, 0xFF, 0x80, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, - 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x20, - 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, - 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x0C, 0x04, 0x00, - 0x80, 0x40, 0x08, 0x08, 0x00, 0x80, 0x80, 0x08, 0x08, 0x01, 0x00, 0x80, - 0x10, 0x0C, 0x02, 0x00, 0x60, 0xC0, 0x01, 0xF0, 0x00, 0x0F, 0xE1, 0xF8, - 0x08, 0x03, 0x00, 0x80, 0x60, 0x04, 0x06, 0x00, 0x20, 0x60, 0x01, 0x06, - 0x00, 0x10, 0xC0, 0x00, 0x8C, 0x00, 0x04, 0xC0, 0x00, 0x2F, 0x80, 0x01, - 0x8E, 0x00, 0x18, 0x30, 0x00, 0x80, 0xC0, 0x04, 0x06, 0x00, 0x20, 0x10, - 0x02, 0x00, 0xC0, 0x10, 0x06, 0x00, 0x80, 0x30, 0x04, 0x00, 0x81, 0xFC, - 0x07, 0x80, 0x07, 0xFC, 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, - 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x40, - 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x10, 0x20, 0x04, - 0x08, 0x01, 0x04, 0x00, 0x81, 0x00, 0x20, 0x40, 0x0B, 0xFF, 0xFE, 0x0F, - 0x00, 0x1E, 0x03, 0x00, 0x38, 0x05, 0x00, 0x68, 0x04, 0x80, 0x68, 0x04, - 0x80, 0xC8, 0x04, 0x80, 0x90, 0x04, 0x81, 0x90, 0x08, 0x43, 0x10, 0x08, - 0x42, 0x10, 0x08, 0x46, 0x10, 0x08, 0x4C, 0x20, 0x10, 0x2C, 0x20, 0x10, - 0x38, 0x20, 0x10, 0x30, 0x20, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, - 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0xFC, 0x07, 0xE0, 0x1F, - 0x01, 0xFC, 0x0C, 0x00, 0x80, 0x78, 0x02, 0x01, 0xE0, 0x18, 0x04, 0x80, - 0x60, 0x13, 0x01, 0x00, 0x4C, 0x04, 0x03, 0x18, 0x10, 0x0C, 0x60, 0xC0, - 0x20, 0x83, 0x00, 0x83, 0x08, 0x06, 0x0C, 0x20, 0x18, 0x18, 0x80, 0x40, - 0x66, 0x01, 0x00, 0x98, 0x04, 0x03, 0x40, 0x30, 0x0D, 0x00, 0xC0, 0x14, - 0x02, 0x00, 0x70, 0x3F, 0x80, 0xC0, 0x00, 0xF8, 0x01, 0x83, 0x01, 0x00, - 0xC1, 0x00, 0x21, 0x00, 0x19, 0x00, 0x04, 0x80, 0x02, 0x80, 0x01, 0x40, - 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x28, 0x00, 0x14, 0x00, 0x12, - 0x00, 0x09, 0x80, 0x08, 0x40, 0x08, 0x30, 0x08, 0x0C, 0x18, 0x01, 0xF0, - 0x00, 0x0F, 0xFE, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, 0x02, 0x00, - 0x40, 0x80, 0x10, 0x40, 0x04, 0x10, 0x02, 0x04, 0x01, 0x01, 0x01, 0x80, - 0x7F, 0x80, 0x20, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x40, - 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xF8, - 0x01, 0x83, 0x01, 0x00, 0xC1, 0x00, 0x21, 0x00, 0x19, 0x00, 0x05, 0x00, - 0x02, 0x80, 0x01, 0x40, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x28, - 0x00, 0x14, 0x00, 0x12, 0x00, 0x09, 0x80, 0x08, 0x40, 0x08, 0x30, 0x08, - 0x0C, 0x18, 0x03, 0xF0, 0x00, 0xC0, 0x01, 0xC0, 0x01, 0xFE, 0x18, 0xC0, - 0xF0, 0x0F, 0xFE, 0x00, 0x40, 0x60, 0x20, 0x0C, 0x08, 0x01, 0x02, 0x00, - 0x40, 0x80, 0x10, 0x40, 0x04, 0x10, 0x02, 0x04, 0x01, 0x01, 0x01, 0x80, - 0x7F, 0x80, 0x20, 0x60, 0x08, 0x0C, 0x02, 0x03, 0x80, 0x80, 0x60, 0x40, - 0x18, 0x10, 0x03, 0x04, 0x00, 0xC1, 0x00, 0x1B, 0xF8, 0x07, 0x00, 0x7E, - 0x40, 0x60, 0xF0, 0x20, 0x1C, 0x10, 0x02, 0x08, 0x00, 0x82, 0x00, 0x00, - 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xC0, 0x00, - 0x18, 0x00, 0x01, 0x00, 0x00, 0x44, 0x00, 0x11, 0x00, 0x04, 0x40, 0x02, - 0x38, 0x01, 0x0B, 0x81, 0x82, 0x3F, 0x80, 0x3F, 0xFF, 0xA0, 0x20, 0x50, - 0x10, 0x28, 0x08, 0x24, 0x08, 0x10, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, - 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x1F, - 0xFC, 0x00, 0x7E, 0x0F, 0xC4, 0x00, 0x42, 0x00, 0x10, 0x80, 0x08, 0x20, - 0x02, 0x08, 0x00, 0x82, 0x00, 0x21, 0x00, 0x08, 0x40, 0x04, 0x10, 0x01, - 0x04, 0x00, 0x41, 0x00, 0x10, 0x80, 0x0C, 0x20, 0x02, 0x08, 0x00, 0x82, - 0x00, 0x60, 0x80, 0x10, 0x10, 0x08, 0x06, 0x0C, 0x00, 0x7C, 0x00, 0xFE, - 0x03, 0xF9, 0x80, 0x02, 0x0C, 0x00, 0x30, 0x20, 0x01, 0x01, 0x00, 0x10, - 0x08, 0x01, 0x80, 0x60, 0x08, 0x03, 0x00, 0xC0, 0x18, 0x04, 0x00, 0x40, - 0x60, 0x02, 0x06, 0x00, 0x10, 0x20, 0x00, 0xC3, 0x00, 0x06, 0x10, 0x00, - 0x31, 0x80, 0x00, 0x88, 0x00, 0x04, 0x80, 0x00, 0x2C, 0x00, 0x01, 0xC0, - 0x00, 0x0E, 0x00, 0x00, 0x7F, 0x07, 0xF2, 0x00, 0x04, 0x20, 0x00, 0xC2, - 0x00, 0x08, 0x20, 0xC0, 0x82, 0x0C, 0x18, 0x21, 0xA1, 0x02, 0x1A, 0x10, - 0x23, 0x23, 0x04, 0x32, 0x30, 0x46, 0x22, 0x04, 0x62, 0x60, 0x4C, 0x26, - 0x04, 0xC2, 0x40, 0x58, 0x24, 0x05, 0x82, 0xC0, 0x70, 0x28, 0x07, 0x02, - 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x00, 0x0F, 0xC1, 0xF8, 0x30, 0x03, 0x00, - 0xC0, 0x30, 0x06, 0x03, 0x00, 0x18, 0x10, 0x00, 0xC1, 0x00, 0x03, 0x18, - 0x00, 0x09, 0x80, 0x00, 0x78, 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x01, - 0xA0, 0x00, 0x19, 0x80, 0x01, 0x84, 0x00, 0x18, 0x30, 0x01, 0x80, 0xC0, - 0x08, 0x06, 0x00, 0x80, 0x18, 0x08, 0x00, 0xC1, 0xF8, 0x3F, 0x80, 0x7E, - 0x0F, 0xC4, 0x00, 0xC1, 0x80, 0x60, 0x20, 0x30, 0x0C, 0x08, 0x03, 0x04, - 0x00, 0x43, 0x00, 0x19, 0x80, 0x02, 0xC0, 0x00, 0xE0, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x40, 0x03, 0xFF, 0x80, 0x0F, 0xFF, 0x86, 0x00, - 0x82, 0x00, 0x81, 0x00, 0xC1, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0x00, - 0xC0, 0x00, 0x40, 0x00, 0x40, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, - 0x60, 0x10, 0x60, 0x18, 0x20, 0x08, 0x20, 0x04, 0x20, 0x02, 0x30, 0x03, - 0x1F, 0xFF, 0x80, 0x07, 0xE0, 0x80, 0x10, 0x02, 0x00, 0xC0, 0x18, 0x02, - 0x00, 0x40, 0x18, 0x03, 0x00, 0x40, 0x08, 0x01, 0x00, 0x60, 0x0C, 0x01, - 0x00, 0x20, 0x04, 0x01, 0x80, 0x30, 0x04, 0x00, 0x80, 0x10, 0x06, 0x00, - 0xFC, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, - 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, - 0x02, 0x02, 0x02, 0x02, 0x00, 0x07, 0xE0, 0x0C, 0x01, 0x00, 0x20, 0x04, - 0x01, 0x80, 0x30, 0x04, 0x00, 0x80, 0x30, 0x06, 0x00, 0x80, 0x10, 0x02, - 0x00, 0xC0, 0x18, 0x02, 0x00, 0x40, 0x18, 0x03, 0x00, 0x40, 0x08, 0x03, - 0x00, 0x60, 0xF8, 0x00, 0x01, 0x00, 0x1C, 0x01, 0xB0, 0x19, 0x81, 0x86, - 0x18, 0x11, 0x80, 0xD8, 0x03, 0x80, 0x18, 0xFF, 0xFF, 0xF8, 0xC7, 0x1C, - 0x71, 0x80, 0x03, 0xF8, 0x0C, 0x0C, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, - 0x00, 0x02, 0x07, 0xFC, 0x18, 0x0C, 0x20, 0x04, 0x40, 0x04, 0x80, 0x04, - 0x80, 0x08, 0x80, 0x38, 0xC0, 0xE8, 0x3F, 0x0F, 0x0F, 0x00, 0x00, 0x20, - 0x00, 0x04, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x04, 0x00, 0x00, 0x87, - 0xC0, 0x13, 0x0C, 0x06, 0x80, 0x40, 0xE0, 0x0C, 0x18, 0x00, 0x82, 0x00, - 0x10, 0xC0, 0x02, 0x10, 0x00, 0x42, 0x00, 0x08, 0x40, 0x02, 0x08, 0x00, - 0x43, 0x80, 0x10, 0x70, 0x04, 0x09, 0x83, 0x0F, 0x1F, 0x80, 0x01, 0xFC, - 0x83, 0x03, 0xC6, 0x00, 0xE4, 0x00, 0x22, 0x00, 0x12, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x18, 0x00, 0x64, - 0x00, 0x61, 0x81, 0xC0, 0x7F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x30, 0x00, - 0x0C, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x60, 0x3F, 0x18, 0x10, 0x64, - 0x18, 0x0D, 0x08, 0x01, 0xC2, 0x00, 0x71, 0x00, 0x0C, 0x80, 0x02, 0x20, - 0x00, 0x88, 0x00, 0x62, 0x00, 0x18, 0x80, 0x0E, 0x20, 0x03, 0x04, 0x03, - 0x40, 0xC1, 0xB0, 0x1F, 0x8F, 0x00, 0x01, 0xF0, 0x0E, 0x0C, 0x18, 0x06, - 0x30, 0x02, 0x60, 0x01, 0x40, 0x01, 0xC0, 0x01, 0xFF, 0xFF, 0x80, 0x00, - 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x60, 0x06, 0x30, 0x1C, 0x0F, 0xE0, - 0x00, 0x1F, 0xE0, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, - 0x02, 0x00, 0x07, 0xFF, 0xC0, 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, - 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x04, 0x00, 0x0F, - 0xFF, 0x00, 0x03, 0xE3, 0xE1, 0x83, 0x60, 0x40, 0x38, 0x10, 0x03, 0x04, - 0x00, 0x60, 0x80, 0x0C, 0x20, 0x01, 0x84, 0x00, 0x20, 0x80, 0x04, 0x10, - 0x01, 0x82, 0x00, 0x30, 0x60, 0x0C, 0x04, 0x02, 0x80, 0x61, 0x90, 0x07, - 0xC6, 0x00, 0x00, 0xC0, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, - 0x30, 0x00, 0x0C, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x40, 0x00, - 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x23, 0xE0, 0x0B, - 0x0C, 0x05, 0x00, 0x81, 0x80, 0x20, 0x40, 0x08, 0x10, 0x02, 0x08, 0x00, - 0x82, 0x00, 0x60, 0x80, 0x18, 0x20, 0x06, 0x10, 0x01, 0x84, 0x00, 0x61, - 0x00, 0x30, 0x40, 0x0C, 0xFC, 0x1F, 0xC0, 0x00, 0x30, 0x00, 0x60, 0x00, - 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x20, - 0x00, 0x40, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, - 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x10, 0x1F, 0xFF, - 0x80, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0xFE, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, - 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x00, - 0x40, 0x00, 0x80, 0x01, 0x00, 0x06, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, - 0x00, 0x80, 0x03, 0x00, 0x0C, 0x0F, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x60, - 0x00, 0x10, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x00, 0x30, 0xFC, - 0x08, 0x18, 0x02, 0x0C, 0x00, 0x8C, 0x00, 0x66, 0x00, 0x1B, 0x00, 0x05, - 0x80, 0x01, 0xB0, 0x00, 0x46, 0x00, 0x31, 0xC0, 0x0C, 0x30, 0x02, 0x06, - 0x00, 0x80, 0xC0, 0x60, 0x30, 0xF8, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x20, - 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, - 0x20, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, - 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, 0x08, 0x0F, 0xFF, 0xC0, - 0x1C, 0xF1, 0xE0, 0xF1, 0xE3, 0x0E, 0x1C, 0x10, 0xC1, 0x81, 0x08, 0x10, - 0x30, 0x81, 0x03, 0x18, 0x10, 0x21, 0x83, 0x02, 0x10, 0x30, 0x21, 0x02, - 0x06, 0x10, 0x20, 0x63, 0x02, 0x04, 0x30, 0x60, 0x42, 0x06, 0x04, 0xF8, - 0x70, 0xF0, 0x0E, 0x3E, 0x01, 0x60, 0x81, 0xC0, 0x20, 0xC0, 0x10, 0x40, - 0x08, 0x20, 0x04, 0x30, 0x02, 0x10, 0x02, 0x08, 0x01, 0x04, 0x00, 0x82, - 0x00, 0x42, 0x00, 0x21, 0x00, 0x20, 0x80, 0x13, 0xF0, 0x3E, 0x01, 0xF0, - 0x06, 0x0C, 0x18, 0x06, 0x20, 0x03, 0x60, 0x01, 0x40, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x02, 0x80, 0x06, 0xC0, 0x04, 0x40, 0x18, - 0x30, 0x60, 0x1F, 0x80, 0x0F, 0x1F, 0x80, 0x16, 0x0C, 0x01, 0xC0, 0x20, - 0x30, 0x03, 0x03, 0x00, 0x10, 0x20, 0x01, 0x02, 0x00, 0x10, 0x40, 0x01, - 0x04, 0x00, 0x10, 0x40, 0x02, 0x06, 0x00, 0x60, 0x60, 0x04, 0x0B, 0x00, - 0x80, 0x98, 0x30, 0x08, 0xFC, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00, - 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x0F, 0xF0, 0x00, 0x03, - 0xF1, 0xE1, 0x83, 0x20, 0x40, 0x34, 0x10, 0x03, 0x84, 0x00, 0x30, 0x80, - 0x04, 0x20, 0x00, 0x84, 0x00, 0x10, 0x80, 0x06, 0x10, 0x00, 0xC2, 0x00, - 0x30, 0x60, 0x0E, 0x04, 0x03, 0x40, 0x60, 0xC8, 0x07, 0xE2, 0x00, 0x00, - 0x40, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x01, - 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x87, 0xC0, 0x23, 0x08, 0x04, 0xC0, 0x00, - 0xE0, 0x00, 0x18, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x02, - 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x08, - 0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFA, 0x0C, 0x1C, 0x20, 0x08, 0x80, 0x11, - 0x00, 0x03, 0x00, 0x03, 0xF8, 0x00, 0x7C, 0x00, 0x0C, 0x00, 0x09, 0x00, - 0x16, 0x00, 0x2C, 0x00, 0x9E, 0x06, 0x27, 0xF0, 0x00, 0x08, 0x00, 0x40, - 0x02, 0x00, 0x10, 0x00, 0x80, 0x7F, 0xFC, 0x40, 0x02, 0x00, 0x10, 0x00, - 0x80, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x00, 0x40, - 0x02, 0x00, 0xD8, 0x1C, 0x3F, 0x00, 0xF0, 0x1E, 0x20, 0x04, 0x80, 0x09, - 0x00, 0x12, 0x00, 0x24, 0x00, 0xC8, 0x01, 0x20, 0x02, 0x40, 0x04, 0x80, - 0x09, 0x00, 0x12, 0x00, 0x64, 0x03, 0x8C, 0x1D, 0x0F, 0xC3, 0x80, 0xFE, - 0x0F, 0xE6, 0x00, 0x20, 0x40, 0x08, 0x08, 0x03, 0x01, 0x80, 0x40, 0x30, - 0x18, 0x06, 0x02, 0x00, 0x40, 0x80, 0x08, 0x30, 0x01, 0x84, 0x00, 0x31, - 0x80, 0x02, 0x20, 0x00, 0x48, 0x00, 0x09, 0x00, 0x01, 0xC0, 0x00, 0xF8, - 0x0F, 0xA0, 0x01, 0x90, 0x00, 0x88, 0x40, 0xC4, 0x30, 0x42, 0x18, 0x61, - 0x1A, 0x20, 0x8D, 0x10, 0x4C, 0x98, 0x26, 0x48, 0x16, 0x2C, 0x0B, 0x14, - 0x07, 0x0A, 0x03, 0x07, 0x01, 0x81, 0x00, 0x0F, 0x83, 0xE0, 0xC0, 0x18, - 0x0C, 0x0C, 0x01, 0x83, 0x00, 0x18, 0xC0, 0x01, 0xB0, 0x00, 0x1C, 0x00, - 0x03, 0x00, 0x00, 0xF0, 0x00, 0x63, 0x00, 0x18, 0x30, 0x06, 0x06, 0x01, - 0x80, 0x60, 0x60, 0x06, 0x3F, 0x07, 0xE0, 0x0F, 0xC0, 0xF8, 0x30, 0x01, - 0x00, 0x80, 0x18, 0x04, 0x00, 0x80, 0x30, 0x0C, 0x01, 0x80, 0xC0, 0x04, - 0x04, 0x00, 0x30, 0x60, 0x01, 0x86, 0x00, 0x04, 0x20, 0x00, 0x23, 0x00, - 0x01, 0xB0, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x00, 0x01, 0x80, 0x00, 0x08, - 0x00, 0x00, 0xC0, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, - 0x20, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xFF, 0x10, 0x06, 0x10, 0x0C, 0x10, - 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, - 0x00, 0x0C, 0x00, 0x18, 0x04, 0x30, 0x0C, 0x60, 0x0C, 0xFF, 0xF8, 0x00, - 0xE0, 0x20, 0x08, 0x01, 0x00, 0x20, 0x04, 0x01, 0x00, 0x20, 0x04, 0x00, - 0x80, 0x20, 0x08, 0x0E, 0x00, 0x60, 0x04, 0x00, 0x80, 0x10, 0x02, 0x00, - 0x40, 0x08, 0x02, 0x00, 0x40, 0x08, 0x01, 0x00, 0x18, 0x00, 0x00, 0x10, - 0xC3, 0x08, 0x20, 0x86, 0x18, 0x41, 0x04, 0x30, 0xC2, 0x08, 0x21, 0x86, - 0x10, 0x43, 0x0C, 0x20, 0x06, 0x00, 0x40, 0x10, 0x04, 0x01, 0x00, 0x40, - 0x10, 0x04, 0x02, 0x00, 0x80, 0x20, 0x0C, 0x01, 0xC0, 0xC0, 0x40, 0x10, - 0x04, 0x03, 0x00, 0x80, 0x20, 0x08, 0x02, 0x01, 0x00, 0xC0, 0xE0, 0x00, - 0x1E, 0x02, 0x66, 0x0D, 0x86, 0x16, 0x06, 0x48, 0x07, 0x00 }; - -const GFXglyph FreeMonoOblique18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 21, 0, 1 }, // 0x20 ' ' - { 0, 7, 22, 21, 9, -21 }, // 0x21 '!' - { 20, 13, 10, 21, 7, -20 }, // 0x22 '"' - { 37, 15, 24, 21, 5, -21 }, // 0x23 '#' - { 82, 16, 26, 21, 4, -22 }, // 0x24 '$' - { 134, 16, 21, 21, 5, -20 }, // 0x25 '%' - { 176, 13, 18, 21, 5, -17 }, // 0x26 '&' - { 206, 5, 10, 21, 12, -20 }, // 0x27 ''' - { 213, 8, 25, 21, 12, -20 }, // 0x28 '(' - { 238, 8, 25, 21, 5, -20 }, // 0x29 ')' - { 263, 14, 11, 21, 7, -19 }, // 0x2A '*' - { 283, 15, 17, 21, 5, -17 }, // 0x2B '+' - { 315, 9, 10, 21, 4, -4 }, // 0x2C ',' - { 327, 16, 1, 21, 5, -9 }, // 0x2D '-' - { 329, 5, 5, 21, 8, -4 }, // 0x2E '.' - { 333, 19, 26, 21, 3, -22 }, // 0x2F '/' - { 395, 14, 21, 21, 5, -20 }, // 0x30 '0' - { 432, 13, 21, 21, 4, -20 }, // 0x31 '1' - { 467, 17, 21, 21, 3, -20 }, // 0x32 '2' - { 512, 16, 21, 21, 3, -20 }, // 0x33 '3' - { 554, 14, 21, 21, 5, -20 }, // 0x34 '4' - { 591, 17, 21, 21, 4, -20 }, // 0x35 '5' - { 636, 16, 21, 21, 6, -20 }, // 0x36 '6' - { 678, 13, 21, 21, 8, -20 }, // 0x37 '7' - { 713, 15, 21, 21, 5, -20 }, // 0x38 '8' - { 753, 15, 21, 21, 5, -20 }, // 0x39 '9' - { 793, 7, 15, 21, 8, -14 }, // 0x3A ':' - { 807, 11, 20, 21, 4, -14 }, // 0x3B ';' - { 835, 17, 16, 21, 5, -17 }, // 0x3C '<' - { 869, 19, 6, 21, 3, -12 }, // 0x3D '=' - { 884, 18, 16, 21, 3, -17 }, // 0x3E '>' - { 920, 12, 20, 21, 8, -19 }, // 0x3F '?' - { 950, 15, 23, 21, 5, -20 }, // 0x40 '@' - { 994, 21, 20, 21, 0, -19 }, // 0x41 'A' - { 1047, 18, 20, 21, 2, -19 }, // 0x42 'B' - { 1092, 18, 20, 21, 4, -19 }, // 0x43 'C' - { 1137, 18, 20, 21, 2, -19 }, // 0x44 'D' - { 1182, 20, 20, 21, 2, -19 }, // 0x45 'E' - { 1232, 20, 20, 21, 2, -19 }, // 0x46 'F' - { 1282, 18, 20, 21, 4, -19 }, // 0x47 'G' - { 1327, 21, 20, 21, 2, -19 }, // 0x48 'H' - { 1380, 17, 20, 21, 4, -19 }, // 0x49 'I' - { 1423, 20, 20, 21, 4, -19 }, // 0x4A 'J' - { 1473, 21, 20, 21, 2, -19 }, // 0x4B 'K' - { 1526, 18, 20, 21, 2, -19 }, // 0x4C 'L' - { 1571, 24, 20, 21, 1, -19 }, // 0x4D 'M' - { 1631, 22, 20, 21, 2, -19 }, // 0x4E 'N' - { 1686, 17, 20, 21, 4, -19 }, // 0x4F 'O' - { 1729, 18, 20, 21, 2, -19 }, // 0x50 'P' - { 1774, 17, 24, 21, 4, -19 }, // 0x51 'Q' - { 1825, 18, 20, 21, 2, -19 }, // 0x52 'R' - { 1870, 18, 20, 21, 3, -19 }, // 0x53 'S' - { 1915, 17, 20, 21, 5, -19 }, // 0x54 'T' - { 1958, 18, 20, 21, 5, -19 }, // 0x55 'U' - { 2003, 21, 20, 21, 4, -19 }, // 0x56 'V' - { 2056, 20, 20, 21, 4, -19 }, // 0x57 'W' - { 2106, 21, 20, 21, 2, -19 }, // 0x58 'X' - { 2159, 18, 20, 21, 5, -19 }, // 0x59 'Y' - { 2204, 17, 20, 21, 4, -19 }, // 0x5A 'Z' - { 2247, 11, 25, 21, 9, -20 }, // 0x5B '[' - { 2282, 8, 27, 21, 9, -22 }, // 0x5C '\' - { 2309, 11, 25, 21, 5, -20 }, // 0x5D ']' - { 2344, 13, 9, 21, 7, -20 }, // 0x5E '^' - { 2359, 21, 1, 21, -1, 4 }, // 0x5F '_' - { 2362, 5, 5, 21, 9, -21 }, // 0x60 '`' - { 2366, 16, 15, 21, 3, -14 }, // 0x61 'a' - { 2396, 19, 21, 21, 1, -20 }, // 0x62 'b' - { 2446, 17, 15, 21, 4, -14 }, // 0x63 'c' - { 2478, 18, 21, 21, 4, -20 }, // 0x64 'd' - { 2526, 16, 15, 21, 4, -14 }, // 0x65 'e' - { 2556, 19, 21, 21, 4, -20 }, // 0x66 'f' - { 2606, 19, 22, 21, 4, -14 }, // 0x67 'g' - { 2659, 18, 21, 21, 2, -20 }, // 0x68 'h' - { 2707, 15, 22, 21, 3, -21 }, // 0x69 'i' - { 2749, 15, 29, 21, 3, -21 }, // 0x6A 'j' - { 2804, 18, 21, 21, 2, -20 }, // 0x6B 'k' - { 2852, 15, 21, 21, 3, -20 }, // 0x6C 'l' - { 2892, 20, 15, 21, 1, -14 }, // 0x6D 'm' - { 2930, 17, 15, 21, 2, -14 }, // 0x6E 'n' - { 2962, 16, 15, 21, 4, -14 }, // 0x6F 'o' - { 2992, 20, 22, 21, 0, -14 }, // 0x70 'p' - { 3047, 19, 22, 21, 4, -14 }, // 0x71 'q' - { 3100, 19, 15, 21, 3, -14 }, // 0x72 'r' - { 3136, 15, 15, 21, 4, -14 }, // 0x73 's' - { 3165, 13, 20, 21, 5, -19 }, // 0x74 't' - { 3198, 15, 15, 21, 4, -14 }, // 0x75 'u' - { 3227, 19, 15, 21, 4, -14 }, // 0x76 'v' - { 3263, 17, 15, 21, 5, -14 }, // 0x77 'w' - { 3295, 19, 15, 21, 2, -14 }, // 0x78 'x' - { 3331, 21, 22, 21, 1, -14 }, // 0x79 'y' - { 3389, 16, 15, 21, 4, -14 }, // 0x7A 'z' - { 3419, 11, 25, 21, 8, -20 }, // 0x7B '{' - { 3454, 6, 24, 21, 9, -19 }, // 0x7C '|' - { 3472, 10, 25, 21, 6, -20 }, // 0x7D '}' - { 3504, 15, 5, 21, 5, -11 } }; // 0x7E '~' - -const GFXfont FreeMonoOblique18pt7b PROGMEM = { - (uint8_t *)FreeMonoOblique18pt7bBitmaps, - (GFXglyph *)FreeMonoOblique18pt7bGlyphs, - 0x20, 0x7E, 35 }; - -// Approx. 4186 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h deleted file mode 100644 index 8a5592c..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique24pt7b.h +++ /dev/null @@ -1,643 +0,0 @@ -const uint8_t FreeMonoOblique24pt7bBitmaps[] PROGMEM = { - 0x01, 0xC0, 0xF0, 0x3C, 0x0E, 0x03, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x01, - 0xC0, 0xE0, 0x38, 0x0E, 0x03, 0x00, 0xC0, 0x70, 0x1C, 0x06, 0x01, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0F, 0x83, 0xE0, 0xF8, - 0x1C, 0x00, 0x7E, 0x3F, 0x7E, 0x3F, 0x7C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3E, - 0x78, 0x3C, 0xF8, 0x7C, 0xF0, 0x78, 0xF0, 0x78, 0xF0, 0x78, 0xE0, 0x70, - 0xE0, 0x70, 0xE0, 0x70, 0xC0, 0x60, 0x00, 0x18, 0x30, 0x00, 0x61, 0x80, - 0x01, 0x86, 0x00, 0x04, 0x18, 0x00, 0x30, 0xC0, 0x00, 0xC3, 0x00, 0x03, - 0x0C, 0x00, 0x18, 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, - 0x07, 0xFF, 0xFF, 0x1F, 0xFF, 0xFC, 0x03, 0x0C, 0x00, 0x18, 0x30, 0x00, - 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x30, 0xC0, 0x1F, 0xFF, - 0xF8, 0x7F, 0xFF, 0xE0, 0x18, 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, - 0x06, 0x18, 0x00, 0x30, 0x40, 0x00, 0xC3, 0x00, 0x03, 0x0C, 0x00, 0x18, - 0x30, 0x00, 0x61, 0x80, 0x01, 0x86, 0x00, 0x06, 0x18, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x3F, 0x00, 0x07, 0xFD, 0x80, - 0x70, 0x7C, 0x06, 0x00, 0xE0, 0x60, 0x02, 0x07, 0x00, 0x10, 0x30, 0x00, - 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0xF0, 0x00, 0x07, - 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, - 0x00, 0x00, 0xC2, 0x00, 0x06, 0x30, 0x00, 0x61, 0x80, 0x03, 0x1E, 0x00, - 0x30, 0xFC, 0x07, 0x06, 0x7F, 0xF0, 0x00, 0xFE, 0x00, 0x01, 0x80, 0x00, - 0x0C, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, - 0x00, 0x00, 0x78, 0x00, 0x07, 0xF8, 0x00, 0x38, 0x60, 0x01, 0xC0, 0xC0, - 0x06, 0x03, 0x00, 0x30, 0x0C, 0x00, 0xC0, 0x30, 0x03, 0x01, 0x80, 0x0C, - 0x0E, 0x00, 0x38, 0x70, 0x00, 0x7F, 0x81, 0xC0, 0xF8, 0x3F, 0x00, 0x07, - 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xC0, 0x00, 0x78, 0x00, 0x01, - 0x00, 0x78, 0x00, 0x07, 0xF8, 0x00, 0x38, 0x60, 0x01, 0x80, 0xC0, 0x06, - 0x03, 0x00, 0x30, 0x0C, 0x00, 0xC0, 0x30, 0x03, 0x01, 0x80, 0x0C, 0x0E, - 0x00, 0x18, 0x70, 0x00, 0x7F, 0x80, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, - 0x0F, 0xF8, 0x03, 0x8E, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x00, - 0xC0, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x03, - 0xE0, 0x01, 0xCC, 0x0E, 0x60, 0xC3, 0xD8, 0x18, 0x63, 0x03, 0x18, 0xC0, - 0x33, 0x18, 0x06, 0xC3, 0x00, 0x70, 0x60, 0x0E, 0x0C, 0x01, 0xC0, 0xC0, - 0x78, 0x1C, 0x3B, 0xE1, 0xFE, 0x3C, 0x1F, 0x00, 0x00, 0x7E, 0xFD, 0xF3, - 0xE7, 0xCF, 0x3E, 0x78, 0xF1, 0xE3, 0x87, 0x0E, 0x18, 0x00, 0x00, 0x60, - 0x18, 0x07, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, - 0x60, 0x1C, 0x03, 0x80, 0xE0, 0x1C, 0x03, 0x80, 0xF0, 0x1C, 0x03, 0x80, - 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x30, - 0x06, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x30, 0x02, 0x00, 0x01, 0x80, 0x30, - 0x06, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x07, 0x00, 0xE0, 0x1C, 0x03, - 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x00, - 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x38, 0x0E, 0x01, - 0x80, 0x70, 0x0C, 0x03, 0x00, 0xC0, 0x10, 0x00, 0x00, 0x20, 0x00, 0x18, - 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x30, 0x0E, 0x0C, 0x0B, - 0xF3, 0x3E, 0x3F, 0xFE, 0x01, 0xFC, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x0E, - 0x60, 0x07, 0x18, 0x01, 0x83, 0x00, 0xC0, 0xC0, 0x60, 0x30, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, - 0x00, 0xC0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x30, 0x00, 0x01, - 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, - 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, - 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xF8, 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xE0, - 0x3C, 0x07, 0x80, 0x70, 0x0F, 0x00, 0xE0, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xE0, 0x3C, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, - 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x03, 0x00, - 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x70, 0x00, 0x00, 0x60, 0x00, - 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x03, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0x00, 0x00, - 0xC0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x0F, 0xF8, 0x01, - 0xC1, 0xC0, 0x38, 0x0E, 0x07, 0x00, 0x60, 0xE0, 0x03, 0x0C, 0x00, 0x31, - 0x80, 0x03, 0x18, 0x00, 0x33, 0x00, 0x03, 0x30, 0x00, 0x33, 0x00, 0x03, - 0x20, 0x00, 0x26, 0x00, 0x06, 0x60, 0x00, 0x66, 0x00, 0x06, 0x40, 0x00, - 0x4C, 0x00, 0x0C, 0xC0, 0x00, 0xCC, 0x00, 0x0C, 0xC0, 0x01, 0x8C, 0x00, - 0x18, 0xC0, 0x01, 0x8C, 0x00, 0x30, 0xC0, 0x07, 0x06, 0x00, 0xE0, 0x60, - 0x1C, 0x03, 0x87, 0x80, 0x3F, 0xF0, 0x00, 0xFC, 0x00, 0x00, 0x0E, 0x00, - 0x0F, 0x00, 0x0F, 0x80, 0x0E, 0xC0, 0x1C, 0xC0, 0x1C, 0x60, 0x1C, 0x30, - 0x08, 0x18, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, - 0x80, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, - 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x01, 0x80, - 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, - 0x07, 0xE0, 0x00, 0x3F, 0xE0, 0x01, 0xE0, 0xE0, 0x07, 0x00, 0xE0, 0x1C, - 0x00, 0xE0, 0x30, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x00, 0x03, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, - 0x00, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, - 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, - 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, - 0x00, 0xC3, 0x80, 0x01, 0x87, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x00, - 0x0F, 0xC0, 0x01, 0xFF, 0xC0, 0x1E, 0x07, 0x80, 0xE0, 0x06, 0x03, 0x00, - 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x60, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, - 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x01, - 0x80, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, - 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xE3, 0x00, 0x07, 0x0E, 0x00, - 0x38, 0x1E, 0x03, 0xC0, 0x3F, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0xF8, 0x00, 0x1B, 0x00, 0x06, 0x60, 0x01, 0x8C, 0x00, 0x63, - 0x00, 0x18, 0x60, 0x07, 0x0C, 0x00, 0xC1, 0x80, 0x30, 0x30, 0x0C, 0x0C, - 0x03, 0x01, 0x80, 0xC0, 0x30, 0x18, 0x06, 0x06, 0x00, 0xC1, 0x80, 0x30, - 0x60, 0x06, 0x18, 0x00, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xC0, 0x00, 0xC0, - 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x03, 0x00, - 0x0F, 0xFC, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x40, - 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, - 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0xBF, 0xC0, 0x0F, 0xFF, - 0x80, 0xF8, 0x1E, 0x02, 0x00, 0x30, 0x00, 0x01, 0xC0, 0x00, 0x06, 0x00, - 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x06, - 0x00, 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0xC0, 0x01, 0x87, 0x00, - 0x38, 0x1E, 0x07, 0x80, 0x7F, 0xF8, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x03, - 0xF0, 0x00, 0xFF, 0xC0, 0x1F, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, - 0x80, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, - 0x0E, 0x00, 0x00, 0x60, 0x00, 0x07, 0x0F, 0x80, 0x31, 0xFF, 0x01, 0x9C, - 0x3C, 0x0D, 0x80, 0x60, 0xD8, 0x03, 0x87, 0x80, 0x0C, 0x38, 0x00, 0x61, - 0xC0, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x00, 0xC3, 0x00, 0x0C, 0x18, 0x00, - 0x60, 0xE0, 0x06, 0x03, 0x00, 0x30, 0x1C, 0x07, 0x00, 0x70, 0x70, 0x01, - 0xFF, 0x00, 0x07, 0xE0, 0x00, 0x7F, 0xFF, 0xDF, 0xFF, 0xFC, 0x00, 0x0F, - 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, - 0x06, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, - 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, - 0x06, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x18, 0x00, 0x0C, - 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, 0x00, 0x3F, 0x00, 0x0F, - 0xFC, 0x01, 0xC1, 0xE0, 0x70, 0x06, 0x06, 0x00, 0x30, 0xC0, 0x03, 0x1C, - 0x00, 0x31, 0x80, 0x03, 0x18, 0x00, 0x31, 0x80, 0x06, 0x18, 0x00, 0xE0, - 0xC0, 0x1C, 0x0F, 0x07, 0x80, 0x3F, 0xE0, 0x03, 0xFE, 0x00, 0xE0, 0x70, - 0x18, 0x03, 0x83, 0x00, 0x1C, 0x60, 0x00, 0xC6, 0x00, 0x0C, 0xC0, 0x00, - 0xCC, 0x00, 0x0C, 0xC0, 0x00, 0xCC, 0x00, 0x18, 0xC0, 0x03, 0x8E, 0x00, - 0x70, 0x60, 0x0E, 0x07, 0x83, 0xC0, 0x3F, 0xF0, 0x00, 0xFC, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0xFF, 0x80, 0x0F, 0x07, 0x00, 0x70, 0x0E, 0x03, 0x80, - 0x18, 0x0C, 0x00, 0x70, 0x60, 0x00, 0xC1, 0x80, 0x03, 0x0C, 0x00, 0x0C, - 0x30, 0x00, 0x30, 0xC0, 0x01, 0xC3, 0x00, 0x0F, 0x0C, 0x00, 0x6C, 0x38, - 0x03, 0xF0, 0x60, 0x1D, 0x81, 0xE1, 0xE6, 0x03, 0xFE, 0x18, 0x03, 0xE0, - 0xC0, 0x00, 0x03, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, - 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x03, - 0xC0, 0x00, 0x7C, 0x00, 0xFF, 0xC0, 0x01, 0xF8, 0x00, 0x00, 0x07, 0x83, - 0xF1, 0xFC, 0x7F, 0x1F, 0x83, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7E, 0x3F, 0x8F, 0xE3, 0xF0, 0x78, - 0x00, 0x00, 0x3C, 0x00, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xC0, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7E, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x3E, - 0x00, 0xF8, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x3C, 0x00, 0x70, 0x01, - 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3C, 0x00, 0x01, - 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x03, - 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0x00, 0x3F, 0xFF, 0xFF, 0x9F, - 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, - 0x00, 0x06, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, - 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0x70, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x07, 0xF0, 0x3F, 0xFC, 0x78, - 0x1E, 0xC0, 0x07, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x06, 0x00, 0x1C, 0x00, 0x38, 0x00, 0xE0, 0x07, 0xC0, 0x07, - 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x7E, 0x00, 0xFE, 0x00, 0xFE, - 0x00, 0x7C, 0x00, 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x07, 0x07, 0x01, 0xC0, - 0x70, 0x60, 0x06, 0x1C, 0x00, 0xC3, 0x00, 0x18, 0xC0, 0x03, 0x18, 0x00, - 0x66, 0x00, 0xFC, 0xC0, 0x7F, 0x98, 0x1C, 0x66, 0x06, 0x0C, 0xC1, 0x81, - 0x98, 0x30, 0x33, 0x0C, 0x0E, 0x61, 0x81, 0x98, 0x30, 0x33, 0x06, 0x06, - 0x60, 0xF0, 0xCC, 0x0F, 0xF9, 0x80, 0x7F, 0x30, 0x00, 0x06, 0x00, 0x00, - 0xC0, 0x00, 0x18, 0x00, 0x03, 0x80, 0x00, 0x30, 0x00, 0x07, 0x00, 0x00, - 0x70, 0x18, 0x0F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x0F, - 0xFE, 0x00, 0x00, 0x06, 0xC0, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x31, 0x80, - 0x00, 0x06, 0x30, 0x00, 0x01, 0x86, 0x00, 0x00, 0x60, 0xC0, 0x00, 0x0C, - 0x1C, 0x00, 0x03, 0x01, 0x80, 0x00, 0x40, 0x30, 0x00, 0x18, 0x06, 0x00, - 0x06, 0x00, 0xC0, 0x00, 0xC0, 0x18, 0x00, 0x30, 0x01, 0x80, 0x07, 0xFF, - 0xF0, 0x01, 0xFF, 0xFE, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x18, 0x03, - 0x00, 0x03, 0x00, 0x40, 0x00, 0x30, 0x18, 0x00, 0x06, 0x06, 0x00, 0x00, - 0xC0, 0xC0, 0x00, 0x18, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x0F, 0xFC, 0x03, - 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xC0, 0x06, 0x00, 0x38, 0x01, 0x80, 0x07, - 0x00, 0xC0, 0x00, 0xC0, 0x30, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, - 0x03, 0x00, 0xC0, 0x01, 0x80, 0x60, 0x00, 0xC0, 0x18, 0x01, 0xE0, 0x07, - 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x00, 0xE0, 0x03, 0x80, 0x30, 0x00, 0x70, - 0x0C, 0x00, 0x0E, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x60, 0x60, 0x00, - 0x18, 0x18, 0x00, 0x06, 0x06, 0x00, 0x03, 0x01, 0x80, 0x01, 0xC0, 0x60, - 0x00, 0xE0, 0x30, 0x00, 0x70, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x00, - 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xFC, 0xC0, 0x3C, 0x0F, 0x60, 0x78, 0x01, - 0xF0, 0x70, 0x00, 0x70, 0x70, 0x00, 0x18, 0x30, 0x00, 0x0C, 0x30, 0x00, - 0x06, 0x38, 0x00, 0x02, 0x18, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x0C, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, - 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x60, - 0x60, 0x00, 0x60, 0x38, 0x00, 0xE0, 0x0F, 0x01, 0xE0, 0x03, 0xFF, 0xC0, - 0x00, 0x3F, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x0C, - 0x00, 0xF0, 0x03, 0x00, 0x1C, 0x01, 0xC0, 0x03, 0x80, 0x60, 0x00, 0x60, - 0x18, 0x00, 0x1C, 0x06, 0x00, 0x03, 0x01, 0x80, 0x00, 0xC0, 0xC0, 0x00, - 0x30, 0x30, 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, - 0x00, 0x60, 0x60, 0x00, 0x18, 0x18, 0x00, 0x06, 0x06, 0x00, 0x03, 0x01, - 0x80, 0x00, 0xC0, 0xE0, 0x00, 0x70, 0x30, 0x00, 0x18, 0x0C, 0x00, 0x0C, - 0x03, 0x00, 0x06, 0x00, 0xC0, 0x07, 0x00, 0x60, 0x07, 0x80, 0xFF, 0xFF, - 0xC0, 0x3F, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, - 0x01, 0x80, 0x01, 0x80, 0x30, 0x00, 0x60, 0x0C, 0x00, 0x0C, 0x01, 0x80, - 0x01, 0x80, 0x30, 0x00, 0x30, 0x06, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, - 0x30, 0x18, 0x00, 0x06, 0x03, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x1F, 0xF8, - 0x00, 0x07, 0x03, 0x00, 0x00, 0xC0, 0x60, 0x00, 0x18, 0x0C, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x0C, 0x03, 0x00, 0x01, - 0x80, 0x60, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x01, 0x80, 0x01, 0x80, 0x60, - 0x00, 0x30, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, - 0xF0, 0x7F, 0xFF, 0xFF, 0x00, 0x60, 0x00, 0x30, 0x06, 0x00, 0x06, 0x00, - 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x06, 0x00, 0xC0, 0x00, 0x60, 0x0C, 0x00, - 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x0C, 0x00, 0x01, 0x80, 0xC0, 0x00, - 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x38, 0x18, 0x00, 0x03, 0x01, - 0x80, 0x00, 0x30, 0x18, 0x00, 0x03, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, - 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xFF, 0xFC, 0x00, - 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0xFC, 0xC0, 0x3C, - 0x0F, 0xE0, 0x78, 0x01, 0xF0, 0x70, 0x00, 0x30, 0x70, 0x00, 0x18, 0x70, - 0x00, 0x0C, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x01, 0x80, 0x1F, 0xFE, 0xC0, 0x0F, 0xFF, 0x60, 0x00, 0x06, - 0x30, 0x00, 0x06, 0x18, 0x00, 0x03, 0x0C, 0x00, 0x01, 0x87, 0x00, 0x00, - 0xC1, 0x80, 0x00, 0xE0, 0xE0, 0x00, 0x60, 0x38, 0x00, 0x70, 0x0F, 0x00, - 0xF8, 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xFC, 0x1F, 0xE0, - 0x7F, 0x83, 0xFC, 0x03, 0x00, 0x06, 0x00, 0x60, 0x01, 0x80, 0x1C, 0x00, - 0x30, 0x03, 0x00, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x38, 0x01, - 0x80, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x18, 0x01, 0xFF, 0xFF, - 0x00, 0x3F, 0xFF, 0xC0, 0x06, 0x00, 0x18, 0x01, 0x80, 0x03, 0x00, 0x30, - 0x00, 0x60, 0x06, 0x00, 0x0C, 0x00, 0xC0, 0x03, 0x00, 0x38, 0x00, 0x60, - 0x06, 0x00, 0x0C, 0x00, 0xC0, 0x01, 0x80, 0x18, 0x00, 0x70, 0x03, 0x00, - 0x0C, 0x00, 0xE0, 0x01, 0x80, 0xFF, 0x83, 0xFE, 0x1F, 0xF0, 0x7F, 0xC0, - 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, - 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, - 0x80, 0x00, 0x06, 0x00, 0x00, 0x38, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, - 0x00, 0x0C, 0x00, 0x00, 0x30, 0x00, 0xFF, 0xFF, 0x83, 0xFF, 0xFE, 0x00, - 0x00, 0x0F, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x0C, 0x00, 0x00, - 0x00, 0xC0, 0x00, 0x00, 0x18, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x38, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x07, - 0x00, 0x20, 0x00, 0x60, 0x06, 0x00, 0x06, 0x00, 0x60, 0x00, 0x60, 0x06, - 0x00, 0x06, 0x00, 0x60, 0x00, 0xC0, 0x0C, 0x00, 0x0C, 0x00, 0xC0, 0x00, - 0xC0, 0x0C, 0x00, 0x18, 0x00, 0xE0, 0x03, 0x00, 0x07, 0x00, 0x70, 0x00, - 0x3C, 0x1C, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, - 0xFF, 0x07, 0xF8, 0x3F, 0xF8, 0x3F, 0xC0, 0x18, 0x00, 0x70, 0x00, 0xC0, - 0x07, 0x00, 0x0C, 0x00, 0x60, 0x00, 0x60, 0x0E, 0x00, 0x03, 0x00, 0xE0, - 0x00, 0x18, 0x0C, 0x00, 0x00, 0xC1, 0xC0, 0x00, 0x0C, 0x1C, 0x00, 0x00, - 0x61, 0x80, 0x00, 0x03, 0x3C, 0x00, 0x00, 0x1B, 0x78, 0x00, 0x01, 0xF0, - 0xE0, 0x00, 0x0F, 0x03, 0x80, 0x00, 0x60, 0x0C, 0x00, 0x03, 0x00, 0x70, - 0x00, 0x18, 0x01, 0x80, 0x01, 0x80, 0x0C, 0x00, 0x0C, 0x00, 0x60, 0x00, - 0x60, 0x01, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, - 0x03, 0x00, 0xFF, 0xE0, 0x1F, 0x87, 0xFF, 0x00, 0x7C, 0x00, 0x07, 0xFF, - 0xE0, 0x03, 0xFF, 0xF0, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, - 0x00, 0xC0, 0x03, 0x00, 0x60, 0x01, 0x80, 0x60, 0x00, 0xC0, 0x30, 0x00, - 0x60, 0x18, 0x00, 0x30, 0x0C, 0x00, 0x30, 0x0E, 0x00, 0x18, 0x06, 0x00, - 0x0C, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x00, 0x07, 0xF0, 0x00, 0x3F, - 0x07, 0xF0, 0x00, 0x7F, 0x01, 0xB0, 0x00, 0xD8, 0x01, 0xB0, 0x00, 0xD8, - 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x03, 0x30, 0x01, 0x98, 0x03, 0x30, - 0x03, 0x18, 0x06, 0x30, 0x03, 0x1C, 0x0C, 0x30, 0x03, 0x0C, 0x0C, 0x30, - 0x03, 0x0C, 0x18, 0x60, 0x07, 0x0C, 0x30, 0x60, 0x06, 0x0C, 0x30, 0x60, - 0x06, 0x06, 0x60, 0x60, 0x06, 0x06, 0xC0, 0x60, 0x06, 0x06, 0xC0, 0xC0, - 0x0C, 0x07, 0x80, 0xC0, 0x0C, 0x03, 0x00, 0xC0, 0x0C, 0x00, 0x00, 0xC0, - 0x0C, 0x00, 0x01, 0xC0, 0x0C, 0x00, 0x01, 0x80, 0x18, 0x00, 0x01, 0x80, - 0x18, 0x00, 0x01, 0x80, 0x18, 0x00, 0x01, 0x80, 0xFF, 0x80, 0x3F, 0xE0, - 0xFF, 0x80, 0x3F, 0xE0, 0x07, 0xE0, 0x0F, 0xFC, 0x3F, 0x80, 0x3F, 0xF0, - 0x0F, 0x00, 0x06, 0x00, 0x3C, 0x00, 0x10, 0x01, 0x98, 0x00, 0xC0, 0x06, - 0x60, 0x03, 0x00, 0x19, 0xC0, 0x0C, 0x00, 0x63, 0x00, 0x30, 0x01, 0x0C, - 0x01, 0x80, 0x0C, 0x18, 0x06, 0x00, 0x30, 0x60, 0x18, 0x00, 0xC1, 0xC0, - 0x60, 0x03, 0x03, 0x01, 0x00, 0x08, 0x0C, 0x0C, 0x00, 0x60, 0x18, 0x30, - 0x01, 0x80, 0x60, 0xC0, 0x06, 0x01, 0xC3, 0x00, 0x18, 0x03, 0x18, 0x00, - 0xC0, 0x0C, 0x60, 0x03, 0x00, 0x19, 0x80, 0x0C, 0x00, 0x66, 0x00, 0x30, - 0x01, 0xD8, 0x00, 0x80, 0x03, 0xC0, 0x06, 0x00, 0x0F, 0x00, 0xFF, 0xC0, - 0x1C, 0x03, 0xFE, 0x00, 0x70, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0xF0, - 0x00, 0xF0, 0x78, 0x03, 0x80, 0x1C, 0x07, 0x00, 0x0E, 0x0E, 0x00, 0x06, - 0x0C, 0x00, 0x06, 0x18, 0x00, 0x07, 0x38, 0x00, 0x03, 0x30, 0x00, 0x03, - 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0xC0, 0x00, 0x03, - 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, - 0xC0, 0x00, 0x0C, 0xC0, 0x00, 0x1C, 0xC0, 0x00, 0x18, 0x60, 0x00, 0x30, - 0x60, 0x00, 0x70, 0x70, 0x00, 0xE0, 0x38, 0x01, 0xC0, 0x1E, 0x0F, 0x00, - 0x0F, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, - 0xC0, 0x06, 0x00, 0x78, 0x01, 0x80, 0x06, 0x00, 0xC0, 0x01, 0xC0, 0x30, - 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, 0x03, 0x00, 0xC0, 0x01, 0xC0, - 0x60, 0x00, 0x60, 0x18, 0x00, 0x30, 0x06, 0x00, 0x18, 0x01, 0x80, 0x3C, - 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, - 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, - 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x7F, - 0xF0, 0x00, 0xF0, 0x78, 0x03, 0x80, 0x1C, 0x07, 0x00, 0x0E, 0x0E, 0x00, - 0x06, 0x0C, 0x00, 0x06, 0x18, 0x00, 0x03, 0x38, 0x00, 0x03, 0x30, 0x00, - 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0x60, 0x00, 0x03, 0xC0, 0x00, - 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, - 0x06, 0xC0, 0x00, 0x0C, 0xC0, 0x00, 0x1C, 0xC0, 0x00, 0x18, 0x60, 0x00, - 0x30, 0x60, 0x00, 0x70, 0x30, 0x00, 0xE0, 0x38, 0x01, 0xC0, 0x0E, 0x0F, - 0x00, 0x07, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x1F, 0xF8, - 0x30, 0x3F, 0xFF, 0xF0, 0x78, 0x0F, 0x80, 0x07, 0xFF, 0xFC, 0x01, 0xFF, - 0xFF, 0xC0, 0x06, 0x00, 0x78, 0x01, 0x80, 0x0E, 0x00, 0xC0, 0x01, 0xC0, - 0x30, 0x00, 0x30, 0x0C, 0x00, 0x0C, 0x03, 0x00, 0x03, 0x00, 0xC0, 0x00, - 0xC0, 0x60, 0x00, 0x60, 0x18, 0x00, 0x30, 0x06, 0x00, 0x38, 0x01, 0x80, - 0x3C, 0x00, 0xFF, 0xFC, 0x00, 0x3F, 0xFC, 0x00, 0x0C, 0x07, 0x80, 0x03, - 0x00, 0x70, 0x00, 0xC0, 0x0E, 0x00, 0x60, 0x01, 0x80, 0x18, 0x00, 0x70, - 0x06, 0x00, 0x0C, 0x01, 0x80, 0x03, 0x80, 0x60, 0x00, 0x60, 0x30, 0x00, - 0x1C, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x00, 0xF0, 0x00, 0x1F, 0xC0, 0x00, - 0x7F, 0xF3, 0x00, 0xE0, 0x3B, 0x03, 0x80, 0x0F, 0x07, 0x00, 0x0E, 0x06, - 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x38, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x18, 0x20, 0x00, 0x18, 0x60, 0x00, 0x18, 0x60, - 0x00, 0x30, 0x60, 0x00, 0x70, 0xF0, 0x00, 0xE0, 0xF8, 0x01, 0xC0, 0xDC, - 0x07, 0x80, 0x8F, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0xFF, 0xFE, 0x3F, - 0xFF, 0xFE, 0x30, 0x18, 0x06, 0x60, 0x18, 0x06, 0x60, 0x18, 0x06, 0x60, - 0x38, 0x0C, 0x60, 0x30, 0x04, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x70, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, - 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, - 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0xFF, 0xFE, 0x00, 0xFF, - 0xFC, 0x00, 0x7F, 0xC0, 0xFF, 0xDF, 0xF0, 0x3F, 0xF1, 0x80, 0x00, 0x60, - 0x60, 0x00, 0x30, 0x18, 0x00, 0x0C, 0x06, 0x00, 0x03, 0x03, 0x80, 0x00, - 0xC0, 0xC0, 0x00, 0x30, 0x30, 0x00, 0x18, 0x0C, 0x00, 0x06, 0x03, 0x00, - 0x01, 0x81, 0xC0, 0x00, 0x60, 0x60, 0x00, 0x18, 0x18, 0x00, 0x0C, 0x06, - 0x00, 0x03, 0x01, 0x80, 0x00, 0xC0, 0xC0, 0x00, 0x30, 0x30, 0x00, 0x1C, - 0x0C, 0x00, 0x06, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0xC0, 0x30, 0x00, - 0x70, 0x0E, 0x00, 0x38, 0x01, 0xC0, 0x1C, 0x00, 0x38, 0x1E, 0x00, 0x07, - 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x07, - 0xFC, 0xE0, 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x01, 0x80, 0x00, 0x60, 0x30, - 0x00, 0x18, 0x06, 0x00, 0x02, 0x00, 0xC0, 0x00, 0xC0, 0x0C, 0x00, 0x30, - 0x01, 0x80, 0x06, 0x00, 0x30, 0x01, 0x80, 0x06, 0x00, 0x60, 0x00, 0xC0, - 0x0C, 0x00, 0x18, 0x03, 0x00, 0x01, 0x80, 0xC0, 0x00, 0x30, 0x18, 0x00, - 0x06, 0x06, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x30, 0x00, 0x03, 0x8C, - 0x00, 0x00, 0x31, 0x80, 0x00, 0x06, 0x60, 0x00, 0x00, 0xD8, 0x00, 0x00, - 0x1B, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x38, 0x00, 0x00, 0xFF, 0xC0, - 0x7F, 0xFF, 0xF8, 0x0F, 0xF8, 0xC0, 0x00, 0x0C, 0x18, 0x00, 0x01, 0x83, - 0x00, 0x00, 0x30, 0x60, 0x08, 0x0C, 0x0C, 0x07, 0x01, 0x81, 0x81, 0xE0, - 0x30, 0x60, 0x2C, 0x0C, 0x0C, 0x0D, 0x81, 0x81, 0x81, 0x30, 0x30, 0x30, - 0x66, 0x0C, 0x06, 0x08, 0xC1, 0x80, 0xC3, 0x0C, 0x30, 0x18, 0x41, 0x8C, - 0x03, 0x18, 0x31, 0x80, 0x62, 0x06, 0x30, 0x0C, 0xC0, 0xCC, 0x03, 0x10, - 0x19, 0x80, 0x66, 0x03, 0x30, 0x0C, 0x80, 0x6C, 0x01, 0xB0, 0x0D, 0x80, - 0x34, 0x01, 0xB0, 0x07, 0x80, 0x3C, 0x00, 0xE0, 0x07, 0x80, 0x1C, 0x00, - 0xF0, 0x00, 0x03, 0xF8, 0x03, 0xF8, 0x1F, 0xC0, 0x3F, 0xC0, 0x30, 0x00, - 0x30, 0x01, 0xC0, 0x03, 0x00, 0x06, 0x00, 0x30, 0x00, 0x18, 0x03, 0x00, - 0x00, 0xE0, 0x30, 0x00, 0x03, 0x03, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x03, 0xB0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x36, 0x00, 0x00, 0x03, 0x38, 0x00, - 0x00, 0x30, 0xC0, 0x00, 0x03, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00, 0x03, - 0x00, 0x60, 0x00, 0x30, 0x03, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, - 0x70, 0x03, 0x00, 0x01, 0x80, 0xFF, 0x80, 0xFF, 0x07, 0xFC, 0x07, 0xF8, - 0x00, 0x7F, 0x80, 0x7F, 0x7F, 0x00, 0x7F, 0x1C, 0x00, 0x18, 0x0C, 0x00, - 0x30, 0x0C, 0x00, 0x70, 0x06, 0x00, 0xE0, 0x06, 0x00, 0xC0, 0x03, 0x01, - 0x80, 0x03, 0x03, 0x00, 0x01, 0x86, 0x00, 0x01, 0x8C, 0x00, 0x00, 0xD8, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, - 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, - 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x80, - 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xFE, 0x07, 0xFF, - 0xF8, 0x0C, 0x00, 0x30, 0x10, 0x00, 0xC0, 0x60, 0x03, 0x80, 0xC0, 0x0E, - 0x01, 0x80, 0x38, 0x03, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, - 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x60, 0x00, 0x01, 0x80, 0x00, 0x06, 0x00, 0x60, 0x18, - 0x00, 0xC0, 0x60, 0x01, 0x81, 0x80, 0x02, 0x06, 0x00, 0x0C, 0x18, 0x00, - 0x18, 0x60, 0x00, 0x30, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x80, 0x01, 0xFE, - 0x03, 0xFC, 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, - 0x80, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x40, 0x01, 0x80, - 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x60, 0x00, 0xC0, 0x01, - 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x80, - 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x20, 0x00, 0xFF, 0x01, - 0xFE, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, 0x18, 0x07, 0x00, 0xC0, - 0x30, 0x0C, 0x03, 0x80, 0x60, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x0C, 0x03, - 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x18, - 0x06, 0x01, 0x80, 0x60, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x04, 0x01, 0xFE, - 0x03, 0xFC, 0x00, 0x10, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, - 0x04, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x06, - 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, - 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x06, - 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0xFF, 0x01, - 0xFE, 0x00, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x07, 0x80, 0x03, 0x60, 0x01, - 0x8C, 0x00, 0xC3, 0x80, 0xE0, 0x60, 0x70, 0x1C, 0x38, 0x03, 0x1C, 0x00, - 0x6E, 0x00, 0x1F, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xC3, 0x86, 0x0C, 0x18, 0x70, 0xC0, 0x00, 0x3F, 0x80, 0x0F, 0xFF, 0x80, - 0x78, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, - 0x01, 0x80, 0x00, 0x06, 0x00, 0x00, 0x38, 0x03, 0xFC, 0xC0, 0x7F, 0xFF, - 0x07, 0xC0, 0x0C, 0x38, 0x00, 0x31, 0xC0, 0x01, 0xCE, 0x00, 0x06, 0x30, - 0x00, 0x18, 0xC0, 0x00, 0xE3, 0x00, 0x07, 0x8E, 0x00, 0x7C, 0x1C, 0x0F, - 0x3F, 0x3F, 0xF0, 0xFC, 0x7F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x30, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x00, 0xC0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x06, 0x07, 0xE0, 0x00, 0xC3, - 0xFF, 0x00, 0x19, 0xC0, 0xF0, 0x03, 0x60, 0x07, 0x00, 0xD8, 0x00, 0x60, - 0x1E, 0x00, 0x0E, 0x03, 0x80, 0x00, 0xC0, 0x60, 0x00, 0x18, 0x0C, 0x00, - 0x03, 0x03, 0x00, 0x00, 0x60, 0x60, 0x00, 0x0C, 0x0C, 0x00, 0x01, 0x81, - 0x80, 0x00, 0x60, 0x70, 0x00, 0x0C, 0x0E, 0x00, 0x03, 0x01, 0xC0, 0x00, - 0x60, 0x3C, 0x00, 0x18, 0x05, 0x80, 0x06, 0x01, 0xB8, 0x01, 0x83, 0xF3, - 0xC1, 0xE0, 0x7E, 0x3F, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0x00, - 0x07, 0xFF, 0x30, 0x38, 0x0F, 0xC1, 0x80, 0x1F, 0x0C, 0x00, 0x18, 0x60, - 0x00, 0x63, 0x00, 0x01, 0x9C, 0x00, 0x06, 0x60, 0x00, 0x01, 0x80, 0x00, - 0x0C, 0x00, 0x00, 0x30, 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x30, 0x00, 0x00, 0xE0, 0x00, 0x01, 0x80, 0x00, 0xC7, 0x00, - 0x0E, 0x0F, 0x01, 0xF0, 0x1F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, - 0x1F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x10, 0x00, 0x00, 0x18, 0x00, 0xFC, 0x0C, 0x01, - 0xFF, 0x86, 0x01, 0xC0, 0xE3, 0x03, 0x80, 0x1B, 0x03, 0x80, 0x05, 0x81, - 0x80, 0x03, 0xC1, 0x80, 0x00, 0xE1, 0x80, 0x00, 0x60, 0xC0, 0x00, 0x30, - 0x60, 0x00, 0x18, 0x60, 0x00, 0x0C, 0x30, 0x00, 0x06, 0x18, 0x00, 0x02, - 0x0C, 0x00, 0x03, 0x06, 0x00, 0x01, 0x83, 0x00, 0x01, 0xC1, 0xC0, 0x01, - 0xE0, 0x60, 0x01, 0xE0, 0x38, 0x01, 0xB0, 0x0F, 0x03, 0x9F, 0x03, 0xFF, - 0x0F, 0x80, 0x7E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x07, 0xFF, 0x80, 0x78, - 0x0F, 0x03, 0x80, 0x0E, 0x1C, 0x00, 0x18, 0xE0, 0x00, 0x73, 0x00, 0x00, - 0xD8, 0x00, 0x03, 0x60, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0x00, 0x00, 0xC0, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x00, - 0x00, 0x60, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x03, 0x07, 0x80, 0xF8, - 0x0F, 0xFF, 0x80, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0xFF, - 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x07, 0xFF, 0xFC, 0x03, - 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xC0, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x87, 0xC1, 0xE0, 0xF3, 0xE1, 0xC0, - 0x1B, 0x01, 0xC0, 0x07, 0x81, 0xC0, 0x03, 0xC0, 0xC0, 0x00, 0xE0, 0xC0, - 0x00, 0x60, 0x60, 0x00, 0x30, 0x60, 0x00, 0x18, 0x30, 0x00, 0x0C, 0x18, - 0x00, 0x06, 0x0C, 0x00, 0x06, 0x06, 0x00, 0x03, 0x03, 0x00, 0x03, 0x81, - 0xC0, 0x01, 0xC0, 0x60, 0x01, 0xC0, 0x38, 0x03, 0x60, 0x0F, 0x07, 0x30, - 0x03, 0xFF, 0x18, 0x00, 0x7E, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x80, 0x00, 0x01, - 0x80, 0x00, 0x03, 0x80, 0x03, 0xFF, 0x80, 0x01, 0xFF, 0x00, 0x00, 0x07, - 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, 0x83, 0xF0, 0x01, - 0x8F, 0xF8, 0x01, 0x98, 0x1C, 0x03, 0xB0, 0x0E, 0x03, 0x40, 0x06, 0x03, - 0x80, 0x06, 0x03, 0x00, 0x06, 0x03, 0x00, 0x06, 0x07, 0x00, 0x06, 0x06, - 0x00, 0x0E, 0x06, 0x00, 0x0E, 0x06, 0x00, 0x0E, 0x06, 0x00, 0x0C, 0x0C, - 0x00, 0x0C, 0x0C, 0x00, 0x1C, 0x0C, 0x00, 0x1C, 0x0C, 0x00, 0x18, 0x0C, - 0x00, 0x18, 0x18, 0x00, 0x18, 0xFF, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0x00, - 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x1F, - 0xF0, 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, - 0xC0, 0x00, 0x18, 0x00, 0x07, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, - 0x00, 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, - 0x00, 0x01, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x70, 0x00, - 0x07, 0x00, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x03, 0xFF, 0xF0, - 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x06, - 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x0C, 0x00, 0x00, - 0xC0, 0x00, 0x0C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, - 0x18, 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, - 0x03, 0x00, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, - 0x03, 0x80, 0xFF, 0xF0, 0x0F, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, - 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xC1, - 0xFF, 0x00, 0x80, 0x70, 0x01, 0x80, 0xC0, 0x01, 0x83, 0x80, 0x01, 0x87, - 0x00, 0x01, 0x8C, 0x00, 0x03, 0x38, 0x00, 0x03, 0x70, 0x00, 0x03, 0xF8, - 0x00, 0x03, 0x9C, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x0E, 0x00, 0x06, 0x07, - 0x00, 0x06, 0x03, 0x80, 0x06, 0x01, 0x80, 0x04, 0x00, 0xC0, 0x0C, 0x00, - 0xE0, 0xFC, 0x03, 0xFE, 0xFC, 0x03, 0xFC, 0x01, 0xFF, 0x00, 0x3F, 0xE0, - 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01, 0x80, - 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, - 0x01, 0x80, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, - 0x06, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, - 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x03, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF0, 0x00, 0x1E, 0x07, 0x81, 0xE7, 0xE1, 0xF8, 0x3D, 0x8E, 0xE3, - 0x81, 0xE0, 0xF8, 0x30, 0x38, 0x1E, 0x06, 0x06, 0x03, 0x80, 0xC1, 0x80, - 0x60, 0x18, 0x30, 0x0C, 0x03, 0x06, 0x01, 0x80, 0x60, 0xC0, 0x30, 0x08, - 0x18, 0x0C, 0x03, 0x06, 0x01, 0x80, 0x60, 0xC0, 0x30, 0x0C, 0x18, 0x06, - 0x01, 0x83, 0x00, 0x80, 0x60, 0x40, 0x30, 0x0C, 0x18, 0x06, 0x01, 0x83, - 0x00, 0xC0, 0x30, 0x60, 0x18, 0x06, 0x7F, 0x03, 0xC1, 0xFF, 0xE0, 0xF8, - 0x3E, 0x00, 0x03, 0xE0, 0x1F, 0x1F, 0xF0, 0x3E, 0x60, 0x70, 0x0F, 0x80, - 0x70, 0x3C, 0x00, 0x60, 0x70, 0x00, 0xC0, 0xC0, 0x01, 0x81, 0x80, 0x03, - 0x07, 0x00, 0x06, 0x0C, 0x00, 0x1C, 0x18, 0x00, 0x30, 0x30, 0x00, 0x60, - 0x60, 0x00, 0xC1, 0xC0, 0x01, 0x83, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, - 0x00, 0x18, 0x18, 0x00, 0x30, 0x70, 0x00, 0x67, 0xFC, 0x07, 0xFF, 0xF0, - 0x0F, 0xE0, 0x00, 0x3F, 0x00, 0x07, 0xFF, 0x00, 0x3C, 0x0F, 0x01, 0xC0, - 0x1C, 0x0C, 0x00, 0x38, 0x60, 0x00, 0x63, 0x00, 0x00, 0xDC, 0x00, 0x03, - 0x60, 0x00, 0x0D, 0x80, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, - 0x00, 0x1B, 0x00, 0x00, 0x6C, 0x00, 0x03, 0xB0, 0x00, 0x0C, 0x60, 0x00, - 0x61, 0xC0, 0x03, 0x03, 0x80, 0x38, 0x0F, 0x03, 0xC0, 0x0F, 0xFE, 0x00, - 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0x8F, 0xFE, 0x00, 0xFC, - 0xE0, 0x78, 0x00, 0xCC, 0x00, 0xE0, 0x06, 0xC0, 0x03, 0x00, 0x3C, 0x00, - 0x1C, 0x01, 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x03, 0x00, 0xE0, 0x00, 0x18, - 0x06, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x06, 0x01, 0x80, 0x00, 0x30, 0x0C, - 0x00, 0x03, 0x00, 0xE0, 0x00, 0x18, 0x07, 0x00, 0x01, 0x80, 0x3C, 0x00, - 0x1C, 0x01, 0xE0, 0x01, 0xC0, 0x0D, 0x80, 0x1C, 0x00, 0xCF, 0x03, 0xC0, - 0x06, 0x3F, 0xF8, 0x00, 0x30, 0x7F, 0x00, 0x01, 0x80, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x01, 0x80, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, - 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0xE1, 0xF0, 0x78, - 0x1C, 0xFC, 0x38, 0x01, 0xB0, 0x1C, 0x00, 0x2C, 0x0E, 0x00, 0x0F, 0x03, - 0x00, 0x01, 0xC1, 0x80, 0x00, 0x60, 0x60, 0x00, 0x18, 0x30, 0x00, 0x06, - 0x0C, 0x00, 0x01, 0x83, 0x00, 0x00, 0x60, 0xC0, 0x00, 0x30, 0x30, 0x00, - 0x0C, 0x0C, 0x00, 0x07, 0x03, 0x80, 0x03, 0xC0, 0x60, 0x01, 0xB0, 0x1C, - 0x00, 0xD8, 0x03, 0xC0, 0xE6, 0x00, 0x7F, 0xF1, 0x80, 0x07, 0xE0, 0x60, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0xC0, 0x00, 0x00, 0x30, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, - 0x7F, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x3E, 0x03, 0xF8, 0x7F, - 0xC0, 0x18, 0xF0, 0x60, 0x0C, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xC0, - 0x00, 0x03, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x38, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x80, 0x00, 0x01, - 0x80, 0x00, 0x3F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x00, 0x00, 0x3F, 0x00, - 0x0F, 0xFE, 0xC0, 0xF0, 0x3E, 0x0E, 0x00, 0x70, 0xE0, 0x01, 0x06, 0x00, - 0x08, 0x30, 0x00, 0x41, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3F, 0xF0, 0x00, - 0x3F, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x18, 0x00, 0x00, - 0xCC, 0x00, 0x06, 0x60, 0x00, 0x33, 0x00, 0x03, 0x3C, 0x00, 0x71, 0xF8, - 0x0F, 0x0D, 0xFF, 0xF0, 0x01, 0xFC, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, - 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x70, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, - 0x0C, 0x00, 0x06, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, - 0x00, 0xE0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x0E, - 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x03, 0x38, 0x0F, - 0x9F, 0xFF, 0x03, 0xF8, 0x00, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xC6, 0x00, - 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x01, 0x86, - 0x00, 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x18, 0x60, 0x01, - 0x86, 0x00, 0x0C, 0x30, 0x00, 0x61, 0x80, 0x03, 0x0C, 0x00, 0x38, 0x60, - 0x07, 0x83, 0x80, 0x6C, 0x1E, 0x1E, 0x7C, 0x7F, 0xE3, 0xE0, 0xF8, 0x00, - 0x00, 0x7F, 0xC0, 0xFF, 0xFF, 0xF0, 0x3F, 0xF1, 0xC0, 0x00, 0xC0, 0x30, - 0x00, 0x60, 0x0C, 0x00, 0x18, 0x03, 0x00, 0x0C, 0x00, 0xE0, 0x06, 0x00, - 0x18, 0x01, 0x80, 0x06, 0x00, 0xC0, 0x01, 0x80, 0x30, 0x00, 0x60, 0x18, - 0x00, 0x0C, 0x0C, 0x00, 0x03, 0x03, 0x00, 0x00, 0xC1, 0x80, 0x00, 0x30, - 0xC0, 0x00, 0x06, 0x30, 0x00, 0x01, 0x98, 0x00, 0x00, 0x6C, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x07, 0x80, 0x00, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, - 0xCC, 0x00, 0x03, 0x06, 0x00, 0x01, 0x83, 0x00, 0x01, 0x81, 0x81, 0x80, - 0xC0, 0xC1, 0xE0, 0x60, 0x60, 0xF0, 0x60, 0x30, 0xD8, 0x30, 0x18, 0x6C, - 0x30, 0x0C, 0x66, 0x18, 0x06, 0x33, 0x18, 0x03, 0x31, 0x8C, 0x01, 0x98, - 0x66, 0x00, 0xD8, 0x36, 0x00, 0x6C, 0x1B, 0x00, 0x3C, 0x0F, 0x00, 0x1E, - 0x07, 0x80, 0x0E, 0x03, 0x80, 0x07, 0x01, 0xC0, 0x00, 0x07, 0xF0, 0x3F, - 0xC3, 0xFC, 0x0F, 0xF0, 0x38, 0x00, 0x60, 0x07, 0x00, 0x70, 0x00, 0xE0, - 0x38, 0x00, 0x18, 0x1C, 0x00, 0x03, 0x0C, 0x00, 0x00, 0xEE, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x03, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xDC, 0x00, - 0x00, 0xE3, 0x80, 0x00, 0x70, 0x70, 0x00, 0x38, 0x0E, 0x00, 0x18, 0x01, - 0x80, 0x1C, 0x00, 0x30, 0x0E, 0x00, 0x0E, 0x0F, 0xF0, 0x3F, 0xE3, 0xFC, - 0x0F, 0xF8, 0x03, 0xF8, 0x07, 0xF8, 0x3F, 0xC0, 0x3F, 0xC0, 0x60, 0x00, - 0x30, 0x01, 0x80, 0x01, 0x80, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, - 0x03, 0x80, 0x0C, 0x00, 0x0C, 0x00, 0xC0, 0x00, 0x60, 0x0C, 0x00, 0x03, - 0x00, 0x60, 0x00, 0x0C, 0x06, 0x00, 0x00, 0x60, 0x60, 0x00, 0x03, 0x06, - 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x63, 0x00, 0x00, 0x03, 0x30, 0x00, - 0x00, 0x19, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x60, - 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x00, - 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xC3, 0x00, 0x0C, 0x18, 0x00, 0xC0, 0xC0, - 0x0C, 0x00, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, - 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, - 0x00, 0x18, 0x00, 0x01, 0x80, 0x0C, 0x18, 0x00, 0x61, 0x80, 0x02, 0x1F, - 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0x00, 0x0E, 0x00, 0x7C, 0x01, 0xC0, 0x03, - 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x00, - 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x01, 0xC0, 0x0F, 0x00, 0xF8, - 0x01, 0xF0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x80, - 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0xE0, 0x01, 0x80, 0x03, - 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x01, 0x80, 0xC0, - 0x60, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x40, - 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, - 0x30, 0x18, 0x08, 0x0C, 0x06, 0x03, 0x01, 0x80, 0x80, 0xC0, 0x60, 0x30, - 0x00, 0x01, 0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, - 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, - 0x0C, 0x00, 0x18, 0x00, 0x38, 0x00, 0x38, 0x00, 0x3E, 0x00, 0x7C, 0x03, - 0xC0, 0x0E, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, - 0x06, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x0E, - 0x00, 0xF8, 0x01, 0xC0, 0x00, 0x0F, 0x00, 0x01, 0xFC, 0x03, 0x70, 0xE0, - 0x7E, 0x07, 0x1E, 0xC0, 0x3F, 0x80, 0x01, 0xE0 }; - -const GFXglyph FreeMonoOblique24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 28, 0, 1 }, // 0x20 ' ' - { 0, 10, 30, 28, 12, -28 }, // 0x21 '!' - { 38, 16, 14, 28, 10, -28 }, // 0x22 '"' - { 66, 22, 32, 28, 6, -29 }, // 0x23 '#' - { 154, 21, 33, 28, 6, -29 }, // 0x24 '$' - { 241, 22, 29, 28, 6, -27 }, // 0x25 '%' - { 321, 19, 25, 28, 6, -23 }, // 0x26 '&' - { 381, 7, 14, 28, 16, -28 }, // 0x27 ''' - { 394, 11, 34, 28, 16, -27 }, // 0x28 '(' - { 441, 11, 34, 28, 7, -27 }, // 0x29 ')' - { 488, 18, 17, 28, 10, -28 }, // 0x2A '*' - { 527, 22, 22, 28, 6, -23 }, // 0x2B '+' - { 588, 12, 14, 28, 5, -6 }, // 0x2C ',' - { 609, 22, 2, 28, 6, -13 }, // 0x2D '-' - { 615, 7, 6, 28, 11, -4 }, // 0x2E '.' - { 621, 24, 35, 28, 5, -30 }, // 0x2F '/' - { 726, 20, 30, 28, 7, -28 }, // 0x30 '0' - { 801, 17, 29, 28, 6, -28 }, // 0x31 '1' - { 863, 23, 29, 28, 4, -28 }, // 0x32 '2' - { 947, 22, 30, 28, 5, -28 }, // 0x33 '3' - { 1030, 19, 28, 28, 7, -27 }, // 0x34 '4' - { 1097, 21, 29, 28, 6, -27 }, // 0x35 '5' - { 1174, 21, 30, 28, 9, -28 }, // 0x36 '6' - { 1253, 18, 28, 28, 10, -27 }, // 0x37 '7' - { 1316, 20, 30, 28, 7, -28 }, // 0x38 '8' - { 1391, 22, 30, 28, 6, -28 }, // 0x39 '9' - { 1474, 10, 21, 28, 11, -19 }, // 0x3A ':' - { 1501, 15, 27, 28, 5, -19 }, // 0x3B ';' - { 1552, 23, 22, 28, 6, -23 }, // 0x3C '<' - { 1616, 25, 9, 28, 4, -17 }, // 0x3D '=' - { 1645, 24, 22, 28, 4, -23 }, // 0x3E '>' - { 1711, 16, 28, 28, 11, -26 }, // 0x3F '?' - { 1767, 19, 32, 28, 7, -28 }, // 0x40 '@' - { 1843, 27, 26, 28, 1, -25 }, // 0x41 'A' - { 1931, 26, 26, 28, 2, -25 }, // 0x42 'B' - { 2016, 25, 28, 28, 5, -26 }, // 0x43 'C' - { 2104, 26, 26, 28, 2, -25 }, // 0x44 'D' - { 2189, 27, 26, 28, 2, -25 }, // 0x45 'E' - { 2277, 28, 26, 28, 2, -25 }, // 0x46 'F' - { 2368, 25, 28, 28, 5, -26 }, // 0x47 'G' - { 2456, 27, 26, 28, 3, -25 }, // 0x48 'H' - { 2544, 22, 26, 28, 6, -25 }, // 0x49 'I' - { 2616, 28, 27, 28, 5, -25 }, // 0x4A 'J' - { 2711, 29, 26, 28, 2, -25 }, // 0x4B 'K' - { 2806, 25, 26, 28, 3, -25 }, // 0x4C 'L' - { 2888, 32, 26, 28, 1, -25 }, // 0x4D 'M' - { 2992, 30, 26, 28, 2, -25 }, // 0x4E 'N' - { 3090, 24, 28, 28, 5, -26 }, // 0x4F 'O' - { 3174, 26, 26, 28, 2, -25 }, // 0x50 'P' - { 3259, 24, 32, 28, 5, -26 }, // 0x51 'Q' - { 3355, 26, 26, 28, 2, -25 }, // 0x52 'R' - { 3440, 24, 28, 28, 5, -26 }, // 0x53 'S' - { 3524, 24, 26, 28, 7, -25 }, // 0x54 'T' - { 3602, 26, 27, 28, 6, -25 }, // 0x55 'U' - { 3690, 27, 26, 28, 6, -25 }, // 0x56 'V' - { 3778, 27, 26, 28, 6, -25 }, // 0x57 'W' - { 3866, 29, 26, 28, 2, -25 }, // 0x58 'X' - { 3961, 24, 26, 28, 7, -25 }, // 0x59 'Y' - { 4039, 23, 26, 28, 5, -25 }, // 0x5A 'Z' - { 4114, 15, 34, 28, 12, -27 }, // 0x5B '[' - { 4178, 10, 35, 28, 12, -30 }, // 0x5C '\' - { 4222, 15, 34, 28, 6, -27 }, // 0x5D ']' - { 4286, 18, 12, 28, 9, -28 }, // 0x5E '^' - { 4313, 28, 2, 28, -1, 5 }, // 0x5F '_' - { 4320, 6, 7, 28, 13, -29 }, // 0x60 '`' - { 4326, 22, 22, 28, 4, -20 }, // 0x61 'a' - { 4387, 27, 29, 28, 1, -27 }, // 0x62 'b' - { 4485, 22, 22, 28, 6, -20 }, // 0x63 'c' - { 4546, 25, 29, 28, 5, -27 }, // 0x64 'd' - { 4637, 22, 22, 28, 5, -20 }, // 0x65 'e' - { 4698, 26, 28, 28, 5, -27 }, // 0x66 'f' - { 4789, 25, 30, 28, 5, -20 }, // 0x67 'g' - { 4883, 24, 28, 28, 3, -27 }, // 0x68 'h' - { 4967, 19, 29, 28, 5, -28 }, // 0x69 'i' - { 5036, 20, 38, 28, 4, -28 }, // 0x6A 'j' - { 5131, 24, 28, 28, 3, -27 }, // 0x6B 'k' - { 5215, 19, 28, 28, 5, -27 }, // 0x6C 'l' - { 5282, 27, 21, 28, 1, -20 }, // 0x6D 'm' - { 5353, 23, 21, 28, 3, -20 }, // 0x6E 'n' - { 5414, 22, 22, 28, 5, -20 }, // 0x6F 'o' - { 5475, 29, 30, 28, -1, -20 }, // 0x70 'p' - { 5584, 26, 30, 28, 5, -20 }, // 0x71 'q' - { 5682, 25, 20, 28, 4, -19 }, // 0x72 'r' - { 5745, 21, 22, 28, 5, -20 }, // 0x73 's' - { 5803, 17, 27, 28, 7, -25 }, // 0x74 't' - { 5861, 21, 21, 28, 6, -19 }, // 0x75 'u' - { 5917, 26, 20, 28, 5, -19 }, // 0x76 'v' - { 5982, 25, 20, 28, 6, -19 }, // 0x77 'w' - { 6045, 26, 20, 28, 3, -19 }, // 0x78 'x' - { 6110, 29, 29, 28, 1, -19 }, // 0x79 'y' - { 6216, 21, 20, 28, 5, -19 }, // 0x7A 'z' - { 6269, 15, 34, 28, 10, -27 }, // 0x7B '{' - { 6333, 9, 35, 28, 12, -28 }, // 0x7C '|' - { 6373, 15, 34, 28, 8, -27 }, // 0x7D '}' - { 6437, 20, 6, 28, 7, -15 } }; // 0x7E '~' - -const GFXfont FreeMonoOblique24pt7b PROGMEM = { - (uint8_t *)FreeMonoOblique24pt7bBitmaps, - (GFXglyph *)FreeMonoOblique24pt7bGlyphs, - 0x20, 0x7E, 47 }; - -// Approx. 7124 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h deleted file mode 100644 index a00ca82..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeMonoOblique9pt7b.h +++ /dev/null @@ -1,187 +0,0 @@ -const uint8_t FreeMonoOblique9pt7bBitmaps[] PROGMEM = { - 0x11, 0x22, 0x24, 0x40, 0x00, 0xC0, 0xDE, 0xE5, 0x29, 0x00, 0x09, 0x05, - 0x02, 0x82, 0x47, 0xF8, 0xA0, 0x51, 0xFE, 0x28, 0x14, 0x0A, 0x09, 0x00, - 0x08, 0x1D, 0x23, 0x40, 0x70, 0x1C, 0x02, 0x82, 0x84, 0x78, 0x20, 0x20, - 0x1C, 0x11, 0x08, 0x83, 0x80, 0x18, 0x71, 0xC0, 0x1C, 0x11, 0x08, 0x83, - 0x80, 0x1E, 0x60, 0x81, 0x03, 0x0A, 0x65, 0x46, 0x88, 0xE8, 0xFA, 0x80, - 0x12, 0x24, 0x48, 0x88, 0x88, 0x88, 0x80, 0x01, 0x11, 0x11, 0x11, 0x22, - 0x44, 0x80, 0x10, 0x22, 0x5B, 0xC3, 0x0A, 0x22, 0x00, 0x04, 0x02, 0x02, - 0x1F, 0xF0, 0x80, 0x40, 0x20, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0x80, 0xF0, - 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, - 0x08, 0x08, 0x00, 0x1C, 0x45, 0x0A, 0x18, 0x30, 0x61, 0x42, 0x85, 0x11, - 0xC0, 0x04, 0x38, 0x90, 0x20, 0x81, 0x02, 0x04, 0x08, 0x23, 0xF8, 0x07, - 0x04, 0xC4, 0x20, 0x10, 0x10, 0x30, 0x20, 0x20, 0x60, 0x40, 0x3F, 0x80, - 0x0F, 0x00, 0x40, 0x20, 0x20, 0x60, 0x18, 0x04, 0x02, 0x01, 0x43, 0x1E, - 0x00, 0x03, 0x05, 0x0A, 0x12, 0x22, 0x22, 0x42, 0x7F, 0x04, 0x04, 0x1E, - 0x1F, 0x88, 0x08, 0x05, 0xC3, 0x30, 0x08, 0x04, 0x02, 0x02, 0x42, 0x1E, - 0x00, 0x07, 0x18, 0x20, 0x40, 0x5C, 0xA6, 0xC2, 0x82, 0x82, 0xC4, 0x78, - 0xFF, 0x04, 0x10, 0x20, 0x82, 0x04, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x23, - 0x41, 0x41, 0x62, 0x1C, 0x66, 0x82, 0x82, 0x84, 0x78, 0x1E, 0x23, 0x41, - 0x41, 0x43, 0x65, 0x3A, 0x02, 0x04, 0x18, 0xE0, 0x6C, 0x00, 0x36, 0x18, - 0xC0, 0x00, 0x19, 0x8C, 0xC4, 0x00, 0x01, 0x83, 0x06, 0x0C, 0x06, 0x00, - 0x80, 0x30, 0x04, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x20, 0x0C, 0x01, 0x00, - 0x60, 0x20, 0x60, 0xC1, 0x80, 0x3D, 0x8E, 0x08, 0x10, 0xC6, 0x08, 0x00, - 0x01, 0x80, 0x1C, 0x45, 0x0A, 0x79, 0x34, 0x69, 0x4E, 0x81, 0x03, 0x03, - 0xC0, 0x0F, 0x00, 0x60, 0x12, 0x02, 0x40, 0x88, 0x21, 0x07, 0xE1, 0x04, - 0x20, 0x5E, 0x3C, 0x3F, 0x84, 0x11, 0x04, 0x82, 0x3F, 0x88, 0x32, 0x04, - 0x81, 0x60, 0xBF, 0xC0, 0x1E, 0x98, 0xD0, 0x28, 0x08, 0x04, 0x02, 0x01, - 0x00, 0x41, 0x1F, 0x00, 0x3F, 0x0C, 0x22, 0x04, 0x81, 0x20, 0x48, 0x12, - 0x09, 0x02, 0x43, 0x3F, 0x00, 0x3F, 0xC4, 0x11, 0x00, 0x88, 0x3E, 0x08, - 0x82, 0x00, 0x82, 0x60, 0xBF, 0xE0, 0x3F, 0xE2, 0x08, 0x40, 0x11, 0x03, - 0xE0, 0x44, 0x08, 0x01, 0x00, 0x60, 0x1F, 0x00, 0x1E, 0x98, 0xD0, 0x08, - 0x08, 0x04, 0x7A, 0x05, 0x02, 0x41, 0x1F, 0x00, 0x3D, 0xE2, 0x18, 0x42, - 0x08, 0x43, 0xF8, 0x41, 0x08, 0x21, 0x08, 0x21, 0x1E, 0xF0, 0x3F, 0x82, - 0x02, 0x01, 0x00, 0x80, 0x40, 0x20, 0x20, 0x10, 0x7F, 0x00, 0x0F, 0xE0, - 0x20, 0x04, 0x00, 0x80, 0x10, 0x02, 0x20, 0x84, 0x10, 0x84, 0x0F, 0x00, - 0x3C, 0xE2, 0x10, 0x44, 0x11, 0x02, 0xC0, 0x64, 0x08, 0x81, 0x08, 0x61, - 0x1E, 0x38, 0x3E, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, 0x01, 0x04, 0x42, - 0x10, 0xBF, 0xE0, 0x38, 0x38, 0xC3, 0x05, 0x28, 0x29, 0x42, 0x52, 0x13, - 0x10, 0x99, 0x84, 0x08, 0x20, 0x47, 0x8F, 0x00, 0x70, 0xE6, 0x08, 0xA1, - 0x14, 0x22, 0x48, 0x49, 0x11, 0x22, 0x14, 0x43, 0x1E, 0x20, 0x1E, 0x18, - 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x00, 0x3F, 0x84, - 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x00, 0x80, 0x60, 0x3E, 0x00, 0x1E, - 0x18, 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x08, 0x0F, - 0x44, 0x60, 0x3F, 0x84, 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x10, 0x84, - 0x60, 0xBC, 0x10, 0x0F, 0x88, 0xC8, 0x24, 0x01, 0x80, 0x38, 0x05, 0x02, - 0xC2, 0x5E, 0x00, 0xFF, 0xC4, 0x44, 0x02, 0x01, 0x00, 0x80, 0x40, 0x60, - 0x20, 0x7E, 0x00, 0xF1, 0xD0, 0x24, 0x09, 0x02, 0x41, 0xA0, 0x48, 0x12, - 0x04, 0xC6, 0x1F, 0x00, 0xF1, 0xE8, 0x11, 0x02, 0x20, 0x82, 0x20, 0x44, - 0x09, 0x01, 0x40, 0x28, 0x02, 0x00, 0xF1, 0xE8, 0x09, 0x12, 0x26, 0x45, - 0x48, 0xAA, 0x29, 0x45, 0x28, 0xC6, 0x18, 0xC0, 0x38, 0xE2, 0x08, 0x26, - 0x05, 0x00, 0x40, 0x18, 0x04, 0x81, 0x08, 0x41, 0x1C, 0x70, 0xE3, 0xA0, - 0x90, 0x84, 0x81, 0x80, 0x80, 0x40, 0x20, 0x20, 0x7E, 0x00, 0x3F, 0x90, - 0x88, 0x80, 0x80, 0x80, 0x80, 0x80, 0x82, 0x82, 0x7F, 0x00, 0x39, 0x08, - 0x44, 0x21, 0x08, 0x42, 0x21, 0x0E, 0x00, 0x88, 0x44, 0x44, 0x22, 0x22, - 0x11, 0x11, 0x38, 0x42, 0x11, 0x08, 0x42, 0x10, 0x84, 0x2E, 0x00, 0x08, - 0x28, 0x92, 0x18, 0x20, 0xFF, 0xC0, 0xA4, 0x3E, 0x00, 0x80, 0x47, 0xA4, - 0x34, 0x12, 0x18, 0xF7, 0x38, 0x01, 0x00, 0x40, 0x09, 0xE1, 0xC6, 0x20, - 0x44, 0x09, 0x01, 0x30, 0x46, 0x13, 0xBC, 0x00, 0x1F, 0x48, 0x74, 0x0A, - 0x00, 0x80, 0x20, 0x0C, 0x18, 0xF8, 0x01, 0x80, 0x40, 0x23, 0x96, 0x32, - 0x0A, 0x05, 0x02, 0x81, 0x61, 0x1F, 0xE0, 0x1F, 0x30, 0xD0, 0x3F, 0xF8, - 0x04, 0x01, 0x00, 0x7C, 0x07, 0xC3, 0x00, 0x80, 0xFE, 0x10, 0x04, 0x01, - 0x00, 0x40, 0x10, 0x08, 0x0F, 0xE0, 0x1D, 0xD8, 0xC4, 0x12, 0x04, 0x82, - 0x20, 0x8C, 0x61, 0xE8, 0x02, 0x01, 0x07, 0x80, 0x30, 0x04, 0x01, 0x00, - 0x5C, 0x38, 0x88, 0x22, 0x08, 0x82, 0x21, 0x18, 0x4F, 0x3C, 0x04, 0x04, - 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0xFF, 0x01, 0x00, 0x80, - 0x03, 0xF0, 0x10, 0x08, 0x04, 0x02, 0x02, 0x01, 0x00, 0x80, 0x40, 0x47, - 0xC0, 0x38, 0x08, 0x04, 0x02, 0x71, 0x20, 0xA0, 0xA0, 0x68, 0x24, 0x11, - 0x38, 0xE0, 0x3C, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, - 0xFF, 0x3E, 0xE2, 0x64, 0x88, 0x91, 0x12, 0x24, 0x48, 0x91, 0x17, 0x33, - 0x37, 0x14, 0x4C, 0x24, 0x12, 0x09, 0x08, 0x85, 0xE3, 0x1E, 0x10, 0x90, - 0x30, 0x18, 0x0C, 0x0B, 0x08, 0x78, 0x33, 0xC3, 0x8C, 0x40, 0x88, 0x12, - 0x02, 0x60, 0x8C, 0x31, 0x78, 0x20, 0x08, 0x03, 0xE0, 0x00, 0x1C, 0xD8, - 0xC4, 0x12, 0x04, 0x81, 0x20, 0x4C, 0x21, 0xF8, 0x02, 0x00, 0x81, 0xF0, - 0x73, 0x8E, 0x04, 0x04, 0x02, 0x01, 0x00, 0x81, 0xFC, 0x1F, 0x61, 0x40, - 0x3C, 0x03, 0x81, 0x82, 0xFC, 0x10, 0x63, 0xF9, 0x02, 0x04, 0x10, 0x20, - 0x40, 0x7C, 0xE3, 0x10, 0x90, 0x48, 0x24, 0x22, 0x11, 0x18, 0xF6, 0xF3, - 0xD0, 0x44, 0x10, 0x88, 0x24, 0x09, 0x02, 0x80, 0x40, 0xE1, 0xD0, 0x24, - 0x91, 0x24, 0x55, 0x19, 0x86, 0x61, 0x10, 0x39, 0xC4, 0x20, 0xB0, 0x30, - 0x0C, 0x04, 0x86, 0x13, 0x8E, 0x3C, 0x71, 0x04, 0x10, 0x40, 0x88, 0x09, - 0x00, 0xA0, 0x06, 0x00, 0x40, 0x08, 0x01, 0x00, 0xFC, 0x00, 0x7F, 0x42, - 0x04, 0x08, 0x10, 0x20, 0x42, 0xFE, 0x0C, 0x41, 0x04, 0x30, 0x8C, 0x08, - 0x21, 0x04, 0x10, 0x60, 0x24, 0x94, 0x92, 0x52, 0x40, 0x18, 0x20, 0x82, - 0x10, 0x40, 0xC4, 0x10, 0x82, 0x08, 0xC0, 0x61, 0x24, 0x30 }; - -const GFXglyph FreeMonoOblique9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' - { 0, 4, 11, 11, 4, -10 }, // 0x21 '!' - { 6, 5, 5, 11, 4, -10 }, // 0x22 '"' - { 10, 9, 12, 11, 2, -10 }, // 0x23 '#' - { 24, 8, 12, 11, 3, -10 }, // 0x24 '$' - { 36, 9, 11, 11, 2, -10 }, // 0x25 '%' - { 49, 7, 10, 11, 2, -9 }, // 0x26 '&' - { 58, 2, 5, 11, 6, -10 }, // 0x27 ''' - { 60, 4, 13, 11, 6, -10 }, // 0x28 '(' - { 67, 4, 13, 11, 3, -10 }, // 0x29 ')' - { 74, 7, 7, 11, 4, -10 }, // 0x2A '*' - { 81, 9, 8, 11, 2, -8 }, // 0x2B '+' - { 90, 4, 5, 11, 2, -1 }, // 0x2C ',' - { 93, 9, 1, 11, 2, -5 }, // 0x2D '-' - { 95, 2, 2, 11, 4, -1 }, // 0x2E '.' - { 96, 9, 13, 11, 2, -11 }, // 0x2F '/' - { 111, 7, 11, 11, 3, -10 }, // 0x30 '0' - { 121, 7, 11, 11, 2, -10 }, // 0x31 '1' - { 131, 9, 11, 11, 2, -10 }, // 0x32 '2' - { 144, 9, 11, 11, 2, -10 }, // 0x33 '3' - { 157, 8, 11, 11, 2, -10 }, // 0x34 '4' - { 168, 9, 11, 11, 2, -10 }, // 0x35 '5' - { 181, 8, 11, 11, 3, -10 }, // 0x36 '6' - { 192, 7, 11, 11, 4, -10 }, // 0x37 '7' - { 202, 8, 11, 11, 3, -10 }, // 0x38 '8' - { 213, 8, 11, 11, 3, -10 }, // 0x39 '9' - { 224, 3, 8, 11, 4, -7 }, // 0x3A ':' - { 227, 5, 11, 11, 2, -7 }, // 0x3B ';' - { 234, 9, 8, 11, 2, -8 }, // 0x3C '<' - { 243, 9, 4, 11, 2, -6 }, // 0x3D '=' - { 248, 9, 8, 11, 2, -8 }, // 0x3E '>' - { 257, 7, 10, 11, 4, -9 }, // 0x3F '?' - { 266, 7, 12, 11, 3, -10 }, // 0x40 '@' - { 277, 11, 10, 11, 0, -9 }, // 0x41 'A' - { 291, 10, 10, 11, 1, -9 }, // 0x42 'B' - { 304, 9, 10, 11, 2, -9 }, // 0x43 'C' - { 316, 10, 10, 11, 1, -9 }, // 0x44 'D' - { 329, 10, 10, 11, 1, -9 }, // 0x45 'E' - { 342, 11, 10, 11, 1, -9 }, // 0x46 'F' - { 356, 9, 10, 11, 2, -9 }, // 0x47 'G' - { 368, 11, 10, 11, 1, -9 }, // 0x48 'H' - { 382, 9, 10, 11, 2, -9 }, // 0x49 'I' - { 394, 11, 10, 11, 2, -9 }, // 0x4A 'J' - { 408, 11, 10, 11, 1, -9 }, // 0x4B 'K' - { 422, 10, 10, 11, 1, -9 }, // 0x4C 'L' - { 435, 13, 10, 11, 0, -9 }, // 0x4D 'M' - { 452, 11, 10, 11, 1, -9 }, // 0x4E 'N' - { 466, 9, 10, 11, 2, -9 }, // 0x4F 'O' - { 478, 10, 10, 11, 1, -9 }, // 0x50 'P' - { 491, 9, 13, 11, 2, -9 }, // 0x51 'Q' - { 506, 10, 10, 11, 1, -9 }, // 0x52 'R' - { 519, 9, 10, 11, 2, -9 }, // 0x53 'S' - { 531, 9, 10, 11, 3, -9 }, // 0x54 'T' - { 543, 10, 10, 11, 2, -9 }, // 0x55 'U' - { 556, 11, 10, 11, 2, -9 }, // 0x56 'V' - { 570, 11, 10, 11, 2, -9 }, // 0x57 'W' - { 584, 11, 10, 11, 1, -9 }, // 0x58 'X' - { 598, 9, 10, 11, 3, -9 }, // 0x59 'Y' - { 610, 9, 10, 11, 2, -9 }, // 0x5A 'Z' - { 622, 5, 13, 11, 5, -10 }, // 0x5B '[' - { 631, 4, 14, 11, 4, -11 }, // 0x5C '\' - { 638, 5, 13, 11, 2, -10 }, // 0x5D ']' - { 647, 7, 5, 11, 3, -10 }, // 0x5E '^' - { 652, 11, 1, 11, 0, 2 }, // 0x5F '_' - { 654, 2, 3, 11, 5, -11 }, // 0x60 '`' - { 655, 9, 8, 11, 2, -7 }, // 0x61 'a' - { 664, 11, 11, 11, 0, -10 }, // 0x62 'b' - { 680, 10, 8, 11, 2, -7 }, // 0x63 'c' - { 690, 9, 11, 11, 2, -10 }, // 0x64 'd' - { 703, 9, 8, 11, 2, -7 }, // 0x65 'e' - { 712, 10, 11, 11, 2, -10 }, // 0x66 'f' - { 726, 10, 11, 11, 2, -7 }, // 0x67 'g' - { 740, 10, 11, 11, 1, -10 }, // 0x68 'h' - { 754, 8, 11, 11, 2, -10 }, // 0x69 'i' - { 765, 9, 14, 11, 1, -10 }, // 0x6A 'j' - { 781, 9, 11, 11, 1, -10 }, // 0x6B 'k' - { 794, 8, 11, 11, 2, -10 }, // 0x6C 'l' - { 805, 11, 8, 11, 0, -7 }, // 0x6D 'm' - { 816, 9, 8, 11, 1, -7 }, // 0x6E 'n' - { 825, 9, 8, 11, 2, -7 }, // 0x6F 'o' - { 834, 11, 11, 11, 0, -7 }, // 0x70 'p' - { 850, 10, 11, 11, 2, -7 }, // 0x71 'q' - { 864, 9, 8, 11, 2, -7 }, // 0x72 'r' - { 873, 8, 8, 11, 2, -7 }, // 0x73 's' - { 881, 7, 10, 11, 2, -9 }, // 0x74 't' - { 890, 9, 8, 11, 2, -7 }, // 0x75 'u' - { 899, 10, 8, 11, 2, -7 }, // 0x76 'v' - { 909, 10, 8, 11, 2, -7 }, // 0x77 'w' - { 919, 10, 8, 11, 1, -7 }, // 0x78 'x' - { 929, 12, 11, 11, 0, -7 }, // 0x79 'y' - { 946, 8, 8, 11, 2, -7 }, // 0x7A 'z' - { 954, 6, 13, 11, 4, -10 }, // 0x7B '{' - { 964, 3, 12, 11, 5, -9 }, // 0x7C '|' - { 969, 6, 13, 11, 3, -10 }, // 0x7D '}' - { 979, 7, 3, 11, 3, -6 } }; // 0x7E '~' - -const GFXfont FreeMonoOblique9pt7b PROGMEM = { - (uint8_t *)FreeMonoOblique9pt7bBitmaps, - (GFXglyph *)FreeMonoOblique9pt7bGlyphs, - 0x20, 0x7E, 18 }; - -// Approx. 1654 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h deleted file mode 100644 index 9ecbb8f..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans12pt7b.h +++ /dev/null @@ -1,270 +0,0 @@ -const uint8_t FreeSans12pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xCF, 0x3C, 0xF3, 0x8A, 0x20, 0x06, 0x30, - 0x31, 0x03, 0x18, 0x18, 0xC7, 0xFF, 0xBF, 0xFC, 0x31, 0x03, 0x18, 0x18, - 0xC7, 0xFF, 0xBF, 0xFC, 0x31, 0x01, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, - 0x04, 0x03, 0xE1, 0xFF, 0x72, 0x6C, 0x47, 0x88, 0xF1, 0x07, 0x20, 0x7E, - 0x03, 0xF0, 0x17, 0x02, 0x3C, 0x47, 0x88, 0xF1, 0x1B, 0x26, 0x7F, 0xC3, - 0xE0, 0x10, 0x02, 0x00, 0x00, 0x06, 0x03, 0xC0, 0x40, 0x7E, 0x0C, 0x0E, - 0x70, 0x80, 0xC3, 0x18, 0x0C, 0x31, 0x00, 0xE7, 0x30, 0x07, 0xE6, 0x00, - 0x3C, 0x40, 0x00, 0x0C, 0x7C, 0x00, 0x8F, 0xE0, 0x19, 0xC7, 0x01, 0x18, - 0x30, 0x31, 0x83, 0x02, 0x1C, 0x70, 0x40, 0xFE, 0x04, 0x07, 0xC0, 0x0F, - 0x00, 0x7E, 0x03, 0x9C, 0x0C, 0x30, 0x30, 0xC0, 0xE7, 0x01, 0xF8, 0x03, - 0x80, 0x3E, 0x01, 0xCC, 0x6E, 0x19, 0xB0, 0x7C, 0xC0, 0xF3, 0x03, 0xCE, - 0x1F, 0x9F, 0xE6, 0x1E, 0x1C, 0xFF, 0xA0, 0x08, 0x8C, 0x66, 0x31, 0x98, - 0xC6, 0x31, 0x8C, 0x63, 0x08, 0x63, 0x08, 0x61, 0x0C, 0x20, 0x82, 0x18, - 0xC3, 0x18, 0xC3, 0x18, 0xC6, 0x31, 0x8C, 0x62, 0x31, 0x88, 0xC4, 0x62, - 0x00, 0x10, 0x23, 0x5B, 0xE3, 0x8D, 0x91, 0x00, 0x0C, 0x03, 0x00, 0xC0, - 0x30, 0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0xF5, 0x60, - 0xFF, 0xF0, 0xF0, 0x02, 0x0C, 0x10, 0x20, 0xC1, 0x02, 0x0C, 0x10, 0x20, - 0xC1, 0x02, 0x0C, 0x10, 0x20, 0xC1, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x30, - 0x6E, 0x0F, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, - 0x0E, 0xC1, 0x9C, 0x71, 0xFC, 0x1F, 0x00, 0x08, 0xCF, 0xFF, 0x8C, 0x63, - 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0x1F, 0x0F, 0xF9, 0x87, 0x60, 0x7C, - 0x06, 0x00, 0xC0, 0x18, 0x07, 0x01, 0xC0, 0xF0, 0x78, 0x1C, 0x06, 0x00, - 0x80, 0x30, 0x07, 0xFF, 0xFF, 0xE0, 0x3F, 0x0F, 0xF3, 0x87, 0x60, 0x6C, - 0x0C, 0x01, 0x80, 0x70, 0x7C, 0x0F, 0x80, 0x18, 0x01, 0x80, 0x3C, 0x07, - 0x80, 0xD8, 0x73, 0xFC, 0x1F, 0x00, 0x01, 0x80, 0x70, 0x0E, 0x03, 0xC0, - 0xD8, 0x1B, 0x06, 0x61, 0x8C, 0x21, 0x8C, 0x33, 0x06, 0x7F, 0xFF, 0xFE, - 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x3F, 0xCF, 0xF9, 0x80, 0x30, 0x06, - 0x00, 0xDE, 0x1F, 0xE7, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x07, - 0x81, 0xF8, 0x73, 0xFC, 0x1F, 0x00, 0x0F, 0x07, 0xF9, 0xC3, 0x30, 0x74, - 0x01, 0x80, 0x33, 0xC7, 0xFE, 0xF0, 0xDC, 0x1F, 0x01, 0xE0, 0x3C, 0x06, - 0xC1, 0xDC, 0x71, 0xFC, 0x1F, 0x00, 0xFF, 0xFF, 0xFC, 0x01, 0x00, 0x60, - 0x18, 0x02, 0x00, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x30, 0x04, 0x01, 0x80, - 0x30, 0x06, 0x01, 0x80, 0x30, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x30, 0x66, - 0x0C, 0xC1, 0x8C, 0x61, 0xFC, 0x3F, 0x8E, 0x3B, 0x01, 0xE0, 0x3C, 0x07, - 0x80, 0xD8, 0x31, 0xFC, 0x1F, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x6C, - 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x61, 0xEF, 0xFC, 0x79, 0x80, 0x30, 0x05, - 0x81, 0x98, 0x73, 0xFC, 0x1E, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0xF0, 0x00, - 0x0F, 0x56, 0x00, 0x00, 0x07, 0x01, 0xE0, 0xF8, 0x3C, 0x0F, 0x00, 0xE0, - 0x07, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x0E, 0x00, 0x78, 0x01, 0xF0, 0x07, - 0xC0, 0x0F, 0x00, 0x70, 0x1E, 0x0F, 0x03, 0xC0, 0xF0, 0x08, 0x00, 0x1F, - 0x1F, 0xEE, 0x1B, 0x03, 0xC0, 0xC0, 0x30, 0x0C, 0x06, 0x03, 0x81, 0xC0, - 0xE0, 0x30, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0xFE, - 0x00, 0x0F, 0xFE, 0x00, 0xF0, 0x3E, 0x07, 0x00, 0x3C, 0x38, 0x00, 0x30, - 0xC1, 0xE0, 0x66, 0x0F, 0xD9, 0xD8, 0x61, 0xC3, 0xC3, 0x07, 0x0F, 0x1C, - 0x1C, 0x3C, 0x60, 0x60, 0xF1, 0x81, 0x83, 0xC6, 0x06, 0x1B, 0x18, 0x38, - 0xEE, 0x71, 0xE7, 0x18, 0xFD, 0xF8, 0x71, 0xE7, 0xC0, 0xE0, 0x00, 0x01, - 0xE0, 0x00, 0x01, 0xFF, 0xC0, 0x01, 0xFC, 0x00, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x07, 0xE0, 0x06, 0x60, 0x06, 0x60, 0x0E, 0x70, 0x0C, 0x30, - 0x0C, 0x30, 0x1C, 0x38, 0x18, 0x18, 0x1F, 0xF8, 0x3F, 0xFC, 0x30, 0x1C, - 0x30, 0x0C, 0x70, 0x0E, 0x60, 0x06, 0x60, 0x06, 0xFF, 0xC7, 0xFF, 0x30, - 0x19, 0x80, 0x6C, 0x03, 0x60, 0x1B, 0x00, 0xD8, 0x0C, 0xFF, 0xC7, 0xFF, - 0x30, 0x0D, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x06, 0xFF, 0xF7, - 0xFE, 0x00, 0x07, 0xE0, 0x3F, 0xF0, 0xE0, 0x73, 0x80, 0x66, 0x00, 0x6C, - 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, - 0x06, 0x00, 0x6C, 0x00, 0xDC, 0x03, 0x1E, 0x0E, 0x1F, 0xF8, 0x0F, 0xC0, - 0xFF, 0x83, 0xFF, 0x8C, 0x07, 0x30, 0x0E, 0xC0, 0x1B, 0x00, 0x7C, 0x00, - 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1F, 0x00, - 0x6C, 0x03, 0xB0, 0x1C, 0xFF, 0xE3, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, - 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xEF, 0xFE, 0xC0, - 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xFF, 0xDF, - 0xFB, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x00, - 0x07, 0xF0, 0x1F, 0xFC, 0x3C, 0x1E, 0x70, 0x06, 0x60, 0x03, 0xE0, 0x00, - 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x7F, 0xC0, 0x7F, 0xC0, 0x03, 0xC0, 0x03, - 0x60, 0x03, 0x60, 0x07, 0x30, 0x0F, 0x3C, 0x1F, 0x1F, 0xFB, 0x07, 0xE1, - 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, - 0x03, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, - 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, - 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, - 0x3C, 0x1E, 0x0F, 0x07, 0xC7, 0x7F, 0x1F, 0x00, 0xC0, 0x3B, 0x01, 0xCC, - 0x0E, 0x30, 0x70, 0xC3, 0x83, 0x1C, 0x0C, 0xE0, 0x33, 0x80, 0xDE, 0x03, - 0xDC, 0x0E, 0x38, 0x30, 0x60, 0xC1, 0xC3, 0x03, 0x8C, 0x06, 0x30, 0x1C, - 0xC0, 0x3B, 0x00, 0x60, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, - 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, - 0xFF, 0xFF, 0xF0, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0F, 0xF0, 0x0F, 0xD0, - 0x0F, 0xD8, 0x1B, 0xD8, 0x1B, 0xD8, 0x1B, 0xCC, 0x33, 0xCC, 0x33, 0xCC, - 0x33, 0xC6, 0x63, 0xC6, 0x63, 0xC6, 0x63, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, - 0xC3, 0xC1, 0x83, 0xE0, 0x1F, 0x00, 0xFC, 0x07, 0xE0, 0x3D, 0x81, 0xEE, - 0x0F, 0x30, 0x79, 0xC3, 0xC6, 0x1E, 0x18, 0xF0, 0xE7, 0x83, 0x3C, 0x1D, - 0xE0, 0x6F, 0x01, 0xF8, 0x0F, 0xC0, 0x3E, 0x01, 0xC0, 0x03, 0xE0, 0x0F, - 0xFC, 0x0F, 0x07, 0x86, 0x00, 0xC6, 0x00, 0x33, 0x00, 0x1B, 0x00, 0x07, - 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x36, 0x00, - 0x33, 0x00, 0x18, 0xC0, 0x18, 0x78, 0x3C, 0x1F, 0xFC, 0x03, 0xF8, 0x00, - 0xFF, 0x8F, 0xFE, 0xC0, 0x6C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x07, - 0xFF, 0xEF, 0xFC, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, - 0xC0, 0x0C, 0x00, 0x03, 0xE0, 0x0F, 0xFC, 0x0F, 0x07, 0x86, 0x00, 0xC6, - 0x00, 0x33, 0x00, 0x1B, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, - 0xF0, 0x00, 0x78, 0x00, 0x36, 0x00, 0x33, 0x01, 0x98, 0xC0, 0xFC, 0x78, - 0x3C, 0x1F, 0xFF, 0x03, 0xF9, 0x80, 0x00, 0x40, 0xFF, 0xC3, 0xFF, 0xCC, - 0x03, 0xB0, 0x06, 0xC0, 0x1B, 0x00, 0x6C, 0x01, 0xB0, 0x0C, 0xFF, 0xE3, - 0xFF, 0xCC, 0x03, 0xB0, 0x06, 0xC0, 0x1B, 0x00, 0x6C, 0x01, 0xB0, 0x06, - 0xC0, 0x1B, 0x00, 0x70, 0x0F, 0xE0, 0x7F, 0xC3, 0x83, 0x9C, 0x07, 0x60, - 0x0D, 0x80, 0x06, 0x00, 0x1E, 0x00, 0x3F, 0x80, 0x3F, 0xC0, 0x0F, 0x80, - 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0xDE, 0x0E, 0x3F, 0xF0, 0x3F, 0x80, - 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x06, 0x00, 0x60, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, - 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, - 0xE0, 0x0F, 0x80, 0xEE, 0x0E, 0x3F, 0xE0, 0x7C, 0x00, 0x60, 0x06, 0xC0, - 0x1D, 0xC0, 0x31, 0x80, 0x63, 0x01, 0xC7, 0x03, 0x06, 0x06, 0x0C, 0x1C, - 0x1C, 0x30, 0x18, 0x60, 0x31, 0xC0, 0x73, 0x00, 0x66, 0x00, 0xDC, 0x01, - 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0xE0, 0x30, 0x1D, 0x80, 0xE0, - 0x76, 0x07, 0x81, 0xD8, 0x1E, 0x06, 0x70, 0x7C, 0x18, 0xC1, 0xB0, 0xE3, - 0x0C, 0xC3, 0x8C, 0x33, 0x0C, 0x38, 0xC6, 0x30, 0x67, 0x18, 0xC1, 0x98, - 0x67, 0x06, 0x61, 0xD8, 0x1D, 0x83, 0x60, 0x3C, 0x0D, 0x80, 0xF0, 0x3E, - 0x03, 0xC0, 0x70, 0x0F, 0x01, 0xC0, 0x18, 0x07, 0x00, 0x70, 0x0E, 0x60, - 0x38, 0xE0, 0x60, 0xE1, 0xC0, 0xC3, 0x01, 0xCC, 0x01, 0xF8, 0x01, 0xE0, - 0x03, 0x80, 0x07, 0x80, 0x1F, 0x00, 0x33, 0x00, 0xE7, 0x03, 0x86, 0x06, - 0x0E, 0x1C, 0x0E, 0x70, 0x0C, 0xC0, 0x1C, 0x60, 0x06, 0x70, 0x0E, 0x30, - 0x1C, 0x38, 0x18, 0x1C, 0x38, 0x0C, 0x30, 0x0E, 0x70, 0x06, 0x60, 0x03, - 0xC0, 0x03, 0xC0, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x0E, - 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x70, 0x07, 0x00, 0x30, 0x03, - 0x80, 0x38, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x1C, 0x00, 0xFF, 0xFF, 0xFF, - 0xC0, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCF, - 0xF0, 0x81, 0x81, 0x02, 0x06, 0x04, 0x08, 0x18, 0x10, 0x20, 0x60, 0x40, - 0x81, 0x81, 0x02, 0x06, 0x04, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x3F, 0xF0, 0x0C, 0x0E, 0x05, 0x86, 0xC3, 0x21, 0x19, - 0x8C, 0x83, 0xC1, 0x80, 0xFF, 0xFE, 0xE3, 0x8C, 0x30, 0x3F, 0x07, 0xF8, - 0xE1, 0xCC, 0x0C, 0x00, 0xC0, 0x1C, 0x3F, 0xCF, 0x8C, 0xC0, 0xCC, 0x0C, - 0xE3, 0xC7, 0xEF, 0x3C, 0x70, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, - 0x0C, 0xF8, 0xDF, 0xCF, 0x0E, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xE0, 0x6F, 0x0E, 0xDF, 0xCC, 0xF8, 0x1F, 0x0F, 0xE7, 0x1B, - 0x83, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x38, 0x37, 0x1C, 0xFE, 0x1F, - 0x00, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x3C, 0xCF, 0xFB, 0x8F, - 0xE0, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF8, 0x3B, 0x8F, 0x3F, - 0x63, 0xCC, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x3C, 0x07, 0xFF, 0xFF, 0xFE, - 0x00, 0xC0, 0x1C, 0x0D, 0xC3, 0x1F, 0xE1, 0xF0, 0x3B, 0xD8, 0xC6, 0x7F, - 0xEC, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x00, 0x1E, 0x67, 0xFD, 0xC7, - 0xF0, 0x7C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x7C, 0x1D, 0xC7, 0x9F, - 0xB1, 0xE6, 0x00, 0xC0, 0x3E, 0x0E, 0x7F, 0xC7, 0xE0, 0xC0, 0x30, 0x0C, - 0x03, 0x00, 0xC0, 0x33, 0xCD, 0xFB, 0xC7, 0xE0, 0xF0, 0x3C, 0x0F, 0x03, - 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x30, 0xF0, 0x3F, 0xFF, 0xFF, - 0xF0, 0x33, 0x00, 0x03, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, - 0xE0, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x83, 0x30, 0xC6, 0x30, - 0xCC, 0x1B, 0x83, 0xF0, 0x77, 0x0C, 0x61, 0x8E, 0x30, 0xE6, 0x0C, 0xC1, - 0xD8, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xCF, 0x1F, 0x6F, 0xDF, 0xFC, - 0x78, 0xFC, 0x18, 0x3C, 0x0C, 0x1E, 0x06, 0x0F, 0x03, 0x07, 0x81, 0x83, - 0xC0, 0xC1, 0xE0, 0x60, 0xF0, 0x30, 0x78, 0x18, 0x3C, 0x0C, 0x18, 0xCF, - 0x37, 0xEF, 0x1F, 0x83, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, - 0x0F, 0x03, 0xC0, 0xC0, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x7C, 0x07, 0x80, - 0xF0, 0x1E, 0x03, 0xC0, 0x7C, 0x1D, 0xC7, 0x1F, 0xC1, 0xF0, 0xCF, 0x8D, - 0xFC, 0xF0, 0xEE, 0x06, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, - 0x07, 0xF0, 0xEF, 0xFC, 0xCF, 0x8C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x00, - 0x1E, 0x67, 0xFD, 0xC7, 0xF0, 0x7C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, - 0x7C, 0x1D, 0xC7, 0x9F, 0xF1, 0xE6, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, - 0xCF, 0x7F, 0x38, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC0, 0x3E, 0x1F, - 0xEE, 0x1B, 0x00, 0xC0, 0x3C, 0x07, 0xF0, 0x3E, 0x01, 0xF0, 0x3E, 0x1D, - 0xFE, 0x3E, 0x00, 0x63, 0x19, 0xFF, 0xB1, 0x8C, 0x63, 0x18, 0xC6, 0x31, - 0xE7, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, - 0xF0, 0x7E, 0x3D, 0xFB, 0x3C, 0xC0, 0xE0, 0x66, 0x06, 0x60, 0x67, 0x0C, - 0x30, 0xC3, 0x0C, 0x39, 0x81, 0x98, 0x19, 0x81, 0xF0, 0x0F, 0x00, 0xE0, - 0x0E, 0x00, 0xC1, 0xC1, 0xB0, 0xE1, 0xD8, 0x70, 0xCC, 0x2C, 0x66, 0x36, - 0x31, 0x9B, 0x18, 0xCD, 0x98, 0x64, 0x6C, 0x16, 0x36, 0x0F, 0x1A, 0x07, - 0x8F, 0x03, 0x83, 0x80, 0xC1, 0xC0, 0x60, 0xEE, 0x18, 0xC6, 0x0C, 0xC1, - 0xF0, 0x1C, 0x01, 0x80, 0x78, 0x1B, 0x03, 0x30, 0xC7, 0x30, 0x66, 0x06, - 0xE0, 0x6C, 0x0D, 0x83, 0x38, 0x63, 0x0C, 0x63, 0x0E, 0x60, 0xCC, 0x1B, - 0x03, 0x60, 0x3C, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, 0xE0, 0x78, 0x0E, - 0x00, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0x03, 0x81, 0xC0, 0x60, 0x30, - 0x18, 0x0E, 0x03, 0xFF, 0xFF, 0xC0, 0x19, 0xCC, 0x63, 0x18, 0xC6, 0x31, - 0x99, 0x86, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x1C, 0x60, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFC, 0xC7, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x0C, 0x33, 0x31, - 0x8C, 0x63, 0x18, 0xC6, 0x73, 0x00, 0x70, 0x3E, 0x09, 0xE4, 0x1F, 0x03, - 0x80 }; - -const GFXglyph FreeSans12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 2, 18, 8, 3, -17 }, // 0x21 '!' - { 5, 6, 6, 8, 1, -16 }, // 0x22 '"' - { 10, 13, 16, 13, 0, -15 }, // 0x23 '#' - { 36, 11, 20, 13, 1, -17 }, // 0x24 '$' - { 64, 20, 17, 21, 1, -16 }, // 0x25 '%' - { 107, 14, 17, 16, 1, -16 }, // 0x26 '&' - { 137, 2, 6, 5, 1, -16 }, // 0x27 ''' - { 139, 5, 23, 8, 2, -17 }, // 0x28 '(' - { 154, 5, 23, 8, 1, -17 }, // 0x29 ')' - { 169, 7, 7, 9, 1, -17 }, // 0x2A '*' - { 176, 10, 11, 14, 2, -10 }, // 0x2B '+' - { 190, 2, 6, 7, 2, -1 }, // 0x2C ',' - { 192, 6, 2, 8, 1, -7 }, // 0x2D '-' - { 194, 2, 2, 6, 2, -1 }, // 0x2E '.' - { 195, 7, 18, 7, 0, -17 }, // 0x2F '/' - { 211, 11, 17, 13, 1, -16 }, // 0x30 '0' - { 235, 5, 17, 13, 3, -16 }, // 0x31 '1' - { 246, 11, 17, 13, 1, -16 }, // 0x32 '2' - { 270, 11, 17, 13, 1, -16 }, // 0x33 '3' - { 294, 11, 17, 13, 1, -16 }, // 0x34 '4' - { 318, 11, 17, 13, 1, -16 }, // 0x35 '5' - { 342, 11, 17, 13, 1, -16 }, // 0x36 '6' - { 366, 11, 17, 13, 1, -16 }, // 0x37 '7' - { 390, 11, 17, 13, 1, -16 }, // 0x38 '8' - { 414, 11, 17, 13, 1, -16 }, // 0x39 '9' - { 438, 2, 13, 6, 2, -12 }, // 0x3A ':' - { 442, 2, 16, 6, 2, -11 }, // 0x3B ';' - { 446, 12, 12, 14, 1, -11 }, // 0x3C '<' - { 464, 12, 6, 14, 1, -8 }, // 0x3D '=' - { 473, 12, 12, 14, 1, -11 }, // 0x3E '>' - { 491, 10, 18, 13, 2, -17 }, // 0x3F '?' - { 514, 22, 21, 24, 1, -17 }, // 0x40 '@' - { 572, 16, 18, 16, 0, -17 }, // 0x41 'A' - { 608, 13, 18, 16, 2, -17 }, // 0x42 'B' - { 638, 15, 18, 17, 1, -17 }, // 0x43 'C' - { 672, 14, 18, 17, 2, -17 }, // 0x44 'D' - { 704, 12, 18, 15, 2, -17 }, // 0x45 'E' - { 731, 11, 18, 14, 2, -17 }, // 0x46 'F' - { 756, 16, 18, 18, 1, -17 }, // 0x47 'G' - { 792, 13, 18, 17, 2, -17 }, // 0x48 'H' - { 822, 2, 18, 7, 2, -17 }, // 0x49 'I' - { 827, 9, 18, 13, 1, -17 }, // 0x4A 'J' - { 848, 14, 18, 16, 2, -17 }, // 0x4B 'K' - { 880, 10, 18, 14, 2, -17 }, // 0x4C 'L' - { 903, 16, 18, 20, 2, -17 }, // 0x4D 'M' - { 939, 13, 18, 18, 2, -17 }, // 0x4E 'N' - { 969, 17, 18, 19, 1, -17 }, // 0x4F 'O' - { 1008, 12, 18, 16, 2, -17 }, // 0x50 'P' - { 1035, 17, 19, 19, 1, -17 }, // 0x51 'Q' - { 1076, 14, 18, 17, 2, -17 }, // 0x52 'R' - { 1108, 14, 18, 16, 1, -17 }, // 0x53 'S' - { 1140, 12, 18, 15, 1, -17 }, // 0x54 'T' - { 1167, 13, 18, 17, 2, -17 }, // 0x55 'U' - { 1197, 15, 18, 15, 0, -17 }, // 0x56 'V' - { 1231, 22, 18, 22, 0, -17 }, // 0x57 'W' - { 1281, 15, 18, 16, 0, -17 }, // 0x58 'X' - { 1315, 16, 18, 16, 0, -17 }, // 0x59 'Y' - { 1351, 13, 18, 15, 1, -17 }, // 0x5A 'Z' - { 1381, 4, 23, 7, 2, -17 }, // 0x5B '[' - { 1393, 7, 18, 7, 0, -17 }, // 0x5C '\' - { 1409, 4, 23, 7, 1, -17 }, // 0x5D ']' - { 1421, 9, 9, 11, 1, -16 }, // 0x5E '^' - { 1432, 15, 1, 13, -1, 4 }, // 0x5F '_' - { 1434, 5, 4, 6, 1, -17 }, // 0x60 '`' - { 1437, 12, 13, 13, 1, -12 }, // 0x61 'a' - { 1457, 12, 18, 13, 1, -17 }, // 0x62 'b' - { 1484, 10, 13, 12, 1, -12 }, // 0x63 'c' - { 1501, 11, 18, 13, 1, -17 }, // 0x64 'd' - { 1526, 11, 13, 13, 1, -12 }, // 0x65 'e' - { 1544, 5, 18, 7, 1, -17 }, // 0x66 'f' - { 1556, 11, 18, 13, 1, -12 }, // 0x67 'g' - { 1581, 10, 18, 13, 1, -17 }, // 0x68 'h' - { 1604, 2, 18, 5, 2, -17 }, // 0x69 'i' - { 1609, 4, 23, 6, 0, -17 }, // 0x6A 'j' - { 1621, 11, 18, 12, 1, -17 }, // 0x6B 'k' - { 1646, 2, 18, 5, 1, -17 }, // 0x6C 'l' - { 1651, 17, 13, 19, 1, -12 }, // 0x6D 'm' - { 1679, 10, 13, 13, 1, -12 }, // 0x6E 'n' - { 1696, 11, 13, 13, 1, -12 }, // 0x6F 'o' - { 1714, 12, 17, 13, 1, -12 }, // 0x70 'p' - { 1740, 11, 17, 13, 1, -12 }, // 0x71 'q' - { 1764, 6, 13, 8, 1, -12 }, // 0x72 'r' - { 1774, 10, 13, 12, 1, -12 }, // 0x73 's' - { 1791, 5, 16, 7, 1, -15 }, // 0x74 't' - { 1801, 10, 13, 13, 1, -12 }, // 0x75 'u' - { 1818, 12, 13, 12, 0, -12 }, // 0x76 'v' - { 1838, 17, 13, 17, 0, -12 }, // 0x77 'w' - { 1866, 11, 13, 11, 0, -12 }, // 0x78 'x' - { 1884, 11, 18, 11, 0, -12 }, // 0x79 'y' - { 1909, 10, 13, 12, 1, -12 }, // 0x7A 'z' - { 1926, 5, 23, 8, 1, -17 }, // 0x7B '{' - { 1941, 2, 23, 6, 2, -17 }, // 0x7C '|' - { 1947, 5, 23, 8, 2, -17 }, // 0x7D '}' - { 1962, 10, 5, 12, 1, -10 } }; // 0x7E '~' - -const GFXfont FreeSans12pt7b PROGMEM = { - (uint8_t *)FreeSans12pt7bBitmaps, - (GFXglyph *)FreeSans12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2641 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h deleted file mode 100644 index 3fdc591..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans18pt7b.h +++ /dev/null @@ -1,452 +0,0 @@ -const uint8_t FreeSans18pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x20, 0x3F, 0xFC, 0xE3, 0xF1, - 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8E, 0x82, 0x41, 0x00, 0x01, 0xC3, 0x80, - 0x38, 0x70, 0x06, 0x0E, 0x00, 0xC1, 0x80, 0x38, 0x70, 0x07, 0x0E, 0x0F, - 0xFF, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0xE1, 0xC0, 0x1C, 0x38, 0x03, - 0x87, 0x00, 0x70, 0xE0, 0x0C, 0x18, 0x3F, 0xFF, 0xF7, 0xFF, 0xFE, 0xFF, - 0xFF, 0xC1, 0xC3, 0x80, 0x30, 0x60, 0x06, 0x0C, 0x01, 0xC3, 0x80, 0x38, - 0x70, 0x07, 0x0E, 0x00, 0xC1, 0x80, 0x03, 0x00, 0x0F, 0xC0, 0x3F, 0xF0, - 0x3F, 0xF8, 0x7B, 0x3C, 0xF3, 0x1C, 0xE3, 0x0E, 0xE3, 0x0E, 0xE3, 0x0E, - 0xE3, 0x00, 0xE3, 0x00, 0xF3, 0x00, 0x7B, 0x00, 0x7F, 0x80, 0x1F, 0xF0, - 0x07, 0xFC, 0x03, 0x7E, 0x03, 0x0F, 0x03, 0x07, 0xE3, 0x07, 0xE3, 0x07, - 0xE3, 0x07, 0xE3, 0x0F, 0x73, 0x3E, 0x7F, 0xFC, 0x3F, 0xF8, 0x0F, 0xE0, - 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x78, 0x00, - 0xE0, 0x0F, 0xF0, 0x06, 0x00, 0xFF, 0xC0, 0x70, 0x07, 0x0E, 0x07, 0x00, - 0x70, 0x38, 0x38, 0x03, 0x00, 0xC3, 0x80, 0x18, 0x06, 0x1C, 0x00, 0xE0, - 0x71, 0xC0, 0x03, 0x87, 0x8C, 0x00, 0x1F, 0xF8, 0xE0, 0x00, 0x7F, 0x86, - 0x00, 0x01, 0xF8, 0x70, 0x00, 0x00, 0x03, 0x03, 0xC0, 0x00, 0x38, 0x7F, - 0x80, 0x01, 0x87, 0xFE, 0x00, 0x1C, 0x38, 0x70, 0x00, 0xC3, 0x81, 0xC0, - 0x0E, 0x18, 0x06, 0x00, 0xE0, 0xC0, 0x30, 0x07, 0x07, 0x03, 0x80, 0x70, - 0x1C, 0x38, 0x03, 0x80, 0xFF, 0xC0, 0x38, 0x03, 0xFC, 0x01, 0x80, 0x07, - 0x80, 0x01, 0xF0, 0x00, 0x7F, 0x80, 0x0F, 0xFC, 0x01, 0xE1, 0xE0, 0x1C, - 0x0E, 0x01, 0xC0, 0xE0, 0x1C, 0x0E, 0x01, 0xE1, 0xE0, 0x0E, 0x3C, 0x00, - 0x77, 0x80, 0x07, 0xF0, 0x00, 0x7C, 0x00, 0x0F, 0xE0, 0x03, 0xCF, 0x1C, - 0x78, 0x79, 0xC7, 0x03, 0xDC, 0xE0, 0x1F, 0x8E, 0x00, 0xF8, 0xE0, 0x0F, - 0x0E, 0x00, 0x70, 0xF0, 0x0F, 0x87, 0xC3, 0xFC, 0x7F, 0xFD, 0xC3, 0xFF, - 0x0E, 0x0F, 0xC0, 0xF0, 0xFF, 0xFF, 0xFA, 0x40, 0x06, 0x06, 0x0C, 0x0C, - 0x18, 0x18, 0x38, 0x30, 0x70, 0x70, 0x70, 0x60, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x70, 0x70, 0x70, 0x30, 0x38, 0x18, - 0x18, 0x0C, 0x0C, 0x06, 0x03, 0xC0, 0x60, 0x30, 0x30, 0x38, 0x18, 0x1C, - 0x0C, 0x0E, 0x0E, 0x0E, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x06, 0x0E, 0x0E, 0x0E, 0x0C, 0x1C, 0x18, 0x38, 0x30, 0x30, - 0x60, 0xC0, 0x0C, 0x03, 0x00, 0xC3, 0xB7, 0xFF, 0xC7, 0x81, 0xE0, 0xEC, - 0x73, 0x88, 0x40, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0xFF, - 0xF6, 0xDA, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xC0, 0x30, 0x18, - 0x06, 0x01, 0x80, 0xC0, 0x30, 0x0C, 0x06, 0x01, 0x80, 0x60, 0x30, 0x0C, - 0x03, 0x00, 0xC0, 0x60, 0x18, 0x06, 0x03, 0x00, 0xC0, 0x30, 0x18, 0x06, - 0x01, 0x80, 0xC0, 0x30, 0x00, 0x07, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3C, - 0x3C, 0x78, 0x1E, 0x70, 0x0E, 0x70, 0x0E, 0xE0, 0x07, 0xE0, 0x07, 0xE0, - 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, - 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0x70, 0x0E, 0x70, 0x0E, 0x78, 0x1E, 0x3C, - 0x3C, 0x1F, 0xF8, 0x1F, 0xF0, 0x07, 0xE0, 0x03, 0x03, 0x07, 0x0F, 0x3F, - 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE0, 0x1F, 0xF8, - 0x3F, 0xFC, 0x7C, 0x3E, 0x70, 0x0F, 0xF0, 0x0F, 0xE0, 0x07, 0xE0, 0x07, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF8, - 0x03, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x70, 0x00, - 0x60, 0x00, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF0, - 0x07, 0xFE, 0x07, 0xFF, 0x87, 0x83, 0xC3, 0x80, 0xF3, 0x80, 0x39, 0xC0, - 0x1C, 0xE0, 0x0E, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x7F, 0x00, 0x3F, 0x00, - 0x1F, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0xF0, 0x01, - 0xF8, 0x00, 0xFE, 0x00, 0x77, 0x00, 0x73, 0xE0, 0xF8, 0xFF, 0xF8, 0x3F, - 0xF8, 0x07, 0xF0, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0xF8, - 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xB8, 0x03, 0x38, 0x07, 0x38, 0x0E, 0x38, - 0x1C, 0x38, 0x18, 0x38, 0x38, 0x38, 0x70, 0x38, 0x60, 0x38, 0xE0, 0x38, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, - 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x1F, 0xFF, 0x0F, 0xFF, 0x8F, 0xFF, - 0xC7, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x39, - 0xF0, 0x3F, 0xFE, 0x1F, 0xFF, 0x8F, 0x83, 0xE7, 0x00, 0xF0, 0x00, 0x3C, - 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xFC, 0x00, - 0xEF, 0x00, 0x73, 0xC0, 0xF0, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xE0, 0x00, - 0x03, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3C, 0x1E, 0x38, 0x0E, 0x70, 0x0E, - 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE3, 0xE0, 0xEF, 0xF8, 0xFF, 0xFC, - 0xFC, 0x3E, 0xF0, 0x0E, 0xF0, 0x0F, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, - 0x60, 0x07, 0x70, 0x0F, 0x70, 0x0E, 0x3C, 0x3E, 0x3F, 0xFC, 0x1F, 0xF8, - 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x06, 0x00, 0x0E, - 0x00, 0x1C, 0x00, 0x18, 0x00, 0x38, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, - 0x00, 0xC0, 0x01, 0xC0, 0x01, 0x80, 0x03, 0x80, 0x03, 0x80, 0x07, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, - 0x1C, 0x00, 0x1C, 0x00, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0x83, - 0xC7, 0x80, 0xF3, 0x80, 0x39, 0xC0, 0x1C, 0xE0, 0x0E, 0x78, 0x0F, 0x1E, - 0x0F, 0x07, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0xE3, 0xE0, 0xF9, 0xC0, 0x1D, - 0xC0, 0x0F, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xF7, 0x00, - 0x73, 0xE0, 0xF8, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x07, 0xE0, - 0x1F, 0xF8, 0x3F, 0xFC, 0x7C, 0x3C, 0x70, 0x0E, 0xF0, 0x0E, 0xE0, 0x06, - 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0x70, 0x0F, 0x78, 0x3F, - 0x3F, 0xFF, 0x1F, 0xF7, 0x07, 0xC7, 0x00, 0x07, 0x00, 0x06, 0x00, 0x0E, - 0x70, 0x0E, 0x70, 0x1C, 0x78, 0x3C, 0x3F, 0xF8, 0x1F, 0xF0, 0x07, 0xC0, - 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0xB6, 0xD6, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x07, 0xE0, - 0x0F, 0xC0, 0x3F, 0x80, 0x7E, 0x00, 0xFC, 0x01, 0xF0, 0x00, 0xE0, 0x00, - 0x7C, 0x00, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x07, 0xF0, 0x00, - 0x7E, 0x00, 0x0F, 0x00, 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x80, 0x80, 0x00, 0x70, 0x00, 0x3E, 0x00, 0x0F, 0xE0, 0x00, 0xFC, - 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0x80, 0x0F, 0xC0, - 0x1F, 0x80, 0x7F, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x01, 0xC0, 0x00, - 0x80, 0x00, 0x00, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE3, 0xC3, 0xEF, 0x01, - 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0x00, 0x0E, 0x00, 0x38, 0x00, 0xF0, - 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x00, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, - 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x0E, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x00, - 0x00, 0xFF, 0xFF, 0xC0, 0x01, 0xF8, 0x0F, 0xE0, 0x03, 0xE0, 0x01, 0xF0, - 0x07, 0x80, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0x1E, - 0x3C, 0x03, 0xE0, 0x1E, 0x38, 0x0F, 0xF3, 0x8E, 0x78, 0x1E, 0x3F, 0x0F, - 0x70, 0x38, 0x1F, 0x07, 0x70, 0x78, 0x0F, 0x07, 0xE0, 0x70, 0x0E, 0x07, - 0xE0, 0x70, 0x0E, 0x07, 0xE0, 0xE0, 0x0E, 0x07, 0xE0, 0xE0, 0x1C, 0x07, - 0xE0, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x38, 0x1C, - 0xF0, 0x70, 0x78, 0x3C, 0x70, 0x78, 0xFC, 0x78, 0x78, 0x3F, 0xDF, 0xF0, - 0x38, 0x1F, 0x0F, 0xC0, 0x3C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x00, 0x07, 0xF0, 0x0E, 0x00, 0x01, 0xFF, 0xFE, 0x00, - 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x03, - 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xDC, 0x00, 0x07, 0x78, - 0x00, 0x3C, 0xE0, 0x00, 0xE3, 0x80, 0x03, 0x8F, 0x00, 0x1E, 0x1C, 0x00, - 0x70, 0x70, 0x01, 0xC1, 0xE0, 0x0E, 0x03, 0x80, 0x38, 0x0E, 0x00, 0xE0, - 0x3C, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0xFF, 0xFF, 0x83, 0xC0, 0x0E, - 0x0E, 0x00, 0x3C, 0x78, 0x00, 0xF1, 0xE0, 0x01, 0xC7, 0x00, 0x07, 0xBC, - 0x00, 0x1E, 0xF0, 0x00, 0x3B, 0x80, 0x00, 0xF0, 0xFF, 0xFC, 0x1F, 0xFF, - 0xE3, 0xFF, 0xFE, 0x70, 0x03, 0xCE, 0x00, 0x3D, 0xC0, 0x03, 0xB8, 0x00, - 0x77, 0x00, 0x0E, 0xE0, 0x01, 0xDC, 0x00, 0x73, 0x80, 0x1E, 0x7F, 0xFF, - 0x8F, 0xFF, 0xF1, 0xFF, 0xFF, 0x38, 0x00, 0xF7, 0x00, 0x0E, 0xE0, 0x00, - 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x03, - 0xF8, 0x00, 0xF7, 0xFF, 0xFC, 0xFF, 0xFF, 0x1F, 0xFF, 0x80, 0x00, 0xFF, - 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFE, 0x07, 0xE0, 0x7C, 0x3E, 0x00, 0x78, - 0xF0, 0x00, 0xE7, 0x80, 0x03, 0xDC, 0x00, 0x07, 0x70, 0x00, 0x03, 0x80, - 0x00, 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, - 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x1D, 0xC0, 0x00, 0x77, - 0x00, 0x03, 0xDE, 0x00, 0x0E, 0x3C, 0x00, 0x78, 0xF8, 0x03, 0xC1, 0xF8, - 0x1F, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x03, 0xF8, 0x00, 0xFF, 0xF8, - 0x0F, 0xFF, 0xE0, 0xFF, 0xFF, 0x0E, 0x00, 0xF8, 0xE0, 0x03, 0xCE, 0x00, - 0x1C, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xFE, 0x00, 0x07, 0xE0, - 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, - 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x0F, 0xE0, 0x00, 0xEE, 0x00, 0x0E, - 0xE0, 0x01, 0xEE, 0x00, 0x3C, 0xE0, 0x0F, 0x8F, 0xFF, 0xF0, 0xFF, 0xFE, - 0x0F, 0xFF, 0x80, 0xFF, 0xFF, 0xBF, 0xFF, 0xEF, 0xFF, 0xFB, 0x80, 0x00, - 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, - 0x00, 0x0E, 0x00, 0x03, 0xFF, 0xFE, 0xFF, 0xFF, 0xBF, 0xFF, 0xEE, 0x00, - 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, - 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0E, 0x00, - 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, - 0x00, 0x1F, 0xFF, 0xCF, 0xFF, 0xE7, 0xFF, 0xF3, 0x80, 0x01, 0xC0, 0x00, - 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, - 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x7F, - 0x80, 0x03, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x0F, 0x80, 0xFC, 0x1E, 0x00, - 0x3E, 0x3C, 0x00, 0x0E, 0x78, 0x00, 0x0F, 0x70, 0x00, 0x07, 0x70, 0x00, - 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x03, - 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x00, 0x07, 0xF0, 0x00, - 0x07, 0x70, 0x00, 0x07, 0x70, 0x00, 0x0F, 0x78, 0x00, 0x0F, 0x3C, 0x00, - 0x1F, 0x1E, 0x00, 0x3F, 0x0F, 0xC0, 0xF7, 0x07, 0xFF, 0xE7, 0x03, 0xFF, - 0xC3, 0x00, 0xFF, 0x03, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, - 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, - 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, - 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, - 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, - 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, - 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1F, 0x80, 0x7E, - 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0xC0, 0xF7, 0x87, 0x9F, 0xFE, 0x3F, 0xF0, - 0x3F, 0x00, 0xE0, 0x01, 0xEE, 0x00, 0x3C, 0xE0, 0x07, 0x8E, 0x00, 0xF0, - 0xE0, 0x1E, 0x0E, 0x03, 0xE0, 0xE0, 0x7C, 0x0E, 0x0F, 0x80, 0xE1, 0xF0, - 0x0E, 0x1E, 0x00, 0xE3, 0xC0, 0x0E, 0x7C, 0x00, 0xEF, 0xE0, 0x0F, 0xCE, - 0x00, 0xF8, 0xF0, 0x0F, 0x07, 0x80, 0xE0, 0x3C, 0x0E, 0x03, 0xC0, 0xE0, - 0x1E, 0x0E, 0x00, 0xF0, 0xE0, 0x0F, 0x0E, 0x00, 0x78, 0xE0, 0x03, 0xCE, - 0x00, 0x3C, 0xE0, 0x01, 0xEE, 0x00, 0x0F, 0xE0, 0x01, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, - 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, - 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, - 0x38, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0x00, 0x1F, 0xF8, - 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xFC, 0x00, 0x3F, 0xFC, - 0x00, 0x3F, 0xEE, 0x00, 0x77, 0xEE, 0x00, 0x77, 0xEE, 0x00, 0x77, 0xE7, - 0x00, 0xE7, 0xE7, 0x00, 0xE7, 0xE7, 0x00, 0xE7, 0xE3, 0x81, 0xC7, 0xE3, - 0x81, 0xC7, 0xE3, 0x81, 0xC7, 0xE1, 0xC3, 0x87, 0xE1, 0xC3, 0x87, 0xE1, - 0xC3, 0x87, 0xE0, 0xE7, 0x07, 0xE0, 0xE7, 0x07, 0xE0, 0xE7, 0x07, 0xE0, - 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x3C, 0x07, 0xE0, - 0x3C, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xC0, 0x07, - 0xFC, 0x00, 0x7F, 0xE0, 0x07, 0xEF, 0x00, 0x7E, 0x70, 0x07, 0xE7, 0x80, - 0x7E, 0x3C, 0x07, 0xE1, 0xC0, 0x7E, 0x1E, 0x07, 0xE0, 0xE0, 0x7E, 0x0F, - 0x07, 0xE0, 0x78, 0x7E, 0x03, 0x87, 0xE0, 0x3C, 0x7E, 0x01, 0xE7, 0xE0, - 0x0E, 0x7E, 0x00, 0xF7, 0xE0, 0x07, 0xFE, 0x00, 0x3F, 0xE0, 0x03, 0xFE, - 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x0F, 0x00, 0x7F, 0x00, 0x01, 0xFF, - 0xF0, 0x01, 0xFF, 0xFC, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x03, 0xC1, 0xE0, - 0x00, 0xF1, 0xE0, 0x00, 0x3C, 0xE0, 0x00, 0x0E, 0x70, 0x00, 0x07, 0x70, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, - 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, - 0xB8, 0x00, 0x03, 0x9C, 0x00, 0x01, 0xCF, 0x00, 0x01, 0xE3, 0xC0, 0x01, - 0xE0, 0xF0, 0x01, 0xE0, 0x3E, 0x03, 0xE0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, - 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xFC, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, - 0x80, 0x3E, 0xE0, 0x03, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, - 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x1E, 0xFF, 0xFF, 0x3F, 0xFF, - 0x8F, 0xFF, 0xC3, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, - 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, - 0x00, 0x38, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xFF, - 0xFC, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x03, 0xC1, 0xE0, 0x00, 0xF1, 0xE0, - 0x00, 0x3C, 0xE0, 0x00, 0x0E, 0x70, 0x00, 0x07, 0x70, 0x00, 0x01, 0xF8, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, - 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xB8, 0x00, 0x03, - 0x9C, 0x00, 0x01, 0xCF, 0x00, 0x39, 0xE3, 0xC0, 0x1F, 0xE0, 0xF0, 0x07, - 0xE0, 0x3E, 0x03, 0xF0, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xEE, 0x00, 0x3F, - 0x83, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x20, 0xFF, 0xFE, 0x0F, 0xFF, - 0xF8, 0xFF, 0xFF, 0xCE, 0x00, 0x3C, 0xE0, 0x01, 0xEE, 0x00, 0x0E, 0xE0, - 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x01, 0xCE, - 0x00, 0x3C, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0xFF, 0xFF, 0x8E, 0x00, 0x3C, - 0xE0, 0x01, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, - 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xEE, 0x00, 0x0E, 0xE0, 0x00, 0xFE, 0x00, - 0x0F, 0x03, 0xFC, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xE0, 0x7C, 0x38, - 0x01, 0xE7, 0x00, 0x0E, 0x70, 0x00, 0xE7, 0x00, 0x00, 0x70, 0x00, 0x07, - 0x80, 0x00, 0x3E, 0x00, 0x01, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x3F, 0xF8, - 0x00, 0x3F, 0xE0, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xE0, 0x00, - 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x77, 0x80, 0x0E, 0x7C, 0x03, 0xE3, 0xFF, - 0xFC, 0x1F, 0xFF, 0x80, 0x3F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x80, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, - 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, - 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, - 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, - 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0xE0, 0x00, 0xFC, 0x00, - 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, - 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, - 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, - 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x1E, 0xF0, 0x07, - 0x9F, 0x01, 0xF1, 0xFF, 0xFC, 0x1F, 0xFE, 0x00, 0x7F, 0x00, 0xE0, 0x00, - 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x1C, 0xE0, 0x01, 0xE7, 0x80, 0x0F, 0x3C, - 0x00, 0x70, 0xE0, 0x07, 0x87, 0x80, 0x3C, 0x1C, 0x01, 0xC0, 0xE0, 0x0E, - 0x07, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x83, 0x80, 0x1C, - 0x1C, 0x00, 0xE0, 0xE0, 0x07, 0x8E, 0x00, 0x1C, 0x70, 0x00, 0xE3, 0x80, - 0x07, 0xB8, 0x00, 0x1D, 0xC0, 0x00, 0xEE, 0x00, 0x07, 0xE0, 0x00, 0x1F, - 0x00, 0x00, 0xF8, 0x00, 0x03, 0x80, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x70, - 0x03, 0xC0, 0x0F, 0x78, 0x03, 0xE0, 0x0F, 0x78, 0x03, 0xE0, 0x0E, 0x38, - 0x07, 0xE0, 0x0E, 0x38, 0x07, 0xF0, 0x1E, 0x3C, 0x07, 0x70, 0x1E, 0x3C, - 0x07, 0x70, 0x1C, 0x1C, 0x0E, 0x70, 0x1C, 0x1C, 0x0E, 0x38, 0x3C, 0x1C, - 0x0E, 0x38, 0x3C, 0x1E, 0x1E, 0x38, 0x38, 0x0E, 0x1C, 0x38, 0x38, 0x0E, - 0x1C, 0x1C, 0x38, 0x0E, 0x1C, 0x1C, 0x78, 0x0F, 0x3C, 0x1C, 0x70, 0x07, - 0x38, 0x0E, 0x70, 0x07, 0x38, 0x0E, 0x70, 0x07, 0x38, 0x0E, 0x70, 0x07, - 0x70, 0x0E, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03, - 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xC0, 0x01, 0xE0, 0x03, 0xC0, 0x01, - 0xE0, 0x03, 0xC0, 0xF0, 0x00, 0x7B, 0xC0, 0x07, 0x8F, 0x00, 0x38, 0x78, - 0x03, 0xC1, 0xE0, 0x3C, 0x07, 0x81, 0xC0, 0x3C, 0x1E, 0x00, 0xF1, 0xE0, - 0x03, 0x8E, 0x00, 0x1E, 0xF0, 0x00, 0x7F, 0x00, 0x01, 0xF0, 0x00, 0x0F, - 0x80, 0x00, 0x7C, 0x00, 0x07, 0xF0, 0x00, 0x3B, 0x80, 0x03, 0xDE, 0x00, - 0x3C, 0x78, 0x01, 0xC1, 0xC0, 0x1E, 0x0F, 0x01, 0xE0, 0x3C, 0x0E, 0x00, - 0xE0, 0xF0, 0x07, 0x8F, 0x00, 0x1E, 0x70, 0x00, 0xF7, 0x80, 0x03, 0xC0, - 0xF0, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0x81, - 0xE0, 0x0F, 0x01, 0xC0, 0x1C, 0x03, 0xC0, 0x78, 0x03, 0xC1, 0xE0, 0x07, - 0x83, 0x80, 0x07, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0F, 0x78, 0x00, 0x0E, - 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, - 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, - 0x00, 0x70, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x00, - 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, - 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x7C, 0x00, - 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0xE3, 0x8E, 0x38, 0xE3, - 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, - 0x8E, 0x38, 0xE3, 0x8F, 0xFF, 0xFC, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x60, - 0x0C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x01, 0x80, 0x20, 0x0C, 0x03, 0x00, - 0x40, 0x18, 0x06, 0x01, 0x80, 0x30, 0x0C, 0x03, 0x00, 0x60, 0x18, 0x06, - 0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, - 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, - 0x1C, 0x7F, 0xFF, 0xFC, 0x07, 0x00, 0x78, 0x03, 0xC0, 0x3F, 0x01, 0xD8, - 0x0C, 0xE0, 0xE3, 0x06, 0x1C, 0x70, 0xE3, 0x83, 0x18, 0x1D, 0xC0, 0x6C, - 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xF0, 0xF0, 0xE0, 0xE0, - 0xE0, 0x07, 0xF0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0x03, 0xC7, 0x00, 0xE0, - 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0xFE, 0x0F, 0xFF, 0x1F, 0xF3, - 0x9F, 0x01, 0xCF, 0x00, 0xE7, 0x00, 0x73, 0x80, 0x79, 0xE0, 0xFC, 0x7F, - 0xEF, 0x9F, 0xE3, 0xC7, 0xE1, 0xE0, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, - 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE3, 0xE0, 0xEF, 0xF8, - 0xFF, 0xFC, 0xFC, 0x3E, 0xF8, 0x1E, 0xF0, 0x0E, 0xE0, 0x0F, 0xE0, 0x07, - 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0E, - 0xF8, 0x1E, 0xFC, 0x3C, 0xEF, 0xFC, 0xEF, 0xF8, 0xE3, 0xE0, 0x07, 0xF0, - 0x1F, 0xF8, 0x3F, 0xFC, 0x3C, 0x1E, 0x78, 0x0E, 0x70, 0x07, 0xE0, 0x00, - 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x07, - 0x70, 0x07, 0x78, 0x0E, 0x7C, 0x1E, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, - 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, - 0x1C, 0x00, 0x0E, 0x0F, 0xC7, 0x1F, 0xFB, 0x9F, 0xFF, 0xDF, 0x07, 0xEF, - 0x01, 0xF7, 0x00, 0x7F, 0x80, 0x3F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, - 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x77, 0x00, 0x7B, 0xC0, 0x7D, 0xF0, - 0x7E, 0x7F, 0xFB, 0x1F, 0xF9, 0x83, 0xF0, 0xC0, 0x07, 0xE0, 0x1F, 0xF8, - 0x3F, 0xFC, 0x7C, 0x1E, 0x70, 0x0E, 0x60, 0x06, 0xE0, 0x07, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x70, 0x07, - 0x78, 0x0E, 0x3C, 0x1E, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, 0x0E, 0x3C, - 0xF9, 0xC3, 0x87, 0x0E, 0x7F, 0xFF, 0xFC, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, - 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0x07, 0xC7, 0x1F, - 0xF7, 0x3F, 0xFF, 0x3C, 0x3F, 0x78, 0x0F, 0x70, 0x0F, 0xE0, 0x07, 0xE0, - 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0x70, - 0x0F, 0x78, 0x0F, 0x7C, 0x3F, 0x3F, 0xF7, 0x1F, 0xE7, 0x07, 0xC7, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x0E, 0x70, 0x0E, 0x78, 0x1E, 0x3F, 0xFC, 0x1F, - 0xF8, 0x07, 0xE0, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, - 0x1C, 0x00, 0x38, 0x00, 0x71, 0xF8, 0xE7, 0xFD, 0xDF, 0xFB, 0xF0, 0xFF, - 0xC0, 0xFF, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, - 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, - 0xE0, 0x0F, 0xC0, 0x1C, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFC, 0x1C, 0x71, 0xC7, 0x00, 0x00, 0x07, 0x1C, 0x71, 0xC7, 0x1C, - 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, - 0x73, 0xFF, 0xFB, 0xC0, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, - 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x3C, 0xE0, 0x78, 0xE0, 0xF0, - 0xE1, 0xE0, 0xE3, 0xC0, 0xE7, 0x80, 0xEF, 0x00, 0xEF, 0x80, 0xFF, 0x80, - 0xFB, 0xC0, 0xF1, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xE0, 0x70, 0xE0, 0x78, - 0xE0, 0x3C, 0xE0, 0x1C, 0xE0, 0x1E, 0xE0, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE3, 0xE0, 0xF8, 0xE7, 0xF1, 0xFE, - 0xEF, 0xFB, 0xFE, 0xF8, 0x7F, 0x0F, 0xF0, 0x3E, 0x07, 0xF0, 0x1C, 0x07, - 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, - 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, - 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, 0xE0, 0x1C, 0x07, - 0xE0, 0x1C, 0x07, 0xE3, 0xF1, 0xCF, 0xFB, 0xBF, 0xF7, 0xE1, 0xFF, 0x81, - 0xFE, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, - 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, - 0x1F, 0x80, 0x38, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0x83, 0xC7, - 0x80, 0xF3, 0x80, 0x3B, 0x80, 0x1F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, - 0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3B, 0x80, 0x39, 0xE0, 0x3C, 0x78, - 0x3C, 0x3F, 0xFE, 0x0F, 0xFE, 0x01, 0xFC, 0x00, 0xE3, 0xE0, 0xE7, 0xF8, - 0xEF, 0xFC, 0xFC, 0x3E, 0xF8, 0x1E, 0xF0, 0x0E, 0xE0, 0x0F, 0xE0, 0x07, - 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x0E, - 0xF8, 0x1E, 0xFC, 0x3E, 0xFF, 0xFC, 0xEF, 0xF8, 0xE3, 0xE0, 0xE0, 0x00, - 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x07, 0xE1, - 0x8F, 0xFC, 0xCF, 0xFF, 0x67, 0x83, 0xF7, 0x80, 0xFB, 0x80, 0x3F, 0xC0, - 0x1F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x7E, - 0x00, 0x3B, 0x80, 0x3D, 0xE0, 0x3E, 0xF8, 0x3F, 0x3F, 0xFF, 0x8F, 0xFD, - 0xC1, 0xF8, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, - 0x07, 0x00, 0x03, 0x80, 0xE3, 0xF7, 0xFB, 0xFF, 0x8F, 0x07, 0x83, 0x81, - 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, - 0x38, 0x00, 0x0F, 0xC0, 0xFF, 0x87, 0xFF, 0x3C, 0x1E, 0xE0, 0x3B, 0x80, - 0x0E, 0x00, 0x3C, 0x00, 0x7F, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0x7F, 0x00, - 0x3F, 0x80, 0x7E, 0x01, 0xFC, 0x1F, 0x7F, 0xF8, 0xFF, 0xC1, 0xFC, 0x00, - 0x38, 0x70, 0xE1, 0xCF, 0xFF, 0xFF, 0x9C, 0x38, 0x70, 0xE1, 0xC3, 0x87, - 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0xE7, 0xC7, 0x80, 0xE0, 0x0F, 0xC0, - 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, - 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x03, 0xFC, - 0x0F, 0xFC, 0x3F, 0x7F, 0xEE, 0xFF, 0x9C, 0x7E, 0x38, 0x70, 0x03, 0xB8, - 0x03, 0x9C, 0x01, 0xC7, 0x00, 0xE3, 0x80, 0xE1, 0xC0, 0x70, 0x70, 0x38, - 0x38, 0x38, 0x1C, 0x1C, 0x07, 0x0E, 0x03, 0x8E, 0x01, 0xC7, 0x00, 0x77, - 0x00, 0x3B, 0x80, 0x1D, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, - 0x70, 0x00, 0xF0, 0x1C, 0x03, 0xB8, 0x1F, 0x03, 0xDC, 0x0F, 0x81, 0xCE, - 0x07, 0xC0, 0xE7, 0x83, 0xE0, 0x71, 0xC3, 0xB8, 0x70, 0xE1, 0xDC, 0x38, - 0x70, 0xEE, 0x1C, 0x1C, 0x63, 0x0E, 0x0E, 0x71, 0xCE, 0x07, 0x38, 0xE7, - 0x03, 0x9C, 0x73, 0x80, 0xEC, 0x19, 0x80, 0x7E, 0x0F, 0xC0, 0x3F, 0x07, - 0xE0, 0x0F, 0x83, 0xF0, 0x07, 0x80, 0xF0, 0x03, 0xC0, 0x78, 0x01, 0xE0, - 0x3C, 0x00, 0x70, 0x07, 0x38, 0x0E, 0x3C, 0x1C, 0x1C, 0x1C, 0x0E, 0x38, - 0x0F, 0x70, 0x07, 0x70, 0x03, 0xE0, 0x03, 0xC0, 0x01, 0xC0, 0x03, 0xE0, - 0x07, 0xE0, 0x07, 0x70, 0x0E, 0x78, 0x1E, 0x38, 0x1C, 0x1C, 0x38, 0x1E, - 0x78, 0x0E, 0x70, 0x07, 0x70, 0x07, 0x38, 0x03, 0x9C, 0x01, 0xC7, 0x01, - 0xC3, 0x80, 0xE1, 0xC0, 0x70, 0x70, 0x70, 0x38, 0x38, 0x1C, 0x3C, 0x07, - 0x1C, 0x03, 0x8E, 0x01, 0xCE, 0x00, 0x77, 0x00, 0x3B, 0x80, 0x1F, 0x80, - 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x38, - 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, - 0x00, 0x00, 0x7F, 0xFC, 0xFF, 0xF9, 0xFF, 0xF0, 0x00, 0xE0, 0x03, 0x80, - 0x0E, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x1C, 0x00, 0x70, - 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0x07, 0x0F, 0x1F, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0xF8, 0xE0, 0xF8, 0x38, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x0F, 0x07, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0xF0, 0xF8, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1C, 0x1F, - 0x07, 0x1F, 0x1C, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0xF8, 0xF0, 0xE0, 0x38, 0x00, 0xFC, 0x03, 0xFC, 0x1F, 0x3E, - 0x3C, 0x1F, 0xE0, 0x1F, 0x80, 0x1E, 0x00 }; - -const GFXglyph FreeSans18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' - { 0, 3, 26, 12, 4, -25 }, // 0x21 '!' - { 10, 9, 9, 12, 1, -24 }, // 0x22 '"' - { 21, 19, 24, 19, 0, -23 }, // 0x23 '#' - { 78, 16, 30, 19, 2, -26 }, // 0x24 '$' - { 138, 29, 25, 31, 1, -24 }, // 0x25 '%' - { 229, 20, 25, 23, 2, -24 }, // 0x26 '&' - { 292, 3, 9, 7, 2, -24 }, // 0x27 ''' - { 296, 8, 33, 12, 3, -25 }, // 0x28 '(' - { 329, 8, 33, 12, 1, -25 }, // 0x29 ')' - { 362, 10, 10, 14, 2, -25 }, // 0x2A '*' - { 375, 16, 16, 20, 2, -15 }, // 0x2B '+' - { 407, 3, 9, 10, 3, -3 }, // 0x2C ',' - { 411, 8, 3, 12, 2, -10 }, // 0x2D '-' - { 414, 3, 4, 9, 3, -3 }, // 0x2E '.' - { 416, 10, 26, 10, 0, -25 }, // 0x2F '/' - { 449, 16, 25, 19, 2, -24 }, // 0x30 '0' - { 499, 8, 25, 19, 4, -24 }, // 0x31 '1' - { 524, 16, 25, 19, 2, -24 }, // 0x32 '2' - { 574, 17, 25, 19, 1, -24 }, // 0x33 '3' - { 628, 16, 25, 19, 1, -24 }, // 0x34 '4' - { 678, 17, 25, 19, 1, -24 }, // 0x35 '5' - { 732, 16, 25, 19, 2, -24 }, // 0x36 '6' - { 782, 16, 25, 19, 2, -24 }, // 0x37 '7' - { 832, 17, 25, 19, 1, -24 }, // 0x38 '8' - { 886, 16, 25, 19, 1, -24 }, // 0x39 '9' - { 936, 3, 19, 9, 3, -18 }, // 0x3A ':' - { 944, 3, 24, 9, 3, -18 }, // 0x3B ';' - { 953, 17, 17, 20, 2, -16 }, // 0x3C '<' - { 990, 17, 9, 20, 2, -12 }, // 0x3D '=' - { 1010, 17, 17, 20, 2, -16 }, // 0x3E '>' - { 1047, 15, 26, 19, 3, -25 }, // 0x3F '?' - { 1096, 32, 31, 36, 1, -25 }, // 0x40 '@' - { 1220, 22, 26, 23, 1, -25 }, // 0x41 'A' - { 1292, 19, 26, 23, 3, -25 }, // 0x42 'B' - { 1354, 22, 26, 25, 1, -25 }, // 0x43 'C' - { 1426, 20, 26, 24, 3, -25 }, // 0x44 'D' - { 1491, 18, 26, 22, 3, -25 }, // 0x45 'E' - { 1550, 17, 26, 21, 3, -25 }, // 0x46 'F' - { 1606, 24, 26, 27, 1, -25 }, // 0x47 'G' - { 1684, 19, 26, 25, 3, -25 }, // 0x48 'H' - { 1746, 3, 26, 10, 4, -25 }, // 0x49 'I' - { 1756, 14, 26, 18, 1, -25 }, // 0x4A 'J' - { 1802, 20, 26, 24, 3, -25 }, // 0x4B 'K' - { 1867, 15, 26, 20, 3, -25 }, // 0x4C 'L' - { 1916, 24, 26, 30, 3, -25 }, // 0x4D 'M' - { 1994, 20, 26, 26, 3, -25 }, // 0x4E 'N' - { 2059, 25, 26, 27, 1, -25 }, // 0x4F 'O' - { 2141, 18, 26, 23, 3, -25 }, // 0x50 'P' - { 2200, 25, 28, 27, 1, -25 }, // 0x51 'Q' - { 2288, 20, 26, 25, 3, -25 }, // 0x52 'R' - { 2353, 20, 26, 23, 1, -25 }, // 0x53 'S' - { 2418, 19, 26, 22, 1, -25 }, // 0x54 'T' - { 2480, 19, 26, 25, 3, -25 }, // 0x55 'U' - { 2542, 21, 26, 23, 1, -25 }, // 0x56 'V' - { 2611, 32, 26, 33, 0, -25 }, // 0x57 'W' - { 2715, 21, 26, 23, 1, -25 }, // 0x58 'X' - { 2784, 23, 26, 24, 0, -25 }, // 0x59 'Y' - { 2859, 19, 26, 22, 1, -25 }, // 0x5A 'Z' - { 2921, 6, 33, 10, 2, -25 }, // 0x5B '[' - { 2946, 10, 26, 10, 0, -25 }, // 0x5C '\' - { 2979, 6, 33, 10, 1, -25 }, // 0x5D ']' - { 3004, 13, 13, 16, 2, -24 }, // 0x5E '^' - { 3026, 21, 2, 19, -1, 5 }, // 0x5F '_' - { 3032, 7, 5, 9, 1, -25 }, // 0x60 '`' - { 3037, 17, 19, 19, 1, -18 }, // 0x61 'a' - { 3078, 16, 26, 20, 2, -25 }, // 0x62 'b' - { 3130, 16, 19, 18, 1, -18 }, // 0x63 'c' - { 3168, 17, 26, 20, 1, -25 }, // 0x64 'd' - { 3224, 16, 19, 19, 1, -18 }, // 0x65 'e' - { 3262, 7, 26, 10, 1, -25 }, // 0x66 'f' - { 3285, 16, 27, 19, 1, -18 }, // 0x67 'g' - { 3339, 15, 26, 19, 2, -25 }, // 0x68 'h' - { 3388, 3, 26, 8, 2, -25 }, // 0x69 'i' - { 3398, 6, 34, 9, 0, -25 }, // 0x6A 'j' - { 3424, 16, 26, 18, 2, -25 }, // 0x6B 'k' - { 3476, 3, 26, 7, 2, -25 }, // 0x6C 'l' - { 3486, 24, 19, 28, 2, -18 }, // 0x6D 'm' - { 3543, 15, 19, 19, 2, -18 }, // 0x6E 'n' - { 3579, 17, 19, 19, 1, -18 }, // 0x6F 'o' - { 3620, 16, 25, 20, 2, -18 }, // 0x70 'p' - { 3670, 17, 25, 20, 1, -18 }, // 0x71 'q' - { 3724, 9, 19, 12, 2, -18 }, // 0x72 'r' - { 3746, 14, 19, 17, 2, -18 }, // 0x73 's' - { 3780, 7, 23, 10, 1, -22 }, // 0x74 't' - { 3801, 15, 19, 19, 2, -18 }, // 0x75 'u' - { 3837, 17, 19, 17, 0, -18 }, // 0x76 'v' - { 3878, 25, 19, 25, 0, -18 }, // 0x77 'w' - { 3938, 16, 19, 17, 0, -18 }, // 0x78 'x' - { 3976, 17, 27, 17, 0, -18 }, // 0x79 'y' - { 4034, 15, 19, 17, 1, -18 }, // 0x7A 'z' - { 4070, 8, 33, 12, 1, -25 }, // 0x7B '{' - { 4103, 2, 33, 9, 3, -25 }, // 0x7C '|' - { 4112, 8, 33, 12, 3, -25 }, // 0x7D '}' - { 4145, 15, 7, 18, 1, -15 } }; // 0x7E '~' - -const GFXfont FreeSans18pt7b PROGMEM = { - (uint8_t *)FreeSans18pt7bBitmaps, - (GFXglyph *)FreeSans18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 4831 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h deleted file mode 100644 index ff2d174..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans24pt7b.h +++ /dev/null @@ -1,727 +0,0 @@ -const uint8_t FreeSans24pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x76, 0x66, - 0x66, 0x00, 0x0F, 0xFF, 0xFF, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xFF, 0x1F, - 0xE3, 0xFC, 0x7F, 0x8F, 0xF1, 0xEC, 0x19, 0x83, 0x30, 0x60, 0x00, 0x70, - 0x3C, 0x00, 0x70, 0x3C, 0x00, 0xF0, 0x38, 0x00, 0xF0, 0x38, 0x00, 0xF0, - 0x78, 0x00, 0xE0, 0x78, 0x00, 0xE0, 0x78, 0x01, 0xE0, 0x70, 0x01, 0xE0, - 0x70, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x03, 0xC0, - 0xE0, 0x03, 0xC0, 0xE0, 0x03, 0xC0, 0xE0, 0x03, 0x81, 0xE0, 0x03, 0x81, - 0xE0, 0x03, 0x81, 0xE0, 0x07, 0x81, 0xC0, 0x07, 0x81, 0xC0, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0x0F, 0x03, 0x80, 0x0F, 0x03, - 0x80, 0x0F, 0x07, 0x80, 0x0E, 0x07, 0x80, 0x0E, 0x07, 0x80, 0x1E, 0x07, - 0x00, 0x1E, 0x07, 0x00, 0x1E, 0x07, 0x00, 0x1C, 0x0F, 0x00, 0x1C, 0x0F, - 0x00, 0x00, 0x38, 0x00, 0x01, 0xFC, 0x00, 0x1F, 0xFE, 0x00, 0x7F, 0xFE, - 0x01, 0xFF, 0xFE, 0x07, 0xE7, 0x3E, 0x0F, 0x8E, 0x3C, 0x3E, 0x1C, 0x3C, - 0x78, 0x38, 0x38, 0xF0, 0x70, 0x71, 0xE0, 0xE0, 0xE3, 0xC1, 0xC0, 0x07, - 0x83, 0x80, 0x0F, 0x87, 0x00, 0x0F, 0x8E, 0x00, 0x1F, 0xDC, 0x00, 0x1F, - 0xF8, 0x00, 0x1F, 0xFF, 0x00, 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0x80, 0x03, - 0xFF, 0x80, 0x07, 0x1F, 0x80, 0x0E, 0x1F, 0x00, 0x1C, 0x1F, 0x00, 0x38, - 0x1F, 0xC0, 0x70, 0x3F, 0x80, 0xE0, 0x7F, 0x81, 0xC0, 0xFF, 0x03, 0x81, - 0xEF, 0x07, 0x07, 0x9F, 0x0E, 0x0F, 0x3E, 0x1C, 0x3E, 0x3F, 0x39, 0xF8, - 0x3F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0x80, 0x00, - 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, - 0x00, 0x00, 0x1C, 0x00, 0x0F, 0xC0, 0x00, 0x78, 0x00, 0x3F, 0xE0, 0x00, - 0xE0, 0x01, 0xFF, 0xE0, 0x03, 0x80, 0x03, 0xFF, 0xE0, 0x07, 0x00, 0x0F, - 0x87, 0xC0, 0x1C, 0x00, 0x3C, 0x03, 0xC0, 0x38, 0x00, 0x70, 0x03, 0x80, - 0xE0, 0x00, 0xE0, 0x07, 0x03, 0xC0, 0x01, 0xC0, 0x0E, 0x07, 0x00, 0x03, - 0x80, 0x1C, 0x1E, 0x00, 0x07, 0x80, 0x78, 0x38, 0x00, 0x07, 0xC3, 0xE0, - 0xF0, 0x00, 0x07, 0xFF, 0xC1, 0xC0, 0x00, 0x0F, 0xFF, 0x07, 0x80, 0x00, - 0x0F, 0xFC, 0x0E, 0x00, 0x00, 0x07, 0xE0, 0x38, 0x00, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x3F, 0x00, 0x00, 0x03, 0x80, 0xFF, - 0x80, 0x00, 0x0E, 0x07, 0xFF, 0x80, 0x00, 0x3C, 0x0F, 0xFF, 0x80, 0x00, - 0x70, 0x3E, 0x1F, 0x00, 0x01, 0xE0, 0xF0, 0x0F, 0x00, 0x03, 0x81, 0xC0, - 0x0E, 0x00, 0x0F, 0x03, 0x80, 0x1C, 0x00, 0x1C, 0x07, 0x00, 0x38, 0x00, - 0x78, 0x0E, 0x00, 0x70, 0x00, 0xE0, 0x1E, 0x01, 0xE0, 0x03, 0x80, 0x1F, - 0x0F, 0x80, 0x07, 0x00, 0x1F, 0xFF, 0x00, 0x1C, 0x00, 0x3F, 0xFC, 0x00, - 0x38, 0x00, 0x1F, 0xF0, 0x00, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, - 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xFC, 0x00, 0x07, - 0xC3, 0xC0, 0x00, 0xF8, 0x1E, 0x00, 0x0F, 0x00, 0xE0, 0x00, 0xF0, 0x0E, - 0x00, 0x0F, 0x00, 0xE0, 0x00, 0xF0, 0x0E, 0x00, 0x07, 0x81, 0xE0, 0x00, - 0x7C, 0x3C, 0x00, 0x03, 0xEF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0xE0, 0x00, - 0x1F, 0x1E, 0x07, 0x83, 0xE0, 0xF0, 0x78, 0x7C, 0x0F, 0x8F, 0x87, 0x80, - 0x7C, 0xF0, 0xF0, 0x03, 0xFF, 0x0F, 0x00, 0x1F, 0xE0, 0xF0, 0x00, 0xFE, - 0x0F, 0x00, 0x0F, 0xC0, 0xF0, 0x00, 0x7E, 0x0F, 0x80, 0x0F, 0xF0, 0x7C, - 0x01, 0xFF, 0x07, 0xF0, 0x7D, 0xF8, 0x3F, 0xFF, 0x8F, 0xC1, 0xFF, 0xF0, - 0x7E, 0x0F, 0xFE, 0x03, 0xE0, 0x3F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF6, 0x66, 0x01, 0xC0, 0x70, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0x78, - 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x70, 0x3C, - 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, - 0xC0, 0x70, 0x1E, 0x07, 0x81, 0xE0, 0x38, 0x0F, 0x03, 0xC0, 0x70, 0x1E, - 0x03, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x18, 0x07, 0xE0, 0x38, 0x07, - 0x01, 0xC0, 0x38, 0x0F, 0x01, 0xC0, 0x78, 0x0E, 0x03, 0x80, 0xF0, 0x1C, - 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x03, 0x80, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, - 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x07, 0x81, 0xE0, 0x78, - 0x1E, 0x07, 0x03, 0xC0, 0xF0, 0x38, 0x1E, 0x07, 0x01, 0xC0, 0xE0, 0x38, - 0x1C, 0x06, 0x03, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x63, - 0x1B, 0xFF, 0xFF, 0xFF, 0xC3, 0xF0, 0x07, 0x80, 0x3F, 0x01, 0xCE, 0x07, - 0x3C, 0x38, 0x70, 0x21, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, - 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, - 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, - 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xF3, - 0x33, 0x36, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, - 0x00, 0x38, 0x01, 0xC0, 0x0C, 0x00, 0xE0, 0x07, 0x00, 0x30, 0x03, 0x80, - 0x1C, 0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0E, - 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, 0x80, 0x0C, 0x00, 0xE0, 0x07, 0x00, - 0x30, 0x03, 0x80, 0x1C, 0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, - 0x01, 0xC0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x38, 0x00, 0x00, 0xFC, 0x00, - 0x0F, 0xFC, 0x00, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x1F, 0x87, 0xE0, 0xF8, - 0x07, 0xC3, 0xC0, 0x0F, 0x1F, 0x00, 0x3E, 0x78, 0x00, 0x79, 0xE0, 0x01, - 0xE7, 0x80, 0x07, 0xBC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, - 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, - 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, - 0xDE, 0x00, 0x1E, 0x78, 0x00, 0x79, 0xE0, 0x01, 0xE7, 0xC0, 0x0F, 0x8F, - 0x00, 0x3C, 0x3E, 0x01, 0xF0, 0x7C, 0x1F, 0x81, 0xFF, 0xFE, 0x03, 0xFF, - 0xF0, 0x03, 0xFF, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x60, 0x1C, 0x03, 0x80, - 0xF0, 0x3E, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x3C, 0x07, 0x80, 0xF0, - 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, - 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, - 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x01, 0xFF, - 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, 0x03, 0xF9, 0xF0, 0x03, 0xE7, 0x80, 0x07, - 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xC0, - 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, - 0x7C, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x80, 0x07, 0xF8, 0x00, 0x3F, 0xC0, - 0x03, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, - 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, - 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, - 0x00, 0xFE, 0x00, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x83, - 0xF0, 0x1F, 0x87, 0xC0, 0x1F, 0x1F, 0x00, 0x1F, 0x3C, 0x00, 0x1E, 0x78, - 0x00, 0x3C, 0xF0, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, - 0x07, 0x80, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0x7F, - 0xE0, 0x00, 0xFF, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x03, - 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x1F, - 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xE7, 0xC0, 0x07, 0xC7, - 0xE0, 0x3F, 0x0F, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x03, - 0xFC, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x3F, - 0xE0, 0x00, 0x7B, 0xC0, 0x01, 0xE7, 0x80, 0x07, 0x8F, 0x00, 0x0F, 0x1E, - 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0x78, 0x03, 0xC0, 0xF0, 0x07, 0x81, 0xE0, - 0x1E, 0x03, 0xC0, 0x78, 0x07, 0x81, 0xE0, 0x0F, 0x03, 0xC0, 0x1E, 0x0F, - 0x00, 0x3C, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, - 0xC0, 0x1F, 0xFF, 0xF0, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, - 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x1F, 0x3F, 0x80, 0x7B, 0xFF, - 0x81, 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x1F, 0x80, 0xFC, 0x78, 0x01, 0xF8, - 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0xFF, 0x80, 0x07, 0x9E, 0x00, 0x1E, 0x7C, 0x00, 0xF1, 0xFC, 0x0F, 0xC3, - 0xFF, 0xFE, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0x00, - 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x7F, 0xFC, 0x03, 0xFF, 0xF8, 0x1F, 0x83, - 0xF0, 0xF8, 0x07, 0xC3, 0xC0, 0x0F, 0x8F, 0x00, 0x1E, 0x78, 0x00, 0x79, - 0xE0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0xFE, 0x03, 0xCF, - 0xFE, 0x0F, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0xFF, 0x03, 0xF3, 0xF0, 0x03, - 0xEF, 0x80, 0x07, 0xBE, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, - 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x70, 0x00, 0x3D, 0xC0, 0x00, 0xF7, 0x80, - 0x07, 0x9F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0xFC, 0x0F, 0xC1, 0xFF, 0xFE, - 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x07, 0x00, 0x00, - 0x78, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, - 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, - 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, - 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, - 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, - 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0xFF, 0xFC, 0x07, 0xFF, 0xF8, 0x3F, - 0x03, 0xF1, 0xF0, 0x03, 0xC7, 0xC0, 0x0F, 0x9E, 0x00, 0x1E, 0x78, 0x00, - 0x79, 0xE0, 0x01, 0xE7, 0x80, 0x0F, 0x8F, 0x00, 0x3C, 0x3F, 0x03, 0xF0, - 0x7F, 0xFF, 0x80, 0x7F, 0xF8, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0xFC, - 0x0F, 0xC7, 0xC0, 0x0F, 0x9E, 0x00, 0x1E, 0xF8, 0x00, 0x7F, 0xC0, 0x00, - 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, - 0x80, 0x07, 0xDE, 0x00, 0x1E, 0x7C, 0x00, 0xF8, 0xFC, 0x0F, 0xC3, 0xFF, - 0xFF, 0x07, 0xFF, 0xF8, 0x07, 0xFF, 0x80, 0x07, 0xF8, 0x00, 0x01, 0xFC, - 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xF0, 0x7E, 0x3E, - 0x00, 0xF1, 0xE0, 0x07, 0xCF, 0x00, 0x1E, 0xF0, 0x00, 0x77, 0x80, 0x03, - 0xBC, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xE0, - 0x03, 0xEF, 0x00, 0x1F, 0x7C, 0x01, 0xF9, 0xF8, 0x3F, 0xCF, 0xFF, 0xFE, - 0x3F, 0xFE, 0xF0, 0xFF, 0xE7, 0x80, 0xFC, 0x3C, 0x00, 0x01, 0xE0, 0x00, - 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x9E, 0x00, 0x3C, 0xF0, 0x03, 0xC7, - 0xC0, 0x3E, 0x1F, 0x03, 0xE0, 0xFF, 0xFE, 0x03, 0xFF, 0xE0, 0x0F, 0xFE, - 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x33, 0x36, 0xEC, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xC0, - 0x03, 0xFC, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, - 0x80, 0x03, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xF0, - 0x00, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, - 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x01, - 0xC0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xF0, 0x80, 0x00, 0x01, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x07, - 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x3F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF8, 0x00, - 0x01, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0xC0, 0x03, 0xFC, 0x00, 0x1F, - 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0x00, - 0x0F, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0xF8, - 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x7E, 0x0F, 0xE7, 0x80, - 0x3E, 0x78, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, - 0x00, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xC0, - 0x00, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, - 0x07, 0xFC, 0x03, 0xFF, 0x00, 0x01, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7E, - 0x00, 0x00, 0x7F, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xF0, 0x07, 0xC0, 0x00, - 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xF0, 0x3C, 0x00, 0x7E, 0x00, - 0x3E, 0x0F, 0x00, 0x3F, 0xE3, 0xC3, 0xE3, 0xE0, 0x1F, 0xFE, 0x78, 0x3C, - 0x78, 0x07, 0xE1, 0xFF, 0x07, 0xDF, 0x01, 0xF0, 0x1F, 0xC0, 0xFB, 0xC0, - 0x7C, 0x01, 0xF8, 0x0F, 0x78, 0x0F, 0x00, 0x3F, 0x01, 0xEF, 0x03, 0xC0, - 0x07, 0xC0, 0x3F, 0xC0, 0x78, 0x00, 0xF8, 0x07, 0xF8, 0x0F, 0x00, 0x1F, - 0x00, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x1F, 0xE0, 0x78, 0x00, 0x78, 0x07, - 0xFC, 0x0F, 0x00, 0x1F, 0x00, 0xF7, 0x81, 0xE0, 0x03, 0xC0, 0x1E, 0xF0, - 0x3C, 0x00, 0x78, 0x07, 0x9E, 0x07, 0x80, 0x1F, 0x01, 0xF3, 0xE0, 0xF8, - 0x07, 0xC0, 0x3C, 0x3C, 0x0F, 0x81, 0xF8, 0x0F, 0x87, 0x81, 0xF8, 0x7F, - 0x87, 0xE0, 0xF8, 0x1F, 0xFE, 0xFF, 0xF8, 0x0F, 0x01, 0xFF, 0x1F, 0xFC, - 0x01, 0xF0, 0x0F, 0x80, 0xFE, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x03, - 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, - 0x7C, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0xF8, - 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, - 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xF7, 0xC0, 0x00, 0x03, - 0xDF, 0x00, 0x00, 0x1F, 0x3C, 0x00, 0x00, 0x78, 0xF8, 0x00, 0x01, 0xE3, - 0xE0, 0x00, 0x0F, 0x87, 0x80, 0x00, 0x3C, 0x1F, 0x00, 0x01, 0xF0, 0x7C, - 0x00, 0x07, 0x80, 0xF0, 0x00, 0x1E, 0x03, 0xE0, 0x00, 0xF8, 0x0F, 0x80, - 0x03, 0xC0, 0x1E, 0x00, 0x0F, 0x00, 0x7C, 0x00, 0x7C, 0x01, 0xF0, 0x01, - 0xE0, 0x03, 0xC0, 0x07, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFE, 0x00, 0xFF, - 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0x1F, 0x00, 0x07, 0xC0, 0x78, 0x00, - 0x0F, 0x83, 0xE0, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0xF8, 0x3C, 0x00, 0x01, - 0xF1, 0xF0, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x1F, 0x1E, 0x00, 0x00, 0x3E, - 0xF8, 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x01, 0xE0, 0xFF, 0xFF, 0x80, 0x7F, - 0xFF, 0xF0, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0x0F, 0x00, 0x0F, 0xC7, - 0x80, 0x01, 0xE3, 0xC0, 0x00, 0xF9, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1E, - 0x78, 0x00, 0x0F, 0x3C, 0x00, 0x07, 0x9E, 0x00, 0x07, 0x8F, 0x00, 0x03, - 0xC7, 0x80, 0x07, 0xC3, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, - 0xF8, 0x7F, 0xFF, 0xFE, 0x3C, 0x00, 0x0F, 0x9E, 0x00, 0x03, 0xEF, 0x00, - 0x00, 0xF7, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, - 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x01, 0xFF, - 0x00, 0x01, 0xF7, 0x80, 0x01, 0xFB, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, - 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, - 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0xFE, 0x01, - 0xF8, 0x07, 0xC0, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x3C, - 0x3C, 0x00, 0x01, 0xE3, 0xE0, 0x00, 0x07, 0x9E, 0x00, 0x00, 0x3C, 0xF0, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x03, 0xC0, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x78, 0x00, - 0x00, 0x7B, 0xC0, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x3C, 0x78, 0x00, 0x01, - 0xE3, 0xE0, 0x00, 0x1F, 0x0F, 0x80, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x81, - 0xFE, 0x03, 0xF8, 0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, - 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFE, - 0x03, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE, 0x0F, 0x00, 0x0F, 0xE1, 0xE0, - 0x00, 0x7E, 0x3C, 0x00, 0x07, 0xE7, 0x80, 0x00, 0x7C, 0xF0, 0x00, 0x07, - 0xDE, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x0F, 0x78, 0x00, 0x01, 0xEF, 0x00, - 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, - 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x07, 0xF8, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xF7, - 0x80, 0x00, 0x1E, 0xF0, 0x00, 0x03, 0xDE, 0x00, 0x00, 0xFB, 0xC0, 0x00, - 0x3E, 0x78, 0x00, 0x0F, 0xCF, 0x00, 0x03, 0xF1, 0xE0, 0x01, 0xFC, 0x3F, - 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, - 0x00, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, - 0xFE, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, - 0x3F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x3C, - 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, - 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0xFE, - 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0x80, 0x7F, - 0x01, 0xF8, 0x00, 0x3F, 0x07, 0xE0, 0x00, 0x1F, 0x0F, 0x80, 0x00, 0x1E, - 0x3E, 0x00, 0x00, 0x3E, 0x78, 0x00, 0x00, 0x3D, 0xF0, 0x00, 0x00, 0x03, - 0xC0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, - 0x00, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0x00, - 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x07, 0xBC, 0x00, - 0x00, 0x0F, 0x78, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x7D, 0xF0, 0x00, - 0x00, 0xF9, 0xF0, 0x00, 0x03, 0xF3, 0xF0, 0x00, 0x07, 0xE3, 0xF0, 0x00, - 0x1F, 0xC3, 0xF0, 0x00, 0xFF, 0x83, 0xFC, 0x07, 0xEF, 0x03, 0xFF, 0xFF, - 0x9E, 0x03, 0xFF, 0xFE, 0x1C, 0x01, 0xFF, 0xF0, 0x38, 0x00, 0x7F, 0x80, - 0x00, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, - 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, - 0xFC, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xE0, - 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, - 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, - 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, - 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, - 0x03, 0xC0, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xC0, - 0x07, 0xF8, 0x01, 0xFF, 0x80, 0x3E, 0xF0, 0x0F, 0x9F, 0x83, 0xF1, 0xFF, - 0xFC, 0x3F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0xF0, 0x00, 0x07, - 0xDE, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0x7C, 0x78, 0x00, 0x1F, 0x0F, 0x00, - 0x07, 0xC1, 0xE0, 0x01, 0xF0, 0x3C, 0x00, 0x7C, 0x07, 0x80, 0x1F, 0x00, - 0xF0, 0x07, 0xC0, 0x1E, 0x01, 0xF0, 0x03, 0xC0, 0x7C, 0x00, 0x78, 0x1F, - 0x00, 0x0F, 0x07, 0xC0, 0x01, 0xE1, 0xF0, 0x00, 0x3C, 0x7E, 0x00, 0x07, - 0x9F, 0xE0, 0x00, 0xF7, 0xFE, 0x00, 0x1F, 0xF7, 0xC0, 0x03, 0xFC, 0x7C, - 0x00, 0x7F, 0x07, 0xC0, 0x0F, 0xC0, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x3C, - 0x00, 0xF8, 0x07, 0x80, 0x1F, 0x80, 0xF0, 0x01, 0xF0, 0x1E, 0x00, 0x1F, - 0x03, 0xC0, 0x03, 0xF0, 0x78, 0x00, 0x3E, 0x0F, 0x00, 0x03, 0xE1, 0xE0, - 0x00, 0x3E, 0x3C, 0x00, 0x07, 0xC7, 0x80, 0x00, 0x7C, 0xF0, 0x00, 0x07, - 0xDE, 0x00, 0x00, 0xFC, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, - 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, - 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, - 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, - 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFC, 0x00, - 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, - 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0xFF, 0xF7, 0x00, 0x00, 0xEF, 0xF7, 0x80, 0x01, 0xEF, 0xF7, 0x80, - 0x01, 0xEF, 0xF3, 0xC0, 0x01, 0xCF, 0xF3, 0xC0, 0x03, 0xCF, 0xF3, 0xC0, - 0x03, 0xCF, 0xF1, 0xE0, 0x03, 0x8F, 0xF1, 0xE0, 0x07, 0x8F, 0xF1, 0xE0, - 0x07, 0x8F, 0xF0, 0xF0, 0x0F, 0x0F, 0xF0, 0xF0, 0x0F, 0x0F, 0xF0, 0xF0, - 0x0F, 0x0F, 0xF0, 0x78, 0x1E, 0x0F, 0xF0, 0x78, 0x1E, 0x0F, 0xF0, 0x78, - 0x1E, 0x0F, 0xF0, 0x3C, 0x3C, 0x0F, 0xF0, 0x3C, 0x3C, 0x0F, 0xF0, 0x3C, - 0x3C, 0x0F, 0xF0, 0x1E, 0x78, 0x0F, 0xF0, 0x1E, 0x78, 0x0F, 0xF0, 0x0E, - 0x78, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x07, - 0xF0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x03, - 0xE0, 0x0F, 0xF8, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3F, - 0xF8, 0x00, 0x0F, 0xFE, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0xF8, 0x00, - 0x3F, 0xDE, 0x00, 0x0F, 0xF7, 0xC0, 0x03, 0xFC, 0xF8, 0x00, 0xFF, 0x1E, - 0x00, 0x3F, 0xC7, 0xC0, 0x0F, 0xF0, 0xF0, 0x03, 0xFC, 0x3E, 0x00, 0xFF, - 0x07, 0xC0, 0x3F, 0xC0, 0xF0, 0x0F, 0xF0, 0x3E, 0x03, 0xFC, 0x07, 0xC0, - 0xFF, 0x00, 0xF0, 0x3F, 0xC0, 0x3E, 0x0F, 0xF0, 0x07, 0x83, 0xFC, 0x01, - 0xF0, 0xFF, 0x00, 0x3E, 0x3F, 0xC0, 0x07, 0x8F, 0xF0, 0x01, 0xF3, 0xFC, - 0x00, 0x3E, 0xFF, 0x00, 0x07, 0xBF, 0xC0, 0x01, 0xFF, 0xF0, 0x00, 0x3F, - 0xFC, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, - 0x0F, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, - 0x80, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0x80, - 0xFF, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x03, 0xF0, 0x3E, 0x00, - 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x0F, 0x1F, 0x00, - 0x00, 0x07, 0xCF, 0x00, 0x00, 0x01, 0xE7, 0x80, 0x00, 0x00, 0xF7, 0xC0, - 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x0F, - 0x3E, 0x00, 0x00, 0x0F, 0x8F, 0x00, 0x00, 0x07, 0x87, 0xC0, 0x00, 0x07, - 0xC1, 0xF0, 0x00, 0x07, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0x3F, 0x00, 0x07, - 0xE0, 0x0F, 0xF0, 0x1F, 0xE0, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, - 0xE0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0xFF, - 0x80, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xF0, 0x00, - 0xFE, 0xF0, 0x00, 0x3E, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, - 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, - 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x3E, 0xF0, 0x00, 0xFE, 0xFF, 0xFF, - 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, - 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0x80, 0xFF, - 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x03, 0xF0, 0x3E, 0x00, 0x00, - 0xF8, 0x3E, 0x00, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x0F, 0x1F, 0x00, 0x00, - 0x07, 0xCF, 0x00, 0x00, 0x01, 0xE7, 0x80, 0x00, 0x00, 0xF7, 0xC0, 0x00, - 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x00, - 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, 0xC0, - 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x0F, 0x3E, - 0x00, 0x00, 0x0F, 0x8F, 0x00, 0x03, 0x87, 0x87, 0xC0, 0x03, 0xE7, 0xC1, - 0xF0, 0x00, 0xFF, 0xC0, 0xFC, 0x00, 0x3F, 0xE0, 0x3F, 0x00, 0x0F, 0xE0, - 0x0F, 0xF0, 0x1F, 0xF0, 0x03, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, - 0x00, 0x1F, 0xFF, 0xC7, 0xC0, 0x01, 0xFF, 0x01, 0xE0, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFE, 0x0F, - 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0xF0, 0x00, 0x3F, 0x3C, 0x00, 0x07, - 0xCF, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x1E, 0xF0, 0x00, 0x07, 0xBC, 0x00, - 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x1E, 0xF0, 0x00, 0x07, 0xBC, - 0x00, 0x03, 0xCF, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0xF8, 0xFF, 0xFF, 0xFC, - 0x3F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0xF0, 0x00, - 0x3F, 0x3C, 0x00, 0x03, 0xCF, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x1E, 0xF0, - 0x00, 0x07, 0xBC, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x1E, - 0xF0, 0x00, 0x07, 0xBC, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x7B, 0xC0, 0x00, - 0x1E, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x7F, 0xC0, 0x00, - 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x81, 0xF8, 0x07, - 0xF0, 0x7C, 0x00, 0x1F, 0x0F, 0x00, 0x01, 0xE3, 0xE0, 0x00, 0x3E, 0x78, - 0x00, 0x03, 0xCF, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x07, 0xC0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFF, - 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0x00, 0x01, 0xFF, 0xF8, - 0x00, 0x03, 0xFF, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xF7, 0x80, 0x00, 0x3E, 0xF8, 0x00, - 0x07, 0x9F, 0x80, 0x01, 0xF1, 0xFE, 0x01, 0xFC, 0x1F, 0xFF, 0xFF, 0x01, - 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, - 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, - 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, - 0x00, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, - 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x7D, 0xE0, 0x00, 0x1E, 0x7C, 0x00, 0x0F, 0x9F, - 0x80, 0x07, 0xE3, 0xF8, 0x07, 0xF0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, - 0x00, 0xFF, 0xFC, 0x00, 0x0F, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0xF7, 0xC0, - 0x00, 0x0F, 0x9E, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x03, 0xC7, 0xC0, 0x00, - 0x3E, 0x1E, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0xF8, - 0x1E, 0x00, 0x07, 0xC0, 0xF8, 0x00, 0x3C, 0x07, 0xC0, 0x03, 0xE0, 0x1E, - 0x00, 0x1F, 0x00, 0xF8, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x80, 0x1E, 0x00, - 0x7C, 0x00, 0xF8, 0x03, 0xC0, 0x03, 0xC0, 0x1E, 0x00, 0x1F, 0x01, 0xF0, - 0x00, 0xF8, 0x0F, 0x00, 0x03, 0xC0, 0x78, 0x00, 0x1F, 0x07, 0x80, 0x00, - 0xF8, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1F, 0x1E, 0x00, 0x00, 0x78, - 0xF0, 0x00, 0x03, 0xC7, 0x80, 0x00, 0x1F, 0x78, 0x00, 0x00, 0x7B, 0xC0, - 0x00, 0x03, 0xDE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, - 0x00, 0x3F, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xC0, 0x01, 0xFF, 0x80, 0x03, - 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFC, 0x00, 0x1E, 0x7C, 0x00, 0x7F, 0x80, - 0x0F, 0x9F, 0x00, 0x1F, 0xE0, 0x03, 0xE7, 0xC0, 0x07, 0xF8, 0x00, 0xF8, - 0xF0, 0x01, 0xFF, 0x00, 0x3C, 0x3E, 0x00, 0xF3, 0xC0, 0x1F, 0x0F, 0x80, - 0x3C, 0xF0, 0x07, 0xC3, 0xE0, 0x0F, 0x3C, 0x01, 0xF0, 0x78, 0x07, 0xC7, - 0x80, 0x78, 0x1F, 0x01, 0xE1, 0xE0, 0x1E, 0x07, 0xC0, 0x78, 0x78, 0x0F, - 0x80, 0xF0, 0x1E, 0x1E, 0x03, 0xE0, 0x3C, 0x0F, 0x83, 0xC0, 0xF0, 0x0F, - 0x83, 0xC0, 0xF0, 0x3C, 0x03, 0xE0, 0xF0, 0x3C, 0x1F, 0x00, 0x78, 0x3C, - 0x0F, 0x87, 0xC0, 0x1E, 0x1E, 0x01, 0xE1, 0xE0, 0x07, 0x87, 0x80, 0x78, - 0x78, 0x01, 0xF1, 0xE0, 0x1E, 0x1E, 0x00, 0x3C, 0xF8, 0x03, 0xCF, 0x80, - 0x0F, 0x3C, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x3C, 0xF0, 0x00, 0xFB, - 0xC0, 0x0F, 0xBC, 0x00, 0x1F, 0xF0, 0x01, 0xFF, 0x00, 0x07, 0xF8, 0x00, - 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x03, 0xF8, - 0x00, 0x0F, 0xC0, 0x00, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x00, - 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x01, 0xF3, 0xF0, 0x00, 0x1F, 0x8F, 0x80, 0x00, 0xF8, 0x3E, 0x00, 0x0F, - 0x80, 0xF8, 0x00, 0xF8, 0x07, 0xC0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x00, - 0x7C, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x3E, - 0x3E, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x1F, 0xF0, - 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, - 0xDF, 0x00, 0x00, 0x7C, 0x78, 0x00, 0x03, 0xE3, 0xE0, 0x00, 0x3E, 0x0F, - 0x80, 0x03, 0xE0, 0x3E, 0x00, 0x1F, 0x01, 0xF0, 0x01, 0xF0, 0x07, 0xC0, - 0x1F, 0x00, 0x3F, 0x00, 0xF8, 0x00, 0xF8, 0x0F, 0x80, 0x03, 0xE0, 0xF8, - 0x00, 0x1F, 0x8F, 0xC0, 0x00, 0x7C, 0x7C, 0x00, 0x01, 0xF7, 0xC0, 0x00, - 0x0F, 0xC0, 0xFC, 0x00, 0x00, 0xFD, 0xF0, 0x00, 0x03, 0xE7, 0xE0, 0x00, - 0x1F, 0x0F, 0x80, 0x00, 0x7C, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x1F, - 0x00, 0xF8, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, - 0x0F, 0x80, 0x7C, 0x00, 0x1E, 0x01, 0xE0, 0x00, 0x7C, 0x0F, 0x80, 0x00, - 0xF8, 0x7C, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x0F, - 0x3C, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFC, - 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, - 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3F, 0xFF, - 0xFF, 0xC7, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xE0, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x01, - 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x01, - 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, - 0x00, 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, - 0xFF, 0xE0, 0x07, 0x00, 0x18, 0x00, 0xE0, 0x07, 0x00, 0x18, 0x00, 0xE0, - 0x07, 0x00, 0x18, 0x00, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xC0, 0x07, 0x00, - 0x38, 0x00, 0xC0, 0x06, 0x00, 0x38, 0x00, 0xC0, 0x06, 0x00, 0x38, 0x01, - 0xC0, 0x06, 0x00, 0x38, 0x01, 0xC0, 0x06, 0x00, 0x30, 0x01, 0xC0, 0x0E, - 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0xFF, 0xFF, - 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3F, - 0x00, 0x0F, 0xC0, 0x07, 0xF8, 0x01, 0xCE, 0x00, 0x73, 0x80, 0x3C, 0x70, - 0x0E, 0x1C, 0x07, 0x87, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x38, 0x07, 0x0E, - 0x01, 0xC7, 0x80, 0x79, 0xC0, 0x0E, 0x70, 0x03, 0xB8, 0x00, 0x70, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0x01, 0xE0, 0x3C, 0x07, - 0x00, 0xE0, 0x1C, 0x01, 0xFF, 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xE0, - 0x3F, 0xFF, 0xF0, 0x7E, 0x03, 0xF8, 0x7C, 0x00, 0xF8, 0x78, 0x00, 0x78, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, - 0x00, 0x03, 0xF8, 0x00, 0xFF, 0xF8, 0x0F, 0xFF, 0xF8, 0x3F, 0xFE, 0x78, - 0x7F, 0x80, 0x78, 0xFC, 0x00, 0x78, 0xF8, 0x00, 0x78, 0xF0, 0x00, 0x78, - 0xF0, 0x00, 0xF8, 0xF0, 0x00, 0xF8, 0xF8, 0x03, 0xF8, 0x7E, 0x0F, 0xF8, - 0x7F, 0xFF, 0x7F, 0x3F, 0xFE, 0x3F, 0x1F, 0xFC, 0x3F, 0x07, 0xE0, 0x1F, - 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, - 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x7E, - 0x03, 0xC7, 0xFE, 0x0F, 0x7F, 0xFC, 0x3D, 0xFF, 0xF8, 0xFF, 0x07, 0xF3, - 0xF8, 0x07, 0xCF, 0xC0, 0x0F, 0xBE, 0x00, 0x1E, 0xF8, 0x00, 0x7B, 0xE0, - 0x01, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, - 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x01, 0xFF, - 0x80, 0x07, 0xBE, 0x00, 0x1E, 0xFC, 0x00, 0xFB, 0xF8, 0x07, 0xCF, 0xF0, - 0x7F, 0x3B, 0xFF, 0xF8, 0xE7, 0xFF, 0xC3, 0x8F, 0xFE, 0x00, 0x0F, 0xE0, - 0x00, 0x00, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x3F, 0xFF, 0xC3, - 0xF0, 0x3F, 0x1F, 0x00, 0xF9, 0xF0, 0x03, 0xCF, 0x00, 0x0F, 0x78, 0x00, - 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, - 0x1E, 0x00, 0x1E, 0xF0, 0x00, 0xF7, 0xC0, 0x0F, 0x9F, 0x00, 0xF8, 0xFC, - 0x0F, 0xC3, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x3F, 0xFC, 0x00, 0x7F, 0x00, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, - 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x01, - 0xFC, 0x1E, 0x0F, 0xFE, 0x3C, 0x3F, 0xFF, 0x78, 0xFF, 0xFF, 0xF3, 0xF8, - 0x3F, 0xE7, 0xC0, 0x1F, 0xDF, 0x00, 0x1F, 0xBE, 0x00, 0x1F, 0x78, 0x00, - 0x3F, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, - 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, - 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xF7, 0xC0, 0x07, 0xE7, - 0xC0, 0x1F, 0xCF, 0xE0, 0xFF, 0x8F, 0xFF, 0xF7, 0x0F, 0xFF, 0xCE, 0x0F, - 0xFF, 0x1C, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0xFF, - 0xFC, 0x07, 0xFF, 0xF8, 0x1F, 0x83, 0xF0, 0xF8, 0x07, 0xC7, 0xC0, 0x0F, - 0x9E, 0x00, 0x1E, 0x78, 0x00, 0x7B, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, - 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x1E, - 0x7C, 0x00, 0x78, 0xF8, 0x03, 0xE3, 0xF0, 0x3F, 0x07, 0xFF, 0xF8, 0x0F, - 0xFF, 0xE0, 0x1F, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x03, 0xC3, 0xF0, 0xFC, - 0x7F, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x3F, 0xFF, 0xFF, 0xFF, 0x1E, - 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, - 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, - 0x1E, 0x07, 0x80, 0x00, 0xFC, 0x00, 0x1F, 0xF8, 0xF0, 0xFF, 0xFB, 0xC7, - 0xFF, 0xFF, 0x3F, 0x83, 0xFC, 0xF8, 0x07, 0xF7, 0xC0, 0x0F, 0xDE, 0x00, - 0x1F, 0x78, 0x00, 0x7F, 0xE0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, - 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, - 0x00, 0x3F, 0xC0, 0x00, 0xF7, 0x80, 0x07, 0xDE, 0x00, 0x1F, 0x7C, 0x00, - 0xFC, 0xF8, 0x07, 0xF3, 0xF8, 0x3F, 0xC7, 0xFF, 0xEF, 0x0F, 0xFF, 0x3C, - 0x1F, 0xF8, 0xF0, 0x1F, 0x83, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x79, 0xE0, - 0x01, 0xE7, 0xC0, 0x0F, 0x8F, 0x80, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, - 0x80, 0xFF, 0xFC, 0x00, 0x7F, 0x80, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, - 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, - 0x00, 0xF0, 0xFE, 0x1E, 0x3F, 0xE3, 0xCF, 0xFF, 0x7B, 0xFF, 0xEF, 0xF0, - 0xFF, 0xF8, 0x07, 0xFF, 0x00, 0x7F, 0xC0, 0x0F, 0xF8, 0x01, 0xFE, 0x00, - 0x3F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, - 0x7F, 0x80, 0x0F, 0xF0, 0x01, 0xFE, 0x00, 0x3F, 0xC0, 0x07, 0xF8, 0x00, - 0xFF, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, 0x7F, 0x80, 0x0F, 0xF0, 0x01, - 0xFE, 0x00, 0x3C, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, - 0xFF, 0xFE, 0xFE, 0xF8, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, - 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xF0, 0x00, 0x07, 0x80, 0x1F, 0x3C, 0x01, 0xF1, 0xE0, 0x1F, 0x0F, - 0x01, 0xF0, 0x78, 0x1F, 0x03, 0xC1, 0xF0, 0x1E, 0x1F, 0x00, 0xF1, 0xF0, - 0x07, 0x9F, 0x00, 0x3D, 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x7F, - 0x7C, 0x03, 0xF1, 0xF0, 0x1F, 0x07, 0xC0, 0xF0, 0x3E, 0x07, 0x80, 0xF8, - 0x3C, 0x03, 0xC1, 0xE0, 0x1F, 0x0F, 0x00, 0x7C, 0x78, 0x03, 0xE3, 0xC0, - 0x0F, 0x9E, 0x00, 0x3C, 0xF0, 0x01, 0xF7, 0x80, 0x07, 0xC0, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0x03, 0xF0, 0xE3, 0xFE, 0x0F, 0xFC, 0xE7, - 0xFF, 0x1F, 0xFE, 0xEF, 0xFF, 0xBF, 0xFE, 0xFE, 0x0F, 0xF8, 0x3F, 0xFC, - 0x07, 0xF0, 0x1F, 0xF8, 0x03, 0xE0, 0x0F, 0xF8, 0x03, 0xE0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, - 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x03, 0xC0, 0x0F, 0x00, - 0x7E, 0x0E, 0x1F, 0xF8, 0xE7, 0xFF, 0xCE, 0xFF, 0xFE, 0xEF, 0x07, 0xFF, - 0xE0, 0x1F, 0xFC, 0x01, 0xFF, 0x80, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x0F, - 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, - 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, - 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, - 0x00, 0xFF, 0x00, 0x0F, 0x00, 0xFE, 0x00, 0x07, 0xFF, 0x00, 0x3F, 0xFF, - 0x80, 0xFF, 0xFF, 0x83, 0xF8, 0x3F, 0x87, 0xC0, 0x1F, 0x1F, 0x00, 0x1F, - 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x3D, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, - 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, - 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xF3, 0xC0, - 0x01, 0xE7, 0xC0, 0x07, 0xC7, 0xC0, 0x1F, 0x0F, 0xE0, 0xFE, 0x0F, 0xFF, - 0xF8, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x00, 0xFE, - 0x03, 0x8F, 0xFE, 0x0E, 0x7F, 0xFC, 0x3B, 0xFF, 0xF8, 0xFF, 0x87, 0xF3, - 0xF8, 0x07, 0xCF, 0xC0, 0x0F, 0xBE, 0x00, 0x1E, 0xF8, 0x00, 0x7B, 0xE0, - 0x01, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, - 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x01, 0xFF, - 0x80, 0x07, 0xBE, 0x00, 0x1E, 0xFC, 0x00, 0xFB, 0xF8, 0x07, 0xCF, 0xF0, - 0x7F, 0x3F, 0xFF, 0xF8, 0xF7, 0xFF, 0xC3, 0xC7, 0xFE, 0x0F, 0x07, 0xE0, - 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0xFE, 0x00, 0x07, 0xFF, 0x1C, 0x3F, 0xFF, 0x38, 0xFF, 0xFF, 0x73, 0xF8, - 0x3F, 0xE7, 0xC0, 0x1F, 0xDF, 0x00, 0x1F, 0xBE, 0x00, 0x1F, 0x78, 0x00, - 0x3F, 0xF0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, - 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, - 0xF0, 0x00, 0x7D, 0xE0, 0x00, 0xFB, 0xC0, 0x01, 0xF7, 0xC0, 0x07, 0xE7, - 0xC0, 0x1F, 0xCF, 0xE0, 0xFF, 0x8F, 0xFF, 0xEF, 0x0F, 0xFF, 0xDE, 0x0F, - 0xFE, 0x3C, 0x07, 0xF0, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x78, 0x00, 0xFE, 0x1F, 0xE7, 0xFE, 0xFF, 0xFF, 0x8F, - 0xC0, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x01, 0xFC, 0x00, 0xFF, 0xF0, - 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x3E, 0x07, 0xE7, 0xC0, 0x3E, 0x78, 0x01, - 0xE7, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xFC, - 0x00, 0x1F, 0xFC, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x03, 0xFE, 0x00, - 0x03, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, - 0x80, 0x1F, 0x7E, 0x07, 0xE7, 0xFF, 0xFE, 0x3F, 0xFF, 0xC1, 0xFF, 0xF0, - 0x03, 0xFC, 0x00, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x8F, 0xFF, - 0xFF, 0xFF, 0xC7, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, - 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, - 0xE0, 0x78, 0x1F, 0xC7, 0xF0, 0xFC, 0x1F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, - 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, - 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, - 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x00, 0x0F, 0xF0, - 0x00, 0xFF, 0x00, 0x1F, 0xF0, 0x01, 0xFF, 0x00, 0x3F, 0xF8, 0x07, 0xFF, - 0xE0, 0xFF, 0x7F, 0xFF, 0x77, 0xFF, 0xE7, 0x1F, 0xFC, 0x70, 0x7E, 0x00, - 0x78, 0x00, 0x3E, 0xF0, 0x00, 0x79, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xE3, - 0xC0, 0x07, 0x87, 0xC0, 0x0F, 0x07, 0x80, 0x3C, 0x0F, 0x00, 0x78, 0x1F, - 0x01, 0xF0, 0x1E, 0x03, 0xC0, 0x3C, 0x07, 0x80, 0x7C, 0x1F, 0x00, 0x78, - 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xF1, 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, - 0x80, 0x03, 0xDE, 0x00, 0x07, 0xBC, 0x00, 0x0F, 0x70, 0x00, 0x0F, 0xE0, - 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, - 0xF8, 0x03, 0xE0, 0x07, 0x9E, 0x00, 0xFC, 0x01, 0xE7, 0x80, 0x3F, 0x00, - 0x79, 0xF0, 0x0F, 0xC0, 0x3E, 0x3C, 0x07, 0xF0, 0x0F, 0x0F, 0x01, 0xFE, - 0x03, 0xC3, 0xC0, 0x7F, 0x80, 0xF0, 0x78, 0x1D, 0xE0, 0x78, 0x1E, 0x0F, - 0x38, 0x1E, 0x07, 0x83, 0xCF, 0x07, 0x81, 0xE0, 0xF3, 0xC1, 0xE0, 0x3C, - 0x38, 0xF0, 0xF0, 0x0F, 0x1E, 0x1C, 0x3C, 0x03, 0xC7, 0x87, 0x8F, 0x00, - 0x71, 0xE1, 0xE3, 0x80, 0x1E, 0x70, 0x79, 0xE0, 0x07, 0xBC, 0x0E, 0x78, - 0x01, 0xEF, 0x03, 0xDE, 0x00, 0x3B, 0xC0, 0xF7, 0x00, 0x0F, 0xE0, 0x3F, - 0xC0, 0x03, 0xF8, 0x07, 0xF0, 0x00, 0x7E, 0x01, 0xF8, 0x00, 0x1F, 0x80, - 0x7E, 0x00, 0x07, 0xC0, 0x1F, 0x80, 0x01, 0xF0, 0x03, 0xC0, 0x00, 0x7C, - 0x00, 0x78, 0xF0, 0x03, 0xE1, 0xE0, 0x0F, 0x07, 0xC0, 0x78, 0x0F, 0x03, - 0xE0, 0x1E, 0x0F, 0x00, 0x7C, 0x78, 0x00, 0xF3, 0xE0, 0x01, 0xEF, 0x00, - 0x07, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x03, - 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xC0, 0x03, 0xCF, 0x00, 0x0F, 0x1E, - 0x00, 0x78, 0x7C, 0x03, 0xE0, 0xF0, 0x0F, 0x03, 0xE0, 0x78, 0x07, 0xC3, - 0xE0, 0x0F, 0x1F, 0x00, 0x3E, 0x78, 0x00, 0x7C, 0x78, 0x00, 0x3D, 0xE0, - 0x01, 0xF7, 0x80, 0x07, 0x8F, 0x00, 0x1E, 0x3C, 0x00, 0xF0, 0xF0, 0x03, - 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x78, 0x1E, 0x01, 0xE0, 0x3C, 0x07, 0x80, - 0xF0, 0x3C, 0x03, 0xC0, 0xF0, 0x07, 0x87, 0xC0, 0x1E, 0x1E, 0x00, 0x78, - 0x78, 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x0F, 0x3C, 0x00, 0x1F, 0xE0, - 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, - 0x3E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, - 0x00, 0x01, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3E, 0x00, 0x0F, 0xF0, 0x00, - 0x3F, 0xC0, 0x00, 0xFE, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xF7, - 0xFF, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0xFF, 0x00, 0x01, 0xE0, 0x00, 0x3E, - 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, - 0x00, 0x07, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, - 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0x7C, - 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0x01, 0xE0, 0xFC, 0x1F, 0x87, 0x80, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, - 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, - 0xC0, 0x78, 0x1E, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0xC0, 0x3C, 0x03, 0x80, - 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, - 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0F, 0x00, 0xFC, 0x1F, 0x80, - 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x1F, 0x83, 0xF0, 0x0F, 0x00, - 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, - 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0xC0, 0x3E, 0x03, - 0xC0, 0x78, 0x1F, 0x07, 0x80, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, - 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, - 0x70, 0x1E, 0x1F, 0x83, 0xF0, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0xF0, 0x0D, - 0xFF, 0x01, 0xF0, 0xF8, 0x7C, 0x0F, 0xFD, 0x80, 0x7F, 0x80, 0x03, 0xE0 }; - -const GFXglyph FreeSans24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' - { 0, 4, 34, 16, 6, -33 }, // 0x21 '!' - { 17, 11, 12, 16, 2, -32 }, // 0x22 '"' - { 34, 24, 33, 26, 1, -31 }, // 0x23 '#' - { 133, 23, 41, 26, 1, -34 }, // 0x24 '$' - { 251, 39, 34, 42, 1, -32 }, // 0x25 '%' - { 417, 28, 34, 31, 2, -32 }, // 0x26 '&' - { 536, 4, 12, 9, 2, -32 }, // 0x27 ''' - { 542, 10, 44, 16, 3, -33 }, // 0x28 '(' - { 597, 10, 44, 16, 2, -33 }, // 0x29 ')' - { 652, 14, 14, 18, 2, -33 }, // 0x2A '*' - { 677, 23, 22, 27, 2, -21 }, // 0x2B '+' - { 741, 4, 12, 13, 4, -4 }, // 0x2C ',' - { 747, 11, 4, 16, 2, -14 }, // 0x2D '-' - { 753, 4, 5, 12, 4, -4 }, // 0x2E '.' - { 756, 13, 35, 13, 0, -33 }, // 0x2F '/' - { 813, 22, 34, 26, 2, -32 }, // 0x30 '0' - { 907, 11, 33, 26, 5, -32 }, // 0x31 '1' - { 953, 22, 33, 26, 2, -32 }, // 0x32 '2' - { 1044, 23, 34, 26, 1, -32 }, // 0x33 '3' - { 1142, 23, 33, 26, 1, -32 }, // 0x34 '4' - { 1237, 22, 34, 26, 2, -32 }, // 0x35 '5' - { 1331, 22, 34, 26, 2, -32 }, // 0x36 '6' - { 1425, 21, 33, 26, 2, -32 }, // 0x37 '7' - { 1512, 22, 34, 26, 2, -32 }, // 0x38 '8' - { 1606, 21, 34, 26, 2, -32 }, // 0x39 '9' - { 1696, 4, 25, 12, 4, -24 }, // 0x3A ':' - { 1709, 4, 32, 12, 4, -24 }, // 0x3B ';' - { 1725, 23, 23, 27, 2, -22 }, // 0x3C '<' - { 1792, 23, 12, 27, 2, -16 }, // 0x3D '=' - { 1827, 23, 23, 27, 2, -22 }, // 0x3E '>' - { 1894, 20, 35, 26, 4, -34 }, // 0x3F '?' - { 1982, 43, 42, 48, 2, -34 }, // 0x40 '@' - { 2208, 30, 34, 31, 1, -33 }, // 0x41 'A' - { 2336, 25, 34, 31, 4, -33 }, // 0x42 'B' - { 2443, 29, 36, 33, 2, -34 }, // 0x43 'C' - { 2574, 27, 34, 33, 4, -33 }, // 0x44 'D' - { 2689, 24, 34, 30, 4, -33 }, // 0x45 'E' - { 2791, 22, 34, 28, 4, -33 }, // 0x46 'F' - { 2885, 31, 36, 36, 2, -34 }, // 0x47 'G' - { 3025, 26, 34, 34, 4, -33 }, // 0x48 'H' - { 3136, 4, 34, 13, 5, -33 }, // 0x49 'I' - { 3153, 19, 35, 25, 2, -33 }, // 0x4A 'J' - { 3237, 27, 34, 32, 4, -33 }, // 0x4B 'K' - { 3352, 21, 34, 26, 4, -33 }, // 0x4C 'L' - { 3442, 32, 34, 40, 4, -33 }, // 0x4D 'M' - { 3578, 26, 34, 34, 4, -33 }, // 0x4E 'N' - { 3689, 33, 36, 37, 2, -34 }, // 0x4F 'O' - { 3838, 24, 34, 31, 4, -33 }, // 0x50 'P' - { 3940, 33, 38, 37, 2, -34 }, // 0x51 'Q' - { 4097, 26, 34, 33, 4, -33 }, // 0x52 'R' - { 4208, 27, 36, 31, 2, -34 }, // 0x53 'S' - { 4330, 26, 34, 30, 2, -33 }, // 0x54 'T' - { 4441, 26, 35, 34, 4, -33 }, // 0x55 'U' - { 4555, 29, 34, 30, 1, -33 }, // 0x56 'V' - { 4679, 42, 34, 44, 1, -33 }, // 0x57 'W' - { 4858, 29, 34, 31, 1, -33 }, // 0x58 'X' - { 4982, 30, 34, 32, 1, -33 }, // 0x59 'Y' - { 5110, 27, 34, 29, 1, -33 }, // 0x5A 'Z' - { 5225, 8, 44, 13, 3, -33 }, // 0x5B '[' - { 5269, 13, 35, 13, 0, -33 }, // 0x5C '\' - { 5326, 8, 44, 13, 1, -33 }, // 0x5D ']' - { 5370, 18, 18, 22, 2, -32 }, // 0x5E '^' - { 5411, 28, 2, 26, -1, 7 }, // 0x5F '_' - { 5418, 10, 7, 12, 1, -34 }, // 0x60 '`' - { 5427, 24, 27, 26, 1, -25 }, // 0x61 'a' - { 5508, 22, 35, 26, 3, -33 }, // 0x62 'b' - { 5605, 21, 27, 24, 1, -25 }, // 0x63 'c' - { 5676, 23, 35, 26, 1, -33 }, // 0x64 'd' - { 5777, 22, 27, 25, 1, -25 }, // 0x65 'e' - { 5852, 10, 34, 13, 1, -33 }, // 0x66 'f' - { 5895, 22, 36, 26, 1, -25 }, // 0x67 'g' - { 5994, 19, 34, 25, 3, -33 }, // 0x68 'h' - { 6075, 4, 34, 10, 3, -33 }, // 0x69 'i' - { 6092, 8, 44, 11, 0, -33 }, // 0x6A 'j' - { 6136, 21, 34, 24, 3, -33 }, // 0x6B 'k' - { 6226, 4, 34, 10, 3, -33 }, // 0x6C 'l' - { 6243, 32, 26, 38, 3, -25 }, // 0x6D 'm' - { 6347, 20, 26, 25, 3, -25 }, // 0x6E 'n' - { 6412, 23, 27, 25, 1, -25 }, // 0x6F 'o' - { 6490, 22, 35, 26, 3, -25 }, // 0x70 'p' - { 6587, 23, 35, 26, 1, -25 }, // 0x71 'q' - { 6688, 12, 26, 16, 3, -25 }, // 0x72 'r' - { 6727, 20, 27, 23, 1, -25 }, // 0x73 's' - { 6795, 10, 32, 13, 1, -30 }, // 0x74 't' - { 6835, 20, 26, 25, 3, -24 }, // 0x75 'u' - { 6900, 23, 25, 23, 0, -24 }, // 0x76 'v' - { 6972, 34, 25, 34, 0, -24 }, // 0x77 'w' - { 7079, 22, 25, 22, 0, -24 }, // 0x78 'x' - { 7148, 22, 35, 22, 0, -24 }, // 0x79 'y' - { 7245, 20, 25, 23, 1, -24 }, // 0x7A 'z' - { 7308, 11, 44, 16, 2, -33 }, // 0x7B '{' - { 7369, 3, 44, 12, 4, -33 }, // 0x7C '|' - { 7386, 11, 44, 16, 2, -33 }, // 0x7D '}' - { 7447, 19, 7, 24, 2, -19 } }; // 0x7E '~' - -const GFXfont FreeSans24pt7b PROGMEM = { - (uint8_t *)FreeSans24pt7bBitmaps, - (GFXglyph *)FreeSans24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 8136 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h deleted file mode 100644 index 1f006a1..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSans9pt7b.h +++ /dev/null @@ -1,201 +0,0 @@ -const uint8_t FreeSans9pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xF8, 0xC0, 0xDE, 0xF7, 0x20, 0x09, 0x86, 0x41, 0x91, 0xFF, - 0x13, 0x04, 0xC3, 0x20, 0xC8, 0xFF, 0x89, 0x82, 0x61, 0x90, 0x10, 0x1F, - 0x14, 0xDA, 0x3D, 0x1E, 0x83, 0x40, 0x78, 0x17, 0x08, 0xF4, 0x7A, 0x35, - 0x33, 0xF0, 0x40, 0x20, 0x38, 0x10, 0xEC, 0x20, 0xC6, 0x20, 0xC6, 0x40, - 0xC6, 0x40, 0x6C, 0x80, 0x39, 0x00, 0x01, 0x3C, 0x02, 0x77, 0x02, 0x63, - 0x04, 0x63, 0x04, 0x77, 0x08, 0x3C, 0x0E, 0x06, 0x60, 0xCC, 0x19, 0x81, - 0xE0, 0x18, 0x0F, 0x03, 0x36, 0xC2, 0xD8, 0x73, 0x06, 0x31, 0xE3, 0xC4, - 0xFE, 0x13, 0x26, 0x6C, 0xCC, 0xCC, 0xC4, 0x66, 0x23, 0x10, 0x8C, 0x46, - 0x63, 0x33, 0x33, 0x32, 0x66, 0x4C, 0x80, 0x25, 0x7E, 0xA5, 0x00, 0x30, - 0xC3, 0x3F, 0x30, 0xC3, 0x0C, 0xD6, 0xF0, 0xC0, 0x08, 0x44, 0x21, 0x10, - 0x84, 0x42, 0x11, 0x08, 0x00, 0x3C, 0x66, 0x42, 0xC3, 0xC3, 0xC3, 0xC3, - 0xC3, 0xC3, 0xC3, 0x42, 0x66, 0x3C, 0x11, 0x3F, 0x33, 0x33, 0x33, 0x33, - 0x30, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x1C, 0x1C, 0x1C, 0x18, 0x18, - 0x10, 0x08, 0x07, 0xF8, 0x3C, 0x66, 0xC3, 0xC3, 0x03, 0x06, 0x1C, 0x07, - 0x03, 0xC3, 0xC3, 0x66, 0x3C, 0x0C, 0x18, 0x71, 0x62, 0xC9, 0xA3, 0x46, - 0xFE, 0x18, 0x30, 0x60, 0xC0, 0x7F, 0x20, 0x10, 0x08, 0x08, 0x07, 0xF3, - 0x8C, 0x03, 0x01, 0x80, 0xF0, 0x6C, 0x63, 0xE0, 0x1E, 0x31, 0x98, 0x78, - 0x0C, 0x06, 0xF3, 0x8D, 0x83, 0xC1, 0xE0, 0xD0, 0x6C, 0x63, 0xE0, 0xFF, - 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, - 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1B, 0x18, 0xF8, 0xC6, 0xC1, 0xE0, 0xF0, - 0x6C, 0x63, 0xE0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x03, - 0x03, 0xC2, 0x66, 0x3C, 0xC0, 0x00, 0x30, 0xC0, 0x00, 0x00, 0x64, 0xA0, - 0x00, 0x81, 0xC7, 0x8E, 0x0C, 0x07, 0x80, 0x70, 0x0E, 0x01, 0x80, 0xFF, - 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x70, 0x0E, 0x01, 0xC0, 0x18, 0x38, 0x71, - 0xC0, 0x80, 0x00, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x18, 0x38, 0x18, - 0x18, 0x0C, 0x00, 0x00, 0x01, 0x80, 0x03, 0xF0, 0x06, 0x0E, 0x06, 0x01, - 0x86, 0x00, 0x66, 0x1D, 0xBB, 0x31, 0xCF, 0x18, 0xC7, 0x98, 0x63, 0xCC, - 0x31, 0xE6, 0x11, 0xB3, 0x99, 0xCC, 0xF7, 0x86, 0x00, 0x01, 0x80, 0x00, - 0x70, 0x40, 0x0F, 0xE0, 0x06, 0x00, 0xF0, 0x0F, 0x00, 0x90, 0x19, 0x81, - 0x98, 0x10, 0x83, 0x0C, 0x3F, 0xC2, 0x04, 0x60, 0x66, 0x06, 0xC0, 0x30, - 0xFF, 0x18, 0x33, 0x03, 0x60, 0x6C, 0x0D, 0x83, 0x3F, 0xC6, 0x06, 0xC0, - 0x78, 0x0F, 0x01, 0xE0, 0x6F, 0xF8, 0x1F, 0x86, 0x19, 0x81, 0xA0, 0x3C, - 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x68, 0x0D, 0x83, 0x18, 0x61, 0xF0, - 0xFF, 0x18, 0x33, 0x03, 0x60, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, - 0x78, 0x0F, 0x03, 0x60, 0xCF, 0xF0, 0xFF, 0xE0, 0x30, 0x18, 0x0C, 0x06, - 0x03, 0xFD, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0F, 0xF8, 0xFF, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x83, - 0x0E, 0x60, 0x66, 0x03, 0xC0, 0x0C, 0x00, 0xC1, 0xFC, 0x03, 0xC0, 0x36, - 0x03, 0x60, 0x73, 0x0F, 0x0F, 0x10, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, - 0x07, 0x80, 0xFF, 0xFE, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x06, - 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, - 0x8F, 0x1E, 0x27, 0x80, 0xC0, 0xD8, 0x33, 0x0C, 0x63, 0x0C, 0xC1, 0xB8, - 0x3F, 0x07, 0x30, 0xC3, 0x18, 0x63, 0x06, 0x60, 0x6C, 0x0C, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xE0, - 0x3F, 0x01, 0xFC, 0x1F, 0xE0, 0xFD, 0x05, 0xEC, 0x6F, 0x63, 0x79, 0x13, - 0xCD, 0x9E, 0x6C, 0xF1, 0x47, 0x8E, 0x3C, 0x71, 0x80, 0xE0, 0x7C, 0x0F, - 0xC1, 0xE8, 0x3D, 0x87, 0x98, 0xF1, 0x1E, 0x33, 0xC3, 0x78, 0x6F, 0x07, - 0xE0, 0x7C, 0x0E, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, 0x6C, 0x01, 0xE0, - 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x0C, 0x60, 0xC0, 0xF8, - 0x00, 0xFF, 0x30, 0x6C, 0x0F, 0x03, 0xC0, 0xF0, 0x6F, 0xF3, 0x00, 0xC0, - 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, - 0x6C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x6C, - 0x60, 0xC0, 0xFB, 0x00, 0x08, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, - 0x6C, 0x0C, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, 0x6C, 0x06, 0xC0, - 0x70, 0x3F, 0x18, 0x6C, 0x0F, 0x03, 0xC0, 0x1E, 0x01, 0xF0, 0x0E, 0x00, - 0xF0, 0x3C, 0x0D, 0x86, 0x3F, 0x00, 0xFF, 0x86, 0x03, 0x01, 0x80, 0xC0, - 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x78, 0x0F, - 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, - 0xB0, 0x61, 0xF0, 0xC0, 0x6C, 0x0D, 0x81, 0x10, 0x63, 0x0C, 0x61, 0x04, - 0x60, 0xCC, 0x19, 0x01, 0x60, 0x3C, 0x07, 0x00, 0x60, 0xC1, 0x81, 0x30, - 0xE1, 0x98, 0x70, 0xCC, 0x28, 0x66, 0x26, 0x21, 0x13, 0x30, 0xC8, 0x98, - 0x6C, 0x4C, 0x14, 0x34, 0x0A, 0x1A, 0x07, 0x07, 0x03, 0x03, 0x80, 0x81, - 0x80, 0x60, 0x63, 0x0C, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0xE0, 0x06, 0x00, - 0xF0, 0x19, 0x01, 0x98, 0x30, 0xC6, 0x0E, 0x60, 0x60, 0xC0, 0x36, 0x06, - 0x30, 0xC3, 0x0C, 0x19, 0x81, 0xD8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x06, 0x00, 0xFF, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, - 0x01, 0xC0, 0x60, 0x30, 0x18, 0x06, 0x03, 0x00, 0xFF, 0xC0, 0xFB, 0x6D, - 0xB6, 0xDB, 0x6D, 0xB6, 0xE0, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, - 0x10, 0x80, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xDB, 0xE0, 0x30, 0x60, 0xA2, - 0x44, 0xD8, 0xA1, 0x80, 0xFF, 0xC0, 0xC6, 0x30, 0x7E, 0x71, 0xB0, 0xC0, - 0x60, 0xF3, 0xDB, 0x0D, 0x86, 0xC7, 0x3D, 0xC0, 0xC0, 0x60, 0x30, 0x1B, - 0xCE, 0x36, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x7C, 0x6D, 0xE0, 0x3C, - 0x66, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x03, 0x03, 0x03, - 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x3C, 0x66, - 0xC3, 0xC3, 0xFF, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x36, 0x6F, 0x66, 0x66, - 0x66, 0x66, 0x60, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, - 0x3B, 0x03, 0x03, 0xC6, 0x7C, 0xC0, 0xC0, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, - 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC0, 0x30, 0x03, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xE0, 0xC0, 0x60, 0x30, 0x18, 0x4C, - 0x46, 0x63, 0x61, 0xF0, 0xEC, 0x62, 0x31, 0x98, 0x6C, 0x30, 0xFF, 0xFF, - 0xFF, 0xC0, 0xDE, 0xF7, 0x1C, 0xF0, 0xC7, 0x86, 0x3C, 0x31, 0xE1, 0x8F, - 0x0C, 0x78, 0x63, 0xC3, 0x1E, 0x18, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, 0xC3, - 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, - 0xC3, 0x66, 0x3C, 0xDE, 0x71, 0xB0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, - 0xE3, 0x6F, 0x30, 0x18, 0x0C, 0x00, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, - 0xC3, 0xC3, 0x67, 0x3B, 0x03, 0x03, 0x03, 0xDF, 0x31, 0x8C, 0x63, 0x18, - 0xC6, 0x00, 0x3E, 0xE3, 0xC0, 0xC0, 0xE0, 0x3C, 0x07, 0xC3, 0xE3, 0x7E, - 0x66, 0xF6, 0x66, 0x66, 0x66, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, - 0xC3, 0xC3, 0xC7, 0x7B, 0xC1, 0xA0, 0x98, 0xCC, 0x42, 0x21, 0xB0, 0xD0, - 0x28, 0x1C, 0x0C, 0x00, 0xC6, 0x1E, 0x38, 0x91, 0xC4, 0xCA, 0x66, 0xD3, - 0x16, 0xD0, 0xA6, 0x87, 0x1C, 0x38, 0xC0, 0xC6, 0x00, 0x43, 0x62, 0x36, - 0x1C, 0x18, 0x1C, 0x3C, 0x26, 0x62, 0x43, 0xC1, 0x21, 0x98, 0xCC, 0x42, - 0x61, 0xB0, 0xD0, 0x38, 0x1C, 0x0C, 0x06, 0x03, 0x01, 0x03, 0x00, 0xFE, - 0x0C, 0x30, 0xC1, 0x86, 0x18, 0x20, 0xC1, 0xFC, 0x36, 0x66, 0x66, 0x6E, - 0xCE, 0x66, 0x66, 0x66, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC6, 0x66, - 0x66, 0x67, 0x37, 0x66, 0x66, 0x66, 0xC0, 0x61, 0x24, 0x38 }; - -const GFXglyph FreeSans9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 2, 13, 6, 2, -12 }, // 0x21 '!' - { 4, 5, 4, 6, 1, -12 }, // 0x22 '"' - { 7, 10, 12, 10, 0, -11 }, // 0x23 '#' - { 22, 9, 16, 10, 1, -13 }, // 0x24 '$' - { 40, 16, 13, 16, 1, -12 }, // 0x25 '%' - { 66, 11, 13, 12, 1, -12 }, // 0x26 '&' - { 84, 2, 4, 4, 1, -12 }, // 0x27 ''' - { 85, 4, 17, 6, 1, -12 }, // 0x28 '(' - { 94, 4, 17, 6, 1, -12 }, // 0x29 ')' - { 103, 5, 5, 7, 1, -12 }, // 0x2A '*' - { 107, 6, 8, 11, 3, -7 }, // 0x2B '+' - { 113, 2, 4, 5, 2, 0 }, // 0x2C ',' - { 114, 4, 1, 6, 1, -4 }, // 0x2D '-' - { 115, 2, 1, 5, 1, 0 }, // 0x2E '.' - { 116, 5, 13, 5, 0, -12 }, // 0x2F '/' - { 125, 8, 13, 10, 1, -12 }, // 0x30 '0' - { 138, 4, 13, 10, 3, -12 }, // 0x31 '1' - { 145, 9, 13, 10, 1, -12 }, // 0x32 '2' - { 160, 8, 13, 10, 1, -12 }, // 0x33 '3' - { 173, 7, 13, 10, 2, -12 }, // 0x34 '4' - { 185, 9, 13, 10, 1, -12 }, // 0x35 '5' - { 200, 9, 13, 10, 1, -12 }, // 0x36 '6' - { 215, 8, 13, 10, 0, -12 }, // 0x37 '7' - { 228, 9, 13, 10, 1, -12 }, // 0x38 '8' - { 243, 8, 13, 10, 1, -12 }, // 0x39 '9' - { 256, 2, 10, 5, 1, -9 }, // 0x3A ':' - { 259, 3, 12, 5, 1, -8 }, // 0x3B ';' - { 264, 9, 9, 11, 1, -8 }, // 0x3C '<' - { 275, 9, 4, 11, 1, -5 }, // 0x3D '=' - { 280, 9, 9, 11, 1, -8 }, // 0x3E '>' - { 291, 9, 13, 10, 1, -12 }, // 0x3F '?' - { 306, 17, 16, 18, 1, -12 }, // 0x40 '@' - { 340, 12, 13, 12, 0, -12 }, // 0x41 'A' - { 360, 11, 13, 12, 1, -12 }, // 0x42 'B' - { 378, 11, 13, 13, 1, -12 }, // 0x43 'C' - { 396, 11, 13, 13, 1, -12 }, // 0x44 'D' - { 414, 9, 13, 11, 1, -12 }, // 0x45 'E' - { 429, 8, 13, 11, 1, -12 }, // 0x46 'F' - { 442, 12, 13, 14, 1, -12 }, // 0x47 'G' - { 462, 11, 13, 13, 1, -12 }, // 0x48 'H' - { 480, 2, 13, 5, 2, -12 }, // 0x49 'I' - { 484, 7, 13, 10, 1, -12 }, // 0x4A 'J' - { 496, 11, 13, 12, 1, -12 }, // 0x4B 'K' - { 514, 8, 13, 10, 1, -12 }, // 0x4C 'L' - { 527, 13, 13, 15, 1, -12 }, // 0x4D 'M' - { 549, 11, 13, 13, 1, -12 }, // 0x4E 'N' - { 567, 13, 13, 14, 1, -12 }, // 0x4F 'O' - { 589, 10, 13, 12, 1, -12 }, // 0x50 'P' - { 606, 13, 14, 14, 1, -12 }, // 0x51 'Q' - { 629, 12, 13, 13, 1, -12 }, // 0x52 'R' - { 649, 10, 13, 12, 1, -12 }, // 0x53 'S' - { 666, 9, 13, 11, 1, -12 }, // 0x54 'T' - { 681, 11, 13, 13, 1, -12 }, // 0x55 'U' - { 699, 11, 13, 12, 0, -12 }, // 0x56 'V' - { 717, 17, 13, 17, 0, -12 }, // 0x57 'W' - { 745, 12, 13, 12, 0, -12 }, // 0x58 'X' - { 765, 12, 13, 12, 0, -12 }, // 0x59 'Y' - { 785, 10, 13, 11, 1, -12 }, // 0x5A 'Z' - { 802, 3, 17, 5, 1, -12 }, // 0x5B '[' - { 809, 5, 13, 5, 0, -12 }, // 0x5C '\' - { 818, 3, 17, 5, 0, -12 }, // 0x5D ']' - { 825, 7, 7, 8, 1, -12 }, // 0x5E '^' - { 832, 10, 1, 10, 0, 3 }, // 0x5F '_' - { 834, 4, 3, 5, 0, -12 }, // 0x60 '`' - { 836, 9, 10, 10, 1, -9 }, // 0x61 'a' - { 848, 9, 13, 10, 1, -12 }, // 0x62 'b' - { 863, 8, 10, 9, 1, -9 }, // 0x63 'c' - { 873, 8, 13, 10, 1, -12 }, // 0x64 'd' - { 886, 8, 10, 10, 1, -9 }, // 0x65 'e' - { 896, 4, 13, 5, 1, -12 }, // 0x66 'f' - { 903, 8, 14, 10, 1, -9 }, // 0x67 'g' - { 917, 8, 13, 10, 1, -12 }, // 0x68 'h' - { 930, 2, 13, 4, 1, -12 }, // 0x69 'i' - { 934, 4, 17, 4, 0, -12 }, // 0x6A 'j' - { 943, 9, 13, 9, 1, -12 }, // 0x6B 'k' - { 958, 2, 13, 4, 1, -12 }, // 0x6C 'l' - { 962, 13, 10, 15, 1, -9 }, // 0x6D 'm' - { 979, 8, 10, 10, 1, -9 }, // 0x6E 'n' - { 989, 8, 10, 10, 1, -9 }, // 0x6F 'o' - { 999, 9, 13, 10, 1, -9 }, // 0x70 'p' - { 1014, 8, 13, 10, 1, -9 }, // 0x71 'q' - { 1027, 5, 10, 6, 1, -9 }, // 0x72 'r' - { 1034, 8, 10, 9, 1, -9 }, // 0x73 's' - { 1044, 4, 12, 5, 1, -11 }, // 0x74 't' - { 1050, 8, 10, 10, 1, -9 }, // 0x75 'u' - { 1060, 9, 10, 9, 0, -9 }, // 0x76 'v' - { 1072, 13, 10, 13, 0, -9 }, // 0x77 'w' - { 1089, 8, 10, 9, 0, -9 }, // 0x78 'x' - { 1099, 9, 14, 9, 0, -9 }, // 0x79 'y' - { 1115, 7, 10, 9, 1, -9 }, // 0x7A 'z' - { 1124, 4, 17, 6, 1, -12 }, // 0x7B '{' - { 1133, 2, 17, 4, 2, -12 }, // 0x7C '|' - { 1138, 4, 17, 6, 1, -12 }, // 0x7D '}' - { 1147, 7, 3, 9, 1, -7 } }; // 0x7E '~' - -const GFXfont FreeSans9pt7b PROGMEM = { - (uint8_t *)FreeSans9pt7bBitmaps, - (GFXglyph *)FreeSans9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1822 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h deleted file mode 100644 index e0922be..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold12pt7b.h +++ /dev/null @@ -1,288 +0,0 @@ -const uint8_t FreeSansBold12pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x76, 0x66, 0x60, 0xFF, 0xF0, 0xF3, 0xFC, 0xFF, - 0x3F, 0xCF, 0x61, 0x98, 0x60, 0x0E, 0x70, 0x73, 0x83, 0x18, 0xFF, 0xF7, - 0xFF, 0xBF, 0xFC, 0x73, 0x83, 0x18, 0x18, 0xC7, 0xFF, 0xBF, 0xFD, 0xFF, - 0xE3, 0x18, 0x39, 0xC1, 0xCE, 0x0E, 0x70, 0x02, 0x00, 0x7E, 0x0F, 0xF8, - 0x7F, 0xE7, 0xAF, 0xB9, 0x3D, 0xC8, 0x0F, 0x40, 0x3F, 0x00, 0xFF, 0x00, - 0xFC, 0x05, 0xFF, 0x27, 0xF9, 0x3F, 0xEB, 0xEF, 0xFE, 0x3F, 0xE0, 0x7C, - 0x00, 0x80, 0x04, 0x00, 0x3C, 0x06, 0x0F, 0xC1, 0x81, 0xFC, 0x30, 0x73, - 0x8C, 0x0C, 0x31, 0x81, 0xCE, 0x60, 0x1F, 0xCC, 0x03, 0xF3, 0x00, 0x3C, - 0x67, 0x80, 0x19, 0xF8, 0x02, 0x7F, 0x80, 0xCE, 0x70, 0x11, 0x86, 0x06, - 0x39, 0xC1, 0x87, 0xF8, 0x30, 0x7E, 0x0C, 0x07, 0x80, 0x07, 0x80, 0x1F, - 0xC0, 0x3F, 0xE0, 0x3C, 0xE0, 0x3C, 0xE0, 0x3E, 0xE0, 0x0F, 0xC0, 0x07, - 0x00, 0x3F, 0x8C, 0x7F, 0xCC, 0xF1, 0xFC, 0xF0, 0xF8, 0xF0, 0x78, 0xF8, - 0xF8, 0x7F, 0xFC, 0x3F, 0xDE, 0x1F, 0x8E, 0xFF, 0xFF, 0x66, 0x0C, 0x73, - 0x8E, 0x71, 0xC7, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x1C, 0x71, 0xC3, - 0x8E, 0x18, 0x70, 0xC3, 0x87, 0x1C, 0x38, 0xE3, 0x87, 0x1C, 0x71, 0xC7, - 0x1C, 0x71, 0xCE, 0x38, 0xE7, 0x1C, 0x63, 0x80, 0x10, 0x23, 0x5F, 0xF3, - 0x87, 0x1B, 0x14, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, - 0xF8, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x00, 0xFF, 0xF3, 0x36, 0xC0, 0xFF, - 0xFF, 0xC0, 0xFF, 0xF0, 0x0C, 0x30, 0x86, 0x18, 0x61, 0x0C, 0x30, 0xC2, - 0x18, 0x61, 0x84, 0x30, 0xC0, 0x1F, 0x83, 0xFC, 0x7F, 0xE7, 0x9E, 0xF0, - 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, - 0xF7, 0x9E, 0x7F, 0xE3, 0xFC, 0x0F, 0x00, 0x06, 0x1C, 0x7F, 0xFF, 0xE3, - 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x1F, 0x83, - 0xFC, 0x7F, 0xEF, 0x9F, 0xF0, 0xFF, 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xE0, - 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x03, 0x80, 0x7F, 0xF7, 0xFF, 0x7F, 0xF0, - 0x1F, 0x07, 0xFC, 0xFF, 0xEF, 0x1E, 0xF1, 0xE0, 0x1E, 0x03, 0xC0, 0x78, - 0x07, 0xC0, 0x1E, 0x00, 0xF0, 0x0F, 0xF0, 0xFF, 0x1F, 0x7F, 0xE7, 0xFC, - 0x1F, 0x80, 0x03, 0xC0, 0xF8, 0x1F, 0x07, 0xE1, 0xBC, 0x27, 0x8C, 0xF3, - 0x1E, 0x63, 0xD8, 0x7B, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0x80, 0xF0, 0x1E, - 0x03, 0xC0, 0x3F, 0xE7, 0xFE, 0x7F, 0xE7, 0x00, 0x60, 0x06, 0xF8, 0x7F, - 0xCF, 0xFE, 0xF1, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xFE, 0x1E, 0xFF, - 0xE7, 0xFC, 0x3F, 0x00, 0x0F, 0x83, 0xFC, 0x7F, 0xE7, 0x9F, 0xF0, 0x0F, - 0x78, 0xFF, 0xCF, 0xFE, 0xF9, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xF7, - 0x9F, 0x7F, 0xE3, 0xFC, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, - 0x1C, 0x07, 0x01, 0xE0, 0x38, 0x0F, 0x01, 0xC0, 0x78, 0x0F, 0x01, 0xE0, - 0x38, 0x0F, 0x01, 0xE0, 0x3C, 0x00, 0x0F, 0x03, 0xFC, 0x7F, 0xC7, 0x9E, - 0x70, 0xE7, 0x0E, 0x39, 0xC1, 0xF8, 0x3F, 0xC7, 0x9E, 0xF0, 0xFF, 0x0F, - 0xF0, 0xFF, 0x9F, 0x7F, 0xE3, 0xFC, 0x1F, 0x80, 0x1F, 0x03, 0xFC, 0x7F, - 0xEF, 0x9E, 0xF0, 0xEF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF9, 0xF7, 0xFF, 0x3F, - 0xF1, 0xEF, 0x00, 0xEF, 0x1E, 0x7F, 0xE7, 0xFC, 0x1F, 0x00, 0xFF, 0xF0, - 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0x11, 0x6C, - 0x00, 0x10, 0x07, 0x03, 0xF1, 0xFC, 0x7E, 0x0F, 0x80, 0xE0, 0x0F, 0xC0, - 0x3F, 0x80, 0x7F, 0x00, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0E, 0x00, 0xFC, - 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0x00, 0xF0, 0x7F, 0x1F, 0x8F, 0xE0, 0xF0, - 0x08, 0x00, 0x1F, 0x07, 0xFC, 0x7F, 0xEF, 0x9F, 0xF0, 0xFF, 0x0F, 0x00, - 0xF0, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x0E, 0x00, 0xE0, 0x00, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xFC, 0x03, 0xC0, - 0xF0, 0x38, 0x01, 0xC3, 0x80, 0x07, 0x18, 0x3D, 0x99, 0x87, 0xEC, 0x6C, - 0x71, 0xC3, 0xC3, 0x06, 0x1E, 0x18, 0x30, 0xF1, 0x81, 0x87, 0x8C, 0x18, - 0x7C, 0x60, 0xC3, 0x63, 0x8E, 0x3B, 0x8F, 0xDF, 0x8C, 0x3C, 0xF0, 0x70, - 0x00, 0x01, 0xC0, 0x00, 0x07, 0x80, 0x80, 0x1F, 0xFE, 0x00, 0x1F, 0xC0, - 0x00, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x07, 0xF0, 0x07, 0xF0, 0x07, - 0x70, 0x0F, 0x78, 0x0E, 0x78, 0x0E, 0x38, 0x1E, 0x3C, 0x1C, 0x3C, 0x3F, - 0xFC, 0x3F, 0xFE, 0x3F, 0xFE, 0x78, 0x0E, 0x78, 0x0F, 0x70, 0x0F, 0xF0, - 0x07, 0xFF, 0xC3, 0xFF, 0xCF, 0xFF, 0x3C, 0x3E, 0xF0, 0x7B, 0xC1, 0xEF, - 0x0F, 0xBF, 0xFC, 0xFF, 0xE3, 0xFF, 0xCF, 0x07, 0xBC, 0x0F, 0xF0, 0x3F, - 0xC0, 0xFF, 0x07, 0xFF, 0xFE, 0xFF, 0xFB, 0xFF, 0x80, 0x07, 0xE0, 0x1F, - 0xF8, 0x3F, 0xFC, 0x7C, 0x3E, 0x78, 0x1F, 0xF8, 0x0F, 0xF0, 0x00, 0xF0, - 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF8, 0x0F, 0x78, - 0x1F, 0x7C, 0x3E, 0x3F, 0xFE, 0x1F, 0xFC, 0x07, 0xF0, 0xFF, 0xE1, 0xFF, - 0xE3, 0xFF, 0xE7, 0x83, 0xEF, 0x03, 0xDE, 0x07, 0xFC, 0x07, 0xF8, 0x0F, - 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x03, 0xFE, 0x07, 0xBC, - 0x1F, 0x7F, 0xFC, 0xFF, 0xF1, 0xFF, 0x80, 0xFF, 0xF7, 0xFF, 0xBF, 0xFD, - 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0xFC, 0xFF, 0xE7, 0xFF, 0x3C, - 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0xFE, 0xFF, 0xEF, 0xFE, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0x03, 0xF0, 0x0F, 0xFC, 0x3F, 0xFE, 0x3E, 0x1F, - 0x78, 0x07, 0x78, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x7F, 0xF0, 0x7F, - 0xF0, 0x7F, 0xF0, 0x07, 0x78, 0x07, 0x7C, 0x0F, 0x3E, 0x1F, 0x3F, 0xFB, - 0x0F, 0xFB, 0x03, 0xE3, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, - 0x3F, 0xC0, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFC, - 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xF0, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0x3C, - 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, - 0xF8, 0xFF, 0x1F, 0xE3, 0xFC, 0x7B, 0xFE, 0x7F, 0xC3, 0xE0, 0xF0, 0x3E, - 0xF0, 0x3C, 0xF0, 0x78, 0xF0, 0xF0, 0xF1, 0xE0, 0xF3, 0xC0, 0xF7, 0x80, - 0xFF, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0xFB, 0xC0, 0xF1, 0xE0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0x78, 0xF0, 0x3C, 0xF0, 0x3E, 0xF0, 0x1E, 0xF0, 0x1E, - 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, - 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, - 0x1F, 0xFE, 0x0F, 0xFF, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xFF, 0xE1, 0xFF, - 0xF9, 0xFF, 0xFC, 0xEF, 0xFE, 0x77, 0xFB, 0x3B, 0xFD, 0xDD, 0xFE, 0xFC, - 0xFF, 0x7E, 0x7F, 0x9F, 0x3F, 0xCF, 0x9F, 0xE7, 0x8F, 0xF3, 0xC7, 0xF8, - 0xE3, 0xC0, 0xF0, 0x1F, 0xF0, 0x3F, 0xF0, 0x7F, 0xE0, 0xFF, 0xE1, 0xFF, - 0xC3, 0xFD, 0xC7, 0xFB, 0x8F, 0xF3, 0x9F, 0xE7, 0x3F, 0xC7, 0x7F, 0x8F, - 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x1F, 0xF8, 0x1F, 0xF0, 0x3F, 0xE0, 0x3C, - 0x03, 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x87, 0xC7, 0xC7, 0x80, 0xF3, 0xC0, - 0x7B, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, - 0x00, 0xF7, 0x80, 0xF3, 0xC0, 0x78, 0xF0, 0xF8, 0x7F, 0xFC, 0x1F, 0xFC, - 0x03, 0xF8, 0x00, 0xFF, 0xE3, 0xFF, 0xEF, 0xFF, 0xBC, 0x1F, 0xF0, 0x3F, - 0xC0, 0xFF, 0x03, 0xFC, 0x1F, 0xFF, 0xFB, 0xFF, 0xCF, 0xFE, 0x3C, 0x00, - 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x00, 0x03, - 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x87, 0xC7, 0xC7, 0x80, 0xF3, 0xC0, 0x7B, - 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, 0x04, - 0xF7, 0x87, 0xF3, 0xC3, 0xF8, 0xF0, 0xF8, 0x7F, 0xFC, 0x1F, 0xFF, 0x83, - 0xF1, 0x80, 0x00, 0x00, 0xFF, 0xF8, 0xFF, 0xFC, 0xFF, 0xFC, 0xF0, 0x3E, - 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x3C, 0xFF, 0xF8, 0xFF, 0xF0, - 0xFF, 0xF8, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, - 0xF0, 0x3C, 0xF0, 0x1F, 0x0F, 0xC0, 0x7F, 0xE1, 0xFF, 0xE7, 0xC3, 0xEF, - 0x03, 0xDE, 0x00, 0x3C, 0x00, 0x7F, 0x00, 0x7F, 0xF0, 0x3F, 0xF8, 0x0F, - 0xF8, 0x01, 0xF0, 0x01, 0xFE, 0x03, 0xDE, 0x0F, 0xBF, 0xFE, 0x3F, 0xF8, - 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, - 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, - 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xF7, 0x87, 0x9F, 0xFE, 0x3F, 0xF0, 0x3F, - 0x00, 0x70, 0x0E, 0xF0, 0x3D, 0xE0, 0x79, 0xC0, 0xE3, 0x81, 0xC7, 0x87, - 0x87, 0x0E, 0x0E, 0x1C, 0x1E, 0x78, 0x1C, 0xE0, 0x39, 0xC0, 0x73, 0x80, - 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x70, - 0x38, 0x1C, 0xE0, 0xF0, 0x79, 0xE1, 0xF0, 0xF3, 0xC3, 0xE1, 0xE3, 0x87, - 0xC3, 0x87, 0x0F, 0x87, 0x0E, 0x3B, 0x9E, 0x1E, 0x77, 0x38, 0x1C, 0xEE, - 0x70, 0x39, 0xCC, 0xE0, 0x73, 0x99, 0xC0, 0x6E, 0x3F, 0x00, 0xFC, 0x7E, - 0x01, 0xF8, 0xFC, 0x03, 0xF0, 0xF8, 0x03, 0xE1, 0xE0, 0x07, 0x83, 0xC0, - 0x0F, 0x07, 0x80, 0xF0, 0x3C, 0xF0, 0xF9, 0xE1, 0xE1, 0xE7, 0x83, 0xCF, - 0x03, 0xFC, 0x03, 0xF0, 0x07, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x3F, 0x00, - 0xFF, 0x01, 0xFE, 0x07, 0x9E, 0x0F, 0x1E, 0x3C, 0x3C, 0xF8, 0x3D, 0xE0, - 0x78, 0xF0, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x78, 0x1E, - 0x78, 0x0E, 0x70, 0x0F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x03, 0xC0, 0x03, - 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, - 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF8, 0x07, 0x80, 0x78, 0x07, 0x80, 0x7C, 0x03, 0xC0, 0x3C, 0x03, - 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, 0xF3, 0xCF, - 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xFF, 0xFF, - 0xC0, 0xC1, 0x81, 0x03, 0x06, 0x04, 0x0C, 0x18, 0x10, 0x30, 0x60, 0x40, - 0xC1, 0x81, 0x03, 0x06, 0xFF, 0xFF, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, - 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0xFF, 0xFF, 0xC0, 0x0F, 0x00, - 0xF0, 0x0F, 0x01, 0xF8, 0x1B, 0x83, 0x9C, 0x39, 0xC3, 0x0C, 0x70, 0xE7, - 0x0E, 0xE0, 0x70, 0xFF, 0xFF, 0xFF, 0xFC, 0xE6, 0x30, 0x1F, 0x83, 0xFF, - 0x1F, 0xFD, 0xE1, 0xE0, 0x0F, 0x03, 0xF9, 0xFF, 0xDF, 0x1E, 0xF0, 0xF7, - 0x8F, 0xBF, 0xFC, 0xFF, 0xE3, 0xCF, 0x80, 0xF0, 0x07, 0x80, 0x3C, 0x01, - 0xE0, 0x0F, 0x00, 0x7B, 0xC3, 0xFF, 0x9F, 0xFE, 0xF8, 0xF7, 0x83, 0xFC, - 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xE3, 0xDF, 0xFE, 0xFF, 0xE7, 0xBE, - 0x00, 0x0F, 0x83, 0xFE, 0x7F, 0xF7, 0x8F, 0xF0, 0x7F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x77, 0x8F, 0x7F, 0xF3, 0xFE, 0x0F, 0x80, 0x00, 0x78, 0x03, - 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x8F, 0xBC, 0xFF, 0xEF, 0xFF, 0x78, 0xFF, - 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3D, 0xE3, 0xEF, 0xFF, 0x3F, - 0xF8, 0xFB, 0xC0, 0x1F, 0x81, 0xFE, 0x1F, 0xF9, 0xF1, 0xCF, 0x07, 0x7F, - 0xFB, 0xFF, 0xDE, 0x00, 0xF0, 0x03, 0xC3, 0x9F, 0xFC, 0x7F, 0xC0, 0xF8, - 0x00, 0x3E, 0xFD, 0xFB, 0xC7, 0x9F, 0xBF, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, - 0x8F, 0x1E, 0x3C, 0x78, 0xF0, 0x1E, 0x79, 0xFB, 0xDF, 0xFE, 0xF1, 0xFF, - 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0xC7, 0xDF, 0xFE, 0x7F, - 0xF1, 0xF7, 0x80, 0x3C, 0x01, 0xFF, 0x1E, 0x7F, 0xF0, 0xFE, 0x00, 0xF0, - 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x7C, 0xFF, 0xEF, 0xFF, 0xF9, - 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, - 0xFF, 0x0F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, - 0xF3, 0xC0, 0x00, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, - 0xF3, 0xCF, 0xFF, 0xFF, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, - 0x0F, 0x0F, 0xF1, 0xEF, 0x3C, 0xF7, 0x8F, 0xF0, 0xFF, 0x0F, 0xF8, 0xFF, - 0x8F, 0x3C, 0xF1, 0xCF, 0x1E, 0xF0, 0xEF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x8F, 0x9F, 0xFB, 0xFB, 0xFF, 0xFF, - 0xFC, 0xF8, 0xFF, 0x1E, 0x1F, 0xE3, 0xC3, 0xFC, 0x78, 0x7F, 0x8F, 0x0F, - 0xF1, 0xE1, 0xFE, 0x3C, 0x3F, 0xC7, 0x87, 0xF8, 0xF0, 0xFF, 0x1E, 0x1E, - 0xF7, 0xCF, 0xFE, 0xFF, 0xFF, 0x9F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, - 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xF0, 0x0F, 0x81, 0xFF, 0x1F, - 0xFC, 0xF1, 0xEF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7B, 0xC7, - 0x9F, 0xFC, 0x7F, 0xC0, 0xF8, 0x00, 0xF7, 0xC7, 0xFF, 0x3F, 0xFD, 0xF1, - 0xEF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0xC7, 0xBF, 0xFD, - 0xFF, 0xCF, 0x78, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x00, - 0x0F, 0x79, 0xFF, 0xDF, 0xFE, 0xF1, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, - 0x0F, 0xF0, 0x7B, 0xC7, 0xDF, 0xFE, 0x7F, 0xF1, 0xF7, 0x80, 0x3C, 0x01, - 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0xF3, 0xF7, 0xFF, 0xF8, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x1F, 0x87, 0xFC, 0xFF, 0xEF, - 0x0F, 0xF8, 0x0F, 0xF0, 0x7F, 0xE0, 0xFF, 0x01, 0xFF, 0x0F, 0xFF, 0xE7, - 0xFE, 0x1F, 0x80, 0x79, 0xE7, 0xBF, 0xFD, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, - 0x7D, 0xF3, 0xC0, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, - 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x1F, 0xFF, 0xF7, 0xFF, 0x3E, 0xF0, 0xF0, - 0x7B, 0x83, 0x9E, 0x1C, 0xF1, 0xE3, 0x8E, 0x1C, 0x70, 0x77, 0x83, 0xB8, - 0x1D, 0xC0, 0x7E, 0x03, 0xE0, 0x1F, 0x00, 0x70, 0x00, 0xF0, 0xE1, 0xDC, - 0x78, 0x77, 0x1F, 0x3D, 0xE7, 0xCF, 0x79, 0xB3, 0x8E, 0x6C, 0xE3, 0xBB, - 0x38, 0xEE, 0xFC, 0x1F, 0x3F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, 0x7C, 0x78, - 0x0E, 0x1E, 0x00, 0x78, 0xF3, 0xC7, 0x8F, 0x78, 0x3B, 0x81, 0xFC, 0x07, - 0xC0, 0x1E, 0x01, 0xF0, 0x1F, 0xC0, 0xEF, 0x0F, 0x78, 0xF1, 0xE7, 0x87, - 0x00, 0xF0, 0x7B, 0x83, 0x9E, 0x1C, 0x71, 0xE3, 0x8E, 0x1E, 0x70, 0x73, - 0x83, 0xB8, 0x1F, 0xC0, 0x7E, 0x03, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, - 0x3C, 0x07, 0xC0, 0x3E, 0x01, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, - 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xC0, - 0x1C, 0xF3, 0xCE, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xBC, 0xF0, 0xE3, 0x8E, - 0x38, 0xE3, 0x8E, 0x3C, 0xF1, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0xE3, 0x8F, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x0F, 0x3D, 0xC7, 0x1C, - 0x71, 0xC7, 0x1C, 0xF3, 0xCE, 0x00, 0x78, 0x0F, 0xE0, 0xCF, 0x30, 0x7F, - 0x01, 0xE0 }; - -const GFXglyph FreeSansBold12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' - { 0, 4, 17, 8, 3, -16 }, // 0x21 '!' - { 9, 10, 6, 11, 1, -17 }, // 0x22 '"' - { 17, 13, 16, 13, 0, -15 }, // 0x23 '#' - { 43, 13, 20, 13, 0, -17 }, // 0x24 '$' - { 76, 19, 17, 21, 1, -16 }, // 0x25 '%' - { 117, 16, 17, 17, 1, -16 }, // 0x26 '&' - { 151, 4, 6, 6, 1, -17 }, // 0x27 ''' - { 154, 6, 22, 8, 1, -17 }, // 0x28 '(' - { 171, 6, 22, 8, 1, -17 }, // 0x29 ')' - { 188, 7, 8, 9, 1, -17 }, // 0x2A '*' - { 195, 11, 11, 14, 2, -10 }, // 0x2B '+' - { 211, 4, 7, 6, 1, -2 }, // 0x2C ',' - { 215, 6, 3, 8, 1, -7 }, // 0x2D '-' - { 218, 4, 3, 6, 1, -2 }, // 0x2E '.' - { 220, 6, 17, 7, 0, -16 }, // 0x2F '/' - { 233, 12, 17, 13, 1, -16 }, // 0x30 '0' - { 259, 7, 17, 14, 3, -16 }, // 0x31 '1' - { 274, 12, 17, 13, 1, -16 }, // 0x32 '2' - { 300, 12, 17, 13, 1, -16 }, // 0x33 '3' - { 326, 11, 17, 13, 1, -16 }, // 0x34 '4' - { 350, 12, 17, 13, 1, -16 }, // 0x35 '5' - { 376, 12, 17, 13, 1, -16 }, // 0x36 '6' - { 402, 11, 17, 13, 1, -16 }, // 0x37 '7' - { 426, 12, 17, 13, 1, -16 }, // 0x38 '8' - { 452, 12, 17, 13, 1, -16 }, // 0x39 '9' - { 478, 4, 12, 6, 1, -11 }, // 0x3A ':' - { 484, 4, 16, 6, 1, -11 }, // 0x3B ';' - { 492, 12, 12, 14, 1, -11 }, // 0x3C '<' - { 510, 12, 9, 14, 1, -9 }, // 0x3D '=' - { 524, 12, 12, 14, 1, -11 }, // 0x3E '>' - { 542, 12, 18, 15, 2, -17 }, // 0x3F '?' - { 569, 21, 21, 23, 1, -17 }, // 0x40 '@' - { 625, 16, 18, 17, 0, -17 }, // 0x41 'A' - { 661, 14, 18, 17, 2, -17 }, // 0x42 'B' - { 693, 16, 18, 17, 1, -17 }, // 0x43 'C' - { 729, 15, 18, 17, 2, -17 }, // 0x44 'D' - { 763, 13, 18, 16, 2, -17 }, // 0x45 'E' - { 793, 12, 18, 15, 2, -17 }, // 0x46 'F' - { 820, 16, 18, 18, 1, -17 }, // 0x47 'G' - { 856, 14, 18, 18, 2, -17 }, // 0x48 'H' - { 888, 4, 18, 7, 2, -17 }, // 0x49 'I' - { 897, 11, 18, 14, 1, -17 }, // 0x4A 'J' - { 922, 16, 18, 17, 2, -17 }, // 0x4B 'K' - { 958, 11, 18, 15, 2, -17 }, // 0x4C 'L' - { 983, 17, 18, 21, 2, -17 }, // 0x4D 'M' - { 1022, 15, 18, 18, 2, -17 }, // 0x4E 'N' - { 1056, 17, 18, 19, 1, -17 }, // 0x4F 'O' - { 1095, 14, 18, 16, 2, -17 }, // 0x50 'P' - { 1127, 17, 19, 19, 1, -17 }, // 0x51 'Q' - { 1168, 16, 18, 17, 2, -17 }, // 0x52 'R' - { 1204, 15, 18, 16, 1, -17 }, // 0x53 'S' - { 1238, 12, 18, 15, 2, -17 }, // 0x54 'T' - { 1265, 14, 18, 18, 2, -17 }, // 0x55 'U' - { 1297, 15, 18, 16, 0, -17 }, // 0x56 'V' - { 1331, 23, 18, 23, 0, -17 }, // 0x57 'W' - { 1383, 15, 18, 16, 1, -17 }, // 0x58 'X' - { 1417, 16, 18, 15, 0, -17 }, // 0x59 'Y' - { 1453, 13, 18, 15, 1, -17 }, // 0x5A 'Z' - { 1483, 6, 23, 8, 2, -17 }, // 0x5B '[' - { 1501, 7, 17, 7, 0, -16 }, // 0x5C '\' - { 1516, 6, 23, 8, 0, -17 }, // 0x5D ']' - { 1534, 12, 11, 14, 1, -16 }, // 0x5E '^' - { 1551, 15, 2, 13, -1, 4 }, // 0x5F '_' - { 1555, 4, 3, 6, 0, -17 }, // 0x60 '`' - { 1557, 13, 13, 14, 1, -12 }, // 0x61 'a' - { 1579, 13, 18, 15, 2, -17 }, // 0x62 'b' - { 1609, 12, 13, 13, 1, -12 }, // 0x63 'c' - { 1629, 13, 18, 15, 1, -17 }, // 0x64 'd' - { 1659, 13, 13, 14, 1, -12 }, // 0x65 'e' - { 1681, 7, 18, 8, 1, -17 }, // 0x66 'f' - { 1697, 13, 18, 15, 1, -12 }, // 0x67 'g' - { 1727, 12, 18, 14, 2, -17 }, // 0x68 'h' - { 1754, 4, 18, 7, 2, -17 }, // 0x69 'i' - { 1763, 6, 23, 7, 0, -17 }, // 0x6A 'j' - { 1781, 12, 18, 14, 2, -17 }, // 0x6B 'k' - { 1808, 4, 18, 6, 2, -17 }, // 0x6C 'l' - { 1817, 19, 13, 21, 2, -12 }, // 0x6D 'm' - { 1848, 12, 13, 15, 2, -12 }, // 0x6E 'n' - { 1868, 13, 13, 15, 1, -12 }, // 0x6F 'o' - { 1890, 13, 18, 15, 2, -12 }, // 0x70 'p' - { 1920, 13, 18, 15, 1, -12 }, // 0x71 'q' - { 1950, 8, 13, 9, 2, -12 }, // 0x72 'r' - { 1963, 12, 13, 13, 1, -12 }, // 0x73 's' - { 1983, 6, 15, 8, 1, -14 }, // 0x74 't' - { 1995, 12, 13, 15, 2, -12 }, // 0x75 'u' - { 2015, 13, 13, 13, 0, -12 }, // 0x76 'v' - { 2037, 18, 13, 19, 0, -12 }, // 0x77 'w' - { 2067, 13, 13, 13, 0, -12 }, // 0x78 'x' - { 2089, 13, 18, 13, 0, -12 }, // 0x79 'y' - { 2119, 10, 13, 12, 1, -12 }, // 0x7A 'z' - { 2136, 6, 23, 9, 1, -17 }, // 0x7B '{' - { 2154, 2, 22, 7, 2, -17 }, // 0x7C '|' - { 2160, 6, 23, 9, 3, -17 }, // 0x7D '}' - { 2178, 12, 5, 12, 0, -7 } }; // 0x7E '~' - -const GFXfont FreeSansBold12pt7b PROGMEM = { - (uint8_t *)FreeSansBold12pt7bBitmaps, - (GFXglyph *)FreeSansBold12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2858 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h deleted file mode 100644 index d5927cd..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold18pt7b.h +++ /dev/null @@ -1,481 +0,0 @@ -const uint8_t FreeSansBold18pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE7, 0x39, 0xCE, 0x73, 0x80, - 0x0F, 0xFF, 0xFF, 0xF8, 0xF8, 0xFF, 0xC7, 0xFE, 0x3F, 0xF1, 0xFF, 0x8F, - 0xFC, 0x7D, 0xC1, 0xCE, 0x0E, 0x70, 0x70, 0x03, 0xC3, 0x80, 0x3C, 0x78, - 0x03, 0xC7, 0x80, 0x38, 0x78, 0x07, 0x87, 0x07, 0xFF, 0xFF, 0x7F, 0xFF, - 0xF7, 0xFF, 0xFF, 0x7F, 0xFF, 0xF0, 0xF0, 0xE0, 0x0F, 0x0E, 0x00, 0xF1, - 0xE0, 0x0F, 0x1E, 0x00, 0xE1, 0xE0, 0xFF, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, - 0xFF, 0xCF, 0xFF, 0xFC, 0x1C, 0x3C, 0x03, 0xC3, 0x80, 0x3C, 0x78, 0x03, - 0xC7, 0x80, 0x38, 0x78, 0x03, 0x87, 0x80, 0x00, 0x60, 0x00, 0x7F, 0x80, - 0x3F, 0xFC, 0x0F, 0xFF, 0xC3, 0xFF, 0xFC, 0xFC, 0xDF, 0x9F, 0x19, 0xFB, - 0xC3, 0x1F, 0x78, 0x63, 0xEF, 0x8C, 0x01, 0xFD, 0x80, 0x1F, 0xF0, 0x01, - 0xFF, 0xC0, 0x1F, 0xFE, 0x00, 0x7F, 0xE0, 0x03, 0xFE, 0x00, 0x67, 0xE0, - 0x0C, 0x7F, 0xE1, 0x8F, 0xFC, 0x31, 0xFF, 0xC6, 0x3E, 0xFC, 0xDF, 0x9F, - 0xFF, 0xF1, 0xFF, 0xFC, 0x0F, 0xFF, 0x00, 0x7F, 0x80, 0x01, 0x80, 0x00, - 0x30, 0x00, 0x06, 0x00, 0x0F, 0x00, 0x1C, 0x01, 0xFE, 0x00, 0xE0, 0x1F, - 0xF8, 0x0E, 0x00, 0xFF, 0xC0, 0x70, 0x0F, 0x0F, 0x07, 0x00, 0x70, 0x38, - 0x38, 0x03, 0x81, 0xC3, 0x80, 0x1C, 0x0E, 0x3C, 0x00, 0xF0, 0xF1, 0xC0, - 0x03, 0xFF, 0x1C, 0x00, 0x1F, 0xF8, 0xE0, 0x00, 0x7F, 0x8E, 0x00, 0x00, - 0xF0, 0x70, 0xF8, 0x00, 0x07, 0x1F, 0xF0, 0x00, 0x39, 0xFF, 0xC0, 0x03, - 0x8F, 0xFE, 0x00, 0x1C, 0xF0, 0x78, 0x01, 0xC7, 0x01, 0xC0, 0x0C, 0x38, - 0x0E, 0x00, 0xE1, 0xC0, 0x70, 0x06, 0x0F, 0x07, 0x80, 0x70, 0x3F, 0xF8, - 0x07, 0x01, 0xFF, 0xC0, 0x38, 0x07, 0xFC, 0x03, 0x80, 0x0F, 0x80, 0x01, - 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x80, 0x1F, 0x1E, - 0x00, 0x7C, 0x78, 0x01, 0xF1, 0xE0, 0x07, 0xE7, 0x80, 0x0F, 0xBC, 0x00, - 0x1F, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xF0, 0xF0, 0xFF, - 0xE3, 0xC7, 0xE7, 0xCF, 0x3F, 0x0F, 0xF8, 0xF8, 0x3F, 0xE3, 0xE0, 0x7F, - 0x8F, 0x80, 0xFC, 0x3F, 0x03, 0xF0, 0x7E, 0x3F, 0xE1, 0xFF, 0xFF, 0x83, - 0xFF, 0xFF, 0x07, 0xFE, 0x7E, 0x07, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFD, - 0xCE, 0x70, 0x07, 0x87, 0x83, 0xC3, 0xC1, 0xE1, 0xE0, 0xF0, 0x78, 0x78, - 0x3C, 0x1E, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, - 0x0F, 0x03, 0x81, 0xE0, 0xF0, 0x78, 0x1E, 0x0F, 0x03, 0x81, 0xE0, 0x70, - 0x3C, 0x0E, 0x07, 0x80, 0xF0, 0x38, 0x1E, 0x07, 0x83, 0xC0, 0xF0, 0x78, - 0x3C, 0x0F, 0x07, 0x83, 0xC0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, - 0xC1, 0xE0, 0xF0, 0x78, 0x78, 0x3C, 0x1E, 0x0F, 0x0F, 0x07, 0x87, 0x83, - 0xC1, 0xC1, 0xE0, 0xE0, 0xF0, 0x00, 0x06, 0x00, 0x60, 0x06, 0x07, 0x6E, - 0x7F, 0xE3, 0xFC, 0x0F, 0x01, 0xF8, 0x1F, 0x83, 0x9C, 0x10, 0x80, 0x03, - 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0x03, - 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x8C, 0x63, - 0x37, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x80, 0x01, - 0x81, 0xC0, 0xC0, 0x60, 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x06, 0x03, 0x01, - 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x01, - 0x81, 0xC0, 0xC0, 0x00, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, 0x87, 0xFF, - 0xC7, 0xE3, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, - 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, - 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xDF, 0x07, 0xCF, 0x83, 0xE7, 0xE3, - 0xF1, 0xFF, 0xF0, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x01, 0xC0, - 0xF0, 0x3C, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xC1, 0xF0, 0x7C, - 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, - 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC0, 0x07, 0xF0, 0x0F, 0xFE, 0x0F, 0xFF, - 0x8F, 0xFF, 0xE7, 0xE3, 0xF7, 0xE0, 0xFF, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, - 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x03, 0xF0, - 0x07, 0xF0, 0x07, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xC0, 0x07, 0xC0, - 0x03, 0xE0, 0x03, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFF, 0x7F, 0xFF, 0x80, - 0x07, 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFF, 0xCF, 0xC3, 0xF7, 0xC0, - 0xFB, 0xE0, 0x7D, 0xF0, 0x3E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x0F, 0x80, - 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, - 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, 0xF7, 0xC3, 0xF3, 0xFF, 0xF8, 0xFF, - 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x01, 0xFC, - 0x01, 0xFC, 0x03, 0xFC, 0x07, 0x7C, 0x07, 0x7C, 0x0E, 0x7C, 0x0E, 0x7C, - 0x1C, 0x7C, 0x18, 0x7C, 0x38, 0x7C, 0x70, 0x7C, 0x60, 0x7C, 0xE0, 0x7C, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7C, 0x00, 0x7C, - 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C, 0x1F, 0xFF, 0x0F, 0xFF, - 0x8F, 0xFF, 0xC7, 0xFF, 0xE3, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, - 0x00, 0x79, 0xF0, 0x3F, 0xFE, 0x1F, 0xFF, 0x8F, 0xFF, 0xE7, 0xC3, 0xF0, - 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xFE, 0x03, - 0xFF, 0x03, 0xFF, 0xC3, 0xF3, 0xFF, 0xF1, 0xFF, 0xF8, 0x3F, 0xF0, 0x07, - 0xE0, 0x00, 0x03, 0xF8, 0x03, 0xFF, 0x81, 0xFF, 0xF0, 0xFF, 0xFE, 0x3E, - 0x1F, 0x9F, 0x03, 0xE7, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0xF8, 0x3E, 0xFF, - 0x8F, 0xFF, 0xF3, 0xFF, 0xFE, 0xFE, 0x1F, 0xBF, 0x03, 0xFF, 0x80, 0x7F, - 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xF7, 0x80, 0x7D, 0xF0, 0x3E, 0x7E, - 0x1F, 0x8F, 0xFF, 0xC1, 0xFF, 0xF0, 0x3F, 0xF0, 0x03, 0xF0, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xF0, 0x00, 0xF8, - 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x1E, - 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x03, - 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x7C, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xE0, 0x07, 0xFC, 0x0F, 0xFF, 0x07, - 0xFF, 0xC7, 0xC3, 0xF3, 0xC0, 0xF9, 0xE0, 0x3C, 0xF0, 0x1E, 0x78, 0x1F, - 0x1E, 0x1F, 0x07, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0xE3, 0xF1, 0xF9, 0xF0, - 0x7D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, 0xF7, - 0xC3, 0xF3, 0xFF, 0xF8, 0xFF, 0xF8, 0x3F, 0xF8, 0x07, 0xF0, 0x00, 0x07, - 0xE0, 0x0F, 0xFC, 0x0F, 0xFF, 0x0F, 0xFF, 0xC7, 0xE3, 0xF7, 0xE0, 0xFB, - 0xE0, 0x3D, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x83, - 0xF7, 0xE3, 0xFB, 0xFF, 0xFC, 0xFF, 0xFE, 0x3F, 0xDF, 0x07, 0xCF, 0x80, - 0x07, 0x80, 0x03, 0xDF, 0x03, 0xE7, 0xC3, 0xE3, 0xFF, 0xF0, 0xFF, 0xF0, - 0x3F, 0xF0, 0x07, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x7F, 0xFF, 0xFF, 0xC6, 0x33, 0x9B, 0xD8, 0x00, 0x00, 0xC0, 0x00, - 0xF0, 0x01, 0xFC, 0x03, 0xFF, 0x03, 0xFF, 0x07, 0xFE, 0x0F, 0xFC, 0x03, - 0xF8, 0x00, 0xF0, 0x00, 0x3F, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x07, - 0xFF, 0x00, 0x3F, 0xF0, 0x01, 0xFC, 0x00, 0x1F, 0x00, 0x00, 0xC0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xC0, 0x00, 0x3C, 0x00, 0x0F, 0xE0, 0x03, 0xFF, 0x00, 0x3F, 0xF0, - 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xC0, 0x07, 0xF0, - 0x0F, 0xFC, 0x1F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF0, 0x0F, 0xE0, 0x03, 0xC0, - 0x00, 0xC0, 0x00, 0x00, 0x07, 0xF0, 0x07, 0xFF, 0x03, 0xFF, 0xF1, 0xFF, - 0xFC, 0x7E, 0x3F, 0xBF, 0x03, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, - 0xC0, 0x03, 0xF0, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, - 0x1F, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, - 0x00, 0xF8, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, - 0xFF, 0xFF, 0xC0, 0x01, 0xF8, 0x07, 0xF0, 0x03, 0xE0, 0x01, 0xF8, 0x07, - 0x80, 0x00, 0x7C, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x03, 0xE3, 0x9E, 0x3C, - 0x0F, 0xF7, 0x8E, 0x38, 0x1F, 0xFF, 0x0E, 0x78, 0x3E, 0x1F, 0x07, 0x70, - 0x38, 0x0F, 0x07, 0x70, 0x78, 0x0F, 0x07, 0xE0, 0x70, 0x0E, 0x07, 0xE0, - 0x70, 0x0E, 0x07, 0xE0, 0xE0, 0x0E, 0x07, 0xE0, 0xE0, 0x1E, 0x0F, 0xE0, - 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x3C, 0x1E, 0xE0, 0xF0, 0x3C, 0x3C, 0xF0, - 0xF0, 0xFC, 0x7C, 0x70, 0x7F, 0xFF, 0xF8, 0x78, 0x3F, 0xCF, 0xF0, 0x3C, - 0x1F, 0x07, 0xC0, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, - 0xC0, 0x01, 0x00, 0x07, 0xF0, 0x0F, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x01, 0xFF, - 0x80, 0x01, 0xFF, 0x80, 0x01, 0xF7, 0xC0, 0x03, 0xE7, 0xC0, 0x03, 0xE7, - 0xC0, 0x03, 0xE3, 0xE0, 0x07, 0xC3, 0xE0, 0x07, 0xC3, 0xE0, 0x07, 0xC1, - 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, - 0xF8, 0x1F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x3E, 0x00, 0x7C, 0x3E, 0x00, - 0x7E, 0x3E, 0x00, 0x3E, 0x7C, 0x00, 0x3E, 0x7C, 0x00, 0x3F, 0x7C, 0x00, - 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0xFF, 0xFF, 0x8F, 0xFF, 0xFC, 0xF8, - 0x07, 0xEF, 0x80, 0x3E, 0xF8, 0x03, 0xEF, 0x80, 0x3E, 0xF8, 0x03, 0xEF, - 0x80, 0x3E, 0xF8, 0x07, 0xCF, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, - 0xFF, 0xFF, 0xCF, 0x80, 0x7E, 0xF8, 0x01, 0xEF, 0x80, 0x1F, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x3E, 0xFF, 0xFF, 0xEF, 0xFF, - 0xFC, 0xFF, 0xFF, 0x8F, 0xFF, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0x80, - 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0xC3, 0xF8, 0x1F, 0x87, 0xE0, 0x1F, 0x9F, - 0x80, 0x1F, 0x3E, 0x00, 0x1F, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xE0, - 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x7D, 0xF0, 0x00, - 0xFB, 0xF0, 0x03, 0xF3, 0xF0, 0x0F, 0xC7, 0xF0, 0x3F, 0x87, 0xFF, 0xFE, - 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x01, 0xFE, 0x00, 0xFF, 0xFC, 0x07, - 0xFF, 0xF8, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x8F, 0x80, 0xFE, 0x7C, 0x01, - 0xF3, 0xE0, 0x07, 0xDF, 0x00, 0x3E, 0xF8, 0x01, 0xF7, 0xC0, 0x07, 0xFE, - 0x00, 0x3F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x03, - 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7D, 0xF0, - 0x03, 0xEF, 0x80, 0x3E, 0x7C, 0x07, 0xF3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, - 0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xDF, 0xFF, 0xFB, 0xFF, - 0xFF, 0x7F, 0xFF, 0xEF, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7F, 0xFF, 0xCF, 0xFF, - 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE7, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, - 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0xFF, 0xEF, 0xFF, 0xF7, - 0xFF, 0xFB, 0xFF, 0xFD, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, - 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x03, 0xFF, 0xE0, 0x07, 0xFF, - 0xF8, 0x0F, 0xFF, 0xFC, 0x1F, 0xC0, 0xFE, 0x3F, 0x00, 0x7E, 0x7E, 0x00, - 0x3F, 0x7C, 0x00, 0x1F, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xF8, 0x03, 0xFF, 0xF8, 0x03, - 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x00, 0x0F, 0x7C, 0x00, 0x1F, 0x7C, 0x00, - 0x1F, 0x7E, 0x00, 0x3F, 0x3F, 0x00, 0x7F, 0x1F, 0xC1, 0xFF, 0x0F, 0xFF, - 0xFF, 0x07, 0xFF, 0xE7, 0x03, 0xFF, 0xC7, 0x00, 0xFF, 0x07, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, - 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, - 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, - 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0x1F, - 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, - 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, - 0x00, 0x1F, 0x00, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, - 0xF8, 0x1F, 0xFC, 0x3F, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, 0x07, 0xE0, - 0xF8, 0x01, 0xFB, 0xE0, 0x0F, 0xCF, 0x80, 0x7E, 0x3E, 0x03, 0xF0, 0xF8, - 0x1F, 0x83, 0xE0, 0xFC, 0x0F, 0x87, 0xE0, 0x3E, 0x3F, 0x00, 0xF8, 0xF8, - 0x03, 0xE7, 0xE0, 0x0F, 0xBF, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xF0, 0x03, - 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x3F, 0xBF, 0x00, 0xFC, 0x7E, 0x03, 0xE0, - 0xFC, 0x0F, 0x81, 0xF8, 0x3E, 0x07, 0xE0, 0xF8, 0x0F, 0xC3, 0xE0, 0x1F, - 0x8F, 0x80, 0x7F, 0x3E, 0x00, 0xFC, 0xF8, 0x01, 0xFB, 0xE0, 0x03, 0xF0, - 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, - 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, - 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, - 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0x00, 0xFF, 0xFF, - 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, - 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFB, 0xC3, 0xDF, 0xFB, - 0xC3, 0xDF, 0xFB, 0xC3, 0xDF, 0xFB, 0xC3, 0xDF, 0xF9, 0xC7, 0xDF, 0xF9, - 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF9, 0xE7, 0x9F, 0xF8, - 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, 0xFF, 0x1F, 0xF8, - 0x7F, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, 0x7E, 0x1F, 0xF8, - 0x3E, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x1F, 0xFE, 0x01, 0xFF, 0xE0, 0x1F, - 0xFF, 0x01, 0xFF, 0xF0, 0x1F, 0xFF, 0x81, 0xFF, 0xF8, 0x1F, 0xFF, 0xC1, - 0xFF, 0xBC, 0x1F, 0xFB, 0xE1, 0xFF, 0x9F, 0x1F, 0xF9, 0xF1, 0xFF, 0x8F, - 0x9F, 0xF8, 0x79, 0xFF, 0x87, 0xDF, 0xF8, 0x3D, 0xFF, 0x83, 0xFF, 0xF8, - 0x1F, 0xFF, 0x81, 0xFF, 0xF8, 0x0F, 0xFF, 0x80, 0xFF, 0xF8, 0x07, 0xFF, - 0x80, 0x3F, 0xF8, 0x03, 0xFF, 0x80, 0x1F, 0x00, 0x7F, 0x00, 0x01, 0xFF, - 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x01, 0xFC, 0x1F, 0xC1, 0xF8, - 0x03, 0xF1, 0xF8, 0x00, 0xFC, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x7C, - 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, - 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0xF8, 0x00, 0x0F, - 0xBE, 0x00, 0x0F, 0x9F, 0x00, 0x07, 0xCF, 0xC0, 0x07, 0xE3, 0xF0, 0x07, - 0xE0, 0xFE, 0x0F, 0xE0, 0x7F, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, - 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xFC, 0x1F, 0xFF, 0xE3, 0xFF, 0xFE, - 0x7F, 0xFF, 0xEF, 0x80, 0xFF, 0xF0, 0x0F, 0xFE, 0x00, 0xFF, 0xC0, 0x1F, - 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x1F, 0xFC, 0x07, 0xEF, 0xFF, 0xFD, - 0xFF, 0xFF, 0x3F, 0xFF, 0xC7, 0xFF, 0xE0, 0xF8, 0x00, 0x1F, 0x00, 0x03, - 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, - 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, - 0xF0, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x01, 0xFC, 0x1F, 0xC1, 0xF8, - 0x03, 0xF1, 0xF8, 0x00, 0xFC, 0xF8, 0x00, 0x3E, 0x7C, 0x00, 0x1F, 0x7C, - 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, - 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0xF8, 0x01, 0x0F, - 0xBE, 0x01, 0xCF, 0x9F, 0x01, 0xFF, 0xCF, 0xC0, 0x7F, 0xE3, 0xF0, 0x1F, - 0xE0, 0xFE, 0x0F, 0xF0, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, - 0xEF, 0x80, 0x3F, 0xC3, 0x80, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x07, 0xFF, - 0xFE, 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xCF, 0x80, 0x3F, 0x7C, 0x00, 0xFB, - 0xE0, 0x07, 0xDF, 0x00, 0x3E, 0xF8, 0x01, 0xF7, 0xC0, 0x0F, 0x3E, 0x00, - 0xF9, 0xFF, 0xFF, 0x8F, 0xFF, 0xF8, 0x7F, 0xFF, 0xC3, 0xFF, 0xFF, 0x1F, - 0x00, 0xFC, 0xF8, 0x03, 0xE7, 0xC0, 0x1F, 0x3E, 0x00, 0xF9, 0xF0, 0x07, - 0xCF, 0x80, 0x3E, 0x7C, 0x01, 0xF3, 0xE0, 0x0F, 0x9F, 0x00, 0x7C, 0xF8, - 0x03, 0xF7, 0xC0, 0x0F, 0xC0, 0x07, 0xF8, 0x01, 0xFF, 0xF0, 0x3F, 0xFF, - 0x87, 0xFF, 0xFC, 0x7E, 0x0F, 0xCF, 0xC0, 0x7E, 0xF8, 0x03, 0xEF, 0x80, - 0x3E, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0xC0, 0x3F, - 0xFF, 0x81, 0xFF, 0xFC, 0x03, 0xFF, 0xE0, 0x01, 0xFF, 0x00, 0x03, 0xF0, - 0x00, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x03, 0xFF, 0xE0, 0x7E, - 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0x00, 0x3F, 0xC0, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0x00, 0x03, 0xE0, - 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, - 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, - 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, - 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, - 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, - 0x80, 0x1F, 0x7C, 0x03, 0xE7, 0xE0, 0x7E, 0x3F, 0xFF, 0xC3, 0xFF, 0xFC, - 0x0F, 0xFF, 0x00, 0x3F, 0xC0, 0xF8, 0x00, 0xFB, 0xE0, 0x03, 0xE7, 0xC0, - 0x1F, 0x9F, 0x00, 0x7C, 0x7C, 0x01, 0xF0, 0xF8, 0x07, 0xC3, 0xE0, 0x3E, - 0x0F, 0x80, 0xF8, 0x1E, 0x03, 0xE0, 0x7C, 0x1F, 0x01, 0xF0, 0x7C, 0x03, - 0xC1, 0xF0, 0x0F, 0x87, 0x80, 0x3E, 0x3E, 0x00, 0xF8, 0xF8, 0x01, 0xE3, - 0xC0, 0x07, 0xCF, 0x00, 0x1F, 0x7C, 0x00, 0x3D, 0xE0, 0x00, 0xFF, 0x80, - 0x03, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x00, - 0xF8, 0x00, 0x03, 0xE0, 0x00, 0xF8, 0x07, 0xC0, 0x3F, 0xF8, 0x07, 0xE0, - 0x3E, 0xFC, 0x07, 0xE0, 0x3E, 0x7C, 0x0F, 0xE0, 0x3E, 0x7C, 0x0F, 0xE0, - 0x7E, 0x7C, 0x0F, 0xE0, 0x7C, 0x7C, 0x0F, 0xF0, 0x7C, 0x3E, 0x0F, 0xF0, - 0x7C, 0x3E, 0x1E, 0xF0, 0x78, 0x3E, 0x1E, 0x70, 0xF8, 0x1E, 0x1E, 0x70, - 0xF8, 0x1E, 0x1E, 0x78, 0xF8, 0x1F, 0x1E, 0x78, 0xF0, 0x1F, 0x3C, 0x78, - 0xF0, 0x0F, 0x3C, 0x39, 0xF0, 0x0F, 0x3C, 0x3D, 0xF0, 0x0F, 0x3C, 0x3D, - 0xE0, 0x0F, 0xBC, 0x3D, 0xE0, 0x07, 0xF8, 0x3D, 0xE0, 0x07, 0xF8, 0x1F, - 0xE0, 0x07, 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, - 0xC0, 0x03, 0xF0, 0x0F, 0x80, 0x03, 0xF0, 0x0F, 0x80, 0x01, 0xF0, 0x0F, - 0x80, 0xFE, 0x01, 0xF9, 0xF8, 0x07, 0xE3, 0xF0, 0x3F, 0x0F, 0xC0, 0xF8, - 0x1F, 0x87, 0xE0, 0x7E, 0x3F, 0x00, 0xFC, 0xFC, 0x01, 0xF7, 0xE0, 0x07, - 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0x7F, 0x00, 0x00, 0xFC, - 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0x80, 0x03, 0xFF, 0x00, - 0x1F, 0x7E, 0x00, 0xFC, 0xF8, 0x03, 0xE3, 0xF0, 0x1F, 0x87, 0xC0, 0x7C, - 0x1F, 0x83, 0xF0, 0x3F, 0x1F, 0x80, 0xFC, 0x7E, 0x01, 0xFB, 0xF0, 0x07, - 0xF0, 0xFC, 0x01, 0xFF, 0xE0, 0x0F, 0x9F, 0x00, 0xFC, 0xFC, 0x07, 0xC3, - 0xE0, 0x7E, 0x1F, 0x83, 0xE0, 0x7C, 0x1F, 0x03, 0xF1, 0xF0, 0x0F, 0x8F, - 0x80, 0x7E, 0xF8, 0x01, 0xF7, 0xC0, 0x0F, 0xFC, 0x00, 0x3F, 0xE0, 0x00, - 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, - 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, - 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7E, 0x00, 0x1F, - 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF8, - 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x00, - 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, - 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, - 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x38, 0x06, - 0x01, 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, - 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, 0x0C, 0x03, 0x80, - 0x60, 0x18, 0x07, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, - 0xFF, 0xFF, 0x03, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0xF0, 0x0F, 0xF0, - 0x0F, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, - 0x78, 0x1E, 0x78, 0x1E, 0x70, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0x07, 0xF8, 0x07, - 0xFF, 0x83, 0xFF, 0xF1, 0xFF, 0xFE, 0x7C, 0x1F, 0xBE, 0x03, 0xE0, 0x00, - 0xF8, 0x01, 0xFE, 0x0F, 0xFF, 0x8F, 0xFF, 0xE7, 0xF8, 0xFB, 0xF0, 0x3E, - 0xF8, 0x0F, 0xBE, 0x07, 0xEF, 0xC3, 0xFB, 0xFF, 0xFE, 0x7F, 0xFF, 0x8F, - 0xFB, 0xF1, 0xF8, 0xFC, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, - 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE7, 0xE0, 0xFB, 0xFC, - 0x3F, 0xFF, 0xCF, 0xFF, 0xF3, 0xF8, 0x7E, 0xFC, 0x0F, 0xBF, 0x03, 0xFF, - 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xF0, - 0x3F, 0xFC, 0x0F, 0xBF, 0x87, 0xEF, 0xFF, 0xF3, 0xFF, 0xFC, 0xFB, 0xFC, - 0x3E, 0x7E, 0x00, 0x03, 0xF0, 0x07, 0xFE, 0x0F, 0xFF, 0x87, 0xFF, 0xE7, - 0xE1, 0xFB, 0xE0, 0x7F, 0xE0, 0x3F, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, - 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0xFB, 0xE0, 0x7D, 0xF8, 0x7E, 0x7F, - 0xFE, 0x3F, 0xFE, 0x0F, 0xFE, 0x00, 0xFC, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, - 0xF8, 0x1F, 0x1F, 0x0F, 0xFB, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0xBF, 0x8F, - 0xF7, 0xC0, 0x7F, 0xF8, 0x0F, 0xFE, 0x00, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, - 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFE, 0x03, 0xF7, 0xC0, 0x7E, 0xFC, 0x3F, - 0xCF, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, 0xFB, 0xE0, 0xFC, 0x7C, 0x07, 0xE0, - 0x07, 0xFE, 0x03, 0xFF, 0xE0, 0xFF, 0xF8, 0x7E, 0x1F, 0x1F, 0x03, 0xCF, - 0x80, 0xFB, 0xE0, 0x1E, 0xFF, 0xFF, 0xBF, 0xFF, 0xEF, 0xFF, 0xFB, 0xE0, - 0x00, 0xF8, 0x00, 0x3F, 0x03, 0xE7, 0xE1, 0xF9, 0xFF, 0xFC, 0x3F, 0xFE, - 0x07, 0xFF, 0x00, 0x7F, 0x00, 0x0F, 0xC7, 0xF3, 0xFC, 0xFF, 0x3E, 0x0F, - 0x83, 0xE3, 0xFE, 0xFF, 0xBF, 0xE3, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, - 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, - 0x0F, 0x80, 0x07, 0xC7, 0xC3, 0xFD, 0xF3, 0xFF, 0xFC, 0xFF, 0xFF, 0x7E, - 0x1F, 0xDF, 0x03, 0xFF, 0xC0, 0xFF, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, - 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xFC, 0x0F, 0xDF, 0x03, 0xF7, 0xE1, 0xFD, - 0xFF, 0xFF, 0x3F, 0xFF, 0xC7, 0xFD, 0xF0, 0x7C, 0x7C, 0x00, 0x1F, 0x00, - 0x07, 0xFF, 0x03, 0xF7, 0xE1, 0xF9, 0xFF, 0xFC, 0x3F, 0xFE, 0x01, 0xFE, - 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, - 0xC0, 0x03, 0xE0, 0x01, 0xF1, 0xF0, 0xFB, 0xFE, 0x7F, 0xFF, 0xBF, 0xFF, - 0xDF, 0xC3, 0xFF, 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, - 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, - 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xC0, 0xFF, 0xFF, 0xF0, - 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xC0, 0x3E, 0x7C, 0xF9, 0xF0, 0x00, 0x00, 0x1F, 0x3E, 0x7C, 0xF9, - 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, - 0x7C, 0xF9, 0xF3, 0xFF, 0xFF, 0xFE, 0xF8, 0xF8, 0x00, 0x7C, 0x00, 0x3E, - 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x3E, - 0xF8, 0x3E, 0x7C, 0x3F, 0x3E, 0x3F, 0x1F, 0x3F, 0x0F, 0x9F, 0x07, 0xDF, - 0x03, 0xFF, 0x81, 0xFF, 0xC0, 0xFF, 0xF0, 0x7F, 0xF8, 0x3F, 0x7E, 0x1F, - 0x1F, 0x0F, 0x87, 0xC7, 0xC3, 0xF3, 0xE0, 0xF9, 0xF0, 0x7E, 0xF8, 0x1F, - 0x7C, 0x0F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xF8, 0xF8, 0x3F, 0x1F, - 0x7F, 0x9F, 0xF3, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xC3, 0xF8, - 0x7F, 0xF8, 0x3F, 0x07, 0xFE, 0x07, 0xC0, 0xFF, 0xC0, 0xF8, 0x1F, 0xF8, - 0x1F, 0x03, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, 0xFC, 0x0F, 0x81, - 0xFF, 0x81, 0xF0, 0x3F, 0xF0, 0x3E, 0x07, 0xFE, 0x07, 0xC0, 0xFF, 0xC0, - 0xF8, 0x1F, 0xF8, 0x1F, 0x03, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, - 0x80, 0xF8, 0xF8, 0x7D, 0xFF, 0x3F, 0xFF, 0xDF, 0xFF, 0xEF, 0xE1, 0xFF, - 0xE0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, - 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, - 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xE0, 0x03, 0xF8, 0x01, 0xFF, 0xC0, 0x7F, - 0xFC, 0x1F, 0xFF, 0xC7, 0xF0, 0xFC, 0xF8, 0x0F, 0xBF, 0x01, 0xFF, 0xC0, - 0x1F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0xC0, - 0x7E, 0xF8, 0x0F, 0x9F, 0x87, 0xF1, 0xFF, 0xFC, 0x1F, 0xFF, 0x01, 0xFF, - 0xC0, 0x0F, 0xE0, 0x00, 0xF8, 0xF8, 0x3E, 0xFF, 0x8F, 0xFF, 0xF3, 0xFF, - 0xFC, 0xFE, 0x1F, 0xBF, 0x03, 0xEF, 0xC0, 0xFF, 0xE0, 0x1F, 0xF8, 0x07, - 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xFC, 0x0F, 0xFF, 0x03, 0xEF, - 0xE1, 0xFB, 0xFF, 0xFC, 0xFF, 0xFF, 0x3E, 0xFF, 0x0F, 0x8F, 0x83, 0xE0, - 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, - 0x3E, 0x00, 0x00, 0x07, 0xE3, 0xE1, 0xFF, 0x7C, 0x7F, 0xFF, 0x9F, 0xFF, - 0xF7, 0xF1, 0xFE, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, - 0xFF, 0x00, 0x7F, 0xE0, 0x0F, 0xFC, 0x01, 0xFF, 0xC0, 0x7E, 0xF8, 0x0F, - 0xDF, 0x83, 0xF9, 0xFF, 0xFF, 0x3F, 0xFF, 0xE1, 0xFF, 0x7C, 0x1F, 0x8F, - 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1F, - 0x00, 0x03, 0xE0, 0x00, 0x7C, 0xF8, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xE1, - 0xF8, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, - 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x00, 0x07, 0xF0, 0x0F, 0xFE, - 0x0F, 0xFF, 0x87, 0xFF, 0xE7, 0xE1, 0xF3, 0xE0, 0x79, 0xF8, 0x00, 0xFF, - 0x80, 0x3F, 0xFC, 0x1F, 0xFF, 0x83, 0xFF, 0xC0, 0x3F, 0xF0, 0x01, 0xFF, - 0xC0, 0x7D, 0xF0, 0x7E, 0xFF, 0xFE, 0x3F, 0xFF, 0x0F, 0xFF, 0x01, 0xFE, - 0x00, 0x3E, 0x1F, 0x0F, 0x87, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0x3E, 0x1F, - 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xF3, - 0xF8, 0xFC, 0x3E, 0xF8, 0x0F, 0xFC, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, - 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x0F, 0xFC, 0x07, - 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0xFF, 0xF0, 0xFF, 0xFF, - 0xFF, 0x7F, 0xFF, 0x9F, 0xF7, 0xC7, 0xE3, 0xE0, 0x7C, 0x07, 0xCF, 0x80, - 0xF9, 0xF0, 0x1F, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x7C, 0x1F, 0x07, 0x83, - 0xC0, 0xF8, 0xF8, 0x1F, 0x1F, 0x01, 0xE3, 0xC0, 0x3E, 0x78, 0x07, 0xDF, - 0x00, 0x7B, 0xC0, 0x0F, 0xF8, 0x01, 0xFF, 0x00, 0x1F, 0xC0, 0x03, 0xF8, - 0x00, 0x7F, 0x00, 0x07, 0xC0, 0x00, 0xFC, 0x1F, 0x03, 0xEF, 0x83, 0xE0, - 0x7D, 0xF0, 0x7E, 0x1F, 0x3E, 0x0F, 0xC3, 0xE3, 0xC3, 0xF8, 0x7C, 0x7C, - 0x7F, 0x0F, 0x0F, 0x8F, 0xF3, 0xE1, 0xF1, 0xDE, 0x7C, 0x1E, 0x7B, 0xCF, - 0x83, 0xEF, 0x39, 0xE0, 0x7D, 0xE7, 0x3C, 0x07, 0xB8, 0xFF, 0x80, 0xF7, - 0x1F, 0xE0, 0x1F, 0xE3, 0xFC, 0x03, 0xFC, 0x3F, 0x80, 0x3F, 0x07, 0xF0, - 0x07, 0xE0, 0xFC, 0x00, 0xFC, 0x1F, 0x80, 0x0F, 0x83, 0xF0, 0x00, 0xFC, - 0x1F, 0x9F, 0x07, 0xE7, 0xE3, 0xF0, 0xF8, 0xF8, 0x1F, 0x7E, 0x07, 0xDF, - 0x00, 0xFF, 0x80, 0x1F, 0xE0, 0x07, 0xF0, 0x00, 0xF8, 0x00, 0x7F, 0x00, - 0x3F, 0xE0, 0x0F, 0xF8, 0x07, 0xDF, 0x03, 0xF7, 0xE0, 0xF8, 0xF8, 0x7E, - 0x3F, 0x1F, 0x07, 0xEF, 0xC0, 0xF8, 0x7C, 0x03, 0xEF, 0x80, 0xF9, 0xF8, - 0x1F, 0x1F, 0x03, 0xE3, 0xE0, 0xF8, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, - 0x78, 0x0F, 0x1F, 0x01, 0xF3, 0xC0, 0x3E, 0x78, 0x03, 0xDF, 0x00, 0x7F, - 0xC0, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, - 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x07, 0xF8, - 0x00, 0xFE, 0x00, 0x1F, 0x80, 0x03, 0xE0, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, - 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, - 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, - 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x87, - 0xC7, 0xE3, 0xF1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, - 0xE0, 0xF0, 0xF9, 0xF8, 0xF0, 0x7E, 0x0F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, - 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xFC, 0x7E, 0x1F, 0x07, 0x80, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xE0, 0xF0, 0x7C, 0x3E, 0x1F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, - 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x7C, 0x1F, 0x83, 0xC7, 0xE7, 0xC3, - 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC7, 0xE3, 0xE1, - 0xF0, 0xF0, 0x00, 0x3C, 0x00, 0xFE, 0x0F, 0xFE, 0x1E, 0x1F, 0xFC, 0x0F, - 0xC0, 0x0F, 0x00 }; - -const GFXglyph FreeSansBold18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' - { 0, 5, 25, 12, 4, -24 }, // 0x21 '!' - { 16, 13, 9, 17, 2, -25 }, // 0x22 '"' - { 31, 20, 24, 19, 0, -23 }, // 0x23 '#' - { 91, 19, 29, 19, 0, -25 }, // 0x24 '$' - { 160, 29, 25, 31, 1, -24 }, // 0x25 '%' - { 251, 22, 25, 25, 2, -24 }, // 0x26 '&' - { 320, 5, 9, 9, 2, -25 }, // 0x27 ''' - { 326, 9, 33, 12, 1, -25 }, // 0x28 '(' - { 364, 9, 33, 12, 1, -25 }, // 0x29 ')' - { 402, 12, 11, 14, 0, -25 }, // 0x2A '*' - { 419, 16, 16, 20, 2, -15 }, // 0x2B '+' - { 451, 5, 11, 9, 2, -4 }, // 0x2C ',' - { 458, 9, 4, 12, 1, -10 }, // 0x2D '-' - { 463, 5, 5, 9, 2, -4 }, // 0x2E '.' - { 467, 9, 25, 10, 0, -24 }, // 0x2F '/' - { 496, 17, 25, 19, 1, -24 }, // 0x30 '0' - { 550, 10, 25, 19, 3, -24 }, // 0x31 '1' - { 582, 17, 25, 19, 1, -24 }, // 0x32 '2' - { 636, 17, 25, 19, 1, -24 }, // 0x33 '3' - { 690, 16, 25, 19, 2, -24 }, // 0x34 '4' - { 740, 17, 25, 19, 1, -24 }, // 0x35 '5' - { 794, 18, 25, 19, 1, -24 }, // 0x36 '6' - { 851, 17, 25, 19, 1, -24 }, // 0x37 '7' - { 905, 17, 25, 19, 1, -24 }, // 0x38 '8' - { 959, 17, 25, 19, 1, -24 }, // 0x39 '9' - { 1013, 5, 18, 9, 2, -17 }, // 0x3A ':' - { 1025, 5, 24, 9, 2, -17 }, // 0x3B ';' - { 1040, 18, 17, 20, 1, -16 }, // 0x3C '<' - { 1079, 17, 12, 20, 2, -13 }, // 0x3D '=' - { 1105, 18, 17, 20, 1, -16 }, // 0x3E '>' - { 1144, 18, 26, 21, 2, -25 }, // 0x3F '?' - { 1203, 32, 31, 34, 1, -25 }, // 0x40 '@' - { 1327, 24, 26, 24, 0, -25 }, // 0x41 'A' - { 1405, 20, 26, 25, 3, -25 }, // 0x42 'B' - { 1470, 23, 26, 25, 1, -25 }, // 0x43 'C' - { 1545, 21, 26, 25, 3, -25 }, // 0x44 'D' - { 1614, 19, 26, 23, 3, -25 }, // 0x45 'E' - { 1676, 17, 26, 22, 3, -25 }, // 0x46 'F' - { 1732, 24, 26, 27, 1, -25 }, // 0x47 'G' - { 1810, 20, 26, 26, 3, -25 }, // 0x48 'H' - { 1875, 5, 26, 11, 3, -25 }, // 0x49 'I' - { 1892, 16, 26, 20, 1, -25 }, // 0x4A 'J' - { 1944, 22, 26, 25, 3, -25 }, // 0x4B 'K' - { 2016, 17, 26, 22, 3, -25 }, // 0x4C 'L' - { 2072, 24, 26, 30, 3, -25 }, // 0x4D 'M' - { 2150, 20, 26, 26, 3, -25 }, // 0x4E 'N' - { 2215, 25, 26, 27, 1, -25 }, // 0x4F 'O' - { 2297, 19, 26, 24, 3, -25 }, // 0x50 'P' - { 2359, 25, 27, 27, 1, -25 }, // 0x51 'Q' - { 2444, 21, 26, 25, 3, -25 }, // 0x52 'R' - { 2513, 20, 26, 24, 2, -25 }, // 0x53 'S' - { 2578, 19, 26, 23, 2, -25 }, // 0x54 'T' - { 2640, 20, 26, 26, 3, -25 }, // 0x55 'U' - { 2705, 22, 26, 23, 1, -25 }, // 0x56 'V' - { 2777, 32, 26, 34, 1, -25 }, // 0x57 'W' - { 2881, 22, 26, 24, 1, -25 }, // 0x58 'X' - { 2953, 21, 26, 22, 1, -25 }, // 0x59 'Y' - { 3022, 19, 26, 21, 1, -25 }, // 0x5A 'Z' - { 3084, 8, 33, 12, 2, -25 }, // 0x5B '[' - { 3117, 10, 25, 10, 0, -24 }, // 0x5C '\' - { 3149, 8, 33, 12, 1, -25 }, // 0x5D ']' - { 3182, 16, 15, 20, 2, -23 }, // 0x5E '^' - { 3212, 21, 3, 19, -1, 5 }, // 0x5F '_' - { 3220, 7, 5, 9, 1, -25 }, // 0x60 '`' - { 3225, 18, 19, 20, 1, -18 }, // 0x61 'a' - { 3268, 18, 26, 22, 2, -25 }, // 0x62 'b' - { 3327, 17, 19, 20, 1, -18 }, // 0x63 'c' - { 3368, 19, 26, 22, 1, -25 }, // 0x64 'd' - { 3430, 18, 19, 20, 1, -18 }, // 0x65 'e' - { 3473, 10, 26, 12, 1, -25 }, // 0x66 'f' - { 3506, 18, 26, 21, 1, -18 }, // 0x67 'g' - { 3565, 17, 26, 21, 2, -25 }, // 0x68 'h' - { 3621, 5, 26, 10, 2, -25 }, // 0x69 'i' - { 3638, 7, 33, 10, 0, -25 }, // 0x6A 'j' - { 3667, 17, 26, 20, 2, -25 }, // 0x6B 'k' - { 3723, 5, 26, 9, 2, -25 }, // 0x6C 'l' - { 3740, 27, 19, 31, 2, -18 }, // 0x6D 'm' - { 3805, 17, 19, 21, 2, -18 }, // 0x6E 'n' - { 3846, 19, 19, 21, 1, -18 }, // 0x6F 'o' - { 3892, 18, 26, 22, 2, -18 }, // 0x70 'p' - { 3951, 19, 26, 22, 1, -18 }, // 0x71 'q' - { 4013, 11, 19, 14, 2, -18 }, // 0x72 'r' - { 4040, 17, 19, 19, 1, -18 }, // 0x73 's' - { 4081, 9, 23, 12, 1, -22 }, // 0x74 't' - { 4107, 17, 19, 21, 2, -18 }, // 0x75 'u' - { 4148, 19, 19, 19, 0, -18 }, // 0x76 'v' - { 4194, 27, 19, 27, 0, -18 }, // 0x77 'w' - { 4259, 18, 19, 19, 1, -18 }, // 0x78 'x' - { 4302, 19, 26, 19, 0, -18 }, // 0x79 'y' - { 4364, 16, 19, 18, 1, -18 }, // 0x7A 'z' - { 4402, 9, 33, 14, 1, -25 }, // 0x7B '{' - { 4440, 3, 33, 10, 4, -25 }, // 0x7C '|' - { 4453, 9, 33, 14, 3, -25 }, // 0x7D '}' - { 4491, 15, 6, 18, 1, -10 } }; // 0x7E '~' - -const GFXfont FreeSansBold18pt7b PROGMEM = { - (uint8_t *)FreeSansBold18pt7bBitmaps, - (GFXglyph *)FreeSansBold18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 5175 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h deleted file mode 100644 index aadc9a1..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold24pt7b.h +++ /dev/null @@ -1,784 +0,0 @@ -const uint8_t FreeSansBold24pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDF, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xC7, 0x0E, 0x1C, 0x00, 0x00, 0x07, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, - 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFD, 0xF0, 0x3E, - 0x7C, 0x0F, 0x9F, 0x03, 0xE3, 0x80, 0x70, 0xE0, 0x1C, 0x00, 0xF8, 0x3E, - 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x00, 0xF8, - 0x7C, 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC1, 0xFF, 0xFF, 0xFF, 0x7F, - 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, - 0x03, 0xE0, 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x1F, 0x00, 0x1F, 0x07, - 0xC0, 0x07, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, 0x03, 0xFF, - 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, - 0xFF, 0xFF, 0xFC, 0x0F, 0x87, 0xC0, 0x07, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, - 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC0, 0x07, 0xC3, 0xE0, 0x03, 0xE0, - 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x00, 0x38, 0x00, - 0x00, 0x1C, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, - 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0x73, 0xFE, 0x7F, 0x38, - 0xFF, 0x3F, 0x1C, 0x3F, 0xDF, 0x8E, 0x0F, 0xEF, 0xC7, 0x07, 0xF7, 0xE3, - 0x80, 0x03, 0xF9, 0xC0, 0x01, 0xFE, 0xE0, 0x00, 0x7F, 0xF0, 0x00, 0x3F, - 0xFC, 0x00, 0x0F, 0xFF, 0xC0, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x80, - 0x0F, 0xFF, 0xE0, 0x01, 0xFF, 0xF8, 0x00, 0xE7, 0xFC, 0x00, 0x71, 0xFF, - 0x00, 0x38, 0x7F, 0xFF, 0x1C, 0x1F, 0xFF, 0x8E, 0x0F, 0xFF, 0xC7, 0x07, - 0xFF, 0xE3, 0x87, 0xFB, 0xF9, 0xC3, 0xF9, 0xFE, 0xE7, 0xFC, 0x7F, 0xFF, - 0xFC, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x00, 0x3F, - 0xE0, 0x00, 0x03, 0x80, 0x00, 0x01, 0xC0, 0x00, 0x00, 0xE0, 0x00, 0x00, - 0x70, 0x00, 0x03, 0xE0, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x00, 0x78, 0x00, - 0x7F, 0xF8, 0x01, 0xE0, 0x01, 0xFF, 0xF0, 0x03, 0xC0, 0x07, 0xFF, 0xF0, - 0x0F, 0x00, 0x0F, 0x83, 0xE0, 0x1E, 0x00, 0x3E, 0x03, 0xE0, 0x78, 0x00, - 0x78, 0x03, 0xC0, 0xF0, 0x00, 0xF0, 0x07, 0x83, 0xC0, 0x01, 0xE0, 0x0F, - 0x07, 0x80, 0x03, 0xE0, 0x3E, 0x1E, 0x00, 0x03, 0xE0, 0xF8, 0x3C, 0x00, - 0x07, 0xFF, 0xF0, 0xF0, 0x00, 0x07, 0xFF, 0xC1, 0xE0, 0x00, 0x07, 0xFF, - 0x07, 0x80, 0x00, 0x07, 0xFC, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0xFF, 0x80, 0x00, - 0x07, 0x87, 0xFF, 0xC0, 0x00, 0x0F, 0x0F, 0xFF, 0x80, 0x00, 0x3C, 0x3F, - 0xFF, 0x80, 0x00, 0x78, 0xFC, 0x1F, 0x00, 0x01, 0xE1, 0xF0, 0x1F, 0x00, - 0x03, 0xC3, 0xC0, 0x1E, 0x00, 0x0F, 0x07, 0x80, 0x3C, 0x00, 0x1E, 0x0F, - 0x00, 0x78, 0x00, 0x78, 0x1F, 0x01, 0xF0, 0x00, 0xF0, 0x1F, 0x07, 0xC0, - 0x03, 0xC0, 0x3F, 0xFF, 0x80, 0x07, 0x80, 0x3F, 0xFE, 0x00, 0x1E, 0x00, - 0x7F, 0xF8, 0x00, 0x7C, 0x00, 0x3F, 0xE0, 0x00, 0xF0, 0x00, 0x1F, 0x00, - 0x00, 0x3F, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, - 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xCF, 0xC0, 0x00, 0xFE, - 0x1F, 0x00, 0x03, 0xF8, 0x7C, 0x00, 0x0F, 0xE1, 0xF0, 0x00, 0x3F, 0xC7, - 0xC0, 0x00, 0x7F, 0x3E, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xC0, - 0x00, 0x07, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, - 0x07, 0xFF, 0x03, 0xE0, 0x3F, 0xFE, 0x0F, 0x83, 0xFF, 0xF8, 0x3E, 0x1F, - 0xF3, 0xF1, 0xF8, 0x7F, 0x07, 0xE7, 0xE3, 0xFC, 0x1F, 0xFF, 0x0F, 0xE0, - 0x3F, 0xFC, 0x3F, 0x80, 0x7F, 0xF0, 0xFE, 0x01, 0xFF, 0x83, 0xF8, 0x03, - 0xFE, 0x0F, 0xF0, 0x0F, 0xF0, 0x3F, 0xE0, 0x7F, 0xE0, 0x7F, 0xC3, 0xFF, - 0xC1, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFB, 0xFC, - 0x0F, 0xFF, 0xC7, 0xF8, 0x1F, 0xFE, 0x0F, 0xE0, 0x0F, 0xE0, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x7C, 0xF8, 0xE1, 0xC0, 0x00, - 0xF0, 0x0F, 0x80, 0xF8, 0x07, 0xC0, 0x7C, 0x07, 0xE0, 0x3E, 0x03, 0xF0, - 0x1F, 0x80, 0xF8, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, - 0xC0, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, - 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x3F, 0x00, 0xF8, 0x07, 0xE0, 0x3F, 0x01, - 0xF8, 0x07, 0xC0, 0x3F, 0x01, 0xF8, 0x07, 0xC0, 0x3F, 0x00, 0xF8, 0x07, - 0xE0, 0x1F, 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0x7C, 0x01, 0xE0, 0x78, - 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, - 0x0F, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0xC0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, - 0x7E, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, - 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xE0, 0x3F, 0x01, 0xF8, - 0x0F, 0xC0, 0x7C, 0x07, 0xE0, 0x3F, 0x01, 0xF0, 0x1F, 0x80, 0xF8, 0x0F, - 0xC0, 0x7C, 0x07, 0xE0, 0x3E, 0x03, 0xF0, 0x1F, 0x01, 0xF0, 0x00, 0x03, - 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x06, 0x38, 0xDF, 0xFF, 0xFF, 0xFF, - 0x9F, 0xFE, 0x07, 0xC0, 0x1F, 0xC0, 0x3F, 0x80, 0xF7, 0x83, 0xC7, 0x87, - 0x8F, 0x02, 0x08, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, - 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, - 0x00, 0x3E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x1F, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, - 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x87, 0x0E, 0x1C, 0x78, 0xEF, 0xDF, 0x38, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x80, 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, - 0x70, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x38, - 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, - 0xE0, 0x07, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, - 0x03, 0x80, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, - 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF8, 0x1F, - 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xC3, 0xFC, 0x7F, 0x81, 0xFE, 0x7F, - 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x7F, - 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x81, 0xFE, 0x3F, - 0xC3, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x0F, - 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x3C, 0x01, 0xF0, - 0x07, 0xC0, 0x3F, 0x01, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, - 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, - 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, - 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x01, 0xFE, 0x00, 0x0F, 0xFF, 0x80, - 0x3F, 0xFF, 0x80, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x9F, - 0xE0, 0xFF, 0x7F, 0x80, 0xFF, 0xFE, 0x01, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, - 0x03, 0xFF, 0xF0, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7F, - 0xC0, 0x01, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x00, - 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x00, 0x01, - 0xFC, 0x00, 0x03, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, - 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0x01, 0xFE, 0x00, 0x0F, - 0xFF, 0x80, 0x7F, 0xFF, 0x81, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x8F, 0xFF, - 0xFF, 0x1F, 0xE1, 0xFF, 0x7F, 0x81, 0xFE, 0xFE, 0x01, 0xFD, 0xFC, 0x03, - 0xFB, 0xF8, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7F, - 0x00, 0x01, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0xC0, - 0x00, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0xC0, - 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, - 0x07, 0xFF, 0xF8, 0x0F, 0xF7, 0xF8, 0x3F, 0xCF, 0xFF, 0xFF, 0x9F, 0xFF, - 0xFE, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x07, 0xF8, - 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, - 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x7B, 0xF8, 0x01, - 0xEF, 0xE0, 0x0F, 0x3F, 0x80, 0x78, 0xFE, 0x01, 0xE3, 0xF8, 0x0F, 0x0F, - 0xE0, 0x38, 0x3F, 0x81, 0xE0, 0xFE, 0x07, 0x03, 0xF8, 0x3C, 0x0F, 0xE1, - 0xE0, 0x3F, 0x87, 0x00, 0xFE, 0x3C, 0x03, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, - 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x1F, 0xFF, 0xFC, 0x3F, - 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xC7, 0xFF, - 0xFF, 0x8F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, - 0x01, 0xF1, 0xF8, 0x03, 0xEF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, - 0x1F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFC, 0xFE, 0x07, 0xFC, 0x00, 0x07, 0xF8, - 0x00, 0x07, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, - 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xF8, - 0x0F, 0xF7, 0xF8, 0x3F, 0xEF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x0F, 0xFF, - 0xFC, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x00, 0xFF, - 0x00, 0x07, 0xFF, 0x80, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x81, 0xFF, 0xFF, - 0x87, 0xFF, 0xFF, 0x8F, 0xF0, 0xFF, 0x3F, 0xC0, 0xFE, 0x7F, 0x00, 0x00, - 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE3, 0xF0, 0x1F, - 0xDF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF9, 0xFF, - 0x87, 0xFB, 0xFC, 0x07, 0xF7, 0xF8, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, - 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0x7E, 0x00, 0xFE, 0xFC, 0x01, - 0xFD, 0xFC, 0x07, 0xFB, 0xF8, 0x0F, 0xE3, 0xFC, 0x7F, 0xC7, 0xFF, 0xFF, - 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xF8, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0x80, - 0x03, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0x00, - 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, - 0x7F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, - 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xF0, - 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x00, - 0x01, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, - 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x7F, 0x83, 0xFC, 0x7F, - 0x00, 0xFC, 0x7E, 0x00, 0xFC, 0x7E, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0x7E, - 0x00, 0xFC, 0x3F, 0x00, 0xF8, 0x3F, 0x83, 0xF8, 0x0F, 0xFF, 0xF0, 0x07, - 0xFF, 0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF8, 0x3F, 0xC3, 0xFC, 0x7F, - 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, - 0x00, 0xFE, 0x7F, 0x83, 0xFE, 0x7F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, - 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x07, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, - 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x3F, - 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xC3, 0xFC, 0x7F, 0x01, 0xFE, 0xFF, - 0x00, 0xFE, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0x7F, - 0x01, 0xFF, 0x7F, 0xC3, 0xFF, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x1F, - 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0x07, 0xFE, 0x7F, 0x01, 0xFC, 0x7E, 0x00, - 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x7F, 0x01, 0xFC, 0x7F, - 0x83, 0xFC, 0x7F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF0, 0x1F, - 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFE, 0x1C, 0x38, 0x71, 0xE7, 0xBF, 0x7C, 0xE0, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xF0, 0x01, - 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x7F, 0xFC, - 0x01, 0xFF, 0xC0, 0x03, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xE0, 0x00, - 0x1F, 0xF8, 0x00, 0x3F, 0xFE, 0x00, 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, - 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xE0, - 0x00, 0x03, 0xC0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x80, 0x00, - 0x01, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xFE, 0x00, - 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xF0, 0x00, 0x7F, 0xFC, - 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0xE0, - 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0xFF, 0xF8, 0x0F, 0xFF, 0x80, 0xFF, - 0xFC, 0x03, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x1E, 0x00, - 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xFF, 0xC0, 0x1F, - 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x7F, - 0x83, 0xFE, 0x7F, 0x01, 0xFE, 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x00, - 0x01, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, 0x00, - 0x3F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, 0x7F, 0x80, 0x00, 0x7F, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xE0, - 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, - 0x03, 0xFE, 0x01, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x7F, - 0x80, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x07, 0xF0, 0x00, - 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x3F, 0x00, 0x00, 0x00, - 0x3E, 0x0F, 0xC0, 0x07, 0xE3, 0xC3, 0xE1, 0xF0, 0x03, 0xFE, 0xF8, 0x3C, - 0x7E, 0x01, 0xFF, 0xFF, 0x07, 0x8F, 0x80, 0x7E, 0x1F, 0xC0, 0x7B, 0xF0, - 0x1F, 0x81, 0xF8, 0x0F, 0x7C, 0x03, 0xE0, 0x1F, 0x01, 0xEF, 0x80, 0xF8, - 0x03, 0xC0, 0x3F, 0xF0, 0x1E, 0x00, 0x78, 0x07, 0xFC, 0x07, 0xC0, 0x0F, - 0x00, 0xFF, 0x80, 0xF0, 0x01, 0xE0, 0x1F, 0xF0, 0x1E, 0x00, 0x38, 0x07, - 0xFE, 0x07, 0xC0, 0x0F, 0x00, 0xFF, 0xC0, 0xF8, 0x01, 0xE0, 0x1E, 0xF8, - 0x1F, 0x00, 0x38, 0x07, 0xDF, 0x03, 0xE0, 0x0F, 0x00, 0xF3, 0xF0, 0x7C, - 0x03, 0xE0, 0x3E, 0x3E, 0x0F, 0xC0, 0xFC, 0x0F, 0x87, 0xC0, 0xFC, 0x3F, - 0xC7, 0xF0, 0xFC, 0x1F, 0xFF, 0xFF, 0xFC, 0x0F, 0xC1, 0xFF, 0xEF, 0xFF, - 0x01, 0xFC, 0x1F, 0xF8, 0xFF, 0x80, 0x1F, 0xC0, 0xFC, 0x07, 0xC0, 0x01, - 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x60, 0x00, 0x01, 0xFF, 0xFF, - 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFF, 0xF0, - 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, - 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, - 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, - 0x3F, 0xFE, 0x00, 0x00, 0x3F, 0x7E, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, - 0x7F, 0x7F, 0x00, 0x00, 0x7E, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x80, 0x00, - 0xFE, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0x80, 0x01, 0xFC, 0x1F, 0xC0, 0x01, - 0xF8, 0x1F, 0xC0, 0x03, 0xF8, 0x0F, 0xE0, 0x03, 0xF8, 0x0F, 0xE0, 0x03, - 0xF0, 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF0, 0x07, 0xFF, 0xFF, 0xF0, 0x07, - 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, - 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, - 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x00, 0xFE, 0x3F, 0x80, 0x00, 0xFE, 0x7F, - 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0xFF, - 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, - 0x8F, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0x3F, 0x80, 0x1F, 0xF7, 0xF0, - 0x01, 0xFE, 0xFE, 0x00, 0x1F, 0xDF, 0xC0, 0x03, 0xFB, 0xF8, 0x00, 0x7F, - 0x7F, 0x00, 0x1F, 0xCF, 0xE0, 0x07, 0xF9, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, - 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xE3, - 0xFF, 0xFF, 0xFE, 0x7F, 0x00, 0x1F, 0xEF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, - 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, - 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xEF, 0xFF, 0xFF, - 0xFD, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xF8, 0xFF, - 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFF, - 0xF8, 0x00, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, - 0xE0, 0x3F, 0xFF, 0xFF, 0xC1, 0xFF, 0x81, 0xFF, 0x0F, 0xF8, 0x01, 0xFE, - 0x3F, 0xC0, 0x07, 0xF9, 0xFE, 0x00, 0x0F, 0xE7, 0xF8, 0x00, 0x1F, 0xDF, - 0xC0, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0F, 0xE0, - 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, - 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, - 0x7F, 0x00, 0x01, 0xFD, 0xFC, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x3F, 0xCF, - 0xF0, 0x00, 0xFE, 0x3F, 0xE0, 0x07, 0xF8, 0x7F, 0xE0, 0x7F, 0xC0, 0xFF, - 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, - 0xFE, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, - 0x0F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, - 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, 0xFE, 0x00, 0xFF, 0xCF, 0xE0, 0x03, - 0xFC, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x01, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, - 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, - 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, - 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, - 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x1F, - 0xEF, 0xE0, 0x01, 0xFE, 0xFE, 0x00, 0x3F, 0xCF, 0xE0, 0x0F, 0xFC, 0xFF, - 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, - 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, - 0xFF, 0xFF, 0xFB, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, - 0x07, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, - 0xFE, 0x7F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x9F, 0xC0, 0x00, 0x0F, 0xE0, - 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xFF, - 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, - 0xFC, 0xFF, 0xFF, 0xFC, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, - 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, - 0x07, 0xFE, 0x03, 0xFF, 0x0F, 0xF0, 0x01, 0xFE, 0x3F, 0xC0, 0x01, 0xFC, - 0x7F, 0x00, 0x01, 0xFD, 0xFE, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x00, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF8, - 0x00, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xC0, - 0x07, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0xBF, 0x80, 0x00, 0x3F, 0x7F, 0x00, - 0x00, 0x7E, 0xFF, 0x00, 0x01, 0xFC, 0xFF, 0x00, 0x03, 0xF9, 0xFF, 0x00, - 0x0F, 0xF1, 0xFF, 0x00, 0x3F, 0xE3, 0xFF, 0x83, 0xFF, 0xC3, 0xFF, 0xFF, - 0xFF, 0x83, 0xFF, 0xFF, 0xDF, 0x03, 0xFF, 0xFF, 0x9E, 0x03, 0xFF, 0xFE, - 0x3C, 0x01, 0xFF, 0xF0, 0x78, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x0F, - 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, - 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, - 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, - 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, - 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, - 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, - 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, - 0xFF, 0xC0, 0x01, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x01, - 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, - 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, - 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, - 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, - 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0xE0, - 0x1F, 0xFF, 0x80, 0x7F, 0xFE, 0x01, 0xFF, 0xF8, 0x07, 0xFF, 0xE0, 0x1F, - 0xFF, 0xC0, 0xFF, 0xFF, 0x87, 0xFD, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0x8F, - 0xFF, 0xFC, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0xFE, - 0x00, 0x0F, 0xF3, 0xF8, 0x00, 0x7F, 0x8F, 0xE0, 0x03, 0xFC, 0x3F, 0x80, - 0x1F, 0xE0, 0xFE, 0x00, 0xFF, 0x83, 0xF8, 0x07, 0xFC, 0x0F, 0xE0, 0x1F, - 0xE0, 0x3F, 0x80, 0xFF, 0x00, 0xFE, 0x07, 0xF8, 0x03, 0xF8, 0x3F, 0xC0, - 0x0F, 0xE1, 0xFE, 0x00, 0x3F, 0x8F, 0xF0, 0x00, 0xFE, 0x7F, 0x80, 0x03, - 0xFB, 0xFC, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0xFF, - 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x3F, 0xF7, - 0xF8, 0x00, 0xFF, 0x8F, 0xF0, 0x03, 0xFC, 0x3F, 0xC0, 0x0F, 0xE0, 0x7F, - 0x80, 0x3F, 0x80, 0xFF, 0x00, 0xFE, 0x01, 0xFE, 0x03, 0xF8, 0x07, 0xFC, - 0x0F, 0xE0, 0x0F, 0xF0, 0x3F, 0x80, 0x1F, 0xE0, 0xFE, 0x00, 0x3F, 0xC3, - 0xF8, 0x00, 0xFF, 0x8F, 0xE0, 0x01, 0xFE, 0x3F, 0x80, 0x03, 0xFC, 0xFE, - 0x00, 0x07, 0xFB, 0xF8, 0x00, 0x1F, 0xF0, 0xFE, 0x00, 0x01, 0xFC, 0x00, - 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, - 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, - 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, - 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, - 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, - 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xE0, 0x03, - 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xFC, 0x00, - 0x7F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0xC0, - 0x1F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFC, - 0x07, 0xFF, 0xFF, 0xBE, 0x03, 0xEF, 0xFF, 0xDF, 0x01, 0xF7, 0xFF, 0xEF, - 0x80, 0xFB, 0xFF, 0xF7, 0xC0, 0xFD, 0xFF, 0xFB, 0xF0, 0x7C, 0xFF, 0xFC, - 0xF8, 0x3E, 0x7F, 0xFE, 0x7C, 0x1F, 0x3F, 0xFF, 0x3E, 0x0F, 0x9F, 0xFF, - 0x9F, 0x8F, 0x8F, 0xFF, 0xC7, 0xC7, 0xC7, 0xFF, 0xE3, 0xE3, 0xE3, 0xFF, - 0xF1, 0xF1, 0xF1, 0xFF, 0xF8, 0xFC, 0xF8, 0xFF, 0xFC, 0x3E, 0xF8, 0x7F, - 0xFE, 0x1F, 0x7C, 0x3F, 0xFF, 0x0F, 0xBE, 0x1F, 0xFF, 0x87, 0xDF, 0x0F, - 0xFF, 0xC3, 0xFF, 0x07, 0xFF, 0xE0, 0xFF, 0x83, 0xFF, 0xF0, 0x7F, 0xC1, - 0xFF, 0xF8, 0x3F, 0xE0, 0xFF, 0xFC, 0x1F, 0xF0, 0x7F, 0xFE, 0x07, 0xF0, - 0x3F, 0xFF, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, - 0x7F, 0xFF, 0x80, 0x07, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xC0, 0x07, 0xFF, - 0xFC, 0x00, 0x7F, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, - 0x07, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xF8, 0x07, 0xFF, 0xEF, 0xC0, 0x7F, - 0xFE, 0xFE, 0x07, 0xFF, 0xE7, 0xE0, 0x7F, 0xFE, 0x7F, 0x07, 0xFF, 0xE3, - 0xF0, 0x7F, 0xFE, 0x1F, 0x87, 0xFF, 0xE1, 0xFC, 0x7F, 0xFE, 0x0F, 0xC7, - 0xFF, 0xE0, 0xFE, 0x7F, 0xFE, 0x07, 0xE7, 0xFF, 0xE0, 0x3F, 0x7F, 0xFE, - 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xE0, 0x0F, - 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xE0, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, - 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0xFF, 0xFE, 0x00, - 0x0F, 0xFF, 0xE0, 0x00, 0x7F, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, - 0x80, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, - 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x3F, 0xC0, - 0x0F, 0xF8, 0x3F, 0xC0, 0x01, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, - 0x00, 0x3F, 0xCF, 0xE0, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, 0xF7, 0xF8, - 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFE, - 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x0F, 0xFF, - 0xC0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x01, 0xFF, - 0xFC, 0x00, 0x01, 0xFE, 0xFE, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x7F, - 0x3F, 0xC0, 0x00, 0x7F, 0x8F, 0xE0, 0x00, 0x3F, 0x87, 0xF8, 0x00, 0x3F, - 0xC1, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, - 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, - 0xE0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, 0xFF, - 0xE0, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFC, 0xFF, - 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xEF, 0xE0, 0x0F, 0xFB, 0xF8, 0x00, 0xFF, - 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xF8, 0x00, - 0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF8, - 0x03, 0xFE, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF3, - 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x0F, 0xE0, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xE0, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, - 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x7F, 0xFF, - 0xE0, 0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, - 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x3F, 0xC0, 0x07, 0xF8, 0x3F, 0xC0, - 0x01, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, 0x3F, 0xCF, 0xE0, - 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x03, 0xFF, 0xF8, - 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x3F, 0xFF, - 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x07, 0xFF, - 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x21, 0xFE, - 0xFE, 0x00, 0x38, 0xFE, 0x7F, 0x00, 0x3E, 0x7F, 0x3F, 0xC0, 0x3F, 0xFF, - 0x8F, 0xE0, 0x0F, 0xFF, 0x87, 0xF8, 0x03, 0xFF, 0xC1, 0xFE, 0x00, 0xFF, - 0xC0, 0xFF, 0xC0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, - 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, - 0xCF, 0xC0, 0x01, 0xFF, 0x03, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, - 0xF8, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF8, - 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFC, 0xFE, 0x00, 0x3F, 0xEF, 0xE0, - 0x01, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, - 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0xFC, 0xFE, - 0x00, 0x3F, 0xCF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x8F, - 0xE0, 0x07, 0xF8, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, - 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, - 0xFE, 0x00, 0x1F, 0xCF, 0xE0, 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xCF, 0xE0, - 0x01, 0xFC, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x00, 0xFF, 0x00, 0xFF, 0xC0, - 0x00, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xF0, 0x3F, - 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFC, 0x7F, 0xC0, 0xFF, 0xCF, 0xF0, 0x03, - 0xFE, 0xFE, 0x00, 0x1F, 0xEF, 0xE0, 0x00, 0xFE, 0xFE, 0x00, 0x0F, 0xEF, - 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x7F, 0xFC, - 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xF0, - 0x07, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, - 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, - 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, - 0x00, 0x0F, 0xE7, 0xFC, 0x03, 0xFE, 0x7F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, - 0xFC, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFC, 0x00, - 0x07, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, - 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, - 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, - 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, - 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, - 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, - 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, - 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, - 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x80, 0x03, - 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, - 0x00, 0x3F, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, 0x1F, - 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, - 0x01, 0xFF, 0xFC, 0x00, 0x7F, 0xBF, 0xC0, 0x1F, 0xE7, 0xFC, 0x07, 0xFC, - 0x7F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, - 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x03, - 0xFF, 0xF0, 0x00, 0x1F, 0xDF, 0xC0, 0x01, 0xFC, 0xFE, 0x00, 0x0F, 0xE7, - 0xF0, 0x00, 0x7F, 0x1F, 0xC0, 0x03, 0xF0, 0xFE, 0x00, 0x3F, 0x87, 0xF0, - 0x01, 0xFC, 0x1F, 0xC0, 0x0F, 0xC0, 0xFE, 0x00, 0xFE, 0x03, 0xF0, 0x07, - 0xF0, 0x1F, 0x80, 0x3F, 0x00, 0xFE, 0x03, 0xF8, 0x03, 0xF0, 0x1F, 0xC0, - 0x1F, 0x80, 0xFC, 0x00, 0xFE, 0x07, 0xE0, 0x03, 0xF0, 0x7F, 0x00, 0x1F, - 0x83, 0xF0, 0x00, 0xFE, 0x1F, 0x80, 0x03, 0xF1, 0xF8, 0x00, 0x1F, 0x8F, - 0xC0, 0x00, 0xFC, 0x7E, 0x00, 0x03, 0xF3, 0xE0, 0x00, 0x1F, 0xBF, 0x00, - 0x00, 0xFD, 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0xFC, 0x00, 0x00, - 0xFF, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFF, - 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x1F, 0xFF, 0xE0, 0x07, 0xF0, 0x03, 0xFD, - 0xFC, 0x01, 0xFE, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0xE0, 0x0F, 0xE7, 0xF0, - 0x07, 0xFC, 0x01, 0xFC, 0x7F, 0x00, 0xFF, 0x80, 0x7F, 0x8F, 0xE0, 0x1F, - 0xF0, 0x0F, 0xE1, 0xFC, 0x07, 0xFF, 0x01, 0xFC, 0x3F, 0x80, 0xFB, 0xE0, - 0x3F, 0x83, 0xF0, 0x1F, 0x7C, 0x07, 0xE0, 0x7F, 0x03, 0xEF, 0x81, 0xFC, - 0x0F, 0xE0, 0x7D, 0xF0, 0x3F, 0x80, 0xFC, 0x1F, 0x9F, 0x07, 0xF0, 0x1F, - 0x83, 0xE3, 0xE0, 0xFC, 0x03, 0xF0, 0x7C, 0x7C, 0x1F, 0x80, 0x7F, 0x0F, - 0x8F, 0x87, 0xF0, 0x07, 0xE1, 0xF0, 0xF8, 0xFC, 0x00, 0xFC, 0x7E, 0x1F, - 0x1F, 0x80, 0x1F, 0x8F, 0x83, 0xE3, 0xF0, 0x01, 0xF9, 0xF0, 0x7C, 0x7E, - 0x00, 0x3F, 0x3E, 0x0F, 0x9F, 0x80, 0x07, 0xE7, 0xC0, 0xFB, 0xF0, 0x00, - 0xFD, 0xF0, 0x1F, 0x7E, 0x00, 0x0F, 0xBE, 0x03, 0xEF, 0xC0, 0x01, 0xFF, - 0xC0, 0x7D, 0xF0, 0x00, 0x3F, 0xF8, 0x0F, 0xFE, 0x00, 0x03, 0xFF, 0x00, - 0xFF, 0xC0, 0x00, 0x7F, 0xC0, 0x1F, 0xF0, 0x00, 0x0F, 0xF8, 0x03, 0xFE, - 0x00, 0x01, 0xFF, 0x00, 0x7F, 0xC0, 0x00, 0x1F, 0xE0, 0x07, 0xF8, 0x00, - 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x00, 0x07, - 0xE0, 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x07, 0xF9, 0xFF, 0x00, 0x3F, 0xC3, - 0xFC, 0x00, 0xFF, 0x07, 0xF8, 0x07, 0xF8, 0x1F, 0xE0, 0x1F, 0xC0, 0x3F, - 0xC0, 0xFF, 0x00, 0xFF, 0x07, 0xF8, 0x01, 0xFE, 0x1F, 0xE0, 0x03, 0xF8, - 0xFF, 0x00, 0x0F, 0xF3, 0xF8, 0x00, 0x1F, 0xDF, 0xE0, 0x00, 0x3F, 0xFF, - 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0x00, - 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x03, - 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x7F, 0x7F, 0x80, 0x03, 0xF8, - 0xFF, 0x00, 0x1F, 0xE1, 0xFC, 0x00, 0x7F, 0x07, 0xF8, 0x03, 0xFC, 0x0F, - 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0x7F, 0x83, 0xFC, 0x01, 0xFE, - 0x0F, 0xF0, 0x03, 0xFC, 0x7F, 0x80, 0x0F, 0xFB, 0xFE, 0x00, 0x1F, 0xE0, - 0xFF, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x7F, 0x9F, 0xE0, 0x03, 0xFC, 0xFF, - 0x00, 0x3F, 0xC3, 0xFC, 0x01, 0xFE, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x00, - 0xFF, 0x01, 0xFC, 0x07, 0xF0, 0x0F, 0xE0, 0x7F, 0x80, 0x3F, 0x83, 0xF8, - 0x01, 0xFC, 0x3F, 0xC0, 0x07, 0xF1, 0xFC, 0x00, 0x3F, 0x8F, 0xE0, 0x00, - 0xFE, 0xFE, 0x00, 0x07, 0xF7, 0xF0, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, - 0xF8, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, - 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, - 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, - 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xC0, 0x00, - 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFE, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, - 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, - 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, - 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, - 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x03, 0xC0, 0x07, 0x00, - 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x70, - 0x01, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0x70, 0x01, 0xC0, 0x07, - 0x00, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, - 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xE0, - 0x03, 0x80, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, - 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, - 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, - 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xF0, - 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xFC, 0x00, - 0x7D, 0xF0, 0x01, 0xF7, 0xC0, 0x0F, 0xDF, 0x80, 0x3E, 0x3E, 0x00, 0xF8, - 0xFC, 0x07, 0xE1, 0xF0, 0x1F, 0x07, 0xC0, 0xFC, 0x1F, 0x83, 0xE0, 0x3E, - 0x0F, 0x80, 0xFC, 0x7E, 0x01, 0xF1, 0xF0, 0x07, 0xC7, 0xC0, 0x1F, 0xBE, - 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3E, 0x0F, 0x83, 0xC0, 0xF0, 0x38, 0x1E, - 0x01, 0xFF, 0x00, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, - 0x7F, 0xFF, 0xF8, 0x7F, 0xFF, 0xFC, 0x7F, 0x03, 0xFC, 0x7E, 0x01, 0xFC, - 0x00, 0x01, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xFC, 0x03, 0xFF, 0xFC, - 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, 0xC1, 0xFC, 0xFF, 0x01, 0xFC, - 0xFE, 0x01, 0xFC, 0xFE, 0x03, 0xFC, 0xFE, 0x03, 0xFC, 0xFF, 0x07, 0xFC, - 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x3F, 0xFD, 0xFE, - 0x1F, 0xF0, 0xFF, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, - 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x0F, - 0xC0, 0x3F, 0x9F, 0xF8, 0x1F, 0xDF, 0xFF, 0x0F, 0xFF, 0xFF, 0xC7, 0xFF, - 0xFF, 0xE3, 0xFF, 0xFF, 0xF9, 0xFF, 0x83, 0xFE, 0xFF, 0x80, 0xFF, 0x7F, - 0x80, 0x3F, 0xBF, 0xC0, 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, - 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, - 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xDF, 0xF0, 0x1F, 0xEF, 0xFC, 0x1F, - 0xF7, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xF8, 0xFE, 0xFF, - 0xF8, 0x7F, 0x3F, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x07, - 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xC7, 0xFF, - 0xFF, 0x9F, 0xF0, 0x7F, 0xBF, 0xC0, 0x7F, 0x7F, 0x00, 0x7F, 0xFC, 0x00, - 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0xFD, - 0xFE, 0x03, 0xFB, 0xFE, 0x0F, 0xF3, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x87, - 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xE0, 0x01, 0xFE, 0x00, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, - 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x3F, 0x80, 0x7E, 0x1F, 0xC0, 0xFF, 0xCF, 0xE1, 0xFF, 0xF7, - 0xF1, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0x83, - 0xFF, 0x7F, 0x80, 0xFF, 0xBF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, - 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, - 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xDF, 0xC0, 0x1F, 0xEF, - 0xF0, 0x1F, 0xF7, 0xFC, 0x1F, 0xF9, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, - 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xBF, 0x81, 0xFF, 0x9F, 0xC0, 0x3F, 0x00, - 0x00, 0x00, 0xFE, 0x00, 0x03, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, - 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xC3, 0xF8, 0x7F, 0x80, 0xFC, 0x7F, 0x00, - 0xFC, 0x7F, 0x00, 0x7C, 0xFE, 0x00, 0x7E, 0xFE, 0x00, 0x7E, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x7F, 0x00, - 0xFE, 0x3F, 0xC1, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, - 0xF0, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x01, 0xFC, 0x1F, 0xF0, 0xFF, - 0xC3, 0xFF, 0x1F, 0xFC, 0x7F, 0x81, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, - 0x0F, 0xFF, 0xBF, 0xFE, 0xFF, 0xFB, 0xFF, 0xE1, 0xFC, 0x07, 0xF0, 0x1F, - 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, - 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, - 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x00, 0x00, 0xF8, 0x7F, 0x07, 0xFE, - 0x7F, 0x0F, 0xFF, 0x7F, 0x1F, 0xFF, 0x7F, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, - 0xFF, 0x7F, 0xC3, 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0x00, - 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, - 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFF, 0x00, - 0xFF, 0x7F, 0x81, 0xFF, 0x7F, 0xC3, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, - 0xFF, 0x1F, 0xFF, 0xFF, 0x0F, 0xFF, 0x7F, 0x07, 0xFE, 0x7F, 0x01, 0xF8, - 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x00, - 0xFF, 0x7F, 0x01, 0xFE, 0x7F, 0xC3, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, - 0xF8, 0x0F, 0xFF, 0xE0, 0x01, 0xFF, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, - 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x3F, 0x83, - 0xF8, 0xFF, 0xC7, 0xF7, 0xFF, 0xCF, 0xEF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, - 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x01, 0xFF, 0xFE, 0x01, 0xFF, 0xF8, - 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, - 0x3F, 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, - 0xFF, 0xF0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, - 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFC, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFC, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF0, 0x00, - 0x00, 0x00, 0x07, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, - 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, - 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, 0x1F, 0xC7, 0xF1, 0xFC, 0x7F, - 0x1F, 0xC7, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFE, 0xFE, 0x00, - 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, - 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, 0x00, 0xFE, - 0x00, 0x01, 0xFC, 0x03, 0xFB, 0xF8, 0x0F, 0xE7, 0xF0, 0x3F, 0xCF, 0xE0, - 0xFF, 0x1F, 0xC3, 0xFC, 0x3F, 0x87, 0xF0, 0x7F, 0x1F, 0xC0, 0xFE, 0x7F, - 0x01, 0xFD, 0xFC, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, - 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0xE0, 0x7F, 0xDF, 0xC0, 0xFF, 0x3F, 0xC1, - 0xFC, 0x3F, 0x83, 0xF8, 0x3F, 0x87, 0xF0, 0x7F, 0x8F, 0xE0, 0x7F, 0x1F, - 0xC0, 0xFF, 0x3F, 0x80, 0xFE, 0x7F, 0x01, 0xFE, 0xFE, 0x01, 0xFD, 0xFC, - 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFE, 0x1F, 0x80, 0x7E, - 0x0F, 0xE7, 0xFE, 0x1F, 0xF8, 0xFE, 0xFF, 0xF3, 0xFF, 0xCF, 0xFF, 0xFF, - 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x83, 0xFF, 0x0F, 0xFF, 0xF0, 0x1F, 0xE0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, - 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, - 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, - 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, - 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, - 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, - 0x01, 0xFC, 0x07, 0xFF, 0xE0, 0x1F, 0xC0, 0x7F, 0xFE, 0x01, 0xFC, 0x07, - 0xF0, 0xFE, 0x1F, 0xC1, 0xFC, 0xFF, 0xE3, 0xFB, 0xFF, 0xE7, 0xFF, 0xFF, - 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0xFF, - 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, 0xFF, - 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0xFE, - 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xE0, - 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0xFE, 0x00, - 0xFE, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0xF0, 0x01, 0xFF, 0xFE, 0x01, 0xFF, - 0xFF, 0x81, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFF, 0x07, 0xFC, 0xFF, - 0x01, 0xFE, 0x7F, 0x00, 0x7F, 0x7F, 0x80, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, - 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, - 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xBF, 0x80, 0x3F, 0x9F, 0xE0, 0x3F, - 0xCF, 0xF8, 0x3F, 0xE3, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, - 0xF0, 0x0F, 0xFF, 0xF0, 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0xFE, - 0x1F, 0x80, 0x7F, 0x3F, 0xF0, 0x3F, 0xBF, 0xFE, 0x1F, 0xDF, 0xFF, 0x8F, - 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF3, 0xFF, 0x07, 0xFD, 0xFF, 0x01, 0xFE, - 0xFF, 0x00, 0x7F, 0x7F, 0x80, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x07, - 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, - 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xBF, 0xE0, 0x3F, 0xDF, 0xF8, - 0x3F, 0xCF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE3, 0xFB, 0xFF, 0xE1, 0xFD, - 0xFF, 0xF0, 0xFE, 0x7F, 0xE0, 0x7F, 0x0F, 0xC0, 0x3F, 0x80, 0x00, 0x1F, - 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x1F, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x81, 0xFF, 0x9F, 0xC3, 0xFF, - 0xEF, 0xE1, 0xFF, 0xF7, 0xF1, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFD, 0xFF, - 0x07, 0xFE, 0xFF, 0x01, 0xFF, 0x7F, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xFF, - 0x80, 0x0F, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, - 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xBF, 0x80, 0x3F, - 0xDF, 0xE0, 0x3F, 0xEF, 0xF8, 0x3F, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, - 0xFC, 0x7F, 0xFE, 0xFE, 0x1F, 0xFF, 0x7F, 0x03, 0xFF, 0x3F, 0x80, 0x7E, - 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, - 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, - 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0xFE, 0x1F, 0xFC, - 0x7F, 0xFB, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0x80, - 0xFF, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, - 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, - 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x07, - 0xFF, 0xE0, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x7F, - 0x81, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0xC0, 0x00, 0x7F, - 0xFC, 0x00, 0x7F, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x07, - 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0x00, - 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x81, 0xFE, 0x7F, - 0xFF, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x01, - 0xFF, 0x80, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, - 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, - 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, - 0x83, 0xF8, 0x3F, 0x83, 0xF8, 0x3F, 0x83, 0xFF, 0x3F, 0xF1, 0xFF, 0x0F, - 0xF0, 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, - 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, - 0x7F, 0xFE, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, - 0xFF, 0xE0, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, - 0xFE, 0x00, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, - 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, 0xBF, 0x9F, 0xFF, 0x7F, 0x1F, - 0xFC, 0xFE, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0x9F, - 0xC0, 0x1F, 0xC7, 0xE0, 0x0F, 0xE3, 0xF8, 0x07, 0xE1, 0xFC, 0x07, 0xF0, - 0x7E, 0x03, 0xF8, 0x3F, 0x81, 0xF8, 0x1F, 0xC0, 0xFC, 0x07, 0xE0, 0xFE, - 0x03, 0xF8, 0x7E, 0x00, 0xFC, 0x3F, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x1F, - 0x80, 0x0F, 0xCF, 0xC0, 0x07, 0xE7, 0xE0, 0x03, 0xF7, 0xE0, 0x00, 0xFF, - 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0x07, - 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0xFC, 0x03, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0x01, 0xFF, 0xF8, 0x0F, 0xE0, - 0x3F, 0x3F, 0x03, 0xFE, 0x07, 0xE7, 0xE0, 0x7F, 0xC1, 0xFC, 0xFE, 0x0F, - 0xF8, 0x3F, 0x9F, 0xC1, 0xFF, 0x07, 0xE1, 0xF8, 0x3D, 0xE0, 0xFC, 0x3F, - 0x0F, 0xBE, 0x3F, 0x87, 0xF1, 0xF7, 0xC7, 0xE0, 0x7E, 0x3E, 0xF8, 0xFC, - 0x0F, 0xC7, 0xDF, 0x1F, 0x81, 0xF9, 0xF1, 0xE3, 0xF0, 0x3F, 0x3E, 0x3E, - 0xFC, 0x03, 0xF7, 0xC7, 0xDF, 0x80, 0x7E, 0xF8, 0xFB, 0xF0, 0x0F, 0xDE, - 0x1F, 0x7C, 0x00, 0xFF, 0xC1, 0xFF, 0x80, 0x1F, 0xF8, 0x3F, 0xF0, 0x03, - 0xFF, 0x07, 0xFE, 0x00, 0x7F, 0xC0, 0xFF, 0x80, 0x07, 0xF8, 0x1F, 0xF0, - 0x00, 0xFF, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, - 0xF0, 0x00, 0xFF, 0x00, 0xFF, 0x7F, 0x81, 0xFE, 0x3F, 0x81, 0xFC, 0x3F, - 0xC3, 0xFC, 0x1F, 0xC3, 0xF8, 0x0F, 0xE7, 0xF0, 0x0F, 0xEF, 0xF0, 0x07, - 0xFF, 0xE0, 0x03, 0xFF, 0xC0, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x00, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x03, - 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x0F, 0xE7, 0xF0, 0x1F, - 0xE7, 0xF0, 0x1F, 0xC3, 0xF8, 0x3F, 0xC3, 0xFC, 0x7F, 0x81, 0xFC, 0x7F, - 0x01, 0xFE, 0xFF, 0x00, 0xFF, 0x7F, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xDF, - 0xC0, 0x0F, 0xC7, 0xF0, 0x07, 0xE3, 0xF8, 0x07, 0xF1, 0xFC, 0x03, 0xF0, - 0x7F, 0x01, 0xF8, 0x3F, 0x81, 0xFC, 0x0F, 0xC0, 0xFC, 0x07, 0xF0, 0x7E, - 0x03, 0xF8, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0x7E, 0x1F, 0x80, 0x3F, 0x8F, - 0xC0, 0x0F, 0xCF, 0xC0, 0x07, 0xE7, 0xE0, 0x03, 0xFB, 0xF0, 0x00, 0xFD, - 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFC, 0x00, 0x07, - 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, - 0x1F, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, - 0x03, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x0F, 0xFC, 0x00, - 0x07, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7F, 0xFF, - 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xBF, - 0xFF, 0xFC, 0x00, 0x3F, 0xE0, 0x03, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, - 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, - 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, 0x1F, 0xE0, 0x01, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xF8, 0x01, 0xF8, 0x1F, 0xC1, 0xFE, 0x0F, 0xF0, 0xFF, - 0x87, 0xE0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, - 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3F, - 0x0F, 0xF0, 0x7F, 0x03, 0xF8, 0x1F, 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, - 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, - 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xE0, 0x3F, 0xE0, 0xFF, 0x07, 0xF8, 0x1F, - 0xC0, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFC, 0x07, 0xF0, 0x3F, 0xC1, 0xFE, 0x0F, 0xF8, 0x0F, 0xC0, 0x3E, 0x01, - 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, - 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x80, 0x7F, 0x81, 0xFC, - 0x0F, 0xE0, 0xFF, 0x0F, 0xC0, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, - 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, - 0x0F, 0xC3, 0xFE, 0x1F, 0xE0, 0xFF, 0x07, 0xF0, 0x3F, 0x00, 0x1F, 0x00, - 0x03, 0xFE, 0x00, 0x1F, 0xF8, 0x0F, 0xFF, 0xF0, 0xFF, 0x0F, 0xFF, 0xF0, - 0x1F, 0xF8, 0x00, 0x7F, 0x80, 0x00, 0xF8 }; - -const GFXglyph FreeSansBold24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' - { 0, 7, 34, 16, 5, -33 }, // 0x21 '!' - { 30, 18, 12, 22, 2, -33 }, // 0x22 '"' - { 57, 26, 33, 26, 0, -31 }, // 0x23 '#' - { 165, 25, 40, 26, 1, -34 }, // 0x24 '$' - { 290, 39, 34, 42, 1, -32 }, // 0x25 '%' - { 456, 30, 35, 34, 3, -33 }, // 0x26 '&' - { 588, 7, 12, 12, 3, -33 }, // 0x27 ''' - { 599, 13, 44, 16, 2, -33 }, // 0x28 '(' - { 671, 13, 44, 16, 1, -33 }, // 0x29 ')' - { 743, 15, 15, 18, 1, -33 }, // 0x2A '*' - { 772, 23, 22, 27, 2, -21 }, // 0x2B '+' - { 836, 7, 15, 12, 2, -6 }, // 0x2C ',' - { 850, 13, 6, 16, 1, -15 }, // 0x2D '-' - { 860, 7, 7, 12, 2, -6 }, // 0x2E '.' - { 867, 13, 34, 13, 0, -32 }, // 0x2F '/' - { 923, 24, 35, 26, 1, -33 }, // 0x30 '0' - { 1028, 14, 33, 26, 4, -32 }, // 0x31 '1' - { 1086, 23, 34, 26, 2, -33 }, // 0x32 '2' - { 1184, 23, 35, 26, 2, -33 }, // 0x33 '3' - { 1285, 22, 33, 26, 2, -32 }, // 0x34 '4' - { 1376, 23, 34, 26, 2, -32 }, // 0x35 '5' - { 1474, 23, 35, 26, 2, -33 }, // 0x36 '6' - { 1575, 23, 33, 26, 1, -32 }, // 0x37 '7' - { 1670, 24, 35, 26, 1, -33 }, // 0x38 '8' - { 1775, 24, 35, 26, 1, -33 }, // 0x39 '9' - { 1880, 7, 25, 12, 2, -24 }, // 0x3A ':' - { 1902, 7, 33, 12, 2, -24 }, // 0x3B ';' - { 1931, 23, 23, 27, 2, -22 }, // 0x3C '<' - { 1998, 23, 18, 27, 2, -19 }, // 0x3D '=' - { 2050, 23, 23, 27, 2, -22 }, // 0x3E '>' - { 2117, 24, 35, 29, 3, -34 }, // 0x3F '?' - { 2222, 43, 41, 46, 1, -34 }, // 0x40 '@' - { 2443, 32, 34, 33, 0, -33 }, // 0x41 'A' - { 2579, 27, 34, 33, 4, -33 }, // 0x42 'B' - { 2694, 30, 36, 34, 2, -34 }, // 0x43 'C' - { 2829, 28, 34, 34, 4, -33 }, // 0x44 'D' - { 2948, 25, 34, 31, 4, -33 }, // 0x45 'E' - { 3055, 24, 34, 30, 4, -33 }, // 0x46 'F' - { 3157, 31, 36, 36, 2, -34 }, // 0x47 'G' - { 3297, 27, 34, 35, 4, -33 }, // 0x48 'H' - { 3412, 7, 34, 15, 4, -33 }, // 0x49 'I' - { 3442, 22, 35, 27, 1, -33 }, // 0x4A 'J' - { 3539, 30, 34, 34, 4, -33 }, // 0x4B 'K' - { 3667, 23, 34, 29, 4, -33 }, // 0x4C 'L' - { 3765, 33, 34, 41, 4, -33 }, // 0x4D 'M' - { 3906, 28, 34, 35, 4, -33 }, // 0x4E 'N' - { 4025, 33, 36, 37, 2, -34 }, // 0x4F 'O' - { 4174, 26, 34, 32, 4, -33 }, // 0x50 'P' - { 4285, 33, 37, 37, 2, -34 }, // 0x51 'Q' - { 4438, 28, 34, 34, 4, -33 }, // 0x52 'R' - { 4557, 28, 36, 32, 2, -34 }, // 0x53 'S' - { 4683, 27, 34, 30, 2, -33 }, // 0x54 'T' - { 4798, 27, 35, 35, 4, -33 }, // 0x55 'U' - { 4917, 29, 34, 31, 1, -33 }, // 0x56 'V' - { 5041, 43, 34, 45, 1, -33 }, // 0x57 'W' - { 5224, 30, 34, 32, 1, -33 }, // 0x58 'X' - { 5352, 29, 34, 30, 1, -33 }, // 0x59 'Y' - { 5476, 26, 34, 29, 1, -33 }, // 0x5A 'Z' - { 5587, 11, 43, 16, 3, -33 }, // 0x5B '[' - { 5647, 14, 34, 13, -1, -32 }, // 0x5C '\' - { 5707, 11, 43, 16, 1, -33 }, // 0x5D ']' - { 5767, 22, 20, 27, 3, -32 }, // 0x5E '^' - { 5822, 28, 4, 26, -1, 6 }, // 0x5F '_' - { 5836, 9, 7, 12, 1, -35 }, // 0x60 '`' - { 5844, 24, 26, 27, 2, -24 }, // 0x61 'a' - { 5922, 25, 35, 29, 3, -33 }, // 0x62 'b' - { 6032, 23, 26, 26, 2, -24 }, // 0x63 'c' - { 6107, 25, 35, 29, 2, -33 }, // 0x64 'd' - { 6217, 24, 26, 27, 2, -24 }, // 0x65 'e' - { 6295, 14, 34, 16, 1, -33 }, // 0x66 'f' - { 6355, 24, 36, 29, 2, -24 }, // 0x67 'g' - { 6463, 23, 34, 28, 3, -33 }, // 0x68 'h' - { 6561, 7, 34, 13, 3, -33 }, // 0x69 'i' - { 6591, 10, 45, 13, 0, -33 }, // 0x6A 'j' - { 6648, 23, 34, 27, 3, -33 }, // 0x6B 'k' - { 6746, 7, 34, 13, 3, -33 }, // 0x6C 'l' - { 6776, 36, 25, 42, 3, -24 }, // 0x6D 'm' - { 6889, 23, 25, 29, 3, -24 }, // 0x6E 'n' - { 6961, 25, 26, 29, 2, -24 }, // 0x6F 'o' - { 7043, 25, 36, 29, 3, -24 }, // 0x70 'p' - { 7156, 25, 36, 29, 2, -24 }, // 0x71 'q' - { 7269, 15, 25, 18, 3, -24 }, // 0x72 'r' - { 7316, 24, 26, 26, 1, -24 }, // 0x73 's' - { 7394, 12, 32, 16, 2, -30 }, // 0x74 't' - { 7442, 23, 26, 29, 3, -24 }, // 0x75 'u' - { 7517, 25, 25, 25, 0, -24 }, // 0x76 'v' - { 7596, 35, 25, 37, 1, -24 }, // 0x77 'w' - { 7706, 24, 25, 26, 1, -24 }, // 0x78 'x' - { 7781, 25, 36, 26, 0, -24 }, // 0x79 'y' - { 7894, 21, 25, 24, 1, -24 }, // 0x7A 'z' - { 7960, 13, 43, 18, 2, -33 }, // 0x7B '{' - { 8030, 4, 44, 13, 5, -33 }, // 0x7C '|' - { 8052, 13, 43, 18, 3, -33 }, // 0x7D '}' - { 8122, 21, 8, 23, 1, -14 } }; // 0x7E '~' - -const GFXfont FreeSansBold24pt7b PROGMEM = { - (uint8_t *)FreeSansBold24pt7bBitmaps, - (GFXglyph *)FreeSansBold24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 8815 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h deleted file mode 100644 index aeea463..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBold9pt7b.h +++ /dev/null @@ -1,208 +0,0 @@ -const uint8_t FreeSansBold9pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFF, 0xFE, 0x48, 0x7E, 0xEF, 0xDF, 0xBF, 0x74, 0x40, 0x19, 0x86, - 0x67, 0xFD, 0xFF, 0x33, 0x0C, 0xC3, 0x33, 0xFE, 0xFF, 0x99, 0x86, 0x61, - 0x90, 0x10, 0x1F, 0x1F, 0xDE, 0xFF, 0x3F, 0x83, 0xC0, 0xFC, 0x1F, 0x09, - 0xFC, 0xFE, 0xF7, 0xF1, 0xE0, 0x40, 0x38, 0x10, 0x7C, 0x30, 0xC6, 0x20, - 0xC6, 0x40, 0xC6, 0x40, 0x7C, 0x80, 0x39, 0x9C, 0x01, 0x3E, 0x03, 0x63, - 0x02, 0x63, 0x04, 0x63, 0x0C, 0x3E, 0x08, 0x1C, 0x0E, 0x01, 0xF8, 0x3B, - 0x83, 0xB8, 0x3F, 0x01, 0xE0, 0x3E, 0x67, 0x76, 0xE3, 0xEE, 0x1C, 0xF3, - 0xC7, 0xFE, 0x3F, 0x70, 0xFF, 0xF4, 0x18, 0x63, 0x1C, 0x73, 0x8E, 0x38, - 0xE3, 0x8E, 0x18, 0x70, 0xC3, 0x06, 0x08, 0x61, 0x83, 0x0E, 0x38, 0x71, - 0xC7, 0x1C, 0x71, 0xC6, 0x38, 0xE3, 0x18, 0x40, 0x21, 0x3E, 0x45, 0x28, - 0x38, 0x70, 0xE7, 0xFF, 0xE7, 0x0E, 0x1C, 0xFC, 0x9C, 0xFF, 0xC0, 0xFC, - 0x08, 0xC4, 0x23, 0x10, 0x84, 0x62, 0x11, 0x88, 0x00, 0x3E, 0x3F, 0x9D, - 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xDD, 0xCF, 0xE3, 0xE0, - 0x08, 0xFF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x80, 0x3E, 0x3F, 0xB8, - 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0F, 0xF7, 0xF8, - 0x3C, 0x7F, 0xE7, 0xE7, 0x07, 0x0C, 0x0E, 0x07, 0x07, 0xE7, 0xE7, 0x7E, - 0x3C, 0x0E, 0x1E, 0x1E, 0x2E, 0x2E, 0x4E, 0x4E, 0x8E, 0xFF, 0xFF, 0x0E, - 0x0E, 0x0E, 0x7F, 0x3F, 0x90, 0x18, 0x0D, 0xE7, 0xFB, 0x9E, 0x07, 0x03, - 0x81, 0xF1, 0xFF, 0xE7, 0xC0, 0x3E, 0x3F, 0x9C, 0xFC, 0x0E, 0xE7, 0xFB, - 0xDF, 0xC7, 0xE3, 0xF1, 0xDD, 0xEF, 0xE3, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, - 0xE0, 0x60, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x80, 0x3F, - 0x1F, 0xEE, 0x3F, 0x87, 0xE3, 0xCF, 0xC7, 0xFB, 0xCF, 0xE1, 0xF8, 0x7F, - 0x3D, 0xFE, 0x3F, 0x00, 0x3E, 0x3F, 0xBD, 0xDC, 0x7E, 0x3F, 0x1F, 0xDE, - 0xFF, 0x3B, 0x81, 0xF9, 0xCF, 0xE3, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0xFC, - 0x00, 0x07, 0xE5, 0xE0, 0x00, 0x83, 0xC7, 0xDF, 0x0C, 0x07, 0x80, 0xF8, - 0x1F, 0x01, 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x70, - 0x3F, 0x03, 0xE0, 0x38, 0x7D, 0xF1, 0xE0, 0x80, 0x00, 0x3E, 0x3F, 0xB8, - 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x0E, 0x00, 0x03, 0x81, 0xC0, - 0x03, 0xF0, 0x0F, 0xFC, 0x1E, 0x0E, 0x38, 0x02, 0x70, 0xE9, 0x63, 0x19, - 0xC2, 0x19, 0xC6, 0x11, 0xC6, 0x33, 0xC6, 0x32, 0x63, 0xFE, 0x73, 0xDC, - 0x3C, 0x00, 0x1F, 0xF8, 0x07, 0xF0, 0x07, 0x00, 0xF0, 0x0F, 0x80, 0xF8, - 0x1D, 0x81, 0x9C, 0x19, 0xC3, 0x8C, 0x3F, 0xE7, 0xFE, 0x70, 0x66, 0x07, - 0xE0, 0x70, 0xFF, 0x9F, 0xFB, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0x3F, 0xF7, - 0x06, 0xE0, 0xFC, 0x1F, 0x83, 0xFF, 0xEF, 0xF8, 0x1F, 0x83, 0xFE, 0x78, - 0xE7, 0x07, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x07, 0x07, 0x78, - 0xF3, 0xFE, 0x1F, 0x80, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0x7E, - 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x0E, 0xE0, 0xEF, 0xFC, 0xFF, 0x80, - 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, 0xE0, 0x70, 0x38, - 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, - 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x00, 0x0F, 0x87, 0xF9, 0xE3, 0xB8, 0x3E, - 0x01, 0xC0, 0x38, 0xFF, 0x1F, 0xE0, 0x6E, 0x0D, 0xE3, 0x9F, 0xD0, 0xF2, - 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0xFF, 0xFF, 0x07, 0xE0, - 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE7, 0xE7, 0xE7, 0x7E, 0x3C, - 0xE0, 0xEE, 0x1C, 0xE3, 0x8E, 0x70, 0xEE, 0x0F, 0xC0, 0xFE, 0x0F, 0x70, - 0xE7, 0x0E, 0x38, 0xE1, 0xCE, 0x0E, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xE1, - 0xFF, 0x87, 0xFE, 0x1F, 0xEC, 0x7F, 0xB3, 0x7E, 0xCD, 0xFB, 0x37, 0xEC, - 0xDF, 0x9E, 0x7E, 0x79, 0xF9, 0xE7, 0xE7, 0x9C, 0xE0, 0xFE, 0x1F, 0xC3, - 0xFC, 0x7F, 0xCF, 0xD9, 0xFB, 0xBF, 0x37, 0xE7, 0xFC, 0x7F, 0x87, 0xF0, - 0xFE, 0x0E, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, 0xEE, 0x03, 0xF0, 0x1F, - 0x80, 0xFC, 0x07, 0xE0, 0x3B, 0x83, 0x9E, 0x3C, 0x7F, 0xC0, 0xF8, 0x00, - 0xFF, 0x9F, 0xFB, 0x87, 0xF0, 0x7E, 0x0F, 0xC3, 0xFF, 0xF7, 0xFC, 0xE0, - 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, - 0xEE, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE1, 0xBB, 0x8F, 0x9E, 0x3C, - 0x7F, 0xE0, 0xFB, 0x80, 0x08, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, - 0xEE, 0x0E, 0xFF, 0xCF, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0, - 0xF0, 0x3F, 0x0F, 0xFB, 0xC7, 0xF0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F, - 0x00, 0xFC, 0x1D, 0xC7, 0xBF, 0xE1, 0xF8, 0xFF, 0xFF, 0xC7, 0x03, 0x81, - 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0xFC, - 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, - 0xC7, 0xBF, 0xE1, 0xF0, 0x60, 0x67, 0x0E, 0x70, 0xE3, 0x0C, 0x30, 0xC3, - 0x9C, 0x19, 0x81, 0x98, 0x1F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x06, 0x00, - 0x61, 0xC3, 0xB8, 0xE1, 0x9C, 0x70, 0xCE, 0x3C, 0xE3, 0x36, 0x71, 0x9B, - 0x30, 0xED, 0x98, 0x36, 0x7C, 0x1B, 0x3C, 0x0F, 0x1E, 0x07, 0x8F, 0x01, - 0xC3, 0x80, 0xE1, 0x80, 0x70, 0xE7, 0x8E, 0x39, 0xC1, 0xF8, 0x1F, 0x80, - 0xF0, 0x07, 0x00, 0xF0, 0x1F, 0x81, 0x9C, 0x39, 0xC7, 0x0E, 0x70, 0xE0, - 0xE0, 0xFC, 0x39, 0xC7, 0x18, 0xC3, 0xB8, 0x36, 0x07, 0xC0, 0x70, 0x0E, - 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, 0xE0, 0xF0, - 0x70, 0x70, 0x70, 0x78, 0x38, 0x38, 0x1F, 0xFF, 0xF8, 0xFF, 0xEE, 0xEE, - 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xF0, 0x86, 0x10, 0x86, 0x10, 0x84, 0x30, - 0x84, 0x30, 0x80, 0xFF, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0xF0, - 0x18, 0x1C, 0x3C, 0x3E, 0x36, 0x66, 0x63, 0xC3, 0xFF, 0xC0, 0xCC, 0x3F, - 0x1F, 0xEE, 0x38, 0x0E, 0x3F, 0x9E, 0xEE, 0x3B, 0x9E, 0xFF, 0x9E, 0xE0, - 0xE0, 0x38, 0x0E, 0x03, 0xBC, 0xFF, 0xBC, 0xEE, 0x1F, 0x87, 0xE1, 0xF8, - 0x7F, 0x3B, 0xFE, 0xEF, 0x00, 0x1F, 0x3F, 0xDC, 0x7C, 0x0E, 0x07, 0x03, - 0x80, 0xE3, 0x7F, 0x8F, 0x00, 0x03, 0x81, 0xC0, 0xE7, 0x77, 0xFB, 0xBF, - 0x8F, 0xC7, 0xE3, 0xF1, 0xFD, 0xEF, 0xF3, 0xB8, 0x3E, 0x3F, 0x9C, 0xDC, - 0x3F, 0xFF, 0xFF, 0x81, 0xC3, 0x7F, 0x8F, 0x00, 0x3B, 0xDD, 0xFF, 0xB9, - 0xCE, 0x73, 0x9C, 0xE7, 0x00, 0x3B, 0xBF, 0xDD, 0xFC, 0x7E, 0x3F, 0x1F, - 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xFC, 0x77, 0xF1, 0xF0, 0xE0, 0x70, 0x38, - 0x1D, 0xEF, 0xFF, 0x9F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x38, - 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0x77, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x7F, 0xE0, 0xE0, 0x70, 0x38, 0x1C, 0x7E, 0x77, 0x73, 0xF1, 0xF8, 0xFE, - 0x77, 0x39, 0xDC, 0x6E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0x7B, - 0xFF, 0xFE, 0x39, 0xF8, 0xE7, 0xE3, 0x9F, 0x8E, 0x7E, 0x39, 0xF8, 0xE7, - 0xE3, 0x9F, 0x8E, 0x70, 0xEF, 0x7F, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, - 0xC7, 0xE3, 0xF1, 0xC0, 0x1E, 0x1F, 0xE7, 0x3B, 0x87, 0xE1, 0xF8, 0x7E, - 0x1D, 0xCE, 0x7F, 0x87, 0x80, 0xEF, 0x3F, 0xEF, 0x3B, 0x87, 0xE1, 0xF8, - 0x7E, 0x1F, 0xCE, 0xFF, 0xBB, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x00, 0x3B, - 0xBF, 0xFD, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xE0, - 0x70, 0x38, 0x1C, 0xEF, 0xFF, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x80, 0x3E, - 0x3F, 0xB8, 0xFC, 0x0F, 0xC3, 0xFC, 0x3F, 0xC7, 0xFF, 0x1F, 0x00, 0x73, - 0xBF, 0xF7, 0x39, 0xCE, 0x73, 0x9E, 0x70, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, - 0x3F, 0x1F, 0x8F, 0xC7, 0xFF, 0xBD, 0xC0, 0xE1, 0x98, 0x67, 0x39, 0xCC, - 0x33, 0x0D, 0xC3, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xE3, 0x1D, 0x9E, 0x66, - 0x79, 0x99, 0xE6, 0x77, 0xB8, 0xD2, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, - 0x73, 0x80, 0x73, 0x9C, 0xE3, 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xFC, - 0x73, 0x9C, 0xE0, 0xE1, 0xD8, 0x67, 0x39, 0xCE, 0x33, 0x0E, 0xC3, 0xE0, - 0x78, 0x1E, 0x03, 0x00, 0xC0, 0x70, 0x38, 0x0E, 0x00, 0xFE, 0xFE, 0x0E, - 0x1C, 0x38, 0x38, 0x70, 0xE0, 0xFF, 0xFF, 0x37, 0x66, 0x66, 0x6E, 0xE6, - 0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0x80, 0xCE, 0x66, 0x66, 0x67, 0x76, - 0x66, 0x66, 0x6E, 0xC0, 0x71, 0x8E }; - -const GFXglyph FreeSansBold9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 3, 13, 6, 2, -12 }, // 0x21 '!' - { 5, 7, 5, 9, 1, -12 }, // 0x22 '"' - { 10, 10, 12, 10, 0, -11 }, // 0x23 '#' - { 25, 9, 15, 10, 1, -13 }, // 0x24 '$' - { 42, 16, 13, 16, 0, -12 }, // 0x25 '%' - { 68, 12, 13, 13, 1, -12 }, // 0x26 '&' - { 88, 3, 5, 5, 1, -12 }, // 0x27 ''' - { 90, 6, 17, 6, 1, -12 }, // 0x28 '(' - { 103, 6, 17, 6, 0, -12 }, // 0x29 ')' - { 116, 5, 6, 7, 1, -12 }, // 0x2A '*' - { 120, 7, 8, 11, 2, -7 }, // 0x2B '+' - { 127, 3, 5, 4, 1, -1 }, // 0x2C ',' - { 129, 5, 2, 6, 0, -5 }, // 0x2D '-' - { 131, 3, 2, 4, 1, -1 }, // 0x2E '.' - { 132, 5, 13, 5, 0, -12 }, // 0x2F '/' - { 141, 9, 13, 10, 1, -12 }, // 0x30 '0' - { 156, 5, 13, 10, 2, -12 }, // 0x31 '1' - { 165, 9, 13, 10, 1, -12 }, // 0x32 '2' - { 180, 8, 13, 10, 1, -12 }, // 0x33 '3' - { 193, 8, 13, 10, 2, -12 }, // 0x34 '4' - { 206, 9, 13, 10, 1, -12 }, // 0x35 '5' - { 221, 9, 13, 10, 1, -12 }, // 0x36 '6' - { 236, 9, 13, 10, 0, -12 }, // 0x37 '7' - { 251, 10, 13, 10, 0, -12 }, // 0x38 '8' - { 268, 9, 13, 10, 1, -12 }, // 0x39 '9' - { 283, 3, 9, 4, 1, -8 }, // 0x3A ':' - { 287, 3, 12, 4, 1, -8 }, // 0x3B ';' - { 292, 9, 9, 11, 1, -8 }, // 0x3C '<' - { 303, 9, 6, 11, 1, -6 }, // 0x3D '=' - { 310, 9, 9, 11, 1, -8 }, // 0x3E '>' - { 321, 9, 13, 11, 1, -12 }, // 0x3F '?' - { 336, 16, 15, 18, 0, -12 }, // 0x40 '@' - { 366, 12, 13, 13, 0, -12 }, // 0x41 'A' - { 386, 11, 13, 13, 1, -12 }, // 0x42 'B' - { 404, 12, 13, 13, 1, -12 }, // 0x43 'C' - { 424, 12, 13, 13, 1, -12 }, // 0x44 'D' - { 444, 9, 13, 12, 1, -12 }, // 0x45 'E' - { 459, 9, 13, 11, 1, -12 }, // 0x46 'F' - { 474, 11, 13, 14, 1, -12 }, // 0x47 'G' - { 492, 11, 13, 13, 1, -12 }, // 0x48 'H' - { 510, 3, 13, 6, 1, -12 }, // 0x49 'I' - { 515, 8, 13, 10, 1, -12 }, // 0x4A 'J' - { 528, 12, 13, 13, 1, -12 }, // 0x4B 'K' - { 548, 8, 13, 11, 1, -12 }, // 0x4C 'L' - { 561, 14, 13, 16, 1, -12 }, // 0x4D 'M' - { 584, 11, 13, 14, 1, -12 }, // 0x4E 'N' - { 602, 13, 13, 14, 1, -12 }, // 0x4F 'O' - { 624, 11, 13, 12, 1, -12 }, // 0x50 'P' - { 642, 13, 14, 14, 1, -12 }, // 0x51 'Q' - { 665, 12, 13, 13, 1, -12 }, // 0x52 'R' - { 685, 11, 13, 12, 1, -12 }, // 0x53 'S' - { 703, 9, 13, 12, 2, -12 }, // 0x54 'T' - { 718, 11, 13, 13, 1, -12 }, // 0x55 'U' - { 736, 12, 13, 12, 0, -12 }, // 0x56 'V' - { 756, 17, 13, 17, 0, -12 }, // 0x57 'W' - { 784, 12, 13, 12, 0, -12 }, // 0x58 'X' - { 804, 11, 13, 12, 1, -12 }, // 0x59 'Y' - { 822, 9, 13, 11, 1, -12 }, // 0x5A 'Z' - { 837, 4, 17, 6, 1, -12 }, // 0x5B '[' - { 846, 5, 13, 5, 0, -12 }, // 0x5C '\' - { 855, 4, 17, 6, 0, -12 }, // 0x5D ']' - { 864, 8, 8, 11, 1, -12 }, // 0x5E '^' - { 872, 10, 1, 10, 0, 4 }, // 0x5F '_' - { 874, 3, 2, 5, 0, -12 }, // 0x60 '`' - { 875, 10, 10, 10, 1, -9 }, // 0x61 'a' - { 888, 10, 13, 11, 1, -12 }, // 0x62 'b' - { 905, 9, 10, 10, 1, -9 }, // 0x63 'c' - { 917, 9, 13, 11, 1, -12 }, // 0x64 'd' - { 932, 9, 10, 10, 1, -9 }, // 0x65 'e' - { 944, 5, 13, 6, 1, -12 }, // 0x66 'f' - { 953, 9, 14, 11, 1, -9 }, // 0x67 'g' - { 969, 9, 13, 11, 1, -12 }, // 0x68 'h' - { 984, 3, 13, 5, 1, -12 }, // 0x69 'i' - { 989, 4, 17, 5, 0, -12 }, // 0x6A 'j' - { 998, 9, 13, 10, 1, -12 }, // 0x6B 'k' - { 1013, 3, 13, 5, 1, -12 }, // 0x6C 'l' - { 1018, 14, 10, 16, 1, -9 }, // 0x6D 'm' - { 1036, 9, 10, 11, 1, -9 }, // 0x6E 'n' - { 1048, 10, 10, 11, 1, -9 }, // 0x6F 'o' - { 1061, 10, 14, 11, 1, -9 }, // 0x70 'p' - { 1079, 9, 14, 11, 1, -9 }, // 0x71 'q' - { 1095, 6, 10, 7, 1, -9 }, // 0x72 'r' - { 1103, 9, 10, 10, 1, -9 }, // 0x73 's' - { 1115, 5, 12, 6, 1, -11 }, // 0x74 't' - { 1123, 9, 10, 11, 1, -9 }, // 0x75 'u' - { 1135, 10, 10, 10, 0, -9 }, // 0x76 'v' - { 1148, 14, 10, 14, 0, -9 }, // 0x77 'w' - { 1166, 10, 10, 10, 0, -9 }, // 0x78 'x' - { 1179, 10, 14, 10, 0, -9 }, // 0x79 'y' - { 1197, 8, 10, 9, 1, -9 }, // 0x7A 'z' - { 1207, 4, 17, 7, 1, -12 }, // 0x7B '{' - { 1216, 1, 17, 5, 2, -12 }, // 0x7C '|' - { 1219, 4, 17, 7, 2, -12 }, // 0x7D '}' - { 1228, 8, 2, 9, 0, -4 } }; // 0x7E '~' - -const GFXfont FreeSansBold9pt7b PROGMEM = { - (uint8_t *)FreeSansBold9pt7bBitmaps, - (GFXglyph *)FreeSansBold9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1902 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h deleted file mode 100644 index fabbad3..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique12pt7b.h +++ /dev/null @@ -1,317 +0,0 @@ -const uint8_t FreeSansBoldOblique12pt7bBitmaps[] PROGMEM = { - 0x1C, 0x3C, 0x78, 0xE1, 0xC3, 0x8F, 0x1C, 0x38, 0x70, 0xC1, 0x83, 0x00, - 0x1C, 0x78, 0xF0, 0x71, 0xFC, 0xFE, 0x3B, 0x8E, 0xC3, 0x30, 0xC0, 0x01, - 0x8C, 0x07, 0x38, 0x0C, 0x61, 0xFF, 0xF3, 0xFF, 0xE7, 0xFF, 0x83, 0x9C, - 0x0E, 0x70, 0x1C, 0xE1, 0xFF, 0xF3, 0xFF, 0xC7, 0xFF, 0x83, 0x18, 0x0E, - 0x70, 0x18, 0xC0, 0x73, 0x80, 0x00, 0x40, 0x07, 0xF0, 0x3F, 0xF0, 0xFF, - 0xF3, 0xC9, 0xE7, 0xB3, 0xCF, 0x60, 0x1F, 0xC0, 0x3F, 0xC0, 0x3F, 0xE0, - 0x1F, 0xE0, 0x1B, 0xE0, 0x33, 0xDE, 0x47, 0xBC, 0x8F, 0x7F, 0x7C, 0x7F, - 0xF0, 0x7F, 0x80, 0x18, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x87, - 0x80, 0xC3, 0xF0, 0x61, 0xFE, 0x10, 0xE1, 0x8C, 0x30, 0x66, 0x0C, 0x3B, - 0x03, 0xFC, 0x80, 0x7E, 0x60, 0x0F, 0x30, 0x00, 0x18, 0x70, 0x0C, 0x7E, - 0x03, 0x1F, 0xC1, 0x8E, 0x30, 0xC3, 0x1C, 0x60, 0xFE, 0x18, 0x1F, 0x8C, - 0x07, 0x80, 0x01, 0xE0, 0x07, 0xF0, 0x1F, 0xE0, 0x79, 0xC0, 0xF3, 0x81, - 0xEE, 0x01, 0xF8, 0x01, 0xE0, 0x1F, 0xC6, 0x7B, 0xDD, 0xE3, 0xF7, 0x87, - 0xEF, 0x07, 0x9F, 0x1F, 0x3F, 0xFF, 0x3F, 0xDE, 0x3F, 0x1C, 0x7F, 0xEE, - 0xCC, 0x03, 0x83, 0x81, 0x81, 0xC1, 0xC0, 0xE0, 0xE0, 0x70, 0x70, 0x38, - 0x3C, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x18, 0x0E, 0x07, - 0x01, 0x80, 0x06, 0x03, 0x81, 0xC0, 0x60, 0x38, 0x1C, 0x0E, 0x07, 0x03, - 0x81, 0xC0, 0xE0, 0xE0, 0x70, 0x38, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x06, - 0x07, 0x07, 0x00, 0x0C, 0x0C, 0x4F, 0xFF, 0x1C, 0x3C, 0x6C, 0x44, 0x03, - 0x80, 0x38, 0x07, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x0E, - 0x00, 0xE0, 0x0C, 0x00, 0x7B, 0xDC, 0x23, 0x33, 0x00, 0x7F, 0xFF, 0xF0, - 0x7F, 0xE0, 0x00, 0xC0, 0x30, 0x18, 0x04, 0x03, 0x00, 0x80, 0x60, 0x10, - 0x0C, 0x02, 0x01, 0x80, 0x40, 0x30, 0x08, 0x06, 0x01, 0x00, 0xC0, 0x00, - 0x03, 0xC0, 0x7F, 0x87, 0xFC, 0x78, 0xF3, 0xC7, 0xBC, 0x3D, 0xE1, 0xEF, - 0x0F, 0xF0, 0x7F, 0x87, 0xBC, 0x3D, 0xE1, 0xEF, 0x1E, 0x78, 0xF3, 0xFF, - 0x0F, 0xF0, 0x3E, 0x00, 0x03, 0x83, 0x83, 0xCF, 0xEF, 0xF0, 0x78, 0x38, - 0x1C, 0x0E, 0x0F, 0x07, 0x03, 0x81, 0xC1, 0xE0, 0xF0, 0x70, 0x38, 0x00, - 0x03, 0xF0, 0x0F, 0xF8, 0x7F, 0xF8, 0xF1, 0xF3, 0xC1, 0xE7, 0x83, 0xC0, - 0x07, 0x80, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x00, 0x7C, 0x01, 0xE0, - 0x07, 0x00, 0x1F, 0xFC, 0x3F, 0xF8, 0xFF, 0xF0, 0x07, 0xE0, 0xFF, 0x8F, - 0xFE, 0xF8, 0xF7, 0x87, 0x80, 0x78, 0x0F, 0x80, 0xFC, 0x07, 0xE0, 0x0F, - 0x80, 0x3C, 0x01, 0xEF, 0x0F, 0x78, 0xF3, 0xFF, 0x8F, 0xF8, 0x3F, 0x00, - 0x00, 0x78, 0x07, 0xC0, 0x7E, 0x03, 0xF0, 0x37, 0x03, 0x38, 0x31, 0xC3, - 0x9E, 0x38, 0xF1, 0x87, 0x1F, 0xFE, 0xFF, 0xF7, 0xFF, 0x80, 0xF0, 0x07, - 0x00, 0x38, 0x03, 0xC0, 0x07, 0xFC, 0x1F, 0xF0, 0xFF, 0xC3, 0x00, 0x1C, - 0x00, 0x7F, 0x81, 0xFF, 0x0F, 0xFE, 0x38, 0xF8, 0x01, 0xE0, 0x07, 0x80, - 0x1E, 0xF0, 0xF3, 0xC7, 0xCF, 0xFE, 0x1F, 0xF0, 0x3F, 0x00, 0x03, 0xE0, - 0x7F, 0x87, 0xFE, 0x78, 0xF3, 0xC0, 0x3D, 0xE1, 0xFF, 0x8F, 0xFE, 0xF8, - 0xF7, 0xC7, 0xBC, 0x3D, 0xE1, 0xEF, 0x1E, 0x7C, 0xF3, 0xFF, 0x0F, 0xF0, - 0x1F, 0x00, 0x7F, 0xFB, 0xFF, 0xDF, 0xFE, 0x00, 0xE0, 0x0E, 0x00, 0xE0, - 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0x70, 0x07, 0x00, 0x78, 0x03, 0x80, 0x3C, - 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x00, 0x03, 0xF0, 0x1F, 0xE0, 0xFF, 0xC7, - 0x8F, 0x1C, 0x3C, 0x71, 0xE0, 0xFF, 0x03, 0xF8, 0x3F, 0xF1, 0xF1, 0xE7, - 0x87, 0xBC, 0x1E, 0xF0, 0x7B, 0xE3, 0xCF, 0xFF, 0x1F, 0xF8, 0x1F, 0x80, - 0x03, 0xE0, 0x3F, 0xE1, 0xFF, 0x8F, 0x9F, 0x3C, 0x3D, 0xE0, 0xF7, 0x83, - 0xDE, 0x1F, 0x78, 0xFD, 0xFF, 0xE3, 0xFF, 0x87, 0xDE, 0x00, 0xF3, 0xC7, - 0x8F, 0xFE, 0x1F, 0xF0, 0x3F, 0x00, 0x1C, 0xF3, 0x80, 0x00, 0x00, 0x00, - 0x01, 0xCF, 0x38, 0x0E, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, - 0xE3, 0x81, 0x06, 0x18, 0x60, 0x00, 0x00, 0x01, 0xC0, 0x7E, 0x1F, 0xE7, - 0xF8, 0x7E, 0x03, 0xE0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x00, 0x78, 0x00, - 0xC0, 0x3F, 0xFC, 0xFF, 0xF3, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, - 0xFF, 0x9F, 0xFC, 0x7F, 0xF0, 0x30, 0x01, 0xE0, 0x0F, 0xE0, 0x3F, 0xC0, - 0x7F, 0x80, 0x7C, 0x07, 0xE1, 0xFE, 0x7F, 0x87, 0xE0, 0x38, 0x00, 0x00, - 0x00, 0x0F, 0xC1, 0xFF, 0x8F, 0xFC, 0xF1, 0xFF, 0x07, 0xF0, 0x3C, 0x01, - 0xE0, 0x1E, 0x01, 0xE0, 0x3E, 0x03, 0xE0, 0x1C, 0x01, 0xC0, 0x0E, 0x00, - 0x00, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xFF, - 0x80, 0x3C, 0x0F, 0x01, 0xC0, 0x0E, 0x0E, 0x00, 0x1C, 0x70, 0xF7, 0x73, - 0x87, 0xF8, 0xCC, 0x31, 0xE3, 0x61, 0x87, 0x0D, 0x8C, 0x1C, 0x3C, 0x30, - 0x61, 0xB1, 0x81, 0x86, 0xC6, 0x0C, 0x3B, 0x18, 0x71, 0xCC, 0x63, 0xCE, - 0x31, 0xFB, 0xF0, 0xE3, 0xCF, 0x01, 0xC0, 0x00, 0x03, 0xC0, 0xC0, 0x07, - 0xFF, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x1F, 0x80, - 0x1F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x07, 0x7C, 0x07, 0x1E, 0x03, 0x8F, - 0x03, 0x87, 0x83, 0xC3, 0xC1, 0xFF, 0xE1, 0xFF, 0xF0, 0xFF, 0xFC, 0xF0, - 0x1E, 0x70, 0x0F, 0x78, 0x07, 0xB8, 0x03, 0xC0, 0x0F, 0xFE, 0x0F, 0xFF, - 0x87, 0xFF, 0xE3, 0xC0, 0xF1, 0xC0, 0x78, 0xE0, 0x3C, 0xF0, 0x3C, 0x7F, - 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0x0E, 0x07, 0xCF, 0x01, 0xE7, 0x80, 0xF3, - 0x80, 0x79, 0xC0, 0x79, 0xFF, 0xF8, 0xFF, 0xFC, 0x7F, 0xF8, 0x00, 0x01, - 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE1, 0xF3, 0xC0, 0x79, 0xE0, 0x3D, - 0xE0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, - 0x0F, 0x00, 0xE7, 0x80, 0xF3, 0xE0, 0xF0, 0xFF, 0xF8, 0x3F, 0xF0, 0x07, - 0xE0, 0x00, 0x1F, 0xFC, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0x81, 0xF1, 0xC0, - 0x79, 0xE0, 0x3C, 0xF0, 0x1E, 0x78, 0x0F, 0x38, 0x07, 0x9C, 0x03, 0xDE, - 0x03, 0xCF, 0x01, 0xE7, 0x81, 0xF3, 0x80, 0xF1, 0xC1, 0xF1, 0xFF, 0xF0, - 0xFF, 0xF0, 0x7F, 0xE0, 0x00, 0x0F, 0xFF, 0x1F, 0xFF, 0x1F, 0xFF, 0x1C, - 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, - 0xFC, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xFF, - 0xF8, 0xFF, 0xF8, 0xFF, 0xF8, 0x1F, 0xFF, 0x1F, 0xFE, 0x1F, 0xFE, 0x1C, - 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, - 0xF8, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, - 0x00, 0xF0, 0x00, 0xE0, 0x00, 0x01, 0xFC, 0x03, 0xFF, 0x03, 0xFF, 0xC3, - 0xE0, 0xF3, 0xC0, 0x39, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0xF0, 0x7F, - 0x78, 0x3F, 0xBC, 0x1F, 0xDE, 0x01, 0xCF, 0x00, 0xE7, 0xC0, 0xF1, 0xF0, - 0xF8, 0xFF, 0xFC, 0x3F, 0xEC, 0x07, 0xE6, 0x00, 0x1E, 0x03, 0x8F, 0x01, - 0xC7, 0x01, 0xE3, 0x80, 0xF3, 0xC0, 0x79, 0xE0, 0x38, 0xF0, 0x1C, 0x7F, - 0xFE, 0x3F, 0xFF, 0x3F, 0xFF, 0x9E, 0x03, 0x8F, 0x01, 0xC7, 0x01, 0xE3, - 0x80, 0xF3, 0xC0, 0x71, 0xE0, 0x38, 0xF0, 0x3C, 0x70, 0x1E, 0x00, 0x1E, - 0x3C, 0x78, 0xE1, 0xC7, 0x8F, 0x1E, 0x38, 0x71, 0xE3, 0xC7, 0x8E, 0x1C, - 0x78, 0xF1, 0xE0, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x38, - 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xC0, 0x07, 0x3C, 0x3C, - 0xF0, 0xF3, 0xC3, 0x8F, 0x1E, 0x3F, 0xF8, 0x7F, 0xC0, 0xFC, 0x00, 0x1E, - 0x07, 0xC7, 0x83, 0xE1, 0xE1, 0xE0, 0x70, 0xF0, 0x1C, 0x78, 0x0F, 0x3C, - 0x03, 0xDE, 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x0F, 0xF0, 0x07, 0xDE, 0x01, - 0xE7, 0xC0, 0x78, 0xF0, 0x1C, 0x3E, 0x0F, 0x07, 0x83, 0xC0, 0xF0, 0xF0, - 0x3C, 0x38, 0x07, 0x80, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xC0, - 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x07, - 0x80, 0x38, 0x01, 0xC0, 0x1F, 0xFE, 0xFF, 0xF7, 0xFF, 0x80, 0x1F, 0x03, - 0xF1, 0xF0, 0x3F, 0x1F, 0x07, 0xF1, 0xF0, 0x7F, 0x3F, 0x0F, 0xE3, 0xF0, - 0xEE, 0x3B, 0x1E, 0xE3, 0xB1, 0xDE, 0x3B, 0x1D, 0xE7, 0xB3, 0x9C, 0x7B, - 0x39, 0xC7, 0x37, 0x9C, 0x73, 0x73, 0xCF, 0x3F, 0x3C, 0xF3, 0xE3, 0x8F, - 0x3E, 0x38, 0xE3, 0xC3, 0x8E, 0x3C, 0x78, 0x1E, 0x03, 0x87, 0xC0, 0xE1, - 0xF0, 0x38, 0x7C, 0x1E, 0x1F, 0x87, 0x8F, 0xE1, 0xC3, 0xB8, 0x70, 0xEF, - 0x1C, 0x39, 0xCF, 0x1E, 0x73, 0xC7, 0x8E, 0xE1, 0xC3, 0xB8, 0x70, 0xEE, - 0x1C, 0x1F, 0x8F, 0x07, 0xE3, 0xC1, 0xF0, 0xE0, 0x3C, 0x38, 0x0F, 0x00, - 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE3, 0xE3, 0xC0, 0xF9, 0xE0, - 0x3D, 0xE0, 0x1E, 0xF0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x03, 0xDE, - 0x01, 0xEF, 0x00, 0xF7, 0xC0, 0xF1, 0xF0, 0xF0, 0xFF, 0xF0, 0x3F, 0xF0, - 0x07, 0xE0, 0x00, 0x1F, 0xFC, 0x1F, 0xFE, 0x1F, 0xFF, 0x1C, 0x1F, 0x1C, - 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x1E, 0x3F, 0xFC, 0x3F, 0xFC, 0x7F, - 0xF0, 0x78, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, - 0x00, 0xF0, 0x00, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE3, 0xE3, - 0xC0, 0xF9, 0xC0, 0x3D, 0xE0, 0x1E, 0xF0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, - 0xFC, 0x03, 0xDE, 0x09, 0xEF, 0x0E, 0xE7, 0xC7, 0xF1, 0xF1, 0xF0, 0xFF, - 0xF8, 0x3F, 0xFE, 0x07, 0xE6, 0x00, 0x02, 0x00, 0x0F, 0xFE, 0x0F, 0xFF, - 0x87, 0xFF, 0xE3, 0x81, 0xF1, 0xC0, 0x78, 0xE0, 0x3C, 0xF0, 0x1C, 0x78, - 0x1E, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFF, 0x8F, 0x03, 0xC7, 0x81, 0xE3, - 0x80, 0xF1, 0xC0, 0xF1, 0xE0, 0x78, 0xF0, 0x3C, 0x78, 0x1F, 0x00, 0x03, - 0xF8, 0x0F, 0xFE, 0x1F, 0xFF, 0x1E, 0x1F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, - 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x0F, 0xFC, 0x01, 0xFE, 0x00, 0x3E, 0xF0, - 0x1E, 0xF0, 0x1E, 0xF8, 0x3C, 0x7F, 0xF8, 0x7F, 0xF0, 0x1F, 0xC0, 0x7F, - 0xFE, 0xFF, 0xFD, 0xFF, 0xF8, 0x1C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, - 0x03, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xE0, 0x01, - 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x1E, 0x07, 0x1C, - 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x0E, 0x38, 0x0E, 0x78, 0x1E, 0x78, - 0x1E, 0x78, 0x1E, 0x78, 0x1C, 0x70, 0x1C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, - 0x38, 0xF8, 0x78, 0xFF, 0xF0, 0x7F, 0xE0, 0x1F, 0x80, 0xF0, 0x1F, 0xE0, - 0x39, 0xC0, 0xF3, 0x81, 0xC7, 0x07, 0x8E, 0x0E, 0x1C, 0x3C, 0x3C, 0x70, - 0x79, 0xE0, 0xF3, 0x80, 0xEF, 0x01, 0xDC, 0x03, 0xB8, 0x07, 0xE0, 0x0F, - 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x70, 0x7F, 0x87, 0x83, - 0xFC, 0x3C, 0x3D, 0xE1, 0xE1, 0xEF, 0x1F, 0x0E, 0x78, 0xD8, 0xF3, 0xC6, - 0xC7, 0x0E, 0x76, 0x78, 0x73, 0x33, 0x83, 0xB9, 0x9C, 0x1D, 0xCD, 0xC0, - 0xEC, 0x6E, 0x07, 0xE3, 0xE0, 0x3E, 0x1F, 0x01, 0xF0, 0xF0, 0x0F, 0x87, - 0x80, 0x78, 0x38, 0x03, 0xC1, 0xC0, 0x00, 0x0F, 0x03, 0xC3, 0xC1, 0xE0, - 0xF8, 0xF0, 0x1E, 0x78, 0x07, 0x9E, 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x0F, - 0xC0, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3F, 0x00, 0x1F, 0xC0, 0x0F, 0xF0, - 0x07, 0x9E, 0x03, 0xC7, 0x80, 0xF0, 0xF0, 0x78, 0x3C, 0x3C, 0x0F, 0x80, - 0x78, 0x1E, 0xF0, 0x79, 0xE0, 0xF3, 0xC3, 0xC3, 0xCF, 0x07, 0x9E, 0x0F, - 0x78, 0x0F, 0xE0, 0x1F, 0x80, 0x3F, 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, - 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x1F, 0xFF, - 0x0F, 0xFF, 0x87, 0xFF, 0xC0, 0x03, 0xC0, 0x03, 0xE0, 0x03, 0xE0, 0x03, - 0xE0, 0x03, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, - 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xFF, 0xF0, 0xFF, 0xF8, 0x7F, 0xFC, - 0x00, 0x0F, 0xC3, 0xF0, 0xFC, 0x38, 0x1E, 0x07, 0x01, 0xC0, 0x70, 0x1C, - 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, - 0x03, 0x80, 0xFC, 0x3F, 0x0F, 0xC0, 0x08, 0x88, 0xC4, 0x44, 0x66, 0x66, - 0x66, 0x62, 0x22, 0x33, 0x33, 0x30, 0x0F, 0xC3, 0xF0, 0xFC, 0x07, 0x03, - 0xC0, 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xC0, 0x70, 0x1C, 0x07, 0x03, 0xC0, - 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xE0, 0x70, 0xFC, 0x3F, 0x0F, 0xC0, 0x03, - 0x80, 0xF0, 0x1E, 0x07, 0xE1, 0xDC, 0x3B, 0x8E, 0x71, 0x86, 0x70, 0xFC, - 0x1F, 0x83, 0x80, 0x7F, 0xFE, 0xFF, 0xFC, 0xE6, 0x30, 0x07, 0xE0, 0xFF, - 0x8F, 0xFE, 0x70, 0xE0, 0x07, 0x03, 0xF8, 0xFF, 0xCF, 0x9E, 0xF0, 0xF7, - 0x8F, 0x3F, 0xF8, 0xFF, 0xC3, 0xDF, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, - 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x9F, 0x07, 0xFF, 0x0F, 0xFF, 0x3E, 0x3E, - 0x78, 0x3C, 0xF0, 0x79, 0xC0, 0xF3, 0x81, 0xEF, 0x07, 0x9F, 0x1F, 0x3F, - 0xFC, 0x7F, 0xF0, 0xEF, 0x80, 0x07, 0xC0, 0xFF, 0x8F, 0xFE, 0xF8, 0xF7, - 0x87, 0xB8, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0xF7, 0x8F, 0x1F, 0xF8, 0xFF, - 0x81, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x03, - 0xC0, 0xF7, 0x87, 0xFE, 0x1F, 0xFC, 0x7C, 0x78, 0xF0, 0x73, 0xC0, 0xE7, - 0x81, 0x8F, 0x07, 0x1E, 0x0E, 0x3E, 0x3C, 0x7F, 0xF8, 0x7F, 0xE0, 0x7D, - 0xC0, 0x07, 0xC0, 0xFF, 0x8F, 0xFE, 0xF0, 0xF7, 0x87, 0xFF, 0xFF, 0xFF, - 0xFE, 0x00, 0xF0, 0x07, 0xC7, 0x9F, 0xF8, 0xFF, 0x81, 0xF0, 0x00, 0x07, - 0x87, 0xC7, 0xE3, 0xC1, 0xC3, 0xF9, 0xFC, 0x78, 0x3C, 0x1C, 0x0E, 0x07, - 0x07, 0x83, 0x81, 0xC0, 0xE0, 0xF0, 0x78, 0x00, 0x03, 0xDE, 0x1F, 0xF8, - 0x7F, 0xF1, 0xF1, 0xE3, 0xC1, 0xCF, 0x03, 0x9E, 0x06, 0x3C, 0x0C, 0x78, - 0x38, 0xF8, 0xF1, 0xFF, 0xC1, 0xFF, 0x81, 0xF7, 0x00, 0x0E, 0x3C, 0x3C, - 0x78, 0xF0, 0x7F, 0xC0, 0x7E, 0x00, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x07, - 0x00, 0x3C, 0x00, 0xF7, 0xC3, 0xBF, 0x8F, 0xFF, 0x3C, 0x3D, 0xE0, 0xE7, - 0x83, 0x9C, 0x0E, 0x70, 0x79, 0xC1, 0xEF, 0x07, 0x3C, 0x1C, 0xE0, 0x73, - 0x83, 0xC0, 0x0E, 0x3C, 0x70, 0x00, 0x03, 0x8F, 0x1E, 0x38, 0x71, 0xE3, - 0xC7, 0x0E, 0x1C, 0x78, 0xF1, 0xC0, 0x03, 0xC0, 0xE0, 0x38, 0x00, 0x00, - 0x01, 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0xF0, 0x38, 0x0E, 0x03, 0x81, - 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0xF0, 0xF8, 0x3E, 0x0F, 0x00, 0x0E, - 0x00, 0x1C, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x87, 0x87, 0x1E, - 0x0E, 0x78, 0x3D, 0xE0, 0x7F, 0x80, 0xFE, 0x01, 0xFE, 0x03, 0xFC, 0x0F, - 0x38, 0x1E, 0x78, 0x38, 0xF0, 0x70, 0xF0, 0xE1, 0xE0, 0x0E, 0x3C, 0x78, - 0xE1, 0xC3, 0x8F, 0x1E, 0x38, 0x71, 0xE3, 0xC7, 0x0E, 0x1C, 0x78, 0xF1, - 0xC0, 0x1C, 0xF1, 0xE0, 0xEF, 0xDF, 0x87, 0xFF, 0xFE, 0x7C, 0x78, 0xF3, - 0xC3, 0x87, 0x9C, 0x1C, 0x38, 0xE1, 0xE1, 0xC7, 0x0E, 0x0E, 0x78, 0x70, - 0xF3, 0xC3, 0x87, 0x9C, 0x3C, 0x38, 0xE1, 0xE1, 0xC7, 0x0E, 0x0E, 0x00, - 0x3D, 0xF0, 0xEF, 0xE3, 0xFF, 0xCF, 0x0F, 0x78, 0x39, 0xC0, 0xE7, 0x03, - 0x9C, 0x1E, 0xF0, 0x7B, 0xC1, 0xCE, 0x07, 0x38, 0x1C, 0xE0, 0xF0, 0x07, - 0xE0, 0x7F, 0xE3, 0xFF, 0x9F, 0x1F, 0x78, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, - 0x1F, 0xF0, 0x7B, 0xE3, 0xE7, 0xFF, 0x1F, 0xF8, 0x1F, 0x80, 0x0E, 0x7C, - 0x0F, 0xFE, 0x0F, 0xFF, 0x1F, 0x1F, 0x1E, 0x0F, 0x1E, 0x0F, 0x1C, 0x0F, - 0x1C, 0x0F, 0x3C, 0x1E, 0x3E, 0x3E, 0x3F, 0xFC, 0x3F, 0xF8, 0x7B, 0xE0, - 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x07, 0xBC, - 0x7F, 0xF3, 0xFF, 0x9F, 0x1E, 0x78, 0x3B, 0xC0, 0xEF, 0x03, 0x3C, 0x0C, - 0xF0, 0x73, 0xE3, 0xCF, 0xFF, 0x1F, 0xF8, 0x3C, 0xE0, 0x03, 0x80, 0x1E, - 0x00, 0x78, 0x01, 0xC0, 0x07, 0x00, 0x3D, 0xCE, 0xE3, 0xF8, 0xF0, 0x78, - 0x1E, 0x07, 0x01, 0xC0, 0xF0, 0x3C, 0x0E, 0x03, 0x80, 0xE0, 0x00, 0x1F, - 0xC3, 0xFE, 0x7F, 0xFF, 0x0F, 0xF0, 0x0F, 0xE0, 0x7F, 0xC1, 0xFE, 0x03, - 0xEE, 0x1E, 0xFF, 0xC7, 0xFC, 0x3F, 0x00, 0x1E, 0x1E, 0x1C, 0x7F, 0xFF, - 0x3C, 0x38, 0x38, 0x38, 0x78, 0x78, 0x70, 0x7C, 0xF8, 0x78, 0x38, 0x3C, - 0xE0, 0xE3, 0x83, 0x9E, 0x0E, 0x70, 0x79, 0xC1, 0xE7, 0x07, 0x3C, 0x1C, - 0xF0, 0xF3, 0xE7, 0xCF, 0xFF, 0x1F, 0xF8, 0x3C, 0xE0, 0xF0, 0x77, 0x87, - 0xBC, 0x38, 0xE3, 0xC7, 0x1C, 0x39, 0xE1, 0xCE, 0x0E, 0xE0, 0x77, 0x03, - 0xF0, 0x0F, 0x80, 0x78, 0x03, 0xC0, 0x00, 0xF1, 0xC3, 0xF8, 0xE3, 0xFC, - 0xF1, 0xDE, 0x79, 0xEF, 0x3C, 0xE7, 0xB6, 0x73, 0xDB, 0x70, 0xED, 0xB8, - 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3C, 0x0F, 0x1E, 0x07, 0x8E, 0x00, 0x0F, - 0x1E, 0x0F, 0x3C, 0x0F, 0x38, 0x07, 0x70, 0x07, 0xF0, 0x03, 0xE0, 0x03, - 0xC0, 0x07, 0xC0, 0x0F, 0xE0, 0x1E, 0xE0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, - 0x78, 0x3C, 0x1C, 0x78, 0x78, 0xF0, 0xE1, 0xE3, 0xC1, 0xC7, 0x03, 0x9E, - 0x07, 0x38, 0x0E, 0xE0, 0x1D, 0xC0, 0x3F, 0x00, 0x7E, 0x00, 0x78, 0x00, - 0xF0, 0x01, 0xC0, 0x07, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xE0, 0x00, 0x1F, - 0xF9, 0xFF, 0xCF, 0xFC, 0x01, 0xE0, 0x3E, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xC0, 0x3F, 0xF9, 0xFF, 0xCF, 0xFC, 0x00, 0x07, 0x87, 0xC3, - 0xE3, 0xC1, 0xC0, 0xE0, 0x70, 0x38, 0x3C, 0x1C, 0x0E, 0x1E, 0x0F, 0x03, - 0x81, 0xC0, 0xE0, 0x70, 0x78, 0x38, 0x1C, 0x0F, 0x87, 0xC1, 0xC0, 0x0C, - 0x30, 0x86, 0x18, 0x61, 0x8C, 0x30, 0xC3, 0x0C, 0x61, 0x86, 0x18, 0x63, - 0x0C, 0x30, 0xC2, 0x00, 0x00, 0x07, 0x07, 0xC3, 0xE0, 0x70, 0x38, 0x3C, - 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xE0, 0xF0, 0xE0, 0x70, 0x78, 0x38, 0x1C, - 0x0E, 0x07, 0x07, 0x8F, 0x87, 0xC3, 0xC0, 0x3C, 0x07, 0xE0, 0xC7, 0x30, - 0x7E, 0x01, 0xC0 }; - -const GFXglyph FreeSansBoldOblique12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' - { 0, 7, 17, 8, 3, -16 }, // 0x21 '!' - { 15, 10, 6, 11, 4, -17 }, // 0x22 '"' - { 23, 15, 16, 13, 1, -15 }, // 0x23 '#' - { 53, 15, 21, 13, 1, -17 }, // 0x24 '$' - { 93, 18, 18, 21, 3, -17 }, // 0x25 '%' - { 134, 15, 17, 17, 2, -16 }, // 0x26 '&' - { 166, 4, 6, 6, 4, -17 }, // 0x27 ''' - { 169, 9, 22, 8, 2, -17 }, // 0x28 '(' - { 194, 9, 22, 8, -1, -16 }, // 0x29 ')' - { 219, 8, 8, 9, 3, -17 }, // 0x2A '*' - { 227, 12, 11, 14, 2, -10 }, // 0x2B '+' - { 244, 5, 7, 7, 1, -2 }, // 0x2C ',' - { 249, 7, 3, 8, 2, -7 }, // 0x2D '-' - { 252, 4, 3, 7, 2, -2 }, // 0x2E '.' - { 254, 10, 17, 7, 0, -16 }, // 0x2F '/' - { 276, 13, 17, 13, 2, -16 }, // 0x30 '0' - { 304, 9, 17, 13, 4, -16 }, // 0x31 '1' - { 324, 15, 17, 13, 1, -16 }, // 0x32 '2' - { 356, 13, 17, 13, 2, -16 }, // 0x33 '3' - { 384, 13, 17, 13, 1, -16 }, // 0x34 '4' - { 412, 14, 17, 13, 1, -16 }, // 0x35 '5' - { 442, 13, 17, 13, 2, -16 }, // 0x36 '6' - { 470, 13, 17, 13, 3, -16 }, // 0x37 '7' - { 498, 14, 17, 13, 1, -16 }, // 0x38 '8' - { 528, 14, 17, 13, 2, -16 }, // 0x39 '9' - { 558, 6, 12, 8, 3, -11 }, // 0x3A ':' - { 567, 7, 16, 8, 2, -11 }, // 0x3B ';' - { 581, 13, 12, 14, 2, -11 }, // 0x3C '<' - { 601, 14, 9, 14, 1, -9 }, // 0x3D '=' - { 617, 13, 12, 14, 1, -10 }, // 0x3E '>' - { 637, 13, 18, 15, 4, -17 }, // 0x3F '?' - { 667, 22, 21, 23, 2, -17 }, // 0x40 '@' - { 725, 17, 18, 17, 0, -17 }, // 0x41 'A' - { 764, 17, 18, 17, 2, -17 }, // 0x42 'B' - { 803, 17, 18, 17, 3, -17 }, // 0x43 'C' - { 842, 17, 18, 17, 2, -17 }, // 0x44 'D' - { 881, 16, 18, 16, 2, -17 }, // 0x45 'E' - { 917, 16, 18, 15, 2, -17 }, // 0x46 'F' - { 953, 17, 18, 19, 3, -17 }, // 0x47 'G' - { 992, 17, 18, 17, 2, -17 }, // 0x48 'H' - { 1031, 7, 18, 7, 2, -17 }, // 0x49 'I' - { 1047, 14, 18, 13, 1, -17 }, // 0x4A 'J' - { 1079, 18, 18, 17, 2, -17 }, // 0x4B 'K' - { 1120, 13, 18, 15, 2, -17 }, // 0x4C 'L' - { 1150, 20, 18, 20, 2, -17 }, // 0x4D 'M' - { 1195, 18, 18, 17, 2, -17 }, // 0x4E 'N' - { 1236, 17, 18, 19, 3, -17 }, // 0x4F 'O' - { 1275, 16, 18, 16, 2, -17 }, // 0x50 'P' - { 1311, 17, 19, 19, 3, -17 }, // 0x51 'Q' - { 1352, 17, 18, 17, 2, -17 }, // 0x52 'R' - { 1391, 16, 18, 16, 2, -17 }, // 0x53 'S' - { 1427, 15, 18, 15, 3, -17 }, // 0x54 'T' - { 1461, 16, 18, 17, 3, -17 }, // 0x55 'U' - { 1497, 15, 18, 16, 4, -17 }, // 0x56 'V' - { 1531, 21, 18, 23, 4, -17 }, // 0x57 'W' - { 1579, 18, 18, 16, 1, -17 }, // 0x58 'X' - { 1620, 15, 18, 16, 4, -17 }, // 0x59 'Y' - { 1654, 17, 18, 15, 1, -17 }, // 0x5A 'Z' - { 1693, 10, 23, 8, 1, -17 }, // 0x5B '[' - { 1722, 4, 23, 7, 3, -22 }, // 0x5C '\' - { 1734, 10, 23, 8, 0, -17 }, // 0x5D ']' - { 1763, 11, 11, 14, 3, -16 }, // 0x5E '^' - { 1779, 15, 2, 13, -2, 4 }, // 0x5F '_' - { 1783, 4, 3, 8, 4, -17 }, // 0x60 '`' - { 1785, 13, 13, 13, 1, -12 }, // 0x61 'a' - { 1807, 15, 18, 15, 1, -17 }, // 0x62 'b' - { 1841, 13, 13, 13, 2, -12 }, // 0x63 'c' - { 1863, 15, 18, 15, 2, -17 }, // 0x64 'd' - { 1897, 13, 13, 13, 2, -12 }, // 0x65 'e' - { 1919, 9, 18, 8, 2, -17 }, // 0x66 'f' - { 1940, 15, 18, 15, 1, -12 }, // 0x67 'g' - { 1974, 14, 18, 15, 2, -17 }, // 0x68 'h' - { 2006, 7, 18, 7, 2, -17 }, // 0x69 'i' - { 2022, 10, 23, 7, -1, -17 }, // 0x6A 'j' - { 2051, 15, 18, 13, 1, -17 }, // 0x6B 'k' - { 2085, 7, 18, 7, 2, -17 }, // 0x6C 'l' - { 2101, 21, 13, 21, 1, -12 }, // 0x6D 'm' - { 2136, 14, 13, 15, 2, -12 }, // 0x6E 'n' - { 2159, 14, 13, 15, 2, -12 }, // 0x6F 'o' - { 2182, 16, 18, 15, 0, -12 }, // 0x70 'p' - { 2218, 14, 18, 15, 2, -12 }, // 0x71 'q' - { 2250, 10, 13, 9, 2, -12 }, // 0x72 'r' - { 2267, 12, 13, 13, 3, -12 }, // 0x73 's' - { 2287, 8, 15, 8, 2, -14 }, // 0x74 't' - { 2302, 14, 13, 15, 2, -12 }, // 0x75 'u' - { 2325, 13, 13, 13, 3, -12 }, // 0x76 'v' - { 2347, 17, 13, 19, 3, -12 }, // 0x77 'w' - { 2375, 16, 13, 13, 0, -12 }, // 0x78 'x' - { 2401, 15, 18, 13, 1, -12 }, // 0x79 'y' - { 2435, 13, 13, 12, 1, -12 }, // 0x7A 'z' - { 2457, 9, 23, 9, 3, -17 }, // 0x7B '{' - { 2483, 6, 23, 7, 1, -17 }, // 0x7C '|' - { 2501, 9, 23, 9, 0, -17 }, // 0x7D '}' - { 2527, 12, 5, 14, 2, -7 } }; // 0x7E '~' - -const GFXfont FreeSansBoldOblique12pt7b PROGMEM = { - (uint8_t *)FreeSansBoldOblique12pt7bBitmaps, - (GFXglyph *)FreeSansBoldOblique12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 3207 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h deleted file mode 100644 index 79c748c..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique18pt7b.h +++ /dev/null @@ -1,545 +0,0 @@ -const uint8_t FreeSansBoldOblique18pt7bBitmaps[] PROGMEM = { - 0x06, 0x01, 0xC0, 0x7C, 0x1F, 0x0F, 0xC3, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, - 0xC0, 0xF0, 0x7C, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x01, 0xC0, - 0x60, 0x7C, 0x1F, 0x07, 0xC3, 0xF0, 0xF8, 0x00, 0x78, 0x7B, 0xC3, 0xFE, - 0x3F, 0xE1, 0xEF, 0x0F, 0x78, 0x7B, 0x83, 0x9C, 0x1C, 0xC0, 0xC0, 0x00, - 0x3C, 0x38, 0x00, 0xF1, 0xE0, 0x07, 0x87, 0x00, 0x1E, 0x3C, 0x00, 0xF0, - 0xE0, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x1F, 0xFF, 0xF8, - 0x0F, 0x0E, 0x00, 0x3C, 0x78, 0x00, 0xE1, 0xE0, 0x07, 0x8F, 0x00, 0x1C, - 0x3C, 0x07, 0xFF, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, - 0x01, 0xE3, 0xC0, 0x0F, 0x0E, 0x00, 0x3C, 0x78, 0x01, 0xE1, 0xC0, 0x07, - 0x8F, 0x00, 0x3C, 0x38, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x80, 0x00, 0xFC, - 0x00, 0xFF, 0xC0, 0x3F, 0xFC, 0x0F, 0xFF, 0xC3, 0xE6, 0x78, 0x78, 0xCF, - 0x1E, 0x39, 0xE3, 0xC7, 0x3C, 0x78, 0xC0, 0x0F, 0x98, 0x01, 0xFF, 0x00, - 0x1F, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x00, 0x7F, 0x80, 0x0F, 0xF0, - 0x03, 0xBE, 0x00, 0x67, 0xCF, 0x8C, 0xF9, 0xF1, 0x9F, 0x3E, 0x77, 0xC7, - 0xEF, 0xF8, 0x7F, 0xFE, 0x0F, 0xFF, 0x80, 0xFF, 0xE0, 0x03, 0xE0, 0x00, - 0x38, 0x00, 0x06, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x07, 0x01, 0xE0, - 0x03, 0x81, 0xFE, 0x00, 0xC0, 0xFF, 0x80, 0x70, 0x7F, 0xF0, 0x38, 0x1E, - 0x3C, 0x1C, 0x0F, 0x07, 0x06, 0x03, 0x81, 0xC3, 0x80, 0xE0, 0xF1, 0xC0, - 0x3C, 0x78, 0xE0, 0x0F, 0xFE, 0x30, 0x01, 0xFF, 0x1C, 0x00, 0x7F, 0x8E, - 0x00, 0x07, 0x83, 0x00, 0x00, 0x01, 0x83, 0xE0, 0x00, 0xE3, 0xFE, 0x00, - 0x71, 0xFF, 0x80, 0x18, 0xFF, 0xF0, 0x0C, 0x3C, 0x3C, 0x07, 0x1C, 0x07, - 0x03, 0x87, 0x01, 0xC0, 0xC1, 0xE1, 0xE0, 0x60, 0x7F, 0xF8, 0x38, 0x0F, - 0xFC, 0x1C, 0x03, 0xFE, 0x06, 0x00, 0x3E, 0x00, 0x00, 0x1F, 0x00, 0x03, - 0xFC, 0x00, 0x3F, 0xF0, 0x03, 0xFF, 0x80, 0x3F, 0x3C, 0x01, 0xF1, 0xE0, - 0x0F, 0x8F, 0x00, 0x7C, 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0xF8, 0x00, 0x3F, - 0x00, 0x03, 0xF0, 0x00, 0x7F, 0xC7, 0x8F, 0xFE, 0x3C, 0xFC, 0xFB, 0xCF, - 0x83, 0xFE, 0xF8, 0x1F, 0xE7, 0xC0, 0x7E, 0x3E, 0x03, 0xE1, 0xF0, 0x1F, - 0x0F, 0xE3, 0xFC, 0x7F, 0xFF, 0xE1, 0xFF, 0xFF, 0x87, 0xFE, 0x7C, 0x0F, - 0xE1, 0xF0, 0x7B, 0xFF, 0xEF, 0x7B, 0x9C, 0xC0, 0x00, 0x78, 0x07, 0x80, - 0x78, 0x03, 0x80, 0x3C, 0x03, 0xC0, 0x1E, 0x01, 0xE0, 0x1E, 0x00, 0xF0, - 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0xF0, 0x07, - 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, - 0x07, 0x80, 0x1C, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x00, 0xE0, 0x07, 0x80, - 0x1C, 0x00, 0x01, 0xC0, 0x0F, 0x00, 0x38, 0x01, 0xE0, 0x0F, 0x00, 0x78, - 0x01, 0xC0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, - 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x1E, - 0x00, 0xF0, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x1E, 0x01, - 0xE0, 0x1E, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x00, 0x03, 0x00, 0x70, 0x07, - 0x04, 0x63, 0xFF, 0xF7, 0xFF, 0x1F, 0x83, 0xF0, 0x3B, 0x87, 0x38, 0x21, - 0x00, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, - 0x00, 0x7C, 0x07, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, - 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, - 0x00, 0x3E, 0x7C, 0xF3, 0xE7, 0xC1, 0x87, 0x0C, 0x39, 0xE3, 0x00, 0x7F, - 0xDF, 0xFF, 0xFB, 0xFE, 0x7D, 0xF7, 0xBE, 0xF8, 0x00, 0x0E, 0x00, 0x18, - 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, 0x00, 0x1C, 0x00, 0x30, 0x00, - 0xE0, 0x01, 0x80, 0x07, 0x00, 0x0C, 0x00, 0x38, 0x00, 0x60, 0x01, 0xC0, - 0x03, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, - 0x00, 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x00, 0x00, 0xFC, 0x00, 0x7F, 0xC0, - 0x7F, 0xF8, 0x3F, 0xFE, 0x0F, 0x8F, 0xC7, 0xC1, 0xF1, 0xE0, 0x7C, 0xF8, - 0x1F, 0x3E, 0x07, 0xDF, 0x01, 0xF7, 0xC0, 0x7D, 0xF0, 0x3F, 0x7C, 0x0F, - 0xBF, 0x03, 0xEF, 0x80, 0xFB, 0xE0, 0x3E, 0xF8, 0x1F, 0x3E, 0x07, 0xCF, - 0x81, 0xE3, 0xE0, 0xF8, 0xFC, 0x7C, 0x1F, 0xFF, 0x07, 0xFF, 0x80, 0xFF, - 0xC0, 0x0F, 0x80, 0x00, 0x00, 0x70, 0x03, 0x80, 0x3C, 0x03, 0xE0, 0xFF, - 0x3F, 0xF3, 0xFF, 0x9F, 0xFC, 0x03, 0xE0, 0x1F, 0x01, 0xF0, 0x0F, 0x80, - 0x7C, 0x03, 0xE0, 0x1E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3E, - 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x3E, 0x00, 0x00, 0x1F, 0x80, - 0x07, 0xFF, 0x00, 0x7F, 0xFC, 0x07, 0xFF, 0xE0, 0x7E, 0x1F, 0x83, 0xE0, - 0x7C, 0x1F, 0x03, 0xE1, 0xF0, 0x1F, 0x0F, 0x80, 0xF8, 0x00, 0x0F, 0x80, - 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xE0, 0x00, 0xFC, - 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, - 0x00, 0x03, 0xF0, 0x00, 0x1F, 0xFF, 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, - 0x7F, 0xFF, 0x80, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x03, 0xFF, 0xE0, 0x7F, - 0xFF, 0x0F, 0x83, 0xF0, 0xF0, 0x1F, 0x1F, 0x01, 0xF1, 0xE0, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0xFC, 0x00, 0xFF, 0x80, 0x0F, 0xF0, 0x00, 0xFF, 0x80, - 0x0F, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xCF, 0x80, 0x7C, - 0xF8, 0x07, 0xCF, 0x80, 0xF8, 0xFC, 0x3F, 0x8F, 0xFF, 0xF0, 0x7F, 0xFE, - 0x03, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xFC, 0x00, - 0x7F, 0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, 0xEF, 0x80, 0x3D, 0xF0, 0x0F, - 0x7C, 0x03, 0xCF, 0x80, 0xF1, 0xF0, 0x1C, 0x3E, 0x07, 0x07, 0xC1, 0xE1, - 0xF0, 0x78, 0x3E, 0x1E, 0x07, 0xC3, 0xFF, 0xFE, 0x7F, 0xFF, 0xDF, 0xFF, - 0xFB, 0xFF, 0xFF, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x1F, - 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0xFF, 0xF0, 0x3F, 0xFF, 0x03, - 0xFF, 0xF0, 0x3F, 0xFF, 0x07, 0x80, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x00, - 0xF7, 0xE0, 0x0F, 0xFF, 0x01, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, 0xF0, 0xFC, - 0x3E, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, - 0x8F, 0x80, 0xF8, 0xF8, 0x1F, 0x8F, 0xC3, 0xF0, 0xFF, 0xFE, 0x07, 0xFF, - 0xC0, 0x3F, 0xF8, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, - 0xFF, 0x03, 0xFF, 0xE0, 0xF8, 0x7E, 0x3E, 0x07, 0xC7, 0x80, 0x01, 0xF0, - 0x00, 0x3C, 0xFC, 0x07, 0xFF, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC7, 0xE1, - 0xF8, 0xF8, 0x1F, 0x3E, 0x03, 0xE7, 0x80, 0x7C, 0xF0, 0x0F, 0x9E, 0x01, - 0xE3, 0xC0, 0x7C, 0x78, 0x1F, 0x0F, 0x87, 0xE0, 0xFF, 0xF8, 0x1F, 0xFE, - 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xF9, 0xFF, - 0xFF, 0x7F, 0xFF, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, - 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0x80, 0x01, 0xF0, 0x00, 0x7C, - 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x3E, 0x00, - 0x07, 0xC0, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0xFC, 0x07, 0xFF, 0xE0, 0xFF, - 0xFF, 0x0F, 0x81, 0xF1, 0xF0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1F, - 0x07, 0xE0, 0xFF, 0xFC, 0x07, 0xFF, 0x00, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, - 0xF0, 0xFC, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0xF8, 0x07, 0xCF, 0x80, 0x7C, - 0xF8, 0x0F, 0x8F, 0x80, 0xF8, 0xFC, 0x3F, 0x0F, 0xFF, 0xF0, 0x7F, 0xFE, - 0x03, 0xFF, 0x80, 0x0F, 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, - 0xFF, 0x03, 0xFF, 0xE0, 0xFC, 0x3E, 0x3F, 0x03, 0xC7, 0xC0, 0x79, 0xF0, - 0x0F, 0x3E, 0x01, 0xE7, 0xC0, 0x3C, 0xF8, 0x0F, 0x9F, 0x03, 0xE3, 0xF0, - 0xFC, 0x7F, 0xFF, 0x87, 0xFF, 0xF0, 0x7F, 0xFE, 0x07, 0xE7, 0x80, 0x01, - 0xF0, 0x00, 0x3C, 0x7C, 0x0F, 0x8F, 0xC3, 0xE1, 0xFF, 0xF8, 0x1F, 0xFE, - 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x0F, 0x87, 0xC3, 0xC3, 0xE1, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE1, 0xF0, 0xF0, - 0xF8, 0x7C, 0x00, 0x07, 0xC1, 0xF0, 0x78, 0x3E, 0x0F, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x83, 0xE0, 0xF0, 0x7C, - 0x1F, 0x00, 0xC0, 0x70, 0x18, 0x0E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x20, - 0x00, 0x3C, 0x00, 0x3F, 0x80, 0x3F, 0xE0, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, - 0xFC, 0x07, 0xFC, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x03, 0xFF, 0x80, 0x1F, - 0xFE, 0x00, 0xFF, 0xF0, 0x03, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0x78, 0x00, - 0x03, 0x00, 0x1F, 0xFF, 0xF3, 0xFF, 0xFE, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, - 0xC7, 0xFF, 0xFC, 0xFF, 0xFF, 0x8F, 0xFF, 0xF8, 0x18, 0x00, 0x03, 0xC0, - 0x00, 0x7F, 0x00, 0x0F, 0xF8, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x3F, - 0xF8, 0x01, 0xFF, 0x00, 0x07, 0xE0, 0x07, 0xFC, 0x07, 0xFF, 0x07, 0xFF, - 0x87, 0xFF, 0x80, 0xFF, 0x80, 0x3F, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, - 0x00, 0x03, 0xF8, 0x03, 0xFF, 0xC1, 0xFF, 0xF8, 0xFF, 0xFE, 0x7E, 0x1F, - 0xDF, 0x03, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xC0, 0x03, 0xE0, - 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, - 0x80, 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0xC0, 0x01, 0xF0, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x00, - 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xFE, - 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xE0, 0x0F, 0x80, 0x00, - 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x01, 0xF1, 0xCF, 0x0F, 0x03, 0xFD, - 0xC7, 0x8F, 0x03, 0xFF, 0xE1, 0xC7, 0x03, 0xE3, 0xE0, 0xE7, 0x03, 0xC0, - 0xF0, 0x73, 0x83, 0xC0, 0x78, 0x3B, 0x81, 0xE0, 0x38, 0x1D, 0xC1, 0xE0, - 0x1C, 0x1C, 0xC0, 0xF0, 0x1C, 0x0E, 0xE0, 0x70, 0x0E, 0x0F, 0x70, 0x78, - 0x0E, 0x07, 0x38, 0x3C, 0x0F, 0x07, 0x1C, 0x1E, 0x0F, 0x87, 0x8E, 0x0F, - 0x8F, 0xCF, 0x87, 0x07, 0xFF, 0xFF, 0x83, 0xC1, 0xFE, 0x7F, 0x00, 0xE0, - 0x3C, 0x1F, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0F, - 0xC0, 0x01, 0x00, 0x03, 0xF8, 0x07, 0x80, 0x00, 0xFF, 0xFF, 0xC0, 0x00, - 0x1F, 0xFF, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, - 0x0F, 0xE0, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x03, - 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1F, 0x7C, 0x00, 0x7E, 0xF8, 0x00, 0xF9, - 0xF0, 0x03, 0xF3, 0xE0, 0x07, 0xC3, 0xE0, 0x1F, 0x87, 0xC0, 0x3E, 0x0F, - 0x80, 0xF8, 0x1F, 0x01, 0xF0, 0x3E, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, - 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xF1, 0xF0, 0x03, 0xE7, 0xC0, 0x07, 0xCF, - 0x80, 0x0F, 0xBE, 0x00, 0x1F, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x7C, 0x07, - 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, - 0xC0, 0x3F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x1F, - 0x80, 0x1E, 0x1F, 0x80, 0x3E, 0x1F, 0x00, 0x7C, 0x1F, 0xFF, 0xF8, 0x1F, - 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8, 0x3E, 0x00, 0xFC, 0x3E, - 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, - 0x00, 0xF8, 0x7C, 0x01, 0xF8, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, - 0xFF, 0xC0, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, - 0xFF, 0xFC, 0x03, 0xFF, 0xFE, 0x07, 0xE0, 0x7F, 0x0F, 0xC0, 0x3F, 0x1F, - 0x80, 0x1F, 0x3F, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x7E, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x7C, 0xF8, - 0x00, 0x7C, 0xFC, 0x00, 0xF8, 0xFC, 0x01, 0xF8, 0x7F, 0x07, 0xF0, 0x7F, - 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x07, - 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xFE, 0x0F, - 0x80, 0x7E, 0x0F, 0x80, 0x3F, 0x0F, 0x80, 0x1F, 0x1F, 0x80, 0x1F, 0x1F, - 0x80, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x3F, - 0x00, 0x1F, 0x3E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, - 0x00, 0x3E, 0x7E, 0x00, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, 0x00, 0xF8, 0x7C, - 0x01, 0xF8, 0x7C, 0x07, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xC0, 0xFF, - 0xFF, 0x00, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x07, - 0xFF, 0xFE, 0x0F, 0xFF, 0xFE, 0x0F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x0F, - 0x80, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF0, 0x3F, - 0xFF, 0xF0, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, - 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0x07, - 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xE0, 0xF8, - 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0xFF, 0xFE, - 0x07, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, - 0x80, 0x00, 0x3F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xFF, 0xFC, 0x03, - 0xFF, 0xFE, 0x07, 0xE0, 0x7E, 0x0F, 0x80, 0x3F, 0x1F, 0x00, 0x1F, 0x3E, - 0x00, 0x1F, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xF8, 0x07, 0xFF, 0xF8, 0x07, 0xFE, 0xF8, - 0x07, 0xFE, 0xF8, 0x00, 0x3E, 0xF8, 0x00, 0x3E, 0xFC, 0x00, 0x7E, 0xFC, - 0x00, 0x7C, 0x7E, 0x00, 0xFC, 0x7F, 0x83, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, - 0xFF, 0xBC, 0x0F, 0xFF, 0x38, 0x03, 0xFC, 0x38, 0x03, 0xE0, 0x07, 0xC0, - 0xF8, 0x01, 0xF0, 0x7E, 0x00, 0x7C, 0x1F, 0x00, 0x3F, 0x07, 0xC0, 0x0F, - 0x81, 0xF0, 0x03, 0xE0, 0xFC, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, - 0x1F, 0x83, 0xE0, 0x07, 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x1F, - 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC1, 0xF0, 0x03, 0xE0, 0x7C, 0x00, 0xF8, - 0x3F, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x07, 0xE0, 0xF8, 0x01, - 0xF0, 0x3E, 0x00, 0x7C, 0x1F, 0x80, 0x1F, 0x07, 0xC0, 0x0F, 0xC1, 0xF0, - 0x03, 0xF0, 0x7C, 0x00, 0xF8, 0x3F, 0x00, 0x3E, 0x00, 0x07, 0xC3, 0xF0, - 0xFC, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x7E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, - 0x3F, 0x0F, 0xC3, 0xE0, 0xF8, 0x3E, 0x0F, 0x87, 0xE1, 0xF0, 0x7C, 0x1F, - 0x07, 0xC3, 0xF0, 0xFC, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, - 0x01, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, - 0x00, 0x3E, 0x00, 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, - 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x7C, 0x0F, - 0x8F, 0x81, 0xF8, 0xF8, 0x1F, 0x0F, 0x81, 0xF0, 0xF8, 0x1F, 0x0F, 0xC3, - 0xF0, 0xFF, 0xFE, 0x07, 0xFF, 0xC0, 0x3F, 0xF8, 0x01, 0xFC, 0x00, 0x07, - 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0x7C, 0x03, 0xF0, 0x3F, 0x03, 0xF8, - 0x0F, 0x81, 0xF8, 0x03, 0xE0, 0xFC, 0x00, 0xF8, 0x7E, 0x00, 0x7E, 0x3F, - 0x00, 0x1F, 0x1F, 0x80, 0x07, 0xCF, 0xC0, 0x01, 0xF7, 0xE0, 0x00, 0x7F, - 0xF0, 0x00, 0x3F, 0xFC, 0x00, 0x0F, 0xFF, 0x80, 0x03, 0xFF, 0xF0, 0x00, - 0xFE, 0xFC, 0x00, 0x3F, 0x1F, 0x80, 0x1F, 0x87, 0xE0, 0x07, 0xC0, 0xFC, - 0x01, 0xF0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x1F, 0x01, 0xFC, 0x0F, 0xC0, - 0x3F, 0x03, 0xE0, 0x0F, 0xE0, 0xF8, 0x01, 0xF8, 0x3E, 0x00, 0x3F, 0x00, - 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x03, - 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x01, 0xF0, - 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0x00, - 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, - 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, 0x03, - 0xF8, 0x01, 0xFC, 0x07, 0xF0, 0x07, 0xF8, 0x1F, 0xE0, 0x0F, 0xF0, 0x3F, - 0xC0, 0x3F, 0xE0, 0x7F, 0x80, 0x7F, 0xC0, 0xFF, 0x01, 0xFF, 0x01, 0xFE, - 0x03, 0xFE, 0x07, 0xDC, 0x07, 0x7C, 0x0F, 0xB8, 0x1E, 0xF8, 0x1F, 0x70, - 0x3D, 0xF0, 0x3E, 0xF0, 0xF7, 0xC0, 0xF9, 0xE1, 0xEF, 0x81, 0xF3, 0xC7, - 0x9F, 0x03, 0xE7, 0x8F, 0x3E, 0x07, 0xCF, 0x3C, 0x7C, 0x0F, 0x9E, 0x79, - 0xF0, 0x3E, 0x3C, 0xE3, 0xE0, 0x7C, 0x7B, 0xC7, 0xC0, 0xF8, 0xF7, 0x8F, - 0x81, 0xF1, 0xFE, 0x1E, 0x07, 0xE3, 0xFC, 0x7C, 0x0F, 0x87, 0xF0, 0xF8, - 0x1F, 0x0F, 0xE1, 0xF0, 0x3E, 0x1F, 0x83, 0xE0, 0x7C, 0x3F, 0x0F, 0x81, - 0xF0, 0x7E, 0x1F, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x7E, 0x00, 0xF8, 0x1F, - 0xC0, 0x1F, 0x03, 0xF8, 0x03, 0xE0, 0x7F, 0x80, 0x7C, 0x0F, 0xF0, 0x1F, - 0x01, 0xFF, 0x03, 0xE0, 0x7F, 0xE0, 0x7C, 0x0F, 0xBC, 0x0F, 0x81, 0xF7, - 0xC1, 0xF0, 0x3E, 0xF8, 0x7C, 0x0F, 0x8F, 0x0F, 0x81, 0xF1, 0xF1, 0xF0, - 0x3E, 0x3E, 0x3E, 0x07, 0xC3, 0xC7, 0xC0, 0xF8, 0x7D, 0xF0, 0x3E, 0x0F, - 0xBE, 0x07, 0xC0, 0xF7, 0xC0, 0xF8, 0x1F, 0xF8, 0x1F, 0x01, 0xFE, 0x03, - 0xC0, 0x3F, 0xC0, 0xF8, 0x07, 0xF8, 0x1F, 0x00, 0x7F, 0x03, 0xE0, 0x0F, - 0xE0, 0x7C, 0x01, 0xF8, 0x1F, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0xE0, 0x00, - 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0xC0, 0x7E, 0x07, 0xF0, - 0x7E, 0x01, 0xF8, 0x7C, 0x00, 0x7E, 0x3E, 0x00, 0x1F, 0x3E, 0x00, 0x0F, - 0x9E, 0x00, 0x07, 0xDF, 0x00, 0x03, 0xEF, 0x80, 0x01, 0xFF, 0x80, 0x00, - 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7D, 0xF0, 0x00, 0x3E, 0xF8, 0x00, - 0x1F, 0x7C, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x9F, 0x80, 0x0F, 0x87, 0xE0, - 0x0F, 0x83, 0xF8, 0x1F, 0x80, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0x80, 0x0F, - 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, - 0x3F, 0xFF, 0xF0, 0x7F, 0xFF, 0xF0, 0xF8, 0x07, 0xE1, 0xF0, 0x07, 0xC3, - 0xE0, 0x0F, 0x8F, 0xC0, 0x1F, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0xF8, 0x7C, - 0x01, 0xF0, 0xF8, 0x07, 0xC3, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x0F, 0xFF, - 0xF8, 0x1F, 0xFF, 0x80, 0x3E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF0, 0x00, - 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x3F, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0xC0, 0x7F, 0x07, - 0xF0, 0x7E, 0x01, 0xF8, 0x7E, 0x00, 0x7E, 0x3E, 0x00, 0x1F, 0x3E, 0x00, - 0x0F, 0x9E, 0x00, 0x07, 0xDF, 0x00, 0x03, 0xEF, 0x80, 0x01, 0xF7, 0x80, - 0x00, 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7D, 0xF0, 0x00, 0x3E, 0xF8, - 0x02, 0x1F, 0x7C, 0x03, 0x9F, 0x3E, 0x03, 0xFF, 0x9F, 0x81, 0xFF, 0x87, - 0xE0, 0x7F, 0x83, 0xF8, 0x3F, 0xC0, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF0, - 0x0F, 0xFF, 0xFC, 0x01, 0xFE, 0x1C, 0x00, 0x00, 0x0C, 0x00, 0x07, 0xFF, - 0xF8, 0x07, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0x80, - 0x3F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x0F, 0x80, 0x1F, 0x1F, 0x80, - 0x1E, 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x7C, 0x1F, 0xFF, 0xF8, 0x1F, 0xFF, - 0xE0, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3E, 0x01, 0xF8, 0x3E, 0x00, - 0xF8, 0x3E, 0x00, 0xF8, 0x7E, 0x00, 0xF8, 0x7C, 0x00, 0xF8, 0x7C, 0x01, - 0xF0, 0x7C, 0x01, 0xF0, 0x7C, 0x01, 0xF0, 0xFC, 0x01, 0xF0, 0xF8, 0x01, - 0xF0, 0xF8, 0x01, 0xF0, 0x00, 0x3F, 0xC0, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, - 0x81, 0xFF, 0xFF, 0x0F, 0xC0, 0xFC, 0x3E, 0x01, 0xF1, 0xF0, 0x07, 0xC7, - 0xC0, 0x1F, 0x1F, 0x00, 0x00, 0x7E, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFF, - 0x80, 0x0F, 0xFF, 0xC0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x03, 0xFE, - 0x00, 0x01, 0xF8, 0x00, 0x03, 0xEF, 0x80, 0x0F, 0xBE, 0x00, 0x3C, 0xFC, - 0x01, 0xF3, 0xF8, 0x1F, 0x87, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, - 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xF0, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, - 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, - 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, - 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, - 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, - 0x00, 0x0F, 0x80, 0x1F, 0x1F, 0x80, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, - 0x3F, 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x3E, 0x3E, 0x00, 0x3E, 0x3E, 0x00, - 0x7E, 0x3E, 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x3E, 0x00, 0x7C, 0x7C, 0x00, - 0x7C, 0x7C, 0x00, 0xFC, 0x7C, 0x00, 0xF8, 0x7C, 0x00, 0xF8, 0x7C, 0x00, - 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x01, 0xF8, 0xF8, 0x01, 0xF0, 0xF8, 0x01, - 0xF0, 0xF8, 0x03, 0xE0, 0xFE, 0x0F, 0xE0, 0x7F, 0xFF, 0xC0, 0x7F, 0xFF, - 0x80, 0x1F, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0xFC, 0x00, 0x7F, 0xF0, 0x03, - 0xE7, 0xC0, 0x0F, 0x9F, 0x00, 0x7C, 0x7C, 0x01, 0xF1, 0xF0, 0x0F, 0x87, - 0xC0, 0x3E, 0x1F, 0x01, 0xF0, 0x7C, 0x07, 0x81, 0xF0, 0x3E, 0x03, 0xC0, - 0xF0, 0x0F, 0x07, 0xC0, 0x3E, 0x1E, 0x00, 0xF8, 0xF8, 0x03, 0xE3, 0xC0, - 0x0F, 0x9F, 0x00, 0x3E, 0x78, 0x00, 0xFB, 0xE0, 0x01, 0xEF, 0x00, 0x07, - 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xE0, - 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x07, 0xE0, 0x1F, 0xF8, - 0x07, 0xE0, 0x3F, 0xF8, 0x0F, 0xE0, 0x3E, 0xF8, 0x0F, 0xE0, 0x7E, 0xF8, - 0x1F, 0xE0, 0x7C, 0xF8, 0x1F, 0xE0, 0x7C, 0xF8, 0x3F, 0xE0, 0xF8, 0xF8, - 0x3D, 0xE0, 0xF8, 0x78, 0x3D, 0xE1, 0xF0, 0x78, 0x79, 0xE1, 0xF0, 0x78, - 0x79, 0xE1, 0xE0, 0x78, 0xF9, 0xE3, 0xE0, 0x78, 0xF1, 0xE3, 0xC0, 0x79, - 0xF1, 0xE7, 0xC0, 0x79, 0xE1, 0xE7, 0x80, 0x79, 0xE1, 0xE7, 0x80, 0x7B, - 0xC1, 0xEF, 0x80, 0x7B, 0xC1, 0xEF, 0x00, 0x7F, 0x81, 0xFF, 0x00, 0x7F, - 0x81, 0xFE, 0x00, 0x7F, 0x01, 0xFE, 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x7F, - 0x01, 0xFC, 0x00, 0x7E, 0x01, 0xF8, 0x00, 0x3E, 0x01, 0xF8, 0x00, 0x3C, - 0x01, 0xF0, 0x00, 0x03, 0xF0, 0x07, 0xE0, 0x7E, 0x01, 0xF8, 0x07, 0xE0, - 0x7E, 0x00, 0xFC, 0x1F, 0x80, 0x1F, 0x83, 0xE0, 0x01, 0xF8, 0xF8, 0x00, - 0x3F, 0x3F, 0x00, 0x03, 0xEF, 0xC0, 0x00, 0x7F, 0xF0, 0x00, 0x0F, 0xFC, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xC0, - 0x00, 0x3E, 0xF8, 0x00, 0x0F, 0xDF, 0x80, 0x03, 0xF3, 0xF0, 0x00, 0xFC, - 0x3F, 0x00, 0x3F, 0x07, 0xE0, 0x07, 0xE0, 0xFC, 0x01, 0xF8, 0x0F, 0xC0, - 0x7E, 0x01, 0xF8, 0x1F, 0x80, 0x3F, 0x80, 0x7C, 0x00, 0xFD, 0xF8, 0x07, - 0xE7, 0xE0, 0x1F, 0x1F, 0x80, 0xFC, 0x3E, 0x07, 0xE0, 0xFC, 0x1F, 0x03, - 0xF0, 0xFC, 0x07, 0xC7, 0xE0, 0x1F, 0x1F, 0x00, 0x7E, 0xFC, 0x00, 0xFB, - 0xE0, 0x03, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, - 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x01, - 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, - 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x83, 0xFF, - 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xE0, 0x00, - 0x07, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, - 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, - 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, - 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF8, 0x00, - 0x03, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, - 0xF0, 0x7F, 0xFF, 0xF0, 0x00, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x1F, - 0xF0, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, - 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, - 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, - 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, - 0xF0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x00, 0xE7, 0x39, 0xCE, 0x31, 0x8C, - 0x63, 0x1C, 0xE7, 0x39, 0xCE, 0x31, 0x8C, 0x63, 0x9C, 0xE7, 0x38, 0x01, - 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x1F, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, - 0x00, 0x3E, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, - 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, - 0x00, 0x3E, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, - 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x1F, 0xF0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, - 0x00, 0x00, 0x7C, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFC, 0x03, 0xFC, 0x03, - 0x9E, 0x07, 0x9E, 0x0F, 0x1E, 0x0F, 0x1E, 0x1E, 0x1E, 0x1C, 0x0F, 0x3C, - 0x0F, 0x78, 0x0F, 0x78, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFE, 0xF3, 0x8C, 0x71, 0x80, 0x01, 0xFE, 0x01, 0xFF, 0xE0, - 0xFF, 0xF8, 0x7F, 0xFF, 0x1F, 0x0F, 0xC7, 0x81, 0xF0, 0x00, 0x7C, 0x00, - 0xFE, 0x07, 0xFF, 0x87, 0xFF, 0xE3, 0xFE, 0xF9, 0xF0, 0x7C, 0xF8, 0x1F, - 0x3E, 0x0F, 0xCF, 0x87, 0xF3, 0xFF, 0xF8, 0xFF, 0xFE, 0x1F, 0xEF, 0x81, - 0xE3, 0xF0, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, - 0x07, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF9, 0xF8, 0x0F, 0xFF, - 0xC1, 0xFF, 0xFE, 0x1F, 0xFF, 0xE1, 0xFC, 0x3F, 0x1F, 0x83, 0xF1, 0xF0, - 0x1F, 0x3E, 0x01, 0xF3, 0xE0, 0x1F, 0x3C, 0x01, 0xF3, 0xC0, 0x1F, 0x3C, - 0x03, 0xE7, 0xC0, 0x3E, 0x7E, 0x07, 0xC7, 0xF1, 0xFC, 0x7F, 0xFF, 0x87, - 0xFF, 0xF0, 0xFB, 0xFE, 0x0F, 0x9F, 0x80, 0x00, 0xFC, 0x01, 0xFF, 0xC0, - 0xFF, 0xF8, 0x7F, 0xFF, 0x3F, 0x0F, 0xCF, 0x81, 0xF7, 0xC0, 0x7D, 0xF0, - 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x0F, - 0xBE, 0x07, 0xCF, 0xC3, 0xF1, 0xFF, 0xF8, 0x7F, 0xFC, 0x0F, 0xFE, 0x00, - 0xFE, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, - 0x3E, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x7E, 0x7C, - 0x07, 0xFD, 0xF0, 0x3F, 0xFF, 0xC1, 0xFF, 0xFE, 0x0F, 0xE3, 0xF8, 0x3E, - 0x07, 0xE1, 0xF0, 0x1F, 0x87, 0xC0, 0x3C, 0x3E, 0x00, 0xF0, 0xF8, 0x07, - 0xC3, 0xE0, 0x1F, 0x0F, 0x80, 0x7C, 0x3E, 0x03, 0xE0, 0xF8, 0x1F, 0x83, - 0xF0, 0xFE, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x7E, - 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0xE0, 0x3F, 0xFE, 0x0F, 0xFF, 0xE3, - 0xF0, 0x7E, 0x7C, 0x07, 0xDF, 0x00, 0xFB, 0xE0, 0x1F, 0x7F, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x3F, - 0x07, 0xE3, 0xFF, 0xF8, 0x7F, 0xFE, 0x03, 0xFF, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0xF8, 0x1F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7C, 0x07, 0xC0, 0x3E, 0x0F, - 0xFE, 0x7F, 0xF3, 0xFF, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, - 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x78, 0x07, 0xC0, 0x3E, 0x01, - 0xF0, 0x0F, 0x80, 0xF8, 0x07, 0xC0, 0x00, 0x00, 0x7C, 0x7C, 0x07, 0xFD, - 0xF0, 0x3F, 0xF7, 0x81, 0xFF, 0xFE, 0x0F, 0xE3, 0xF8, 0x3E, 0x07, 0xE1, - 0xF8, 0x0F, 0x87, 0xC0, 0x3C, 0x1E, 0x00, 0xF0, 0xF8, 0x03, 0xC3, 0xE0, - 0x1F, 0x0F, 0x80, 0x78, 0x3E, 0x03, 0xE0, 0xF8, 0x1F, 0x83, 0xF0, 0xFE, - 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0x3F, 0xEF, 0x00, 0x3E, 0x7C, 0x00, - 0x01, 0xF0, 0x00, 0x07, 0xC3, 0xE0, 0x3E, 0x0F, 0x80, 0xF8, 0x3F, 0x0F, - 0xC0, 0x7F, 0xFE, 0x00, 0xFF, 0xF0, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, - 0x00, 0x0F, 0x80, 0x00, 0xF8, 0xF8, 0x0F, 0xBF, 0xE0, 0xFF, 0xFF, 0x0F, - 0xFF, 0xF1, 0xFC, 0x3F, 0x1F, 0x81, 0xF1, 0xF0, 0x1F, 0x1F, 0x01, 0xF1, - 0xE0, 0x1F, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, - 0x7C, 0x03, 0xE7, 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0x7C, 0x07, - 0xCF, 0x80, 0x78, 0x07, 0xC1, 0xF0, 0x7C, 0x3E, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, - 0x0F, 0x87, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x3E, 0x00, - 0x00, 0x3E, 0x00, 0x78, 0x01, 0xF0, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, - 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, - 0x1F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x1F, - 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xF0, 0x1F, 0xC0, 0x3F, 0x80, - 0x7E, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, - 0x0F, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, - 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x07, 0xC7, 0xE0, 0x3E, 0x7E, 0x01, - 0xF7, 0xE0, 0x0F, 0xFE, 0x00, 0xFF, 0xE0, 0x07, 0xFF, 0x00, 0x3F, 0xFC, - 0x01, 0xFF, 0xE0, 0x0F, 0xDF, 0x00, 0xFC, 0xFC, 0x07, 0xC3, 0xE0, 0x3E, - 0x1F, 0x01, 0xF0, 0xFC, 0x0F, 0x83, 0xE0, 0xF8, 0x1F, 0x87, 0xC0, 0xFC, - 0x00, 0x07, 0xC1, 0xF0, 0x7C, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x1F, - 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x87, - 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC3, 0xE0, 0xF8, 0x3E, 0x00, 0x0F, 0x8F, - 0x83, 0xF0, 0x3E, 0xFF, 0x3F, 0xE0, 0xF7, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, - 0xFF, 0x1F, 0xC7, 0xF8, 0x7C, 0x7C, 0x0F, 0x81, 0xF1, 0xF0, 0x3E, 0x07, - 0xCF, 0x81, 0xF0, 0x3E, 0x3E, 0x07, 0xC0, 0xF8, 0xF8, 0x1F, 0x03, 0xE3, - 0xE0, 0x7C, 0x0F, 0x8F, 0x81, 0xF0, 0x3E, 0x7C, 0x0F, 0x81, 0xF1, 0xF0, - 0x3E, 0x07, 0xC7, 0xC0, 0xF8, 0x1F, 0x1F, 0x03, 0xE0, 0x7C, 0x7C, 0x0F, - 0x81, 0xE3, 0xE0, 0x7C, 0x0F, 0x8F, 0x81, 0xF0, 0x3E, 0x00, 0x0F, 0x8F, - 0x80, 0xFB, 0xFE, 0x0F, 0xFF, 0xF1, 0xFF, 0xFF, 0x1F, 0xC3, 0xF1, 0xF8, - 0x1F, 0x1F, 0x01, 0xF1, 0xF0, 0x1F, 0x3E, 0x01, 0xF3, 0xE0, 0x3E, 0x3E, - 0x03, 0xE3, 0xE0, 0x3E, 0x3C, 0x03, 0xE7, 0xC0, 0x3E, 0x7C, 0x07, 0xC7, - 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0x80, 0x7C, 0xF8, 0x07, 0x80, 0x00, 0xFE, - 0x00, 0x7F, 0xF0, 0x3F, 0xFF, 0x0F, 0xFF, 0xE3, 0xF8, 0xFE, 0x7C, 0x0F, - 0xDF, 0x00, 0xFB, 0xE0, 0x1F, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xE0, 0x1F, - 0xFC, 0x03, 0xEF, 0x80, 0x7D, 0xF8, 0x1F, 0x3F, 0x07, 0xE3, 0xFF, 0xF8, - 0x7F, 0xFE, 0x07, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xE7, 0xE0, 0x0F, - 0xBF, 0xC0, 0x7D, 0xFF, 0x81, 0xFF, 0xFE, 0x07, 0xF0, 0xFC, 0x1F, 0x81, - 0xF0, 0x7C, 0x07, 0xC3, 0xE0, 0x1F, 0x0F, 0x80, 0x7C, 0x3E, 0x01, 0xF0, - 0xF0, 0x07, 0xC3, 0xC0, 0x3E, 0x1F, 0x00, 0xF8, 0x7E, 0x07, 0xC1, 0xFC, - 0x7F, 0x07, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0xFB, 0xFE, 0x03, 0xE7, 0xE0, - 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, - 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x01, - 0xF1, 0xF0, 0x7F, 0xDF, 0x0F, 0xFD, 0xF1, 0xFF, 0xFE, 0x3F, 0x8F, 0xE3, - 0xE0, 0x7E, 0x7C, 0x03, 0xE7, 0xC0, 0x3E, 0xF8, 0x03, 0xCF, 0x80, 0x3C, - 0xF8, 0x07, 0xCF, 0x80, 0x7C, 0xF8, 0x0F, 0x8F, 0x81, 0xF8, 0xFC, 0x3F, - 0x87, 0xFF, 0xF8, 0x7F, 0xFF, 0x83, 0xFF, 0xF0, 0x1F, 0x9F, 0x00, 0x01, - 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, - 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x0F, 0x8E, 0x1F, 0x7C, 0x3F, - 0xF0, 0xFF, 0xE1, 0xFC, 0x03, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x3E, 0x00, - 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, - 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, 0x00, 0x01, 0xFC, 0x01, 0xFF, 0xC0, - 0xFF, 0xF8, 0x7F, 0xFF, 0x3F, 0x0F, 0xCF, 0x81, 0xF3, 0xF0, 0x00, 0xFF, - 0x80, 0x3F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xF8, 0x03, 0xFE, 0x00, 0x1F, - 0xBE, 0x03, 0xEF, 0xC1, 0xFB, 0xFF, 0xFC, 0x7F, 0xFE, 0x0F, 0xFF, 0x00, - 0xFE, 0x00, 0x0F, 0x81, 0xF0, 0x7C, 0x0F, 0x81, 0xF0, 0xFF, 0xBF, 0xF7, - 0xFE, 0x3E, 0x07, 0xC0, 0xF8, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, - 0xF8, 0x1F, 0x03, 0xE0, 0x7F, 0x0F, 0xE1, 0xFC, 0x1F, 0x80, 0x1F, 0x01, - 0xF1, 0xF0, 0x1F, 0x3E, 0x03, 0xE3, 0xE0, 0x3E, 0x3E, 0x03, 0xE3, 0xE0, - 0x3E, 0x3E, 0x03, 0xE7, 0xC0, 0x7C, 0x7C, 0x07, 0xC7, 0xC0, 0x7C, 0x7C, - 0x07, 0xC7, 0xC0, 0x7C, 0xF8, 0x0F, 0x8F, 0x81, 0xF8, 0xF8, 0x3F, 0x8F, - 0xFF, 0xF8, 0xFF, 0xFF, 0x07, 0xFD, 0xF0, 0x3F, 0x1F, 0x00, 0xF8, 0x0F, - 0xFE, 0x03, 0xEF, 0x81, 0xF3, 0xE0, 0x7C, 0xF8, 0x3E, 0x3E, 0x0F, 0x8F, - 0x87, 0xC1, 0xE1, 0xF0, 0x78, 0xF8, 0x1E, 0x3E, 0x07, 0x9F, 0x01, 0xF7, - 0x80, 0x7F, 0xE0, 0x1F, 0xF0, 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x3F, 0x80, - 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xF8, 0x1F, 0x07, 0xFF, 0x03, 0xE0, 0xFB, - 0xE0, 0xFC, 0x1F, 0x7C, 0x1F, 0x87, 0xCF, 0x87, 0xF0, 0xF9, 0xF0, 0xFE, - 0x3E, 0x3E, 0x3D, 0xC7, 0xC3, 0xC7, 0xB9, 0xF0, 0x79, 0xE7, 0x3E, 0x0F, - 0x3C, 0xE7, 0x81, 0xEF, 0x1D, 0xF0, 0x3D, 0xE3, 0xBC, 0x07, 0xBC, 0x7F, - 0x80, 0xFF, 0x0F, 0xE0, 0x1F, 0xE1, 0xFC, 0x03, 0xF8, 0x3F, 0x00, 0x7F, - 0x07, 0xE0, 0x0F, 0xC0, 0xF8, 0x01, 0xF8, 0x1F, 0x00, 0x00, 0x0F, 0xC1, - 0xF8, 0x3F, 0x07, 0xC0, 0x7C, 0x3E, 0x01, 0xF9, 0xF8, 0x03, 0xEF, 0xC0, - 0x0F, 0xBE, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0x80, 0x01, 0xFC, 0x00, 0x03, - 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x3E, 0xF8, - 0x01, 0xFB, 0xF0, 0x07, 0xC7, 0xC0, 0x3E, 0x1F, 0x81, 0xF8, 0x7E, 0x0F, - 0xC0, 0xF8, 0x00, 0x1F, 0x80, 0x7C, 0x3E, 0x03, 0xE0, 0xF8, 0x0F, 0x03, - 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3E, 0x0F, 0x80, 0xF8, 0x3C, 0x03, 0xE1, - 0xF0, 0x07, 0x87, 0x80, 0x1F, 0x3E, 0x00, 0x7C, 0xF0, 0x01, 0xF7, 0xC0, - 0x07, 0xDE, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xC0, 0x01, 0xFE, 0x00, 0x03, - 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, - 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x01, - 0xF8, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE1, 0xFF, 0xFC, 0x3F, - 0xFF, 0x87, 0xFF, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, - 0xF0, 0x01, 0xFC, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, - 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xFF, 0xF8, 0xFF, 0xFF, 0x1F, 0xFF, - 0xE3, 0xFF, 0xFC, 0x00, 0x00, 0x7C, 0x03, 0xF0, 0x1F, 0xC0, 0xFE, 0x03, - 0xE0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, - 0xE0, 0x0F, 0x80, 0x3C, 0x01, 0xF0, 0x1F, 0x80, 0x70, 0x01, 0xF8, 0x01, - 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, - 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xFC, 0x07, 0xE0, 0x0F, 0x80, - 0x1E, 0x00, 0x03, 0x81, 0xC0, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0C, 0x0E, - 0x07, 0x03, 0x81, 0xC0, 0xC0, 0xE0, 0x70, 0x38, 0x18, 0x1C, 0x0E, 0x07, - 0x03, 0x81, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x18, 0x1C, 0x0E, 0x07, 0x01, - 0x80, 0x80, 0x00, 0x00, 0x01, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0xFE, 0x00, - 0x78, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, - 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x7E, 0x00, 0x38, 0x07, 0xE0, - 0x3E, 0x00, 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, - 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x1F, 0x01, 0xF8, 0x0F, 0xE0, 0x3F, 0x00, - 0xF8, 0x00, 0x0F, 0x00, 0x1F, 0xC1, 0xDF, 0xF0, 0xEE, 0x3F, 0xE6, 0x07, - 0xF0, 0x01, 0xE0 }; - -const GFXglyph FreeSansBoldOblique18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' - { 0, 10, 25, 12, 4, -24 }, // 0x21 '!' - { 32, 13, 9, 17, 6, -25 }, // 0x22 '"' - { 47, 22, 24, 19, 1, -23 }, // 0x23 '#' - { 113, 19, 31, 19, 2, -26 }, // 0x24 '$' - { 187, 26, 26, 31, 5, -25 }, // 0x25 '%' - { 272, 21, 25, 25, 3, -24 }, // 0x26 '&' - { 338, 5, 9, 8, 6, -25 }, // 0x27 ''' - { 344, 13, 33, 12, 3, -25 }, // 0x28 '(' - { 398, 13, 33, 12, -1, -25 }, // 0x29 ')' - { 452, 12, 11, 14, 5, -25 }, // 0x2A '*' - { 469, 18, 16, 20, 3, -15 }, // 0x2B '+' - { 505, 7, 11, 10, 1, -4 }, // 0x2C ',' - { 515, 10, 4, 12, 2, -10 }, // 0x2D '-' - { 520, 6, 5, 10, 2, -4 }, // 0x2E '.' - { 524, 15, 25, 10, 0, -24 }, // 0x2F '/' - { 571, 18, 25, 19, 3, -24 }, // 0x30 '0' - { 628, 13, 25, 19, 6, -24 }, // 0x31 '1' - { 669, 21, 25, 19, 1, -24 }, // 0x32 '2' - { 735, 20, 25, 19, 2, -24 }, // 0x33 '3' - { 798, 19, 25, 19, 2, -24 }, // 0x34 '4' - { 858, 20, 24, 19, 2, -23 }, // 0x35 '5' - { 918, 19, 25, 19, 3, -24 }, // 0x36 '6' - { 978, 19, 24, 19, 5, -23 }, // 0x37 '7' - { 1035, 20, 25, 19, 2, -24 }, // 0x38 '8' - { 1098, 19, 25, 19, 2, -24 }, // 0x39 '9' - { 1158, 9, 18, 12, 4, -17 }, // 0x3A ':' - { 1179, 10, 24, 12, 3, -17 }, // 0x3B ';' - { 1209, 19, 17, 20, 3, -16 }, // 0x3C '<' - { 1250, 20, 12, 20, 2, -13 }, // 0x3D '=' - { 1280, 19, 17, 20, 1, -15 }, // 0x3E '>' - { 1321, 18, 26, 21, 6, -25 }, // 0x3F '?' - { 1380, 33, 31, 34, 3, -25 }, // 0x40 '@' - { 1508, 23, 26, 25, 1, -25 }, // 0x41 'A' - { 1583, 24, 26, 25, 3, -25 }, // 0x42 'B' - { 1661, 24, 26, 25, 4, -25 }, // 0x43 'C' - { 1739, 24, 26, 25, 3, -25 }, // 0x44 'D' - { 1817, 24, 26, 23, 3, -25 }, // 0x45 'E' - { 1895, 23, 26, 21, 3, -25 }, // 0x46 'F' - { 1970, 24, 26, 27, 4, -25 }, // 0x47 'G' - { 2048, 26, 26, 25, 2, -25 }, // 0x48 'H' - { 2133, 10, 26, 10, 2, -25 }, // 0x49 'I' - { 2166, 20, 26, 19, 2, -25 }, // 0x4A 'J' - { 2231, 26, 26, 25, 3, -25 }, // 0x4B 'K' - { 2316, 18, 26, 21, 3, -25 }, // 0x4C 'L' - { 2375, 31, 26, 29, 2, -25 }, // 0x4D 'M' - { 2476, 27, 26, 25, 2, -25 }, // 0x4E 'N' - { 2564, 25, 26, 27, 4, -25 }, // 0x4F 'O' - { 2646, 23, 26, 23, 3, -25 }, // 0x50 'P' - { 2721, 25, 27, 27, 4, -25 }, // 0x51 'Q' - { 2806, 24, 26, 25, 3, -25 }, // 0x52 'R' - { 2884, 22, 26, 23, 3, -25 }, // 0x53 'S' - { 2956, 21, 26, 21, 5, -25 }, // 0x54 'T' - { 3025, 24, 26, 25, 4, -25 }, // 0x55 'U' - { 3103, 22, 26, 23, 6, -25 }, // 0x56 'V' - { 3175, 32, 26, 33, 6, -25 }, // 0x57 'W' - { 3279, 27, 26, 23, 1, -25 }, // 0x58 'X' - { 3367, 22, 26, 23, 6, -25 }, // 0x59 'Y' - { 3439, 25, 26, 21, 1, -25 }, // 0x5A 'Z' - { 3521, 15, 33, 12, 1, -25 }, // 0x5B '[' - { 3583, 5, 25, 10, 5, -24 }, // 0x5C '\' - { 3599, 15, 33, 12, -1, -25 }, // 0x5D ']' - { 3661, 16, 15, 20, 4, -23 }, // 0x5E '^' - { 3691, 21, 3, 19, -2, 5 }, // 0x5F '_' - { 3699, 5, 5, 12, 6, -25 }, // 0x60 '`' - { 3703, 18, 19, 19, 2, -18 }, // 0x61 'a' - { 3746, 20, 26, 21, 2, -25 }, // 0x62 'b' - { 3811, 18, 19, 19, 3, -18 }, // 0x63 'c' - { 3854, 22, 26, 21, 3, -25 }, // 0x64 'd' - { 3926, 19, 19, 19, 2, -18 }, // 0x65 'e' - { 3972, 13, 26, 12, 3, -25 }, // 0x66 'f' - { 4015, 22, 27, 21, 1, -18 }, // 0x67 'g' - { 4090, 20, 26, 21, 2, -25 }, // 0x68 'h' - { 4155, 10, 26, 10, 2, -25 }, // 0x69 'i' - { 4188, 15, 34, 10, -2, -25 }, // 0x6A 'j' - { 4252, 21, 26, 19, 2, -25 }, // 0x6B 'k' - { 4321, 10, 26, 10, 2, -25 }, // 0x6C 'l' - { 4354, 30, 19, 31, 2, -18 }, // 0x6D 'm' - { 4426, 20, 19, 21, 2, -18 }, // 0x6E 'n' - { 4474, 19, 19, 21, 3, -18 }, // 0x6F 'o' - { 4520, 22, 27, 21, 0, -18 }, // 0x70 'p' - { 4595, 20, 27, 21, 3, -18 }, // 0x71 'q' - { 4663, 15, 19, 14, 2, -18 }, // 0x72 'r' - { 4699, 18, 19, 19, 2, -18 }, // 0x73 's' - { 4742, 11, 23, 12, 4, -22 }, // 0x74 't' - { 4774, 20, 19, 21, 3, -18 }, // 0x75 'u' - { 4822, 18, 19, 19, 5, -18 }, // 0x76 'v' - { 4865, 27, 19, 27, 4, -18 }, // 0x77 'w' - { 4930, 22, 19, 19, 1, -18 }, // 0x78 'x' - { 4983, 22, 27, 19, 1, -18 }, // 0x79 'y' - { 5058, 19, 19, 17, 1, -18 }, // 0x7A 'z' - { 5104, 14, 33, 14, 2, -25 }, // 0x7B '{' - { 5162, 9, 33, 10, 2, -25 }, // 0x7C '|' - { 5200, 14, 33, 14, 2, -25 }, // 0x7D '}' - { 5258, 17, 6, 20, 3, -10 } }; // 0x7E '~' - -const GFXfont FreeSansBoldOblique18pt7b PROGMEM = { - (uint8_t *)FreeSansBoldOblique18pt7bBitmaps, - (GFXglyph *)FreeSansBoldOblique18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 5943 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h deleted file mode 100644 index ea65f9b..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique24pt7b.h +++ /dev/null @@ -1,893 +0,0 @@ -const uint8_t FreeSansBoldOblique24pt7bBitmaps[] PROGMEM = { - 0x01, 0xE0, 0x07, 0xF0, 0x1F, 0xC0, 0xFF, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, - 0x80, 0xFE, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x1F, - 0x80, 0x7E, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0xF8, 0x03, 0xE0, 0x0F, - 0x80, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0xFE, 0x03, 0xF8, 0x00, - 0x7E, 0x0F, 0xDF, 0x83, 0xF7, 0xE0, 0xFF, 0xF0, 0x7E, 0xFC, 0x1F, 0xBF, - 0x07, 0xEF, 0xC1, 0xFB, 0xE0, 0x7C, 0xF8, 0x1F, 0x3C, 0x07, 0x8F, 0x01, - 0xE3, 0x80, 0x70, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x3E, 0x0F, 0x80, 0x03, - 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0x7C, 0x00, 0x0F, 0x83, - 0xE0, 0x00, 0xF8, 0x3E, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, - 0x7F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0x0F, - 0x83, 0xE0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x3E, 0x0F, - 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF8, 0x7C, 0x00, - 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, - 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0x07, 0xC0, 0x00, 0xF8, 0x3E, - 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x7C, 0x1F, 0x00, 0x07, 0xC1, 0xF0, 0x00, - 0x3E, 0x0F, 0x80, 0x01, 0xF0, 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0xF8, - 0x3C, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0xE0, 0x1F, - 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x07, 0xF3, 0x9F, 0xC1, 0xF8, 0xE3, 0xF0, - 0x7C, 0x38, 0xFC, 0x3F, 0x0E, 0x3F, 0x0F, 0xC7, 0x8F, 0xC3, 0xF1, 0xC0, - 0x00, 0xFE, 0x70, 0x00, 0x3F, 0xDC, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, - 0xE0, 0x00, 0x3F, 0xFE, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xFC, 0x00, - 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x77, 0xF8, 0x00, 0x1C, 0xFE, - 0x00, 0x07, 0x3F, 0x8F, 0xE3, 0xCF, 0xE3, 0xF8, 0xE3, 0xF8, 0xFE, 0x38, - 0xFC, 0x3F, 0x8E, 0x7F, 0x0F, 0xF3, 0x9F, 0xC3, 0xFD, 0xFF, 0xE0, 0x7F, - 0xFF, 0xF0, 0x1F, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, - 0x03, 0xFC, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x03, 0x80, - 0x00, 0x01, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x07, - 0x80, 0x7F, 0xE0, 0x00, 0xF0, 0x0F, 0xFF, 0x00, 0x1E, 0x01, 0xFF, 0xF0, - 0x01, 0xC0, 0x3F, 0xFF, 0x80, 0x3C, 0x07, 0xE1, 0xF8, 0x07, 0x80, 0x78, - 0x07, 0x80, 0xF0, 0x0F, 0x80, 0x78, 0x0E, 0x00, 0xF0, 0x07, 0x81, 0xC0, - 0x0F, 0x00, 0xF8, 0x3C, 0x00, 0xF0, 0x0F, 0x07, 0x80, 0x0F, 0xC3, 0xF0, - 0xF0, 0x00, 0xFF, 0xFE, 0x0E, 0x00, 0x07, 0xFF, 0xC1, 0xE0, 0x00, 0x7F, - 0xF8, 0x3C, 0x00, 0x03, 0xFF, 0x07, 0x80, 0x00, 0x0F, 0xC0, 0x70, 0x00, - 0x00, 0x00, 0x0E, 0x03, 0xF0, 0x00, 0x01, 0xE0, 0xFF, 0xC0, 0x00, 0x3C, - 0x1F, 0xFE, 0x00, 0x03, 0x83, 0xFF, 0xE0, 0x00, 0x70, 0x7F, 0xFF, 0x00, - 0x0F, 0x0F, 0xC3, 0xF0, 0x01, 0xE0, 0xF0, 0x0F, 0x00, 0x3C, 0x1F, 0x00, - 0xF0, 0x03, 0x81, 0xE0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xF0, 0x0F, 0x01, - 0xE0, 0x1E, 0x01, 0xE0, 0x1F, 0x87, 0xE0, 0x1C, 0x01, 0xFF, 0xFC, 0x03, - 0x80, 0x0F, 0xFF, 0x80, 0x78, 0x00, 0xFF, 0xF0, 0x0F, 0x00, 0x07, 0xFE, - 0x01, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0xF0, - 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0x00, 0x03, 0xFF, 0xF8, 0x00, - 0x3F, 0x9F, 0xC0, 0x03, 0xF8, 0x7E, 0x00, 0x1F, 0xC3, 0xF0, 0x00, 0xFE, - 0x1F, 0x00, 0x07, 0xF1, 0xF8, 0x00, 0x3F, 0xCF, 0xC0, 0x01, 0xFE, 0xFC, - 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0x07, 0xC1, 0xFF, - 0xF8, 0x3E, 0x3F, 0xFF, 0xE3, 0xE3, 0xFE, 0x3F, 0x1F, 0x1F, 0xC1, 0xFD, - 0xF1, 0xFC, 0x07, 0xFF, 0x8F, 0xC0, 0x3F, 0xF8, 0xFE, 0x00, 0xFF, 0xC7, - 0xF0, 0x07, 0xFC, 0x3F, 0x80, 0x1F, 0xC1, 0xFC, 0x00, 0xFE, 0x0F, 0xF0, - 0x1F, 0xF8, 0x7F, 0xC1, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, - 0xFC, 0x3F, 0xFF, 0xCF, 0xE0, 0x7F, 0xF8, 0x7F, 0x80, 0xFF, 0x00, 0x00, - 0x7E, 0xFD, 0xFF, 0xEF, 0xDF, 0xBF, 0x7C, 0xF9, 0xE3, 0xC7, 0x00, 0x00, - 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, - 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x01, 0xF0, 0x01, 0xF8, - 0x00, 0xF8, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x1F, - 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x03, 0xF0, 0x01, - 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, - 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x1E, - 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x3E, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, - 0x1E, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x7C, - 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x01, 0xF0, 0x00, - 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, - 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, - 0x00, 0x1F, 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x03, - 0xE0, 0x03, 0xF0, 0x01, 0xF0, 0x01, 0xF8, 0x00, 0xF8, 0x00, 0xFC, 0x00, - 0x7C, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, - 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0x03, 0x80, 0x07, - 0x00, 0x0E, 0x07, 0x3C, 0x6F, 0xFF, 0xFF, 0xFF, 0xBF, 0xFE, 0x0F, 0xE0, - 0x1F, 0xC0, 0x7F, 0x81, 0xEF, 0x87, 0x8F, 0x0E, 0x1E, 0x08, 0x10, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, - 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, - 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF8, 0x00, - 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xC7, 0xF1, 0xF8, 0xFE, 0x3F, - 0x8F, 0xE0, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0xF0, 0xFC, 0x3C, 0x0C, - 0x00, 0x7F, 0xFD, 0xFF, 0xF7, 0xFF, 0x9F, 0xFE, 0xFF, 0xFB, 0xFF, 0xE0, - 0x7F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x70, 0x00, 0x0E, - 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x03, - 0x80, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x01, - 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, - 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, - 0x38, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, - 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, - 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x1F, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, - 0x1F, 0xC7, 0xF8, 0x1F, 0xC1, 0xFE, 0x1F, 0xC0, 0x7F, 0x0F, 0xC0, 0x3F, - 0x8F, 0xE0, 0x1F, 0xC7, 0xF0, 0x0F, 0xE3, 0xF0, 0x07, 0xF3, 0xF8, 0x03, - 0xF9, 0xFC, 0x01, 0xFC, 0xFC, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0x7F, 0x00, - 0x7F, 0x3F, 0x80, 0x3F, 0x9F, 0xC0, 0x1F, 0xCF, 0xE0, 0x1F, 0xEF, 0xE0, - 0x0F, 0xE7, 0xF0, 0x07, 0xF3, 0xF8, 0x03, 0xF9, 0xFC, 0x03, 0xF8, 0xFE, - 0x01, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, 0x80, 0xFE, 0x1F, 0xE0, 0x7F, 0x0F, - 0xF8, 0xFF, 0x03, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, - 0x1F, 0xFF, 0x00, 0x07, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x0F, - 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x3F, 0xF9, 0xFF, - 0xF8, 0xFF, 0xFC, 0xFF, 0xFE, 0x7F, 0xFF, 0x00, 0x3F, 0x80, 0x1F, 0x80, - 0x0F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xF8, 0x01, 0xFC, - 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x1F, 0xC0, 0x0F, - 0xE0, 0x07, 0xF0, 0x03, 0xF0, 0x01, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, - 0x7F, 0x00, 0x3F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x00, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, - 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x07, 0xFC, 0x07, 0xF0, 0x1F, 0xE0, 0x7F, - 0x00, 0x7F, 0x03, 0xF0, 0x03, 0xF8, 0x1F, 0x80, 0x1F, 0xC1, 0xF8, 0x00, - 0xFE, 0x0F, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xF0, - 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x7F, 0x80, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0xFF, - 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x7F, - 0x80, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, - 0xFC, 0x1F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xF0, - 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xFF, 0x80, 0x0F, 0xFF, 0xF0, 0x07, - 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xC0, 0xFE, 0x1F, 0xF0, 0x7F, 0x01, 0xFC, - 0x1F, 0x80, 0x7F, 0x07, 0xE0, 0x1F, 0xC3, 0xF0, 0x07, 0xF0, 0xFC, 0x01, - 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x80, 0x01, - 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xFF, 0x80, - 0x01, 0xFF, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x3F, 0x80, - 0x3F, 0xCF, 0xE0, 0x0F, 0xE3, 0xF8, 0x07, 0xF8, 0xFF, 0x83, 0xFC, 0x3F, - 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, - 0x03, 0xFF, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, - 0x7F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xF0, 0x00, - 0x3F, 0xF8, 0x00, 0x3D, 0xFC, 0x00, 0x3C, 0xFE, 0x00, 0x3E, 0x7E, 0x00, - 0x3E, 0x7F, 0x00, 0x1E, 0x3F, 0x80, 0x1E, 0x1F, 0xC0, 0x1E, 0x0F, 0xC0, - 0x1F, 0x07, 0xE0, 0x1F, 0x07, 0xF0, 0x1F, 0x03, 0xF8, 0x1F, 0x01, 0xFC, - 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFE, 0x0F, 0x80, 0x7F, 0x07, 0xFF, 0xFF, - 0xF7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, - 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, - 0x7F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, - 0xF0, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x7C, 0x00, 0x00, 0x0F, - 0x80, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x03, 0xE3, 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x03, 0xFF, - 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x1F, 0xE1, 0xFF, 0x03, 0xF0, 0x1F, 0xE0, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0xFE, 0x1F, - 0xC0, 0x3F, 0x83, 0xF8, 0x07, 0xF0, 0x7F, 0x83, 0xFC, 0x0F, 0xFF, 0xFF, - 0x80, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFE, 0x00, 0x0F, - 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, - 0x00, 0x1F, 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x1F, 0xC3, - 0xFC, 0x1F, 0x80, 0xFE, 0x0F, 0xC0, 0x3F, 0x0F, 0xC0, 0x00, 0x07, 0xE0, - 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xF8, 0xFC, 0x01, 0xF9, - 0xFF, 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFC, 0x3F, - 0xE1, 0xFF, 0x1F, 0xE0, 0x7F, 0x8F, 0xE0, 0x1F, 0xCF, 0xE0, 0x0F, 0xE7, - 0xF0, 0x07, 0xF3, 0xF0, 0x03, 0xF9, 0xF8, 0x01, 0xF8, 0xFC, 0x01, 0xFC, - 0x7E, 0x00, 0xFE, 0x3F, 0x00, 0xFE, 0x1F, 0xC0, 0xFF, 0x0F, 0xF0, 0xFF, - 0x03, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, - 0x80, 0x07, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xCF, - 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, - 0x9F, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x1F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xE0, - 0x00, 0x03, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, - 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, - 0x01, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, - 0x0F, 0xFF, 0x80, 0x07, 0xFF, 0xF0, 0x03, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, - 0xC0, 0xFE, 0x0F, 0xF0, 0x3E, 0x01, 0xFC, 0x1F, 0x80, 0x3F, 0x07, 0xC0, - 0x0F, 0xC1, 0xF0, 0x03, 0xF0, 0x7C, 0x01, 0xF8, 0x1F, 0x00, 0xFC, 0x03, - 0xF0, 0x7F, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, - 0x07, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0x81, 0xFE, 0x1F, 0xE0, 0xFE, 0x03, - 0xFC, 0x3F, 0x00, 0x7F, 0x1F, 0xC0, 0x1F, 0xC7, 0xE0, 0x07, 0xF3, 0xF8, - 0x01, 0xFC, 0xFE, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0x8F, 0xE0, 0x0F, 0xE3, - 0xFC, 0x07, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, - 0x00, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0x03, 0xFF, 0xE0, 0x00, 0x3F, - 0xC0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x3F, 0xFF, 0x00, - 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, 0x3F, 0xC3, 0xF8, 0x3F, 0xC0, 0xFE, - 0x1F, 0xC0, 0x3F, 0x1F, 0xC0, 0x1F, 0x8F, 0xE0, 0x0F, 0xC7, 0xE0, 0x07, - 0xE7, 0xF0, 0x03, 0xF3, 0xF8, 0x01, 0xF9, 0xFC, 0x01, 0xFC, 0xFE, 0x00, - 0xFE, 0x7F, 0x00, 0xFE, 0x3F, 0xC0, 0xFF, 0x1F, 0xF0, 0xFF, 0x87, 0xFF, - 0xFF, 0xC3, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0x3F, 0xF3, 0xF0, 0x07, - 0xE3, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x7E, 0x1F, 0xC0, 0x7E, 0x0F, 0xF0, 0xFF, 0x07, 0xFF, 0xFF, 0x01, - 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x0F, 0xFF, 0x00, - 0x01, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7E, 0x0F, 0xE0, - 0xFE, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x07, 0xF0, 0x7F, 0x07, - 0xE0, 0xFE, 0x0F, 0xE0, 0xFE, 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, - 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, - 0x03, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, 0xF0, 0x0F, 0xC0, - 0x3C, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x00, - 0x01, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0xE0, - 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, - 0x0F, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x3F, 0xFE, - 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xF8, 0x00, - 0x7F, 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x01, 0xF8, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, - 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x8F, - 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, - 0xFF, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xF8, 0xFF, - 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0x80, 0x04, 0x00, 0x00, 0x01, 0xE0, 0x00, - 0x00, 0x7E, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x03, 0xFF, - 0xF8, 0x00, 0x7F, 0xFF, 0x80, 0x07, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xC0, - 0x01, 0xFF, 0xF0, 0x00, 0x1F, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFF, - 0xC0, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, - 0xE0, 0x1F, 0xFF, 0xC0, 0x07, 0xFF, 0x80, 0x01, 0xFF, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0x1C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, - 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFE, - 0x1F, 0xFF, 0xFE, 0x3F, 0xC1, 0xFF, 0x3F, 0x80, 0xFF, 0x7F, 0x00, 0x7F, - 0x7E, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, - 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, - 0x01, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, - 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, - 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x00, - 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xE0, 0x1F, 0xF8, 0x00, 0x07, - 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x07, 0xE0, - 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF0, 0x0F, 0xC0, 0x00, - 0x00, 0x0F, 0x80, 0xFC, 0x00, 0x00, 0x00, 0x3E, 0x07, 0xC0, 0x03, 0xF1, - 0xF1, 0xF0, 0x7C, 0x00, 0xFF, 0xCF, 0x07, 0x87, 0xE0, 0x1F, 0xFF, 0xF8, - 0x3C, 0x7E, 0x01, 0xF8, 0x7F, 0x81, 0xE3, 0xE0, 0x1F, 0x01, 0xF8, 0x0F, - 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x79, 0xF0, 0x1F, 0x00, 0x7C, 0x03, 0xDF, - 0x00, 0xF0, 0x03, 0xE0, 0x1C, 0xF8, 0x0F, 0x80, 0x1E, 0x01, 0xE7, 0xC0, - 0x78, 0x00, 0xF0, 0x0F, 0x3C, 0x07, 0xC0, 0x0F, 0x00, 0xF3, 0xE0, 0x3C, - 0x00, 0x78, 0x07, 0x9F, 0x03, 0xE0, 0x07, 0x80, 0x78, 0xF8, 0x1F, 0x00, - 0x7C, 0x07, 0xC7, 0xC0, 0xF8, 0x07, 0xC0, 0x7C, 0x3E, 0x07, 0xC0, 0x7E, - 0x07, 0xC1, 0xF0, 0x3F, 0x07, 0xF8, 0xFC, 0x0F, 0x81, 0xFF, 0xFF, 0xFF, - 0xC0, 0x7E, 0x07, 0xFF, 0xBF, 0xFC, 0x01, 0xF0, 0x1F, 0xF8, 0xFF, 0x80, - 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3F, - 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x03, 0x80, 0x00, 0x01, 0xFF, - 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, - 0xFE, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xF0, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x7F, - 0xF0, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, - 0xF0, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x03, 0xFB, - 0xF8, 0x00, 0x07, 0xF3, 0xF8, 0x00, 0x07, 0xE3, 0xF8, 0x00, 0x0F, 0xE3, - 0xF8, 0x00, 0x0F, 0xC3, 0xF8, 0x00, 0x1F, 0xC3, 0xF8, 0x00, 0x1F, 0x83, - 0xF8, 0x00, 0x3F, 0x81, 0xFC, 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x7F, 0x01, - 0xFC, 0x00, 0xFE, 0x01, 0xFC, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFF, 0xFF, - 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, - 0xFE, 0x07, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xFE, 0x0F, 0xE0, 0x00, - 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x3F, 0x80, 0x00, - 0xFE, 0x3F, 0x80, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, - 0x7F, 0x01, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, - 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, - 0xFF, 0x03, 0xF8, 0x00, 0xFF, 0x03, 0xF8, 0x00, 0x7F, 0x07, 0xF0, 0x00, - 0x7F, 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0x7E, 0x07, 0xF0, 0x00, - 0xFE, 0x0F, 0xF0, 0x03, 0xFC, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, - 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, - 0xF8, 0x1F, 0xFF, 0xFF, 0xF8, 0x1F, 0xC0, 0x07, 0xFC, 0x1F, 0xC0, 0x01, - 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x01, - 0xFC, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x03, 0xF8, 0x7F, 0x00, 0x07, - 0xF8, 0x7F, 0x00, 0x0F, 0xF0, 0x7F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, - 0xE0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, - 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, 0xFF, - 0xE0, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, - 0xFC, 0x01, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0x03, 0xFE, 0x07, 0xFC, 0x01, - 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xE0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, - 0x7F, 0x1F, 0xC0, 0x00, 0x7F, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xF8, 0xFE, 0x00, 0x03, - 0xF8, 0xFF, 0x00, 0x07, 0xF8, 0xFF, 0x00, 0x07, 0xF0, 0x7F, 0x80, 0x1F, - 0xF0, 0x7F, 0xE0, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, - 0x80, 0x1F, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xF8, - 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, - 0xE0, 0x03, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, - 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xF8, 0x03, 0xFE, 0x07, 0xF0, 0x01, - 0xFF, 0x07, 0xF0, 0x00, 0xFF, 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, - 0x7F, 0x0F, 0xF0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, - 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x7F, 0x1F, 0xC0, 0x00, - 0x7F, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xC0, 0x00, - 0xFE, 0x1F, 0xC0, 0x01, 0xFE, 0x3F, 0x80, 0x01, 0xFC, 0x3F, 0x80, 0x01, - 0xFC, 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x07, 0xF8, 0x7F, 0x00, 0x0F, - 0xF0, 0x7F, 0x00, 0x1F, 0xF0, 0x7F, 0x00, 0x7F, 0xE0, 0x7F, 0xFF, 0xFF, - 0xC0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, - 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, - 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, - 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xF8, 0x00, - 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, - 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, - 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, - 0xE0, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, - 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, - 0xFE, 0x01, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, - 0xFE, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, - 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, - 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, - 0xC0, 0x0F, 0xFF, 0xFF, 0xC0, 0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF, - 0xF8, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, - 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFC, 0x07, 0xFC, 0x0F, 0xF8, - 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0x3F, 0x87, 0xF0, 0x00, 0x1F, 0xC7, 0xF0, - 0x00, 0x0F, 0xE3, 0xF8, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x01, 0xFC, - 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x7F, - 0x00, 0x3F, 0xFF, 0x3F, 0x00, 0x1F, 0xFF, 0xBF, 0x80, 0x0F, 0xFF, 0x9F, - 0xC0, 0x07, 0xFF, 0xCF, 0xE0, 0x03, 0xFF, 0xE7, 0xF0, 0x03, 0xFF, 0xF3, - 0xF8, 0x00, 0x01, 0xF9, 0xFC, 0x00, 0x01, 0xF8, 0xFF, 0x00, 0x00, 0xFC, - 0x7F, 0x80, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, - 0x87, 0xFC, 0x00, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, - 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFE, 0xF8, 0x03, 0xFF, 0xFC, - 0x78, 0x00, 0x7F, 0xFC, 0x3C, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x01, 0xFC, - 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0x3F, 0x80, - 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0x3F, - 0x80, 0xFE, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x03, 0xF8, 0x00, - 0x3F, 0x80, 0xFF, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x03, 0xF8, - 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, 0x0F, 0xFF, 0xFF, 0xFE, 0x03, - 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xFF, - 0x01, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xF8, 0x0F, 0xE0, 0x00, - 0x7F, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, 0xF0, - 0x00, 0x7F, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x01, 0xFC, 0x07, - 0xF0, 0x00, 0x3F, 0x80, 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x01, 0xFC, - 0x07, 0xF0, 0x00, 0x3F, 0x80, 0xFE, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, - 0xFE, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x7F, 0x00, 0x07, 0xF0, 0x1F, 0xC0, - 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x07, 0xF0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, - 0x0F, 0xE0, 0x3F, 0x81, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, - 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x7F, 0x01, 0xFC, - 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, - 0x03, 0xF8, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0xFE, - 0x03, 0xF8, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, - 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x0F, 0xE0, 0xFE, 0x03, 0xFC, 0x1F, 0xC0, 0x7F, 0x03, 0xF8, 0x0F, 0xE0, - 0xFE, 0x01, 0xFC, 0x1F, 0xC0, 0x3F, 0x83, 0xF8, 0x0F, 0xE0, 0x7F, 0x01, - 0xFC, 0x0F, 0xF0, 0xFF, 0x81, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF8, 0x03, - 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xE0, 0x00, 0x1F, 0xE0, - 0x00, 0x00, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x00, 0xFF, 0x00, - 0x7F, 0x00, 0x1F, 0xF0, 0x03, 0xF8, 0x01, 0xFF, 0x00, 0x1F, 0xC0, 0x1F, - 0xE0, 0x00, 0xFE, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x1F, 0xE0, 0x00, 0x7F, - 0x01, 0xFE, 0x00, 0x03, 0xF8, 0x1F, 0xE0, 0x00, 0x1F, 0xC1, 0xFE, 0x00, - 0x00, 0xFE, 0x1F, 0xE0, 0x00, 0x0F, 0xE3, 0xFE, 0x00, 0x00, 0x7F, 0x3F, - 0xC0, 0x00, 0x03, 0xFB, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, - 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xC0, - 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x01, 0xFF, - 0x9F, 0xE0, 0x00, 0x0F, 0xF8, 0xFF, 0x00, 0x00, 0x7F, 0x83, 0xFC, 0x00, - 0x03, 0xF8, 0x1F, 0xF0, 0x00, 0x1F, 0xC0, 0x7F, 0x80, 0x01, 0xFC, 0x01, - 0xFE, 0x00, 0x0F, 0xE0, 0x0F, 0xF0, 0x00, 0x7F, 0x00, 0x3F, 0xC0, 0x03, - 0xF8, 0x01, 0xFF, 0x00, 0x3F, 0x80, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x3F, - 0xE0, 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x7F, 0x00, 0x07, 0xFC, 0x03, 0xF8, - 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x01, 0xFC, 0x00, 0x01, 0xFC, - 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xF8, - 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, - 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, - 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, - 0x00, 0x1F, 0xC0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, - 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x00, - 0x00, 0x7F, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, - 0x80, 0x03, 0xFF, 0x80, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x7F, 0xE0, 0x01, - 0xFF, 0xC0, 0x3F, 0xF0, 0x00, 0xFF, 0xE0, 0x3F, 0xF8, 0x00, 0xFF, 0xF0, - 0x1F, 0xFC, 0x00, 0x7F, 0xF8, 0x0F, 0xFE, 0x00, 0x7D, 0xF8, 0x07, 0xEF, - 0x00, 0x3E, 0xFC, 0x03, 0xF7, 0x80, 0x3F, 0xFE, 0x03, 0xFB, 0xC0, 0x1F, - 0x7F, 0x01, 0xFD, 0xE0, 0x1F, 0xBF, 0x00, 0xFE, 0xF0, 0x0F, 0x9F, 0x80, - 0x7E, 0x78, 0x0F, 0xDF, 0xC0, 0x7F, 0x3E, 0x07, 0xCF, 0xE0, 0x3F, 0x9F, - 0x07, 0xE7, 0xF0, 0x1F, 0xCF, 0x83, 0xE3, 0xF0, 0x0F, 0xE7, 0xC3, 0xF1, - 0xF8, 0x07, 0xE3, 0xE1, 0xF9, 0xFC, 0x07, 0xF1, 0xF0, 0xF8, 0xFE, 0x03, - 0xF8, 0xF8, 0xFC, 0x7F, 0x01, 0xFC, 0x7C, 0x7C, 0x3F, 0x00, 0xFC, 0x3E, - 0x7E, 0x1F, 0x80, 0x7E, 0x1F, 0x3E, 0x1F, 0xC0, 0x7F, 0x0F, 0xBF, 0x0F, - 0xE0, 0x3F, 0x87, 0xDF, 0x07, 0xE0, 0x1F, 0xC3, 0xFF, 0x83, 0xF0, 0x0F, - 0xC1, 0xFF, 0xC3, 0xF8, 0x0F, 0xE0, 0xFF, 0xC1, 0xFC, 0x07, 0xF0, 0x7F, - 0xE0, 0xFE, 0x03, 0xF8, 0x3F, 0xE0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F, - 0x00, 0xFC, 0x0F, 0xF0, 0x3F, 0x80, 0xFE, 0x07, 0xF8, 0x1F, 0xC0, 0x7F, - 0x03, 0xF8, 0x0F, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x07, 0xE0, 0x3F, 0xC0, - 0x01, 0xFC, 0x07, 0xFC, 0x00, 0x3F, 0x80, 0xFF, 0x80, 0x07, 0xF0, 0x1F, - 0xF0, 0x00, 0xFC, 0x07, 0xFF, 0x00, 0x3F, 0x80, 0xFF, 0xE0, 0x07, 0xF0, - 0x1F, 0xFC, 0x00, 0xFE, 0x03, 0xFF, 0xC0, 0x1F, 0x80, 0xFF, 0xF8, 0x03, - 0xF0, 0x1F, 0xFF, 0x80, 0xFE, 0x03, 0xFB, 0xF0, 0x1F, 0xC0, 0x7E, 0x7E, - 0x03, 0xF8, 0x0F, 0xC7, 0xE0, 0x7E, 0x03, 0xF8, 0xFC, 0x0F, 0xC0, 0x7F, - 0x1F, 0x83, 0xF8, 0x0F, 0xE1, 0xF8, 0x7F, 0x01, 0xF8, 0x3F, 0x0F, 0xE0, - 0x3F, 0x07, 0xF1, 0xF8, 0x0F, 0xE0, 0x7E, 0x3F, 0x01, 0xFC, 0x0F, 0xCF, - 0xE0, 0x3F, 0x00, 0xFD, 0xFC, 0x07, 0xE0, 0x1F, 0xBF, 0x81, 0xFC, 0x03, - 0xF7, 0xE0, 0x3F, 0x80, 0x3F, 0xFC, 0x07, 0xF0, 0x07, 0xFF, 0x80, 0xFC, - 0x00, 0xFF, 0xF0, 0x1F, 0x80, 0x0F, 0xFC, 0x07, 0xF0, 0x01, 0xFF, 0x80, - 0xFE, 0x00, 0x3F, 0xF0, 0x1F, 0xC0, 0x03, 0xFE, 0x03, 0xF0, 0x00, 0x7F, - 0xC0, 0x7E, 0x00, 0x07, 0xF0, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x00, 0x00, - 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, - 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, - 0x3F, 0xF0, 0x3F, 0xF8, 0x1F, 0xF0, 0x03, 0xFE, 0x07, 0xF0, 0x00, 0x7F, - 0x83, 0xF8, 0x00, 0x0F, 0xF1, 0xFE, 0x00, 0x03, 0xFC, 0x7F, 0x00, 0x00, - 0x7F, 0x3F, 0x80, 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x07, 0xF7, 0xF0, 0x00, - 0x01, 0xFD, 0xFC, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x1F, 0xDF, 0xC0, - 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0xFE, - 0x00, 0x00, 0x3F, 0xBF, 0x80, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0x07, 0xF3, - 0xF8, 0x00, 0x01, 0xFC, 0xFE, 0x00, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0x7F, - 0x8F, 0xF0, 0x00, 0x1F, 0xC1, 0xFE, 0x00, 0x0F, 0xE0, 0x7F, 0xC0, 0x0F, - 0xF8, 0x1F, 0xFC, 0x0F, 0xFC, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, - 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x1F, - 0xFF, 0x80, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x03, - 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, - 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC1, 0xFE, 0x00, 0xFF, 0x83, 0xF8, - 0x00, 0xFF, 0x07, 0xF0, 0x00, 0xFE, 0x0F, 0xE0, 0x01, 0xFC, 0x1F, 0xC0, - 0x03, 0xF8, 0x7F, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0x1F, 0xC1, 0xFC, 0x00, - 0x3F, 0x83, 0xF8, 0x00, 0xFE, 0x07, 0xF0, 0x07, 0xFC, 0x1F, 0xFF, 0xFF, - 0xF0, 0x3F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, - 0x03, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xE0, 0x00, 0x00, - 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, - 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x01, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xF0, - 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x3F, 0xF0, 0x3F, - 0xF0, 0x1F, 0xF0, 0x03, 0xFE, 0x07, 0xF8, 0x00, 0x7F, 0x83, 0xFC, 0x00, - 0x0F, 0xF1, 0xFE, 0x00, 0x03, 0xFC, 0x7F, 0x00, 0x00, 0x7F, 0x3F, 0x80, - 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x07, 0xF3, 0xF0, 0x00, 0x01, 0xFD, 0xFC, - 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x1F, 0xDF, 0x80, 0x00, 0x07, 0xFF, - 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x3F, - 0xBF, 0x80, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0x87, 0xF3, 0xF8, 0x00, 0xF1, - 0xFC, 0xFE, 0x00, 0x7C, 0xFE, 0x3F, 0xC0, 0x3F, 0xFF, 0x8F, 0xF0, 0x07, - 0xFF, 0xC1, 0xFE, 0x01, 0xFF, 0xE0, 0x7F, 0xC0, 0x3F, 0xF8, 0x1F, 0xFC, - 0x0F, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x0F, - 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0x9F, 0x80, - 0x01, 0xFF, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x01, 0xFF, 0xFF, - 0xF0, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, - 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFC, 0x0F, 0xE0, - 0x03, 0xFE, 0x0F, 0xF0, 0x00, 0xFF, 0x07, 0xF0, 0x00, 0x3F, 0x83, 0xF8, - 0x00, 0x1F, 0xC1, 0xFC, 0x00, 0x0F, 0xC0, 0xFE, 0x00, 0x07, 0xE0, 0xFE, - 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x3F, 0x80, 0x0F, 0xF0, 0x1F, - 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x07, - 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xFF, 0x01, - 0xFC, 0x00, 0x7F, 0x80, 0xFE, 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x0F, 0xE0, - 0x3F, 0x80, 0x07, 0xF0, 0x1F, 0xC0, 0x03, 0xF8, 0x1F, 0xC0, 0x01, 0xFC, - 0x0F, 0xE0, 0x01, 0xFC, 0x07, 0xF0, 0x00, 0xFE, 0x03, 0xF8, 0x00, 0x7F, - 0x01, 0xFC, 0x00, 0x3F, 0x81, 0xFC, 0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x0F, - 0xE0, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, - 0xFF, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, - 0xF8, 0x0F, 0xFF, 0xFF, 0xF0, 0x3F, 0xC0, 0x7F, 0xC1, 0xFE, 0x00, 0xFF, - 0x07, 0xF0, 0x01, 0xFC, 0x3F, 0x80, 0x07, 0xF0, 0xFE, 0x00, 0x1F, 0xC3, - 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, - 0xE0, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, - 0xFE, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, - 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, 0xFC, - 0x00, 0x00, 0x07, 0xF3, 0xF8, 0x00, 0x1F, 0xCF, 0xE0, 0x00, 0x7E, 0x3F, - 0x80, 0x03, 0xF8, 0xFF, 0x00, 0x1F, 0xE3, 0xFF, 0x01, 0xFF, 0x07, 0xFF, - 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, - 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, - 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, - 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x7F, - 0x07, 0xF0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, - 0x0F, 0xE0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, 0x0F, 0xE0, 0x00, 0xFE, - 0x0F, 0xE0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, - 0x1F, 0xC0, 0x01, 0xFC, 0x1F, 0xC0, 0x01, 0xFC, 0x3F, 0x80, 0x03, 0xF8, - 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x03, 0xF8, 0x3F, 0x80, 0x03, 0xF8, - 0x3F, 0x80, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, - 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x0F, 0xE0, - 0xFE, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x0F, 0xE0, - 0xFE, 0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x1F, 0xC0, 0xFF, 0x00, 0x3F, 0x80, - 0xFF, 0xC0, 0xFF, 0x80, 0x7F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFE, 0x00, - 0x3F, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xE0, 0x00, - 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xE7, - 0xF0, 0x00, 0x7F, 0x1F, 0xC0, 0x01, 0xFC, 0x7F, 0x00, 0x0F, 0xE1, 0xFC, - 0x00, 0x3F, 0x87, 0xF0, 0x01, 0xFC, 0x1F, 0xC0, 0x07, 0xF0, 0x3F, 0x00, - 0x3F, 0x80, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x07, 0xF0, 0x0F, 0xC0, 0x1F, - 0x80, 0x3F, 0x80, 0xFE, 0x00, 0xFE, 0x03, 0xF0, 0x03, 0xF8, 0x1F, 0xC0, - 0x0F, 0xE0, 0x7E, 0x00, 0x1F, 0x83, 0xF8, 0x00, 0x7E, 0x0F, 0xC0, 0x01, - 0xF8, 0x7E, 0x00, 0x07, 0xE1, 0xF8, 0x00, 0x1F, 0x8F, 0xC0, 0x00, 0x7E, - 0x3F, 0x00, 0x01, 0xF9, 0xF8, 0x00, 0x07, 0xE7, 0xE0, 0x00, 0x0F, 0xFF, - 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0x00, - 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x01, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x00, - 0xFE, 0x00, 0x7F, 0x80, 0x1F, 0xFF, 0xC0, 0x0F, 0xF0, 0x03, 0xFB, 0xF8, - 0x01, 0xFE, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0xC0, 0x1F, 0xCF, 0xE0, 0x0F, - 0xF8, 0x03, 0xF9, 0xFC, 0x03, 0xFF, 0x00, 0xFE, 0x3F, 0x80, 0x7F, 0xE0, - 0x1F, 0xC7, 0xF0, 0x1F, 0xFC, 0x07, 0xF0, 0x7E, 0x03, 0xFF, 0x80, 0xFE, - 0x0F, 0xC0, 0x7D, 0xF0, 0x1F, 0x81, 0xF8, 0x1F, 0xBE, 0x07, 0xF0, 0x3F, - 0x03, 0xE7, 0xC0, 0xFC, 0x07, 0xE0, 0xFC, 0xF8, 0x3F, 0x80, 0xFC, 0x1F, - 0x1F, 0x07, 0xE0, 0x1F, 0x83, 0xE3, 0xE0, 0xFC, 0x03, 0xF0, 0xFC, 0x7C, - 0x3F, 0x00, 0x7E, 0x1F, 0x0F, 0x87, 0xE0, 0x0F, 0xC7, 0xE1, 0xF1, 0xF8, - 0x01, 0xF8, 0xF8, 0x3E, 0x3F, 0x00, 0x3F, 0x3F, 0x07, 0xCF, 0xC0, 0x07, - 0xE7, 0xC0, 0xF9, 0xF8, 0x00, 0xFC, 0xF8, 0x1F, 0x3E, 0x00, 0x1F, 0xBE, - 0x03, 0xEF, 0xC0, 0x01, 0xF7, 0xC0, 0x7D, 0xF0, 0x00, 0x3F, 0xF8, 0x0F, - 0xFE, 0x00, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, - 0x00, 0x1F, 0xF0, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0xFF, 0x80, 0x00, - 0x7F, 0x80, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x01, 0xFC, - 0x00, 0x7F, 0x80, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x01, - 0xFC, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0x07, 0xFC, 0x00, 0xFF, - 0x00, 0x1F, 0xE0, 0x07, 0xF8, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x03, 0xFC, - 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x7F, 0x80, 0x00, 0xFF, 0x07, 0xF8, 0x00, - 0x03, 0xFC, 0x3F, 0x80, 0x00, 0x1F, 0xE3, 0xF8, 0x00, 0x00, 0x7F, 0x3F, - 0xC0, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x00, - 0x7F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFC, 0x00, - 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x1F, - 0xF0, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, - 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFE, - 0x00, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x00, 0xFF, 0x3F, 0xC0, 0x00, 0x0F, - 0xF1, 0xFE, 0x00, 0x00, 0xFF, 0x07, 0xF8, 0x00, 0x07, 0xF0, 0x3F, 0xC0, - 0x00, 0x7F, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x07, 0xF8, 0x00, 0x7F, 0x80, - 0x3F, 0xC0, 0x07, 0xF8, 0x01, 0xFF, 0x00, 0x7F, 0x80, 0x07, 0xF8, 0x07, - 0xFC, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x7F, - 0xBF, 0xC0, 0x07, 0xF8, 0xFE, 0x00, 0x3F, 0x87, 0xF8, 0x03, 0xFC, 0x3F, - 0xC0, 0x3F, 0xC0, 0xFE, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x3F, 0xC1, - 0xFE, 0x00, 0xFE, 0x0F, 0xE0, 0x07, 0xF0, 0xFE, 0x00, 0x3F, 0x8F, 0xE0, - 0x00, 0xFE, 0x7F, 0x00, 0x07, 0xF7, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, - 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x3F, 0xF8, 0x00, 0x01, 0xFF, - 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, - 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFF, - 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, - 0xC0, 0x3F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xF8, 0x03, 0xFF, 0x80, - 0x1F, 0xFC, 0x00, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x7E, 0x00, 0x03, 0xF0, - 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, - 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, - 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x7E, - 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, - 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xC0, - 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, - 0xC0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xFF, 0xC0, - 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x07, 0xFF, 0x80, 0x3F, 0xFC, 0x00, 0x81, - 0xC3, 0xC7, 0x8F, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0xC7, 0x8F, 0x1E, - 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x8F, 0x1E, 0x3C, 0x38, 0x70, 0xE1, - 0xC3, 0x87, 0x0F, 0x1E, 0x3C, 0x78, 0xF0, 0x00, 0x7F, 0xF8, 0x03, 0xFF, - 0xC0, 0x1F, 0xFC, 0x00, 0xFF, 0xE0, 0x07, 0xFF, 0x00, 0x01, 0xF8, 0x00, - 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, - 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x03, - 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, - 0x03, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x7F, - 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, - 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, - 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x01, 0xFF, - 0xE0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x03, 0xFF, 0x80, 0x3F, 0xFC, 0x00, - 0x00, 0x1F, 0x80, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, 0x07, - 0xFC, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x80, 0x3E, 0xFC, 0x01, 0xF3, 0xE0, - 0x1F, 0x1F, 0x01, 0xF8, 0xF8, 0x0F, 0x87, 0xE0, 0xFC, 0x3F, 0x07, 0xC0, - 0xF8, 0x7C, 0x07, 0xC7, 0xE0, 0x3E, 0x3E, 0x01, 0xFB, 0xF0, 0x0F, 0xDF, - 0x00, 0x3F, 0xF0, 0x01, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xE0, 0xF8, 0xF0, 0xF1, 0xE1, - 0xC3, 0xC3, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x7F, 0x03, 0xFC, 0x3F, 0x00, - 0xFE, 0x1F, 0x80, 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x80, 0x1F, - 0xFF, 0xC0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0xFF, 0xF7, 0xF0, 0xFF, - 0x83, 0xF8, 0xFF, 0x01, 0xF8, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, - 0x80, 0x7F, 0x1F, 0xC0, 0x7F, 0x8F, 0xF0, 0xFF, 0x87, 0xFF, 0xFF, 0xC3, - 0xFF, 0xFF, 0xE0, 0xFF, 0xF7, 0xF8, 0x3F, 0xF3, 0xFC, 0x07, 0xE0, 0x00, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xE0, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x3F, 0x80, 0x1F, - 0x9F, 0xFC, 0x03, 0xF7, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, - 0x83, 0xFF, 0x0F, 0xF0, 0x7F, 0x80, 0xFF, 0x0F, 0xE0, 0x1F, 0xE3, 0xF8, - 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x8F, 0xC0, 0x07, 0xF1, 0xF8, 0x00, 0xFE, - 0x7F, 0x00, 0x1F, 0xCF, 0xC0, 0x03, 0xF9, 0xF8, 0x00, 0xFE, 0x3F, 0x00, - 0x1F, 0xC7, 0xE0, 0x03, 0xF9, 0xFC, 0x00, 0xFE, 0x3F, 0xC0, 0x3F, 0xC7, - 0xF8, 0x0F, 0xF0, 0xFF, 0x83, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, - 0xC0, 0xFF, 0xFF, 0xF0, 0x1F, 0x9F, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, - 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x80, 0x7F, 0xFF, - 0xE0, 0x7F, 0xFF, 0xF0, 0x7F, 0x83, 0xFC, 0x7F, 0x00, 0xFE, 0x3F, 0x00, - 0x7F, 0x3F, 0x80, 0x3F, 0x9F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, - 0x00, 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, - 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0x9F, - 0xE0, 0x3F, 0x87, 0xF8, 0x3F, 0x83, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, - 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x07, - 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x7F, 0x00, 0x3F, - 0xF3, 0xF8, 0x03, 0xFF, 0xDF, 0x80, 0x7F, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, - 0xE0, 0x3F, 0xC3, 0xFF, 0x03, 0xFC, 0x0F, 0xF8, 0x3F, 0xC0, 0x3F, 0x81, - 0xFC, 0x01, 0xFC, 0x1F, 0xC0, 0x07, 0xE0, 0xFE, 0x00, 0x3F, 0x07, 0xF0, - 0x03, 0xF8, 0x7F, 0x00, 0x1F, 0x83, 0xF8, 0x00, 0xFC, 0x1F, 0xC0, 0x07, - 0xE0, 0xFE, 0x00, 0x3F, 0x07, 0xF0, 0x03, 0xF0, 0x3F, 0x80, 0x3F, 0x81, - 0xFC, 0x01, 0xFC, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC3, 0xFF, 0x01, 0xFF, - 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xCF, - 0xE0, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0xFC, 0x00, - 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x7F, 0x87, 0xF8, - 0x7F, 0x01, 0xFE, 0x7F, 0x00, 0x7F, 0x3F, 0x80, 0x3F, 0xBF, 0x80, 0x1F, - 0xDF, 0xC0, 0x0F, 0xEF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, - 0x00, 0x3F, 0x80, 0x3F, 0x9F, 0xE0, 0x3F, 0x87, 0xF8, 0x3F, 0xC3, 0xFF, - 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0x0F, 0xFF, 0x80, 0x00, - 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFE, - 0x01, 0xFF, 0x80, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xC0, 0x03, 0xF0, 0x01, - 0xFC, 0x03, 0xFF, 0xF1, 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF, 0x80, 0xFE, - 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, - 0x1F, 0xC0, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, - 0xE0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, - 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x07, 0xC3, 0xF8, - 0x01, 0xFF, 0x9F, 0x80, 0x1F, 0xFE, 0xFC, 0x01, 0xFF, 0xFF, 0xE0, 0x1F, - 0xFF, 0xFF, 0x01, 0xFE, 0x1F, 0xF8, 0x1F, 0xE0, 0x3F, 0x80, 0xFE, 0x01, - 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x00, 0x3F, 0x07, 0xF0, 0x01, 0xF8, - 0x3F, 0x80, 0x0F, 0x81, 0xF8, 0x00, 0x7C, 0x1F, 0xC0, 0x07, 0xE0, 0xFE, - 0x00, 0x3F, 0x07, 0xF0, 0x01, 0xF0, 0x3F, 0x80, 0x1F, 0x81, 0xFC, 0x00, - 0xFC, 0x0F, 0xE0, 0x0F, 0xE0, 0x7F, 0x80, 0xFF, 0x03, 0xFE, 0x1F, 0xF0, - 0x0F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xFC, 0x01, 0xFF, 0xF7, 0xE0, 0x07, - 0xFE, 0x7F, 0x00, 0x0F, 0xC3, 0xF0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, - 0xFC, 0x0F, 0xE0, 0x0F, 0xC0, 0x7F, 0x00, 0xFE, 0x03, 0xFC, 0x1F, 0xE0, - 0x1F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x00, 0x01, - 0xFF, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xE0, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x0F, - 0xC0, 0x1F, 0xCF, 0xFE, 0x03, 0xFB, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE, 0x0F, - 0xFF, 0xFF, 0xC3, 0xFF, 0x07, 0xF8, 0x7F, 0x80, 0x7F, 0x0F, 0xE0, 0x0F, - 0xE1, 0xFC, 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x0F, 0xE0, 0x07, 0xE1, 0xFC, - 0x01, 0xFC, 0x3F, 0x00, 0x3F, 0x87, 0xE0, 0x07, 0xF1, 0xFC, 0x00, 0xFC, - 0x3F, 0x80, 0x1F, 0x87, 0xF0, 0x07, 0xF0, 0xFC, 0x00, 0xFE, 0x1F, 0x80, - 0x1F, 0xC7, 0xF0, 0x03, 0xF0, 0xFE, 0x00, 0x7E, 0x1F, 0xC0, 0x1F, 0xC3, - 0xF0, 0x03, 0xF8, 0xFE, 0x00, 0x7F, 0x1F, 0xC0, 0x0F, 0xC0, 0x01, 0xFC, - 0x07, 0xF0, 0x1F, 0x80, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, - 0x03, 0xF8, 0x0F, 0xC0, 0x3F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7E, - 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, 0x7F, - 0x01, 0xFC, 0x07, 0xE0, 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x00, 0x00, 0x0F, - 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x3F, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0xFE, - 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x03, 0xF8, - 0x00, 0x7F, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, - 0x01, 0xFC, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, - 0x07, 0xF0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x07, 0xF0, 0x00, 0xFE, 0x00, - 0x1F, 0x80, 0x03, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, - 0x7E, 0x00, 0x0F, 0xC0, 0x03, 0xF8, 0x03, 0xFF, 0x00, 0x7F, 0xC0, 0x0F, - 0xF8, 0x03, 0xFE, 0x00, 0x7E, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, - 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, - 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0x7F, 0x00, 0xFE, 0x07, 0xE0, 0x3F, 0xC0, 0x7E, 0x07, - 0xF8, 0x0F, 0xE0, 0xFF, 0x00, 0xFE, 0x1F, 0xC0, 0x0F, 0xE3, 0xF8, 0x00, - 0xFC, 0x7F, 0x00, 0x0F, 0xCF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, 0x1F, 0xFF, - 0x80, 0x01, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00, - 0x3F, 0xFF, 0xC0, 0x03, 0xFE, 0xFE, 0x00, 0x3F, 0xCF, 0xE0, 0x03, 0xF0, - 0xFE, 0x00, 0x7F, 0x07, 0xF0, 0x07, 0xF0, 0x7F, 0x00, 0x7F, 0x07, 0xF8, - 0x07, 0xE0, 0x3F, 0x80, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0xC0, 0xFE, - 0x01, 0xFC, 0x0F, 0xC0, 0x1F, 0xE0, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0x80, - 0x7E, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, - 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xC0, - 0x3F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7E, 0x03, 0xF8, 0x0F, 0xE0, - 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, - 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0xFC, 0x03, 0xF0, 0x07, - 0xE3, 0xFF, 0x0F, 0xFC, 0x07, 0xEF, 0xFF, 0x3F, 0xFE, 0x0F, 0xFF, 0xFF, - 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8, 0x7F, 0xF0, 0xFF, - 0x0F, 0xE0, 0x3F, 0xC0, 0x7F, 0x0F, 0xE0, 0x3F, 0x80, 0x7F, 0x1F, 0xC0, - 0x3F, 0x80, 0x7E, 0x1F, 0xC0, 0x3F, 0x00, 0x7E, 0x1F, 0xC0, 0x3F, 0x00, - 0xFE, 0x1F, 0x80, 0x7F, 0x00, 0xFE, 0x3F, 0x80, 0x7F, 0x00, 0xFC, 0x3F, - 0x80, 0x7F, 0x00, 0xFC, 0x3F, 0x80, 0x7E, 0x01, 0xFC, 0x3F, 0x00, 0x7E, - 0x01, 0xFC, 0x3F, 0x00, 0xFE, 0x01, 0xFC, 0x7F, 0x00, 0xFE, 0x01, 0xF8, - 0x7F, 0x00, 0xFE, 0x01, 0xF8, 0x7F, 0x00, 0xFC, 0x03, 0xF8, 0x7E, 0x01, - 0xFC, 0x03, 0xF8, 0x7E, 0x01, 0xFC, 0x03, 0xF8, 0xFE, 0x01, 0xFC, 0x03, - 0xF0, 0xFE, 0x01, 0xF8, 0x03, 0xF0, 0xFE, 0x01, 0xF8, 0x07, 0xF0, 0x07, - 0xF0, 0xFE, 0x00, 0xFE, 0x7F, 0xF0, 0x1F, 0x9F, 0xFF, 0x03, 0xFF, 0xFF, - 0xF0, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x3F, 0xC3, 0xFC, 0x03, 0xF8, 0x7F, - 0x00, 0x7F, 0x0F, 0xE0, 0x0F, 0xE3, 0xF8, 0x01, 0xF8, 0x7F, 0x00, 0x3F, - 0x0F, 0xC0, 0x0F, 0xE1, 0xF8, 0x01, 0xFC, 0x7F, 0x00, 0x3F, 0x8F, 0xE0, - 0x07, 0xE1, 0xFC, 0x00, 0xFC, 0x3F, 0x00, 0x3F, 0x87, 0xE0, 0x07, 0xF1, - 0xFC, 0x00, 0xFE, 0x3F, 0x80, 0x1F, 0x87, 0xF0, 0x03, 0xF0, 0xFC, 0x00, - 0xFE, 0x3F, 0x80, 0x1F, 0xC7, 0xF0, 0x03, 0xF8, 0xFE, 0x00, 0x7E, 0x00, - 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0xFF, 0x00, 0x1F, 0xFF, 0xE0, 0x0F, 0xFF, - 0xFC, 0x07, 0xFF, 0xFF, 0x83, 0xFC, 0x1F, 0xE1, 0xFE, 0x03, 0xFC, 0xFF, - 0x00, 0xFF, 0x3F, 0x80, 0x1F, 0xDF, 0xC0, 0x07, 0xF7, 0xF0, 0x01, 0xFD, - 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0x80, 0x07, 0xFF, 0xE0, 0x03, - 0xFB, 0xF8, 0x00, 0xFE, 0xFE, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xCF, 0xF0, - 0x0F, 0xF3, 0xFC, 0x07, 0xF8, 0x7F, 0x83, 0xFC, 0x1F, 0xFF, 0xFE, 0x03, - 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x0F, 0xFF, 0x80, 0x00, 0x7F, 0x00, - 0x00, 0x01, 0xFC, 0x3F, 0x00, 0x0F, 0xCF, 0xFE, 0x00, 0x7E, 0xFF, 0xF8, - 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x01, 0xFF, 0x87, 0xF8, 0x0F, - 0xF0, 0x1F, 0xE0, 0xFF, 0x00, 0xFF, 0x07, 0xF0, 0x03, 0xF8, 0x3F, 0x80, - 0x1F, 0xC1, 0xF8, 0x00, 0xFE, 0x0F, 0xC0, 0x07, 0xF0, 0xFE, 0x00, 0x3F, - 0x87, 0xF0, 0x01, 0xFC, 0x3F, 0x00, 0x1F, 0xC1, 0xF8, 0x00, 0xFE, 0x1F, - 0xC0, 0x07, 0xF0, 0xFE, 0x00, 0x7F, 0x07, 0xF8, 0x07, 0xF8, 0x3F, 0xC0, - 0x7F, 0x81, 0xFF, 0x87, 0xF8, 0x1F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, - 0x07, 0xF7, 0xFF, 0xC0, 0x3F, 0x1F, 0xF8, 0x01, 0xF8, 0x7F, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x00, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x07, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x87, 0xF0, - 0x0F, 0xFE, 0x7F, 0x01, 0xFF, 0xF7, 0xE0, 0x3F, 0xFF, 0x7E, 0x07, 0xFF, - 0xFF, 0xE0, 0xFF, 0x07, 0xFE, 0x1F, 0xE0, 0x3F, 0xE3, 0xFC, 0x03, 0xFC, - 0x3F, 0x80, 0x1F, 0xC7, 0xF0, 0x01, 0xFC, 0x7F, 0x00, 0x1F, 0xC7, 0xF0, - 0x01, 0xF8, 0xFE, 0x00, 0x1F, 0x8F, 0xE0, 0x03, 0xF8, 0xFE, 0x00, 0x3F, - 0x8F, 0xE0, 0x03, 0xF8, 0xFE, 0x00, 0x7F, 0x0F, 0xE0, 0x07, 0xF0, 0xFE, - 0x00, 0xFF, 0x0F, 0xF0, 0x1F, 0xF0, 0x7F, 0x87, 0xFF, 0x07, 0xFF, 0xFF, - 0xE0, 0x3F, 0xFF, 0x7E, 0x03, 0xFF, 0xEF, 0xE0, 0x1F, 0xFC, 0xFE, 0x00, - 0x7F, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, - 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x07, - 0xF0, 0xF0, 0x7F, 0x3F, 0x07, 0xE7, 0xE0, 0x7E, 0xFE, 0x0F, 0xFF, 0xE0, - 0xFF, 0xFE, 0x0F, 0xFC, 0x00, 0xFF, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, - 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, - 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, - 0x00, 0x7F, 0x00, 0x07, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, - 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x07, - 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0xE0, 0xFF, 0x1F, 0xC0, 0x7F, 0x1F, - 0xC0, 0x7F, 0x1F, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x1F, 0xFF, 0xC0, 0x0F, - 0xFF, 0xF0, 0x07, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, - 0x0F, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFE, 0xFC, 0x00, 0xFE, 0xFE, - 0x00, 0xFE, 0xFF, 0x03, 0xFC, 0x7F, 0xFF, 0xF8, 0x7F, 0xFF, 0xF8, 0x3F, - 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x03, 0xFE, 0x00, 0x03, 0xF0, 0x1F, 0xC0, - 0x7F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x80, 0xFE, 0x1F, 0xFF, 0x7F, 0xFD, - 0xFF, 0xFF, 0xFF, 0xC7, 0xF0, 0x1F, 0xC0, 0x7E, 0x01, 0xF8, 0x0F, 0xE0, - 0x3F, 0x80, 0xFE, 0x03, 0xF0, 0x0F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xE0, - 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0xF0, 0xFF, 0xC3, 0xFF, - 0x07, 0xFC, 0x0F, 0xE0, 0x0F, 0xC0, 0x0F, 0xE1, 0xF8, 0x01, 0xFC, 0x7F, - 0x00, 0x3F, 0x0F, 0xE0, 0x0F, 0xE1, 0xFC, 0x01, 0xFC, 0x3F, 0x00, 0x3F, - 0x87, 0xE0, 0x07, 0xE1, 0xFC, 0x00, 0xFC, 0x3F, 0x80, 0x3F, 0x87, 0xF0, - 0x07, 0xF0, 0xFC, 0x00, 0xFE, 0x1F, 0x80, 0x1F, 0x87, 0xF0, 0x03, 0xF0, - 0xFE, 0x00, 0xFE, 0x1F, 0x80, 0x1F, 0xC3, 0xF0, 0x03, 0xF0, 0xFE, 0x00, - 0x7E, 0x1F, 0xC0, 0x1F, 0xC3, 0xF8, 0x07, 0xF8, 0x7F, 0x01, 0xFF, 0x0F, - 0xF0, 0x7F, 0xC1, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x03, 0xFF, 0xEF, - 0xE0, 0x3F, 0xF9, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0x7F, - 0x00, 0x3F, 0xBF, 0x80, 0x3F, 0x8F, 0xC0, 0x1F, 0xC7, 0xE0, 0x1F, 0xC3, - 0xF0, 0x0F, 0xC1, 0xFC, 0x0F, 0xE0, 0xFE, 0x07, 0xE0, 0x7F, 0x07, 0xF0, - 0x3F, 0x83, 0xF0, 0x0F, 0xC3, 0xF8, 0x07, 0xE1, 0xF8, 0x03, 0xF1, 0xFC, - 0x01, 0xF8, 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0x7E, 0x7E, 0x00, 0x3F, 0x7E, - 0x00, 0x0F, 0xBF, 0x00, 0x07, 0xFF, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xFF, - 0x80, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0x1F, - 0xE0, 0x00, 0x00, 0xFE, 0x03, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0x01, 0xFF, - 0xF8, 0x1F, 0xE0, 0x3F, 0x7F, 0x03, 0xFC, 0x0F, 0xEF, 0xE0, 0xFF, 0x81, - 0xF9, 0xFC, 0x1F, 0xF0, 0x7F, 0x3F, 0x83, 0xFE, 0x0F, 0xC3, 0xF0, 0xFF, - 0xC3, 0xF8, 0x7E, 0x1E, 0xF8, 0x7E, 0x0F, 0xC7, 0xDF, 0x1F, 0xC1, 0xF8, - 0xFB, 0xE3, 0xF0, 0x3F, 0x1E, 0x7C, 0x7E, 0x07, 0xE7, 0xCF, 0x9F, 0x80, - 0xFC, 0xF1, 0xF3, 0xF0, 0x1F, 0xBE, 0x3E, 0xFC, 0x03, 0xF7, 0x87, 0xDF, - 0x80, 0x7E, 0xF0, 0xFF, 0xE0, 0x0F, 0xFE, 0x1F, 0xFC, 0x01, 0xFF, 0x83, - 0xFF, 0x00, 0x3F, 0xF0, 0x7F, 0xE0, 0x07, 0xFC, 0x0F, 0xF8, 0x00, 0x7F, - 0x81, 0xFF, 0x00, 0x0F, 0xF0, 0x3F, 0xC0, 0x01, 0xFC, 0x07, 0xF8, 0x00, - 0x3F, 0x80, 0xFE, 0x00, 0x00, 0x03, 0xFC, 0x07, 0xF8, 0x1F, 0xE0, 0x7F, - 0x80, 0x7F, 0x03, 0xF8, 0x03, 0xF8, 0x3F, 0x80, 0x1F, 0xE3, 0xF8, 0x00, - 0x7F, 0x3F, 0x80, 0x03, 0xF9, 0xFC, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x7F, - 0xFC, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x7F, 0xC0, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFF, 0x80, 0x00, - 0x1F, 0xFE, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x1F, 0xDF, 0xC0, 0x01, 0xFC, - 0xFE, 0x00, 0x1F, 0xE7, 0xF8, 0x00, 0xFE, 0x1F, 0xC0, 0x0F, 0xE0, 0xFE, - 0x00, 0xFF, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x00, 0xFF, 0x00, - 0x0F, 0xE0, 0x03, 0xF0, 0x7F, 0x00, 0x3F, 0x83, 0xF8, 0x01, 0xF8, 0x1F, - 0xC0, 0x1F, 0xC0, 0xFE, 0x00, 0xFC, 0x03, 0xF8, 0x0F, 0xE0, 0x1F, 0xC0, - 0x7E, 0x00, 0xFE, 0x07, 0xE0, 0x07, 0xF0, 0x3F, 0x00, 0x3F, 0x83, 0xF0, - 0x01, 0xFC, 0x1F, 0x80, 0x0F, 0xE1, 0xF8, 0x00, 0x3F, 0x0F, 0xC0, 0x01, - 0xF8, 0xFC, 0x00, 0x0F, 0xC7, 0xC0, 0x00, 0x7F, 0x7E, 0x00, 0x03, 0xFB, - 0xE0, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0x80, - 0x00, 0x1F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, - 0x3F, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF8, 0x00, - 0x01, 0xFF, 0x80, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x07, - 0xF8, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0xFF, - 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0x80, - 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, - 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, - 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, - 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0x7F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, - 0xE0, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x0F, 0xC0, 0x0F, 0xF0, 0x07, 0xFC, - 0x01, 0xFE, 0x00, 0xFF, 0x80, 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, - 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF8, - 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x3F, 0x00, 0x7F, 0x80, 0x1F, 0x80, 0x07, 0xE0, 0x03, 0xFC, 0x00, 0x3F, - 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, - 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x01, - 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xF8, 0x01, 0xFE, 0x00, 0x7F, - 0x80, 0x0F, 0xE0, 0x01, 0xF8, 0x00, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x01, - 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x78, - 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, - 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, - 0x03, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x01, - 0xE0, 0x0F, 0x00, 0x70, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x70, - 0x07, 0x80, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x01, - 0xFE, 0x00, 0x7F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, - 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0F, 0x80, - 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xF0, 0x00, - 0xFF, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x07, 0xF8, 0x03, 0xF0, 0x00, 0xF8, - 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, - 0x80, 0x07, 0xC0, 0x01, 0xF0, 0x07, 0xFC, 0x01, 0xFE, 0x00, 0xFF, 0x80, - 0x3F, 0xC0, 0x0F, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0x80, 0x07, 0xFF, - 0x03, 0xDF, 0xFE, 0x0F, 0xF0, 0x7F, 0xFB, 0x80, 0xFF, 0xE0, 0x01, 0xFF, - 0x00, 0x03, 0xF0 }; - -const GFXglyph FreeSansBoldOblique24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' - { 0, 14, 34, 16, 5, -33 }, // 0x21 '!' - { 60, 18, 12, 22, 8, -33 }, // 0x22 '"' - { 87, 29, 33, 26, 2, -31 }, // 0x23 '#' - { 207, 26, 42, 26, 3, -35 }, // 0x24 '$' - { 344, 36, 34, 42, 6, -32 }, // 0x25 '%' - { 497, 29, 35, 34, 4, -33 }, // 0x26 '&' - { 624, 7, 12, 11, 8, -33 }, // 0x27 ''' - { 635, 17, 44, 16, 4, -33 }, // 0x28 '(' - { 729, 17, 44, 16, 0, -34 }, // 0x29 ')' - { 823, 15, 15, 18, 7, -33 }, // 0x2A '*' - { 852, 24, 22, 27, 4, -21 }, // 0x2B '+' - { 918, 10, 15, 13, 1, -6 }, // 0x2C ',' - { 937, 14, 6, 16, 3, -15 }, // 0x2D '-' - { 948, 8, 7, 13, 3, -6 }, // 0x2E '.' - { 955, 20, 34, 13, 0, -32 }, // 0x2F '/' - { 1040, 25, 35, 26, 4, -33 }, // 0x30 '0' - { 1150, 17, 33, 26, 8, -32 }, // 0x31 '1' - { 1221, 29, 34, 26, 1, -33 }, // 0x32 '2' - { 1345, 26, 35, 26, 3, -33 }, // 0x33 '3' - { 1459, 25, 32, 26, 3, -31 }, // 0x34 '4' - { 1559, 27, 34, 26, 3, -32 }, // 0x35 '5' - { 1674, 25, 35, 26, 4, -33 }, // 0x36 '6' - { 1784, 26, 33, 26, 6, -32 }, // 0x37 '7' - { 1892, 26, 35, 26, 3, -33 }, // 0x38 '8' - { 2006, 25, 35, 26, 4, -33 }, // 0x39 '9' - { 2116, 12, 25, 16, 5, -24 }, // 0x3A ':' - { 2154, 14, 33, 16, 3, -24 }, // 0x3B ';' - { 2212, 26, 23, 27, 4, -22 }, // 0x3C '<' - { 2287, 26, 18, 27, 3, -19 }, // 0x3D '=' - { 2346, 26, 23, 27, 1, -21 }, // 0x3E '>' - { 2421, 24, 35, 29, 8, -34 }, // 0x3F '?' - { 2526, 45, 41, 46, 3, -34 }, // 0x40 '@' - { 2757, 32, 34, 34, 1, -33 }, // 0x41 'A' - { 2893, 32, 34, 34, 4, -33 }, // 0x42 'B' - { 3029, 32, 36, 34, 5, -34 }, // 0x43 'C' - { 3173, 32, 34, 34, 4, -33 }, // 0x44 'D' - { 3309, 32, 34, 31, 4, -33 }, // 0x45 'E' - { 3445, 32, 34, 29, 3, -33 }, // 0x46 'F' - { 3581, 33, 36, 37, 5, -34 }, // 0x47 'G' - { 3730, 35, 34, 34, 3, -33 }, // 0x48 'H' - { 3879, 14, 34, 13, 3, -33 }, // 0x49 'I' - { 3939, 27, 35, 26, 3, -33 }, // 0x4A 'J' - { 4058, 37, 34, 34, 3, -33 }, // 0x4B 'K' - { 4216, 24, 34, 29, 4, -33 }, // 0x4C 'L' - { 4318, 41, 34, 39, 3, -33 }, // 0x4D 'M' - { 4493, 35, 34, 34, 3, -33 }, // 0x4E 'N' - { 4642, 34, 36, 37, 5, -34 }, // 0x4F 'O' - { 4795, 31, 34, 31, 4, -33 }, // 0x50 'P' - { 4927, 34, 37, 37, 5, -34 }, // 0x51 'Q' - { 5085, 33, 34, 34, 4, -33 }, // 0x52 'R' - { 5226, 30, 36, 31, 4, -34 }, // 0x53 'S' - { 5361, 28, 34, 29, 7, -33 }, // 0x54 'T' - { 5480, 32, 35, 34, 6, -33 }, // 0x55 'U' - { 5620, 30, 34, 31, 8, -33 }, // 0x56 'V' - { 5748, 43, 34, 44, 8, -33 }, // 0x57 'W' - { 5931, 37, 34, 31, 1, -33 }, // 0x58 'X' - { 6089, 29, 34, 31, 9, -33 }, // 0x59 'Y' - { 6213, 33, 34, 29, 1, -33 }, // 0x5A 'Z' - { 6354, 21, 43, 16, 1, -33 }, // 0x5B '[' - { 6467, 7, 36, 13, 6, -34 }, // 0x5C '\' - { 6499, 21, 43, 16, -1, -33 }, // 0x5D ']' - { 6612, 21, 20, 27, 6, -32 }, // 0x5E '^' - { 6665, 29, 4, 26, -3, 6 }, // 0x5F '_' - { 6680, 7, 7, 16, 8, -35 }, // 0x60 '`' - { 6687, 25, 26, 26, 2, -24 }, // 0x61 'a' - { 6769, 27, 35, 29, 3, -33 }, // 0x62 'b' - { 6888, 25, 26, 26, 4, -24 }, // 0x63 'c' - { 6970, 29, 35, 29, 4, -33 }, // 0x64 'd' - { 7097, 25, 26, 26, 3, -24 }, // 0x65 'e' - { 7179, 18, 34, 16, 4, -33 }, // 0x66 'f' - { 7256, 29, 35, 29, 2, -24 }, // 0x67 'g' - { 7383, 27, 34, 29, 3, -33 }, // 0x68 'h' - { 7498, 14, 34, 13, 3, -33 }, // 0x69 'i' - { 7558, 19, 44, 13, -2, -33 }, // 0x6A 'j' - { 7663, 28, 34, 26, 3, -33 }, // 0x6B 'k' - { 7782, 14, 34, 13, 3, -33 }, // 0x6C 'l' - { 7842, 40, 25, 42, 3, -24 }, // 0x6D 'm' - { 7967, 27, 25, 29, 3, -24 }, // 0x6E 'n' - { 8052, 26, 26, 29, 4, -24 }, // 0x6F 'o' - { 8137, 29, 35, 29, 1, -24 }, // 0x70 'p' - { 8264, 28, 35, 29, 3, -24 }, // 0x71 'q' - { 8387, 20, 25, 18, 3, -24 }, // 0x72 'r' - { 8450, 24, 26, 26, 3, -24 }, // 0x73 's' - { 8528, 14, 32, 16, 5, -30 }, // 0x74 't' - { 8584, 27, 26, 29, 4, -24 }, // 0x75 'u' - { 8672, 25, 25, 26, 6, -24 }, // 0x76 'v' - { 8751, 35, 25, 37, 6, -24 }, // 0x77 'w' - { 8861, 29, 25, 26, 1, -24 }, // 0x78 'x' - { 8952, 29, 35, 26, 2, -24 }, // 0x79 'y' - { 9079, 26, 25, 23, 1, -24 }, // 0x7A 'z' - { 9161, 18, 43, 18, 4, -33 }, // 0x7B '{' - { 9258, 13, 43, 13, 3, -33 }, // 0x7C '|' - { 9328, 18, 43, 18, 2, -33 }, // 0x7D '}' - { 9425, 22, 8, 27, 5, -14 } }; // 0x7E '~' - -const GFXfont FreeSansBoldOblique24pt7b PROGMEM = { - (uint8_t *)FreeSansBoldOblique24pt7bBitmaps, - (GFXglyph *)FreeSansBoldOblique24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 10119 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h deleted file mode 100644 index 6250aca..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansBoldOblique9pt7b.h +++ /dev/null @@ -1,227 +0,0 @@ -const uint8_t FreeSansBoldOblique9pt7bBitmaps[] PROGMEM = { - 0x21, 0x8E, 0x73, 0x18, 0xC6, 0x21, 0x19, 0xCE, 0x00, 0xEF, 0xDF, 0xBE, - 0x68, 0x80, 0x06, 0xC1, 0x99, 0xFF, 0xBF, 0xF1, 0xB0, 0x66, 0x0C, 0xC7, - 0xFC, 0xFF, 0x8C, 0x83, 0x30, 0x64, 0x00, 0x02, 0x00, 0xF0, 0x7F, 0x1D, - 0x73, 0xEE, 0x78, 0x0F, 0x00, 0xF8, 0x0F, 0xC1, 0xBB, 0xA7, 0x74, 0xEF, - 0xF8, 0xFE, 0x04, 0x00, 0x80, 0x3C, 0x11, 0xF8, 0x8E, 0x66, 0x31, 0x90, - 0xCE, 0x83, 0xF4, 0x07, 0xB0, 0x00, 0x9E, 0x04, 0xFC, 0x26, 0x31, 0x98, - 0xC4, 0x7E, 0x20, 0xF0, 0x07, 0x80, 0xFC, 0x1D, 0xC1, 0xDC, 0x1F, 0x80, - 0xE0, 0x3E, 0x37, 0x77, 0xE3, 0xEE, 0x3C, 0xE3, 0xCF, 0xFE, 0x3C, 0xE0, - 0xFF, 0xE8, 0x06, 0x06, 0x0C, 0x18, 0x38, 0x30, 0x70, 0x60, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x70, 0x30, 0x0C, 0x0E, 0x06, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x06, 0x0E, 0x0C, 0x1C, 0x18, 0x30, 0x60, 0x60, - 0x32, 0xBF, 0x9C, 0xD2, 0x40, 0x0C, 0x06, 0x07, 0x1F, 0xFF, 0xF0, 0xC0, - 0xE0, 0x60, 0x77, 0x72, 0x6C, 0xFF, 0xC0, 0xFC, 0x02, 0x02, 0x04, 0x04, - 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x0F, 0x07, 0xE3, - 0x9D, 0xC7, 0x71, 0xDC, 0x7E, 0x1F, 0x8E, 0xE3, 0xB8, 0xEE, 0x73, 0xF8, - 0x3C, 0x00, 0x04, 0x3B, 0xF7, 0xE1, 0xC3, 0x06, 0x1C, 0x38, 0x70, 0xC1, - 0x87, 0x00, 0x0F, 0x87, 0xFC, 0xE3, 0xB8, 0x70, 0x0E, 0x03, 0x80, 0xF0, - 0x38, 0x1E, 0x07, 0x01, 0xC0, 0x7F, 0xCF, 0xF8, 0x0F, 0xC7, 0xFC, 0xE3, - 0xB8, 0x70, 0x1C, 0x0F, 0x03, 0xF0, 0x0E, 0x01, 0xDC, 0x3B, 0x8E, 0x7F, - 0x83, 0xE0, 0x03, 0xC0, 0xE0, 0x58, 0x2E, 0x13, 0x8C, 0xE6, 0x33, 0xFE, - 0xFF, 0x81, 0xC0, 0x60, 0x18, 0x0F, 0xE3, 0xFC, 0x60, 0x0C, 0x03, 0x78, - 0x7F, 0x9C, 0x70, 0x0E, 0x01, 0xDC, 0x33, 0x8E, 0x7F, 0x83, 0xE0, 0x0F, - 0x07, 0xE3, 0x9D, 0xC0, 0x7F, 0x1F, 0xEF, 0x3B, 0x8E, 0xE3, 0xB8, 0xCE, - 0x71, 0xF8, 0x3C, 0x00, 0x7F, 0xDF, 0xF0, 0x18, 0x0C, 0x06, 0x03, 0x81, - 0xC0, 0x60, 0x38, 0x0C, 0x07, 0x01, 0x80, 0x60, 0x00, 0x0F, 0x83, 0xFC, - 0xE3, 0x9C, 0x73, 0x9C, 0x3F, 0x0F, 0xE3, 0x8E, 0xE1, 0xDC, 0x3B, 0x8E, - 0x7F, 0xC3, 0xE0, 0x0F, 0x83, 0xF8, 0xE3, 0xB8, 0x77, 0x0E, 0xE1, 0xDC, - 0x7B, 0xFE, 0x3D, 0xC0, 0x33, 0x8E, 0x7F, 0x87, 0xC0, 0x77, 0x00, 0x00, - 0x0E, 0xE0, 0x39, 0xC0, 0x00, 0x01, 0xCE, 0x71, 0x19, 0x80, 0x00, 0x00, - 0x70, 0xFD, 0xF8, 0x70, 0x3F, 0x03, 0xF8, 0x1E, 0x01, 0x80, 0x7F, 0xDF, - 0xF0, 0x00, 0x00, 0xFF, 0xBF, 0xE0, 0x60, 0x1E, 0x07, 0xF0, 0x3F, 0x03, - 0x87, 0xEF, 0xC3, 0x80, 0x00, 0x00, 0x1F, 0x1F, 0xFE, 0x1F, 0x87, 0x01, - 0xC0, 0xE0, 0x70, 0x78, 0x3C, 0x0E, 0x00, 0x00, 0xE0, 0x38, 0x00, 0x00, - 0xFC, 0x00, 0xFF, 0xC0, 0xF0, 0x78, 0x70, 0x07, 0x38, 0x01, 0xCC, 0x3F, - 0x36, 0x31, 0x8D, 0x98, 0x63, 0xC4, 0x11, 0xF3, 0x0C, 0x6C, 0xC6, 0x73, - 0x3E, 0xF8, 0xE7, 0x3C, 0x1E, 0x00, 0x03, 0xFE, 0x00, 0x3F, 0x00, 0x01, - 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0xC0, 0x6F, 0x03, 0x38, 0x31, 0xC3, 0x8E, - 0x1F, 0xF1, 0xFF, 0x8C, 0x1E, 0xE0, 0x76, 0x03, 0x80, 0x1F, 0xF0, 0xFF, - 0xC6, 0x0E, 0x70, 0x73, 0x87, 0x1F, 0xF0, 0xFF, 0x86, 0x0E, 0x70, 0x73, - 0x83, 0x9C, 0x38, 0xFF, 0xC7, 0xF8, 0x00, 0x07, 0xE0, 0xFF, 0x8F, 0x1E, - 0x70, 0x77, 0x00, 0x30, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x03, 0xBC, - 0x38, 0xFF, 0x83, 0xF0, 0x00, 0x1F, 0xE0, 0xFF, 0x86, 0x1E, 0x70, 0x73, - 0x83, 0x9C, 0x1C, 0xC0, 0xE6, 0x07, 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, - 0x8F, 0xF0, 0x00, 0x1F, 0xF8, 0xFF, 0x86, 0x00, 0x70, 0x03, 0x80, 0x1F, - 0xF0, 0xFF, 0x86, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xFF, 0xC7, 0xFC, - 0x00, 0x1F, 0xF1, 0xFF, 0x18, 0x03, 0x80, 0x38, 0x03, 0xFC, 0x3F, 0xC7, - 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, 0x00, 0xE0, 0x00, 0x07, 0xC1, 0xFE, - 0x38, 0x77, 0x03, 0x70, 0x0E, 0x00, 0xE1, 0xEE, 0x1E, 0xE0, 0x6E, 0x0E, - 0x70, 0xE7, 0xFC, 0x1F, 0x40, 0x1C, 0x1C, 0x60, 0x63, 0x83, 0x8E, 0x0E, - 0x38, 0x38, 0xFF, 0xC3, 0xFF, 0x1C, 0x1C, 0x70, 0x71, 0xC1, 0xC6, 0x06, - 0x18, 0x38, 0xE0, 0xE0, 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, - 0x00, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x00, 0xE0, 0x1C, - 0xE3, 0x9C, 0x73, 0x9C, 0x7F, 0x87, 0xC0, 0x1C, 0x3C, 0x71, 0xC1, 0x8E, - 0x0E, 0x70, 0x3B, 0x80, 0xFC, 0x03, 0xF0, 0x0E, 0xE0, 0x73, 0x81, 0xC7, - 0x07, 0x1C, 0x18, 0x38, 0xE0, 0xF0, 0x1C, 0x07, 0x01, 0x80, 0xE0, 0x38, - 0x0E, 0x03, 0x80, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xFF, 0x7F, 0x80, 0x1E, - 0x1F, 0x1E, 0x1E, 0x3E, 0x1E, 0x3E, 0x3E, 0x36, 0x3E, 0x36, 0x6E, 0x36, - 0x6C, 0x76, 0xCC, 0x76, 0xDC, 0x67, 0x9C, 0x67, 0x98, 0xE7, 0x18, 0xE7, - 0x18, 0x1C, 0x1C, 0x70, 0x63, 0xE1, 0x8F, 0x8E, 0x3E, 0x38, 0xDC, 0xC3, - 0x33, 0x1C, 0xEC, 0x71, 0xF1, 0xC7, 0xC6, 0x1E, 0x18, 0x38, 0xE0, 0xE0, - 0x07, 0xC0, 0xFF, 0x8E, 0x1E, 0xE0, 0x77, 0x03, 0xF0, 0x1F, 0x80, 0xFC, - 0x07, 0xE0, 0x77, 0x03, 0xBC, 0x38, 0xFF, 0x81, 0xF0, 0x00, 0x1F, 0xF0, - 0xFF, 0xC6, 0x0E, 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, 0x87, 0xF8, 0x70, - 0x03, 0x80, 0x1C, 0x00, 0xC0, 0x0E, 0x00, 0x00, 0x07, 0xC0, 0xFF, 0x8F, - 0x1C, 0xE0, 0x77, 0x03, 0xB0, 0x1F, 0x80, 0xFC, 0x06, 0xE1, 0x77, 0x1F, - 0x3C, 0x78, 0xFF, 0xC1, 0xF6, 0x00, 0x20, 0x1F, 0xF0, 0xFF, 0xC6, 0x0E, - 0x70, 0x73, 0x83, 0x9C, 0x38, 0xFF, 0x87, 0xFC, 0x70, 0x73, 0x83, 0x9C, - 0x38, 0xC1, 0xC6, 0x0F, 0x00, 0x07, 0xE0, 0xFF, 0xC7, 0x0E, 0x70, 0x73, - 0x80, 0x1F, 0x80, 0x7F, 0x80, 0x7E, 0x00, 0x77, 0x03, 0xBC, 0x38, 0xFF, - 0xC3, 0xF8, 0x00, 0xFF, 0xDF, 0xF8, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x06, - 0x01, 0xC0, 0x38, 0x07, 0x00, 0xC0, 0x18, 0x07, 0x00, 0x38, 0x31, 0xC1, - 0x8C, 0x1C, 0xE0, 0xE7, 0x07, 0x38, 0x31, 0xC3, 0x9C, 0x1C, 0xE0, 0xE7, - 0x06, 0x38, 0x70, 0xFF, 0x03, 0xE0, 0x00, 0xE0, 0xFC, 0x1D, 0x87, 0x30, - 0xC6, 0x38, 0xC6, 0x19, 0xC3, 0xB0, 0x7E, 0x0F, 0x80, 0xF0, 0x1C, 0x03, - 0x00, 0xE1, 0xC3, 0xF1, 0xE3, 0xB8, 0xF1, 0xDC, 0x78, 0xCE, 0x6C, 0xE7, - 0x36, 0x63, 0xB3, 0x70, 0xD9, 0xB0, 0x7C, 0xD8, 0x3C, 0x78, 0x1E, 0x3C, - 0x0E, 0x1C, 0x07, 0x0E, 0x00, 0x0E, 0x1C, 0x38, 0xE0, 0xE7, 0x01, 0xD8, - 0x07, 0xE0, 0x0F, 0x00, 0x38, 0x01, 0xE0, 0x0F, 0xC0, 0x77, 0x01, 0x8E, - 0x0E, 0x38, 0x70, 0xF0, 0xE0, 0xEE, 0x39, 0xC7, 0x39, 0xC3, 0x70, 0x7C, - 0x0F, 0x80, 0xE0, 0x1C, 0x03, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x3F, 0xF3, - 0xFF, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x3C, 0x07, - 0x80, 0x70, 0x0F, 0xFC, 0xFF, 0xC0, 0x0F, 0x0F, 0x0C, 0x1C, 0x18, 0x18, - 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x78, 0x78, 0x12, - 0x4C, 0x92, 0x49, 0x26, 0xD9, 0x20, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x0C, - 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x38, 0x30, 0xF0, 0xF0, 0x06, - 0x0E, 0x0E, 0x1B, 0x33, 0x33, 0x63, 0x63, 0xFF, 0xE0, 0xCC, 0x1F, 0x8F, - 0xF3, 0x1C, 0x06, 0x1F, 0x9F, 0xEE, 0x3B, 0x9C, 0xFF, 0x1D, 0xC0, 0x18, - 0x03, 0x00, 0xE0, 0x1D, 0xC3, 0xFC, 0x71, 0xDC, 0x3B, 0x87, 0x70, 0xEE, - 0x39, 0xCF, 0x7F, 0xCF, 0xE0, 0x0F, 0x0F, 0xF7, 0x1D, 0xC0, 0xE0, 0x38, - 0x0E, 0x03, 0x8E, 0x7F, 0x0F, 0x80, 0x00, 0x60, 0x06, 0x00, 0x61, 0xEE, - 0x3F, 0xE7, 0x9C, 0x71, 0xCE, 0x1C, 0xE1, 0xCE, 0x1C, 0xE3, 0x87, 0xF8, - 0x7F, 0x80, 0x1F, 0x0F, 0xE7, 0x1D, 0xC7, 0xFF, 0xFF, 0xFE, 0x03, 0x8E, - 0x7F, 0x0F, 0x80, 0x1C, 0xF3, 0x3F, 0xFD, 0xC7, 0x18, 0x63, 0x8E, 0x30, - 0xC0, 0x0F, 0x71, 0xFE, 0x3C, 0xE3, 0x8E, 0x70, 0xE7, 0x0E, 0x70, 0xC7, - 0x1C, 0x3F, 0xC3, 0xFC, 0x01, 0xCE, 0x38, 0x7F, 0x03, 0xE0, 0x18, 0x03, - 0x00, 0xE0, 0x1D, 0xE3, 0xFE, 0x71, 0xCC, 0x3B, 0x86, 0x70, 0xCC, 0x39, - 0x87, 0x30, 0xEE, 0x18, 0x39, 0xC0, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, - 0x00, 0x06, 0x06, 0x00, 0x0E, 0x0E, 0x0C, 0x0C, 0x1C, 0x1C, 0x1C, 0x18, - 0x18, 0x38, 0x38, 0x30, 0x70, 0xE0, 0x18, 0x03, 0x00, 0xE0, 0x1C, 0xE3, - 0x38, 0x6E, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xE1, 0x9C, 0x73, 0x8E, 0x38, - 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x63, 0x39, 0xCE, 0x00, 0x3B, 0x9E, 0x3F, - 0xFF, 0x39, 0xC7, 0x71, 0xC6, 0x71, 0x86, 0x71, 0x8E, 0x63, 0x8E, 0x63, - 0x8C, 0xE3, 0x8C, 0xE3, 0x1C, 0x3B, 0xC7, 0xFC, 0xE3, 0xB8, 0x77, 0x0C, - 0xE1, 0x98, 0x73, 0x0E, 0xE1, 0xDC, 0x30, 0x0F, 0x87, 0xF9, 0xE7, 0xB8, - 0x7E, 0x0F, 0xC1, 0xF8, 0x77, 0x9E, 0x7F, 0x87, 0xC0, 0x1D, 0xE1, 0xFE, - 0x1C, 0x73, 0x87, 0x38, 0x73, 0x87, 0x38, 0xE3, 0x8E, 0x7F, 0xC7, 0xF8, - 0x60, 0x06, 0x00, 0x60, 0x0E, 0x00, 0x1E, 0xE7, 0xFD, 0xE7, 0x38, 0xEE, - 0x1D, 0xC3, 0xB8, 0x77, 0x1C, 0x7F, 0x8F, 0xF0, 0x0E, 0x01, 0x80, 0x30, - 0x06, 0x00, 0x3B, 0x36, 0x38, 0x70, 0x70, 0x70, 0x60, 0x60, 0xE0, 0xE0, - 0x3E, 0x3F, 0xF8, 0xFC, 0x0F, 0xC3, 0xF8, 0x3D, 0x8E, 0xFE, 0x3E, 0x00, - 0x38, 0xCF, 0xFE, 0x71, 0x86, 0x38, 0xE3, 0x8F, 0x3C, 0x31, 0xDC, 0x77, - 0x19, 0x86, 0x63, 0xB8, 0xEE, 0x33, 0x9C, 0xFF, 0x1F, 0xC0, 0xE1, 0x98, - 0xE6, 0x31, 0x9C, 0x66, 0x1B, 0x86, 0xC1, 0xF0, 0x78, 0x0E, 0x00, 0xE7, - 0x1B, 0x9C, 0xEE, 0x73, 0x3B, 0xDC, 0xEB, 0x63, 0xAD, 0x8F, 0xBC, 0x1C, - 0xF0, 0x73, 0xC1, 0xCE, 0x00, 0x1C, 0xE1, 0xCC, 0x0D, 0x80, 0xF8, 0x0F, - 0x00, 0xF0, 0x1F, 0x03, 0xB8, 0x33, 0x87, 0x38, 0x70, 0xCE, 0x38, 0xC6, - 0x19, 0xC3, 0x30, 0x66, 0x0F, 0x81, 0xF0, 0x3C, 0x03, 0x80, 0x60, 0x18, - 0x0F, 0x01, 0xC0, 0x00, 0x1F, 0xCF, 0xF0, 0x38, 0x1C, 0x0E, 0x07, 0x03, - 0x81, 0xC0, 0x7F, 0xBF, 0xE0, 0x0E, 0x38, 0x61, 0x83, 0x06, 0x0C, 0x78, - 0xF0, 0xC1, 0x83, 0x0E, 0x1C, 0x38, 0x78, 0x70, 0x18, 0xC4, 0x21, 0x18, - 0xC4, 0x21, 0x18, 0xC4, 0x23, 0x18, 0x80, 0x1C, 0x3C, 0x38, 0x70, 0xE1, - 0x83, 0x06, 0x1E, 0x5C, 0x60, 0xC1, 0x83, 0x0C, 0x38, 0xE0, 0x71, 0x8E }; - -const GFXglyph FreeSansBoldOblique9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 5, 13, 6, 2, -12 }, // 0x21 '!' - { 9, 7, 5, 9, 3, -12 }, // 0x22 '"' - { 14, 11, 12, 10, 1, -11 }, // 0x23 '#' - { 31, 11, 16, 10, 1, -13 }, // 0x24 '$' - { 53, 14, 13, 16, 2, -12 }, // 0x25 '%' - { 76, 12, 13, 13, 2, -12 }, // 0x26 '&' - { 96, 3, 5, 4, 3, -12 }, // 0x27 ''' - { 98, 8, 17, 6, 2, -12 }, // 0x28 '(' - { 115, 8, 17, 6, -2, -13 }, // 0x29 ')' - { 132, 6, 6, 7, 3, -12 }, // 0x2A '*' - { 137, 9, 8, 11, 2, -7 }, // 0x2B '+' - { 146, 4, 6, 5, 0, -2 }, // 0x2C ',' - { 149, 5, 2, 6, 1, -5 }, // 0x2D '-' - { 151, 3, 2, 5, 1, -1 }, // 0x2E '.' - { 152, 8, 13, 5, 0, -12 }, // 0x2F '/' - { 165, 10, 13, 10, 1, -12 }, // 0x30 '0' - { 182, 7, 13, 10, 3, -12 }, // 0x31 '1' - { 194, 11, 13, 10, 1, -12 }, // 0x32 '2' - { 212, 11, 13, 10, 1, -12 }, // 0x33 '3' - { 230, 10, 12, 10, 1, -11 }, // 0x34 '4' - { 245, 11, 13, 10, 1, -12 }, // 0x35 '5' - { 263, 10, 13, 10, 2, -12 }, // 0x36 '6' - { 280, 10, 13, 10, 2, -12 }, // 0x37 '7' - { 297, 11, 13, 10, 1, -12 }, // 0x38 '8' - { 315, 11, 13, 10, 1, -12 }, // 0x39 '9' - { 333, 4, 9, 6, 2, -8 }, // 0x3A ':' - { 338, 5, 12, 6, 1, -8 }, // 0x3B ';' - { 346, 10, 9, 11, 1, -8 }, // 0x3C '<' - { 358, 10, 6, 11, 1, -6 }, // 0x3D '=' - { 366, 10, 9, 11, 1, -7 }, // 0x3E '>' - { 378, 10, 13, 11, 3, -12 }, // 0x3F '?' - { 395, 18, 16, 18, 1, -13 }, // 0x40 '@' - { 431, 13, 13, 13, 0, -12 }, // 0x41 'A' - { 453, 13, 13, 13, 1, -12 }, // 0x42 'B' - { 475, 13, 13, 13, 2, -12 }, // 0x43 'C' - { 497, 13, 13, 13, 1, -12 }, // 0x44 'D' - { 519, 13, 13, 12, 1, -12 }, // 0x45 'E' - { 541, 12, 13, 11, 1, -12 }, // 0x46 'F' - { 561, 12, 13, 14, 2, -12 }, // 0x47 'G' - { 581, 14, 13, 13, 1, -12 }, // 0x48 'H' - { 604, 5, 13, 5, 1, -12 }, // 0x49 'I' - { 613, 11, 13, 10, 1, -12 }, // 0x4A 'J' - { 631, 14, 13, 13, 1, -12 }, // 0x4B 'K' - { 654, 10, 13, 11, 1, -12 }, // 0x4C 'L' - { 671, 16, 13, 15, 1, -12 }, // 0x4D 'M' - { 697, 14, 13, 13, 1, -12 }, // 0x4E 'N' - { 720, 13, 13, 14, 2, -12 }, // 0x4F 'O' - { 742, 13, 13, 12, 1, -12 }, // 0x50 'P' - { 764, 13, 14, 14, 2, -12 }, // 0x51 'Q' - { 787, 13, 13, 13, 1, -12 }, // 0x52 'R' - { 809, 13, 13, 12, 1, -12 }, // 0x53 'S' - { 831, 11, 13, 11, 3, -12 }, // 0x54 'T' - { 849, 13, 13, 13, 2, -12 }, // 0x55 'U' - { 871, 11, 13, 12, 3, -12 }, // 0x56 'V' - { 889, 17, 13, 17, 3, -12 }, // 0x57 'W' - { 917, 14, 13, 12, 0, -12 }, // 0x58 'X' - { 940, 11, 13, 12, 3, -12 }, // 0x59 'Y' - { 958, 12, 13, 11, 1, -12 }, // 0x5A 'Z' - { 978, 8, 17, 6, 0, -12 }, // 0x5B '[' - { 995, 3, 17, 5, 2, -16 }, // 0x5C '\' - { 1002, 8, 17, 6, 0, -13 }, // 0x5D ']' - { 1019, 8, 8, 11, 2, -12 }, // 0x5E '^' - { 1027, 11, 1, 10, -1, 4 }, // 0x5F '_' - { 1029, 3, 2, 6, 3, -12 }, // 0x60 '`' - { 1030, 10, 10, 10, 1, -9 }, // 0x61 'a' - { 1043, 11, 13, 11, 1, -12 }, // 0x62 'b' - { 1061, 10, 10, 10, 1, -9 }, // 0x63 'c' - { 1074, 12, 13, 11, 1, -12 }, // 0x64 'd' - { 1094, 10, 10, 10, 1, -9 }, // 0x65 'e' - { 1107, 6, 13, 6, 2, -12 }, // 0x66 'f' - { 1117, 12, 14, 11, 0, -9 }, // 0x67 'g' - { 1138, 11, 13, 11, 1, -12 }, // 0x68 'h' - { 1156, 5, 13, 5, 1, -12 }, // 0x69 'i' - { 1165, 8, 17, 5, -1, -12 }, // 0x6A 'j' - { 1182, 11, 13, 10, 1, -12 }, // 0x6B 'k' - { 1200, 5, 13, 5, 1, -12 }, // 0x6C 'l' - { 1209, 16, 10, 16, 1, -9 }, // 0x6D 'm' - { 1229, 11, 10, 11, 1, -9 }, // 0x6E 'n' - { 1243, 11, 10, 11, 1, -9 }, // 0x6F 'o' - { 1257, 12, 14, 11, 0, -9 }, // 0x70 'p' - { 1278, 11, 14, 11, 1, -9 }, // 0x71 'q' - { 1298, 8, 10, 7, 1, -9 }, // 0x72 'r' - { 1308, 9, 10, 10, 2, -9 }, // 0x73 's' - { 1320, 6, 12, 6, 2, -11 }, // 0x74 't' - { 1329, 10, 10, 11, 2, -9 }, // 0x75 'u' - { 1342, 10, 10, 10, 2, -9 }, // 0x76 'v' - { 1355, 14, 10, 14, 2, -9 }, // 0x77 'w' - { 1373, 12, 10, 10, 0, -9 }, // 0x78 'x' - { 1388, 11, 14, 10, 1, -9 }, // 0x79 'y' - { 1408, 10, 10, 9, 0, -9 }, // 0x7A 'z' - { 1421, 7, 17, 7, 2, -12 }, // 0x7B '{' - { 1436, 5, 17, 5, 1, -12 }, // 0x7C '|' - { 1447, 7, 17, 7, 0, -13 }, // 0x7D '}' - { 1462, 8, 2, 11, 2, -4 } }; // 0x7E '~' - -const GFXfont FreeSansBoldOblique9pt7b PROGMEM = { - (uint8_t *)FreeSansBoldOblique9pt7bBitmaps, - (GFXglyph *)FreeSansBoldOblique9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 2136 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h deleted file mode 100644 index efdbd8d..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique12pt7b.h +++ /dev/null @@ -1,302 +0,0 @@ -const uint8_t FreeSansOblique12pt7bBitmaps[] PROGMEM = { - 0x0C, 0x61, 0x86, 0x18, 0x63, 0x0C, 0x30, 0xC2, 0x18, 0x61, 0x00, 0x00, - 0xC3, 0x00, 0xCF, 0x3C, 0xE2, 0x8A, 0x20, 0x01, 0x8C, 0x03, 0x18, 0x06, - 0x60, 0x18, 0xC0, 0x31, 0x83, 0xFF, 0x87, 0xFF, 0x03, 0x18, 0x0C, 0x60, - 0x18, 0xC0, 0x23, 0x03, 0xFF, 0x8F, 0xFF, 0x02, 0x30, 0x0C, 0x60, 0x18, - 0x80, 0x63, 0x00, 0xC6, 0x00, 0x00, 0x80, 0x3F, 0x03, 0xFC, 0x32, 0x73, - 0x91, 0x99, 0x8C, 0xCC, 0x06, 0x60, 0x3E, 0x00, 0x7E, 0x01, 0xFC, 0x0C, - 0xEC, 0x43, 0x62, 0x1B, 0x11, 0x9D, 0x9C, 0x7F, 0xC1, 0xF8, 0x02, 0x00, - 0x10, 0x01, 0x80, 0x00, 0x00, 0x01, 0x83, 0xC0, 0x60, 0xFC, 0x18, 0x30, - 0xC2, 0x0C, 0x18, 0xC1, 0x83, 0x30, 0x38, 0xCC, 0x03, 0xF1, 0x00, 0x3C, - 0x40, 0x00, 0x18, 0xF0, 0x06, 0x3F, 0x01, 0x8C, 0x30, 0x23, 0x06, 0x0C, - 0x60, 0xC3, 0x0E, 0x30, 0xC0, 0xFC, 0x10, 0x0F, 0x00, 0x01, 0xE0, 0x3F, - 0x81, 0x8C, 0x18, 0x60, 0xC3, 0x06, 0x30, 0x1F, 0x00, 0xE0, 0x1F, 0x01, - 0xDC, 0xD8, 0x6D, 0x81, 0xEC, 0x0E, 0x60, 0x73, 0x87, 0xCF, 0xE6, 0x3E, - 0x38, 0xFE, 0xA0, 0x03, 0x06, 0x04, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x60, - 0x60, 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x60, - 0x60, 0x20, 0x04, 0x06, 0x06, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x20, 0x60, - 0xC0, 0x0C, 0x0C, 0x49, 0x7F, 0x3C, 0x3C, 0x6C, 0x00, 0x03, 0x00, 0x30, - 0x03, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x60, 0x06, 0x00, 0xC0, - 0x0C, 0x00, 0x77, 0x22, 0x6C, 0xFF, 0xF0, 0xFC, 0x00, 0x40, 0x30, 0x08, - 0x06, 0x01, 0x00, 0xC0, 0x20, 0x18, 0x04, 0x02, 0x00, 0x80, 0x40, 0x10, - 0x08, 0x02, 0x01, 0x00, 0xC0, 0x20, 0x00, 0x07, 0xC0, 0xFE, 0x1C, 0x73, - 0x83, 0x30, 0x36, 0x03, 0x60, 0x36, 0x03, 0xC0, 0x7C, 0x07, 0xC0, 0x6C, - 0x06, 0xC0, 0xEC, 0x0C, 0xE3, 0x87, 0xF0, 0x3E, 0x00, 0x02, 0x0C, 0x77, - 0xEF, 0xC1, 0x83, 0x0C, 0x18, 0x30, 0x61, 0xC3, 0x06, 0x0C, 0x18, 0x60, - 0x03, 0xF0, 0x1F, 0xE0, 0xE1, 0xC7, 0x03, 0x18, 0x0C, 0x00, 0x30, 0x01, - 0x80, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x78, 0x07, 0x80, 0x38, 0x01, 0xC0, - 0x06, 0x00, 0x1F, 0xFC, 0xFF, 0xE0, 0x07, 0xC0, 0xFE, 0x1C, 0x73, 0x03, - 0x30, 0x30, 0x03, 0x00, 0xE0, 0x7C, 0x07, 0xC0, 0x0E, 0x00, 0x60, 0x06, - 0xC0, 0x6C, 0x0C, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x00, 0x60, 0x06, 0x00, - 0xE0, 0x1E, 0x03, 0xE0, 0x6C, 0x0C, 0xC1, 0x8C, 0x30, 0xC6, 0x1C, 0xC1, - 0x8F, 0xFF, 0xFF, 0xE0, 0x18, 0x03, 0x00, 0x30, 0x03, 0x00, 0x0F, 0xF8, - 0x7F, 0xC6, 0x00, 0x30, 0x01, 0x00, 0x1B, 0xC0, 0xFF, 0x06, 0x1C, 0x60, - 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x0C, 0x60, 0x63, 0x86, 0x0F, 0xE0, - 0x3E, 0x00, 0x03, 0xC0, 0xFE, 0x1C, 0x73, 0x83, 0x30, 0x06, 0x00, 0x67, - 0x87, 0xFC, 0xF0, 0xEE, 0x06, 0xC0, 0x6C, 0x06, 0xC0, 0x4C, 0x0C, 0xE1, - 0x87, 0xF8, 0x3E, 0x00, 0x3F, 0xFB, 0xFF, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, - 0x00, 0xC0, 0x06, 0x00, 0x60, 0x06, 0x00, 0x70, 0x03, 0x00, 0x30, 0x03, - 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xE0, 0x00, 0x07, 0xC0, 0xFE, 0x1C, - 0x73, 0x03, 0x30, 0x33, 0x03, 0x38, 0x61, 0xFC, 0x3F, 0xC7, 0x0E, 0x60, - 0x6C, 0x06, 0xC0, 0x6C, 0x0C, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x07, 0xC1, - 0xFE, 0x38, 0x73, 0x03, 0x60, 0x36, 0x03, 0x60, 0x36, 0x07, 0x70, 0xF3, - 0xFE, 0x1E, 0x60, 0x0E, 0x00, 0xCC, 0x1C, 0xE3, 0x87, 0xF0, 0x3C, 0x00, - 0x39, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC0, 0x1C, 0x70, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x1C, 0x20, 0x86, 0x30, 0x00, 0x00, 0x01, 0xC0, - 0x3C, 0x0F, 0x81, 0xE0, 0x7C, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x3E, - 0x00, 0x38, 0x00, 0x40, 0x7F, 0xFB, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, - 0x7F, 0xF0, 0x20, 0x01, 0xC0, 0x07, 0xC0, 0x0F, 0x80, 0x0F, 0x00, 0x1C, - 0x03, 0xE0, 0x78, 0x1F, 0x03, 0xC0, 0x38, 0x00, 0x00, 0x00, 0x0F, 0x87, - 0xF9, 0xC3, 0xB0, 0x3C, 0x06, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x01, 0xC0, - 0x30, 0x0C, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x06, 0x00, 0x00, - 0x3F, 0x80, 0x01, 0xFF, 0xE0, 0x0F, 0x01, 0xE0, 0x38, 0x00, 0xE0, 0xE0, - 0x00, 0xC3, 0x87, 0x81, 0xCE, 0x1F, 0xB1, 0x98, 0x71, 0xC3, 0x61, 0x83, - 0x86, 0xC6, 0x06, 0x0F, 0x0C, 0x0C, 0x3E, 0x30, 0x30, 0x6C, 0x60, 0x61, - 0xD8, 0xC1, 0x87, 0x31, 0xC7, 0x1C, 0x61, 0xF7, 0xF0, 0x63, 0xCF, 0x80, - 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x7F, 0x00, 0x00, - 0x00, 0x38, 0x00, 0x78, 0x00, 0x7C, 0x00, 0xFC, 0x00, 0xDC, 0x01, 0xCC, - 0x01, 0x8C, 0x03, 0x8C, 0x03, 0x0C, 0x06, 0x0C, 0x0E, 0x0E, 0x0F, 0xFE, - 0x1F, 0xFE, 0x18, 0x06, 0x38, 0x06, 0x30, 0x06, 0x70, 0x06, 0x60, 0x07, - 0x0F, 0xF8, 0x1F, 0xF8, 0x60, 0x38, 0xC0, 0x31, 0x80, 0x63, 0x00, 0xCE, - 0x03, 0x18, 0x0C, 0x3F, 0xF0, 0x7F, 0xF0, 0xC0, 0x73, 0x00, 0x66, 0x00, - 0xCC, 0x01, 0x98, 0x06, 0x70, 0x1C, 0xFF, 0xF1, 0xFF, 0x80, 0x01, 0xF8, - 0x07, 0xFE, 0x0E, 0x0E, 0x1C, 0x03, 0x38, 0x03, 0x30, 0x00, 0x60, 0x00, - 0x60, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x06, - 0xC0, 0x0C, 0xE0, 0x1C, 0x70, 0x78, 0x3F, 0xF0, 0x1F, 0x80, 0x0F, 0xF8, - 0x1F, 0xFC, 0x18, 0x0E, 0x18, 0x07, 0x18, 0x03, 0x18, 0x03, 0x38, 0x03, - 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x70, 0x06, 0x70, 0x06, 0x60, 0x0C, - 0x60, 0x0C, 0x60, 0x18, 0xE0, 0x78, 0xFF, 0xE0, 0xFF, 0x80, 0x0F, 0xFF, - 0x1F, 0xFE, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x38, 0x00, - 0x30, 0x00, 0x3F, 0xFC, 0x3F, 0xF8, 0x70, 0x00, 0x70, 0x00, 0x60, 0x00, - 0x60, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xFF, 0xF8, 0xFF, 0xF8, 0x0F, 0xFE, - 0x3F, 0xFC, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x18, - 0x00, 0x3F, 0xF0, 0x7F, 0xE1, 0xC0, 0x03, 0x80, 0x06, 0x00, 0x0C, 0x00, - 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x80, 0x00, 0x01, 0xF8, 0x07, 0xFE, - 0x0E, 0x0F, 0x18, 0x03, 0x30, 0x03, 0x70, 0x00, 0x60, 0x00, 0x60, 0x00, - 0xC0, 0x7F, 0xC0, 0x7E, 0xC0, 0x02, 0xC0, 0x06, 0xC0, 0x06, 0xE0, 0x0E, - 0x60, 0x1E, 0x78, 0x3C, 0x3F, 0xE4, 0x0F, 0x84, 0x0C, 0x01, 0x8E, 0x00, - 0xC6, 0x00, 0xE3, 0x00, 0x61, 0x80, 0x30, 0xC0, 0x18, 0xE0, 0x0C, 0x60, - 0x0E, 0x3F, 0xFE, 0x1F, 0xFF, 0x1C, 0x01, 0x8E, 0x01, 0xC6, 0x00, 0xE3, - 0x00, 0x61, 0x80, 0x31, 0xC0, 0x18, 0xC0, 0x1C, 0x60, 0x0C, 0x00, 0x0C, - 0x71, 0x86, 0x18, 0x63, 0x8C, 0x30, 0xC3, 0x1C, 0x61, 0x86, 0x18, 0xE3, - 0x00, 0x00, 0x18, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, - 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x38, 0x01, 0x8C, 0x0C, 0x60, 0x63, - 0x07, 0x1C, 0x70, 0x7F, 0x01, 0xF0, 0x00, 0x0C, 0x03, 0x87, 0x01, 0xC1, - 0x80, 0xE0, 0x60, 0x60, 0x18, 0x70, 0x06, 0x38, 0x03, 0x9C, 0x00, 0xCE, - 0x00, 0x37, 0x80, 0x0F, 0x70, 0x07, 0x8C, 0x01, 0xC3, 0x80, 0x60, 0x60, - 0x18, 0x1C, 0x06, 0x03, 0x03, 0x80, 0xE0, 0xC0, 0x18, 0x30, 0x07, 0x00, - 0x0C, 0x03, 0x80, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x0E, 0x01, 0x80, 0x30, - 0x06, 0x01, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xFF, 0xFF, - 0xFC, 0x0E, 0x00, 0x71, 0xE0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1E, - 0x01, 0xE1, 0xE0, 0x36, 0x3B, 0x03, 0x63, 0x30, 0x6E, 0x33, 0x0E, 0xC3, - 0x30, 0xCC, 0x33, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x31, 0xC6, 0x33, 0x18, - 0x61, 0xE1, 0x8E, 0x1E, 0x18, 0xC1, 0xC1, 0x8C, 0x1C, 0x38, 0x0C, 0x01, - 0x8F, 0x00, 0xC7, 0x80, 0x63, 0xE0, 0x71, 0xF0, 0x30, 0xD8, 0x18, 0xEE, - 0x0C, 0x63, 0x06, 0x31, 0xC7, 0x18, 0xE3, 0x0C, 0x31, 0x8C, 0x1C, 0xC6, - 0x06, 0x63, 0x03, 0xF1, 0x80, 0xF1, 0xC0, 0x78, 0xC0, 0x3C, 0x60, 0x0E, - 0x00, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0x83, 0xC3, 0x80, 0x63, 0x00, 0x3B, - 0x80, 0x0D, 0x80, 0x06, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, - 0xF8, 0x00, 0x6C, 0x00, 0x36, 0x00, 0x31, 0x80, 0x30, 0xF0, 0x78, 0x3F, - 0xF0, 0x07, 0xE0, 0x00, 0x0F, 0xF8, 0x3F, 0xF8, 0x60, 0x38, 0xC0, 0x31, - 0x80, 0x63, 0x00, 0xCE, 0x03, 0x18, 0x0E, 0x3F, 0xF8, 0x7F, 0xE1, 0xC0, - 0x03, 0x80, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x70, 0x00, 0xC0, 0x01, - 0x80, 0x00, 0x00, 0xFC, 0x01, 0xFF, 0xC0, 0xF0, 0x78, 0x70, 0x06, 0x38, - 0x01, 0xCC, 0x00, 0x36, 0x00, 0x0D, 0x80, 0x03, 0xC0, 0x00, 0xF0, 0x00, - 0x3C, 0x00, 0x1B, 0x00, 0x06, 0xC0, 0x03, 0x38, 0x1D, 0xC6, 0x03, 0xE1, - 0xE0, 0xF0, 0x3F, 0xFE, 0x03, 0xF1, 0xC0, 0x00, 0x20, 0x0F, 0xFC, 0x1F, - 0xFE, 0x18, 0x07, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x38, 0x06, 0x30, - 0x0C, 0x3F, 0xF8, 0x3F, 0xF8, 0x70, 0x1C, 0x70, 0x0C, 0x60, 0x0C, 0x60, - 0x0C, 0x60, 0x18, 0xE0, 0x18, 0xC0, 0x18, 0xC0, 0x1C, 0x03, 0xF8, 0x1F, - 0xF8, 0x70, 0x38, 0xC0, 0x33, 0x00, 0x66, 0x00, 0x0C, 0x00, 0x1E, 0x00, - 0x1F, 0xC0, 0x0F, 0xF0, 0x01, 0xF0, 0x00, 0xEC, 0x00, 0xD8, 0x01, 0xB0, - 0x06, 0x70, 0x38, 0x7F, 0xE0, 0x3F, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x70, - 0x01, 0xC0, 0x06, 0x00, 0x18, 0x00, 0x60, 0x03, 0x80, 0x0C, 0x00, 0x30, - 0x00, 0xC0, 0x03, 0x00, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x18, - 0x00, 0xE0, 0x00, 0x18, 0x03, 0x38, 0x03, 0x30, 0x07, 0x30, 0x06, 0x30, - 0x06, 0x70, 0x06, 0x70, 0x0E, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0xE0, - 0x0C, 0xC0, 0x1C, 0xC0, 0x18, 0xC0, 0x18, 0xC0, 0x38, 0xE0, 0x70, 0x7F, - 0xE0, 0x1F, 0x80, 0xC0, 0x0F, 0xC0, 0x1B, 0x80, 0x73, 0x00, 0xC6, 0x03, - 0x0C, 0x06, 0x18, 0x18, 0x30, 0x70, 0x60, 0xC0, 0xE3, 0x81, 0xC6, 0x01, - 0x9C, 0x03, 0x30, 0x06, 0xE0, 0x0D, 0x80, 0x1E, 0x00, 0x3C, 0x00, 0x70, - 0x00, 0xC0, 0x70, 0x1F, 0x01, 0xC0, 0x6C, 0x0F, 0x03, 0xB0, 0x3C, 0x0C, - 0xC1, 0xF0, 0x73, 0x06, 0xC1, 0x8C, 0x3B, 0x06, 0x30, 0xC6, 0x30, 0xC7, - 0x18, 0xC3, 0x18, 0x67, 0x0C, 0xE1, 0x98, 0x33, 0x06, 0xE0, 0xDC, 0x1B, - 0x03, 0x60, 0x6C, 0x07, 0x81, 0xE0, 0x1C, 0x07, 0x80, 0x70, 0x1C, 0x01, - 0x80, 0x70, 0x00, 0x07, 0x00, 0xE0, 0xE0, 0x38, 0x0C, 0x0E, 0x01, 0xC3, - 0x80, 0x18, 0xE0, 0x03, 0x98, 0x00, 0x36, 0x00, 0x07, 0x80, 0x00, 0xF0, - 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x01, 0xDC, 0x00, 0x73, 0x80, 0x1C, 0x30, - 0x03, 0x07, 0x00, 0xC0, 0x60, 0x38, 0x0E, 0x0E, 0x00, 0xC0, 0xE0, 0x06, - 0x60, 0x0C, 0x70, 0x1C, 0x70, 0x38, 0x30, 0x70, 0x38, 0x60, 0x18, 0xC0, - 0x1D, 0xC0, 0x1F, 0x80, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, - 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x0F, 0xFF, - 0x87, 0xFF, 0x80, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, - 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, - 0xC0, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0xF8, 0x7F, 0xFC, - 0x00, 0x07, 0xC1, 0xE0, 0x60, 0x18, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x1C, - 0x06, 0x01, 0x80, 0x60, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x06, - 0x01, 0x80, 0x60, 0x1E, 0x07, 0x80, 0x93, 0x6C, 0x92, 0x49, 0x24, 0xDB, - 0x24, 0x07, 0x81, 0xE0, 0x18, 0x06, 0x01, 0x80, 0xC0, 0x30, 0x0C, 0x03, - 0x01, 0xC0, 0x60, 0x18, 0x06, 0x01, 0x80, 0xE0, 0x30, 0x0C, 0x03, 0x00, - 0xC0, 0x60, 0x18, 0x1E, 0x0F, 0x80, 0x03, 0x01, 0xC0, 0xD8, 0x36, 0x19, - 0x84, 0x63, 0x19, 0x83, 0x60, 0xC0, 0xFF, 0xFC, 0xE6, 0x23, 0x07, 0xC3, - 0xFC, 0xE3, 0x98, 0x30, 0x06, 0x01, 0x87, 0xF3, 0xC6, 0xC0, 0xD8, 0x3B, - 0x0E, 0x7F, 0x77, 0xCC, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, - 0x0C, 0xF0, 0x7F, 0xC3, 0x87, 0x38, 0x19, 0x80, 0xCC, 0x06, 0x60, 0x32, - 0x03, 0xB0, 0x19, 0xC1, 0xCE, 0x1C, 0x7F, 0xC3, 0x7C, 0x00, 0x0F, 0x83, - 0xF8, 0xE3, 0xB8, 0x36, 0x07, 0xC0, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x1B, - 0x86, 0x3F, 0xC3, 0xE0, 0x00, 0x0C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, - 0x18, 0x3E, 0x61, 0xFF, 0x0E, 0x3C, 0x70, 0x71, 0x80, 0xCE, 0x07, 0x30, - 0x18, 0xC0, 0x63, 0x01, 0x8C, 0x0E, 0x38, 0x78, 0x7F, 0xC0, 0xFB, 0x00, - 0x07, 0xC1, 0xFE, 0x38, 0x77, 0x03, 0x60, 0x37, 0xFF, 0xFF, 0xFC, 0x00, - 0xC0, 0x0C, 0x06, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x07, 0x0F, 0x1C, 0x18, - 0x18, 0x7E, 0x7E, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60, - 0xC0, 0xC0, 0x03, 0xCC, 0x3F, 0xA1, 0xC7, 0x8E, 0x0E, 0x30, 0x38, 0xC0, - 0xC6, 0x03, 0x18, 0x0C, 0x60, 0x71, 0x81, 0xC7, 0x0E, 0x0F, 0xF8, 0x1E, - 0x60, 0x03, 0x80, 0x0C, 0x30, 0x70, 0x7F, 0x80, 0xF8, 0x00, 0x0C, 0x00, - 0xC0, 0x0C, 0x01, 0x80, 0x18, 0x01, 0x9E, 0x1F, 0xF1, 0xC7, 0x38, 0x33, - 0x03, 0x30, 0x33, 0x07, 0x30, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, 0xC6, - 0x0C, 0x18, 0xC0, 0x00, 0x18, 0xC6, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xC6, - 0x00, 0x01, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x18, 0x1C, 0x0C, 0x06, 0x03, - 0x01, 0x81, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x03, - 0x87, 0x83, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x0C, - 0x18, 0x61, 0x83, 0x38, 0x33, 0x81, 0xB8, 0x0F, 0xC0, 0x77, 0x03, 0x18, - 0x30, 0xC1, 0x87, 0x0C, 0x18, 0x60, 0xE3, 0x03, 0x00, 0x18, 0xC6, 0x63, - 0x18, 0xC6, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xC6, 0x00, 0x1B, 0xE3, 0xC3, - 0xFD, 0xFC, 0xF1, 0xE1, 0x9C, 0x18, 0x33, 0x03, 0x06, 0x60, 0xC0, 0xCC, - 0x18, 0x3B, 0x83, 0x06, 0x60, 0x60, 0xCC, 0x0C, 0x19, 0x83, 0x03, 0x30, - 0x60, 0xE6, 0x0C, 0x18, 0x1B, 0xE1, 0xFF, 0x3C, 0x73, 0x83, 0x30, 0x33, - 0x03, 0x30, 0x77, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x0C, 0x60, 0xC0, - 0x07, 0xC1, 0xFE, 0x38, 0x77, 0x03, 0x60, 0x3E, 0x03, 0xC0, 0x3C, 0x06, - 0xC0, 0x6C, 0x0E, 0xE1, 0xC7, 0xF8, 0x3E, 0x00, 0x0C, 0xF0, 0x3F, 0xE0, - 0xE1, 0xC7, 0x03, 0x1C, 0x0C, 0x60, 0x31, 0x80, 0xCE, 0x07, 0x38, 0x18, - 0xE0, 0xE3, 0xC7, 0x0F, 0xF8, 0x77, 0xC1, 0x80, 0x06, 0x00, 0x18, 0x00, - 0x60, 0x03, 0x80, 0x00, 0x0F, 0x98, 0xFF, 0xCE, 0x3C, 0xE0, 0xE6, 0x03, - 0x70, 0x1B, 0x01, 0x98, 0x0C, 0xC0, 0x66, 0x07, 0x38, 0x78, 0xFF, 0x83, - 0xCC, 0x00, 0x60, 0x07, 0x00, 0x38, 0x01, 0x80, 0x0C, 0x00, 0x1B, 0x8F, - 0xCF, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x18, 0x0C, 0x06, - 0x00, 0x0F, 0xC1, 0xFF, 0x30, 0x76, 0x03, 0x60, 0x07, 0x80, 0x3F, 0x80, - 0x7E, 0x00, 0x6C, 0x06, 0xE0, 0xCF, 0xF8, 0x3E, 0x00, 0x18, 0x30, 0x67, - 0xEF, 0xC6, 0x0C, 0x30, 0x60, 0xC1, 0x83, 0x0C, 0x18, 0x3C, 0x38, 0x30, - 0x33, 0x03, 0x30, 0x37, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0xC0, - 0xEC, 0x0C, 0xC3, 0xCF, 0xFC, 0x7C, 0xC0, 0xC0, 0x78, 0x1B, 0x03, 0x60, - 0xC6, 0x18, 0xC6, 0x19, 0xC3, 0x30, 0x6C, 0x0D, 0x81, 0xE0, 0x3C, 0x03, - 0x00, 0xC1, 0xC3, 0xE1, 0xE1, 0xB0, 0xF0, 0xD8, 0x78, 0xCC, 0x6C, 0x66, - 0x36, 0x63, 0x33, 0x30, 0x99, 0xB0, 0x58, 0xD8, 0x2C, 0x78, 0x1C, 0x3C, - 0x0E, 0x1C, 0x06, 0x0E, 0x00, 0x0C, 0x1C, 0x30, 0xE0, 0xE3, 0x01, 0x98, - 0x07, 0xC0, 0x0E, 0x00, 0x30, 0x01, 0xE0, 0x0F, 0x80, 0x73, 0x01, 0x8C, - 0x0C, 0x38, 0x60, 0x60, 0x18, 0x0C, 0x60, 0x61, 0x83, 0x86, 0x0C, 0x1C, - 0x60, 0x31, 0x80, 0xCC, 0x03, 0x30, 0x0D, 0x80, 0x36, 0x00, 0xF0, 0x03, - 0x80, 0x06, 0x00, 0x30, 0x00, 0xC0, 0x06, 0x00, 0xF0, 0x03, 0x80, 0x00, - 0x1F, 0xF1, 0xFF, 0x00, 0x70, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, - 0x18, 0x03, 0x00, 0x60, 0x0F, 0xFC, 0xFF, 0xC0, 0x07, 0x0E, 0x18, 0x18, - 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x60, 0xE0, 0xE0, 0x60, 0x60, 0x60, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xF0, 0x60, 0x0C, 0x30, 0x82, 0x08, 0x61, - 0x84, 0x10, 0x43, 0x0C, 0x20, 0x86, 0x18, 0x41, 0x04, 0x30, 0xC2, 0x00, - 0x00, 0x06, 0x07, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, - 0x01, 0xC0, 0xE0, 0x60, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, 0x01, - 0x83, 0x83, 0x80, 0x38, 0x0F, 0x82, 0x38, 0x83, 0xE0, 0x38 }; - -const GFXglyph FreeSansOblique12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 7, 0, 1 }, // 0x20 ' ' - { 0, 6, 18, 7, 3, -17 }, // 0x21 '!' - { 14, 6, 6, 9, 4, -16 }, // 0x22 '"' - { 19, 15, 18, 13, 1, -17 }, // 0x23 '#' - { 53, 13, 21, 13, 2, -17 }, // 0x24 '$' - { 88, 19, 17, 21, 3, -16 }, // 0x25 '%' - { 129, 13, 17, 16, 2, -16 }, // 0x26 '&' - { 157, 2, 6, 5, 4, -16 }, // 0x27 ''' - { 159, 8, 23, 8, 3, -17 }, // 0x28 '(' - { 182, 8, 23, 8, 0, -16 }, // 0x29 ')' - { 205, 8, 8, 9, 4, -17 }, // 0x2A '*' - { 213, 12, 11, 14, 2, -10 }, // 0x2B '+' - { 230, 4, 6, 7, 1, -1 }, // 0x2C ',' - { 233, 6, 2, 8, 2, -7 }, // 0x2D '-' - { 235, 3, 2, 7, 2, -1 }, // 0x2E '.' - { 236, 10, 18, 7, 0, -17 }, // 0x2F '/' - { 259, 12, 17, 13, 2, -16 }, // 0x30 '0' - { 285, 7, 17, 13, 5, -16 }, // 0x31 '1' - { 300, 14, 17, 13, 1, -16 }, // 0x32 '2' - { 330, 12, 17, 13, 2, -16 }, // 0x33 '3' - { 356, 12, 17, 13, 2, -16 }, // 0x34 '4' - { 382, 13, 17, 13, 2, -16 }, // 0x35 '5' - { 410, 12, 17, 13, 2, -16 }, // 0x36 '6' - { 436, 13, 17, 13, 3, -16 }, // 0x37 '7' - { 464, 12, 17, 13, 2, -16 }, // 0x38 '8' - { 490, 12, 17, 13, 2, -16 }, // 0x39 '9' - { 516, 5, 12, 7, 3, -11 }, // 0x3A ':' - { 524, 6, 16, 7, 2, -11 }, // 0x3B ';' - { 536, 13, 12, 14, 2, -11 }, // 0x3C '<' - { 556, 13, 6, 14, 2, -8 }, // 0x3D '=' - { 566, 13, 12, 14, 1, -10 }, // 0x3E '>' - { 586, 11, 18, 13, 4, -17 }, // 0x3F '?' - { 611, 23, 21, 24, 2, -17 }, // 0x40 '@' - { 672, 16, 18, 16, 0, -17 }, // 0x41 'A' - { 708, 15, 18, 16, 2, -17 }, // 0x42 'B' - { 742, 16, 18, 17, 2, -17 }, // 0x43 'C' - { 778, 16, 18, 17, 2, -17 }, // 0x44 'D' - { 814, 16, 18, 16, 2, -17 }, // 0x45 'E' - { 850, 15, 18, 14, 2, -17 }, // 0x46 'F' - { 884, 16, 18, 19, 3, -17 }, // 0x47 'G' - { 920, 17, 18, 17, 2, -17 }, // 0x48 'H' - { 959, 6, 18, 7, 2, -17 }, // 0x49 'I' - { 973, 13, 18, 12, 1, -17 }, // 0x4A 'J' - { 1003, 18, 18, 16, 2, -17 }, // 0x4B 'K' - { 1044, 11, 18, 13, 2, -17 }, // 0x4C 'L' - { 1069, 20, 18, 20, 2, -17 }, // 0x4D 'M' - { 1114, 17, 18, 18, 2, -17 }, // 0x4E 'N' - { 1153, 17, 18, 18, 2, -17 }, // 0x4F 'O' - { 1192, 15, 18, 15, 2, -17 }, // 0x50 'P' - { 1226, 18, 19, 19, 2, -17 }, // 0x51 'Q' - { 1269, 16, 18, 17, 2, -17 }, // 0x52 'R' - { 1305, 15, 18, 16, 2, -17 }, // 0x53 'S' - { 1339, 14, 18, 15, 4, -17 }, // 0x54 'T' - { 1371, 16, 18, 17, 3, -17 }, // 0x55 'U' - { 1407, 15, 18, 15, 4, -17 }, // 0x56 'V' - { 1441, 22, 18, 22, 4, -17 }, // 0x57 'W' - { 1491, 19, 18, 16, 0, -17 }, // 0x58 'X' - { 1534, 16, 18, 16, 4, -17 }, // 0x59 'Y' - { 1570, 17, 18, 15, 1, -17 }, // 0x5A 'Z' - { 1609, 10, 23, 7, 0, -17 }, // 0x5B '[' - { 1638, 3, 18, 7, 4, -17 }, // 0x5C '\' - { 1645, 10, 23, 7, -1, -16 }, // 0x5D ']' - { 1674, 10, 9, 11, 2, -16 }, // 0x5E '^' - { 1686, 14, 1, 13, -1, 4 }, // 0x5F '_' - { 1688, 4, 4, 8, 4, -17 }, // 0x60 '`' - { 1690, 11, 13, 13, 2, -12 }, // 0x61 'a' - { 1708, 13, 18, 13, 1, -17 }, // 0x62 'b' - { 1738, 11, 13, 12, 2, -12 }, // 0x63 'c' - { 1756, 14, 18, 13, 2, -17 }, // 0x64 'd' - { 1788, 12, 13, 13, 2, -12 }, // 0x65 'e' - { 1808, 8, 18, 6, 2, -17 }, // 0x66 'f' - { 1826, 14, 18, 13, 1, -12 }, // 0x67 'g' - { 1858, 12, 18, 13, 1, -17 }, // 0x68 'h' - { 1885, 5, 18, 5, 2, -17 }, // 0x69 'i' - { 1897, 9, 23, 6, -1, -17 }, // 0x6A 'j' - { 1923, 13, 18, 12, 1, -17 }, // 0x6B 'k' - { 1953, 5, 18, 5, 2, -17 }, // 0x6C 'l' - { 1965, 19, 13, 20, 1, -12 }, // 0x6D 'm' - { 1996, 12, 13, 13, 1, -12 }, // 0x6E 'n' - { 2016, 12, 13, 13, 2, -12 }, // 0x6F 'o' - { 2036, 14, 18, 14, 0, -12 }, // 0x70 'p' - { 2068, 13, 18, 13, 2, -12 }, // 0x71 'q' - { 2098, 9, 13, 8, 1, -12 }, // 0x72 'r' - { 2113, 12, 13, 12, 1, -12 }, // 0x73 's' - { 2133, 7, 16, 6, 2, -15 }, // 0x74 't' - { 2147, 12, 13, 13, 2, -12 }, // 0x75 'u' - { 2167, 11, 13, 12, 3, -12 }, // 0x76 'v' - { 2185, 17, 13, 17, 3, -12 }, // 0x77 'w' - { 2213, 14, 13, 12, 0, -12 }, // 0x78 'x' - { 2236, 14, 18, 11, 0, -12 }, // 0x79 'y' - { 2268, 12, 13, 12, 1, -12 }, // 0x7A 'z' - { 2288, 8, 23, 8, 3, -17 }, // 0x7B '{' - { 2311, 6, 23, 6, 1, -17 }, // 0x7C '|' - { 2329, 9, 23, 8, -1, -16 }, // 0x7D '}' - { 2355, 11, 5, 14, 3, -10 } }; // 0x7E '~' - -const GFXfont FreeSansOblique12pt7b PROGMEM = { - (uint8_t *)FreeSansOblique12pt7bBitmaps, - (GFXglyph *)FreeSansOblique12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 3034 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h deleted file mode 100644 index 2a18a3f..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique18pt7b.h +++ /dev/null @@ -1,518 +0,0 @@ -const uint8_t FreeSansOblique18pt7bBitmaps[] PROGMEM = { - 0x03, 0x83, 0x81, 0xC0, 0xE0, 0x70, 0x78, 0x38, 0x1C, 0x0E, 0x07, 0x07, - 0x83, 0x81, 0xC0, 0xE0, 0x60, 0x30, 0x30, 0x18, 0x0C, 0x04, 0x00, 0x00, - 0x01, 0xC0, 0xE0, 0x70, 0x78, 0x00, 0x71, 0xDC, 0x7F, 0x3F, 0x8E, 0xE3, - 0xB8, 0xEC, 0x33, 0x0C, 0xC3, 0x00, 0x00, 0x38, 0x70, 0x01, 0xC3, 0x80, - 0x0C, 0x18, 0x00, 0xE1, 0xC0, 0x06, 0x0C, 0x00, 0x70, 0xE0, 0x03, 0x87, - 0x03, 0xFF, 0xFF, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0x60, 0xC0, 0x07, - 0x0E, 0x00, 0x30, 0x60, 0x03, 0x87, 0x00, 0x18, 0x30, 0x1F, 0xFF, 0xF8, - 0xFF, 0xFF, 0xC7, 0xFF, 0xFC, 0x07, 0x0E, 0x00, 0x30, 0x70, 0x03, 0x87, - 0x00, 0x1C, 0x38, 0x00, 0xC1, 0x80, 0x0E, 0x1C, 0x00, 0x60, 0xC0, 0x00, - 0x00, 0x0C, 0x00, 0x07, 0xF8, 0x01, 0xFF, 0xC0, 0x3F, 0xFE, 0x07, 0x99, - 0xF0, 0xF1, 0x87, 0x0E, 0x18, 0x71, 0xC1, 0x87, 0x1C, 0x38, 0x01, 0xC3, - 0x00, 0x1C, 0x30, 0x01, 0xE3, 0x00, 0x0F, 0xB0, 0x00, 0xFF, 0x80, 0x03, - 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x6F, 0xC0, 0x06, 0x3C, 0x00, 0xC1, 0xCE, - 0x0C, 0x1C, 0xE0, 0xC1, 0xCE, 0x0C, 0x38, 0xF1, 0xC3, 0x8F, 0x98, 0xF0, - 0x7F, 0xFE, 0x03, 0xFF, 0xC0, 0x0F, 0xF0, 0x00, 0x30, 0x00, 0x03, 0x00, - 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0xE0, 0x03, - 0x81, 0xFC, 0x00, 0xC0, 0xFF, 0x00, 0x60, 0x70, 0xE0, 0x38, 0x38, 0x18, - 0x1C, 0x0C, 0x06, 0x0E, 0x03, 0x01, 0x83, 0x00, 0xC0, 0xE1, 0x80, 0x38, - 0x70, 0xE0, 0x0F, 0xF8, 0x70, 0x01, 0xFC, 0x18, 0x00, 0x3E, 0x0C, 0x00, - 0x00, 0x06, 0x07, 0x80, 0x03, 0x87, 0xF8, 0x00, 0xC3, 0xFE, 0x00, 0x61, - 0xE1, 0xC0, 0x30, 0x60, 0x30, 0x1C, 0x30, 0x0C, 0x0E, 0x0C, 0x03, 0x03, - 0x03, 0x01, 0x81, 0x80, 0xE1, 0xE0, 0xC0, 0x1F, 0xF0, 0x70, 0x07, 0xF8, - 0x18, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, - 0x1E, 0x3C, 0x03, 0xC1, 0xC0, 0x38, 0x1C, 0x03, 0x81, 0xC0, 0x38, 0x38, - 0x03, 0xC7, 0x00, 0x1D, 0xE0, 0x01, 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xF0, - 0x01, 0xF7, 0x87, 0x3C, 0x3C, 0xE7, 0x81, 0xCE, 0x70, 0x1F, 0xCE, 0x00, - 0xFC, 0xE0, 0x07, 0x8E, 0x00, 0x78, 0xF0, 0x1F, 0x8F, 0x87, 0xFC, 0x7F, - 0xF9, 0xC3, 0xFE, 0x1E, 0x1F, 0x80, 0xE0, 0x77, 0xFE, 0xEE, 0xCC, 0xC0, - 0x00, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x80, 0x30, 0x06, 0x00, 0xE0, - 0x0C, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x38, 0x07, 0x00, 0x70, 0x07, 0x00, - 0x70, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, - 0xE0, 0x0E, 0x00, 0xE0, 0x06, 0x00, 0x70, 0x07, 0x00, 0x30, 0x03, 0x00, - 0x18, 0x00, 0x01, 0x80, 0x0C, 0x00, 0xC0, 0x0E, 0x00, 0xE0, 0x06, 0x00, - 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, - 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x03, - 0x80, 0x38, 0x03, 0x00, 0x70, 0x06, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x30, - 0x06, 0x00, 0xC0, 0x00, 0x06, 0x01, 0x84, 0x47, 0xF7, 0xFF, 0xCF, 0xC1, - 0xE0, 0xD8, 0x67, 0x18, 0xC0, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0F, 0x00, - 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xC0, 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0xE0, - 0x00, 0x38, 0x00, 0x0E, 0x00, 0x3B, 0xDC, 0x21, 0x18, 0x98, 0xFF, 0xFF, - 0xFF, 0xE0, 0x7F, 0xFE, 0x00, 0x06, 0x00, 0x18, 0x00, 0x30, 0x00, 0xC0, - 0x01, 0x80, 0x06, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0x03, - 0x00, 0x0C, 0x00, 0x18, 0x00, 0x60, 0x00, 0xC0, 0x03, 0x00, 0x06, 0x00, - 0x18, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x00, 0x06, 0x00, 0x18, 0x00, 0x30, - 0x00, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x7F, 0xC0, 0x7F, 0xF8, - 0x3E, 0x1E, 0x0F, 0x03, 0xC7, 0x80, 0x71, 0xC0, 0x1C, 0xE0, 0x07, 0x38, - 0x01, 0xDE, 0x00, 0x77, 0x00, 0x1D, 0xC0, 0x0F, 0x70, 0x03, 0xFC, 0x00, - 0xEE, 0x00, 0x3B, 0x80, 0x0E, 0xE0, 0x07, 0xB8, 0x01, 0xCE, 0x00, 0xF3, - 0x80, 0x38, 0xF0, 0x1E, 0x1E, 0x1F, 0x07, 0xFF, 0x80, 0xFF, 0xC0, 0x0F, - 0x80, 0x00, 0x00, 0xC0, 0x70, 0x3C, 0x3E, 0xFF, 0xBF, 0xEF, 0xF8, 0x1E, - 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x07, - 0x81, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0xE0, 0x38, 0x00, 0x00, 0x3F, - 0x00, 0x0F, 0xFC, 0x03, 0xFF, 0xE0, 0x7C, 0x1E, 0x07, 0x80, 0xF0, 0xF0, - 0x07, 0x0E, 0x00, 0x70, 0xE0, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, - 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x03, 0xF0, 0x00, 0xFC, 0x00, - 0x1F, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0x80, 0x00, - 0x70, 0x00, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x8F, 0xFF, 0xF0, 0xFF, 0xFF, - 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, 0xC1, 0xF0, 0x70, - 0x0E, 0x1C, 0x01, 0xC3, 0x80, 0x38, 0xE0, 0x07, 0x00, 0x01, 0xC0, 0x00, - 0xF0, 0x03, 0xFC, 0x00, 0x7F, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0x00, 0x00, - 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x1E, 0x70, 0x03, - 0x8F, 0x00, 0xF1, 0xF0, 0x7C, 0x1F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xC0, - 0x00, 0x00, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x1F, - 0x80, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xDC, 0x01, 0xE7, 0x00, 0x71, 0xC0, - 0x38, 0xF0, 0x1C, 0x38, 0x0E, 0x0E, 0x07, 0x03, 0x83, 0x80, 0xE1, 0xC0, - 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x70, 0x00, 0x38, - 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x01, 0xFF, - 0xF0, 0x3F, 0xFF, 0x03, 0xFF, 0xE0, 0x78, 0x00, 0x07, 0x00, 0x00, 0x70, - 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0xFC, 0x01, 0xFF, 0xF0, 0x1F, - 0xFF, 0x83, 0xE0, 0x78, 0x3C, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, - 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x8E, 0x00, 0x78, - 0xE0, 0x0F, 0x0F, 0x81, 0xE0, 0x7F, 0xFC, 0x03, 0xFF, 0x80, 0x0F, 0xE0, - 0x00, 0x00, 0x7E, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x03, 0xE1, 0xF0, 0xF0, - 0x0E, 0x1C, 0x01, 0xC7, 0x00, 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x1F, - 0x01, 0xCF, 0xF8, 0x3B, 0xFF, 0x87, 0xE0, 0xF8, 0xF0, 0x0F, 0x3C, 0x00, - 0xE7, 0x80, 0x1C, 0xE0, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x1C, 0x70, 0x03, - 0x8F, 0x00, 0xE0, 0xF0, 0x78, 0x1F, 0xFF, 0x01, 0xFF, 0x80, 0x0F, 0xC0, - 0x00, 0x3F, 0xFF, 0xCF, 0xFF, 0xF7, 0xFF, 0xFC, 0x00, 0x0E, 0x00, 0x07, - 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, - 0x0E, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, - 0x00, 0x0E, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x38, 0x00, - 0x1E, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x7E, - 0x00, 0x3F, 0xF0, 0x1F, 0xFF, 0x07, 0xC1, 0xF0, 0xE0, 0x0E, 0x38, 0x01, - 0xC7, 0x00, 0x38, 0xE0, 0x0E, 0x1C, 0x01, 0xC3, 0xC0, 0xF0, 0x3F, 0xFC, - 0x03, 0xFE, 0x01, 0xFF, 0xF0, 0x7C, 0x1E, 0x1E, 0x01, 0xE3, 0x80, 0x1C, - 0xE0, 0x03, 0x9C, 0x00, 0x73, 0x80, 0x0E, 0x70, 0x03, 0x8F, 0x00, 0xF1, - 0xF0, 0x7C, 0x1F, 0xFF, 0x01, 0xFF, 0xC0, 0x0F, 0xC0, 0x00, 0x00, 0x7E, - 0x00, 0x3F, 0xF0, 0x1F, 0xFF, 0x07, 0xC1, 0xE0, 0xE0, 0x1E, 0x38, 0x01, - 0xC7, 0x00, 0x39, 0xC0, 0x07, 0x38, 0x00, 0xE7, 0x00, 0x3C, 0xE0, 0x07, - 0x9E, 0x01, 0xE3, 0xE0, 0xFC, 0x3F, 0xFB, 0x83, 0xFE, 0xF0, 0x3F, 0x1C, - 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1C, 0x70, 0x07, 0x8E, 0x01, 0xE1, - 0xE0, 0xF8, 0x1F, 0xFE, 0x01, 0xFF, 0x80, 0x0F, 0xC0, 0x00, 0x0E, 0x3C, - 0x78, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, - 0xF1, 0xE3, 0x80, 0x07, 0x0F, 0x0F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x10, 0x10, - 0x30, 0x20, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x1C, 0x00, 0x1F, 0x80, 0x1F, - 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x07, 0xE0, 0x03, 0xF0, 0x00, 0xF0, 0x00, - 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, - 0x00, 0x0F, 0xC0, 0x00, 0x78, 0x00, 0x01, 0x00, 0x7F, 0xFF, 0xDF, 0xFF, - 0xF7, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFB, - 0xFF, 0xFE, 0xFF, 0xFF, 0x80, 0x10, 0x00, 0x03, 0xC0, 0x00, 0x7E, 0x00, - 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, - 0x00, 0x01, 0xE0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0x7E, 0x00, - 0x7F, 0x00, 0x3F, 0x00, 0x07, 0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0xF8, - 0x0F, 0xFC, 0x1F, 0xFE, 0x3C, 0x1F, 0x78, 0x07, 0x70, 0x07, 0xE0, 0x07, - 0xE0, 0x07, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, - 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, - 0x3C, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, - 0xFF, 0xFE, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x0F, 0x80, 0x03, 0xE0, 0x0F, - 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x01, 0xF0, 0x0F, 0x0F, - 0x03, 0xFD, 0xC7, 0x8F, 0x03, 0xFE, 0xE1, 0xC7, 0x03, 0xC3, 0x60, 0xE7, - 0x03, 0xC0, 0xF0, 0x77, 0x83, 0xC0, 0x70, 0x3B, 0x83, 0xC0, 0x78, 0x1D, - 0xC1, 0xC0, 0x38, 0x1F, 0xC1, 0xE0, 0x1C, 0x0E, 0xE0, 0xE0, 0x1C, 0x0F, - 0x70, 0x70, 0x0E, 0x07, 0x38, 0x38, 0x0E, 0x07, 0x9C, 0x1C, 0x0F, 0x07, - 0x8E, 0x0F, 0x0F, 0x8F, 0x87, 0x03, 0xFD, 0xFF, 0x83, 0xC1, 0xFC, 0xFF, - 0x80, 0xE0, 0x7C, 0x3F, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x00, 0x07, 0x80, 0x00, 0x00, 0x01, 0xF8, 0x07, 0x00, 0x00, 0x7F, 0xFF, - 0x80, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x01, - 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0xFF, - 0x00, 0x01, 0xDE, 0x00, 0x07, 0x9C, 0x00, 0x0E, 0x38, 0x00, 0x3C, 0x70, - 0x00, 0x70, 0xF0, 0x01, 0xC1, 0xE0, 0x07, 0x83, 0xC0, 0x0E, 0x07, 0x80, - 0x38, 0x07, 0x00, 0x70, 0x0E, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x0F, - 0xFF, 0xF8, 0x1C, 0x00, 0xF0, 0x70, 0x01, 0xE1, 0xE0, 0x01, 0xC3, 0x80, - 0x03, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0E, 0x78, 0x00, 0x1E, 0xE0, 0x00, - 0x3C, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0E, 0x00, 0xF0, - 0xF0, 0x03, 0x87, 0x00, 0x1C, 0x38, 0x00, 0xE1, 0xC0, 0x07, 0x0E, 0x00, - 0x70, 0xF0, 0x03, 0x87, 0x00, 0x78, 0x3F, 0xFF, 0x81, 0xFF, 0xF8, 0x0F, - 0xFF, 0xF0, 0xE0, 0x03, 0xC7, 0x00, 0x0E, 0x38, 0x00, 0x71, 0xC0, 0x03, - 0x9E, 0x00, 0x1C, 0xE0, 0x00, 0xE7, 0x00, 0x0E, 0x38, 0x00, 0xF1, 0xC0, - 0x0F, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x1F, - 0x80, 0x03, 0xFF, 0x80, 0x1F, 0xFF, 0x01, 0xF8, 0x3E, 0x07, 0x80, 0x38, - 0x38, 0x00, 0xF1, 0xC0, 0x01, 0xCF, 0x00, 0x07, 0x38, 0x00, 0x01, 0xE0, - 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, - 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x7B, 0x80, 0x01, 0xCE, - 0x00, 0x0F, 0x3C, 0x00, 0x38, 0x70, 0x01, 0xE1, 0xE0, 0x0F, 0x07, 0xC0, - 0xF8, 0x0F, 0xFF, 0xC0, 0x1F, 0xFC, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xFF, - 0xC0, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0, 0x38, 0x03, 0xE0, 0xF0, 0x03, - 0xC1, 0xC0, 0x03, 0x83, 0x80, 0x03, 0x87, 0x00, 0x07, 0x1E, 0x00, 0x0E, - 0x3C, 0x00, 0x1C, 0x70, 0x00, 0x38, 0xE0, 0x00, 0x71, 0xC0, 0x00, 0xE7, - 0x80, 0x03, 0x8F, 0x00, 0x07, 0x1C, 0x00, 0x0E, 0x38, 0x00, 0x3C, 0x70, - 0x00, 0x71, 0xE0, 0x01, 0xE3, 0x80, 0x03, 0x87, 0x00, 0x0E, 0x0E, 0x00, - 0x3C, 0x1C, 0x01, 0xF0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFE, 0x01, 0xFF, 0xF0, - 0x00, 0x07, 0xFF, 0xFE, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x38, 0x00, - 0x00, 0xF0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0x81, - 0xFF, 0xFF, 0x07, 0xFF, 0xFE, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x70, 0x00, 0x01, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, - 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, - 0xC1, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFC, 0x1F, 0xFF, 0xF0, 0x7F, 0xFF, - 0xC1, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, - 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xC0, 0x00, 0x07, 0xFF, - 0xF0, 0x1F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, - 0x38, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, - 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, 0x00, - 0x03, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xFF, - 0xFC, 0x03, 0xE0, 0x3E, 0x07, 0x80, 0x0E, 0x0F, 0x00, 0x0F, 0x1E, 0x00, - 0x07, 0x1C, 0x00, 0x07, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, - 0x00, 0x70, 0x00, 0x00, 0xF0, 0x07, 0xFE, 0xE0, 0x07, 0xFE, 0xE0, 0x07, - 0xFE, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, - 0x1C, 0xF0, 0x00, 0x3C, 0x70, 0x00, 0x7C, 0x78, 0x00, 0xFC, 0x3E, 0x03, - 0xDC, 0x1F, 0xFF, 0x98, 0x0F, 0xFE, 0x18, 0x03, 0xF8, 0x18, 0x07, 0x00, - 0x07, 0x83, 0x80, 0x03, 0xC1, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0xE0, 0xF0, - 0x00, 0x70, 0x70, 0x00, 0x78, 0x38, 0x00, 0x3C, 0x1C, 0x00, 0x1C, 0x1E, - 0x00, 0x0E, 0x0F, 0x00, 0x07, 0x07, 0x00, 0x07, 0x83, 0xFF, 0xFF, 0x81, - 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xE0, 0x00, 0x70, 0x70, 0x00, 0x78, - 0x38, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1E, 0x00, 0x0E, 0x0E, 0x00, 0x0F, - 0x07, 0x00, 0x07, 0x83, 0x80, 0x03, 0x81, 0xC0, 0x01, 0xC1, 0xE0, 0x00, - 0xE0, 0xE0, 0x00, 0xF0, 0x70, 0x00, 0x78, 0x00, 0x07, 0x0F, 0x0F, 0x0E, - 0x0E, 0x0E, 0x0E, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x3C, 0x3C, 0x38, 0x38, - 0x38, 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0x01, - 0xC0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, - 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x00, - 0x1C, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x1E, - 0x1C, 0x07, 0x0E, 0x01, 0xC3, 0x80, 0x70, 0xE0, 0x3C, 0x38, 0x0E, 0x0F, - 0x0F, 0x81, 0xFF, 0xC0, 0x7F, 0xE0, 0x07, 0xE0, 0x00, 0x07, 0x00, 0x07, - 0x83, 0x80, 0x07, 0x81, 0xC0, 0x0F, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0x70, 0x0F, 0x00, 0x38, 0x0F, 0x00, 0x1C, 0x1F, 0x00, 0x1E, 0x1E, - 0x00, 0x0F, 0x1E, 0x00, 0x07, 0x1E, 0x00, 0x03, 0x9F, 0x00, 0x01, 0xDF, - 0xC0, 0x01, 0xFC, 0xE0, 0x00, 0xFC, 0x78, 0x00, 0x7C, 0x1C, 0x00, 0x3C, - 0x0F, 0x00, 0x1C, 0x07, 0x80, 0x1E, 0x01, 0xE0, 0x0E, 0x00, 0xF0, 0x07, - 0x00, 0x38, 0x03, 0x80, 0x1E, 0x01, 0xC0, 0x07, 0x01, 0xE0, 0x03, 0xC0, - 0xE0, 0x00, 0xE0, 0x70, 0x00, 0x78, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, - 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x1E, - 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x38, - 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, - 0x00, 0x70, 0x00, 0x70, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, - 0xC0, 0x00, 0xF8, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x7E, 0x0F, 0x80, - 0x03, 0xF0, 0xFC, 0x00, 0x3F, 0x07, 0x70, 0x01, 0xF8, 0x3B, 0x80, 0x1D, - 0xC1, 0xDC, 0x00, 0xEE, 0x0E, 0xE0, 0x0E, 0xE0, 0xE7, 0x00, 0x77, 0x07, - 0x38, 0x07, 0x38, 0x39, 0xC0, 0x31, 0xC1, 0xCE, 0x03, 0x9E, 0x1E, 0x38, - 0x38, 0xE0, 0xE1, 0xC1, 0xC7, 0x07, 0x0E, 0x1C, 0x38, 0x38, 0x70, 0xE1, - 0xC1, 0xC3, 0x8E, 0x1E, 0x1E, 0x1C, 0x70, 0xE0, 0xE0, 0xE7, 0x07, 0x07, - 0x07, 0x38, 0x38, 0x38, 0x1F, 0x81, 0xC1, 0xC0, 0xF8, 0x1E, 0x1C, 0x07, - 0xC0, 0xE0, 0xE0, 0x3C, 0x07, 0x07, 0x01, 0xE0, 0x38, 0x00, 0x07, 0x80, - 0x03, 0x83, 0xE0, 0x01, 0xC1, 0xF0, 0x00, 0xE0, 0xF8, 0x00, 0xE0, 0xFE, - 0x00, 0x70, 0x7F, 0x00, 0x38, 0x3B, 0xC0, 0x1C, 0x1D, 0xE0, 0x1E, 0x0E, - 0x70, 0x0E, 0x0E, 0x3C, 0x07, 0x07, 0x0E, 0x03, 0x83, 0x87, 0x81, 0xC1, - 0xC3, 0xC1, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0x78, 0x70, 0x70, 0x1C, 0x38, - 0x38, 0x0F, 0x1C, 0x1C, 0x07, 0x9E, 0x1E, 0x01, 0xCE, 0x0E, 0x00, 0xF7, - 0x07, 0x00, 0x3B, 0x83, 0x80, 0x1F, 0xC1, 0xC0, 0x07, 0xC1, 0xC0, 0x03, - 0xE0, 0xE0, 0x01, 0xF0, 0x70, 0x00, 0x78, 0x00, 0x00, 0x1F, 0xC0, 0x00, - 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x03, 0xE0, 0x7C, 0x07, 0x80, 0x1E, 0x0F, - 0x00, 0x0E, 0x1C, 0x00, 0x0F, 0x3C, 0x00, 0x07, 0x38, 0x00, 0x07, 0x70, - 0x00, 0x07, 0x70, 0x00, 0x07, 0x70, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xE0, - 0x00, 0x0F, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, 0x00, 0x0E, 0xE0, - 0x00, 0x1C, 0xE0, 0x00, 0x1C, 0xF0, 0x00, 0x38, 0x70, 0x00, 0x78, 0x78, - 0x00, 0xF0, 0x3E, 0x07, 0xE0, 0x1F, 0xFF, 0xC0, 0x0F, 0xFF, 0x00, 0x03, - 0xF8, 0x00, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x81, 0xC0, - 0x1F, 0x0F, 0x00, 0x3C, 0x38, 0x00, 0x70, 0xE0, 0x01, 0xC3, 0x80, 0x07, - 0x1E, 0x00, 0x1C, 0x78, 0x00, 0xE1, 0xC0, 0x07, 0x87, 0x00, 0x3C, 0x1F, - 0xFF, 0xE0, 0xFF, 0xFF, 0x03, 0xFF, 0xF0, 0x0E, 0x00, 0x00, 0x38, 0x00, - 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x70, 0x00, 0x01, - 0xC0, 0x00, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, - 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xFF, 0x00, - 0x7C, 0x07, 0xC0, 0x78, 0x00, 0xF0, 0x78, 0x00, 0x38, 0x78, 0x00, 0x1E, - 0x78, 0x00, 0x07, 0x38, 0x00, 0x03, 0xBC, 0x00, 0x01, 0xDC, 0x00, 0x00, - 0xEE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, - 0x1D, 0xC0, 0x00, 0x0E, 0xE0, 0x00, 0x0F, 0x70, 0x00, 0x07, 0x38, 0x00, - 0x87, 0x9E, 0x00, 0xE7, 0x87, 0x00, 0x7F, 0x83, 0xC0, 0x1F, 0x80, 0xF8, - 0x1F, 0x80, 0x3F, 0xFF, 0xE0, 0x0F, 0xFF, 0x78, 0x01, 0xFE, 0x1E, 0x00, - 0x00, 0x07, 0x00, 0x00, 0x02, 0x00, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xF8, - 0x1F, 0xFF, 0xF0, 0x38, 0x00, 0xF0, 0xF0, 0x00, 0xE1, 0xC0, 0x01, 0xC3, - 0x80, 0x03, 0x87, 0x00, 0x07, 0x1E, 0x00, 0x0E, 0x3C, 0x00, 0x38, 0x70, - 0x00, 0xF0, 0xE0, 0x03, 0xC1, 0xFF, 0xFE, 0x07, 0xFF, 0xF8, 0x0F, 0xFF, - 0xF8, 0x1C, 0x00, 0x78, 0x38, 0x00, 0x70, 0x70, 0x00, 0xE1, 0xE0, 0x01, - 0xC3, 0x80, 0x03, 0x87, 0x00, 0x06, 0x0E, 0x00, 0x1C, 0x1C, 0x00, 0x38, - 0x78, 0x00, 0x70, 0xE0, 0x00, 0xE1, 0xC0, 0x01, 0xE0, 0x00, 0x3F, 0xC0, - 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0x81, 0xF0, 0x1E, 0x0F, 0x00, 0x3C, 0x38, - 0x00, 0x71, 0xC0, 0x01, 0xC7, 0x00, 0x07, 0x1C, 0x00, 0x00, 0x78, 0x00, - 0x01, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xFE, 0x00, 0x07, 0xFF, 0x00, - 0x03, 0xFE, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF3, 0x80, 0x01, 0xCE, 0x00, - 0x07, 0x38, 0x00, 0x18, 0xE0, 0x00, 0xE3, 0xC0, 0x07, 0x07, 0x80, 0x7C, - 0x1F, 0xFF, 0xE0, 0x3F, 0xFE, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, - 0x01, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0xC0, - 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x78, - 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0x0F, - 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, 0x01, - 0xE0, 0x00, 0x0E, 0x00, 0x0F, 0x0E, 0x00, 0x0F, 0x0E, 0x00, 0x0E, 0x0E, - 0x00, 0x0E, 0x1E, 0x00, 0x0E, 0x1C, 0x00, 0x1E, 0x1C, 0x00, 0x1C, 0x1C, - 0x00, 0x1C, 0x3C, 0x00, 0x1C, 0x3C, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x38, - 0x00, 0x38, 0x38, 0x00, 0x38, 0x78, 0x00, 0x38, 0x70, 0x00, 0x78, 0x70, - 0x00, 0x78, 0x70, 0x00, 0x70, 0xF0, 0x00, 0x70, 0xF0, 0x00, 0x70, 0xE0, - 0x00, 0xF0, 0xE0, 0x00, 0xE0, 0xF0, 0x03, 0xE0, 0x78, 0x0F, 0xC0, 0x7F, - 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0xE0, 0x00, 0x3F, 0x80, - 0x03, 0xFC, 0x00, 0x1D, 0xE0, 0x01, 0xE7, 0x00, 0x0E, 0x38, 0x00, 0xE1, - 0xC0, 0x07, 0x0E, 0x00, 0x70, 0x70, 0x07, 0x83, 0xC0, 0x38, 0x1E, 0x03, - 0xC0, 0xF0, 0x1C, 0x03, 0x81, 0xE0, 0x1C, 0x0E, 0x00, 0xE0, 0xF0, 0x07, - 0x07, 0x00, 0x3C, 0x70, 0x01, 0xE3, 0x80, 0x0F, 0x38, 0x00, 0x39, 0xC0, - 0x01, 0xDC, 0x00, 0x0E, 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0xE0, 0x07, 0x80, - 0x1E, 0xE0, 0x07, 0xC0, 0x1E, 0xE0, 0x0F, 0xC0, 0x1C, 0xE0, 0x0F, 0xC0, - 0x3C, 0xE0, 0x1F, 0xC0, 0x38, 0xE0, 0x1D, 0xC0, 0x78, 0xE0, 0x3D, 0xC0, - 0x70, 0xE0, 0x39, 0xC0, 0xF0, 0xE0, 0x79, 0xC0, 0xE0, 0xE0, 0x71, 0xC0, - 0xE0, 0xE0, 0xF1, 0xC1, 0xC0, 0xE0, 0xE1, 0xC1, 0xC0, 0xE1, 0xE1, 0xC3, - 0xC0, 0x61, 0xC1, 0xC3, 0x80, 0x63, 0xC1, 0xC7, 0x80, 0x63, 0x80, 0xE7, - 0x00, 0x67, 0x80, 0xEF, 0x00, 0x67, 0x00, 0xEE, 0x00, 0x7F, 0x00, 0xEE, - 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0xF8, - 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x78, 0x00, 0xF8, 0x00, 0x78, 0x00, 0xF0, - 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x78, 0x00, 0xF0, 0x07, 0x80, 0x1C, 0x00, - 0xF0, 0x07, 0x80, 0x0F, 0x01, 0xE0, 0x01, 0xE0, 0x78, 0x00, 0x1C, 0x1E, - 0x00, 0x03, 0xC7, 0x80, 0x00, 0x39, 0xE0, 0x00, 0x07, 0xB8, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xF3, 0x80, 0x00, 0x3C, - 0x78, 0x00, 0x0F, 0x0F, 0x00, 0x03, 0xC0, 0xF0, 0x00, 0x70, 0x1E, 0x00, - 0x1E, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x03, 0xC0, 0x78, 0x00, - 0x78, 0x1E, 0x00, 0x0F, 0x00, 0xF0, 0x00, 0x3C, 0xE0, 0x00, 0x71, 0xE0, - 0x01, 0xE3, 0xC0, 0x07, 0x83, 0xC0, 0x1E, 0x07, 0x80, 0x78, 0x07, 0x00, - 0xE0, 0x0F, 0x03, 0xC0, 0x1E, 0x0F, 0x00, 0x1C, 0x3C, 0x00, 0x3C, 0xF0, - 0x00, 0x39, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x00, - 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xC0, 0x00, 0x03, - 0x80, 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x81, - 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0xFF, - 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x00, 0x01, 0xF8, 0x1F, 0xC0, 0xFE, 0x07, - 0x00, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x03, 0xC0, - 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, - 0x00, 0x38, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x78, 0x03, 0x80, - 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x70, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, - 0xCC, 0xCC, 0xCC, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x62, 0x33, 0x33, - 0x33, 0x03, 0xF8, 0x1F, 0xC0, 0xFE, 0x00, 0x70, 0x07, 0x00, 0x38, 0x01, - 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xE0, - 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, - 0xC0, 0x1E, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x1E, 0x00, 0xE0, - 0x07, 0x03, 0xF8, 0x1F, 0xC0, 0xFC, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0x1F, - 0x00, 0x7C, 0x03, 0xB8, 0x1C, 0xE0, 0x63, 0x83, 0x8E, 0x1C, 0x38, 0x60, - 0x73, 0x81, 0xCC, 0x07, 0x70, 0x1F, 0x80, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xC0, 0xF1, 0xC3, 0x86, 0x0C, 0x00, 0xFE, 0x01, 0xFF, 0xE0, 0xFF, - 0xFC, 0x3C, 0x0F, 0x1C, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0E, - 0x00, 0x1F, 0x83, 0xFF, 0xE3, 0xFE, 0x39, 0xF0, 0x1E, 0xF0, 0x07, 0x38, - 0x01, 0xCE, 0x00, 0xF3, 0xC0, 0xFC, 0xFF, 0xF7, 0x9F, 0xF1, 0xE1, 0xF0, - 0x38, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, - 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x71, 0xF0, 0x0E, 0xFF, 0x83, 0xFF, - 0xF8, 0x7F, 0x0F, 0x0F, 0x80, 0xF1, 0xE0, 0x0E, 0x38, 0x01, 0xCF, 0x00, - 0x39, 0xE0, 0x07, 0x38, 0x00, 0xE7, 0x00, 0x38, 0xE0, 0x07, 0x3C, 0x00, - 0xE7, 0x80, 0x38, 0xF8, 0x0F, 0x1F, 0x87, 0xC3, 0xFF, 0xF0, 0xE7, 0xFC, - 0x1C, 0x7E, 0x00, 0x01, 0xF8, 0x07, 0xFC, 0x0F, 0xFE, 0x1E, 0x0F, 0x3C, - 0x07, 0x78, 0x07, 0x70, 0x07, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xE0, - 0x00, 0xE0, 0x00, 0xE0, 0x0E, 0xE0, 0x1C, 0xF0, 0x3C, 0x78, 0x78, 0x7F, - 0xF0, 0x3F, 0xE0, 0x0F, 0x80, 0x00, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x00, - 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x01, 0xE0, 0x1F, - 0x1C, 0x07, 0xFD, 0xC0, 0xFF, 0xDC, 0x1E, 0x0F, 0xC3, 0xC0, 0x7C, 0x38, - 0x07, 0x87, 0x00, 0x38, 0x70, 0x03, 0x8F, 0x00, 0x38, 0xE0, 0x07, 0x8E, - 0x00, 0x70, 0xE0, 0x07, 0x0E, 0x00, 0xF0, 0xE0, 0x0F, 0x0F, 0x01, 0xF0, - 0x78, 0x7E, 0x07, 0xFF, 0xE0, 0x3F, 0xEE, 0x01, 0xF8, 0xE0, 0x01, 0xF8, - 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xC1, 0xF3, 0xC0, 0x79, 0xC0, 0x1D, 0xC0, - 0x0E, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x1C, 0x00, 0x0E, - 0x00, 0x07, 0x00, 0x73, 0xC0, 0x78, 0xF0, 0x78, 0x7F, 0xF8, 0x1F, 0xF8, - 0x03, 0xF0, 0x00, 0x01, 0xE0, 0x7C, 0x1F, 0x83, 0x80, 0x70, 0x1C, 0x03, - 0x83, 0xFC, 0x7F, 0x8F, 0xF0, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x0F, 0x01, - 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, - 0xE0, 0x1C, 0x00, 0x00, 0xFC, 0x60, 0x7F, 0xCC, 0x1F, 0xFF, 0x87, 0xC3, - 0xF1, 0xE0, 0x3E, 0x38, 0x03, 0x8E, 0x00, 0x71, 0xC0, 0x0E, 0x38, 0x01, - 0xCE, 0x00, 0x79, 0xC0, 0x0E, 0x38, 0x01, 0xC7, 0x00, 0x78, 0xE0, 0x0F, - 0x1E, 0x03, 0xC1, 0xE1, 0xF8, 0x3F, 0xFF, 0x03, 0xFE, 0xE0, 0x1F, 0x1C, - 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x18, 0x38, 0x07, 0x07, 0x83, 0xC0, - 0x7F, 0xF8, 0x0F, 0xFC, 0x00, 0x7E, 0x00, 0x00, 0x07, 0x00, 0x01, 0xC0, - 0x00, 0x70, 0x00, 0x1C, 0x00, 0x0F, 0x00, 0x03, 0x80, 0x00, 0xE0, 0x00, - 0x38, 0xFC, 0x0E, 0xFF, 0x87, 0xFF, 0xF1, 0xF8, 0x3C, 0x7C, 0x07, 0x1E, - 0x01, 0xC7, 0x00, 0x73, 0xC0, 0x1C, 0xE0, 0x0F, 0x38, 0x03, 0x8E, 0x00, - 0xE3, 0x80, 0x39, 0xE0, 0x0E, 0x70, 0x07, 0x9C, 0x01, 0xC7, 0x00, 0x71, - 0xC0, 0x1C, 0xE0, 0x07, 0x38, 0x03, 0x80, 0x07, 0x07, 0x0F, 0x0E, 0x00, - 0x00, 0x00, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, 0xE0, 0x00, 0x3C, 0x00, - 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, - 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, - 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, - 0x38, 0x00, 0xE0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x0F, 0x00, - 0x38, 0x00, 0xE0, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0x00, 0x07, 0x00, 0x00, - 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x1C, 0x00, 0x03, - 0x80, 0x00, 0x70, 0x1E, 0x0E, 0x07, 0x83, 0xC1, 0xE0, 0x70, 0x70, 0x0E, - 0x1C, 0x01, 0xCF, 0x00, 0x3B, 0xC0, 0x0F, 0xF8, 0x01, 0xFF, 0x80, 0x3E, - 0x70, 0x07, 0x8E, 0x00, 0xE0, 0xE0, 0x38, 0x1C, 0x07, 0x03, 0xC0, 0xE0, - 0x38, 0x1C, 0x07, 0x03, 0x80, 0xF0, 0xE0, 0x0E, 0x1C, 0x01, 0xE0, 0x07, - 0x07, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x1E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x78, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, - 0xE0, 0x1E, 0x7C, 0x0F, 0x83, 0xBF, 0xE7, 0xF8, 0x7F, 0xFD, 0xFF, 0x8F, - 0xC3, 0xF0, 0xF1, 0xE0, 0x3C, 0x0E, 0x38, 0x07, 0x01, 0xCF, 0x01, 0xE0, - 0x39, 0xC0, 0x38, 0x07, 0x38, 0x07, 0x00, 0xE7, 0x00, 0xE0, 0x1C, 0xE0, - 0x1C, 0x07, 0x3C, 0x07, 0x00, 0xE7, 0x00, 0xE0, 0x1C, 0xE0, 0x1C, 0x03, - 0x9C, 0x03, 0x80, 0xF3, 0x80, 0x70, 0x1C, 0x70, 0x1C, 0x03, 0x9C, 0x03, - 0x80, 0x73, 0x80, 0x70, 0x0E, 0x00, 0x1E, 0x3E, 0x07, 0x7F, 0xE1, 0xFF, - 0xF8, 0x7E, 0x0F, 0x1F, 0x01, 0xC7, 0x80, 0x73, 0xC0, 0x1C, 0xE0, 0x07, - 0x38, 0x03, 0xCE, 0x00, 0xE3, 0x80, 0x39, 0xE0, 0x0E, 0x70, 0x03, 0x9C, - 0x01, 0xC7, 0x00, 0x71, 0xC0, 0x1C, 0x70, 0x07, 0x38, 0x01, 0xCE, 0x00, - 0xE0, 0x01, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0xC3, 0xE1, 0xE3, 0xC0, 0x79, - 0xC0, 0x1D, 0xC0, 0x0E, 0xE0, 0x07, 0x70, 0x03, 0xF0, 0x01, 0xF8, 0x01, - 0xDC, 0x00, 0xEE, 0x00, 0x77, 0x00, 0x73, 0xC0, 0x78, 0xF0, 0xF8, 0x7F, - 0xF8, 0x1F, 0xF8, 0x03, 0xF0, 0x00, 0x03, 0x8F, 0x80, 0x1D, 0xFF, 0x01, - 0xFF, 0xFC, 0x0F, 0xC1, 0xE0, 0x7C, 0x07, 0x83, 0xC0, 0x1C, 0x1C, 0x00, - 0xE1, 0xE0, 0x07, 0x0E, 0x00, 0x38, 0x70, 0x01, 0xC3, 0x80, 0x1E, 0x1C, - 0x00, 0xE1, 0xE0, 0x07, 0x0F, 0x00, 0x70, 0x78, 0x07, 0x83, 0xF0, 0xF8, - 0x3F, 0xFF, 0x81, 0xDF, 0xF8, 0x0E, 0x3F, 0x00, 0x70, 0x00, 0x03, 0x80, - 0x00, 0x3C, 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, - 0x80, 0x00, 0x00, 0x00, 0xF8, 0xF0, 0x7F, 0xEE, 0x0F, 0xFF, 0xE1, 0xF0, - 0xFE, 0x3C, 0x07, 0xE3, 0x80, 0x3E, 0x70, 0x03, 0xC7, 0x00, 0x3C, 0x70, - 0x03, 0xCE, 0x00, 0x3C, 0xE0, 0x07, 0x8E, 0x00, 0x78, 0xE0, 0x07, 0x8E, - 0x00, 0xF8, 0xF0, 0x1F, 0x87, 0x87, 0xF0, 0x7F, 0xF7, 0x03, 0xFE, 0x70, - 0x0F, 0x8F, 0x00, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, - 0x00, 0x01, 0xE0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x04, 0x00, 0x1E, - 0x78, 0xE7, 0xC7, 0x7C, 0x3F, 0x01, 0xF0, 0x0F, 0x00, 0xF0, 0x07, 0x00, - 0x38, 0x01, 0xC0, 0x0E, 0x00, 0xF0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, - 0x00, 0x70, 0x07, 0x00, 0x38, 0x00, 0x01, 0xF8, 0x07, 0xFE, 0x0F, 0xFF, - 0x1E, 0x0F, 0x3C, 0x07, 0x38, 0x07, 0x38, 0x00, 0x3C, 0x00, 0x3F, 0x80, - 0x1F, 0xF8, 0x07, 0xFC, 0x00, 0x7E, 0x00, 0x0E, 0xE0, 0x0E, 0xE0, 0x1E, - 0xF0, 0x3C, 0x7F, 0xF8, 0x7F, 0xF0, 0x1F, 0xC0, 0x0E, 0x03, 0x80, 0xE0, - 0x38, 0x7F, 0xDF, 0xEF, 0xF8, 0x70, 0x1C, 0x0E, 0x03, 0x80, 0xE0, 0x38, - 0x1E, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xFC, 0x3F, 0x07, - 0x80, 0x1C, 0x03, 0xC7, 0x00, 0xE1, 0xC0, 0x38, 0xF0, 0x0E, 0x38, 0x03, - 0x8E, 0x00, 0xE3, 0x80, 0x70, 0xE0, 0x1C, 0x78, 0x07, 0x1C, 0x01, 0xC7, - 0x00, 0x71, 0xC0, 0x3C, 0x70, 0x0E, 0x38, 0x07, 0x8E, 0x03, 0xE3, 0x81, - 0xF8, 0xFF, 0xFE, 0x1F, 0xFF, 0x03, 0xF1, 0xC0, 0xE0, 0x07, 0xE0, 0x0F, - 0xE0, 0x0E, 0xE0, 0x1C, 0x70, 0x1C, 0x70, 0x38, 0x70, 0x38, 0x70, 0x70, - 0x70, 0xF0, 0x70, 0xE0, 0x71, 0xC0, 0x71, 0xC0, 0x33, 0x80, 0x3B, 0x80, - 0x3F, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0xE0, 0x1C, - 0x07, 0xE0, 0x3C, 0x0E, 0xE0, 0x3C, 0x0E, 0xE0, 0x7C, 0x1C, 0xE0, 0x7C, - 0x1C, 0xE0, 0xEC, 0x38, 0xE0, 0xEC, 0x38, 0x61, 0xCC, 0x70, 0x61, 0xCC, - 0x70, 0x63, 0x8C, 0xE0, 0x73, 0x8C, 0xE0, 0x77, 0x0C, 0xC0, 0x77, 0x0D, - 0xC0, 0x7E, 0x0D, 0x80, 0x7E, 0x0F, 0x80, 0x7C, 0x0F, 0x80, 0x7C, 0x0F, - 0x00, 0x78, 0x0F, 0x00, 0x78, 0x0E, 0x00, 0x0E, 0x00, 0xE1, 0xE0, 0x38, - 0x1C, 0x0E, 0x03, 0xC3, 0x80, 0x38, 0xE0, 0x07, 0xBC, 0x00, 0x77, 0x00, - 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x1C, 0x00, 0x07, 0xC0, 0x01, 0xF8, 0x00, - 0x77, 0x80, 0x1E, 0x70, 0x07, 0x8F, 0x00, 0xE0, 0xE0, 0x38, 0x1C, 0x0E, - 0x01, 0xC3, 0x80, 0x38, 0x00, 0x0E, 0x00, 0x70, 0xF0, 0x0F, 0x07, 0x00, - 0xE0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x38, 0x07, 0x03, 0x80, 0x70, - 0x70, 0x07, 0x07, 0x00, 0x70, 0xE0, 0x03, 0x9E, 0x00, 0x39, 0xC0, 0x03, - 0xB8, 0x00, 0x3B, 0x80, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, - 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, - 0x07, 0x00, 0x00, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, - 0x00, 0x07, 0xFF, 0xC0, 0xFF, 0xF8, 0x3F, 0xFF, 0x00, 0x01, 0xC0, 0x00, - 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x1C, - 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, - 0x03, 0xC0, 0x00, 0x7F, 0xFE, 0x1F, 0xFF, 0xC3, 0xFF, 0xF8, 0x00, 0x00, - 0x70, 0x1F, 0x01, 0xF0, 0x3C, 0x03, 0x80, 0x38, 0x07, 0x00, 0x70, 0x07, - 0x00, 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x01, 0xE0, 0x3C, 0x0F, 0x80, 0xE0, - 0x0F, 0x00, 0x78, 0x03, 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x80, 0x38, - 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x0E, 0x00, 0xF8, 0x0F, 0x80, 0x78, - 0x00, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x03, - 0x01, 0x81, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x01, - 0x81, 0x80, 0xC0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x06, 0x03, 0x03, 0x01, - 0x80, 0xC0, 0x00, 0x01, 0xE0, 0x1F, 0x01, 0xF0, 0x07, 0x00, 0xE0, 0x0E, - 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, - 0x01, 0xE0, 0x0F, 0x00, 0x70, 0x1F, 0x03, 0xC0, 0x78, 0x07, 0x00, 0x70, - 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0xC0, - 0xF8, 0x0F, 0x80, 0xE0, 0x00, 0x1C, 0x00, 0x3F, 0x00, 0x7F, 0x83, 0x63, - 0xC7, 0xC1, 0xFE, 0x00, 0xFC, 0x00, 0x78 }; - -const GFXglyph FreeSansOblique18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 10, 0, 1 }, // 0x20 ' ' - { 0, 9, 26, 10, 4, -25 }, // 0x21 '!' - { 30, 10, 9, 12, 6, -24 }, // 0x22 '"' - { 42, 21, 25, 19, 2, -24 }, // 0x23 '#' - { 108, 20, 31, 19, 2, -26 }, // 0x24 '$' - { 186, 26, 25, 31, 5, -24 }, // 0x25 '%' - { 268, 20, 25, 23, 3, -24 }, // 0x26 '&' - { 331, 4, 9, 7, 6, -24 }, // 0x27 ''' - { 336, 12, 33, 12, 4, -25 }, // 0x28 '(' - { 386, 12, 33, 12, -1, -24 }, // 0x29 ')' - { 436, 10, 10, 14, 6, -25 }, // 0x2A '*' - { 449, 18, 16, 20, 3, -15 }, // 0x2B '+' - { 485, 5, 8, 10, 2, -2 }, // 0x2C ',' - { 490, 9, 3, 12, 3, -10 }, // 0x2D '-' - { 494, 4, 4, 10, 3, -3 }, // 0x2E '.' - { 496, 15, 26, 10, 0, -25 }, // 0x2F '/' - { 545, 18, 25, 19, 3, -24 }, // 0x30 '0' - { 602, 10, 25, 19, 7, -24 }, // 0x31 '1' - { 634, 20, 25, 19, 2, -24 }, // 0x32 '2' - { 697, 19, 25, 19, 2, -24 }, // 0x33 '3' - { 757, 18, 25, 19, 2, -24 }, // 0x34 '4' - { 814, 20, 25, 19, 2, -24 }, // 0x35 '5' - { 877, 19, 25, 19, 3, -24 }, // 0x36 '6' - { 937, 18, 25, 19, 5, -24 }, // 0x37 '7' - { 994, 19, 25, 19, 3, -24 }, // 0x38 '8' - { 1054, 19, 25, 19, 2, -24 }, // 0x39 '9' - { 1114, 7, 19, 10, 4, -18 }, // 0x3A ':' - { 1131, 8, 24, 10, 3, -18 }, // 0x3B ';' - { 1155, 19, 17, 20, 3, -16 }, // 0x3C '<' - { 1196, 18, 9, 20, 3, -12 }, // 0x3D '=' - { 1217, 19, 17, 20, 2, -15 }, // 0x3E '>' - { 1258, 16, 26, 19, 6, -25 }, // 0x3F '?' - { 1310, 33, 31, 36, 3, -25 }, // 0x40 '@' - { 1438, 23, 26, 23, 0, -25 }, // 0x41 'A' - { 1513, 21, 26, 23, 3, -25 }, // 0x42 'B' - { 1582, 22, 26, 25, 4, -25 }, // 0x43 'C' - { 1654, 23, 26, 25, 3, -25 }, // 0x44 'D' - { 1729, 23, 26, 23, 3, -25 }, // 0x45 'E' - { 1804, 22, 26, 21, 3, -25 }, // 0x46 'F' - { 1876, 24, 26, 27, 4, -25 }, // 0x47 'G' - { 1954, 25, 26, 25, 3, -25 }, // 0x48 'H' - { 2036, 8, 26, 10, 4, -25 }, // 0x49 'I' - { 2062, 18, 26, 18, 2, -25 }, // 0x4A 'J' - { 2121, 25, 26, 23, 3, -25 }, // 0x4B 'K' - { 2203, 16, 26, 19, 3, -25 }, // 0x4C 'L' - { 2255, 29, 26, 30, 3, -25 }, // 0x4D 'M' - { 2350, 25, 26, 26, 3, -25 }, // 0x4E 'N' - { 2432, 24, 26, 27, 4, -25 }, // 0x4F 'O' - { 2510, 22, 26, 23, 3, -25 }, // 0x50 'P' - { 2582, 25, 28, 27, 4, -25 }, // 0x51 'Q' - { 2670, 23, 26, 25, 3, -25 }, // 0x52 'R' - { 2745, 22, 26, 23, 3, -25 }, // 0x53 'S' - { 2817, 20, 26, 21, 6, -25 }, // 0x54 'T' - { 2882, 24, 26, 25, 4, -25 }, // 0x55 'U' - { 2960, 21, 26, 23, 6, -25 }, // 0x56 'V' - { 3029, 32, 26, 33, 6, -25 }, // 0x57 'W' - { 3133, 27, 26, 23, 1, -25 }, // 0x58 'X' - { 3221, 23, 26, 24, 6, -25 }, // 0x59 'Y' - { 3296, 25, 26, 21, 1, -25 }, // 0x5A 'Z' - { 3378, 13, 33, 10, 1, -25 }, // 0x5B '[' - { 3432, 4, 26, 10, 5, -25 }, // 0x5C '\' - { 3445, 13, 33, 10, -1, -24 }, // 0x5D ']' - { 3499, 14, 14, 16, 3, -24 }, // 0x5E '^' - { 3524, 21, 2, 19, -2, 5 }, // 0x5F '_' - { 3530, 6, 5, 12, 6, -25 }, // 0x60 '`' - { 3534, 18, 19, 19, 2, -18 }, // 0x61 'a' - { 3577, 19, 26, 20, 2, -25 }, // 0x62 'b' - { 3639, 16, 19, 18, 3, -18 }, // 0x63 'c' - { 3677, 20, 26, 20, 3, -25 }, // 0x64 'd' - { 3742, 17, 19, 19, 3, -18 }, // 0x65 'e' - { 3783, 11, 26, 9, 2, -25 }, // 0x66 'f' - { 3819, 19, 27, 19, 2, -18 }, // 0x67 'g' - { 3884, 18, 26, 19, 2, -25 }, // 0x68 'h' - { 3943, 8, 26, 8, 2, -25 }, // 0x69 'i' - { 3969, 14, 34, 8, -2, -25 }, // 0x6A 'j' - { 4029, 19, 26, 18, 2, -25 }, // 0x6B 'k' - { 4091, 8, 26, 8, 2, -25 }, // 0x6C 'l' - { 4117, 27, 19, 29, 2, -18 }, // 0x6D 'm' - { 4182, 18, 19, 19, 2, -18 }, // 0x6E 'n' - { 4225, 17, 19, 19, 3, -18 }, // 0x6F 'o' - { 4266, 21, 26, 20, 0, -18 }, // 0x70 'p' - { 4335, 20, 27, 19, 2, -18 }, // 0x71 'q' - { 4403, 13, 19, 11, 2, -18 }, // 0x72 'r' - { 4434, 16, 19, 18, 2, -18 }, // 0x73 's' - { 4472, 10, 23, 9, 3, -22 }, // 0x74 't' - { 4501, 18, 19, 19, 3, -18 }, // 0x75 'u' - { 4544, 16, 19, 17, 4, -18 }, // 0x76 'v' - { 4582, 24, 19, 25, 4, -18 }, // 0x77 'w' - { 4639, 19, 19, 17, 1, -18 }, // 0x78 'x' - { 4685, 20, 27, 17, 0, -18 }, // 0x79 'y' - { 4753, 19, 19, 17, 1, -18 }, // 0x7A 'z' - { 4799, 12, 33, 12, 3, -25 }, // 0x7B '{' - { 4849, 9, 33, 9, 2, -25 }, // 0x7C '|' - { 4887, 12, 33, 12, 0, -24 }, // 0x7D '}' - { 4937, 16, 7, 20, 5, -15 } }; // 0x7E '~' - -const GFXfont FreeSansOblique18pt7b PROGMEM = { - (uint8_t *)FreeSansOblique18pt7bBitmaps, - (GFXglyph *)FreeSansOblique18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 5623 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h deleted file mode 100644 index 4c8c8ab..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique24pt7b.h +++ /dev/null @@ -1,840 +0,0 @@ -const uint8_t FreeSansOblique24pt7bBitmaps[] PROGMEM = { - 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x3C, 0x07, - 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, - 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x38, 0x07, 0x00, 0xE0, 0x18, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1E, 0x07, 0x80, 0xF0, 0x1E, 0x00, 0x78, - 0x7B, 0xC3, 0xDE, 0x1F, 0xE1, 0xEF, 0x0F, 0x78, 0x7B, 0xC3, 0xDC, 0x1C, - 0xE0, 0xE7, 0x07, 0x30, 0x31, 0x81, 0x80, 0x00, 0x07, 0x81, 0xC0, 0x00, - 0x78, 0x3C, 0x00, 0x07, 0x03, 0xC0, 0x00, 0xF0, 0x38, 0x00, 0x0E, 0x07, - 0x80, 0x01, 0xE0, 0x70, 0x00, 0x1E, 0x0F, 0x00, 0x01, 0xC0, 0xF0, 0x00, - 0x3C, 0x0E, 0x00, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, - 0xFE, 0x00, 0x70, 0x3C, 0x00, 0x0F, 0x03, 0x80, 0x00, 0xF0, 0x78, 0x00, - 0x0E, 0x07, 0x80, 0x01, 0xE0, 0x70, 0x00, 0x1C, 0x0F, 0x00, 0x03, 0xC0, - 0xE0, 0x00, 0x3C, 0x1E, 0x00, 0x03, 0x81, 0xE0, 0x0F, 0xFF, 0xFF, 0xE0, - 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0x03, 0x80, 0x00, 0xE0, - 0x78, 0x00, 0x1E, 0x07, 0x00, 0x01, 0xC0, 0xF0, 0x00, 0x1C, 0x0F, 0x00, - 0x03, 0xC0, 0xE0, 0x00, 0x38, 0x1E, 0x00, 0x07, 0x81, 0xC0, 0x00, 0x78, - 0x3C, 0x00, 0x07, 0x03, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0x00, 0x7F, - 0xFF, 0xE0, 0x1F, 0x18, 0xF8, 0x0F, 0x8E, 0x1F, 0x07, 0xC3, 0x83, 0xC1, - 0xE0, 0xE0, 0xF0, 0x70, 0x38, 0x3C, 0x3C, 0x0C, 0x0F, 0x0F, 0x07, 0x00, - 0x03, 0xC1, 0xC0, 0x00, 0xF0, 0x70, 0x00, 0x3E, 0x1C, 0x00, 0x0F, 0xE6, - 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xFE, 0x00, 0x03, 0xFF, 0xE0, 0x00, - 0x3F, 0xFC, 0x00, 0x03, 0xFF, 0x80, 0x01, 0xC7, 0xF0, 0x00, 0x70, 0x7C, - 0x00, 0x1C, 0x0F, 0x00, 0x06, 0x03, 0xCF, 0x03, 0x80, 0xF3, 0xC0, 0xE0, - 0x3C, 0xF0, 0x38, 0x0E, 0x3C, 0x0E, 0x07, 0x8F, 0x03, 0x01, 0xE3, 0xE1, - 0xC0, 0xF0, 0xF8, 0x70, 0x78, 0x1F, 0x9C, 0xFC, 0x03, 0xFF, 0xFE, 0x00, - 0x7F, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0x80, 0x1F, 0x00, 0x00, 0x70, 0x07, 0xFC, 0x00, 0x0E, - 0x00, 0xFF, 0xE0, 0x01, 0xC0, 0x1E, 0x1E, 0x00, 0x3C, 0x03, 0x80, 0xF0, - 0x03, 0x80, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x0E, 0x00, 0xE0, - 0x07, 0x01, 0xC0, 0x0E, 0x00, 0x70, 0x3C, 0x00, 0xE0, 0x0E, 0x03, 0x80, - 0x0E, 0x00, 0xE0, 0x70, 0x00, 0xF0, 0x1C, 0x0E, 0x00, 0x07, 0x87, 0xC1, - 0xE0, 0x00, 0x7F, 0xF8, 0x1C, 0x00, 0x03, 0xFE, 0x03, 0x80, 0x00, 0x0F, - 0x80, 0x70, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x1F, - 0x00, 0x00, 0x1C, 0x07, 0xFC, 0x00, 0x03, 0x80, 0xFF, 0xE0, 0x00, 0x70, - 0x1E, 0x1E, 0x00, 0x0F, 0x03, 0x80, 0xF0, 0x00, 0xE0, 0x70, 0x07, 0x00, - 0x1C, 0x07, 0x00, 0x70, 0x03, 0x80, 0xE0, 0x07, 0x00, 0x70, 0x0E, 0x00, - 0x70, 0x0F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x1C, 0x00, - 0xF0, 0x1C, 0x03, 0x80, 0x07, 0x87, 0xC0, 0x70, 0x00, 0x7F, 0xF8, 0x07, - 0x00, 0x03, 0xFE, 0x00, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, - 0x03, 0xFF, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0xF8, 0x7C, 0x00, 0x78, 0x0F, - 0x00, 0x1E, 0x03, 0xC0, 0x0F, 0x00, 0xF0, 0x03, 0xC0, 0x3C, 0x00, 0xF0, - 0x1E, 0x00, 0x3C, 0x07, 0x80, 0x0F, 0x87, 0xC0, 0x01, 0xE3, 0xE0, 0x00, - 0x7F, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xFC, 0x00, - 0x03, 0xFF, 0x00, 0x01, 0xFB, 0xE0, 0x70, 0xF8, 0x7C, 0x1C, 0x7C, 0x1F, - 0x0E, 0x3C, 0x03, 0xE3, 0x9E, 0x00, 0x79, 0xE7, 0x80, 0x1F, 0xF3, 0xC0, - 0x03, 0xF8, 0xF0, 0x00, 0xFE, 0x3C, 0x00, 0x1F, 0x0F, 0x00, 0x07, 0xC3, - 0xE0, 0x03, 0xF8, 0xF8, 0x03, 0xFE, 0x3F, 0x83, 0xF7, 0xC7, 0xFF, 0xF8, - 0xF0, 0xFF, 0xFC, 0x3E, 0x1F, 0xFC, 0x07, 0x81, 0xFC, 0x00, 0x00, 0x7B, - 0xDF, 0xEF, 0x7B, 0xDC, 0xE7, 0x31, 0x80, 0x00, 0x0E, 0x00, 0x38, 0x00, - 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, - 0x0F, 0x00, 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, - 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, - 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, - 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, - 0x70, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0xE0, - 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, - 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x07, - 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, - 0x07, 0x00, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x07, - 0x00, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, - 0x1C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x1C, 0x00, 0x70, - 0x01, 0xC0, 0x07, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x18, 0xE3, - 0x7B, 0xBF, 0xFF, 0xF3, 0xFF, 0x01, 0xE0, 0x1F, 0xC0, 0xF7, 0x07, 0x9E, - 0x1C, 0x38, 0x20, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x78, - 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, - 0x00, 0x1C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, - 0x78, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, - 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x3E, 0x7C, 0xF9, 0xE7, - 0xC1, 0x83, 0x0C, 0x18, 0x63, 0xC6, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFE, 0x7D, 0xF7, 0xBE, 0xF8, 0x00, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, - 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, - 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, 0x0C, - 0x00, 0x00, 0xE0, 0x00, 0x06, 0x00, 0x00, 0x70, 0x00, 0x03, 0x00, 0x00, - 0x38, 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, - 0x00, 0x60, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x38, - 0x00, 0x01, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, 0x00, - 0x60, 0x00, 0x07, 0x00, 0x00, 0x30, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, - 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x0F, 0xFF, - 0xE0, 0x3F, 0x0F, 0xC0, 0xF8, 0x07, 0x81, 0xE0, 0x0F, 0x87, 0x80, 0x0F, - 0x1F, 0x00, 0x1E, 0x3C, 0x00, 0x3C, 0x78, 0x00, 0x79, 0xE0, 0x00, 0xF3, - 0xC0, 0x01, 0xE7, 0x80, 0x07, 0xDE, 0x00, 0x0F, 0xBC, 0x00, 0x1E, 0x78, - 0x00, 0x3C, 0xF0, 0x00, 0x79, 0xE0, 0x00, 0xF7, 0x80, 0x03, 0xEF, 0x00, - 0x07, 0xDE, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x7C, 0xF0, 0x00, - 0xF1, 0xE0, 0x03, 0xE3, 0xC0, 0x07, 0x87, 0xC0, 0x1F, 0x0F, 0x80, 0x7C, - 0x0F, 0xC3, 0xF0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0x1F, 0xFC, 0x00, - 0x0F, 0xC0, 0x00, 0x00, 0x18, 0x01, 0xC0, 0x1C, 0x01, 0xE0, 0x1F, 0x0F, - 0xFB, 0xFF, 0xDF, 0xFC, 0xFF, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, - 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, - 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, - 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x00, 0x00, 0x03, 0xFC, - 0x00, 0x03, 0xFF, 0xE0, 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xE0, 0x0F, - 0xC0, 0xFC, 0x03, 0xE0, 0x07, 0xC0, 0xF8, 0x00, 0xF8, 0x1F, 0x00, 0x0F, - 0x03, 0xC0, 0x01, 0xE0, 0xF8, 0x00, 0x3C, 0x1E, 0x00, 0x07, 0x80, 0x00, - 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, - 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xFF, - 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, - 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, 0x00, 0x3F, 0xFF, 0x80, 0x3F, - 0xFF, 0xE0, 0x1F, 0x81, 0xF8, 0x1F, 0x00, 0x7C, 0x1F, 0x00, 0x1E, 0x0F, - 0x00, 0x0F, 0x0F, 0x80, 0x07, 0x87, 0x80, 0x03, 0xC0, 0x00, 0x03, 0xC0, - 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0xE0, - 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x3F, - 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, - 0x79, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x3C, 0x00, - 0x0F, 0x1E, 0x00, 0x0F, 0x0F, 0x80, 0x1F, 0x83, 0xF0, 0x3F, 0x81, 0xFF, - 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xBC, - 0x00, 0x0F, 0xBC, 0x00, 0x1F, 0x7C, 0x00, 0x3E, 0x78, 0x00, 0x7C, 0x78, - 0x00, 0xF8, 0x78, 0x00, 0xF0, 0x78, 0x01, 0xE0, 0xF0, 0x03, 0xC0, 0xF0, - 0x07, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x1E, 0x01, 0xF0, 0x3C, 0x01, 0xE0, - 0x78, 0x01, 0xE0, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, - 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, - 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, 0x80, - 0x00, 0x0F, 0x80, 0x00, 0x7F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF8, 0x03, 0xFF, - 0xFF, 0x00, 0x7F, 0xFF, 0xE0, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x78, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC7, 0xE0, 0x00, 0xF7, 0xFF, 0x80, 0x1F, - 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0xFE, 0x03, 0xF0, 0x1F, 0x00, 0x3F, - 0x03, 0xC0, 0x03, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x70, - 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0xF0, 0x7C, 0x00, - 0x3C, 0x0F, 0x80, 0x0F, 0x80, 0xFC, 0x07, 0xE0, 0x1F, 0xFF, 0xF8, 0x01, - 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x07, - 0xE0, 0x00, 0x3F, 0xF8, 0x00, 0x7F, 0xFC, 0x00, 0xFF, 0xFE, 0x01, 0xF8, - 0x3E, 0x03, 0xE0, 0x1F, 0x07, 0xC0, 0x1F, 0x0F, 0x80, 0x0F, 0x0F, 0x00, - 0x0F, 0x1F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x1F, - 0x80, 0x3C, 0x7F, 0xE0, 0x3D, 0xFF, 0xF0, 0x7B, 0xFF, 0xF8, 0x7F, 0xC1, - 0xF8, 0x7F, 0x00, 0x7C, 0x7E, 0x00, 0x7C, 0xFC, 0x00, 0x3C, 0xF8, 0x00, - 0x3C, 0xF8, 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0xF0, 0x00, 0x38, 0xF0, 0x00, - 0x78, 0xF0, 0x00, 0x78, 0xF0, 0x00, 0xF0, 0xF8, 0x01, 0xF0, 0x7C, 0x03, - 0xE0, 0x7E, 0x0F, 0xC0, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0x0F, 0xFE, - 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, - 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, - 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, - 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x80, - 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFE, 0x00, 0x1F, - 0xFF, 0x80, 0x1F, 0xFF, 0xE0, 0x1F, 0x81, 0xF8, 0x1F, 0x00, 0x7C, 0x0F, - 0x00, 0x1E, 0x0F, 0x00, 0x0F, 0x07, 0x80, 0x07, 0x83, 0xC0, 0x03, 0xC1, - 0xE0, 0x03, 0xC0, 0xF8, 0x03, 0xC0, 0x7E, 0x07, 0xC0, 0x1F, 0xFF, 0xC0, - 0x07, 0xFF, 0xC0, 0x03, 0xFF, 0xE0, 0x07, 0xFF, 0xF8, 0x07, 0xE0, 0x7E, - 0x07, 0xC0, 0x0F, 0x07, 0x80, 0x07, 0xC7, 0xC0, 0x01, 0xE3, 0xC0, 0x00, - 0xF3, 0xC0, 0x00, 0x79, 0xE0, 0x00, 0x3C, 0xF0, 0x00, 0x1C, 0x78, 0x00, - 0x1E, 0x3C, 0x00, 0x0F, 0x1F, 0x00, 0x0F, 0x0F, 0xC0, 0x0F, 0x83, 0xF0, - 0x3F, 0x81, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x01, - 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xFC, - 0x03, 0xFF, 0xFC, 0x07, 0xF0, 0x7E, 0x07, 0xC0, 0x3E, 0x0F, 0x80, 0x1F, - 0x0F, 0x00, 0x0F, 0x1E, 0x00, 0x0F, 0x1E, 0x00, 0x0F, 0x3C, 0x00, 0x0F, - 0x3C, 0x00, 0x0F, 0x3C, 0x00, 0x1F, 0x3C, 0x00, 0x1F, 0x3C, 0x00, 0x3F, - 0x3E, 0x00, 0x7E, 0x3E, 0x00, 0xFE, 0x1F, 0x83, 0xFE, 0x1F, 0xFF, 0xFE, - 0x0F, 0xFF, 0xBC, 0x07, 0xFE, 0x3C, 0x01, 0xF8, 0x7C, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF0, 0xF0, 0x01, 0xF0, - 0xF0, 0x03, 0xE0, 0xF8, 0x07, 0xC0, 0xFC, 0x1F, 0xC0, 0x7F, 0xFF, 0x80, - 0x3F, 0xFE, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xC1, 0xF0, - 0x78, 0x3E, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1F, - 0x07, 0x83, 0xE0, 0xF8, 0x00, 0x03, 0xE0, 0x7C, 0x0F, 0x03, 0xE0, 0x7C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x7C, 0x0F, - 0x81, 0xE0, 0x7C, 0x01, 0x80, 0x30, 0x0C, 0x01, 0x80, 0x60, 0x3C, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x70, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFE, 0x00, - 0x07, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF8, 0x00, 0x07, 0xF0, 0x00, - 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, - 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x80, 0x1F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xE3, 0xFF, - 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, - 0xC7, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF8, 0x04, 0x00, 0x00, 0x01, 0xC0, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, - 0x3F, 0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x7F, 0xC0, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x01, - 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xFE, - 0x00, 0x3F, 0xF8, 0x0F, 0xFF, 0xC1, 0xFF, 0xFE, 0x1F, 0x03, 0xE3, 0xE0, - 0x1F, 0x7C, 0x00, 0xF7, 0x80, 0x0F, 0x78, 0x00, 0xFF, 0x00, 0x0F, 0xF0, - 0x01, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0x80, 0x00, 0x78, 0x00, 0x0F, 0x80, - 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, 0x3E, - 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x80, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFE, - 0x00, 0x00, 0x7F, 0xE0, 0x0F, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xE0, - 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, - 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x80, 0xF8, - 0x00, 0xFC, 0x00, 0x3E, 0x0F, 0x80, 0x1F, 0xF9, 0xE1, 0xF0, 0x78, 0x03, - 0xFF, 0xCF, 0x07, 0x87, 0xC0, 0x3F, 0x0F, 0xF0, 0x3C, 0x7C, 0x03, 0xE0, - 0x3F, 0x01, 0xE3, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0x3E, 0x03, 0xE0, 0x0F, - 0x80, 0x79, 0xE0, 0x1E, 0x00, 0x7C, 0x03, 0xDF, 0x01, 0xE0, 0x03, 0xC0, - 0x3E, 0xF0, 0x1F, 0x00, 0x3E, 0x01, 0xE7, 0x80, 0xF0, 0x01, 0xE0, 0x0F, - 0x38, 0x07, 0x80, 0x0F, 0x00, 0xFB, 0xC0, 0x78, 0x00, 0xF0, 0x07, 0x9E, - 0x03, 0xC0, 0x07, 0x80, 0x7C, 0xF0, 0x1E, 0x00, 0x78, 0x07, 0xC7, 0x80, - 0xF0, 0x07, 0xC0, 0x7E, 0x3C, 0x07, 0x80, 0x7C, 0x07, 0xE1, 0xE0, 0x3E, - 0x07, 0xE0, 0x7E, 0x0F, 0x00, 0xF8, 0x7F, 0x8F, 0xC0, 0x7C, 0x07, 0xFF, - 0x7F, 0xFC, 0x01, 0xE0, 0x1F, 0xF1, 0xFF, 0x80, 0x0F, 0x00, 0x7E, 0x0F, - 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0xF8, 0x00, 0x00, - 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x3F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xDF, 0x00, 0x00, 0x1E, - 0x7C, 0x00, 0x00, 0x79, 0xF0, 0x00, 0x03, 0xC7, 0xC0, 0x00, 0x0F, 0x1F, - 0x00, 0x00, 0x78, 0x3C, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x0F, 0x03, 0xE0, - 0x00, 0x78, 0x0F, 0x80, 0x01, 0xE0, 0x3E, 0x00, 0x0F, 0x00, 0xF8, 0x00, - 0x3C, 0x03, 0xE0, 0x01, 0xE0, 0x0F, 0x80, 0x0F, 0x80, 0x1E, 0x00, 0x3C, - 0x00, 0x7C, 0x01, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0xFC, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x03, - 0xC0, 0xF8, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0xF8, - 0xF8, 0x00, 0x03, 0xE3, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, 0x3E, 0xF8, - 0x00, 0x00, 0x7B, 0xE0, 0x00, 0x01, 0xF0, 0x01, 0xFF, 0xFF, 0x00, 0x0F, - 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, - 0x1F, 0x81, 0xE0, 0x00, 0x7C, 0x0F, 0x00, 0x01, 0xE0, 0x78, 0x00, 0x0F, - 0x03, 0xC0, 0x00, 0x78, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x3C, 0x0F, - 0x00, 0x01, 0xE0, 0x78, 0x00, 0x1E, 0x07, 0xC0, 0x03, 0xE0, 0x3F, 0xFF, - 0xFC, 0x01, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, - 0x07, 0x80, 0x01, 0xF0, 0x3C, 0x00, 0x07, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, - 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x07, 0x87, 0x80, 0x00, 0x3C, 0x3C, 0x00, - 0x01, 0xE1, 0xE0, 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x0F, - 0x87, 0x80, 0x00, 0xF8, 0x3C, 0x00, 0x1F, 0x81, 0xFF, 0xFF, 0xF8, 0x1F, - 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x1F, - 0xFF, 0xFC, 0x00, 0xFE, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x3E, 0x00, - 0x07, 0x81, 0xF0, 0x00, 0x1E, 0x07, 0x80, 0x00, 0x3C, 0x3C, 0x00, 0x00, - 0xF1, 0xF0, 0x00, 0x03, 0xC7, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x3C, 0xF0, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0x07, - 0x8F, 0x80, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x07, 0xC1, - 0xF0, 0x00, 0x3E, 0x03, 0xE0, 0x03, 0xF0, 0x0F, 0xE0, 0x3F, 0x80, 0x1F, - 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, - 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0x80, 0x3E, 0x00, 0x3F, 0x80, 0x78, 0x00, - 0x1F, 0x80, 0xF0, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x1E, 0x07, 0xC0, 0x00, - 0x3E, 0x0F, 0x00, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x00, - 0xF0, 0xF8, 0x00, 0x01, 0xE1, 0xF0, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x07, - 0x87, 0x80, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x3C, 0x3E, 0x00, 0x00, 0x78, - 0x7C, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x01, 0xE1, 0xE0, 0x00, 0x07, 0x87, - 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x1E, 0x00, 0x00, 0x78, 0x3C, - 0x00, 0x01, 0xF0, 0x78, 0x00, 0x03, 0xC1, 0xF0, 0x00, 0x0F, 0x03, 0xE0, - 0x00, 0x3E, 0x07, 0x80, 0x01, 0xF8, 0x0F, 0x00, 0x0F, 0xE0, 0x1F, 0xFF, - 0xFF, 0x80, 0x7F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, - 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, - 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, 0x00, 0x00, 0x78, 0x00, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x00, - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, - 0x07, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x80, - 0x7F, 0xFF, 0xFF, 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, - 0xC0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1F, 0xFF, - 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, - 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, - 0xFF, 0xC0, 0xFF, 0xFF, 0xFE, 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, - 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xFF, - 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, - 0xF0, 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x07, - 0xFF, 0xFF, 0xC0, 0x07, 0xF0, 0x0F, 0xF0, 0x0F, 0xC0, 0x00, 0xF8, 0x0F, - 0xC0, 0x00, 0x3E, 0x07, 0x80, 0x00, 0x1F, 0x07, 0x80, 0x00, 0x07, 0x87, - 0xC0, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x1F, 0xFF, - 0xBC, 0x00, 0x0F, 0xFF, 0xDE, 0x00, 0x0F, 0xFF, 0xEF, 0x00, 0x07, 0xFF, - 0xF7, 0x80, 0x00, 0x00, 0x73, 0xC0, 0x00, 0x00, 0x39, 0xE0, 0x00, 0x00, - 0x3C, 0xF0, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x1F, 0x3E, 0x00, 0x00, - 0x0F, 0x8F, 0x00, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x0F, 0xC3, 0xF0, 0x00, - 0x0F, 0xE0, 0xFC, 0x00, 0x1F, 0xF0, 0x7F, 0x80, 0x7F, 0x78, 0x1F, 0xFF, - 0xFE, 0x38, 0x03, 0xFF, 0xFE, 0x1C, 0x00, 0xFF, 0xFC, 0x0E, 0x00, 0x0F, - 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0xF0, 0x00, 0x03, 0xC0, - 0x78, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x01, 0xF0, 0x3E, 0x00, 0x00, 0xF0, - 0x1E, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00, 0x3C, 0x0F, 0x80, 0x00, 0x3E, - 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xC0, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x07, - 0x80, 0xF0, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x01, - 0xF0, 0x3C, 0x00, 0x00, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, - 0xFC, 0x0F, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xFE, 0x03, 0xC0, 0x00, - 0x0F, 0x01, 0xE0, 0x00, 0x07, 0x81, 0xF0, 0x00, 0x07, 0xC0, 0xF8, 0x00, - 0x03, 0xE0, 0x78, 0x00, 0x01, 0xE0, 0x3C, 0x00, 0x00, 0xF0, 0x1E, 0x00, - 0x00, 0x78, 0x1F, 0x00, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x3C, 0x07, 0x80, - 0x00, 0x1E, 0x03, 0xC0, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x0F, 0x81, 0xF0, - 0x00, 0x07, 0xC0, 0xF0, 0x00, 0x03, 0xC0, 0x78, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x81, 0xF0, 0x3E, 0x07, - 0x80, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1E, 0x03, 0xC0, 0x78, 0x1F, 0x03, - 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x7C, 0x0F, 0x81, 0xE0, 0x3C, 0x07, 0x81, - 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0xC0, 0xF8, 0x1E, 0x00, 0x00, - 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, - 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0xF0, - 0x01, 0xE0, 0x78, 0x00, 0xF0, 0x78, 0x00, 0xF8, 0x3C, 0x00, 0x78, 0x1E, - 0x00, 0x3C, 0x0F, 0x00, 0x3E, 0x07, 0xC0, 0x3E, 0x03, 0xF0, 0x7E, 0x00, - 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x01, 0xE0, 0x00, 0x0F, 0xC0, 0x78, 0x00, 0x07, 0xC0, 0x1E, 0x00, - 0x03, 0xE0, 0x0F, 0x80, 0x03, 0xF0, 0x03, 0xE0, 0x01, 0xF8, 0x00, 0xF0, - 0x00, 0xFC, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x07, - 0xC0, 0x3F, 0x00, 0x01, 0xE0, 0x1F, 0x80, 0x00, 0x78, 0x0F, 0x80, 0x00, - 0x1E, 0x07, 0xC0, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x03, 0xE3, 0xF0, 0x00, - 0x00, 0xF1, 0xFC, 0x00, 0x00, 0x3C, 0xFF, 0x00, 0x00, 0x0F, 0x7F, 0xE0, - 0x00, 0x07, 0xFE, 0xF8, 0x00, 0x01, 0xFE, 0x1E, 0x00, 0x00, 0x7F, 0x07, - 0xC0, 0x00, 0x1F, 0x80, 0xF0, 0x00, 0x0F, 0xC0, 0x3E, 0x00, 0x03, 0xE0, - 0x07, 0x80, 0x00, 0xF0, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x0F, - 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x78, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x07, 0x80, 0x00, 0xF8, - 0x03, 0xE0, 0x00, 0x1F, 0x00, 0xF0, 0x00, 0x07, 0xC0, 0x3C, 0x00, 0x00, - 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0xF8, - 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x01, 0xF0, 0x00, - 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x0F, - 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, - 0x00, 0x7C, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, - 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, - 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, - 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xE0, - 0x01, 0xF8, 0x00, 0x00, 0x7E, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x0F, 0xF0, - 0x00, 0x03, 0xF8, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x3F, 0xC0, 0x00, 0x1F, - 0xC0, 0x7F, 0x80, 0x00, 0x7F, 0x80, 0xFF, 0x00, 0x00, 0xEF, 0x03, 0xFE, - 0x00, 0x03, 0xFE, 0x07, 0xBC, 0x00, 0x0F, 0x78, 0x0F, 0x3C, 0x00, 0x1E, - 0xF0, 0x1E, 0x78, 0x00, 0x79, 0xE0, 0x3C, 0xF0, 0x00, 0xF3, 0xC0, 0xF9, - 0xE0, 0x03, 0xCF, 0x81, 0xE3, 0xC0, 0x07, 0x9E, 0x03, 0xC7, 0x80, 0x1E, - 0x3C, 0x07, 0x8F, 0x00, 0x38, 0x78, 0x1F, 0x1E, 0x00, 0xF0, 0xF0, 0x3C, - 0x1E, 0x03, 0xC3, 0xE0, 0x78, 0x3C, 0x07, 0x87, 0x80, 0xF0, 0x78, 0x1E, - 0x0F, 0x01, 0xE0, 0xF0, 0x3C, 0x1E, 0x07, 0xC1, 0xE0, 0xF0, 0x7C, 0x0F, - 0x03, 0xC1, 0xE0, 0xF0, 0x1E, 0x07, 0x87, 0x81, 0xE0, 0x3C, 0x0F, 0x0E, - 0x03, 0xC0, 0x78, 0x0F, 0x3C, 0x07, 0x81, 0xF0, 0x1E, 0x70, 0x1F, 0x03, - 0xC0, 0x3D, 0xE0, 0x3C, 0x07, 0x80, 0x7F, 0x80, 0x78, 0x0F, 0x00, 0xFF, - 0x00, 0xF0, 0x3E, 0x01, 0xFC, 0x01, 0xE0, 0x78, 0x03, 0xF8, 0x07, 0xC0, - 0xF0, 0x07, 0xE0, 0x0F, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x01, 0xF0, - 0x00, 0x03, 0xC0, 0x7E, 0x00, 0x01, 0xF0, 0x3F, 0x80, 0x00, 0x78, 0x0F, - 0xE0, 0x00, 0x1E, 0x03, 0xFC, 0x00, 0x07, 0x80, 0xFF, 0x00, 0x03, 0xE0, - 0x3F, 0xE0, 0x00, 0xF0, 0x1F, 0xF8, 0x00, 0x3C, 0x07, 0x9E, 0x00, 0x0F, - 0x01, 0xE7, 0xC0, 0x03, 0xC0, 0x78, 0xF0, 0x01, 0xF0, 0x1E, 0x3E, 0x00, - 0x78, 0x0F, 0x87, 0x80, 0x1E, 0x03, 0xC1, 0xF0, 0x07, 0x80, 0xF0, 0x7C, - 0x01, 0xE0, 0x3C, 0x0F, 0x00, 0xF8, 0x1F, 0x03, 0xE0, 0x3C, 0x07, 0x80, - 0x78, 0x0F, 0x01, 0xE0, 0x1F, 0x03, 0xC0, 0x78, 0x07, 0xC1, 0xF0, 0x1E, - 0x00, 0xF8, 0x78, 0x0F, 0x80, 0x3E, 0x1E, 0x03, 0xC0, 0x07, 0x87, 0x80, - 0xF0, 0x01, 0xF1, 0xE0, 0x3C, 0x00, 0x3C, 0xF8, 0x0F, 0x00, 0x0F, 0xBC, - 0x07, 0xC0, 0x03, 0xEF, 0x01, 0xE0, 0x00, 0x7F, 0xC0, 0x78, 0x00, 0x1F, - 0xF0, 0x1E, 0x00, 0x03, 0xFC, 0x0F, 0x80, 0x00, 0xFE, 0x03, 0xC0, 0x00, - 0x1F, 0x80, 0xF0, 0x00, 0x07, 0xE0, 0x3C, 0x00, 0x01, 0xF8, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x00, - 0x0F, 0xFF, 0xFF, 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, - 0x0F, 0x80, 0x00, 0xFC, 0x0F, 0x80, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x0F, - 0x07, 0x80, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x01, 0xE3, 0xC0, 0x00, 0x00, - 0xF3, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3D, 0xE0, 0x00, 0x00, - 0x1E, 0xF0, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, - 0x07, 0xFC, 0x00, 0x00, 0x03, 0xDE, 0x00, 0x00, 0x01, 0xEF, 0x00, 0x00, - 0x00, 0xF7, 0x80, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, - 0x00, 0x3C, 0xF0, 0x00, 0x00, 0x3E, 0x78, 0x00, 0x00, 0x1E, 0x3E, 0x00, - 0x00, 0x1F, 0x0F, 0x00, 0x00, 0x1F, 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xF0, - 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x3F, 0x80, 0x3F, 0x80, 0x7F, 0x80, 0x1F, - 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, - 0x0F, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x00, - 0x7F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xE0, 0x3E, 0x00, 0x3F, 0x81, 0xE0, - 0x00, 0x7C, 0x0F, 0x00, 0x01, 0xE0, 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, - 0x78, 0x3C, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, 0x00, 0x01, 0xE0, - 0xF8, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0xF8, 0x3C, 0x00, 0x0F, 0x81, 0xE0, - 0x01, 0xF8, 0x0F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, - 0x80, 0x3F, 0xFF, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x80, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xFF, - 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, 0x0F, 0xC0, 0x00, - 0xFC, 0x0F, 0x80, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x0F, 0x07, 0x80, 0x00, - 0x07, 0xC7, 0xC0, 0x00, 0x01, 0xE3, 0xC0, 0x00, 0x00, 0xF3, 0xC0, 0x00, - 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3D, 0xE0, 0x00, 0x00, 0x1E, 0xF0, 0x00, - 0x00, 0x0F, 0x78, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0x03, 0xDE, 0x00, 0x00, 0x01, 0xEF, 0x00, 0x00, 0x00, 0xF7, 0x80, - 0x00, 0x00, 0x7B, 0xC0, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0x3C, 0xF0, - 0x00, 0x00, 0x3C, 0x78, 0x00, 0x08, 0x3E, 0x3E, 0x00, 0x0E, 0x1E, 0x0F, - 0x00, 0x0F, 0x9F, 0x07, 0xC0, 0x07, 0xFF, 0x03, 0xF0, 0x01, 0xFF, 0x00, - 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xE0, - 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x7E, 0x00, 0x0F, 0xF0, 0x1F, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, - 0xC0, 0x07, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, - 0x03, 0xE0, 0x00, 0xFC, 0x0F, 0x00, 0x01, 0xF0, 0x3C, 0x00, 0x03, 0xC1, - 0xF0, 0x00, 0x0F, 0x07, 0xC0, 0x00, 0x3C, 0x1E, 0x00, 0x00, 0xF0, 0x78, - 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x00, 0x78, 0x3E, 0x00, - 0x03, 0xE0, 0xF0, 0x00, 0x1F, 0x03, 0xC0, 0x01, 0xF8, 0x0F, 0xFF, 0xFF, - 0xC0, 0x7F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xF0, - 0x1E, 0x00, 0x07, 0xE0, 0xF8, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x1E, 0x0F, - 0x00, 0x00, 0x78, 0x3C, 0x00, 0x01, 0xE0, 0xF0, 0x00, 0x07, 0x87, 0xC0, - 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x03, 0xC1, 0xE0, 0x00, - 0x0F, 0x07, 0x80, 0x00, 0x3C, 0x3E, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x03, - 0xC3, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xFC, - 0x00, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x1F, 0xC0, 0x7F, 0x01, - 0xF0, 0x00, 0xFC, 0x0F, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x0F, 0x07, 0x00, - 0x00, 0x78, 0x78, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0x1E, 0x1E, 0x00, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, - 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, - 0xFF, 0xC0, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, - 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x3C, 0xF0, 0x00, 0x01, 0xE7, - 0x80, 0x00, 0x0F, 0x3C, 0x00, 0x00, 0x71, 0xE0, 0x00, 0x07, 0x8F, 0x00, - 0x00, 0x3C, 0x7C, 0x00, 0x03, 0xC1, 0xF0, 0x00, 0x7C, 0x0F, 0xE0, 0x1F, - 0xC0, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xF8, 0x00, - 0x03, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x7F, - 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFE, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x01, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, - 0x00, 0x78, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, - 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0x0F, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x0F, 0x00, 0x00, 0x3C, 0x1E, - 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x03, 0xC1, 0xE0, - 0x00, 0x07, 0x83, 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x1F, 0x00, - 0x00, 0x7C, 0x3C, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x01, 0xE0, 0xF0, 0x00, - 0x03, 0xC3, 0xE0, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x1F, 0x0F, 0x00, 0x00, - 0x3C, 0x1E, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x03, - 0xE1, 0xF0, 0x00, 0x07, 0x83, 0xC0, 0x00, 0x0F, 0x07, 0x80, 0x00, 0x1E, - 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF8, 0x78, 0x00, 0x01, 0xE0, - 0xF0, 0x00, 0x03, 0xC1, 0xE0, 0x00, 0x0F, 0x83, 0xC0, 0x00, 0x1E, 0x07, - 0x80, 0x00, 0x7C, 0x0F, 0x80, 0x01, 0xF0, 0x0F, 0x80, 0x07, 0xE0, 0x1F, - 0xC0, 0x7F, 0x80, 0x1F, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x1F, - 0xFF, 0xC0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFF, 0xC0, - 0x00, 0x0F, 0xBE, 0x00, 0x00, 0x79, 0xF0, 0x00, 0x07, 0xC7, 0x80, 0x00, - 0x3C, 0x3C, 0x00, 0x03, 0xE1, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x01, 0xF0, - 0x7C, 0x00, 0x0F, 0x03, 0xE0, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x80, 0x78, - 0x00, 0x78, 0x03, 0xC0, 0x07, 0xC0, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x03, - 0xE0, 0x07, 0xC0, 0x1E, 0x00, 0x3E, 0x01, 0xF0, 0x01, 0xF0, 0x0F, 0x00, - 0x07, 0x80, 0xF0, 0x00, 0x3C, 0x07, 0x80, 0x01, 0xE0, 0x78, 0x00, 0x0F, - 0x07, 0xC0, 0x00, 0x7C, 0x3C, 0x00, 0x03, 0xE3, 0xE0, 0x00, 0x1F, 0x1E, - 0x00, 0x00, 0xF9, 0xF0, 0x00, 0x03, 0xCF, 0x00, 0x00, 0x1E, 0xF0, 0x00, - 0x00, 0xF7, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF0, - 0x00, 0x1F, 0x00, 0x03, 0xDE, 0x00, 0x07, 0xE0, 0x00, 0xFB, 0xC0, 0x00, - 0xFC, 0x00, 0x1E, 0x78, 0x00, 0x3F, 0x80, 0x07, 0xCF, 0x00, 0x07, 0xF0, - 0x00, 0xF9, 0xE0, 0x01, 0xFE, 0x00, 0x3E, 0x3C, 0x00, 0x7F, 0xC0, 0x07, - 0xC7, 0x80, 0x0F, 0x78, 0x01, 0xF0, 0xF0, 0x03, 0xEF, 0x00, 0x3E, 0x1E, - 0x00, 0x79, 0xE0, 0x0F, 0x83, 0xC0, 0x1F, 0x3C, 0x01, 0xF0, 0x78, 0x03, - 0xC7, 0x80, 0x3C, 0x0F, 0x00, 0xF8, 0xF0, 0x0F, 0x80, 0xE0, 0x1E, 0x1E, - 0x01, 0xE0, 0x1C, 0x07, 0xC1, 0xC0, 0x7C, 0x03, 0x80, 0xF0, 0x3C, 0x0F, - 0x00, 0x70, 0x3E, 0x07, 0x83, 0xE0, 0x0E, 0x07, 0x80, 0xF0, 0x78, 0x01, - 0xC1, 0xF0, 0x1E, 0x1F, 0x00, 0x3C, 0x3C, 0x03, 0xC3, 0xE0, 0x07, 0x8F, - 0x80, 0x78, 0x78, 0x00, 0xF1, 0xE0, 0x0F, 0x1F, 0x00, 0x1E, 0x7C, 0x01, - 0xE3, 0xC0, 0x03, 0xCF, 0x00, 0x3C, 0xF8, 0x00, 0x7B, 0xE0, 0x07, 0x9E, - 0x00, 0x0F, 0x78, 0x00, 0xF7, 0xC0, 0x01, 0xFF, 0x00, 0x1E, 0xF0, 0x00, - 0x3F, 0xC0, 0x03, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0x80, 0x00, 0xFE, - 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, - 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7C, - 0x00, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x07, 0xC0, 0x00, 0x3E, 0x00, - 0x7C, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, - 0x00, 0x01, 0xF0, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x7C, 0x00, 0x00, 0xF8, - 0x0F, 0x80, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x00, 0x7C, 0x1F, 0x00, 0x00, - 0x07, 0xC3, 0xE0, 0x00, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x03, 0xEF, 0x80, - 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, - 0x03, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x0F, 0xBE, 0x00, - 0x00, 0x01, 0xF3, 0xE0, 0x00, 0x00, 0x3E, 0x1F, 0x00, 0x00, 0x03, 0xE1, - 0xF0, 0x00, 0x00, 0x7C, 0x0F, 0x80, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x01, - 0xF0, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x03, 0xE0, - 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x03, 0xF0, 0x00, - 0x1F, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x0F, 0xC0, 0x00, 0x0F, 0x80, 0xF8, - 0x00, 0x00, 0x7D, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x1F, 0x1F, 0x80, - 0x00, 0xF8, 0x3E, 0x00, 0x03, 0xE0, 0xF8, 0x00, 0x1F, 0x01, 0xF0, 0x00, - 0xF8, 0x07, 0xC0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x3E, 0x01, 0xF0, - 0x00, 0xF8, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x07, 0xC1, 0xF0, 0x00, - 0x0F, 0x0F, 0x80, 0x00, 0x3E, 0x7C, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x01, - 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x3F, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, - 0x07, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, - 0x1F, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFE, - 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, - 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0x03, 0xE0, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0x7F, - 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, - 0xF0, 0x07, 0xFC, 0x01, 0xFE, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, - 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, - 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, - 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, - 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, - 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x0F, 0x00, - 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, - 0xE0, 0x00, 0x7F, 0xC0, 0x3F, 0xE0, 0x0F, 0xF8, 0x03, 0xFE, 0x00, 0xE3, - 0x8E, 0x38, 0xE1, 0x86, 0x18, 0x61, 0x87, 0x1C, 0x71, 0xC7, 0x0C, 0x30, - 0xC3, 0x0C, 0x38, 0xE3, 0x8E, 0x38, 0x61, 0x86, 0x18, 0x61, 0xC7, 0x1C, - 0x71, 0xC0, 0x00, 0x7F, 0xC0, 0x1F, 0xF0, 0x07, 0xFC, 0x03, 0xFE, 0x00, - 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, - 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, - 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, - 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, - 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, - 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x03, - 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x7F, 0x80, 0x3F, 0xE0, - 0x0F, 0xF8, 0x03, 0xFE, 0x00, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x1F, 0x00, - 0x1F, 0xC0, 0x0E, 0xE0, 0x0E, 0x70, 0x0F, 0x38, 0x07, 0x1C, 0x07, 0x0E, - 0x03, 0x83, 0x83, 0x81, 0xC3, 0xC0, 0xE1, 0xC0, 0x71, 0xC0, 0x39, 0xE0, - 0x0E, 0xE0, 0x07, 0xF0, 0x03, 0xF0, 0x01, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xC0, 0xF8, 0x78, 0x3C, 0x1C, 0x0E, 0x0E, 0x07, 0x00, - 0x1F, 0xE0, 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x7E, - 0x07, 0xE1, 0xF0, 0x07, 0xC3, 0xC0, 0x07, 0x80, 0x00, 0x0F, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x07, 0xE0, 0x0F, 0xFF, - 0xC0, 0xFF, 0xFF, 0x07, 0xFF, 0x9E, 0x1F, 0xC0, 0x3C, 0x7C, 0x00, 0x78, - 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xC7, 0x80, 0x07, 0x8F, 0x00, 0x1F, 0x1E, - 0x00, 0x7E, 0x3F, 0x07, 0xFC, 0x3F, 0xFF, 0x7E, 0x7F, 0xFC, 0xFC, 0x7F, - 0xF0, 0xF8, 0x3F, 0x00, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x83, 0xE0, 0x03, 0xC7, 0xFC, - 0x01, 0xEF, 0xFF, 0x00, 0xFF, 0xFF, 0xC0, 0xF7, 0x83, 0xF0, 0x7F, 0x00, - 0xF8, 0x3F, 0x00, 0x3E, 0x1F, 0x00, 0x0F, 0x1F, 0x80, 0x07, 0x8F, 0x80, - 0x03, 0xC7, 0x80, 0x01, 0xE3, 0xC0, 0x00, 0xF1, 0xE0, 0x00, 0x79, 0xF0, - 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0x78, 0x00, 0x1E, 0x3C, 0x00, 0x0F, 0x1E, - 0x00, 0x0F, 0x9F, 0x00, 0x07, 0x8F, 0xC0, 0x07, 0xC7, 0xE0, 0x07, 0xC3, - 0xF8, 0x07, 0xC1, 0xFE, 0x0F, 0xC1, 0xEF, 0xFF, 0xE0, 0xF3, 0xFF, 0xC0, - 0x78, 0xFF, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x03, 0xFF, - 0x80, 0x3F, 0xFF, 0x01, 0xFF, 0xFE, 0x0F, 0xE0, 0xF8, 0x7E, 0x01, 0xF1, - 0xF0, 0x03, 0xCF, 0x80, 0x0F, 0x3C, 0x00, 0x3D, 0xF0, 0x00, 0x07, 0x80, - 0x00, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x0F, 0x3C, - 0x00, 0x3C, 0xF8, 0x01, 0xE1, 0xF0, 0x0F, 0x87, 0xE0, 0xFC, 0x0F, 0xFF, - 0xE0, 0x3F, 0xFF, 0x00, 0x7F, 0xF8, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, - 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, - 0x3C, 0x00, 0x3F, 0x07, 0x80, 0x1F, 0xF8, 0xF0, 0x0F, 0xFF, 0x3E, 0x03, - 0xFF, 0xF7, 0x80, 0xFC, 0x1F, 0xF0, 0x3F, 0x00, 0xFE, 0x07, 0xC0, 0x0F, - 0xC1, 0xF0, 0x01, 0xF0, 0x3C, 0x00, 0x3E, 0x0F, 0x80, 0x07, 0xC1, 0xE0, - 0x00, 0x78, 0x3C, 0x00, 0x1F, 0x0F, 0x80, 0x03, 0xC1, 0xE0, 0x00, 0x78, - 0x3C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xE0, 0xF0, 0x00, 0x7C, 0x1E, 0x00, - 0x0F, 0x03, 0xC0, 0x03, 0xE0, 0x78, 0x00, 0x7C, 0x0F, 0x80, 0x1F, 0x80, - 0xF8, 0x07, 0xF0, 0x1F, 0x83, 0xFC, 0x03, 0xFF, 0xFF, 0x80, 0x3F, 0xFE, - 0xF0, 0x03, 0xFF, 0x1E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x80, - 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0xFE, 0x0F, 0xC1, - 0xF0, 0x07, 0xC7, 0xC0, 0x0F, 0x8F, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, - 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xBF, 0xFF, 0xFF, 0x78, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xC0, 0x00, 0x07, 0x80, 0x03, 0xCF, 0x80, 0x0F, 0x0F, 0x80, 0x3E, - 0x1F, 0x81, 0xF8, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0x80, 0x1F, 0xFC, 0x00, - 0x0F, 0xE0, 0x00, 0x00, 0x3E, 0x01, 0xFC, 0x07, 0xF8, 0x0F, 0xE0, 0x3E, - 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x7F, 0xF0, 0xFF, 0xE3, - 0xFF, 0xC0, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x3E, - 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x80, 0x1E, 0x00, - 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, - 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x07, - 0xFE, 0x3C, 0x01, 0xFF, 0xE7, 0x00, 0xFF, 0xFE, 0xE0, 0x1F, 0x83, 0xFC, - 0x07, 0xC0, 0x3F, 0x81, 0xF0, 0x03, 0xF0, 0x3C, 0x00, 0x7C, 0x0F, 0x00, - 0x0F, 0x81, 0xE0, 0x01, 0xF0, 0x78, 0x00, 0x3E, 0x0F, 0x00, 0x07, 0xC1, - 0xE0, 0x00, 0xF0, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xE0, 0x00, - 0xF8, 0x3C, 0x00, 0x1F, 0x07, 0x80, 0x03, 0xC0, 0xF0, 0x00, 0xF8, 0x1E, - 0x00, 0x3F, 0x03, 0xE0, 0x07, 0xE0, 0x3E, 0x01, 0xF8, 0x07, 0xE0, 0xFF, - 0x00, 0x7F, 0xFD, 0xE0, 0x0F, 0xFF, 0x3C, 0x00, 0xFF, 0xCF, 0x00, 0x07, - 0xE1, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x01, 0xE0, 0x03, 0xE0, - 0x3C, 0x00, 0xF8, 0x07, 0xE0, 0x7F, 0x00, 0x7F, 0xFF, 0xC0, 0x0F, 0xFF, - 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x78, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x83, 0xF0, 0x0F, - 0x1F, 0xF0, 0x1E, 0xFF, 0xF0, 0x3F, 0xFF, 0xE0, 0xFF, 0x87, 0xE1, 0xFC, - 0x07, 0xC3, 0xF0, 0x07, 0x87, 0xC0, 0x0F, 0x1F, 0x00, 0x1E, 0x3E, 0x00, - 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x01, 0xE1, 0xE0, 0x03, 0xC7, 0xC0, 0x07, - 0x8F, 0x00, 0x0F, 0x1E, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0x78, 0x00, 0xF1, - 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x0F, 0x8F, 0x00, 0x1E, 0x1E, - 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x01, - 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, 0xC0, - 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, - 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x00, 0x00, 0x07, - 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, - 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, - 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, - 0x07, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, - 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, - 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, - 0x78, 0x00, 0x3E, 0x00, 0x7F, 0x80, 0x3F, 0xC0, 0x0F, 0xE0, 0x03, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0xC0, 0x0F, 0x81, 0xE0, 0x0F, 0x80, - 0xF0, 0x0F, 0x80, 0xF0, 0x1F, 0x00, 0x78, 0x1F, 0x00, 0x3C, 0x1F, 0x00, - 0x1E, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x0F, 0x1E, 0x00, 0x07, 0xBF, 0x80, - 0x03, 0xFF, 0xC0, 0x01, 0xFD, 0xE0, 0x01, 0xFC, 0xF8, 0x00, 0xFC, 0x3C, - 0x00, 0x7C, 0x1F, 0x00, 0x3C, 0x07, 0x80, 0x1E, 0x03, 0xC0, 0x1F, 0x01, - 0xF0, 0x0F, 0x00, 0x78, 0x07, 0x80, 0x3E, 0x03, 0xC0, 0x0F, 0x01, 0xE0, - 0x07, 0x81, 0xE0, 0x03, 0xE0, 0xF0, 0x00, 0xF0, 0x78, 0x00, 0x7C, 0x00, - 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x3C, 0x07, - 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, - 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, - 0xF0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0xF0, 0x1E, 0x00, 0x00, - 0x07, 0xE0, 0x1F, 0x80, 0xF9, 0xFF, 0x07, 0xFC, 0x0F, 0x3F, 0xF8, 0xFF, - 0xE0, 0xF7, 0xFF, 0x9F, 0xFF, 0x0F, 0xF0, 0xFF, 0xC3, 0xF0, 0xFC, 0x07, - 0xF8, 0x1F, 0x1F, 0x80, 0x3F, 0x00, 0xF1, 0xF0, 0x03, 0xE0, 0x0F, 0x1E, - 0x00, 0x3C, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x0F, 0x1E, 0x00, 0x3C, 0x00, - 0xF1, 0xE0, 0x07, 0x80, 0x0F, 0x3C, 0x00, 0x78, 0x01, 0xF3, 0xC0, 0x07, - 0x80, 0x1E, 0x3C, 0x00, 0x78, 0x01, 0xE3, 0xC0, 0x0F, 0x80, 0x1E, 0x3C, - 0x00, 0xF0, 0x01, 0xE7, 0xC0, 0x0F, 0x00, 0x3C, 0x78, 0x00, 0xF0, 0x03, - 0xC7, 0x80, 0x0F, 0x00, 0x3C, 0x78, 0x01, 0xE0, 0x03, 0xC7, 0x80, 0x1E, - 0x00, 0x3C, 0xF8, 0x01, 0xE0, 0x07, 0x8F, 0x00, 0x1E, 0x00, 0x78, 0xF0, - 0x01, 0xE0, 0x07, 0x8F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x07, 0xE0, 0x1F, - 0x3F, 0xF0, 0x3C, 0xFF, 0xF0, 0x7B, 0xFF, 0xE0, 0xFF, 0x07, 0xE1, 0xF8, - 0x07, 0xC7, 0xE0, 0x07, 0x8F, 0x80, 0x0F, 0x1F, 0x00, 0x1E, 0x3C, 0x00, - 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x07, - 0x8F, 0x00, 0x0F, 0x1E, 0x00, 0x3E, 0x3C, 0x00, 0x78, 0xF0, 0x00, 0xF1, - 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x0F, 0x8F, 0x00, 0x1E, 0x3E, - 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC0, 0x00, - 0x1F, 0x80, 0x01, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xC0, 0xFE, - 0x0F, 0xC1, 0xF0, 0x0F, 0x87, 0xC0, 0x0F, 0x8F, 0x00, 0x0F, 0x3C, 0x00, - 0x1E, 0x78, 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xC0, 0x00, 0xF7, 0x80, 0x01, - 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0x78, 0x00, 0x1E, 0xF0, 0x00, 0x3D, - 0xE0, 0x00, 0xF3, 0xC0, 0x01, 0xE7, 0x80, 0x07, 0x8F, 0x80, 0x1F, 0x0F, - 0x80, 0x7C, 0x1F, 0x83, 0xF8, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x00, 0x1F, - 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x3C, 0x7F, 0xE0, - 0x07, 0xBF, 0xFE, 0x01, 0xFF, 0xFF, 0xC0, 0x3D, 0xE0, 0xFC, 0x07, 0xF0, - 0x0F, 0x80, 0xFC, 0x00, 0xF8, 0x1F, 0x00, 0x0F, 0x07, 0xC0, 0x01, 0xE0, - 0xF8, 0x00, 0x3C, 0x1F, 0x00, 0x07, 0x83, 0xC0, 0x00, 0xF0, 0x78, 0x00, - 0x1E, 0x1F, 0x00, 0x03, 0xC3, 0xC0, 0x00, 0xF0, 0x78, 0x00, 0x1E, 0x0F, - 0x00, 0x03, 0xC3, 0xE0, 0x00, 0xF8, 0x7C, 0x00, 0x1E, 0x0F, 0x80, 0x07, - 0xC1, 0xF8, 0x01, 0xF0, 0x3F, 0x80, 0x7C, 0x0F, 0xF8, 0x3F, 0x81, 0xEF, - 0xFF, 0xE0, 0x3C, 0xFF, 0xF8, 0x07, 0x8F, 0xFC, 0x00, 0xF0, 0xFE, 0x00, - 0x3E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x03, - 0xC0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x3F, - 0xF8, 0xF0, 0x1F, 0xFF, 0x3C, 0x0F, 0xFF, 0xDF, 0x07, 0xE0, 0xFF, 0x83, - 0xE0, 0x1F, 0xE1, 0xF0, 0x03, 0xF8, 0x78, 0x00, 0xFE, 0x3C, 0x00, 0x1F, - 0x8F, 0x00, 0x07, 0xC7, 0x80, 0x01, 0xF1, 0xE0, 0x00, 0x7C, 0x78, 0x00, - 0x1F, 0x3C, 0x00, 0x0F, 0x8F, 0x00, 0x03, 0xE3, 0xC0, 0x00, 0xF8, 0xF0, - 0x00, 0x3E, 0x3C, 0x00, 0x1F, 0x8F, 0x00, 0x0F, 0xC3, 0xC0, 0x03, 0xF0, - 0xF8, 0x01, 0xFC, 0x1F, 0x00, 0xFF, 0x07, 0xE0, 0xFF, 0xC0, 0xFF, 0xFD, - 0xE0, 0x1F, 0xFE, 0x78, 0x03, 0xFF, 0x3E, 0x00, 0x3F, 0x0F, 0x80, 0x00, - 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x07, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x87, 0xCF, 0xC3, 0xCF, 0xE1, 0xEF, - 0xE0, 0xFF, 0x80, 0x7F, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, - 0x00, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, - 0x78, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, - 0x03, 0xC0, 0x03, 0xE0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x00, - 0x00, 0x3F, 0x80, 0x07, 0xFF, 0x00, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0xFC, - 0x1F, 0x87, 0x80, 0x3C, 0x7C, 0x01, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, 0x00, - 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xFF, - 0xC0, 0x07, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xBC, - 0x00, 0x3D, 0xE0, 0x01, 0xEF, 0x00, 0x1F, 0x7C, 0x01, 0xF3, 0xF0, 0x1F, - 0x8F, 0xFF, 0xF8, 0x7F, 0xFF, 0x80, 0xFF, 0xF0, 0x01, 0xFE, 0x00, 0x03, - 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC1, 0xFF, 0xEF, 0xFF, - 0x7F, 0xF0, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, - 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, - 0x0F, 0x00, 0x78, 0x07, 0xC0, 0x3C, 0x01, 0xE0, 0x0F, 0xF0, 0x7F, 0x81, - 0xF8, 0x07, 0xC0, 0x0F, 0x00, 0x0F, 0x0F, 0x00, 0x1E, 0x0F, 0x00, 0x1E, - 0x1F, 0x00, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x3C, - 0x1E, 0x00, 0x3C, 0x3E, 0x00, 0x3C, 0x3C, 0x00, 0x3C, 0x3C, 0x00, 0x3C, - 0x3C, 0x00, 0x7C, 0x3C, 0x00, 0x78, 0x78, 0x00, 0x78, 0x78, 0x00, 0x78, - 0x78, 0x00, 0x78, 0x78, 0x00, 0xF8, 0x78, 0x00, 0xF0, 0xF0, 0x01, 0xF0, - 0xF0, 0x03, 0xF0, 0xF0, 0x07, 0xF0, 0xF8, 0x1F, 0xF0, 0xFF, 0xFF, 0xE0, - 0x7F, 0xFD, 0xE0, 0x3F, 0xF1, 0xE0, 0x1F, 0xC0, 0x00, 0xF0, 0x00, 0x7F, - 0xC0, 0x01, 0xEF, 0x00, 0x0F, 0xBC, 0x00, 0x3C, 0x78, 0x01, 0xE1, 0xE0, - 0x07, 0x87, 0x80, 0x3C, 0x1E, 0x01, 0xF0, 0x78, 0x07, 0x81, 0xE0, 0x3E, - 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x80, 0x38, 0x1E, 0x00, 0xF0, 0xF0, 0x03, - 0xC7, 0xC0, 0x0F, 0x1E, 0x00, 0x3C, 0xF0, 0x00, 0xF3, 0xC0, 0x03, 0xDE, - 0x00, 0x07, 0x78, 0x00, 0x1F, 0xC0, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x00, - 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x07, 0xC0, 0x0F, 0x78, 0x03, - 0xE0, 0x0F, 0xBC, 0x03, 0xF0, 0x07, 0x9E, 0x01, 0xF8, 0x03, 0xCF, 0x00, - 0xFC, 0x03, 0xC7, 0x80, 0xFE, 0x01, 0xE3, 0xC0, 0x77, 0x01, 0xE0, 0xE0, - 0x7B, 0x80, 0xF0, 0x70, 0x39, 0xC0, 0xF0, 0x38, 0x3C, 0xE0, 0x78, 0x1C, - 0x1E, 0x78, 0x78, 0x0F, 0x1E, 0x3C, 0x3C, 0x07, 0x8F, 0x1E, 0x3C, 0x03, - 0xC7, 0x0F, 0x1E, 0x01, 0xE7, 0x87, 0x9E, 0x00, 0xF3, 0x81, 0xCF, 0x00, - 0x7B, 0xC0, 0xEF, 0x00, 0x3D, 0xC0, 0x77, 0x80, 0x1F, 0xE0, 0x3F, 0x80, - 0x0F, 0xF0, 0x1F, 0xC0, 0x07, 0xF0, 0x0F, 0xC0, 0x01, 0xF8, 0x07, 0xE0, - 0x00, 0xF8, 0x03, 0xE0, 0x00, 0x7C, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0xF0, - 0x00, 0x00, 0x03, 0xC0, 0x07, 0xC0, 0xF8, 0x01, 0xE0, 0x1E, 0x00, 0xF0, - 0x07, 0x80, 0x78, 0x00, 0xF0, 0x3C, 0x00, 0x3C, 0x1F, 0x00, 0x0F, 0x8F, - 0x80, 0x01, 0xE7, 0xC0, 0x00, 0x7D, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x03, - 0xF8, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0xC0, 0x00, - 0x07, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xF7, 0x80, 0x00, 0xF9, 0xF0, - 0x00, 0x3C, 0x3C, 0x00, 0x1E, 0x0F, 0x80, 0x0F, 0x01, 0xE0, 0x07, 0x80, - 0x7C, 0x03, 0xE0, 0x0F, 0x01, 0xF0, 0x03, 0xE0, 0xF8, 0x00, 0x78, 0x00, - 0x03, 0xC0, 0x01, 0xE0, 0x78, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x01, 0xE0, - 0x03, 0xC0, 0x3C, 0x00, 0x78, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x07, 0xC0, - 0x0F, 0x00, 0xF0, 0x01, 0xE0, 0x3C, 0x00, 0x3C, 0x07, 0x80, 0x07, 0x81, - 0xE0, 0x00, 0xF0, 0x3C, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xC0, 0x00, - 0x3C, 0x78, 0x00, 0x07, 0x9E, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x1E, 0xF0, - 0x00, 0x03, 0xDE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, - 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x01, - 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xE0, - 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, - 0x00, 0x01, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x01, 0xE0, - 0x00, 0x01, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, - 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xE0, - 0x00, 0x03, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xE0, 0xFF, - 0xFF, 0xF0, 0x7F, 0xFF, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x7E, 0x00, 0xFE, - 0x00, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80, - 0x07, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF8, 0x00, - 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, - 0x38, 0x00, 0x38, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x00, 0x78, 0x00, - 0x78, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xE0, 0x00, - 0xE0, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x7C, 0x00, 0x00, 0x70, - 0x07, 0x00, 0x60, 0x06, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0xC0, - 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x00, - 0x30, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0E, 0x00, - 0xE0, 0x0C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0x80, 0x38, 0x03, - 0x80, 0x38, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, - 0x00, 0xE0, 0x06, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x0F, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, - 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x1C, - 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, - 0x00, 0x07, 0x00, 0x1F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xF0, - 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xE0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80, - 0x0F, 0x00, 0x7F, 0x00, 0x7E, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x01, 0xFE, - 0x00, 0xCF, 0xFC, 0x0E, 0xE3, 0xF0, 0xE6, 0x07, 0xFF, 0x60, 0x0F, 0xF0, - 0x00, 0x1E, 0x00 }; - -const GFXglyph FreeSansOblique24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 13, 0, 1 }, // 0x20 ' ' - { 0, 11, 34, 13, 6, -33 }, // 0x21 '!' - { 47, 13, 12, 17, 8, -32 }, // 0x22 '"' - { 67, 28, 34, 26, 3, -32 }, // 0x23 '#' - { 186, 26, 42, 26, 3, -35 }, // 0x24 '$' - { 323, 36, 34, 42, 6, -32 }, // 0x25 '%' - { 476, 26, 34, 31, 4, -32 }, // 0x26 '&' - { 587, 5, 12, 9, 8, -32 }, // 0x27 ''' - { 595, 15, 44, 16, 5, -33 }, // 0x28 '(' - { 678, 15, 44, 16, 1, -33 }, // 0x29 ')' - { 761, 14, 13, 18, 8, -33 }, // 0x2A '*' - { 784, 23, 22, 27, 5, -20 }, // 0x2B '+' - { 848, 7, 12, 13, 3, -4 }, // 0x2C ',' - { 859, 12, 4, 16, 5, -14 }, // 0x2D '-' - { 865, 6, 5, 13, 4, -4 }, // 0x2E '.' - { 869, 21, 35, 13, -1, -33 }, // 0x2F '/' - { 961, 23, 34, 26, 5, -32 }, // 0x30 '0' - { 1059, 13, 33, 26, 10, -32 }, // 0x31 '1' - { 1113, 27, 33, 26, 2, -32 }, // 0x32 '2' - { 1225, 25, 34, 26, 3, -32 }, // 0x33 '3' - { 1332, 24, 33, 26, 3, -32 }, // 0x34 '4' - { 1431, 27, 34, 26, 3, -32 }, // 0x35 '5' - { 1546, 24, 34, 26, 4, -32 }, // 0x36 '6' - { 1648, 26, 33, 26, 6, -32 }, // 0x37 '7' - { 1756, 25, 34, 26, 3, -32 }, // 0x38 '8' - { 1863, 24, 34, 26, 4, -32 }, // 0x39 '9' - { 1965, 10, 25, 13, 5, -24 }, // 0x3A ':' - { 1997, 11, 32, 13, 4, -24 }, // 0x3B ';' - { 2041, 26, 23, 27, 4, -22 }, // 0x3C '<' - { 2116, 26, 12, 27, 3, -16 }, // 0x3D '=' - { 2155, 26, 23, 27, 2, -21 }, // 0x3E '>' - { 2230, 20, 35, 26, 9, -34 }, // 0x3F '?' - { 2318, 45, 42, 48, 4, -34 }, // 0x40 '@' - { 2555, 30, 34, 31, 1, -33 }, // 0x41 'A' - { 2683, 29, 34, 31, 4, -33 }, // 0x42 'B' - { 2807, 30, 36, 33, 5, -34 }, // 0x43 'C' - { 2942, 31, 34, 33, 4, -33 }, // 0x44 'D' - { 3074, 31, 34, 31, 4, -33 }, // 0x45 'E' - { 3206, 30, 34, 28, 4, -33 }, // 0x46 'F' - { 3334, 33, 36, 37, 5, -34 }, // 0x47 'G' - { 3483, 33, 34, 34, 4, -33 }, // 0x48 'H' - { 3624, 11, 34, 13, 5, -33 }, // 0x49 'I' - { 3671, 25, 35, 24, 2, -33 }, // 0x4A 'J' - { 3781, 34, 34, 31, 4, -33 }, // 0x4B 'K' - { 3926, 22, 34, 26, 4, -33 }, // 0x4C 'L' - { 4020, 39, 34, 40, 4, -33 }, // 0x4D 'M' - { 4186, 34, 34, 34, 4, -33 }, // 0x4E 'N' - { 4331, 33, 36, 36, 5, -34 }, // 0x4F 'O' - { 4480, 29, 34, 30, 4, -33 }, // 0x50 'P' - { 4604, 33, 38, 36, 5, -34 }, // 0x51 'Q' - { 4761, 30, 34, 33, 4, -33 }, // 0x52 'R' - { 4889, 29, 36, 31, 4, -34 }, // 0x53 'S' - { 5020, 28, 34, 29, 7, -33 }, // 0x54 'T' - { 5139, 31, 35, 34, 6, -33 }, // 0x55 'U' - { 5275, 29, 34, 30, 8, -33 }, // 0x56 'V' - { 5399, 43, 34, 44, 8, -33 }, // 0x57 'W' - { 5582, 36, 34, 31, 1, -33 }, // 0x58 'X' - { 5735, 30, 34, 32, 8, -33 }, // 0x59 'Y' - { 5863, 34, 34, 29, 1, -33 }, // 0x5A 'Z' - { 6008, 18, 44, 13, 1, -33 }, // 0x5B '[' - { 6107, 6, 35, 13, 7, -33 }, // 0x5C '\' - { 6134, 18, 44, 13, -1, -33 }, // 0x5D ']' - { 6233, 17, 18, 22, 6, -32 }, // 0x5E '^' - { 6272, 29, 2, 26, -3, 7 }, // 0x5F '_' - { 6280, 8, 7, 16, 8, -34 }, // 0x60 '`' - { 6287, 23, 27, 26, 3, -25 }, // 0x61 'a' - { 6365, 25, 35, 26, 3, -33 }, // 0x62 'b' - { 6475, 22, 27, 24, 4, -25 }, // 0x63 'c' - { 6550, 27, 35, 26, 4, -33 }, // 0x64 'd' - { 6669, 23, 27, 26, 4, -25 }, // 0x65 'e' - { 6747, 15, 34, 12, 3, -33 }, // 0x66 'f' - { 6811, 27, 36, 26, 2, -25 }, // 0x67 'g' - { 6933, 23, 34, 25, 3, -33 }, // 0x68 'h' - { 7031, 11, 34, 10, 3, -33 }, // 0x69 'i' - { 7078, 18, 44, 11, -2, -33 }, // 0x6A 'j' - { 7177, 25, 34, 24, 3, -33 }, // 0x6B 'k' - { 7284, 11, 34, 10, 3, -33 }, // 0x6C 'l' - { 7331, 36, 26, 38, 3, -25 }, // 0x6D 'm' - { 7448, 23, 26, 25, 3, -25 }, // 0x6E 'n' - { 7523, 23, 27, 26, 4, -25 }, // 0x6F 'o' - { 7601, 27, 36, 26, 1, -25 }, // 0x70 'p' - { 7723, 26, 36, 26, 3, -25 }, // 0x71 'q' - { 7840, 17, 26, 15, 3, -25 }, // 0x72 'r' - { 7896, 21, 27, 24, 3, -25 }, // 0x73 's' - { 7967, 13, 32, 12, 4, -30 }, // 0x74 't' - { 8019, 24, 26, 25, 4, -24 }, // 0x75 'u' - { 8097, 22, 25, 23, 6, -24 }, // 0x76 'v' - { 8166, 33, 25, 34, 6, -24 }, // 0x77 'w' - { 8270, 26, 25, 23, 1, -24 }, // 0x78 'x' - { 8352, 27, 35, 23, 0, -24 }, // 0x79 'y' - { 8471, 25, 25, 23, 1, -24 }, // 0x7A 'z' - { 8550, 16, 44, 16, 5, -33 }, // 0x7B '{' - { 8638, 12, 44, 12, 3, -33 }, // 0x7C '|' - { 8704, 16, 44, 16, -1, -33 }, // 0x7D '}' - { 8792, 21, 7, 27, 6, -19 } }; // 0x7E '~' - -const GFXfont FreeSansOblique24pt7b PROGMEM = { - (uint8_t *)FreeSansOblique24pt7bBitmaps, - (GFXglyph *)FreeSansOblique24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 9483 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h deleted file mode 100644 index 18a6cbe..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSansOblique9pt7b.h +++ /dev/null @@ -1,220 +0,0 @@ -const uint8_t FreeSansOblique9pt7bBitmaps[] PROGMEM = { - 0x10, 0x84, 0x22, 0x10, 0x84, 0x42, 0x10, 0x08, 0x00, 0xDE, 0xE5, 0x20, - 0x06, 0x40, 0x88, 0x13, 0x06, 0x43, 0xFE, 0x32, 0x04, 0x40, 0x98, 0x32, - 0x1F, 0xF0, 0x98, 0x22, 0x04, 0xC0, 0x02, 0x01, 0xF8, 0x6B, 0x99, 0x33, - 0x40, 0x68, 0x0F, 0x00, 0xF8, 0x07, 0xC1, 0x1B, 0x23, 0x64, 0x4E, 0x98, - 0xFC, 0x04, 0x00, 0x80, 0x3C, 0x08, 0xCC, 0x23, 0x18, 0x86, 0x32, 0x0C, - 0x64, 0x19, 0x90, 0x1E, 0x40, 0x01, 0x1E, 0x02, 0x66, 0x09, 0x8C, 0x23, - 0x18, 0x86, 0x62, 0x07, 0x80, 0x0F, 0x06, 0x63, 0x18, 0xC6, 0x3F, 0x07, - 0x03, 0xC1, 0xB3, 0xC7, 0xB0, 0xCC, 0x33, 0x3E, 0x79, 0x80, 0xFA, 0x04, - 0x10, 0x60, 0x83, 0x04, 0x18, 0x30, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x10, - 0x30, 0x20, 0x08, 0x18, 0x10, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x18, 0x30, - 0x41, 0x82, 0x0C, 0x10, 0x40, 0x19, 0x73, 0x16, 0x48, 0x04, 0x04, 0x02, - 0x1F, 0xF0, 0x80, 0x80, 0x40, 0x20, 0x6D, 0x28, 0xF0, 0xC0, 0x01, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x0F, - 0x19, 0xC8, 0x6C, 0x36, 0x1A, 0x0F, 0x05, 0x86, 0xC3, 0x61, 0xB1, 0x9C, - 0x87, 0x80, 0x08, 0xCD, 0xE3, 0x18, 0xC4, 0x23, 0x18, 0xC4, 0x00, 0x07, - 0x83, 0x1C, 0x41, 0x98, 0x30, 0x06, 0x01, 0x80, 0x60, 0x38, 0x1C, 0x06, - 0x01, 0x80, 0x20, 0x0F, 0xF8, 0x0F, 0x86, 0x73, 0x0C, 0x83, 0x00, 0xC0, - 0x60, 0xE0, 0x06, 0x01, 0xB0, 0x6C, 0x13, 0x8C, 0x7C, 0x00, 0x00, 0x80, - 0xC0, 0xE0, 0xA0, 0x90, 0x98, 0x8C, 0x86, 0xFF, 0x81, 0x01, 0x80, 0xC0, - 0x60, 0x0F, 0xC3, 0x00, 0x40, 0x08, 0x03, 0x00, 0x7F, 0x1C, 0x70, 0x06, - 0x00, 0xC0, 0x1B, 0x06, 0x71, 0x87, 0xE0, 0x0F, 0x86, 0x73, 0x0D, 0x80, - 0x60, 0x1F, 0xCF, 0x3B, 0x86, 0xC1, 0xB0, 0x6C, 0x33, 0x98, 0x3C, 0x00, - 0x7F, 0xC0, 0x20, 0x10, 0x0C, 0x06, 0x01, 0x00, 0x80, 0x60, 0x10, 0x0C, - 0x02, 0x01, 0x80, 0x40, 0x00, 0x0F, 0x86, 0x73, 0x0C, 0xC3, 0x30, 0xCC, - 0x61, 0xE1, 0x86, 0x41, 0xB0, 0x6C, 0x13, 0x8C, 0x3E, 0x00, 0x0F, 0x06, - 0x73, 0x0D, 0x83, 0x60, 0xD8, 0x77, 0x3C, 0xFE, 0x01, 0x80, 0x6C, 0x33, - 0x98, 0x7C, 0x00, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x00, 0x00, - 0x0C, 0x62, 0x11, 0x00, 0x00, 0x01, 0xC3, 0x8F, 0x0C, 0x07, 0x00, 0xE0, - 0x1E, 0x01, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x40, 0x3C, 0x03, 0x80, - 0x70, 0x18, 0x78, 0xE1, 0xC0, 0x00, 0x00, 0x1F, 0x30, 0xD0, 0x78, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, - 0x00, 0xC0, 0xE0, 0xC0, 0x18, 0x61, 0xD3, 0x31, 0x9C, 0xD8, 0xC2, 0x36, - 0x31, 0x8F, 0x18, 0x67, 0xC6, 0x11, 0xB1, 0x8C, 0xCC, 0x67, 0x63, 0x0E, - 0xF0, 0x60, 0x00, 0x1C, 0x00, 0x01, 0x81, 0x00, 0x1F, 0xC0, 0x01, 0xC0, - 0x1C, 0x03, 0xC0, 0x24, 0x06, 0x60, 0x46, 0x0C, 0x61, 0x86, 0x1F, 0xE3, - 0x06, 0x20, 0x26, 0x03, 0x40, 0x30, 0x1F, 0xE1, 0x87, 0x30, 0x33, 0x03, - 0x30, 0x23, 0x06, 0x3F, 0xC6, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x0C, - 0x7F, 0x80, 0x07, 0xC1, 0x86, 0x30, 0x32, 0x03, 0x60, 0x04, 0x00, 0xC0, - 0x0C, 0x00, 0xC0, 0x6C, 0x06, 0xC0, 0xC6, 0x18, 0x3E, 0x00, 0x1F, 0xE0, - 0xC1, 0x84, 0x06, 0x60, 0x33, 0x01, 0x98, 0x0C, 0x80, 0x64, 0x02, 0x60, - 0x33, 0x01, 0x98, 0x18, 0x81, 0x87, 0xF0, 0x00, 0x1F, 0xF1, 0x80, 0x10, - 0x03, 0x00, 0x30, 0x03, 0x00, 0x3F, 0xE2, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x04, 0x00, 0x7F, 0xC0, 0x1F, 0xF1, 0x80, 0x10, 0x03, 0x00, 0x30, 0x03, - 0x00, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, 0x04, 0x00, 0x40, 0x00, - 0x07, 0xE0, 0xE1, 0x8C, 0x06, 0xC0, 0x36, 0x00, 0x60, 0x03, 0x07, 0xF8, - 0x02, 0xC0, 0x36, 0x01, 0x98, 0x1C, 0xE1, 0xC1, 0xF2, 0x00, 0x18, 0x08, - 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, 0x18, 0xFF, 0xC4, 0x06, 0x60, - 0x23, 0x01, 0x18, 0x18, 0x80, 0xC4, 0x06, 0x00, 0x33, 0x32, 0x26, 0x66, - 0x44, 0xCC, 0xC0, 0x00, 0xC0, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x30, - 0x0C, 0x03, 0x30, 0xCC, 0x63, 0x18, 0x7C, 0x00, 0x18, 0x18, 0x60, 0xC1, - 0x0E, 0x0C, 0x60, 0x33, 0x00, 0xD8, 0x03, 0xF0, 0x0C, 0xC0, 0x61, 0x81, - 0x86, 0x06, 0x0C, 0x10, 0x30, 0x40, 0x60, 0x18, 0x0C, 0x04, 0x06, 0x03, - 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x18, 0x08, 0x07, 0xF8, 0x18, 0x06, - 0x18, 0x0E, 0x18, 0x0E, 0x34, 0x1E, 0x34, 0x36, 0x34, 0x34, 0x24, 0x64, - 0x24, 0x6C, 0x64, 0xCC, 0x64, 0x8C, 0x65, 0x88, 0x43, 0x08, 0x43, 0x18, - 0x18, 0x08, 0xE0, 0x47, 0x06, 0x6C, 0x33, 0x61, 0x99, 0x08, 0x8C, 0xC4, - 0x66, 0x61, 0xB3, 0x0D, 0x18, 0x38, 0x81, 0xC4, 0x06, 0x00, 0x07, 0xC0, - 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, - 0x36, 0x01, 0xB8, 0x18, 0xE1, 0x81, 0xF0, 0x00, 0x1F, 0xE1, 0x83, 0x10, - 0x33, 0x03, 0x30, 0x33, 0x06, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x04, 0x00, 0x40, 0x00, 0x07, 0xC0, 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, - 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x36, 0x09, 0xB8, 0x78, 0xE3, 0x81, - 0xF6, 0x00, 0x10, 0x1F, 0xF0, 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, - 0x18, 0xFF, 0x04, 0x0C, 0x60, 0x63, 0x03, 0x18, 0x18, 0x80, 0xC4, 0x06, - 0x00, 0x07, 0xC1, 0x87, 0x30, 0x33, 0x03, 0x30, 0x03, 0xC0, 0x0F, 0xC0, - 0x1E, 0x00, 0x6C, 0x06, 0xC0, 0x46, 0x0C, 0x3F, 0x00, 0xFF, 0xC3, 0x00, - 0xC0, 0x20, 0x18, 0x06, 0x01, 0x80, 0x60, 0x10, 0x0C, 0x03, 0x00, 0xC0, - 0x20, 0x00, 0x30, 0x13, 0x03, 0x20, 0x36, 0x03, 0x60, 0x26, 0x06, 0x60, - 0x64, 0x06, 0xC0, 0x6C, 0x04, 0xC0, 0xCE, 0x18, 0x3E, 0x00, 0xC0, 0x78, - 0x0B, 0x03, 0x20, 0xC4, 0x18, 0xC6, 0x18, 0x83, 0x30, 0x64, 0x0D, 0x80, - 0xA0, 0x1C, 0x03, 0x00, 0xC1, 0x83, 0xC1, 0x83, 0xC3, 0x86, 0xC2, 0x86, - 0xC6, 0x84, 0xC4, 0x8C, 0xCC, 0xC8, 0xC8, 0xD8, 0xD8, 0xD0, 0xD0, 0xF0, - 0x70, 0xE0, 0x60, 0xE0, 0x60, 0xE0, 0x0C, 0x0C, 0x30, 0x60, 0x63, 0x01, - 0x98, 0x02, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, 0x0C, 0x80, 0x33, 0x01, - 0x8C, 0x0C, 0x18, 0x60, 0x60, 0xC0, 0x66, 0x0C, 0x60, 0xC2, 0x18, 0x33, - 0x03, 0x60, 0x1C, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x00, 0x30, - 0x00, 0x1F, 0xF0, 0x07, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, - 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x00, 0xFF, 0xC0, 0x0E, 0x10, 0x20, - 0x41, 0x02, 0x04, 0x08, 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0x20, 0xE0, - 0xAA, 0xA9, 0x55, 0x40, 0x0E, 0x08, 0x10, 0x20, 0x41, 0x02, 0x04, 0x08, - 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0xE0, 0x0C, 0x18, 0x51, 0xA2, 0x4C, - 0x50, 0x80, 0xFF, 0xE0, 0xC8, 0x80, 0x0F, 0x86, 0x33, 0x0C, 0x03, 0x03, - 0xDF, 0xEE, 0x0B, 0x02, 0xC1, 0x9F, 0xE0, 0x10, 0x04, 0x01, 0x00, 0xDC, - 0x39, 0x88, 0x32, 0x0D, 0x83, 0x40, 0xD0, 0x64, 0x1B, 0x8C, 0xBC, 0x00, - 0x1F, 0x18, 0xD8, 0x6C, 0x0C, 0x06, 0x03, 0x01, 0x86, 0x66, 0x3E, 0x00, - 0x00, 0x20, 0x08, 0x01, 0x0F, 0x23, 0x14, 0xC1, 0x18, 0x26, 0x04, 0xC0, - 0x98, 0x23, 0x04, 0x71, 0x87, 0xD0, 0x0F, 0x0C, 0x76, 0x0D, 0x83, 0xFF, - 0xF0, 0x0C, 0x03, 0x06, 0x63, 0x0F, 0x80, 0x1C, 0xC2, 0x1E, 0x20, 0x84, - 0x10, 0x41, 0x04, 0x20, 0x80, 0x0F, 0x46, 0x33, 0x0C, 0xC1, 0x60, 0xD8, - 0x26, 0x09, 0x86, 0x71, 0x8F, 0xE0, 0x10, 0x04, 0xC2, 0x1F, 0x00, 0x10, - 0x04, 0x01, 0x00, 0x9F, 0x39, 0x88, 0x22, 0x09, 0x02, 0x40, 0x90, 0x44, - 0x12, 0x04, 0x81, 0x00, 0x10, 0x02, 0x22, 0x64, 0x44, 0x48, 0x80, 0x04, - 0x00, 0x01, 0x08, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0x42, 0x08, 0xE0, - 0x10, 0x08, 0x04, 0x04, 0x32, 0x31, 0x20, 0xA0, 0xB8, 0x6C, 0x22, 0x11, - 0x90, 0xC8, 0x30, 0x11, 0x22, 0x22, 0x64, 0x44, 0x48, 0x80, 0x2F, 0x3C, - 0x63, 0x8C, 0x86, 0x19, 0x08, 0x44, 0x10, 0x88, 0x21, 0x10, 0x82, 0x21, - 0x04, 0x82, 0x11, 0x04, 0x20, 0x00, 0x0B, 0xF3, 0x18, 0x82, 0x20, 0x90, - 0x24, 0x09, 0x04, 0x41, 0x20, 0x48, 0x10, 0x0F, 0x0C, 0x76, 0x0D, 0x83, - 0xC0, 0xF0, 0x3C, 0x1B, 0x06, 0xE3, 0x0F, 0x00, 0x17, 0xC3, 0x1C, 0x41, - 0x98, 0x32, 0x06, 0x40, 0xC8, 0x33, 0x06, 0x71, 0x8B, 0xC1, 0x00, 0x20, - 0x08, 0x01, 0x00, 0x00, 0x1E, 0xCC, 0x66, 0x09, 0x82, 0xC0, 0xB0, 0x4C, - 0x13, 0x04, 0x63, 0x0F, 0xC0, 0x20, 0x08, 0x02, 0x00, 0x80, 0x2C, 0x60, - 0x81, 0x04, 0x08, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x33, 0x63, 0x60, 0x70, - 0x1E, 0x03, 0xC3, 0xC6, 0x7C, 0x22, 0xF2, 0x44, 0x44, 0xCC, 0xCE, 0x21, - 0x20, 0x90, 0x48, 0x24, 0x12, 0x13, 0x09, 0x84, 0xE6, 0x3E, 0x00, 0xC1, - 0xE1, 0xB0, 0xC8, 0xC4, 0x43, 0x61, 0xA0, 0xF0, 0x70, 0x18, 0x00, 0xC7, - 0x1E, 0x38, 0xB3, 0xCD, 0x96, 0x4C, 0xB6, 0x6D, 0xB1, 0x4D, 0x0E, 0x78, - 0x63, 0x83, 0x1C, 0x00, 0x10, 0xC3, 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, - 0x07, 0x81, 0x90, 0x23, 0x08, 0x20, 0x30, 0x46, 0x18, 0x42, 0x08, 0xC1, - 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, 0x03, 0x00, 0x60, 0x08, 0x03, 0x01, - 0xC0, 0x00, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, - 0x7F, 0x00, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC3, 0x18, 0x88, 0x42, 0x18, - 0xE0, 0x11, 0x22, 0x22, 0x24, 0x44, 0x4C, 0x88, 0x88, 0x00, 0x38, 0xC2, - 0x10, 0x88, 0xC6, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC0, 0x70, 0x4E, 0x41, - 0xC0 }; - -const GFXglyph FreeSansOblique9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 5, 13, 5, 2, -12 }, // 0x21 '!' - { 9, 5, 4, 6, 3, -12 }, // 0x22 '"' - { 12, 11, 13, 10, 1, -12 }, // 0x23 '#' - { 30, 11, 16, 10, 1, -13 }, // 0x24 '$' - { 52, 15, 13, 16, 2, -12 }, // 0x25 '%' - { 77, 10, 13, 12, 2, -12 }, // 0x26 '&' - { 94, 2, 4, 3, 3, -12 }, // 0x27 ''' - { 95, 7, 17, 6, 2, -12 }, // 0x28 '(' - { 110, 7, 17, 6, -1, -12 }, // 0x29 ')' - { 125, 6, 5, 7, 3, -12 }, // 0x2A '*' - { 129, 9, 8, 11, 2, -7 }, // 0x2B '+' - { 138, 3, 5, 5, 1, -1 }, // 0x2C ',' - { 140, 4, 1, 6, 2, -4 }, // 0x2D '-' - { 141, 2, 1, 5, 2, 0 }, // 0x2E '.' - { 142, 8, 13, 5, 0, -12 }, // 0x2F '/' - { 155, 9, 13, 10, 2, -12 }, // 0x30 '0' - { 170, 5, 13, 10, 4, -12 }, // 0x31 '1' - { 179, 11, 13, 10, 1, -12 }, // 0x32 '2' - { 197, 10, 13, 10, 1, -12 }, // 0x33 '3' - { 214, 9, 13, 10, 1, -12 }, // 0x34 '4' - { 229, 11, 13, 10, 1, -12 }, // 0x35 '5' - { 247, 10, 13, 10, 2, -12 }, // 0x36 '6' - { 264, 10, 13, 10, 2, -12 }, // 0x37 '7' - { 281, 10, 13, 10, 1, -12 }, // 0x38 '8' - { 298, 10, 13, 10, 1, -12 }, // 0x39 '9' - { 315, 4, 9, 5, 2, -8 }, // 0x3A ':' - { 320, 5, 12, 5, 1, -8 }, // 0x3B ';' - { 328, 9, 9, 11, 2, -8 }, // 0x3C '<' - { 339, 10, 4, 11, 1, -5 }, // 0x3D '=' - { 344, 9, 9, 11, 1, -7 }, // 0x3E '>' - { 355, 9, 13, 10, 3, -12 }, // 0x3F '?' - { 370, 18, 16, 18, 1, -12 }, // 0x40 '@' - { 406, 12, 13, 12, 0, -12 }, // 0x41 'A' - { 426, 12, 13, 12, 1, -12 }, // 0x42 'B' - { 446, 12, 13, 13, 2, -12 }, // 0x43 'C' - { 466, 13, 13, 13, 1, -12 }, // 0x44 'D' - { 488, 12, 13, 12, 1, -12 }, // 0x45 'E' - { 508, 12, 13, 11, 1, -12 }, // 0x46 'F' - { 528, 13, 13, 14, 2, -12 }, // 0x47 'G' - { 550, 13, 13, 13, 1, -12 }, // 0x48 'H' - { 572, 4, 13, 5, 2, -12 }, // 0x49 'I' - { 579, 10, 13, 9, 1, -12 }, // 0x4A 'J' - { 596, 14, 13, 12, 1, -12 }, // 0x4B 'K' - { 619, 9, 13, 10, 1, -12 }, // 0x4C 'L' - { 634, 16, 13, 15, 1, -12 }, // 0x4D 'M' - { 660, 13, 13, 13, 1, -12 }, // 0x4E 'N' - { 682, 13, 13, 14, 2, -12 }, // 0x4F 'O' - { 704, 12, 13, 12, 1, -12 }, // 0x50 'P' - { 724, 13, 14, 14, 2, -12 }, // 0x51 'Q' - { 747, 13, 13, 13, 1, -12 }, // 0x52 'R' - { 769, 12, 13, 12, 1, -12 }, // 0x53 'S' - { 789, 10, 13, 11, 3, -12 }, // 0x54 'T' - { 806, 12, 13, 13, 2, -12 }, // 0x55 'U' - { 826, 11, 13, 12, 3, -12 }, // 0x56 'V' - { 844, 16, 13, 17, 3, -12 }, // 0x57 'W' - { 870, 14, 13, 12, 0, -12 }, // 0x58 'X' - { 893, 12, 13, 12, 3, -12 }, // 0x59 'Y' - { 913, 12, 13, 11, 1, -12 }, // 0x5A 'Z' - { 933, 7, 17, 5, 0, -12 }, // 0x5B '[' - { 948, 2, 13, 5, 3, -12 }, // 0x5C '\' - { 952, 7, 17, 5, 0, -12 }, // 0x5D ']' - { 967, 7, 7, 8, 2, -12 }, // 0x5E '^' - { 974, 11, 1, 10, -1, 3 }, // 0x5F '_' - { 976, 3, 3, 6, 3, -12 }, // 0x60 '`' - { 978, 10, 10, 10, 1, -9 }, // 0x61 'a' - { 991, 10, 13, 10, 1, -12 }, // 0x62 'b' - { 1008, 9, 10, 9, 1, -9 }, // 0x63 'c' - { 1020, 11, 13, 10, 1, -12 }, // 0x64 'd' - { 1038, 10, 10, 10, 1, -9 }, // 0x65 'e' - { 1051, 6, 13, 5, 1, -12 }, // 0x66 'f' - { 1061, 10, 14, 10, 0, -9 }, // 0x67 'g' - { 1079, 10, 13, 10, 1, -12 }, // 0x68 'h' - { 1096, 4, 13, 4, 1, -12 }, // 0x69 'i' - { 1103, 6, 17, 4, -1, -12 }, // 0x6A 'j' - { 1116, 9, 13, 9, 1, -12 }, // 0x6B 'k' - { 1131, 4, 13, 4, 1, -12 }, // 0x6C 'l' - { 1138, 15, 10, 15, 1, -9 }, // 0x6D 'm' - { 1157, 10, 11, 10, 1, -10 }, // 0x6E 'n' - { 1171, 10, 10, 10, 1, -9 }, // 0x6F 'o' - { 1184, 11, 14, 10, 0, -9 }, // 0x70 'p' - { 1204, 10, 14, 10, 1, -9 }, // 0x71 'q' - { 1222, 7, 10, 6, 1, -9 }, // 0x72 'r' - { 1231, 8, 10, 9, 1, -9 }, // 0x73 's' - { 1241, 4, 12, 5, 2, -11 }, // 0x74 't' - { 1247, 9, 10, 10, 2, -9 }, // 0x75 'u' - { 1259, 9, 10, 9, 2, -9 }, // 0x76 'v' - { 1271, 13, 10, 13, 2, -9 }, // 0x77 'w' - { 1288, 11, 10, 9, 0, -9 }, // 0x78 'x' - { 1302, 11, 14, 9, 0, -9 }, // 0x79 'y' - { 1322, 9, 10, 9, 1, -9 }, // 0x7A 'z' - { 1334, 5, 17, 6, 2, -12 }, // 0x7B '{' - { 1345, 4, 17, 5, 1, -12 }, // 0x7C '|' - { 1354, 5, 17, 6, 0, -12 }, // 0x7D '}' - { 1365, 9, 3, 11, 2, -7 } }; // 0x7E '~' - -const GFXfont FreeSansOblique9pt7b PROGMEM = { - (uint8_t *)FreeSansOblique9pt7bBitmaps, - (GFXglyph *)FreeSansOblique9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 2041 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h deleted file mode 100644 index 48ad3da..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif12pt7b.h +++ /dev/null @@ -1,259 +0,0 @@ -const uint8_t FreeSerif12pt7bBitmaps[] PROGMEM = { - 0xFF, 0xFE, 0xA8, 0x3F, 0xCF, 0x3C, 0xF3, 0x8A, 0x20, 0x0C, 0x40, 0xC4, - 0x08, 0x40, 0x8C, 0x08, 0xC7, 0xFF, 0x18, 0x81, 0x88, 0x10, 0x81, 0x08, - 0xFF, 0xE1, 0x18, 0x31, 0x03, 0x10, 0x31, 0x02, 0x10, 0x04, 0x07, 0xC6, - 0x5B, 0x12, 0xC4, 0xB1, 0x0F, 0x41, 0xF0, 0x1E, 0x01, 0xE0, 0x58, 0x13, - 0x84, 0xE1, 0x3C, 0x4F, 0x96, 0x3F, 0x01, 0x00, 0x00, 0x04, 0x03, 0x83, - 0x03, 0x9F, 0x81, 0xC2, 0x20, 0x60, 0x90, 0x38, 0x24, 0x0C, 0x12, 0x03, - 0x0D, 0x00, 0xC6, 0x47, 0x9E, 0x23, 0x10, 0x09, 0x84, 0x04, 0xE1, 0x03, - 0x30, 0x40, 0x8C, 0x20, 0x43, 0x08, 0x10, 0xC4, 0x08, 0x1E, 0x00, 0x03, - 0xC0, 0x02, 0x30, 0x03, 0x08, 0x01, 0x84, 0x00, 0xC4, 0x00, 0x7C, 0xF8, - 0x1C, 0x38, 0x1E, 0x08, 0x33, 0x0C, 0x31, 0xC4, 0x10, 0x74, 0x18, 0x3A, - 0x0C, 0x0E, 0x07, 0x03, 0x83, 0xC3, 0xE2, 0x7E, 0x3E, 0xFF, 0xA0, 0x04, - 0x21, 0x08, 0x61, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC1, 0x04, 0x18, 0x20, - 0x40, 0x81, 0x81, 0x02, 0x04, 0x18, 0x20, 0x83, 0x0C, 0x30, 0xC3, 0x0C, - 0x30, 0x86, 0x10, 0x84, 0x20, 0x30, 0xB3, 0xD7, 0x54, 0x38, 0x7C, 0xD3, - 0x30, 0x30, 0x10, 0x04, 0x00, 0x80, 0x10, 0x02, 0x00, 0x41, 0xFF, 0xC1, - 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, 0x00, 0xDF, 0x95, 0x00, 0xFC, 0xFC, - 0x06, 0x0C, 0x10, 0x60, 0xC1, 0x06, 0x0C, 0x10, 0x60, 0xC1, 0x06, 0x0C, - 0x10, 0x60, 0xC0, 0x1E, 0x0C, 0xC6, 0x19, 0x86, 0xC0, 0xB0, 0x3C, 0x0F, - 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xD8, 0x66, 0x18, 0xCC, 0x1E, - 0x00, 0x11, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, - 0x0C, 0xFC, 0x1E, 0x18, 0xC4, 0x1A, 0x06, 0x01, 0x80, 0x60, 0x10, 0x0C, - 0x02, 0x01, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x1F, 0xF8, 0x1E, 0x18, 0xE8, - 0x18, 0x06, 0x01, 0x00, 0x80, 0xF0, 0x7E, 0x03, 0xC0, 0x70, 0x0C, 0x03, - 0x00, 0xC0, 0x6E, 0x11, 0xF8, 0x01, 0x00, 0xC0, 0x70, 0x2C, 0x0B, 0x04, - 0xC2, 0x30, 0x8C, 0x43, 0x20, 0xC8, 0x33, 0xFF, 0x03, 0x00, 0xC0, 0x30, - 0x0C, 0x00, 0x03, 0xF1, 0x00, 0x40, 0x18, 0x0F, 0x80, 0xF8, 0x0E, 0x01, - 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x20, 0x1B, 0x8C, 0x7C, 0x00, 0x01, - 0xC3, 0xC1, 0xC0, 0xC0, 0x70, 0x18, 0x0E, 0xF3, 0xCE, 0xC1, 0xF0, 0x3C, - 0x0F, 0x03, 0xC0, 0xD8, 0x36, 0x08, 0xC6, 0x1E, 0x00, 0x3F, 0xD0, 0x38, - 0x08, 0x06, 0x01, 0x80, 0x40, 0x10, 0x0C, 0x02, 0x00, 0x80, 0x20, 0x10, - 0x04, 0x01, 0x00, 0x80, 0x20, 0x1F, 0x18, 0x6C, 0x0F, 0x03, 0xC0, 0xF8, - 0x67, 0x30, 0xF0, 0x1E, 0x09, 0xE6, 0x3B, 0x07, 0xC0, 0xF0, 0x3C, 0x0D, - 0x86, 0x1F, 0x00, 0x1E, 0x08, 0xC6, 0x1B, 0x02, 0xC0, 0xF0, 0x3C, 0x0F, - 0x03, 0xE0, 0xDC, 0x73, 0xEC, 0x06, 0x01, 0x80, 0xC0, 0x70, 0x38, 0x38, - 0x18, 0x00, 0xFC, 0x00, 0x3F, 0xCC, 0xC0, 0x00, 0x00, 0x06, 0x77, 0x12, - 0x40, 0x00, 0x00, 0x07, 0x01, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xC0, 0x0F, - 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x07, 0x00, 0x10, 0xFF, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x0E, 0x00, 0x3C, 0x00, 0xF0, - 0x03, 0xC0, 0x0F, 0x00, 0x30, 0x0E, 0x07, 0x81, 0xE0, 0x78, 0x0E, 0x00, - 0x00, 0x00, 0x7C, 0x86, 0x83, 0xC3, 0x03, 0x03, 0x06, 0x0C, 0x08, 0x08, - 0x10, 0x10, 0x00, 0x00, 0x30, 0x30, 0x30, 0x03, 0xF0, 0x06, 0x06, 0x06, - 0x00, 0x86, 0x00, 0x26, 0x0E, 0xD3, 0x0C, 0xC7, 0x0C, 0x63, 0x84, 0x31, - 0xC6, 0x18, 0xE3, 0x08, 0x71, 0x8C, 0x4C, 0xC6, 0x46, 0x3D, 0xC1, 0x80, - 0x00, 0x30, 0x10, 0x07, 0xF0, 0x00, 0x80, 0x00, 0x60, 0x00, 0x70, 0x00, - 0x38, 0x00, 0x2E, 0x00, 0x13, 0x00, 0x19, 0xC0, 0x08, 0x60, 0x04, 0x38, - 0x04, 0x0C, 0x03, 0xFF, 0x03, 0x03, 0x81, 0x00, 0xE1, 0x80, 0x70, 0xC0, - 0x3D, 0xF0, 0x3F, 0xFF, 0x83, 0x0C, 0x30, 0x63, 0x06, 0x30, 0x63, 0x06, - 0x30, 0xC3, 0xF0, 0x30, 0xE3, 0x06, 0x30, 0x33, 0x03, 0x30, 0x33, 0x07, - 0x30, 0xEF, 0xFC, 0x07, 0xE2, 0x38, 0x3C, 0xC0, 0x3B, 0x00, 0x36, 0x00, - 0x38, 0x00, 0x30, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x03, - 0x00, 0x06, 0x00, 0x06, 0x00, 0x47, 0x03, 0x03, 0xF8, 0xFF, 0xC0, 0x30, - 0x78, 0x30, 0x1C, 0x30, 0x0E, 0x30, 0x06, 0x30, 0x03, 0x30, 0x03, 0x30, - 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x06, 0x30, 0x06, 0x30, - 0x0C, 0x30, 0x78, 0xFF, 0xC0, 0xFF, 0xFC, 0xC0, 0x33, 0x00, 0x4C, 0x00, - 0x30, 0x00, 0xC0, 0x43, 0x03, 0x0F, 0xFC, 0x30, 0x30, 0xC0, 0x43, 0x00, - 0x0C, 0x00, 0x30, 0x08, 0xC0, 0x23, 0x03, 0xBF, 0xFE, 0xFF, 0xFC, 0xC0, - 0x33, 0x00, 0x4C, 0x00, 0x30, 0x00, 0xC0, 0x43, 0x03, 0x0F, 0xFC, 0x30, - 0x30, 0xC0, 0x43, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x3F, - 0x00, 0x07, 0xE4, 0x1C, 0x3C, 0x30, 0x0C, 0x60, 0x0C, 0x60, 0x04, 0xC0, - 0x00, 0xC0, 0x00, 0xC0, 0x3F, 0xC0, 0x0C, 0xC0, 0x0C, 0xC0, 0x0C, 0x60, - 0x0C, 0x60, 0x0C, 0x30, 0x0C, 0x1C, 0x1C, 0x07, 0xE0, 0xFC, 0x3F, 0x30, - 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x3F, - 0xFC, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, - 0x0C, 0x30, 0x0C, 0xFC, 0x3F, 0xFC, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, - 0xC3, 0x0C, 0x30, 0xC3, 0x3F, 0x3F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, - 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xC8, 0xF0, 0xFC, 0xFE, 0x30, - 0x38, 0x30, 0x20, 0x30, 0x40, 0x30, 0x80, 0x33, 0x00, 0x36, 0x00, 0x3E, - 0x00, 0x37, 0x00, 0x33, 0x80, 0x31, 0xC0, 0x30, 0xE0, 0x30, 0x70, 0x30, - 0x38, 0x30, 0x3C, 0xFC, 0x7F, 0xFC, 0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, - 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, - 0xC0, 0x01, 0x80, 0x03, 0x00, 0x26, 0x00, 0x8C, 0x07, 0x7F, 0xFE, 0xF8, - 0x01, 0xE7, 0x00, 0x70, 0xE0, 0x0E, 0x1E, 0x03, 0xC2, 0xC0, 0x58, 0x5C, - 0x1B, 0x09, 0x82, 0x61, 0x38, 0x4C, 0x27, 0x11, 0x84, 0x72, 0x30, 0x8E, - 0xC6, 0x10, 0xD0, 0xC2, 0x1E, 0x18, 0x41, 0x83, 0x1C, 0x30, 0x67, 0xC4, - 0x3F, 0xF0, 0x1F, 0x78, 0x0E, 0x3C, 0x04, 0x3E, 0x04, 0x2E, 0x04, 0x27, - 0x04, 0x23, 0x84, 0x23, 0xC4, 0x21, 0xE4, 0x20, 0xE4, 0x20, 0x74, 0x20, - 0x3C, 0x20, 0x1C, 0x20, 0x0C, 0x70, 0x0C, 0xF8, 0x04, 0x07, 0xC0, 0x30, - 0x60, 0xC0, 0x63, 0x00, 0x66, 0x00, 0xD8, 0x00, 0xF0, 0x01, 0xE0, 0x03, - 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1B, 0x00, 0x66, 0x00, 0xC6, 0x03, 0x06, - 0x0C, 0x03, 0xE0, 0xFF, 0x83, 0x0E, 0x30, 0x73, 0x03, 0x30, 0x33, 0x03, - 0x30, 0x63, 0x0E, 0x3F, 0x83, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, - 0x30, 0x0F, 0xC0, 0x0F, 0xE0, 0x18, 0x30, 0x30, 0x18, 0x60, 0x0C, 0x60, - 0x0C, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, 0x06, 0xC0, - 0x06, 0x60, 0x0C, 0x60, 0x0C, 0x30, 0x18, 0x18, 0x30, 0x07, 0xC0, 0x03, - 0xC0, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1F, 0xFF, 0x80, 0x61, 0xC0, 0xC1, - 0xC1, 0x81, 0x83, 0x03, 0x06, 0x06, 0x0C, 0x1C, 0x18, 0x70, 0x3F, 0x80, - 0x67, 0x00, 0xC7, 0x01, 0x8F, 0x03, 0x0F, 0x06, 0x0E, 0x0C, 0x0E, 0x7E, - 0x0F, 0x1F, 0x46, 0x19, 0x81, 0x30, 0x27, 0x02, 0xF0, 0x0F, 0x00, 0xF8, - 0x07, 0xC0, 0x38, 0x03, 0xC0, 0x34, 0x06, 0x80, 0xDC, 0x32, 0x7C, 0xFF, - 0xFF, 0x86, 0x0E, 0x0C, 0x1C, 0x18, 0x10, 0x30, 0x00, 0x60, 0x00, 0xC0, - 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, - 0x60, 0x00, 0xC0, 0x07, 0xE0, 0xFC, 0x1F, 0x30, 0x0E, 0x30, 0x04, 0x30, - 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, - 0x04, 0x30, 0x04, 0x30, 0x04, 0x30, 0x04, 0x18, 0x08, 0x1C, 0x18, 0x07, - 0xE0, 0xFE, 0x0F, 0x9C, 0x03, 0x0E, 0x01, 0x83, 0x00, 0x81, 0xC0, 0x40, - 0x60, 0x40, 0x38, 0x20, 0x0C, 0x30, 0x07, 0x10, 0x01, 0x98, 0x00, 0xE8, - 0x00, 0x34, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x00, 0xFC, - 0xFC, 0x3D, 0xE1, 0xC0, 0x63, 0x83, 0x01, 0x86, 0x0E, 0x04, 0x1C, 0x18, - 0x10, 0x70, 0x70, 0x80, 0xC3, 0xC2, 0x03, 0x8B, 0x08, 0x06, 0x6E, 0x40, - 0x1D, 0x19, 0x00, 0x74, 0x78, 0x00, 0xE1, 0xE0, 0x03, 0x83, 0x80, 0x0E, - 0x0C, 0x00, 0x10, 0x10, 0x00, 0x40, 0x40, 0x7F, 0x1F, 0x9E, 0x03, 0x07, - 0x03, 0x01, 0xC3, 0x00, 0x71, 0x00, 0x19, 0x00, 0x0F, 0x00, 0x03, 0x80, - 0x01, 0xE0, 0x01, 0xB0, 0x01, 0x9C, 0x00, 0x87, 0x00, 0x81, 0xC0, 0x80, - 0xE0, 0xC0, 0x79, 0xF8, 0x7F, 0xFE, 0x1F, 0x78, 0x0C, 0x38, 0x08, 0x1C, - 0x18, 0x0E, 0x10, 0x06, 0x20, 0x07, 0x60, 0x03, 0xC0, 0x01, 0x80, 0x01, - 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x07, - 0xE0, 0x7F, 0xFB, 0x00, 0xC8, 0x07, 0x20, 0x38, 0x01, 0xC0, 0x07, 0x00, - 0x38, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x05, - 0xC0, 0x3E, 0x01, 0xBF, 0xFE, 0xFE, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, - 0x8C, 0x63, 0x18, 0xC6, 0x31, 0xF0, 0xC1, 0x81, 0x03, 0x06, 0x04, 0x0C, - 0x18, 0x10, 0x30, 0x60, 0x40, 0xC1, 0x81, 0x03, 0x06, 0xF8, 0xC6, 0x31, - 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC7, 0xF0, 0x0C, 0x07, - 0x01, 0x60, 0xD8, 0x23, 0x18, 0xC4, 0x1B, 0x06, 0x80, 0xC0, 0xFF, 0xF0, - 0xC7, 0x0C, 0x30, 0x3E, 0x31, 0x8C, 0x30, 0x0C, 0x03, 0x07, 0xC6, 0x33, - 0x0C, 0xC3, 0x31, 0xC7, 0xB8, 0x20, 0x38, 0x06, 0x01, 0x80, 0x60, 0x18, - 0x06, 0xF1, 0xC6, 0x61, 0xD8, 0x36, 0x0D, 0x83, 0x60, 0xD8, 0x26, 0x19, - 0x84, 0x3E, 0x00, 0x1E, 0x23, 0x63, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE1, - 0x72, 0x3C, 0x00, 0x80, 0xE0, 0x18, 0x06, 0x01, 0x80, 0x61, 0xD8, 0x8E, - 0x61, 0xB0, 0x6C, 0x1B, 0x06, 0xC1, 0xB0, 0x6E, 0x19, 0xCE, 0x3D, 0xC0, - 0x1E, 0x08, 0xE4, 0x1B, 0xFE, 0xC0, 0x30, 0x0C, 0x03, 0x81, 0x60, 0x9C, - 0x41, 0xE0, 0x0F, 0x08, 0xC4, 0x06, 0x03, 0x01, 0x81, 0xF0, 0x60, 0x30, - 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, 0xFC, 0x00, 0x1F, 0x03, - 0x1F, 0x60, 0xC6, 0x0C, 0x60, 0xC3, 0x18, 0x1F, 0x02, 0x00, 0x40, 0x07, - 0xFC, 0x40, 0x24, 0x02, 0xC0, 0x2C, 0x04, 0xE0, 0x83, 0xF0, 0x30, 0x1E, - 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0D, 0xE1, 0xCE, 0x30, 0xC6, 0x18, - 0xC3, 0x18, 0x63, 0x0C, 0x61, 0x8C, 0x31, 0x86, 0x79, 0xE0, 0x31, 0x80, - 0x00, 0x09, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xDF, 0x0C, 0x30, 0x00, 0x00, - 0x31, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xF2, 0xF0, - 0x20, 0x1C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0xFB, 0x08, 0x62, - 0x0C, 0x81, 0xE0, 0x3E, 0x06, 0xE0, 0xCE, 0x18, 0xC3, 0x0E, 0xF3, 0xE0, - 0x13, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0xF8, 0xF7, - 0x8F, 0x0E, 0x3C, 0xE3, 0x0C, 0x18, 0xC3, 0x06, 0x30, 0xC1, 0x8C, 0x30, - 0x63, 0x0C, 0x18, 0xC3, 0x06, 0x30, 0xC1, 0x8C, 0x30, 0x67, 0x9E, 0x3C, - 0xF7, 0x87, 0x18, 0xC3, 0x18, 0x63, 0x0C, 0x61, 0x8C, 0x31, 0x86, 0x30, - 0xC6, 0x19, 0xE7, 0x80, 0x1E, 0x18, 0xE4, 0x1B, 0x03, 0xC0, 0xF0, 0x3C, - 0x0F, 0x03, 0x60, 0x9C, 0x41, 0xE0, 0x77, 0x87, 0x18, 0xC3, 0x98, 0x33, - 0x06, 0x60, 0xCC, 0x19, 0x83, 0x30, 0xC7, 0x10, 0xDC, 0x18, 0x03, 0x00, - 0x60, 0x0C, 0x07, 0xE0, 0x1E, 0x8C, 0xE6, 0x1B, 0x06, 0xC1, 0xB0, 0x6C, - 0x1B, 0x06, 0xE1, 0x98, 0xE3, 0xD8, 0x06, 0x01, 0x80, 0x60, 0x18, 0x1F, - 0x37, 0x7B, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x7C, 0x7B, - 0x0E, 0x1C, 0x1E, 0x0F, 0x07, 0xC3, 0x87, 0x8A, 0xE0, 0x21, 0x8F, 0x98, - 0x61, 0x86, 0x18, 0x61, 0x86, 0x19, 0x38, 0xE3, 0x98, 0x66, 0x19, 0x86, - 0x61, 0x98, 0x66, 0x19, 0x86, 0x61, 0x9C, 0xE3, 0xDC, 0xF8, 0xEE, 0x08, - 0xC1, 0x18, 0x41, 0x88, 0x32, 0x03, 0x40, 0x68, 0x06, 0x00, 0xC0, 0x10, - 0x00, 0xF3, 0xE7, 0x61, 0x83, 0x70, 0xC2, 0x30, 0xC2, 0x30, 0xC4, 0x19, - 0x64, 0x19, 0x68, 0x0E, 0x38, 0x0E, 0x38, 0x0C, 0x30, 0x04, 0x10, 0xFB, - 0xC6, 0x30, 0x64, 0x0F, 0x00, 0xC0, 0x0C, 0x03, 0xC0, 0x98, 0x21, 0x8C, - 0x3B, 0xCF, 0x80, 0xF8, 0xEE, 0x08, 0xC1, 0x18, 0x41, 0x88, 0x31, 0x03, - 0x40, 0x68, 0x06, 0x00, 0xC0, 0x08, 0x02, 0x00, 0x40, 0x10, 0x1E, 0x03, - 0x80, 0x7F, 0x90, 0xE0, 0x30, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0xE0, 0x30, - 0x5C, 0x3F, 0xF8, 0x19, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0xB0, 0x63, 0x18, - 0xC6, 0x31, 0x8C, 0x61, 0x80, 0xFF, 0xFF, 0x80, 0xC3, 0x18, 0xC6, 0x31, - 0x8C, 0x63, 0x06, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xCC, 0x00, 0x38, 0x06, - 0x62, 0x41, 0xC0 }; - -const GFXglyph FreeSerif12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 2, 16, 8, 3, -15 }, // 0x21 '!' - { 4, 6, 6, 10, 1, -15 }, // 0x22 '"' - { 9, 12, 16, 12, 0, -15 }, // 0x23 '#' - { 33, 10, 18, 12, 1, -16 }, // 0x24 '$' - { 56, 18, 17, 20, 1, -16 }, // 0x25 '%' - { 95, 17, 16, 19, 1, -15 }, // 0x26 '&' - { 129, 2, 6, 5, 1, -15 }, // 0x27 ''' - { 131, 6, 20, 8, 1, -15 }, // 0x28 '(' - { 146, 6, 20, 8, 1, -15 }, // 0x29 ')' - { 161, 8, 10, 12, 3, -14 }, // 0x2A '*' - { 171, 11, 11, 14, 1, -10 }, // 0x2B '+' - { 187, 3, 6, 6, 2, -2 }, // 0x2C ',' - { 190, 6, 1, 8, 1, -5 }, // 0x2D '-' - { 191, 2, 3, 6, 2, -2 }, // 0x2E '.' - { 192, 7, 17, 7, 0, -16 }, // 0x2F '/' - { 207, 10, 17, 12, 1, -16 }, // 0x30 '0' - { 229, 6, 17, 12, 3, -16 }, // 0x31 '1' - { 242, 10, 15, 12, 1, -14 }, // 0x32 '2' - { 261, 10, 16, 12, 1, -15 }, // 0x33 '3' - { 281, 10, 16, 12, 1, -15 }, // 0x34 '4' - { 301, 10, 17, 12, 1, -16 }, // 0x35 '5' - { 323, 10, 17, 12, 1, -16 }, // 0x36 '6' - { 345, 10, 16, 12, 0, -15 }, // 0x37 '7' - { 365, 10, 17, 12, 1, -16 }, // 0x38 '8' - { 387, 10, 18, 12, 1, -16 }, // 0x39 '9' - { 410, 2, 12, 6, 2, -11 }, // 0x3A ':' - { 413, 4, 15, 6, 2, -11 }, // 0x3B ';' - { 421, 12, 13, 14, 1, -12 }, // 0x3C '<' - { 441, 12, 6, 14, 1, -8 }, // 0x3D '=' - { 450, 12, 13, 14, 1, -11 }, // 0x3E '>' - { 470, 8, 17, 11, 2, -16 }, // 0x3F '?' - { 487, 17, 16, 21, 2, -15 }, // 0x40 '@' - { 521, 17, 16, 17, 0, -15 }, // 0x41 'A' - { 555, 12, 16, 15, 1, -15 }, // 0x42 'B' - { 579, 15, 16, 16, 1, -15 }, // 0x43 'C' - { 609, 16, 16, 17, 0, -15 }, // 0x44 'D' - { 641, 14, 16, 15, 0, -15 }, // 0x45 'E' - { 669, 14, 16, 14, 0, -15 }, // 0x46 'F' - { 697, 16, 16, 17, 1, -15 }, // 0x47 'G' - { 729, 16, 16, 17, 0, -15 }, // 0x48 'H' - { 761, 6, 16, 8, 1, -15 }, // 0x49 'I' - { 773, 8, 16, 9, 0, -15 }, // 0x4A 'J' - { 789, 16, 16, 17, 1, -15 }, // 0x4B 'K' - { 821, 15, 16, 15, 0, -15 }, // 0x4C 'L' - { 851, 19, 16, 21, 1, -15 }, // 0x4D 'M' - { 889, 16, 16, 17, 1, -15 }, // 0x4E 'N' - { 921, 15, 16, 17, 1, -15 }, // 0x4F 'O' - { 951, 12, 16, 14, 0, -15 }, // 0x50 'P' - { 975, 16, 20, 17, 1, -15 }, // 0x51 'Q' - { 1015, 15, 16, 16, 0, -15 }, // 0x52 'R' - { 1045, 11, 16, 13, 0, -15 }, // 0x53 'S' - { 1067, 15, 16, 15, 0, -15 }, // 0x54 'T' - { 1097, 16, 16, 17, 1, -15 }, // 0x55 'U' - { 1129, 17, 16, 17, 0, -15 }, // 0x56 'V' - { 1163, 22, 16, 23, 0, -15 }, // 0x57 'W' - { 1207, 17, 16, 17, 0, -15 }, // 0x58 'X' - { 1241, 16, 16, 17, 0, -15 }, // 0x59 'Y' - { 1273, 14, 16, 15, 1, -15 }, // 0x5A 'Z' - { 1301, 5, 20, 8, 2, -15 }, // 0x5B '[' - { 1314, 7, 17, 7, 0, -16 }, // 0x5C '\' - { 1329, 5, 20, 8, 1, -15 }, // 0x5D ']' - { 1342, 10, 9, 11, 1, -15 }, // 0x5E '^' - { 1354, 12, 1, 12, 0, 3 }, // 0x5F '_' - { 1356, 5, 4, 6, 0, -15 }, // 0x60 '`' - { 1359, 10, 11, 10, 1, -10 }, // 0x61 'a' - { 1373, 10, 17, 12, 1, -16 }, // 0x62 'b' - { 1395, 8, 11, 11, 1, -10 }, // 0x63 'c' - { 1406, 10, 17, 12, 1, -16 }, // 0x64 'd' - { 1428, 10, 11, 11, 1, -10 }, // 0x65 'e' - { 1442, 9, 17, 9, 0, -16 }, // 0x66 'f' - { 1462, 12, 16, 11, 0, -10 }, // 0x67 'g' - { 1486, 11, 17, 12, 0, -16 }, // 0x68 'h' - { 1510, 5, 16, 7, 0, -15 }, // 0x69 'i' - { 1520, 6, 21, 8, 0, -15 }, // 0x6A 'j' - { 1536, 11, 17, 12, 1, -16 }, // 0x6B 'k' - { 1560, 5, 17, 6, 0, -16 }, // 0x6C 'l' - { 1571, 18, 11, 19, 0, -10 }, // 0x6D 'm' - { 1596, 11, 11, 12, 0, -10 }, // 0x6E 'n' - { 1612, 10, 11, 12, 1, -10 }, // 0x6F 'o' - { 1626, 11, 16, 12, 0, -10 }, // 0x70 'p' - { 1648, 10, 16, 12, 1, -10 }, // 0x71 'q' - { 1668, 8, 11, 8, 0, -10 }, // 0x72 'r' - { 1679, 7, 11, 9, 1, -10 }, // 0x73 's' - { 1689, 6, 13, 7, 1, -12 }, // 0x74 't' - { 1699, 10, 11, 12, 1, -10 }, // 0x75 'u' - { 1713, 11, 11, 11, 0, -10 }, // 0x76 'v' - { 1729, 16, 11, 16, 0, -10 }, // 0x77 'w' - { 1751, 11, 11, 12, 0, -10 }, // 0x78 'x' - { 1767, 11, 16, 11, 0, -10 }, // 0x79 'y' - { 1789, 10, 11, 10, 0, -10 }, // 0x7A 'z' - { 1803, 5, 21, 12, 2, -16 }, // 0x7B '{' - { 1817, 1, 17, 5, 2, -16 }, // 0x7C '|' - { 1820, 5, 21, 12, 5, -15 }, // 0x7D '}' - { 1834, 12, 3, 12, 0, -6 } }; // 0x7E '~' - -const GFXfont FreeSerif12pt7b PROGMEM = { - (uint8_t *)FreeSerif12pt7bBitmaps, - (GFXglyph *)FreeSerif12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2511 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h deleted file mode 100644 index 7d19dd1..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif18pt7b.h +++ /dev/null @@ -1,429 +0,0 @@ -const uint8_t FreeSerif18pt7bBitmaps[] PROGMEM = { - 0x6F, 0xFF, 0xFF, 0xFE, 0x66, 0x66, 0x66, 0x64, 0x40, 0x00, 0x6F, 0xF6, - 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0x46, 0x42, 0x42, 0x42, 0x03, 0x06, 0x01, - 0x83, 0x00, 0xC1, 0x80, 0x61, 0xC0, 0x30, 0xC0, 0x38, 0x60, 0x18, 0x30, - 0xFF, 0xFF, 0x7F, 0xFF, 0x83, 0x06, 0x01, 0x86, 0x00, 0xC3, 0x00, 0xC1, - 0x87, 0xFF, 0xFF, 0xFF, 0xFE, 0x18, 0x30, 0x0C, 0x18, 0x06, 0x18, 0x06, - 0x0C, 0x03, 0x06, 0x01, 0x83, 0x00, 0xC1, 0x80, 0x60, 0xC0, 0x02, 0x00, - 0x10, 0x03, 0xE0, 0x64, 0xE6, 0x23, 0x61, 0x1B, 0x08, 0x58, 0x42, 0xE2, - 0x03, 0x90, 0x1F, 0x80, 0x7E, 0x00, 0xFC, 0x01, 0xF0, 0x0F, 0xC0, 0x4E, - 0x02, 0x38, 0x10, 0xE0, 0x87, 0x04, 0x3C, 0x21, 0xE1, 0x1B, 0xC9, 0xCF, - 0xFC, 0x1F, 0x80, 0x10, 0x00, 0x80, 0x07, 0x80, 0x20, 0x0F, 0xF0, 0x70, - 0x0F, 0x07, 0xD0, 0x0F, 0x02, 0x18, 0x07, 0x01, 0x18, 0x07, 0x00, 0x8C, - 0x03, 0x80, 0x4C, 0x01, 0x80, 0x44, 0x00, 0xC0, 0x26, 0x00, 0x60, 0x22, - 0x0F, 0x30, 0x33, 0x1F, 0xCC, 0x73, 0x1E, 0x37, 0xF1, 0x8E, 0x19, 0xE1, - 0x8E, 0x04, 0x00, 0x86, 0x02, 0x00, 0xC7, 0x01, 0x00, 0xC3, 0x80, 0x80, - 0x61, 0x80, 0x80, 0x60, 0xC0, 0x40, 0x30, 0x60, 0x40, 0x30, 0x38, 0xE0, - 0x30, 0x0F, 0xE0, 0x18, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x00, 0x7E, 0x00, - 0x00, 0x61, 0x80, 0x00, 0x60, 0x60, 0x00, 0x30, 0x30, 0x00, 0x18, 0x18, - 0x00, 0x0C, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x03, 0x8E, 0x00, 0x01, 0xCE, - 0x00, 0x00, 0x7C, 0x3F, 0xC0, 0x38, 0x07, 0x80, 0x3E, 0x03, 0x80, 0x77, - 0x01, 0x80, 0x73, 0xC0, 0x80, 0xF0, 0xF0, 0xC0, 0x70, 0x7C, 0xC0, 0x78, - 0x1E, 0x40, 0x3C, 0x07, 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x0F, - 0xC0, 0xFF, 0x0D, 0xF0, 0xC7, 0xFC, 0x7F, 0xC1, 0xFC, 0x1F, 0x80, 0x3C, - 0x00, 0xFF, 0xFE, 0x92, 0x40, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, - 0xC0, 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, - 0x70, 0x38, 0x0C, 0x06, 0x03, 0x80, 0xC0, 0x60, 0x18, 0x0C, 0x03, 0x00, - 0xC0, 0x30, 0x0C, 0x80, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x60, 0x18, 0x0C, - 0x07, 0x01, 0x80, 0xC0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, - 0xE0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x00, 0x0C, 0x00, 0xC0, 0x0C, 0x0C, 0x46, 0xE4, 0xF7, 0x5E, 0x1F, 0x00, - 0xC0, 0x17, 0x8E, 0x4E, 0xE4, 0xFC, 0xC6, 0x0C, 0x00, 0xC0, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x6F, 0xFF, - 0x11, 0x24, 0x80, 0xFF, 0xFF, 0x6F, 0xF6, 0x00, 0xC0, 0x60, 0x18, 0x06, - 0x03, 0x80, 0xC0, 0x30, 0x1C, 0x06, 0x01, 0x80, 0xE0, 0x30, 0x0C, 0x07, - 0x01, 0x80, 0x60, 0x38, 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, - 0x00, 0x03, 0xE0, 0x0E, 0x70, 0x1C, 0x38, 0x38, 0x1C, 0x38, 0x1C, 0x78, - 0x1E, 0x70, 0x0E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, - 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70, 0x0E, 0x70, - 0x0E, 0x78, 0x1E, 0x38, 0x1C, 0x38, 0x1C, 0x1C, 0x38, 0x0C, 0x30, 0x03, - 0xC0, 0x06, 0x03, 0x83, 0xE3, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, - 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, - 0xE0, 0x38, 0x0E, 0x03, 0x81, 0xE1, 0xFF, 0x07, 0xC0, 0x1F, 0xF0, 0x3F, - 0xF8, 0x70, 0xF8, 0x60, 0x3C, 0xC0, 0x3C, 0x80, 0x1C, 0x00, 0x1C, 0x00, - 0x1C, 0x00, 0x18, 0x00, 0x18, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, - 0xC0, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x01, 0x10, - 0x02, 0x3F, 0xFE, 0x7F, 0xFC, 0xFF, 0xFC, 0x0F, 0xC0, 0xFF, 0x0C, 0x3C, - 0x80, 0xE4, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x04, 0x00, 0x40, 0x04, 0x00, - 0xF8, 0x1F, 0xE0, 0x0F, 0x00, 0x1C, 0x00, 0xE0, 0x03, 0x00, 0x18, 0x00, - 0xC0, 0x06, 0x00, 0x60, 0x03, 0x78, 0x73, 0xFF, 0x0F, 0xC0, 0x00, 0x30, - 0x00, 0x30, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xB0, 0x01, 0x30, 0x03, 0x30, - 0x06, 0x30, 0x04, 0x30, 0x08, 0x30, 0x18, 0x30, 0x10, 0x30, 0x20, 0x30, - 0x60, 0x30, 0xC0, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x30, 0x00, 0x30, - 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x7F, 0xC3, - 0xFE, 0x1F, 0xE1, 0x80, 0x08, 0x00, 0xC0, 0x07, 0xC0, 0x7F, 0x81, 0xFF, - 0x00, 0xFC, 0x01, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x60, 0x03, 0x00, 0x18, - 0x00, 0xC0, 0x06, 0x00, 0x60, 0x07, 0x78, 0x73, 0xFF, 0x0F, 0xC0, 0x00, - 0x0E, 0x00, 0xF8, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, - 0x00, 0x7C, 0x00, 0x79, 0xF0, 0x7F, 0xFC, 0xF8, 0x3C, 0xF0, 0x1E, 0xF0, - 0x1F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70, 0x0F, 0x78, - 0x0F, 0x78, 0x0E, 0x3C, 0x1E, 0x1E, 0x3C, 0x0F, 0xF8, 0x07, 0xE0, 0x3F, - 0xFD, 0xFF, 0xF7, 0xFF, 0xF0, 0x06, 0x80, 0x18, 0x00, 0x60, 0x03, 0x00, - 0x0C, 0x00, 0x30, 0x01, 0x80, 0x06, 0x00, 0x18, 0x00, 0xE0, 0x03, 0x00, - 0x0C, 0x00, 0x70, 0x01, 0x80, 0x06, 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, - 0x1C, 0x00, 0x60, 0x00, 0x0F, 0x83, 0xFC, 0x70, 0xE6, 0x07, 0xC0, 0x3C, - 0x03, 0xC0, 0x3E, 0x03, 0x70, 0x67, 0x8C, 0x3D, 0x81, 0xF0, 0x0F, 0x81, - 0x7C, 0x21, 0xE6, 0x0E, 0xC0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x36, - 0x06, 0x70, 0xE3, 0xFC, 0x0F, 0x80, 0x07, 0xC0, 0x1F, 0xF0, 0x3C, 0x78, - 0x38, 0x3C, 0x78, 0x1E, 0x70, 0x1E, 0xF0, 0x0E, 0xF0, 0x0F, 0xF0, 0x0F, - 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF8, 0x0F, 0x78, 0x0F, 0x3C, 0x3F, - 0x1F, 0xEE, 0x0F, 0x9E, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x78, - 0x00, 0xF0, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x00, 0x6F, 0xF6, - 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0x60, 0x67, 0xBC, 0xC0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x19, 0xEF, 0x78, 0x42, 0x22, 0x20, 0x00, 0x00, 0xC0, - 0x00, 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x03, 0xF0, - 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, - 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xC0, - 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, - 0x00, 0x3C, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x7C, - 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0xFC, - 0x00, 0xFC, 0x00, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF8, 0x00, 0xF0, - 0x00, 0x30, 0x00, 0x00, 0x1F, 0x81, 0xFF, 0x18, 0x7D, 0x81, 0xEC, 0x07, - 0xF0, 0x3F, 0x81, 0xE0, 0x0F, 0x00, 0x70, 0x03, 0x80, 0x38, 0x01, 0x80, - 0x08, 0x00, 0xC0, 0x04, 0x00, 0x20, 0x02, 0x00, 0x10, 0x00, 0x80, 0x00, - 0x00, 0x00, 0x03, 0x00, 0x3C, 0x01, 0xE0, 0x07, 0x00, 0x00, 0x7F, 0x00, - 0x01, 0xFF, 0xC0, 0x07, 0x80, 0xF0, 0x0F, 0x00, 0x38, 0x1C, 0x00, 0x1C, - 0x38, 0x00, 0x0C, 0x38, 0x00, 0x06, 0x70, 0x1E, 0x02, 0x70, 0x3F, 0xE3, - 0xF0, 0x71, 0xE1, 0xE0, 0xE0, 0xC1, 0xE0, 0xC0, 0xC1, 0xE0, 0xC1, 0xC1, - 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0x83, 0xE1, 0x83, 0x82, 0xE1, 0x83, 0x86, - 0x71, 0xC7, 0x8C, 0x70, 0xF9, 0xF8, 0x38, 0xF0, 0xF0, 0x3C, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x07, 0x80, 0x70, 0x03, 0xFF, 0xE0, 0x00, 0x7F, 0x00, - 0x00, 0x10, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x5C, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x8E, 0x00, - 0x01, 0x8F, 0x00, 0x01, 0x87, 0x00, 0x03, 0x07, 0x80, 0x03, 0x03, 0x80, - 0x02, 0x03, 0xC0, 0x06, 0x03, 0xC0, 0x07, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, - 0x0C, 0x01, 0xE0, 0x18, 0x00, 0xF0, 0x18, 0x00, 0xF0, 0x30, 0x00, 0x78, - 0x30, 0x00, 0x78, 0x70, 0x00, 0x7C, 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x03, - 0xFF, 0xF8, 0x1E, 0x0F, 0xC1, 0xE0, 0x3C, 0x1E, 0x01, 0xE1, 0xE0, 0x1E, - 0x1E, 0x01, 0xE1, 0xE0, 0x1E, 0x1E, 0x03, 0xC1, 0xE0, 0x78, 0x1F, 0xFE, - 0x01, 0xFF, 0xF0, 0x1E, 0x07, 0xC1, 0xE0, 0x1E, 0x1E, 0x00, 0xF1, 0xE0, - 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x0F, 0x1E, 0x00, 0xF1, 0xE0, 0x1E, 0x1E, - 0x07, 0xE3, 0xFF, 0xF8, 0xFF, 0xFE, 0x00, 0x00, 0xFE, 0x08, 0x0F, 0xFF, - 0x60, 0xFC, 0x1F, 0x87, 0xC0, 0x1E, 0x3C, 0x00, 0x38, 0xF0, 0x00, 0x67, - 0x80, 0x01, 0x9E, 0x00, 0x02, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, - 0x00, 0x02, 0x1F, 0x00, 0x38, 0x3F, 0x03, 0x80, 0x7F, 0xFC, 0x00, 0x3F, - 0x80, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x78, 0x3F, 0x80, 0xF0, 0x0F, - 0x81, 0xE0, 0x0F, 0x83, 0xC0, 0x0F, 0x07, 0x80, 0x0F, 0x0F, 0x00, 0x1E, - 0x1E, 0x00, 0x1E, 0x3C, 0x00, 0x3C, 0x78, 0x00, 0x78, 0xF0, 0x00, 0xF1, - 0xE0, 0x01, 0xE3, 0xC0, 0x03, 0xC7, 0x80, 0x07, 0x8F, 0x00, 0x1E, 0x1E, - 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xE0, 0xF0, 0x0F, 0x81, 0xE0, - 0x7E, 0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x87, 0xFF, - 0xF8, 0x3C, 0x01, 0x83, 0xC0, 0x08, 0x3C, 0x00, 0x83, 0xC0, 0x00, 0x3C, - 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x02, 0x03, 0xC0, 0x60, 0x3F, 0xFE, 0x03, - 0xFF, 0xE0, 0x3C, 0x06, 0x03, 0xC0, 0x20, 0x3C, 0x00, 0x03, 0xC0, 0x00, - 0x3C, 0x00, 0x03, 0xC0, 0x01, 0x3C, 0x00, 0x23, 0xC0, 0x06, 0x3C, 0x01, - 0xE7, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xBF, 0xFF, 0xCF, 0x00, - 0x67, 0x80, 0x13, 0xC0, 0x09, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, - 0x02, 0x1E, 0x03, 0x0F, 0xFF, 0x87, 0xFF, 0xC3, 0xC0, 0x61, 0xE0, 0x10, - 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, - 0x03, 0xC0, 0x03, 0xF0, 0x03, 0xFC, 0x00, 0x00, 0xFE, 0x04, 0x07, 0xFF, - 0xB8, 0x1F, 0x03, 0xF0, 0xF8, 0x01, 0xE3, 0xE0, 0x01, 0xC7, 0x80, 0x01, - 0x9E, 0x00, 0x01, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, - 0xC0, 0x00, 0x07, 0x80, 0x07, 0xFF, 0x00, 0x07, 0xDE, 0x00, 0x07, 0xBC, - 0x00, 0x0F, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xF0, - 0x00, 0xF1, 0xF0, 0x01, 0xE1, 0xF0, 0x03, 0xC1, 0xF8, 0x1F, 0x00, 0xFF, - 0xFC, 0x00, 0x3F, 0x80, 0xFF, 0x03, 0xFD, 0xF8, 0x07, 0xE3, 0xC0, 0x0F, - 0x0F, 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, - 0x00, 0x3C, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xFF, 0xFF, 0x0F, 0xFF, - 0xFC, 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, 0x00, 0x3C, - 0x3C, 0x00, 0xF0, 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x0F, 0x00, 0x3C, 0x3C, - 0x00, 0xF1, 0xF8, 0x07, 0xEF, 0xF0, 0x3F, 0xC0, 0xFF, 0xBF, 0x0F, 0x07, - 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, - 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC3, 0xF3, 0xFE, 0x0F, 0xF0, - 0x7E, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xC6, 0x38, 0xF3, 0x8F, 0xF0, 0x7C, 0x00, 0xFF, 0x07, 0xFC, - 0xFC, 0x03, 0xC0, 0xF0, 0x07, 0x01, 0xE0, 0x1C, 0x03, 0xC0, 0x60, 0x07, - 0x81, 0x80, 0x0F, 0x06, 0x00, 0x1E, 0x18, 0x00, 0x3C, 0x60, 0x00, 0x79, - 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xDF, 0x00, 0x07, 0x8F, - 0x00, 0x0F, 0x0F, 0x00, 0x1E, 0x0F, 0x00, 0x3C, 0x0F, 0x00, 0x78, 0x0F, - 0x00, 0xF0, 0x1F, 0x01, 0xE0, 0x1F, 0x03, 0xC0, 0x1F, 0x0F, 0xC0, 0x3F, - 0x3F, 0xC1, 0xFF, 0x80, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x1E, - 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, - 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, - 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, 0x04, 0xF0, - 0x01, 0x1E, 0x00, 0x63, 0xC0, 0x3C, 0xFF, 0xFF, 0xBF, 0xFF, 0xE0, 0xFC, - 0x00, 0x03, 0xF9, 0xF0, 0x00, 0x1F, 0x87, 0x80, 0x01, 0xF8, 0x3E, 0x00, - 0x0F, 0xC1, 0xF0, 0x00, 0x5E, 0x0B, 0xC0, 0x06, 0xF0, 0x5E, 0x00, 0x37, - 0x82, 0x78, 0x03, 0x3C, 0x13, 0xC0, 0x19, 0xE0, 0x8F, 0x01, 0x8F, 0x04, - 0x78, 0x0C, 0x78, 0x21, 0xE0, 0xC3, 0xC1, 0x0F, 0x06, 0x1E, 0x08, 0x3C, - 0x60, 0xF0, 0x41, 0xE3, 0x07, 0x82, 0x07, 0xB0, 0x3C, 0x10, 0x3D, 0x81, - 0xE0, 0x81, 0xF8, 0x0F, 0x04, 0x07, 0xC0, 0x78, 0x20, 0x3C, 0x03, 0xC1, - 0x00, 0xE0, 0x1E, 0x1C, 0x06, 0x01, 0xFB, 0xF8, 0x10, 0x1F, 0xE0, 0xFC, - 0x00, 0xFE, 0x78, 0x00, 0x70, 0x78, 0x00, 0x40, 0xF8, 0x00, 0x81, 0xF8, - 0x01, 0x02, 0xF8, 0x02, 0x04, 0xF8, 0x04, 0x08, 0xF0, 0x08, 0x11, 0xF0, - 0x10, 0x21, 0xF0, 0x20, 0x41, 0xF0, 0x40, 0x81, 0xF0, 0x81, 0x01, 0xF1, - 0x02, 0x01, 0xE2, 0x04, 0x03, 0xE4, 0x08, 0x03, 0xE8, 0x10, 0x03, 0xF0, - 0x20, 0x03, 0xE0, 0x40, 0x03, 0xC0, 0x80, 0x03, 0x81, 0x00, 0x07, 0x07, - 0x00, 0x06, 0x3F, 0x80, 0x04, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xFF, 0x00, - 0x3E, 0x0F, 0x80, 0xF0, 0x07, 0x83, 0xC0, 0x07, 0x87, 0x80, 0x07, 0x1E, - 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xC0, - 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, - 0x07, 0xF8, 0x00, 0x0F, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x78, 0xE0, 0x01, - 0xE1, 0xE0, 0x03, 0xC1, 0xE0, 0x0F, 0x01, 0xF0, 0x7C, 0x00, 0xFF, 0xE0, - 0x00, 0x7F, 0x00, 0xFF, 0xF8, 0x1F, 0xFF, 0x83, 0xC1, 0xF0, 0xF0, 0x1E, - 0x3C, 0x07, 0xCF, 0x00, 0xF3, 0xC0, 0x3C, 0xF0, 0x0F, 0x3C, 0x03, 0xCF, - 0x01, 0xF3, 0xC0, 0x78, 0xF0, 0x7C, 0x3F, 0xFE, 0x0F, 0xFE, 0x03, 0xC0, - 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, - 0x3C, 0x00, 0x1F, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xFF, - 0x00, 0x3E, 0x0F, 0x80, 0xF0, 0x07, 0x83, 0xC0, 0x07, 0x87, 0x80, 0x0F, - 0x1E, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF0, 0x00, 0x1D, 0xE0, 0x00, 0x3F, - 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, - 0x00, 0x07, 0xF8, 0x00, 0x0F, 0x70, 0x00, 0x1C, 0xF0, 0x00, 0x79, 0xE0, - 0x00, 0xF1, 0xE0, 0x03, 0xC1, 0xC0, 0x07, 0x01, 0xC0, 0x1C, 0x01, 0xE0, - 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0xC0, 0xFF, 0xF0, - 0x03, 0xFF, 0xF0, 0x0F, 0x07, 0xC0, 0x78, 0x1E, 0x03, 0xC0, 0x78, 0x1E, - 0x03, 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xF0, 0x3C, 0x07, 0x81, 0xE0, 0x78, - 0x0F, 0x0F, 0x80, 0x7F, 0xF8, 0x03, 0xFE, 0x00, 0x1E, 0x78, 0x00, 0xF1, - 0xE0, 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, 0xE0, 0xF0, 0x0F, 0x03, 0xC0, - 0x78, 0x0F, 0x03, 0xC0, 0x7C, 0x3F, 0x01, 0xF3, 0xFC, 0x07, 0xE0, 0x07, - 0x84, 0x1F, 0xFC, 0x3C, 0x3E, 0x30, 0x0E, 0x70, 0x06, 0x70, 0x06, 0x70, - 0x02, 0x78, 0x00, 0x7C, 0x00, 0x3F, 0x00, 0x1F, 0xC0, 0x0F, 0xE0, 0x03, - 0xF8, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, - 0x0F, 0xE0, 0x0F, 0x70, 0x1E, 0x78, 0x3C, 0x4F, 0xF8, 0x43, 0xF0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x7C, 0x0F, 0x03, 0x80, 0xF0, 0x10, - 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, - 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, - 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, - 0x00, 0x00, 0xF0, 0x00, 0x1F, 0x80, 0x03, 0xFC, 0x00, 0xFF, 0x01, 0xFD, - 0xF8, 0x01, 0xC3, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, - 0x00, 0x83, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, - 0x83, 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, 0x83, - 0xC0, 0x02, 0x0F, 0x00, 0x08, 0x3C, 0x00, 0x20, 0xF0, 0x00, 0x81, 0xE0, - 0x04, 0x07, 0x80, 0x30, 0x0F, 0x81, 0x80, 0x1F, 0xFC, 0x00, 0x1F, 0xC0, - 0x00, 0xFF, 0xC0, 0x7F, 0x3E, 0x00, 0x1E, 0x1E, 0x00, 0x0C, 0x0E, 0x00, - 0x18, 0x0F, 0x00, 0x18, 0x07, 0x00, 0x10, 0x07, 0x80, 0x30, 0x07, 0x80, - 0x30, 0x03, 0xC0, 0x60, 0x03, 0xC0, 0x60, 0x01, 0xE0, 0x40, 0x01, 0xE0, - 0xC0, 0x00, 0xF0, 0xC0, 0x00, 0xF1, 0x80, 0x00, 0x71, 0x80, 0x00, 0x7B, - 0x00, 0x00, 0x3B, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x08, 0x00, 0xFF, 0x9F, - 0xF0, 0x3F, 0x9F, 0x03, 0xE0, 0x07, 0x07, 0x80, 0xF0, 0x03, 0x03, 0xC0, - 0x78, 0x01, 0x80, 0xE0, 0x1E, 0x00, 0x80, 0x78, 0x0F, 0x00, 0xC0, 0x1C, - 0x03, 0x80, 0x60, 0x0F, 0x01, 0xE0, 0x20, 0x07, 0x81, 0xF0, 0x30, 0x01, - 0xC0, 0xBC, 0x18, 0x00, 0xF0, 0xDE, 0x08, 0x00, 0x78, 0x67, 0x0C, 0x00, - 0x1E, 0x23, 0xC4, 0x00, 0x0F, 0x31, 0xE6, 0x00, 0x03, 0x90, 0x7B, 0x00, - 0x01, 0xF8, 0x3D, 0x00, 0x00, 0xFC, 0x0F, 0x80, 0x00, 0x3C, 0x07, 0xC0, - 0x00, 0x1E, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0xE0, 0x00, 0x03, 0x00, 0x70, - 0x00, 0x01, 0x80, 0x10, 0x00, 0x00, 0x80, 0x08, 0x00, 0x7F, 0xE0, 0xFF, - 0x0F, 0xC0, 0x1E, 0x03, 0xE0, 0x0E, 0x00, 0xF0, 0x06, 0x00, 0x3C, 0x06, - 0x00, 0x0F, 0x06, 0x00, 0x07, 0x86, 0x00, 0x01, 0xE6, 0x00, 0x00, 0x7B, - 0x00, 0x00, 0x3F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x03, - 0xF0, 0x00, 0x03, 0x78, 0x00, 0x01, 0x9E, 0x00, 0x01, 0x87, 0x80, 0x01, - 0x83, 0xE0, 0x01, 0x80, 0xF0, 0x01, 0x80, 0x3C, 0x01, 0x80, 0x1F, 0x01, - 0xC0, 0x07, 0xC1, 0xE0, 0x03, 0xF3, 0xFE, 0x0F, 0xFE, 0xFF, 0xC0, 0xFF, - 0x7E, 0x00, 0x1C, 0x1E, 0x00, 0x18, 0x1F, 0x00, 0x30, 0x0F, 0x00, 0x60, - 0x07, 0x80, 0x60, 0x03, 0xC0, 0xC0, 0x03, 0xE1, 0x80, 0x01, 0xE1, 0x80, - 0x00, 0xF3, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, - 0x00, 0x7E, 0x00, 0x01, 0xFF, 0x80, 0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0x9C, - 0x00, 0x78, 0xC0, 0x07, 0x84, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x3C, - 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, - 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, - 0x07, 0x00, 0x00, 0x78, 0x00, 0x47, 0x80, 0x06, 0x78, 0x00, 0x33, 0x80, - 0x07, 0x3F, 0xFF, 0xFB, 0xFF, 0xFF, 0xC0, 0xFF, 0x83, 0x06, 0x0C, 0x18, - 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, - 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, 0xF0, 0xC0, 0x18, 0x06, 0x01, - 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x18, 0x06, 0x01, 0xC0, 0x30, 0x0C, - 0x03, 0x80, 0x60, 0x18, 0x07, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, - 0x1C, 0x03, 0xFE, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, - 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, - 0x0C, 0x1F, 0xF0, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x76, 0x00, 0xCE, - 0x03, 0x8C, 0x06, 0x1C, 0x1C, 0x18, 0x30, 0x30, 0xE0, 0x31, 0x80, 0x67, - 0x00, 0x6C, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0xE0, 0x70, - 0x18, 0x0C, 0x03, 0x1F, 0x03, 0x8C, 0x38, 0x31, 0xC1, 0x8E, 0x0C, 0x00, - 0x60, 0x0F, 0x01, 0x98, 0x30, 0xC3, 0x86, 0x38, 0x31, 0xC1, 0x8E, 0x0C, - 0x78, 0xE5, 0xFB, 0xCF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0xF8, 0x00, 0x38, - 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x39, - 0xF0, 0x3B, 0xFC, 0x3C, 0x3E, 0x38, 0x0E, 0x38, 0x0F, 0x38, 0x07, 0x38, - 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x06, 0x38, 0x0E, 0x38, - 0x0C, 0x3C, 0x1C, 0x1F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x7F, 0xE3, 0x87, - 0xD8, 0x0F, 0x60, 0x1B, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, - 0x0E, 0x00, 0x3C, 0x01, 0x78, 0x19, 0xFF, 0xC3, 0xFE, 0x03, 0xE0, 0x00, - 0x00, 0x00, 0x1C, 0x00, 0x7C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, - 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x07, 0x9C, 0x1F, 0xDC, 0x38, 0x7C, 0x70, - 0x3C, 0x70, 0x1C, 0x60, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, - 0x1C, 0xE0, 0x1C, 0xF0, 0x1C, 0x70, 0x1C, 0x7C, 0x3E, 0x3F, 0xDF, 0x0F, - 0x90, 0x0F, 0x81, 0xFF, 0x08, 0x3C, 0x80, 0xE7, 0xFF, 0x7F, 0xFF, 0x00, - 0x18, 0x00, 0xC0, 0x07, 0x00, 0x38, 0x03, 0xE0, 0x37, 0x83, 0x3F, 0xF0, - 0xFF, 0x03, 0xF0, 0x01, 0xF0, 0x3F, 0xC3, 0x8E, 0x18, 0x00, 0xC0, 0x0E, - 0x00, 0x70, 0x03, 0x80, 0x1C, 0x03, 0xFE, 0x1F, 0xF0, 0x38, 0x01, 0xC0, - 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, - 0xC0, 0x0E, 0x00, 0x70, 0x07, 0xC0, 0xFF, 0x80, 0x0F, 0xC0, 0x1F, 0xFF, - 0x38, 0xFF, 0x70, 0x70, 0x70, 0x70, 0x70, 0x30, 0x70, 0x30, 0x70, 0x30, - 0x38, 0x20, 0x1C, 0x60, 0x0F, 0x80, 0x10, 0x00, 0x20, 0x00, 0x60, 0x00, - 0x7F, 0xE0, 0x3F, 0xFC, 0x1F, 0xFE, 0x20, 0x06, 0x40, 0x02, 0xC0, 0x02, - 0xC0, 0x04, 0xF0, 0x18, 0x7F, 0xF0, 0x1F, 0x80, 0x00, 0x00, 0x38, 0x00, - 0xF8, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, - 0x38, 0x00, 0x38, 0xF0, 0x3B, 0xF8, 0x3E, 0x3C, 0x3C, 0x1C, 0x38, 0x1C, - 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, - 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x7C, 0x3E, 0xFE, 0x7F, 0x18, 0x3C, - 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3C, 0x7C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x3C, 0xFF, 0x03, 0x03, - 0xC1, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xC3, 0xE0, 0x70, - 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, - 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x37, 0x3B, 0xF8, 0xF8, 0x00, 0x00, - 0x1C, 0x00, 0x3E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, - 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x3F, 0x8E, 0x0F, 0x07, 0x06, 0x03, - 0x86, 0x01, 0xC4, 0x00, 0xE4, 0x00, 0x7E, 0x00, 0x3F, 0x80, 0x1D, 0xC0, - 0x0E, 0x70, 0x07, 0x1C, 0x03, 0x8F, 0x01, 0xC3, 0xC0, 0xE0, 0xF0, 0xF8, - 0x3C, 0xFE, 0x7F, 0x80, 0x00, 0x1C, 0x7C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x3C, 0xFF, 0x38, 0xF0, 0x7C, 0x3E, 0xFE, 0x7F, 0x83, - 0xE3, 0xF0, 0xE0, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, 0x07, 0x01, - 0xC3, 0x81, 0xC0, 0x70, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, 0x07, - 0x01, 0xC3, 0x81, 0xC0, 0x70, 0xE0, 0x70, 0x1C, 0x38, 0x1C, 0x07, 0x0E, - 0x07, 0x01, 0xC3, 0x81, 0xE0, 0x73, 0xF9, 0xFC, 0x7F, 0x38, 0xF0, 0xFB, - 0xF8, 0x3E, 0x3C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, - 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, - 0x1C, 0x78, 0x3C, 0xFE, 0x7F, 0x07, 0xE0, 0x1F, 0xF8, 0x3C, 0x7C, 0x78, - 0x3E, 0x70, 0x1E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, - 0x0F, 0xF8, 0x0F, 0x78, 0x0E, 0x7C, 0x1C, 0x3E, 0x3C, 0x0F, 0xF0, 0x07, - 0xC0, 0x18, 0xF0, 0xFB, 0xFC, 0x3E, 0x1E, 0x38, 0x0E, 0x38, 0x0F, 0x38, - 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x07, 0x38, 0x06, 0x38, - 0x0E, 0x38, 0x0C, 0x3E, 0x1C, 0x3B, 0xF8, 0x39, 0xE0, 0x38, 0x00, 0x38, - 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7C, 0x00, 0xFF, - 0x00, 0x07, 0xC4, 0x1F, 0xEC, 0x3C, 0x3C, 0x70, 0x1C, 0x70, 0x1C, 0x60, - 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xE0, 0x1C, 0xF0, - 0x1C, 0x70, 0x1C, 0x78, 0x3C, 0x3F, 0xDC, 0x1F, 0x1C, 0x00, 0x1C, 0x00, - 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3E, 0x00, - 0xFF, 0x19, 0xFF, 0x7C, 0xF3, 0x9C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, - 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x1F, 0x07, 0xF0, 0x3E, - 0x58, 0x7C, 0x0F, 0x03, 0xC0, 0x7C, 0x07, 0x80, 0xF8, 0x1F, 0x81, 0xF8, - 0x1E, 0x03, 0xC0, 0xF0, 0x3E, 0x1A, 0x7C, 0x10, 0x30, 0x70, 0xFE, 0xFE, - 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x79, - 0x7E, 0x3C, 0xF8, 0x7C, 0x38, 0x3C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, - 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, 0x38, 0x1C, - 0x38, 0x1C, 0x38, 0x1C, 0x3C, 0x7C, 0x1F, 0xDF, 0x0F, 0x18, 0xFE, 0x1F, - 0x7C, 0x06, 0x38, 0x04, 0x1C, 0x04, 0x1C, 0x0C, 0x0E, 0x08, 0x0E, 0x18, - 0x07, 0x10, 0x07, 0x10, 0x07, 0x20, 0x03, 0xA0, 0x03, 0xE0, 0x01, 0xC0, - 0x01, 0xC0, 0x00, 0x80, 0x00, 0x80, 0xFC, 0x7F, 0x1F, 0x78, 0x3C, 0x06, - 0x38, 0x1C, 0x04, 0x38, 0x1C, 0x04, 0x1C, 0x1C, 0x0C, 0x1C, 0x0E, 0x08, - 0x1C, 0x1E, 0x18, 0x0E, 0x17, 0x10, 0x0E, 0x37, 0x10, 0x07, 0x23, 0x30, - 0x07, 0x63, 0xA0, 0x07, 0x43, 0xE0, 0x03, 0xC1, 0xC0, 0x03, 0x81, 0xC0, - 0x01, 0x80, 0x80, 0x01, 0x00, 0x80, 0x7F, 0x7E, 0x1E, 0x0C, 0x07, 0x8C, - 0x01, 0xC4, 0x00, 0x76, 0x00, 0x3E, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x03, - 0xE0, 0x01, 0x70, 0x01, 0x1C, 0x01, 0x8F, 0x01, 0x83, 0x80, 0x80, 0xE0, - 0xC0, 0x79, 0xF0, 0xFF, 0xFE, 0x0F, 0x7C, 0x06, 0x38, 0x06, 0x1C, 0x04, - 0x1C, 0x0C, 0x0E, 0x0C, 0x0E, 0x08, 0x0F, 0x18, 0x07, 0x10, 0x07, 0x90, - 0x03, 0xB0, 0x03, 0xA0, 0x01, 0xE0, 0x01, 0xE0, 0x00, 0xC0, 0x00, 0xC0, - 0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x7E, 0x00, - 0x7C, 0x00, 0x78, 0x00, 0x7F, 0xF9, 0xFF, 0xE6, 0x07, 0x10, 0x38, 0x00, - 0xE0, 0x07, 0x00, 0x38, 0x01, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xE0, 0x07, - 0x01, 0x38, 0x0D, 0xC0, 0x3F, 0xFF, 0xBF, 0xFE, 0x07, 0x0E, 0x1C, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x60, 0x60, - 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, - 0x0E, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x70, 0x38, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x06, 0x06, - 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, - 0x70, 0xE0, 0x3E, 0x00, 0x7F, 0x87, 0xE3, 0xFE, 0x00, 0x7C }; - -const GFXglyph FreeSerif18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' - { 0, 4, 24, 12, 5, -23 }, // 0x21 '!' - { 12, 8, 9, 14, 3, -23 }, // 0x22 '"' - { 21, 17, 23, 17, 0, -22 }, // 0x23 '#' - { 70, 13, 27, 17, 2, -24 }, // 0x24 '$' - { 114, 25, 23, 29, 2, -22 }, // 0x25 '%' - { 186, 25, 25, 27, 1, -24 }, // 0x26 '&' - { 265, 3, 9, 7, 2, -23 }, // 0x27 ''' - { 269, 9, 30, 12, 2, -23 }, // 0x28 '(' - { 303, 9, 30, 12, 1, -22 }, // 0x29 ')' - { 337, 12, 14, 18, 3, -23 }, // 0x2A '*' - { 358, 16, 18, 20, 2, -17 }, // 0x2B '+' - { 394, 4, 9, 9, 2, -3 }, // 0x2C ',' - { 399, 8, 2, 12, 1, -8 }, // 0x2D '-' - { 401, 4, 4, 9, 2, -3 }, // 0x2E '.' - { 403, 10, 24, 10, 0, -23 }, // 0x2F '/' - { 433, 16, 24, 18, 1, -23 }, // 0x30 '0' - { 481, 10, 24, 18, 3, -23 }, // 0x31 '1' - { 511, 16, 24, 17, 1, -23 }, // 0x32 '2' - { 559, 13, 24, 17, 2, -23 }, // 0x33 '3' - { 598, 16, 23, 18, 0, -22 }, // 0x34 '4' - { 644, 13, 24, 17, 2, -23 }, // 0x35 '5' - { 683, 16, 24, 18, 1, -23 }, // 0x36 '6' - { 731, 14, 23, 18, 1, -22 }, // 0x37 '7' - { 772, 12, 25, 18, 2, -24 }, // 0x38 '8' - { 810, 16, 26, 17, 1, -24 }, // 0x39 '9' - { 862, 4, 17, 9, 2, -16 }, // 0x3A ':' - { 871, 5, 22, 9, 2, -16 }, // 0x3B ';' - { 885, 18, 18, 20, 1, -17 }, // 0x3C '<' - { 926, 18, 9, 20, 1, -12 }, // 0x3D '=' - { 947, 18, 18, 20, 1, -17 }, // 0x3E '>' - { 988, 13, 25, 16, 2, -24 }, // 0x3F '?' - { 1029, 24, 25, 30, 3, -24 }, // 0x40 '@' - { 1104, 24, 23, 25, 1, -22 }, // 0x41 'A' - { 1173, 20, 23, 22, 1, -22 }, // 0x42 'B' - { 1231, 22, 24, 23, 1, -23 }, // 0x43 'C' - { 1297, 23, 23, 25, 1, -22 }, // 0x44 'D' - { 1364, 20, 23, 21, 2, -22 }, // 0x45 'E' - { 1422, 17, 23, 20, 2, -22 }, // 0x46 'F' - { 1471, 23, 24, 25, 1, -23 }, // 0x47 'G' - { 1540, 22, 23, 25, 2, -22 }, // 0x48 'H' - { 1604, 9, 23, 11, 2, -22 }, // 0x49 'I' - { 1630, 12, 23, 13, 0, -22 }, // 0x4A 'J' - { 1665, 23, 23, 25, 2, -22 }, // 0x4B 'K' - { 1732, 19, 23, 21, 2, -22 }, // 0x4C 'L' - { 1787, 29, 23, 31, 1, -22 }, // 0x4D 'M' - { 1871, 23, 23, 25, 1, -22 }, // 0x4E 'N' - { 1938, 23, 24, 25, 1, -23 }, // 0x4F 'O' - { 2007, 18, 23, 20, 1, -22 }, // 0x50 'P' - { 2059, 23, 30, 25, 1, -23 }, // 0x51 'Q' - { 2146, 21, 23, 23, 2, -22 }, // 0x52 'R' - { 2207, 16, 24, 19, 1, -23 }, // 0x53 'S' - { 2255, 20, 23, 21, 1, -22 }, // 0x54 'T' - { 2313, 22, 23, 25, 2, -22 }, // 0x55 'U' - { 2377, 24, 23, 25, 0, -22 }, // 0x56 'V' - { 2446, 33, 23, 33, 0, -22 }, // 0x57 'W' - { 2541, 25, 23, 25, 0, -22 }, // 0x58 'X' - { 2613, 24, 23, 25, 1, -22 }, // 0x59 'Y' - { 2682, 21, 23, 21, 0, -22 }, // 0x5A 'Z' - { 2743, 7, 28, 12, 3, -22 }, // 0x5B '[' - { 2768, 10, 24, 10, 0, -23 }, // 0x5C '\' - { 2798, 7, 28, 12, 2, -22 }, // 0x5D ']' - { 2823, 15, 13, 16, 1, -22 }, // 0x5E '^' - { 2848, 18, 2, 17, 0, 3 }, // 0x5F '_' - { 2853, 8, 6, 9, 1, -23 }, // 0x60 '`' - { 2859, 13, 16, 15, 2, -15 }, // 0x61 'a' - { 2885, 16, 25, 17, 1, -24 }, // 0x62 'b' - { 2935, 14, 16, 16, 1, -15 }, // 0x63 'c' - { 2963, 16, 25, 17, 1, -24 }, // 0x64 'd' - { 3013, 13, 16, 16, 1, -15 }, // 0x65 'e' - { 3039, 13, 25, 13, 0, -24 }, // 0x66 'f' - { 3080, 16, 24, 16, 1, -15 }, // 0x67 'g' - { 3128, 16, 25, 17, 1, -24 }, // 0x68 'h' - { 3178, 8, 24, 10, 0, -23 }, // 0x69 'i' - { 3202, 9, 32, 12, 0, -23 }, // 0x6A 'j' - { 3238, 17, 25, 18, 1, -24 }, // 0x6B 'k' - { 3292, 8, 25, 9, 0, -24 }, // 0x6C 'l' - { 3317, 26, 16, 27, 1, -15 }, // 0x6D 'm' - { 3369, 16, 16, 17, 1, -15 }, // 0x6E 'n' - { 3401, 16, 16, 17, 1, -15 }, // 0x6F 'o' - { 3433, 16, 24, 17, 1, -15 }, // 0x70 'p' - { 3481, 16, 24, 17, 1, -15 }, // 0x71 'q' - { 3529, 11, 16, 12, 1, -15 }, // 0x72 'r' - { 3551, 10, 16, 13, 1, -15 }, // 0x73 's' - { 3571, 8, 19, 10, 2, -18 }, // 0x74 't' - { 3590, 16, 16, 17, 1, -15 }, // 0x75 'u' - { 3622, 16, 16, 16, 0, -15 }, // 0x76 'v' - { 3654, 24, 16, 24, 0, -15 }, // 0x77 'w' - { 3702, 17, 16, 17, 0, -15 }, // 0x78 'x' - { 3736, 16, 24, 16, 0, -15 }, // 0x79 'y' - { 3784, 14, 16, 15, 0, -15 }, // 0x7A 'z' - { 3812, 8, 30, 17, 3, -23 }, // 0x7B '{' - { 3842, 2, 24, 7, 2, -23 }, // 0x7C '|' - { 3848, 8, 30, 17, 6, -22 }, // 0x7D '}' - { 3878, 16, 4, 17, 1, -10 } }; // 0x7E '~' - -const GFXfont FreeSerif18pt7b PROGMEM = { - (uint8_t *)FreeSerif18pt7bBitmaps, - (GFXglyph *)FreeSerif18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 4558 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h deleted file mode 100644 index 99ff3f4..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif24pt7b.h +++ /dev/null @@ -1,690 +0,0 @@ -const uint8_t FreeSerif24pt7bBitmaps[] PROGMEM = { - 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x61, 0x08, - 0x42, 0x10, 0x84, 0x00, 0x00, 0xEF, 0xFF, 0xEE, 0x60, 0x6F, 0x0F, 0xF0, - 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, - 0x66, 0x06, 0x00, 0xE0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x07, - 0x03, 0x80, 0x0E, 0x06, 0x00, 0x18, 0x0C, 0x00, 0x30, 0x38, 0x00, 0xE0, - 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC1, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, - 0xF0, 0x18, 0x0C, 0x00, 0x70, 0x38, 0x00, 0xE0, 0x70, 0x01, 0xC0, 0xE0, - 0x03, 0x81, 0xC0, 0x07, 0x03, 0x80, 0x0C, 0x06, 0x07, 0xFF, 0xFF, 0xEF, - 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x06, - 0x03, 0x80, 0x0C, 0x06, 0x00, 0x38, 0x1C, 0x00, 0x70, 0x38, 0x00, 0xE0, - 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x08, - 0x00, 0x01, 0x00, 0x01, 0xFC, 0x01, 0xE4, 0xF8, 0x70, 0x87, 0x9C, 0x10, - 0x77, 0x02, 0x06, 0xE0, 0x40, 0xDC, 0x08, 0x0B, 0x81, 0x00, 0x78, 0x20, - 0x07, 0x84, 0x00, 0xFC, 0x80, 0x0F, 0xF0, 0x00, 0xFE, 0x00, 0x07, 0xF0, - 0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x3F, 0xC0, 0x05, 0xFC, 0x00, 0x8F, - 0x80, 0x10, 0xF8, 0x02, 0x0F, 0x00, 0x40, 0xF0, 0x08, 0x1E, 0x01, 0x03, - 0xE0, 0x20, 0x7C, 0x04, 0x0F, 0xC0, 0x83, 0xBC, 0x10, 0xE3, 0xE2, 0x78, - 0x3F, 0xFE, 0x00, 0xFE, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x01, 0xF0, 0x00, 0xC0, 0x03, 0xFC, 0x01, 0xE0, 0x03, 0xC7, 0x81, 0xE0, - 0x03, 0xC0, 0x7F, 0x60, 0x03, 0xC0, 0x20, 0x70, 0x01, 0xE0, 0x10, 0x30, - 0x01, 0xE0, 0x08, 0x38, 0x00, 0xE0, 0x04, 0x18, 0x00, 0xF0, 0x02, 0x1C, - 0x00, 0x78, 0x02, 0x0C, 0x00, 0x38, 0x01, 0x0E, 0x00, 0x1C, 0x01, 0x86, - 0x00, 0x0E, 0x00, 0x86, 0x00, 0x07, 0x00, 0x87, 0x03, 0xE1, 0x80, 0xC3, - 0x07, 0xFC, 0xE1, 0xC3, 0x87, 0xC6, 0x3F, 0xC1, 0x87, 0x81, 0x8F, 0x81, - 0xC7, 0x80, 0x40, 0x00, 0xC3, 0xC0, 0x20, 0x00, 0xE3, 0xC0, 0x10, 0x00, - 0x61, 0xC0, 0x08, 0x00, 0x61, 0xE0, 0x04, 0x00, 0x70, 0xF0, 0x06, 0x00, - 0x30, 0x70, 0x02, 0x00, 0x38, 0x38, 0x03, 0x00, 0x18, 0x1C, 0x01, 0x00, - 0x1C, 0x0E, 0x01, 0x80, 0x0C, 0x07, 0x01, 0x80, 0x0E, 0x01, 0xC3, 0x80, - 0x06, 0x00, 0x7F, 0x80, 0x06, 0x00, 0x1F, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x70, 0xE0, 0x00, - 0x00, 0xE0, 0x60, 0x00, 0x00, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x30, 0x00, - 0x01, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x30, 0x00, 0x01, 0xC0, 0x70, 0x00, - 0x01, 0xE0, 0xE0, 0x00, 0x01, 0xE1, 0xC0, 0x00, 0x00, 0xF3, 0x80, 0x00, - 0x00, 0xFF, 0x0F, 0xFC, 0x00, 0xFC, 0x03, 0xF0, 0x00, 0xF8, 0x01, 0xE0, - 0x01, 0xFC, 0x01, 0xC0, 0x07, 0x7C, 0x01, 0xC0, 0x0F, 0x3E, 0x01, 0x80, - 0x1E, 0x3E, 0x03, 0x00, 0x3C, 0x1F, 0x03, 0x00, 0x7C, 0x1F, 0x06, 0x00, - 0x78, 0x0F, 0x86, 0x00, 0x78, 0x07, 0xCC, 0x00, 0xF8, 0x07, 0xE8, 0x00, - 0xF8, 0x03, 0xF8, 0x00, 0xF8, 0x01, 0xF0, 0x00, 0xF8, 0x01, 0xF8, 0x00, - 0xFC, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0xFE, 0x01, 0x7E, 0x03, 0xBF, 0x86, - 0x7F, 0x0F, 0x1F, 0xFE, 0x3F, 0xFC, 0x0F, 0xF8, 0x0F, 0xE0, 0x03, 0xF0, - 0x6F, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x00, 0x10, 0x02, 0x00, 0xC0, 0x18, - 0x03, 0x00, 0x60, 0x0E, 0x00, 0xC0, 0x1C, 0x03, 0x80, 0x38, 0x03, 0x80, - 0x78, 0x07, 0x00, 0x70, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, - 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x07, 0x00, 0x70, 0x07, 0x80, - 0x38, 0x03, 0x80, 0x38, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x06, 0x00, 0x30, - 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0xC0, 0x06, 0x00, 0x30, 0x01, 0x80, - 0x0C, 0x00, 0x60, 0x07, 0x00, 0x30, 0x03, 0x80, 0x1C, 0x01, 0xC0, 0x1C, - 0x01, 0xE0, 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0E, 0x00, 0xE0, 0x1E, - 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x38, 0x03, 0x00, 0x70, 0x0E, 0x00, 0xC0, - 0x18, 0x03, 0x00, 0x40, 0x08, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, - 0x43, 0x86, 0xE1, 0x0F, 0xF1, 0x1F, 0xF9, 0x3E, 0x3D, 0x78, 0x07, 0xC0, - 0x01, 0x00, 0x07, 0xC0, 0x19, 0x30, 0xF9, 0x1E, 0xF1, 0x0F, 0xE1, 0x07, - 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x38, 0x00, 0x00, - 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, - 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, - 0x00, 0x00, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, - 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, - 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x73, 0xEF, 0xFF, 0x7C, 0x10, 0x42, 0x08, 0xC6, 0x00, - 0xFF, 0xFF, 0xFC, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x1C, 0x00, 0xE0, 0x03, - 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xE0, 0x03, - 0x80, 0x1C, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, 0x07, - 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xC0, 0x07, - 0x00, 0x3C, 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, - 0x00, 0x38, 0x00, 0x00, 0xFC, 0x00, 0x0E, 0x1C, 0x00, 0x70, 0x38, 0x03, - 0x80, 0x70, 0x1E, 0x01, 0xE0, 0xF0, 0x03, 0x83, 0xC0, 0x0F, 0x0F, 0x00, - 0x3C, 0x7C, 0x00, 0xF9, 0xE0, 0x01, 0xE7, 0x80, 0x07, 0xBE, 0x00, 0x1F, - 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, - 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, - 0x7F, 0xE0, 0x01, 0xF7, 0x80, 0x07, 0x9E, 0x00, 0x1E, 0x7C, 0x00, 0xF8, - 0xF0, 0x03, 0xC3, 0xC0, 0x0F, 0x07, 0x00, 0x38, 0x1E, 0x01, 0xE0, 0x38, - 0x07, 0x00, 0x70, 0x38, 0x00, 0xE1, 0xC0, 0x00, 0xFC, 0x00, 0x00, 0x80, - 0x1C, 0x03, 0xE0, 0x7F, 0x0C, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, - 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, - 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, - 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3F, - 0x0F, 0xFF, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x07, 0xFF, 0xE0, 0x70, 0x3F, - 0x83, 0x00, 0x7C, 0x30, 0x01, 0xF1, 0x00, 0x0F, 0x98, 0x00, 0x3C, 0x80, - 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x1C, - 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, - 0x70, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, - 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x43, 0x00, - 0x02, 0x30, 0x00, 0x23, 0xFF, 0xFF, 0x3F, 0xFF, 0xF3, 0xFF, 0xFF, 0x80, - 0x03, 0xF8, 0x03, 0xFF, 0x01, 0x83, 0xE0, 0x80, 0x3C, 0x40, 0x0F, 0x10, - 0x01, 0xC8, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, - 0x80, 0x00, 0xC0, 0x00, 0x78, 0x00, 0x7F, 0x80, 0x7F, 0xF0, 0x01, 0xFE, - 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x01, 0xC0, - 0x00, 0x70, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00, 0x60, 0x00, - 0x30, 0x00, 0x0C, 0x70, 0x06, 0x3F, 0x07, 0x0F, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x38, 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x01, - 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xDC, 0x00, 0x0C, 0xE0, 0x00, 0x47, 0x00, - 0x06, 0x38, 0x00, 0x61, 0xC0, 0x06, 0x0E, 0x00, 0x30, 0x70, 0x03, 0x03, - 0x80, 0x30, 0x1C, 0x01, 0x80, 0xE0, 0x18, 0x07, 0x01, 0x80, 0x38, 0x08, - 0x01, 0xC0, 0xC0, 0x0E, 0x0C, 0x00, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, - 0xE0, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x01, 0xC0, 0x00, - 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x40, 0x7F, 0xF8, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0xC0, 0x00, 0x18, 0x00, - 0x06, 0x00, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x07, 0xF8, 0x00, 0xFF, 0xC0, - 0x3F, 0xFE, 0x00, 0xFF, 0xE0, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7C, - 0x00, 0x07, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x1C, - 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x30, - 0x00, 0x0E, 0x00, 0x01, 0x80, 0x00, 0x71, 0xE0, 0x1C, 0x3F, 0x07, 0x07, - 0xFF, 0x80, 0x3F, 0x80, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x0F, - 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, - 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, - 0x07, 0xC7, 0xE0, 0x3E, 0xFF, 0xC3, 0xF8, 0x3F, 0x1F, 0x80, 0x7C, 0xF8, - 0x03, 0xF7, 0xC0, 0x0F, 0xBE, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0x80, 0x0F, - 0xFC, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x00, 0x1F, 0x78, 0x00, 0xFB, 0xE0, - 0x07, 0x9F, 0x00, 0x3C, 0x78, 0x03, 0xE3, 0xE0, 0x1E, 0x0F, 0x81, 0xE0, - 0x3E, 0x1E, 0x00, 0xFF, 0xE0, 0x00, 0xFC, 0x00, 0x3F, 0xFF, 0xF3, 0xFF, - 0xFF, 0x3F, 0xFF, 0xE7, 0x00, 0x0E, 0x40, 0x00, 0xEC, 0x00, 0x1C, 0x80, - 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, - 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x00, 0xE0, - 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x38, - 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, - 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x1E, 0x00, 0x01, - 0xC0, 0x00, 0x03, 0xF0, 0x03, 0xFF, 0x03, 0xC1, 0xE0, 0xC0, 0x1C, 0x70, - 0x07, 0x18, 0x00, 0xEE, 0x00, 0x3B, 0x80, 0x0E, 0xF0, 0x03, 0xBC, 0x00, - 0xE7, 0x80, 0x71, 0xF0, 0x38, 0x3E, 0x1C, 0x07, 0xEE, 0x00, 0xFE, 0x00, - 0x1F, 0xC0, 0x03, 0xF8, 0x03, 0xFF, 0x01, 0xC7, 0xE0, 0xE0, 0xFC, 0x70, - 0x0F, 0x98, 0x01, 0xEE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x01, 0xF8, 0x00, - 0x7E, 0x00, 0x1F, 0xC0, 0x07, 0x70, 0x03, 0x9E, 0x00, 0xE3, 0xE0, 0xF0, - 0x7F, 0xF0, 0x07, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x03, 0xC3, - 0xE0, 0x3C, 0x0F, 0x83, 0xC0, 0x3C, 0x3E, 0x00, 0xF1, 0xE0, 0x07, 0xCF, - 0x00, 0x3E, 0xF8, 0x00, 0xF7, 0xC0, 0x07, 0xFE, 0x00, 0x3F, 0xF0, 0x01, - 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xF0, 0x03, 0xEF, 0x80, 0x1F, 0x7C, - 0x00, 0xF9, 0xF0, 0x0F, 0xC7, 0xE1, 0xFC, 0x1F, 0xF9, 0xE0, 0x3F, 0x1F, - 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, - 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, - 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x77, 0xFF, 0xF7, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xBF, 0xFF, 0xB8, 0x39, 0xF7, - 0xDF, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xEF, - 0xFF, 0x7C, 0x10, 0x42, 0x08, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, - 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xE0, - 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0xE0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, - 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, - 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, - 0x0F, 0xFE, 0x0C, 0x1F, 0x88, 0x03, 0xEC, 0x01, 0xF7, 0x00, 0x7F, 0xC0, - 0x3F, 0xE0, 0x1F, 0x70, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xE0, - 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x70, 0x00, 0x30, 0x00, 0x10, - 0x00, 0x18, 0x00, 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x03, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, - 0xFF, 0x00, 0x00, 0xFC, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x07, 0xC0, - 0x00, 0x30, 0x0F, 0x00, 0x00, 0x18, 0x1E, 0x00, 0x00, 0x0C, 0x1E, 0x00, - 0x00, 0x04, 0x3C, 0x00, 0xF8, 0x06, 0x3C, 0x01, 0xFD, 0xC2, 0x78, 0x03, - 0xC7, 0xC3, 0x78, 0x07, 0x07, 0x81, 0xF0, 0x0E, 0x03, 0x81, 0xF0, 0x0E, - 0x03, 0x81, 0xF0, 0x1C, 0x07, 0x81, 0xF0, 0x1C, 0x07, 0x01, 0xF0, 0x38, - 0x07, 0x01, 0xF0, 0x38, 0x07, 0x03, 0xF0, 0x38, 0x0F, 0x02, 0xF0, 0x38, - 0x0E, 0x02, 0xF0, 0x38, 0x1E, 0x04, 0x78, 0x38, 0x1E, 0x0C, 0x78, 0x1C, - 0x6E, 0x18, 0x38, 0x1F, 0xC7, 0xF0, 0x3C, 0x0F, 0x03, 0xE0, 0x1E, 0x00, - 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x60, 0x00, 0xFC, 0x03, 0xE0, 0x00, 0x3F, - 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x07, - 0xC0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x0D, - 0xF0, 0x00, 0x00, 0x0D, 0xF0, 0x00, 0x00, 0x18, 0xF0, 0x00, 0x00, 0x18, - 0xF8, 0x00, 0x00, 0x38, 0x78, 0x00, 0x00, 0x30, 0x7C, 0x00, 0x00, 0x30, - 0x7C, 0x00, 0x00, 0x60, 0x3E, 0x00, 0x00, 0x60, 0x3E, 0x00, 0x00, 0xE0, - 0x1E, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x01, 0x80, - 0x0F, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0x00, - 0x07, 0xC0, 0x07, 0x00, 0x07, 0xC0, 0x06, 0x00, 0x03, 0xE0, 0x06, 0x00, - 0x03, 0xE0, 0x0E, 0x00, 0x01, 0xF0, 0x0C, 0x00, 0x01, 0xF0, 0x1C, 0x00, - 0x01, 0xF8, 0x3C, 0x00, 0x01, 0xF8, 0x7E, 0x00, 0x01, 0xFC, 0xFF, 0x80, - 0x0F, 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0x80, 0x1F, 0x01, 0xF8, - 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF8, 0x0F, 0x80, 0x1F, 0x81, 0xF0, - 0x01, 0xF0, 0x3E, 0x00, 0x3E, 0x07, 0xC0, 0x07, 0xC0, 0xF8, 0x00, 0xF8, - 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x07, 0xC0, 0x7C, 0x01, 0xF0, 0x0F, 0x80, - 0xFC, 0x01, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xC0, 0x07, 0xC0, 0x7F, 0x00, - 0xF8, 0x01, 0xF0, 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x03, 0xE0, 0x7C, 0x00, - 0x3E, 0x0F, 0x80, 0x07, 0xC1, 0xF0, 0x00, 0xF8, 0x3E, 0x00, 0x1F, 0x07, - 0xC0, 0x03, 0xE0, 0xF8, 0x00, 0xF8, 0x1F, 0x00, 0x1F, 0x03, 0xE0, 0x07, - 0xC0, 0x7C, 0x07, 0xF0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x00, 0x00, - 0x1F, 0xF0, 0x20, 0x07, 0xFF, 0xEE, 0x01, 0xF8, 0x1F, 0xE0, 0x3E, 0x00, - 0x7E, 0x07, 0x80, 0x01, 0xE0, 0xF0, 0x00, 0x1E, 0x1F, 0x00, 0x00, 0xE3, - 0xE0, 0x00, 0x06, 0x3C, 0x00, 0x00, 0x67, 0xC0, 0x00, 0x02, 0x7C, 0x00, - 0x00, 0x27, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x01, 0xF0, 0x00, - 0x02, 0x0F, 0x80, 0x00, 0xE0, 0x7E, 0x00, 0x1C, 0x03, 0xF8, 0x0F, 0x00, - 0x0F, 0xFF, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, - 0xFF, 0xF8, 0x00, 0x3E, 0x03, 0xFC, 0x00, 0x7C, 0x00, 0xFC, 0x00, 0xF8, - 0x00, 0x7E, 0x01, 0xF0, 0x00, 0x7E, 0x03, 0xE0, 0x00, 0x7C, 0x07, 0xC0, - 0x00, 0x7C, 0x0F, 0x80, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8, 0x3E, 0x00, - 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xF0, 0xF8, 0x00, 0x03, 0xE1, 0xF0, 0x00, - 0x07, 0xC3, 0xE0, 0x00, 0x0F, 0x87, 0xC0, 0x00, 0x1F, 0x0F, 0x80, 0x00, - 0x3E, 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, - 0xF0, 0xF8, 0x00, 0x07, 0xC1, 0xF0, 0x00, 0x0F, 0x83, 0xE0, 0x00, 0x1E, - 0x07, 0xC0, 0x00, 0x7C, 0x0F, 0x80, 0x01, 0xF0, 0x1F, 0x00, 0x03, 0xE0, - 0x3E, 0x00, 0x1F, 0x80, 0x7C, 0x00, 0x7C, 0x00, 0xF8, 0x0F, 0xF0, 0x07, - 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x07, - 0xFF, 0xFF, 0xE0, 0x7C, 0x00, 0x1C, 0x0F, 0x80, 0x01, 0x81, 0xF0, 0x00, - 0x30, 0x3E, 0x00, 0x02, 0x07, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x20, 0x0F, 0x80, 0x04, - 0x01, 0xF0, 0x01, 0x80, 0x3E, 0x00, 0x70, 0x07, 0xFF, 0xFE, 0x00, 0xFF, - 0xFF, 0xC0, 0x1F, 0x00, 0x38, 0x03, 0xE0, 0x03, 0x00, 0x7C, 0x00, 0x20, - 0x0F, 0x80, 0x04, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0x00, 0xF8, 0x00, 0x03, 0x1F, 0x00, 0x00, 0x43, 0xE0, 0x00, 0x18, - 0x7C, 0x00, 0x07, 0x0F, 0x80, 0x01, 0xC1, 0xF0, 0x00, 0xF8, 0x7F, 0xFF, - 0xFF, 0x3F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x1F, - 0x00, 0x07, 0x1F, 0x00, 0x03, 0x1F, 0x00, 0x03, 0x1F, 0x00, 0x01, 0x1F, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, - 0x00, 0x08, 0x1F, 0x00, 0x08, 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x38, 0x1F, - 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x1F, 0x00, 0x38, 0x1F, 0x00, 0x18, 0x1F, - 0x00, 0x08, 0x1F, 0x00, 0x08, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0xFF, - 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x00, 0xFF, 0xFE, 0x70, 0x07, 0xE0, - 0x1F, 0xE0, 0x1F, 0x00, 0x0F, 0xC0, 0x78, 0x00, 0x07, 0x81, 0xE0, 0x00, - 0x07, 0x07, 0xC0, 0x00, 0x0E, 0x1F, 0x00, 0x00, 0x0C, 0x3E, 0x00, 0x00, - 0x08, 0xF8, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, - 0x7C, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFD, 0xF0, 0x00, 0x01, 0xF3, - 0xE0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x07, 0xCF, 0x80, 0x00, 0x0F, 0x8F, - 0x80, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0x7C, 0x3E, - 0x00, 0x00, 0xF8, 0x7C, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xE0, 0xFC, - 0x00, 0x07, 0xC0, 0xFC, 0x00, 0x0F, 0x80, 0x7C, 0x00, 0x3F, 0x00, 0x7F, - 0x01, 0xFC, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xE0, - 0x1F, 0xFC, 0xFE, 0x00, 0x1F, 0xC1, 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, - 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, - 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, - 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, - 0x00, 0x0F, 0x81, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xF8, 0x1F, 0x00, - 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, - 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, 0xF0, 0x00, 0x3E, - 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0x7C, 0x00, 0x0F, 0x81, - 0xF0, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0xF8, 0x1F, 0x00, 0x03, 0xE0, 0xFE, - 0x00, 0x1F, 0xCF, 0xFE, 0x01, 0xFF, 0xC0, 0xFF, 0xF8, 0xFE, 0x03, 0xE0, - 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, - 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, - 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, - 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x0F, 0xE3, 0xFF, 0xE0, 0x0F, 0xFF, - 0x80, 0xFE, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, - 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, - 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, - 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, - 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3C, 0x0E, 0x1E, 0x0F, 0x8F, 0x07, - 0xCF, 0x01, 0xFF, 0x00, 0x7E, 0x00, 0xFF, 0xF8, 0x3F, 0xFC, 0x3F, 0xC0, - 0x07, 0xE0, 0x0F, 0x80, 0x07, 0x80, 0x0F, 0x80, 0x07, 0x00, 0x0F, 0x80, - 0x0E, 0x00, 0x0F, 0x80, 0x1C, 0x00, 0x0F, 0x80, 0x38, 0x00, 0x0F, 0x80, - 0x70, 0x00, 0x0F, 0x80, 0xE0, 0x00, 0x0F, 0x81, 0xC0, 0x00, 0x0F, 0x83, - 0x80, 0x00, 0x0F, 0x87, 0x00, 0x00, 0x0F, 0x9E, 0x00, 0x00, 0x0F, 0xBC, - 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0xDF, - 0x80, 0x00, 0x0F, 0x8F, 0xC0, 0x00, 0x0F, 0x87, 0xE0, 0x00, 0x0F, 0x83, - 0xF0, 0x00, 0x0F, 0x81, 0xF8, 0x00, 0x0F, 0x80, 0xFC, 0x00, 0x0F, 0x80, - 0x7E, 0x00, 0x0F, 0x80, 0x3F, 0x00, 0x0F, 0x80, 0x3F, 0x80, 0x0F, 0x80, - 0x1F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, 0x0F, 0x80, 0x07, 0xE0, 0x0F, 0x80, - 0x07, 0xF0, 0x1F, 0xC0, 0x07, 0xFC, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF0, - 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x00, - 0x00, 0x7C, 0x00, 0x01, 0x1F, 0x00, 0x00, 0xC7, 0xC0, 0x00, 0x21, 0xF0, - 0x00, 0x18, 0x7C, 0x00, 0x0E, 0x1F, 0x00, 0x1F, 0x8F, 0xFF, 0xFF, 0xCF, - 0xFF, 0xFF, 0xF0, 0xFF, 0x80, 0x00, 0x03, 0xFE, 0x7F, 0x80, 0x00, 0x07, - 0xF0, 0x3F, 0x00, 0x00, 0x1F, 0xC0, 0x7E, 0x00, 0x00, 0x3F, 0x80, 0xFE, - 0x00, 0x00, 0xFF, 0x01, 0xFC, 0x00, 0x01, 0xBE, 0x03, 0x7C, 0x00, 0x03, - 0x7C, 0x06, 0xF8, 0x00, 0x0E, 0xF8, 0x0D, 0xF8, 0x00, 0x19, 0xF0, 0x19, - 0xF0, 0x00, 0x73, 0xE0, 0x33, 0xF0, 0x00, 0xC7, 0xC0, 0x63, 0xE0, 0x03, - 0x8F, 0x80, 0xC7, 0xE0, 0x06, 0x1F, 0x01, 0x87, 0xC0, 0x1C, 0x3E, 0x03, - 0x0F, 0xC0, 0x30, 0x7C, 0x06, 0x0F, 0x80, 0x60, 0xF8, 0x0C, 0x1F, 0x81, - 0x81, 0xF0, 0x18, 0x1F, 0x03, 0x03, 0xE0, 0x30, 0x3F, 0x0C, 0x07, 0xC0, - 0x60, 0x3E, 0x18, 0x0F, 0x80, 0xC0, 0x7C, 0x70, 0x1F, 0x01, 0x80, 0x7C, - 0xC0, 0x3E, 0x03, 0x00, 0xFB, 0x80, 0x7C, 0x06, 0x00, 0xFE, 0x00, 0xF8, - 0x0C, 0x01, 0xFC, 0x01, 0xF0, 0x18, 0x03, 0xF0, 0x03, 0xE0, 0x30, 0x03, - 0xE0, 0x07, 0xC0, 0x60, 0x07, 0x80, 0x0F, 0x81, 0xE0, 0x07, 0x00, 0x1F, - 0x07, 0xE0, 0x0C, 0x00, 0xFF, 0x3F, 0xF0, 0x08, 0x07, 0xFF, 0x80, 0xFF, - 0x00, 0x03, 0xFF, 0x3F, 0x80, 0x00, 0xFC, 0x1F, 0xC0, 0x00, 0x78, 0x0F, - 0xC0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, 0x0F, 0xF0, 0x00, 0x30, 0x0D, - 0xF8, 0x00, 0x30, 0x0D, 0xFC, 0x00, 0x30, 0x0C, 0xFC, 0x00, 0x30, 0x0C, - 0x7E, 0x00, 0x30, 0x0C, 0x3F, 0x00, 0x30, 0x0C, 0x1F, 0x80, 0x30, 0x0C, - 0x1F, 0xC0, 0x30, 0x0C, 0x0F, 0xE0, 0x30, 0x0C, 0x07, 0xE0, 0x30, 0x0C, - 0x03, 0xF0, 0x30, 0x0C, 0x01, 0xF8, 0x30, 0x0C, 0x01, 0xFC, 0x30, 0x0C, - 0x00, 0xFE, 0x30, 0x0C, 0x00, 0x7E, 0x30, 0x0C, 0x00, 0x3F, 0x30, 0x0C, - 0x00, 0x1F, 0xB0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, - 0x00, 0x07, 0xF0, 0x0C, 0x00, 0x03, 0xF0, 0x0C, 0x00, 0x01, 0xF0, 0x0C, - 0x00, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x70, 0xFF, - 0xC0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x10, 0x00, 0x1F, 0xE0, 0x00, 0x03, - 0xFF, 0xF0, 0x00, 0x1F, 0x03, 0xE0, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, - 0x07, 0xC0, 0x7C, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0x1E, 0x0F, 0x80, 0x00, - 0x7C, 0x3C, 0x00, 0x00, 0xF1, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x0F, - 0x9E, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x01, 0xFF, - 0x80, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xE0, - 0x00, 0x01, 0xFF, 0x80, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x1F, 0xF8, 0x00, - 0x00, 0x7D, 0xF0, 0x00, 0x03, 0xE7, 0xC0, 0x00, 0x0F, 0x9F, 0x00, 0x00, - 0x3E, 0x3C, 0x00, 0x00, 0xF0, 0xF8, 0x00, 0x07, 0xC1, 0xE0, 0x00, 0x1E, - 0x07, 0xC0, 0x00, 0xF8, 0x0F, 0x80, 0x07, 0xC0, 0x1F, 0x00, 0x3E, 0x00, - 0x1F, 0x03, 0xE0, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0xFF, - 0xFF, 0x00, 0x7F, 0xFF, 0x80, 0x7C, 0x1F, 0xC0, 0xF8, 0x07, 0xC1, 0xF0, - 0x07, 0xC3, 0xE0, 0x0F, 0x87, 0xC0, 0x0F, 0x8F, 0x80, 0x1F, 0x1F, 0x00, - 0x3E, 0x3E, 0x00, 0x7C, 0x7C, 0x00, 0xF8, 0xF8, 0x01, 0xF1, 0xF0, 0x07, - 0xC3, 0xE0, 0x0F, 0x87, 0xC0, 0x3E, 0x0F, 0x81, 0xF8, 0x1F, 0xFF, 0xC0, - 0x3F, 0xFE, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, - 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xF0, - 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFF, 0xF8, - 0x00, 0x07, 0xC0, 0xF8, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x7C, - 0x03, 0xE0, 0x00, 0x7C, 0x07, 0x80, 0x00, 0x78, 0x1F, 0x00, 0x00, 0xF8, - 0x3C, 0x00, 0x00, 0xF0, 0xF8, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x03, 0xE3, - 0xC0, 0x00, 0x03, 0xCF, 0x80, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x0F, 0xBE, - 0x00, 0x00, 0x1F, 0x7C, 0x00, 0x00, 0x3E, 0xF8, 0x00, 0x00, 0x7D, 0xF0, - 0x00, 0x00, 0xFB, 0xE0, 0x00, 0x01, 0xF7, 0xC0, 0x00, 0x03, 0xEF, 0x80, - 0x00, 0x07, 0xCF, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x3E, 0x3E, 0x00, - 0x00, 0x7C, 0x3C, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x03, 0xE0, 0x78, 0x00, - 0x0F, 0x80, 0x78, 0x00, 0x1E, 0x00, 0x78, 0x00, 0x78, 0x00, 0x7C, 0x03, - 0xE0, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x1F, - 0x03, 0xF8, 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x03, - 0xE0, 0x1F, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xE0, 0x1F, 0x00, 0x3E, 0x01, - 0xF0, 0x03, 0xE0, 0x1F, 0x00, 0x3E, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, - 0x7C, 0x01, 0xF0, 0x0F, 0x80, 0x1F, 0x07, 0xF0, 0x01, 0xFF, 0xFC, 0x00, - 0x1F, 0xFE, 0x00, 0x01, 0xF1, 0xF0, 0x00, 0x1F, 0x1F, 0x80, 0x01, 0xF0, - 0xF8, 0x00, 0x1F, 0x07, 0xC0, 0x01, 0xF0, 0x3E, 0x00, 0x1F, 0x03, 0xF0, - 0x01, 0xF0, 0x1F, 0x80, 0x1F, 0x00, 0xFC, 0x01, 0xF0, 0x07, 0xC0, 0x1F, - 0x00, 0x7E, 0x01, 0xF0, 0x03, 0xF0, 0x1F, 0x00, 0x1F, 0x83, 0xF8, 0x00, - 0xFC, 0xFF, 0xF0, 0x0F, 0xF0, 0x03, 0xF0, 0x20, 0x7F, 0xF3, 0x07, 0xC1, - 0xF8, 0x78, 0x03, 0xC3, 0x80, 0x0E, 0x3C, 0x00, 0x31, 0xE0, 0x01, 0xCF, - 0x00, 0x06, 0x7C, 0x00, 0x33, 0xE0, 0x01, 0x9F, 0x80, 0x00, 0x7E, 0x00, - 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0xC0, 0x01, - 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x7F, - 0x00, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, - 0x07, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xEF, 0x00, 0x1F, 0x3C, 0x01, 0xF1, - 0xF8, 0x1F, 0x0C, 0xFF, 0xF0, 0x40, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xC0, 0x7C, 0x07, 0xF0, 0x0F, 0x80, 0x3C, 0x01, 0xF0, - 0x07, 0x00, 0x3E, 0x00, 0x60, 0x07, 0xC0, 0x08, 0x00, 0xF8, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, - 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x7F, - 0x00, 0x00, 0x7F, 0xFC, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0x3F, 0xE0, 0x00, - 0xFC, 0x0F, 0x80, 0x00, 0x78, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, - 0x30, 0x0F, 0x80, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x20, 0x07, 0xC0, 0x00, - 0x60, 0x07, 0xC0, 0x00, 0x60, 0x03, 0xE0, 0x00, 0xC0, 0x03, 0xF0, 0x01, - 0xC0, 0x01, 0xFC, 0x07, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F, 0xF8, - 0x00, 0xFF, 0xF8, 0x01, 0xFF, 0x3F, 0xC0, 0x00, 0x7E, 0x0F, 0x80, 0x00, - 0x3C, 0x0F, 0xC0, 0x00, 0x38, 0x07, 0xC0, 0x00, 0x38, 0x07, 0xC0, 0x00, - 0x30, 0x03, 0xE0, 0x00, 0x70, 0x03, 0xE0, 0x00, 0x60, 0x01, 0xF0, 0x00, - 0x60, 0x01, 0xF0, 0x00, 0xE0, 0x01, 0xF8, 0x00, 0xC0, 0x00, 0xF8, 0x01, - 0xC0, 0x00, 0xF8, 0x01, 0x80, 0x00, 0x7C, 0x01, 0x80, 0x00, 0x7C, 0x03, - 0x80, 0x00, 0x3E, 0x03, 0x00, 0x00, 0x3E, 0x07, 0x00, 0x00, 0x1F, 0x06, - 0x00, 0x00, 0x1F, 0x06, 0x00, 0x00, 0x1F, 0x8E, 0x00, 0x00, 0x0F, 0x8C, - 0x00, 0x00, 0x0F, 0x9C, 0x00, 0x00, 0x07, 0xD8, 0x00, 0x00, 0x07, 0xD8, - 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0xE0, - 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xF1, 0xFF, - 0xF0, 0x1F, 0xF3, 0xF8, 0x07, 0xF8, 0x00, 0x7C, 0x1F, 0x80, 0x3F, 0x00, - 0x03, 0x80, 0xF8, 0x01, 0xF0, 0x00, 0x30, 0x0F, 0x80, 0x1F, 0x00, 0x03, - 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x30, 0x07, 0xC0, 0x0F, 0x80, 0x06, 0x00, - 0x3E, 0x00, 0x7C, 0x00, 0x60, 0x03, 0xE0, 0x07, 0xC0, 0x06, 0x00, 0x3E, - 0x00, 0x7C, 0x00, 0xC0, 0x01, 0xF0, 0x07, 0xE0, 0x0C, 0x00, 0x1F, 0x00, - 0xFE, 0x01, 0xC0, 0x01, 0xF0, 0x0D, 0xE0, 0x18, 0x00, 0x0F, 0x80, 0xDF, - 0x01, 0x80, 0x00, 0xF8, 0x19, 0xF0, 0x30, 0x00, 0x07, 0xC1, 0x8F, 0x83, - 0x00, 0x00, 0x7C, 0x38, 0xF8, 0x30, 0x00, 0x07, 0xC3, 0x0F, 0x86, 0x00, - 0x00, 0x3E, 0x30, 0x7C, 0x60, 0x00, 0x03, 0xE7, 0x07, 0xCE, 0x00, 0x00, - 0x3E, 0x60, 0x3E, 0xC0, 0x00, 0x01, 0xF6, 0x03, 0xEC, 0x00, 0x00, 0x1F, - 0xE0, 0x3F, 0xC0, 0x00, 0x01, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0x0F, 0xC0, - 0x1F, 0x80, 0x00, 0x00, 0xF8, 0x01, 0xF8, 0x00, 0x00, 0x0F, 0x80, 0x0F, - 0x00, 0x00, 0x00, 0x78, 0x00, 0xF0, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, - 0x00, 0x00, 0x70, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, - 0x00, 0x20, 0x00, 0x20, 0x00, 0x7F, 0xFE, 0x03, 0xFF, 0x8F, 0xF8, 0x00, - 0x7E, 0x01, 0xFC, 0x00, 0x1C, 0x00, 0x7E, 0x00, 0x1C, 0x00, 0x1F, 0x00, - 0x0C, 0x00, 0x07, 0xC0, 0x0E, 0x00, 0x03, 0xF0, 0x0E, 0x00, 0x00, 0xF8, - 0x0E, 0x00, 0x00, 0x3E, 0x06, 0x00, 0x00, 0x1F, 0x86, 0x00, 0x00, 0x07, - 0xC7, 0x00, 0x00, 0x01, 0xF7, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x03, 0x9F, 0x00, 0x00, - 0x01, 0x8F, 0xC0, 0x00, 0x01, 0x83, 0xF0, 0x00, 0x01, 0xC0, 0xF8, 0x00, - 0x01, 0xC0, 0x7E, 0x00, 0x01, 0xC0, 0x1F, 0x80, 0x01, 0xC0, 0x07, 0xC0, - 0x00, 0xC0, 0x03, 0xF0, 0x00, 0xE0, 0x00, 0xFC, 0x00, 0xE0, 0x00, 0x7F, - 0x00, 0xF0, 0x00, 0x1F, 0x80, 0xFC, 0x00, 0x1F, 0xF3, 0xFF, 0x80, 0x7F, - 0xFE, 0xFF, 0xF8, 0x03, 0xFF, 0x3F, 0xE0, 0x00, 0x7C, 0x1F, 0xC0, 0x00, - 0x78, 0x0F, 0xC0, 0x00, 0x70, 0x07, 0xE0, 0x00, 0x60, 0x03, 0xF0, 0x00, - 0xE0, 0x01, 0xF0, 0x01, 0xC0, 0x01, 0xF8, 0x01, 0x80, 0x00, 0xFC, 0x03, - 0x80, 0x00, 0x7C, 0x07, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00, 0x3F, 0x0E, - 0x00, 0x00, 0x1F, 0x1C, 0x00, 0x00, 0x1F, 0x98, 0x00, 0x00, 0x0F, 0xF8, - 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, - 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF8, - 0xF0, 0x00, 0x3E, 0x38, 0x00, 0x0F, 0x86, 0x00, 0x03, 0xF0, 0xC0, 0x00, - 0x7C, 0x10, 0x00, 0x1F, 0x02, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFC, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7E, - 0x00, 0x01, 0x0F, 0x80, 0x00, 0x63, 0xF0, 0x00, 0x0C, 0xFC, 0x00, 0x03, - 0xBF, 0x00, 0x00, 0xE7, 0xC0, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, - 0xFF, 0xF0, 0xFF, 0xF0, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, - 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, - 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, - 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0F, 0x07, 0xFC, 0xE0, 0x01, 0xC0, - 0x07, 0x00, 0x1C, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1C, - 0x00, 0x70, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x1C, 0x00, 0x70, 0x01, - 0xC0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0x70, 0x01, 0xC0, 0x07, 0x00, - 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x38, - 0x00, 0xE0, 0x03, 0xC0, 0x07, 0xFF, 0x83, 0xC0, 0xE0, 0x70, 0x38, 0x1C, - 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, - 0x81, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, - 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x3F, 0xFC, - 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xDC, - 0x00, 0x39, 0xC0, 0x07, 0x9E, 0x00, 0x70, 0xE0, 0x0F, 0x0F, 0x00, 0xE0, - 0x70, 0x1E, 0x07, 0x81, 0xC0, 0x38, 0x3C, 0x03, 0xC3, 0x80, 0x1C, 0x78, - 0x01, 0xE7, 0x00, 0x0E, 0xF0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xE0, 0x3C, 0x0F, 0x81, 0xF0, 0x1E, 0x03, 0xC0, 0x38, 0x07, 0x03, - 0xF0, 0x07, 0x0E, 0x03, 0x81, 0xC1, 0xE0, 0x30, 0x78, 0x0E, 0x1E, 0x03, - 0x83, 0x00, 0xE0, 0x00, 0x38, 0x00, 0x3E, 0x00, 0x73, 0x80, 0x70, 0xE0, - 0x70, 0x38, 0x38, 0x0E, 0x1C, 0x03, 0x8F, 0x00, 0xE3, 0xC0, 0x38, 0xF0, - 0x0E, 0x3E, 0x07, 0x8F, 0xC3, 0xE1, 0xFF, 0x3F, 0x1F, 0x07, 0x80, 0x06, - 0x00, 0x01, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, - 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, - 0x00, 0x07, 0x80, 0x00, 0x3C, 0x7E, 0x01, 0xEF, 0xFC, 0x0F, 0xC3, 0xF0, - 0x7C, 0x07, 0x83, 0xC0, 0x3E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0xC7, 0x80, - 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x8F, 0x00, 0x3C, 0x78, 0x01, 0xE3, - 0xC0, 0x0F, 0x1E, 0x00, 0x70, 0xF0, 0x03, 0x87, 0x80, 0x38, 0x3C, 0x01, - 0xC1, 0xE0, 0x1C, 0x0F, 0xC1, 0xC0, 0x1F, 0xFC, 0x00, 0x3F, 0x80, 0x01, - 0xFC, 0x00, 0xFF, 0xE0, 0x38, 0x3E, 0x0E, 0x03, 0xE3, 0x80, 0x7C, 0xE0, - 0x07, 0x18, 0x00, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, - 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x1B, 0xC0, - 0x02, 0x7C, 0x01, 0x87, 0xE0, 0x60, 0x7F, 0xF8, 0x07, 0xFE, 0x00, 0x3F, - 0x00, 0x00, 0x00, 0x60, 0x00, 0x0F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0x78, - 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, - 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x7C, 0x78, 0x07, 0xFD, - 0xE0, 0x3C, 0x3F, 0x81, 0xC0, 0x3E, 0x0E, 0x00, 0xF8, 0x38, 0x01, 0xE1, - 0xE0, 0x07, 0x87, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xC0, - 0x07, 0x8F, 0x00, 0x1E, 0x3C, 0x00, 0x78, 0xF0, 0x01, 0xE3, 0xE0, 0x07, - 0x87, 0x80, 0x1E, 0x1F, 0x00, 0x78, 0x3E, 0x03, 0xE0, 0xFC, 0x1F, 0xF0, - 0xFF, 0xDF, 0x00, 0xFC, 0x60, 0x03, 0xF8, 0x03, 0xFF, 0x01, 0xC1, 0xE0, - 0xC0, 0x3C, 0x70, 0x0F, 0x98, 0x01, 0xE7, 0xFF, 0xFB, 0xFF, 0xFE, 0xE0, - 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x3C, 0x00, - 0x1F, 0x00, 0x05, 0xE0, 0x02, 0x7C, 0x01, 0x8F, 0xC1, 0xC3, 0xFF, 0xE0, - 0x7F, 0xF0, 0x07, 0xF0, 0x00, 0x00, 0x7E, 0x00, 0xFF, 0xC0, 0xE3, 0xE0, - 0x60, 0x70, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, 0x00, - 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x07, 0xFF, 0x83, 0xFF, 0xC0, 0x3C, - 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, - 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x07, 0x80, - 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3F, - 0x00, 0xFF, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x3F, 0xF0, 0x03, 0xC7, 0xFE, - 0x3C, 0x1F, 0xF1, 0xC0, 0x70, 0x1E, 0x03, 0xC0, 0xF0, 0x0E, 0x07, 0x80, - 0x70, 0x3C, 0x03, 0x81, 0xE0, 0x1C, 0x07, 0x80, 0xC0, 0x3E, 0x0E, 0x00, - 0x78, 0xE0, 0x01, 0xFC, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, - 0x01, 0xE0, 0x00, 0x0F, 0xFF, 0xC0, 0x3F, 0xFF, 0x80, 0xFF, 0xFE, 0x0C, - 0x00, 0x38, 0xC0, 0x00, 0x4C, 0x00, 0x02, 0x60, 0x00, 0x17, 0x00, 0x01, - 0x38, 0x00, 0x09, 0xE0, 0x00, 0x87, 0xC0, 0x38, 0x1F, 0xFF, 0x00, 0x3F, - 0xC0, 0x00, 0x06, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0x80, - 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, - 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x87, 0xE0, 0x1E, - 0x7F, 0xC0, 0x7B, 0x0F, 0x81, 0xF8, 0x1E, 0x07, 0x80, 0x3C, 0x1E, 0x00, - 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, - 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, - 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, - 0xC3, 0xF0, 0x1F, 0x9F, 0xF1, 0xFF, 0x0E, 0x03, 0xE0, 0x7C, 0x0F, 0x80, - 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, - 0x7E, 0x1F, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, - 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, - 0xE7, 0xFF, 0x00, 0xE0, 0x1F, 0x01, 0xF0, 0x1F, 0x00, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x70, 0x3F, 0x07, - 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, - 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, - 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xE0, 0x0E, 0xE0, - 0xEF, 0x1C, 0xFF, 0x87, 0xE0, 0x06, 0x00, 0x00, 0x7C, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x80, - 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, - 0x00, 0xF0, 0x7F, 0xE1, 0xE0, 0x3E, 0x03, 0xC0, 0x70, 0x07, 0x81, 0x80, - 0x0F, 0x06, 0x00, 0x1E, 0x18, 0x00, 0x3C, 0x60, 0x00, 0x79, 0x80, 0x00, - 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0xDE, 0x00, 0x07, 0x9E, 0x00, 0x0F, - 0x3E, 0x00, 0x1E, 0x3E, 0x00, 0x3C, 0x3E, 0x00, 0x78, 0x3C, 0x00, 0xF0, - 0x3C, 0x01, 0xE0, 0x7C, 0x03, 0xC0, 0x7C, 0x0F, 0xC0, 0xFE, 0x7F, 0xE3, - 0xFF, 0x03, 0x03, 0xE1, 0xFC, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, - 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, - 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, - 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0xE7, 0xFF, 0x1E, 0x1F, 0x01, - 0xF8, 0x1F, 0xCF, 0xF0, 0xFF, 0x80, 0xFF, 0x0F, 0x70, 0xF8, 0x0F, 0x81, - 0xF8, 0x0F, 0x01, 0xE0, 0x1E, 0x00, 0xF0, 0x3C, 0x03, 0xC0, 0x1E, 0x07, - 0x80, 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xE0, 0x0F, - 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x78, 0x07, 0x80, 0x3C, 0x0F, 0x00, 0xF0, - 0x07, 0x81, 0xE0, 0x1E, 0x00, 0xF0, 0x3C, 0x03, 0xC0, 0x1E, 0x07, 0x80, - 0x78, 0x03, 0xC0, 0xF0, 0x0F, 0x00, 0x78, 0x1E, 0x01, 0xE0, 0x0F, 0x03, - 0xC0, 0x3C, 0x01, 0xE0, 0x78, 0x07, 0x80, 0x3C, 0x1F, 0x81, 0xF8, 0x0F, - 0xCF, 0xFC, 0xFF, 0xC7, 0xFE, 0x1E, 0x1F, 0x83, 0xF9, 0xFF, 0x03, 0xFC, - 0x3E, 0x07, 0xC0, 0x7C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, - 0x07, 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, - 0x80, 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x07, 0x80, - 0x3C, 0x1E, 0x00, 0xF0, 0x78, 0x03, 0xC1, 0xE0, 0x0F, 0x0F, 0xC0, 0x7E, - 0x7F, 0xC3, 0xFC, 0x01, 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0xF0, 0x7C, 0x0F, - 0x80, 0xF8, 0x3C, 0x01, 0xF1, 0xE0, 0x03, 0xE7, 0x80, 0x0F, 0xBE, 0x00, - 0x3F, 0xF8, 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, - 0xF8, 0x00, 0x7F, 0xF0, 0x01, 0xE7, 0xC0, 0x07, 0x9F, 0x80, 0x3E, 0x3E, - 0x00, 0xF0, 0x7C, 0x07, 0x80, 0xF8, 0x3C, 0x01, 0xFF, 0xE0, 0x00, 0xFC, - 0x00, 0x0E, 0x3F, 0x07, 0xF7, 0xFE, 0x07, 0xE0, 0xF8, 0x3E, 0x03, 0xE1, - 0xE0, 0x0F, 0x0F, 0x00, 0x7C, 0x78, 0x03, 0xE3, 0xC0, 0x0F, 0x1E, 0x00, - 0x78, 0xF0, 0x03, 0xC7, 0x80, 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x8F, - 0x00, 0x38, 0x78, 0x03, 0xC3, 0xC0, 0x1E, 0x1E, 0x00, 0xE0, 0xF8, 0x0E, - 0x07, 0xE0, 0xE0, 0x3D, 0xFE, 0x01, 0xE7, 0xC0, 0x0F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, - 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x1F, 0x80, 0x03, 0xFF, 0x80, 0x00, 0x01, - 0xF8, 0x20, 0x3F, 0xF3, 0x03, 0xC1, 0xF8, 0x3C, 0x07, 0xC3, 0xC0, 0x1E, - 0x1C, 0x00, 0xF1, 0xE0, 0x07, 0x8E, 0x00, 0x3C, 0xF0, 0x01, 0xE7, 0x80, - 0x0F, 0x3C, 0x00, 0x79, 0xE0, 0x03, 0xCF, 0x00, 0x1E, 0x78, 0x00, 0xF3, - 0xE0, 0x07, 0x9F, 0x00, 0x3C, 0x7C, 0x01, 0xE3, 0xE0, 0x1F, 0x0F, 0xC1, - 0xF8, 0x3F, 0xF3, 0xC0, 0x7E, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, - 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, - 0xC0, 0x00, 0x1E, 0x00, 0x03, 0xF8, 0x00, 0x7F, 0xE0, 0x06, 0x3C, 0xFC, - 0xFE, 0xFA, 0x78, 0xF8, 0x71, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, - 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, - 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xF8, 0x0F, 0xFC, - 0x00, 0x1F, 0x91, 0x87, 0x98, 0x1D, 0xC0, 0x6E, 0x03, 0x70, 0x0B, 0xC0, - 0x5F, 0x80, 0x7E, 0x01, 0xFC, 0x07, 0xF0, 0x0F, 0xE0, 0x3F, 0x00, 0x7E, - 0x01, 0xF0, 0x07, 0xC0, 0x3E, 0x01, 0xF8, 0x0D, 0xE0, 0xC8, 0xF8, 0x00, - 0x04, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x3C, 0x07, 0xFC, 0xFF, 0xC3, 0xC0, - 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xE2, - 0x1F, 0xC0, 0xF8, 0xFC, 0x0F, 0xE1, 0xF0, 0x0F, 0x83, 0xC0, 0x1E, 0x0F, - 0x00, 0x78, 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, - 0x78, 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, 0x78, - 0x3C, 0x01, 0xE0, 0xF0, 0x07, 0x83, 0xC0, 0x1E, 0x0F, 0x00, 0x78, 0x3C, - 0x01, 0xE0, 0xF8, 0x0F, 0x81, 0xF0, 0xFF, 0x03, 0xFE, 0x7F, 0x07, 0xE1, - 0xC0, 0xFF, 0x81, 0xFC, 0xFC, 0x01, 0xC1, 0xE0, 0x07, 0x07, 0x80, 0x18, - 0x0F, 0x00, 0x60, 0x3C, 0x01, 0x00, 0x78, 0x0C, 0x01, 0xE0, 0x30, 0x07, - 0x81, 0x80, 0x0F, 0x06, 0x00, 0x3C, 0x10, 0x00, 0x78, 0xC0, 0x01, 0xE3, - 0x00, 0x03, 0x98, 0x00, 0x0F, 0x60, 0x00, 0x3D, 0x00, 0x00, 0x7C, 0x00, - 0x01, 0xF0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x40, 0x00, 0xFF, 0x8F, 0xF8, 0x3F, 0x7E, 0x07, 0xE0, 0x0E, 0x3E, 0x03, - 0xC0, 0x0C, 0x1E, 0x03, 0xE0, 0x0C, 0x1E, 0x01, 0xE0, 0x0C, 0x1E, 0x01, - 0xE0, 0x18, 0x0F, 0x00, 0xF0, 0x18, 0x0F, 0x01, 0xF0, 0x10, 0x07, 0x81, - 0xF0, 0x30, 0x07, 0x81, 0x78, 0x30, 0x07, 0x83, 0x78, 0x60, 0x03, 0xC3, - 0x38, 0x60, 0x03, 0xC6, 0x3C, 0x40, 0x01, 0xC6, 0x3C, 0xC0, 0x01, 0xEC, - 0x1E, 0xC0, 0x01, 0xEC, 0x1F, 0x80, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0xF8, - 0x0F, 0x00, 0x00, 0x70, 0x0F, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0x60, - 0x06, 0x00, 0x00, 0x20, 0x02, 0x00, 0x7F, 0xE7, 0xF0, 0x7E, 0x0F, 0x00, - 0xF8, 0x38, 0x01, 0xE0, 0xC0, 0x07, 0xC6, 0x00, 0x0F, 0x30, 0x00, 0x1E, - 0xC0, 0x00, 0x7E, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, - 0x00, 0x3F, 0x00, 0x00, 0xDE, 0x00, 0x06, 0x7C, 0x00, 0x30, 0xF0, 0x01, - 0xC1, 0xE0, 0x06, 0x07, 0xC0, 0x30, 0x0F, 0x01, 0xC0, 0x1E, 0x0F, 0x00, - 0xFC, 0xFE, 0x07, 0xFC, 0xFF, 0xC0, 0xFC, 0xFC, 0x01, 0xE1, 0xE0, 0x03, - 0x07, 0x80, 0x18, 0x0F, 0x00, 0x60, 0x3C, 0x01, 0x80, 0x78, 0x0C, 0x01, - 0xE0, 0x30, 0x03, 0xC0, 0xC0, 0x0F, 0x06, 0x00, 0x3E, 0x18, 0x00, 0x78, - 0x40, 0x01, 0xF3, 0x00, 0x03, 0xCC, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, - 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x06, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x40, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x60, - 0x00, 0x01, 0x80, 0x00, 0x0C, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, 0x01, - 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0x9F, 0xFF, 0xE6, 0x00, - 0xF1, 0x00, 0x78, 0x40, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, 0xE0, - 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0x80, 0x03, - 0xE0, 0x01, 0xF0, 0x04, 0x78, 0x01, 0x3E, 0x00, 0xDF, 0x00, 0x37, 0x80, - 0x1F, 0xFF, 0xFE, 0xFF, 0xFF, 0x80, 0x01, 0xE0, 0x78, 0x1C, 0x07, 0x80, - 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, - 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x70, 0x1C, 0x0E, 0x00, 0x70, - 0x07, 0x00, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, - 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x01, 0xC0, - 0x1E, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0x00, 0x70, 0x0F, 0x00, 0xE0, 0x1C, 0x03, - 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, - 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x0E, 0x07, 0x01, 0xC0, 0x70, - 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, - 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x3C, 0x07, 0x03, 0xC0, 0xF0, 0x00, - 0x1F, 0x80, 0x00, 0xFF, 0x80, 0xC7, 0x0F, 0x87, 0xB8, 0x0F, 0xFC, 0x00, - 0x07, 0xC0 }; - -const GFXglyph FreeSerif24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' - { 0, 5, 32, 16, 6, -31 }, // 0x21 '!' - { 20, 12, 12, 19, 4, -31 }, // 0x22 '"' - { 38, 23, 31, 23, 0, -30 }, // 0x23 '#' - { 128, 19, 37, 24, 2, -33 }, // 0x24 '$' - { 216, 33, 32, 39, 3, -30 }, // 0x25 '%' - { 348, 32, 33, 37, 2, -31 }, // 0x26 '&' - { 480, 4, 12, 9, 3, -31 }, // 0x27 ''' - { 486, 12, 40, 16, 2, -31 }, // 0x28 '(' - { 546, 12, 40, 16, 2, -30 }, // 0x29 ')' - { 606, 16, 19, 24, 4, -30 }, // 0x2A '*' - { 644, 23, 23, 27, 2, -22 }, // 0x2B '+' - { 711, 6, 11, 12, 2, -4 }, // 0x2C ',' - { 720, 11, 2, 16, 2, -10 }, // 0x2D '-' - { 723, 5, 5, 12, 3, -3 }, // 0x2E '.' - { 727, 14, 32, 14, 0, -30 }, // 0x2F '/' - { 783, 22, 33, 23, 1, -31 }, // 0x30 '0' - { 874, 13, 32, 24, 5, -31 }, // 0x31 '1' - { 926, 21, 31, 23, 1, -30 }, // 0x32 '2' - { 1008, 18, 32, 23, 2, -30 }, // 0x33 '3' - { 1080, 21, 31, 24, 1, -30 }, // 0x34 '4' - { 1162, 19, 33, 24, 2, -31 }, // 0x35 '5' - { 1241, 21, 33, 23, 2, -31 }, // 0x36 '6' - { 1328, 20, 31, 24, 1, -30 }, // 0x37 '7' - { 1406, 18, 33, 23, 3, -31 }, // 0x38 '8' - { 1481, 21, 33, 24, 1, -31 }, // 0x39 '9' - { 1568, 5, 22, 12, 4, -20 }, // 0x3A ':' - { 1582, 6, 27, 12, 3, -20 }, // 0x3B ';' - { 1603, 24, 25, 27, 1, -24 }, // 0x3C '<' - { 1678, 24, 11, 27, 1, -16 }, // 0x3D '=' - { 1711, 24, 25, 27, 2, -23 }, // 0x3E '>' - { 1786, 17, 32, 21, 3, -31 }, // 0x3F '?' - { 1854, 32, 33, 41, 4, -31 }, // 0x40 '@' - { 1986, 32, 32, 34, 1, -31 }, // 0x41 'A' - { 2114, 27, 31, 30, 0, -30 }, // 0x42 'B' - { 2219, 28, 33, 31, 2, -31 }, // 0x43 'C' - { 2335, 31, 31, 34, 1, -30 }, // 0x44 'D' - { 2456, 27, 31, 29, 2, -30 }, // 0x45 'E' - { 2561, 24, 31, 27, 2, -30 }, // 0x46 'F' - { 2654, 31, 33, 35, 2, -31 }, // 0x47 'G' - { 2782, 30, 31, 34, 2, -30 }, // 0x48 'H' - { 2899, 13, 31, 15, 1, -30 }, // 0x49 'I' - { 2950, 17, 32, 18, 0, -30 }, // 0x4A 'J' - { 3018, 32, 31, 33, 1, -30 }, // 0x4B 'K' - { 3142, 26, 31, 29, 2, -30 }, // 0x4C 'L' - { 3243, 39, 31, 41, 1, -30 }, // 0x4D 'M' - { 3395, 32, 32, 34, 1, -30 }, // 0x4E 'N' - { 3523, 30, 33, 34, 2, -31 }, // 0x4F 'O' - { 3647, 23, 31, 27, 2, -30 }, // 0x50 'P' - { 3737, 31, 40, 34, 2, -31 }, // 0x51 'Q' - { 3892, 28, 31, 31, 2, -30 }, // 0x52 'R' - { 4001, 21, 33, 25, 2, -31 }, // 0x53 'S' - { 4088, 27, 31, 28, 1, -30 }, // 0x54 'T' - { 4193, 32, 32, 34, 1, -30 }, // 0x55 'U' - { 4321, 32, 32, 33, 0, -30 }, // 0x56 'V' - { 4449, 44, 32, 45, 0, -30 }, // 0x57 'W' - { 4625, 33, 31, 34, 0, -30 }, // 0x58 'X' - { 4753, 32, 31, 33, 0, -30 }, // 0x59 'Y' - { 4877, 27, 31, 29, 1, -30 }, // 0x5A 'Z' - { 4982, 9, 38, 16, 4, -30 }, // 0x5B '[' - { 5025, 14, 32, 14, 0, -30 }, // 0x5C '\' - { 5081, 9, 38, 16, 3, -30 }, // 0x5D ']' - { 5124, 20, 17, 22, 1, -30 }, // 0x5E '^' - { 5167, 24, 2, 23, 0, 5 }, // 0x5F '_' - { 5173, 10, 8, 12, 1, -31 }, // 0x60 '`' - { 5183, 18, 21, 20, 1, -20 }, // 0x61 'a' - { 5231, 21, 32, 24, 1, -31 }, // 0x62 'b' - { 5315, 19, 21, 21, 1, -20 }, // 0x63 'c' - { 5365, 22, 32, 23, 1, -31 }, // 0x64 'd' - { 5453, 18, 21, 21, 1, -20 }, // 0x65 'e' - { 5501, 17, 33, 18, 0, -32 }, // 0x66 'f' - { 5572, 21, 31, 22, 1, -20 }, // 0x67 'g' - { 5654, 22, 32, 23, 0, -31 }, // 0x68 'h' - { 5742, 11, 32, 13, 0, -31 }, // 0x69 'i' - { 5786, 12, 42, 16, 0, -31 }, // 0x6A 'j' - { 5849, 23, 32, 24, 1, -31 }, // 0x6B 'k' - { 5941, 11, 32, 12, 0, -31 }, // 0x6C 'l' - { 5985, 35, 21, 37, 1, -20 }, // 0x6D 'm' - { 6077, 22, 21, 23, 0, -20 }, // 0x6E 'n' - { 6135, 22, 21, 23, 1, -20 }, // 0x6F 'o' - { 6193, 21, 31, 24, 1, -20 }, // 0x70 'p' - { 6275, 21, 31, 23, 1, -20 }, // 0x71 'q' - { 6357, 15, 21, 16, 1, -20 }, // 0x72 'r' - { 6397, 13, 21, 17, 2, -20 }, // 0x73 's' - { 6432, 12, 26, 13, 1, -25 }, // 0x74 't' - { 6471, 22, 21, 23, 1, -20 }, // 0x75 'u' - { 6529, 22, 22, 22, 0, -20 }, // 0x76 'v' - { 6590, 32, 22, 32, 0, -20 }, // 0x77 'w' - { 6678, 22, 21, 23, 0, -20 }, // 0x78 'x' - { 6736, 22, 31, 22, 0, -20 }, // 0x79 'y' - { 6822, 18, 21, 20, 1, -20 }, // 0x7A 'z' - { 6870, 11, 41, 23, 5, -31 }, // 0x7B '{' - { 6927, 3, 32, 9, 3, -30 }, // 0x7C '|' - { 6939, 11, 41, 23, 7, -31 }, // 0x7D '}' - { 6996, 22, 5, 23, 1, -13 } }; // 0x7E '~' - -const GFXfont FreeSerif24pt7b PROGMEM = { - (uint8_t *)FreeSerif24pt7bBitmaps, - (GFXglyph *)FreeSerif24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 7682 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h deleted file mode 100644 index cdb20c7..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerif9pt7b.h +++ /dev/null @@ -1,195 +0,0 @@ -const uint8_t FreeSerif9pt7bBitmaps[] PROGMEM = { - 0xFF, 0xEA, 0x03, 0xDE, 0xF7, 0x20, 0x11, 0x09, 0x04, 0x82, 0x4F, 0xF9, - 0x10, 0x89, 0xFF, 0x24, 0x12, 0x09, 0x0C, 0x80, 0x10, 0x7C, 0xD6, 0xD2, - 0xD0, 0xF0, 0x38, 0x1E, 0x17, 0x93, 0x93, 0xD6, 0x7C, 0x10, 0x38, 0x43, - 0x3C, 0x39, 0x21, 0x8A, 0x0C, 0x50, 0x65, 0x39, 0xCB, 0x20, 0xB9, 0x05, - 0x88, 0x4C, 0x44, 0x64, 0x21, 0xC0, 0x0E, 0x00, 0xC8, 0x06, 0x40, 0x32, - 0x01, 0xA0, 0x07, 0x78, 0x31, 0x87, 0x88, 0x46, 0x86, 0x34, 0x30, 0xC1, - 0xC7, 0x17, 0xCF, 0x00, 0xFE, 0x08, 0x88, 0x84, 0x63, 0x18, 0xC6, 0x10, - 0x82, 0x08, 0x20, 0x82, 0x08, 0x21, 0x0C, 0x63, 0x18, 0xC4, 0x22, 0x22, - 0x00, 0x63, 0x9A, 0xDC, 0x72, 0xB6, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, - 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xD8, 0xF0, 0xF0, 0x08, 0x84, 0x22, - 0x10, 0x8C, 0x42, 0x31, 0x00, 0x1C, 0x31, 0x98, 0xD8, 0x3C, 0x1E, 0x0F, - 0x07, 0x83, 0xC1, 0xE0, 0xD8, 0xC4, 0x61, 0xC0, 0x13, 0x8C, 0x63, 0x18, - 0xC6, 0x31, 0x8C, 0x67, 0x80, 0x3C, 0x4E, 0x86, 0x06, 0x06, 0x04, 0x0C, - 0x08, 0x10, 0x20, 0x41, 0xFE, 0x3C, 0xC6, 0x06, 0x04, 0x1C, 0x3E, 0x07, - 0x03, 0x03, 0x03, 0x06, 0xF8, 0x04, 0x18, 0x71, 0x64, 0xC9, 0xA3, 0x46, - 0xFE, 0x18, 0x30, 0x60, 0x0F, 0x10, 0x20, 0x3C, 0x0E, 0x07, 0x03, 0x03, - 0x03, 0x02, 0x04, 0xF8, 0x07, 0x1C, 0x30, 0x60, 0x60, 0xDC, 0xE6, 0xC3, - 0xC3, 0xC3, 0x43, 0x66, 0x3C, 0x7F, 0x82, 0x02, 0x02, 0x04, 0x04, 0x04, - 0x08, 0x08, 0x08, 0x10, 0x10, 0x3C, 0x8F, 0x1E, 0x3E, 0x4F, 0x06, 0x36, - 0xC7, 0x8F, 0x1B, 0x33, 0xC0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, - 0x63, 0x3F, 0x06, 0x06, 0x0C, 0x38, 0x60, 0xF0, 0x0F, 0xD8, 0x00, 0x03, - 0x28, 0x01, 0x87, 0x0E, 0x1C, 0x0C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x80, - 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x80, 0x1C, 0x01, 0xC0, 0x1C, 0x01, - 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x79, 0x1A, 0x18, 0x30, 0x60, 0x83, - 0x04, 0x10, 0x20, 0x40, 0x03, 0x00, 0x0F, 0x83, 0x8C, 0x60, 0x26, 0x02, - 0xC7, 0x9C, 0xC9, 0xD8, 0x9D, 0x99, 0xD9, 0x26, 0xEC, 0x60, 0x03, 0x04, - 0x0F, 0x80, 0x02, 0x00, 0x10, 0x01, 0xC0, 0x16, 0x00, 0x98, 0x04, 0xC0, - 0x43, 0x03, 0xF8, 0x20, 0x61, 0x03, 0x18, 0x1D, 0xE1, 0xF0, 0xFF, 0x86, - 0x1C, 0xC1, 0x98, 0x33, 0x0C, 0x7E, 0x0C, 0x31, 0x83, 0x30, 0x66, 0x0C, - 0xC3, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0x81, 0xE0, 0x1C, 0x01, 0x80, 0x30, - 0x06, 0x00, 0xC0, 0x0C, 0x00, 0xC1, 0x8F, 0xC0, 0xFF, 0x03, 0x1C, 0x30, - 0x63, 0x07, 0x30, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0x33, 0x06, 0x30, - 0xCF, 0xF0, 0xFF, 0x98, 0x26, 0x01, 0x80, 0x61, 0x1F, 0xC6, 0x11, 0x80, - 0x60, 0x18, 0x16, 0x0F, 0xFE, 0xFF, 0xB0, 0x58, 0x0C, 0x06, 0x13, 0xF9, - 0x84, 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x23, 0x0E, 0x60, 0x26, - 0x00, 0xC0, 0x0C, 0x0F, 0xC0, 0x6C, 0x06, 0xC0, 0x66, 0x06, 0x30, 0x60, - 0xF8, 0xF1, 0xEC, 0x19, 0x83, 0x30, 0x66, 0x0C, 0xFF, 0x98, 0x33, 0x06, - 0x60, 0xCC, 0x19, 0x83, 0x78, 0xF0, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x6F, - 0x3C, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, 0x6D, 0xBC, 0xF3, 0xE6, 0x08, - 0x61, 0x06, 0x20, 0x64, 0x07, 0x80, 0x6C, 0x06, 0x60, 0x63, 0x06, 0x18, - 0x60, 0xCF, 0x3F, 0xF0, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, - 0x80, 0x60, 0x18, 0x16, 0x0B, 0xFE, 0xF0, 0x0E, 0x70, 0x38, 0xE0, 0x71, - 0xE1, 0x62, 0xC2, 0xC5, 0xC9, 0x89, 0x93, 0x13, 0x26, 0x23, 0x8C, 0x47, - 0x18, 0x84, 0x33, 0x88, 0xF0, 0xE0, 0xEE, 0x09, 0xC1, 0x2C, 0x25, 0xC4, - 0x9C, 0x91, 0x92, 0x1A, 0x41, 0xC8, 0x19, 0x03, 0x70, 0x20, 0x1F, 0x06, - 0x31, 0x83, 0x20, 0x2C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x09, - 0x83, 0x18, 0xC1, 0xF0, 0xFE, 0x31, 0x98, 0x6C, 0x36, 0x1B, 0x19, 0xF8, - 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x06, 0x31, 0x83, 0x20, 0x2C, - 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x19, 0x83, 0x18, 0xC0, 0xE0, - 0x0E, 0x00, 0xE0, 0x07, 0xFE, 0x0C, 0x61, 0x86, 0x30, 0xC6, 0x18, 0xC6, - 0x1F, 0x83, 0x70, 0x67, 0x0C, 0x71, 0x87, 0x78, 0x70, 0x1D, 0x31, 0x98, - 0x4C, 0x07, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xA0, 0xD8, 0xCB, 0xC0, 0xFF, - 0xF8, 0xCE, 0x18, 0x83, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, - 0xC0, 0x18, 0x07, 0x80, 0xF0, 0xEC, 0x09, 0x81, 0x30, 0x26, 0x04, 0xC0, - 0x98, 0x13, 0x02, 0x60, 0x4C, 0x08, 0xC2, 0x0F, 0x80, 0xF8, 0x77, 0x02, - 0x30, 0x23, 0x04, 0x18, 0x41, 0x84, 0x0C, 0x80, 0xC8, 0x07, 0x00, 0x70, - 0x02, 0x00, 0x20, 0xFB, 0xE7, 0xB0, 0xC0, 0x8C, 0x20, 0x86, 0x18, 0x41, - 0x8C, 0x40, 0xCB, 0x20, 0x65, 0x90, 0x1A, 0x70, 0x0E, 0x38, 0x03, 0x1C, - 0x01, 0x04, 0x00, 0x82, 0x00, 0xFC, 0xF9, 0x83, 0x06, 0x10, 0x19, 0x00, - 0xD0, 0x03, 0x00, 0x1C, 0x01, 0x30, 0x11, 0xC1, 0x86, 0x08, 0x19, 0xE3, - 0xF0, 0xF8, 0xF6, 0x06, 0x30, 0x41, 0x88, 0x1D, 0x00, 0xD0, 0x06, 0x00, - 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0xF0, 0x3F, 0xCC, 0x11, 0x06, 0x01, - 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x38, 0x06, 0x05, 0xC1, 0x7F, 0xE0, - 0xFB, 0x6D, 0xB6, 0xDB, 0x6D, 0xB8, 0x82, 0x10, 0x82, 0x10, 0x86, 0x10, - 0x86, 0x10, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xF8, 0x18, 0x1C, 0x34, 0x26, - 0x62, 0x42, 0xC1, 0xFF, 0x80, 0x84, 0x20, 0x79, 0x98, 0x30, 0xE6, 0xD9, - 0xB3, 0x3F, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC3, 0x61, - 0xB0, 0xD8, 0x6C, 0x63, 0xE0, 0x3C, 0xCF, 0x06, 0x0C, 0x18, 0x18, 0x9E, - 0x01, 0x03, 0x80, 0xC0, 0x60, 0x31, 0xD9, 0x9D, 0x86, 0xC3, 0x61, 0xB0, - 0xCC, 0x63, 0xF0, 0x3C, 0x46, 0xFE, 0xC0, 0xC0, 0xE1, 0x62, 0x3C, 0x1E, - 0x41, 0x83, 0x06, 0x1E, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x0F, 0x00, 0x3C, - 0x19, 0xF6, 0x31, 0x8C, 0x1E, 0x08, 0x04, 0x01, 0xFC, 0x40, 0xB0, 0x2E, - 0x11, 0xF8, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC6, 0x63, - 0x31, 0x98, 0xCC, 0x6F, 0x78, 0x60, 0x02, 0xE6, 0x66, 0x66, 0xF0, 0x18, - 0x00, 0x33, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8B, 0x80, 0x20, 0x70, 0x18, - 0x0C, 0x06, 0x03, 0x3D, 0x88, 0xD8, 0x78, 0x36, 0x19, 0x8C, 0x6F, 0x78, - 0x2E, 0x66, 0x66, 0x66, 0x66, 0x66, 0xF0, 0xEE, 0x71, 0xCE, 0x66, 0x31, - 0x98, 0xC6, 0x63, 0x19, 0x8C, 0x66, 0x31, 0xBD, 0xEF, 0xEE, 0x39, 0x98, - 0xCC, 0x66, 0x33, 0x19, 0x8D, 0xEF, 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1E, - 0x0D, 0x8C, 0x7C, 0xEE, 0x39, 0x98, 0x6C, 0x36, 0x1B, 0x0D, 0x8C, 0xFC, - 0x60, 0x30, 0x18, 0x1E, 0x00, 0x3D, 0x31, 0xB0, 0xD8, 0x6C, 0x36, 0x1B, - 0x8C, 0xFE, 0x03, 0x01, 0x80, 0xC0, 0xF0, 0x6D, 0xC6, 0x18, 0x61, 0x86, - 0x3C, 0x76, 0x38, 0x58, 0x3E, 0x38, 0xFE, 0x27, 0x98, 0xC6, 0x31, 0x8C, - 0x38, 0xE7, 0x31, 0x98, 0xCC, 0x66, 0x33, 0x19, 0x8C, 0x7F, 0xF3, 0x61, - 0x22, 0x32, 0x14, 0x1C, 0x08, 0x08, 0xEF, 0x36, 0x61, 0x62, 0x22, 0x32, - 0x35, 0x41, 0x9C, 0x18, 0x81, 0x08, 0xF7, 0x12, 0x0E, 0x03, 0x01, 0xC1, - 0x21, 0x09, 0xCF, 0xF3, 0x61, 0x62, 0x32, 0x34, 0x14, 0x1C, 0x08, 0x08, - 0x08, 0x10, 0xE0, 0xFD, 0x18, 0x60, 0x83, 0x0C, 0x70, 0xFE, 0x19, 0x8C, - 0x63, 0x18, 0xC4, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF0, 0xC3, 0x18, - 0xC6, 0x31, 0x84, 0x33, 0x18, 0xC6, 0x31, 0x98, 0x70, 0x24, 0xC1, 0xC0 }; - -const GFXglyph FreeSerif9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 2, 12, 6, 2, -11 }, // 0x21 '!' - { 3, 5, 4, 7, 1, -11 }, // 0x22 '"' - { 6, 9, 12, 9, 0, -11 }, // 0x23 '#' - { 20, 8, 14, 9, 1, -12 }, // 0x24 '$' - { 34, 13, 12, 15, 1, -11 }, // 0x25 '%' - { 54, 13, 13, 14, 1, -12 }, // 0x26 '&' - { 76, 2, 4, 4, 1, -11 }, // 0x27 ''' - { 77, 5, 15, 6, 1, -11 }, // 0x28 '(' - { 87, 5, 15, 6, 0, -11 }, // 0x29 ')' - { 97, 6, 8, 9, 3, -11 }, // 0x2A '*' - { 103, 9, 9, 10, 0, -8 }, // 0x2B '+' - { 114, 2, 3, 4, 2, 0 }, // 0x2C ',' - { 115, 4, 1, 6, 1, -3 }, // 0x2D '-' - { 116, 2, 2, 5, 1, -1 }, // 0x2E '.' - { 117, 5, 12, 5, 0, -11 }, // 0x2F '/' - { 125, 9, 13, 9, 0, -12 }, // 0x30 '0' - { 140, 5, 13, 9, 2, -12 }, // 0x31 '1' - { 149, 8, 12, 9, 1, -11 }, // 0x32 '2' - { 161, 8, 12, 9, 0, -11 }, // 0x33 '3' - { 173, 7, 12, 9, 1, -11 }, // 0x34 '4' - { 184, 8, 12, 9, 0, -11 }, // 0x35 '5' - { 196, 8, 13, 9, 1, -12 }, // 0x36 '6' - { 209, 8, 12, 9, 0, -11 }, // 0x37 '7' - { 221, 7, 13, 9, 1, -12 }, // 0x38 '8' - { 233, 8, 14, 9, 1, -12 }, // 0x39 '9' - { 247, 2, 8, 5, 1, -7 }, // 0x3A ':' - { 249, 3, 10, 5, 1, -7 }, // 0x3B ';' - { 253, 9, 9, 10, 1, -8 }, // 0x3C '<' - { 264, 9, 5, 10, 1, -6 }, // 0x3D '=' - { 270, 10, 9, 10, 0, -8 }, // 0x3E '>' - { 282, 7, 13, 8, 1, -12 }, // 0x3F '?' - { 294, 12, 13, 16, 2, -12 }, // 0x40 '@' - { 314, 13, 12, 13, 0, -11 }, // 0x41 'A' - { 334, 11, 12, 11, 0, -11 }, // 0x42 'B' - { 351, 11, 12, 12, 1, -11 }, // 0x43 'C' - { 368, 12, 12, 13, 0, -11 }, // 0x44 'D' - { 386, 10, 12, 11, 1, -11 }, // 0x45 'E' - { 401, 9, 12, 10, 1, -11 }, // 0x46 'F' - { 415, 12, 12, 13, 1, -11 }, // 0x47 'G' - { 433, 11, 12, 13, 1, -11 }, // 0x48 'H' - { 450, 4, 12, 6, 1, -11 }, // 0x49 'I' - { 456, 6, 12, 7, 0, -11 }, // 0x4A 'J' - { 465, 12, 12, 13, 1, -11 }, // 0x4B 'K' - { 483, 10, 12, 11, 1, -11 }, // 0x4C 'L' - { 498, 15, 12, 16, 0, -11 }, // 0x4D 'M' - { 521, 11, 12, 13, 1, -11 }, // 0x4E 'N' - { 538, 11, 13, 13, 1, -12 }, // 0x4F 'O' - { 556, 9, 12, 10, 1, -11 }, // 0x50 'P' - { 570, 11, 16, 13, 1, -12 }, // 0x51 'Q' - { 592, 11, 12, 12, 1, -11 }, // 0x52 'R' - { 609, 9, 12, 10, 0, -11 }, // 0x53 'S' - { 623, 11, 12, 11, 0, -11 }, // 0x54 'T' - { 640, 11, 12, 13, 1, -11 }, // 0x55 'U' - { 657, 12, 12, 13, 0, -11 }, // 0x56 'V' - { 675, 17, 12, 17, 0, -11 }, // 0x57 'W' - { 701, 13, 12, 13, 0, -11 }, // 0x58 'X' - { 721, 12, 12, 13, 0, -11 }, // 0x59 'Y' - { 739, 11, 12, 11, 0, -11 }, // 0x5A 'Z' - { 756, 3, 15, 6, 2, -11 }, // 0x5B '[' - { 762, 5, 12, 5, 0, -11 }, // 0x5C '\' - { 770, 3, 15, 6, 1, -11 }, // 0x5D ']' - { 776, 8, 7, 8, 0, -11 }, // 0x5E '^' - { 783, 9, 1, 9, 0, 2 }, // 0x5F '_' - { 785, 4, 3, 5, 0, -11 }, // 0x60 '`' - { 787, 7, 8, 8, 1, -7 }, // 0x61 'a' - { 794, 9, 13, 9, 0, -12 }, // 0x62 'b' - { 809, 7, 8, 8, 0, -7 }, // 0x63 'c' - { 816, 9, 13, 9, 0, -12 }, // 0x64 'd' - { 831, 8, 8, 8, 0, -7 }, // 0x65 'e' - { 839, 7, 13, 7, 1, -12 }, // 0x66 'f' - { 851, 10, 12, 8, 0, -7 }, // 0x67 'g' - { 866, 9, 13, 9, 0, -12 }, // 0x68 'h' - { 881, 4, 11, 5, 1, -10 }, // 0x69 'i' - { 887, 5, 15, 6, 0, -10 }, // 0x6A 'j' - { 897, 9, 13, 9, 1, -12 }, // 0x6B 'k' - { 912, 4, 13, 5, 1, -12 }, // 0x6C 'l' - { 919, 14, 8, 14, 0, -7 }, // 0x6D 'm' - { 933, 9, 8, 9, 0, -7 }, // 0x6E 'n' - { 942, 9, 8, 9, 0, -7 }, // 0x6F 'o' - { 951, 9, 12, 9, 0, -7 }, // 0x70 'p' - { 965, 9, 12, 9, 0, -7 }, // 0x71 'q' - { 979, 6, 8, 6, 0, -7 }, // 0x72 'r' - { 985, 6, 8, 7, 1, -7 }, // 0x73 's' - { 991, 5, 9, 5, 0, -8 }, // 0x74 't' - { 997, 9, 8, 9, 0, -7 }, // 0x75 'u' - { 1006, 8, 8, 8, 0, -7 }, // 0x76 'v' - { 1014, 12, 8, 12, 0, -7 }, // 0x77 'w' - { 1026, 9, 8, 9, 0, -7 }, // 0x78 'x' - { 1035, 8, 12, 8, 0, -7 }, // 0x79 'y' - { 1047, 7, 8, 7, 1, -7 }, // 0x7A 'z' - { 1054, 5, 16, 9, 1, -12 }, // 0x7B '{' - { 1064, 1, 12, 4, 1, -11 }, // 0x7C '|' - { 1066, 5, 16, 9, 3, -11 }, // 0x7D '}' - { 1076, 9, 3, 9, 0, -5 } }; // 0x7E '~' - -const GFXfont FreeSerif9pt7b PROGMEM = { - (uint8_t *)FreeSerif9pt7bBitmaps, - (GFXglyph *)FreeSerif9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1752 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h deleted file mode 100644 index 1d49981..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold12pt7b.h +++ /dev/null @@ -1,271 +0,0 @@ -const uint8_t FreeSerifBold12pt7bBitmaps[] PROGMEM = { - 0x7F, 0xFF, 0x77, 0x66, 0x22, 0x00, 0x6F, 0xF7, 0xE3, 0xF1, 0xF8, 0xFC, - 0x7E, 0x3A, 0x09, 0x04, 0x0C, 0x40, 0xCC, 0x0C, 0xC0, 0x8C, 0x18, 0xC7, - 0xFF, 0x18, 0xC1, 0x88, 0x19, 0x81, 0x98, 0xFF, 0xE3, 0x18, 0x31, 0x83, - 0x18, 0x33, 0x03, 0x30, 0x08, 0x01, 0x00, 0xFC, 0x24, 0xEC, 0x8D, 0x90, - 0xBA, 0x07, 0xC0, 0x7E, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x9F, 0x11, 0xE2, - 0x3E, 0x46, 0xE9, 0xC7, 0xC0, 0x20, 0x04, 0x00, 0x1E, 0x0C, 0x0E, 0x7F, - 0x07, 0x10, 0x83, 0xC4, 0x40, 0xE1, 0x30, 0x38, 0x88, 0x0E, 0x26, 0x03, - 0x91, 0x1E, 0x78, 0x8E, 0x40, 0x27, 0x10, 0x11, 0xC4, 0x0C, 0xE1, 0x02, - 0x38, 0x81, 0x0E, 0x20, 0x43, 0x90, 0x20, 0x78, 0x03, 0xE0, 0x01, 0x9E, - 0x00, 0xE3, 0x80, 0x38, 0xE0, 0x0F, 0x30, 0x03, 0xF0, 0x00, 0x78, 0x7C, - 0x1F, 0x06, 0x1B, 0xE1, 0x1C, 0x7C, 0x8F, 0x1F, 0x23, 0xC3, 0xF0, 0xF8, - 0x7C, 0x3E, 0x0F, 0x97, 0xC7, 0xFC, 0xFE, 0x3E, 0xFF, 0xFE, 0x90, 0x00, - 0x31, 0x0C, 0x31, 0x86, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x86, 0x18, 0x60, - 0xC1, 0x02, 0x04, 0x03, 0x06, 0x0C, 0x30, 0x61, 0x87, 0x1C, 0x71, 0xC7, - 0x1C, 0x71, 0x86, 0x38, 0xC2, 0x10, 0x80, 0x1C, 0x6E, 0xFA, 0xEF, 0xF1, - 0xC7, 0xFF, 0xAF, 0xBB, 0x1C, 0x04, 0x00, 0x06, 0x00, 0x60, 0x06, 0x00, - 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, - 0x60, 0x6F, 0xF7, 0x11, 0x24, 0xFF, 0xFF, 0xC0, 0x6F, 0xF6, 0x03, 0x07, - 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x60, - 0x60, 0x60, 0xC0, 0x0E, 0x07, 0x71, 0xC7, 0x38, 0xEF, 0x1D, 0xE3, 0xFC, - 0x7F, 0x8F, 0xF1, 0xFE, 0x3F, 0xC7, 0xF8, 0xF7, 0x1C, 0xE3, 0x8E, 0xE0, - 0xF8, 0x06, 0x0F, 0x1F, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, - 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0xF9, 0xFF, 0x0F, 0x03, 0xFC, 0x7F, 0xC4, - 0x3E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x1C, 0x03, 0x80, 0x30, 0x06, 0x00, - 0xC1, 0x18, 0x13, 0xFE, 0x7F, 0xEF, 0xFE, 0x1F, 0x0C, 0xFA, 0x0F, 0x01, - 0xE0, 0x38, 0x0E, 0x03, 0xE0, 0x3E, 0x03, 0xE0, 0x3C, 0x03, 0x80, 0x70, - 0x0D, 0xC1, 0xBC, 0x43, 0xF0, 0x03, 0x80, 0xE0, 0x78, 0x3E, 0x17, 0x89, - 0xE2, 0x79, 0x1E, 0x87, 0xA1, 0xEF, 0xFF, 0xFF, 0xFF, 0xC1, 0xE0, 0x78, - 0x1E, 0x3F, 0xE7, 0xF8, 0xFF, 0x10, 0x04, 0x00, 0xF8, 0x1F, 0xC7, 0xFC, - 0x1F, 0xC0, 0x78, 0x07, 0x00, 0x60, 0x0D, 0xC1, 0x3C, 0x43, 0xF0, 0x00, - 0xE0, 0xF0, 0x38, 0x1E, 0x07, 0x80, 0xF0, 0x3F, 0xE7, 0x9E, 0xF1, 0xFE, - 0x3F, 0xC7, 0xF8, 0xF7, 0x1E, 0xE3, 0x8E, 0x60, 0xF8, 0x7F, 0xEF, 0xFD, - 0xFF, 0xA0, 0x68, 0x0C, 0x03, 0x80, 0x60, 0x0C, 0x03, 0x00, 0x60, 0x0C, - 0x03, 0x00, 0x60, 0x1C, 0x03, 0x00, 0x60, 0x1F, 0x0E, 0x73, 0x87, 0x70, - 0xEF, 0x1D, 0xF3, 0x1F, 0x81, 0xF8, 0x1F, 0xCC, 0xFB, 0x8F, 0xF0, 0xFE, - 0x1F, 0xC3, 0x9C, 0xF1, 0xF8, 0x1F, 0x06, 0x71, 0xC7, 0x78, 0xEF, 0x1F, - 0xE3, 0xFC, 0x7F, 0x8F, 0x79, 0xE7, 0xFC, 0x0F, 0x01, 0xC0, 0x78, 0x1C, - 0x0F, 0x07, 0x00, 0x6F, 0xF6, 0x00, 0x06, 0xFF, 0x60, 0x6F, 0xF6, 0x00, - 0x06, 0xFF, 0x71, 0x22, 0xC0, 0x00, 0x04, 0x00, 0x70, 0x07, 0xC0, 0xFC, - 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, - 0x00, 0x1F, 0x00, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0x80, 0x0F, - 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0x80, 0x1F, 0x01, 0xF0, - 0x1F, 0x03, 0xF0, 0x3E, 0x00, 0xE0, 0x02, 0x00, 0x00, 0x3E, 0x11, 0xEC, - 0x3F, 0x8F, 0xE3, 0xC0, 0xF0, 0x78, 0x18, 0x08, 0x02, 0x00, 0x00, 0x00, - 0x1C, 0x07, 0x81, 0xE0, 0x30, 0x03, 0xF0, 0x0E, 0x18, 0x18, 0x04, 0x30, - 0x66, 0x70, 0xDB, 0x61, 0x99, 0xE3, 0x19, 0xE3, 0x31, 0xE6, 0x31, 0xE6, - 0x31, 0xE6, 0xF2, 0x66, 0xB2, 0x73, 0x3C, 0x38, 0x00, 0x1E, 0x04, 0x03, - 0xF8, 0x00, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x3E, 0x00, - 0x1F, 0x00, 0x1B, 0xC0, 0x09, 0xE0, 0x0C, 0xF8, 0x04, 0x3C, 0x02, 0x1F, - 0x03, 0xFF, 0x81, 0x03, 0xC1, 0x80, 0xF0, 0x80, 0x7D, 0xF0, 0xFF, 0xFF, - 0xC0, 0xF3, 0xC3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xCE, 0x0F, - 0xF0, 0x3C, 0x70, 0xF0, 0xE3, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, 0xE3, - 0xC7, 0xBF, 0xF8, 0x07, 0xE2, 0x38, 0x7C, 0xE0, 0x3B, 0xC0, 0x37, 0x00, - 0x7E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x03, - 0x80, 0x07, 0x80, 0x27, 0x00, 0xC7, 0x86, 0x03, 0xF0, 0xFF, 0xE0, 0x1E, - 0x1E, 0x0F, 0x07, 0x87, 0x81, 0xE3, 0xC0, 0xF1, 0xE0, 0x3C, 0xF0, 0x1E, - 0x78, 0x0F, 0x3C, 0x07, 0x9E, 0x03, 0xCF, 0x01, 0xE7, 0x80, 0xE3, 0xC0, - 0xF1, 0xE0, 0xF0, 0xF0, 0xE1, 0xFF, 0xC0, 0xFF, 0xFC, 0x78, 0x38, 0xF0, - 0x31, 0xE0, 0x23, 0xC4, 0x07, 0x88, 0x0F, 0x30, 0x1F, 0xE0, 0x3C, 0xC0, - 0x78, 0x80, 0xF1, 0x01, 0xE0, 0x23, 0xC0, 0x47, 0x81, 0x8F, 0x07, 0x7F, - 0xFE, 0xFF, 0xFC, 0xF0, 0x73, 0xC0, 0xCF, 0x01, 0x3C, 0x40, 0xF1, 0x03, - 0xCC, 0x0F, 0xF0, 0x3C, 0xC0, 0xF1, 0x03, 0xC4, 0x0F, 0x00, 0x3C, 0x00, - 0xF0, 0x03, 0xC0, 0x3F, 0xC0, 0x07, 0xE2, 0x1C, 0x3E, 0x38, 0x0E, 0x78, - 0x06, 0x70, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, - 0x7F, 0xF0, 0x1E, 0x70, 0x1E, 0x78, 0x1E, 0x38, 0x1E, 0x1E, 0x1E, 0x07, - 0xF0, 0xFE, 0xFF, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, - 0x3C, 0x78, 0x3C, 0x7F, 0xFC, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, - 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xFE, 0xFF, 0xFF, 0x3C, 0x3C, - 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, - 0xFF, 0x0F, 0xF0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, - 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0xE3, 0xCE, - 0x38, 0xE3, 0x83, 0xE0, 0xFE, 0x7F, 0x3C, 0x0E, 0x1E, 0x04, 0x0F, 0x04, - 0x07, 0x84, 0x03, 0xCC, 0x01, 0xEE, 0x00, 0xFF, 0x00, 0x7F, 0xC0, 0x3C, - 0xF0, 0x1E, 0x7C, 0x0F, 0x1F, 0x07, 0x87, 0xC3, 0xC1, 0xF1, 0xE0, 0x7D, - 0xFC, 0xFF, 0xFE, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, - 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x01, 0x78, - 0x0D, 0xE0, 0x67, 0x83, 0xBF, 0xFE, 0xFC, 0x01, 0xF3, 0xC0, 0x3E, 0x3E, - 0x03, 0xE2, 0xE0, 0x5E, 0x2F, 0x05, 0xE2, 0xF0, 0x5E, 0x27, 0x09, 0xE2, - 0x78, 0x9E, 0x23, 0x91, 0xE2, 0x3D, 0x1E, 0x23, 0xF1, 0xE2, 0x1E, 0x1E, - 0x21, 0xE1, 0xE2, 0x0C, 0x1E, 0x20, 0xC1, 0xEF, 0x88, 0x3F, 0xF8, 0x1E, - 0xF8, 0x18, 0xF8, 0x11, 0xF8, 0x22, 0xF8, 0x45, 0xF0, 0x89, 0xF1, 0x11, - 0xF2, 0x21, 0xF4, 0x41, 0xF8, 0x81, 0xF1, 0x01, 0xE2, 0x03, 0xC4, 0x03, - 0x8C, 0x03, 0x7C, 0x02, 0x07, 0xF0, 0x0F, 0x1E, 0x0E, 0x03, 0x8F, 0x01, - 0xE7, 0x00, 0x77, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, - 0x03, 0xFC, 0x01, 0xEE, 0x00, 0xE7, 0x80, 0xF1, 0xC0, 0x70, 0x70, 0x70, - 0x0F, 0xE0, 0xFF, 0x87, 0x9E, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, - 0xF7, 0x9E, 0x7F, 0x87, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, - 0x0F, 0xE0, 0x07, 0xF0, 0x0F, 0x1E, 0x0E, 0x07, 0x8F, 0x01, 0xE7, 0x00, - 0xF7, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, - 0x01, 0xEE, 0x00, 0xE7, 0x00, 0xF1, 0xC0, 0x70, 0x70, 0x70, 0x1C, 0xF0, - 0x03, 0xE0, 0x01, 0xF8, 0x00, 0x3E, 0x00, 0x07, 0xE0, 0xFF, 0xE0, 0x3C, - 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x38, 0x3C, - 0x70, 0x3F, 0xC0, 0x3D, 0xE0, 0x3C, 0xF0, 0x3C, 0xF8, 0x3C, 0x78, 0x3C, - 0x3C, 0x3C, 0x3E, 0xFF, 0x1F, 0x1F, 0x27, 0x0E, 0x60, 0x6E, 0x06, 0xF0, - 0x2F, 0x80, 0x7F, 0x07, 0xFC, 0x1F, 0xE0, 0x7E, 0x01, 0xF8, 0x07, 0xC0, - 0x7C, 0x06, 0xF0, 0xC9, 0xF8, 0xFF, 0xFF, 0xC7, 0x9F, 0x0F, 0x1C, 0x1E, - 0x10, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, - 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x07, 0xF8, 0xFE, - 0x1E, 0xF0, 0x09, 0xE0, 0x13, 0xC0, 0x27, 0x80, 0x4F, 0x00, 0x9E, 0x01, - 0x3C, 0x02, 0x78, 0x04, 0xF0, 0x09, 0xE0, 0x13, 0xC0, 0x27, 0x80, 0x47, - 0x81, 0x07, 0x84, 0x07, 0xF0, 0xFF, 0x0F, 0x9E, 0x03, 0x0F, 0x00, 0x83, - 0xC0, 0x81, 0xE0, 0x40, 0xF8, 0x60, 0x3C, 0x20, 0x1E, 0x10, 0x07, 0x90, - 0x03, 0xC8, 0x00, 0xF4, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x0E, 0x00, 0x07, - 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0xFE, 0x7F, 0x9E, 0xF8, 0x3C, 0x08, - 0xF0, 0x78, 0x31, 0xE0, 0xF0, 0x41, 0xE0, 0xF0, 0x83, 0xC3, 0xE3, 0x07, - 0x85, 0xC4, 0x07, 0x93, 0xC8, 0x0F, 0x27, 0xB0, 0x0E, 0x47, 0x40, 0x1F, - 0x0F, 0x80, 0x3E, 0x1F, 0x00, 0x38, 0x1C, 0x00, 0x70, 0x38, 0x00, 0xE0, - 0x30, 0x00, 0x80, 0x40, 0xFF, 0x9F, 0x9F, 0x07, 0x07, 0x83, 0x03, 0xE3, - 0x00, 0xF9, 0x00, 0x3D, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, - 0xF8, 0x00, 0xBE, 0x00, 0x8F, 0x00, 0x83, 0xC0, 0xC1, 0xF0, 0xE0, 0xFD, - 0xF8, 0xFF, 0xFF, 0x1F, 0x7C, 0x06, 0x3C, 0x04, 0x3E, 0x0C, 0x1E, 0x08, - 0x0F, 0x10, 0x0F, 0x30, 0x07, 0xA0, 0x07, 0xC0, 0x03, 0xC0, 0x03, 0xC0, - 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x0F, 0xF0, 0x7F, 0xFC, - 0xE0, 0xF1, 0x83, 0xE2, 0x07, 0x84, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x03, - 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x08, 0xF0, 0x13, 0xC0, 0x6F, 0x81, - 0x9E, 0x07, 0x7F, 0xFE, 0xFF, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, - 0x73, 0x9C, 0xE7, 0x39, 0xF0, 0xC0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, - 0x18, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x06, 0x03, 0xF9, 0xCE, - 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCF, 0xF0, 0x0C, - 0x07, 0x81, 0xE0, 0xCC, 0x33, 0x18, 0x66, 0x1B, 0x87, 0xC0, 0xC0, 0xFF, - 0xF0, 0xC7, 0x1C, 0x30, 0x1F, 0x0E, 0x71, 0xCF, 0x39, 0xE0, 0x3C, 0x1F, - 0x8E, 0xF3, 0x9E, 0xF3, 0xDE, 0x79, 0xFF, 0x80, 0xF8, 0x07, 0x80, 0x78, - 0x07, 0x80, 0x78, 0x07, 0xB8, 0x7D, 0xE7, 0x8E, 0x78, 0xF7, 0x8F, 0x78, - 0xF7, 0x8F, 0x78, 0xF7, 0x8E, 0x79, 0xC4, 0x78, 0x1F, 0x1D, 0xDC, 0xFE, - 0x7F, 0x07, 0x83, 0xC1, 0xE0, 0x78, 0x3C, 0x47, 0xC0, 0x03, 0xE0, 0x1E, - 0x01, 0xE0, 0x1E, 0x01, 0xE1, 0xDE, 0x7B, 0xE7, 0x1E, 0xF1, 0xEF, 0x1E, - 0xF1, 0xEF, 0x1E, 0xF1, 0xE7, 0x1E, 0x7B, 0xE1, 0xDF, 0x1F, 0x0C, 0x67, - 0x1B, 0xC7, 0xFF, 0xFC, 0x0F, 0x03, 0xC0, 0x78, 0x4E, 0x21, 0xF0, 0x1E, - 0x3B, 0x7B, 0x78, 0x78, 0xFC, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0xFC, 0x3E, 0x0E, 0x7F, 0xCE, 0x79, 0xEF, 0x3C, 0xE7, 0x0F, - 0xC1, 0x00, 0x60, 0x1C, 0x03, 0xFE, 0x7F, 0xE3, 0xFF, 0x80, 0xF0, 0x33, - 0xFC, 0xF8, 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0xB8, 0x7D, 0xE7, - 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xEF, - 0xFF, 0x31, 0xE7, 0x8C, 0x03, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, - 0xBF, 0x06, 0x0F, 0x0F, 0x06, 0x00, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xCF, 0xCE, 0x7C, 0xF8, 0x03, - 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0xF9, 0xE1, 0x8F, 0x10, 0x79, - 0x03, 0xD8, 0x1F, 0xE0, 0xF7, 0x87, 0x9E, 0x3C, 0x71, 0xE3, 0xDF, 0xBF, - 0xF9, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0xBF, - 0xFB, 0xCF, 0x0F, 0xBE, 0x79, 0xE7, 0x8F, 0x3C, 0xF1, 0xE7, 0x9E, 0x3C, - 0xF3, 0xC7, 0x9E, 0x78, 0xF3, 0xCF, 0x1E, 0x79, 0xE3, 0xCF, 0x3C, 0x7B, - 0xFF, 0xDF, 0x80, 0xFB, 0x87, 0xDE, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, - 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0xFF, 0xF0, 0x1F, 0x07, 0x71, 0xC7, - 0x78, 0xFF, 0x1F, 0xE3, 0xFC, 0x7F, 0x8F, 0x71, 0xC7, 0x70, 0x7C, 0x00, - 0xFB, 0x87, 0xDE, 0x78, 0xE7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, - 0x78, 0xE7, 0x9E, 0x7F, 0x87, 0x80, 0x78, 0x07, 0x80, 0x78, 0x0F, 0xC0, - 0x1E, 0x23, 0x9E, 0x71, 0xEF, 0x1E, 0xF1, 0xEF, 0x1E, 0xF1, 0xEF, 0x1E, - 0x71, 0xE7, 0x9E, 0x1F, 0xE0, 0x1E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3F, - 0xF9, 0xDF, 0xF7, 0xDD, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, - 0x0F, 0xC0, 0x3D, 0x43, 0xC3, 0xE0, 0xFC, 0x7E, 0x1F, 0x87, 0x83, 0xC2, - 0xBC, 0x08, 0x18, 0x38, 0x78, 0xFC, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x79, 0x3E, 0xFB, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, - 0x9E, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0x3F, 0xF0, 0xFC, 0xEF, 0x08, - 0xE1, 0x1E, 0x41, 0xC8, 0x3D, 0x03, 0xC0, 0x78, 0x0E, 0x00, 0xC0, 0x10, - 0x00, 0xFD, 0xF7, 0xBC, 0x71, 0x9E, 0x38, 0x87, 0x1E, 0x43, 0xCF, 0x40, - 0xEB, 0xA0, 0x7C, 0xF0, 0x1C, 0x70, 0x0E, 0x38, 0x06, 0x08, 0x01, 0x04, - 0x00, 0xFC, 0xF7, 0x84, 0x3C, 0x81, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x80, - 0xBC, 0x13, 0xC2, 0x1E, 0xFB, 0xF0, 0xFC, 0xEF, 0x08, 0xE1, 0x1E, 0x43, - 0xC8, 0x3A, 0x07, 0xC0, 0x78, 0x0E, 0x01, 0xC0, 0x18, 0x02, 0x00, 0x41, - 0xC8, 0x3A, 0x03, 0x80, 0xFF, 0xB1, 0xE8, 0x70, 0x3C, 0x1E, 0x07, 0x83, - 0xC1, 0xE0, 0x78, 0xBC, 0x2F, 0xF8, 0x07, 0x0E, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0xE0, 0x18, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1E, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0x70, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x38, 0x38, 0x18, 0x07, 0x38, 0x38, 0x38, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x70, 0xE0, 0x70, 0x1F, 0x8B, 0x3F, 0x01, 0xC0 }; - -const GFXglyph FreeSerifBold12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 4, 16, 8, 2, -15 }, // 0x21 '!' - { 8, 9, 7, 13, 2, -15 }, // 0x22 '"' - { 16, 12, 16, 12, 0, -15 }, // 0x23 '#' - { 40, 11, 20, 12, 1, -17 }, // 0x24 '$' - { 68, 18, 16, 24, 3, -15 }, // 0x25 '%' - { 104, 18, 16, 20, 1, -15 }, // 0x26 '&' - { 140, 3, 7, 7, 2, -15 }, // 0x27 ''' - { 143, 6, 21, 8, 1, -16 }, // 0x28 '(' - { 159, 6, 21, 8, 1, -16 }, // 0x29 ')' - { 175, 9, 10, 12, 2, -15 }, // 0x2A '*' - { 187, 12, 12, 16, 2, -11 }, // 0x2B '+' - { 205, 4, 8, 6, 1, -3 }, // 0x2C ',' - { 209, 6, 3, 8, 1, -6 }, // 0x2D '-' - { 212, 4, 4, 6, 1, -3 }, // 0x2E '.' - { 214, 8, 17, 7, -1, -15 }, // 0x2F '/' - { 231, 11, 16, 12, 1, -15 }, // 0x30 '0' - { 253, 9, 16, 12, 1, -15 }, // 0x31 '1' - { 271, 12, 16, 12, 0, -15 }, // 0x32 '2' - { 295, 11, 16, 12, 1, -15 }, // 0x33 '3' - { 317, 10, 16, 12, 1, -15 }, // 0x34 '4' - { 337, 11, 16, 12, 1, -15 }, // 0x35 '5' - { 359, 11, 16, 12, 1, -15 }, // 0x36 '6' - { 381, 11, 16, 12, 0, -15 }, // 0x37 '7' - { 403, 11, 16, 12, 1, -15 }, // 0x38 '8' - { 425, 11, 16, 12, 1, -15 }, // 0x39 '9' - { 447, 4, 11, 8, 2, -10 }, // 0x3A ':' - { 453, 4, 15, 8, 2, -10 }, // 0x3B ';' - { 461, 14, 14, 16, 1, -12 }, // 0x3C '<' - { 486, 14, 8, 16, 1, -9 }, // 0x3D '=' - { 500, 14, 14, 16, 1, -12 }, // 0x3E '>' - { 525, 10, 16, 12, 1, -15 }, // 0x3F '?' - { 545, 16, 16, 22, 3, -15 }, // 0x40 '@' - { 577, 17, 16, 17, 0, -15 }, // 0x41 'A' - { 611, 14, 16, 16, 1, -15 }, // 0x42 'B' - { 639, 15, 16, 17, 1, -15 }, // 0x43 'C' - { 669, 17, 16, 18, 0, -15 }, // 0x44 'D' - { 703, 15, 16, 16, 1, -15 }, // 0x45 'E' - { 733, 14, 16, 15, 1, -15 }, // 0x46 'F' - { 761, 16, 16, 19, 1, -15 }, // 0x47 'G' - { 793, 16, 16, 19, 2, -15 }, // 0x48 'H' - { 825, 8, 16, 9, 1, -15 }, // 0x49 'I' - { 841, 12, 18, 12, 0, -15 }, // 0x4A 'J' - { 868, 17, 16, 19, 2, -15 }, // 0x4B 'K' - { 902, 14, 16, 16, 2, -15 }, // 0x4C 'L' - { 930, 20, 16, 23, 1, -15 }, // 0x4D 'M' - { 970, 15, 16, 17, 1, -15 }, // 0x4E 'N' - { 1000, 17, 16, 19, 1, -15 }, // 0x4F 'O' - { 1034, 12, 16, 15, 2, -15 }, // 0x50 'P' - { 1058, 17, 20, 19, 1, -15 }, // 0x51 'Q' - { 1101, 16, 16, 17, 1, -15 }, // 0x52 'R' - { 1133, 12, 16, 14, 1, -15 }, // 0x53 'S' - { 1157, 15, 16, 15, 0, -15 }, // 0x54 'T' - { 1187, 15, 16, 17, 1, -15 }, // 0x55 'U' - { 1217, 17, 17, 17, 0, -15 }, // 0x56 'V' - { 1254, 23, 16, 24, 0, -15 }, // 0x57 'W' - { 1300, 17, 16, 17, 0, -15 }, // 0x58 'X' - { 1334, 16, 16, 17, 1, -15 }, // 0x59 'Y' - { 1366, 15, 16, 16, 0, -15 }, // 0x5A 'Z' - { 1396, 5, 20, 8, 2, -15 }, // 0x5B '[' - { 1409, 8, 17, 7, -1, -15 }, // 0x5C '\' - { 1426, 5, 20, 8, 2, -15 }, // 0x5D ']' - { 1439, 10, 9, 14, 2, -15 }, // 0x5E '^' - { 1451, 12, 1, 12, 0, 4 }, // 0x5F '_' - { 1453, 5, 4, 8, 0, -16 }, // 0x60 '`' - { 1456, 11, 11, 12, 1, -10 }, // 0x61 'a' - { 1472, 12, 16, 13, 1, -15 }, // 0x62 'b' - { 1496, 9, 11, 10, 1, -10 }, // 0x63 'c' - { 1509, 12, 16, 13, 1, -15 }, // 0x64 'd' - { 1533, 10, 11, 11, 1, -10 }, // 0x65 'e' - { 1547, 8, 16, 9, 1, -15 }, // 0x66 'f' - { 1563, 11, 16, 12, 1, -10 }, // 0x67 'g' - { 1585, 12, 16, 13, 1, -15 }, // 0x68 'h' - { 1609, 6, 16, 7, 1, -15 }, // 0x69 'i' - { 1621, 8, 21, 10, 0, -15 }, // 0x6A 'j' - { 1642, 13, 16, 13, 1, -15 }, // 0x6B 'k' - { 1668, 6, 16, 7, 1, -15 }, // 0x6C 'l' - { 1680, 19, 11, 20, 1, -10 }, // 0x6D 'm' - { 1707, 12, 11, 13, 1, -10 }, // 0x6E 'n' - { 1724, 11, 11, 12, 1, -10 }, // 0x6F 'o' - { 1740, 12, 16, 13, 1, -10 }, // 0x70 'p' - { 1764, 12, 16, 13, 1, -10 }, // 0x71 'q' - { 1788, 10, 11, 10, 1, -10 }, // 0x72 'r' - { 1802, 8, 11, 10, 1, -10 }, // 0x73 's' - { 1813, 8, 15, 8, 1, -14 }, // 0x74 't' - { 1828, 12, 11, 14, 1, -10 }, // 0x75 'u' - { 1845, 11, 11, 12, 0, -10 }, // 0x76 'v' - { 1861, 17, 11, 17, 0, -10 }, // 0x77 'w' - { 1885, 12, 11, 12, 0, -10 }, // 0x78 'x' - { 1902, 11, 16, 12, 0, -10 }, // 0x79 'y' - { 1924, 10, 11, 11, 1, -10 }, // 0x7A 'z' - { 1938, 8, 21, 9, 0, -16 }, // 0x7B '{' - { 1959, 2, 17, 5, 2, -15 }, // 0x7C '|' - { 1964, 8, 21, 9, 2, -16 }, // 0x7D '}' - { 1985, 11, 4, 12, 1, -7 } }; // 0x7E '~' - -const GFXfont FreeSerifBold12pt7b PROGMEM = { - (uint8_t *)FreeSerifBold12pt7bBitmaps, - (GFXglyph *)FreeSerifBold12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2663 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h deleted file mode 100644 index 11d3c7e..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold18pt7b.h +++ /dev/null @@ -1,462 +0,0 @@ -const uint8_t FreeSerifBold18pt7bBitmaps[] PROGMEM = { - 0x7B, 0xEF, 0xFF, 0xFF, 0xF7, 0x9E, 0x71, 0xC7, 0x0C, 0x20, 0x82, 0x00, - 0x00, 0x07, 0x3E, 0xFF, 0xFF, 0xDC, 0x60, 0x37, 0x83, 0xFC, 0x1F, 0xE0, - 0xFF, 0x07, 0xB8, 0x3D, 0xC0, 0xCC, 0x06, 0x20, 0x31, 0x01, 0x80, 0x03, - 0x8E, 0x00, 0xC3, 0x80, 0x30, 0xE0, 0x1C, 0x38, 0x07, 0x0E, 0x01, 0xC3, - 0x87, 0xFF, 0xFD, 0xFF, 0xFF, 0x7F, 0xFF, 0xC1, 0x87, 0x00, 0xE1, 0xC0, - 0x38, 0x70, 0x0E, 0x1C, 0x03, 0x86, 0x0F, 0xFF, 0xF3, 0xFF, 0xFC, 0xFF, - 0xFF, 0x07, 0x0E, 0x01, 0xC3, 0x80, 0x70, 0xE0, 0x1C, 0x30, 0x07, 0x0C, - 0x01, 0x87, 0x00, 0x61, 0xC0, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0xFF, - 0x03, 0x27, 0x8C, 0x47, 0x38, 0x86, 0x71, 0x0C, 0xF2, 0x09, 0xF4, 0x03, - 0xF8, 0x03, 0xF8, 0x07, 0xFC, 0x03, 0xFC, 0x03, 0xFE, 0x01, 0xFE, 0x03, - 0xFC, 0x04, 0xFC, 0x08, 0xFA, 0x10, 0xF4, 0x21, 0xEC, 0x43, 0xD8, 0x8F, - 0x3D, 0x3C, 0x3F, 0xF0, 0x1F, 0x00, 0x08, 0x00, 0x10, 0x00, 0x03, 0xC0, - 0x18, 0x01, 0xFE, 0x0F, 0x00, 0x7C, 0xFF, 0xC0, 0x1F, 0x0F, 0x90, 0x07, - 0xC1, 0x06, 0x00, 0xF0, 0x21, 0x80, 0x3E, 0x04, 0x30, 0x07, 0x81, 0x8C, - 0x00, 0xF0, 0x21, 0x80, 0x1E, 0x0C, 0x60, 0x03, 0xC1, 0x18, 0x1E, 0x3C, - 0xE3, 0x0F, 0xE7, 0xF8, 0xC3, 0xE6, 0x3C, 0x18, 0xF8, 0x40, 0x06, 0x3E, - 0x08, 0x01, 0x87, 0x81, 0x00, 0x31, 0xF0, 0x20, 0x0C, 0x3E, 0x04, 0x01, - 0x87, 0x81, 0x00, 0x60, 0xF0, 0x60, 0x18, 0x1E, 0x08, 0x03, 0x03, 0xC7, - 0x00, 0xC0, 0x3F, 0xC0, 0x18, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x00, 0x7F, - 0xE0, 0x00, 0x38, 0xF8, 0x00, 0x1E, 0x1F, 0x00, 0x07, 0x83, 0xC0, 0x01, - 0xF0, 0xF0, 0x00, 0x7C, 0x38, 0x00, 0x1F, 0x9C, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0xFE, 0x0F, 0xF0, 0x3F, 0x80, 0xF0, 0x1F, 0xF0, 0x18, 0x1C, 0xFE, - 0x0C, 0x0E, 0x1F, 0xC3, 0x07, 0x87, 0xF1, 0x81, 0xE0, 0xFE, 0x40, 0xF8, - 0x1F, 0xF0, 0x3F, 0x07, 0xF8, 0x0F, 0xC0, 0xFE, 0x03, 0xF8, 0x1F, 0xC0, - 0xFE, 0x07, 0xF8, 0x9F, 0xE3, 0xFF, 0xE7, 0xFF, 0x9F, 0xF0, 0xFF, 0xC3, - 0xF8, 0x0F, 0x80, 0x3C, 0x00, 0x6F, 0xFF, 0xFF, 0x66, 0x66, 0x00, 0x81, - 0x81, 0x81, 0x81, 0x80, 0xC0, 0xE0, 0x70, 0x70, 0x38, 0x3C, 0x1E, 0x0F, - 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x0E, 0x07, 0x03, 0x80, 0xE0, - 0x70, 0x18, 0x06, 0x01, 0x00, 0x40, 0x10, 0x04, 0x80, 0x30, 0x0C, 0x03, - 0x00, 0xC0, 0x60, 0x38, 0x1C, 0x07, 0x03, 0x81, 0xC0, 0xF0, 0x78, 0x3C, - 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xE0, 0x70, 0x38, 0x38, 0x1C, 0x0C, - 0x0C, 0x06, 0x04, 0x04, 0x04, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x78, 0x1D, - 0xE6, 0xFB, 0x3D, 0xED, 0xF3, 0xFF, 0x01, 0xC0, 0x7F, 0xF3, 0xED, 0xFF, - 0x33, 0xD9, 0xE6, 0x07, 0x80, 0x1E, 0x00, 0x30, 0x00, 0x00, 0xE0, 0x00, - 0x1C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, - 0x38, 0x00, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, - 0x70, 0x00, 0x0E, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, - 0xE0, 0x00, 0x1C, 0x00, 0x03, 0x80, 0x00, 0x73, 0xEF, 0xFF, 0xFD, 0xF0, - 0xC2, 0x18, 0xC6, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0xFF, 0xFF, 0xFD, - 0xE0, 0x00, 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, - 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, - 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x1C, 0x07, 0x00, 0xE0, 0x00, - 0x03, 0xC0, 0x0E, 0x70, 0x1E, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x7C, 0x3E, - 0x7C, 0x3E, 0x7C, 0x3E, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, - 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3E, 0x7C, 0x3E, - 0x7C, 0x3E, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, 0x78, 0x0E, 0x70, 0x03, 0xC0, - 0x00, 0xC0, 0x3C, 0x0F, 0xC3, 0xFC, 0x4F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, - 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, - 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x1F, 0xEF, 0xFF, - 0x03, 0xE0, 0x0F, 0xF8, 0x1F, 0xFC, 0x3F, 0xFC, 0x30, 0xFE, 0x60, 0x7E, - 0x40, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x78, - 0x00, 0x70, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x01, - 0x0C, 0x03, 0x1F, 0xFF, 0x1F, 0xFF, 0x3F, 0xFE, 0x7F, 0xFE, 0xFF, 0xFE, - 0x03, 0xF0, 0x0F, 0xF8, 0x3F, 0xFC, 0x21, 0xFE, 0x40, 0xFE, 0x00, 0x7E, - 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xFC, 0x03, 0xFE, - 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, - 0x00, 0x0E, 0x70, 0x0E, 0xFC, 0x1C, 0xFE, 0x38, 0x7F, 0xE0, 0x3F, 0x80, - 0x00, 0x38, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x1F, 0x80, 0x5F, 0x00, - 0xBE, 0x02, 0x7C, 0x08, 0xF8, 0x31, 0xF0, 0x43, 0xE1, 0x07, 0xC4, 0x0F, - 0x88, 0x1F, 0x20, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, - 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x0F, 0xFE, 0x1F, - 0xF8, 0x7F, 0xF0, 0xFF, 0xE1, 0x80, 0x03, 0x00, 0x0C, 0x00, 0x18, 0x00, - 0x3F, 0x80, 0xFF, 0xC1, 0xFF, 0xC3, 0xFF, 0xC3, 0xFF, 0x80, 0x3F, 0x80, - 0x0F, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x37, 0x80, 0x4F, 0x81, - 0x9F, 0xC6, 0x3F, 0xF8, 0x1F, 0x80, 0x00, 0x07, 0x00, 0x7C, 0x01, 0xF0, - 0x03, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x1F, 0x00, 0x3E, 0x00, 0x7E, 0x00, - 0x7F, 0xF0, 0x7F, 0xFC, 0xFC, 0x7E, 0xFC, 0x7E, 0xFC, 0x3F, 0xFC, 0x3F, - 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0x7C, 0x3F, 0x7C, 0x3E, 0x3C, 0x3E, - 0x3E, 0x3C, 0x1E, 0x78, 0x07, 0xE0, 0x7F, 0xFF, 0x7F, 0xFE, 0x7F, 0xFE, - 0xFF, 0xFE, 0xFF, 0xFC, 0xC0, 0x1C, 0x80, 0x18, 0x80, 0x38, 0x00, 0x38, - 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, - 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x80, 0x07, 0x80, - 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0xE0, 0x38, 0x78, 0x70, 0x3C, - 0xF0, 0x1E, 0xF0, 0x1E, 0xF8, 0x1E, 0xF8, 0x1E, 0xFE, 0x3C, 0x7F, 0xB0, - 0x7F, 0xE0, 0x3F, 0xF0, 0x0F, 0xF8, 0x1F, 0xFC, 0x39, 0xFE, 0x70, 0xFF, - 0xF0, 0x3F, 0xF0, 0x3F, 0xF0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1E, 0x78, 0x3E, - 0x7C, 0x7C, 0x3F, 0xF8, 0x0F, 0xE0, 0x07, 0xE0, 0x1E, 0x78, 0x3C, 0x7C, - 0x7C, 0x3C, 0x7C, 0x3E, 0xFC, 0x3E, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, - 0xFC, 0x3F, 0xFC, 0x3F, 0x7E, 0x3F, 0x7E, 0x3F, 0x3F, 0xFE, 0x0F, 0xFE, - 0x00, 0x7E, 0x00, 0x7C, 0x00, 0xF8, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xC0, - 0x0F, 0x80, 0x3E, 0x00, 0xE0, 0x00, 0x7B, 0xFF, 0xFF, 0xFD, 0xE0, 0x00, - 0x00, 0x07, 0xBF, 0xFF, 0xFF, 0xDE, 0x39, 0xFB, 0xF7, 0xEF, 0xC7, 0x00, - 0x00, 0x00, 0x01, 0xE7, 0xEF, 0xFF, 0xFF, 0xBF, 0x06, 0x08, 0x30, 0xC2, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0x80, 0x07, 0xF0, - 0x03, 0xFC, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, - 0xC0, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, - 0x3F, 0x80, 0x01, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7C, 0x00, 0x01, 0x80, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x18, 0x00, 0x03, - 0xE0, 0x00, 0x7F, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, - 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x1F, 0xC0, - 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x00, 0xFE, 0x00, 0x1F, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0xFF, 0xC7, 0x1F, - 0xB8, 0x3E, 0xF0, 0xFF, 0xC3, 0xFF, 0x0F, 0xD8, 0x3F, 0x00, 0xF8, 0x07, - 0xC0, 0x1E, 0x00, 0x60, 0x03, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x70, 0x03, 0xE0, 0x1F, 0x80, 0x7E, 0x01, 0xF8, 0x01, - 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xE0, 0x07, 0xC0, 0xF0, 0x0F, 0x00, - 0x38, 0x1E, 0x00, 0x0C, 0x3C, 0x07, 0x06, 0x38, 0x1F, 0x72, 0x78, 0x3C, - 0xF3, 0x78, 0x78, 0xE1, 0xF0, 0x70, 0xE1, 0xF0, 0xF0, 0xE1, 0xF0, 0xE0, - 0xC1, 0xF1, 0xE1, 0xC1, 0xF1, 0xC1, 0xC1, 0xF1, 0xC3, 0x82, 0xF1, 0xC3, - 0x86, 0x71, 0xC7, 0x8C, 0x79, 0xFB, 0xF8, 0x78, 0xF1, 0xF0, 0x3C, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x78, 0x03, 0xFF, - 0xE0, 0x00, 0x7F, 0x80, 0x00, 0x10, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0xFE, 0x00, 0x01, 0xBF, 0x00, 0x01, 0xBF, 0x00, 0x01, 0x1F, - 0x00, 0x03, 0x1F, 0x80, 0x02, 0x1F, 0x80, 0x06, 0x0F, 0xC0, 0x06, 0x0F, - 0xC0, 0x04, 0x07, 0xE0, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x18, 0x03, - 0xF0, 0x18, 0x03, 0xF0, 0x30, 0x01, 0xF8, 0x30, 0x01, 0xF8, 0x70, 0x01, - 0xFC, 0xFE, 0x0F, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFE, 0x0F, 0xE1, 0xF8, - 0x3F, 0x07, 0xC1, 0xF8, 0x3F, 0x0F, 0xC1, 0xF8, 0x7E, 0x0F, 0xC3, 0xF0, - 0x7E, 0x1F, 0x87, 0xE0, 0xFC, 0x7C, 0x07, 0xFF, 0x00, 0x3F, 0xFF, 0x01, - 0xF8, 0xFE, 0x0F, 0xC1, 0xF8, 0x7E, 0x0F, 0xC3, 0xF0, 0x3F, 0x1F, 0x81, - 0xF8, 0xFC, 0x0F, 0xC7, 0xE0, 0x7E, 0x3F, 0x03, 0xF1, 0xF8, 0x3F, 0x0F, - 0xC3, 0xF0, 0xFF, 0xFF, 0x1F, 0xFF, 0xC0, 0x00, 0x7E, 0x04, 0x07, 0xFF, - 0x18, 0x1F, 0x07, 0xF0, 0x7C, 0x03, 0xE1, 0xF0, 0x03, 0xC7, 0xC0, 0x03, - 0x9F, 0x80, 0x03, 0x3F, 0x00, 0x06, 0x7C, 0x00, 0x05, 0xF8, 0x00, 0x03, - 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x80, 0x00, 0x3F, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8, - 0x00, 0x01, 0xF0, 0x00, 0x23, 0xF0, 0x00, 0xC3, 0xF0, 0x07, 0x03, 0xF0, - 0x3C, 0x01, 0xFF, 0xE0, 0x00, 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, - 0x00, 0x7E, 0x1F, 0x80, 0xFC, 0x1F, 0x81, 0xF8, 0x1F, 0x83, 0xF0, 0x1F, - 0x07, 0xE0, 0x3F, 0x0F, 0xC0, 0x7E, 0x1F, 0x80, 0x7E, 0x3F, 0x00, 0xFC, - 0x7E, 0x01, 0xF8, 0xFC, 0x03, 0xF1, 0xF8, 0x07, 0xE3, 0xF0, 0x0F, 0xC7, - 0xE0, 0x1F, 0x8F, 0xC0, 0x3F, 0x1F, 0x80, 0x7C, 0x3F, 0x01, 0xF8, 0x7E, - 0x03, 0xE0, 0xFC, 0x0F, 0x81, 0xF8, 0x1F, 0x03, 0xF0, 0xFC, 0x0F, 0xFF, - 0xE0, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0x0F, 0xC0, 0x78, - 0x7E, 0x01, 0xC3, 0xF0, 0x06, 0x1F, 0x80, 0x10, 0xFC, 0x10, 0x87, 0xE0, - 0x80, 0x3F, 0x0C, 0x01, 0xF8, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xF8, 0x03, - 0xF1, 0xC0, 0x1F, 0x86, 0x00, 0xFC, 0x10, 0x07, 0xE0, 0x80, 0x3F, 0x00, - 0x09, 0xF8, 0x00, 0xCF, 0xC0, 0x0C, 0x7E, 0x00, 0x63, 0xF0, 0x0F, 0x1F, - 0x81, 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFC, 0xFF, 0xFF, 0xEF, 0xFF, 0xFC, - 0xFC, 0x0F, 0x9F, 0x80, 0x73, 0xF0, 0x06, 0x7E, 0x00, 0x4F, 0xC1, 0x09, - 0xF8, 0x20, 0x3F, 0x0C, 0x07, 0xE3, 0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, - 0xF1, 0xC0, 0x7E, 0x18, 0x0F, 0xC1, 0x01, 0xF8, 0x20, 0x3F, 0x00, 0x07, - 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x1F, - 0xE0, 0x07, 0xFF, 0x00, 0x00, 0x7E, 0x02, 0x01, 0xFF, 0xE3, 0x01, 0xF0, - 0x3F, 0x81, 0xF0, 0x07, 0xC1, 0xF0, 0x01, 0xE1, 0xF0, 0x00, 0x71, 0xF8, - 0x00, 0x18, 0xFC, 0x00, 0x0C, 0x7C, 0x00, 0x02, 0x7E, 0x00, 0x00, 0x3F, - 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, - 0xF0, 0x0F, 0xFF, 0xF8, 0x01, 0xFE, 0x7C, 0x00, 0x7E, 0x3F, 0x00, 0x3F, - 0x1F, 0x80, 0x1F, 0x87, 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xE0, 0xFC, 0x03, - 0xF0, 0x1F, 0x83, 0xF0, 0x07, 0xFF, 0xE0, 0x00, 0x7F, 0x80, 0x00, 0xFF, - 0xC3, 0xFF, 0x7F, 0x81, 0xFE, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, - 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, - 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, - 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, - 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, - 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x7F, 0x81, 0xFE, 0xFF, 0xC3, 0xFF, 0xFF, - 0xEF, 0xF0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, - 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, - 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x1F, 0xE7, 0xFF, 0x07, 0xFF, 0x01, 0xFE, - 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, - 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, - 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, - 0x70, 0xFC, 0xF8, 0xFC, 0xF8, 0xF8, 0xF0, 0xF8, 0x71, 0xF0, 0x7F, 0xE0, - 0x1F, 0x80, 0xFF, 0xC3, 0xFF, 0x3F, 0xC0, 0x3E, 0x0F, 0xC0, 0x1C, 0x07, - 0xE0, 0x18, 0x03, 0xF0, 0x18, 0x01, 0xF8, 0x18, 0x00, 0xFC, 0x18, 0x00, - 0x7E, 0x18, 0x00, 0x3F, 0x18, 0x00, 0x1F, 0x9C, 0x00, 0x0F, 0xDF, 0x00, - 0x07, 0xFF, 0xC0, 0x03, 0xFF, 0xF0, 0x01, 0xF9, 0xF8, 0x00, 0xFC, 0xFE, - 0x00, 0x7E, 0x3F, 0x80, 0x3F, 0x0F, 0xE0, 0x1F, 0x83, 0xF8, 0x0F, 0xC0, - 0xFC, 0x07, 0xE0, 0x7F, 0x03, 0xF0, 0x1F, 0xC1, 0xF8, 0x07, 0xF1, 0xFE, - 0x03, 0xFD, 0xFF, 0x8F, 0xFF, 0xFF, 0xE0, 0x03, 0xFC, 0x00, 0x0F, 0xC0, - 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, - 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, - 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x01, 0x3F, - 0x00, 0x19, 0xF8, 0x00, 0xCF, 0xC0, 0x0C, 0x7E, 0x00, 0x63, 0xF0, 0x0F, - 0x1F, 0x81, 0xFB, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0x80, 0x03, 0xFE, - 0x7F, 0x00, 0x07, 0xF8, 0x7E, 0x00, 0x0F, 0xE0, 0xFE, 0x00, 0x3F, 0xC1, - 0x7C, 0x00, 0x5F, 0x82, 0xFC, 0x01, 0xBF, 0x05, 0xF8, 0x02, 0x7E, 0x09, - 0xF8, 0x0C, 0xFC, 0x13, 0xF0, 0x11, 0xF8, 0x23, 0xE0, 0x23, 0xF0, 0x47, - 0xE0, 0xC7, 0xE0, 0x87, 0xC1, 0x0F, 0xC1, 0x0F, 0xC6, 0x1F, 0x82, 0x0F, - 0x88, 0x3F, 0x04, 0x1F, 0xB0, 0x7E, 0x08, 0x3F, 0x60, 0xFC, 0x10, 0x3E, - 0x81, 0xF8, 0x20, 0x7F, 0x03, 0xF0, 0x40, 0x7C, 0x07, 0xE0, 0x80, 0xF8, - 0x0F, 0xC1, 0x00, 0xE0, 0x1F, 0x82, 0x01, 0xC0, 0x3F, 0x0E, 0x03, 0x80, - 0xFF, 0x7F, 0x82, 0x03, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0x70, 0xFE, - 0x00, 0x40, 0xFE, 0x00, 0x81, 0xFC, 0x01, 0x03, 0xFC, 0x02, 0x05, 0xFC, - 0x04, 0x09, 0xFC, 0x08, 0x11, 0xFC, 0x10, 0x23, 0xF8, 0x20, 0x43, 0xF8, - 0x40, 0x83, 0xF8, 0x81, 0x03, 0xF9, 0x02, 0x03, 0xFA, 0x04, 0x03, 0xF4, - 0x08, 0x07, 0xF8, 0x10, 0x07, 0xF0, 0x20, 0x07, 0xE0, 0x40, 0x07, 0xC0, - 0x80, 0x07, 0x81, 0x00, 0x0F, 0x02, 0x00, 0x0E, 0x0E, 0x00, 0x0C, 0x7F, - 0x00, 0x08, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, 0x01, 0xF0, 0x7C, 0x01, - 0xF0, 0x1F, 0x01, 0xF0, 0x07, 0xC1, 0xF0, 0x01, 0xF1, 0xF8, 0x00, 0xFC, - 0xFC, 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, 0x0F, 0xFF, 0x00, 0x07, - 0xFF, 0x80, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, 0x00, 0xFF, 0xF0, 0x00, - 0x7F, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x3E, 0x00, 0x1F, 0x9F, 0x80, - 0x0F, 0xC7, 0xC0, 0x07, 0xC1, 0xF0, 0x07, 0xC0, 0xFC, 0x07, 0xE0, 0x3F, - 0x07, 0xC0, 0x07, 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xFC, 0x0F, - 0xFF, 0xE0, 0xFC, 0x7E, 0x1F, 0x87, 0xE3, 0xF0, 0x7E, 0x7E, 0x0F, 0xCF, - 0xC1, 0xF9, 0xF8, 0x3F, 0x3F, 0x07, 0xE7, 0xE0, 0xFC, 0xFC, 0x3F, 0x1F, - 0x8F, 0xC3, 0xFF, 0xF0, 0x7F, 0xF8, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, - 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, - 0x00, 0x1F, 0xE0, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, - 0x01, 0xF0, 0x7C, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x07, 0xC1, 0xF0, 0x01, - 0xF1, 0xF8, 0x00, 0xFC, 0xFC, 0x00, 0x7E, 0x7C, 0x00, 0x1F, 0x7E, 0x00, - 0x0F, 0xFF, 0x00, 0x07, 0xFF, 0x80, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0xE0, - 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x3E, - 0x00, 0x0F, 0x9F, 0x80, 0x0F, 0xC7, 0xC0, 0x07, 0xC1, 0xF0, 0x07, 0xC0, - 0x78, 0x03, 0xC0, 0x1E, 0x07, 0xC0, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0x00, - 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, - 0xF8, 0x00, 0x0F, 0xE0, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0xFC, 0x3F, - 0x01, 0xF8, 0x3F, 0x03, 0xF0, 0x3F, 0x07, 0xE0, 0x7E, 0x0F, 0xC0, 0xFC, - 0x1F, 0x81, 0xF8, 0x3F, 0x03, 0xF0, 0x7E, 0x07, 0xC0, 0xFC, 0x1F, 0x81, - 0xF8, 0x7E, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xC0, 0x0F, 0xDF, 0xC0, 0x1F, - 0x9F, 0x80, 0x3F, 0x1F, 0x80, 0x7E, 0x3F, 0x80, 0xFC, 0x3F, 0x81, 0xF8, - 0x3F, 0x03, 0xF0, 0x7F, 0x07, 0xE0, 0x7F, 0x1F, 0xE0, 0x7F, 0x7F, 0xE0, - 0xFF, 0x07, 0xC2, 0x1F, 0xF2, 0x3C, 0x3E, 0x70, 0x0E, 0xF0, 0x06, 0xF0, - 0x06, 0xF0, 0x02, 0xF8, 0x00, 0xFE, 0x00, 0xFF, 0x80, 0x7F, 0xE0, 0x3F, - 0xF8, 0x1F, 0xFC, 0x0F, 0xFE, 0x03, 0xFE, 0x00, 0xFF, 0x00, 0x3F, 0x80, - 0x1F, 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x0E, 0xF0, 0x1E, 0xF8, 0x3C, 0x9F, - 0xF8, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7E, 0x3F, 0x83, - 0xF0, 0x7C, 0x1F, 0x81, 0xC0, 0xFC, 0x06, 0x07, 0xE0, 0x20, 0x3F, 0x00, - 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, - 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, - 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, - 0x00, 0x0F, 0xF0, 0x01, 0xFF, 0xE0, 0xFF, 0xC1, 0xFD, 0xFE, 0x01, 0xC3, - 0xF0, 0x02, 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, - 0x02, 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, - 0x0F, 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, 0x0F, - 0xC0, 0x08, 0x3F, 0x00, 0x20, 0xFC, 0x00, 0x83, 0xF0, 0x02, 0x0F, 0xC0, - 0x18, 0x1F, 0x80, 0x40, 0x7E, 0x03, 0x00, 0xFC, 0x18, 0x01, 0xFF, 0xC0, - 0x00, 0xFC, 0x00, 0xFF, 0xF0, 0x7F, 0x3F, 0xC0, 0x1E, 0x1F, 0x80, 0x0C, - 0x1F, 0x80, 0x08, 0x0F, 0xC0, 0x18, 0x0F, 0xC0, 0x18, 0x07, 0xE0, 0x10, - 0x07, 0xE0, 0x30, 0x07, 0xE0, 0x20, 0x03, 0xF0, 0x60, 0x03, 0xF0, 0x60, - 0x01, 0xF8, 0x40, 0x01, 0xF8, 0xC0, 0x00, 0xF8, 0x80, 0x00, 0xFC, 0x80, - 0x00, 0xFD, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3E, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, - 0x00, 0x0C, 0x00, 0xFF, 0xE7, 0xFF, 0x0F, 0xCF, 0xE0, 0x7F, 0x00, 0xE1, - 0xF8, 0x0F, 0xC0, 0x30, 0x7E, 0x03, 0xF0, 0x0C, 0x1F, 0x80, 0x7C, 0x02, - 0x03, 0xE0, 0x1F, 0x81, 0x80, 0xFC, 0x07, 0xE0, 0x60, 0x3F, 0x03, 0xF8, - 0x10, 0x07, 0xC0, 0xBF, 0x0C, 0x01, 0xF8, 0x2F, 0xC3, 0x00, 0x7E, 0x19, - 0xF0, 0x80, 0x0F, 0x84, 0x7C, 0x60, 0x03, 0xF3, 0x0F, 0x98, 0x00, 0xFC, - 0xC3, 0xE4, 0x00, 0x1F, 0x20, 0xFB, 0x00, 0x07, 0xF8, 0x1F, 0xC0, 0x00, - 0xFC, 0x07, 0xE0, 0x00, 0x3F, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x3E, 0x00, - 0x01, 0xE0, 0x0F, 0x00, 0x00, 0x78, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x70, - 0x00, 0x03, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x06, 0x00, 0x00, 0x20, 0x00, - 0x80, 0x00, 0xFF, 0xF3, 0xFE, 0x7F, 0x80, 0x78, 0x3F, 0x80, 0x70, 0x1F, - 0xC0, 0x60, 0x0F, 0xC0, 0xC0, 0x0F, 0xE1, 0x80, 0x07, 0xF1, 0x00, 0x03, - 0xF3, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x80, 0x00, - 0x9F, 0x80, 0x01, 0x8F, 0xC0, 0x03, 0x0F, 0xE0, 0x06, 0x07, 0xE0, 0x06, - 0x07, 0xF0, 0x0C, 0x03, 0xF8, 0x1C, 0x03, 0xF8, 0x3C, 0x03, 0xFC, 0xFF, - 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0x7F, 0x80, 0x1E, 0x3F, 0x80, 0x1C, 0x1F, - 0x80, 0x18, 0x1F, 0xC0, 0x10, 0x0F, 0xC0, 0x30, 0x07, 0xE0, 0x20, 0x07, - 0xE0, 0x60, 0x03, 0xF0, 0xC0, 0x03, 0xF0, 0x80, 0x01, 0xF9, 0x80, 0x01, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x00, 0x01, - 0xFF, 0x80, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x9F, 0x01, 0xF8, 0xE0, 0x1F, - 0x86, 0x01, 0xFC, 0x20, 0x0F, 0xC1, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, - 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, - 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x01, 0x0F, 0xC0, 0x18, 0xFC, - 0x00, 0xC7, 0xE0, 0x06, 0x7E, 0x00, 0x77, 0xF0, 0x07, 0x3F, 0x00, 0xFB, - 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xE0, 0x1E, - 0x01, 0xC0, 0x38, 0x07, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x1C, 0x03, 0x80, - 0x70, 0x07, 0x00, 0xE0, 0x1C, 0x01, 0xC0, 0x38, 0x07, 0x00, 0x70, 0x0E, - 0x01, 0xC0, 0x1C, 0x03, 0x80, 0x70, 0x0F, 0x00, 0xE0, 0xFF, 0xFF, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0xFF, 0xFF, 0x03, 0x80, 0x0F, 0x00, 0x1F, 0x00, 0x7E, 0x00, 0xEE, 0x03, - 0x9C, 0x07, 0x1C, 0x1C, 0x38, 0x38, 0x38, 0xE0, 0x71, 0xC0, 0x77, 0x00, - 0xEE, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0xF0, - 0x78, 0x3C, 0x0E, 0x07, 0x0F, 0xE0, 0x3F, 0xF0, 0x78, 0xF8, 0x78, 0x7C, - 0x78, 0x7C, 0x38, 0x7C, 0x00, 0x7C, 0x03, 0xFC, 0x1E, 0x7C, 0x7C, 0x7C, - 0xFC, 0x7C, 0xFC, 0x7C, 0xFC, 0xFC, 0xFF, 0xFD, 0x7F, 0x7F, 0x3C, 0x3C, - 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, - 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0xF8, 0x1F, 0x7F, 0x87, 0xE3, - 0xF1, 0xF0, 0x7E, 0x7C, 0x0F, 0x9F, 0x03, 0xF7, 0xC0, 0xFD, 0xF0, 0x3F, - 0x7C, 0x0F, 0xDF, 0x03, 0xF7, 0xC0, 0xFD, 0xF0, 0x3E, 0x7C, 0x1F, 0x1F, - 0x8F, 0xC6, 0x7F, 0xC1, 0x07, 0xC0, 0x07, 0xC0, 0x7F, 0xC3, 0xC7, 0x9F, - 0x1E, 0x78, 0x7B, 0xE1, 0xCF, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, - 0x80, 0x3F, 0x00, 0x7C, 0x00, 0xFC, 0x61, 0xFF, 0x03, 0xF0, 0x00, 0x7F, - 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, - 0x01, 0xF0, 0x00, 0x7C, 0x07, 0x9F, 0x07, 0xF7, 0xC3, 0xE3, 0xF1, 0xF8, - 0x7C, 0x7C, 0x1F, 0x3F, 0x07, 0xCF, 0xC1, 0xF3, 0xF0, 0x7C, 0xFC, 0x1F, - 0x3F, 0x07, 0xCF, 0xC1, 0xF1, 0xF0, 0x7C, 0x7E, 0x1F, 0x0F, 0x8F, 0xC1, - 0xFD, 0xFC, 0x3E, 0x70, 0x0F, 0xC0, 0x7F, 0xC3, 0xC7, 0x1E, 0x1E, 0xF8, - 0x7B, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0xC0, 0x1F, - 0x03, 0x7E, 0x18, 0xFF, 0xC1, 0xFE, 0x03, 0xF0, 0x0F, 0x83, 0xF8, 0xF3, - 0xBE, 0xF7, 0xDC, 0xF8, 0x1F, 0x03, 0xE0, 0xFF, 0x1F, 0xE1, 0xF0, 0x3E, - 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, - 0xC0, 0xF8, 0x1F, 0x07, 0xF8, 0x0F, 0xC0, 0x1F, 0xFF, 0xDF, 0x1F, 0xFF, - 0x07, 0x8F, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7C, 0x78, 0x3C, - 0x1E, 0x3E, 0x03, 0xFC, 0x03, 0x00, 0x07, 0x00, 0x07, 0x80, 0x03, 0xFF, - 0xF1, 0xFF, 0xFE, 0x7F, 0xFF, 0x8F, 0xFF, 0xF8, 0x01, 0xFC, 0x00, 0x7F, - 0x00, 0x73, 0xFF, 0xF0, 0x7F, 0xC0, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x00, - 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, - 0x7C, 0x3E, 0xFF, 0x1F, 0xCF, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, - 0xF0, 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3E, 0x0F, 0x9F, 0x07, 0xCF, 0x83, - 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xFC, 0x7F, 0x39, 0xFB, 0xF7, - 0xE7, 0x80, 0x00, 0x00, 0xFC, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, - 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x7F, 0x03, 0xC0, 0xFC, 0x1F, 0x83, 0xF0, - 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, - 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, - 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7D, 0xCF, 0xF9, 0xEE, 0x7C, 0xFF, 0x0F, - 0x80, 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, - 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x7F, 0x9F, 0x07, 0x87, - 0xC1, 0x81, 0xF0, 0xC0, 0x7C, 0x60, 0x1F, 0x30, 0x07, 0xDE, 0x01, 0xFF, - 0xC0, 0x7F, 0xF0, 0x1F, 0x3E, 0x07, 0xCF, 0xC1, 0xF1, 0xF8, 0x7C, 0x3E, - 0x1F, 0x07, 0xC7, 0xC1, 0xFB, 0xF9, 0xFF, 0xFC, 0xF9, 0xF3, 0xE7, 0xCF, - 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, - 0xE7, 0xCF, 0x9F, 0x7F, 0xFC, 0x7C, 0x1F, 0x0F, 0xBF, 0xCF, 0xF1, 0xF8, - 0xFF, 0x3F, 0x3E, 0x0F, 0x83, 0xE7, 0xC1, 0xF0, 0x7C, 0xF8, 0x3E, 0x0F, - 0x9F, 0x07, 0xC1, 0xF3, 0xE0, 0xF8, 0x3E, 0x7C, 0x1F, 0x07, 0xCF, 0x83, - 0xE0, 0xF9, 0xF0, 0x7C, 0x1F, 0x3E, 0x0F, 0x83, 0xE7, 0xC1, 0xF0, 0x7C, - 0xF8, 0x3E, 0x0F, 0x9F, 0x07, 0xC1, 0xF7, 0xF1, 0xFC, 0x7F, 0xFC, 0x7C, - 0x3E, 0xFF, 0x1F, 0xCF, 0xCF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, - 0x7C, 0xF8, 0x3E, 0x7C, 0x1F, 0x3E, 0x0F, 0x9F, 0x07, 0xCF, 0x83, 0xE7, - 0xC1, 0xF3, 0xE0, 0xF9, 0xF0, 0x7D, 0xFC, 0x7F, 0x07, 0xF0, 0x0F, 0xFE, - 0x0F, 0x8F, 0x8F, 0x87, 0xE7, 0xC1, 0xF7, 0xE0, 0xFF, 0xF0, 0x7F, 0xF8, - 0x3F, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0x07, 0xEF, 0x83, 0xE7, 0xC1, 0xF1, - 0xF1, 0xF0, 0x7F, 0xF0, 0x0F, 0xE0, 0xFE, 0x7C, 0x07, 0xDF, 0xE0, 0xFE, - 0x3E, 0x1F, 0x07, 0xE3, 0xE0, 0x7C, 0x7C, 0x0F, 0xCF, 0x81, 0xF9, 0xF0, - 0x3F, 0x3E, 0x07, 0xE7, 0xC0, 0xFC, 0xF8, 0x1F, 0x9F, 0x03, 0xE3, 0xE0, - 0xFC, 0x7E, 0x3F, 0x0F, 0xBF, 0xC1, 0xF3, 0xE0, 0x3E, 0x00, 0x07, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7E, 0x00, 0x1F, 0xE0, - 0x00, 0x07, 0xC1, 0x0F, 0xF9, 0x8F, 0xCD, 0xCF, 0xC3, 0xE7, 0xC1, 0xF7, - 0xE0, 0xFB, 0xF0, 0x7D, 0xF8, 0x3E, 0xFC, 0x1F, 0x7E, 0x0F, 0xBF, 0x07, - 0xDF, 0x83, 0xE7, 0xE1, 0xF1, 0xF1, 0xF8, 0x7F, 0x7C, 0x1F, 0x3E, 0x00, - 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x01, 0xF8, - 0x01, 0xFE, 0xFC, 0x73, 0xEF, 0xDF, 0xFE, 0xFC, 0xF7, 0xC3, 0xBE, 0x01, - 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, - 0x01, 0xF0, 0x1F, 0xE0, 0x1E, 0x23, 0xFE, 0x70, 0xEE, 0x06, 0xE0, 0x2F, - 0x80, 0xFF, 0x07, 0xFC, 0x3F, 0xE0, 0xFF, 0x81, 0xF8, 0x07, 0xC0, 0x7E, - 0x0E, 0xBF, 0xC8, 0xF8, 0x04, 0x03, 0x01, 0xC0, 0xF0, 0x7C, 0x3F, 0xEF, - 0xF9, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, - 0x7C, 0x5F, 0x37, 0xF8, 0xFE, 0x1E, 0x00, 0xFC, 0x7F, 0x1F, 0x07, 0xC7, - 0xC1, 0xF1, 0xF0, 0x7C, 0x7C, 0x1F, 0x1F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, - 0x7C, 0x7C, 0x1F, 0x1F, 0x07, 0xC7, 0xC1, 0xF1, 0xF0, 0x7C, 0x7C, 0x1F, - 0x1F, 0x8F, 0xC3, 0xFD, 0xFC, 0x7C, 0x60, 0xFF, 0x9F, 0xBF, 0x83, 0x0F, - 0x81, 0x87, 0xE0, 0x81, 0xF0, 0x40, 0xF8, 0x40, 0x3E, 0x20, 0x1F, 0x30, - 0x07, 0xD0, 0x03, 0xF8, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3C, 0x00, 0x0E, - 0x00, 0x07, 0x00, 0x01, 0x00, 0xFF, 0x3F, 0xCF, 0x7E, 0x1F, 0x06, 0x3E, - 0x0F, 0x06, 0x3E, 0x0F, 0x84, 0x1F, 0x0F, 0x8C, 0x1F, 0x1F, 0x88, 0x0F, - 0x17, 0xC8, 0x0F, 0x97, 0xD8, 0x0F, 0xB3, 0xD0, 0x07, 0xE3, 0xF0, 0x07, - 0xE3, 0xE0, 0x03, 0xC1, 0xE0, 0x03, 0xC1, 0xE0, 0x03, 0x81, 0xC0, 0x01, - 0x80, 0xC0, 0x01, 0x80, 0x80, 0xFF, 0x3F, 0x7E, 0x0C, 0x3E, 0x08, 0x3F, - 0x18, 0x1F, 0x30, 0x0F, 0xE0, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xE0, 0x03, - 0xF0, 0x05, 0xF8, 0x0C, 0xF8, 0x18, 0xFC, 0x30, 0x7E, 0x70, 0x7E, 0xFC, - 0xFF, 0xFF, 0x3F, 0x7E, 0x0C, 0x7C, 0x0C, 0x3E, 0x08, 0x3E, 0x08, 0x1E, - 0x18, 0x1F, 0x10, 0x0F, 0x30, 0x0F, 0xA0, 0x0F, 0xA0, 0x07, 0xE0, 0x07, - 0xC0, 0x03, 0xC0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x01, - 0x00, 0x61, 0x00, 0xF2, 0x00, 0xF6, 0x00, 0xFC, 0x00, 0x78, 0x00, 0x7F, - 0xFD, 0xFF, 0xF7, 0x0F, 0xD0, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x3E, 0x01, - 0xF0, 0x0F, 0xC0, 0x3E, 0x01, 0xF8, 0x0F, 0xC1, 0x3E, 0x05, 0xF8, 0x7F, - 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0xF8, 0x3E, 0x07, 0x80, 0xF0, 0x1E, 0x03, - 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x07, 0x87, - 0x80, 0x1E, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, - 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF8, 0x0F, 0x80, 0x78, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x0F, 0x80, 0xF0, - 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, - 0x01, 0xE0, 0x3C, 0x03, 0xC0, 0x0F, 0x0F, 0x03, 0xC0, 0x78, 0x0F, 0x01, - 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x03, 0xE0, - 0xF8, 0x3C, 0x00, 0x3E, 0x00, 0x7F, 0xC6, 0xFF, 0xFF, 0x61, 0xFE, 0x00, - 0x7C }; - -const GFXglyph FreeSerifBold18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' - { 0, 6, 24, 12, 3, -23 }, // 0x21 '!' - { 18, 13, 10, 19, 3, -23 }, // 0x22 '"' - { 35, 18, 24, 17, 0, -23 }, // 0x23 '#' - { 89, 15, 28, 17, 1, -25 }, // 0x24 '$' - { 142, 27, 24, 35, 4, -23 }, // 0x25 '%' - { 223, 26, 25, 29, 2, -23 }, // 0x26 '&' - { 305, 4, 10, 10, 3, -23 }, // 0x27 ''' - { 310, 9, 30, 12, 2, -23 }, // 0x28 '(' - { 344, 9, 30, 12, 1, -23 }, // 0x29 ')' - { 378, 14, 15, 18, 2, -23 }, // 0x2A '*' - { 405, 19, 19, 24, 2, -17 }, // 0x2B '+' - { 451, 6, 12, 9, 1, -5 }, // 0x2C ',' - { 460, 8, 4, 12, 2, -9 }, // 0x2D '-' - { 464, 6, 6, 9, 1, -5 }, // 0x2E '.' - { 469, 11, 25, 10, -1, -23 }, // 0x2F '/' - { 504, 16, 24, 18, 1, -23 }, // 0x30 '0' - { 552, 12, 24, 18, 3, -23 }, // 0x31 '1' - { 588, 16, 24, 17, 1, -23 }, // 0x32 '2' - { 636, 16, 24, 18, 0, -23 }, // 0x33 '3' - { 684, 15, 24, 18, 1, -23 }, // 0x34 '4' - { 729, 15, 24, 18, 1, -23 }, // 0x35 '5' - { 774, 16, 24, 18, 1, -23 }, // 0x36 '6' - { 822, 16, 24, 17, 1, -23 }, // 0x37 '7' - { 870, 16, 24, 17, 1, -23 }, // 0x38 '8' - { 918, 16, 24, 18, 1, -23 }, // 0x39 '9' - { 966, 6, 16, 12, 3, -15 }, // 0x3A ':' - { 978, 7, 22, 12, 2, -15 }, // 0x3B ';' - { 998, 19, 20, 24, 2, -18 }, // 0x3C '<' - { 1046, 19, 12, 24, 2, -14 }, // 0x3D '=' - { 1075, 19, 20, 24, 3, -18 }, // 0x3E '>' - { 1123, 14, 24, 18, 2, -23 }, // 0x3F '?' - { 1165, 24, 25, 33, 4, -23 }, // 0x40 '@' - { 1240, 24, 24, 25, 1, -23 }, // 0x41 'A' - { 1312, 21, 24, 23, 1, -23 }, // 0x42 'B' - { 1375, 23, 25, 25, 1, -23 }, // 0x43 'C' - { 1447, 23, 24, 26, 1, -23 }, // 0x44 'D' - { 1516, 21, 24, 23, 2, -23 }, // 0x45 'E' - { 1579, 19, 24, 22, 2, -23 }, // 0x46 'F' - { 1636, 25, 25, 27, 1, -23 }, // 0x47 'G' - { 1715, 24, 24, 27, 2, -23 }, // 0x48 'H' - { 1787, 11, 24, 14, 2, -23 }, // 0x49 'I' - { 1820, 16, 27, 18, 0, -23 }, // 0x4A 'J' - { 1874, 25, 24, 27, 2, -23 }, // 0x4B 'K' - { 1949, 21, 24, 23, 2, -23 }, // 0x4C 'L' - { 2012, 31, 24, 33, 1, -23 }, // 0x4D 'M' - { 2105, 23, 24, 25, 1, -23 }, // 0x4E 'N' - { 2174, 25, 25, 27, 1, -23 }, // 0x4F 'O' - { 2253, 19, 24, 22, 2, -23 }, // 0x50 'P' - { 2310, 25, 30, 27, 1, -23 }, // 0x51 'Q' - { 2404, 23, 24, 25, 2, -23 }, // 0x52 'R' - { 2473, 16, 25, 20, 2, -23 }, // 0x53 'S' - { 2523, 21, 24, 23, 1, -23 }, // 0x54 'T' - { 2586, 22, 25, 25, 2, -23 }, // 0x55 'U' - { 2655, 24, 24, 25, 0, -23 }, // 0x56 'V' - { 2727, 34, 25, 34, 0, -23 }, // 0x57 'W' - { 2834, 24, 24, 25, 1, -23 }, // 0x58 'X' - { 2906, 24, 24, 25, 1, -23 }, // 0x59 'Y' - { 2978, 21, 24, 23, 1, -23 }, // 0x5A 'Z' - { 3041, 8, 29, 12, 2, -23 }, // 0x5B '[' - { 3070, 11, 25, 10, -1, -23 }, // 0x5C '\' - { 3105, 8, 29, 12, 2, -23 }, // 0x5D ']' - { 3134, 15, 13, 20, 3, -23 }, // 0x5E '^' - { 3159, 18, 3, 17, 0, 3 }, // 0x5F '_' - { 3166, 8, 6, 12, 0, -23 }, // 0x60 '`' - { 3172, 16, 16, 18, 1, -15 }, // 0x61 'a' - { 3204, 18, 24, 19, 1, -23 }, // 0x62 'b' - { 3258, 14, 16, 15, 1, -15 }, // 0x63 'c' - { 3286, 18, 24, 19, 1, -23 }, // 0x64 'd' - { 3340, 14, 16, 16, 1, -15 }, // 0x65 'e' - { 3368, 11, 24, 14, 2, -23 }, // 0x66 'f' - { 3401, 17, 23, 17, 1, -15 }, // 0x67 'g' - { 3450, 17, 24, 19, 1, -23 }, // 0x68 'h' - { 3501, 7, 24, 10, 2, -23 }, // 0x69 'i' - { 3522, 11, 31, 14, 0, -23 }, // 0x6A 'j' - { 3565, 18, 24, 19, 1, -23 }, // 0x6B 'k' - { 3619, 7, 24, 10, 1, -23 }, // 0x6C 'l' - { 3640, 27, 16, 29, 1, -15 }, // 0x6D 'm' - { 3694, 17, 16, 19, 1, -15 }, // 0x6E 'n' - { 3728, 17, 16, 18, 1, -15 }, // 0x6F 'o' - { 3762, 19, 23, 19, 0, -15 }, // 0x70 'p' - { 3817, 17, 23, 19, 1, -15 }, // 0x71 'q' - { 3866, 13, 16, 15, 1, -15 }, // 0x72 'r' - { 3892, 12, 16, 14, 1, -15 }, // 0x73 's' - { 3916, 10, 21, 12, 1, -20 }, // 0x74 't' - { 3943, 18, 16, 20, 1, -15 }, // 0x75 'u' - { 3979, 17, 16, 17, 0, -15 }, // 0x76 'v' - { 4013, 24, 16, 25, 0, -15 }, // 0x77 'w' - { 4061, 16, 16, 18, 1, -15 }, // 0x78 'x' - { 4093, 16, 23, 17, 0, -15 }, // 0x79 'y' - { 4139, 14, 16, 16, 0, -15 }, // 0x7A 'z' - { 4167, 11, 31, 14, 1, -24 }, // 0x7B '{' - { 4210, 3, 25, 8, 2, -23 }, // 0x7C '|' - { 4220, 11, 31, 14, 3, -24 }, // 0x7D '}' - { 4263, 16, 5, 18, 1, -11 } }; // 0x7E '~' - -const GFXfont FreeSerifBold18pt7b PROGMEM = { - (uint8_t *)FreeSerifBold18pt7bBitmaps, - (GFXglyph *)FreeSerifBold18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 4945 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h deleted file mode 100644 index 0eb2d0b..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold24pt7b.h +++ /dev/null @@ -1,759 +0,0 @@ -const uint8_t FreeSerifBold24pt7bBitmaps[] PROGMEM = { - 0x3C, 0x7E, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7E, 0x7C, 0x7C, - 0x3C, 0x3C, 0x38, 0x38, 0x38, 0x38, 0x18, 0x10, 0x10, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x70, 0x07, - 0x7C, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xC0, - 0x3E, 0xE0, 0x0E, 0x70, 0x07, 0x38, 0x03, 0x9C, 0x01, 0xC4, 0x00, 0xE2, - 0x00, 0x20, 0x00, 0xF0, 0x70, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0x0F, - 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x00, 0x78, 0x3C, 0x00, 0xF0, - 0x78, 0x01, 0xC0, 0xE0, 0x03, 0x81, 0xC0, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, - 0xF3, 0xFF, 0xFF, 0xE0, 0x78, 0x3C, 0x00, 0xF0, 0x78, 0x01, 0xC0, 0xE0, - 0x03, 0x81, 0xC0, 0x0F, 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x0F, - 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0x03, 0x81, 0xC0, 0x0F, - 0x07, 0x80, 0x1E, 0x0F, 0x00, 0x3C, 0x1E, 0x00, 0x78, 0x3C, 0x00, 0xF0, - 0x78, 0x01, 0xE0, 0xE0, 0x03, 0x81, 0xC0, 0x07, 0x07, 0x80, 0x1E, 0x0F, - 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, - 0x7F, 0xF0, 0x0F, 0x37, 0xE0, 0xE1, 0x8F, 0x8E, 0x0C, 0x3C, 0x70, 0x60, - 0xE7, 0x83, 0x03, 0x3C, 0x18, 0x19, 0xF0, 0xC0, 0x4F, 0xC6, 0x02, 0x7F, - 0xF0, 0x03, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xF0, - 0x03, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x3F, 0xF8, 0x01, - 0xFF, 0xC0, 0x0C, 0xFF, 0x00, 0x63, 0xFA, 0x03, 0x0F, 0xD0, 0x18, 0x3E, - 0x80, 0xC1, 0xF6, 0x06, 0x0F, 0xB8, 0x30, 0x79, 0xC1, 0x87, 0xCF, 0x0C, - 0x3C, 0x7E, 0x67, 0xC0, 0xFF, 0xF8, 0x00, 0xFE, 0x00, 0x00, 0xC0, 0x00, - 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x3E, 0x00, 0x0C, 0x00, 0x0F, 0xF0, 0x03, 0x80, 0x07, 0xE7, 0x03, - 0xE0, 0x01, 0xF8, 0x7F, 0xFC, 0x00, 0x3E, 0x07, 0xF7, 0x00, 0x0F, 0xC0, - 0x80, 0xE0, 0x03, 0xF0, 0x10, 0x38, 0x00, 0x7E, 0x02, 0x07, 0x00, 0x0F, - 0x80, 0x41, 0xC0, 0x03, 0xF0, 0x10, 0x30, 0x00, 0x7E, 0x02, 0x0E, 0x00, - 0x0F, 0x80, 0xC1, 0x80, 0x01, 0xF0, 0x10, 0x70, 0x00, 0x3E, 0x06, 0x1C, - 0x00, 0x07, 0xC1, 0x83, 0x80, 0x00, 0x7C, 0x60, 0xE0, 0x1F, 0x07, 0xF8, - 0x18, 0x0F, 0xF8, 0x7C, 0x07, 0x07, 0xF1, 0x00, 0x00, 0xC1, 0xF8, 0x10, - 0x00, 0x38, 0x3F, 0x02, 0x00, 0x06, 0x0F, 0xC0, 0x40, 0x01, 0xC3, 0xF0, - 0x08, 0x00, 0x30, 0x7E, 0x01, 0x00, 0x0E, 0x1F, 0x80, 0x40, 0x03, 0x83, - 0xF0, 0x08, 0x00, 0x60, 0x7E, 0x01, 0x00, 0x1C, 0x0F, 0x80, 0x40, 0x03, - 0x01, 0xF0, 0x18, 0x00, 0xE0, 0x3E, 0x02, 0x00, 0x18, 0x03, 0xC0, 0xC0, - 0x07, 0x00, 0x7C, 0x70, 0x00, 0xC0, 0x07, 0xFC, 0x00, 0x38, 0x00, 0x7E, - 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x07, 0x8F, - 0xE0, 0x00, 0x03, 0xC1, 0xF8, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x7C, - 0x07, 0xC0, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x07, 0xE0, 0x7C, 0x00, 0x01, - 0xF8, 0x1E, 0x00, 0x00, 0x7F, 0x07, 0x80, 0x00, 0x1F, 0xE3, 0x80, 0x00, - 0x03, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xE0, 0x3F, - 0xF0, 0x07, 0xFC, 0x01, 0xF0, 0x07, 0xFF, 0x00, 0x78, 0x07, 0xBF, 0xE0, - 0x1C, 0x03, 0x87, 0xFC, 0x07, 0x01, 0xE0, 0xFF, 0x81, 0x80, 0xF0, 0x3F, - 0xE0, 0xC0, 0x7C, 0x07, 0xFC, 0x30, 0x1F, 0x00, 0xFF, 0x98, 0x0F, 0xC0, - 0x3F, 0xFC, 0x03, 0xF0, 0x07, 0xFF, 0x00, 0xFE, 0x00, 0xFF, 0x80, 0x3F, - 0x80, 0x3F, 0xF0, 0x0F, 0xF0, 0x07, 0xFE, 0x03, 0xFC, 0x00, 0xFF, 0x81, - 0x7F, 0x80, 0x3F, 0xF8, 0xDF, 0xF0, 0x1F, 0xFF, 0xE3, 0xFF, 0x0E, 0xFF, - 0xF8, 0xFF, 0xFE, 0x1F, 0xFC, 0x0F, 0xFE, 0x03, 0xFE, 0x00, 0xFE, 0x00, - 0x3E, 0x00, 0x77, 0xFF, 0xFF, 0xFF, 0xEE, 0x73, 0x9C, 0xE2, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x60, 0x1C, 0x03, 0x80, 0x70, 0x06, 0x00, 0xE0, 0x1C, - 0x01, 0xC0, 0x3C, 0x03, 0xC0, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0xF8, - 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, - 0x0F, 0x80, 0x78, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xC0, 0x1C, - 0x00, 0xE0, 0x0E, 0x00, 0x70, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x03, 0x00, - 0x10, 0x00, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, - 0x70, 0x03, 0x80, 0x38, 0x03, 0xC0, 0x3C, 0x03, 0xE0, 0x1E, 0x01, 0xE0, - 0x1E, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xF0, - 0x1F, 0x01, 0xF0, 0x1F, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3C, 0x03, 0xC0, - 0x38, 0x03, 0x80, 0x70, 0x07, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x0C, - 0x00, 0x80, 0x00, 0x01, 0xC0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, - 0x03, 0xE0, 0x3C, 0x78, 0xEF, 0x9C, 0x7B, 0xF7, 0x3F, 0xFE, 0xDF, 0x8F, - 0xFF, 0xC0, 0x7F, 0x00, 0x3F, 0xC0, 0x7E, 0xBF, 0x3F, 0x77, 0xEF, 0x9C, - 0xFF, 0xC7, 0x1E, 0x63, 0xE3, 0x80, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, - 0x01, 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x00, 0x01, - 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x80, 0x0F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, - 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x07, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x3C, 0x7E, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x07, 0x06, 0x06, 0x0C, - 0x18, 0x30, 0x60, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3C, - 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x00, 0x1E, 0x00, 0x7C, 0x00, - 0xF0, 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, - 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x01, - 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x01, 0xE0, - 0x03, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x03, - 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x00, - 0x0F, 0x3C, 0x00, 0x78, 0x78, 0x03, 0xE1, 0xF0, 0x1F, 0x03, 0xE0, 0x7C, - 0x0F, 0x83, 0xF0, 0x3F, 0x0F, 0xC0, 0xFC, 0x7F, 0x03, 0xF9, 0xFC, 0x0F, - 0xE7, 0xF0, 0x3F, 0xBF, 0xC0, 0xFE, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, - 0xF0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, - 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x3F, - 0x9F, 0xC0, 0xFE, 0x7F, 0x03, 0xF9, 0xFC, 0x0F, 0xE3, 0xF0, 0x3F, 0x0F, - 0xC0, 0xFC, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x80, 0xF8, 0x7C, 0x01, 0xE1, - 0xE0, 0x03, 0xCF, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x18, 0x00, 0x1E, 0x00, - 0x1F, 0x80, 0x1F, 0xE0, 0x1F, 0xF8, 0x1D, 0xFE, 0x00, 0x3F, 0x80, 0x0F, - 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, - 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, - 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, - 0xE0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, - 0x00, 0xFE, 0x00, 0x7F, 0x80, 0x3F, 0xF8, 0xFF, 0xFF, 0xC0, 0x00, 0xFC, - 0x00, 0x1F, 0xF8, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x1C, - 0x1F, 0xF1, 0xC0, 0x7F, 0x8C, 0x01, 0xFC, 0x40, 0x0F, 0xE0, 0x00, 0x3F, - 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, - 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x00, - 0x00, 0x70, 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x38, - 0x01, 0x03, 0x80, 0x18, 0x38, 0x00, 0x81, 0x80, 0x1C, 0x1F, 0xFF, 0xE1, - 0xFF, 0xFF, 0x1F, 0xFF, 0xF9, 0xFF, 0xFF, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, - 0xE0, 0x00, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x30, 0xFF, 0xC2, - 0x01, 0xFE, 0x30, 0x0F, 0xF1, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, - 0xE0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, - 0x1F, 0xC0, 0x03, 0xFF, 0x00, 0x3F, 0xFC, 0x00, 0x7F, 0xF0, 0x00, 0xFF, - 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0x80, 0x00, 0xFC, 0x00, - 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0x80, 0x00, 0x3C, - 0x00, 0x01, 0xC7, 0x80, 0x0E, 0x7F, 0x00, 0xE3, 0xFC, 0x06, 0x1F, 0xF8, - 0xE0, 0x7F, 0xFC, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x1E, - 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, - 0xFF, 0x00, 0x0D, 0xF8, 0x00, 0xEF, 0xC0, 0x06, 0x7E, 0x00, 0x63, 0xF0, - 0x07, 0x1F, 0x80, 0x30, 0xFC, 0x03, 0x07, 0xE0, 0x38, 0x3F, 0x03, 0x81, - 0xF8, 0x18, 0x0F, 0xC1, 0xC0, 0x7E, 0x1C, 0x03, 0xF0, 0xC0, 0x1F, 0x8E, - 0x00, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, - 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x07, 0xFF, - 0xF0, 0x7F, 0xFF, 0x0F, 0xFF, 0xE0, 0xFF, 0xFE, 0x0F, 0xFF, 0xE1, 0xFF, - 0xFC, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x3F, - 0x80, 0x03, 0xFF, 0x80, 0x7F, 0xFE, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0x87, - 0xFF, 0xFC, 0x7F, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x7E, - 0x00, 0x03, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, - 0xC0, 0x00, 0x0C, 0x78, 0x00, 0x8F, 0xE0, 0x18, 0xFF, 0x87, 0x0F, 0xFF, - 0xE0, 0x7F, 0xF8, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x38, 0x00, 0x1F, 0x00, - 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, - 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, - 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xFF, 0x01, 0xFF, 0xFE, 0x1F, 0xF1, 0xFC, - 0xFF, 0x07, 0xE7, 0xF8, 0x3F, 0xBF, 0xC1, 0xFD, 0xFE, 0x07, 0xFF, 0xF0, - 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0xFF, 0x03, 0xFB, - 0xF8, 0x1F, 0xDF, 0xC0, 0xFE, 0xFE, 0x07, 0xE3, 0xF0, 0x3F, 0x1F, 0xC1, - 0xF0, 0x7E, 0x0F, 0x01, 0xF0, 0xF8, 0x03, 0xC7, 0x00, 0x07, 0xE0, 0x00, - 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xDF, 0xFF, 0xFE, 0xFF, 0xFF, 0xE7, 0xFF, - 0xFF, 0x3F, 0xFF, 0xF9, 0x80, 0x07, 0x98, 0x00, 0x3C, 0xC0, 0x03, 0xE4, - 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, - 0xC0, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, - 0x07, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xF0, - 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x01, - 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, - 0x01, 0xFE, 0x00, 0x38, 0x7C, 0x07, 0x80, 0xF0, 0x78, 0x07, 0xC3, 0xC0, - 0x1F, 0x3E, 0x00, 0xF9, 0xF0, 0x07, 0xCF, 0xC0, 0x3E, 0x7E, 0x01, 0xF3, - 0xF8, 0x0F, 0x1F, 0xE0, 0xF8, 0x7F, 0xC7, 0x83, 0xFF, 0xF0, 0x0F, 0xFE, - 0x00, 0x7F, 0xFC, 0x01, 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0x1F, 0xFF, 0x03, - 0xBF, 0xFC, 0x7C, 0x7F, 0xE7, 0xC1, 0xFF, 0x3E, 0x07, 0xFF, 0xE0, 0x1F, - 0xFF, 0x00, 0x7F, 0xF8, 0x03, 0xFF, 0xC0, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, - 0x03, 0xE7, 0x80, 0x1F, 0x3E, 0x01, 0xF0, 0xF8, 0x0F, 0x83, 0xE1, 0xF8, - 0x0F, 0xFF, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x1C, 0x3C, 0x00, - 0xF0, 0x78, 0x07, 0x81, 0xF8, 0x3E, 0x07, 0xE1, 0xF8, 0x0F, 0xC7, 0xE0, - 0x3F, 0x3F, 0x80, 0xFE, 0xFE, 0x03, 0xFB, 0xF8, 0x0F, 0xFF, 0xE0, 0x3F, - 0xFF, 0x80, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x0F, 0xFF, 0xE0, 0x3F, 0xDF, - 0xC0, 0xFF, 0x7F, 0x03, 0xFC, 0xFC, 0x0F, 0xF3, 0xFC, 0x7F, 0x83, 0xFF, - 0xFE, 0x07, 0xF7, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0x00, 0x03, 0xF8, - 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xC0, 0x00, - 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x00, 0x3F, 0x00, - 0x03, 0x80, 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xFF, 0xFF, - 0xFF, 0xFF, 0x7E, 0x3C, 0x3C, 0x3F, 0x3F, 0xDF, 0xEF, 0xF7, 0xF9, 0xF8, - 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7F, 0x7F, - 0xBF, 0xFF, 0xFF, 0xFB, 0xFC, 0xFE, 0x07, 0x03, 0x01, 0x81, 0x81, 0x81, - 0x83, 0x81, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, - 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x01, - 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, - 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, - 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, - 0xE0, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFF, 0x00, - 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, - 0xC0, 0x00, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, - 0xC0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, - 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, - 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x1F, - 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, - 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x0F, - 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x07, 0xF0, 0x07, 0xFF, 0x03, 0x87, 0xE1, 0xC0, 0xFC, 0xF0, 0x3F, - 0xBE, 0x07, 0xEF, 0xC1, 0xFF, 0xF0, 0x7F, 0xFC, 0x1F, 0xDF, 0x07, 0xF7, - 0x81, 0xFC, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x07, 0xE0, 0x03, - 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x18, 0x00, 0x04, 0x00, 0x01, 0x00, - 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x00, 0x1F, 0x80, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0xFF, 0x00, 0x3F, - 0xC0, 0x07, 0xE0, 0x00, 0xF0, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x1F, - 0xFF, 0xC0, 0x00, 0x1F, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x1E, 0x00, 0x3C, - 0x00, 0x03, 0x80, 0x3C, 0x00, 0x00, 0xE0, 0x3C, 0x00, 0x00, 0x30, 0x3E, - 0x00, 0x00, 0x0C, 0x3E, 0x00, 0x3C, 0x37, 0x1F, 0x00, 0x7E, 0xF1, 0x9F, - 0x00, 0x7C, 0xF8, 0xCF, 0x80, 0x78, 0x7C, 0x37, 0xC0, 0x7C, 0x3C, 0x1F, - 0xC0, 0x3C, 0x1E, 0x0F, 0xE0, 0x3C, 0x0F, 0x07, 0xF0, 0x3E, 0x0F, 0x03, - 0xF8, 0x1E, 0x07, 0x81, 0xFC, 0x0F, 0x03, 0xC0, 0xFE, 0x0F, 0x03, 0xE0, - 0x7F, 0x07, 0x81, 0xE0, 0x6F, 0x83, 0xC1, 0xF0, 0x37, 0xC1, 0xE1, 0x78, - 0x31, 0xF0, 0xF9, 0xBC, 0x18, 0xF8, 0x3F, 0x9E, 0x38, 0x3C, 0x0F, 0x0F, - 0xF8, 0x1F, 0x00, 0x01, 0xF0, 0x07, 0x80, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0xC0, 0x01, 0xF8, 0x03, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x03, - 0xFF, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, - 0x03, 0x80, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0x07, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, - 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, - 0x37, 0xF8, 0x00, 0x00, 0x33, 0xF8, 0x00, 0x00, 0x33, 0xFC, 0x00, 0x00, - 0x61, 0xFC, 0x00, 0x00, 0x61, 0xFE, 0x00, 0x00, 0xC1, 0xFE, 0x00, 0x00, - 0xC0, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x01, 0x80, 0x7F, 0x00, 0x01, - 0x80, 0x7F, 0x80, 0x03, 0x80, 0x7F, 0x80, 0x03, 0xFF, 0xFF, 0xC0, 0x03, - 0xFF, 0xFF, 0xC0, 0x07, 0x00, 0x3F, 0xC0, 0x06, 0x00, 0x1F, 0xE0, 0x0E, - 0x00, 0x1F, 0xE0, 0x0C, 0x00, 0x0F, 0xF0, 0x0C, 0x00, 0x0F, 0xF0, 0x1C, - 0x00, 0x0F, 0xF8, 0x1C, 0x00, 0x0F, 0xF8, 0x7E, 0x00, 0x0F, 0xFC, 0xFF, - 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xF8, - 0x7F, 0x00, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x01, 0xFE, - 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, - 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, - 0x00, 0xFF, 0x0F, 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x0F, - 0xF0, 0xFF, 0x00, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, 0x01, - 0xFE, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, - 0xFF, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0x00, 0xFF, 0x0F, 0xF0, - 0x0F, 0xE0, 0xFF, 0x01, 0xFE, 0x0F, 0xF0, 0x1F, 0xC0, 0xFF, 0x87, 0xF0, - 0x3F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x01, - 0xFF, 0xF0, 0x60, 0x0F, 0xC1, 0xF9, 0x80, 0xFC, 0x01, 0xFE, 0x07, 0xE0, - 0x01, 0xF8, 0x3F, 0x00, 0x03, 0xE1, 0xFC, 0x00, 0x07, 0x87, 0xE0, 0x00, - 0x1E, 0x3F, 0x80, 0x00, 0x38, 0xFE, 0x00, 0x00, 0x67, 0xF8, 0x00, 0x01, - 0x9F, 0xC0, 0x00, 0x02, 0x7F, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x0F, - 0xF0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFC, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x03, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0xE0, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x87, 0xF0, 0x00, 0x07, 0x0F, 0xE0, 0x00, 0x38, 0x1F, 0x80, 0x01, 0xC0, - 0x3F, 0x00, 0x1E, 0x00, 0x7F, 0x01, 0xE0, 0x00, 0x7F, 0xFF, 0x00, 0x00, - 0x3F, 0xE0, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x0F, - 0xF8, 0x7F, 0x80, 0x0F, 0xF0, 0x1F, 0xC0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, - 0xF0, 0x07, 0xF0, 0x0F, 0xF0, 0x03, 0xF8, 0x0F, 0xF0, 0x03, 0xFC, 0x0F, - 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, - 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, - 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, - 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0x0F, - 0xF0, 0x00, 0xFE, 0x0F, 0xF0, 0x00, 0xFE, 0x0F, 0xF0, 0x01, 0xFE, 0x0F, - 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x01, 0xFC, 0x0F, 0xF0, 0x03, 0xF8, 0x0F, - 0xF0, 0x03, 0xF0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x0F, 0xC0, 0x0F, - 0xF8, 0x3F, 0x80, 0x1F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, - 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x1F, 0xE0, 0x1F, 0xC1, 0xFE, 0x00, - 0x3C, 0x1F, 0xE0, 0x01, 0xC1, 0xFE, 0x00, 0x0C, 0x1F, 0xE0, 0x00, 0xC1, - 0xFE, 0x00, 0x04, 0x1F, 0xE0, 0x20, 0x41, 0xFE, 0x02, 0x00, 0x1F, 0xE0, - 0x60, 0x01, 0xFE, 0x06, 0x00, 0x1F, 0xE0, 0xE0, 0x01, 0xFE, 0x1E, 0x00, - 0x1F, 0xFF, 0xE0, 0x01, 0xFF, 0xFE, 0x00, 0x1F, 0xE3, 0xE0, 0x01, 0xFE, - 0x0E, 0x00, 0x1F, 0xE0, 0x60, 0x01, 0xFE, 0x06, 0x00, 0x1F, 0xE0, 0x20, - 0x01, 0xFE, 0x02, 0x00, 0x1F, 0xE0, 0x00, 0x11, 0xFE, 0x00, 0x03, 0x1F, - 0xE0, 0x00, 0x71, 0xFE, 0x00, 0x07, 0x1F, 0xE0, 0x00, 0xE1, 0xFE, 0x00, - 0x1E, 0x1F, 0xE0, 0x03, 0xE3, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, - 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xC7, 0xFC, 0x07, - 0xE3, 0xFC, 0x00, 0xF1, 0xFE, 0x00, 0x38, 0xFF, 0x00, 0x0C, 0x7F, 0x80, - 0x06, 0x3F, 0xC0, 0x01, 0x1F, 0xE0, 0x20, 0x8F, 0xF0, 0x10, 0x07, 0xF8, - 0x18, 0x03, 0xFC, 0x0C, 0x01, 0xFE, 0x0E, 0x00, 0xFF, 0x1F, 0x00, 0x7F, - 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x1F, 0xE3, 0xE0, 0x0F, 0xF0, 0x70, 0x07, - 0xF8, 0x18, 0x03, 0xFC, 0x0C, 0x01, 0xFE, 0x02, 0x00, 0xFF, 0x01, 0x00, - 0x7F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, - 0x07, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, - 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xF0, 0x08, 0x00, - 0x3F, 0xFE, 0x0C, 0x00, 0x3F, 0x07, 0xC6, 0x00, 0x7E, 0x00, 0xFF, 0x00, - 0x7E, 0x00, 0x1F, 0x80, 0x7E, 0x00, 0x07, 0xC0, 0x7F, 0x00, 0x01, 0xE0, - 0x3F, 0x00, 0x00, 0x70, 0x3F, 0x80, 0x00, 0x38, 0x1F, 0xC0, 0x00, 0x0C, - 0x1F, 0xE0, 0x00, 0x06, 0x0F, 0xE0, 0x00, 0x01, 0x07, 0xF0, 0x00, 0x00, - 0x07, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, - 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x0F, 0xF0, 0x03, 0xFF, 0xFF, 0xF8, 0x00, - 0x3F, 0xF1, 0xFC, 0x00, 0x0F, 0xF0, 0xFF, 0x00, 0x07, 0xF8, 0x7F, 0x80, - 0x03, 0xFC, 0x1F, 0xC0, 0x01, 0xFE, 0x0F, 0xE0, 0x00, 0xFF, 0x03, 0xF8, - 0x00, 0x7F, 0x80, 0xFC, 0x00, 0x3F, 0xC0, 0x3F, 0x00, 0x1F, 0xE0, 0x0F, - 0xC0, 0x0F, 0xF0, 0x03, 0xF8, 0x1F, 0xF0, 0x00, 0x7F, 0xFF, 0xC0, 0x00, - 0x07, 0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x1F, 0xFF, 0x9F, 0xF8, 0x03, 0xFF, - 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, - 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0x7F, 0x80, 0x0F, 0xF0, 0x3F, 0xC0, 0x07, - 0xF8, 0x1F, 0xE0, 0x03, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, - 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, - 0x1F, 0xE0, 0x7F, 0x80, 0x0F, 0xF0, 0x3F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, - 0xFF, 0xFC, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, - 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0x7F, - 0x80, 0x0F, 0xF0, 0x3F, 0xC0, 0x07, 0xF8, 0x1F, 0xE0, 0x03, 0xFC, 0x0F, - 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x03, 0xFC, 0x00, 0x7F, 0x81, - 0xFE, 0x00, 0x3F, 0xC0, 0xFF, 0x00, 0x1F, 0xE0, 0xFF, 0xC0, 0x1F, 0xF9, - 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFE, 0x7F, 0xE0, 0x7F, 0x80, 0xFF, 0x01, - 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, - 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, - 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, - 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, - 0x0F, 0xFC, 0x7F, 0xFF, 0x01, 0xFF, 0xFC, 0x00, 0xFF, 0xC0, 0x01, 0xFE, - 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, - 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, - 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, - 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, - 0x1F, 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, - 0xE0, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x78, 0x1F, 0xE3, - 0xF0, 0x7F, 0x8F, 0xC1, 0xFC, 0x3F, 0x07, 0xF0, 0xFC, 0x1F, 0xC1, 0xE0, - 0xFE, 0x07, 0xC3, 0xF0, 0x0F, 0xFF, 0x80, 0x07, 0xF0, 0x00, 0xFF, 0xFC, - 0x1F, 0xFF, 0x0F, 0xFC, 0x00, 0xFF, 0x01, 0xFE, 0x00, 0x1E, 0x00, 0x7F, - 0x80, 0x07, 0x00, 0x1F, 0xE0, 0x03, 0x80, 0x07, 0xF8, 0x01, 0xC0, 0x01, - 0xFE, 0x00, 0xE0, 0x00, 0x7F, 0x80, 0x70, 0x00, 0x1F, 0xE0, 0x38, 0x00, - 0x07, 0xF8, 0x1C, 0x00, 0x01, 0xFE, 0x0E, 0x00, 0x00, 0x7F, 0x87, 0x00, - 0x00, 0x1F, 0xE3, 0xC0, 0x00, 0x07, 0xF9, 0xF8, 0x00, 0x01, 0xFE, 0xFE, - 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x07, 0xFD, - 0xFF, 0x00, 0x01, 0xFE, 0x7F, 0xE0, 0x00, 0x7F, 0x8F, 0xF8, 0x00, 0x1F, - 0xE1, 0xFF, 0x00, 0x07, 0xF8, 0x3F, 0xE0, 0x01, 0xFE, 0x07, 0xFC, 0x00, - 0x7F, 0x81, 0xFF, 0x80, 0x1F, 0xE0, 0x3F, 0xE0, 0x07, 0xF8, 0x07, 0xFC, - 0x01, 0xFE, 0x00, 0xFF, 0x80, 0x7F, 0x80, 0x1F, 0xF0, 0x1F, 0xE0, 0x07, - 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x83, 0xFF, 0x00, 0x3F, 0xF3, 0xFF, 0xF0, - 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, - 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, - 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, - 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, - 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, - 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, - 0x1F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x01, 0x1F, 0xE0, 0x00, 0x31, 0xFE, - 0x00, 0x03, 0x1F, 0xE0, 0x00, 0x71, 0xFE, 0x00, 0x07, 0x1F, 0xE0, 0x00, - 0xE1, 0xFE, 0x00, 0x1E, 0x1F, 0xE0, 0x07, 0xE3, 0xFF, 0x01, 0xFE, 0xFF, - 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0x7F, 0xF0, 0x00, 0x01, 0xFF, 0xE1, - 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x1F, 0xE0, 0x00, 0x0F, 0xFC, 0x03, 0xFC, - 0x00, 0x01, 0xFF, 0x80, 0x7F, 0xC0, 0x00, 0x2F, 0xF0, 0x0B, 0xF8, 0x00, - 0x0D, 0xFE, 0x01, 0x7F, 0x80, 0x01, 0xBF, 0xC0, 0x27, 0xF0, 0x00, 0x67, - 0xF8, 0x04, 0xFF, 0x00, 0x0C, 0xFF, 0x00, 0x8F, 0xE0, 0x03, 0x1F, 0xE0, - 0x11, 0xFE, 0x00, 0x63, 0xFC, 0x02, 0x3F, 0xC0, 0x08, 0x7F, 0x80, 0x43, - 0xF8, 0x03, 0x0F, 0xF0, 0x08, 0x7F, 0x80, 0x61, 0xFE, 0x01, 0x07, 0xF0, - 0x18, 0x3F, 0xC0, 0x20, 0xFF, 0x03, 0x07, 0xF8, 0x04, 0x0F, 0xE0, 0xC0, - 0xFF, 0x00, 0x81, 0xFE, 0x18, 0x1F, 0xE0, 0x10, 0x3F, 0xC6, 0x03, 0xFC, - 0x02, 0x03, 0xF8, 0xC0, 0x7F, 0x80, 0x40, 0x7F, 0x98, 0x0F, 0xF0, 0x08, - 0x07, 0xF6, 0x01, 0xFE, 0x01, 0x00, 0xFF, 0xC0, 0x3F, 0xC0, 0x20, 0x0F, - 0xF0, 0x07, 0xF8, 0x04, 0x01, 0xFE, 0x00, 0xFF, 0x00, 0x80, 0x1F, 0x80, - 0x1F, 0xE0, 0x10, 0x03, 0xF0, 0x03, 0xFC, 0x02, 0x00, 0x7E, 0x00, 0x7F, - 0x80, 0x40, 0x07, 0x80, 0x0F, 0xF0, 0x0C, 0x00, 0xF0, 0x01, 0xFE, 0x07, - 0xC0, 0x0C, 0x00, 0x7F, 0xE7, 0xFF, 0x01, 0x80, 0x3F, 0xFF, 0xFF, 0xC0, - 0x03, 0xFE, 0xFF, 0xC0, 0x01, 0xF0, 0xFF, 0xC0, 0x01, 0xC0, 0xFF, 0xC0, - 0x01, 0x80, 0xFF, 0x80, 0x03, 0x01, 0xFF, 0x80, 0x06, 0x03, 0xFF, 0x80, - 0x0C, 0x07, 0xFF, 0x80, 0x18, 0x0D, 0xFF, 0x80, 0x30, 0x19, 0xFF, 0x00, - 0x60, 0x31, 0xFF, 0x00, 0xC0, 0x61, 0xFF, 0x01, 0x80, 0xC1, 0xFF, 0x03, - 0x01, 0x83, 0xFF, 0x06, 0x03, 0x03, 0xFE, 0x0C, 0x06, 0x03, 0xFE, 0x18, - 0x0C, 0x03, 0xFE, 0x30, 0x18, 0x03, 0xFE, 0x60, 0x30, 0x03, 0xFE, 0xC0, - 0x60, 0x07, 0xFD, 0x80, 0xC0, 0x07, 0xFF, 0x01, 0x80, 0x07, 0xFE, 0x03, - 0x00, 0x07, 0xFC, 0x06, 0x00, 0x07, 0xF8, 0x0C, 0x00, 0x07, 0xF0, 0x18, - 0x00, 0x0F, 0xE0, 0x30, 0x00, 0x0F, 0xC0, 0x60, 0x00, 0x0F, 0x80, 0xC0, - 0x00, 0x0F, 0x01, 0xC0, 0x00, 0x0E, 0x0F, 0xC0, 0x00, 0x1C, 0x7F, 0xE0, - 0x00, 0x18, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x3F, - 0x07, 0xF0, 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x7E, - 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, 0x3F, 0x00, 0x03, 0xF8, 0x3F, - 0x80, 0x00, 0xFE, 0x3F, 0xC0, 0x00, 0x7F, 0x1F, 0xE0, 0x00, 0x3F, 0xCF, - 0xE0, 0x00, 0x0F, 0xEF, 0xF0, 0x00, 0x07, 0xF7, 0xF8, 0x00, 0x03, 0xFF, - 0xFC, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x7F, - 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x0F, - 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x03, 0xFD, 0xFC, 0x00, 0x01, - 0xFC, 0xFE, 0x00, 0x01, 0xFE, 0x7F, 0x80, 0x00, 0xFF, 0x1F, 0xC0, 0x00, - 0x7F, 0x0F, 0xE0, 0x00, 0x3F, 0x83, 0xF8, 0x00, 0x3F, 0x80, 0xFC, 0x00, - 0x1F, 0x80, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x03, 0xF8, - 0x3F, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, - 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x01, 0xFE, 0x1F, 0xE0, 0x7F, 0x81, 0xFC, - 0x1F, 0xE0, 0x7F, 0x87, 0xF8, 0x0F, 0xE1, 0xFE, 0x03, 0xFC, 0x7F, 0x80, - 0xFF, 0x1F, 0xE0, 0x3F, 0xC7, 0xF8, 0x0F, 0xF1, 0xFE, 0x03, 0xFC, 0x7F, - 0x80, 0xFF, 0x1F, 0xE0, 0x3F, 0x87, 0xF8, 0x1F, 0xE1, 0xFE, 0x07, 0xF0, - 0x7F, 0x87, 0xF8, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xF8, 0x01, 0xFE, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x01, 0xFE, - 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x01, - 0xFE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x00, - 0x03, 0xFF, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, - 0x3F, 0xFF, 0x80, 0x00, 0x3F, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0xFC, 0x00, - 0x7E, 0x00, 0x3F, 0x00, 0x7E, 0x00, 0x1F, 0xC0, 0x7F, 0x00, 0x07, 0xF0, - 0x3F, 0x00, 0x03, 0xF8, 0x3F, 0x80, 0x00, 0xFE, 0x1F, 0xC0, 0x00, 0x7F, - 0x1F, 0xE0, 0x00, 0x3F, 0xCF, 0xE0, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x07, - 0xF7, 0xF8, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xC0, 0x00, - 0x1F, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x00, - 0x03, 0xFD, 0xFC, 0x00, 0x01, 0xFC, 0xFE, 0x00, 0x01, 0xFE, 0x7F, 0x80, - 0x00, 0xFF, 0x1F, 0xC0, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x3F, 0x83, 0xF8, - 0x00, 0x3F, 0x80, 0xFC, 0x00, 0x1F, 0x80, 0x3F, 0x00, 0x1F, 0x80, 0x0F, - 0xC0, 0x1F, 0x80, 0x03, 0xF0, 0x1F, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, - 0x0F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, - 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x07, 0xFF, 0x80, - 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, - 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xC3, 0xFC, 0x00, 0xFF, 0x01, 0xFC, - 0x01, 0xFE, 0x03, 0xFC, 0x03, 0xFC, 0x03, 0xF8, 0x07, 0xF8, 0x07, 0xF8, - 0x0F, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x1F, 0xE0, 0x3F, 0xC0, 0x3F, 0xC0, - 0x7F, 0x80, 0x7F, 0x80, 0xFF, 0x00, 0xFF, 0x01, 0xFE, 0x01, 0xFC, 0x03, - 0xFC, 0x07, 0xF8, 0x07, 0xF8, 0x1F, 0xE0, 0x0F, 0xF0, 0xFF, 0x00, 0x1F, - 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0x9F, 0xE0, 0x00, 0xFF, - 0x3F, 0xC0, 0x01, 0xFE, 0x3F, 0xC0, 0x03, 0xFC, 0x7F, 0xC0, 0x07, 0xF8, - 0x7F, 0xC0, 0x0F, 0xF0, 0x7F, 0x80, 0x1F, 0xE0, 0xFF, 0x80, 0x3F, 0xC0, - 0xFF, 0x80, 0x7F, 0x80, 0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x01, 0xFE, 0x01, - 0xFF, 0x03, 0xFC, 0x01, 0xFF, 0x0F, 0xFC, 0x03, 0xFE, 0x7F, 0xFE, 0x03, - 0xFF, 0x03, 0xF8, 0x10, 0x7F, 0xF9, 0x87, 0xC1, 0xFC, 0x78, 0x03, 0xE7, - 0x80, 0x0F, 0x3C, 0x00, 0x3B, 0xE0, 0x01, 0xDF, 0x00, 0x06, 0xF8, 0x00, - 0x37, 0xE0, 0x00, 0xBF, 0x80, 0x01, 0xFF, 0x00, 0x0F, 0xFE, 0x00, 0x3F, - 0xFC, 0x01, 0xFF, 0xF8, 0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, - 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x07, 0xFC, 0x00, - 0x1F, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, - 0xC0, 0x01, 0xEE, 0x00, 0x0F, 0x78, 0x00, 0xF3, 0xE0, 0x0F, 0x9F, 0xC0, - 0xF8, 0x8F, 0xFF, 0x04, 0x0F, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFC, 0x3F, 0xC3, 0xFF, 0x03, 0xFC, 0x0F, 0xE0, 0x3F, 0xC0, - 0x7C, 0x03, 0xFC, 0x03, 0xC0, 0x3F, 0xC0, 0x38, 0x03, 0xFC, 0x01, 0x80, - 0x3F, 0xC0, 0x10, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, - 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, - 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, - 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, - 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, - 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xFF, 0xC0, 0xFF, - 0xFE, 0x07, 0xFC, 0xFF, 0xC0, 0x07, 0xC1, 0xFE, 0x00, 0x0E, 0x07, 0xF8, - 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, - 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, - 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, - 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, - 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, 0x06, 0x07, 0xF8, - 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x01, 0x81, 0xFE, 0x00, - 0x06, 0x07, 0xF8, 0x00, 0x18, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x80, 0x03, - 0x00, 0xFF, 0x00, 0x0C, 0x03, 0xFC, 0x00, 0x30, 0x07, 0xF0, 0x01, 0x80, - 0x0F, 0xE0, 0x0E, 0x00, 0x1F, 0xE0, 0xF0, 0x00, 0x1F, 0xFF, 0x00, 0x00, - 0x1F, 0xF0, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0x9F, 0xFC, 0x00, 0x1F, 0x07, - 0xFC, 0x00, 0x07, 0x01, 0xFE, 0x00, 0x03, 0x00, 0x7F, 0x80, 0x03, 0x80, - 0x3F, 0xC0, 0x01, 0x80, 0x1F, 0xE0, 0x00, 0xC0, 0x07, 0xF8, 0x00, 0xC0, - 0x03, 0xFC, 0x00, 0x60, 0x00, 0xFF, 0x00, 0x30, 0x00, 0x7F, 0x80, 0x30, - 0x00, 0x1F, 0xE0, 0x18, 0x00, 0x0F, 0xF0, 0x18, 0x00, 0x07, 0xF8, 0x0C, - 0x00, 0x01, 0xFE, 0x06, 0x00, 0x00, 0xFF, 0x06, 0x00, 0x00, 0x3F, 0xC3, - 0x00, 0x00, 0x1F, 0xE3, 0x80, 0x00, 0x0F, 0xF1, 0x80, 0x00, 0x03, 0xFC, - 0xC0, 0x00, 0x01, 0xFE, 0xC0, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x3F, - 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x03, - 0xF8, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x80, 0x00, 0xFF, 0xF8, 0x7F, 0xFF, 0x0F, 0xFB, 0xFF, 0x00, 0xFF, - 0xC0, 0x1F, 0x0F, 0xF0, 0x03, 0xFC, 0x00, 0x70, 0x3F, 0x80, 0x0F, 0xE0, - 0x03, 0x81, 0xFE, 0x00, 0x7F, 0x80, 0x1C, 0x0F, 0xF0, 0x03, 0xFC, 0x00, - 0xC0, 0x3F, 0x80, 0x0F, 0xE0, 0x06, 0x01, 0xFE, 0x00, 0x7F, 0x00, 0x70, - 0x0F, 0xF0, 0x07, 0xFC, 0x03, 0x00, 0x3F, 0x80, 0x3F, 0xE0, 0x18, 0x01, - 0xFE, 0x01, 0xFF, 0x01, 0xC0, 0x0F, 0xF0, 0x1B, 0xFC, 0x0C, 0x00, 0x3F, - 0x80, 0xCF, 0xE0, 0x60, 0x01, 0xFE, 0x06, 0x7F, 0x07, 0x00, 0x0F, 0xF0, - 0x63, 0xFC, 0x30, 0x00, 0x3F, 0x83, 0x0F, 0xE1, 0x80, 0x01, 0xFE, 0x30, - 0x7F, 0x1C, 0x00, 0x07, 0xF1, 0x81, 0xFC, 0xC0, 0x00, 0x3F, 0x8C, 0x0F, - 0xE6, 0x00, 0x01, 0xFE, 0xC0, 0x7F, 0x70, 0x00, 0x07, 0xF6, 0x01, 0xFB, - 0x00, 0x00, 0x3F, 0xE0, 0x0F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x7F, 0xC0, - 0x00, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, - 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xF0, 0x00, 0x00, - 0x3E, 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x07, - 0x00, 0x01, 0xC0, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, - 0x00, 0x70, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x0F, - 0xFF, 0x3F, 0xF8, 0x01, 0xF8, 0x1F, 0xF8, 0x01, 0xE0, 0x0F, 0xF8, 0x01, - 0xC0, 0x0F, 0xF8, 0x01, 0x80, 0x07, 0xFC, 0x03, 0x80, 0x03, 0xFE, 0x07, - 0x00, 0x03, 0xFE, 0x06, 0x00, 0x01, 0xFF, 0x0C, 0x00, 0x00, 0xFF, 0x9C, - 0x00, 0x00, 0xFF, 0x98, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x3F, 0xF0, - 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x0F, 0xFC, - 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x19, 0xFE, 0x00, 0x00, 0x31, 0xFF, - 0x00, 0x00, 0x70, 0xFF, 0x80, 0x00, 0x60, 0x7F, 0x80, 0x00, 0xC0, 0x7F, - 0xC0, 0x01, 0xC0, 0x3F, 0xE0, 0x03, 0x80, 0x1F, 0xE0, 0x07, 0x00, 0x1F, - 0xF0, 0x07, 0x00, 0x0F, 0xF8, 0x0F, 0x00, 0x0F, 0xF8, 0x3F, 0x80, 0x1F, - 0xFC, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x7F, 0xF0, 0x00, - 0x7E, 0x1F, 0xF0, 0x00, 0x38, 0x1F, 0xF0, 0x00, 0x38, 0x0F, 0xF0, 0x00, - 0x70, 0x0F, 0xF8, 0x00, 0x60, 0x07, 0xF8, 0x00, 0x60, 0x07, 0xFC, 0x00, - 0xC0, 0x03, 0xFC, 0x01, 0xC0, 0x01, 0xFE, 0x01, 0x80, 0x01, 0xFE, 0x03, - 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x86, 0x00, 0x00, 0x7F, 0x8E, - 0x00, 0x00, 0x7F, 0xCC, 0x00, 0x00, 0x3F, 0xD8, 0x00, 0x00, 0x3F, 0xF8, - 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xFE, - 0x00, 0x3F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x7F, 0xC3, - 0xE0, 0x07, 0xF8, 0x38, 0x00, 0xFF, 0x83, 0x80, 0x0F, 0xF0, 0x30, 0x01, - 0xFE, 0x07, 0x00, 0x3F, 0xE0, 0x60, 0x03, 0xFC, 0x06, 0x00, 0x7F, 0xC0, - 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, - 0xFE, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x7F, 0x80, - 0x00, 0x0F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, - 0xFE, 0x00, 0x00, 0x3F, 0xC0, 0x01, 0x07, 0xFC, 0x00, 0x30, 0xFF, 0x80, - 0x03, 0x0F, 0xF0, 0x00, 0x31, 0xFF, 0x00, 0x07, 0x1F, 0xE0, 0x00, 0xF3, - 0xFE, 0x00, 0x1E, 0x7F, 0xC0, 0x03, 0xE7, 0xF8, 0x01, 0xFE, 0xFF, 0xFF, - 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xF0, 0x7C, 0x0F, 0x81, - 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, - 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, - 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, - 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xFF, 0xFF, 0xF8, 0xF0, - 0x01, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x0F, 0x00, - 0x1F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x01, - 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1F, - 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, - 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, - 0x1E, 0xFF, 0xFF, 0xFC, 0x1F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, - 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, - 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, - 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, - 0x0F, 0x81, 0xF0, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x78, 0x00, 0x07, 0xC0, - 0x00, 0x3F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xE0, 0x01, 0xEF, 0x00, 0x0F, - 0x3C, 0x00, 0xF1, 0xE0, 0x07, 0x87, 0x80, 0x78, 0x3C, 0x03, 0xC0, 0xF0, - 0x3C, 0x07, 0x81, 0xE0, 0x1E, 0x1E, 0x00, 0xF0, 0xF0, 0x07, 0xCF, 0x00, - 0x1E, 0x78, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x70, 0x1F, 0x03, 0xF0, 0x7E, 0x03, 0xE0, 0x3E, 0x01, 0xE0, 0x1E, - 0x00, 0xE0, 0x03, 0xFC, 0x00, 0x3F, 0xFC, 0x03, 0xE1, 0xF8, 0x0F, 0x03, - 0xF0, 0x7C, 0x07, 0xC1, 0xF8, 0x1F, 0x87, 0xE0, 0x7E, 0x1F, 0x81, 0xF8, - 0x3C, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x01, 0xFE, 0x00, 0x3F, 0xF8, 0x03, - 0xE7, 0xE0, 0x3E, 0x1F, 0x83, 0xF0, 0x7E, 0x1F, 0x81, 0xF8, 0x7E, 0x07, - 0xE3, 0xF8, 0x1F, 0x8F, 0xE0, 0x7E, 0x3F, 0x83, 0xF8, 0xFF, 0x1F, 0xE1, - 0xFF, 0xDF, 0xF7, 0xFE, 0x3F, 0x07, 0xE0, 0xF8, 0xFF, 0x80, 0x00, 0x1F, - 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, - 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, - 0x0F, 0xC7, 0xF0, 0x07, 0xEF, 0xFE, 0x03, 0xFC, 0x3F, 0x81, 0xFC, 0x0F, - 0xE0, 0xFC, 0x03, 0xF0, 0x7E, 0x01, 0xFC, 0x3F, 0x00, 0xFE, 0x1F, 0x80, - 0x3F, 0x8F, 0xC0, 0x1F, 0xC7, 0xE0, 0x0F, 0xE3, 0xF0, 0x07, 0xF1, 0xF8, - 0x03, 0xF8, 0xFC, 0x01, 0xFC, 0x7E, 0x00, 0xFE, 0x3F, 0x00, 0x7F, 0x1F, - 0x80, 0x3F, 0x0F, 0xC0, 0x1F, 0x87, 0xE0, 0x1F, 0xC3, 0xF0, 0x0F, 0xC1, - 0xF8, 0x07, 0xE0, 0xFE, 0x07, 0xE0, 0x73, 0x87, 0xE0, 0x30, 0xFF, 0xC0, - 0x10, 0x1F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x7F, 0xE0, 0x3E, 0x3E, 0x0F, - 0x83, 0xE3, 0xE0, 0x7C, 0x7C, 0x0F, 0x9F, 0x01, 0xF3, 0xE0, 0x1C, 0x7C, - 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, - 0x00, 0x3F, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x01, 0xFC, - 0x00, 0x1F, 0xC0, 0x21, 0xFE, 0x0C, 0x3F, 0xFF, 0x01, 0xFF, 0x80, 0x0F, - 0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, - 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, - 0xF8, 0x00, 0x01, 0xF8, 0x03, 0xF1, 0xF8, 0x07, 0xFD, 0xF8, 0x1F, 0xC7, - 0xF8, 0x1F, 0x83, 0xF8, 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7E, 0x01, - 0xF8, 0x7E, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, - 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, - 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x7F, 0x01, - 0xF8, 0x3F, 0x03, 0xF8, 0x3F, 0x03, 0xF8, 0x1F, 0x87, 0xFC, 0x0F, 0xFD, - 0xFF, 0x03, 0xF1, 0xC0, 0x03, 0xF0, 0x03, 0xFF, 0x01, 0xE1, 0xE0, 0xF8, - 0x7C, 0x3C, 0x0F, 0x1F, 0x03, 0xE7, 0xC0, 0xFB, 0xF0, 0x3E, 0xFC, 0x0F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, - 0xC0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x1F, 0x80, 0x07, 0xF0, 0x0C, 0xFC, - 0x06, 0x3F, 0xC3, 0x07, 0xFF, 0x80, 0xFF, 0xC0, 0x0F, 0xC0, 0x00, 0xFC, - 0x01, 0xFF, 0x81, 0xF1, 0xC1, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, - 0x1C, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x1F, 0xFF, 0x0F, - 0xFF, 0x80, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, - 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, - 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, - 0xFC, 0x00, 0x7E, 0x00, 0x7F, 0x80, 0xFF, 0xF8, 0x00, 0x07, 0xF0, 0x03, - 0xFF, 0xFC, 0xF8, 0x7F, 0xBE, 0x07, 0x87, 0xC0, 0xF9, 0xF8, 0x1F, 0xBF, - 0x03, 0xF7, 0xE0, 0x7E, 0xFC, 0x0F, 0xDF, 0x81, 0xF9, 0xF0, 0x3F, 0x3E, - 0x07, 0xC3, 0xE1, 0xF8, 0x3C, 0x7E, 0x01, 0xFF, 0x00, 0x60, 0x00, 0x38, - 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, 0x7F, 0xFF, 0x0F, 0xFF, 0xF9, 0xFF, - 0xFF, 0x9F, 0xFF, 0xF9, 0xFF, 0xFF, 0x0F, 0xFF, 0xEF, 0x00, 0x3F, 0xC0, - 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x1C, 0xF8, 0x07, 0x0F, 0xFF, 0xC0, 0x7F, - 0xC0, 0xFF, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, - 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, - 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x87, 0xE0, 0x1F, 0x9F, 0xF0, 0x1F, 0xBF, - 0xF8, 0x1F, 0xF1, 0xF8, 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, - 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, - 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, - 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, - 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x3F, 0xC1, 0xFE, 0xFF, 0xE3, - 0xFF, 0x0F, 0x07, 0xE1, 0xFE, 0x3F, 0xC7, 0xF8, 0x7F, 0x03, 0xC0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC3, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, - 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, - 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE1, 0xFE, 0xFF, 0xE0, 0x00, - 0x70, 0x07, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x07, 0xF0, 0x0F, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFC, 0x03, 0xF0, - 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, - 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, - 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, - 0xDC, 0x3F, 0xF8, 0xFB, 0xE3, 0xEF, 0x0F, 0xBC, 0x7C, 0x7F, 0xE0, 0x7E, - 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xF0, - 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, - 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE1, 0xFF, 0x83, - 0xF0, 0x3F, 0x01, 0xF8, 0x0E, 0x00, 0xFC, 0x06, 0x00, 0x7E, 0x06, 0x00, - 0x3F, 0x06, 0x00, 0x1F, 0x86, 0x00, 0x0F, 0xC7, 0x00, 0x07, 0xE7, 0x80, - 0x03, 0xF7, 0xE0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x00, 0x7E, 0x7F, - 0x00, 0x3F, 0x1F, 0xC0, 0x1F, 0x8F, 0xE0, 0x0F, 0xC3, 0xF8, 0x07, 0xE0, - 0xFE, 0x03, 0xF0, 0x7F, 0x81, 0xF8, 0x1F, 0xC0, 0xFC, 0x0F, 0xF0, 0xFF, - 0x07, 0xFD, 0xFF, 0xC7, 0xFF, 0xFF, 0x87, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, - 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, - 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, - 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x0F, 0xF7, - 0xFF, 0x00, 0x07, 0xE0, 0x3F, 0x07, 0xFC, 0xFF, 0x87, 0xFC, 0x0F, 0xEF, - 0xFE, 0x7F, 0xF0, 0x3F, 0xC3, 0xFF, 0x1F, 0x81, 0xFC, 0x0F, 0xE0, 0x7E, - 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x03, 0xF0, 0x1F, 0x83, 0xF0, 0x1F, - 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0xFC, 0x07, 0xE0, 0x3F, 0x07, - 0xE0, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x0F, 0xC1, 0xF8, 0x0F, 0xC0, - 0x7E, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x03, 0xF0, 0x1F, 0x83, 0xF0, - 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0xFC, 0x07, 0xE0, 0x3F, - 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x0F, 0xC1, 0xF8, 0x0F, - 0xC0, 0x7E, 0x1F, 0xE0, 0xFF, 0x07, 0xFB, 0xFF, 0x8F, 0xFC, 0x7F, 0xE0, - 0x00, 0x07, 0xE0, 0xFF, 0x9F, 0xF0, 0x3F, 0xBF, 0xF8, 0x1F, 0xF1, 0xF8, - 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, - 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, - 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, - 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, - 0x1F, 0x80, 0xFC, 0x3F, 0xC1, 0xFE, 0xFF, 0xE3, 0xFF, 0x01, 0xFC, 0x00, - 0x3F, 0xF8, 0x03, 0xE3, 0xE0, 0x3E, 0x0F, 0x83, 0xF0, 0x7E, 0x1F, 0x01, - 0xF1, 0xF8, 0x0F, 0xCF, 0xC0, 0x7E, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, - 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, - 0xFF, 0xC0, 0x7F, 0x7E, 0x03, 0xF3, 0xF0, 0x1F, 0x8F, 0x80, 0xF8, 0x7E, - 0x0F, 0xC1, 0xF0, 0x7C, 0x07, 0xC7, 0xC0, 0x1F, 0xFC, 0x00, 0x3F, 0x80, - 0x00, 0x0F, 0xC0, 0xFF, 0xBF, 0xF0, 0x3F, 0xF1, 0xF8, 0x1F, 0xC0, 0xFC, - 0x1F, 0xC0, 0xFC, 0x1F, 0x80, 0xFE, 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0x7F, - 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, - 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, 0x1F, 0x80, 0x7F, - 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0x7E, 0x1F, 0x80, 0xFE, 0x1F, 0x80, 0xFC, - 0x1F, 0xC1, 0xF8, 0x1F, 0xE3, 0xF8, 0x1F, 0xBF, 0xE0, 0x1F, 0x8F, 0xC0, - 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, - 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xF8, 0x00, - 0x00, 0xF8, 0x08, 0x07, 0xFE, 0x18, 0x0F, 0xC7, 0x38, 0x1F, 0x83, 0xF8, - 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7E, 0x01, 0xF8, - 0x7E, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, - 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, 0xFE, 0x01, 0xF8, - 0xFE, 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, - 0x3F, 0x83, 0xF8, 0x1F, 0xC7, 0xF8, 0x0F, 0xFD, 0xF8, 0x03, 0xF1, 0xF8, - 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, - 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xFF, - 0x00, 0x07, 0x9F, 0xF3, 0xF8, 0xFE, 0xFF, 0x8F, 0xFF, 0xF1, 0xFE, 0x7E, - 0x3F, 0x87, 0x87, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, - 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, - 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, - 0xF8, 0x00, 0x7F, 0x80, 0x3F, 0xFC, 0x00, 0x0F, 0x84, 0x3F, 0xF8, 0xE1, - 0xF3, 0x80, 0xEF, 0x00, 0xDE, 0x01, 0xBE, 0x01, 0x7E, 0x00, 0xFF, 0x01, - 0xFF, 0x81, 0xFF, 0xC3, 0xFF, 0xC3, 0xFF, 0xC1, 0xFF, 0x80, 0xFF, 0x80, - 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x00, 0x7E, 0x00, 0xFE, 0x01, 0xDF, 0x0F, - 0x37, 0xFC, 0x43, 0xF0, 0x01, 0x00, 0x0C, 0x00, 0x70, 0x01, 0xC0, 0x0F, - 0x00, 0x7C, 0x03, 0xF0, 0x1F, 0xC0, 0xFF, 0xF3, 0xFF, 0xC3, 0xF0, 0x0F, - 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, - 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, - 0xFC, 0x23, 0xF0, 0x8F, 0xE6, 0x1F, 0xF0, 0x7F, 0x80, 0xF8, 0x00, 0xFF, - 0x87, 0xFC, 0x1F, 0xC0, 0xFE, 0x07, 0xE0, 0x3F, 0x03, 0xF0, 0x1F, 0x81, - 0xF8, 0x0F, 0xC0, 0xFC, 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x01, 0xF8, - 0x1F, 0x80, 0xFC, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, 0xF0, 0x1F, - 0x81, 0xF8, 0x0F, 0xC0, 0xFC, 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x01, - 0xF8, 0x1F, 0x80, 0xFC, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x7F, 0x03, 0xF8, - 0x7F, 0xC0, 0xFF, 0xEF, 0xF8, 0x3F, 0xE7, 0xC0, 0x0F, 0xC2, 0x00, 0xFF, - 0xF1, 0xFC, 0xFF, 0x01, 0xE3, 0xFC, 0x03, 0x07, 0xF0, 0x0C, 0x1F, 0xC0, - 0x60, 0x3F, 0x81, 0x80, 0xFE, 0x04, 0x01, 0xF8, 0x30, 0x07, 0xF0, 0xC0, - 0x1F, 0xC6, 0x00, 0x3F, 0x98, 0x00, 0xFE, 0x40, 0x01, 0xFB, 0x00, 0x07, - 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, 0x01, 0xF0, - 0x00, 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, - 0x01, 0x00, 0x00, 0xFF, 0xE7, 0xFF, 0x3F, 0xBF, 0xE0, 0xFE, 0x07, 0x0F, - 0xE0, 0x7F, 0x03, 0x83, 0xF0, 0x1F, 0x81, 0x81, 0xFC, 0x0F, 0xC0, 0xC0, - 0xFE, 0x07, 0xF0, 0x40, 0x3F, 0x03, 0xF8, 0x60, 0x1F, 0xC3, 0xFC, 0x30, - 0x07, 0xE1, 0xFE, 0x10, 0x03, 0xF0, 0x9F, 0x98, 0x01, 0xFC, 0xCF, 0xCC, - 0x00, 0x7E, 0x67, 0xEC, 0x00, 0x3F, 0xE1, 0xFE, 0x00, 0x1F, 0xF0, 0xFE, - 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x03, 0xF8, 0x3F, 0x80, 0x00, 0xFC, 0x0F, - 0x80, 0x00, 0x7C, 0x07, 0xC0, 0x00, 0x3E, 0x03, 0xE0, 0x00, 0x0F, 0x00, - 0xE0, 0x00, 0x07, 0x00, 0x70, 0x00, 0x03, 0x80, 0x38, 0x00, 0x00, 0x80, - 0x08, 0x00, 0xFF, 0xF3, 0xFD, 0xFF, 0x03, 0xC3, 0xFC, 0x0E, 0x07, 0xF0, - 0x30, 0x1F, 0xE1, 0x80, 0x3F, 0x8C, 0x00, 0x7F, 0x70, 0x01, 0xFF, 0x80, - 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0x80, 0x00, - 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x1B, 0xF8, 0x00, 0xCF, 0xF0, 0x06, 0x1F, - 0xC0, 0x38, 0x3F, 0x80, 0xC0, 0xFF, 0x07, 0x01, 0xFC, 0x3C, 0x07, 0xFB, - 0xFC, 0x7F, 0xF0, 0xFF, 0xE3, 0xFB, 0xFC, 0x07, 0x8F, 0xE0, 0x18, 0x7F, - 0x01, 0x81, 0xF8, 0x0C, 0x0F, 0xE0, 0x60, 0x7F, 0x06, 0x01, 0xF8, 0x30, - 0x0F, 0xE1, 0x80, 0x7F, 0x18, 0x01, 0xF8, 0xC0, 0x0F, 0xE6, 0x00, 0x3F, - 0x60, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, - 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x80, 0x00, 0x0C, 0x00, 0x00, 0x60, 0x03, 0x82, 0x00, 0x3E, - 0x30, 0x01, 0xF1, 0x00, 0x0F, 0x98, 0x00, 0x3F, 0x80, 0x00, 0xF0, 0x00, - 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFD, 0xE0, 0x7F, 0x30, 0x1F, 0xC6, 0x07, - 0xF8, 0x80, 0xFE, 0x00, 0x3F, 0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x3F, - 0x80, 0x0F, 0xE0, 0x03, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xE0, 0x03, 0xF8, - 0x00, 0xFE, 0x03, 0x3F, 0xC0, 0x67, 0xF0, 0x19, 0xFE, 0x07, 0x3F, 0x83, - 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x00, 0x7C, 0x07, 0xE0, 0x3E, 0x00, - 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, - 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, - 0x1F, 0x00, 0xF8, 0x03, 0xC0, 0x3C, 0x01, 0xF0, 0x00, 0xF0, 0x03, 0xE0, - 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, - 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, - 0x00, 0x3E, 0x00, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x3E, 0x00, - 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, - 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0x7C, 0x00, 0xF0, - 0x00, 0xF0, 0x03, 0xE0, 0x3C, 0x01, 0xF0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, - 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, - 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x07, 0xC0, 0x7E, - 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0xFF, 0xC0, 0x47, 0xFF, 0xC3, 0x9F, - 0xFF, 0xFF, 0x70, 0x7F, 0xF8, 0x80, 0x7F, 0xC0, 0x00, 0x3E, 0x00 }; - -const GFXglyph FreeSerifBold24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' - { 0, 8, 34, 16, 4, -32 }, // 0x21 '!' - { 34, 17, 13, 26, 4, -32 }, // 0x22 '"' - { 62, 23, 33, 23, 0, -32 }, // 0x23 '#' - { 157, 21, 39, 24, 1, -34 }, // 0x24 '$' - { 260, 35, 34, 47, 6, -32 }, // 0x25 '%' - { 409, 34, 34, 39, 3, -32 }, // 0x26 '&' - { 554, 5, 13, 13, 4, -32 }, // 0x27 ''' - { 563, 12, 41, 16, 2, -32 }, // 0x28 '(' - { 625, 12, 41, 16, 1, -32 }, // 0x29 ')' - { 687, 18, 21, 24, 3, -32 }, // 0x2A '*' - { 735, 26, 25, 32, 3, -24 }, // 0x2B '+' - { 817, 8, 15, 12, 2, -6 }, // 0x2C ',' - { 832, 11, 5, 16, 2, -12 }, // 0x2D '-' - { 839, 8, 8, 12, 2, -6 }, // 0x2E '.' - { 847, 15, 33, 13, -1, -32 }, // 0x2F '/' - { 909, 22, 34, 23, 1, -32 }, // 0x30 '0' - { 1003, 18, 33, 23, 3, -32 }, // 0x31 '1' - { 1078, 21, 33, 24, 1, -32 }, // 0x32 '2' - { 1165, 21, 34, 24, 1, -32 }, // 0x33 '3' - { 1255, 21, 33, 24, 1, -32 }, // 0x34 '4' - { 1342, 20, 32, 23, 2, -31 }, // 0x35 '5' - { 1422, 21, 34, 24, 1, -32 }, // 0x36 '6' - { 1512, 21, 32, 23, 1, -31 }, // 0x37 '7' - { 1596, 21, 34, 23, 1, -32 }, // 0x38 '8' - { 1686, 22, 34, 23, 1, -32 }, // 0x39 '9' - { 1780, 8, 24, 16, 4, -22 }, // 0x3A ':' - { 1804, 9, 31, 16, 3, -22 }, // 0x3B ';' - { 1839, 26, 26, 32, 3, -24 }, // 0x3C '<' - { 1924, 26, 17, 32, 3, -20 }, // 0x3D '=' - { 1980, 26, 26, 32, 3, -24 }, // 0x3E '>' - { 2065, 18, 34, 24, 3, -32 }, // 0x3F '?' - { 2142, 33, 34, 44, 5, -32 }, // 0x40 '@' - { 2283, 32, 33, 34, 1, -32 }, // 0x41 'A' - { 2415, 28, 32, 31, 1, -31 }, // 0x42 'B' - { 2527, 30, 34, 33, 2, -32 }, // 0x43 'C' - { 2655, 32, 32, 34, 1, -31 }, // 0x44 'D' - { 2783, 28, 32, 32, 2, -31 }, // 0x45 'E' - { 2895, 25, 32, 29, 2, -31 }, // 0x46 'F' - { 2995, 33, 34, 36, 2, -32 }, // 0x47 'G' - { 3136, 33, 32, 37, 2, -31 }, // 0x48 'H' - { 3268, 15, 32, 18, 2, -31 }, // 0x49 'I' - { 3328, 22, 37, 24, 0, -31 }, // 0x4A 'J' - { 3430, 34, 32, 36, 2, -31 }, // 0x4B 'K' - { 3566, 28, 32, 31, 2, -31 }, // 0x4C 'L' - { 3678, 43, 32, 45, 0, -31 }, // 0x4D 'M' - { 3850, 31, 32, 34, 1, -31 }, // 0x4E 'N' - { 3974, 33, 34, 37, 2, -32 }, // 0x4F 'O' - { 4115, 26, 32, 30, 2, -31 }, // 0x50 'P' - { 4219, 33, 41, 37, 2, -32 }, // 0x51 'Q' - { 4389, 31, 32, 34, 2, -31 }, // 0x52 'R' - { 4513, 21, 34, 27, 3, -32 }, // 0x53 'S' - { 4603, 28, 32, 30, 1, -31 }, // 0x54 'T' - { 4715, 30, 33, 34, 2, -31 }, // 0x55 'U' - { 4839, 33, 32, 33, 0, -31 }, // 0x56 'V' - { 4971, 45, 33, 46, 1, -31 }, // 0x57 'W' - { 5157, 32, 32, 34, 1, -31 }, // 0x58 'X' - { 5285, 32, 32, 33, 1, -31 }, // 0x59 'Y' - { 5413, 28, 32, 30, 1, -31 }, // 0x5A 'Z' - { 5525, 11, 39, 16, 3, -31 }, // 0x5B '[' - { 5579, 15, 33, 13, -1, -32 }, // 0x5C '\' - { 5641, 11, 39, 16, 2, -31 }, // 0x5D ']' - { 5695, 21, 17, 27, 3, -31 }, // 0x5E '^' - { 5740, 24, 3, 23, 0, 5 }, // 0x5F '_' - { 5749, 11, 9, 16, 0, -33 }, // 0x60 '`' - { 5762, 22, 24, 23, 1, -22 }, // 0x61 'a' - { 5828, 25, 33, 26, 0, -31 }, // 0x62 'b' - { 5932, 19, 24, 20, 1, -22 }, // 0x63 'c' - { 5989, 24, 33, 26, 1, -31 }, // 0x64 'd' - { 6088, 18, 24, 21, 1, -22 }, // 0x65 'e' - { 6142, 17, 33, 18, 1, -32 }, // 0x66 'f' - { 6213, 19, 32, 24, 2, -22 }, // 0x67 'g' - { 6289, 24, 32, 26, 0, -31 }, // 0x68 'h' - { 6385, 11, 33, 14, 1, -32 }, // 0x69 'i' - { 6431, 14, 42, 18, 0, -32 }, // 0x6A 'j' - { 6505, 25, 32, 26, 0, -31 }, // 0x6B 'k' - { 6605, 11, 32, 13, 0, -31 }, // 0x6C 'l' - { 6649, 37, 23, 39, 0, -22 }, // 0x6D 'm' - { 6756, 24, 23, 26, 0, -22 }, // 0x6E 'n' - { 6825, 21, 24, 24, 1, -22 }, // 0x6F 'o' - { 6888, 24, 32, 26, 0, -22 }, // 0x70 'p' - { 6984, 24, 32, 26, 1, -22 }, // 0x71 'q' - { 7080, 19, 23, 20, 0, -22 }, // 0x72 'r' - { 7135, 15, 24, 19, 2, -22 }, // 0x73 's' - { 7180, 14, 31, 16, 1, -29 }, // 0x74 't' - { 7235, 25, 23, 27, 0, -21 }, // 0x75 'u' - { 7307, 22, 23, 23, 0, -21 }, // 0x76 'v' - { 7371, 33, 23, 33, 0, -21 }, // 0x77 'w' - { 7466, 22, 22, 24, 1, -21 }, // 0x78 'x' - { 7527, 21, 31, 23, 0, -21 }, // 0x79 'y' - { 7609, 19, 22, 21, 1, -21 }, // 0x7A 'z' - { 7662, 14, 42, 19, 1, -33 }, // 0x7B '{' - { 7736, 4, 33, 10, 3, -32 }, // 0x7C '|' - { 7753, 14, 42, 19, 4, -33 }, // 0x7D '}' - { 7827, 22, 7, 24, 1, -14 } }; // 0x7E '~' - -const GFXfont FreeSerifBold24pt7b PROGMEM = { - (uint8_t *)FreeSerifBold24pt7bBitmaps, - (GFXglyph *)FreeSerifBold24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 8519 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h deleted file mode 100644 index 52dbe36..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBold9pt7b.h +++ /dev/null @@ -1,202 +0,0 @@ -const uint8_t FreeSerifBold9pt7bBitmaps[] PROGMEM = { - 0xFF, 0xF4, 0x92, 0x1F, 0xF0, 0xCF, 0x3C, 0xE3, 0x88, 0x13, 0x09, 0x84, - 0xC2, 0x47, 0xF9, 0x90, 0xC8, 0x4C, 0xFF, 0x13, 0x09, 0x0C, 0x86, 0x40, - 0x10, 0x38, 0xD6, 0x92, 0xD2, 0xF0, 0x7C, 0x3E, 0x17, 0x93, 0x93, 0xD6, - 0x7C, 0x10, 0x3C, 0x21, 0xCF, 0x0E, 0x24, 0x30, 0xA0, 0xC5, 0x03, 0x34, - 0xE7, 0x26, 0x40, 0xB9, 0x04, 0xC4, 0x23, 0x30, 0x8C, 0x84, 0x1C, 0x0F, - 0x00, 0xCC, 0x06, 0x60, 0x3E, 0x00, 0xE7, 0x8F, 0x18, 0x9C, 0x8C, 0xE4, - 0xE3, 0xC7, 0x9E, 0x3C, 0x72, 0xFD, 0xE0, 0xFF, 0x80, 0x32, 0x44, 0xCC, - 0xCC, 0xCC, 0xC4, 0x62, 0x10, 0x84, 0x22, 0x33, 0x33, 0x33, 0x32, 0x64, - 0x80, 0x31, 0x6B, 0xB1, 0x8E, 0xD6, 0x8C, 0x00, 0x08, 0x04, 0x02, 0x01, - 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xDF, 0x95, 0x00, 0xFF, 0xFF, - 0x80, 0x0C, 0x21, 0x86, 0x10, 0xC3, 0x08, 0x61, 0x84, 0x30, 0xC0, 0x1C, - 0x33, 0x98, 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xB1, 0x98, 0xC3, - 0x80, 0x08, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xBF, 0x3C, 0x3F, - 0x23, 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x18, 0x18, 0x18, 0x5F, 0xDF, 0xE0, - 0x7C, 0x8E, 0x0E, 0x0E, 0x0C, 0x1E, 0x07, 0x03, 0x03, 0x02, 0xE6, 0xF8, - 0x06, 0x0E, 0x0E, 0x3E, 0x2E, 0x4E, 0x8E, 0x8E, 0xFF, 0xFF, 0x0E, 0x0E, - 0x3F, 0x7E, 0x40, 0x40, 0xF8, 0xFC, 0x1E, 0x06, 0x02, 0x02, 0xE4, 0xF8, - 0x07, 0x1C, 0x30, 0x70, 0xFC, 0xE6, 0xE7, 0xE7, 0xE7, 0x67, 0x66, 0x3C, - 0x7F, 0x3F, 0xA0, 0xD0, 0x40, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x04, 0x06, - 0x03, 0x00, 0x3C, 0xC6, 0xC6, 0xC6, 0xFC, 0x7C, 0x3E, 0xCF, 0xC7, 0xC7, - 0xC6, 0x7C, 0x3E, 0x33, 0xB8, 0xDC, 0x7E, 0x3F, 0x1D, 0xCE, 0x7F, 0x07, - 0x07, 0x0F, 0x1C, 0x00, 0xFF, 0x80, 0x3F, 0xE0, 0xFF, 0x80, 0x37, 0xE5, - 0x40, 0x00, 0x00, 0x70, 0x78, 0x78, 0x78, 0x38, 0x03, 0x80, 0x3C, 0x03, - 0xC0, 0x30, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0xC0, 0x3C, 0x03, - 0xC0, 0x1C, 0x01, 0xC1, 0xE1, 0xE1, 0xE0, 0xE0, 0x00, 0x00, 0x3D, 0x9F, - 0x3E, 0x70, 0xE1, 0x04, 0x08, 0x00, 0x70, 0xE1, 0xC0, 0x0F, 0x81, 0x83, - 0x18, 0xC4, 0x89, 0x9C, 0x4C, 0xE4, 0x67, 0x22, 0x39, 0x22, 0x4F, 0xE3, - 0x00, 0x0C, 0x10, 0x1F, 0x00, 0x02, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, - 0xB8, 0x05, 0xC0, 0x4F, 0x02, 0x38, 0x3F, 0xE1, 0x07, 0x18, 0x3D, 0xE3, - 0xF0, 0xFF, 0x87, 0x1C, 0xE3, 0x9C, 0x73, 0x9C, 0x7F, 0x0E, 0x71, 0xC7, - 0x38, 0xE7, 0x1C, 0xE7, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0xC1, 0xB0, 0x1E, - 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x0E, 0x04, 0xE1, 0x0F, 0xC0, 0xFF, - 0x0E, 0x71, 0xC7, 0x38, 0x77, 0x0E, 0xE1, 0xDC, 0x3B, 0x87, 0x70, 0xCE, - 0x39, 0xC6, 0x7F, 0x80, 0xFF, 0xCE, 0x19, 0xC1, 0x38, 0x87, 0x30, 0xFE, - 0x1C, 0xC3, 0x88, 0x70, 0x2E, 0x0D, 0xC3, 0x7F, 0xE0, 0xFF, 0xDC, 0x37, - 0x05, 0xC4, 0x73, 0x1F, 0xC7, 0x31, 0xC4, 0x70, 0x1C, 0x07, 0x03, 0xE0, - 0x1F, 0x23, 0x0E, 0x70, 0x6E, 0x02, 0xE0, 0x0E, 0x00, 0xE1, 0xFE, 0x0E, - 0x60, 0xE7, 0x0E, 0x38, 0xE0, 0xF8, 0xF9, 0xF7, 0x0E, 0x70, 0xE7, 0x0E, - 0x70, 0xE7, 0xFE, 0x70, 0xE7, 0x0E, 0x70, 0xE7, 0x0E, 0x70, 0xEF, 0x9F, - 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0x1F, 0x0E, 0x0E, 0x0E, - 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xCE, 0xCC, 0x78, 0xF9, 0xF3, - 0x82, 0x1C, 0x20, 0xE2, 0x07, 0x20, 0x3F, 0x01, 0xDC, 0x0E, 0x70, 0x73, - 0xC3, 0x8F, 0x1C, 0x3D, 0xF3, 0xF0, 0xF8, 0x0E, 0x01, 0xC0, 0x38, 0x07, - 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x2E, 0x09, 0xC3, 0x7F, 0xE0, 0xF8, - 0x0F, 0x3C, 0x1E, 0x3C, 0x1E, 0x2E, 0x2E, 0x2E, 0x2E, 0x26, 0x4E, 0x27, - 0x4E, 0x27, 0x4E, 0x23, 0x8E, 0x23, 0x8E, 0x21, 0x0E, 0x71, 0x1F, 0xF0, - 0xEE, 0x09, 0xE1, 0x3E, 0x25, 0xE4, 0x9E, 0x91, 0xD2, 0x1E, 0x43, 0xC8, - 0x39, 0x03, 0x70, 0x20, 0x1F, 0x83, 0x0C, 0x70, 0xEE, 0x07, 0xE0, 0x7E, - 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x77, 0x0E, 0x30, 0xC1, 0xF8, 0xFF, 0x1C, - 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0xE7, 0xF1, 0xC0, 0x70, 0x1C, 0x07, 0x03, - 0xE0, 0x0F, 0x83, 0x9C, 0x70, 0xE6, 0x06, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, - 0x07, 0xE0, 0x76, 0x06, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0x78, 0x03, 0xE0, - 0xFF, 0x07, 0x38, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x38, 0x7E, 0x07, 0x70, - 0x77, 0x87, 0x3C, 0x71, 0xEF, 0x8F, 0x39, 0x47, 0xC1, 0xC0, 0xF0, 0x7C, - 0x3E, 0x0F, 0x83, 0xC3, 0xC6, 0xBC, 0xFF, 0xFC, 0xE3, 0x8E, 0x10, 0xE0, - 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xF0, - 0xF8, 0xEE, 0x09, 0xC1, 0x38, 0x27, 0x04, 0xE0, 0x9C, 0x13, 0x82, 0x70, - 0x4E, 0x08, 0xE2, 0x0F, 0x80, 0xFC, 0x7B, 0xC1, 0x0E, 0x08, 0x70, 0x81, - 0xC4, 0x0E, 0x20, 0x7A, 0x01, 0xD0, 0x0E, 0x80, 0x38, 0x01, 0xC0, 0x04, - 0x00, 0x20, 0x00, 0xFD, 0xFB, 0xDC, 0x38, 0x43, 0x87, 0x10, 0xE1, 0xC4, - 0x38, 0xF2, 0x07, 0x2E, 0x81, 0xD3, 0xA0, 0x34, 0x70, 0x0E, 0x1C, 0x03, - 0x87, 0x00, 0x60, 0x80, 0x10, 0x20, 0xFE, 0xF3, 0xC3, 0x0F, 0x10, 0x39, - 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x01, 0x70, 0x09, 0xC0, 0x8F, 0x08, 0x3D, - 0xF3, 0xF0, 0xFC, 0x7B, 0xC1, 0x8E, 0x08, 0x38, 0x81, 0xE8, 0x07, 0x40, - 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x1F, 0x00, 0xFF, 0xD8, - 0x72, 0x1E, 0x43, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xC0, 0x38, 0x2E, 0x0F, - 0x83, 0x7F, 0xE0, 0xFC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF0, 0xC1, - 0x06, 0x18, 0x20, 0xC3, 0x04, 0x18, 0x60, 0x83, 0x0C, 0xF3, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x33, 0xF0, 0x18, 0x1C, 0x34, 0x26, 0x62, 0x43, 0xC1, - 0xFF, 0x80, 0xC6, 0x30, 0x7C, 0x63, 0xB1, 0xC0, 0xE1, 0xF3, 0x3B, 0x9D, - 0xCE, 0xFF, 0x80, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0x77, 0x1D, - 0xC7, 0x71, 0xDC, 0x77, 0x39, 0x3C, 0x3C, 0xED, 0x9F, 0x0E, 0x1C, 0x38, - 0x39, 0x3C, 0x07, 0x80, 0xE0, 0x38, 0xEE, 0x77, 0xB8, 0xEE, 0x3B, 0x8E, - 0xE3, 0xB8, 0xE7, 0x78, 0xEF, 0x3C, 0x66, 0xE6, 0xFE, 0xE0, 0xE0, 0xE0, - 0x72, 0x3C, 0x3E, 0xED, 0xC7, 0xC7, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC7, - 0xC0, 0x31, 0xDF, 0xBF, 0x7E, 0xE7, 0x90, 0x60, 0xFC, 0xFE, 0x0C, 0x17, - 0xC0, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0xE7, 0x39, 0xCE, 0x73, - 0x9C, 0xE7, 0x3B, 0xFF, 0x73, 0x9D, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, - 0x1C, 0x71, 0xCF, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x7D, 0xBE, - 0xF0, 0x1C, 0x07, 0x01, 0xCE, 0x71, 0x1C, 0x87, 0x41, 0xF8, 0x77, 0x1C, - 0xE7, 0x1B, 0xEF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0xF7, - 0x38, 0xF7, 0xB9, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, - 0x39, 0xCE, 0xFF, 0xFE, 0xF7, 0x1E, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, - 0x39, 0xCE, 0xFF, 0xC0, 0x3E, 0x31, 0xB8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8E, - 0xC6, 0x3E, 0x00, 0xF7, 0x1E, 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0x77, 0x1D, - 0xCE, 0x7F, 0x1C, 0x07, 0x01, 0xC0, 0xF8, 0x00, 0x3C, 0x9C, 0xEE, 0x3B, - 0x8E, 0xE3, 0xB8, 0xEE, 0x39, 0xCE, 0x3F, 0x80, 0xE0, 0x38, 0x0E, 0x07, - 0xC0, 0xF7, 0x7B, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xF8, 0x7E, 0x73, - 0xC7, 0x8E, 0x39, 0xB0, 0x10, 0xCF, 0x9C, 0x71, 0xC7, 0x1C, 0x71, 0xD3, - 0x80, 0xF7, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x3F, - 0xC0, 0xFB, 0xB8, 0x8C, 0x87, 0x43, 0xC0, 0xE0, 0x70, 0x10, 0x08, 0x00, - 0xF7, 0xB6, 0x31, 0x73, 0xA3, 0x3A, 0x3D, 0xA3, 0xDC, 0x18, 0xC1, 0x88, - 0x10, 0x80, 0xFB, 0xB8, 0x8E, 0x83, 0x81, 0xC0, 0xF0, 0x98, 0xCE, 0xEF, - 0x80, 0xF7, 0x62, 0x72, 0x34, 0x34, 0x3C, 0x18, 0x18, 0x10, 0x10, 0x10, - 0xE0, 0xE0, 0xFF, 0x1C, 0x70, 0xE3, 0x87, 0x1C, 0x71, 0xFE, 0x19, 0x8C, - 0x63, 0x18, 0xCC, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF8, 0xC3, 0x18, - 0xC6, 0x31, 0x86, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xF0, 0x8E }; - -const GFXglyph FreeSerifBold9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 3, 12, 6, 1, -11 }, // 0x21 '!' - { 5, 6, 5, 10, 2, -11 }, // 0x22 '"' - { 9, 9, 13, 9, 0, -12 }, // 0x23 '#' - { 24, 8, 14, 9, 1, -12 }, // 0x24 '$' - { 38, 14, 12, 18, 2, -11 }, // 0x25 '%' - { 59, 13, 12, 15, 1, -11 }, // 0x26 '&' - { 79, 2, 5, 5, 1, -11 }, // 0x27 ''' - { 81, 4, 15, 6, 1, -11 }, // 0x28 '(' - { 89, 4, 15, 6, 1, -11 }, // 0x29 ')' - { 97, 7, 7, 9, 2, -11 }, // 0x2A '*' - { 104, 9, 9, 12, 1, -8 }, // 0x2B '+' - { 115, 3, 6, 4, 1, -2 }, // 0x2C ',' - { 118, 4, 2, 6, 1, -4 }, // 0x2D '-' - { 119, 3, 3, 4, 1, -2 }, // 0x2E '.' - { 121, 6, 13, 5, 0, -11 }, // 0x2F '/' - { 131, 9, 12, 9, 0, -11 }, // 0x30 '0' - { 145, 6, 12, 9, 1, -11 }, // 0x31 '1' - { 154, 9, 12, 9, 0, -11 }, // 0x32 '2' - { 168, 8, 12, 9, 0, -11 }, // 0x33 '3' - { 180, 8, 12, 9, 1, -11 }, // 0x34 '4' - { 192, 8, 12, 9, 1, -11 }, // 0x35 '5' - { 204, 8, 12, 9, 1, -11 }, // 0x36 '6' - { 216, 9, 12, 9, 0, -11 }, // 0x37 '7' - { 230, 8, 12, 9, 1, -11 }, // 0x38 '8' - { 242, 9, 12, 9, 0, -11 }, // 0x39 '9' - { 256, 3, 9, 6, 1, -8 }, // 0x3A ':' - { 260, 3, 12, 6, 2, -8 }, // 0x3B ';' - { 265, 10, 10, 12, 1, -9 }, // 0x3C '<' - { 278, 10, 5, 12, 1, -6 }, // 0x3D '=' - { 285, 10, 10, 12, 1, -8 }, // 0x3E '>' - { 298, 7, 12, 9, 1, -11 }, // 0x3F '?' - { 309, 13, 12, 17, 2, -11 }, // 0x40 '@' - { 329, 13, 12, 13, 0, -11 }, // 0x41 'A' - { 349, 11, 12, 12, 0, -11 }, // 0x42 'B' - { 366, 11, 12, 13, 1, -11 }, // 0x43 'C' - { 383, 11, 12, 13, 1, -11 }, // 0x44 'D' - { 400, 11, 12, 12, 1, -11 }, // 0x45 'E' - { 417, 10, 12, 11, 1, -11 }, // 0x46 'F' - { 432, 12, 12, 14, 1, -11 }, // 0x47 'G' - { 450, 12, 12, 14, 1, -11 }, // 0x48 'H' - { 468, 5, 12, 7, 1, -11 }, // 0x49 'I' - { 476, 8, 14, 9, 0, -11 }, // 0x4A 'J' - { 490, 13, 12, 14, 1, -11 }, // 0x4B 'K' - { 510, 11, 12, 12, 1, -11 }, // 0x4C 'L' - { 527, 16, 12, 17, 0, -11 }, // 0x4D 'M' - { 551, 11, 12, 13, 1, -11 }, // 0x4E 'N' - { 568, 12, 12, 14, 1, -11 }, // 0x4F 'O' - { 586, 10, 12, 11, 1, -11 }, // 0x50 'P' - { 601, 12, 15, 14, 1, -11 }, // 0x51 'Q' - { 624, 12, 12, 13, 1, -11 }, // 0x52 'R' - { 642, 8, 12, 10, 1, -11 }, // 0x53 'S' - { 654, 12, 12, 12, 0, -11 }, // 0x54 'T' - { 672, 11, 12, 13, 1, -11 }, // 0x55 'U' - { 689, 13, 13, 13, 0, -11 }, // 0x56 'V' - { 711, 18, 12, 18, 0, -11 }, // 0x57 'W' - { 738, 13, 12, 13, 0, -11 }, // 0x58 'X' - { 758, 13, 12, 13, 0, -11 }, // 0x59 'Y' - { 778, 11, 12, 12, 1, -11 }, // 0x5A 'Z' - { 795, 4, 15, 6, 1, -11 }, // 0x5B '[' - { 803, 6, 13, 5, 0, -11 }, // 0x5C '\' - { 813, 4, 15, 6, 1, -11 }, // 0x5D ']' - { 821, 8, 7, 10, 1, -11 }, // 0x5E '^' - { 828, 9, 1, 9, 0, 3 }, // 0x5F '_' - { 830, 4, 3, 6, 0, -12 }, // 0x60 '`' - { 832, 9, 9, 9, 0, -8 }, // 0x61 'a' - { 843, 10, 12, 10, 0, -11 }, // 0x62 'b' - { 858, 7, 9, 8, 0, -8 }, // 0x63 'c' - { 866, 10, 12, 10, 0, -11 }, // 0x64 'd' - { 881, 8, 9, 8, 0, -8 }, // 0x65 'e' - { 890, 7, 12, 7, 0, -11 }, // 0x66 'f' - { 901, 7, 13, 9, 1, -8 }, // 0x67 'g' - { 913, 10, 12, 10, 0, -11 }, // 0x68 'h' - { 928, 5, 12, 5, 0, -11 }, // 0x69 'i' - { 936, 6, 16, 7, 0, -11 }, // 0x6A 'j' - { 948, 10, 12, 10, 0, -11 }, // 0x6B 'k' - { 963, 5, 12, 5, 0, -11 }, // 0x6C 'l' - { 971, 15, 9, 15, 0, -8 }, // 0x6D 'm' - { 988, 10, 9, 10, 0, -8 }, // 0x6E 'n' - { 1000, 9, 9, 9, 0, -8 }, // 0x6F 'o' - { 1011, 10, 13, 10, 0, -8 }, // 0x70 'p' - { 1028, 10, 13, 10, 0, -8 }, // 0x71 'q' - { 1045, 8, 9, 8, 0, -8 }, // 0x72 'r' - { 1054, 5, 9, 7, 1, -8 }, // 0x73 's' - { 1060, 6, 11, 6, 0, -10 }, // 0x74 't' - { 1069, 10, 9, 10, 0, -8 }, // 0x75 'u' - { 1081, 9, 9, 9, 0, -8 }, // 0x76 'v' - { 1092, 12, 9, 13, 0, -8 }, // 0x77 'w' - { 1106, 9, 9, 9, 0, -8 }, // 0x78 'x' - { 1117, 8, 13, 9, 0, -8 }, // 0x79 'y' - { 1130, 7, 9, 8, 1, -8 }, // 0x7A 'z' - { 1138, 5, 16, 7, 0, -12 }, // 0x7B '{' - { 1148, 1, 13, 4, 1, -11 }, // 0x7C '|' - { 1150, 5, 16, 7, 2, -12 }, // 0x7D '}' - { 1160, 8, 2, 9, 1, -4 } }; // 0x7E '~' - -const GFXfont FreeSerifBold9pt7b PROGMEM = { - (uint8_t *)FreeSerifBold9pt7bBitmaps, - (GFXglyph *)FreeSerifBold9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1834 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h deleted file mode 100644 index 1f674e9..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic12pt7b.h +++ /dev/null @@ -1,292 +0,0 @@ -const uint8_t FreeSerifBoldItalic12pt7bBitmaps[] PROGMEM = { - 0x07, 0x07, 0x07, 0x0F, 0x0E, 0x0E, 0x0C, 0x0C, 0x08, 0x18, 0x10, 0x00, - 0x00, 0x60, 0xF0, 0xF0, 0x60, 0x61, 0xF1, 0xF8, 0xF8, 0x6C, 0x34, 0x12, - 0x08, 0x01, 0x8C, 0x06, 0x60, 0x31, 0x80, 0xCC, 0x06, 0x30, 0xFF, 0xF0, - 0xC6, 0x03, 0x18, 0x0C, 0xC0, 0x63, 0x0F, 0xFF, 0x0C, 0x60, 0x33, 0x01, - 0x8C, 0x06, 0x30, 0x19, 0x80, 0x00, 0x80, 0x08, 0x07, 0xC1, 0x96, 0x31, - 0x33, 0x13, 0x3A, 0x23, 0xE0, 0x1E, 0x01, 0xF0, 0x07, 0x80, 0x7C, 0x05, - 0xC4, 0xCC, 0x48, 0xCC, 0x8C, 0xF8, 0x83, 0x30, 0x1E, 0x01, 0x00, 0x00, - 0x02, 0x07, 0x83, 0x03, 0x9F, 0x81, 0xC4, 0x20, 0x71, 0x10, 0x3C, 0x44, - 0x0E, 0x22, 0x03, 0x88, 0x80, 0xE4, 0x40, 0x1E, 0x31, 0xE0, 0x08, 0xE4, - 0x06, 0x71, 0x01, 0x3C, 0x40, 0x8E, 0x10, 0x23, 0x88, 0x10, 0xE2, 0x04, - 0x39, 0x02, 0x07, 0x80, 0x00, 0xF0, 0x01, 0x98, 0x03, 0x98, 0x03, 0x98, - 0x03, 0xB0, 0x03, 0xE0, 0x03, 0x80, 0x0F, 0x9F, 0x19, 0xCE, 0x31, 0xCC, - 0x61, 0xC8, 0xE1, 0xC8, 0xE0, 0xF0, 0xE0, 0xE0, 0xF0, 0x70, 0x78, 0x79, - 0x3F, 0xBE, 0x7F, 0xED, 0x20, 0x02, 0x08, 0x20, 0xC3, 0x0E, 0x18, 0x30, - 0xE1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x20, 0x40, 0x80, 0x81, 0x01, 0x00, - 0x10, 0x10, 0x20, 0x20, 0x40, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x70, 0xE1, - 0x83, 0x0C, 0x18, 0x61, 0x86, 0x00, 0x00, 0x0C, 0x33, 0x6C, 0x9B, 0xAE, - 0x1C, 0x3F, 0xEC, 0x9B, 0x36, 0x0C, 0x02, 0x00, 0x06, 0x00, 0x60, 0x06, - 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, - 0x00, 0x60, 0x31, 0xCE, 0x31, 0x08, 0x98, 0xFF, 0xFF, 0xC0, 0x6F, 0xF6, - 0x01, 0x80, 0x60, 0x30, 0x0C, 0x07, 0x01, 0x80, 0xE0, 0x30, 0x1C, 0x06, - 0x01, 0x80, 0xC0, 0x30, 0x18, 0x06, 0x03, 0x00, 0x03, 0x81, 0xC8, 0x71, - 0x1C, 0x33, 0x86, 0xE1, 0xDC, 0x3B, 0x87, 0xE0, 0xFC, 0x3B, 0x87, 0x70, - 0xEC, 0x39, 0x87, 0x31, 0xC2, 0x30, 0x3C, 0x00, 0x01, 0xC3, 0xF0, 0x38, - 0x0E, 0x03, 0x81, 0xE0, 0x70, 0x1C, 0x0F, 0x03, 0x80, 0xE0, 0x38, 0x1E, - 0x07, 0x01, 0xC0, 0xF0, 0xFF, 0x80, 0x07, 0x81, 0xF8, 0x47, 0x90, 0x70, - 0x0E, 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, 0x80, - 0x40, 0x8F, 0xF3, 0xFC, 0xFF, 0x80, 0x07, 0xC3, 0x3C, 0x03, 0x80, 0x70, - 0x0C, 0x03, 0x81, 0xC0, 0xFC, 0x07, 0xC0, 0x78, 0x07, 0x00, 0xE0, 0x1C, - 0x03, 0x30, 0xE7, 0x10, 0x7C, 0x00, 0x00, 0x10, 0x01, 0x80, 0x3C, 0x03, - 0xE0, 0x2E, 0x02, 0x70, 0x23, 0x82, 0x38, 0x21, 0xC2, 0x0E, 0x1F, 0xF9, - 0xFF, 0xC0, 0x38, 0x01, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0xF0, 0x7E, 0x0F, - 0xE0, 0x80, 0x08, 0x01, 0xE0, 0x1F, 0x83, 0xF8, 0x03, 0xC0, 0x1C, 0x00, - 0xC0, 0x0C, 0x00, 0xC0, 0x08, 0x61, 0x8F, 0x30, 0x7C, 0x00, 0x00, 0x60, - 0x78, 0x1C, 0x0F, 0x01, 0xC0, 0x70, 0x1F, 0xC3, 0x8C, 0xE1, 0xDC, 0x3B, - 0x87, 0x61, 0xEC, 0x3D, 0x87, 0x31, 0xE2, 0x38, 0x3C, 0x00, 0x3F, 0xEF, - 0xF9, 0xFF, 0x60, 0xC8, 0x18, 0x06, 0x00, 0x80, 0x30, 0x0C, 0x01, 0x80, - 0x60, 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x00, 0x03, 0x81, 0x88, 0x61, - 0x8C, 0x31, 0x86, 0x38, 0xC7, 0xB0, 0x78, 0x0F, 0x86, 0x71, 0x87, 0x60, - 0x6C, 0x0D, 0x81, 0xB0, 0x63, 0x18, 0x3E, 0x00, 0x07, 0x81, 0xC8, 0x71, - 0x8E, 0x33, 0xC6, 0x70, 0xCE, 0x39, 0xC7, 0x38, 0xE3, 0x38, 0x3F, 0x01, - 0xC0, 0x38, 0x0E, 0x03, 0x81, 0xC0, 0xE0, 0x00, 0x0C, 0x3C, 0x78, 0x60, - 0x00, 0x00, 0x00, 0x61, 0xE3, 0xC3, 0x00, 0x0E, 0x0F, 0x0F, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x18, 0x10, 0x20, 0x40, 0x00, 0x10, - 0x07, 0x01, 0xF0, 0x7C, 0x3F, 0x0F, 0x80, 0xE0, 0x0F, 0x80, 0x3E, 0x00, - 0xF8, 0x03, 0xE0, 0x07, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0x80, 0x07, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x7C, 0x00, - 0xF8, 0x01, 0xE0, 0x1F, 0x07, 0xE0, 0xF8, 0x1F, 0x01, 0xE0, 0x0C, 0x00, - 0x00, 0x1E, 0x19, 0x8C, 0xE6, 0x70, 0x38, 0x38, 0x1C, 0x18, 0x18, 0x08, - 0x08, 0x00, 0x00, 0x03, 0x03, 0xC1, 0xE0, 0x60, 0x00, 0x03, 0xF0, 0x07, - 0x06, 0x06, 0x00, 0x86, 0x0E, 0x66, 0x0D, 0xDB, 0x0C, 0xE7, 0x06, 0x33, - 0x83, 0x31, 0xC3, 0x18, 0xE1, 0x8C, 0x70, 0xCC, 0x4C, 0x66, 0x46, 0x1F, - 0xC1, 0x80, 0x00, 0x30, 0x10, 0x07, 0xF0, 0x00, 0x10, 0x00, 0x30, 0x00, - 0x70, 0x00, 0x70, 0x00, 0xF0, 0x01, 0xF0, 0x01, 0x78, 0x03, 0x78, 0x02, - 0x38, 0x04, 0x38, 0x0C, 0x38, 0x0F, 0xF8, 0x18, 0x3C, 0x30, 0x3C, 0x20, - 0x3C, 0x60, 0x3C, 0xF8, 0x7F, 0x1F, 0xFC, 0x07, 0x9E, 0x07, 0x0F, 0x07, - 0x0F, 0x0F, 0x0F, 0x0F, 0x1E, 0x0E, 0x3C, 0x0F, 0xE0, 0x1E, 0x3C, 0x1E, - 0x1E, 0x1C, 0x1E, 0x3C, 0x1E, 0x3C, 0x1E, 0x3C, 0x3E, 0x38, 0x3C, 0x7C, - 0x78, 0xFF, 0xE0, 0x01, 0xF2, 0x0E, 0x1C, 0x38, 0x18, 0xE0, 0x33, 0xC0, - 0x4F, 0x00, 0x9E, 0x00, 0x7C, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, - 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x1E, 0x04, 0x1E, 0x30, 0x0F, 0x80, 0x1F, - 0xFC, 0x01, 0xE3, 0xC0, 0x70, 0x78, 0x1C, 0x0E, 0x0F, 0x03, 0xC3, 0xC0, - 0xF0, 0xE0, 0x3C, 0x38, 0x0F, 0x1E, 0x03, 0xC7, 0x81, 0xF1, 0xC0, 0x78, - 0xF0, 0x1E, 0x3C, 0x0F, 0x0F, 0x03, 0xC3, 0x81, 0xC1, 0xE1, 0xE0, 0xFF, - 0xE0, 0x00, 0x1F, 0xFF, 0x83, 0xC1, 0xC1, 0xC0, 0x40, 0xE0, 0x20, 0xF0, - 0x00, 0x78, 0xC0, 0x38, 0x40, 0x1F, 0xE0, 0x1E, 0x70, 0x0F, 0x18, 0x07, - 0x08, 0x03, 0x84, 0x03, 0xC0, 0x61, 0xE0, 0x20, 0xE0, 0x30, 0xF8, 0x78, - 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0x07, 0x87, 0x07, 0x02, 0x07, 0x02, 0x0F, - 0x00, 0x0F, 0x18, 0x0E, 0x10, 0x0F, 0xF0, 0x1E, 0x70, 0x1E, 0x30, 0x1C, - 0x20, 0x1C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x7C, 0x00, 0xFE, - 0x00, 0x01, 0xF9, 0x03, 0xC3, 0x83, 0x81, 0xC3, 0x80, 0x43, 0xC0, 0x23, - 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x00, 0xF0, 0x3F, 0xF8, 0x0F, 0x3C, 0x07, - 0x9E, 0x03, 0xCF, 0x01, 0xC3, 0x80, 0xE1, 0xE0, 0xF0, 0x78, 0x70, 0x0F, - 0xE0, 0x00, 0x1F, 0xE7, 0xF0, 0x78, 0x3C, 0x07, 0x83, 0xC0, 0x70, 0x3C, - 0x0F, 0x03, 0x80, 0xF0, 0x78, 0x0E, 0x07, 0x80, 0xE0, 0x70, 0x1F, 0xFF, - 0x01, 0xE0, 0xF0, 0x1C, 0x0F, 0x03, 0xC0, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, - 0xE0, 0x38, 0x1E, 0x07, 0xC3, 0xE0, 0xFE, 0x7F, 0x00, 0x1F, 0xC1, 0xE0, - 0x70, 0x1C, 0x0F, 0x03, 0xC0, 0xE0, 0x38, 0x1E, 0x07, 0x81, 0xC0, 0x70, - 0x3C, 0x0F, 0x03, 0x81, 0xF0, 0xFE, 0x00, 0x01, 0xFC, 0x03, 0xC0, 0x0F, - 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, - 0x00, 0x3C, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x0E, 0x70, 0x3B, 0xC0, 0xCE, - 0x01, 0xF0, 0x00, 0x1F, 0xEF, 0x83, 0xC1, 0x81, 0xC1, 0x80, 0xE1, 0x80, - 0xF1, 0x80, 0x79, 0x00, 0x39, 0x00, 0x1F, 0x80, 0x1F, 0xE0, 0x0F, 0x70, - 0x07, 0x3C, 0x07, 0x8E, 0x03, 0xC7, 0x01, 0xE3, 0xC0, 0xE0, 0xE0, 0xF8, - 0x78, 0xFE, 0xFE, 0x00, 0x1F, 0xE0, 0x0F, 0x00, 0x1C, 0x00, 0x38, 0x00, - 0xF0, 0x01, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, - 0x00, 0xE0, 0x03, 0xC0, 0x27, 0x00, 0xCE, 0x03, 0x3C, 0x1E, 0xFF, 0xFC, - 0x0F, 0x80, 0x7E, 0x0F, 0x00, 0xF0, 0x1E, 0x03, 0xE0, 0x3C, 0x0F, 0x80, - 0xB8, 0x17, 0x01, 0x70, 0x5E, 0x02, 0xF1, 0xBC, 0x05, 0xE2, 0x70, 0x11, - 0xC8, 0xE0, 0x23, 0xB3, 0xC0, 0x47, 0x47, 0x81, 0x0F, 0x8E, 0x02, 0x1E, - 0x1C, 0x04, 0x38, 0x78, 0x08, 0x70, 0xF0, 0x30, 0xC3, 0xE0, 0xF9, 0x8F, - 0xE0, 0x1F, 0x03, 0xE0, 0xF0, 0x38, 0x1E, 0x02, 0x03, 0xE0, 0xC0, 0xBC, - 0x10, 0x13, 0xC2, 0x02, 0x78, 0x40, 0x47, 0x90, 0x10, 0xF2, 0x02, 0x0F, - 0x40, 0x41, 0xE8, 0x18, 0x1E, 0x02, 0x03, 0xC0, 0x40, 0x38, 0x08, 0x06, - 0x03, 0x00, 0x40, 0x10, 0x08, 0x00, 0x01, 0xF8, 0x07, 0x1C, 0x0E, 0x0E, - 0x1E, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x78, 0x0F, 0x78, 0x0F, 0xF8, 0x1F, - 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, 0x70, 0x70, - 0x38, 0xE0, 0x1F, 0x80, 0x1F, 0xFC, 0x07, 0x9E, 0x07, 0x0F, 0x07, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x1E, 0x0E, 0x3C, 0x1F, 0xF0, 0x1E, 0x00, - 0x1C, 0x00, 0x1C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7C, 0x00, - 0xFE, 0x00, 0x01, 0xF8, 0x07, 0x1C, 0x0E, 0x0E, 0x1E, 0x0F, 0x3C, 0x0F, - 0x3C, 0x0F, 0x78, 0x0F, 0x78, 0x1F, 0xF8, 0x1F, 0xF0, 0x1E, 0xF0, 0x1E, - 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x78, 0x70, 0x70, 0x39, 0xC0, 0x0E, 0x00, - 0x08, 0x02, 0x3F, 0x04, 0x7F, 0xF8, 0x83, 0xF0, 0x1F, 0xF8, 0x07, 0x9E, - 0x07, 0x8F, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1E, 0x0E, 0x3C, - 0x1F, 0xF0, 0x1E, 0xF0, 0x1C, 0xF0, 0x3C, 0xF0, 0x3C, 0x78, 0x3C, 0x78, - 0x3C, 0x78, 0x7C, 0x3C, 0xFE, 0x3E, 0x07, 0x91, 0xC7, 0x18, 0x73, 0x82, - 0x38, 0x23, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x01, 0xE0, 0x1E, - 0x40, 0xE4, 0x0E, 0x60, 0xCE, 0x1C, 0x9F, 0x00, 0x7F, 0xFE, 0xE7, 0x9D, - 0x0E, 0x16, 0x3C, 0x20, 0x78, 0x40, 0xE0, 0x01, 0xC0, 0x07, 0x80, 0x0F, - 0x00, 0x1C, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0x80, 0x0F, 0x00, - 0x1E, 0x00, 0xFF, 0x00, 0x7F, 0x1F, 0x3C, 0x0E, 0x38, 0x04, 0x38, 0x0C, - 0x78, 0x08, 0x78, 0x08, 0x70, 0x08, 0x70, 0x10, 0xF0, 0x10, 0xF0, 0x10, - 0xF0, 0x10, 0xF0, 0x20, 0xF0, 0x20, 0xF0, 0x20, 0xF0, 0x40, 0x78, 0xC0, - 0x3F, 0x00, 0xFF, 0x1F, 0x3C, 0x06, 0x3C, 0x04, 0x3C, 0x08, 0x3C, 0x08, - 0x3C, 0x10, 0x1C, 0x20, 0x1C, 0x20, 0x1E, 0x40, 0x1E, 0x80, 0x1E, 0x80, - 0x1F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x08, 0x00, 0xFE, 0x7C, - 0x79, 0xE1, 0xC1, 0x8F, 0x0E, 0x08, 0x78, 0x70, 0x43, 0xC7, 0x84, 0x1E, - 0x3E, 0x20, 0x72, 0xF2, 0x03, 0x97, 0x90, 0x1D, 0x1D, 0x00, 0xE8, 0xE8, - 0x07, 0x87, 0x80, 0x3C, 0x3C, 0x01, 0xC1, 0xC0, 0x0E, 0x0E, 0x00, 0x20, - 0x60, 0x01, 0x02, 0x00, 0x1F, 0xCF, 0x83, 0xC1, 0x81, 0xE1, 0x80, 0x71, - 0x80, 0x39, 0x80, 0x1F, 0x80, 0x07, 0x80, 0x03, 0x80, 0x01, 0xE0, 0x01, - 0xF0, 0x00, 0xB8, 0x00, 0x9C, 0x00, 0x8F, 0x00, 0x83, 0x80, 0xC1, 0xC0, - 0xE0, 0xF0, 0xF9, 0xFE, 0x00, 0xFE, 0x7C, 0xE0, 0x63, 0x81, 0x0F, 0x08, - 0x1C, 0x40, 0x71, 0x01, 0xE8, 0x03, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, - 0x07, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x00, 0xFF, 0x00, 0x1F, - 0xFE, 0x38, 0x78, 0x60, 0xF1, 0x83, 0xC2, 0x0F, 0x00, 0x1E, 0x00, 0x78, - 0x01, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x47, - 0x81, 0x1F, 0x06, 0x3C, 0x3C, 0xFF, 0xF0, 0x07, 0xC1, 0x80, 0xE0, 0x30, - 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x06, 0x03, 0x80, 0xC0, 0x30, 0x0C, - 0x07, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, 0xE0, 0xC3, 0x06, 0x18, 0x61, - 0x83, 0x0C, 0x30, 0xC1, 0x86, 0x18, 0x60, 0xC3, 0x0F, 0x81, 0xC0, 0xE0, - 0x60, 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x81, 0x80, 0xC0, 0x60, - 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x1F, 0x00, 0x0C, 0x07, 0x81, 0xE0, 0xDC, - 0x33, 0x18, 0xC6, 0x1B, 0x06, 0xC0, 0xC0, 0xFF, 0xF0, 0xC7, 0x0C, 0x30, - 0x07, 0x70, 0xCE, 0x1C, 0xE3, 0x8E, 0x70, 0xC7, 0x0C, 0x71, 0xCE, 0x1C, - 0xE1, 0x8E, 0x79, 0xE9, 0xA7, 0x1C, 0x02, 0x07, 0xC0, 0x38, 0x06, 0x01, - 0xC0, 0x38, 0x06, 0x71, 0xF7, 0x38, 0xE7, 0x1C, 0xC3, 0xB8, 0x77, 0x1C, - 0xE3, 0xB8, 0xE7, 0x18, 0xE6, 0x0F, 0x80, 0x07, 0x0C, 0xCE, 0x66, 0x07, - 0x03, 0x83, 0x81, 0xC0, 0xE0, 0x70, 0xBC, 0x87, 0x80, 0x00, 0x08, 0x03, - 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x77, 0x03, 0x3C, 0x18, - 0xE0, 0xE3, 0x87, 0x0E, 0x1C, 0x70, 0x71, 0xC3, 0x87, 0x0E, 0x3C, 0x38, - 0xE8, 0xE5, 0xA1, 0xE7, 0x00, 0x07, 0x0C, 0xCE, 0x66, 0x37, 0x33, 0xBB, - 0xB1, 0xE0, 0xE0, 0x70, 0xB8, 0x87, 0x80, 0x00, 0x38, 0x01, 0xB0, 0x0C, - 0xC0, 0x30, 0x01, 0xC0, 0x07, 0x00, 0x7E, 0x00, 0xE0, 0x03, 0x80, 0x0E, - 0x00, 0x30, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x03, 0x80, 0x0E, - 0x00, 0x38, 0x00, 0xC0, 0x33, 0x00, 0xD8, 0x01, 0xC0, 0x00, 0x03, 0x80, - 0x73, 0xC7, 0x1C, 0x38, 0xE1, 0xCF, 0x06, 0x70, 0x1E, 0x01, 0x00, 0x1C, - 0x00, 0xF8, 0x07, 0xF0, 0xC7, 0x8C, 0x0C, 0x60, 0x63, 0x86, 0x07, 0xE0, - 0x01, 0x00, 0xF8, 0x01, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x31, 0xC3, - 0xBE, 0x1E, 0x70, 0xE3, 0x8F, 0x38, 0x71, 0xC3, 0x8E, 0x1C, 0xE1, 0xC7, - 0x0E, 0x3A, 0x71, 0xD3, 0x0F, 0x00, 0x1C, 0x71, 0xC0, 0x00, 0x6F, 0x8E, - 0x31, 0xC7, 0x18, 0x63, 0x8E, 0xBC, 0xE0, 0x00, 0xE0, 0x1C, 0x03, 0x80, - 0x00, 0x00, 0x0F, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x70, 0x0E, 0x01, 0xC0, - 0x38, 0x0E, 0x01, 0xC0, 0x38, 0x06, 0x01, 0xC3, 0x38, 0x6E, 0x07, 0x80, - 0x01, 0x00, 0xF8, 0x01, 0xC0, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x33, 0xE3, - 0x8C, 0x1C, 0xC0, 0xE4, 0x06, 0x40, 0x7E, 0x03, 0xF0, 0x1D, 0x81, 0xCE, - 0x0E, 0x72, 0x71, 0xA3, 0x8E, 0x00, 0x06, 0x7C, 0x70, 0xE1, 0xC3, 0x0E, - 0x1C, 0x38, 0x61, 0xC3, 0x87, 0x0C, 0x38, 0x72, 0xE9, 0xE0, 0x3C, 0x73, - 0xC7, 0x7D, 0x71, 0xE7, 0x9C, 0xF1, 0xCE, 0x3C, 0xF3, 0x8E, 0x39, 0xC3, - 0x8E, 0x71, 0xC3, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xD7, 0x1C, 0x7B, 0x8E, - 0x1C, 0x3C, 0xF1, 0xD7, 0x1E, 0x73, 0xCE, 0x3C, 0xE3, 0x8E, 0x39, 0xC7, - 0x9C, 0x71, 0xC7, 0x1D, 0x71, 0xEE, 0x1C, 0x0F, 0x06, 0x63, 0x9D, 0xC7, - 0x71, 0xF8, 0x7E, 0x3F, 0x8E, 0xE3, 0xB9, 0xC6, 0x60, 0xF0, 0x0F, 0x38, - 0x1F, 0x70, 0x71, 0xC1, 0xC7, 0x0E, 0x1C, 0x38, 0xF0, 0xE3, 0x83, 0x8E, - 0x1C, 0x70, 0x71, 0xC1, 0xCE, 0x07, 0xE0, 0x38, 0x00, 0xE0, 0x03, 0x80, - 0x3F, 0x00, 0x07, 0x70, 0xCE, 0x18, 0xE3, 0x8E, 0x70, 0xE7, 0x1C, 0xF1, - 0xCE, 0x1C, 0xE3, 0x8E, 0x38, 0xE7, 0x87, 0xB0, 0x07, 0x00, 0x70, 0x0F, - 0x03, 0xF8, 0x0D, 0xDF, 0x71, 0xAC, 0xF0, 0x38, 0x0E, 0x03, 0x81, 0xC0, - 0x70, 0x1C, 0x0E, 0x00, 0x1D, 0x99, 0x8C, 0x46, 0x23, 0x80, 0xE0, 0x70, - 0x1C, 0x06, 0x23, 0x19, 0x17, 0x00, 0x0C, 0x10, 0xE3, 0xF3, 0x86, 0x1C, - 0x38, 0x71, 0xC3, 0x87, 0x0E, 0x9E, 0x38, 0x00, 0xF8, 0xE3, 0x8E, 0x38, - 0xC3, 0x9C, 0x71, 0xC7, 0x18, 0x71, 0x87, 0x38, 0xE3, 0x8E, 0xFA, 0xF3, - 0xAE, 0x3C, 0xF0, 0xDC, 0x33, 0x0C, 0xC2, 0x31, 0x8C, 0xC3, 0x60, 0xF0, - 0x38, 0x0C, 0x02, 0x00, 0xE0, 0x86, 0xE3, 0x0C, 0xC6, 0x19, 0x9C, 0x23, - 0x78, 0xC7, 0xF9, 0x0E, 0x74, 0x1C, 0xF0, 0x31, 0xC0, 0x43, 0x00, 0x84, - 0x00, 0x0E, 0x31, 0xF3, 0x83, 0xA0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, - 0x00, 0xE0, 0x0B, 0x02, 0x5D, 0x3C, 0xF1, 0xC3, 0x00, 0x04, 0x67, 0x8C, - 0x79, 0x87, 0x10, 0xE2, 0x1C, 0x81, 0x90, 0x3A, 0x07, 0x80, 0xF0, 0x1C, - 0x03, 0x00, 0x40, 0x08, 0x32, 0x07, 0x80, 0x3F, 0xCF, 0xE6, 0x30, 0x08, - 0x04, 0x02, 0x01, 0x00, 0xC0, 0x30, 0x1E, 0x0F, 0x98, 0x76, 0x07, 0x00, - 0x01, 0xE0, 0x70, 0x1C, 0x03, 0x80, 0x60, 0x1C, 0x03, 0x80, 0x60, 0x0C, - 0x03, 0x80, 0xF0, 0x3C, 0x07, 0x00, 0x40, 0x0C, 0x01, 0x80, 0x70, 0x0E, - 0x01, 0xC0, 0x30, 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xE0, - 0x18, 0x06, 0x01, 0x80, 0xE0, 0x38, 0x0C, 0x03, 0x00, 0xC0, 0x10, 0x1F, - 0x07, 0x03, 0x80, 0xE0, 0x30, 0x0C, 0x07, 0x01, 0x80, 0xE0, 0xE0, 0x00, - 0x38, 0x0F, 0xCD, 0x1F, 0x80, 0xE0 }; - -const GFXglyph FreeSerifBoldItalic12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 8, 17, 9, 2, -15 }, // 0x21 '!' - { 17, 9, 7, 13, 4, -15 }, // 0x22 '"' - { 25, 14, 16, 12, -1, -15 }, // 0x23 '#' - { 53, 12, 20, 12, 0, -17 }, // 0x24 '$' - { 83, 18, 18, 20, 1, -16 }, // 0x25 '%' - { 124, 16, 17, 19, 0, -15 }, // 0x26 '&' - { 158, 3, 7, 7, 3, -15 }, // 0x27 ''' - { 161, 7, 21, 8, 1, -15 }, // 0x28 '(' - { 180, 7, 21, 8, -1, -15 }, // 0x29 ')' - { 199, 10, 10, 12, 1, -15 }, // 0x2A '*' - { 212, 12, 12, 14, 1, -11 }, // 0x2B '+' - { 230, 5, 8, 6, -2, -3 }, // 0x2C ',' - { 235, 6, 3, 8, 0, -6 }, // 0x2D '-' - { 238, 4, 4, 6, 0, -2 }, // 0x2E '.' - { 240, 10, 16, 8, 0, -15 }, // 0x2F '/' - { 260, 11, 17, 12, 0, -15 }, // 0x30 '0' - { 284, 10, 17, 12, 0, -15 }, // 0x31 '1' - { 306, 11, 17, 12, 0, -15 }, // 0x32 '2' - { 330, 11, 17, 12, 0, -15 }, // 0x33 '3' - { 354, 13, 16, 12, 0, -15 }, // 0x34 '4' - { 380, 12, 17, 12, 0, -15 }, // 0x35 '5' - { 406, 11, 17, 12, 1, -15 }, // 0x36 '6' - { 430, 11, 16, 12, 2, -15 }, // 0x37 '7' - { 452, 11, 17, 12, 0, -15 }, // 0x38 '8' - { 476, 11, 17, 12, 0, -15 }, // 0x39 '9' - { 500, 7, 12, 6, 0, -10 }, // 0x3A ':' - { 511, 8, 15, 6, -1, -10 }, // 0x3B ';' - { 526, 12, 13, 14, 1, -12 }, // 0x3C '<' - { 546, 12, 6, 14, 2, -8 }, // 0x3D '=' - { 555, 13, 13, 14, 1, -12 }, // 0x3E '>' - { 577, 9, 17, 12, 2, -15 }, // 0x3F '?' - { 597, 17, 16, 20, 1, -15 }, // 0x40 '@' - { 631, 16, 17, 17, 0, -15 }, // 0x41 'A' - { 665, 16, 17, 15, 0, -15 }, // 0x42 'B' - { 699, 15, 17, 15, 1, -15 }, // 0x43 'C' - { 731, 18, 17, 17, 0, -15 }, // 0x44 'D' - { 770, 17, 17, 15, 0, -15 }, // 0x45 'E' - { 807, 16, 17, 15, 0, -15 }, // 0x46 'F' - { 841, 17, 17, 17, 1, -15 }, // 0x47 'G' - { 878, 20, 17, 18, 0, -15 }, // 0x48 'H' - { 921, 10, 17, 9, 0, -15 }, // 0x49 'I' - { 943, 14, 18, 12, 0, -15 }, // 0x4A 'J' - { 975, 17, 17, 16, 0, -15 }, // 0x4B 'K' - { 1012, 15, 17, 15, 0, -15 }, // 0x4C 'L' - { 1044, 23, 17, 21, 0, -15 }, // 0x4D 'M' - { 1093, 19, 17, 17, 0, -15 }, // 0x4E 'N' - { 1134, 16, 17, 16, 1, -15 }, // 0x4F 'O' - { 1168, 16, 17, 14, 0, -15 }, // 0x50 'P' - { 1202, 16, 21, 16, 1, -15 }, // 0x51 'Q' - { 1244, 16, 17, 16, 0, -15 }, // 0x52 'R' - { 1278, 12, 17, 12, 0, -15 }, // 0x53 'S' - { 1304, 15, 17, 14, 2, -15 }, // 0x54 'T' - { 1336, 16, 17, 17, 3, -15 }, // 0x55 'U' - { 1370, 16, 16, 17, 3, -15 }, // 0x56 'V' - { 1402, 21, 16, 22, 3, -15 }, // 0x57 'W' - { 1444, 17, 17, 17, 0, -15 }, // 0x58 'X' - { 1481, 14, 17, 15, 3, -15 }, // 0x59 'Y' - { 1511, 15, 17, 13, 0, -15 }, // 0x5A 'Z' - { 1543, 10, 20, 8, -1, -15 }, // 0x5B '[' - { 1568, 6, 16, 10, 3, -15 }, // 0x5C '\' - { 1580, 9, 20, 8, -1, -15 }, // 0x5D ']' - { 1603, 10, 9, 14, 2, -15 }, // 0x5E '^' - { 1615, 12, 1, 12, 0, 4 }, // 0x5F '_' - { 1617, 5, 4, 8, 2, -15 }, // 0x60 '`' - { 1620, 12, 12, 12, 0, -10 }, // 0x61 'a' - { 1638, 11, 18, 12, 1, -16 }, // 0x62 'b' - { 1663, 9, 12, 10, 1, -10 }, // 0x63 'c' - { 1677, 14, 18, 12, 0, -16 }, // 0x64 'd' - { 1709, 9, 12, 10, 1, -10 }, // 0x65 'e' - { 1723, 14, 22, 12, -2, -16 }, // 0x66 'f' - { 1762, 13, 16, 12, -1, -10 }, // 0x67 'g' - { 1788, 13, 18, 13, 0, -16 }, // 0x68 'h' - { 1818, 6, 17, 7, 1, -15 }, // 0x69 'i' - { 1831, 11, 21, 8, -2, -15 }, // 0x6A 'j' - { 1860, 13, 18, 12, 0, -16 }, // 0x6B 'k' - { 1890, 7, 18, 7, 1, -16 }, // 0x6C 'l' - { 1906, 18, 12, 18, 0, -10 }, // 0x6D 'm' - { 1933, 12, 12, 13, 0, -10 }, // 0x6E 'n' - { 1951, 10, 12, 11, 1, -10 }, // 0x6F 'o' - { 1966, 14, 16, 12, -2, -10 }, // 0x70 'p' - { 1994, 12, 16, 12, 0, -10 }, // 0x71 'q' - { 2018, 10, 11, 10, 0, -10 }, // 0x72 'r' - { 2032, 9, 12, 9, 0, -10 }, // 0x73 's' - { 2046, 7, 15, 7, 1, -13 }, // 0x74 't' - { 2060, 12, 12, 13, 1, -10 }, // 0x75 'u' - { 2078, 10, 11, 11, 1, -10 }, // 0x76 'v' - { 2092, 15, 11, 16, 1, -10 }, // 0x77 'w' - { 2113, 13, 12, 11, -1, -10 }, // 0x78 'x' - { 2133, 11, 16, 10, -1, -10 }, // 0x79 'y' - { 2155, 10, 13, 10, 0, -10 }, // 0x7A 'z' - { 2172, 11, 21, 8, 0, -16 }, // 0x7B '{' - { 2201, 2, 16, 6, 3, -15 }, // 0x7C '|' - { 2205, 10, 21, 8, -3, -16 }, // 0x7D '}' - { 2232, 11, 4, 14, 1, -7 } }; // 0x7E '~' - -const GFXfont FreeSerifBoldItalic12pt7b PROGMEM = { - (uint8_t *)FreeSerifBoldItalic12pt7bBitmaps, - (GFXglyph *)FreeSerifBoldItalic12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2910 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h deleted file mode 100644 index e24eea6..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic18pt7b.h +++ /dev/null @@ -1,500 +0,0 @@ -const uint8_t FreeSerifBoldItalic18pt7bBitmaps[] PROGMEM = { - 0x01, 0xC0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x3C, 0x07, - 0x80, 0xE0, 0x1C, 0x03, 0x00, 0x60, 0x0C, 0x03, 0x00, 0x60, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x81, 0xF8, 0x3F, 0x07, 0xE0, 0x78, 0x00, 0x38, - 0x1D, 0xE0, 0xF7, 0x83, 0xDC, 0x0E, 0x70, 0x39, 0xC0, 0xE6, 0x03, 0x18, - 0x0C, 0x40, 0x23, 0x01, 0x80, 0x00, 0x38, 0x60, 0x07, 0x0E, 0x00, 0x70, - 0xC0, 0x06, 0x1C, 0x00, 0xE1, 0xC0, 0x0E, 0x38, 0x01, 0xC3, 0x81, 0xFF, - 0xFF, 0x1F, 0xFF, 0xE1, 0xFF, 0xFE, 0x03, 0x86, 0x00, 0x30, 0xE0, 0x07, - 0x0E, 0x00, 0x71, 0xC0, 0x0E, 0x1C, 0x0F, 0xFF, 0xF8, 0xFF, 0xFF, 0x0F, - 0xFF, 0xF0, 0x1C, 0x30, 0x01, 0x87, 0x00, 0x38, 0x70, 0x03, 0x0E, 0x00, - 0x70, 0xE0, 0x07, 0x0C, 0x00, 0xE1, 0xC0, 0x00, 0x00, 0x08, 0x00, 0x0C, - 0x00, 0x7E, 0x00, 0xFF, 0xC0, 0xF3, 0x70, 0x71, 0x9C, 0x70, 0xC6, 0x38, - 0x43, 0x1C, 0x61, 0x0F, 0x30, 0x87, 0xD8, 0x03, 0xF8, 0x00, 0xFE, 0x00, - 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xDF, 0x10, 0x47, - 0x88, 0x63, 0xCC, 0x31, 0xE6, 0x10, 0xF3, 0x98, 0x71, 0xCC, 0x78, 0x7E, - 0x78, 0x07, 0xF8, 0x03, 0xF0, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x03, 0xC0, - 0x18, 0x01, 0xFE, 0x0F, 0x00, 0x7C, 0xFF, 0xC0, 0x1F, 0x0F, 0x98, 0x07, - 0xC1, 0x06, 0x00, 0xF8, 0x21, 0x80, 0x3E, 0x04, 0x30, 0x07, 0xC1, 0x8C, - 0x00, 0xF0, 0x21, 0x80, 0x1E, 0x0C, 0x60, 0x03, 0xC1, 0x0C, 0x00, 0x78, - 0xC3, 0x03, 0xC7, 0xF8, 0x61, 0xFC, 0x7C, 0x18, 0x7C, 0xC0, 0x06, 0x1F, - 0x08, 0x00, 0xC7, 0xC1, 0x00, 0x30, 0xF0, 0x20, 0x06, 0x3E, 0x04, 0x01, - 0x87, 0xC1, 0x00, 0x30, 0xF0, 0x20, 0x0C, 0x1E, 0x0C, 0x03, 0x03, 0xC1, - 0x00, 0x60, 0x3C, 0xC0, 0x18, 0x07, 0xF8, 0x03, 0x00, 0x7C, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x1E, 0x38, 0x00, 0x0E, 0x0E, 0x00, - 0x0F, 0x07, 0x00, 0x07, 0x83, 0x80, 0x03, 0xC3, 0x80, 0x01, 0xE3, 0x80, - 0x00, 0xF7, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7F, 0x0F, - 0xF0, 0xE7, 0x81, 0xE0, 0xE3, 0xE0, 0xE0, 0xE1, 0xF0, 0x60, 0xE0, 0x7C, - 0x60, 0xF0, 0x3E, 0x20, 0x78, 0x1F, 0xB0, 0x3C, 0x07, 0xF0, 0x1F, 0x03, - 0xF0, 0x0F, 0x80, 0xFC, 0x03, 0xF0, 0x7F, 0x8D, 0xFF, 0xEF, 0xFC, 0x7F, - 0xE3, 0xFC, 0x0F, 0xC0, 0x78, 0x00, 0x3B, 0xDE, 0xE7, 0x39, 0x8C, 0x46, - 0x00, 0x00, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x1C, 0x07, 0x01, 0xE0, - 0x38, 0x0F, 0x01, 0xC0, 0x38, 0x0F, 0x01, 0xE0, 0x38, 0x07, 0x00, 0xE0, - 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x06, - 0x00, 0xC0, 0x08, 0x00, 0x80, 0x10, 0x00, 0x06, 0x00, 0x40, 0x04, 0x00, - 0x80, 0x18, 0x01, 0x00, 0x30, 0x06, 0x00, 0xC0, 0x1C, 0x03, 0x80, 0x70, - 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x01, 0xE0, 0x3C, 0x07, 0x00, 0xE0, 0x3C, - 0x07, 0x00, 0xE0, 0x38, 0x06, 0x01, 0xC0, 0x70, 0x18, 0x06, 0x01, 0x80, - 0x00, 0x07, 0x00, 0x38, 0x01, 0xC1, 0x8E, 0x3E, 0x23, 0xF9, 0x3F, 0xEB, - 0xE0, 0xE0, 0xFF, 0xF7, 0x93, 0xF8, 0x9F, 0x8E, 0x60, 0x70, 0x03, 0x80, - 0x08, 0x00, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, - 0x00, 0x0E, 0x00, 0x07, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, - 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, - 0x01, 0xC0, 0x00, 0x1C, 0x7C, 0xF9, 0xF1, 0xE1, 0xC3, 0x0C, 0x30, 0xC2, - 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x7B, 0xFF, 0xFF, 0x78, 0x00, 0x1C, - 0x00, 0xE0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, - 0x01, 0xC0, 0x07, 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x70, - 0x03, 0x80, 0x0E, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xC0, - 0x07, 0x00, 0x1C, 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x07, 0x30, 0x1C, 0x30, - 0x78, 0x60, 0xE0, 0xE3, 0xC1, 0xCF, 0x83, 0x9E, 0x0F, 0x3C, 0x1E, 0xF8, - 0x3D, 0xE0, 0x7B, 0xC1, 0xFF, 0x83, 0xFF, 0x07, 0xBC, 0x0F, 0x78, 0x3E, - 0xF0, 0x7D, 0xE0, 0xF3, 0x81, 0xE7, 0x07, 0x8E, 0x0F, 0x0C, 0x3C, 0x18, - 0x70, 0x19, 0xC0, 0x1E, 0x00, 0x00, 0x06, 0x01, 0xF8, 0x1F, 0xF0, 0x03, - 0xE0, 0x07, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF0, 0x03, 0xE0, - 0x07, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xE0, 0x07, - 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, - 0x0F, 0xC0, 0xFF, 0xF0, 0x00, 0xF8, 0x01, 0xFC, 0x03, 0xFE, 0x06, 0x3F, - 0x08, 0x1F, 0x18, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, - 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0xC0, - 0x01, 0x80, 0x03, 0x00, 0x06, 0x02, 0x0C, 0x06, 0x08, 0x0C, 0x1F, 0xFC, - 0x3F, 0xFC, 0x7F, 0xF8, 0xFF, 0xF8, 0x00, 0xF0, 0x07, 0xF8, 0x1F, 0xF0, - 0x61, 0xF0, 0x81, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0E, 0x00, 0x3C, 0x00, - 0xE0, 0x07, 0xC0, 0x3F, 0xC0, 0x1F, 0x80, 0x0F, 0x80, 0x1F, 0x00, 0x1E, - 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xC0, 0x07, 0x9C, 0x0E, 0x3C, - 0x38, 0x7F, 0xE0, 0x7E, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x3C, - 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x02, 0xF8, 0x01, 0x3C, 0x00, - 0x9F, 0x00, 0x47, 0xC0, 0x31, 0xE0, 0x18, 0x78, 0x0C, 0x3E, 0x06, 0x0F, - 0x83, 0x03, 0xC1, 0x80, 0xF0, 0x7F, 0xFF, 0x1F, 0xFF, 0xCF, 0xFF, 0xF0, - 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, - 0xFF, 0x00, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xE0, 0x60, 0x00, 0x30, 0x00, - 0x10, 0x00, 0x1F, 0x00, 0x0F, 0xE0, 0x0F, 0xF8, 0x07, 0xFE, 0x00, 0x3F, - 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1C, 0x00, - 0x0E, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x87, 0x83, 0x83, 0xE3, 0x81, - 0xFF, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x03, 0x80, 0x0F, 0x80, 0x1F, 0x00, - 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x1F, 0x00, - 0x1F, 0xF0, 0x1F, 0xFE, 0x0F, 0xCF, 0x07, 0xC3, 0xC7, 0xE1, 0xE3, 0xE0, - 0xF1, 0xF0, 0x78, 0xF8, 0x3C, 0x78, 0x3E, 0x3C, 0x1F, 0x1E, 0x0F, 0x0F, - 0x0F, 0x83, 0x87, 0x81, 0xE7, 0x80, 0x7F, 0x80, 0x0F, 0x80, 0x00, 0x3F, - 0xFF, 0x3F, 0xFE, 0x3F, 0xFE, 0x7F, 0xFC, 0x60, 0x1C, 0x80, 0x38, 0x80, - 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x01, 0xC0, 0x01, 0xC0, 0x03, - 0x80, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x1C, - 0x00, 0x38, 0x00, 0x38, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0x00, - 0xF8, 0x00, 0xFF, 0x00, 0xE1, 0xC0, 0xE0, 0xF0, 0xF0, 0x38, 0x78, 0x1C, - 0x3C, 0x0E, 0x1F, 0x07, 0x0F, 0x87, 0x07, 0xE7, 0x01, 0xFF, 0x00, 0x7E, - 0x00, 0x1F, 0x80, 0x3F, 0xE0, 0x73, 0xF0, 0x70, 0xFC, 0x70, 0x3E, 0x70, - 0x0F, 0x38, 0x07, 0x9C, 0x03, 0xCE, 0x01, 0xE7, 0x00, 0xE1, 0xC0, 0xE0, - 0x70, 0xE0, 0x0F, 0xC0, 0x00, 0x00, 0xF8, 0x01, 0xFF, 0x01, 0xF3, 0xC1, - 0xF0, 0xE1, 0xF0, 0x70, 0xF0, 0x3C, 0xF8, 0x1E, 0x7C, 0x0F, 0x3C, 0x0F, - 0x9E, 0x07, 0xCF, 0x03, 0xE7, 0x83, 0xF3, 0xC1, 0xF0, 0xF1, 0xF8, 0x3F, - 0xF8, 0x0F, 0xFC, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7E, 0x00, 0x3E, 0x00, - 0x3C, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0xF0, 0x00, 0xC0, 0x00, 0x00, 0x07, - 0x83, 0xF0, 0xFC, 0x3F, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x78, 0x3F, 0x0F, 0xC3, 0xF0, 0x78, 0x00, 0x03, 0xC0, 0xFC, - 0x1F, 0x83, 0xF0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x03, 0xC0, 0x7C, 0x0F, 0x80, 0xF0, 0x0E, 0x01, 0x80, 0x30, 0x0C, - 0x03, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x7C, 0x00, - 0x7F, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFE, 0x00, 0xFE, 0x00, - 0x3E, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xE0, 0x01, 0xFE, 0x00, - 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x0F, 0xC0, 0x00, 0xF0, 0x00, 0x04, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, - 0x38, 0x00, 0x0F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xFC, 0x00, - 0x3F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0xFC, 0x00, - 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFC, 0x03, 0xFC, 0x00, 0xFC, 0x00, - 0x3C, 0x00, 0x08, 0x00, 0x00, 0x07, 0xC0, 0xFF, 0x0E, 0x3C, 0x70, 0xF3, - 0xC7, 0x8C, 0x3C, 0x01, 0xE0, 0x1F, 0x00, 0xF0, 0x07, 0x80, 0x78, 0x07, - 0x80, 0x30, 0x03, 0x00, 0x10, 0x01, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x80, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0x78, 0x00, 0x00, 0x3F, - 0x80, 0x00, 0xFF, 0xF8, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x03, 0x81, 0xC0, - 0x00, 0xE1, 0xC0, 0x18, 0x38, 0xE0, 0x3F, 0xCC, 0xE0, 0x3C, 0xE7, 0x70, - 0x3C, 0x71, 0xF0, 0x1C, 0x30, 0xF8, 0x1E, 0x38, 0x7C, 0x0E, 0x1C, 0x3E, - 0x0F, 0x0E, 0x1F, 0x07, 0x0E, 0x0F, 0x83, 0x87, 0x0D, 0xC1, 0xC7, 0x86, - 0x70, 0xE5, 0xC6, 0x38, 0x7C, 0xFE, 0x1C, 0x1C, 0x3E, 0x07, 0x00, 0x00, - 0x01, 0xC0, 0x00, 0x00, 0x78, 0x00, 0x40, 0x1F, 0x00, 0xE0, 0x03, 0xFF, - 0xE0, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x03, - 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x17, 0xC0, 0x00, 0x67, 0x80, 0x00, 0x8F, - 0x00, 0x03, 0x1F, 0x00, 0x0C, 0x3E, 0x00, 0x10, 0x7C, 0x00, 0x60, 0xF8, - 0x00, 0x81, 0xF0, 0x03, 0xFF, 0xE0, 0x0F, 0xFF, 0xE0, 0x18, 0x07, 0xC0, - 0x60, 0x0F, 0x81, 0xC0, 0x1F, 0x03, 0x00, 0x3E, 0x0E, 0x00, 0x7C, 0x3C, - 0x00, 0xFC, 0xFE, 0x0F, 0xFE, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, 0x01, - 0xF8, 0x7E, 0x01, 0xF8, 0x3F, 0x01, 0xF0, 0x3F, 0x01, 0xF0, 0x3F, 0x01, - 0xF0, 0x3F, 0x03, 0xE0, 0x3F, 0x03, 0xE0, 0x7E, 0x03, 0xE0, 0xFC, 0x03, - 0xE3, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xC3, 0xE0, 0x07, 0xC1, 0xF8, 0x0F, - 0xC0, 0xF8, 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFC, 0x0F, 0x80, 0xFC, 0x1F, - 0x80, 0xFC, 0x1F, 0x01, 0xFC, 0x1F, 0x01, 0xF8, 0x1F, 0x03, 0xF0, 0x3F, - 0x0F, 0xE0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0x82, 0x01, - 0xFF, 0xE8, 0x07, 0xE0, 0xF0, 0x3F, 0x80, 0xE0, 0xFE, 0x00, 0xC1, 0xF8, - 0x01, 0x87, 0xE0, 0x02, 0x1F, 0x80, 0x04, 0x3F, 0x00, 0x00, 0xFC, 0x00, - 0x01, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, - 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x03, - 0xF0, 0x00, 0x03, 0xE0, 0x01, 0x07, 0xE0, 0x06, 0x07, 0xE0, 0x18, 0x07, - 0xE0, 0xE0, 0x07, 0xFF, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xFF, 0xE0, 0x01, - 0xFF, 0xFE, 0x00, 0x1F, 0x87, 0xE0, 0x07, 0xE0, 0x7C, 0x01, 0xF0, 0x1F, - 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x0F, 0x80, 0x3F, 0x03, 0xE0, - 0x0F, 0xC0, 0xF8, 0x03, 0xF0, 0x3E, 0x00, 0xFC, 0x1F, 0x00, 0x3F, 0x07, - 0xC0, 0x0F, 0xC1, 0xF0, 0x07, 0xF0, 0xFC, 0x01, 0xF8, 0x3E, 0x00, 0x7E, - 0x0F, 0x80, 0x3F, 0x83, 0xE0, 0x0F, 0xC1, 0xF8, 0x07, 0xF0, 0x7C, 0x01, - 0xF8, 0x1F, 0x00, 0xFC, 0x07, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x01, 0xFF, - 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, - 0x07, 0xE0, 0x78, 0x0F, 0xC0, 0x60, 0x1F, 0x00, 0x40, 0x3E, 0x00, 0x80, - 0x7C, 0x01, 0x01, 0xF8, 0x10, 0x03, 0xE0, 0x60, 0x07, 0xC3, 0x80, 0x0F, - 0xFF, 0x00, 0x3F, 0xFE, 0x00, 0x7C, 0x38, 0x00, 0xF8, 0x30, 0x03, 0xF0, - 0x60, 0x07, 0xC0, 0x80, 0x0F, 0x81, 0x00, 0x1F, 0x00, 0x10, 0x7E, 0x00, - 0x60, 0xF8, 0x01, 0xC1, 0xF0, 0x07, 0x03, 0xE0, 0x1E, 0x0F, 0xC0, 0xFC, - 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFE, 0x03, 0xFF, 0xFC, - 0x07, 0xE0, 0x78, 0x0F, 0xC0, 0x60, 0x1F, 0x00, 0x40, 0x3E, 0x00, 0x80, - 0x7C, 0x01, 0x01, 0xF8, 0x20, 0x03, 0xE0, 0xC0, 0x07, 0xC3, 0x80, 0x0F, - 0xFE, 0x00, 0x3F, 0xFC, 0x00, 0x7C, 0x38, 0x00, 0xF8, 0x30, 0x03, 0xF0, - 0x60, 0x07, 0xC0, 0x80, 0x0F, 0x81, 0x00, 0x1F, 0x00, 0x00, 0x7E, 0x00, - 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, - 0x3F, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x1F, 0xC2, 0x00, 0xFF, 0xF6, - 0x01, 0xF8, 0x3C, 0x03, 0xE0, 0x1C, 0x0F, 0xC0, 0x0C, 0x0F, 0xC0, 0x08, - 0x1F, 0x80, 0x08, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFC, 0x03, 0xFF, - 0xFC, 0x00, 0xFC, 0xFC, 0x00, 0xF8, 0xFC, 0x00, 0xF8, 0xFC, 0x00, 0xF8, - 0xFC, 0x00, 0xF0, 0x7C, 0x01, 0xF0, 0x7E, 0x01, 0xF0, 0x3E, 0x01, 0xF0, - 0x1F, 0x83, 0xE0, 0x0F, 0xFF, 0x80, 0x01, 0xFC, 0x00, 0x07, 0xFF, 0x3F, - 0xF8, 0x0F, 0xE0, 0x7F, 0x00, 0x7E, 0x01, 0xF8, 0x03, 0xF0, 0x0F, 0x80, - 0x1F, 0x00, 0x7C, 0x00, 0xF8, 0x07, 0xE0, 0x07, 0xC0, 0x3E, 0x00, 0x7E, - 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0xF8, 0x00, 0xF8, 0x07, - 0xC0, 0x0F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF0, 0x03, 0xE0, 0x1F, 0x00, - 0x3F, 0x00, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x7E, 0x00, 0x7C, - 0x03, 0xE0, 0x07, 0xE0, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x01, 0xF0, 0x0F, - 0xC0, 0x0F, 0x80, 0x7C, 0x00, 0xFC, 0x03, 0xE0, 0x0F, 0xE0, 0x3F, 0x80, - 0xFF, 0xC7, 0xFF, 0x00, 0x07, 0xFE, 0x03, 0xF8, 0x07, 0xE0, 0x0F, 0xC0, - 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, - 0x80, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x03, 0xF0, 0x07, 0xC0, 0x0F, 0x80, - 0x1F, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0xC0, 0x3F, - 0x80, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x01, 0xFE, 0x00, 0x0F, 0xC0, 0x00, - 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xF0, 0x00, - 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, - 0x07, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0xC0, - 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x61, 0xF0, - 0x0F, 0x3F, 0x00, 0xE7, 0xE0, 0x07, 0xFC, 0x00, 0x3F, 0x00, 0x00, 0x07, - 0xFF, 0x3F, 0x80, 0xFE, 0x07, 0x80, 0x7E, 0x03, 0x00, 0x3F, 0x03, 0x00, - 0x1F, 0x03, 0x00, 0x0F, 0x83, 0x00, 0x07, 0xC3, 0x00, 0x07, 0xE3, 0x00, - 0x03, 0xE3, 0x00, 0x01, 0xF3, 0x00, 0x00, 0xFB, 0x80, 0x00, 0xFB, 0xC0, - 0x00, 0x7F, 0xE0, 0x00, 0x3E, 0xF8, 0x00, 0x3F, 0x7C, 0x00, 0x1F, 0x1F, - 0x00, 0x0F, 0x8F, 0x80, 0x07, 0xC7, 0xE0, 0x07, 0xE1, 0xF0, 0x03, 0xE0, - 0xFC, 0x01, 0xF0, 0x3E, 0x00, 0xF8, 0x1F, 0x00, 0xFC, 0x07, 0xC0, 0xFE, - 0x07, 0xF0, 0xFF, 0xCF, 0xFC, 0x00, 0x07, 0xFF, 0x00, 0x07, 0xF0, 0x00, - 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, - 0x00, 0x00, 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, - 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x03, - 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x11, 0xF0, 0x00, 0xC7, 0xC0, - 0x06, 0x1F, 0x00, 0x38, 0x7C, 0x01, 0xE3, 0xF0, 0x3F, 0x9F, 0xFF, 0xFC, - 0xFF, 0xFF, 0xF0, 0x07, 0xF8, 0x00, 0x7F, 0x80, 0xFC, 0x00, 0x3F, 0x80, - 0x3E, 0x00, 0x3F, 0x80, 0x1F, 0x00, 0x3F, 0x80, 0x1F, 0x80, 0x1F, 0xC0, - 0x0F, 0xE0, 0x1B, 0xE0, 0x07, 0xF0, 0x0D, 0xF0, 0x02, 0xF8, 0x0D, 0xF0, - 0x03, 0x7C, 0x0C, 0xF8, 0x01, 0xBE, 0x06, 0x7C, 0x00, 0xDF, 0x06, 0x7C, - 0x00, 0xCF, 0x83, 0x3E, 0x00, 0x67, 0xC3, 0x1F, 0x00, 0x31, 0xE3, 0x0F, - 0x80, 0x38, 0xF9, 0x8F, 0x80, 0x18, 0x7D, 0x87, 0xC0, 0x0C, 0x3F, 0x83, - 0xE0, 0x06, 0x1F, 0xC1, 0xF0, 0x06, 0x0F, 0xC1, 0xF0, 0x03, 0x07, 0xC0, - 0xF8, 0x01, 0x83, 0xE0, 0x7C, 0x01, 0xC0, 0xE0, 0x7E, 0x00, 0xE0, 0x70, - 0x3F, 0x00, 0xF8, 0x30, 0x3F, 0x80, 0xFF, 0x10, 0x7F, 0xF0, 0x00, 0x07, - 0xF0, 0x0F, 0xE0, 0x3E, 0x00, 0x78, 0x07, 0xE0, 0x06, 0x00, 0x7C, 0x00, - 0xC0, 0x1F, 0xC0, 0x10, 0x03, 0xF8, 0x06, 0x00, 0x6F, 0x80, 0xC0, 0x19, - 0xF0, 0x10, 0x03, 0x3F, 0x02, 0x00, 0x63, 0xE0, 0xC0, 0x0C, 0x7C, 0x18, - 0x03, 0x07, 0xC2, 0x00, 0x60, 0xF8, 0x40, 0x0C, 0x0F, 0x98, 0x03, 0x81, - 0xF3, 0x00, 0x60, 0x3F, 0x40, 0x0C, 0x03, 0xF8, 0x01, 0x80, 0x7F, 0x00, - 0x60, 0x07, 0xC0, 0x0C, 0x00, 0xF8, 0x01, 0x80, 0x0F, 0x00, 0x70, 0x01, - 0xE0, 0x0E, 0x00, 0x18, 0x03, 0xE0, 0x03, 0x00, 0x02, 0x00, 0x60, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xC0, 0x07, 0xC3, 0xE0, 0x1F, 0x03, 0xC0, - 0x7C, 0x03, 0xC1, 0xF0, 0x07, 0x87, 0xE0, 0x0F, 0x8F, 0x80, 0x1F, 0x3F, - 0x00, 0x3E, 0x7C, 0x00, 0x7D, 0xF8, 0x01, 0xFB, 0xE0, 0x03, 0xF7, 0xC0, - 0x07, 0xDF, 0x80, 0x1F, 0xBF, 0x00, 0x3F, 0x7C, 0x00, 0x7C, 0xF8, 0x01, - 0xF9, 0xF0, 0x03, 0xE3, 0xE0, 0x0F, 0xC7, 0xC0, 0x1F, 0x07, 0x80, 0x7C, - 0x0F, 0x81, 0xF0, 0x0F, 0x87, 0xC0, 0x0F, 0xFE, 0x00, 0x07, 0xF0, 0x00, - 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x07, 0xE3, 0xF0, 0x0F, 0x83, 0xE0, - 0x1F, 0x07, 0xE0, 0x3E, 0x0F, 0xC0, 0x7C, 0x1F, 0x81, 0xF0, 0x3F, 0x03, - 0xE0, 0xFE, 0x07, 0xC1, 0xF8, 0x0F, 0x87, 0xF0, 0x3E, 0x1F, 0xC0, 0x7F, - 0xFE, 0x00, 0xFF, 0xF0, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x80, - 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x00, 0x01, 0xF0, 0x00, - 0x03, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0xFF, 0xC0, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xC0, 0x07, 0xC3, 0xE0, 0x1F, 0x03, 0xC0, - 0x7C, 0x03, 0xC1, 0xF0, 0x07, 0x87, 0xE0, 0x0F, 0x8F, 0x80, 0x1F, 0x3F, - 0x00, 0x3E, 0x7C, 0x00, 0x7D, 0xF8, 0x01, 0xFB, 0xF0, 0x03, 0xF7, 0xC0, - 0x07, 0xDF, 0x80, 0x0F, 0xBF, 0x00, 0x3F, 0x7C, 0x00, 0x7C, 0xF8, 0x01, - 0xF9, 0xF0, 0x03, 0xE3, 0xE0, 0x07, 0xC7, 0xC0, 0x1F, 0x07, 0x80, 0x7C, - 0x0F, 0x01, 0xF0, 0x0F, 0x07, 0x80, 0x07, 0xFE, 0x00, 0x03, 0x80, 0x00, - 0x0C, 0x00, 0x00, 0x3C, 0x00, 0x20, 0xFF, 0xC1, 0x87, 0xFF, 0xFE, 0x1E, - 0xFF, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xFF, 0xE0, 0x01, 0xFF, 0xFC, - 0x01, 0xF8, 0x7E, 0x01, 0xF8, 0x3F, 0x01, 0xF8, 0x3F, 0x01, 0xF0, 0x3F, - 0x01, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xE0, 0x7E, 0x03, 0xE0, 0xFE, - 0x03, 0xE1, 0xF8, 0x07, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x07, 0xDF, 0xC0, - 0x0F, 0xCF, 0xC0, 0x0F, 0xCF, 0xC0, 0x0F, 0x8F, 0xE0, 0x0F, 0x87, 0xE0, - 0x1F, 0x87, 0xE0, 0x1F, 0x03, 0xF0, 0x1F, 0x03, 0xF0, 0x1F, 0x03, 0xF0, - 0x3F, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0xFF, 0xE1, 0xFE, 0x00, 0xF8, 0x40, - 0xFF, 0xB0, 0x38, 0x3C, 0x1C, 0x07, 0x0F, 0x01, 0xC3, 0xC0, 0x20, 0xF0, - 0x08, 0x3E, 0x02, 0x0F, 0xC0, 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, - 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x00, - 0x03, 0xC4, 0x00, 0xF1, 0x00, 0x3C, 0x60, 0x0F, 0x38, 0x07, 0x8F, 0x83, - 0xC2, 0x3F, 0xE0, 0x83, 0xF0, 0x00, 0x3F, 0xFF, 0xF9, 0xFF, 0xFF, 0xCF, - 0x1F, 0x1E, 0x70, 0xF8, 0x77, 0x0F, 0x83, 0x30, 0x7C, 0x09, 0x03, 0xE0, - 0x40, 0x3F, 0x02, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x07, - 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, - 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, - 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0xFF, 0xF0, 0x00, - 0x7F, 0xF0, 0xFF, 0x1F, 0xC0, 0x3E, 0x1F, 0x80, 0x1C, 0x1F, 0x80, 0x18, - 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x18, 0x1F, 0x00, 0x30, 0x3F, 0x00, 0x30, - 0x3E, 0x00, 0x30, 0x3E, 0x00, 0x30, 0x7E, 0x00, 0x60, 0x7C, 0x00, 0x60, - 0x7C, 0x00, 0x60, 0x7C, 0x00, 0xC0, 0x7C, 0x00, 0xC0, 0xF8, 0x00, 0xC0, - 0xF8, 0x00, 0xC0, 0xF8, 0x01, 0x80, 0xF8, 0x01, 0x80, 0xF8, 0x03, 0x80, - 0xF8, 0x03, 0x00, 0x7C, 0x06, 0x00, 0x7E, 0x1E, 0x00, 0x3F, 0xF8, 0x00, - 0x0F, 0xE0, 0x00, 0xFF, 0xE0, 0x7F, 0x3F, 0x80, 0x1C, 0x1F, 0x80, 0x18, - 0x1F, 0x80, 0x18, 0x1F, 0x80, 0x30, 0x1F, 0x80, 0x30, 0x0F, 0x80, 0x60, - 0x0F, 0x80, 0x40, 0x0F, 0x80, 0xC0, 0x0F, 0x81, 0x80, 0x0F, 0x81, 0x00, - 0x0F, 0xC3, 0x00, 0x0F, 0xC6, 0x00, 0x07, 0xC6, 0x00, 0x07, 0xCC, 0x00, - 0x07, 0xC8, 0x00, 0x07, 0xD8, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF0, 0x00, - 0x07, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0x80, 0x00, - 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0xFF, 0xCF, 0xF8, 0x7E, 0x7F, 0x07, - 0xE0, 0x38, 0x7C, 0x07, 0x80, 0x60, 0xF8, 0x0F, 0x00, 0x81, 0xF0, 0x1E, - 0x03, 0x03, 0xE0, 0x3E, 0x04, 0x07, 0xE0, 0xFC, 0x18, 0x07, 0xC1, 0xF8, - 0x20, 0x0F, 0x87, 0xF0, 0xC0, 0x1F, 0x0B, 0xE1, 0x00, 0x3E, 0x37, 0xC6, - 0x00, 0x7C, 0x47, 0x88, 0x00, 0xF9, 0x8F, 0x30, 0x01, 0xF2, 0x1F, 0x40, - 0x03, 0xEC, 0x3E, 0x80, 0x03, 0xF0, 0x7F, 0x00, 0x07, 0xE0, 0xFC, 0x00, - 0x0F, 0x81, 0xF8, 0x00, 0x1F, 0x03, 0xE0, 0x00, 0x3C, 0x07, 0xC0, 0x00, - 0x78, 0x07, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x01, - 0x80, 0x30, 0x00, 0x02, 0x00, 0x40, 0x00, 0x0F, 0xFE, 0x3F, 0x81, 0xFC, - 0x07, 0x80, 0x7C, 0x03, 0x00, 0x3F, 0x03, 0x00, 0x0F, 0x83, 0x80, 0x07, - 0xC1, 0x80, 0x03, 0xE1, 0x80, 0x00, 0xF9, 0x80, 0x00, 0x7D, 0x80, 0x00, - 0x3F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x00, - 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xCF, 0x00, - 0x00, 0xC7, 0xC0, 0x00, 0xC3, 0xE0, 0x00, 0xC1, 0xF0, 0x00, 0xC0, 0x7C, - 0x00, 0xE0, 0x3E, 0x00, 0xE0, 0x1F, 0x00, 0xF8, 0x1F, 0xE0, 0xFF, 0x1F, - 0xF8, 0x00, 0xFF, 0xC3, 0xF9, 0xF8, 0x07, 0x87, 0xC0, 0x38, 0x3E, 0x01, - 0x81, 0xF0, 0x18, 0x07, 0xC0, 0x80, 0x3E, 0x0C, 0x01, 0xF0, 0xC0, 0x07, - 0xC4, 0x00, 0x3E, 0x60, 0x01, 0xF6, 0x00, 0x07, 0xA0, 0x00, 0x3F, 0x00, - 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xC0, 0x00, 0x3E, - 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, - 0x7E, 0x00, 0x07, 0xF0, 0x00, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF8, 0x3F, - 0xFF, 0xC3, 0xE0, 0x7E, 0x1C, 0x07, 0xE0, 0xC0, 0x3E, 0x0C, 0x03, 0xF0, - 0x40, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x1F, - 0x80, 0x00, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, - 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x83, 0xE0, 0x0C, 0x3F, 0x00, - 0xC3, 0xF0, 0x0E, 0x1F, 0x00, 0xF1, 0xF8, 0x1F, 0x9F, 0xFF, 0xF8, 0xFF, - 0xFF, 0xC0, 0x01, 0xFC, 0x0F, 0xE0, 0x3C, 0x00, 0xE0, 0x03, 0x80, 0x1E, - 0x00, 0x78, 0x01, 0xC0, 0x07, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0x80, 0x0E, - 0x00, 0x38, 0x01, 0xE0, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, - 0x00, 0x38, 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, - 0x00, 0x3C, 0x00, 0xFF, 0x03, 0xF8, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0, - 0x70, 0x0C, 0x03, 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x70, 0x0C, 0x03, - 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x70, 0x0C, 0x03, 0x80, 0xE0, 0x38, - 0x07, 0x01, 0xC0, 0x03, 0xFC, 0x0F, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x38, - 0x01, 0xE0, 0x07, 0x80, 0x1C, 0x00, 0x70, 0x03, 0xC0, 0x0F, 0x00, 0x38, - 0x00, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, 0x0F, 0x00, 0x3C, - 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x00, 0x1C, - 0x00, 0xF0, 0x03, 0xC0, 0xFE, 0x03, 0xF8, 0x00, 0x03, 0xC0, 0x03, 0xC0, - 0x07, 0xE0, 0x07, 0xE0, 0x0E, 0x70, 0x0E, 0x70, 0x1C, 0x78, 0x1C, 0x38, - 0x3C, 0x3C, 0x38, 0x1C, 0x78, 0x1E, 0x70, 0x0E, 0xF0, 0x0E, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE1, 0xE3, 0xC1, 0xC1, 0xC0, 0xC0, 0x00, - 0xF7, 0x80, 0xFD, 0xE0, 0x7C, 0xF0, 0x3C, 0x3C, 0x1E, 0x0F, 0x0F, 0x83, - 0x83, 0xC1, 0xE1, 0xE0, 0x78, 0x78, 0x1C, 0x3E, 0x0F, 0x0F, 0x03, 0xC3, - 0xC1, 0xF0, 0xF0, 0xFC, 0xFE, 0x6F, 0x6F, 0xF3, 0xF1, 0xF8, 0xF8, 0x3C, - 0x1C, 0x00, 0x01, 0xE0, 0x1F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0x80, - 0x07, 0x80, 0x0F, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x3C, 0x1E, 0xFE, - 0x1F, 0x9F, 0x1F, 0x0F, 0x1E, 0x0F, 0x3E, 0x0F, 0x3C, 0x0F, 0x3C, 0x1F, - 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x78, 0x3C, 0xF0, 0x78, 0xF0, 0xF0, - 0xF1, 0xE0, 0x7F, 0xC0, 0x3F, 0x00, 0x01, 0xF0, 0x3F, 0xC3, 0xCE, 0x3C, - 0xF3, 0xC7, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0x80, 0x3C, 0x01, - 0xE0, 0x0F, 0x03, 0x78, 0x31, 0xE3, 0x0F, 0xF0, 0x1E, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x0F, - 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x01, 0xEF, 0x00, 0x7F, 0xE0, 0x3E, 0x7C, - 0x07, 0x8F, 0x01, 0xE1, 0xE0, 0x78, 0x3C, 0x0F, 0x0F, 0x83, 0xC1, 0xE0, - 0x78, 0x3C, 0x1E, 0x0F, 0x83, 0xC1, 0xF0, 0x78, 0x7C, 0x0F, 0x0F, 0x91, - 0xE3, 0xF6, 0x3F, 0xDF, 0x83, 0xF3, 0xE0, 0x3C, 0x38, 0x00, 0x01, 0xE0, - 0x3F, 0x83, 0xCE, 0x3C, 0x73, 0xC3, 0x9E, 0x1D, 0xE1, 0xCF, 0x1C, 0xFB, - 0xC7, 0xF8, 0x3C, 0x01, 0xE0, 0x0F, 0x02, 0x78, 0x31, 0xE3, 0x0F, 0xF0, - 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x1D, 0xC0, 0x01, 0xCE, 0x00, 0x1C, - 0x70, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x07, 0x80, 0x00, - 0x3C, 0x00, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x00, 0xF0, 0x00, 0x07, 0x80, - 0x00, 0x3C, 0x00, 0x03, 0xE0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x07, - 0x80, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, - 0x07, 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, - 0x00, 0x0F, 0x00, 0x0E, 0x70, 0x00, 0x77, 0x80, 0x03, 0xF8, 0x00, 0x0F, - 0x80, 0x00, 0x00, 0xFE, 0x00, 0x7F, 0xFC, 0x1F, 0x1F, 0x87, 0xC3, 0xC1, - 0xF0, 0x78, 0x3C, 0x1F, 0x07, 0x83, 0xE0, 0xF0, 0xF8, 0x0E, 0x3E, 0x01, - 0xFF, 0x80, 0x3F, 0xC0, 0x0C, 0x00, 0x03, 0xC0, 0x00, 0x7F, 0x80, 0x0F, - 0xFE, 0x00, 0x7F, 0xF0, 0x70, 0xFF, 0x1C, 0x03, 0xE3, 0x80, 0x3C, 0x70, - 0x07, 0x0F, 0x03, 0xE0, 0xFF, 0xF0, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x03, - 0xE0, 0x00, 0xF0, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, - 0x1F, 0x00, 0x0F, 0x0E, 0x07, 0x9F, 0x83, 0xDF, 0xC3, 0xE9, 0xE1, 0xE8, - 0xF0, 0xF8, 0xF8, 0x7C, 0x78, 0x7C, 0x3C, 0x3E, 0x3E, 0x1E, 0x1E, 0x1F, - 0x0F, 0x0F, 0x0F, 0x87, 0x87, 0xCB, 0xC3, 0xCB, 0xE1, 0xE9, 0xE0, 0xFC, - 0xF0, 0x38, 0x00, 0x03, 0x03, 0xC1, 0xE0, 0xF0, 0x30, 0x00, 0x00, 0x00, - 0x07, 0x3F, 0x87, 0x83, 0xC1, 0xE0, 0xF0, 0xF0, 0x78, 0x3C, 0x1E, 0x1E, - 0x0F, 0x27, 0x17, 0x93, 0xF1, 0xF8, 0x70, 0x00, 0x00, 0x06, 0x00, 0x0F, - 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0xFE, 0x00, 0x3E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, - 0x00, 0x7C, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0xF8, 0x00, 0xF0, - 0x00, 0xF0, 0x00, 0xF0, 0x01, 0xF0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, - 0x03, 0xC0, 0xE3, 0xC0, 0xE7, 0x80, 0xFF, 0x00, 0x7C, 0x00, 0x1F, 0xC0, - 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1E, - 0x00, 0x1F, 0x00, 0x0F, 0x3F, 0x87, 0x87, 0x83, 0xC3, 0x03, 0xE3, 0x01, - 0xE3, 0x00, 0xF3, 0x00, 0x7B, 0x80, 0x7B, 0xC0, 0x3F, 0xE0, 0x1E, 0xF0, - 0x1F, 0x78, 0x0F, 0x1E, 0x07, 0x8F, 0x13, 0xC7, 0x93, 0xE1, 0xF9, 0xE0, - 0xF8, 0xF0, 0x38, 0x00, 0x1F, 0xC0, 0xF8, 0x1F, 0x03, 0xC0, 0x78, 0x1F, - 0x03, 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x0F, - 0x01, 0xE0, 0x3C, 0x0F, 0x81, 0xE0, 0x3C, 0x8F, 0x31, 0xEC, 0x3F, 0x07, - 0xC0, 0x70, 0x00, 0x01, 0x87, 0x07, 0x0F, 0xE7, 0xE7, 0xE0, 0xF3, 0xF9, - 0xF8, 0x3D, 0x9E, 0x9E, 0x0F, 0x47, 0xC7, 0x83, 0xE1, 0xD1, 0xE1, 0xF8, - 0xF8, 0xF0, 0x7C, 0x3C, 0x3C, 0x1F, 0x0F, 0x1F, 0x0F, 0x87, 0xC7, 0x83, - 0xE1, 0xE1, 0xE0, 0xF0, 0x78, 0x78, 0x3C, 0x1E, 0x3C, 0x1F, 0x0F, 0x0F, - 0x27, 0x83, 0xC3, 0xD1, 0xE0, 0xF0, 0xFC, 0xF8, 0x78, 0x1C, 0x00, 0x01, - 0x8F, 0x0F, 0xE7, 0xE0, 0xF3, 0xF8, 0x3C, 0x9E, 0x0F, 0x47, 0x87, 0xA3, - 0xC1, 0xE8, 0xF0, 0x7C, 0x3C, 0x1E, 0x1E, 0x0F, 0x87, 0x83, 0xE1, 0xE0, - 0xF0, 0xF8, 0x3C, 0x3C, 0x1F, 0x0F, 0x27, 0x83, 0xD1, 0xE0, 0xFC, 0x78, - 0x1C, 0x00, 0x01, 0xF0, 0x0E, 0x30, 0x38, 0x70, 0xF0, 0xF3, 0xC1, 0xE7, - 0x83, 0xDE, 0x07, 0xBC, 0x1F, 0xF8, 0x3F, 0xE0, 0x7B, 0xC0, 0xF7, 0x83, - 0xCF, 0x07, 0x9E, 0x1E, 0x1C, 0x38, 0x1C, 0xE0, 0x1F, 0x00, 0x00, 0xE3, - 0x80, 0xFD, 0xF8, 0x0F, 0xFF, 0x81, 0xE8, 0xF0, 0x3E, 0x1E, 0x07, 0x83, - 0xC0, 0xF0, 0x78, 0x3E, 0x1F, 0x07, 0x83, 0xC0, 0xF0, 0x78, 0x1E, 0x1F, - 0x07, 0x83, 0xC0, 0xF0, 0xF8, 0x1E, 0x1E, 0x03, 0xC7, 0x80, 0xFF, 0xE0, - 0x1E, 0xF0, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, - 0xF8, 0x00, 0x3F, 0xC0, 0x00, 0x01, 0xEF, 0x07, 0xFF, 0x0F, 0x1E, 0x1E, - 0x1E, 0x1E, 0x1E, 0x3C, 0x1E, 0x7C, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0xF0, - 0x7C, 0xF0, 0x78, 0xF0, 0xF8, 0xF0, 0xF8, 0xF1, 0xF0, 0xFE, 0xF0, 0x7E, - 0xF0, 0x39, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x03, 0xC0, 0x03, - 0xC0, 0x1F, 0xF8, 0x03, 0x9C, 0x7F, 0x7C, 0x3D, 0xF8, 0x7A, 0xE0, 0xF8, - 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF0, 0x01, - 0xE0, 0x07, 0xC0, 0x0F, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0x07, 0x18, 0xFF, - 0xC7, 0x1C, 0x70, 0x63, 0x81, 0x1E, 0x08, 0xF8, 0x07, 0xE0, 0x1F, 0x00, - 0x7C, 0x01, 0xF0, 0x07, 0x84, 0x3C, 0x20, 0xE1, 0x87, 0x1C, 0x70, 0x9E, - 0x00, 0x00, 0x80, 0x60, 0x30, 0x1C, 0x1F, 0x1F, 0xF7, 0xFC, 0x78, 0x1E, - 0x07, 0x83, 0xC0, 0xF0, 0x3C, 0x1F, 0x07, 0x81, 0xE0, 0x79, 0x3C, 0x4F, - 0x23, 0xF0, 0xFC, 0x1C, 0x00, 0x0F, 0x0F, 0x3F, 0x87, 0x8F, 0x83, 0xC7, - 0xC1, 0xE3, 0xE1, 0xE1, 0xE0, 0xF0, 0xF0, 0x78, 0xF8, 0x78, 0x78, 0x3C, - 0x3C, 0x3E, 0x1E, 0x1F, 0x1E, 0x1F, 0x0F, 0x17, 0x97, 0x9B, 0xCB, 0xF9, - 0xF9, 0xF8, 0xF8, 0x78, 0x38, 0x00, 0x18, 0x37, 0xC3, 0xDE, 0x1E, 0x78, - 0x73, 0xC1, 0x9E, 0x08, 0xF0, 0xC7, 0x84, 0x3C, 0x41, 0xE4, 0x0F, 0x40, - 0x7C, 0x03, 0xC0, 0x1C, 0x00, 0xC0, 0x04, 0x00, 0x38, 0x10, 0xDF, 0x06, - 0x3D, 0xE0, 0xC7, 0xBC, 0x38, 0x73, 0xC7, 0x06, 0x79, 0xF0, 0x8F, 0x3E, - 0x11, 0xEB, 0xC4, 0x3F, 0x79, 0x07, 0xCF, 0x60, 0xF9, 0xE8, 0x1E, 0x3E, - 0x03, 0x87, 0x80, 0x70, 0xF0, 0x0C, 0x0C, 0x01, 0x01, 0x00, 0x03, 0x83, - 0x87, 0xF1, 0xF0, 0x3C, 0xF8, 0x0F, 0x60, 0x03, 0xD0, 0x00, 0xF8, 0x00, - 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x0F, - 0xC0, 0x02, 0xF1, 0x39, 0x3C, 0xCF, 0xCF, 0xE3, 0xE1, 0xF0, 0x70, 0x38, - 0x00, 0x01, 0x83, 0x07, 0xE3, 0xC1, 0xF1, 0xE0, 0x78, 0xF0, 0x3E, 0x18, - 0x1F, 0x08, 0x07, 0x84, 0x03, 0xC6, 0x01, 0xE2, 0x00, 0xFB, 0x00, 0x3D, - 0x00, 0x1F, 0x80, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, - 0xE0, 0x00, 0x60, 0x00, 0x60, 0x0E, 0x60, 0x0F, 0xE0, 0x07, 0xE0, 0x01, - 0xC0, 0x00, 0x1F, 0xFC, 0x3F, 0xF8, 0x7F, 0xE1, 0x81, 0x82, 0x06, 0x00, - 0x08, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x40, - 0x01, 0x80, 0x07, 0xC0, 0x1F, 0x86, 0x3F, 0x8E, 0xCF, 0x9C, 0x07, 0x30, - 0x03, 0xC0, 0x00, 0x1E, 0x00, 0xF8, 0x03, 0xC0, 0x0F, 0x00, 0x1E, 0x00, - 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x1E, 0x00, 0x3C, - 0x00, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x1F, 0x00, 0x7E, 0x00, 0x30, 0x00, - 0x60, 0x00, 0xE0, 0x01, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x38, - 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x0E, 0x00, 0x0C, 0x00, - 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, - 0x00, 0xF0, 0x00, 0x70, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xE0, 0x03, 0xC0, 0x07, - 0x80, 0x0F, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x10, 0x00, 0xF0, 0x03, 0xF0, - 0x0F, 0x00, 0x1E, 0x00, 0x38, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, - 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x01, 0xE0, 0x0F, 0x80, 0x7C, 0x00, - 0x3E, 0x00, 0x7F, 0xC6, 0xFF, 0xFF, 0x61, 0xFE, 0x00, 0x7C }; - -const GFXglyph FreeSerifBoldItalic18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' - { 0, 11, 25, 14, 2, -23 }, // 0x21 '!' - { 35, 14, 10, 19, 4, -23 }, // 0x22 '"' - { 53, 20, 25, 17, -1, -24 }, // 0x23 '#' - { 116, 17, 29, 18, 0, -25 }, // 0x24 '$' - { 178, 27, 25, 29, 1, -23 }, // 0x25 '%' - { 263, 25, 25, 27, 0, -23 }, // 0x26 '&' - { 342, 5, 10, 10, 4, -23 }, // 0x27 ''' - { 349, 11, 30, 12, 1, -23 }, // 0x28 '(' - { 391, 11, 30, 12, -2, -23 }, // 0x29 ')' - { 433, 13, 15, 18, 2, -23 }, // 0x2A '*' - { 458, 17, 17, 20, 1, -16 }, // 0x2B '+' - { 495, 7, 11, 9, -2, -4 }, // 0x2C ',' - { 505, 9, 4, 12, 0, -9 }, // 0x2D '-' - { 510, 6, 5, 9, 0, -3 }, // 0x2E '.' - { 514, 14, 25, 12, 0, -23 }, // 0x2F '/' - { 558, 15, 25, 18, 1, -23 }, // 0x30 '0' - { 605, 15, 25, 17, 0, -23 }, // 0x31 '1' - { 652, 16, 25, 18, 0, -23 }, // 0x32 '2' - { 702, 15, 25, 17, 1, -23 }, // 0x33 '3' - { 749, 18, 24, 17, 0, -23 }, // 0x34 '4' - { 803, 17, 25, 18, 0, -23 }, // 0x35 '5' - { 857, 17, 25, 18, 1, -23 }, // 0x36 '6' - { 911, 16, 24, 17, 3, -23 }, // 0x37 '7' - { 959, 17, 25, 18, 0, -23 }, // 0x38 '8' - { 1013, 17, 25, 18, 0, -23 }, // 0x39 '9' - { 1067, 10, 17, 9, 0, -15 }, // 0x3A ':' - { 1089, 11, 22, 9, -1, -15 }, // 0x3B ';' - { 1120, 18, 19, 20, 1, -18 }, // 0x3C '<' - { 1163, 18, 10, 20, 2, -13 }, // 0x3D '=' - { 1186, 18, 19, 20, 2, -18 }, // 0x3E '>' - { 1229, 13, 25, 17, 3, -23 }, // 0x3F '?' - { 1270, 25, 25, 29, 2, -23 }, // 0x40 '@' - { 1349, 23, 25, 24, 0, -23 }, // 0x41 'A' - { 1421, 24, 25, 22, 0, -23 }, // 0x42 'B' - { 1496, 23, 25, 22, 1, -23 }, // 0x43 'C' - { 1568, 26, 25, 25, 0, -23 }, // 0x44 'D' - { 1650, 23, 25, 22, 0, -23 }, // 0x45 'E' - { 1722, 23, 25, 21, 0, -23 }, // 0x46 'F' - { 1794, 24, 25, 25, 2, -23 }, // 0x47 'G' - { 1869, 29, 25, 26, 0, -23 }, // 0x48 'H' - { 1960, 15, 25, 13, 0, -23 }, // 0x49 'I' - { 2007, 20, 27, 17, 0, -23 }, // 0x4A 'J' - { 2075, 25, 25, 23, 0, -23 }, // 0x4B 'K' - { 2154, 22, 25, 21, 0, -23 }, // 0x4C 'L' - { 2223, 33, 25, 31, 0, -23 }, // 0x4D 'M' - { 2327, 27, 25, 25, 0, -23 }, // 0x4E 'N' - { 2412, 23, 25, 24, 1, -23 }, // 0x4F 'O' - { 2484, 23, 25, 21, 0, -23 }, // 0x50 'P' - { 2556, 23, 31, 24, 1, -23 }, // 0x51 'Q' - { 2646, 24, 25, 23, 0, -23 }, // 0x52 'R' - { 2721, 18, 25, 18, 0, -23 }, // 0x53 'S' - { 2778, 21, 25, 21, 3, -23 }, // 0x54 'T' - { 2844, 24, 25, 25, 4, -23 }, // 0x55 'U' - { 2919, 24, 25, 25, 4, -23 }, // 0x56 'V' - { 2994, 31, 25, 32, 4, -23 }, // 0x57 'W' - { 3091, 25, 25, 24, 0, -23 }, // 0x58 'X' - { 3170, 21, 25, 22, 4, -23 }, // 0x59 'Y' - { 3236, 21, 25, 20, 0, -23 }, // 0x5A 'Z' - { 3302, 14, 30, 12, -1, -23 }, // 0x5B '[' - { 3355, 10, 25, 14, 4, -23 }, // 0x5C '\' - { 3387, 14, 30, 12, -2, -23 }, // 0x5D ']' - { 3440, 16, 13, 20, 2, -23 }, // 0x5E '^' - { 3466, 18, 3, 17, 0, 3 }, // 0x5F '_' - { 3473, 7, 6, 12, 3, -23 }, // 0x60 '`' - { 3479, 18, 17, 18, 0, -15 }, // 0x61 'a' - { 3518, 16, 26, 17, 1, -24 }, // 0x62 'b' - { 3570, 13, 17, 15, 1, -15 }, // 0x63 'c' - { 3598, 19, 25, 18, 1, -23 }, // 0x64 'd' - { 3658, 13, 17, 15, 1, -15 }, // 0x65 'e' - { 3686, 21, 32, 17, -3, -24 }, // 0x66 'f' - { 3770, 19, 23, 17, -1, -15 }, // 0x67 'g' - { 3825, 17, 25, 19, 1, -23 }, // 0x68 'h' - { 3879, 9, 25, 10, 1, -23 }, // 0x69 'i' - { 3908, 16, 31, 12, -3, -23 }, // 0x6A 'j' - { 3970, 17, 25, 18, 1, -23 }, // 0x6B 'k' - { 4024, 11, 25, 10, 1, -23 }, // 0x6C 'l' - { 4059, 26, 17, 27, 0, -15 }, // 0x6D 'm' - { 4115, 18, 17, 18, 0, -15 }, // 0x6E 'n' - { 4154, 15, 17, 17, 1, -15 }, // 0x6F 'o' - { 4186, 19, 23, 17, -2, -15 }, // 0x70 'p' - { 4241, 16, 23, 17, 1, -15 }, // 0x71 'q' - { 4287, 15, 16, 14, 0, -15 }, // 0x72 'r' - { 4317, 13, 17, 12, 0, -15 }, // 0x73 's' - { 4345, 10, 22, 10, 1, -20 }, // 0x74 't' - { 4373, 17, 17, 19, 1, -15 }, // 0x75 'u' - { 4410, 13, 16, 15, 2, -15 }, // 0x76 'v' - { 4436, 19, 16, 23, 3, -15 }, // 0x77 'w' - { 4474, 18, 17, 17, -1, -15 }, // 0x78 'x' - { 4513, 17, 23, 15, -2, -15 }, // 0x79 'y' - { 4562, 15, 19, 14, 0, -15 }, // 0x7A 'z' - { 4598, 15, 32, 12, 0, -24 }, // 0x7B '{' - { 4658, 3, 25, 9, 4, -23 }, // 0x7C '|' - { 4668, 15, 32, 12, -5, -24 }, // 0x7D '}' - { 4728, 16, 5, 20, 2, -11 } }; // 0x7E '~' - -const GFXfont FreeSerifBoldItalic18pt7b PROGMEM = { - (uint8_t *)FreeSerifBoldItalic18pt7bBitmaps, - (GFXglyph *)FreeSerifBoldItalic18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 5410 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h deleted file mode 100644 index fcb857e..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic24pt7b.h +++ /dev/null @@ -1,793 +0,0 @@ -const uint8_t FreeSerifBoldItalic24pt7bBitmaps[] PROGMEM = { - 0x00, 0x3C, 0x00, 0xFC, 0x01, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, - 0x3F, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x1E, - 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x00, 0x0E, 0x00, - 0x18, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xF0, 0x03, 0xF0, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x3F, 0x00, - 0x3C, 0x00, 0x1C, 0x01, 0xC7, 0xC0, 0x7D, 0xF8, 0x1F, 0xBF, 0x03, 0xF7, - 0xC0, 0x7C, 0xF8, 0x0F, 0x9E, 0x01, 0xE3, 0xC0, 0x3C, 0x70, 0x07, 0x1E, - 0x00, 0xE3, 0x80, 0x38, 0x70, 0x07, 0x0C, 0x00, 0xC0, 0x00, 0x03, 0xC1, - 0xE0, 0x00, 0x70, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0xC1, 0xE0, 0x00, - 0x70, 0x38, 0x00, 0x1E, 0x0F, 0x00, 0x03, 0x81, 0xC0, 0x00, 0xF0, 0x78, - 0x00, 0x1E, 0x0F, 0x00, 0x07, 0x83, 0xC0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, - 0xFF, 0xF0, 0x7F, 0xFF, 0xFC, 0x00, 0xE0, 0x70, 0x00, 0x3C, 0x1E, 0x00, - 0x07, 0x83, 0xC0, 0x00, 0xE0, 0x70, 0x00, 0x3C, 0x1E, 0x00, 0x07, 0x83, - 0xC0, 0x00, 0xE0, 0x70, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, 0x1F, - 0xFF, 0xFF, 0x00, 0x38, 0x1C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xE0, 0xF0, - 0x00, 0x38, 0x1C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xC0, 0xE0, 0x00, 0x78, - 0x3C, 0x00, 0x0F, 0x07, 0x80, 0x01, 0xC0, 0xE0, 0x00, 0x78, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x1F, - 0xE0, 0x00, 0x7F, 0xF8, 0x01, 0xF1, 0x9E, 0x01, 0xC1, 0x8F, 0x03, 0x83, - 0x8F, 0x03, 0x83, 0x06, 0x07, 0x83, 0x06, 0x07, 0x87, 0x06, 0x07, 0xC7, - 0x04, 0x07, 0xE6, 0x04, 0x07, 0xFE, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFF, - 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x1F, - 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xF0, 0x00, 0x3B, 0xF8, 0x20, 0x31, - 0xF8, 0x20, 0x30, 0xF8, 0x60, 0x70, 0xF8, 0x60, 0x60, 0xF8, 0x60, 0x60, - 0xF8, 0xF0, 0xE0, 0xF0, 0xF0, 0xE1, 0xE0, 0x78, 0xC3, 0xE0, 0x3C, 0xC7, - 0xC0, 0x0F, 0xFF, 0x00, 0x03, 0xFC, 0x00, 0x01, 0x80, 0x00, 0x03, 0x80, - 0x00, 0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0xF0, - 0x00, 0x70, 0x00, 0xFF, 0x80, 0x1C, 0x00, 0x3F, 0x38, 0x1F, 0x00, 0x0F, - 0xC7, 0xFF, 0xE0, 0x03, 0xF0, 0x3F, 0xB8, 0x00, 0x7E, 0x04, 0x07, 0x00, - 0x1F, 0x80, 0x81, 0xC0, 0x03, 0xF0, 0x10, 0x38, 0x00, 0xFC, 0x02, 0x0E, - 0x00, 0x1F, 0x80, 0x81, 0x80, 0x03, 0xF0, 0x10, 0x70, 0x00, 0x7C, 0x06, - 0x1C, 0x00, 0x0F, 0x80, 0x83, 0x80, 0x01, 0xF0, 0x30, 0xE0, 0x00, 0x1E, - 0x0C, 0x1C, 0x07, 0xC3, 0xE3, 0x07, 0x03, 0xFC, 0x3F, 0xC0, 0xC0, 0xFC, - 0x43, 0xE0, 0x38, 0x3E, 0x0C, 0x00, 0x0E, 0x0F, 0xC0, 0x80, 0x01, 0xC3, - 0xF0, 0x10, 0x00, 0x70, 0xFC, 0x02, 0x00, 0x0C, 0x1F, 0x80, 0x40, 0x03, - 0x83, 0xE0, 0x08, 0x00, 0x60, 0xFC, 0x02, 0x00, 0x1C, 0x1F, 0x80, 0x40, - 0x07, 0x03, 0xE0, 0x10, 0x00, 0xE0, 0x7C, 0x02, 0x00, 0x38, 0x0F, 0x80, - 0xC0, 0x06, 0x01, 0xF0, 0x30, 0x01, 0xC0, 0x1F, 0x0C, 0x00, 0x30, 0x01, - 0xFF, 0x00, 0x0E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, - 0xFF, 0x80, 0x00, 0x01, 0xF1, 0xE0, 0x00, 0x00, 0xF0, 0x78, 0x00, 0x00, - 0xF0, 0x3C, 0x00, 0x00, 0x78, 0x1E, 0x00, 0x00, 0x7C, 0x0F, 0x00, 0x00, - 0x3E, 0x0F, 0x80, 0x00, 0x1F, 0x07, 0x80, 0x00, 0x0F, 0x87, 0x80, 0x00, - 0x07, 0xC7, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, - 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0x07, 0xFE, - 0x03, 0xCF, 0xC0, 0xFE, 0x03, 0xC7, 0xE0, 0x3C, 0x07, 0xC3, 0xF0, 0x1C, - 0x07, 0xC0, 0xFC, 0x0C, 0x03, 0xC0, 0x7E, 0x0E, 0x03, 0xE0, 0x3F, 0x0E, - 0x01, 0xF0, 0x1F, 0xC6, 0x01, 0xF8, 0x07, 0xF6, 0x00, 0xFC, 0x03, 0xFF, - 0x00, 0x7E, 0x00, 0xFF, 0x00, 0x3F, 0x80, 0x7F, 0x80, 0x1F, 0xC0, 0x1F, - 0xC0, 0x07, 0xF0, 0x0F, 0xF0, 0x13, 0xFE, 0x0F, 0xFE, 0x18, 0xFF, 0xFE, - 0xFF, 0xF8, 0x3F, 0xFE, 0x3F, 0xF8, 0x07, 0xF8, 0x03, 0xF0, 0x00, 0x1C, - 0x7D, 0xFB, 0xF7, 0xCF, 0x9E, 0x3C, 0x71, 0xE3, 0x87, 0x0C, 0x00, 0x00, - 0x04, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x3C, 0x01, - 0xE0, 0x0F, 0x00, 0x3C, 0x01, 0xE0, 0x0F, 0x80, 0x3C, 0x00, 0xF0, 0x07, - 0xC0, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF0, 0x03, - 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, - 0x70, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x01, 0x80, - 0x06, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x60, 0x01, 0x80, 0x00, 0x00, 0x01, - 0x00, 0x06, 0x00, 0x08, 0x00, 0x30, 0x00, 0x40, 0x01, 0x80, 0x06, 0x00, - 0x1C, 0x00, 0x30, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0xF0, - 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x7C, - 0x01, 0xF0, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3C, - 0x01, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x00, 0xF0, - 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x06, 0x00, 0x30, 0x00, 0x80, 0x00, 0x00, - 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x07, 0x0E, 0x1D, 0xF1, - 0xC7, 0xFF, 0x11, 0xFF, 0xE2, 0x3F, 0x7E, 0x4F, 0xC0, 0x3E, 0x00, 0x07, - 0xC0, 0x3F, 0x27, 0xEF, 0xC4, 0x7F, 0xF8, 0x8F, 0xFE, 0x38, 0xFB, 0x87, - 0x0E, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x70, 0x00, 0x00, - 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, - 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x03, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x01, - 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, - 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, - 0x07, 0x80, 0x00, 0x0F, 0x07, 0xE1, 0xFC, 0x7F, 0x1F, 0xC3, 0xF0, 0x7C, - 0x0E, 0x03, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x1C, 0x04, 0x00, 0x7F, 0xF7, - 0xFF, 0x7F, 0xEF, 0xFE, 0xFF, 0xE0, 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0x7E, - 0x3C, 0x00, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, - 0x78, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x07, - 0xC0, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3C, - 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x01, 0xE0, - 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, - 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, - 0x1E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0xE3, 0x80, 0x0F, 0x07, 0x00, 0x7C, 0x1C, 0x03, 0xE0, 0x78, 0x0F, 0x81, - 0xE0, 0x7C, 0x07, 0x83, 0xF0, 0x1F, 0x0F, 0xC0, 0xFC, 0x7E, 0x03, 0xF1, - 0xF8, 0x0F, 0xCF, 0xE0, 0x3F, 0x3F, 0x00, 0xFD, 0xFC, 0x07, 0xF7, 0xF0, - 0x1F, 0xDF, 0xC0, 0x7F, 0x7E, 0x01, 0xFB, 0xF8, 0x0F, 0xEF, 0xE0, 0x3F, - 0xBF, 0x80, 0xFE, 0xFC, 0x03, 0xF3, 0xF0, 0x1F, 0xCF, 0xC0, 0x7F, 0x3F, - 0x01, 0xF8, 0xFC, 0x07, 0xE3, 0xE0, 0x3F, 0x0F, 0x80, 0xFC, 0x1E, 0x07, - 0xE0, 0x78, 0x1F, 0x00, 0xE0, 0x78, 0x03, 0x83, 0xC0, 0x07, 0x1E, 0x00, - 0x07, 0xE0, 0x00, 0x00, 0x00, 0x70, 0x01, 0xFE, 0x01, 0xFF, 0xE0, 0x00, - 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, - 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x00, - 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xE0, - 0x00, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xFC, - 0x00, 0x1F, 0x80, 0x01, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF0, 0x00, 0x3F, - 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x1F, 0xF8, 0x0F, 0xFF, 0xF0, 0x00, - 0x0F, 0x80, 0x01, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x7F, 0xFE, 0x03, 0x83, - 0xF8, 0x0C, 0x07, 0xF0, 0x60, 0x1F, 0xC3, 0x00, 0x3F, 0x00, 0x00, 0xFC, - 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3E, 0x00, 0x01, 0xF8, 0x00, - 0x07, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x1E, - 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x3C, 0x00, 0x01, 0xE0, 0x00, - 0x0E, 0x00, 0x00, 0x70, 0x06, 0x03, 0x80, 0x10, 0x1C, 0x00, 0xC0, 0xE0, - 0x06, 0x07, 0xFF, 0xF8, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, - 0x3F, 0xFF, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xC0, 0x0F, 0xFF, 0x80, - 0x60, 0xFE, 0x03, 0x01, 0xFC, 0x08, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, - 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0xFC, - 0x00, 0x07, 0xC0, 0x00, 0x3E, 0x00, 0x07, 0xF8, 0x00, 0x7F, 0xF0, 0x00, - 0x7F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x03, - 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, - 0x00, 0x0F, 0x80, 0x00, 0x3C, 0x1C, 0x01, 0xF0, 0xF8, 0x07, 0x83, 0xF0, - 0x3C, 0x0F, 0xE1, 0xE0, 0x1F, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x07, 0xE0, 0x00, - 0x07, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x07, 0xFC, 0x00, - 0x06, 0xFC, 0x00, 0x06, 0x7E, 0x00, 0x06, 0x3F, 0x00, 0x06, 0x3F, 0x00, - 0x06, 0x1F, 0x80, 0x06, 0x0F, 0xC0, 0x06, 0x07, 0xE0, 0x03, 0x07, 0xE0, - 0x03, 0x03, 0xF0, 0x03, 0x01, 0xF8, 0x03, 0x01, 0xFC, 0x03, 0x00, 0xFC, - 0x03, 0x00, 0x7E, 0x03, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, - 0xF0, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x03, - 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, - 0x7F, 0xFC, 0x00, 0xFF, 0xFC, 0x00, 0xC0, 0x00, 0x01, 0x80, 0x00, 0x01, - 0x80, 0x00, 0x03, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x07, - 0xFF, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x00, 0xFF, 0xE0, 0x00, - 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, - 0x03, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, - 0x01, 0xE0, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0xFC, - 0x07, 0x80, 0xFC, 0x0F, 0x00, 0xFE, 0x1E, 0x00, 0x7F, 0xF8, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0x80, 0x00, - 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x01, 0xFC, - 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, - 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x0F, 0xE1, 0xF0, 0x3F, 0x81, 0xF0, - 0x7F, 0x03, 0xF0, 0xFC, 0x07, 0xE3, 0xF8, 0x0F, 0xC7, 0xF0, 0x1F, 0x8F, - 0xC0, 0x7F, 0x1F, 0x80, 0xFE, 0x3F, 0x01, 0xFC, 0x7C, 0x03, 0xF0, 0xF8, - 0x0F, 0xE1, 0xF0, 0x1F, 0xC1, 0xE0, 0x3F, 0x03, 0xC0, 0xFC, 0x07, 0x81, - 0xF0, 0x07, 0x87, 0xC0, 0x07, 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xFF, - 0xFC, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xE0, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, - 0x07, 0x00, 0x1C, 0x08, 0x00, 0x78, 0x30, 0x01, 0xE0, 0x40, 0x03, 0xC0, - 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, - 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x01, - 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x78, - 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x78, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0xFE, 0x00, 0x3C, 0x78, - 0x03, 0xC1, 0xE0, 0x3C, 0x07, 0x81, 0xE0, 0x3C, 0x1F, 0x01, 0xE0, 0xF8, - 0x0F, 0x07, 0xC0, 0x78, 0x3F, 0x03, 0xC1, 0xF8, 0x3C, 0x0F, 0xE1, 0xE0, - 0x3F, 0x9E, 0x01, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x3F, 0xC0, 0x00, 0xFF, - 0x00, 0x1F, 0xFC, 0x03, 0xCF, 0xF0, 0x3C, 0x3F, 0x83, 0xC0, 0xFC, 0x3C, - 0x03, 0xF1, 0xE0, 0x1F, 0x9E, 0x00, 0x7C, 0xF0, 0x03, 0xE7, 0x80, 0x1F, - 0x3C, 0x00, 0xF9, 0xE0, 0x07, 0x87, 0x00, 0x3C, 0x3C, 0x03, 0xC0, 0xF0, - 0x3C, 0x03, 0xC3, 0xC0, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, - 0xE0, 0x03, 0xF1, 0xE0, 0x0F, 0xC1, 0xC0, 0x3F, 0x03, 0xC0, 0xFE, 0x07, - 0x81, 0xF8, 0x0F, 0x87, 0xF0, 0x1F, 0x0F, 0xC0, 0x3E, 0x3F, 0x80, 0xFC, - 0x7F, 0x01, 0xF8, 0xFC, 0x03, 0xF1, 0xF8, 0x07, 0xE3, 0xF0, 0x1F, 0xC7, - 0xE0, 0x3F, 0x8F, 0xC0, 0x7E, 0x0F, 0x81, 0xFC, 0x1F, 0x03, 0xF8, 0x1F, - 0x0F, 0xE0, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x03, - 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF8, - 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, - 0x1F, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x01, 0xE0, 0x1F, 0x81, 0xFE, 0x0F, - 0xF0, 0x7F, 0x81, 0xF8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x7E, 0x07, 0xF8, 0x3F, - 0xC1, 0xFE, 0x07, 0xE0, 0x1E, 0x00, 0x00, 0x78, 0x01, 0xF8, 0x07, 0xF8, - 0x0F, 0xF0, 0x1F, 0xE0, 0x1F, 0x80, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, - 0x1F, 0x80, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x00, 0xFC, 0x00, 0xF8, 0x00, - 0xE0, 0x01, 0xC0, 0x07, 0x00, 0x0C, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x7F, 0x00, 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, - 0x01, 0xFF, 0xC0, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xE0, 0x00, - 0xFF, 0x80, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xE0, 0x00, - 0x1F, 0xF8, 0x00, 0x07, 0xFE, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, - 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x80, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFF, 0x80, - 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFF, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x3F, 0x00, 0x00, 0xFF, 0x00, 0x03, 0xFF, 0x00, 0x1F, 0xFC, - 0x00, 0x7F, 0xE0, 0x01, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x3F, 0xF0, 0x00, - 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xE0, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x01, 0xF8, 0x01, 0xFF, 0x80, 0xF1, 0xF0, 0x38, 0x3E, - 0x1E, 0x0F, 0xC7, 0xC3, 0xF1, 0xF0, 0xFC, 0x7C, 0x3F, 0x0E, 0x0F, 0xC0, - 0x07, 0xF0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x07, - 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x0C, 0x00, - 0x06, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0xC0, 0x01, 0xF8, 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x0F, 0xF0, - 0x01, 0xF8, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, - 0xFF, 0xC0, 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x7C, - 0x00, 0x03, 0x80, 0x7C, 0x00, 0x00, 0xE0, 0x7C, 0x00, 0x00, 0x38, 0x3C, - 0x00, 0xF0, 0x4C, 0x3E, 0x00, 0xFD, 0xE7, 0x1E, 0x00, 0xF3, 0xF1, 0x9F, - 0x00, 0xF1, 0xF0, 0xEF, 0x80, 0xF0, 0x78, 0x3F, 0x80, 0xF0, 0x3C, 0x1F, - 0xC0, 0x78, 0x1E, 0x0F, 0xE0, 0x78, 0x1E, 0x07, 0xF0, 0x3C, 0x0F, 0x03, - 0xF8, 0x3E, 0x07, 0x81, 0xFC, 0x1E, 0x07, 0x81, 0xFE, 0x0F, 0x03, 0xC0, - 0xDF, 0x07, 0x83, 0xC0, 0x6F, 0x83, 0xC3, 0xE0, 0x63, 0xE1, 0xF3, 0xF0, - 0x71, 0xF0, 0x7E, 0x78, 0x70, 0xF8, 0x1E, 0x3F, 0xF0, 0x3E, 0x00, 0x07, - 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x01, 0xF0, 0x00, - 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x80, 0x03, 0xF0, - 0x07, 0xC0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, - 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, - 0x7E, 0x00, 0x00, 0x06, 0xFC, 0x00, 0x00, 0x19, 0xF8, 0x00, 0x00, 0x63, - 0xF8, 0x00, 0x00, 0xC7, 0xF0, 0x00, 0x03, 0x07, 0xE0, 0x00, 0x06, 0x0F, - 0xC0, 0x00, 0x18, 0x1F, 0x80, 0x00, 0x60, 0x3F, 0x00, 0x00, 0xC0, 0x7F, - 0x00, 0x03, 0x00, 0xFE, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF8, - 0x00, 0x60, 0x03, 0xF0, 0x00, 0xC0, 0x07, 0xE0, 0x03, 0x00, 0x0F, 0xE0, - 0x0E, 0x00, 0x1F, 0xC0, 0x18, 0x00, 0x3F, 0x80, 0x70, 0x00, 0x7F, 0x01, - 0xC0, 0x00, 0xFE, 0x03, 0x80, 0x01, 0xFE, 0x1F, 0x80, 0x07, 0xFE, 0x7F, - 0xC0, 0x3F, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x00, - 0xFE, 0x1F, 0xE0, 0x01, 0xFC, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x0F, - 0xE0, 0x3F, 0xC0, 0x1F, 0xC0, 0x7F, 0x80, 0x3F, 0x80, 0xFF, 0x00, 0x7F, - 0x01, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x03, 0xF8, 0x0F, 0xF0, 0x07, 0xF0, - 0x1F, 0xC0, 0x0F, 0xC0, 0x7F, 0x00, 0x3F, 0x87, 0xF0, 0x00, 0x7F, 0xFF, - 0x00, 0x00, 0xFE, 0x1F, 0xC0, 0x03, 0xF8, 0x0F, 0xE0, 0x07, 0xF0, 0x0F, - 0xE0, 0x0F, 0xE0, 0x1F, 0xC0, 0x1F, 0xC0, 0x3F, 0xC0, 0x7F, 0x00, 0x7F, - 0x80, 0xFE, 0x00, 0xFF, 0x01, 0xFC, 0x01, 0xFE, 0x03, 0xF0, 0x07, 0xFC, - 0x0F, 0xE0, 0x0F, 0xF0, 0x1F, 0xC0, 0x3F, 0xE0, 0x3F, 0x80, 0x7F, 0x80, - 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x0F, 0xF8, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, - 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x08, 0x00, 0x7F, 0xFE, 0xC0, - 0x0F, 0xF0, 0x7E, 0x00, 0xFE, 0x01, 0xF0, 0x1F, 0xE0, 0x07, 0x01, 0xFE, - 0x00, 0x38, 0x1F, 0xE0, 0x00, 0xC0, 0xFE, 0x00, 0x06, 0x0F, 0xF0, 0x00, - 0x30, 0xFF, 0x00, 0x01, 0x07, 0xF8, 0x00, 0x08, 0x7F, 0x80, 0x00, 0x03, - 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xF0, - 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0x01, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x03, - 0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x60, 0x7F, 0x00, 0x06, 0x03, 0xFC, 0x00, - 0x70, 0x0F, 0xE0, 0x07, 0x00, 0x1F, 0xC0, 0xE0, 0x00, 0x7F, 0xFE, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xFE, - 0x00, 0x00, 0xFE, 0x07, 0xF0, 0x00, 0x1F, 0xC0, 0x3F, 0x00, 0x03, 0xF8, - 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x03, - 0xF8, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x1F, 0xC0, 0x03, 0xFC, - 0x03, 0xF8, 0x00, 0x7F, 0x80, 0x7F, 0x00, 0x0F, 0xF0, 0x0F, 0xC0, 0x01, - 0xFE, 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x7F, 0x00, 0x07, 0xF8, 0x0F, 0xE0, - 0x01, 0xFF, 0x03, 0xF8, 0x00, 0x3F, 0xE0, 0x7F, 0x00, 0x07, 0xF8, 0x0F, - 0xE0, 0x00, 0xFF, 0x01, 0xFC, 0x00, 0x3F, 0xE0, 0x7F, 0x00, 0x07, 0xF8, - 0x0F, 0xE0, 0x01, 0xFF, 0x01, 0xFC, 0x00, 0x3F, 0xC0, 0x3F, 0x00, 0x0F, - 0xF0, 0x0F, 0xE0, 0x01, 0xFC, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x3F, 0x80, - 0x1F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x01, 0xFE, 0x07, 0xF8, 0x00, 0x7F, - 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, - 0x00, 0x7F, 0xFF, 0xFF, 0x00, 0x3F, 0xC0, 0x7E, 0x00, 0x3F, 0x80, 0x1E, - 0x00, 0x3F, 0x80, 0x0E, 0x00, 0x7F, 0x00, 0x06, 0x00, 0x7F, 0x00, 0x04, - 0x00, 0x7F, 0x00, 0x04, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x80, - 0x00, 0xFE, 0x01, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0xFC, 0x0F, 0x00, - 0x01, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFC, 0x3E, 0x00, - 0x03, 0xF8, 0x1E, 0x00, 0x03, 0xF8, 0x0C, 0x00, 0x03, 0xF8, 0x0C, 0x00, - 0x03, 0xF8, 0x0C, 0x00, 0x07, 0xF0, 0x08, 0x00, 0x07, 0xF0, 0x00, 0x08, - 0x07, 0xF0, 0x00, 0x18, 0x07, 0xE0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, - 0x0F, 0xE0, 0x00, 0x70, 0x0F, 0xE0, 0x01, 0xE0, 0x1F, 0xC0, 0x07, 0xE0, - 0x1F, 0xE0, 0x3F, 0xE0, 0x3F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xC0, - 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0x03, 0xF0, - 0x01, 0xFC, 0x01, 0xE0, 0x03, 0xF8, 0x01, 0xC0, 0x0F, 0xE0, 0x01, 0x80, - 0x1F, 0xC0, 0x02, 0x00, 0x3F, 0x80, 0x04, 0x00, 0x7F, 0x00, 0x00, 0x01, - 0xFC, 0x03, 0x00, 0x03, 0xF8, 0x04, 0x00, 0x07, 0xF0, 0x18, 0x00, 0x0F, - 0xC0, 0xF0, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0xFE, - 0x1F, 0x00, 0x03, 0xF8, 0x1E, 0x00, 0x07, 0xF0, 0x18, 0x00, 0x0F, 0xE0, - 0x30, 0x00, 0x1F, 0xC0, 0x60, 0x00, 0x7F, 0x00, 0x80, 0x00, 0xFE, 0x01, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, - 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0x01, 0xFE, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x02, 0x00, 0x0F, 0xFF, 0xEE, 0x00, 0x3F, 0xC0, - 0xFC, 0x00, 0x7F, 0x00, 0x7C, 0x01, 0xFE, 0x00, 0x3C, 0x03, 0xFC, 0x00, - 0x38, 0x07, 0xF8, 0x00, 0x18, 0x07, 0xF0, 0x00, 0x18, 0x0F, 0xF0, 0x00, - 0x10, 0x1F, 0xE0, 0x00, 0x10, 0x1F, 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x7F, 0x80, 0x00, - 0x00, 0x7F, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x1F, - 0xFF, 0xFF, 0x00, 0x07, 0xFC, 0xFF, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, - 0xF8, 0xFF, 0x00, 0x03, 0xF0, 0xFF, 0x00, 0x03, 0xF0, 0xFF, 0x00, 0x07, - 0xF0, 0x7F, 0x00, 0x07, 0xF0, 0x7F, 0x00, 0x07, 0xE0, 0x7F, 0x80, 0x07, - 0xE0, 0x3F, 0x80, 0x0F, 0xE0, 0x1F, 0xC0, 0x0F, 0xC0, 0x0F, 0xE0, 0x0F, - 0xC0, 0x07, 0xF0, 0x3F, 0x80, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xE0, - 0x00, 0x01, 0xFF, 0xFC, 0x7F, 0xFE, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x00, - 0xFE, 0x00, 0x3F, 0xC0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, - 0xFE, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x00, - 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x01, 0xFC, 0x00, - 0x7F, 0x00, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x01, 0xFC, 0x00, - 0x0F, 0xC0, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x00, 0x7F, 0xFF, - 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x03, 0xF8, 0x00, 0x7F, 0x00, - 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0x1F, 0xC0, - 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x3F, 0x80, - 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, - 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x0F, 0xE0, - 0x00, 0xFF, 0x00, 0x3F, 0xC0, 0x01, 0xFE, 0x00, 0x7F, 0x80, 0x07, 0xFC, - 0x01, 0xFF, 0x00, 0x3F, 0xFF, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xF8, - 0x03, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x3F, - 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, - 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, - 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, - 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, - 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xFC, - 0x00, 0x1F, 0xF0, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, - 0x3F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, - 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, - 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x07, 0x03, 0xF0, 0x01, 0xF0, 0xFE, 0x00, - 0x3E, 0x1F, 0xC0, 0x07, 0xC3, 0xF0, 0x00, 0xF8, 0xFC, 0x00, 0x0F, 0x3F, - 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0xF8, - 0xFF, 0xC0, 0x1F, 0xF8, 0x0F, 0xC0, 0x03, 0xF8, 0x01, 0xC0, 0x00, 0xFE, - 0x00, 0xE0, 0x00, 0x3F, 0x80, 0x70, 0x00, 0x1F, 0xC0, 0x38, 0x00, 0x07, - 0xF0, 0x1C, 0x00, 0x01, 0xFC, 0x0E, 0x00, 0x00, 0x7F, 0x07, 0x00, 0x00, - 0x3F, 0x83, 0x80, 0x00, 0x0F, 0xE1, 0xC0, 0x00, 0x03, 0xF8, 0xE0, 0x00, - 0x00, 0xFC, 0x60, 0x00, 0x00, 0x7F, 0x7C, 0x00, 0x00, 0x1F, 0xFF, 0x00, - 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x03, 0xFB, 0xF8, 0x00, 0x00, 0xFE, 0x7F, - 0x00, 0x00, 0x3F, 0x9F, 0xC0, 0x00, 0x0F, 0xE3, 0xF8, 0x00, 0x07, 0xF0, - 0xFE, 0x00, 0x01, 0xFC, 0x1F, 0xC0, 0x00, 0x7F, 0x07, 0xF0, 0x00, 0x1F, - 0x80, 0xFE, 0x00, 0x0F, 0xE0, 0x3F, 0x80, 0x03, 0xF8, 0x0F, 0xE0, 0x00, - 0xFE, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x1F, 0xE0, 0x0F, 0xE0, - 0x0F, 0xF8, 0x07, 0xFC, 0x0F, 0xFF, 0xC7, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, - 0x00, 0x03, 0xFF, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, - 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x80, - 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, - 0x07, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7F, 0x00, - 0x00, 0x03, 0xF8, 0x00, 0x04, 0x1F, 0xC0, 0x00, 0x60, 0xFC, 0x00, 0x06, - 0x0F, 0xE0, 0x00, 0x30, 0x7F, 0x00, 0x03, 0x83, 0xF8, 0x00, 0x7C, 0x3F, - 0x80, 0x0F, 0xC1, 0xFE, 0x03, 0xFE, 0x1F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, - 0xFF, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x03, 0xFC, 0x00, 0x03, - 0xFC, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x0F, 0xF8, - 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFC, 0x00, 0x1F, 0xF0, 0x00, - 0x6F, 0xC0, 0x03, 0xFF, 0x00, 0x06, 0xFC, 0x00, 0x37, 0xF0, 0x00, 0x6F, - 0xE0, 0x06, 0x7E, 0x00, 0x04, 0xFE, 0x00, 0xEF, 0xE0, 0x00, 0xCF, 0xE0, - 0x0C, 0xFE, 0x00, 0x0C, 0xFE, 0x01, 0x8F, 0xE0, 0x00, 0xCF, 0xE0, 0x38, - 0xFC, 0x00, 0x18, 0x7E, 0x03, 0x1F, 0xC0, 0x01, 0x87, 0xE0, 0x61, 0xFC, - 0x00, 0x18, 0x7E, 0x0E, 0x1F, 0xC0, 0x01, 0x87, 0xE0, 0xC3, 0xF8, 0x00, - 0x30, 0x7F, 0x18, 0x3F, 0x80, 0x03, 0x07, 0xF3, 0x83, 0xF8, 0x00, 0x30, - 0x7F, 0x30, 0x3F, 0x00, 0x06, 0x07, 0xF7, 0x07, 0xF0, 0x00, 0x60, 0x3F, - 0xE0, 0x7F, 0x00, 0x06, 0x03, 0xFC, 0x07, 0xF0, 0x00, 0xE0, 0x3F, 0xC0, - 0x7E, 0x00, 0x0C, 0x03, 0xF8, 0x0F, 0xE0, 0x00, 0xC0, 0x3F, 0x00, 0xFE, - 0x00, 0x0C, 0x03, 0xF0, 0x0F, 0xE0, 0x01, 0xC0, 0x3E, 0x01, 0xFC, 0x00, - 0x1C, 0x03, 0xC0, 0x1F, 0xC0, 0x07, 0xE0, 0x3C, 0x03, 0xFE, 0x00, 0xFF, - 0xC1, 0x81, 0xFF, 0xFC, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0xFF, - 0x00, 0x1F, 0xF8, 0x03, 0xF8, 0x00, 0x3F, 0x00, 0x0F, 0xE0, 0x00, 0xF0, - 0x00, 0x7F, 0x00, 0x07, 0x00, 0x03, 0xFC, 0x00, 0x38, 0x00, 0x1F, 0xE0, - 0x01, 0x80, 0x01, 0xBF, 0x80, 0x0C, 0x00, 0x0D, 0xFC, 0x00, 0x60, 0x00, - 0x67, 0xF0, 0x07, 0x00, 0x02, 0x3F, 0x80, 0x30, 0x00, 0x30, 0xFE, 0x01, - 0x80, 0x01, 0x87, 0xF0, 0x0C, 0x00, 0x0C, 0x1F, 0xC0, 0xC0, 0x00, 0xC0, - 0xFE, 0x06, 0x00, 0x06, 0x07, 0xF8, 0x30, 0x00, 0x30, 0x1F, 0xC1, 0x80, - 0x01, 0x80, 0xFF, 0x18, 0x00, 0x18, 0x03, 0xF8, 0xC0, 0x00, 0xC0, 0x1F, - 0xC6, 0x00, 0x06, 0x00, 0x7F, 0x60, 0x00, 0x60, 0x03, 0xFB, 0x00, 0x03, - 0x00, 0x0F, 0xF8, 0x00, 0x18, 0x00, 0x7F, 0xC0, 0x01, 0xC0, 0x01, 0xFC, - 0x00, 0x0C, 0x00, 0x0F, 0xE0, 0x00, 0x60, 0x00, 0x3F, 0x00, 0x03, 0x00, - 0x01, 0xF0, 0x00, 0x38, 0x00, 0x07, 0x80, 0x01, 0xC0, 0x00, 0x3C, 0x00, - 0x3F, 0x00, 0x01, 0xE0, 0x03, 0xFF, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x7E, - 0x1F, 0x80, 0x01, 0xF0, 0x0F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, - 0x1F, 0x80, 0xFE, 0x00, 0x3F, 0x03, 0xF8, 0x00, 0x7E, 0x07, 0xF0, 0x00, - 0xFE, 0x1F, 0xC0, 0x01, 0xFC, 0x7F, 0x80, 0x03, 0xF8, 0xFE, 0x00, 0x07, - 0xF3, 0xFC, 0x00, 0x1F, 0xE7, 0xF0, 0x00, 0x3F, 0xDF, 0xE0, 0x00, 0x7F, - 0xBF, 0xC0, 0x00, 0xFE, 0x7F, 0x80, 0x03, 0xFC, 0xFE, 0x00, 0x07, 0xFB, - 0xFC, 0x00, 0x0F, 0xF7, 0xF8, 0x00, 0x3F, 0xCF, 0xF0, 0x00, 0x7F, 0x9F, - 0xC0, 0x00, 0xFE, 0x3F, 0x80, 0x03, 0xFC, 0x7F, 0x00, 0x07, 0xF0, 0xFE, - 0x00, 0x1F, 0xC0, 0xFC, 0x00, 0x3F, 0x81, 0xF8, 0x00, 0xFE, 0x03, 0xF0, - 0x03, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x03, 0xE0, - 0xFC, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x01, 0xFF, - 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0xFE, 0x1F, 0xE0, 0x01, 0xFC, - 0x1F, 0xE0, 0x03, 0xF0, 0x1F, 0xC0, 0x0F, 0xE0, 0x3F, 0xC0, 0x1F, 0xC0, - 0x7F, 0x80, 0x3F, 0x80, 0xFF, 0x00, 0x7E, 0x01, 0xFE, 0x01, 0xFC, 0x03, - 0xFC, 0x03, 0xF8, 0x0F, 0xF8, 0x07, 0xF0, 0x1F, 0xE0, 0x0F, 0xC0, 0x7F, - 0x80, 0x3F, 0x81, 0xFE, 0x00, 0x7F, 0x07, 0xF8, 0x00, 0xFF, 0xFF, 0xC0, - 0x03, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, - 0x1F, 0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, - 0xFC, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0xFC, - 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x7E, 0x1F, 0x80, 0x01, - 0xF0, 0x0F, 0x80, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x80, 0x1F, 0x80, 0xFE, - 0x00, 0x3F, 0x03, 0xF8, 0x00, 0x7E, 0x07, 0xF0, 0x00, 0xFE, 0x1F, 0xC0, - 0x01, 0xFC, 0x7F, 0x80, 0x03, 0xF8, 0xFE, 0x00, 0x07, 0xF3, 0xFC, 0x00, - 0x1F, 0xE7, 0xF8, 0x00, 0x3F, 0xDF, 0xE0, 0x00, 0x7F, 0xBF, 0xC0, 0x00, - 0xFF, 0x7F, 0x80, 0x01, 0xFC, 0xFE, 0x00, 0x07, 0xFB, 0xFC, 0x00, 0x0F, - 0xF7, 0xF8, 0x00, 0x1F, 0xCF, 0xF0, 0x00, 0x7F, 0x9F, 0xC0, 0x00, 0xFE, - 0x3F, 0x80, 0x01, 0xFC, 0x7F, 0x00, 0x07, 0xF0, 0xFE, 0x00, 0x0F, 0xE1, - 0xFC, 0x00, 0x3F, 0x81, 0xF8, 0x00, 0x7E, 0x03, 0xF0, 0x01, 0xF8, 0x03, - 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x1F, 0x80, 0x03, 0xE0, 0x7E, 0x00, 0x03, - 0xF3, 0xF0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xC0, 0x7F, 0xE0, 0x03, 0x03, 0xFF, - 0xF8, 0x1C, 0x0F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xC0, 0xE0, 0x3F, - 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, - 0xFF, 0xF8, 0x00, 0x3F, 0xC3, 0xFC, 0x00, 0x3F, 0x81, 0xFE, 0x00, 0x3F, - 0x80, 0xFF, 0x00, 0x7F, 0x80, 0xFF, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0x7F, - 0x00, 0xFF, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0xFF, 0x01, 0xFE, 0x00, 0xFE, - 0x01, 0xFE, 0x00, 0xFE, 0x03, 0xFC, 0x00, 0xFE, 0x07, 0xF8, 0x01, 0xFC, - 0x1F, 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFE, 0x00, 0x03, 0xFD, - 0xFE, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, 0xF8, 0xFF, 0x00, 0x03, 0xF8, - 0xFF, 0x00, 0x07, 0xF8, 0x7F, 0x80, 0x07, 0xF0, 0x7F, 0x80, 0x07, 0xF0, - 0x3F, 0x80, 0x07, 0xF0, 0x3F, 0xC0, 0x0F, 0xE0, 0x3F, 0xC0, 0x0F, 0xE0, - 0x1F, 0xC0, 0x0F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, 0x1F, 0xE0, - 0x0F, 0xF0, 0x3F, 0xF0, 0x0F, 0xF8, 0xFF, 0xFC, 0x0F, 0xFE, 0x00, 0x1F, - 0x83, 0x00, 0x7F, 0xF7, 0x00, 0xF8, 0x7E, 0x01, 0xE0, 0x1E, 0x03, 0xC0, - 0x0E, 0x03, 0xC0, 0x0E, 0x07, 0xC0, 0x0E, 0x07, 0xC0, 0x04, 0x07, 0xC0, - 0x04, 0x07, 0xE0, 0x04, 0x07, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFC, - 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x7F, - 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x07, - 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x20, 0x00, 0xF8, 0x20, 0x00, - 0xF8, 0x20, 0x00, 0xF8, 0x70, 0x00, 0xF8, 0x70, 0x00, 0xF0, 0x78, 0x01, - 0xF0, 0x78, 0x03, 0xE0, 0x7E, 0x07, 0xC0, 0x47, 0xFF, 0x80, 0xC0, 0xFC, - 0x00, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFC, 0xFE, 0x3F, 0x8F, 0x9E, - 0x07, 0xF0, 0xF3, 0x81, 0xFC, 0x0E, 0x60, 0x3F, 0x81, 0x98, 0x07, 0xF0, - 0x13, 0x00, 0xFC, 0x02, 0x00, 0x3F, 0x80, 0x40, 0x07, 0xF0, 0x00, 0x00, - 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, - 0x00, 0x1F, 0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, - 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, - 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, - 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, - 0x03, 0xFF, 0x0F, 0xFC, 0x00, 0xFC, 0x07, 0xF0, 0x00, 0x38, 0x07, 0xF0, - 0x00, 0x38, 0x07, 0xF0, 0x00, 0x30, 0x0F, 0xE0, 0x00, 0x30, 0x0F, 0xE0, - 0x00, 0x70, 0x0F, 0xE0, 0x00, 0x60, 0x0F, 0xE0, 0x00, 0x60, 0x1F, 0xC0, - 0x00, 0xE0, 0x1F, 0xC0, 0x00, 0xC0, 0x1F, 0xC0, 0x00, 0xC0, 0x3F, 0x80, - 0x00, 0xC0, 0x3F, 0x80, 0x01, 0x80, 0x3F, 0x80, 0x01, 0x80, 0x3F, 0x80, - 0x01, 0x80, 0x7F, 0x00, 0x01, 0x80, 0x7F, 0x00, 0x03, 0x00, 0x7F, 0x00, - 0x03, 0x00, 0x7E, 0x00, 0x03, 0x00, 0xFE, 0x00, 0x06, 0x00, 0xFE, 0x00, - 0x06, 0x00, 0xFC, 0x00, 0x06, 0x00, 0xFC, 0x00, 0x0E, 0x00, 0xFC, 0x00, - 0x0C, 0x00, 0xFC, 0x00, 0x1C, 0x00, 0xFC, 0x00, 0x18, 0x00, 0x7E, 0x00, - 0x38, 0x00, 0x7E, 0x00, 0x70, 0x00, 0x3F, 0x81, 0xE0, 0x00, 0x0F, 0xFF, - 0x80, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x03, 0xFE, 0x7F, 0xE0, - 0x01, 0xF8, 0x7F, 0x80, 0x01, 0xC0, 0xFF, 0x00, 0x03, 0x80, 0xFE, 0x00, - 0x0E, 0x01, 0xFC, 0x00, 0x18, 0x03, 0xF8, 0x00, 0x70, 0x07, 0xF0, 0x00, - 0xC0, 0x0F, 0xF0, 0x03, 0x80, 0x1F, 0xE0, 0x0E, 0x00, 0x1F, 0xC0, 0x18, - 0x00, 0x3F, 0x80, 0x70, 0x00, 0x7F, 0x00, 0xC0, 0x00, 0xFE, 0x03, 0x00, - 0x01, 0xFC, 0x0E, 0x00, 0x03, 0xF8, 0x18, 0x00, 0x07, 0xF8, 0x60, 0x00, - 0x07, 0xF1, 0xC0, 0x00, 0x0F, 0xE3, 0x00, 0x00, 0x1F, 0xCC, 0x00, 0x00, - 0x3F, 0xB8, 0x00, 0x00, 0x7F, 0x60, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, - 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xFF, 0xF8, - 0xFF, 0xF0, 0xFF, 0x9F, 0xF8, 0x1F, 0xE0, 0x0F, 0x87, 0xF8, 0x07, 0xE0, - 0x07, 0x03, 0xF8, 0x03, 0xF0, 0x03, 0x80, 0xFE, 0x01, 0xF8, 0x01, 0x80, - 0x7F, 0x00, 0xFC, 0x00, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xC0, 0x1F, 0xC0, - 0x7F, 0x80, 0x60, 0x0F, 0xE0, 0x3F, 0xC0, 0x60, 0x07, 0xF0, 0x37, 0xE0, - 0x30, 0x03, 0xF8, 0x1B, 0xF0, 0x30, 0x00, 0xFC, 0x19, 0xF8, 0x18, 0x00, - 0x7E, 0x0C, 0xFE, 0x18, 0x00, 0x3F, 0x84, 0x7F, 0x0C, 0x00, 0x1F, 0xC6, - 0x3F, 0x8C, 0x00, 0x0F, 0xE2, 0x1F, 0xC6, 0x00, 0x07, 0xF3, 0x07, 0xE6, - 0x00, 0x03, 0xF9, 0x83, 0xF3, 0x00, 0x01, 0xFD, 0x81, 0xFB, 0x00, 0x00, - 0x7E, 0xC0, 0xFD, 0x80, 0x00, 0x3F, 0xC0, 0x7F, 0x80, 0x00, 0x1F, 0xE0, - 0x3F, 0xC0, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x0F, 0xE0, - 0x00, 0x03, 0xF0, 0x07, 0xE0, 0x00, 0x01, 0xF8, 0x01, 0xF0, 0x00, 0x00, - 0x78, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x00, 0x1C, 0x00, - 0x38, 0x00, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x00, - 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0xFF, 0xC0, 0x3F, - 0xE0, 0x0F, 0xC0, 0x03, 0xF8, 0x01, 0xE0, 0x00, 0xFE, 0x00, 0xE0, 0x00, - 0x3F, 0x80, 0x70, 0x00, 0x07, 0xE0, 0x18, 0x00, 0x01, 0xFC, 0x0C, 0x00, - 0x00, 0x7F, 0x06, 0x00, 0x00, 0x0F, 0xC3, 0x00, 0x00, 0x03, 0xF9, 0x80, - 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF8, - 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x0F, - 0xC0, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, - 0xFF, 0x80, 0x00, 0x00, 0x77, 0xF0, 0x00, 0x00, 0x39, 0xFC, 0x00, 0x00, - 0x1C, 0x3F, 0x00, 0x00, 0x06, 0x0F, 0xE0, 0x00, 0x03, 0x03, 0xF8, 0x00, - 0x01, 0x80, 0x7E, 0x00, 0x00, 0xE0, 0x1F, 0xC0, 0x00, 0x70, 0x07, 0xF0, - 0x00, 0x38, 0x01, 0xFC, 0x00, 0x1E, 0x00, 0x7F, 0x80, 0x1F, 0xC0, 0x1F, - 0xF0, 0x0F, 0xFC, 0x3F, 0xFF, 0x80, 0xFF, 0xF8, 0x3F, 0xF3, 0xFC, 0x00, - 0xFC, 0x1F, 0xC0, 0x07, 0x81, 0xFC, 0x00, 0x70, 0x0F, 0xC0, 0x0E, 0x00, - 0xFE, 0x00, 0xC0, 0x0F, 0xE0, 0x1C, 0x00, 0x7E, 0x03, 0x80, 0x07, 0xF0, - 0x30, 0x00, 0x7F, 0x06, 0x00, 0x03, 0xF0, 0xE0, 0x00, 0x3F, 0x8C, 0x00, - 0x03, 0xF9, 0x80, 0x00, 0x1F, 0xB0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x1F, - 0xE0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x1F, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x03, - 0xF8, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x7F, 0x00, - 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x01, - 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x3F, - 0xFF, 0xFF, 0x03, 0xF8, 0x0F, 0xF0, 0x7C, 0x01, 0xFE, 0x07, 0x80, 0x3F, - 0xC0, 0x70, 0x03, 0xF8, 0x06, 0x00, 0x7F, 0x80, 0xC0, 0x0F, 0xF0, 0x08, - 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, - 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xE0, 0x00, - 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0xC0, 0x00, - 0x07, 0xF8, 0x00, 0xC0, 0xFF, 0x00, 0x0C, 0x1F, 0xE0, 0x01, 0x81, 0xFE, - 0x00, 0x38, 0x3F, 0xC0, 0x07, 0x87, 0xF8, 0x01, 0xF0, 0xFF, 0x00, 0xFF, - 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xE0, 0x0F, - 0xFC, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, - 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF0, - 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x03, 0xC0, - 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, - 0x0F, 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, - 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xFE, 0x01, - 0xFF, 0xC0, 0x00, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x1C, - 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, - 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x07, 0x00, 0x3C, 0x01, 0xE0, 0x0F, 0x00, - 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x01, - 0xC0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x00, 0x78, 0x00, 0x7F, 0xE0, - 0x0F, 0xFC, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, - 0x07, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF0, 0x00, - 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x1E, 0x00, 0x07, 0xC0, 0x00, - 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, - 0xE0, 0x00, 0x78, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x0F, - 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xE0, 0x07, 0xFC, - 0x01, 0xFF, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x7F, 0x00, - 0x03, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xEF, 0x00, 0x1E, 0x78, 0x00, 0xF1, - 0xE0, 0x0F, 0x0F, 0x00, 0x78, 0x3C, 0x07, 0xC1, 0xE0, 0x3C, 0x07, 0x83, - 0xE0, 0x3C, 0x1E, 0x00, 0xF1, 0xF0, 0x07, 0x8F, 0x00, 0x1E, 0xF8, 0x00, - 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x3E, - 0x0F, 0x83, 0xF0, 0x3E, 0x07, 0x80, 0xF0, 0x0E, 0x01, 0xC0, 0x00, 0x3C, - 0x0C, 0x03, 0xF9, 0xF0, 0x1F, 0x3F, 0x80, 0xF8, 0x7E, 0x07, 0xC1, 0xF8, - 0x3F, 0x07, 0xC0, 0xF8, 0x1F, 0x07, 0xE0, 0x7C, 0x3F, 0x01, 0xF0, 0xFC, - 0x0F, 0x87, 0xE0, 0x3E, 0x1F, 0x80, 0xF8, 0x7E, 0x03, 0xC3, 0xF8, 0x1F, - 0x0F, 0xC0, 0x7C, 0x3F, 0x03, 0xF0, 0xFC, 0x0F, 0x83, 0xF0, 0x7E, 0x3F, - 0xC2, 0xF8, 0xBF, 0x9B, 0xE4, 0x7F, 0xCF, 0xE0, 0xFE, 0x3F, 0x01, 0xE0, - 0x78, 0x00, 0x00, 0x7C, 0x00, 0x3F, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0x7E, - 0x00, 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, - 0x03, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x3E, 0x01, 0xF9, 0xFC, 0x07, - 0xEF, 0xF8, 0x1F, 0x47, 0xF0, 0x7E, 0x0F, 0xC3, 0xF8, 0x3F, 0x0F, 0xC0, - 0xFC, 0x3F, 0x03, 0xF1, 0xF8, 0x0F, 0xC7, 0xE0, 0x3F, 0x1F, 0x01, 0xF8, - 0x7C, 0x07, 0xE3, 0xF0, 0x1F, 0x8F, 0xC0, 0xFC, 0x3E, 0x03, 0xF1, 0xF8, - 0x0F, 0x87, 0xE0, 0x7C, 0x1F, 0x03, 0xE0, 0xFC, 0x0F, 0x03, 0xF0, 0x78, - 0x0F, 0xC7, 0xC0, 0x1F, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x3F, 0x00, - 0x3F, 0xE0, 0x1E, 0x3C, 0x0F, 0x0F, 0x07, 0x87, 0xC3, 0xE1, 0xF1, 0xF0, - 0x38, 0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, - 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x03, 0x3F, - 0x00, 0xCF, 0xE0, 0x61, 0xFC, 0x70, 0x3F, 0xF8, 0x07, 0xFC, 0x00, 0xFC, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0xE0, 0x00, - 0x07, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xFC, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, - 0x07, 0x9F, 0x80, 0x0F, 0xFF, 0xC0, 0x0F, 0x9F, 0xE0, 0x0F, 0x87, 0xF0, - 0x0F, 0x83, 0xF0, 0x0F, 0xC1, 0xF8, 0x07, 0xC0, 0xFC, 0x07, 0xE0, 0x7C, - 0x07, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x1F, 0x81, 0xF8, 0x0F, - 0x80, 0xFC, 0x0F, 0xC0, 0xFE, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, - 0xF0, 0x1F, 0x83, 0xF8, 0x0F, 0xC1, 0xF8, 0xC7, 0xE1, 0xFC, 0xC3, 0xF9, - 0xBE, 0xC0, 0xFF, 0x9F, 0xC0, 0x7F, 0x8F, 0xC0, 0x0F, 0x83, 0xC0, 0x00, - 0x00, 0x3F, 0x00, 0x3F, 0xE0, 0x1E, 0x3C, 0x0F, 0x0F, 0x07, 0x83, 0xC3, - 0xE0, 0xF1, 0xF0, 0x3C, 0xFC, 0x1E, 0x3F, 0x0F, 0x9F, 0x83, 0xC7, 0xE3, - 0xE1, 0xFB, 0xE0, 0xFF, 0xE0, 0x3F, 0xC0, 0x0F, 0xC0, 0x03, 0xF0, 0x00, - 0xFC, 0x03, 0x3F, 0x01, 0x8F, 0xC0, 0xC1, 0xF8, 0x70, 0x7F, 0xF8, 0x07, - 0xFC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x03, 0xCE, 0x00, - 0x00, 0x78, 0xF0, 0x00, 0x0F, 0x8F, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x1F, - 0x06, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F, - 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, - 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0x00, - 0x00, 0x03, 0xF0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x07, 0xC0, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x06, 0x1F, 0x00, 0x00, 0xF1, 0xE0, - 0x00, 0x0F, 0x3E, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x07, 0xF8, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x7F, 0xF0, 0x00, 0x7E, - 0x3F, 0xE0, 0x7C, 0x0F, 0xF0, 0x7E, 0x07, 0xC0, 0x7E, 0x03, 0xE0, 0x3F, - 0x01, 0xF0, 0x1F, 0x01, 0xF8, 0x0F, 0x80, 0xFC, 0x07, 0xC0, 0xFC, 0x01, - 0xE0, 0xFC, 0x00, 0x78, 0xFC, 0x00, 0x1F, 0xFC, 0x00, 0x0F, 0xF0, 0x00, - 0x1C, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xF8, 0x00, - 0x07, 0xFF, 0x80, 0x01, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x77, 0xFF, - 0x80, 0xF0, 0x7F, 0xC0, 0xF0, 0x07, 0xE0, 0xF0, 0x01, 0xF0, 0x78, 0x00, - 0xF8, 0x3C, 0x00, 0x78, 0x1F, 0x00, 0x7C, 0x07, 0xC0, 0x78, 0x01, 0xFF, - 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x04, 0x00, 0x01, 0xF8, 0x00, 0x1F, - 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x7E, - 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0xC0, - 0x00, 0x1F, 0x87, 0xC0, 0x3E, 0x1F, 0xC0, 0xFC, 0x7F, 0x81, 0xF9, 0x9F, - 0x03, 0xE6, 0x3E, 0x07, 0xD8, 0x7C, 0x1F, 0xA0, 0xF8, 0x3F, 0x83, 0xF0, - 0x7F, 0x07, 0xE0, 0xFC, 0x0F, 0xC3, 0xF8, 0x3F, 0x07, 0xE0, 0x7E, 0x0F, - 0xC0, 0xFC, 0x3F, 0x03, 0xF0, 0x7E, 0x07, 0xE0, 0xFC, 0x0F, 0xC1, 0xF0, - 0x3F, 0x17, 0xE0, 0x7E, 0x6F, 0xC0, 0xF9, 0x9F, 0x01, 0xF6, 0x3E, 0x03, - 0xF8, 0xFC, 0x07, 0xF1, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x3F, 0x03, 0xF0, - 0x3F, 0x03, 0xF0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC7, - 0xFC, 0x1F, 0xC0, 0xF8, 0x0F, 0x81, 0xF8, 0x1F, 0x81, 0xF0, 0x1F, 0x03, - 0xF0, 0x3E, 0x03, 0xE0, 0x3E, 0x07, 0xE0, 0x7C, 0x07, 0xC0, 0xFC, 0x2F, - 0x84, 0xF8, 0xCF, 0x98, 0xFF, 0x0F, 0xE0, 0x78, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, - 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x00, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xC0, - 0x00, 0x3E, 0x00, 0x01, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, - 0x7C, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xF8, - 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, - 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x1F, - 0x80, 0x00, 0x7E, 0x00, 0x01, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x3F, 0x00, - 0x60, 0xF8, 0x03, 0xC3, 0xC0, 0x0F, 0x1F, 0x00, 0x3C, 0xF8, 0x00, 0x7F, - 0xC0, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFC, 0x00, 0x07, - 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x01, - 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xF0, 0x00, 0x03, - 0xF0, 0x00, 0x03, 0xF0, 0x00, 0x03, 0xE3, 0xFF, 0x03, 0xE0, 0xFC, 0x07, - 0xE0, 0xF0, 0x07, 0xE0, 0xE0, 0x07, 0xC1, 0xC0, 0x0F, 0xC3, 0x80, 0x0F, - 0xC7, 0x00, 0x0F, 0x8E, 0x00, 0x0F, 0xBE, 0x00, 0x1F, 0xFE, 0x00, 0x1F, - 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0x1F, 0x3E, 0x00, 0x3F, 0x3F, 0x00, 0x3F, - 0x1F, 0x00, 0x3E, 0x1F, 0x00, 0x7E, 0x1F, 0x04, 0x7E, 0x1F, 0x8C, 0x7E, - 0x0F, 0x98, 0x7C, 0x0F, 0xF0, 0xFC, 0x07, 0xE0, 0xE0, 0x03, 0xC0, 0x00, - 0x08, 0x0F, 0xC7, 0xFE, 0x07, 0xF0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7C, - 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0x80, 0x7C, 0x07, 0xE0, 0x3E, 0x01, - 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xC0, 0x3E, 0x03, 0xF0, 0x1F, 0x80, 0xF8, - 0x0F, 0xC0, 0x7E, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x8F, 0x8C, 0x7C, 0x43, - 0xE4, 0x1F, 0xE0, 0xFE, 0x03, 0xC0, 0x00, 0x00, 0x70, 0x78, 0x0F, 0x83, - 0xFE, 0x3F, 0x87, 0xF8, 0x1F, 0xCF, 0xF1, 0xFF, 0x03, 0xF1, 0x3E, 0x73, - 0xE0, 0x7E, 0x47, 0xD8, 0x7C, 0x0F, 0xD0, 0xFB, 0x1F, 0x81, 0xF4, 0x3E, - 0xC3, 0xF0, 0x3E, 0x87, 0xF0, 0x7C, 0x0F, 0xE0, 0xFE, 0x1F, 0x81, 0xF4, - 0x1F, 0x83, 0xF0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xE0, 0xFC, 0x1F, 0x81, - 0xF8, 0x1F, 0x83, 0xF0, 0x3F, 0x07, 0xE0, 0x7C, 0x07, 0xE0, 0xFC, 0x0F, - 0x80, 0xF8, 0x1F, 0x03, 0xF0, 0x3F, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0xFC, - 0x0F, 0x88, 0xF8, 0x1F, 0x81, 0xF3, 0x3F, 0x03, 0xE0, 0x3E, 0x47, 0xE0, - 0xFC, 0x07, 0xF0, 0xFC, 0x1F, 0x80, 0xFE, 0x18, 0x00, 0x00, 0x0F, 0x00, - 0x00, 0x70, 0xF8, 0x7F, 0xC3, 0xF8, 0x1F, 0x8F, 0xF0, 0x3F, 0x33, 0xE0, - 0x7C, 0x87, 0xC1, 0xF9, 0x0F, 0x83, 0xF4, 0x1F, 0x07, 0xD0, 0x3E, 0x0F, - 0xE0, 0xFC, 0x3F, 0x81, 0xF8, 0x7F, 0x03, 0xE0, 0xFC, 0x0F, 0xC1, 0xF8, - 0x1F, 0x87, 0xE0, 0x3E, 0x0F, 0xC0, 0xFC, 0x1F, 0x81, 0xF0, 0x3E, 0x03, - 0xE0, 0xFC, 0x0F, 0xC9, 0xF8, 0x1F, 0x33, 0xE0, 0x3E, 0x47, 0xC0, 0x7F, - 0x1F, 0x80, 0xFE, 0x38, 0x00, 0xF0, 0x00, 0x00, 0x3F, 0x00, 0x0E, 0x38, - 0x03, 0xC1, 0xC0, 0x78, 0x1E, 0x0F, 0x81, 0xF0, 0xF0, 0x1F, 0x1F, 0x01, - 0xF3, 0xE0, 0x1F, 0x3E, 0x03, 0xF7, 0xC0, 0x3F, 0x7C, 0x03, 0xF7, 0xC0, - 0x3E, 0xFC, 0x03, 0xEF, 0xC0, 0x7E, 0xF8, 0x07, 0xCF, 0x80, 0x7C, 0xF8, - 0x0F, 0x8F, 0x80, 0xF8, 0xF8, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x3C, 0x03, - 0xC7, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x0F, 0x1F, 0x00, 0x3F, 0xE7, 0xF8, - 0x01, 0xF9, 0xFF, 0x00, 0x1F, 0x47, 0xF0, 0x07, 0xF0, 0x7E, 0x00, 0xFE, - 0x0F, 0xC0, 0x1F, 0x81, 0xF8, 0x03, 0xF0, 0x3F, 0x00, 0xFC, 0x07, 0xE0, - 0x1F, 0x81, 0xFC, 0x03, 0xE0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x1F, 0x81, - 0xFC, 0x03, 0xF0, 0x3F, 0x00, 0x7C, 0x07, 0xE0, 0x0F, 0x81, 0xF8, 0x03, - 0xF0, 0x3E, 0x00, 0x7E, 0x0F, 0xC0, 0x0F, 0x81, 0xF0, 0x01, 0xF0, 0x7C, - 0x00, 0x7F, 0x1F, 0x00, 0x0F, 0xFF, 0xC0, 0x01, 0xF3, 0xE0, 0x00, 0x3E, - 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, - 0x0F, 0xC0, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0xFC, - 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0xF9, 0xF0, 0x1F, 0x1F, 0xC0, 0xF8, - 0x7E, 0x07, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xF8, 0x1F, 0x87, 0xE0, 0x7C, - 0x3F, 0x01, 0xF0, 0xFC, 0x0F, 0xC7, 0xE0, 0x3E, 0x1F, 0x80, 0xF8, 0x7E, - 0x07, 0xE3, 0xF0, 0x1F, 0x8F, 0xC0, 0x7C, 0x3F, 0x03, 0xF0, 0xFC, 0x0F, - 0xC3, 0xF0, 0x7E, 0x0F, 0xC3, 0xF8, 0x3F, 0x9B, 0xE0, 0x7F, 0xDF, 0x01, - 0xFE, 0x7C, 0x01, 0xF1, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x3E, 0x00, 0x00, - 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7C, 0x00, 0x03, 0xF8, - 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x71, 0xE1, 0xFF, 0x3E, 0x07, 0xE7, 0xF0, - 0x7E, 0xFF, 0x07, 0xE9, 0xE0, 0x7D, 0x0E, 0x07, 0xD0, 0x00, 0xFE, 0x00, - 0x0F, 0xE0, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0x80, - 0x01, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x03, 0xF0, - 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xC0, 0x00, 0x01, - 0xF1, 0x07, 0xFF, 0x0F, 0x0F, 0x0E, 0x07, 0x1E, 0x06, 0x1E, 0x06, 0x1F, - 0x02, 0x1F, 0x02, 0x1F, 0x80, 0x0F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x07, - 0xF8, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFC, 0x40, 0x7C, 0x40, 0x7C, 0x60, - 0x3C, 0xE0, 0x38, 0xF0, 0x38, 0xF8, 0xF0, 0xDF, 0xC0, 0x00, 0x20, 0x03, - 0x00, 0x38, 0x03, 0x80, 0x3C, 0x03, 0xE0, 0x7F, 0x07, 0xFF, 0x3F, 0xF8, - 0x7C, 0x07, 0xE0, 0x3F, 0x01, 0xF0, 0x0F, 0x80, 0xFC, 0x07, 0xC0, 0x3E, - 0x03, 0xF0, 0x1F, 0x80, 0xF8, 0x07, 0xC0, 0x7E, 0x03, 0xF1, 0x1F, 0x08, - 0xF8, 0x87, 0xC8, 0x3F, 0xC1, 0xFC, 0x07, 0x80, 0x00, 0x00, 0x40, 0x00, - 0x1F, 0x03, 0xF7, 0xF8, 0x0F, 0x87, 0xE0, 0x3E, 0x1F, 0x81, 0xF8, 0x7E, - 0x07, 0xC1, 0xF0, 0x1F, 0x07, 0xC0, 0xFC, 0x3F, 0x03, 0xE0, 0xF8, 0x0F, - 0x83, 0xE0, 0x7E, 0x0F, 0x81, 0xF8, 0x7E, 0x0F, 0xC1, 0xF0, 0x3F, 0x07, - 0xC1, 0xFC, 0x1F, 0x07, 0xE0, 0xF8, 0x2F, 0x83, 0xE1, 0x3C, 0x6F, 0x8D, - 0xF1, 0x3E, 0x67, 0xC8, 0xFF, 0x1F, 0xE3, 0xF8, 0x7F, 0x07, 0xC0, 0xF0, - 0x00, 0x06, 0x07, 0x1F, 0x07, 0xBF, 0x83, 0xE7, 0xC1, 0xF3, 0xE0, 0xF9, - 0xF8, 0x3C, 0x7C, 0x0C, 0x3E, 0x06, 0x1F, 0x03, 0x0F, 0x83, 0x07, 0xC1, - 0x83, 0xE1, 0x81, 0xF1, 0x80, 0xF9, 0x80, 0x7C, 0xC0, 0x3E, 0xC0, 0x1F, - 0xC0, 0x0F, 0xC0, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x00, 0xC0, 0x00, - 0x40, 0x00, 0x06, 0x01, 0x81, 0xC7, 0xC0, 0x30, 0x7F, 0xF8, 0x0E, 0x0F, - 0x9F, 0x01, 0xC1, 0xF3, 0xE0, 0x78, 0x3E, 0x7C, 0x1F, 0x03, 0xCF, 0xC3, - 0xE0, 0x30, 0xF8, 0xFC, 0x06, 0x1F, 0x1F, 0xC0, 0x83, 0xE7, 0xF8, 0x30, - 0x7C, 0xFF, 0x04, 0x0F, 0xB7, 0xE1, 0x81, 0xF6, 0xFC, 0x60, 0x3F, 0x8F, - 0x98, 0x07, 0xE1, 0xF3, 0x00, 0xFC, 0x3E, 0xC0, 0x1F, 0x07, 0xF0, 0x03, - 0xE0, 0xFC, 0x00, 0x78, 0x1F, 0x80, 0x0F, 0x03, 0xE0, 0x01, 0xC0, 0x78, - 0x00, 0x30, 0x0E, 0x00, 0x06, 0x01, 0x80, 0x00, 0x00, 0xF0, 0x1E, 0x0F, - 0xF0, 0x3E, 0x01, 0xF8, 0x7F, 0x01, 0xF8, 0xFF, 0x00, 0xF9, 0x8E, 0x00, - 0xFB, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x00, 0x01, 0xBF, 0x00, 0x01, - 0xBF, 0x08, 0x73, 0x1F, 0x18, 0xFF, 0x1F, 0x30, 0xFE, 0x1F, 0xE0, 0xFC, - 0x0F, 0xC0, 0x78, 0x07, 0x80, 0x00, 0x30, 0x1C, 0x0F, 0xF0, 0x7C, 0x07, - 0xE0, 0xF8, 0x0F, 0xC1, 0xF0, 0x0F, 0xC1, 0xE0, 0x1F, 0x81, 0xC0, 0x3F, - 0x03, 0x00, 0x3E, 0x06, 0x00, 0x7E, 0x08, 0x00, 0xFC, 0x30, 0x01, 0xF8, - 0x60, 0x01, 0xF1, 0x80, 0x03, 0xE3, 0x00, 0x07, 0xCC, 0x00, 0x0F, 0xD8, - 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, - 0x00, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x07, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x01, 0xC1, 0x80, 0x07, 0xE6, - 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x07, - 0xFF, 0xE1, 0xFF, 0xF8, 0x3F, 0xFF, 0x07, 0xFF, 0xC0, 0x80, 0x70, 0x30, - 0x1C, 0x04, 0x07, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, - 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x06, 0x00, 0x01, 0xC0, 0x00, 0x30, - 0x00, 0x0C, 0x00, 0x03, 0xE0, 0x00, 0xFE, 0x00, 0x1F, 0xE0, 0xC7, 0xFC, - 0x3D, 0xCF, 0xC7, 0x90, 0xF8, 0xF0, 0x07, 0x9C, 0x00, 0x3E, 0x00, 0x00, - 0x01, 0xF0, 0x00, 0xFC, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, - 0x07, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0x80, - 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, 0xE0, - 0x00, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0xC0, - 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, - 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x03, - 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, - 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7E, 0x00, - 0x03, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, - 0x3E, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, - 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x00, 0x07, 0xC0, 0x00, 0x7C, - 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x0F, - 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, - 0xF8, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x03, 0xE0, 0x00, - 0x7C, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, - 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, - 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, - 0x03, 0xF0, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x03, 0xFF, 0x01, 0x3F, - 0xFE, 0x1D, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0x00, 0x1F, 0xF0, 0x00, 0x1F, - 0x00 }; - -const GFXglyph FreeSerifBoldItalic24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' - { 0, 15, 33, 18, 3, -31 }, // 0x21 '!' - { 62, 19, 13, 26, 6, -31 }, // 0x22 '"' - { 93, 27, 33, 23, -2, -32 }, // 0x23 '#' - { 205, 24, 39, 24, -1, -33 }, // 0x24 '$' - { 322, 35, 32, 39, 2, -30 }, // 0x25 '%' - { 462, 33, 33, 37, 0, -31 }, // 0x26 '&' - { 599, 7, 13, 13, 6, -31 }, // 0x27 ''' - { 611, 14, 41, 16, 1, -31 }, // 0x28 '(' - { 683, 14, 41, 16, -2, -31 }, // 0x29 ')' - { 755, 19, 20, 23, 3, -31 }, // 0x2A '*' - { 803, 22, 23, 27, 2, -22 }, // 0x2B '+' - { 867, 10, 15, 12, -3, -5 }, // 0x2C ',' - { 886, 12, 5, 16, 0, -12 }, // 0x2D '-' - { 894, 8, 7, 12, 0, -5 }, // 0x2E '.' - { 901, 19, 33, 16, 0, -31 }, // 0x2F '/' - { 980, 22, 33, 23, 1, -31 }, // 0x30 '0' - { 1071, 20, 32, 23, 0, -31 }, // 0x31 '1' - { 1151, 22, 32, 23, 1, -31 }, // 0x32 '2' - { 1239, 22, 33, 24, 0, -31 }, // 0x33 '3' - { 1330, 25, 32, 23, 0, -31 }, // 0x34 '4' - { 1430, 24, 32, 24, 0, -30 }, // 0x35 '5' - { 1526, 23, 32, 24, 1, -30 }, // 0x36 '6' - { 1618, 23, 31, 23, 3, -30 }, // 0x37 '7' - { 1708, 21, 33, 23, 1, -31 }, // 0x38 '8' - { 1795, 23, 33, 23, 0, -31 }, // 0x39 '9' - { 1890, 13, 22, 12, 0, -20 }, // 0x3A ':' - { 1926, 15, 30, 12, -2, -20 }, // 0x3B ';' - { 1983, 24, 25, 27, 1, -23 }, // 0x3C '<' - { 2058, 24, 14, 27, 3, -18 }, // 0x3D '=' - { 2100, 24, 25, 27, 3, -23 }, // 0x3E '>' - { 2175, 18, 33, 24, 4, -31 }, // 0x3F '?' - { 2250, 33, 33, 39, 3, -31 }, // 0x40 '@' - { 2387, 31, 32, 33, 0, -31 }, // 0x41 'A' - { 2511, 31, 31, 30, 0, -30 }, // 0x42 'B' - { 2632, 29, 33, 29, 2, -31 }, // 0x43 'C' - { 2752, 35, 31, 34, 0, -30 }, // 0x44 'D' - { 2888, 32, 31, 30, 0, -30 }, // 0x45 'E' - { 3012, 31, 31, 29, 0, -30 }, // 0x46 'F' - { 3133, 32, 33, 33, 2, -31 }, // 0x47 'G' - { 3265, 39, 31, 35, 0, -30 }, // 0x48 'H' - { 3417, 21, 31, 18, 0, -30 }, // 0x49 'I' - { 3499, 27, 36, 23, 0, -30 }, // 0x4A 'J' - { 3621, 34, 31, 31, 0, -30 }, // 0x4B 'K' - { 3753, 29, 31, 29, 0, -30 }, // 0x4C 'L' - { 3866, 44, 32, 41, 0, -30 }, // 0x4D 'M' - { 4042, 37, 32, 33, 0, -30 }, // 0x4E 'N' - { 4190, 31, 33, 32, 2, -31 }, // 0x4F 'O' - { 4318, 31, 31, 28, 0, -30 }, // 0x50 'P' - { 4439, 31, 42, 32, 2, -31 }, // 0x51 'Q' - { 4602, 32, 31, 31, 0, -30 }, // 0x52 'R' - { 4726, 24, 33, 24, 0, -31 }, // 0x53 'S' - { 4825, 27, 31, 28, 4, -30 }, // 0x54 'T' - { 4930, 32, 32, 34, 5, -30 }, // 0x55 'U' - { 5058, 31, 32, 33, 6, -30 }, // 0x56 'V' - { 5182, 41, 32, 44, 6, -30 }, // 0x57 'W' - { 5346, 34, 31, 33, 0, -30 }, // 0x58 'X' - { 5478, 28, 31, 30, 6, -30 }, // 0x59 'Y' - { 5587, 28, 31, 26, 0, -30 }, // 0x5A 'Z' - { 5696, 19, 38, 16, -2, -30 }, // 0x5B '[' - { 5787, 13, 33, 19, 6, -31 }, // 0x5C '\' - { 5841, 19, 38, 16, -3, -30 }, // 0x5D ']' - { 5932, 21, 17, 27, 3, -30 }, // 0x5E '^' - { 5977, 24, 3, 23, 0, 5 }, // 0x5F '_' - { 5986, 10, 9, 16, 4, -32 }, // 0x60 '`' - { 5998, 22, 23, 24, 1, -21 }, // 0x61 'a' - { 6062, 22, 33, 23, 1, -31 }, // 0x62 'b' - { 6153, 18, 23, 20, 1, -21 }, // 0x63 'c' - { 6205, 25, 34, 24, 1, -32 }, // 0x64 'd' - { 6312, 18, 23, 20, 1, -21 }, // 0x65 'e' - { 6364, 28, 41, 23, -4, -31 }, // 0x66 'f' - { 6508, 25, 31, 23, -1, -21 }, // 0x67 'g' - { 6605, 23, 34, 26, 1, -32 }, // 0x68 'h' - { 6703, 12, 33, 14, 2, -31 }, // 0x69 'i' - { 6753, 22, 42, 16, -4, -31 }, // 0x6A 'j' - { 6869, 24, 34, 24, 1, -32 }, // 0x6B 'k' - { 6971, 13, 34, 14, 2, -32 }, // 0x6C 'l' - { 7027, 35, 23, 36, 0, -21 }, // 0x6D 'm' - { 7128, 23, 23, 25, 0, -21 }, // 0x6E 'n' - { 7195, 20, 23, 22, 1, -21 }, // 0x6F 'o' - { 7253, 27, 31, 23, -4, -21 }, // 0x70 'p' - { 7358, 22, 31, 23, 1, -21 }, // 0x71 'q' - { 7444, 20, 22, 19, 0, -21 }, // 0x72 'r' - { 7499, 16, 23, 17, 0, -21 }, // 0x73 's' - { 7545, 13, 29, 13, 2, -27 }, // 0x74 't' - { 7593, 22, 23, 25, 2, -21 }, // 0x75 'u' - { 7657, 17, 23, 21, 3, -21 }, // 0x76 'v' - { 7706, 27, 23, 31, 3, -21 }, // 0x77 'w' - { 7784, 24, 23, 22, -1, -21 }, // 0x78 'x' - { 7853, 23, 31, 20, -3, -21 }, // 0x79 'y' - { 7943, 19, 25, 19, 0, -20 }, // 0x7A 'z' - { 8003, 20, 41, 16, 0, -31 }, // 0x7B '{' - { 8106, 4, 33, 13, 5, -31 }, // 0x7C '|' - { 8123, 20, 41, 16, -6, -31 }, // 0x7D '}' - { 8226, 21, 7, 27, 3, -14 } }; // 0x7E '~' - -const GFXfont FreeSerifBoldItalic24pt7b PROGMEM = { - (uint8_t *)FreeSerifBoldItalic24pt7bBitmaps, - (GFXglyph *)FreeSerifBoldItalic24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 8917 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h deleted file mode 100644 index 47711ee..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifBoldItalic9pt7b.h +++ /dev/null @@ -1,215 +0,0 @@ -const uint8_t FreeSerifBoldItalic9pt7bBitmaps[] PROGMEM = { - 0x0C, 0x31, 0xC6, 0x18, 0x41, 0x08, 0x20, 0x0E, 0x38, 0xE0, 0xCF, 0x38, - 0xA2, 0x88, 0x02, 0x40, 0xC8, 0x13, 0x06, 0x43, 0xFC, 0x32, 0x06, 0x40, - 0x98, 0x7F, 0x84, 0xC0, 0x90, 0x32, 0x04, 0xC0, 0x01, 0x01, 0xF0, 0x4B, - 0x99, 0x33, 0x24, 0x78, 0x07, 0x80, 0x38, 0x0B, 0x89, 0x31, 0x26, 0x64, - 0xC7, 0x30, 0x3C, 0x04, 0x00, 0x38, 0x41, 0x9F, 0x06, 0x48, 0x31, 0x60, - 0xCD, 0x03, 0x2C, 0x07, 0x27, 0x81, 0x39, 0x05, 0xC4, 0x26, 0x10, 0x98, - 0x84, 0x66, 0x10, 0xE0, 0x03, 0x80, 0x22, 0x03, 0x10, 0x19, 0x00, 0xF0, - 0x0F, 0x3C, 0xF8, 0xCC, 0xC4, 0xE7, 0x47, 0x3E, 0x38, 0xE1, 0xE7, 0x97, - 0xCF, 0x00, 0xFA, 0x80, 0x08, 0x88, 0x84, 0x62, 0x10, 0x84, 0x21, 0x08, - 0x41, 0x00, 0x20, 0x84, 0x10, 0x84, 0x21, 0x08, 0xC6, 0x23, 0x11, 0x00, - 0x18, 0x18, 0xD6, 0x38, 0x18, 0xF7, 0x18, 0x18, 0x08, 0x04, 0x02, 0x01, - 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0x6D, 0x95, 0x00, 0xFF, 0xC0, - 0xFF, 0x80, 0x06, 0x0C, 0x30, 0x60, 0x83, 0x04, 0x18, 0x20, 0xC1, 0x06, - 0x00, 0x0F, 0x0C, 0x8C, 0x6E, 0x37, 0x1B, 0x1F, 0x8F, 0xC7, 0xC7, 0x63, - 0xB1, 0x89, 0x83, 0x80, 0x06, 0x1E, 0x0E, 0x0E, 0x0C, 0x0C, 0x1C, 0x18, - 0x18, 0x18, 0x38, 0x38, 0xFC, 0x1F, 0x13, 0xD0, 0xE0, 0x70, 0x38, 0x38, - 0x18, 0x18, 0x18, 0x08, 0x08, 0x4F, 0xCF, 0xE0, 0x1F, 0x11, 0xC0, 0xE0, - 0x60, 0xC1, 0xF0, 0x38, 0x0C, 0x06, 0x03, 0x01, 0x19, 0x8F, 0x00, 0x00, - 0x80, 0xC0, 0xE1, 0xE0, 0xB0, 0x98, 0x9C, 0x8C, 0xFF, 0x07, 0x03, 0x01, - 0x80, 0x0F, 0x88, 0x08, 0x07, 0x83, 0xE0, 0x78, 0x1C, 0x06, 0x03, 0x01, - 0x80, 0x9C, 0x87, 0x80, 0x03, 0x87, 0x07, 0x07, 0x07, 0x03, 0xE3, 0x99, - 0xCC, 0xC6, 0x63, 0x33, 0x89, 0x87, 0x80, 0x3F, 0xBF, 0x90, 0x80, 0xC0, - 0x40, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x13, 0x31, - 0x31, 0x3A, 0x1C, 0x1C, 0x6E, 0xC6, 0xC6, 0xC6, 0x44, 0x38, 0x0E, 0x1C, - 0x8C, 0x6C, 0x36, 0x3B, 0x1D, 0x8E, 0x7E, 0x0E, 0x07, 0x07, 0x0E, 0x0C, - 0x00, 0x39, 0xCE, 0x00, 0x03, 0x9C, 0xE0, 0x39, 0xCE, 0x00, 0x01, 0x8C, - 0x22, 0x20, 0x00, 0x01, 0xC3, 0xC7, 0x8E, 0x06, 0x01, 0xE0, 0x3C, 0x07, - 0x80, 0x40, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x60, 0x1E, 0x03, - 0xC0, 0x78, 0x1C, 0x3C, 0x78, 0xF0, 0x40, 0x00, 0x1C, 0x27, 0x37, 0x07, - 0x0E, 0x1C, 0x30, 0x60, 0x40, 0x00, 0xE0, 0xE0, 0xE0, 0x0F, 0x80, 0xC3, - 0x08, 0x04, 0xC3, 0x3C, 0x24, 0xE2, 0x27, 0x33, 0x39, 0x11, 0xC9, 0x93, - 0x77, 0x18, 0x00, 0x70, 0x40, 0xFC, 0x00, 0x00, 0x80, 0x18, 0x01, 0x80, - 0x38, 0x05, 0x80, 0x5C, 0x09, 0xC1, 0x1C, 0x1F, 0xC2, 0x0C, 0x20, 0xC4, - 0x0E, 0xF3, 0xF0, 0x3F, 0xE0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0xE1, 0xF0, - 0x39, 0xC3, 0x8E, 0x38, 0xE3, 0x0E, 0x71, 0xE7, 0x1C, 0xFF, 0x00, 0x07, - 0xD1, 0xC7, 0x38, 0x27, 0x02, 0x70, 0x0F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, - 0x0E, 0x00, 0x60, 0x87, 0x18, 0x1E, 0x00, 0x3F, 0xE0, 0x30, 0xE0, 0xC1, - 0x87, 0x07, 0x1C, 0x1C, 0x60, 0x73, 0x81, 0xCE, 0x07, 0x38, 0x38, 0xC0, - 0xE7, 0x07, 0x1C, 0x78, 0xFF, 0x80, 0x1F, 0xF8, 0x61, 0xC3, 0x04, 0x38, - 0x81, 0xCC, 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x81, 0x1C, 0x18, - 0xE3, 0x8F, 0xFC, 0x00, 0x3F, 0xF8, 0x61, 0xC3, 0x04, 0x38, 0x81, 0xCC, - 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x80, 0x1C, 0x00, 0xE0, 0x0F, - 0x80, 0x00, 0x07, 0x91, 0xC7, 0x38, 0x27, 0x00, 0x70, 0x0F, 0x00, 0xE1, - 0xFE, 0x0E, 0xE0, 0xCE, 0x0C, 0x60, 0xC7, 0x1C, 0x1F, 0x00, 0x1F, 0x7E, - 0x1C, 0x38, 0x30, 0x60, 0xE1, 0xC1, 0xC3, 0x83, 0x06, 0x0F, 0xFC, 0x1C, - 0x38, 0x38, 0x70, 0x60, 0xC1, 0xC3, 0x83, 0x87, 0x0F, 0x9F, 0x00, 0x3F, - 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x38, 0x30, 0x70, 0x70, 0xF8, - 0x07, 0xC0, 0xE0, 0x38, 0x0C, 0x07, 0x01, 0xC0, 0x70, 0x18, 0x0E, 0x03, - 0x80, 0xC3, 0x30, 0xDC, 0x1E, 0x00, 0x1F, 0x78, 0x71, 0x83, 0x18, 0x39, - 0x81, 0xD0, 0x0D, 0x00, 0xFC, 0x07, 0x60, 0x3B, 0x81, 0x8C, 0x1C, 0x70, - 0xE1, 0x8F, 0xBE, 0x00, 0x1F, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x1C, 0x01, - 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x01, 0x70, 0x37, 0x0E, 0xFF, 0xE0, - 0x1E, 0x07, 0x87, 0x07, 0x83, 0x83, 0x82, 0xC3, 0xC1, 0x62, 0xE0, 0xB1, - 0x70, 0x99, 0x30, 0x4D, 0xB8, 0x27, 0x9C, 0x13, 0x8C, 0x11, 0xC6, 0x0C, - 0xC7, 0x0F, 0x47, 0xC0, 0x3C, 0x3C, 0x38, 0x20, 0xE0, 0x85, 0xC4, 0x13, - 0x10, 0x4E, 0x42, 0x3A, 0x08, 0x78, 0x21, 0xE0, 0x83, 0x84, 0x0C, 0x18, - 0x10, 0x00, 0x40, 0x07, 0xC1, 0xCE, 0x38, 0x73, 0x87, 0x70, 0x77, 0x07, - 0xF0, 0xFE, 0x0E, 0xE0, 0xEE, 0x1C, 0xE1, 0xC6, 0x38, 0x3E, 0x00, 0x3F, - 0xC0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0xC3, 0x80, 0x30, - 0x03, 0x00, 0x70, 0x07, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0xCE, 0x38, 0x73, - 0x87, 0x70, 0x77, 0x07, 0xF0, 0x7E, 0x0E, 0xE0, 0xEE, 0x0C, 0xE1, 0xC6, - 0x38, 0x36, 0x01, 0x80, 0x3C, 0x2D, 0xFC, 0x3F, 0xC0, 0xE7, 0x0C, 0x71, - 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0x83, 0xB8, 0x3B, 0x83, 0x3C, 0x71, 0xC7, - 0x1C, 0xF9, 0xF0, 0x0C, 0x89, 0x8C, 0x46, 0x23, 0x80, 0xE0, 0x78, 0x0E, - 0x03, 0x21, 0x90, 0xCC, 0xC9, 0xC0, 0x7F, 0xE9, 0xDF, 0x31, 0x4E, 0x21, - 0xC0, 0x38, 0x06, 0x01, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x38, 0x0F, 0xC0, - 0x7C, 0xF3, 0x82, 0x30, 0x27, 0x04, 0x70, 0x46, 0x04, 0xE0, 0x4E, 0x08, - 0xE0, 0x8E, 0x08, 0xE1, 0x0F, 0x30, 0x3C, 0x00, 0xFC, 0x73, 0x82, 0x38, - 0x23, 0x84, 0x38, 0x83, 0x90, 0x39, 0x01, 0xA0, 0x1C, 0x01, 0xC0, 0x18, - 0x01, 0x00, 0xF9, 0xF7, 0x30, 0xE2, 0x30, 0xC2, 0x38, 0xC4, 0x3B, 0xC4, - 0x3A, 0xE8, 0x3C, 0xE8, 0x3C, 0xF0, 0x18, 0xF0, 0x18, 0x60, 0x10, 0x60, - 0x10, 0x40, 0x3F, 0x78, 0x61, 0x83, 0x98, 0x1D, 0x00, 0x70, 0x03, 0x80, - 0x1C, 0x01, 0x60, 0x0B, 0x80, 0x9C, 0x08, 0x60, 0xC3, 0x8F, 0x7E, 0x00, - 0xF9, 0xE6, 0x18, 0xC2, 0x1C, 0x81, 0xA0, 0x34, 0x07, 0x00, 0xC0, 0x18, - 0x07, 0x00, 0xE0, 0x1C, 0x0F, 0xC0, 0x3F, 0xE6, 0x19, 0x87, 0x21, 0xC0, - 0x30, 0x0E, 0x03, 0x80, 0x60, 0x1C, 0x07, 0x05, 0xC1, 0x38, 0xEF, 0xFC, - 0x0E, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, 0x20, 0x60, 0x60, - 0x60, 0x40, 0xF0, 0xC6, 0x10, 0xC6, 0x10, 0x86, 0x30, 0x86, 0x30, 0x1E, - 0x0C, 0x18, 0x20, 0xC1, 0x83, 0x04, 0x18, 0x30, 0x60, 0x83, 0x06, 0x3C, - 0x00, 0x18, 0x1C, 0x34, 0x26, 0x66, 0x43, 0xC3, 0xFF, 0x80, 0xC6, 0x30, - 0x0D, 0x9D, 0x8C, 0xCC, 0x6E, 0x26, 0x33, 0x19, 0xBE, 0x66, 0x00, 0x00, - 0x78, 0x18, 0x30, 0x30, 0x3E, 0x73, 0x63, 0x63, 0x63, 0xC6, 0xC6, 0xCC, - 0x70, 0x0F, 0x3B, 0x70, 0x70, 0xE0, 0xE0, 0xE2, 0xE4, 0x78, 0x00, 0x00, - 0xF0, 0x1C, 0x06, 0x01, 0x83, 0xE3, 0x30, 0xCC, 0x63, 0x19, 0xCC, 0x63, - 0x38, 0xCF, 0x1D, 0x80, 0x0E, 0x75, 0xCB, 0xBE, 0xDE, 0x38, 0x72, 0x78, - 0x00, 0xE0, 0x34, 0x0C, 0x01, 0x80, 0x30, 0x1F, 0x01, 0x80, 0x30, 0x06, - 0x01, 0xC0, 0x30, 0x06, 0x00, 0xC0, 0x30, 0x06, 0x04, 0x80, 0xE0, 0x00, - 0x1C, 0x19, 0xD8, 0xCC, 0x66, 0x60, 0xE1, 0x80, 0xF0, 0x7E, 0x43, 0x21, - 0x8F, 0x00, 0x00, 0x1E, 0x07, 0x03, 0x01, 0x80, 0xD8, 0xFC, 0x76, 0x33, - 0x19, 0x99, 0xCC, 0xD6, 0x77, 0x30, 0x39, 0xC0, 0x0F, 0x31, 0x8C, 0xC6, - 0x31, 0xAE, 0x00, 0x03, 0x81, 0xC0, 0x00, 0x00, 0xE0, 0x30, 0x18, 0x18, - 0x0C, 0x06, 0x03, 0x03, 0x01, 0x80, 0xC2, 0xC1, 0xC0, 0x00, 0x0F, 0x00, - 0xC0, 0x60, 0x18, 0x06, 0xF3, 0x90, 0xC8, 0x34, 0x0F, 0x06, 0xC1, 0x98, - 0x66, 0xB9, 0xC0, 0x03, 0xCC, 0x63, 0x39, 0x8C, 0x66, 0x31, 0x8E, 0x70, - 0x7B, 0x99, 0xAF, 0xCE, 0x66, 0x63, 0x67, 0x33, 0x31, 0x99, 0x8C, 0xCC, - 0xE7, 0xC6, 0x30, 0x73, 0x7F, 0x73, 0x73, 0x63, 0x67, 0xE6, 0xC7, 0xC6, - 0x1E, 0x33, 0x63, 0x63, 0xC3, 0xC6, 0xC6, 0xCC, 0x78, 0x1D, 0xC3, 0xB1, - 0xCC, 0x63, 0x19, 0xCE, 0x63, 0x18, 0xCC, 0x3E, 0x1C, 0x06, 0x03, 0xE0, - 0x0D, 0x99, 0x8C, 0xCC, 0x6E, 0x76, 0x33, 0x19, 0x9C, 0x7C, 0x06, 0x07, - 0x07, 0xC0, 0x76, 0x3A, 0x30, 0x70, 0x60, 0x60, 0x60, 0xE0, 0x3D, 0x14, - 0x58, 0x38, 0x60, 0xA2, 0xF0, 0x08, 0xCC, 0xF6, 0x31, 0x98, 0xC6, 0x35, - 0xC0, 0xE3, 0x63, 0x66, 0x66, 0x66, 0xCC, 0xCC, 0xFE, 0xEC, 0xE6, 0xCD, - 0x8B, 0x26, 0x8E, 0x18, 0x20, 0xE4, 0xD9, 0x36, 0xE5, 0xDA, 0x77, 0x19, - 0xC6, 0x61, 0x10, 0x39, 0xC7, 0xB0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xE1, - 0x5A, 0x67, 0x00, 0x39, 0x8C, 0xC3, 0x21, 0xA0, 0xD0, 0x68, 0x38, 0x0C, - 0x04, 0x04, 0x14, 0x0C, 0x00, 0x3E, 0x46, 0x0C, 0x08, 0x10, 0x20, 0x70, - 0x1A, 0x0E, 0x03, 0x0E, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x10, 0x60, 0x30, - 0x30, 0x30, 0x60, 0x60, 0x60, 0x30, 0xFF, 0xF0, 0x0C, 0x06, 0x06, 0x06, - 0x04, 0x0C, 0x0C, 0x0C, 0x06, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0xE0, - 0x71, 0x8F }; - -const GFXglyph FreeSerifBoldItalic9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 6, 13, 7, 1, -11 }, // 0x21 '!' - { 10, 6, 5, 10, 3, -11 }, // 0x22 '"' - { 14, 11, 13, 9, -1, -12 }, // 0x23 '#' - { 32, 11, 15, 9, -1, -12 }, // 0x24 '$' - { 53, 14, 13, 15, 1, -11 }, // 0x25 '%' - { 76, 13, 13, 14, 0, -11 }, // 0x26 '&' - { 98, 2, 5, 5, 3, -11 }, // 0x27 ''' - { 100, 5, 16, 6, 1, -11 }, // 0x28 '(' - { 110, 5, 16, 6, -1, -11 }, // 0x29 ')' - { 120, 8, 8, 9, 1, -11 }, // 0x2A '*' - { 128, 9, 9, 10, 0, -8 }, // 0x2B '+' - { 139, 3, 6, 5, -1, -2 }, // 0x2C ',' - { 142, 5, 2, 6, 0, -4 }, // 0x2D '-' - { 144, 3, 3, 4, 0, -1 }, // 0x2E '.' - { 146, 7, 12, 6, 0, -11 }, // 0x2F '/' - { 157, 9, 13, 9, 0, -11 }, // 0x30 '0' - { 172, 8, 13, 9, 0, -11 }, // 0x31 '1' - { 185, 9, 13, 9, 0, -11 }, // 0x32 '2' - { 200, 9, 13, 9, 0, -11 }, // 0x33 '3' - { 215, 9, 12, 9, 0, -11 }, // 0x34 '4' - { 229, 9, 13, 9, 0, -11 }, // 0x35 '5' - { 244, 9, 13, 9, 1, -11 }, // 0x36 '6' - { 259, 9, 12, 9, 1, -11 }, // 0x37 '7' - { 273, 8, 13, 9, 0, -11 }, // 0x38 '8' - { 286, 9, 13, 9, 0, -11 }, // 0x39 '9' - { 301, 5, 9, 5, 0, -7 }, // 0x3A ':' - { 307, 5, 11, 5, 0, -7 }, // 0x3B ';' - { 314, 9, 10, 10, 1, -9 }, // 0x3C '<' - { 326, 9, 5, 10, 1, -6 }, // 0x3D '=' - { 332, 9, 10, 10, 1, -9 }, // 0x3E '>' - { 344, 8, 13, 9, 1, -11 }, // 0x3F '?' - { 357, 13, 13, 15, 1, -12 }, // 0x40 '@' - { 379, 12, 13, 13, 0, -11 }, // 0x41 'A' - { 399, 12, 13, 12, 0, -11 }, // 0x42 'B' - { 419, 12, 13, 11, 1, -11 }, // 0x43 'C' - { 439, 14, 13, 13, 0, -11 }, // 0x44 'D' - { 462, 13, 13, 11, 0, -11 }, // 0x45 'E' - { 484, 13, 13, 11, 0, -11 }, // 0x46 'F' - { 506, 12, 13, 13, 1, -11 }, // 0x47 'G' - { 526, 15, 13, 14, 0, -11 }, // 0x48 'H' - { 551, 8, 13, 7, 0, -11 }, // 0x49 'I' - { 564, 10, 14, 9, 0, -11 }, // 0x4A 'J' - { 582, 13, 13, 12, 0, -11 }, // 0x4B 'K' - { 604, 12, 13, 11, 0, -11 }, // 0x4C 'L' - { 624, 17, 13, 16, 0, -11 }, // 0x4D 'M' - { 652, 14, 13, 13, 0, -11 }, // 0x4E 'N' - { 675, 12, 13, 12, 1, -11 }, // 0x4F 'O' - { 695, 12, 13, 11, 0, -11 }, // 0x50 'P' - { 715, 12, 16, 12, 1, -11 }, // 0x51 'Q' - { 739, 12, 13, 12, 0, -11 }, // 0x52 'R' - { 759, 9, 13, 9, 0, -11 }, // 0x53 'S' - { 774, 11, 13, 11, 2, -11 }, // 0x54 'T' - { 792, 12, 13, 13, 2, -11 }, // 0x55 'U' - { 812, 12, 12, 13, 2, -11 }, // 0x56 'V' - { 830, 16, 12, 17, 2, -11 }, // 0x57 'W' - { 854, 13, 13, 13, 0, -11 }, // 0x58 'X' - { 876, 11, 13, 11, 2, -11 }, // 0x59 'Y' - { 894, 11, 13, 10, 0, -11 }, // 0x5A 'Z' - { 912, 8, 15, 6, -1, -11 }, // 0x5B '[' - { 927, 5, 12, 7, 2, -11 }, // 0x5C '\' - { 935, 7, 15, 6, -1, -11 }, // 0x5D ']' - { 949, 8, 7, 10, 1, -11 }, // 0x5E '^' - { 956, 9, 1, 9, 0, 3 }, // 0x5F '_' - { 958, 4, 3, 6, 2, -11 }, // 0x60 '`' - { 960, 9, 9, 9, 0, -7 }, // 0x61 'a' - { 971, 8, 14, 9, 0, -12 }, // 0x62 'b' - { 985, 8, 9, 8, 0, -7 }, // 0x63 'c' - { 994, 10, 14, 9, 0, -12 }, // 0x64 'd' - { 1012, 7, 9, 7, 0, -7 }, // 0x65 'e' - { 1020, 11, 17, 9, -2, -12 }, // 0x66 'f' - { 1044, 9, 12, 9, 0, -7 }, // 0x67 'g' - { 1058, 9, 14, 10, 0, -12 }, // 0x68 'h' - { 1074, 5, 13, 5, 1, -11 }, // 0x69 'i' - { 1083, 9, 16, 6, -1, -11 }, // 0x6A 'j' - { 1101, 10, 14, 9, 0, -12 }, // 0x6B 'k' - { 1119, 5, 14, 5, 1, -12 }, // 0x6C 'l' - { 1128, 13, 9, 14, 0, -7 }, // 0x6D 'm' - { 1143, 8, 9, 9, 0, -7 }, // 0x6E 'n' - { 1152, 8, 9, 9, 0, -7 }, // 0x6F 'o' - { 1161, 10, 12, 9, -2, -7 }, // 0x70 'p' - { 1176, 9, 12, 9, 0, -7 }, // 0x71 'q' - { 1190, 8, 8, 7, 0, -7 }, // 0x72 'r' - { 1198, 6, 9, 6, 0, -7 }, // 0x73 's' - { 1205, 5, 12, 5, 1, -10 }, // 0x74 't' - { 1213, 8, 9, 10, 1, -7 }, // 0x75 'u' - { 1222, 7, 8, 8, 1, -7 }, // 0x76 'v' - { 1229, 10, 8, 12, 1, -7 }, // 0x77 'w' - { 1239, 10, 9, 9, -1, -7 }, // 0x78 'x' - { 1251, 9, 12, 8, -1, -7 }, // 0x79 'y' - { 1265, 8, 9, 7, 0, -7 }, // 0x7A 'z' - { 1274, 8, 16, 6, 0, -12 }, // 0x7B '{' - { 1290, 1, 12, 5, 2, -11 }, // 0x7C '|' - { 1292, 8, 16, 6, -2, -12 }, // 0x7D '}' - { 1308, 8, 2, 10, 1, -4 } }; // 0x7E '~' - -const GFXfont FreeSerifBoldItalic9pt7b PROGMEM = { - (uint8_t *)FreeSerifBoldItalic9pt7bBitmaps, - (GFXglyph *)FreeSerifBoldItalic9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1982 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h deleted file mode 100644 index 52332a7..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic12pt7b.h +++ /dev/null @@ -1,271 +0,0 @@ -const uint8_t FreeSerifItalic12pt7bBitmaps[] PROGMEM = { - 0x0C, 0x31, 0xC6, 0x18, 0x43, 0x0C, 0x20, 0x84, 0x10, 0x03, 0x0C, 0x30, - 0x66, 0xCD, 0x12, 0x24, 0x51, 0x00, 0x03, 0x10, 0x11, 0x80, 0x8C, 0x0C, - 0x40, 0x46, 0x1F, 0xFC, 0x21, 0x01, 0x18, 0x18, 0x80, 0x84, 0x3F, 0xF8, - 0x62, 0x02, 0x30, 0x31, 0x01, 0x08, 0x08, 0xC0, 0x00, 0x40, 0x08, 0x07, - 0xC0, 0xCA, 0x18, 0xA1, 0x92, 0x19, 0x01, 0xD0, 0x0F, 0x00, 0x78, 0x03, - 0xC0, 0x2E, 0x02, 0x64, 0x46, 0x44, 0x64, 0x46, 0x64, 0xC1, 0xF0, 0x08, - 0x00, 0x80, 0x00, 0x08, 0x0F, 0x0C, 0x0C, 0x7C, 0x0C, 0x22, 0x06, 0x12, - 0x06, 0x09, 0x03, 0x09, 0x01, 0x84, 0x80, 0xC4, 0x8F, 0x3C, 0x4C, 0x40, - 0x4C, 0x20, 0x4E, 0x10, 0x26, 0x08, 0x23, 0x08, 0x11, 0x84, 0x10, 0xC4, - 0x08, 0x3C, 0x00, 0x00, 0xE0, 0x02, 0x60, 0x0C, 0xC0, 0x19, 0x80, 0x36, - 0x00, 0x70, 0x00, 0xC0, 0x07, 0x9F, 0x33, 0x08, 0xC3, 0x13, 0x06, 0x46, - 0x0D, 0x0C, 0x0C, 0x18, 0x1C, 0x1C, 0x5C, 0x9F, 0x1E, 0xFA, 0xA0, 0x02, - 0x08, 0x20, 0xC3, 0x06, 0x18, 0x30, 0xE1, 0x83, 0x06, 0x0C, 0x18, 0x30, - 0x60, 0x40, 0x80, 0x81, 0x00, 0x08, 0x10, 0x10, 0x20, 0x40, 0xC1, 0x83, - 0x06, 0x0C, 0x18, 0x70, 0xC1, 0x83, 0x0C, 0x10, 0x41, 0x04, 0x00, 0x18, - 0x18, 0x18, 0x93, 0x74, 0x38, 0xD7, 0x93, 0x18, 0x18, 0x04, 0x00, 0x80, - 0x10, 0x02, 0x00, 0x41, 0xFF, 0xC1, 0x00, 0x20, 0x04, 0x00, 0x80, 0x10, - 0x00, 0x6C, 0x95, 0x00, 0xF8, 0xFC, 0x00, 0x40, 0x18, 0x02, 0x00, 0xC0, - 0x30, 0x06, 0x01, 0x80, 0x20, 0x0C, 0x01, 0x00, 0x60, 0x18, 0x03, 0x00, - 0xC0, 0x10, 0x06, 0x00, 0x07, 0x81, 0x98, 0x61, 0x18, 0x33, 0x06, 0xC0, - 0xD8, 0x1B, 0x03, 0xE0, 0xF8, 0x1F, 0x03, 0x60, 0x6C, 0x19, 0x83, 0x10, - 0xC3, 0x30, 0x3C, 0x00, 0x01, 0x87, 0xC0, 0xC0, 0x60, 0x30, 0x18, 0x18, - 0x0C, 0x06, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, 0xFE, 0x00, - 0x0F, 0x0C, 0x64, 0x0C, 0x03, 0x00, 0xC0, 0x20, 0x18, 0x0C, 0x02, 0x01, - 0x00, 0x80, 0x40, 0x20, 0x10, 0x2F, 0xF0, 0x07, 0x86, 0x30, 0x0C, 0x03, - 0x01, 0x81, 0x81, 0xF0, 0x1E, 0x03, 0x80, 0x60, 0x18, 0x06, 0x01, 0x00, - 0xCC, 0x63, 0xE0, 0x00, 0x20, 0x0C, 0x03, 0x80, 0xA0, 0x2C, 0x09, 0x82, - 0x30, 0x84, 0x31, 0x8C, 0x33, 0x06, 0x7F, 0xE0, 0x30, 0x06, 0x00, 0x80, - 0x30, 0x03, 0xE1, 0x80, 0x20, 0x06, 0x00, 0xF0, 0x0F, 0x00, 0x60, 0x06, - 0x00, 0xC0, 0x18, 0x03, 0x00, 0x40, 0x18, 0x02, 0x30, 0x87, 0xE0, 0x00, - 0x70, 0x3C, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x7F, 0x07, 0x18, 0x60, - 0xCE, 0x0C, 0xC0, 0xCC, 0x0C, 0xC0, 0xCC, 0x18, 0x41, 0x86, 0x30, 0x3E, - 0x00, 0x7F, 0xF0, 0x18, 0x03, 0x00, 0xC0, 0x10, 0x06, 0x01, 0x80, 0x30, - 0x0C, 0x01, 0x00, 0x60, 0x08, 0x03, 0x00, 0xC0, 0x10, 0x06, 0x00, 0x0F, - 0x83, 0x18, 0xC1, 0x98, 0x33, 0x06, 0x71, 0x87, 0x60, 0x70, 0x17, 0x0C, - 0x71, 0x07, 0x60, 0x6C, 0x0D, 0x81, 0xB0, 0x63, 0x1C, 0x3E, 0x00, 0x07, - 0x83, 0x18, 0xC1, 0x18, 0x36, 0x06, 0xC0, 0xD8, 0x1B, 0x07, 0x60, 0xE6, - 0x38, 0x7F, 0x00, 0xC0, 0x30, 0x0C, 0x07, 0x03, 0xC0, 0xC0, 0x00, 0x33, - 0x30, 0x00, 0x00, 0xCC, 0xC0, 0x18, 0xC6, 0x00, 0x00, 0x00, 0x03, 0x18, - 0x44, 0x40, 0x00, 0x00, 0x03, 0x00, 0xF0, 0x38, 0x1E, 0x07, 0x80, 0xE0, - 0x0F, 0x00, 0x1C, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x00, 0x10, 0xFF, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x0C, 0x00, 0xF0, 0x01, - 0xC0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x0F, 0x03, 0xC1, 0xE0, 0x78, 0x0E, - 0x00, 0x80, 0x00, 0x3E, 0x21, 0x90, 0x60, 0x30, 0x38, 0x38, 0x30, 0x30, - 0x20, 0x20, 0x10, 0x00, 0x00, 0x06, 0x03, 0x01, 0x80, 0x07, 0xE0, 0x1C, - 0x18, 0x30, 0x04, 0x60, 0x02, 0x61, 0xDA, 0xC3, 0x31, 0xC6, 0x31, 0xC4, - 0x31, 0xCC, 0x31, 0xCC, 0x21, 0xCC, 0x62, 0x6C, 0xE4, 0x67, 0x38, 0x30, - 0x00, 0x1C, 0x08, 0x07, 0xF0, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x80, 0x0B, - 0x00, 0x16, 0x00, 0x4E, 0x00, 0x9C, 0x02, 0x18, 0x08, 0x30, 0x1F, 0xE0, - 0x40, 0xC1, 0x81, 0xC2, 0x03, 0x8C, 0x07, 0x3C, 0x1F, 0x80, 0x1F, 0xF0, - 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x38, 0x60, 0xC3, 0x03, 0xF0, - 0x1C, 0x30, 0x60, 0x61, 0x81, 0x86, 0x06, 0x38, 0x18, 0xC0, 0xC3, 0x06, - 0x3F, 0xF0, 0x01, 0xF9, 0x06, 0x0F, 0x1C, 0x06, 0x38, 0x02, 0x30, 0x02, - 0x60, 0x00, 0x60, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, - 0xC0, 0x00, 0xC0, 0x08, 0x60, 0x10, 0x30, 0x60, 0x1F, 0x80, 0x1F, 0xF0, - 0x07, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0E, 0x03, 0x0C, 0x03, - 0x0C, 0x03, 0x1C, 0x03, 0x1C, 0x07, 0x18, 0x06, 0x18, 0x06, 0x38, 0x0C, - 0x30, 0x18, 0x30, 0x70, 0xFF, 0x80, 0x1F, 0xFF, 0x07, 0x07, 0x06, 0x02, - 0x06, 0x02, 0x06, 0x00, 0x0E, 0x10, 0x0C, 0x30, 0x0F, 0xF0, 0x1C, 0x20, - 0x18, 0x20, 0x18, 0x00, 0x18, 0x00, 0x38, 0x04, 0x30, 0x08, 0x30, 0x38, - 0xFF, 0xF8, 0x1F, 0xFF, 0x07, 0x07, 0x07, 0x02, 0x06, 0x02, 0x06, 0x00, - 0x0E, 0x10, 0x0C, 0x30, 0x0F, 0xF0, 0x1C, 0x20, 0x1C, 0x20, 0x18, 0x00, - 0x18, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0xFC, 0x00, 0x01, 0xF1, - 0x06, 0x0F, 0x18, 0x07, 0x38, 0x02, 0x30, 0x02, 0x60, 0x00, 0x60, 0x00, - 0xE0, 0x00, 0xC0, 0x7F, 0xC0, 0x1C, 0xC0, 0x1C, 0xC0, 0x18, 0xC0, 0x18, - 0x60, 0x18, 0x30, 0x38, 0x0F, 0xC0, 0x1F, 0xC7, 0xE0, 0xE0, 0x70, 0x18, - 0x0E, 0x03, 0x01, 0x80, 0x60, 0x30, 0x1C, 0x0E, 0x03, 0x01, 0x80, 0x7F, - 0xF0, 0x1C, 0x06, 0x03, 0x01, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, 0x81, - 0xC0, 0x60, 0x38, 0x0C, 0x06, 0x07, 0xE3, 0xF0, 0x1F, 0x83, 0x81, 0x80, - 0xC0, 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x81, 0x80, - 0xC1, 0xF8, 0x03, 0xF0, 0x0C, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x18, 0x03, - 0x80, 0x30, 0x03, 0x00, 0x30, 0x07, 0x00, 0x60, 0x06, 0x0C, 0xE0, 0xCC, - 0x07, 0x80, 0x1F, 0xCF, 0x83, 0x83, 0x81, 0x81, 0x00, 0xC3, 0x00, 0x62, - 0x00, 0x72, 0x00, 0x36, 0x00, 0x1E, 0x00, 0x1D, 0x80, 0x0C, 0xE0, 0x06, - 0x30, 0x03, 0x1C, 0x03, 0x87, 0x01, 0x81, 0x80, 0xC0, 0xE1, 0xF9, 0xFC, - 0x1F, 0xC0, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x38, 0x00, 0xC0, - 0x03, 0x00, 0x1C, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x38, 0x0C, 0xC0, - 0x23, 0x03, 0xBF, 0xFE, 0x0F, 0x00, 0x78, 0x38, 0x07, 0x81, 0xC0, 0x38, - 0x0E, 0x02, 0xC0, 0x70, 0x3E, 0x05, 0xC1, 0x70, 0x2E, 0x13, 0x01, 0x31, - 0x98, 0x11, 0x89, 0xC0, 0x8C, 0x8C, 0x04, 0x6C, 0x60, 0x23, 0x43, 0x02, - 0x1C, 0x38, 0x10, 0xE1, 0x81, 0x86, 0x1C, 0x1F, 0x23, 0xF8, 0x1E, 0x07, - 0xC1, 0xC0, 0x60, 0x70, 0x10, 0x1C, 0x0C, 0x05, 0x82, 0x02, 0x60, 0x80, - 0x9C, 0x60, 0x23, 0x10, 0x10, 0xC4, 0x04, 0x19, 0x01, 0x06, 0xC0, 0x40, - 0xE0, 0x20, 0x38, 0x08, 0x0E, 0x06, 0x01, 0x03, 0xE0, 0x40, 0x01, 0xF0, - 0x0C, 0x10, 0x30, 0x10, 0xC0, 0x33, 0x00, 0x6E, 0x00, 0xD8, 0x01, 0xF0, - 0x03, 0xC0, 0x0D, 0x80, 0x1B, 0x00, 0x76, 0x00, 0xCC, 0x03, 0x08, 0x0C, - 0x18, 0x70, 0x0F, 0x80, 0x1F, 0xF0, 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, - 0x0C, 0x38, 0x30, 0xC1, 0x83, 0x0E, 0x1F, 0xE0, 0x60, 0x01, 0x80, 0x06, - 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, 0x3F, 0x00, 0x01, 0xF0, 0x06, 0x10, - 0x30, 0x30, 0xC0, 0x33, 0x00, 0x66, 0x00, 0xD8, 0x01, 0xB0, 0x03, 0xE0, - 0x0F, 0x80, 0x1B, 0x00, 0x36, 0x00, 0xCC, 0x03, 0x98, 0x06, 0x18, 0x18, - 0x18, 0xC0, 0x0E, 0x00, 0x20, 0x01, 0xF8, 0x36, 0x7F, 0x80, 0x1F, 0xF0, - 0x1C, 0x60, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x38, 0x70, 0xC3, 0x83, 0xF8, - 0x1D, 0xC0, 0x63, 0x01, 0x8C, 0x06, 0x18, 0x38, 0x60, 0xC1, 0xC3, 0x03, - 0x3F, 0x0F, 0x07, 0x90, 0xC7, 0x18, 0x21, 0x82, 0x18, 0x01, 0xC0, 0x0E, - 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xC4, 0x0C, 0x40, 0xC6, 0x08, 0xE1, - 0x89, 0xE0, 0x7F, 0xFE, 0xC7, 0x1D, 0x0C, 0x14, 0x18, 0x20, 0x70, 0x00, - 0xE0, 0x01, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, - 0x01, 0xC0, 0x03, 0x00, 0x0E, 0x00, 0x7F, 0x80, 0x7E, 0x1F, 0x38, 0x0C, - 0x38, 0x0C, 0x30, 0x08, 0x30, 0x08, 0x70, 0x08, 0x70, 0x10, 0x60, 0x10, - 0x60, 0x10, 0xE0, 0x10, 0xC0, 0x20, 0xC0, 0x20, 0xC0, 0x60, 0xC0, 0x40, - 0x61, 0x80, 0x3F, 0x00, 0xFC, 0x3E, 0xE0, 0x18, 0xC0, 0x21, 0x80, 0xC3, - 0x81, 0x07, 0x04, 0x0E, 0x08, 0x0C, 0x20, 0x18, 0x80, 0x31, 0x00, 0x64, - 0x00, 0xF0, 0x01, 0xE0, 0x01, 0x80, 0x02, 0x00, 0x04, 0x00, 0xFD, 0xF8, - 0xF7, 0x07, 0x06, 0x30, 0x60, 0x63, 0x07, 0x04, 0x30, 0x70, 0x83, 0x8F, - 0x08, 0x38, 0xB1, 0x03, 0x93, 0x10, 0x19, 0x32, 0x01, 0xA3, 0x20, 0x1A, - 0x34, 0x01, 0xC3, 0x40, 0x1C, 0x38, 0x01, 0x83, 0x00, 0x18, 0x30, 0x01, - 0x02, 0x00, 0x1F, 0x9F, 0x0E, 0x06, 0x06, 0x04, 0x07, 0x08, 0x03, 0x10, - 0x03, 0x20, 0x03, 0xC0, 0x01, 0x80, 0x01, 0xC0, 0x03, 0xC0, 0x06, 0xE0, - 0x0C, 0x60, 0x18, 0x60, 0x30, 0x70, 0x70, 0x78, 0xF8, 0xFC, 0xFC, 0xFB, - 0x81, 0x8C, 0x08, 0x60, 0x83, 0x8C, 0x0C, 0xC0, 0x64, 0x03, 0xC0, 0x0C, - 0x00, 0xE0, 0x07, 0x00, 0x30, 0x01, 0x80, 0x1C, 0x00, 0xC0, 0x1F, 0xC0, - 0x1F, 0xFE, 0x30, 0x38, 0xC0, 0xF1, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, - 0x70, 0x01, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x01, 0xC0, - 0x47, 0x01, 0x1C, 0x06, 0x7F, 0xF8, 0x07, 0x04, 0x08, 0x08, 0x08, 0x18, - 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, - 0x80, 0xE0, 0xC0, 0xC0, 0x40, 0x60, 0x20, 0x30, 0x30, 0x18, 0x18, 0x08, - 0x0C, 0x04, 0x06, 0x06, 0x03, 0x03, 0x0E, 0x04, 0x08, 0x10, 0x60, 0x81, - 0x02, 0x04, 0x18, 0x20, 0x40, 0x81, 0x02, 0x08, 0x10, 0x20, 0x47, 0x80, - 0x0C, 0x03, 0x81, 0xE0, 0x4C, 0x33, 0x08, 0x66, 0x19, 0x03, 0xC0, 0xC0, - 0xFF, 0xF0, 0xCE, 0x63, 0x07, 0xA0, 0xCE, 0x18, 0x63, 0x04, 0x60, 0xC6, - 0x0C, 0xC0, 0xCC, 0x18, 0xC3, 0x8C, 0x5A, 0x79, 0xC0, 0x38, 0x06, 0x01, - 0x80, 0x40, 0x30, 0x0C, 0xE3, 0xCC, 0xC3, 0x70, 0xD8, 0x36, 0x19, 0x06, - 0xC3, 0x30, 0x8C, 0xC3, 0xE0, 0x0F, 0x0C, 0xCC, 0x6C, 0x06, 0x06, 0x03, - 0x01, 0x80, 0xC0, 0x73, 0x1E, 0x00, 0x00, 0x70, 0x01, 0x80, 0x0C, 0x00, - 0x60, 0x02, 0x03, 0xF0, 0x31, 0x83, 0x08, 0x30, 0xC3, 0x06, 0x18, 0x31, - 0x81, 0x8C, 0x18, 0x61, 0xCB, 0x16, 0x8F, 0x38, 0x07, 0x19, 0x31, 0x63, - 0x62, 0xEC, 0xD0, 0xC0, 0xC0, 0xE6, 0x78, 0x00, 0x38, 0x01, 0x30, 0x0C, - 0x00, 0x20, 0x01, 0x80, 0x06, 0x00, 0xFE, 0x00, 0x40, 0x03, 0x00, 0x0C, - 0x00, 0x30, 0x00, 0x80, 0x06, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, 0x04, - 0x00, 0x30, 0x00, 0xC0, 0x02, 0x00, 0x90, 0x03, 0x80, 0x00, 0x07, 0xC0, - 0xC7, 0x18, 0x61, 0x86, 0x18, 0xE1, 0x8C, 0x07, 0x80, 0x80, 0x1C, 0x00, - 0xF0, 0x33, 0x84, 0x18, 0x80, 0x88, 0x08, 0x61, 0x03, 0xE0, 0x1C, 0x00, - 0xC0, 0x0C, 0x00, 0xC0, 0x18, 0x01, 0x8E, 0x1B, 0x61, 0xC6, 0x38, 0x63, - 0x8C, 0x30, 0xC3, 0x0C, 0x60, 0xC6, 0x1A, 0x61, 0xA4, 0x1C, 0x18, 0xC6, - 0x00, 0x0B, 0xC6, 0x23, 0x18, 0x8C, 0x63, 0x5C, 0x01, 0x80, 0xC0, 0x60, - 0x00, 0x00, 0x0C, 0x1E, 0x02, 0x03, 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, - 0x18, 0x08, 0x0C, 0x06, 0x02, 0x1B, 0x0F, 0x00, 0x1C, 0x01, 0x80, 0x30, - 0x06, 0x01, 0x80, 0x33, 0xC6, 0x30, 0x88, 0x32, 0x06, 0x80, 0xF0, 0x1B, - 0x06, 0x60, 0xC4, 0x18, 0xD2, 0x0C, 0x3C, 0x61, 0x86, 0x18, 0xC3, 0x0C, - 0x21, 0x86, 0x18, 0x43, 0x2D, 0x38, 0x78, 0xE7, 0x0D, 0xB5, 0x8D, 0x1C, - 0xC7, 0x0C, 0x63, 0x8E, 0x31, 0x86, 0x30, 0xC3, 0x18, 0xC1, 0x0C, 0x61, - 0x84, 0xB0, 0xC6, 0xB0, 0x63, 0x80, 0x78, 0xE1, 0xB6, 0x14, 0x63, 0x84, - 0x38, 0xC3, 0x0C, 0x70, 0x86, 0x18, 0x61, 0x96, 0x1A, 0xC1, 0xC0, 0x0F, - 0x06, 0x63, 0x0D, 0x83, 0x60, 0xF0, 0x3C, 0x1B, 0x06, 0xC3, 0x39, 0x87, - 0x80, 0x1E, 0xF0, 0x39, 0xC1, 0x86, 0x0C, 0x30, 0xC1, 0x86, 0x0C, 0x30, - 0xC3, 0x06, 0x18, 0x60, 0xC6, 0x07, 0xC0, 0x60, 0x03, 0x00, 0x18, 0x00, - 0xC0, 0x1F, 0x00, 0x07, 0x81, 0x9C, 0x63, 0x98, 0x76, 0x0C, 0xC1, 0xB0, - 0x76, 0x0E, 0xC3, 0x98, 0xB1, 0xE6, 0x00, 0x80, 0x30, 0x06, 0x00, 0xC0, - 0xFC, 0x79, 0x8F, 0xC5, 0x07, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x30, - 0x10, 0x00, 0x1E, 0x98, 0xCC, 0x27, 0x11, 0x80, 0xE0, 0x39, 0x0C, 0x86, - 0x62, 0x2E, 0x00, 0x08, 0x67, 0xCC, 0x30, 0xC6, 0x18, 0x61, 0x8C, 0x34, - 0xE0, 0xF0, 0xCC, 0x19, 0x83, 0x30, 0xC6, 0x18, 0x87, 0x31, 0x66, 0x3C, - 0xCB, 0x1A, 0x6B, 0x8E, 0x00, 0x70, 0xCC, 0x33, 0x04, 0xC2, 0x18, 0x86, - 0x41, 0x90, 0x68, 0x1C, 0x06, 0x01, 0x00, 0x61, 0x0F, 0x84, 0x36, 0x30, - 0xDC, 0xC1, 0x35, 0x08, 0xD4, 0x23, 0x91, 0x0E, 0x48, 0x30, 0xE0, 0xC3, - 0x02, 0x08, 0x00, 0x0C, 0x63, 0x4A, 0x07, 0x00, 0x70, 0x06, 0x00, 0x20, - 0x07, 0x00, 0xB0, 0x0B, 0x21, 0x14, 0xE1, 0x80, 0x38, 0x63, 0x0C, 0x30, - 0x86, 0x10, 0xC4, 0x0C, 0x81, 0xA0, 0x34, 0x07, 0x00, 0x60, 0x08, 0x02, - 0x00, 0x40, 0x10, 0x04, 0x07, 0x00, 0x1F, 0x90, 0x80, 0x80, 0xC0, 0xC0, - 0x40, 0x60, 0x60, 0x60, 0x38, 0x3E, 0x03, 0xA0, 0x60, 0x00, 0x83, 0x81, - 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x10, 0x10, 0x1C, 0x06, 0x03, 0x03, - 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x18, 0x07, 0x00, 0xFF, 0xFF, 0x07, - 0x00, 0xC0, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x06, 0x06, 0x03, 0x01, 0x80, - 0x60, 0x40, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x06, 0x06, 0x06, 0x00, 0x78, - 0x18, 0x8C, 0x0F, 0x00 }; - -const GFXglyph FreeSerifItalic12pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 6, 16, 8, 1, -15 }, // 0x21 '!' - { 12, 7, 6, 8, 3, -15 }, // 0x22 '"' - { 18, 13, 16, 12, 0, -15 }, // 0x23 '#' - { 44, 12, 20, 12, 0, -17 }, // 0x24 '$' - { 74, 17, 17, 20, 2, -16 }, // 0x25 '%' - { 111, 15, 16, 19, 2, -15 }, // 0x26 '&' - { 141, 2, 6, 5, 4, -15 }, // 0x27 ''' - { 143, 7, 20, 8, 1, -15 }, // 0x28 '(' - { 161, 7, 20, 8, 0, -15 }, // 0x29 ')' - { 179, 8, 10, 12, 4, -15 }, // 0x2A '*' - { 189, 11, 11, 16, 2, -10 }, // 0x2B '+' - { 205, 3, 6, 6, 0, -2 }, // 0x2C ',' - { 208, 5, 1, 8, 1, -5 }, // 0x2D '-' - { 209, 2, 3, 6, 1, -2 }, // 0x2E '.' - { 210, 11, 16, 7, 0, -15 }, // 0x2F '/' - { 232, 11, 17, 12, 1, -16 }, // 0x30 '0' - { 256, 9, 17, 12, 1, -16 }, // 0x31 '1' - { 276, 10, 15, 12, 1, -14 }, // 0x32 '2' - { 295, 10, 16, 12, 1, -15 }, // 0x33 '3' - { 315, 11, 16, 12, 0, -15 }, // 0x34 '4' - { 337, 11, 16, 12, 0, -15 }, // 0x35 '5' - { 359, 12, 17, 12, 1, -16 }, // 0x36 '6' - { 385, 11, 16, 12, 2, -15 }, // 0x37 '7' - { 407, 11, 17, 12, 1, -16 }, // 0x38 '8' - { 431, 11, 17, 12, 1, -16 }, // 0x39 '9' - { 455, 4, 11, 6, 1, -10 }, // 0x3A ':' - { 461, 5, 14, 6, 0, -10 }, // 0x3B ';' - { 470, 12, 13, 14, 1, -12 }, // 0x3C '<' - { 490, 12, 6, 16, 2, -8 }, // 0x3D '=' - { 499, 12, 13, 14, 2, -12 }, // 0x3E '>' - { 519, 9, 16, 11, 3, -15 }, // 0x3F '?' - { 537, 16, 16, 19, 2, -15 }, // 0x40 '@' - { 569, 15, 15, 16, 0, -14 }, // 0x41 'A' - { 598, 14, 16, 14, 0, -15 }, // 0x42 'B' - { 626, 16, 16, 15, 1, -15 }, // 0x43 'C' - { 658, 16, 16, 17, 0, -15 }, // 0x44 'D' - { 690, 16, 16, 14, 0, -15 }, // 0x45 'E' - { 722, 16, 16, 14, 0, -15 }, // 0x46 'F' - { 754, 16, 16, 17, 1, -15 }, // 0x47 'G' - { 786, 19, 16, 17, 0, -15 }, // 0x48 'H' - { 824, 9, 16, 8, 0, -15 }, // 0x49 'I' - { 842, 12, 16, 10, 0, -15 }, // 0x4A 'J' - { 866, 17, 16, 15, 0, -15 }, // 0x4B 'K' - { 900, 14, 16, 14, 0, -15 }, // 0x4C 'L' - { 928, 21, 16, 20, 0, -15 }, // 0x4D 'M' - { 970, 18, 16, 16, 0, -15 }, // 0x4E 'N' - { 1006, 15, 16, 16, 1, -15 }, // 0x4F 'O' - { 1036, 14, 16, 14, 0, -15 }, // 0x50 'P' - { 1064, 15, 20, 16, 1, -15 }, // 0x51 'Q' - { 1102, 14, 16, 15, 0, -15 }, // 0x52 'R' - { 1130, 12, 16, 11, 0, -15 }, // 0x53 'S' - { 1154, 15, 16, 14, 2, -15 }, // 0x54 'T' - { 1184, 16, 16, 17, 3, -15 }, // 0x55 'U' - { 1216, 15, 16, 16, 3, -15 }, // 0x56 'V' - { 1246, 20, 16, 21, 3, -15 }, // 0x57 'W' - { 1286, 16, 16, 16, 0, -15 }, // 0x58 'X' - { 1318, 13, 16, 14, 3, -15 }, // 0x59 'Y' - { 1344, 15, 16, 14, 0, -15 }, // 0x5A 'Z' - { 1374, 8, 20, 9, 1, -15 }, // 0x5B '[' - { 1394, 8, 16, 12, 3, -15 }, // 0x5C '\' - { 1410, 7, 20, 9, 1, -15 }, // 0x5D ']' - { 1428, 10, 9, 10, 0, -15 }, // 0x5E '^' - { 1440, 12, 1, 12, 0, 3 }, // 0x5F '_' - { 1442, 4, 4, 6, 3, -15 }, // 0x60 '`' - { 1444, 12, 11, 12, 0, -10 }, // 0x61 'a' - { 1461, 10, 16, 11, 1, -15 }, // 0x62 'b' - { 1481, 9, 11, 10, 1, -10 }, // 0x63 'c' - { 1494, 13, 16, 12, 0, -15 }, // 0x64 'd' - { 1520, 8, 11, 10, 1, -10 }, // 0x65 'e' - { 1531, 14, 22, 10, -2, -16 }, // 0x66 'f' - { 1570, 12, 16, 11, -1, -10 }, // 0x67 'g' - { 1594, 12, 16, 12, 0, -15 }, // 0x68 'h' - { 1618, 5, 16, 6, 1, -15 }, // 0x69 'i' - { 1628, 9, 21, 7, -2, -15 }, // 0x6A 'j' - { 1652, 11, 16, 11, 0, -15 }, // 0x6B 'k' - { 1674, 6, 16, 6, 1, -15 }, // 0x6C 'l' - { 1686, 17, 11, 17, 0, -10 }, // 0x6D 'm' - { 1710, 12, 11, 12, 0, -10 }, // 0x6E 'n' - { 1727, 10, 11, 11, 1, -10 }, // 0x6F 'o' - { 1741, 13, 16, 11, -2, -10 }, // 0x70 'p' - { 1767, 11, 16, 12, 0, -10 }, // 0x71 'q' - { 1789, 9, 11, 9, 0, -10 }, // 0x72 'r' - { 1802, 9, 11, 8, 0, -10 }, // 0x73 's' - { 1815, 6, 13, 6, 1, -12 }, // 0x74 't' - { 1825, 11, 11, 12, 1, -10 }, // 0x75 'u' - { 1841, 10, 11, 11, 1, -10 }, // 0x76 'v' - { 1855, 14, 11, 16, 2, -10 }, // 0x77 'w' - { 1875, 12, 11, 10, -1, -10 }, // 0x78 'x' - { 1892, 11, 16, 11, 0, -10 }, // 0x79 'y' - { 1914, 9, 13, 9, 0, -10 }, // 0x7A 'z' - { 1929, 9, 21, 10, 1, -16 }, // 0x7B '{' - { 1953, 1, 16, 7, 3, -15 }, // 0x7C '|' - { 1955, 9, 21, 10, 0, -16 }, // 0x7D '}' - { 1979, 11, 3, 13, 1, -6 } }; // 0x7E '~' - -const GFXfont FreeSerifItalic12pt7b PROGMEM = { - (uint8_t *)FreeSerifItalic12pt7bBitmaps, - (GFXglyph *)FreeSerifItalic12pt7bGlyphs, - 0x20, 0x7E, 29 }; - -// Approx. 2656 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h deleted file mode 100644 index 666ae7e..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic18pt7b.h +++ /dev/null @@ -1,450 +0,0 @@ -const uint8_t FreeSerifItalic18pt7bBitmaps[] PROGMEM = { - 0x01, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0x81, 0xE0, 0x70, 0x1C, 0x06, 0x01, - 0x80, 0xC0, 0x30, 0x0C, 0x02, 0x01, 0x80, 0x40, 0x10, 0x00, 0x00, 0x01, - 0x80, 0xF0, 0x3C, 0x06, 0x00, 0x38, 0x77, 0x8F, 0x78, 0xF7, 0x0E, 0x60, - 0xE6, 0x0C, 0xC1, 0x8C, 0x18, 0x81, 0x00, 0x00, 0x60, 0xC0, 0x0C, 0x38, - 0x03, 0x86, 0x00, 0x60, 0xC0, 0x0C, 0x38, 0x03, 0x06, 0x00, 0x60, 0xC0, - 0xFF, 0xFF, 0x1F, 0xFF, 0xE0, 0x61, 0xC0, 0x1C, 0x30, 0x03, 0x06, 0x00, - 0x61, 0xC0, 0x18, 0x30, 0x3F, 0xFF, 0xC7, 0xFF, 0xF8, 0x18, 0x30, 0x03, - 0x0E, 0x00, 0xE1, 0x80, 0x18, 0x30, 0x03, 0x0C, 0x00, 0xC1, 0x80, 0x18, - 0x70, 0x00, 0x00, 0x08, 0x00, 0x30, 0x00, 0x40, 0x0F, 0xC0, 0x61, 0xE1, - 0x86, 0xC6, 0x0D, 0x8C, 0x1A, 0x18, 0x24, 0x38, 0xC0, 0x39, 0x80, 0x7F, - 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xDC, 0x03, 0x38, - 0x06, 0x32, 0x0C, 0x64, 0x18, 0xDC, 0x71, 0xB8, 0xC6, 0x39, 0x8C, 0x3F, - 0x30, 0x1F, 0x80, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x07, 0x80, 0x60, - 0x0F, 0xE0, 0xE0, 0x0F, 0x0F, 0xB0, 0x0E, 0x04, 0x30, 0x07, 0x02, 0x18, - 0x07, 0x01, 0x18, 0x03, 0x00, 0x8C, 0x01, 0x80, 0x8C, 0x00, 0xC0, 0x4C, - 0x00, 0x60, 0x66, 0x1F, 0x30, 0x66, 0x1F, 0xCC, 0x63, 0x1C, 0x67, 0xE3, - 0x1C, 0x19, 0xE1, 0x1C, 0x04, 0x01, 0x8C, 0x02, 0x00, 0x8E, 0x01, 0x00, - 0xC7, 0x00, 0x80, 0xC3, 0x00, 0x80, 0x61, 0x80, 0xC0, 0x60, 0xC0, 0xC0, - 0x20, 0x70, 0xE0, 0x30, 0x1F, 0xC0, 0x10, 0x07, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xFC, 0x00, 0x07, 0x18, 0x00, 0x18, 0x60, 0x00, 0xE1, 0x80, 0x03, - 0x8C, 0x00, 0x0E, 0x60, 0x00, 0x3B, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x80, - 0x00, 0x7F, 0x1F, 0xC3, 0x3C, 0x1C, 0x38, 0x70, 0x61, 0xE1, 0xE3, 0x87, - 0x07, 0x8C, 0x3C, 0x0F, 0x60, 0xF0, 0x3D, 0x03, 0xC0, 0x78, 0x0F, 0x01, - 0xE0, 0x3E, 0x07, 0xC0, 0x7C, 0x77, 0x84, 0xFF, 0x8F, 0xE1, 0xF8, 0x0F, - 0x00, 0x3B, 0xDE, 0xE7, 0x33, 0x18, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, - 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x01, - 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x01, 0x00, 0x80, 0x40, 0x30, - 0x08, 0x04, 0x02, 0x00, 0x04, 0x01, 0x00, 0x80, 0x60, 0x10, 0x08, 0x04, - 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x81, - 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x30, 0x18, 0x18, 0x08, 0x08, 0x08, 0x08, - 0x00, 0x06, 0x00, 0x60, 0x06, 0x0C, 0x43, 0xE4, 0xF1, 0x58, 0x0E, 0x00, - 0xF0, 0x74, 0xEE, 0x47, 0xC4, 0x30, 0x60, 0x06, 0x00, 0x60, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, - 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x31, 0xCE, - 0x31, 0x08, 0x98, 0xFF, 0xFF, 0x6F, 0xF6, 0x00, 0x06, 0x00, 0x0E, 0x00, - 0x0C, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, - 0xE0, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x00, 0x07, 0x00, 0x06, - 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, - 0x00, 0x60, 0x00, 0xE0, 0x00, 0x00, 0x78, 0x00, 0xC3, 0x00, 0xC1, 0xC0, - 0xC0, 0x60, 0xE0, 0x30, 0xE0, 0x1C, 0x70, 0x0E, 0x70, 0x07, 0x38, 0x03, - 0xBC, 0x01, 0xDC, 0x01, 0xEE, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x3B, 0x80, - 0x1D, 0xC0, 0x1E, 0xE0, 0x0E, 0x70, 0x0F, 0x38, 0x07, 0x1C, 0x07, 0x06, - 0x03, 0x83, 0x83, 0x80, 0xC3, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x7F, 0x00, - 0x70, 0x07, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x01, - 0xC0, 0x38, 0x03, 0x80, 0x38, 0x03, 0x80, 0x70, 0x07, 0x00, 0x70, 0x0E, - 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x1E, 0x0F, 0xF8, 0x01, 0xF0, 0x07, 0xFC, - 0x0C, 0x3E, 0x10, 0x1F, 0x20, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, - 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x30, 0x00, 0x70, 0x00, 0xE0, - 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x04, - 0x30, 0x0C, 0x7F, 0xF8, 0xFF, 0xF0, 0x00, 0x7C, 0x00, 0xFF, 0x00, 0xC3, - 0xC0, 0x80, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1C, 0x00, - 0x38, 0x00, 0xF0, 0x03, 0xFC, 0x00, 0x1F, 0x00, 0x03, 0xC0, 0x01, 0xE0, - 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x07, - 0x00, 0x03, 0x07, 0x87, 0x03, 0xFF, 0x00, 0xFC, 0x00, 0x00, 0x01, 0x80, - 0x01, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x01, 0xB0, 0x01, 0xB8, - 0x01, 0x9C, 0x01, 0x8C, 0x00, 0x86, 0x00, 0x87, 0x00, 0x83, 0x80, 0x81, - 0x80, 0x81, 0xC0, 0xC0, 0xE0, 0xC0, 0x70, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, - 0x1C, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0x80, - 0x01, 0xFF, 0x01, 0xFF, 0x02, 0x00, 0x02, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x0F, 0xC0, 0x0F, 0xF0, 0x00, 0xF8, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1C, - 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x18, - 0x00, 0x30, 0x00, 0x30, 0x70, 0xE0, 0xFF, 0x80, 0x7E, 0x00, 0x00, 0x03, - 0x80, 0x1F, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, - 0x00, 0x3C, 0x00, 0x3D, 0xF0, 0x1F, 0xFE, 0x1F, 0x0F, 0x8E, 0x03, 0xC7, - 0x00, 0xF7, 0x00, 0x7B, 0x80, 0x3D, 0x80, 0x1E, 0xC0, 0x0F, 0x60, 0x0F, - 0xB0, 0x07, 0x98, 0x03, 0xC4, 0x03, 0xC3, 0x03, 0xC0, 0xC3, 0x80, 0x1F, - 0x00, 0x3F, 0xFF, 0x7F, 0xFE, 0x40, 0x0E, 0x80, 0x0C, 0x00, 0x18, 0x00, - 0x18, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xC0, 0x01, 0xC0, 0x01, - 0x80, 0x03, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, - 0x00, 0x18, 0x00, 0x30, 0x00, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0x00, - 0xF8, 0x03, 0x0E, 0x06, 0x06, 0x0C, 0x03, 0x0C, 0x03, 0x0C, 0x03, 0x0C, - 0x03, 0x0E, 0x06, 0x07, 0x8E, 0x07, 0xD8, 0x03, 0xE0, 0x07, 0xF0, 0x1C, - 0xF8, 0x30, 0x3C, 0x60, 0x1C, 0x60, 0x0E, 0xC0, 0x06, 0xC0, 0x06, 0xC0, - 0x06, 0xC0, 0x06, 0xE0, 0x0C, 0x60, 0x18, 0x38, 0x30, 0x0F, 0xC0, 0x01, - 0xF8, 0x07, 0x8C, 0x0E, 0x06, 0x1E, 0x02, 0x3C, 0x03, 0x3C, 0x03, 0x78, - 0x03, 0x78, 0x03, 0x78, 0x03, 0x78, 0x07, 0x78, 0x07, 0x78, 0x07, 0x3C, - 0x0E, 0x3E, 0x1E, 0x1F, 0xEE, 0x07, 0x9C, 0x00, 0x38, 0x00, 0x78, 0x00, - 0x70, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xE0, 0x00, 0x0C, - 0x3C, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1E, 0x18, - 0x00, 0x07, 0x03, 0xC1, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x03, 0x81, 0xC0, 0xE0, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0x01, 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x01, - 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xE0, - 0x00, 0x7E, 0x00, 0x03, 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xF0, 0x00, 0x3F, - 0x00, 0x03, 0xC0, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, - 0xFF, 0xC0, 0xC0, 0x00, 0x3C, 0x00, 0x07, 0xE0, 0x00, 0x7E, 0x00, 0x07, - 0xE0, 0x00, 0x3E, 0x00, 0x03, 0xE0, 0x00, 0x3F, 0x00, 0x03, 0xC0, 0x01, - 0xF0, 0x01, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x01, 0xF0, 0x03, 0xF0, 0x03, - 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x00, 0x00, 0x0F, 0x81, 0x86, 0x30, 0x33, - 0x03, 0x30, 0x30, 0x03, 0x00, 0x60, 0x0E, 0x01, 0xC0, 0x38, 0x06, 0x00, - 0xC0, 0x08, 0x01, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0xF0, 0x0F, 0x00, 0x60, 0x00, 0x00, 0x7F, 0x00, 0x03, 0xFF, 0xE0, - 0x07, 0x80, 0xF0, 0x0E, 0x00, 0x38, 0x1C, 0x00, 0x0C, 0x38, 0x0E, 0x06, - 0x70, 0x3F, 0xE2, 0x70, 0x71, 0xE3, 0xF0, 0x60, 0xE1, 0xE0, 0xC0, 0xC1, - 0xE0, 0xC0, 0xC1, 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0xC1, 0xE1, 0x81, 0x82, - 0xE1, 0x83, 0x82, 0x71, 0x83, 0x86, 0x71, 0xC7, 0x8C, 0x38, 0xF9, 0xF8, - 0x3C, 0xF0, 0xF0, 0x1E, 0x00, 0x00, 0x0F, 0x80, 0x30, 0x03, 0xFF, 0xE0, - 0x00, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x01, 0xC0, 0x00, - 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x5E, 0x00, 0x04, 0xF0, - 0x00, 0x63, 0x80, 0x02, 0x1C, 0x00, 0x20, 0xE0, 0x01, 0x07, 0x00, 0x10, - 0x3C, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0xC0, 0x38, 0x04, 0x01, 0xC0, - 0x60, 0x0E, 0x06, 0x00, 0x78, 0x30, 0x03, 0xC3, 0x00, 0x1E, 0x38, 0x00, - 0xFB, 0xF0, 0x1F, 0xE0, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x78, 0x3C, - 0x03, 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xE0, 0x3C, 0x07, 0x01, 0xE0, 0x78, - 0x1E, 0x03, 0x83, 0xE0, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x0F, 0x0F, 0x00, - 0x70, 0x3C, 0x03, 0x80, 0xF0, 0x3C, 0x07, 0x81, 0xC0, 0x3C, 0x0E, 0x01, - 0xE0, 0xF0, 0x0F, 0x07, 0x80, 0xF0, 0x38, 0x0F, 0x81, 0xC1, 0xF8, 0x1F, - 0xFF, 0x83, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0x08, 0x07, 0xFF, 0xC0, 0xF8, - 0x3E, 0x0F, 0x00, 0x70, 0xF0, 0x03, 0x8F, 0x00, 0x08, 0xF0, 0x00, 0x47, - 0x80, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x01, 0xE0, 0x00, - 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xF0, - 0x00, 0x03, 0x80, 0x02, 0x1E, 0x00, 0x20, 0x78, 0x02, 0x03, 0xE0, 0x60, - 0x07, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, - 0x00, 0x78, 0x1F, 0x00, 0x3C, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x0E, 0x00, - 0x78, 0x07, 0x00, 0x1E, 0x07, 0x80, 0x0F, 0x03, 0x80, 0x07, 0x81, 0xC0, - 0x03, 0xC1, 0xE0, 0x01, 0xE0, 0xF0, 0x00, 0xF0, 0x70, 0x00, 0x78, 0x38, - 0x00, 0x78, 0x3C, 0x00, 0x3C, 0x1E, 0x00, 0x3E, 0x0E, 0x00, 0x1E, 0x0F, - 0x00, 0x1E, 0x07, 0x80, 0x1E, 0x03, 0x80, 0x3E, 0x01, 0xC0, 0x7E, 0x01, - 0xFF, 0xFC, 0x03, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x07, 0xFF, 0xF0, - 0x1E, 0x01, 0xC0, 0x78, 0x02, 0x01, 0xE0, 0x08, 0x07, 0x00, 0x00, 0x1C, - 0x08, 0x00, 0xF0, 0x60, 0x03, 0x83, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xF0, - 0x01, 0xE0, 0xC0, 0x07, 0x03, 0x00, 0x1C, 0x08, 0x00, 0xF0, 0x20, 0x03, - 0x80, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x81, 0xE0, 0x06, 0x07, 0x00, - 0x38, 0x1C, 0x03, 0xC0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x07, 0xFF, - 0xFC, 0x07, 0xFF, 0xF0, 0x1E, 0x01, 0xC0, 0x78, 0x02, 0x01, 0xE0, 0x08, - 0x07, 0x00, 0x20, 0x1C, 0x00, 0x00, 0xF0, 0x20, 0x03, 0x81, 0x80, 0x0E, - 0x0C, 0x00, 0x7F, 0xF0, 0x01, 0xFF, 0xC0, 0x07, 0x03, 0x00, 0x1C, 0x0C, - 0x00, 0xF0, 0x20, 0x03, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x01, - 0xE0, 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x00, 0x0F, 0xF8, - 0x00, 0x00, 0x00, 0x3F, 0x02, 0x01, 0xFF, 0x88, 0x0F, 0x81, 0xF0, 0x3C, - 0x01, 0xE0, 0xF0, 0x01, 0xC3, 0xC0, 0x01, 0x0F, 0x80, 0x02, 0x1E, 0x00, - 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xC0, 0x00, - 0x0F, 0x00, 0x3F, 0xFE, 0x00, 0x1E, 0x3C, 0x00, 0x38, 0x78, 0x00, 0x70, - 0xF0, 0x00, 0xE0, 0xE0, 0x01, 0xC1, 0xE0, 0x07, 0x01, 0xE0, 0x0E, 0x01, - 0xF0, 0x3C, 0x01, 0xFF, 0xF0, 0x00, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x3F, - 0xE0, 0x3E, 0x00, 0xF0, 0x07, 0x80, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x1C, - 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x1E, 0x00, 0x70, - 0x03, 0x80, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x1F, 0xFF, 0xF0, 0x03, 0xFF, - 0xFE, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0xC0, 0x0E, 0x00, - 0x70, 0x03, 0xC0, 0x0E, 0x00, 0x78, 0x03, 0xC0, 0x0E, 0x00, 0x78, 0x01, - 0xC0, 0x0E, 0x00, 0x78, 0x01, 0xC0, 0x0E, 0x00, 0x78, 0x03, 0xE0, 0x3F, - 0xE1, 0xFF, 0x00, 0x07, 0xFC, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x01, 0xC0, - 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, - 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x0E, 0x00, 0x78, 0x01, 0xE0, - 0x07, 0x00, 0x1C, 0x00, 0xF0, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0x80, 0x0F, - 0x00, 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, - 0x70, 0x00, 0x38, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, - 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, - 0x1E, 0x78, 0x0F, 0x38, 0x07, 0xF8, 0x01, 0xF0, 0x00, 0x07, 0xFC, 0x7F, - 0x80, 0xF8, 0x0F, 0x00, 0x38, 0x07, 0x00, 0x3C, 0x07, 0x00, 0x1C, 0x06, - 0x00, 0x0E, 0x06, 0x00, 0x07, 0x0C, 0x00, 0x07, 0x8C, 0x00, 0x03, 0x9C, - 0x00, 0x01, 0xD8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x73, - 0x80, 0x00, 0x39, 0xE0, 0x00, 0x3C, 0x78, 0x00, 0x1C, 0x1C, 0x00, 0x0E, - 0x0F, 0x00, 0x07, 0x03, 0x80, 0x07, 0x81, 0xE0, 0x03, 0x80, 0x70, 0x01, - 0xC0, 0x3C, 0x01, 0xE0, 0x1F, 0x03, 0xFE, 0x3F, 0xE0, 0x07, 0xFC, 0x00, - 0x1F, 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, - 0x01, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, - 0x00, 0x78, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x0F, 0x00, 0x00, 0xE0, - 0x00, 0x0E, 0x00, 0x11, 0xE0, 0x03, 0x1E, 0x00, 0x61, 0xC0, 0x06, 0x1C, - 0x01, 0xE3, 0xFF, 0xFC, 0xFF, 0xFF, 0xC0, 0x07, 0xF0, 0x00, 0x7E, 0x03, - 0xE0, 0x01, 0xF0, 0x03, 0xC0, 0x03, 0xE0, 0x07, 0x80, 0x0F, 0x80, 0x1F, - 0x00, 0x37, 0x00, 0x2E, 0x00, 0x5E, 0x00, 0x5C, 0x01, 0xB8, 0x01, 0xB8, - 0x06, 0x70, 0x02, 0x78, 0x09, 0xE0, 0x04, 0x70, 0x33, 0xC0, 0x08, 0xE0, - 0xC7, 0x00, 0x31, 0xC1, 0x0E, 0x00, 0x43, 0x86, 0x3C, 0x00, 0x87, 0x18, - 0x70, 0x03, 0x0E, 0x20, 0xE0, 0x06, 0x1C, 0xC3, 0xC0, 0x08, 0x3B, 0x07, - 0x80, 0x10, 0x7C, 0x0E, 0x00, 0x60, 0x78, 0x1C, 0x00, 0x80, 0xE0, 0x78, - 0x03, 0x01, 0x80, 0xF0, 0x07, 0x03, 0x03, 0xE0, 0x3F, 0x84, 0x1F, 0xF0, - 0x00, 0x07, 0xC0, 0x3F, 0xC0, 0x78, 0x03, 0xE0, 0x0E, 0x00, 0x70, 0x03, - 0xC0, 0x18, 0x01, 0xF0, 0x0E, 0x00, 0x6C, 0x03, 0x00, 0x1B, 0x80, 0xC0, - 0x0C, 0xE0, 0x30, 0x03, 0x18, 0x1C, 0x00, 0xC7, 0x06, 0x00, 0x30, 0xC1, - 0x80, 0x18, 0x38, 0xE0, 0x06, 0x06, 0x30, 0x01, 0x81, 0x8C, 0x00, 0xC0, - 0x73, 0x00, 0x30, 0x0D, 0xC0, 0x0C, 0x03, 0xE0, 0x03, 0x00, 0x78, 0x01, - 0x80, 0x1E, 0x00, 0x60, 0x07, 0x00, 0x38, 0x00, 0xC0, 0x0E, 0x00, 0x30, - 0x0F, 0xE0, 0x04, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x07, 0xC1, - 0xE0, 0x1E, 0x01, 0xE0, 0x78, 0x01, 0xC1, 0xE0, 0x03, 0xC7, 0x80, 0x07, - 0x9F, 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0xF8, 0x00, 0x3D, 0xE0, 0x00, 0xFF, - 0xC0, 0x01, 0xEF, 0x80, 0x03, 0xDE, 0x00, 0x0F, 0xBC, 0x00, 0x1E, 0x78, - 0x00, 0x7C, 0xF0, 0x00, 0xF1, 0xE0, 0x03, 0xC1, 0xC0, 0x0F, 0x03, 0xC0, - 0x3C, 0x03, 0xC1, 0xF0, 0x03, 0xFF, 0x80, 0x01, 0xFC, 0x00, 0x00, 0x07, - 0xFF, 0xC0, 0x07, 0xFF, 0xC0, 0x0E, 0x0F, 0x80, 0x78, 0x1F, 0x01, 0xC0, - 0x3C, 0x07, 0x00, 0xF0, 0x1C, 0x03, 0xC0, 0xF0, 0x0F, 0x03, 0x80, 0x78, - 0x0E, 0x01, 0xE0, 0x78, 0x1F, 0x01, 0xFF, 0xF8, 0x07, 0x7F, 0x00, 0x1C, - 0x00, 0x00, 0xF0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, - 0x01, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x00, 0x0F, - 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xE0, 0x03, 0xC1, 0xE0, - 0x1E, 0x01, 0xC0, 0x78, 0x03, 0xC1, 0xE0, 0x03, 0x87, 0x80, 0x07, 0x8F, - 0x00, 0x0F, 0x3C, 0x00, 0x1E, 0x78, 0x00, 0x3D, 0xE0, 0x00, 0x7B, 0xC0, - 0x01, 0xFF, 0x80, 0x03, 0xDE, 0x00, 0x07, 0xBC, 0x00, 0x1F, 0x78, 0x00, - 0x3C, 0xF0, 0x00, 0xF1, 0xE0, 0x01, 0xE3, 0xC0, 0x07, 0x83, 0x80, 0x1E, - 0x07, 0x80, 0x78, 0x07, 0x01, 0xC0, 0x03, 0xDE, 0x00, 0x01, 0xC0, 0x00, - 0x06, 0x00, 0x00, 0x18, 0x00, 0x10, 0x7F, 0xC0, 0xC3, 0xFF, 0xFF, 0x08, - 0x07, 0xF0, 0x00, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x78, 0x3C, 0x03, - 0xC0, 0xF0, 0x1E, 0x07, 0x80, 0xE0, 0x3C, 0x07, 0x01, 0xE0, 0x78, 0x1E, - 0x03, 0x83, 0xF0, 0x1F, 0xFE, 0x01, 0xFF, 0xC0, 0x0F, 0x38, 0x00, 0x71, - 0xE0, 0x03, 0x87, 0x00, 0x3C, 0x38, 0x01, 0xC1, 0xE0, 0x0E, 0x07, 0x00, - 0xF0, 0x3C, 0x07, 0x81, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x3C, 0x1E, 0x00, - 0xF3, 0xFC, 0x07, 0xC0, 0x00, 0xF8, 0x81, 0xFF, 0xC1, 0xE1, 0xE1, 0xE0, - 0x70, 0xF0, 0x10, 0x78, 0x08, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0x80, 0x01, - 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, - 0x80, 0x3C, 0x40, 0x1E, 0x20, 0x0F, 0x38, 0x07, 0x9E, 0x07, 0x8F, 0x87, - 0x84, 0x7F, 0xC2, 0x0F, 0x80, 0x3F, 0xFF, 0xF7, 0xFF, 0xFF, 0x70, 0x78, - 0x76, 0x07, 0x02, 0xC0, 0x70, 0x28, 0x0F, 0x02, 0x00, 0xF0, 0x00, 0x0E, - 0x00, 0x01, 0xE0, 0x00, 0x1E, 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x03, - 0xC0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x07, 0x80, 0x00, - 0x70, 0x00, 0x07, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF0, 0x00, - 0xFF, 0xE0, 0x00, 0x7F, 0xE0, 0xFE, 0x3F, 0x00, 0x78, 0x3C, 0x00, 0x60, - 0xF0, 0x01, 0x81, 0xE0, 0x03, 0x03, 0xC0, 0x06, 0x07, 0x00, 0x08, 0x1E, - 0x00, 0x30, 0x3C, 0x00, 0x60, 0x70, 0x00, 0x81, 0xE0, 0x01, 0x03, 0xC0, - 0x06, 0x07, 0x80, 0x0C, 0x0E, 0x00, 0x10, 0x3C, 0x00, 0x60, 0x78, 0x00, - 0xC0, 0xF0, 0x01, 0x01, 0xE0, 0x06, 0x03, 0xC0, 0x08, 0x03, 0xC0, 0x30, - 0x07, 0xC1, 0xC0, 0x07, 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFF, 0x01, - 0xFB, 0xE0, 0x07, 0x8E, 0x00, 0x18, 0x78, 0x01, 0x83, 0xC0, 0x0C, 0x1E, - 0x00, 0xC0, 0xF0, 0x06, 0x03, 0x80, 0x60, 0x1C, 0x02, 0x00, 0xE0, 0x30, - 0x07, 0x83, 0x00, 0x3C, 0x10, 0x01, 0xE1, 0x80, 0x07, 0x08, 0x00, 0x38, - 0x80, 0x01, 0xC4, 0x00, 0x0E, 0x40, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x00, - 0x0E, 0x00, 0x00, 0x70, 0x00, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0xFF, - 0x3F, 0xC3, 0xFB, 0xE0, 0x78, 0x07, 0x8E, 0x03, 0xC0, 0x18, 0x78, 0x0E, - 0x01, 0x83, 0xC0, 0x70, 0x0C, 0x1E, 0x03, 0x80, 0x40, 0xF0, 0x3C, 0x06, - 0x03, 0x81, 0xE0, 0x60, 0x1C, 0x17, 0x83, 0x00, 0xE0, 0xBC, 0x30, 0x07, - 0x09, 0xE1, 0x00, 0x38, 0x47, 0x18, 0x01, 0xE4, 0x38, 0x80, 0x0F, 0x21, - 0xCC, 0x00, 0x7A, 0x0E, 0x40, 0x01, 0xD0, 0x76, 0x00, 0x0F, 0x03, 0xA0, - 0x00, 0x78, 0x1F, 0x00, 0x03, 0x80, 0xF0, 0x00, 0x1C, 0x07, 0x00, 0x00, - 0xC0, 0x38, 0x00, 0x06, 0x00, 0x80, 0x00, 0x20, 0x04, 0x00, 0x00, 0x0F, - 0xF8, 0x7F, 0x03, 0xE0, 0x3E, 0x01, 0xC0, 0x18, 0x01, 0xE0, 0x30, 0x01, - 0xE0, 0x60, 0x00, 0xE0, 0xC0, 0x00, 0xF1, 0xC0, 0x00, 0x71, 0x80, 0x00, - 0x7B, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xCE, 0x00, 0x01, 0x8F, 0x00, 0x01, - 0x07, 0x00, 0x03, 0x07, 0x00, 0x06, 0x07, 0x80, 0x0C, 0x03, 0x80, 0x18, - 0x03, 0xC0, 0x78, 0x03, 0xE0, 0xFE, 0x1F, 0xF8, 0xFF, 0x87, 0xE7, 0xC0, - 0x38, 0x70, 0x06, 0x0E, 0x01, 0x81, 0xE0, 0x30, 0x1C, 0x0C, 0x03, 0x83, - 0x00, 0x78, 0xC0, 0x07, 0x30, 0x00, 0xE4, 0x00, 0x1D, 0x80, 0x03, 0xE0, - 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x07, 0x00, - 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, 0x7C, 0x00, - 0x3F, 0xF0, 0x00, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xE0, 0xE0, 0x0F, 0x82, - 0x00, 0x3C, 0x18, 0x01, 0xE0, 0x40, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, - 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xF0, 0x00, 0x07, 0x80, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x00, 0x07, - 0x80, 0x00, 0x3C, 0x00, 0xC1, 0xE0, 0x02, 0x0F, 0x00, 0x18, 0x38, 0x01, - 0xE1, 0xFF, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x01, 0xF8, 0x0C, 0x00, 0xC0, - 0x06, 0x00, 0x30, 0x01, 0x80, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x03, - 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x60, 0x03, 0x00, 0x18, 0x01, 0xC0, - 0x0C, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x06, - 0x00, 0x30, 0x01, 0xF8, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x30, - 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x0E, 0x00, 0x60, 0x07, - 0x00, 0x30, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xC0, 0x0E, 0x00, - 0x60, 0x07, 0x00, 0x30, 0x03, 0xF0, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, - 0x0E, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x01, 0x80, 0x18, 0x01, 0x80, - 0x18, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x60, 0x06, 0x00, - 0x60, 0x06, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x0F, 0xC0, 0x03, 0x80, - 0x07, 0x00, 0x1F, 0x00, 0x36, 0x00, 0xCE, 0x01, 0x8C, 0x06, 0x1C, 0x0C, - 0x18, 0x38, 0x38, 0x60, 0x31, 0xC0, 0x73, 0x00, 0x6E, 0x00, 0xE0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xF0, 0xE3, 0x8F, 0x0E, 0x18, 0x30, 0x01, 0xEC, 0x0E, - 0x58, 0x30, 0x70, 0xE0, 0xC3, 0x81, 0x86, 0x07, 0x1C, 0x0C, 0x38, 0x18, - 0xE0, 0x71, 0xC0, 0xE3, 0x83, 0x87, 0x0B, 0x2F, 0x36, 0xCF, 0xCF, 0x1F, - 0x1C, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x06, 0x00, - 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0C, 0x00, 0x1C, 0x7C, 0x1C, 0xFE, - 0x19, 0x8F, 0x1A, 0x07, 0x3C, 0x07, 0x38, 0x07, 0x38, 0x07, 0x70, 0x0E, - 0x70, 0x0E, 0x70, 0x1C, 0x60, 0x18, 0xE0, 0x30, 0xE0, 0x60, 0xE1, 0xC0, - 0x3F, 0x00, 0x01, 0xF0, 0x38, 0xC3, 0x8E, 0x78, 0x73, 0x80, 0x3C, 0x01, - 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x47, 0x84, 0x3F, - 0xC0, 0x7C, 0x00, 0x00, 0x01, 0x80, 0x07, 0xC0, 0x00, 0xE0, 0x00, 0x60, - 0x00, 0x30, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0xF7, - 0x01, 0xC7, 0x81, 0xC3, 0x81, 0xC1, 0xC1, 0xE0, 0xE0, 0xE0, 0x60, 0xF0, - 0x30, 0x78, 0x38, 0x78, 0x18, 0x3C, 0x0C, 0x1E, 0x0C, 0x0F, 0x0E, 0x27, - 0xCB, 0x21, 0xF9, 0xE0, 0x78, 0xE0, 0x00, 0xF0, 0x1C, 0xC3, 0x86, 0x38, - 0x33, 0xC3, 0x1C, 0x31, 0xE3, 0x1F, 0xE0, 0xF0, 0x07, 0x80, 0x3C, 0x01, - 0xE0, 0x47, 0x84, 0x3F, 0xC0, 0x7C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x33, - 0x00, 0x06, 0x30, 0x00, 0xC0, 0x00, 0x0C, 0x00, 0x01, 0xC0, 0x00, 0x18, - 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x3F, 0xF8, 0x03, 0xFF, 0x80, 0x03, - 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, - 0x60, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0xC0, 0x00, - 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x18, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, - 0x03, 0x00, 0x00, 0x30, 0x00, 0xC6, 0x00, 0x0C, 0xC0, 0x00, 0x78, 0x00, - 0x00, 0x01, 0xF8, 0x07, 0x1F, 0x0E, 0x0F, 0x0C, 0x0E, 0x18, 0x0E, 0x18, - 0x0E, 0x18, 0x1E, 0x18, 0x3C, 0x0C, 0x78, 0x07, 0xE0, 0x08, 0x00, 0x18, - 0x00, 0x1E, 0x00, 0x0F, 0xE0, 0x13, 0xF0, 0x60, 0x78, 0xC0, 0x38, 0xC0, - 0x18, 0xC0, 0x18, 0xC0, 0x30, 0x60, 0x60, 0x3F, 0x80, 0x03, 0x00, 0x1F, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x0E, - 0x00, 0x0C, 0x00, 0x1C, 0x38, 0x1C, 0x7C, 0x1C, 0xCC, 0x19, 0x0C, 0x3A, - 0x0C, 0x3C, 0x1C, 0x3C, 0x18, 0x38, 0x18, 0x70, 0x38, 0x70, 0x38, 0x70, - 0x30, 0x60, 0x72, 0xE0, 0x76, 0xE0, 0x7C, 0xC0, 0x70, 0x03, 0x03, 0xC1, - 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7E, 0x0F, 0x03, 0x81, 0x81, - 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x1C, 0x1C, 0x4C, 0x47, 0xC3, 0xC0, 0x00, - 0x0C, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x18, 0x03, 0xF0, 0x00, 0xE0, 0x01, 0x80, 0x03, 0x00, - 0x0E, 0x00, 0x1C, 0x00, 0x30, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x80, 0x06, - 0x00, 0x0C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xC0, 0x03, 0x80, 0x06, 0x00, - 0x0C, 0x06, 0x30, 0x0C, 0xC0, 0x0F, 0x00, 0x00, 0x03, 0x00, 0x3E, 0x00, - 0x1C, 0x00, 0x38, 0x00, 0x60, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0C, - 0x00, 0x38, 0xFC, 0x70, 0x60, 0xE1, 0x81, 0x86, 0x07, 0x10, 0x0E, 0x40, - 0x1B, 0x80, 0x3F, 0x00, 0xE7, 0x01, 0xCE, 0x03, 0x0C, 0x06, 0x1C, 0x5C, - 0x1D, 0x38, 0x3E, 0x60, 0x38, 0x03, 0x1F, 0x07, 0x07, 0x06, 0x0E, 0x0E, - 0x0E, 0x0C, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x38, 0x30, 0x70, 0x70, 0x70, - 0x64, 0xE4, 0xE8, 0xF0, 0xE0, 0x00, 0x06, 0x18, 0x1E, 0x3E, 0x3C, 0x3F, - 0x0E, 0x4C, 0x47, 0x0C, 0x8C, 0x8E, 0x1D, 0x0D, 0x0E, 0x1E, 0x1A, 0x0E, - 0x1C, 0x1E, 0x0C, 0x3C, 0x1C, 0x1C, 0x38, 0x38, 0x1C, 0x38, 0x38, 0x1C, - 0x30, 0x38, 0x18, 0x70, 0x30, 0x39, 0x70, 0x70, 0x32, 0x60, 0x70, 0x3C, - 0x60, 0x60, 0x38, 0x06, 0x0E, 0x1F, 0x1F, 0x83, 0x99, 0xC1, 0x98, 0xC1, - 0xD8, 0xE0, 0xE8, 0x70, 0x78, 0x30, 0x38, 0x38, 0x3C, 0x1C, 0x1C, 0x0E, - 0x0E, 0x06, 0x0E, 0x03, 0x17, 0x01, 0xB3, 0x80, 0xF1, 0x80, 0x70, 0x01, - 0xF0, 0x0E, 0x38, 0x38, 0x30, 0xE0, 0x73, 0x80, 0xEE, 0x01, 0xDC, 0x03, - 0xF8, 0x0F, 0xE0, 0x1D, 0xC0, 0x3B, 0x80, 0xE7, 0x03, 0x8E, 0x06, 0x0E, - 0x38, 0x07, 0xC0, 0x00, 0x00, 0xE7, 0xC0, 0x7C, 0xFE, 0x01, 0xD1, 0xF0, - 0x1E, 0x0F, 0x01, 0xC0, 0xF0, 0x38, 0x0F, 0x03, 0x80, 0xF0, 0x38, 0x0E, - 0x03, 0x01, 0xE0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0x60, 0x78, 0x06, 0x0F, - 0x00, 0xE1, 0xC0, 0x0F, 0xF0, 0x00, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xC0, - 0x00, 0x1C, 0x00, 0x01, 0x80, 0x00, 0x38, 0x00, 0x0F, 0xF0, 0x00, 0x00, - 0xF7, 0x03, 0xCE, 0x0F, 0x06, 0x1E, 0x06, 0x1C, 0x04, 0x3C, 0x04, 0x78, - 0x04, 0x78, 0x0C, 0xF0, 0x08, 0xF0, 0x18, 0xF0, 0x38, 0xF0, 0xF0, 0xF9, - 0x70, 0x7E, 0x70, 0x3C, 0x70, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, - 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x0F, 0xF0, 0x7C, 0x70, 0xE7, 0xC7, 0x4C, - 0x34, 0x01, 0xA0, 0x1E, 0x00, 0xF0, 0x07, 0x00, 0x78, 0x03, 0x80, 0x1C, - 0x00, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x00, 0x07, 0x88, 0x63, 0x86, - 0x0C, 0x30, 0x21, 0xC1, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x80, 0x1C, - 0x10, 0x60, 0x83, 0x06, 0x18, 0x71, 0x82, 0x78, 0x00, 0x02, 0x03, 0x03, - 0x07, 0xF7, 0xF8, 0xE0, 0x60, 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, - 0x01, 0x91, 0xC8, 0xF8, 0x78, 0x00, 0x1C, 0x0D, 0xF8, 0x38, 0x60, 0x70, - 0xC1, 0xC3, 0x83, 0x87, 0x07, 0x0C, 0x1E, 0x38, 0x78, 0x70, 0xB0, 0xE2, - 0x61, 0x8D, 0xC7, 0x33, 0x2C, 0xC6, 0x5F, 0x0F, 0x38, 0x1C, 0x00, 0x18, - 0x1B, 0xE0, 0x73, 0x81, 0xC6, 0x03, 0x18, 0x0C, 0x70, 0x21, 0xC1, 0x83, - 0x0C, 0x0C, 0x20, 0x31, 0x00, 0xC8, 0x03, 0x40, 0x0E, 0x00, 0x30, 0x00, - 0x80, 0x00, 0x18, 0x04, 0x1B, 0xE0, 0x30, 0x71, 0x80, 0xC1, 0xC6, 0x07, - 0x01, 0x1C, 0x2C, 0x08, 0x70, 0xB0, 0x20, 0xC4, 0xC1, 0x03, 0x21, 0x84, - 0x0D, 0x86, 0x20, 0x34, 0x19, 0x00, 0xE0, 0x68, 0x03, 0x81, 0xA0, 0x0C, - 0x07, 0x00, 0x30, 0x18, 0x00, 0x80, 0x40, 0x00, 0x03, 0x07, 0x0F, 0x8F, - 0x13, 0x93, 0x01, 0xB0, 0x01, 0xE0, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xC0, - 0x01, 0xC0, 0x03, 0xE0, 0x02, 0x60, 0x04, 0x62, 0x08, 0x64, 0xF0, 0x7C, - 0xE0, 0x30, 0x06, 0x06, 0x3F, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x81, - 0x03, 0x82, 0x01, 0x82, 0x01, 0xC4, 0x01, 0xC4, 0x01, 0xC8, 0x00, 0xC8, - 0x00, 0xD0, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x80, - 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x78, 0x00, 0x70, 0x00, 0x1F, 0xFC, - 0x7F, 0xE1, 0x01, 0x08, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, - 0x06, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x38, 0x01, 0xF0, 0x0B, 0xE0, - 0x01, 0xC6, 0x03, 0x98, 0x03, 0x80, 0x00, 0x70, 0x0C, 0x01, 0x80, 0x38, - 0x03, 0x80, 0x30, 0x07, 0x00, 0x70, 0x07, 0x00, 0x60, 0x0E, 0x00, 0xE0, - 0x0C, 0x01, 0xC0, 0x1C, 0x07, 0x80, 0x30, 0x04, 0x00, 0x20, 0x03, 0x00, - 0x30, 0x07, 0x00, 0x70, 0x06, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0C, 0x00, - 0xC0, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xC0, 0x06, - 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, - 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0C, 0x00, 0x40, 0x04, 0x00, 0xC0, 0x1E, - 0x03, 0x80, 0x38, 0x03, 0x00, 0x70, 0x07, 0x00, 0x70, 0x06, 0x00, 0xE0, - 0x0E, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x70, 0x00, 0x1E, 0x00, 0x3F, 0xE1, - 0xF8, 0x7F, 0xC0, 0x07, 0x80 }; - -const GFXglyph FreeSerifItalic18pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 9, 0, 1 }, // 0x20 ' ' - { 0, 10, 23, 12, 1, -22 }, // 0x21 '!' - { 29, 12, 9, 12, 4, -22 }, // 0x22 '"' - { 43, 19, 23, 17, 0, -22 }, // 0x23 '#' - { 98, 15, 29, 17, 1, -25 }, // 0x24 '$' - { 153, 25, 23, 29, 3, -22 }, // 0x25 '%' - { 225, 22, 23, 27, 3, -22 }, // 0x26 '&' - { 289, 5, 9, 7, 4, -22 }, // 0x27 ''' - { 295, 9, 29, 12, 1, -22 }, // 0x28 '(' - { 328, 9, 29, 12, 1, -22 }, // 0x29 ')' - { 361, 12, 14, 18, 5, -22 }, // 0x2A '*' - { 382, 16, 18, 24, 4, -17 }, // 0x2B '+' - { 418, 5, 8, 9, -1, -2 }, // 0x2C ',' - { 423, 8, 2, 12, 2, -8 }, // 0x2D '-' - { 425, 4, 4, 9, 1, -3 }, // 0x2E '.' - { 427, 16, 23, 10, 0, -22 }, // 0x2F '/' - { 473, 17, 24, 17, 1, -23 }, // 0x30 '0' - { 524, 12, 24, 17, 2, -23 }, // 0x31 '1' - { 560, 16, 23, 17, 1, -22 }, // 0x32 '2' - { 606, 17, 24, 18, 0, -23 }, // 0x33 '3' - { 657, 17, 24, 17, 0, -23 }, // 0x34 '4' - { 708, 16, 23, 18, 0, -22 }, // 0x35 '5' - { 754, 17, 24, 18, 1, -23 }, // 0x36 '6' - { 805, 16, 23, 17, 3, -22 }, // 0x37 '7' - { 851, 16, 24, 18, 1, -23 }, // 0x38 '8' - { 899, 16, 24, 17, 1, -23 }, // 0x39 '9' - { 947, 7, 15, 9, 2, -14 }, // 0x3A ':' - { 961, 9, 20, 9, 1, -14 }, // 0x3B ';' - { 984, 18, 18, 20, 2, -17 }, // 0x3C '<' - { 1025, 18, 9, 23, 3, -12 }, // 0x3D '=' - { 1046, 18, 18, 20, 2, -17 }, // 0x3E '>' - { 1087, 12, 23, 16, 4, -22 }, // 0x3F '?' - { 1122, 24, 23, 27, 2, -22 }, // 0x40 '@' - { 1191, 21, 23, 23, 0, -22 }, // 0x41 'A' - { 1252, 21, 23, 21, 0, -22 }, // 0x42 'B' - { 1313, 21, 23, 21, 2, -22 }, // 0x43 'C' - { 1374, 25, 23, 25, 0, -22 }, // 0x44 'D' - { 1446, 22, 23, 20, 0, -22 }, // 0x45 'E' - { 1510, 22, 23, 20, 0, -22 }, // 0x46 'F' - { 1574, 23, 23, 24, 2, -22 }, // 0x47 'G' - { 1641, 27, 23, 25, 0, -22 }, // 0x48 'H' - { 1719, 14, 23, 11, 0, -22 }, // 0x49 'I' - { 1760, 17, 23, 15, 0, -22 }, // 0x4A 'J' - { 1809, 25, 23, 22, 0, -22 }, // 0x4B 'K' - { 1881, 20, 23, 20, 0, -22 }, // 0x4C 'L' - { 1939, 31, 23, 29, 0, -22 }, // 0x4D 'M' - { 2029, 26, 23, 24, 0, -22 }, // 0x4E 'N' - { 2104, 23, 23, 23, 1, -22 }, // 0x4F 'O' - { 2171, 22, 23, 20, 0, -22 }, // 0x50 'P' - { 2235, 23, 29, 23, 1, -22 }, // 0x51 'Q' - { 2319, 21, 23, 22, 0, -22 }, // 0x52 'R' - { 2380, 17, 23, 16, 0, -22 }, // 0x53 'S' - { 2429, 20, 23, 21, 3, -22 }, // 0x54 'T' - { 2487, 23, 23, 25, 4, -22 }, // 0x55 'U' - { 2554, 21, 23, 23, 5, -22 }, // 0x56 'V' - { 2615, 29, 23, 31, 5, -22 }, // 0x57 'W' - { 2699, 24, 23, 23, 0, -22 }, // 0x58 'X' - { 2768, 19, 23, 21, 4, -22 }, // 0x59 'Y' - { 2823, 22, 23, 20, 0, -22 }, // 0x5A 'Z' - { 2887, 13, 28, 14, 1, -22 }, // 0x5B '[' - { 2933, 12, 23, 17, 4, -22 }, // 0x5C '\' - { 2968, 12, 28, 14, 1, -22 }, // 0x5D ']' - { 3010, 15, 13, 15, 0, -22 }, // 0x5E '^' - { 3035, 18, 2, 17, 0, 3 }, // 0x5F '_' - { 3040, 6, 6, 9, 5, -22 }, // 0x60 '`' - { 3045, 15, 15, 17, 1, -14 }, // 0x61 'a' - { 3074, 16, 24, 17, 1, -23 }, // 0x62 'b' - { 3122, 13, 15, 14, 1, -14 }, // 0x63 'c' - { 3147, 17, 24, 18, 1, -23 }, // 0x64 'd' - { 3198, 13, 15, 14, 1, -14 }, // 0x65 'e' - { 3223, 20, 31, 15, -3, -23 }, // 0x66 'f' - { 3301, 16, 22, 15, -1, -14 }, // 0x67 'g' - { 3345, 16, 24, 17, 1, -23 }, // 0x68 'h' - { 3393, 9, 23, 9, 1, -22 }, // 0x69 'i' - { 3419, 15, 30, 10, -3, -22 }, // 0x6A 'j' - { 3476, 15, 24, 16, 1, -23 }, // 0x6B 'k' - { 3521, 8, 25, 9, 1, -23 }, // 0x6C 'l' - { 3546, 24, 15, 25, 0, -14 }, // 0x6D 'm' - { 3591, 17, 15, 17, 0, -14 }, // 0x6E 'n' - { 3623, 15, 15, 17, 1, -14 }, // 0x6F 'o' - { 3652, 20, 22, 16, -3, -14 }, // 0x70 'p' - { 3707, 16, 22, 17, 1, -14 }, // 0x71 'q' - { 3751, 13, 15, 13, 1, -14 }, // 0x72 'r' - { 3776, 13, 15, 12, 0, -14 }, // 0x73 's' - { 3801, 9, 18, 8, 1, -17 }, // 0x74 't' - { 3822, 15, 15, 17, 1, -14 }, // 0x75 'u' - { 3851, 14, 15, 16, 2, -14 }, // 0x76 'v' - { 3878, 22, 15, 24, 1, -14 }, // 0x77 'w' - { 3920, 16, 15, 15, -1, -14 }, // 0x78 'x' - { 3950, 16, 22, 16, 0, -14 }, // 0x79 'y' - { 3994, 14, 18, 14, 0, -14 }, // 0x7A 'z' - { 4026, 12, 30, 14, 2, -23 }, // 0x7B '{' - { 4071, 2, 23, 10, 4, -22 }, // 0x7C '|' - { 4077, 12, 31, 14, 0, -24 }, // 0x7D '}' - { 4124, 17, 4, 19, 1, -10 } }; // 0x7E '~' - -const GFXfont FreeSerifItalic18pt7b PROGMEM = { - (uint8_t *)FreeSerifItalic18pt7bBitmaps, - (GFXglyph *)FreeSerifItalic18pt7bGlyphs, - 0x20, 0x7E, 42 }; - -// Approx. 4805 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h deleted file mode 100644 index 75da1e0..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic24pt7b.h +++ /dev/null @@ -1,737 +0,0 @@ -const uint8_t FreeSerifItalic24pt7bBitmaps[] PROGMEM = { - 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x1C, - 0x01, 0xC0, 0x3C, 0x03, 0x80, 0x38, 0x03, 0x80, 0x30, 0x07, 0x00, 0x60, - 0x06, 0x00, 0x60, 0x04, 0x00, 0x40, 0x0C, 0x00, 0x80, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xF8, 0x0F, 0x80, 0xF8, 0x07, 0x00, - 0x38, 0x1D, 0xE0, 0x77, 0x83, 0xDC, 0x0E, 0x70, 0x39, 0xC1, 0xEE, 0x07, - 0x38, 0x1C, 0xC0, 0x63, 0x01, 0x8C, 0x06, 0x20, 0x10, 0x00, 0x06, 0x03, - 0x00, 0x07, 0x03, 0x80, 0x03, 0x81, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0xC0, - 0xE0, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x70, 0x38, 0x00, 0x30, - 0x18, 0x00, 0x38, 0x1C, 0x03, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x0E, - 0x07, 0x00, 0x06, 0x03, 0x00, 0x07, 0x03, 0x80, 0x03, 0x81, 0xC0, 0x03, - 0x81, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0xE0, 0x70, 0x1F, 0xFF, 0xFF, 0x8F, - 0xFF, 0xFF, 0x80, 0x70, 0x38, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x0C, 0x00, - 0x1C, 0x0E, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x07, 0x03, 0x80, - 0x03, 0x81, 0xC0, 0x03, 0x81, 0xC0, 0x01, 0xC0, 0xE0, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x18, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0x80, 0x1C, 0x2F, 0x01, - 0x83, 0x3C, 0x1C, 0x18, 0xE1, 0xC0, 0xC3, 0x0E, 0x06, 0x18, 0x70, 0x60, - 0x83, 0x83, 0x04, 0x1E, 0x18, 0x00, 0xF8, 0xC0, 0x03, 0xEC, 0x00, 0x0F, - 0xE0, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xC0, - 0x00, 0x7F, 0x00, 0x03, 0x7C, 0x00, 0x19, 0xE0, 0x01, 0x87, 0x80, 0x0C, - 0x3C, 0x00, 0x60, 0xE2, 0x03, 0x07, 0x10, 0x30, 0x39, 0x81, 0x81, 0xCE, - 0x0C, 0x0C, 0x70, 0x60, 0xE3, 0xC6, 0x06, 0x0F, 0x30, 0x60, 0x1F, 0x9E, - 0x00, 0x3F, 0x80, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, - 0x80, 0x00, 0x01, 0xF0, 0x00, 0xC0, 0x03, 0xFE, 0x01, 0xE0, 0x03, 0xC7, - 0x83, 0xE0, 0x03, 0xC0, 0x7F, 0x60, 0x03, 0xC0, 0x20, 0x70, 0x01, 0xC0, - 0x10, 0x30, 0x01, 0xE0, 0x08, 0x38, 0x00, 0xE0, 0x04, 0x18, 0x00, 0xF0, - 0x02, 0x1C, 0x00, 0x70, 0x02, 0x0C, 0x00, 0x38, 0x01, 0x0E, 0x00, 0x1C, - 0x01, 0x8E, 0x00, 0x0E, 0x00, 0x86, 0x00, 0x07, 0x00, 0x87, 0x03, 0xE1, - 0x80, 0xC3, 0x07, 0xFC, 0xE1, 0xC3, 0x87, 0xC6, 0x3F, 0x81, 0x87, 0x81, - 0x8F, 0x81, 0xC7, 0x80, 0x40, 0x00, 0xC3, 0xC0, 0x20, 0x00, 0xE3, 0xC0, - 0x10, 0x00, 0x61, 0xC0, 0x08, 0x00, 0x61, 0xE0, 0x04, 0x00, 0x70, 0xF0, - 0x06, 0x00, 0x30, 0x70, 0x02, 0x00, 0x38, 0x38, 0x03, 0x00, 0x18, 0x1C, - 0x01, 0x00, 0x1C, 0x0E, 0x01, 0x80, 0x0C, 0x07, 0x01, 0x80, 0x0E, 0x01, - 0xC3, 0x80, 0x06, 0x00, 0x7F, 0x80, 0x06, 0x00, 0x1F, 0x00, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x71, - 0xC0, 0x00, 0x01, 0xC3, 0x80, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x38, 0x38, - 0x00, 0x01, 0xE0, 0xE0, 0x00, 0x07, 0x87, 0x00, 0x00, 0x1E, 0x18, 0x00, - 0x00, 0x78, 0xC0, 0x00, 0x01, 0xE6, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7F, - 0xC1, 0xFE, 0x03, 0x9F, 0x03, 0xE0, 0x3C, 0x3C, 0x07, 0x01, 0xE0, 0xF8, - 0x1C, 0x0F, 0x03, 0xE0, 0xE0, 0x7C, 0x07, 0x83, 0x01, 0xE0, 0x1F, 0x1C, - 0x07, 0x80, 0x7C, 0x60, 0x3E, 0x00, 0xFB, 0x00, 0xF8, 0x03, 0xFC, 0x03, - 0xE0, 0x07, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x7C, - 0x00, 0xFC, 0x01, 0xF8, 0x0F, 0xF0, 0x03, 0xF0, 0xF3, 0xF0, 0x87, 0xFF, - 0x07, 0xFC, 0x07, 0xF0, 0x07, 0xC0, 0x39, 0xDE, 0xE7, 0x3B, 0x9C, 0xC6, - 0x31, 0x00, 0x00, 0x10, 0x01, 0x00, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, - 0x1C, 0x00, 0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x78, 0x03, 0x80, 0x3C, - 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0E, 0x00, - 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, - 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x01, 0x80, 0x0C, 0x00, 0x60, - 0x01, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x80, 0x06, 0x00, 0x10, 0x00, - 0x80, 0x06, 0x00, 0x30, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, - 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, - 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x07, - 0x80, 0x38, 0x03, 0xC0, 0x1C, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, - 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x10, 0x01, 0x00, 0x00, 0x01, 0x00, - 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0xE1, 0x07, 0xE1, 0x0F, - 0xF1, 0x1F, 0x19, 0x30, 0x07, 0xC0, 0x03, 0x80, 0x0D, 0x60, 0x79, 0x3C, - 0xF1, 0x1F, 0xE1, 0x0F, 0xE1, 0x07, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, - 0x03, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, - 0xC0, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, - 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, - 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x00, - 0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x7C, 0xF9, - 0xF1, 0xE1, 0xC3, 0x0C, 0x10, 0xC1, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, - 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x3C, - 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, - 0xF0, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x3C, 0x00, - 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, - 0x00, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, 0x3C, 0x00, 0x01, - 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x70, 0x00, - 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, - 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x03, 0x86, - 0x00, 0x30, 0x18, 0x03, 0x00, 0xC0, 0x38, 0x03, 0x03, 0x80, 0x18, 0x38, - 0x00, 0xC1, 0xC0, 0x07, 0x1C, 0x00, 0x38, 0xE0, 0x01, 0xCF, 0x00, 0x0E, - 0x70, 0x00, 0x77, 0x80, 0x07, 0xBC, 0x00, 0x3D, 0xE0, 0x01, 0xEE, 0x00, - 0x0F, 0xF0, 0x00, 0x77, 0x80, 0x07, 0xBC, 0x00, 0x3D, 0xC0, 0x01, 0xCE, - 0x00, 0x1E, 0x70, 0x00, 0xF3, 0x80, 0x07, 0x1C, 0x00, 0x78, 0xE0, 0x03, - 0x83, 0x00, 0x38, 0x18, 0x03, 0x80, 0xE0, 0x18, 0x03, 0x01, 0x80, 0x0C, - 0x38, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xC0, 0x3F, 0xE0, - 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1E, - 0x00, 0x0F, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, - 0xF0, 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x1E, 0x00, - 0x0F, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x01, 0xE0, - 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0x01, 0xFF, - 0xF0, 0x00, 0x3F, 0x00, 0x07, 0xFE, 0x00, 0x7F, 0xF8, 0x07, 0x07, 0xE0, - 0x60, 0x1F, 0x06, 0x00, 0x7C, 0x20, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, - 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0E, 0x00, - 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, - 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x03, - 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x01, 0x03, 0x00, 0x08, - 0x30, 0x00, 0xC3, 0xFF, 0xFC, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, 0x00, 0x00, - 0x0F, 0xC0, 0x00, 0xFF, 0xC0, 0x06, 0x0F, 0x80, 0x30, 0x1E, 0x01, 0x80, - 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x78, - 0x00, 0x01, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xF0, 0x00, 0x0E, 0x00, 0x01, - 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x0F, - 0x80, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, - 0x00, 0x1E, 0x00, 0x00, 0x70, 0x00, 0x01, 0xC0, 0x00, 0x07, 0x00, 0x00, - 0x38, 0x00, 0x00, 0xC0, 0x70, 0x06, 0x03, 0xF8, 0x70, 0x07, 0xFF, 0x00, - 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x70, 0x00, 0x03, 0xC0, - 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x37, 0x80, 0x00, - 0xDC, 0x00, 0x06, 0x70, 0x00, 0x33, 0xC0, 0x01, 0x8F, 0x00, 0x0C, 0x38, - 0x00, 0x60, 0xE0, 0x03, 0x07, 0x80, 0x18, 0x1E, 0x00, 0xC0, 0x70, 0x06, - 0x03, 0xC0, 0x30, 0x0F, 0x01, 0x80, 0x38, 0x0C, 0x00, 0xE0, 0x70, 0x07, - 0x81, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0x00, 0x0F, 0x00, - 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, - 0x70, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0xFF, - 0xF0, 0x07, 0xFF, 0x80, 0x10, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x70, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x3F, - 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3C, - 0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0E, 0x00, - 0x00, 0x38, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0C, 0x00, 0x00, - 0x70, 0x00, 0x01, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x30, 0x00, 0x01, 0x80, - 0x70, 0x0E, 0x03, 0xF0, 0xE0, 0x07, 0xFF, 0x00, 0x0F, 0xE0, 0x00, 0x00, - 0x00, 0x0E, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x03, - 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xC0, - 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF9, 0xF8, 0x01, 0xFF, 0xFC, - 0x07, 0xE0, 0x7C, 0x0F, 0x80, 0x7C, 0x3E, 0x00, 0x78, 0x78, 0x00, 0x78, - 0xF0, 0x00, 0xF3, 0xC0, 0x01, 0xE7, 0x80, 0x03, 0xCF, 0x00, 0x07, 0x9C, - 0x00, 0x0F, 0x38, 0x00, 0x3E, 0x70, 0x00, 0x78, 0xE0, 0x00, 0xF1, 0xC0, - 0x03, 0xC1, 0x80, 0x07, 0x83, 0x00, 0x1E, 0x03, 0x00, 0x38, 0x06, 0x01, - 0xE0, 0x03, 0x07, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0xFF, 0xF9, 0xFF, 0xFF, - 0xCF, 0xFF, 0xFC, 0xE0, 0x00, 0xCC, 0x00, 0x0E, 0x40, 0x00, 0x60, 0x00, - 0x07, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x38, 0x00, 0x01, 0x80, - 0x00, 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x07, - 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x38, 0x00, 0x03, 0x80, 0x00, - 0x1C, 0x00, 0x01, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, - 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0x80, 0x00, 0x38, - 0x00, 0x01, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x03, 0x83, - 0x80, 0x1C, 0x03, 0x00, 0xE0, 0x0E, 0x07, 0x00, 0x1C, 0x1C, 0x00, 0x70, - 0x70, 0x01, 0xC1, 0xC0, 0x07, 0x07, 0x80, 0x1C, 0x1E, 0x00, 0xE0, 0x3C, - 0x07, 0x80, 0xFC, 0x38, 0x01, 0xFB, 0xC0, 0x03, 0xF8, 0x00, 0x0F, 0xE0, - 0x00, 0x7F, 0xC0, 0x07, 0x1F, 0x80, 0x78, 0x3F, 0x03, 0x80, 0x7C, 0x1E, - 0x00, 0xF8, 0x70, 0x01, 0xE3, 0x80, 0x03, 0xCE, 0x00, 0x07, 0x38, 0x00, - 0x1C, 0xE0, 0x00, 0x73, 0x80, 0x01, 0xCE, 0x00, 0x06, 0x1C, 0x00, 0x38, - 0x70, 0x01, 0xC0, 0xE0, 0x0E, 0x01, 0xE0, 0xE0, 0x01, 0xFE, 0x00, 0x00, - 0x1F, 0x80, 0x03, 0xC3, 0x00, 0x1C, 0x02, 0x00, 0xE0, 0x0C, 0x07, 0x00, - 0x18, 0x3C, 0x00, 0x60, 0xE0, 0x01, 0xC7, 0x80, 0x07, 0x1E, 0x00, 0x1C, - 0xF0, 0x00, 0x73, 0xC0, 0x01, 0xCF, 0x00, 0x07, 0x3C, 0x00, 0x3C, 0xF0, - 0x00, 0xF3, 0xC0, 0x03, 0xCF, 0x00, 0x1E, 0x1E, 0x00, 0x78, 0x7C, 0x03, - 0xE0, 0xF8, 0x3F, 0x01, 0xFF, 0xBC, 0x03, 0xF1, 0xE0, 0x00, 0x0F, 0x80, - 0x00, 0x3C, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x7C, 0x00, 0x03, - 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0x78, 0x00, - 0x0F, 0x80, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x07, 0xC3, 0xE1, 0xF0, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x38, 0x3E, 0x1F, 0x0F, 0x83, 0x80, 0x01, 0xC0, 0x7C, 0x0F, 0x81, - 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x07, 0x80, 0xF8, 0x1F, 0x01, 0xE0, - 0x1C, 0x03, 0x00, 0xC0, 0x18, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, - 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, - 0xC0, 0x01, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x1F, 0x80, - 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, - 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, - 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, - 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, - 0x0F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xE0, - 0x00, 0x7F, 0x80, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0xC0, 0x00, - 0xFF, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x80, 0x00, 0x00, - 0x03, 0xF0, 0x06, 0x1C, 0x0C, 0x0E, 0x1C, 0x06, 0x1C, 0x07, 0x1C, 0x07, - 0x1C, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x3C, - 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x00, - 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xF8, 0x00, - 0xF8, 0x00, 0xF8, 0x00, 0x70, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, - 0xFF, 0x80, 0x00, 0x3F, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x7C, - 0x00, 0x07, 0x80, 0x7C, 0x00, 0x00, 0xE0, 0x3C, 0x00, 0x00, 0x38, 0x3C, - 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x78, 0x07, 0x1E, 0x00, 0xFE, 0xE1, 0x9E, - 0x00, 0xF1, 0xF0, 0xEF, 0x00, 0xE0, 0xF0, 0x37, 0x80, 0xE0, 0x38, 0x1F, - 0x80, 0x70, 0x1C, 0x0F, 0xC0, 0x70, 0x1E, 0x07, 0xE0, 0x38, 0x0F, 0x03, - 0xF0, 0x18, 0x07, 0x01, 0xF8, 0x1C, 0x03, 0x80, 0xFC, 0x0E, 0x01, 0xC0, - 0xDE, 0x07, 0x01, 0xE0, 0x6F, 0x03, 0x80, 0xE0, 0x73, 0xC1, 0xC0, 0xF0, - 0x31, 0xE0, 0xF0, 0xF8, 0x30, 0xF0, 0x38, 0xDC, 0x30, 0x3C, 0x1F, 0xC7, - 0xF0, 0x0E, 0x07, 0x81, 0xF0, 0x07, 0x80, 0x00, 0x00, 0x01, 0xE0, 0x00, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x03, 0xF0, - 0x0F, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, - 0x00, 0x18, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x03, 0xF0, - 0x00, 0x00, 0x37, 0x80, 0x00, 0x03, 0x3C, 0x00, 0x00, 0x19, 0xE0, 0x00, - 0x01, 0x8F, 0x80, 0x00, 0x08, 0x7C, 0x00, 0x00, 0xC3, 0xE0, 0x00, 0x0C, - 0x0F, 0x00, 0x00, 0x60, 0x78, 0x00, 0x06, 0x03, 0xC0, 0x00, 0x20, 0x1F, - 0x00, 0x03, 0x00, 0xF8, 0x00, 0x3F, 0xFF, 0xC0, 0x01, 0xFF, 0xFE, 0x00, - 0x18, 0x00, 0xF0, 0x00, 0xC0, 0x07, 0x80, 0x0C, 0x00, 0x3E, 0x00, 0xE0, - 0x01, 0xF0, 0x06, 0x00, 0x0F, 0x80, 0x70, 0x00, 0x3C, 0x03, 0x00, 0x01, - 0xE0, 0x38, 0x00, 0x0F, 0x83, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x07, 0xF3, - 0xFC, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF8, 0x00, - 0x3E, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xC0, - 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x78, 0x01, 0xF0, - 0x07, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF0, - 0x3F, 0x00, 0x1F, 0xFF, 0x80, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0x07, 0xE0, - 0x01, 0xE0, 0x1F, 0x00, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x07, 0xC0, 0x3C, - 0x00, 0x7C, 0x03, 0xC0, 0x07, 0xC0, 0x7C, 0x00, 0x7C, 0x07, 0xC0, 0x07, - 0xC0, 0x78, 0x00, 0x7C, 0x0F, 0x80, 0x0F, 0x80, 0xF8, 0x00, 0xF8, 0x0F, - 0x00, 0x1F, 0x00, 0xF0, 0x03, 0xE0, 0x1F, 0x81, 0xFC, 0x03, 0xFF, 0xFF, - 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x01, 0xFE, 0x04, 0x00, 0x3F, 0xFF, - 0xE0, 0x03, 0xF0, 0x1F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0xF0, 0x00, 0x78, - 0x0F, 0x80, 0x00, 0xE0, 0x3C, 0x00, 0x03, 0x81, 0xF0, 0x00, 0x04, 0x0F, - 0x80, 0x00, 0x10, 0x7C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0xF8, - 0x00, 0x00, 0x01, 0xF0, 0x00, 0x02, 0x07, 0xC0, 0x00, 0x18, 0x0F, 0x80, - 0x00, 0xC0, 0x3E, 0x00, 0x06, 0x00, 0x7C, 0x00, 0x70, 0x00, 0xFC, 0x07, - 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, - 0x00, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x0F, 0xC0, 0xFC, 0x00, 0x07, 0xC0, - 0x1F, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x01, 0xE0, 0x01, 0xF0, 0x01, 0xF0, - 0x00, 0x7C, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x0F, 0x00, 0x3C, - 0x00, 0x07, 0xC0, 0x3E, 0x00, 0x03, 0xE0, 0x1F, 0x00, 0x01, 0xF0, 0x0F, - 0x00, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0x7C, 0x07, 0xC0, 0x00, 0x3E, 0x03, - 0xE0, 0x00, 0x1F, 0x01, 0xE0, 0x00, 0x1F, 0x81, 0xF0, 0x00, 0x0F, 0x80, - 0xF8, 0x00, 0x07, 0xC0, 0x78, 0x00, 0x03, 0xE0, 0x3C, 0x00, 0x03, 0xE0, - 0x3E, 0x00, 0x01, 0xF0, 0x1F, 0x00, 0x01, 0xF0, 0x0F, 0x00, 0x01, 0xF0, - 0x0F, 0x80, 0x01, 0xF8, 0x07, 0xC0, 0x01, 0xF0, 0x03, 0xE0, 0x01, 0xF0, - 0x01, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x0F, 0xE0, 0x01, 0xFF, 0xFF, 0xC0, - 0x03, 0xFF, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, - 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, 0x30, 0x03, 0xE0, 0x01, 0x00, - 0x1E, 0x00, 0x08, 0x01, 0xF0, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x03, 0xC0, 0x10, 0x00, 0x3E, 0x01, 0x80, 0x01, 0xF0, 0x08, - 0x00, 0x0F, 0x01, 0xC0, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00, - 0x3E, 0x07, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x1F, 0x00, 0xC0, 0x00, 0xF8, - 0x04, 0x00, 0x07, 0x80, 0x20, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x0F, 0x80, 0x00, 0xC0, - 0x7C, 0x00, 0x0E, 0x03, 0xC0, 0x00, 0xE0, 0x1E, 0x00, 0x0F, 0x01, 0xF8, - 0x03, 0xF8, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFC, 0x00, 0x03, 0xFF, - 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0x80, 0x1E, 0x00, 0x7C, 0x00, - 0x30, 0x03, 0xE0, 0x01, 0x00, 0x1E, 0x00, 0x08, 0x01, 0xF0, 0x00, 0x40, - 0x0F, 0x80, 0x02, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3E, - 0x00, 0x80, 0x01, 0xF0, 0x0C, 0x00, 0x0F, 0x00, 0xC0, 0x00, 0xF8, 0x0E, - 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x00, 0x01, 0xE0, 0x18, 0x00, - 0x1F, 0x00, 0xC0, 0x00, 0xF8, 0x06, 0x00, 0x07, 0xC0, 0x20, 0x00, 0x3C, - 0x01, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFF, - 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x02, 0x00, 0x1F, 0xFF, 0x8C, 0x00, - 0xFC, 0x07, 0xF8, 0x03, 0xE0, 0x03, 0xF0, 0x0F, 0x00, 0x03, 0xC0, 0x3C, - 0x00, 0x03, 0x80, 0xF0, 0x00, 0x07, 0x03, 0xC0, 0x00, 0x0E, 0x0F, 0x80, - 0x00, 0x08, 0x3E, 0x00, 0x00, 0x10, 0x7C, 0x00, 0x00, 0x01, 0xF0, 0x00, - 0x00, 0x03, 0xE0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x3F, - 0xFF, 0xE0, 0x00, 0x0F, 0xE7, 0xC0, 0x00, 0x0F, 0x0F, 0x80, 0x00, 0x1E, - 0x1F, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x01, 0xE0, - 0x78, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x0F, 0x01, 0xF0, 0x00, 0x1E, 0x01, - 0xF0, 0x00, 0x3C, 0x01, 0xE0, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x01, - 0xF8, 0x0F, 0x80, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, - 0xFF, 0xE0, 0x7F, 0xF0, 0x07, 0xF8, 0x01, 0xFC, 0x00, 0x3E, 0x00, 0x0F, - 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, - 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x3E, - 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, - 0x03, 0xC0, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x01, - 0xE0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, - 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x7C, 0x00, - 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, - 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xF8, 0x00, - 0xFE, 0x00, 0xFF, 0xE0, 0x7F, 0xFC, 0x00, 0x01, 0xFF, 0xC0, 0x1F, 0xE0, - 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07, 0xC0, 0x01, - 0xF0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, - 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, 0xF8, 0x00, - 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x7C, 0x00, 0x1E, - 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x1F, 0x00, - 0x0F, 0xE0, 0x0F, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x07, 0xF0, 0x00, - 0x07, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x0F, 0x80, 0x00, 0x1F, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xE0, - 0x00, 0x07, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, - 0x00, 0xF0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x01, 0xC1, 0xE0, 0x07, 0xC7, - 0x80, 0x0F, 0x8F, 0x00, 0x1F, 0x3C, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0x80, - 0x00, 0x01, 0xFF, 0xE1, 0xFF, 0x80, 0x3F, 0xC0, 0x1F, 0x80, 0x0F, 0x80, - 0x0F, 0x00, 0x07, 0xC0, 0x0F, 0x00, 0x03, 0xC0, 0x0F, 0x00, 0x01, 0xE0, - 0x0E, 0x00, 0x01, 0xF0, 0x0E, 0x00, 0x00, 0xF8, 0x0E, 0x00, 0x00, 0x78, - 0x1C, 0x00, 0x00, 0x3C, 0x1C, 0x00, 0x00, 0x3E, 0x3C, 0x00, 0x00, 0x1F, - 0x38, 0x00, 0x00, 0x0F, 0x38, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, - 0xFE, 0x00, 0x00, 0x03, 0xDF, 0x00, 0x00, 0x01, 0xE7, 0xC0, 0x00, 0x01, - 0xF3, 0xE0, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x00, - 0x3C, 0x1F, 0x00, 0x00, 0x3E, 0x07, 0xC0, 0x00, 0x1F, 0x03, 0xE0, 0x00, - 0x0F, 0x00, 0xF8, 0x00, 0x0F, 0x80, 0x3C, 0x00, 0x07, 0xC0, 0x1F, 0x00, - 0x03, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x03, 0xE0, 0x01, 0xF0, 0x01, 0xF8, - 0x01, 0xFC, 0x01, 0xFE, 0x03, 0xFF, 0xC3, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, - 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, - 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, - 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, - 0x0F, 0x80, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x80, - 0x00, 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x01, - 0xF0, 0x00, 0x08, 0x3C, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x41, 0xF0, 0x00, - 0x18, 0x3C, 0x00, 0x07, 0x07, 0x80, 0x01, 0xC1, 0xF8, 0x01, 0xF8, 0x7F, - 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0xC0, - 0x0F, 0xC0, 0x00, 0x1F, 0xC0, 0x01, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0xFC, - 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xFC, 0x00, 0x0F, 0xC0, 0x00, - 0xFF, 0x00, 0x02, 0xF0, 0x00, 0x37, 0x80, 0x01, 0xBC, 0x00, 0x19, 0xE0, - 0x00, 0x6F, 0x80, 0x0E, 0xF8, 0x00, 0x1B, 0xE0, 0x03, 0x3E, 0x00, 0x04, - 0x78, 0x01, 0x8F, 0x00, 0x03, 0x1E, 0x00, 0xE7, 0xC0, 0x00, 0xC7, 0x80, - 0x31, 0xF0, 0x00, 0x21, 0xE0, 0x18, 0x78, 0x00, 0x18, 0x78, 0x0E, 0x1E, - 0x00, 0x06, 0x1E, 0x03, 0x0F, 0x80, 0x01, 0x87, 0x81, 0x83, 0xE0, 0x00, - 0x41, 0xF0, 0xE0, 0xF0, 0x00, 0x30, 0x7C, 0x30, 0x3C, 0x00, 0x0C, 0x0F, - 0x18, 0x1F, 0x00, 0x03, 0x03, 0xCE, 0x07, 0xC0, 0x01, 0x80, 0xF3, 0x01, - 0xE0, 0x00, 0x60, 0x3D, 0x80, 0xF8, 0x00, 0x18, 0x0F, 0xE0, 0x3E, 0x00, - 0x0C, 0x03, 0xF0, 0x0F, 0x00, 0x03, 0x00, 0xF8, 0x03, 0xC0, 0x00, 0xC0, - 0x3E, 0x01, 0xF0, 0x00, 0x70, 0x0F, 0x00, 0x7C, 0x00, 0x1C, 0x01, 0x80, - 0x3F, 0x00, 0x0F, 0x80, 0x60, 0x1F, 0xC0, 0x0F, 0xF8, 0x10, 0x1F, 0xFE, - 0x00, 0x03, 0xFC, 0x00, 0x3F, 0xE0, 0x1F, 0xC0, 0x01, 0xF8, 0x00, 0xF8, - 0x00, 0x1C, 0x00, 0x1F, 0x00, 0x03, 0x80, 0x03, 0xF0, 0x00, 0x60, 0x00, - 0x7E, 0x00, 0x0C, 0x00, 0x0B, 0xE0, 0x03, 0x80, 0x03, 0x7C, 0x00, 0x60, - 0x00, 0x67, 0x80, 0x0C, 0x00, 0x0C, 0xF8, 0x03, 0x80, 0x03, 0x0F, 0x00, - 0x70, 0x00, 0x61, 0xF0, 0x0C, 0x00, 0x0C, 0x3E, 0x01, 0x80, 0x01, 0x83, - 0xC0, 0x70, 0x00, 0x60, 0x7C, 0x0C, 0x00, 0x0C, 0x07, 0x81, 0x80, 0x01, - 0x80, 0xF8, 0x30, 0x00, 0x60, 0x0F, 0x0E, 0x00, 0x0C, 0x01, 0xE1, 0x80, - 0x01, 0x80, 0x3E, 0x30, 0x00, 0x30, 0x03, 0xCE, 0x00, 0x0C, 0x00, 0x7D, - 0x80, 0x01, 0x80, 0x07, 0xB0, 0x00, 0x30, 0x00, 0xF6, 0x00, 0x0E, 0x00, - 0x1F, 0xC0, 0x01, 0x80, 0x01, 0xF0, 0x00, 0x30, 0x00, 0x3E, 0x00, 0x0E, - 0x00, 0x03, 0xC0, 0x01, 0xC0, 0x00, 0x70, 0x00, 0x7C, 0x00, 0x06, 0x00, - 0x3F, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x01, 0xF0, 0x7C, 0x00, 0x0F, 0x00, 0x78, - 0x00, 0x78, 0x00, 0xF0, 0x07, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x07, 0x81, - 0xF0, 0x00, 0x1E, 0x07, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x01, 0xF1, 0xF0, - 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x1F, 0x3F, 0x00, 0x00, 0x7C, 0xF8, 0x00, - 0x01, 0xF7, 0xE0, 0x00, 0x0F, 0xDF, 0x00, 0x00, 0x3F, 0x7C, 0x00, 0x00, - 0xFB, 0xF0, 0x00, 0x07, 0xEF, 0xC0, 0x00, 0x1F, 0xBE, 0x00, 0x00, 0x7C, - 0xF8, 0x00, 0x03, 0xF3, 0xE0, 0x00, 0x0F, 0x8F, 0x80, 0x00, 0x3E, 0x3E, - 0x00, 0x01, 0xF0, 0xF8, 0x00, 0x0F, 0x81, 0xE0, 0x00, 0x3E, 0x07, 0x80, - 0x01, 0xF0, 0x1F, 0x00, 0x0F, 0x80, 0x3C, 0x00, 0x7C, 0x00, 0x78, 0x03, - 0xC0, 0x00, 0xF8, 0x3E, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x01, 0xFC, 0x00, - 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0x81, 0xF8, - 0x00, 0x7C, 0x03, 0xE0, 0x03, 0xE0, 0x1F, 0x00, 0x1E, 0x00, 0x7C, 0x01, - 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x78, 0x00, 0xF8, 0x03, 0xC0, - 0x07, 0xC0, 0x3E, 0x00, 0x3C, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x00, 0x3E, - 0x00, 0xF8, 0x03, 0xF0, 0x07, 0xC0, 0x7E, 0x00, 0x3F, 0xFF, 0xE0, 0x01, - 0xEF, 0xF8, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0x80, - 0x00, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, - 0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x1F, 0xC0, - 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, - 0xFE, 0x00, 0x00, 0xF0, 0x7C, 0x00, 0x0F, 0x00, 0x78, 0x00, 0x78, 0x00, - 0xF0, 0x03, 0xC0, 0x03, 0xE0, 0x1E, 0x00, 0x07, 0x80, 0xF0, 0x00, 0x1E, - 0x07, 0xC0, 0x00, 0x7C, 0x3E, 0x00, 0x01, 0xF1, 0xF8, 0x00, 0x07, 0xC7, - 0xC0, 0x00, 0x1F, 0x3F, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x01, 0xF7, 0xE0, - 0x00, 0x0F, 0xDF, 0x80, 0x00, 0x3F, 0x7C, 0x00, 0x00, 0xFB, 0xF0, 0x00, - 0x03, 0xEF, 0xC0, 0x00, 0x1F, 0xBE, 0x00, 0x00, 0x7C, 0xF8, 0x00, 0x01, - 0xF3, 0xE0, 0x00, 0x0F, 0x8F, 0x80, 0x00, 0x3E, 0x3E, 0x00, 0x01, 0xF0, - 0xF8, 0x00, 0x07, 0xC3, 0xE0, 0x00, 0x3E, 0x07, 0x80, 0x01, 0xF0, 0x1F, - 0x00, 0x07, 0x80, 0x3C, 0x00, 0x3C, 0x00, 0xF8, 0x01, 0xE0, 0x01, 0xE0, - 0x1E, 0x00, 0x01, 0xF3, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x18, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x04, 0x0F, 0xF0, 0x00, - 0x60, 0x7F, 0xFC, 0x07, 0x03, 0xFF, 0xFF, 0xF8, 0x38, 0x1F, 0xFF, 0x80, - 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF8, 0x00, - 0x3E, 0x0F, 0xC0, 0x03, 0xE0, 0x3E, 0x00, 0x3E, 0x01, 0xF0, 0x03, 0xC0, - 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x78, 0x01, 0xF0, - 0x07, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x7C, 0x00, 0xF0, - 0x1F, 0x80, 0x1F, 0xFF, 0xE0, 0x01, 0xFF, 0xF0, 0x00, 0x1E, 0x1E, 0x00, - 0x01, 0xE1, 0xE0, 0x00, 0x3E, 0x1F, 0x00, 0x03, 0xE0, 0xF0, 0x00, 0x3C, - 0x0F, 0x00, 0x03, 0xC0, 0xF8, 0x00, 0x7C, 0x07, 0x80, 0x07, 0xC0, 0x7C, - 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x80, 0x3C, 0x00, 0xF8, 0x03, 0xE0, 0x0F, - 0x00, 0x1E, 0x00, 0xF0, 0x01, 0xE0, 0x1F, 0x00, 0x1F, 0x03, 0xF8, 0x00, - 0xF8, 0xFF, 0xE0, 0x0F, 0xE0, 0x00, 0x3F, 0x06, 0x01, 0xFF, 0xDC, 0x07, - 0xC1, 0xF0, 0x1E, 0x01, 0xE0, 0x3C, 0x01, 0xC0, 0xF0, 0x03, 0x81, 0xE0, - 0x03, 0x03, 0xC0, 0x04, 0x07, 0x80, 0x08, 0x0F, 0x80, 0x00, 0x1F, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, - 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, - 0x00, 0x3E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x08, 0x00, 0x78, 0x10, - 0x00, 0xF0, 0x20, 0x01, 0xE0, 0xC0, 0x03, 0xC1, 0x80, 0x07, 0x83, 0x80, - 0x1E, 0x07, 0x00, 0x3C, 0x0F, 0x00, 0xF0, 0x1F, 0x87, 0xC0, 0x23, 0xFF, - 0x00, 0x81, 0xF8, 0x00, 0x3F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFD, 0xF0, - 0x3E, 0x07, 0xB8, 0x07, 0xC0, 0x76, 0x00, 0xF8, 0x04, 0x80, 0x3E, 0x00, - 0xB0, 0x07, 0xC0, 0x14, 0x00, 0xF8, 0x02, 0x00, 0x1E, 0x00, 0x00, 0x07, - 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xC0, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0xF8, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, - 0x00, 0x03, 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x03, - 0xE0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x3F, 0xFF, 0x00, - 0x00, 0x7F, 0xFE, 0x03, 0xFE, 0x1F, 0xE0, 0x01, 0xF8, 0x1F, 0x80, 0x01, - 0xC0, 0x3E, 0x00, 0x03, 0x80, 0x7C, 0x00, 0x07, 0x00, 0xF8, 0x00, 0x0C, - 0x03, 0xE0, 0x00, 0x18, 0x07, 0xC0, 0x00, 0x70, 0x0F, 0x80, 0x00, 0xC0, - 0x1F, 0x00, 0x01, 0x80, 0x7C, 0x00, 0x03, 0x00, 0xF8, 0x00, 0x0E, 0x01, - 0xF0, 0x00, 0x18, 0x07, 0xC0, 0x00, 0x30, 0x0F, 0x80, 0x00, 0x60, 0x1F, - 0x00, 0x01, 0x80, 0x3E, 0x00, 0x03, 0x00, 0xF8, 0x00, 0x06, 0x01, 0xF0, - 0x00, 0x18, 0x03, 0xE0, 0x00, 0x30, 0x07, 0xC0, 0x00, 0x60, 0x1F, 0x00, - 0x00, 0xC0, 0x3E, 0x00, 0x03, 0x00, 0x7C, 0x00, 0x06, 0x00, 0xF8, 0x00, - 0x18, 0x01, 0xF0, 0x00, 0x30, 0x03, 0xE0, 0x00, 0xC0, 0x03, 0xE0, 0x03, - 0x80, 0x03, 0xE0, 0x0E, 0x00, 0x03, 0xF0, 0x78, 0x00, 0x03, 0xFF, 0xC0, - 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x0F, 0xF9, 0xFC, 0x00, 0x1F, - 0x07, 0xC0, 0x00, 0x78, 0x3E, 0x00, 0x03, 0x81, 0xF0, 0x00, 0x18, 0x0F, - 0x80, 0x01, 0xC0, 0x7C, 0x00, 0x0C, 0x01, 0xE0, 0x00, 0xC0, 0x0F, 0x80, - 0x06, 0x00, 0x7C, 0x00, 0x60, 0x03, 0xE0, 0x07, 0x00, 0x1F, 0x00, 0x30, - 0x00, 0xF8, 0x03, 0x00, 0x03, 0xC0, 0x18, 0x00, 0x1E, 0x01, 0x80, 0x00, - 0xF8, 0x1C, 0x00, 0x07, 0xC0, 0xC0, 0x00, 0x3E, 0x0C, 0x00, 0x01, 0xF0, - 0x60, 0x00, 0x07, 0x86, 0x00, 0x00, 0x3C, 0x30, 0x00, 0x01, 0xE3, 0x00, - 0x00, 0x0F, 0xB0, 0x00, 0x00, 0x7D, 0x80, 0x00, 0x03, 0xF8, 0x00, 0x00, - 0x0F, 0xC0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, - 0x00, 0xFF, 0xE3, 0xFF, 0x81, 0xFE, 0x7F, 0x01, 0xFC, 0x00, 0xF8, 0x7C, - 0x01, 0xF0, 0x00, 0xE0, 0xF8, 0x03, 0xE0, 0x01, 0x81, 0xF0, 0x03, 0xC0, - 0x07, 0x03, 0xE0, 0x07, 0x80, 0x0C, 0x03, 0xC0, 0x0F, 0x00, 0x18, 0x07, - 0x80, 0x1E, 0x00, 0x60, 0x0F, 0x00, 0x7E, 0x00, 0xC0, 0x1F, 0x00, 0xFC, - 0x03, 0x00, 0x3E, 0x03, 0xF8, 0x06, 0x00, 0x7C, 0x05, 0xF0, 0x18, 0x00, - 0xF8, 0x1B, 0xE0, 0x30, 0x01, 0xF0, 0x33, 0xC0, 0xC0, 0x01, 0xE0, 0xC7, - 0x83, 0x80, 0x03, 0xC1, 0x8F, 0x06, 0x00, 0x07, 0x86, 0x1E, 0x1C, 0x00, - 0x0F, 0x0C, 0x3C, 0x30, 0x00, 0x1F, 0x30, 0x7C, 0xE0, 0x00, 0x3E, 0x60, - 0xF9, 0x80, 0x00, 0x7D, 0x81, 0xF7, 0x00, 0x00, 0xFB, 0x03, 0xEC, 0x00, - 0x01, 0xFC, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x07, 0xE0, 0x00, 0x03, 0xE0, - 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x1F, 0x00, 0x00, 0x0F, 0x00, 0x3C, 0x00, - 0x00, 0x1E, 0x00, 0x78, 0x00, 0x00, 0x38, 0x00, 0xE0, 0x00, 0x00, 0x70, - 0x01, 0xC0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x80, 0x06, 0x00, - 0x00, 0x07, 0xFF, 0x83, 0xFF, 0x01, 0xFE, 0x00, 0xFE, 0x00, 0x7C, 0x00, - 0x78, 0x00, 0x7C, 0x00, 0x70, 0x00, 0x3C, 0x00, 0xE0, 0x00, 0x3E, 0x01, - 0xC0, 0x00, 0x3E, 0x01, 0x80, 0x00, 0x1F, 0x03, 0x00, 0x00, 0x1F, 0x07, - 0x00, 0x00, 0x0F, 0x0E, 0x00, 0x00, 0x0F, 0x9C, 0x00, 0x00, 0x0F, 0xB8, - 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x03, 0xC0, - 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, - 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1C, 0xF0, 0x00, 0x00, 0x38, 0xF8, - 0x00, 0x00, 0x30, 0xF8, 0x00, 0x00, 0x60, 0x7C, 0x00, 0x00, 0xC0, 0x7C, - 0x00, 0x01, 0xC0, 0x3C, 0x00, 0x03, 0x80, 0x3E, 0x00, 0x07, 0x00, 0x3E, - 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x7F, 0x00, 0x3F, - 0xC0, 0xFF, 0xC1, 0xFF, 0xF0, 0x7F, 0xF0, 0x7F, 0xC7, 0xF0, 0x03, 0xE0, - 0xF8, 0x00, 0x70, 0x3E, 0x00, 0x38, 0x07, 0x80, 0x0C, 0x01, 0xE0, 0x07, - 0x00, 0x7C, 0x03, 0x80, 0x1F, 0x00, 0xC0, 0x03, 0xC0, 0x60, 0x00, 0xF0, - 0x30, 0x00, 0x3E, 0x1C, 0x00, 0x07, 0x8E, 0x00, 0x01, 0xE3, 0x00, 0x00, - 0x7D, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xF8, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x01, 0xF0, - 0x00, 0x00, 0x78, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x03, - 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x0F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x03, 0xFF, - 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0x81, 0xF0, 0x00, 0xFC, 0x0E, 0x00, 0x0F, - 0xC0, 0x60, 0x00, 0xFC, 0x06, 0x00, 0x0F, 0xC0, 0x20, 0x00, 0x7C, 0x00, - 0x00, 0x07, 0xE0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, - 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x1F, 0x00, 0x00, - 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, - 0x80, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xFC, 0x00, - 0x08, 0x0F, 0xC0, 0x00, 0x80, 0xFC, 0x00, 0x0C, 0x07, 0xC0, 0x00, 0x60, - 0x7E, 0x00, 0x07, 0x07, 0xE0, 0x01, 0xF0, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, - 0xFF, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0xE0, - 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, - 0x00, 0x03, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, - 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x07, 0x00, - 0x03, 0x80, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x38, - 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x80, 0x03, - 0xFC, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0x80, - 0x01, 0xE0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, - 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x03, 0x80, - 0x01, 0xC0, 0x00, 0xF0, 0x00, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, - 0x80, 0x01, 0xE0, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x0E, 0x00, 0x07, 0x00, - 0x03, 0xC0, 0x00, 0xE0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, - 0x80, 0x00, 0xFF, 0x80, 0x07, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0xF0, - 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x07, - 0x00, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x70, 0x00, - 0x38, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x03, 0x80, - 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x78, 0x00, 0x38, - 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, - 0xC0, 0x00, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x38, 0x03, 0xFC, 0x00, - 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x03, 0xBC, - 0x00, 0x39, 0xC0, 0x07, 0x1E, 0x00, 0x70, 0xE0, 0x0E, 0x0F, 0x00, 0xE0, - 0x70, 0x1E, 0x07, 0x81, 0xC0, 0x38, 0x3C, 0x03, 0xC3, 0x80, 0x1C, 0x78, - 0x01, 0xE7, 0x00, 0x0E, 0xF0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x60, 0xF0, 0xF8, 0x78, 0x3C, 0x1E, 0x0E, 0x07, 0x00, 0x1E, 0x70, - 0x03, 0x0B, 0x80, 0x70, 0x3C, 0x07, 0x01, 0xE0, 0x70, 0x0E, 0x07, 0x00, - 0x70, 0x78, 0x03, 0x83, 0x80, 0x38, 0x3C, 0x01, 0xC1, 0xC0, 0x0E, 0x1E, - 0x00, 0xF0, 0xF0, 0x07, 0x0F, 0x00, 0x78, 0x78, 0x03, 0xC3, 0xC0, 0x3E, - 0x1E, 0x01, 0x70, 0xF0, 0x17, 0x0F, 0x81, 0x38, 0xBE, 0x11, 0xC8, 0xFF, - 0x0F, 0x83, 0xF0, 0x70, 0x00, 0x00, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, - 0x78, 0x00, 0x03, 0x80, 0x00, 0x1C, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0x0F, - 0x80, 0x71, 0xFE, 0x03, 0x98, 0xF8, 0x3D, 0x03, 0xE1, 0xE8, 0x0F, 0x0E, - 0x80, 0x78, 0x78, 0x03, 0xC7, 0xC0, 0x1E, 0x3C, 0x00, 0xF1, 0xE0, 0x0F, - 0x1E, 0x00, 0x78, 0xF0, 0x03, 0xC7, 0x80, 0x3C, 0x38, 0x01, 0xE3, 0xC0, - 0x1E, 0x1E, 0x00, 0xE0, 0xE0, 0x0E, 0x07, 0x00, 0xF0, 0x78, 0x07, 0x03, - 0xC0, 0xE0, 0x0F, 0x0E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x38, - 0x60, 0x38, 0x1C, 0x1C, 0x0F, 0x0E, 0x03, 0x87, 0x80, 0x03, 0xC0, 0x00, - 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0xC0, 0x00, 0xF0, - 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x02, 0x3E, 0x01, - 0x87, 0x80, 0xC1, 0xF0, 0x60, 0x3F, 0xF0, 0x03, 0xF0, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3C, 0x00, 0x00, - 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x71, - 0x70, 0x00, 0xC1, 0x70, 0x03, 0x80, 0xF0, 0x07, 0x80, 0xE0, 0x07, 0x01, - 0xE0, 0x0E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x3C, 0x01, 0xC0, 0x3C, 0x01, - 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0xC0, 0x78, 0x03, 0x80, 0xF0, 0x07, - 0x80, 0xF0, 0x07, 0x80, 0xF0, 0x0F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x17, - 0x08, 0xF0, 0x27, 0x10, 0x78, 0x47, 0x20, 0x7F, 0x87, 0xC0, 0x1E, 0x07, - 0x00, 0x00, 0x1F, 0x00, 0x1C, 0xF0, 0x1C, 0x1C, 0x0E, 0x07, 0x07, 0x01, - 0xC3, 0xC0, 0xF1, 0xE0, 0x38, 0x70, 0x1C, 0x3C, 0x0E, 0x1F, 0x0F, 0x07, - 0x8F, 0x01, 0xFE, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0xC0, - 0x00, 0xF0, 0x01, 0x3C, 0x00, 0xC7, 0x80, 0x61, 0xF0, 0x60, 0x3F, 0xF0, - 0x03, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x03, 0x1C, 0x00, 0x00, - 0xC3, 0x80, 0x00, 0x38, 0x70, 0x00, 0x06, 0x00, 0x00, 0x01, 0xC0, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x07, 0xFF, 0xC0, 0x00, - 0xFF, 0xF8, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x00, - 0x00, 0x01, 0xE0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, - 0xE0, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xF0, 0x00, - 0x00, 0x1C, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, - 0x03, 0xC0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0xC0, - 0x00, 0x00, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x01, 0x80, 0x00, 0x38, - 0x60, 0x00, 0x07, 0x0C, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x00, 0x00, 0x3F, 0x00, 0x07, 0x0E, 0x00, 0x70, 0x3E, 0x07, 0x01, 0xF0, - 0x70, 0x0E, 0x07, 0x80, 0x70, 0x3C, 0x03, 0x81, 0xC0, 0x1C, 0x0E, 0x01, - 0xE0, 0x70, 0x0E, 0x03, 0x80, 0xF0, 0x0E, 0x0F, 0x00, 0x30, 0xE0, 0x00, - 0xFE, 0x00, 0x0C, 0x00, 0x00, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x00, - 0x03, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x8F, 0xF0, 0x18, 0x0F, 0xC1, 0x80, - 0x1F, 0x18, 0x00, 0x78, 0xC0, 0x01, 0xC6, 0x00, 0x0E, 0x30, 0x00, 0x61, - 0xC0, 0x07, 0x06, 0x00, 0x70, 0x1C, 0x0E, 0x00, 0x3F, 0xC0, 0x00, 0x00, - 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, - 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, - 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x03, 0x80, 0x78, 0x7E, 0x03, 0x86, 0x70, - 0x3C, 0x43, 0x81, 0xE4, 0x1C, 0x0E, 0x40, 0xE0, 0x74, 0x0E, 0x07, 0xA0, - 0x70, 0x3E, 0x03, 0x81, 0xE0, 0x1C, 0x0F, 0x00, 0xE0, 0xF0, 0x0E, 0x07, - 0x80, 0x70, 0x38, 0x03, 0x81, 0xC0, 0x1C, 0x1E, 0x00, 0xC2, 0xF0, 0x0E, - 0x27, 0x00, 0x73, 0x38, 0x03, 0x93, 0xC0, 0x1F, 0x1E, 0x00, 0xE0, 0x03, - 0x81, 0xF0, 0x7C, 0x1F, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x71, 0xFC, 0x1F, 0x07, 0x81, 0xE0, 0x78, 0x1C, 0x07, 0x03, 0xC0, 0xF0, - 0x38, 0x0E, 0x07, 0x81, 0xE0, 0x70, 0x1C, 0x0F, 0x03, 0x84, 0xE2, 0x39, - 0x0F, 0x81, 0xC0, 0x00, 0x01, 0xC0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, - 0xF0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x3F, 0xC0, 0x00, 0xF0, 0x00, 0x1E, - 0x00, 0x03, 0xC0, 0x00, 0x78, 0x00, 0x0E, 0x00, 0x03, 0xC0, 0x00, 0x78, - 0x00, 0x0F, 0x00, 0x01, 0xC0, 0x00, 0x38, 0x00, 0x0F, 0x00, 0x01, 0xE0, - 0x00, 0x38, 0x00, 0x07, 0x00, 0x01, 0xE0, 0x00, 0x38, 0x00, 0x07, 0x00, - 0x00, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, - 0x07, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x01, 0xC7, 0x00, 0x38, 0xC0, 0x07, - 0x30, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x7F, 0x00, 0x00, 0x78, - 0x00, 0x03, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0xE0, 0x00, 0x07, 0x00, 0x00, - 0x78, 0x00, 0x03, 0xC0, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, - 0x00, 0x70, 0xFF, 0x83, 0x80, 0xF0, 0x3C, 0x06, 0x01, 0xE0, 0x60, 0x0E, - 0x06, 0x00, 0x70, 0xE0, 0x07, 0x8C, 0x00, 0x3C, 0xC0, 0x01, 0xCC, 0x00, - 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0x9E, 0x00, 0x38, 0xF0, 0x01, 0xC3, - 0x80, 0x1E, 0x1E, 0x00, 0xF0, 0x70, 0x07, 0x03, 0xC2, 0x78, 0x0E, 0x13, - 0xC0, 0x79, 0x1E, 0x01, 0xF0, 0x00, 0x07, 0x00, 0x00, 0xE1, 0xFC, 0x0F, - 0x80, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1C, 0x07, 0x80, 0xF0, 0x1E, 0x03, - 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x70, 0x1E, 0x03, 0xC0, 0x78, 0x0E, 0x03, - 0xC0, 0x78, 0x0E, 0x01, 0xC0, 0x78, 0x0F, 0x01, 0xC0, 0x38, 0x4F, 0x11, - 0xE4, 0x39, 0x07, 0xC0, 0x70, 0x00, 0x07, 0x81, 0xC0, 0x78, 0xFE, 0x0F, - 0xC1, 0xF8, 0x3C, 0x33, 0x84, 0x70, 0x78, 0x87, 0x10, 0xE0, 0xF2, 0x0E, - 0x41, 0xC1, 0xC8, 0x39, 0x07, 0x87, 0xA0, 0x74, 0x0F, 0x0F, 0x40, 0xE8, - 0x1E, 0x1F, 0x01, 0xE0, 0x38, 0x3C, 0x07, 0xC0, 0xF0, 0xF8, 0x0F, 0x01, - 0xE1, 0xE0, 0x1E, 0x03, 0xC3, 0xC0, 0x38, 0x07, 0x07, 0x00, 0xF0, 0x1E, - 0x1E, 0x01, 0xE0, 0x3C, 0x3C, 0x03, 0x80, 0x79, 0x70, 0x07, 0x00, 0xE2, - 0xE0, 0x1E, 0x03, 0x8B, 0xC0, 0x3C, 0x07, 0x27, 0x80, 0x70, 0x0F, 0x8E, - 0x00, 0xE0, 0x1E, 0x00, 0x07, 0x81, 0xE3, 0xFC, 0x3F, 0x83, 0xC2, 0x3C, - 0x1E, 0x21, 0xE0, 0xF2, 0x0F, 0x07, 0x20, 0x70, 0x39, 0x07, 0x83, 0xD0, - 0x3C, 0x1F, 0x01, 0xE0, 0xE8, 0x0E, 0x0F, 0x80, 0xF0, 0x78, 0x07, 0x83, - 0xC0, 0x38, 0x1C, 0x01, 0xC1, 0xE0, 0x1E, 0x0F, 0x00, 0xF1, 0x70, 0x07, - 0x0B, 0x80, 0x38, 0xBC, 0x01, 0xC9, 0xE0, 0x0F, 0x8E, 0x00, 0x38, 0x00, - 0x00, 0x1F, 0x80, 0x07, 0x8F, 0x00, 0x70, 0x3C, 0x07, 0x00, 0xE0, 0x70, - 0x07, 0x87, 0x80, 0x3C, 0x78, 0x01, 0xE7, 0x80, 0x0F, 0x3C, 0x00, 0x7B, - 0xC0, 0x03, 0xDE, 0x00, 0x3D, 0xF0, 0x01, 0xEF, 0x80, 0x0F, 0x78, 0x00, - 0xF3, 0xC0, 0x07, 0x9E, 0x00, 0x78, 0xF0, 0x03, 0x87, 0x80, 0x38, 0x1C, - 0x03, 0x80, 0xF0, 0x38, 0x03, 0xC3, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x3C, - 0x3F, 0x00, 0x7F, 0x8F, 0xF0, 0x01, 0xF7, 0x3F, 0x00, 0x1D, 0x83, 0xF0, - 0x07, 0xA0, 0x3E, 0x00, 0xF8, 0x07, 0xC0, 0x1E, 0x00, 0xF8, 0x03, 0xC0, - 0x1F, 0x00, 0xF0, 0x03, 0xE0, 0x1E, 0x00, 0x7C, 0x03, 0xC0, 0x1F, 0x00, - 0x70, 0x03, 0xE0, 0x1E, 0x00, 0x78, 0x03, 0xC0, 0x1F, 0x00, 0x70, 0x03, - 0xC0, 0x0E, 0x00, 0xF8, 0x03, 0xC0, 0x1E, 0x00, 0x78, 0x07, 0x80, 0x0F, - 0x01, 0xE0, 0x01, 0xE0, 0x70, 0x00, 0x7C, 0x3C, 0x00, 0x0F, 0x7C, 0x00, - 0x01, 0xC0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, - 0x00, 0x00, 0x38, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x8D, - 0xC0, 0x38, 0x2E, 0x07, 0x80, 0xF0, 0x78, 0x07, 0x03, 0x80, 0x38, 0x38, - 0x03, 0xC3, 0xC0, 0x1E, 0x3C, 0x00, 0xE1, 0xE0, 0x07, 0x1E, 0x00, 0x78, - 0xF0, 0x03, 0x87, 0x80, 0x3C, 0x78, 0x01, 0xE3, 0xC0, 0x1F, 0x1E, 0x01, - 0x70, 0xF0, 0x17, 0x87, 0x80, 0xBC, 0x3C, 0x09, 0xC0, 0xF1, 0x8E, 0x07, - 0xF8, 0xF0, 0x1F, 0x07, 0x80, 0x00, 0x38, 0x00, 0x03, 0xC0, 0x00, 0x1E, - 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, - 0x3E, 0x00, 0x0F, 0xFE, 0x00, 0x07, 0x87, 0x3F, 0x87, 0xC3, 0xC7, 0xE1, - 0xE6, 0xF0, 0xF6, 0x00, 0x72, 0x00, 0x3A, 0x00, 0x1D, 0x00, 0x1F, 0x00, - 0x0E, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, - 0x00, 0xF0, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x0F, - 0x00, 0x00, 0x01, 0xF8, 0x81, 0x87, 0xC1, 0x80, 0xE1, 0xC0, 0x60, 0xE0, - 0x10, 0x70, 0x08, 0x3C, 0x04, 0x1F, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, - 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0xC1, 0x01, 0xE0, 0x80, 0x70, - 0x40, 0x38, 0x30, 0x1C, 0x38, 0x0C, 0x1C, 0x0E, 0x0F, 0x0E, 0x04, 0x7C, - 0x00, 0x00, 0xC0, 0x18, 0x03, 0x80, 0x78, 0x1F, 0x03, 0xFF, 0x7F, 0xF0, - 0xF0, 0x0E, 0x00, 0xE0, 0x1E, 0x01, 0xE0, 0x1C, 0x01, 0xC0, 0x3C, 0x03, - 0xC0, 0x38, 0x03, 0x80, 0x78, 0x07, 0x80, 0x70, 0x8F, 0x10, 0xF1, 0x0F, - 0x20, 0xFC, 0x07, 0x80, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x7F, 0x00, 0xE0, - 0xF0, 0x1E, 0x0E, 0x01, 0xE1, 0xE0, 0x3C, 0x1E, 0x03, 0xC1, 0xE0, 0x3C, - 0x1C, 0x07, 0xC3, 0xC0, 0x78, 0x3C, 0x0F, 0x83, 0xC0, 0xB8, 0x38, 0x1F, - 0x87, 0x83, 0x70, 0x78, 0x27, 0x07, 0x86, 0x70, 0x70, 0xC7, 0x1F, 0x08, - 0xE1, 0xE1, 0x0E, 0x2E, 0x60, 0xE4, 0xFC, 0x0F, 0x87, 0x00, 0x70, 0x1C, - 0x03, 0xBF, 0x00, 0xF1, 0xE0, 0x3C, 0x78, 0x07, 0x1E, 0x00, 0xC3, 0x80, - 0x30, 0xE0, 0x08, 0x38, 0x06, 0x0E, 0x01, 0x03, 0x80, 0xC0, 0xF0, 0x20, - 0x3C, 0x10, 0x07, 0x04, 0x01, 0xC2, 0x00, 0x71, 0x00, 0x1C, 0xC0, 0x07, - 0x60, 0x01, 0xF0, 0x00, 0x78, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x01, 0x00, - 0x00, 0x0C, 0x00, 0x40, 0x3B, 0xF8, 0x01, 0x00, 0xF1, 0xE0, 0x0C, 0x03, - 0xC3, 0x80, 0x78, 0x07, 0x0E, 0x01, 0xE0, 0x0C, 0x38, 0x0F, 0x80, 0x20, - 0xE0, 0x6E, 0x00, 0x83, 0x81, 0x38, 0x04, 0x0F, 0x0C, 0xE0, 0x10, 0x1C, - 0x23, 0x80, 0x80, 0x71, 0x8E, 0x06, 0x01, 0xCC, 0x38, 0x10, 0x07, 0x20, - 0xE0, 0x80, 0x1D, 0x83, 0x86, 0x00, 0x7C, 0x07, 0x30, 0x01, 0xF0, 0x1C, - 0x80, 0x07, 0x80, 0x74, 0x00, 0x1E, 0x01, 0xF0, 0x00, 0x70, 0x07, 0x80, - 0x01, 0xC0, 0x1C, 0x00, 0x06, 0x00, 0x60, 0x00, 0x10, 0x01, 0x00, 0x00, - 0x00, 0xE0, 0x38, 0x1F, 0x81, 0xF0, 0x8F, 0x09, 0x80, 0x3C, 0x40, 0x00, - 0x72, 0x00, 0x01, 0xD0, 0x00, 0x07, 0xC0, 0x00, 0x1E, 0x00, 0x00, 0x38, - 0x00, 0x00, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x7C, 0x00, - 0x01, 0x70, 0x00, 0x09, 0xC0, 0x00, 0x67, 0x00, 0x01, 0x1E, 0x10, 0x08, - 0x38, 0x40, 0x40, 0xE2, 0x39, 0x03, 0xD0, 0xF8, 0x0F, 0x83, 0xC0, 0x1C, - 0x00, 0x07, 0x80, 0x33, 0xFC, 0x03, 0xC1, 0xE0, 0x1E, 0x07, 0x80, 0x70, - 0x3C, 0x01, 0x80, 0xE0, 0x0C, 0x07, 0x80, 0x40, 0x3C, 0x02, 0x00, 0xE0, - 0x20, 0x07, 0x81, 0x00, 0x3C, 0x18, 0x01, 0xE0, 0x80, 0x07, 0x0C, 0x00, - 0x38, 0x40, 0x01, 0xE4, 0x00, 0x0F, 0x60, 0x00, 0x3A, 0x00, 0x01, 0xF0, - 0x00, 0x0F, 0x00, 0x00, 0x70, 0x00, 0x03, 0x80, 0x00, 0x18, 0x00, 0x00, - 0x80, 0x00, 0x0C, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, - 0x04, 0x00, 0x0E, 0x40, 0x00, 0x7C, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0F, - 0xFF, 0x87, 0xFF, 0x82, 0x00, 0x83, 0x00, 0xC1, 0x00, 0xC0, 0x00, 0xC0, - 0x00, 0xC0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, - 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x1E, - 0x00, 0x1F, 0xC0, 0x1F, 0xF0, 0xE8, 0xFC, 0x70, 0x1E, 0x38, 0x03, 0x88, - 0x00, 0x78, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x0F, - 0x00, 0x07, 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, - 0x70, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, - 0x07, 0x80, 0x07, 0x80, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x00, 0x80, - 0x00, 0x60, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x07, - 0x80, 0x03, 0x80, 0x01, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x70, 0x00, - 0x38, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x01, 0x80, - 0x00, 0x70, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x07, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, - 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x3C, - 0x00, 0x3C, 0x00, 0x38, 0x00, 0x38, 0x00, 0x18, 0x00, 0x08, 0x00, 0x1C, - 0x00, 0x7E, 0x00, 0x78, 0x00, 0xF0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xE0, - 0x01, 0xC0, 0x01, 0xC0, 0x03, 0xC0, 0x03, 0x80, 0x03, 0x80, 0x07, 0x80, - 0x07, 0x80, 0x07, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x1C, 0x00, - 0xF8, 0x00, 0x1F, 0x80, 0x00, 0xFF, 0x80, 0xC7, 0xFF, 0x87, 0xBC, 0x3F, - 0xFE, 0x60, 0x3F, 0xF0, 0x00, 0x1F, 0x00 }; - -const GFXglyph FreeSerifItalic24pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 12, 0, 1 }, // 0x20 ' ' - { 0, 12, 32, 16, 2, -30 }, // 0x21 '!' - { 48, 14, 12, 16, 6, -31 }, // 0x22 '"' - { 69, 25, 31, 23, 0, -30 }, // 0x23 '#' - { 166, 21, 38, 24, 2, -33 }, // 0x24 '$' - { 266, 33, 32, 39, 4, -30 }, // 0x25 '%' - { 398, 30, 33, 37, 4, -31 }, // 0x26 '&' - { 522, 5, 12, 9, 6, -31 }, // 0x27 ''' - { 530, 13, 39, 16, 2, -30 }, // 0x28 '(' - { 594, 13, 39, 16, 0, -30 }, // 0x29 ')' - { 658, 16, 20, 23, 7, -31 }, // 0x2A '*' - { 698, 23, 23, 32, 4, -22 }, // 0x2B '+' - { 765, 7, 11, 12, -1, -4 }, // 0x2C ',' - { 775, 11, 3, 16, 2, -11 }, // 0x2D '-' - { 780, 5, 5, 12, 1, -3 }, // 0x2E '.' - { 784, 21, 33, 14, 0, -31 }, // 0x2F '/' - { 871, 21, 31, 23, 2, -30 }, // 0x30 '0' - { 953, 17, 32, 23, 2, -31 }, // 0x31 '1' - { 1021, 21, 31, 24, 0, -30 }, // 0x32 '2' - { 1103, 22, 32, 23, 0, -31 }, // 0x33 '3' - { 1191, 22, 32, 23, 0, -31 }, // 0x34 '4' - { 1279, 22, 32, 24, 0, -31 }, // 0x35 '5' - { 1367, 23, 32, 23, 1, -31 }, // 0x36 '6' - { 1459, 21, 32, 23, 4, -31 }, // 0x37 '7' - { 1543, 22, 32, 23, 1, -31 }, // 0x38 '8' - { 1631, 22, 33, 23, 1, -31 }, // 0x39 '9' - { 1722, 9, 22, 12, 2, -20 }, // 0x3A ':' - { 1747, 11, 27, 12, 1, -20 }, // 0x3B ';' - { 1785, 23, 25, 27, 3, -24 }, // 0x3C '<' - { 1857, 24, 12, 31, 4, -17 }, // 0x3D '=' - { 1893, 24, 25, 27, 3, -24 }, // 0x3E '>' - { 1968, 16, 33, 21, 6, -31 }, // 0x3F '?' - { 2034, 33, 33, 37, 3, -31 }, // 0x40 '@' - { 2171, 29, 31, 31, 0, -30 }, // 0x41 'A' - { 2284, 28, 31, 28, 0, -30 }, // 0x42 'B' - { 2393, 30, 33, 29, 2, -31 }, // 0x43 'C' - { 2517, 33, 31, 33, 0, -30 }, // 0x44 'D' - { 2645, 29, 31, 27, 0, -30 }, // 0x45 'E' - { 2758, 29, 31, 27, 0, -30 }, // 0x46 'F' - { 2871, 31, 33, 32, 2, -31 }, // 0x47 'G' - { 2999, 36, 31, 33, 0, -30 }, // 0x48 'H' - { 3139, 18, 31, 15, 0, -30 }, // 0x49 'I' - { 3209, 23, 32, 20, 0, -30 }, // 0x4A 'J' - { 3301, 33, 31, 30, 0, -30 }, // 0x4B 'K' - { 3429, 27, 31, 27, 0, -30 }, // 0x4C 'L' - { 3534, 42, 31, 39, 0, -30 }, // 0x4D 'M' - { 3697, 35, 32, 32, 0, -30 }, // 0x4E 'N' - { 3837, 30, 33, 31, 2, -31 }, // 0x4F 'O' - { 3961, 29, 31, 27, 0, -30 }, // 0x50 'P' - { 4074, 30, 41, 31, 2, -31 }, // 0x51 'Q' - { 4228, 28, 31, 29, 0, -30 }, // 0x52 'R' - { 4337, 23, 33, 21, 0, -31 }, // 0x53 'S' - { 4432, 27, 31, 28, 4, -30 }, // 0x54 'T' - { 4537, 31, 32, 33, 5, -30 }, // 0x55 'U' - { 4661, 29, 32, 31, 6, -30 }, // 0x56 'V' - { 4777, 39, 32, 42, 6, -30 }, // 0x57 'W' - { 4933, 32, 31, 31, 0, -30 }, // 0x58 'X' - { 5057, 26, 31, 28, 5, -30 }, // 0x59 'Y' - { 5158, 29, 31, 26, 0, -30 }, // 0x5A 'Z' - { 5271, 17, 39, 18, 1, -31 }, // 0x5B '[' - { 5354, 17, 33, 23, 5, -31 }, // 0x5C '\' - { 5425, 17, 39, 18, 1, -31 }, // 0x5D ']' - { 5508, 20, 17, 20, 0, -31 }, // 0x5E '^' - { 5551, 24, 2, 23, 0, 5 }, // 0x5F '_' - { 5557, 8, 8, 12, 6, -31 }, // 0x60 '`' - { 5565, 21, 21, 23, 1, -20 }, // 0x61 'a' - { 5621, 21, 33, 22, 1, -31 }, // 0x62 'b' - { 5708, 18, 22, 19, 1, -20 }, // 0x63 'c' - { 5758, 24, 33, 23, 1, -31 }, // 0x64 'd' - { 5857, 18, 22, 19, 1, -20 }, // 0x65 'e' - { 5907, 27, 42, 20, -4, -31 }, // 0x66 'f' - { 6049, 21, 31, 21, -1, -20 }, // 0x67 'g' - { 6131, 21, 32, 23, 1, -31 }, // 0x68 'h' - { 6215, 10, 32, 12, 2, -30 }, // 0x69 'i' - { 6255, 19, 41, 13, -3, -30 }, // 0x6A 'j' - { 6353, 21, 33, 21, 1, -31 }, // 0x6B 'k' - { 6440, 11, 33, 12, 2, -31 }, // 0x6C 'l' - { 6486, 31, 21, 34, 1, -20 }, // 0x6D 'm' - { 6568, 21, 21, 23, 1, -20 }, // 0x6E 'n' - { 6624, 21, 22, 22, 1, -20 }, // 0x6F 'o' - { 6682, 27, 31, 22, -4, -20 }, // 0x70 'p' - { 6787, 21, 31, 23, 1, -20 }, // 0x71 'q' - { 6869, 17, 21, 17, 1, -20 }, // 0x72 'r' - { 6914, 17, 22, 16, 0, -20 }, // 0x73 's' - { 6961, 12, 26, 11, 1, -24 }, // 0x74 't' - { 7000, 20, 22, 23, 1, -20 }, // 0x75 'u' - { 7055, 18, 22, 21, 3, -20 }, // 0x76 'v' - { 7105, 30, 22, 32, 2, -20 }, // 0x77 'w' - { 7188, 22, 22, 20, -1, -20 }, // 0x78 'x' - { 7249, 21, 31, 22, 1, -20 }, // 0x79 'y' - { 7331, 17, 24, 18, 0, -19 }, // 0x7A 'z' - { 7382, 17, 40, 19, 2, -31 }, // 0x7B '{' - { 7467, 3, 33, 13, 5, -31 }, // 0x7C '|' - { 7480, 16, 41, 19, 0, -32 }, // 0x7D '}' - { 7562, 22, 6, 25, 2, -14 } }; // 0x7E '~' - -const GFXfont FreeSerifItalic24pt7b PROGMEM = { - (uint8_t *)FreeSerifItalic24pt7bBitmaps, - (GFXglyph *)FreeSerifItalic24pt7bGlyphs, - 0x20, 0x7E, 56 }; - -// Approx. 8251 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h deleted file mode 100644 index 34e6b8d..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/FreeSerifItalic9pt7b.h +++ /dev/null @@ -1,202 +0,0 @@ -const uint8_t FreeSerifItalic9pt7bBitmaps[] PROGMEM = { - 0x11, 0x12, 0x22, 0x24, 0x40, 0x0C, 0xDE, 0xE5, 0x40, 0x04, 0x82, 0x20, - 0x98, 0x24, 0x7F, 0xC4, 0x82, 0x23, 0xFC, 0x24, 0x11, 0x04, 0x83, 0x20, - 0x1C, 0x1B, 0x99, 0x4D, 0x26, 0x81, 0xC0, 0x70, 0x1C, 0x13, 0x49, 0xA4, - 0xDA, 0xC7, 0xC1, 0x00, 0x80, 0x1C, 0x61, 0xCF, 0x0E, 0x28, 0x30, 0xA0, - 0xC5, 0x03, 0x34, 0xE7, 0xAE, 0x40, 0xB1, 0x05, 0x84, 0x26, 0x20, 0x99, - 0x84, 0x3C, 0x03, 0x80, 0x6C, 0x06, 0xC0, 0x78, 0x06, 0x01, 0xEF, 0x66, - 0x24, 0x24, 0xC3, 0x8C, 0x10, 0xE3, 0x87, 0xCE, 0xFA, 0x08, 0x21, 0x08, - 0x61, 0x8C, 0x30, 0xC3, 0x0C, 0x30, 0x41, 0x02, 0x00, 0x10, 0x40, 0x82, - 0x0C, 0x30, 0xC3, 0x0C, 0x61, 0x84, 0x21, 0x08, 0x00, 0x30, 0xCA, 0x5E, - 0x6A, 0x93, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, 0xF8, 0x40, 0x20, 0x10, - 0x08, 0x00, 0x56, 0xF0, 0xF0, 0x03, 0x02, 0x06, 0x04, 0x08, 0x08, 0x10, - 0x30, 0x20, 0x60, 0x40, 0xC0, 0x0E, 0x0C, 0x8C, 0x6C, 0x36, 0x1F, 0x0F, - 0x07, 0x87, 0xC3, 0x61, 0xB1, 0x88, 0x83, 0x80, 0x04, 0x70, 0xC3, 0x08, - 0x21, 0x86, 0x10, 0x43, 0x08, 0xF8, 0x1C, 0x67, 0x83, 0x03, 0x02, 0x06, - 0x0C, 0x08, 0x10, 0x20, 0x42, 0xFC, 0x0F, 0x08, 0xC0, 0x60, 0xC1, 0xE0, - 0x38, 0x0C, 0x06, 0x03, 0x01, 0x01, 0x1F, 0x00, 0x01, 0x01, 0x81, 0x41, - 0x61, 0x21, 0x11, 0x18, 0x88, 0xFF, 0x02, 0x03, 0x01, 0x00, 0x0F, 0x84, - 0x04, 0x03, 0x80, 0x60, 0x18, 0x0C, 0x06, 0x03, 0x03, 0x03, 0x1E, 0x00, - 0x01, 0x83, 0x87, 0x07, 0x03, 0x03, 0x73, 0xCD, 0x86, 0xC3, 0x61, 0xB1, - 0x88, 0xC3, 0xC0, 0x7F, 0x40, 0x80, 0x80, 0x40, 0x40, 0x60, 0x20, 0x20, - 0x10, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x19, 0xCC, 0x66, 0x33, 0xB0, 0xE0, - 0x50, 0xCC, 0xC3, 0x61, 0xB0, 0xCC, 0xC3, 0xC0, 0x0E, 0x19, 0x8C, 0x6C, - 0x36, 0x1B, 0x0D, 0x86, 0xE6, 0x3F, 0x03, 0x03, 0x06, 0x0C, 0x00, 0x33, - 0x00, 0x00, 0xCC, 0x33, 0x00, 0x00, 0x44, 0x48, 0x01, 0x83, 0x86, 0x1C, - 0x0C, 0x03, 0x80, 0x30, 0x07, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x00, 0x0F, - 0xF8, 0xC0, 0x1C, 0x03, 0x80, 0x70, 0x18, 0x38, 0x70, 0xC0, 0x80, 0x00, - 0x3C, 0x8C, 0x18, 0x30, 0xC3, 0x0C, 0x20, 0x40, 0x80, 0x06, 0x00, 0x0F, - 0xC0, 0xC3, 0x0C, 0x04, 0xC7, 0xBC, 0x64, 0xE2, 0x27, 0x31, 0x39, 0x91, - 0xCC, 0x93, 0x3B, 0x0E, 0x00, 0x1F, 0x80, 0x01, 0x00, 0x60, 0x14, 0x04, - 0xC0, 0x98, 0x23, 0x07, 0xE1, 0x04, 0x20, 0x88, 0x1B, 0x8F, 0x80, 0x3F, - 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3E, 0x04, 0x61, 0x86, 0x30, 0xC4, - 0x19, 0x86, 0x7F, 0x80, 0x07, 0x91, 0x86, 0x30, 0x26, 0x02, 0x60, 0x0C, - 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x61, 0x83, 0xE0, 0x3F, 0xC0, - 0x63, 0x82, 0x0C, 0x30, 0x31, 0x81, 0x8C, 0x0C, 0x40, 0x66, 0x07, 0x30, - 0x31, 0x03, 0x18, 0x71, 0xFE, 0x00, 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, - 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, 0x30, 0x02, 0x04, 0x60, 0x8F, 0xF8, - 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, - 0x30, 0x02, 0x00, 0x60, 0x0F, 0x80, 0x07, 0x91, 0x87, 0x30, 0x26, 0x02, - 0x60, 0x0C, 0x00, 0xC1, 0xFC, 0x0C, 0xC0, 0xCC, 0x0C, 0x60, 0x83, 0xF0, - 0x3E, 0x3C, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x18, 0x30, 0x7F, 0x81, 0x06, - 0x0C, 0x18, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x3C, 0x78, 0x1E, 0x18, 0x20, - 0xC1, 0x83, 0x04, 0x18, 0x30, 0x41, 0x87, 0x80, 0x0F, 0x81, 0x80, 0x80, - 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x04, 0x36, 0x1E, 0x00, 0x3E, 0x78, - 0x61, 0x82, 0x10, 0x31, 0x01, 0xB0, 0x0E, 0x00, 0x58, 0x06, 0x60, 0x33, - 0x01, 0x0C, 0x18, 0x61, 0xE7, 0xC0, 0x3E, 0x01, 0x80, 0x20, 0x0C, 0x01, - 0x80, 0x30, 0x04, 0x01, 0x80, 0x30, 0x04, 0x0D, 0x83, 0x7F, 0xE0, 0x1C, - 0x07, 0x0C, 0x0E, 0x0C, 0x14, 0x14, 0x1C, 0x14, 0x2C, 0x16, 0x4C, 0x26, - 0x48, 0x26, 0x98, 0x27, 0x18, 0x27, 0x10, 0x42, 0x30, 0xF4, 0x7C, 0x38, - 0x78, 0x60, 0x83, 0x04, 0x2C, 0x41, 0x22, 0x09, 0x10, 0x4D, 0x84, 0x28, - 0x21, 0x41, 0x06, 0x10, 0x21, 0xE1, 0x00, 0x07, 0x83, 0x18, 0xC1, 0xB0, - 0x36, 0x07, 0xC0, 0xF0, 0x3E, 0x06, 0xC0, 0xD8, 0x31, 0x8C, 0x1E, 0x00, - 0x3F, 0xC1, 0x9C, 0x21, 0x8C, 0x31, 0x86, 0x31, 0x87, 0xE1, 0x80, 0x30, - 0x04, 0x01, 0x80, 0x78, 0x00, 0x07, 0x83, 0x18, 0xC1, 0x98, 0x36, 0x07, - 0xC0, 0xF0, 0x1E, 0x06, 0xC0, 0xD8, 0x31, 0x04, 0x13, 0x01, 0x80, 0x70, - 0xB7, 0xE0, 0x3F, 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3F, 0x04, 0xC1, - 0x98, 0x31, 0x84, 0x31, 0x86, 0x78, 0x70, 0x1E, 0x4C, 0x63, 0x08, 0xC0, - 0x38, 0x07, 0x00, 0x60, 0x0C, 0x43, 0x10, 0xC6, 0x62, 0x70, 0x7F, 0xE9, - 0x8E, 0x31, 0x04, 0x01, 0x80, 0x30, 0x06, 0x00, 0x80, 0x30, 0x06, 0x00, - 0x80, 0x7E, 0x00, 0x7C, 0xF3, 0x02, 0x30, 0x46, 0x04, 0x60, 0x46, 0x04, - 0x40, 0x8C, 0x08, 0xC0, 0x8C, 0x10, 0xE3, 0x03, 0xC0, 0xF8, 0xEC, 0x0C, - 0x81, 0x18, 0x43, 0x08, 0x62, 0x0C, 0x81, 0x90, 0x14, 0x03, 0x00, 0x60, - 0x08, 0x00, 0xFB, 0xCE, 0x43, 0x0C, 0x86, 0x11, 0x8C, 0x43, 0x38, 0x86, - 0xB2, 0x0D, 0x24, 0x1C, 0x50, 0x38, 0xA0, 0x21, 0x80, 0x42, 0x01, 0x04, - 0x00, 0x3E, 0x71, 0x82, 0x0C, 0x40, 0xC8, 0x07, 0x00, 0x60, 0x06, 0x00, - 0xB0, 0x13, 0x02, 0x18, 0x61, 0x8F, 0x3E, 0xF9, 0xC8, 0x23, 0x10, 0xC8, - 0x34, 0x05, 0x01, 0x80, 0x40, 0x30, 0x0C, 0x03, 0x03, 0xE0, 0x3F, 0xE4, - 0x19, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x40, 0x18, 0x06, 0x05, - 0x81, 0x7F, 0xE0, 0x0E, 0x10, 0x20, 0x81, 0x02, 0x04, 0x10, 0x20, 0x40, - 0x82, 0x04, 0x08, 0x1C, 0x00, 0x81, 0x04, 0x18, 0x20, 0xC1, 0x04, 0x08, - 0x20, 0x41, 0x38, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0xC2, 0x08, 0x20, - 0x8C, 0x00, 0x18, 0x18, 0x2C, 0x24, 0x46, 0x42, 0x83, 0xFF, 0x80, 0xD8, - 0x80, 0x1F, 0x98, 0x98, 0x4C, 0x2C, 0x36, 0x33, 0x3A, 0xEE, 0x38, 0x08, - 0x04, 0x02, 0x03, 0x71, 0xCC, 0xC6, 0xC3, 0x63, 0x21, 0x93, 0x8F, 0x00, - 0x1F, 0x33, 0x60, 0xC0, 0xC0, 0xC0, 0xC4, 0x78, 0x01, 0x80, 0x40, 0x60, - 0x20, 0xF1, 0x89, 0x8C, 0xC4, 0xC2, 0x63, 0x33, 0xAE, 0xE0, 0x0E, 0x65, - 0x8B, 0x2F, 0x98, 0x31, 0x3C, 0x01, 0xE0, 0x40, 0x08, 0x02, 0x00, 0x40, - 0x3E, 0x03, 0x00, 0x40, 0x08, 0x01, 0x00, 0x60, 0x0C, 0x01, 0x00, 0x20, - 0x04, 0x01, 0x00, 0xC0, 0x00, 0x1E, 0x19, 0xD8, 0xCC, 0xE1, 0xC3, 0x01, - 0xE0, 0xBC, 0x82, 0x41, 0x31, 0x0F, 0x00, 0x38, 0x08, 0x04, 0x02, 0x03, - 0x39, 0x6C, 0xC6, 0x46, 0x63, 0x21, 0x11, 0xB8, 0xE0, 0x30, 0x00, 0xE2, - 0x44, 0xC8, 0xCE, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x83, 0x04, 0x08, 0x10, - 0x60, 0x81, 0x02, 0x04, 0x70, 0x38, 0x10, 0x10, 0x10, 0x37, 0x22, 0x24, - 0x38, 0x78, 0x48, 0x4D, 0xC6, 0x73, 0x32, 0x26, 0x64, 0x4C, 0xDE, 0x77, - 0x39, 0x5E, 0xCC, 0xCC, 0xCE, 0x66, 0x62, 0x22, 0x11, 0x11, 0xB9, 0x8E, - 0x77, 0x3B, 0x33, 0x62, 0x62, 0x42, 0x4D, 0xCE, 0x0F, 0x18, 0xD8, 0x7C, - 0x3C, 0x3E, 0x1B, 0x18, 0xF0, 0x3B, 0x87, 0x31, 0x8C, 0x43, 0x31, 0x88, - 0x62, 0x30, 0xF0, 0x60, 0x10, 0x04, 0x03, 0x80, 0x0F, 0x18, 0x98, 0x4C, - 0x2C, 0x26, 0x33, 0x38, 0xEC, 0x04, 0x02, 0x03, 0x03, 0xC0, 0x76, 0x50, - 0xC1, 0x06, 0x08, 0x10, 0x60, 0x1A, 0x6C, 0xC8, 0xC0, 0xD1, 0xB3, 0x5C, - 0x23, 0xC8, 0xC4, 0x21, 0x18, 0xE0, 0xC3, 0x42, 0x42, 0xC6, 0x86, 0x8C, - 0x9D, 0xEE, 0x62, 0xC4, 0x89, 0xA3, 0x47, 0x0C, 0x10, 0xE2, 0x2C, 0x44, - 0xD8, 0x9D, 0x23, 0xA4, 0x65, 0x0C, 0xC1, 0x10, 0x19, 0x95, 0x43, 0x01, - 0x80, 0xC0, 0xA0, 0x91, 0x8E, 0x70, 0x88, 0x46, 0x23, 0x20, 0x90, 0x50, - 0x28, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x3F, 0x42, 0x04, 0x08, 0x10, - 0x20, 0x40, 0x72, 0x0E, 0x08, 0x61, 0x04, 0x30, 0x86, 0x08, 0x61, 0x04, - 0x30, 0xC3, 0x8F, 0x00, 0xFF, 0xF0, 0x1E, 0x0C, 0x10, 0x20, 0xC1, 0x82, - 0x04, 0x1C, 0x30, 0x40, 0x83, 0x04, 0x08, 0x20, 0x60, 0x99, 0x8E }; - -const GFXglyph FreeSerifItalic9pt7bGlyphs[] PROGMEM = { - { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' - { 0, 4, 12, 6, 1, -11 }, // 0x21 '!' - { 6, 5, 4, 6, 3, -11 }, // 0x22 '"' - { 9, 10, 12, 9, 0, -11 }, // 0x23 '#' - { 24, 9, 15, 9, 1, -12 }, // 0x24 '$' - { 41, 14, 12, 15, 1, -11 }, // 0x25 '%' - { 62, 12, 12, 14, 1, -11 }, // 0x26 '&' - { 80, 2, 4, 4, 3, -11 }, // 0x27 ''' - { 81, 6, 15, 6, 1, -11 }, // 0x28 '(' - { 93, 6, 15, 6, 0, -11 }, // 0x29 ')' - { 105, 6, 8, 9, 3, -11 }, // 0x2A '*' - { 111, 9, 9, 12, 1, -8 }, // 0x2B '+' - { 122, 2, 4, 5, 0, -1 }, // 0x2C ',' - { 123, 4, 1, 6, 1, -3 }, // 0x2D '-' - { 124, 2, 2, 5, 0, -1 }, // 0x2E '.' - { 125, 8, 12, 5, 0, -11 }, // 0x2F '/' - { 137, 9, 13, 9, 1, -12 }, // 0x30 '0' - { 152, 6, 13, 9, 1, -12 }, // 0x31 '1' - { 162, 8, 12, 9, 1, -11 }, // 0x32 '2' - { 174, 9, 12, 9, 0, -11 }, // 0x33 '3' - { 188, 9, 12, 9, 0, -11 }, // 0x34 '4' - { 202, 9, 12, 9, 0, -11 }, // 0x35 '5' - { 216, 9, 13, 9, 1, -12 }, // 0x36 '6' - { 231, 9, 12, 9, 1, -11 }, // 0x37 '7' - { 245, 9, 13, 9, 1, -12 }, // 0x38 '8' - { 260, 9, 13, 9, 0, -12 }, // 0x39 '9' - { 275, 4, 8, 4, 1, -7 }, // 0x3A ':' - { 279, 4, 10, 4, 1, -7 }, // 0x3B ';' - { 284, 9, 9, 10, 1, -8 }, // 0x3C '<' - { 295, 9, 5, 12, 2, -6 }, // 0x3D '=' - { 301, 9, 9, 10, 1, -8 }, // 0x3E '>' - { 312, 7, 12, 8, 2, -11 }, // 0x3F '?' - { 323, 13, 12, 14, 1, -11 }, // 0x40 '@' - { 343, 11, 11, 12, 0, -10 }, // 0x41 'A' - { 359, 11, 12, 11, 0, -11 }, // 0x42 'B' - { 376, 12, 12, 11, 1, -11 }, // 0x43 'C' - { 394, 13, 12, 13, 0, -11 }, // 0x44 'D' - { 414, 12, 12, 10, 0, -11 }, // 0x45 'E' - { 432, 12, 12, 10, 0, -11 }, // 0x46 'F' - { 450, 12, 12, 12, 1, -11 }, // 0x47 'G' - { 468, 14, 12, 13, 0, -11 }, // 0x48 'H' - { 489, 7, 12, 6, 0, -11 }, // 0x49 'I' - { 500, 9, 12, 8, 0, -11 }, // 0x4A 'J' - { 514, 13, 12, 12, 0, -11 }, // 0x4B 'K' - { 534, 11, 12, 10, 0, -11 }, // 0x4C 'L' - { 551, 16, 12, 15, 0, -11 }, // 0x4D 'M' - { 575, 13, 12, 12, 0, -11 }, // 0x4E 'N' - { 595, 11, 12, 12, 1, -11 }, // 0x4F 'O' - { 612, 11, 12, 10, 0, -11 }, // 0x50 'P' - { 629, 11, 15, 12, 1, -11 }, // 0x51 'Q' - { 650, 11, 12, 11, 0, -11 }, // 0x52 'R' - { 667, 10, 12, 8, 0, -11 }, // 0x53 'S' - { 682, 11, 12, 11, 2, -11 }, // 0x54 'T' - { 699, 12, 12, 13, 2, -11 }, // 0x55 'U' - { 717, 11, 12, 12, 2, -11 }, // 0x56 'V' - { 734, 15, 12, 16, 2, -11 }, // 0x57 'W' - { 757, 12, 12, 12, 0, -11 }, // 0x58 'X' - { 775, 10, 12, 11, 2, -11 }, // 0x59 'Y' - { 790, 11, 12, 10, 0, -11 }, // 0x5A 'Z' - { 807, 7, 15, 7, 0, -11 }, // 0x5B '[' - { 821, 6, 12, 9, 2, -11 }, // 0x5C '\' - { 830, 6, 15, 7, 1, -11 }, // 0x5D ']' - { 842, 8, 7, 8, 0, -11 }, // 0x5E '^' - { 849, 9, 1, 9, 0, 2 }, // 0x5F '_' - { 851, 3, 3, 5, 2, -11 }, // 0x60 '`' - { 853, 9, 8, 9, 0, -7 }, // 0x61 'a' - { 862, 9, 12, 9, 0, -11 }, // 0x62 'b' - { 876, 8, 8, 7, 0, -7 }, // 0x63 'c' - { 884, 9, 12, 9, 0, -11 }, // 0x64 'd' - { 898, 7, 8, 7, 0, -7 }, // 0x65 'e' - { 905, 11, 17, 8, -1, -12 }, // 0x66 'f' - { 929, 9, 12, 8, 0, -7 }, // 0x67 'g' - { 943, 9, 12, 9, 0, -11 }, // 0x68 'h' - { 957, 4, 12, 4, 1, -11 }, // 0x69 'i' - { 963, 7, 16, 5, -1, -11 }, // 0x6A 'j' - { 977, 8, 12, 8, 0, -11 }, // 0x6B 'k' - { 989, 4, 12, 5, 1, -11 }, // 0x6C 'l' - { 995, 13, 8, 13, 0, -7 }, // 0x6D 'm' - { 1008, 8, 8, 9, 0, -7 }, // 0x6E 'n' - { 1016, 9, 8, 9, 0, -7 }, // 0x6F 'o' - { 1025, 10, 12, 8, -1, -7 }, // 0x70 'p' - { 1040, 9, 12, 9, 0, -7 }, // 0x71 'q' - { 1054, 7, 8, 7, 0, -7 }, // 0x72 'r' - { 1061, 7, 8, 6, 0, -7 }, // 0x73 's' - { 1068, 5, 9, 4, 0, -8 }, // 0x74 't' - { 1074, 8, 8, 9, 1, -7 }, // 0x75 'u' - { 1082, 7, 8, 8, 1, -7 }, // 0x76 'v' - { 1089, 11, 8, 12, 1, -7 }, // 0x77 'w' - { 1100, 9, 8, 8, -1, -7 }, // 0x78 'x' - { 1109, 9, 12, 9, 0, -7 }, // 0x79 'y' - { 1123, 8, 9, 7, 0, -7 }, // 0x7A 'z' - { 1132, 6, 15, 7, 1, -11 }, // 0x7B '{' - { 1144, 1, 12, 5, 2, -11 }, // 0x7C '|' - { 1146, 7, 16, 7, 0, -12 }, // 0x7D '}' - { 1160, 8, 3, 10, 1, -5 } }; // 0x7E '~' - -const GFXfont FreeSerifItalic9pt7b PROGMEM = { - (uint8_t *)FreeSerifItalic9pt7bBitmaps, - (GFXglyph *)FreeSerifItalic9pt7bGlyphs, - 0x20, 0x7E, 22 }; - -// Approx. 1835 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h deleted file mode 100644 index ac41f31..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Org_01.h +++ /dev/null @@ -1,131 +0,0 @@ -// Org_v01 by Orgdot (www.orgdot.com/aliasfonts). A tiny, -// stylized font with all characters within a 6 pixel height. - -const uint8_t Org_01Bitmaps[] PROGMEM = { - 0xE8, 0xA0, 0x57, 0xD5, 0xF5, 0x00, 0xFD, 0x3E, 0x5F, 0x80, 0x88, 0x88, - 0x88, 0x80, 0xF4, 0xBF, 0x2E, 0x80, 0x80, 0x6A, 0x40, 0x95, 0x80, 0xAA, - 0x80, 0x5D, 0x00, 0xC0, 0xF0, 0x80, 0x08, 0x88, 0x88, 0x00, 0xFC, 0x63, - 0x1F, 0x80, 0xF8, 0xF8, 0x7F, 0x0F, 0x80, 0xF8, 0x7E, 0x1F, 0x80, 0x8C, - 0x7E, 0x10, 0x80, 0xFC, 0x3E, 0x1F, 0x80, 0xFC, 0x3F, 0x1F, 0x80, 0xF8, - 0x42, 0x10, 0x80, 0xFC, 0x7F, 0x1F, 0x80, 0xFC, 0x7E, 0x1F, 0x80, 0x90, - 0xB0, 0x2A, 0x22, 0xF0, 0xF0, 0x88, 0xA8, 0xF8, 0x4E, 0x02, 0x00, 0xFD, - 0x6F, 0x0F, 0x80, 0xFC, 0x7F, 0x18, 0x80, 0xF4, 0x7D, 0x1F, 0x00, 0xFC, - 0x21, 0x0F, 0x80, 0xF4, 0x63, 0x1F, 0x00, 0xFC, 0x3F, 0x0F, 0x80, 0xFC, - 0x3F, 0x08, 0x00, 0xFC, 0x2F, 0x1F, 0x80, 0x8C, 0x7F, 0x18, 0x80, 0xF9, - 0x08, 0x4F, 0x80, 0x78, 0x85, 0x2F, 0x80, 0x8D, 0xB1, 0x68, 0x80, 0x84, - 0x21, 0x0F, 0x80, 0xFD, 0x6B, 0x5A, 0x80, 0xFC, 0x63, 0x18, 0x80, 0xFC, - 0x63, 0x1F, 0x80, 0xFC, 0x7F, 0x08, 0x00, 0xFC, 0x63, 0x3F, 0x80, 0xFC, - 0x7F, 0x29, 0x00, 0xFC, 0x3E, 0x1F, 0x80, 0xF9, 0x08, 0x42, 0x00, 0x8C, - 0x63, 0x1F, 0x80, 0x8C, 0x62, 0xA2, 0x00, 0xAD, 0x6B, 0x5F, 0x80, 0x8A, - 0x88, 0xA8, 0x80, 0x8C, 0x54, 0x42, 0x00, 0xF8, 0x7F, 0x0F, 0x80, 0xEA, - 0xC0, 0x82, 0x08, 0x20, 0x80, 0xD5, 0xC0, 0x54, 0xF8, 0x80, 0xF1, 0xFF, - 0x8F, 0x99, 0xF0, 0xF8, 0x8F, 0x1F, 0x99, 0xF0, 0xFF, 0x8F, 0x6B, 0xA4, - 0xF9, 0x9F, 0x10, 0x8F, 0x99, 0x90, 0xF0, 0x55, 0xC0, 0x8A, 0xF9, 0x90, - 0xF8, 0xFD, 0x63, 0x10, 0xF9, 0x99, 0xF9, 0x9F, 0xF9, 0x9F, 0x80, 0xF9, - 0x9F, 0x20, 0xF8, 0x88, 0x47, 0x1F, 0x27, 0xC8, 0x42, 0x00, 0x99, 0x9F, - 0x99, 0x97, 0x8C, 0x6B, 0xF0, 0x96, 0x69, 0x99, 0x9F, 0x10, 0x2E, 0x8F, - 0x2B, 0x22, 0xF8, 0x89, 0xA8, 0x0F, 0xE0 }; - -const GFXglyph Org_01Glyphs[] PROGMEM = { - { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' - { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' - { 1, 3, 1, 4, 0, -4 }, // 0x22 '"' - { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' - { 6, 5, 5, 6, 0, -4 }, // 0x24 '$' - { 10, 5, 5, 6, 0, -4 }, // 0x25 '%' - { 14, 5, 5, 6, 0, -4 }, // 0x26 '&' - { 18, 1, 1, 2, 0, -4 }, // 0x27 ''' - { 19, 2, 5, 3, 0, -4 }, // 0x28 '(' - { 21, 2, 5, 3, 0, -4 }, // 0x29 ')' - { 23, 3, 3, 4, 0, -3 }, // 0x2A '*' - { 25, 3, 3, 4, 0, -3 }, // 0x2B '+' - { 27, 1, 2, 2, 0, 0 }, // 0x2C ',' - { 28, 4, 1, 5, 0, -2 }, // 0x2D '-' - { 29, 1, 1, 2, 0, 0 }, // 0x2E '.' - { 30, 5, 5, 6, 0, -4 }, // 0x2F '/' - { 34, 5, 5, 6, 0, -4 }, // 0x30 '0' - { 38, 1, 5, 2, 0, -4 }, // 0x31 '1' - { 39, 5, 5, 6, 0, -4 }, // 0x32 '2' - { 43, 5, 5, 6, 0, -4 }, // 0x33 '3' - { 47, 5, 5, 6, 0, -4 }, // 0x34 '4' - { 51, 5, 5, 6, 0, -4 }, // 0x35 '5' - { 55, 5, 5, 6, 0, -4 }, // 0x36 '6' - { 59, 5, 5, 6, 0, -4 }, // 0x37 '7' - { 63, 5, 5, 6, 0, -4 }, // 0x38 '8' - { 67, 5, 5, 6, 0, -4 }, // 0x39 '9' - { 71, 1, 4, 2, 0, -3 }, // 0x3A ':' - { 72, 1, 4, 2, 0, -3 }, // 0x3B ';' - { 73, 3, 5, 4, 0, -4 }, // 0x3C '<' - { 75, 4, 3, 5, 0, -3 }, // 0x3D '=' - { 77, 3, 5, 4, 0, -4 }, // 0x3E '>' - { 79, 5, 5, 6, 0, -4 }, // 0x3F '?' - { 83, 5, 5, 6, 0, -4 }, // 0x40 '@' - { 87, 5, 5, 6, 0, -4 }, // 0x41 'A' - { 91, 5, 5, 6, 0, -4 }, // 0x42 'B' - { 95, 5, 5, 6, 0, -4 }, // 0x43 'C' - { 99, 5, 5, 6, 0, -4 }, // 0x44 'D' - { 103, 5, 5, 6, 0, -4 }, // 0x45 'E' - { 107, 5, 5, 6, 0, -4 }, // 0x46 'F' - { 111, 5, 5, 6, 0, -4 }, // 0x47 'G' - { 115, 5, 5, 6, 0, -4 }, // 0x48 'H' - { 119, 5, 5, 6, 0, -4 }, // 0x49 'I' - { 123, 5, 5, 6, 0, -4 }, // 0x4A 'J' - { 127, 5, 5, 6, 0, -4 }, // 0x4B 'K' - { 131, 5, 5, 6, 0, -4 }, // 0x4C 'L' - { 135, 5, 5, 6, 0, -4 }, // 0x4D 'M' - { 139, 5, 5, 6, 0, -4 }, // 0x4E 'N' - { 143, 5, 5, 6, 0, -4 }, // 0x4F 'O' - { 147, 5, 5, 6, 0, -4 }, // 0x50 'P' - { 151, 5, 5, 6, 0, -4 }, // 0x51 'Q' - { 155, 5, 5, 6, 0, -4 }, // 0x52 'R' - { 159, 5, 5, 6, 0, -4 }, // 0x53 'S' - { 163, 5, 5, 6, 0, -4 }, // 0x54 'T' - { 167, 5, 5, 6, 0, -4 }, // 0x55 'U' - { 171, 5, 5, 6, 0, -4 }, // 0x56 'V' - { 175, 5, 5, 6, 0, -4 }, // 0x57 'W' - { 179, 5, 5, 6, 0, -4 }, // 0x58 'X' - { 183, 5, 5, 6, 0, -4 }, // 0x59 'Y' - { 187, 5, 5, 6, 0, -4 }, // 0x5A 'Z' - { 191, 2, 5, 3, 0, -4 }, // 0x5B '[' - { 193, 5, 5, 6, 0, -4 }, // 0x5C '\' - { 197, 2, 5, 3, 0, -4 }, // 0x5D ']' - { 199, 3, 2, 4, 0, -4 }, // 0x5E '^' - { 200, 5, 1, 6, 0, 1 }, // 0x5F '_' - { 201, 1, 1, 2, 0, -4 }, // 0x60 '`' - { 202, 4, 4, 5, 0, -3 }, // 0x61 'a' - { 204, 4, 5, 5, 0, -4 }, // 0x62 'b' - { 207, 4, 4, 5, 0, -3 }, // 0x63 'c' - { 209, 4, 5, 5, 0, -4 }, // 0x64 'd' - { 212, 4, 4, 5, 0, -3 }, // 0x65 'e' - { 214, 3, 5, 4, 0, -4 }, // 0x66 'f' - { 216, 4, 5, 5, 0, -3 }, // 0x67 'g' - { 219, 4, 5, 5, 0, -4 }, // 0x68 'h' - { 222, 1, 4, 2, 0, -3 }, // 0x69 'i' - { 223, 2, 5, 3, 0, -3 }, // 0x6A 'j' - { 225, 4, 5, 5, 0, -4 }, // 0x6B 'k' - { 228, 1, 5, 2, 0, -4 }, // 0x6C 'l' - { 229, 5, 4, 6, 0, -3 }, // 0x6D 'm' - { 232, 4, 4, 5, 0, -3 }, // 0x6E 'n' - { 234, 4, 4, 5, 0, -3 }, // 0x6F 'o' - { 236, 4, 5, 5, 0, -3 }, // 0x70 'p' - { 239, 4, 5, 5, 0, -3 }, // 0x71 'q' - { 242, 4, 4, 5, 0, -3 }, // 0x72 'r' - { 244, 4, 4, 5, 0, -3 }, // 0x73 's' - { 246, 5, 5, 6, 0, -4 }, // 0x74 't' - { 250, 4, 4, 5, 0, -3 }, // 0x75 'u' - { 252, 4, 4, 5, 0, -3 }, // 0x76 'v' - { 254, 5, 4, 6, 0, -3 }, // 0x77 'w' - { 257, 4, 4, 5, 0, -3 }, // 0x78 'x' - { 259, 4, 5, 5, 0, -3 }, // 0x79 'y' - { 262, 4, 4, 5, 0, -3 }, // 0x7A 'z' - { 264, 3, 5, 4, 0, -4 }, // 0x7B '{' - { 266, 1, 5, 2, 0, -4 }, // 0x7C '|' - { 267, 3, 5, 4, 0, -4 }, // 0x7D '}' - { 269, 5, 3, 6, 0, -3 } }; // 0x7E '~' - -const GFXfont Org_01 PROGMEM = { - (uint8_t *)Org_01Bitmaps, - (GFXglyph *)Org_01Glyphs, - 0x20, 0x7E, 7 }; - -// Approx. 943 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h deleted file mode 100644 index 0ed6543..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/Picopixel.h +++ /dev/null @@ -1,123 +0,0 @@ -// Picopixel by Sebastian Weber. A tiny font -// with all characters within a 6 pixel height. - -const uint8_t PicopixelBitmaps[] PROGMEM = { - 0xE8, 0xB4, 0x57, 0xD5, 0xF5, 0x00, 0x4E, 0x3E, 0x80, 0xA5, 0x4A, 0x4A, - 0x5A, 0x50, 0xC0, 0x6A, 0x40, 0x95, 0x80, 0xAA, 0x80, 0x5D, 0x00, 0x60, - 0xE0, 0x80, 0x25, 0x48, 0x56, 0xD4, 0x75, 0x40, 0xC5, 0x4E, 0xC5, 0x1C, - 0x97, 0x92, 0xF3, 0x1C, 0x53, 0x54, 0xE5, 0x48, 0x55, 0x54, 0x55, 0x94, - 0xA0, 0x46, 0x64, 0xE3, 0x80, 0x98, 0xC5, 0x04, 0x56, 0xC6, 0x57, 0xDA, - 0xD7, 0x5C, 0x72, 0x46, 0xD6, 0xDC, 0xF3, 0xCE, 0xF3, 0x48, 0x72, 0xD4, - 0xB7, 0xDA, 0xF8, 0x24, 0xD4, 0xBB, 0x5A, 0x92, 0x4E, 0x8E, 0xEB, 0x58, - 0x80, 0x9D, 0xB9, 0x90, 0x56, 0xD4, 0xD7, 0x48, 0x56, 0xD4, 0x40, 0xD7, - 0x5A, 0x71, 0x1C, 0xE9, 0x24, 0xB6, 0xD4, 0xB6, 0xA4, 0x8C, 0x6B, 0x55, - 0x00, 0xB5, 0x5A, 0xB5, 0x24, 0xE5, 0x4E, 0xEA, 0xC0, 0x91, 0x12, 0xD5, - 0xC0, 0x54, 0xF0, 0x90, 0xC7, 0xF0, 0x93, 0x5E, 0x71, 0x80, 0x25, 0xDE, - 0x5E, 0x30, 0x6E, 0x80, 0x77, 0x9C, 0x93, 0x5A, 0xB8, 0x45, 0x60, 0x92, - 0xEA, 0xAA, 0x40, 0xD5, 0x6A, 0xD6, 0x80, 0x55, 0x00, 0xD7, 0x40, 0x75, - 0x90, 0xE8, 0x71, 0xE0, 0xBA, 0x40, 0xB5, 0x80, 0xB5, 0x00, 0x8D, 0x54, - 0xAA, 0x80, 0xAC, 0xE0, 0xE5, 0x70, 0x6A, 0x26, 0xFC, 0xC8, 0xAC, 0x5A }; - -const GFXglyph PicopixelGlyphs[] PROGMEM = { - { 0, 0, 0, 2, 0, 1 }, // 0x20 ' ' - { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' - { 1, 3, 2, 4, 0, -4 }, // 0x22 '"' - { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' - { 6, 3, 6, 4, 0, -4 }, // 0x24 '$' - { 9, 3, 5, 4, 0, -4 }, // 0x25 '%' - { 11, 4, 5, 5, 0, -4 }, // 0x26 '&' - { 14, 1, 2, 2, 0, -4 }, // 0x27 ''' - { 15, 2, 5, 3, 0, -4 }, // 0x28 '(' - { 17, 2, 5, 3, 0, -4 }, // 0x29 ')' - { 19, 3, 3, 4, 0, -3 }, // 0x2A '*' - { 21, 3, 3, 4, 0, -3 }, // 0x2B '+' - { 23, 2, 2, 3, 0, 0 }, // 0x2C ',' - { 24, 3, 1, 4, 0, -2 }, // 0x2D '-' - { 25, 1, 1, 2, 0, 0 }, // 0x2E '.' - { 26, 3, 5, 4, 0, -4 }, // 0x2F '/' - { 28, 3, 5, 4, 0, -4 }, // 0x30 '0' - { 30, 2, 5, 3, 0, -4 }, // 0x31 '1' - { 32, 3, 5, 4, 0, -4 }, // 0x32 '2' - { 34, 3, 5, 4, 0, -4 }, // 0x33 '3' - { 36, 3, 5, 4, 0, -4 }, // 0x34 '4' - { 38, 3, 5, 4, 0, -4 }, // 0x35 '5' - { 40, 3, 5, 4, 0, -4 }, // 0x36 '6' - { 42, 3, 5, 4, 0, -4 }, // 0x37 '7' - { 44, 3, 5, 4, 0, -4 }, // 0x38 '8' - { 46, 3, 5, 4, 0, -4 }, // 0x39 '9' - { 48, 1, 3, 2, 0, -3 }, // 0x3A ':' - { 49, 2, 4, 3, 0, -3 }, // 0x3B ';' - { 50, 2, 3, 3, 0, -3 }, // 0x3C '<' - { 51, 3, 3, 4, 0, -3 }, // 0x3D '=' - { 53, 2, 3, 3, 0, -3 }, // 0x3E '>' - { 54, 3, 5, 4, 0, -4 }, // 0x3F '?' - { 56, 3, 5, 4, 0, -4 }, // 0x40 '@' - { 58, 3, 5, 4, 0, -4 }, // 0x41 'A' - { 60, 3, 5, 4, 0, -4 }, // 0x42 'B' - { 62, 3, 5, 4, 0, -4 }, // 0x43 'C' - { 64, 3, 5, 4, 0, -4 }, // 0x44 'D' - { 66, 3, 5, 4, 0, -4 }, // 0x45 'E' - { 68, 3, 5, 4, 0, -4 }, // 0x46 'F' - { 70, 3, 5, 4, 0, -4 }, // 0x47 'G' - { 72, 3, 5, 4, 0, -4 }, // 0x48 'H' - { 74, 1, 5, 2, 0, -4 }, // 0x49 'I' - { 75, 3, 5, 4, 0, -4 }, // 0x4A 'J' - { 77, 3, 5, 4, 0, -4 }, // 0x4B 'K' - { 79, 3, 5, 4, 0, -4 }, // 0x4C 'L' - { 81, 5, 5, 6, 0, -4 }, // 0x4D 'M' - { 85, 4, 5, 5, 0, -4 }, // 0x4E 'N' - { 88, 3, 5, 4, 0, -4 }, // 0x4F 'O' - { 90, 3, 5, 4, 0, -4 }, // 0x50 'P' - { 92, 3, 6, 4, 0, -4 }, // 0x51 'Q' - { 95, 3, 5, 4, 0, -4 }, // 0x52 'R' - { 97, 3, 5, 4, 0, -4 }, // 0x53 'S' - { 99, 3, 5, 4, 0, -4 }, // 0x54 'T' - { 101, 3, 5, 4, 0, -4 }, // 0x55 'U' - { 103, 3, 5, 4, 0, -4 }, // 0x56 'V' - { 105, 5, 5, 6, 0, -4 }, // 0x57 'W' - { 109, 3, 5, 4, 0, -4 }, // 0x58 'X' - { 111, 3, 5, 4, 0, -4 }, // 0x59 'Y' - { 113, 3, 5, 4, 0, -4 }, // 0x5A 'Z' - { 115, 2, 5, 3, 0, -4 }, // 0x5B '[' - { 117, 3, 5, 4, 0, -4 }, // 0x5C '\' - { 119, 2, 5, 3, 0, -4 }, // 0x5D ']' - { 121, 3, 2, 4, 0, -4 }, // 0x5E '^' - { 122, 4, 1, 4, 0, 1 }, // 0x5F '_' - { 123, 2, 2, 3, 0, -4 }, // 0x60 '`' - { 124, 3, 4, 4, 0, -3 }, // 0x61 'a' - { 126, 3, 5, 4, 0, -4 }, // 0x62 'b' - { 128, 3, 3, 4, 0, -2 }, // 0x63 'c' - { 130, 3, 5, 4, 0, -4 }, // 0x64 'd' - { 132, 3, 4, 4, 0, -3 }, // 0x65 'e' - { 134, 2, 5, 3, 0, -4 }, // 0x66 'f' - { 136, 3, 5, 4, 0, -3 }, // 0x67 'g' - { 138, 3, 5, 4, 0, -4 }, // 0x68 'h' - { 140, 1, 5, 2, 0, -4 }, // 0x69 'i' - { 141, 2, 6, 3, 0, -4 }, // 0x6A 'j' - { 143, 3, 5, 4, 0, -4 }, // 0x6B 'k' - { 145, 2, 5, 3, 0, -4 }, // 0x6C 'l' - { 147, 5, 3, 6, 0, -2 }, // 0x6D 'm' - { 149, 3, 3, 4, 0, -2 }, // 0x6E 'n' - { 151, 3, 3, 4, 0, -2 }, // 0x6F 'o' - { 153, 3, 4, 4, 0, -2 }, // 0x70 'p' - { 155, 3, 4, 4, 0, -2 }, // 0x71 'q' - { 157, 2, 3, 3, 0, -2 }, // 0x72 'r' - { 158, 3, 4, 4, 0, -3 }, // 0x73 's' - { 160, 2, 5, 3, 0, -4 }, // 0x74 't' - { 162, 3, 3, 4, 0, -2 }, // 0x75 'u' - { 164, 3, 3, 4, 0, -2 }, // 0x76 'v' - { 166, 5, 3, 6, 0, -2 }, // 0x77 'w' - { 168, 3, 3, 4, 0, -2 }, // 0x78 'x' - { 170, 3, 4, 4, 0, -2 }, // 0x79 'y' - { 172, 3, 4, 4, 0, -3 }, // 0x7A 'z' - { 174, 3, 5, 4, 0, -4 }, // 0x7B '{' - { 176, 1, 6, 2, 0, -4 }, // 0x7C '|' - { 177, 3, 5, 4, 0, -4 }, // 0x7D '}' - { 179, 4, 2, 5, 0, -3 } }; // 0x7E '~' - -const GFXfont Picopixel PROGMEM = { - (uint8_t *)PicopixelBitmaps, - (GFXglyph *)PicopixelGlyphs, - 0x20, 0x7E, 7 }; - -// Approx. 852 bytes diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h deleted file mode 100644 index dad420d..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/Fonts/TomThumb.h +++ /dev/null @@ -1,474 +0,0 @@ -/** -** The original 3x5 font is licensed under the 3-clause BSD license: -** -** Copyright 1999 Brian J. Swetland -** Copyright 1999 Vassilii Khachaturov -** Portions (of vt100.c/vt100.h) copyright Dan Marks -** -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions -** are met: -** 1. Redistributions of source code must retain the above copyright -** notice, this list of conditions, and the following disclaimer. -** 2. Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions, and the following disclaimer in the -** documentation and/or other materials provided with the distribution. -** 3. The name of the authors may not be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -** -** Modifications to Tom Thumb for improved readability are from Robey Pointer, -** see: -** http://robey.lag.net/2010/01/23/tiny-monospace-font.html -** -** The original author does not have any objection to relicensing of Robey -** Pointer's modifications (in this file) in a more permissive license. See -** the discussion at the above blog, and also here: -** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license -** -** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font, -** with the help of this Python script: -** https://gist.github.com/skelliam/322d421f028545f16f6d -** William Skellenger (williamj@skellenger.net) -** Twitter: @skelliam -** -*/ - -#define TOMTHUMB_USE_EXTENDED 0 - -const uint8_t TomThumbBitmaps[] PROGMEM = { - 0x00, /* 0x20 space */ - 0x80, 0x80, 0x80, 0x00, 0x80, /* 0x21 exclam */ - 0xA0, 0xA0, /* 0x22 quotedbl */ - 0xA0, 0xE0, 0xA0, 0xE0, 0xA0, /* 0x23 numbersign */ - 0x60, 0xC0, 0x60, 0xC0, 0x40, /* 0x24 dollar */ - 0x80, 0x20, 0x40, 0x80, 0x20, /* 0x25 percent */ - 0xC0, 0xC0, 0xE0, 0xA0, 0x60, /* 0x26 ampersand */ - 0x80, 0x80, /* 0x27 quotesingle */ - 0x40, 0x80, 0x80, 0x80, 0x40, /* 0x28 parenleft */ - 0x80, 0x40, 0x40, 0x40, 0x80, /* 0x29 parenright */ - 0xA0, 0x40, 0xA0, /* 0x2A asterisk */ - 0x40, 0xE0, 0x40, /* 0x2B plus */ - 0x40, 0x80, /* 0x2C comma */ - 0xE0, /* 0x2D hyphen */ - 0x80, /* 0x2E period */ - 0x20, 0x20, 0x40, 0x80, 0x80, /* 0x2F slash */ - 0x60, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x30 zero */ - 0x40, 0xC0, 0x40, 0x40, 0x40, /* 0x31 one */ - 0xC0, 0x20, 0x40, 0x80, 0xE0, /* 0x32 two */ - 0xC0, 0x20, 0x40, 0x20, 0xC0, /* 0x33 three */ - 0xA0, 0xA0, 0xE0, 0x20, 0x20, /* 0x34 four */ - 0xE0, 0x80, 0xC0, 0x20, 0xC0, /* 0x35 five */ - 0x60, 0x80, 0xE0, 0xA0, 0xE0, /* 0x36 six */ - 0xE0, 0x20, 0x40, 0x80, 0x80, /* 0x37 seven */ - 0xE0, 0xA0, 0xE0, 0xA0, 0xE0, /* 0x38 eight */ - 0xE0, 0xA0, 0xE0, 0x20, 0xC0, /* 0x39 nine */ - 0x80, 0x00, 0x80, /* 0x3A colon */ - 0x40, 0x00, 0x40, 0x80, /* 0x3B semicolon */ - 0x20, 0x40, 0x80, 0x40, 0x20, /* 0x3C less */ - 0xE0, 0x00, 0xE0, /* 0x3D equal */ - 0x80, 0x40, 0x20, 0x40, 0x80, /* 0x3E greater */ - 0xE0, 0x20, 0x40, 0x00, 0x40, /* 0x3F question */ - 0x40, 0xA0, 0xE0, 0x80, 0x60, /* 0x40 at */ - 0x40, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x41 A */ - 0xC0, 0xA0, 0xC0, 0xA0, 0xC0, /* 0x42 B */ - 0x60, 0x80, 0x80, 0x80, 0x60, /* 0x43 C */ - 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, /* 0x44 D */ - 0xE0, 0x80, 0xE0, 0x80, 0xE0, /* 0x45 E */ - 0xE0, 0x80, 0xE0, 0x80, 0x80, /* 0x46 F */ - 0x60, 0x80, 0xE0, 0xA0, 0x60, /* 0x47 G */ - 0xA0, 0xA0, 0xE0, 0xA0, 0xA0, /* 0x48 H */ - 0xE0, 0x40, 0x40, 0x40, 0xE0, /* 0x49 I */ - 0x20, 0x20, 0x20, 0xA0, 0x40, /* 0x4A J */ - 0xA0, 0xA0, 0xC0, 0xA0, 0xA0, /* 0x4B K */ - 0x80, 0x80, 0x80, 0x80, 0xE0, /* 0x4C L */ - 0xA0, 0xE0, 0xE0, 0xA0, 0xA0, /* 0x4D M */ - 0xA0, 0xE0, 0xE0, 0xE0, 0xA0, /* 0x4E N */ - 0x40, 0xA0, 0xA0, 0xA0, 0x40, /* 0x4F O */ - 0xC0, 0xA0, 0xC0, 0x80, 0x80, /* 0x50 P */ - 0x40, 0xA0, 0xA0, 0xE0, 0x60, /* 0x51 Q */ - 0xC0, 0xA0, 0xE0, 0xC0, 0xA0, /* 0x52 R */ - 0x60, 0x80, 0x40, 0x20, 0xC0, /* 0x53 S */ - 0xE0, 0x40, 0x40, 0x40, 0x40, /* 0x54 T */ - 0xA0, 0xA0, 0xA0, 0xA0, 0x60, /* 0x55 U */ - 0xA0, 0xA0, 0xA0, 0x40, 0x40, /* 0x56 V */ - 0xA0, 0xA0, 0xE0, 0xE0, 0xA0, /* 0x57 W */ - 0xA0, 0xA0, 0x40, 0xA0, 0xA0, /* 0x58 X */ - 0xA0, 0xA0, 0x40, 0x40, 0x40, /* 0x59 Y */ - 0xE0, 0x20, 0x40, 0x80, 0xE0, /* 0x5A Z */ - 0xE0, 0x80, 0x80, 0x80, 0xE0, /* 0x5B bracketleft */ - 0x80, 0x40, 0x20, /* 0x5C backslash */ - 0xE0, 0x20, 0x20, 0x20, 0xE0, /* 0x5D bracketright */ - 0x40, 0xA0, /* 0x5E asciicircum */ - 0xE0, /* 0x5F underscore */ - 0x80, 0x40, /* 0x60 grave */ - 0xC0, 0x60, 0xA0, 0xE0, /* 0x61 a */ - 0x80, 0xC0, 0xA0, 0xA0, 0xC0, /* 0x62 b */ - 0x60, 0x80, 0x80, 0x60, /* 0x63 c */ - 0x20, 0x60, 0xA0, 0xA0, 0x60, /* 0x64 d */ - 0x60, 0xA0, 0xC0, 0x60, /* 0x65 e */ - 0x20, 0x40, 0xE0, 0x40, 0x40, /* 0x66 f */ - 0x60, 0xA0, 0xE0, 0x20, 0x40, /* 0x67 g */ - 0x80, 0xC0, 0xA0, 0xA0, 0xA0, /* 0x68 h */ - 0x80, 0x00, 0x80, 0x80, 0x80, /* 0x69 i */ - 0x20, 0x00, 0x20, 0x20, 0xA0, 0x40, /* 0x6A j */ - 0x80, 0xA0, 0xC0, 0xC0, 0xA0, /* 0x6B k */ - 0xC0, 0x40, 0x40, 0x40, 0xE0, /* 0x6C l */ - 0xE0, 0xE0, 0xE0, 0xA0, /* 0x6D m */ - 0xC0, 0xA0, 0xA0, 0xA0, /* 0x6E n */ - 0x40, 0xA0, 0xA0, 0x40, /* 0x6F o */ - 0xC0, 0xA0, 0xA0, 0xC0, 0x80, /* 0x70 p */ - 0x60, 0xA0, 0xA0, 0x60, 0x20, /* 0x71 q */ - 0x60, 0x80, 0x80, 0x80, /* 0x72 r */ - 0x60, 0xC0, 0x60, 0xC0, /* 0x73 s */ - 0x40, 0xE0, 0x40, 0x40, 0x60, /* 0x74 t */ - 0xA0, 0xA0, 0xA0, 0x60, /* 0x75 u */ - 0xA0, 0xA0, 0xE0, 0x40, /* 0x76 v */ - 0xA0, 0xE0, 0xE0, 0xE0, /* 0x77 w */ - 0xA0, 0x40, 0x40, 0xA0, /* 0x78 x */ - 0xA0, 0xA0, 0x60, 0x20, 0x40, /* 0x79 y */ - 0xE0, 0x60, 0xC0, 0xE0, /* 0x7A z */ - 0x60, 0x40, 0x80, 0x40, 0x60, /* 0x7B braceleft */ - 0x80, 0x80, 0x00, 0x80, 0x80, /* 0x7C bar */ - 0xC0, 0x40, 0x20, 0x40, 0xC0, /* 0x7D braceright */ - 0x60, 0xC0, /* 0x7E asciitilde */ -#if (TOMTHUMB_USE_EXTENDED) - 0x80, 0x00, 0x80, 0x80, 0x80, /* 0xA1 exclamdown */ - 0x40, 0xE0, 0x80, 0xE0, 0x40, /* 0xA2 cent */ - 0x60, 0x40, 0xE0, 0x40, 0xE0, /* 0xA3 sterling */ - 0xA0, 0x40, 0xE0, 0x40, 0xA0, /* 0xA4 currency */ - 0xA0, 0xA0, 0x40, 0xE0, 0x40, /* 0xA5 yen */ - 0x80, 0x80, 0x00, 0x80, 0x80, /* 0xA6 brokenbar */ - 0x60, 0x40, 0xA0, 0x40, 0xC0, /* 0xA7 section */ - 0xA0, /* 0xA8 dieresis */ - 0x60, 0x80, 0x60, /* 0xA9 copyright */ - 0x60, 0xA0, 0xE0, 0x00, 0xE0, /* 0xAA ordfeminine */ - 0x40, 0x80, 0x40, /* 0xAB guillemotleft */ - 0xE0, 0x20, /* 0xAC logicalnot */ - 0xC0, /* 0xAD softhyphen */ - 0xC0, 0xC0, 0xA0, /* 0xAE registered */ - 0xE0, /* 0xAF macron */ - 0x40, 0xA0, 0x40, /* 0xB0 degree */ - 0x40, 0xE0, 0x40, 0x00, 0xE0, /* 0xB1 plusminus */ - 0xC0, 0x40, 0x60, /* 0xB2 twosuperior */ - 0xE0, 0x60, 0xE0, /* 0xB3 threesuperior */ - 0x40, 0x80, /* 0xB4 acute */ - 0xA0, 0xA0, 0xA0, 0xC0, 0x80, /* 0xB5 mu */ - 0x60, 0xA0, 0x60, 0x60, 0x60, /* 0xB6 paragraph */ - 0xE0, 0xE0, 0xE0, /* 0xB7 periodcentered */ - 0x40, 0x20, 0xC0, /* 0xB8 cedilla */ - 0x80, 0x80, 0x80, /* 0xB9 onesuperior */ - 0x40, 0xA0, 0x40, 0x00, 0xE0, /* 0xBA ordmasculine */ - 0x80, 0x40, 0x80, /* 0xBB guillemotright */ - 0x80, 0x80, 0x00, 0x60, 0x20, /* 0xBC onequarter */ - 0x80, 0x80, 0x00, 0xC0, 0x60, /* 0xBD onehalf */ - 0xC0, 0xC0, 0x00, 0x60, 0x20, /* 0xBE threequarters */ - 0x40, 0x00, 0x40, 0x80, 0xE0, /* 0xBF questiondown */ - 0x40, 0x20, 0x40, 0xE0, 0xA0, /* 0xC0 Agrave */ - 0x40, 0x80, 0x40, 0xE0, 0xA0, /* 0xC1 Aacute */ - 0xE0, 0x00, 0x40, 0xE0, 0xA0, /* 0xC2 Acircumflex */ - 0x60, 0xC0, 0x40, 0xE0, 0xA0, /* 0xC3 Atilde */ - 0xA0, 0x40, 0xA0, 0xE0, 0xA0, /* 0xC4 Adieresis */ - 0xC0, 0xC0, 0xA0, 0xE0, 0xA0, /* 0xC5 Aring */ - 0x60, 0xC0, 0xE0, 0xC0, 0xE0, /* 0xC6 AE */ - 0x60, 0x80, 0x80, 0x60, 0x20, 0x40, /* 0xC7 Ccedilla */ - 0x40, 0x20, 0xE0, 0xC0, 0xE0, /* 0xC8 Egrave */ - 0x40, 0x80, 0xE0, 0xC0, 0xE0, /* 0xC9 Eacute */ - 0xE0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCA Ecircumflex */ - 0xA0, 0x00, 0xE0, 0xC0, 0xE0, /* 0xCB Edieresis */ - 0x40, 0x20, 0xE0, 0x40, 0xE0, /* 0xCC Igrave */ - 0x40, 0x80, 0xE0, 0x40, 0xE0, /* 0xCD Iacute */ - 0xE0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCE Icircumflex */ - 0xA0, 0x00, 0xE0, 0x40, 0xE0, /* 0xCF Idieresis */ - 0xC0, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD0 Eth */ - 0xC0, 0x60, 0xA0, 0xE0, 0xA0, /* 0xD1 Ntilde */ - 0x40, 0x20, 0xE0, 0xA0, 0xE0, /* 0xD2 Ograve */ - 0x40, 0x80, 0xE0, 0xA0, 0xE0, /* 0xD3 Oacute */ - 0xE0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD4 Ocircumflex */ - 0xC0, 0x60, 0xE0, 0xA0, 0xE0, /* 0xD5 Otilde */ - 0xA0, 0x00, 0xE0, 0xA0, 0xE0, /* 0xD6 Odieresis */ - 0xA0, 0x40, 0xA0, /* 0xD7 multiply */ - 0x60, 0xA0, 0xE0, 0xA0, 0xC0, /* 0xD8 Oslash */ - 0x80, 0x40, 0xA0, 0xA0, 0xE0, /* 0xD9 Ugrave */ - 0x20, 0x40, 0xA0, 0xA0, 0xE0, /* 0xDA Uacute */ - 0xE0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDB Ucircumflex */ - 0xA0, 0x00, 0xA0, 0xA0, 0xE0, /* 0xDC Udieresis */ - 0x20, 0x40, 0xA0, 0xE0, 0x40, /* 0xDD Yacute */ - 0x80, 0xE0, 0xA0, 0xE0, 0x80, /* 0xDE Thorn */ - 0x60, 0xA0, 0xC0, 0xA0, 0xC0, 0x80, /* 0xDF germandbls */ - 0x40, 0x20, 0x60, 0xA0, 0xE0, /* 0xE0 agrave */ - 0x40, 0x80, 0x60, 0xA0, 0xE0, /* 0xE1 aacute */ - 0xE0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE2 acircumflex */ - 0x60, 0xC0, 0x60, 0xA0, 0xE0, /* 0xE3 atilde */ - 0xA0, 0x00, 0x60, 0xA0, 0xE0, /* 0xE4 adieresis */ - 0x60, 0x60, 0x60, 0xA0, 0xE0, /* 0xE5 aring */ - 0x60, 0xE0, 0xE0, 0xC0, /* 0xE6 ae */ - 0x60, 0x80, 0x60, 0x20, 0x40, /* 0xE7 ccedilla */ - 0x40, 0x20, 0x60, 0xE0, 0x60, /* 0xE8 egrave */ - 0x40, 0x80, 0x60, 0xE0, 0x60, /* 0xE9 eacute */ - 0xE0, 0x00, 0x60, 0xE0, 0x60, /* 0xEA ecircumflex */ - 0xA0, 0x00, 0x60, 0xE0, 0x60, /* 0xEB edieresis */ - 0x80, 0x40, 0x80, 0x80, 0x80, /* 0xEC igrave */ - 0x40, 0x80, 0x40, 0x40, 0x40, /* 0xED iacute */ - 0xE0, 0x00, 0x40, 0x40, 0x40, /* 0xEE icircumflex */ - 0xA0, 0x00, 0x40, 0x40, 0x40, /* 0xEF idieresis */ - 0x60, 0xC0, 0x60, 0xA0, 0x60, /* 0xF0 eth */ - 0xC0, 0x60, 0xC0, 0xA0, 0xA0, /* 0xF1 ntilde */ - 0x40, 0x20, 0x40, 0xA0, 0x40, /* 0xF2 ograve */ - 0x40, 0x80, 0x40, 0xA0, 0x40, /* 0xF3 oacute */ - 0xE0, 0x00, 0x40, 0xA0, 0x40, /* 0xF4 ocircumflex */ - 0xC0, 0x60, 0x40, 0xA0, 0x40, /* 0xF5 otilde */ - 0xA0, 0x00, 0x40, 0xA0, 0x40, /* 0xF6 odieresis */ - 0x40, 0x00, 0xE0, 0x00, 0x40, /* 0xF7 divide */ - 0x60, 0xE0, 0xA0, 0xC0, /* 0xF8 oslash */ - 0x80, 0x40, 0xA0, 0xA0, 0x60, /* 0xF9 ugrave */ - 0x20, 0x40, 0xA0, 0xA0, 0x60, /* 0xFA uacute */ - 0xE0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFB ucircumflex */ - 0xA0, 0x00, 0xA0, 0xA0, 0x60, /* 0xFC udieresis */ - 0x20, 0x40, 0xA0, 0x60, 0x20, 0x40, /* 0xFD yacute */ - 0x80, 0xC0, 0xA0, 0xC0, 0x80, /* 0xFE thorn */ - 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x40, /* 0xFF ydieresis */ - 0x00, /* 0x11D gcircumflex */ - 0x60, 0xC0, 0xE0, 0xC0, 0x60, /* 0x152 OE */ - 0x60, 0xE0, 0xC0, 0xE0, /* 0x153 oe */ - 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x160 Scaron */ - 0xA0, 0x60, 0xC0, 0x60, 0xC0, /* 0x161 scaron */ - 0xA0, 0x00, 0xA0, 0x40, 0x40, /* 0x178 Ydieresis */ - 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17D Zcaron */ - 0xA0, 0xE0, 0x60, 0xC0, 0xE0, /* 0x17E zcaron */ - 0x00, /* 0xEA4 uni0EA4 */ - 0x00, /* 0x13A0 uni13A0 */ - 0x80, /* 0x2022 bullet */ - 0xA0, /* 0x2026 ellipsis */ - 0x60, 0xE0, 0xE0, 0xC0, 0x60, /* 0x20AC Euro */ - 0xE0, 0xA0, 0xA0, 0xA0, 0xE0, /* 0xFFFD uniFFFD */ -#endif /* (TOMTHUMB_USE_EXTENDED) */ - }; - - -/* {offset, width, height, advance cursor, x offset, y offset} */ -const GFXglyph TomThumbGlyphs[] PROGMEM = { - { 0, 8, 1, 2, 0, -5 }, /* 0x20 space */ - { 1, 8, 5, 2, 0, -5 }, /* 0x21 exclam */ - { 6, 8, 2, 4, 0, -5 }, /* 0x22 quotedbl */ - { 8, 8, 5, 4, 0, -5 }, /* 0x23 numbersign */ - { 13, 8, 5, 4, 0, -5 }, /* 0x24 dollar */ - { 18, 8, 5, 4, 0, -5 }, /* 0x25 percent */ - { 23, 8, 5, 4, 0, -5 }, /* 0x26 ampersand */ - { 28, 8, 2, 2, 0, -5 }, /* 0x27 quotesingle */ - { 30, 8, 5, 3, 0, -5 }, /* 0x28 parenleft */ - { 35, 8, 5, 3, 0, -5 }, /* 0x29 parenright */ - { 40, 8, 3, 4, 0, -5 }, /* 0x2A asterisk */ - { 43, 8, 3, 4, 0, -4 }, /* 0x2B plus */ - { 46, 8, 2, 3, 0, -2 }, /* 0x2C comma */ - { 48, 8, 1, 4, 0, -3 }, /* 0x2D hyphen */ - { 49, 8, 1, 2, 0, -1 }, /* 0x2E period */ - { 50, 8, 5, 4, 0, -5 }, /* 0x2F slash */ - { 55, 8, 5, 4, 0, -5 }, /* 0x30 zero */ - { 60, 8, 5, 3, 0, -5 }, /* 0x31 one */ - { 65, 8, 5, 4, 0, -5 }, /* 0x32 two */ - { 70, 8, 5, 4, 0, -5 }, /* 0x33 three */ - { 75, 8, 5, 4, 0, -5 }, /* 0x34 four */ - { 80, 8, 5, 4, 0, -5 }, /* 0x35 five */ - { 85, 8, 5, 4, 0, -5 }, /* 0x36 six */ - { 90, 8, 5, 4, 0, -5 }, /* 0x37 seven */ - { 95, 8, 5, 4, 0, -5 }, /* 0x38 eight */ - { 100, 8, 5, 4, 0, -5 }, /* 0x39 nine */ - { 105, 8, 3, 2, 0, -4 }, /* 0x3A colon */ - { 108, 8, 4, 3, 0, -4 }, /* 0x3B semicolon */ - { 112, 8, 5, 4, 0, -5 }, /* 0x3C less */ - { 117, 8, 3, 4, 0, -4 }, /* 0x3D equal */ - { 120, 8, 5, 4, 0, -5 }, /* 0x3E greater */ - { 125, 8, 5, 4, 0, -5 }, /* 0x3F question */ - { 130, 8, 5, 4, 0, -5 }, /* 0x40 at */ - { 135, 8, 5, 4, 0, -5 }, /* 0x41 A */ - { 140, 8, 5, 4, 0, -5 }, /* 0x42 B */ - { 145, 8, 5, 4, 0, -5 }, /* 0x43 C */ - { 150, 8, 5, 4, 0, -5 }, /* 0x44 D */ - { 155, 8, 5, 4, 0, -5 }, /* 0x45 E */ - { 160, 8, 5, 4, 0, -5 }, /* 0x46 F */ - { 165, 8, 5, 4, 0, -5 }, /* 0x47 G */ - { 170, 8, 5, 4, 0, -5 }, /* 0x48 H */ - { 175, 8, 5, 4, 0, -5 }, /* 0x49 I */ - { 180, 8, 5, 4, 0, -5 }, /* 0x4A J */ - { 185, 8, 5, 4, 0, -5 }, /* 0x4B K */ - { 190, 8, 5, 4, 0, -5 }, /* 0x4C L */ - { 195, 8, 5, 4, 0, -5 }, /* 0x4D M */ - { 200, 8, 5, 4, 0, -5 }, /* 0x4E N */ - { 205, 8, 5, 4, 0, -5 }, /* 0x4F O */ - { 210, 8, 5, 4, 0, -5 }, /* 0x50 P */ - { 215, 8, 5, 4, 0, -5 }, /* 0x51 Q */ - { 220, 8, 5, 4, 0, -5 }, /* 0x52 R */ - { 225, 8, 5, 4, 0, -5 }, /* 0x53 S */ - { 230, 8, 5, 4, 0, -5 }, /* 0x54 T */ - { 235, 8, 5, 4, 0, -5 }, /* 0x55 U */ - { 240, 8, 5, 4, 0, -5 }, /* 0x56 V */ - { 245, 8, 5, 4, 0, -5 }, /* 0x57 W */ - { 250, 8, 5, 4, 0, -5 }, /* 0x58 X */ - { 255, 8, 5, 4, 0, -5 }, /* 0x59 Y */ - { 260, 8, 5, 4, 0, -5 }, /* 0x5A Z */ - { 265, 8, 5, 4, 0, -5 }, /* 0x5B bracketleft */ - { 270, 8, 3, 4, 0, -4 }, /* 0x5C backslash */ - { 273, 8, 5, 4, 0, -5 }, /* 0x5D bracketright */ - { 278, 8, 2, 4, 0, -5 }, /* 0x5E asciicircum */ - { 280, 8, 1, 4, 0, -1 }, /* 0x5F underscore */ - { 281, 8, 2, 3, 0, -5 }, /* 0x60 grave */ - { 283, 8, 4, 4, 0, -4 }, /* 0x61 a */ - { 287, 8, 5, 4, 0, -5 }, /* 0x62 b */ - { 292, 8, 4, 4, 0, -4 }, /* 0x63 c */ - { 296, 8, 5, 4, 0, -5 }, /* 0x64 d */ - { 301, 8, 4, 4, 0, -4 }, /* 0x65 e */ - { 305, 8, 5, 4, 0, -5 }, /* 0x66 f */ - { 310, 8, 5, 4, 0, -4 }, /* 0x67 g */ - { 315, 8, 5, 4, 0, -5 }, /* 0x68 h */ - { 320, 8, 5, 2, 0, -5 }, /* 0x69 i */ - { 325, 8, 6, 4, 0, -5 }, /* 0x6A j */ - { 331, 8, 5, 4, 0, -5 }, /* 0x6B k */ - { 336, 8, 5, 4, 0, -5 }, /* 0x6C l */ - { 341, 8, 4, 4, 0, -4 }, /* 0x6D m */ - { 345, 8, 4, 4, 0, -4 }, /* 0x6E n */ - { 349, 8, 4, 4, 0, -4 }, /* 0x6F o */ - { 353, 8, 5, 4, 0, -4 }, /* 0x70 p */ - { 358, 8, 5, 4, 0, -4 }, /* 0x71 q */ - { 363, 8, 4, 4, 0, -4 }, /* 0x72 r */ - { 367, 8, 4, 4, 0, -4 }, /* 0x73 s */ - { 371, 8, 5, 4, 0, -5 }, /* 0x74 t */ - { 376, 8, 4, 4, 0, -4 }, /* 0x75 u */ - { 380, 8, 4, 4, 0, -4 }, /* 0x76 v */ - { 384, 8, 4, 4, 0, -4 }, /* 0x77 w */ - { 388, 8, 4, 4, 0, -4 }, /* 0x78 x */ - { 392, 8, 5, 4, 0, -4 }, /* 0x79 y */ - { 397, 8, 4, 4, 0, -4 }, /* 0x7A z */ - { 401, 8, 5, 4, 0, -5 }, /* 0x7B braceleft */ - { 406, 8, 5, 2, 0, -5 }, /* 0x7C bar */ - { 411, 8, 5, 4, 0, -5 }, /* 0x7D braceright */ - { 416, 8, 2, 4, 0, -5 }, /* 0x7E asciitilde */ -#if (TOMTHUMB_USE_EXTENDED) - { 418, 8, 5, 2, 0, -5 }, /* 0xA1 exclamdown */ - { 423, 8, 5, 4, 0, -5 }, /* 0xA2 cent */ - { 428, 8, 5, 4, 0, -5 }, /* 0xA3 sterling */ - { 433, 8, 5, 4, 0, -5 }, /* 0xA4 currency */ - { 438, 8, 5, 4, 0, -5 }, /* 0xA5 yen */ - { 443, 8, 5, 2, 0, -5 }, /* 0xA6 brokenbar */ - { 448, 8, 5, 4, 0, -5 }, /* 0xA7 section */ - { 453, 8, 1, 4, 0, -5 }, /* 0xA8 dieresis */ - { 454, 8, 3, 4, 0, -5 }, /* 0xA9 copyright */ - { 457, 8, 5, 4, 0, -5 }, /* 0xAA ordfeminine */ - { 462, 8, 3, 3, 0, -5 }, /* 0xAB guillemotleft */ - { 465, 8, 2, 4, 0, -4 }, /* 0xAC logicalnot */ - { 467, 8, 1, 3, 0, -3 }, /* 0xAD softhyphen */ - { 468, 8, 3, 4, 0, -5 }, /* 0xAE registered */ - { 471, 8, 1, 4, 0, -5 }, /* 0xAF macron */ - { 472, 8, 3, 4, 0, -5 }, /* 0xB0 degree */ - { 475, 8, 5, 4, 0, -5 }, /* 0xB1 plusminus */ - { 480, 8, 3, 4, 0, -5 }, /* 0xB2 twosuperior */ - { 483, 8, 3, 4, 0, -5 }, /* 0xB3 threesuperior */ - { 486, 8, 2, 3, 0, -5 }, /* 0xB4 acute */ - { 488, 8, 5, 4, 0, -5 }, /* 0xB5 mu */ - { 493, 8, 5, 4, 0, -5 }, /* 0xB6 paragraph */ - { 498, 8, 3, 4, 0, -4 }, /* 0xB7 periodcentered */ - { 501, 8, 3, 4, 0, -3 }, /* 0xB8 cedilla */ - { 504, 8, 3, 2, 0, -5 }, /* 0xB9 onesuperior */ - { 507, 8, 5, 4, 0, -5 }, /* 0xBA ordmasculine */ - { 512, 8, 3, 3, 0, -5 }, /* 0xBB guillemotright */ - { 515, 8, 5, 4, 0, -5 }, /* 0xBC onequarter */ - { 520, 8, 5, 4, 0, -5 }, /* 0xBD onehalf */ - { 525, 8, 5, 4, 0, -5 }, /* 0xBE threequarters */ - { 530, 8, 5, 4, 0, -5 }, /* 0xBF questiondown */ - { 535, 8, 5, 4, 0, -5 }, /* 0xC0 Agrave */ - { 540, 8, 5, 4, 0, -5 }, /* 0xC1 Aacute */ - { 545, 8, 5, 4, 0, -5 }, /* 0xC2 Acircumflex */ - { 550, 8, 5, 4, 0, -5 }, /* 0xC3 Atilde */ - { 555, 8, 5, 4, 0, -5 }, /* 0xC4 Adieresis */ - { 560, 8, 5, 4, 0, -5 }, /* 0xC5 Aring */ - { 565, 8, 5, 4, 0, -5 }, /* 0xC6 AE */ - { 570, 8, 6, 4, 0, -5 }, /* 0xC7 Ccedilla */ - { 576, 8, 5, 4, 0, -5 }, /* 0xC8 Egrave */ - { 581, 8, 5, 4, 0, -5 }, /* 0xC9 Eacute */ - { 586, 8, 5, 4, 0, -5 }, /* 0xCA Ecircumflex */ - { 591, 8, 5, 4, 0, -5 }, /* 0xCB Edieresis */ - { 596, 8, 5, 4, 0, -5 }, /* 0xCC Igrave */ - { 601, 8, 5, 4, 0, -5 }, /* 0xCD Iacute */ - { 606, 8, 5, 4, 0, -5 }, /* 0xCE Icircumflex */ - { 611, 8, 5, 4, 0, -5 }, /* 0xCF Idieresis */ - { 616, 8, 5, 4, 0, -5 }, /* 0xD0 Eth */ - { 621, 8, 5, 4, 0, -5 }, /* 0xD1 Ntilde */ - { 626, 8, 5, 4, 0, -5 }, /* 0xD2 Ograve */ - { 631, 8, 5, 4, 0, -5 }, /* 0xD3 Oacute */ - { 636, 8, 5, 4, 0, -5 }, /* 0xD4 Ocircumflex */ - { 641, 8, 5, 4, 0, -5 }, /* 0xD5 Otilde */ - { 646, 8, 5, 4, 0, -5 }, /* 0xD6 Odieresis */ - { 651, 8, 3, 4, 0, -4 }, /* 0xD7 multiply */ - { 654, 8, 5, 4, 0, -5 }, /* 0xD8 Oslash */ - { 659, 8, 5, 4, 0, -5 }, /* 0xD9 Ugrave */ - { 664, 8, 5, 4, 0, -5 }, /* 0xDA Uacute */ - { 669, 8, 5, 4, 0, -5 }, /* 0xDB Ucircumflex */ - { 674, 8, 5, 4, 0, -5 }, /* 0xDC Udieresis */ - { 679, 8, 5, 4, 0, -5 }, /* 0xDD Yacute */ - { 684, 8, 5, 4, 0, -5 }, /* 0xDE Thorn */ - { 689, 8, 6, 4, 0, -5 }, /* 0xDF germandbls */ - { 695, 8, 5, 4, 0, -5 }, /* 0xE0 agrave */ - { 700, 8, 5, 4, 0, -5 }, /* 0xE1 aacute */ - { 705, 8, 5, 4, 0, -5 }, /* 0xE2 acircumflex */ - { 710, 8, 5, 4, 0, -5 }, /* 0xE3 atilde */ - { 715, 8, 5, 4, 0, -5 }, /* 0xE4 adieresis */ - { 720, 8, 5, 4, 0, -5 }, /* 0xE5 aring */ - { 725, 8, 4, 4, 0, -4 }, /* 0xE6 ae */ - { 729, 8, 5, 4, 0, -4 }, /* 0xE7 ccedilla */ - { 734, 8, 5, 4, 0, -5 }, /* 0xE8 egrave */ - { 739, 8, 5, 4, 0, -5 }, /* 0xE9 eacute */ - { 744, 8, 5, 4, 0, -5 }, /* 0xEA ecircumflex */ - { 749, 8, 5, 4, 0, -5 }, /* 0xEB edieresis */ - { 754, 8, 5, 3, 0, -5 }, /* 0xEC igrave */ - { 759, 8, 5, 3, 0, -5 }, /* 0xED iacute */ - { 764, 8, 5, 4, 0, -5 }, /* 0xEE icircumflex */ - { 769, 8, 5, 4, 0, -5 }, /* 0xEF idieresis */ - { 774, 8, 5, 4, 0, -5 }, /* 0xF0 eth */ - { 779, 8, 5, 4, 0, -5 }, /* 0xF1 ntilde */ - { 784, 8, 5, 4, 0, -5 }, /* 0xF2 ograve */ - { 789, 8, 5, 4, 0, -5 }, /* 0xF3 oacute */ - { 794, 8, 5, 4, 0, -5 }, /* 0xF4 ocircumflex */ - { 799, 8, 5, 4, 0, -5 }, /* 0xF5 otilde */ - { 804, 8, 5, 4, 0, -5 }, /* 0xF6 odieresis */ - { 809, 8, 5, 4, 0, -5 }, /* 0xF7 divide */ - { 814, 8, 4, 4, 0, -4 }, /* 0xF8 oslash */ - { 818, 8, 5, 4, 0, -5 }, /* 0xF9 ugrave */ - { 823, 8, 5, 4, 0, -5 }, /* 0xFA uacute */ - { 828, 8, 5, 4, 0, -5 }, /* 0xFB ucircumflex */ - { 833, 8, 5, 4, 0, -5 }, /* 0xFC udieresis */ - { 838, 8, 6, 4, 0, -5 }, /* 0xFD yacute */ - { 844, 8, 5, 4, 0, -4 }, /* 0xFE thorn */ - { 849, 8, 6, 4, 0, -5 }, /* 0xFF ydieresis */ - { 855, 8, 1, 2, 0, -1 }, /* 0x11D gcircumflex */ - { 856, 8, 5, 4, 0, -5 }, /* 0x152 OE */ - { 861, 8, 4, 4, 0, -4 }, /* 0x153 oe */ - { 865, 8, 5, 4, 0, -5 }, /* 0x160 Scaron */ - { 870, 8, 5, 4, 0, -5 }, /* 0x161 scaron */ - { 875, 8, 5, 4, 0, -5 }, /* 0x178 Ydieresis */ - { 880, 8, 5, 4, 0, -5 }, /* 0x17D Zcaron */ - { 885, 8, 5, 4, 0, -5 }, /* 0x17E zcaron */ - { 890, 8, 1, 2, 0, -1 }, /* 0xEA4 uni0EA4 */ - { 891, 8, 1, 2, 0, -1 }, /* 0x13A0 uni13A0 */ - { 892, 8, 1, 2, 0, -3 }, /* 0x2022 bullet */ - { 893, 8, 1, 4, 0, -1 }, /* 0x2026 ellipsis */ - { 894, 8, 5, 4, 0, -5 }, /* 0x20AC Euro */ - { 899, 8, 5, 4, 0, -5 }, /* 0xFFFD uniFFFD */ -#endif /* (TOMTHUMB_USE_EXTENDED) */ -}; - -const GFXfont TomThumb PROGMEM = { - (uint8_t *)TomThumbBitmaps, - (GFXglyph *)TomThumbGlyphs, - 0x20, 0x7E, 6 }; diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md b/SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md deleted file mode 100644 index 972c966..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Adafruit GFX Library - -This is the core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.). It needs to be paired with a hardware-specific library for each display device we carry (to handle the lower-level functions). - -Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! - -Written by Limor Fried/Ladyada for Adafruit Industries. -BSD license, check license.txt for more information. -All text above must be included in any redistribution. - -Recent Arduino IDE releases include the Library Manager for easy installation. Otherwise, to download, click the DOWNLOAD ZIP button, uncompress and rename the uncompressed folder Adafruit_GFX. Confirm that the Adafruit_GFX folder contains Adafruit_GFX.cpp and Adafruit_GFX.h. Place the Adafruit_GFX library folder your /Libraries/ folder. You may need to create the Libraries subfolder if its your first library. Restart the IDE. - -# Useful Resources - -- Image2Code: This is a handy Java GUI utility to convert a BMP file into the array code necessary to display the image with the drawBitmap function. Check out the code at ehubin's GitHub repository: https://github.com/ehubin/Adafruit-GFX-Library/tree/master/Img2Code - -- drawXBitmap function: You can use the GIMP photo editor to save a .xbm file and use the array saved in the file to draw a bitmap with the drawXBitmap function. See the pull request here for more details: https://github.com/adafruit/Adafruit-GFX-Library/pull/31 - -- 'Fonts' folder contains bitmap fonts for use with recent (1.1 and later) Adafruit_GFX. To use a font in your Arduino sketch, #include the corresponding .h file and pass address of GFXfont struct to setFont(). Pass NULL to revert to 'classic' fixed-space bitmap font. - -- 'fontconvert' folder contains a command-line tool for converting TTF fonts to Adafruit_GFX .h format. diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile deleted file mode 100644 index 47f5a0e..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -all: fontconvert - -CC = gcc -CFLAGS = -Wall -I/usr/local/include/freetype2 -I/usr/include/freetype2 -I/usr/include -LIBS = -lfreetype - -fontconvert: fontconvert.c - $(CC) $(CFLAGS) $< $(LIBS) -o $@ - strip $@ - -clean: - rm -f fontconvert diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c deleted file mode 100644 index c6d6498..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert.c +++ /dev/null @@ -1,278 +0,0 @@ -/* -TrueType to Adafruit_GFX font converter. Derived from Peter Jakobs' -Adafruit_ftGFX fork & makefont tool, and Paul Kourany's Adafruit_mfGFX. - -NOT AN ARDUINO SKETCH. This is a command-line tool for preprocessing -fonts to be used with the Adafruit_GFX Arduino library. - -For UNIX-like systems. Outputs to stdout; redirect to header file, e.g.: - ./fontconvert ~/Library/Fonts/FreeSans.ttf 18 > FreeSans18pt7b.h - -REQUIRES FREETYPE LIBRARY. www.freetype.org - -Currently this only extracts the printable 7-bit ASCII chars of a font. -Will eventually extend with some int'l chars a la ftGFX, not there yet. -Keep 7-bit fonts around as an option in that case, more compact. - -See notes at end for glyph nomenclature & other tidbits. -*/ - -#include -#include -#include -#include -#include FT_GLYPH_H -#include "../gfxfont.h" // Adafruit_GFX font structures - -#define DPI 141 // Approximate res. of Adafruit 2.8" TFT - -// Accumulate bits for output, with periodic hexadecimal byte write -void enbit(uint8_t value) { - static uint8_t row = 0, sum = 0, bit = 0x80, firstCall = 1; - if(value) sum |= bit; // Set bit if needed - if(!(bit >>= 1)) { // Advance to next bit, end of byte reached? - if(!firstCall) { // Format output table nicely - if(++row >= 12) { // Last entry on line? - printf(",\n "); // Newline format output - row = 0; // Reset row counter - } else { // Not end of line - printf(", "); // Simple comma delim - } - } - printf("0x%02X", sum); // Write byte value - sum = 0; // Clear for next byte - bit = 0x80; // Reset bit counter - firstCall = 0; // Formatting flag - } -} - -int main(int argc, char *argv[]) { - int i, j, err, size, first=' ', last='~', - bitmapOffset = 0, x, y, byte; - char *fontName, c, *ptr; - FT_Library library; - FT_Face face; - FT_Glyph glyph; - FT_Bitmap *bitmap; - FT_BitmapGlyphRec *g; - GFXglyph *table; - uint8_t bit; - - // Parse command line. Valid syntaxes are: - // fontconvert [filename] [size] - // fontconvert [filename] [size] [last char] - // fontconvert [filename] [size] [first char] [last char] - // Unless overridden, default first and last chars are - // ' ' (space) and '~', respectively - - if(argc < 3) { - fprintf(stderr, "Usage: %s fontfile size [first] [last]\n", - argv[0]); - return 1; - } - - size = atoi(argv[2]); - - if(argc == 4) { - last = atoi(argv[3]); - } else if(argc == 5) { - first = atoi(argv[3]); - last = atoi(argv[4]); - } - - if(last < first) { - i = first; - first = last; - last = i; - } - - ptr = strrchr(argv[1], '/'); // Find last slash in filename - if(ptr) ptr++; // First character of filename (path stripped) - else ptr = argv[1]; // No path; font in local dir. - - // Allocate space for font name and glyph table - if((!(fontName = malloc(strlen(ptr) + 20))) || - (!(table = (GFXglyph *)malloc((last - first + 1) * - sizeof(GFXglyph))))) { - fprintf(stderr, "Malloc error\n"); - return 1; - } - - // Derive font table names from filename. Period (filename - // extension) is truncated and replaced with the font size & bits. - strcpy(fontName, ptr); - ptr = strrchr(fontName, '.'); // Find last period (file ext) - if(!ptr) ptr = &fontName[strlen(fontName)]; // If none, append - // Insert font size and 7/8 bit. fontName was alloc'd w/extra - // space to allow this, we're not sprintfing into Forbidden Zone. - sprintf(ptr, "%dpt%db", size, (last > 127) ? 8 : 7); - // Space and punctuation chars in name replaced w/ underscores. - for(i=0; (c=fontName[i]); i++) { - if(isspace(c) || ispunct(c)) fontName[i] = '_'; - } - - // Init FreeType lib, load font - if((err = FT_Init_FreeType(&library))) { - fprintf(stderr, "FreeType init error: %d", err); - return err; - } - if((err = FT_New_Face(library, argv[1], 0, &face))) { - fprintf(stderr, "Font load error: %d", err); - FT_Done_FreeType(library); - return err; - } - - // << 6 because '26dot6' fixed-point format - FT_Set_Char_Size(face, size << 6, 0, DPI, 0); - - // Currently all symbols from 'first' to 'last' are processed. - // Fonts may contain WAY more glyphs than that, but this code - // will need to handle encoding stuff to deal with extracting - // the right symbols, and that's not done yet. - // fprintf(stderr, "%ld glyphs\n", face->num_glyphs); - - printf("const uint8_t %sBitmaps[] PROGMEM = {\n ", fontName); - - // Process glyphs and output huge bitmap data array - for(i=first, j=0; i<=last; i++, j++) { - // MONO renderer provides clean image with perfect crop - // (no wasted pixels) via bitmap struct. - if((err = FT_Load_Char(face, i, FT_LOAD_TARGET_MONO))) { - fprintf(stderr, "Error %d loading char '%c'\n", - err, i); - continue; - } - - if((err = FT_Render_Glyph(face->glyph, - FT_RENDER_MODE_MONO))) { - fprintf(stderr, "Error %d rendering char '%c'\n", - err, i); - continue; - } - - if((err = FT_Get_Glyph(face->glyph, &glyph))) { - fprintf(stderr, "Error %d getting glyph '%c'\n", - err, i); - continue; - } - - bitmap = &face->glyph->bitmap; - g = (FT_BitmapGlyphRec *)glyph; - - // Minimal font and per-glyph information is stored to - // reduce flash space requirements. Glyph bitmaps are - // fully bit-packed; no per-scanline pad, though end of - // each character may be padded to next byte boundary - // when needed. 16-bit offset means 64K max for bitmaps, - // code currently doesn't check for overflow. (Doesn't - // check that size & offsets are within bounds either for - // that matter...please convert fonts responsibly.) - table[j].bitmapOffset = bitmapOffset; - table[j].width = bitmap->width; - table[j].height = bitmap->rows; - table[j].xAdvance = face->glyph->advance.x >> 6; - table[j].xOffset = g->left; - table[j].yOffset = 1 - g->top; - - for(y=0; y < bitmap->rows; y++) { - for(x=0;x < bitmap->width; x++) { - byte = x / 8; - bit = 0x80 >> (x & 7); - enbit(bitmap->buffer[ - y * bitmap->pitch + byte] & bit); - } - } - - // Pad end of char bitmap to next byte boundary if needed - int n = (bitmap->width * bitmap->rows) & 7; - if(n) { // Pixel count not an even multiple of 8? - n = 8 - n; // # bits to next multiple - while(n--) enbit(0); - } - bitmapOffset += (bitmap->width * bitmap->rows + 7) / 8; - - FT_Done_Glyph(glyph); - } - - printf(" };\n\n"); // End bitmap array - - // Output glyph attributes table (one per character) - printf("const GFXglyph %sGlyphs[] PROGMEM = {\n", fontName); - for(i=first, j=0; i<=last; i++, j++) { - printf(" { %5d, %3d, %3d, %3d, %4d, %4d }", - table[j].bitmapOffset, - table[j].width, - table[j].height, - table[j].xAdvance, - table[j].xOffset, - table[j].yOffset); - if(i < last) { - printf(", // 0x%02X", i); - if((i >= ' ') && (i <= '~')) { - printf(" '%c'", i); - } - putchar('\n'); - } - } - printf(" }; // 0x%02X", last); - if((last >= ' ') && (last <= '~')) printf(" '%c'", last); - printf("\n\n"); - - // Output font structure - printf("const GFXfont %s PROGMEM = {\n", fontName); - printf(" (uint8_t *)%sBitmaps,\n", fontName); - printf(" (GFXglyph *)%sGlyphs,\n", fontName); - printf(" 0x%02X, 0x%02X, %ld };\n\n", - first, last, face->size->metrics.height >> 6); - printf("// Approx. %d bytes\n", - bitmapOffset + (last - first + 1) * 7 + 7); - // Size estimate is based on AVR struct and pointer sizes; - // actual size may vary. - - FT_Done_FreeType(library); - - return 0; -} - -/* ------------------------------------------------------------------------- - -Character metrics are slightly different from classic GFX & ftGFX. -In classic GFX: cursor position is the upper-left pixel of each 5x7 -character; lower extent of most glyphs (except those w/descenders) -is +6 pixels in Y direction. -W/new GFX fonts: cursor position is on baseline, where baseline is -'inclusive' (containing the bottom-most row of pixels in most symbols, -except those with descenders; ftGFX is one pixel lower). - -Cursor Y will be moved automatically when switching between classic -and new fonts. If you switch fonts, any print() calls will continue -along the same baseline. - - ...........#####.. -- yOffset - ..........######.. - ..........######.. - .........#######.. - ........#########. - * = Cursor pos. ........#########. - .......##########. - ......#####..####. - ......#####..####. - *.#.. .....#####...####. - .#.#. ....############## - #...# ...############### - #...# ...############### - ##### ..#####......##### - #...# .#####.......##### -====== #...# ====== #*###.........#### ======= Baseline - || xOffset - -glyph->xOffset and yOffset are pixel offsets, in GFX coordinate space -(+Y is down), from the cursor position to the top-left pixel of the -glyph bitmap. i.e. yOffset is typically negative, xOffset is typically -zero but a few glyphs will have other values (even negative xOffsets -sometimes, totally normal). glyph->xAdvance is the distance to move -the cursor on the X axis after drawing the corresponding symbol. - -There's also some changes with regard to 'background' color and new GFX -fonts (classic fonts unchanged). See Adafruit_GFX.cpp for explanation. -*/ diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md deleted file mode 100644 index 1932841..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/fontconvert_win.md +++ /dev/null @@ -1,88 +0,0 @@ -### A short guide to use fontconvert.c to create your own fonts using MinGW. - -#### STEP 1: INSTALL MinGW - -Install MinGW (Minimalist GNU for Windows) from [MinGW.org](http://www.mingw.org/). -Please read carefully the instructions found on [Getting started page](http://www.mingw.org/wiki/Getting_Started). -I suggest installing with the "Graphical User Interface Installer". -To complete your initial installation you should further install some "packages". -For our purpose you should only install the "Basic Setup" packages. -To do that: - -1. Open the MinGW Installation Manager -2. From the left panel click "Basic Setup". -3. On the right panel choose "mingw32-base", "mingw-gcc-g++", "mingw-gcc-objc" and "msys-base" -and click "Mark for installation" -4. From the Menu click "Installation" and then "Apply changes". In the pop-up window select "Apply". - - -#### STEP 2: INSTALL Freetype Library - -To read about the freetype project visit [freetype.org](https://www.freetype.org/). -To Download the latest version of freetype go to [download page](http://download.savannah.gnu.org/releases/freetype/) -and choose "freetype-2.7.tar.gz" file (or a newer version if available). -To avoid long cd commands later in the command prompt, I suggest you unzip the file in the C:\ directory. -(I also renamed the folder to "ft27") -Before you build the library it's good to read these articles: -* [Using MSYS with MinGW](http://www.mingw.org/wiki/MSYS) -* [Installation and Use of Supplementary Libraries with MinGW](http://www.mingw.org/wiki/LibraryPathHOWTO) -* [Include Path](http://www.mingw.org/wiki/IncludePathHOWTO) - -Inside the unzipped folder there is another folder named "docs". Open it and read the INSTALL.UNIX (using notepad). -Pay attention to paragraph 3 (Build and Install the Library). So, let's begin the installation. -To give the appropriate commands we will use the MSYS command prompt (not cmd.exe of windows) which is UNIX like. -Follow the path C:\MinGW\msys\1.0 and double click "msys.bat". The command prompt environment appears. -Enter "ft27" directory using the cd commands: -``` -cd /c -cd ft27 -``` - -and then type one by one the commands: -``` -./configure --prefix=/mingw -make -make install -``` -Once you're finished, go inside "C:\MinGW\include" and there should be a new folder named "freetype2". -That, hopefully, means that you have installed the library correctly !! - -#### STEP 3: Build fontconvert.c - -Before proceeding I suggest you make a copy of Adafruit_GFX_library folder in C:\ directory. -Then, inside "fontconvert" folder open the "makefile" with an editor ( I used notepad++). -Change the commands so in the end the program looks like : -``` -all: fontconvert - -CC = gcc -CFLAGS = -Wall -I c:/mingw/include/freetype2 -LIBS = -lfreetype - -fontconvert: fontconvert.c - $(CC) $(CFLAGS) $< $(LIBS) -o $@ - -clean: - rm -f fontconvert -``` -Go back in the command prompt and with a cd command enter the fontconvert directory. -``` -cd /c/adafruit_gfx_library\fontconvert -``` -Give the command: -``` -make -``` -This command will, eventually, create a "fontconvert.exe" file inside fontconvert directory. - -#### STEP 4: Create your own font header files - -Now that you have an executable file, you can use it to create your own fonts to work with Adafruit GFX lib. -So, if we suppose that you already have a .ttf file with your favorite fonts, jump to the command prompt and type: -``` -./fontconvert yourfonts.ttf 9 > yourfonts9pt7b.h -``` -You can read more details at: [learn.adafruit](https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts). - -Taraaaaaammm !! you've just created your new font header file. Put it inside the "Fonts" folder, grab a cup of coffee -and start playing with your Arduino (or whatever else ....)+ display module project. diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh b/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh deleted file mode 100755 index 35f07ea..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/fontconvert/makefonts.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# Ugly little Bash script, generates a set of .h files for GFX using -# GNU FreeFont sources. There are three fonts: 'Mono' (Courier-like), -# 'Sans' (Helvetica-like) and 'Serif' (Times-like); four styles: regular, -# bold, oblique or italic, and bold+oblique or bold+italic; and four -# sizes: 9, 12, 18 and 24 point. No real error checking or anything, -# this just powers through all the combinations, calling the fontconvert -# utility and redirecting the output to a .h file for each combo. - -# Adafruit_GFX repository does not include the source outline fonts -# (huge zipfile, different license) but they're easily acquired: -# http://savannah.gnu.org/projects/freefont/ - -convert=./fontconvert -inpath=~/Desktop/freefont/ -outpath=../Fonts/ -fonts=(FreeMono FreeSans FreeSerif) -styles=("" Bold Italic BoldItalic Oblique BoldOblique) -sizes=(9 12 18 24) - -for f in ${fonts[*]} -do - for index in ${!styles[*]} - do - st=${styles[$index]} - for si in ${sizes[*]} - do - infile=$inpath$f$st".ttf" - if [ -f $infile ] # Does source combination exist? - then - outfile=$outpath$f$st$si"pt7b.h" -# printf "%s %s %s > %s\n" $convert $infile $si $outfile - $convert $infile $si > $outfile - fi - done - done -done diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h b/SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h deleted file mode 100644 index 07381ed..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/gfxfont.h +++ /dev/null @@ -1,24 +0,0 @@ -// Font structures for newer Adafruit_GFX (1.1 and later). -// Example fonts are included in 'Fonts' directory. -// To use a font in your Arduino sketch, #include the corresponding .h -// file and pass address of GFXfont struct to setFont(). Pass NULL to -// revert to 'classic' fixed-space bitmap font. - -#ifndef _GFXFONT_H_ -#define _GFXFONT_H_ - -typedef struct { // Data stored PER GLYPH - uint16_t bitmapOffset; // Pointer into GFXfont->bitmap - uint8_t width, height; // Bitmap dimensions in pixels - uint8_t xAdvance; // Distance to advance cursor (x axis) - int8_t xOffset, yOffset; // Dist from cursor pos to UL corner -} GFXglyph; - -typedef struct { // Data stored for FONT AS A WHOLE: - uint8_t *bitmap; // Glyph bitmaps, concatenated - GFXglyph *glyph; // Glyph array - uint8_t first, last; // ASCII extents - uint8_t yAdvance; // Newline distance (y axis) -} GFXfont; - -#endif // _GFXFONT_H_ diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c b/SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c deleted file mode 100644 index 6f88bd2..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/glcdfont.c +++ /dev/null @@ -1,276 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. - -#ifndef FONT5X7_H -#define FONT5X7_H - -#ifdef __AVR__ - #include - #include -#elif defined(ESP8266) - #include -#else - #define PROGMEM -#endif - -// Standard ASCII 5x7 font - -static const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, - 0x00, 0x18, 0x3C, 0x18, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, - 0x00, 0x18, 0x24, 0x18, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, - 0x30, 0x48, 0x3A, 0x06, 0x0E, - 0x26, 0x29, 0x79, 0x29, 0x26, - 0x40, 0x7F, 0x05, 0x05, 0x07, - 0x40, 0x7F, 0x05, 0x25, 0x3F, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, - 0x14, 0x22, 0x7F, 0x22, 0x14, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, - 0x06, 0x09, 0x7F, 0x01, 0x7F, - 0x00, 0x66, 0x89, 0x95, 0x6A, - 0x60, 0x60, 0x60, 0x60, 0x60, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, - 0x08, 0x04, 0x7E, 0x04, 0x08, - 0x10, 0x20, 0x7E, 0x20, 0x10, - 0x08, 0x08, 0x2A, 0x1C, 0x08, - 0x08, 0x1C, 0x2A, 0x08, 0x08, - 0x1E, 0x10, 0x10, 0x10, 0x10, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, - 0x30, 0x38, 0x3E, 0x38, 0x30, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, - 0x23, 0x13, 0x08, 0x64, 0x62, - 0x36, 0x49, 0x56, 0x20, 0x50, - 0x00, 0x08, 0x07, 0x03, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, - 0x08, 0x08, 0x3E, 0x08, 0x08, - 0x00, 0x80, 0x70, 0x30, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, - 0x00, 0x00, 0x60, 0x60, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, - 0x3E, 0x51, 0x49, 0x45, 0x3E, - 0x00, 0x42, 0x7F, 0x40, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, - 0x21, 0x41, 0x49, 0x4D, 0x33, - 0x18, 0x14, 0x12, 0x7F, 0x10, - 0x27, 0x45, 0x45, 0x45, 0x39, - 0x3C, 0x4A, 0x49, 0x49, 0x31, - 0x41, 0x21, 0x11, 0x09, 0x07, - 0x36, 0x49, 0x49, 0x49, 0x36, - 0x46, 0x49, 0x49, 0x29, 0x1E, - 0x00, 0x00, 0x14, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, - 0x14, 0x14, 0x14, 0x14, 0x14, - 0x00, 0x41, 0x22, 0x14, 0x08, - 0x02, 0x01, 0x59, 0x09, 0x06, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, - 0x7C, 0x12, 0x11, 0x12, 0x7C, - 0x7F, 0x49, 0x49, 0x49, 0x36, - 0x3E, 0x41, 0x41, 0x41, 0x22, - 0x7F, 0x41, 0x41, 0x41, 0x3E, - 0x7F, 0x49, 0x49, 0x49, 0x41, - 0x7F, 0x09, 0x09, 0x09, 0x01, - 0x3E, 0x41, 0x41, 0x51, 0x73, - 0x7F, 0x08, 0x08, 0x08, 0x7F, - 0x00, 0x41, 0x7F, 0x41, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, - 0x7F, 0x08, 0x14, 0x22, 0x41, - 0x7F, 0x40, 0x40, 0x40, 0x40, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, - 0x7F, 0x04, 0x08, 0x10, 0x7F, - 0x3E, 0x41, 0x41, 0x41, 0x3E, - 0x7F, 0x09, 0x09, 0x09, 0x06, - 0x3E, 0x41, 0x51, 0x21, 0x5E, - 0x7F, 0x09, 0x19, 0x29, 0x46, - 0x26, 0x49, 0x49, 0x49, 0x32, - 0x03, 0x01, 0x7F, 0x01, 0x03, - 0x3F, 0x40, 0x40, 0x40, 0x3F, - 0x1F, 0x20, 0x40, 0x20, 0x1F, - 0x3F, 0x40, 0x38, 0x40, 0x3F, - 0x63, 0x14, 0x08, 0x14, 0x63, - 0x03, 0x04, 0x78, 0x04, 0x03, - 0x61, 0x59, 0x49, 0x4D, 0x43, - 0x00, 0x7F, 0x41, 0x41, 0x41, - 0x02, 0x04, 0x08, 0x10, 0x20, - 0x00, 0x41, 0x41, 0x41, 0x7F, - 0x04, 0x02, 0x01, 0x02, 0x04, - 0x40, 0x40, 0x40, 0x40, 0x40, - 0x00, 0x03, 0x07, 0x08, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, - 0x7F, 0x28, 0x44, 0x44, 0x38, - 0x38, 0x44, 0x44, 0x44, 0x28, - 0x38, 0x44, 0x44, 0x28, 0x7F, - 0x38, 0x54, 0x54, 0x54, 0x18, - 0x00, 0x08, 0x7E, 0x09, 0x02, - 0x18, 0xA4, 0xA4, 0x9C, 0x78, - 0x7F, 0x08, 0x04, 0x04, 0x78, - 0x00, 0x44, 0x7D, 0x40, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, - 0x7C, 0x08, 0x04, 0x04, 0x78, - 0x38, 0x44, 0x44, 0x44, 0x38, - 0xFC, 0x18, 0x24, 0x24, 0x18, - 0x18, 0x24, 0x24, 0x18, 0xFC, - 0x7C, 0x08, 0x04, 0x04, 0x08, - 0x48, 0x54, 0x54, 0x54, 0x24, - 0x04, 0x04, 0x3F, 0x44, 0x24, - 0x3C, 0x40, 0x40, 0x20, 0x7C, - 0x1C, 0x20, 0x40, 0x20, 0x1C, - 0x3C, 0x40, 0x30, 0x40, 0x3C, - 0x44, 0x28, 0x10, 0x28, 0x44, - 0x4C, 0x90, 0x90, 0x90, 0x7C, - 0x44, 0x64, 0x54, 0x4C, 0x44, - 0x00, 0x08, 0x36, 0x41, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, - 0x3C, 0x26, 0x23, 0x26, 0x3C, - 0x1E, 0xA1, 0xA1, 0x61, 0x12, - 0x3A, 0x40, 0x40, 0x20, 0x7A, - 0x38, 0x54, 0x54, 0x55, 0x59, - 0x21, 0x55, 0x55, 0x79, 0x41, - 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut - 0x21, 0x55, 0x54, 0x78, 0x40, - 0x20, 0x54, 0x55, 0x79, 0x40, - 0x0C, 0x1E, 0x52, 0x72, 0x12, - 0x39, 0x55, 0x55, 0x55, 0x59, - 0x39, 0x54, 0x54, 0x54, 0x59, - 0x39, 0x55, 0x54, 0x54, 0x58, - 0x00, 0x00, 0x45, 0x7C, 0x41, - 0x00, 0x02, 0x45, 0x7D, 0x42, - 0x00, 0x01, 0x45, 0x7C, 0x40, - 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut - 0xF0, 0x28, 0x25, 0x28, 0xF0, - 0x7C, 0x54, 0x55, 0x45, 0x00, - 0x20, 0x54, 0x54, 0x7C, 0x54, - 0x7C, 0x0A, 0x09, 0x7F, 0x49, - 0x32, 0x49, 0x49, 0x49, 0x32, - 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut - 0x32, 0x4A, 0x48, 0x48, 0x30, - 0x3A, 0x41, 0x41, 0x21, 0x7A, - 0x3A, 0x42, 0x40, 0x20, 0x78, - 0x00, 0x9D, 0xA0, 0xA0, 0x7D, - 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut - 0x3D, 0x40, 0x40, 0x40, 0x3D, - 0x3C, 0x24, 0xFF, 0x24, 0x24, - 0x48, 0x7E, 0x49, 0x43, 0x66, - 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, - 0xFF, 0x09, 0x29, 0xF6, 0x20, - 0xC0, 0x88, 0x7E, 0x09, 0x03, - 0x20, 0x54, 0x54, 0x79, 0x41, - 0x00, 0x00, 0x44, 0x7D, 0x41, - 0x30, 0x48, 0x48, 0x4A, 0x32, - 0x38, 0x40, 0x40, 0x22, 0x7A, - 0x00, 0x7A, 0x0A, 0x0A, 0x72, - 0x7D, 0x0D, 0x19, 0x31, 0x7D, - 0x26, 0x29, 0x29, 0x2F, 0x28, - 0x26, 0x29, 0x29, 0x29, 0x26, - 0x30, 0x48, 0x4D, 0x40, 0x20, - 0x38, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x38, - 0x2F, 0x10, 0xC8, 0xAC, 0xBA, - 0x2F, 0x10, 0x28, 0x34, 0xFA, - 0x00, 0x00, 0x7B, 0x00, 0x00, - 0x08, 0x14, 0x2A, 0x14, 0x22, - 0x22, 0x14, 0x2A, 0x14, 0x08, - 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code - 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block - 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block - 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x10, 0x10, 0x10, 0xFF, 0x00, - 0x14, 0x14, 0x14, 0xFF, 0x00, - 0x10, 0x10, 0xFF, 0x00, 0xFF, - 0x10, 0x10, 0xF0, 0x10, 0xF0, - 0x14, 0x14, 0x14, 0xFC, 0x00, - 0x14, 0x14, 0xF7, 0x00, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x14, 0x14, 0xF4, 0x04, 0xFC, - 0x14, 0x14, 0x17, 0x10, 0x1F, - 0x10, 0x10, 0x1F, 0x10, 0x1F, - 0x14, 0x14, 0x14, 0x1F, 0x00, - 0x10, 0x10, 0x10, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x1F, 0x10, - 0x10, 0x10, 0x10, 0x1F, 0x10, - 0x10, 0x10, 0x10, 0xF0, 0x10, - 0x00, 0x00, 0x00, 0xFF, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x10, 0xFF, 0x10, - 0x00, 0x00, 0x00, 0xFF, 0x14, - 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x00, 0x00, 0x1F, 0x10, 0x17, - 0x00, 0x00, 0xFC, 0x04, 0xF4, - 0x14, 0x14, 0x17, 0x10, 0x17, - 0x14, 0x14, 0xF4, 0x04, 0xF4, - 0x00, 0x00, 0xFF, 0x00, 0xF7, - 0x14, 0x14, 0x14, 0x14, 0x14, - 0x14, 0x14, 0xF7, 0x00, 0xF7, - 0x14, 0x14, 0x14, 0x17, 0x14, - 0x10, 0x10, 0x1F, 0x10, 0x1F, - 0x14, 0x14, 0x14, 0xF4, 0x14, - 0x10, 0x10, 0xF0, 0x10, 0xF0, - 0x00, 0x00, 0x1F, 0x10, 0x1F, - 0x00, 0x00, 0x00, 0x1F, 0x14, - 0x00, 0x00, 0x00, 0xFC, 0x14, - 0x00, 0x00, 0xF0, 0x10, 0xF0, - 0x10, 0x10, 0xFF, 0x10, 0xFF, - 0x14, 0x14, 0x14, 0xFF, 0x14, - 0x10, 0x10, 0x10, 0x1F, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0x10, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x38, 0x44, 0x44, 0x38, 0x44, - 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta - 0x7E, 0x02, 0x02, 0x06, 0x06, - 0x02, 0x7E, 0x02, 0x7E, 0x02, - 0x63, 0x55, 0x49, 0x41, 0x63, - 0x38, 0x44, 0x44, 0x3C, 0x04, - 0x40, 0x7E, 0x20, 0x1E, 0x20, - 0x06, 0x02, 0x7E, 0x02, 0x02, - 0x99, 0xA5, 0xE7, 0xA5, 0x99, - 0x1C, 0x2A, 0x49, 0x2A, 0x1C, - 0x4C, 0x72, 0x01, 0x72, 0x4C, - 0x30, 0x4A, 0x4D, 0x4D, 0x30, - 0x30, 0x48, 0x78, 0x48, 0x30, - 0xBC, 0x62, 0x5A, 0x46, 0x3D, - 0x3E, 0x49, 0x49, 0x49, 0x00, - 0x7E, 0x01, 0x01, 0x01, 0x7E, - 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, - 0x44, 0x44, 0x5F, 0x44, 0x44, - 0x40, 0x51, 0x4A, 0x44, 0x40, - 0x40, 0x44, 0x4A, 0x51, 0x40, - 0x00, 0x00, 0xFF, 0x01, 0x03, - 0xE0, 0x80, 0xFF, 0x00, 0x00, - 0x08, 0x08, 0x6B, 0x6B, 0x08, - 0x36, 0x12, 0x36, 0x24, 0x36, - 0x06, 0x0F, 0x09, 0x0F, 0x06, - 0x00, 0x00, 0x18, 0x18, 0x00, - 0x00, 0x00, 0x10, 0x10, 0x00, - 0x30, 0x40, 0xFF, 0x01, 0x01, - 0x00, 0x1F, 0x01, 0x01, 0x1E, - 0x00, 0x19, 0x1D, 0x17, 0x12, - 0x00, 0x3C, 0x3C, 0x3C, 0x3C, - 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP -}; -#endif // FONT5X7_H diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties b/SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties deleted file mode 100644 index d535336..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=Adafruit GFX Library -version=1.1.9 -author=Adafruit -maintainer=Adafruit -sentence=Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from. -paragraph=Install this library in addition to the display library for your hardware. -category=Display -url=https://github.com/adafruit/Adafruit-GFX-Library -architectures=* diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt b/SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt deleted file mode 100644 index 7492e93..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_GFX/license.txt +++ /dev/null @@ -1,24 +0,0 @@ -Software License Agreement (BSD License) - -Copyright (c) 2012 Adafruit Industries. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index f0e2614..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ -Thank you for opening an issue on an Adafruit Arduino library repository. To -improve the speed of resolution please review the following guidelines and -common troubleshooting steps below before creating the issue: - -- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use - the forums at http://forums.adafruit.com to ask questions and troubleshoot why - something isn't working as expected. In many cases the problem is a common issue - that you will more quickly receive help from the forum community. GitHub issues - are meant for known defects in the code. If you don't know if there is a defect - in the code then start with troubleshooting on the forum first. - -- **If following a tutorial or guide be sure you didn't miss a step.** Carefully - check all of the steps and commands to run have been followed. Consult the - forum if you're unsure or have questions about steps in a guide/tutorial. - -- **For Arduino projects check these very common issues to ensure they don't apply**: - - - For uploading sketches or communicating with the board make sure you're using - a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes - very hard to tell the difference between a data and charge cable! Try using the - cable with other devices or swapping to another cable to confirm it is not - the problem. - - - **Be sure you are supplying adequate power to the board.** Check the specs of - your board and plug in an external power supply. In many cases just - plugging a board into your computer is not enough to power it and other - peripherals. - - - **Double check all soldering joints and connections.** Flakey connections - cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints. - - - **Ensure you are using an official Arduino or Adafruit board.** We can't - guarantee a clone board will have the same functionality and work as expected - with this code and don't support them. - -If you're sure this issue is a defect in the code and checked the steps above -please fill in the following fields to provide enough troubleshooting information. -You may delete the guideline and text above to just leave the following details: - -- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE** - -- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO - VERSION HERE** - -- List the steps to reproduce the problem below (if possible attach a sketch or - copy the sketch code in too): **LIST REPRO STEPS BELOW** diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 7b641eb..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,26 +0,0 @@ -Thank you for creating a pull request to contribute to Adafruit's GitHub code! -Before you open the request please review the following guidelines and tips to -help it be more easily integrated: - -- **Describe the scope of your change--i.e. what the change does and what parts - of the code were modified.** This will help us understand any risks of integrating - the code. - -- **Describe any known limitations with your change.** For example if the change - doesn't apply to a supported platform of the library please mention it. - -- **Please run any tests or examples that can exercise your modified code.** We - strive to not break users of the code and running tests/examples helps with this - process. - -Thank you again for contributing! We will try to test and integrate the change -as soon as we can, but be aware we have many GitHub repositories to manage and -can't immediately respond to every request. There is no need to bump or check in -on a pull request (it will clutter the discussion of the request). - -Also don't be worried if the request is closed or not integrated--sometimes the -priorities of Adafruit's GitHub code (education, ease of use) might not match the -priorities of the pull request. Don't fret, the open source community thrives on -forks and GitHub makes it easy to keep your changes in a forked repo. - -After reviewing the guidelines above you can delete this text from the pull request. diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp deleted file mode 100755 index d6cf251..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.cpp +++ /dev/null @@ -1,736 +0,0 @@ -/*************************************************** - This is a library for the Adafruit 1.8" SPI display. - -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include "Adafruit_ST7735.h" -#include -#include "pins_arduino.h" -#include "wiring_private.h" -#include - -inline uint16_t swapcolor(uint16_t x) { - return (x << 11) | (x & 0x07E0) | (x >> 11); -} - -#if defined (SPI_HAS_TRANSACTION) - static SPISettings mySPISettings; -#elif defined (__AVR__) - static uint8_t SPCRbackup; - static uint8_t mySPCR; -#endif - - - -// Constructor when using software SPI. All output pins are configurable. -Adafruit_ST7735::Adafruit_ST7735(int8_t cs, int8_t rs, int8_t sid, int8_t sclk, int8_t rst) - : Adafruit_GFX(ST7735_TFTWIDTH, ST7735_TFTHEIGHT_18) -{ - _cs = cs; - _rs = rs; - _sid = sid; - _sclk = sclk; - _rst = rst; - hwSPI = false; -} - - -// Constructor when using hardware SPI. Faster, but must use SPI pins -// specific to each board type (e.g. 11,13 for Uno, 51,52 for Mega, etc.) -Adafruit_ST7735::Adafruit_ST7735(int8_t cs, int8_t rs, int8_t rst) - : Adafruit_GFX(ST7735_TFTWIDTH, ST7735_TFTHEIGHT_18) { - _cs = cs; - _rs = rs; - _rst = rst; - hwSPI = true; - _sid = _sclk = 0; -} - -#if defined(CORE_TEENSY) && !defined(__AVR__) -#define __AVR__ -#endif - -inline void Adafruit_ST7735::spiwrite(uint8_t c) { - - //Serial.println(c, HEX); - - if (hwSPI) { -#if defined (SPI_HAS_TRANSACTION) - SPI.transfer(c); -#elif defined (__AVR__) - SPCRbackup = SPCR; - SPCR = mySPCR; - SPI.transfer(c); - SPCR = SPCRbackup; -// SPDR = c; -// while(!(SPSR & _BV(SPIF))); -#elif defined (__arm__) - SPI.setClockDivider(21); //4MHz - SPI.setDataMode(SPI_MODE0); - SPI.transfer(c); -#endif - } else { - // Fast SPI bitbang swiped from LPD8806 library - for(uint8_t bit = 0x80; bit; bit >>= 1) { - if(c & bit) *dataport |= datapinmask; - else *dataport &= ~datapinmask; - *clkport |= clkpinmask; - *clkport &= ~clkpinmask; - } - } -} - - -void Adafruit_ST7735::writecommand(uint8_t c) { -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport &= ~rspinmask; - *csport &= ~cspinmask; - - //Serial.print("C "); - spiwrite(c); - - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - - -void Adafruit_ST7735::writedata(uint8_t c) { -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - - //Serial.print("D "); - spiwrite(c); - - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - -// Rather than a bazillion writecommand() and writedata() calls, screen -// initialization commands and arguments are organized in these tables -// stored in PROGMEM. The table may look bulky, but that's mostly the -// formatting -- storage-wise this is hundreds of bytes more compact -// than the equivalent code. Companion function follows. -#define DELAY 0x80 -static const uint8_t PROGMEM - Bcmd[] = { // Initialization commands for 7735B screens - 18, // 18 commands in list: - ST7735_SWRESET, DELAY, // 1: Software reset, no args, w/delay - 50, // 50 ms delay - ST7735_SLPOUT , DELAY, // 2: Out of sleep mode, no args, w/delay - 255, // 255 = 500 ms delay - ST7735_COLMOD , 1+DELAY, // 3: Set color mode, 1 arg + delay: - 0x05, // 16-bit color - 10, // 10 ms delay - ST7735_FRMCTR1, 3+DELAY, // 4: Frame rate control, 3 args + delay: - 0x00, // fastest refresh - 0x06, // 6 lines front porch - 0x03, // 3 lines back porch - 10, // 10 ms delay - ST7735_MADCTL , 1 , // 5: Memory access ctrl (directions), 1 arg: - 0x08, // Row addr/col addr, bottom to top refresh - ST7735_DISSET5, 2 , // 6: Display settings #5, 2 args, no delay: - 0x15, // 1 clk cycle nonoverlap, 2 cycle gate - // rise, 3 cycle osc equalize - 0x02, // Fix on VTL - ST7735_INVCTR , 1 , // 7: Display inversion control, 1 arg: - 0x0, // Line inversion - ST7735_PWCTR1 , 2+DELAY, // 8: Power control, 2 args + delay: - 0x02, // GVDD = 4.7V - 0x70, // 1.0uA - 10, // 10 ms delay - ST7735_PWCTR2 , 1 , // 9: Power control, 1 arg, no delay: - 0x05, // VGH = 14.7V, VGL = -7.35V - ST7735_PWCTR3 , 2 , // 10: Power control, 2 args, no delay: - 0x01, // Opamp current small - 0x02, // Boost frequency - ST7735_VMCTR1 , 2+DELAY, // 11: Power control, 2 args + delay: - 0x3C, // VCOMH = 4V - 0x38, // VCOML = -1.1V - 10, // 10 ms delay - ST7735_PWCTR6 , 2 , // 12: Power control, 2 args, no delay: - 0x11, 0x15, - ST7735_GMCTRP1,16 , // 13: Magical unicorn dust, 16 args, no delay: - 0x09, 0x16, 0x09, 0x20, // (seriously though, not sure what - 0x21, 0x1B, 0x13, 0x19, // these config values represent) - 0x17, 0x15, 0x1E, 0x2B, - 0x04, 0x05, 0x02, 0x0E, - ST7735_GMCTRN1,16+DELAY, // 14: Sparkles and rainbows, 16 args + delay: - 0x0B, 0x14, 0x08, 0x1E, // (ditto) - 0x22, 0x1D, 0x18, 0x1E, - 0x1B, 0x1A, 0x24, 0x2B, - 0x06, 0x06, 0x02, 0x0F, - 10, // 10 ms delay - ST7735_CASET , 4 , // 15: Column addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 2 - 0x00, 0x81, // XEND = 129 - ST7735_RASET , 4 , // 16: Row addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 1 - 0x00, 0x81, // XEND = 160 - ST7735_NORON , DELAY, // 17: Normal display on, no args, w/delay - 10, // 10 ms delay - ST7735_DISPON , DELAY, // 18: Main screen turn on, no args, w/delay - 255 }, // 255 = 500 ms delay - - Rcmd1[] = { // Init for 7735R, part 1 (red or green tab) - 15, // 15 commands in list: - ST7735_SWRESET, DELAY, // 1: Software reset, 0 args, w/delay - 150, // 150 ms delay - ST7735_SLPOUT , DELAY, // 2: Out of sleep mode, 0 args, w/delay - 255, // 500 ms delay - ST7735_FRMCTR1, 3 , // 3: Frame rate ctrl - normal mode, 3 args: - 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) - ST7735_FRMCTR2, 3 , // 4: Frame rate control - idle mode, 3 args: - 0x01, 0x2C, 0x2D, // Rate = fosc/(1x2+40) * (LINE+2C+2D) - ST7735_FRMCTR3, 6 , // 5: Frame rate ctrl - partial mode, 6 args: - 0x01, 0x2C, 0x2D, // Dot inversion mode - 0x01, 0x2C, 0x2D, // Line inversion mode - ST7735_INVCTR , 1 , // 6: Display inversion ctrl, 1 arg, no delay: - 0x07, // No inversion - ST7735_PWCTR1 , 3 , // 7: Power control, 3 args, no delay: - 0xA2, - 0x02, // -4.6V - 0x84, // AUTO mode - ST7735_PWCTR2 , 1 , // 8: Power control, 1 arg, no delay: - 0xC5, // VGH25 = 2.4C VGSEL = -10 VGH = 3 * AVDD - ST7735_PWCTR3 , 2 , // 9: Power control, 2 args, no delay: - 0x0A, // Opamp current small - 0x00, // Boost frequency - ST7735_PWCTR4 , 2 , // 10: Power control, 2 args, no delay: - 0x8A, // BCLK/2, Opamp current small & Medium low - 0x2A, - ST7735_PWCTR5 , 2 , // 11: Power control, 2 args, no delay: - 0x8A, 0xEE, - ST7735_VMCTR1 , 1 , // 12: Power control, 1 arg, no delay: - 0x0E, - ST7735_INVOFF , 0 , // 13: Don't invert display, no args, no delay - ST7735_MADCTL , 1 , // 14: Memory access control (directions), 1 arg: - 0xC8, // row addr/col addr, bottom to top refresh - ST7735_COLMOD , 1 , // 15: set color mode, 1 arg, no delay: - 0x05 }, // 16-bit color - - Rcmd2green[] = { // Init for 7735R, part 2 (green tab only) - 2, // 2 commands in list: - ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: - 0x00, 0x02, // XSTART = 0 - 0x00, 0x7F+0x02, // XEND = 127 - ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: - 0x00, 0x01, // XSTART = 0 - 0x00, 0x9F+0x01 }, // XEND = 159 - Rcmd2red[] = { // Init for 7735R, part 2 (red tab only) - 2, // 2 commands in list: - ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x7F, // XEND = 127 - ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x9F }, // XEND = 159 - - Rcmd2green144[] = { // Init for 7735R, part 2 (green 1.44 tab) - 2, // 2 commands in list: - ST7735_CASET , 4 , // 1: Column addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x7F, // XEND = 127 - ST7735_RASET , 4 , // 2: Row addr set, 4 args, no delay: - 0x00, 0x00, // XSTART = 0 - 0x00, 0x7F }, // XEND = 127 - - Rcmd3[] = { // Init for 7735R, part 3 (red or green tab) - 4, // 4 commands in list: - ST7735_GMCTRP1, 16 , // 1: Magical unicorn dust, 16 args, no delay: - 0x02, 0x1c, 0x07, 0x12, - 0x37, 0x32, 0x29, 0x2d, - 0x29, 0x25, 0x2B, 0x39, - 0x00, 0x01, 0x03, 0x10, - ST7735_GMCTRN1, 16 , // 2: Sparkles and rainbows, 16 args, no delay: - 0x03, 0x1d, 0x07, 0x06, - 0x2E, 0x2C, 0x29, 0x2D, - 0x2E, 0x2E, 0x37, 0x3F, - 0x00, 0x00, 0x02, 0x10, - ST7735_NORON , DELAY, // 3: Normal display on, no args, w/delay - 10, // 10 ms delay - ST7735_DISPON , DELAY, // 4: Main screen turn on, no args w/delay - 100 }; // 100 ms delay - - -// Companion code to the above tables. Reads and issues -// a series of LCD commands stored in PROGMEM byte array. -void Adafruit_ST7735::commandList(const uint8_t *addr) { - - uint8_t numCommands, numArgs; - uint16_t ms; - - numCommands = pgm_read_byte(addr++); // Number of commands to follow - while(numCommands--) { // For each command... - writecommand(pgm_read_byte(addr++)); // Read, issue command - numArgs = pgm_read_byte(addr++); // Number of args to follow - ms = numArgs & DELAY; // If hibit set, delay follows args - numArgs &= ~DELAY; // Mask out delay bit - while(numArgs--) { // For each argument... - writedata(pgm_read_byte(addr++)); // Read, issue argument - } - - if(ms) { - ms = pgm_read_byte(addr++); // Read post-command delay time (ms) - if(ms == 255) ms = 500; // If 255, delay for 500 ms - delay(ms); - } - } -} - - -// Initialization code common to both 'B' and 'R' type displays -void Adafruit_ST7735::commonInit(const uint8_t *cmdList) { - colstart = rowstart = 0; // May be overridden in init func - - pinMode(_rs, OUTPUT); - pinMode(_cs, OUTPUT); - csport = portOutputRegister(digitalPinToPort(_cs)); - rsport = portOutputRegister(digitalPinToPort(_rs)); - cspinmask = digitalPinToBitMask(_cs); - rspinmask = digitalPinToBitMask(_rs); - - if(hwSPI) { // Using hardware SPI -#if defined (SPI_HAS_TRANSACTION) - SPI.begin(); - mySPISettings = SPISettings(8000000, MSBFIRST, SPI_MODE0); -#elif defined (__AVR__) - SPCRbackup = SPCR; - SPI.begin(); - SPI.setClockDivider(SPI_CLOCK_DIV4); - SPI.setDataMode(SPI_MODE0); - mySPCR = SPCR; // save our preferred state - //Serial.print("mySPCR = 0x"); Serial.println(SPCR, HEX); - SPCR = SPCRbackup; // then restore -#elif defined (__SAM3X8E__) - SPI.begin(); - SPI.setClockDivider(21); //4MHz - SPI.setDataMode(SPI_MODE0); -#endif - } else { - pinMode(_sclk, OUTPUT); - pinMode(_sid , OUTPUT); - clkport = portOutputRegister(digitalPinToPort(_sclk)); - dataport = portOutputRegister(digitalPinToPort(_sid)); - clkpinmask = digitalPinToBitMask(_sclk); - datapinmask = digitalPinToBitMask(_sid); - *clkport &= ~clkpinmask; - *dataport &= ~datapinmask; - } - - // toggle RST low to reset; CS low so it'll listen to us - *csport &= ~cspinmask; - if (_rst) { - pinMode(_rst, OUTPUT); - digitalWrite(_rst, HIGH); - delay(500); - digitalWrite(_rst, LOW); - delay(500); - digitalWrite(_rst, HIGH); - delay(500); - } - - if(cmdList) commandList(cmdList); -} - - -// Initialization for ST7735B screens -void Adafruit_ST7735::initB(void) { - commonInit(Bcmd); -} - - -// Initialization for ST7735R screens (green or red tabs) -void Adafruit_ST7735::initR(uint8_t options) { - commonInit(Rcmd1); - if(options == INITR_GREENTAB) { - commandList(Rcmd2green); - colstart = 2; - rowstart = 1; - } else if(options == INITR_144GREENTAB) { - _height = ST7735_TFTHEIGHT_144; - commandList(Rcmd2green144); - colstart = 2; - rowstart = 3; - } else { - // colstart, rowstart left at default '0' values - commandList(Rcmd2red); - } - commandList(Rcmd3); - - // if black, change MADCTL color filter - if (options == INITR_BLACKTAB) { - writecommand(ST7735_MADCTL); - writedata(0xC0); - } - - tabcolor = options; -} - - -void Adafruit_ST7735::setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, - uint8_t y1) { - - writecommand(ST7735_CASET); // Column addr set - writedata(0x00); - writedata(x0+colstart); // XSTART - writedata(0x00); - writedata(x1+colstart); // XEND - - writecommand(ST7735_RASET); // Row addr set - writedata(0x00); - writedata(y0+rowstart); // YSTART - writedata(0x00); - writedata(y1+rowstart); // YEND - - writecommand(ST7735_RAMWR); // write to RAM -} - - -void Adafruit_ST7735::pushColor(uint16_t color) { -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - - spiwrite(color >> 8); - spiwrite(color); - - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - -void Adafruit_ST7735::drawPixel(int16_t x, int16_t y, uint16_t color) { - - if((x < 0) ||(x >= _width) || (y < 0) || (y >= _height)) return; - - setAddrWindow(x,y,x+1,y+1); - -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - - spiwrite(color >> 8); - spiwrite(color); - - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - - -void Adafruit_ST7735::drawFastVLine(int16_t x, int16_t y, int16_t h, - uint16_t color) { - - // Rudimentary clipping - if((x >= _width) || (y >= _height)) return; - if((y+h-1) >= _height) h = _height-y; - setAddrWindow(x, y, x, y+h-1); - - uint8_t hi = color >> 8, lo = color; - -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - while (h--) { - spiwrite(hi); - spiwrite(lo); - } - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - - -void Adafruit_ST7735::drawFastHLine(int16_t x, int16_t y, int16_t w, - uint16_t color) { - - // Rudimentary clipping - if((x >= _width) || (y >= _height)) return; - if((x+w-1) >= _width) w = _width-x; - setAddrWindow(x, y, x+w-1, y); - - uint8_t hi = color >> 8, lo = color; - -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - while (w--) { - spiwrite(hi); - spiwrite(lo); - } - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - - - -void Adafruit_ST7735::fillScreen(uint16_t color) { - fillRect(0, 0, _width, _height, color); -} - - - -// fill a rectangle -void Adafruit_ST7735::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, - uint16_t color) { - - // rudimentary clipping (drawChar w/big text requires this) - if((x >= _width) || (y >= _height)) return; - if((x + w - 1) >= _width) w = _width - x; - if((y + h - 1) >= _height) h = _height - y; - - setAddrWindow(x, y, x+w-1, y+h-1); - - uint8_t hi = color >> 8, lo = color; - -#if defined (SPI_HAS_TRANSACTION) - SPI.beginTransaction(mySPISettings); -#endif - *rsport |= rspinmask; - *csport &= ~cspinmask; - for(y=h; y>0; y--) { - for(x=w; x>0; x--) { - spiwrite(hi); - spiwrite(lo); - } - } - - *csport |= cspinmask; -#if defined (SPI_HAS_TRANSACTION) - SPI.endTransaction(); -#endif -} - - -// Pass 8-bit (each) R,G,B, get back 16-bit packed color -uint16_t Adafruit_ST7735::Color565(uint8_t r, uint8_t g, uint8_t b) { - return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3); -} - - -#define MADCTL_MY 0x80 -#define MADCTL_MX 0x40 -#define MADCTL_MV 0x20 -#define MADCTL_ML 0x10 -#define MADCTL_RGB 0x00 -#define MADCTL_BGR 0x08 -#define MADCTL_MH 0x04 - -void Adafruit_ST7735::setRotation(uint8_t m) { - - writecommand(ST7735_MADCTL); - rotation = m % 4; // can't be higher than 3 - switch (rotation) { - case 0: - if (tabcolor == INITR_BLACKTAB) { - writedata(MADCTL_MX | MADCTL_MY | MADCTL_RGB); - } else { - writedata(MADCTL_MX | MADCTL_MY | MADCTL_BGR); - } - _width = ST7735_TFTWIDTH; - - if (tabcolor == INITR_144GREENTAB) - _height = ST7735_TFTHEIGHT_144; - else - _height = ST7735_TFTHEIGHT_18; - - break; - case 1: - if (tabcolor == INITR_BLACKTAB) { - writedata(MADCTL_MY | MADCTL_MV | MADCTL_RGB); - } else { - writedata(MADCTL_MY | MADCTL_MV | MADCTL_BGR); - } - - if (tabcolor == INITR_144GREENTAB) - _width = ST7735_TFTHEIGHT_144; - else - _width = ST7735_TFTHEIGHT_18; - - _height = ST7735_TFTWIDTH; - break; - case 2: - if (tabcolor == INITR_BLACKTAB) { - writedata(MADCTL_RGB); - } else { - writedata(MADCTL_BGR); - } - _width = ST7735_TFTWIDTH; - if (tabcolor == INITR_144GREENTAB) - _height = ST7735_TFTHEIGHT_144; - else - _height = ST7735_TFTHEIGHT_18; - - break; - case 3: - if (tabcolor == INITR_BLACKTAB) { - writedata(MADCTL_MX | MADCTL_MV | MADCTL_RGB); - } else { - writedata(MADCTL_MX | MADCTL_MV | MADCTL_BGR); - } - if (tabcolor == INITR_144GREENTAB) - _width = ST7735_TFTHEIGHT_144; - else - _width = ST7735_TFTHEIGHT_18; - - _height = ST7735_TFTWIDTH; - break; - } -} - - -void Adafruit_ST7735::invertDisplay(boolean i) { - writecommand(i ? ST7735_INVON : ST7735_INVOFF); -} - - -////////// stuff not actively being used, but kept for posterity -/* - - uint8_t Adafruit_ST7735::spiread(void) { - uint8_t r = 0; - if (_sid > 0) { - r = shiftIn(_sid, _sclk, MSBFIRST); - } else { - //SID_DDR &= ~_BV(SID); - //int8_t i; - //for (i=7; i>=0; i--) { - // SCLK_PORT &= ~_BV(SCLK); - // r <<= 1; - // r |= (SID_PIN >> SID) & 0x1; - // SCLK_PORT |= _BV(SCLK); - //} - //SID_DDR |= _BV(SID); - - } - return r; - } - - - void Adafruit_ST7735::dummyclock(void) { - - if (_sid > 0) { - digitalWrite(_sclk, LOW); - digitalWrite(_sclk, HIGH); - } else { - // SCLK_PORT &= ~_BV(SCLK); - //SCLK_PORT |= _BV(SCLK); - } - } - uint8_t Adafruit_ST7735::readdata(void) { - *portOutputRegister(rsport) |= rspin; - - *portOutputRegister(csport) &= ~ cspin; - - uint8_t r = spiread(); - - *portOutputRegister(csport) |= cspin; - - return r; - - } - - uint8_t Adafruit_ST7735::readcommand8(uint8_t c) { - digitalWrite(_rs, LOW); - - *portOutputRegister(csport) &= ~ cspin; - - spiwrite(c); - - digitalWrite(_rs, HIGH); - pinMode(_sid, INPUT); // input! - digitalWrite(_sid, LOW); // low - spiread(); - uint8_t r = spiread(); - - - *portOutputRegister(csport) |= cspin; - - - pinMode(_sid, OUTPUT); // back to output - return r; - } - - - uint16_t Adafruit_ST7735::readcommand16(uint8_t c) { - digitalWrite(_rs, LOW); - if (_cs) - digitalWrite(_cs, LOW); - - spiwrite(c); - pinMode(_sid, INPUT); // input! - uint16_t r = spiread(); - r <<= 8; - r |= spiread(); - if (_cs) - digitalWrite(_cs, HIGH); - - pinMode(_sid, OUTPUT); // back to output - return r; - } - - uint32_t Adafruit_ST7735::readcommand32(uint8_t c) { - digitalWrite(_rs, LOW); - if (_cs) - digitalWrite(_cs, LOW); - spiwrite(c); - pinMode(_sid, INPUT); // input! - - dummyclock(); - dummyclock(); - - uint32_t r = spiread(); - r <<= 8; - r |= spiread(); - r <<= 8; - r |= spiread(); - r <<= 8; - r |= spiread(); - if (_cs) - digitalWrite(_cs, HIGH); - - pinMode(_sid, OUTPUT); // back to output - return r; - } - - */ diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h deleted file mode 100755 index 0598720..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/Adafruit_ST7735.h +++ /dev/null @@ -1,188 +0,0 @@ -/*************************************************** - This is a library for the Adafruit 1.8" SPI display. - -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#ifndef _ADAFRUIT_ST7735H_ -#define _ADAFRUIT_ST7735H_ - -#if ARDUINO >= 100 - #include "Arduino.h" - #include "Print.h" -#else - #include "WProgram.h" -#endif - -#include - -#if defined(__SAM3X8E__) - #include - #define PROGMEM - #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) - #define pgm_read_word(addr) (*(const unsigned short *)(addr)) - typedef unsigned char prog_uchar; -#elif defined(__AVR__) - #include -#elif defined(ESP8266) - #include -#endif - -#if defined(__SAM3X8E__) - #undef __FlashStringHelper::F(string_literal) - #define F(string_literal) string_literal -#endif - -// some flags for initR() :( -#define INITR_GREENTAB 0x0 -#define INITR_REDTAB 0x1 -#define INITR_BLACKTAB 0x2 - -#define INITR_18GREENTAB INITR_GREENTAB -#define INITR_18REDTAB INITR_REDTAB -#define INITR_18BLACKTAB INITR_BLACKTAB -#define INITR_144GREENTAB 0x1 - -#define ST7735_TFTWIDTH 128 -// for 1.44" display -#define ST7735_TFTHEIGHT_144 128 -// for 1.8" display -#define ST7735_TFTHEIGHT_18 160 - -#define ST7735_NOP 0x00 -#define ST7735_SWRESET 0x01 -#define ST7735_RDDID 0x04 -#define ST7735_RDDST 0x09 - -#define ST7735_SLPIN 0x10 -#define ST7735_SLPOUT 0x11 -#define ST7735_PTLON 0x12 -#define ST7735_NORON 0x13 - -#define ST7735_INVOFF 0x20 -#define ST7735_INVON 0x21 -#define ST7735_DISPOFF 0x28 -#define ST7735_DISPON 0x29 -#define ST7735_CASET 0x2A -#define ST7735_RASET 0x2B -#define ST7735_RAMWR 0x2C -#define ST7735_RAMRD 0x2E - -#define ST7735_PTLAR 0x30 -#define ST7735_COLMOD 0x3A -#define ST7735_MADCTL 0x36 - -#define ST7735_FRMCTR1 0xB1 -#define ST7735_FRMCTR2 0xB2 -#define ST7735_FRMCTR3 0xB3 -#define ST7735_INVCTR 0xB4 -#define ST7735_DISSET5 0xB6 - -#define ST7735_PWCTR1 0xC0 -#define ST7735_PWCTR2 0xC1 -#define ST7735_PWCTR3 0xC2 -#define ST7735_PWCTR4 0xC3 -#define ST7735_PWCTR5 0xC4 -#define ST7735_VMCTR1 0xC5 - -#define ST7735_RDID1 0xDA -#define ST7735_RDID2 0xDB -#define ST7735_RDID3 0xDC -#define ST7735_RDID4 0xDD - -#define ST7735_PWCTR6 0xFC - -#define ST7735_GMCTRP1 0xE0 -#define ST7735_GMCTRN1 0xE1 - -// Color definitions -#define ST7735_BLACK 0x0000 -#define ST7735_BLUE 0x001F -#define ST7735_RED 0xF800 -#define ST7735_GREEN 0x07E0 -#define ST7735_CYAN 0x07FF -#define ST7735_MAGENTA 0xF81F -#define ST7735_YELLOW 0xFFE0 -#define ST7735_WHITE 0xFFFF - - -class Adafruit_ST7735 : public Adafruit_GFX { - - public: - - Adafruit_ST7735(int8_t CS, int8_t RS, int8_t SID, int8_t SCLK, int8_t RST = -1); - Adafruit_ST7735(int8_t CS, int8_t RS, int8_t RST = -1); - - void initB(void), // for ST7735B displays - initR(uint8_t options = INITR_GREENTAB), // for ST7735R - setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1), - pushColor(uint16_t color), - fillScreen(uint16_t color), - drawPixel(int16_t x, int16_t y, uint16_t color), - drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color), - drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color), - fillRect(int16_t x, int16_t y, int16_t w, int16_t h, - uint16_t color), - setRotation(uint8_t r), - invertDisplay(boolean i); - uint16_t Color565(uint8_t r, uint8_t g, uint8_t b); - - /* These are not for current use, 8-bit protocol only! - uint8_t readdata(void), - readcommand8(uint8_t); - uint16_t readcommand16(uint8_t); - uint32_t readcommand32(uint8_t); - void dummyclock(void); - */ - - private: - uint8_t tabcolor; - - void spiwrite(uint8_t), - writecommand(uint8_t c), - writedata(uint8_t d), - commandList(const uint8_t *addr), - commonInit(const uint8_t *cmdList); -//uint8_t spiread(void); - - boolean hwSPI; - -#if defined(__AVR__) || defined(CORE_TEENSY) - volatile uint8_t *dataport, *clkport, *csport, *rsport; - uint8_t _cs, _rs, _rst, _sid, _sclk, - datapinmask, clkpinmask, cspinmask, rspinmask, - colstart, rowstart; // some displays need this changed -#elif defined(__arm__) - volatile RwReg *dataport, *clkport, *csport, *rsport; - uint32_t _cs, _rs, _sid, _sclk, - datapinmask, clkpinmask, cspinmask, rspinmask, - colstart, rowstart; // some displays need this changed - int32_t _rst; // Must use signed type since a -1 sentinel is assigned. -#elif defined(ESP8266) - volatile uint32_t *dataport, *clkport, *csport, *rsport; - uint32_t _cs, _rs, _rst, _sid, _sclk, - datapinmask, clkpinmask, cspinmask, rspinmask, - colstart, rowstart; // some displays need this changed - -#endif - -}; - -#endif diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt deleted file mode 100644 index e7881f6..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/README.txt +++ /dev/null @@ -1,26 +0,0 @@ -This is a library for the Adafruit 1.8" SPI display. -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - -Check out the links above for our tutorials and wiring diagrams. -These displays use SPI to communicate, 4 or 5 pins are required -to interface (RST is optional). -Adafruit invests time and resources providing this open source code, -please support Adafruit and open-source hardware by purchasing -products from Adafruit! - -Written by Limor Fried/Ladyada for Adafruit Industries. -MIT license, all text above must be included in any redistribution - -To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder Adafruit_ST7735. Check that the Adafruit_ST7735 folder contains Adafruit_ST7735.cpp and Adafruit_ST7735. - -Place the Adafruit_ST7735 library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE - -Also requires the Adafruit_GFX library for Arduino. diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino deleted file mode 100644 index 11a0cf5..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/graphicstest/graphicstest.ino +++ /dev/null @@ -1,300 +0,0 @@ -/*************************************************** - This is a library for the Adafruit 1.8" SPI display. - -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include // Core graphics library -#include // Hardware-specific library -#include - - -// For the breakout, you can use any 2 or 3 pins -// These pins will also work for the 1.8" TFT shield -#define TFT_CS 10 -#define TFT_RST 9 // you can also connect this to the Arduino reset - // in which case, set this #define pin to 0! -#define TFT_DC 8 - -// Option 1 (recommended): must use the hardware SPI pins -// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be -// an output. This is much faster - also required if you want -// to use the microSD card (see the image drawing example) -Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); - -// Option 2: use any pins but a little slower! -#define TFT_SCLK 13 // set these to be whatever pins you like! -#define TFT_MOSI 11 // set these to be whatever pins you like! -//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); - - -float p = 3.1415926; - -void setup(void) { - Serial.begin(9600); - Serial.print("Hello! ST7735 TFT Test"); - - // Use this initializer if you're using a 1.8" TFT - tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab - - // Use this initializer (uncomment) if you're using a 1.44" TFT - //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab - - Serial.println("Initialized"); - - uint16_t time = millis(); - tft.fillScreen(ST7735_BLACK); - time = millis() - time; - - Serial.println(time, DEC); - delay(500); - - // large block of text - tft.fillScreen(ST7735_BLACK); - testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST7735_WHITE); - delay(1000); - - // tft print function! - tftPrintTest(); - delay(4000); - - // a single pixel - tft.drawPixel(tft.width()/2, tft.height()/2, ST7735_GREEN); - delay(500); - - // line draw test - testlines(ST7735_YELLOW); - delay(500); - - // optimized lines - testfastlines(ST7735_RED, ST7735_BLUE); - delay(500); - - testdrawrects(ST7735_GREEN); - delay(500); - - testfillrects(ST7735_YELLOW, ST7735_MAGENTA); - delay(500); - - tft.fillScreen(ST7735_BLACK); - testfillcircles(10, ST7735_BLUE); - testdrawcircles(10, ST7735_WHITE); - delay(500); - - testroundrects(); - delay(500); - - testtriangles(); - delay(500); - - mediabuttons(); - delay(500); - - Serial.println("done"); - delay(1000); -} - -void loop() { - tft.invertDisplay(true); - delay(500); - tft.invertDisplay(false); - delay(500); -} - -void testlines(uint16_t color) { - tft.fillScreen(ST7735_BLACK); - for (int16_t x=0; x < tft.width(); x+=6) { - tft.drawLine(0, 0, x, tft.height()-1, color); - } - for (int16_t y=0; y < tft.height(); y+=6) { - tft.drawLine(0, 0, tft.width()-1, y, color); - } - - tft.fillScreen(ST7735_BLACK); - for (int16_t x=0; x < tft.width(); x+=6) { - tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); - } - for (int16_t y=0; y < tft.height(); y+=6) { - tft.drawLine(tft.width()-1, 0, 0, y, color); - } - - tft.fillScreen(ST7735_BLACK); - for (int16_t x=0; x < tft.width(); x+=6) { - tft.drawLine(0, tft.height()-1, x, 0, color); - } - for (int16_t y=0; y < tft.height(); y+=6) { - tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); - } - - tft.fillScreen(ST7735_BLACK); - for (int16_t x=0; x < tft.width(); x+=6) { - tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); - } - for (int16_t y=0; y < tft.height(); y+=6) { - tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); - } -} - -void testdrawtext(char *text, uint16_t color) { - tft.setCursor(0, 0); - tft.setTextColor(color); - tft.setTextWrap(true); - tft.print(text); -} - -void testfastlines(uint16_t color1, uint16_t color2) { - tft.fillScreen(ST7735_BLACK); - for (int16_t y=0; y < tft.height(); y+=5) { - tft.drawFastHLine(0, y, tft.width(), color1); - } - for (int16_t x=0; x < tft.width(); x+=5) { - tft.drawFastVLine(x, 0, tft.height(), color2); - } -} - -void testdrawrects(uint16_t color) { - tft.fillScreen(ST7735_BLACK); - for (int16_t x=0; x < tft.width(); x+=6) { - tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); - } -} - -void testfillrects(uint16_t color1, uint16_t color2) { - tft.fillScreen(ST7735_BLACK); - for (int16_t x=tft.width()-1; x > 6; x-=6) { - tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); - tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); - } -} - -void testfillcircles(uint8_t radius, uint16_t color) { - for (int16_t x=radius; x < tft.width(); x+=radius*2) { - for (int16_t y=radius; y < tft.height(); y+=radius*2) { - tft.fillCircle(x, y, radius, color); - } - } -} - -void testdrawcircles(uint8_t radius, uint16_t color) { - for (int16_t x=0; x < tft.width()+radius; x+=radius*2) { - for (int16_t y=0; y < tft.height()+radius; y+=radius*2) { - tft.drawCircle(x, y, radius, color); - } - } -} - -void testtriangles() { - tft.fillScreen(ST7735_BLACK); - int color = 0xF800; - int t; - int w = tft.width()/2; - int x = tft.height()-1; - int y = 0; - int z = tft.width(); - for(t = 0 ; t <= 15; t+=1) { - tft.drawTriangle(w, y, y, x, z, x, color); - x-=4; - y+=4; - z-=4; - color+=100; - } -} - -void testroundrects() { - tft.fillScreen(ST7735_BLACK); - int color = 100; - int i; - int t; - for(t = 0 ; t <= 4; t+=1) { - int x = 0; - int y = 0; - int w = tft.width()-2; - int h = tft.height()-2; - for(i = 0 ; i <= 16; i+=1) { - tft.drawRoundRect(x, y, w, h, 5, color); - x+=2; - y+=3; - w-=4; - h-=6; - color+=1100; - } - color+=100; - } -} - -void tftPrintTest() { - tft.setTextWrap(false); - tft.fillScreen(ST7735_BLACK); - tft.setCursor(0, 30); - tft.setTextColor(ST7735_RED); - tft.setTextSize(1); - tft.println("Hello World!"); - tft.setTextColor(ST7735_YELLOW); - tft.setTextSize(2); - tft.println("Hello World!"); - tft.setTextColor(ST7735_GREEN); - tft.setTextSize(3); - tft.println("Hello World!"); - tft.setTextColor(ST7735_BLUE); - tft.setTextSize(4); - tft.print(1234.567); - delay(1500); - tft.setCursor(0, 0); - tft.fillScreen(ST7735_BLACK); - tft.setTextColor(ST7735_WHITE); - tft.setTextSize(0); - tft.println("Hello World!"); - tft.setTextSize(1); - tft.setTextColor(ST7735_GREEN); - tft.print(p, 6); - tft.println(" Want pi?"); - tft.println(" "); - tft.print(8675309, HEX); // print 8,675,309 out in HEX! - tft.println(" Print HEX!"); - tft.println(" "); - tft.setTextColor(ST7735_WHITE); - tft.println("Sketch has been"); - tft.println("running for: "); - tft.setTextColor(ST7735_MAGENTA); - tft.print(millis() / 1000); - tft.setTextColor(ST7735_WHITE); - tft.print(" seconds."); -} - -void mediabuttons() { - // play - tft.fillScreen(ST7735_BLACK); - tft.fillRoundRect(25, 10, 78, 60, 8, ST7735_WHITE); - tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_RED); - delay(500); - // pause - tft.fillRoundRect(25, 90, 78, 60, 8, ST7735_WHITE); - tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_GREEN); - tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_GREEN); - delay(500); - // play color - tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_BLUE); - delay(50); - // pause color - tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_RED); - tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_RED); - // play color - tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_GREEN); -} diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino deleted file mode 100644 index 0357f59..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/rotationtest/rotationtest.ino +++ /dev/null @@ -1,285 +0,0 @@ -/*************************************************** - This is a library for the Adafruit 1.8" SPI display. - -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include // Core graphics library -#include // Hardware-specific library -#include - - -// For the breakout, you can use any 2 or 3 pins -// These pins will also work for the 1.8" TFT shield -#define TFT_CS 10 -#define TFT_RST 9 // you can also connect this to the Arduino reset - // in which case, set this #define pin to 0! -#define TFT_DC 8 - -// Option 1 (recommended): must use the hardware SPI pins -// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be -// an output. This is much faster - also required if you want -// to use the microSD card (see the image drawing example) -Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); - -// Option 2: use any pins but a little slower! -#define TFT_SCLK 13 // set these to be whatever pins you like! -#define TFT_MOSI 11 // set these to be whatever pins you like! -//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); - -void setup(void) { - Serial.begin(9600); - Serial.print("Hello! Adafruit ST7735 rotation test"); - - // Use this initializer if you're using a 1.8" TFT - tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab - - // Use this initializer (uncomment) if you're using a 1.44" TFT - //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab - - Serial.println("init"); - - tft.setTextWrap(false); // Allow text to run off right edge - tft.fillScreen(ST7735_BLACK); - - Serial.println("This is a test of the rotation capabilities of the TFT library!"); - Serial.println("Press (or type a character) to advance"); -} - -void loop(void) { - rotateLine(); - rotateText(); - rotatePixel(); - rotateFastline(); - rotateDrawrect(); - rotateFillrect(); - rotateDrawcircle(); - rotateFillcircle(); - rotateTriangle(); - rotateFillTriangle(); - rotateRoundRect(); - rotateFillRoundRect(); - rotateChar(); - rotateString(); -} - -void rotateText() { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.setCursor(0, 30); - tft.setTextColor(ST7735_RED); - tft.setTextSize(1); - tft.println("Hello World!"); - tft.setTextColor(ST7735_YELLOW); - tft.setTextSize(2); - tft.println("Hello World!"); - tft.setTextColor(ST7735_GREEN); - tft.setTextSize(3); - tft.println("Hello World!"); - tft.setTextColor(ST7735_BLUE); - tft.setTextSize(4); - tft.print(1234.567); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateFillcircle(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.fillCircle(10, 30, 10, ST7735_YELLOW); - - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateDrawcircle(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawCircle(10, 30, 10, ST7735_YELLOW); - - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateFillrect(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.fillRect(10, 20, 10, 20, ST7735_GREEN); - - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateDrawrect(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawRect(10, 20, 10, 20, ST7735_GREEN); - - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateFastline(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawFastHLine(0, 20, tft.width(), ST7735_RED); - tft.drawFastVLine(20, 0, tft.height(), ST7735_BLUE); - - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateLine(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawLine(tft.width()/2, tft.height()/2, 0, 0, ST7735_RED); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotatePixel(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawPixel(10,20, ST7735_WHITE); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateTriangle(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawTriangle(20, 10, 10, 30, 30, 30, ST7735_GREEN); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateFillTriangle(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.fillTriangle(20, 10, 10, 30, 30, 30, ST7735_RED); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateRoundRect(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawRoundRect(20, 10, 25, 15, 5, ST7735_BLUE); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateFillRoundRect(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.fillRoundRect(20, 10, 25, 15, 5, ST7735_CYAN); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateChar(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.drawChar(25, 15, 'A', ST7735_WHITE, ST7735_WHITE, 1); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - -void rotateString(void) { - for (uint8_t i=0; i<4; i++) { - tft.fillScreen(ST7735_BLACK); - Serial.println(tft.getRotation(), DEC); - - tft.setCursor(8, 25); - tft.setTextSize(1); - tft.setTextColor(ST7735_WHITE); - tft.print("Adafruit Industries"); - while (!Serial.available()); - Serial.read(); Serial.read(); Serial.read(); - - tft.setRotation(tft.getRotation()+1); - } -} - diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino deleted file mode 100644 index d88dbc6..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/shieldtest/shieldtest.ino +++ /dev/null @@ -1,256 +0,0 @@ -/*************************************************** - This is an example sketch for the Adafruit 1.8" TFT shield with joystick - ----> http://www.adafruit.com/products/802 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 pins are required to - interface - One pin is also needed for the joystick, we use analog 3 - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include -#include -#include -#include - -#if defined(__SAM3X8E__) - #undef __FlashStringHelper::F(string_literal) - #define F(string_literal) string_literal -#endif - -// TFT display and SD card will share the hardware SPI interface. -// Hardware SPI pins are specific to the Arduino board type and -// cannot be remapped to alternate pins. For Arduino Uno, -// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. -#define SD_CS 4 // Chip select line for SD card -#define TFT_CS 10 // Chip select line for TFT display -#define TFT_DC 8 // Data/command line for TFT -#define TFT_RST -1 // Reset line for TFT (or connect to +5V) - -Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); - -#define BUTTON_NONE 0 -#define BUTTON_DOWN 1 -#define BUTTON_RIGHT 2 -#define BUTTON_SELECT 3 -#define BUTTON_UP 4 -#define BUTTON_LEFT 5 - -void setup(void) { - Serial.begin(9600); - - // Initialize 1.8" TFT - tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab - - Serial.println("OK!"); - tft.fillScreen(ST7735_BLACK); -} - - -uint8_t readButton(void) { - float a = analogRead(3); - - a *= 5.0; - a /= 1024.0; - - Serial.print("Button read analog = "); - Serial.println(a); - if (a < 0.2) return BUTTON_DOWN; - if (a < 1.0) return BUTTON_RIGHT; - if (a < 1.5) return BUTTON_SELECT; - if (a < 2.0) return BUTTON_UP; - if (a < 3.2) return BUTTON_LEFT; - else return BUTTON_NONE; -} - -uint8_t buttonhistory = 0; - -void loop() { - uint8_t b = readButton(); - tft.setTextSize(3); - if (b == BUTTON_DOWN) { - tft.setTextColor(ST7735_RED); - tft.setCursor(0, 10); - tft.print("Down "); - buttonhistory |= 1; - } - if (b == BUTTON_LEFT) { - tft.setTextColor(ST7735_YELLOW); - tft.setCursor(0, 35); - tft.print("Left "); - buttonhistory |= 2; - } - if (b == BUTTON_UP) { - tft.setTextColor(ST7735_GREEN); - tft.setCursor(0, 60); - tft.print("Up"); - buttonhistory |= 4; - } - if (b == BUTTON_RIGHT) { - tft.setTextColor(ST7735_BLUE); - tft.setCursor(0, 85); - tft.print("Right"); - buttonhistory |= 8; - } - if ((b == BUTTON_SELECT) && (buttonhistory == 0xF)) { - tft.setTextColor(ST7735_MAGENTA); - tft.setCursor(0, 110); - tft.print("SELECT"); - buttonhistory |= 8; - delay(2000); - Serial.print("Initializing SD card..."); - if (!SD.begin(SD_CS)) { - Serial.println("failed!"); - return; - } - bmpDraw("parrot.bmp", 0, 0); - while (1); - } - delay(100); -} - -// This function opens a Windows Bitmap (BMP) file and -// displays it at the given coordinates. It's sped up -// by reading many pixels worth of data at a time -// (rather than pixel by pixel). Increasing the buffer -// size takes more of the Arduino's precious RAM but -// makes loading a little faster. 20 pixels seems a -// good balance. - -#define BUFFPIXEL 20 - -void bmpDraw(char *filename, uint8_t x, uint8_t y) { - - File bmpFile; - int bmpWidth, bmpHeight; // W+H in pixels - uint8_t bmpDepth; // Bit depth (currently must be 24) - uint32_t bmpImageoffset; // Start of image data in file - uint32_t rowSize; // Not always = bmpWidth; may have padding - uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) - uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer - boolean goodBmp = false; // Set to true on valid header parse - boolean flip = true; // BMP is stored bottom-to-top - int w, h, row, col; - uint8_t r, g, b; - uint32_t pos = 0, startTime = millis(); - - if((x >= tft.width()) || (y >= tft.height())) return; - - Serial.println(); - Serial.print("Loading image '"); - Serial.print(filename); - Serial.println('\''); - - // Open requested file on SD card - if ((bmpFile = SD.open(filename)) == NULL) { - Serial.print("File not found"); - return; - } - - // Parse BMP header - if(read16(bmpFile) == 0x4D42) { // BMP signature - Serial.print("File size: "); Serial.println(read32(bmpFile)); - (void)read32(bmpFile); // Read & ignore creator bytes - bmpImageoffset = read32(bmpFile); // Start of image data - Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); - // Read DIB header - Serial.print("Header size: "); Serial.println(read32(bmpFile)); - bmpWidth = read32(bmpFile); - bmpHeight = read32(bmpFile); - if(read16(bmpFile) == 1) { // # planes -- must be '1' - bmpDepth = read16(bmpFile); // bits per pixel - Serial.print("Bit Depth: "); Serial.println(bmpDepth); - if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed - - goodBmp = true; // Supported BMP format -- proceed! - Serial.print("Image size: "); - Serial.print(bmpWidth); - Serial.print('x'); - Serial.println(bmpHeight); - - // BMP rows are padded (if needed) to 4-byte boundary - rowSize = (bmpWidth * 3 + 3) & ~3; - - // If bmpHeight is negative, image is in top-down order. - // This is not canon but has been observed in the wild. - if(bmpHeight < 0) { - bmpHeight = -bmpHeight; - flip = false; - } - - // Crop area to be loaded - w = bmpWidth; - h = bmpHeight; - if((x+w-1) >= tft.width()) w = tft.width() - x; - if((y+h-1) >= tft.height()) h = tft.height() - y; - - // Set TFT address window to clipped image bounds - tft.setAddrWindow(x, y, x+w-1, y+h-1); - - for (row=0; row= sizeof(sdbuffer)) { // Indeed - bmpFile.read(sdbuffer, sizeof(sdbuffer)); - buffidx = 0; // Set index to beginning - } - - // Convert pixel from BMP to TFT format, push to display - b = sdbuffer[buffidx++]; - g = sdbuffer[buffidx++]; - r = sdbuffer[buffidx++]; - tft.pushColor(tft.Color565(r,g,b)); - } // end pixel - } // end scanline - Serial.print("Loaded in "); - Serial.print(millis() - startTime); - Serial.println(" ms"); - } // end goodBmp - } - } - - bmpFile.close(); - if(!goodBmp) Serial.println("BMP format not recognized."); -} - -// These read 16- and 32-bit types from the SD card file. -// BMP data is stored little-endian, Arduino is little-endian too. -// May need to reverse subscript order if porting elsewhere. - -uint16_t read16(File f) { - uint16_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); // MSB - return result; -} - -uint32_t read32(File f) { - uint32_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); - ((uint8_t *)&result)[2] = f.read(); - ((uint8_t *)&result)[3] = f.read(); // MSB - return result; -} diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino deleted file mode 100644 index 89eb2e3..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/soft_spitftbitmap/soft_spitftbitmap.ino +++ /dev/null @@ -1,219 +0,0 @@ -/*************************************************** - This is an example sketch for the Adafruit 1.8" SPI display. - This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 - as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include // Core graphics library -#include // Hardware-specific library -#include -#include - -#if defined(__SAM3X8E__) - #undef __FlashStringHelper::F(string_literal) - #define F(string_literal) string_literal -#endif - -// TFT display and SD card will share the hardware SPI interface. -// Hardware SPI pins are specific to the Arduino board type and -// cannot be remapped to alternate pins. For Arduino Uno, -// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. -#define SPI_SCK 13 -#define SPI_DI 12 -#define SPI_DO 11 - -#define SD_CS 4 // Chip select line for SD card -//#define TFT_CS 10 // Chip select line for TFT display -//#define TFT_DC 9 // Data/command line for TFT -//#define TFT_RST 8 // Reset line for TFT (or connect to +5V) - -//Use these pins for the shield! -#define TFT_CS 10 -#define TFT_DC 8 -#define TFT_RST 0 // you can also connect this to the Arduino reset - -Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, SPI_DO, SPI_SCK, TFT_RST); - -void setup(void) { - Serial.begin(9600); - - // Our supplier changed the 1.8" display slightly after Jan 10, 2012 - // so that the alignment of the TFT had to be shifted by a few pixels - // this just means the init code is slightly different. Check the - // color of the tab to see which init code to try. If the display is - // cut off or has extra 'random' pixels on the top & left, try the - // other option! - // If you are seeing red and green color inversion, use Black Tab - - // If your TFT's plastic wrap has a Black Tab, use the following: - tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab - // If your TFT's plastic wrap has a Red Tab, use the following: - //tft.initR(INITR_REDTAB); // initialize a ST7735R chip, red tab - // If your TFT's plastic wrap has a Green Tab, use the following: - //tft.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab - - Serial.print("Initializing SD card..."); - if (!SD.begin(SD_CS, SPI_DO, SPI_DI, SPI_SCK)) { - Serial.println("failed!"); - return; - } - Serial.println("OK!"); - - bmpDraw("parrot.bmp", 0, 0); -} - -void loop() { -} - -// This function opens a Windows Bitmap (BMP) file and -// displays it at the given coordinates. It's sped up -// by reading many pixels worth of data at a time -// (rather than pixel by pixel). Increasing the buffer -// size takes more of the Arduino's precious RAM but -// makes loading a little faster. 20 pixels seems a -// good balance. - -#define BUFFPIXEL 20 - -void bmpDraw(char *filename, uint8_t x, uint8_t y) { - - File bmpFile; - int bmpWidth, bmpHeight; // W+H in pixels - uint8_t bmpDepth; // Bit depth (currently must be 24) - uint32_t bmpImageoffset; // Start of image data in file - uint32_t rowSize; // Not always = bmpWidth; may have padding - uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) - uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer - boolean goodBmp = false; // Set to true on valid header parse - boolean flip = true; // BMP is stored bottom-to-top - int w, h, row, col; - uint8_t r, g, b; - uint32_t pos = 0, startTime = millis(); - - if((x >= tft.width()) || (y >= tft.height())) return; - - Serial.println(); - Serial.print("Loading image '"); - Serial.print(filename); - Serial.println('\''); - - // Open requested file on SD card - if ((bmpFile = SD.open(filename)) == NULL) { - Serial.print("File not found"); - return; - } - - // Parse BMP header - if(read16(bmpFile) == 0x4D42) { // BMP signature - Serial.print("File size: "); Serial.println(read32(bmpFile)); - (void)read32(bmpFile); // Read & ignore creator bytes - bmpImageoffset = read32(bmpFile); // Start of image data - Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); - // Read DIB header - Serial.print("Header size: "); Serial.println(read32(bmpFile)); - bmpWidth = read32(bmpFile); - bmpHeight = read32(bmpFile); - if(read16(bmpFile) == 1) { // # planes -- must be '1' - bmpDepth = read16(bmpFile); // bits per pixel - Serial.print("Bit Depth: "); Serial.println(bmpDepth); - if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed - - goodBmp = true; // Supported BMP format -- proceed! - Serial.print("Image size: "); - Serial.print(bmpWidth); - Serial.print('x'); - Serial.println(bmpHeight); - - // BMP rows are padded (if needed) to 4-byte boundary - rowSize = (bmpWidth * 3 + 3) & ~3; - - // If bmpHeight is negative, image is in top-down order. - // This is not canon but has been observed in the wild. - if(bmpHeight < 0) { - bmpHeight = -bmpHeight; - flip = false; - } - - // Crop area to be loaded - w = bmpWidth; - h = bmpHeight; - if((x+w-1) >= tft.width()) w = tft.width() - x; - if((y+h-1) >= tft.height()) h = tft.height() - y; - - // Set TFT address window to clipped image bounds - tft.setAddrWindow(x, y, x+w-1, y+h-1); - - for (row=0; row= sizeof(sdbuffer)) { // Indeed - bmpFile.read(sdbuffer, sizeof(sdbuffer)); - buffidx = 0; // Set index to beginning - } - - // Convert pixel from BMP to TFT format, push to display - b = sdbuffer[buffidx++]; - g = sdbuffer[buffidx++]; - r = sdbuffer[buffidx++]; - tft.pushColor(tft.Color565(r,g,b)); - } // end pixel - } // end scanline - Serial.print("Loaded in "); - Serial.print(millis() - startTime); - Serial.println(" ms"); - } // end goodBmp - } - } - - bmpFile.close(); - if(!goodBmp) Serial.println("BMP format not recognized."); -} - -// These read 16- and 32-bit types from the SD card file. -// BMP data is stored little-endian, Arduino is little-endian too. -// May need to reverse subscript order if porting elsewhere. - -uint16_t read16(File f) { - uint16_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); // MSB - return result; -} - -uint32_t read32(File f) { - uint32_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); - ((uint8_t *)&result)[2] = f.read(); - ((uint8_t *)&result)[3] = f.read(); // MSB - return result; -} - diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino deleted file mode 100644 index 760a206..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/examples/spitftbitmap/spitftbitmap.ino +++ /dev/null @@ -1,215 +0,0 @@ -/*************************************************** - This is a library for the Adafruit 1.8" SPI display. - -This library works with the Adafruit 1.8" TFT Breakout w/SD card - ----> http://www.adafruit.com/products/358 -The 1.8" TFT shield - ----> https://www.adafruit.com/product/802 -The 1.44" TFT breakout - ----> https://www.adafruit.com/product/2088 -as well as Adafruit raw 1.8" TFT display - ----> http://www.adafruit.com/products/618 - - Check out the links above for our tutorials and wiring diagrams - These displays use SPI to communicate, 4 or 5 pins are required to - interface (RST is optional) - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried/Ladyada for Adafruit Industries. - MIT license, all text above must be included in any redistribution - ****************************************************/ - -#include // Core graphics library -#include // Hardware-specific library -#include -#include - -// TFT display and SD card will share the hardware SPI interface. -// Hardware SPI pins are specific to the Arduino board type and -// cannot be remapped to alternate pins. For Arduino Uno, -// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK. -#define TFT_CS 10 // Chip select line for TFT display -#define TFT_RST 9 // Reset line for TFT (or see below...) -#define TFT_DC 8 // Data/command line for TFT - -#define SD_CS 4 // Chip select line for SD card - -//Use this reset pin for the shield! -//#define TFT_RST 0 // you can also connect this to the Arduino reset! - -Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); - -void setup(void) { - Serial.begin(9600); - - // Use this initializer if you're using a 1.8" TFT - tft.initR(INITR_BLACKTAB); - - // Use this initializer (uncomment) if you're using a 1.44" TFT - //tft.initR(INITR_144GREENTAB); - - Serial.print("Initializing SD card..."); - if (!SD.begin(SD_CS)) { - Serial.println("failed!"); - return; - } - Serial.println("OK!"); - - // change the name here! - bmpDraw("parrot.bmp", 0, 0); - // wait 5 seconds - delay(5000); -} - -void loop() { -// uncomment these lines to draw bitmaps in different locations/rotations! -/* - tft.fillScreen(ST7735_BLACK); // Clear display - for(uint8_t i=0; i<4; i++) // Draw 4 parrots - bmpDraw("parrot.bmp", tft.width() / 4 * i, tft.height() / 4 * i); - delay(1000); - tft.setRotation(tft.getRotation() + 1); // Inc rotation 90 degrees -*/ -} - -// This function opens a Windows Bitmap (BMP) file and -// displays it at the given coordinates. It's sped up -// by reading many pixels worth of data at a time -// (rather than pixel by pixel). Increasing the buffer -// size takes more of the Arduino's precious RAM but -// makes loading a little faster. 20 pixels seems a -// good balance. - -#define BUFFPIXEL 20 - -void bmpDraw(char *filename, uint8_t x, uint8_t y) { - - File bmpFile; - int bmpWidth, bmpHeight; // W+H in pixels - uint8_t bmpDepth; // Bit depth (currently must be 24) - uint32_t bmpImageoffset; // Start of image data in file - uint32_t rowSize; // Not always = bmpWidth; may have padding - uint8_t sdbuffer[3*BUFFPIXEL]; // pixel buffer (R+G+B per pixel) - uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer - boolean goodBmp = false; // Set to true on valid header parse - boolean flip = true; // BMP is stored bottom-to-top - int w, h, row, col; - uint8_t r, g, b; - uint32_t pos = 0, startTime = millis(); - - if((x >= tft.width()) || (y >= tft.height())) return; - - Serial.println(); - Serial.print("Loading image '"); - Serial.print(filename); - Serial.println('\''); - - // Open requested file on SD card - if ((bmpFile = SD.open(filename)) == NULL) { - Serial.print("File not found"); - return; - } - - // Parse BMP header - if(read16(bmpFile) == 0x4D42) { // BMP signature - Serial.print("File size: "); Serial.println(read32(bmpFile)); - (void)read32(bmpFile); // Read & ignore creator bytes - bmpImageoffset = read32(bmpFile); // Start of image data - Serial.print("Image Offset: "); Serial.println(bmpImageoffset, DEC); - // Read DIB header - Serial.print("Header size: "); Serial.println(read32(bmpFile)); - bmpWidth = read32(bmpFile); - bmpHeight = read32(bmpFile); - if(read16(bmpFile) == 1) { // # planes -- must be '1' - bmpDepth = read16(bmpFile); // bits per pixel - Serial.print("Bit Depth: "); Serial.println(bmpDepth); - if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed - - goodBmp = true; // Supported BMP format -- proceed! - Serial.print("Image size: "); - Serial.print(bmpWidth); - Serial.print('x'); - Serial.println(bmpHeight); - - // BMP rows are padded (if needed) to 4-byte boundary - rowSize = (bmpWidth * 3 + 3) & ~3; - - // If bmpHeight is negative, image is in top-down order. - // This is not canon but has been observed in the wild. - if(bmpHeight < 0) { - bmpHeight = -bmpHeight; - flip = false; - } - - // Crop area to be loaded - w = bmpWidth; - h = bmpHeight; - if((x+w-1) >= tft.width()) w = tft.width() - x; - if((y+h-1) >= tft.height()) h = tft.height() - y; - - // Set TFT address window to clipped image bounds - tft.setAddrWindow(x, y, x+w-1, y+h-1); - - for (row=0; row= sizeof(sdbuffer)) { // Indeed - bmpFile.read(sdbuffer, sizeof(sdbuffer)); - buffidx = 0; // Set index to beginning - } - - // Convert pixel from BMP to TFT format, push to display - b = sdbuffer[buffidx++]; - g = sdbuffer[buffidx++]; - r = sdbuffer[buffidx++]; - tft.pushColor(tft.Color565(r,g,b)); - } // end pixel - } // end scanline - Serial.print("Loaded in "); - Serial.print(millis() - startTime); - Serial.println(" ms"); - } // end goodBmp - } - } - - bmpFile.close(); - if(!goodBmp) Serial.println("BMP format not recognized."); -} - -// These read 16- and 32-bit types from the SD card file. -// BMP data is stored little-endian, Arduino is little-endian too. -// May need to reverse subscript order if porting elsewhere. - -uint16_t read16(File f) { - uint16_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); // MSB - return result; -} - -uint32_t read32(File f) { - uint32_t result; - ((uint8_t *)&result)[0] = f.read(); // LSB - ((uint8_t *)&result)[1] = f.read(); - ((uint8_t *)&result)[2] = f.read(); - ((uint8_t *)&result)[3] = f.read(); // MSB - return result; -} \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties b/SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties deleted file mode 100644 index a8d97af..0000000 --- a/SD_v2/Makefile_Build/libs/Adafruit_ST3775/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=Adafruit ST7735 Library -version=1.0.4 -author=Adafruit -maintainer=Adafruit -sentence=This is a library for the Adafruit 1.8" SPI displays. -paragraph=This is a library for the Adafruit 1.8" SPI displays. -category=Display -url=https://github.com/adafruit/Adafruit-ST7735-Library -architectures=* diff --git a/SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md b/SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md deleted file mode 100644 index e7c13ba..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/.github/CONTRIBUTING.md +++ /dev/null @@ -1,10 +0,0 @@ -Code style ----------- - -1. Please use ``fixed integers``, see `stdint.h`_. Why? This library is compatible to different boards which use different architectures (16bit vs 32bit). So unfixed ``int`` has different sizes on different environments and may cause unpredictable behaviour. - -2. If possible: use advantages of `c++11`, e.g. `constexpr`. - -3. Use tab in source files. Space in examples. - -4. Add documentation to **every** new function or parameter. Add documentation to most steps in your source code. diff --git a/SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md b/SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 6844f95..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,39 +0,0 @@ -### Step 1: Are you in the right place? -GitHub issues only for **bugs** or **improvements** of the library. All other topics, e.g. hardware/programming, will be closed. - -For general support from the community, see [Arduino Forum](https://forum.arduino.cc/) or [StackOverflow](https://stackoverflow.com/questions/tagged/mifare). - -### Step 2: Describe your environment - - * OS version: _____ - * Arduino IDE version: _____ - * MFRC522 Library version: _____ - * Arduino device: _____ - * MFRC522 device: _____ - -### Step 3: Describe the problem - -#### Affected file(s) or example(s): - - * Filename 1 - * Filename 2 - -#### Steps to reproduce: - - 1. _____ - 2. _____ - 3. _____ - -#### Observed Results: - - * What happened? This could be a description, log output, etc. - -#### Expected Results: - - * What did you expect to happen? - -#### Relevant Code: - -```arduino - // TODO(you): code here to reproduce the problem -``` diff --git a/SD_v2/Makefile_Build/libs/MFRC522/.gitignore b/SD_v2/Makefile_Build/libs/MFRC522/.gitignore deleted file mode 100644 index 4f9e484..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -MFRC522.zip - -# ignore IDE files -.idea -cmake -CMakeLists.txt \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/MFRC522/.travis.yml b/SD_v2/Makefile_Build/libs/MFRC522/.travis.yml deleted file mode 100644 index bc59bdd..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -language: python -python: - - "2.7" - -# Cache PlatformIO packages using Travis CI container-based infrastructure -sudo: false -cache: - directories: - - "~/.platformio" - -env: - # add examples here and define which boards should be tested (only compile test) - - PLATFORMIO_CI_SRC=examples/ChangeUID/ChangeUID.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/DumpInfo/DumpInfo.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/firmware_check/firmware_check.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/FixBrickedUID/FixBrickedUID.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/MifareClassicValueBlock/MifareClassicValueBlock.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/MinimalInterrupt/MinimalInterrupt.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/ReadAndWrite/ReadAndWrite.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/ReadUidMultiReader/ReadUidMultiReader.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/rfid_default_keys/rfid_default_keys.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/rfid_write_personal_data/rfid_write_personal_data.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/Ntag216_AUTH/Ntag216_AUTH.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/ReadNUID/ReadNUID.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/AccessControl/AccessControl.ino TESTBOARD=arduino_avr - - PLATFORMIO_CI_SRC=examples/RFID-Cloner/RFID-Cloner.ino TESTBOARD=arduino_avr,arduino_arm,esp - - PLATFORMIO_CI_SRC=examples/rfid_read_personal_data/rfid_read_personal_data.ino TESTBOARD=arduino_avr,arduino_arm,teensy,esp - -install: - - pip install -U platformio - -script: - # short the string comparison - - stringContain() { [ -z "${2##*$1*}" ]; } - # selectable board tests @Rotzbua - # prints only warnings and errors, to show all remove "1>/dev/null" - - board="arduino_avr"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=uno --board=megaatmega1280); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi - - board="arduino_arm"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=due --board=zero); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi - - board="teensy"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=teensy20 --board=teensy31); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi - - board="esp"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; ouput=$(platformio ci --lib=. --board=d1_mini); echo "----"; echo "$ouput" | grep -E "^(Device|Data|Program|text|[0-9])"; else echo "skip board test of $board"; fi diff --git a/SD_v2/Makefile_Build/libs/MFRC522/Makefile b/SD_v2/Makefile_Build/libs/MFRC522/Makefile deleted file mode 100644 index 1c737e0..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# Makefile for MFRC522 library -# - -all: package - -help: - @echo "Please use \`make ' where is one of" - @echo " clean to clean the project (e.g. remove process files)" - @echo " package to package the library (into a zip file)" - -clean: - rm ./MFRC522.zip - @echo - @echo "Clean finished." - -package: - zip -o ./MFRC522.zip ./MFRC522.h ./MFRC522.cpp diff --git a/SD_v2/Makefile_Build/libs/MFRC522/README.rst b/SD_v2/Makefile_Build/libs/MFRC522/README.rst deleted file mode 100644 index ea59fe8..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/README.rst +++ /dev/null @@ -1,295 +0,0 @@ -MFRC522 -======= - -.. image:: https://travis-ci.org/miguelbalboa/rfid.svg?branch=master - :target: https://travis-ci.org/miguelbalboa/rfid -.. image:: https://img.shields.io/badge/C%2B%2B-11-brightgreen.svg - :target: `compatible ide`_ -.. image:: https://img.shields.io/github/release/miguelbalboa/rfid.svg?colorB=green - :target: https://github.com/miguelbalboa/rfid/releases -.. image:: https://img.shields.io/badge/ArduinoIDE-%3E%3D1.6.10-lightgrey.svg - :target: `compatible ide`_ - -Arduino library for MFRC522 and other RFID RC522 based modules. - -Read and write different types of Radio-Frequency IDentification (RFID) cards -on your Arduino using a RC522 based reader connected via the Serial Peripheral -Interface (SPI) interface. - - -.. _development: -Development ----------- -**The development by owner miguelbalboa has ended**. Further development will be done by community. This library is still maintained by miguelbalboa, so make pull request if you like some new features or fixes. Support/issues should be solved by community. - - -.. _what works and not: -What works and not? ----------- - -* **Works** - - #. Communication (Crypto1) with MIFARE Classic (1k, 4k, Mini). - #. Communication (Crypto1) with MIFARE Classic compatible PICCs. - #. Firmware self check of MFRC522. - #. Set the UID, write to sector 0, and unbrick Chinese UID changeable MIFARE cards. - -* **Partial** - - #. Communication with MIFARE Ultralight. - #. Other PICCs (Ntag216). - #. More than 2 modules, require a multiplexer `#191 `_. - -* **Works not** - - #. MIFARE DESFire, MIFARE DESFire EV1/EV2, not supported by software. - #. Communication with 3DES or AES, not supported by software. - #. Peer-to-peer (ISO/IEC 18092), not `supported by hardware`_. - #. Communication with smart phone, not `supported by hardware`_. - #. Card emulation, not `supported by hardware`_. - #. Use of IRQ pin. But there is a proof-of-concept example. - #. With Arduino Yun like `#111 `_, not supported by software. - #. Power reduction modes `#269 `_, not supported by software. - #. I2C instead of SPI `#240 `_, not supported by software. - #. UART instead of SPI `#281 `_, not supported by software. - -* **Need more?** - - #. If software: code it and make a pull request. - #. If hardware: buy a more expensive like PN532 (supports NFC and many more, but costs about $15). - - -.. _compatible ide: -Compatible IDE ----------- -This library works with Arduino IDE 1.6, older versions are **not supported** and will cause compile errors. The built-in library manager is supported. - -If you use your own compiler, you have to enable ``c++11``-support. - - -.. _compatible boards: -Compatible boards ----------- - -**!!!Only for advanced user!!!** - -This library is compatible to Teensy and ESP8266, if you use board plugin of the Arduino IDE. Not all examples are available for every board. You also have to change pins, see `pin layout`_. - -Some user made some patches/suggestions/ports for other boards: - -* Linux: https://github.com/miguelbalboa/rfid/pull/216 -* chipKIT: https://github.com/miguelbalboa/rfid/pull/230 -* ESP8266 (native): https://github.com/miguelbalboa/rfid/pull/235 -* ESP8266 nonos sdk: https://github.com/mmmmar/esp8266-mfrc522 -* LPCOPen (in C): https://github.com/miguelbalboa/rfid/pull/258 - -Note that the main target/support of library is still Arduino. - -.. _support issue: -Support/issue ----------- -1. First checkout `what works and not`_ and `troubleshooting`_ . - -2. It seems to be a hardware issue or you need support to program your project? - Please ask in the official `Arduino forum`_, there you would get a much faster answer then on github. - -3. It seems to be a software issue? - Open an issue on github. - - -.. _code style: -Code style ----------- - -Please use ``fixed integers``, see `stdint.h`_. Why? This library is compatible to different boards which use different architectures (16bit vs 32bit). So unfixed ``int`` has different sizes on different environments and may cause unpredictable behaviour. - - -.. _pin layout: -Pin Layout ----------- - -The following table shows the typical pin layout used: - -+-----------+----------+---------------------------------------------------------------+--------------------------+ -| | PCD | Arduino | Teensy | -| +----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| | MFRC522 | Uno / 101 | Mega | Nano v3 |Leonardo / Micro | Pro Micro | 2.0 | ++ 2.0 | 3.1 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| Signal | Pin | Pin | Pin | Pin | Pin | Pin | Pin | Pin | Pin | -+===========+==========+=============+=========+=========+=================+===========+========+========+========+ -| RST/Reset | RST | 9 [1]_ | 5 [1]_ | D9 | RESET / ICSP-5 | RST | 7 | 4 | 9 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| SPI SS | SDA [3]_ | 10 [2]_ | 53 [2]_ | D10 | 10 | 10 | 0 | 20 | 10 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| SPI MOSI | MOSI | 11 / ICSP-4 | 51 | D11 | ICSP-4 | 16 | 2 | 22 | 11 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| SPI MISO | MISO | 12 / ICSP-1 | 50 | D12 | ICSP-1 | 14 | 3 | 23 | 12 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ -| SPI SCK | SCK | 13 / ICSP-3 | 52 | D13 | ICSP-3 | 15 | 1 | 21 | 13 | -+-----------+----------+-------------+---------+---------+-----------------+-----------+--------+--------+--------+ - -.. [1] Configurable, typically defined as RST_PIN in sketch/program. -.. [2] Configurable, typically defined as SS_PIN in sketch/program. -.. [3] The SDA pin might be labeled SS on some/older MFRC522 boards. - - -.. _hardware: -Hardware --------- - -There are three hardware components involved: - -1. **Micro Controller**: - -* An `Arduino`_ or compatible executing the Sketch using this library. - -* Prices vary from USD 7 for clones, to USD 75 for "starter kits" (which - might be a good choice if this is your first exposure to Arduino; - check if such kit already includes the Arduino, Reader, and some Tags). - -2. **Proximity Coupling Device (PCD)**: - -* The PCD is the actual RFID **Reader** based on `NXP MFRC522`_ Contactless - Reader Integrated Circuit). - -* Readers can be found on `eBay`_ for around USD 5: search for *"rc522"*. - -* You can also find them at several web stores, they are often included in - *"starter kits"*; so check your favourite electronics provider as well. - -3. **Proximity Integrated Circuit Card (PICC)**: - -* The PICC is the RFID **Card** or **Tag** using the `ISO/IEC 14443A`_ - interface, for example Mifare or NTAG203. - -* One or two might be included with the Reader or *"starter kit"* already. - - -.. _protocol: -Protocols ---------- - -1. The micro controller and the reader use SPI for communication. - -* The protocol is described in the `NXP MFRC522`_ datasheet. - -* See the `Pin Layout`_ section for details on connecting the pins. - -2. The reader and the tags communicate using a 13.56 MHz electromagnetic field. - -* The protocol is defined in ISO/IEC 14443-3:2011 Part 3 Type A. - - * Details are found in chapter 6 *"Type A – Initialization and anticollision"*. - - * See http://wg8.de/wg8n1496_17n3613_Ballot_FCD14443-3.pdf for a free version - of the final draft (which might be outdated in some areas). - - * The reader does not support ISO/IEC 14443-3 Type B. - - -.. _security: -Security -------- -This library only supports crypto1-encrypted communication. Crypto1 has been known as `broken`_ for a few years, so it does NOT offer ANY security, it is virtually unencrypted communication. **Do not use it for any security related applications!** - -This library does not offer 3DES or AES authentication used by cards like the Mifare DESFire, it may be possible to be implemented because the datasheet says there is support. We hope for pull requests :). - - -.. _troubleshooting: -Troubleshooting -------- - -* **I don't get input from reader** or **WARNING: Communication failure, is the MFRC522 properly connected?** - - #. Check your connection, see `Pin Layout`_ . - #. Check voltage. Most breakouts work with 3.3V. - #. SPI only works with 3.3V, most breakouts seem 5V tollerant, but try a level shifter. - #. SPI do not like long connections. Try shorter connections. - #. SPI do not like prototyping boards. Maybe try a soldered connections. - #. According to reports #101, #126 and #131, there may be a problem with the soldering on the MFRC522 breakout. You could fix this on your own. - - -* **Sometimes I get timeouts** or **sometimes tag/card does not work.** - - #. Try other side of the antenna. - #. Try to decrease distance between MFRC522. - #. Increase antenna gain per firmware: ``mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);`` - #. Use better power supply. - #. Hardware may be corrupted, most products are from china and sometimes the quality is really poor. Contact your seller. - - -* **My tag/card doesn't work.** - - #. Distance between antenna and token too large (>1cm). - #. You got the wrong type PICC. Is it really 13.56 MHz? Is it really a Mifare Type A? - #. NFC tokens are not supported. Some may work. - #. Animal RFID tags are not supported. They use a different frequency (125 kHz). - #. Hardware may be corrupted, most products are from china and sometimes the quality is really poor. Contact your seller. - #. Newer versions of Mifare cards like DESFire/Ultralight maybe not work according to missing authentification, see `security`_ or different `protocol`_. - #. Some boards bought from chinese manufactures do not use the best components and this can affect the detection of different types of tag/card. In some of these boards, the L1 and L2 inductors do not have a high enough current so the signal generated is not enough to get Ultralight C and NTAG203 tags to work, replacing those with same inductance (2.2uH) but higher operating current inductors should make things work smoothly. Also, in some of those boards the harmonic and matching circuit needs to be tuned, for this replace C4 and C5 with 33pf capacitors and you are all set. (Source: `Mikro Elektronika`_) - -* **My mobile phone doesn't recognize the MFRC522** or **my MFRC522 can't read data from other MFRC522** - - #. Card simmulation is not supported. - #. Communication with mobile phones is not supported. - #. Peer to peer communication is not supported. - - -* **I need more features.** - - #. If software: code it and make a pull request. - #. If hardware: buy a more expensive like PN532 (supports NFC and many more, but costs about $15) - - -.. _license: -License -------- -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to https://unlicense.org/ - - -History -------- - -The MFRC522 library was first created in Jan 2012 by Miguel Balboa (from -http://circuitito.com) based on code by Dr. Leong (from http://B2CQSHOP.com) -for *"Arduino RFID module Kit 13.56 Mhz with Tags SPI W and R By COOQRobot"*. - -It was translated into English and rewritten/refactored in the fall of 2013 -by Søren Thing Andersen (from http://access.thing.dk). - -It has been extended with functionality to alter sector 0 on Chinese UID changeable MIFARE card in Oct 2014 by Tom Clement (from http://tomclement.nl). - - -.. _arduino: https://arduino.cc/ -.. _ebay: https://www.ebay.com/ -.. _iso/iec 14443a: https://en.wikipedia.org/wiki/ISO/IEC_14443 -.. _iso/iec 14443-3\:2011 part 3: -.. _nxp mfrc522: https://www.nxp.com/documents/data_sheet/MFRC522.pdf -.. _broken: https://eprint.iacr.org/2008/166 -.. _supported by hardware: https://web.archive.org/web/20151210045625/http://www.nxp.com/documents/leaflet/939775017564.pdf -.. _Arduino forum: https://forum.arduino.cc -.. _stdint.h: https://en.wikibooks.org/wiki/C_Programming/C_Reference/stdint.h -.. _Mikro Elektronika: https://forum.mikroe.com/viewtopic.php?f=147&t=64203 diff --git a/SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE b/SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE deleted file mode 100644 index 00d2e13..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/UNLICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/MFRC522/changes.txt b/SD_v2/Makefile_Build/libs/MFRC522/changes.txt deleted file mode 100644 index d1c3d35..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/changes.txt +++ /dev/null @@ -1,134 +0,0 @@ --- Add changes to unreleased tag until we make a release. - -unreleased -- - -8 Apr 2017, v1.3.5 -- Updated "AccessControl.ino", bugs fixed and alterate Wipe button polling method without using other library @beyondszine reviewed by @omersiar -- Updated README notice about port for esp8266 @mmmmar - -7 Apr 2017, v1.3.4 -- Added new example "rfid_read_personal_data.ino" @ryand1011 -- Updated example "rfid_write_personal_data.ino" code style to Arduino IDE @Rotzbua -- Removed (temp.) Teensy from travis build script because fails @Rotzbua - -26 Mar 2017, v1.3.3 -- Fixed bugs in MFRC522Extended, now should work with Desfire.h from JPG-Consulting @Rotzbua -- Fixed UINT8_MAX error @Rotzbua - -15 Mar 2017, v1.3.2 -- Added ESP8266 to library.properties - -15 Mar 2017, v1.3.1 -- Fixed compiler warning in MFRC522Extended @Rotzbua -- Removed unused function @Rotzbua - -13 Mar 2017, v1.3.0 -- Warning: Source has moved to folder src! -- Added addtional class to support ISO/IEC 14443-4 PICCs @JPG-Consulting -- Added RATS (Request for Answer To Select) @JPG-Consulting -- More information see https://github.com/miguelbalboa/rfid/pull/271 @JPG-Consulting - -13 Mar 2017, v1.2.1 -- Removed need for reset pin #275 @tkoester -- Added SPI speed option + Various minor changes #276 @tuyethoa08041997 -- Updated documentation, travis build script and small code change @Rotzbua - -3 Jan 2017, v1.2.0 -- Warning: This version introduce usage of stdint.h, usage of not well defined int types are abandoned. - Interface has changed: e.g. long -> int32_t - @Rotzbua -- Removed problematic example examples/servo_motor/servo_motor.ino @omersiar -- Added examples/AccessControl/AccessControl.ino @omersiar -- Fixed minor issues reported in #211 @omersiar -- Added bad components hint to README @danielcbit -- Fixed selftest @surr -- Fixed auth problem with long UIDs @surr - -26 Aug 2016, v1.1.9 -- Warning: Only Arduino IDE version 1.6 is supported, please update your IDE to 1.6 to use this Library. -- Added ESP8266 platform support @Rotzbua -- Changed README.rst content to show more info @Rotzbua -- Minor Changes to examples/ReadUidMultiReader/ReadUidMultiReader.ino example @Rotzbua - -11 Feb 2016, v1.1.8 -- Added examples/MinimalInterrupt/MinimalInterrupt.ino example, Interrupt example @lmmeng -- Added .gitignore file allows the project to be more easily used as a subproject. @BenWiederhake -- Added Added Teensy 2.0 & Tensy++ 2.0 pinouts to README.rst @jkutianski - -16 Jan 2016, v1.1.7 -- README.rst Spelling and Grammar Tweak @cuthbertnibbles -- Added examples/servo_motor/servo_motor.ino example, Arduino RFID Access Control with a Servo Motor @techied -- Added examples/RFID-Cloner/RFID-Cloner.ino Copy from rfid cards with standard authentication @stefanblommaert -- Fix compile error at examples/RFID-Cloner/RFID-Cloner.ino, using MFRC522:::PICC_Type, @Rotzbua - -06 Jan 2016, v1.1.6 -- Fixed compilation error for examples/ReadNUID/ReadNUID.ino example. @Rotzbua - -04 Jan 2016, v1.1.5 -- Use settings functions on SPI libraries, setSPIConfig was deleted, now the library use SPI.beginTransaction() and SPI.endTransaction() @sophiekovalevsky -- Added examples/ReadNUID/ReadNUID.ino example, showing how to read new NUID from a PICC to serial. @sophiekovalevsky - -03 Jan 2016, v1.1.4 -- Added Authentication with Ntag 213,215,216 returns the pACK MFRC522::PCD_NTAG216_AUTH @Gargantuanman -- Starting to use versions http://semver.org/ -- Continuous Integration @ivankravets -- functions return MFRC522::StatusCode and MFRC522::PICC_Type instead of generic byte @rotzbua -- removed int-values of MFRC522::StatusCode and MFRC522::PICC_Type @rotzbua - -05 Dec 2015 -- recognize infineon cards correctly @mayatforest -- added multi reader support, see example @lmmeng - -10 Nov 2014 -- Updated the changelog. -- Added makefile. - -24 Oct 2014 -- Added PlatformIO-based manifest file. - -17 Jul 2014 -- Written documentation for the library. -- Added rfid_default_keys example. - -11 Jun 2014 -- Updated example: ReadAndWrite. - -14 Apr 2014 -- Updated examples: DumpInfo, MifareClassicValueBlock, and ReadAndWrite. - -12 Feb 2014 -- Fixed resetPowerDownPin initial state. - -29 Jan 2014 -- Fixed chipSelectPin initial state. - -30 Nov 2013 -- Examples put in their own folders. -- Updated the keywords.txt file. - -12 Nov 2013 -- Updated examples: DumpInfo, MifareClassicValueBlock, and ReadAndWrite. - -20 Oct 2013 -- All constants, functions and parameters are now commented in English. -- Code refactored, most function names have changed. -- Support ISO-14443-3 anti collission and 4/7/10 byte UIDs (cascade levels). -- Added functions for MIFARE Classic Decrement/Increment/Restore/Transfer - and MIFARE Ultralight Write. -- New examples written. - -19 Oct 2013 -- Renamed library from RFID to MFRC522 (RFID seemed to generic). -- Register names changed to comply with datasheet. -- Global defines moved into class. - -24 Sep 2013 -- Turn off encryption when tag is halted. - -27 Jan 2013 -- Added README and small TODO list. -- Added example to show Serial on LCD display. - -09 Sep 2012 -- Initial commit to GitHub. diff --git a/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.fzz deleted file mode 100644 index 7c98c49de0616fabec5be6a9cf75ddb4f23c187f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23140 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%0DH4pBH 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 N{JIGj)c*eaKLF^J1kC^d diff --git a/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/Arduino-Uno-r3-with-RFID-RC522.png deleted file mode 100644 index 3e5f59d9249ad73417121c035ef90600dac7ea7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289125 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

uR`)25m4Fp>N<7-N$ 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

`FxiHb!UO%TX+cOg*(@&FUwTUzTtuNa#I>5N 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�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 CsryF& diff --git a/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.fzpz deleted file mode 100644 index 1866b0430f792906adbf0512ccd42205679de524..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17796 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 BpS%D7 diff --git a/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png b/SD_v2/Makefile_Build/libs/MFRC522/doc/fritzing/RFID-RC522-v2.png deleted file mode 100644 index 4444909be37f567a01042e6a63ac963b51e6c05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30070 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

igLG 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%0DDjO|`9qZGuY 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%0D%0im7$=3p6RdL<5dFtG0do&rs+?U1^qZpDC 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

Yj* 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 U9How`zdCMV8j{BS|6_sw0E%}~00000 diff --git a/SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf b/SD_v2/Makefile_Build/libs/MFRC522/doc/rfidmifare.pdf deleted file mode 100644 index 526c71d388e372c524986cbe35bd2d2e6912dca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255101 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%0DGyu=t38A2f9af1*FOj+Ngl90JU)iTNCkz~173 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

}h||$9&LY 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� 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 TAGS+^------------------------------------------+ - | +--------------------+ | - | | | | - | | | | - | +----v-----+ +-----v----+ | - | |MASTER TAG| |OTHER TAGS| | - | +--+-------+ ++-------------+ | - | | | | | - | | | | | - | +-----v---+ +----v----+ +----v------+ | - | +------------+READ TAGS+---+ |KNOWN TAG| |UNKNOWN TAG| | - | | +-+-------+ | +-----------+ +------------------+ | - | | | | | | | - | +----v-----+ +----v----+ +--v--------+ +-v----------+ +------v----+ | - | |MASTER TAG| |KNOWN TAG| |UNKNOWN TAG| |GRANT ACCESS| |DENY ACCESS| | - | +----------+ +---+-----+ +-----+-----+ +-----+------+ +-----+-----+ | - | | | | | | - | +----+ +----v------+ +--v---+ | +---------------> - +-------+EXIT| |DELETE FROM| |ADD TO| | | - +----+ | EEPROM | |EEPROM| | | - +-----------+ +------+ +-------------------------------+ - - - Use a Master Card which is act as Programmer then you can able to choose card holders who will granted access or not - - * **Easy User Interface** - - Just one RFID tag needed whether Delete or Add Tags. You can choose to use Leds for output or Serial LCD module to inform users. - - * **Stores Information on EEPROM** - - Information stored on non volatile Arduino's EEPROM memory to preserve Users' tag and Master Card. No Information lost - if power lost. EEPROM has unlimited Read cycle but roughly 100,000 limited Write cycle. - - * **Security** - To keep it simple we are going to use Tag's Unique IDs. It's simple and not hacker proof. - - @license Released into the public domain. - - Typical pin layout used: - ----------------------------------------------------------------------------------------- - MFRC522 Arduino Arduino Arduino Arduino Arduino - Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - Signal Pin Pin Pin Pin Pin Pin - ----------------------------------------------------------------------------------------- - RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - SPI SS SDA(SS) 10 53 D10 10 10 - SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 -*/ - -#include // We are going to read and write PICC's UIDs from/to EEPROM -#include // RC522 Module uses SPI protocol -#include // Library for Mifare RC522 Devices - -/* - Instead of a Relay you may want to use a servo. Servos can lock and unlock door locks too - Relay will be used by default -*/ - -// #include - -/* - For visualizing whats going on hardware we need some leds and to control door lock a relay and a wipe button - (or some other hardware) Used common anode led,digitalWriting HIGH turns OFF led Mind that if you are going - to use common cathode led or just seperate leds, simply comment out #define COMMON_ANODE, -*/ - -#define COMMON_ANODE - -#ifdef COMMON_ANODE -#define LED_ON LOW -#define LED_OFF HIGH -#else -#define LED_ON HIGH -#define LED_OFF LOW -#endif - -#define redLed 7 // Set Led Pins -#define greenLed 6 -#define blueLed 5 - -#define relay 4 // Set Relay Pin -#define wipeB 3 // Button pin for WipeMode - -boolean match = false; // initialize card match to false -boolean programMode = false; // initialize programming mode to false -boolean replaceMaster = false; - -uint8_t successRead; // Variable integer to keep if we have Successful Read from Reader - -byte storedCard[4]; // Stores an ID read from EEPROM -byte readCard[4]; // Stores scanned ID read from RFID Module -byte masterCard[4]; // Stores master card's ID read from EEPROM - -// Create MFRC522 instance. -#define SS_PIN 10 -#define RST_PIN 9 -MFRC522 mfrc522(SS_PIN, RST_PIN); - -///////////////////////////////////////// Setup /////////////////////////////////// -void setup() { - //Arduino Pin Configuration - pinMode(redLed, OUTPUT); - pinMode(greenLed, OUTPUT); - pinMode(blueLed, OUTPUT); - pinMode(wipeB, INPUT_PULLUP); // Enable pin's pull up resistor - pinMode(relay, OUTPUT); - //Be careful how relay circuit behave on while resetting or power-cycling your Arduino - digitalWrite(relay, HIGH); // Make sure door is locked - digitalWrite(redLed, LED_OFF); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - - //Protocol Configuration - Serial.begin(9600); // Initialize serial communications with PC - SPI.begin(); // MFRC522 Hardware uses SPI protocol - mfrc522.PCD_Init(); // Initialize MFRC522 Hardware - - //If you set Antenna Gain to Max it will increase reading distance - //mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max); - - Serial.println(F("Access Control Example v0.1")); // For debugging purposes - ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details - - //Wipe Code - If the Button (wipeB) Pressed while setup run (powered on) it wipes EEPROM - if (digitalRead(wipeB) == LOW) { // when button pressed pin should get low, button connected to ground - digitalWrite(redLed, LED_ON); // Red Led stays on to inform user we are going to wipe - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("You have 10 seconds to Cancel")); - Serial.println(F("This will be remove all records and cannot be undone")); - bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation - if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM - Serial.println(F("Starting Wiping EEPROM")); - for (uint16_t x = 0; x < EEPROM.length(); x = x + 1) { //Loop end of EEPROM address - if (EEPROM.read(x) == 0) { //If EEPROM address 0 - // do nothing, already clear, go to the next address in order to save time and reduce writes to EEPROM - } - else { - EEPROM.write(x, 0); // if not write 0 to clear, it takes 3.3mS - } - } - Serial.println(F("EEPROM Successfully Wiped")); - digitalWrite(redLed, LED_OFF); // visualize a successful wipe - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - delay(200); - digitalWrite(redLed, LED_ON); - delay(200); - digitalWrite(redLed, LED_OFF); - } - else { - Serial.println(F("Wiping Cancelled")); // Show some feedback that the wipe button did not pressed for 15 seconds - digitalWrite(redLed, LED_OFF); - } - } - // Check if master card defined, if not let user choose a master card - // This also useful to just redefine the Master Card - // You can keep other EEPROM records just write other than 143 to EEPROM address 1 - // EEPROM address 1 should hold magical number which is '143' - if (EEPROM.read(1) != 143) { - Serial.println(F("No Master Card Defined")); - Serial.println(F("Scan A PICC to Define as Master Card")); - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - digitalWrite(blueLed, LED_ON); // Visualize Master Card need to be defined - delay(200); - digitalWrite(blueLed, LED_OFF); - delay(200); - } - while (!successRead); // Program will not go further while you not get a successful read - for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( 2 + j, readCard[j] ); // Write scanned PICC's UID to EEPROM, start from address 3 - } - EEPROM.write(1, 143); // Write to EEPROM we defined Master Card. - Serial.println(F("Master Card Defined")); - } - Serial.println(F("-------------------")); - Serial.println(F("Master Card's UID")); - for ( uint8_t i = 0; i < 4; i++ ) { // Read Master Card's UID from EEPROM - masterCard[i] = EEPROM.read(2 + i); // Write it to masterCard - Serial.print(masterCard[i], HEX); - } - Serial.println(""); - Serial.println(F("-------------------")); - Serial.println(F("Everything is ready")); - Serial.println(F("Waiting PICCs to be scanned")); - cycleLeds(); // Everything ready lets give user some feedback by cycling leds -} - - -///////////////////////////////////////// Main Loop /////////////////////////////////// -void loop () { - do { - successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0 - // When device is in use if wipe button pressed for 10 seconds initialize Master Card wiping - if (digitalRead(wipeB) == LOW) { // Check if button is pressed - // Visualize normal operation is iterrupted by pressing wipe button Red is like more Warning to user - digitalWrite(redLed, LED_ON); // Make sure led is off - digitalWrite(greenLed, LED_OFF); // Make sure led is off - digitalWrite(blueLed, LED_OFF); // Make sure led is off - // Give some feedback - Serial.println(F("Wipe Button Pressed")); - Serial.println(F("Master Card will be Erased! in 10 seconds")); - bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation - if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM - EEPROM.write(1, 0); // Reset Magic Number. - Serial.println(F("Master Card Erased from device")); - Serial.println(F("Please reset to re-program Master Card")); - while (1); - } - Serial.println(F("Master Card Erase Cancelled")); - } - if (programMode) { - cycleLeds(); // Program Mode cycles through Red Green Blue waiting to read a new card - } - else { - normalModeOn(); // Normal mode, blue Power LED is on, all others are off - } - } - while (!successRead); //the program will not go further while you are not getting a successful read - if (programMode) { - if ( isMaster(readCard) ) { //When in program mode check First If master card scanned again to exit program mode - Serial.println(F("Master Card Scanned")); - Serial.println(F("Exiting Program Mode")); - Serial.println(F("-----------------------------")); - programMode = false; - return; - } - else { - if ( findID(readCard) ) { // If scanned card is known delete it - Serial.println(F("I know this PICC, removing...")); - deleteID(readCard); - Serial.println("-----------------------------"); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - else { // If scanned card is not known add it - Serial.println(F("I do not know this PICC, adding...")); - writeID(readCard); - Serial.println(F("-----------------------------")); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - } - } - } - else { - if ( isMaster(readCard)) { // If scanned card's ID matches Master Card's ID - enter program mode - programMode = true; - Serial.println(F("Hello Master - Entered Program Mode")); - uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that - Serial.print(F("I have ")); // stores the number of ID's in EEPROM - Serial.print(count); - Serial.print(F(" record(s) on EEPROM")); - Serial.println(""); - Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM")); - Serial.println(F("Scan Master Card again to Exit Program Mode")); - Serial.println(F("-----------------------------")); - } - else { - if ( findID(readCard) ) { // If not, see if the card is in the EEPROM - Serial.println(F("Welcome, You shall pass")); - granted(300); // Open the door lock for 300 ms - } - else { // If not, show that the ID was not valid - Serial.println(F("You shall not pass")); - denied(); - } - } - } -} - -///////////////////////////////////////// Access Granted /////////////////////////////////// -void granted ( uint16_t setDelay) { - digitalWrite(blueLed, LED_OFF); // Turn off blue LED - digitalWrite(redLed, LED_OFF); // Turn off red LED - digitalWrite(greenLed, LED_ON); // Turn on green LED - digitalWrite(relay, LOW); // Unlock door! - delay(setDelay); // Hold door lock open for given seconds - digitalWrite(relay, HIGH); // Relock door - delay(1000); // Hold green LED on for a second -} - -///////////////////////////////////////// Access Denied /////////////////////////////////// -void denied() { - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - delay(1000); -} - - -///////////////////////////////////////// Get PICC's UID /////////////////////////////////// -uint8_t getID() { - // Getting ready for Reading PICCs - if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue - return 0; - } - if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue - return 0; - } - // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC - // I think we should assume every PICC as they have 4 byte UID - // Until we support 7 byte PICCs - Serial.println(F("Scanned PICC's UID:")); - for ( uint8_t i = 0; i < 4; i++) { // - readCard[i] = mfrc522.uid.uidByte[i]; - Serial.print(readCard[i], HEX); - } - Serial.println(""); - mfrc522.PICC_HaltA(); // Stop reading - return 1; -} - -void ShowReaderDetails() { - // Get the MFRC522 software version - byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.print(F("MFRC522 Software Version: 0x")); - Serial.print(v, HEX); - if (v == 0x91) - Serial.print(F(" = v1.0")); - else if (v == 0x92) - Serial.print(F(" = v2.0")); - else - Serial.print(F(" (unknown),probably a chinese clone?")); - Serial.println(""); - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) { - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); - Serial.println(F("SYSTEM HALTED: Check connections.")); - // Visualize system is halted - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_ON); // Turn on red LED - while (true); // do not go further - } -} - -///////////////////////////////////////// Cycle Leds (Program Mode) /////////////////////////////////// -void cycleLeds() { - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); -} - -//////////////////////////////////////// Normal Mode Led /////////////////////////////////// -void normalModeOn () { - digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card - digitalWrite(redLed, LED_OFF); // Make sure Red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off - digitalWrite(relay, HIGH); // Make sure Door is Locked -} - -//////////////////////////////////////// Read an ID from EEPROM ////////////////////////////// -void readID( uint8_t number ) { - uint8_t start = (number * 4 ) + 2; // Figure out starting position - for ( uint8_t i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes - storedCard[i] = EEPROM.read(start + i); // Assign values read from EEPROM to array - } -} - -///////////////////////////////////////// Add ID to EEPROM /////////////////////////////////// -void writeID( byte a[] ) { - if ( !findID( a ) ) { // Before we write to the EEPROM, check to see if we have seen this card before! - uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - uint8_t start = ( num * 4 ) + 6; // Figure out where the next slot starts - num++; // Increment the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times - EEPROM.write( start + j, a[j] ); // Write the array values to EEPROM in the right position - } - successWrite(); - Serial.println(F("Succesfully added ID record to EEPROM")); - } - else { - failedWrite(); - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } -} - -///////////////////////////////////////// Remove ID from EEPROM /////////////////////////////////// -void deleteID( byte a[] ) { - if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card! - failedWrite(); // If not - Serial.println(F("Failed! There is something wrong with ID or bad EEPROM")); - } - else { - uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards - uint8_t slot; // Figure out the slot number of the card - uint8_t start; // = ( num * 4 ) + 6; // Figure out where the next slot starts - uint8_t looping; // The number of times the loop repeats - uint8_t j; - uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards - slot = findIDSLOT( a ); // Figure out the slot number of the card to delete - start = (slot * 4) + 2; - looping = ((num - slot) * 4); - num--; // Decrement the counter by one - EEPROM.write( 0, num ); // Write the new count to the counter - for ( j = 0; j < looping; j++ ) { // Loop the card shift times - EEPROM.write( start + j, EEPROM.read(start + 4 + j)); // Shift the array values to 4 places earlier in the EEPROM - } - for ( uint8_t k = 0; k < 4; k++ ) { // Shifting loop - EEPROM.write( start + j + k, 0); - } - successDelete(); - Serial.println(F("Succesfully removed ID record from EEPROM")); - } -} - -///////////////////////////////////////// Check Bytes /////////////////////////////////// -boolean checkTwo ( byte a[], byte b[] ) { - if ( a[0] != 0 ) // Make sure there is something in the array first - match = true; // Assume they match at first - for ( uint8_t k = 0; k < 4; k++ ) { // Loop 4 times - if ( a[k] != b[k] ) // IF a != b then set match = false, one fails, all fail - match = false; - } - if ( match ) { // Check to see if if match is still true - return true; // Return true - } - else { - return false; // Return false - } -} - -///////////////////////////////////////// Find Slot /////////////////////////////////// -uint8_t findIDSLOT( byte find[] ) { - uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( uint8_t i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - // is the same as the find[] ID card passed - return i; // The slot number of the card - break; // Stop looking we found it - } - } -} - -///////////////////////////////////////// Find ID From EEPROM /////////////////////////////////// -boolean findID( byte find[] ) { - uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that - for ( uint8_t i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry - readID(i); // Read an ID from EEPROM, it is stored in storedCard[4] - if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM - return true; - break; // Stop looking we found it - } - else { // If not, return false - } - } - return false; -} - -///////////////////////////////////////// Write Success to EEPROM /////////////////////////////////// -// Flashes the green LED 3 times to indicate a successful write to EEPROM -void successWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(greenLed, LED_ON); // Make sure green LED is on - delay(200); -} - -///////////////////////////////////////// Write Failed to EEPROM /////////////////////////////////// -// Flashes the red LED 3 times to indicate a failed write to EEPROM -void failedWrite() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - delay(200); - digitalWrite(redLed, LED_ON); // Make sure red LED is on - delay(200); -} - -///////////////////////////////////////// Success Remove UID From EEPROM /////////////////////////////////// -// Flashes the blue LED 3 times to indicate a success delete to EEPROM -void successDelete() { - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - digitalWrite(redLed, LED_OFF); // Make sure red LED is off - digitalWrite(greenLed, LED_OFF); // Make sure green LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); - digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off - delay(200); - digitalWrite(blueLed, LED_ON); // Make sure blue LED is on - delay(200); -} - -////////////////////// Check readCard IF is masterCard /////////////////////////////////// -// Check to see if the ID passed is the master programing card -boolean isMaster( byte test[] ) { - if ( checkTwo( test, masterCard ) ) - return true; - else - return false; -} - -bool monitorWipeButton(uint32_t interval) { - uint32_t now = (uint32_t)millis(); - while ((uint32_t)millis() - now < interval) { - // check on every half a second - if (((uint32_t)millis() % 500) == 0) { - if (digitalRead(wipeB) != LOW) - return false; - } - } - return true; -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino deleted file mode 100644 index 19315cd..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/ChangeUID/ChangeUID.ino +++ /dev/null @@ -1,111 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example to change UID of changeable MIFARE card. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * This sample shows how to set the UID on a UID changeable MIFARE card. - * NOTE: for more informations read the README.rst - * - * @author Tom Clement - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -/* Set your new UID here! */ -#define NEW_UID {0xDE, 0xAD, 0xBE, 0xEF} - -MFRC522::MIFARE_Key key; - -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!")); - - // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } -} - -// Setting the UID can be as simple as this: -//void loop() { -// byte newUid[] = NEW_UID; -// if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) { -// Serial.println("Wrote new UID to card."); -// } -// delay(1000); -//} - -// But of course this is a more proper approach -void loop() { - - // Look for new cards, and select one if present - if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) { - delay(50); - return; - } - - // Now a card is selected. The UID and SAK is in mfrc522.uid. - - // Dump UID - Serial.print(F("Card UID:")); - for (byte i = 0; i < mfrc522.uid.size; i++) { - Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); - Serial.print(mfrc522.uid.uidByte[i], HEX); - } - Serial.println(); - - // Dump PICC type -// MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); -// Serial.print(F("PICC type: ")); -// Serial.print(mfrc522.PICC_GetTypeName(piccType)); -// Serial.print(F(" (SAK ")); -// Serial.print(mfrc522.uid.sak); -// Serial.print(")\r\n"); -// if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI -// && piccType != MFRC522::PICC_TYPE_MIFARE_1K -// && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { -// Serial.println(F("This sample only works with MIFARE Classic cards.")); -// return; -// } - - // Set new UID - byte newUid[] = NEW_UID; - if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) { - Serial.println(F("Wrote new UID to card.")); - } - - // Halt PICC and re-select it so DumpToSerial doesn't get confused - mfrc522.PICC_HaltA(); - if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) { - return; - } - - // Dump the new memory contents - Serial.println(F("New UID and contents:")); - mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); - - delay(2000); -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino deleted file mode 100644 index 5cb0aaa..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/DumpInfo/DumpInfo.ino +++ /dev/null @@ -1,66 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program showing how to read data from a PICC to serial. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID - * Reader on the Arduino SPI interface. - * - * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE - * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When - * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output - * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages - * when removing the PICC from reading distance too early. - * - * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading). - * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all - * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so - * keep the PICCs at reading distance until complete. - * - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 - mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details - Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); -} - -void loop() { - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) { - return; - } - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) { - return; - } - - // Dump debug info about the card; PICC_HaltA() is automatically called - mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino deleted file mode 100644 index 391a252..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/FixBrickedUID/FixBrickedUID.ino +++ /dev/null @@ -1,53 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program to fix a broken UID changeable MIFARE cards. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * This sample shows how to fix a broken UID changeable MIFARE cards that have a corrupted sector 0. - * - * @author Tom Clement - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -MFRC522::MIFARE_Key key; - -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Warning: this example clears your mifare UID, use with care!")); - - // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } -} - -void loop() { - if ( mfrc522.MIFARE_UnbrickUidSector(false) ) { - Serial.println(F("Cleared sector 0, set UID to 1234. Card should be responsive again now.")); - } - delay(1000); -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino deleted file mode 100644 index 1d78832..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/MifareClassicValueBlock/MifareClassicValueBlock.ino +++ /dev/null @@ -1,319 +0,0 @@ -/** - * ---------------------------------------------------------------------------- - * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid - * for further details and other examples. - * - * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. - * - * Released into the public domain. - * ---------------------------------------------------------------------------- - * This sample shows how to setup blocks on a MIFARE Classic PICC (= card/tag) - * to be in "Value Block" mode: in this mode the operations Increment/Decrement, - * Restore and Transfer can be used. - * - * BEWARE: Data will be written to the PICC, in sector #1 (blocks #4 to #7). - * - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -MFRC522::MIFARE_Key key; - -/** - * Initialize. - */ -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - - // Prepare the key (used both as key A and as key B) - // using FFFFFFFFFFFFh which is the default at chip delivery from the factory - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - - Serial.println(F("Scan a MIFARE Classic PICC to demonstrate Value Block mode.")); - Serial.print(F("Using key (for A and B):")); - dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); - Serial.println(); - - Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1")); -} - -/** - * Main loop. - */ -void loop() { - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) - return; - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) - return; - - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - // Check for compatibility - if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI - && piccType != MFRC522::PICC_TYPE_MIFARE_1K - && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { - Serial.println(F("This sample only works with MIFARE Classic cards.")); - return; - } - - // In this sample we use the second sector, - // that is: sector #1, covering block #4 up to and including block #7 - byte sector = 1; - byte valueBlockA = 5; - byte valueBlockB = 6; - byte trailerBlock = 7; - MFRC522::StatusCode status; - byte buffer[18]; - byte size = sizeof(buffer); - int32_t value; - - // Authenticate using key A - Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Show the whole sector as it currently is - Serial.println(F("Current data in sector:")); - mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); - Serial.println(); - - // We need a sector trailer that defines blocks 5 and 6 as Value Blocks and enables key B - // The last block in a sector (block #3 for Mifare Classic 1K) is the Sector Trailer. - // See http://www.nxp.com/documents/data_sheet/MF1S503x.pdf sections 8.6 and 8.7: - // Bytes 0-5: Key A - // Bytes 6-8: Access Bits - // Bytes 9: User data - // Bytes 10-15: Key B (or user data) - byte trailerBuffer[] = { - 255, 255, 255, 255, 255, 255, // Keep default key A - 0, 0, 0, - 0, - 255, 255, 255, 255, 255, 255}; // Keep default key B - // The access bits are stored in a peculiar fashion. - // There are four groups: - // g[0] Access bits for block 0 (for sectors 0-31) - // or blocks 0-4 (for sectors 32-39) - // g[1] Access bits for block 1 (for sectors 0-31) - // or blocks 5-9 (for sectors 32-39) - // g[2] Access bits for block 2 (for sectors 0-31) - // or blocks 10-14 (for sectors 32-39) - // g[3] Access bits for the Sector Trailer: block 3 (for sectors 0-31) - // or block 15 (for sectors 32-39) - // Each group has access bits [C1 C2 C3], in this code C1 is MSB and C3 is LSB. - // Determine the bit pattern needed using MIFARE_SetAccessBits: - // g0=0 access bits for block 0 (of this sector) using [0 0 0] = 000b = 0 - // which means key A|B have r/w for block 0 of this sector - // which (in this example) translates to block #4 within sector #1; - // this is the transport configuration (at factory delivery). - // g1=6 access bits for block 1 (of this sector) using [1 1 0] = 110b = 6 - // which means block 1 (of this sector) is used as a value block, - // which (in this example) translates to block #5 within sector #1; - // where key A|B have r, key B has w, key B can increment, - // and key A|B can decrement, transfer, and restore. - // g2=6 same thing for block 2 (of this sector): set it to a value block; - // which (in this example) translates to block #6 within sector #1; - // g3=3 access bits for block 3 (of this sector): the Sector Trailer here; - // using [0 1 1] = 011b = 3 which means only key B has r/w access - // to the Sector Trailer (block 3 of this sector) from now on - // which (in this example) translates to block #7 within sector #1; - mfrc522.MIFARE_SetAccessBits(&trailerBuffer[6], 0, 6, 6, 3); - - // Read the sector trailer as it is currently stored on the PICC - Serial.println(F("Reading sector trailer...")); - status = mfrc522.MIFARE_Read(trailerBlock, buffer, &size); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - // Check if it matches the desired access pattern already; - // because if it does, we don't need to write it again... - if ( buffer[6] != trailerBuffer[6] - || buffer[7] != trailerBuffer[7] - || buffer[8] != trailerBuffer[8]) { - // They don't match (yet), so write it to the PICC - Serial.println(F("Writing new sector trailer...")); - status = mfrc522.MIFARE_Write(trailerBlock, trailerBuffer, 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - } - - // Authenticate using key B - Serial.println(F("Authenticating again using key B...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // A value block has a 32 bit signed value stored three times - // and an 8 bit address stored 4 times. Make sure that valueBlockA - // and valueBlockB have that format (note that it will only format - // the block when it doesn't comply to the expected format already). - formatValueBlock(valueBlockA); - formatValueBlock(valueBlockB); - - // Add 1 to the value of valueBlockA and store the result in valueBlockA. - Serial.print("Adding 1 to value of block "); Serial.println(valueBlockA); - status = mfrc522.MIFARE_Increment(valueBlockA, 1); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Increment() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - status = mfrc522.MIFARE_Transfer(valueBlockA); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Transfer() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - // Show the new value of valueBlockA - status = mfrc522.MIFARE_GetValue(valueBlockA, &value); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("mifare_GetValue() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - Serial.print("New value of value block "); Serial.print(valueBlockA); - Serial.print(" = "); Serial.println(value); - - // Decrement 10 from the value of valueBlockB and store the result in valueBlockB. - Serial.print("Subtracting 10 from value of block "); Serial.println(valueBlockB); - status = mfrc522.MIFARE_Decrement(valueBlockB, 10); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Decrement() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - status = mfrc522.MIFARE_Transfer(valueBlockB); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Transfer() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - // Show the new value of valueBlockB - status = mfrc522.MIFARE_GetValue(valueBlockB, &value); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("mifare_GetValue() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - Serial.print(F("New value of value block ")); Serial.print(valueBlockB); - Serial.print(F(" = ")); Serial.println(value); - // Check some boundary... - if (value <= -100) { - Serial.println(F("Below -100, so resetting it to 255 = 0xFF just for fun...")); - status = mfrc522.MIFARE_SetValue(valueBlockB, 255); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("mifare_SetValue() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - } - - // Dump the sector data - mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); - Serial.println(); - - // Halt PICC - mfrc522.PICC_HaltA(); - // Stop encryption on PCD - mfrc522.PCD_StopCrypto1(); -} - -/** - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} - -/** - * Ensure that a given block is formatted as a Value Block. - */ -void formatValueBlock(byte blockAddr) { - byte buffer[18]; - byte size = sizeof(buffer); - MFRC522::StatusCode status; - - Serial.print(F("Reading block ")); Serial.println(blockAddr); - status = mfrc522.MIFARE_Read(blockAddr, buffer, &size); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - if ( (buffer[0] == (byte)~buffer[4]) - && (buffer[1] == (byte)~buffer[5]) - && (buffer[2] == (byte)~buffer[6]) - && (buffer[3] == (byte)~buffer[7]) - - && (buffer[0] == buffer[8]) - && (buffer[1] == buffer[9]) - && (buffer[2] == buffer[10]) - && (buffer[3] == buffer[11]) - - && (buffer[12] == (byte)~buffer[13]) - && (buffer[12] == buffer[14]) - && (buffer[12] == (byte)~buffer[15])) { - Serial.println(F("Block has correct Value Block format.")); - } - else { - Serial.println(F("Formatting as Value Block...")); - byte valueBlock[] = { - 0, 0, 0, 0, - 255, 255, 255, 255, - 0, 0, 0, 0, - blockAddr, ~blockAddr, blockAddr, ~blockAddr }; - status = mfrc522.MIFARE_Write(blockAddr, valueBlock, 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino deleted file mode 100644 index b6ff703..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/MinimalInterrupt/MinimalInterrupt.ino +++ /dev/null @@ -1,137 +0,0 @@ -/** - * ---------------------------------------------------------------------------- - * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid - * for further details and other examples. - * - * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. - * - * Released into the public domain. - * ---------------------------------------------------------------------------- - * Minimal example how to use the interrupts to read the UID of a MIFARE Classic PICC - * (= card/tag). - * - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 3 10 - * IRQ ? ? ? ? 2 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 3 // Configurable, see typical pin layout above -#define IRQ_PIN 2 // Configurable, depends on hardware - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -MFRC522::MIFARE_Key key; - -volatile boolean bNewInt = false; -byte regVal = 0x7F; -void activateRec(MFRC522 mfrc522); -void clearInt(MFRC522 mfrc522); - -/** - * Initialize. - */ -void setup() { - Serial.begin(115200); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - - mfrc522.PCD_Init(); // Init MFRC522 card - - /* read and printout the MFRC522 version (valid values 0x91 & 0x92)*/ - Serial.print(F("Ver: 0x")); - byte readReg = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); - Serial.println(readReg, HEX); - - /* setup the IRQ pin*/ - pinMode(IRQ_PIN, INPUT_PULLUP); - - /* - * Allow the ... irq to be propagated to the IRQ pin - * For test purposes propagate the IdleIrq and loAlert - */ - regVal = 0xA0; //rx irq - mfrc522.PCD_WriteRegister(mfrc522.ComIEnReg, regVal); - - bNewInt = false; //interrupt flag - - /*Activate the interrupt*/ - attachInterrupt(digitalPinToInterrupt(IRQ_PIN), readCard, FALLING); - - do { //clear a spourious interrupt at start - ; - } while (!bNewInt); - bNewInt = false; - - Serial.println(F("End setup")); -} - -/** - * Main loop. - */ -void loop() { - if (bNewInt) { //new read interrupt - Serial.print(F("Interrupt. ")); - mfrc522.PICC_ReadCardSerial(); //read the tag data - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - - clearInt(mfrc522); - mfrc522.PICC_HaltA(); - bNewInt = false; - } - - // The receiving block needs regular retriggering (tell the tag it should transmit??) - // (mfrc522.PCD_WriteRegister(mfrc522.FIFODataReg,mfrc522.PICC_CMD_REQA);) - activateRec(mfrc522); - delay(100); -} //loop() - -/** - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} -/** - * MFRC522 interrupt serving routine - */ -void readCard() { - bNewInt = true; -} - -/* - * The function sending to the MFRC522 the needed commands to activate the reception - */ -void activateRec(MFRC522 mfrc522) { - mfrc522.PCD_WriteRegister(mfrc522.FIFODataReg, mfrc522.PICC_CMD_REQA); - mfrc522.PCD_WriteRegister(mfrc522.CommandReg, mfrc522.PCD_Transceive); - mfrc522.PCD_WriteRegister(mfrc522.BitFramingReg, 0x87); -} - -/* - * The function to clear the pending interrupt bits after interrupt serving routine - */ -void clearInt(MFRC522 mfrc522) { - mfrc522.PCD_WriteRegister(mfrc522.ComIrqReg, 0x7F); -} - diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino deleted file mode 100644 index fc9f22c..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/Ntag216_AUTH/Ntag216_AUTH.ino +++ /dev/null @@ -1,58 +0,0 @@ -//This example show how you can get Authenticated by the NTAG213,215,216 by default the tags are unprotected in order to protect them we need to write 4 different values: -// Using mfrc522.MIFARE_Ultralight_Write(PageNum, Data, #Databytes)) -//1.- we need to write the 32bit passWord to page 0xE5 !for ntag 213 and 215 page is different refer to nxp documentation! -//2.- Now Write the 16 bits pACK to the page 0xE6 use the 2 high bytes like this: pACKH + pACKL + 00 + 00 after an authentication the tag will return this secret bytes -//3.- Now we need to write the first page we want to protect this is a 1 byte data in page 0xE3 we need to write 00 + 00 + 00 + firstPage all pages after this one are write protected -// Now WRITE protection is ACTIVATED so we need to get authenticated in order to write the last data -//4.- Finally we need to write an access record in order to READ protect the card this step is optional only if you want to read protect also write 80 + 00 + 00 + 00 to 0xE4 -//After completeing all these steps you will nee to authentiate first in order to read or write ant page after the first page you selected to protect -//To disengage proection just write the page (0xE3) to 00 + 00 + 00 + FF that going to remove all protection -//Made by GARGANTUA from RoboCreators.com & paradoxalabs.com - -#include -#include - -#define RST_PIN 9 // -#define SS_PIN 10 // - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 - Serial.println(F("Scan PICC to see UID, type, and data blocks...")); -} - -void loop() { - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) { - return; - } - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) { - return; - } - - byte PSWBuff[] = {0xFF, 0xFF, 0xFF, 0xFF}; //32 bit PassWord default FFFFFFFF - byte pACK[] = {0, 0}; //16 bit PassWord ACK returned by the NFCtag - - Serial.print("Auth: "); - Serial.println(mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK)); //Request Authentification if return STATUS_OK we are good - - //Print PassWordACK - Serial.print(pACK[0], HEX); - Serial.println(pACK[1], HEX); - - byte WBuff[] = {0x00, 0x00, 0x00, 0x04}; - byte RBuff[18]; - - //Serial.print("CHG BLK: "); - //Serial.println(mfrc522.MIFARE_Ultralight_Write(0xE3, WBuff, 4)); //How to write to a page - - mfrc522.PICC_DumpMifareUltralightToSerial(); //This is a modifier dunp just cghange the for cicle to < 232 instead of < 16 in order to see all the pages on NTAG216 - - delay(3000); -} \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino deleted file mode 100644 index fc7361e..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/RFID-Cloner/RFID-Cloner.ino +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copy the RFID card data into variables and then - * scan the second empty card to copy all the date - * ---------------------------------------------------------------------------- - * Example sketch/program which will try the most used default keys listed in - * https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys to dump the - * block 0 of a MIFARE RFID card using a RFID-RC522 reader. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -byte buffer[18]; -byte block; -byte waarde[64][16]; -MFRC522::StatusCode status; - -MFRC522::MIFARE_Key key; - -// Number of known default keys (hard-coded) -// NOTE: Synchronize the NR_KNOWN_KEYS define with the defaultKeys[] array -#define NR_KNOWN_KEYS 8 -// Known keys, see: https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys -byte knownKeys[NR_KNOWN_KEYS][MFRC522::MF_KEY_SIZE] = { - {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // FF FF FF FF FF FF = factory default - {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // A0 A1 A2 A3 A4 A5 - {0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5}, // B0 B1 B2 B3 B4 B5 - {0x4d, 0x3a, 0x99, 0xc3, 0x51, 0xdd}, // 4D 3A 99 C3 51 DD - {0x1a, 0x98, 0x2c, 0x7e, 0x45, 0x9a}, // 1A 98 2C 7E 45 9A - {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // D3 F7 D3 F7 D3 F7 - {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}, // AA BB CC DD EE FF - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // 00 00 00 00 00 00 -}; - -char choice; -/* - * Initialize. - */ -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Try the most used default keys to print block 0 to 63 of a MIFARE PICC.")); - Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); - - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } -} - - - - //Via seriele monitor de bytes uitlezen in hexadecimaal - -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} -//Via seriele monitor de bytes uitlezen in ASCI - -void dump_byte_array1(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.write(buffer[i]); - } -} - -/* - * Try using the PICC (the tag/card) with the given key to access block 0 to 63. - * On success, it will show the key details, and dump the block data on Serial. - * - * @return true when the given key worked, false otherwise. - */ - -boolean try_key(MFRC522::MIFARE_Key *key) -{ - boolean result = false; - - for(byte block = 0; block < 64; block++){ - - // Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return false; - } - - // Read block - byte byteCount = sizeof(buffer); - status = mfrc522.MIFARE_Read(block, buffer, &byteCount); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - else { - // Successful read - result = true; - Serial.print(F("Success with key:")); - dump_byte_array((*key).keyByte, MFRC522::MF_KEY_SIZE); - Serial.println(); - - // Dump block data - Serial.print(F("Block ")); Serial.print(block); Serial.print(F(":")); - dump_byte_array1(buffer, 16); //omzetten van hex naar ASCI - Serial.println(); - - for (int p = 0; p < 16; p++) //De 16 bits uit de block uitlezen - { - waarde [block][p] = buffer[p]; - Serial.print(waarde[block][p]); - Serial.print(" "); - } - - } - } - Serial.println(); - - Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); - - mfrc522.PICC_HaltA(); // Halt PICC - mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD - return result; - - start(); -} - -/* - * Main loop. - */ -void loop() { - start(); - -} - -void start(){ - choice = Serial.read(); - - if(choice == '1') - { - Serial.println("Read the card"); - keuze1(); - - } - else if(choice == '2') - { - Serial.println("See what is in the variables"); - keuze2(); - } - else if(choice == '3') - { - Serial.println("Copying the data on to the new card"); - keuze3(); - } -} - -void keuze2(){ //Test waardes in blokken - - for(block = 4; block <= 62; block++){ - if(block == 7 || block == 11 || block == 15 || block == 19 || block == 23 || block == 27 || block == 31 || block == 35 || block == 39 || block == 43 || block == 47 || block == 51 || block == 55 || block == 59){ - block ++; - } - - Serial.print(F("Writing data into block ")); - Serial.print(block); - Serial.println("\n"); - - for(int j = 0; j < 16; j++){ - Serial.print(waarde[block][j]); - Serial.print(" "); - } - Serial.println("\n"); - - } - - Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); - start(); -} - -void keuze3(){ //Copy the data in the new card -Serial.println("Insert new card..."); - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) - return; - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) - return; - - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - // Try the known default keys - /*MFRC522::MIFARE_Key key; - for (byte k = 0; k < NR_KNOWN_KEYS; k++) { - // Copy the known key into the MIFARE_Key structure - for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { - key.keyByte[i] = knownKeys[k][i]; - } - }*/ - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - - for(int i = 4; i <= 62; i++){ //De blocken 4 tot 62 kopieren, behalve al deze onderstaande blocken (omdat deze de authenticatie blokken zijn) - if(i == 7 || i == 11 || i == 15 || i == 19 || i == 23 || i == 27 || i == 31 || i == 35 || i == 39 || i == 43 || i == 47 || i == 51 || i == 55 || i == 59){ - i++; - } - block = i; - - // Authenticate using key A - Serial.println(F("Authenticating using key A...")); - status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Authenticate using key B - Serial.println(F("Authenticating again using key B...")); - status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Write data to the block - Serial.print(F("Writing data into block ")); - Serial.print(block); - Serial.println("\n"); - - dump_byte_array(waarde[block], 16); - - - status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(block, waarde[block], 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - - - Serial.println("\n"); - - } - mfrc522.PICC_HaltA(); // Halt PICC - mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD - - Serial.println("1.Read card \n2.Write to card \n3.Copy the data."); - start(); -} - -void keuze1(){ //Read card - Serial.println("Insert card..."); - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) - return; - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) - return; - - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - // Try the known default keys - MFRC522::MIFARE_Key key; - for (byte k = 0; k < NR_KNOWN_KEYS; k++) { - // Copy the known key into the MIFARE_Key structure - for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { - key.keyByte[i] = knownKeys[k][i]; - } - // Try the key - if (try_key(&key)) { - // Found and reported on the key and block, - // no need to try other keys for this PICC - break; - } - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino deleted file mode 100644 index 6f7d822..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadAndWrite/ReadAndWrite.ino +++ /dev/null @@ -1,200 +0,0 @@ -/** - * ---------------------------------------------------------------------------- - * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid - * for further details and other examples. - * - * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. - * - * Released into the public domain. - * ---------------------------------------------------------------------------- - * This sample shows how to read and write data blocks on a MIFARE Classic PICC - * (= card/tag). - * - * BEWARE: Data will be written to the PICC, in sector #1 (blocks #4 to #7). - * - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -MFRC522::MIFARE_Key key; - -/** - * Initialize. - */ -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - - // Prepare the key (used both as key A and as key B) - // using FFFFFFFFFFFFh which is the default at chip delivery from the factory - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - - Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write.")); - Serial.print(F("Using key (for A and B):")); - dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); - Serial.println(); - - Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1")); -} - -/** - * Main loop. - */ -void loop() { - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) - return; - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) - return; - - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - // Check for compatibility - if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI - && piccType != MFRC522::PICC_TYPE_MIFARE_1K - && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { - Serial.println(F("This sample only works with MIFARE Classic cards.")); - return; - } - - // In this sample we use the second sector, - // that is: sector #1, covering block #4 up to and including block #7 - byte sector = 1; - byte blockAddr = 4; - byte dataBlock[] = { - 0x01, 0x02, 0x03, 0x04, // 1, 2, 3, 4, - 0x05, 0x06, 0x07, 0x08, // 5, 6, 7, 8, - 0x08, 0x09, 0xff, 0x0b, // 9, 10, 255, 12, - 0x0c, 0x0d, 0x0e, 0x0f // 13, 14, 15, 16 - }; - byte trailerBlock = 7; - MFRC522::StatusCode status; - byte buffer[18]; - byte size = sizeof(buffer); - - // Authenticate using key A - Serial.println(F("Authenticating using key A...")); - status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Show the whole sector as it currently is - Serial.println(F("Current data in sector:")); - mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); - Serial.println(); - - // Read data from the block - Serial.print(F("Reading data from block ")); Serial.print(blockAddr); - Serial.println(F(" ...")); - status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":")); - dump_byte_array(buffer, 16); Serial.println(); - Serial.println(); - - // Authenticate using key B - Serial.println(F("Authenticating again using key B...")); - status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Write data to the block - Serial.print(F("Writing data into block ")); Serial.print(blockAddr); - Serial.println(F(" ...")); - dump_byte_array(dataBlock, 16); Serial.println(); - status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - Serial.println(); - - // Read data from the block (again, should now be what we have written) - Serial.print(F("Reading data from block ")); Serial.print(blockAddr); - Serial.println(F(" ...")); - status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - } - Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":")); - dump_byte_array(buffer, 16); Serial.println(); - - // Check that data in block is what we have written - // by counting the number of bytes that are equal - Serial.println(F("Checking result...")); - byte count = 0; - for (byte i = 0; i < 16; i++) { - // Compare buffer (= what we've read) with dataBlock (= what we've written) - if (buffer[i] == dataBlock[i]) - count++; - } - Serial.print(F("Number of bytes that match = ")); Serial.println(count); - if (count == 16) { - Serial.println(F("Success :-)")); - } else { - Serial.println(F("Failure, no match :-(")); - Serial.println(F(" perhaps the write didn't work properly...")); - } - Serial.println(); - - // Dump the sector data - Serial.println(F("Current data in sector:")); - mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); - Serial.println(); - - // Halt PICC - mfrc522.PICC_HaltA(); - // Stop encryption on PCD - mfrc522.PCD_StopCrypto1(); -} - -/** - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino deleted file mode 100644 index 9ff99da..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadNUID/ReadNUID.ino +++ /dev/null @@ -1,127 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program showing how to read new NUID from a PICC to serial. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * Example sketch/program showing how to the read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID - * Reader on the Arduino SPI interface. - * - * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE - * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When - * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output - * will show the type, and the NUID if a new card has been detected. Note: you may see "Timeout in communication" messages - * when removing the PICC from reading distance too early. - * - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include -#include - -#define SS_PIN 10 -#define RST_PIN 9 - -MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class - -MFRC522::MIFARE_Key key; - -// Init array that will store new NUID -byte nuidPICC[4]; - -void setup() { - Serial.begin(9600); - SPI.begin(); // Init SPI bus - rfid.PCD_Init(); // Init MFRC522 - - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - - Serial.println(F("This code scan the MIFARE Classsic NUID.")); - Serial.print(F("Using the following key:")); - printHex(key.keyByte, MFRC522::MF_KEY_SIZE); -} - -void loop() { - - // Look for new cards - if ( ! rfid.PICC_IsNewCardPresent()) - return; - - // Verify if the NUID has been readed - if ( ! rfid.PICC_ReadCardSerial()) - return; - - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); - Serial.println(rfid.PICC_GetTypeName(piccType)); - - // Check is the PICC of Classic MIFARE type - if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && - piccType != MFRC522::PICC_TYPE_MIFARE_1K && - piccType != MFRC522::PICC_TYPE_MIFARE_4K) { - Serial.println(F("Your tag is not of type MIFARE Classic.")); - return; - } - - if (rfid.uid.uidByte[0] != nuidPICC[0] || - rfid.uid.uidByte[1] != nuidPICC[1] || - rfid.uid.uidByte[2] != nuidPICC[2] || - rfid.uid.uidByte[3] != nuidPICC[3] ) { - Serial.println(F("A new card has been detected.")); - - // Store NUID into nuidPICC array - for (byte i = 0; i < 4; i++) { - nuidPICC[i] = rfid.uid.uidByte[i]; - } - - Serial.println(F("The NUID tag is:")); - Serial.print(F("In hex: ")); - printHex(rfid.uid.uidByte, rfid.uid.size); - Serial.println(); - Serial.print(F("In dec: ")); - printDec(rfid.uid.uidByte, rfid.uid.size); - Serial.println(); - } - else Serial.println(F("Card read previously.")); - - // Halt PICC - rfid.PICC_HaltA(); - - // Stop encryption on PCD - rfid.PCD_StopCrypto1(); -} - - -/** - * Helper routine to dump a byte array as hex values to Serial. - */ -void printHex(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} - -/** - * Helper routine to dump a byte array as dec values to Serial. - */ -void printDec(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], DEC); - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino deleted file mode 100644 index c14c17a..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino +++ /dev/null @@ -1,97 +0,0 @@ -/** - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program showing how to read data from more than one PICC to serial. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * Example sketch/program showing how to read data from more than one PICC (that is: a RFID Tag or Card) using a - * MFRC522 based RFID Reader on the Arduino SPI interface. - * - * Warning: This may not work! Multiple devices at one SPI are difficult and cause many trouble!! Engineering skill - * and knowledge are required! - * - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS 1 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required ** - * SPI SS 2 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required ** - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2 -#define SS_2_PIN 8 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1 - -#define NR_OF_READERS 2 - -byte ssPins[] = {SS_1_PIN, SS_2_PIN}; - -MFRC522 mfrc522[NR_OF_READERS]; // Create MFRC522 instance. - -/** - * Initialize. - */ -void setup() { - - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - - SPI.begin(); // Init SPI bus - - for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) { - mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card - Serial.print(F("Reader ")); - Serial.print(reader); - Serial.print(F(": ")); - mfrc522[reader].PCD_DumpVersionToSerial(); - } -} - -/** - * Main loop. - */ -void loop() { - - for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) { - // Look for new cards - - if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) { - Serial.print(F("Reader ")); - Serial.print(reader); - // Show some details of the PICC (that is: the tag/card) - Serial.print(F(": Card UID:")); - dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak); - Serial.println(mfrc522[reader].PICC_GetTypeName(piccType)); - - // Halt PICC - mfrc522[reader].PICC_HaltA(); - // Stop encryption on PCD - mfrc522[reader].PCD_StopCrypto1(); - } //if (mfrc522[reader].PICC_IsNewC - } //for(uint8_t reader -} - -/** - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino deleted file mode 100644 index 943ce5b..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/firmware_check/firmware_check.ino +++ /dev/null @@ -1,62 +0,0 @@ -/* - * -------------------------------------------------------------------------------------------------------------------- - * Example sketch/program to test your firmware. - * -------------------------------------------------------------------------------------------------------------------- - * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid - * - * This example test the firmware of your MFRC522 reader module, only known version can be checked. If the test passed - * it do not mean that your module is faultless! Some modules have bad or broken antennas or the PICC is broken. - * NOTE: for more informations read the README.rst - * - * @author Rotzbua - * @license Released into the public domain. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -/** - * Check firmware only once at startup - */ -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 module - - Serial.println(F("*****************************")); - Serial.println(F("MFRC522 Digital self test")); - Serial.println(F("*****************************")); - mfrc522.PCD_DumpVersionToSerial(); // Show version of PCD - MFRC522 Card Reader - Serial.println(F("-----------------------------")); - Serial.println(F("Only known versions supported")); - Serial.println(F("-----------------------------")); - Serial.println(F("Performing test...")); - bool result = mfrc522.PCD_PerformSelfTest(); // perform the test - Serial.println(F("-----------------------------")); - Serial.print(F("Result: ")); - if (result) - Serial.println(F("OK")); - else - Serial.println(F("DEFECT or UNKNOWN")); - Serial.println(); -} - -void loop() {} // nothing to do diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino deleted file mode 100644 index 78227cf..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_default_keys/rfid_default_keys.ino +++ /dev/null @@ -1,157 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid - * for further details and other examples. - * - * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. - * - * Released into the public domain. - * ---------------------------------------------------------------------------- - * Example sketch/program which will try the most used default keys listed in - * https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys to dump the - * block 0 of a MIFARE RFID card using a RFID-RC522 reader. - * - * Typical pin layout used: - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. - -// Number of known default keys (hard-coded) -// NOTE: Synchronize the NR_KNOWN_KEYS define with the defaultKeys[] array -#define NR_KNOWN_KEYS 8 -// Known keys, see: https://code.google.com/p/mfcuk/wiki/MifareClassicDefaultKeys -byte knownKeys[NR_KNOWN_KEYS][MFRC522::MF_KEY_SIZE] = { - {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // FF FF FF FF FF FF = factory default - {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // A0 A1 A2 A3 A4 A5 - {0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5}, // B0 B1 B2 B3 B4 B5 - {0x4d, 0x3a, 0x99, 0xc3, 0x51, 0xdd}, // 4D 3A 99 C3 51 DD - {0x1a, 0x98, 0x2c, 0x7e, 0x45, 0x9a}, // 1A 98 2C 7E 45 9A - {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // D3 F7 D3 F7 D3 F7 - {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}, // AA BB CC DD EE FF - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // 00 00 00 00 00 00 -}; - -/* - * Initialize. - */ -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Try the most used default keys to print block 0 of a MIFARE PICC.")); -} - -/* - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { - for (byte i = 0; i < bufferSize; i++) { - Serial.print(buffer[i] < 0x10 ? " 0" : " "); - Serial.print(buffer[i], HEX); - } -} - -/* - * Try using the PICC (the tag/card) with the given key to access block 0. - * On success, it will show the key details, and dump the block data on Serial. - * - * @return true when the given key worked, false otherwise. - */ -boolean try_key(MFRC522::MIFARE_Key *key) -{ - boolean result = false; - byte buffer[18]; - byte block = 0; - MFRC522::StatusCode status; - - // http://arduino.stackexchange.com/a/14316 - if ( ! mfrc522.PICC_IsNewCardPresent()) - return false; - if ( ! mfrc522.PICC_ReadCardSerial()) - return false; - // Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - // Serial.print(F("PCD_Authenticate() failed: ")); - // Serial.println(mfrc522.GetStatusCodeName(status)); - return false; - } - - // Read block - byte byteCount = sizeof(buffer); - status = mfrc522.MIFARE_Read(block, buffer, &byteCount); - if (status != MFRC522::STATUS_OK) { - // Serial.print(F("MIFARE_Read() failed: ")); - // Serial.println(mfrc522.GetStatusCodeName(status)); - } - else { - // Successful read - result = true; - Serial.print(F("Success with key:")); - dump_byte_array((*key).keyByte, MFRC522::MF_KEY_SIZE); - Serial.println(); - // Dump block data - Serial.print(F("Block ")); Serial.print(block); Serial.print(F(":")); - dump_byte_array(buffer, 16); - Serial.println(); - } - Serial.println(); - - mfrc522.PICC_HaltA(); // Halt PICC - mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD - return result; -} - -/* - * Main loop. - */ -void loop() { - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) - return; - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) - return; - - // Show some details of the PICC (that is: the tag/card) - Serial.print(F("Card UID:")); - dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); - Serial.println(); - Serial.print(F("PICC type: ")); - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - // Try the known default keys - MFRC522::MIFARE_Key key; - for (byte k = 0; k < NR_KNOWN_KEYS; k++) { - // Copy the known key into the MIFARE_Key structure - for (byte i = 0; i < MFRC522::MF_KEY_SIZE; i++) { - key.keyByte[i] = knownKeys[k][i]; - } - // Try the key - if (try_key(&key)) { - // Found and reported on the key and block, - // no need to try other keys for this PICC - break; - } - } -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino deleted file mode 100644 index 5271cd1..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_read_personal_data/rfid_read_personal_data.ino +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Initial Author: ryand1011 (https://github.com/ryand1011) - * - * Reads data written by a program such as "rfid_write_personal_data.ino" - * - * See: https://github.com/miguelbalboa/rfid/tree/master/examples/rfid_write_personal_data - * - * Uses MIFARE RFID card using RFID-RC522 reader - * Uses MFRC522 - Library - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 -*/ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -//*****************************************************************************************// -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Read personal data on a MIFARE PICC:")); //shows in serial that it is ready to read -} - -//*****************************************************************************************// -void loop() { - - // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - MFRC522::MIFARE_Key key; - for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF; - - //some variables we need - byte block; - byte len; - MFRC522::StatusCode status; - - //------------------------------------------- - - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) { - return; - } - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) { - return; - } - - Serial.println(F("**Card Detected:**")); - - //------------------------------------------- - - mfrc522.PICC_DumpDetailsToSerial(&(mfrc522.uid)); //dump some details about the card - - //mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); //uncomment this to see all blocks in hex - - //------------------------------------------- - - Serial.print(F("Name: ")); - - byte buffer1[18]; - - block = 4; - len = 18; - - //------------------------------------------- GET FIRST NAME - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 4, &key, &(mfrc522.uid)); //line 834 of MFRC522.cpp file - if (status != MFRC522::STATUS_OK) { - Serial.print(F("Authentication failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - status = mfrc522.MIFARE_Read(block, buffer1, &len); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("Reading failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - //PRINT FIRST NAME - for (uint8_t i = 0; i < 16; i++) - { - if (buffer1[i] != 32) - { - Serial.write(buffer1[i]); - } - } - Serial.print(" "); - - //---------------------------------------- GET LAST NAME - - byte buffer2[18]; - block = 1; - - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 1, &key, &(mfrc522.uid)); //line 834 - if (status != MFRC522::STATUS_OK) { - Serial.print(F("Authentication failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - status = mfrc522.MIFARE_Read(block, buffer2, &len); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("Reading failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - //PRINT LAST NAME - for (uint8_t i = 0; i < 16; i++) { - Serial.write(buffer2[i] ); - } - - - //---------------------------------------- - - Serial.println(F("\n**End Reading**\n")); - - delay(1000); //change value if you want to read cards faster - - mfrc522.PICC_HaltA(); - mfrc522.PCD_StopCrypto1(); -} -//*****************************************************************************************// diff --git a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino b/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino deleted file mode 100644 index 75bb2fb..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/examples/rfid_write_personal_data/rfid_write_personal_data.ino +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Write personal data of a MIFARE RFID card using a RFID-RC522 reader - * Uses MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. - * ----------------------------------------------------------------------------------------- - * MFRC522 Arduino Arduino Arduino Arduino Arduino - * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro - * Signal Pin Pin Pin Pin Pin Pin - * ----------------------------------------------------------------------------------------- - * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST - * SPI SS SDA(SS) 10 53 D10 10 10 - * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 - * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 - * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 - * - * Hardware required: - * Arduino - * PCD (Proximity Coupling Device): NXP MFRC522 Contactless Reader IC - * PICC (Proximity Integrated Circuit Card): A card or tag using the ISO 14443A interface, eg Mifare or NTAG203. - * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com. - */ - -#include -#include - -#define RST_PIN 9 // Configurable, see typical pin layout above -#define SS_PIN 10 // Configurable, see typical pin layout above - -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance - -void setup() { - Serial.begin(9600); // Initialize serial communications with the PC - SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println(F("Write personal data on a MIFARE PICC ")); -} - -void loop() { - - // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - MFRC522::MIFARE_Key key; - for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF; - - // Look for new cards - if ( ! mfrc522.PICC_IsNewCardPresent()) { - return; - } - - // Select one of the cards - if ( ! mfrc522.PICC_ReadCardSerial()) { - return; - } - - Serial.print(F("Card UID:")); //Dump UID - for (byte i = 0; i < mfrc522.uid.size; i++) { - Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); - Serial.print(mfrc522.uid.uidByte[i], HEX); - } - Serial.print(F(" PICC type: ")); // Dump PICC type - MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); - Serial.println(mfrc522.PICC_GetTypeName(piccType)); - - byte buffer[34]; - byte block; - MFRC522::StatusCode status; - byte len; - - Serial.setTimeout(20000L) ; // wait until 20 seconds for input from serial - // Ask personal data: Family name - Serial.println(F("Type Family name, ending with #")); - len = Serial.readBytesUntil('#', (char *) buffer, 30) ; // read family name from serial - for (byte i = len; i < 30; i++) buffer[i] = ' '; // pad with spaces - - block = 1; - //Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - else Serial.println(F("PCD_Authenticate() success: ")); - - // Write block - status = mfrc522.MIFARE_Write(block, buffer, 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - else Serial.println(F("MIFARE_Write() success: ")); - - block = 2; - //Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Write block - status = mfrc522.MIFARE_Write(block, &buffer[16], 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - else Serial.println(F("MIFARE_Write() success: ")); - - // Ask personal data: First name - Serial.println(F("Type First name, ending with #")); - len = Serial.readBytesUntil('#', (char *) buffer, 20) ; // read first name from serial - for (byte i = len; i < 20; i++) buffer[i] = ' '; // pad with spaces - - block = 4; - //Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Write block - status = mfrc522.MIFARE_Write(block, buffer, 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - else Serial.println(F("MIFARE_Write() success: ")); - - block = 5; - //Serial.println(F("Authenticating using key A...")); - status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - - // Write block - status = mfrc522.MIFARE_Write(block, &buffer[16], 16); - if (status != MFRC522::STATUS_OK) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(mfrc522.GetStatusCodeName(status)); - return; - } - else Serial.println(F("MIFARE_Write() success: ")); - - - Serial.println(" "); - mfrc522.PICC_HaltA(); // Halt PICC - mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD - -} \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/MFRC522/keywords.txt b/SD_v2/Makefile_Build/libs/MFRC522/keywords.txt deleted file mode 100644 index 46363a7..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/keywords.txt +++ /dev/null @@ -1,219 +0,0 @@ -####################################### -# Syntax Coloring Map for library MFRC522 -####################################### - -####################################### -# KEYWORD1 Classes, datatypes, and C++ keywords -####################################### -MFRC522 KEYWORD1 -MFRC522Extended KEYWORD1 -PCD_Register KEYWORD1 -PCD_Command KEYWORD1 -PCD_RxGain KEYWORD1 -PICC_Command KEYWORD1 -MIFARE_Misc KEYWORD1 -PICC_Type KEYWORD1 -StatusCode KEYWORD1 -TagBitRates KEYWORD1 -Uid KEYWORD1 -CardInfo KEYWORD1 -MIFARE_Key KEYWORD1 -PcbBlock KEYWORD1 - -####################################### -# KEYWORD2 Methods and functions -####################################### - -# Basic interface functions for communicating with the MFRC522 -PCD_WriteRegister KEYWORD2 -PCD_WriteRegister KEYWORD2 -PCD_ReadRegister KEYWORD2 -PCD_ReadRegister KEYWORD2 -setBitMask KEYWORD2 -PCD_SetRegisterBitMask KEYWORD2 -PCD_ClearRegisterBitMask KEYWORD2 -PCD_CalculateCRC KEYWORD2 - -# Functions for manipulating the MFRC522 -PCD_Init KEYWORD2 -PCD_Reset KEYWORD2 -PCD_AntennaOn KEYWORD2 -PCD_AntennaOff KEYWORD2 -PCD_GetAntennaGain KEYWORD2 -PCD_SetAntennaGain KEYWORD2 -PCD_PerformSelfTest KEYWORD2 - -# Functions for communicating with PICCs -PCD_TransceiveData KEYWORD2 -PCD_CommunicateWithPICC KEYWORD2 -PICC_RequestA KEYWORD2 -PICC_WakeupA KEYWORD2 -PICC_REQA_or_WUPA KEYWORD2 -PICC_Select KEYWORD2 -PICC_HaltA KEYWORD2 -PICC_RATS KEYWORD2 -PICC_PPS KEYWORD2 - -# Functions for communicating with ISO/IEC 14433-4 cards -TCL_Transceive KEYWORD2 -TCL_TransceiveRBlock KEYWORD2 -TCL_Deselect KEYWORD2 - -# Functions for communicating with MIFARE PICCs -PCD_Authenticate KEYWORD2 -PCD_StopCrypto1 KEYWORD2 -MIFARE_Read KEYWORD2 -MIFARE_Write KEYWORD2 -MIFARE_Increment KEYWORD2 -MIFARE_Ultralight_Write KEYWORD2 -MIFARE_GetValue KEYWORD2 -MIFARE_SetValue KEYWORD2 -PCD_NTAG216_AUTH KEYWORD2 - -# Support functions -PCD_MIFARE_Transceive KEYWORD2 -GetStatusCodeName KEYWORD2 -PICC_GetType KEYWORD2 -PICC_GetTypeName KEYWORD2 - -# Support functions for debuging -PCD_DumpVersionToSerial KEYWORD2 -PICC_DumpToSerial KEYWORD2 -PICC_DumpDetailsToSerial KEYWORD2 -PICC_DumpMifareClassicToSerial KEYWORD2 -PICC_DumpMifareClassicSectorToSerial KEYWORD2 -PICC_DumpMifareUltralightToSerial KEYWORD2 -PICC_DumpISO14443_4 KEYWORD2 - -# Advanced functions for MIFARE -MIFARE_SetAccessBits KEYWORD2 -MIFARE_OpenUidBackdoor KEYWORD2 -MIFARE_SetUid KEYWORD2 -MIFARE_UnbrickUidSector KEYWORD2 - -# Convenience functions - does not add extra functionality -PICC_IsNewCardPresent KEYWORD2 -PICC_ReadCardSerial KEYWORD2 - -####################################### -# KEYWORD3 setup and loop functions, as well as the Serial keywords -####################################### - -####################################### -LITERAL1 Constants -####################################### -CommandReg LITERAL1 -ComIEnReg LITERAL1 -DivIEnReg LITERAL1 -ComIrqReg LITERAL1 -DivIrqReg LITERAL1 -ErrorReg LITERAL1 -Status1Reg LITERAL1 -Status2Reg LITERAL1 -FIFODataReg LITERAL1 -FIFOLevelReg LITERAL1 -WaterLevelReg LITERAL1 -ControlReg LITERAL1 -BitFramingReg LITERAL1 -CollReg LITERAL1 -ModeReg LITERAL1 -TxModeReg LITERAL1 -RxModeReg LITERAL1 -TxControlReg LITERAL1 -TxASKReg LITERAL1 -TxSelReg LITERAL1 -RxSelReg LITERAL1 -RxThresholdReg LITERAL1 -DemodReg LITERAL1 -MfTxReg LITERAL1 -MfRxReg LITERAL1 -SerialSpeedReg LITERAL1 -CRCResultRegH LITERAL1 -CRCResultRegL LITERAL1 -ModWidthReg LITERAL1 -RFCfgReg LITERAL1 -GsNReg LITERAL1 -CWGsPReg LITERAL1 -ModGsPReg LITERAL1 -TModeReg LITERAL1 -TPrescalerReg LITERAL1 -TReloadRegH LITERAL1 -TReloadRegL LITERAL1 -TCounterValueRegH LITERAL1 -TCounterValueRegL LITERAL1 -TestSel1Reg LITERAL1 -TestSel2Reg LITERAL1 -TestPinEnReg LITERAL1 -TestPinValueReg LITERAL1 -TestBusReg LITERAL1 -AutoTestReg LITERAL1 -VersionReg LITERAL1 -AnalogTestReg LITERAL1 -TestDAC1Reg LITERAL1 -TestDAC2Reg LITERAL1 -TestADCReg LITERAL1 -PCD_Idle LITERAL1 -PCD_Mem LITERAL1 -PCD_GenerateRandomID LITERAL1 -PCD_CalcCRC LITERAL1 -PCD_Transmit LITERAL1 -PCD_NoCmdChange LITERAL1 -PCD_Receive LITERAL1 -PCD_Transceive LITERAL1 -PCD_MFAuthent LITERAL1 -PCD_SoftReset LITERAL1 -RxGain_18dB LITERAL1 -RxGain_23dB LITERAL1 -RxGain_18dB_2 LITERAL1 -RxGain_23dB_2 LITERAL1 -RxGain_33dB LITERAL1 -RxGain_38dB LITERAL1 -RxGain_43dB LITERAL1 -RxGain_48dB LITERAL1 -RxGain_min LITERAL1 -RxGain_avg LITERAL1 -RxGain_max LITERAL1 -PICC_CMD_REQA LITERAL1 -PICC_CMD_WUPA LITERAL1 -PICC_CMD_CT LITERAL1 -PICC_CMD_SEL_CL1 LITERAL1 -PICC_CMD_SEL_CL2 LITERAL1 -PICC_CMD_SEL_CL3 LITERAL1 -PICC_CMD_HLTA LITERAL1 -PICC_CMD_RATS LITERAL1 -PICC_CMD_MF_AUTH_KEY_A LITERAL1 -PICC_CMD_MF_AUTH_KEY_B LITERAL1 -PICC_CMD_MF_READ LITERAL1 -PICC_CMD_MF_WRITE LITERAL1 -PICC_CMD_MF_DECREMENT LITERAL1 -PICC_CMD_MF_INCREMENT LITERAL1 -PICC_CMD_MF_RESTORE LITERAL1 -PICC_CMD_MF_TRANSFER LITERAL1 -PICC_CMD_UL_WRITE LITERAL1 -MF_ACK LITERAL1 -MF_KEY_SIZE LITERAL1 -PICC_TYPE_UNKNOWN LITERAL1 -PICC_TYPE_ISO_14443_4 LITERAL1 -PICC_TYPE_ISO_18092 LITERAL1 -PICC_TYPE_MIFARE_MINI LITERAL1 -PICC_TYPE_MIFARE_1K LITERAL1 -PICC_TYPE_MIFARE_4K LITERAL1 -PICC_TYPE_MIFARE_UL LITERAL1 -PICC_TYPE_MIFARE_PLUS LITERAL1 -PICC_TYPE_MIFARE_DESFIRE LITERAL1 -PICC_TYPE_TNP3XXX LITERAL1 -PICC_TYPE_NOT_COMPLETE LITERAL1 -STATUS_OK LITERAL1 -STATUS_ERROR LITERAL1 -STATUS_COLLISION LITERAL1 -STATUS_TIMEOUT LITERAL1 -STATUS_NO_ROOM LITERAL1 -STATUS_INTERNAL_ERROR LITERAL1 -STATUS_INVALID LITERAL1 -STATUS_CRC_WRONG LITERAL1 -STATUS_MIFARE_NACK LITERAL1 -FIFO_SIZE LITERAL1 -BITRATE_106KBITS LITERAL1 -BITRATE_212KBITS LITERAL1 -BITRATE_424KBITS LITERAL1 -BITRATE_848KBITS LITERAL1 \ No newline at end of file diff --git a/SD_v2/Makefile_Build/libs/MFRC522/library.json b/SD_v2/Makefile_Build/libs/MFRC522/library.json deleted file mode 100644 index 6dfd958..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/library.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "MFRC522", - "keywords": "rfid, spi", - "description": "Read a card using a MFRC522 reader on your SPI interface", - "repository": - { - "type": "git", - "url": "https://github.com/miguelbalboa/rfid.git" - }, - "version": "1.3.5", - "exclude": "doc", - "frameworks": "arduino", - "platforms": ["atmelavr", "ststm32", "teensy", "espressif8266"] -} diff --git a/SD_v2/Makefile_Build/libs/MFRC522/library.properties b/SD_v2/Makefile_Build/libs/MFRC522/library.properties deleted file mode 100644 index 0c9e012..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=MFRC522 -version=1.3.5 -author=GithubCommunity -maintainer=miguelbalboa -sentence=Arduino RFID Library for MFRC522 (SPI) -paragraph=Read/Write a RFID Card or Tag using the ISO/IEC 14443A/MIFARE interface. -category=Communication -url=https://github.com/miguelbalboa/rfid -architectures=avr,STM32F1,teensy,esp8266 diff --git a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp deleted file mode 100644 index 7800e24..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.cpp +++ /dev/null @@ -1,1898 +0,0 @@ -/* -* MFRC522.cpp - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. -* NOTE: Please also check the comments in MFRC522.h - they provide useful hints and background information. -* Released into the public domain. -*/ - -#include -#include "MFRC522.h" - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for setting up the Arduino -///////////////////////////////////////////////////////////////////////////////////// -/** - * Constructor. - */ -MFRC522::MFRC522(): MFRC522(SS, UINT8_MAX) { // SS is defined in pins_arduino.h, UINT8_MAX means there is no connection from Arduino to MFRC522's reset and power down input -} // End constructor - -/** - * Constructor. - * Prepares the output pins. - */ -MFRC522::MFRC522( byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low). If there is no connection from the CPU to NRSTPD, set this to UINT8_MAX. In this case, only soft reset will be used in PCD_Init(). - ): MFRC522(SS, resetPowerDownPin) { // SS is defined in pins_arduino.h -} // End constructor - -/** - * Constructor. - * Prepares the output pins. - */ -MFRC522::MFRC522( byte chipSelectPin, ///< Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) - byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low). If there is no connection from the CPU to NRSTPD, set this to UINT8_MAX. In this case, only soft reset will be used in PCD_Init(). - ) { - _chipSelectPin = chipSelectPin; - _resetPowerDownPin = resetPowerDownPin; -} // End constructor - -///////////////////////////////////////////////////////////////////////////////////// -// Basic interface functions for communicating with the MFRC522 -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Writes a byte to the specified register in the MFRC522 chip. - * The interface is described in the datasheet section 8.1.2. - */ -void MFRC522::PCD_WriteRegister( PCD_Register reg, ///< The register to write to. One of the PCD_Register enums. - byte value ///< The value to write. - ) { - SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus - digitalWrite(_chipSelectPin, LOW); // Select slave - SPI.transfer(reg); // MSB == 0 is for writing. LSB is not used in address. Datasheet section 8.1.2.3. - SPI.transfer(value); - digitalWrite(_chipSelectPin, HIGH); // Release slave again - SPI.endTransaction(); // Stop using the SPI bus -} // End PCD_WriteRegister() - -/** - * Writes a number of bytes to the specified register in the MFRC522 chip. - * The interface is described in the datasheet section 8.1.2. - */ -void MFRC522::PCD_WriteRegister( PCD_Register reg, ///< The register to write to. One of the PCD_Register enums. - byte count, ///< The number of bytes to write to the register - byte *values ///< The values to write. Byte array. - ) { - SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus - digitalWrite(_chipSelectPin, LOW); // Select slave - SPI.transfer(reg); // MSB == 0 is for writing. LSB is not used in address. Datasheet section 8.1.2.3. - for (byte index = 0; index < count; index++) { - SPI.transfer(values[index]); - } - digitalWrite(_chipSelectPin, HIGH); // Release slave again - SPI.endTransaction(); // Stop using the SPI bus -} // End PCD_WriteRegister() - -/** - * Reads a byte from the specified register in the MFRC522 chip. - * The interface is described in the datasheet section 8.1.2. - */ -byte MFRC522::PCD_ReadRegister( PCD_Register reg ///< The register to read from. One of the PCD_Register enums. - ) { - byte value; - SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus - digitalWrite(_chipSelectPin, LOW); // Select slave - SPI.transfer(0x80 | reg); // MSB == 1 is for reading. LSB is not used in address. Datasheet section 8.1.2.3. - value = SPI.transfer(0); // Read the value back. Send 0 to stop reading. - digitalWrite(_chipSelectPin, HIGH); // Release slave again - SPI.endTransaction(); // Stop using the SPI bus - return value; -} // End PCD_ReadRegister() - -/** - * Reads a number of bytes from the specified register in the MFRC522 chip. - * The interface is described in the datasheet section 8.1.2. - */ -void MFRC522::PCD_ReadRegister( PCD_Register reg, ///< The register to read from. One of the PCD_Register enums. - byte count, ///< The number of bytes to read - byte *values, ///< Byte array to store the values in. - byte rxAlign ///< Only bit positions rxAlign..7 in values[0] are updated. - ) { - if (count == 0) { - return; - } - //Serial.print(F("Reading ")); Serial.print(count); Serial.println(F(" bytes from register.")); - byte address = 0x80 | reg; // MSB == 1 is for reading. LSB is not used in address. Datasheet section 8.1.2.3. - byte index = 0; // Index in values array. - SPI.beginTransaction(SPISettings(MFRC522_SPICLOCK, MSBFIRST, SPI_MODE0)); // Set the settings to work with SPI bus - digitalWrite(_chipSelectPin, LOW); // Select slave - count--; // One read is performed outside of the loop - SPI.transfer(address); // Tell MFRC522 which address we want to read - if (rxAlign) { // Only update bit positions rxAlign..7 in values[0] - // Create bit mask for bit positions rxAlign..7 - byte mask = (0xFF << rxAlign) & 0xFF; - // Read value and tell that we want to read the same address again. - byte value = SPI.transfer(address); - // Apply mask to both current value of values[0] and the new data in value. - values[0] = (values[0] & ~mask) | (value & mask); - index++; - } - while (index < count) { - values[index] = SPI.transfer(address); // Read value and tell that we want to read the same address again. - index++; - } - values[index] = SPI.transfer(0); // Read the final byte. Send 0 to stop reading. - digitalWrite(_chipSelectPin, HIGH); // Release slave again - SPI.endTransaction(); // Stop using the SPI bus -} // End PCD_ReadRegister() - -/** - * Sets the bits given in mask in register reg. - */ -void MFRC522::PCD_SetRegisterBitMask( PCD_Register reg, ///< The register to update. One of the PCD_Register enums. - byte mask ///< The bits to set. - ) { - byte tmp; - tmp = PCD_ReadRegister(reg); - PCD_WriteRegister(reg, tmp | mask); // set bit mask -} // End PCD_SetRegisterBitMask() - -/** - * Clears the bits given in mask from register reg. - */ -void MFRC522::PCD_ClearRegisterBitMask( PCD_Register reg, ///< The register to update. One of the PCD_Register enums. - byte mask ///< The bits to clear. - ) { - byte tmp; - tmp = PCD_ReadRegister(reg); - PCD_WriteRegister(reg, tmp & (~mask)); // clear bit mask -} // End PCD_ClearRegisterBitMask() - - -/** - * Use the CRC coprocessor in the MFRC522 to calculate a CRC_A. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PCD_CalculateCRC( byte *data, ///< In: Pointer to the data to transfer to the FIFO for CRC calculation. - byte length, ///< In: The number of bytes to transfer. - byte *result ///< Out: Pointer to result buffer. Result is written to result[0..1], low byte first. - ) { - PCD_WriteRegister(CommandReg, PCD_Idle); // Stop any active command. - PCD_WriteRegister(DivIrqReg, 0x04); // Clear the CRCIRq interrupt request bit - PCD_WriteRegister(FIFOLevelReg, 0x80); // FlushBuffer = 1, FIFO initialization - PCD_WriteRegister(FIFODataReg, length, data); // Write data to the FIFO - PCD_WriteRegister(CommandReg, PCD_CalcCRC); // Start the calculation - - // Wait for the CRC calculation to complete. Each iteration of the while-loop takes 17.73μs. - // TODO check/modify for other architectures than Arduino Uno 16bit - - // Wait for the CRC calculation to complete. Each iteration of the while-loop takes 17.73us. - for (uint16_t i = 5000; i > 0; i--) { - // DivIrqReg[7..0] bits are: Set2 reserved reserved MfinActIRq reserved CRCIRq reserved reserved - byte n = PCD_ReadRegister(DivIrqReg); - if (n & 0x04) { // CRCIRq bit set - calculation done - PCD_WriteRegister(CommandReg, PCD_Idle); // Stop calculating CRC for new content in the FIFO. - // Transfer the result from the registers to the result buffer - result[0] = PCD_ReadRegister(CRCResultRegL); - result[1] = PCD_ReadRegister(CRCResultRegH); - return STATUS_OK; - } - } - // 89ms passed and nothing happend. Communication with the MFRC522 might be down. - return STATUS_TIMEOUT; -} // End PCD_CalculateCRC() - - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for manipulating the MFRC522 -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Initializes the MFRC522 chip. - */ -void MFRC522::PCD_Init() { - bool hardReset = false; - - // Set the chipSelectPin as digital output, do not select the slave yet - pinMode(_chipSelectPin, OUTPUT); - digitalWrite(_chipSelectPin, HIGH); - - // If a valid pin number has been set, pull device out of power down / reset state. - if (_resetPowerDownPin != UINT8_MAX) { - // Set the resetPowerDownPin as digital output, do not reset or power down. - pinMode(_resetPowerDownPin, OUTPUT); - - if (digitalRead(_resetPowerDownPin) == LOW) { // The MFRC522 chip is in power down mode. - digitalWrite(_resetPowerDownPin, HIGH); // Exit power down mode. This triggers a hard reset. - // Section 8.8.2 in the datasheet says the oscillator start-up time is the start up time of the crystal + 37,74μs. Let us be generous: 50ms. - delay(50); - hardReset = true; - } - } - - if (!hardReset) { // Perform a soft reset if we haven't triggered a hard reset above. - PCD_Reset(); - } - - // Reset baud rates - PCD_WriteRegister(TxModeReg, 0x00); - PCD_WriteRegister(RxModeReg, 0x00); - // Reset ModWidthReg - PCD_WriteRegister(ModWidthReg, 0x26); - - // When communicating with a PICC we need a timeout if something goes wrong. - // f_timer = 13.56 MHz / (2*TPreScaler+1) where TPreScaler = [TPrescaler_Hi:TPrescaler_Lo]. - // TPrescaler_Hi are the four low bits in TModeReg. TPrescaler_Lo is TPrescalerReg. - PCD_WriteRegister(TModeReg, 0x80); // TAuto=1; timer starts automatically at the end of the transmission in all communication modes at all speeds - PCD_WriteRegister(TPrescalerReg, 0xA9); // TPreScaler = TModeReg[3..0]:TPrescalerReg, ie 0x0A9 = 169 => f_timer=40kHz, ie a timer period of 25μs. - PCD_WriteRegister(TReloadRegH, 0x03); // Reload timer with 0x3E8 = 1000, ie 25ms before timeout. - PCD_WriteRegister(TReloadRegL, 0xE8); - - PCD_WriteRegister(TxASKReg, 0x40); // Default 0x00. Force a 100 % ASK modulation independent of the ModGsPReg register setting - PCD_WriteRegister(ModeReg, 0x3D); // Default 0x3F. Set the preset value for the CRC coprocessor for the CalcCRC command to 0x6363 (ISO 14443-3 part 6.2.4) - PCD_AntennaOn(); // Enable the antenna driver pins TX1 and TX2 (they were disabled by the reset) -} // End PCD_Init() - -/** - * Initializes the MFRC522 chip. - */ -void MFRC522::PCD_Init( byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) - ) { - PCD_Init(SS, resetPowerDownPin); // SS is defined in pins_arduino.h -} // End PCD_Init() - -/** - * Initializes the MFRC522 chip. - */ -void MFRC522::PCD_Init( byte chipSelectPin, ///< Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) - byte resetPowerDownPin ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) - ) { - _chipSelectPin = chipSelectPin; - _resetPowerDownPin = resetPowerDownPin; - // Set the chipSelectPin as digital output, do not select the slave yet - PCD_Init(); -} // End PCD_Init() - -/** - * Performs a soft reset on the MFRC522 chip and waits for it to be ready again. - */ -void MFRC522::PCD_Reset() { - PCD_WriteRegister(CommandReg, PCD_SoftReset); // Issue the SoftReset command. - // The datasheet does not mention how long the SoftRest command takes to complete. - // But the MFRC522 might have been in soft power-down mode (triggered by bit 4 of CommandReg) - // Section 8.8.2 in the datasheet says the oscillator start-up time is the start up time of the crystal + 37,74μs. Let us be generous: 50ms. - delay(50); - // Wait for the PowerDown bit in CommandReg to be cleared - while (PCD_ReadRegister(CommandReg) & (1<<4)) { - // PCD still restarting - unlikely after waiting 50ms, but better safe than sorry. - } -} // End PCD_Reset() - -/** - * Turns the antenna on by enabling pins TX1 and TX2. - * After a reset these pins are disabled. - */ -void MFRC522::PCD_AntennaOn() { - byte value = PCD_ReadRegister(TxControlReg); - if ((value & 0x03) != 0x03) { - PCD_WriteRegister(TxControlReg, value | 0x03); - } -} // End PCD_AntennaOn() - -/** - * Turns the antenna off by disabling pins TX1 and TX2. - */ -void MFRC522::PCD_AntennaOff() { - PCD_ClearRegisterBitMask(TxControlReg, 0x03); -} // End PCD_AntennaOff() - -/** - * Get the current MFRC522 Receiver Gain (RxGain[2:0]) value. - * See 9.3.3.6 / table 98 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf - * NOTE: Return value scrubbed with (0x07<<4)=01110000b as RCFfgReg may use reserved bits. - * - * @return Value of the RxGain, scrubbed to the 3 bits used. - */ -byte MFRC522::PCD_GetAntennaGain() { - return PCD_ReadRegister(RFCfgReg) & (0x07<<4); -} // End PCD_GetAntennaGain() - -/** - * Set the MFRC522 Receiver Gain (RxGain) to value specified by given mask. - * See 9.3.3.6 / table 98 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf - * NOTE: Given mask is scrubbed with (0x07<<4)=01110000b as RCFfgReg may use reserved bits. - */ -void MFRC522::PCD_SetAntennaGain(byte mask) { - if (PCD_GetAntennaGain() != mask) { // only bother if there is a change - PCD_ClearRegisterBitMask(RFCfgReg, (0x07<<4)); // clear needed to allow 000 pattern - PCD_SetRegisterBitMask(RFCfgReg, mask & (0x07<<4)); // only set RxGain[2:0] bits - } -} // End PCD_SetAntennaGain() - -/** - * Performs a self-test of the MFRC522 - * See 16.1.1 in http://www.nxp.com/documents/data_sheet/MFRC522.pdf - * - * @return Whether or not the test passed. Or false if no firmware reference is available. - */ -bool MFRC522::PCD_PerformSelfTest() { - // This follows directly the steps outlined in 16.1.1 - // 1. Perform a soft reset. - PCD_Reset(); - - // 2. Clear the internal buffer by writing 25 bytes of 00h - byte ZEROES[25] = {0x00}; - PCD_WriteRegister(FIFOLevelReg, 0x80); // flush the FIFO buffer - PCD_WriteRegister(FIFODataReg, 25, ZEROES); // write 25 bytes of 00h to FIFO - PCD_WriteRegister(CommandReg, PCD_Mem); // transfer to internal buffer - - // 3. Enable self-test - PCD_WriteRegister(AutoTestReg, 0x09); - - // 4. Write 00h to FIFO buffer - PCD_WriteRegister(FIFODataReg, 0x00); - - // 5. Start self-test by issuing the CalcCRC command - PCD_WriteRegister(CommandReg, PCD_CalcCRC); - - // 6. Wait for self-test to complete - byte n; - for (uint8_t i = 0; i < 0xFF; i++) { - // The datasheet does not specify exact completion condition except - // that FIFO buffer should contain 64 bytes. - // While selftest is initiated by CalcCRC command - // it behaves differently from normal CRC computation, - // so one can't reliably use DivIrqReg to check for completion. - // It is reported that some devices does not trigger CRCIRq flag - // during selftest. - n = PCD_ReadRegister(FIFOLevelReg); - if (n >= 64) { - break; - } - } - PCD_WriteRegister(CommandReg, PCD_Idle); // Stop calculating CRC for new content in the FIFO. - - // 7. Read out resulting 64 bytes from the FIFO buffer. - byte result[64]; - PCD_ReadRegister(FIFODataReg, 64, result, 0); - - // Auto self-test done - // Reset AutoTestReg register to be 0 again. Required for normal operation. - PCD_WriteRegister(AutoTestReg, 0x00); - - // Determine firmware version (see section 9.3.4.8 in spec) - byte version = PCD_ReadRegister(VersionReg); - - // Pick the appropriate reference values - const byte *reference; - switch (version) { - case 0x88: // Fudan Semiconductor FM17522 clone - reference = FM17522_firmware_reference; - break; - case 0x90: // Version 0.0 - reference = MFRC522_firmware_referenceV0_0; - break; - case 0x91: // Version 1.0 - reference = MFRC522_firmware_referenceV1_0; - break; - case 0x92: // Version 2.0 - reference = MFRC522_firmware_referenceV2_0; - break; - default: // Unknown version - return false; // abort test - } - - // Verify that the results match up to our expectations - for (uint8_t i = 0; i < 64; i++) { - if (result[i] != pgm_read_byte(&(reference[i]))) { - return false; - } - } - - // Test passed; all is good. - return true; -} // End PCD_PerformSelfTest() - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for communicating with PICCs -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Executes the Transceive command. - * CRC validation can only be done if backData and backLen are specified. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PCD_TransceiveData( byte *sendData, ///< Pointer to the data to transfer to the FIFO. - byte sendLen, ///< Number of bytes to transfer to the FIFO. - byte *backData, ///< NULL or pointer to buffer if data should be read back after executing the command. - byte *backLen, ///< In: Max number of bytes to write to *backData. Out: The number of bytes returned. - byte *validBits, ///< In/Out: The number of valid bits in the last byte. 0 for 8 valid bits. Default NULL. - byte rxAlign, ///< In: Defines the bit position in backData[0] for the first bit received. Default 0. - bool checkCRC ///< In: True => The last two bytes of the response is assumed to be a CRC_A that must be validated. - ) { - byte waitIRq = 0x30; // RxIRq and IdleIRq - return PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, sendData, sendLen, backData, backLen, validBits, rxAlign, checkCRC); -} // End PCD_TransceiveData() - -/** - * Transfers data to the MFRC522 FIFO, executes a command, waits for completion and transfers data back from the FIFO. - * CRC validation can only be done if backData and backLen are specified. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PCD_CommunicateWithPICC( byte command, ///< The command to execute. One of the PCD_Command enums. - byte waitIRq, ///< The bits in the ComIrqReg register that signals successful completion of the command. - byte *sendData, ///< Pointer to the data to transfer to the FIFO. - byte sendLen, ///< Number of bytes to transfer to the FIFO. - byte *backData, ///< NULL or pointer to buffer if data should be read back after executing the command. - byte *backLen, ///< In: Max number of bytes to write to *backData. Out: The number of bytes returned. - byte *validBits, ///< In/Out: The number of valid bits in the last byte. 0 for 8 valid bits. - byte rxAlign, ///< In: Defines the bit position in backData[0] for the first bit received. Default 0. - bool checkCRC ///< In: True => The last two bytes of the response is assumed to be a CRC_A that must be validated. - ) { - // Prepare values for BitFramingReg - byte txLastBits = validBits ? *validBits : 0; - byte bitFraming = (rxAlign << 4) + txLastBits; // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] - - PCD_WriteRegister(CommandReg, PCD_Idle); // Stop any active command. - PCD_WriteRegister(ComIrqReg, 0x7F); // Clear all seven interrupt request bits - PCD_WriteRegister(FIFOLevelReg, 0x80); // FlushBuffer = 1, FIFO initialization - PCD_WriteRegister(FIFODataReg, sendLen, sendData); // Write sendData to the FIFO - PCD_WriteRegister(BitFramingReg, bitFraming); // Bit adjustments - PCD_WriteRegister(CommandReg, command); // Execute the command - if (command == PCD_Transceive) { - PCD_SetRegisterBitMask(BitFramingReg, 0x80); // StartSend=1, transmission of data starts - } - - // Wait for the command to complete. - // In PCD_Init() we set the TAuto flag in TModeReg. This means the timer automatically starts when the PCD stops transmitting. - // Each iteration of the do-while-loop takes 17.86μs. - // TODO check/modify for other architectures than Arduino Uno 16bit - uint16_t i; - for (i = 2000; i > 0; i--) { - byte n = PCD_ReadRegister(ComIrqReg); // ComIrqReg[7..0] bits are: Set1 TxIRq RxIRq IdleIRq HiAlertIRq LoAlertIRq ErrIRq TimerIRq - if (n & waitIRq) { // One of the interrupts that signal success has been set. - break; - } - if (n & 0x01) { // Timer interrupt - nothing received in 25ms - return STATUS_TIMEOUT; - } - } - // 35.7ms and nothing happend. Communication with the MFRC522 might be down. - if (i == 0) { - return STATUS_TIMEOUT; - } - - // Stop now if any errors except collisions were detected. - byte errorRegValue = PCD_ReadRegister(ErrorReg); // ErrorReg[7..0] bits are: WrErr TempErr reserved BufferOvfl CollErr CRCErr ParityErr ProtocolErr - if (errorRegValue & 0x13) { // BufferOvfl ParityErr ProtocolErr - return STATUS_ERROR; - } - - byte _validBits = 0; - - // If the caller wants data back, get it from the MFRC522. - if (backData && backLen) { - byte n = PCD_ReadRegister(FIFOLevelReg); // Number of bytes in the FIFO - if (n > *backLen) { - return STATUS_NO_ROOM; - } - *backLen = n; // Number of bytes returned - PCD_ReadRegister(FIFODataReg, n, backData, rxAlign); // Get received data from FIFO - _validBits = PCD_ReadRegister(ControlReg) & 0x07; // RxLastBits[2:0] indicates the number of valid bits in the last received byte. If this value is 000b, the whole byte is valid. - if (validBits) { - *validBits = _validBits; - } - } - - // Tell about collisions - if (errorRegValue & 0x08) { // CollErr - return STATUS_COLLISION; - } - - // Perform CRC_A validation if requested. - if (backData && backLen && checkCRC) { - // In this case a MIFARE Classic NAK is not OK. - if (*backLen == 1 && _validBits == 4) { - return STATUS_MIFARE_NACK; - } - // We need at least the CRC_A value and all 8 bits of the last byte must be received. - if (*backLen < 2 || _validBits != 0) { - return STATUS_CRC_WRONG; - } - // Verify CRC_A - do our own calculation and store the control in controlBuffer. - byte controlBuffer[2]; - MFRC522::StatusCode status = PCD_CalculateCRC(&backData[0], *backLen - 2, &controlBuffer[0]); - if (status != STATUS_OK) { - return status; - } - if ((backData[*backLen - 2] != controlBuffer[0]) || (backData[*backLen - 1] != controlBuffer[1])) { - return STATUS_CRC_WRONG; - } - } - - return STATUS_OK; -} // End PCD_CommunicateWithPICC() - -/** - * Transmits a REQuest command, Type A. Invites PICCs in state IDLE to go to READY and prepare for anticollision or selection. 7 bit frame. - * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PICC_RequestA( byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in - byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. - ) { - return PICC_REQA_or_WUPA(PICC_CMD_REQA, bufferATQA, bufferSize); -} // End PICC_RequestA() - -/** - * Transmits a Wake-UP command, Type A. Invites PICCs in state IDLE and HALT to go to READY(*) and prepare for anticollision or selection. 7 bit frame. - * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PICC_WakeupA( byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in - byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. - ) { - return PICC_REQA_or_WUPA(PICC_CMD_WUPA, bufferATQA, bufferSize); -} // End PICC_WakeupA() - -/** - * Transmits REQA or WUPA commands. - * Beware: When two PICCs are in the field at the same time I often get STATUS_TIMEOUT - probably due do bad antenna design. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PICC_REQA_or_WUPA( byte command, ///< The command to send - PICC_CMD_REQA or PICC_CMD_WUPA - byte *bufferATQA, ///< The buffer to store the ATQA (Answer to request) in - byte *bufferSize ///< Buffer size, at least two bytes. Also number of bytes returned if STATUS_OK. - ) { - byte validBits; - MFRC522::StatusCode status; - - if (bufferATQA == NULL || *bufferSize < 2) { // The ATQA response is 2 bytes long. - return STATUS_NO_ROOM; - } - PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. - validBits = 7; // For REQA and WUPA we need the short frame format - transmit only 7 bits of the last (and only) byte. TxLastBits = BitFramingReg[2..0] - status = PCD_TransceiveData(&command, 1, bufferATQA, bufferSize, &validBits); - if (status != STATUS_OK) { - return status; - } - if (*bufferSize != 2 || validBits != 0) { // ATQA must be exactly 16 bits. - return STATUS_ERROR; - } - return STATUS_OK; -} // End PICC_REQA_or_WUPA() - -/** - * Transmits SELECT/ANTICOLLISION commands to select a single PICC. - * Before calling this function the PICCs must be placed in the READY(*) state by calling PICC_RequestA() or PICC_WakeupA(). - * On success: - * - The chosen PICC is in state ACTIVE(*) and all other PICCs have returned to state IDLE/HALT. (Figure 7 of the ISO/IEC 14443-3 draft.) - * - The UID size and value of the chosen PICC is returned in *uid along with the SAK. - * - * A PICC UID consists of 4, 7 or 10 bytes. - * Only 4 bytes can be specified in a SELECT command, so for the longer UIDs two or three iterations are used: - * UID size Number of UID bytes Cascade levels Example of PICC - * ======== =================== ============== =============== - * single 4 1 MIFARE Classic - * double 7 2 MIFARE Ultralight - * triple 10 3 Not currently in use? - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PICC_Select( Uid *uid, ///< Pointer to Uid struct. Normally output, but can also be used to supply a known UID. - byte validBits ///< The number of known UID bits supplied in *uid. Normally 0. If set you must also supply uid->size. - ) { - bool uidComplete; - bool selectDone; - bool useCascadeTag; - byte cascadeLevel = 1; - MFRC522::StatusCode result; - byte count; - byte index; - byte uidIndex; // The first index in uid->uidByte[] that is used in the current Cascade Level. - int8_t currentLevelKnownBits; // The number of known UID bits in the current Cascade Level. - byte buffer[9]; // The SELECT/ANTICOLLISION commands uses a 7 byte standard frame + 2 bytes CRC_A - byte bufferUsed; // The number of bytes used in the buffer, ie the number of bytes to transfer to the FIFO. - byte rxAlign; // Used in BitFramingReg. Defines the bit position for the first bit received. - byte txLastBits; // Used in BitFramingReg. The number of valid bits in the last transmitted byte. - byte *responseBuffer; - byte responseLength; - - // Description of buffer structure: - // Byte 0: SEL Indicates the Cascade Level: PICC_CMD_SEL_CL1, PICC_CMD_SEL_CL2 or PICC_CMD_SEL_CL3 - // Byte 1: NVB Number of Valid Bits (in complete command, not just the UID): High nibble: complete bytes, Low nibble: Extra bits. - // Byte 2: UID-data or CT See explanation below. CT means Cascade Tag. - // Byte 3: UID-data - // Byte 4: UID-data - // Byte 5: UID-data - // Byte 6: BCC Block Check Character - XOR of bytes 2-5 - // Byte 7: CRC_A - // Byte 8: CRC_A - // The BCC and CRC_A are only transmitted if we know all the UID bits of the current Cascade Level. - // - // Description of bytes 2-5: (Section 6.5.4 of the ISO/IEC 14443-3 draft: UID contents and cascade levels) - // UID size Cascade level Byte2 Byte3 Byte4 Byte5 - // ======== ============= ===== ===== ===== ===== - // 4 bytes 1 uid0 uid1 uid2 uid3 - // 7 bytes 1 CT uid0 uid1 uid2 - // 2 uid3 uid4 uid5 uid6 - // 10 bytes 1 CT uid0 uid1 uid2 - // 2 CT uid3 uid4 uid5 - // 3 uid6 uid7 uid8 uid9 - - // Sanity checks - if (validBits > 80) { - return STATUS_INVALID; - } - - // Prepare MFRC522 - PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. - - // Repeat Cascade Level loop until we have a complete UID. - uidComplete = false; - while (!uidComplete) { - // Set the Cascade Level in the SEL byte, find out if we need to use the Cascade Tag in byte 2. - switch (cascadeLevel) { - case 1: - buffer[0] = PICC_CMD_SEL_CL1; - uidIndex = 0; - useCascadeTag = validBits && uid->size > 4; // When we know that the UID has more than 4 bytes - break; - - case 2: - buffer[0] = PICC_CMD_SEL_CL2; - uidIndex = 3; - useCascadeTag = validBits && uid->size > 7; // When we know that the UID has more than 7 bytes - break; - - case 3: - buffer[0] = PICC_CMD_SEL_CL3; - uidIndex = 6; - useCascadeTag = false; // Never used in CL3. - break; - - default: - return STATUS_INTERNAL_ERROR; - break; - } - - // How many UID bits are known in this Cascade Level? - currentLevelKnownBits = validBits - (8 * uidIndex); - if (currentLevelKnownBits < 0) { - currentLevelKnownBits = 0; - } - // Copy the known bits from uid->uidByte[] to buffer[] - index = 2; // destination index in buffer[] - if (useCascadeTag) { - buffer[index++] = PICC_CMD_CT; - } - byte bytesToCopy = currentLevelKnownBits / 8 + (currentLevelKnownBits % 8 ? 1 : 0); // The number of bytes needed to represent the known bits for this level. - if (bytesToCopy) { - byte maxBytes = useCascadeTag ? 3 : 4; // Max 4 bytes in each Cascade Level. Only 3 left if we use the Cascade Tag - if (bytesToCopy > maxBytes) { - bytesToCopy = maxBytes; - } - for (count = 0; count < bytesToCopy; count++) { - buffer[index++] = uid->uidByte[uidIndex + count]; - } - } - // Now that the data has been copied we need to include the 8 bits in CT in currentLevelKnownBits - if (useCascadeTag) { - currentLevelKnownBits += 8; - } - - // Repeat anti collision loop until we can transmit all UID bits + BCC and receive a SAK - max 32 iterations. - selectDone = false; - while (!selectDone) { - // Find out how many bits and bytes to send and receive. - if (currentLevelKnownBits >= 32) { // All UID bits in this Cascade Level are known. This is a SELECT. - //Serial.print(F("SELECT: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); - buffer[1] = 0x70; // NVB - Number of Valid Bits: Seven whole bytes - // Calculate BCC - Block Check Character - buffer[6] = buffer[2] ^ buffer[3] ^ buffer[4] ^ buffer[5]; - // Calculate CRC_A - result = PCD_CalculateCRC(buffer, 7, &buffer[7]); - if (result != STATUS_OK) { - return result; - } - txLastBits = 0; // 0 => All 8 bits are valid. - bufferUsed = 9; - // Store response in the last 3 bytes of buffer (BCC and CRC_A - not needed after tx) - responseBuffer = &buffer[6]; - responseLength = 3; - } - else { // This is an ANTICOLLISION. - //Serial.print(F("ANTICOLLISION: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); - txLastBits = currentLevelKnownBits % 8; - count = currentLevelKnownBits / 8; // Number of whole bytes in the UID part. - index = 2 + count; // Number of whole bytes: SEL + NVB + UIDs - buffer[1] = (index << 4) + txLastBits; // NVB - Number of Valid Bits - bufferUsed = index + (txLastBits ? 1 : 0); - // Store response in the unused part of buffer - responseBuffer = &buffer[index]; - responseLength = sizeof(buffer) - index; - } - - // Set bit adjustments - rxAlign = txLastBits; // Having a separate variable is overkill. But it makes the next line easier to read. - PCD_WriteRegister(BitFramingReg, (rxAlign << 4) + txLastBits); // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] - - // Transmit the buffer and receive the response. - result = PCD_TransceiveData(buffer, bufferUsed, responseBuffer, &responseLength, &txLastBits, rxAlign); - if (result == STATUS_COLLISION) { // More than one PICC in the field => collision. - byte valueOfCollReg = PCD_ReadRegister(CollReg); // CollReg[7..0] bits are: ValuesAfterColl reserved CollPosNotValid CollPos[4:0] - if (valueOfCollReg & 0x20) { // CollPosNotValid - return STATUS_COLLISION; // Without a valid collision position we cannot continue - } - byte collisionPos = valueOfCollReg & 0x1F; // Values 0-31, 0 means bit 32. - if (collisionPos == 0) { - collisionPos = 32; - } - if (collisionPos <= currentLevelKnownBits) { // No progress - should not happen - return STATUS_INTERNAL_ERROR; - } - // Choose the PICC with the bit set. - currentLevelKnownBits = collisionPos; - count = (currentLevelKnownBits - 1) % 8; // The bit to modify - index = 1 + (currentLevelKnownBits / 8) + (count ? 1 : 0); // First byte is index 0. - buffer[index] |= (1 << count); - } - else if (result != STATUS_OK) { - return result; - } - else { // STATUS_OK - if (currentLevelKnownBits >= 32) { // This was a SELECT. - selectDone = true; // No more anticollision - // We continue below outside the while. - } - else { // This was an ANTICOLLISION. - // We now have all 32 bits of the UID in this Cascade Level - currentLevelKnownBits = 32; - // Run loop again to do the SELECT. - } - } - } // End of while (!selectDone) - - // We do not check the CBB - it was constructed by us above. - - // Copy the found UID bytes from buffer[] to uid->uidByte[] - index = (buffer[2] == PICC_CMD_CT) ? 3 : 2; // source index in buffer[] - bytesToCopy = (buffer[2] == PICC_CMD_CT) ? 3 : 4; - for (count = 0; count < bytesToCopy; count++) { - uid->uidByte[uidIndex + count] = buffer[index++]; - } - - // Check response SAK (Select Acknowledge) - if (responseLength != 3 || txLastBits != 0) { // SAK must be exactly 24 bits (1 byte + CRC_A). - return STATUS_ERROR; - } - // Verify CRC_A - do our own calculation and store the control in buffer[2..3] - those bytes are not needed anymore. - result = PCD_CalculateCRC(responseBuffer, 1, &buffer[2]); - if (result != STATUS_OK) { - return result; - } - if ((buffer[2] != responseBuffer[1]) || (buffer[3] != responseBuffer[2])) { - return STATUS_CRC_WRONG; - } - if (responseBuffer[0] & 0x04) { // Cascade bit set - UID not complete yes - cascadeLevel++; - } - else { - uidComplete = true; - uid->sak = responseBuffer[0]; - } - } // End of while (!uidComplete) - - // Set correct uid->size - uid->size = 3 * cascadeLevel + 1; - - return STATUS_OK; -} // End PICC_Select() - -/** - * Instructs a PICC in state ACTIVE(*) to go to state HALT. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PICC_HaltA() { - MFRC522::StatusCode result; - byte buffer[4]; - - // Build command buffer - buffer[0] = PICC_CMD_HLTA; - buffer[1] = 0; - // Calculate CRC_A - result = PCD_CalculateCRC(buffer, 2, &buffer[2]); - if (result != STATUS_OK) { - return result; - } - - // Send the command. - // The standard says: - // If the PICC responds with any modulation during a period of 1 ms after the end of the frame containing the - // HLTA command, this response shall be interpreted as 'not acknowledge'. - // We interpret that this way: Only STATUS_TIMEOUT is a success. - result = PCD_TransceiveData(buffer, sizeof(buffer), NULL, 0); - if (result == STATUS_TIMEOUT) { - return STATUS_OK; - } - if (result == STATUS_OK) { // That is ironically NOT ok in this case ;-) - return STATUS_ERROR; - } - return result; -} // End PICC_HaltA() - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for communicating with MIFARE PICCs -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Executes the MFRC522 MFAuthent command. - * This command manages MIFARE authentication to enable a secure communication to any MIFARE Mini, MIFARE 1K and MIFARE 4K card. - * The authentication is described in the MFRC522 datasheet section 10.3.1.9 and http://www.nxp.com/documents/data_sheet/MF1S503x.pdf section 10.1. - * For use with MIFARE Classic PICCs. - * The PICC must be selected - ie in state ACTIVE(*) - before calling this function. - * Remember to call PCD_StopCrypto1() after communicating with the authenticated PICC - otherwise no new communications can start. - * - * All keys are set to FFFFFFFFFFFFh at chip delivery. - * - * @return STATUS_OK on success, STATUS_??? otherwise. Probably STATUS_TIMEOUT if you supply the wrong key. - */ -MFRC522::StatusCode MFRC522::PCD_Authenticate(byte command, ///< PICC_CMD_MF_AUTH_KEY_A or PICC_CMD_MF_AUTH_KEY_B - byte blockAddr, ///< The block number. See numbering in the comments in the .h file. - MIFARE_Key *key, ///< Pointer to the Crypteo1 key to use (6 bytes) - Uid *uid ///< Pointer to Uid struct. The first 4 bytes of the UID is used. - ) { - byte waitIRq = 0x10; // IdleIRq - - // Build command buffer - byte sendData[12]; - sendData[0] = command; - sendData[1] = blockAddr; - for (byte i = 0; i < MF_KEY_SIZE; i++) { // 6 key bytes - sendData[2+i] = key->keyByte[i]; - } - // Use the last uid bytes as specified in http://cache.nxp.com/documents/application_note/AN10927.pdf - // section 3.2.5 "MIFARE Classic Authentication". - // The only missed case is the MF1Sxxxx shortcut activation, - // but it requires cascade tag (CT) byte, that is not part of uid. - for (byte i = 0; i < 4; i++) { // The last 4 bytes of the UID - sendData[8+i] = uid->uidByte[i+uid->size-4]; - } - - // Start the authentication. - return PCD_CommunicateWithPICC(PCD_MFAuthent, waitIRq, &sendData[0], sizeof(sendData)); -} // End PCD_Authenticate() - -/** - * Used to exit the PCD from its authenticated state. - * Remember to call this function after communicating with an authenticated PICC - otherwise no new communications can start. - */ -void MFRC522::PCD_StopCrypto1() { - // Clear MFCrypto1On bit - PCD_ClearRegisterBitMask(Status2Reg, 0x08); // Status2Reg[7..0] bits are: TempSensClear I2CForceHS reserved reserved MFCrypto1On ModemState[2:0] -} // End PCD_StopCrypto1() - -/** - * Reads 16 bytes (+ 2 bytes CRC_A) from the active PICC. - * - * For MIFARE Classic the sector containing the block must be authenticated before calling this function. - * - * For MIFARE Ultralight only addresses 00h to 0Fh are decoded. - * The MF0ICU1 returns a NAK for higher addresses. - * The MF0ICU1 responds to the READ command by sending 16 bytes starting from the page address defined by the command argument. - * For example; if blockAddr is 03h then pages 03h, 04h, 05h, 06h are returned. - * A roll-back is implemented: If blockAddr is 0Eh, then the contents of pages 0Eh, 0Fh, 00h and 01h are returned. - * - * The buffer must be at least 18 bytes because a CRC_A is also returned. - * Checks the CRC_A before returning STATUS_OK. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Read( byte blockAddr, ///< MIFARE Classic: The block (0-0xff) number. MIFARE Ultralight: The first page to return data from. - byte *buffer, ///< The buffer to store the data in - byte *bufferSize ///< Buffer size, at least 18 bytes. Also number of bytes returned if STATUS_OK. - ) { - MFRC522::StatusCode result; - - // Sanity check - if (buffer == NULL || *bufferSize < 18) { - return STATUS_NO_ROOM; - } - - // Build command buffer - buffer[0] = PICC_CMD_MF_READ; - buffer[1] = blockAddr; - // Calculate CRC_A - result = PCD_CalculateCRC(buffer, 2, &buffer[2]); - if (result != STATUS_OK) { - return result; - } - - // Transmit the buffer and receive the response, validate CRC_A. - return PCD_TransceiveData(buffer, 4, buffer, bufferSize, NULL, 0, true); -} // End MIFARE_Read() - -/** - * Writes 16 bytes to the active PICC. - * - * For MIFARE Classic the sector containing the block must be authenticated before calling this function. - * - * For MIFARE Ultralight the operation is called "COMPATIBILITY WRITE". - * Even though 16 bytes are transferred to the Ultralight PICC, only the least significant 4 bytes (bytes 0 to 3) - * are written to the specified address. It is recommended to set the remaining bytes 04h to 0Fh to all logic 0. - * * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Write( byte blockAddr, ///< MIFARE Classic: The block (0-0xff) number. MIFARE Ultralight: The page (2-15) to write to. - byte *buffer, ///< The 16 bytes to write to the PICC - byte bufferSize ///< Buffer size, must be at least 16 bytes. Exactly 16 bytes are written. - ) { - MFRC522::StatusCode result; - - // Sanity check - if (buffer == NULL || bufferSize < 16) { - return STATUS_INVALID; - } - - // Mifare Classic protocol requires two communications to perform a write. - // Step 1: Tell the PICC we want to write to block blockAddr. - byte cmdBuffer[2]; - cmdBuffer[0] = PICC_CMD_MF_WRITE; - cmdBuffer[1] = blockAddr; - result = PCD_MIFARE_Transceive(cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. - if (result != STATUS_OK) { - return result; - } - - // Step 2: Transfer the data - result = PCD_MIFARE_Transceive(buffer, bufferSize); // Adds CRC_A and checks that the response is MF_ACK. - if (result != STATUS_OK) { - return result; - } - - return STATUS_OK; -} // End MIFARE_Write() - -/** - * Writes a 4 byte page to the active MIFARE Ultralight PICC. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Ultralight_Write( byte page, ///< The page (2-15) to write to. - byte *buffer, ///< The 4 bytes to write to the PICC - byte bufferSize ///< Buffer size, must be at least 4 bytes. Exactly 4 bytes are written. - ) { - MFRC522::StatusCode result; - - // Sanity check - if (buffer == NULL || bufferSize < 4) { - return STATUS_INVALID; - } - - // Build commmand buffer - byte cmdBuffer[6]; - cmdBuffer[0] = PICC_CMD_UL_WRITE; - cmdBuffer[1] = page; - memcpy(&cmdBuffer[2], buffer, 4); - - // Perform the write - result = PCD_MIFARE_Transceive(cmdBuffer, 6); // Adds CRC_A and checks that the response is MF_ACK. - if (result != STATUS_OK) { - return result; - } - return STATUS_OK; -} // End MIFARE_Ultralight_Write() - -/** - * MIFARE Decrement subtracts the delta from the value of the addressed block, and stores the result in a volatile memory. - * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. - * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. - * Use MIFARE_Transfer() to store the result in a block. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Decrement( byte blockAddr, ///< The block (0-0xff) number. - int32_t delta ///< This number is subtracted from the value of block blockAddr. - ) { - return MIFARE_TwoStepHelper(PICC_CMD_MF_DECREMENT, blockAddr, delta); -} // End MIFARE_Decrement() - -/** - * MIFARE Increment adds the delta to the value of the addressed block, and stores the result in a volatile memory. - * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. - * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. - * Use MIFARE_Transfer() to store the result in a block. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Increment( byte blockAddr, ///< The block (0-0xff) number. - int32_t delta ///< This number is added to the value of block blockAddr. - ) { - return MIFARE_TwoStepHelper(PICC_CMD_MF_INCREMENT, blockAddr, delta); -} // End MIFARE_Increment() - -/** - * MIFARE Restore copies the value of the addressed block into a volatile memory. - * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. - * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. - * Use MIFARE_Transfer() to store the result in a block. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Restore( byte blockAddr ///< The block (0-0xff) number. - ) { - // The datasheet describes Restore as a two step operation, but does not explain what data to transfer in step 2. - // Doing only a single step does not work, so I chose to transfer 0L in step two. - return MIFARE_TwoStepHelper(PICC_CMD_MF_RESTORE, blockAddr, 0L); -} // End MIFARE_Restore() - -/** - * Helper function for the two-step MIFARE Classic protocol operations Decrement, Increment and Restore. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_TwoStepHelper( byte command, ///< The command to use - byte blockAddr, ///< The block (0-0xff) number. - int32_t data ///< The data to transfer in step 2 - ) { - MFRC522::StatusCode result; - byte cmdBuffer[2]; // We only need room for 2 bytes. - - // Step 1: Tell the PICC the command and block address - cmdBuffer[0] = command; - cmdBuffer[1] = blockAddr; - result = PCD_MIFARE_Transceive( cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. - if (result != STATUS_OK) { - return result; - } - - // Step 2: Transfer the data - result = PCD_MIFARE_Transceive( (byte *)&data, 4, true); // Adds CRC_A and accept timeout as success. - if (result != STATUS_OK) { - return result; - } - - return STATUS_OK; -} // End MIFARE_TwoStepHelper() - -/** - * MIFARE Transfer writes the value stored in the volatile memory into one MIFARE Classic block. - * For MIFARE Classic only. The sector containing the block must be authenticated before calling this function. - * Only for blocks in "value block" mode, ie with access bits [C1 C2 C3] = [110] or [001]. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_Transfer( byte blockAddr ///< The block (0-0xff) number. - ) { - MFRC522::StatusCode result; - byte cmdBuffer[2]; // We only need room for 2 bytes. - - // Tell the PICC we want to transfer the result into block blockAddr. - cmdBuffer[0] = PICC_CMD_MF_TRANSFER; - cmdBuffer[1] = blockAddr; - result = PCD_MIFARE_Transceive( cmdBuffer, 2); // Adds CRC_A and checks that the response is MF_ACK. - if (result != STATUS_OK) { - return result; - } - return STATUS_OK; -} // End MIFARE_Transfer() - -/** - * Helper routine to read the current value from a Value Block. - * - * Only for MIFARE Classic and only for blocks in "value block" mode, that - * is: with access bits [C1 C2 C3] = [110] or [001]. The sector containing - * the block must be authenticated before calling this function. - * - * @param[in] blockAddr The block (0x00-0xff) number. - * @param[out] value Current value of the Value Block. - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_GetValue(byte blockAddr, int32_t *value) { - MFRC522::StatusCode status; - byte buffer[18]; - byte size = sizeof(buffer); - - // Read the block - status = MIFARE_Read(blockAddr, buffer, &size); - if (status == STATUS_OK) { - // Extract the value - *value = (int32_t(buffer[3])<<24) | (int32_t(buffer[2])<<16) | (int32_t(buffer[1])<<8) | int32_t(buffer[0]); - } - return status; -} // End MIFARE_GetValue() - -/** - * Helper routine to write a specific value into a Value Block. - * - * Only for MIFARE Classic and only for blocks in "value block" mode, that - * is: with access bits [C1 C2 C3] = [110] or [001]. The sector containing - * the block must be authenticated before calling this function. - * - * @param[in] blockAddr The block (0x00-0xff) number. - * @param[in] value New value of the Value Block. - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::MIFARE_SetValue(byte blockAddr, int32_t value) { - byte buffer[18]; - - // Translate the int32_t into 4 bytes; repeated 2x in value block - buffer[0] = buffer[ 8] = (value & 0xFF); - buffer[1] = buffer[ 9] = (value & 0xFF00) >> 8; - buffer[2] = buffer[10] = (value & 0xFF0000) >> 16; - buffer[3] = buffer[11] = (value & 0xFF000000) >> 24; - // Inverse 4 bytes also found in value block - buffer[4] = ~buffer[0]; - buffer[5] = ~buffer[1]; - buffer[6] = ~buffer[2]; - buffer[7] = ~buffer[3]; - // Address 2x with inverse address 2x - buffer[12] = buffer[14] = blockAddr; - buffer[13] = buffer[15] = ~blockAddr; - - // Write the whole data block - return MIFARE_Write(blockAddr, buffer, 16); -} // End MIFARE_SetValue() - -/** - * Authenticate with a NTAG216. - * - * Only for NTAG216. First implemented by Gargantuanman. - * - * @param[in] passWord password. - * @param[in] pACK result success???. - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PCD_NTAG216_AUTH(byte* passWord, byte pACK[]) //Authenticate with 32bit password -{ - // TODO: Fix cmdBuffer length and rxlength. They really should match. - // (Better still, rxlength should not even be necessary.) - - MFRC522::StatusCode result; - byte cmdBuffer[18]; // We need room for 16 bytes data and 2 bytes CRC_A. - - cmdBuffer[0] = 0x1B; //Comando de autentificacion - - for (byte i = 0; i<4; i++) - cmdBuffer[i+1] = passWord[i]; - - result = PCD_CalculateCRC(cmdBuffer, 5, &cmdBuffer[5]); - - if (result!=STATUS_OK) { - return result; - } - - // Transceive the data, store the reply in cmdBuffer[] - byte waitIRq = 0x30; // RxIRq and IdleIRq -// byte cmdBufferSize = sizeof(cmdBuffer); - byte validBits = 0; - byte rxlength = 5; - result = PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, cmdBuffer, 7, cmdBuffer, &rxlength, &validBits); - - pACK[0] = cmdBuffer[0]; - pACK[1] = cmdBuffer[1]; - - if (result!=STATUS_OK) { - return result; - } - - return STATUS_OK; -} // End PCD_NTAG216_AUTH() - - -///////////////////////////////////////////////////////////////////////////////////// -// Support functions -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Wrapper for MIFARE protocol communication. - * Adds CRC_A, executes the Transceive command and checks that the response is MF_ACK or a timeout. - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522::PCD_MIFARE_Transceive( byte *sendData, ///< Pointer to the data to transfer to the FIFO. Do NOT include the CRC_A. - byte sendLen, ///< Number of bytes in sendData. - bool acceptTimeout ///< True => A timeout is also success - ) { - MFRC522::StatusCode result; - byte cmdBuffer[18]; // We need room for 16 bytes data and 2 bytes CRC_A. - - // Sanity check - if (sendData == NULL || sendLen > 16) { - return STATUS_INVALID; - } - - // Copy sendData[] to cmdBuffer[] and add CRC_A - memcpy(cmdBuffer, sendData, sendLen); - result = PCD_CalculateCRC(cmdBuffer, sendLen, &cmdBuffer[sendLen]); - if (result != STATUS_OK) { - return result; - } - sendLen += 2; - - // Transceive the data, store the reply in cmdBuffer[] - byte waitIRq = 0x30; // RxIRq and IdleIRq - byte cmdBufferSize = sizeof(cmdBuffer); - byte validBits = 0; - result = PCD_CommunicateWithPICC(PCD_Transceive, waitIRq, cmdBuffer, sendLen, cmdBuffer, &cmdBufferSize, &validBits); - if (acceptTimeout && result == STATUS_TIMEOUT) { - return STATUS_OK; - } - if (result != STATUS_OK) { - return result; - } - // The PICC must reply with a 4 bit ACK - if (cmdBufferSize != 1 || validBits != 4) { - return STATUS_ERROR; - } - if (cmdBuffer[0] != MF_ACK) { - return STATUS_MIFARE_NACK; - } - return STATUS_OK; -} // End PCD_MIFARE_Transceive() - -/** - * Returns a __FlashStringHelper pointer to a status code name. - * - * @return const __FlashStringHelper * - */ -const __FlashStringHelper *MFRC522::GetStatusCodeName(MFRC522::StatusCode code ///< One of the StatusCode enums. - ) { - switch (code) { - case STATUS_OK: return F("Success."); - case STATUS_ERROR: return F("Error in communication."); - case STATUS_COLLISION: return F("Collission detected."); - case STATUS_TIMEOUT: return F("Timeout in communication."); - case STATUS_NO_ROOM: return F("A buffer is not big enough."); - case STATUS_INTERNAL_ERROR: return F("Internal error in the code. Should not happen."); - case STATUS_INVALID: return F("Invalid argument."); - case STATUS_CRC_WRONG: return F("The CRC_A does not match."); - case STATUS_MIFARE_NACK: return F("A MIFARE PICC responded with NAK."); - default: return F("Unknown error"); - } -} // End GetStatusCodeName() - -/** - * Translates the SAK (Select Acknowledge) to a PICC type. - * - * @return PICC_Type - */ -MFRC522::PICC_Type MFRC522::PICC_GetType(byte sak ///< The SAK byte returned from PICC_Select(). - ) { - // http://www.nxp.com/documents/application_note/AN10833.pdf - // 3.2 Coding of Select Acknowledge (SAK) - // ignore 8-bit (iso14443 starts with LSBit = bit 1) - // fixes wrong type for manufacturer Infineon (http://nfc-tools.org/index.php?title=ISO14443A) - sak &= 0x7F; - switch (sak) { - case 0x04: return PICC_TYPE_NOT_COMPLETE; // UID not complete - case 0x09: return PICC_TYPE_MIFARE_MINI; - case 0x08: return PICC_TYPE_MIFARE_1K; - case 0x18: return PICC_TYPE_MIFARE_4K; - case 0x00: return PICC_TYPE_MIFARE_UL; - case 0x10: - case 0x11: return PICC_TYPE_MIFARE_PLUS; - case 0x01: return PICC_TYPE_TNP3XXX; - case 0x20: return PICC_TYPE_ISO_14443_4; - case 0x40: return PICC_TYPE_ISO_18092; - default: return PICC_TYPE_UNKNOWN; - } -} // End PICC_GetType() - -/** - * Returns a __FlashStringHelper pointer to the PICC type name. - * - * @return const __FlashStringHelper * - */ -const __FlashStringHelper *MFRC522::PICC_GetTypeName(PICC_Type piccType ///< One of the PICC_Type enums. - ) { - switch (piccType) { - case PICC_TYPE_ISO_14443_4: return F("PICC compliant with ISO/IEC 14443-4"); - case PICC_TYPE_ISO_18092: return F("PICC compliant with ISO/IEC 18092 (NFC)"); - case PICC_TYPE_MIFARE_MINI: return F("MIFARE Mini, 320 bytes"); - case PICC_TYPE_MIFARE_1K: return F("MIFARE 1KB"); - case PICC_TYPE_MIFARE_4K: return F("MIFARE 4KB"); - case PICC_TYPE_MIFARE_UL: return F("MIFARE Ultralight or Ultralight C"); - case PICC_TYPE_MIFARE_PLUS: return F("MIFARE Plus"); - case PICC_TYPE_MIFARE_DESFIRE: return F("MIFARE DESFire"); - case PICC_TYPE_TNP3XXX: return F("MIFARE TNP3XXX"); - case PICC_TYPE_NOT_COMPLETE: return F("SAK indicates UID is not complete."); - case PICC_TYPE_UNKNOWN: - default: return F("Unknown type"); - } -} // End PICC_GetTypeName() - -/** - * Dumps debug info about the connected PCD to Serial. - * Shows all known firmware versions - */ -void MFRC522::PCD_DumpVersionToSerial() { - // Get the MFRC522 firmware version - byte v = PCD_ReadRegister(VersionReg); - Serial.print(F("Firmware Version: 0x")); - Serial.print(v, HEX); - // Lookup which version - switch(v) { - case 0x88: Serial.println(F(" = (clone)")); break; - case 0x90: Serial.println(F(" = v0.0")); break; - case 0x91: Serial.println(F(" = v1.0")); break; - case 0x92: Serial.println(F(" = v2.0")); break; - default: Serial.println(F(" = (unknown)")); - } - // When 0x00 or 0xFF is returned, communication probably failed - if ((v == 0x00) || (v == 0xFF)) - Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?")); -} // End PCD_DumpVersionToSerial() - -/** - * Dumps debug info about the selected PICC to Serial. - * On success the PICC is halted after dumping the data. - * For MIFARE Classic the factory default key of 0xFFFFFFFFFFFF is tried. - * - * @DEPRECATED Kept for bakward compatibility - */ -void MFRC522::PICC_DumpToSerial(Uid *uid ///< Pointer to Uid struct returned from a successful PICC_Select(). - ) { - MIFARE_Key key; - - // Dump UID, SAK and Type - PICC_DumpDetailsToSerial(uid); - - // Dump contents - PICC_Type piccType = PICC_GetType(uid->sak); - switch (piccType) { - case PICC_TYPE_MIFARE_MINI: - case PICC_TYPE_MIFARE_1K: - case PICC_TYPE_MIFARE_4K: - // All keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - PICC_DumpMifareClassicToSerial(uid, piccType, &key); - break; - - case PICC_TYPE_MIFARE_UL: - PICC_DumpMifareUltralightToSerial(); - break; - - case PICC_TYPE_ISO_14443_4: - case PICC_TYPE_MIFARE_DESFIRE: - case PICC_TYPE_ISO_18092: - case PICC_TYPE_MIFARE_PLUS: - case PICC_TYPE_TNP3XXX: - Serial.println(F("Dumping memory contents not implemented for that PICC type.")); - break; - - case PICC_TYPE_UNKNOWN: - case PICC_TYPE_NOT_COMPLETE: - default: - break; // No memory dump here - } - - Serial.println(); - PICC_HaltA(); // Already done if it was a MIFARE Classic PICC. -} // End PICC_DumpToSerial() - -/** - * Dumps card info (UID,SAK,Type) about the selected PICC to Serial. - * - * @DEPRECATED kept for backward compatibility - */ -void MFRC522::PICC_DumpDetailsToSerial(Uid *uid ///< Pointer to Uid struct returned from a successful PICC_Select(). - ) { - // UID - Serial.print(F("Card UID:")); - for (byte i = 0; i < uid->size; i++) { - if(uid->uidByte[i] < 0x10) - Serial.print(F(" 0")); - else - Serial.print(F(" ")); - Serial.print(uid->uidByte[i], HEX); - } - Serial.println(); - - // SAK - Serial.print(F("Card SAK: ")); - if(uid->sak < 0x10) - Serial.print(F("0")); - Serial.println(uid->sak, HEX); - - // (suggested) PICC type - PICC_Type piccType = PICC_GetType(uid->sak); - Serial.print(F("PICC type: ")); - Serial.println(PICC_GetTypeName(piccType)); -} // End PICC_DumpDetailsToSerial() - -/** - * Dumps memory contents of a MIFARE Classic PICC. - * On success the PICC is halted after dumping the data. - */ -void MFRC522::PICC_DumpMifareClassicToSerial( Uid *uid, ///< Pointer to Uid struct returned from a successful PICC_Select(). - PICC_Type piccType, ///< One of the PICC_Type enums. - MIFARE_Key *key ///< Key A used for all sectors. - ) { - byte no_of_sectors = 0; - switch (piccType) { - case PICC_TYPE_MIFARE_MINI: - // Has 5 sectors * 4 blocks/sector * 16 bytes/block = 320 bytes. - no_of_sectors = 5; - break; - - case PICC_TYPE_MIFARE_1K: - // Has 16 sectors * 4 blocks/sector * 16 bytes/block = 1024 bytes. - no_of_sectors = 16; - break; - - case PICC_TYPE_MIFARE_4K: - // Has (32 sectors * 4 blocks/sector + 8 sectors * 16 blocks/sector) * 16 bytes/block = 4096 bytes. - no_of_sectors = 40; - break; - - default: // Should not happen. Ignore. - break; - } - - // Dump sectors, highest address first. - if (no_of_sectors) { - Serial.println(F("Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits")); - for (int8_t i = no_of_sectors - 1; i >= 0; i--) { - PICC_DumpMifareClassicSectorToSerial(uid, key, i); - } - } - PICC_HaltA(); // Halt the PICC before stopping the encrypted session. - PCD_StopCrypto1(); -} // End PICC_DumpMifareClassicToSerial() - -/** - * Dumps memory contents of a sector of a MIFARE Classic PICC. - * Uses PCD_Authenticate(), MIFARE_Read() and PCD_StopCrypto1. - * Always uses PICC_CMD_MF_AUTH_KEY_A because only Key A can always read the sector trailer access bits. - */ -void MFRC522::PICC_DumpMifareClassicSectorToSerial(Uid *uid, ///< Pointer to Uid struct returned from a successful PICC_Select(). - MIFARE_Key *key, ///< Key A for the sector. - byte sector ///< The sector to dump, 0..39. - ) { - MFRC522::StatusCode status; - byte firstBlock; // Address of lowest address to dump actually last block dumped) - byte no_of_blocks; // Number of blocks in sector - bool isSectorTrailer; // Set to true while handling the "last" (ie highest address) in the sector. - - // The access bits are stored in a peculiar fashion. - // There are four groups: - // g[3] Access bits for the sector trailer, block 3 (for sectors 0-31) or block 15 (for sectors 32-39) - // g[2] Access bits for block 2 (for sectors 0-31) or blocks 10-14 (for sectors 32-39) - // g[1] Access bits for block 1 (for sectors 0-31) or blocks 5-9 (for sectors 32-39) - // g[0] Access bits for block 0 (for sectors 0-31) or blocks 0-4 (for sectors 32-39) - // Each group has access bits [C1 C2 C3]. In this code C1 is MSB and C3 is LSB. - // The four CX bits are stored together in a nible cx and an inverted nible cx_. - byte c1, c2, c3; // Nibbles - byte c1_, c2_, c3_; // Inverted nibbles - bool invertedError; // True if one of the inverted nibbles did not match - byte g[4]; // Access bits for each of the four groups. - byte group; // 0-3 - active group for access bits - bool firstInGroup; // True for the first block dumped in the group - - // Determine position and size of sector. - if (sector < 32) { // Sectors 0..31 has 4 blocks each - no_of_blocks = 4; - firstBlock = sector * no_of_blocks; - } - else if (sector < 40) { // Sectors 32-39 has 16 blocks each - no_of_blocks = 16; - firstBlock = 128 + (sector - 32) * no_of_blocks; - } - else { // Illegal input, no MIFARE Classic PICC has more than 40 sectors. - return; - } - - // Dump blocks, highest address first. - byte byteCount; - byte buffer[18]; - byte blockAddr; - isSectorTrailer = true; - invertedError = false; // Avoid "unused variable" warning. - for (int8_t blockOffset = no_of_blocks - 1; blockOffset >= 0; blockOffset--) { - blockAddr = firstBlock + blockOffset; - // Sector number - only on first line - if (isSectorTrailer) { - if(sector < 10) - Serial.print(F(" ")); // Pad with spaces - else - Serial.print(F(" ")); // Pad with spaces - Serial.print(sector); - Serial.print(F(" ")); - } - else { - Serial.print(F(" ")); - } - // Block number - if(blockAddr < 10) - Serial.print(F(" ")); // Pad with spaces - else { - if(blockAddr < 100) - Serial.print(F(" ")); // Pad with spaces - else - Serial.print(F(" ")); // Pad with spaces - } - Serial.print(blockAddr); - Serial.print(F(" ")); - // Establish encrypted communications before reading the first block - if (isSectorTrailer) { - status = PCD_Authenticate(PICC_CMD_MF_AUTH_KEY_A, firstBlock, key, uid); - if (status != STATUS_OK) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(GetStatusCodeName(status)); - return; - } - } - // Read block - byteCount = sizeof(buffer); - status = MIFARE_Read(blockAddr, buffer, &byteCount); - if (status != STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(GetStatusCodeName(status)); - continue; - } - // Dump data - for (byte index = 0; index < 16; index++) { - if(buffer[index] < 0x10) - Serial.print(F(" 0")); - else - Serial.print(F(" ")); - Serial.print(buffer[index], HEX); - if ((index % 4) == 3) { - Serial.print(F(" ")); - } - } - // Parse sector trailer data - if (isSectorTrailer) { - c1 = buffer[7] >> 4; - c2 = buffer[8] & 0xF; - c3 = buffer[8] >> 4; - c1_ = buffer[6] & 0xF; - c2_ = buffer[6] >> 4; - c3_ = buffer[7] & 0xF; - invertedError = (c1 != (~c1_ & 0xF)) || (c2 != (~c2_ & 0xF)) || (c3 != (~c3_ & 0xF)); - g[0] = ((c1 & 1) << 2) | ((c2 & 1) << 1) | ((c3 & 1) << 0); - g[1] = ((c1 & 2) << 1) | ((c2 & 2) << 0) | ((c3 & 2) >> 1); - g[2] = ((c1 & 4) << 0) | ((c2 & 4) >> 1) | ((c3 & 4) >> 2); - g[3] = ((c1 & 8) >> 1) | ((c2 & 8) >> 2) | ((c3 & 8) >> 3); - isSectorTrailer = false; - } - - // Which access group is this block in? - if (no_of_blocks == 4) { - group = blockOffset; - firstInGroup = true; - } - else { - group = blockOffset / 5; - firstInGroup = (group == 3) || (group != (blockOffset + 1) / 5); - } - - if (firstInGroup) { - // Print access bits - Serial.print(F(" [ ")); - Serial.print((g[group] >> 2) & 1, DEC); Serial.print(F(" ")); - Serial.print((g[group] >> 1) & 1, DEC); Serial.print(F(" ")); - Serial.print((g[group] >> 0) & 1, DEC); - Serial.print(F(" ] ")); - if (invertedError) { - Serial.print(F(" Inverted access bits did not match! ")); - } - } - - if (group != 3 && (g[group] == 1 || g[group] == 6)) { // Not a sector trailer, a value block - int32_t value = (int32_t(buffer[3])<<24) | (int32_t(buffer[2])<<16) | (int32_t(buffer[1])<<8) | int32_t(buffer[0]); - Serial.print(F(" Value=0x")); Serial.print(value, HEX); - Serial.print(F(" Adr=0x")); Serial.print(buffer[12], HEX); - } - Serial.println(); - } - - return; -} // End PICC_DumpMifareClassicSectorToSerial() - -/** - * Dumps memory contents of a MIFARE Ultralight PICC. - */ -void MFRC522::PICC_DumpMifareUltralightToSerial() { - MFRC522::StatusCode status; - byte byteCount; - byte buffer[18]; - byte i; - - Serial.println(F("Page 0 1 2 3")); - // Try the mpages of the original Ultralight. Ultralight C has more pages. - for (byte page = 0; page < 16; page +=4) { // Read returns data for 4 pages at a time. - // Read pages - byteCount = sizeof(buffer); - status = MIFARE_Read(page, buffer, &byteCount); - if (status != STATUS_OK) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(GetStatusCodeName(status)); - break; - } - // Dump data - for (byte offset = 0; offset < 4; offset++) { - i = page + offset; - if(i < 10) - Serial.print(F(" ")); // Pad with spaces - else - Serial.print(F(" ")); // Pad with spaces - Serial.print(i); - Serial.print(F(" ")); - for (byte index = 0; index < 4; index++) { - i = 4 * offset + index; - if(buffer[i] < 0x10) - Serial.print(F(" 0")); - else - Serial.print(F(" ")); - Serial.print(buffer[i], HEX); - } - Serial.println(); - } - } -} // End PICC_DumpMifareUltralightToSerial() - -/** - * Calculates the bit pattern needed for the specified access bits. In the [C1 C2 C3] tuples C1 is MSB (=4) and C3 is LSB (=1). - */ -void MFRC522::MIFARE_SetAccessBits( byte *accessBitBuffer, ///< Pointer to byte 6, 7 and 8 in the sector trailer. Bytes [0..2] will be set. - byte g0, ///< Access bits [C1 C2 C3] for block 0 (for sectors 0-31) or blocks 0-4 (for sectors 32-39) - byte g1, ///< Access bits C1 C2 C3] for block 1 (for sectors 0-31) or blocks 5-9 (for sectors 32-39) - byte g2, ///< Access bits C1 C2 C3] for block 2 (for sectors 0-31) or blocks 10-14 (for sectors 32-39) - byte g3 ///< Access bits C1 C2 C3] for the sector trailer, block 3 (for sectors 0-31) or block 15 (for sectors 32-39) - ) { - byte c1 = ((g3 & 4) << 1) | ((g2 & 4) << 0) | ((g1 & 4) >> 1) | ((g0 & 4) >> 2); - byte c2 = ((g3 & 2) << 2) | ((g2 & 2) << 1) | ((g1 & 2) << 0) | ((g0 & 2) >> 1); - byte c3 = ((g3 & 1) << 3) | ((g2 & 1) << 2) | ((g1 & 1) << 1) | ((g0 & 1) << 0); - - accessBitBuffer[0] = (~c2 & 0xF) << 4 | (~c1 & 0xF); - accessBitBuffer[1] = c1 << 4 | (~c3 & 0xF); - accessBitBuffer[2] = c3 << 4 | c2; -} // End MIFARE_SetAccessBits() - - -/** - * Performs the "magic sequence" needed to get Chinese UID changeable - * Mifare cards to allow writing to sector 0, where the card UID is stored. - * - * Note that you do not need to have selected the card through REQA or WUPA, - * this sequence works immediately when the card is in the reader vicinity. - * This means you can use this method even on "bricked" cards that your reader does - * not recognise anymore (see MFRC522::MIFARE_UnbrickUidSector). - * - * Of course with non-bricked devices, you're free to select them before calling this function. - */ -bool MFRC522::MIFARE_OpenUidBackdoor(bool logErrors) { - // Magic sequence: - // > 50 00 57 CD (HALT + CRC) - // > 40 (7 bits only) - // < A (4 bits only) - // > 43 - // < A (4 bits only) - // Then you can write to sector 0 without authenticating - - PICC_HaltA(); // 50 00 57 CD - - byte cmd = 0x40; - byte validBits = 7; /* Our command is only 7 bits. After receiving card response, - this will contain amount of valid response bits. */ - byte response[32]; // Card's response is written here - byte received; - MFRC522::StatusCode status = PCD_TransceiveData(&cmd, (byte)1, response, &received, &validBits, (byte)0, false); // 40 - if(status != STATUS_OK) { - if(logErrors) { - Serial.println(F("Card did not respond to 0x40 after HALT command. Are you sure it is a UID changeable one?")); - Serial.print(F("Error name: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - if (received != 1 || response[0] != 0x0A) { - if (logErrors) { - Serial.print(F("Got bad response on backdoor 0x40 command: ")); - Serial.print(response[0], HEX); - Serial.print(F(" (")); - Serial.print(validBits); - Serial.print(F(" valid bits)\r\n")); - } - return false; - } - - cmd = 0x43; - validBits = 8; - status = PCD_TransceiveData(&cmd, (byte)1, response, &received, &validBits, (byte)0, false); // 43 - if(status != STATUS_OK) { - if(logErrors) { - Serial.println(F("Error in communication at command 0x43, after successfully executing 0x40")); - Serial.print(F("Error name: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - if (received != 1 || response[0] != 0x0A) { - if (logErrors) { - Serial.print(F("Got bad response on backdoor 0x43 command: ")); - Serial.print(response[0], HEX); - Serial.print(F(" (")); - Serial.print(validBits); - Serial.print(F(" valid bits)\r\n")); - } - return false; - } - - // You can now write to sector 0 without authenticating! - return true; -} // End MIFARE_OpenUidBackdoor() - -/** - * Reads entire block 0, including all manufacturer data, and overwrites - * that block with the new UID, a freshly calculated BCC, and the original - * manufacturer data. - * - * It assumes a default KEY A of 0xFFFFFFFFFFFF. - * Make sure to have selected the card before this function is called. - */ -bool MFRC522::MIFARE_SetUid(byte *newUid, byte uidSize, bool logErrors) { - - // UID + BCC byte can not be larger than 16 together - if (!newUid || !uidSize || uidSize > 15) { - if (logErrors) { - Serial.println(F("New UID buffer empty, size 0, or size > 15 given")); - } - return false; - } - - // Authenticate for reading - MIFARE_Key key = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - MFRC522::StatusCode status = PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, (byte)1, &key, &uid); - if (status != STATUS_OK) { - - if (status == STATUS_TIMEOUT) { - // We get a read timeout if no card is selected yet, so let's select one - - // Wake the card up again if sleeping -// byte atqa_answer[2]; -// byte atqa_size = 2; -// PICC_WakeupA(atqa_answer, &atqa_size); - - if (!PICC_IsNewCardPresent() || !PICC_ReadCardSerial()) { - Serial.println(F("No card was previously selected, and none are available. Failed to set UID.")); - return false; - } - - status = PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, (byte)1, &key, &uid); - if (status != STATUS_OK) { - // We tried, time to give up - if (logErrors) { - Serial.println(F("Failed to authenticate to card for reading, could not set UID: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - } - else { - if (logErrors) { - Serial.print(F("PCD_Authenticate() failed: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - } - - // Read block 0 - byte block0_buffer[18]; - byte byteCount = sizeof(block0_buffer); - status = MIFARE_Read((byte)0, block0_buffer, &byteCount); - if (status != STATUS_OK) { - if (logErrors) { - Serial.print(F("MIFARE_Read() failed: ")); - Serial.println(GetStatusCodeName(status)); - Serial.println(F("Are you sure your KEY A for sector 0 is 0xFFFFFFFFFFFF?")); - } - return false; - } - - // Write new UID to the data we just read, and calculate BCC byte - byte bcc = 0; - for (uint8_t i = 0; i < uidSize; i++) { - block0_buffer[i] = newUid[i]; - bcc ^= newUid[i]; - } - - // Write BCC byte to buffer - block0_buffer[uidSize] = bcc; - - // Stop encrypted traffic so we can send raw bytes - PCD_StopCrypto1(); - - // Activate UID backdoor - if (!MIFARE_OpenUidBackdoor(logErrors)) { - if (logErrors) { - Serial.println(F("Activating the UID backdoor failed.")); - } - return false; - } - - // Write modified block 0 back to card - status = MIFARE_Write((byte)0, block0_buffer, (byte)16); - if (status != STATUS_OK) { - if (logErrors) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - - // Wake the card up again - byte atqa_answer[2]; - byte atqa_size = 2; - PICC_WakeupA(atqa_answer, &atqa_size); - - return true; -} - -/** - * Resets entire sector 0 to zeroes, so the card can be read again by readers. - */ -bool MFRC522::MIFARE_UnbrickUidSector(bool logErrors) { - MIFARE_OpenUidBackdoor(logErrors); - - byte block0_buffer[] = {0x01, 0x02, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - - // Write modified block 0 back to card - MFRC522::StatusCode status = MIFARE_Write((byte)0, block0_buffer, (byte)16); - if (status != STATUS_OK) { - if (logErrors) { - Serial.print(F("MIFARE_Write() failed: ")); - Serial.println(GetStatusCodeName(status)); - } - return false; - } - return true; -} - -///////////////////////////////////////////////////////////////////////////////////// -// Convenience functions - does not add extra functionality -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Returns true if a PICC responds to PICC_CMD_REQA. - * Only "new" cards in state IDLE are invited. Sleeping cards in state HALT are ignored. - * - * @return bool - */ -bool MFRC522::PICC_IsNewCardPresent() { - byte bufferATQA[2]; - byte bufferSize = sizeof(bufferATQA); - - // Reset baud rates - PCD_WriteRegister(TxModeReg, 0x00); - PCD_WriteRegister(RxModeReg, 0x00); - // Reset ModWidthReg - PCD_WriteRegister(ModWidthReg, 0x26); - - MFRC522::StatusCode result = PICC_RequestA(bufferATQA, &bufferSize); - return (result == STATUS_OK || result == STATUS_COLLISION); -} // End PICC_IsNewCardPresent() - -/** - * Simple wrapper around PICC_Select. - * Returns true if a UID could be read. - * Remember to call PICC_IsNewCardPresent(), PICC_RequestA() or PICC_WakeupA() first. - * The read UID is available in the class variable uid. - * - * @return bool - */ -bool MFRC522::PICC_ReadCardSerial() { - MFRC522::StatusCode result = PICC_Select(&uid); - return (result == STATUS_OK); -} // End diff --git a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h deleted file mode 100644 index 09c72fc..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522.h +++ /dev/null @@ -1,424 +0,0 @@ -/** - * MFRC522.h - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. - * Based on code Dr.Leong ( WWW.B2CQSHOP.COM ) - * Created by Miguel Balboa (circuitito.com), Jan, 2012. - * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.) - * Extended by Tom Clement with functionality to write to sector 0 of UID changeable Mifare cards. - * Released into the public domain. - * - * Please read this file for an overview and then MFRC522.cpp for comments on the specific functions. - * Search for "mf-rc522" on ebay.com to purchase the MF-RC522 board. - * - * There are three hardware components involved: - * 1) The micro controller: An Arduino - * 2) The PCD (short for Proximity Coupling Device): NXP MFRC522 Contactless Reader IC - * 3) The PICC (short for Proximity Integrated Circuit Card): A card or tag using the ISO 14443A interface, eg Mifare or NTAG203. - * - * The microcontroller and card reader uses SPI for communication. - * The protocol is described in the MFRC522 datasheet: http://www.nxp.com/documents/data_sheet/MFRC522.pdf - * - * The card reader and the tags communicate using a 13.56MHz electromagnetic field. - * The protocol is defined in ISO/IEC 14443-3 Identification cards -- Contactless integrated circuit cards -- Proximity cards -- Part 3: Initialization and anticollision". - * A free version of the final draft can be found at http://wg8.de/wg8n1496_17n3613_Ballot_FCD14443-3.pdf - * Details are found in chapter 6, Type A – Initialization and anticollision. - * - * If only the PICC UID is wanted, the above documents has all the needed information. - * To read and write from MIFARE PICCs, the MIFARE protocol is used after the PICC has been selected. - * The MIFARE Classic chips and protocol is described in the datasheets: - * 1K: http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf - * 4K: http://datasheet.octopart.com/MF1S7035DA4,118-NXP-Semiconductors-datasheet-11046188.pdf - * Mini: http://www.idcardmarket.com/download/mifare_S20_datasheet.pdf - * The MIFARE Ultralight chip and protocol is described in the datasheets: - * Ultralight: http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf - * Ultralight C: http://www.nxp.com/documents/short_data_sheet/MF0ICU2_SDS.pdf - * - * MIFARE Classic 1K (MF1S503x): - * Has 16 sectors * 4 blocks/sector * 16 bytes/block = 1024 bytes. - * The blocks are numbered 0-63. - * Block 3 in each sector is the Sector Trailer. See http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf sections 8.6 and 8.7: - * Bytes 0-5: Key A - * Bytes 6-8: Access Bits - * Bytes 9: User data - * Bytes 10-15: Key B (or user data) - * Block 0 is read-only manufacturer data. - * To access a block, an authentication using a key from the block's sector must be performed first. - * Example: To read from block 10, first authenticate using a key from sector 3 (blocks 8-11). - * All keys are set to FFFFFFFFFFFFh at chip delivery. - * Warning: Please read section 8.7 "Memory Access". It includes this text: if the PICC detects a format violation the whole sector is irreversibly blocked. - * To use a block in "value block" mode (for Increment/Decrement operations) you need to change the sector trailer. Use PICC_SetAccessBits() to calculate the bit patterns. - * MIFARE Classic 4K (MF1S703x): - * Has (32 sectors * 4 blocks/sector + 8 sectors * 16 blocks/sector) * 16 bytes/block = 4096 bytes. - * The blocks are numbered 0-255. - * The last block in each sector is the Sector Trailer like above. - * MIFARE Classic Mini (MF1 IC S20): - * Has 5 sectors * 4 blocks/sector * 16 bytes/block = 320 bytes. - * The blocks are numbered 0-19. - * The last block in each sector is the Sector Trailer like above. - * - * MIFARE Ultralight (MF0ICU1): - * Has 16 pages of 4 bytes = 64 bytes. - * Pages 0 + 1 is used for the 7-byte UID. - * Page 2 contains the last check digit for the UID, one byte manufacturer internal data, and the lock bytes (see http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf section 8.5.2) - * Page 3 is OTP, One Time Programmable bits. Once set to 1 they cannot revert to 0. - * Pages 4-15 are read/write unless blocked by the lock bytes in page 2. - * MIFARE Ultralight C (MF0ICU2): - * Has 48 pages of 4 bytes = 192 bytes. - * Pages 0 + 1 is used for the 7-byte UID. - * Page 2 contains the last check digit for the UID, one byte manufacturer internal data, and the lock bytes (see http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf section 8.5.2) - * Page 3 is OTP, One Time Programmable bits. Once set to 1 they cannot revert to 0. - * Pages 4-39 are read/write unless blocked by the lock bytes in page 2. - * Page 40 Lock bytes - * Page 41 16 bit one way counter - * Pages 42-43 Authentication configuration - * Pages 44-47 Authentication key - */ -#ifndef MFRC522_h -#define MFRC522_h - -// Enable integer limits -#define __STDC_LIMIT_MACROS -#include -#include -#include - -#define MFRC522_SPICLOCK SPI_CLOCK_DIV4 // MFRC522 accept upto 10MHz - -// Firmware data for self-test -// Reference values based on firmware version -// Hint: if needed, you can remove unused self-test data to save flash memory -// -// Version 0.0 (0x90) -// Philips Semiconductors; Preliminary Specification Revision 2.0 - 01 August 2005; 16.1 self-test -const byte MFRC522_firmware_referenceV0_0[] PROGMEM = { - 0x00, 0x87, 0x98, 0x0f, 0x49, 0xFF, 0x07, 0x19, - 0xBF, 0x22, 0x30, 0x49, 0x59, 0x63, 0xAD, 0xCA, - 0x7F, 0xE3, 0x4E, 0x03, 0x5C, 0x4E, 0x49, 0x50, - 0x47, 0x9A, 0x37, 0x61, 0xE7, 0xE2, 0xC6, 0x2E, - 0x75, 0x5A, 0xED, 0x04, 0x3D, 0x02, 0x4B, 0x78, - 0x32, 0xFF, 0x58, 0x3B, 0x7C, 0xE9, 0x00, 0x94, - 0xB4, 0x4A, 0x59, 0x5B, 0xFD, 0xC9, 0x29, 0xDF, - 0x35, 0x96, 0x98, 0x9E, 0x4F, 0x30, 0x32, 0x8D -}; -// Version 1.0 (0x91) -// NXP Semiconductors; Rev. 3.8 - 17 September 2014; 16.1.1 self-test -const byte MFRC522_firmware_referenceV1_0[] PROGMEM = { - 0x00, 0xC6, 0x37, 0xD5, 0x32, 0xB7, 0x57, 0x5C, - 0xC2, 0xD8, 0x7C, 0x4D, 0xD9, 0x70, 0xC7, 0x73, - 0x10, 0xE6, 0xD2, 0xAA, 0x5E, 0xA1, 0x3E, 0x5A, - 0x14, 0xAF, 0x30, 0x61, 0xC9, 0x70, 0xDB, 0x2E, - 0x64, 0x22, 0x72, 0xB5, 0xBD, 0x65, 0xF4, 0xEC, - 0x22, 0xBC, 0xD3, 0x72, 0x35, 0xCD, 0xAA, 0x41, - 0x1F, 0xA7, 0xF3, 0x53, 0x14, 0xDE, 0x7E, 0x02, - 0xD9, 0x0F, 0xB5, 0x5E, 0x25, 0x1D, 0x29, 0x79 -}; -// Version 2.0 (0x92) -// NXP Semiconductors; Rev. 3.8 - 17 September 2014; 16.1.1 self-test -const byte MFRC522_firmware_referenceV2_0[] PROGMEM = { - 0x00, 0xEB, 0x66, 0xBA, 0x57, 0xBF, 0x23, 0x95, - 0xD0, 0xE3, 0x0D, 0x3D, 0x27, 0x89, 0x5C, 0xDE, - 0x9D, 0x3B, 0xA7, 0x00, 0x21, 0x5B, 0x89, 0x82, - 0x51, 0x3A, 0xEB, 0x02, 0x0C, 0xA5, 0x00, 0x49, - 0x7C, 0x84, 0x4D, 0xB3, 0xCC, 0xD2, 0x1B, 0x81, - 0x5D, 0x48, 0x76, 0xD5, 0x71, 0x61, 0x21, 0xA9, - 0x86, 0x96, 0x83, 0x38, 0xCF, 0x9D, 0x5B, 0x6D, - 0xDC, 0x15, 0xBA, 0x3E, 0x7D, 0x95, 0x3B, 0x2F -}; -// Clone -// Fudan Semiconductor FM17522 (0x88) -const byte FM17522_firmware_reference[] PROGMEM = { - 0x00, 0xD6, 0x78, 0x8C, 0xE2, 0xAA, 0x0C, 0x18, - 0x2A, 0xB8, 0x7A, 0x7F, 0xD3, 0x6A, 0xCF, 0x0B, - 0xB1, 0x37, 0x63, 0x4B, 0x69, 0xAE, 0x91, 0xC7, - 0xC3, 0x97, 0xAE, 0x77, 0xF4, 0x37, 0xD7, 0x9B, - 0x7C, 0xF5, 0x3C, 0x11, 0x8F, 0x15, 0xC3, 0xD7, - 0xC1, 0x5B, 0x00, 0x2A, 0xD0, 0x75, 0xDE, 0x9E, - 0x51, 0x64, 0xAB, 0x3E, 0xE9, 0x15, 0xB5, 0xAB, - 0x56, 0x9A, 0x98, 0x82, 0x26, 0xEA, 0x2A, 0x62 -}; - -class MFRC522 { -public: - // Size of the MFRC522 FIFO - static const byte FIFO_SIZE = 64; // The FIFO is 64 bytes. - - // MFRC522 registers. Described in chapter 9 of the datasheet. - // When using SPI all addresses are shifted one bit left in the "SPI address byte" (section 8.1.2.3) - enum PCD_Register : byte { - // Page 0: Command and status - // 0x00 // reserved for future use - CommandReg = 0x01 << 1, // starts and stops command execution - ComIEnReg = 0x02 << 1, // enable and disable interrupt request control bits - DivIEnReg = 0x03 << 1, // enable and disable interrupt request control bits - ComIrqReg = 0x04 << 1, // interrupt request bits - DivIrqReg = 0x05 << 1, // interrupt request bits - ErrorReg = 0x06 << 1, // error bits showing the error status of the last command executed - Status1Reg = 0x07 << 1, // communication status bits - Status2Reg = 0x08 << 1, // receiver and transmitter status bits - FIFODataReg = 0x09 << 1, // input and output of 64 byte FIFO buffer - FIFOLevelReg = 0x0A << 1, // number of bytes stored in the FIFO buffer - WaterLevelReg = 0x0B << 1, // level for FIFO underflow and overflow warning - ControlReg = 0x0C << 1, // miscellaneous control registers - BitFramingReg = 0x0D << 1, // adjustments for bit-oriented frames - CollReg = 0x0E << 1, // bit position of the first bit-collision detected on the RF interface - // 0x0F // reserved for future use - - // Page 1: Command - // 0x10 // reserved for future use - ModeReg = 0x11 << 1, // defines general modes for transmitting and receiving - TxModeReg = 0x12 << 1, // defines transmission data rate and framing - RxModeReg = 0x13 << 1, // defines reception data rate and framing - TxControlReg = 0x14 << 1, // controls the logical behavior of the antenna driver pins TX1 and TX2 - TxASKReg = 0x15 << 1, // controls the setting of the transmission modulation - TxSelReg = 0x16 << 1, // selects the internal sources for the antenna driver - RxSelReg = 0x17 << 1, // selects internal receiver settings - RxThresholdReg = 0x18 << 1, // selects thresholds for the bit decoder - DemodReg = 0x19 << 1, // defines demodulator settings - // 0x1A // reserved for future use - // 0x1B // reserved for future use - MfTxReg = 0x1C << 1, // controls some MIFARE communication transmit parameters - MfRxReg = 0x1D << 1, // controls some MIFARE communication receive parameters - // 0x1E // reserved for future use - SerialSpeedReg = 0x1F << 1, // selects the speed of the serial UART interface - - // Page 2: Configuration - // 0x20 // reserved for future use - CRCResultRegH = 0x21 << 1, // shows the MSB and LSB values of the CRC calculation - CRCResultRegL = 0x22 << 1, - // 0x23 // reserved for future use - ModWidthReg = 0x24 << 1, // controls the ModWidth setting? - // 0x25 // reserved for future use - RFCfgReg = 0x26 << 1, // configures the receiver gain - GsNReg = 0x27 << 1, // selects the conductance of the antenna driver pins TX1 and TX2 for modulation - CWGsPReg = 0x28 << 1, // defines the conductance of the p-driver output during periods of no modulation - ModGsPReg = 0x29 << 1, // defines the conductance of the p-driver output during periods of modulation - TModeReg = 0x2A << 1, // defines settings for the internal timer - TPrescalerReg = 0x2B << 1, // the lower 8 bits of the TPrescaler value. The 4 high bits are in TModeReg. - TReloadRegH = 0x2C << 1, // defines the 16-bit timer reload value - TReloadRegL = 0x2D << 1, - TCounterValueRegH = 0x2E << 1, // shows the 16-bit timer value - TCounterValueRegL = 0x2F << 1, - - // Page 3: Test Registers - // 0x30 // reserved for future use - TestSel1Reg = 0x31 << 1, // general test signal configuration - TestSel2Reg = 0x32 << 1, // general test signal configuration - TestPinEnReg = 0x33 << 1, // enables pin output driver on pins D1 to D7 - TestPinValueReg = 0x34 << 1, // defines the values for D1 to D7 when it is used as an I/O bus - TestBusReg = 0x35 << 1, // shows the status of the internal test bus - AutoTestReg = 0x36 << 1, // controls the digital self-test - VersionReg = 0x37 << 1, // shows the software version - AnalogTestReg = 0x38 << 1, // controls the pins AUX1 and AUX2 - TestDAC1Reg = 0x39 << 1, // defines the test value for TestDAC1 - TestDAC2Reg = 0x3A << 1, // defines the test value for TestDAC2 - TestADCReg = 0x3B << 1 // shows the value of ADC I and Q channels - // 0x3C // reserved for production tests - // 0x3D // reserved for production tests - // 0x3E // reserved for production tests - // 0x3F // reserved for production tests - }; - - // MFRC522 commands. Described in chapter 10 of the datasheet. - enum PCD_Command : byte { - PCD_Idle = 0x00, // no action, cancels current command execution - PCD_Mem = 0x01, // stores 25 bytes into the internal buffer - PCD_GenerateRandomID = 0x02, // generates a 10-byte random ID number - PCD_CalcCRC = 0x03, // activates the CRC coprocessor or performs a self-test - PCD_Transmit = 0x04, // transmits data from the FIFO buffer - PCD_NoCmdChange = 0x07, // no command change, can be used to modify the CommandReg register bits without affecting the command, for example, the PowerDown bit - PCD_Receive = 0x08, // activates the receiver circuits - PCD_Transceive = 0x0C, // transmits data from FIFO buffer to antenna and automatically activates the receiver after transmission - PCD_MFAuthent = 0x0E, // performs the MIFARE standard authentication as a reader - PCD_SoftReset = 0x0F // resets the MFRC522 - }; - - // MFRC522 RxGain[2:0] masks, defines the receiver's signal voltage gain factor (on the PCD). - // Described in 9.3.3.6 / table 98 of the datasheet at http://www.nxp.com/documents/data_sheet/MFRC522.pdf - enum PCD_RxGain : byte { - RxGain_18dB = 0x00 << 4, // 000b - 18 dB, minimum - RxGain_23dB = 0x01 << 4, // 001b - 23 dB - RxGain_18dB_2 = 0x02 << 4, // 010b - 18 dB, it seems 010b is a duplicate for 000b - RxGain_23dB_2 = 0x03 << 4, // 011b - 23 dB, it seems 011b is a duplicate for 001b - RxGain_33dB = 0x04 << 4, // 100b - 33 dB, average, and typical default - RxGain_38dB = 0x05 << 4, // 101b - 38 dB - RxGain_43dB = 0x06 << 4, // 110b - 43 dB - RxGain_48dB = 0x07 << 4, // 111b - 48 dB, maximum - RxGain_min = 0x00 << 4, // 000b - 18 dB, minimum, convenience for RxGain_18dB - RxGain_avg = 0x04 << 4, // 100b - 33 dB, average, convenience for RxGain_33dB - RxGain_max = 0x07 << 4 // 111b - 48 dB, maximum, convenience for RxGain_48dB - }; - - // Commands sent to the PICC. - enum PICC_Command : byte { - // The commands used by the PCD to manage communication with several PICCs (ISO 14443-3, Type A, section 6.4) - PICC_CMD_REQA = 0x26, // REQuest command, Type A. Invites PICCs in state IDLE to go to READY and prepare for anticollision or selection. 7 bit frame. - PICC_CMD_WUPA = 0x52, // Wake-UP command, Type A. Invites PICCs in state IDLE and HALT to go to READY(*) and prepare for anticollision or selection. 7 bit frame. - PICC_CMD_CT = 0x88, // Cascade Tag. Not really a command, but used during anti collision. - PICC_CMD_SEL_CL1 = 0x93, // Anti collision/Select, Cascade Level 1 - PICC_CMD_SEL_CL2 = 0x95, // Anti collision/Select, Cascade Level 2 - PICC_CMD_SEL_CL3 = 0x97, // Anti collision/Select, Cascade Level 3 - PICC_CMD_HLTA = 0x50, // HaLT command, Type A. Instructs an ACTIVE PICC to go to state HALT. - PICC_CMD_RATS = 0xE0, // Request command for Answer To Reset. - // The commands used for MIFARE Classic (from http://www.mouser.com/ds/2/302/MF1S503x-89574.pdf, Section 9) - // Use PCD_MFAuthent to authenticate access to a sector, then use these commands to read/write/modify the blocks on the sector. - // The read/write commands can also be used for MIFARE Ultralight. - PICC_CMD_MF_AUTH_KEY_A = 0x60, // Perform authentication with Key A - PICC_CMD_MF_AUTH_KEY_B = 0x61, // Perform authentication with Key B - PICC_CMD_MF_READ = 0x30, // Reads one 16 byte block from the authenticated sector of the PICC. Also used for MIFARE Ultralight. - PICC_CMD_MF_WRITE = 0xA0, // Writes one 16 byte block to the authenticated sector of the PICC. Called "COMPATIBILITY WRITE" for MIFARE Ultralight. - PICC_CMD_MF_DECREMENT = 0xC0, // Decrements the contents of a block and stores the result in the internal data register. - PICC_CMD_MF_INCREMENT = 0xC1, // Increments the contents of a block and stores the result in the internal data register. - PICC_CMD_MF_RESTORE = 0xC2, // Reads the contents of a block into the internal data register. - PICC_CMD_MF_TRANSFER = 0xB0, // Writes the contents of the internal data register to a block. - // The commands used for MIFARE Ultralight (from http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf, Section 8.6) - // The PICC_CMD_MF_READ and PICC_CMD_MF_WRITE can also be used for MIFARE Ultralight. - PICC_CMD_UL_WRITE = 0xA2 // Writes one 4 byte page to the PICC. - }; - - // MIFARE constants that does not fit anywhere else - enum MIFARE_Misc { - MF_ACK = 0xA, // The MIFARE Classic uses a 4 bit ACK/NAK. Any other value than 0xA is NAK. - MF_KEY_SIZE = 6 // A Mifare Crypto1 key is 6 bytes. - }; - - // PICC types we can detect. Remember to update PICC_GetTypeName() if you add more. - // last value set to 0xff, then compiler uses less ram, it seems some optimisations are triggered - enum PICC_Type : byte { - PICC_TYPE_UNKNOWN , - PICC_TYPE_ISO_14443_4 , // PICC compliant with ISO/IEC 14443-4 - PICC_TYPE_ISO_18092 , // PICC compliant with ISO/IEC 18092 (NFC) - PICC_TYPE_MIFARE_MINI , // MIFARE Classic protocol, 320 bytes - PICC_TYPE_MIFARE_1K , // MIFARE Classic protocol, 1KB - PICC_TYPE_MIFARE_4K , // MIFARE Classic protocol, 4KB - PICC_TYPE_MIFARE_UL , // MIFARE Ultralight or Ultralight C - PICC_TYPE_MIFARE_PLUS , // MIFARE Plus - PICC_TYPE_MIFARE_DESFIRE, // MIFARE DESFire - PICC_TYPE_TNP3XXX , // Only mentioned in NXP AN 10833 MIFARE Type Identification Procedure - PICC_TYPE_NOT_COMPLETE = 0xff // SAK indicates UID is not complete. - }; - - // Return codes from the functions in this class. Remember to update GetStatusCodeName() if you add more. - // last value set to 0xff, then compiler uses less ram, it seems some optimisations are triggered - enum StatusCode : byte { - STATUS_OK , // Success - STATUS_ERROR , // Error in communication - STATUS_COLLISION , // Collission detected - STATUS_TIMEOUT , // Timeout in communication. - STATUS_NO_ROOM , // A buffer is not big enough. - STATUS_INTERNAL_ERROR , // Internal error in the code. Should not happen ;-) - STATUS_INVALID , // Invalid argument. - STATUS_CRC_WRONG , // The CRC_A does not match - STATUS_MIFARE_NACK = 0xff // A MIFARE PICC responded with NAK. - }; - - // A struct used for passing the UID of a PICC. - typedef struct { - byte size; // Number of bytes in the UID. 4, 7 or 10. - byte uidByte[10]; - byte sak; // The SAK (Select acknowledge) byte returned from the PICC after successful selection. - } Uid; - - // A struct used for passing a MIFARE Crypto1 key - typedef struct { - byte keyByte[MF_KEY_SIZE]; - } MIFARE_Key; - - // Member variables - Uid uid; // Used by PICC_ReadCardSerial(). - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for setting up the Arduino - ///////////////////////////////////////////////////////////////////////////////////// - MFRC522(); - MFRC522(byte resetPowerDownPin); - MFRC522(byte chipSelectPin, byte resetPowerDownPin); - - ///////////////////////////////////////////////////////////////////////////////////// - // Basic interface functions for communicating with the MFRC522 - ///////////////////////////////////////////////////////////////////////////////////// - void PCD_WriteRegister(PCD_Register reg, byte value); - void PCD_WriteRegister(PCD_Register reg, byte count, byte *values); - byte PCD_ReadRegister(PCD_Register reg); - void PCD_ReadRegister(PCD_Register reg, byte count, byte *values, byte rxAlign = 0); - void PCD_SetRegisterBitMask(PCD_Register reg, byte mask); - void PCD_ClearRegisterBitMask(PCD_Register reg, byte mask); - StatusCode PCD_CalculateCRC(byte *data, byte length, byte *result); - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for manipulating the MFRC522 - ///////////////////////////////////////////////////////////////////////////////////// - void PCD_Init(); - void PCD_Init(byte resetPowerDownPin); - void PCD_Init(byte chipSelectPin, byte resetPowerDownPin); - void PCD_Reset(); - void PCD_AntennaOn(); - void PCD_AntennaOff(); - byte PCD_GetAntennaGain(); - void PCD_SetAntennaGain(byte mask); - bool PCD_PerformSelfTest(); - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for communicating with PICCs - ///////////////////////////////////////////////////////////////////////////////////// - StatusCode PCD_TransceiveData(byte *sendData, byte sendLen, byte *backData, byte *backLen, byte *validBits = NULL, byte rxAlign = 0, bool checkCRC = false); - StatusCode PCD_CommunicateWithPICC(byte command, byte waitIRq, byte *sendData, byte sendLen, byte *backData = NULL, byte *backLen = NULL, byte *validBits = NULL, byte rxAlign = 0, bool checkCRC = false); - StatusCode PICC_RequestA(byte *bufferATQA, byte *bufferSize); - StatusCode PICC_WakeupA(byte *bufferATQA, byte *bufferSize); - StatusCode PICC_REQA_or_WUPA(byte command, byte *bufferATQA, byte *bufferSize); - virtual StatusCode PICC_Select(Uid *uid, byte validBits = 0); - StatusCode PICC_HaltA(); - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for communicating with MIFARE PICCs - ///////////////////////////////////////////////////////////////////////////////////// - StatusCode PCD_Authenticate(byte command, byte blockAddr, MIFARE_Key *key, Uid *uid); - void PCD_StopCrypto1(); - StatusCode MIFARE_Read(byte blockAddr, byte *buffer, byte *bufferSize); - StatusCode MIFARE_Write(byte blockAddr, byte *buffer, byte bufferSize); - StatusCode MIFARE_Ultralight_Write(byte page, byte *buffer, byte bufferSize); - StatusCode MIFARE_Decrement(byte blockAddr, int32_t delta); - StatusCode MIFARE_Increment(byte blockAddr, int32_t delta); - StatusCode MIFARE_Restore(byte blockAddr); - StatusCode MIFARE_Transfer(byte blockAddr); - StatusCode MIFARE_GetValue(byte blockAddr, int32_t *value); - StatusCode MIFARE_SetValue(byte blockAddr, int32_t value); - StatusCode PCD_NTAG216_AUTH(byte *passWord, byte pACK[]); - - ///////////////////////////////////////////////////////////////////////////////////// - // Support functions - ///////////////////////////////////////////////////////////////////////////////////// - StatusCode PCD_MIFARE_Transceive(byte *sendData, byte sendLen, bool acceptTimeout = false); - // old function used too much memory, now name moved to flash; if you need char, copy from flash to memory - //const char *GetStatusCodeName(byte code); - static const __FlashStringHelper *GetStatusCodeName(StatusCode code); - static PICC_Type PICC_GetType(byte sak); - // old function used too much memory, now name moved to flash; if you need char, copy from flash to memory - //const char *PICC_GetTypeName(byte type); - static const __FlashStringHelper *PICC_GetTypeName(PICC_Type type); - - // Support functions for debuging - void PCD_DumpVersionToSerial(); - void PICC_DumpToSerial(Uid *uid); - void PICC_DumpDetailsToSerial(Uid *uid); - void PICC_DumpMifareClassicToSerial(Uid *uid, PICC_Type piccType, MIFARE_Key *key); - void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, byte sector); - void PICC_DumpMifareUltralightToSerial(); - - // Advanced functions for MIFARE - void MIFARE_SetAccessBits(byte *accessBitBuffer, byte g0, byte g1, byte g2, byte g3); - bool MIFARE_OpenUidBackdoor(bool logErrors); - bool MIFARE_SetUid(byte *newUid, byte uidSize, bool logErrors); - bool MIFARE_UnbrickUidSector(bool logErrors); - - ///////////////////////////////////////////////////////////////////////////////////// - // Convenience functions - does not add extra functionality - ///////////////////////////////////////////////////////////////////////////////////// - virtual bool PICC_IsNewCardPresent(); - virtual bool PICC_ReadCardSerial(); - -protected: - byte _chipSelectPin; // Arduino pin connected to MFRC522's SPI slave select input (Pin 24, NSS, active low) - byte _resetPowerDownPin; // Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) - StatusCode MIFARE_TwoStepHelper(byte command, byte blockAddr, int32_t data); -}; - -#endif diff --git a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp deleted file mode 100644 index da603ab..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.cpp +++ /dev/null @@ -1,1160 +0,0 @@ -/* - * Library extends MFRC522.h to support RATS for ISO-14443-4 PICC. - * RATS - Request for Answer To Select. - * NOTE: Please also check the comments in MFRC522Extended.h - * @author JPG-Consulting -*/ - -#include "MFRC522Extended.h" - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for communicating with PICCs -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Transmits SELECT/ANTICOLLISION commands to select a single PICC. - * Before calling this function the PICCs must be placed in the READY(*) state by calling PICC_RequestA() or PICC_WakeupA(). - * On success: - * - The chosen PICC is in state ACTIVE(*) and all other PICCs have returned to state IDLE/HALT. (Figure 7 of the ISO/IEC 14443-3 draft.) - * - The UID size and value of the chosen PICC is returned in *uid along with the SAK. - * - * A PICC UID consists of 4, 7 or 10 bytes. - * Only 4 bytes can be specified in a SELECT command, so for the longer UIDs two or three iterations are used: - * UID size Number of UID bytes Cascade levels Example of PICC - * ======== =================== ============== =============== - * single 4 1 MIFARE Classic - * double 7 2 MIFARE Ultralight - * triple 10 3 Not currently in use? - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522Extended::PICC_Select( Uid *uid, ///< Pointer to Uid struct. Normally output, but can also be used to supply a known UID. - byte validBits ///< The number of known UID bits supplied in *uid. Normally 0. If set you must also supply uid->size. - ) { - bool uidComplete; - bool selectDone; - bool useCascadeTag; - byte cascadeLevel = 1; - MFRC522::StatusCode result; - byte count; - byte index; - byte uidIndex; // The first index in uid->uidByte[] that is used in the current Cascade Level. - int8_t currentLevelKnownBits; // The number of known UID bits in the current Cascade Level. - byte buffer[9]; // The SELECT/ANTICOLLISION commands uses a 7 byte standard frame + 2 bytes CRC_A - byte bufferUsed; // The number of bytes used in the buffer, ie the number of bytes to transfer to the FIFO. - byte rxAlign; // Used in BitFramingReg. Defines the bit position for the first bit received. - byte txLastBits; // Used in BitFramingReg. The number of valid bits in the last transmitted byte. - byte *responseBuffer; - byte responseLength; - - // Description of buffer structure: - // Byte 0: SEL Indicates the Cascade Level: PICC_CMD_SEL_CL1, PICC_CMD_SEL_CL2 or PICC_CMD_SEL_CL3 - // Byte 1: NVB Number of Valid Bits (in complete command, not just the UID): High nibble: complete bytes, Low nibble: Extra bits. - // Byte 2: UID-data or CT See explanation below. CT means Cascade Tag. - // Byte 3: UID-data - // Byte 4: UID-data - // Byte 5: UID-data - // Byte 6: BCC Block Check Character - XOR of bytes 2-5 - // Byte 7: CRC_A - // Byte 8: CRC_A - // The BCC and CRC_A are only transmitted if we know all the UID bits of the current Cascade Level. - // - // Description of bytes 2-5: (Section 6.5.4 of the ISO/IEC 14443-3 draft: UID contents and cascade levels) - // UID size Cascade level Byte2 Byte3 Byte4 Byte5 - // ======== ============= ===== ===== ===== ===== - // 4 bytes 1 uid0 uid1 uid2 uid3 - // 7 bytes 1 CT uid0 uid1 uid2 - // 2 uid3 uid4 uid5 uid6 - // 10 bytes 1 CT uid0 uid1 uid2 - // 2 CT uid3 uid4 uid5 - // 3 uid6 uid7 uid8 uid9 - - // Sanity checks - if (validBits > 80) { - return STATUS_INVALID; - } - - // Prepare MFRC522 - PCD_ClearRegisterBitMask(CollReg, 0x80); // ValuesAfterColl=1 => Bits received after collision are cleared. - - // Repeat Cascade Level loop until we have a complete UID. - uidComplete = false; - while (!uidComplete) { - // Set the Cascade Level in the SEL byte, find out if we need to use the Cascade Tag in byte 2. - switch (cascadeLevel) { - case 1: - buffer[0] = PICC_CMD_SEL_CL1; - uidIndex = 0; - useCascadeTag = validBits && uid->size > 4; // When we know that the UID has more than 4 bytes - break; - - case 2: - buffer[0] = PICC_CMD_SEL_CL2; - uidIndex = 3; - useCascadeTag = validBits && uid->size > 7; // When we know that the UID has more than 7 bytes - break; - - case 3: - buffer[0] = PICC_CMD_SEL_CL3; - uidIndex = 6; - useCascadeTag = false; // Never used in CL3. - break; - - default: - return STATUS_INTERNAL_ERROR; - break; - } - - // How many UID bits are known in this Cascade Level? - currentLevelKnownBits = validBits - (8 * uidIndex); - if (currentLevelKnownBits < 0) { - currentLevelKnownBits = 0; - } - // Copy the known bits from uid->uidByte[] to buffer[] - index = 2; // destination index in buffer[] - if (useCascadeTag) { - buffer[index++] = PICC_CMD_CT; - } - byte bytesToCopy = currentLevelKnownBits / 8 + (currentLevelKnownBits % 8 ? 1 : 0); // The number of bytes needed to represent the known bits for this level. - if (bytesToCopy) { - byte maxBytes = useCascadeTag ? 3 : 4; // Max 4 bytes in each Cascade Level. Only 3 left if we use the Cascade Tag - if (bytesToCopy > maxBytes) { - bytesToCopy = maxBytes; - } - for (count = 0; count < bytesToCopy; count++) { - buffer[index++] = uid->uidByte[uidIndex + count]; - } - } - // Now that the data has been copied we need to include the 8 bits in CT in currentLevelKnownBits - if (useCascadeTag) { - currentLevelKnownBits += 8; - } - - // Repeat anti collision loop until we can transmit all UID bits + BCC and receive a SAK - max 32 iterations. - selectDone = false; - while (!selectDone) { - // Find out how many bits and bytes to send and receive. - if (currentLevelKnownBits >= 32) { // All UID bits in this Cascade Level are known. This is a SELECT. - //Serial.print(F("SELECT: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); - buffer[1] = 0x70; // NVB - Number of Valid Bits: Seven whole bytes - // Calculate BCC - Block Check Character - buffer[6] = buffer[2] ^ buffer[3] ^ buffer[4] ^ buffer[5]; - // Calculate CRC_A - result = PCD_CalculateCRC(buffer, 7, &buffer[7]); - if (result != STATUS_OK) { - return result; - } - txLastBits = 0; // 0 => All 8 bits are valid. - bufferUsed = 9; - // Store response in the last 3 bytes of buffer (BCC and CRC_A - not needed after tx) - responseBuffer = &buffer[6]; - responseLength = 3; - } - else { // This is an ANTICOLLISION. - //Serial.print(F("ANTICOLLISION: currentLevelKnownBits=")); Serial.println(currentLevelKnownBits, DEC); - txLastBits = currentLevelKnownBits % 8; - count = currentLevelKnownBits / 8; // Number of whole bytes in the UID part. - index = 2 + count; // Number of whole bytes: SEL + NVB + UIDs - buffer[1] = (index << 4) + txLastBits; // NVB - Number of Valid Bits - bufferUsed = index + (txLastBits ? 1 : 0); - // Store response in the unused part of buffer - responseBuffer = &buffer[index]; - responseLength = sizeof(buffer) - index; - } - - // Set bit adjustments - rxAlign = txLastBits; // Having a separate variable is overkill. But it makes the next line easier to read. - PCD_WriteRegister(BitFramingReg, (rxAlign << 4) + txLastBits); // RxAlign = BitFramingReg[6..4]. TxLastBits = BitFramingReg[2..0] - - // Transmit the buffer and receive the response. - result = PCD_TransceiveData(buffer, bufferUsed, responseBuffer, &responseLength, &txLastBits, rxAlign); - if (result == STATUS_COLLISION) { // More than one PICC in the field => collision. - byte valueOfCollReg = PCD_ReadRegister(CollReg); // CollReg[7..0] bits are: ValuesAfterColl reserved CollPosNotValid CollPos[4:0] - if (valueOfCollReg & 0x20) { // CollPosNotValid - return STATUS_COLLISION; // Without a valid collision position we cannot continue - } - byte collisionPos = valueOfCollReg & 0x1F; // Values 0-31, 0 means bit 32. - if (collisionPos == 0) { - collisionPos = 32; - } - if (collisionPos <= currentLevelKnownBits) { // No progress - should not happen - return STATUS_INTERNAL_ERROR; - } - // Choose the PICC with the bit set. - currentLevelKnownBits = collisionPos; - count = (currentLevelKnownBits - 1) % 8; // The bit to modify - index = 1 + (currentLevelKnownBits / 8) + (count ? 1 : 0); // First byte is index 0. - buffer[index] |= (1 << count); - } - else if (result != STATUS_OK) { - return result; - } - else { // STATUS_OK - if (currentLevelKnownBits >= 32) { // This was a SELECT. - selectDone = true; // No more anticollision - // We continue below outside the while. - } - else { // This was an ANTICOLLISION. - // We now have all 32 bits of the UID in this Cascade Level - currentLevelKnownBits = 32; - // Run loop again to do the SELECT. - } - } - } // End of while (!selectDone) - - // We do not check the CBB - it was constructed by us above. - - // Copy the found UID bytes from buffer[] to uid->uidByte[] - index = (buffer[2] == PICC_CMD_CT) ? 3 : 2; // source index in buffer[] - bytesToCopy = (buffer[2] == PICC_CMD_CT) ? 3 : 4; - for (count = 0; count < bytesToCopy; count++) { - uid->uidByte[uidIndex + count] = buffer[index++]; - } - - // Check response SAK (Select Acknowledge) - if (responseLength != 3 || txLastBits != 0) { // SAK must be exactly 24 bits (1 byte + CRC_A). - return STATUS_ERROR; - } - // Verify CRC_A - do our own calculation and store the control in buffer[2..3] - those bytes are not needed anymore. - result = PCD_CalculateCRC(responseBuffer, 1, &buffer[2]); - if (result != STATUS_OK) { - return result; - } - if ((buffer[2] != responseBuffer[1]) || (buffer[3] != responseBuffer[2])) { - return STATUS_CRC_WRONG; - } - if (responseBuffer[0] & 0x04) { // Cascade bit set - UID not complete yes - cascadeLevel++; - } - else { - uidComplete = true; - uid->sak = responseBuffer[0]; - } - } // End of while (!uidComplete) - - // Set correct uid->size - uid->size = 3 * cascadeLevel + 1; - - // IF SAK bit 6 = 1 then it is ISO/IEC 14443-4 (T=CL) - // A Request ATS command should be sent - // We also check SAK bit 3 is cero, as it stands for UID complete (1 would tell us it is incomplete) - if ((uid->sak & 0x24) == 0x20) { - Ats ats; - result = PICC_RequestATS(&ats); - if (result == STATUS_OK) { - // Check the ATS - if (ats.size > 0) - { - // TA1 has been transmitted? - // PPS must be supported... - if (ats.ta1.transmitted) - { - // TA1 - // 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | Description - // ---+---+---+---+---+---+---+---+------------------------------------------ - // 0 | - | - | - | 0 | - | - | - | Different D for each direction supported - // 1 | - | - | - | 0 | - | - | - | Only same D for both direction supported - // - | x | x | x | 0 | - | - | - | DS (Send D) - // - | - | - | - | 0 | x | x | x | DR (Receive D) - // - // D to bitrate table - // 3 | 2 | 1 | Value - // ---+---+---+----------------------------- - // 1 | - | - | 848 kBaud is supported - // - | 1 | - | 424 kBaud is supported - // - | - | 1 | 212 kBaud is supported - // 0 | 0 | 0 | Only 106 kBaud is supported - // - // Note: 106 kBaud is always supported - // - // I have almost constant timeouts when changing speeds :( - // default never used, so only delarate - //TagBitRates ds = BITRATE_106KBITS; - //TagBitRates dr = BITRATE_106KBITS; - TagBitRates ds; - TagBitRates dr; - - //// TODO Not working at 848 or 424 - //if (ats.ta1.ds & 0x04) - //{ - // ds = BITRATE_848KBITS; - //} - //else if (ats.ta1.ds & 0x02) - //{ - // ds = BITRATE_424KBITS; - //} - //else if (ats.ta1.ds & 0x01) - //{ - // ds = BITRATE_212KBITS; - //} - //else - //{ - // ds = BITRATE_106KBITS; - //} - - if (ats.ta1.ds & 0x01) - { - ds = BITRATE_212KBITS; - } - else - { - ds = BITRATE_106KBITS; - } - - //// Not working at 848 or 424 - //if (ats.ta1.dr & 0x04) - //{ - // dr = BITRATE_848KBITS; - //} - //else if (ats.ta1.dr & 0x02) - //{ - // dr = BITRATE_424KBITS; - //} - //else if (ats.ta1.dr & 0x01) - //{ - // dr = BITRATE_212KBITS; - //} - //else - //{ - // dr = BITRATE_106KBITS; - //} - - if (ats.ta1.dr & 0x01) - { - dr = BITRATE_212KBITS; - } - else - { - dr = BITRATE_106KBITS; - } - - PICC_PPS(ds, dr); - } - } - } - } - - return STATUS_OK; -} // End PICC_Select() - -/** - * Transmits a Request command for Answer To Select (ATS). - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522Extended::PICC_RequestATS(Ats *ats) -{ - // TODO unused variable - //byte count; - MFRC522::StatusCode result; - - byte bufferATS[FIFO_SIZE]; - byte bufferSize = FIFO_SIZE; - - memset(bufferATS, 0, FIFO_SIZE); - - // Build command buffer - bufferATS[0] = PICC_CMD_RATS; - - // The CID defines the logical number of the addressed card and has a range of 0 - // through 14; 15 is reserved for future use (RFU). - // - // FSDI codes the maximum frame size (FSD) that the terminal can receive. - // - // FSDI | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9-F - // ------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------- - // FSD (bytes) | 16 | 24 | 32 | 40 | 48 | 64 | 96 | 128 | 256 | RFU > 256 - // - bufferATS[1] = 0x50; // FSD=64, CID=0 - - // Calculate CRC_A - result = PCD_CalculateCRC(bufferATS, 2, &bufferATS[2]); - if (result != STATUS_OK) { - return result; - } - - // Transmit the buffer and receive the response, validate CRC_A. - result = PCD_TransceiveData(bufferATS, 4, bufferATS, &bufferSize, NULL, 0, true); - if (result != STATUS_OK) { - PICC_HaltA(); - } - - // Set the ats structure data - ats->size = bufferATS[0]; - - // T0 byte: - // - // b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | Meaning - //----+----+----+----+----+----+----+----+--------------------------- - // 0 | ...| ...| ...| ...|... | ...| ...| Set to 0 (RFU) - // 0 | 1 | x | x | ...|... | ...| ...| TC1 transmitted - // 0 | x | 1 | x | ...|... | ...| ...| TB1 transmitted - // 0 | x | x | 1 | ...|... | ...| ...| TA1 transmitted - // 0 | ...| ...| ...| x | x | x | x | Maximum frame size (FSCI) - // - // FSCI | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9-F - // ------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------- - // FSC (bytes) | 16 | 24 | 32 | 40 | 48 | 64 | 96 | 128 | 256 | RFU > 256 - // - // Default FSCI is 2 (32 bytes) - if (ats->size > 0x01) - { - // TC1, TB1 and TA1 where NOT transmitted - ats->ta1.transmitted = (bool)(bufferATS[1] & 0x40); - ats->tb1.transmitted = (bool)(bufferATS[1] & 0x20); - ats->tc1.transmitted = (bool)(bufferATS[1] & 0x10); - - // Decode FSCI - switch (bufferATS[1] & 0x0F) - { - case 0x00: - ats->fsc = 16; - break; - case 0x01: - ats->fsc = 24; - break; - case 0x02: - ats->fsc = 32; - break; - case 0x03: - ats->fsc = 40; - break; - case 0x04: - ats->fsc = 48; - break; - case 0x05: - ats->fsc = 64; - break; - case 0x06: - ats->fsc = 96; - break; - case 0x07: - ats->fsc = 128; - break; - case 0x08: - // This value cannot be hold by a byte - // The reason I ignore it is that MFRC255 FIFO is 64 bytes so this is not a possible value (or atleast it shouldn't) - //ats->fsc = 256; - break; - // TODO: What to do with RFU (Reserved for future use)? - default: - break; - } - - // TA1 - if (ats->ta1.transmitted) - { - ats->ta1.sameD = (bool)(bufferATS[2] & 0x80); - ats->ta1.ds = (TagBitRates)((bufferATS[2] & 0x70) >> 4); - ats->ta1.dr = (TagBitRates)(bufferATS[2] & 0x07); - } - else - { - // Default TA1 - ats->ta1.ds = BITRATE_106KBITS; - ats->ta1.dr = BITRATE_106KBITS; - } - - // TB1 - if (ats->tb1.transmitted) - { - uint8_t tb1Index = 2; - - if (ats->ta1.transmitted) - tb1Index++; - - ats->tb1.fwi = (bufferATS[tb1Index] & 0xF0) >> 4; - ats->tb1.sfgi = bufferATS[tb1Index] & 0x0F; - } - else - { - // Defaults for TB1 - ats->tb1.fwi = 0; // TODO: Don't know the default for this! - ats->tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) - } - - // TC1 - if (ats->tc1.transmitted) - { - uint8_t tc1Index = 2; - - if (ats->ta1.transmitted) - tc1Index++; - if (ats->tb1.transmitted) - tc1Index++; - - ats->tc1.supportsCID = (bool)(bufferATS[tc1Index] & 0x02); - ats->tc1.supportsNAD = (bool)(bufferATS[tc1Index] & 0x01); - } - else - { - // Defaults for TC1 - ats->tc1.supportsCID = true; - ats->tc1.supportsNAD = false; - } - } - else - { - // TC1, TB1 and TA1 where NOT transmitted - ats->ta1.transmitted = false; - ats->tb1.transmitted = false; - ats->tc1.transmitted = false; - - // Default FSCI - ats->fsc = 32; // Defaults to FSCI 2 (32 bytes) - - // Default TA1 - ats->ta1.sameD = false; - ats->ta1.ds = BITRATE_106KBITS; - ats->ta1.dr = BITRATE_106KBITS; - - // Defaults for TB1 - ats->tb1.transmitted = false; - ats->tb1.fwi = 0; // TODO: Don't know the default for this! - ats->tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) - - // Defaults for TC1 - ats->tc1.transmitted = false; - ats->tc1.supportsCID = true; - ats->tc1.supportsNAD = false; - } - - memcpy(ats->data, bufferATS, bufferSize - 2); - - return result; -} // End PICC_RequestATS() - -/** - * Transmits Protocol and Parameter Selection Request (PPS) without parameter 1 - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522Extended::PICC_PPS() -{ - StatusCode result; - - byte ppsBuffer[4]; - byte ppsBufferSize = 4; - // Start byte: The start byte (PPS) consists of two parts: - // –The upper nibble(b8–b5) is set to’D'to identify the PPS. All other values are RFU. - // -The lower nibble(b4–b1), which is called the ‘card identifier’ (CID), defines the logical number of the addressed card. - ppsBuffer[0] = 0xD0; // CID is hardcoded as 0 in RATS - ppsBuffer[1] = 0x00; // PPS0 indicates whether PPS1 is present - - // Calculate CRC_A - result = PCD_CalculateCRC(ppsBuffer, 2, &ppsBuffer[2]); - if (result != STATUS_OK) { - return result; - } - - // Transmit the buffer and receive the response, validate CRC_A. - result = PCD_TransceiveData(ppsBuffer, 4, ppsBuffer, &ppsBufferSize, NULL, 0, true); - if (result == STATUS_OK) - { - // Enable CRC for T=CL - byte txReg = PCD_ReadRegister(TxModeReg) | 0x80; - byte rxReg = PCD_ReadRegister(RxModeReg) | 0x80; - - PCD_WriteRegister(TxModeReg, txReg); - PCD_WriteRegister(RxModeReg, rxReg); - } - - return result; -} // End PICC_PPS() - -/** - * Transmits Protocol and Parameter Selection Request (PPS) - * - * @return STATUS_OK on success, STATUS_??? otherwise. - */ -MFRC522::StatusCode MFRC522Extended::PICC_PPS(TagBitRates sendBitRate, ///< DS - TagBitRates receiveBitRate ///< DR -) { - StatusCode result; - - // TODO not used - //byte txReg = PCD_ReadRegister(TxModeReg) & 0x8F; - //byte rxReg = PCD_ReadRegister(RxModeReg) & 0x8F; - - byte ppsBuffer[5]; - byte ppsBufferSize = 5; - // Start byte: The start byte (PPS) consists of two parts: - // –The upper nibble(b8–b5) is set to’D'to identify the PPS. All other values are RFU. - // -The lower nibble(b4–b1), which is called the ‘card identifier’ (CID), defines the logical number of the addressed card. - ppsBuffer[0] = 0xD0; // CID is hardcoded as 0 in RATS - ppsBuffer[1] = 0x11; // PPS0 indicates whether PPS1 is present - - // Bit 8 - Set to '0' as MFRC522 allows different bit rates for send and receive - // Bit 4 - Set to '0' as it is Reserved for future use. - //ppsBuffer[2] = (((sendBitRate & 0x03) << 4) | (receiveBitRate & 0x03)) & 0xE7; - ppsBuffer[2] = (((sendBitRate & 0x03) << 2) | (receiveBitRate & 0x03)) & 0xE7; - - // Calculate CRC_A - result = PCD_CalculateCRC(ppsBuffer, 3, &ppsBuffer[3]); - if (result != STATUS_OK) { - return result; - } - - // Transmit the buffer and receive the response, validate CRC_A. - result = PCD_TransceiveData(ppsBuffer, 5, ppsBuffer, &ppsBufferSize, NULL, 0, true); - if (result == STATUS_OK) - { - // Make sure it is an answer to our PPS - // We should receive our PPS byte and 2 CRC bytes - if ((ppsBufferSize == 3) && (ppsBuffer[0] == 0xD0)) { - byte txReg = PCD_ReadRegister(TxModeReg) & 0x8F; - byte rxReg = PCD_ReadRegister(RxModeReg) & 0x8F; - - // Set bit rate and enable CRC for T=CL - txReg = (txReg & 0x8F) | ((receiveBitRate & 0x03) << 4) | 0x80; - rxReg = (rxReg & 0x8F) | ((sendBitRate & 0x03) << 4) | 0x80; - rxReg &= 0xF0; //Enforce although this should be set already - - // From ConfigIsoType - //rxReg |= 0x06; - - PCD_WriteRegister(TxModeReg, txReg); - PCD_WriteRegister(RxModeReg, rxReg); - - // At 212kBps - switch (sendBitRate) { - case BITRATE_212KBITS: - { - //PCD_WriteRegister(ModWidthReg, 0x13); - PCD_WriteRegister(ModWidthReg, 0x15); - } - break; - case BITRATE_424KBITS: - { - PCD_WriteRegister(ModWidthReg, 0x0A); - } - break; - case BITRATE_848KBITS: - { - PCD_WriteRegister(ModWidthReg, 0x05); - } - break; - default: - { - PCD_WriteRegister(ModWidthReg, 0x26); // Default value - } - break; - } - - //PCD_WriteRegister(RxThresholdReg, 0x84); // ISO-14443.4 Type A (default) - //PCD_WriteRegister(ControlReg, 0x10); - - delayMicroseconds(10); - } - else - { - return STATUS_ERROR; - } - } - - return result; -} // End PICC_PPS() - - -///////////////////////////////////////////////////////////////////////////////////// -// Functions for communicating with ISO/IEC 14433-4 cards -///////////////////////////////////////////////////////////////////////////////////// - -MFRC522::StatusCode MFRC522Extended::TCL_Transceive(PcbBlock *send, PcbBlock *back) -{ - MFRC522::StatusCode result; - byte inBuffer[FIFO_SIZE]; - byte inBufferSize = FIFO_SIZE; - byte outBuffer[send->inf.size + 5]; // PCB + CID + NAD + INF + EPILOGUE (CRC) - byte outBufferOffset = 1; - byte inBufferOffset = 1; - - // Set the PCB byte - outBuffer[0] = send->prologue.pcb; - - // Set the CID byte if available - if (send->prologue.pcb & 0x08) { - outBuffer[outBufferOffset] = send->prologue.cid; - outBufferOffset++; - } - - // Set the NAD byte if available - if (send->prologue.pcb & 0x04) { - outBuffer[outBufferOffset] = send->prologue.nad; - outBufferOffset++; - } - - // Copy the INF field if available - if (send->inf.size > 0) { - memcpy(&outBuffer[outBufferOffset], send->inf.data, send->inf.size); - outBufferOffset += send->inf.size; - } - - // Is the CRC enabled for transmission? - byte txModeReg = PCD_ReadRegister(TxModeReg); - if ((txModeReg & 0x80) != 0x80) { - // Calculate CRC_A - result = PCD_CalculateCRC(outBuffer, outBufferOffset, &outBuffer[outBufferOffset]); - if (result != STATUS_OK) { - return result; - } - - outBufferOffset += 2; - } - - // Transceive the block - result = PCD_TransceiveData(outBuffer, outBufferOffset, inBuffer, &inBufferSize); - if (result != STATUS_OK) { - return result; - } - - // We want to turn the received array back to a PcbBlock - back->prologue.pcb = inBuffer[0]; - - // CID byte is present? - if (send->prologue.pcb & 0x08) { - back->prologue.cid = inBuffer[inBufferOffset]; - inBufferOffset++; - } - - // NAD byte is present? - if (send->prologue.pcb & 0x04) { - back->prologue.nad = inBuffer[inBufferOffset]; - inBufferOffset++; - } - - // Check if CRC is taken care of by MFRC522 - byte rxModeReg = PCD_ReadRegister(TxModeReg); - if ((rxModeReg & 0x80) != 0x80) { - Serial.print("CRC is not taken care of by MFRC522: "); - Serial.println(rxModeReg, HEX); - - // Check the CRC - // We need at least the CRC_A value. - if ((int)(inBufferSize - inBufferOffset) < 2) { - return STATUS_CRC_WRONG; - } - - // Verify CRC_A - do our own calculation and store the control in controlBuffer. - byte controlBuffer[2]; - MFRC522::StatusCode status = PCD_CalculateCRC(inBuffer, inBufferSize - 2, controlBuffer); - if (status != STATUS_OK) { - return status; - } - - if ((inBuffer[inBufferSize - 2] != controlBuffer[0]) || (inBuffer[inBufferSize - 1] != controlBuffer[1])) { - return STATUS_CRC_WRONG; - } - - // Take away the CRC bytes - inBufferSize -= 2; - } - - // Got more data? - if (inBufferSize > inBufferOffset) { - if ((inBufferSize - inBufferOffset) > back->inf.size) { - return STATUS_NO_ROOM; - } - - memcpy(back->inf.data, &inBuffer[inBufferOffset], inBufferSize - inBufferOffset); - back->inf.size = inBufferSize - inBufferOffset; - } else { - back->inf.size = 0; - } - - // If the response is a R-Block check NACK - if (((inBuffer[0] & 0xC0) == 0x80) && (inBuffer[0] & 0x20)) { - return STATUS_MIFARE_NACK; - } - - return result; -} -/** - * Send an I-Block (Application) - */ -MFRC522::StatusCode MFRC522Extended::TCL_Transceive(TagInfo *tag, byte *sendData, byte sendLen, byte *backData, byte *backLen) -{ - MFRC522::StatusCode result; - - PcbBlock out; - PcbBlock in; - byte outBuffer[FIFO_SIZE]; - byte outBufferSize = FIFO_SIZE; - byte totalBackLen = *backLen; - - // This command sends an I-Block - out.prologue.pcb = 0x02; - - if (tag->ats.tc1.supportsCID) { - out.prologue.pcb |= 0x08; - out.prologue.cid = 0x00; // CID is curentlly hardcoded as 0x00 - } - - // This command doe not support NAD - out.prologue.pcb &= 0xFB; - out.prologue.nad = 0x00; - - // Set the block number - if (tag->blockNumber) { - out.prologue.pcb |= 0x01; - } - - // Do we have data to send? - if (sendData && (sendLen > 0)) { - out.inf.size = sendLen; - out.inf.data = sendData; - } else { - out.inf.size = 0; - out.inf.data = NULL; - } - - // Initialize the receiving data - // TODO Warning: Value escapes the local scope - in.inf.data = outBuffer; - in.inf.size = outBufferSize; - - result = TCL_Transceive(&out, &in); - if (result != STATUS_OK) { - return result; - } - - // Swap block number on success - tag->blockNumber = !tag->blockNumber; - - if (backData && (backLen > 0)) { - if (*backLen < in.inf.size) - return STATUS_NO_ROOM; - - *backLen = in.inf.size; - memcpy(backData, in.inf.data, in.inf.size); - } - - // Check chaining - if ((in.prologue.pcb & 0x10) == 0x00) - return result; - - // Result is chained - // Send an ACK to receive more data - // TODO: Should be checked I've never needed to send an ACK - while (in.prologue.pcb & 0x10) { - byte ackData[FIFO_SIZE]; - byte ackDataSize = FIFO_SIZE; - - result = TCL_TransceiveRBlock(tag, true, ackData, &ackDataSize); - if (result != STATUS_OK) - return result; - - if (backData && (backLen > 0)) { - if ((*backLen + ackDataSize) > totalBackLen) - return STATUS_NO_ROOM; - - memcpy(&(backData[*backLen]), ackData, ackDataSize); - *backLen += ackDataSize; - } - } - - return result; -} // End TCL_Transceive() - -/** - * Send R-Block to the PICC. - */ -MFRC522::StatusCode MFRC522Extended::TCL_TransceiveRBlock(TagInfo *tag, bool ack, byte *backData, byte *backLen) -{ - MFRC522::StatusCode result; - - PcbBlock out; - PcbBlock in; - byte outBuffer[FIFO_SIZE]; - byte outBufferSize = FIFO_SIZE; - - // This command sends an R-Block - if (ack) - out.prologue.pcb = 0xA2; // ACK - else - out.prologue.pcb = 0xB2; // NAK - - - if (tag->ats.tc1.supportsCID) { - out.prologue.pcb |= 0x08; - out.prologue.cid = 0x00; // CID is curentlly hardcoded as 0x00 - } - - // This command doe not support NAD - out.prologue.pcb &= 0xFB; - out.prologue.nad = 0x00; - - // Set the block number - if (tag->blockNumber) { - out.prologue.pcb |= 0x01; - } - - // No INF data for R-Block - out.inf.size = 0; - out.inf.data = NULL; - - // Initialize the receiving data - // TODO Warning: Value escapes the local scope - in.inf.data = outBuffer; - in.inf.size = outBufferSize; - - result = TCL_Transceive(&out, &in); - if (result != STATUS_OK) { - return result; - } - - // Swap block number on success - tag->blockNumber = !tag->blockNumber; - - if (backData && backLen) { - if (*backLen < in.inf.size) - return STATUS_NO_ROOM; - - *backLen = in.inf.size; - memcpy(backData, in.inf.data, in.inf.size); - } - - return result; -} // End TCL_TransceiveRBlock() - -/** - * Send an S-Block to deselect the card. - */ -MFRC522::StatusCode MFRC522Extended::TCL_Deselect(TagInfo *tag) -{ - MFRC522::StatusCode result; - byte outBuffer[4]; - byte outBufferSize = 1; - byte inBuffer[FIFO_SIZE]; - byte inBufferSize = FIFO_SIZE; - - outBuffer[0] = 0xC2; - if (tag->ats.tc1.supportsCID) - { - outBuffer[0] |= 0x08; - outBuffer[1] = 0x00; // CID is hardcoded - outBufferSize = 2; - } - - result = PCD_TransceiveData(outBuffer, outBufferSize, inBuffer, &inBufferSize); - if (result != STATUS_OK) { - return result; - } - - // TODO:Maybe do some checks? In my test it returns: CA 00 (Same data as I sent to my card) - - return result; -} // End TCL_Deselect() - -///////////////////////////////////////////////////////////////////////////////////// -// Support functions -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Get the PICC type. - * - * @return PICC_Type - */ -MFRC522::PICC_Type MFRC522Extended::PICC_GetType(TagInfo *tag ///< The TagInfo returned from PICC_Select(). -) { - // http://www.nxp.com/documents/application_note/AN10833.pdf - // 3.2 Coding of Select Acknowledge (SAK) - // ignore 8-bit (iso14443 starts with LSBit = bit 1) - // fixes wrong type for manufacturer Infineon (http://nfc-tools.org/index.php?title=ISO14443A) - byte sak = tag->uid.sak & 0x7F; - switch (sak) { - case 0x04: return PICC_TYPE_NOT_COMPLETE; // UID not complete - case 0x09: return PICC_TYPE_MIFARE_MINI; - case 0x08: return PICC_TYPE_MIFARE_1K; - case 0x18: return PICC_TYPE_MIFARE_4K; - case 0x00: return PICC_TYPE_MIFARE_UL; - case 0x10: - case 0x11: return PICC_TYPE_MIFARE_PLUS; - case 0x01: return PICC_TYPE_TNP3XXX; - case 0x20: - if (tag->atqa == 0x0344) - return PICC_TYPE_MIFARE_DESFIRE; - return PICC_TYPE_ISO_14443_4; - case 0x40: return PICC_TYPE_ISO_18092; - default: return PICC_TYPE_UNKNOWN; - } -} // End PICC_GetType() - -/** - * Dumps debug info about the selected PICC to Serial. - * On success the PICC is halted after dumping the data. - * For MIFARE Classic the factory default key of 0xFFFFFFFFFFFF is tried. - */ -void MFRC522Extended::PICC_DumpToSerial(TagInfo *tag) -{ - MIFARE_Key key; - - // Dump UID, SAK and Type - PICC_DumpDetailsToSerial(tag); - - // Dump contents - PICC_Type piccType = MFRC522::PICC_GetType(tag->uid.sak); - switch (piccType) { - case PICC_TYPE_MIFARE_MINI: - case PICC_TYPE_MIFARE_1K: - case PICC_TYPE_MIFARE_4K: - // All keys are set to FFFFFFFFFFFFh at chip delivery from the factory. - for (byte i = 0; i < 6; i++) { - key.keyByte[i] = 0xFF; - } - PICC_DumpMifareClassicToSerial(&tag->uid, piccType, &key); - break; - - case PICC_TYPE_MIFARE_UL: - PICC_DumpMifareUltralightToSerial(); - break; - - case PICC_TYPE_ISO_14443_4: - case PICC_TYPE_MIFARE_DESFIRE: - PICC_DumpISO14443_4(tag); - Serial.println(F("Dumping memory contents not implemented for that PICC type.")); - break; - case PICC_TYPE_ISO_18092: - case PICC_TYPE_MIFARE_PLUS: - case PICC_TYPE_TNP3XXX: - Serial.println(F("Dumping memory contents not implemented for that PICC type.")); - break; - - case PICC_TYPE_UNKNOWN: - case PICC_TYPE_NOT_COMPLETE: - default: - break; // No memory dump here - } - - Serial.println(); - PICC_HaltA(); // Already done if it was a MIFARE Classic PICC. -} - -/** - * Dumps card info (UID,SAK,Type) about the selected PICC to Serial. - */ -void MFRC522Extended::PICC_DumpDetailsToSerial(TagInfo *tag ///< Pointer to TagInfo struct returned from a successful PICC_Select(). -) { - // ATQA - Serial.print(F("Card ATQA:")); - if (((tag->atqa & 0xFF00u) >> 8) < 0x10) - Serial.print(F(" 0")); - Serial.print((tag->atqa & 0xFF00u) >> 8, HEX); - if ((tag->atqa & 0x00FFu) < 0x10) - Serial.print(F("0")); - else - Serial.print(F(" ")); - Serial.println(tag->atqa & 0x00FFu, HEX); - - // UID - Serial.print(F("Card UID:")); - for (byte i = 0; i < tag->uid.size; i++) { - if (tag->uid.uidByte[i] < 0x10) - Serial.print(F(" 0")); - else - Serial.print(F(" ")); - Serial.print(tag->uid.uidByte[i], HEX); - } - Serial.println(); - - // SAK - Serial.print(F("Card SAK: ")); - if (tag->uid.sak < 0x10) - Serial.print(F("0")); - Serial.println(tag->uid.sak, HEX); - - // (suggested) PICC type - PICC_Type piccType = PICC_GetType(tag); - Serial.print(F("PICC type: ")); - Serial.println(PICC_GetTypeName(piccType)); -} // End PICC_DumpDetailsToSerial() - -/** - * Dumps memory contents of a ISO-14443-4 PICC. - */ -void MFRC522Extended::PICC_DumpISO14443_4(TagInfo *tag) -{ - // ATS - if (tag->ats.size > 0x00) { // The first byte is the ATS length including the length byte - Serial.print(F("Card ATS:")); - for (byte offset = 0; offset < tag->ats.size; offset++) { - if (tag->ats.data[offset] < 0x10) - Serial.print(F(" 0")); - else - Serial.print(F(" ")); - Serial.print(tag->ats.data[offset], HEX); - } - Serial.println(); - } - -} // End PICC_DumpISO14443_4 - -///////////////////////////////////////////////////////////////////////////////////// -// Convenience functions - does not add extra functionality -///////////////////////////////////////////////////////////////////////////////////// - -/** - * Returns true if a PICC responds to PICC_CMD_REQA. - * Only "new" cards in state IDLE are invited. Sleeping cards in state HALT are ignored. - * - * @return bool - */ -bool MFRC522Extended::PICC_IsNewCardPresent() { - byte bufferATQA[2]; - byte bufferSize = sizeof(bufferATQA); - - // Reset baud rates - PCD_WriteRegister(TxModeReg, 0x00); - PCD_WriteRegister(RxModeReg, 0x00); - // Reset ModWidthReg - PCD_WriteRegister(ModWidthReg, 0x26); - - MFRC522::StatusCode result = PICC_RequestA(bufferATQA, &bufferSize); - - if (result == STATUS_OK || result == STATUS_COLLISION) { - tag.atqa = ((uint16_t)bufferATQA[1] << 8) | bufferATQA[0]; - tag.ats.size = 0; - tag.ats.fsc = 32; // default FSC value - - // Defaults for TA1 - tag.ats.ta1.transmitted = false; - tag.ats.ta1.sameD = false; - tag.ats.ta1.ds = MFRC522Extended::BITRATE_106KBITS; - tag.ats.ta1.dr = MFRC522Extended::BITRATE_106KBITS; - - // Defaults for TB1 - tag.ats.tb1.transmitted = false; - tag.ats.tb1.fwi = 0; // TODO: Don't know the default for this! - tag.ats.tb1.sfgi = 0; // The default value of SFGI is 0 (meaning that the card does not need any particular SFGT) - - // Defaults for TC1 - tag.ats.tc1.transmitted = false; - tag.ats.tc1.supportsCID = true; - tag.ats.tc1.supportsNAD = false; - - memset(tag.ats.data, 0, FIFO_SIZE - 2); - - tag.blockNumber = false; - return true; - } - return false; -} // End PICC_IsNewCardPresent() - -/** - * Simple wrapper around PICC_Select. - * Returns true if a UID could be read. - * Remember to call PICC_IsNewCardPresent(), PICC_RequestA() or PICC_WakeupA() first. - * The read UID is available in the class variable uid. - * - * @return bool - */ -bool MFRC522Extended::PICC_ReadCardSerial() { - MFRC522::StatusCode result = PICC_Select(&tag.uid); - - // Backward compatibility - uid.size = tag.uid.size; - uid.sak = tag.uid.sak; - memcpy(uid.uidByte, tag.uid.uidByte, sizeof(tag.uid.uidByte)); - - return (result == STATUS_OK); -} // End diff --git a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h b/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h deleted file mode 100644 index 9fd8ff8..0000000 --- a/SD_v2/Makefile_Build/libs/MFRC522/src/MFRC522Extended.h +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Library extends MFRC522.h to support RATS for ISO-14443-4 PICC. - * RATS - Request for Answer To Select. - * @author JPG-Consulting - */ -#ifndef MFRC522Extended_h -#define MFRC522Extended_h - -#include -#include "MFRC522.h" - -class MFRC522Extended : public MFRC522 { - -public: - // ISO/IEC 14443-4 bit rates - enum TagBitRates : byte { - BITRATE_106KBITS = 0x00, - BITRATE_212KBITS = 0x01, - BITRATE_424KBITS = 0x02, - BITRATE_848KBITS = 0x03 - }; - - // Structure to store ISO/IEC 14443-4 ATS - typedef struct { - byte size; - byte fsc; // Frame size for proximity card - - struct { - bool transmitted; - bool sameD; // Only the same D for both directions supported - TagBitRates ds; // Send D - TagBitRates dr; // Receive D - } ta1; - - struct { - bool transmitted; - byte fwi; // Frame waiting time integer - byte sfgi; // Start-up frame guard time integer - } tb1; - - struct { - bool transmitted; - bool supportsCID; - bool supportsNAD; - } tc1; - - // Raw data from ATS - byte data[FIFO_SIZE - 2]; // ATS cannot be bigger than FSD - 2 bytes (CRC), according to ISO 14443-4 5.2.2 - } Ats; - - // A struct used for passing the PICC information - typedef struct { - uint16_t atqa; - Uid uid; - Ats ats; - - // For Block PCB - bool blockNumber; - } TagInfo; - - // A struct used for passing PCB Block - typedef struct { - struct { - byte pcb; - byte cid; - byte nad; - } prologue; - struct { - byte size; - byte *data; - } inf; - } PcbBlock; - - // Member variables - TagInfo tag; - - ///////////////////////////////////////////////////////////////////////////////////// - // Contructors - ///////////////////////////////////////////////////////////////////////////////////// - MFRC522Extended() : MFRC522() {}; - MFRC522Extended(uint8_t rst) : MFRC522(rst) {}; - MFRC522Extended(uint8_t ss, uint8_t rst) : MFRC522(ss, rst) {}; - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for communicating with PICCs - ///////////////////////////////////////////////////////////////////////////////////// - StatusCode PICC_Select(Uid *uid, byte validBits = 0) override; // overrride - StatusCode PICC_RequestATS(Ats *ats); - StatusCode PICC_PPS(); // PPS command without bitrate parameter - StatusCode PICC_PPS(TagBitRates sendBitRate, TagBitRates receiveBitRate); // Different D values - - ///////////////////////////////////////////////////////////////////////////////////// - // Functions for communicating with ISO/IEC 14433-4 cards - ///////////////////////////////////////////////////////////////////////////////////// - StatusCode TCL_Transceive(PcbBlock *send, PcbBlock *back); - StatusCode TCL_Transceive(TagInfo * tag, byte *sendData, byte sendLen, byte *backData = NULL, byte *backLen = NULL); - StatusCode TCL_TransceiveRBlock(TagInfo *tag, bool ack, byte *backData = NULL, byte *backLen = NULL); - StatusCode TCL_Deselect(TagInfo *tag); - - ///////////////////////////////////////////////////////////////////////////////////// - // Support functions - ///////////////////////////////////////////////////////////////////////////////////// - static PICC_Type PICC_GetType(TagInfo *tag); - using MFRC522::PICC_GetType;// // make old PICC_GetType(byte sak) available, otherwise would be hidden by PICC_GetType(TagInfo *tag) - - // Support functions for debuging - void PICC_DumpToSerial(TagInfo *tag); - using MFRC522::PICC_DumpToSerial; // make old PICC_DumpToSerial(Uid *uid) available, otherwise would be hidden by PICC_DumpToSerial(TagInfo *tag) - void PICC_DumpDetailsToSerial(TagInfo *tag); - using MFRC522::PICC_DumpDetailsToSerial; // make old PICC_DumpDetailsToSerial(Uid *uid) available, otherwise would be hidden by PICC_DumpDetailsToSerial(TagInfo *tag) - void PICC_DumpISO14443_4(TagInfo *tag); - - ///////////////////////////////////////////////////////////////////////////////////// - // Convenience functions - does not add extra functionality - ///////////////////////////////////////////////////////////////////////////////////// - bool PICC_IsNewCardPresent() override; // overrride - bool PICC_ReadCardSerial() override; // overrride -}; - -#endif diff --git a/SD_v2/Makefile_Build/libs/SPI b/SD_v2/Makefile_Build/libs/SPI deleted file mode 160000 index a8af486..0000000 --- a/SD_v2/Makefile_Build/libs/SPI +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a8af486c7be94edee0854e7673badb7310a691e1 diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore deleted file mode 100644 index 1170214..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.zip diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md deleted file mode 100644 index 70a0a59..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Sodaq_DS3231 - -This is an Arduino library for the DS3231 RTC (Real Time Clock). - -# Old README - -RDS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used -in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) -& to generate timestamp for data logging. DateTime Class is a modified -version supporting day-of-week. - -Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs -http://jeelabs.net/projects/cafe/wiki/RTClib - -Released under MIT License http://opensource.org/licenses/mit-license.php - diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde deleted file mode 100644 index e5777e2..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/adjust/adjust.pde +++ /dev/null @@ -1,40 +0,0 @@ -// Date and time functions using a RX8025 RTC connected via I2C and Wire lib - -#include -#include "Sodaq_DS3231.h" - -char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; - -//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6) -//writing any non-existent time-data may interfere with normal operation of the RTC. -//Take care of week-day also. -DateTime dt(2011, 11, 10, 15, 18, 0, 5); - - -void setup () -{ - Serial.begin(57600); - Wire.begin(); - rtc.begin(); - rtc.setDateTime(dt); //Adjust date-time as defined 'dt' above -} - -void loop () -{ - DateTime now = rtc.now(); //get the current date-time - Serial.print(now.year(), DEC); - Serial.print('/'); - Serial.print(now.month(), DEC); - Serial.print('/'); - Serial.print(now.date(), DEC); - Serial.print(' '); - Serial.print(now.hour(), DEC); - Serial.print(':'); - Serial.print(now.minute(), DEC); - Serial.print(':'); - Serial.print(now.second(), DEC); - Serial.println(); - Serial.print(weekDay[now.dayOfWeek()]); - Serial.println(); - delay(1000); -} diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde deleted file mode 100644 index 3c6f857..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/interrupts/interrupts.pde +++ /dev/null @@ -1,60 +0,0 @@ -//Interrupts for Battery management/saving using MCU power down mode. /INT from DS3231 is connected to INT0 of MCU. - -#include -#include -#include "Sodaq_DS3231.h" - -static uint8_t prevSecond=0; - -void setup () -{ - /*Initialize INT0 for accepting interrupts */ - PORTD |= 0x04; - DDRD &=~ 0x04; - - Serial.begin(57600); - Wire.begin(); - - rtc.begin(); - attachInterrupt(0, INT0_ISR, FALLING); - - //Enable Interrupt - rtc.enableInterrupts(EveryMinute); //interrupt at EverySecond, EveryMinute, EveryHour - // or this - //rtc.enableInterrupts(18,4,0); // interrupt at (h,m,s) -} - - -void loop () -{ - - DateTime now = rtc.now(); //get the current date-time - if((now.second()) != prevSecond ) - { - //print only when there is a change in seconds - Serial.print(now.year(), DEC); - Serial.print('/'); - Serial.print(now.month(), DEC); - Serial.print('/'); - Serial.print(now.date(), DEC); - Serial.print(' '); - Serial.print(now.hour(), DEC); - Serial.print(':'); - Serial.print(now.minute(), DEC); - Serial.print(':'); - Serial.print(now.second(), DEC); - Serial.println(' '); - } - prevSecond = now.second(); - rtc.clearINTStatus(); - -} - - -//Interrupt service routine for external interrupt on INT0 pin conntected to /INT -void INT0_ISR() -{ - //Keep this as short as possible. Possibly avoid using function calls - - Serial.println(" External Interrupt detected "); -} diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde deleted file mode 100644 index 7eacd6d..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/now/now.pde +++ /dev/null @@ -1,43 +0,0 @@ -// Date and time functions using RX8025 RTC connected via I2C and Wire lib - -#include -#include "Sodaq_DS3231.h" - -char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; - -void setup () -{ - Serial.begin(57600); - Wire.begin(); - rtc.begin(); -} - -uint32_t old_ts; - -void loop () -{ - DateTime now = rtc.now(); //get the current date-time - uint32_t ts = now.getEpoch(); - - if (old_ts == 0 || old_ts != ts) { - old_ts = ts; - Serial.print(now.year(), DEC); - Serial.print('/'); - Serial.print(now.month(), DEC); - Serial.print('/'); - Serial.print(now.date(), DEC); - Serial.print(' '); - Serial.print(now.hour(), DEC); - Serial.print(':'); - Serial.print(now.minute(), DEC); - Serial.print(':'); - Serial.print(now.second(), DEC); - Serial.print(' '); - Serial.print(weekDay[now.dayOfWeek()]); - Serial.println(); - Serial.print("Seconds since Unix Epoch: "); - Serial.print(ts, DEC); - Serial.println(); - } - delay(1000); -} diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde deleted file mode 100644 index 7d8f9bb..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/examples/temperature/temperature.pde +++ /dev/null @@ -1,19 +0,0 @@ -// Date and time functions using DS3231 RTC connected via I2C and Wire lib - -#include -#include "Sodaq_DS3231.h" - -void setup () -{ - Serial.begin(57600); - Wire.begin(); - rtc.begin(); -} - -void loop () -{ - rtc.convertTemperature(); //convert current temperature into registers - Serial.print(rtc.getTemperature()); //read registers and display the temperature - Serial.println("deg C"); - delay(1000); -} diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt deleted file mode 100644 index 685ad91..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/keywords.txt +++ /dev/null @@ -1,47 +0,0 @@ -####################################### -# Syntax Coloring Map for NewSoftSerial -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -Sodaq_DS3231 KEYWORD1 -DateTime KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -second KEYWORD2 -minute KEYWORD2 -hour KEYWORD2 -date KEYWORD2 -month KEYWORD2 -year KEYWORD2 -active KEYWORD2 -dayOfWeek KEYWORD2 -get KEYWORD2 -begin KEYWORD2 -setDateTime KEYWORD2 -enableInterrupts KEYWORD2 -disableInterrupts KEYWORD2 -clearINTStatus KEYWORD2 -convertTemperature KEYWORD2 -getTemperature KEYWORD2 -now KEYWORD2 - -####################################### -# Instances (KEYWORD3) -####################################### - -rtc KEYWORD3 - -####################################### -# Constants (LITERAL1) -####################################### - -EverySecond LITERAL1 -EveryMinute LITERAL1 -EveryHour LITERAL1 -EveryMonth LITERAL1 diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties deleted file mode 100644 index a988fcb..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=Sodaq_DS3231 -version=1.2.1 -author=keestux,SODAQ -maintainer=Kees Bakker -sentence=An Arduino library for the DS3231 RTC (Real Time Clock). -paragraph= -category=Sensors -url=https://github.com/SodaqMoja/Sodaq_DS3231 -architectures=* diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh deleted file mode 100755 index f6c952c..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/make-zip.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# -# Make a ZIP file for distribution / publishing. - -#VERSION=$(git describe --abbrev=0 --tags 2> /dev/null) -VERSION=$(git describe --tags 2> /dev/null) -[ -z "${VERSION}" ] && { echo "ERROR: Cannot determine version. Did you do a git-tag?"; exit 1; } - -FILES=$(git ls-files|grep -v .gitignore) -[ -z "${FILES}" ] && { echo "ERROR: No files to put in ZIP."; exit 1; } - -DIRNAME="$(basename $(pwd))" -ZIPNAME="${DIRNAME}-${VERSION}" - -TDIR=/tmp/$DIRNAME -[ -d "${TDIR}" ] && { echo "ERROR: Directory '${TDIR}' exists. Please remove."; exit 1; } - -mkdir -p ${TDIR} -git ls-files | -grep -v .gitignore | -cpio -pmud ${TDIR}/ -(cd /tmp && zip -r $ZIPNAME.zip $DIRNAME) -mv /tmp/$ZIPNAME.zip . -ln -sf -T $ZIPNAME.zip ${DIRNAME}.zip -rm -fr ${TDIR} diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp deleted file mode 100644 index 3ca8ae5..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.cpp +++ /dev/null @@ -1,391 +0,0 @@ -// Sodaq_DS3231 Class is a modified version of DS3231. -// DS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used -// in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) -// & to generate timestamp for data logging. DateTime Class is a modified -// version supporting day-of-week. - -// Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs -// http://jeelabs.net/projects/cafe/wiki/RTClib -// Released under MIT License http://opensource.org/licenses/mit-license.php - -#include -#include -#include "Sodaq_DS3231.h" -#include "Arduino.h" - -#define EPOCH_TIME_OFF 946684800 // This is 2000-jan-01 00:00:00 in epoch time -#define SECONDS_PER_DAY 86400L - -#define DS3231_ADDRESS 0x68 //I2C Slave address - -/* DS3231 Registers. Refer Sec 8.2 of application manual */ -#define DS3231_SEC_REG 0x00 -#define DS3231_MIN_REG 0x01 -#define DS3231_HOUR_REG 0x02 -#define DS3231_WDAY_REG 0x03 -#define DS3231_MDAY_REG 0x04 -#define DS3231_MONTH_REG 0x05 -#define DS3231_YEAR_REG 0x06 - -#define DS3231_AL1SEC_REG 0x07 -#define DS3231_AL1MIN_REG 0x08 -#define DS3231_AL1HOUR_REG 0x09 -#define DS3231_AL1WDAY_REG 0x0A - -#define DS3231_AL2MIN_REG 0x0B -#define DS3231_AL2HOUR_REG 0x0C -#define DS3231_AL2WDAY_REG 0x0D - -#define DS3231_CONTROL_REG 0x0E -#define DS3231_STATUS_REG 0x0F -#define DS3231_AGING_OFFSET_REG 0x0F -#define DS3231_TMP_UP_REG 0x11 -#define DS3231_TMP_LOW_REG 0x12 - -//////////////////////////////////////////////////////////////////////////////// -// utility code, some of this could be exposed in the DateTime API if needed - -static const uint8_t daysInMonth [] PROGMEM = { 31,28,31,30,31,30,31,31,30,31,30,31 }; - -// number of days since 2000/01/01, valid for 2001..2099 -static uint16_t date2days(uint16_t y, uint8_t m, uint8_t d) { - if (y >= 2000) - y -= 2000; - uint16_t days = d; - for (uint8_t i = 1; i < m; ++i) - days += pgm_read_byte(daysInMonth + i - 1); - if (m > 2 && y % 4 == 0) - ++days; - return days + 365 * y + (y + 3) / 4 - 1; -} - -static uint32_t time2long(uint16_t days, uint8_t h, uint8_t m, uint8_t s) { - return ((days * 24L + h) * 60 + m) * 60 + s; -} - -static uint8_t conv2d(const char* p) { - uint8_t v = 0; - if ('0' <= *p && *p <= '9') - v = *p - '0'; - return 10 * v + *++p - '0'; -} - -//////////////////////////////////////////////////////////////////////////////// -// DateTime implementation - ignores time zones and DST changes -// NOTE: also ignores leap seconds, see http://en.wikipedia.org/wiki/Leap_second - -DateTime::DateTime (long t) { - ss = t % 60; - t /= 60; - mm = t % 60; - t /= 60; - hh = t % 24; - uint16_t days = t / 24; - uint8_t leap; - for (yOff = 0; ; ++yOff) { - leap = yOff % 4 == 0; - if (days < 365 + leap) - break; - days -= 365 + leap; - } - for (m = 1; ; ++m) { - uint8_t daysPerMonth = pgm_read_byte(daysInMonth + m - 1); - if (leap && m == 2) - ++daysPerMonth; - if (days < daysPerMonth) - break; - days -= daysPerMonth; - } - d = days + 1; - wday = 0; // FIXME This is not properly initialized -} - -DateTime::DateTime (uint16_t year, uint8_t month, uint8_t date, uint8_t hour, uint8_t min, uint8_t sec, uint8_t wd) { - if (year >= 2000) - year -= 2000; - yOff = year; - m = month; - d = date; - hh = hour; - mm = min; - ss = sec; - wday = wd; -} - -// A convenient constructor for using "the compiler's time": -// DateTime now (__DATE__, __TIME__); -// NOTE: using PSTR would further reduce the RAM footprint -DateTime::DateTime (const char* date, const char* time) { - // sample input: date = "Dec 26 2009", time = "12:34:56" - yOff = conv2d(date + 9); - // Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec - switch (date[0]) { - case 'J': m = date[1] == 'a' ? 1 : date[2] == 'n' ? 6 : 7; break; - case 'F': m = 2; break; - case 'A': m = date[2] == 'r' ? 4 : 8; break; - case 'M': m = date[2] == 'r' ? 3 : 5; break; - case 'S': m = 9; break; - case 'O': m = 10; break; - case 'N': m = 11; break; - case 'D': m = 12; break; - } - d = conv2d(date + 4); - hh = conv2d(time); - mm = conv2d(time + 3); - ss = conv2d(time + 6); - wday = 0; // FIXME This is not properly initialized -} - -uint32_t DateTime::get() const { - uint16_t days = date2days(yOff, m, d); - return time2long(days, hh, mm, ss); -} - -uint32_t DateTime::getEpoch() const -{ - return get() + EPOCH_TIME_OFF; -} - -/* - * Format an integer as %0*d - * - * Arduino formatting sucks. - */ -static void add0Nd(String &str, uint16_t val, size_t width) -{ - if (width >= 5 && val < 1000) { - str += '0'; - } - if (width >= 4 && val < 100) { - str += '0'; - } - if (width >= 3 && val < 100) { - str += '0'; - } - if (width >= 2 && val < 10) { - str += '0'; - } - str += val; -} -static inline void add04d(String &str, uint16_t val) { add0Nd(str, val, 4); } -static inline void add02d(String &str, uint16_t val) { add0Nd(str, val, 2); } - -void DateTime::addToString(String & str) const -{ - add04d(str, year()); - str += '-'; - add02d(str, month()); - str += '-'; - add02d(str, date()); - str += ' '; - add02d(str, hour()); - str += ':'; - add02d(str, minute()); - str += ':'; - add02d(str, second()); -} - -static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); } -static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); } - -//////////////////////////////////////////////////////////////////////////////// -// RTC DS3231 implementation - -uint8_t Sodaq_DS3231::readRegister(uint8_t regaddress) -{ - Wire.beginTransmission(DS3231_ADDRESS); - Wire.write((byte)regaddress); - Wire.endTransmission(); - - Wire.requestFrom(DS3231_ADDRESS, 1); - return Wire.read(); -} - -void Sodaq_DS3231::writeRegister(uint8_t regaddress,uint8_t value) -{ - Wire.beginTransmission(DS3231_ADDRESS); - Wire.write((byte)regaddress); - Wire.write((byte)value); - Wire.endTransmission(); -} - -uint8_t Sodaq_DS3231::begin(void) { - - unsigned char ctReg=0; - - Wire.begin(); - ctReg |= 0b00011100; - writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address - delay(10); - - // set the clock to 24hr format - uint8_t hrReg = readRegister(DS3231_HOUR_REG); - hrReg &= 0b10111111; - writeRegister(DS3231_HOUR_REG, hrReg); - - delay(10); - - return 1; -} - -//set the time-date specified in DateTime format -//writing any non-existent time-data may interfere with normal operation of the RTC -void Sodaq_DS3231::setDateTime(const DateTime& dt) { - - Wire.beginTransmission(DS3231_ADDRESS); - Wire.write((byte)DS3231_SEC_REG); //beginning from SEC Register address - - Wire.write((byte)bin2bcd(dt.second())); - Wire.write((byte)bin2bcd(dt.minute())); - Wire.write((byte)bin2bcd((dt.hour()) & 0b10111111)); //Make sure clock is still 24 Hour - Wire.write((byte)dt.dayOfWeek()); - Wire.write((byte)bin2bcd(dt.date())); - Wire.write((byte)bin2bcd(dt.month())); - Wire.write((byte)bin2bcd(dt.year() - 2000)); - Wire.endTransmission(); - -} - -DateTime Sodaq_DS3231::makeDateTime(unsigned long t) -{ - if (t < EPOCH_TIME_OFF) - return DateTime(0); - return DateTime(t - EPOCH_TIME_OFF); -} - -// Set the RTC using timestamp (seconds since epoch) -void Sodaq_DS3231::setEpoch(uint32_t ts) -{ - setDateTime(makeDateTime(ts)); -} - -//Read the current time-date and return it in DateTime format -DateTime Sodaq_DS3231::now() { - Wire.beginTransmission(DS3231_ADDRESS); - Wire.write((byte)0x00); - Wire.endTransmission(); - - Wire.requestFrom(DS3231_ADDRESS, 8); - uint8_t ss = bcd2bin(Wire.read()); - uint8_t mm = bcd2bin(Wire.read()); - - uint8_t hrreg = Wire.read(); - uint8_t hh = bcd2bin((hrreg & ~0b11000000)); //Ignore 24 Hour bit - - uint8_t wd = Wire.read(); - uint8_t d = bcd2bin(Wire.read()); - uint8_t m = bcd2bin(Wire.read()); - uint16_t y = bcd2bin(Wire.read()) + 2000; - - return DateTime (y, m, d, hh, mm, ss, wd); -} - -//Enable periodic interrupt at /INT pin. Supports only the level interrupt -//for consistency with other /INT interrupts. All interrupts works like single-shot counter -//Use refreshINTA() to re-enable interrupt. -void Sodaq_DS3231::enableInterrupts(uint8_t periodicity) -{ - - unsigned char ctReg=0; - ctReg |= 0b00011101; - writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address - - switch(periodicity) - { - case EverySecond: - writeRegister(DS3231_AL1SEC_REG, 0b10000000 ); //set AM1 - writeRegister(DS3231_AL1MIN_REG, 0b10000000 ); //set AM2 - writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //set AM3 - writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 - - break; - - case EveryMinute: - writeRegister(DS3231_AL1SEC_REG, 0b00000000 ); //Clr AM1 - writeRegister(DS3231_AL1MIN_REG, 0b10000000 ); //set AM2 - writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //set AM3 - writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 - - break; - - case EveryHour: - writeRegister(DS3231_AL1SEC_REG, 0b00000000 ); //Clr AM1 - writeRegister(DS3231_AL1MIN_REG, 0b00000000 ); //Clr AM2 - writeRegister(DS3231_AL1HOUR_REG, 0b10000000 ); //Set AM3 - writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 - - break; - } -} - -//Enable HH/MM/SS interrupt on /INTA pin. All interrupts works like single-shot counter -void Sodaq_DS3231::enableInterrupts(uint8_t hh24, uint8_t mm, uint8_t ss) -{ - unsigned char ctReg=0; - ctReg |= 0b00011101; - writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address - - writeRegister(DS3231_AL1SEC_REG, 0b00000000 | bin2bcd(ss) ); //Clr AM1 - writeRegister(DS3231_AL1MIN_REG, 0b00000000 | bin2bcd(mm)); //Clr AM2 - writeRegister(DS3231_AL1HOUR_REG, (0b00000000 | (bin2bcd(hh24) & 0b10111111))); //Clr AM3 - writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4 -} - -//Disable Interrupts. This is equivalent to begin() method. -void Sodaq_DS3231::disableInterrupts() -{ - begin(); //Restore to initial value. -} - -//Clears the interrrupt flag in status register. -//This is equivalent to preparing the DS3231 /INT pin to high for MCU to get ready for recognizing the next INT0 interrupt -void Sodaq_DS3231::clearINTStatus() -{ - // Clear interrupt flag - uint8_t statusReg = readRegister(DS3231_STATUS_REG); - statusReg &= 0b11111110; - writeRegister(DS3231_STATUS_REG, statusReg); - -} - -//force temperature sampling and converting to registers. If this function is not used the temperature is sampled once 64 Sec. -void Sodaq_DS3231::convertTemperature() -{ - // Set CONV - uint8_t ctReg = readRegister(DS3231_CONTROL_REG); - ctReg |= 0b00100000; - writeRegister(DS3231_CONTROL_REG,ctReg); - - - //wait until CONV is cleared. Indicates new temperature value is available in register. - do - { - //do nothing - } while ((readRegister(DS3231_CONTROL_REG) & 0b00100000) == 0b00100000 ); - -} - -//Read the temperature value from the register and convert it into float (deg C) -float Sodaq_DS3231::getTemperature() -{ - float fTemperatureCelsius; - uint8_t tUBYTE = readRegister(DS3231_TMP_UP_REG); //Two's complement form - uint8_t tLRBYTE = readRegister(DS3231_TMP_LOW_REG); //Fractional part - - if(tUBYTE & 0b10000000) //check if -ve number - { - tUBYTE ^= 0b11111111; - tUBYTE += 0x1; - fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25); - fTemperatureCelsius = fTemperatureCelsius * -1; - } - else - { - fTemperatureCelsius = tUBYTE + ((tLRBYTE >> 6) * 0.25); - } - - return (fTemperatureCelsius); - -} - -Sodaq_DS3231 rtc; diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h b/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h deleted file mode 100644 index f8cd0b9..0000000 --- a/SD_v2/Makefile_Build/libs/Sodaq_DS3231/src/Sodaq_DS3231.h +++ /dev/null @@ -1,82 +0,0 @@ -// Sodaq_DS3231 Class is a modified version of DS3231. -// DS3231 Class is by Seeed Technology Inc(http://www.seeedstudio.com) and used -// in Seeeduino Stalker v2.1 for battery management(MCU power saving mode) -// & to generate timestamp for data logging. DateTime Class is a modified -// version supporting day-of-week. - -// Original DateTime Class and its utility code is by Jean-Claude Wippler at JeeLabs -// http://jeelabs.net/projects/cafe/wiki/RTClib -// Released under MIT License http://opensource.org/licenses/mit-license.php - -#ifndef SODAQ_DS3231_H -#define SODAQ_DS3231_H - -#include -#include - - - - -// Simple general-purpose date/time class (no TZ / DST / leap second handling!) -class DateTime { -public: - DateTime (long t =0); - DateTime (uint16_t year, uint8_t month, uint8_t date, - uint8_t hour, uint8_t min, uint8_t sec, uint8_t wday); - DateTime (const char* date, const char* time); - - uint8_t second() const { return ss; } - uint8_t minute() const { return mm; } - uint8_t hour() const { return hh; } - - uint8_t date() const { return d; } - uint8_t month() const { return m; } - uint16_t year() const { return 2000 + yOff; } // Notice the 2000 ! - - uint8_t dayOfWeek() const { return wday;} /*Su=1 Mo=2 Tu=3 We=4 Th=5 Fr=6 Sa=7 */ - - // 32-bit time as seconds since 1/1/2000 - uint32_t get() const; - // 32-bit number of seconds since Unix epoch (1970-01-01) - uint32_t getEpoch() const; - - void addToString(String & str) const; - -protected: - uint8_t yOff, m, d, hh, mm, ss, wday; -}; - -// These are the constants for periodicity of enableInterrupts() below. -#define EverySecond 0x01 -#define EveryMinute 0x02 -#define EveryHour 0x03 - -// RTC DS3231 chip connected via I2C and uses the Wire library. -// Only 24 Hour time format is supported in this implementation -class Sodaq_DS3231 { -public: - uint8_t begin(void); - - void setDateTime(const DateTime& dt); //Changes the date-time - void setEpoch(uint32_t ts); // Set the RTC using timestamp (seconds since epoch) - DateTime now(); //Gets the current date-time - - DateTime makeDateTime(unsigned long t); - - //Decides the /INT pin's output setting - //periodicity can be any of following defines: EverySecond, EveryMinute, EveryHour - void enableInterrupts(uint8_t periodicity); - void enableInterrupts(uint8_t hh24, uint8_t mm,uint8_t ss); - void disableInterrupts(); - void clearINTStatus(); - - void convertTemperature(); - float getTemperature(); -private: - uint8_t readRegister(uint8_t regaddress); - void writeRegister(uint8_t regaddress, uint8_t value); -}; - -extern Sodaq_DS3231 rtc; - -#endif diff --git a/SD_v2/access_control/libraries/Adafruit_GFX b/SD_v2/access_control/libraries/Adafruit_GFX new file mode 160000 index 0000000..07f8f65 --- /dev/null +++ b/SD_v2/access_control/libraries/Adafruit_GFX @@ -0,0 +1 @@ +Subproject commit 07f8f65e4072c422f0c1e0e0c2a59dbda3d87bcb diff --git a/SD_v2/access_control/libraries/Adafruit_ST3775 b/SD_v2/access_control/libraries/Adafruit_ST3775 new file mode 160000 index 0000000..d53d4bf --- /dev/null +++ b/SD_v2/access_control/libraries/Adafruit_ST3775 @@ -0,0 +1 @@ +Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD_v2/access_control/libraries/MFRC522 b/SD_v2/access_control/libraries/MFRC522 new file mode 160000 index 0000000..7f0f9e7 --- /dev/null +++ b/SD_v2/access_control/libraries/MFRC522 @@ -0,0 +1 @@ +Subproject commit 7f0f9e73175ec5d5d415cd870d129c7aaf8af97b diff --git a/SD_v2/access_control/libraries/Sodaq_DS3231 b/SD_v2/access_control/libraries/Sodaq_DS3231 new file mode 160000 index 0000000..162b718 --- /dev/null +++ b/SD_v2/access_control/libraries/Sodaq_DS3231 @@ -0,0 +1 @@ +Subproject commit 162b71811f1d40323632c2df2700533604a8872f From 589a840dd0ff4e9158038fb45e8cb1c95e9601e1 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:31:57 +0200 Subject: [PATCH 22/35] Relocation --- .gitmodules | 15 +++++++++++++++ README.md | 19 ------------------- SD_v2/Makefile_Build/libs/Adafruit_GFX | 1 + SD_v2/Makefile_Build/libs/Adafruit_ST3775 | 1 + SD_v2/Makefile_Build/libs/MFRC522 | 1 + SD_v2/Makefile_Build/libs/SPI | 1 + SD_v2/Makefile_Build/libs/Sodaq_DS3231 | 1 + 7 files changed, 20 insertions(+), 19 deletions(-) create mode 160000 SD_v2/Makefile_Build/libs/Adafruit_GFX create mode 160000 SD_v2/Makefile_Build/libs/Adafruit_ST3775 create mode 160000 SD_v2/Makefile_Build/libs/MFRC522 create mode 160000 SD_v2/Makefile_Build/libs/SPI create mode 160000 SD_v2/Makefile_Build/libs/Sodaq_DS3231 diff --git a/.gitmodules b/.gitmodules index 2679152..14ece03 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,18 @@ [submodule "SD_v2/access_control/libraries/MFRC522"] path = SD_v2/access_control/libraries/MFRC522 url = https://github.com/miguelbalboa/rfid.git +[submodule "SD_v2/Makefile_Build/libs/Sodaq_DS3231"] + path = SD_v2/Makefile_Build/libs/Sodaq_DS3231 + url = https://github.com/SodaqMoja/Sodaq_DS3231.git +[submodule "SD_v2/Makefile_Build/libs/Adafruit_ST3775"] + path = SD_v2/Makefile_Build/libs/Adafruit_ST3775 + url = https://github.com/adafruit/Adafruit-ST7735-Library.git +[submodule "SD_v2/Makefile_Build/libs/Adafruit_GFX"] + path = SD_v2/Makefile_Build/libs/Adafruit_GFX + url = https://github.com/adafruit/Adafruit-GFX-Library.git +[submodule "SD_v2/Makefile_Build/libs/MFRC522"] + path = SD_v2/Makefile_Build/libs/MFRC522 + url = https://github.com/miguelbalboa/rfid.git +[submodule "SD_v2/Makefile_Build/libs/SPI"] + path = SD_v2/Makefile_Build/libs/SPI + url = https://github.com/PaulStoffregen/SPI.git diff --git a/README.md b/README.md index c23160d..8805dc7 100644 --- a/README.md +++ b/README.md @@ -4,22 +4,3 @@ SD card. The project has been uploaded as a "ready to compile" version. This means that if your Hardware matches & all requirements have been properly installed, you won't need to adjust anything else on the code, except from the specific RFID tag's key. - - - - -[submodule "SD_v2/Makefile_Build/libs/Sodaq_DS3231"] - path = SD_v2/Makefile_Build/libs/Sodaq_DS3231 - url = https://github.com/SodaqMoja/Sodaq_DS3231.git -[submodule "SD_v2/Makefile_Build/libs/Adafruit_ST3775"] - path = SD_v2/Makefile_Build/libs/Adafruit_ST3775 - url = https://github.com/adafruit/Adafruit-ST7735-Library.git -[submodule "SD_v2/Makefile_Build/libs/Adafruit_GFX"] - path = SD_v2/Makefile_Build/libs/Adafruit_GFX - url = https://github.com/adafruit/Adafruit-GFX-Library.git -[submodule "SD_v2/Makefile_Build/libs/MFRC522"] - path = SD_v2/Makefile_Build/libs/MFRC522 - url = https://github.com/miguelbalboa/rfid.git -[submodule "SD_v2/Makefile_Build/libs/MFRC522"] - path = SD_v2/Makefile_Build/libs/SPI - url = https://github.com/PaulStoffregen/SPI.git diff --git a/SD_v2/Makefile_Build/libs/Adafruit_GFX b/SD_v2/Makefile_Build/libs/Adafruit_GFX new file mode 160000 index 0000000..07f8f65 --- /dev/null +++ b/SD_v2/Makefile_Build/libs/Adafruit_GFX @@ -0,0 +1 @@ +Subproject commit 07f8f65e4072c422f0c1e0e0c2a59dbda3d87bcb diff --git a/SD_v2/Makefile_Build/libs/Adafruit_ST3775 b/SD_v2/Makefile_Build/libs/Adafruit_ST3775 new file mode 160000 index 0000000..d53d4bf --- /dev/null +++ b/SD_v2/Makefile_Build/libs/Adafruit_ST3775 @@ -0,0 +1 @@ +Subproject commit d53d4bf03a4e916668536460d5e1a5c049c4e286 diff --git a/SD_v2/Makefile_Build/libs/MFRC522 b/SD_v2/Makefile_Build/libs/MFRC522 new file mode 160000 index 0000000..7f0f9e7 --- /dev/null +++ b/SD_v2/Makefile_Build/libs/MFRC522 @@ -0,0 +1 @@ +Subproject commit 7f0f9e73175ec5d5d415cd870d129c7aaf8af97b diff --git a/SD_v2/Makefile_Build/libs/SPI b/SD_v2/Makefile_Build/libs/SPI new file mode 160000 index 0000000..a8af486 --- /dev/null +++ b/SD_v2/Makefile_Build/libs/SPI @@ -0,0 +1 @@ +Subproject commit a8af486c7be94edee0854e7673badb7310a691e1 diff --git a/SD_v2/Makefile_Build/libs/Sodaq_DS3231 b/SD_v2/Makefile_Build/libs/Sodaq_DS3231 new file mode 160000 index 0000000..162b718 --- /dev/null +++ b/SD_v2/Makefile_Build/libs/Sodaq_DS3231 @@ -0,0 +1 @@ +Subproject commit 162b71811f1d40323632c2df2700533604a8872f From 7255958c378823d53201def1d37e64307fd22203 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:35:30 +0200 Subject: [PATCH 23/35] Relocation --- SD_v2/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 SD_v2/README.md diff --git a/SD_v2/README.md b/SD_v2/README.md new file mode 100644 index 0000000..03d5990 --- /dev/null +++ b/SD_v2/README.md @@ -0,0 +1,3 @@ +If you want to use the Arduino IDE version go to --> access_control + +If you want to use the Makefile build version go to --> Makefile_Build \ No newline at end of file From d7715c433418e80f1b9fc2135c86858163434335 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:48:35 +0200 Subject: [PATCH 24/35] Relocation --- SD_v2/Makefile_Build/Makefile | 2 +- SD_v2/Makefile_Build/README.md | 61 +++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/SD_v2/Makefile_Build/Makefile b/SD_v2/Makefile_Build/Makefile index 54a8956..ff3140e 100644 --- a/SD_v2/Makefile_Build/Makefile +++ b/SD_v2/Makefile_Build/Makefile @@ -4,5 +4,5 @@ ARDUINO_LIBS = Wire SD SPI Sodaq_DS3231/src Adafruit_GFX Adafruit_ST3775 MFRC522 LOCAL_CPP_SRCS ?= $(wildcard ./src/*.cpp) CPPFLAGS += -std=c++11 -I./inc/ -I./libs/ -USER_LIB_PATH += /home/rocadura/Documents/Arduino/ACTR/libs +USER_LIB_PATH += ./libs include /usr/share/arduino/Arduino.mk diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 1e90f74..99dc333 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -1 +1,60 @@ -TODO! +HARDWARE REQUIREMENTS: + +This project has been implmented with this Hardware, further implementation +for additional HW by future colaborators. + +- Arduino Mega2560 like this: + https://www.arduino.cc/en/Main/ArduinoBoardMega2560 + +- DS_3231 like this: + http://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ + +- SainSmart 1.8 ST7735R TFT LCD Module with MicroSD like this: + https://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html + +- MFRC522 like this: + http://www.instructables.com/id/Arduino-RFID-Reader-MFRC522-Turorial/ + +INSTALATION REQUIREMENTS: + +arduino-core: +Go to the command line and type +sudo apt-get install arduino-core +arduino-mk: +Go to the command line and type +sudo apt-get install arduino-mk +After you have installed the packages you may need to update your ~/.bashrc file with some new ENV variables. +Please check -> https://github.com/sudar/Arduino-Makefile + +Update the local Makefile: +A local Makefile has been shipped within this repo, make sure you update the BOARD_TAG, MONITOR_PORT and the include path of ,,Arduino.mk'' +Please note that the project uses C++11 and therefore CPPFLAGS is appended in the local Makefile before including Arduino.mk. +You may need to update your compiler. + +EXTERNAL LIBRARIES: +All libraries have been packaged as submodules in the folder "./libs" and refer +to their original repository. To clone them go to your command line and type: + +$ git submodule init && git submodule update + +or go to each repo and clone: + +- DS_3231 requires this library: + https://github.com/SodaqMoja/Sodaq_DS3231 + +- 1.8 ST7735R TFT LCD Module with MicroSD requires this libraries: + https://github.com/adafruit/Adafruit-GFX-Library + https://github.com/adafruit/Adafruit-ST7735-Library + +- MFRC522 requires this library: + https://github.com/miguelbalboa/rfid + +Please clone this repos and copy them inside your local ./libs folder: +(Something like ,,my/path/to/this/project/libs/") + +USAGE: +Read HOW_TO_USE.txt + +TODOs: +Implementation for further HW, probably using Polymorphism (Virtual classes) +Define more TODOs! From 7391a7ba0b53a9b95a8ade043b9b10be0ec47aea Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:49:42 +0200 Subject: [PATCH 25/35] Relocation --- SD_v2/Makefile_Build/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 99dc333..9178571 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -19,10 +19,10 @@ INSTALATION REQUIREMENTS: arduino-core: Go to the command line and type -sudo apt-get install arduino-core +$sudo apt-get install arduino-core arduino-mk: Go to the command line and type -sudo apt-get install arduino-mk +$sudo apt-get install arduino-mk After you have installed the packages you may need to update your ~/.bashrc file with some new ENV variables. Please check -> https://github.com/sudar/Arduino-Makefile From 46ae2784c466b2a6d2286c90ffd04937cada4f7b Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:50:07 +0200 Subject: [PATCH 26/35] Relocation --- SD_v2/Makefile_Build/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 9178571..a763bce 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -18,10 +18,10 @@ for additional HW by future colaborators. INSTALATION REQUIREMENTS: arduino-core: -Go to the command line and type +Go to the command line and type: $sudo apt-get install arduino-core arduino-mk: -Go to the command line and type +Go to the command line and type: $sudo apt-get install arduino-mk After you have installed the packages you may need to update your ~/.bashrc file with some new ENV variables. Please check -> https://github.com/sudar/Arduino-Makefile From ee2521f28375a7f3372b89022e9536813011ac64 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:50:46 +0200 Subject: [PATCH 27/35] Relocation --- SD_v2/Makefile_Build/README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index a763bce..c713753 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -19,10 +19,13 @@ INSTALATION REQUIREMENTS: arduino-core: Go to the command line and type: -$sudo apt-get install arduino-core + +$ sudo apt-get install arduino-core + arduino-mk: Go to the command line and type: -$sudo apt-get install arduino-mk + +$ sudo apt-get install arduino-mk After you have installed the packages you may need to update your ~/.bashrc file with some new ENV variables. Please check -> https://github.com/sudar/Arduino-Makefile From 83965f0601443e901d9a580615512edc80e11211 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:51:13 +0200 Subject: [PATCH 28/35] Relocation --- SD_v2/Makefile_Build/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index c713753..a3ac8c3 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -26,6 +26,7 @@ arduino-mk: Go to the command line and type: $ sudo apt-get install arduino-mk + After you have installed the packages you may need to update your ~/.bashrc file with some new ENV variables. Please check -> https://github.com/sudar/Arduino-Makefile From f6b1074da6d5808d3ef5e8dc5de3fec3789221a6 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:51:54 +0200 Subject: [PATCH 29/35] Relocation --- SD_v2/Makefile_Build/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index a3ac8c3..4205909 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -31,11 +31,13 @@ After you have installed the packages you may need to update your ~/.bashrc file Please check -> https://github.com/sudar/Arduino-Makefile Update the local Makefile: + A local Makefile has been shipped within this repo, make sure you update the BOARD_TAG, MONITOR_PORT and the include path of ,,Arduino.mk'' Please note that the project uses C++11 and therefore CPPFLAGS is appended in the local Makefile before including Arduino.mk. You may need to update your compiler. EXTERNAL LIBRARIES: + All libraries have been packaged as submodules in the folder "./libs" and refer to their original repository. To clone them go to your command line and type: From 0b4eaa0e45f50136acbc4fb487676607e235621a Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:52:21 +0200 Subject: [PATCH 30/35] Relocation --- SD_v2/Makefile_Build/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 4205909..22ffb64 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -32,7 +32,7 @@ Please check -> https://github.com/sudar/Arduino-Makefile Update the local Makefile: -A local Makefile has been shipped within this repo, make sure you update the BOARD_TAG, MONITOR_PORT and the include path of ,,Arduino.mk'' +A local Makefile has been shipped within this repo, make sure you update the BOARD_TAG, MONITOR_PORT and the include path of ,,Arduino.mk''. Please note that the project uses C++11 and therefore CPPFLAGS is appended in the local Makefile before including Arduino.mk. You may need to update your compiler. From 227c583ddd7a085d4645cd33fc6a8717b5c265de Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:57:34 +0200 Subject: [PATCH 31/35] Relocation --- SD_v2/Makefile_Build/README.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 22ffb64..4b627a2 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -59,7 +59,31 @@ Please clone this repos and copy them inside your local ./libs folder: (Something like ,,my/path/to/this/project/libs/") USAGE: -Read HOW_TO_USE.txt + +1- Go to ,,authorized_keys.h" and modify the NUID of your authorized +tags (IN DECIMAL FORMAT) as well as the corresponding Names of each +Tag. More info see the MRFC 522 examples. + +2- Open the file ,,pin_layout.h" and follow or modify the proposed +connections for the HW. + +3- Open a terminal and go to the base directory of the Makefile_build i.e. + +$ cd /my/path/to/RFID522-Door-Unlock/SD_v2/Makefile_Build + +Now compile the source code by typing: + +$ make + +Finally upload your code to the Arduino Board by typing: + +$ make upload + +try your RFID cards! + +4- Remove the SD card, and read it from a PC, you should find a file +called ,,records.csv". You can open and further use this file in any +spreadsheet program such as ,,LibreOffice Calc". TODOs: Implementation for further HW, probably using Polymorphism (Virtual classes) From d896af4da9a58705114f007e9bee7884e85b6f5c Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 18:59:52 +0200 Subject: [PATCH 32/35] Relocation --- SD_v2/Makefile_Build/README.md | 4 ++-- SD_v2/access_control/HOW_TO_USE.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SD_v2/Makefile_Build/README.md b/SD_v2/Makefile_Build/README.md index 4b627a2..f759b12 100644 --- a/SD_v2/Makefile_Build/README.md +++ b/SD_v2/Makefile_Build/README.md @@ -62,9 +62,9 @@ USAGE: 1- Go to ,,authorized_keys.h" and modify the NUID of your authorized tags (IN DECIMAL FORMAT) as well as the corresponding Names of each -Tag. More info see the MRFC 522 examples. +Tag. More info about how to read a TAG NUID, see the MRFC 522 examples. -2- Open the file ,,pin_layout.h" and follow or modify the proposed +2- Open the file ,,./inc/pin_layout.h" and follow or modify the proposed connections for the HW. 3- Open a terminal and go to the base directory of the Makefile_build i.e. diff --git a/SD_v2/access_control/HOW_TO_USE.txt b/SD_v2/access_control/HOW_TO_USE.txt index f63d162..fce5407 100644 --- a/SD_v2/access_control/HOW_TO_USE.txt +++ b/SD_v2/access_control/HOW_TO_USE.txt @@ -4,7 +4,7 @@ HOW TO USE: 1- Go to ,,authorized_keys.h" and modify the NUID of your authorized tags (IN DECIMAL FORMAT) as well as the corresponding Names of each -Tag. More info see the MRFC 522 examples. +Tag. More info about how to read a TAG NUID, see the MRFC 522 examples. 2- Open the file ,,pin_layout.h" and follow or modify the proposed connections for the HW. From 73b44574a502cb39e7957e7f37c98dd779e73e9f Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 19:08:01 +0200 Subject: [PATCH 33/35] Relocation --- SD_v2/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/SD_v2/README.md b/SD_v2/README.md index 03d5990..e4830fe 100644 --- a/SD_v2/README.md +++ b/SD_v2/README.md @@ -1,3 +1,13 @@ +This project implements an Arduino based access control solution +including a LCD display, Real Time Clock and time registers on a micro +SD card. The project has been uploaded as a "ready to compile" +version. This means that if your Hardware matches & all requirements +have been properly installed, you won't need to adjust anything else +on the code, except from the specific RFID tag's key. + +There are two versions of the same project the one uses Arduino IDE +and the other uses the Makefile system (Linux). + If you want to use the Arduino IDE version go to --> access_control If you want to use the Makefile build version go to --> Makefile_Build \ No newline at end of file From a4bb64519bfb9b60aa3750c6aa61bee424a7be11 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 19:09:23 +0200 Subject: [PATCH 34/35] Relocation --- README.md | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 8805dc7..0000000 --- a/README.md +++ /dev/null @@ -1,6 +0,0 @@ -This project implements an Arduino based access control solution -including a LCD display, Real Time Clock and time registers on a micro -SD card. The project has been uploaded as a "ready to compile" -version. This means that if your Hardware matches & all requirements -have been properly installed, you won't need to adjust anything else -on the code, except from the specific RFID tag's key. From a297c94963109956f1d971151910663eaff83824 Mon Sep 17 00:00:00 2001 From: rocadura Date: Fri, 19 May 2017 19:09:57 +0200 Subject: [PATCH 35/35] Relocation --- SD_v2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SD_v2/README.md b/SD_v2/README.md index e4830fe..c29d366 100644 --- a/SD_v2/README.md +++ b/SD_v2/README.md @@ -5,7 +5,7 @@ version. This means that if your Hardware matches & all requirements have been properly installed, you won't need to adjust anything else on the code, except from the specific RFID tag's key. -There are two versions of the same project the one uses Arduino IDE +There are two versions of the same project, the one uses Arduino IDE and the other uses the Makefile system (Linux). If you want to use the Arduino IDE version go to --> access_control

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�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'X89C<@H$@fp5tz&X!48o&N*+{6>? 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 z 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 z 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�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'X89C<@H$@fp5tz&X!48o&N*+{6>? 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 z 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 z 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